1. Trang chủ
  2. » Công Nghệ Thông Tin

Thị giác máy tính Phát hiện tàu bằng thuật toán YOLOv5

20 179 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

Báo cáo cuối kỳ môn Thị giác máy tính phát hiện vật thể con tàu dựa vào kỹ thuật Phân đoạn ảnh. Áp dụng frameword YOLOv5 để xử lý vấn đề một cách nhanh chóng và chính xác hơn. Bao gồm các phần Tổng quan, Cơ sở lý thuyết, Thiết kế hệ thống, Kết quả, Kết luận.

UỶ BAN NHÂN DÂN TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC SÀI GÒN ℘℘ BÁO CÁO CUỐI KỲ MƠN: THỊ GIÁC MÁY TÍNH KHOA CƠNG NGHỆ THƠNG TIN Đề tài: PHÁT HIỆN TÀU BẰNG YOLOv5 Giáo viên hướng dẫn: PGS.TS Phạm Thế Bảo Nhóm sinh viên thực hiện: Nhóm Trần Lê Quốc Thái MSSV: 3119411064 Nguyễn Vĩnh Bảo MSSV: 3119411010 Lớp: DCT119C1 TP HCM, 05-2022 MỤC LỤC DANH MỤC HÌNH ẢNH Hình Sơ đồ mạng YOLO Hình Residual blocks Hình Bounding box regession Hình Intersection Over Union Hình Kiến trúc output model YOLO Hình Các feature maps mạng YOLOv3 với input shape 416 x 416, output feature maps có kích thước 13 x 13, 26 x 26 52 x 52 Hình Xác định anchor box cho vật thể Hình Phiên YOLOv5 Hình Hình ảnh tàu label hình Hình 10 Chuẩn bị folder data Hình 11 Kết train Hình 12 Biểu đồ kết Trang CHƯƠNG : TỔNG QUAN 1.1 Giới thiệu : Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence – viết tắt AI) ngành thuộc lĩnh vực khoa học máy tính (Computer science) Là trí tuệ người lập trình tạo nên với mục tiêu giúp máy tính tự động hóa hành vi thơng minh người Ngày nay, trí tuệ nhân tạo- Artificial intelligence (AI) ngày phổ biến góp phần thay đổi sâu sắc nhiều khía cạnh sống hàng ngày Trong thị giác máy tính – Computer Vision (CV) lĩnh vực quan trọng AI bao gồm phương pháp thu nhận, xử lý ảnh kĩ thuật số, phân tích nhận dạng hình ảnh Mạng Nơron học sâu (Deep learning) lĩnh vực nghiên cứu thuật tốn, chương trình máy tính để máy tính học tập đưa dự đốn người Nó ứng dụng vào nhiều ứng dụng khác khoa học, kỹ thuật, lĩnh vực đời sống khác ứng dụng phân loại phát đối tượng Một ví dụ điển hình CNN (Convolutional Neural Network) áp dụng để nhận dạng tự động, tìm hiểu mẫu phân biệt từ ảnh bảng cách xếp chồng liên tiếp lớp lên nhiều ứng dụng, CNN coi trình phân loại ảnh mạnh thúc đẩy công nghệ lĩnh vực thị giác máy tính, làm địn bẫy cho q trình học máy Nhưng bên cạnh đó, để phân loại đối tượng cơng nghệ CNN tiêu tốn cực lớn tài nguyên bảng thông, nhớ khả xử lý phần cứng Để giảm thiểu tài ngun tiêu hao này, thuật tốn, mơ hình giải thuật theo thời gian đời ngày nhiều có mơ hình YOLOv5 cho tốn nhận diện, cụ thể ứng dụng vào đề tài “Phát tàu” 1.2 Mục tiêu đề tài : - Vận dụng kiến thức huấn luyện mạng nơ-ron Xây dựng mơ hình có khả huấn luyện tập liệu tàu khác Trang - Nhận diện tàu có tập liệu 1.3 Giới hạn đề tài : - Trong đề tài nhận diện tàu không nhận diện đối tượng khác Tập liệu có số lượng ảnh hưởng đến độ xác mơ hình 1.4 Phương pháp nghiên cứu : - Dựa kiến thức học kiến thức huấn luyện mạng nơron Thu thập tài liệu, tham khảo ứng dụng liên quan có trước 1.5 Đối tượng phạm vi nghiên cứu : Phát tàu biển có liệu 1.6 Bố cục báo cáo : Đề tài có tổng cộng chương: • Chương – Tổng quan Trong chương tìm hiểu vấn đề hình thành nên đề tài Kèm theo số nội dung giới hạn đề tài mà nhóm thực đề tài đặt • Chương – Cơ sở lý thuyết Giới thiệu kiến thức tảng công nghệ phần mềm sử dụng đề tài bao gồm kiến thức xử lý ảnh, lý thuyết mạng nơron, đặc điểm cách huấn luyện tập liệu YOLOv5 • Chương – Thiết kế hệ thống Lên kế hoạch sử dụng tập mẫu, diễn giải thông số mô hình, trình huấn luyện, trình kiểm tra thiết kế hệ thống nhận diện phát tàu tảng YOLOv5 • Chương – Kết Kiểm tra kết trình huấn luyện, kiểm tra mơ hình hệ thống • Chương – Kết luận Trang Trong chương trình bày kết đề tài đạt so với mục tiêu đặt CHƯƠNG : CƠ SỞ LÝ THUYẾT Trong vài năm trở lại đây, Object Detection đề tài hot Deep learning khả ứng dụng cao, liệu dễ chuẩn bị kết ứng dụng nhiều Các thuật tốn Object Detection YOLO, SSD có tốc độ nhanh độ xác cao nên giúp cho Object Detection thực tác vụ dường real time, chí nhanh so với người mà độ xác khơng giảm Các mơ hình trở nên nhẹ nên hoạt động thiết bị IoT để tạo nên thiệt bị thông minh 2.1 Tổng quan YOLO Yolo (You Only Look Once) mô hình mạng CNN cho việc phát hiện, nhận dạng, phân loại đối tượng Yolo tạo từ việc kết hợp convolutional layers connected layers.Trong đóp convolutional layers trích xuất feature ảnh, cịn full-connected layers dự đốn xác suất tọa độ đối tượng YOLO khơng phải thuật tốn tốt thuật tốn nhanh lớp mơ hình object detection Nó đạt tốc độ gần real time mà độ xác khơng q giảm so với model thuộc top đầu Một ưu điểm mà YOLO đem lại sử dụng thơng tin tồn ảnh lần dự đốn tồn object box chứa đối tượng Tính đến thời điểm YOLO có tổng cộng có phiên (v1, v2, v3, v4, v5) Trong v5 phiên nhất, khắc phục nhược điểm phiên trước như: lỗi việc xác định vị trí Trang vật thể, rang buộc không gian bounding box, grid cell predict bounding box,… 2.1.1 Kiến trúc mạng YOLO Kiến trúc mạng YOLO bao gồm: Base network mạng convolution làm nhiệm vụ trích xuất đặc trưng Phần phía sau Extra Layers áp dụng để phát vật thể feature map base network Hình Sơ đồ mạng YOLO Thành phần Darknet Architechture gọi base network có tác dụng trích suất đặc trưng Output base network feature map có kích thước 7x7x1024 sử dụng làm input cho Extra layers có tác dụng dự đốn nhãn tọa độ bounding box vật thể Base network YOLO sử dụng chủ yếu convolutional layer Trong convulutional layers trích xuất feature ảnh, cịn full-connected layers dự đốn xác xuất tọa độ đối tượng 2.1.2 Cách hoạt động mạng YOLO Thuật toán YOLO hoạt động cách sử dụng ba kỹ thuật sau: • • • Residual blocks (khối dư) Bounding box regession (Hồi quy hộp giới hạn) Intersection Over Union (IOU) 2.1.2.1 Residual blocks Đầu tiên, hình ảnh chia thành nhiều lưới khác Mỗi lưới có kích thước S x S Hình cho thấy hình ảnh đầu vào chia thành lưới, có nhiều lưới có kích thước Mỗi ô lưới phát vật thể xuất bên chúng Trang Hình Residual blocks 2.1.2.2 Bounding box regession Bounding box regression toán dự đốn output biến liên tục, bounding box regression (x,y,w,h) bốn biến liên tục nên ta gọi toán regression Mỗi Bounding box hình ảnh bao gồm thuộc tính sau: • • • • Chiều rộng (bw) Chiều cao (bh) Các lớp (ví dụ : tàu, tơ,…) Được thể chữ c Đường viền tâm hộp (bx, by) Trang Hình Bounding box regession 2.1.2.3 Intersection Over Union IOU hàm đánh giá độ xác object detector tập liệu thức tính IOU thể quan Hình Hình Intersection Over Union Trong Area of Overlap diện tích phần giao predicted bounding box với grouth-truth bouding box, Area of Union diện tích phần hợp predicted bounding box với grouth-truth bouding box Trang Những bounding box đánh nhãn tay tập traing set test set Nếu IOU > 0.5 prediction đánh giá tốt 2.2 Output YOLO Output mô hình YOLO véc tơ bao gồm thành phần: Trong : • P0 xác suất dự báo vật thể xuất bounding box giúp xác định bounding box Trong tx, ty tọa độ • tâm tw, th kích thước rộng, dài bounding box • véc tơ phân phối xác xuất dự báo classes Như output xác định theo số lượng classes theo công thức (n_class + 5) Nếu huấn luyện 80 classes bạn có output 85 Trường hợp áp dụng anchors/cell số lượng tham số output là: Trang Hình Kiến trúc output model YOLO 2.3 Dự báo nhiều feature map Cũng tương tự SSD, YOLOv3 dự báo nhiều feature map Những feature map ban đầu có kích thước nhỏ giúp dự báo object kích thước lớn Những feature map sau có kích thước lớn Trang 10 anchor box giữ cố định kích thước nên giúp dự báo vật thể kích thước nhỏ Hình Các feature maps mạng YOLOv3 với input shape 416 x 416, output feature maps có kích thước 13 x 13, 26 x 26 52 x 52 Trên cell feature map áp dụng anchor box để dự đoán vật thể Như số lượng anchor box khác mơ hình YOLO (3 featue map x anchor box) Đồng thời feature map hình vng S x S, mơ hình YOLOv3 sinh số lượng anchor box là: S x S x Như số lượng anchor boxes ảnh là: 2.4 Anchor box Để tìm bounding box cho vật thể, YOLO cần anchor box làm sở ước lượng Những anchor box xác định trước bao quanh vật thể cách tương đối xác Sau thuật tốn regression bounding box tinh chỉnh lại anchor box để tạo bounding box dự đốn cho vật thể Trong mơ hình YOLO: Trang 11 Hình Xác định anchor box cho vật thể 2.5 Tổng quan YOLOv5 YOLOv5 cải tiến mang tính mở rộng theo cách tự nhiên YOLOv3 PyTorch tác giả Glenn Jocher Kho lưu trữ YOLOv3 PyTorch điểm đến phổ biến cho nhà phát triển để chuyển trọng số YOLOv3 Darknet sang PyTorch sau chuyển sang sản xuất Thuật toán YOLOv5 thừa hưởng từ phương pháp YOLO nhiên YOLOv5 áp dụng số thuật toán phát vật thể nhanh tối ưu hóa phép tốn thực giúp tăng tốc độ nhận diện giảm thời gian huấn luyện cách tối ưu 2.5.1 Cấu trúc mạng YOLOv5 Cấu trúc YOLOv5 gồm phần : Backbone: mơ hình để học vị trí đặc trưng vật thể, đặc điểm hình ảnh mức độ chi tiết khác Head : để tăng khả phân biệt đặc trưng dự đoán class bounding box Bao gồm tầng: • • DenseNet tầng giúp dự đốn tồn mơ hình RPN YOLO SSD Sparse Preediction giúp dự đoán với mảng dự đốn vật thể với mơ hình RCNN Neck : nằm Backbone Head , giúp làm giàu thông tin cách kết hợp thông tin trình bottom-up trình top-down Trang 12 2.6 Phân loại YOLOv5 Khác với YOLO trước, YOLOv5 cung cấp phiên với kiến trúc mạng khác nhau: • • • • YOLOv5s phiên nhỏ YOLOv5m phiên trung bình YOLOv5l phiên lớn YOLOv5x phiên cực lớn Hình Phiên YOLOv5 2.7 Những cải tiến YOLOv5 so với phiên trước Năm 2020, Glenn Jocher cho mắt YOLOv5 kho lưu trữ Ultralytics YOLOv5 có cải tiến so với YOLOv4: • • • • Cải thiện cấu hình huấn luyện Cải thiện thời gian huấn luyện Tốc độ phát nhanh YOLOv5 có nhiều phiên phù hợp với đối tượng sử dụng => tính thực thi cao Nhưng so độ xác YOLOv4 chiếm phần tối ưu CHƯƠNG : THIẾT KẾ HỆ THỐNG Trang 13 3.1 Tập liệu chuẩn bị cho trình huấn luyện Bước : Dùng phần mềm Make Sence để gán nhãn cho hình ảnh tàu tập liệu Hình Hình ảnh tàu label hình Bước : Lưu hình ảnh nhãn (labels) dạng tập folder sau Trang 14 Hình 10 Chuẩn bị folder data 3.2 Hóa trình huấn luyện Bước : Cài đặt môi trường YOLOv5 Google Colab Bước : Truyền liệu data vào Colab Nén folder data thành file rar zip với tên “coco128” Dùng câu lệnh bên để giải nén nội dung bên tập liệu Bước : Tiến hành thay đổi liệu YOLOv5 Trang 15 Vào file data/coco128.yaml để thay đổi liệu gốc YOLOv5 Thay đổi đường liên kết đến tập liệu data coco128 truyền lên lúc đầu Thay đổi classes với nc:1 name boat Bước : Tiến hành huấn luyện Tiến hành train tập liệu với kích thước ảnh 460 train 150 lần Với tập liệu có quy mơ nhỏ sử dụng YOLOv5s để tăng tốc độ train lên cách đáng kể Trang 16 CHƯƠNG : KẾT QUẢ Sau train 150 lần thu kết với độ xác cao 50% Trang 17 Hình 11 Kết train Hình 12 Biểu đồ kết Chương : KẾT LUẬN Trang 18 Thuật toán YOLOv5 phát đối tượng tàu tương đối xác với tốc độ nhanh gần real-time, khơng khơng thể xác cao thuật tốn khác mơ hình Object Detection YOLO mơ hình Object Detection phát vật thể nên mục tiêu mơ hình khơng dự báo nhãn cho vật thể tốn classification mà cịn xác định nhiều vật thể có nhãn khác ảnh thay phân loại nhãn cho ảnh Trang 19 ... nghiên cứu thuật tốn, chương trình máy tính để máy tính học tập đưa dự đoán người Nó ứng dụng vào nhiều ứng dụng khác khoa học, kỹ thuật, lĩnh vực đời sống khác ứng dụng phân loại phát đối tượng... loại YOLOv5 Khác với YOLO trước, YOLOv5 cung cấp phiên với kiến trúc mạng khác nhau: • • • • YOLOv5s phiên nhỏ YOLOv5m phiên trung bình YOLOv5l phiên lớn YOLOv5x phiên cực lớn Hình Phiên YOLOv5. .. LUẬN Trang 18 Thuật toán YOLOv5 phát đối tượng tàu tương đối xác với tốc độ nhanh gần real-time, không xác cao thuật tốn khác mơ hình Object Detection YOLO mơ hình Object Detection phát vật thể

Ngày đăng: 18/07/2022, 22:33

Xem thêm:

TỪ KHÓA LIÊN QUAN

w