• 沒有找到結果。

智慧型數位影像監控開發平台之實作與應用

N/A
N/A
Protected

Academic year: 2021

Share "智慧型數位影像監控開發平台之實作與應用"

Copied!
57
0
0

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

全文

(1)

電機與控制工程研究所

智慧型數位影像監控開發平台之實作與應用

An Intelligent Surveillance System

Based on Advanced Digital Development Platform

研 究 生:劉開澄

(2)

智慧型數位影像監控開發平台之實作與應用

An Intelligent Surveillance System

Based on Advanced Digital Development Platform

研 究 生:劉開澄 Student:Kai-Cheng Liu

指導教授:林進燈 Advisor:Chin-Teng Lin

楊谷洋 Advisor:Kuu-Young Young

國 立 交 通 大 學

電 機 與 控 制 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Department of Electrical and Control Engineering College of Electrical Engineering

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Electrical and Control Engineering

August 2011

Hsinchu, Taiwan, Republic of China

中華民國 一百 年 八 月

(3)

智慧型數位影像監控開發平台之實作與應用

學生:劉開澄

指導教授:林進燈 教授

楊谷洋 教授

國立交通大學 電機學院 電機與控制工程研究所

中文摘要

在目前的與影像相關的應用中,如大樓監視系統、車用電子、死

角監控、危險區域管制等等方面,大多系統仍然需要人類的監控作為

依據,如加上了機器視覺的功能,仍然有許多的影像演算法無法達到

Real-Time。由於監視器畫素許多皆為 D1 或 VGA 畫質,無法有效的

得到有效資訊;如果使用高解析之攝影機,更多的演算法無法實現於

系統中。

本論文針對這類的應用提出一個較為平衡的概念,使用部分的硬

體影像演算法作為影像「前處理」

「後處理」等等的運算,這些「前

處理」

「後處理」在影像處理的概念中有許多相同的部分,這些項目

由硬體快速的完成處理,並不用耗損過多的微處理器的負載,當微處

理器的負載越低,所能加入的應用就可以越高,並且透過適當的修改

完成 Real-Time 的需求。

在韌體框架中,修改原廠提供的韌體建立出符合影像處理角度的

應用框架,使用簡單的指令就可以完成轉編譯的動作,並且新增了些

易於開發者使用的子程式,以利便於後續開發的應用,使得開發的速

(4)

可以使開發者專注於影像演算法的構思,避免周邊設施的複雜影響了

開發效率,也同時使系統共同運算邁進了一步,未來更可以使用於許

多與影像處理有關的設備。

(5)

An Intelligent Surveillance System Based on

Advanced Digital Development Platform

Student:K

ai-Cheng Liu

Advisors : Prof. Chin-Teng Lin

Prof. Kuu-Young Young

Institute of Electrical and Control Engineering

National Chiao Tung University

ABSTRACT

In the current

video-related

applications

,

such

as

building

surveillance systems,

automotive electronics, corner monitors, hazardous area.

Most

system still require human monitoring as basis, if the machine has

vision functions, there are still many image algorithms can not

achieve Real-Time.

Because most of

monitor pixels are still D1 or

VGA quality, it’s unable to obtain useful information effectively. and

if high resolution of the camera is used, more algorithms can not be

achieved in the system.

This thesis proposed a

more balanced concept for these kind of

applications, used parts of the hardware algorithm to calculate

"pre-treatment," and "post processing" of images. There are many

same concept in "pre-treatment," and "post processing" of the image

processing, these projects complete by fast hardware processing

which doesn’t waste too much loading of microprocessor. When the

loading of microprocessor is lower, the joined the application could

be higher, and reach Real-Time through appropriate modifications.

(6)

alarm conditions, etc., All could do more in-depth discussion, this

thesis only hypothesize a goal of applications, other developers

do

more in-depth study of algorithms by themselves.

These applications could

common

compute the hardware and

software of the system which enhance the efficiency of image algorisms,

and make designer more

concentrate on the idea of image algorithms,

avoid the complex surrounding facilities environment effect

developing efficiency.

These applications make co-operation system

has a step forward, and it can apply to equipments which related

image processing in future.

(7)

致 謝

在這段研究所的生涯中,首先要感謝的是我的指導教授 林進燈博士及共同 指導教授 楊谷洋博士,在兩位教授豐富的學識當中,讓我學習到許多寶貴的知 識以及待人之道理、態度等等方面的成長,並且在研究學習的過程中教授們對於 學問深入的看法剖析、清晰的思路等等過人之處,都是本人該學習的目標,並且 以和藹的態度對任何的人事物,都是該學習的。 在實驗的階段中,特別感謝的是直屬的指導學長 沈子貴博士,在學長細膩 思考過程中,感覺不到太多的上下屬關係,反倒是朋友的關係還多一些,在學長 實作上及學理上也挖到了許多寶物,使我的研究更上層樓;同時要感謝 UVLAB 的各個學長 蒲鶴章博士、范剛維博士、楊建霆博士、Linda 博士、肇廷學長、 東霖學長、勝智學長、Mukesh 學長、陳忠和博士等人,不僅在研究上提供了許 多寶貴意見,也在生活態度上得到很大的想法。除了這些實驗室學長們的照顧, 也謝謝各個同學弼文、奎理、郁光、慶峰、庭立、奕竹等人的互相支持、討論, 互相分享一些不同的經驗,使我更加成長。也謝謝實驗室的學弟妹們,在完成論 文時給予許多幫助。 特別要感謝我的家人、朋友,在這兩年內給予我許許多多的鼓勵與支持,使 我不致荒廢課業,並且在憂愁的時候可以訴苦,並且讓我有更多更大的信心完成 國立研究所的學歷。 最後,把我最大的祝福獻給曾經幫助過我的家人、朋友、同學、師長們,祝 福幫助過我的人們能夠更上層樓。

(8)

目錄

中文摘要... i ABSTRACT ... iii 致 謝... v 目錄... vi 表目錄... viii 圖目錄... ix 第一章 緒論... 1 1.1 研究背景與動機 ... 1 1.2 研究相關架構... 2 1.3 主要貢獻... 2 1.4 論文主要架構... 3 第二章 相關工作說明 ... 4 2.1 ADSP-BF561 處理器... 4 2.2 DaVinci相關晶片... 5 第三章 嵌入式影像系統之硬體實作 ... 8 3.1 簡介... 8 3.2 參考設計與修改... 9 3.3 電路系統電源端... 10

3.4 外部儲存連接介面(External Memory Interface,EMIF)... 11

3.4.1 電路系統-RAM... 12 3.4.2 Flash... 13 3.5 系統輸入/輸出... 13 3.5.1 數位影像輸入... 14 3.5.2 類比影像輸入... 14 3.5.3 類比影像輸出... 16 3.5.4 UART... 16 3.6 電路圖設計完成後續步驟... 18 3.6.1 電子元件的選取... 18 3.6.2 電路邏輯設計之製作... 19 第四章 嵌入式影像系統之應用軟體實作 ... 21 4.1 韌體架構... 21

(9)

4.1.1 韌體架構簡介... 21 4.1.2 Boot-Loader... 22 4.2 系統中使用硬體演算法... 24 4.2.1 影像串流... 24 4.2.2 資料訊號流程... 25 4.3 系統之應用... 26 4.3.1 概念簡介... 26 4.3.2 便利編譯與執行... 27 4.3.3 取得前景... 29 4.3.4 電子牆... 32 第五章 實驗結果... 34 5.1 硬體系統規格比較... 34 5.2 軟體成果... 36 第六章 結論與未來展望 ... 42 6.1 結論... 42 6.2 未來展望... 43 參考文獻... 44

(10)

表目錄

表 1 純軟體系統、純硬體系統與系統整合運算之優缺點比較... 1 表 2 BF561 與 DM368 之影像周邊相關比較... 4 表 3 DM3730 及 AM3894 與 DM368 的規格比較表格... 5 表 4 TMS320C6A8168 及 OMAP3530 的規格比較表格... 6 表 5 TMS320DM6437 及 DM368 的規格比較表格 ... 7 表 6 TMDXEVM368、EUCDK 及本文系統的相異處之比較 ... 34

