基于OpenCV的視障人士實時目標(biāo)檢測
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
計算機視覺領(lǐng)域一直是一個活躍的研究領(lǐng)域,在本文中,我們讓設(shè)備實時與其應(yīng)用程序(對象檢測)相結(jié)合并運行。

設(shè)備:程序?qū)⒃谄渖线\行,由于該設(shè)備將安裝在手杖上,并且可以實時工作,因此可以使用智能手機或 Raspberry-Pi。在本文實現(xiàn)中,使用了Raspberry-Pi 4。
相機:相機將用于打開圖像流(視頻),并處理幀以識別對象。在本文中,使用了 Raspberry-Pi 4攝像頭。
距離傳感器:紅外或超聲波傳感器可用于測量距離。在本文中,使用了超聲波傳感器。
反饋組件:可以使用各種反饋機制,例如使用耳機或振動電機的文本到語音。在該實施方式中,使用振動電機。
為了開發(fā)這個項目,使用了Python編程語言和OpenCV庫。OpenCV 是一個開源的編程函數(shù)庫,主要針對實時計算機視覺,可以按照此鏈接中提到的步驟將 OpenCV 安裝到 Raspberry-Pi 上。使用線程,其中代碼的不同部分可以同時運行,這允許距離傳感器在對象檢測工作時工作。
由于項目設(shè)備的處理能力有限,我們需要輕量級的對象檢測模型才能實時檢測。可用的輕型模型有TinyYOLO和SSD MobileNet。在本文中,我們使用 SSD MobileNet。
該模型獲取每一幀并嘗試對該幀上的對象進(jìn)行分類,它最多可以對 100 個對象進(jìn)行分類,并返回對象名稱以及模型對其分類的置信度。

為了利用模型返回的信息,機器不斷測量用戶的危險等級,這是通過劃分三個危險等級(高、中、低)來完成的,并根據(jù)檢測到的物體,可以得出危險等級改變。例如,如果檢測到汽車,則危險級別高于檢測到手機。此外,危險等級可以根據(jù)距離而變化。例如,如果傳感器檢測到物體在 1 米以內(nèi),則會導(dǎo)致更高的危險級別。
本文使用了上面提到的最新的光物體檢測模型,這些模型速度快,精度合理,隨著計算機視覺領(lǐng)域的快速發(fā)展和研究,模型與使用的模型一樣快(甚至更快),精度更高希望出現(xiàn)。使用這些新模型將改進(jìn)項目實施。此外,雖然計算能力可以產(chǎn)生好的結(jié)果,但更大的計算能力會帶來更流暢的體驗和更好的相機幀率。
可以開發(fā)移動應(yīng)用程序以與機器一起使用,這可以向用戶(或用戶的監(jiān)護(hù)人)提供有關(guān)設(shè)備的信息,例如電池健康狀況,并允許進(jìn)一步的功能。反饋機制可以改為無線方式,比如藍(lán)牙控制的無線頻段,或者其他任何合理的想法。此外,為實現(xiàn)而編寫的代碼可以更高效,并且可以進(jìn)行更好的線程化實現(xiàn)。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

