開發(fā)基于相機的檢測系統(tǒng)需要不斷迭代、理解采樣和清晰度對圖像質(zhì)量的影響,并使用數(shù)據(jù)集來評估系統(tǒng)性能。
由于使用低成本和資源受限的體系結(jié)構(gòu)等要求, 使得基于嵌入式相機的檢測系統(tǒng)的設(shè)計工作變得更加復(fù)雜。因此,在啟動算法開發(fā)工作時,就要充分考慮視覺系統(tǒng)涉及的方方面面。
從視覺系統(tǒng)開始很重要,原因有兩個。首先,算法性能受限于視覺系統(tǒng)生成的圖像質(zhì)量。雖然可以提升算法的能力,但在某些時候,算法的性能受到圖像質(zhì)量的限制。其次,視覺系統(tǒng)較為復(fù)雜,多個組件之間存在許多交互參數(shù),因此如果在開發(fā)周期后期再更改參數(shù)的話,將會導(dǎo)致高昂的開發(fā)成本。
在本文中,基于相機的檢測系統(tǒng)由圖1所示的以下組件構(gòu)成:場景中的感興趣目標;場景成像的環(huán)境;視覺系統(tǒng)(圖像傳感器、鏡頭和光源);捕獲的數(shù)字化場景,要包括感興趣目標;以及識別場景內(nèi)感興趣目標的算法。
圖1:在本文中,基于相機的檢測系統(tǒng)由以下組件構(gòu)成:場景中的感興趣目標;場景成像的環(huán)境;視覺系統(tǒng)(圖像傳感器、鏡頭和光源);捕獲的數(shù)字化場景,要包括感興趣目標;以及識別場景內(nèi)感興趣目標的算法。
開發(fā)方法:構(gòu)建-測量-學(xué)習(xí)
在開發(fā)之初,通常存在“雞或蛋”的問題:檢測算法的能力將對視覺系統(tǒng)提出要求,而視覺系統(tǒng)產(chǎn)生的圖像質(zhì)量也將對檢測算法提出要求。成功的設(shè)計是:要保持視覺系統(tǒng)和檢測算法的功能協(xié)調(diào)一致,從而滿足商業(yè)目標。在開發(fā)過程中,必須要同時考慮算法和視覺系統(tǒng)。為了做好這一點,需要有效的迭代。
一種稱為“構(gòu)建-測量-學(xué)習(xí)循環(huán)”的靈活迭代方法,基于精益啟動原則,通過集中學(xué)習(xí)提供有效迭代框架。要使用這種方法,請在每次迭代開始時提出以下三個問題:
1. 我們需要學(xué)習(xí)什么?這應(yīng)該建立在以前的學(xué)習(xí)基礎(chǔ)上。
2. 為了學(xué)習(xí)目標,我們需要測量什么?
3. 為了實現(xiàn)測量,我們需要構(gòu)建什么?
然后,僅構(gòu)建學(xué)習(xí)所需要的東西。
例如,我們將構(gòu)建-測量-學(xué)習(xí)循環(huán)方法應(yīng)用于設(shè)計基于相機的低成本線性條形碼閱讀器,這種閱讀器可以在單一圖像捕獲中,以大視場解碼盡可能多的條形碼。想象一下,在一個高度動態(tài)的環(huán)境中,條形碼閱讀器可以在任何方向快速移動的場景。不同尺寸的條形碼在整個環(huán)境中處于隨機位置,并且與條形碼閱讀器之間的角度和距離也都是隨機的。
使用構(gòu)建-測量-學(xué)習(xí)循環(huán)的方法,第一步是確定圖像傳感器和鏡頭所需的“類”,這將設(shè)置一個基礎(chǔ)的硬件成本目標(見圖2)。為此,需要測量基礎(chǔ)相機生成圖像質(zhì)量的能力,使用解碼精度作為測量基準。為了進行測量,我們使用現(xiàn)成的鏡頭和圖像傳感器開發(fā)套件構(gòu)建相機系統(tǒng)。收集一個小數(shù)據(jù)集,并使用現(xiàn)成的塊開發(fā)算法的第一個版本。
圖2:實際使用中的構(gòu)建-測量-學(xué)習(xí)循環(huán)方法,顯示了設(shè)計基于相機的低成本線性條形碼閱讀器的例子。
第一次迭代學(xué)習(xí)產(chǎn)生的不僅僅是所需的圖像傳感器和鏡頭,還有基礎(chǔ)相機的成本估算。我們還學(xué)習(xí)到運動模糊是限制檢測精度的主要噪聲源。
我們將這些學(xué)習(xí)結(jié)果帶入迭代二,并關(guān)注于解決運動模糊問題。為了學(xué)習(xí)這一點,我們測量了相機在快速運動場景中生成高質(zhì)量圖像的能力。利用迭代一的學(xué)習(xí)結(jié)果,我們利用短曝光時間和全局快門圖像傳感器,設(shè)計了一種減少運動模糊的方法。使用現(xiàn)成的組件和全局快門傳感器,就構(gòu)建了一臺新相機。收集另一個數(shù)據(jù)集,修改算法,評估圖像質(zhì)量和算法性能。
迭代二的關(guān)鍵學(xué)習(xí)是全局快門工作方法,以及進一步提高算法能力,使得能夠使用更低成本的圖像傳感器。隨著繼續(xù)進行更多次迭代,更多的學(xué)習(xí)將指導(dǎo)“如何利用現(xiàn)成的鏡頭、全局快門圖像傳感器和功能強大的算法,構(gòu)建定制視覺系統(tǒng)的”成功設(shè)計決策。使用這種構(gòu)建-測量-學(xué)習(xí)循環(huán)方法,有助于將重點聚焦在下一個重要的學(xué)習(xí)上,并減少非增值調(diào)查。它提高了迭代的有效性,并使設(shè)計滿足商業(yè)目標,其中視覺系統(tǒng)的能力與算法的能力相輔相成。
設(shè)計起點:采樣與清晰度
空間分辨率可以說是最具影響力的圖像質(zhì)量特征,因此在設(shè)計基于相機的檢測系統(tǒng)時,空間分辨率是一個合乎邏輯的起點??臻g分辨率定義了可以在圖像中檢測到的最小特征或目標的尺寸,可以分為兩個部分:采樣和清晰度。
采樣是一個給定區(qū)域內(nèi)的像素數(shù),通常以每英寸像素數(shù)或每毫米像素數(shù)表示。由于它是光學(xué)系統(tǒng)放大倍數(shù)的函數(shù),因此隨物距而變化。采樣不足將減少鑒別細節(jié)并增加了混疊偽影。為了確定系統(tǒng)的采樣要求,必須要知道需要鑒別的特征的物理尺寸、最大檢測距離和精確檢測所需要的像素數(shù)。
為了適應(yīng)具有挑戰(zhàn)性的應(yīng)用情況,在最大檢測距離處(在放大率最低的區(qū)域內(nèi))開始,此處區(qū)別特征的像素數(shù)為4-5像素。通常,在開始的時候不清楚鑒別特征是什么,特別是在應(yīng)用機器學(xué)習(xí)或深度學(xué)習(xí)時。開始時,最好采用冗余采樣,因為在軟件中減少采樣比增加采用更容易,允許使用算法進行實驗以確定所需要的最小采樣。
使用薄透鏡方程,可以輕松地根據(jù)采樣要求推導(dǎo)出視覺系統(tǒng)參數(shù)。對于具有最小失真的光學(xué)疊加尤其如此。最終,采樣要求將決定圖像傳感器的像素數(shù)、圖像傳感器的像素尺寸和鏡頭焦距。關(guān)于薄透鏡方程,最令人興奮的是,在購買圖像傳感器或透鏡組件之前,可以在紙上計算和評估這些參數(shù)。Twisthink公司使用這些薄透鏡方程創(chuàng)建了一個Excel工作表(見圖3),用于快速選擇圖像傳感器和鏡頭產(chǎn)品,工作表可以從http://bit.ly/VSD-TWI下載。
圖3:Twisthink公司使用這些薄透鏡方程創(chuàng)建了一個Excel工作表,用于快速選擇圖像傳感器和鏡頭產(chǎn)品,工作表可以從http://bit.ly/VSD-TWI下載。
如果光學(xué)系統(tǒng)具有大約5%或更大的失真,則薄透鏡方程不能精確地對系統(tǒng)建模。這時候通過采樣確定視覺系統(tǒng)參數(shù)變得更具挑戰(zhàn)性。
清晰度是圖像空間頻率的測量。通常區(qū)分細節(jié)將具有很高的空間頻率。在評估影響清晰度的視覺系統(tǒng)參數(shù)時,最簡單的方法是從兩種不同的場景來看:靜止狀態(tài)和運動狀態(tài)。
在靜止狀態(tài)下,清晰度的三大影響因素分別是環(huán)境、鏡頭和圖像傳感器:
· 環(huán)境中的霧、灰塵和微粒會引發(fā)圖像模糊,因此在系統(tǒng)設(shè)計中需要考慮這些因素。
· 低質(zhì)量鏡頭和鏡頭在圖像傳感器上的聚焦,會引發(fā)圖像模糊。其他因素包括溫度和制造——由于制造差異,模糊程度隨溫度變化,而且每個鏡頭可能情況都不一樣。
· 圖像傳感器因像素串擾引入圖像模糊。這種模糊情況隨光譜波長而變化,大多數(shù)圖像傳感器供應(yīng)商會根據(jù)要求提供此類信息。
在運動狀態(tài)下,運動速度與曝光時間共同決定了圖像的模糊程度。為了減少模糊,可以限制最大運動速度和/或?qū)⑵毓鈺r間降到最短,當然這將影響許多其他的視覺系統(tǒng)參數(shù),如圖像亮度、照明強度等等。
評估系統(tǒng)的性能
構(gòu)建完系統(tǒng)后,評估系統(tǒng)性能的一個好方法就是使用數(shù)據(jù)集。數(shù)據(jù)集用于訓(xùn)練機器學(xué)習(xí)和深度學(xué)習(xí)算法。利用數(shù)據(jù)集,還可以頻繁有效地評估系統(tǒng)的性能,并且可以為“判斷解決方案是否符合預(yù)期”給出有價值的參考。
Twisthink使用一種稱為算法開發(fā)框架的工具來收集數(shù)據(jù)、管理和處理數(shù)據(jù),并有效地開發(fā)和評估。該框架包括五個部分,分別為視覺系統(tǒng)、數(shù)據(jù)集收集、標定的真實數(shù)據(jù)或標簽、算法開發(fā)和性能評估,如圖4所示。
圖4:Twisthink使用一種稱為算法開發(fā)框架的工具來收集數(shù)據(jù)、管理和處理數(shù)據(jù),并有效地開發(fā)和評估。
為了實現(xiàn)準確的系統(tǒng)評估,必須在代表性環(huán)境中使用代表性視覺系統(tǒng)收集數(shù)據(jù)集。理想情況下,應(yīng)使用視覺系統(tǒng)的最終版本來收集數(shù)據(jù)集。如果無法做到這一點,請在設(shè)計視覺系統(tǒng)時收集含代表性部分的小的初步數(shù)據(jù)集。
得到算法與數(shù)據(jù)集應(yīng)產(chǎn)生的答案是評估的關(guān)鍵。這稱為真實數(shù)據(jù)或標簽。通常,真實數(shù)據(jù)需要人工解釋,這通常是一個昂貴的步驟。具有真實數(shù)據(jù)的數(shù)據(jù)集可以成為支持產(chǎn)品開發(fā)的專有資產(chǎn)。
一旦開發(fā)出算法,就可以用數(shù)據(jù)集和真實數(shù)據(jù)來評估系統(tǒng)的性能。性能評估需要定義一個基準來測量系統(tǒng)的性能。使用預(yù)先記錄的數(shù)據(jù)集來評估系統(tǒng)性能,可以加速開發(fā),但是,解決方案的可信度是由數(shù)據(jù)集的內(nèi)容決定的。因此,設(shè)計表征應(yīng)用空間的數(shù)據(jù)集非常重要。
使用數(shù)據(jù)集評估系統(tǒng)性能,就像軟件世界中的黑盒測試一樣。但是,有時必須執(zhí)行較低級別的“單元”測試。一種方法是通過對信號路徑建模來理解噪聲源及其對圖像質(zhì)量的影響。圖5顯示了基于相機的檢測系統(tǒng)的主要組成部分。每個部分都受到不同噪聲源的影響,每個噪聲源都會影響捕獲的圖像質(zhì)量。在每個部分中不同傳輸功能或噪聲源,將影響初始信號。
圖5:信號路徑建模有助于開發(fā)人員理解噪聲源及其對圖像質(zhì)量的影響。
對信號路徑建??梢陨钊肓私獠幻黠@的噪聲源以及它們是否具有合適的解決方案。它還可以幫助確定哪些噪聲源需要進一步研究或?qū)嶒灐W詈?,可以幫助理解組件之間的相互作用,并通過優(yōu)先考慮“容易實現(xiàn)的目標”來指導(dǎo)開發(fā)。
當您設(shè)計基于嵌入式相機的檢測系統(tǒng)時,一定記得在開始算法開發(fā)的時候就要充分考慮視覺系統(tǒng)的方方面面。并且請記住使用迭代開發(fā)方法,從最高圖像質(zhì)量特征(采樣和清晰度)開始,并使用數(shù)據(jù)集來評估系統(tǒng)性能。
審核編輯 :李倩
-
圖像傳感器
+關(guān)注
關(guān)注
68文章
1943瀏覽量
130049 -
算法
+關(guān)注
關(guān)注
23文章
4660瀏覽量
94000 -
視覺系統(tǒng)
+關(guān)注
關(guān)注
3文章
340瀏覽量
30996 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1217瀏覽量
25097
原文標題:啟動視覺系統(tǒng)算法開發(fā)工作需要考慮的因素
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
機器視覺系統(tǒng)應(yīng)用成為檢測行業(yè)主導(dǎo)潮流
機器視覺系統(tǒng)原理及學(xué)習(xí)路線
微信精選:圖像處理軟件在機器視覺系統(tǒng)中怎么工作?
機器視覺系統(tǒng)是指什么? 機器視覺系統(tǒng)的工作原理是什么?
深圳機器視覺光源選擇有什么因素要考慮?
四元數(shù)數(shù)控:深圳機器視覺系統(tǒng)怎么選擇合適的?
嵌入式視覺系統(tǒng)的構(gòu)建模塊
機器視覺系統(tǒng)需要考慮的十個問題
機器視覺系統(tǒng)中影響圖像質(zhì)量的因素有哪些?
嵌入式機器視覺系統(tǒng)設(shè)計

評論