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

Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA

68 0 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 đề Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Tác giả Nguyễn Đỗ Trọng Luận
Người hướng dẫn TS. Trương Công Dung Nghi
Trường học Đại học Quốc gia TP. HCM
Chuyên ngành Kỹ thuật Điện Tử
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2013
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 2,64 MB

Cấu trúc

  • Chương I: Mở đầu và giới thiệu tổng quan đề tài (10)
    • I. Giới thiệu hoàn cảnh và lý do chọn đề tài (10)
    • II. Tổng quan và mục tiêu của đề tài (10)
    • III. Đối tượng và phạm vi nghiên cứu (11)
    • IV. Tóm tắt nội dung các chương (12)
  • Chương II: Lý thuyết phân đoạn màu trong xử lý ảnh và áp dụng vào nhận dạng theo dõi vật thể (13)
    • I. Giới thiệu về các hệ thống theo vết vật thể di động (13)
    • II. Tác động của môi trường đến nhận dạng (15)
    • III. Thu hình ảnh và không gian màu (16)
    • IV. Nhận dạng vật thể (16)
    • V. Lọc hình thái (18)
  • Chương III: Xây dựng chương trình nhận dạng chuyển động của bàn tay dựa vào phân đoạn màu và thực hiện mạch phần cứng trên FPGA (20)
    • I. Giới thiệu kit Altera DE2 (20)
    • II. Sơ đồ khối tổng quát của chương trình (21)
    • III. Chi tiết thực hiện chương trình (23)
  • Chương IV: Kết Quả Và Phân Tích (63)
    • I. Kết quả thực thi (63)
    • II. Tốc độ thực thi thực tế của chương trình trên kit DE2 (63)
    • III. Độ chính xác của nhận dạng (0)
  • Chương V: Kết Luận Và Hướng Phát Triển (65)
    • I. Kết luận (65)
    • II. Hướng phát triển (65)
  • Chương VI: Tài Liệu Tham Khảo (66)

Nội dung

- Ứng dụng kỹ thuật phân đoạn màu để theo vết chuyển động của bàn tay, và dựa vào chuyển động đó để thực hiện các điều khiển hệ thống mà trong đề tài là vẽ lên một mặt phẳng bất kỳ.. Mục

Lý thuyết phân đoạn màu trong xử lý ảnh và áp dụng vào nhận dạng theo dõi vật thể

Giới thiệu về các hệ thống theo vết vật thể di động

Hiện nay đang tồn tại hai dạng chính của xử lý song song trong việc xử lý hình ảnh ở mức thấp [5] đó là xử lý song song về không gian (spatial parallelism), trong đó hình ảnh được chia thành nhiều phần (section) và được xử lý đồng thời; thứ hai là xử lý song song về thời gian (temporal parallelism), trong đó thuật toán được biểu diễn như một chuỗi sự kiện theo thời gian (time sequence) của các tác vụ song song

Thuật toán xử lý song song theo thời gian được thực hiện bằng cách xây dựng đường ống các tác vụ đồng thời để đưa dữ liệu từ tác vụ này đến tác vụ kế tiếp Điều này làm giảm số lần truy cập và sao chép hình ảnh từ bộ nhớ và việc xử lý có thể thực thi trực tiếp trên luồng dữ liệu ngõ vào cung cấp từ bộ chuyển đổi tín hiệu video ADC (analog digital converter) Trong luận văn này áp dụng xử lý dữ liệu hình dựa theo luồng (stream-based) nên cũng có những giới hạn các loại thuật toán có thể được áp dụng dễ dàng và hiệu quả [4]

Có một số kỹ thuật theo vết vật thể khác nhau có thể được áp dụng vào công việc xử lý của đề tài Các thuật toán theo dõi vật thể trực tiếp dựa trên chuyển động sẽ hoạt động dựa trên sự khác nhau giữa các khung hình liên tiếp, từ đó chuyển động của vật thể có thể được suy ra trực tiếp Những phương pháp nhận dạng dựa vào chuyển động như vậy yêu cầu có bộ đệm khung hình (frame buffering) nên sẽ không được sử dụng trong đề tài

