Nhận dạng các đối tượng hình học bằng học máy Nhận dạng các đối tượng hình học bằng học máy Nhận dạng các đối tượng hình học bằng học máy Nhận dạng các đối tượng hình học bằng học máy Nhận dạng các đối tượng hình học bằng học máy
GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
Tổng quan đề tài
Trong thời đại số hóa và công nghệ phát triển, khái niệm trí tuệ nhân tạo và học máy ngày càng có vai trò quan trọng và hứa hẹn sẽ đem lại nhiều ứng dụng tiềm năng Cùng với đó, việc xác định và phân loại các hình học là một lĩnh vực có tính ứng dụng thực tiễn cao và có vai trò quan trọng trong nhiều lĩnh vực như công nghệ thông tin, y tế, an ninh, giáo dục
Trong lĩnh vực giáo dục, việc tiếp thu kiến thức từ giáo viên và ghi nhớ thông tin về khái niệm hình học đóng một vai trò quan trọng trong việc hình thành các khối kiến thức cho học sinh Đặc biệt, tại cấp trung học cơ sở, học sinh thường phải giải quyết các bài toán hình học, vẽ và mô tả các hình học cơ bản
Khi nói về hình tròn và hình vuông trong giáo dục hình học, có một số khó khăn đặc trưng mà học sinh thường gặp phải Đối với hình tròn, khó khăn lớn nhất là việc nó không có góc và cạnh rõ ràng như các hình đa giác Điều này có thể gây khó khăn trong việc nhận dạng, đặc biệt là với trẻ em Ngoài ra, các biến thể của hình tròn như hình oval hoặc elip cũng có thể gây nhầm lẫn, khiến cho việc phân biệt chính xác trở nên khó khăn hơn Về phần hình vuông, thách thức chính là việc nó thường bị nhầm lẫn với hình chữ nhật do hình dạng tương tự Điểm khác biệt chính giữa hai hình này là tất cả các cạnh của hình vuông đều có độ dài bằng nhau Hơn nữa, việc nhận biết góc vuông cũng không phải là dễ dàng, đặc biệt là với những học sinh mới bắt đầu tìm hiểu về các loại góc trong hình học
Tuy nhiên, công việc này được thực hiện một cách thủ công gây tốn thời gian và không hiệu quả Để giải quyết vấn đề này, bước đầu tiên là xác định các hình dạng như điểm, đoạn thẳng, đường thẳng, tam giác, tứ giác, và đường tròn cùng với các kí hiệu tương ứng Sau khi xác định chúng, tiếp theo là áp dụng các công thức và quy tắc liên quan để tính toán và giải quyết bài toán
Hình 1.1 Hình vẽ bằng thước (bên trái) và bằng tay (bên phải)
Hình 1.1 cho thấy một tam giác được vẽ bằng tay và một tam giác được vẽ bằng thước Trong hai tam giác này có chứa thông tin cơ bản sau:
• ABC là một tam giác thường
• M và N lần lượt là trung điểm của AB và AC Chúng được đánh dấu trên các cạnh AM, MB và AN, NC
Lý do chính cho việc lựa chọn đề tài này là nhằm xây dựng các ứng dụng sử dụng trí tuệ nhân tạo trong môi trường giáo dục, cung cấp các công cụ hỗ trợ đáng tin cậy cho các giáo viên và cả học sinh trong việc nhận dạng và mô tả các đối tượng hình học Bằng cách áp dụng phương pháp trong học máy, luận văn có thể tự động nhận dạng các đối tượng có trong hình học như điểm, đường thẳng, đoạn thẳng, các loại hình dạng hình học như tam giác, tứ giác, hình tròn, và các kí hiệu liên quan đến chúng Từ đó suy diễn thành một câu có chứa nội dung cơ bản trong hình giúp học sinh tiếp cận thông tin nhanh trước khi giải bài toán hình học.
Mục tiêu của luận văn
Mục tiêu của luận văn này là nghiên cứu và phát triển các phương pháp nhận dạng các đối tượng hình học bằng học máy Qua đó, xây dựng một hệ thống tự động nhận dạng các đối tượng hình học được sử dụng trong hình ảnh như tam giác, tứ giác, đường tròn, kèm theo việc nhận diện các kí hiệu hình học liên quan
Về phạm vi nghiên cứu, luận văn tập trung nghiên cứu hình ảnh hình học tại cấp trung học cơ sở Trong đó, học sinh thường phải vẽ hình bằng tay, đánh dấu các kí hiệu liên quan và mô tả bài toán bằng cách nhận diện thông tin trên hình vẽ.
Phạm vi và đối tượng nghiên cứu
• Phạm vi: Nhận dạng các đối tượng hình học như hình vuông, hình tròn, tam giác và một số kí hiệu hình học liên quan, như điểm, góc vuông, đường thẳng, kí hiệu đánh dấu cạnh bằng nhau ở cấp trung học cơ sở
• Đối tượng: Xây dựng phương pháp để phân loại các đối tượng hình học và kí hiệu tương ứng bằng học máy, tập trung vào việc nhận dạng các hình cơ bản và kí hiệu hình học dựa trên đặc trưng hình học của chúng, không xem xét ngữ nghĩa và ý nghĩa của các hình học.
Nội dung thực hiện
• ND1: Xây dựng bộ dữ liệu hình học trong bậc trung học cơ sở
• ND2: Nghiên cứu các công trình, bài báo khoa học liên quan đến nhận dạng hình học
• ND3: Nghiên cứu các kiến trúc CNN trong nhận dạng hình ảnh và cài đặt các thư viện liên quan
• ND4: Phân tích và thiết kế chương trình để đạt được kết quả
• ND5: Viết chương trình tạo ra ứng dụng đáp ứng mục tiêu và kết quả mong đợi
• ND6: Biên soạn quyển luận văn.
Phương pháp thực hiện
• Xây dựng mô hình học máy để nhận dạng các đối tượng hình học bằng mô hình mạng nơ ron tích chập và áp dụng các thư viện như Scikit-learn, TensorFlow, Keras, OpenCV
• Lập trình bằng ngôn ngữ Python 3.
Đóng góp của luận văn
Luận văn đã đóng góp các khía cạnh lý thuyết quan trọng trong việc áp dụng học máy vào nhận dạng đối tượng hình học như:
• Kết hợp học máy và nhận dạng đối tượng hình học nhằm phát triển các phương pháp nhận dạng đối tượng hiệu quả
• Xây dựng thành công mô hình học máy để nhận dạng các đối tượng hình học như tam giác, hình vuông và hình tròn
• Áp dụng và phân tích mô hình tự động học dữ liệu của ML.NET để nhận dạng các đối tượng kí hiệu hình học
• Phân tích kết quả của mô hình nhận dạng hình học bằng học máy, nhằm tìm hiểu về hiệu suất và độ chính xác của mô hình
Ngoài ra, luận văn cũng đã đóng góp về mặt ứng dụng trong việc xây dựng mô hình CNN để phân loại các đối tượng có hình dạng và kí hiệu trong hình học Mô hình này được huấn luyện trên bộ dữ liệu mẫu có hơn 7000 mẫu, bao gồm các kí hiệu hình học phổ biến như đường phân giác, kí hiệu cạnh bằng nhau, góc vuông và các hình học cơ bản như hình tròn, tam giác và hình vuông.
Kết cấu luận văn
Luận văn gồm có 5 chương, các chương được mô tả tổng quan như sau:
• Chương 1: Giới thiệu đề tài nghiên cứu, mục tiêu và ý nghĩa của nghiên cứu, tình hình nghiên cứu hiện tại trong lĩnh vực nhận dạng các đối tượng hình học bằng học máy, phạm vi và đối tượng nghiên cứu của luận văn, và cấu trúc tổng thể của luận văn
• Chương 2: Tìm hiểu và phân tích các công trình và bài báo khoa học liên quan trước khi thực hiện đề tài Tập trung vào việc khám phá CNN và cách thức xây dựng mô hình mạng trong việc nhận dạng hình ảnh
• Chương 3: Nêu quy trình xây dựng mô hình nhận dạng các đối tượng hình học bằng học máy gồm việc thu thập và tiền xử lý dữ liệu hình ảnh, thiết kế kiến trúc CNN, trình bày quá trình huấn luyện và tinh chỉnh mô hình và cách đánh giá mô hình
• Chương 4: Mô tả kết quả của các thử nghiệm và đánh giá hiệu suất các mô hình nhận dạng các đối tượng trong hình học Phương pháp đánh giá và các chỉ số hiệu suất sẽ được đề cập, bao gồm độ chính xác, độ phủ và các độ đo khác Chương cũng đã so sánh kết quả của các mô hình được đề xuất và đưa ra đánh giá về hiệu suất và khả năng sử dụng mô hình
• Chương 5: Tổng kết lại mục tiêu và ý nghĩa của nghiên cứu, đánh giá kết quả cuối cùng và tóm tắt những đóng góp của luận văn Ngoài ra luận văn cũng cập đến hạn chế và hướng phát triển tiếp theo cho các nghiên cứu liên quan
CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Giới thiệu
Chương này trình bày những lý thuyết cơ bản về CNN cùng những thách thức trong nhận diện ảnh hình học bởi học máy Nghiên cứu thiết lập một nền tảng toán học cao bằng cách mô tả cách CNN làm việc, xác định kiến trúc máy tính cùng những phần tử quan trọng của nó Ngoài ra, căn cứ trên lý thuyết cùng những bài viết học thuật, chương cũng đi sâu giải thích, giới thiệu những kỹ thuật trích xuất đặc điểm từ mẫu ảnh và mô tả những cơ sở dữ liệu thông dụng bao gồm OpenCV, TensorFlow và Keras
Trong quá trình nhận dạng hình học bằng học máy, việc xử lý linh hoạt trong các điều kiện biến đổi, khả năng phân loại chính xác các đối tượng với hình dạng và kích thước đa dạng, khả năng tổng quát từ dữ liệu huấn luyện, hiệu suất và tốc độ xử lý thời gian thực là cần thiết Để đảm bảo tính chính xác trong việc nhận dạng các đối tượng hình học, cần phát triển và áp dụng các mô hình học máy phù hợp Phần tiếp theo sẽ trình bày về những nghiên cứu khoa học và các bài báo liên quan đã được thực hiện trong lĩnh vực này.
Các nghiên cứu khoa học và bài báo liên quan
Nghiên cứu chú trọng vào những công trình có liên quan, nhằm khắc phục các vấn đề đã được nêu Công trình nghiên cứu của [KY2020] (A E Korchi, Y Ghanou -
2D geometric shapes dataset for machine learning and pattern recognition, University
Moulay Ismail of Meknes, Morocco, 2020) [1], công trình này đã cung cấp tập dữ liệu rất hữu ích Bộ dữ liệu chứa 9 lớp hình học 2D, kích thước ảnh là 200x200 Mỗi lớp chứa 10000 dữ liệu bao gồm các sự thay đổi khác nhau về đường viền, vị trí, góc quay, màu nền giữa các hình Tác giả cũng đề xuất kiến trúc mạng nơ ron tích chập gồm có 7 lớp tích chập kết hợp với 1 lớp kết nối đầy đủ (Full Layer Connect) biểu diễn đầu ra của mạng nơ ron Trong mỗi lớp tích chập minh họa như hình 2.1 với một bộ tham số được chuẩn hóa theo batch (Batch Normalization), một hàm kích hoạt (Activation Function) và một lớp lấy mẫu tối đa (Max Pooling)
Hình 2.1 Kiến trúc mạng được đề xuất Ưu điểm của công trình này:
• Cung cấp một bộ dữ liệu với 9 lớp hình học 2D được tạo tự động để sử dụng cho các nhiệm vụ nhận dạng và phân loại hình học
• Mỗi hình được vẽ ngẫu nhiên trên một hình ảnh RGB 200x200, với chu vi và vị trí của từng hình được chọn ngẫu nhiên và độ nghiêng của mỗi hình cũng được chọn ngẫu nhiên trong khoảng từ -180° đến 180°
• Các màu nền và màu tô của hình được chọn ngẫu nhiên và độc lập
• Bài báo cũng cung cấp mã nguồn trên GitHub để tạo ra bộ dữ liệu mới với bất kỳ kích thước dữ liệu mong muốn
Mặc dù vậy, các lợi thế của những nghiên cứu trước đây chỉ có thể coi là một điều kiện tiên quyết quan trọng để xây dựng một tập dữ liệu đáng tin cậy và đa dạng, từ đó tăng cường hiệu suất và sự chính xác của quá trình phân loại hình ảnh theo học máy
Mô hình học sâu được xây dựng dựa vào nghiên cứu công trình [JF1999] (J A Jorge, M J Fonseca - A Simple Approach to Recognise Geometric Shapes Interactively, Departamento de Engenharia Informatica, Lisboa, Portugal, 1999) [2], công trình này đã đạt được kết quả khá thành công với tỷ lệ chính xác 91% cho tập dữ liệu chứa các hình vẽ phác thảo Ma trận nhầm lẫn (Confusion Matrix) trong bảng 2.1 cho thấy tỉ lệ nhận dạng đúng và sai cho mỗi loại hình dạng của hình học
Bảng 2.1 Bảng ma trận nhầm lẫn
Công trình này có ưu điểm là:
• Toàn bộ đặc điểm hình học được làm đầu vào để nhận dạng đối tượng
• Áp dụng thuật toán cây quyết định để loại bỏ các hình dạng không mong muốn
• Áp dụng logic mờ để loại bỏ sự chắc chắn và không chính xác trong các hình phác thảo hình học
Trong nghiên cứu này, tác giả đã phân tích và chỉ ra một số hạn chế và thách thức trong việc áp dụng các thuật toán học máy để nhận diện các đối tượng hình học Đầu tiên, một trong những vấn đề quan trọng là khó xác định thời gian chờ đợi phù hợp để nhận diện các dạng hình học Điều này gây ảnh hưởng lớn đến hiệu suất và tốc độ xử lý trong quá trình nhận dạng, đặc biệt là khi xử lý các ảnh có kích thước lớn hoặc có mật độ đối tượng cao
Thứ hai, tác giả đã nhận thấy rằng việc nhận dạng các đối tượng hình thoi không luôn mang lại kết quả mong muốn Mặc dù các mô hình học máy hiện nay có khả năng chính xác cao cho nhiều hình dạng hình học khác nhau, nhưng việc nhận dạng hình thoi vẫn đang gặp khó khăn Kết quả nhận dạng cho hình thoi thường chỉ đạt khoảng từ 85% đến 88%, gây ra sự mất cân đối và không đáng tin cậy trong việc nhận dạng đối tượng này
Vì các thách thức trên, tác giả đã khuyến nghị sử dụng thư viện OpenCV làm một phương tiện trợ giúp hữu ích Việc sử dụng thư viện OpenCV được coi là một công cụ hiệu quả và khả thi nhằm giải quyết các hạn chế và thách thức trong việc nhận diện đối tượng hình học bởi học máy
Trong công trình [Hossen2022) (M K Hossen và cộng sự - Application of Python OpenCV to detect contour of shapes and color of a real image, International
Journal of Novel Research in Computer Science and Software Engineering, 2022) [3], tác giả và những cộng sự đã áp dụng nhiều thư viện phổ biến như OpenCV và NumPy vào quá trình nghiên cứu để phát hiện các hình dạng, đường viền và màu sắc của đèn giao thông Dự án này đạt thành công khi đã xây dựng và triển khai một mô hình tiên tiến để nhận diện chính xác các hình ảnh hình học (Hình 2.2) dựa trên nhiều thư viện
Hình 2.2 Các hình học được nhận diện bằng thư viện OpenCV
Dự án này đối mặt với những thách thức quan trọng Đầu tiên, khi có sự chồng chéo giữa hai hoặc nhiều hình dạng, công trình không thể phát hiện chính xác đường viền của các hình dạng và phân biệt được màu sắc của chúng Điều này gây ảnh hưởng đáng kể đến khả năng nhận diện và phân loại các hình dạng hình học phức tạp Thứ hai, phát hiện các hình nhỏ trong các hình lớn cũng gặp nhiều khó khăn, khi các hình nhỏ bị che khuất bởi các hình lớn hoặc không được đánh dấu rõ ràng trong hình ảnh Thách thức này khiến cho việc nhận dạng và xác định đúng các đối tượng hình học trở nên khó khăn Cuối cùng, nếu mô hình được sử dụng trong những môi trường thực, chẳng hạn trong môi trường ngoài trời hoặc trong những môi trường có mức độ phức tạp cao, mô hình cũng gặp trở ngại đối với việc xác định và nhận dạng những hình khối, màu và đường vẽ phức tạp Điều này là vì việc thay đổi màu sắc, góc nhìn và nhiễu môi trường sẽ tác động đến độ chính xác của mô hình đối với việc nhận dạng và định vị chính xác đối tượng hình học.
Một số cơ sở lý thuyết
Học máy là một phần thiết yếu đối với kỹ thuật máy và trí tuệ nhân tạo Nó dựa trên sự hiểu biết về dữ liệu và phương thức mà máy có thể học thông qua thuật toán nhằm tối ưu hoá năng suất của máy qua dữ liệu
Một trong các kỹ thuật chính đối với học máy là học có giám sát (supervised learning) Trong học có giám sát, mô hình được xây dựng trên những cặp thông tin chuẩn hoá bao gồm nguồn vô và đầu vào tương xứng Mục tiêu là phát triển một hệ thống dự báo chuẩn xác những đầu vào mới dựa trên nguồn vào Các mô hình thông dụng trong học có giám sát là cây chủ động (decision trees), mô hình tuyến tính (linear regression) và mạng nơ ron (neural networks)
Học không giám sát (Unsupervised learning) cũng là một thuật ngữ phổ biến trong ngành học máy Trong học không giám sát, các tập dữ liệu chỉ được xem xét và tìm hiểu dữ liệu khi không có nguồn dữ liệu đầu vào đã qua ghi nhãn Điều này liên quan đến việc chỉ tập trung tìm hiểu bản chất và mối quan hệ của dữ liệu nhằm đưa đến những quyết định đúng đắn và tìm hiểu sâu thêm về loại dữ liệu đang phân tích
Một trong các phương pháp thông dụng để học không giám sát là phân cụm (clustering) Phân cụm có nhiệm vụ tập hợp những đối tượng dữ liệu có chủ đề tương tự lại với nhau, căn cứ trên những đặc điểm và khuôn mẫu tương tự Ví dụ, đối với phân cụm ảnh, có thể tập hợp những đối tượng có chủ đề tương đồng nhất với nhau mà không cần thiết phải biết về từng loại đối tượng riêng biệt
Việc giảm chiều dữ liệu (Dimensionality reduction) là một yếu tố quan trọng trong lĩnh vực học không giám sát Khi làm việc với các tập dữ liệu có số chiều cao, việc giảm chiều sẽ giúp giảm bớt tính phức tạp của tính toán và trực quan hóa dữ liệu một cách hiệu quả Có nhiều phương pháp để thực hiện việc này, như Principal Component Analysis (PCA) [4] và t-SNE (t-Distributed Stochastic Neighbor Embedding) [5], nhằm xác định các thành phần chính và biểu diễn dữ liệu trong không gian có số chiều thấp hơn
Ngoài ra, học không giám sát cũng được áp dụng trong việc phát hiện đối tượng (anomaly detection) Đối tượng bất thường là những điểm dữ liệu không tuân theo các quy tắc và mẫu thông thường của bộ dữ liệu Thuật toán phát hiện đối tượng giúp việc tìm ra những điểm dữ liệu không phù hợp, những tình huống đáng ngờ hoặc sự cố trong hệ thống
Học máy không những chú trọng đến việc thuật toán và mô hình, còn chú trọng cả việc đánh giá hiệu năng của mô hình Đánh giá mô hình là việc phân tích và đánh giá hiệu suất của mô hình đối với việc nhận dạng và phân loại Các độ đo lường bao gồm độ chính xác (accuracy), độ bao phủ (recall), độ chuẩn xác (precision) và F1- score được dùng nhằm đánh giá việc dự đoán và phân loại của mô hình Ngoài ra, ma trận sai (confusion matrix) cung cấp dữ liệu cụ thể cho việc xác định đúng và sai của mô hình, qua việc tìm hiểu sâu thêm về hiệu năng của mô hình theo các đặc trưng và kiểu dữ liệu
Sau phần trình bày kiến thức căn bản về học máy, chương kế tiếp giới thiệu khái niệm phân loại hình ảnh thuộc lĩnh vực học máy Phân loại hình ảnh có ý nghĩa đặc biệt đối với việc xác định và phân loại dữ liệu hình ảnh thành từng phần hay nhóm cụ thể, căn cứ trên những đặc điểm và khuôn mẫu có trong hình
Phân loại hình ảnh là việc xác định và dán nhãn đối với những hình ảnh theo từng lớp hay nhóm riêng biệt căn cứ trên những đặc điểm và mẫu có trong hình ảnh Mục tiêu của phân loại hình ảnh là phân biệt và nhận dạng các đối tượng, mẫu hay thuộc tính trong hình ảnh và xếp chúng vào các danh mục, lớp hoặc nhãn đã được xác định trước Trong phân loại hình ảnh, có các thuật toán và mô hình học máy bao gồm Mạng nơ ron tích chập (CNN), Support Vector Machines (SVM) [6], Decision Trees [7] và Random Forests [8] Các thuật toán thường được sử dụng nhằm xác định và phân loại các vật thể hoặc đối tượng trong hình ảnh dựa trên những đặc điểm quan trọng
Quá trình phân tích dữ liệu chủ yếu dựa trên học máy và áp dụng các thuật toán và mô phỏng nhằm học cách xác định những đặc điểm chính từ số liệu thực Đối với mỗi hình ảnh mới, mô hình sẽ áp dụng các quy tắc và kiến thức đã học để dự đoán lớp hoặc nhãn tương ứng Sau khi đã chuẩn bị và trích xuất đặc trưng từ dữ liệu, mô hình học máy đã được tiến hành huấn luyện Quá trình này tập trung vào việc tối ưu hóa các thông số của mô hình để đạt được độ chính xác cao nhất trên dữ liệu huấn luyện Khi mô hình đã hoàn thiện quá trình huấn luyện, nó có thể được áp dụng để phân loại các hình ảnh mới vào các nhóm tương ứng Điều này giúp cải thiện khả năng phân loại và phục vụ cho mục đích xử lý dữ liệu trong thực tế Để đánh giá hiệu suất của mô hình phân loại hình ảnh, ta cũng sử dụng các chỉ số đã được nêu ở phần trước Những chỉ số này sẽ đánh giá khả năng nhận dạng và phân loại của mô hình trên các bộ dữ liệu kiểm tra hoặc dữ liệu mới Ứng dụng của việc phân loại hình ảnh rất đa dạng trong nhiều lĩnh vực khác nhau
Ví dụ như trong lĩnh vực y tế, ta có thể sử dụng việc phân loại hình ảnh để xác định các bệnh lý và phân loại các loại ung thư thông qua việc chụp hình từ máy quét hay siêu âm Trong lĩnh vực an ninh, việc phân loại hình ảnh có thể hỗ trợ cho việc nhận diện khuôn mặt, các vật cản hay các đối tượng đáng ngờ
2.3.3 Mạng nơ ron sâu (DNN)
Mạng nơ-ron sâu (Deep Neural Network - DNN) là một loại mạng nơ-ron có độ sâu lớn, với nhiều lớp ẩn được đặt giữa lớp đầu vào và lớp đầu ra DNN đóng vai trò quan trọng trong lĩnh vực học sâu và được áp dụng rộng rãi trong các bài toán như nhận dạng, phân loại, dịch thuật tự động, nhận diện giọng nói, xử lý ngôn ngữ tự nhiên cũng như các ứng dụng khác Sự biến đổi này mang tính chuyên nghiệp và làm thay đổi hoàn toàn so với bản gốc ban đầu
Cấu trúc của một DNN bao gồm các lớp nơ ron kết nối với nhau theo kiểu mạng lan truyền thuận (feedforward network) Mỗi lớp trong mạng chứa nhiều đơn vị (units) nơ ron hoạt động như các đơn vị tính toán Các lớp nơ ron được kết nối thông qua các trọng số (weights), và các đầu vào của mỗi nơ ron được kết nối với đầu ra của các nơ ron trong lớp trước đó DNN sử dụng các hàm kích hoạt phi tuyến như sigmoid, ReLU, để tạo ra khả năng học và biểu diễn đa dạng của mạng Các trọng số trong mạng DNN được điều chỉnh và tối ưu hoá thông qua quy trình thử nghiệm Sau đó, các phương pháp tối ưu hoá bao gồm giảm góc nghiêng (gradient descent) được áp dụng nhằm điều chỉnh lại trọng số, qua đó giảm sai lệch trong kết quả thực và kết quả mong đợi
Công thức lan truyền thẳng trong mạng DNN có thể dùng để tính đầu ra của các nơ ron trong mạng dựa trên đầu vào và trọng số của nó Quá trình này diễn ra từ layer đầu vào thông qua các lớp ẩn cho đến lớp ở đầu ra Các bước thực hiện trong quá trình lan truyền thẳng được thực hiện lần lượt theo hai bước Đối với bước tính tổng số đầu vào, với mỗi nơ ron trong lớp ẩn, tổng trọng số đầu vào được tính bằng cách nhân đầu vào của nơ ron với ma trận trọng số tương ứng và cộng thêm véc tơ bias:
- 𝑧 là véc tơ tổng trọng số đầu vào của các neuron trong lớp ẩn
- 𝑊 là ma trận trọng số kết nối giữa lớp trước và lớp ẩn
- 𝑥 là véc tơ đầu vào của lớp trước (có thể là đầu vào từ lớp đầu vào hoặc từ các lớp ẩn trước đó)
- 𝑏 là véc tơ bias của lớp ẩn
Công thức trên được áp dụng để tính tổng trọng số đầu vào của mỗi nơ ron, kết hợp trọng số kết nối và đầu vào của nơ ron đó Tổng trọng số đầu vào này sau đó sẽ được truyền qua hàm kích hoạt để tính toán đầu ra và chuyển tiếp qua lớp tiếp theo trong quá trình lan truyền thẳng
NHẬN DẠNG ĐỐI TƯỢNG HÌNH HỌC BẰNG HỌC MÁY
Giới thiệu
Bài toán nhận dạng đối tượng hình học máy là một bài toán phổ biến thuộc lĩnh vực trí tuệ nhân tạo Nó đề cập đến việc xác minh và phân biệt các hình dạng hình học, ví dụ như hình tròn, hình vuông, tam giác, và những đối tượng hình học tương tự khác, thông qua dữ liệu hình ảnh hoặc video
Mục tiêu của bài toán trên là phát triển một mô hình học máy có khả năng tự nhận dạng và phân biệt các đối tượng hình học thông qua một tập dữ liệu đầu vào Mô hình có thể dựa trên những dữ liệu đã được dán nhãn trước, nhằm nhận dạng những đặc trưng và mối quan hệ giữa những đối tượng hình học với nhau Sau đó, mô hình được ứng dụng để nhận dạng những đối tượng không gian hình học trong những hình ảnh mới.
Mô tả bài toán
Trong trường trung học cơ sở, việc nghiên cứu cách nhận dạng những hình dạng hình học phổ biến như hình tròn, tam giác, hình vuông là một phần chính của chương trình dạy học Tuy nhiên, việc nhận dạng và phân chia hợp lý từng hình dạng trên lại cần sự nỗ lực nhiều thời gian của giáo viên và học sinh Đề tài nhận dạng đối tượng bởi học máy được xây dựng trên tập dữ liệu của đối tượng hình học thông thường được giảng dạy bởi chương trình giáo dục của học sinh lớp 7 đến lớp 8 Tập dữ liệu này bao gồm các hình ảnh chụp hoặc cắt các hình dạng trên nền trắng, được gán nhãn đúng với các hình dạng tương ứng Trong tập dữ liệu này cũng chứa hình ảnh chụp từ sách giáo khoa và hình ảnh vẽ tay để giúp dữ liệu phong phú và tăng khả năng dự đoán hình ảnh cho mô hình học máy Đầu vào của mô hình là các hình ảnh thô chứa các hình dạng hình học, có hoặc không có các kí hiệu hình học Mô hình sẽ tiến hành xử lý và trích xuất đặc trưng từ các hình ảnh này Đầu ra của mô hình sẽ là các câu suy luận về hình dạng tam giác và các tính chất có trong tam giác đó, như số cạnh, số góc và độ đối xứng Đề tài gặp phải một số thách thức về hình ảnh chụp từ sách giáo khoa có chất lượng khá thấp, nhiều chi tiết không rõ ràng Điều này tạo ra các khó khăn trong việc trích xuất đặc trưng và phân loại chính xác các loại dạng hình học trong hình ảnh đầu vào Nhằm tăng cường hiệu suất nhận diện, mô hình đã đề nghị sử dụng một tập dữ liệu mới từ thư viện OpenCV, với mục đích đưa ra các hình ảnh chất lượng cao, chi tiết và có tính biểu tượng đối với từng loại dạng hình học Tập dữ liệu sẽ được dùng trong huấn luyện và phân tích mô hình
Bên cạnh đó, để tổng quát hóa của mô hình, đề tài đã áp dụng kỹ thuật tăng cường dữ liệu (Data Augmentation) Kỹ thuật này giúp tạo ra các biến thể của dữ liệu huấn luyện bằng cách áp dụng các phép biến đổi như xoay, phóng to, thu nhỏ, lật ngang, lật dọc và các hiệu ứng khác Nhờ đó, mô hình có khả năng nhận dạng chính xác các đối tượng hình học trong các hình ảnh có các biến thể về hình dạng, kích thước và góc nhìn
Hình 3.1 Mô hình nhận dạng hình học bằng học máy
Hình 3.1 cho thấy quy trình tạo mô hình nhận diện hình học thông qua học máy Đầu tiên, hình ảnh hình học cần tiền xử lí nhằm sẵn sàng phục vụ quá trình nhận diện Quá trình thực hiện có thể gồm các bước như biến đổi thành không gian màu thích hợp, thay đổi kích thước, độ mờ hoặc việc làm rõ ràng hình ảnh nhằm tăng đặc trưng Sau đó, hình ảnh sẽ đi qua mô hình CNN Mô hình sẽ dùng những lớp tích chập nhằm trích xuất những đặc trưng từ hình ảnh và sử dụng lớp ghép nhằm giảm thiểu kích thước không gian của đặc trưng Qua mỗi lớp liên kết hoàn chỉnh, mô hình hiểu về mối quan hệ giữa những đặc trưng và đưa đến một trình diễn đặc trưng tổng thể của hình ảnh
Kết quả sau cùng của mô hình là một tập hợp ba lớp: hình tròn, hình học và hình vuông Để tạo các dự đoán, mô hình sử dụng một lớp đầu ra với hàm kích hoạt SoftMax, có thể đo xác suất tất cả các lớp Lớp có xác suất cao nhất được xem là lớp cuối cùng của hình ảnh Để trích xuất thông tin từ kết quả nhận dạng, luận văn sử dụng kết hợp môi trường ML.NET và thư viện OpenCV Các thư viện trên bao gồm những công cụ có
Vì số lượng dữ liệu từ sách giáo khoa có kích thước và chất lượng hình không tốt, dẫn đến số lượng đầu vào để huấn luyện khá ít Do đó, luận văn đề xuất áp dụng kỹ thuật tăng cường dữ liệu, điều này sẽ làm cho mô hình đạt được hiệu suất nhận dạng tốt hơn, đồng thời cải thiện khả năng tổng quát hóa trong việc nhận dạng các đối tượng hình học trong các hình ảnh chất lượng thấp và có nhiều biến thể Để đảm bảo sự kiểm soát tốt trong quá trình thực hiện luận văn, có ba quá trình chính được thực hiện như sau:
- Quá trình huấn luyện: Gồm hai giai đoạn chính: Giai đoạn đầu là huấn luyện về dạng hình học, theo đó mô hình được huấn luyện nhằm nhận biết và phân loại những hình dạng hình học đơn giản bao gồm hình tròn, hình vuông, và hình tam giác Giai đoạn thứ hai là huấn luyện các kí hiệu hình học, theo đó mô hình được huấn luyện nhằm nhận biết và phân loại từng kí hiệu hình học cụ thể
- Quá trình kiểm thử: Sau khi mô hình đã được huấn luyện, quá trình kiểm thử được thực hiện Ở đây, mô hình nhận diện được sử dụng nhằm phân loại từng nhãn hình học riêng lẻ trên bộ dữ liệu kiểm thử Quá trình kiểm thử để đánh giá hiệu suất và độ chính xác của mô hình nhận diện trong việc phân loại từng đối tượng hình học trong hình ảnh
- Quá trình trích xuất thông tin: Quá trình này giúp rút trích các thông tin quan trọng từ hình dạng hình học được đưa vào Các thông tin được trích xuất có thể bao gồm toạ độ đỉnh, tên đỉnh, tên cạnh, các kí hiệu hình học Quá trình trích xuất thông tin này có thể sử dụng các thuật toán và phương pháp phân tích hình ảnh như OpenCV, TensorFlow, Keras, PyTorch để đạt được một mức độ chi tiết cao về các đối tượng được nhận dạng.
Xây dựng dữ liệu
Việc phát triển tập dữ liệu hình học là một phần thiết yếu đối với quá trình huấn luyện và đánh giá mô hình nhận diện đối tượng hình học Tập dữ liệu này bao gồm các hình ảnh chứa các đối tượng hình học như tam giác, tròn, vuông và có nhãn tương ứng cho mỗi hình ảnh để biết loại đối tượng mà nó đại diện
Dữ liệu trong nghiên cứu này bao gồm các hình học như tam giác, tròn và vuông, được tạo ra sử dụng thư viện Pillow Các tham số được điều chỉnh để tạo ra các hình học có kích thước và hình dạng ngẫu nhiên, đảm bảo tính đa dạng của dữ liệu Ngoài ra, cũng sử dụng dữ liệu hình ảnh vẽ tay và ảnh từ sách giáo khoa Tuy nhiên, ảnh trên sách giáo khoa có độ tương phản và kích thước nhỏ, có tác động đến khả năng nhận dạng dữ liệu Do đó, trong nghiên cứu này, 90% dữ liệu được tạo từ thư viện Pillow và 10% dữ liệu đơn giản từ sách giáo khoa lớp 7 và 8 được sử dụng để đảm bảo tính đa dạng và phù hợp của dữ liệu
Bộ dữ liệu hình dạng hình học và kí hiệu hình học có tổng số dữ liệu lần lượt là
4728 hình ảnh và 7727 hình ảnh được trình bày ở bảng 3.1 và 3.2 như sau:
Bảng 3.1 Bảng số lượng hình dạng hình học
Hình dạng hình học Tam giác Vuông Tròn
Bảng 3.2 Bảng số lượng kí hiệu hình học
Kí hiệu hình học Số lượng Đường thẳng 710
Góc vuông 3127 Đường phân giác 167
Các dạng hình học được xây dựng cần tuân thủ quy tắc và thuật toán xác định Với hình dạng hình tròn được thực hiện xây dựng dữ liệu theo thứ tự như sau:
- Bước 1: Tạo một ảnh trắng với kích thước cụ thể Điều này đảm bảo rằng không có nội dung trước đó ảnh hưởng đến quá trình xây dựng hình tròn
- Bước 2: Tạo ngẫu nhiên các tọa độ tâm hình tròn (𝑥, 𝑦) và bán kính 𝑟 Tuy nhiên, các hình tròn cần được đảm bảo nằm hoàn toàn trong kích thước ảnh
256 x 256 Trong trường hợp này, các giá trị được ngẫu nhiên, kiểm tra cho
- Bước 3: Sau khi có các thông số cần thiết, phép biến đổi hình học và tính toán các điểm trên bề mặt của hình tròn được sử dụng Kết hợp với các công thức toán học để tính toán tọa độ của mỗi điểm trên bề mặt hình tròn Điều này tạo ra danh sách các điểm trên bề mặt của hình tròn
- Bước 4: Thực hiện lặp 360 độ trong tam giác và vẽ một điểm với tọa độ (𝑥, 𝑦) của mỗi điểm trên bề mặt của hình tròn dựa trên tọa độ của tâm và bán kính của nó
- Bước 5: Mỗi điểm trên bề mặt hình tròn được biểu diễn bằng cặp tọa độ (x1, y1) và được thêm vào danh sách points Cuối cùng, danh sách points sẽ chứa tất cả các điểm trên bề mặt của hình tròn, sẵn sàng để vẽ hoặc sử dụng cho các mục đích khác
Cuối cùng, các điểm trong danh sách này được dùng để vẽ hình tròn trên ảnh Bằng cách sử dụng một đường nét đơn giản, các điểm được nối với nhau để tạo thành một hình tròn hoàn chỉnh Màu sắc của hình tròn được đặt là đen, mang tính chất đối lập với nền trắng của ảnh Độ dày của đường nét được chọn ngẫu nhiên trong một khoảng nhất định, tạo ra sự đa dạng và sự độc đáo cho các hình tròn được tạo ra
Hình 3.2 Hình ảnh hình tròn
3.3.2 Tiền xử lý dữ liệu
Quá trình xây dựng tập dữ liệu hình học bao gồm các bước sau:
- Bước 1: Xác định kích thước và định dạng ảnh trước khi xây dựng tập dữ liệu các hình ảnh hình học cần xác định chiều rộng và chiều cao của ảnh, cũng như định dạng file Luận văn sử dụng định dạng PNG cho tất cả các hình ảnh hình học và kí hiệu với độ dài, độ rộng lần lượt là 256, 256
- Bước 2: Tạo dữ liệu ngẫu nhiên đối với mỗi loại đối tượng hình học (tam giác, tròn, vuông), ngoài việc thu thập dữ liệu từ các nguồn trong sách giáo khoa và trên mạng, việc tự tạo ra các hình ảnh chứa những đối tượng cơ bản đó cũng là điều cần thiết Cách tiếp cận phổ biến là sử dụng những thuật toán và phép toán ngẫu nhiên nhằm đưa ra những đối tượng hình học với kích thước và vị trí ngẫu nhiên trên ảnh Bên cạnh đó, việc sử dụng kỹ thuật gia tăng dữ liệu cũng có vai trò nhất định, cho phép tăng cường nguồn dữ liệu với nhiều góc độ, màu sắc khác nhau nhằm giúp mô hình học tập có được độ chính xác cao nhất
- Bước 3: Các đối tượng trong tập dữ liệu hình học được gán nhãn, đây là một bước quan trọng để xác định và định danh loại đối tượng trong mỗi hình ảnh Việc gán nhãn đòi hỏi hình ảnh cần được phải xác định và gán nhãn cho mỗi ảnh để chỉ ra loại đối tượng hình học mà nó đại diện, bao gồm tam giác, tròn và vuông Điều này giúp mô hình nhận dạng hình học hiểu và phân loại chính xác các đối tượng trong quá trình huấn luyện và kiểm tra
- Bước 4: Tập dữ liệu hình học có thể chia làm các phần gồm tập huấn luyện, tập kiểm thử và tập kiểm tra Việc chia tập dữ liệu nhằm bảo đảm tính khách quan và phản ánh đúng hiệu suất của mô hình toán học
- Bước 5: Tập dữ liệu được lưu trữ trong các tệp tin để có thể sử dụng trong quá trình huấn luyện và kiểm tra mô hình nhận dạng hình học
Bằng cách tuân thủ các bước như xác định kích thước và định dạng ảnh, xác định số lượng và loại đối tượng, tạo và gắn nhãn cho dữ liệu, cũng như phân chia tập dữ liệu, đảm bảo tính chính xác và khách quan trong việc đánh giá hiệu suất của mô hình nhận dạng đã được đảm bảo
Quá trình xây dựng tập dữ liệu hình học không những đảm bảo nguồn dữ liệu cần thiết phục vụ quá trình đào tạo và đánh giá mô hình, đồng thời thể hiện tính đa dạng và phức tạp của từng đối tượng hình học trong tập dữ liệu Điều này giúp mô hình nhận dạng hình học có khả năng tổng quát hóa tốt và đáp ứng tốt với các tình huống mới.
Phân lớp hình ảnh bằng mô hình CNN
Kiến trúc mạng nơ ron tích chập được dùng để phân loại hình ảnh tam giác, hình tròn và hình vuông Mô hình là một chuỗi những lớp tích chập, lớp cắt mẫu và kết nối hoàn chỉnh, được đặt chồng lên nhau để tạo nên một hệ thống phân loại Đầu tiên, lớp Conv2D là lớp tích chập đầu tiên trong mạng Với 32 bộ lọc kích thước 3x3, nó thực hiện việc trích xuất các đặc trưng cấp thấp từ hình ảnh đầu vào Bằng cách dùng hàm tương tác ReLU, lớp này đưa đến những đặc trưng phi tuyến và cho phép mô hình hiểu rõ những đặc trưng cơ bản của các hình học
Tiếp theo, lớp MaxPooling2D được áp dụng sau mỗi lớp tích chập để giảm kích thước đầu ra và tạo ra các đặc trưng cấp cao hơn Lớp này sử dụng kỹ thuật lấy giá trị lớn nhất trong mỗi khối 2x2 để tạo ra một phiên bản giảm kích thước của đầu ra từ lớp trước đó Việc này giúp giảm độ phân giải và tập trung vào các đặc trưng quan trọng trong hình ảnh Để tránh hiện tượng quá khớp, trong khi huấn luyện, các lớp Dropout được áp dụng sau các lớp giảm mẫu để loại bỏ ngẫu nhiên một phần nơ ron Với tỉ lệ dropout là 0.25, các nơ ron sẽ có 25% khả năng bị loại bỏ, từ đó giúp mô hình trở nên linh hoạt hơn và tránh việc nhớ các đặc trưng cụ thể của dữ liệu huấn luyện Tiếp theo, thông qua chuỗi các lớp tích chập, lớp giảm mẫu và dropout, mô hình học được các đặc trưng phức tạp từ hình ảnh đầu vào và biểu diễn chúng dưới dạng vector một chiều bằng lớp Flatten Điều này cho phép thông tin đặc trưng được chuyển giao từ các lớp trước đó sang các lớp kết nối đầy đủ tiếp theo Sau khi đã được chuyển đổi thành dạng vector, các đặc trưng được truyền qua các lớp Dense để thực hiện phân lớp Lớp Dense với 128 nơ ron và hàm kích hoạt ReLU giúp tạo ra các đặc trưng phức tạp từ các đặc trưng đã học được Lớp Dropout với tỉ lệ 0.5 được áp dụng sau đó để loại bỏ một phần nơ ron và ngăn chặn hiện tượng quá khớp Lớp Dense cuối cùng với 3 nơ ron và hàm kích hoạt SoftMax được sử dụng để thực hiện phân lớp tam giác, hình vuông và hình tròn Hàm SoftMax tạo ra một phân phối xác suất trên 3 lớp đầu ra, cho phép mô hình đưa ra dự đoán về loại hình ảnh
Sau khi đã xác định kiến trúc mạng và xác định các tham số huấn luyện như hàm mất mát (category_crossentropy), bộ tối ưu hóa (Adam) và các chỉ số đánh giá, mô hình được biên dịch và sẵn sàng để được huấn luyện và đánh giá hiệu suất trên tập dữ liệu huấn luyện và kiểm tra Thông số được mô tả như hình 3.6 bằng lệnh model.summary() của thư viện Keras
Hình 3.3 Mô hình phân lớp hình học
Trong quá trình phân lớp hình ảnh theo kí hiệu hình học, một phương pháp hữu hiệu là sử dụng mô hình mạng nơ ron tích chập Trong mô hình này sử dụng một loạt những lớp tích chập nhằm trích xuất những đặc trưng từ hình ảnh Những lớp này sẽ tự học tập những bộ thanh lọc (filter) để nhận biết những đặc trưng về cạnh, góc, hoặc những đặc điểm khác thường trong ảnh Sau đó, các lớp cắt mẫu sẽ sử dụng nhằm giảm thiểu kích thước của đặc trưng và đảm bảo tính nguyên vẹn của thông tin Cuối cùng, các lớp fully connected sẽ được sử dụng nhằm hợp nhất những đặc trưng đã trích xuất và tiến hành phân lớp
Trong trường hợp phân lớp hình ảnh bởi kí hiệu hình học, mô hình CNN được xây dựng nhằm phân lớp từng kí hiệu thành 7 lớp khác nhau như đã nêu tại phần 3.3.1 Đầu tiên, tập dữ liệu huấn luyện được tạo, bao gồm các hình ảnh của từng kí hiệu theo mỗi lớp Sau đó, tập dữ liệu được chuyển về dạng grayscale và thay đổi kích thước Tiếp theo, một mô hình CNN được thiết kế với các lớp phối chập, cắt mẫu và fully connected tương ứng Mô hình thường được huấn luyện trên tập dữ liệu huấn luyện nhằm xác định những đặc trưng và quy tắc phân lớp của từng kí hiệu Quá trình huấn luyện cũng được tiến hành theo cách tối ưu hàm tổn thất (loss function) và áp dụng phương pháp truyền ngược lại (backpropagation) nhằm thay đổi trọng số trong mô hình
Sau khi mô hình được huấn luyện, hiệu suất của mô hình được thể hiện trên tập dữ liệu kiểm tra Đánh giá sẽ gồm cả những chỉ số về độ chính xác, độ bao phủ và độ chuẩn xác Nếu hiệu suất thu được là tốt, trên 70%, kí hiệu hình học sẽ được phân lớp dựa vào mô hình trên
Sử dụng mô hình phân lớp sẽ giúp gia tăng tính chính xác và hiệu quả đối với quá trình nhận dạng và mã hoá Điều này cho phép sử dụng đối với đa lĩnh vực, từ nhận dạng biển báo giao thông truyền thống đến ứng dụng đối với robot và bộ xử lý hình ảnh Việc sử dụng mô hình CNN giúp giảm thiểu sự phụ thuộc đối với bộ qui tắc và ngưỡng cứng nhắc, đồng thời tăng khả năng tương thích với những kí hiệu mới.
Đánh giá mô hình
Đánh giá mô hình qua các thang đo điểm F1, độ chính xác, độ chuẩn xác và độ che phủ là một phương pháp quan trọng nhằm đánh giá hiệu suất của mô hình đối với những tác vụ phức tạp Điểm F1 (F1 score) là một thang đo kết hợp giữa độ chuẩn xác và độ bao phủ, là một cách đo lường tổng quan về độ chính xác và độ phủ của mô hình Giá trị F1 score nằm trong khoảng từ 0 đến 1, với 1 đại diện cho hiệu suất tốt nhất F1 score được tính bằng công thức:
(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙) (3.1) Độ chính xác (accuracy) là tỉ lệ phần trăm của số lượng dự đoán đúng trên tổng số lượng mẫu Đây là một thang đo lường trực quan và dễ sử dụng, phản ánh tỉ lệ dự đoán chính xác của mô hình Tuy nhiên, độ chính xác không phản ánh đúng sự bất cân đối giữa từng lớp trong tập dữ liệu, thậm chí còn không chính xác đối với trường hợp các lớp có tỉ lệ hiển thị không đồng nhất Độ chuẩn xác (precision) là tỉ lệ giữa số lượng dự đoán chính xác của một lớp nhất định trên tổng số lượng dự đoán thuộc lớp đó Thang đo lường này đánh giá khả năng của mô hình thông qua việc phát hiện chính xác những mẫu thuộc lớp đích để không tạo các sai sót dự đoán Công thức tính độ chuẩn xác:
TP+FP (3.2) Độ bao phủ (recall) là tỉ lệ giữa số lượng dự đoán chính xác của một lớp cụ thể trên tổng số lượng mẫu thuộc lớp đích trong tập dữ liệu Công thức tính độ bao phủ:
TP, FN, FP là chữ viết tắt lần lượt của True Positive, False Negative và False Positive Trong đó:
• TP đại diện cho số lượng điểm thuộc lớp positive mà mô hình đã phân loại đúng là positive Đây là những trường hợp mà mô hình phân loại đúng và nhận biết được các mẫu thuộc lớp positive
• FN đại diện cho số lượng điểm thuộc lớp negative mà mô hình đã phân loại không đúng là negative Đây là những trường hợp mà mô hình phân loại không đúng các mẫu thuộc lớp negative
• FP đại diện cho số lượng điểm thuộc lớp negative nhưng bị mô hình phân loại nhầm thành positive Đây là những trường hợp mà mô hình gán sai nhãn và nhầm các mẫu thuộc lớp negative thành lớp positive
Trong phạm vi bài luận văn, xảy ra tình huống về phân loại 3 lớp cho dạng hình học và 7 lớp cho kí hiệu hình học, trong đó mỗi lớp được xác định dựa trên một hình dạng hình học và kí hiệu cụ thể Các mẫu dữ liệu thuộc chủ đề đó được coi là positive, trong khi các mẫu dữ liệu không thuộc chủ đề đó được coi là negative
Phép đánh giá được sử dụng trong luận văn là weight macro-average F1-score, thường được áp dụng trong trường hợp mất cân bằng giữa các lớp Nó cho phép đánh giá được tính dựa trên hai tham số quan trọng là macro-average và macro-average recall Phép đánh giá này được áp dụng trong luận văn nhằm giải quyết tình huống mất cân bằng giữa các dạng nhãn hình học
Weight macro-average F1-score được tính toán bằng cách lấy trung bình cộng của precision và recall cho từng chủ đề, dựa trên các công thức sau: macro − average precision = ∑ C c=1 TP c
∑ C c=1 (TP c +FP c ) (3.4) macro − average recall = ∑ C c=1 TP c
Trong công thức này, TPc, FPc, và FNc lần lượt đại diện cho số lượng true positive (dự đoán đúng và thuộc lớp C), false positive (dự đoán sai và thuộc lớp C), và false negative (dự đoán sai và không thuộc lớp C) của lớp C
Trong quá trình đánh giá mô hình, các thang đo được miêu tả ở trên đóng vai trò quan trọng trong cung cấp thông tin về hiệu suất phân loại của mô hình từ nhiều góc độ khác nhau Các giá trị đánh giá này thể hiện khả năng phân loại chính xác của mô hình, khả năng xác định các mẫu thuộc lớp đích và mức độ sai sót trong dự đoán.
Trích xuất thông tin hình học tam giác bằng OpenCV
Trước hết, trong luận văn này, được tiến hành áp dụng một loạt các kỹ thuật xử lý ảnh để phát hiện và trích xuất các cạnh của tam giác Các phương pháp như lọc Gauss, biến đổi Canny và phân đoạn hình ảnh được sử dụng để tạo ra các đường viền chính xác và rõ ràng của tam giác Sau đó, sử dụng các thuật toán xử lý hình học, bao gồm tính toán góc và tọa độ đỉnh của tam giác, độ dài các cạnh và kiểm tra tính vuông góc, để xác định các thuộc tính cần thiết Các phương pháp như tính toán góc bằng Cosin và sử dụng định lý Py-ta-go được áp dụng để tính toán chính xác các thông số liên quan đến tam giác
Tuy nhiên, để đạt được một mức độ nhận dạng chính xác và tin cậy của các kí hiệu hình học trong tam giác, nghiên cứu này đề xuất sử dụng kỹ thuật học máy Cụ thể, một mô hình phân lớp được xây dựng sử dụng các thuật toán học máy như CNN để phân loại kí hiệu được nhận dạng vào 7 nhóm dữ liệu khác nhau, gồm các kí hiệu cho đường thẳng không đánh dấu, đường thẳng có 1 đánh dấu, đường thẳng có 2 đánh dấu, đường thẳng có 3 đánh dấu, đường phân giác, góc thường và góc vuông Mô hình được thử nghiệm trên một tập dữ liệu mẫu rộng và được kiểm tra thông qua những chỉ số bao gồm độ chính xác, độ phủ và F1 - score để bảo đảm hiệu suất cùng độ tin tưởng của việc nhận diện Để kiểm tra sự tồn tại của trung điểm trên các cạnh, tính toán tọa độ trung điểm của mỗi cạnh và so sánh chúng với tọa độ các đỉnh Nếu tọa độ trung điểm trùng khớp với tọa độ của một đỉnh, xác định rằng trung điểm đó không tồn tại trên cạnh tương ứng Cuối cùng, để xác định loại tam giác, sử dụng các quy tắc và thuật toán kiểm tra góc và độ dài cạnh để xác định xem tam giác có phải là tam giác đều hay tam giác vuông
Phần tiếp theo sẽ mô tả chi tiết hơn các bước được trình bày ở trên
3.6.1 Phát hiện cạnh và đỉnh
Trong phạm vi nghiên cứu này, trước khi xác định các đỉnh của tam giác, luận văn cần thực hiện các phương pháp xử lý hình ảnh, nhằm tìm ra đường viền biểu thị các cạnh của tam giác Đầu tiên, luận văn áp dụng kỹ thuật Gaussian blur, đây là một phương pháp làm mờ ảnh, giúp loại bỏ nhiễu và tăng độ nét của các đường viền Tiếp theo, sử dụng phương pháp phổ biến trong xử lý ảnh là phát hiện cạnh Canny, để phát hiện các đường viền trong bản đồ cạnh (edge map) Các đường viền này được biểu thị là các cạnh của tam giác
3.6.1.1 Loại bỏ tam giác trùng lặp
Trong quá trình xác định tam giác, sau khi tìm thấy các đường viền, luận văn đã sử dụng các phương pháp xấp xỉ và tính toán diện tích của các hình bao quanh các đường viền đó Tiếp đến, các tam giác được xác định bằng cách áp dụng hai hàm quan trọng trong thư viện OpenCV, đó là hàm lấy giá trị ước lượng đỉnh của đa giác (approxPolyDP) và hàm tính diện tích đường viền (contourArea)
Dựa trên danh sách kết khi sử dụng hàm approxPolyDP, số lượng đỉnh cho mỗi đa giác được xác định, luận văn tiến hành thực hiện quá trình lọc các đa giác chứa tối thiểu là 3 đỉnh Lựa chọn số lượng đỉnh tối thiểu này vì ngoài việc tam giác được xác định bởi ba đỉnh, còn tồn tại một trường hợp đặc biệt khi các cạnh của tam giác không giao nhau, dẫn đến số lượng đỉnh lớn hơn ba Điều này làm nảy sinh một vấn đề về đa giác không phải là tam giác thực sự Vì vậy, để giải quyết vấn đề này, luận văn sẽ tiếp tục tiến hành sử dụng phương pháp tính khoảng cách tối thiểu giữa 2 đầu mút trên các cạnh ở phần 3.6.1.2
Sau khi có danh sách các tam giác, một hàm tiếp theo được dùng trong OpenCV là contourArea, nó sẽ tính toán và trả về diện tích của hình dựa trên các điểm tạo thành đa giác Bằng cách tiếp cận này, luận văn có thể xác định tam giác bằng cách đặt các ngưỡng diện tích quy định, để lựa chọn những đa giác có diện tích thỏa mãn yêu cầu tam giác Một ngưỡng diện tích tối thiểu được đặt cho tam giác là 1000-pixel, dựa trên kích thước ban đầu của hình ảnh là 256 x 256 Phương pháp này nhằm loại bỏ những tam giác có đường viền không rõ ràng hoặc không rõ nét, chỉ những tam giác có đường viền rõ ràng và diện tích đủ lớn được xem xét trong quá trình phân tích sẽ được lưu thông tin
Hơn nữa, trong quá trình lọc những tam giác có diện tích xấp xỉ nhau theo ngưỡng dưới lại xuất hiện những tam giác có diện tích xấp xỉ nhau trong khoảng kích thước cho phép Vì vậy, cách tốt nhất là chọn tam giác có kích thước lớn nhất trong danh sách tam giác xấp xỉ ấy, với ngưỡng quy định là 2000-pixel Quá trình này giúp luận văn có thể xác định chính xác các tam giác để tránh sự trùng lặp tên của các tam giác khi xác định đỉnh của chúng
Phần tiếp theo trình bày quá trình xác định tam giác dựa trên các thông tin được lưu trữ
3.6.1.2 Loại bỏ đỉnh trùng lặp
Trên thực tế, khi vẽ bằng tay, giữa các cạnh của tam giác có thể có một khoảng hở ngẫu nhiên Vì khoảng hở này không cố định, do vậy, luận văn đề xuất đặt ngưỡng giới hạn khoảng hở là 30 pixel Một ví dụ minh họa về khoảng hở giữa 2 đầu mút của 2 cạnh trong tam giác như hình 3.4:
Hình 3.4 Khoảng hở khi vẽ hình học bằng tay
Sử dụng công thức tính khoảng cách Euclid dựa trên định lý Py-ta-go và tính toán khoảng cách giữa hai điểm trên mặt phẳng sẽ giúp việc tính toán khoảng cách Euclid giữa hai điểm A và B có tọa độ (𝑥1, 𝑦1) và (𝑥2, 𝑦2) như sau:
Bước tiếp theo, luận văn cần thu thập thông tin và lưu lại hình ảnh của các tam giác đã được xác định, đây bước chuẩn bị cho quá trình tiếp theo trong việc xác định các đỉnh của tam giác
3.6.2.1 Thư viện nhận dạng kí tự bằng hình ảnh
Trong việc dự đoán kí tự từ hình ảnh, easyOCR và pytesseract là hai thư viện phổ biến và được sử dụng rộng rãi Tuy cùng có mục tiêu nhận dạng kí tự, nhưng hai thư viện này có một số khác biệt quan trọng về kết quả dự đoán và hiệu suất
EasyOCR là một thư viện dựa trên mạng nơ ron và được huấn luyện trước trên nhiều tập dữ liệu Nó hỗ trợ nhiều ngôn ngữ và có khả năng nhận dạng các kí tự từ các hình ảnh phức tạp Với mô hình huấn luyện mạnh mẽ, easyOCR thường cho kết quả dự đoán chính xác và đáng tin cậy Nó có khả năng nhận dạng kí tự trong các tình huống khó như nền ảnh phức tạp, kí tự nhỏ hoặc méo mó
Pytesseract, là một wrapper cho Tesseract OCR engine, một công cụ mã nguồn mở được phát hành bởi Google Nó cũng có khả năng nhận diện kí tự trên hình ảnh, tuy nhiên kết quả của nó sẽ chịu tác động từ những yếu tố về độ phân giải ảnh và chất lượng hình ảnh Đôi khi, Pytesseract sẽ gây trở ngại trong việc nhận diện kí tự đối với những tình huống khó, cụ thể là khi có nhiễu hoặc biến dạng trong ảnh
Tổng quan, easyOCR sẽ cung cấp kết quả dự báo kí tự tốt và chính xác hơn so với Pytesseract Tuy nhiên, điều này không đồng nghĩa với việc Pytesseract không hữu dụng Với các hình ảnh rõ ràng và chất lượng cao, Pytesseract hoàn toàn có thể cho kết quả dự báo tốt Trong luận văn này, easyOCR được sử dụng, tuy thời gian nhận dạng lâu hơn Pytesseract tuy nhiên kết quả đem lại nhanh hơn khá nhiều vì khớp với dữ liệu đã dùng trong luận văn này
3.6.2.2 Nhận dạng kí tự bằng easyOCR
Dựa vào các hình ảnh về tam giác đã tìm được trước đó, ảnh được đọc và chuyển đổi sang dạng grayscale để giảm số chiều dữ liệu Tiếp theo, một ngưỡng được áp dụng để chuyển đổi ảnh thành dạng đen trắng, với ngưỡng được lựa chọn dựa trên giá trị ngưỡng được chỉ định
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Giới thiệu
Chương 4 đi sâu đến việc thực hiện quá trình thử nghiệm và phân tích kết quả, nhằm trình bày những thông số tương quan với môi trường Google Colab và ML.NET Trước khi đi đến quá trình thực hiện thí nghiệm, luận văn sẽ giới thiệu một tổng quan về cấu hình của hai môi trường thử nghiệm trên tại phần 4.2 và 4.3, ứng với Google Colab và ML.NET Tiếp theo, trong phần 4.5, luận văn tiếp tục nghiên cứu thực nghiệm đối với sự chia dữ liệu trong những tập huấn luyện, tập thử nghiệm và tập đánh giá trước khi dùng dữ liệu vào các mô hình học máy Cuối cùng, trong phần này, kết quả nghiên cứu ở tất cả hai môi trường trên sẽ được thể hiện tại phần 4.6.
Thông số của Google Colab
Quá trình đào tạo và thử nghiệm đã thực hiện trên môi trường của Google Colab với GPU A100 - SXM4, có bộ nhớ lên tới 40 GB, hỗ trợ ngôn ngữ lập trình Python, thư viện Huggingface, framework Pytorch cùng một vài thư viện khác Thông tin chi tiết về cấu hình máy tính được thể hiện ở bảng 4.1 Chí phí sử dụng là khoảng 13 đơn vị tính toán cho mỗi giờ, tương đương $0.13 cho môi trường sử dụng GPU
Bảng 4.1 Thông số cấu hình máy tính trên Google Colab
Thông tin thiết bị Thông số
CPU Intel (R) Xeon (R) CPU @ 2.20GHz
Thông số của ML.NET
ML.NET là thư viện học máy mã nguồn mở trên NET Tính năng AutoML của ML.NET hỗ trợ quá trình đào tạo mô hình AutoML tìm và phân tích tất cả những mô hình này khác nhau, để giảm thời gian và cải thiện hiệu suất Bảng 4.2 dưới đây tóm tắt cấu hình thiết bị sử dụng huấn luyện tập dữ liệu kí hiệu hình học Chi phí ước tính cho tính năng ML.NET được tính dựa trên việc sử dụng mô hình trên một máy ảo với cấu hình Standard_NC6 là khoảng $0.9 trên một giờ sử dụng
Bảng 4.2 Thông số cấu hình máy tính trên ML.NET
Thông tin thiết bị Thông số
Tên máy tính Virtual machine sizeStandard_NC6
GPU 1 x NVIDIA Tesla K80 12GB SSD 380 GB disk
Với cấu hình được sử dụng để huấn luyện trong môi trường Google Colab, giá thành này cao hơn rất nhiều, với hơn $0.77 cho mỗi giờ hoạt động Tuy nhiên, từ một góc nhìn khác, giá thành này là hợp lý vì phải trả phí cho tính năng AutoML, giúp tìm kiếm một mô hình phù hợp với công việc một cách nhanh chóng và hiệu quả.
Thống kê và xử lý dữ liệu
Tập dữ liệu hình dạng hình học và kí hiệu hình học đã được phân chia thành ba tập khác nhau: tập kiểm tra, tập huấn luyện và tập kiểm thử Đối với tập huấn luyện và kiểm thử, sẽ được phân chia tuân theo tỉ lệ 80:20 Tập dữ liệu huấn luyện chứa tổng cộng 6181 hình ảnh, trong khi tập kiểm thử bao gồm 1546 hình ảnh thuộc 7 nhãn khác nhau Tổng cộng có 7727 hình ảnh, gồm 7 nhãn khác nhau Số lượng hình ảnh cho mỗi nhãn như sau:
- Đường thẳng: 710 mẫu (568 huấn luyện, 142 kiểm thử)
- Một dấu thăng: 946 mẫu (757 huấn luyện, 189 kiểm thử)
- Hai dấu thăng: 1104 mẫu (883 huấn luyện, 221 kiểm thử)
- Ba dấu thăng: 1333 mẫu (1066 huấn luyện, 267 kiểm thử)
- Góc vuông: 3127 mẫu (2501 huấn luyện, 626 kiểm thử)
- Đường phân giác: 167 mẫu (134 huấn luyện, 33 kiểm thử)
- Góc thường: 340 mẫu (272 huấn luyện, 68 kiểm thử)
Bảng 4.3 Thống kê số lượng trong tập dữ liệu huấn luyện và kiểm thử
Số thứ tự Nhãn Tập huấn luyện
Kết quả thực nghiệm
4.5.1 Mô hình phân lớp các dạng hình học
Hình 4.1 thể hiện biểu đồ độ chính xác và độ mất mát của tập huấn luyện và tập kiểm thử trong mô hình phân loại các hình dạng hình học từ epoch thứ 1 đến epoch thứ
Hình 4.1 Kết quả độ chính xác và độ lỗi của mô hình các dạng hình học
Trong giai đoạn từ epoch thứ 1 đến 9, độ chính xác trên tập huấn luyện tăng dần từ khoảng 60% lên đến gần 98%, đồng thời độ mất mát cũng giảm dần Trên tập kiểm thử, độ chính xác ban đầu tăng từ khoảng 55% lên khoảng 97%, và độ mất mát giảm theo quá trình huấn luyện
Bảng 4.4 trình bày kết quả các độ đo của dạng hình học, bao gồm Precision, Recall, F1-score và Support Trong trường hợp này, các độ đo Precision cho hình tròn, hình tam giác và hình vuông lần lượt là 0.99, 1.00 và 0.98, tương ứng Kết quả này cho thấy thuật toán có khả năng phân loại chính xác các hình học đáng chú ý, đạt được mức độ chính xác cao Kết quả cho thấy độ recall của hình tròn và hình vuông là 1.00, trong khi đó, hình tam giác đạt độ recall là 0.98 Điều này cho thấy thuật toán có khả năng nhận diện chính xác và bao phủ các hình tròn và hình vuông, tuy nhiên, có một số nhỏ các hình tam giác có thể bị nhầm lẫn Trong trường hợp ngược lại, F1 - score của hình tròn, hình tam giác và hình vuông lần lượt là 1.00, 0.99 và 0.99, cho thấy thuật toán có hiệu suất phân loại tuyệt vời với những hình học này Độ chính xác toàn bộ của thuật toán là 0.99, chỉ ra rằng thuật toán có khả năng phân loại chính xác 99% số lượng mẫu được kiểm tra Điều này biểu thị rằng thuật toán có khả năng phân loại chính xác các hình học
Bảng 4.4 Kết quả các độ đo của dạng hình học
Các trung bình macro và trung bình có trọng số được tính để đánh giá tổng quan hiệu suất phân loại của thuật toán Trung bình macro tính giá trị trung bình của các độ đo cho từng lớp, trong khi trung bình có trọng số tính giá trị trung bình dựa trên tỉ lệ mẫu của từng lớp Cả trung bình macro và trung bình có trọng số cho thấy hiệu suất phân loại cân bằng và tương tự cho các lớp hình học
4.5.2 Mô hình phân lớp các kí hiệu hình học
Trải qua 15 bước huấn luyện, kiểm thử và đánh giá tập dữ liệu trên môi trường của ML.NET, kết quả thu được được mô tả như bảng 4.5
Bảng 4.5 Độ mất mát và độ chính xác trong quá trình huấn luyện mô hình
Trong quá trình huấn luyện từ epoch 0 đến epoch 10, các giá trị mất mát (loss) và độ chính xác (accuracy) của mô hình học máy đã được lưu trữ sau mỗi epoch Tại epoch 0, mô hình được khởi đầu với một learning rate rất nhỏ là 6.25e-05 Kết quả đầu tiên cho thấy mất mát trung bình là 2.0369 và độ chính xác trung bình chỉ đạt 10.256% Điều này cho thấy mô hình còn khá chưa ổn định và chưa đạt được hiệu suất cao Tiếp theo, qua quá trình huấn luyện, tỉ lệ học được điều chỉnh và gia tăng theo các giá trị khác nhau Đồng thời, mất mát trung bình giảm dần và độ chính xác trung bình tăng dần Tại epoch 10, tỉ lệ học đã giảm xuống còn 0.004144818 , mất mát trung bình đã giảm xuống 0.1565 và độ chính xác trung bình đạt 92.308% Đây là kết quả cuối cùng của mô hình sau quá trình huấn luyện
Từ những kết quả này, có thể nhận thấy rằng mô hình đã trải qua sự cải thiện đáng kể qua các epoch Độ mất mát trung bình đã giảm và độ chính xác trung bình đã tăng theo thời gian, cho thấy sự hội tụ của mô hình đến một kết quả tốt hơn Đáng chú ý, xu hướng này đặc biệt rõ ràng từ epoch thứ 7 đến epoch thứ 10, khi mà giá trị độ mất mát giảm và độ chính xác tăng mạnh Hình 4.2 thể hiện trực quan kết quả trong bảng trên
Hình 4.2 Kết quả độ lỗi và độ chính xác của mô hình DNN+ResNeXt-50
Số lượng epoch khi huấn luyện khá ít vì mô hình AutoML đã giảm thiểu thời gian huấn luyện mô hình bằng hàm dừng sớm (early stopping), nghĩa là khi mỗi 5 epoch liên tiếp kết quả của mô hình sẽ được kiểm tra và đánh giá, nếu kết quả trung bình của
5 epoch đầu tiên lớn hơn kết quả trung bình của 5 epoch tiếp theo, quá trình huấn luyện được dừng lại Nhờ vậy thời gian huấn luyện và kiểm tra mô hình tiết kiệm khá nhiều thời gian
Ma trận nhầm lẫn của mô hình DNN+ ResNeXt-50 là một ma trận vuông có kích thước 7x7, với mỗi hàng và cột đại diện cho một nhãn cụ thể của bài toán phân loại Mô hình này được hiển thị trên 7 nhãn khác nhau, được sắp xếp từ 1 – 7 theo thứ tự là đường phân giác, góc vuông, none_hash_mark (đường thẳng không có kí hiệu), one_degree (kí hiệu góc), one_hash_marks (đường thẳng có một kí hiệu), three_hash_marks (đường thẳng có ba kí hiệu) và two_hash_marks (đường thẳng có 2 kí hiệu)
Hình 4.3 Ma trận nhầm lẫn của mô hình DNN+ResNeXt-50
Kết quả ma trận nhầm lẫn hiển thị số lượng hình ảnh dự đoán chính xác cho mỗi nhãn như sau:
- Nhãn 1: Có 26 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
- Nhãn 2: Có 611 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
- Nhãn 3: Có 153 điểm dữ liệu được dự đoán đúng và có 1 điểm thuộc lớp này bị dự đoán sai là thuộc lớp khác
- Nhãn 4: Có 67 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
- Nhãn 5: Có 212 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
- Nhãn 6: Có 254 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
- Nhãn 7: Có 222 điểm dữ liệu được dự đoán đúng và không có điểm nào được dự đoán sai
Dựa vào kết quả của ma trận trên có thể tính toán được độ chính xác, độ chuẩn xác và độ bao phủ cho từng nhãn được thể hiện qua bảng sau:
Bảng 4.6 Bảng kết quả độ chính xác, độ bao phủ, độ chuẩn xác và điểm F1
Nhãn Độ chính xác Độ bao phủ Độ chuẩn xác Điểm F1
Trung bình độ chính xác của mô hình là 0.999, tức mô hình chính xác 99.9% đối với quá trình phân tích dữ liệu Trung bình recall đạt 0.998, nghĩa là mô hình có thể chính xác đến mức 99.8% đối với việc phân loại những dữ liệu theo từng lớp cụ thể Trung bình precision đạt 1.000, nghĩa là mô hình có độ chính xác cao 100% trong việc phân loại những dữ liệu theo các lớp nhất định Và trung bình F1 - score đạt 99.9%, cho biết mô hình có hiệu suất cao và đáng tin tưởng đối với việc phân chia từng điểm dữ liệu thành các lớp tương ứng
Thử nghiệm thực tế trên hình ảnh vẽ tay như hình 4.4, luận văn đã đưa ra được câu suy luận phù hợp dựa vào các bước thực hiện sau đây:
Hình 4.4 Hình học tam giác được vẽ tay
• Bước 1: Thông qua việc thực nghiệm trên hình ảnh vẽ tay ở trên, mô hình phân lớp đã cho ra kết quả cao nhất là tam giác
• Bước 2: Xác định toạ độ của mỗi đỉnh và cạnh của hai tam giác theo các bước được trình bày ở mục 3.6.1 và 3.6.2
Hình 4.5 Hình tam giác thứ 1 và tam giác thứ 2
Số lượng hình học tam giác thứ nhất và thứ hai được lần lượt được phân tách như hình 4.5
Hình 4.6 Đỉnh A, B và C của tam giác ABC
Kết quả xác định được tên tam giác thứ nhất là ABC (Hình 4.6) và tên tam giác thứ hai là AMN (Hình 4.7), dựa trên địa chỉ toạ độ đỉnh và trích xuất ROI dựa trên tọa độ đỉnh của tam giác
Hình 4.7 Đỉnh A, M và N của tam giác AMN
• Bước 3: Tiếp theo luận văn sẽ phân loại tam giác theo một trong các loại sau: tam giác cân, tam giác đều, tam giác vuông và tam giác thường Luận văn sử dụng kí hiệu hình học như đỉnh và cạnh xuất hiện trong hình 4.6 và 4.7 để xác định các tam giác này thuộc loại tam giác nào Ví dụ trong hình 4.6, góc thứ
1 của đỉnh A, góc thứ 2 của đỉnh B, góc thứ 3 của đỉnh C
Hình 4.8 Các góc của tam giác ABC o Bước 3.1: Khi xét góc tại các đỉnh của tam giác (Hình 4.8), không tìm thấy kí hiệu hình học nào Nói cách khác, khi phân lớp kí hiệu hình học, những góc này thuộc lớp đường thẳng không có kí hiệu Do vậy, tam giác ABC được xác định là tam giác thường
Đánh giá
Trong nghiên cứu này, luận văn tập trung vào việc áp dụng mô hình mạng nơ ron tích chập ResNeXt-50, một trong những kiến trúc CNN tiên tiến, kết hợp cùng với thư viện OpenCV để nhận dạng và phân loại các đối tượng hình học Mô hình tích chập này nổi bật với khả năng xử lý sâu và phức tạp, giúp nắm bắt được các đặc điểm chi tiết và phức tạp của hình ảnh một cách hiệu quả Điều này là cần thiết đối với việc nhận diện các hình học có cấu trúc và đặc điểm đa dạng
Một phần quan trọng khác của nghiên cứu là sử dụng OpenCV, một thư viện xử lý hình ảnh mạnh mẽ, để tiền xử lý và chuẩn bị dữ liệu trước khi đưa vào mô hình ResNeXt-50 OpenCV hỗ trợ phân tích tam giác và các ký hiệu hình học dựa trên quá trình loại bỏ nhiễu, và chuẩn hóa dữ liệu, từ đó giúp câu suy luận trở nên chính xác hơn
Trong nghiên cứu này, tập dữ liệu được sử dụng bao gồm một loạt các hình ảnh đa dạng, chủ yếu tập trung vào các hình học cơ bản như tam giác, hình vuông và hình tròn, cùng với các biến thể phức tạp hơn như tam giác cân và tam giác đều
Mỗi hình học được cẩn thận chọn lựa và gán nhãn với các đặc điểm kỹ thuật chi tiết để đảm bảo rằng mô hình học máy có thể không chỉ nhận dạng mà còn phân biệt chính xác giữa các loại hình khác nhau Tập dữ liệu chỉ dừng ở mức xây dựng các góc và cạnh tam giác một cách ngẫu nhiên Do vậy, để xác định chính xác tam giác đó thuộc loại tam giác nào ví dụ như tam giác cân hay tam giác đều, … luận văn cần dùng OpenCV phân tích vào các yếu tố về góc và kí hiệu có trên hình.