前言
毕设做的是水面目标的目标检测,因为要用Tkinter制作用户界面,于是采用openCV库来实现图像的处理,恰好openCV支持YOLO v3的部署……
一、基于Pytorch框架的YOLO v3
因为对Python比较熟悉,综合考虑后选择用Pytorch框架实现,奈何自己太菜,只能去Github上找现成的YOLO v3代码,这个项目里面有详细的使用说明,很容易就上手了,非常感谢作者👍
网络模型有了,加上数据就可以炼丹了,这里用的数据集是SeaShips(7000),格式是VOC格式,代码需要的也是VOC格式,所以改好文件夹路径就可以直接上了。训练用的是Google Colab,白嫖虽爽,但是也有很多不方便,后面再单独整理一篇使用记录吧
二、openCV-python
openCV是很常用的图像处理库,支持python、C++等语言,这里用的是openCV-python
openCV中的dnn模块实现了基于Darknet框架的YOLO v3网络,也就是说,模块给你搭好了网络,只需要你自己填入网络参数就好了,这个网络参数就是训练模型得到的权重文件
训练模型时用的框架是Pytorch,而Pytorch框架下的权重文件是.pth格式,而openCV的dnn模块对于YOLO网络仅支持Darknet框架,于是乎,需要把.pth转为.weights格式(.weights是Darknet框架下的权重文件格式)
三、.pth转.weights
四 模型部署
模型部署可以参考这篇博客的正文,代码都有注释,很容易理解文章来源:https://www.toymoban.com/news/detail-434495.html
总结
上面主要讲了对于YOLO v3网络,如何将.pth格式的权重文件转成.weights,其他的像训练模型、部署模型有很多现成的资料供参考,这里就不重复了文章来源地址https://www.toymoban.com/news/detail-434495.html
到了这里,关于.pth转.weights/openCV-python + YOLO v3实现目标检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!