YOLO---多个版本的认识
Posted carle-09
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YOLO---多个版本的认识相关的知识,希望对你有一定的参考价值。
YOLO---多个版本的简单认识
YOLOv3 有好几个经典版本了:
一、YOLOv3 (Darknet)官网 @ https://github.com/pjreddie/darknet
二、YOLOv3(darknet优化了)@ https://github.com/AlexeyAB/darknet
三、YOLOv3 with OpenCV官网 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3
引用:
windows版本:请参考 https://github.com/AlexeyAB/darknet
linux版本:请参考 https://pjreddie.com/darknet/yolo
简介
一、YOLOv3 (Darknet)官网 @ https://github.com/pjreddie/darknet
一开始github上最热的开源项目,在linux系统下做的,现在各个大神改版也有在windows下使用了。
下载并备齐:darknet、选配yolov3.weights + yolov3.cfg、...
依赖环境:C++、OpenCV、python、...
编译情况:下载源文件,需要make进行编译后,才能使用
支持:linux系统(最先支持) + windows + CPU + GPU(可适用于英伟达)
(1)源码的常用执行命令:
u@u1604:~/darknet$ (1)测试一张图片---detect ./darknet detect cfg/yolov3.cfg weights/yolov3.weights data/person.jpg ./darknet detector test cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights data/person.jpg (2)测试本地视频---demo ./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights wp_video/person002.mp4 (3)测试usb视频--- ./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights (4)测试rstp视频--- ./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0 -thresh 0.25 ./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0 -----------to test many pics------------------------ ./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i 2 #CPU enter Enter Image Path: ./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i 0 #GPU enter Enter Image Path:
(2)自写python接口文件,执行:
python2 xx.py
python3 xx.py
二、YOLOv3(darknet优化了)@ https://github.com/AlexeyAB/darknet
一开始github在windows系统下做的,现在各个大神改版也有在linux下使用了。
下载并备齐:darknet、选配yolov3.weights + yolov3.cfg、...
依赖环境:C++、OpenCV、python、...
编译情况:下载源文件,需要make进行编译后,才能使用
支持:windows系统(最先支持) + linux + CPU + GPU(可适用于英伟达)
基本使用命令同《一、YOLOv3 (Darknet)官网》,但部分有少许差别
三、YOLOv3 with OpenCV官网 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3
下载并备齐:yolov3.weights权重文件、yolov3.cfg网络构建文件、coco.names、xxx.jpg、xxx.mp4文件、object_detection_yolo.cpp、object_detection_yolo.py等文件;
依赖环境:C++的编译环境(如G++/VScode)、OpenCV3.4.2+(记住安装目录)
编译情况:下载源文件,无需复杂的编译,直接修改进行应用
支持:windows + linux + CPU + GPU(只适用于英特尔)
(1)在OpenCV中使用YOLOv3, 可以在windows下+ ubuntu下使用。
(2)windows下,之前做,object_detection_yolo.cpp是在Visual Studio(VS)下编译的。
(3)ubuntu下,这次,object_detection_yolo.cpp是g++编译的。
(3)OpenCV的DNN,GPU仅使用英特尔的GPU进行测试,因此如果没有英特尔GPU,代码会将您切换回CPU。
使用:
(1)object_detection_yolo.cpp,执行:
编译,g++ `pkg-config opencv --cflags` object_detection_yolo.cpp -o object_detection_yolo `pkg-config opencv --libs` -std=c++11
测试,a single image:
./object_detection_yolo --image=./data/1.jpg
a video file:
./object_detection_yolo --video=./data/run.mp4
(2)object_detection_yolo.py,执行:
a single image:
python3 object_detection_yolo.py --image=bird.jpg
a video file:
python3 object_detection_yolo.py --video=run.mp4
最后,三者的区别,还没太细细研究。pjreddie/darknet、AlexeyAB/darknet 、YOLOv3 with OpenCV三者的计算效率和准确率,还未做对比。这几天,本来相对比一下运行时间,但是时间函数的放置位置不同,测试的时间貌似没有可比性。整个工程的运行时间,可能对工程最具时间说服价值,太耗时,以后有机会有需要在细细研究。
从运行的直观观测上,GPU > CPU,C++ > Python,耗时的具体数值暂不做研究。附上:这几天的测试时间,作对比可能不具有太大的价值;网上网友分享的资源。
测试环境:ubuntu16.04 + Intel® Core™ i7-8700K CPU @ 3.70GHz × 12 + NVIDIA GTX 2080 TI
以上是关于YOLO---多个版本的认识的主要内容,如果未能解决你的问题,请参考以下文章
使用YOLO时torchtorchvisioncuda版本下载
YOLO v3 包括Tiny-Yolo 训练自己的数据集(Pytorch版本)以及模型评价指标的介绍