AlexeyAB (preferred fork) Edit
Alexey should be considered as the lead developer now.
- https://github.com/AlexeyAB/Yolo_mark GUI for marking bounded boxes of objects in images for training Yolo v2
- Multi gpu training instructions.
- https://timebutt.github.io/static/how-to-train-yolov2-to-detect-custom-objects/ sites https://pjreddie.com/darknet/yolo/ training data set. from Nils Tijtgat. YOLOv2 is known to struggle when detecting small objects. The Darknet Google Groups has many different topics on how you could improve performance, you could have a look there to find inspiration. A suggestion that is often repeated is to train YOLOv2 using a higher input resolution, instead of 416x416. See this or this for instance. yolo small google groups1, yolo small 2 google groups
https://github.com/AlexeyAB/darknet#how-to-train-pascal-voc-data Fork of Yolo, download android webcam app. use android phone as network camera input stream.
- sept2017 version is 15fps on tx1, use alexeyab as it gives 200fps. Also pjreddie reorganized his code substantially changing folders.
- counting number of objects in image , people tracking, https://www.youtube.com/watch?v=QeWl0h3kQ24
- fix for 4k video fps from 7 to 20
- run demo without screen when using AMZ gpu's for example.
- small object detection
Darknet detector train Data/voc.data yolo.cfg darknet19_448.conv.23 from darknet groups training command
I'm assuming you've successfully created a train.txt file? (this is the file full of all of your filepaths to your dataset, and it's creation is detailed on the YOLO homepage). So, if you've got that created, it's probably not in your /data/voc/ directory; it's most likely in the directory one level up from where you have your images and labels stored. In yolo.c you need to specify where that file is located (you can use an absolute path here) so go to where you have train.txt and enter the pwd command (for print working directory), copy that absolute filepath into your yolo.c file on the 18th line (replace what is there), and then do "make clean" and "make" in your darknet directory. from training paul mcelroy https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects
make file Edit
- gpu settins arch in make file
- http://www.pradeepadiga.me/blog/2017/03/22/installing-cuda-toolkit-8-0-on-ubuntu-16-04/ installing cuda
node js Edit
https://github.com/moovel/node-yolo , https://lab.moovel.com/blog/what-you-get-is-what-you-see-nodejs-yolo Teaching your computer how to see just got easier with node-yolo. Created as a collaboration between the moovel lab and Alex (@OrKoN of moovel engineering), node-yolo builds upon Joseph Redmon’s neural network framework and wraps up the You Only Look Once (YOLO) real-time object detection library - YOLO - into a convenient and web-ready node.js module. The best thing about it: it’s open source!
yolo swift Edit
bounding box Edit
https://groups.google.com/forum/#!topic/darknet/1_HhQwr2BkA urban object detection with https://www.cityscapes-dataset.com/ dataset.
Python wrapper Edit
- https://github.com/thomaspark-pkj/pyyolo outputs bounding box to text file. use opencv2.4 due to waitkey issue and not 3.3.0
- https://github.com/lucaswamser/darknet , https://github.com/pjreddie/darknet/pull/111
tensorflow port Edit
- https://github.com/pjreddie/TopDeepLearning Various projects on deep learning neural nets.
- https://groups.google.com/forum/#!forum/darknet forum
train yolo coco data The first time I made a custom dataset that ran the 'demo' argument I changed yolo.c line 13 "char *voc_names=..." to reflect my custom classes. The second time I made a custom dataset, I added an argument to darknet.c "-override_vocnames" that loaded the appropriate "names=" file from the data file. ie - coco.data
- Maybe not the best way to do it. But it was easy to implement.
https://github.com/thtrieu/darkflow json output can be generated with descriptions of the pixel location of each bounding box and the pixel location. Each prediction is stored in the sample_img/out folder by default. An example json array is shown below.
- https://github.com/saiprabhakar/darknet-modified/tree/v0 Outputs image labels and bounding box to text file. When a person walking down the street veers unto the driveway, his position changes triggering an alert. https://groups.google.com/forum/#!topic/darknet/ylEWe3JUKrE
- https://github.com/saiprabhakar/Scene-recognition subscene analysis
- https://github.com/saiprabhakar/DeepDriving Deep driving. See Jabelone
- https://github.com/Guanghan/darknet This fork repository adds some additional niche in addition to the current darkenet from pjreddie. e.g. (1). Read a video file, process it, and output a video with boundingboxes.
- http://guanghan.info/blog/en/my-works/train-yolo/ and his SSD detector
- https://groups.google.com/forum/#!topic/darknet/cxTAbP-um7Y ,
- https://github.com/puzzledqs/BBox-Label-Tool ,
I am wondering the answer of original question. Can we get coordinates and count of detected objects, as text output, in darknet?
yes you can, go to in folder src/image.c find draw_detection function, left,right,top,bot is image bounding box, names[class] is object name, you can save bounding box and object in txt and count the object
http://guanghan.info/projects/ROLO/ Rolo a fork of Yolo does realtime tracking and identification of the body parts of a human such as face, allowing the Tracked vehicle robot's PepperBall gun accurate engagement. https://github.com/Guanghan/ROLO.
Yolo python wrapper Edit
face tracking Edit
https://www.youtube.com/watch?v=UsOi1BfunnU https://github.com/xhuvom/darknetFaceID i] To detect face from live camera feed and annotate automatically, use the .cfg and .weight files from QuanHua (https://mega.nz/#F!GRV1XKbJ!v8BCsFO8iJVNppiGXY4qMw). [ii] Only add those lines on src/image.c file of this fork as described bellow:
(line #223) to save .jpg images and (line #227) to save annotations on separate folders for each class (also change class number on line #229
[iii] After modifications, run the detector from live webcam or video file which specifically shows only one particular persons face. [iv] Repeat the process for every persons you want to recognize and modify training data location and class number accordingly. About ~2k face images per person is enough to recognize individual faces but to improve accuracy, more data could be added.
- https://www.youtube.com/watch?v=DeCFxPQlOVk indian traffic data , https://github.com/ctmackay/darknet , Track 1 utilized the Darknet framework with Yolo object detection. We achived 2nd place in mean average precision for the AI city challenge using this network and training parameters. You will need to build darknet in order to train and run inference on the models. i need to contact nvidia representative, they own the rights to the dataset, I may not have permission to release the models. I am meeting with them on the 6th, i will get back to you.
Uses a TitanX GPU($600) with Yolo to identify objects, draw bounding box and pass the coordinates to say thirty separate Tracked vehicle bots with cost effective CPU running OpenTLD. Ideal solution is to implement yolo on FpGa.