深度学习实践——三步轻松用YOLO实现目标识别

作者: Hongtao洪滔 | 来源:发表于2019-04-12 23:27 被阅读40次

上一篇文章介绍了YOLO和目标识别算法,大家是不是迫不及待跃跃欲试了。先不要着急,YOLO本身原理虽然简单,但是实现起来也不容易。YOLO原生是用C语言写的,放在无法直接用Python实现。

当然我们完全可以根据其原理搭建一个YOLO模型,但是对于初学者而言,完全没有必要再发明轮子嘛。github上的大神们已经用各种流行的框架实现了YOLO,今天我们就来介绍一个通过Keras实现YOLO的项目。通过这个项目,我们只需要三步,就能实现视频和图片的目标识别。

项目地址在这里

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

1. 官网下载YOLO模型参数

当然,你可以自己训练模型的参数,但是普通人恐怕没这个硬件条件,我们只是想体验一下YOLO的识别效果嘛,模型参数直接去YOLO官网下载就好了。

首先git clone 整个项目,不会git的朋友可以直接下载zip压缩包,当然打开终端cd到项目根目录,命令行一键可下载模型参数

wget https://pjreddie.com/media/files/yolov3.weights

2. 模型参数转换

注意模型参数权重和模型参数的配置文件一定要匹配,项目中已经有两个配置文件yolov3.cfg和yolov3-tiny.cfg,所以只需要下载对应的权重文件就可以了。YOLO官网也提供了配置文件和相应的参数权重。

运行项目文件下的convert.py完成参数转换,将模型转换成Keras的h5文件。

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

3. 模型使用

使用模型仅需要运行yolo_video.py这个文件就可以了。识别图片仅需要运行这一行命令

python yolo_video.py --image

终端会提示输入图片文件的filename

Input image filename:

将你要检测的图片文件放在项目文件夹下,输入文件名,目标识别就开始啦。

我们找一张图片试试效果吧

image

image source from unsplash by Chander Mohan

当然也可以对视频文件进行目标识别,由于我的笔记本运行起来比较慢,这里就不做演示了,yolo_video.py的使用说明如下

usage: yolo_video.py [-h] [--model MODEL] [--anchors ANCHORS]
                     [--classes CLASSES] [--gpu_num GPU_NUM] [--image]
                     [--input] [--output]

positional arguments:
  --input        Video input path
  --output       Video output path

optional arguments:
  -h, --help         show this help message and exit
  --model MODEL      path to model weight file, default model_data/yolo.h5
  --anchors ANCHORS  path to anchor definitions, default
                     model_data/yolo_anchors.txt
  --classes CLASSES  path to class definitions, default
                     model_data/coco_classes.txt
  --gpu_num GPU_NUM  Number of GPU to use, default 1
  --image            Image detection mode, will ignore all positional 

code from github with MIT License

尾巴

简单三步我们在自己的电脑上就实现了YOLO模型,感兴趣的朋友可以去项目地址下载并阅读源代码。


相关文章

AI学习笔记——精准识别You Only Look Once(YOLO)

Tensorflow入门——单层神经网络识别MNIST手写数字

Tensorflow入门——多层神经网络MNIST手写数字识别

AI学习笔记——Tensorflow中的Optimizer

Tensorflow入门——分类问题cross_entropy的选择

AI学习笔记——Tensorflow入门

Tensorflow入门——Keras简介和上手



同步到我的简书

https://www.jianshu.com/u/bd506afc6fc1

相关文章

网友评论

    本文标题:深度学习实践——三步轻松用YOLO实现目标识别

    本文链接:https://www.haomeiwen.com/subject/bgdkwqtx.html