• 沒有找到結果。

運用模板匹配法於景深測量

N/A
N/A
Protected

Academic year: 2021

Share "運用模板匹配法於景深測量"

Copied!
61
0
0

加載中.... (立即查看全文)

全文

(1)國立屏東大學資訊工程學系碩士班 碩士論文. 運用模板匹配法於景深測量 The Usage of Template Matching for the Measurement of Depth Map. 指導教授:王隆仁 博士 研究生:郭翔宇 中華民國一零七年七月.

(2)

(3) 致謝 感謝指導教授王隆仁老師,在每次論文討論會議時,都給予論文 改善等相關意見指導,使得本論文更臻完善。感謝黃鎮淇老師熱心提 供相關的研究生論文供我參考,並在論文提審過程中給予我許多寶貴 的建議。感謝陳毓璋老師在論文口試時給予我許多寶貴的建議,並細 心指出我論文裡格式錯誤的地方。感謝莊作彬主任對研究生的關心。 感謝董呈煌老師的課程,讓我對 MATLAB 的瞭解更加深入。感謝父母 親給予我經濟上的支援,讓我能無後顧之憂地完成學業。感謝我的同 窗,總是在我有問題時,耐心回答我的疑問。. 郭翔宇 謹致於國立屏東大學資訊工程學系研究所 中華民國一零七年七月. i.

(4) 運用模板匹配法於景深測量 研究生:郭翔宇. 指導教授:王隆仁 博士. 國立屏東大學資訊工程學系碩士班 中華民國一零七年七月. 摘要 電腦視覺領域裡可分為二維視覺與三維視覺。除了物體形狀、位 置、顏色等相關資訊之外,三維視覺比二維視覺多了景深資訊。本論 文擬以二個攝影機鏡頭讀取影像,並使用模板匹配法來獲得目標物的 座標。透過二個影像中目標物的座標來計算視差,再透過相關公式計 算影像景深。本研究提出了二種測量物體與攝影機之間距離的方法。 第一種方法使用具有焦距的公式進行計算。此方法需要事先進行實驗, 測量攝影機鏡頭的焦距。第二種方法是輸入視差與景深的三個數據, 由此計算出符合此三個資料的二次方程式曲線,並以此估算出影像景 深。本研究發現第一種方法的測量誤差率低於第二種方法。第二種方 法測量誤差率較高,可能是由於使用二次方程式曲線進行估算時,無 法有效地貼近真實值所致。 關鍵詞:景深、視差、物距測量、模板匹配法、三角測量法. ii.

(5) The Usage of Template Matching for the Measurement of Depth Map Student: Hsiang-Yu Kuo. Advisor: Dr. Lung-Jen Wang. Department of Computer Science and Information Engineering, National Pingtung University, Taiwan July, 2018. ABSTRACT The two-dimensional (2-D) and three-dimensional (3-D) visions are major classification for the computer vision field. In addition to the shape, position, color and other related information of target object, the 3-D vision possesses more information about depth map than the 2-D vision. Drawing from the2-D vision, this thesis uses two camera (photographic) lenses to capture images and applies the template matching method to obtain the coordinates of the target object. The parallax is calculated by the coordinates of the two image objects, and the depth map is calculated according to the parallax through the formula. Therefore, this thesis can obtain the effect of 3-D vision. The thesis proposes two methods for measuring a distance between the target object and the photographic lens. The first method adopts a formula with a focal length for calculation. This method requires experimentation to measure the focal length of the photographic lens in advance. The second method is to input three data with parallax and depth map for calculation. This method would calculate the quadratic curve that fits the three data and could estimate the depth map. This thesis found there's a lower rate of measurement error for the first method in compare with the second method. The reason that the second method possesses higher rate of measurement error may be the use of quadratic curve leading to deviation from real values. Keywords: depth map, parallax, object distance measuring, template matching, triangulation. iii.

(6) 目錄 致謝 ..................................................... i 摘要 .................................................... ii ABSTRACT ............................................ iii 目錄 .................................................... iv 圖目錄 .................................................. vi 表目錄 ................................................ viii 第一章 緒論 .............................................. 1 1-1 研究背景 .................................................................................. 1 1-2 研究目的 .................................................................................. 1 1-3 問題探討 .................................................................................. 2 第二章 景深測量相關研究 .................................. 3 2-1 光學與數位聚焦....................................................................... 3 2-2 影像處理方式........................................................................... 4 2-3 測量距離方法........................................................................... 4 第三章 模板匹配於景深測量方法 ............................ 6 iv.

(7) 3-1 三角測量法 .............................................................................. 6 3-2 應用於雙鏡頭的三角測量法 ................................................... 9 3-3 模板匹配法 ............................................................................ 12 第四章 實驗結果 ......................................... 17 4-1 實驗環境 ................................................................................ 17 4-2 測量焦距 ................................................................................ 18 4-3 實驗流程 ................................................................................ 20 4-4 實驗一:有焦距測量版 ......................................................... 22 4-5 實驗二:無焦距測量版 ......................................................... 34 4-6 實驗結果比較......................................................................... 47 第五章 結論 ............................................. 48 參考文獻 ................................................ 49. v.

(8) 圖目錄 圖 1 三角測量法 1 .................................................................................. 6 圖 2 三角測量法 2 .................................................................................. 8 圖 3 雙鏡頭測量示意圖........................................................................ 10 圖 4 攝影機影像 .................................................................................... 12 圖 5 模板圖 ............................................................................................ 12 圖 6 結果圖 ........................................................................................... 13 圖 7 攝影機影像更新............................................................................ 13 圖 8 實驗場景 ....................................................................................... 18 圖 9 實驗流程 ....................................................................................... 21 圖 10 實驗一:用焦距測量版 a1 ......................................................... 25 圖 11 實驗一:有焦距測量版 a2 ......................................................... 26 圖 12 實驗一:有焦距測量版 a3 ......................................................... 27 圖 13 實驗一:有焦距測量版 a4 ......................................................... 28 圖 14 實驗一:有焦距測量版 b1 ......................................................... 29 圖 15 實驗一:有焦距測量版 b2 ......................................................... 30 vi.

(9) 圖 16 實驗一:有焦距測量版 b3 ......................................................... 31 圖 17 實驗一:有焦距測量版 b4 ......................................................... 32 圖 18 實驗二:無焦距測量版 a1 ......................................................... 38 圖 19 實驗二:無焦距測量版 a2 ......................................................... 39 圖 20 實驗二:無焦距測量版 a3 ......................................................... 40 圖 21 實驗二:無焦距測量版 a4 ......................................................... 41 圖 22 實驗二:無焦距測量版 b1 ......................................................... 42 圖 23 實驗二:無焦距測量版 b2 ......................................................... 43 圖 24 實驗二:無焦距測量版 b3 ......................................................... 44 圖 25 實驗二:無焦距測量版 b4 ......................................................... 45. vii.

(10) 表目錄 表 1 實驗設備清單 ............................................................................... 17 表 2 雙鏡頭距離 7 公分測焦距 ............................................................ 19 表 3 雙鏡頭距離 26 公分測焦距 .......................................................... 19 表 4 雙鏡頭距離 26 公分有焦距公式測量數據 1 ............................... 22 表 5 雙鏡頭距離 26 公分有焦距公式引入 3 組焦距值計算結果 ...... 23 表 6 雙鏡頭距離 26 公分有焦距公式測量數據 2 ............................... 33 表 7 雙鏡頭距離 26 公分無焦距公式測量數據 1 ............................... 37 表 8 雙鏡頭距離 26 公分無焦距公式測量數據 2 ............................... 46. viii.

(11) 第一章 緒論 1-1 研究背景 近年來,隨著電腦運算速度的提升,各式各樣影像處理、辨識演 算法如雨後春筍般大量出現。電腦視覺應用層面廣泛,舉凡人臉辨識、 機械手臂自動操作、自動駕駛、影像合併,都需要先將影像輸入電腦, 經過電腦處理後產生出所需資訊,再藉由此資訊執行後續指令,讓機 械得以適當地操作。 由於資訊科技日新月異的蓬勃發展,對於影像處理,已經有許多 判斷物體之間距離的演算法發展出來。對於現實世界實體的辨識與處 理,已由二維平面擴展到三維空間,而三維空間牽涉到實體之間的空 間距離。因此,對於三維空間實體距離的判斷,成為此領域的重要課 題,因而景深的測量也就愈發重要。. 1-2 研究目的 本研究著重於電腦影像裡三維立體空間的建模,擬以透過二個攝 影機鏡頭的方式,由二幅畫面將景深(depth map)資訊抓取出來。 雖說是抓取景深資訊,但其目的並不是求取完整深度圖,而是抓取影 像裡特定目標物之景深。 此種求取景深演算法未來將能應用於自動駕駛,判斷前、後車距 離與車速,在後車有可能與前車相撞前,提前發出警告,避免車禍發 生。或是應用於機器人視覺方面,讓一臺機器人在大賣場裡自動跟著 1.

(12) 使用者移動,並與使用者之間保持一定距離。 除了交通工具之外,凡是需要計算物體空間距離之差異者,都能 夠利用此技術,讓空間相對位置或物體移動能夠達到最佳化配置。. 1-3 問題探討 根據上述研究目的,本研究提出以下的問題探討:當運用模板匹 配法進行目標物座標的擷取時,採用不同的數學模型對於景深測量的 準確率有何影響。. 2.

(13) 第二章 景深測量相關研究 回顧運用攝影機鏡頭以測量景深的相關文獻中,有應用單鏡頭的 方法,也有應用雙鏡頭的方法來處理景深。以下將分別說明相關內 容。. 2-1 光學與數位聚焦 首先,以單鏡頭而言,先使用單鏡頭分別拍攝三張不同焦距之影 像,再使用域值演算法(OTSU)進行物件分割。由於不同焦距下物 件邊緣點數不同,輸入大量樣本找出邊緣點數與物件距離的權重值, 將已訓練而得的權重值建構數學模型,再輸入測試樣本來加以測試 [1]。 若僅使用有數位聚焦而非光學聚焦的智慧型手機,以此方法僅能 估計物件的大概距離,此時單鏡頭測量之誤差值會大於雙鏡頭。數位 聚焦與光學聚焦二者之間的差異在於,數位聚焦是指相機拍攝影像後, 經由電腦計算模擬不同焦距後再輸出影像,因而數位聚焦在影像放大 到某一程度時會失真。光學聚焦則是指透過一系列透鏡的前後移動, 更改焦距後所得到之影像。光學聚焦產生的影像品質優於數位聚焦, 而數位相機拍攝品質則視光學聚焦放大倍率而定。有關景深研究最新 的趨勢是,使用單一鏡頭搭配某些估算用演算法或卷積神經網路 (Convolutional Neural Networks,簡稱 CNN)來估算景深[2-4]。 使用雙鏡頭偵測景深的相關文獻指出,雙鏡頭先將影像讀取進來 後,會依序處理左鏡頭與右鏡頭的影像。先處理左鏡頭畫面並分割物 3.

