讓現實世界的情感為人工智能所用(一)
發布時間:2019-12-11 來源:Michael Parks 責任編輯:wenwei
【導讀】guoqushushiwannianlai,rennaoyizhikanchengdiqiushangzuiqiangdadejisuanji。womendedanaoshiwuyulunbidejinhuajiezuo,tabujinjuyouluojihetuilinengli,gengjuyouchuangzaoliheqinggan。shizhirujin,kexuejiayiranrezhongyurennaodeshengwuxueyanjiu,ergongchengshizeshizhongzhiliyucaiyongguidianziheruanjianjishulaifukerennaodegongneng。
深度學習(DL)是一種機器學習(ML)技術。作為一項新興的人工智能(AI)技術,深度學習在第二代英特爾NCS(NCS2)中居於核心地位。深度神經網絡依靠ML算(suan)法(fa)和(he)樣(yang)本(ben)訓(xun)練(lian)數(shu)據(ju)來(lai)生(sheng)成(cheng)數(shu)學(xue)模(mo)型(xing)。要(yao)生(sheng)成(cheng)經(jing)過(guo)訓(xun)練(lian)的(de)模(mo)型(xing),需(xu)要(yao)非(fei)常(chang)大(da)量(liang)的(de)計(ji)算(suan)工(gong)作(zuo),隻(zhi)有(you)專(zhuan)用(yong)於(yu)重(zhong)度(du)計(ji)算(suan)的(de)硬(ying)件(jian)才(cai)能(neng)勝(sheng)任(ren),但(dan)訓(xun)練(lian)完(wan)成(cheng)後(hou)的(de)模(mo)型(xing)卻(que)可(ke)以(yi)運(yun)行(xing)在(zai)樹(shu)莓(mei)派(pai)(Raspberry Pi)、NCS2等相對低成本的硬件上。通過推測技術,這些模型在遇到新的現實世界輸入時便可以迅速作出預測。
例如,如果讓一個視覺模型處理成千上萬的紅色和綠色蘋果圖片,就可以訓練這個模型識別這兩種顏色的蘋果。然後,在NCS2上運行訓練過的模型,並將通過網絡攝像頭獲取的新圖像輸入到模型中,此時神經網絡便可以對攝像頭視野中的蘋果進行識別和分類。
物理計算:讓技術與現實更息息相關
就在不久前,創建人工大腦的想法還純粹是科幻小說中的腦洞。如今,雖然我們距離真正的通用AI還hai有you很hen長chang的de路lu要yao走zou,但dan技ji術shu正zheng持chi續xu以yi疾ji速su發fa展zhan,這zhe是shi不bu可ke否fou認ren的de。不bu過guo,雖sui然ran追zhui求qiu技ji術shu成cheng就jiu本ben質zhi上shang就jiu值zhi得de我wo們men為wei之zhi付fu出chu,但dan我wo們men不bu能neng忘wang了le生sheng活huo中zhong不bu可ke或huo缺que的de藝yi術shu和he創chuang造zao。物wu理li計ji算suan可ke以yi在zai無wu形xing的de數shu字zi技ji術shu與yu有you形xing事shi物wu的de更geng直zhi觀guan本ben質zhi之zhi間jian建jian立li起qi一yi座zuo橋qiao梁liang,並bing且qie項xiang目mu中zhong的de「黑科技」本身就有助於化解公眾接受新技術的障礙,而人工智能顯然就是一項可以從這種相關性中受益的創新。
在本文所述的項目中,我們將采用尖端的AI驅動機器視覺新技術,並將物理計算為人與技術間交互帶來的樂趣和新奇之處融會於其中。我們將使用兩個NCS2、一台樹莓派、一(yi)台(tai)攝(she)像(xiang)頭(tou)和(he)數(shu)個(ge)伺(si)服(fu)電(dian)機(ji)來(lai)構(gou)建(jian)一(yi)台(tai)麵(mian)部(bu)表(biao)情(qing)識(shi)別(bie)設(she)備(bei),它(ta)可(ke)以(yi)觀(guan)察(cha)一(yi)個(ge)人(ren)的(de)麵(mian)部(bu)並(bing)確(que)定(ding)其(qi)表(biao)情(qing),然(ran)後(hou)根(gen)據(ju)特(te)定(ding)種(zhong)類(lei)的(de)表(biao)情(qing)在(zai)現(xian)實(shi)世(shi)界(jie)中(zhong)執(zhi)行(xing)某(mou)些(xie)動(dong)作(zuo)。
背景
如果您從沒有接觸過神經網絡或從未使用Python編寫過程序,那麼這個項目就非常適合用來了解這兩項技能,而且嚐試在一個項目中集成英特爾第二代神經計算棒(NCS2),這本身也是一種不錯的學習體驗。在此過程中,當您看到機器學習、深度學習、神經網絡等術語時,與其說它們寫在數據表或應用筆記裏麵,更不如說它們就好像從科幻小說的書頁裏飛出來一般。

