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

?

基于FPGA 圖像處理的內(nèi)窺鏡焊點(diǎn)檢測系統(tǒng)

2022-11-18 05:38:18賈晨鑫張榮福任夢圓徐朝輝龔姬央丹劉翰林
光學(xué)儀器 2022年5期
關(guān)鍵詞:焊點(diǎn)瑕疵寄存器

賈晨鑫,張榮福,任夢圓,徐朝輝,龔姬央丹,劉翰林

(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

引言

內(nèi)窺鏡作為現(xiàn)代醫(yī)學(xué)的重要設(shè)備,隨著制造業(yè)的不斷發(fā)展,實(shí)現(xiàn)內(nèi)窺鏡信號線的自動焊接已成為一個必然的趨勢。在生產(chǎn)制造過程中,焊點(diǎn)檢測系統(tǒng)作為自動焊接平臺的前端系統(tǒng)起著重要作用,通過檢測到的焊點(diǎn)坐標(biāo)配合三軸移動平臺完成自動化焊接,可以極大地提高生產(chǎn)效率,減小生產(chǎn)成本。

近年來,國內(nèi)外學(xué)者針對焊點(diǎn)檢測做了許多分析與研究。Bunyak 等提出一種PCB 有效層檢測算法,對焊點(diǎn)的圓心、半徑和形狀有較高的檢測效率[1]。Mar 等設(shè)計(jì)出一種基于機(jī)器視覺的PCB 焊點(diǎn)自動檢測系統(tǒng),通過光照歸一化減小光源影響,將圖像從RGB 顏色空間轉(zhuǎn)換為YIQ顏色空間,從而提高焊點(diǎn)檢測精度[2]。王梅梅以機(jī)器視覺技術(shù)為核心,通過對PCB 板圖像進(jìn)行分割,將感興趣區(qū)域(ROI)從圖像中分離出來,提高了焊點(diǎn)定位的精度,同時減小計(jì)算量[3]。但基于機(jī)器視覺的焊點(diǎn)檢測技術(shù)需要使用圖像采集卡和PC 端,從而達(dá)不到實(shí)時檢測的目標(biāo),同時成本高且不利于攜帶。此外也有基于DSP[4-5]的焊點(diǎn)坐標(biāo)檢測技術(shù),這種方法可以利用DSP 將圖像信號采集和圖像處理兩個模塊連接起來,但由于DSP 內(nèi)部程序的執(zhí)行方式是串行的,這使得該系統(tǒng)在圖像采集速度以及處理速度等方面存在劣勢。

針對上述問題,本文設(shè)計(jì)了一種基于FPGA 圖像處理的內(nèi)窺鏡焊點(diǎn)檢測系統(tǒng)。該系統(tǒng)以FPGA作為主控器控制圖像信號的采集、圖像處理、焊點(diǎn)檢測以及圖像信號的傳輸,利用FPGA 并行執(zhí)行的優(yōu)勢實(shí)現(xiàn)對目標(biāo)板焊點(diǎn)坐標(biāo)的提取,具備檢測效率高,成本低,易攜帶,實(shí)時性強(qiáng)等特點(diǎn)。

1 系統(tǒng)總體概述

基于FPGA 圖像處理[6]的內(nèi)窺鏡焊點(diǎn)檢測系統(tǒng)的整體設(shè)計(jì)如圖1 所示。整個系統(tǒng)主要由圖像采集模塊、圖像處理模塊、焊點(diǎn)坐標(biāo)提取模塊、瑕疵檢測模塊、SDRAM 控制模塊和VGA顯示模塊組成。FPGA 芯片作為主控器件通過SCCB 總線協(xié)議對OV5640 進(jìn)行初始化的配置。圖像采集模塊在FPGA 的控制下對OV5640 輸出的圖像信號進(jìn)行采集,以單通道灰度圖像形式輸出采集結(jié)果。圖像處理模塊將采集到的圖像進(jìn)行中值濾波去噪,并采用Sobel 邊緣檢測算法提取圖像中的邊緣信息。焊點(diǎn)坐標(biāo)提取模塊的功能是構(gòu)建像素坐標(biāo)系,根據(jù)檢測到的邊緣信息對焊點(diǎn)坐標(biāo)進(jìn)行采集,并對采集到的坐標(biāo)進(jìn)行效驗(yàn)。瑕疵檢測模塊主要利用采集到的焊點(diǎn)坐標(biāo)進(jìn)行檢測區(qū)域分割,在分割的區(qū)域內(nèi)進(jìn)行瑕疵的判別。圖像數(shù)據(jù)經(jīng)過處理后將傳送到SDRAM[7]中存儲,由于系統(tǒng)時鐘快和數(shù)據(jù)吞吐量大的特點(diǎn),這里使用16 bit 寬和1GB 容量的DDR2 SDRAM 進(jìn)行圖像的存儲和處理,大大提高了視頻顯示的流暢性和實(shí)時性。最終通過VGA 實(shí)時的顯示檢測結(jié)果,極大地提高了調(diào)試效率。

圖1 系統(tǒng)整體框圖Fig.1 Overall block diagram of the system

2 圖像采集與處理的FPGA 實(shí)現(xiàn)

2.1 圖像采集模塊設(shè)計(jì)

圖像采集模塊主要是由兩部分組成,包括OV5640 圖像傳感器的初始化模塊和圖像信號采集模塊。初始化模塊在系統(tǒng)上電復(fù)位穩(wěn)定后,根據(jù)預(yù)先存放在寄存器中的參數(shù),通過SCCB 通信協(xié)議[8]對控制OV5640 輸出圖像大小和輸出圖像模式的寄存器進(jìn)行配置,使OV5640 圖像傳感器輸出的圖像分辨率為1 280×720,圖像信號模式為RGB565。在正常工作模式下,圖像采集模塊根據(jù)OV5640 輸出的行同步信號采集圖像數(shù)據(jù),得到三通道彩色圖像。為了在后續(xù)高速信息處理下減小數(shù)據(jù)量,提高數(shù)據(jù)處理的速率,系統(tǒng)將三通道彩色圖像轉(zhuǎn)換成單通道的灰度圖像作為輸出并傳到下一模塊進(jìn)行進(jìn)一步處理。

2.2 滑動窗口設(shè)計(jì)

在一些經(jīng)典的圖像處理如Sobel 邊緣檢測、中值濾波、高斯濾波以及模糊濾波等,都需要窗處理方式以便運(yùn)算操作。系統(tǒng)采用硬件描述語言生成3×3 圖像滑動窗口,不僅可以實(shí)現(xiàn)算法的加速,同時滿足對整幅圖像的處理。

FPGA 硬件實(shí)現(xiàn)結(jié)構(gòu)圖如圖2 所示。FPGA使用兩個fifo 實(shí)現(xiàn)3×3 的滑動窗口,設(shè)定每個fifo 的深度為1 280(圖像一行像素的個數(shù)),數(shù)據(jù)位寬為8 bit。當(dāng)fifo0 和fifo1 全部寫滿時,下一時鐘上升沿輸出的data_in、fifo0_out 和fifo1_out就是圖像連續(xù)三行的數(shù)據(jù),同時保持列對齊。將data_in、fifo0_out 和fifo1_out 分別利用移位寄存器經(jīng)過兩個周期的延時得到3×3 窗口。

圖2 3×3 滑動窗口生成圖Fig.2 3×3 slide window to generate graph

2.3 中值濾波算法的硬件設(shè)計(jì)

中值濾波[9]是一種能有效抑制噪聲的非線性信號處理技術(shù),在圖像處理中對保護(hù)邊緣信息具有良好的效果,實(shí)現(xiàn)原理是將某一像素點(diǎn)值用其領(lǐng)域內(nèi)的中值所代替。

得到3×3 滑動窗口后,以流水線思想為理論基礎(chǔ)進(jìn)行中值濾波算法的硬件設(shè)計(jì)。在一級流水線處理中內(nèi)設(shè)3 個sort(三輸入排序模塊),分別對3×3 窗口的每一行數(shù)據(jù)進(jìn)行排序,得到每行的最大值、最小值和中值。在二級流水線處理中,將3 個最大值、3 個最小值和3 個中值分別通過sort 模塊排序處理,找出3 個最大值中的最小值,3 個最小值中的最大值和3 個中值中的中間值。最后,三級流水線將上級輸出的3 個值通過sort 模塊再次排序處理,得到中值。

2.4 邊緣檢測算法的硬件設(shè)計(jì)

系統(tǒng)采用Sobel 邊緣檢測算法[10-11],該算法可以良好的保留檢測焊點(diǎn)的輪廓信息并剔除目標(biāo)板的背景顏色。為保證整個系統(tǒng)的實(shí)時性,算法的FPGA 硬件實(shí)現(xiàn)首先需要使用3×3 滑動窗口對濾波后的圖像進(jìn)行存儲,利用內(nèi)部設(shè)定的橫向與縱向卷積因子模板分別與滑動窗口進(jìn)行卷積,得到橫向與縱向的圖像灰度值,即Gx與Gy。Sobel 算子模板如下。

梯度幅值Gr的硬件設(shè)計(jì)則是利用FPGA 開發(fā)板內(nèi)部的開平方根IP 核來實(shí)現(xiàn)運(yùn)算過程。將得到的梯度幅值與特定的閾值相比較判斷是否為邊緣信號。

圖像處理效果如圖3 所示。

圖3 圖像處理效果圖Fig.3 Effect of image acquisition

3 焊點(diǎn)檢測算法的FPGA 實(shí)現(xiàn)

焊點(diǎn)檢測算法主要包括焊點(diǎn)坐標(biāo)提取、焊點(diǎn)坐標(biāo)效驗(yàn)以及目標(biāo)板瑕疵檢測。為實(shí)現(xiàn)焊點(diǎn)檢測,需要先對焊點(diǎn)的坐標(biāo)進(jìn)行采集。由于目標(biāo)板在經(jīng)過圖像處理模塊后可以良好的保留焊點(diǎn)邊緣,因此可以利用邊緣坐標(biāo)比較法對焊點(diǎn)坐標(biāo)提取,其原理是根據(jù)每個焊點(diǎn)的位置關(guān)系,通過邊緣信號搜索和邊緣坐標(biāo)位置的實(shí)時比較來提取焊點(diǎn)坐標(biāo)。

3.1 焊點(diǎn)坐標(biāo)提取

實(shí)現(xiàn)焊點(diǎn)坐標(biāo)的提取需構(gòu)建像素坐標(biāo)系,在一級流水線處理中系統(tǒng)根據(jù)像素同步信號對每個輸入的像素點(diǎn)賦予坐標(biāo)信息,像素坐標(biāo)系模塊的硬件設(shè)計(jì)結(jié)構(gòu)如圖4 所示。

圖4 像素坐標(biāo)系實(shí)現(xiàn)結(jié)構(gòu)圖Fig.4 Structure of pixel coordinate system

邊緣信號采集模塊利用自定義位寬的移位寄存器進(jìn)行設(shè)計(jì),移位寄存器的位寬可根據(jù)采集情況進(jìn)行調(diào)整,以6 位寬的移位寄存器為例,該模塊根據(jù)同步信號對當(dāng)前輸入的圖像信號進(jìn)行判斷。由于處理過后的圖像為二值圖像,當(dāng)輸入的圖像信號為黑色點(diǎn)像素,移位寄存器向左移一位,最低位賦1,否則最低位賦0。

移位寄存器[12]的值作為邊緣信號采集的重要條件。當(dāng)移位寄存器內(nèi)部全為0 時,表示檢測到了背景區(qū)域;當(dāng)移位寄存器內(nèi)部不全為1 時,表示檢測到了噪聲信號或即將檢測到焊點(diǎn)邊緣;當(dāng)移位寄存器內(nèi)部全為1 時,表示檢測到了焊點(diǎn)的邊緣信息。由于FPGA 內(nèi)部并行處理的特性,此時像素坐標(biāo)系模塊輸出的坐標(biāo)可以作為焊點(diǎn)邊緣的坐標(biāo)進(jìn)行存儲。

在FPGA 內(nèi)部設(shè)計(jì)的邊緣坐標(biāo)采集模塊從每幀圖像的第一個像素點(diǎn)開始依次遍歷每個像素點(diǎn)。在邊緣信號采集過程中,系統(tǒng)會檢測到很多的焊點(diǎn)邊緣,通過利用各焊點(diǎn)的位置特征對邊緣坐標(biāo)進(jìn)行比較,可以精確提取各個焊點(diǎn)的坐標(biāo)。在實(shí)際的檢測過程中,目標(biāo)板隨機(jī)擺放時,焊點(diǎn)的位置特征存在不同情況如圖5 所示。

圖5 目標(biāo)板隨機(jī)擺放圖Fig.5 Random placement of the target board

在對1 號焊點(diǎn)坐標(biāo)提取前,通過觀察目標(biāo)板隨機(jī)擺放情況可以看出,1 號焊點(diǎn)的縱坐標(biāo)最小,但在圖(b)中縱坐標(biāo)最小的焊點(diǎn)包括3 號焊點(diǎn)。因此,在邊緣信號采集過程中,通過邊緣坐標(biāo)比較,找出縱坐標(biāo)最小的邊緣坐標(biāo),若存在多個則將行坐標(biāo)最小的邊緣坐標(biāo)作為1 號焊點(diǎn)的邊緣坐標(biāo),經(jīng)效正后得到焊點(diǎn)的中心坐標(biāo),其余焊點(diǎn)坐標(biāo)的提取與之類似,硬件設(shè)計(jì)邏輯流程圖如圖6 所示。

圖6 焊點(diǎn)坐標(biāo)采集流程圖Fig.6 Flow chart of welding point coordinate acquisition

FPGA 內(nèi)設(shè)8 個寄存器用來對每幀圖像的檢測區(qū)域內(nèi)4 個焊點(diǎn)的坐標(biāo)進(jìn)行存儲。在三級流水線處理中,坐標(biāo)效驗(yàn)是根據(jù)采集到的焊點(diǎn)坐標(biāo)計(jì)算出相鄰兩焊點(diǎn)坐標(biāo)之間的距離,并與特定的閾值相比較進(jìn)行判斷。閾值由目標(biāo)板各點(diǎn)之間的固定間距轉(zhuǎn)換到像素坐標(biāo)系下進(jìn)行設(shè)定。如果兩坐標(biāo)之間的距離超出閾值范圍,則判定目標(biāo)板不合格,F(xiàn)PGA 內(nèi)設(shè)的flag 信號將會拉高,產(chǎn)生的flag 信號用來控制蜂鳴器發(fā)出警報(bào)或者控制分揀裝置。

3.2 瑕疵檢測

在使用檢測合格的焊點(diǎn)坐標(biāo)進(jìn)行自動化焊接前,對目標(biāo)板進(jìn)行瑕疵檢測,即判別各個焊點(diǎn)間無短路和余銅現(xiàn)象,有利于產(chǎn)品質(zhì)量的進(jìn)一步提升。

瑕疵檢測區(qū)域的邊界分割函數(shù)為

式中:(X0,Y0)和(X1,Y1)為連續(xù)兩個焊點(diǎn)的坐標(biāo);(X,Y)為線性區(qū)域分割的邊界坐標(biāo)。該模塊的硬件設(shè)計(jì)是將采集到的合格焊點(diǎn)坐標(biāo)利用式(2)進(jìn)行線性區(qū)域分割。根據(jù)4 個焊點(diǎn)的坐標(biāo)位置構(gòu)建線性區(qū)域分割模型如圖7 所示。

圖7 線性區(qū)域分割模型Fig.7 Linear region segmentation model

系統(tǒng)通過在線性分割的區(qū)域內(nèi)采集邊緣信號來實(shí)現(xiàn)瑕疵檢測。對瑕疵邊緣的采集利用邊緣信號采集模塊,通過適當(dāng)調(diào)整模塊內(nèi)部移位寄存器的位寬,可以提高對瑕疵邊緣的采集精度。將采集到邊緣信號的數(shù)值與設(shè)定的閾值相比較,若超出設(shè)定的閾值范圍系統(tǒng)將發(fā)出警報(bào),同時將檢測區(qū)域內(nèi)的瑕疵用紅色像素點(diǎn)顯示,有利于工作人員更直觀地發(fā)現(xiàn)目標(biāo)板上的瑕疵所在。

4 實(shí)驗(yàn)結(jié)果與總結(jié)

本系統(tǒng)的硬件測試平臺如圖8 所示,焊點(diǎn)檢測系統(tǒng)采用Altera Cyclone IV E FPGA 系列的EP4CE30F23C8 作為主控芯片,驅(qū)動OV5640 圖像傳感器進(jìn)行焊點(diǎn)圖像的采集與處理工作。在Altera 公司的Quartus II 13.0 開發(fā)環(huán)境中,以Verilog HDL 硬件描述語言完成圖像信號采集模塊、圖像處理模塊、焊點(diǎn)檢測算法、瑕疵判別算法和VGA 驅(qū)動模塊的硬件設(shè)計(jì)。將設(shè)計(jì)好的硬件電路配置文件下載到FPGA 中,在系統(tǒng)上電復(fù)位后顯示器上顯示出清晰的焊點(diǎn)畫面。

圖8 測試平臺Fig.8 Test platform

4.1 焊點(diǎn)坐標(biāo)檢測測試

系統(tǒng)設(shè)置綠框標(biāo)記的區(qū)域作為檢測區(qū)域,對區(qū)域內(nèi)部的目標(biāo)板進(jìn)行檢測。為了直觀地顯示檢測到的焊點(diǎn)坐標(biāo),采用十字光標(biāo)法對坐標(biāo)進(jìn)行標(biāo)記,焊點(diǎn)坐標(biāo)提取效果圖如圖9 所示??梢钥闯鍪止鈽?biāo)的中心位置位于焊點(diǎn)上,當(dāng)目標(biāo)板在檢測區(qū)域內(nèi)移動時,十字光標(biāo)也跟隨焊點(diǎn)位置移動,具有實(shí)時性。

