1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế hệ thống phát hiện làn đường cho xe tự hành dựa trên phần cứng

74 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế hệ thống phát hiện làn đường cho xe tự hành dựa trên phần cứng
Tác giả Nguyễn Nguyễn Nhật Anh
Người hướng dẫn Tiến Sĩ Lâm Đức Khải
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 74
Dung lượng 44,43 MB

Nội dung

Trong đó, Hough Transform HT là một thuật toán được sử dụng rộng rãi cho việc phát hiện đường thắng nhờtính mạnh mẽ và hiệu quả phát hiện của nó ngay cả khi có nhiều nhiễu từ môi trườngh

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

NGUYEN NGUYEN NHẬT ANH - 19521200

KHÓA LUẬN TÓT NGHIỆP

THIẾT KE HE THONG PHÁT HIỆN LAN DUONG CHO

XE TU HANH DUA TREN PHAN CUNG

Design Lane Detector System for Autonomous Vehicles

based on Hardware

KY SU NGANH KY THUAT MAY TINH

GIANG VIEN HUONG DAN TIEN SI LAM DUC KHAI

TP HO CHÍ MINH, 2024

Trang 2

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 10/QD-DHCNTT

ngày ngày 05 tháng 01 năm 2024 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 3

LỜI CÁM ƠN

Lời đầu tiên, em xin bày tỏ lòng biết ơn chân thành đến Tiến sĩ Lâm ĐứcKhải, người đã ân cần hướng dẫn em suốt quá trình nghiên cứu khóa luận, cung cấp

các trang thiết bị cần thiết, và dành thời gian quý báu để chỉnh sửa và góp ý, giúp em

hoàn thành khóa luận một cách xuất sắc nhất có thé

Em cũng muốn bày tỏ lòng biết ơn đến các thầy cô và bạn bè trong khoa Kỹ

thuật Máy tinh cũng như toàn thé trường Dai học Công nghệ Thông tin — Đại họcQuốc gia Thành phố Hồ Chí Minh đã dành tâm huyết dé truyền đạt kiến thức hữu ích

và hỗ trợ em suốt quá trình học tập tại trường Những kiến thức và kinh nghiệm quýbáu đó sẽ là nguồn động viên lớn giúp em tự tin hơn khi bước vào thế giới làm việc

Cuối cùng, em muốn bày tỏ lòng biết ơn sâu sắc đến gia đình vì sự hỗ trợ,

động viên và sự ủng hộ vững vàng trong suôt hành trình học tập của em.

Trong quá trình thực hiện khóa luận, em gặp phải một số khó khăn và hạnchế do tính chuyên sâu của đề tài Mong rằng các thầy cô và bạn bè có thể thông cảm

và góp ý để khóa luận này có thể được hoàn thiện hơn trong tương lai

Thành pho Hồ Chí Minh, tháng 1 năm 2024

Sinh viên thực hiện

Nguyễn Nguyễn Nhật Anh

Trang 4

MỤC LỤC

Chương 1 _ GIỚI THIỆU TONG QUAN DE TÀI ° s2 3

1.1 Đặt vấn đỀ -c- s22 222 2212211211211 211111211 211 1e rree 3 1.2 Một số nghiên cứu liên quan ¿¿©++2+++x+2£x2xxerxeerxesrxrrreee 3

1.3 Hướng nghiên cứu của đề tài :-©22+52+EE+EEeEE2EEEEEEEEerkerrrrrkerxees 4

1.4 Bố cục báo cáo -cckc2t 2E E122121121121111211211 01111 eree 5

Chương 2 CO SỞ LÝ THUYÊTT 22s ©sssessesseeseessese 7

2.1 TOng quan 5c 5222k EEE1E111112112121111111 111.1 cxe 7

2.2 Cac thuật toán SỬ Ụng - -c c1 11v vn ng ng ng 7

2.2.1 Thuật toán Gray SCaÌÏG€ - c1 SH HH ng ng 7 2.2.2 Thuật toán Sobel Edge IDDefecfIOn s5 *++seeseeersesreeere 8

2.2.3 Thuật toán Hough “TransfOrm - 5 5< + **sxseseEeseeserseesers 11

Chương 3 THIET KE HE THONG DE XUẤTT ° <- 15

3.1 _ Thiết kế hệ thống dé xuat oie cceecceececccsssceseeseesessessessesesessssseeseesesesseeees 15

3.1.1 Thiết kế high level design cho thiết kế phần cứng đề xuất 16

3.1.2 _ Thiết kế chi tiết cho phan cứng - - 2-2 2522 +Ee£xe£xerssrszsez 18 3.1.2.1 Thiết kế module MASKING AND GRAYSCALE 19

3.1.2.2 Thiết kế module SOBEL EDGE DETECTION - 22

3.1.2.3 Thiết kế module HOUGH TRANSFORM - - 29

3.2 _ Triển khải thiết kế bằng ngôn ngữ verilog và synthesis trên Vivado 42

3.2.1 Triển khai thiết kế sử dụng ngôn ngữ verilog và Elaborate thiết kế 42

3.2.2 Synthesis thiết kế trên VivadoO :-©-z+cz+cxerxerxrrrrxerkerree 43 3.2.3 Implementation thiết kế trên Vivado -: ¿csz©5++cs++cs+2 46

Trang 5

Chương 4 KET QUÁ ĐÁNH GIÁ HE THONG THIẾT KÉ 5

4.1 Kết quả mô phỏng simulation và đánh giá 2-2-5252 s2 zx+zxzez 514.2 _ Thực thi của thiết kế trên Vivado -: s:©2¿+cx+2cxvcxrerxrsrxrrrrerrrcres 52

4.2.1 Thực thi của hệ thống phát hiện làn đường -: 5- 52

43 So sánh kết quả thiết kế với các nghiên cứu liên quan -.- 62

Chương 5 KET LUẬN VA HUONG PHÁT TRIEN 64

5.1 Kt Quan eee eecceccccccccecsesssessessessesseessessessessssssessessessusssessessesssssessessessessseeseesess 64

5.2 Kho khan gap phat oo eee '^oồ”' 64

5.3 Hướng phat tien oo.ccceccscccccccsscsssesssssssecssesssessecssecsssssscssecssecsesssecssecsseseeasecs 64

TÀI LIEU THAM KHAO -2- se <ssssssessevsseesserssecssee 65

Trang 6

DANH MỤC HÌNH VẼ

Hình 2.1: Hình anh minh họa thuật toán Gray Scale 5 + *++ssssessss 7

Hình 2.2: Mặt nạ dọc 0 (bên trái) và mặt nạ ngang h (bên phải) 9

Hình 2.3: Kết quả minh họa cho việc nhân tích chập với mặt nạ đọc 9

Hình 2.4: Kết quả minh họa cho việc nhân tích chập với mặt nạ ngang 9

Hình 2.5: Kết quả minh họa cho việc tính giá trị Gmag và Gatan từ Gx và Gy 10

Hình 2.6: Hình ảnh minh họa thuật toán Sobel Edge Detection - 10

Hình 2.7: Ví dụ nhận diện đường thang từ các điểm den -2- 5552552 11 Hình 2.8: Biểu diễn đường thăng bang phương trình y = Mx + b 12

Hình 2.9: Biéu diễn đường thăng bang cặp tham số (rho, O) - . - 12

Hình 3.1 Vùng quan tâm của hình ảnh ¿6 << 2E 1E E*EE ntrưy 16 Hình 3.2 Hệ thống để xuất ¿- 2-52 ©222S49E19E182122E12E15212211211121 7121121111, l6 Hình 3.3: High level đ€S1g1i <1 9 ng ng ng ng tr 17 Hình 3.4: Tổng quan thiết kế module 7(P -¿ 2 +52 £+££+££+E££Ee£E+£k+rzrszxez 18 Hình 3.5: Thiết kế module MASKING và GRAYSCALE - c::+c-cc:-+ 19 Hình 3.6 Tài nguyên sử dụng của khối MASKING AND GRAY SCALE 21

Hình 3.7 Tan số Implementation Module MASKING AND GRAYSCALE 21

Hình 3.8 Timing của khối MASKING AND GRAYSCALE ocessessessessssssessessesssessesseess 22 Hình 3.9: Tổng quan thiết kế module SOBEL EDGE DETECTION 22

Hinh 3.10 Line Buffer [6] 0 = 24

Hình 3.11 Bang so sánh tài nguyên sử dụng cho FIFO [12] -«<-«2 24 Hình 3.12 Line Buffer đề xuất ¿22+ 22v tre 25 Hình 3.13 Convolution ESÌM - nh ng TH ng nh Hi tr 26 Hình 3.14 Tài nguyên sử dụng của khối SOBEL EDGE DETECTION 28

Hình 3.15 Tan số Implementation Module SOBEL EDGE DETECTION 28

Hình 3.16 Timing của khối SOBEL EDGE DETECTION W.scesssssessessesssessessessesssesseess 29 Hình 3.17 Thiết kế Hough tranform của nghiên cứu [6] . :-z-5z=5: 29 Hình 3.18: Tổng quan thiết kế module HOUGH TRANSFORM 30

Hình 3.19 Module CORDIC ATAN của nghiên cứu [6] - «<< << s<<+<<+2 32

Hình 3.20: Module COrdic << << +2 + 1 1 EEEE11111111111 111111 188555555555 11 kvvvvvkerer 33

Trang 7

Hình 3.21 Module Calculate RHO process trong nghiên cứu [6] - 34 Hình 3.22: Module Calculate P - «5 + s31 91 E93 111 1 nh ng nên 34

Hình 3.23 Module Voting của nghiên cứu [Ó ] -«- «+ £+£eseeeeesessessessxs 36

Hình 3.24 Module Voting đề xuat cc.ccccccccsesssesssesssesssessesssecssecsusssesssecsseeseessesssecseeess 37

Hình 3.25 So sánh phân vùng VOTTNG - S SH HH ng ggg 38

Hình 3.26 Máy trạng thái Hough Transform 55+ + + + ++se++eexseeseeexs 39

Hình 3.27 Tài nguyên sử dung của khối HOUGH TRANSFORM 41Hình 3.28 Tần số Implementation Module HOUGH TRANSFORM 41

Hình 3.29 Timing của khối HOUGH TRANSFORM ccsscsssessessssssesseeseessesseeseess 42

Hình 3.30: Schematic trên phần mềm Vivado c.sccsscsssesssesssecsesseessecssessessesssecseeess 42

Hình 3.31 Clock constraint - 5 5 c1 001 911991 930 1v vn Hư 43

Hình 3.32 Chiến thuật Synthesis và tùy chọn 2 2 2+ ecxerxerxerxrrsrree 44

Hình 3.33 Tài nguyên sử dụng Post-Synthesis cà sesseeerrrrske 45

Hình 3.34 Chiến thuật Implementation và tùy chọn .-«-+-««++sx<++sxe+ses 46

Hình 3.35: Xung clock chính của IP hệ thống -¿- 2 +2 +2s++z++zx+zxzs+ 47

Hình 3.36: Phân tích Timing cho IP hệ thống 2- 2-2 2 2 ££E££E+£++£++£+2s+2 47

Hình 3.37: Tài nguyên Implementation sử dụng - - -« «+ +-«+++sexssesseers 48

Hình 3.38: Năng lượng tiêu thụ của IP hệ thống - 2 2 2 s2 ++£x£+z£s2 +2 48Hình 4.1: Tắm ảnh đầu vào :¿-©222+22++t2222tttEEkrttrttrrrttrrrrrrirrrrrrriee 5IHình 4.2: Kết quả mô phỏng của hệ thống trên 01 frame ảnh - - 52Hình 4.3: Kết quả Post-Implementation Simulation của hệ thống 33

Hình 4.4 GRAY SCALE MAIE cà 1 HH TH TH TH HH HH hiệp 55 Hình 4.5 SOBEL EDGE DETECTION Gx MAIE 5c cscsesersrrsrske 56 Hình 4.6 SOBEL EDGE DETECTION Gy MAIE - cà seessersrsersee 56 Hình 4.7 Cordic Magnitude value MAIE 5 óc SH HH ng it 57

Hình 4.8 Cordic arctan angle value MAIE 6 << 41kg ngư 57

Hình 4.9 Quá trình lấy kế quả và đánh giá 2-2 222E£+EE+£EtzEzEesrxerxerex 59Hình 4.10 Kết qua sau mô phỏng của video Ì - 2-2-2 2 2++£xe£x+£xerzrszsez 60Hình 4.11 Kết quả sau mô phỏng của video 2 - - 2-2 + 2 ++E££Ee£ke£xererszxez 60Hình 4.12 Kết quả sau mô phỏng của video 3 -2- ©2222 x+x+zx+z+zzxvrxzez 61

Trang 8

DANH MỤC BANG

Bang 1.1: Mục tiêu kiến trúc đề xuất của nhĩm 2- 2 2 2+ +x£E+£++£z£zEzez 5Bảng 3.1: Ý nghĩa của các tín hiệu trong module JWPUT - -¿©-sz©5+=s+ 18Bảng 3.2: Ý nghĩa các tin hiệu của Module Grayscdle c.cccsssssesssesssecsesseessessseeseess 19Bang 3.3 So sánh Latency giữa nghiên cứu [6] và thiết kế đề xuất - 21

Bang 3.4: Mơ ta các ngõ vào và ra của module SOBEL EDGE DETECTION 23

Bảng 3.5 Máy trạng thái ConVỌUtIOH - c1 1v ng ng ng 26

Bang 3.6: Tổng số chu kỳ của module SOBEL EDGE DETECTION 28Bảng 3.7: Ý nghĩa các tín hiệu module HOUGH TRANSFORM sử dụng 3l

Bang 3.8: Máy trang thái của Hough tranSfOTm «+ sx£ssseeeseesessesske 39

Bang 3.9: Tổng số chu ky của module HOUGH TRANSFORM - 41

Bảng 3.10 So sánh tài nguyên giữa kết quả Synthesis và kết quả Implementation 49

Bang 4.1: Thơng số độ chính xác giữa module so với label -:-s:5: 61

Bang 4.2: Kết quả so sánh giữa kiến trúc của nhĩm với các bài báo cùng chủ đề 62Bảng 4.3: Tài nguyên phần cứng của kiến trúc so với các bài báo liên quan 62Bảng 5.1: Kết quả hiện tại với mục tiêu đặt ra 2- ¿+ ©++x++zxzzxezxesrxs 64

Trang 9

DANH MỤC TỪ VIET TAT

ADSA Advanced Driver Assistance System

AXI Advanced eXtensible Interface

DMA Direct Memory Access

DLD Dark — Light — Dark

DSP Digital Signal Processors

FF Flip Flop

FPGA Field Programmable Gate Array

FPS Frame Per Second

HT Hough Transform

HDL Hardware Description Language

HPS Hough Parameter Space

HW HardWare

LDWS Lane Departure Warning System

LKAS Lane Keeping Assist System

LUT Look — Up — Table

WHS Worst Hold Slack

WPWS Worst Pulse Width Slack

MAE Mean Absolute Error

Trang 10

TÓM TẮT KHÓA LUẬN

Việc nhận diện làn đường được xem là một trong những mục tiêu quan trọng

nhất trong xử lý hình ảnh và thị giác máy tính, đặc biệt trong hỗ trợ người lái xe nâng

cao — Advanced Driver Assistance System (ADSA) Trong đó, Hough Transform

(HT) là một thuật toán được sử dụng rộng rãi cho việc phát hiện đường thắng nhờtính mạnh mẽ và hiệu quả phát hiện của nó ngay cả khi có nhiều nhiễu từ môi trườnghoặc xuất hiện nhiều đường thang không liền mạch Tuy nhiên, nhược điểm của thuậttoán này chính là độ phức tạp tính toán cao do phải sử dụng nhiều phép toán lượnggiác, yêu cầu tài nguyên bộ nhớ lớn và trong thực tế, tốc độ xử ly của thuật toán sé bị

chậm di.

Trong khóa luận này, nhóm thực hiện một mô hình phát hiện làn đường dựa

trên giải pháp đề xuất của bài báo báo số [6] và [4] kết hợp phương pháp đề xuất nàygiúp giảm kích thước của bộ nhớ tích lũy đồng thời cũng làm giảm độ phức tạp củacác phép tính toán, hệ thống phát hiện làn đường sẽ bao gồm việc phát hiện những

vạch kẻ trắng của làn đường dựa trên thuật toán Hough Transform Nhóm sẽ tiễn hành

cải tiễn và tối ưu hóa về độ phân giải xử lý và bộ nhớ xử lý ở giải pháp đề xuất này

Phần cứng mô tả sẽ được thiết kế bởi ngôn ngữ miêu tả phần cứng Verilog vàsau đó sử dung Vivado dé mô phỏng và phân tích tài nguyên và tốc độ xử lý Cuốicùng thiết ké sẽ được hiện thực lên FPGA kit Virtex 7 XC7VX485T-2FFG1761C

Trang 11

đồng thời cảnh báo người lái phía sau khi xe lùi hoặc phanh tự động khi phía trước

có sự dừng đột ngột.

Khía cạnh quan trọng khác là khả năng tiếp cận vận chuyền cho những ngườikhông thé lái xe do tuổi tác hoặc khuyét tật thông qua việc sử dụng các phương tiện

cơ giới tích hợp công nghệ hỗ trợ lái xe Do đó, tính năng phát hiện làn đường thời

gian thực đóng vai trò quan trọng trong việc nâng cao an toàn và hiệu suất của cácphương tiện cơ giới sử dụng công nghệ này Nó trở thành một yếu tố cơ bản của hệthống cảnh báo lệch làn đường (LDWS), một thành phần không thé thiếu trong Hệthống Hỗ trợ Lái xe Nâng cao (ADAS)

Hệ thống này tận dụng thông tin từ tính năng phát hiện làn đường thời gian

thực để duy tri sự ôn định trong làn đường và cung cấp hướng dẫn khi cần thiết, từ

đó giúp tránh được những rủi ro tiềm an Có nhiều nghiên cứu liên quan đã được thực

hiện trong những năm gan đây, sử dụng các công nghệ cảm biến như radar, tia laser

và các phương pháp khác.

Tuy nhiên, tính năng này vẫn đối mặt với nhiều thách thức, đặc biệt là trong

môi trường có nhiều biến đổi về điều kiện ánh sáng hoặc sự xuất hiện của nhiều

phương tiện gây nhiễu Điều này làm giảm hiệu suất của hệ thong khi hoạt động theo

thời gian thực Do đó, việc cải tiễn tốc độ xử ly của hệ thong phát hiện làn đường dựa

trên phần cứng là một trong những mục tiêu quan trọng mà đề tài khóa luận này

hướng tới.

Trang 12

Chương 1 GIỚI THIEU TONG QUAN DE TÀI

1.1 Đặt van đề

Phát hiện làn đường đóng vai trò quan trong trong việc xử ly hình ảnh va thi

giác máy tính; được sử dụng rộng rãi trong các lĩnh vực công nghiệp dé hướng dan

các phương tiện hoặc trong các Hệ thống Hỗ trợ Lái xe Tiên tiến (ADAS) Mặc dù

có nhiều thuật toán khác nhau được áp dụng cho phát hiện làn đường, nhưng thuậttoán Biến đổi Hough được ưa chuộng nhất nhờ tính 6n định trong việc giải quyết cácthách thức như đường thăng không liên tục, đặc điểm phân tán, hoặc ảnh hưởng của

nhiễu môi trường Tuy nhiên, thuật toán này đòi hỏi tính toán phức tạp do phải sử

dụng nhiều phép tính lượng giác và tài nguyên bộ nhớ lớn, làm giảm tốc độ xử lýtrong thực tế Vì vậy, triển khai hệ thống phát hiện làn đường cho các xe tự hành dựatrên thuật toán Hough Transform vẫn là một thách thức đối với ngành công nghiệp

1.2 Một số nghiên cứu liên quan

Theo như các nghiên cứu trước đó, nghiên cứu [2] [3] đã xây dựng một kiếntrúc phần cứng cho giải thuật Hough Transform song song và sử dụng giải pháp bảng

tra cứu LUT, điều này giúp giảm thời gian tính toán các phép toán lượng giác phứctạp mà không làm thay đôi độ chính xác, ngoài ra nghiên cứu [2] còn dé ra các giảipháp tính toán song song và bầu chọn song song nhằm làm tăng tốc độ xử lý

Dựa trên nghiên cứu [2], nghiên cứu [3] tiêp tục làm tăng toc độ xử lý và giảm

yêu câu bộ nhớ nhờ vào việc bau chọn các vi trí có sô phiêu bau lớn nhât ở cục bộ

-local maximum.

Đối với nghiên cứu [4] các tác giả đã xây dung một thuật toán mới cho không

gian tham số Hough — Hough Parameter Space (HPS), phương pháp mới này đã làm

giảm đáng kê yêu cầu về bộ nhớ so với việc thực hiện giải thuật Hough Transform(HT) tiêu chuẩn

Tương tự như nghiên cứu [4], ở nghiên cứu [5], các tác giả đã dùng phương

pháp sử dụng các đặc điểm cu thé của làn đường đề sửa đổi thuật toán HT tiêu chuẩn,

Trang 13

đồng thời phân tách thuật toán mới thành một tập hợp các khối several hardware(HW) và software (SW) Hiệu suất hoạt động được tối ưu hóa rất nhiều bằng cáchgiảm trực tiếp của phép tính HT và bộ nhớ tiêu thụ.

Các tác giả ở nghiên cứu [6] , nhóm nghiên cứu đã hiện thực hệ thống pháttriển làn đường dựa trên bài báo khoa học số [4] bao gồm việc sử dụng vùng quan

tâm (region of interest) khi thực hiện phát hiện làn đường làm tăng độ chính xác khi

phát hiện.

Trong nghiên cứu [7], các tác giả đã phát triển một hệ thống cảnh báo việc xe

chạy ngoài làn đường chính xác trong điều kiện ánh sáng khác nhau, sử dụng một hệthống tầm nhìn một mắt thời gian thực Các thuật toán như phương pháp ngưỡng Otsu

và biến đổi Hough đã được áp dung dé xử lý ánh sáng, nhận diện đường biên lànđường và theo dõi vị trí của xe trong làn đường, đồng thời cung cấp cảnh báo khi xe

sắp rời khỏi làn đường

Trong nghiên cứu [8], tác giả đã tạo ra một biến thé của biến đổi Hough gọi làHough dựa trên gradient dé phát hiện đường thăng Điều này đã giúp giảm đáng kếlượng tính toán mà vẫn duy trì độ chính xác Hệ thống được xây dựng trên Xilinx

Virtex-7 FPGA sử dụng các lát cắt DSP tích hợp và khối RAM

Nghiên cứu [9] sử dụng các thuật toán Gaussian blur, Gray Scale,

DLD-threshold và Hough Transform dé phát hiện đường thang Phương pháp này đã chothấy hiệu suất và độ chính xác tốt trong việc xử lý thông tin về đường đơn giản và

phúc tạp Tuy nhiên, nghiên cứu này chưa đánh giá tác động của ánh sáng mạnh va vạch làn đường không rõ ràng do môi trường tạo ra.

1.3 Huong nghiên cứu của đề tài

Nhóm thực hiện một mô hình phát hiện làn đường dựa trên giải pháp đề xuấtcủa bài báo báo số [6] và [4] kết hợp phương pháp đề xuất này giúp giảm kích thướccủa bộ nhớ tích lũy đồng thời cũng làm giảm độ phức tạp của các phép tính toán, hệthống phát hiện làn đường sẽ bao gồm việc phát hiện những vạch kẻ trắng của làn

Trang 14

đường dựa trên thuật toán Hough Transform Nhóm sẽ tiến hành cải tiễn và tối ưuhóa về độ phân giải xử lý và bộ nhớ xử lý ở giải pháp đề xuất này.

Phần cứng mô tả sẽ được thiết kế bởi ngôn ngữ miêu tả phần cứng Verilog vàsau đó sử dụng Vivado để mô phỏng và phân tích tài nguyên và tốc độ xử lý

Mục tiêu về tôc độ, tân sô của kiên trúc nhóm đê xuât so với các nghiên cứu

trước đó được thé hiện ở Bang 1.1

Bảng 1.1: Mục tiêu kiến trúc đề xuất của nhóm

Báo cáo này chia làm 05 chương chính Chương đầu tiên đặt van đề về dé tài,

hướng nghiên cứu của dé tài và mục tiêu của đê tài Các chương tiép theo được trình bày như sau:

Chương 2 CƠ SỞ LÝ THUYÉT

Chương 2 sẽ trình bày những công cụ phục vụ trong việc thiết kế hệ thống và

lý thuyết của các giải thuật được sử dụng trong hệ thống

Chương 3 THIẾT KE HE THONG DE XUẤT

Trang 15

Chương 3 sẽ trình bày về tông quan hệ thống phát hiện làn đường được thựchiện trên nền tang chính là thiết kế trên phan mềm Vivado Design Suite.

Chương 4 KET QUÁ ĐÁNH GIÁ HE THONG THIET KE

Chương 4 trình bày phương pháp đánh giá của thiết kế, kiểm tra kết quả mô

phỏng của hệ thống dựa trên công cụ Vivado Design Suite và kết quả tổng hợp, thựcthi của thiết kế và hién thị kết quả sử dụng python Bên cạnh đó, kết quả thực hiện

cũng được so sánh với các nghiên cứu liên quan.

Chương 5 KET LUẬN VA HUONG PHÁT TRIEN

Chương 5 sẽ tóm tắt toàn bộ công việc và kết quả đạt được Đồng thời đề raphương hướng phát triển cho đề tài trong tương lai cũng được trình bày ở chương

`

này.

Trang 16

Chương 2 CƠ SỞ LÝ THUYET

2.1 Tổng quan

Trong nghiên cứu này, nhóm đề xuất một kiến trúc phát hiện đường dựa trên

thuật toán Hough Transform, một công cụ hữu ích đặc biệt trong việc xử lý hình ảnh.

Mục tiêu chính của thuật toán này là xác định các đường thăng hoàn chỉnh từ cácđiểm đen được phát hiện thông qua thuật toán Gray Scale và Sobel Edge Detectionthông qua quá trình ‘bau chọn' Quá trình này dựa trên việc phát triên thuật toán HT

và sau đó áp dụng trong không gian biến đổi dé tìm ra các 'phiéu bầu' được bầu chọnnhiều nhất, nghĩa là các điểm ảnh có cặp giá trị góc và khoảng cách tương ứng sẽ

cùng nằm trên một đường thắng

2.2 Cac thuật toán sử dụng

2.2.1 Thuật toán Gray Scale

Hình anh thông thường sẽ có 03 kênh màu đỏ (Red) — xanh lá (Green) — xanh

dương (Blue) Điều này có nghĩa là thuật toán Gray Scale sẽ có nhiệm vụ chuyển đôi

3 kênh màu này thành ba ma trận xám tương ứng cho từng kênh màu đỏ, xanh lá và

xanh dương Hình 2.1 giúp ta hình dung được kết quả của thuật toán này Công thức

phố biến được sử dung dé chuyên đôi ảnh xám được trình bày như công thức (2.1):

GRAY = 0.299xR+0.587x0 +0.114xB (2.1)

Trang 17

2.2.2 Thuật toán Sobel Edge Detection

Sobel Edge Detector là một phương pháp dựa trên nhân tích chập được sử

dụng dé phát hiện cạnh của làn đường trong hình anh Các cửa số trượt sẽ đi qua từng

tam anh Từ đó sẽ tính được các giá trị độ Gmag và giá trị góc quay của điểm ảnh

Gatan với công thức sau:

Trang 18

Hình 2.2: Mặt nạ dọc 0 (bên trái) và mặt nạ ngang h (bên phải)

Từ Hình 2.3 đến Hình 2.5 sẽ minh họa cách tính Gatan và Gmag như công

thức (2.2), (2.3) Ma trận ảnh f và các mặt nạ dọc v, mặt nạ ngang h, Hình 2.3 va

Hình 2.4 sẽ trình bày kết quả nhân tích chập Gx và Gy sau khi áp dụng công thức(2.4) (2.5) Sau khi có kết qua Gx và Gy, việc còn lại là áp dụng công thức (2.2),(2.3) dé tính các giá trị Gatan và Gmag Hình 2.5 sẽ mô tả kết qua sau khi tính 02

EIFNERE IEà 2, [#|#⁄|#|äs |#|

Pele telet=| @[z|+|:|=I|*l*|°|[:]*|

ESEIE3i “i ` _daic [a | ae | | |

Ma tran anh Mat na Gx Két qua Gx

Hinh 2.3: Két quả minh họa cho việc nhân tích chập với mặt na dọc

Hình 2.4: Kết quả minh họa cho việc nhân tích chập với mặt nạ ngang

Trang 19

te Pe Te]

EIEREIEIES

Kết quả Gy Kết quả Gatan

Hình 2.5: Kết quả minh họa cho việc tính giá trị Gmag và Gatan từ Gx và Gy

Sau khi thu thập các giá tri Gatan và Gmag, quá trình phát hiện biên ảnh được

thực hiện băng việc so sánh chúng với một ngưỡng được xác định trước Nếu vị trícủa pixel đáp ứng điều kiện so sánh này, đó sẽ là pixel biên và giá trị của nó sẽ đượcđặt là 255 Ngược lại, giá trị của pixel sẽ là 0 Hình 2.6 là ví dụ minh họa cho kết quả

của thuật toán Sobel Edge Detection.

10

Trang 20

2.2.3 Thuật toán Hough Transform

Như đã được đề cập trước đó, thuật toán Hough Transform được biết đến như

một công cụ quan trọng trong việc phát hiện làn đường dựa trên việc phát hiện cạnh

dé tìm và xác định các đường thăng Sau khi xác định được những đường thăng này,

bước tiếp theo đơn giản chỉ là vẽ chúng lên ảnh Hough Transform là một phươngpháp ước tính tham số sử dụng quy trình biểu quyết dé tìm và phù hợp với việc pháthiện làn đường Ý tưởng chính của thuật toán là chuyên đồi không gian tọa độ trong

ảnh sang không gian Hough và phân tích dữ liệu trong không gian Hough theo mốiquan hệ giữa đường và điểm để phát hiện ra các đường thăng Việc xác định cácđường này dựa trên quá trình 'bầu chọn', một quá trình được phát triển từ thuật toánHough Transform và sau đó áp dụng trong không gian biến (rho, 9) dé tìm ra đường

có sô phiêu bâu cao nhât.

Hình 2.7 là một ví dụ nhận diện đường thang từ các điểm đen

Hình 2.7: Ví dụ nhận diện đường thăng từ các điểm đen

Giả sử có một đường thăng được biéu diễn bởi phương trình đường thang (2.6)

y=mx+b (2.6)

Trong đó m là hệ số góc và đường thang cắt trục tung tại điểm có tung độ là b

11

Trang 21

y=mx+b (Xi, Vi)

Hình 2.8: Biéu diễn đường thăng bang phương trình y = mx + bMột điểm nằm trên đường thăng như Hình 2.8 sẽ có một tọa độ (x, y) có định.Tuy nhiên nếu dùng phương pháp này để biểu diễn một đường thắng đứng theo trụctung thì giá trị góc nghiêng m sẽ nằm trong khoảng (—œo; +00) Vi vậy dé tránhnhững vấn dé gặp phải khi sử dụng phương trình (2.6), ta có thé biểu diễn đườngthắng bằng một phương trình (2.7) có công thức sau:

rho = xcos(@) + ysin(8) với (0 < 6 < 179”) (2.7)

Trong phương trình nay, rho là đoạn thang vuông góc với đường thang

y = mx + b, có độ dài tính từ gốc tọa độ đến đường thăng đó và đồng thời rho cũng

tạo với trục hoành một góc Ø.

Mối liên hệ giữa 02 phương trình (2.6) và (2.7) được thể hiện thông qua Hình

2.9.

Hình 2.9: Biểu diễn đường thang bằng cặp tham số (rho, 8)

Trong HT tiêu chuẩn, mỗi điểm ảnh đen có thê tạo ra vô số các đường thăng

đi qua, tạo nên một không gian rộng và không xác định của các đường thắng có thé

đi qua điểm đó Điều này tạo ra một thách thức lớn khi muốn xác định một đường

12

Trang 22

thang cụ thé từ các điểm ảnh trên ảnh den trắng Tuy nhiên, trong kiến trúc HoughTransform (HT) mà nhóm đang sử dụng, đã áp dụng một giải pháp hiệu quả dé giảm

độ phức tạp của không gian đường thắng đi qua điểm đó bằng cách sử dụng chính giátrị hướng độ dốc Gatan được tính từ thuật toán Sobel Edge Detection (mục 2.2.2) làm

giá trị góc Ø Nhờ điều này, số lượng các đường thăng đi qua các điểm ảnh sẽ được

giảm xuông cách đáng kê.

Từ phương trình đường thăng (2.6) và công thức tính khoảng cách (2.7) ta có

được m = cot(@) va từ đó ta có được công thức

b=x*+sin(8)+y (2.8)

Nếu bau chọn sử dụng hệ(b, @) ta có thé giảm tải được quá trình xử lý Inversehough transform dé có được phương trình tọa độ đường thang (2.6)

Như vậy, với mỗi điểm có tọa độ (x,y) sẽ có giá trim ứng với góc Ø khác

nhau Với từng cặp giá trị (b, 8) sẽ có một địa chỉ ô nhớ trong không gian Hough

Transform, một mảng hai chiều A(b, 6), và cũng tai 6 nhớ đó sẽ cộng thêm một vào

giá trị đang được lưu trữ trong địa chỉ đó (hay A(b;, 6;)).

AGŒ¡,0,) = A(bj, 6,) + 1 (2.9)

