利用ImageAI实现实时视频/图像内物体识别

作者: _KevinZhang_ | 来源:发表于2019-03-11 19:30 被阅读17次

无图无真相,先上效果图:


请点开图片放大查看。

可以看到图片中的人物都识别出来了,包括左下角背对画面下半身被挡住的主持人,以及右下角部分黑乎乎只有剪影的2个人(其他两个实在太黑以及有台标干扰没识别出来)。
面对画面的几位大佬的领带也被识别出来(最左边那位的领带没被识别出来)。

原图片地址:http://cbsnews1.cbsistatic.com/hub/i/2016/02/14/4245c065-2c0d-47b3-8f4a-d4aa3b0923cb/021316-cbs-news-republican-debate-gop.jpg

整个实现基于ImageAI,项目地址:
https://github.com/OlafenwaMoses/ImageAI

按照步骤安装好各种模块(pip3不行就用pip):

cd ~
git clone https://github.com/OlafenwaMoses/ImageAI
cd ImageAI
pip3 install --upgrade tensorflow
pip3 install numpy
pip3 install scipy
pip3 install opencv-python
pip3 install matplotlib
pip3 install h5py
pip3 install keras

不过实现过程有点坑:

坑一:出现错误:“Python is not installed as a framework?”
解决方法:笔者用的是AnaConda3,Mac环境:
conda install python.app
然后用pythonw而不是python来运行

坑二:出现错误“...this TensorFlow binary was not compiled to use: AVX2 FMA”
解决方法:修改python代码
增加到程序开头的地方:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

坑三:yolo.h5 模型文件
这个文件在项目地址里面根本没有...#@$!#
解决办法:
在终端里敲入命令

cd ~
git clone https://github.com/qqwweee/keras-yolo3.git
cd keras-yolo3
wget https://pjreddie.com/media/files/yolov3.weights
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

然后把生成的yolo.h5文件挪到ImageAI项目的examples目录里

ImageAI项目的examples目录有许多例子,文章开头的图片就是用
image_object_detection.py 生成的
默认程序里会找examples目录里一个叫image3.jpg的图片,找到之后会生成image3new.jpg(也就是文章开头的图片)

有趣的是camera_feed_detection.py这个例子,可以实时抓取摄像头看到的东西,并且录制下来存成一个avi视频文件。注意运行的时候终端窗口只会显示Processing Frame : 1这样的信息,实际你的摄像头灯已经亮了,avi视频文件就生成在当前目录。
你可以对着镜头拿各种东西给它识别。按下Ctrl-C结束录制。
视频里会动态识别出来每件物品,加上框并且标上识别的结果以及概率,就像文章开头的图片那样。

快来试试吧

相关文章

  • 利用ImageAI实现实时视频/图像内物体识别

    无图无真相,先上效果图: 请点开图片放大查看。 可以看到图片中的人物都识别出来了,包括左下角背对画面下半身被挡住的...

  • 明景智能交通大数据系统

    明景智能交通大数据系统利用视频图像智能识别技术、大数据技术、分布式集群计算技术、实时搜索引擎技术等前沿科技,实现对...

  • 识别物体+路径生成

    流程 截取视频 图像处理识别物体二值化物体定位 经过erode/dilate后物体轮廓偏移了 生成路径路径中的坐标...

  • NX3225SA贴片24MHz晶振,智能电子产品“专属订制”

    视频安全监控系统是一种利用视频技术实时检测和监控强化区域,实时显示和记录实时图像的电子系统或网络。网络视频监控系统...

  • 简单图像识别

    图像识别是识别图像中物体的类别(它属于哪个类)的任务。图像识别通常被称为Classification、Catego...

  • C++车牌识别技术,实用干货分享 (内附源码)!

    车牌识别程序是利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。通过对图像的采集和处理,完...

  • [Mediapipe]bazel编译与aar文件生成

    为何我突然钟情于mediapipe?因为mediapipe综合了很多新进技术的方向,实时人脸识别,实时物体识别,实...

  • 物体识别技术长篇研究

    一、物体识别的发展史 1)物体识别的理解 物体识别是计算机视觉领域中的一项基础研究,它的任务是识别出图像中有什么物...

  • ImageNet数据集

    原始ImageNet包括三个任务:物体识别定位、物体检测、视频物体识别。 Downsampled ImageNet...

  • OpenCV 实时人脸检测

    目的 试验OpenCV的实时图像捕获 实时窗口内对每一帧的图片进行处理 识别视频窗口内的人脸,并用一个矩形画出来 ...

网友评论

    本文标题:利用ImageAI实现实时视频/图像内物体识别

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