基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

距離 YOLO v4 的推出,已經過去 5 個多月。但由於YOLO 框架採用 C 語言作為底層代碼,網上出現了很多基於各種深度學習框架的 YOLO 復現版本。近日,就有研究者在 GitHub 上更新了基於 PyTorch 的 YOLOv4。

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

不同與很多基於 TF/Keras 和 Caffe 等的復現版本,只給了代碼,並沒有給出模型在 COCO、PASCAL VOC 數據集上的訓練結果。近日在 GitHub 上開源的基於 PyTorch 深度學習框架的 YOLOv4 復現版本項目,基於 YOLOv4 作者給出的實現 AlexeyAB/darknet,並在 PASCAL VOC、COCO 和自定義數據集上運行。

除此以外,該項目還向主幹網絡添加了一些有用的注意力方法,並實現了 mobilenetv2-YOLOV4 和 mobilenetv3-YOLOV4。

attentive YOLOv4

該項目向主幹網絡添加了一些注意力方法,如 SEnet、CBAM。

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

mobilenet YOLOv4

該研究還實現了 mobilenetv2-YOLOV4 和 mobilenetv3-YOLOV4(只需更改 config/yolov4_config.py 中的 MODEL_TYPE 即可)。

下表展示了 mobilenetv2-YOLOV4 的性能結果:

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

基於PyTorch 的 YOLOv4操作還是從準備工作的複製 YOLOv4、數據集準備、下載權重文件、和轉換成自定義數據集;接下來就是訓練、它還支持 resume 訓練,添加 --resume,使用以下命令即可自動加載 last.pt。檢測操作後,結果可以在 output / 中查看,可有如下效果:

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

再來就是評估了,這裡給了基於Pascal VOC 數據集的示例:

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

在 val_voc.py 中設置 showatt=Ture,網絡即可輸出熱圖。在 output / 中可以查看熱圖,如下所示:

基於PyTorch的YOLOv4復現版本 不僅開源還有驚喜

文章部分素材來源:人工智能與算法學習


分享到:


相關文章: