湯全武,何昊瀚,楊 燕,朱 赫,郭錦程,張天維
(寧夏大學物理與電子電氣工程學院,寧夏 銀川 750021)
我國馬鈴薯種植面積和產量均居世界首位,但目前馬鈴薯品質檢測及分級多處于人工主觀篩選階段,無法滿足工業生產需要。因此,研究提出了基于高光譜成像技術的馬鈴薯自動分級系統,采用高光譜獲取包含馬鈴薯信息的多幅圖像,利用光譜圖像處理技術實現馬鈴薯的快速無損分級[1-3]。在前人工作基礎上,需研究基于多目視覺實現馬鈴薯動態分級的新方法。由于馬鈴薯在檢測過程中一直處于運動狀態,因此研究的關鍵前提是保證多部相機能夠連續同步地采集到馬鈴薯的外部圖像。
相機同步采集是指在外部時序的控制下實現多相機的同步曝光[4-6]。溫小艷等[6]設計了基于FPGA的雙目視覺同步采集系統,解決了手術導航系統中的兩相機不同步問題。林冬梅等[7]采用千兆以太網作為傳輸總線接口,搭建了雙相機圖像實時采集系統。馬強等[8]設計了一種基于PCI總線接口的設計方法。姜廣文等[9]設計了一種多相機外觸發的方式,采用USB 2.0接口傳輸圖像數據,相機在同步控制軟件作用下,實現多個相機同步采集處理系統。也有不少研究者采用GPS授時同步電路控制相機同步曝光,并且達到了微秒級別的精度[10-11]。但上述研究方法均存在一定的局限性,如基于FPGA的同步策略需要較長的開發周期;采用PCI、USB等傳輸方式速度較慢,且限制因素較多;基于GPS授時的同步策略精度較高,但易受到現場環境干擾。
本文采用3個CCD相機為基本采集單元,以STM32F103系列單片機為同步信號控制器,通過合理設置STM32中的定時器產生3路頻率與占空比相同的PWM脈沖信號。產生的PWM信號經放大電路放大,達到相機采用Line0接口進行外觸發時的高電平電壓值,實現對3臺CCD相機的同步控制與觸發。由于相機配套軟件只能實現單個相機的采集工作,需要在軟件的基礎上再次開發設計實現3臺相機的同步采集和圖像同步存儲功能的軟件系統[8]。為使得相機采集的圖像能夠快速傳輸至計算機進行識別,保證馬鈴薯分級系統的實時性,相機用千兆網線與帶有4通道千兆網卡的主機相連,完成整個圖像采集的工作流程。
馬鈴薯動態分級系統擬通過3臺相機獲得的同步圖像序列融合得出馬鈴薯完整的表面信息,并利用該信息進行后續馬鈴薯等級的分類。馬鈴薯動態分級系統的整體流程如圖1所示,其中馬鈴薯表面圖像采集是整個方案的前提。

圖1 馬鈴薯動態分級系統流程Fig.1 Flow chart of potato dynamic grading system
多目相機同步采集整體方案示意如圖2所示,其中包含3臺由中國大恒圖像公司生產的CCD工業數字相機,型號為MER-125-30GC-P,分辨率1 292×964,最大幀率30幀/s,數據傳輸接口支持千兆以太網且具有外部觸發采集功能;1臺惠普計算機,8 GB運行內存,Intel Xeon E5 CPU,主頻3.50 GHz;1塊4通道千兆網卡,型號為Intel-EXPI-9404-PTL;4根千兆網線,用于實現工業相機和計算機之間的圖像數據傳輸,以及相機參數的控制;德國SICK公司的光電傳感器1件,型號為WL-3P430,作為單片機產生觸發脈沖的外部信號;單片機開發板1塊,單片機芯片型號為STM32F103R6,用于產生3路同步觸發脈沖,經放大電路放大之后控制3部相機同步工作。

