作者:黃明明
英特爾邊緣計算創(chuàng)新大使
文章介紹
之前寫了很多關(guān)于Java 在OpenVINO 中的引用,有目標檢測、道路分割、模型加速等,但雖然寫了這么多,也似乎沒有過多提及到一些實際生活上的案例。都說創(chuàng)新源于生活,于是乎就想做一些有意思的東西,想了想,還真有一個案例似乎可以做出來。我們在平常長途回家,大多數(shù)多會上高速,但高速一般在節(jié)假日都會特別堵。所以這時候走應(yīng)急車道的車還真不少,每每看到這些不排隊的車主,真恨的有些牙癢,于是想結(jié)合OpenVINO 來實現(xiàn)一個類似于應(yīng)急車道識別違法的案例,由于這篇文章沒有代碼部分,所以文章只講述大致的思路,以及最終結(jié)果展示。
總體構(gòu)思
算力平臺:為整體的想法提供算力和硬件支撐
識別模型:通過識別模型能夠識別應(yīng)急車道、車輛、車牌
舉報系統(tǒng):通過篩選出來的違規(guī)圖片,進行自動上傳。
算力平臺
一開始打算用樹莓派去做,后面考慮到樹莓派這東西現(xiàn)在溢價嚴重得很,基本上都按傳家寶的價格買。故使用研揚科技針對邊緣 AI 行業(yè)開發(fā)者推出的『哪吒』(Nezha)開發(fā)套件,以信用卡大?。?5 x 56mm)的開發(fā)板-『哪吒』(Nezha)為核心,『哪吒』采用 Intel N97 處理器(Alder Lake-N),最大睿頻 3.6GHz,Intel UHD Graphics 內(nèi)核GPU,可實現(xiàn)高分辨率顯示;板載 LPDDR5 內(nèi)存、eMMC 存儲及 TPM 2.0,配備 GPIO 接口,支持 Windows 和 Linux 操作系統(tǒng),這些功能和無風扇散熱方式相結(jié)合,為各種應(yīng)用程序構(gòu)建高效的解決方案,專為入門級人工智能應(yīng)用和邊緣智能設(shè)備而設(shè)計。英特爾開發(fā)套件能完美勝人工智能學習、開發(fā)、實訓、應(yīng)用等不同應(yīng)用場景。適用于如自動化、物聯(lián)網(wǎng)網(wǎng)關(guān)、數(shù)字標牌和機器人等應(yīng)用。售價 RMB 999起, 『哪吒』開發(fā)套件Nezha intel x86開發(fā)板板載Alder N97 可Win10/Ubuntu N97 4G+32G。
應(yīng)急車道識別
解決算力平臺之后,我們就需要對模型的選型了,畢竟需要識別車道,這個才是關(guān)鍵。一開始想著實現(xiàn)車道識別可以使用最基礎(chǔ)的OpenCV來實現(xiàn),但是發(fā)現(xiàn)網(wǎng)上的資料和代碼太過紊亂,且代碼量也過于龐大,需要調(diào)節(jié)的參數(shù)五花八門,需要優(yōu)化和移植的成本也不是一丁點。所以思考再三,在條路似乎不太符合快速偷懶實現(xiàn)的宗旨。于是打算基于之前road-segmentationOpenVINOOpenVINO-adas-0001模型。road-segmentation-adas-0001模型是使用了Open Model Zoo的預訓練的道路場景分割模型。該模型識別四個類別:背景、道路、路緣和標記。而對于應(yīng)急車道而言,我們只需要將車道提取出來。
如何識別四個類別:背景、道路、路緣和標記等操作可以看之前的文章:《英特爾開發(fā)套件在Java環(huán)境實現(xiàn)ADAS道路識別演示 | 開發(fā)者實戰(zhàn)》
那么在高速上面,一般是兩車道、三車道、四車道,而最右邊則是應(yīng)急車道,而絕大部分的車都會在正常車道中行駛,就如下圖:
所以我們可以通過OpenVINO 的road-segmentation-adas-0001 模型將所有道路進行識別。
在通過模型運算之后,我們標記出來的道路是這樣的,其他道路線我們用黃色表示,應(yīng)急車道線我們用紅色表示,這樣我們就完成了最基本的需求。
車輛提取
同樣,對于車輛識別和提取,我們也可以通過OpenCV來完成,也可以通過OpenVINO notebooks 中的教程(https://docs.openvino.ai/2024/notebooks/218-vehicle-detection-and-recognition-with-output.html)來實現(xiàn)。
最后效果
我們現(xiàn)在拿到了車道信息和車輛信息,這時候我們只需要通過運算,就可以知道車輛是否走應(yīng)急車道,下面是效果圖。
結(jié)語
當然實際上的舉報還是比較困難的,之前是想抓取舉報平臺的數(shù)據(jù)然后直接舉報,但實際上比較嚴格,比如需要前后兩張照片、照片需要位置信息,需要手機驗證等,雖然這些都不是技術(shù)難點,但成本增加了,這需要兩臺手機一前一后拍攝,然后上傳,效果圖如下:
所以目前只做了車輛在應(yīng)急車道的識別、車牌提取、車輛提取等工作,這些工作均通過Java 平臺結(jié)合OpenVINO -Java-API 實現(xiàn),倉庫地址//github.com/Hmm466/OpenVINO-Java-API
后續(xù)筆者將結(jié)合OpenVINO -Java-API 實現(xiàn)更多案例,同時也請大家加入到項目中來,共同促進Java在AI領(lǐng)域的應(yīng)用。
除此之外,為了方便大家了解并快速掌握 OpenVINO 的使用,我們還提供了一系列開源的 Jupyter notebook demo。
運行這些 notebook,就能快速了解在不同場景下如何利用 OpenVINO 實現(xiàn)一系列、包括計算機視覺、語音及自然語言處理任務(wù)。
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5087瀏覽量
97785 -
嵌入式開發(fā)板
+關(guān)注
關(guān)注
5文章
83瀏覽量
18773 -
智慧交通
+關(guān)注
關(guān)注
5文章
710瀏覽量
26945 -
OpenVINO
+關(guān)注
關(guān)注
0文章
94瀏覽量
213
發(fā)布評論請先 登錄
相關(guān)推薦
評論