偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何用10行代碼完成目標(biāo)檢測(cè)

開(kāi)發(fā) 前端 人工智能
人工智能的一個(gè)重要領(lǐng)域是計(jì)算機(jī)視覺(jué)。計(jì)算機(jī)視覺(jué)是計(jì)算機(jī)和軟件系統(tǒng)能夠識(shí)別和理解圖像和場(chǎng)景的科學(xué)。計(jì)算機(jī)視覺(jué)還包括圖像識(shí)別、目標(biāo)檢測(cè)、圖像生成、圖像超分辨率等多個(gè)方面。由于大量的實(shí)際用例,對(duì)象檢測(cè)可能是計(jì)算機(jī)視覺(jué)最深刻的方面。

導(dǎo)語(yǔ)

人工智能的一個(gè)重要領(lǐng)域是計(jì)算機(jī)視覺(jué)。計(jì)算機(jī)視覺(jué)是計(jì)算機(jī)和軟件系統(tǒng)能夠識(shí)別和理解圖像和場(chǎng)景的科學(xué)。計(jì)算機(jī)視覺(jué)還包括圖像識(shí)別、目標(biāo)檢測(cè)、圖像生成、圖像超分辨率等多個(gè)方面。由于大量的實(shí)際用例,對(duì)象檢測(cè)可能是計(jì)算機(jī)視覺(jué)最深刻的方面。

 

[[316589]]

目標(biāo)檢測(cè)是指計(jì)算機(jī)和軟件系統(tǒng)在圖像/場(chǎng)景中定位目標(biāo)并識(shí)別每個(gè)目標(biāo)的能力。目標(biāo)檢測(cè)已經(jīng)廣泛應(yīng)用于人臉檢測(cè)、車輛檢測(cè)、行人計(jì)數(shù)、網(wǎng)絡(luò)圖像、安全系統(tǒng)和無(wú)人駕駛汽車。在許多領(lǐng)域的實(shí)踐中,對(duì)象檢測(cè)也有許多方法可以使用。像其他的計(jì)算機(jī)技術(shù)一樣,對(duì)象檢測(cè)的廣泛的創(chuàng)造性和驚人的用途肯定會(huì)來(lái)自計(jì)算機(jī)程序員和軟件開(kāi)發(fā)人員的努力。

這次要介紹的一個(gè)叫做ImageAI的項(xiàng)目,它一個(gè)python庫(kù),讓程序員和軟件開(kāi)發(fā)人員只需幾行代碼就可以輕松地將最先進(jìn)的計(jì)算機(jī)視覺(jué)技術(shù)集成到他們現(xiàn)有的和新的應(yīng)用程序中。

ImageAI安裝工作

要使用ImageAI執(zhí)行對(duì)象檢測(cè),您需要做的就是:

  1. 在計(jì)算機(jī)系統(tǒng)上安裝Python
  2. 安裝ImageAI及其依賴項(xiàng)
  3. 下載對(duì)象檢測(cè)模型文件
  4. 運(yùn)行示例代碼(只有10行)

那么我們現(xiàn)在開(kāi)始:

  • 從官方Python語(yǔ)言網(wǎng)站下載并安裝Python 3。
  • 通過(guò)pip安裝:TensorFlow,OpenCV, Keras, ImageAI

 

  1. pip3 install tensorflow 
  2. pip3 install opencv-python 
  3. pip3 install keras 
  4. pip3 install imageai --upgrade 

3)通過(guò)此文章中的鏈接下載用于對(duì)象檢測(cè)的RetinaNet模型文件:

https://towardsdatascience.com/object-detection-with-10-lines-of-code-d6cb4d86f606

運(yùn)行程序

