百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
Y

Yolo_mark

> 编程语言
开源

用于标记图像中对象的有界框,用于训练 神经网络 Yolo v3 和 v2

1.8K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

用于标记图像中对象的有界框,用于训练 神经网络 Yolo v3 和 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

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++darknetdnnlabelingmarking-bounded-boxes

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

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