Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Y

Yolo_mark

> 编程语言
Open source

GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2

1.8K stars0 likes0 views
WebsiteGitHub

About

GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2

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:
  • delete all files from directory x64/Release/data/img
  • put your .jpg-images to this directory x64/Release/data/img
  • change numer of classes (objects for detection) in file x64/Release/data/obj.data: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/data/obj.data#L1
  • put names of objects, one for each line in file x64/Release/data/obj.names: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/data/obj.names
  • run file: x64\Release\yolo_mark.cmd
  1. To training for your custom objects, you should change 2 lines in file x64/Release/yolo-obj.cfg:
  • set number of classes (objects): https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/yolo-obj.cfg#L230
  • set filter-value
    • For Yolov2 (classes + 5)*5: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/yolo-obj.cfg#L224
    • For Yolov3 (classes + 5)*3

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)

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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++darknetdnnlabelingmarking-bounded-boxes

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言