太好了。我們現(xiàn)在已經(jīng)安裝了依賴項(xiàng),可以編寫第一個(gè)對(duì)象檢測(cè)代碼了。創(chuàng)建一個(gè)Python文件并給它起一個(gè)名字(例如,F(xiàn)irstDetection.py),然后將下面的代碼寫進(jìn)去。將要檢測(cè)的RetinaNet模型文件圖像復(fù)制到包含python文件的文件夾中。

 

  1. from imageai.Detection import ObjectDetection  
  2. import os 
  3.  execution_path =os.getcwd()  
  4. detector = ObjectDetection()  
  5. detector.setModelTypeAsRetinaNet()  
  6. detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))  
  7. detector.loadModel()  
  8. detections = detector.detectObjectsFromImage( input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg")) 
  9.  for eachObject in detections:  
  10. print(eachObject["name"] , " : " ,  
  11. eachObject["percentage_probability"] ) 

需要注意的是,如果你在運(yùn)行遇到這個(gè)錯(cuò)誤:

  1. ValueError: Unable to import backend : theano python mymodel.py 

那么你可以嘗試:

  1. import osos.environ['KERAS_BACKEND'] = 'tensorflow'from  
  2. imageai.Detection import ObjectDetection 

然后運(yùn)行代碼并等待結(jié)果打印在控制臺(tái)中。一旦結(jié)果打印到控制臺(tái)中,轉(zhuǎn)到您的FirstDetection.py所在的文件夾,您將發(fā)現(xiàn)保存了一個(gè)新圖像??纯聪旅娴膬蓚€(gè)圖像樣本和檢測(cè)后保存的新圖像。

檢測(cè)前:

 

[[316590]]

檢測(cè)后:

 

如何用10行代碼完成目標(biāo)檢測(cè)

數(shù)據(jù)結(jié)果

我們可以看到程序會(huì)打印輸出一些各個(gè)物體的概率數(shù)據(jù):

  • person : 55.8402955532074
  • person : 53.21805477142334
  • person : 69.25139427185059
  • person : 76.41745209693909
  • bicycle : 80.30363917350769
  • person : 83.58567953109741
  • person : 89.06581997871399
  • truck : 63.10953497886658
  • person : 69.82483863830566
  • person : 77.11606621742249
  • bus : 98.00949096679688
  • truck : 84.02870297431946
  • car : 71.98476791381836

可以看出來(lái)程序可以對(duì)圖片中的以下目標(biāo)進(jìn)行檢測(cè):

人,自行車,卡車,汽車,公交車。

大家可以直接將自己希望檢測(cè)的照片放到程序里面運(yùn)行看看效果。

原理解釋

現(xiàn)在讓我們解釋一下10行代碼是如何工作的。

  1. from imageai.Detection import ObjectDetectionimport osexecution_path  
  2. = os.getcwd() 

在上面的3行代碼中,我們?cè)诘谝恍袑?dǎo)入了ImageAI對(duì)象檢測(cè)類,在第二行導(dǎo)入了python os類,并定義了一個(gè)變量來(lái)保存python文件、RetinaNet模型文件和圖像所在的文件夾的路徑。

  1. detector = ObjectDetection()detector.setModelTypeAsRetinaNet()detector.setModelP 
  2. ath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))detector.loadModel()detections =  
  3. detector.detectObjectsFromImage(input_image=os.path.join(execution_pa 
  4. th , "image.jpg"), output_image_path=os.path.join(execution_path ,  
  5. "imagenew.jpg")) 

在上面的代碼中,我們定義對(duì)象檢測(cè)類在第一線,將模型類型設(shè)置為RetinaNet在第二行,設(shè)置模型路徑的路徑在第三行RetinaNet模型,該模型加載到對(duì)象檢測(cè)類在第四行,然后我們稱為檢測(cè)函數(shù),解析輸入圖像的路徑和輸出圖像路徑在第五行。

  1. for eachObject in detections:    print(eachObject["name"] , " : "      
  2. , eachObject["percentage_probability"] ) 

在上面的代碼中,我們?cè)诘谝恍械薲etector.detectObjectsFromImage函數(shù)返回的所有結(jié)果,然后在第二行打印出圖像中檢測(cè)到的每個(gè)對(duì)象的模型名稱和百分比概率。

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2015-08-10 11:09:09

Python代碼Python

2017-05-31 14:55:19

2018-06-19 08:35:51

情感分析數(shù)據(jù)集代碼

2010-07-26 17:36:44

SQL Server數(shù)

2014-02-12 13:43:50

代碼并行任務(wù)

2018-02-08 16:45:22

前端JS粘貼板

2020-07-20 09:20:48

代碼geventPython

2024-09-23 10:00:00

代碼Python

2024-01-07 16:56:59

Python人工智能神經(jīng)網(wǎng)絡(luò)

2017-10-17 13:30:32

Python人臉識(shí)別

2020-04-10 12:25:28

Python爬蟲(chóng)代碼

2017-04-13 19:20:18

Python代碼并行任務(wù)

2018-01-23 09:17:22

Python人臉識(shí)別

2017-06-29 11:11:17

2019-12-03 08:29:39

代碼調(diào)優(yōu)網(wǎng)絡(luò)

2022-10-28 10:18:53

代碼績(jī)效Java

2017-03-06 15:01:38

Python代碼詞云

2021-08-08 08:08:20

木馬無(wú)文件Cobalt Stri

2018-05-17 10:05:24

運(yùn)行iPadPython

2024-08-01 09:00:00

目標(biāo)檢測(cè)端到端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)