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提供的图片
我跑出来的结果
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
我自己随便找的一张图
结果
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
完成!