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