(11)

圖目錄

圖 3- 1 系統硬體設計之流程圖 ... 8 圖 3- 2 EUCDK之外觀圖 ... 9 圖 3- 3 系統整合後的架構圖 ... 10 圖 3- 4 外部變壓器接頭端至後續供電的電路圖 ... 10 圖 3- 5 電源轉換晶片輸出端加上了鐵粉芯 ... 11 圖 3- 6 儲存電能的電容 ... 11 圖 3- 7 參考記憶體與DM368 之晶片所提供的連結方式... 12 圖 3- 8 參考記憶體與DM368 所提供的連結方式... 13 圖 3- 9 數位影像的輸入端子... 14 圖 3- 10 處理類比轉數位影像的晶片[12] ... 15 圖 3- 11 控制切換之晶片... 15 圖 3- 12 DM368 Composite Video作為類比影像輸出端子的連接方法之一 ... 16 圖 3- 13 RS232 外部連結裝置... 17 圖 3- 14 DIP包裝(1pcs) 及 SOP包裝(10pcs) 之比較圖 ... 18 圖 3- 15 正面及反面最後成品的樣式圖 ... 19 圖 3- 17 上件完成正面及反面 ... 20 圖 3- 16 洗板後的裸板正面及反面 ... 20 圖 4- 1 修改之 Driver,以及其功能架構圖... 21 圖 4- 2 載入 U-boot 的流程 ... 22 圖 4- 3 DM368 燒入 Boot-Loader 過程畫面... 23 圖 4- 4 掛載 OS 系統之軟體層架構 ... 23 圖 4- 5 執行了「Hello World」程式 ... 23 圖 4- 6 影像處理之系統運作之方塊流程圖 ... 25 圖 4- 7 720P + QVGA 畫質影像資料流程訊號圖[15]... 26 圖 4- 8 「電子牆」之流程 ... 27 圖 4- 9 Makefile 的概念圖... 27 圖 4- 10 Rules.make 的設定樣式[13]... 28 圖 4- 11 連結各個資料夾的 Makefile 格式[13] ... 28

(12)

圖 5- 1 為 TI 及 Leopard 所推出之系統 ... 35 圖 5- 2 此論文提出之連接範例之硬體系統 ... 35 圖 5- 3 程式的包裝方式 ... 37 圖 5- 4 為 DM368 之人臉辨識結果... 37 圖 5- 5 韌體之各個程式結果 ... 38 圖 5- 6 使用 GMM 建立背景後的圖 ... 38 圖 5- 7 驗證電子牆之可行性的實驗結果 ... 39 圖 5- 8 使用 GMM 建立背景後的圖 ... 39 圖 5- 9 電子牆之應用結果... 41

(13)

第一章 緒論

1.1 研究背景與動機

人類的眼睛很敏銳,對於居家安全、大樓住戶安全等等的安全性監控於人眼 的觀察下是很容易的,但是對於機器視覺來說則有一定的難度,由於近年的保全 系統皆為少數人監控許多不同的監測環境,青壯年人數無法完全兼顧老年及幼童, 勢必有部份要由「機器智慧」來幫助監控生活週遭的人群監控,這時候機器視覺 相關技術就顯得重要,不僅可以節省人力,未來更可以發展於機器人的相關應用, 幫助人類做許多繁雜、危險、無趣等等的行為。 對於影像處理來說,例如大樓出入口、交通路況偵測、車用電子等等的用途, 對人力資源有一定的節省功用,也可避免人力的疲憊等等行為而錯過了重要的判 斷。藉由影像監控系統,可以大幅的降低人類做些簡單而無趣又或者是危險性高 的工作。 目前影像處理大略分為三種類型:純軟體運算、純硬體運算以及系統整合運

算(Hardware and Software Co-design)。對於發展機器視覺演算法來說,純軟

體是最有利的,通常在個人電腦端運作,因其調整空間較大,且設計時間相較為 短暫,但其缺點為整合不易、同演算法下處理時間較長等等;純硬體實現演算法 則可以達到最好的演算法執行速度,但其缺點為成本高、相對發展時間長;系統 整合運算則是各取其優點的方法,一些較為常用的影像演算法使用硬體實現,又 可以依照設計者想要的方式去實現後續處理,保留了純軟體的彈性空間,同時又 可以加快一些前、後段影像處理的時間。對於開發機器視覺、車用影像、遊戲娛 樂等等的實際應用有許多幫助。 表 1 純軟體系統、純硬體系統與系統整合運算之優缺點比較 優點 缺點 純軟體系統 自由度高 個人電腦介面居多 運算速度較硬體慢

(14)

德州儀器於 2010 年 4 月推出了TMS320DM368[1] SOC 多媒體處理器,許多影 像「前處理」部分如同前段所說的,已經用硬體去實現了,也同時符合前段系統 整合運算所述,以及下段提到的一些硬體功能,對於數位影像發展有著重要的意 義。在此提出一套利用 DM368 SOC 晶片為主要運算器組成的系統,可以為智慧型 機器視覺提出一套使用方案,以及配合上 DM368 之影像運算子系統、韌體層最後 組合成為此篇提出的應用-「電子牆」。

1.2 研究相關架構

本論文的影像處理平台設計及應用,整體而言大致上分為三大項,分別是硬 體架構、韌體層及應用軟體層,在此論文提出的組合應用中,皆是以各個軟、硬 體的流程及圖例提出。 在硬體架構中,提出一套周邊電路組合應用,把推出不久的 DM368 晶片,整 合影像處理相關的晶片,使其可以移植後續的軟、韌體以利發展出一套可隨發展 者需求之系統整合平台。 在韌體層當中,依據所需要的硬體演算法對應之記憶體位置,抓取後續要繼 續處理的影像資料,並且把各層級的影像資料做適當的排序、運算以及處理,其 中開發此系統部分的演算法也在此層實現。 應用軟體層為了驗證上述系統是否可行,並且組合各個影像處理子系統的功 能,配合上現今影像處理常用的演算法,進而發展出來一套「電子牆」的應用軟 體。根據環境的不同,此層的彈性也是最大,例如:開發演算法、調整參數、偵 錯、驗證、測試等等的需求皆於此層實現,最後把處理過後的資料,放到硬體層 負責撥放畫面的記憶體中,就完成了一張畫面的周期。

1.3 主要貢獻

此系統提供了 DM368 SOC 晶片的影像處理硬體周邊所需架構,與原始系統比 較,組合了 RAM、FLASH、UART 等等介面應用,並且修改成為影像處理系統獨一 無二的硬體組織;軟體部分結合韌體的組合方法,並且修改韌體成為讓開發者更 容易上手之子程式呼叫介面,配合上硬體影像子系統,再根據軟體部分的演算法, 組合出「電子牆」。因 DM368 於 2010 年 4 月底推出,還有許許多多的應用組合並 未開發,在此 DM368 為微處理器的系統,還有許多尚未開發之部分,僅列出「電 子牆」及「人臉偵測」所使用之部分影像子系統,雖不至理想,但對於機器視覺 來說,已經往系統整合運算的階段又多邁向一步了,並且對於未來使用 DM368 做 1080p 的智慧監控系統,透過網路傳輸 H.264 視訊壓縮必有實質上的幫助。

(15)

1.4 論文主要架構

此論文之實做為 DM368 相關的各個晶片使其發揮功用,並且透過韌體層面連 結作業系統以及硬體,大致上分為兩個部分:硬體架構以及軟體架構,其中硬體 架構以結合各個晶片相互的聯結為主要描述,著重於各個流程的延續以及整個系 統大局的樣式;軟體架構分為兩種,韌體與應用軟體,這兩種軟體層在此篇論文 中所撰寫的方式也是以整體系統架構流程,許多參考文獻演算法並未詳盡描述, 僅描述修改後的呈現方式。 此論文中在各個章節,皆以大方向的流程圖表式之,大致上以圖文方式呈現。 最後比較此篇論文提出的系統方案與市面上以 DM368 為處理器之系統差異,以及 系統整合運算之成果展現。

(16)

第二章 相關工作說明

在此章當中,分別介紹一些相關的嵌入式影像處理平台,包含了兩大廠商的 ARM 系列及 DSP 系列的處理器,對於上列兩大類系統與此篇論文提出之系統架構 分別做比較。目前多媒體處理器之系統有許多廠商推出,其中取較為知名之兩間 公司作為相關搜尋,一為 ADI 公司之另一則為 TI 公司。

2.1 ADSP-BF561 處理器

此處理器為 ADI 公司推出的 Blackfin 系列之運算處理器 ADSP-BF561[2], Blackfin 系列之運算處理器大致上有一個高性能的 16/32 bits 嵌入式處理器內 核與一個 10 級 RISC MCU/DSP Pipeline。微處理器運算速度相較 DM368 下快了 許多,但有許多子項目是 BF561 無法比擬的,與影像相關之功能比較如下表

表 2 BF561 與 DM368 之影像周邊相關比較

BF561[2] DM368[1]

MCU DSP 600MHz Dual Core

(Blackfin) ARM 432MHz (DaVinci)

Instruction SRAM 16Kb 16Kb

Data SRAM 32Kb 8Kb

Codec. Engines None Supports a Range of

Encode, Decode,

DMA Dual 12 channel 64 Channels

Peripherals UART with IrDA

12 GPIO 32-bit timers

EMAC,2 UARTs, 4 GPIO 64-Bit timers

Video ALU Four 8-bit 2 Co-processors 8/16

bit Video Processing

Subsystem None Yes

在第一章時提到希望以軟硬體系統共同運算,BF561雖有雙核心,但缺乏了 影像處理之子系統,取而代之的是包含像處理子系統的TI的DaVinci系列SOC多媒 體晶片。 從晶片資料中做基本的比較後,雖BF561運算速度快,快取記憶體較多,同 時也是多核心,但少了網路介面與影像Codec. Engine,需要傳輸影像時或是需 要遠端控制時還需要額外裝置來輔助;尤其像H.264及MPEG-4影像壓縮格式來說,

(17)

近年來有越來越流行的趨勢,可為串流影像節省下不少運算量;就影像處理方面 來看,雖BF561核心運算速度較為快速,但以影像處理來說DM368有個決定性的優 點,也就是包含有DaVinci之「影像處理子系統」。

2.2 DaVinci 相關晶片

在上節提到,決定TI公司的DaVinci相關晶片為微處理器的關鍵為,DaVinci 相關晶片有各種不盡相同的「影像處理子系統」,有DSP系列、ARM系列、C64+ 系列、雙核心系列等等許多不盡相同類型及不同組合型態的微處理器,DaVinci 系列的SOC晶片就分類為許多種類型,在此列出TI與影像處理相關系列之幾項SOC 晶片,以區別選擇他類以及DM368之間的差異。 表 3 DM3730 及 AM3894 與 DM368 的規格比較表格 DM3730[3] AM3894[4] DM368[1] CPU Processor ARM Cortex-A8 1000MHz C64+ 800MHz ARM Cortex-A8 1500MHz ARM 9 432MHz RAM LPDDR DDR2、DDR3 DDR2 On Chip Memory (KB) None 576 32 Video Capability Encode Decode Image Enhance None Encode Decode Image Enhance Video Codecs H.264 JPEG MPEG4-SP None H.264-BP JPEG MPEG4-SP Resolution 720p 1080p 1080p

(18)

從上表得知,DM3730及AM3894的運算速度雖然較為快速,但是分別缺少了 DM368所擁有的Video Codec及1080p的影像解析度,在目前的影像處理使用中, 前兩項微處理其實已經擁有足夠了運算能力,但未來影像發展的Full HD畫質及 傳輸優勢便缺乏了,故在此表當中選擇DM368。 接著比較的系列為嵌入式產品中較常見的A8系列及近年較為廣泛流行的 OMAP系列 表 4 TMS320C6A8168 及 OMAP3530 的規格比較表格 TMS320C6A8168[5] OMAP3530[6] DM368[1] CPU Processor ARM Cortex-A8 1500MHz C67+ 1500MHz ARM Cortex-A8 600MHz C64+ 800MHz ARM 9 432MHz RAM DDR2、DDR3 LPDDR DDR2 On Chip Memory (KB) 576 496 32 Video Capability None Encode Decode Image Enhance Encode Decode Image Enhance Video Codecs None H.264-BP JPEG MPEG4-SP H.264-BP JPEG MPEG4-SP Resolution No D1 1080p 先看到的是A8168規格與DM368差異甚大,是TI公司推出很強悍的數位訊號處 理器,運算處理速度遠大於DM368,但有關影像處理的部分皆不支援;OMAP3530 核心運算速度、快取記憶體皆比DM368高上許多,且也有同DM368的Video Codec 能力,但是所支援的解析度僅D1,是最後不考慮此型號的原因。

(19)

表 5 TMS320DM6437 及 DM368 的規格比較表格 DM6437[7] DM368[1] CPU Processor C64+ 700MHz ARM 9 432MHz RAM DDR2 DDR2 On Chip Memory (KB) 240 32 Video Capability Encode Decode Image Enhance Encode Decode Image Enhance Video Codecs H.264-BP JPEG MPEG4-SP H.264-BP JPEG MPEG4-SP Resolution D1 1080p 最後比較的系列為支援「影像處理子系統」比較不同的部分,也就是以C64+ 為主要運算的SOC多媒體晶片,此款支援TI所免費提供之Vision-Library, Vision-Library為TI所做之影像演算法,並不能修改其內容之Library,且因許 多細部參數無法調整,TI官方網站上皆有介紹及簡介影片在此不詳細介紹。雖然 DM6437畫面解析度僅有D1畫質,其Vision-Library是非常吸引影像處理相關的人 群,但其「影像處理子系統」並不包含硬體演算法,所有的應用程式皆會耗損微 處理器資源,並不符合「系統共同運算」之發展精神,及經過實際測試後,雖然 Vision-Library是經過優化,但仍然無法有效往後續發展。 在以上是規格上的比較, DM368為最後的微處理器晶片選擇,主要原因有幾 項:規格領先、含有影像處理子系統、符合軟硬體共用之發展、價格與規格合理 等等的因素,因此從影像處理的角度,茫茫的微處理器晶片選擇當中,選擇TI 公司的TMS320DM368。

(20)

第三章 嵌入式影像系統之硬體實作

3.1 簡介

為了可以在 U2 規格的硬體電路上實現「系統整合運算」之影像處理平台系統, 首先考慮到的是取得相關的運算晶片效能,內建的周邊越完整,那麼所需的空間 就越少。 在 2010 年 4 月,德州儀器(TI)推出全新 TMS320DM368 多媒體處理器,DM368 編碼支援 1080p 高畫質,並且具有 H.264 編碼功能。DM368 是目前高畫質視訊 攝影機、數位攝影機 (DVR)、視訊系統等等許多多媒體應用的理想微處理器選擇 其中之一。TMS320DM368 DaVinci 視訊處理器的功能與優勢: • ARM926EJ-S™ 核心可實現超過 40% 的效能提升,頻率提高達 432 MHz, 同時還可將視訊編碼/解碼功能交由整合的高畫質視訊加速器完成,進而 將系統效能最佳化 • 整合周邊 EMAC、USB 2.0 Phy、16bits DDR2、16 KHz 語音編解碼器、即 時時脈(RTC)可將電路板面積降 20% 以上 • 可直接使用免專利費視訊編解碼器(H.264、MPEG-2、MPEG-4 JPEG 及 VC1/WMV9)的多格式多速率多串流高畫質影像,不僅可降低設計複雜性, 並可加速系統的設計流程 由於 DM368 有了以上其優點,決定了使用此晶片做為多媒體影像處理平台, 以 DM368 為核心處理器系統整合運算。對於選定微處理器後的硬體設計,約略可 以分為四大步驟,並且以下圖來表示 圖 3- 1 系統硬體設計之流程圖