(14) 件,再將分割物件與右鏡頭畫面進行加速穩健特徵(Speeded Up Robust Features, 簡稱 SURF)之特徵點比對,找出二者之視差,最後 由視差求出視深(景深)[5]。. 2-2 影像處理方式 回顧影像處理方面的相關研究,有的研究著重於結合二個視訊畫 面,合成出一個視訊畫面以增加視角範圍,便於監控周遭的整個環境 或應用於倒車影像系統[6]。有的研究著重於影像辨識技術中,優化 搜尋特徵點的演算法,將之用於無人航空器的空拍辨識[7]。 此外,有關二維自由視角的研究,有的研究利用多個不同角度攝 影機拍攝出來的影像資料,擷取其特徵點進行三角分割,並使用內插 法求取新視角的座標點。接著透過仿射轉換,將原本物體表面原始圖 樣色彩,複製到新的三角形骨架裡。最後輸出新視角所看到的影像畫 面[8]。 有的研究提及使用模板匹配(template matching)方式,來辨識 目標物,如車牌[9, 10]或對原始圖像邊緣大量圖點進行統計[11]。 綜合以上敘述,本研究擬採用雙鏡頭方法,透過模板匹配法來抓 取目標物,接著計算視差並由視差求出景深。. 2-3 測量距離方法 測量距離方法可分成主動式與被動式測量,以下將分別說明二者 之間的差異。 4.

(15) 主動式測量法是由儀器發射出雷射光、聲波、無線電波,打到目 標物後反射回儀器偵測器上。再藉由光線、聲波往返時間差,計算出 儀器與目標物之間的距離。如果搭配都卜勒效應(Doppler effect) 公式,可以進一步藉由發射出去的無線電波接收的無線電波彼此之間 的頻率差,計算出目標物的移動速度。 被動式測量法則是測量儀器不主動發出光波、聲波、無線電波, 而是被動接受從物體上反射回來的可見光,經由影像處理等相關演算 法,求取出物體與測量儀器彼此之間的距離(景深)。. 5.

(16) 第三章 模板匹配於景深測量方法 3-1 三角測量法 測量一個物體與物體之間距離最簡單的方法是,直接拿捲尺接觸 二個目標物進行測量。然而很多時候,如果目標物過於巨大或無法直 接接觸目標物進行測量等情況時,只能採用間接方法來進行測量,此 時三角測量法即派上用場。 三角測量法是利用己方已知的距離與觀測角度,畫一個或二個以 上的三角形,代入三角函數等相關公式來計算目標物與己方的距離。 舉凡天文學家對恆星距離的測量、軍方使用的光學測距機等,通通都 是應用三角測量法的典型例子。. 圖 1 三角測量法 1 ̅̅̅̅,設線段TH ̅̅̅̅為 x 公 如圖 1 所示,假設有一座金字塔其高度為TH 尺。測量者在在距離金字塔塔底中心(H 點)y 公尺處(B 點) ,拿望 6.

(17) 遠鏡觀測塔頂得到仰角 45°,測量者往後面步行 100 公尺到達(C 點) 再拿望遠鏡觀測塔頂得到仰角 30°。藉由三角函數與二個三角形,即 可求出 x 與 y 的數值。首先代入∠B 與∠C 的 tanθ值,得出(1)式 與(2)式。. ∠B = tan45° =. ∠C = tan30° =. 𝑥 𝑦. (1). 𝑥 𝑦 + 100. (2). 由(1)式求出(3)式. 1 𝑥 = 1 𝑦. (3). 由(2)式求出(4)式. 1 √3. =. 𝑥 𝑦 + 100. (4). 把(3)式代入(1)式消去未知數 y 即可求出. 𝑥=. 100 √3 − 1. = 136.6 公尺. 𝑥的值求取出來後代入(3)式或(4)式即可把 y 值計算出來。. 7.

(18) 圖 2 三角測量法 2 ̅̅̅̅的長度𝑑,在 圖 2 為傳統三角測量法,假設測量者想測量線段DC 不與目標物 D 點直接碰觸的情況下,要求出距離𝑑需要知道三個已知 ̅̅̅̅線段長度𝑙。 條件,分別是 A 點角度 α、B 點角度 β、AB ̅̅̅̅線段與CB ̅̅̅̅線段。 其中𝑙線段又可以拆解為AC. 𝑙=. 把 tan𝜃 =. sin𝜃 cos𝜃. 𝑑 𝑑 + tan𝛼 tan𝛽. (5). 的公式代入(5)式並把𝑑提出來可求出(6)式. 𝑙 = 𝑑(. cos𝛼 cos𝛽 + ) sin𝛼 sin𝛽. 8. (6).

(19) 接著對(6)式通分可求出(7)式. 𝑙 = 𝑑(. cos𝛼sin𝛽 cos𝛽sin𝛼 + ) sin𝛼sin𝛽 sin𝛼sin𝛽. (7). 把三角函數和差化積公式sin(𝛼 + 𝛽) = sin𝛼cos𝛽 + cos𝛼sin𝛽 代 入(7)式,可求出(8)式。. 𝑙=𝑑. sin(𝛼 + 𝛽) sin𝛼sin𝛽. (8). 接著把𝑑搬移到左邊,𝑙搬移到右邊,把算式經過整理後可求出(9) 式. 𝑑=𝑙. sin𝛼sin𝛽 sin(𝛼 + 𝛽). (9). ̅̅̅̅線段𝑑與跟其垂直的AB ̅̅̅̅線段𝑙成正比 𝑑 ∝ 在此處我們可以發現DC 𝑙 。 綜合上述說明,運用三角測量法,可以在無需接觸到遠方目標物 的情況下,進行目標物距離與大小的測量。測量出 A 點與 B 點之間的 距離𝑙、∠A 的 α 角、∠B 的 β 角,即可算出目標物 D 與 ̅̅̅̅ AB 線段的 垂直距離𝑑值。. 3-2 應用於雙鏡頭的三角測量法 如果以雙鏡頭攝影機,採用上述的三角測量法進行測量時,會遭 遇一些問題。因為原先測量人員可以使用附有圓規的儀器,以望遠鏡 9.