圖1:人工智能是一個廣泛而深入的研究領域,本項目實現的是卷積神經網絡(CNN)
本項目的核心是NCS2。這是一款USB 3.0設備,嵌入式係統開發人員若要在自己的產品中實現基於視覺的智能,便可以通過這款設備獲得近乎即插即用的AI推理功能。NCS2基於Movidius Myriad X視覺處理單元(VPU)構建,這是一款針對AI優化的芯片,對基於卷積神經網絡(CNN)的視覺計算可以起到加速作用。使用此技術可以進行對象識別和分類(即識別攝像頭視野中是否存在人臉以及這張臉是否在微笑)。
如果您對這一切都感到陌生,無法理解一個想法如何最終變成一套使用NCS2並借助攝像頭來識別和分類物體,並且還真的能夠運行起來的係統,那麼我們不妨花點時間來厘清其中涉及的工作流程。
1、訓練神經網絡(NN):神經網絡的訓練可以采用多種機器學習框架來進行,包括Caffe、TensorFlow、Kaldi、MXNet和開放神經網絡交換(ONNX),其中部分框架可以在台式計算機上運行,還有一些能夠以容器的形式借助AWS或Google Compute Engine等雲服務來運行。對訓練神經網絡而言,算力(CPU和GPU)是最重要的因素;投入的算力越多,最終得出的模型就越快、yuekaopu,yinweiyaorangshenjingwangluojianceyizhongwuti,jiubixuyaoyongzhezhongwutidetupianlaixunlianta,erqiezhishaoxuyaoyongdaoshuqianzhangmiaohuijiandanwutidetupian,yinersuanfaxuyaochulidaliangshuju,zuizhongdaozhidejieguojiushixunlianshenjingwangluoxuyaojigaodechulinengli。ruguoshiyongjianduxueximoshijinxingxunlian,namexunliantuxiangdeshujujibixushixianjinxingbiaozhu,zheyejiyoukenenghaofeidiaoxunlianrenyuandedaliangshijian。
2、下載模型:yaorangwomendeshebeijiancechushexiangtoupaishedaodewuti,moxingxunlianzhishidiyibu,wuluntazhixingqilaishiduomedefeishi。zaibenwensuoshudexiangmuzhong,gaimoxingjiangjiancerenlian,bingduirenliansuobiaoxiandeqingganjinxingfenlei。yingteerNCS2可以和多種流行的框架一起使用,這些框架包括.caffemodel(Caffe)、.pb(TensorFlow)、.params(MXNet)、.onnx(ONNX)和.nnet(Kaldi)。
不過在這裏要告訴大家一個好消息:一些大神已經分享了他們以往訓練並生成的模型,並通過網絡提供下載;但dan就jiu和he采cai用yong其qi它ta預yu先xian構gou建jian的de軟ruan件jian一yi樣yang,由you於yu每mei個ge用yong戶hu的de具ju體ti情qing況kuang各ge不bu相xiang同tong,最zui終zhong的de效xiao果guo便bian會hui因yin人ren而er異yi,也ye許xu並bing不bu一yi定ding如ru預yu期qi那na樣yang理li想xiang。不bu過guo,在zai許xu多duo情qing況kuang下xia,直zhi接jie使shi用yong預yu先xian訓xun練lian好hao的de庫ku就jiu已yi經jing足zu夠gou。在zai本ben文wen所suo述shu的de項xiang目mu中zhong,我wo們men將jiang會hui用yong到dao人ren臉lian檢jian測ce模mo型xing,並bing對dui檢jian測ce到dao的de人ren臉lian所suo做zuo出chu的de表biao情qing進jin行xing分fen類lei。
3、為推測硬件準備模型:獲取到經過訓練的模型後,下一步就是通過一定的準備工作讓它運行在選定的終端設備上。英特爾的OpenVINO工具套件正是為此準備的。該套件提供的模型優化器(Model Optimizer)可讀取Caffe、TensorFlow等神經網絡框架產生的數據,然後輸出中間表示(Intermediate Representation, IR)數據,其中包含一個.xml文件和一個.bin文件,前者包含了描述神經網絡拓撲結構的代碼,後者包含了二進製的權值和閾值數據;換言之,.xml文件描述了神經網絡內部如何互聯,.bin文件則表明了分配給每條路徑的值(權重)。
4、推測:目前為止,我們還沒有用上英特爾NCS2。正如前麵說的那樣,訓練模型需要由非常「高大上」的計算硬件來做。至於「推測」,說白了就是把新的輸入內容交給神經網絡來辨識、分類和處理,這就是NCS2發揮作用的地方了。OpenVINO將會讀取IR內容,對神經網絡執行準備工作,然後將之加載到選定的終端設備(本例中為NCS2)上,並設置所需的配置參數。隨後,NCS2上搭載的推理引擎(Inference Engine, IE)將執行該深度學習模型,並在提供輸入數據時對其進行推測。它還提供了一組便於使用的庫,以便將IE的輸出集成到定製的應用程序中。
5、使用API開發增值功能:數十年來,嵌入式係統的固件開發一直由C編程語言主導,但近年來Python在應用程序開發方麵越來越受到關注。隨著MicroPython和CircuitPython分支的創建,Python也開始涉足嵌入式開發領域。在本文所述的項目中,我們將采用英特爾的Python API與推理引擎進行交互。對於希望繼續使用C/C++的人士,英特爾還提供了一個C++庫。借助這套Python API,與推理引擎的交互問題便可轉化為簡潔的函數調用。
物料
本項目將使用4GB版本的樹莓派4單板機作為係統核心,此外還包括以下關鍵組件:

