国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺(jué)與圖像處理的IC淺插檢測(cè)研究與應(yīng)用

2015-07-18 11:26:37
關(guān)鍵詞:插槽圖像處理機(jī)器

柏 濤 濤

(安徽廣播電視大學(xué)滁州分校區(qū),安徽 滁州 239000)

基于機(jī)器視覺(jué)與圖像處理的IC淺插檢測(cè)研究與應(yīng)用

柏 濤 濤

(安徽廣播電視大學(xué)滁州分校區(qū),安徽 滁州 239000)

電子產(chǎn)品中IC的pin腳需要準(zhǔn)確插入插槽完成電路連接,但是在實(shí)際作業(yè)中往往存在一定程度的淺插,即電路連接不到位,不符合工業(yè)規(guī)定,造成不良多發(fā)。本系統(tǒng)基于機(jī)器視覺(jué)與圖像處理,構(gòu)建一個(gè)完整的工程。首先基于相機(jī)VB版SDK二次開(kāi)發(fā),完成圖像采集。然后評(píng)價(jià)光源、鏡頭,構(gòu)建視覺(jué)硬件平臺(tái)。接著,基于C++、OpenCV開(kāi)發(fā)淺插檢測(cè)算法,封裝成DLL在VB.NET的環(huán)境下調(diào)用。最后基于VB.NET開(kāi)發(fā)軟件UI,集成PMS功能、IO通信、USB讀碼功能。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,與人工檢測(cè)相比,本系統(tǒng)在速度、精度上有絕對(duì)優(yōu)勢(shì),可應(yīng)用于工程。

淺插檢測(cè);圖像處理;機(jī)器視覺(jué);OpenCV;VB.NET

0 引言

近年來(lái),隨著社會(huì)發(fā)展和科技進(jìn)步,人們對(duì)顯示器的需求量越來(lái)越大,尤其在金融、安防、傳媒領(lǐng)域。這些日益旺盛的需求不斷刺激了電子制造的產(chǎn)量,產(chǎn)量提升的同時(shí),人們?cè)絹?lái)越多地開(kāi)始關(guān)注產(chǎn)品質(zhì)量和制造效率[1-3]。顯示器中IC的pin腳需要插入插槽,在實(shí)際作業(yè)中往往存在一定程度的淺插,目前檢查方法主要依靠人眼檢查。由于人眼本身帶有主觀性和局限性,往往無(wú)可避免地會(huì)發(fā)生不良漏檢,而且效率低下,同時(shí)隨著經(jīng)濟(jì)發(fā)展,人力成本也越來(lái)越高。在這樣的背景下,越來(lái)越的工廠提出智能工廠、工業(yè)4.0、自動(dòng)化、信息化的概念并逐步實(shí)施。

本文對(duì)IC的pin腳淺插問(wèn)題展開(kāi)研究,系統(tǒng)基于機(jī)器視覺(jué)思想,評(píng)價(jià)相機(jī)、光源、鏡頭,構(gòu)建視覺(jué)硬件平臺(tái)?;趫D像處理理論,研究檢測(cè)算法,采用C++、OpenCV開(kāi)發(fā)淺插檢測(cè)算法,封裝成DLL在VB.NET的環(huán)境下調(diào)用。基于軟件開(kāi)發(fā),構(gòu)建起一個(gè)完整的工程,首先基于相機(jī)VB版SDK二次開(kāi)發(fā),完成圖像采集。然后基于VB.NET開(kāi)發(fā)軟件UI,集成PMS功能、IO通信、USB讀碼功能。