(20) 對準標定的測量點,把前述的 α 角與 β 角求出來。但是使用雙鏡頭 攝影機時,由於攝影機是固定不動的,所以不能像一般三角測量法一 樣可以輕易求得 A 點與 B 點的角度,因此得改採其他適合雙攝影機鏡 頭的三角測量法來測量景深。. 圖 3 雙鏡頭測量示意圖 如圖 3 所示,雙鏡頭的軸心距離為 B,鏡頭的焦距為 f,目標物 O 點投影到左鏡頭的像距為 𝑥𝐿,目標物 O 點投影到右鏡頭的像距為𝑥𝑅 , 目標物 O 點與雙鏡頭的垂直距離 D 為物距(景深) 。其中 M 是攝影機 鏡頭的平面,N 是攝影機的感光平面。感光平面是一種積體電路,由 電荷耦合感光元件(Charge Coupled Device,簡稱 CCD)組成,可以 把映照在感光平面上的影像即時轉換成一系列數位訊號。. 10.

(21) ̅̅̅̅線段𝑑與跟其垂直的AB ̅̅̅̅線段𝑙成正 根據之前圖 2 公式的推導,DC 比 𝑑 ∝ 𝑙 。以此類推圖 3 裡物距 D 與雙鏡頭距離 B 成正比 D ∝ B。 接著根據相似三角形 SAS 定理,可以推導出(10)式與(11)式 的關係式。. 𝑓 D = 𝑥𝐿 𝑚. (10). 𝑓 D = 𝑥𝑅 B − 𝑚. (11). 由上述這二個關係式可以得出焦距𝑓正比於物距D 𝑓 ∝ D。而物 距與像距𝑥𝐿 和像距𝑥𝑅 成反比 D ∝. 1 𝑥𝐿. ∝. 1 𝑥𝑅. 視差𝑑 = 𝑥𝐿 − 𝑥𝑅 因為視差𝑑是由像距𝑥𝐿 和像距𝑥𝑅 計算出來的,因此視差𝑑也跟物 距 D 成反比。成正比的代數放分子,成反比的代數放分母,由此可推 導出物距公式(12)式。. 𝐷=. 𝐵×𝑓 𝑑. (12). 藉由雙鏡頭輸入影像後,抓出目標物,並把左右影像中同一個目 標物的座標值求出來,接著用二幅影像目標物的座標值計算視差𝑑, 再套入(12)式公式,以此求得物距 D。. 11.

(22) 3-3 模板匹配法 模板匹配法(template matching)是一種用於尋找影像裡面與模 板匹配度最高區域的演算法。首先先輸入一張大小(w, h)模板 (template)接著再輸入大小(W, H)的攝影機影像。模板匹配函數 會讓模板對影像由上到下由左到右,進行相關運算後生成大小(W-w+1, H-h+1)的結果圖(result) 。電腦在進行匹配的動作時會根據模板匹 配方法,從結果圖當中尋找影像裡與模板最匹配區域的(x, y)座標, 以此把要尋找的目標物在影像中給定位出來。以下圖示分別為攝影機 影像(image)、模版圖(template image),以及結果圖(result image) 。. +. 圖 4 攝影機影像. 圖 5 模板圖. 12.

(23) 圖 6 結果圖 首先在圖 4 裡面抓取一個範圍,生成圖 5 的模板圖(template image) 。接著把圖 4 與圖 5 放入 OpenCV 官方內建的 matchTemplate() 函數裡,生成圖 6 的結果圖(result image)。. 圖 7 攝影機影像更新 對圖 6 結果圖(result image)進行正規化(normalize)處理以後, 13.

(24) 即可開始進行模板匹配的動作。接著再依據找到座標點,在原始影像 中畫一個舉行方框更新原始影像,如圖 7 所示。 OpenCV matchTemplate 函數原始宣告定義如下。 CV_EXPORTS_W void matchTemplate( InputArray image, InputArray templ, OutputArray result, int method ); OpenCV 官方提供 6 種方法來計算結果圖(result image)。在這 些公式當中,R、I、T 符號代表的意義如下:. R 代表結果圖(result image) I 代表原始攝影機輸入影像(image) T 代表模板圖(template image) (1) CV_TM_SQDIFF (Sum of Squared Difference) 平方差匹配法。這個方法的最佳匹配值為 0。. R(𝑥, 𝑦) = ∑(T(𝑥 ′ , 𝑦 ′ ) − I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ ))2 𝑥′𝑦′. 14. (13).

(25) (2) CV_TM_SQDIFF_NORMED 正規化平方差匹配法,這個方法是 CV_TM_SQDIFF 方法的正規 化表示式。這個方法的最佳匹配值為 0。. R(𝑥, 𝑦) =. ∑𝑥 ′ 𝑦′ (T(𝑥 ′ , 𝑦 ′ ) − I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ ))2. (14). √∑𝑥 ′ 𝑦′ T(𝑥 ′ , 𝑦′)2 ∙ ∑𝑥 ′ 𝑦′ I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )2. (3) CV_TM_CCORR(Cross Correlation) 相關匹配法。這個方法的最佳匹配值為最大值。但研究者實際跑 程式時,這個方法(CV_TM_CCORR)一直無法抓出正確的模板座標。. R(𝑥, 𝑦 −) = ∑(T(𝑥 ′ , 𝑦 ′ ) ∙ I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )). (15). 𝑥′𝑦′. (4) CV_TM_CCORR_NORMED 正規化相關匹配法。這個方法是 CV_TM_CCORR 方法的正規化 表示式。這個方法的最佳匹配值為最大值。. R(𝑥, 𝑦) =. ∑𝑥 ′ 𝑦′ (T(𝑥 ′ , 𝑦 ′ ) ∙ I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )) √∑𝑥 ′ 𝑦′ T(𝑥 ′ , 𝑦′)2 ∙ ∑𝑥 ′ 𝑦′ I(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )2. 15. (16).