圖2:樹莓派4依舊保持了小巧的尺寸,但硬件進行了大幅度升級
1、兩個英特爾NCS2
2、一個OV5647攝像頭(也可采用USB攝像頭)
3、三個伺服電機
物料清單(BOM)
本項目的物料清單如表1所示。或者,您可以單擊此處訪問mouser.com加載預定義的購物車,一次性買齊這些部件。本文撰寫時,以下物料清單不含運費和稅費的總價約為370美元。
表1:AI+物理計算項目物料清單

工具和其他資源
以下所列是完成本項目推薦使用的工具:
● 基於Windows,運行OpenVINO工具套件的計算機
● 帶有HDMI端口的電腦顯示器或電視機
● 無線或有線Internet連接
● USB 3.0集線器
● USB鍵盤
● USB鼠標
● USB攝像頭(可選項,不使用OV5647攝像頭時需要使用)
● 剝線鉗
● 數字萬用表
● 尖嘴鉗
係統概覽

圖3:構思想法時,隨筆畫是一種不錯的做法
該係統由五個主要部件構成:
1、樹莓派:新款樹莓派可謂單板機(SBC)中的實力派,它搭載了一顆主頻1.5GHz的Broadcom BCM2711四核Cortex-A72 64位SoC,這裏我們采用的是帶4GB LPDDR4-2400 SDRAM的型號。該產品采用已成為現行標準的40引腳GPIO接頭與伺服電機進行交互。同時,樹莓派還將用於運行Python腳本、攝像頭和HDMI監視器的主機,並與兩個NCS2設備配合工作。
2、神經計算棒:NCS2設備上將運行兩個神經網絡,其中一個神經網絡負責對攝像頭獲取的視頻流進行分析,檢測視頻幀中是否出現人臉;另一個神經網絡則負責推測這個人的臉上流露出怎樣的表情。
3、攝像頭:攝像頭會將圖像流輸入到NCS設備進行分析。本項目中可以使用USB攝像頭,也可以使用Raspberry Pi OV5647攝像頭。運行Python腳本時,可以借助一個命令行標誌來設置使用的攝像頭。
4、伺服電機:三san個ge伺si服fu器qi將jiang與yu機ji械xie滑hua塊kuai一yi同tong使shi用yong,以yi便bian與yu現xian實shi世shi界jie互hu動dong。具ju體ti而er言yan,本ben項xiang目mu將jiang根gen據ju用yong戶hu對dui攝she像xiang頭tou呈cheng現xian的de表biao情qing向xiang用yong戶hu展zhan示shi不bu同tong顏yan色se的de花hua朵duo:黃色表示快樂,藍色表示悲傷,紅色則表示憤怒。
5、HDMI監視器:HDMI監視器將用於向用戶顯示終端和攝像頭的輸出內容。
構建電子元件

