GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2
GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2
Windows & Linux GUI for marking bounded boxes of objects in images for training Yolo v3 and v2
To compile on Windows open yolo_mark.sln in MSVS2013/2015, compile it x64 & Release and run the file: x64/Release/yolo_mark.cmd. Change paths in yolo_mark.sln to the OpenCV 2.x/3.x installed on your computer:
(right click on project) -> properties -> C/C++ -> General -> Additional Include Directories: C:\opencv_3.0\opencv\build\include;
(right click on project) -> properties -> Linker -> General -> Additional Library Directories: C:\opencv_3.0\opencv\build\x64\vc14\lib;
To compile on Linux type in console 3 commands:
cmake .
make
./linux_mark.shSupported both: OpenCV 2.x and OpenCV 3.x
x64/Release/yolo_mark.cmd./linux_mark.shx64/Release/data/img.jpg-images to this directory x64/Release/data/imgx64/Release/data/obj.data: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/data/obj.data#L1x64/Release/data/obj.names: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/data/obj.namesx64\Release\yolo_mark.cmdx64/Release/yolo-obj.cfg:filter-value (classes + 5)*5: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/yolo-obj.cfg#L224(classes + 5)*33.1 Download pre-trained weights for the convolutional layers (76 MB): http://pjreddie.com/media/files/darknet19_448.conv.23
3.2 Put files: yolo-obj.cfg, data/train.txt, data/obj.names, data/obj.data, darknet19_448.conv.23 and directory data/img near with executable darknet-file, and start training: darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
For a detailed description, see: https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects
To get frames from videofile (save each N frame, in example N=10), you can use this command:
yolo_mark.exe data/img cap_video test.mp4 10./yolo_mark x64/Release/data/img cap_video test.mp4 10Directory data/img should be created before this. Also on Windows, the file opencv_ffmpeg340_64.dll from opencv\build\bin should be placed near with yolo_mark.exe.
As a result, many frames will be collected in the directory data/img. Then you can label them manually using such command:
yolo_mark.exe data/img data/train.txt data/obj.names./yolo_mark x64/Release/data/img x64/Release/data/train.txt x64/Release/data/obj.names/x64/Release/
yolo_mark.cmd - example hot to use yolo mark: yolo_mark.exe data/img data/train.txt data/obj.namestrain_obj.cmd - example how to train yolo for your custom objects (put this file near with darknet.exe): darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23yolo-obj.cfg - example of yoloV3-neural-network for 2 object/x64/Release/data/
obj.names - example of list with object namesobj.data - example with configuration for training Yolo v3train.txt - example with list of image filenames for training Yolo v3/x64/Release/data/img/air4.txt - example with coordinates of objects on image air4.jpg with aircrafts (class=0)
| Button | Description |
|---|---|
| Left | Draw box |
| Right | Move box |
| Shortcut | Description |
|---|---|
| → | Next image |
| ← | Previous image |
| r | Delete selected box (mouse hovered) |
| c | Clear all marks on the current image |
| p | Copy previous mark |
| o | Track objects |
| ESC | Close application |
| n | One object per image |
| 0-9 | Object id |
| m | Show coords |
| w | Line width |
| k | Hide object name |
| h | Help |
No open issues yet, or sync has not completed.