Darknet Single
Identify objects using Darknet deep neural network.
By Laurent Ittiitti@usc.eduhttp://jevois.orgGPL v3
 Language:   C++            Supports mappings with USB output:   Yes            Supports mappings with NO USB output:   Yes
 Video Mapping:   NONE 0 0 0.0 YUYV 320 240 2.1 JeVois DarknetSingle
 Video Mapping:   YUYV 544 240 15.0 YUYV 320 240 15.0 JeVois DarknetSingle

Module Documentation

Darknet is a popular neural network framework. This component identifies the object in box in the center of the camera field of view. It returns the top scoring candidates.

See https://pjreddie.com/darknet

This module runs a Darknet network and shows the top-scoring results. The network is currently a bit slow, hence it is only run once in a while. Point your camera towards some interesting object, make the object fit in the picture shown at right (which will be fed to the neural network), keep it stable, and wait for Darknet to tell you what it found.

Note that by default this module runs the Imagenet1k tiny Darknet (it can also run the slightly slower but a bit more accurate Darknet Reference network; see parameters). There are 1000 different kinds of objects (object classes) that this network can recognize (too long to list here).

Sometimes it will make mistakes! The performance of darknet-tiny is about 58.7% correct (mean average precision) on the test set, and Draknet Reference is about 61.1% correct on the test set.

Serial messages

  • On every frame where detection results were obtained, this module sends a message
      DKF framenum
    where framenum is the frame number (starts at 0).
  • In addition, when detections are found which are avove threhsold, up to top messages will be sent, for those category candidates that have scored above thresh:
      DKR category score
    where category is the category name (from namefile) and score is the confidence scove from 0.0 to 100.0
ParameterTypeDescriptionDefaultValid Values
(Darknet) netwNetNetwork to load. This meta-parameter sets parameters dataroot, datacfg, cfgfile, weightfile, and namefile for the chosen network.Net::TinyNet_Values
(Darknet) datarootstd::stringRoot path for data, config, and weight files. If empty, use the module's path.JEVOIS_SHARE_PATH /darknet/single-
(Darknet) datacfgstd::stringData configuration file (if relative, relative to dataroot)cfg/imagenet1k.data-
(Darknet) cfgfilestd::stringNetwork configuration file (if relative, relative to dataroot)cfg/tiny.cfg-
(Darknet) weightfilestd::stringNetwork weights file (if relative, relative to dataroot)weights/tiny.weights-
(Darknet) namefilestd::stringCategory names file, or empty to fetch it from the network config file (if relative, relative to dataroot)-
(Darknet) topunsigned intMax number of top-scoring predictions that score above thresh to return5-
(Darknet) threshfloatThreshold (in percent confidence) above which predictions will be reported20.0Fjevois::Range<float>(0.0F, 100.0F)
Detailed docs:DarknetSingle
Copyright:Copyright (C) 2017 by Laurent Itti, iLab and the University of Southern California
License:GPL v3
Distribution:Unrestricted
Restrictions:None
Support URL:http://jevois.org/doc
Other URL:http://iLab.usc.edu
Address:University of Southern California, HNB-07A, 3641 Watt Way, Los Angeles, CA 90089-2520, USA