{"id":15028188,"url":"https://github.com/yunyang1994/tensorflow-yolov3","last_synced_at":"2025-05-14T14:09:33.999Z","repository":{"id":33711737,"uuid":"158789895","full_name":"YunYang1994/tensorflow-yolov3","owner":"YunYang1994","description":"🔥 TensorFlow Code for technical report: \"YOLOv3: An Incremental Improvement\"","archived":false,"fork":false,"pushed_at":"2024-07-04T21:40:34.000Z","size":64375,"stargazers_count":3631,"open_issues_count":488,"forks_count":1345,"subscribers_count":87,"default_branch":"master","last_synced_at":"2025-04-10T03:49:47.260Z","etag":null,"topics":["deep-learning","object-detection","tensorflow","yolov3"],"latest_commit_sha":null,"homepage":"https://yunyang1994.gitee.io/2018/12/28/YOLOv3-算法的一点理解/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YunYang1994.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://github.com/YunYang1994/TensorFlow2.0-Examples/blob/master/.github/Sponsor.md"}},"created_at":"2018-11-23T06:26:37.000Z","updated_at":"2025-04-09T01:56:36.000Z","dependencies_parsed_at":"2023-01-15T02:10:22.395Z","dependency_job_id":"6aad13b0-f0c1-4588-b5f2-c5cd3b93f946","html_url":"https://github.com/YunYang1994/tensorflow-yolov3","commit_stats":{"total_commits":359,"total_committers":9,"mean_commits":"39.888888888888886","dds":0.5125348189415042,"last_synced_commit":"03cb272af2e26d598c553f3a2d38024fc6f67a0b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YunYang1994%2Ftensorflow-yolov3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YunYang1994%2Ftensorflow-yolov3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YunYang1994%2Ftensorflow-yolov3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YunYang1994%2Ftensorflow-yolov3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YunYang1994","download_url":"https://codeload.github.com/YunYang1994/tensorflow-yolov3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160557,"owners_count":22024571,"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":["deep-learning","object-detection","tensorflow","yolov3"],"created_at":"2024-09-24T20:07:45.549Z","updated_at":"2025-05-14T14:09:28.990Z","avatar_url":"https://github.com/YunYang1994.png","language":"Python","funding_links":["https://github.com/YunYang1994/TensorFlow2.0-Examples/blob/master/.github/Sponsor.md"],"categories":[],"sub_categories":[],"readme":"\n## 🆕 Are you looking for a new YOLOv3 implemented by TF2.0 ?\n\n\u003eIf you hate the fucking tensorflow1.x very much, no worries! I have implemented **a new YOLOv3 repo with TF2.0**, and also made a chinese blog on how to implement YOLOv3 object detector from scratch. \u003cbr\u003e\n[code](https://github.com/YunYang1994/TensorFlow2.0-Examples/tree/master/4-Object_Detection/YOLOV3) | [blog](https://yunyang1994.gitee.io/2018/12/28/YOLOv3-算法的一点理解/)  | [issue](https://github.com/YunYang1994/tensorflow-yolov3/issues/39)\n\n## part 1. Quick start\n1. Clone this file\n```bashrc\n$ git clone https://github.com/YunYang1994/tensorflow-yolov3.git\n```\n2.  You are supposed  to install some dependencies before getting out hands with these codes.\n```bashrc\n$ cd tensorflow-yolov3\n$ pip install -r ./docs/requirements.txt\n```\n3. Exporting loaded COCO weights as TF checkpoint(`yolov3_coco.ckpt`)【[BaiduCloud](https://pan.baidu.com/s/11mwiUy8KotjUVQXqkGGPFQ\u0026shfl=sharepset)】\n```bashrc\n$ cd checkpoint\n$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz\n$ tar -xvf yolov3_coco.tar.gz\n$ cd ..\n$ python convert_weight.py\n$ python freeze_graph.py\n```\n4. Then you will get some `.pb` files in the root path.,  and run the demo script\n```bashrc\n$ python image_demo.py\n$ python video_demo.py # if use camera, set video_path = 0\n```\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/30433053/68088581-9255e700-fe9b-11e9-8672-2672ab398abe.jpg\" style=\"max-width:100%;\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## part 2. Train your own dataset\nTwo files are required as follows:\n\n- [`dataset.txt`](https://raw.githubusercontent.com/YunYang1994/tensorflow-yolov3/master/data/dataset/voc_train.txt): \n\n```\nxxx/xxx.jpg 18.19,6.32,424.13,421.83,20 323.86,2.65,640.0,421.94,20 \nxxx/xxx.jpg 48,240,195,371,11 8,12,352,498,14\n# image_path x_min, y_min, x_max, y_max, class_id  x_min, y_min ,..., class_id \n# make sure that x_max \u003c width and y_max \u003c height\n```\n\n- [`class.names`](https://github.com/YunYang1994/tensorflow-yolov3/blob/master/data/classes/coco.names):\n\n```\nperson\nbicycle\ncar\n...\ntoothbrush\n```\n\n### 2.1 Train on VOC dataset\nDownload VOC PASCAL trainval  and test data\n```bashrc\n$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar\n$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar\n$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar\n```\nExtract all of these tars into one directory and rename them, which should have the following basic structure.\n\n```bashrc\n\nVOC           # path:  /home/yang/dataset/VOC\n├── test\n|    └──VOCdevkit\n|        └──VOC2007 (from VOCtest_06-Nov-2007.tar)\n└── train\n     └──VOCdevkit\n         └──VOC2007 (from VOCtrainval_06-Nov-2007.tar)\n         └──VOC2012 (from VOCtrainval_11-May-2012.tar)\n                     \n$ python scripts/voc_annotation.py --data_path /home/yang/test/VOC\n```\nThen edit your `./core/config.py` to make some necessary configurations\n\n```bashrc\n__C.YOLO.CLASSES                = \"./data/classes/voc.names\"\n__C.TRAIN.ANNOT_PATH            = \"./data/dataset/voc_train.txt\"\n__C.TEST.ANNOT_PATH             = \"./data/dataset/voc_test.txt\"\n```\nHere are two kinds of training method: \n\n##### (1) train from scratch:\n\n```bashrc\n$ python train.py\n$ tensorboard --logdir ./data\n```\n##### (2) train from COCO weights(recommend):\n\n```bashrc\n$ cd checkpoint\n$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz\n$ tar -xvf yolov3_coco.tar.gz\n$ cd ..\n$ python convert_weight.py --train_from_coco\n$ python train.py\n```\n### 2.2 Evaluate on VOC dataset\n\n```\n$ python evaluate.py\n$ cd mAP\n$ python main.py -na\n```\n\nthe mAP on the VOC2012 dataset:\n\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"50%\" src=\"https://user-images.githubusercontent.com/33013904/58227054-dd4fc800-7d5b-11e9-85aa-67854292fbe0.png\" style=\"max-width:50%;\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\n## part 3. Other Implementations\n\n[-**`YOLOv3目标检测有了TensorFlow实现，可用自己的数据来训练`**](https://mp.weixin.qq.com/s/cq7g1-4oFTftLbmKcpi_aQ)\u003cbr\u003e\n\n[-**`Stronger-yolo`**](https://github.com/Stinky-Tofu/Stronger-yolo)\u003cbr\u003e\n\n[- **`Implementing YOLO v3 in Tensorflow (TF-Slim)`**](https://itnext.io/implementing-yolo-v3-in-tensorflow-tf-slim-c3c55ff59dbe)\n\n[- **`YOLOv3_TensorFlow`**](https://github.com/wizyoung/YOLOv3_TensorFlow)\n\n[- **`Object Detection using YOLOv2 on Pascal VOC2012`**](https://fairyonice.github.io/Part_1_Object_Detection_with_Yolo_for_VOC_2014_data_anchor_box_clustering.html)\n\n[-**`Understanding YOLO`**](https://hackernoon.com/understanding-yolo-f5a74bbc7967)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunyang1994%2Ftensorflow-yolov3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyunyang1994%2Ftensorflow-yolov3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunyang1994%2Ftensorflow-yolov3/lists"}