圖9 焊點(diǎn)坐標(biāo)提取圖Fig.9 Extraction of coordinates of solder joint

4.2 坐標(biāo)檢測誤差分析

為驗(yàn)證系統(tǒng)檢測坐標(biāo)的精確性和可靠性,將系統(tǒng)自動檢測到的像素坐標(biāo)經(jīng)過坐標(biāo)轉(zhuǎn)換后與人工標(biāo)定得到的實(shí)際坐標(biāo)進(jìn)行比較,根據(jù)獲取的數(shù)據(jù)計(jì)算坐標(biāo)殘差。由于1 個目標(biāo)板共有4 個焊點(diǎn),這里對5 個目標(biāo)板進(jìn)行檢測,共得到20 個焊點(diǎn)的坐標(biāo)信息,經(jīng)過計(jì)算和分析后,對比結(jié)果如表1 所示。

表1 檢測坐標(biāo)與實(shí)際坐標(biāo)對比Tab.1 Comparision between the detected coordinates and the actual coordinates

對系統(tǒng)檢測的焊點(diǎn)坐標(biāo)進(jìn)行統(tǒng)計(jì)分析,結(jié)果如表2 所示。

系統(tǒng)要求所測得的坐標(biāo)誤差不超過0.1 mm,由表2 可以看出系統(tǒng)檢測到的坐標(biāo)與實(shí)際坐標(biāo)誤差范圍在0~0.07 mm 以內(nèi),在X軸和Y軸上坐標(biāo)誤差范圍在0~0.06 mm 以內(nèi),最大誤差都小于0.1 mm。實(shí)驗(yàn)表明,經(jīng)系統(tǒng)檢測得到的焊點(diǎn)坐標(biāo)在精度上達(dá)到了設(shè)計(jì)要求,可以運(yùn)用到自動化焊接系統(tǒng)中。