Một phương pháp thay thế khác là cách tiếp cận dựa vào sự phân đoạn (segmentation), trong đó vật thể mục tiêu được tách ra khỏi phần hình nền còn lại trong bức hình thu được Sau đó vật thể sẽ được theo dõi bằng cách tính toán sự thay đổi vị trí trong các khung hình tiếp theo

Phân đoạn là kỹ thuật chia tách hình ảnh thành các vùng đối tượng riêng biệt dựa trên các đặc điểm chung đồng nhất Quá trình này giúp nhận dạng và hiểu các đối tượng khác nhau trong hình ảnh, tách biệt chúng khỏi nền và các đối tượng khác Phân đoạn có vai trò quan trọng trong việc xử lý hình ảnh và nhận dạng đối tượng, cho phép các hệ thống máy tính phân tích và hiểu các cảnh trong hình ảnh.

Trang 5 characteristics) Một phương pháp đơn giản là phân đoạn bức ảnh dựa vào màu sắc bằng cách áp dụng các ngưỡng cho mỗi điểm ảnh (pixel) Phương pháp này lý tưởng cho xử lý theo luồng (stream) bởi vì việc xét ngưỡng là phép toán điểm có thể dễ dàng thực hiện trên FPGA Phần tiếp theo sẽ bàn đến ảnh hưởng của môi trường đối với phương pháp phân đoạn dựa trên màu sắc Sơ đồ khối tổng quát của hệ thống được minh hoạ ở hình 2.1 dưới đây

Hình 2.1: Sơ đồ khối của hệ thống theo vết vật thể di động dựa trên việc phân đoạn màu sắc

Thuật toán theo dõi được chia làm 4 giai đoạn: chuyển đổi màu (color conversion), phân đoạn và dán nhãn các khu vực (segmentation and region labeling), lọc hình thái (morphological filtering), và phát hiện vật thể (object detection) Luồng điểm ảnh từ thiết bị thu hình sẽ được chuyển đổi từ không gian màu RGB (Red Green Blue) sang không gian màu YUV để loại bỏ sự phụ thuộc vốn có giữa độ sáng (luminance) và sắc độ (chrominance) trong không gian màu RGB Việc phân đoạn được thực hiện bằng cách sử dụng ngưỡng màu sắc để kết hợp mỗi điểm ảnh với một lớp màu (color class) cụ thể (lớp màu là khái niệm để chỉ một màu sắc đồng nhất và duy nhất kết hợp với một vật thể được nhận dạng, có thể hiểu đơn giản là màu đơn của vật thể) Tiếp theo, một bộ lọc hình thái sẽ được sử dụng để loại bỏ các điểm ảnh nhiễu không thuộc các vùng của vật thể Cuối cùng, vật thể được phát

Trang 6 hiện bằng cách xây dựng một hộp đường bao (bounding box) chứa đựng tất cả điểm ảnh nằm cùng một lớp màu Đối với mỗi vật thể được nhận dạng, ta có thể xác định được các thông số hữu ích về vùng vật thể như vị trí, kích thước, định hướng …

Tác động của môi trường đến nhận dạng

Mục tiêu của bất kỳ hệ thống nhận dạng nào là có thể làm việc trong môi trường tương đối không có cấu trúc xác định (unstructured environment) Một môi trường không có cấu trúc (ví dụ không có màn hình hoặc phông nền xanh) sẽ cung cấp một hệ thống nhận dạng có độ linh hoạt (flexibility) và linh động (portability) cao hơn nhưng đồng thời cũng có thể làm cho việc phân đoạn chính xác và đáng tin cậy trở nên khó khăn hơn bởi vì yêu cầu cần phải phân biệt được vật thể mong muốn với những vật thể khác có thể cùng có mặt trong khung hình Những khó khăn và giới hạn này có thể được giải quyết bằng cách giới hạn vật thể đối tượng nhận dạng cần nằm trong các màu có độ bão hoà (saturated) và đặc trưng (distinctive) cao để cho phép chúng tách biệt hẳn so với cảnh nền không có cấu trúc

