【深度学习系列(四)】:基于tensorflow的YOLOV3实现 (1):YOLOV3初探

最近一直在研究目标检测相关方法。其中YOLOV3的综合性能目前来说工业运用比较广泛,所以,的好好研究研究。本系列是使用tensorflow简单的实现YOLOV3算法,但是麻雀虽小,五脏俱全啊,哈哈哈哈。

什么是YOLO?它是一种使用深卷积神经网络学习的特征来检测物体的目标检测器。官网中yolo是基于Darknet框架实现的,该框架是纯c实现,墙裂推荐去看看它的源码。实际运用中,比如嵌入式等机器上运行也是非常快的,性能也是相当优越。吹了这么多,总之就是这个框架值得深入研究。当然,如果你只想上手使用的话,还是直接去编译官方源码吧,没有任何难度。本文只是带你用tensorflow手撸YOLOV3,加深对该框架的理解吧。

如何训练YOLOV3?

Windows10+YOLOV3+VisualStudio2017最新版本超详细过程

深度学习目标检测之——YOLO-v3目标检测(windows端调用)

YOLO v3在Windows下的配置(无GPU)+opencv3.2.0+VS2015

哈哈,也许你已经编译好darknet版本的YOLOV3,是不是特别好奇这个框架为什么这么优秀,他到底是如何工作的,别着急,让我带你一探它的究竟。

1、环境要求

tensorflow 1.14.0

python 3.6

2、数据下载

代码下载https://github.com/kingqiuol/yolov3.git

预训练模型下载:https://pan.baidu.com/s/1mFcLkYdQfEJ88md05vAbHg,提取码:venl

模型下载https://pan.baidu.com/s/1k19b-HjDHo0AVqv6tzVdpA,提取码:fqg2

下载完成后,将yolov3.weights放在下载好的github文件夹下,将weights.h5放在model文件夹下。

【深度学习系列(四)】:基于tensorflow的YOLOV3实现 (1):YOLOV3初探

3、模型运行

进入到githib下载的文件夹下,执行检测:

python interface.py

【深度学习系列(四)】:基于tensorflow的YOLOV3实现 (1):YOLOV3初探

最终检测结果如下:

【深度学习系列(四)】:基于tensorflow的YOLOV3实现 (1):YOLOV3初探

由于我们的训练样本总共32张图片,这里只是演示性,没有特别考虑检测的精度,请忽略。。。

4、模型训练

当然,如果想自己训练得到weights.h5,进入到githib下载的文件夹下,执行训练:

python train.py

训练最终结果如下:

【深度学习系列(四)】:基于tensorflow的YOLOV3实现 (1):YOLOV3初探