張謙 裴海龍 史步海 趙運(yùn)基
(華南理工大學(xué)自主系統(tǒng)與網(wǎng)絡(luò)控制教育部重點(diǎn)實(shí)驗(yàn)室∥自動(dòng)化科學(xué)與工程學(xué)院,廣東廣州510640)
在個(gè)人衛(wèi)生用品相關(guān)行業(yè)中使用的無紡布原材料,是一次性用品,且與人體直接接觸,因而顧客對產(chǎn)品的質(zhì)量及衛(wèi)生狀況極其關(guān)注.然而在無紡布的生產(chǎn)過程中,不可避免地會(huì)出現(xiàn)一些機(jī)器油污、粉末、滴膠甚至死昆蟲等污物附著在成品表面上,這些污物的面積大小不一.目前國內(nèi)無紡布成品行業(yè)的生產(chǎn)線速度每分鐘高達(dá)300m,包裝前的人工隨機(jī)抽樣檢測不僅效率低下,無法檢測所有產(chǎn)品,而且增加了人員成本.在生產(chǎn)線上安裝視覺檢測系統(tǒng),是近兩年來國內(nèi)無紡布成品生產(chǎn)廠商提出的新需求.
目前無紡布行業(yè)使用的機(jī)器視覺檢測系統(tǒng)主要有兩種:(1)國際大廠商提供的集成系統(tǒng),如Cognex、Keyence、Omron等的視覺檢測系統(tǒng);(2)國內(nèi)一些公司采用OEM相機(jī)在個(gè)人計(jì)算機(jī)(PC)平臺(tái)上自主開發(fā)的視覺檢測系統(tǒng).然而這兩種視覺檢測系統(tǒng)的價(jià)格昂貴,不僅增加了生產(chǎn)線制造廠家及最終產(chǎn)品制造商的成本,而且他們也無法掌握核心知識(shí)產(chǎn)權(quán).
在實(shí)際應(yīng)用中,視覺檢測系統(tǒng)不僅需要檢測可靠,還需要使用方便.文獻(xiàn)[1]中基于FPGA設(shè)計(jì)的視覺檢測系統(tǒng),以PCI接口的形式插入到PC上,不利于生產(chǎn)線的安裝,降低了系統(tǒng)的易用性和可靠性;如果以FPGA片上軟核的形式設(shè)計(jì)人機(jī)界面,需要占用大量邏輯單元,導(dǎo)致實(shí)現(xiàn)檢測算法時(shí)受到約束.文獻(xiàn)[2-3]中基于DSP/FPGA構(gòu)架設(shè)計(jì)的系統(tǒng),實(shí)現(xiàn)了嵌入式視覺檢測系統(tǒng)的數(shù)據(jù)采集及圖像處理,但仍然依賴于PC界面調(diào)試,沒有在系統(tǒng)中集成人機(jī)界面,不滿足在工作現(xiàn)場進(jìn)行調(diào)試及使用時(shí)提出的易用性要求,增加了推廣難度.文獻(xiàn)[4]中設(shè)計(jì)了一種嵌入式終端,讓視覺檢測系統(tǒng)的調(diào)試、圖像顯示等不再依靠于PC系統(tǒng),然而系統(tǒng)總體框架上只是采用嵌入式終端來代替PC系統(tǒng),復(fù)雜的數(shù)據(jù)流轉(zhuǎn)移增加了系統(tǒng)框架的復(fù)雜度,影響了系統(tǒng)運(yùn)行的可靠性.因此文中針對無紡布成品表面檢測設(shè)計(jì)了一種嵌入式機(jī)器視覺檢測系統(tǒng),該系統(tǒng)集成了圖像采集、處理、人機(jī)界面、通信等功能,以滿足系統(tǒng)可靠性、易用性、低成本、高集成度的需求.
機(jī)器視覺檢測系統(tǒng)包括圖像采集和圖像處理兩部分,圖像采集由電荷耦合元件(CCD)傳感器完成.CCD傳感器從芯片結(jié)構(gòu)上可分為面陣和線陣兩種,面陣CCD傳感器主要用于記錄、存儲(chǔ),線陣CCD傳感器主要用于產(chǎn)品外部尺寸的非接觸檢測、分類、表面質(zhì)量評定、智能化測控及機(jī)器視覺中的精確定位等.線陣CCD傳感器具有成像分辨率、像素灰度級(jí)和采樣速度高及檢測尺寸大等特點(diǎn),可以實(shí)現(xiàn)高精度的檢測[5].無紡布成品在生產(chǎn)過程中通常具有高速、寬幅面的特點(diǎn),所以采用線陣CCD傳感器更符合實(shí)際應(yīng)用要求.
嵌入式機(jī)器視覺檢測系統(tǒng)在采集圖像時(shí),可利用復(fù)雜可編程邏輯器件(CPLD)驅(qū)動(dòng)線陣CCD傳感器,并按照DSP數(shù)據(jù)總線的時(shí)序要求,實(shí)現(xiàn)圖像數(shù)據(jù)的高速傳輸,這樣不僅可以靈活設(shè)計(jì)和安裝,而且可以保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性[6].另外,DSP提供了豐富的圖像處理函數(shù)且有高速的數(shù)據(jù)處理能力,可以在短時(shí)間內(nèi)完成圖像處理算法,保證在線檢測算法的實(shí)時(shí)性.CPLD的并行處理能力也為實(shí)現(xiàn)人機(jī)界面提供了便利.視覺檢測系統(tǒng)的硬件設(shè)計(jì)框架如圖1所示,系統(tǒng)在實(shí)際生產(chǎn)線上安裝使用的裝配圖如圖2所示.
圖1 視覺檢測系統(tǒng)的硬件設(shè)計(jì)框架圖Fig.1 Design frame diagram of hardware of the vision detection system
圖2 視覺檢測系統(tǒng)安裝圖Fig.2 Installation diagram of the vision detection system
由圖1可知,該視覺檢測系統(tǒng)主要包括傳感器處理電路、人機(jī)界面、圖像存儲(chǔ)與處理、輸入輸出(IO)系統(tǒng).傳感器處理電路由CCD驅(qū)動(dòng)電路、專用圖像信號(hào)處理器及外圍電路構(gòu)成,CPLD根據(jù)外部同步信號(hào)和觸發(fā)信號(hào)驅(qū)動(dòng)圖像信號(hào)處理器采集原始圖像數(shù)據(jù).人機(jī)界面由CPLD進(jìn)行顯存管理及VGA輸出管理,并由DSP生成用戶菜單和響應(yīng)手操板動(dòng)作改變工作參數(shù).CPLD產(chǎn)生符合DSP數(shù)據(jù)總線時(shí)序的信號(hào),將圖像數(shù)據(jù)寫入到DSP數(shù)據(jù)總線的緩存中,并由DSP的DMA操作將緩存中的數(shù)據(jù)保存到同步動(dòng)態(tài)隨機(jī)存取器(SDRAM)中,完成圖像的存儲(chǔ),最后由DSP完成圖像處理,產(chǎn)生判斷結(jié)果并輸出脈沖.系統(tǒng)的IO接口信號(hào)包括系統(tǒng)的同步信號(hào)、外觸發(fā)信號(hào)及次品剔除信號(hào).同步信號(hào)來自生產(chǎn)線的伺服放大器脈沖,用于控制生產(chǎn)線的速度變化與線陣CCD傳感器采樣行頻率之間的對應(yīng)關(guān)系,避免生產(chǎn)線速度的變化導(dǎo)致采集的圖像出現(xiàn)拉伸或壓縮變形.外觸發(fā)信號(hào)來自電子凸輪的輸出,主要用于標(biāo)識(shí)運(yùn)動(dòng)方向上不連續(xù)的檢測區(qū)間;次品剔除信號(hào)傳輸給執(zhí)行機(jī)構(gòu)以剔除發(fā)現(xiàn)有缺陷的產(chǎn)品.
系統(tǒng)采集圖像時(shí)所使用的線陣CCD傳感器,其型號(hào)為東芝公司的 TCD1209D,有效像敏單元為2048 個(gè),最大行頻率為 10 kHz[7].由 CPLD 驅(qū)動(dòng)線陣CCD傳感器進(jìn)行圖像數(shù)據(jù)采集的信號(hào)如圖3所示.
圖3 圖像數(shù)據(jù)采集信號(hào)Fig.3 Signal of image data acquisition
圖3所示TCD1209D的輸出通過VSP1021專用CCD傳感器圖像采集芯片完成模/數(shù)(A/D)轉(zhuǎn)換,其支持雙采樣技術(shù),內(nèi)置輸入鉗位電路和可編程增益放大器[8].系統(tǒng)通過CPLD提供的SR、SV和ADCCLK時(shí)序信號(hào),對雙采樣過程進(jìn)行調(diào)節(jié).DSP通過SPORT口提供的串行SCLK、SDIN和CS接口時(shí)序,配置VSP1021芯片上的寄存器和調(diào)節(jié)增益.VSP1021輸出8位精度的原始圖像數(shù)據(jù),由CPLD進(jìn)行邏輯處理后,按照DSP數(shù)據(jù)總線的寫入時(shí)序及顯存芯片的寫入時(shí)序要求,寫入到DSP內(nèi)存和顯存中,供后續(xù)處理.
視覺檢測系統(tǒng)在調(diào)試時(shí),一般需要采集實(shí)時(shí)圖像并進(jìn)行分析,以設(shè)置正確的工作參數(shù).以PC為平臺(tái)設(shè)計(jì)調(diào)試界面,不僅面臨大批量數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性問題,而且要將PC安裝在生產(chǎn)線上,降低了系統(tǒng)的易用性,增加了推廣難度.為此,文中設(shè)計(jì)的視覺檢測系統(tǒng)集成了人機(jī)界面,通過其VGA接口,直接將界面顯示在標(biāo)準(zhǔn)VGA顯示器上,并以簡易手操板來操作系統(tǒng)的界面,完成工作參數(shù)設(shè)置,這些工作參數(shù)保存在系統(tǒng)的外置EEPROM中,保證上電后自動(dòng)加載參數(shù).
人機(jī)界面有三方面功能:保存實(shí)時(shí)圖像、生成系統(tǒng)菜單、VGA顯示,實(shí)現(xiàn)這三方面功能的關(guān)鍵在于顯存管理.設(shè)計(jì)系統(tǒng)時(shí)將SRAM靜態(tài)存儲(chǔ)器作為顯存,型號(hào)為CY7C1049,其最快訪問時(shí)間為12 ns,容量為512kB[9].CPLD 在獲取 VSP1021 輸出的圖像數(shù)據(jù)后,在每個(gè)行同步周期內(nèi),將一次掃描的2048個(gè)有效數(shù)據(jù)寫入DSP,同時(shí)以4∶1的采樣比例將圖像數(shù)據(jù)保存在顯存中.系統(tǒng)界面采用VGA的標(biāo)準(zhǔn)640 ×480 分辨率,其行周期是 31.77 μs[10],每行的時(shí)序要求如圖4所示.
圖4 VGA同步時(shí)序Fig.4 VGA synchronous timing
CPLD采用20MHz作為驅(qū)動(dòng)VGA時(shí)序的時(shí)鐘頻率,每個(gè)像素的掃描寬度為50 ns,由圖4可知,每行總的像素單元數(shù)為 31.77 μs/50 ns=636,而有效像素單元數(shù)為 25.17 μs/50 ns=512.行分辨率采用標(biāo)準(zhǔn)的形式,每行總的像素單元數(shù)為524,有效行數(shù)為480.同時(shí),為了防止對顯存進(jìn)行讀寫操作的數(shù)據(jù)之間發(fā)生沖突,要求在進(jìn)行讀操作時(shí)不能進(jìn)行寫操作,而且寫操作完成后要使其數(shù)據(jù)引腳處于高阻.對SRAM的寫操作時(shí)序如圖5所示.
圖5 SRAM寫時(shí)序Fig.5 SRAM writing timing
系統(tǒng)菜單主要由DSP生成,因?yàn)镃PLD需要用到一些工作參數(shù)(如外同步的分頻比例),而DSP調(diào)節(jié)A/D的工作點(diǎn)時(shí)也需要獲取經(jīng)CPLD計(jì)算得到的線速度信息,因此設(shè)計(jì)系統(tǒng)時(shí)CPLD以寄存器操作的形式開放總線給DSP,DSP以其異步存儲(chǔ)器總線對這些寄存器進(jìn)行讀寫操作,實(shí)現(xiàn)DSP與CPLD之間的協(xié)調(diào)工作.CPLD先把DSP寫入到其寄存器中的菜單數(shù)據(jù)值保存到顯存中固定的地址單元,再通過讀取顯存中的數(shù)據(jù)進(jìn)行VGA顯示,實(shí)現(xiàn)菜單界面.DSP是基于μC/OS-II系統(tǒng)構(gòu)架進(jìn)行編程的,可以方便地實(shí)現(xiàn)多任務(wù)調(diào)度.另外,基于片上總線的數(shù)據(jù)操作,可以保證界面顯示的實(shí)時(shí)性,克服基于PC界面進(jìn)行調(diào)試的不方便.圖6所示為實(shí)際工作時(shí)捕捉到的無紡布成品表面圖像數(shù)據(jù)及菜單顯示結(jié)果.
圖6 系統(tǒng)的圖形用戶界面Fig.6 Graphic user interface of system
IO系統(tǒng)主要有兩方面功能:圖像采集控制及次品剔除控制.圖像采集控制是通過外同步與外觸發(fā)輸入信號(hào)來實(shí)現(xiàn)的.視覺檢測系統(tǒng)在運(yùn)行過程中,線陣CCD傳感器是連續(xù)掃描的,然而成品的生產(chǎn)是有間隔的,這樣就要通過外觸發(fā)信號(hào)在運(yùn)動(dòng)方向上正確標(biāo)識(shí)出每個(gè)產(chǎn)品的起始位置,以通知CPLD將這部分圖像數(shù)據(jù)寫入到DSP中進(jìn)行計(jì)算.外觸發(fā)是將生產(chǎn)線上的編碼器信號(hào)作為電子凸輪計(jì)數(shù),通過電子凸輪的計(jì)數(shù)輸出來實(shí)現(xiàn)的.另外,因?yàn)橐曈X檢測系統(tǒng)采用線陣CCD傳感器掃描圖像,所以掃描的行頻率需要與生產(chǎn)線的線速度相對應(yīng),以保證圖像不會(huì)因?yàn)樯a(chǎn)線速度的變化而變形,影響DSP的圖像檢測精度,也就是說采集圖像時(shí)要同步.文中采用伺服放大器的伺服驅(qū)動(dòng)信號(hào)作為同步信號(hào)基準(zhǔn),并以設(shè)置的分頻比例來確定圖像的采樣頻率.實(shí)時(shí)圖像數(shù)據(jù)的采集過程如圖7所示.
圖7 圖像數(shù)據(jù)采集過程Fig.7 Acquisition process of image data
CPLD在采集圖像時(shí),將獲取的實(shí)時(shí)圖像數(shù)據(jù)以4∶1的采樣比保存在顯存中.VGA界面顯示的實(shí)時(shí)圖像,會(huì)在界面的最左邊一列用白色的豎線標(biāo)識(shí)出觸發(fā)區(qū)域內(nèi)的圖像,以區(qū)別非觸發(fā)區(qū)域的圖像,方便調(diào)試與監(jiān)控.
次品剔除是當(dāng)DSP進(jìn)行圖像運(yùn)算后,發(fā)現(xiàn)有異常情況時(shí),通過輸出管腳上的脈沖信號(hào)通知CPLD,再由CPLD發(fā)出排片脈沖信號(hào)給生產(chǎn)線的執(zhí)行機(jī)構(gòu)來實(shí)現(xiàn)的.因?yàn)镈SP是等待獲取CPLD寫入的圖像數(shù)據(jù)并進(jìn)行計(jì)算的,而產(chǎn)品的分界信號(hào)(即外觸發(fā)信號(hào))是接入到CPLD來控制圖像采集的,也就是說DSP只要有數(shù)據(jù)就進(jìn)行計(jì)算,而不管外部觸發(fā)信號(hào)何時(shí)開始,但執(zhí)行機(jī)構(gòu)剔除的次品所在的位置與視覺檢測系統(tǒng)安裝的位置不在同一個(gè)地方,有可能相差幾個(gè)產(chǎn)品的位置.當(dāng)DSP發(fā)出異常脈沖給CPLD時(shí),就意味著當(dāng)前這個(gè)產(chǎn)品有問題,不過這個(gè)次品要在生產(chǎn)線上前移幾個(gè)位置才能被執(zhí)行機(jī)構(gòu)剔除,因此剔除脈沖要延遲發(fā)出,這個(gè)延遲的單位就是若干次外觸發(fā)的計(jì)數(shù).CPLD根據(jù)界面上預(yù)先設(shè)置的延遲數(shù),在接收到DSP發(fā)出的檢測異常脈沖后,對隨后的外觸發(fā)進(jìn)行計(jì)數(shù),每次計(jì)數(shù)相當(dāng)于走過一個(gè)產(chǎn)品位置,當(dāng)計(jì)數(shù)值等于設(shè)置的延遲數(shù)時(shí),就發(fā)出剔除脈沖給執(zhí)行機(jī)構(gòu),從而完成次品的剔除.
視覺檢測系統(tǒng)中的DSP不僅要完成系統(tǒng)菜單控制、輸入輸出事件響應(yīng)、存儲(chǔ)分配與管理等控制任務(wù),還要完成圖像數(shù)據(jù)的分析與運(yùn)算,因此設(shè)計(jì)DSP時(shí)將ADI的BlackFin531作為核心處理器.BlackFin系列DSP體系結(jié)構(gòu)是在ADI和Intel聯(lián)合開發(fā)的微信號(hào)機(jī)構(gòu)(MSA)的基礎(chǔ)上實(shí)現(xiàn)的,不僅適用于數(shù)字信號(hào)處理,還提供了綜合的控制能力,消除了多個(gè)不同處理器之間相聯(lián)系的復(fù)雜性[11],簡化了系統(tǒng)設(shè)計(jì)的結(jié)構(gòu),在一定程度上增加了系統(tǒng)的可靠性.Black-Fin531采用μC/OS-II構(gòu)架進(jìn)行編程,以方便多任務(wù)調(diào)度,工作的總線時(shí)鐘頻率由外部27 MHz晶振倍頻得到,倍頻系數(shù)是20,即DSP的總線時(shí)鐘頻率是540MHz.
CPLD將采集到的線陣CCD傳感器數(shù)據(jù),通過BlackFin531處理器的PPI接口寫入到PPI接口緩存中,由 PPI結(jié)合 DMA技術(shù)進(jìn)行數(shù)據(jù)傳輸[12].BlackFin531的PPI接口在進(jìn)行DMA數(shù)據(jù)傳輸時(shí),將兩個(gè)8位的圖像數(shù)據(jù)打包為16位的數(shù)據(jù)進(jìn)行傳輸,可以提高存儲(chǔ)空間的利用率及數(shù)據(jù)傳送的速度.為了防止數(shù)據(jù)的破壞性寫入,保證圖像數(shù)據(jù)的完整性和有效性,系統(tǒng)在BlackFin531的外部SDRAM存儲(chǔ)空間里開辟了8個(gè)緩沖區(qū)域,分別保存20×2048個(gè)像素的圖像數(shù)據(jù).其中20表示線陣CCD傳感器掃描的20條線.每條線的圖像數(shù)據(jù)為2048個(gè)像素.傳輸數(shù)據(jù)時(shí)系統(tǒng)采用BlackFin531的二維DMA描述符模式,用線性鏈表存儲(chǔ)描述符數(shù)組,每個(gè)DMA描述符保存一個(gè)緩沖區(qū)域的地址及DMA傳輸模式配置信息.當(dāng)CPLD完成一次20條線的圖像數(shù)據(jù)寫入后,產(chǎn)生PPI的幀同步信號(hào),DSP響應(yīng)這個(gè)信號(hào)啟動(dòng)DMA操作,自動(dòng)加載線性鏈表中DMA描述符的配置信息,將圖像數(shù)據(jù)保存到描述符指定的SDRAM目標(biāo)地址空間中,從而完成圖像數(shù)據(jù)的存儲(chǔ).
視覺檢測系統(tǒng)在實(shí)際生產(chǎn)線上運(yùn)行時(shí),檢測算法在保證檢測精度的同時(shí)必須具有實(shí)時(shí)性.在檢測精度的計(jì)算上,根據(jù)TCD1209D傳感器的手冊可知,傳感器可以工作在20 MB的數(shù)據(jù)率下,其分辨率為2048像素[13],那么其最大行頻率為10 kHz,即線陣CCD傳感器以最快的行頻率工作時(shí),每掃描一次的時(shí)間是0.1ms.已知垂直運(yùn)動(dòng)方向安裝的線陣CCD傳感器分辨率為2 048像素,一般無紡布成品在30cm的寬度內(nèi),那么每毫米對應(yīng)的有效像素為7個(gè),因此垂直運(yùn)動(dòng)方向上的檢測精度是可以保證的.而運(yùn)動(dòng)方向上的精度取決于線陣CCD傳感器的掃描頻率,當(dāng)生產(chǎn)線在300m/min的線速度下運(yùn)行,線陣CCD傳感器也在最高頻率下工作時(shí),在一個(gè)掃描周期內(nèi)生產(chǎn)線走過的距離為0.5mm,也就是在生產(chǎn)線走過1mm的時(shí)間內(nèi)線陣CCD傳感器可以完成兩次掃描,因而系統(tǒng)可以保證在300 m/min的線速度下達(dá)到1mm2的檢測精度.
由上述檢測精度分析可知,為了保證檢測的精度,線陣CCD傳感器需要工作在10 kHz的行頻率下,DSP只有在0.1 ms內(nèi)完成一次掃描的2048個(gè)數(shù)據(jù)的處理,才能保證運(yùn)算的實(shí)時(shí)性.由于圖像存儲(chǔ)時(shí)采用DMA通道進(jìn)行數(shù)據(jù)傳輸,并使用了多個(gè)緩沖區(qū)域進(jìn)行數(shù)據(jù)緩沖,因此數(shù)據(jù)的傳輸時(shí)間可以不考慮在算法時(shí)間以內(nèi).
針對檢測精度要求,檢測算法是從運(yùn)動(dòng)方向及垂直運(yùn)動(dòng)方向上考慮圖像的特性來進(jìn)行設(shè)計(jì)的.
首先,考慮運(yùn)動(dòng)方向上的問題.采用線陣CCD可以獲取高速掃描的圖像,然而無紡布成品的表面通常是不光滑的,如果以一次掃描的2048個(gè)數(shù)據(jù)進(jìn)行檢測,必然無法反映出圖像的特征,容易造成誤判斷.所以在設(shè)計(jì)程序時(shí),將20次掃描的數(shù)據(jù)拼在一起,構(gòu)成一個(gè)局部范圍內(nèi)的面陣圖像再進(jìn)行檢測,這樣圖像的特征信息更加豐富,從而在保證檢測精度的同時(shí),提高檢測的可靠性.因此DSP的PPI接口DMA操作及SDRAM的內(nèi)存分配是按照20條線來操作的,完成這20條線的數(shù)據(jù)處理時(shí)間要求在2ms內(nèi).
其次,考慮垂直運(yùn)動(dòng)方向上的問題.在安裝系統(tǒng)時(shí),機(jī)械安裝的原因會(huì)導(dǎo)致CCD傳感器左右兩端光照不均勻,從而出現(xiàn)采集到的圖像數(shù)據(jù)左右兩端亮度不同的情況.若采用統(tǒng)一的閾值進(jìn)行圖像分割,則容易造成誤判斷.所以設(shè)計(jì)圖像檢測算法時(shí)需要考慮動(dòng)態(tài)閾值,即對采集到的20條線的圖像數(shù)據(jù)進(jìn)行分塊,并假設(shè)相鄰兩塊區(qū)域的圖像平均亮度相近,以前一個(gè)區(qū)域內(nèi)正常像素的亮度平均值作為下一個(gè)區(qū)域圖像分割的閾值.分塊時(shí)以20×20區(qū)域?yàn)橐粋€(gè)圖像區(qū)域.
在無紡布產(chǎn)品生產(chǎn)線中,無紡布成品表面的污漬類型很多,污漬的面積有大有?。畬τ跀嗬m(xù)相連的絲狀污漬,在20×20區(qū)域內(nèi),檢測時(shí)所統(tǒng)計(jì)的污點(diǎn)面積不足以達(dá)到報(bào)警的閾值,因此需要將發(fā)現(xiàn)污點(diǎn)的區(qū)域進(jìn)行標(biāo)記,并對標(biāo)記的相鄰區(qū)域內(nèi)的污點(diǎn)面積進(jìn)行累加.
對每個(gè)20×20區(qū)域,將上一個(gè)區(qū)域內(nèi)不包括缺陷像素在內(nèi)的所有像素亮度的平均值作為該區(qū)域的分割閾值,統(tǒng)計(jì)該區(qū)域內(nèi)不滿足閾值分割的圖像像素個(gè)數(shù),將該統(tǒng)計(jì)值作為污漬的面積.如果20×20區(qū)域內(nèi)污漬的面積大于預(yù)設(shè)的報(bào)警閾值,那么DSP在IO管腳上輸出判斷異常脈沖給CPLD.如果統(tǒng)計(jì)的污漬面積小于報(bào)警閾值,那么標(biāo)記該區(qū)域及相鄰的8個(gè)區(qū)域,并統(tǒng)計(jì)9個(gè)區(qū)域內(nèi)污漬的面積,以這個(gè)面積之和作為斷續(xù)相連絲狀污漬的判斷依據(jù).算法在DSP上實(shí)現(xiàn)時(shí),為了有更快的處理速度,保證運(yùn)算的實(shí)時(shí)性,每個(gè)20×20區(qū)域數(shù)據(jù)的處理都是在BlackFin531的內(nèi)部緩存中進(jìn)行,并且在內(nèi)部緩存中開辟了兩個(gè)存儲(chǔ)區(qū),采用 BlackFin531的存儲(chǔ)器DMA通道,將每個(gè)20×20區(qū)域數(shù)據(jù)以乒乓操作的形式從SDRAM搬移到DSP內(nèi)部緩存,這樣進(jìn)行運(yùn)算時(shí)可以忽略數(shù)據(jù)搬移的時(shí)間.圖像處理流程如圖8所示,在進(jìn)行污漬判斷之前,對圖像進(jìn)行了濾波處理,以減小噪點(diǎn)對污漬判斷的影響.通過示波器查看BlackFin531的IO管腳上的跳變波形,發(fā)現(xiàn)該算法計(jì)算20×2048個(gè)像素所用時(shí)間小于2ms,而工作時(shí)考慮檢測邊界的設(shè)定,實(shí)際的檢測范圍每條線是小于2048像素的,所以算法在保證檢測精度的同時(shí)具有實(shí)時(shí)性.
圖8 圖像處理流程圖Fig.8 Flowchart of image processing
對于“統(tǒng)計(jì)值大于報(bào)警閾值”的判斷,如果當(dāng)前區(qū)域的統(tǒng)計(jì)像素個(gè)數(shù)小于設(shè)定閾值,則需要標(biāo)記與當(dāng)前20×20區(qū)域相鄰的8個(gè)區(qū)域,如果9個(gè)區(qū)域內(nèi)的統(tǒng)計(jì)值之和超出經(jīng)驗(yàn)閾值,則認(rèn)為此范圍內(nèi)存在絲狀污漬,系統(tǒng)產(chǎn)生排片脈沖信號(hào),執(zhí)行機(jī)構(gòu)接收到脈沖信號(hào)后將缺陷產(chǎn)品剔除,完成基于視覺的無紡布成品表面污漬檢測.
文中針對無紡布成品表面污漬檢測需要,設(shè)計(jì)了基于DSP/CPLD的嵌入式視覺檢測系統(tǒng).CPLD響應(yīng)外部同步和觸發(fā)信號(hào)獲取的實(shí)時(shí)圖像,在寫入DSP的同時(shí),也顯示在標(biāo)準(zhǔn)VGA顯示器上,從而實(shí)現(xiàn)了系統(tǒng)的人機(jī)界面,提高了系統(tǒng)的易用性.該系統(tǒng)依據(jù)μC/OS-II操作系統(tǒng)進(jìn)行設(shè)計(jì),可方便DSP進(jìn)行多任務(wù)調(diào)度,實(shí)現(xiàn)手操板操作控制的用戶菜單,完成圖像存儲(chǔ)和處理.根據(jù)實(shí)際需要設(shè)計(jì)的動(dòng)態(tài)閾值污漬判斷方法,不僅保證了檢測的實(shí)時(shí)性和檢測精度,而且降低了誤判率,提高系統(tǒng)的可靠性.目前該嵌入式視覺檢測系統(tǒng)已交付無紡布成品生產(chǎn)廠家使用,證明了其可用性.
[1] 周文暉,杜歆,葉秀清,等.基于FPGA的雙目立體視覺系統(tǒng) [J].中國圖象圖形學(xué)報(bào),2005,10(9):1166-1170.Zhou Wen-h(huán)ui,Du Xin,Ye Xiu-qing,et al.Binocular stereo vision system based on FPGA [J].Journal of Image and Graphics,2005,10(9):1166-1170.
[2] 鄧集杰,劉鐵根,楊永,等.基于機(jī)器視覺的嵌入式工業(yè)在線檢測系統(tǒng)[J].計(jì)算機(jī)工程,2008,34(4):260-262,274.Deng Ji-jie,Liu Tie-gen,Yang Yong,et al.Embedded industry production-line image examination system based on machine visions [J].Computer Engineering,2008,34(4):260-262,274.
[3] 溫振市,白瑞林,顧國慶,等.嵌入式機(jī)器視覺測控一體機(jī)的研究與開發(fā)[J].江南大學(xué)學(xué)報(bào):自然科學(xué)版,2010,9(3):257-260.Wen Zhen-shi,Bai Rui-lin,Gu Guo-qing,et al.Research and development of the embedded machine vision integrator[J].Journal of Jiangnan University:Natural Science Edition,2010,9(3):257-260.
[4] 陳祎,白瑞林,馮偉,等.嵌入式機(jī)器視覺操作終端通信模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2011,33(5):127-130.Chen Yi,Bai Rui-lin,F(xiàn)eng Wei,et al.Design and imple-mentation of the communication module for embedded machine vision operating terminals[J].Computer Engineering & Science,2011,33(5):127-130.
[5] 李娜,徐志剛.基于線陣CCD的交通信息采集和檢測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009(13):159-161.Li Na,Xu Zhi-gang.Design and realization of traffic information collection and detectionsystem based on linear CCD [J].Modern Electronics Technique,2009(13):159-161.
[6] 裴志軍,曹繼華,張?bào)K祥.嵌入式機(jī)器視覺中的智能相機(jī)技術(shù)[J].天津工程師范學(xué)院學(xué)報(bào),2008,18(2):5-8.Pei Zhi-jun,Cao Ji-h(huán)ua,Zhang Ji-xiang.Smart camera technique for embedded machine vision [J].Journal of Tianjin University of Technology and Education,2008,18(2):5-8.
[7] 付天舒,趙春暉.基于Verilog的線陣CCD驅(qū)動(dòng)時(shí)序設(shè)計(jì)[J].光學(xué)技術(shù),2010,36(5):741-743.Fu Tian-shu,Zhao Chun-h(huán)ui.Design of linear CCD driving sequence based on verilog[J].Optical Technique,2010,36(5):741-743.
[8] Texas Instruments Inc.VSP1021 3-v,10-bit,25msps,lowpower area CCD analog front end [EB/OL].(2004-03-23).http:∥www.ti.com.
[9] 黃潔.基于 DSP與 PCI的視頻采集卡設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2010,18(1):226-229.Huang Jie.Design and implementation of video capture card based on DSP and PCI[J].Computer Measurement and Control,2010,18(1):226-229.
[10] 王亮,李正,寧婷婷,等.VGA漢字顯示的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(2):275-277.Wang Liang,Li Zheng,Ning Ting-ting,et al.FPGA design and implementation of VGA character displaying[J].Computer Engineering and Design,2009,30(2):275-277.
[11] Analog Devices Inc.ADSP-BF533 Blackfin processor hardware reference(include ADSP-BF531 and ADSPBF532 Blackfin processors) [EB/OL].(2008-09-01).http:∥www.a(chǎn)nalog.com.
[12] 閆旭,黎福海,李程.基于DSP的高速圖像數(shù)據(jù)處理機(jī)制的設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2009,31(10):33-35.Yan Xu,Li Fu-h(huán)ai,Li Cheng.Design of a high-speed image data processing mechanism based on DSP [J].Computer Engineering and Science,2009,31(10):33-35.
[13] Toshiba Inc.Toshiba CCD linear image sensor CCD(charge coupled device)TCD1209D[EB/OL].(2001-10-15).http:∥www.datasheetcatalog.com.