1 引言 隨著生活水平的提高,飲料的市場需求量也不斷增加,產品的質量已成為生產廠商和消費者關注的問題。目前,市場上幾乎所有的飲料瓶都是采用PET(環保塑膠)切片來注塑加工成型的。在進行灌裝的工序時,高速旋蓋子系統中PET瓶會出現蓋擰松、高蓋和歪蓋等情況;這些情況中輕微的會導致產品外觀不美觀,嚴重的會導致飲料內部質量發生變化。所以為了減少不合格品的數量,需要增加必要的檢測工序。 傳統的方法是在計算機中利用軟件實現圖像處理系統,這是一個相對耗時的過程,而且對于處理速度要求很高的檢測系統來說,用這種方法也會逐漸不能滿足現代化大生產的高速生產節拍要求,給視覺檢測實現100%在線檢測方面帶來了局限性。FPGA器件的可編程片上系統(SOPC)在設計的靈活性、功能的可裁剪性和軟硬件的可編程性上具有良好的集成度和成本較低等特點,為圖像處理系統帶來了新的解決方案,并具有極大的靈活性。目前并行處理是解決系統實時性問題的有效方法。 2 系統硬件的實現 設計采用FPGA芯片EP2C35F6726C,利用SOPC技術設計實現一個能檢測PET瓶缺陷的系統。即針對PET瓶灌裝后高蓋、歪蓋等缺陷情況進行快速檢測判別,以確定并報警剔除不合格產品。系統主要由圖像采集模塊、FPGA圖像處理模塊、圖像顯示模塊和判別模塊四部分組成。系統硬件平臺如圖1所示。 在生產線上待檢測產品經過傳送帶輸送到達指定位置時,光電傳感器產生感應信號,傳送帶停止一段時間,系統開始進行PET瓶缺陷檢測。按下按鍵后由圖像采集模塊(TRDB-DC2)采集圖像數據,通過硬件器件,將數據RAW轉換成RGB格式,再進行圖像預處理,并在SDRAM中保存相應的數據,以利于進行后期圖像處理,同時也可以通過操作相應按鍵在VGA上實時顯示出該圖像。系統在FPGA芯片EP2C35F6726C上配置的NIOSⅡ軟核處理器作為控制核心,并在Avalon總線上掛接相應的接口模塊和用戶自定義邏輯模塊,與FPGA的外圍單元共同完成系統后期的圖像處理、實時顯示剔除操作等功能。系統硬件設計框如圖2所示。整個設計采用自上而下的設計方法,在SOPCBuilder中搭建系統硬件模塊。將所需的各功能模塊通過Avalon總線集成。SOPCBuilder具有強大的系統集成特性,充分利用現有的IP,大大縮短了設計周期,在很短的時間內就可以構建一個穩定的系統,進而基于硬件完成系統中各模塊的軟件設計,最后集合成系統,如圖3所示。 在各模塊中主要介紹以下幾個模塊: (1)圖像采集模塊。圖像采集采用的是TRDB-DC2模塊。該模塊由1片高像素的CMOS圖像傳感芯片和1個聚焦鏡頭組成。圖像采集通過CMOSSen-sor采集圖像后,再由I2C總線對圖像傳感器進行配置,然后再根據圖像傳感器的時序特性來讀取采集到的圖像點陣。由于采集到的圖像點陣是:Bayer色彩空間,因而還要由相應的算法將其轉換為RGB色彩空間,再把圖像點陣數據存入SDRAM,而VGA顯示部分則從SDRAM中讀取數據來顯示。SDRAM控制器采用雙口SDRAM控制方法。圖像處理部分也可以從SDRAM中讀取數據來處理。其硬件模塊如圖4所示。 (2)圖像預處理模塊。從SDRAM中讀取數據,采用硬件語言對圖像預處理實現圖像的灰度變化、閾值分割和二值化處理。其硬件模塊圖如圖5所示。 (3)VGA硬件模塊。VGA控制器外接一個存儲器,以保存當前顯示的數據。控制器根據不同時刻在VGA上顯示的像素位置,計算出存儲器中當前數據存放的地址,并輸出存儲器地址(oAddress信號)。外接存儲器控制器從該地址中讀取數據,返回給VGA控制器(iRed,iGreen,iBlue)。VGA控制器將顯示數據輸出到D/A轉換器上。依據其水平與垂直時序設計的VGA控制器如圖6所示。通過VGAcontroller器件,可以實時將圖像直接顯示在VGA上。 3 系統軟件實現 3.1 軟件總體設計 系統配置完成后,攝像頭獲取圖像,送人SDRAM存儲器,每幀圖像經轉換生成圖像數據進入預處理模塊進行灰度變化、閾值分割、二值化和邊緣跟蹤,使用硬件語言進行處理和結合NIOSⅡ處理器進行圖像的先后續處理和控制,處理后的圖像經數模轉換在監視器上實時顯示。系統軟件總流程圖如圖7所示。 3.2 圖像后處理算法的設計 3.2.1 NIOS中使用C++實現圖像檢測判斷準則 (1)求取瓶蓋上邊緣到基準線的最大距離,先與標準瓶蓋的上邊緣到基準線的標準距離比較,判斷瓶蓋旋封是否合格,大于標準距離,認為瓶子不合格,剔除瓶子。 (2)通過左邊緣直線、右邊緣直線分別和基準線、上邊緣的直線之間的夾角來判斷瓶蓋旋封是否合格,如果4個夾角都在(90°-δ)內(δ為一個允許的誤差,取一個很小的角度),認為瓶子合格,否則瓶子不合格,剔除。 3.2.2設計步驟 (1)采集經過適當預處理的圖像數據后,首先找出瓶蓋和瓶身的分割線,該分割線位于瓶頸區域,通過分割線,確定瓶蓋所在區域,縮小了后面圖像的識別范圍,如圖8所示。 (2)在PET瓶的瓶頸和瓶蓋部分有一個天然的分隔區域,在該分區區域內能找出一條距離最長的線段,規定該線段作為基準線,并求出該基準線與水平方向的夾角,如圖8中所示。 (3)求取瓶蓋上邊緣上的點到基準線的距離,找出上邊緣到基準線距離最大的點,并求出該最大距離d,然后根據第一條判斷準則進行判斷。 (4)分別提取出瓶蓋左邊緣、右邊緣和上邊緣上的點,接著采用Hough直線變換去除干擾點;然后用最小二乘法線性擬合出3條,并求出其與水平方向的夾角。 (5)利用已求出的4條直線與水平方向的夾角,可以求出左邊緣確定的直線(右邊緣確定的直線)與基準線之間的夾角;左邊緣確定的直線(右邊緣確定的直線)與上邊緣確定的直線之間的夾角一共有4個角,然后根據第二條判斷準則判斷瓶子是否合格,流程圖如圖9所示。 4 結果 由系統檢測在VGA上顯示的背光光源效果、邊緣跟蹤效果圖分別如圖10和圖11所示。 圖12和圖13為歪蓋情況經二值化后的效果圖與以第一準則識別的功能圖。 由PC機處理的PET瓶缺陷檢測,在灌裝線上實現檢測的,一般情況約為2~3瓶/s。經采用基于FPGA芯片的SOPC方法處理實現檢測速度可達約90ms處理完一瓶的圖像,且檢測準確率達99%以上。不僅滿足了系統的設計要求,也達到生產線速度性能指標。 5 結語 介紹系統各模塊的功能和設計,依據設計的邏輯需求自制相應的IP,如攝像頭驅動CCD_Controller,SDRAMController,VGAcontroller,以及對外連接的PIO組件,如按鍵Key_pio和sw_pio等組成系統硬件的構建,再由計算機生成硬件系統。在構建的硬件系統上建立軟件設計,并針對元器件在NIOSⅡ中的圖像處理程序設計,闡述基于SOPC在圖像處理方面的設計方法。實際應用證明了FPGA在圖像處理的可行性及在處理速度上的優勢。 |