圖2 多目相機同步采集整體方案Fig.2 Overall scheme design of multi camera synchronous acquisition
以STM32F103R6單片機作為同步信號控制器,將3臺相機的觸發模式設置成外觸發采集模式,產生的同步脈沖信號再經放大電路放大后,實現對3臺相機的同步觸發。
同步信號控制器由STM32F103R6單片機、復位電路、按鍵電路、PG12864液晶顯示屏、放大電路及計算機等組成,另外包括1個光電傳感器。同步信號控制器設計如圖3所示。

圖3 同步信號控制器設計Fig.3 Design of synchronous signal controller
STM32F103R6本身帶有1個高級定時器(TIM1)和3個16位的通用定時器(TIM2TIM3TIM4)。定時器通過設置均可產生一路或多路PWM信號。本同步控制設計就是采用STM32自帶的通用定時器來產生3路頻率與占空比相同的PWM信號,實現對3個相機的同步控制。
系統采用SICK公司的WL-3P430型光電傳感器模塊作為單片機產生觸發脈沖的外部信號,利用STM32單片機編程產生同步觸發脈沖,用于控制3臺相機同步工作。
光電傳感器檢測傳送帶上的馬鈴薯是否到達采集范圍,當接收到馬鈴薯到達的信號時,以STM32為主控的信號發生器產生周期相同且同步的脈沖觸發信號,該觸發信號可與相機的1號插針Line0+口相連接,控制相機開始曝光。為保證3臺相機能夠連接在同一臺計算機上正常工作,采用了1塊4通道千兆網卡及3條千兆網線來解決普通計算機只支持單個網絡的問題,實現3臺相機同時工作的具體流程如圖4所示。

圖4 3臺相機同步工作流程Fig.4 Work flow of three cameras synchronization
相機同步曝光是實現圖像同步采集的關鍵。選用的大恒MER系列相機同時具有軟觸發和外觸發控制相機曝光的功能,MER系列相機采用8插針I/O接口,其中1號插針(Line0+)為接收外部觸發信號的端口。當輸入電平>2.8 V時,被認為屬于有效觸發信號,且觸發信號類型可根據需求自由設定為上升沿觸發或下降沿觸發。當相機接收到有效觸發信號時,便開始曝光,通過控制有效觸發信號的產生周期,相機便可以根據系統所需采集頻率進行圖像的采集。
MER-125-30GC-P相機在外觸發模式下的工作時序如圖5所示。其中,曝光延遲時間可根據需要在16~10 000 000 μs進行調整。當曝光積分完成后即可進行數據傳輸,圖像數據的傳輸存在短暫的延遲,延遲時間約10 μs,在經過短暫的傳輸延遲后圖像數據可通過網線傳送至計算機中,完成由觸發到采集的流程。

圖5 相機在外觸發模式下的工作時序Fig.5 Working sequence of camera in external trigger mode
實現3臺相機可以同步的采集,并完成同步存儲功能,為進行后續馬鈴薯圖像的識別處理和快速分類奠定基礎是本項目中最為核心重要的功能,因此在大恒提供的配套Galaxy Viewer采集軟件與GigE IP Configurator輔助工具及MERCURY軟件包基礎上,設計馬鈴薯圖像采集系統,實現3臺相機能夠同步采集馬鈴薯圖像,并且將采集到的圖像保存至指定文件夾。
系統軟件程序的主要功能如下。首先,初始化系統,配置系統與相機間的IP地址,使得二者之間確保通信及實現數據傳輸,連接好相機后對相機的相關參數進行設置,做好采集圖像的準備工作。接下來,在進行同步采集前,第1次打開軟件進行采集時,需要先設置3臺相機采集圖像的存儲路徑,否則采集的圖像無法保存使得系統無法運行。然后,在選擇連續觸發模式后進行圖像的同步采集。最后,停止采集退出程序。同步采集軟件界面如圖6所示。