圖像處理系統(tǒng)根據(jù)目標(biāo)的形態(tài)、顏色、亮度特征得到判別結(jié)果來(lái)控制現(xiàn)場(chǎng)設(shè)備動(dòng)作。機(jī)器視覺(jué)技術(shù)在中國(guó)市場(chǎng)的熱度成上升趨勢(shì),應(yīng)用范圍涵蓋工業(yè)、農(nóng)業(yè)、醫(yī)藥、安全、航天、軍事[4-6]。其主要原因是中國(guó)已成為全球制造業(yè)加工中心,高要求的零部件加工及其相應(yīng)的生產(chǎn)線,對(duì)先進(jìn)水平的機(jī)器視覺(jué)系統(tǒng)需求越來(lái)越大。機(jī)器視覺(jué)系統(tǒng)的優(yōu)勢(shì)是:①提高生產(chǎn)柔性,在危險(xiǎn)環(huán)境下代替人工視覺(jué);②大批量生產(chǎn)過(guò)程中,提高自動(dòng)化程度;③易于實(shí)現(xiàn)信息集成,是實(shí)現(xiàn)計(jì)算機(jī)集成制造的基礎(chǔ)技術(shù)[5]。

本系統(tǒng)的軟件架構(gòu)主要是運(yùn)用C++開(kāi)發(fā)算法,由VB.NET承擔(dān)UI、采集、機(jī)構(gòu)通信、網(wǎng)絡(luò)通信等。采用這樣結(jié)構(gòu)的原因是:C++直接編譯成機(jī)器代碼,可以充分發(fā)揮硬件性能,而如果使用腳本語(yǔ)言如matlab,運(yùn)行時(shí)翻譯成機(jī)器代碼,這樣會(huì)消耗一定的硬件能效。同時(shí),matlab還需要有授權(quán)的license,且不同版本還有不兼容,相比之下,很多開(kāi)源數(shù)值計(jì)算庫(kù)都采用C++開(kāi)發(fā)。C++管理內(nèi)存靈活,可提前預(yù)算需要多少內(nèi)存,而腳本語(yǔ)言在解釋過(guò)程的內(nèi)存無(wú)法提前預(yù)知,所以本系統(tǒng)采用C++開(kāi)發(fā)算法。當(dāng)然C++也有缺點(diǎn),某些具體功能不如其他語(yǔ)言方便,比如處理文本、操作字符串,尤其是可視化方面[7-10]。相比之下,這些不足正是VB.NET的優(yōu)勢(shì)。所以本系統(tǒng)采用VB.NET開(kāi)發(fā)系統(tǒng)UI、通信等。

最后實(shí)驗(yàn)證明研究機(jī)制實(shí)現(xiàn)了預(yù)期功能,精度優(yōu)于傳統(tǒng)算法機(jī)制,效率高于人工機(jī)制。

1 機(jī)器視覺(jué)系統(tǒng)整體機(jī)制

構(gòu)建機(jī)器視覺(jué)系統(tǒng)的難點(diǎn)在于相機(jī)、鏡頭、光源的選型,評(píng)判標(biāo)準(zhǔn)取決于取像是否清晰,對(duì)比度是否明顯,是否有利于后期圖像分析。本系統(tǒng)中的視覺(jué)硬件主要由工業(yè)相機(jī)、CCTV鏡頭、同軸光、環(huán)形光組成。工業(yè)相機(jī)采用basler-aca2500-14 um,分辨率2 590*1 942,感光芯片是AptinaMT9P,CMOS滾動(dòng)快門,幀速率14幀/S。鏡頭采用kowa-25mm-CCTV。同軸光源(漫射同軸燈)提供了比傳統(tǒng)光源更均勻的照明,因此提高了機(jī)器視覺(jué)的準(zhǔn)確性和重現(xiàn)性。環(huán)形光源可以突出顯示被測(cè)物體邊緣和高度變化,突出原本難以看清的部分。最終打光效果如圖1所示,可見(jiàn)圖像清晰、對(duì)比度明顯。

本系統(tǒng)圖像處理部分由工控PC完成,PC與相機(jī)用千兆網(wǎng)線連接。PC同時(shí)還承擔(dān)與機(jī)構(gòu)交互、與服務(wù)器PC通信的功能。整個(gè)系統(tǒng)硬件組織架構(gòu)圖如圖2所示。

