Yolo_mark

用于标记图像中物体的边界框的图形用户界面,用于训练神经网络Yolo v3和v2。「GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2

Github stars Tracking Chart

Yolo_mark

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.sh
    

Supported both: OpenCV 2.x and OpenCV 3.x


  1. To test, simply run
  • on Windows: x64/Release/yolo_mark.cmd
  • on Linux: ./linux_mark.sh
  1. To use for labeling your custom images:
  1. To training for your custom objects, you should change 2 lines in file x64/Release/yolo-obj.cfg:

3.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


How to get frames from videofile:

To get frames from videofile (save each N frame, in example N=10), you can use this command:

  • on Windows: yolo_mark.exe data/img cap_video test.mp4 10
  • on Linux: ./yolo_mark x64/Release/data/img cap_video test.mp4 10

Directory 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:

  • on Windows: yolo_mark.exe data/img data/train.txt data/obj.names
  • on Linux: ./yolo_mark x64/Release/data/img x64/Release/data/train.txt x64/Release/data/obj.names

Here are:

  • /x64/Release/

    • yolo_mark.cmd - example hot to use yolo mark: yolo_mark.exe data/img data/train.txt data/obj.names
    • train_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.23
    • yolo-obj.cfg - example of yoloV3-neural-network for 2 object
  • /x64/Release/data/

    • obj.names - example of list with object names
    • obj.data - example with configuration for training Yolo v3
    • train.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)

Image of Yolo_mark

Instruction manual

Mouse control

Button Description
Left Draw box
Right Move box

Keyboard Shortcuts

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

Main metrics

Overview
Name With OwnerAlexeyAB/Yolo_mark
Primary LanguageC++
Program languageC++ (Language Count: 4)
PlatformLinux, Windows
License:The Unlicense
所有者活动
Created At2016-12-17 21:25:07
Pushed At2020-12-11 00:29:20
Last Commit At2019-04-24 12:59:27
Release Count0
用户参与
Stargazers Count1.8k
Watchers Count70
Fork Count679
Commits Count64
Has Issues Enabled
Issues Count194
Issue Open Count134
Pull Requests Count8
Pull Requests Open Count12
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private