Việc gia tăng môi trường không có cấu trúc bằng các màu có cấu trúc là một cách sắp xếp để làm có thể sử dụng giải thuật phân đoạn màu một cách đơn giản hơn khá nhiều Trong luận văn này, vật thể cần nhận dạng là các ngón tay sẽ được tăng cường màu sắc bằng cách đeo các băng keo màu đỏ và vàng để dễ phân đoạn so với môi trường hỗn hợp bình thường

Việc phát hiện và phân đoạn vật thể dựa đơn thuần vào màu sắc tạo ra một số biến tương tác (interacting variables) cần phải được điều chỉnh đúng và phù hợp Ngoài việc điều chỉnh độ mở (aperture) của ống kính camera và tối ưu ngưỡng màu sắc cho từng vật thể, ánh sáng trong môi trường cũng đóng một vai trò quan trọng Màu sắc và vị trí đặt của nguồn sáng trong môi trường có tác động lớn đến độ tin cậy của thuật toán Nguồn sáng đặt trong trường nhìn (field of view) của camera có thể tạo ra các điểm ảnh nhiễu vào hình ảnh Nguồn sáng điểm đặt phía trước có thể làm các

Trang 7 điểm ảnh của vật thể bão hoà và ngã màu trắng Vì vậy nguồn sáng khuếch tán (diffuse light) là thích hợp nhất.

Thu hình ảnh và không gian màu

Quy trình thu thập hình ảnh bao gồm máy quay video và bộ chuyển đổi ADC (chip giải mã hình ảnh) Mỗi pixel của tín hiệu video thu được có màu sắc nằm trong một khoảng nhất định sẽ thuộc về cùng một lớp màu Tuy nhiên, nếu áp dụng ngưỡng giá trị màu đối với không gian màu RGB, kết quả sẽ không ổn định do phụ thuộc vào cường độ màu Hiện nay, máy quay video thường sử dụng không gian màu YUV, trong đó thành phần màu sắc được tách riêng với cường độ và độ sáng, giúp tăng độ ổn định của quá trình nhận dạng.

Nhận dạng vật thể

Hộp đường bao (bounding box) cung cấp một phương pháp đơn giản để tính toán vị trí (position), kích thước (size) và tỉ lệ tương quan (aspect ratio) của một vùng được gán nhãn (labeled region) Nếu xử lý thêm, hộp này còn có thể được dùng để cho biết phương hướng (orientation) của một vật thể không đối xứng (non-symmetric object)

Hộp đường bao (bounding box) được xác định bởi các điểm ảnh trên cùng (topmost), dưới cùng (bottommost), ngoài cùng bên trái (leftmost) và ngoài cùng bên phải (rightmost) nằm thuộc vào một lớp màu xác định Phương pháp này hoạt động bằng cách lưu lại các toạ độ của điểm ảnh đầu tiên của vùng dán nhãn trong khi quét liên tiếp (raster scan) Các toạ độ này cho biết đỉnh của hộp Với mỗi dòng tiếp theo, toạ độ x của mỗi điểm ảnh trong vùng dán nhãn được so sánh với toạ độ được lưu trữ của mép trái hiện tại (min, tối thiểu) và mép phải hiện tại (max, tối đa) của hộp Những giá trị này được cập nhật nếu phát hiện điểm ảnh nằm ngoài vùng đường bao hiện tại Sau cùng, điểm ảnh cuối cùng trong vùng dán nhãn sẽ cho biết toạ độ y của cạnh dưới của hộp

Trang 8 Mỗi vật thể mục tiêu (thuộc một lớp màu) có một hộp đường bao riêng Vì vậy tất cả các hộp đường bao phải được tính toán song song trong quá trình xử lý vùng ảnh

Những phần cứng riêng biệt với cấu trúc dữ liệu nội bộ có thể được xây dựng để theo dõi từng hộp Tuy nhiên, bởi vì mỗi điểm ảnh chỉ được dán nhãn thuộc 1 phần của một lớp màu (trường hợp các lớp màu chồng lấp là ko hợp lệ) nên chỉ có 1 hộp duy nhất được điều chỉnh cho mỗi điểm ảnh Vì thế việc dùng nhiều thành phần phần cứng lặp lại giống nhau là không hiệu quả vì chỉ có một phiên bản của phần cứng được sử dụng tại một thời điểm

Thay vì làm nhiều phần cứng, ta dùng cách chia sẻ một thể hiện (instance) duy nhất của phần cứng hộp đường bao Sự chia sẽ này được ghép lại (multiplexed) giữa các cấu trúc dữ liệu chứa thông tin cho mỗi hộp dựa trên mỗi lớp màu Bằng cách điều chỉnh các logic cells sử dụng như là bộ nhớ trên chip (on-chip memory), một dãy các cấu trúc hộp có thể được tạo ra để lưu các dữ liệu yêu cầu, với các ghép nối kênh được thực hiện ngầm (implicitly) thông qua cổng địa chỉ (address port)

Sau khi quét qua hết toàn bộ vùng ảnh, các hộp đường bao sẽ được tạo ra thành công Các thông tin hữu ích về hộp đường bao có thể được trích ra trong khoảng chu kỳ trống chiều dọc (vertical blanking period) và sử dụng để điều khiển bất kỳ ứng dụng nào có thể ánh xạ các thông tin này vào các chức năng hữu ích Ví dụ:

 Tâm (điểm chính giữa) của hộp sẽ gần tương ứng với tâm và cũng chính là vị trí của mục tiêu Một phương pháp đơn giản để tính tâm của vật thể là tính tổng của các toạ độ trên dưới và trái phải, dịch các kết quả này qua phải 1 bit để chia 2: y_center=(y_top+y_bottom)/2 và x_center=(x_left+x_right)/2

 Kích thước vật thể được cho bởi chiều rộng và chiều cao (phép trừ giữa toạ độ trái và phải, trên và dưới) Từ kích thước này có thể suy ra được khoảng cách từ vật đến camera

 Tỉ lệ tương quan là tỉ lệ chiều rộng so với chiều cao Người dùng có thể xoay các băng đánh dấu màu để thay đổi tỉ lệ này, và có thể được dùng để mô phỏng tương tự như động tác nhấn chuột

 Hướng của một vật thể thon dài (elongated object) có thể được quyết định bằng cách tăng (augmenting) hộp giới hạn Với mỗi hàng trong ảnh, nếu biên trái được điều chỉnh thì bộ cộng dồn (accumulator) sẽ được giảm đi, nếu biên phải được điều chỉnh thì bộ cộng dồn sẽ được tăng lên Đối với một vật thể có dạng hình roi (rod-like) ở một góc, một phía sẽ được mở rộng ra thường xuyên hơn phía kia và điều này được thể hiện ở dấu (sign) âm hay dương của bộ cộng dồn

Phương pháp hộp đường biên để nhận dạng vật thể khá nhạy với nhiễu trên các điểm ảnh ở biên (boundary pixels), điều này có thể tạo ra các gai (jitter) vào vùng được phát hiện (detected position) Các gai này có thể gây ra sự bất ổn định (uncertainty) hoặc nhiễu lên các thông số theo dõi (tracking parameters) Các thông tin chính xác hơn có thể thu được (derived) bằng cách làm mềm (smoothing) các thông tin theo dõi qua một chuỗi (series) các vùng ảnh, đổi lại hệ thống sẽ tốn thêm tài nguyên logic.

Lọc hình thái

Một vấn đề khác là cho dù với mức độ điều chỉnh đầy đủ vẫn xuất hiện những điểm ảnh nhiễu cô lập kết hợp với mỗi lớp màu Bất kỳ điểm ảnh rải rác nào (stray pixel) cũng làm cho hộp đường biên bao luôn các pixel nhiễu, gây ra tính toán sai các vùng bao và dẫn tới sai các thông tin theo dõi tính toán được Các điểm ảnh có thể bị dán nhãn sai do nhiều lý do bao gồm: có các vật thể khác trong môi trường có màu giống với đối tượng mục tiêu, nhiễu tạo ra bởi hệ thống thu nhận hình ảnh, sự phản chiếu long lanh (specular reflections), và các cạnh có độ tương phản cao (high contrast edges) Để loại bỏ các điểm ảnh được dán nhãn sai này, ta thực hiện bộ lọc ăn mòn theo hình thái (morphological erosion filter) với thành phần cấu trúc kích thước 2x2

Bộ lọc này sẽ loại bỏ các nhãn của điểm ảnh nào không phải là một phần của nhóm các điểm ảnh trong cửa sổ thành phần hình vuông 2x2 (4 pixels) Bộ lọc này chứng

Trang 10 minh đủ để loại bỏ hầu hết các nhiễu với điều kiện ánh sáng môi trường, hệ thống chụp ảnh (bao gồm cả độ mở/khẩu độ của ống kính) và các ngưỡng màu đã được thiết lập thích hợp Bộ lọc này không thể loại bỏ các điểm ảnh dán nhãn sai vì lý do đang có một vật khác giống màu đối tượng mục tiêu nằm trong cùng môi trường chụp ảnh

Bộ lọc 2x2 này có thể được tách riêng, nghĩa là bộ lọc này có thể thực hiện độc lập sử dụng cửa sổ gồm 2 phần tử theo mỗi chiều dọc và ngang Đầu tiên điểm ảnh hiện tại được so sánh với điểm ảnh trước đó (điểm ảnh kế cận bên trái) bằng cách sử dụng toán tử AND theo bit (bit-wise AND) của các mặt nạ lớp màu Nếu điểm ảnh trước thuộc cùng lớp màu, nó sẽ không thay đổi, nhưng nếu khác màu, kết quả sẽ 0 Kết quả được lưu vào vị trí tương ứng trong bộ đệm dòng (line buffer) Kết quả cũng được so sánh với nhãn màu của điểm ảnh ở dòng trước (nhãn màu này được lấy ra từ bộ đệm dòng) Bộ lọc sẽ sử dụng dòng cuối cùng của khung hình trước khi xử lý dòng đầu tiên của khung hình hiện tại Tương tự vậy, bộ lọc cũng sẽ lấy tham chiếu là điểm ảnh ngoài cũng bên phải của dòng trước đó khi xử lý điểm ảnh đầu tiên (bên trái) của dòng hiện tại

Trong một vài trường hợp, bộ lọc này không loại bỏ được hết tất cả nhiễu Vì vậy một cách để giảm số nhiễu bỏ sót là tăng kích thước cửa sổ của bộ lọc Ngoài ra, có thể dùng một hệ thống dán nhãn các thành phần kết nối (connected component labeling) phức tạp hơn Tuy nhiên những cải tiến này cũng sẽ làm tăng tiêu hao tài nguyên và bộ nhớ Một hệ thống bình thường có thể hoạt động hợp lý sau khi cẩn thận điều chỉnh ánh sáng và các thông số hệ thống

Xây dựng chương trình nhận dạng chuyển động của bàn tay dựa vào phân đoạn màu và thực hiện mạch phần cứng trên FPGA

Giới thiệu kit Altera DE2

Hình sau là thiết kế và các thành phần trên kit DE2

Kit DE2 có nhiều tính năng cho phép người sử dụng (sinh viên, giáo sư, kỹ sư…) thực hiện thiết kế nhiều mạch đa dạng từ đơn giản đến các mạch truyền thông đa phương tiện

Trên kit DE2 có những thành phần phần cứng sau:

 Chip Altera Cyclone® II 2C35 FPGA, cụ thể là EP2C35F672C6: gồm có 33216 LE (logic elements, mỗi LE gồm 4 cổng ngõ vào, 1 FF Flip Flop và 1 bộ cộng chuỗi carry bit); 35 bộ nhân 18x18 bits; 105 khối bộ nhớ M4K (mỗi

Trang 12 khối dung lượng 4Kbit); 4 bộ PLL (phase locked loop) để chia tạo xung clock chính xác

 Chip USB Blaster (trên board) để nạp chương trình vào kit và dùng các hàm API (application programming interface) của người dùng, hỗ trợ chế độ JTAG và Active Serial (AS) để gỡ lỗi (debug)

 8 Mbyte SDRAM: tổ chức thành 4 banks x 1M x 16 bits

 18 nút gạt (gạt lên = logic 1, gạt xuống = logic 0)

 18 đèn LED đỏ (tên để gán chân là LEDR) và 9 LED xanh lục (LEDG)

 Bộ dao động 50 MHz và 27 MHz dùng làm nguồn xung clock

 Chip giải mã tín hiệu video ngõ ra VGA ADV7123 gồm 3 bộ giải mã DAC

10-bit tốc độ cao240-MHz và đầu nối D-sub ngõ ra VGA 15 chân tiêu chuẩn

 Chip giải mã tín hiệu TV ngõ vào (định dạng NTSC/PAL) ADV7181B (gồm 3 bộ ADC 9 bit tốc độc 54 MHz) và đầu cắm RCA in Hỗ trợ ngõ ra số định dạng chuẩn ITU-R BT.656 YCrCb 4:2:2 + tín hiệu đồng bộ ngang và dọc HS, VS và tín hiệu FIELD

 Tất cả kết nối đến các phần cứng và ngoại vi đều đi qua FPGA nên người dùng có thể linh hoạt lập trình FPGA thực hiện bất kỳ thiết kế hệ thống nào

 Các ngoại vi và phần cứng khác có thể xem thêm trong tài liệu tham khảo DE2 user manual trên website của Altera.

Sơ đồ khối tổng quát của chương trình

Sơ đồ khối tổng quát của chương trình được cho ở hình 3.2 dưới đây

Hình 3.2: Sơ đồ các khối tổng quát của chương trình

 Camera: dùng camera bình thường (Canon 500D) bật ở chế độ thu video định dạng NTSC và kết nối vào jack cắm RCA trên kit DE2 thông qua cáp USB  RCA đi kèm theo máy ảnh (thường dùng để nối máy ảnh với Tivi và xuất hình ảnh hay video ra tivi)

Hình 3.3: Camera sử dụng và cáp USB – RCA kết nối với kit

 Khối giải mã video - Video Decoder: tín hiệu video analog thu được từ camera sẽ đi vào kit DE2 qua jack cắm RCA đến chip giải mã tín hiệu ADV7181B Khối này sẽ giải mã, trích xuất các tín hiệu video ở dạng YCrCb 4:2:2 (YUV 4:2:2) từ luồng tín hiệu dữ liệu analog theo chuẩn ITU-R 656 Khối này cũng tạo ra tín hiệu điều khiển chỉ ra khoảng thời gian hợp lệ của dữ liệu ngõ ra

 Khối I2C_AV_Config: khi chúng ta nạp luồng bit của chương trình

(download program) xuống FPGA, các giá trị thanh ghi của chip TV decoder sẽ được dùng để cấu hình hoạt động của chip đó thông qua khối I2C_AV_Config này Khối này sử dụng giao thức truyền tín hiệu nối tiếp

I2C (inter - integrated circuit) để giao tiếp với chip TV decoder

 Bộ nhớ SDRAM: khối này dùng làm bộ đệm khung hình (frame buffer) và giải trộn (de-interlacing) các tín hiệu video được trộn (interlaced) đến từ bộ giải mã TV

 Khối YUV to RGB: chuyển đổi dữ liệu YCrCb sang định dạng RGB để xử lý và xuất ra VGA

 Khối Main Control: đây là khối chính của thiết kế và đảm nhiệm thực hiện phát hiện và phân đoạn màu sắc Khối sẽ đọc ra dữ liệu từng điểm ảnh từ bộ đệm khung hình trong bộ nhớ SDRAM, tính toán giá trị RGB của điểm ảnh và dựa trên cường độ tương đối của mỗi thành phần Red (đỏ), Green (xanh lục), Blue (xanh lam) để phát hiện các màu sắc khác nhau Nó cũng tính điểm giữa của khối đánh dấu màu (color marker) và ghi giá trị màu vẽ đang chọn vào bộ nhớ M4K để khối VGA đọc và hiển thị ra màn hình

 Khối VGA: khối này gồm khối VGA controller và VGA display Khối VGA controller sẽ đọc và nhận dữ liệu RGB của mỗi điểm ảnh từ bộ nhớ M4K và gửi dữ liệu đó đến bộ VGA DAC để chuyển đổi thành tín hiệu analog Địa chỉ của từng ô nhớ trong bộ nhớ M4K chính là địa chỉ của từng điểm ảnh trên màn hình VGA Độ rộng mỗi ô nhớ của bộ nhớ M4K là 2 bits, do đó ta có thể lưu 4 giá trị 00, 01, 10, 11 tương ứng với 4 màu hiển thị khác nhau

Ngoài ra khối VGA controller còn vẽ ra và hiển thị bảng màu (color palette) trên màn hình để chọn màu khi vẽ

Hình 3.4: Bảng màu trên màn hình để chọn màu vẽ

Chi tiết thực hiện chương trình

3.3.1 Khối giải mã video – Video Decoder 3.3.1.1 Chip giải mã tín hiệu ADV7181

Trang 15 Trên kit DE2 được trang bị chip giải mã tín hiệu analog (video/TV) ADV7181 của hãng Analog Devices Chip ADV7181 là một bộ giải mã video tích hợp tự động phát hiện và chuyển đổi tín hiệu tivi analog dải nền (baseband) chuẩn (NTSC, PAL và SECAM) thành dữ liệu video thành phần 4:2:2 tương thích với chuẩn

CCIR601/CCIR656 16-bit/8-bit Chip này tương thích với nhiều loại thiết bị video bao gồm đầu đọc đĩa DVD, nguồn video từ băng từ, nguồn video/tivi phát quảng bá (broadcast) và các camera chuẩn (camera dân dụng, camera giám sát an ninh …)

Các thanh ghi trên bộ giải mã có thể được lập trình giao tiếp qua bus I2C Sơ đồ kết nối và sơ đồ chân của bộ giải mã được cho dưới đây:

Hình 3.5: Sơ đồ bộ giải mã video

Trang 16 Bảng 3.1: Tên và ý nghĩa các chân của bộ giải mã video

3.3.1.2 Sơ đồ toàn bộ khối giải mã tín hiệu video

Hình 3.6: Sơ đồ khối giải mã video

3.3.1.2.a Chương trình ITU_656_Decoder giải mã tín hiệu từ TV decoder module ITU_656_Decoder( // TV Decoder Input

Trang 17 iTD_DATA, // Position Output oTV_X, oTV_Y, oTV_Cont, // YUV 4:2:2 Output oYCbCr, oDVAL, // Control Signals iSwap_CbCr, iSkip, iRST_N, iCLK_27 ); input [7:0] iTD_DATA; input iSwap_CbCr; input iSkip; input iRST_N; input iCLK_27; output [15:0] oYCbCr; output [9:0] oTV_X; output [9:0] oTV_Y; output [31:0] oTV_Cont; output oDVAL;

// For detection reg [23:0] Window; // Sliding window register reg [17:0] Cont; // Counter reg Active_Video; reg Start; reg Data_Valid; reg Pre_Field; reg Field; wire SAV; reg FVAL; reg [9:0] TV_Y; reg [31:0] Data_Cont;

The ITU-R 656 to ITU-R 601 register conversion process involves assigning values to various registers, including Cb, Cr, YCbCr, oTV_X, oTV_Y, oYCbCr, oDVAL, SAV, and oTV_Cont The SAV flag indicates the presence of a valid video signal, and the oTV_Cont register stores the contrast value The conversion process is triggered by the positive edge of the iCLK_27 clock signal and the negative edge of the iRST_N reset signal If the iRST_N signal is inactive, the system initializes and executes the conversion process.

Data_Cont

Ngày đăng: 24/09/2024, 11:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Mistry, Pranav, and Pattie Maes. "SixthSense: a wearable gestural interface." In ACM SIGGRAPH ASIA 2009 Art Gallery & Emerging Technologies: Adaptation, pp. 85-85. ACM, 2009 Sách, tạp chí
Tiêu đề: SixthSense: a wearable gestural interface
[2] Chu, Shaowei, and Jiro Tanaka. "Hand gesture for taking self portrait." Human- Computer Interaction. Interaction Techniques and Environments (2011): 238-247 Sách, tạp chí
Tiêu đề: Hand gesture for taking self portrait
Tác giả: Chu, Shaowei, and Jiro Tanaka. "Hand gesture for taking self portrait." Human- Computer Interaction. Interaction Techniques and Environments
Năm: 2011
[3] Jing, Lei, Kaoru Yamagishi, Junbo Wang, Yinghui Zhou, Tongjun Huang, and Zixue Cheng. "A unified method for multiple home appliances control through static finger gestures." In Applications and the Internet (SAINT), 2011 IEEE/IPSJ 11th International Symposium on, pp. 82-90. IEEE, 2011 Sách, tạp chí
Tiêu đề: A unified method for multiple home appliances control through static finger gestures
[4] Amma, Christoph, and Tanja Schultz. "Airwriting: demonstrating mobile text input by 3D-space handwriting." In Proceedings of the 2012 ACM international conference on Intelligent User Interfaces, pp. 319-320. ACM, 2012 Sách, tạp chí
Tiêu đề: Airwriting: demonstrating mobile text input by 3D-space handwriting
[5] Johnston, C. T., D. G. Bailey, and K. T. Gribbon. "Optimisation of a colour segmentation and tracking algorithm for real-time FPGA implementation."InProceedings of Image and Vision Computing New Zealand, pp. 422-427. 2005 Sách, tạp chí
Tiêu đề: Optimisation of a colour segmentation and tracking algorithm for real-time FPGA implementation
[7] “Bresenham's line algorithm” Internet: http://en.wikipedia.org/wiki/Bresenham's_line_algorithm Sách, tạp chí
Tiêu đề: Bresenham's line algorithm
[8] Rao, S. Sadhana. "Sixth sense technology." In Communication and Computational Intelligence (INCOCCI), 2010 International Conference on, pp.336-339. IEEE, 2010 Sách, tạp chí
Tiêu đề: Sixth sense technology
[9] Harrison, Chris, Desney Tan, and Dan Morris. "Skinput: appropriating the body as an input surface." In Proceedings of the 28th international conference on Human factors in computing systems, vol. 3, pp. 453-462. ACM, 2010 Sách, tạp chí
Tiêu đề: Skinput: appropriating the body as an input surface
[10] Dan Ji, Abhishek Aggarwal, Swapnil Bansal “Virtual Paint Project Website” Internet:http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2010/dj238_ssb224_aa764/MyWebSites/index.htm November 2010 Sách, tạp chí
Tiêu đề: Virtual Paint Project Website
[11] Bruce Land “ECE5760 Advanced Microcontroller Design and System-on-chip course’s website” Internet:http://people.ece.cornell.edu/land/courses/ece5760/index.html#assign June 2013 Sách, tạp chí
Tiêu đề: ECE5760 Advanced Microcontroller Design and System-on-chip course’s website

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Sơ đồ khối của hệ thống theo vết vật thể di động dựa trên việc phân đoạn - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 2.1 Sơ đồ khối của hệ thống theo vết vật thể di động dựa trên việc phân đoạn (Trang 14)
Hình sau là thiết kế và các thành phần trên kit DE2 - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình sau là thiết kế và các thành phần trên kit DE2 (Trang 20)
Hình 3.3: Camera sử dụng và cáp USB – RCA kết nối với kit - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.3 Camera sử dụng và cáp USB – RCA kết nối với kit (Trang 22)
Hình 3.4: Bảng màu trên màn hình để chọn màu vẽ - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.4 Bảng màu trên màn hình để chọn màu vẽ (Trang 23)
Hình 3.5: Sơ đồ bộ giải mã video - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.5 Sơ đồ bộ giải mã video (Trang 24)
3.3.1.2. Sơ đồ toàn bộ khối giải mã tín hiệu video - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
3.3.1.2. Sơ đồ toàn bộ khối giải mã tín hiệu video (Trang 25)
Hình 3.7: Bảng màu RGB (các giá trị là số thập phân) - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.7 Bảng màu RGB (các giá trị là số thập phân) (Trang 47)
Hình 3.9: Tín hiệu quét ngang và quét dọc trên màn hình VGA - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.9 Tín hiệu quét ngang và quét dọc trên màn hình VGA (Trang 56)
Hình 3.10 Xung đồng bộ ngang - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 3.10 Xung đồng bộ ngang (Trang 57)
Hình 4.1 Minh hoạ thao tác với hệ thống - Luận văn thạc sĩ Kỹ thuật điện tử: Nhận dạng chuyển động bàn tay dựa vào phân đoạn màu thực hiện trên FPGA
Hình 4.1 Minh hoạ thao tác với hệ thống (Trang 63)