1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)

14 91 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp Dụng Mô Hình Học Sâu Yolo V8 Để Giải Quyết Bài Toán Phát Hiện Vết Xước Trên Bề Mặt Sản Phẩm Nhựa
Tác giả Nguyễn Văn Hiệp
Người hướng dẫn TS. Hoàng Gia Hưng
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Các Vấn Đề Hiện Đại Ngành Kỹ Thuật Máy Tính
Thể loại tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 14
Dung lượng 4,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1. Tổng quan về đề tài ........................................................................................ 3 1.1 Mở đầu ...................................................................................................... 3 1.2 Lý do chọn đề tài ....................................................................................... 3 1.3 Tóm tắt đề tài ............................................................................................ 3 2. Đặt vấn đề và xác định bài toán .................................................................... 4 2.1 Đặt vấn đề ................................................................................................. 4 2.2 Xác định bài toán và tiêu chí đánh giá ...................................................... 4 2.2.1 Yêu cầu bài toán ................................................................................ 4 2.2.2 Tiêu chí đánh giá ............................................................................... 5 3. Lý do chọn mô hình Yolo v8 .......................................................................... 6 4. Cấu tạo mô hình Yolo v8 ............................................................................... 7 5. Tiến hành ........................................................................................................ 8 5.1 Xây dựng tập dữ liệu ............................................................................ 8 5.2 Huấn luyện mô hình và kết quả huấn luyện ....................................... 10 6. Kết quả và đánh giá ..................................................................................... 11 6.1 Kết quả ............................................................................................... 11 6.2 Đánh giá ............................................................................................. 12 7. Kết luận và đề xuất ....................................................................................... 13 7.1 Kết luận .............................................................................................. 13 7.2 Đề xuất ............................................................................................... 13 8. Tổng kết ......................................................................................................... 13 9. Tài liệu tham khảo ........................................................................................ 14

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

-o0o -

TIỂU LUẬN MÔN CÁC VẤN ĐỀ HIỆN ĐẠI

NGÀNH KỸ THUẬT MÁY TÍNH

Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước

trên bề mặt sản phẩm nhựa

Giảng viên hướng dẫn: TS Hoàng Gia Hưng Sinh viên: Nguyễn Văn Hiệp

MSSV: 20020228

Trang 2

Mục lục

1 Tổng quan về đề tài 3

1.1 Mở đầu 3

1.2 Lý do chọn đề tài 3

1.3 Tóm tắt đề tài 3

2 Đặt vấn đề và xác định bài toán 4

2.1 Đặt vấn đề 4

2.2 Xác định bài toán và tiêu chí đánh giá 4

2.2.1 Yêu cầu bài toán 4

2.2.2 Tiêu chí đánh giá 5

3 Lý do chọn mô hình Yolo v8 6

4 Cấu tạo mô hình Yolo v8 7

5 Tiến hành 8

5.1 Xây dựng tập dữ liệu 8

5.2 Huấn luyện mô hình và kết quả huấn luyện 10

6 Kết quả và đánh giá 11

6.1 Kết quả 11

6.2 Đánh giá 12

7 Kết luận và đề xuất 13

7.1 Kết luận 13

7.2 Đề xuất 13

8 Tổng kết 13

9 Tài liệu tham khảo 14

Trang 3

1 Tổng quan về đề tài

1.1 Mở đầu

Trong chương trình đào tạo ngành Kỹ thuật máy tính, một học phần không thể thiếu của mỗi sinh viên là Các vấn đề hiện đại ngành Kỹ thuật máy tính Mục tiêu của học phần là mang đến cho sinh viên những hiểu biết về những chủ đề hiện đại mà các doanh nghiệp đang triển khai, áp dụng, trong những sản phẩm phục vụ đời sống, sản phẩm nghiên cứu Với mục tiêu như

vậy, tôi đã chọn cho mình đề tài “Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa”

1.2 Lý do chọn đề tài

Với những kiến thức mà mình tích luỹ được, tôi lựa chọn đề tài liên quan đến thị giác máy Thị giác máy (computer vision) là một lĩnh vực trong trí tuệ nhân tạo và khoa học máy tính, mà ở đó máy tính được lập trình để hiểu và giải quyết các vấn đề liên quan đến việc nhận diện và hiểu các hình ảnh

và video tương tự như con người Mục tiêu của thị giác máy là phát triển các thuật toán và mô hình máy tính có khả năng tự động hiểu, phân tích, và rút trích thông tin từ dữ liệu hình ảnh và video Trong cuộc sống nói chung và trong các dây chuyền sản xuất nói riêng, thị giác máy và các ứng dụng của nó đóng vai trò quan trọng trong việc triển khai, giám sát, tự động hoá các quy trình Nhận thấy việc phát hiện các vết xước trên bề mặt sản phẩm nhựa nếu thực hiện bằng

người thì độ chính xác còn thấp, tốc độ chậm, không đảm bảo được tính tự động

hoá của dây chuyền nên tôi đã thực hiện đề tài “Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa” để

giải quyết vấn đề này

1.3 Tóm tắt đề tài

Đề tài sẽ đưa ra lý do chọn mô hình Yolo v8, cách triển khai bài toán phát hiện vết xước trên bền mặt sản phẩm nhựa Một số khó khăn, phương

án giải quyết khi triển khai bài toán này Cuối cùng là kết quả, đánh giá, và những đề xuất để cải thiện hiệu quả của bài toán

Trang 4

2 Đặt vấn đề và xác định bài toán

2.1 Đặt vấn đề

- Vấn đề về độ chính xác: Trong dây chuyền sản xuất với số lượng sản phẩm lớn thì việc xác định các vết xước là điều khó Nhất là đối với những vết xước có kích thước nhỏ, con người sẽ rất khó để có thể phát hiện được Việc không phát hiện được không chỉ do yếu tố về mặt kích thước, mà còn do các yếu tố về góc nhìn, độ sáng của môi trường, hướng nhìn của mắt người

- Vấn đề về tốc độ: Nếu dây chuyền của chúng ta tạo ra rất nhiều sản phẩm trong thời gian ngắn, việc dùng con người để kiểm tra sẽ tốn nhiều nhân lực, kinh tế Vì tốc độ của con người là có giới hạn, không thể một lúc bao quát nhiều sản phẩm, đặc biệt là các sản phẩm có kích thước lớn

2.2 Xác định bài toán và tiêu chí đánh giá

2.2.1 Yêu cầu bài toán

Từ các vấn đề được đặt ra ở trên, hình thành yêu cầu bài toán:

- Phát hiện các vết xước trên bề mặt nhựa màu trắng(phần viền

hồng)

- Độ chính xác 98% trở lên, thời gian < 2 giây trên mỗi lần kiểm tra

- Chỉ dùng 2 mẫu để tạo dataset và vết xước

- Vết xước cỡ milimet

- Môi trường tự setup

- Camera điện thoại

Trang 5

Hình 1: Khu vực phát hiện vết xước

2.2.2 Tiêu chí đánh giá

- Các vết xước trên tập test (bề mặt không dùng để tạo tập train)

- Mô hình là tốt nhất khi có thể nhận biết tất cả các vết xước và không nhận sai thêm bất kỳ vết xước nào

- Kích thước nhỏ nhất tạo ra là ô có kích thước 1mmx1mm => 1.41mm

Trang 6

Hình 2: Tiêu chí đánh giá

3 Lý do chọn mô hình Yolo v8

YOLO (You Only Look Once) là một mô hình phát hiện đối tượng trong thị giác máy tính Đây là một mô hình phát hiện đối tượng nổi tiếng vì khả năng phát hiện và phân loại các đối tượng trong thời gian thực với độ chính xác cao Yolo hỗ trợ rất tốt cho các bài toán real-time nên ta chọn mô hình này Một số các mô hình khác cũng có thể sử dụng cho bài toàn này, tuy nhiên kích thước còn quá lớn, tốn nhiều tài nguyên và mang lại hiệu suất không cao Một số mô hình có thời gian thực thi quá lớn, không thể áp dụng khi yêu cầu là real-time

Hình 3: So sánh các phiên bản của Yolo

Trang 7

Có thể thấy khi so sánh các phiên bản khác nhau của Yolo, yolo v8 cho

độ chính xác vượt trội khi với số lượng tham số ít nhưng cho kết quả và thời gian thực thi tốt hơn nhiều so với những phiên bản tiền nhiệm

4 Cấu tạo mô hình Yolo v8

Hình 4: Cấu tạo mô hình Yolo v8

Cấu trúc của mô hình YOLO (You Only Look Once) bao gồm một số phần chính, bao gồm backbone network, neck architecture, detection head, anchor boxes, và các yếu tố khác Dưới đây là mô tả tổng quan về cấu trúc của

mô hình YOLO:

Backbone Network Đây là phần của mô hình thường được xây dựng từ một mạng nơ-ron tích chập (CNN) mạnh mẽ Mạng cơ bản có nhiệm vụ trích xuất các đặc trưng quan trọng từ hình ảnh đầu vào Trong YOLO, mạng cơ bản giúp mô hình học các đặc điểm chung của các đối tượng

Neck Architecture: Một số phiên bản YOLO sử dụng một kiến trúc cổ để kết hợp thông tin từ các lớp đặc trưng có độ phân giải khác nhau Điều này giúp nâng cao khả năng của mô hình trong việc nhận diện đối tượng ở các quy mô khác nhau

Detection Head: Phần này là nơi các dự đoán chính được thực hiện

Detection head tạo ra các bounding boxes (ô giới hạn) dự đoán cho đối tượng trong hình ảnh, cũng như dự đoán xác suất của các lớp đối tượng tương ứng

Anchor Boxes: YOLO sử dụng anchor boxes để dự đoán bounding boxes Anchor boxes là các hộp neo có kích thước được xác định trước, giúp mô hình

dự đoán vị trí và kích thước của đối tượng Sử dụng anchor boxes giúp cải thiện

độ chính xác của mô hình

Activation Function: Các hàm kích hoạt như Leaky ReLU thường được

sử dụng để giữ cho mô hình có khả năng học được thông tin phi tuyến tính

Trang 8

Loss Function (Hàm Mất Mát): Hàm mất mát được sử dụng để đo lường

sự chênh lệch giữa các dự đoán và nhãn thực tế Mục tiêu là cực tiểu hóa hàm mất mát để mô hình học được càng chính xác

Data Augmentation (Tăng Cường Dữ Liệu): Kỹ thuật tăng cường dữ liệu như xoay, co giãn, và làm mờ thường được sử dụng để tạo thêm đa dạng trong

dữ liệu đào tạo và làm cho mô hình chống lại biến động trong dữ liệu thực tế

Cấu trúc tổng thể của mô hình YOLO cho phép nó thực hiện việc nhận diện đối tượng trong hình ảnh một cách nhanh chóng và hiệu quả Tuy nhiên, chi tiết về cấu trúc cụ thể có thể thay đổi tùy thuộc vào phiên bản cụ thể của YOLO và các cải tiến cụ thể trong nghiên cứu và phát triển sau này

5 Tiến hành

5.1 Xây dựng tập dữ liệu

- Khó khăn: Do ít mẫu(1 mẫu) => dataset ít

- Giải pháp: Xoay theo các góc khác nhau để làm phong phú tập data, vì các điều kiện về ánh sáng, góc chụp có thể cố định nhưng hướng của các vết xước có thể thay đổi

Hình 5: Giải quyết khó khăn khi tập dữ liệu hạn chế

- Tạo hàm xoay nhận vào là ảnh và góc chạy từ 0-361 với step là 5

- Đầu ra là ảnh được lưu dưới dạng jpg

- Gán nhãn cho tập dữ liệu :

Trang 9

Hình 6: Gán nhãn

- Dùng phần mềm pyqt5_momolabelImg link Github để vẽ và xác định file txt bao gồm thông tin của các vết xước trong ảnh:

Hình 7: Dùng phần mềm pyqt5_momolabelImg

Trang 10

- Khó khăn: Sau khi xoay ta có 72 ảnh nhưng trong mỗi ảnh lại có 30 vết xước chồng chéo nên nếu dùng phần mềm vẽ thì khá mất thời gian và không đảm bảo chính xác giữa các lần

- Giải pháp: Dùng mặt phẳng xoay và phép resize để tìm box mới cho tập

dữ liệu

Hình 8: Dùng mặt phẳng xoay và phép resize

- Tìm điểm giữa, trái trên dưới, phải trên dưới bằng cách nhân điểm của góc xoay 0 độ (ban đầu) với các ma trận xoay tìm được

- Kiểm tra điều kiện và đưa ra chiều dài, rộng của box mới

- Làm tuần tự với từng góc và từng vết xước trong ảnh của góc đó

5.2 Huấn luyện mô hình và kết quả huấn luyện

Hình 9: Kết quả huấn luyện

Trang 11

- Kết quả thu được khi huấn luyện:

+ mAP trung bình là 0.93

+ Độ hồi quy dần về 1

+ Loss ở tập train và val gần về 0;

=> Kết quả tốt ở 100 epoches

6 Kết quả và đánh giá

6.1 Kết quả

- Kết quả với một dữ liệu khác mà mô hình chưa biết:

Hình 10: Kết quả test

- Đối chiều kết quả này với tiêu chí so sánh ban đầu:

Trang 12

Hình 11: Đối chiếu kết quả

Bảng: Thống kê kết quả

6.2 Đánh giá

=> Mô hình có thể phát hiện các vết xước có kích thước lớn hơn hoặc

bằng 1.41mm (1mmx1mm)

=> Mức độ confidence chưa quá tốt

=> Do sự sai lệch khi đặt và góc chụp nên một số vết xước cho

confidence chưa cao: 8mm chỉ cho 0.36

Trang 13

=> Thời gian detect ngắn, khoảng 37ms, phù hợp cho real-time

7 Kết luận và đề xuất

7.1 Kết luận

Ưu điểm:

- Xây dựng được bộ data set hiệu qủa dựa trên lượng mẫu ít

- Phát hiện được các vết xước có kích thước nhỏ (cỡ milimet)

- Thời gian phát hiện nhanh,cỡ mili giây

Nhược điểm:

- Confidence tổng quan còn chưa quá tốt

- Một số vết xước do sai lệch về góc chụp và điều kiện ánh sáng nên

có confidence thấp

7.2 Đề xuất

- Sử dụng đèn có độ bao phủ lớn chiếu từ phía ngang của bề mặt sản phẩm để nổi rõ các vết xước, đặt mẫu trong hộp kín rồi bật đèn và chụp => tránh nhiễu do ánh sáng bên ngoài

- Dùng camera có độ phân giải cao hơn, có thể lấy nét khi đặt gần, vì việc zoom kỹ thuật số khiến ảnh rất nhiễu, không thể xử lý bằng thuật toán

- Cố định camera, khoảng cách từ camera đến sản phẩm, vị trí sản phẩm, khi sản xuất trên có thể sử dụng hệ thống đặt vật vào đúng vị trí quy định

8 Tổng kết

Đề tài “Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa” đã giải quyết được bài toán thực tế của

doanh nghiệp trong khâu kiểm định chất lượng sản phẩm Mô hình YOLO v8 đã cho thấy khả năng nhận diện vết xước với độ chính xác cao, giúp tăng cường hiệu suất trong quá trình kiểm định chất lượng sản phẩm Sự linh hoạt của mô hình này cho phép chúng tôi thích nghi với các điều kiện ánh sáng khác nhau, các góc chụp hình và các kích thước sản phẩm, làm tăng tính ứng dụng của nó trong môi trường sản xuất thực tế

Trang 14

Đặc biệt, việc sử dụng mô hình YOLO v8 giúp giảm thiểu sai số và tăng cường độ tin cậy của quy trình kiểm định chất lượng Nhờ vào khả năng học sâu, mô hình có thể hiểu biểu đồ hình ảnh một cách tự nhiên, từ đó nâng cao khả năng nhận diện và phân loại vết xước so với các phương pháp truyền thống

Sự tích hợp của mô hình này vào quy trình sản xuất không chỉ giúp tiết kiệm thời gian mà còn mang lại sự hiệu quả về chi phí Quy trình tự động hóa của YOLO v8 giúp giảm tải công việc cho nhân viên kiểm định chất lượng và đồng thời giảm nguy cơ nhầm lẫn và thiếu sót trong quá trình kiểm tra sản phẩm

Tóm lại, việc áp dụng mô hình học sâu YOLO v8 vào bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa không chỉ giúp doanh nghiệp nâng cao chất lượng sản phẩm mà còn tối ưu hóa quy trình sản xuất Điều này mở ra nhiều triển vọng và cơ hội cho ứng dụng của công nghệ học sâu trong lĩnh vực kiểm định chất lượng và quản lý sản xuất trong tương lai

9 Tài liệu tham khảo

1 https://docs.ultralytics.com

https://www.freecodecamp.org/news/how-to-detect-objects-in-images-using-yolov8/

3 Comparison of Pre-Trained YOLO Models on Steel Surface Defects

Detector Based on Transfer Learning with GPU-Based Embedded Devices

https://www.mdpi.com/1424-8220/22/24/9926

Ngày đăng: 14/12/2023, 12:08

HÌNH ẢNH LIÊN QUAN

Hình 1: Khu vực phát hiện vết xước - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 1 Khu vực phát hiện vết xước (Trang 5)
Hình 2: Tiêu chí đánh giá - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 2 Tiêu chí đánh giá (Trang 6)
Hình 3: So sánh các phiên bản của Yolo - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 3 So sánh các phiên bản của Yolo (Trang 6)
Hình 4: Cấu tạo mô hình Yolo v8 - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 4 Cấu tạo mô hình Yolo v8 (Trang 7)
Hình 5: Giải quyết khó khăn khi tập dữ liệu hạn chế - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 5 Giải quyết khó khăn khi tập dữ liệu hạn chế (Trang 8)
Hình 6: Gán nhãn - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 6 Gán nhãn (Trang 9)
Hình 7: Dùng phần mềm pyqt5_momolabelImg - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 7 Dùng phần mềm pyqt5_momolabelImg (Trang 9)
Hình 9: Kết quả huấn luyện - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 9 Kết quả huấn luyện (Trang 10)
Hình 8: Dùng mặt phẳng xoay và phép resize - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 8 Dùng mặt phẳng xoay và phép resize (Trang 10)
Hình 10: Kết quả test. - Áp dụng mô hình học sâu Yolo v8 để giải quyết bài toán phát hiện vết xước trên bề mặt sản phẩm nhựa (Các vấn đề hiện đại của Kỹ thuật máy tính)
Hình 10 Kết quả test (Trang 11)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w