您好,登錄后才能下訂單哦!
這期內(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)檢測。
用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
用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)檢測之前:
用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)
用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)
目標(biāo)檢測之后:
用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)
用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模型文件和圖像所在文件夾的路徑。
用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ù)組。
用10行Python代碼,實(shí)現(xiàn)AI目標(biāo)檢測技術(shù)?。≒ython是最好的語言)
我們用前面的第一張圖像作為例子,可以得到圖像中檢測到的各個(gè)物體的單獨(dú)圖像:
用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è)資訊頻道。
免責(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)容。