圖1 采集圖像 圖2 本系統(tǒng)架構(gòu)圖

2 基于圖像處理的淺插檢測(cè)算法

檢測(cè)IC是否淺插,根據(jù)IC與插槽間距離是否在標(biāo)準(zhǔn)距離范圍內(nèi)來(lái)判斷。如圖3所示,pin腳中第二條白色長(zhǎng)杠露出,即淺插不良。圖1中第二條白色長(zhǎng)杠未露出,只露第一條白色長(zhǎng)杠,為良品。本系統(tǒng)根據(jù)第一條白色長(zhǎng)杠中心點(diǎn)與插槽中心點(diǎn)距離來(lái)判斷是否淺插。經(jīng)過(guò)一定量良品測(cè)試,得出標(biāo)準(zhǔn)距離50 mm,如果低于標(biāo)準(zhǔn)值,則判為不良,即淺插。

圖3 淺插圖像

算法主要步驟:

1)觀察一定數(shù)量的材料,劃定IC和插槽所在的大致區(qū)域,以保證IC和插槽在區(qū)域內(nèi)為前提,提取ROI,這個(gè)ROI區(qū)域是經(jīng)驗(yàn)值。采用OpenCV函數(shù)cvSetImageROI,從原圖提取感興趣區(qū)域圖像,采用cvCopy函數(shù)把感興趣區(qū)域圖像數(shù)據(jù)復(fù)制到目標(biāo)圖像,最后用cvResetImageROI函數(shù)釋放原圖ROI。

2)對(duì)IC和插槽進(jìn)行定位,計(jì)算兩者中心位置和距離。分析圖像可知,IC第一條白杠與插槽輪廓明顯,采用OpenCV的cvMatchTemplate函數(shù)定位目標(biāo)輪廓。該函數(shù)先在原圖中截取目標(biāo),作為模板,然后對(duì)測(cè)試圖像劃分區(qū)域后,進(jìn)行模板定位,依次計(jì)算模板與待測(cè)圖像的重疊區(qū)域相似度。匹配方法支持平均差匹配法、相關(guān)匹配法、相關(guān)系數(shù)匹配法、歸一化平方差匹配法,本系統(tǒng)采用平均差匹配法,匹配值最好為0,匹配越差,匹配值越大[11,12]。cvMinMaxLoc函數(shù)得到匹配最大值最小值對(duì)應(yīng)的坐標(biāo)。定位結(jié)果見(jiàn)圖4與圖5。其中,圖4是定位算法對(duì)圖1的定位效果;而圖5是定位算法對(duì)圖3的定位效果。

3)對(duì)IC第一條白杠與插槽輪廓定位成功,用紅色矩形框畫(huà)出輪廓,表示定位準(zhǔn)確程度,再計(jì)算出矩形框中心點(diǎn),即IC第一條白杠與插槽輪廓中心點(diǎn)坐標(biāo)。此時(shí),容易計(jì)算出2坐標(biāo)距離,即IC第一條白杠與插槽輪廓距離,根據(jù)上節(jié)得到的標(biāo)準(zhǔn)距離50 mm,判斷是否不良。

圖4 識(shí)別效果 圖5 識(shí)別效果

檢測(cè)算法部分關(guān)鍵代碼:

IplImage *src_qiancha;

cvSetImageROI(image1,cvRect(image1->width/3,image1->height/3,image1->width/3,image1->height/3));

src_qiancha=cvCreateImage(cvGetSize(image1),image1->depth,image1->nChannels);

cvCopy(image1,src_qiancha,NULL);

cvResetImageROI(image1);

IplImage *temp_qiancha,*ftmp_qiancha;

temp_qiancha=cvLoadImage("qiancha1.bmp");

int iw=src_qiancha->width-temp_qiancha->width+1;

int ih=src_qiancha->height-temp_qiancha->height+1;

ftmp_qiancha=cvCreateImage(cvSize(iw,ih),32,1);

double min_val;

double max_val;

