Tải bản đầy đủ (.pdf) (69 trang)

mô hình phân lớp hiệu quả cho giám sát ngoại quan ứng dụng cho quản lý chất lượng sản phẩm trong sản xuất công nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.56 MB, 69 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>THÁI TIỂU PHƯƠNG</b>

<b>MƠ HÌNH PHÂN LỚP HIỆU QUẢCHO GIÁM SÁT NGOẠI QUAN</b>

<b>ỨNG DỤNG CHO QUẢN LÝ CHẤT LƯỢNGSẢN PHẨM TRONG SẢN XUẤT CÔNG NGHIỆP</b>

Chuyên ngành: KHOA HỌC MÁY TÍNHMã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 1 năm 2024

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Cán bộ hướng dẫn khoa học: PGS.TS. Lê Hồng Trang

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khiluận văn đã được sửa chữa (nếu có).

<b>KỸ THUẬT MÁY TÍNH</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b> </b>

<b>NHIỆM VỤ LUẬN VĂN THẠC SĨ </b>

Họ tên học viên: THÁI TIỂU PHƯƠNG MSHV: 2170560 Ngày, tháng, năm sinh: 14/01/1999 Nơi sinh: Phú Yên Chuyên ngành: Khoa học Máy tính Mã số: 8480101

<b>II. NHIỆM VỤ VÀ NỘI DUNG: </b>

- Tìm hiểu các cơng trình liên quan của bài tốn nhận dạng lỗi bề mặt dựa trên học sâu và các phương pháp giải quyết hạn chế của những cơng trình này.

- Nghiên cứu và đề xuất xây dựng mô hình biểu diễn đặc trưng tốt cho phân loại lớp với ít dữ liệu huấn luyện, dựa trên phương pháp học biểu diễn tự giám sát và tăng cường dữ liệu. Kết hợp hiệu quả các hàm mất mát trong q trình huấn luyện để cải thiện độ chính xác phân loại.

- Thực nghiệm, đánh giá các kết quả của mơ hình đề xuất trên các tập dữ liệu.

<b>III. NGÀY GIAO NHIỆM VỤ: 06/02/2023. </b>

<b>IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 10/12/2023. </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

LỜI CẢM ƠN

Đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến PGS. TS. Lê Hồng Trang, thầy đã giúp đỡtơi trong q trình chuẩn bị đề cương và thực hiện luận văn trong suốt năm học vừa qua. Xincảm ơn sự hướng dẫn tận tình của thầy, chính nhờ những kiến thức và kinh nghiệm nghiên cứumà thầy truyền đạt đã giúp tơi có được cái nhìn tổng quan về đề tài, định hướng đúng đắn vàhoàn thành luận văn này.

Xin gửi lời cảm ơn đến các thầy cô trường Đại học Bách Khoa Thành phố Hồ Chí Minh, đặcbiệt là các thầy cơ bộ mơn trong khoa Khoa học và Kỹ thuật Máy tính đã truyền đạt những kiếnthức vơ cũng q giá và bổ ích, hỗ trợ rất lớn cho em có thể hồn thành luận văn tốt nghiệp này.Cuối cùng, tôi xin cảm ơn gia đình, người thân, bạn bè, những người đã giúp đỡ, hỗ trợ tơi hếtmình trong suốt thời gian tham gia chương trình bậc Cao học.

T<small>ÁC GIẢ</small>.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

TÓM TẮT LUẬN VĂN

Giám sát ngoại quan trong việc quản lý chất lượng sản phẩm hầu hết được thực hiện thủ cơng,điều này gây lãng phí đáng kể về nguồn nhân lực và thời gian. Hiện nay, các hệ thống tự độngnhận diện khuyết điểm bề mặt đang nhận được nhiều sự chú ý trong ngành sản xuất công nghiệp,đồng thời các kỹ thuật học sâu cũng được ứng dụng để giải quyết bài toán này do độ phức tạp củacác khuyết điểm. Tuy nhiên, khi triển khai vào thực tế, các mơ hình này thường gặp thách thứclớn là thiếu hụt dữ liệu. Do đó, đề tài này là một nỗ lực nhằm xây dựng một mơ hình phân loạihình ảnh lỗi bề mặt sản phẩm hiệu quả sử dụng học sâu và khắc phục các vấn đề liên quan đếndữ liệu. Luận văn sẽ trình bày các cơng trình liên quan đến bài tốn nhận dạng lỗi và giới thiệucác nghiên cứu nổi bật của phương pháp Self-Supervised Learning và Representation Learning.Từ đó, chúng tơi kết hợp những ưu điểm của chúng để đề xuất một mơ hình gồm nhiều khối tốiưu giúp cải thiện khả năng phân loại lớp của các vec-tơ biểu diễn ảnh từ lượng ít thơng tin cógiám sát. Chúng tơi thiết kế các thực nghiệm với nhiều cài đặt khác nhau trên các tập dữ liệuảnh lỗi để đánh giá hiệu suất của mơ hình phân loại. Qua đó, cho thấy mơ hình này có tiềm năngđể triển khai sử dụng trong thực tế, hỗ trợ các công nhân đưa ra các suy luận về chất lượng sảnphẩm nhanh hơn dựa trên dữ liệu hình ảnh.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

ABSTRACT OF THESIS

Visual inspection in quality control is mostly conducted manually, resulting in significant wasteof labor and time resources. Currently, automated inspection systems for surface defect recog-nition are gaining considerable attention in the industrial manufacturing sector. Concurrently,deep learning techniques are also being applied to address this issue due to the complexity ofdefect features. However, when deployed in practice, these models often face a significant chal-lenge, which is training data scarcity. Therefore, this thesis represents an endeavor to constructan efficient image classification model for surface defects using deep learning and address thedata-related issues. The dissertation will review related works in the field of defect recognition,introducing prominent research on the Self-Supervised Learning and Representation Learningmethods. Subsequently, we integrate the advantages of these approaches to propose a modelconsisting of multiple optimized blocks to enhance the classification capability of image rep-resentations from limited supervised information. We design experiments with various settingson public defect datasets to evaluate the classification performance. The results demonstrate thepotential of deploying this model in practice, facilitating faster quality inferences by workersbased on image data.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài luận văn tốt nghiệp: "MƠ HÌNH PHÂN LỚP HIỆU QUẢ CHO GIÁMSÁT NGOẠI QUAN, ỨNG DỤNG CHO QUẢN LÝ CHẤT LƯỢNG SẢN PHẨM TRONGSẢN XUẤT CƠNG NGHIỆP" là cơng trình nghiên cứu do chính tơi thực hiện dưới sự hướngdẫn của PGS. TS. Lê Hồng Trang. Ngoại trừ các kết quả và mơ hình tham khảo từ các cơngtrình khác có liên quan đã được trích dẫn và chú thích rõ trong phần tài liệu tham khảo, nộidung nghiên cứu này là trung thực và chưa có phần nội dung nào được nộp để lấy bằng cấp ởmột trường khác. Các số liệu, kết quả trình bày trong luận văn là hồn tồn trung thực, nếu cósai sót tơi xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra.

TP. HCM, ngày 28 tháng 12 năm 2023.

Thái Tiểu Phương

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

