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

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


前言:

今天为大家带来的内容是,用10行Python代码,实现AI目标检测技术!(Python是最好的语言),本文具有不错的参考意义,希望能够帮助到你!

提示:部分代码用图片方式呈现出来,方便观看及收藏,喜欢不忘关注点赞不迷路哦!

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

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

 

没错,用这寥寥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

pip install tensorflow

2.Numpy

pip install numpy 

3.SciPy

pip install scipy 

4.OpenCV

pip install opencv-python

5.Pillow

pip install pillow

6.Matplotlib

pip install matplotlib 

7.H5py

pip install h5py

8.Keras

pip install keras

9.ImageAI

pip install

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

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

FirstDetection.py

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

 

小编再这里说句:我是一名python开发工程师,最近闲得无聊,整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,面试宝典,面试宝典,面试宝典。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

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

目标检测之前:

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

 

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

 

 

目标检测之后:

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

 

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

 

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

解读10行代码

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

from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()

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

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

 

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

for eachObject in detections:
print(eachObject["name"] + " : " + eachObject["percentage_probability"] )

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

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

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

 

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

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

 

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

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

以上就是本文的全部内容啦!

最后,小编想说一句话:我是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以加群:877562786

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45550143/article/details/101611308
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-18 20:44:28
  • 阅读 ( 742 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