牟曉東
人工智能HuskyLens攝像頭(俗稱“二哈”)具備多種物體識別及追蹤功能,將它連接到樹莓派上,再借助古德微機器人平臺進行“積木”編程,我們可以開發(fā)出功能豐富的智能應用。在此以“二哈”的人臉識別、顏色識別和標簽識別為例,分別開發(fā)“看臉唱歌機”、“盲人紅綠燈提醒器”和“超市自助收銀機”。
三個應用所使用的實驗器材及連接方法相同,需要配有古德微擴展板的樹莓派一套,人工智能“二哈”攝像頭一個,有源音箱一個,杜邦線若干。首先通過紅、黑、藍、綠四根杜邦線將“二哈”與古德微擴展板連接:一端接“二哈”的傳感器接口(標注有+、-、R和T),另一端接擴展板I2C的UP列(標注有VCC、GND、CLK和DATA);然后將有源音箱插入樹莓派的音頻輸出圓孔,插入電源線通電啟動樹莓派系統(tǒng)(如圖1)。
1.人臉識別——“看臉唱歌機”
實現對多位明星的人臉識別,根據識別顯示該明星的簡要信息并且播放其成名歌曲片段。
(1)素材準備
首先從網絡上分別搜索并下載張學友、劉德華、郭富城和黎明的照片備用。接著,下載并剪輯幾位歌手的成名曲片段MP3文件(長度約為7秒),通過“Windows遠程桌面連接”程序登錄進入樹莓派系統(tǒng),點擊“文件管理器”進入/home/pi/temp目錄,將處理好的MP3文件復制粘貼進去。
(2)“人臉識別”的訓練學習
首先,長按“二哈”的左上角圓形齒輪狀的功能按鍵,直到出現“人臉識別”項;接著,短按一下進入“學習多個”模式,將開關項設置為藍色有效狀態(tài),進行“保存并返回”操作;依次打開四張明星圖片,對準照片進行訓練學習,按一下右上角按鍵,“二哈”就將該人臉保存進自己的記憶庫(同時將它標注為“人臉:ID1”);然后根據屏幕提示再按一下學習按鍵,進入第二張人臉的學習模式,成功后會標注“人臉:ID2”(如圖2)。
(3)古德微機器人平臺“積木”編程
在瀏覽器中訪問古德微機器人網站(http://www.gdwrobot.cn/),進入“積木”編程區(qū)進行程序的編寫:拖放“智能硬件→HuskyLens攝像頭→HuskyLens攝像頭切換到‘人臉識別算法”模塊;接著建立一個“重復當‘真”的循環(huán)結構,再建立一個“如果”和三個“否則如果”的四分支選擇結構,判斷條件為“從結果中獲取ID‘1的‘方框是否在畫面中”,成立的話則輸出調試信息并且播放他的歌曲ZhangXueYou.mp3(即復制到樹莓派/home/pi/temp/目錄中的MP3音頻文件);再加一個等待7秒的模塊,作用是將歌曲播放完畢。其他三個分支結構與此一致,只須修改ID號、調試信息和音頻播放文件(如圖3)。
(4)測試“看臉唱歌機”
打開LOG顯示區(qū)后點擊“運行”按鈕,然后分別對照各個明星臉讓“二哈”識別,LOG顯示區(qū)會進行對應的提示信息顯示,同時音箱中也會“唱”他的歌曲。
2.顏色識別——“盲人紅綠燈提醒器”
實現對十字路口紅燈、綠燈等信號的實時檢測,并做出“紅燈等待”、“綠燈通行”的語音提醒。
(1)素材處理與訓練學習
首先到路口拍攝一段紅綠燈信號的視頻,導入視頻編輯軟件如AE中進行紅燈和綠燈的燈光均勻度微調,因為真實紅綠燈是由許多LED燈組合而成,光點間距較大,“二哈”識別時容易出錯——比如紅燈包含白光、紅光和黃光等。
與“人臉識別”類似,同樣需要操作“二哈”功能鍵和學習鍵來記憶紅燈和綠燈——紅燈被標注為“顏色:ID1”、綠燈被標注為“顏色:ID2”(如圖4)。
(2)古德微機器人平臺“積木”編程
建立“HuskyLens攝像頭切換到‘顏色識別算法”模塊;接著建立一個“重復當‘真”的循環(huán)結構,再建立一個二分支“如果…否則如果…執(zhí)行”,分別用來匹配紅燈和綠燈兩種識別結果,并控制輸出不同的調試信息和播放語音提醒(如圖5)。
(3)測試“盲人紅綠燈提醒器”
點擊“連接設備”,打開LOG顯示區(qū)后運行程序;讓“二哈”對準視頻中出現的紅燈和綠燈進行測試,LOG區(qū)會有信息輸出,同時音箱中也會進行“紅燈等待”、“綠燈通行”語音提醒。
3.標簽識別——“超市自助收銀機”
實現對多個商品標簽的識別,并將其價格計入“總價”,進行商品單價顯示和總價顯示及語音播報。
(1)素材處理與訓練學習
“二哈”的“標簽識別”是指“AprilTag視覺基準系統(tǒng)”,主要應用于AR、機器人和相機校準等領域,是一種降低了復雜度以滿足實時性要求的二維碼??梢允褂肕aixPy IDE軟件來自定義生成,然后插入Word中調節(jié)好大小,打印粘貼到商品上(如圖6)。
確?!岸钡摹皹撕炞R別”為“學習多個”模式,分別對四件示例商品進行識別學習;識別成功的商品會標注為“標簽:ID1”、“標簽:ID2”……
(2)古德微機器人平臺“積木”編程
建立一個“HuskyLens攝像頭切換到‘標簽識別算法”模塊;接著,建立五個變量:大寶蜜、蚊藥膏、藍牙音箱、安全刀架和總價,并分別為其賦值為對應商品的單價(總價的初始值為0);然后,建立一個“重復當‘真”的循環(huán)結構,再建立一個“如果…執(zhí)行…”和三個“否則如果…執(zhí)行…”的四分支選擇結構,分別用來匹配四個商品的標簽信息;在LOG顯示區(qū)輸出該商品的單價,并把它合計至總價中;最后,以語音和文字兩種方式輸出所購買的商品的總價,保存程序(如圖7)。
(3)測試“超市自助收銀機”
點擊“連接設備”,打開LOG顯示區(qū),運行程序;讓“二哈”分別對準四件商品進行掃描測試,可順序測試也可多次重復測試,LOG區(qū)都會有信息輸出,同時音箱中也會進行語音提醒。