温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python代码如何实现AI目标检测技术

发布时间:2021-10-11 16:56:47 来源:亿速云 阅读:121 作者:柒染 栏目:大数据

这期内容当中小编将会给大家带来有关Python代码如何实现AI目标检测技术,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

只需10行Python代码,我们就能实现计算机视觉中目标检测。

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!

没错,用这寥寥10行代码,就能实现目前AI产品中应用广泛的目标检测技术。

看完了代码,下面就来解读这10行Python代码的由来和实现原理。

我们开头所示的10行代码实现,就是要用到ImageAI。

如何借助ImageAI轻松实现目标检测

使用ImageAI执行目标检测,你只需以下4步:

1.在电脑上安装Python

2.安装ImageAI及其环境依赖

3.下载目标检测模块文件

4.运行示例代码,就是我们展示的那10行

下面我们一步步详细讲解。

1)从Python官网下载和安装Python 3

python.org/

2)通过pip安装如下环境依赖

1.Tensorflow

<pre >pip install tensorflow
< /pre>

2.Numpy

<pre >pip install numpy
< /pre>

3.SciPy

<pre >pip install scipy
< /pre>

4.OpenCV

<pre >pip install opencv-python
< /pre>

5.Pillow

<pre >pip install pillow
< /pre>

6.Matplotlib

<pre >pip install matplotlib
< /pre>

7.H5py

<pre >pip install h6py
< /pre>

8.Keras

<pre >pip install keras
< /pre>

9.ImageAI

<pre >pip install
< /pre>

3)通过该 链接 下载RetinaNet 模型文件用于目标检测。

到了这里我们已经安装好了所有依赖,就可以准备写自己的首个目标检测代码了。创建一个Python文件,为其命名(比如FirstDetection.py),然后将如下代码写到文件中,再把RetinaNet模型文件以及你想检测的图像拷贝到包含该Python文件的文件夹里。

FirstDetection.py

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

<pre ></pre>

然后运行代码,等待控制台打印结果。等控制台打印出结果后,就可以打开FirstDetection.py所在的文件夹,你就会发现有新的图像保存在了里面。比如下面两张示例图像,以及执行目标检测后保存的两张新图像。

目标检测之前:

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

目标检测之后:

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

我们可以看到图像上显示了检测出的物体名称及概率。

解读10行代码

下面我们解释一下这10行代码的工作原理。

<pre >from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()
< /pre>

在上面3行代码中,我们在第一行导入了ImageAI目标检测类,在第二行导入Python os类,在第三行定义了一个变量,获取通往我们的Python文件、RetinaNet模型文件和图像所在文件夹的路径。

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

在上面5行代码中,我们在第一行定义我们的目标检测类,在第二行设定RetinaNet的模型类型,在第三行将模型路径设置为RetinaNet模型的路径,在第四行将模型加载到目标检测类,然后我们在第五行调用检测函数,并在输入和输出图像路径中进行解析。

<pre >for eachObject in detections:
print(eachObject["name"] + " : " + eachObject["percentage_probability"] )
< /pre>

在上面两行代码中,我们迭代了第一行中detector.detectObjectFromImage函数返回的所有结果,然后打印出第二行中模型对图像上每个物体的检测结果(名称和概率)。

ImageAI支持很多强大的目标检测自定义功能,其中一项就是能够提取在图像上检测到的每个物体的图像。只需将附加参数extract_detected_objects=True解析为detectObjectsFromImage函数,如下所示,目标检测类就会为图像物体创建一个文件夹,提取每张图像,将它们保存在新创建的文件夹中,并返回一个包含通过每张图像的路径的额外数组。

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

我们用前面的第一张图像作为例子,可以得到图像中检测到的各个物体的单独图像:

Python代码如何实现AI目标检测技术

用10行Python代码,实现AI目标检测技术!(Python是最好的语言)

ImageAI提供了很多功能,能够用于各类目标检测任务的自定义和生产部署(具体就不多介绍了)

诚然,单看这10行代码每一行,谈不上惊艳,也借助了不少库,但是仅用10行代码就能让我们轻松实现之前很麻烦的目标检测,还是能谈得上“给力”二字。

上述就是小编为大家分享的Python代码如何实现AI目标检测技术了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI