专栏名称: 深度学习与神经网络
关注深度学习教育,关注人工智能前沿科技
目录
相关文章推荐
芋道源码  ·  使用 Spring Cache ... ·  昨天  
芋道源码  ·  炫技Groovy!SpringBoot中的动 ... ·  2 天前  
芋道源码  ·  解析JSON的这 6 种方案,真香! ·  2 天前  
芋道源码  ·  四种 API 架构风格 ·  2 天前  
51好读  ›  专栏  ›  深度学习与神经网络

重磅:TensorFlow实现YOLOv3

深度学习与神经网络  · 公众号  ·  · 2018-04-11 20:44

正文

YOLO官网: YOLO: Real-Time Object Detection

keras-yolo3:https://github.com/qqwweee/keras-yolo3

论文链接: https://pjreddie.com/media/files/papers/YOLOv3.pdf

知乎话题: 如何评价YOLOv3: An Incremental Improvement?

Author:qqwweee


往期回顾

你的同龄人,正在抛弃你(科技版)

吴恩达对话GAN之父Ian Goodfellow

重磅:Caffe2与PyTorch强强联合



前戏


前些天,Amusi翻译了 YOLOv3论文 ,大家也好评如潮。而Amusi本人对YOLOv3也很感兴趣,于是配置了 Windows版的DarkNet ,已经跑出了C++版本的YOLOv3,速度要比Python版的快一些。 C++版本的DarkNet ,利用Visual Studio打开,实在很方便,可以直接阅读算法的源码(感觉可以搞事情了)。


当然这也不能满足我,我还配置了 PyTorch版的YOLOv3 ,最近在github上看见 基于TensorFlow和Keras复现的YOLOv3 ,简直太帅了(给大佬们打call)。


今天就重点向大家介绍 TensorFlow版本的YOLOv3安装和测试教程


环境

硬件

  • intel CORE i5

  • GTX 960m(2G显存)

  • 12G 内存


软件

  • TensorFlow 1.4

  • Keras

  • h5py

  • OpenCV3.x


注:大家不要被这配置所“吓”到,因为Amusi的十八线过气笔记本还是能打的,比如来测试跑跑。重点是 TensorFlow建议升级到1.4及以上 ,但不推荐最新的,因为可能还要安装CUDA9.0。 注意还要额外安装h5py和OpenCV3.x!


这里简单介绍一下安装h5py和OpenCV3.x的命令

1pip install h5py
2pip install opencv-contrib-python


注:其实安装OpenCV,使用pip install opencv-python即可,但Amusi超级喜欢使用pip install opencv-contrib-python,嘻嘻,多一个contrib,意义大有不同。感兴趣的童鞋,可以自行百度。


安装


1 下载 keras-yolo3库

首先,选择一个路径,打开你的cmd命令提示符(对于Windows)或者终端(Linux/Mac),并使用git命令下载keras-yolo3库:


1git clone https://github.com/qqwweee/keras-yolo3.git
2cd keras-yolo3





2 下载已训练好的权重yolov3.weights


大家可以上YOLO的官网上下载 yolov3.weights ,但可能受资源限制问题,下载速度会受限。由于该文件大概 236.MB ,所以贴心的Amusi已经将yolov3.weights上传到百度云上了。 如果你需要,可以在本公众号后台回复:yolov3.weights即可 。注意回复内容一定要准确哦,是yolov3.weights




下载好yolov3.weights,然后将此文件放在 path/keras-yolo3 路径下。



3 yolov3.weights格式 转换


刚才下载好的yolov3.weights并不是TensorFlow/Keras所支持的权重格式,因为 TensorFlow所支持格式是h5文件


所以这里需要将yolov3.weights进行格式转换,贴心的qqwweee已经在keras-yolo3中写好了转换脚本文件(convert)了,所以大家直接 打开你的cmd命令提示符(对于Windows)或者终端(Linux/Mac)输入下述命令即可:


1python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5


此时在path/keras-yolo3/model_data中就可以看到新生成的yolo.h5文件:




4 测试


1python yolo.py


此时 你的cmd命令提示符(对于Windows)或者终端(Linux/Mac)会提示“Input image filename:”,即需要输入待检测图像的路径。由于原作者并没有提供测试图像,所以Amusi拿了YOLOv3官方提供的测试图像:dog.jpg和person.jpg来测试。


此时输入dog.jpg,按下回车:



等待不到1s,就会见证奇迹!哇塞,这检测结果,很nice...



然后可以继续输入person.jpg,按下回车:


等待不到1s,又见证了奇迹!哇塞,这检测结果,很nice...




等等,你以为这样就结束了么?!

刚才是检测图像,那我们再试一下对视频进行目标检测。


Amusi这里偷点懒,直接使用电脑的摄像头来测试了


1






请到「今天看啥」查看全文