這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Python代碼如何實現(xiàn)AI目標檢測技術(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):四川移動機房托管,成都服務(wù)器租用,四川移動機房托管,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。
只需10行Python代碼,我們就能實現(xiàn)計算機視覺中目標檢測。
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)!
沒錯,用這寥寥10行代碼,就能實現(xiàn)目前AI產(chǎn)品中應(yīng)用廣泛的目標檢測技術(shù)。
看完了代碼,下面就來解讀這10行Python代碼的由來和實現(xiàn)原理。
我們開頭所示的10行代碼實現(xiàn),就是要用到ImageAI。
如何借助ImageAI輕松實現(xiàn)目標檢測
使用ImageAI執(zhí)行目標檢測,你只需以下4步:
1.在電腦上安裝Python
2.安裝ImageAI及其環(huán)境依賴
3.下載目標檢測模塊文件
4.運行示例代碼,就是我們展示的那10行
下面我們一步步詳細講解。
1)從Python官網(wǎng)下載和安裝Python 3
python.org/
2)通過pip安裝如下環(huán)境依賴
1.Tensorflow
pip install tensorflow
< /pre>2.Numpy
pip install numpy
< /pre>3.SciPy
pip install scipy
< /pre>4.OpenCV
pip install opencv-python
< /pre>5.Pillow
pip install pillow
< /pre>6.Matplotlib
pip install matplotlib
< /pre>7.H5py
pip install h6py
< /pre>8.Keras
pip install keras
< /pre>9.ImageAI
pip install
< /pre>3)通過該 鏈接 下載RetinaNet 模型文件用于目標檢測。
到了這里我們已經(jīng)安裝好了所有依賴,就可以準備寫自己的首個目標檢測代碼了。創(chuàng)建一個Python文件,為其命名(比如FirstDetection.py),然后將如下代碼寫到文件中,再把RetinaNet模型文件以及你想檢測的圖像拷貝到包含該Python文件的文件夾里。
FirstDetection.py
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)?。≒ython是最好的語言)
然后運行代碼,等待控制臺打印結(jié)果。等控制臺打印出結(jié)果后,就可以打開FirstDetection.py所在的文件夾,你就會發(fā)現(xiàn)有新的圖像保存在了里面。比如下面兩張示例圖像,以及執(zhí)行目標檢測后保存的兩張新圖像。
目標檢測之前:
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)!(Python是最好的語言)
目標檢測之后:
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)?。≒ython是最好的語言)
我們可以看到圖像上顯示了檢測出的物體名稱及概率。
解讀10行代碼
下面我們解釋一下這10行代碼的工作原理。
from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()
< /pre>在上面3行代碼中,我們在第一行導(dǎo)入了ImageAI目標檢測類,在第二行導(dǎo)入Python os類,在第三行定義了一個變量,獲取通往我們的Python文件、RetinaNet模型文件和圖像所在文件夾的路徑。
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)?。≒ython是最好的語言)
在上面5行代碼中,我們在第一行定義我們的目標檢測類,在第二行設(shè)定RetinaNet的模型類型,在第三行將模型路徑設(shè)置為RetinaNet模型的路徑,在第四行將模型加載到目標檢測類,然后我們在第五行調(diào)用檢測函數(shù),并在輸入和輸出圖像路徑中進行解析。
for eachObject in detections:
print(eachObject["name"] + " : " + eachObject["percentage_probability"] )
< /pre>在上面兩行代碼中,我們迭代了第一行中detector.detectObjectFromImage函數(shù)返回的所有結(jié)果,然后打印出第二行中模型對圖像上每個物體的檢測結(jié)果(名稱和概率)。
ImageAI支持很多強大的目標檢測自定義功能,其中一項就是能夠提取在圖像上檢測到的每個物體的圖像。只需將附加參數(shù)extract_detected_objects=True解析為detectObjectsFromImage函數(shù),如下所示,目標檢測類就會為圖像物體創(chuàng)建一個文件夾,提取每張圖像,將它們保存在新創(chuàng)建的文件夾中,并返回一個包含通過每張圖像的路徑的額外數(shù)組。
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)?。≒ython是最好的語言)
我們用前面的第一張圖像作為例子,可以得到圖像中檢測到的各個物體的單獨圖像:
用10行Python代碼,實現(xiàn)AI目標檢測技術(shù)?。≒ython是最好的語言)
ImageAI提供了很多功能,能夠用于各類目標檢測任務(wù)的自定義和生產(chǎn)部署(具體就不多介紹了)
誠然,單看這10行代碼每一行,談不上驚艷,也借助了不少庫,但是僅用10行代碼就能讓我們輕松實現(xiàn)之前很麻煩的目標檢測,還是能談得上“給力”二字。
上述就是小編為大家分享的Python代碼如何實現(xiàn)AI目標檢測技術(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱:Python代碼如何實現(xiàn)AI目標檢測技術(shù)
文章位置:http://weahome.cn/article/iispsc.html