(26) (5) CV_TM_CCOEFF 相關係數匹配法。這個方法的最佳匹配值為 1,最差匹配值為-1, 跟模板完全無關匹配值為 0。. R(𝑥, 𝑦) = ∑(T′(𝑥 ′ , 𝑦 ′ ) ∙ I′(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )). (17). 𝑥′𝑦′. (6) CV_TM_CCOEFF_NORMED 正規化相關係數匹配法。這個方法是 CV_TM_CCOEFF 方法的正規 化表示式。這個方法的最佳匹配值為 1,最差匹配值為-1,跟模板完 全無關匹配值為 0。這方法也是匹配精確度最高的演算法,需要花費 較多時間來完成運算。. R(𝑥, 𝑦) =. ∑𝑥 ′ 𝑦′ (T′(𝑥 ′ , 𝑦 ′ ) ∙ I′(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )). (18). √∑𝑥 ′ 𝑦′ T′(𝑥 ′ , 𝑦′)2 ∙ ∑𝑥 ′ 𝑦′ I′(𝑥 + 𝑥 ′ , 𝑦 + 𝑦 ′ )2 以上六個方法中, (1)跟(2)的方法一組, (3)跟(4)的方法 一組, (5)跟(6)的方法一組。因為方法(3)在執行時無法正確抓 取到目標物,因此方法(3)跟方法(4)予以排除,而方法(6)需 耗費更多時間進行計算,故方法(5)與方法(6)亦予以排除。如果 在影像裡抓取目標物的運算時間太久,會在目標物移動時跟丟目標物 的蹤影,導致影像處理程式測量到的不是目標物的視差值,因此我選 擇(1)跟(2)這組方法中的方法(1)進行模板匹配。. 16.

(27) 第四章 實驗結果 本研究使用 OpenCV-2.4.13.3-vc14[12, 13]、C 語言函數[14]、 C++語言物件[15]來處理影像相關程式撰寫。除此之外,本研究還參 考網路上 OpenCV Doc 的說明文件[16, 17]。. 4-1 實驗環境 表 1 實驗設備清單 網路攝影機型號. Logitech HD 網路攝影機 C310 2 臺. 網路攝影機解析度. 640×480. 電腦型號. ASUS UX330UAK. 電腦處理器. Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2.71 GHz. 電腦 RAM. 7.88 GB. 系統類型. 64 位元作業系統. 攝影機支架. 30×8×1 公分木板 2 片. 17.

(28) 4-2 測量焦距 使用(12)式公式𝐷 =. 𝐵×𝑓 𝑑. 進行雙鏡頭測量時必須先求出焦距 f,. B 值可由測量雙鏡頭之間的距離求得,d 值可由電腦於攝影機輸入的 二張影像中求得。唯獨焦距 f 值,即使在 Logitech HD 網路攝影機 C310 產品的官方網站上仍然查不到。 由於在網路上一直查不到攝影機焦距資料,因此只好直接做實驗 測量攝影機焦距。同樣地,給定已知參數 D、B、d 來把 f 值逆推回來。 實驗場景如下圖所示:. 圖 8 實驗場景 首先先從雙鏡頭距離 7 公分開始做實驗,測得的焦距數值如表 2 所示。. 18.

(29) 表 2 雙鏡頭距離 7 公分測焦距 編號. 雙鏡頭距離(cm). 偵測視差(px). 焦距(px). 1. 7. 52. 506.6285714. 2. 7. 96. 658.2857143. 3. 7. 255. 728.5714286. 4. 7. 311. 733.0714286. 因為測得的焦距數值範圍差異太大,如果拿此焦距數據去做實驗, 誤差會非常大。因此把雙鏡頭之間的距離加長再測量一次焦距。. 表 3 雙鏡頭距離 26 公分測焦距 編號. 真實物距(cm). 偵測視差(px). 焦距(px). 1. 37.5. 554. 799.0384615. 2. 50.5. 408. 792.4615385. 3. 52.6. 391. 791.0230769. 4. 55.6. 370. 791.2307692. 5. 63.6. 322. 787.6615385. 6. 71. 287. 783.7307692. 7. 85.7. 237. 781.1884615. 8. 94.3. 214. 776.1615385. 19.

(30) 9. 104.4. 192. 770.9538462. 10. 115.5. 173. 768.5192308. 這次測量的焦距範圍落在 768~799 之間,焦距測量的範圍值縮小 很多,因此日後的實驗都以雙鏡頭 26 公分為標準進行測量。由於在 非常態分佈的統計資料裡,平均數不具代表性,中位數才有代表性, 因此綜合以上 10 筆數據取中位數,以此數值當作焦距。經過運算得 出焦距中位數:785.79715385。. 4-3 實驗流程 首先抓取一個模板,輸入進電腦裡面。接下來連接攝影機鏡頭, 讀取影像。然後進行模板匹配,抓出目標物座標,求取視差。最後根 據視差,把景深(物距)計算出來。. 20.

(31) 圖 9 實驗流程 21.

