張碭碭,胡劍虹,萬延見,嚴(yán)雨綺,梁明軒
(中國計量大學(xué)機(jī)電工程學(xué)院,浙江杭州 310018)
萃取反應(yīng)是最常用到的化學(xué)工藝,萃取利用不同的溶劑有不同的溶解度來實現(xiàn)化學(xué)混合物的分離。它是化工生產(chǎn)中常見的一道工序,廣泛應(yīng)用到生活和生產(chǎn)過程中。萃取反應(yīng)完成時,分層液體中密度大的在反應(yīng)釜下方,密度小的在反應(yīng)釜上層。分離分層液體以往都是由工人通過眼睛盯著反應(yīng)釜下方管道中的觀察視鏡來觀察管道內(nèi)流動的分層液體,從而人工控制分液閥門的關(guān)閉,使兩種不同的液體分離,此方法雖然簡單,但是時間成本高,由于是人工一直觀測非常容易導(dǎo)致疲勞,導(dǎo)致反應(yīng)不及時引起主觀誤差。有些液體易揮發(fā)或腐蝕性較強(qiáng),對人體傷害較大,對操作者來說具有安全隱患,受人工的影響較大,分液質(zhì)量難以保證。使用機(jī)器視覺技術(shù)實現(xiàn)無接觸自動檢測分離液體,不僅能夠提高產(chǎn)品的檢測速度和分離質(zhì)量,而且能夠避免人工分離液體帶來的偏差[1]。
本文設(shè)計了基于SSIM的萃取液體檢測分離系統(tǒng),通過機(jī)器視覺技術(shù)完成對分層液體特征的在線檢測,判斷觀察視鏡中是否出現(xiàn)異常,從而及時關(guān)閉閥門,可以代替人工檢測,提高檢測的效率和質(zhì)量,由于在實驗室進(jìn)行實驗,無法使用實際環(huán)境中的化學(xué)溶劑,實驗時用水和油來模擬萃取反應(yīng)后分離操作。
進(jìn)行分層液體分離,從打開閥門時起,工人就需要一直關(guān)注著觀察視鏡,直至分層異常界面到達(dá)觀察視鏡,所以機(jī)器視覺需檢測的內(nèi)容就是檢測觀察視鏡。圖1為設(shè)計的觀察視鏡結(jié)構(gòu)分布示意圖。結(jié)構(gòu)設(shè)計簡單可靠,能夠很好地監(jiān)控到觀察視鏡的畫面。
圖1 觀察視鏡示意圖
為了實現(xiàn)所需功能,使在實驗室獲得和實際生產(chǎn)環(huán)節(jié)相似的環(huán)境和方便進(jìn)行實驗的思想原則下,進(jìn)行了整體系統(tǒng)的設(shè)計。設(shè)計的液體分離系統(tǒng)的機(jī)械結(jié)構(gòu)如圖2所示[2]。
圖2 實驗整體系統(tǒng)示意圖
工業(yè)相機(jī)安裝在觀察視鏡正前方,圓形光源安裝在觀察視鏡背面。與實際設(shè)備相比只需要在以往人工觀察視鏡的地方加上工業(yè)相機(jī)架就可以進(jìn)行工作,體現(xiàn)了采用視覺設(shè)備的便捷。
根據(jù)液體分離控制的要求,設(shè)計了視覺控制系統(tǒng),視覺控制系統(tǒng)整體數(shù)據(jù)傳輸概圖如圖3所示。在控制系統(tǒng)設(shè)計中,采用了PC上位機(jī)作為主要的控制處理中心,上位機(jī)與工業(yè)相機(jī)通過串口實現(xiàn)圖像傳輸,同時上位機(jī)也采用串口通信的方式與STM32單片機(jī)進(jìn)行信息傳輸和控制。單片機(jī)通過I/O口控制繼電器來控制24 V電磁閥,從而控制系統(tǒng)液體管道的導(dǎo)通和截斷[3]。
圖3 觀察視鏡示意圖
控制軟件系統(tǒng)是整個系統(tǒng)的關(guān)鍵。當(dāng)系統(tǒng)啟動時,軟件系統(tǒng)需要通過串口連接單片機(jī)和工業(yè)相機(jī)進(jìn)行一些初始化的設(shè)置??刂埔来未蜷_攝像頭和發(fā)送控制指令給單片機(jī)[4]。等攝像頭打開和單片機(jī)執(zhí)行指令后系統(tǒng)正式開始運作,系統(tǒng)的總流程圖如圖4所示。
圖4 總流程圖
由于工業(yè)攝像頭采集的是彩色圖,占用內(nèi)存大,對后續(xù)處理有諸多不便。為了下一步的算法實現(xiàn),需要先對采集的監(jiān)控畫面進(jìn)行圖像預(yù)處理,能夠使下一步處理更加直觀和方便。圖像預(yù)處理包括:ROI分割、圖像灰度化、濾波去噪[5]。原始圖像如圖5(a)所示,視鏡上被污染的一部分是由于系統(tǒng)運行會導(dǎo)致濃度大液體在觀察視鏡殘留導(dǎo)致。圖像中有用處的部分只占了整體圖像的一部分,為了減少系統(tǒng)的運算開銷,先對ROI(感興趣區(qū)域)進(jìn)行分割,如圖5(b)。對ROI區(qū)域進(jìn)行灰度化,把彩色圖像轉(zhuǎn)換成灰度圖像,如圖5(c)。根據(jù)實際情況,對于圖像中的噪聲問題采用了3×3模板的中值濾波的方法[6]。其數(shù)學(xué)表達(dá)式如下:
(1)
式中:G(x,y)為中值算法運算后的像素值;M為模板內(nèi)像素數(shù)量;s為模板所覆蓋的所有像素點;f(x,y)為模板所覆蓋的像素點,處理過的濾波圖如圖5(d)所示。
在閥門打開,液體開始流動時,在觀察視鏡內(nèi)同一液體基本不會產(chǎn)生很大波動,偶然會有小氣泡,通過圖像預(yù)處理基本可以去除,當(dāng)分液層從觀察視鏡出現(xiàn)時,觀察視鏡內(nèi)的液體狀態(tài)會劇烈變化,根據(jù)實際液體流動的特點,把這種劇烈變化的情況當(dāng)成特征來設(shè)計算法。
(a)原始圖像
2.3.1 SSIM結(jié)構(gòu)相似性分析
結(jié)構(gòu)相似性是一種衡量兩幅圖像相似度的指標(biāo)。SSIM是0~1之間的數(shù),SSIM越大,兩圖像間差異越小,SSIM的定義如式(2),結(jié)構(gòu)相似性從圖像組成的角度將結(jié)構(gòu)信息定義為獨立于亮度、對比度的反映場景中物體結(jié)構(gòu)的屬性,并將圖像建模為亮度、對比度和結(jié)構(gòu)3個不同因素的組合。
SSIM(x,y)=[l(x,y)]α·[c(x,y)]β·[s(x,y)]γ
(2)
用均值作為亮度的估計,其數(shù)學(xué)表達(dá)式如式(3):
(3)
標(biāo)準(zhǔn)差作為對比度的估計,其數(shù)學(xué)表達(dá)式如式(4):
(4)
協(xié)方差作為結(jié)構(gòu)相似程度的度量,其數(shù)學(xué)表達(dá)式如式(5)[7]:
(5)
式中:μx,μy為圖像所有的像素;δx,δy為圖像像素值的標(biāo)準(zhǔn)差;δxy為x與y的協(xié)方差;C1,C2,C3為常數(shù);α,β,γ為權(quán)重。
為避免分母為0時帶來的系統(tǒng)錯誤,在實際應(yīng)用中,令α,β,γ相等,令C3=0.5C2,則最終SSIM表達(dá)式如式(6):
(6)
基于如上數(shù)學(xué)表達(dá)式,進(jìn)行程序編寫,實驗采用在系統(tǒng)運行時的視頻為實驗數(shù)據(jù),視頻共有484幀,通過對系統(tǒng)運行時未發(fā)生劇烈變化時的圖像為基準(zhǔn),將采集的圖像與基準(zhǔn)圖像對比,來計算結(jié)構(gòu)相似度,測得的數(shù)據(jù)如圖6所示。
圖6 SSIM相似度曲線圖
圖6中,在A點之前觀察視鏡內(nèi)沒有雜質(zhì)或者分液層出現(xiàn),結(jié)構(gòu)相似度幾乎不變,A點圖像如圖7(a)所示。A點過后觀察視鏡內(nèi)開始出現(xiàn)微小雜質(zhì)和波動,在B點上方處結(jié)構(gòu)相似度急劇下降,說明分液層到達(dá),使觀察視鏡內(nèi)畫面出現(xiàn)嚴(yán)重波動,B點圖像如圖7(b)所示。
(a)A點圖
結(jié)構(gòu)相似性能夠很好地檢測到畫面的突變,但是一些震動或者雜質(zhì)也會引起結(jié)構(gòu)相似性明顯變化。
2.3.2 灰度數(shù)據(jù)分析
灰度數(shù)據(jù)的分布能夠很好地反映出一幅圖片的信息,能夠直觀地反映出圖像中各灰度級像素出現(xiàn)的頻率與灰度級之間的關(guān)系。實驗選取0~150區(qū)間灰度值為參考,計算出0~150灰度值像素數(shù)量占整體像素數(shù)量的占比如圖8[8]所示。
圖8 0~150灰度值像素數(shù)量占比曲線圖
從圖8可以看到在A點之前觀察視鏡內(nèi)沒有雜質(zhì)或者分液層出現(xiàn),數(shù)據(jù)占比幾乎不變,A點畫面如圖9(a)所示,在A點之后開始出現(xiàn)雜質(zhì)和分液層,占比急劇提升,觀察視鏡內(nèi)畫面出現(xiàn)波動,B點畫面如圖9(b)所示。
(a)A點圖
通過0~150灰度值占比能夠有效檢測到在這區(qū)段像素的突變,但是一些氣泡或者干擾都有可能影響到區(qū)間灰度值占比。
2.3.3 綜合設(shè)計
通過綜合數(shù)據(jù)分析,結(jié)合以上兩個算法的特點,通過計算SSIM相對于基準(zhǔn)圖像相似度變化百分比和區(qū)段灰度像素占比變化綜合來設(shè)計總體算法。2個數(shù)據(jù)各自占比變化曲線如圖10所示。
圖10 占比變化圖
在A點出現(xiàn)少量雜質(zhì)為分液層到達(dá)前現(xiàn)象,A點畫面如圖11(a)所示,在B點為分液層雜質(zhì)大量到達(dá),B點畫面如圖11(b)所示。
(a)A點圖
由實際測試數(shù)據(jù)分析,為2個占比變化設(shè)置10%的閾值,當(dāng)2個占比的變化都滿足設(shè)置的閾值,則判定雜質(zhì)分液層到達(dá),按照系統(tǒng)總流程圖執(zhí)行既定程序,圖11中B點即為同時滿足閾值時的畫面。
上位機(jī)為系統(tǒng)運行和操作提供了可視化界面。使用QT進(jìn)行設(shè)計,界面提供了串口開關(guān)和攝像頭控制按鈕,能夠?qū)崟r接收控制信息。當(dāng)連接到串口并打開攝像頭按鈕時,系統(tǒng)開始運作。圖12為系統(tǒng)運行檢測到分液層雜質(zhì)大量到達(dá)的畫面。
圖12 系統(tǒng)運行界面
在測試中,系統(tǒng)運行速度達(dá)到80幀/s左右,能夠滿足實際實時監(jiān)測控制的需求。為了驗證閾值設(shè)置算法的合理性,進(jìn)行了50次實驗。結(jié)果表明均能夠在大量雜質(zhì)液體出現(xiàn)時成功判別,能夠?qū)τ鸵夯旌弦后w進(jìn)行分離,能夠?qū)崿F(xiàn)實驗預(yù)期目標(biāo),滿足實際生產(chǎn)需求。
針對現(xiàn)有化工液體萃取領(lǐng)域需要通過人工監(jiān)視、開關(guān)閥門等操作來進(jìn)行分離操作的不便,通過特殊區(qū)段灰度值的占比的變化和相似度的變化為圖像算法基礎(chǔ),以工業(yè)電腦、工業(yè)相機(jī)、單片機(jī)為控制核心,設(shè)計了基于SSIM的萃取液體檢測分離系統(tǒng),通過實驗分析,建立了能夠分離分層液體的系統(tǒng),證明了提出方法的有效性。由于實驗是用水油分離來模擬化學(xué)萃取液體分離,具有一定的局限性,不同化學(xué)液體分離的具體閾值等參數(shù)還需要實際測試。總體來講基于SSIM 的萃取液體檢測分離系統(tǒng)能夠為不同液體分離系統(tǒng)設(shè)計提供參考。