鐘小清 易施光
(玉林師范學(xué)院 物理與電信工程學(xué)院 廣西壯族自治區(qū)玉林市 537000)
21 世紀以來,隨著計算機技術(shù)、信息處理、模式識別、智能檢測、小型外設(shè)攝像頭等技術(shù)的發(fā)展[1],基于Halcon 的機器視覺檢測技術(shù)已經(jīng)成功的應(yīng)用于微小物品檢測領(lǐng)域,大幅度地加強了物品檢測的準(zhǔn)確性與可靠性,使生產(chǎn)時間大幅度減少。但目前我國大多數(shù)制藥廠的生產(chǎn)線,主要通過人眼檢測的方法分揀藥品,極大的降低了工作效率和加重了工作量。
針對以上分析,本設(shè)計基于Halcon 機器視覺藥品分揀系統(tǒng),嘗試模擬制作鋁薄塑料泡包包裝藥品的出廠質(zhì)量檢測。該設(shè)計通過攝像頭得到圖像信息,利用Halcon 庫算法進行圖像分割、邊界提取,從而分辨出鋁薄塑料泡包裝藥品缺失數(shù)目及完整數(shù)目,通過串口通信將檢測藥品結(jié)果發(fā)送至AT89S52 單片機,單片機根據(jù)藥品是否缺失,去驅(qū)動電機使次傳送帶轉(zhuǎn)動,從而實現(xiàn)藥品分揀。
本設(shè)計采用計算機作為核心處理器[2],控制系統(tǒng)的結(jié)構(gòu)圖為圖1、實物圖為圖2。藥品分揀系統(tǒng)的硬件電路設(shè)計由以下幾部分組成:FPV700 線攝像頭、計算機處理器、AT89S52 單片機、紅外傳感器模塊、步進電機模塊、TB6560 電機驅(qū)動模塊、電源轉(zhuǎn)接板模塊、蓄電池模塊等組成。其中攝像頭采集圖像信息并調(diào)用Halcon 庫的算法對圖像信息進行解析,然后把解析出來的數(shù)據(jù)通過HDevelop變量控制界面顯示,再通過串口發(fā)送相應(yīng)數(shù)據(jù)到AT89S52 單片機[3],單片機通過控制I/O 口驅(qū)動步進電機轉(zhuǎn)動。若藥品與設(shè)定值符合,則待藥品傳送至傳送帶末端時,紅外傳感器檢測到時,啟動次傳送帶的步進電機正轉(zhuǎn);反之,啟動次傳送帶的步進電機使之反轉(zhuǎn)。
在本設(shè)計中攝像頭是必不可少的一部分,其擔(dān)負著圖像采集的重要作用??紤]到本設(shè)計是檢測藥片是否缺失問題的研究,所以在圖像采集的過程中難免藥品表面有破損,影響測驗結(jié)果的準(zhǔn)確度。因此本設(shè)計使用靈敏程度較高、分辨率優(yōu)良、傳輸速度快以及抗干擾能力強的CCD 相機[4]。其通過感光設(shè)備捕捉到光信號轉(zhuǎn)換為計算機容易處理的數(shù)字信號,使得計算機處理圖像數(shù)據(jù)更為快速,大幅度的提高了檢測的速度。使得本設(shè)計可以應(yīng)用在更多的領(lǐng)域上的可能。
圖1:系統(tǒng)結(jié)構(gòu)框圖
圖2:系統(tǒng)實物圖
本設(shè)計采用AT89S52 芯片作為輔助芯片,單片機采用+5 V 供電電源,是一個低電壓,高性能CMOS 8 位微控制器[5],其采用了ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51 指令系統(tǒng),具有一個全雙工UART 串行I/O 口,不但可使用串口下載,還可以實現(xiàn)單片機與微機之間串口通信,應(yīng)用于眾多控制系統(tǒng)中[6]。該單片機在本設(shè)計中用于接收串口數(shù)據(jù),驅(qū)動電機轉(zhuǎn)動,實現(xiàn)傳送藥品與藥品分類的功能。
TB6560 模塊是一款步進電機驅(qū)動模塊[7],該模塊在本設(shè)計中的作用是當(dāng)紅外傳感器檢測到藥品時,利用電信號傳回AT89S52單片機處理器中,使單片機輸出PWM 波控制電機驅(qū)動的運行方式,使得步進電機的轉(zhuǎn)動。TB6560 模塊主要由TB6560 芯片、散熱片、若干電容和若干二極管組成,利用 +12 V 電源供電。
本設(shè)計采用紅外傳感器模塊作為定位模塊,其是一款以LM393比較器為核心的定位模塊。在設(shè)計中,其主要作用是檢測藥品是否到達傳送帶末端,如果達到傳送帶末端,則定位模塊的輸出端口與單片機P12 連接,通過輸出端口反饋回來的電信號和Halcon 軟件工具處理得到的數(shù)據(jù),使單片機控制步進電機正轉(zhuǎn)或者反轉(zhuǎn),使缺失藥品和完整藥品分類。
圖3:軟件系統(tǒng)設(shè)計的流程圖
圖4:示例圖像
系統(tǒng)軟件設(shè)計主要是由藥片缺失情況的變化,得到圖像信息而進行判斷的,再通過調(diào)用Halcon 庫中的算法對圖像進行運算,分析出藥片的坐標(biāo),以及對應(yīng)藥片是否缺失,利用HDevelop 變量控制界面顯示。在對圖像處理完成后上位機把數(shù)據(jù)通過串口傳送給單片機[8],使單片機發(fā)送信號給電機驅(qū)動進而驅(qū)動步進電機轉(zhuǎn)動,進行藥品分揀。最后單片機會再次重復(fù)循環(huán),直到統(tǒng)計完全部藥片。軟件系統(tǒng)設(shè)計的流程圖如圖3。
Halcon 編輯的視覺測量軟件工具在攝像頭采集圖像的過程中,圖像會受到光線、各種雜質(zhì)和外部噪聲等外界因素的影響,使圖像的整體畫質(zhì)下降,讓圖像的重要信息被掩蓋。且會影響系統(tǒng)對分析圖像信息和命令的執(zhí)行,可能會導(dǎo)致檢測出錯。所以為了避免出現(xiàn)上述情況,我們需要在系統(tǒng)進行圖像處理前對圖像信息進行預(yù)處理,規(guī)避檢測錯誤的現(xiàn)象。
在本設(shè)計中,采集的是彩色圖,在處理圖像信息的時需要對RGB 三原色進行處理。由于RGB 三個通道都是8 bit 取值,所以每個像素點的顏色變化范圍為24 bit[9]。因為灰度值為8 bit,而彩色值為24 bit,所以彩色圖變?yōu)榛叶葓D后不僅減少了內(nèi)存負擔(dān),又提高了計算速度和采集速度。
圖像噪聲處理的目的是除掉或減小各種干擾信息。本設(shè)計采用中值濾波的方法來去除圖像的噪聲,其原理是把圖像信息或數(shù)字序列中某一點的值用該點的一個鄰域中各點值的中值代替[10]。使周圍的像素點的值接近于實際的像素點的值,從而有效的消除孤立的噪聲點。
圖像分割的目的就是把采集到的圖像分成多個感興趣的區(qū)域的處理技術(shù),使得不同的像素分開[11]。本設(shè)計通過調(diào)用Halcon 里的圖像灰度閾值算法進行分割。其基本原理是利用得到的圖像灰度級的不同的像素來對圖像進行劃分處理,而得到屬性一致的各個像素區(qū)域,從而可以利用灰度級簡單便捷的獲取一個或兩個以上的閾值來進行處理。
邊緣檢測是機器視覺檢測技術(shù)中較為關(guān)鍵的技術(shù),也是本設(shè)計的重點之一[12]。邊緣檢測的主要目的是標(biāo)識圖像中強度較高的部分,可以使圖像的紋理特征以及形狀特征等更加顯著。視覺測量軟件工具通過攝像頭采集到的藥品圖像,而藥品圖像的各個像素并不具備連續(xù)性的特點,所以本系統(tǒng)采用邊緣檢測技術(shù)來增強邊緣。
為了測試藥片是否缺失與顏色是否正確,我們采用1 和0 來表示藥片每個位置的有無缺失的情況。以2 行5 列的板裝藥品為例,用1 表示有藥片的位置,0 表示缺少藥片的位置,從左到右由上至下排列,例如圖4 所示用1101101111 表示。
拍攝完整與缺失的藥品圖片以及經(jīng)過處理后完整與缺失的藥品結(jié)果如圖5、6、7、8 所示。
藥品實物與藥品各位置有無情況,以及在藥品檢測范圍內(nèi)加遮光罩和補柔光情況下柔光光照強度不同的環(huán)境下的實驗數(shù)據(jù)表如表1 所示。
由表1 可知,補柔光的光照度的大小對測試誤差影響較大,但可以從表中可得到檢測結(jié)果最準(zhǔn)確階段在的光照度為在30~40 lx 之間,在其他的光照度下檢測效率低于100%。所以為了保證檢測的準(zhǔn)確,需要控制好光照度在30~40 lx 之間。
本設(shè)計整體主要采用了Halcon 編程的視覺測量軟件工具、CCD 相機作為檢測功能的核心部件,采用了顏色識別技術(shù),將藥品置于全黑的背景下,F(xiàn)PV700 線攝像頭拍攝到圖像后通過Halcon編程的視覺測量軟件工具對圖像中的藥品顏色進行提取。經(jīng)過多次測量的數(shù)據(jù)可以得出結(jié)論:在對藥品進行補柔光和加遮光罩的情況下,誤差極低,足以滿足大部分鋁薄塑料泡包裝藥品的包裝情況檢測需求。解決了目前藥品包裝檢測依賴人工檢測的問題,實現(xiàn)了機器視覺智能高效的檢測目的。由于主觀因素與客觀因素的存在,所以本設(shè)計還存在著不完善的地方。由于算法設(shè)定一次只能接收一板藥片信息,所以檢測藥品時,兩板藥品只能間隔的放在傳送帶上,不能連續(xù)的放在一起,否則會出現(xiàn)檢測錯誤的現(xiàn)象。由于攝像頭的精度和分辨率還不夠理想,所以導(dǎo)致傳送帶的速度緩慢,從而影響藥品分揀的速度。
表1:不同光照度下不同藥品的檢測情況
圖5:拍攝完整原圖
圖6:處理后完整的圖像
圖7:拍攝缺失原圖
圖8:處理后缺失的圖像