Đặt vấn đề Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát triển và được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo nhằm tạo ra các ứng dụng thông minh, mang tính tri thức con người đó là nhận dạng. Với sự phát triển mạnh mẽ của công nghệ và nhu cầu của con người ngày càng cao. Một bài toán được đặt ra là: Làm sao có thể điều khiển máy tính, các thiết bị giải trí, robot…bằng những cử chỉ, hành động và lời nói của con người.
Nhận dạng hình ảnh và âm thanh là một giải pháp để giải quyết bài toán này và một phần nhỏ trong lĩnh vực đó là nhận dạng cử chỉ bàn tay. Lý do chủ quan khi chọn đề tài: Những năm gần đây robot là một trong những thế mạnh của Khoa. Và em muốn làm sao để trở nên mạnh hơn nữa về công nghệ chế tạo robot thông minh. Để lại một cái gì đó quý báu cho những sinh viên khóa sau của trường phát triển tốt hơn về các công nghệ cao và các ngành khác liên quan.2 Mục tiêu Nhận dạng cử chỉ tay xây dựng chương trình điều khiển như sau: No hand: Không có bàn tay (Robot không di chuyển) “Up”: Ngón tay thứ nhất trong bàn tay (Robot di chuyển về phía trước) “Down”: Ngón tay thứ hai trong bàn tay (Robot di chuyển về phía sau) “Left”: Ngón tay thứ ba trong bàn tay (Robot di chuyển sang trái) “Right”: Ngón tay thứ tư trong bàn tay (Robot di chuyển sang phải) Nghiên cứu lý thuyết lập trình python, OpenCV.
Tìm hiểu lý thuyết xử lý ảnh. Xây dựng giải thuật nhận dạng cử chỉ bàn tay.3 Phạm vi của luận văn tốt nghiệp Đề tài được nghiên cứu dựa trên nền tảng các kiến thức cơ bản về ngôn ngữ lập trình và vi điều khiển được học ở trường, cùng với việc tự tìm hiểu và học hỏi của các tài liệu đi trước. Hệ thống điều khiển của robot được thực hiện dựa trên máy tính nhúng Raspberry pi 3 kết nối với camera pi và chương trình được viết bằng Python. SVTH: NGUYỄN VĂN ĐẠT Trang 1 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN Do giới hạn về kiến thức của bản thân nên mục tiêu hướng đến đề tài là làm sao để robot di động một cách cơ bản nhất có thể.4 Tổng quan về các nghiên cứu liên quan Bàn tay con người có cấu trúc xương phức tạp bao gồm rất nhiều khớp nối với nhau.
Vì số bậc tự do của bàn tay người là rất lớn nên việc nhận dạng cử chỉ bàn tay trở nên một thách thức lớn. Có nhiều nghiên cứu về nhận dạng cử chỉ với các giải thuật khác nhau như: nhận dạng phép trừ nền, dựa vào màu sắc, hình dáng, các đặc trưng của bàn tay, optical flow, mean shift….1 Nhận dạng bàn tay dựa vào màu sắc và hình dáng Màu da là một đặc trưng quan trọng để định vị và tracking bàn tay người. Tuy nhiên thuật toán dựa trên màu da phải đối mặt với khó khăn đó là phải phân biệt đối tượng có màu tương tự với bàn tay như khuôn mặt và cánh tay người. Để giải quyết vấn đề này, người sử dụng phải mặc áo sơ mi dài và phải hạn chế trong khung nền trong đó màu sắc các đối tượng không được tương đồng với màu da người.
Thuật toán này cũng rất nhạy với các điều kiện chiếu sáng khác nhau. Khi điều kiện ánh sáng không đáp ứng yêu cầu thì bộ nhận dạng thường không nhận ra bàn tay. Wuetal đã đề xuất thuật toán bám theo đối tượng dựa trên màu sắc không ổn định bằng cách học hai phương pháp biểu diễn khác nhau cho sự phân bố màu sắc và gọi thuật toán mới này là structure adaptive self-organizing map (SASOM). Kết quả trong việc định vị bàn tay đã chỉ ra rằng thuật toán có thể kiểm soát tốt một vài điểm khó trong tracking đối tượng có màu sắc không ổn định.2 Nhận dạng dựa vào ngưỡng trên mỗi kênh màu Thuật toán dựa trên đặc trưng bàn tay trích xuất đặc trưng trong một vùng ảnh nhất định như đầu ngón tay hoặc biên bàn tay, và sử dụng một vài phương pháp suy luận để tìm ra hình dạng hoặc kết hợp những đặc trưng cụ thể để tạo nên một cử chỉ bàn tay.
Đối với cách tiếp cận dựa trên đặc trưng bàn tay, việc phân đoạn những ảnh không bị nhiễu là bước cần thiết để phục hồi những đặc trưng của bàn tay. Đây không phải là nhiệm vụ dễ dàng khi gặp phải những ảnh nền phức tạp. SVTH: NGUYỄN VĂN ĐẠT Trang 2 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN 1.3 Optical Flow Optical flow là thuật toán dựa trên phân tích chuyển động của bàn tay. Việc bám theo bàn tay dựa vào quỹ đạo chuyển động và kết hợp với bộ phát hiện màu da.
Bộ lọc theo thời gian dùng thuật toán Viterbi để nhận dạng quỹ đạo của bàn tay và thuật toán kiểm tra phụ được bổ sung vào thuật toán Viterbi để đảm bảo chắc chắn quỹ đạo trích xuất sẽ chứa vị trí bàn tay của cùng một bàn tay đã được nhận dạng trước đó. Những kết quả thực tế cho thấy hệ thống có khả năng bám theo bàn tay ổn định.4 Phương pháp trừ nền Bàn tay được phát hiện bằng phương pháp trừ nền, sử dụng thuật toán “codebook” của thư viện OpenCV. Các điểm đầu mút được phát hiện bằng thuật toán “convex hull 2”, các điểm lõm được phát hiện bằng thuật toán “convexity defect”. Dựa vào số điểm lồi và lõm người ta sẽ biết được số ngón tay được đưa lên.1: Hình minh họa kết quả thuật toán trừ nền 1.5 Ý nghĩa khoa học và thực tiễn của đề tài Đưa ra một bản lý thuyết với các nội dung tìm hiểu, các phép toán hình thái trong xử lý ảnh và nhận dạng cử chỉ bàn tay của con người.
Nhằm mục đích góp một phần vào lĩnh vực ứng dụng của nhận dạng, cụ thể hơn ở đây là có thể ứng dụng vào SVTH: NGUYỄN VĂN ĐẠT Trang 3 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN việc điều khiển di chuyển robot… Ứng với mỗi cử chỉ bàn tay thì robot sẽ xử lý tiến, lùi, qua phải hay qua trái. SVTH: NGUYỄN VĂN ĐẠT Trang 4 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về hệ thống xử lý ảnh Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay.
Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên phải kể đến xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Thứ hai, các công cụ toán như đại số tuyến tính, xác suất thống kê. Một số kiến thứ cần thiết như trí tuệ nhân tạo, mạng nơron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh. Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh.
Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như camera, máy chụp ảnh). Trước đây, ảnh thu qua camera là các ảnh tương tự (loại camera ống kiểu CCIR). Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo (máy ảnh số hiện nay là một thí dụ gần gũi). Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh.1: Các bước cơ bản trong xử lý ảnh SVTH: NGUYỄN VĂN ĐẠT Trang 5 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN Phần thu nhận ảnh (Image Acquisition): Ảnh có thể nhận qua camera màu hoặc đen trắng.
Thường ảnh nhận qua camera là ảnh tương tự, cũng có loại camera đã số hoá. Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh…). Tiền xử lý (Image Processing): Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng.
Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn. Phân đoạn (Segmentation) hay phân vùng ảnh: Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này.
Biểu diễn ảnh (Image Representation): Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Nhận dạng và nội suy ảnh (Image Recognition and Interpretation): Nhận dạng ảnh là quá trình xác định ảnh.
Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản: Nhận dạng theo tham số Nhận dạng theo cấu trúc SVTH: NGUYỄN VĂN ĐẠT Trang 6 LUẬN VĂN TỐT NGHIỆP GVHD: TRẦN HOÀN Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người… Cơ sở tri thức (Knowledge Base): Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu.