Mở đầu và giới thiệu tổng quan về đề tài Chương này giới thiệu tổng quan đề tài, một số nghiên cứu có liên quan đến đề tài và đề ra nhiệm vụ chính của đề tài. Giới thiệu hoàn cảnh và lý do chọn đề tài. Những năm gần đây đã và đang chứng kiến sự bùng nổ của các thiết bị thông minh (smart devices) với rất nhiều những ứng dụng, chức năng khác nhau. Việc giao tiếp giữa con người với những thiết bị này cũng ngày một đa dạng, không chỉ dừng ở việc giao tiếp bằng bàn phím hay màn hình cảm ứng, mà còn đang hướng đến những giao tiếp rất “con người” thông qua giọng nói, cử chỉ, suy nghĩ… Một trong những ứng dụng thu hút được sự quan tâm hiện nay đó là việc nhận dạng cử chỉ của bàn tay, nhằm hướng đến việc xây dựng những ứng dụng có thể hoàn toàn được điều khiển bằng sự chuyển động và cử chỉ của bàn tay [1,2,3].1: Một số ứng dụng dựa trên nhận dạng cử chỉ bàn tay [1] (từ trái sang phải: điều khiển việc phóng to hoặc thu nhỏ bản đồ; bàn phím ảo trong lòng bàn tay).
Trước sự phát triển đa dạng của các ứng dụng xử lý ảnh và video để nhận dạng cử động, đề tài “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” được chọn làm đề tài nghiên cứu luận văn thạc sĩ. Tổng quan và mục tiêu của đề tài. Trang 1 HVTH: Nguyễn Đỗ Trọng Luận GVHD: TS. Trương Công Dung Nghi Việc nhận dạng cử chỉ bàn tay thường bao gồm việc sử dụng camera để cung cấp dữ liệu cảnh (scene data), một hệ thống xử lý đảm nhiệm việc phân tích dữ liệu được cung cấp, và sau cùng, chuyển động trong thế giới thực của bàn tay được ánh xạ (map) vào việc điều khiển hệ thống.
Quá trình xử lý này đòi hỏi phải được thực thi theo thời gian thực nhằm đảm bảo sự ổn định trong hệ thống điều khiển vòng kín. Hiện nay, việc xử lý hình ảnh ở tốc độ video trên các vi xử lý dạng tuần tự như của máy tính đã khá phổ biến và có thể xử lý nhiều bài toán ở chế độ thời gian thực. Ngoài những ứng dụng được xây dựng và phát triển trên máy tính, người ta còn quan tâm đến việc xây dựng những mạch tích hợp riêng có khả năng thực thi một tác vụ nào đó dựa trên hệ thống phần cứng dải cổng lập trình được (Field- programmable gate array (FPGA)). FPGA bao gồm ma trận các khối logic được kết nối bởi các mạng khoá chuyển mạch.
Cả khối logic và khoá chuyển mạch đều có thể tái lập trình nên cho phép xây dựng các mạch phần cứng riêng cho từng ứng dụng và thay đổi chức năng của hệ thống một cách dễ dàng. Những cải thiện về hiệu năng đạt được nhờ bỏ qua cơ chế nạp lệnh – giải mã – thực thi của vi xử lý truyền thống và tận dụng cấu trúc song song vốn có của phần cứng FPGA để thực thi giải thuật chạy đồng thời (concurrency). Luận văn hướng đến việc giải quyết bài toán nhận dạng hình thái và cử chỉ của bàn tay thực hiện trên FPGA. Mục tiêu của đề tài là nhận dạng động tác của bàn tay và các ngón tay đã được đánh dấu bằng các ký hiệu màu, từ đó thực thi một tác vụ nào đó, ví dụ như điều khiển thiết bị, ghi chú với bàn phím ảo… Việc xây dựng và hiện thực giải thuật nhận dạng và điều khiển trên FPGA có nhiều ràng buộc và khó khăn hơn khi thực hiện trên máy tính.
Do vậy, việc thiết kế một giải thuật hiệu quả, tương thích được với phần cứng là một thách thức lớn của đề tài. Đối tượng và phạm vi nghiên cứu. Tìm hiểu lý thuyết xử lý ảnh và video. Trang 2 HVTH: Nguyễn Đỗ Trọng Luận GVHD: TS.
Trương Công Dung Nghi Tìm hiểu cách chuyển đổi giữa các không gian màu để giảm tối đa ảnh hưởng của ánh sáng môi trường, giảm nhiễu, giải thuật phân đoạn màu để nhận dạng và theo vết một vật thể. Tìm hiểu cấu trúc chip FPGA Altera Cyclone II và các thành phần phần cứng của kit DE2 là nền tảng để chạy giải thuật nhận dạng, bao gồm thu nhận tín hiệu video từ camera, lưu trong bộ nhớ SDRAM và xuất ra màn hình VGA. Tìm hiểu về ngôn ngữ mô tả phần cứng Verilog và cách lập trình bằng Verilog để thiết kế giải thuật và mạch phần cứng của đề tài. Tóm Tắt Nội Dung Các Chương.
Luận văn này được tổ chức như sau : Chương II: Lý thuyết phương pháp xử lý ảnh, phân đoạn màu và cách áp dụng trong nhận dạng và theo dõi vật thể. Chương III: Nội dung chính của đề tài: 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 chi tiết trên phần cứng FPGA. Chương IV: Kết quả chương trình. Chương V: Kết luận và hướng phát triển.
Chương VI: Tài liệu tham khảo. Trang 3 HVTH: Nguyễn Đỗ Trọng Luận GVHD: TS. Trương Công Dung Nghi 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ể I. 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à sự phân chia hình ảnh thu được thành nhiều vùng vật thể tách rời dựa trên những đặc điểm đặc trưng đồng nhất chung (common uniform feature Trang 4 HVTH: Nguyễn Đỗ Trọng Luận GVHD: TS. Trương Công Dung Nghi 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: 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 5 HVTH: Nguyễn Đỗ Trọng Luận GVHD: TS.
Trương Công Dung Nghi 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 … II. 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.