程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

ImageAI (二) 使用Python快速簡單實現物體檢測 Object Detection

編輯:Python

上一篇已經講解了ImageAI實現圖片預測的方法,現在再來講解一下ImageAI的第二個功能物體檢測。
ImageAI提供了非常方便和強大的方法來對圖像執行對象檢測並從圖像中提取每個對象。 ImageAI使用的模型是RetinaNet,並提供了已經訓練完成的模型文件。
同樣,僅需幾行代碼就能完成物體檢測的過程。
ImageAI github地址
准備工作以及ImageAI的安裝可以詳見上一篇 ImageAI (一)
使用版本 ImageAI-2.1.0


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"] , " : ", eachObject["box_points"] ) ##預測物體名:預測概率:物體兩點坐標(左上,右下)
print("--------------------------------")
print ("\ncost time:",end-start)

下面是github提供的圖片

我跑出來的結果

person : 76.33113265037537 : [463 139 512 221]
--------------------------------
person : 83.83048176765442 : [600 131 639 213]
--------------------------------
person : 96.08134031295776 : [534 102 579 225]
--------------------------------
person : 96.66982889175415 : [ 8 103 63 248]
--------------------------------
motorcycle : 71.07154726982117 : [273 180 346 306]
--------------------------------
dog : 94.58073377609253 : [398 314 444 433]
--------------------------------
car : 55.41401505470276 : [215 140 388 299]
--------------------------------
person : 86.19718551635742 : [154 145 255 393]
--------------------------------
cost time: 13.959604263305664

我自己隨便找的一張圖

結果

person : 61.145514249801636 : [175 580 202 650]
--------------------------------
person : 63.822001218795776 : [210 591 237 680]
--------------------------------
person : 93.19865703582764 : [314 592 345 688]
--------------------------------
person : 71.38553857803345 : [ 54 585 103 682]
--------------------------------
person : 80.48739433288574 : [272 594 309 692]
--------------------------------
motorcycle : 71.90784811973572 : [ 36 626 98 704]
--------------------------------
handbag : 55.64073324203491 : [818 654 876 764]
--------------------------------
person : 92.45884418487549 : [650 575 774 793]
--------------------------------
person : 83.37823152542114 : [787 597 880 796]
--------------------------------
person : 96.3289201259613 : [1096 586 1204 790]
--------------------------------
cost time: 15.170496702194214

完成!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved