用ImageAI将普通视频转换为带目标检测的视频

3 篇文章 0 订阅
1 篇文章 0 订阅

之前我发表过一篇博客,是使用opencv将普通视频转为带人脸检测效果的视频

https://blog.csdn.net/luohualiushui1/article/details/86661501

现在选用一个开源项目ImageAI将普通视频转换为带目标检测的视频,目标检测包括人形检测和一些普通的物品检测。也就是说,我们会把一个普通的视频转换为一个里面的人形和物品画上框加上标注的视频。

首先大家了解一下ImageAI开源项目https://github.com/OlafenwaMoses/ImageAI

它的说明文档https://imageai-cn.readthedocs.io/zh_CN/latest/ImageAI_Object_Detection.html

该开源项目基于tensorflow,它里面使用了好几种目标检测的模型都是源于tensorflow提供的训练模型。

例如:RetinaNet, YOLOv3 和 TinyYOLOv3

现在开始正题

第一步在ubuntu上搭建相关环境,按照ImageAI项目的指引,给python安装依赖,如下:

pip3 install --upgrade tensorflow 
pip3 install numpy 
pip3 install scipy 
pip3 install opencv-python 
pip3 install pillow 
pip3 install matplotlib 
pip3 install h5py 
pip3 install keras 

第二步安装ImageAI

pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.0.2-py3-none-any.whl

第三步在PyCharm上新建工程引入ImageAI。

第四步ImageAI对视频处理封装的比较好,只需要如下处理即可:

from imageai.Detection import VideoObjectDetection
import os

execution_path = os.getcwd()

detector = VideoObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( os.path.join(execution_path, "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()

video_path = detector.detectObjectsFromVideo(input_file_path="/usr/local/video/229728.mp4", output_file_path="/usr/local/video/229728_p", frames_per_second=20, log_progress=True)
print(video_path)

运行起来相当花时间,资源消耗也不低,在长时间的运行之后才输出处理后的视频

效果如下图:

ok生成完毕,但是大家可以发现检测效果还好,但生成的视频色泽相当于原视频发生了变化,人脸部偏蓝。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边草随风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值