27 class PostProcessorDetectYOLO;
33 public Parameter<postprocessor::classoffset, postprocessor::classes, postprocessor::nms,
34 postprocessor::nmsperclass, postprocessor::detecttype,
35 postprocessor::maxnbox, postprocessor::cthresh,
36 postprocessor::perclassthresh,
37 postprocessor::dthresh, postprocessor::sigmoid,
38 postprocessor::boxclamp, postprocessor::namedonly,
39 postprocessor::serialreport, postprocessor::masksmooth>
44 using PostProcessor::PostProcessor;
50 void freeze(
bool doit)
override;
73 void onParamChange(postprocessor::detecttype
const & param, postprocessor::DetectType
const & val)
override;
74 void onParamChange(postprocessor::classes
const & param, std::string
const & val)
override;
75 void onParamChange(postprocessor::perclassthresh
const & param, std::string
const & val)
override;
79 std::shared_ptr<PostProcessorDetectYOLO>
itsYOLO;
Helper class to assist modules in creating graphical and GUI elements.
Wrapper for an image that can be rendered into ImGui.
A raw image as coming from a V4L2 Camera and/or being sent out to a USB Gadget.
Base class for a module that supports standardized serial messages.
Post-Processor for neural network pipeline.
jevois::ImGuiImage itsHoverImage
std::vector< ObjDetect > itsDetections
void drawWorldGUI(jevois::GUIhelper *helper, bool idle)
Draw a GUI window to allow one to modify per-class thresholds (YOLO-World) and class names (YOLO-JeVo...
void onParamChange(postprocessor::detecttype const ¶m, postprocessor::DetectType const &val) override
std::map< int, std::string > itsLabels
Mapping from object ID to class name.
void report(jevois::StdModule *mod, jevois::RawImage *outimg=nullptr, jevois::OptGUIhelper *helper=nullptr, bool overlay=true, bool idle=false) override
Report what happened in last process() to console/output video/GUI.
void process(std::vector< cv::Mat > const &outs, PreProcessor *preproc) override
Process outputs and draw/send some results.
std::shared_ptr< PostProcessorDetectYOLO > itsYOLO
void freeze(bool doit) override
Freeze/unfreeze parameters that users should not change while running.
virtual ~PostProcessorDetect()
Destructor.
std::vector< ObjDetect > const & latestDetections() const
Get the latest detections, use with caution, not thread-safe.
std::shared_ptr< YOLOjevois > itsYOLOjevois
size_t itsWaitingForYOLOjevoisNum
bool itsYOLOjevoisIsSetup
std::vector< float > itsPerClassThreshs
Per-class confidence thresholds, in ]0..1].
size_t itsLastProcessedNum
Post-Processor for neural network pipeline.
Pre-Processor for neural network pipeline.
Main namespace for all JeVois classes and functions.