以軟硬體協同設計之混合型即時影像多目標物體追蹤系統
85
0
0
全文
(2) 以軟硬體協同設計之混合型即時影像多目標物體追蹤系統. 學生: 朱永青. 指導教授: 許陳鑑 博士. 國立臺灣師範大學應用電子科技學系碩士班. 摘. 要. 本文提出了一種混合型即時影像多目標物體追蹤系統,結合粒子群聚最佳化 法(Particle Swarm Optimization, PSO)與粒子濾波器(Particle Filter, PF)兩種演算法 之優點,以提升多目標物體追蹤的性能。並且在可程式規劃系統晶片(System On a Programmable Chip, SOPC)之架構下,利用 FPGA(Field Programmable Gate Array) 的硬體電路,將此混合型演算法以軟硬體協同設計(HW/SW Co-design)之方式實 現出來。此方式不僅可以達到硬體加速的功能,還能有彈性地設計整個電路,當 軟體部分驗證完成後,即可以全硬體方式實現整個多目標物體追蹤系統,進一步 提升整體系統的效能。. 關鍵字: 多目標物體追蹤、可程式規劃系統晶片、粒子群聚最佳化法、粒子濾波 器. i.
(3) Hardware/Software Co-design of a Hybrid Multiple-Object Tracking System Based on Particle Filter and Particle Swarm Optimization. Student: Yung-Ching Chu. Advisor: Dr. Chen-Chien Hsu. Department of Applied Electronics Technology National Taiwan Normal University. ABSTRACT. This thesis presents a hybrid algorithm incorporating Particle Swarm Optimization (PSO) and Particle Filter (PF) for multiple-object tracking to improve the system performance. Based on the System on a Programmable Chip (SOPC) technique, we use hardware/software (HW/SW) co-design method to implement the hybrid algorithm on the FPGA circuit. As a result, the tracking efficiency can be greatly improved, while maintaining design flexibility for various applications. To further improve the performance of the multiple-object tracking system, full hardware implementation of the tracking system can be realized once the prototype testing of the system is completed.. Keywords: Multiple-object tracking, System on a Programmable Chip (SOPC), Particle Swarm Optimization, Particle Filter. ii.
(4) 致謝. 在我碩士的生涯中,有許多需要感謝的人。 首先,我要感謝我的指導教授許陳鑑老師,在研究上總是給予我明確的方向 與充足的資源,經過老師的教導及鼓勵,使得我培養出獨立思考與解決問題的能 力。並且在待人處事上,老師嚴謹、細緻且處處為學生著想的性格也是我的好榜 樣,使我不僅會做研究,更懂得怎麼生活。 感謝各位口委們願意撥空前來參加這次的口試,給予本篇論文許多的指導與 建議。感謝李世安老師在研究期間的幫助,總是不厭其煩的教導我、鼓勵我,藉 由老師豐富的知識與經驗,使我對於 SOPC 的研究有更深入的了解。感謝應用電 子所的系主任與助理婷節,在我碩士期間有你們的幫忙與協助,使我能順利完成 學業。 感謝 CIR 實驗室的學長與同學們,感謝書漢、士勛、宗翰、國棠,在我初進 實驗室時常常帶我們出去玩,總是讓實驗室的氣氛很歡樂和諧。感謝誠愷、元君、 華恩,在研究上你們都給予我許多幫助與鼓勵,很幸運能跟你們一同進到實驗室, 一起成長。還有奕涵、建凱、裔峰與紹偉,雖然在不同的實驗室,但在碩士生涯 中與你們一同學習、歡樂,使我增添了許多快樂的回憶。學弟妹如瑜、家瑞、奕 君、顏彰、以柔、東源、耀霖、君豪,謝謝你們常陪我聊天、嘻笑,使我在實驗 室可以很放鬆。 感謝我親愛的家人,父親朱平先生、母親朱李貞麗女士、哥哥朱永恩與妹妹朱 宜人,在各方面都全力的支持我、培養我,使我能夠無後顧之憂的成長與學習。 最後,要感謝我最親愛的主耶穌,從小到大一直與我同在,尤其是碩士期間,祢 的杖、祢的杆,一直扶持我,使我一生都能夠信靠祢而活。. iii.
(5) 目錄 表目錄 ........................................................................................................................... vi 圖目錄 .......................................................................................................................... vii 第一章 緒論 ...................................................................................................................1 1.1 研究背景與動機 ................................................................................................1 1.2 論文架構 ...........................................................................................................3 第二章 混合型多目標物體追蹤演算法 .......................................................................5 2.1 粒子群聚最佳化法 ...........................................................................................5 2.2 粒子濾波器 .......................................................................................................8 2.3 競爭選取法 ..................................................................................................... 11 2.4 混合型多目標追蹤演算法 .............................................................................12 第三章 軟硬體協同設計方法 .....................................................................................14 3.1 多主從系統架構 .............................................................................................14 3.2 Master 端與 Slave 端設計介紹 .......................................................................16 3.2.1 Slave 端設計 .........................................................................................16 3.2.2 Master 端設計 .......................................................................................19 第四章. 軟硬體協同設計平台 .................................................................................24. 4.1 DE2-70 多媒體開發平台 ................................................................................24 4.2 D5M 擷取模組 ................................................................................................27 4.2.1 D5M 擷取模組腳位說明 ......................................................................29 4.2.2 D5M 影像擷取格式 ..............................................................................29 4.2.3 D5M 擷取模組訊號時序圖 ..................................................................32 4.3 LTM 觸碰面板模組 .........................................................................................33 4.3.1 LTM 顯示模組腳位說明 ......................................................................35 4.3.2 LTM 顯示模組訊號時序圖 ..................................................................37 iv.
(6) 第五章 軟硬體協同設計之混合型多目標追蹤演算法 .............................................39 5.1 混合型多目標追蹤之硬體加速器 .................................................................39 5.1.1 初始化模組 ..........................................................................................41 5.1.2 PSO 粒子更新模組 ...............................................................................43 5.1.3 PF 粒子更新模組 ..................................................................................46 5.1.4 權重計算模組 ......................................................................................48 5.2 其他應用模組 .................................................................................................52 5.2.1 隨機亂數模組 ......................................................................................52 5.2.2 RAM ......................................................................................................53 5.2.3 FIFO 暫存器 ..........................................................................................54 5.2.4 狀態控制器 ..........................................................................................55 第六章 混合型演算法於多目標物體追蹤之硬體架構 .............................................57 6.1 CMOS 影像擷取 .............................................................................................59 6.2 影像追蹤 .........................................................................................................60 6.3 LTM 影像顯示 .................................................................................................61 第七章. 實驗結果 .......................................................................................................62. 7.1 軟體設計之多目標物體追蹤模擬結果 .........................................................62 7.1.1. PSO 與 PF 搜尋速度..........................................................................63. 7.1.2. PSO 與 PF 追蹤性能..........................................................................64. 7.2. 軟硬體協同設計之混合型多目標物體追蹤實驗結果...............................66. 7.3. 實際應用於多目標物體追蹤之實驗結果 ...................................................68. 第八章. 結論與未來研究方向 ...................................................................................71. 8.1. 結論 ...............................................................................................................71. 8.2. 未來展望 .......................................................................................................72. 參考文獻 .......................................................................................................................73 v.
(7) 表目錄 表 3. 1. Slave 端訊號表[26]........................................................................................16. 表 3. 2. Master 端常用訊號表[26] .............................................................................20. 表 4. 1. D5M 規格參數表 ...........................................................................................28. 表 4. 2. LTM 規格參數表[32] ....................................................................................34. 表 4. 3. LTM 顯示模組訊號說明[32] ........................................................................36. 表 5. 1. 初始化模組訊號說明 ....................................................................................41. 表 5. 2. PSO 粒子更新模組訊號說明 ........................................................................44. 表 5. 3. PF 粒子更新模組訊號說明表 .......................................................................46. 表 5. 4. 權重計算模組訊號說明表 ............................................................................49. 表 5. 5. 隨機亂數模組輸出入訊號說明表 ................................................................53. 表 5. 6. RAM 訊號腳位說明表 ..................................................................................54. 表 5. 7. FIFO 暫存器模組訊號說明表暫存器模組訊號說明表 ..............................55. 表 7. 1. PSO 搜尋速度之實驗結果 ............................................................................63. 表 7. 2. PF 搜尋速度之實驗結果 ...............................................................................63. 表 7. 3. Hybrid 搜尋速度實驗結果 ...........................................................................64. 表 7. 4. PSO 追蹤性能之實驗結果 ............................................................................65. 表 7. 5. PF 追蹤性能之實驗結果 ...............................................................................65. 表 7. 6. Hybrid 追蹤性能之實驗結果 ........................................................................65. 表 7. 7. 軟硬體協同設計之實驗結果 ........................................................................67. 表 7. 8. 全硬體設計之實驗結果 ................................................................................67. vi.
(8) 圖目錄 圖 2. 1. PSO 流程圖 .....................................................................................................7. 圖 2. 2. 粒子濾波器之流程圖 .....................................................................................9. 圖 2. 3. 粒子濾波器說明圖 .......................................................................................10. 圖 2. 4. 競爭選取法之說明圖 ................................................................................... 11. 圖 2. 5. 混合型多目標追蹤演算法之流程圖 ...........................................................13. 圖 3. 1. 傳統匯流排的傳輸方式[24] ........................................................................15. 圖 3. 2. Avalon Bus 傳輸方式[24] .............................................................................15. 圖 3. 3. Slave 讀取模式時序圖[27]...........................................................................17. 圖 3. 4. Slave 端寫入模式時序圖[27] ......................................................................18. 圖 3. 5. Slave 端有多個等待週期之讀取模式[27] ..................................................18. 圖 3. 6. Slave 有多個等待週期的寫入模式[27] ......................................................19. 圖 3. 7. Master 端讀取模式之時序圖[27] ................................................................21. 圖 3. 8. Master 端寫入模式時序圖[27] ....................................................................21. 圖 3. 9. Master 端有等待模式讀取之時序圖[27] ....................................................22. 圖 3. 10. Master 端有等待模式寫入時序圖[27] ......................................................23. 圖 4. 1. DE2-70 開發板實體圖[29] ...........................................................................26. 圖 4. 2. DE2-70 多媒體開發平台與 D5M、LTM 模組搭配[29] ............................27. 圖 4. 3. D5M 擷取模組實體圖[30] ...........................................................................28. 圖 4. 4. RDB_D5M 擷取模組 40 個接腳連接圖[30] ...............................................29. 圖 4. 5. D5M 擷取模組影像框架[31] .......................................................................30. 圖 4. 6. CMOS 擷取模組影像訊號[31] ....................................................................31. 圖 4. 7. Bayer Pattern 像素圖 ....................................................................................31. 圖 4. 8. D5M 擷取模組有效資料格式[31] ...............................................................32. 圖 4. 9. D5M 擷取模組像素資料時序圖[31] ...........................................................33 vii.
(9) 圖 4. 10. LTM 顯示模組實體圖[32] .........................................................................34. 圖 4. 11. LTM 顯示模組之 40 個腳位連接圖[32] ...................................................35. 圖 4. 12. LTM 面板水平時序訊號[32] .....................................................................38. 圖 4. 13. LTM 面板垂直時序訊號[32] .....................................................................38. 圖 5. 1. 混合型多目標追蹤硬體加速器 ...................................................................40. 圖 5. 2. 初始化模組訊號圖 .......................................................................................41. 圖 5. 3. 初始化模組之硬體架構圖 ...........................................................................42. 圖 5. 4. PSO 粒子更新模組訊號圖 ...........................................................................43. 圖 5. 5. PSO 粒子更新模組之硬體架構圖 ...............................................................45. 圖 5. 6. PF 粒子更新模組訊號圖 ..............................................................................46. 圖 5. 7. PF 粒子更新模組之硬體架構圖 ..................................................................47. 圖 5. 8. 權重計算模組 ...............................................................................................48. 圖 5. 9. 權重計算模組訊號圖 ...................................................................................49. 圖 5. 10. 權重計算模組之硬體架構圖 .....................................................................51. 圖 5. 11. 粒子資訊 .....................................................................................................51. 圖 5. 12. 欲追蹤之目標物 .........................................................................................52. 圖 5. 13. 隨機亂數模組之邏輯符號圖 .....................................................................53. 圖 5. 14. RAM 之邏輯符號圖 ...................................................................................54. 圖 5. 15. FIFO 暫存器模組邏輯符號圖 ...................................................................55. 圖 5. 16. 狀態控制器 .................................................................................................56. 圖 6. 1. 即時影像多目標物體追蹤系統架構圖 .......................................................57. 圖 6. 2. 影像擷取架構圖 ...........................................................................................59. 圖 6. 3. 影像追蹤架構圖 ...........................................................................................60. 圖 6. 4. LTM 影像顯示架構圖 ..................................................................................61. 圖 7. 1. 黑色目標物追蹤結果 ...................................................................................68 viii.
(10) 圖 7. 2. 桃紅色目標物追蹤結果 ................................................................................69. 圖 7. 3. 橘色目標物追蹤結果 ....................................................................................70. 圖 7. 4. 三個目標物追蹤結果 ....................................................................................70. ix.
(11) 第一章 緒論 1.1 研究背景與動機 隨著科技進步以及對於大量視訊影片資料管理上的需求,電腦視覺(computer vision)與影像處理(image processing)之技術已被廣泛的應用於生活中,其中物體 追蹤(object tracking)在電腦視覺上為一重要的課題,可以應用在許多領域中,例 如:監控系統(surveillance systems)、自動飛行導航系統(flight-guidance system)、 智慧型自動車輛追蹤(vehicle tracking)系統等,都需要物體追蹤的機制。而多目標 物體追蹤(multi-object tracking)的應用範圍更加廣泛,也更有挑戰性。以軍事領域 來說,如防空機制、目標攻擊任務等,都需要獲得多目標物體之資訊。另外,在 人工智慧研發上,若能追蹤多個目標物,產品便能執行更廣泛的任務。易言之, 多目標物體追蹤的應用層面較傳統單目標物追蹤更為廣泛,也更能提升研發產品 之功能。因此,在過去幾年,已經有許多演算法被用於多目標物體追蹤,例如光 流法(optical flows)[1][2]、背景相減法(background subtraction)[3]、Mean-Shift[4]、 粒子群聚最佳化法(Particle Swarm Optimization, PSO)[5]、以及粒子濾波器(Particle Filter, PF)演算法[6]等。 光流法常被應用於多目標物體之追蹤,光流之定義為在連續的影像畫面上, 從影像像素的強度變化,即為亮度梯度,來求取其對應的移動向量。基於光流法 的多目標物體即時影像追蹤方法[1]為從連續影像中擷取光流,當偵測到足夠的流 向時,便把其視為一個移動物體,並針對此區域,即目標物區域做光流的計算。 但由於光流的計算較複雜,故不適合使用在即時影像追蹤系統上。至於較單純的 追蹤方式,例如由 Valtteri 等人提出的一種以背景相減為模型之多目標物體追蹤 方法[3],先利用背景相減的方式,把目標物擷取出來,再根據擷取出目標物的顏 色、特徵、移動資訊,在影像上做比對之動作,達到追蹤的效果。然而,以背景 為模型之追蹤系統也有其限制,當背景變換時,由於與原先建置好之背景資訊不 1.
(12) 同,極有可能造成追蹤錯誤。而 Mean-Shift 算法追蹤[4]為一種基於機率梯度函數 的估計,在一組數值中找尋相對極值。假設極值分布為離散的,先計算兩個分布 密度相似性最大的地方,使設定的範圍沿著密度增加量最大的點移動,在以此方 向為基準,持續移動範圍。此方法雖然計算量少,移動速度快,但準確性較低, 容易發生追蹤錯誤的情形。. 粒子群聚最佳化法(Particle Swarm Optimization, PSO)為根據動物群聚的行為 發展而來[7],其最佳化求解的過程,是藉著群體移動的粒子根據自身的記憶性, 與群體的最佳解配合而成的一種具有群體智慧的演算法。PSO 由於其快速收斂的 能力,目前也被應用於許多多目標物體追蹤方面的研究[5][8][9]。經過粒子的記 憶功能,配合 PSO 本身的粒子更新公式,在不斷的迭代演化後,粒子便會收斂於 欲追蹤的目標物上。PSO 詳細的演算流程,我們會在第二章作介紹。然而,儘管 PSO 快速收斂的性能良好,在搜尋目標物時有很大的優勢,但當目標物持續移動 時,若沒有太劇烈的位移,其全畫面搜尋的方式將會造成追蹤系統計算上的負 擔。. 粒子濾波器(Particle Filter, PF)是一種對目標狀態估測有效的方法,其概念為 利用貝氏濾波器迭代演算之方式[10],利用已知訊息建立系統的概率密度函數 (Probability Density Function, PDF)[11][12],得到對系統狀態估測的最佳解。因為 其快速追蹤的功能,粒子濾波器目前已被應用於許多多目標追蹤方面的研究 [6][13][14]。追蹤方式為利用取樣的方式,將較接近目標物的粒子選取出來,並 利用擾動的方式,讓粒子能有較大的機會探索其他的解,使得粒子不容易太快陷 入區域最佳解。經過不斷的迭代演化後,粒子便會收斂到欲追蹤之目標物。PF 詳細的演化流程,我們會在第二章作介紹。然而,儘管粒子濾波器在目標物追蹤 時性能良好,當目標物剛出現時,卻有收斂速度較慢的問題。 2.
(13) 為了提升多目標物體追蹤的性能,本篇論文提出一種混合型演算法,結合粒 子群聚最佳化法與粒子濾波器之優點[15],利用 PSO 快速收斂的能力與 PF 快速 追蹤的能力,使用系統切換的方式,完成兩演算法之結合,使其應用於多目標物 體追蹤系統中。主要的追蹤方式是在目標物出現時,先用 PSO 對目標物作快速搜 尋的動作,當粒子搜尋到目標物時,再切換到 PF 作快速追蹤的動作,充分利用 兩個演算法之優點,互相配合,完成一個快速的目標物追蹤系統。我們先對欲追 蹤之目標物做事先建模的動作,再來便分別用混合型演算法對各個目標物做搜尋 與追蹤。. 然而,粒子濾波器與粒子群聚最佳化法在每一次進行迭代運算時,通常需要 使用許多複雜之數學運算,尤其是應用在多目標追蹤上,系統勢必需要大量的記 憶體空間,這種密集的計算以及大量的記憶體空間需求,會使得多目標物體之即 時影像追蹤性能受到影響。是故,本論文在可程式規劃系統晶片(System On Programmable Chip, SOPC) [16][17] 之 架 構 下 , 以 軟 硬 體 協 同 設 計 之 方 式 [18][19][20][21],實現所提出的混合型多目標物體追蹤系統。此方法不僅比純軟 體設計的執行速度還要快,使用軟硬體協同設計在解決問題時,也可以不須重新 設計整個硬體,在設計上也較有彈性。設計方式為以 Nios II 軟核心處理器來計算 權重值,以硬體電路做粒子更新的動作,以大幅降低 Nios II 處理器之負擔,當軟 體部分驗證完成後,即可以全硬體方式實現整個多目標物體追蹤系統,進一步提 升整體系統的效能。. 1.2 論文架構 本論文共分為八章,第二章將介紹混合型多目標物體追蹤演算法,我們將對 主要使用的兩個演算法,粒子濾波器、粒子群聚最佳化法做說明,並且說明如何 3.
(14) 整合此兩演算法用於多目標物體追蹤上。第三章介紹我們用來整合軟硬體協同設 計平台的方法,將針對多主從系統架構做說明。第四章介紹軟硬體協同設計平台, 我們將針對主要使用的 DE2-70 多媒體開發平台做介紹。第五章將介紹混合型演 算法用於軟硬體協同設計上之各個硬體模組的電路架構,以及權重計算的方式。 第六章將介紹混合型演算法應用在即時影像多目標物體追蹤系統的架構,其中包 括影像擷取、追蹤、顯示模組。第七章為我們的實驗結果,我們將驗證粒子濾波 器與粒子群聚最佳化法之搜尋、追蹤的速度,並且分別顯示軟硬體協同設計,與 純硬體設計之實驗結果。第八章為我們的結論與未來研究方向。. 4.
(15) 第二章 混合型多目標物體追蹤演算法. 本篇論文利用粒子群聚最佳化法(Particle Swarm Optimization, PSO)與粒子濾 波器(Particle Filter, PF)之優點,結合成一種用於多目標物體追蹤之混合型演算法。 主要的追蹤流程為: 當目標物出現時,利用 PSO 快速收斂的優點來搜尋目標物, 在 PSO 搜尋到目標物後,便切換到 PF 演算法,利用其追蹤的優越性能,持續目 標物的追蹤。而若是追蹤的過程,追丟了目標物的話,再切換回 PSO 搜尋目標物。 以下章節將分別介紹 PSO 演算法、PF 演算法,以及我們所提出的混合型多目標 物體追蹤演算法。. 2.1 粒子群聚最佳化法 粒子群聚最佳化法(Particle Swarm Optimization, PSO),是 Kennedy 與 Eberhart 於 1995 年所提出來的,是緣由於觀察魚群或鳥群之互動所發展出來的一種 Swarm Intelligent (SI) 的技術。此演算法找尋最佳解的方法,可以視為每一隻鳥,亦即 每一顆粒子在解空間中飛行的過程。在這當中,每一顆粒子都有記憶性,能夠記 得自己從起始到當下所飛行過最好的位置,此位置稱為 Pbesti ;並且在每一次迭代 後,此演算法還會計算所有粒子從起始到當下所飛行過最好的位置,稱為 Gbest。 在計算出 Pbesti 與 Gbest 後,便利用更新公式對每一顆粒子做速度與位置的更新。 由於 PSO 具有群體智慧之全域搜尋最佳化的技術,故在演化時容易實現快速收斂 的效果。. 以下為 PSO 主要執行的步驟說明,流程圖如圖 2.1 所示: 5.
(16) 1.. 初始化粒子: 在演化的一開始,先以隨機的方式來給予每顆粒子位置與速度的資訊。. 2.. 計算適應值: 初始化粒子後,利用適應值函數 f(xi)計算每顆粒子之適應值,其中 x 代表粒. 子的位置,i 代表第 i 個粒子。. 3.. 更新 Pbesti 與 Gbest : 根據計算好之適應值,找出個體粒子所記憶之最佳解: Pbesti ,與群體粒子. 之最佳解: Gbest,並在每一次演化過程中更新其值。. 4.. 更新每顆粒子速度與位置: 根據粒子之速度與位置的更新公式: (2.1)、(2.2),我們可以知道下一刻粒子的. 位置,並且重複以上 1~4 之步驟值直到符合終止條件,也就是找到最佳解為止。. vi (t 1) w vi (t ) c1 rand ( Pbesti xi (t )) c2 r a n d( G b esi t( ) )x t. (2.1). xi (t 1) xi (t ) vi (t 1). (2.2). 其中,w 代表慣性權重(inertia weight),其值介於 0.4~0.9 之間; c1、c2 代表加 速常數(acceleration constants),其值介於 0.2 ~ 2 之間;rand 為隨機變數,其值介於 0 ~ 1 之間。. 6.
(17) PSO 有快速收斂的優點,故在目標物的追蹤上,當目標物一出現在影像畫面 時,PSO 能快速搜尋到目標物。但是在後續的追蹤上,因為其演算法還要再做全 域搜尋的動作,故整體追蹤的速度會有較慢之缺點。 START. Initialize a population of particles with random positions xi and velocities vi. Evaluate objective function f(xi) for particle i. Update best values Pbesti For particle i and Gbest for the swarm. Update position xi and velocity vi for particle i. NO. Optimal value has been found? Yes Output results. STOP. 圖 2. 1. PSO 流程圖 7.
(18) 2.2 粒子濾波器 粒子濾波器(Particle Filter, PF)是目前被廣泛使用的一種動態系統估測模型, 其演算法主要是緣自於蒙地卡羅的方法,藉由貝氏濾波器(Bayesian Filter)迭代演 算之方式,進行蒙地卡羅的模擬(Monte Carlo Simulation)。此方法適用於解決高度 非線性與非高斯雜訊分佈之環境問題。PF 的種類有很多種,本論文使用之方法為 「重要樣本再取樣(Sample Importance Re-sampling, SIR)」。. 粒子濾波器主要的概念為藉由一群隨機的樣本集合 X k {x1k , xk2 , xk3 ,.....xkn },用 於目標物追蹤之應用上,每個樣本會擁有我們欲追蹤的目標物之資訊,在與事先 儲存之目標物樣本進行比對後,每個樣本即會產生一個權重值( wkn ),代表其與目 標物樣本之相似度,其中,k 代表取樣的次數,n 代表樣本之數量。根據每一代 所更新之權重值,經由迭代演算的方式,最終樣本會聚集於某個估測之位置,此 估測位置極可能代表此刻可能的解。此樣本也就是所謂的粒子(Particle) [22]。. PF 之流程圖如圖 2.2 所示,以下以三個步驟來介紹粒子濾波器演算法的架構, 分別為 1. 預測 2. 權重計算 3. 重新取樣。. 1.. 預測(Prediction): 預測的步驟就是預測出取樣時間 k 的粒子 xkn ,方法為由式(2.3)將前一刻之粒. 子狀態 xkn1 加入以知的控制量 u k ,即可預測出此刻之粒子的狀態. p( xk | uk , xkn1 ). (2.3). 其中 xkn 代表在取樣時間為 k 之第 n 顆粒子狀態, p() 代表機率密度函數。. 8.
(19) 2.. 權重計算(Weight Calculation) 粒子權重 wkn 的計算方法為透過量測資訊 z k ,與粒子狀態 xkn ,計算出相對應. 的粒子權重,如式(2.4)表示。. wkn p( zk | xkn ) 3.. (2.4). 重新取樣(Re-sampling) 方法為根據第 2 步每顆粒子所計算出的權重大小作取樣,當權重值越大時,. 被取樣的次數就會越多,反之權重值較低的粒子,被取樣到的次數就會越少,本 文所使用的取樣方法為競爭選取法,我們將在 2.3 節詳細介紹。. START. Initialize. Prediction. Weight calculation. Re-sampling. No. Optimal value has been found? Yes Output results. STOP. 圖 2. 2. 粒子濾波器之流程圖 9.
(20) Prediction. Weight Assignment. 圖 2. 3. Resampling. 粒子濾波器說明圖. 圖 2.3 為一個簡易的粒子濾波器之說明圖,假設全部共有 10 顆粒子,每顆粒 子代表為一組解的狀態,初始化其權重值為 1/10。經過預測(Prediction)後,藉由 給予每顆粒子一個擾動值,使其移動至新的位置點,我們可以看出每顆粒子之位 置都與上一刻粒子之位置不同,接下來,根據粒子此時之狀態,由式(2.4)計算粒 子之權重值,藉由權重值之計算,我們可以分辨出每顆粒子之好壞,使得我們在 重新取樣的過程中,有較高之機率把權重高之粒子取至下一代。不斷重複此演化 之過程,直至粒子收斂至最佳解。 10.
(21) 2.3 競爭選取法 競爭選取法(Tournament Selection)在基因演算法(Genetic Algorithm)中經常被 使用[23],其選取的方法為利用競爭大小(Tournament Size)”K”以決定要選取之粒 子的數 量。 其最 大 的特色 為可 以藉著 調整競 爭大 小,達 到適當 之選 擇壓力 (Selection Pressure),使粒子往較好之方向最佳化,此方法可以解決群體中存在著 超強粒子的問題,使得演化的過程不易落入區域最佳解。. 競爭選取法的步驟如圖 2.4 表示,第一步需要先設定競爭大小”K”,接著便根 據競爭大小從粒子中隨機抽取出 K 顆粒子,比較其權重值之大小,選取出權重值 最佳的粒子使其進入下一代。不斷重複選取與比較之過程,直至選取之數量為粒 子原本之數量。. 設定參數K 粒子群 隨機選取粒子. 圖 2. 4. K 選取權重最高粒子 進入下一代 競爭選取法之說明圖. 11. 下一代 粒子群.
(22) 2.4 混合型多目標追蹤演算法 本論文充分利用粒子濾波器與粒子群聚最佳化法在追蹤目標物時之優點,整 合 PSO 快速搜尋目標物的能力,與 PF 快速追蹤目標物的能力,設計出一個切換 機制用於多目標追蹤。此切換機制的方法為對每一群粒子之權重設定一個閥值 wthreshold,此閥值即為系統切換的基準,假設我們有 m 個目標物,我們便設定 m 個閥值 wthreshold ,m ,我們以公式(2.5)來表示系統切換的方式。首先,我們對 m 個目 th. 標物建模並且初始化 m 群的粒子群,根據每一群粒子之權重與其閥值做比較,若 低於閥值,代表此群的粒子追丟了目標物,系統便切換至 PSO 更新模組作粒子更 新的動作,以搜尋目標物;若是高於閥值,代表此群的粒子追蹤到了目標物,系統 便切換至 PF 更新模組做粒子更新的動作,並繼續目標物的追蹤。此演算法之流 程圖如圖 2.5 所示。. PSO update: the weight of mth swarm < wthreshold ,mth PF update: the weight of mth swarm > wthreshold ,mth. 12. (2.5).
(23) Object modeling for m targets. Initialize m particle swarms for m object targets. Weight Calculating for mth Swarm Particle. No. mth swarm criteria satisfied ? Yes. mth Swarm Particle Update via PSO module. 圖 2. 5. mth Swarm Particle Update via PF module. 混合型多目標追蹤演算法之流程圖. 13.
(24) 第三章 軟硬體協同設計方法. DE2-70 為 Altera 公司所開發出之一個方便設計的發展平台,此平台的開發 環境可以整合 FPGA 與微處理器。而 Altera 公司又開發出一種新型態的嵌入式軟 核心處理器,稱為 Nios II 處理器,其可以利用可程式的系統晶片編譯器 SOPC (System on a programmable chip) Builder,來整合軟體與微處理器的硬體電路於 FPGA 晶片內,把微處理器周邊繁雜的硬體規劃與軟體設計之功能整合在一起。 在這樣的架構之下,設計者即可以依照所需求的環境來規劃合適的處理器,並且 與 FPGA 內的硬體電路搭配整合,達到軟硬體協同設計的架構。. 而在多主從系統架構的設計上,本論文將參考[24][25]所提出的一些設計方式, 進而發展出以軟硬體協同設計之混合型即時影像多目標追蹤系統。本章節介紹如 下: 3.1 節介紹多主從系統架構、3.2 節介紹 Master 與 Slave 端之設計。. 3.1 多主從系統架構 在傳統的匯流排控制方式中,當一個主 (Master) 端在使用匯流排時,其他 的 Master 端就不能使用此匯流排,然而,Altera 公司為了 Nios II 處理器提出了 一種介面匯流排,稱為 Avalon Bus 匯流排。Avalon Bus 解決了以往傳統匯流排 之缺點,可以讓多個 Master 端共用,亦即允許他們同步,並且可以讓多個 Master 端共同分享從(Slave)端的裝置。以下以圖 3.1、圖 3.2 分別介紹傳統匯流排與 Avalon 14.
(25) 匯流排之傳輸方式。. Masters. Master. Master. Arbiter Bottleneck System Bus. Slaves. UART. 圖 3. 1. Masters. Program Memory. PIO. Master. Data Memory. 傳統匯流排的傳輸方式[24]. Master. Master. Avalon Switch Fabric System Bus. System Bus. Arbiter. Slaves. System Bus. Arbiter. Custom Program Data Data Program I/O I/O Accelerator Memory Memory Memory Memory Peripheral. 圖 3. 2. Avalon Bus 傳輸方式[24] 15.
(26) 3.2 Master 端與 Slave 端設計介紹 實際設計 Avalon Bus 時,Slave 端的電路設計會比 Master 端的電路設計簡單 許多,而我們在設計電路時必須注意該與 Avalon Bus 所規定的時序圖符合。接下 來將分別介紹 Slave 端電路設計及 Master 端電路設計。. 3.2.1 Slave 端設計 Slave 端常用的信號我們以表 3.1 表示。Slave 端有三種比較常用的工作模式: (1) 讀取模式、(2) 寫入模式、(3) 有等待週期的讀取模式、(4) 有等待週期的寫 入模式。我們分別介紹如下: 表 3. 1 訊號類型. Slave 端訊號表[26]. 寬度. 方向. read、read_n. 1. Input. 讀取致能訊號. write、write_n. 1. Input. 寫入致能訊號. 1-32. Input. 位址線訊號. address. Avalon Bus 從 Slave 端讀取資. 8, 16, 32, 64, 128, readdata. Output 256, 512, 1024. 料的訊號線 從 Avalon Bus 寫 入 資 料 到. 8, 16, 32, 64, 128, writedata. 敘述. Input 256, 512, 1024. Slave 端的訊號線 當傳輸或寫入的資料大於 8 位. byteenable. 1, 2, 4, 8, 16, 32, Input. byteenable_n. 64, 128. begintransfer. 1. 元時,須使用此訊號指定要寫 入的資料長度。. Input. 使首要的傳輸生效. Wait-State Signals 當 Slave 端 無 法 立 即 處 理 waitrequest 1. Output. waitrequest_n. Avalon Bus 的要求時,則須送 出此訊號。. 16.
(27) (1) Slave 端讀取模式 Slave 端的讀取訊號時序圖以圖 3.3 表示,其動作原理如以下之敘述: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Avalon Bus 開始傳輸。 (B) 在開始傳輸時,address、byteenable、read 之訊號為有效訊號。 (C) Avalon Bus 的內部會對 Slave 端之位置解碼,並且產生 chipselect 訊號。 (D) 當 Slave 端偵測到 chipselect 和 read 訊號時,會致能 Slave 端讀取的功能,此 時,Slave 端會根據 address 訊號至相對應的暫存器,將暫存器的值立即送到 readdata。 (E) 在 clk 的下一個上升緣觸發前,Avalon Bus 會將 readdata 的訊號取走。. 圖 3. 3. Slave 讀取模式時序圖[27]. (2) Slave 端寫入模式 Slave 端的寫入訊號時序圖以圖 3.4 表示。其動作原理如以下之敘述: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Avalon Bus 開始作寫入傳輸。 (B). 在開始傳輸時,address、byteenable、write 之訊號為有效訊號。. (C) Avalon Bus 的內部會對 Slave 端之位置解碼,並且產生 chipselect 訊號。 (D). 在 clk 的下一個上升緣觸發前,Slave 端會根據擷取到的 byteenable、address、. chipselect、writedata、write 訊號,立即將 writedata 資料寫入。等到下一個 clk 時 脈訊號觸發時,Avalon Bus 即可以開始下一個訊號傳輸。 17.
(28) 圖 3. 4. Slave 端寫入模式時序圖[27]. (3) Slave 端有等待週期的讀取模式 Slave 端有多個等待週期的讀取模式,時序圖如圖 3.5 所示,其動作原理分別 敘述如下: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Avalon Bus 開始傳輸。 (B) 在開始傳輸時,address、byteenable、read 之訊號為有效訊號。 (C) Avalon Bus 的內部會對 Slave 端之位置解碼,並且產生 chipselect 訊號。 (D) 當 Slave 端無法在此 clk 的週期內準備好資料時,在下一個 clk 訊號的上緣觸 發之前,Slave 端會送出 waitrequest 訊號,要求 Avalon Bus 等待。 (E-F) 在 waitrequest 的訊號為有效的期間,Avalon Bus 會使所有的訊號保持不 變。 (G) Slave 端準備好有效的 readdata 資料。 (H) 使 waitrequest 訊號線下降表示為無效。 (I) 當時脈訊號 clk 為上緣訊號的時候,Avalon Bus 會讀取 readdata 的資料。. 圖 3. 5. Slave 端有多個等待週期之讀取模式[27]. 18.
(29) (4) Slave 端有等待週期的寫入模式 Slave 端有多個等待週期的寫入模式,時序圖如圖 3.6 所示,其動作原理分別 描述如下: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Avalon Bus 開始傳輸。 (B) 在開始傳輸時,address、byteenable、write、writedata 之訊號為有效訊號。 (C). Avalon Bus 的內部會對 Slave 端之位置解碼,並且產生 chipselect 訊號。. (D) 當 Slave 端無法在此 clk 的週期內準備好資料時,在下一個 clk 訊號的上緣觸 發之前,Slave 端會送出 waitrequest 訊號,要求 Avalon Bus 等待。 (E-F) 在 waitrequest 的訊號為有效的期間,Avalon Bus 會使所有的訊號保持不 變。 (G) Slave 端準備好可以有寫入的動作。 (H) 使 waitrequest 訊號線下降為無效。 (I) 當時脈訊號 clk 為上緣訊號的時候,會將 writedata 的資料寫入 Slave 端裡。. 圖 3. 6. Slave 有多個等待週期的寫入模式[27]. 3.2.2 Master 端設計 Master 端常用的信號我們以表 3.2 表示。其有三種比較常用的工作模式: (1) 讀取模式、(2) 寫入模式、(3) 有等待週期的讀取模式、(4) 有等待週期的寫 入模式。我們分別介紹如下: 19.
(30) 表 3. 2 訊號類型 address read、read_n. Master 端常用訊號表[26]. 寬度. 方向. 1-32. Output. 位址線訊號. 1. Output. 讀取致能訊號 Master 端從 Avalon Bus 讀取資. 8, 16, 32, 64, 128, readdata. Input 料的訊號線. 256, 512, 1024 write、write_n. 敘述. 1. Output. Master 端寫入資料到 Avalon. 8, 16, 32, 64, 128, writedata. 寫入致能訊號. Output Bus 的訊號線. 256, 512, 1024. 當所傳輸或寫入的資料大於 8 byteenable. 1, 2, 4, 8, 16, 32, Output. byteenable_n. 位元時,必須使用該訊號指定. 64, 128 要寫入的資料長度 當 Master 端收到此訊號時,則. waitrequest 1. Input 必須維持輸出訊號不變. waitrequest_n. 20.
(31) (2) Master 讀取模式 Master 端的讀取訊號時序圖以圖 3.7 所示。其動作原理如以下之敘述: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Master 端開始傳輸。 (B) Master 端送出 address、byteenable、read 訊號為有效信號。 (C) Avalon Bus 準備好資料: readdata。 (D) 在此時脈的上緣訊號觸發時,Master 端將會從 Avalon Bus 讀取 readdata 訊 號。. 圖 3. 7. Master 端讀取模式之時序圖[27]. (3) Master 寫入模式 Master 端讀取時序圖如圖 3.8 所示。其動作原理分別描述如下: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Master 端開始傳輸。 (B). Master 端送出 address、byteenable、write、writedata 訊號為有效信號。. (C) 在此時脈的上緣訊號觸發時,Avalon Bus 端會將 writedata 訊號從 Master 端取 走。. 圖 3. 8. Master 端寫入模式時序圖[27] 21.
(32) (4) Master 端有等待週期的讀取模式 Master 端有多個等待週期的讀取模式,時序圖如圖 3.9 所示,其動作原理分 別敘述如下: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Master 端開始傳輸。 (B) Master 端送出 address、byteenable、read 訊號為有效信號。 (C) Avalon Bus 回傳 waitrequest 訊號給 Master 端,代表其還無法在這個時脈週 期內將資料準備好。 (D) 當 Master 端在這個時脈週期內偵測到 waitrequest 的訊號時,會將所有的訊號 保持不變。 (E) Avalon Bus 在 waitrequest 的訊號為有效的期間,會使所有訊號保持不變。 (F) Avalon Bus 準備好有效的 readdata 資料。 (G) 使 waitrequest 訊號下降為無效。 (H) 在此時脈的上緣訊號觸發時,Master 端將會從 Avalon Bus 讀取 readdata 訊 號。. 圖 3. 9. Master 端有等待模式讀取之時序圖[27]. 22.
(33) (5) Master 端有等待週期的寫入模式 Master 端有多個等待週期的寫入模式,時序圖如圖 3.10 所示,其動作原理分 別敘述如下: (A) 當時脈訊號 clk 的第一個上升緣觸發時,Master 端開始傳輸。 (B) address、byteenable、write、writedata 訊號為有效信號。 (C) Master 端在這個 clk 週期內偵測到 waitrequest 訊號,其訊號表示 Avalon Bus 正在忙碌,還無法將訊號準備好,故 Master 端會將所有的訊號保持不變。 (D) 在 waitrequest 訊號有效期間,Master 端依舊會使所有的訊號保持不變。 (E) Avalon Bus 使 waitrequest 訊號設置為無效,代表已經準備好將 writedata 資料 寫入。 (F) 在此時脈的上緣訊號觸發時,Avalon Bus 端會將 writedata 訊號取走。. 圖 3. 10. Master 端有等待模式寫入時序圖[27]. 23.
(34) 第四章. 軟硬體協同設計平台. 本章節將介紹本文所使用的開發平台與其周邊設備,章節規劃如下:4.1 節 DE2-70 多媒體開發平台、4.2 節 D5M 擷取模組、4.3 節 LTM 顯示模組。. 4.1 DE2-70 多媒體開發平台 Altera DE2-70 多媒體開發平台[28],為友晶科技所發展出來的多媒體開發平 台,其配備了 70,000 個邏輯單元的 Altera Cyclone® II 2C70 和更大容量的記憶體 元件,並完全承襲了 Altera DE2 多媒體平台豐富的多媒體、儲存及網路等應用介 面的優點。此開發平台提供多樣的產品功能,不僅適用於大專院校實驗室的教學 研究與專題製作,也適合工業界做為開發複雜數位系統的工具,Altera 更提供最 新多媒體開發平台現成的實驗課教材,和各種說明範例[29]。. Altera DE2-70 多媒體開發平台能提供使用者豐富的產品功能,在電路設計 的應用上,從簡易的電路設計,到多樣化的多媒體專案,使用者都能輕易完成。 DE2-70 開發平台外觀如圖 4.1 所示,規格包括 FPGA、記憶體與其他周邊界面, 分別如下所示: . FPGA . . Cyclone II 2C70 FPGA,配備 70,000 個邏輯單元. 記憶體 . 2 個 32-Mbyte 的 SDRAM. . 1 個 2-Mbyte 的 SRAM. . 8-Mbyte 的 Flash 記憶體 24.
(35) . 支援 SPI 及 SD 1-bit 兩種 SD Card 讀取模式. 周邊介面 . 內建 USB Blaster 電路使用於 FPAG 程式下載或控制. . 支援 JTAG 及 AS 模式. . Altera EPCS16 序列 EEPROM. . 4 個按鈕(KEY)、18 個滑動開關(SW). . 9 個綠色的 LEDs、18 個紅色的 LEDs. . 8 個七段顯示器、16 × 2 的 LCD 模組. . 10/100MHz 乙太網路控制器與接頭. . IrDA 收發模組. . 1 個 SMA 接頭. . 1 個 USB 主/從控制器. . Type A 與 Type B 的接頭. . 1 個 50MHz 振盪器、1 個 28.63MHz 振盪器. . 2 個 TV 訊號解碼器、2 個 TV 輸入訊號連接頭. . 3 個 10-bit 高速 DAC. . 24-bit CD 品質的輸入、輸出及麥克風輸入接頭. . 一組 RS-232 訊號接頭、一組 PS/2 訊號接頭. . 72 個 I/O 接腳、8 個電源及接地接腳. 25.
(36) 圖 4. 1. DE2-70 開發板實體圖[29]. DE2-70 開發板還提供 TV Box 與媒體播放器的視聽功能,並且提供原始碼, 使得工業界或學術界對數位影音有興趣之研究者,可以有一個良好的開發平台。 DE2-70 開發板提供一套完整的 500 萬像素 CMOS 數位照相機(CMOS Digital Camera)簡稱 D5M 擷取模組,並且搭配一個 4.3 吋的 LCD 觸碰面板套件,簡 稱 LTM 顯示模組,如圖 4.2 所示,提供使用者可以在 DE2-70 開發板上發展影 像的相關技術。本文結合粒子濾波器(PF)及粒子群聚最佳化法(PSO)之優點,發 展出一個混合型演算法用於多目標物追蹤,並將其以 DE2-70 開發板搭配 D5M 擷取模組及 LTM 顯示模組來實現。以下 4.2 節與 4.3 節將個別說明 D5M 擷取 模組與 LTM 顯示模組。. 26.
(37) 圖 4. 2. DE2-70 多媒體開發平台與 D5M、LTM 模組搭配[29]. 4.2 D5M 擷取模組 此套數位相機發展套件又稱為 D5M 擷取模組,如圖 4.3 所示。此模組能提 供使用者於友晶科技 FPGA 平台上開發五百萬畫素相機所需要的全部相關資訊, 內容包含使用 Verilog 硬體描述語言所發展之硬體設計,及將相機模組所拍之畫 面轉成 BMP/JPG 檔案,然後上傳到 PC 的軟體工具程式[29]。D5M 規格模組如 表 4.1 所示。. 27.
(38) 圖 4. 3. D5M 擷取模組實體圖[30]. 表 4. 1. D5M 規格參數表. 規格參數. 數值. 可顯示像素點. 2,592H × 1,944V 2.2μm × 2.2μm. 像素尺寸 顏色過濾器陣列. RGB Bayer Pattern. 最大傳輸速度/主時脈. 96 Mp/s at 96 MHz. 全螢幕. 最多 15 fps (frame per second). 顯示速度 VGA(640x480) 像素 ADC 處理 Power. 最多 70 fps 12-bit 3.3V. 提供電壓 I/O. 1.7V~3.1V 28.
(39) 4.2.1 D5M 擷取模組腳位說明 D5M 擷取模組之接腳連接如圖 4.4 所示,其 12 條資料訊號線之接腳名稱 分別為 D0~D11,而 D5M 擷取模組供給外部電路的同步時脈訊號是透過 PIXCLK 接腳,D5M 擷取模組的 Frame valid 和 Line valid 訊號線則分別是 2 FVAL 和 LVAL,而 SCLK 與 SDATA 則是 I C (雙線式串列傳輸介面)的傳輸訊. 號腳,主要為設定 D5M 擷取模組裡面的暫存器數值。. 圖 4. 4. RDB_D5M 擷取模組 40 個接腳連接圖[30]. 4.2.2 D5M 影像擷取格式 在 D5M 擷取模組中,完整的影像擷取框架如圖 4.5 所示,一張圖片共有 2752 × 2004 個像素點,其中包括有效影像、有效邊界與黑色邊界。有效影像位 於中間的部分,共有 2592 × 1944 個有效像素點;有效邊界為中間區域向外擴 張相鄰的部分,而色彩修正邊界為上下各為 4 列,而左為 10 行及右為 6 行的 29.
(40) 像素邊界,是為了防止圖像與像素邊界產生模糊效應,而使得像素邊界的值影 響到原本圖像之色彩所加上的區隔;無效的黑色邊界則是在最外圍的部分,上 下左右分別為 50 列、2 列、134 行以及 10 行的像素邊界。. 圖 4. 5. D5M 擷取模組影像框架[31]. D5M 擷取模組的影像訊號是以圖 4.6 之 Bayer Pattern 之排列方式讀取,讀 取的順序為由右至左、由上至下,其偶數列為以 GRGR…綠紅穿插的方式排列, 奇數列則以 BGBG…藍綠穿插的方式排列。因此若要將原始的 Bayer Pattern 像 素轉換成三原色 RGB 的點陣圖格式,可依下列的步驟藉著簡單的運算,即可 得到每一個像素點的 RGB 值。首先,把圖 4.6 中所有的顏色區塊都給予編號, 而數位訊號在一般的情況下,每一格資料的位址都有三種顏色之資料,所以類 比訊號轉數位訊號(ADC),即為將類比訊號所對應的資料位址取其周圍相同之 顏色的顏色平均值,而所取出之三種不同顏色的平均值,就是數位訊號所對應 之位址的三種顏色平均值。. 30.
(41) 圖 4. 6. CMOS 擷取模組影像訊號[31]. 圖 4.7 為 Bayer Pattern 之像素圖,如要求得 B11 位址中的 RGB 值時,則須 將鄰近 B11 位址的 RGB 值個別取平均值,如下列公式(4.1)、(4.2)、(4.3)所示, 即可獲得 B11 位置的 RGB 顏色值,其分別表示為紅色 R11、綠色 G11、藍色 B11,計算方式分別如下列公式所示: R6 R8 R14 R16 4 G7 G10 G12 G15 G11 4 B11 B11 1 R11 . B1. G2. B3. G4. G5. R6. G7. R8. B9. G10. B11. G12. G13. R14. G15. R16. 圖 4. 7. Bayer Pattern 像素圖 31. (4.1) (4.2) (4.3).
(42) 4.2.3 D5M 擷取模組訊號時序圖 D5M 擷取模組的影像資料是採用漸進式掃描之方式讀取,如圖 4.8 所示,其 中 VALID IMAGE 之範圍為有效的影像資料,HORIZONTAL BLANKING 為水平 的空白訊號,做水平同步用。VERTICAL BLANKING 為垂直的空白訊號,做垂 直同步用。D5M 擷取模組會因為曝光時間及擷取的影像畫面大小之因素,而使得 擷取速度有明顯的差異,是故,若需要提高影像的擷取速度,則必須從影像的曝 光時間以及擷取的解析度大小去做調整,才能得到最佳的處理速度。以下為介紹 D5M 擷取模組之影像格式與 D5M 擷取模組資料傳輸格式:. 圖 4. 8. D5M 擷取模組有效資料格式[31]. D5M 擷取模組在一般預設值下所傳送的圖片大小約為 1600 × 960,而擷取出 之圖片訊號,是依據 D5M 擷取模組所給的 Pixel 時脈訊號所產生之對應的 32.
(43) LVAL(LINE VALID)掃描線資料,如圖 4.9 所示。. LINE_VALID(LVAL) 表 示 螢 幕 的 水 平 掃 描 線 的 資 料 是 有 效 的 , 例 如 1600×960 的畫面共有 960 條水平掃描線,並且每個水平掃描線共有 1600 個像素 點。當 LINE_VALID 在高準位時,正緣觸發時脈讀到的匯流排資料 D[11:0],即 存入為 Pixel 值,即代表有效的影像像素資料,所以一條 LINE_VALID 有 1600 個 Pixel 的時脈訊號。. 圖 4. 9. D5M 擷取模組像素資料時序圖[31]. 4.3 LTM 觸碰面板模組 4.3" LCD 觸控面板又稱為 LTM 顯示模組,此液晶面板具有 800 × 480 的高解 析度,可以支援 24 位元平行輸入 RGB 的色彩數位訊號,並可透過串列式週邊介 面(Serial Parallel Interface, SPI)的傳輸方式來設定其功能與內部暫存器的數值,具 有內建色彩調整電路、亮度、內部對比及 γ 值調整,可以提供良好畫質的全彩觸 控體驗[29]。圖 4.10 為 LTM 顯示模組,模組規格如表 4.2 所示。. 33.
(44) 表 4. 2. LTM 規格參數表[32]. 規格參數. 數值. 螢幕尺寸. 4.3(英吋). 尺寸比例. 15 : 9. 有效面積(H × V). 93.6 × 56.16 (mm). 資料點數量(H × V). 800 × RGB × 480. 每點間隔(H × V). 0.039 × 0.117 (mm). 圖 4. 10. LTM 顯示模組實體圖[32]. 34.
(45) 4.3.1 LTM 顯示模組腳位說明 LTM 顯示模組的訊號腳位分佈如圖 4.11 所示,其中有連接 LCD 時脈訊號的 NCLK 接腳,連接重置訊號線的 Reset 接腳,還有連接水平、垂直同步訊號線的 HD、VD 接腳,連接類比數位轉換訊號線的 ADC serial interface 接腳…等。在顏 色方面,此資料匯流排分為三種顏色,分別為紅色資料匯流排(LCD red data bus): R0 ~ R7 接腳、綠色資料匯流排(LCD green data bus): G0 ~ G7、藍色資料匯流排 (LCD blue data bus): B0 ~ B7,且一個匯流排能夠一次傳送 8 位元的訊號。其中, LTM 顯示模組的時脈訊號為 NCLK 接腳,而 LTM 顯示模組傳輸給外部控制裝置 的同步訊號為 VD 和 HD 兩個接腳,此兩個接腳可以確保每一筆的 RGB 像素資 料是完整的。至於連接 SPI 串鍊傳輸協定的訊號,則是 SDA 和 SCEN 腳位,此 兩個腳位可以用來設定 LTM 模組的暫存器數值。全部的 LTM 訊號腳位說明如表 4.3 所示。. 圖 4. 11. LTM 顯示模組之 40 個腳位連接圖[32] 35.
(46) 表 4. 3 Pin. LTM 顯示模組訊號說明[32]. Name. Direction. 1. ADC_PENIRQ_n. Output. ADC pen interrupt. 2. ADC_DOUT. Output. ADC serial interface data out. 3. ADC_BUSY. Output. ADC serial interface busy. 4. ADC_DIN. Input. ADC serial interface data in. 5. ADC_DCLK. Input. ADC/LCD serial interface clock. 6~9. B3~ B0. Input. LCD blue data bus bit 3~0. 10. NCLK. Input. LCD clock signal. 11. NC. N/A. N/A. 12. GND. N/A. Ground. 13. DEN. Input. LCD RGB data enable. 14. HD. Input. LCD Horizontal sync input. 15. VD. Input. LCD Vertical sync input. 16~19. B4~B7. Input. LCD blue data bus bit 4~7. 20~27. G0~G7. Input. LCD green data bus bit 0~7. 28. R0. Input. LCD red data bus bit 0. 29. VCC33. N/A. Power 3.3V. 30. GND. N/A. Ground. 31~37. R1~R7. Input. LCD red data bus bit 1~7. 38. GREST. Input. Global reser, low active. 39. SCEN. Input. 3-wire serial interface enable. 40. SDA. In/Out. 3-wire serial interface data. Number. 36. Description.
(47) 4.3.2 LTM 顯示模組訊號時序圖 要將影像顯示在 LCD 面板上,必須按照時序圖上的訊號規範來動作,圖 4.12 為 LTM 面板對每一列(水平方向)做顯示時之基本時序圖。其中,使用者送出的時 脈訊號為 NCLK 腳位,而資料致能訊號則為 DEN(data enable signal)腳位。LTM 面板會依據 NCLK 時脈訊號更新狀態及顯示內容,當 LTM 面板要顯示新的一列 訊號時,HD(horizontal synchronization)腳位會送出一個負緣的脈衝訊號 t hpw ,等 待 t hfp 的時間,直到 DEN 腳位被設至高準位為止,此等待期間為 LTM 面板的後段 無效區域 (back porch),而當 DEN 腳位被致能後,可對 LTM 面板傳送 RGB 的影 像資料,在顯示區域 t hd (display area)這段期間,為資料有效區(Valid Data),也就 是顯示區域(Display Area),在結束資料有效區域到下一個負緣的脈衝訊號 t hpw 的 期間,需等待 t hfp (hsync front porch)的時間,此區段被稱為 LCD 面板的前段無效 區域(front porch),如此,即完成了 LTM 面板一列的影像顯示。. 而 LTM 面板對行(垂直方向)的訊號時序圖如圖 4.13 所示,其中,當 LTM 面 板已顯示完一張影像,或是要更新下一張影像時,VD 訊號腳會送出一個時間長 為 t vpw 的負緣脈衝訊號。而垂直方向的後段與前段之無效區域,則分別由 t vbp 、t vfp 來表示,若在時間 t vd 之間,影像畫面的解析度為 800×480,DEN 的腳會會被致能 480 次。. 37.
(48) 圖 4. 12. LTM 面板水平時序訊號[32]. 圖 4. 13. LTM 面板垂直時序訊號[32]. 38.
(49) 第五章 軟硬體協同設計之混合型多目標追蹤演算法. 由於本文所提出之演算法是用於實現多目標的追蹤,雖然現今的高速電腦執 行速度佳,但用於多目標追蹤上,仍需消耗大量的運算時間,故我們希望藉由硬 體能夠平行處理之特性,提升整體演算法執行的效能。然而,由於硬體在設計上 較為複雜,極需花費較多之時間,故我們初步以軟硬體協同設計之方式來設計實 驗,由於權重計算之設計需要較多彈性,故我們以 Nios II 處理器的軟體來執行權 重計算,而初始化模組、PSO、PF 之更新模組則以硬體方式來實現,而當權重計 算方式以軟體驗證後,便可以移置硬體平台上實現。此方法既可保留軟體設計之 彈性,又可藉由硬體來提升演算法執行的效能。. 以下將介紹我們的系統架構,包含介紹整個硬體加速器之架構,及我們所使 用之硬體模組介紹。章節之規劃如下: 5.1 節介紹多目標追蹤之硬體加速器,5.2 節介紹權重計算模組,5.3 節為其他應用電路。. 5.1 混合型多目標追蹤之硬體加速器 混合型多目標追蹤之硬體加速器如圖 5.1 表示,我們將系統設計為最多可追 蹤三個目標物,而加速器之模組包含了初始化模組、PSO 粒子更新模組、PF 更 新粒子模組、權重計算模組,由於本實驗之目標物有三個,故初始化模組、PSO、 PF 更新模組與權重計算模組分別有三份,並且開了三份記憶體以儲存不同目標物 之粒子與權重資訊。若欲追蹤更多的目標物,只需讓模組的數量與目標物的數量. 39.
(50) 一致即可。我們由編號 A、B、C 表示三個不同的目標物。以下我們將針對各個 模組進行說明。. Weight Calculating Master Weight Calculating #A. Weight Calculating #B. Weight Calculating #C. On-chip Memory. Hybrid Multiple Object Tracking Accelerator. Weight Data #A Particle Data #A. Initialization #A. On-chip Memory Random Number Generator #1. Initialization #B. Weight Data #B. State Machine. Particle Data #B. Initialization #C. On-chip Memory Weight Data #C Particle Data #C. PSO Particle Update #C Fitness Comparison. PSO Particle Update #B Fitness Comparison. PSO Particle Update #A Fitness Comparison. PF Particle Update #A. PF Particle Update #B. PF Particle Update #C. Resampling. Resampling. Resampling. PSO Core. PSO Core. PSO Core. Prediction. Prediction. Prediction. Random Number Generator #2. 圖 5. 1. 混合型多目標追蹤硬體加速器. 40.
(51) 5.1.1 初始化模組 初始化模組(Initialization module)邏輯符號圖如圖 5.2 所示,表 5.1 為其訊號 腳位之說明表。. initialization Clk. oWrite. Reset_n. oParticleData[31..0] oAddress[4..0]. iRandomData[31..0] iEnable. oReady. iWaitRequest. oFinish. 圖 5. 2. 表 5. 1 訊號名稱 Clk reset_n iRandomData iEnable iWaitRequset oParticleData oWrite. 初始化模組訊號圖. 初始化模組訊號說明 傳輸方向 input input input input input output output. oReady. output. oAddress oFinish. output output. 41. 功能說明 時脈訊號 重置訊號 隨機亂數資料 致能訊號 等待訊號 粒子資料 寫入訊號 準備好輸入正確資 料的訊號 粒子位置訊號 結束訊號.
(52) 圖 5.3 為硬體初始化模組架構圖,能夠產生隨機的粒子已完成初始化的動作。 首先,輸入隨機亂數,並把其視為粒子資料,經過 Boundary Comparison 限制 X、 Y 座標的邊界後,便將可用的粒子資料暫存進 FIFO 中,直至存滿我們所需的粒 子數。動作原理如下所述。 (A) 偵測到致能訊號 iEnable 有正緣觸發時,系統便開始動作。 (B) 每 經 過 一 個 clk , 隨 機 亂 數 模 組 便 輸 入 一 組 包 含 32bits 的 隨 機 亂 數 iRandomData。 (C) 將隨機亂數 iRandomData 視為粒子資料,並檢查其位置是否符合範圍邊界的 限制,若符合,便將粒子存進暫存器 FIFO 中,直到所需的粒子數存滿為止。 (D) 當等待訊號下降的時候,將存入 FIFO 中的粒子資料 oParticleData 與其所對 應的位址 oAddress 傳至 State Machine 並將粒子資料寫入。 (E) 粒子資料寫入完成後,致能結束訊號 oFinish。. Initialization Initialization Finish. Boundary Comparison Random Number Generator #1. Address. X Limits Comparison. State Controller #1. Y Limits Comparison Particle Data. 圖 5. 3. Write. Write Data. FIFO. 初始化模組之硬體架構圖. 42. State Machine.
(53) 5.1.2 PSO 粒子更新模組 PSO 粒子更新模組之邏輯符號圖如圖 5.4 所示,表 5.2 為訊號腳位的說明。. PSO Update Clk reset_n iResampleEnable iObjectPosition[31..0] iTmpParticleData[31..0] iParticleData[31..0] iWeightData[10..0] iTmpWeightData[10..0] iVData[31..0] iRandomData[31..0] iWaitRequest. 圖 5. 4. oReadAddress[4..0] oWriteAddress[4..0] oRead oWrite oNewParticleData[31..0] oNowParticleData[31..0] oObjectGbestPosition[31..0] oNewWeightData[10..0] oNewVData[31..0] oResampleFinish. PSO 粒子更新模組訊號圖. 43.
(54) 表 5. 2 訊號名稱 Clk reset_n iResampleEnable iObjectPosition iParticleData iWeightData iVData iRandomData iWaitRequest oReadAddress oWriteAddress oRead oWrite oNewParticleData oNowParticleData oNewWeightData oNewVData oResampleFinish. PSO 粒子更新模組訊號說明 傳輸方向 input input input input input input input input input output output output output output output output output output. 功能說明 時脈訊號 重置訊號 致能訊號 目標物位置資料 粒子資料 權重資料 速度資料 隨機亂數資料 等待訊號 讀取位置 寫入位置 讀取訊號 寫入訊號 下一刻粒子資料 此刻粒子資料 下一刻權重資料 下一刻速度資料 更新完成訊號. 圖 5.5 是 PSO 粒子更新模組的硬體架構圖,能夠經由硬體電路,使用 PSO 演算法進行粒子的更新,動作原理如下所述: (A) 偵測到致能訊號 iEnable 有正緣觸發時,系統便開始動作。 (B) 致 能 讀 取 訊 號 oRead 且 依 序 讀 取 此 刻 粒 子 的 位 置 iParticleData 、 權 重 iWeightData 及速度資料 iVData,將其進行權重比較後,得到 Pbest 與 Gbest, 再將粒子資料 iParticleData 及 Pbest 所對應的位置與權重資料暫存於 FIFO 中,直 到所需的粒子數存滿為止。 (C) 致能寫入訊號 oWrite 且等待直至等待訊號 iWaitRequest 下降為止。 (D) 當 等 待 訊 號 線 下 降 時 , 我 們 將 從 FIFO 依 序 讀 取 前 一 刻 之 粒 子 位 置 iParticleData、粒子速度資料 iVData 及 Pbest 所對應的位置與權重資料,計算下 一刻之速度 oNewVData,根據 PSO 粒子更新公式(2.1)、(2.2)將其與此刻之位 44.
(55) 置 oNowParticleData 相加,以得到下一刻之粒子資料 oNewParticleData。再將 計算好之粒子資料與速度傳給 State Machine,寫入粒子資料,寫入完成以後, 便致能結束訊號 oFinish。. PSO Particle Update Update Finish. State Controller #2. Control. Read Write. Control. Address Pbest Data. FIFO Particle Data. Random Number Generator #2. Random Data. FIFO. Pbest Data. Particle Data Pbest Particle Data. Pbest Particle Data. Particle Data. Fitness Comparison. Weight Data. FIFO. PSO Core. Gbest Particle Data. FIFO. Velocity New_Velocity New_Particle Data. 圖 5. 5. PSO 粒子更新模組之硬體架構圖. 45. State Machine.
(56) 5.1.3 PF 粒子更新模組 PF 粒子更新模組的邏輯符號圖如圖 5.6 所示,表 5.3 為訊號腳位之說明。 PF Update oReadAddress[4..0]. Clk reset_n. oWriteAddress[4..0] oRead. iResampleEnable. oWrite oResampleFinish oParticleData. iParticleData[31..0] iObjectPosition[31..0] iWeightData[10..0] iRandomData[31..0] iWaitRequest. 圖 5. 6. 表 5. 3 訊號名稱 Clk reset_n iResampleEnable iParticleData iObjectPosition iWeightData iRandomData iWaitRequest oReadAddress oWriteAddress oRead oWrite oResampleFinish oParticleData. PF 粒子更新模組訊號圖. PF 粒子更新模組訊號說明表 傳輸方向 input input input input input input input input output output output output output output. 功能說明 時脈訊號 重置訊號 致能訊號 粒子資料 目標物位置資料 權重資料 隨機亂數資料 等待訊號 讀取位置 寫入位置 讀取訊號 寫入訊號 結束訊號 粒子資料. 圖 5.7 是 PF 粒子更新模組的硬體架構圖,能夠經由硬體電路,使用 PF 演算 法進行粒子的更新,動作原理如下所述: 46.
(57) (A) 偵測到致能訊號線 iEnable 有正緣觸發時,系統便開始動作。 (B) 致能讀取訊號線 oRead 且輸出隨機亂數 iRandomData 後 5bits 當作讀取位置 oReadAddress,將其傳至 State Machine 中,根據讀取位置 oReadAddress 隨機 讀取與其相對應之粒子資料 iParticleData,比較權重值直至讀取數量符合競爭 大小之參數,以此進行重新取樣的動作。 (C) 每當讀取之粒子資料的數量符合競爭大小之參數時,就將權重值最高的粒子 加上隨機亂數 iRandomData 前 5 bits 作為擾動值,以作為下一代之粒子,依序 將其暫存於 FIFO 中直至存滿粒子數量,以此完成預測之動作。 (D) 致能寫入訊號線 oWrite 且等待直至等待訊號線 iWaitRequest 下降為止。 (E) 當 等 待 訊 號 線 下 降 時 , 將 粒 子 資 料 oParticleData 與 其 所 對 應 的 位 置 oWriteAddress 傳給 State Machine 以將粒子資料寫入。 (F) 資料寫入直至符合粒子數為止,致能結束訊號。. PF Particle Update Random Number Generator #2. Update Finish. Random Data #1 Control Control. Read. State Controller #2. Write Address. Resample Finished Weight Data. FIFO. Weight Data. Resampling Particle Data. Particle Data. FIFO. Temp Particle Data. New Particle Data Random Data #2. FIFO. Prediction. 圖 5. 7. Write Data. PF 粒子更新模組之硬體架構圖 47. State Machine.
(58) 5.1.4 權重計算模組 權重計算模組(Weigh Calculating Module)如圖 5.8 所示,是以多主從架構之方 式所設計的,方法為設計一個 Avalon Bus Slave 端的控制器 Weight Slave,透過此 控制器,讓 Nios II 處理器可以與 Weight Calculating Master 互傳資料,且共同分 享記憶體。故 Nios II 處理器可以以較有彈性之方式用軟體計算權重值,方便修改 要解決的問題,當確定軟體所設計之方法沒有問題後,便利用硬體實現權重計算 主控端模組 Weight Calculating Master,加快執行的速度,達到以軟硬體方式彈性 的設計權重計算之模組。. Weight Calculating Nios II Processor. Weight Calculating Master. Weight soft computing. Weight hardware computing. Avalon Bus. SDRAM Controller. 圖 5. 8. Weight Slave. 權重計算模組. 以硬體方式所設計之 Weight Calculating Master 的邏輯符號圖如圖 5.9 所示, 訊號腳位說明由表 5.4 表示。當其根據粒子資料計算完權重時,便將計算好之粒 子資訊傳回 RAM 儲存。. 48.
(59) Weight_assignment_master Clk reset_n avm_m1_waitrequest. avm_m1_export_oAddress[31..0] avm_m1_byteenable[3..0] avm_m1_read avs_s1_waitrequest. avm_m1_readdata[31..0] avm_s1_chipselect. avm_m1_export_oAddress[4..0] avm_m1_export_oRDreq avm_m1_export_oWRreq. avm_s1_write avm_s1_writedata[31..0]. avm_m1_export_oWeightdata[15..0]. avm_s1_address[2..0] avm_s1_byteenable[3..0]. avm_m1_export_oObjectPosition. avm_m1_export_iEnable. avm_m1_export_oGetObject avm_m1_export_oFinish. avm_m1_export_iReset_n. avm_m1_export_oCalculating_method. avm_m1_export_iWaitreq avm_m1_export_iParticleData[31..0]. avm_m1_export_orxycnt[15..0]. avm_m1_export_iObjectdata[31..0]. avm_m1_export_oPokNumber[5..0]. avm_m1_export_iOBJ_xycnt[31..0]. 圖 5. 9. 表 5. 4 訊號名稱 Clk reset_n avm_m1_waitrequest avm_m1_readdata avs_s1_chipselect avs_s1_read avs_s1_write avs_s1_writedata avs_s1_address avs_s1_byteenable avm_m1_export_iEnable avm_m1_export_iReset_n avm_m1_export_iWaitreq avm_m1_export_iParticleData. 權重計算模組訊號圖. 權重計算模組訊號說明表 傳輸方向 功能說明 Avalon bus 時脈訊號 input Avalon bus 重置訊號 input Avalon bus Master 等待訊號 input Avalon bus Master 讀出資料匯流 input 排訊號 Avalon bus Slave 晶片選擇訊號 input Avalon bus Slave 讀取訊號 input Avalon bus Slave 寫入訊號 input Avalon bus Slave 寫入資料訊號 input Avalon bus Slave 位址線訊號 input Avalon bus Slave 字節有效訊號 input 權重計算模組致能訊號 input 權重計算模組重置訊號 input 等待訊號 input 粒子資訊 input 49.
(60) avm_m1_address avm_m1_byteenable avm_m1_read avs_s1_readdata avs_s1_waitrequest avm_m1_export_oAddress avm_m1_export_oRDreq avm_m1_export_oWRreq avm_m1_export_oWeightData avm_m1_export_oObjectPosition avm_m1_export_oObjectGet avm_m1_export_ofinish. output output output output output output output output output output output output. Avalon bus Master 位址線訊號 Avalon bus Master 字節有效訊號 Avalon bus Master 讀取訊號 Avalon bus Slave 讀出資料訊號 Avalon bus Slave 等待訊號 位置訊號 讀取訊號 寫入訊號 權重資料 目標物位置 找到目標物訊號 結束訊號. 權重計算模組的硬體架構圖如圖 5.10 所示,動作原理分別敘述如下: (A) 偵測到致能訊號 avm_m1_export_iEnable 有正緣觸發時,系統便開始動作。 (B) 致 能 讀 取 訊 號 avm_m1_export_iParticleData , 並 把 位 置 訊 號 輸 出 至 State Machine 以讀取粒子資料 avm_m1_export_iParticleData,將讀取之資料暫存於 FIFO 中直到全部粒子讀取完畢。 (C) 將粒子的資訊解碼到 SDRAM 的影像資料位置,經由 Avalon Bus Master 的位 址訊號線 avm_m1_address 讀取粒子的影像資料,並讓其與建模的目標物影像資 料比對顏色資訊,以此來計算權重值。 (D) 將計算好之權重值暫存在 FIFO 內,直到全部的粒子都計算完權重為止。 (E). 致 能 寫 入 訊 號 線 avm_m1_export_oWRreq 且 等 待 直 至 等 待 訊 號 線. avm_m1_export_iWaitreq 下降為止。 (F) 當等待訊號線下降之時,將權重資訊 avm_m1_export_oWeightData 與其所對 應的位置 avm_m1_export_oAddress 傳給 State Machine 以寫入權重資料。 (G) 當權種資料寫入完後,致能結束訊號線 avm_m1_export_ofinish。. 50.
(61) Weight Calculating Read Write Address. Avalon bus. State Controller #3. Weight Finish Coordinate. Particle Decoder. Control. RGB raw data. RGB Comparison. 圖 5. 10. Particle data. State Machine. Weight data. 權重計算模組之硬體架構圖. (1) 粒子資訊 每顆粒子都有包含影像資訊用以計算權重。我們的粒子資訊是以一組在影像 中之座標(x,y)為起點,往右、下延伸至與目標物大小相同之影像區域,如圖 5.11 所示。其中,(x,y)為粒子之位置,n 為目標物之邊長。. (x,y). m. n. 圖 5. 11. 粒子資訊. (2) RGB 比較 我們目標物追蹤的方法是以顏色作依據,根據每一顆粒子之影像資訊,與預 先建模好之目標物的影像資訊做 RGB 的比較。本文之目標物有三個,由圖 5.12 所示。計算方法由式(5.1)、(5.2)所表示,其中,k 為目標物數量,i 為第 i 個粒子, 51.
(62) wik 為追蹤第 k 個目標物粒子群中第 i 顆粒子的權重,Pab 為粒子涵蓋影像範圍座 標(a,b)上的 pixel,Pab(R)、Pab(G)、Pab(B)分別為座標上 pixel 的 R、G、B 值,a 為座標橫軸,b 為座標縱軸。我們將每顆粒子與目標物的 Pixel 做 RGB 比較的動 作,當粒子所在範圍之影像區域與目標物影像相近的 Pixel 越多,代表其與目標 物影像越相似。 m. n. wki Pab , m=64,n=64. (5.1). 1 if (Pab ( R) & & Pab (G) & & Pab ( B)) 80 Pab otherwise. 0. (5.2). a 1 b 1. 目標物 1 圖 5. 12. 目標物 2. 目標物 3. 欲追蹤之目標物,分別由目標物 1: 紫色、目標物 2: 橘色、 目標物 3:黑色 來表示. 5.2 其他應用模組 本章節將介紹混合型多目標硬體加速器所需用到其他的電路模組,其中包含 了隨機亂數模組、RAM 與 FIFO 暫存器。我們分別由以下小節來敘述。. 5.2.1 隨機亂數模組 圖 5.13 為隨機亂數模組的邏輯符號圖,其訊號腳位說明由表 5.5 來表示。隨 機亂數模組於每兩個 clock 可以同時輸出兩組不同的隨機亂數(oRandvalue1, 52.
(63) oRandvalue2),為了使其與混合型多目標硬體加速器同步,我們必須給予其比混 合型多目標硬體加速器快兩倍的頻率,才可讓產生的隨機亂數可供給混合型多目 標硬體加速器使用。 Random iClock. oRandvalue1[31..0]. iInitseed. oRandvalue2[31..0]. 圖 5. 13. 表 5. 5 訊號名稱 iClock iInitseed oRandvalue1 oRandvalue2. 隨機亂數模組之邏輯符號圖. 隨機亂數模組輸出入訊號說明表 傳輸方向 Input Input Output Output. 功能說明 時脈訊號 初始訊號 隨機亂數 1 隨機亂數 2. 5.2.2 RAM RAM 為一種 on chip 的記憶體,由 Quartus II 裡面的 Mega Function 所建立 的,是本硬體中能使用速度最快的記憶體。本文於混合型多目標硬體加速器使用 的 RAM 一共有 32 筆資料,每筆的資料寬度為 32bits,為了能實現軟硬體協同設 計之計算,我們的 RAM 有兩個輸入控制埠還有兩個輸出端,分別能夠讓資料傳 入硬體與 nios ii 的軟體介面。本論文使用了兩組 RAM,功用分別為儲存粒子資 料與儲存權重資料。RAM 的輪及符號圖如圖 5.14 所表示,訊號腳位說明如表 5.6 所表示。. 53.
Outline
相關文件
主修模組必選課程,列屬主修模組選修規 定之 20 學分內,如不及格者,需另外修習 主修模組之其他選修課程 ,以補足所缺之
Income is generated from wages and salaries, interest, rent and profits. In a labour-intensive industry such as tourism, a large part of income comes from wages and salaries earned
Institutionalized Tourism The Organized Mass Tourist – Packaged tours.. –
1997 年 IEEE ELECTRONICS LETTERS 曾有學者 A.Motamed 、 C.Hwang 以及 M.Imail 提出一篇 CMOS Exponential Current-to-Voltage Converter[7],主要 是利用
服務選取模組主要目的是從 UDDI (2.1.5 節)眾多服務當中,依照需求選取出 一組合適的網路服務。而
在軟體的使用方面,使用 Simulink 來進行。Simulink 是一種分析與模擬動態
針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖
在與 WINS 有關的研究之中,除了研發感測器硬體這個領域之外,其它的領域均需要