機器視覺 (MV) 和人工智能 (AI) 為各類前沿應用程序提供了寶貴的檢測和分析功能。與所有先進技術一樣,該領域也存在一些陷阱,需要小心防范。
借助機器視覺,電子系統可以使用一個或多個電子攝像機、高級光傳感器、模數轉換器 (ADC) 和數字信號處理器 (DSP) 觀察周圍的環境和物體。這項技術的原型已經使用數十年,大多數應用都在醫療、國防/航空航天和工業自動化領域。
近年來,3D 傳感技術不斷改進,組件模塊日趨緊湊,高質量 CMOS 圖像傳感器和功能強大的數據處理器價格大幅跳水,機器視覺的應用也呈現出井噴態勢。美國知名咨詢公司Grandview 研究預計,全球機器視覺市場將延續目前的爆炸式增長,在 2025 年達到 182.5 億美元,復合年均增長率 (CAGR) 達 7.7%。
機器視覺系統的新市場包括:
工廠自動化和機器人技術:外觀檢驗、診斷、組裝、移動方式機器人、數字制作、服務機器人、救援機器人
安全與執法:安全監控、攝像網絡、遙控感應、水下和惡劣環境作業
生命科學:農業、林業、漁業、土木/建筑工程、商業、體育、時尚、家居等
多媒體:數據庫存檔/檢索、文檔、文化/遺產、虛擬現實 (VR)/混合現實 (MR)/增強現實 (AR)、娛樂
生物醫學:斷層掃描、內窺鏡檢查、計算機輔助診斷、計算機輔助手術、計算解剖學、生物信息學、護理
人機交互:面部/手勢/行為/步態/凝視分析、生物識別、可穿戴計算、第一人稱視覺系統
咨詢公司Gartner 的最新研究稱,到 2025 年:
集成機器視覺的高級駕駛員輔助系統 (ADAS) 在汽車中的滲透率將從目前的 10% 提高到 35%。
零售商店使用應用機器視覺技術之后,可以通過針對性促銷活動促使客流量增長 20%,店鋪利潤率增長 10%。
五大消費類電子產品制造商銷售的所有智能家電中,20% 將配備機器視覺技術。
接近所有高端智能手機以及 30% 的基礎智能手機都將具備機器視覺功能,面部或手勢識別將成為標準的身份驗證機制。
機器視覺最早可以追溯至上世紀 50 年代,當時任職于 RCA 的 P. K. Weimer、S. V. Forgue 和 R. R. Goodrich 合作開發了用于早期電子相機的光導攝像管。光導攝像管借助光電導體作為目標材料來捕獲圖像。上世紀 70 年代末之前,NASA 在大多數具有遙感功能的無人深空探測器上都部署了 RCA 的攝像管相機。
若要成功開發和實施機器視覺解決方案,關鍵是選擇值得信賴的技術合作伙伴,建立必要的硬件組件和軟件框架,提供視覺算法、攝像頭接口標準、高級分析、人工智能和機器學習。對于任何企業來說,都有可為之事和不可為之事。我們在此列出了開發現代機器視覺解決方案時需要考慮的 10 大注意事項。
1. 人工智能開發,數據質量先行:機器視覺系統若要正常運行,需要獲取、處理、分析和理解圖像,而這些工作均需依靠人工智能完成。為 實現這種理解,首先需要編譯信息,亦即讓人工智能用來學習的訓練數據。訓練數據質量越好,人工智能的質量就越好。由此也可以提高機器視覺系統的性能。如果訓練數據質量低劣或數量不足,將妨礙人工智能和機器視覺應用取得成功。如果缺乏適當的訓練數據,即使編程再好,人工智能也無法達到預期效果。
2. 功能不斷疊加,漸漸脫離初衷:開始每個項目時,都要設定一系列合乎實際的期望和有望實現的目標。人類大腦能夠同時處理來自五種感官的數據,并根據這些數據立即采取行動,這是真正意義上的一心多用。通過編程處理,機器通常能夠很好地完成單一任務,但在需要學習和執行多項任務時,人工智能可能遇到困難。初始規劃階段,需要重點關注關系到成敗的主要功能。人工智能應用的初始版本便執行種類繁多的任務,可能會導致任務無法正確執行,并導致初始結果滿意度欠缺。
3. 視覺的語言:成功的機器視覺應用不僅需要功能強大的硬件,還離不開高超的編程技能。編程可以采用人工智能框架和編碼語言的形式。人工智能框架可以簡化、加速人工智能應用開發,包括機器學習、深度學習、神經網絡和自然語言處理 (NLP)。人工智能框架可以充當人工智能系統的開發模板。與從頭開始開發人工智能應用相比,這種方法的開發、部署和管理難度都大大降低。有幾種編程語言可以與人工智能配合使用,每種語言都有獨到的優勢。其中包括 Caffe、Python、Pytorch、TensorFlow、C++、Lisp、Java、R、Prolog 和 Model Zoo。
在機器視覺應用規劃階段,必須確定使用內部資源還是外包編程。程序員的技能水平如何?打算使用哪種編程語言?所選編程語言的最佳開發工具是哪種?人工智能程序和后續更新的編譯難度如何?如何發布更新?
4. 選擇合適的硬件主器件:選擇運行機器視覺人工智能應用程序的硬件時,存在諸多選項。現場可編程邏輯門陣列 (FPGA)、圖形處理單元 (GPU) 以及微控制器 (MCU) 都各有所長。
FPGA: FPGA 是非常強大的處理單元,配置后可以滿足幾乎所有應用程序的需求。可以創建定制的 FPGA 架構來處理特定的應用程序。與其他選項(如 GPU 和 CPU)相比,可以實現更高的性能、更低的成本和更好的能效。
GPU: GPU 是專用處理器,主要用于處理圖像和視頻。與 CPU 相比,其處理單元更簡單,但承載更多的內核。因此,GPU 非常適合需要并行處理大量數據的應用程序,例如圖像像素或視頻編解碼器。然而,GPU 也存在一些局限性:能耗高,同時由于使用 CUDA 和 OpenCL 等語言進行編程,靈活性不及 CPU。
CPUs: CPU 的核心數量有限,無法快速處理人工智能所需的大量數據。因此,CPU 僅適用于有效批量較小的小模型。CPU 的優點是易于編程、成本較低,同時廣泛支持各類編程框架。
除此之外,選擇硬件時還需要考慮能效、設備移動性、IO 數量、操作環境,以及最重要因素 - 成本。最初的計劃階段全面調查并周全考慮,可以避免日后的麻煩。借助所有的處理器和支持組件,獲取足夠的處理能力,為將來需要實現的功能做好鋪墊,同時預備足夠的板載內存,用于處理固件升級和人工智能算法增長。
5. 圖像傳感器和照明:CMOS 傳感器的前照式 (FSI) 和背照式 (BSI) 技術取得了巨大的進步,即使在低光照水平下也可以獲得更高分辨率的圖像。適當的照明也是重要的考慮因素。所有照明性能的基礎都可以歸結為三種主要的圖像傳感器特性:量子效率 (QE)、暗電流和飽和容量。量子效率是設備為特定數量的入射光子所產生的電荷的比率。由于 QE 在不同的波長上會發生變化,因此最好將其繪制為波長的函數。由此,可以實現設備靈敏度的精準測量。安裝在相機內時,由于外部光學和電子效應,相機的最大 QE 應小于傳感器。
此外,暗電流和飽和容量也是機器視覺系統設計的重要考慮因素。暗電流測量 CMOS 成像器內熱產生的電子數量變化,以及同時可能帶來的噪聲。飽和容量表示單個像素可以存儲的電子數。盡管這些參數通常未在相機制造商的數據表中說明,但可以與QE測量值一起,用以計算最大信噪比 (S/N)、絕對靈敏度和應用的動態范圍。
適當的照明有助于提高機器視覺應用程序的準確性和效率。照明需要考慮的其他因素包括波長(例如紅外線)、固定照明甚至照明放置。研究證明,直接照射到機器視覺系統攝像機上的光源和反射物會降低物體檢測的準確性。
6. 背景識別:背景可能給機器視覺系統帶來特殊的問題。想象一下,安全系統無法偵察到壞人深色外套中的黑色槍支。同樣,工廠環境中的反光金屬物體也可能導致視覺檢測算法無法正常運行,從而出現此類困難。輔助算法可以通過關注電磁波 (EM) 光譜的不同波長(例如紅外和自適應光)來緩解這種情況。
7. 對象的定位和方向:人工智能可以幫助機器視覺解決方案識別從訓練數據中學習到的物體。如果您使用相同的物體但更改其方向,一些機器視覺系統就會出錯。這種情況可以通過為人工智能提供精確的訓練集來緩解,但也會導致數據量變得密集。
8. 物體縮放:我們分別從兩英尺遠和 10 英尺遠的距離看籃球時,知道兩次看到的是同一物體,只是距離不同。在這一點上,多樣化的訓練集和人工智能的準確測試有助于確保某個距離的物體可以被正確識別。鏡頭和焦距的選擇也直接影響到應用程序的性能。大多數機器視覺系統都讀取像素值,但若要成功部署到移動應用,縮放方面的考慮同樣不可或缺。
9. 物體變形:機器視覺系統能夠識別存在微小偏差的同一物體,這種能力在機器視覺應用中至關重要,特別是在交通和安全方面。對于應用的準確性和操作安全性而言,識別四肢有關節的行人極其重要。此處需要再次強調為人工智能學習提供高質量訓練集的必要性,但同樣導致數據量更密集。
10. 動作和運動:快速運動/移動會給機器視覺系統帶來問題。對于安全性至關重要的應用而言,這可能帶來致命的危險。這種情況可以通過選擇適當的成像器快門、特殊的編程算法和照明來緩解。廉價的圖像傳感器通常使用卷簾快門,這會破壞快速移動的圖像。全局快門可能增加圖像傳感器的成本,但卻是適當捕捉快速運動的必要功能。預測和準備能力是判斷人類智力的兩大標準。人工智能應用程序同樣如此。
審核編輯 :李倩
-
機器視覺
+關注
關注
162文章
4396瀏覽量
120488 -
人工智能
+關注
關注
1792文章
47497瀏覽量
239214 -
信號處理器
+關注
關注
1文章
254瀏覽量
25310
原文標題:【深度】利用人工智能開發機器視覺系統 可能存在的十大誤區
文章出處:【微信號:指南車機器人科技,微信公眾號:指南車機器人科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論