Chương 1 TỔNG QUAN ĐỀ TÀI: Giới thiệu đề tài và lý do chọn đề tài, xác định mục tiêu nghiên cứu, xác định phạm vi giới hạn đề tài, phương pháp và đối tượng nghiên cứu. • Chương 2 CƠ SỞ LÝ THUYẾT: Trình bày các hệ thống, giải pháp kỹ thuật và các giao thức sẽ sử dụng trong luận văn báo cáo. • Chương 3 THIẾT KẾ HỆ THỐNG: Trình bày cách hoạt động và yêu cầu của hệ thống. Thiết kế hệ thống với sơ đồ khối của hệ thống, lưu đồ giải thuật của từng khối và tổng hệ thống.
• Chương 4 THI CÔNG HỆ THỐNG: Thi công kết hợp các khối đã thiết kế thành một hệ thống mô hình hoàn chỉnh. Đáp ứng mục đúng mục tiêu đề ra của một thiết bị nhận diện thủ ngữ. • Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Trình bày kết quả đạt được. Đưa ra kết luận và hướng phát triển của đề tài dựa trên mặt hạn chế của đề tài thực hiện.
4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Thị giác máy tính Thị giác máy tính là một lĩnh vực đang có sự phát triển nhanh chóng, tập trung vào việc phân tích, sửa đổi và nhận biết hình ảnh. Thị giác máy tính sẽ cố gắng xác định điều gì đang xảy ra trước camera và sử dụng các thuật toán để điều khiển máy tính, các hệ thống robot hoặc trả về những hình ảnh mới mang nhiều thông tin hoặc thẩm mỹ hơn so với hình ảnh gốc [13]. Những ứng dụng của thị giác máy tính vào đời sống có thể nói đến như nhận dạng khuôn mặt, biển báo giao thông, điều khiển robot và trong đề tài của nhóm thực hiện đề tài là nhận dạng thủ ngữ.
OpenCV (Open Source Computer Vision Library) là một thư viện C++ mã nguồn mở dành cho chuẩn bị hình ảnh và thị giác máy tính, ban đầu được tạo ra bởi Intel và hiện được duy trì bởi Willow Garage. Đây là một thư viện có nhiều chức năng tích hợp chủ yếu tập trung vào xử lý liên tục hình ảnh [14]. Việc sử dụng OpenCV vào dự án nhận diện thủ ngữ mang lại nhiều lợi ích vì thư viện vừa có các công cụ tiện ích cho xử lý hình ảnh, vừa hỗ trợ nhanh chóng và hiệu quả trong triển khai các thuật toán nhận diện và phân loại.1 Thư viện OpenCV 2. Tiền xử lý ảnh Trong quá trình nhận diện thủ ngữ, bước tiền xử lý ảnh sẽ tối ưu hóa dữ liệu hình ảnh trước khi đưa vào mô hình nhận diện.
Nhiều kỹ thuật xử lý ảnh có thể được sử dụng trong bước này như chuẩn hóa hình ảnh, cân bằng sáng, loại bỏ nhiễu, chuyển đổi màu, phân vùng ảnh [15][16]. Kết quả là một tập dữ liệu được tối ưu hóa, làm nền tảng cho việc nhận diện thủ ngữ với độ chính xác cao.2 Quá trình tiền xử lý ảnh Hình 2.2 mô tả các bước trong quá trình tiền xử lý ảnh, bao gồm: • Cắt ảnh (Cropping): Bước này giúp loại bỏ các phần không cần thiết của ảnh, chẳng hạn như nền, các đối tượng không liên quan, v. • Lọc ảnh (Filtering): Bước này giúp loại bỏ nhiễu, cải thiện độ tương phản, độ sắc nét, v. Một số kỹ thuật lọc ảnh phổ biến bao gồm: Lọc trung bình (Average filter), lọc Gaussian (Gaussian filter), lọc Laplacian (Laplacian filter).
• Thay đổi kích thước ảnh (Resizing): Để ảnh phù hợp với yêu cầu của các bước xử lý tiếp theo, bước này sẽ thay đổi kích thước ảnh. Một số kỹ thuật thay đổi kích thước ảnh phổ biến bao gồm: Thay đổi kích thước theo khung (Crop and resize), thay đổi kích thước theo tỷ lệ (Scaling). • Chuẩn hóa ảnh (Normalization): Bước này giúp làm cho các giá trị của ảnh có cùng quy mô, giúp cho các phép tính tiếp theo được chính xác hơn. Kỹ thuật chuẩn hóa ảnh phổ biến bao gồm: Chuẩn hóa theo giá trị trung bình (Mean normalization), Chuẩn hóa theo độ lệch chuẩn (Standardization).
Phát hiện đối tượng Phát hiện đối tượng là một bài toán quan trọng trong thị giác máy tính , giúp phát hiện các đối tượng trực quan, làm cơ sở cho các tác vụ khác như phân loại, chú thích, theo dõi đối tượng,…[17]. Có nhiều thuật toán phát hiện đối tượng khác nhau, chẳng hạn như: • Kỹ thuật phát hiện điểm ảnh cục bộ (local feature detection): Kỹ thuật này tìm kiếm các điểm ảnh cục bộ có đặc trưng độc đáo, chẳng hạn như các điểm Harris, các điểm SIFT, và các điểm SURF. 6 • Kỹ thuật phát hiện đối tượng bằng khuôn mẫu (template matching): Kỹ thuật này so sánh ảnh đầu vào với một khuôn mẫu đã biết. Nếu có sự tương đồng đáng kể giữa hai ảnh, thì có thể kết luận rằng đối tượng đã biết có mặt trong ảnh đầu vào.
• Kỹ thuật phát hiện đối tượng bằng học máy (machine learning): Kỹ thuật này sử dụng các mô hình học máy để phát hiện đối tượng trong ảnh. Các mô hình học máy phổ biến được sử dụng bao gồm các mô hình phân loại, các mô hình hồi quy, và các mô hình phát hiện đối tượng.3 mô tả hành trình phát triển của các thuật toán nhận diện từ năm 2001 đến năm 2022. Có thể thấy, từ năm 2012, sự tiến bộ nhanh chóng của deep learning đã mang lại những đổi mới đáng kể trong nhận dạng đối tượng, tạo ra các phương pháp và thuật toán hiện đại với độ chính xác cao. Các thuật toán nổi tiếng như RetinaNet, R- CNN, Fast-RCNN, YOLO và SSD là những cột mốc quan trọng trong phát triển của lĩnh vực này.
Đặc biệt, chúng dựa trên deep learning, đòi hỏi kiến thức sâu về toán học và học máy [18].3 Lịch sử phát triển các kỹ thuật phát hiện đối tượng Trong đồ án này, nhóm thực hiện đề tài sử dụng thuật toán phát hiện đối tượng YOLO dựa trên học máy để phát hiện thủ ngữ. YOLO (You Only Look Once) là một phương pháp tiên tiến trong lĩnh vực nhận diện vật thể, các đối tượng trong một hình ảnh sẽ được xác định và phân loại chỉ trong một lần nhìn. YOLO có tốc độ xử lý rất nhanh cùng độ chính xác cao, là một lựa chọn mạnh mẽ cho các ứng dụng thời gian thực [18]. Trích xuất đặc trưng Khi dữ liệu đầu vào của một thuật toán quá lớn và có thể mang nhiều dữ liệu dư thừa ngoài những dữ liệu cần xử lý, dữ liệu được chuyển thành một tập hợp các đặc trưng (còn được gọi là vector đặc trưng).
Mục tiêu chính của trích xuất đặc trưng là giữ lại chi tiết quan trọng nhất từ dữ liệu gốc và biểu diễn thông tin đó trong không gian 7 chiều thấp hơn [19]. Mục tiêu chính của trích xuất đặc trưng là một tập hợp các đặc trưng, giúp tăng tỷ lệ nhận dạng lên tối đa với số lượng thành phần ít nhất và tạo ra tập hợp đặc trưng tương tự cho các biến thể khác nhau của cùng một ký tự [20]. Các phương pháp trích xuất đặc trưng được sử dụng rộng rãi là: Kết hợp mẫu, Mẫu biến dạng, Biến đổi hình ảnh đơn vị, Mô tả đồ thị, Bảng chiếu, Hồ sơ đường viền, Chia vùng, Bất biến mô hình hình học, Mô-men Zernike, Xấp xỉ đường cong Spline, Mô tả Fourier, Đặc trưng gradient và Đặc trưng Gabor [21] Đặc trưng cục bộ: Thường là các đặc điểm hình học của từng phần nhỏ của ký tự, như các điểm lõm/lồi, số điểm cuối, số nhánh, điểm nối, v. Đặc trưng toàn cục: Thường là các đặc điểm cấu trúc hoặc thống kê của toàn bộ ký tự, như kết nối các nét, hình chiếu, số lỗ, bất biến mô men, v.
Đặc trưng cấp ký tự: • Dựa trên thang xám: Entropie, ngưỡng, số pixel đen. • Dựa trên đường nét: Đường viền ngoài và trong, độ dốc. • Cấu trúc: Tính chất hình học tổng thể của ký tự, như sự hiện diện của góc, đường chéo, đường thẳng đứng và ngang. • Độ lõm: Đặc điểm về hình dạng và cấu trúc của các nét, như hướng của các phần lõm, sự hiện diện của lỗ, các nét dọc và ngang lớn.
• Đặc trưng cấp vi mô (GSC): Đặc trưng phân biệt dựa trên cách viết của từng người [21].4 Trích xuất đặc trưng từ chữ “th” 8 Hình 2.4 cho thấy một số đặc trưng hình học được trích xuất từ chữ "th" viết tay. Các đặc trưng này bao gồm tỷ lệ khung hình, số điểm cuối, số giao điểm, kích thước và số vòng lặp, phân bố chiều rộng và chiều cao, độ nghiêng, hình dạng, độ cong trung bình và đặc trưng gradient. Phân loại Vai trò quan trọng không kém là bước phân loại vì bước này sẽ quyết định lớp hoặc đối tượng cụ thể mà mô hình đang xử lý. Quá trình này sẽ trích xuất các đặc trưng từ đối tượng hoặc mẫu, sau đó sử dụng các thuật toán phân loại để xác định lớp của đối tượng hoặc mẫu [23].
Thuật toán phân loại dựa trên ngưỡng là thuật toán đơn giản nhất trong computer vision. Thuật toán sẽ gán một lớp nhất định cho các đối tượng hoặc mẫu có giá trị đặc trưng nằm trên hoặc dưới một ngưỡng cụ thể. Thuật toán phân loại dựa trên xác suất sẽ tính xác suất của một đối tượng hoặc mẫu thuộc từng lớp. Đối tượng hoặc mẫu sẽ được gán cho lớp có xác suất cao nhất.
Thuật toán phân loại dựa trên học máy là thuật toán tiên tiến nhất trong computer vision. Các thuật toán này học các đặc trưng từ dữ liệu huấn luyện. Sau khi được đào tạo, các thuật toán này có thể sử dụng các đặc trưng này để phân loại các đối tượng hoặc mẫu mới. Các mô hình phân loại có thể kể đến như: Mô hình phân loại logistic, mô hình hỗ trợ vector máy (SVM), mô hình mạng nơ-ron nhân tạo (ANN), mô hình mạng nơ ron tích chập (CNN).
Tổng quan về YOLO 2. Tổng quan về YOLO You Only Look Once (YOLO) là một thuật toán nhận diện và phân loại đối tượng bằng cách sử dụng thị giác máy tính, được Redmon và đồng nghiệp ra mắt vào năm 2015. Trong những năm qua, các phiên bản tiếp theo của YOLO đã được các học giả công bố, bao gồm YOLO v2, YOLO v3, YOLO v4, YOLO v5 và mới nhất là YOLO v8 [24]. Là một thuật toán nhận diện vật thể, YOLO có thể xác định vị trí, phân loại hay dự đoán nhãn cho vật thể đó.
Với các thuật toán khác chỉ có thể dự đoán một nhãn cho bức ảnh, YOLO có thể dự đoán nhiều nhãn cho nhiều vật trong trong 1 bức ảnh duy nhất.5 Hệ thống xác định vật thể YOLO Ưu điểm chính của YOLO là khả năng dự đoán và phân loại đối tượng trực tiếp từ toàn bức ảnh, giảm thiểu các dự đoán lặp lại và tăng cường tốc độ xử lý.5 mô tả đơn giản cách hoạt động của YOLO.