cvMatchTemplate(src_qiancha,temp_qiancha,ftmp_qiancha,1);

cvMinMaxLoc(ftmp_qiancha,&min_val,&max_val,&min_loc_qiancha,&max_loc_qiancha,NULL);cvRectangle(src_qiancha,cvPoint(min_loc_qiancha.x,min_loc_qiancha.y),cvPoint((min_loc_qiancha.x+temp_qiancha->width),(min_loc_qiancha.y+temp_qiancha->height)),CV_RGB(255,0,0),2,CV_AA,0);

cvCircle(src_qiancha,cvPoint((min_loc_qiancha.x+temp_qiancha->width/2),(min_loc_qiancha.y+temp_qiancha->height/2)),6,CV_RGB(255,0,0),-1)。

3 基于.NET的軟件UI開(kāi)發(fā)

本系統(tǒng)界面采用VB.NET開(kāi)發(fā),界面主要功能有:圖像采集、讀碼、電算(PMS)、IO卡通信。圖像采集主要基于相機(jī)VB.NET版本的SDKAPI函數(shù)進(jìn)行二次開(kāi)發(fā),這需要了解SDK開(kāi)發(fā)手冊(cè)后進(jìn)行。用SDK函數(shù)驅(qū)動(dòng)相機(jī),取出采集到的裸數(shù)據(jù),轉(zhuǎn)換為VB環(huán)境下的Bitmap格式,最后基于傳入C++DLL處理。電算部分,基于VB控件WebRequest,將帶有數(shù)據(jù)信息的一串連接傳入該控件,通過(guò)網(wǎng)線傳入服務(wù)器。讀碼器采用外接USB接口,基于VB控件SerialPort讀取讀碼槍信息。本系統(tǒng)與硬件機(jī)構(gòu)交互,依靠IO卡傳輸信號(hào),通過(guò)VB驅(qū)動(dòng)IO卡SDK的API函數(shù),實(shí)現(xiàn)視覺(jué)與運(yùn)動(dòng)機(jī)構(gòu)的互動(dòng)。當(dāng)傳送帶承載材料到位時(shí),IO卡發(fā)送信號(hào)給PC,PC進(jìn)行取像和處理,完成后發(fā)送信號(hào)給IO卡,傳送帶繼續(xù)前進(jìn)。

VB版SDK二次開(kāi)發(fā)關(guān)鍵代碼:

Pylon.Initialize()

numDevices=Pylon.EnumerateDevices()

hDev=Pylon.CreateDeviceByIndex(0)

Pylon.DeviceOpen(hDev,Pylon.cPylonAccessModeControl Or Pylon.cPylonAccessModeStream)

Pylon.DeviceFeatureIsAvailable(hDev,"EnumEntry_PixelFormat_Mono8")

Pylon.DeviceFeatureFromString(hDev,"PixelFormat","Mono8")

Pylon.DeviceFeatureIsAvailable(hDev,"EnumEntry_TriggerSelector_AcquisitionStart")

Pylon.DeviceFeatureFromString(hDev,"TriggerSelector","AcquisitionStart")

Pylon.DeviceFeatureFromString(hDev,"TriggerMode","Off")

Pylon.DeviceFeatureIsAvailable(hDev,"EnumEntry_TriggerSelector_FrameStart")

Pylon.DeviceFeatureFromString(hDev,"TriggerSelector","FrameStart")

Pylon.DeviceFeatureFromString(hDev,"TriggerMode","Off")

Pylon.DeviceFeatureIsWritable(hDev,"GevSCPSPacketSize")

Pylon.DeviceSetIntegerFeature(hDev,"GevSCPSPacketSize",1500)

電算發(fā)送、讀碼、IO卡關(guān)鍵代碼:

WEB.Navigate(PATH)

BarcodeID=SerialPort1.ReadExisting()

DASK.DO_WritePort(m_dev,0,1)

m_dev=Register_Card(PCI_7230,0)

4 實(shí)驗(yàn)與討論