2.2 Mạng nơ-ron tích chập (CNN – Convolutional Neural Networks) . . . . 5

2.3 Học chuyển tiếp (Transfer learning) . . . . 6

2.4 Kiến trúc mạng VGG19 và ResNet-50 . . . . 7

2.4.1 VGG19 . . . . 7

2.4.2 ResNet-50 . . . . 8

2.5 Phương pháp Few-Shot Learning và mơ hình Siamese . . . . 10

2.5.1 Phương pháp Few-Shot Learning (FSL) . . . . 10

2.5.2 Mơ hình Siamese Neural Network (SNN) . . . . 10

<b>Chương 3CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN13</b>3.1 Nhận dạng lỗi bề mặt dựa trên học sâu . . . . 14

3.2 Phương pháp học biểu diễn . . . . 16

3.2.1 Học biểu diễn (Representation Learning) . . . . 16

3.2.2 SimCLR: A Simple Framework for Contrastive Learning of Visual resentation . . . . 17

Rep-3.2.3 ArcFace: Additive Angular Margin Loss for Deep Face Recognition . . 20

<b>Chương 4CẢI THIỆN BIỂU DIỄN ẢNH CHO VIỆC NHẬN DẠNG LỖI BỀ MẶT 23</b>4.1 Tổng quan phương pháp . . . . 24

4.2 Mô-đun Self-Contrastive Learning (SCL) . . . . 25

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

4.3 Mô-đun Angular Margin Penalty (AMP) . . . . 27

4.4 Tối ưu hóa mơ hình . . . . 28

<b>Chương 5THỰC NGHIỆM29</b>5.1 Tập dữ liệu . . . . 30

5.1.1 Tập dữ liệu NEU [12] . . . . 30

5.1.2 Tập dữ liệu MixedWM38 [13] . . . . 31

5.2 Hiện thực phương pháp . . . . 32

5.3 Kết quả thực nghiệm . . . . 33

5.3.1 Thí nghiệm trên NEU . . . . 33

5.3.2 Thí nghiệm trên MixedWM38 . . . . 35

5.3.3 Thảo luận các kết quả . . . . 38

<b>Chương 6TỔNG KẾT40</b>6.1 Các kết quả đạt được . . . . 41

6.2 Các hạn chế . . . . 41

6.3 Hướng phát triển trong tương lai . . . . 42

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

2.1 So sánh giữa học máy truyền thống và transfer learning . . . . 7

2.2 Biểu diễn kiến trúc mạng của VGG19 . . . . 8

2.3 Cộng trực tiếp đầu vào của khối với nhánh còn lại trong khối Identity block. . . 9

2.4 Kiến trúc tóm tắt của mạng ResNet-50. . . . 9

2.5 Cơ chế của Few-Shot Learning . . . . 10

2.6 Mơ hình Siamese Neural Network . . . . 11

3.1 Mẫu Normal (cột 1) và Mẫu Defect (cột 2–6) của tập dữ liệu MVTec AD [15] . 153.2 Kiến trúc của SimCLR . . . . 18

3.3 Các biến đổi tăng cường dữ liệu . . . . 18

3.4 Giải thuật học của SimCLR . . . . 19

3.5 Độ chính xác trên tập ImageNet của các model huấn luyện bởi ít dữ liệu gán nhãn 203.6 Huấn luyện DCNN cho nhận diện khuôn mặt sử dụng ArcFace loss. . . 21

3.7 Mã giả giải thuật của ArcFace trên MxNet. . . . 22

3.8 Kết quả phân tách đặc trưng của Softmax và ArcFace. . . . 22

4.1 Mơ hình đề xuất . . . . 25

4.2 Mơ-đun Self-Contrastive Learning (SCL) . . . . 26

4.3 Một ví dụ về sampling dữ liệu ảnh trong một mini-batch . . . . 27

4.4 Mô-đun Angular Margin Penalty (AMP) . . . . 28

5.1 Bộ dữ liệu NEU Surface Defect . . . . 30

5.2 Bộ dữ liệu MixedWM38 . . . . 31

5.3 Trực quan hóa Grad-CAM các bản đồ đặc trưng tạo bởi ResNet-50 và mơ hìnhđề xuất (đều được huấn luyện chỉ với 10 ảnh mỗi lớp) trên các mẫu của 6 loạikhuyết điểm trong tập NEU. . . 34

5.4 Trực quan hóa Grad-CAM các bản đồ đặc trưng tạo bởi mơ hình đề xuất (đượchuấn luyện với 50 ảnh cho mỗi trong tổng cộng 38 lớp) trên một vài mẫu của 4nhóm lỗi trong tập MixedWM38. . . . 38

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

5.1 Các siêu tham số được sử dụng để huấn luyện mơ hình. . . . 32

5.2 Kết quả so sánh độ chính xác phân loại trên tập NEU. . . . 35

5.3 Kết quả các thí nghiệm ít dữ liệu trên tập NEU. . . 35

5.4 Kết quả Few-Shot Classifition trên tập NEU. . . . 36

5.5 Kết quả các thí nghiệm ít dữ liệu trên tập MixedWM38. . . . 36

5.6 Kết quả so sánh độ chính xác phân loại trên từng lớp của 38 loại defect trong tậpMixedWM38 (với 80% dữ liệu huấn luyện). . . . 37

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<i>Danh sách dưới đây liệt kê các chữ cái viết tắt sẽ được sử dụng về sau trong nội dung cuốn luậnvăn này.</i>

ArcFace Additive Angular Margin Loss for Deep Face RecognitionArcLoss Additive Angular Margin Loss

CNN Convolutional Neural Network

CV PR Computer Vision and Pattern Recognition ConferenceFSL Few-Shot Learning

ICML International Conference on Machine Learning

SimCLR A Simple Framework for Contrastive Learning of Visual RepresentationSNN Siamese Neural Network

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>1.1Giới thiệu đề tài</b>

Việc phát hiện và nhận dạng khuyết điểm bề mặt (Surface defect detection) đóng vai trị quantrọng trong khâu quản lý chất lượng sản phẩm của nhiều ngành công nghiệp khác nhau như sảnxuất nguyên vật liệu, sản xuất vải, và điện tử. Thơng thường, q trình giám sát ngoại quan nàyđược thực hiện hồn tồn thủ cơng, điều này khá tốn thời gian và cần nhiều nhân công. Hơnnữa, việc nhận dạng các khuyết tật còn dựa trên đánh giá chủ quan của con người và được diễnra trong môi trường công nghiệp khắc nghiệt với tiếng ồn, nhiệt độ và độ ẩm khác nhau. Vì vậy,nhu cầu xây dựng một hệ thống kiểm tra khuyết điểm tự động là vô cùng cần thiết.

