郭俊俊,欣子豪,薛子盛,楊健
(常州大學(xué) 微電子與控制工程學(xué)院,江蘇常州,213016)
機(jī)器視覺[1]是一門新興的學(xué)科,隨著電子信息技術(shù)、物聯(lián)網(wǎng)技術(shù)和計(jì)算機(jī)技術(shù)的不斷完善,在我們的日常生活中得到了快速的發(fā)展和應(yīng)用[2]。機(jī)器視覺是計(jì)算機(jī)專業(yè)的一門核心基礎(chǔ)課程,該課程對(duì)于未來電子信息技術(shù)、人工智能技術(shù)的深入發(fā)展起到了關(guān)鍵作用。為幫助計(jì)算機(jī)專業(yè)學(xué)生更好的學(xué)習(xí)相關(guān)課程知識(shí),本文設(shè)計(jì)了一個(gè)基于單擺模型下的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng),可以作為計(jì)算機(jī)專業(yè)的綜合實(shí)訓(xùn)項(xiàng)目,該項(xiàng)目體現(xiàn)了實(shí)驗(yàn)內(nèi)容的工程性、實(shí)現(xiàn)方法的多樣性、知識(shí)結(jié)構(gòu)的綜合性、實(shí)踐過程的探索性[4]。同時(shí),本設(shè)計(jì)同時(shí)還將多學(xué)科知識(shí)進(jìn)行融合,將已有知識(shí)與拓展知識(shí)融合[5],大大拓展了學(xué)生的知識(shí)面。
本文設(shè)計(jì)的基于單擺模型的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng)通過兩個(gè)相互垂直的攝像節(jié)點(diǎn)分別拍攝擺球運(yùn)動(dòng)軌跡,并通過以太網(wǎng)交換機(jī)與終端節(jié)點(diǎn)實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)實(shí)時(shí)顯示拍攝視頻并測(cè)量單擺模型的長度l和角度θ。測(cè)量系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 測(cè)量系統(tǒng)結(jié)構(gòu)圖
本文設(shè)計(jì)的基于單擺模型的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng)是由工業(yè)相機(jī)、以太網(wǎng)交換機(jī)、TX-2處理器和顯示器等組成。其系統(tǒng)結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
軟件系統(tǒng)主要包括:圖像識(shí)別模塊、網(wǎng)絡(luò)協(xié)同模塊、單擺長度計(jì)算模型、單擺角度計(jì)算模塊。圖像識(shí)別模塊利用圖像識(shí)別算法實(shí)時(shí)框出擺球位置。網(wǎng)絡(luò)協(xié)同模塊通過交換機(jī)向攝像機(jī)發(fā)送控制信息。單擺長度計(jì)算模型是根據(jù)單擺周期公式推算出擺長,單擺角度計(jì)算模塊通過構(gòu)建三維空間,捕捉激光筆軌跡平面來計(jì)算夾角。
在RGB空間圖像中,單擺圖像灰度值分布規(guī)律性不強(qiáng),難以克服光照不均和環(huán)境噪聲的干擾,利用HSV空間[6]圖像中S分量圖像具有對(duì)光照干擾不敏感、抗光照不均能力較強(qiáng)的特點(diǎn)可以有效地克服環(huán)境因素的影響,提高擺球的識(shí)別率。HSV是一種基于六角錐體將RGB色彩空間中的不同點(diǎn)之間的關(guān)系表示出來的方法模型,其描述的顏色感知關(guān)系準(zhǔn)確,計(jì)算簡單是一種直觀的、相互獨(dú)立的顏色。在HSV顏色模型中,包括3種不同的模型顏色空間:色調(diào)(H)、飽和度(S)、明度(V),廣泛地應(yīng)用在許多圖像編輯工具[7]。
為提高擺球的識(shí)別率,本系統(tǒng)將擺球涂成易于識(shí)別的紅色,方便HSV的通道分離,從而有效地提取出擺球位置信息。對(duì)分離出的紅色分量,設(shè)置合適的閾值進(jìn)行圖像二值化處理。為進(jìn)一步增強(qiáng)擺球的特征,將二值化后圖像中的高亮區(qū)域或白色部分進(jìn)行膨脹操作,使運(yùn)行結(jié)果圖比原圖的高亮區(qū)域更大,線條更粗,方便后續(xù)的識(shí)別。然后根據(jù)擺球的大小限定擺球邊緣輪廓,從而提取出擺球的邊緣。最后通過最小外接矩陣框出擺球的位置。其具體流程圖如圖3所示。
圖3 擺球識(shí)別流程圖
終端節(jié)點(diǎn)即主控設(shè)備,用于通過交換機(jī)向兩個(gè)攝像節(jié)點(diǎn)分別發(fā)送控制信息;控制信息包括:時(shí)間戳、啟動(dòng)指令或終止指令;對(duì)應(yīng)兩個(gè)攝像節(jié)點(diǎn)的控制信息中的等待時(shí)刻之間的時(shí)刻差與兩個(gè)攝像節(jié)點(diǎn)之間的時(shí)延差相適配;對(duì)應(yīng)設(shè)置兩個(gè)攝像節(jié)點(diǎn)內(nèi)的兩個(gè)協(xié)同操作設(shè)備,用于分別接收來自主控設(shè)備的控制信息并根據(jù)各自的控制信息分別執(zhí)行相應(yīng)的協(xié)調(diào)控制,以使兩個(gè)攝像節(jié)點(diǎn)設(shè)備完成協(xié)同操作。協(xié)調(diào)控制包括:將對(duì)應(yīng)的攝像節(jié)點(diǎn)的本地時(shí)間戳設(shè)定為對(duì)應(yīng)的控制信息中的時(shí)間戳;啟動(dòng)計(jì)時(shí)使其和控制信息中等待時(shí)刻相一致;在計(jì)時(shí)結(jié)束后執(zhí)行對(duì)應(yīng)的控制信息中的操作指令。網(wǎng)絡(luò)協(xié)同模塊的工作原理如圖4所示。
圖4 網(wǎng)絡(luò)協(xié)同模塊工作原理
2.3.1 單擺長度計(jì)算
單擺模型如圖5所示,記單擺擺球質(zhì)量為m,擺線長度為l,擺動(dòng)過程中偏離豎直方向的夾角為γ,擺球運(yùn)動(dòng)速度為v。擺球在運(yùn)動(dòng)過程中受到重力mg和繩子的張力T。取如圖5所示的二維坐標(biāo)系,張力T可以分解為垂直和水平方向的兩個(gè)力[8]。根據(jù)牛頓第二定律F=ma,可以列出重物在x和y兩個(gè)方向上的運(yùn)動(dòng)方程,其中x方向的微分方程如公式(1)所示:
圖5 單擺平面圖
2.3.2 軟件流程
其為實(shí)現(xiàn)單擺長度的計(jì)算,具體軟件流程圖如圖6所示。
圖6 長度計(jì)算流程圖
通過圖像識(shí)別模塊得到擺球的位置信息,通過前后圖像對(duì)比判斷擺球是否運(yùn)動(dòng),防止輕微擺動(dòng)引起的誤差。當(dāng)擺球擺動(dòng)超過一定幅度時(shí),通過設(shè)置以中垂線為準(zhǔn)線,計(jì)算擺球到達(dá)中垂線的時(shí)間間隔,從而求出單擺周期T。多次測(cè)量,并去除因瞬時(shí)捕捉或其他因素導(dǎo)致異常數(shù)據(jù),最后將多次測(cè)量的數(shù)據(jù)求平均值再代入公式(8)求出單擺的長度l。
2.4.1 單擺角度計(jì)算
以攝像機(jī)采集的圖像左下角為原點(diǎn) 0O建立以像素為單位的直角坐標(biāo)系u-v(像素坐標(biāo)系),如圖7所示。其中像素的橫坐標(biāo)u對(duì)應(yīng)圖像的行數(shù),縱坐標(biāo)v代表圖像的列數(shù)。
圖7 圖像坐標(biāo)系
同時(shí)建立以物理單位表示的圖像坐標(biāo)系x-y。將相機(jī)光軸與圖像平面的交點(diǎn)即圖像平面的中心處為坐標(biāo)系的原點(diǎn)O1,且x軸與u軸平行,y軸與v軸平行。假設(shè)(u0,v0)代表O1在u-v坐標(biāo)系下的坐標(biāo),dx與dy分別表示每個(gè)像素在橫軸x和縱軸y上的物理尺寸[9],則圖像中的每個(gè)像素在u-v坐標(biāo)系中的坐標(biāo)和在x-y坐標(biāo)系中的坐標(biāo)之間都存在如下的關(guān)系:
dx與dy可以通過測(cè)量已知長度的物體在像素坐標(biāo)系下對(duì)應(yīng)的像素?cái)?shù)量計(jì)算出來。
2.4.2 軟件流程
由圖1中的模型建立三維坐標(biāo)軸來計(jì)算單擺的角度,其三維圖如圖8所示。由攝像節(jié)點(diǎn)A與攝像節(jié)點(diǎn)B交點(diǎn)為三維坐標(biāo)的基點(diǎn)O。以O(shè)A直線為X軸、以O(shè)B直線為Y軸、通過O點(diǎn)并垂直于水平面的直線為Z軸構(gòu)建三維空間,捕捉擺球在空間內(nèi)的軌跡判斷擺球擺動(dòng)平面并計(jì)算與XOY面的夾角θ。具體流程圖如圖9所示。
圖8 單擺三維圖
圖9 角度計(jì)算流程圖
當(dāng)擺球靜止時(shí)記錄擺球的初始位置,因?yàn)樵谙嗤瑮l件下45°和135°分解到在平面里面的擺動(dòng)是一樣的,通過初始擺動(dòng)的方向來決定擺球的夾角。當(dāng)擺球開始運(yùn)動(dòng)時(shí),通過圖像識(shí)別模塊得到擺球擺動(dòng)信息,根據(jù)上述擺球運(yùn)動(dòng)的三維模型進(jìn)行分解??梢缘玫綌[球在相機(jī)A和B中的圖像坐標(biāo)。由于相機(jī)擺放是沿著中軸線放置,所以分別計(jì)算相機(jī)A和B距離畫面中軸線的像素?cái)?shù),由公式(10)可以推算出擺球到OA線的投影距離x1。相機(jī)B同理,可以推算出擺球到OB線的距離x2。根據(jù)勾股定理可以求出擺球的夾角為:
針對(duì)實(shí)際測(cè)量過程中存在的誤差,利用卡爾曼濾波對(duì)離散值進(jìn)行濾波,以減少誤差。
為驗(yàn)證基于單擺模型的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng)的準(zhǔn)確性,本文搭建了如圖10所示的實(shí)驗(yàn)系統(tǒng)進(jìn)行驗(yàn)證。
圖10 實(shí)驗(yàn)系統(tǒng)
為了實(shí)驗(yàn)測(cè)量單擺長度的準(zhǔn)確性,本文選取了在固定角度下,對(duì)不同長度的單擺進(jìn)行測(cè)量,測(cè)量結(jié)構(gòu)如表1所示。
表1 固定角度下長度測(cè)試數(shù)據(jù)
從表1中可以看出在相同角度的情況下,分別測(cè)量了長度為60、80、120、140cm的單擺長度,其誤差都在1±cm以內(nèi)。結(jié)果表明本文設(shè)計(jì)的基于單擺模型的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng)可以準(zhǔn)確地測(cè)量出單擺的長度。
同時(shí),為驗(yàn)證測(cè)量角度的準(zhǔn)確性,選取了在固定長度下不同角度進(jìn)行測(cè)量,其測(cè)量結(jié)果如表2所示。
表2 固定長度下角度測(cè)試數(shù)據(jù)
從表2中可以看出在相同長度的情況下,分別測(cè)量了角度為20°、40°、60°、90°的單擺角度,其誤差都在±1°以內(nèi)。結(jié)果表明本文設(shè)計(jì)的基于單擺模型的互聯(lián)網(wǎng)攝像測(cè)量系統(tǒng)可以準(zhǔn)確地測(cè)量出單擺的角度。
基于互聯(lián)網(wǎng)的攝像測(cè)量系統(tǒng)將圖像處理算法、單擺物理模型及硬件處理單元等知識(shí)融合應(yīng)用,具有一定的工程特性。通過該項(xiàng)目的實(shí)施,學(xué)生將碎片化的理論知識(shí)融會(huì)貫通,促進(jìn)了知識(shí)的內(nèi)化;將計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)技術(shù)、機(jī)器視覺等多門學(xué)科知識(shí)在項(xiàng)目中綜合應(yīng)用,提高了學(xué)生跨學(xué)科知識(shí)應(yīng)用能力;在視覺實(shí)驗(yàn)中,需考慮光照、背景等相關(guān)環(huán)境因素對(duì)實(shí)驗(yàn)的影響,通過算法的對(duì)比和改進(jìn),使學(xué)生在學(xué)習(xí)相關(guān)算法的同時(shí),提高算法的魯棒性,培養(yǎng)了學(xué)生的實(shí)踐能力、動(dòng)手能力、創(chuàng)新能力。項(xiàng)目按方案設(shè)計(jì)、理論計(jì)算及實(shí)驗(yàn)調(diào)試實(shí)現(xiàn),培養(yǎng)了學(xué)生的工程思維,可以有效提高學(xué)生的項(xiàng)目處理能力。該項(xiàng)目在課程中的成功應(yīng)用,為其他課程開展項(xiàng)目化教學(xué),提供了借鑒。