表2 焊點(diǎn)檢測實(shí)驗(yàn)結(jié)果分析Tab.2 Analysis of experimental results of welding spot detection

4.3 瑕疵檢測測試

目標(biāo)板瑕疵檢測效果圖如圖10 所示,圖(a)中的兩個目標(biāo)板在4 個焊點(diǎn)之間均存在約0.04 mm2的余銅。對圖(a)中兩塊目標(biāo)板的瑕疵檢測結(jié)果如圖(b)、圖(c)所示,系統(tǒng)設(shè)置屏幕中心綠框所標(biāo)記的240×240 像素區(qū)域作為檢測區(qū)域,對區(qū)域內(nèi)部的目標(biāo)板進(jìn)行瑕疵檢測,存在瑕疵的目標(biāo)板將被紅色方框所標(biāo)記并以紅色像素點(diǎn)顯示檢測到的瑕疵邊緣。

圖10 目標(biāo)板瑕疵圖Fig.10 Defect of target plate

5 結(jié)論

本文在分析內(nèi)窺鏡信號線自動焊接的需求后,設(shè)計(jì)了一種基于FPGA 的內(nèi)窺鏡焊點(diǎn)檢測系統(tǒng)。主要介紹系統(tǒng)以FPGA 為核心,與外圍硬件實(shí)現(xiàn)圖像采集、圖像處理、焊點(diǎn)檢測和瑕疵判別算法,將檢測到的焊點(diǎn)像素坐標(biāo)進(jìn)行標(biāo)記,通過VGA 實(shí)時顯示處理結(jié)果。實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的內(nèi)窺鏡焊點(diǎn)檢測系統(tǒng)具有實(shí)時性,對焊點(diǎn)的檢測精度≤0.1 mm,工作穩(wěn)定,體積小便于攜帶,滿足系統(tǒng)設(shè)計(jì)的技術(shù)指標(biāo),具有實(shí)際使用價(jià)值。

