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

Lập trình điều khiển mobile robot bám đối tượng bằng thị giác nổi trên nền FPGA

110 5 0

Đ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

Định dạng
Số trang 110
Dung lượng 2,94 MB

Cấu trúc

  • bi.pdf

  • luanvan_2.6(gioithieu).pdf

  • luanvan_2.6(noidung)_1.pdf

  • Ly lich khoa hoc.pdf

Nội dung

TỔNG QUAN

Tổng quan

Trong những năm gần đây, nghiên cứu và phát triển ứng dụng thị giác máy tính cho robot đã thu hút sự quan tâm mạnh mẽ từ các nhà nghiên cứu và công ty Công nghệ này được áp dụng rộng rãi trong lĩnh vực quân sự, bao gồm robot tự hành và robot thám hiểm, cũng như trong các ứng dụng dân sự như robot giúp việc nhà và robot trong sản xuất linh hoạt.

Hiện nay, việc trang bị cho robot giác quan giống người thông qua công nghệ máy tính đang trở thành xu thế mới, với thị giác máy tính (computer vision) là lĩnh vực nghiên cứu nổi bật Thị giác máy tính mô phỏng hệ thị giác của con người, giúp robot giao tiếp hiệu quả hơn với thế giới bên ngoài thông qua hình ảnh Các thuật toán xử lý dữ liệu hình ảnh cho phép xác định vị trí vật thể trong không gian ba chiều và khôi phục không gian ba chiều từ nhiều ảnh chụp Camera, với độ phân giải cao và khả năng ứng dụng linh hoạt, là cảm biến ánh sáng phổ biến nhất trong thị giác máy tính Tuy nhiên, tại Việt Nam, ngành này vẫn còn mới mẻ và gặp nhiều khó khăn, dẫn đến việc ứng dụng thị giác máy tính vào robot còn hạn chế Dù vậy, xu hướng áp dụng công nghệ này vào robot và quá trình tự động hóa công nghiệp đang mở ra nhiều tiềm năng.

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

1.1.2 Các công trình nghiên cứu lien quan

Nhiều nghiên cứu về nhận dạng và xử lý ảnh, như [3], [4], [6], và [11], đã tập trung vào việc nhận diện các hình dạng như vuông và tròn, cũng như xử lý các ảnh được thu thập từ camera.

- Một số công trình nghiên cứu thị giác nổi trên nền FPGA như [1],[9], [10],

[14], [15], [16] tập trung vào việc nghiên cứu thị giác nổi trên nền FPGA, nhận dạng ảnh từ 02 camera

Nghiên cứu về thị giác nổi trên nền FPGA cho Eye robot, như đề cập trong tài liệu [2], tập trung vào việc nhận dạng hình ảnh từ hai camera để bám mục tiêu hiệu quả.

Nhiều nghiên cứu về xử lý ảnh đã đạt được thành công đáng kể, bao gồm nhận dạng biển số xe, nhận diện vân tay, ứng dụng trong bãi giữ xe, trạm thu phí, và quản lý thời gian làm việc của nhân viên.

Một số đề tài nghiên cứu nổi bật về xử lý ảnh trên nền FPGA bao gồm "Sử dụng FPGA để xác định tọa độ không gian" và "Thiết kế hệ thống ảnh số trên nền FPGA" Những nghiên cứu này tập trung vào việc ứng dụng công nghệ FPGA trong việc cải thiện hiệu suất và khả năng xử lý hình ảnh.

1.2 Mục tiêu đề tài Ứng dụng lý thuyết về xử lý ảnh, nhận dạng ảnh để xây dựng giải thuật nhận dạng đối tượng cho trước (vật vuông, tròn), tính toán khoảng cách để bám đối tượng

Lập trình Verilog trên nền kít FPGA ( DE2 115) để điều khiển Mobile robot bám mục tiêu.

Phương pháp nghiên cứu

-Nghiên cứu lý thuyết về xử lý ảnh, thị giác máy tính, ngôn ngữ verilog , kít FPGA…

-Xây dựng giải thuật điều khiển như nhận dạng đối tượng, tính toán tọa độ không gian để xác định vị trí đối tượng, bám đối tượng

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

-Kiểm chứng thực nghiệm bằng việc xây dựng mô hình mobile robot với 02 camera FIFO và kít FPGA

-Lập trình verilog trên kít DE2 115 để kiểm chứng kết quả.

Giới hạn đề tài

Nghiên cứu tập trung vào việc áp dụng các giải thuật nhận dạng đối tượng trong ảnh thông qua thuật toán Hough, nhằm tính toán tọa độ của đối tượng và khoảng cách D giữa đối tượng và robot di động Bên cạnh đó, bài viết cũng đề cập đến việc điều khiển robot để bám theo đối tượng.

Lập trình Verilog trên nền kít FPGA DE2 115 để kiểm chứng kết quả lập trình

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

CƠ SỞ LÝ THUYẾT

Cơ sở lý thuyết về ảnh số

2.1.1 Phần tử ảnh Ảnh trong thực tế là ảnh liên tục về không gian và giá trị độ sáng Để xử lý ảnh bằng máy tính thì người ta phải số hóa ảnh, biến đổi tín hiệu từ liên tục sang tín hiệu rời rạc về giá trị vị trí và độ sáng ảnh mà phải đảm bảo mắt thường không phân biệt được hai mức kề nhau Trong quá trình này người ta sử dụng khái niệm phần tử ảnh Pixel đại diện cho các điểm ảnh đó Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y)

2.1.2 Độ phân giải Độ phân giải của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị Khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều Độ phân giải của ảnh được biểu diễn làm hai loại :

Hình 2.1 : Khung ảnh với giá trị Pixel

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

- Độ phân dải màu : sự thay đổi màu nhỏ nhất có thể thay đổi được và cho ta biết số màu tối đa của ảnh

- Độ phân dải không gian : chi tiết nhỏ nhất có thể thay đổi được

Mỗi pixel trong ảnh không chỉ có tọa độ mà còn mang giá trị mức xám, thể hiện cường độ sáng tại từng pixel Số lượng mức xám của ảnh phụ thuộc vào không gian màu, ví dụ như ảnh 8 bit có 256 mức xám từ 0 đến 255.

Không gian màu RGB được hình thành từ ba thành phần cơ bản là Đỏ (R), Xanh lá (G) và Xanh dương (B) Sự pha trộn màu sắc trong không gian này mang tính chất cộng, với mỗi màu được biểu diễn bằng một bộ ba số (R, G, B) Các thành phần R, G, B là các số thực có giá trị từ 0 đến 1.

Hình 2.2 : Sự pha màu có tính chất cộng

Không gian màu HSV là hệ tọa độ trụ mô tả màu sắc RGB, bao gồm ba thành phần chính: H (Hue - màu sắc), S (Saturation - độ bão hòa màu) và V (Value - độ sáng) Giá trị H được thể hiện qua góc trên vòng tròn, với màu đỏ (R) tại 0 độ, màu xanh lục (Green) tại 120 độ và màu xanh lá (Blue) tại 240 độ, theo hướng ngược chiều kim đồng hồ.

HVTH: PHẠM THANH HẢI, GVHD: TS NGUYỄN ĐỨC THÀNH Không gian màu 360 độ với độ và quay trở về màu đỏ thường được ứng dụng trong lĩnh vực thị giác máy và đồ họa máy tính.

Hình 2.3: Hệ tọa độ trụ cho không gian màu HSV

Không gian YCbCr thường được sử dụng trong ảnh JPEG và các chuẩn video, vì nó phù hợp cho việc nén và giải nén dữ liệu theo tần số Các thành phần chính trong không gian này bao gồm Y (độ sáng) và Cb, Cr (các thành phần màu).

Y: thành phần độ sáng( ảnh xám )

Cb và Cr: thành phần sắc thái màu

2.1.5 Nhận dạng đối tƣợng trong ảnh bằng Hough

Thuật toán Hough, được Paul Hough phát triển vào năm 1962, là một phương pháp hiệu quả để phát hiện các đặc điểm hình học như đường thẳng và đường tròn trong ảnh số Thuật toán này thực hiện việc chuyển đổi ảnh từ không gian tọa độ Descartes sang không gian tham số, giúp nhận diện các hình dạng một cách chính xác.

Phương trình đường tròn trong hệ trục tọa độ đề các :

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Trong đó : r là bán kính đường tròn

Thuật toán Hough tìm kiếm 3 thông số (a, b, r) của đường tròn, ứng với mỗi điểm trên đường tròn sẽ vẽ vòng tròn bán kính r

Hình 2.4 : chuyển đổi Hough với r biết trước

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Phương pháp Hough là kỹ thuật nhận dạng đường thẳng trong ảnh, mô tả bất kỳ đường thẳng nào trong mặt phẳng xy bằng phương trình với khoảng cách bình thường từ tọa độ tâm đến đường thẳng và góc giữa đường thẳng và tọa độ tâm Khi áp dụng phương pháp Hough, các điểm trên đường thẳng (xi, yi) sẽ được xác định và kết quả sẽ được biểu diễn qua hàm C(,).

Xét một hình chữ nhật với các đỉnh P 1 = (x 1 , y 1 ), P 2 = (x 2 , y 2 ), P 3 = (x 3 , y 3 ) và

P 4 = (x 4 , Y 4 ), với P1P2 và P3P4 hai mặt song song với chiều dài a, P2P3 và P4P1

Hình 2.6 : đường thẳng trong Hough với thông số và Hình 2.5 : chuyển đổi Hough với r chưa biết

HVTH: PHẠM THANH HẢI, GVHD: TS NGUYỄN ĐỨC THÀNH Hệ tọa độ được giả định nằm ở trung tâm của hình chữ nhật, như minh họa trong hình dưới đây Trong không gian Hough, hình chữ nhật này có bốn đỉnh.

H 1 = (ρ 1 , θ 1 ), H 2 = (ρ 2 , θ 2 ), H 3 = (ρ 3 , θ 3 ) và H 4 = (ρ 4 , θ 4 ), tương ứng với bốn mặt của hình chữ nhật (P 2 P 3 , P 1 P 4 , P 3 P 4 và P 1 P 2 )

Hình 2.8 : chuyển đổi Hough của hình chữ nhật

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Hai camera được đặt trên cùng một trục và khoảng cách giữa 2 camera là B, khoảng cách từ camera đến đối tượng là D như hình 2.9 và hình 2.10

Hình 2.9 : Vị trí đặt 02 camera

Hình 2.10 : ảnh của vật nhìn từ 02 camera

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Khoảng cách B được tính như sau :

Từ đó : khoảng cách D là

Từ hình 2.11 và hình 2.12 ta có :

Hình 2.11 : Ảnh của vật nhìn từ camera trái Hình 2.12: Ảnh của vật nhìn từ camera phải

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Calip số liệu thực tế của camera trong frame hình để tính giá trị tan 0/2

Thị giác máy tính

2.2.1 Thị giác máy tính dùng 1 camera

Camera là thiết bị chuyển đổi hình ảnh từ không gian 3D sang mặt phẳng 2D Mối quan hệ giữa điểm M trong không gian 3D với tọa độ (X, Y, Z)T và điểm ảnh m(x, y)T được xác định thông qua phương pháp tọa độ thuần nhất.

Mô hình thị giác máy tính sử dụng một camera để chiếu đối tượng từ không gian ba chiều vào mặt phẳng hai chiều Cơ sở hình học của mô hình này dựa trên phép chiếu phối cảnh.

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Theo phương pháp tọa độ thuần nhất, điểm M trong không gian ba chiều với tọa độ (X, Y, Z) T có mối quan hệ với ảnh của nó trong mặt phẳng hai chiều m có tọa độ (x, y) T được biểu diễn qua công thức ˆm CMˆ.

Ma trận chiếu của camera, ký hiệu là C, cùng với tọa độ thuần nhất của các điểm m và M được ký hiệu là ˆm và Mˆ, là những yếu tố quan trọng trong thị giác máy tính Tuy nhiên, khi sử dụng một camera, chiều sâu của hình chiếu đối tượng sẽ bị mất, gây khó khăn cho việc thực hiện các ứng dụng ba chiều như khôi phục không gian ba chiều và định vị ba chiều vật thể.

2.2.2 Thị giác máy tính dùng 2 camera

Thị giác máy tính sử dụng hai camera dựa trên hình học Epipolar, một mối quan hệ hình học giữa hai ảnh khác nhau của cùng một cảnh vật Mối quan hệ này được thể hiện qua công thức x Fx T 0, trong đó F là ma trận cơ sở, x và x’ là hai ảnh chiếu của điểm X trong không gian ba chiều vào mặt phẳng ảnh hai chiều.

Mô hình thị giác máy tính sử dụng hai camera cho phép xác định chiều thứ ba của hình chiếu đối tượng Như hình 2.2-2 thể hiện, điểm X duy nhất cung cấp hai ảnh x và x’ cố định trên hai bức ảnh khác nhau.

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

FPGA ( DE2 115 )

Hình 2.3-1 Kít DE2 115 Đặc điểm phần cứng cung cấp trên board Kit DE2 115 :

Altera Cyclone® IV 4CE115 FPGA device Altera Serial Configuration device – EPCS64 USB boot loader

Bộ nhớ Flash 8-Mbyte Khe cắm SD

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

9 Led xanh Xung clock 50 Mhz

24 bit audio CODEC, line in, line out jack

TV decoder and TV- in connector 10/100 Enthernet Controller connector USB host/device Controller

Giao tiếp RS-232 Cổng PS2 chuột và bàn phím

Hình 2.3-2: sơ đồ khối DE2 115

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

- Hoạt động đồng bộ xung clock kích cạnh lên

- Lập trình trễ (2 và 3 chu kỳ xung clcock) – CAS latency

- Điều khiển thông qua tín hiệu LDQM, UDQM

Bảng 2.3-1 : Bảng mô tả chân của SDRAM

CLK Xung clock (Master clock)

CKE Xung Clock cho phép hoạt động, tích cực mức cao

Chân chọn lựa, tích cực mức thấp Địa chỉ hàng Địa chỉ cột Hình 2.3-3 : sơ đồ kết nối SDRAM và FPGA

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

BA0-1 Địa chỉ bank thanh ghi

V ddq Nguồn cung cấp cho DQ

DESL Lệnh hủy chọn thiết bị H X H X X X X X X

MRS Chế độ nạp thanh ghi H X L L L L L L V

READA Đọc với lệnh tự nạp trước H X L H L H V L V

WRITEA Ghi với lệnh tự nạp trước H X L H L L V H V

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Ngôn ngữ lập trình

Ngôn ngữ mô tả phần cứng (HDL) là ngôn ngữ lập trình được sử dụng để mô phỏng hoạt động của phần cứng, trong đó VHDL và Verilog là hai ngôn ngữ phổ biến nhất hiện nay.

Verilog là ngôn ngữ mô tả phần cứng tiêu chuẩn được IEEE công nhận vào năm 1995, chủ yếu được sử dụng trong thiết kế hệ thống số và mạch tích hợp Ngôn ngữ này nổi bật với tính độc lập về công nghệ, dễ dàng trong thiết kế và gỡ lỗi, cũng như sự đơn giản so với thiết kế bằng sơ đồ khối, đặc biệt trong các hệ thống phức tạp Verilog thường được áp dụng để phát triển ứng dụng trên nền tảng FPGA và CPLD, với mã Verilog được sử dụng để mô tả các hệ thống số trong các thiết bị lập trình của các nhà sản xuất như Xilinx, Altera và Amtel.

2.4.2.2 Thực thể thiết kế của Verilog

Một thực thể thiết kế bao gồm một đơn vị thiết kế duy nhất, gọi là Module Đơn vị này không chỉ mô tả giao diện thiết kế mà còn các giao diện khác trong cùng một môi trường thiết kế, như được minh họa trong hình ảnh mô tả module MOD1.

Hình 2.4-1: thực thể thiết kế verilog

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Một đơn vị thiết kế có thể bao gồm các chương trình con như task hoặc function mà không cần phải khai báo riêng biệt Trong module, không tồn tại miền khai báo riêng cho khối tuần tự và khối đồng thời, cũng như cho các task và function.

Trong verilog, có kiểu phát biểu đồng thời và kiểu phát biểu tuần tự :

Kiểu phát biểu đồng thời cho phép thực thi song song và hoạt động độc lập với các phát biểu khác Nó bao gồm phép gán tiếp tục (continuous assignment) và phát biểu always, giúp tối ưu hóa quy trình xử lý trong lập trình.

- Phát biểu tuần tự là phát biểu được thực thi phụ thuộc vào luồng thủ tục của các cấu trúc bao quanh chúng

Hình 2.4-2: khai báo chương trình con trong đơn vị thiết kế

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Y= FN1(… ) begin }…2 end begin }…2 end fork }…2 join fork }…2 join begin }…2 end fork }…2 join

Sequential block concurrent block module MOD1()

}…1 endmodule initial }…2 always }…2 Design unit

Hình 2.4-3: các lời gọi chương trình con, khối tuần tự hoặc đồng thời

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

2.4.2.3 Đối tƣợng dữ liệu verilog Đối tượng dữ liệu net( wire, wand, wor) và register (reg) được khai báo mà không có tầm, theo mặc định rộng 1 bít và được tham chiếu ở dạng vô hướng

Đối tượng dữ liệu net có khả năng tổng hợp, biểu diễn và mô hình hóa sự kết nối vật lý của các tín hiệu Để đảm bảo tính chính xác, mỗi đối tượng net phải luôn được gán thông qua phát biểu gán tiếp tục (continuous assignment).

Đối tượng dữ liệu register lưu trữ các giá trị từ một phát biểu gán thủ tục đến phát biểu gán thủ tục tiếp theo Phép gán thủ tục này giúp duy trì giá trị trong một kiểu dữ liệu của register cho các phép gán thủ tục sau đó.

Bảng 2.3-3 : mô tả các loại toán tử Verilog

Toán tử của verilog Tên Chức năng

[] Chọn bít hoặc chọn phần

& AND rút gọn Rút gọn

| OR rút gọn Rút gọn

~& NAND rút gọn Rút gọn

~| OR rút gọn Rút gọn

^ XOR rút gọn Rút gọn

~ ^ hoặc ^ ~ XNOR rút gọn Rút gọn

+ Cộng nhị phân Số học

- Trừ nhị phân Số học

>= Lớn hơn hoặc bằng Quan hệ

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

> MegaWizard Plug-In Manager, chọn "next" trong cửa sổ hiện ra Tiếp theo, chọn phần I/O ALTPLL, ngôn ngữ Verilog, và lưu lại với tên SDRAM_PLL trước khi nhấn "next" để tiếp tục cấu hình các ngõ vào và ngõ ra.

Phần General/modes : chọn inclk0 là 25Mhz

Phần output : chọn 2 tín hiệu đầu ra clk c0 , và clk c1

- Tín hiệu clk c0 cung cấp cho cho các khối FIFO : chọn output clock 100 Mhz, độ trễ là 0 ns

- Tín hiệu clk c1 cung cấp tần số đọc ghi cho SDARAM : chọn output clock là 100 Mhz, độ trễ -3ns

Hình 3.3-6 : Cấu hình khối nhân tần

Khối điều khiển SDRAM được dùng để giao xuất các tín hiệu giao tiếp với chip SDRAM, đọc và ghi dữ liệu Khối điều khiển này nhằm mục đích :

Cấu hình thông số hoạt động của SDRAM cho phù hợp với thiết kế

Phân vùng địa chỉ lưu, đọc dữ liệu

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Phân chia thời điểm truy xuất bộ nhớ và cách thức truy xuất, tránh sự tranh chấp trến bus

Bảng 3.3-3 : Mô tả chi tiết khối SDRAM

RD1_ADDR [22:0] input Địa chỉ bắt đầu đọc khung ảnh left RD1_MAX_ADDR [22:0] input Địa chỉ kết thúc đọc khung ảnh left

RD2_ADDR [22:0] input Địa chỉ bắt đầu đọc khung ảnh right

RD2_MAX_ADDR [22:0] input Địa chỉ kết thúc đọc khung ảnh right

WR1_ADDR [22:0] input Địa chỉ bắt đầu ghi khung hình left Hình 3.3-7 : Khối điều khiển SDRAM mDATAIN_1[15 0] mDATAOUT_1[15 0]

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

WR1_MAX_ADDR [22:0] input Địa chỉ kết thúc ghi khung hình left

WR2_ADDR [22:0] input Địa chỉ bắt đầu ghi khung hình right

WR2_MAX_ADDR [22:0] input Địa chỉ kết thúc ghi khung hình right WR1_DATA[15 0] input Dữ liệu ảnh left ghi vào SDRAM

WR2_DATA[15 0] input Dữ liệu ảnh right ghi vào SDRAM

RD1_DATA [15 0] output Dữ liệu ảnh left đọc từ SDRAM ra FIFO RD2_DATA [15 0] output Dữ liệu ảnh right đọc từ SDRAM ra FIFO

SDRAM SIDE – TÍN HIỆU ĐIỀU KHIỂN SDRAM

CS output Tín hiệu chọn chíp

CKE output Tín hiệu clock enable

ADDR [11:0] output Bus địa chỉ

SDR_CLK output Clock cấp cho SDRAM

BA [1:0] output Tín hiệu nối vào chân {BA1,BA0}

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

3.3.2 Giải thuật nhận dạng ảnh

Khối nhận dạng ảnh được thiết kế để chuyển đổi tín hiệu YCbCr chuẩn YUV 4:2:2 từ khối SDRAM sang chuẩn YUV 4:4:4 Sau đó, tín hiệu này được chuyển đổi sang không gian màu HSV nhằm nhận dạng đối tượng trong ảnh bằng thuật toán Hough, từ đó xác định tọa độ tâm của đối tượng.

3.3.2.1 khối chuyển không gian màu

Khối này được thiết kế nhằm lấy tín hiệu hình ảnh được đọc ra từ SDRAM YCbCr[15 0] chuẩn YUV 4:2:2 chuyển đổi sang không gian màu HSV như sau :

Khối YUV 4:2:2_to_YUV 4:4:4 được xây dựng nhằm mục đích chuyển đổi tín hiệu được đọc ra từ SDRAM chuẩn YUV 4:2:2 sang chuẩn YUV 4:4:4 như sau :

Hình 3.3 -8 : sơ đồ khối khối nhận dạng ảnh

Hình 3.3-9 : sơ đồ khối chuyển không gian màu

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Mỗi pixel n chứa thành phần Y n U n V n Y n+1 nên căn cứ theo tín hiệu IX[n] để tách thành phần trong pixel Y n U n V n Y n+1 thành Y n U n V n và Y n+1 U n V n

Bảng 3.3-4 mô tả chức năng chân khối YUV4:2:2_TO_YUV4:4:4

Tên Kiểu Mô tả iCLK input Xung clock đầu vào 25 Mhz iRST input Tín hiệu reset hệ thống

Hình 3.3.-12 : sơ đồ khối YUV4:2:2_TO_YUV4:4:4

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

YCbCr[15 0] input Tín hiệu ra từ SDRAM chuẩn YUV422

Tín hiệu ra từ khối chuyển đổi chuẩn YUV444

Khối YCbCr_to_RGB được xây dựng nhằm mục đích chuyển đổi tín hiệu từ không gian màu YCbCr sang không gian màu RGB

Hình 3.3-15: sơ đồ khối YCbCr_TO_RGB

Cr[7 0] iDVAL Hình 3.3-13 không gian màu YCbCr Hình 3.3-14 không gian màu RGB

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

+ Công thức chuyển đổi các giá trị YCbCr sang RGB

Bảng 3.3-5 mô tả chức năng chân khối YCbCr_TO_RGB

Tên Kiểu Mô tả iCLK input Xung clock đầu vào 25 Mhz iRST input Tín hiệu reset hệ thống iDVAL input

Tín hiệu YCbCr[7 0] chuẩn YUV 4:4:4

Red[9 0] output Tín hiệu ra R 10 bít

Green[9 0] output Tín hiệu ra G 10 bít

Blue[9 0] output Tín hiệu ra B 10 bít

