用騰訊優圖AI視覺模組做一個駕駛疲勞監測儀
道路千萬條,安全第一條,相信每個人都是牢記於心的,“喝酒不開車,開車不喝酒”其實不難,難的是防範始料未及的事件,疲倦就是眾多始料未及事件中,殺傷力穩居前排的,前一秒心裏還在想堅持堅持,下一秒可能就失去了意識。相信每個人都體會過,在瞌睡面前,我們是多麼無力,想着躺一會兒再起來,結果天都亮了,千萬不要在犯困的時候高估自己的毅力~
墨菲定律表明,只要一件事發生的概率大於零,給足夠長的時間,這件事就一定會發生。所以近年來高配版的豪車,應用了各種輔助駕駛的技術來應對這些情況,比如主動剎車系統、車道偏離預警、駕駛員監測系統(DMS)等等,這些高大上的技術中,有沒有哪一個我們可以DIY一下,給自己的愛車升個級呢?

真的有!近年來,人工智能技術已經發展到了超出想象的地步,以前我們覺得手寫識別、語音輸入、人臉識別就是很神奇的東西了,現在出現了一種臉部關鍵點定位的技術,能把五官輪廓都給精確的定位出來。每隻眼睛能通過9個座標點,標出眼瞼、瞳孔的位置,這簡直太適合用來監測犯困了!

我們知道,用人工智能進行分析,算法的計算量一般都很大,以前用樹莓派3B跑過人臉檢測,用OpenCV的Haar Cascades算法,要160多毫秒才能跑完一幀人臉檢測。如果用效果更好的深度神經網絡模型,比如通過NCNN加速框架跑MobileNet-SSD模型,則需要260多毫秒,再跑一個關鍵點定位模型估計還要幾十毫秒,整體幀率就只有3fps了。
噹噹噹,是時候請出這個神奇的模塊了,它內置了一顆AI加速芯片,單週期可以運行512次乘加運算,硬件支持卷積、池化、全連接等操作,還帶了兩顆手機攝像頭模組,直接能對拍到的圖像跑AI算法進行分析,通過UART輸出分析後的結果,非常有意思!
這就是我們隆重推出的騰訊優圖AI視覺模組VisionSeed!

目前VisionSeed模塊提供的算法有:人臉檢測、90點關鍵點定位、姿態角解算、人臉識別,還能夠把自己訓練的模型下載到模塊上的AI芯片中運行。
我們先通過騰訊提供的PC端配置工具,看看模塊上的AI算法輸出的信息:

[T1]
通過USB把VisionSeed連上電腦後,識別出來一個video0設備和ttyACM0設備,用配置工具打開ttyACM0,就能源源不斷的獲取到即時分析數據了,左下角馬上顯示出了我的臉部關鍵點,隨着我眨眼、搖頭、張嘴,這個虛擬的小人也跟着變化,數據可視化界面上,選擇“左眼開閉”,曲線就開始滾動起來了,我每次眨眼,曲線就出現一個向下的尖峯,如果閉眼,曲線就穩定在0.05以下的位置,非常靈敏!
我們要把這個模組裝到車上,當檢測到閉眼的時候輸出報警聲。因為AI芯片上不能運行程序,所以需要一個單片機,這次我們用10塊錢的STM32來運行報警的邏輯。
要怎麼在STM32上獲取到AI分析的結果呢?看了一下VisionSeed的文檔,中間金黃色的FPC軟排線裏有UART接口,我們只需要把左邊的那個接口板用個單片機替換掉,直接通過FPC座接到VisionSeed上,就能在STM32單片機上拿到結果了。

我們選擇STM32F103來運行報警邏輯,通過串口0連接VisionSeed,串口1用來控制MP3模塊發出報警聲,PC13連接一個狀態指示燈,原理圖還是很簡單的:

開始畫板,右側通過0.5mm間距的30pin連接器和VisionSeed相連;下方的Micro-USB接口供電,同時導出了VisionSeed的USB信號,可以方便調試;中間是STM32F103C8T6單片機;上方的4pin接口是ST-Link燒錄口;左側背面是一個3.5mm音頻接口,用來向音箱輸出報警聲;正面還疊加了一個串口控制的MP3播放模塊,佈局是相當緊湊了。


焊接元器件,推薦使用迴流焊工藝,做PCB的時候加30元做一個鋼網,就可以方便的手工印刷錫膏,把元器件放到焊盤上,送進烤箱,沒錯,家裏烤麪包的烤箱就可以!温度設定到250℃,看着錫膏完全融化後斷電,一個個完美的焊點就出現了:




開始調試STM32程序。VisionSeed提供了開源的C++、Python、js的SDK,提供數據解析,直接就能得到人臉框、90個關鍵點的座標。短短數十行代碼,我們就完成了對雙眼18個點的座標分析,進而判斷閉眼是不是超過了安全的時間:

通過ST-Link把程序下載到單片機中,然後把模組裝到方向盤後,接上5v供電和音箱,坐上駕駛座,閉上眼睛,噹噹噹——警鈴大作,開車再也不怕犯困啦!
VisionSeed不僅僅是個集成了攝像頭+AI芯片的模塊,AI算法才是效果的保證,它內置了騰訊優圖的算法,效果過硬。
現在通過VisionSeed人工智能視覺模塊,我們把AI能力開放出來,你我也能接觸到世界一流的騰訊優圖人工智能算法,甚至能應用在自己的DIY產品中。相信隨着AI能力的不斷開放,將會惠及更多的AI愛好者們。
此外,視覺模塊內還包括了人臉識別功能,只要通過附帶工具軟件管理數據庫,能夠即時離線識別庫中的身份,非常強大。
VisionSeed能做出很多有意思的東西,等你一起來探索哦!
