王胥鋼,陳超然,袁萌,史宇翔
(南京信息工程大學電子與信息工程學院,江蘇南京,210044)
隨著攝像技術成像質量的提高和處理器算法能力的發展,攝像測量技術也得到了一定程度的發展。圖像參數的測量是攝像測量技術中極其重要的一部分,也因此受到了界內的廣泛關注。在工業測繪等重要領域中,經常需要對零件進行相關參數的測量。在以往的年代,對于遠景參數的測量一直是一個難題,浪費了大量的人力物力。如果有一款可以基于攝像測量技術的裝置,相關的測量將會得到簡化。于是,該設計通過攝像頭進行遠景的拍攝。當然,攝像頭僅僅只能拍攝畫面,而難以實現終端顯示以及參數測量的功能。所以本文中提出將攝像頭和樹莓派、交換機等進行結合,其中樹莓派連接攝像頭,用于實時顯示畫面,并使得之后的參數測量具有可行性。交換機用于將兩臺樹莓派處理的畫面傳輸到終端顯示器上,可以進行分別和同時的顯示。將樹莓派、交換機與攝像頭的各個特點相結合,達到遠程攝像和參數測量的目標。
系統的結構可分為攝像頭部分,樹莓派傳輸處理部分,交換機部分,終端顯示模塊,參數測量模塊和電源供電模塊。系統總體框架如圖1所示。

圖1 系統總框架圖
攝像頭1和攝像頭2分別正交固定在進行圓周運動物體的周圍兩點。固定時,應使得兩個攝像頭的成像均能完整地拍攝運動的物體。樹莓派1和樹莓派2與攝像頭相連,將攝像頭拍攝的畫面通過網線傳輸到交換機上,以此傳輸到樹莓派3(終端樹莓派),之后通過追蹤模塊用紅框框出運動的物體,并通過測量模塊進行相關參數的測量,并將視頻實時地傳輸到終端顯示器上以顯示。由于要使得樹莓派正常工作,該系統供電模塊不能簡單采用充電寶,而應使用插座或大功率充電器進行供電。
本項目所使用的樹莓派是目前最新的樹莓派4b。作為一種迷你的嵌入式計算機,樹莓派的功能類似于臺式機或者筆記本電腦,因此,可以利用樹莓派進行對數據的分析處理,視頻傳輸等功能。不同于普通的計算機面板,樹莓派使用TF卡作為其硬盤。
樹莓派不僅可以利用于編輯文檔、瀏覽網頁等基礎功能,還可以用于智能小車、示波器等電子設計。以下是本設計所使用的樹莓派的實物圖和樹莓派擴展接口的定義。

圖2 樹莓派實物圖

圖3 樹莓派擴展接口引腳
本設計使用的攝像頭為奧尼攝像頭。在一般的場景中,可以根據實際需要采用不同功能、不同品牌的攝像頭。相較OpenMV,aoni攝像頭可以實現和樹莓派相連接的功能,因此得到本設計的選擇。
以下是奧尼攝像頭的實物圖。

圖4 攝像頭實物圖
以太網交換機是基于以太網進行傳輸數據的交換機。在本設計中,以太網交換機進行視頻在終端上的顯示。以太網交換機中,每一端口直接與主機相連,并且工作在全雙工方式。同時連通多對端口,交換機使每一對相互通信的主機都能進行無沖突傳輸數據。對于本設計中以太網交換機和樹莓派的連接,直接采用一般的網線。以下時以太網交換機的實物圖。
本設計對終端顯示器并沒有太大的需求,僅僅需要顯示器能夠顯示傳輸的視頻即可。在與樹莓派的連接中,本設計采用HDMI轉Micro的線進行連接。
系統程序的算法可大體分為兩個部分,其一是通過單目測距算法得到圓周運動物體的坐標,其二是使用球擬合算法以及海倫公式對該物體進行運動半徑和角度的測量。該兩算法均使用python進行撰寫。具體程序流程圖如圖5所示。

圖5 以太網交換機實物圖
當物體進行圓周運動之后,如若在終端給出是開始測量的信號,則開始進行視頻傳輸。如果一直沒有給出測量信號,則一直等待。開始測量之后,樹莓派1和樹莓派2對兩攝像頭拍攝的畫面進行傳輸,并將視頻信號發送給交換機進行處理,交由第三個樹莓派進行分析綜合,最后在終端顯示。同時,在開始測量之后,該設計進行對運動半徑和相關角度的測量。該設計通過OpenCV單目測距算法得到運動時物體的多個點坐標,將坐標傳輸到球擬合算法進行擬合,可以得到細線的長度。通過海倫公示等數學運算,該設計還可以求出運動是物體相較于攝像頭的偏置角度。

