摘要:來自原作者,快如閃電,可稱目標檢測之光。實現教程去年月就出現了,實現一直零零星星。這份實現,支持用自己的數據訓練模型。現在可以跑腳本了來自原作者拿自己的數據集訓練快速訓練這個就是給大家一個粗略的感受,感受的訓練過程到底是怎樣的。
來自YOLOv3原作者
YOLOv3,快如閃電,可稱目標檢測之光。
PyTorch實現教程去年4月就出現了,TensorFlow實現一直零零星星。
現在,有位熱心公益的程序猿 (Yunyang1994) ,為它做了純TensorFlow代碼實現。
這份實現,支持用自己的數據訓練模型。
介紹一下
TensorFlow實現,包含了以下部分:
· YOLOv3架構
· 權重轉換器 (Weight Converter)
· 基礎版Demo
· GPU和CPU上都支持非極大抑制 (Non-Maximum Suppression)
· 訓練pipeline
· COCO mAP計算
來自YOLOv3原作者
快速開始
四個步驟,速速上車。
1.復制這個文件:
1$ git clone https://github.com/YunYang1994/tensorflow-yolov3.git
2.在食用代碼前,先安裝一些依賴項:
1$ cd tensorflow-yolov3
2$ pip install -r ./docs/requirements.txt
3.把加載好的COCO權重導出為TF checkpoint (yolov3.ckpt) 和 frozen graph (yolov3_gpu_nms.pb) 。
如果你沒有yolov3.weights的話,去下載,然后放到./checkpoint目錄下。下載地址是:
https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3.weights
1$ python convert_weight.py --convert --freeze
4.然后,./checkpoint目錄下就會出現一些.pb文件。現在可以跑Demo腳本了:
1$ python nms_demo.py
2$ python video_demo.py # if use camera, set video_path = 0
來自YOLOv3原作者
拿自己的數據集訓練
快速訓練
這個Demo就是給大家一個粗略的感受,感受YOLOv3的訓練過程到底是怎樣的。
用python core/convert_tfrecord.py把你的圖集轉成TFRecords。
1$ python core/convert_tfrecord.py --dataset /data/train_data/quick_train_data/quick_train_data.txt ?--tfrecord_path_prefix /data/train_data/quick_train_data/tfrecords/quick_train_data
2$ python quick_train.py ?# start training
訓練COCO數據集
如果還沒下載COCO2017數據集,請前往:
http://cocodataset.org/
再把數據集放到./data/train_data/COCO里面。
1$ cd data/train_data/COCO
2$ wget http://images.cocodataset.org/zips/train2017.zip
3$ unzip train2017.zip
4$ wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
5$ unzip annotations_trainval2017.zip
然后,就要從數據集里提取一些有用的信息了,比如邊界框,拿這些信息生成你自己的.txt文件。
1$ python core/extract_coco.py --dataset_info_path ./data/train_data/COCO/train2017.txt
?來自YOLOv3原作者
上面這步得到的文件是./data/train_data/COCO/train2017.txt。拿一張圖舉栗,應該長這樣:
1As a result, you will get ./data/train_data/COCO/train2017.txt. Here is an example row for one image:
2
3/home/yang/test/tensorflow-yolov3/data/train_data/train2017/000000458533.jpg 20 18.19 6.32 424.13 421.83 20 323.86 2.65 640.0 421.94
4/home/yang/test/tensorflow-yolov3/data/train_data/train2017/000000514915.jpg 16 55.38 132.63 519.84 380.4
5# image_path, category_id, x_min, y_min, x_max, y_max, category_id, x_min, y_min, ...
接下來,要把圖像數據集轉成.tfrecord,就是用二進制來保存數據。最后,可以訓練啦。
1$ python core/convert_tfrecord.py --dataset ./data/train_data/COCO/train2017.txt ?--tfrecord_path_prefix ./data/train_data/COCO/tfrecords/coco --num_tfrecords 100
2$ python train.py
COCO評估
如果要看一下模型在COCO上的表現,就這樣做:
1$ cd data/train_data/COCO
2$ wget http://images.cocodataset.org/zips/test2017.zip
3$ wget http://images.cocodataset.org/annotations/image_info_test2017.zip?
4$ unzip test2017.zip
5$ unzip image_info_test2017.zip
?來自YOLOv3原作者
“我今年沒干啥”
YOLO系列的作者,是華盛頓大學兩位畫風奇崛的研究人員,一個叫Joseph Redmon,一個叫Ali Farhadi。
去年3月YOLOv3發布,兩位在論文里是這樣描述這項成果的:
我今年基本沒做啥研究,凈刷推特了,也玩了一小會兒GAN。去年還剩一點動力沒用完,就給YOLO更了個新。沒什么特別有意思的東西,一些細小的改動而已。
Introduction滿分
但嚴肅地說,速度是v3最主要的提升。一般來講,YOLOv3比R-CNN快1000倍,比Fast R-CNN快100倍。
有一些人啊,看起來常年不做正事,但還是能拿出精彩的成果。
YOLOv3 TensorFlow實現傳送門:
https://github.com/YunYang1994/tensorflow-yolov3
(早就出了的) YOLO v3 PyTorch教程傳送門:
https://github.com/ayooshkathuria/YOLO_v3_tutorial_from_scratch
聲明:文章收集于網絡,為傳播信息而發,如有侵權,請聯系小編及時處理,謝謝!
商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/4850.html
摘要:近日,來自華盛頓大學的和提出的版本。而那些評分較高的區域就可以視為檢測結果。此外,相對于其它目標檢測方法,我們使用了完全不同的方法。從圖中可以看出準確率高,速度也快。對于的圖像,可以達到的檢測速度,獲得的性能,與的準確率相當但是速度快倍。 近日,來自華盛頓大學的 Joseph Redmon 和 Ali Farhadi 提出 YOLO 的版本 YOLOv3。通過在 YOLO 中加入設計細節的變...
閱讀 4580·2021-09-10 11:22
閱讀 538·2019-08-30 11:17
閱讀 2572·2019-08-30 11:03
閱讀 437·2019-08-29 11:18
閱讀 3462·2019-08-28 17:59
閱讀 3224·2019-08-26 13:40
閱讀 3169·2019-08-26 10:29
閱讀 1142·2019-08-26 10:14