(21)

3.2 參考設計與修改

此系統利用TI之協同廠商Leopard推出EUCDK[8]處理平台做為參考電路, EUCDK為多媒體處理平台,包含了聲音及影像處理功用,但此平台的設計為兩片 電路板透過外部裝置連接,且因並無類比影像輸入之功能,於使用上造成開發者 的不便,便從此角度整合修改EUCDK的平台,下圖為EUCDK多媒體平台的外觀圖, 在實做中,要把上述兩個電路系統取出與影像相關的裝置,並且增加或修改 後整合成一個系統,需從各個區塊的電路圖著手修改。於開機時啟動的Boot- Loader,也就是儲存於Flash記憶體裡的外部儲存裝置(EMIF),安插了一般電子 材料行容易取得的記憶體。在此系統能接受數位及類比影像,DM368本身即可以 接受數位影像,因此直接配合上Micron公司LI-5M04CM[9]的CMOS型的攝像機。為 了能夠處理類比影像,因此也加上了數位轉類比(ADC)之晶片,接著再轉入DM368 之數位接受端,並且透過選取的方式,選取希望的輸入影像。UART傳輸接口配合 上RS232 驅動晶片,由此介面可與PC做為溝通橋梁。網路(Ethernet)功能於現今 圖3- 2 EUCDK之外觀圖

(22)

3.3 電路系統電源端

不論是怎麼樣的電路,皆需要電源供應,查看了以上的晶片、記憶體、周邊 等等的晶片資訊後,使用了三種伏特之電壓,分別是3.3V、1.8V、1.35V的電源, 以及初步的估算各項晶片電流使用(Power tree)後,電源接頭端設計5V之電壓即 可,確定了電源端及各個元件所需的電力後,便可起始整個系統的設計。首先是 外部變壓器進到系統端的電,設計為值5V,但不能保證變壓器的供電品質是否穩 當,於是在電源接頭後端接上了大電感及大電容進行首次的穩壓,以確保提供電 源轉換晶片的品質。下圖為外部變壓器接頭端至後續供電的電路圖 J7為變壓器電源輸入接頭,L13及C152為確保提供電源轉換晶片的品質,D4、 D5及R132為防止變壓器電源反接的機制 從5V送出的電壓分別接到3.3V、1.8V、1.35V的電源轉換晶片輸入端,電源 轉換晶片的選用,於設計時估算後,因電流量不大,且因與變壓器輸入電壓差不 大,因此使用線性轉換晶片即可,並且於電源轉換晶片的輸入、輸出部分,皆放 圖3- 3 系統整合後的架構圖 圖 3- 4 外部變壓器接頭端至後續供電的電路圖

(23)

入了小電容當作濾漣波之用,因電源轉換晶片輸出端是直接供給電路電源使用, 所以同時在電源轉換晶片輸出端加上了鐵粉芯防止電壓突變之功用,如下圖所示 U24為5V進入的Vin處,CIN2、COUT2分別為輸入輸出時的濾波小電容,L16 為鐵粉芯穩壓之功用,CPU_VCC_1V8為供給後端電路1.8V之處 在以下提到的晶片接入電源端部分,皆安置了如類似以下的電路,以確保電 壓不會因電流瞬間變化太大而不穩定影響太過劇烈,好比起動冷氣機啟動瞬間, 燈管會閃爍,因此這部分的儲存電能的電容是必備的 C1、C2、C3、C4為避免電流變化太大之電能儲存電容

3.4 外部儲存連接介面(External Memory Interface,EMIF)

圖 3- 5 電源轉換晶片輸出端加上了鐵粉芯

(24)

3.4.1

電路系統-RAM

DM368 所支援的記憶體為 DDR2 SDRAM (16-bit bus width) ,DDR2 有個同 步機制,在輸入前等待一個 Clock,這樣就能和系統匯流排同步;DDR2 預讀取為 4 bits,大多是 4 到 6 個匯流排周期的等待;而 DDR 預讀取是 2 bits,大多是 2 至 3 個匯流排周期的等待。意思就是,在同樣的 200MHz 環境頻率下,DDR 的實 際運作是 400MHz,而 DDR2 為 400MHz。另外,在 DDR2 標準規定當中,記憶體皆 使用 FBGA 的封裝,異於廣泛應用的 TSOP 類型的封裝,FBGA 的封裝型式可以提 供較 TSOP 封裝較好的電氣特性及散熱,此特點也為 DDR2 特色之一。 所選擇的 MT47H64M16HR-25:H[10],128 MB(8Mx16x8 banks) DDR2 RAM,選 擇此款記憶體原因如下,面積僅 8mm x 12.5mm、Timing cycle 為 2.5ns @ CL=6(DDR2-800)為 DDR2 SDRAM 當中運作頻率速度領先的幾款之一。下圖為參考 記憶體與 DM368 之晶片資訊後,所提供的連結方式之一 圖 3- 7 參考記憶體與 DM368 之晶片所提供的連結方式

(25)

3.4.2

Flash

NOR 和 NAND 是目前兩種主要的儲存技術方式。Intel 起先開發出 NOR Flash 技術,更變了 EPROM 和 EEPROM 獨佔的情形。接著不久,東芝開發出 NAND Flash 的結構,強調減少了每儲存 1 bit 的成本,並且可以透過外部連接介面增加或替 換儲存設備。

因大多數情況下 Flash 只是用來存儲少量的檔案,這時 NOR 比 NAND 適合。 NAND 是儲存大量數據資料的解決方式其中之一;NOR 的特點是可在晶片內執行 (XIP, eXecute In Place),程式可以直接在 Flash 裡運行,不必再把所需要的 資料讀取到 RAM 中,且 NOR 在儲存空間不需要太大時有很高的成本效益,但很慢 的寫入和清除速度大大影響了它的性能。考量到此系統當中所使用的儲存裝置只 需要儲存 kernel 及 Filesystem、Boot-Loader 及其相關設定檔案,皆是不需要 常常更新的檔案,所以此系統使用的是 NOR Flash。

考量到需要 NOR Flash 存放 U-Boot 以及環境變數的儲存,所選的是

S29GL128P[11]當作 Flash 記憶體,此元件的存取速度並不用要求太快,因為只 負責儲存更新速度不是太快的資料,Kernel & Filesystem 就是一個典型的範例。 在此設計介面底下,可以用來進行存放及掛載 Kernel 及 Filesystem 的動作。下 圖為參考記憶體與 DM368 之晶片資料後的連結方式之一

(26)

在此系統當中類比及數位影像兩者皆可當作輸入;DM368 的影像輸出格式是兩種 皆備,故使用 USB 連結當作數位輸出,

3.5.1

數位影像輸入

此系統中,考慮的是 HD 高清攝影機,為 DM368 原有之功能模組,也考量到 HD 攝影機的模組光學研究並不是主要的研究部分,加上模組已有小體積的出現, 且取得方式並不困難,故數位影像直接使用現成的模組,型號為 LI-5M04CM,模 組輸出的格式為 YCbCr -16bits,把 DM368 YCbCr 同是 16bits 的 4:2:2 介面互 相對應,連結到外部的模組接頭上,利用此接頭與攝影機模組接合,即完成數位 影像的輸入端子部分。下圖當中為此設計的外部接頭示意圖 上圖之 CMOS_D0~CMOS_D7 分別為 DM368 的 CIN0~CIN7,CMOS_D8~CMOS_D11 及 CCD-DATA0~CCD-DATA3 分別為 DM368 的 YIN0~YIN7

3.5.2

類比影像輸入

由前項提及的DM368輸入影像格式雖然支援數位影像格式,但因考慮到如果 直接使用此項,在韌體控制層會複雜許多,因此使用額外的ADC晶片做轉換處理 的動作,從DM368所支援的輸入影像格式其中一項為8-bit YCbCr數位影像輸入格 式去尋找適合的ADC晶片,交叉比對後發現是互相吻合的,故選擇了ADV7180[12] 圖 3- 9 數位影像的輸入端子

(27)