Khối RGB_to_HSV được xây dựng nhằm mục đích chuyển đổi tín hiệu từ không gian màu RGB sang không gian màu HSV

Hình 3.3-16 : không gian màu RGB Hình 3.3-17 : không gian màu HSV

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

+ Các bước chuyển đổi giá trị không gian màu RGB sang HSV:

 B1: Tính giá trị lớn nhất, nhỏ nhất

Sơ đồ khối chuyển đổi như sau :

HSV oH[7 0] oS[7 0] oV[7 0] iCLK iRST_N

Hình 3.3-18 : sơ đồ khối RGB_TO_HSV iRed[9 0] iGreen[9 0] iBlue[9 0]

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Bảng 3.3-6 : mô tả sơ đồ chân khối RGB_TO_HSV

Tên Kiểu Mô tả iCLK input Xung clock đầu vào 25Mhz iRST input Tín hiệu reset hệ thống iRed[9 0] input

Tín hiệu vào RGB 10 bít iGreen[9 0] input iBlue[9 0] input

Tín hiệu ra HSV 8 bít

Khối này được thiết kế để chuyển đổi tín hiệu hình ảnh từ hai camera trong không gian HSV thành ảnh nhị phân, sử dụng phương pháp tách biên Sobel, nhằm cung cấp dữ liệu cho khối nhận dạng ảnh.

KHỐI LẤY BIÊN ẢNH iCLK iRST_N

Hình 3.3-19 : sơ đồ khối khối lấy biên ảnh iH[7 0] iS[7 0] iV[7 0] ảnh nhị phân trái ảnh nhị phân phải

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Bảng 3.3-7 : mô tả sơ đồ chân khối lấy biên

Tên Kiểu Mô tả iCLK input Xung clock đầu vào 25 Mhz iRST input Tín hiệu reset hệ thống

H[7 0] input Tín hiệu ảnh vào không gian màu HSV

S[7 0] input Tín hiệu ảnh vào không gian màu HSV

Đầu vào là tín hiệu ảnh ở không gian màu HSV, với ảnh nhị phân bên trái Kết quả đầu ra là tín hiệu ảnh đã được lấy biên, hiển thị qua ảnh nhị phân bên phải.

+ Tạo ma trận nhân chập

THỰC NGHIỆM

Một số kết quả đạt đƣợc

Hình 4.1-1 Mobile robot thực tế

Hình 4.2-1 ảnh thu được camera trái Hình 4.2-2 ảnh thu được camera phải

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Hình 4.2-3 : Ma trận S không gian màu HSV

Hình 4.2-4 : Ma trận H không gian màu HSV

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH

Bảng số liệu thu được từ quá trình thực nghiệm :

XL XR D LEFT RIGH MAX MIN KẾT QUẢ

Hình 4.2-6 : ảnh đã tách biên qua bộ lọc Sobel

Hình 4.2-7 : ảnh trong không gian Hough với 85= iRed )

H_BR_Star = Quotient_BR_C + 2048; else H_BR_Star = 2048 - Quotient_BR_C ; if (iRed >= iGreen) H_RG_Star = Quotient_RG_C + 4096;

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH else H_RG_Star = 4096 - Quotient_RG_C ;

// TINH H = H'*60 mH_GB = H_GB_Star*60;// SO 27 BIT mH_BR = H_BR_Star*60; mH_RG = H_RG_Star*60;

//TINH H if(max == 0 ) mH = 10'h3ff; else begin if(max == iRed ) mH = mH_GB[18:11]; if(max == iGreen) mH = mH_BR[18:11]; if(max == iBlue ) mH = mH_RG[18:11]; end

The control block module operates with inputs including iclk, clk_50, rst, wr_done, arc_done, and find_done, producing a 2-bit output, oResult It defines three states: S0 for memory write, S1, and S2 The state transitions occur on the positive edge of iclk or when reset is triggered, initializing the state to S0 upon reset.

HVTH : PHẠM THANH HẢI GVHD : TS NGUYỄN ĐỨC THÀNH case (state)

S0: if(wr_done) state

Ngày đăng: 03/09/2021, 16:39

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

TÀI LIỆU LIÊN QUAN

w