圖4:硬件之間的連接非常簡單明了
本項目組裝非常簡單明了,唯一需要提出的建議是等到樹莓派完全啟動後再將NCS2插入USB中;如果在初次啟動前插入NCS2,樹莓派可能會無法啟動,雖然我們並不清楚問題是不是出在這裏。後續的啟動沒有問題,並且也不會再重現該問題。
1、將micro-HDMI轉HDMI適配器插入樹莓派。
2、將HDMI數據線插入電腦顯示器或電視機的HDMI端口。
3、將刷入最新版Raspbian的MicroSD存儲卡插入到樹莓派。有關如何將Raspbian操作係統安裝到MicroSD存儲卡上的說明,請單擊此處。
4、將USB鍵盤和鼠標插入USB 2.0端口,也就是帶黑色塑料連接器的USB端口,而不是帶藍色塑料連接器的USB 3.0端口。
5、安裝攝像頭。
(1) 如果使用OV5647攝像機,請輕輕打開連接器,插入排線,然後合上連接器。
(2) 如果使用USB攝像頭,請將其插入樹莓派的USB 3.0端口。
6、將USB-C電源的一端插入交流電源插座。
7、將USB-C電源的另一端插入樹莓派的USB電源插孔。
8、啟動樹莓派並完成初始設置,然後關閉樹莓派。初始設置步驟至此完成。

圖5:樹莓派的PIO接頭引腳分布
完成初始設置後,下一步就是安裝伺服電機。我們將在樹莓派上安裝三個伺服電機。
9、使用連接線將樹莓派的GND引腳連接到迷你試驗板的GND(藍色)電極。
10、使用連接線將樹莓派的5V引腳連接到迷你試驗板的電源(紅色)電極。
11、將每個伺服電機的GND電纜連接到試驗板的GND電極。
12、將每個伺服電機的Vcc電纜連接到試驗板的電源電極。
13、將第一個伺服電機的控製信號連接到樹莓派的GPIO12引腳。此為「快樂」伺服電機。
14、將第一個伺服電機的控製信號連接到樹莓派的GPIO13引腳。此為「悲傷」伺服電機。
15、將第一個伺服電機的控製信號連接到樹莓派的GPIO18引腳。此為「憤怒」伺服電機。
現在,伺服電機接線完成,接下來要進行最後的組裝步驟,就是實現與兩個NCS設備共同工作。
1、將兩個英特爾神經計算棒插入USB 3.0集線器。暫時先不要把集線器插入到樹莓派。
2、再次啟動樹莓派並登錄。
3、安裝運行NCS設備所需的軟件(參見本文的“軟件”一節),然後再次重新啟動樹莓派。看到指示後,將USB 3.0集線器插入樹莓派的USB 3.0端口。
出處:貿澤電子公眾號
微信號:mouserelectronics
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索