(32) 4-4 實驗一:有焦距測量版 誤差率 =. |真實值 − 實驗值| 真實值. × 100%. (19). 測完焦距後立刻開始進行景深(物距)測量的實驗,實驗一共做 了二次實驗。第一次實驗數據如下所示:. 表 4 雙鏡頭距離 26 公分有焦距公式測量數據 1 編號. 真實物距 (cm). 電腦偵測物距 (cm). 偵測視差 (px). 誤差率(%). 1. 43.8. 43.464. 471. 0.767123. 2. 49.1. 48.7544. 419. 0.70387. 3. 56.6. 56.1212. 364. 0.845936. 4. 66. 65.9545. 313. 0.068939. 5. 71.9. 72.1809. 286. 0.390682. 6. 78.4. 77.9698. 262. 0.548724. 7. 94.6. 95.4584. 214. 0.9074. 8. 102.7. 104.225. 196. 1.484907. 9. 115.4. 116.732. 175. 1.154246. 由於是剛測完焦距立刻進行物距測量,因此誤差率都在 2%以下。 22.

(33) 接下來把網路攝影機拆下來,又再重新架回木板上。因為沒有再 重新測定一次焦距,直接以上一次實驗焦距數據為主,所以誤差率增 加了。 OpenCV 裡的 putText()函數不支援 Unicode 字元,只支援 ASCⅡ 字元。如果輸入中文字螢幕會顯示問號,所以把所有顯示訊息全部改 為英文字輸入函數並顯示出來。 因為是從表 3 的焦距值中取一個焦距值來計算,所以在表 4 的數 據裡物差率為 0.7% ~ 1.1%。 為了更進一步降低誤差率,將真實物距 37~63 公分測出來的焦距 平均值 792.28307692 當第一組焦距資料,64~89 公分測出來的焦距 平均值 782.45961535 當第二組焦距資料,90~116 公分測出來的焦距 平均值 771.87820517 當第三組焦距資料。令視差 560~304 使用第一 組焦距,視差 303~226 使用第二組焦距,視差 225~172 使用第三組焦 距。. 表 5 雙鏡頭距離 26 公分有焦距公式引入 3 組焦距值計算結果 真實物距 編號 (cm). 電腦偵測物 距(cm). 偵測 視差 (px). 焦距(px) 誤差率(%). 1. 43.8. 43.73537155. 471. 792.2830769 0.147553539. 2. 49.1. 49.16315036. 419. 792.2830769. 3. 56.6. 56.59164835. 364. 792.2830769 0.014755563. 4. 66. 65.81265176. 313. 792.2830769 0.283860974. 5. 71.9. 71.1326923. 286. 782.4596154 1.067187337. 23. 0.1286158.

(34) 6. 78.4. 77.64866412. 262. 782.4596154 0.958336583. 7. 94.6. 93.77959502. 214. 771.8782052 0.867235708. 8. 102.7. 102.3920068. 196. 771.8782052. 9. 115.4. 114.6790476. 175. 771.8782052 0.624742092. 0.299896. 輸入 3 組焦距,再套用公式(12)可以發現,除了編號 5 以外,其 餘資料的誤差率已經降低至 1%以內。未來如果能推導出焦距與視差 彼此之間的關係式,將能得出更精確的測量結果。 第一次實驗過程的照片與實驗數據如下所示:. 24.

(35) 圖 10 實驗一:用焦距測量版 a1. 實際距離. 117 cm. 偵測距離. 123.806667 cm. 誤差率. 5.8176641%. 25.

(36) 圖 11 實驗一:有焦距測量版 a2. 實際距離. 95.2 cm. 偵測距離. 99.165534 cm. 誤差率. 4.16547689%. 26.

(37) 圖 12 實驗一:有焦距測量版 a3. 實際距離. 74.2 cm. 偵測距離. 75.940892 cm. 誤差率. 2.34621563%. 27.

(38) 圖 13 實驗一:有焦距測量版 a4. 實際距離. 35 cm. 偵測距離. 34.800852 cm. 誤差率. 0.56899428%. 28.

(39) 圖 14 實驗一:有焦距測量版 b1. 實際距離. 115 cm. 偵測距離. 124.561585 cm. 誤差率. 8.31442173%. 29.

(40) 圖 15 實驗一:有焦距測量版 b2. 實際距離. 98.1 cm. 偵測距離. 105.299485 cm. 誤差率. 7.33892456%. 30.

(41) 圖 16 實驗一:有焦距測量版 b3. 實際距離. 76.7 cm. 偵測距離. 81.386853 cm. 誤差率. 6.11062972%. 31.

(42) 圖 17 實驗一:有焦距測量版 b4. 實際距離. 37.9 cm. 偵測距離. 40.531944 cm. 誤差率. 6.94444327%. 32.

(43) 表 6 雙鏡頭距離 26 公分有焦距公式測量數據 2 編號. 真實物距 (cm). 電腦偵測物距 (cm). 偵測視差 (px). 誤差率(%). 1. 35. 34.800852. 587. 0.568994286. 2. 37.9. 40.531944. 504. 6.944443272. 3. 74.2. 75.089452. 269. 1.198722372. 4. 76.7. 81.386853. 251. 6.110629726. 5. 95.2. 99.165534. 206. 4.165476891. 6. 98.1. 105.299485. 194. 7.338924567. 7. 115. 124.561585. 164. 8.314421739. 8. 117. 123.806667. 165. 5.817664103. 33.

(44) 4-5 實驗二:無焦距測量版 以物距為 x 軸、視差為 y 軸畫出 x-y 曲線,可以發現這個曲線近 似一元二次方程式曲線。. 因此提出了第二種計算物距(景深)的演算法。設一個一元二次 方程式,把三個已知參數放進去,讓方程式盡可能貼合視差-物距關 係圖所畫出來的曲線。. 𝑦 = 𝑎𝑥 2 + 𝑏𝑥 + 𝑐. (20). 𝑦 = 視差 𝑥 = 物距 接著輸入三組包含(視差、物距)的資料,代進(20)式,可以 導出矩陣(21)式。. 34.

(45) 編號. 視差. 物距. 1. 554. 37.5. 2. 322. 63.6. 3. 173. 115.5. 1406.25 [ 4044.96 13340.25. 37.5 63.6 115.5. 𝑎 1 554 𝑏 1] × [ ] = [322] 𝑐 1 173. (21). 拿紙跟筆手算並使用高斯喬登消去法(Gauss-Jordan Elimination)可以把 a、b、c 值求解出來,或者也可以選擇把矩陣 輸入進 MATLAB 裡面,讓電腦快速求出答案。 以下為 MATLAB 程式碼. clear, clc, close all;%清除螢幕、清除變數、關閉所有視窗。 A = [1406.25, 37.5, 1; 4044.96, 63.6, 1; 13340.25, 115.5, 1] %創建一個變數 A 儲存矩陣 C = [554; 322; 173] %創建一個變數 C 儲存矩陣 B = inv(A)*C. 35.

(46) %創建一個變數 B 儲存答案。 矩陣 A、B、C 的運算式如下。. (22). A×B=C A−1 × A × B = A−1 × C B = A−1 × C. (23) (24). 因為矩陣 A 乘以反矩陣A−1 會變成單位矩陣,因此把矩陣 A 消掉, 即可求出矩陣 B 的值,也就是 a b c 的數值。. a = 0.077154 b = -16.689121 c = 1071.344746 求出關係式 𝑦 = 0.077154 × 𝑥 2 − 16.689121𝑥 + 1071.344746 接著使用一元二次方程式公式解來把𝑥的值求解出來。 −𝑏 − √𝑏 2 − 4𝑎𝑐 𝑦= 2𝑎 因為只計算一元二次方程式的左半邊,所以-b 後面取負號。不 過由於是使用關係式進行估測,所以精確度不是很高。實驗二共做了 二次實驗。第一次實驗數據如下所示:. 36.

(47) 表 7 雙鏡頭距離 26 公分無焦距公式測量數據 1 編號. 真實物距 (cm). 電腦偵測物距 (cm). 偵測視差. 誤差率. 1. 36.45. 35.9576. 571. 1.350891632. 2. 43.9. 45.4708. 472. 3.578132118. 3. 48. 49.8635. 431. 3.882291667. 4. 54.9. 56.4629. 375. 2.846812386. 5. 62.8. 62.8788. 327. 0.125477707. 6. 65.05. 64.6303. 315. 0.645196003. 7. 75.8. 72.305. 268. 4.610817942. 8. 88.6. 80.4643. 228. 9.182505643. 9. 111.7. 88.7145. 198. 20.5778872. 10. 115.7. 100.814. 173. 12.86603284. 接著是第二次重新裝好雙鏡頭後再進行一次實驗的數據。第二次 實驗過程的照片與實驗數據如下所示:. 37.

(48) 圖 18 實驗二:無焦距測量版 a1. 實際距離. 114.8 cm. 偵測距離. 106.723981 cm. 誤差率. 7.034859756. 38.

(49) 圖 19 實驗二:無焦距測量版 a2. 實際距離. 92.1 cm. 偵測距離. 83.961720 cm. 誤差率. 8.836351791. 39.

(50) 圖 20 實驗二:無焦距測量版 a3. 實際距離. 68.9 cm. 偵測距離. 68.363907 cm. 誤差率. 0.77807402. 40.

(51) 圖 21 實驗二:無焦距測量版 a4. 實際距離. 37.6 cm. 偵測距離. 38.330421 cm. 誤差率. 1.942609042. 41.

(52) 圖 22 實驗二:無焦距測量版 b1. 實際距離. 108.9 cm. 偵測距離. 99.978290 cm. 誤差率. 8.192571166. 42.

(53) 圖 23 實驗二:無焦距測量版 b2. 實際距離. 84.2 cm. 偵測距離. 80.699371 cm. 誤差率. 4.157516627. 43.

(54) 圖 24 實驗二:無焦距測量版 b3. 實際距離. 67.4 cm. 偵測距離. 67.398425 cm. 誤差率. 0.002336795. 44.

(55) 圖 25 實驗二:無焦距測量版 b4. 實際距離. 38.1 cm. 偵測距離. 42.343885 cm. 誤差率. 11.138805774. 45.

(56) 表 8 雙鏡頭距離 26 公分無焦距公式測量數據 2 編號. 真實物距 (cm). 電腦偵測物距 (cm). 偵測視差 (px). 誤差率(%). 1. 37.6. 38.330421. 545. 1.942609043. 2. 38.1. 42.343885. 503. 11.13880577. 3. 67.4. 67.398425. 297. 0.002336795. 4. 68.9. 68.363907. 291. 0.77807402. 5. 84.2. 80.699371. 227. 4.157516627. 6. 92.1. 83.96172. 214. 8.836351792. 7. 108.9. 99.97829. 174. 8.192571166. 8. 114.8. 106.723981. 169. 7.034859756. 46.

(57) 4-6 實驗結果比較 本實驗主要分成有焦距公式的實驗一與無焦距公式的實驗二,並 比較二者對於景深準確率的影響。 此二個實驗結果的差異,說明如下:根據表 4 至表 7 的數據可以 發現,在同樣測量條件下,有焦距公式的測量值大多優於無焦距公式 的測量值。因此,採用有焦距公式的實驗結果會優於無焦距公式的實 驗結果。. 47.