圖6 具體程序流程圖
(1)單目測距算法
單目測距算法的原理為相似三角形原理。
為介紹單目測距原理,不妨通過一個例子進行類比。如圖所示,當相機測得圖中A4紙距離相機的距離為D=32in,拍下的照片中A4紙的像素寬度為P=192x,紙張寬度W = 1 1.69in,則可以根據焦距的公式計算出焦距F= 1 92*30/11.69。

圖7 單目測距原理圖
用上述的方法獲得該距離D的焦距之后,當攝像頭與A4紙的距離發生改變,就可以用相似三角形得到相機距離物體的距離。通過圖6的相似關系,不難得出,此時的距離:

根據以上的思路,本設計可以設計出契合本設計的單目測距的算法,根據這一算法,既可以測出正交的兩個攝像頭到運動物體的距離。
(2)球面擬合算法
球面擬合算法,根據分布在球面上的多個數據點,來擬合圓周運動所形成的球的參數。在本設計中,球的半徑即為所求。類似于圓擬合的二維算法,球面擬合算法主要從二維到三維的參數測量。其主要思路如下:
對于任意一個球面,球面上的點 (x0,y0,z0 ) 應滿足方程對


圖8 球面擬合原理圖
為求出其中的半徑和物體,不妨構造一個函數

其中,(xi,yi,zi)為物體運動過程中所測得的坐標點。由于得出的這N個點在所要求出的球面上,所以本設計所要求出的R以及 (x0,y0,z0 )應當是使得H最小的數值。將H對于各個參數求偏導,令偏導為0。

之后,進行相應的線性變換

結合以上偏導為0,R可以表示為

在求出R的同時,也求出了圓周運動時物體的軌跡半徑,并且得出了實際點的坐標。
(3)海倫公式
海倫公式求角度的具體原理是根據三角形邊長和面積的關系進行求解,在任意三角形中,存在如下的關系:

如圖所示,設物體在地面上的投影為O點,兩攝像頭分別為該正方形的斜對角線兩點。設O點到正方形區域的三點的長度為x,y,z。由球面擬合算法可以得出坐標,由單目測距算法可以得出物體到兩攝像頭的距離。根據勾股關系,x,y,z已知。由于攝像頭位置為事先固定并且正交,正方形邊長為s,斜邊長為,左上三個小三角形的面積為s1,s2,s3,周長和的一半為p,即
根據海倫公式,三個三角形的面積和周長存在以下關系:


又在圖中存在以下的幾何關系:

根據以上關系,可以通過二分法計算出z的長度,本算法中設置誤差為e的-8次方,能夠在最大程度上保證最后結果的準確性。
得到z的長度之后,再根據三角公式可以計算出角度,即通過以下的三角關系進行計算:

由于角度限制在0°到90°,所以角度存在為一解,即可以得出物體運動時的偏角。

圖9 海倫公式詳解圖

圖10 交換機連線實物圖
連接在交換機上的的三條網線分別和三支樹莓派進行相連,上圖中黃色網線連接的樹莓派為終端的樹莓派,用作最后的信息處理分析。TypeC接口線為電源供電線。

圖11 樹莓派攝像頭連接實物圖
上圖所示的模塊為攝像頭與樹莓派的連接模塊,TypeC接口線為電源供電線。
經過多次的實踐,視頻傳輸功能中,可以實時顯示圓周運動的物體的畫面,并能用紅框追蹤標記。

表1 角度為0°時的長度測量
使用自動測量時,當角度為0°時,測得長度和實際長度基本一致。

表2 角度為90°時的長度測量
使用自動測量時,當角度為90°時,測得長度和實際長度基本一致。綜上所述,對于角度給定時的情況,誤差允許范圍內,長度測量功能較為完善。

表3 長度為100cm時的角度測量
在誤差允許范圍內,測得角度和實際角度基本一致。
以上僅僅列出一些特定情況下的長度角度測量,實際上,針對實際需要,該設計可以進行任意長度(在兩攝像頭成像范圍內)以及任意角度的測量。
基于樹莓派的對于圓周運動物體的攝像測量系統,一方面可以在遠程進行對運動物體的實時拍攝,并將運動畫面顯示在終端顯示器,另一方面可以對圓周運動物體的運動半徑以及偏角進行測量。而且該設計成本低,結構穩定。