本文不但實(shí)現(xiàn)了淺插檢測(cè)算法,而且從系統(tǒng)工程高度,搭建并實(shí)現(xiàn)了整個(gè)流程:視覺(jué)硬件選型、平臺(tái)搭建、視覺(jué)算法開(kāi)發(fā)、UI開(kāi)發(fā)、電算、讀碼、IO卡通信功能集成。同時(shí)實(shí)現(xiàn)了整個(gè)機(jī)器視覺(jué)系統(tǒng),并滿足工廠實(shí)際需求及整個(gè)生產(chǎn)流程所需要的功能。實(shí)驗(yàn)驗(yàn)證,此機(jī)制可以對(duì)淺插不良產(chǎn)品進(jìn)行視覺(jué)檢測(cè),并且與機(jī)構(gòu)進(jìn)行交互。而傳統(tǒng)人工機(jī)制具有主觀性、同時(shí)效率有限,靈活性極差。

圖6為本系統(tǒng)軟件UI圖,有圖像采集和顯示功能、定位檢查功能,操作方便,界面友好,非常適合工廠作業(yè)員使用。圖7為待定位檢查圖,圖8為定位檢測(cè)結(jié)果圖,可見(jiàn)準(zhǔn)確定位第一條白杠和插槽中心點(diǎn)位置。

圖6 本系統(tǒng)UI圖

以下對(duì)相同一組材料(1 000枚)進(jìn)行檢測(cè),先用人工檢查;然后本研究開(kāi)發(fā)的系統(tǒng)檢查,分別記錄所用時(shí)間和檢查結(jié)果。結(jié)果見(jiàn)表1。由表1可知,本研究機(jī)制的檢查精度比人工機(jī)制要高,所用時(shí)間也少于人工機(jī)制。

表1 測(cè)試數(shù)據(jù)表

圖7 待定位監(jiān)測(cè)圖 圖8 定位結(jié)果圖

5 結(jié) 論

為了解決當(dāng)前制造業(yè)人力成本越來(lái)越高及人工檢測(cè)的精度、效率問(wèn)題,本研究從視覺(jué)硬件搭建、算法開(kāi)發(fā)、到UI通信功能集成,實(shí)現(xiàn)整個(gè)機(jī)器視覺(jué)系統(tǒng)。以工廠實(shí)際需求為導(dǎo)向,從系統(tǒng)的高度實(shí)現(xiàn)了該解決方案,應(yīng)用于產(chǎn)品IC淺插不良檢測(cè)。吸收VB開(kāi)發(fā)UI的效率優(yōu)勢(shì)和界面友好優(yōu)勢(shì),同時(shí)吸收C++開(kāi)發(fā)算法的靈活優(yōu)勢(shì),選擇了兼容性好且打光效果穩(wěn)定的視覺(jué)硬件。實(shí)驗(yàn)結(jié)果表明:與傳統(tǒng)人工機(jī)制相比,本研究機(jī)制具有更好的精度和更高的效率。

[1]黃紫青.基于機(jī)器視覺(jué)的芯片引腳識(shí)別與中心定位算法研究[J].軟件導(dǎo)刊,2015,31(02):227-240.

[2]王云良.基于機(jī)器視覺(jué)的O型圈質(zhì)量檢測(cè)智能系統(tǒng)開(kāi)發(fā)[J].軟件導(dǎo)刊,2015,1(11):83-87.

[3]陳大川.基于機(jī)器視覺(jué)的鉸鏈精密檢驗(yàn)系統(tǒng)[J].機(jī)電工程技術(shù),2015,3(04):11-15.

[4]黃志平.基于機(jī)器視覺(jué)的工業(yè)炸藥包裝缺陷在線檢測(cè)系統(tǒng)[J].爆破器材,2015,53(07):96-99.

[5]宋玉琴.基于機(jī)器視覺(jué)的太陽(yáng)能電池片外觀缺陷檢測(cè)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,43(10):86-90.

