Luận văn tốt nghiệp: Phân lớp dữ liệu hình ảnh ứng dụng trong giám sát lỗi

Luận văn tốt nghiệp nghiên cứu Luận văn tốt nghiệp khoa học máy tính phân lớp dữ liệu hình ảnh một lớp ứng dụng trong các hệ thống, điều tra thực trạng, phân tích số liệu, đề xuất

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2021

48
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI NGỎ

TÓM TẮT NỘI DUNG

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Bài toán phân lớp một lớp và một số ứng dụng

1.2. Một số hướng tiếp cận phổ biến

1.3. Các thách thức với các mô hình hiện nay

2. CHƯƠNG 2: HỌC SÂU

2.1. Tổng quan về học sâu

2.2. Trích xuất đặc trưng sử dụng CNN

2.3. Phát hiện bất thường

3. CHƯƠNG 3: PHÂN LỚP MỘT LỚP DÙNG MÔ HÌNH PHÂN PHỐI VÙNG

3.1. Hướng tiếp cận đề xuất

3.2. Tối ưu thời gian và bộ nhớ

4. CHƯƠNG 4: HIỆN THỰC VÀ ỨNG DỤNG

4.1. Mô tả dữ liệu và thiết lập thực nghiệm

4.2. Tiêu chuẩn đánh giá

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

4.4. Tổng kết kết quả thực nghiệm

5. CHƯƠNG 5: KẾT LUẬN

5.1. Kết luận

5.2. Định hướng phát triển

TÀI LIỆU THAM KHẢO

DANH SÁCH HÌNH VẼ

DANH SÁCH BẢNG

THUẬT NGỮ VÀ TỪ VIẾT TẮT

Tóm tắt

I. Giới thiệu

Trong bối cảnh hiện đại, phân lớp dữ liệu hình ảnh đã trở thành một lĩnh vực nghiên cứu quan trọng, đặc biệt trong các hệ thống giám sát lỗi. Bài toán phân lớp một lớp (One-Class Classification) được xem là một giải pháp hiệu quả cho việc phát hiện bất thường trong sản phẩm công nghiệp. Mục tiêu chính của nghiên cứu này là phát triển một mô hình có khả năng nhận diện các hình ảnh bất thường từ một tập dữ liệu chỉ chứa hình ảnh bình thường. Việc áp dụng machine learninghọc sâu (Deep Learning) trong việc trích xuất đặc trưng từ hình ảnh là rất cần thiết để cải thiện độ chính xác của mô hình. Theo đó, các phương pháp như mạng nơ-ron tích chập (CNN) được sử dụng để tối ưu hóa quá trình phân tích dữ liệu.

1.1 Bài toán phân lớp một lớp

Bài toán phân lớp một lớp là một trường hợp đặc biệt của bài toán phân lớp đa lớp, trong đó dữ liệu huấn luyện chỉ thuộc về một lớp duy nhất. Mục tiêu là phát hiện các mẫu thuộc lớp dương trong quá trình suy luận. Các ứng dụng của bài toán này rất đa dạng, từ phát hiện bất thường trong sản xuất đến nhận dạng khuôn mặt. Việc áp dụng các kỹ thuật học sâu giúp cải thiện khả năng phát hiện lỗi trong các sản phẩm, đặc biệt khi dữ liệu về các sản phẩm lỗi không có sẵn. Điều này cho thấy tầm quan trọng của việc phát triển các mô hình có khả năng hoạt động hiệu quả trong các tình huống thực tế.

II. Các phương pháp tiếp cận

Nghiên cứu này tập trung vào ba hướng tiếp cận chính trong phân lớp một lớp: dữ liệu, đặc trưng và giải thuật phân lớp. Đầu tiên, hướng tiếp cận dựa vào dữ liệu cho phép sử dụng các mẫu từ lớp dương và các tập dữ liệu ngoài để cải thiện độ chính xác của mô hình. Thứ hai, việc lựa chọn đặc trưng phù hợp là rất quan trọng, vì nó ảnh hưởng trực tiếp đến khả năng phân tách lớp dương khỏi các lớp ngoại lai. Cuối cùng, các giải thuật phân lớp hiện nay thường sử dụng các phương pháp thống kê hoặc dựa trên học sâu để tối ưu hóa quá trình phân lớp. Việc áp dụng các mô hình như ResNet hay VGG trong việc trích xuất đặc trưng đã cho thấy hiệu quả cao trong việc phát hiện bất thường.

