TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu và tổng quan nghiên cứu
Việc chọn đề tài "Xây dựng hệ thống nhận diện ngôn ngữ ký hiệu tay" có một số lý do quan trọng :
Ngôn ngữ ký hiệu tay là một hình thức giao tiếp thiết yếu cho người khuyết tật ngôn ngữ, bao gồm người điếc và câm Việc xây dựng hệ thống nhận diện ngôn ngữ ký hiệu tay sẽ cung cấp cho họ phương pháp giao tiếp hiệu quả, đồng thời nâng cao khả năng tương tác xã hội.
Sự phát triển của trí tuệ nhân tạo trong việc xây dựng hệ thống nhận diện ngôn ngữ ký hiệu tay yêu cầu sự kết hợp giữa kỹ thuật máy học, xử lý hình ảnh và trí tuệ nhân tạo Nghiên cứu và phát triển trong lĩnh vực này không chỉ thúc đẩy tiến bộ của trí tuệ nhân tạo mà còn mở ra nhiều cơ hội ứng dụng mới.
Đề tài "Xây dựng hệ thống nhận diện ngôn ngữ ký hiệu tay" là cần thiết và có tiềm năng lớn trong việc cải thiện cuộc sống và tương tác xã hội cho những người khuyết tật ngôn ngữ, đồng thời mở ra cơ hội phát triển trong lĩnh vực trí tuệ nhân tạo.
Các nghiên cứu liên quan và kết quả đã đạt được
Có nhiều nghiên cứu liên quan đến việc nhận diện ngôn ngữ ký hiệu
Nghiên cứu về học sâu và mạng nơ-ron đã mang lại nhiều thành công trong việc nhận diện ngôn ngữ ký hiệu tay Cụ thể, việc áp dụng mạng nơ-ron tích chập (CNN) và mạng nơ-ron hồi quy (RNN) đã giúp đạt được độ chính xác cao trong nhận diện ký hiệu tay.
Phương pháp xử lý hình ảnh, bao gồm trích xuất đặc trưng, phân đoạn hình ảnh và phân loại, đã được áp dụng hiệu quả trong việc nhận diện và dịch ký hiệu tay Kết quả cho thấy rằng việc áp dụng những phương pháp này có thể nâng cao đáng kể độ chính xác của hệ thống.
Kỹ thuật học tăng cường đã được áp dụng để nâng cao khả năng nhận diện và dịch ngôn ngữ ký hiệu tay thông qua việc tạo ra môi trường tương tác giữa hệ thống và người dùng, giúp cải thiện hiệu suất và tương tác Ngoài ra, nhiều nghiên cứu cũng đã tập trung vào việc phát triển hệ thống nhận diện ngôn ngữ ký hiệu tay trong thời gian thực, yêu cầu khả năng xử lý nhanh chóng và hiệu quả dữ liệu đầu vào để đảm bảo phản hồi tức thì và tương tác trực tiếp với người dùng.
Việc nhận diện và dịch ngôn ngữ ký hiệu tay là một lĩnh vực nghiên cứu đang phát triển với nhiều thách thức Tuy nhiên, những kết quả đạt được cho thấy tiềm năng lớn trong việc ứng dụng trí tuệ nhân tạo nhằm cải thiện giao tiếp và tương tác cho những người khuyết tật ngôn ngữ.
CƠ SỞ LÝ THUYẾT
Tổng quan về thuật toán Object Detection
Thuật toán Object Detection là phương pháp trong lĩnh vực Thị giác máy tính, giúp phát hiện và xác định vị trí các đối tượng trong hình ảnh hoặc video Đặc biệt, trong việc nhận diện chữ qua ngôn ngữ tay, Object Detection có thể xác định vị trí các chữ cái, chữ số hoặc từ ngữ trong hình ảnh hoặc video chứa ngôn ngữ tay.
Các thuật toán học máy áp dụng kỹ thuật thị giác máy tính để trích xuất đặc trưng hình ảnh, bao gồm biểu đồ màu, cạnh và góc Những đặc trưng này được sử dụng trong mô hình hồi quy nhằm dự đoán vị trí và nhãn của các đối tượng.
Các thuật toán học sâu sử dụng mạng nơ-ron tích chập để phát hiện đối tượng từ đầu đến cuối mà không cần xác định và trích xuất đặc trưng riêng biệt Mạng nơ-ron tích chập có khả năng học các đặc trưng phức tạp và trừu tượng của hình ảnh, cải thiện độ chính xác và tốc độ trong bài toán Điểm mạnh của thuật toán Object Detection là khả năng xử lý song song và hiệu quả các đối tượng trong hình ảnh hoặc video Điều này làm cho nó trở thành công cụ mạnh mẽ trong nhận diện chữ qua ngôn ngữ tay và ứng dụng trong nhiều lĩnh vực như nhận diện biển số xe, phát hiện gian lận và nhận diện chữ viết tay.
2.1.1 Khái niệm về thuật toán Object Detection :
Thuật toán Object Detection trong nhận diện chữ qua ngôn ngữ tay là một quy trình tính toán nhằm xác định vị trí và nhận dạng các chữ cái, chữ số hoặc từ ngữ trong hình ảnh hoặc video Nhiệm vụ chính của thuật toán này là phát hiện các đối tượng trong hình ảnh và xác định vùng chứa chữ, từ đó phân loại và đọc chúng một cách chính xác.
Để phát triển một hệ thống nhận diện chữ qua ngôn ngữ tay, trước tiên cần thu thập và chuẩn bị tập dữ liệu bao gồm hình ảnh hoặc video có chứa ngôn ngữ tay, đồng thời gắn nhãn cho các chữ cái, chữ số hoặc từ ngữ cần nhận diện Quá trình gắn nhãn này bao gồm xác định vị trí và đường bao quanh các chữ trong hình ảnh Tiếp theo, xây dựng mô hình Object Detection bằng cách sử dụng các kiến trúc mạng neural như Faster R-CNN, YOLO hoặc SSD, và huấn luyện mô hình để nhận diện và xác định vị trí các chữ cái, chữ số hoặc từ ngữ Việc huấn luyện mô hình sử dụng tập dữ liệu đã gắn nhãn nhằm tối ưu hóa các trọng số của mạng neural, từ đó nâng cao khả năng nhận diện chính xác Sau đó, kiểm tra và đánh giá hiệu suất của mô hình trên tập dữ liệu kiểm tra độc lập, sử dụng các chỉ số như độ chính xác, độ phủ và F1-score để đánh giá hiệu quả Cuối cùng, mô hình đã được huấn luyện sẽ được áp dụng để nhận diện chữ qua ngôn ngữ tay, cho phép phát hiện và xác định vị trí các chữ cái, chữ số hoặc từ ngữ trong hình ảnh hoặc video Ứng dụng của thuật toán Object Detection trong lĩnh vực này rất đa dạng, bao gồm trích xuất thông tin từ hình ảnh viết tay, hỗ trợ phiên dịch ngôn ngữ tay, và xử lý dữ liệu từ các tài liệu viết tay.
Object Detection là công nghệ trong lĩnh vực thị giác máy tính, dùng để xác định và nhận diện đối tượng trong hình ảnh hoặc video Khi áp dụng vào việc nhận diện chữ qua ngôn ngữ tay, công nghệ này giúp xác định vị trí và nhận biết các từ, cụm từ trong ngôn ngữ tay một cách hiệu quả.
Nguyên lý hoạt động của Object Detection trong nhận diện chữ qua ngôn ngữ tay thường bao gồm các bước sau:
Để bắt đầu quá trình nhận dạng chữ viết tay, bước đầu tiên là chuẩn bị dữ liệu Một tập dữ liệu huấn luyện được tạo ra, bao gồm các hình ảnh hoặc video chứa chữ viết tay, và mỗi đối tượng chữ được gắn nhãn (label) với vị trí và loại chữ tương ứng, giúp mô hình học máy có thể nhận biết và phân loại chính xác.
Xác định vị trí đối tượng: Một mô hình Object
Detection được huấn luyện sẽ được áp dụng để nhận diện chữ trong hình ảnh hoặc video Mô hình này sẽ quét từng phần tử trong hình ảnh và xác định vị trí của các đối tượng chữ có mặt.
Sau khi xác định vị trí của các đối tượng chữ, mô hình sẽ tiến hành phân loại chữ cho từng đối tượng Việc này có thể thực hiện thông qua một mô hình phân loại chữ riêng biệt hoặc bằng cách sử dụng một mô hình nhận diện chữ tổng quát.
Kết quả cuối cùng của quá trình nhận diện chữ qua ngôn ngữ tay là danh sách các từ và cụm từ được xác định, cùng với vị trí của chúng trong hình ảnh hoặc
Mô hình kết hợp
Trong bài toán phát hiện đối tượng, mạng VGG16 thường được sử dụng làm bộ trích xuất đặc trưng nhờ khả năng sử dụng các lớp convolution để trích xuất thông tin từ hình ảnh đầu vào Mạng này tạo ra các đặc trưng có ý nghĩa từ các tầng thấp đến các tầng cao hơn Sau khi được huấn luyện trên tập dữ liệu lớn, VGG16 thường được kết hợp với các phương pháp phát hiện đối tượng khác như R-CNN (Region-based Convolutional Neural Network) hoặc SSD (Single Shot MultiBox Detector) để xây dựng một hệ thống hoàn chỉnh, có khả năng phát hiện và xác định vị trí của các đối tượng trong hình ảnh.
Mô hình kết hợp CNN (Mạng nơ-ron tích chập) trong nhận diện chữ qua ngôn ngữ tay có thể được xây dựng theo kiến trúc end-to-end Trong mô hình này, CNN được sử dụng để trích xuất đặc trưng từ hình ảnh chữ viết tay, sau đó phần mềm OCR (Nhận diện Ký tự Quang học) sẽ nhận diện các ký tự dựa trên các đặc trưng đã được trích xuất.
Tiền xử lý dữ liệu là bước quan trọng trong việc chuẩn bị ảnh chữ viết tay trước khi đưa vào mô hình Các bước này bao gồm chuyển đổi ảnh màu sang ảnh xám, cân bằng histogram, cắt ảnh để giữ lại vùng chứa chữ viết, và điều chỉnh kích thước ảnh để tối ưu hóa quá trình nhận diện.
Mạng CNN được thiết kế để trích xuất đặc trưng từ ảnh chữ viết tay đã qua tiền xử lý Mạng này bao gồm các lớp tích chập nhằm phát hiện các đặc trưng cấu trúc và các lớp gộp để giảm kích thước dữ liệu Cuối cùng, các lớp kết nối đầy đủ được sử dụng để phân loại các đặc trưng đã trích xuất thành các ký tự.
Phần mềm OCR : Các đặc trưng đã được trích xuất từ mạng CNN được đưa vào phần mềm OCR để nhận diện các ký tự Phần mềm O
CR có thể áp dụng các thuật toán như Support Vector Machine (SVM), K-nearest neighbors (KNN) và mạng neural nhỏ để phân loại ký tự Kết quả từ phần mềm OCR sẽ được tổng hợp để tạo thành đoạn văn bản hoặc từng từ/câu của văn bản gốc.
Kỹ thuật xóa nền và tách đối tượng trong thị giác máy tính giúp phân tách đối tượng quan tâm khỏi nền ảnh, tạo ra một đối tượng cô lập Phân đoạn dựa trên màu sắc là một phương pháp hiệu quả, sử dụng sự khác biệt về màu sắc để phân loại đối tượng và nền Bằng cách áp dụng các ngưỡng màu như RGB hoặc HSV, người ta có thể xác định khoảng màu sắc của đối tượng cần tách, từ đó đạt được kết quả phân đoạn chính xác.
Phân đoạn dựa trên cạnh (Edge-based segmentation) là kỹ thuật sử dụng việc phát hiện cạnh để tách biệt đối tượng và nền Các thuật toán như Canny, Sobel và Laplacian giúp xác định các cạnh, trong khi biến đổi Hough và biến đổi RANSAC được áp dụng để phát hiện hình dạng của đối tượng, từ đó tách nó ra khỏi nền hiệu quả.
Phân đoạn dựa trên phép nhân là một kỹ thuật hiệu quả để tách đối tượng khỏi nền bằng cách sử dụng phép nhân giữa hai ảnh Kỹ thuật này thường áp dụng một ảnh gốc cùng với một ảnh mặt nạ hoặc ảnh nền Qua phép nhân, các điểm ảnh thuộc đối tượng sẽ được gán nhãn tương ứng từ ảnh mặt nạ hoặc ảnh nền, tạo ra một ảnh mới chỉ chứa đối tượng cần tách.
Phân đoạn dựa trên học máy là kỹ thuật sử dụng các thuật toán học máy để phân loại điểm ảnh thuộc đối tượng và nền Các mô hình như Random Forests, Support Vector Machines (SVM), Neural Networks và Convolutional Neural Networks (CNN) có thể được huấn luyện để thực hiện phân đoạn đối tượng và nền dựa trên các đặc trưng của ảnh.
R-CNN (Region-based Convolutional Neural Network):
- R-CNN là một trong những phương pháp đầu tiên kết hợp học máy và thị giác máy tính để giải quyết bài toán Object Detection.
Phương pháp này phân chia hình ảnh thành các khu vực đề xuất và sử dụng mô hình CNN để trích xuất đặc trưng từ từng khu vực Cuối cùng, các mô hình hồi quy được áp dụng để dự đoán vị trí và lớp của các đối tượng trong hình ảnh.
- Fast R-CNN cải tiến so với R-CNN bằng cách giảm thời gian tính toán và tăng độ chính xác.
Fast R-CNN sử dụng một mô hình CNN chung cho toàn bộ hình ảnh thay vì áp dụng CNN cho từng khu vực đề xuất Phương pháp này cho phép chọn ra các vùng quan trọng để trích xuất đặc trưng hiệu quả hơn.
Faster R-CNN là phiên bản nâng cấp của Fast R-CNN, với việc giới thiệu mô-đun "RPN" (Region Proposal Network) giúp tự động và hiệu quả tạo ra các khu vực đề xuất.
Mô-đun RPN giúp cải thiện tốc độ của hệ thống và đồng thời giảm độ phức tạp của quá trình đề xuất khu vực.
YOLO (You Only Look Once):
- YOLO là một thuật toán Object Detection tiên tiến, thực hiện dự đoán vị trí và lớp của các đối tượng trong một lần chạy duy nhất.
YOLO chia hình ảnh thành lưới ô và dự đoán đối tượng trong mỗi ô, giúp nó đạt được tốc độ cao và phù hợp cho ứng dụng thời gian thực.
SSD (Single Shot Multibox Detector):
- SSD là một thuật toán Object Detection khác sử dụng một lưới đa tầng để dự đoán vị trí và lớp của các đối tượng.
SSD sử dụng các tầng khác nhau để dự đoán đối tượng ở nhiều tỷ lệ, giúp nhận diện đối tượng với kích thước đa dạng trong hình ảnh Một trong những ứng dụng nổi bật của công nghệ phát hiện đối tượng là trong việc nhận diện chữ qua ngôn ngữ tay.
- Object Detection chơi một vai trò quan trọng trong việc nhận diện chữ qua ngôn ngữ tay Các ứng dụng cụ thể bao gồm:
Nhận diện Chữ cái và Chữ số:
- Object Detection có thể được sử dụng để xác định vị trí và loại của các chữ cái và chữ số trong hình ảnh chứa ngôn ngữ tay.
Xác định Vị trí của Từ ngữ:
- Các thuật toán Object Detection có thể giúp xác định vị trí và độ chính xác của từ ngữ viết tay trong các hình ảnh hoặc video.
Nhận diện Biểu Tượng hay Ký hiệu Đặc biệt:
Object Detection có thể được sử dụng để phát hiện và xác định vị trí các biểu tượng hoặc ký hiệu đặc biệt trong văn bản.
Đánh giá mô hình
Mô hình nhận diện chữ qua ngôn ngữ tay là một bài toán quan trọng với nhiều ứng dụng thực tiễn, như hỗ trợ người khiếm thính giao tiếp và dạy học ngôn ngữ tay Tuy nhiên, thách thức lớn nhất đến từ sự đa dạng của ký hiệu ngôn ngữ tay, sự khác biệt trong cách viết tay và đặc trưng hình ảnh phức tạp Đánh giá mô hình dựa trên độ chính xác, tốc độ xử lý, khả năng nhận dạng đa ngôn ngữ và điều kiện ánh sáng khác nhau Hiệu suất của mô hình cần tối ưu hóa tài nguyên tính toán và bộ nhớ, đặc biệt trên các thiết bị hạn chế như điện thoại di động Nhiều nghiên cứu hiện nay áp dụng kỹ thuật học sâu, đặc biệt là mạng nơ-ron tích chập (CNN), để cải thiện độ chính xác và tốc độ nhận diện.
TRIỂN KHAI MÔ HÌNH
Công cụ để xây dựng mô hình
Thực Hiện
Chuẩn bị sẵn các hình ảnh bàn tay thực hiện các ký tự cần thiết và lưu trữ chúng trong thư mục Data Mỗi hình ảnh nên được gán nhãn đầy đủ theo tên file để dễ dàng nhận diện và quản lý.
Chúng tôi đã tiến hành chuyển đổi các hình ảnh về kích thước 224 x 224 và đưa chúng vào mạng VGG16, đã được bổ sung thêm một số lớp Dense (Fully Connected
-Ta thực hiện train mạng của chúng ta với khoảng hơn 2000 ảnh trai n và gần 300 ảnh test.
3.2.2 Khởi tạo code nhận diện :
-Ta thực hiện mở Webcam và khoanh 1 vùng sẽ phát hiện bàn tay ở t rong vùng đó Gọi là detection region.
Người dùng cần bỏ tay ra khỏi vùng phát hiện và nhấn phím B để máy thu nhận nền của vùng Để thu nhận lại nền, người dùng chỉ cần bấm phím R.
-Người dùng đưa tay vào trong vùng detection (sau khi đã capture n ền) và tạo thành các hình ký tự.
-Model sẽ hiển thị ký tự ra màn hình.
-Người dùng bấm Q để thoát.