Mỗi cặp (b;,;) trong không gian Hough Transform được xem như là một

"phiếu bầu" đại diện cho một đường thăng ảnh chứa một số điểm đen Quá trình cộngthêm một được gọi là quá trình "bầu chọn," mô phỏng cách mỗi điểm đen "bỏ phiếu"

cho các đường thang ứng với góc 9 và hệ số b trong không gian Hough

Sau khi toàn bộ hình ảnh đã được xử lý và mọi điểm đen đã "bầu chọn" chocác đường thăng tương ứng, quá trình "bầu chọn" được coi là hoàn thành Tại thời

điểm này, chúng ta sẽ kiểm tra tất cả các "phiếu bầu" trong không gian Hough

Transform để xác định vị trí ô nhớ nào đang lưu trữ giá trị lớn nhất Điều này tươngứng với việc tìm ra đường thăng có số lượng phiếu bau lớn nhất, cho biết đường thăng

nào có sự hô trợ lớn nhât từ các điêm ảnh.

13

Trang 23

Đường thăng cuối cùng được xác định bằng cách sử dụng cặp giá trị (b, Ø) hay

"phiếu bầu" có giá trị lớn nhất trong không gian Hough Transform Giá trị Ø này sau

đó được sử dụng dé tính toán giá trị m trong phương trình (2.10), hoàn thiện quá trìnhxác định phương trình của đường thăng Điều này giúp chúng ta đạt được phương

trình của đường thăng, đồng thời cung cấp thông tin chỉ tiết về hướng và vị trí của

đường thăng trên hình anh

14

Trang 24

Chương 3 THIẾT KE HE THONG DE XUẤT

3.1 Thiết kế hệ thống đề xuất

Hệ thống phát hiện làn đường được nhóm thiết kế từ các block diagram sau đótriển khai bằng ngôn ngữ phần cứng

Mục tiêu của hệ thống:

e Dap ứng độ phân giải 1024x1024.

e Giảm số lượng LUT sử dụng khi thực hiện biến đổi Hough

e Thực hiện Inverse Hough Transform bằng phan cứng

e Giảm số lượng Block ram sử dung khi voting

e© Áp dung Region of interest lên thiết kế

Về region of interest: Dựa theo nghiên cứu [4] và nghiên cứu [5] nhóm tác giả

đã sử dụng các đặc điềm cụ thé của làn đường, sử dụng những vùng cần quan tâm désửa đổi thiết kế Hough Transform tiêu chuẩn

Hình ảnh mà thiết kế sẽ nhận vào có độ phân giải là 1024x1024 Hình 3.1 thé

hiện vùng quan tâm, các góc quay được giới hạn và vùng tọa độ được sử dụng Nhóm

sử dụng kết quả thực nghiệm của nghiên cứu [6] với tọa độ và góc quay của đườngthắng tạo nên làn đường cho vùng quan tâm