Kiểm tra khuyết điểm dựa trên quan sát hình ảnh có thể được phân loại thành hai phươngpháp: các phương pháp xử lý ảnh truyền thống và phương pháp học sâu. Phương pháp đầu ápdụng các kỹ thuật xử lý ảnh để biến đổi và mô tả các đặc trưng của khuyết điểm cho từng bàitoán nhận dạng lỗi cụ thể. Phương pháp này chỉ hữu ích khi các lớp khuyết điểm được phân biệtrõ ràng và các đặc trưng của khuyết điểm trong cùng một lớp phải giữ ngun tính nhất qn,do đó có khả năng thích ứng kém. Ngược lại, với tiếp cận học sâu, các mơ hình có thể tríchxuất được đặc trưng sâu của hình ảnh các loại khuyết điểm phức tạp thơng qua tốn tử tích chập(convolution) và cơ chế chú ý (attention). Chúng có khả năng khái quát hóa các đặc điểm quantrọng để phân biệt lớp mà không cần các quy tắc trích xuất đặc trưng do con người thiết kế, dođó có thể được thiết kế như một framework end-to-end để tích hợp vào các hệ thống kiểm tra tựđộng.

Việc áp dụng trực tiếp các mạng nơ-ron học sâu đòi hỏi một lượng lớn dữ liệu huấn luyện đãđược gán nhãn để điều chỉnh các tham số và tránh hiện tượng over-fitting. Tuy nhiên, trong cáckịch bản cơng nghiệp, chỉ có một số ít hoặc vài chục hình ảnh bề mặt khiếm khuyết có thể đượccung cấp, đặt ra thách thức của dữ liệu nhỏ. Một vấn đề khác là độ trễ của các mơ hình có kíchthước lớn khi triển khai trên các ứng dụng thời gian thực. Để khắc phục được tình trạng q ítdữ liệu ảnh lỗi, luận văn này sẽ đề xuất một phương pháp huấn luyện mơ hình học sâu để cảithiện biểu diễn hình ảnh cho việc nhận diện khuyết điểm bề mặt. Chúng tôi lựa chọn phươngpháp học biểu diễn để giải quyết vấn đề dữ liệu nhỏ, dựa trên khả năng của nó trong việc họcbiểu diễn đặc trưng tốt hơn cho phân loại lớp. Từ đó, có thể xây dựng được một mơ hình tậndụng được lượng rất ít thơng tin có giám sát được huấn luyện kết hợp với các hàm mất mát hiệuquả để tối ưu các biểu diễn đặc trưng, giúp cho việc phân loại trở nên chính xác hơn.

<b>1.2Mục tiêu và phạm vi đề tài</b>

Mục tiêu của luận văn hướng đến việc nghiên cứu và xây dựng một Mơ hình phân lớp hiệuquả cho giám sát ngoại quan, ứng dụng cho quản lý chất lượng sản phẩm trong sản xuất côngnghiệp. Cụ thể, với điều kiện số lượng dữ liệu hình ảnh lỗi hạn chế, luận văn cần thực hiện cáccông việc sau để hồn thành mục tiêu:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

• Hiểu và sử dụng được các mơ hình học sâu trong thị giác máy tính. Tìm hiểu các cơngtrình liên quan của bài toán nhận dạng lỗi bề mặt dựa trên học sâu và các phương phápgiải quyết hạn chế của những cơng trình này.

• Nghiên cứu và đề xuất xây dựng mơ hình biểu diễn đặc trưng tốt cho phân loại lớp vớiít dữ liệu huấn luyện, dựa trên phương pháp học biểu diễn tự giám sát và tăng cường dữliệu.

• Kết hợp hiệu quả các hàm mất mát Contrastive Loss và Arc Loss trong quá trình huấnluyện để cải thiện độ chính xác phân loại.

• Thực nghiệm, đánh giá các kết quả của mơ hình đề xuất trên các tập dữ liệu được sử dụngtrong các cơng trình khoa học để chứng minh hiệu suất và tính tổng quát của phươngpháp. Đề xuất các giải pháp mở rộng bài toán trong tương lai.

<b>1.3Cấu trúc luận văn</b>

Luận văn bao gồm sáu chương với các nội dung chính như sau:

<b>Chương 1. Tổng quan. Trong chương này, chúng tôi xin giới thiệu tổng quan về nội dung đề tài</b>

và ý nghĩa thực tiễn của bài toán, cũng như mục tiêu, phạm vi và cấu trúc của luận văn.

<b>Chương 2. Kiến thức nền tảng. Trong chương này, chúng tơi sẽ trình bày những kiến thức nền</b>

tảng được sử dụng để giải quyết bài toán, tập trung chủ yếu vào nội dung của học sâu và một sốphương pháp học với ít dữ liệu.

<b>Chương 3. Cơng trình nghiên cứu liên quan. Trong chương này, chúng tơi sẽ trình bày một</b>

số nghiên cứu liên quan của bài toán nhận dạng lỗi bề mặt sản phẩm trong công nghiệp. Phầnnày cũng bàn luận về phương pháp học biểu diễn sẽ được áp dụng vào mơ hình đề xuất của luậnvăn.

<b>Chương 4. Phương pháp đề xuất. Trong chương này, chúng tôi sẽ mô tả phương pháp và 2</b>

mô-đun đề xuất giúp cải thiện biểu diễn đặc trưng với ít dữ liệu để xây dựng mơ hình phân loạilỗi bề mặt hiệu quả.

<b>Chương 5. Thực nghiệm. Trong chương này, chúng tôi mô tả các tập dữ liệu được thử nghiệm,</b>

phần hiện thực mơ hình đã đề xuất và các kết quả thực nghiệm.

<b>Chương 6. Tổng kết. Trong chương này, chúng tôi xin tổng kết các kết quả đã đạt được trong</b>

quá trình thực hiện luận văn. Phần này cũng trình bày những hạn chế và đề xuất các giải phápcải tiến mơ hình trong tương lai.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

2.1 Học sâu và đặc trưng sâu . . . . <b>5</b>

2.2 Mạng nơ-ron tích chập (CNN – Convolutional Neural Networks) . . . . <b>5</b>

2.3 Học chuyển tiếp (Transfer learning) . . . . <b>6</b>

2.4 Kiến trúc mạng VGG19 và ResNet-50 . . . . <b>7</b>

2.5 Phương pháp Few-Shot Learning và mơ hình Siamese . . . . <b>10</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>2.1Học sâu và đặc trưng sâu</b>

Đặc trưng sâu là phản hồi nhất quán của một nút hoặc lớp trong mơ hình phân cấp với đầu vàocung cấp phản hồi có liên quan đến đầu ra cuối cùng của mơ hình. Một đặc trưng được coi là“sâu hơn” so với một đặc trưng khác tùy thuộc vào mức độ kích hoạt sớm trong cây quyết địnhhoặc các bộ phân loại khác.

Trong mạng nơ-ron được thiết kế để phân loại hình ảnh, nó được đào tạo trên một tập hợp cáchình ảnh tự nhiên và học các bộ lọc (đặc trưng), chẳng hạn như bộ phát hiện đường viền và cạnhhình ảnh từ các lớp trước đó. Các lớp “sâu hơn” có thể phản hồi và tạo các bộ lọc đặc trưng củariêng mình cho các mẫu phức tạp hơn ở đầu vào, chẳng hạn như kết cấu, hình dạng hoặc biếnthể của các đặc trưng được xử lý trước đó.