為處理類比轉數位影像的晶片,該晶片的功能流程如下 因ADV7180的LLC時脈,必須與DM368的時脈為一致,所以把兩者的時脈相連 接,並且接上一個控制SW的IC,從ADV7180輸出的P0~P7、HS、VS有關數位影像 的輸出皆以相同的方式接上控制SW的IC,最後才接到DM368的輸入數位影像端, 以下為此提到的連接方式之示意圖: 圖 3- 10 處理類比轉數位影像的晶片[12]

(28)

3.5.3

類比影像輸出

影像輸出部分,DM368支援兩種類比格式,一種為Composite Video輸出,另 外一種則為YCbCr色差端子輸出,D1畫質(720x480)以下可直接使用Composite Video作為類比影像輸出端子;若解析度需要為720i以上,才需要使用到YCbCr 色差端子作為類比影像的輸出部分。 此系統設計只支援D1畫質的輸出,因此介紹的方式為DM368使用Composite Video作為輸出。下圖為DM368 Composite Video作為類比影像輸出端子的示範接 法 特別一提的是,1.8V及1.2V的部分也加入了穩壓IC,VREF的部分也放入了 1.8V的參考電壓值,並且把影像的地線以及電源的地線作區別,並且用0ohm的電 阻作為阻隔,防止互相干擾彼此的電壓準位。使用0ohm電阻的理由是,無阻抗但 是擁有電阻的阻隔特性,0ohm相當於很窄的電流通路,能夠限制環路電流,得到 抑制。

3.5.4

UART

UART 是一種通用串列資料的匯流排,用於非同步通信。此匯流排雙向通信, 可以實現全雙工傳輸和接收。微處理器把準備輸出資料放到 UART 的暫存器中, 圖 3- 12 DM368 Composite Video 作為類比影像輸出端子的連接方法之一

(29)

再通過 FIFO,如果沒有 FIFO,資料就無法順利存取。在此設計中,UART 用來與 個人電腦通訊,用於控制個人電腦與系統的晶片,UART 處理從滑鼠及鍵盤發出 的訊號(滑鼠及鍵盤是串列設備),可以處理電腦與外部串列設備的同步管理問 題。DM368 也包含了 UART 功能,在此系統中,由於 DM368 輸出的電壓準位為正 負 3V,必須透過額外的驅動晶片把電壓準位拉拔至 RS232 介面所需要的電壓準 位,並把 RS232 送出的訊號轉換至 TTL 的電壓準位,接著把 DM368 的 TX、RX 端 透過驅動晶片連結到外部的接頭,並且在外部接頭的外殼部分安插上了穩定訊號 之的設計,如下圖表示 UART0 TXD 及 UART0 RXD 分別為 DM368 的 TX、RX 拉出至驅動晶片,並且由 驅動晶片端輸出準位處連接到外部接頭,並加上 R103、R104 的小電阻抗雜訊, C110 為外殼的穩定訊號之電容 圖 3- 13 RS232 外部連結裝置

(30)

3.6 電路圖設計完成後續步驟

3.6.1

電子元件的選取

電子元件的選取對於大部分使用者其實並不是太注重,因大多不在乎系統體 積大小,也不考慮電子元件特性,只考慮元件取得的方便性及元件銲接的方便性, 因此大多採取DIP封裝的方式。由於此系統在微處理器與記憶體部分只有BGA封裝 的型態,也因DIP被動元件體積龐大、接腳部分容易受外界環境影響、功耗高等 等的理由,因此晶片部分大多採用SOP封裝、被動元件部分的選取皆以SMD封裝作 為考量,以下為本系統平台的選取考量點。  面積小(15x15cm)  卸除可刪減元件  布局元件位置  某些位置須留下測試接點

考量面積必須小,元件功率相對低,因此Surface Mount Technology (SMT) 的相關元件,為大多數採用的元件類型,同一類型的晶片使用不同的外包裝,面 積甚至差異10倍,下圖為DIP包裝以及SOP包裝的實體圖 挑選元件需要靠的是經驗累積,一樣功能的晶片在不同廠商來說,接腳不一定相 同,考量到的不單單是晶片資訊上所顯示的特性曲線了,由於此系統使用的材料 僅十套,只能從零售商手中取得,所以來回奔波材料行的動作必不可少,只要確 定有該類封裝腳位後,來回檢查電路中使用該晶片的封裝腳位,記得要作封裝腳 位更改的動作,以利後續的製作。 圖3- 14 DIP包裝(1pcs) 及 SOP包裝(10pcs) 之比較圖

(31)

3.6.2

電路邏輯設計之製作

電路設計的部分完成後,為了確保腳位是否對應、是否重複、元件跨頁連接 時是否無誤、是否誤值數字等等一些人為因素,以利後續的電子化製作,比喻為 「Compile」的動作,確實的完成此項動作後才可以進行佈局、洗板、上件等等 的動作。 佈局首要步驟,參考各個元件晶片資訊,並把每個元件確切的尺寸使用 PowerPCB描繪出來,並且把元件擺放於希望的位置,所要注意的是,外部接頭與 相關晶片盡可能的擺放在一起,以降低布局走線時的彼此間訊號干擾,此階段描 繪出來的樣式,即是最後成品的樣式,此系統的「元件佈局」如下圖所示 圖3- 15 正面及反面最後成品的樣式圖

(32)

圖3- 16 洗板後的裸板正面及反面

(33)

第四章 嵌入式影像系統之應用軟體實作

在此章節當中,將介紹如何使韌體控制硬體,並且使用 DM368 之影像處理子 系統組合成易於軟體開發者之子程式,並且盡可能的符合 RTOS,並且列出使用 於嵌入式影像平台演算法,在最後利用上述之修改之韌體相互連結組合成應用程 式-「電子牆」。

4.1 韌體架構

此節介紹系統中使用的周邊驅動韌體。硬體設施完成後,啟用硬體所支援的 架構,在 OS 系統中大多都會透過韌體層作為硬體層與應用軟體層中間的溝通媒 介,此系統也是使用相同的概念。

4.1.1

韌體架構簡介

韌體所使用的為Leopard Imaging Inc所使用的Embedded Camera Dev Kit (ECDK) [13]作為基底,藉由這些基底來發揮DM368晶片中的部分特性,實現影像 前處理的部分功能,以利達成RTOS的精神。 此系統中,修改ECDK成為一個利於使用者及應體層接合的應用程式,可以讓 使用者自行操作影像的訊號相關處理,以及實現DM368中的硬體演算法。整合的 系統中,允許使用者修改此韌體內的參數及確切想要的方式。 下圖為此系統修改後的韌體層之功能結構圖

(34)

應用範圍僅只於Algorithm Libaries層以及Wrapper Libaries層,接著下來 , 單利用韌體其實並不夠連結硬體,還有最底層喚醒硬體周邊,控制著是否要發送 訊號、開關控制等等的周邊控制—OS作業系統。

4.1.2

Boot-Loader

硬體開始運作後,微處理器並不知道要從何處開始運行OS,從Flash、UART、 SD卡等等裝置皆可以當作開機位置,進而發展一套想法,首先微處理器讀取的皆 是Boot-Loader,接者從Boot-Loader當中的設定環境執行OS、查看硬體裝置、管 理運行開機部分等等,這是一種典型的作法,彈性也很大,從Flash內載入OS到 從網路載入OS皆可完成,也就是說上電後最先讀取的是「主要載入程式」,在由 此項管理轉向各個OS的Booting位置又或者是直接轉項OS的開機位置,下圖為 Boot-Loader的常見之功能用解釋。 Flash內的資料並不會因為電力消失而遺失,因此是此系統Boot-Loader的存 放位置,燒入環境為TI的開發環境平台- CCStudio v3.3,值得一提的是,在此 是使用DM365[14]的工具燒入DM368,原因在於目前DM365與DM368分別是前後代的 產品,DM368僅有部分功能加強(如1080p H.264影像編碼),故Boot-Loader之程 式及其工具使用DM365即可。 圖 4- 2 載入 U-boot 的流程

(35)

