溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

發(fā)布時(shí)間:2021-10-11 16:56:47 來源:億速云 閱讀:141 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

只需10行Python代碼,我們就能實(shí)現(xiàn)計(jì)算機(jī)視覺中目標(biāo)檢測。

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)!

沒錯(cuò),用這寥寥10行代碼,就能實(shí)現(xiàn)目前AI產(chǎn)品中應(yīng)用廣泛的目標(biāo)檢測技術(shù)。

看完了代碼,下面就來解讀這10行Python代碼的由來和實(shí)現(xiàn)原理。

我們開頭所示的10行代碼實(shí)現(xiàn),就是要用到ImageAI。

如何借助ImageAI輕松實(shí)現(xiàn)目標(biāo)檢測

使用ImageAI執(zhí)行目標(biāo)檢測,你只需以下4步:

1.在電腦上安裝Python

2.安裝ImageAI及其環(huán)境依賴

3.下載目標(biāo)檢測模塊文件

4.運(yùn)行示例代碼,就是我們展示的那10行

下面我們一步步詳細(xì)講解。

1)從Python官網(wǎng)下載和安裝Python 3

python.org/

2)通過pip安裝如下環(huán)境依賴

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 模型文件用于目標(biāo)檢測。

到了這里我們已經(jīng)安裝好了所有依賴,就可以準(zhǔn)備寫自己的首個(gè)目標(biāo)檢測代碼了。創(chuàng)建一個(gè)Python文件,為其命名(比如FirstDetection.py),然后將如下代碼寫到文件中,再把RetinaNet模型文件以及你想檢測的圖像拷貝到包含該P(yáng)ython文件的文件夾里。

FirstDetection.py

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

<pre ></pre>

然后運(yùn)行代碼,等待控制臺打印結(jié)果。等控制臺打印出結(jié)果后,就可以打開FirstDetection.py所在的文件夾,你就會(huì)發(fā)現(xiàn)有新的圖像保存在了里面。比如下面兩張示例圖像,以及執(zhí)行目標(biāo)檢測后保存的兩張新圖像。

目標(biāo)檢測之前:

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

目標(biāo)檢測之后:

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

我們可以看到圖像上顯示了檢測出的物體名稱及概率。

解讀10行代碼

下面我們解釋一下這10行代碼的工作原理。

<pre >from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()
< /pre>

在上面3行代碼中,我們在第一行導(dǎo)入了ImageAI目標(biāo)檢測類,在第二行導(dǎo)入Python os類,在第三行定義了一個(gè)變量,獲取通往我們的Python文件、RetinaNet模型文件和圖像所在文件夾的路徑。

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

在上面5行代碼中,我們在第一行定義我們的目標(biāo)檢測類,在第二行設(shè)定RetinaNet的模型類型,在第三行將模型路徑設(shè)置為RetinaNet模型的路徑,在第四行將模型加載到目標(biāo)檢測類,然后我們在第五行調(diào)用檢測函數(shù),并在輸入和輸出圖像路徑中進(jìn)行解析。

<pre >for eachObject in detections:
print(eachObject["name"] + " : " + eachObject["percentage_probability"] )
< /pre>

在上面兩行代碼中,我們迭代了第一行中detector.detectObjectFromImage函數(shù)返回的所有結(jié)果,然后打印出第二行中模型對圖像上每個(gè)物體的檢測結(jié)果(名稱和概率)。

ImageAI支持很多強(qiáng)大的目標(biāo)檢測自定義功能,其中一項(xiàng)就是能夠提取在圖像上檢測到的每個(gè)物體的圖像。只需將附加參數(shù)extract_detected_objects=True解析為detectObjectsFromImage函數(shù),如下所示,目標(biāo)檢測類就會(huì)為圖像物體創(chuàng)建一個(gè)文件夾,提取每張圖像,將它們保存在新創(chuàng)建的文件夾中,并返回一個(gè)包含通過每張圖像的路徑的額外數(shù)組。

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)

我們用前面的第一張圖像作為例子,可以得到圖像中檢測到的各個(gè)物體的單獨(dú)圖像:

Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)

用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)!(Python是最好的語言)

ImageAI提供了很多功能,能夠用于各類目標(biāo)檢測任務(wù)的自定義和生產(chǎn)部署(具體就不多介紹了)

誠然,單看這10行代碼每一行,談不上驚艷,也借助了不少庫,但是僅用10行代碼就能讓我們輕松實(shí)現(xiàn)之前很麻煩的目標(biāo)檢測,還是能談得上“給力”二字。

上述就是小編為大家分享的Python代碼如何實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI