您好,登录后才能下订单哦!
这期内容当中小编将会给大家带来有关Python代码如何实现AI目标检测技术,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
只需10行Python代码,我们就能实现计算机视觉中目标检测。
用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
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
<pre ></pre>
然后运行代码,等待控制台打印结果。等控制台打印出结果后,就可以打开FirstDetection.py所在的文件夹,你就会发现有新的图像保存在了里面。比如下面两张示例图像,以及执行目标检测后保存的两张新图像。
目标检测之前:
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
目标检测之后:
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
用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模型文件和图像所在文件夹的路径。
用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函数,如下所示,目标检测类就会为图像物体创建一个文件夹,提取每张图像,将它们保存在新创建的文件夹中,并返回一个包含通过每张图像的路径的额外数组。
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
我们用前面的第一张图像作为例子,可以得到图像中检测到的各个物体的单独图像:
用10行Python代码,实现AI目标检测技术!(Python是最好的语言)
ImageAI提供了很多功能,能够用于各类目标检测任务的自定义和生产部署(具体就不多介绍了)
诚然,单看这10行代码每一行,谈不上惊艳,也借助了不少库,但是仅用10行代码就能让我们轻松实现之前很麻烦的目标检测,还是能谈得上“给力”二字。
上述就是小编为大家分享的Python代码如何实现AI目标检测技术了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。