欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ImageAI (二) 使用Python快速简单实现物体检测 Object Detection

程序员文章站 2024-03-14 08:47:40
...

上一篇已经讲解了ImageAI实现图片预测的方法,现在再来讲解一下ImageAI的第二个功能物体检测。
ImageAI提供了非常方便和强大的方法来对图像执行对象检测并从图像中提取每个对象。 ImageAI使用的模型是RetinaNet,并提供了已经训练完成的模型文件。
同样,仅需几行代码就能完成物体检测的过程。
ImageAI github地址
准备工作以及ImageAI的安装可以想见上一篇 ImageAI (一)


Object Detection
训练好的RetinaNet模型:RetinaNet

detection.py

from imageai.Detection import ObjectDetection
import os
import time
#计时
start = time.time()


execution_path = os.getcwd()

detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()

#载入已训练好的文件
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()

#将检测后的结果保存为新图片
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image3.jpg"), output_image_path=os.path.join(execution_path , "image3new.jpg"))

#结束计时
end = time.time()

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

print ("\ncost time:",end-start)

下面是github提供的图片
ImageAI (二) 使用Python快速简单实现物体检测 Object Detection

我跑出来的结果
ImageAI (二) 使用Python快速简单实现物体检测 Object Detection

person : 76.33113265037537
--------------------------------
person : 83.83047580718994
--------------------------------
person : 96.08134031295776
--------------------------------
person : 96.66983485221863
--------------------------------
motorcycle : 71.07154726982117
--------------------------------
dog : 94.58072781562805
--------------------------------
car : 55.41401505470276
--------------------------------
person : 86.19717955589294
--------------------------------

cost time: 38.75570845603943

我自己随便找的一张图
ImageAI (二) 使用Python快速简单实现物体检测 Object Detection
结果
ImageAI (二) 使用Python快速简单实现物体检测 Object Detection

person : 61.150193214416504
--------------------------------
person : 63.81882429122925
--------------------------------
person : 93.21706295013428
--------------------------------
person : 71.31592035293579
--------------------------------
person : 80.4848849773407
--------------------------------
motorcycle : 71.91004753112793
--------------------------------
handbag : 54.71147298812866
--------------------------------
person : 92.40439534187317
--------------------------------
person : 84.29038524627686
--------------------------------
person : 94.71709132194519
--------------------------------

cost time: 34.71502900123596

完成!