當 Boot-Loader 燒入成功後,啟動的部分便是 OS 了,在 OS 下控制的就是硬 體的許多控制,藉由這些控制階段,便可以達到開發者所希望的動作。 開機後Boot-Loader把Booting位置指向Kernel,接著 Kernel啟動周邊設備並 且連結上Filesystem即完成Booting動作,後續的處理就屬於「應用軟體層面」, 下圖表示Booting後並且掛載上Filesystem後,並且執行程式的畫面

Software System

Boot-Loader

Kernel

&

Filesystem

Processing

圖4- 3 DM368燒入Boot-Loader過程畫面 圖 4- 4 掛載 OS 系統之軟體層架構

(36)

4.2 系統中使用硬體演算法

要使用一支堪用的影像處理應用程式,在背後有許許多多默默在運作的部分, 故在組合成可用的應用層面之前,在此節當中介紹韌體層的框架,以及如何使用 DM368硬體演算法如何應用於後端軟體應用層。

4.2.1

影像串流

在此節中,在系統中的區塊圖、子程式及記憶體緩衝等等的運作皆以圖文的 方式介紹各流程。 從影像擷取設備當中取出未壓縮的影像資料,在此 Task 中的影像到編碼

Task 輸入端所有的資料,都統稱叫做「Capture Stream」,也就是影像捕捉串流,

處理尚未壓縮過的影像資料;在編碼 Task 中的資料到串流 Task 端所有的資料,

這段流程內的影像訊號都統稱叫做「Encode Stream」,也就是經過各個影像格式

的編碼後,處理已經壓縮過的影像資料。

正常的狀況下,此套韌體最多可支援 4 組「Capture Stream」及「Encode

Stream」,也意味著,在微處理器運算能力負載內,並且透過適當的配置,相當

等於四台獨立的影像處理系統,也同時在「Capture Stream」及「Encode Stream」 的關係中,不必一對一的對應關係,不過在此系統只使用了一組「Capture Stream」 及「Encode Stream」的串流。

影像資訊從 IPIPE(Image PIPE) [15]進入系統後,隨著 Stream 至第一層, 做了 VS(Video Stabilization) [15]、H3A(Auto White Balance、Auto Exposure、 Auto Focus) [15]及 LDC(Lens Distortion Correction) [15] 這些使影像穩定 的前處理之 Task 後,進入下一層實行 OSD(On Screen Display)功能,作為標記、 顯示各種資料之用,接著最後使用所需要的影像編碼格式,作為傳輸或是儲存資 料之壓縮處理。下圖為所述之流程使用圖表示之

(37)

4.2.2

資料訊號流程

上節中介紹的是整個運作架構的方塊流程,在嵌入式系統中也占有一席之地 的記憶體資料管理流程部分在此節當中說明之,並且以 720P + QVGA 畫質影像作 為範例說明。

在流程當中攝影機透過 ISIF 介面傳送資料至 IPIPE 並且作 Resize 的動作, 並且在 Resize 後轉存為 YUV420 格式存放於 RAM 中,在此項動作後的影像格式才 是此實作中的 YUV420 影像格式;再轉換為 YUV420 影像格式後,進入至上節所提 及之 Capture Task 或 VS Task 當中,並且啟用 H3A 運算;在此階段完成後,接 著進入至 LDC Task 中,以 4.2.1 當中的圖為例,將會把資料傳至記憶體緩衝區, 在此記憶體緩衝區內的資料,其實就是最後播送的原始資訊,也同時在此階段中, 使用此記憶體緩衝區實現本論文所實現的一個應用程式,不過處理這些數位訊號 前,也可以啟用 DM368 所擁有的去除雜訊之硬體演算法。下圖為上述文字的流程

(38)

4.3 系統之應用

於此介紹如何將 DM368 以及韌體作結合,配合上軟體來完成「電子牆」應用, 電子牆的概念為減少人力疏忽之判斷而延伸出來的智慧型判斷系統,於攝影機上 取任一線段當作警戒牆,當物體通過此牆時會進行方向性偵測,也就是說可以當 作一個影像式的門禁系統。

4.3.1

概念簡介

於此節介紹如何 Corss-Compiler 成為 DM368 可執行的程式,由於 Linux 系 統並不是直覺式的圖形介面,並且為了編譯過程更加簡便,使用了自動連結各 個.c 及.h 檔的方式,使每次編譯過程類似在 Windows 下的平台般便利,使每個 撰寫應用程式的使用者能夠更快上手。 於前節中提及到訊號運作的方式,以及利用韌體啟用硬體運作處理影像,在 這節當中,將會運用所提及的硬體應用,再配合現今影像處理應用所用的一些演 算法,完成所需要的應用。在此介紹的應用為「電子牆」的應用,因 DM368 的運 算速度並不快,故在影像輸入的前端 Resize 至 160x128 pixel 的影像大小,在 此之後皆使用 Resize 後的影像作為運算依據,並以原始影像大小播放至顯示器。 下圖為「電子牆」的應用之流程圖。 圖 4- 7 720P + QVGA 畫質影像資料流程訊號圖[15]

(39)

4.3.2

便利編譯與執行

在撰寫程式後,需要轉譯成微處理器所支援的機器碼,每種微處理器所支援 的格式幾乎都不同,在轉譯的這個過程,稱作是 Corss-Compiler;首先「Hello World」這個程式只需要自己撰寫一個.c 檔即可編譯,但是對於此章當中所提及 的應用,並不是少數幾個.c 檔以及.h 檔即可完成的,在撰寫程式過程中,不可 能每次編譯時都輸入一大串的.c 及.h 檔,故有一個機制為:編譯時,執行此檔 案,由此檔案幫助使用者切換不同的資料夾,連結所有的.c 及.h 檔,此概念的 方式如下圖所示 圖 4- 8 「電子牆」之流程

(40)

透過此類型的 Corss-Compiler 方式,便可以化繁為簡的轉譯了;接著會碰 到需要執行 A 程式後 B 程式接著執行,並且 B 程式同時需要起始的可調整的參數 設定時,就需要 Shell-script 的機制,此機制也是把所需要的 Shell command 寫入於一個檔案裡,當執行該檔案時,會依照使用者所設定之順序執行,並且可 以使起始參數連帶啟用。下圖為 Shell-script 的範例

圖 4- 10 Rules.make 的設定樣式[13]

(41)

首先執行「loadmodules_ecdk.sh」的 driver 檔,後執行「av_server.out」 的應用程式,並加入起始參數

4.3.3

取得前景

在完成了韌體層的 Corss-Compiler 後,看到的是 VGA 及 160x128 pixel 之 影像,其中 160x128 pixel 之影像為經過 Resize 後的影像,如下圖所示為韌體 層的原始畫面

(42)

主要目的為找出前景並且標示出來,在此使用的為較為廣泛的建立背景之方 法,原因在於此應用程式常使於監視系統中,畫面中的任何物體變化並不劇烈, GMM (Gaussian Mixture Model) [16][17]為目前成熟的統計方法之一;所熟知 的是:不論是機器或是動物,在學習的過程都可以視為是「統計歸納」的方式, 在統計時必須要有先前條件,必須先得知物體為何種歸類,例如在天空中飛翔的 歸類為鳥類,所擁有的特徵為在天空中飛翔的生物;又有一天看到了飛機在天空 飛,這時被告知為飛機,所擁有的特徵為在天空中飛翔的物體;對於機器來說若 是沒告知此項物體為何物,恐怕是永遠無法得知的。也因此利用此種特性產生了 以 GMM 建立背景的法則,利用長時間出現的畫素,使機器判斷為背景進而可以裁 減出前景,再由這些前景使用影像處理上的一些方式,使機器認知為某項物體。 GMM 從中心極限定理可以看出 Gaussian 分佈(也叫做常態分佈),雖然可 以用其他的分佈來任意架構出某某 Mixture Model,但 Gaussian 分佈在計算時 也有很好的性質,故 GMM 近年最為流行。下圖為 GMM 的一個概念圖 上圖為 GMM 的估測模型圖,外圍的虛線輪廓線為創立出來的 GMM 模型 由於以 GMM 建立背景收斂時間可以使用參數調整,故在此並不討論,在此系 統中 GMM 使用的為計算 Variance 及 Mean 值堆疊出預測的模型,。下圖為以列為 單位的 GMM 背景圖 圖 4- 14 GMM 的示意圖

