当一副图像放在我们面前时,
依赖于我们强大的大脑,几乎可以立即识别出其中包含的物体。而机器却需要花费大量时间和训练数据来识别这些物体。但随着硬件和深度学习的进步,这件事变得简单了。
以下面的图像为例,机器现在能够以令人难以置信的准确率识别图像中的不同物体。
物体检测在各种不同的领域得到了迅速的采用。具体来说,它可以帮助自动驾驶汽车安全地穿过人群、检测零件质量、人脸检测等等。
那么,什么是目标检测呢?
比如,我们需要给自动驾驶汽车做一个行人检测系统,假如此时汽车捕获的图像如下图所示,
图像显示我们的汽车正在靠近一个广场,一部分人正在车前过马路。由于交通标志可能不是那么清晰,汽车的行人检测系统此时应该准确识别人行走的位置,以便我们的汽车可以避开他们。
那么汽车系统怎么做以确认人的位置呢?它可以在人的周围创建一个边界框,以便系统确定人在图像中位置,然后再相应的决定怎么走,避免意外发生。
我们做目标检测的目的有两个:
识别图像中存在的所有对象及其位置
过滤出需要关注的对象(比如,突然出现的小车)
本文我们将使用ImageAI库(https://github.com/OlafenwaMoses/ImageAI)实现目标检测。
为了使用ImageAI做目标检测,我们做一些准备工作:
安装Python
安装ImageAI及其相关依赖
下载目标检测模型文件
写代码
1
安装Python
直接去https://www.python.org/,下载Python 3安装即可。
2
安装ImageAI及其相关依赖
使用pip安装以下相关依赖:
3
下载目标检测模型文件
通过 https://github.com/OlafenwaMoses/ImageAI/releases/download/1.0/resnet50_coco_best_v2.0.1.h5 下载目标检测模型文件。
将上述准备工作完成后,我们就可以着手写代码啦!为了方便起见,我们可以创建一个名为的文件并把它和模型文件放在一个目录中。
输入图像
输出图像
打印输出内容:
当然,我们也可以对视频进行目标检测!
输入视频
输出视频
领取专属 10元无门槛券
私享最新 技术干货