DarkHelp  v1.9.7-1
C++ API for the neural network framework Darknet
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Parameters

DarkHelp has several required and many optional parameters.

Required parameters are the files that together are the neural network: the .cfg, .weights, and .names files. Also required is 1 or more image against which the neural network will run.

Assuming we are working with a neural network named "cars", at a minimum you'd call DarkHelp on the CLI like this:

DarkHelp cars.cfg cars.weights cars.names *.jpg

DarkHelp can also be used with video files instead of static images. You call it exactly the same way. For example:

DarkHelp cars.cfg cars.weights cars.names *.mp4

Any video file or image type that can be opened using OpenCV is valid.

Note
The filename or directory name at the end of the command is optional when -l is used. See the table below for details.
Short Name Long Name Description
-a <WxH> –resize2 ... After the image has been annotated, resize it as specified. For example, "--resize2 800x600" or "-a 640x480".
-b <WxH> –resize1 ... Before calling DarkHelp::NN::predict(), resize the image. For example, "-b 1024x768".
-D <darknet,opencv,opencvcpu> –driver ... Select if Darknet or OpenCV will be used. See DarkHelp::EDriver for details.
-d <true,false,on,off,1,0> –duration ... Determines if the duration is added to top left of the annotated image. See DarkHelp::Config::annotation_include_duration for dtails.
-f <float> –fontscale ... Determines how the font in OpenCV2 is scaled when drawing the annotated image. See DarkHelp::Config::annotation_font_scale for details.
-g –greyscale Forces all input images to be loaded in greyscale.
-e <float> –shade ... Amount of alpha-blending to use when shading in rectangles.
-h –help Display short or extended help information on each parameter.
-i <true,false,on,off,1,0> –timestamp ... Determines if a timestamp is added to the bottom of the annotated image.See DarkHelp::Config::annotation_include_timestamp for details.
-j –json Enable the JSON-format output once DarkHelp has finished processing all images. See Shell Scripting for details.
-k –keep Annotated images will be kept (written to disk). The location of each image is logged at the time the image is saved. For example:
-> annotated image saved to "/tmp/darkhelp_14111/darkhelp_14111_output_0.png".
Especially useful when combined with the -j flag, or when preparing a large number of images for a presentation.
-l <filename> –list ... Read the list of image files to load from the given text file. One image per line. Blank lines and lines that start with # are ignored.
-n <float> –nms ... The non-maximal suppression threshold to use when predicting. See DarkHelp::Config::non_maximal_suppression_threshold for details.
-o <true,false,on,off,1,0> –autohide ... Auto-hide labels.
-p <true,false,on,off,1,0> –percentage ... Determines if percentages are added to annotation labels. See DarkHelp::Config::names_include_percentage for details.
-r –random Randomizes the order in which images are loaded.
-s –slideshow Starts DarkHelp in "slideshow" mode, where a new image is shown regularly.
-T <true,false,on,off,1,0> –tiles ... Determines if large images are processed by breaking into tiles.
-t <float> –threshold ... The threshold to use when predicting with the neural net. See DarkHelp::Config::threshold for details.
-Y <jpg,png> –type ... The file type DarkHelp should use when saving image files. PNG files are larger and slower to write. JPG files are faster but use lossy compreesion.
-y <float> –hierarchy ... The hierarchy threshold to use when predicting. See DarkHelp::Config::hierarchy_threshold for details.
  –outdir ... Output directory to use when saving files. Default is /tmp/.
  –pixelate ... Determines if predictions are pixelated in the output annotation image. See DarkHelp::Config::annotation_pixelate_size for details.
  –redirection ... Determines if STDOUT and STDERR output from Darknet is redirected to /dev/null. See DarkHelp::Config::redirect_darknet_output for details.
  –tile-edge ... When tiling is enabled, this determines how close objects must be to the tile's edge to be re-combined. Range is 0.01-1.0+. Default is 0.25. See DarkHelp::Config::tile_edge_factor for details.
  –tile-rect ... When tiling is enabled, this determines how similarly objects must line up across tiles to be re-combined. Range is 1.0-2.0+. Default is 1.20. See DarkHelp::Config::tile_rect_factor for details.
  –version Display the version string.