{"id":13645144,"url":"https://github.com/AlexeyAB/Yolo_mark","last_synced_at":"2025-04-21T13:31:52.616Z","repository":{"id":42158066,"uuid":"76747577","full_name":"AlexeyAB/Yolo_mark","owner":"AlexeyAB","description":"GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2","archived":false,"fork":false,"pushed_at":"2020-12-11T00:29:20.000Z","size":4343,"stargazers_count":1825,"open_issues_count":146,"forks_count":681,"subscribers_count":70,"default_branch":"master","last_synced_at":"2025-04-07T21:13:17.585Z","etag":null,"topics":["darknet","dnn","labeling","marking-bounded-boxes","object-detection","training-yolo","yolo"],"latest_commit_sha":null,"homepage":"https://github.com/AlexeyAB/darknet","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexeyAB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-17T21:25:07.000Z","updated_at":"2025-04-06T13:21:01.000Z","dependencies_parsed_at":"2022-09-06T15:41:49.983Z","dependency_job_id":null,"html_url":"https://github.com/AlexeyAB/Yolo_mark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexeyAB%2FYolo_mark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexeyAB%2FYolo_mark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexeyAB%2FYolo_mark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexeyAB%2FYolo_mark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexeyAB","download_url":"https://codeload.github.com/AlexeyAB/Yolo_mark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250064701,"owners_count":21368952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["darknet","dnn","labeling","marking-bounded-boxes","object-detection","training-yolo","yolo"],"created_at":"2024-08-02T01:02:29.181Z","updated_at":"2025-04-21T13:31:52.053Z","avatar_url":"https://github.com/AlexeyAB.png","language":"C++","funding_links":[],"categories":["Toolbox","Summary","Labeling Tools","Object Detection Applications"],"sub_categories":["Label tools","Images"],"readme":"# Yolo_mark\n**Windows** \u0026 **Linux** GUI for marking bounded boxes of objects in images for training Yolo v3 and v2\n\n* To compile on **Windows** open `yolo_mark.sln` in MSVS2013/2015, compile it **x64 \u0026 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:\n\n    * (right click on project) -\u003e properties -\u003e C/C++ -\u003e General -\u003e Additional Include Directories: `C:\\opencv_3.0\\opencv\\build\\include;`\n        \n    * (right click on project) -\u003e properties -\u003e Linker -\u003e General -\u003e Additional Library Directories: `C:\\opencv_3.0\\opencv\\build\\x64\\vc14\\lib;`\n\n* To compile on **Linux** type in console 3 commands:\n    ```\n    cmake .\n    make\n    ./linux_mark.sh\n    ```\n\nSupported both: OpenCV 2.x and OpenCV 3.x\n\n--------\n\n1. To test, simply run \n  * **on Windows:** `x64/Release/yolo_mark.cmd`\n  * **on Linux:** `./linux_mark.sh`\n\n2. To use for labeling your custom images:\n\n * delete all files from directory `x64/Release/data/img`\n * put your `.jpg`-images to this directory `x64/Release/data/img`\n * 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\n * 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\n * run file: `x64\\Release\\yolo_mark.cmd`\n\n3. To training for your custom objects, you should change 2 lines in file `x64/Release/yolo-obj.cfg`:\n\n * set number of classes (objects): https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/yolo-obj.cfg#L230\n * set `filter`-value \n   * For Yolov2 `(classes + 5)*5`: https://github.com/AlexeyAB/Yolo_mark/blob/master/x64/Release/yolo-obj.cfg#L224\n   * For Yolov3 `(classes + 5)*3`\n\n 3.1 Download pre-trained weights for the convolutional layers (76 MB): http://pjreddie.com/media/files/darknet19_448.conv.23 \n \n 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`\n\nFor a detailed description, see: https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects\n\n----\n\n#### How to get frames from videofile:\n\nTo get frames from videofile (save each N frame, in example N=10), you can use this command:\n* on Windows: `yolo_mark.exe data/img cap_video test.mp4 10`\n* on Linux: `./yolo_mark x64/Release/data/img cap_video test.mp4 10`\n\nDirectory `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`.\n\nAs a result, many frames will be collected in the directory `data/img`. Then you can label them manually using such command: \n* on Windows: `yolo_mark.exe data/img data/train.txt data/obj.names`\n* on Linux: `./yolo_mark x64/Release/data/img x64/Release/data/train.txt x64/Release/data/obj.names`\n\n----\n\n#### Here are:\n\n* /x64/Release/\n  * `yolo_mark.cmd` - example hot to use yolo mark: `yolo_mark.exe data/img data/train.txt data/obj.names`\n  * `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`\n  * `yolo-obj.cfg` - example of yoloV3-neural-network for 2 object\n* /x64/Release/data/\n  * `obj.names` - example of list with object names\n  * `obj.data` - example with configuration for training Yolo v3\n  * `train.txt` - example with list of image filenames for training Yolo v3\n  \n* /x64/Release/data/img/`air4.txt` - example with coordinates of objects on image `air4.jpg` with aircrafts (class=0)\n\n![Image of Yolo_mark](https://habrastorage.org/files/229/f06/277/229f06277fcc49279342b7edfabbb47a.jpg)\n\n### Instruction manual\n\n#### Mouse control\n\nButton | Description | \n--- | --- |\nLeft | Draw box\nRight | Move box\n\n#### Keyboard Shortcuts\n\nShortcut | Description | \n--- | --- |\n\u003ckbd\u003e→\u003c/kbd\u003e | Next image |\n\u003ckbd\u003e←\u003c/kbd\u003e | Previous image |\n\u003ckbd\u003er\u003c/kbd\u003e | Delete selected box (mouse hovered) |\n\u003ckbd\u003ec\u003c/kbd\u003e | Clear all marks on the current image |\n\u003ckbd\u003ep\u003c/kbd\u003e | Copy previous mark |\n\u003ckbd\u003eo\u003c/kbd\u003e | Track objects |\n\u003ckbd\u003eESC\u003c/kbd\u003e | Close application |\n\u003ckbd\u003en\u003c/kbd\u003e | One object per image |\n\u003ckbd\u003e0-9\u003c/kbd\u003e | Object id |\n\u003ckbd\u003em\u003c/kbd\u003e | Show coords |\n\u003ckbd\u003ew\u003c/kbd\u003e | Line width |\n\u003ckbd\u003ek\u003c/kbd\u003e | Hide object name |\n\u003ckbd\u003eh\u003c/kbd\u003e | Help |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexeyAB%2FYolo_mark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexeyAB%2FYolo_mark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexeyAB%2FYolo_mark/lists"}