e Góc quay max phải là 153 độ

e Góc quay min phải là 130 độ

e Góc quay max trái là 50 độ

e Góc quay min phải là 30 độ

e Vùng tọa độ quan tâm có tọa độ —512 < x < 512 và 100 < y < 400

Hình 3.1 Thé hiện vùng quan tâm của làn đường góc quay của đường thang

được đo từ đường thắng vuông góc với làn đường từ bên phải trục x tương ứng với

góc 9 ở Hình 2.9.

15

Trang 25

Góc quay max phải

Góc quay min phải

Góc quay max trái

fAd a Góc quay min trái

512

/ _\ Vùng tọa độ quan tâm

NL Đường thang phải

“thing Duong thang trai

*._ Duong vuông góc với y = 400

làn đường

`

512

Hình 3.1 Vùng quan tâm của hình ảnh

Dé đạt được tốc độ xử lý nhóm đề xuất một hệ thống như Hình 3.2, hệ thống

sẽ bao gồm phần mềm được sử dụng dé đưa vào các pixel của vùng quan tâm của

hình ảnh, và phần cứng bao gồm 2 kênh có các khối xử lý Grayscale, Sobel edge,

Hough transform dé xử ly và đưa ra kết qua thông qua giao thức PCIE của FPGA kit

i INPUT IMAGE | terme | i

i

i i

>| stay scale} —>]Sobel -edse}—>} ansterm FJ

Hình 3.2 Hệ thống dé xuat

3.1.1 Thiết kế high level design cho thiết kế phan cứng đề xuất

Ap dụng Region of interest lên thiết kế và tận dụng để giảm bớt tài nguyêncho thiết kế Các tối ưu hóa của thiết kế sẽ tập trung vào Module Voting và các LUT

sử dụng trong Module Hough transform Module Voting va Module LUT COT cũng

16

Trang 26

sẽ được áp dụng Region of interest dé giảm tài nguyên sử dung Đồng thời sửa đôi

thuật toán dé lay dữ liệu dau ra là phương trình đường thang (2.6) mà không cần phải

thực hiện Inverse Hough Transform với đường thăng bên phải và đường thắng bên

trái.

Red pixel

—Creen pixe MASKING AND Grayscale SOBEL EDGE HOUGH

Ẹ GRAYSCALE pixel DETECTION TRANSFORM

——Blue pixel

Hinh 3.3: High level design

Hệ thống bao gồm 03 thành phan là khối MASKING AND GRAYSCALE,

SOBEL EDGE DETECTION, HOUGH TRANSFORM O High level design như Hình

3.3.

e Khối GRAYSCALE: Khối sẽ nhận 3 kênh màu đầu vào và phân biệt màu

trang và vàng dành cho làn đường, đồng thời làm xám anh dé đưa vào khối

xử lý phát hiện cạnh của hình ảnh.

e _ Khối SOBEL EDGE DETECTION: có nhiệm vụ phát hiện ra các điểm

ảnh là cạnh, đồng thời cung cấp Gx, Gy để sử dụng tính ra góc quay củađiểm ảnh phục vụ cho việc hình thành cặp giá trị voting cho khối Hough

Transform.

e Khối HOUGH TRANSFORM: Có nhiệm vụ thực hiện vote cho các điểm

ảnh được phát hiện là cạnh trước đó, sau đó trả về cặp giá trị (b, m)

17

Trang 27

3.1.2 Thiết kế chỉ tiết cho phần cứng

ở các mục kê tiép Các tín hiệu được sử dụng trong module này được mô tả ở Bang

3.1.

Bảng 3.1: Y nghĩa của các tín hiệu trong module INPUT

clk Tín hiệu bằng 1 dữ liệu của từng frame được truyền vào

rst_n Gia tri reset trên module top.

input_rgb Giá tri RGB của từng pixel trong frame ảnh được truyền vao

valid_in Tín hiệu cho biết rằng các pixel hợp lệ

first_pixel_in Tín hiệu cho biết pixel dau tiên của frame anh được truyên vào.

valid_ out Tín hiệu cho biết frame ảnh đã được xử lý xong

peak_b_l Giá trị b tương ứng với phiếu bau lớn nhất được bau chon ở vùng bên

trái.

18

Trang 28

peak_b_r Giá trị b tương ứng với phiếu bau lớn nhất được bau chon ở vùng bên

3.1.2.1 Thiết kế module MASKING AND GRAYSCALE

Hình 3.5 sẽ mô tả kiến trúc module MASKING AND GRAYSCALE mà nhóm

xây dựng Nhiệm vụ chính của module là chuyên đổi hình ảnh màu có 3 kênh RGB

thành ảnh xám để tiến hành xử lý ở các module sau Phan MASKING sẽ thực hiện

việc so sánh và thông báo cho các module sau thông báo cho những module sau biết

những vùng pixel ảnh đóng vai trò là làn đường dé dễ dàng thực hiện xử lý Phan

GRAYSCALE sẽ sử dụng những pixel từ phần MASKING chuyển đổi thành ảnh

xám Bảng 3.2 sẽ mô tả các tín hiệu mà kiên trúc sử dụng.

const

19

Trang 29

Tên tín hiệu Y nghĩa

red Dữ liệu pixel đầu vào bao gồm giá trị của kênh màu Red

green Dữ liệu pixel đầu vào bao gồm giá trị của 03 kênh màu Green

blue Dữ liệu pixel đầu vào bao gồm giá trị của 03 kênh màuBlue

const Các hang số được sử dụng dé so sánh màu

grayscale Giá tri cua pixel thang độ xám.

Nhóm đã tham khảo nghiên cứu [6] về bố sung so sánh màu trước khi chuyển

đổi hình ảnh thành ảnh xám dựa trên thực nghiệm rằng các đường thông thườngthường được sơn màu trắng hoặc màu vàng Bằng cách so sánh giá trị màu tương ứng

của ba kênh màu (R — G — B), nhóm xác định các pixel có mau tương tự với mau sáng hoặc màu vàng trong khung hình, sử dụng ngưỡng được xác định trước đó Các bộ

so sánh trong phân này sẽ áp dụng so sánh với các giá trị hăng sô.

Với phan MASKING của module, dé xác định làn đường, quá trình "đánh dau"

các pixel được thực hiện theo cach sau: Ban đầu, giả định giá trị RGB cơ bản của

màu trang là (255, 255, 255) Khi vạch trắng trên đường bị ảnh hưởng bởi nhiễu ánh

sáng hoặc bóng đồ từ môi trường, giá tri RGB sẽ thay đôi và không còn là (255, 255,255) Quá trình "đánh dấu" được thực hiện băng cách so sánh giá trị của các kênh

màu R, G, B của pixel ảnh với một ngưỡng, thường là 190 (ngưỡng này dựa trên thực

nghiệm của nhóm) Nếu pIxel đáp ứng điều kiện này, có thé nói đó là vạch trắng trên

đường, và hệ thống sẽ sử dụng hằng số màu trang cho input_rgb Ngược lại, nếukhông đáp ứng điều kiện, giá trị màu sẽ được duy trì Quá trình này giúp xác định vị

trí của các vạch màu trăng và màu vàng trên đường một cách hiệu quả

Ở phần GRAYSCALE, các gam màu sẽ thực hiện phép nhân với một hăng số

theo công thức (2.1) Theo phương trình này, màu đỏ sẽ đóng góp 30%, màu xanh lá

cây đóng góp 59% - đứng đầu trong ba màu sắc, và màu xanh lam đóng góp 11%

20

Trang 30

Đầu ra output_gray sẽ là pixel có giá trị màu là trắng đen và sau đó được đưa đếnModule SOBEL EDGE DETECTION để tiếp tục quá trình xử lý.

Module MASKING AND GRAYSCALE hoạt động tương tự Module

MASKING va Module GRAYSCALE của nghiên cứu [6], va đã được lượt bỏ bớt

các flipflops giữa các register không cần thiết dé giảm tài nguyên Register va latency

cua output.

Bang 3.3 So sánh Latency giữa nghiên cứu [6] và thiết kế đề xuất

Module Tong số chu kỳ thiết kế

MASKING & GRAYSCALE width*height+2

Dưới đây là kết quả Implement và tần số hoạt động của module được thé hiện

10 38 700 5.43

BUFG 1 32 3.13

Hình 3.6 Tài nguyên sử dụng của khối MASKING AND GRAY SCALE

Tài nguyên sử dụng của Module MASKING AND GRAYSCALE không đáng

kế với số lượng LUT là 1 và 6 FF

Trang 31

Design Timing Summary

Setup Hold Pulse Width

Worst Negative Slack (WNS): 1.170 ns Worst Hold Slack (WHS): 0.224 ns Worst Pulse Width Slack (WPWS): 1.800 ns

Total Negative Slack(TNS) 0.000 ns Total Hold Slack (THS): 0.000 ns Total Pulse Width Negative Slack (TPWS): 0.000 ns Number of Failing Endpoints: 0 Number of Failing Endpoints: 0 Number of Failing Endpoints: 0

Total Number of Endpoints: 10 Total Number of Endpoints: 10 Total Number of Endpoints: 57

All user specified timing constraints are met.

Hình 3.8 Timing của khối MASKING AND GRAYSCALE

Nhu vay qua Hinh 3.13 va hinh 3.14 miéu ta, Module MASKING AND

GRAYSCALE thỏa mãn điều kiện timing và dat được tan số 250 Mhz với WNS là

1.17 ns.

3.1.2.2 Thiết kế module SOBEL EDGE DETECTION

Hình 3.9 sé mô ta tong quan thiết kế của thuật toán Sobel Edge Detection gồm

các phần như đã đề xuất với ngõ vào là 03 giá trị first_pixel_in, gray_pixel cũng như

ngõ ra gx, gy được mô ta chức nang ở Bảng 3.4.

input_ent

==grayscale Line buffer

Hình 3.9: Tổng quan thiết kế module SOBEL EDGE DETECTION

Dữ liệu đầu vào là các thông tin pixel ảnh xám có được từ Module MASKINGAND GRAYSCALE trước đó, và đi qua các phần Line buffer và Gx, Gy Operation

Đầu ra của thiết kế là giá trị Gx, Gy lần lượt tương ứng với công thức (2.4), (2.5), các

giá trị này sẽ được sử dụng dé quyết định các pixel ảnh là cạnh và tìm ra góc quay

của pixel đó phục vụ cho việc tính toán trong module HOUGH TRANSFORM.

22

Trang 32

Kiên trúc này gôm các phân chính sau:

e FIFO: chứa lần lượt các giá tri pixel của frame ảnh xám, hay giá trị ngõ ra

gray_scale_out tạo từ thuật toán Gray Scale dé tạo thành cửa số trượt 3x3nhằm thực hiện Gx/ Gy Operation

e Gx/ Gy operation: thực hiện việc nhân tích chập với mặt nạ ngang và mặt

nạ dọc như công thức (2.4) và (2.5).

Dưới đây sẽ mô tả chỉ tiết các module được xây dựng trong module SOBEL

EDGE DETECTION.

Bảng 3.4: Mô tả các ngõ vào và ra cua module SOBEL EDGE DETECTION

Tên tín hiệu Ý nghĩa

first_pixel Thông báo pixel đầu tiên của hình ảnh, phục vu cho việc chuyên

trạng thái của máy trạng thái

gray_pixel Độ lớn giá tri của pixel thang độ xám từ module GRAY_SCALE

gx Gx dung dé tính toán Gradiant xác định điểm cạnh của anh và

góc quay của điêm ảnh đó

gy Gy dung dé tinh toán Gradiant xác định điểm cạnh của ảnh và

góc quay của điêm ảnh đó

Module FIFO với chức năng chứa lần lượt các giá tri pixel của frame ảnh xám,

hay nói cách khác chính là giá trị ngõ ra gray_pixel tạo từ module MASKING AND

GRAY SCALE, nhóm đã sử dụng các khối FIFO lưu trữ lần lượt các pixel nhằm thựchiện nhân tích chập ở các khối ở Gx, Gy Operation

23

Trang 33

Hình 3.10 Line Buffer [6]

Module Line buffer sẽ tương ứng với Line Buffer của nghiên cứu [6] như Hình

3.10 Tuy nhiên trong nghiên cứu [6] các tác giả đã sử dụng shift register như một ma

trận bộ nhớ Việc sử dụng nhiều register như một FIFO sẽ làm tiêu tốn tài nguyênnhiều hơn việc sử dụng BRAM điều này thê hiện trong bảng so sánh của [12] ở Hình

Hình 3.11 Bảng so sánh tài nguyên sử dụng cho FIFO [12]

Như vậy việc sử dụng block ram giúp đạt được hiệu quả cao và tối ưu về mặt

tài nguyên sử dụng.

24

Trang 34

Hinh 3.12 Line Buffer dé xuat

Nhóm thực hiện thiết kế đề xuất cho module Line Buffer dung BRAM ở Hình

3.12 Như vậy cần có một bộ điều khiển cho Block Ram dé Block Ram có thé nhậnbiết khi nào cần nhận input và đưa ra output dé thực hiện tính toán nhân tích chập ở

GX/GY operation Một máy trạng thái được thêm vào va được miêu tả trong Hình 3.13.

Các block ram được sử dụng trong module FIFO và một máy trạng thái bên

trong khối cho FIFO dé có thé đọc và ghi các dữ liệu Hình 3.8 sẽ miêu ta các trang

thái của Line Buffer Các dit liệu sẽ lần lượt được ghi nhớ qua các FIFO dé hình thành

ma trận 3x3, sau đó được đưa tới module tiếp theo đề thực hiện việc nhân tích chập

dựa theo công thức (2.4), (2.5).

May trạng thái sẽ giao tiếp với module FIFO , cho biết lúc nào FIFO cần nhậnthông tin hình ảnh và khi nào cần đưa ra thông tin hình ảnh phục vụ cho việc hìnhthành một ma trận 3x3 ở đầu ra của module Line Buffer Việc sử dụng thêm một máytrạng thái là cần thiết vì các FIFO cần có sẽ sử đụng một bộ nhớ và cần có các luận

lý thích hợp dé điều khiến thời điểm cần ghi và đọc các giá trị pixel vào FIFO và

tránh ghi vào các giá trị không thích hợp và đọc ra các giá trị khi chưa lưu xong các hàng ngang của hình ảnh.

25

Trang 35

first_pixel && valid

S1: Nap dữ liệu vào FIFO 1 1 0 0 0

S2: Nap dữ liệu vào FIFO 2 1 1 1 0

S3: Trang thai hoat dong 1 1 1 1

Trong máy trạng thai:

26

Trang 36

S0: Ở trạng thái này cả FIFOI và FIFO2 không mở input và output enable.Khi nhận được tín hiệu valid và first_pixel, trạng thái SO sẽ được chuyển

S2: Ở trạng thái nay, output enable của FIFO1 sẽ được mở đồng thời FIFO2

cũng nhận các pixel đã di qua FIFOI trước đó hình thành nên cửa số trượt

phục vụ cho việc tính nhân tích chập Giá trị nhân tích chập sẽ được đi qua

các cửa số nhân tích chập dé bắt đầu tính toán Khi nhận đủ 1 hàng giá tri

pixel Trạng thái S2 sẽ được chuyền qua trạng thái S3

S3: Ở trạng thái này, cả FIFOI và FIFO2 đều đã nạp đủ 1 hàng dữ liệu.Khối Convolution Control sẽ giữ nguyên ở trạng thái này cho tới khi thiết

kế được reset.Ngoai ra dé tránh cho việc bị sai lệch hàng của cửa số trượt,

các FIFO sé chỉ nhận các dự liệu pixel khi có tín hiệu valid.

Các Gx/ Gy Operation thực hiện việc nhân tích chập với các pixel lay từ FIFO

được thiết kế Trong module này gồm thêm 02 module Gx, Gy Operation đảm nhậnviệc nhân tích chập theo mặt nạ dọc và mặt nạ ngang Ở mỗi module này lần lượt lây

các giá trị pixel được lưu trữ ở FIFO và bắt đầu thực hiện việc nhân tích chập

Như vậy trong thiết của Module SOBEL EDGE DETECTION của thiết kê đề

xuât đã cải tiên được những diém sau:

e Chuyến đổi việc sử dụng lượng lớn SHIFT REGISTER cho Line Buffer

thành sử dụng BLOCK RAM cho FIFO để lưu các giá trị điểm ảnh

27

Trang 37

Bảng 3.6: Tổng số chu kỳ của module SOBEL EDGE DETECTION

Module Tong số chu kỳ thực thi

FF 1308 607200 0.22

10 37 700 5.29 BUFG 1 32 3.13

Hình 3.14 Tài nguyên sử dụng của khối SOBEL EDGE DETECTIONHau hết tài nguyên của Module SOBEL EDGE DETECTION sử dụng tập trungvào các LUT để thực và LUTRAM Số lượng FF chiếm da số phản ánh ModuleSOBEL EDGE DETECTION cần sử dụng nhiều Shift Register dé thuc hién buffer

cho tin hiệu valid và tin hiệu first_pixel.

Ngày đăng: 02/10/2024, 02:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w