(43)

上圖左為尚未收斂完成的 GMM 背景圖,右圖為 GMM 收斂後的背景

在建立完背景後,利用當下的畫面減去背景後,所得到的就是前景,此時的 前景並不是穩定的狀況,且不利於人眼的觀測,所使用的影像處理技巧為二值化、 Connecting Component、Erosion 及 Dilation 此項動作會濾除些許雜訊,並且 使前景利於人眼觀測。下圖為使用上述方法後得到的前景

圖 4- 15 使用 GMM 概念建立背景

(44)

4.3.4

電子牆

在前節提到取出了前景之後,便加入了選定前景的動作[18-21],這些動作 皆參考影像處理較為常見的演算法,在確定了前景後,便可以進行物體的追蹤, 在機器視覺中,追蹤的方式也有幾種,在此是使用特徵點的追蹤,選用的特徵點 即為物體的中心,並不是太困難,但是由於前景通常由為明顯,故簡易的方式便 可以達成希望的效果,追蹤的方式為:每張有前景的畫面皆找出前景之特徵點, 如果此兩點小於一定的值,便認定前後兩章畫面的物體為同一項物品,如下圖所 示的表示,即為此系統的追蹤 在確認每個物件的歸屬後,接著為創造出具有「方向性」的電子牆,方向性 的意思便是通過警戒牆時可朝特定的方向前進,反之便發出警報,如下圖所示意 方向性的概念 圖 4- 17 此系統的追蹤機制 圖 4- 18 具有「方向性」的電子牆示意圖

(45)

在攝影機畫面畫上任一線段作為電子牆,由於電子牆為使用者所自行設定, 便可以得知電子牆之方程式,此系統中的電子牆為直線,故方程式為二元一次方 程式,令此方程式為 f(x,y)=Ax+By+C ,在此線段上的任意點帶入此方程式皆為 零;反之不在此線段上的點帶入此方程式必不等於零;也就是說可以利用此項特 性,當特徵點靠近警戒牆時啟動此機制:設定特定方向的牆,也就是說把特徵點 帶入方程式後,當 f(x,y)由「小於零轉換成大於零」時,便得知物體由警戒線 的「左邊跨越至右邊」。下圖為上述之方向性的具體表示法 上圖為電子牆之示意圖,由右至左是為法的;特徵點帶入後由「大於零轉換 成小於零」是不被允許的 在透過了影像 Resize、建立 GMM 背景抓取前景、過濾雜訊、追蹤前景、設 圖 4- 19 具有「方向性」的電子牆表現方式

(46)

第五章 實驗結果

在此章當中,硬體部分將此篇所提出以 DM368 為微處理器之系統相關規格做 比較;軟體部分顯示 DM368 之「影像處理子系統」內的人臉偵測,並且以同樣子 系統之 OSD 標示出目標物;應用軟體則使用第四章所提及的「電子牆」來驗證系 統以及概念可行性。

5.1 硬體系統規格比較

在此節當中,將 TI 公司所推出的 TMDXEVM368 平台[22]以及 Leopard 公司所 推出的 EUCDK-DM368 平台,與此篇論文提出的整合平台做各功能上的比較。 表 6 TMDXEVM368、EUCDK 及本文系統的相異處之比較

TMDXEVM368 EUCDK UVLAB

MCU TMS320DM368 TMS320DM368 TMS320DM368

Video Input Analogy、Digital CMOS sensor only Analogy、Digital

Video Output Analogy、Digital Analogy、Digital Analogy、Digital

Display Build-in External Display External Display

Audio

Processing Yes Yes NO

Size (cm) 20 x 20 15 x 5 12 x 7.5

Device

Combinations At least 3 items At least 2 items Single device

如上表所示,TMDXEVM368 功能最為齊全,但體積過大,並且需要額外裝置 作組合才能夠運作;EUCDK 部分也是需要把主要運算板以及通訊板做組合的動作 才能使系統運作,也並不支援類比影像的輸入。 對於此篇提出的 DM368 系統方案中,整合了影像處理裝置所需的硬體及其周 邊,使其只需一塊電路板便能完成系統運作,並且體積並沒有因此而變大許多。 下列三張圖為上述三種以 DM368 為微處理器的系統之外觀圖

(47)

上圖左為 TI 公司所推出的 TMDXEVM368 平台外觀圖,外接之影像感測器為直 立式,占據了許多體積;上圖右為 Leopard 公司所推出的 EUCDK 平台外觀圖,訊 號處理電路與通訊電路為組合式的,實際使用上易鬆脫造成使用上的不便,且並 沒有提供類比影像輸入的功能 下圖為此論文提出之硬體系統,並且各個部分的晶片及外部連接裝置之成品圖 圖 5- 1 為 TI 及 Leopard 所推出之系統

(48)

5.2 軟體成果

韌體部分也針對影像處理做了些許修改,使其更容易上手與改進。以下介紹 的部分為整合韌體的實驗結果部分。

 人臉偵測  影像縮小

 On Screen Display (OSD)  線  圖  字串 首先是人臉偵測的部分,在第四章流程圖中的 Face Detect[15]為應用在人 臉辨式之範例,於韌體層整合出使用者角度的子程式,必能加速應用層面的發展, 此節以人臉偵測為例,介紹如何整合成使用者角度之子程式。如 4-1 節所提到的 圖中,DVSDK 及 OS 層是尚未修改的原始部分,如想要驅動 DM368 人臉辨識之使 用,透過了 DVSDK 層作為畫面中扮演偵測人臉的角色,並且編寫為演算法的子程 式,在 4-1 節所提到的圖中,Algorithm Library 層的角色,就是方便於 DVSDK 層的使用,並且可以依據使用者修改較為少變動之參數。最後包裝成為使用者可 直接呼叫的子程式,在 4-1 節所提到的圖中是屬於 Wrapper Library,在此層中 的呼叫方式依照使用者常用之參數做為調整,如 int Kasen_FD (W, H, Input, face_start, face_end);只需給定系統畫面長、寬、畫面輸入等資料,便會起用 人臉偵測之功能,並於各個人臉之起始以及結束位置起用 OSD 畫線之功能。下圖 為此流程圖之圖示

(49)

上圖為為修改韌體後的包裝方式,由 DVSDK 原始資料庫建立演算法資料庫, 最後在包裝成為「Wrapper Library」這類型的子程式

(50)

示 在上列展示中顯示了此論文提出系統當中的人臉偵測及 OSD 畫直線之功能, 並且使用 USB 介面做為數位影像輸出之結果。以下展示的輸入、輸出皆為 VGA (640x480)畫質之結果,並且透過類比(Composite)的方式做為輸出結果。 「影像縮小」及「OSD 貼圖」於第四章 4.3.3 部分以及第四章後半部皆有部 分展示,如下圖所示即為整合了許多子韌體程式功能程式化之結果

上圖為「影像縮小」、「OSD 貼圖」 、「OSD 劃線」及「OSD 字串」之功能顯示

於同一個視窗內,左上角的黑底白字之字串即為「OSD 字串」;右下角黑色矩形 即為「OSD 貼圖」之結果,畫面中的斜線為「OSD 劃線」之結果 在完成了許多韌體層的子程式後,接著以下即是「電子牆」藉由此篇論文所 提出的系統所呈現的結果,首先是簡易的測試電子牆之功效,如下列圖所示 圖 5- 5 韌體之各個程式結果 圖 5- 6 使用 GMM 建立背景後的圖

(51)

當有前景進入時, 使用白色的線做為標示 當前景為不被允許 的方向通過電子牆時, 便使用黑色的框表示, 並持續追蹤 「電子牆」的可行性已被確認,持續追蹤物體的機制由以下的結果來驗證, 並且加入了遮蔽物做為展示 圖 5- 7 驗證電子牆之可行性的實驗結果

(52)

當有前景進入時, 使用白色的線做為標示, 此物體為遮蔽物 當第二個前景出現時, 也使用白色的框表示, 並持續追蹤 當有目標物侵入電子牆, 使用黑色的框表示 闖入電子牆的目標物, 使其持續追蹤, 並不影響正常的前景

(53)

即使闖入電子牆的目標物 又回復到被允許的位置, 依然持續追蹤 即使兩物體又分開, 依然分別持續追蹤 上圖列為多重物體的追蹤結果 上圖的例子中,驗證了持續追蹤的能力,雖場景不致太複雜,但同時證明此 概念的可行性,由額外的影片證明,是可達成Real-Time的目標的。同時藉由上 述的幾個例子,驗證了「電子牆」的可行性,並且做為追蹤達到良好的機器智慧 效果。 圖 5- 9 電子牆之應用結果

(54)

第六章 結論與未來展望

在此章中總結了此論文提出的方式組合出的系統,包含了硬體以及軟體部分 的結論,最後點出在這個系統架構下,並未提出看法及應用。

6.1 結論

在此節中分別以硬體及軟體部分做出總結歸納。硬體系統方面創造了屬於實 驗室的嵌入式影像處理平台、此平台可以使軟硬體共同運算影像處理之演算法、 此平台可以透過開發使用者自行加入所希望增加的影像之演算法,並且可以自由 的更改影像之輸入;軟體系統部分實現了易於上手的編譯環境、實現了硬體運算 之程式、實現了影像處理的平台框架、實現了監控系統當中的電子牆之功能以及 人臉偵測之系統。 此論文提出的系統中,無論是硬體或是軟體,皆是以應用面的方式做為考量, 部分影像演算法藉由 DM368 的影像子系統,並且以達成 Real-Time 為目標;在硬 體的組成中,挑選出所需要的應用,在連結了各個 EMIF 的處理、系統方面的通 訊處理等等,組合成具有優點、獨一無二的影像處理平台;軟體方面也修改了 ECDK 的韌體架構,使其成為影像演算法開發者易於上手的架構,並且把 DM368 硬體演算法整理成為函式化的結構。下列為條列式的列出此論文的結論  硬體系統  屬於實驗室的嵌入式影像處理平台  軟硬體共同運算之平台  可透過使用者自行加入所需的演算法  可自由的更換影像輸入  軟體系統  實現了易於上手的編譯環境  實現了硬體運算子程式  實現了影像處理的框架  實現了監控系統之電子牆  實現了人臉偵測系統

(55)

6.2 未來展望

在硬體的部分,由於只有提供系統所需電力,以及並未考慮到相關應用面, 在此列出未來可實現的目標  可放置 GPIO 接腳  可加上聲音或是生理訊號等等的處理  可由觸發電路觸動如喇叭、錄影器材等等的裝置 在軟體的部分,有許多的天馬行空應用程式皆可加入,提出一些看法及應用, 使未來能有努力的目標  圖形化介面  使用 H.264 壓縮影像  透過 Ethernet 傳送影像串流  於系統中架設 WEB 介面的使用者操控 以上不論硬體或軟體,為此篇論文提出的未來可行之目標,並且一步步的規 劃,相信未來的目標會逐漸的被實現,以機器為人類的生活帶來更多的娛樂、教 育、方便的事情。

(56)

參考文獻

[1] Texas Instruments, “Datasheet-TMS320DM368- Digital Media System-on-Chip (DMSoC)”, Texas Instruments, 2010

[2] Analog Devices, “Datasheet-ADSP-BF561-

Blackfin Embedded Symmetric Multiprocessor”, Analog Devices, 2009

[3] Texas Instruments, “Datasheet-DM3730- Digital Media Processors”, Texas Instruments, 2010

[4] Texas Instruments, “Datasheet -AM389x- Sitara

ARM Microprocessors (MPUs)”, Texas Instruments, 2010

[5] Texas Instruments, “Datasheet -TMS320C6A816x- Power Estimation Spreadsheet”, Texas Instruments, 2011

[6] Texas Instruments, “Datasheet -OMAP3530- Applications Processor”, Texas Instruments, 2009

[7] Texas Instruments, “Datasheet -TMS320DM6437- Digital Media Processor”, Texas Instruments, 2006

[8] Texas Instruments, Leopard, “Embedded USB Camera Development Kit- User's Guide”, Leopard, 2010

[9] Micron, Aptina, Leopard, “Datasheet -LI-5M04CM”, Leopard, 2009 [10] Micron, “Datasheet -MT47H64M16-DDR2 SDRAM”, Micron, 2004

[11] Spansion, “Datasheet -S29GL128P-MirrorBit® Flash Family”, Spansion, 2007 [12] Analog Devices, “Datasheet -ADV7180-10-Bit, 4× Oversampling SDTV Video

Decoder”, Analog Devices, 2006

[13] Texas Instruments, Leopard, “Embedded Camera Development Kit- User's Guide”, Leopard, 2010

(57)

[14] Texas Instruments, “Datasheet -TMS320DM365-8- Digital Media System-on-Chip (DMSoC)”, Texas Instruments, 2009

[15] Texas Instruments, “IPNC Reference Design on DM36x AV Server Design Guide”, Texas Instruments, 2010

[16] Stauffer, C.; Grimson, W.E.L., "Adaptive background mixture models for real-time tracking", IEEE Computer Society Conference on Computer Vision

and Pattern Recognition, 1999., vol.2, no., pp.-252 Vol. 2, 1999.

[17] Peng S.; Yanjiang W., “An improved adaptive background modeling algorithm based on Gaussian Mixture Model”, Signal Processing, 2008. ICSP 2008. 9th

International Conference, pp. 1436-1439, 26-29 Oct. 2008.

[18] G.Jacobs, A. Aeron-Thomas, and A. Astrop, “Estimating global road fatalities,”

Australian National University, Transport Research Laboratory, Technical Report TRL 445, 1999.

[19] Sheng-Che Hsu, Sheng-Fu Liang, Chin-Teng Lin, “A robust digital image stabilization technique based on inverse triangle method and background detection”, IEEE Trans. Consumer Electron., vol. 51, no. 2, pp.335-345, May, 2005

[20] F. Vella, and A. Castorina, “Digital image stabilization by adaptive block motion vectors filtering”, IEEE Trans. Consum. Electron., vol. 48, no.3, pp.796-801, Aug. 2002

數據

表 2 BF561 與 DM368 之影像周邊相關比較
表 5 TMS320DM6437 及 DM368 的規格比較表格  DM6437[7]  DM368[1]  CPU  Processor  C64+ 700MHz  ARM 9 432MHz  RAM  DDR2  DDR2  On Chip  Memory (KB)  240  32  Video  Capability  Encode Decode  Image Enhance  Encode Decode  Image Enhance  Video  Codecs  H.264-BP JPEG  M
圖 3- 5 電源轉換晶片輸出端加上了鐵粉芯
圖 3- 17 上件完成正面及反面
+5

參考文獻

相關文件

FPPA 是 Filed Programmable Processor Array 的縮寫,簡 單的說:它就是一個可以平行處理的多核心單晶片微控器。與一般 微控器如 8051、pic,…

2.核對該場地懸掛之評鑑合格崗位 數證明文件,如發現場地、崗位 數或崗位配置不符時,應立即反

„ 移動滑鼠游標到縮圖上, 移動滑鼠游標到縮圖上, ACDSee會自動顯示放大 ACDSee 會自動顯示放大 的縮圖

接收器: 目前敲擊回音法所採用的接收 器為一種寬頻的位移接收器 其與物體表

本系已於 2013 年購置精密之三維掃描影像儀器(RIEGL

„ „ 利用電腦來安排與整合多種媒體,可產生 利用電腦來 更多樣化的作品。如某一段背景配樂在影 片中的哪個時間點開始播放、新聞播報中 子母畫面的相對位置、文字字幕出現在畫

其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用

在與 WINS 有關的研究之中,除了研發感測器硬體這個領域之外,其它的領域均需要