2.1 Hướng tiếp cận dựa vào dữ liệu

Hướng tiếp cận này nhấn mạnh việc sử dụng các mẫu từ lớp dương và các tập dữ liệu tham chiếu để cải thiện mô hình. Việc sử dụng các tập dữ liệu như ImageNet hay CIFAR100 đã cho thấy kết quả khả quan trong việc huấn luyện mô hình. Các phương pháp này không chỉ giúp tăng cường độ chính xác mà còn giảm thiểu rủi ro khi dữ liệu huấn luyện bị hạn chế. Điều này đặc biệt quan trọng trong các ứng dụng thực tế, nơi mà dữ liệu về các sản phẩm lỗi thường không có sẵn.

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

Kết quả thực nghiệm cho thấy mô hình phân lớp một lớp đã hoạt động hiệu quả trên bộ dữ liệu MVTec-AD với 15 loại sản phẩm khác nhau. Các chỉ số đánh giá như AUROC cho thấy mô hình có khả năng phát hiện bất thường cao, với độ chính xác vượt trội so với các phương pháp truyền thống. Việc áp dụng các kỹ thuật học sâu trong trích xuất đặc trưng đã giúp cải thiện đáng kể khả năng phân loại. Kết quả này không chỉ chứng minh tính khả thi của mô hình mà còn mở ra hướng đi mới cho việc phát triển các hệ thống giám sát lỗi trong công nghiệp.

3.1 Tiêu chuẩn đánh giá

Tiêu chuẩn đánh giá được sử dụng trong nghiên cứu này bao gồm các chỉ số như độ chính xác, độ nhạyAUROC. Các chỉ số này giúp đánh giá hiệu quả của mô hình trong việc phát hiện các hình ảnh bất thường. Kết quả thực nghiệm cho thấy mô hình đạt được độ chính xác cao, cho thấy khả năng áp dụng thực tế trong các hệ thống giám sát chất lượng. Việc sử dụng các chỉ số này không chỉ giúp đánh giá hiệu quả mà còn cung cấp thông tin quý giá cho việc cải thiện mô hình trong tương lai.

IV. Kết luận

Nghiên cứu này đã chỉ ra rằng phân lớp dữ liệu hình ảnh một lớp có thể được áp dụng hiệu quả trong các hệ thống giám sát lỗi. Việc sử dụng các phương pháp học sâutrích xuất đặc trưng đã giúp cải thiện khả năng phát hiện bất thường trong sản phẩm. Kết quả thực nghiệm cho thấy mô hình có thể được phát triển thành một giải pháp thực tế cho các vấn đề trong công nghiệp. Hướng nghiên cứu tiếp theo có thể tập trung vào việc cải thiện độ chính xác của mô hình và mở rộng ứng dụng của nó trong các lĩnh vực khác nhau.

4.1 Định hướng phát triển

Định hướng phát triển trong tương lai có thể bao gồm việc mở rộng mô hình để xử lý các loại dữ liệu phức tạp hơn và cải thiện khả năng giải thích của mô hình. Việc phát triển các phương pháp mới trong machine learninghọc sâu sẽ giúp nâng cao hiệu quả của các hệ thống giám sát lỗi. Ngoài ra, việc tích hợp các công nghệ mới như trí tuệ nhân tạohệ thống thông minh cũng sẽ là một hướng đi tiềm năng cho nghiên cứu trong tương lai.

09/02/2025

Trích đoạn nội dung tài liệu

Chương 1. Giới thiệu • Học nửa giám sát cho phân lớp một lớp: Đôi khi dữ liệu ngoại lai được gán nhãn vẫn xuất hiện, các phương pháp chưa sử dụng được các dữ liệu này. • Phương pháp phân lớp một lớp có thể giải thích được: Dù mang lại kết quả tốt, tuy nhiên các mạng nơ-ron chưa thể hiện được vì sao chúng mang lại kết quả phân lớp tốt như vậy. Việc đề xuất ra phương pháp có thể giải thích được sẽ mang lại sự chắc chắn khi áp dụng phương pháp đó lên các tập dữ liệu khác nhau.

• Hiệu năng và hiệu suất: Chi phí về bộ nhớ và thời gian trong quá trình suy luận đang còn cao. • Tập dữ liệu huấn luyện nhỏ: Do một số quyền riêng tư, tập dữ liệu huấn luyện chỉ gồm số lượng nhỏ các mẫu dương. Huấn luyện trên tập dữ liệu nhỏ, một lớp có thể không mang lại kết quả tốt. 11 Chương 2 Học sâu Luận văn này có sử dụng kiến thức về học sâu.

Chương này sẽ giải thích các kỹ thuật trong học sâu có sử dụng trong luận văn, gồm: Tổng quan; Trích xuất đặc trưng; Đặc trưng trong bài toán phát hiện bất thường.1 Tổng quan về học sâu Học sâu (Deep Learning) là một kĩ thuật của máy học (Machine Learning) dựa trên một tập hợp các thuật toán với mục tiêu mô hình dữ liệu trừu tượng thông qua nhiều lớp xử lý phức tạp (nhiều lớp biến đổi phi tuyến tính). Một trong những phương pháp học sâu thành công nhất là mạng nơ-ron nhân tạo (Artificial Neural Network) hay cụ thể hơn là mạng nơ-ron sâu (Deep Neural Network) được đề xuất bởi 2 người đoạt giải Nobel David H. Hubel và Torsten Wiesel.1 Mạng nơ-ron nhân tạo Hình 2.1: Cấu trúc sinh học của một nơ-ron Lấy cảm hứng từ bộ não con người, mạng nơ-ron được học bởi kinh nghiệm qua quá trình huấn luyện, lưu giữ tri thức để sử dụng trong việc dự đoán dữ liệu chưa biết (unseen data). Các mạng nơ-ron nhân tạo cơ bản thường gồm 3 thành phần: lớp đầu vào (input layer), các lớp ẩn (hidden layer) và lớp đầu ra (output layer).

Mỗi lớp có nhiều nút là các nơ-ron chứa những biến độc lập và liên kết với các nơ-ron trong các lớp khác.2: Cấu trúc mạng nơ-ron nhân tạo cơ bản • Lớp đầu vào (input layer): là lớp đầu tiên của mạng. Lớp này có nhiệm vụ tiếp nhận các đặc trưng dữ liệu đầu vào, từ đó lan truyền các đặc trưng này tới các lớp tiếp theo. • Lớp ẩn (hidden layer): là các lớp nằm giữa lớp đầu vào và lớp đầu ra, có nhiệm vụ học các biến độc lập sao cho sau khi lan truyền thông tin đầu vào, lớp đầu ra sẽ cho ra kết quả mong đợi. Học sâu • Lớp đầu ra (output layer): là lớp cuối cùng của mạng, có nhiệm vụ trả về kết quả, từ đó tính toán các giá trị để tiếp tục cập nhật các giá trị biến độc lập của các nút trong lớp ẩn.

Mạng nơ-ron nhân tạo là mô hình toán học được xây dựng dựa trên hoạt động của các nơ-ron sinh học, bao gồm các nút nơ-ron (node) nối với nhau và xử lý thông tin bằng cách truyền các kết nối và tính giá trị tại các nút. Khi áp dụng mạng nơ-ron thuần túy, đầy đủ kết nối, số lượng trọng số cần lưu để mô tả lại mạng nơ-ron là rất lớn, đặc biệt nếu mạng nơ-ron có nhiều lớp. Do đó, chi phí lưu trữ và chi phí thời gian khi sử dụng mạng nơ-ron đầy đủ kết nối là rất lớn. Vì vậy, trong các phương pháp học sâu hiện nay, mạng nơ-ron tích chập (Convolutional Neural Network) đã được sử dụng thay thế cho các mạng nơ-ron cũ.

Kết quả tốt của các phương pháp đã chứng minh hiệu quả của mạng nơ-ron tích chập.2 Trích xuất đặc trưng sử dụng CNN Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) là một trong những mô hình học sâu phổ biến nhất và có ảnh hưởng nhiều nhất đến cộng đồng thị giác máy tính. Mạng nơ-ron tích chập được sử dụng trong nhiều bài toán thị giác máy tính như phân loại ảnh, nhận diện đối tượng, phân đoạn ảnh, phân tích video, ảnh MRI hay các bài toán khác về xử lý ngôn ngữ tự nhiên như nhận diện giọng nói, sinh ra giọng nói,. Các thành phần cơ bản của mạng nơ-ron tích chập bao gồm: • Tầng tích chập (Convolution) • Tầng gộp (Pooling) • Tầng kết nối đầy đủ (Fully Connected) 2.1 Tầng tích chập (Convolution) Tích chập (Convolution) là một phép toán trên hai hàm (f và g) tạo ra hàm thứ ba (f ∗ g) dựa trên công thức: Z ∞ (f ∗ g)(t) , f (τ )g(t − τ )dτ (2. Học sâu Trong lĩnh vực xử lý ảnh, phép tích chập được sử dụng rộng rãi trong các bộ lọc ảnh, các phép đạo hàm ảnh.

Phép tích chập thường được dùng trên không gian hai chiều rời rạc. Công thức tính tích chập trên ảnh f và bộ lọc k (kích thước m × n) tại điểm ảnh vị trí (x, y) với giả sử chỉ số trên bộ lọc được đánh số hàng từ −m/2 -> m/2 và chỉ số cột từ −n/2 -> n/2: m/2 n/2 X X (k ∗ f )(x, y) , k(u, v)f (x − u, y − v) (2.2) u=−m/2 v=−n/2 Dưới đây là ví dụ về phép tích chập sử dụng bộ lọc cạnh.3: Bộ lọc cạnh Hình 2.4: Ảnh gốc và ảnh được áp dụng phép tích chập với bộ lọc cạnh Tầng tích chập là một tầng ẩn trong mô hình mạng nơ-ron tích chập, được dùng để phát hiện và trích xuất đặc trưng của hình ảnh. Tầng tích chập nhận dữ liệu của tầng trước nó, thực hiện phép biến đổi tích chập để tạo ra dữ liệu đầu vào cho tầng sau nó. Tại tầng tích chập, các bộ lọc sẽ áp vào từng vùng ảnh, trượt hết toàn bộ hình theo thứ tự từ trái qua phải, từ trên xuống dưới.

Mỗi lần áp bộ lọc và một vùng ảnh, phép tích chập giữa vùng ảnh và bộ lọc được thực hiện. Thông thường, sau khi thực hiện phép tích chập trên toàn ảnh, kích thước ảnh sẽ bị giảm nhỏ lại. Để xác định cách bộ lọc trượt qua các vùng ảnh, ta thêm tham số bước trượt (stride). Bước trượt là khoảng cách giữa 2 vị trí mà bộ lọc lần lượt áp lên 2 vùng ảnh.

Như hình 15 Chương 2. Học sâu Hình 2.5: Kích thước ảnh giảm từ 5x5 về 3x3 sau khi áp dụng bộ lọc 3x3 trên, bước trượt stride = 1. Bước trượt càng lớn sẽ khiến ảnh đầu ra của phép tích chập càng bé. Do đó, nếu muốn kích thước ảnh giữ nguyên, ta cần thêm vùng đệm (padding).

Vùng đệm là vùng thêm vào bao quanh ảnh gốc, thường được lấy giá trị bằng 0. Dựa vào kích thước bộ lọc, giá trị bước trượt, cần chỉnh sửa vùng đệm hợp lý để giữ nguyên kích thước ảnh.6: Kích thước ảnh giữ nguyên 5x5 sau khi thêm vùng đệm kích thước 1 16 Chương 2.2 Tầng gộp (Pooling) Tầng gộp có chức năng làm giảm kích thước của đầu vào mà nó nhận. Tùy vào mục đích, tầng gộp sẽ dùng các hàm gộp khác nhau, gồm hàm min pooling (lấy giá trị nhỏ nhất làm đại diện), max pooling (lấy giá trị lớn nhất làm đại diện), average pooling (lấy giá trị trung bình làm đại diện),. Thông thường, để tăng cường thông tin cho đầu vào của tầng tiếp theo, người ta thường sử dụng max pooling.7: Ảnh minh họa tầng gộp 2.3 Tầng kết nối đầy đủ (Fully Connected) Tầng kết nối đầy đủ được sử dụng để đưa ra quyết về phân lớp hình ảnh.

Tầng kết nối đầy đủ sử dụng đầu ra của tầng tích chập, tầng gộp để chuyển thành một vector có độ dài C, với C tương ứng với số lớp trong bài toán phân lớp. Để sử dụng đầu ra của tầng trước nó, tầng kết nối đầy đủ thường phải sử dụng một hàm để làm phẳng (flatten) đầu vào từ dừng ma trận thành một vector. Thông thường, ở cuối các mạng nơ-ron tích chập sẽ có nhiều hơn một tầng kết nối đầy đủ kết nối với nhau. Để đưa ra quyết định phân lớp, người ta sử dụng hàm Softmax để trả về xác suất ảnh đầu vào thuộc lớp nào trong C lớp.4 Kiến trúc mạng nơ-ron ResNet Việc thiết kế mạng nơ-ron phụ thuộc vào mục đích sử dụng của chúng.

Năm 2015, trong cuộc thi ILSVRC, một mô hình mới được giới thiệu là ResNet (Residual Network). ResNet[10] được các nhà phát triển từ Microsoft đề xuất, với ý tưởng là tạo ra mạng nơ-ron với nhiều lớp để học được sâu hơn. Trong mạng nơ-ron tích chập, việc huấn luyện mô hình thật ra là việc cập nhật trọng số của mạng sao cho các đặc trưng được trích xuất phù hợp để sử dụng phân lớp ảnh. Để xem xét sự thay đổi của trọng số ảnh hướng tới kết quả đầu ra, người ta thường sử dụng các phép đạo hàm trên trọng số.

Tuy nhiên, với các thuật toán học sâu có sử dụng nhiều tầng và số lượng tham số lớn, thường sẽ xuất hiện các vấn đề sau: suy biến gradient (vanishing gradient) hoặc bùng nổ gradient (exploding gradient). Khi đi qua nhiều tầng, các giá trị đạo hàm trên trọng số ngày càng nhỏ, khiến cho việc thay đổi trọng số không thể ảnh hướng tới kết quả đầu ra, do đó khiến mạng nơ-ron không hội tụ. Mạng ResNet đã tìm ra giải pháp cho các vấn đề này. Mạng ResNet đề xuất ra các residual block, nhằm tạo liên kết tới các tầng phía trước của block đó.8: Residual block Với x là đặc trưng đầu vào, qua các tầng tích chập và tầng gộp, ta thu được đặc trưng đầu ra là F (x).

Gộp cả x và F (x) lại, ta xem như là đầu vào của các tầng sau để học tiếp. Các mạng nơ-ron tích chập thông thường chỉ sử dụng F (x) làm đầu vào của các tầng tiếp theo. Việc thay đổi này đã khiến cho ResNet dành được giải thưởng trong cuộc thi ILSVRC 2015. Học sâu Hình 2.9: Kiến trúc mạng ResNet18 2.5 Kiến trúc mạng nơ-ron VGG16 VGG16[11] là mô hình của nhóm tác giả Karen Simonyan và Andrew Zisserman đề xuất trong cuộc thi ILSVRC 2014.

VGG16 là một biến tấu mô hình mạng nơ-ron tích chập so với các mô hình mạng được đề xuất trước đó. VGG16 sử dụng chuỗi các lớp tích chập liên tiếp (Conv - Conv - Conv - Pooling) thay vì sử dụng cặp tích chập gộp (Conv - Pooling) như các mô hình trước đó. Điều này khiến VGG trở nên sâu hơn, nhiều lớp hơn, cùng đồng thời làm tăng chi phí tính toán. Tuy nhiên, điều này có thể cân nhắc vì kết quả đạt được của VGG tốt so với thời điểm đó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Phân lớp dữ liệu hình ảnh trong hệ thống giám sát lỗi" cung cấp cái nhìn sâu sắc về cách phân loại và xử lý dữ liệu hình ảnh trong các hệ thống giám sát, giúp nâng cao hiệu quả phát hiện lỗi. Tác giả trình bày các phương pháp và kỹ thuật hiện đại trong việc phân lớp dữ liệu, từ đó giúp người đọc hiểu rõ hơn về tầm quan trọng của việc áp dụng công nghệ này trong các lĩnh vực như sản xuất và an ninh. Bài viết không chỉ mang lại kiến thức lý thuyết mà còn gợi ý những ứng dụng thực tiễn, từ đó mở ra cơ hội cho người đọc áp dụng vào công việc của mình.

Nếu bạn muốn tìm hiểu thêm về các phương pháp liên quan đến xử lý dữ liệu và ứng dụng trong công nghệ thông tin, hãy tham khảo bài viết Nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng. Ngoài ra, bài viết Phân loại chủ đề bản tin online sử dụng máy học cũng sẽ giúp bạn hiểu rõ hơn về cách áp dụng máy học trong việc phân loại dữ liệu. Cuối cùng, bạn có thể khám phá thêm về Suy luận trong điều khiển truy xuất dữ liệu GIS để mở rộng kiến thức về các hệ thống thông tin địa lý. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về lĩnh vực này.