Vì vậy, mặc dù một mạng được đào tạo thơng thường có các nút lọc có thể xác định một đặcđiểm cụ thể chẳng hạn như khuôn mặt, chúng sẽ không thể phân biệt được sự khác biệt giữa mộtkhn mặt và bất kỳ vật thể trịn nào tương tự. Tuy nhiên, phản hồi từ một lớp sâu hơn trong hệthống phân cấp của thuật tốn đóng vai trị như một bộ lọc đặc trưng mà mơ hình có thể sử dụngđể không chỉ phân biệt khuôn mặt với các hình ảnh khơng phải khn mặt mà cịn tạo bộ phânloại mới trong q trình phân loại.

<b>2.2Mạng nơ-ron tích chập (CNN – Convolutional Neural works)</b>

Net-Convolutional Neural Network (CNN) là một kiến trúc mạng nơ-ron có khả năng nhận ra vàphân loại các đặc trưng của hình ảnh trong thị giác máy tính. Bản chất dữ liệu kiểu hình ảnh lànhững điểm gần nhau thường có liên hệ nhiều hơn so với những điểm xa hơn. CNN rất phù hợpvới dạng bài tốn này. Nó là một mạng nơ-ron nhiều lớp được thiết kế để phân tích những đầuvào thị giác và thực hiện các tác vụ như phân lớp hình ảnh, phân loại và phát hiện vật thể. CNNđược sử dụng cho các ứng dụng học sâu trong lĩnh vực chăm sóc sức khỏe, chẳng hạn như phântích hình ảnh y tế.

Có hai thành phần chính đối với một CNN:

• Một cơng cụ tích chập để phân tách những đặc trưng của hình ảnh phân tích.

• Một lớp được kết nối đầy đủ sử dụng đầu ra của tầng tích chập để dự đốn những mơ tảchính xác nhất của hình ảnh

Kiến trúc mạng nơ-ron cơ bản: Kiến trúc mạng nơ-ron được lấy cảm ứng từ phương thức tổ chứcvà chức năng của vỏ não thị giác và được thiết kế để bắt chước mơ hình kết nối của các tế bàothần kinh trong não người. Các tế bào thần kinh trong CNN được chia thành một cấu trúc ba

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

chiều, với mỗi tập hợp nơ-ron phân tích một vùng nhỏ hoặc đặc trưng của hình ảnh. Nói cáchkhác, mỗi nhóm tế bào thần kinh chuyên nhận dạng một phần của bức ảnh. CNN sử dụng nhữngdự đoán từ các tầng và cho ra kết quả cuối cùng biểu diễn một vectơ của những điểm xác suấtđể thể hiện khả năng mà một đặc trưng cụ thể thuộc về một lớp nhất định.

Một CNN bao gồm các tầng chính:

• Tầng tích chập: tạo ra một bản đồ đặc trưng để dự đoán xác suất thuộc lớp cho từng đặctrưng bằng cách áp dụng một bộ lọc qt tồn bộ hình ảnh, một vài pixel cùng lúc.• Tầng gộp: điều chỉnh lượng thơng tin mà tầng tích chập tạo ra cho từng đặc trưng và duy

trì những thơng tin quan trọng nhất (q trình của tầng tích chập và tầng gộp thường lặplại nhiều lần)

• Tầng input được kết nối đầy đủ: làm phẳng các đầu ra được tạo ra ở những tầng trước đểchuyển chúng thành một vectơ đơn để có thể sử dụng làm đầu vào cho tầng kế tiếp.• Tầng được kết nối đầy đủ: áo dụng các trọng số lên đầu vào được tạo ra bởi phân tích đặc

<b>2.3Học chuyển tiếp (Transfer learning)</b>

Một quan niệm sai lầm phổ biến trong học sâu là nếu khơng có lượng dữ liệu đủ lớn thì khơngthể tạo ra các mơ hình học sâu hiệu quả. Mặc dù dữ liệu đóng vai trị quan trọng trong việc huấnluyện các mạng, nhưng ý tưởng về transfer learning đã làm giảm bớt nhu cầu về dữ liệu. Hình2.1 cho thấy sự khác biệt giữa phương pháp học máy truyền thống và cách tiếp cận học sâu dựavào transfer learning.

Transfer learning là việc ứng dụng kỹ năng/tri thức học được từ vấn đề này (source domain - Ds)với ứng dụng này (source task - Ts) sang vấn đề khác (target domain - Dt) với ứng dụng khác(target task - Tt) có liên quan. Transfer learning giúp cải thiện việc học hàm ft cho ứng dụng Tttrên miền Dt.

Transfer learning là q trình lấy một mơ hình được huấn luyện trước pre-trained model (cáctrọng số và tham số của một mạng được huấn luyện trên một tập dữ liệu lớn) và tinh chỉnh

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>Hình 2.1: So sánh giữa học máy truyền thống và transfer learning</b>

(fine-tuning) mơ hình với tập dữ liệu nhỏ. Ý tưởng là pre-trained model sẽ hoạt động như mộtbộ trích xuất đặc trưng. Thơng thường, lớp cuối cùng của mạng bằng bộ phân lớp phù hợp (tùythuộc vào số lớp của bài toán).

Simonyan và Zisserman trong [1] của Đại học Oxford đã tạo ra CNN 19 tầng (16 tầng tích chậpvà 3 tầng được kết nối đầy đủ), sử dụng bộ lọc 3x3 với sải bước và đệm là 1, cùng với các tầnggộp tối đa với sải bước 2, được gọi là mơ hình VGG19 (đặt theo tên nhóm Visual GeometryGroup của Đại học Oxford). So với AlexNet, VGG19 là một mạng tích chập sâu hơn với nhiềutầng hơn. Để giảm số lượng thông số trong các mạng sâu, nó sử dụng những bộ lọc 3x3 trong tấtcả các tầng tích chập và được sử dụng tốt nhất với tỷ lệ lỗi 7.3%. Mô hình VGG19 là một trongnhững nghiên cứu có ảnh hưởng nhất vì nó củng cố quan điểm rằng CNN phải có một mạng cáclớp sâu để thể hiện phân cấp của dữ liệu trực quan có thể hoạt động. Sâu và đơn giản.

Mơ hình VGG19 với tổng cộng 138 triệu tham số được huấn luyện trên một tập con của cơ sởdữ liệu ImageNet. VGG19 được huấn luyện trên hơn một triệu hình ảnh với 1000 vật thể khácnhau, ví dụ bàn phím, chuột, bút chì và nhiều lồi động vật. Kết quả là, mơ hình đã học đượcmột lượng biểu diễn đặc trưng phong phú cho nhiều loại hình ảnh.

Hàm ReLU được sử dụng làm hàm kích hoạt. Với x là biến độc lập, hàm có cơng thức như sau:

ReLU(x) =

0x với x < 0xx với x ≤ 0= max (0, x)

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Hình 2.2: Biểu diễn kiến trúc mạng của VGG19 (conv = tích chập, FC = kết nối đầy đủ)</b>

So với các hàm kích hoạt khác (tanh và sigmoid), ReLU có những ưu điểm sau: Đối với cáchàm tuyến tính, ReLU thể hiện rõ hơn, đặc biệt là trong các mạng học sâu; đối với các hàm phituyến, vì gradient của ReLU khơng thay đổi trong khoảng không âm nên không xảy ra vấn đềgradient biến mất, điều này giữ cho tốc độ hội tụ của mơ hình ở trạng thái ổn định.

