Trang 1 BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINHLUẬN VĂN THẠC SĨ NGUYỄN THÀNH LONG MƠ HÌNH MẠNG HỌC SÂU CHO NHẬN BIẾT CỬ CHỈ NHỮNG NGÓN TAY CHO NGƯỜI K
Đặt vấn đề
Nhận biết các cử chỉ tay trong một nền tảng phức tạp là một lĩnh vực nghiên cứu tiềm năng trong thị giác máy tính Cử chỉ bàn tay đóng vai trò quan trọng trong giao tiếp ngôn ngữ ký hiệu Ngôn ngữ ký hiệu giúp người câm và điếc giao tiếp Tuy nhiên, người bình thường có thể không biết ngôn ngữ ký hiệu; vì vậy, việc đó sẽ trở thành một rào cản giao tiếp khi những người điếc và câm tương tác với họ Hiện nay, việc dựa vào những dịch giả để phiên dịch ngôn ngữ là tốn kém và không thuận tiện Với sự tiến bộ trong công nghệ thị giác máy tính, các nhà nghiên cứu đã phát triển các mô hình khác nhau giúp dịch ngôn ngữ ký hiệu cho người dùng thông thường Theo những điều tra được công bố trong Tổ chức Y tế Thế giới (WHO) năm 2015 thống kê sức khỏe, khoảng 5%, tức là, khoảng 70 triệu người Dân số thế giới, là người điếc và câm [1] Hơn nữa, theo Liên đoàn thế giới tuyên bố rằng khoảng 300 loại ngôn ngữ ký hiệu làm cho giao tiếp phức tạp vì không có dấu hiệu tiêu chuẩn ngôn ngữ thế giới [2]
Trong thời điểm hiện tại, đã có nhiều hệ thống hỗ trợ cho việc giao tiếp với người bị khiếm thính, trong đó có hệ thống máy tính tương tác hỗ trợ (HCI) [3-7] Nó giúp ích rất nhiều trong hầu hết các lĩnh vực, như là giáo dục, y tế và nhà thông minh
Hệ thống HCI bao gồm các phương pháp thị giác máy tính, nhận diện giọng nói và thêm nhiều phương pháp khác làm cho hệ thống có thể giao tiếp với con người một cách trôi chảy nhất thông qua tín hiệu giọng nói (SIRI, ALEXA) và những lệnh dựa trên thị giác máy tính Hệ thống dựa trên thị giác máy tính là một phương pháp tốt để huấn luyện máy tính, ví dụ như hiểu ngữ cảnh, nhận biết hoạt động của con người, tương tác với con người và nhận biết vật thể từ hình ảnh Trong hệ thống dựa trên thị giác máy tính, hệ thống nhận biết cử chỉ con người (HGR) được sử dụng rộng rãi và là một trong những cách thức thuận tiện để tương tác với máy tính Ngoài nhận biết cử chỉ, hệ thống còn có thể nhận biết các loại khác như: nhận biết hình thể con người, cử chỉ tay và biểu cảm gương mặt Việc nhận biết cử chỉ tay được kết hợp bởi nhiều phương pháp như phát hiện tay, trích xuất các đặc trưng khác nhau của cử chỉ tay và phân loại nó bằng nhiều kĩ thuật khác nhau Ngõ vào của hệ thống có thể từ nhiều loại cảm biến như cảm biến máy ảnh [8] và các loại cảm biến đeo tay [9] Trong đó, việc sử dụng máy ảnh để phát hiện cử chỉ tay được sử dụng nhiều hơn vì tính tiện dụng, khả năng di chuyển cũng như độ chính xác ngày càng tiệm cận với việc sử dụng cảm biến đeo tay
Nhiều nhà nghiên cứu đã cố gắng phát triển một hệ thống hoàn chỉnh để phục vụ cho việc xác định cử chỉ tay Hầu hết các kĩ thuật hiệu quả đều đòi hỏi phần cứng mạnh mẽ hoặc liên quan đến các tính toán phức tạp Các kĩ thuật này thường không có tính linh động để di chuyển hoặc triển khai trên các máy tính Để vượt qua được giới hạn này, hê thống đề cử sẽ sử dụng kết hợp mã nguồn mở MediaPipe Hands [10] và hệ thống máy học – YOLO Hệ thống sẽ trở nên nhanh hơn, đơn giản hơn, hiệu quả về chi phí, tăng khả năng di động và có thể triển khai trên các máy tính một cách nhanh chóng Bằng hướng tiếp cận này, độ phức tạp của các tính toán liên quan đến nhận diện cử chỉ trong môi trường phức tạp được giảm thiểu Với những đặt vấn đề trên, luận văn được kiến nghị để thực hiện hệ thống “Mô Hình Mạng Học Sâu Cho Nhận Biết Ngôn Ngữ Sử Dụng Cử Chỉ Những Ngón Tay Cho Người Khiếm Thính”, trong đó sẽ thực hiện xây dựng tập dữ liệu và cho phân loại các cử chỉ khác nhau trong hệ thống ngôn ngữ ASL (Hệ thống ngôn ngữ khiếm thính của Mỹ).
Mục tiêu của đề tài
Mục tiêu của luận văn là xây dựng một hệ thống xử lý hình ảnh dùng mạng Nơ-ron YOLO để phát hiện, phân loại các cử chỉ của người khiếm thính Hệ thống này sẽ xây dựng một tập dữ liệu gồm 10 cử chỉ tay cho nhận biết và sẽ hiển thị lên màn hình dòng chữ tương ứng Hơn nữa, hệ thống có tốc độ thực thi nhanh hơn và độ chính xác cao hơn để giúp người khuyết tật về vấn đề nghe nói có thể giao tiếp tốt
Nhiệm vụ và giới hạn của đề tài
1.3.1 Nhiệm vụ của đề tài
Xây dựng tập dữ liệu hình ảnh của 3 mô hình gồm hình ảnh bàn tay, hình ảnh bàn tay kết hợp bàn tay vật mốc và chỉ duy nhất bàn tay vật mốc
Tiền xử lý hình ảnh (căn chỉnh kích cỡ ảnh, chuẩn hóa hình ảnh, xoay ảnh)
Trình bày cơ sở lý thuyết về các thuật toán phân loại cử chỉ
Áp dụng mô hình YOLO cho việc huấn luyện và phân loại cử chỉ
Kiểm tra, hiệu chỉnh độ chính xác mô phỏng với môi trường thực tế
Viết luận văn và trình bày kết quả đạt được
Đưa ra hướng phát triển dựa trên những kết quả thu được
1.3.2 Giới hạn của đề tài
Trong luận văn này chỉ tập trung vào các chữ cái a,b,c,d,e,f,g,h,i,j
Môi trường áp dụng phải có ánh sáng đầy đủ và cử động của người dùng không quá nhanh.
Phương pháp nghiên cứu
Trên những kết quả đã nghiên cứu và công bố trên các bài báo khoa học, hội nghị thì có rất nhiều phương pháp để nhận biết cử chỉ bàn tay, trong đó có thể kể tới có ba phương pháp chính như là: Sử dụng thiết bị nhằm nhận biết tọa độ và hình dáng của tay, phương pháp nhận biết vị trí, kích thước của các điểm trên bàn tay và dữ liệu trực quan thô
Nhưng hiện tại trong lĩnh vực này, thì để cung cấp một giải pháp thiết thực, một phương pháp nhận diện cử chỉ dựa trên thị giác máy tính đã được xây dựng dựa trên YOLO Hiện nay YOLO không chỉ đem lại kết quả tốt cho việc xử lý tác vụ trên ảnh như phát hiện vật thể, phân đoạn hình ảnh và phân loại hình ảnh mà nó còn có thể làm việc trên video như nhận biết hành động, khoanh vùng hành động như việc phân loại cử chỉ
Từ những lý do trên, hướng nghiên cứu sẽ tập trung vào YOLO và các phương pháp xử lý ảnh như sau:
Tham khảo các bài báo khoa học về vấn đề đang nghiên cứu
Nghiên cứu và sử dụng các thuật toán xử lý ảnh nhằm giải quyết vấn đề thu thập dữ liệu
Áp dụng bộ phân loại sử dụng Neutral Network, cùng với việc phân chia bộ dữ liệu phù hợp nhằm tối ưu hóa độ chính xác
Nghiên cứu và xây dựng chương trình trong môi trường Python.
Cấu trúc luận văn
Luận văn được chia làm 05 chương:
Trình bày khái quát về lĩnh vực nghiên cứu, tầm quan trọng của lĩnh vực nghiên cứu từ đó giúp người thực hiện đề tài đưa ra các mục tiêu và nhiệm vụ Chương 2: Cơ sở lý thuyết
Trình bày các phương pháp nhận biết các cử chỉ tay hiện nay, giới thiệu cơ sở lý thuyết của các thuật toán và các phương pháp phân loại cử chỉ
Chương 3: Thu thập và xử lý hình ảnh
Trình bày cách xây dựng tập dữ liệu, tiền xử lý dữ liệu và phương pháp trích xuất đặc trưng thông qua phương pháp luận lí Mediapipe
Chương 4: Nhận dạng cử chỉ tay sử dụng mô hình YOLOv7
Giới thiệu cách xây dựng và cải tiến mạng YOLOv7 cho hệ thống nhận diện cử chỉ tay, đồng thời trình bày kết quả huấn luyện cũng như áp dụng thực tế
Chương 5: Kết luận và hướng phát triển
Trình bày những phương pháp, nội dung đã thực hiện và nêu ra hướng phát triển cho luận văn để đạt được hiệu quả tốt hơn.
Thống kê về tỉ lệ người khiếm thính
Theo báo cáo của bộ phận thống kê Mỹ năm 2011[11] cho thấy tỉ lệ người mắc cách chứng rối loại về khả năng nghe và nói chiếm một tỉ trọng lớn trong tổng số các chứng khuyết tật nói chung được mô tả trong Hình 2.1
Hình 2 1 Tỉ lệ người khuyết tật năm 2011 theo bộ phận thống kê Mỹ
Cùng với sự phát triển của công nghệ, nếu không có bất kì hành động nào giúp cho các trẻ khuyết tật tiếp cận với các công nghệ thì sẽ là thiệt thòi cho các trẻ em này Một trong những vấn đề đang xảy ra là muốn giao tiếp với người khuyết tật, ta cần có người phiên dịch, nói cách khác ta giao tiếp với họ thông qua một người khác, điều này sẽ ảnh hưởng đến sự bày tỏ cảm xúc cũng như ngôn ngữ cơ thể để người khuyết tật có thể bộc lộ được những gì họ đang muốn trình bày Ở Việt Nam, theo như báo cáo gần nhất [12] của UNICEF năm 2021 thì tỉ lệ câm và điếc của trẻ em cũng chiếm tỉ lệ lớn, trong đó các bệnh liên quan tới rối loại chức năng giao tiếp đang chiếm tỉ lệ lớn với 0,22% cho trẻ em không thể nghe và 0,62% trẻ em là không thể giao tiếp, tỉ lệ này được trình bày ở Hình 2.2
Hình 2 2 Tỉ lệ trẻ em khuyết tật theo báo cáo của UNICEF năm 2016 Hiện tại trên thế giới đang có sẵn rất nhiều kênh giao tiếp để người khiếm thính có thể giao tiếp như ghi chú, các trang trợ giúp, ngôn ngữ kí hiệu, đọc nhép, cử chỉ Tuy nhiên nổi bật trong số đó là sử dụng camera và phần mềm để giúp cho sự giao tiếp trở nên bình thường nhất có thể Có thể nói nổi bật trong đó có sự góp mặt của các công ty hàng đầu thế giới như Google và Intel
Vào ngày 04/02/2019, Google hợp tác với trường Gallaudet cho ra mắt phần mềm Live Transcribe giúp chuyển đổi lời nói thành văn bản (phụ đề) và phần mềm CART giúp khuếch đại và lọc nhiễu giúp cho lời nói được thiết bị di động nhận biết rõ ràng hơn Vào ngày 20/05/2021 Intel cho ra mắt thiết bị giúp giao tiếp 2 chiều giữa người khiếm thính và người bình thường Phương thức hoạt động của thiết bị
Hình 2 3 Thiết bị giao tiếp 2 chiều của Intel năm 2021.
Nhận biết cử chỉ tay bằng mạng nơ-tron tích chập
Có nhiều nghiên cứu về nhận dạng cử chỉ tay khi lĩnh vực này đang mở rộng, và có nhiều ứng dụng liên quan đến máy học và phương pháp học sâu nhằm mục đích nhận biết một cử chỉ được biểu diễn bởi bàn tay con người Hơn nữa, một số nghiên cứu đã được xem xét để hiểu cơ chế của kỹ thuật nhận dạng cử chỉ tay
2.2.1 Tổng quan về mạng nơ-tron tích chập
Mạng nơ-tron tích chập là một nhánh của mạng học sâu [13], mạng sử dụng một mạng nơ-tron chuyển tiếp gồm lớp đầu vào, lớp ẩn và lớp ngõ ra Lớp ngõ vào của CNN thường là hình ảnh trong không gian màu RGB Hình ảnh này thường được tiền xử lý trong lớp này, lọc ảnh, chuyển đổi sang không gian màu xám Lớp ẩn của CNN [14] bao gồm 3 lớp chính: Lớp tích chập, lớp tổng hợp và lớp kết nối hoàn chỉnh
Trong lớp tích chập, các nhân tích chập được gộp với vào ngõ vào của lớp phía trước và kết quả tích chập sẽ được chuyển qua một chức năng kích hoạt được chỉ định trước Cuối cùng, ta thu được bản đồ đặc trưng Lớp tổng hợp là một lớp thực hiện nhiệm vụ giảm mẫu trên kết quả của lớp tích chập, cũng như làm nhiệm vụ chọn lọc đặc trưng, lọc trên bản đồ đặc trưng và giảm không gian của đặc trưng trong bản đồ Lớp kết nối hoàn chỉnh là lớp cuối cùng của các lớp ẩn Số lượng của lớp ẩn thường không cố định và thường là rất nhiều lớp, chính vì vậy lớp cuối cùng được gọi là lớp kết nối đầy đủ Sau khi đặc trưng được trích xuất từ dữ liệu ngõ ra, di qua lớp tích chập và lớp tổng hợp, hệ thống sẽ thực hiện việc kết hợp phi tuyến tính các đặc trưng đã được trích xuất, việc này sẽ nâng cao khả năng tương thích của đặc trưng với quá trình học và huấn luyện, đồng thời sẽ thu được kết quả đầu ra Nó tương đương với các lớp ẩn trong mạng nơ-tron chuyển tiếp truyền thống
Lớp ngõ ra của CNN thường được kết nối trực tiếp với lớp kết nối hoàn chỉnh và cấu trúc của nó tương tự như lớp ngõ ra của mạng nơ-tron truyền thống Chức năng của lớp này là phân loại kết quả ngõ hoặc ma trận dữ liệu đầu ra như là toạ độ vị trí, danh mục và kích thước Việc áp dụng mạng CNN cho việc huấn luyện phân loại các đối tượng mang lại nhiều thuận lợi như mô hình đơn giản, dễ áp dụng, nhưng độ chính xác của các mô hình đơn giản dễ bị ảnh hưởng bởi môi trường xung quánh Hình 2.4 là ví dụ cho việc nhận biết cử chỉ tay bằng CNN, đây là phương pháp phổ biến và thông dụng nhất
Hình 2 4 Ví dụ nhận biết cử chỉ tay bằng CNN
2.2.2 Nhận biết cử chỉ bằng mạng CNN
Nghiên cứu [15] cho thấy rằng với mức độ tính toán không đáng kể, CNN là một trong những thiết kế phổ biến và nổi tiếng đạt được tốc độ cao hơn của phát hiện cử chỉ một cách hiệu quả Nó sử dụng một mạng nơ tron tích chập và hệ thống sàng lọc tích hợp giúp cho việc phân đoạn hình ảnh và nhận dạng trở nên hiệu quả hơn Nhưng thuật toán đề xuất chỉ tập trung vào các trường hợp cử chỉ xuất hiện trong ảnh tĩnh, không có vị trí của bàn tay và sau đó là trường hợp bàn tay vật mốc gồm 24 cử nhiều lớp, tính toán hệ số lan truyền ngược và sự ảnh hưởng của nó, sắp xếp hệ số thất thoát theo yêu cầu và ngược lại [16]
2.2.3 Nhận biết cử chỉ bằng phương pháp HMM
Trong số các kỹ thuật và phương pháp dùng để nhận biết cử chỉ có một phương pháp phổ biến được sử dụng bởi một số ứng dụng phát hiện vật thể, đó là Mô hình Markov ẩn (HMM) Mô hình thường được ứng dụng để xử lý tất cả ba phương tiện: hình ảnh, video và webcam [17] Trong bài báo đã đề cập một ứng dụng phát hiện tư thế thông qua video sử dụng HMM Trước tiên, các thông tin về hình ảnh, video được phát hiện theo thời gian thực bằng cách sử dụng webcam Cho dù các đặc trưng này được phát hiện bởi CNN, RNN hoặc bất cứ kỹ thuật nào thì đều sử dụng phương pháp chọn lựa phù hợp “Fitting Techniques”, những kĩ thuật này sử dụng phương pháp hộp giới hạn để đại diện cho các thông tin được phát hiện, chúng thường có độ tin cậy cao nhất ở hình ảnh đang được hiển thị Nhược điểm chính của phương pháp này là có rất nhiều phương pháp trích xuất đặc trưng cả phần mềm lẫn phần cứng như: phân đoạn, xác định vị trí vật thể hoặc là ghép các thành phần khác nhau để giúp tối đa hóa hiệu quả của thuật toán Điều này dẫn đến độ phức tạp cũng như độ chính xác không được đảm bảo Hình 2.5 là một ví dụ về phương pháp phát hiện cử chỉ tay bằng HMM
Hình 2 5 Ví dụ về phương pháp HMM cho việc phát hiện cử chỉ tay
2.2.4 Nhận biết cử chỉ bằng mạng CNN có tinh chỉnh
Nghiên cứu [18] với đề tài liên quan đến nhận biết cử chỉ trong giao tiếp xã hội sử dụng CNN Thuật toán đã tối ưu các biến số như “Random Forest” (RF), thuật toán tăng cường và thuật toán cây quyết định để nhận biết các cử chỉ Sử dụng 600 ảnh bàn tay với 30 loại bàn tay khác nhau với mạng nơ tron tích chập và tìm ra phương pháp tối ưu nhất cho mạng 8x8 Thuật toán dùng tập dữ liệu với các đối tượng khác nhau, hệ thống sử dụng tập dữ liệu có sẵn và đưa vào mạng CNN để huấn luyện, Kết quả cho thấy sau khi tinh chỉnh các thông số, độ chính xác của đề tài đặt 66,2% trong việc phát hiện các cử chỉ giao tiếp xã hội [19] Hạn chế của đề tài là sử dụng tập dữ liệu có sẵn quá cũ trong khi các giao tiếp xã hội phát triển không ngừng, điều này dẫn đến độ chính xác bị ảnh hưởng lớn
Thuật toán tối ưu biến số RF được sử dụng như một bộ gộp cho việc gộp tất cả những đặc trưng không rõ ràng, mỗi đặc trưng này như một chiếc lá của cây Mỗi nút lá có một định danh duy nhất tương ứng với ngăn chỉ mục của biểu đồ như hình 2.6 Đầu tiên, mỗi biểu đồ từ mỗi cây sẽ được chuẩn hóa và sau đó được nối lại để tạo thành một vector đặc trưng và trở thành ngõ vào của một bộ phân loại như là SVM
2.2.5 Nhận biết cử chỉ bằng mạng CNN đa bậc
Trong nghiên cứu về CNN đa bậc, đã có rất nhiều nghiên cứu cũng như các ứng dụng gần đây [20] CNN đa bậc kết hợp rất nhiều phương pháp để cải thiện độ chính xác trong quá trình nhận biết cử chỉ tay Nhưng trong khi triển khai thì gặp rất nhiều các vấn đề khó khăn nhất liên quan đến màu da, tốc độ hoạt động và hơn nữa đó là sự thay đổi của độ sáng môi trường Sự ảnh hưởng của môi trường xung quanh gây ra nhưng trở ngại đáng kể như vật thể quá nhỏ hoặc quá lớn, ánh sáng môi trường biến động, cử chỉ tay khác nhau Hình 2.7 là mô hình mạng CNN đa bậc được sử dụng để phân loại cử chỉ
Hình 2 7 Mô hình mạng CNN đa bậc 2.2.6 Nhận xét các phương pháp phân loại cử chỉ hiện nay
Tóm lại, thách thức lớn nhất mà các nhà nghiên cứu phải đối mặt là phải thiết kế một hệ thống nhận dạng cử chỉ tay mạnh mẽ để khắc phục được các vấn đề điển hình với ít hạn chế hơn, cho kết quả chính xác và đáng tin cậy Quá trình xử lý cử chỉ tay trong thời gian thực cũng có một số hạn chế, chẳng hạn như sự thay đổi về ánh sáng, các vấn đề về phông nền, phạm vi khoảng cách và các vấn đề về đa cử chỉ Một trong những phương pháp phổ biến hiện nay là CNN thường mang lại độ chính xác không cao do phụ thuộc nhiều về màu da, gương mặt và độ phức tạp của môi trường cũng như ánh sáng.
Giải pháp suy luận
Giải pháp suy luận - Mediapipe là một khuôn mẫu được định hướng xây dựng để thực hiện suy luận dựa trên các dữ liệu bất kì [21] Được phát triển bởi Google, Mediapipe là một giao diện chương trình ứng dụng mã nguồn mở với nhiều tính năng hữu ích cho việc nghiên cứu trí tuệ nhân tạo và máy học Hơn nữa, Mediapipe sử dụng rất ít tài nguyên, trái ngược với các mô hình máy học khác thường đòi hỏi tài nguyên phần cứng rất cao Bởi vì kích cỡ nhỏ và hiệu suất năng lượng cao, nó có thể nhúng vào hệ thống vạn vật kết nối Internet Nhiều nhà nghiên cứu sử dụng Mediapipe cho nghiên cứu của họ, chẳng hạn như nghiên cứu [22] sử dụng Mediapipe để phát hiện bàn tay bằng camera và sử dụng KNN (K-Nearest Neighbor) để dự đoán cử chỉ của bàn tay [23] Nghiên cứu này sử dụng kỹ thuật theo dõi ngón tay với độ chính xác cao Bàn tay Mediapipe được trích xuất các điểm mốc từ 1 hình ảnh 2D cho việc phát hiện và trích xuất bàn tay vật mốc Hệ thống có thể trích xuất 21 điểm chính trên mỗi bàn tay và hổ trợ cho việc phát hiện nhiều bàn tay đồng thời Vật mốc bàn tay được trích xuất từ hình ảnh bàn tay có thể được sử dụng như một đặc trưng cho việc huấn luyện và kiểm tra một mô hình Hình 2.8 mô tả 21 đặc trưng bàn tay được trích xuất bởi thuật toán Mediapipe.
Nhận biết cử chỉ tay bằng mô hình mạng YOLO
2.4.1 Khái niệm mô hình mạng YOLO
Mô hình mạng YOLO (You Only Look Once) thực tế dựa trên mạng CNN
[24] YOLO trực tiếp chia hình ảnh thành nhiều ô nhỏ không giao nhau trên dữ liệu ảnh đầu vào Điểm trung tâm của mục tiêu sẽ rơi vào các khoảng trống hình vuông, và sau đó các đặc trưng có cùng kích thước với khoảng trống sẽ được cho qua lớp tích chập Do là phép tích chập nên các phần tử đặc trưng của các bản đồ đặc trưng khác nhau đều có thể tương thích với khoảng trống hình vuông của dữ liệu đầu vào Với các bản đồ đa đặc trưng và từng phần tử được sử dụng để dự đoán xác suất điểm trung tâm xuất hiện trong các ô vuông và mục tiêu khác nhau Cuối cùng, thông qua việc chuyển đổi hàm mất mát giữa dự đoán và thực tế, các thông số được điều chỉnh và quá trình huấn luyện được cập nhật Hình 2.9 cho thấy cách thức hoạt động của mô hình mạng YOLO
Hình 2 9 Cách thức hoạt động của mô hình mạng YOLO
2.4.2 Áp dụng mô hình mạng YOLO cho nhận biết cử chỉ bàn tay
Trong các năm gần đây, hầu hết các thuật toán phát hiện mục tiêu đều đạt được kết quả khả quan trong việc nhận biết cử chỉ tay sử dụng CNN như là bộ phát hiện 2 giai đoạn Fast R-CNN, Faster R-CNN và FPN hoặc bộ phát hiện 1 trạng thái SSD,
RetiaNet và YOLO Trong các mạng CNN được đề cập, độ chính xác ngày càng được nâng cao do việc gia tăng lớp học sâu, điều này sẽ làm cho khối lượng tính toán gia tăng một cách đáng kể Vì vậy để độ chính xác ngày được nâng cao thì tốc độ cũng như bộ nhớ sẽ bị hi sinh
Trong nghiên cứu này cần đòi hỏi cả độ chính xác lẫn tốc độ, các cử chỉ có thể sẽ được thực hiện liên tục với tốc độ cao, vì vậy đối với mạng CNN để thực hiện được điều này cần phải có đủ tài nguyên cho cả phần cứng lẫn phần mềm Vì thế khi triển khai mô hình nhận biết cử chỉ tay sử dụng CNN sẽ thường khó áp dụng trực tiếp vì độ phức tạp của tính toán
YOLOv7 là một bộ phát hiện 1 giai đoạn có lợi thế về độ chính xác cao cũng như tốc độ phản hồi nhanh [25] Nó sử dụng phương pháp chia tỉ lệ tổng hợp để tạo các mô hình ở các tỉ lệ khác nhau nhằm đáp ứng yêu cầu tốc độ suy luận khác nhau như là YOLOv7-e6, YOLOv7-w6 và YOLOv7-x Sự linh hoạt vượt trội này sẽ cho phép nó triển khai trên các thiết bị đầu cuối Hình 2.10 thể hiện mô hình YOLOv7 trong việc nhận biết cử chỉ tay
Hình 2 10 Mô hình mạng YOLOv7 nhận biết cử chỉ tay Cấu trúc của mô hình mạng YOLOv7 bao gồm ngõ vào: các lớp này sẽ làm module E-ELAN, thực hiện việc trích xuất đặc trưng thông qua mô-đun tích chập cơ bản CBS Đầu: Sử dụng các mô-đun SPPCSP và ELAN để tổng hợp các đặc trưng của hình ảnh Sau đó, lớp RepConv sẽ điều chỉnh các kênh của đặc trưng ngõ ra Lớp tích chập 1x1 được sử dụng để dự đoán và xuất ngõ ra.
Nhận dạng cử chỉ tay dựa vào thị giác máy tính
Hệ thống nhận dạng cử chỉ tay dựa vào thị giác máy tính được sử dụng rộng rãi trong sự phát triển quá trình tương tác giữa con người và máy tính Nhận dạng cử chỉ tay dựa trên thị giác máy tính thường được thực hiện thông qua các bước sau: Tiền xử lý, trích xuất đặc trưng và phân loại Mục đích của việc tiền xử lý là xác định vị trí của bàn tay trong khung hình ảnh Kỹ thuật lọc Laplacian of Gaussian cùng với bộ tách biên điểm giao Zero được áp dụng trong hình ảnh cử chỉ bàn tay để xác định vùng biên của bàn tay Sau khi xác định được biên của bàn tay, có nhiều phương pháp để trích xuất đặc trưng bàn tay như phương pháp bối cảnh hình dạng [26], phương pháp so sánh đồ thị elastic [27], đặc trưng dựa trên kernel [28]
Nghiên cứu [29] đã giới thiệu phương pháp bối cảnh hình dạng Bộ mô tả đặc trưng này bao gồm các biểu đồ tọa độ cực tương đối của tất cả các điểm ranh giới Phương pháp này sẽ bị ảnh hưởng nhiều khi hình ảnh bị thay đổi tỉ lệ, thuật toán dựa trên tính bất biến nhưng hình dạng bàn tay thường thay đổi tỉ lệ khi khoảng cách giữa chúng và camera thay đổi Hình 2.11 là một ví dụ nhận biết cử chỉ tay bằng phương pháp bối cảnh hình dạng
Hình 2 11 Mô hình nhận biết cử chỉ bằng phương pháp bối cảnh hình dạng
Phương pháp so sánh đồ thị elastic trong [30] được đề xuất để phân loại 10 chữ cái trong hệ thống ngôn ngữ kí hiệu ASL Kĩ thuật này không cần phân đoạn hình ảnh bàn tay trong khung hình Tuy nhiên, phương pháp này lại đòi hỏi quá trình tính toán rất phức tạp Hình 2.12 biểu diễn phương pháp so sánh đồ thị elastic trong quá trình nhận biết cử chỉ
Hình 2 12 Nhận biết cử chỉ sử dụng phương pháp so sánh đồ thị elastic Phương pháp trích xuất đặc trưng dựa trên Kernel sử dụng kết hợp các phương pháp như phân tích thành phần chính Kernel (KPCA) và phân tích phân biệt Kernel (KDA) song song với SVM hoặc mạng nơ-tron tích chập [31].
Xây dựng tập dữ liệu
Hệ thống đề cử sử dụng ngôn ngữ ASL (American Sign Language) Tập dữ liệu gồm 10 lớp tập dữ liệu của tư thế tay Các tư thế được tạo ra một cách thủ công ở các môi trường phức tạp từ 5 người khác nhau bao gồm cả nam lẫn nữ ở lứa tuổi từ
22 đến 32 tuổi Mỗi người thực hiện 10 cử chỉ trong vòng 5 lần Sau mỗi cử chỉ, họ sẽ nghĩ ngơi để thả lỏng cơ tay để việc thay đổi giữa các cử chỉ không bị ảnh hưởng bởi sự căng cứng cơ
Tập dữ liệu được xây dựng 3 nam có độ tuổi từ 28 đến 32 và 2 nữ có độ tuổi từ 26 đến 30 Môi trường thu thập dữ liệu được thực hiện trong nhà và ngoài trời với ánh sáng đầy đủ, khoảng cách từ người thực hiện tới camera khoảng 80cm 10 lớp của các tư thế được thể hiện ở hình 3.2, một vài chi tiết của tập dữ liệu được trình bày như sau:
1 Tập dữ liệu gồm 10 lớp các cử chỉ tay, mỗi lớp có kích thước hình ảnh là 300x300
2 Từ lớp 1 đến lớp 10 thể hiện cho các chữ cái từ “A” đến “J”
3 Mỗi một cử chỉ gồm 200 hình ảnh với phông nền và con người thay đổi
4 Xây dựng hệ thống nhận biết 10 lớp cử chỉ bằng 2000 tấm ảnh
5 Tất cả các hình ảnh cử chỉ tay được xử lý ở không gian màu RGB và định dạng jpeg
Quá trình thu thập dữ liệu sẽ được thực hiện qua các bước sau: Camera sẽ thu thập hình ảnh về cử chỉ, người dùng sử dụng phím “S” để lưu hình ảnh sau khi kiểm tra cử chỉ đã được hiển thị đầy đủ trong khung Hình 3.2 thể hiện phương thức thu thập dữ liệu
Việc áp dụng thuật toán hỗ trợ cho việc tập trung vào cử chỉ sẽ giảm thiểu sự ảnh hưởng của phông nền cho tập dữ liệu huấn luyện Sau khi hoàn thành việc thu thập dữ liệu cho một kí tự, ta sẽ tiếp tục thực hiện lặp đi lặp lại quá trình cho chín kí tự còn lại Hình 3.3 là mười kí tự được thực hiện để xây dựng tập dữ liệu
Hình 3 3 Hình (a),(b) là kí tự H và A của nam 28 tuổi, hình (c),(d) là kí tự A và E của nam 32 tuổi và mười cử chỉ tương ứng với 10 chữ cái trong hệ thống ASL của nữ 26 tuổi.
Tiền xử lý dữ liệu
3.2.1 Áp dụng thuật toán bàn tay vật mốc bằng thuật toán Mediapipe
Sử dụng Mediapipe, tập dữ liệu ảnh sẽ được chuyển đổi từ dữ liệu ảnh thành tập dữ liệu vị trí bàn tay vật mốc HL (Hand Landmark) Thuật toán sẽ tạo ngõ ra chuẩn hóa từ bàn tay, được gọi là HL-0 như hình 2.5 Ngõ ra của Mediapipe sẽ được lưu theo kiểu tập dữ liệu danh sách (list) cho mỗi cử chỉ trong định dạng csv, bao gồm 42 đặc trưng đầu vào liên quan đến các cử chỉ mong muốn Các đặc trưng này phụ thuộc vào trục tọa độ x,y trong HL
Mediapipe tạo ra một mốc tọa độ cho hình ảnh bàn tay Nếu trên hình ảnh xuất hiện lòng bàn tay, thì khu vực lòng bàn tay đó sẽ được khoanh vùng thành vùng quan tâm (ROI) Trong vùng ROI này, bàn tay và các ngón tay sẽ được đánh dấu thành các đường thẳng màu trắng (dùng để xác định đặc trưng góc) và các điểm màu đỏ (dùng để xác định đặc trưng đường) Sau khi khoanh được vùng quan tâm, ROI sẽ được tiếp tục là ngõ vào của mô hình tiếp theo Hình 3.4 là một ví dụ khi áp dụng Mediapipe cho 2 cử chỉ chữ cái A và B, các đặc trưng đường và đặc trưng góc được thể hiện bằng các đường thẳng và điểm đỏ
Mỗi một điểm mốc được gán một id có số thứ tự từ 0 đến 20 như hình 3.5 Góc và các đường thẳng được tạo ra bởi các điểm mốc này sẽ được dùng trong quá trình trích xuất đặc trưng
Hình 3 5 Các điểm mốc được tạo ra từ bàn tay và ngón tay được đánh dấu từ 0 đến 20
Tập dữ liệu vị trí bàn tay có thể chứa những các đặc trưng không hợp lệ do một số ảnh bị lỗi trong quá trình xử lý Vì vậy, đề tài sử dụng thư viện Pandas của Python để loại bỏ các giá trị không phù hợp trong tập dữ liệu
3.2.2 Thuật toán hỗ trợ quá trình xây dựng tập dữ liệu
Nhằm tối ưu hóa tập dữ liệu phục vụ cho quá trình huấn luyện đạt được độ chính xác cao nhất Một thuật toán được đề xuất để loại bỏ sự ảnh hưởng của phông nền Hình ảnh bàn tay sau khi được phát hiện bằng thuật toán Mediapipe, hình ảnh sẽ được tập trung bằng một khung chữ nhật có kích thước thay đổi tùy theo cử chỉ Đầu tiên, hình ảnh bàn tay sẽ được thu thập trực tiếp từ hệ thống camera Hình ảnh này sau đó sẽ được xử lý bằng Mediapipe, sau khi xử lý ta có các thông số cơ bản của một hình ảnh gồm tọa độ x, y, w (chiều rộng), h (chiều cao) Kích cỡ của hình ảnh được xác định là 300x300 nên tham số imgSize được gán là 300, do độ phân giải màn hình hiển thị là khác nhau nên tham số Offset được sử dụng và được chọn bằng
Sau khi khởi tạo cái thông số ban đầu, bước tiếp theo sẽ tạo 2 cửa sổ mới là imgCrop dùng để cắt hình ảnh được tính bằng công thức (3.1) và imgWhite là một ma trận có kích thước bằng imgSize nhưng toàn giá trị 0 Tỉ lệ khung hình được tính toán theo công thức (3.2) imgCrop(x,y)=img[y-Offset:y+h+Offset, x-Offset:x+w+Offset] (3.1)
Sau khi có được tham số tỉ lệ khung hình, ta xét điều kiện tỉ lệ này lớn hay nhỏ hơn 1 để biết được khung hình đang bị quá rộng hay quá dài, nếu khung hình quá dài
(AspectRatio >1) thì ta phải cân chỉnh độ rộng và ngược lại Công thức cân chỉnh độ rộng và độ dài được trình bài từ (3.3) đến (3.8) kH=imgSizeh (3.3) wCall(k*w) (3.4) wGapl(imgSize-wCal
) kW=imgSize w (3.6) hCall(k*h) (3.7) hGapl(imgSize-hCal
Trong quá trình áp dụng thực tế, thuật toán hoạt động ổn định ở các hình ảnh có độ khác biệt lớn về chiều dài và chiều rộng.Ngoài việc giúp cho việc thu thập dữ liệu dễ dàng hơn, thuật toán còn giúp cho việc các dữ liệu thu thập được có tính đồng nhất về kích thước, loại bỏ sự ảnh hưởng của phông nền, vì thuật toán chỉ tập trung vào khu vực quan tâm mà bỏ qua các vùng gây nhiễu.Hình 3.6 là lưu đồ giải thuật của thuật toán
Hình 3 6 Hình (a) là lưu đồ giải thuật cho thuật toán xử lý khung hình và (b) là thuật toán chính của hệ thống
Hình 3.7 mô tả cách thức thuật toán hoạt động, các vùng ROI sẽ được tập trung bằng một cửa sổ linh hoạt Cho dù cử chỉ có bị kéo giãn theo trục Ox, Oy hoặc thậm chí là bất kì phương hướng nào đều sẽ được bắt trong khung hình
Hình 3 7 Ví dụ hoạt động của thuật toán
3.2.3 Lọc ảnh sử dụng phương pháp tích chập
Lọc ảnh là phương pháp được sử dụng rất nhiều trong xử lý ảnh và thị giác máy tính Mục đích của việc lọc ảnh là làm cho loại bỏ cái yếu tố gây nhiễu và ảnh hưởng đến độ chính xác Đặc biệt trong mạng nơ tron thì lọc là phương pháp không thể thiếu để làm rõ hơn các chi tiết của đặc trưng Trong đề tài này sử dụng bộ lọc tích chập, bộ lọc này sẽ giúp loại bỏ các điểm ngoại lai, giúp giữ lại cũng như làm nổi bật các đặc trưng, từ đó giúp tăng độ chính xác cho quá trình huấn luy Ngõ ra của bộ lọc là kết quả của phép tích chập giữa đầu vào và bộ lọc
Giả sử bộ lọc có kích thước m x n tích chập với ảnh đầu vào f(x,y) và cho ngõ ra là w(x,y), thì ta sẽ có công thức (3.9) sau:
(3.9) Với f(x,y) là ảnh đầu vào, h(s,t) là bô lọc và w(x,y) là ngõ ra
Hình 3.8 thể hiện quá trình thực hiện phép tích chập giữa dữ liệu hình ảnh ngõ
Hình 3 8 Mô hình phép lọc sử dụng phương pháp tích chập
3.2.4 Định lại kích cỡ ảnh
Khi giữ ảnh tại cùng kích thước vật lý thì ảnh trở nên sắc nét hơn và chi tiết hơn nếu độ phân giải càng cao Tuy nhiên dung lượng ảnh sẽ lớn làm ảnh hưởng đến tốc độ quá trình xử lý, cho nên để nâng cao tốc độ xử lý ảnh ta có thể định lại kích thước ảnh mà không làm ảnh hưởng đến kết quả xử lý ảnh Để phù hợp với bộ phân loại YOLOv7, hình ảnh được lấy theo kích thước 300x300, ở kênh màu RGB, các hình ảnh được phân chia vào các thư mục khác nhau để thực hiện việc phân loại Hình 3.9 là mô tả tập ảnh được chỉnh lại kích thước
Hình 3 9 Tập dữ liệu được định lại kích cỡ
Trích xuất đặc trưng
3.3.1 Đặc trưng góc (Phát hiện vị trí bàn tay) Đối với đặc trưng góc, thuật toán cần phải tính toán độ dốc giữa mỗi cặp đặc trưng của bàn tay vật mốc để xác góc θ Góc θ được tính toán dựa trên công thức (3.10) sau:
Trong đó (xi,yi), (xj,yj) là một cặp đặc trưng trong bàn tay vật mốc, Si,j là độ dốc Độ dốc được tính theo công thức (3.11) đang sử dụng cho góc hợp giữa độ dốc và trục hoành θ i,j =tan -1 (S i,j ) (3.11)
Trong đó 𝜃 , là góc hợp giữa độ dốc và trục X, được ví dụ trong hình 3.10 Trong ví dụ dưới đây là các cử chỉ có độ phức tạp cao, đòi hỏi độ chính xác trong việc xác định góc
3.3.2 Đặc trưng đường (Phát hiện vị trí các ngón tay)
Trong phương pháp trích xuất đặc trưng đường, các ngón tay được xem như là các đường thẳng, ở các vị trí đó sẽ được dán nhận từ 0 đến 4 như hình 3.11
Hình 3 11 Đặc trưng đường thẳng đại diện cho 5 ngón tay Độ dốc của các ngón tay hoặc đường thẳng được tính toán dựa trên công thức (3.12) bằng cách có được độ dốc của mốc dưới cùng và mốc trên cùng θ i,j = S i -S j
Trong đó 𝜃 , là góc được tạo thành độ dốc Si và Sj như trên hình 3.12
Hình 3 12 Góc của (a) hợp giữa đường 3 và 1, (b) giữa 2 và 1 và (c) giữa 3 và 0
Tổng kết thuật toán trích xuất đặc trưng góc và đường giữa mỗi cặp mốc Đầu tiên ta sẽ có 2 biến i và j lần lượt chạy từ 0 cho tới mọi vật mốc và từng vật mốc Từ
2 biến i và j này ta sẽ tính được S i,j = y j -y i x j -x i và θ i,j =tan -1 (S i,j ), bên cạnh đó ta sẽ có dữ liệu các đặc trưng đường như bảng 3.1
Bảng 3.1 Các đặc trưng đường được trích xuất dựa vào 2 biến i và j
Giá trị i Giá trị j Đặc trưng đường được trích xuất
Sau khi có các đặc trưng đường, thuật toán sẽ bắt đầu tính toán đặc trưng góc
(chính là độ lệch giữa các ngón tay) bằng công thức θ i,j = S i -S j
1+ S i S j Hai đặc trưng này sẽ là ngõ vào cho mô hình huấn luyện YOLO.
Cấu trúc mô hình
Hiện nay, phương pháp phổ biến được áp dụng để phát hiện cử chỉ tay là mô hình mạng học sâu, mô hình có thể tự động trích xuất các đặc trưng và có thể có những bộ phân loại cơ bản được huấn luyện sẵn Với sự cải tiến của phần cứng máy tính cùng với sự phát triển của mạng học sâu, mạng nơ tron tích chập là một trong những mô hình mạng phổ biến nhất trong lĩnh vực mạng học sâu Hiện tại có 2 phương pháp chính thức là mô hình học sâu đơn trạng thái dựa trên hồi quy (Regression-based single state) mà tiêu biểu là YOLO (You Only Look Once) và mô hình mạng học sâu hai trạng thái mà đại diện là R-CNN (Region-CNN)
Một mạng chú ý tầm xa được phát triển trong YOLOv7 được gọi là E-ELAN
Sử dụng số lượng lớn E-ELAN thì mô hình mạng sẽ đạt được trạng thái ổn định mà không bị ảnh hưởng từ độ dài của đường dốc (gradient path) và số lượng các khối Một phương pháp lấy tỉ lệ dựa vào mô hình kết hợp cũng được thiết kế và được gọi là RepConv (Re-parameterization Convolution) để cải thiện thêm độ chính xác Cấu trúc cơ bản của mạng YOLOv7 có thể chia ra 3 phần chính gồm: Ngõ vào, Xương sống và Đầu Trong đó, Ngõ vào sẽ tăng độ đa dạng của tập dữ liệu bằng cách ghép dữ liệu và việc này chỉ yêu cầu chi phí tính toán thấp Mạng xương sống có nhiệm vụ chính là sẽ chứa các mô đun E-ELAN, mô đun này sẽ thực hiện quá trình trích xuất đặc trưng thông qua các khối CBS (khối mô đun tích chập cơ bản) Mạng Đầu sử dụng hai mô đun là SPPCSP và ELAN để tổng hợp các đặc trưng Sau đó mạng RepConv sẽ điều chỉnh kênh của đặc trưng ngõ ra Một tích chập 1x1 được sử dụng để dự đoán và xuất dữ liệu Đầu tiên hình ảnh ngõ vào sẽ được định lại kích thước 300x300, các tấm này sẽ được đưa vào mạng Xương sống (Backbone), sau đó 4 lớp của bản đồ đặc trưng với các kích thước khác nhau là ngõ ra và đi qua lớp mạng Đầu (Head) Kết quả dự đoán sẽ là ngõ ra đi qua các lớp Rep (Re-parameterization) và lớp Conv (lớp tích chập) Trong đề tài này ta có 10 cử chỉ, thì ngõ ra sẽ là tập dữ liệu 10 loại cử chỉ và mỗi ngõ ra sẽ có các thông số (x,y,w,h,o) tương ứng với vị trí và phông nền Hình 4.1 mô tả các lớp của mô hình mạng YOLOv7
Hình 4 1 Mô hình mạng YOLOv7 cho việc nhận dạng cử chỉ tay
Tính toán trong mô hình
Hàm kích hoạt chuyển đổi các giá trị phi tuyến tính thành các mô hình và nguyên bản của YOLOv7 là hàm SiLU, SiLU là một hàm kết hợp trọng số tuyến tính Sigmoid, hàm này góp phần đem đến hiệu năng vượt trội của YOLO so với các mạng học sâu khác [32] Hàm kích hoạt SiLU được tính theo công thức (4.1)
SiLU(x)=x*Sigmoid(x) (4.1) Đặc tính của hàm SiLU là không giới hạn cận trên và giới hạn cạnh cận dưới, bằng phẳng và không đơn điệu Cận trên không bị giới hạn giúp tránh việc bão hòa và giảm thiểu một cách hiệu quả việc biến mất các độ dốc Cận dưới bị giới hạn có thể giảm tình trạng “overfitting” Thuộc tính không đơn điệu tạo ra các ngõ ra giá trị âm từ những giá trị âm rất nhỏ ở ngõ vào, điều này giúp duy trì các giá trị âm nhỏ, việc này làm ổn định mạng gradient Hầu hết các hàm kích hoạt như ReLU hay Leaky ReLU, thường không thể làm việc với giá trị âm vì giá trị khác biệt giữa mức thấp và mức cao là 0 và vì thế phần lớn các nơ tron không cập nhật Sự thất thoát về độ phẳng của mô hình có thể được giải quyết dễ dàng hơn vì nó có khả năng truyền nhiều lần cũng như có thể giảm độ nhạy của thuật toán với quá trình khởi tạo và tốc độ học Hình 4.2 mô tả cách thức hoạt động của hai hàm kích hoạt ReLU va Leaky ReLU
Hình 4 2 Hàm kích hoạt ReLU(a) và Leaky ReLU(b)
Dựa vào nhược điểm của các hàm kích hoạt nói trên, thuật toán Mish được đề xuất, các thuộc tính của thuật toán này giống hầu hết với SiLU, nhưng qua quá trình thực nghiệm, Mish cho hiệu suất cao và độ chính xác tốt hơn, vì cách mà Mish lan truyền thông tin hiệu quả hơn Công thức (4.2) biểu diễn cho hàm Mish Hình 4.3 mô tả cách thức hoạt động của hàm Mish
Hình 4 3 Hàm Mish và cách thức hoạt động Đề tài thay thế tất cả các hàm kích hoạt trong YOLOv7 trong khối tích chập cơ bản từ SiLU sang Mish Với bộ dữ liệu huấn luyện của đề tài thì hiệu suất của
Mish tốt hơn SiLU và giúp tăng 0,5% mAP Hình 4.4 là hàm kích hoạt của YOLOv7 trước và sau khi thay thế
Hình 4 4 Hàm kích hoạt YOLO nguyên bản CBS và sau khi thay đổi CBM
4.2.2 Khối tích chập động ODConv
Không giống như các mạng tích chập thông thường, mạng tích chập động thực hiện phép tính toán trọng số tuyến tính bằng việc nhân tích chập các hạt nhân với ngõ vào một cách độc lập như ở công thức (4.3) y=(α ω1 W 1 +…+ α ωn W n )*x (4.3)
Trong mạng tích chập động truyền thống ta có CondConv và DyConv, hai phương pháp này được áp dụng tương tự nhau, nhưng chung quy lại hai phương pháp này chỉ tập trung vào kích thước hạt nhân mà không quan tâm đến các yếu tố tập trung khác [16-17]
Không giống như các phương pháp kể trên, ODConv kết hợp các yếu tố tập trung đa chiều trong tích chập theo kiểu song song như trong công thức (4.4) y=(α ω1 ⊙α f1 ⊙α c1 ⊙α s1 W 1 +…+α ωn ⊙α fn ⊙α cn ⊙α sn W n (4.4)
Trong đó, α fi đại diện cho hệ số tập trung thứ ith phụ thuộc vào kích thước kênh của ngõ ra α ci đại diện cho hệ số tập trung thứ ith phụ thuộc vào kích thước kênh của ngõ vào.α si đại diện cho hệ số tập trung thứ ith phụ thuộc vào kích thước kênh không gian Hình 4.5 mô tả cấu trúc khác nhau của 3 mô hình CondConv, DyConv và ODConv
Hình 4 5 Cấu trúc của mô hình CondConv
Mô hình CondConv và DyConv có những hạn chế trong mô hình mạng học sâu Trong khi đó ODConv xem xét toàn diện bốn loại chú ý bổ sung cho nhau nên những thiếu xót trên đã được khắc phục
Dựa vào đó, ODConv là một mô đun tích chập plug and play, có thể cải thiện khả năng trích xuất đặc trưng để tối ưu hóa hơn nữa khả năng hoạt động của mạng Không ngừng ở đó, khi so sánh với 2 loại tích chập động ở trên, ODConv cũng duy trì hiệu suất làm việc tốt hơn trong khi số nhân tích chập lại ít hơn Vì vậy, để cải thiện mạng YOLOv7, ta tiếp tục thay thế các mô đun tích chập cơ bản bằng mô đun ODConv và cấu trúc này được thể hiện ở hình 4.6, với sự thay đổi này ta tiếp tục nâng cao 1% mAP
Hình 4 6 Cấu trúc OBM(a) được thay các lớp tích chập bình thường bằng lớp tích chập động 4.2.3 Hàm mất mát
Hàm mất mát của thuật toán phát hiện vật thể thường được chia thành hai phần chính: mất mát phân loại và mất mát vị trí hồi quy Trong đó, mất mát vị trí hồi quy là một thành phần quan trọng trong mất mát của thuật toán phát hiện vật thể, việc mất mát vị trí hồi quy quá nhiều sẽ ảnh hưởng đến độ chính xác định vị của khung ảnh phát hiện vật thể
Vào giai đoạn trước của thuật toán phát hiện vật thể, việc tính toán hàm mất mát vị trí hồi quy cho các thông số x,y,w và h được thực hiện một cách độc lập, và được xem như bốn đặc trưng riêng biệt và không có mối quan hệ tỉ lệ nào
Vì vậy hàm mất mát IoU được đề xuất [35], nó đại diện cho tỉ lệ xen lẫn giữa hai hộp thực tế và hộp dự đoán, hộp dự đoán có thể vượt qua một số hạn chế như đã được đề cập ở trên, nhưng nó vẫn còn nhiều hạn chế Hiện nay có nhiều hàm mất mát hiệu quả được đề xuất như GIoU, DIoU, CIoU, EIoU, ALPHA IoU, SIoU và còn nhiều hơn nữa
Trong mô hình YOLOv7 sử dụng hàm mất mát CIoU, hàm này có tính toán ba tham số hình học: vùng chồng chéo, khoảng cách điểm trung tâm và tỉ lệ khung hình Trong quá trình hội tụ, nếu α