(58) 第五章 結論 從實驗結果來看,使用雙鏡頭並運用模板匹配法進行目標物座標 之擷取時,採用不同數學模型對於景深測量準確率的確有影響。在本 研究中, 「有焦距公式」與「無焦距公式」屬於二個不同的數學模型, 此二者對於景深測量的準確率的確有差異。 如果採用有焦距公式進行測量時,所得到的結果比較精確。當能 擷取的焦距值愈精確時,其景深誤差率愈小,通常不會超過 2%。如 果採用無焦距公式來估算景深時,其景深誤差率的範圍從 0.1%~ 12.8%。雖然可以低至 0.1%,但是也可高達 12.8%,其景深誤差範圍 甚廣,代表變異程度較高且穩定性較低。 當雙鏡頭距離為 7 公分時,其測量到的焦距值範圍為 506~733。 當雙鏡頭距離為 26 公分時,其測量到的焦距值範圍為 768~799。可 以發現隨著雙鏡頭之間的距離越拉越長,做實驗所測出的焦距變化幅 度會逐漸縮小,測量出的物距會越精確,測量範圍也會越遠。. 48.

(59) 參考文獻 [1] 胡章儀, 以變焦為基礎的自動景深估測之研究, 碩士論文, 資訊 工程學系碩士班, 國立屏東大學, 屏東市, 2017. [2] J. Li, R. Klein, and A. Yao, "A Two-Streamed Network for Estimating Fine-Scaled Depth Maps from Single RGB Images," in 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 3392-3400. [3] B. Fan, Y. Rao, W. Liu, and J. Song, "An effective single image depth estimating algorithm," in 2017 International Conference on Security, Pattern Analysis, and Cybernetics (SPAC), 2017, pp. 242-246. [4] Y. Zeng, Y. Hu, S. Liu, Q. Tang, J. Ye, and X. Li, "GeoCueDepth: Exploiting geometric structure cues to estimate depth from a single image," in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2017, pp. 17-22. [5] 饒得宏, 以物件為基礎的自動估測景深方法之研究, 碩士論文, 資訊工程學系碩士班, 屏東大學, 屏東市, 2012. [6] 丁顯懿, 運用 SURF 於視訊合併之研究, 碩士論文, 資訊工程學系 碩士班, 國立屏東大學, 屏東市, 2017. [7] 黃俊涵, 以改良式演化計算為基礎之 UAV 空拍影像辨識技術, 碩 士論文, 資訊工程學系碩士班, 國立屏東大學, 屏東市, 2017. [8] 張孜禔, 二維自由視角立體影像監視系統, 電機工程學系碩士班, 49.

(60) 淡江大學, 2012. [9] 严萍 and 曾金明, "一种有效的车牌字符分割方法-模板匹配- 垂直投影结合的车牌字符分割方法," 渭南師範學院學報, vol. 26, pp. 63-65, 2011. [10] 王建霞 and 周万珍, "一种改进模板匹配的车牌字符识别方法,". 河北科技大學學報, vol. 31, pp. 236-239, 2010. [11] 朱庆生, 杨世泉, and 柳锋, "基于图像边缘摘要的快速模板匹 配," 計算機應用研究, vol. 26, pp. 792-794, 2009. [12] A. Kaehler and G. Bradski, OpenCV 3 學習手冊. 台北市: 碁峰資訊, 2017. [13] 望熙榮 and 望熙貴, OpenCV+VTK+Visual Studio 影像辨識處理, 2 ed. 新北市: 博碩文化, 2018. [14] 陳會安, C 語言程式設計範例教本, 1 ed. 台北市: 學貫行銷, 2009. [15] 吳燦銘 and 吳惠茹, C++程式設計入門與實作, 1 ed. 新北市: 博 碩文化, 2012. [16] OpenCV.. (July. 4,. 2018).. Template. Matching.. Available:. https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/tem plate_matching/template_matching.html [17] OpenCV. (July 4, 2018). Reading and Writing Images and Video. Available: https://docs.opencv.org/2.4/modules/highgui/doc/reading_and_wr 50.

(61) iting_images_and_video.html?highlight=class%20videocapture#Vid eoCapture. 51.

(62)

數據

圖 2 三角測量法 2  圖 2 為傳統三角測量法,假設測量者想測量線段DC ̅̅̅̅的長度
圖 6 結果圖
表 2 雙鏡頭距離 7 公分測焦距  編號  雙鏡頭距離(cm)  偵測視差(px)  焦距(px)  1  7  52  506.6285714  2  7  96  658.2857143  3  7  255  728.5714286  4  7  311  733.0714286  因為測得的焦距數值範圍差異太大,如果拿此焦距數據去做實驗, 誤差會非常大。因此把雙鏡頭之間的距離加長再測量一次焦距。  表 3 雙鏡頭距離 26 公分測焦距  編號  真實物距(cm)  偵測視差(px)  焦距(px)
圖 10 實驗一:用焦距測量版 a1
+7

參考文獻

相關文件

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Muraoka, “A Real-time Beat Tracking System for Audio Signals,” in Proceedings of International Computer Music Conference, pp. Goto, “A Predominant-F0 Estimation Method for

[16] Goto, M., Muraoka, Y., “A real-time beat tracking system for audio signals,” In Proceedings of the International Computer Music Conference, Computer Music.. and Muraoka, Y.,

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Ko, “Fast Intra Prediction Mode Selection Scheme Using Temporal Correlation in H.264,” IEEE International Region 10 Conference, pp. Yu, “A Fast Mode Decision Method for

Jones, "Rapid Object Detection Using a Boosted Cascade of Simple Features," IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications