鮑江,席曼曼,劉必晨,張佳寧
(重慶光電技術(shù)研究所,重慶,400060)
光耦是一種以光為媒介,通過“電-光-電”轉(zhuǎn)換,從而實(shí)現(xiàn)信號傳輸?shù)钠骷?。光耦具有體積小、壽命長、工作溫度范圍寬、抗干擾能力強(qiáng)等優(yōu)點(diǎn)[1],在航空航天等領(lǐng)域廣泛應(yīng)用。為了保障高可靠性,光耦需在篩選檢驗(yàn)試驗(yàn)后開展多次電參數(shù)測試[2],測試時(shí)需要將產(chǎn)品編號與測試數(shù)據(jù)一一對應(yīng)記錄,以便進(jìn)行產(chǎn)品合格判定及后期狀態(tài)追溯。
當(dāng)前,光耦批量化測試時(shí)綜合考慮測試準(zhǔn)確性和效率,首先采用人工排號的方式,將同一批次的產(chǎn)品依次排好順序存放,例如在一托盤內(nèi)打印多個(gè)產(chǎn)品編號,將光耦產(chǎn)品與編號對應(yīng),逐個(gè)放在托盤的對應(yīng)區(qū)域,測試時(shí)再按照排好的順序一一測試,最后將產(chǎn)品編號和測試數(shù)據(jù)人工整合在一起。隨著廣泛應(yīng)用,光耦朝著多品種、大批量的方向發(fā)展,要求光耦的批量化電參數(shù)測試具有較高的準(zhǔn)確性和測試效率。測試準(zhǔn)確性一方面要求參數(shù)測試準(zhǔn)確,另一方面則是要求產(chǎn)品的測試參數(shù)和產(chǎn)品的編號不交錯(cuò)、不漏記;測試高效率方面則是要求產(chǎn)品測試時(shí)每個(gè)批次能夠以最少的時(shí)間完成。對于上述要求,原有測試方案存在如下不足:(1)光耦尺寸較小,人工排號的方式效率極低,且容易出現(xiàn)位置放錯(cuò)的情況;(2)在測試排好序的光耦時(shí),容易造成漏測、錯(cuò)測等情況,發(fā)生測試數(shù)據(jù)與編號錯(cuò)位等問題,導(dǎo)致測試準(zhǔn)確率降低?;诖?,本文設(shè)計(jì)了一種編號自動(dòng)識別的光耦測試系統(tǒng),實(shí)現(xiàn)光耦大批量高效率準(zhǔn)確測試。
設(shè)計(jì)的光耦測試系統(tǒng)主要用于光耦測試時(shí)編號自動(dòng)識別,并自動(dòng)完成測試數(shù)據(jù)與編號的合并整理,解決批量測試下人工排號效率低、易出錯(cuò)、占用空間大等問題,縮短光耦整個(gè)生產(chǎn)周期,系統(tǒng)主要包含四個(gè)方面的設(shè)計(jì):硬件設(shè)計(jì)、軟件架構(gòu)設(shè)計(jì)、編號識別算法設(shè)計(jì)以及校驗(yàn)算法設(shè)計(jì)。
測試系統(tǒng)硬件主要包含光耦測試臺與圖像采集模塊兩部分。光耦測試臺為集成有測試板卡、信號源、示波器的一體化通用工作臺,圖像采集模塊為包含工業(yè)相機(jī)、工業(yè)鏡頭、光源、光源控制器以及光學(xué)支架的定制模塊。兩部分通過千兆網(wǎng)線進(jìn)行信息交互。
結(jié)構(gòu)上,光學(xué)支架位于測試臺左側(cè)載臺處,采用夾持、螺母擠壓的方式固定,該方式既方便測試人員右手操作,又有利于根據(jù)不同測試要求調(diào)整支架位置;工業(yè)相機(jī)、工業(yè)鏡頭、光源、測試夾具以及產(chǎn)品由上至下位于一條線上,實(shí)現(xiàn)圖像采集和測試位于同一點(diǎn);控制光源下方距離測試夾具≥15cm,避免影響取放產(chǎn)品,同時(shí)又能夠采集清晰的產(chǎn)品編號圖像。設(shè)計(jì)效果如圖1 所示。
圖1 測試系統(tǒng)硬件效果示意圖
其中,設(shè)計(jì)測試臺為通用光耦測試臺,重點(diǎn)對圖像采集模塊進(jìn)行分解,具體如下:
(1)工業(yè)相機(jī)
工業(yè)相機(jī)是采集系統(tǒng)中的一個(gè)關(guān)鍵組件,根據(jù)其信號類型、芯片類型、芯片尺寸、分辨率、圖像幀率、數(shù)據(jù)接口和鏡頭接口等在不同使用場景具有不同的配置。光耦產(chǎn)品尺寸在幾毫米到幾厘米之間,產(chǎn)品編號單個(gè)字符尺寸最小小于1.5mm×1.5mm,編號和背景對比較大,測試期間產(chǎn)品處于靜止?fàn)顟B(tài),因此,對相機(jī)的選擇主要在于使用方便,分辨率達(dá)到識別要求,且性價(jià)比高,在此基礎(chǔ)上選擇一款Baumer 相機(jī),具體參數(shù)如下:
采用1/2.5〞Aptina MT9P031 CMOS 傳感器;分辨率:2592×1944;幀速度:14fps;數(shù)據(jù)接口:GiGE vision;鏡頭接口:C Mount。
(2)工業(yè)鏡頭
在識別系統(tǒng)中,工業(yè)鏡頭與光源、相機(jī)一起構(gòu)成一個(gè)完整的圖像采集系統(tǒng),受到整個(gè)系統(tǒng)要求的制約,由焦距、光圈、尺寸、接口等參數(shù)共同決定。本系統(tǒng)中,為了硬件采集系統(tǒng)不影響測試操作,采集設(shè)備離產(chǎn)品測試夾具位置高度至少15 厘米,且要求鏡頭畸變小,能夠適應(yīng)相機(jī)的要求,通過實(shí)際測試選擇一款VST 工業(yè)鏡頭,具體參數(shù)如下:
像面尺寸:2/3〞;焦距:35mm;光圈:F1.8~Close;聚焦范圍:0.25m~∞;調(diào)焦/光圈:手動(dòng);畸變:-0.12%;接口:C 口;外形尺寸:Φ295mm×33.5mm。
(3)光源
為了提升采集系統(tǒng)采集的圖像效果,降低環(huán)境光照的干擾,需要采用光源進(jìn)行效果增強(qiáng)。光耦產(chǎn)品多為方形結(jié)構(gòu),光源必須能夠使得光照均勻,且光源散發(fā)的光不能夠?qū)Σ僮魅藛T造成傷害,在此基礎(chǔ)上設(shè)計(jì)采用環(huán)形白光光源,具體參數(shù)如下:
顏色:白色;電壓:DC 24V;功率:6.2W;外徑:90mm。
(4)光源控制器
為了使光源能夠隨環(huán)境調(diào)節(jié),使識別系統(tǒng)更好地工作,需要使用光源控制器,系統(tǒng)采用如下控制器:
驅(qū)動(dòng)方式:恒壓;調(diào)節(jié)方式:旋鈕調(diào)節(jié);輸入電壓:AC110-240V 50/60Hz;通道:2T;最大輸出電流:單通道1A。
(5)光學(xué)支架
光學(xué)支架作為支撐其他采集硬件的重要部分,主要技術(shù)要求如下:
光學(xué)支架外觀簡潔;可上下移動(dòng)或隨意旋轉(zhuǎn)相機(jī)和光源;重量輕,便于攜帶;具有使用方便,易于安裝、操作;采用鋁合金材質(zhì),堅(jiān)固耐用。
通常,光耦測試臺軟件由多種開發(fā)平臺如delphi、c++、c#等開發(fā)[3],要實(shí)現(xiàn)識別、測試一體化,就需在不同平臺下單獨(dú)開發(fā)識別軟硬件,并將識別部分與測試部分整合在一起,該方式耗時(shí)耗力,實(shí)現(xiàn)難度大。通過設(shè)計(jì)一種識別動(dòng)態(tài)庫調(diào)用方法,將相機(jī)控制及圖像識別處理部分算法[4]以動(dòng)態(tài)庫的形式封裝[5],配以識別校驗(yàn)算法,以C++實(shí)現(xiàn),基于設(shè)計(jì)好的動(dòng)態(tài)庫接口,可被不同測試平臺直接調(diào)用。該方法將采集硬件和識別處理算法模塊化,對于不同測試平臺和不同廠家,只需按照動(dòng)態(tài)庫輸入輸出接口直接調(diào)用,無需跨專業(yè)進(jìn)行識別部分二次開發(fā),極大地降低了開發(fā)難度,提高了效率。
基于此,設(shè)計(jì)了一種利用動(dòng)態(tài)庫調(diào)用實(shí)現(xiàn)跨平臺識別、測試一體化的軟件架構(gòu)。系統(tǒng)由三個(gè)層次構(gòu)成,包括由測試臺軟件形成的開發(fā)應(yīng)用層,由相機(jī)控制算法、圖像識別處理算法及資源管理構(gòu)成的動(dòng)態(tài)庫接口層,以及相機(jī)單元構(gòu)成的識別模塊層,如圖2 所示。
圖2 軟件架構(gòu)示意圖
軟件功能上,測試臺軟件集成動(dòng)態(tài)庫,測試時(shí),測試臺發(fā)出測試命令,控制動(dòng)態(tài)庫采集前端相機(jī)圖像,并完成編號識別,返回測試臺,最后實(shí)現(xiàn)編號與測試數(shù)據(jù)同時(shí)輸出,具體如圖3 所示。
圖3 軟件功能示意圖
產(chǎn)品編號識別算法是光耦自動(dòng)測試系統(tǒng)的核心,只有保證識別算法的高質(zhì)量,才能保證測試系統(tǒng)的良好效果。研究如何實(shí)現(xiàn)高精度的圖像自動(dòng)識別算法,是系統(tǒng)整個(gè)工作中最復(fù)雜,也是最重要的工作之一。
識別過程中,通過圖像采集模塊獲取到需要識別的產(chǎn)品編號圖像,并將圖像信息傳回測試臺,效果如圖4 所示。
圖4 產(chǎn)品原始編號效果圖
對于獲取的原始圖像,提取出其中的編號部分并將其自動(dòng)識別出來是算法的最終目的。系統(tǒng)識別時(shí),對要識別的編號圖像,進(jìn)行了圖像產(chǎn)品定位、圖像編號定位、圖像編號分割、圖像編號識別以及編號輸出等操作,從而實(shí)現(xiàn)編號自動(dòng)識別的目的,主要流程如圖5 所示。
圖5 圖像識別算法主要流程圖
(1)圖像產(chǎn)品定位
首先從圖像采集模塊上采集到圖像,對得到的圖像進(jìn)行大津法二值化操作,將屬于同一個(gè)連通區(qū)域的像素點(diǎn)坐標(biāo)分別存入不同的集合,對于每一個(gè)集合,可以計(jì)算出它們的外輪廓(輪廓里的輪廓此時(shí)不再計(jì)算),求出輪廓的外接矩形,在所有的矩形中,選取矩形面積最大的區(qū)域即為產(chǎn)品區(qū)域。通過以上多步實(shí)現(xiàn)了圖像中產(chǎn)品的定位,如圖6 所示。
圖6 圖像產(chǎn)品定位效果圖
(2)圖像編號定位
將原始圖像按第一步得到的區(qū)域進(jìn)行裁剪,對該圖像重新進(jìn)行二值化。因某些產(chǎn)品的字符不連續(xù),以及某些小面積噪聲,所以算法中用一個(gè)圖像的“閉”操作,即先腐蝕后膨脹對圖像進(jìn)行形態(tài)學(xué)處理。將圖像的所有連通區(qū)域分別存在不同的集合里,求出它們的外輪廓,計(jì)算出它們的外接矩形,將一些明顯不符合要求的矩形剔除掉。按照矩形左上角點(diǎn)的Y 值大小,對所有矩形進(jìn)行排序。遍歷所有的矩形,將Y 值在一定距離內(nèi)的矩形放入同一集合。對所有的集合元素即每個(gè)矩形按左上角點(diǎn)X值的大小進(jìn)行排序,將相鄰的矩形合并,距離間隔較大的矩形則剔除。對于得到的矩形,選取矩形縱向的1/4,1/2,3/4 處進(jìn)行橫向的像素跳變分析,分別記錄三行的跳變次數(shù)。其中,實(shí)際情況下,光耦產(chǎn)品每行的字符至少有5 個(gè),那么一行的跳變次數(shù)至少會(huì)大于10,檢測得到的三行的跳變次數(shù)是否大于10,如果有兩行不滿足,那么剔除該矩形。對于剔除后的矩形,對相應(yīng)圖像區(qū)域進(jìn)行形狀因子判定,如果不滿足條件,也將剔除該矩形。由于所需的編號為Y 值最低的矩形,所以在上述操作得到的所有矩形中求出Y 值最小的矩形即可。如圖7 所示。
圖7 產(chǎn)品圖像編號定位效果圖
通過上述多步實(shí)現(xiàn)了產(chǎn)品編號的定位,再從第一步得到的產(chǎn)品圖像中將該區(qū)域裁剪出來,對該圖像重新進(jìn)行二值化后得到圖8 所示效果。
圖8 編號圖像二值化效果圖
(3)圖像編號分割
實(shí)際情況下,光耦產(chǎn)品編號字體共3 種大小,高和寬之比分別為11:5,5:5,7:5,在編號定位后已經(jīng)得到了矩形的高度,根據(jù)比值可以組合成3 種不同大小的矩形。從小到大的使用每種矩形從左到右去尋找圖中的強(qiáng)種子。所謂強(qiáng)種子,就是當(dāng)對已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸入已經(jīng)歸一化后的矩形時(shí),會(huì)返回屬于各個(gè)類的概率,當(dāng)概率大于0.9 時(shí),就認(rèn)為是強(qiáng)種子。當(dāng)檢測到有兩個(gè)強(qiáng)種子出現(xiàn)時(shí),我們就使用這種大小的矩形。
將已經(jīng)檢測到的強(qiáng)種子區(qū)域全部涂黑,再依次向左右檢測,直至全部檢測完畢。最后會(huì)得到若干個(gè)強(qiáng)種子區(qū)域,對于間隔較大的兩個(gè)強(qiáng)種子,以及個(gè)數(shù)未滿的強(qiáng)種子,根據(jù)產(chǎn)品編號字符個(gè)數(shù)進(jìn)行補(bǔ)齊。
歸一化后的圖像如圖9 所示。
圖9 編號圖像歸一化后效果圖
圖10 校驗(yàn)算法邏輯示意圖
通過上述方式,可以對定位的編號圖像實(shí)現(xiàn)分割。
(4)圖像編號識別
對于分割好的單個(gè)字符圖像,系統(tǒng)采用神經(jīng)網(wǎng)絡(luò)訓(xùn)練識別的方式完成對字符的識別工作。進(jìn)行BP 神經(jīng)網(wǎng)絡(luò)識別時(shí),輸入的特征為120 維,10*10 的中間區(qū)域像素加上水平和豎直的投影。通過該方式,可以較好地完成對編號圖像的自動(dòng)識別。
當(dāng)完成上述各步驟后,即可得到待識別產(chǎn)品的編號信息。將該編號信息通過動(dòng)態(tài)庫中相應(yīng)算法進(jìn)行處理,最終回傳給測試臺,實(shí)現(xiàn)產(chǎn)品編號信息和測試信息的自動(dòng)整合。
隨著圖像處理技術(shù)不斷進(jìn)步,編號識別準(zhǔn)確率不斷提高,但仍然難以做到100%準(zhǔn)確,基于此,系統(tǒng)引入編號校驗(yàn)算法,保證識別準(zhǔn)確性。校驗(yàn)算法采用兩種手段:(1)每批次測試前,人工錄入一次本批次產(chǎn)品的編號規(guī)則;(2)在動(dòng)態(tài)庫模塊中,將每批次識別的產(chǎn)品圖像及編號維護(hù)一個(gè)數(shù)據(jù)庫。
產(chǎn)品編號識別時(shí),如果識別出的產(chǎn)品編號不滿足編號規(guī)則,則展示待測產(chǎn)品的圖像信息,根據(jù)圖像信息人工判斷并錄入編號作為待測產(chǎn)品編號;如果識別出的產(chǎn)品編號滿足編號規(guī)則,則查詢當(dāng)前識別的產(chǎn)品編號是否與數(shù)據(jù)庫存儲的已有編號重復(fù),不重復(fù)則判定識別的編號正確,返回識別結(jié)果;如果當(dāng)前識別的產(chǎn)品編號與數(shù)據(jù)庫中存儲的某一產(chǎn)品編號重復(fù),則展示待測光耦的圖像信息和已存儲的重復(fù)編號產(chǎn)品的圖像信息,人工進(jìn)行判斷并錄入正確的產(chǎn)品編號,然后更新數(shù)據(jù)庫中兩只產(chǎn)品的編號信息及圖像信息。
采用上述設(shè)計(jì)方案,完成了編號自動(dòng)識別的光耦測試系統(tǒng)的軟硬件制作,實(shí)物如圖11 所示。
圖11 測試系統(tǒng)實(shí)物效果圖
選取尺寸從7mm×12mm×2.7mm 到10mm×19mm×3.8mm 的A、B、C、D 四款光耦產(chǎn)品進(jìn)行測試,系統(tǒng)識別效果如表1 所示。
表1 測試系統(tǒng)識別效果
選取A 型產(chǎn)品1000 只、B 型產(chǎn)品2000 只,分別采用原有測試方式和新設(shè)計(jì)的編號自動(dòng)識別光耦測試系統(tǒng)測試的方式進(jìn)行測試,具體測試情況如表2 所示。
表2 測試系統(tǒng)測試效果
從表2 可以看出,設(shè)計(jì)的光耦測試系統(tǒng)能夠兼容不同的軟件開發(fā)平臺,單批次產(chǎn)品測試耗時(shí)提升44.4%以上,在批次數(shù)量增大的情況下,達(dá)到了100%的效率提升,在測試準(zhǔn)確性方面,使用帶校驗(yàn)算法的系統(tǒng),測試準(zhǔn)確率達(dá)到100%,滿足高可靠測試要求,表明設(shè)計(jì)的系統(tǒng)能夠滿足生產(chǎn)需要。
本文設(shè)計(jì)的編號自動(dòng)識別的光耦測試系統(tǒng)用于解決光耦測試過程產(chǎn)品編號與測試數(shù)據(jù)一一對應(yīng)記錄低效率、易出錯(cuò)的問題,系統(tǒng)設(shè)計(jì)了硬件模塊、軟件架構(gòu)、編號識別算法以及檢驗(yàn)算法,根據(jù)設(shè)計(jì)制作的測試系統(tǒng)實(shí)物通過運(yùn)行實(shí)測,系統(tǒng)能夠明顯提升測試效率,提高測試準(zhǔn)確率,有利于大批量光耦測試。