近年來(lái),3D 傳感技術(shù)不斷改進(jìn),組件模塊日趨緊湊,高質(zhì)量 CMOS 圖像傳感器和功能強(qiáng)大的數(shù)據(jù)處理器價(jià)格大幅跳水,機(jī)器視覺(jué)的應(yīng)用也呈現(xiàn)出井噴態(tài)勢(shì)。
智能交通系統(tǒng): 交通監(jiān)控、自動(dòng)駕駛車輛、駕駛員安全輔助
安全與執(zhí)法: 安全監(jiān)控、攝像網(wǎng)絡(luò)、遙控感應(yīng)、水下和惡劣環(huán)境作業(yè)
生命科學(xué): 農(nóng)業(yè)、林業(yè)、漁業(yè)、土木/建筑工程、商業(yè)、體育、時(shí)尚、家居等
多媒體: 數(shù)據(jù)庫(kù)存檔/檢索、文檔、文化/遺產(chǎn)、虛擬現(xiàn)實(shí) (VR)/混合現(xiàn)實(shí) (MR)/增強(qiáng)現(xiàn)實(shí) (AR)、娛樂(lè)
生物醫(yī)學(xué): 斷層掃描、內(nèi)窺鏡檢查、計(jì)算機(jī)輔助診斷、計(jì)算機(jī)輔助手術(shù)、計(jì)算解剖學(xué)、生物信息學(xué)、護(hù)理
人機(jī)交互: 面部/手勢(shì)/行為/步態(tài)/凝視分析、生物識(shí)別、可穿戴計(jì)算、第一人稱視覺(jué)系統(tǒng)
若要成功開(kāi)發(fā)和實(shí)施機(jī)器視覺(jué)解決方案,關(guān)鍵是選擇值得信賴的技術(shù)合作伙伴,建立必要的硬件組件和軟件框架,提供視覺(jué)算法、攝像頭接口標(biāo)準(zhǔn)、高級(jí)分析、人工智能和機(jī)器學(xué)習(xí)。對(duì)于任何企業(yè)來(lái)說(shuō),都有可為之事和不可為之事。我們?cè)诖肆谐隽碎_(kāi)發(fā)現(xiàn)代機(jī)器視覺(jué)解決方案時(shí)需要考慮的 10 大注意事項(xiàng)。
1. 人工智能開(kāi)發(fā),數(shù)據(jù)質(zhì)量先行:機(jī)器視覺(jué)系統(tǒng)若要正常運(yùn)行,需要獲取、處理、分析和理解圖像,而這些工作均需依靠人工智能完成。為 實(shí)現(xiàn)這種理解,首先需要編譯信息,亦即讓人工智能用來(lái)學(xué)習(xí)的訓(xùn)練數(shù)據(jù)。訓(xùn)練數(shù)據(jù)質(zhì)量越好,人工智能的質(zhì)量就越好。由此也可以提高機(jī)器視覺(jué)系統(tǒng)的性能。如果訓(xùn)練數(shù)據(jù)質(zhì)量低劣或數(shù)量不足,將妨礙人工智能和機(jī)器視覺(jué)應(yīng)用取得成功。如果缺乏適當(dāng)?shù)挠?xùn)練數(shù)據(jù),即使編程再好,人工智能也無(wú)法達(dá)到預(yù)期效果。
2. 功能不斷疊加,漸漸脫離初衷: 開(kāi)始每個(gè)項(xiàng)目時(shí),都要設(shè)定一系列合乎實(shí)際的期望和有望實(shí)現(xiàn)的目標(biāo)。人類大腦能夠同時(shí)處理來(lái)自五種感官的數(shù)據(jù),并根據(jù)這些數(shù)據(jù)立即采取行動(dòng),這是真正意義上的一心多用。通過(guò)編程處理,機(jī)器通常能夠很好地完成單一任務(wù),但在需要學(xué)習(xí)和執(zhí)行多項(xiàng)任務(wù)時(shí),人工智能可能遇到困難。初始規(guī)劃階段,需要重點(diǎn)關(guān)注關(guān)系到成敗的主要功能。人工智能應(yīng)用的初始版本便執(zhí)行種類繁多的任務(wù),可能會(huì)導(dǎo)致任務(wù)無(wú)法正確執(zhí)行,并導(dǎo)致初始結(jié)果滿意度欠缺。
3. 視覺(jué)的語(yǔ)言: 成功的機(jī)器視覺(jué)應(yīng)用不僅需要功能強(qiáng)大的硬件,還離不開(kāi)高超的編程技能。編程可以采用人工智能框架和編碼語(yǔ)言的形式。人工智能框架可以簡(jiǎn)化、加速人工智能應(yīng)用開(kāi)發(fā),包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和自然語(yǔ)言處理 (NLP)。人工智能框架可以充當(dāng)人工智能系統(tǒng)的開(kāi)發(fā)模板。與從頭開(kāi)始開(kāi)發(fā)人工智能應(yīng)用相比,這種方法的開(kāi)發(fā)、部署和管理難度都大大降低。有幾種編程語(yǔ)言可以與人工智能配合使用,每種語(yǔ)言都有獨(dú)到的優(yōu)勢(shì)。其中包括 Caffe、Python、Pytorch、TensorFlow、C++、Lisp、Java、R、Prolog 和 Model Zoo
4. 選擇合適的硬件主器件:選擇運(yùn)行機(jī)器視覺(jué)人工智能應(yīng)用程序的硬件時(shí),存在諸多選項(xiàng)?,F(xiàn)場(chǎng)可編程邏輯門陣列 (FPGA)、圖形處理單元 (GPU) 以及微控制器 (MCU) 都各有所長(zhǎng)。
FPGA: FPGA 是非常強(qiáng)大的處理單元,配置后可以滿足幾乎所有應(yīng)用程序的需求??梢詣?chuàng)建定制的 FPGA 架構(gòu)來(lái)處理特定的應(yīng)用程序。與其他選項(xiàng)(如 GPU 和 CPU)相比,可以實(shí)現(xiàn)更高的性能、更低的成本和更好的能效。
GPU: GPU 是專用處理器,主要用于處理圖像和視頻。與 CPU 相比,其處理單元更簡(jiǎn)單,但承載更多的內(nèi)核。因此,GPU 非常適合需要并行處理大量數(shù)據(jù)的應(yīng)用程序,例如圖像像素或視頻編解碼器。然而,GPU 也存在一些局限性:能耗高,同時(shí)由于使用 CUDA 和 OpenCL 等語(yǔ)言進(jìn)行編程,靈活性不及 CPU。
CPUs: CPU 的核心數(shù)量有限,無(wú)法快速處理人工智能所需的大量數(shù)據(jù)。因此,CPU 僅適用于有效批量較小的小模型。CPU 的優(yōu)點(diǎn)是易于編程、成本較低,同時(shí)廣泛支持各類編程框架。
5. 圖像傳感器和照明: CMOS 傳感器的前照式 (FSI) 和背照式 (BSI) 技術(shù)取得了巨大的進(jìn)步,即使在低光照水平下也可以獲得更高分辨率的圖像。適當(dāng)?shù)恼彰饕彩侵匾目紤]因素。所有照明性能的基礎(chǔ)都可以歸結(jié)為三種主要的圖像傳感器特性:量子效率 (QE)、暗電流和飽和容量。量子效率是設(shè)備為特定數(shù)量的入射光子所產(chǎn)生的電荷的比率。由于 QE 在不同的波長(zhǎng)上會(huì)發(fā)生變化,因此最好將其繪制為波長(zhǎng)的函數(shù)。由此,可以實(shí)現(xiàn)設(shè)備靈敏度的精準(zhǔn)測(cè)量。安裝在相機(jī)內(nèi)時(shí),由于外部光學(xué)和電子效應(yīng),相機(jī)的最大 QE 應(yīng)小于傳感器。
此外,暗電流和飽和容量也是機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)的重要考慮因素。暗電流測(cè)量 CMOS 成像器內(nèi)熱產(chǎn)生的電子數(shù)量變化,以及同時(shí)可能帶來(lái)的噪聲。飽和容量表示單個(gè)像素可以存儲(chǔ)的電子數(shù)。盡管這些參數(shù)通常未在相機(jī)制造商的數(shù)據(jù)表中說(shuō)明,但可以與QE測(cè)量值一起,用以計(jì)算最大信噪比 (S/N)、絕對(duì)靈敏度和應(yīng)用的動(dòng)態(tài)范圍。
適當(dāng)?shù)囊曈X(jué)照明有助于提高機(jī)器視覺(jué)應(yīng)用程序的準(zhǔn)確性和效率。視覺(jué)照明需要考慮的其他因素包括波長(zhǎng)(例如紅外線)、固定照明甚至照明放置。研究證明,直接照射到機(jī)器視覺(jué)系統(tǒng)攝像機(jī)上的光源和反射物會(huì)降低物體檢測(cè)的準(zhǔn)確性。
6. 背景識(shí)別: 背景可能給機(jī)器視覺(jué)系統(tǒng)帶來(lái)特殊的問(wèn)題。想象一下,安全系統(tǒng)無(wú)法偵察到壞人深色外套中的黑色槍支。同樣,工廠環(huán)境中的反光金屬物體也可能導(dǎo)致視覺(jué)檢測(cè)算法無(wú)法正常運(yùn)行,從而出現(xiàn)此類困難。輔助算法可以通過(guò)關(guān)注電磁波 (EM) 光譜的不同波長(zhǎng)(例如紅外和自適應(yīng)光)來(lái)緩解這種情況。
7. 對(duì)象的定位和方向: 人工智能可以幫助機(jī)器視覺(jué)解決方案識(shí)別從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的物體。如果您使用相同的物體但更改其方向,一些機(jī)器視覺(jué)系統(tǒng)就會(huì)出錯(cuò)。這種情況可以通過(guò)為人工智能提供精確的訓(xùn)練集來(lái)緩解,但也會(huì)導(dǎo)致數(shù)據(jù)量變得密集。
8. 物體縮放: 我們分別從兩英尺遠(yuǎn)和 10 英尺遠(yuǎn)的距離看籃球時(shí),知道兩次看到的是同一物體,只是距離不同。在這一點(diǎn)上,多樣化的訓(xùn)練集和人工智能的準(zhǔn)確測(cè)試有助于確保某個(gè)距離的物體可以被正確識(shí)別。鏡頭和焦距的選擇也直接影響到應(yīng)用程序的性能。大多數(shù)機(jī)器視覺(jué)系統(tǒng)都讀取像素值,但若要成功部署到移動(dòng)應(yīng)用,縮放方面的考慮同樣不可或缺。
9. 物體變形: 機(jī)器視覺(jué)系統(tǒng)能夠識(shí)別存在微小偏差的同一物體,這種能力在機(jī)器視覺(jué)應(yīng)用中至關(guān)重要,特別是在交通和安全方面。對(duì)于應(yīng)用的準(zhǔn)確性和操作安全性而言,識(shí)別四肢有關(guān)節(jié)的行人極其重要。此處需要再次強(qiáng)調(diào)為人工智能學(xué)習(xí)提供高質(zhì)量訓(xùn)練集的必要性,但同樣導(dǎo)致數(shù)據(jù)量更密集。
10. 動(dòng)作和運(yùn)動(dòng): 快速運(yùn)動(dòng)/移動(dòng)會(huì)給機(jī)器視覺(jué)系統(tǒng)帶來(lái)問(wèn)題。對(duì)于安全性至關(guān)重要的應(yīng)用而言,這可能帶來(lái)致命的危險(xiǎn)。這種情況可以通過(guò)選擇適當(dāng)?shù)某上衿骺扉T、特殊的編程算法和照明來(lái)緩解。廉價(jià)的圖像傳感器通常使用卷簾快門,這會(huì)破壞快速移動(dòng)的圖像。全局快門可能增加圖像傳感器的成本,但卻是適當(dāng)捕捉快速運(yùn)動(dòng)的必要功能。預(yù)測(cè)和準(zhǔn)備能力是判斷人類智力的兩大標(biāo)準(zhǔn)。人工智能應(yīng)用程序同樣如此。
機(jī)器視覺(jué)系統(tǒng)的新市場(chǎng)包括:
智能交通系統(tǒng): 交通監(jiān)控、自動(dòng)駕駛車輛、駕駛員安全輔助
安全與執(zhí)法: 安全監(jiān)控、攝像網(wǎng)絡(luò)、遙控感應(yīng)、水下和惡劣環(huán)境作業(yè)
生命科學(xué): 農(nóng)業(yè)、林業(yè)、漁業(yè)、土木/建筑工程、商業(yè)、體育、時(shí)尚、家居等
多媒體: 數(shù)據(jù)庫(kù)存檔/檢索、文檔、文化/遺產(chǎn)、虛擬現(xiàn)實(shí) (VR)/混合現(xiàn)實(shí) (MR)/增強(qiáng)現(xiàn)實(shí) (AR)、娛樂(lè)
生物醫(yī)學(xué): 斷層掃描、內(nèi)窺鏡檢查、計(jì)算機(jī)輔助診斷、計(jì)算機(jī)輔助手術(shù)、計(jì)算解剖學(xué)、生物信息學(xué)、護(hù)理
人機(jī)交互: 面部/手勢(shì)/行為/步態(tài)/凝視分析、生物識(shí)別、可穿戴計(jì)算、第一人稱視覺(jué)系統(tǒng)
若要成功開(kāi)發(fā)和實(shí)施機(jī)器視覺(jué)解決方案,關(guān)鍵是選擇值得信賴的技術(shù)合作伙伴,建立必要的硬件組件和軟件框架,提供視覺(jué)算法、攝像頭接口標(biāo)準(zhǔn)、高級(jí)分析、人工智能和機(jī)器學(xué)習(xí)。對(duì)于任何企業(yè)來(lái)說(shuō),都有可為之事和不可為之事。我們?cè)诖肆谐隽碎_(kāi)發(fā)現(xiàn)代機(jī)器視覺(jué)解決方案時(shí)需要考慮的 10 大注意事項(xiàng)。
1. 人工智能開(kāi)發(fā),數(shù)據(jù)質(zhì)量先行:機(jī)器視覺(jué)系統(tǒng)若要正常運(yùn)行,需要獲取、處理、分析和理解圖像,而這些工作均需依靠人工智能完成。為 實(shí)現(xiàn)這種理解,首先需要編譯信息,亦即讓人工智能用來(lái)學(xué)習(xí)的訓(xùn)練數(shù)據(jù)。訓(xùn)練數(shù)據(jù)質(zhì)量越好,人工智能的質(zhì)量就越好。由此也可以提高機(jī)器視覺(jué)系統(tǒng)的性能。如果訓(xùn)練數(shù)據(jù)質(zhì)量低劣或數(shù)量不足,將妨礙人工智能和機(jī)器視覺(jué)應(yīng)用取得成功。如果缺乏適當(dāng)?shù)挠?xùn)練數(shù)據(jù),即使編程再好,人工智能也無(wú)法達(dá)到預(yù)期效果。
2. 功能不斷疊加,漸漸脫離初衷: 開(kāi)始每個(gè)項(xiàng)目時(shí),都要設(shè)定一系列合乎實(shí)際的期望和有望實(shí)現(xiàn)的目標(biāo)。人類大腦能夠同時(shí)處理來(lái)自五種感官的數(shù)據(jù),并根據(jù)這些數(shù)據(jù)立即采取行動(dòng),這是真正意義上的一心多用。通過(guò)編程處理,機(jī)器通常能夠很好地完成單一任務(wù),但在需要學(xué)習(xí)和執(zhí)行多項(xiàng)任務(wù)時(shí),人工智能可能遇到困難。初始規(guī)劃階段,需要重點(diǎn)關(guān)注關(guān)系到成敗的主要功能。人工智能應(yīng)用的初始版本便執(zhí)行種類繁多的任務(wù),可能會(huì)導(dǎo)致任務(wù)無(wú)法正確執(zhí)行,并導(dǎo)致初始結(jié)果滿意度欠缺。
3. 視覺(jué)的語(yǔ)言: 成功的機(jī)器視覺(jué)應(yīng)用不僅需要功能強(qiáng)大的硬件,還離不開(kāi)高超的編程技能。編程可以采用人工智能框架和編碼語(yǔ)言的形式。人工智能框架可以簡(jiǎn)化、加速人工智能應(yīng)用開(kāi)發(fā),包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和自然語(yǔ)言處理 (NLP)。人工智能框架可以充當(dāng)人工智能系統(tǒng)的開(kāi)發(fā)模板。與從頭開(kāi)始開(kāi)發(fā)人工智能應(yīng)用相比,這種方法的開(kāi)發(fā)、部署和管理難度都大大降低。有幾種編程語(yǔ)言可以與人工智能配合使用,每種語(yǔ)言都有獨(dú)到的優(yōu)勢(shì)。其中包括 Caffe、Python、Pytorch、TensorFlow、C++、Lisp、Java、R、Prolog 和 Model Zoo
4. 選擇合適的硬件主器件:選擇運(yùn)行機(jī)器視覺(jué)人工智能應(yīng)用程序的硬件時(shí),存在諸多選項(xiàng)?,F(xiàn)場(chǎng)可編程邏輯門陣列 (FPGA)、圖形處理單元 (GPU) 以及微控制器 (MCU) 都各有所長(zhǎng)。
FPGA: FPGA 是非常強(qiáng)大的處理單元,配置后可以滿足幾乎所有應(yīng)用程序的需求??梢詣?chuàng)建定制的 FPGA 架構(gòu)來(lái)處理特定的應(yīng)用程序。與其他選項(xiàng)(如 GPU 和 CPU)相比,可以實(shí)現(xiàn)更高的性能、更低的成本和更好的能效。
GPU: GPU 是專用處理器,主要用于處理圖像和視頻。與 CPU 相比,其處理單元更簡(jiǎn)單,但承載更多的內(nèi)核。因此,GPU 非常適合需要并行處理大量數(shù)據(jù)的應(yīng)用程序,例如圖像像素或視頻編解碼器。然而,GPU 也存在一些局限性:能耗高,同時(shí)由于使用 CUDA 和 OpenCL 等語(yǔ)言進(jìn)行編程,靈活性不及 CPU。
CPUs: CPU 的核心數(shù)量有限,無(wú)法快速處理人工智能所需的大量數(shù)據(jù)。因此,CPU 僅適用于有效批量較小的小模型。CPU 的優(yōu)點(diǎn)是易于編程、成本較低,同時(shí)廣泛支持各類編程框架。
5. 圖像傳感器和照明: CMOS 傳感器的前照式 (FSI) 和背照式 (BSI) 技術(shù)取得了巨大的進(jìn)步,即使在低光照水平下也可以獲得更高分辨率的圖像。適當(dāng)?shù)恼彰饕彩侵匾目紤]因素。所有照明性能的基礎(chǔ)都可以歸結(jié)為三種主要的圖像傳感器特性:量子效率 (QE)、暗電流和飽和容量。量子效率是設(shè)備為特定數(shù)量的入射光子所產(chǎn)生的電荷的比率。由于 QE 在不同的波長(zhǎng)上會(huì)發(fā)生變化,因此最好將其繪制為波長(zhǎng)的函數(shù)。由此,可以實(shí)現(xiàn)設(shè)備靈敏度的精準(zhǔn)測(cè)量。安裝在相機(jī)內(nèi)時(shí),由于外部光學(xué)和電子效應(yīng),相機(jī)的最大 QE 應(yīng)小于傳感器。
此外,暗電流和飽和容量也是機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)的重要考慮因素。暗電流測(cè)量 CMOS 成像器內(nèi)熱產(chǎn)生的電子數(shù)量變化,以及同時(shí)可能帶來(lái)的噪聲。飽和容量表示單個(gè)像素可以存儲(chǔ)的電子數(shù)。盡管這些參數(shù)通常未在相機(jī)制造商的數(shù)據(jù)表中說(shuō)明,但可以與QE測(cè)量值一起,用以計(jì)算最大信噪比 (S/N)、絕對(duì)靈敏度和應(yīng)用的動(dòng)態(tài)范圍。
適當(dāng)?shù)囊曈X(jué)照明有助于提高機(jī)器視覺(jué)應(yīng)用程序的準(zhǔn)確性和效率。視覺(jué)照明需要考慮的其他因素包括波長(zhǎng)(例如紅外線)、固定照明甚至照明放置。研究證明,直接照射到機(jī)器視覺(jué)系統(tǒng)攝像機(jī)上的光源和反射物會(huì)降低物體檢測(cè)的準(zhǔn)確性。
6. 背景識(shí)別: 背景可能給機(jī)器視覺(jué)系統(tǒng)帶來(lái)特殊的問(wèn)題。想象一下,安全系統(tǒng)無(wú)法偵察到壞人深色外套中的黑色槍支。同樣,工廠環(huán)境中的反光金屬物體也可能導(dǎo)致視覺(jué)檢測(cè)算法無(wú)法正常運(yùn)行,從而出現(xiàn)此類困難。輔助算法可以通過(guò)關(guān)注電磁波 (EM) 光譜的不同波長(zhǎng)(例如紅外和自適應(yīng)光)來(lái)緩解這種情況。
7. 對(duì)象的定位和方向: 人工智能可以幫助機(jī)器視覺(jué)解決方案識(shí)別從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的物體。如果您使用相同的物體但更改其方向,一些機(jī)器視覺(jué)系統(tǒng)就會(huì)出錯(cuò)。這種情況可以通過(guò)為人工智能提供精確的訓(xùn)練集來(lái)緩解,但也會(huì)導(dǎo)致數(shù)據(jù)量變得密集。
8. 物體縮放: 我們分別從兩英尺遠(yuǎn)和 10 英尺遠(yuǎn)的距離看籃球時(shí),知道兩次看到的是同一物體,只是距離不同。在這一點(diǎn)上,多樣化的訓(xùn)練集和人工智能的準(zhǔn)確測(cè)試有助于確保某個(gè)距離的物體可以被正確識(shí)別。鏡頭和焦距的選擇也直接影響到應(yīng)用程序的性能。大多數(shù)機(jī)器視覺(jué)系統(tǒng)都讀取像素值,但若要成功部署到移動(dòng)應(yīng)用,縮放方面的考慮同樣不可或缺。
9. 物體變形: 機(jī)器視覺(jué)系統(tǒng)能夠識(shí)別存在微小偏差的同一物體,這種能力在機(jī)器視覺(jué)應(yīng)用中至關(guān)重要,特別是在交通和安全方面。對(duì)于應(yīng)用的準(zhǔn)確性和操作安全性而言,識(shí)別四肢有關(guān)節(jié)的行人極其重要。此處需要再次強(qiáng)調(diào)為人工智能學(xué)習(xí)提供高質(zhì)量訓(xùn)練集的必要性,但同樣導(dǎo)致數(shù)據(jù)量更密集。
10. 動(dòng)作和運(yùn)動(dòng): 快速運(yùn)動(dòng)/移動(dòng)會(huì)給機(jī)器視覺(jué)系統(tǒng)帶來(lái)問(wèn)題。對(duì)于安全性至關(guān)重要的應(yīng)用而言,這可能帶來(lái)致命的危險(xiǎn)。這種情況可以通過(guò)選擇適當(dāng)?shù)某上衿骺扉T、特殊的編程算法和照明來(lái)緩解。廉價(jià)的圖像傳感器通常使用卷簾快門,這會(huì)破壞快速移動(dòng)的圖像。全局快門可能增加圖像傳感器的成本,但卻是適當(dāng)捕捉快速運(yùn)動(dòng)的必要功能。預(yù)測(cè)和準(zhǔn)備能力是判斷人類智力的兩大標(biāo)準(zhǔn)。人工智能應(yīng)用程序同樣如此。