yolov3 Keras版本目标检测识别图像标注简单入门教程

之前已经看了通过CNN可以快速对人脸识别分类,但是在一张图片或照片里,如何快速定位到人脸,或者人,不是直接通过CNN就能实现,这次用yolov3的Keras版本来进行入门, 用示例模型,来验证下是否能识别到人,并打上标签。

文章目录

  • 了解yolov3
  • 安装yolov3的Keras版本
  • 进行测试

了解yolov3

yolo是一种简易快捷的目标检测算法,它可以对图像做识别和目标检测,因为比一般算法快速,特别是到了v3版本, 也可以对视频做实时识别。
yolov3 Keras版本目标检测识别图像标注简单入门教程_第1张图片
官网:https://pjreddie.com/darknet/yolo/
理论相关可以自行搜索。

安装yolov3的Keras版本

环境:Windows+Anaconda+Py3.6

  1. 打开conda,先创建一个用来测试的环境。在环境中先通过conda安装Keras。

  2. 然后到 https://github.com/qqwweee/keras-yolo3 下载一份源码
    下载后我这里放到了:
    E:\testproject\keras-yolo3

  3. 再下载官方已经训练过的示例模型: https://pjreddie.com/media/files/yolov3.weights
    下载后放入到keras-yolo3目录中(也就是E:\testproject\keras-yolo3)

  4. 打开conda,还是这个环境,conda路径切换到E:\testproject\keras-yolo3
    执行以下命令,也就是把模型转为TensorFlow能识别的模型yolo.h5:

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
  • 注:过程中如果出现缺少依赖包的,通过conda安装就可以。如果出现PIL缺少的话(ModuleNotFoundError: No module named ‘PIL’),在py3下不能直接通过conda安装, 要安装的是Pillow。

yolov3 Keras版本目标检测识别图像标注简单入门教程_第2张图片
最后告诉我们已经从Darknet weights转换为 Keras model 了,代表转成功了。

进行测试

还是在conda中,敲入命令:

python yolo_video.py --image

就会开始加载刚才的模型。

  • 注:过程中如果出现缺少依赖包的,通过conda安装就可以。

看到让我们输入图片名称:

yolov3 Keras版本目标检测识别图像标注简单入门教程_第3张图片
我找一张图片,放入到项目目录里(E:\testproject\keras-yolo3)。
yolov3 Keras版本目标检测识别图像标注简单入门教程_第4张图片

敲入图片文件名后,回车,过一会就会自动打开打标签后的图片:

yolov3 Keras版本目标检测识别图像标注简单入门教程_第5张图片
顺利检测并标记正确~

示例的模型里还能标记人以外的东西,你们可以自己尝试下, 也可以试下视频打标记。当然我们也可以自己训练模型,也就要用gpu来加速了,而不是像现在单纯利用cpu,在github也标明了使用方法,可以深入研究。
yolov3 Keras版本目标检测识别图像标注简单入门教程_第6张图片

你可能感兴趣的:(ML)