猜你喜歡
焊點(diǎn)瑕疵寄存器
登記行為瑕疵與善意取得排除的解釋論
法律方法(2021年4期)2021-03-16 05:35:28
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
哦,瑕疵
哦,瑕疵
分簇結(jié)構(gòu)向量寄存器分配策略研究*
焊盤尺寸對SMT焊點(diǎn)可靠性的影響
DH36鋼摩擦疊焊焊點(diǎn)分布規(guī)律研究
焊接(2016年2期)2016-02-27 13:01:14
基于特征聚集度的FCM-RSVM算法及其在人工焊點(diǎn)缺陷識別中的應(yīng)用
基于特征聚集度的FCM-RSVM算法及其在人工焊點(diǎn)缺陷識別中的應(yīng)用
毫無瑕疵的推理
南川市| 太谷县| 茂名市| 苍溪县| 汝阳县| 体育| 信宜市| 上高县| 房山区| 长乐市| 特克斯县| 巢湖市| 西昌市| 读书| 邢台市| 碌曲县| 澎湖县| 平谷区| 鄂尔多斯市| 阿克| 辉南县| 永安市| 巴林右旗| 山西省| 兴城市| 宁化县| 大同市| 潞西市| 绵竹市| 鄱阳县| 沁源县| 兰考县| 民乐县| 长葛市| 苗栗县| 铜山县| 牟定县| 昌江| 彰化县| 布尔津县| 略阳县|