ResNet [2] là kiến trúc được sử dụng phổ biến nhất ở thời điểm hiện tại. ResNet cũng là kiếntrúc sớm nhất áp dụng batch normalization. Mặc dù là một mạng rất sâu khi có số lượng layerlên tới 152 nhưng nhờ áp dụng những kỹ thuật đặc biệt kích thước của ResNet50 chỉ khoảng 26triệu tham số.

Các kiến trúc trước đó thường tăng độ chính xác bằng cách tăng độ sâu của mạng CNN. Tuynhiên, các thí nghiệm đã chỉ ra rằng, ở một số điểm, độ chính xác của mơ hình sẽ bão hịa hoặcthậm chí giảm đi khi mơ hình trở nên quá sâu. Để giải quyết vấn đề này, nhóm nghiên cứu củaMicrosoft đã áp dụng kết nối tắt trên ResNet, giúp mơ hình duy trì hiệu suất tốt ngay cả khi cónhiều tầng.

Các kết nối tắt (skip connection) giúp giữ thông tin không bị mất bằng cách kết nối từ layer sớmtrước đó tới layer phía sau và bỏ qua một vài layers trung gian. ResNet có khối tích chập Convblock sử dụng bộ lọc kích thước 3 x 3 giống với của InceptionNet. Khối tích chập bao gồm 2nhánh tích chập trong đó một nhánh áp dụng tích chập 1 x 1 trước khi cộng trực tiếp vào nhánhcịn lại. Khối xác định (Identity block) thì khơng áp dụng tích chập 1 x 1 mà cộng trực tiêp giátrị của nhánh đó vào nhánh cịn lại.

Gỉa sử chúng ta có x là đầu vào của khối xác định. Chúng ta cần ánh xạ đầu vào x thành hàmf(x). Để tìm ra ánh xạ chuẩn xác tương đương với hàm f (x) là một việc khá khó. Nhưng nếu

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>Hình 2.3: Cộng trực tiếp đầu vào của khối với nhánh còn lại trong khối Identity block.</b>

cộng thêm ở đầu ra thành x + f (x) thì chúng ta sẽ qui về tham số hóa độ lệch, tức cần tham sốhóa phần dư f (x). Tìm ánh xạ theo phần dư sẽ dễ hơn nhiều vì chỉ cần tìm giá trị f (x) sao chonó gần bằng 0 là có thể thu được một ánh xạ chuẩn xác. Tại một khối xác định, chúng ta sẽ ápdụng một layer activation ReLU sau mỗi xen kẽ giữa những tầng trọng số. Ta có thể đơn giảnhóa kiến trúc của ResNet-50 như hình bên dưới:

<b>Hình 2.4: Kiến trúc tóm tắt của mạng ResNet-50.</b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>2.5Phương pháp Few-Shot Learning và mơ hình Siamese</b>

Few-Shot Learning là một phương pháp học máy được sử dụng khi tập huấn luyện bị giới hạnvề lượng thơng tin có giám sát. Các ứng dụng học sâu thường sử dụng lượng dữ liệu nhiều nhấtmà mơ hình có thể học để cho ra kết quả dự đốn tốt. Tuy nhiên, mục đích của few-shot learninglà xây dựng được mơ hình có độ chính xác cao với ít dữ liệu huấn luyện hơn, từ đó giảm thiểuchi phí thu thập dữ liệu và thời gian tính tốn.

Cách tiếp cận của Few-Shot Learning đối với bài tốn phân loại hình ảnh như sau:

• Sử dụng một vài ảnh ví dụ của các lớp khác nhau (N-way-K-shot classification) để huấnluyện cho mơ hình học cách phân loại với những ảnh khác nhau nhiều lần.

• Ví dụ, hình 2.5 là một bài tốn phân loại 3-way-2-shot, với mỗi task bao gồm 2 ảnh của3 loài động vật khác nhau trong tập support và mơ hình cố gắng phân loại ảnh trong tậpquery.

• Mơ hình sẽ cải thiện độ chính xác bằng cách phân loại các động vật vào lớp chính xác củanó cho từng task khơng liên quan với nhau.

• Hiệu suất của mơ hình sẽ được kiểm tra trên một tập hợp ảnh khác của bài tốn cation.

<b>classifi-Hình 2.5: Cơ chế của Few-Shot Learning</b>

Siamese Neural Network (SNN) [3] là một kiến trúc mạng nơ-ron chứa hai hoặc nhiều mạngcon giống hệt nhau về cấu hình, thơng số và trọng số. Việc cập nhật các thông số được phảnánh đồng thời trên cả hai mạng con của nó. Đây là một cách tiếp cận dựa vào độ giống nhau(similarity) của Few-Shot Learning.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

SNN được sử dụng để tìm sự giống nhau của các dữ liệu đầu vào bằng cách so sánh các vectơđặc trưng của chúng. Một số ứng dụng phổ biến của SNN có thể kể đến như là Face Verification,Signature Verification, và Image Seaching System. Thông thường, một mạng nơ-ron học cáchđể dự đoán các lớp của một bài toán, nếu muốn thêm hay bớt các lớp mới, ta phải cập nhật lạimạng trên toàn bộ tập dữ liệu (cả dữ liệu mới và cũ). SNN, theo một cách khác, học cách tìm rasự giống nhau giữa các input data. Vì vậy, nó cho phép chúng ta phân loại các lớp dữ liệu mớimà khơng cần huấn luyện lại mạng nơ-ron.

<b>Hình 2.6: Mơ hình Siamese Neural Network</b>

Luồng làm việc của một SNN trong bài tốn phân loại ảnh như sau:• Chọn một cặp ảnh đầu vào từ dataset.

• Đưa mỗi ảnh qua mỗi sub-network của SNN để xử lý và trả về output là các embeddingvector.

• Tính tốn khoảng cách Euclidean giữa 2 embedding vector đó.

• Một Sigmoid Function có thể được áp dụng trên khoảng cách để đưa ra giá trị Score trongđoạn [0,1], thể hiện mức độ giống nhau giữa 2 embedding vector. Score càng gần 1 thì 2vector càng giống nhau và ngược lại.

Ưu điểm của SNN:

• Lượng dữ liệu cần thiết để huấn luyện SNN là rất ít. Chỉ cần vài Samples là đủ (1-5samples) huấn luyện SNN. Phương pháp mà nó sử dụng ở đây là One-Shot Learning hoặc

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Few-Shot Learning. Chính vì cần ít dữ liệu huấn luyện như vậy nên chúng ta cũng khônglo lắng việc dữ liệu bị mất cân bằng (Image Imbalance).

• Khả năng kết hợp với các bộ phân loại khác cao. Do cơ chế học của SNN khác biệt vớicác bộ phân lớp thông thường khác, nên chúng ta hồn tồn có thể kết hợp chúng lại vớinhau. Việc làm này thường cho ra kết quả tốt hơn.

• Học từ sự tương đồng về ngữ nghĩa: SNN tập trung vào việc học các Features ở các lớpsâu hơn, nơi mà các Features giống nhau được đặt gần nhau. Do đó, nó có thể hiểu đượcphần nào sự tương đồng về ngữ nghĩa của các Input Data.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN

<i>Trong chương này, chúng tơi sẽ trình bày một số nghiên cứu liên quan của bài toán nhận dạnglỗi bề mặt sản phẩm trong công nghiệp. Phần này cũng bàn luận về phương pháp học biểu diễnsẽ được áp dụng vào mơ hình đề xuất của luận văn.</i>

<b>Mục lục</b>

3.1 Nhận dạng lỗi bề mặt dựa trên học sâu . . . . <b>14</b>

3.2 Phương pháp học biểu diễn . . . . <b>16</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>3.1Nhận dạng lỗi bề mặt dựa trên học sâu</b>

Những cải tiến vượt bậc trong lĩnh vực học sâu và thị giác máy tính đã tạo ra những giải phápmạnh mẽ cho các bài toán phân loại vật thể và phát hiện bất thường, từ đó có thể tự động hóa vànâng cao hiệu suất của tác vụ giám sát trực quan các loại lỗi bề mặt trong sản xuất.

Hiện nay, những thiết bị tự động phát hiện khiếm khuyết bề mặt (Surface Defect Detection)đang dần thay thế công đoạn kiểm tra bằng mắt thường của con người trong nhiều lĩnh vực khácnhau, bao gồm 3D, ô tô, đồ gia dụng, sản xuất máy, linh kiện bán dẫn, điện tử, dược phẩm, hàngkhông vũ trụ và các ngành công nghiệp khác. Kiểm tra lỗi dựa trên các quan sát hình ảnh cóthể được chia thành chủ yếu hai cách tiếp cận, bao gồm các phương pháp xử lý hình ảnh truyềnthống và các phương pháp dựa trên học máy. Những kỹ thuật truyền thống thường áp dụng cácgiải thuật xử lý ảnh cổ điển để biến đổi và mô tả đặc điểm của khuyết điểm, hoặc sử dụng nhữngđặc trưng được trích xuất thủ cơng kết hợp với các bộ phân loại. Phương pháp này chỉ hữu íchkhi các loại lỗi được phân biệt rõ ràng. Ngoài ra, các đặc trưng lỗi trong cùng một lớp phải duytrì tính nhất quán. Điều này phụ thuộc khá nhiều vào môi trường chụp ảnh và do đó có khả năngthích ứng kém. Các hệ quang học cũng được thiết kế để thu được những bức ảnh có mức độchiếu sáng đồng nhất và biểu hiện rõ những khuyết tật của vật thể.

Trong những năm gần đây, nhiều phương pháp cho bài toán nhận dạng lỗi dựa trên học sâuđược sử dụng rộng rãi trong cơng nghiệp [4]. Các mạng nơ-ron tích chập được huấn luyện trước(pre-trained) trên tập dữ liệu ImageNet [2], [5]–[7] đã dùng làm backbone hoặc các khối tríchxuất đặc trưng trong tác vụ phân loại hình ảnh. Năm 2020, Ihor và đồng nghiệp [8] đã sử dụngmơ hình pre-trained ResNet50 [2] như một bộ phân lớp để nhận diện ba loại khuyết điểm bề mặtphẳng trong kim loại cuộn. Tác giả áp dụng hàm Binary Focal Loss để khắc phục vấn đề mấtcân bằng mẫu dữ liệu và đạt được độ chính xác tốt nhất là 96.91%. Năm 2021, Feng và đồngnghiệp [9] giới thiệu một bộ dữ liệu lỗi bề mặt của dải thép cán nóng có tên là X-SDD với 1360hình ảnh thuộc bảy loại khuyết điểm điển hình. Để nhận diện chúng, tác giả kết hợp thuật tốnRepVGG [10] với cơ chế chú ý khơng gian (spatial attention) và đạt được kết quả 95.10% trên bộdữ liệu này. Tuy nhiên, hiệu suất của thuật toán vẫn chưa tốt đối với một số loại lỗi, do số lượngmẫu không đủ. Năm 2022, Liu và đồng nghiệp [11] đề xuất một lightweight network dựa trêncơ chế chú ý tọa độ (coordinate attention) và cơ chế tự tương tác (self-interaction), CASI-Net,để trích xuất đặc trưng hình ảnh và xác định vùng lỗi để nhận diện tốt hơn các khuyết điểm trênbề mặt thép trong bộ dữ liệu NEU [12]. Mặc dù giảm số tham số và tính tốn, kiến trúc này vẫngặp khó khăn trong việc phân biệt một số khuyết điểm có "độ tương đồng giữa các lớp và độ đadạng trong cùng một lớp cao" [11].

Trong bài tốn nhận diện các mẫu hình khuyết điểm trên tấm bán dẫn (wafer map), Wangvà đồng nghiệp [13] đã công bố bộ dữ liệu MixedWM38 và thiết kế một mạng DeformableConvolution (DC-Net) kết hợp với một lớp đầu ra đa nhãn (multi-label) cho phân loại các khuyếtđiểm hỗn hợp (mixed-type) với độ chính xác trung bình là 93.2%. Thử nghiệm với cùng bộdữ liệu trên, Nag và đồng nghiệp [14] đã đề xuất một mạng Encoder-Decoder được gọi làWaferSegClassNet (WSCN) cho cả hai tác vụ phân loại và phân đoạn. Tác giả đạt được độ

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

chính xác phân loại trung bình là 98.2% trên tất cả 38 lớp. Các phương pháp học sâu có giámsát này địi hỏi việc huấn luyện trên một tập mẫu có kích thước đủ lớn để giảm thiểu vấn đềover-fitting và đạt được hiệu suất nhận diện ổn định. Tuy nhiên, đây cũng là thách thức lớn trongmôi trường công nghiệp thực tế, nơi số lượng hình ảnh được gán nhãn khuyết điểm là rất hạnchế.

Một số cơng trình áp dụng phương pháp Weakly Supervised Learning và Few-Shot Learningđể giải quyết vấn đề dữ liệu khuyết điểm hạn chế. Năm 2019, Liu và đồng nghiệp [15] giớithiệu một phương pháp phân loại một lớp (One-Class Classification) dựa trên GAN [16] choviệc phát hiện lỗi trên dải thép, chỉ có thể phát hiện các mẫu bất thường và không thể nhậndiện loại khuyết điểm. He và đồng nghiệp [17] giải quyết vấn đề dữ liệu này bằng một phươngpháp Semi-Supervised Learning dựa trên đa huấn luyện (multi-training) của các mạng GAN vàResNet18 [2]. Cụ thể, GAN được sử dụng để tạo ra các mẫu dữ liệu ảnh khơng được gán nhãn,sau đó thuật toán tổng hợp cả các mẫu được gán nhãn và khơng được gán nhãn vào q trình đahuấn luyện để đạt được độ chính xác cao hơn là 99.56%. Năm 2020, Deshpande và đồng nghiệp[18] tiếp cận bài toán này bằng cách áp dụng Siamese neural network để nhận diện one-shottrên bộ dữ liệu NEU và đạt được 83.22% dự đốn đúng mà khơng cần huấn luyện thêm với cácloại khuyết điểm mới.

<b>Hình 3.1: Mẫu Normal (cột 1) và Mẫu Defect (cột 2–6) của tập dữ liệu MVTec AD [</b>15]