圖6 系統采集工作畫面Fig.6 System acquisition work screen
在對相機進行同步測試之前,首先需要調整并固定3部相機的工作距離及其分辨率。考慮到3臺相機分別從馬鈴薯的正上方、左側及右側3個方向進行采集,3個相機同步拍攝的馬鈴薯圖像會有部分的重疊視場,在保證獲取到完整馬鈴薯表面圖像的基礎上,可適當減小視場重疊,提高后期圖像數據融合及處理的效率。因此,采集系統中3臺相機的工作距離約距離待測馬鈴薯10~15 cm,可根據現場具體情況適當更改,合適地調整3臺相機的空間相對位置,最大獲得馬鈴薯圖像完整表面信息。為同時兼顧圖像清晰度及數據處理效率,將采集圖像的分辨率設定為620像素×480像素。3臺相機的實際位置分別如圖7所示。

圖7 相機空間擺放位置Fig.7 Camera space placement
雖然3臺相機可同步采集到運動的馬鈴薯圖像,但效果并不直觀,需要用更直觀的方式來測試其同步性能。測試方法是用3臺相機同步采集正在運動的視頻畫面和計時的秒表圖像來測試相機的同步性能。
首先測試3臺相機可以到達的最高同步幀率,將3臺相機置于同一方向,如圖8所示。

圖8 相機測試擺放位置Fig.8 Camera test placement
將3臺相機同時對正在播放的視頻進行圖像采集,并保持觸發脈沖的幀率和視頻幀率一致。逐漸提高視頻的播放幀率,直到3臺相機采集的圖像出現不同步,以測試3臺相機的最高同步幀率。為保證測試的準確性,測試視頻采用2004年雅典奧運會110 m欄決賽錄像。如圖9所示為視頻幀率12幀/s時,某一時刻3臺相機所采集到的圖像。

圖9 某一時刻拍攝視頻采集圖像Fig.9 Video capture image at a certain moment
測試結果表明,3臺相機的最高同步幀率能夠達到12幀/s。當不斷地提高視頻幀率和觸發脈沖頻率時,3臺相機的同步性能表現如圖10所示。

圖10 相機同步性能曲線Fig.10 Camera synchronization performance curve
當圖像的采集幀率<12幀/s時,3臺相機能夠持續穩定地進行同步采集。采集幀率由13幀/s上升至19幀/s的過程中,3臺相機保持同步采集的時間出現迅速下降(由45 s下降到6 s),當系統的工作時間超過最大同步采集時間時,3臺相機采集到的圖像已經處于完全的不同步狀態。采集幀率為23幀/s時,3臺相機已經完全不能進行同步采集。試驗結果表明,當觸發脈沖的頻率>12 Hz時,隨著觸發頻率的增高,圖像采集出現的丟幀現象也更為嚴重。
由試驗測試結果可知,3臺相機最高能在幀率為12幀/s的外觸發信號下進行圖像的同步采集工作。在馬鈴薯動態分級系統中,整個圖像的采集及處理處于實時狀態,要求單個馬鈴薯從圖像的采集、數據處理到最后分級完成的整體時間不超過0.2 s,即圖像的采集頻率為5次/s。而圖像采集僅僅是系統前端的一部分,因此圖像的采集頻率也不宜過高,否則將會導致馬鈴薯分級的失敗。
3臺相機的同步幀率已經完全能夠滿足當前系統的需求,并且預留出了較大的提升空間,當系統的分級速度提高時,該系統仍然能夠持續穩定的進行工作,具有較好的魯棒性。多相機同步采集馬鈴薯圖像的實現,解決了馬鈴薯動態分級系統中的關鍵問題,為后續的圖像分類提供了完整的數據。
針對馬鈴薯動態分級系統中的圖像同步采集問題,提出了一種基于千兆以太網的三目相機同步采集方案。方案通過1塊4通道千兆網卡將計算機和3臺相機相連接,并基于大恒相機的軟件開發工具包(Software Development Kit,SDK)開發了3部相機同步采集及自動存儲軟件,實現圖像的同步采集及自動存儲。在當前計算機的配置下,同步幀率達12幀/s,解決了分級系統中存在的圖像同步采集問題。基于機器視覺的馬鈴薯自動分級系統在工業生產中具有廣闊的應用前景,本文設計的多相機同步采集方案,解決了馬鈴薯自動分級系統中的關鍵問題,為馬鈴薯自動分級系統的工業化打下了堅實的基礎。