[6]呂鳴.提高自學(xué)考試答題卡識(shí)別準(zhǔn)確率的探討及實(shí)踐[J].中國(guó)考試,2011,23(02):371-376.

[7]Noori H,Saryazdi S.A bilateral image inpainting[J].IJST Trans Electr Eng,2011,25(E2):95-108.

[8]Y Kuang,L Zhang,Z Yi.An adaptive rank-sparsity K-SVD algorithm for image sequence denoising[J].Patt Recogn Lett,2014,33(17):1021-1032.

[9]吳忠云.機(jī)器視覺(jué)檢測(cè)技術(shù)在煙箱缺條檢測(cè)方面的運(yùn)用[J].制造業(yè)自動(dòng)化,2014,8(15):42-47.

[10]Ehmann J,Pappas T,Neuhoff D.Structure texture similarity metrics for image analysis and retrieval[J].IEEE Transact,2013,22(7):2545-2258.

[11]Xu X Y,Xu S Z,Jin L H,et al.Characteristic analysis of Otsu threshold and its applications[J].Pattern Recogn,2011,2(01):124-128.

[12]趙霽文.機(jī)器視覺(jué)測(cè)量中成像系統(tǒng)光瞳球差對(duì)測(cè)量影響的研究[J].光學(xué)與光電技術(shù),2014,36(04):181-185.

[責(zé)任編輯:王榮榮 英文編輯:劉彥哲]

Research and Application on IC Shallow Detection Based on Machine Vision and Image Processing

BO Tao-tao

(Anhui University of Radio and Television at Chuzhou,Chuzhou,Anhui 239000,China)

IC pin in electronic products needs to be accurately inserted into the slot to complete circuit connection,but in actual operation there is certain degree of shallow,that is the circuit connection is not in place to meet the requirements of industrial,resulting in adverse multiple.This system is based on machine vision and image processing to build a complete project.First,based on the camera VB version of SDK two development,image acquisition is completed.And then,after the evaluation of the light source and the lens,the visual hardware platform is constructed.Then,based on OpenCV,C++ to develop the shallow detection algorithm,DLL is encapsulated in the environment of VB.NET call.Finally,based on VB.NET,UI integrated PMS function,IO communication and USB read code function.After the experiment,compared with the manual detection,this system has the absolute advantage in speed and accuracy,and can be applied to engineering.

shallow detection;image processing;machine vision;OpenCV;VB.NET

安徽省自然科學(xué)基金資助項(xiàng)目(KJ2013B091)

柏濤濤(1983-), 男,安徽鳳陽(yáng)人,安徽廣播電視大學(xué)教師,碩士。研究領(lǐng)域:圖像處理、計(jì)算機(jī)應(yīng)用。

TP 391

A

10.3969/j.issn.1673-1492.2015.04.010

來(lái)稿日期:2015-05-27

猜你喜歡
插槽圖像處理機(jī)器
機(jī)器狗
機(jī)器狗
英特爾發(fā)布 第3代至強(qiáng)處理器
機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:20
未來(lái)機(jī)器城
電影(2018年8期)2018-09-21 08:00:06
模糊圖像處理,刑事偵查利器
圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
KD399:便裝式窗簾固定架
無(wú)敵機(jī)器蛛
Photo Shop通道在圖像處理中的應(yīng)用
河南科技(2014年1期)2014-02-27 14:04:06
图木舒克市| 玉树县| 商南县| 缙云县| 嘉禾县| 莱州市| 漳州市| 汶川县| 淳安县| 萨嘎县| 宁安市| 岳阳市| 会理县| 乌苏市| 正镶白旗| 犍为县| 大埔区| 太保市| 子洲县| 芒康县| 深圳市| 齐齐哈尔市| 满城县| 皮山县| 泌阳县| 吐鲁番市| 桃江县| 汾阳市| 建始县| 平安县| 安丘市| 新龙县| 阿合奇县| 鄂托克旗| 扶绥县| 富民县| 托里县| 石泉县| 陇川县| 思茅市| 炉霍县|