./download_yolov3.sh
我运行完是不能直接下载权重文件等,所以我按照download_yolov3.sh文件下的指令一个个输入完成,如下:
复制或者下载cfg文件和weights文件:
下载:
#下载:一共有四个文件,yolov3.cfg,yolov3.weights,yolov3-tiny.cfg,yolov3-tiny.weights
wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfg -q --show-progress --no-clobber
wget https://pjreddie.com/media/files/yolov3.weights -q --show-progress --no-clobber
wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3-tiny.cfg -q --show-progress --no-clobber
wget https://pjreddie.com/media/files/yolov3-tiny.weights -q --show-progress --no-clobber
#复制:一样也是复制上面那四个文件,路径在darknet和darknet下的cfg文件夹,复制到yolo下即可
下载或复制完成后执行一下指令:
cat yolov3.cfg | sed -e '8s/width=608/width=288/' | sed -e '9s/height=608/height=288/' > yolov3-288.cfg
ln -sf yolov3.weights yolov3-288.weights
cat yolov3.cfg | sed -e '8s/width=608/width=416/' | sed -e '9s/height=608/height=416/' > yolov3-416.cfg
ln -sf yolov3.weights yolov3-416.weights
cp yolov3.cfg yolov3-608.cfg
ln -sf yolov3.weights yolov3-608.weights
cat yolov3-tiny.cfg | sed -e '8s/width=416/width=288/' | sed -e '9s/height=416/height=288/' > yolov3-tiny-288.cfg
ln -sf yolov3-tiny.weights yolov3-tiny-288.weights
cp yolov3-tiny.cfg yolov3-tiny-416.cfg
ln -sf yolov3-tiny.weights yolov3-tiny-416.weights
最后yolo目录下会生成yolov3-288.cfg,yolov3-288.weights,yolov3-416.cfg,yolov3-416.weights, yolov3-tiny-288.cfg,yolov3-tiny-288.weights,yolov3-tiny-416.cfg,yolov3-tiny-416.weights
返回上一级文件夹,tensorrt_demos-master下打开终端,输入如下命令:
python3 yolo_to_onnx.py --model yolov3-416
python3 onnx_to_tensorrt.py --model yolov3-416
python3 yolo_to_onnx.py --model yolov3-tiny-416
python3 onnx_to_tensorrt.py --model yolov3-tiny-416
#下面一个是tiny的文件转换,速度会快一点,也可以把416改为288,图像初始化大小不一样,288会更快一点。
- 测试
图片测试
#下载图片到picture文件下。
wget https://raw.githubusercontent.com/pjreddie/darknet/master/data/dog.jpg -O $ {HOME} /Pictures/dog.jpg
python3 trt_yolo.py --model yolov3-416 --image --filename $ {HOME} /Pictures/dog.jpg
#或
python3 trt_yolo.py --model yolov3-tiny-416 --image --filename $ {HOME} /Pictures/dog.jpg
视频测试
#<video>为文件路劲。
python3 trt_yolo.py --model yolov3-416 --file --filename <video>
#或
python3 trt_yolo.py --model yolov3-tiny-416 --file --filename <video>
摄像头测试
python3 trt_yolo.py --model yolov3-416 --usb
#或
python3 trt_yolo.py --model yolov3-tiny-416 --usb
摄像头测试效果:摄像头的分辨率是720p,帧率稳定在40帧上,比之前的提高了十几帧,(视频测试的话效果也一样)但是还是没有达到预期效果。。。。。。1080p的话大概是20-30帧,这是我用yolov3-tiny-416.weights测试的结果。
这是使用yolov3-tiny-288.weights测试的结果。帧率稳定在50以上,摄像头为720p测试的结果。
这是使用yolov3-tiny-288.weights测试图片的结果。