2005 MATLAB Tech Forum and Expo
建構於建構於建構於建構於 MATLAB 平台上之視覺回授平台上之視覺回授平台上之視覺回授平台上之視覺回授
自動駕駛實驗系統自動駕駛實驗系統自動駕駛實驗系統自動駕駛實驗系統((((上上上上))))
鄭智湧 林欣儀
國立台灣海洋大學 電機工程系
基隆市北寧路二號
II
摘要摘要摘要摘要
在本實驗中利用 MATLAB 的影像擷取 (Image Acquisition)、影像
處理 (Image Processing) 與資料擷取 (Data Acquisition) 工具箱設計
了一套可以完成即時控制的發展系統。為了展示其可行性,在此完成
了具有電腦視覺的自動駕駛實驗車,其中將一簡易 CCD 攝影機置於
實驗車上,利用影像處理的回授,控制自動駕駛車的直流馬達,包括
車子的前進、後退、左轉、右轉以及 CCD 攝影機的二軸轉動,並使
用無線模組來傳送電腦與自走車單晶片之間的信號。在本實驗中完成
了三個任務:沿車道行走、判別紅綠燈以及路邊停車,以 MATLAB
的工具箱撰寫程式,讓自動駕駛車能自主完成上述的三個任務而不需
要由人為控制。
關鍵字:MATLAB,電腦視覺,影像處理,自動駕駛,馬達控制
目錄
I
目錄目錄目錄目錄
頁次
摘要摘要摘要摘要
目錄目錄目錄目錄............................................................................................................. I
第一章第一章第一章第一章 緒論緒論緒論緒論..............................................................................1
1-1 研究動機研究動機研究動機研究動機 ....................................................................................1
1-2 視覺回授控制系統架構視覺回授控制系統架構視覺回授控制系統架構視覺回授控制系統架構
1-3 論文架構論文架構論文架構論文架構
第二章第二章第二章第二章 軟硬體架構與實驗環境軟硬體架構與實驗環境軟硬體架構與實驗環境軟硬體架構與實驗環境 .............................................4
2-1 硬體架構硬體架構硬體架構硬體架構 ...................................................................................4
2.1.1 受控體.............................................................................5
2.1.2 CCD 攝影機....................................................................7
2.1.3 AT89C2051 單晶片 ........................................................7
2.1.4 RF 無線傳送接收模組 ...................................................8
2.1.5 馬達與 TA7291S 晶片..................................................11
2.1.6 光遮斷器 .......................................................................11
目錄
II
2-2 軟體架構軟體架構軟體架構軟體架構 .................................................................................13
2.2.1 MATLAB 程式語言 .....................................................13
2.2.2 8051C 程式語言和 Keil C51 編譯器 ..........................14
2-3 實驗環境實驗環境實驗環境實驗環境 ..................................................................................15
第三章第三章第三章第三章 視覺處理與控制視覺處理與控制視覺處理與控制視覺處理與控制 .......................................................16
3-1 視覺影像處理視覺影像處理視覺影像處理視覺影像處理 ..........................................................................16
3.1.1 RGB 色彩模型 ...............................................................16
3.1.2 HSV 彩色模型與影像的亮度 .......................................19
3.1.3 YIQ 彩色模型與影像的灰階處理 ................................21
3.1.4 灰階影像的二值化.........................................................23
3.1.5 影像編碼.....................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
3-2 視覺回授與控制視覺回授與控制視覺回授與控制視覺回授與控制 .................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
3.2.1 任務一-沿直線行走之視覺回授與控制.錯誤錯誤錯誤錯誤! 尚未定尚未定尚未定尚未定
義書籤義書籤義書籤義書籤。。。。
3.2.2 任務二-判別紅綠燈之視覺回授與控制 錯誤錯誤錯誤錯誤! 尚未定尚未定尚未定尚未定
義義義義書籤書籤書籤書籤。。。。
3.2.3 任務三-路邊停車之視覺回授與控制 錯誤錯誤錯誤錯誤! 尚未定義尚未定義尚未定義尚未定義
書籤書籤書籤書籤。。。。
第四章第四章第四章第四章 實驗結果實驗結果實驗結果實驗結果 ...............................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
目錄
III
4-1 任務一任務一任務一任務一::::沿車道行走沿車道行走沿車道行走沿車道行走 .........................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.1.1 實驗目的 .....................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.1.2 實驗場地 .....................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.1.3 PWM 脈波寬度調變控制馬達轉速 錯誤錯誤錯誤錯誤! 尚未定義書尚未定義書尚未定義書尚未定義書
籤籤籤籤。。。。
4.1.4 程式流程 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.1.5 實驗結果 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4-2 任務二任務二任務二任務二::::辨別紅綠燈辨別紅綠燈辨別紅綠燈辨別紅綠燈 .........................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.2.1 實驗目的 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.2.2 實驗場地 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.2.3 程式流程 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.2.4 實驗結果 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4-3 任務三任務三任務三任務三::::路邊停車路邊停車路邊停車路邊停車 .............................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.3.1 實驗目的 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.3.2 實驗場地 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.3.3 程式流程 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
4.3.4 實驗結果 ...................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
第五章第五章第五章第五章 結論與未來展望結論與未來展望結論與未來展望結論與未來展望 ...................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
5-1 結論結論結論結論 ......................................................錯誤錯誤錯誤錯誤! 尚未定義書籤尚未定義書籤尚未定義書籤尚未定義書籤。。。。
目錄
IV
5-2 未來展望未來展望未來展望未來展望
第一章 緒論
1
第一章第一章第一章第一章 緒論緒論緒論緒論
1-1 研究動機研究動機研究動機研究動機
一般要發展具有視覺的控制系統常需要較高的門檻的程式技
能。例如使用個人電腦 Windows 視窗做為主控的平台,需要先解決
如影像擷取(撰寫 API 程式)與控制訊號驅動(撰寫 WDM 程式)介面
的問題,除此之外利用類似 C 語言處理視覺影像也常需要經歷冗長
的程式撰寫與測試。因此為了降低初學者學習的門檻,我們嘗試使用
MATLAB 的平台來發展影像在控制上的應用,利用 MATLAB 所提供
的幾個工具箱函式,將電腦視覺和伺服控制整合成為一個即時控制系
統。另外為了使一般的使用者能夠節省成本,本實驗在低價位因素的
考量下,我們沒有使用 MATLAB 協力廠商研發的實驗板,而採用簡
易的自製實驗板配合低價的網眼攝影機來建構此自動駕駛的系統。
1-2 視覺回授控制系統架構視覺回授控制系統架構視覺回授控制系統架構視覺回授控制系統架構
基於上述的研究動機,本論文實驗的目的為利用 MATLAB 平台
來設計視覺回授的控制系統,實驗架構如圖 1.1 所示。
圖 1.1: MATLAB 視覺回授控制系統架構
圖 1.1 右側描述系統中主要的控制機制,利用 Web Camera偵測
道路的狀況,依照不同的場景判斷,透過 printer port 送出驅動馬達的
第一章 緒論
2
信號來達成控制任務。為了縮短研發的時程,我們使用 MATLAB 平
台並配合影像擷取工具箱、影像處理工具箱以及資料擷取工具箱,如
圖 1.1 左側所示,使系統輸入輸出信號介面單純化,也使得視覺影像
處理的程式撰寫變的更容易。
我們設計了幾個基本的任務讓自走車來驗證自動駕駛的可行
性。任務一的目標為利用視覺回授使得自動駕駛車能沿著兩條曲線間
前進,即使道路彎曲自走車也能靠 CCD 攝影機適當的修正行進軌跡
而能沿著道路行駛。任務二的目的是希望自走車具有視覺判別紅綠燈
之能力,車上的 CCD 攝影機分析紅綠燈顏色資訊,如果此時亮綠燈,
自走車會繼續往前走,如果此時紅燈亮起,自走車會停下來等待,直
到綠燈亮起。最後任務三是訓練自走車使其具有路邊停車之能力,自
動駕駛車見到停車格後,會以停車格的特徵執行路邊停車的動作。自
走車先駛入路邊停車格中,等待一段時間後,再自行駛出路邊停車格。
1-3 論文架構論文架構論文架構論文架構
本論文共分為五個章節,其編排內容如下:
第一章 緒論:
首先分別說明本論文研究動機和研究目的,在 1-3 節對整篇論文
架構做介紹。
第二章 軟硬體架構與實驗環境
在本章首先說明自動駕駛車的硬體架構以及週邊電路,第二節說
第一章 緒論
3
明所需的軟體背景,在第三節則介紹整個實驗的環境以及自動駕
駛車場地的佈置。
第三章 視覺影像處理與控制
本章介紹本實驗最重要的ㄧ個環節-影像處理,第一節說明影像
的灰階處理,再來說明二值化影像及影像的亮度處理。經過影像
處理後的圖便可提供電腦作為馬達控制的依據,所以最後一節則
是說明如何應用影像處理來控制自動駕駛車。
第四章 實驗結果與分析
在第四章中,詳細解說每個任務的目的、影像處理流程,最後再
展示每個任務的實驗結果,並做更深入的分析與探討。
第五章 結論與未來展望
對於整個實驗結果作ㄧ結論,並歸納研究特色與貢獻,以及建議
未來可能的發展方向。
第二章 軟硬體架構與實驗環境
4
第二章第二章第二章第二章 軟硬體架構與實驗環境軟硬體架構與實驗環境軟硬體架構與實驗環境軟硬體架構與實驗環境
第二章以三小節分別敘述,在第一節說明本實驗的受控體-自動
駕駛車硬體的架構,包含 CCD 攝影機、AT89C2051 單晶片、RF 無
線傳送接收模組、馬達與馬達 IC-TA7291S 以及光遮斷器的應用。
第二節簡述實驗所用到的程式語言,MATLAB 與 8051C 程式語言,
第三節則說明整個實驗環境與自動駕駛車行駛的場地。
2-1 硬體架構硬體架構硬體架構硬體架構
系統整體架構如圖 2.1 所示,主控電腦經由印表機並列埠將訊號
送給 RF 發射電路[20][21],以載波傳送控制訊號,RF 接收模組接收
後再將指令傳送給自動駕駛車,自動駕駛車上的 CCD 攝影機所看到
的回授影像經由 USB 訊號線送回電腦處理。
圖 2.1 整體控制架構圖
第二章 軟硬體架構與實驗環境
5
2.1.1 受控體
自動駕駛車的機構是由樂高(LEGO)積木所組合成[5][6],外觀如
圖 2.2。在自動駕駛車前方置有一個 CCD 攝影機,內部裝載小型電路
板[7],如圖 2.3。車上有四顆馬達,其中兩顆馬達負責自動駕駛車的
車輪,另兩顆馬達負責 CCD 攝影機的二維運動。車體內部有兩組電
池,分別為 6V 和 9V,6V 驅動馬達與馬達 IC,9V則驅動其他所有
電路。
小型電路板上有 AT89C2051 單晶片、RF 無線接收模組、馬達驅
動 IC 以及週邊硬體電路[22],電路方塊圖如圖 2.4 所示,電路板上的
AT89C2051 為控制馬達 CPU,負責將馬達控制訊號傳給馬達。車體
下方為帶動自走車前進後退的車輪以及安裝在 CCD 攝影機轉動馬達
上的光遮斷器。各個元件將於後面陸續介紹。
圖 2.2 自走車外觀圖
第二章 軟硬體架構與實驗環境
6
圖 2.3 自走車小電路板
圖 2.4 自動駕駛車小電路板方塊圖
第二章 軟硬體架構與實驗環境
7
2.1.2 CCD 攝影機
本實驗所採用的攝影機為一平價之 USB 介面 Web Camera,如圖
2.5 所示,架設在自動駕駛車前方,並使用 MATLAB 程式語言中的
Image Acquisition Tool box 中的影像擷取函式來擷取影像,所擷取的
影像經由 USB 介面傳送回個人電腦,將 CCD 攝影機所見到的影像擷
取到記憶體中以便進行影像處理。
圖 2.5 所用 CCD 攝影機
2.1.3 AT89C2051 單晶片
顧名思義,單晶片微電腦就是將與電腦有關的每個單元,均製作
在同一晶片中,除了有ㄧ般電腦的基本結構外,還會內含一些非必要
的特殊用途 I/O 及電路,稱為「週邊裝置」[3]。這些週邊裝置包還計
時/計數器、串列 I/O、PWM 控制及 A/D 轉換器等。
在本實驗中選用 AT89C2051作為自動駕駛車上的小型 CPU,主
要是負責將 RF 無線接收模組所傳送過來的信號經解碼後再傳送給自
動駕駛車的四顆馬達 IC,使馬達正轉或反轉來決定自動駕駛車動作。
AT89C2051,如圖 2.6 為 ATMEL公司所出產的 MCS-51 系列產
品中的單晶片之ㄧ,其系列產品還有 AT89C51、AT8051……等等,
第二章 軟硬體架構與實驗環境
8
但本實驗不需使用到過多的 I/O埠(AT89C51 與 AT8051都有四個 I/O
埠),所以選用只有兩個 I/O 埠而且體積小的 AT89C2051。除了兩個
I/O埠之外,還有兩組計時/計數器、一組串列埠、六個中斷源等,主
要以 8051C 程式來撰寫。IC 接腳圖如圖 2.7。
U21
AT89C2051
1
1213141516171819
20
236789
11
54
RST/VPP
P1.0/AIN0P1.1/AIN1
P1.2P1.3P1.4P1.5P1.6P1.7
VCC
P3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/T0P3.5/T1P3.7
XTAL1XTAL2
圖 2.6 AT89C2051 外觀 圖 2.7 AT89C2051 接腳圖
2.1.4 RF 無線傳送接收模組
為了減少從電腦到自動駕駛車之間繁多的控制傳輸線,我們使用
RF 無線傳送接收模組來替代[27],所使用的為 SHY-J6122TR 模組,
傳送模組如圖 2.8,接收模組如圖 2.9,特性如表 2.1,能傳送 4bits 的
資料,傳送頻率在 300~450MHZ 之間,接收模組收到訊號之後再傳
入 AT89C2051,由 AT89C2051 控制馬達。
RF 模組載波之主要功能是將訊號混於高頻 RF 訊號,以利遠距
離傳送。發射模組將資料以 AM方式調變後經由天線傳送出去,接收
模組經由天線接收訊號後,經由 AM 解調還原訊號資料,電路圖如圖
2.10 所示。
第二章 軟硬體架構與實驗環境
9
圖 2.8 無線傳送模組
圖 2.9 無線接收端
表 2.1 RF特性表
第二章 軟硬體架構與實驗環境
10
0
2052input
0
0
8
V1
12
V1
12
7
0
E1ANTENNA
1
5
U2
MC7805C1 2
3
IN OUT
GN
D
0
1.8k
U5
HT12D
14
15
16
17
10111213
12345678
DIN
OSC2
OSC1
VT
D8D9D10D11
A0A1A2A3A4A5A6A7
4
2
4
3
3
1.2m
2
0
1
U4
HT12E/DIP18
12345678
10111213
14
15
16
17A0A1A2A3A4A5A6A7
AD8AD9AD10AD11
TE
OSC2
OSC1
DOUT
5
6
2051input
C10.1uF
2051input
U1
MC7805C1 2
3
IN OUT
GN
D
D2
LED
transmitter
7
E1ANTENNA
1
6
68k
4
2
5
C20.1uF
R3
1.5k
receiver
1uf
3
2051input
0
1
8
U3
74LS245
23456789
191
1817161514131211
A1A2A3A4A5A6A7A8
GDIR
B1B2B3B4B5B6B7B8
圖 2.10 RF 無線傳送接收電路圖
第二章 軟硬體架構與實驗環境
11
2.1.5 馬達與 TA7291S 晶片
自動駕駛車上的所有馬達皆使用樂高的直流馬達,樂高馬達扭力
強,能負載較重的機構,由 6V 電池驅動。在本論文的實驗中,使用
TA7291S 之馬達 IC 取代傳統的 H 型馬達驅動電路,如圖 2.11,ㄧ顆
TA7291S就可以控制ㄧ顆馬達,一共四顆 IC,馬達指令如表 2.2,指
令寫在 AT89C2051裡面。
圖 2.11 馬達 IC 外觀 表 2.2 馬達指令表
2.1.6 光遮斷器
使用光感測器是迴路控制系統中得到回授信號的一種方式,光感
測器是極為普遍的一種感測元件,這類光電元件包括光反射器、光耦
合器、光電晶體和光遮斷器[8][18]。為了得知 CCD 馬達的位置,架
了二組光遮斷器和光盤在馬達旁邊,如圖 2.12,圖 2.13 所示。
光遮斷器,如圖 2.14,組成要件為發光二極體和光電晶體,兩者
做成相對分立包裝在同一基座上,當有不透光盤進入凹槽的時候,把
光擋住,光電晶體就不導通,如圖 2.15 所示。
光盤的設計如圖 2.16,透明光盤上貼有固定角度的黑紙,當光遮
斷器被黑紙擋住時訊號為 5V,透光的時候訊號為 0V,這樣就可固定
CCD 馬達所轉動的角度,達到馬達定位的控制。
第二章 軟硬體架構與實驗環境
12
圖 2.12 CCD 上下馬達與光遮斷器
圖 2.13 CCD 左右馬達與光遮斷器
圖 2.14 光遮斷器 圖 2.15 光遮斷器導通圖
第二章 軟硬體架構與實驗環境
13
圖 2.16 光盤設計圖
2-2 軟體架構軟體架構軟體架構軟體架構
在本論文實驗中,使用到兩種不同的程式語言,分別為 MATLAB
和 8051C 程式語言,以兩節分別述說;2.2.1 節描述 MATLAB 程式語
言,2.2.2則描述 8051C 程式語言。
2.2.1 MATLAB 程式語言
MATLAB 是由 MathWorks 公司於 1984 年推出的數學軟體,最
早的發展理念是提供一套非常完善的矩陣運算指令,但隨著數值運算
需求的演變,MATLAB 已成為各種系統模擬、數位訊號處理、科學
模式的標準語言。MATLAB是一種計算核心,圍繞著這個計算核心,
有許多針對不同應用所開發的應用程式,稱為工具箱(Toolboxes),在
本實驗中我們運用到三個不同的工具箱[14],分別為 Image Processing
Toolbox[2][4][26]、Image Acquisition Toolbox[15]和 Data Acquisition
Toolbox,分別處理影像擷取、影像處理和 printer port輸出入的控制,
如圖 2.17 所示。
第二章 軟硬體架構與實驗環境
14
圖 2.17 MATLAB 示意圖
2.2.2 8051C 程式語言和 Keil C51 編譯器
Keil C51是由德國 Keil軟體所研發的 8051 單晶片高效率 C 語言
編譯器[16][17],它符合 ANSI 標準,且產生程式碼容量小,因此執
行速度較其他編譯軟體來的快。
在本論文實驗中,將控制馬達的判斷指令以 C 程式語言寫好,
經由 Keil C51 編譯過後,再用燒錄器將程式燒進 AT89C2051 單晶片
中,便可用來控制馬達正反轉,如圖 2.18 所示。
圖 2.18 AT89C2051 與周邊控制圖
第二章 軟硬體架構與實驗環境
15
2-3 實驗環境實驗環境實驗環境實驗環境
實驗環境如下圖 2.19 所示,實驗場地建構一大型跑道讓自動駕
駛車行走,場地上有兩條黑線來模擬道路,還有紅綠燈以及路邊停車
格。由於本實驗爲了簡化回授影像的處理,所以背景要求單純,盡量
以白色為主,以免發生自動駕駛車的誤判。
圖 2.19 場地示意圖
參考文獻
16
第三章第三章第三章第三章 視覺處理與控制視覺處理與控制視覺處理與控制視覺處理與控制
在本章節中,詳細介紹實驗中所用到的色彩模型與影像處理,如
影像的灰階處理、灰階圖二值化以及影像的亮度處理。再運用處理完
之後的圖形進行找質心、圖形編碼、目標物面積大小等之特徵擷取,
藉此讓電腦作判斷來控制馬達轉動,達到閉迴路控制的目的。
3-1 視覺影像視覺影像視覺影像視覺影像處理處理處理處理
在影像的彩色模型中,比較常用的有下列幾種。(1) RGB,(2)
YIQ,(3) HSV。每種色彩模型會在後面幾節稍加描述。
3.1.1 RGB 色彩模型
RGB 全彩影像的每ㄧ個像素都由紅色(Red)、藍色(Blue)、綠色
(Green)三原色所組成[19][28],每ㄧ個原色以 8 bits表示,有 0 ~ 255
種表示方法,所以 RGB全彩影像的每ㄧ個像素以 24 bits(3*8)表示。
平常所使用的相片或者是圖片幾乎都是用 RGB 色彩模型來表示。
在本實驗任務二“判別紅綠燈”中,我們利用 RGB 色彩座標中
的 R 資訊和 G 資訊,以及 HSV 色彩座標中的 V 資訊(於 3.1.2 節說明)
來分析紅綠燈現在是處於紅燈還是綠燈的狀態。四張由自動駕駛車上
CCD 攝影機所擷取進來的紅綠燈圖片,如圖 3.1、圖 3.2、圖 3.3、圖
3.4 所示。
參考文獻
17
圖 3.1 綠燈亮時紅燈處像素的內容
圖 3.2 綠燈亮時綠燈處像素內容
圖 3.1中,十字所標示的為綠燈亮紅燈不亮,紅燈部分在位置(158 ,
39)此像素値為 R : 78、G : 29、B : 15,標示在圖下方。圖 3.2則表示
綠燈亮的綠色部分的 RGB 組成値。
參考文獻
18
圖 3.3 紅燈亮時紅燈處像素內容
圖 3.4 紅燈亮時綠燈處像素內容
圖 3.3 以及圖 3.4則表示紅燈亮時,紅燈跟綠燈的 RGB 色值。由
此四張圖可知,當綠燈亮時,綠燈的 G 值高過於紅燈的 G 值;當紅
燈亮時,紅燈的 R 值高過於綠燈的 R 值,就以此 R、G 值來做判斷
的依據。
參考文獻
19
3.1.2 HSV 彩色模型與影像的亮度
HSV 彩色模式與 RGB 彩色模式的關係如下:
( ) ( )
( ) ( )
1
2 2
0.51 cos
R G R GH
R G R B
−
− + + =
− + −
(3-1)
1 if
360 1 if
H H B G
H H B G
= ≤
= ° − >
( , , ) ( , , )
( , , )
Max R G B Min R G BS
Max R G B
−=
(3-2)
Max(R,G,B)
V=255
(3-3)
色調 H,式(3-1)常用來作人臉偵測的影像處理,主要原因是 H
比較不受光線的強弱影響。S,式(3-2),代表顏色中的飽和度。
在影像處理中,影像的亮度並不是一個常用的處理方法,因為影
像很敏感於光的強弱變化,也就是很怕亮度的影響。V,式(3-3),代
表顏色的明暗度,介在 0到 1 之間。圖 3.5表三原色的圖,將此圖作
亮度轉換之後則如圖 3.6 所示,中間白色的部份為亮度最高之區域。
參考文獻
20
圖 3.5 三原色圖 圖 3.6 轉為亮度圖
本論文實驗中將使用亮度的影像處理在判斷紅綠燈上,那是因為
紅綠燈本身就是個發光物體,所以利用亮度來判斷是一個不錯的方
法。圖 3.7 為自動駕駛車所看見的圖片,圖 3.8 及圖 3.9 為轉換成 HSV
色彩座標後的 V 值,標示於圖下方。
圖 3.7 自動駕駛車所見到的影像
參考文獻
21
圖 3.8 紅燈的亮度值
圖 3.9 綠燈的亮度值
3.1.3 YIQ 彩色模型與影像的灰階處理
對即時系統而言,ㄧ個像素使用三個數值來表示實在太耗時間,
為了能縮短程式處理的時間以及簡化判斷的條件,我們將 RGB全彩
影像轉換成灰階影像進行實驗。灰階影像是指含亮度資訊,不包含色
參考文獻
22
彩資訊的影像,ㄧ個像素只用灰階值(Gray Level)來表示,只需 8 bits
來表達灰階值。就像我們平時所看到的黑白照片,亮度由暗到明,變
化是連續的。RGB和 NTSC協會(National Television System Committee)
所制定的 YIQ 色彩模式存在有這樣一個關係
Y 0.299 0.587 0.114 R
I = 0.596 -0.275 -0.321 G
Q 0.212 -0.528 0.311 B
(3-4)
Y表示亮度也就是灰階值,而色度則包含在 I、Q兩個參數裡。
式子中的 Y=0.299R+0.587G+0.11B 告訴我們,代表亮度 Y 受到綠色
的影響遠大於紅色和藍色的影響。如果想把 RGB 的彩色影像轉為灰
階影像(Gray Image),可採上述轉換後的 Y 值代表該像素的灰階值。
在本實驗中,我們將實驗的跑道由 RGB 轉成灰階影像,如圖 3.10,
利用式(3-1)中的 Y 與 R、G、B 的關係就可以得到圖 3.11 所示的灰階
影像。
圖 3.10 CCD 擷取原圖 圖 3.11 左圖灰階化
參考文獻
23
3.1.4 灰階影像的二值化
全彩影像轉換成灰階影像後,仍是一張很複雜的影像,對實驗而
言,以灰階影像找出目標物也是很困難的。為了進行一個基本的分群
動作,以簡化影像的複雜度,在將 RGB 影像轉為灰階影像之後,在
將灰階影像轉為黑白影像,稱為二值影像。二值影像是指一張影像裡
面只有黑(0)與白(255)沒有中間值。當灰階影像要轉為二值影像時,
必須決定一門檻值(Threshold)來進行轉換,此門檻值以上的灰階值更
改為 255,門檻值已下的灰階值轉為 0 以達到二值化的轉換,其數學
式如下:
0 I(m,n) T
I(m,n)=255 I(m,n) >T
≤
(3-5)
式(3-5)中 I(m,n)代表影像在第 m列、第 n 行像素的灰階值,T表
示門檻值,以 T 為界線,灰階值大於 T 的像素變成白色,灰階值小
於 T 的像素變成黑色。將一張灰階圖做灰階值統計,如圖 3.12,圖片
的門檻值通常選在灰階值統計圖,圖 3.13 的波谷處,以達到分群的
效果。 (待續)
圖 3.12 一張灰階圖片 圖 3.13 左圖的灰階統計