Tổng kết lại, có 2 vấn đề chính xảy ra trong thực tế với cách tiếp cận học sâu:

• Vấn đề thiếu dữ liệu ảnh sản phẩm lỗi:

Học sâu được ứng dụng rộng rãi trong các bài toán thị giác máy tính, mà nhận dạng lỗibề mặt được xem như một ứng dụng cụ thể của nó trong cơng nghiệp. Tuy nhiên trongthực tế, không thể trực tiếp ứng dụng học sâu vào bài tốn này bởi vì tình trạng thiếu hụt

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

dữ liệu ảnh bề mặt của sản phẩm lỗi. Với tính chất dữ liệu đặc thù như vậy, số ảnh defectđược cung cấp để huấn luyện mơ hình là vơ cùng ít. Để giải quyết vấn đề dữ liệu nhỏ, hiệntại đang có 4 giải pháp:

<i><b>– Data Amplification and Generation: Được sử dụng nhiều nhất để mở rộng lượng</b></i>

ảnh defect là sử dụng nhiều phép biến đổi ảnh như mirroring, rotation, translation,distortion, filtering, và contrast adjustment từ ảnh defect gốc để tạo được nhiều mẫuhơn. Một phương pháp khác là tổng hợp dữ liệu (data synthesis), nghĩa là fuse hoặcxếp các biểu hiện lỗi ảnh tốt (normal) để tạo ảnh defect.

<i><b>– Network Pre-training and Transfer Learning: Sử dụng q ít dữ liệu để huấn luyện</b></i>

mơ hình học sâu có thể dẫn đến overfitting, do vậy những phương pháp dựa trênNetwork Pre-training và Transfer Learning cũng thường được sử dụng.

<i><b>– Reasonable Network Structure Design: Nhu cầu dữ liệu training sẽ giảm đi khi thiết</b></i>

kế được một kết trúc mạng hợp lí. Một trong những cách này là sử dụng các mạngđôi (twin network).

<i><b>– Unsupervised or Semi-supervised Method: Ở mơ hình unsupervised, chỉ những ảnh</b></i>

normal được dùng để training; còn phương pháp Semi-supervised sẽ tận dụng nhữngmẫu khơng được gán nhãn để giải quyết vấn đề này.

• Vấn đề thời gian thực:

Những phương pháp nhận dạng lỗi dựa trên học sâu bao gồm 3 cơng đoạn chính: dataannotation, model training, và model inference. Các ứng dụng thời gian thực trong côngnghiệp sẽ chú ý nhiều hơn vào quá trình inference. Các cách tiếp cận hiện tại tập trungvào độ chính xác phân loại/nhận dạng mà ít chú ý đến hiệu năng của model inference. Cónhiều cách để tăng tốc độ của mơ hình như model weighting và model pruning, cũng nhưsử dụng các đơn vị tính tốn hiện đại như GPU.

Phần tiếp theo ta sẽ tìm hiểu những cách tiếp cận phổ biến của phương pháp học biểu diễn(Representation Learning) và cơ chế học tự giám sát (Self-supervised Learning) để xây dựngmột mơ hình hoạt động hiệu quả dưới điều kiện thiếu dữ liệu ảnh lỗi, đồng thời ta cũng xem xétcác hàm mất mát (Loss Function) có thể tối ưu được các biểu diễn ảnh của các lớp khác nhaunhằm tăng độ chính xác của mơ hình phân loại.

<b>3.2Phương pháp học biểu diễn</b>

Những kỹ thuật học biểu diễn tiên tiến đã giới thiệu nhiều hàm mất mát (loss function) hữu íchkhác nhau để trích xuất các đặc trưng ý nghĩa từ hình ảnh để đạt được khả năng nhận diện tốt

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

hơn. Học tập đối lập (Contrastive Learning - CL) là một phương pháp học tự giám sát Supervised Learning) hiệu quả có thể giảm chi phí gán nhãn cho các bộ dữ liệu quy mô lớn,bằng cách học biểu diễn đặc trưng từ các phiên bản tăng cường của hình ảnh. Có nhiều cơngtrình được giới thiệu dựa trên ý tưởng này, chẳng hạn như SwAV [19], MoCo [20] và SimCLR[21]. SimCLR là một kiến trúc điển hình của Contrastive Learning cho tự biểu diễn hình ảnh.SimCLR kết hợp các tốn tử tăng cường dữ liệu và cung cấp một hàm mất mát Contrastive hiệuquả để tăng cường đặc trưng hình ảnh cho nhiều tác vụ khác.

(Self-Trong lĩnh vực nhận diện khuôn mặt (Face Recognition), các nghiên cứu gần đây tập trung vàocác hàm mất mát để cải thiện khả năng phân biệt mặt người. Ý tưởng chính của những hàm nàylà chỉ dẫn mơ hình trích xuất để có thể giảm thiểu khác biệt trong cùng một lớp, đồng thời tối đahóa khoảng cách giữa các lớp khác nhau. Schroff và đồng nghiệp [22] giới thiệu hàm mất mátTriplet, mà thông qua một bức ảnh cố định (anchor) và khoảng cách Euclidean, để tăng cườngmột biên (margin) giữa các cặp khuôn mặt positive (của cùng một người) và negative (giữa haingười khác nhau). Điều này giúp tăng cường khả năng phân biệt của mơ hình với các danh tínhkhác nhau. Dựa trên ý tưởng về biên góc (angular margin) [23], ArcFace [24] biến đổi hàmmất mát Softmax Loss bằng cách thêm một hình phạt biên góc cộng (additive angular marginpenalty) vào biểu diễn hình học của hàm số. Điều này giúp tối ưu hóa khả năng tách biệt giữacác lớp khn mặt và dẫn đến hiệu suất vượt trội so với các phương pháp nhận diện khuôn mặttiên tiến. Những phương pháp đổi mới này đã đóng một vai trị quan trọng trong lĩnh vực họcbiểu diễn hình ảnh. Chúng trở thành các phương pháp hiệu quả để cải thiện khả năng học đặctrưng phân biệt của mơ hình.

SimCLR [25] là một kiến trúc học biểu diễn (Representation Learning) được công bố trong hộinghị ICML 2020. Bài báo giới thiệu một hướng tiếp cận đơn giản để học được các biểu diễntừ hình ảnh khơng được gắn nhãn dựa vào q trình tăng cường dữ liệu. Áp dụng tư tưởng củaContrastive Learning, SimCLR học các biểu diễn của dữ liệu bằng cách tối đa hóa sự giốngnhau tương quan (agreement) giữa 2 chế độ tăng cường dữ liệu khác nhau của cùng một mẫu dữliệu. Kiến trúc này bao gồm 4 mô-đun thành phần như sau:

<b>Data augmentation module (mô-đun tăng cường dữ liệu): Biến đổi ngẫu nhiên một mẫu</b>

dữ liệu thành 2 kết quả biến đổi khác nhau bằng một tập hợp các phép biến đổi, kí hiệux<sub>e</sub><sub>i</sub> vàe

x<sub>j</sub>và được xem như một cặp dương tính. Trong bài báo họ sử dụng các phép biến đổi: randomcropping, random color distortions và random Gaussian blur.

<b>Mạng nơ-ron f (·): trích xuất các vectơ đặc trưng của dữ liệu sau khi được tăng cường. Trong</b>

bài báo họ sử dụng Resnet trong đó h<sub>i</sub>= f (<sub>e</sub>x<sub>i</sub>) = ResNet(<sub>e</sub>x<sub>i</sub>) với h<sub>i</sub> ∈ R<small>d</small> là output của lớpaverage pooling.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>Hình 3.2: Kiến trúc của SimCLR</b>

<b>Hình 3.3: Các biến đổi tăng cường dữ liệu</b>

<b>Một mạng nơ-ron nhỏ g(·): ánh xạ các representation sang không gian thấp hơn để áp</b>

dụng contrastive loss. Trong bài báo họ đề xuất sử dụng MLP với 1 hidden layer với đầu ra làz<sub>i</sub>= g(h<sub>i</sub>) = W<sup>(2)</sup>σ (W<sup>(1)</sup>h<sub>i</sub>) với σ là hàm phi tuyến RELU.

<b>Một hàm Contrastive loss: được định nghĩa cho nhiệm vụ dự đoán tương phản (contrastive</b>

prediction task).

Khi đào tạo mơ hình, ta sẽ chia dữ liệu thành các batch để forward qua mơ hình và tính loss.Đối với một batch có N sample trước khi đi vào mơ hình thì nó sẽ được đi qua mơ-đun tăng

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

cường dữ liệu và thu được 2N sample. Để tính contrastive loss, bài báo xem đối với 1 sample họsẽ chọn được một cặp mẫu positive (2 sample được tăng cường từ một hình ảnh) và 2(N-1) mẫucịn lại là mẫu negative. Khi đó mẫu số của hàm loss chỉ tính trên các mẫu k, với k ̸= i.

<b>Giải thuật huấn luyện mơ hình:</b>

<b>Hình 3.4: Giải thuật học của SimCLR</b>

Bài báo thiết kế khá nhiều thí nghiệm để chứng minh độ hiệu quả của phương pháp, đểtổng quát hơn ta sẽ xem xét bảng so sánh độ chính xác của SimCLR với baseline SupervisedLearning, các phương pháp label-propagation và học biểu diễn (represention learning) ở hình3.5. Với kết quả trên tập ImageNet với tỷ lệ label lần lượt là 1% và 10%, ta có thể thấy với việcsử dụng self-supervised representation learning có thể mang lại kết quả đáng kinh ngạc khi vượtxa mơ hình supervised trên một lượng nhỏ dữ liệu được gán nhãn. Qua đó chứng minh tính hiệuquả của phương pháp khi tận dụng thơng tin từ dữ liệu chưa được gán nhãn.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>Hình 3.5: Độ chính xác trên tập ImageNet của các model huấn luyện bởi ít dữ liệu gán nhãn</b>

Bài báo ArcFace được công bố trong hội nghị CVPR 2019 đã đưa ra một hướng đi mới cho

<i>nhận diện khuôn mặt bằng việc giới thiệu một hàm mất mát mới Additive Angular Margin Loss</i>

<b>Phương pháp tiếp cận:</b>

<i>Hàm mất mát Additive Angular Margin Loss có thể được xem như một cải tiến của hàm</i>

<i>softmax</i>, tích vơ hướng giữa vec-tơ đặc trưng từ mơ hình Deep Convolutional Neural Networks

<i>(DCNN) và lớp fully connected cuối bằng với khoảng cách của feature và weight đã được chuẩnhóa. ArcFace tận dụng hàm arc-cosine để tính góc giữa feature hiện tại và weight mục tiêu. Sauđó cộng thêm addictive angular margin vào góc mục tiêu sẽ thu lại được vec-tơ logit thông quahàm cosine. Tiếp theo, các logit sẽ được định lại tỷ lệ và các bước còn lại giống hệt như hàmmất mát softmax. Quá trình vừa đề cập được minh họa trong ảnh 3.6.</i>

<i>Bắt đầu với hàm softmax với công thức:</i>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<b>Hình 3.6: Huấn luyện DCNN cho nhận diện khn mặt sử dụng ArcFace loss.</b>

Hàm mất mát softmax là sự kết hợp giữa hàm mất mát entropy chéo và sự kích hoạt softmax(softmax activation). Hàm này trong quá khứ thường được sử dụng cho các bài tốn nhận diệnkhn mặt. Tuy nhiên, điểm yếu của hàm này là khơng có khả năng tối ưu hóa rõ ràng các vec-tơembedding chứa các đặc điểm khuôn mặt để tăng thêm sự tương đồng giữa những khuôn mặttrong cùng một lớp và tăng thêm sự đa dạng giữa các khuôn mặt giữa các lớp khác nhau, dẫnđến tạo ra một khoảng cách cho những khuôn mặt với nhiều biến thể (do khác biệt tuổi tác haydo khác biệt về dáng khuôn mặt).

Để đơn giản hóa, ta cố định bias b<sub>j</sub>= 0, sau đó biến đổi W<sub>j</sub><sup>T</sup>x<sub>i</sub>= W<sub>j</sub> ∥x<sub>i</sub>∥ cos(θ<small>j</small>) trongđó θ<small>j</small>là góc giữa weight W<sub>j</sub>và đặc trưng x<sub>i</sub>. Theo sau đó, cố định weight W<sub>j</sub> = 1 bằng chuẩnhóa L2, đồng thời chuẩn hóa luôn vec-tơ đặc trưng ∥x<sub>i</sub>∥ theo L2 và rescale lại thành s. Bướcchuẩn hóa weights và vec-tơ đặc trưng này tạo nên sự dự đốn thuần túy dựa trên góc giữa vec-tơđặc trưng và weight. Vec-tơ đặc trưng đã được học sau đó được phân bổ trên một hyperspherevới bán kính là s.

Vì các vec-tơ đặc trưng được phân bổ xung quanh mỗi đặc trưng trung tâm theo mộthypersphere, ta sẽ thêm vào đó một hình phạt biên góc cộng (additive angular margin penalty)mgiữa x<sub>i</sub>và W<sub>y</sub><sub>i</sub> để đồng thời tăng cường tính nhỏ gọn trong nội bộ lớp và sự khác biệt giữa các

<i>lớp. Và phương pháp này được đặt tên là ArcFace.</i>

<b>Mã giả giải thuật của ArcFace:</b>

Theo như bài báo, khoảng chừng 1500 ảnh cho 1 khuôn mặt với tổng cộng 8 khuôn mặtkhác nhau đã được chọn để huấn luyện mạng với lần lượt hàm softmax và hàm mất mát ArcFace.Theo như hình 3.8, ta có thể thấy việc sử dụng softmax với hàm Cross Entropy Loss giúp phântách các vec-tơ đặc trưng nhưng lại tạo nên một sự mơ hồ rõ ràng trên đường ranh giới quyết

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<b>Hình 3.7: Mã giả giải thuật của ArcFace trên MxNet.</b>

định (decision boundaries). Trong khi đó, sử dụng softmax với hàm loss ArcFace lại có sự phânchia rõ rệt giữa các lớp gần nhau.

<b>Hình 3.8: Kết quả phân tách đặc trưng của Softmax và ArcFace.</b>

</div>

×