(TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

48 18 0
(TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BỘ MÔN CƠ ĐIÊN TƯ BÀI TẬP LỚN Sử dụng thuật toán YOLO để nhận diện người đeo trang Trí tuệ nhân tạo Robot – ME5667 Lớp: 129543 – Nhóm 13 Giảng viên dẫn: Sinh viên: hướng TS Hồng Hồng Hải TS Nguyễn Xuân Thuận Nguyễn Văn Nghĩa MSSV: 20184564 Nguyễn Hữu Tường Vũ MSSV: 20184678 HÀ NỘI, 07/2022 Đánh giá giảng viên hướng dẫn ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………… Kết đánh giá Họ tên Nguyễn Văn Nghĩa Nguyễn Hữu Tường Vũ Hà Nội, ngày tháng năm2022 Giảng viên hướng dẫn MỤC LỤC CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI……………………………… 1.1 Giới thiệu chung…………………………………………………….1 1.2 Tổng quan YOLO……… …………………………………… 1.3 Thuật tốn YOLO………………………………………………… CHƯƠNG CÀI ĐẶT CẤU HÌNH cuDNN…………………… ……12 CHƯƠNG KHỞI TẠO GOOGLE COLAB……………………… 13 3.1 Tổng quan Google Colab……………………………………….13 3.2 Enable CPU Google Colab……………………………… …15 3.3 Cấp phép cho Google Colab………………………………………17 CHƯƠNG HUẤN LUYỆN YOLO TRÊN GOOGLE COLAB……18 4.1 Khởi tạo project darknet…………………………………… ……18 4.2 Chuẩn bị liệu…………………………………………… ……19 4.3 Cấu hình darknet……………………………………………… …22 4.4 Các hàm phụ trợ…………………………………… ……………24 4.5 Huấn luyện mơ hình…………………………………… ……… 24 4.6 Dự báo ước tính thời gian huấn luyện………………….………28 CHƯƠNG 5: KẾT QUẢ……………… ……………………………….30 CHƯƠNG KẾT LUẬN……………………………………….………30 TÀI LIỆU THAM KHẢO 31 CHƯƠNG Tổng quan đề tài 1.1 Giới thiệu chung Đại dịch Covid-19 diễn năm chưa có dấu hiệu dừng lại Tính đến ngày 14/02/2022, giới ghi nhận 405,961,201 ca nhiễm, với 5,789,567 ca tử Tính riêng Việt Nam có 2,510,860 ca nhiễm 38,949 ca tử vong Covid-19 gây nhiều thiệt hại vơ nặng nề tồn giới, từ sức khỏe người đến kinh tế, văn hóa, trị Ở Việt Nam, nhiều tỉnh thành phố phải thực giãn cách xã hội nhiều lần, kể đến tháng giãn cách xã hội thành phố Hồ Chí Minh (từ tháng đến tháng năm 2021), tháng giãn cách xã hội Thủ đô Hà Nội (từ tháng 10 đến tháng 11 năm 2021) gây nhiều thiệt hại nặng nề Trong giai đoạn phịng chống dịch kết hợp bình thường hóa hoạt động, bối cảnh học sinh, sinh viên quay trở lại trường học sau nhiều tháng nhà học online, tình hình dịch bệnh diễn biến phức tạp Để ngăn chặn dịch bệnh lây lan, cần tự có ý thức bảo vệ thân cách tuân thủ biện pháp phòng tránh dịch quy tắc 5K, đặc biệt đeo trang nơi cơng cộng Từ nhóm chúng em nảy ý tưởng thiết kế module sử dụng trí tuệ nhân tạo, gắn cổng vào quan trường học với mục đích kiểm sốt nhắc nhở người dân thực đeo trang nơi cơng cộng Với làm vừa kiểm soát người đeo trang, nhắc nhở phận nhỏ cịn có tâm lý chủ quan khơng đeo trang mà vừa làm giảm tiếp xúc người với người Sau này, có điều kiện phát triển module hơn, nhóm em mong đưa Module tích hợp vào Robot tự hành quan xí nghiệp, trường học, trung tâm thương mại, góp phần nhanh chóng đẩy lùi dịch bệnh Covid-19 Qua tìm hiểu kiến thức sách tài liệu mạng, nhóm em định sử dụng thuật tốn học sâu deep learnig Yolo4 để nhận diện người đeo trang 1.2 Tổng quan YOLO Có lẽ 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 Ngồi ra, thuật tốn object detection tạo ứng dụng đa dạng như: Đếm số lượng vật thể, tốn tiền quầy hàng, chấm cơng tự động, phát vật thể nguy hiểm súng, dao,… nhiều ứng dụng khác Có thể nói dường lĩnh vực ứng dụng object detection Bên cạnh nguồn liệu ảnh lại vơ đa dạng sẵn có cần google tìm tất cần Đó ưu điểm để huấn luyện model object detection 1.2.1 Mạng Yolo gì? Có nhiều bạn thắc mắc câu hỏi YOLO nghe giống slogan “You only live once” phải không? Nhưng YOLO object detection có nghĩa “You only look once” Tức cần nhìn lần phát vật thể Rất nhanh mạnh phải không nào? Thật vậy, độ xác 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 YOLO thuật toán object detection 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 location vật thể Do YOLO phát nhiều vật thể có nhãn khác ảnh thay phân loại nhãn cho ảnh Sở dĩ YOLO phát nhiều vật thể ảnh thuật tốn có chế đặc biệt mà chúng em tìm hiểu đề tài lần 1.2.2 Một số khái niệm: Nguyên lý hoạt động mạng nơ ron tích chập (Convolutional Neural Network): Đây mạng nơ ron áp dụng layer Convolutional kết hợp với Maxpooling để giúp trích xuất đặc trưng ảnh tốt Bạn đọc tham khảo Lý thuyết mạng tích chập neural Khái niệm bounding box, anchor box: Bounding box khung hình bao quanh vật thể Anchor box khung hình có kích thước xác định trước, có tác dụng dự đốn bounding box Feature map: Là khối output mà ta chia thành lưới vng áp dụng tìm kiếm phát vật thể cell Non-max suppression: Phương pháp giúp giảm thiểu nhiều bounding box overlap bounding box có xác suất lớn 1.3 Thuật toán YOLO 1.3.1 Kiến trục mạng YOLO - Kiến trúc 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 Base network YOLO sử dụng chủ yếu convolutional layer fully conntected layer Các kiến trúc YOLO đa dạng tùy biến thành version cho nhiều input shape khác Hình 1.1: Sơ đồ kiến trúc 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ể Trong YOLO version tác giả áp dụng mạng feature extractor darknet-53 Mạng gồm 53 convolutional layers kết nối liên tiếp, layer theo sau batch normalization activation Leaky Relu Để giảm kích thước output sau convolution layer, tác giả down sample filter với kích thước Mẹo có tác dụng giảm thiểu số lượng tham số cho mô hình Hình 1.2: Các layer mạng darknet-53 Các ảnh đưa vào mơ hình scale để chung kích thước phù hợp với input shape mơ hình sau gom lại thành batch đưa vào huấn luyện Hiện YOLO hỗ trợ đầu vào 416x416 608x608 Mỗi đầu vào có thiết kế layers riêng phù hợp với shape input Sau qua layer convolutional shape giảm dần theo cấp số nhân Cuối ta thu feature map có kích thước tương đối nhỏ để dự báo vật thể ô feature map Kích thước feature map phụ thuộc vào đầu vào Đối với input 416x416 feature map có kích thước 13x13, 26x26 52x52 Và input 608x608 tạo feature map 19x19, 38x38, 72x72 - 1.3.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 b t x ,t y ,t w , th bounding box t w ,t h kích thước rộng, dài bounding p1 , p2 , p3 … pc scoresof c classes Việc hiểu output quan trọng để cấu hình tham số chuẩn xác huấn luyện model qua open source darknet 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 bạn áp dụng anchors/cell số lượng tham số output là: (n_class+5) x = 85 x = 255 Hình 1.3: Kiến trúc output model YOLO Hình ảnh gốc feature map kích thước 13x13 Trên cell feature map lựa chọn anchor boxes với kích thước khác Box 1, Box , Box cho tâm anchor boxes trùng với cell Khi output YOLO véc tơ concatenate bounding boxes Các attributes bounding box mô tả dịng cuối hình 1.3.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 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 1.4: Các feature maps mạng YOLOv3 Với input shape 416x416, output feature maps có kích thước 13x13, 26x26 52x52 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à: (13 x 13 + 26 x 26 + 52 x 52) x = 10647 (anchor boxes) Đây số lượng lớn ngun nhân khiến q trình huấn luyện mơ hình YOLO vơ chậm cần dự báo đồng thời nhãn bounding box đồng thời 10647 bounding boxes Một số lưu ý huấn luyện YOLO: Khi huấn luyện YOLO cần phải có RAM dung lượng lớn để save 10647 bounding boxes kiến trúc Không thể thiết lập batch_size q lớn mơ hình classification dễ Out of memory Package darknet YOLO chia nhỏ batch thành subdivisions cho vừa với RAM Thời gian xử lý step YOLO lâu rất nhiều lần so với mô hình classification Do nên thiết lập steps giới hạn huấn luyện cho YOLO nhỏ Đối với tác vụ nhận diện classes, 5000 steps thu nghiệm tạm chấp nhận Các mô hình có nhiều classes tăng số lượng steps theo cấp số nhân tùy bạn 1.3.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 - annotation chúng (định dạng txt) Bên nội dung file annotation.txt Nội dung file annotation bao gồm: Trong đó: giá trị tâm kích thước width, height bounding box chuẩn hóa cách chia cho width height ảnh, giá trị ngày ln nằm khoảng [0, 1] giá trị index đánh dấu classes Trong trường hợp ảnh có nhiều bounding box file annotation gồm nhiều dịng, bounding box dòng Cảc ảnh annotation phải để chung folder Bạn đọc tham khảo qua liệu mẫu Dữ liệu ảnh sản phẩm TMDT 4.2.2 Dự liệu thực hành Lệnh clone liệu folder traindata project Lưu ý: Không đặt tên folder traindata trùng với folder data mặc định darknet Nếu không xảy lỗi Cannot load image dự báo nhãn dự báo hình ảnh khơng hiển thị Dữ liệu folder img bao gồm file ảnh file annotation (có txt) chúng 4.2.3 Phân chia liệu train/validation 31 bước ta tạo file train.txt valid.txt chứa liệu đường dẫn tới file hình ảnh nằm tập train validation Chúng ta sử dụng đoạn code bên để lựa chọn ngẫu nhiên 20 files làm liệu validation files lại làm liệu train Ở 4.3 Cấu hình darknet 4.3.1 Tạo file object name Đây files chứa tên classes mà huấn luyện mơ hình Trên file này, thứ tự classes name cần phải đặt với index file label vật thể Đoạn code sử dụng lệnh echo bash để tạo write nội dung vào file obj.names Sau đó, file obj.names tạo thành project foler Bạn mở file để kiểm tra nội dung 4.3.2 Tạo file config data File config data khai báo số thông tin như: Số lượng classes Đường dẫn tới file train.txt, test.txt Đường dẫn tới file obj.names 32 Thư mục backup mô hình huấn luyện Chạy lệnh bên để tạo file 4.3.3 Tạo file config model Đây bước quan trọng huấn luyện model YOLO Chúng ta sử dụng file yolov3.cfg để cấu hình mơ hình huấn luyện Các bạn download file máy điều chỉnh dòng: Tại dòng 610, 696, 783: Thay classes=80 thành classes=5 số lượng classes huấn luyện Tại dòng 603, 689, 776: Thay số lượng filters=255 filter=30 Đây layer cuối base network Do chúng có output shape thay đổi theo số lượng classes theo công thức trước là: (n_classes + 5)x3 = (5+5)x3 = 30 max_batches: dòng 20 số lượng steps tối đa để huấn luyện models YOLO Đối với liệu classes cần điều chỉnh max_batches=5000 có nghiệm tốt burn_in: Tại dòng 19 số lượng steps ban đầu giữ cho learning_rate bé Giá trị tăng dần từ đến learning_rate Sau learning_rate giữ ổn định Thực nghiệm cho thấy thiết lập learning_rate bé steps đầu giúp cho thuật toán hội tụ nhanh Do số lượng max_batches 5000 nên cần điều chỉnh giảm burn_in = 100 steps: Tại dòng 22 Điều chỉnh steps=4000,4500 Đây vị trí step mà bắt đầu giảm dần learning_rate thuật tốn đạt tới điểm hội tụ nên không cần thiết lập learning_rate cao Sau thực thay đổi xong, bạn save file lại push lên project darknetGoogleColab google driver Trước đó, đổi tên lại thành yolov3-5c-5000-maxsteps.cfg để đánh dấu cấu hình cho yolo version với classes 5000 bước huấn luyện Các file config có sẵn github repo nên download sử dụng 33 4.4 Các hàm phụ trợ Để thuật lợi cho việc đọc ghi hiển thị hình ảnh, tơi xây dựng hàm phụ trợ có chức sau: imShow(): Hiển thị hình ảnh từ path upload(): Upload file từ local lên google drive download(): Download file từ path mạng 4.5 Huấn luyện mơ hình 4.5.1 Dowload pretrain model YOLO huấn luyện nhiều model pretrain Những mơ hình xây dựng liệu ảnh mẫu lớn như: COCO, Pascal VOC, Imagenet, CIFAR Đây liệu có định dạng format chuẩn, đảm bảo tổ chức viện nghiên cứu lớn giới nên hồn tồn yên tâm chất lượng liệu List danh sách model pretrain bạn theo dõi Darknet YOLO 34 Ở ví dụ thực hành này, sử dụng pretrain model darknet53.conv.74 dược huấn luyện từ liệu ImageNet Trước tiên clone file weight google drive 4.5.2 Backup model Tạo folder backup để lưu kết huấn luyện sau 1000 steps Folder backup phải trùng với tên với link folder backup khai báo step 4.3.3 tạo file config data Nếu để 1000 steps backup model lâu Để tránh lỗi phát sinh huấn luyện 1000 steps đầu tiên, project tơi điều chỉnh sẵn last model backup sau 100 steps 4.5.3 Huấn luyện model Để huấn luyện model ta cần thực lệnh detector train Tổng quát cú pháp: !./darknet detector train [data config file] [model config file] [pretrainmodel weights] -dont_show > [file log saved] Trong [data config file], [model config file] file config [pretrain- model weights] file model pretrain [file log saved] file log trình training Note: Khi save log vào [file log saved] mặc định mơ hình bạn khơng hiển thị log ngồi hình Nhiều bạn hiểu lầm mơ hình ngừng chạy Để hiển thị log trình huấn luyện bạn bỏ > [file log saved] cuối câu lệnh Nếu bạn gặp lỗi: CUDA Error: out of memory: File exists 36 Hãy quay trở lại file yolov3-5c-5000-max-steps.cfg điều chỉnh tăng subdivisions=32 Sau train lại model từ đầu Tổng cộng trình train hết khoảng 5h đồng hồ Nếu bạn muốn ngồi đợi thành quả, kiên nhẫn chờ đợi Hoặc muốn có thành quả, download file pretrain nhận diện sản phẩm TMDT Một số lưu ý: Log chương trình khơng hình save vào file yolov3-5c.log Mục đích để lưu lại log nhằm visualize loss function (xem mục 4.5.4) Nếu bạn muốn monitor hình google colab chạy lệnh: !./darknet detector train obj.data yolov3-5c-5000-max-steps.cfg darknet53.conv.74 -dont_show Bạn mở google colab khác để thực mục 4.5.4 visualize loss function Đừng quên kiểm tra đường truyền internet thường xuyên Google Colab tự động kill session offline vòng 1h Tức bạn tắt colab bị disconnect internet thứ tiếp diễn 1h sau luồng training bị kill Google colab đồng thời cho phép độ dài tối đa session 12h Vì với liệu lớn huấn luyện mơ hình object detection google colab việc bất khả thi 4.5.4 Visualize hàm loss function Kết huấn luyện mơ hình qua step lưu vào file yolov35c.log Chúng ta sử dụng file để visualize hàm loss function Trong git project customize từ darknet code sẵn file có tác dụng visualize loss function Ý tưởng xử lý khơng có khó, tìm log dịng có Average Loss trích xuất giá trị loss function visualize Bạn đọc mở file nghiên cứu 37 Như đồ thị loss function cho thấy thuật toán hội tụ sau khoảng 7000 batches Loss function giai đoạn sau có xu hướng tiệm cận gần 4.6 Dự báo ước tính thời gian huấn luyện Sau huấn luyện xong mơ hình, kết sau lưu folder backup Để dự báo cho ảnh ta sử dụng cú pháp: !./darknet detector test [data config file] [model config file] [last-model weights] [image path] -dont_show 38 Do google colab suppress hàm graphic opencv nên ta show image trực tiếp mà phải save kết vào file predictions.jpg argument -dont_show để by pass lỗi graphic opencv Như hồn thành q trình huấn luyện dự báo mơ hình object detection google colab Khi hiểu kỹ lý thuyết mơ hình YOLO bạn hiểu lý model YOLO lại huấn luyện lâu Từ ảnh đầu vào kích thước 418x418, YOLO cần dự đốn nhãn tọa độ tổng cộng (13x13+26x26+52x52)x3 = 10647 bounding boxes Giả sử batch có kích thước 64 ảnh số lượng max_batches = 5000 Như cần dự báo cho tổng cộng: 10647x5000x64 = 3.4 triệu bounding boxes Đây số khơng nhỏ nên q trình huấn luyện google colab tới vài h - Google colab cho phép bạn huấn luyện 12h liên tục Do đó, trước huấn luyện cần ước lượng tổng thời gian huấn luyện để không vượt giới hạn time Tôi giới thiệu bạn số mẹo ước tính tiết kiệm thời gian huấn luyện Nên ước tính tổng thời gian huấn luyện dựa thời gian huấn luyện batch Nếu bạn huấn luyện batch hết 3.6s Như 5000 batches tiêu tốn bạn khoảng: (3.6x5000)/3600 = h huấn luyện Tất nhiên ước tính tương đối khơng phải batch huấn luyện với thời gian Nếu gặp batch có hình ảnh lỗi, format khơng tương thích tốn nhiều thời gian để chương trình gỡ lỗi Hãy save log trình huấn luyện vẽ biểu đồ loss function Biểu đồ loss function cho ta biết trình huấn luyện tới trạng thái hội tụ hay chưa? Có thể dừng sớm trình huấn luyện bạn quan sát thấy loss function dường hội tụ Huấn luyện nhiều GPU song song (cách áp dụng với bạn sở hữu nhiều GPU, không áp dụng google colab) Khi huấn luyện nhiều GPU nên giảm learning_rate xuống theo cấp số nhân Chẳng hạn bạn huấn luyện GPU cần thiết lập learning_rate 1/4 learning_rate mặc định GPU Quá trình huấn luyện nhanh nhiều Sử dụng pretrain model liệu gần giống với liệu huấn luyện Khi trọng số mơ hình pretrain mơ hình tối ưu cho liệu gần sát Chúng ta cần steps huấn luyện để đạt kết tốt so với lựa chọn pretrain model huấn luyện từ liệu khác biệt lớn 39 Update cuDNN version (đối với bạn huấn luyện máy tính cá nhân, mơi trường xịn sị google colab update sẵn cuDNN) Như giới thiệu mục cấu hình cuDNN Những kiến trúc cuDNN tối ưu nhiều giúp tăng tốc trình huấn luyện Sử dụng cuDNN version 7.6 tăng tốc gấp lần so với version 6.0 Do cập nhật cuDNN bạn sử dụng version cũ Nhưng lưu ý cuDNN cần tương thích version với CUDA để tránh lỗi phát sinh Cân nhắc sử dụng kiến trúc đơn giản Các kiến trúc YOLO khác đa dạng tùy thuộc vào base network Các bạn xem lại giới thiệu YOLO để hiểu rõ kiến trúc Nếu số tác vụ với classes chênh lệch độ xác mơ hình kiến trúc phức tạp đơn giản khơng q lớn Bạn đặt trước cho tiêu chuẩn mAP mơ hình huấn luyện thử với model có kiến trúc đơn giản tiny YOLO Có thể mơ hình đạt tiêu chuẩn Hơn tốc độ dự báo nhanh triển khai thiết bị IoT cấu hình thấp điểm cộng cho mơ CHƯƠNG 5: KẾT QUẢ 40 41 42 CHƯƠNG KẾT LUẬN 43 TÀI LIỆU THAM KHẢO phamdinhkhanh - darknet git repo Bài 25 - YOLO You Only Look Once - Khanh blog pjreddie - darknet git repo AlexeyAB - darknet git repo 44 ... hiểu Yolov3 Yolov4 2.1 Tìm hiểu Yolov3 2.1.1 Cấu trúc Như tìm hiểu, YOLOv1 sử dụng 24 lớp chập, sang YOLOv2 sử dụng backbone darknet19 cộng với 11 lớp chập để nhận dạng Vậy YOLOv3 nào?  YOLOv3 sử. .. nhóm em định sử dụng thuật tốn học sâu deep learnig Yolo4 để nhận diện người đeo trang 1.2 Tổng quan YOLO Có lẽ vài năm trở lại đây, object detection đề tài hot deep learning khả ứng dụng cao, liệu... xác suất lớn 1.3 Thuật toán YOLO 1.3.1 Kiến trục mạng YOLO - Kiến trúc 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

Ngày đăng: 30/11/2022, 14:12

Hình ảnh liên quan

Hình 1.1: Sơ đồ kiến trúc mạng YOLO. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.1.

Sơ đồ kiến trúc mạng YOLO Xem tại trang 6 của tài liệu.
Hình 1.2: Các layer trong mạng darknet-53. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.2.

Các layer trong mạng darknet-53 Xem tại trang 7 của tài liệu.
Hình 1.3: Kiến trúc một output của model YOLO. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.3.

Kiến trúc một output của model YOLO Xem tại trang 9 của tài liệu.
Hình 1.4: Các feature maps của mạng YOLOv3 - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.4.

Các feature maps của mạng YOLOv3 Xem tại trang 10 của tài liệu.
Mỗi một vật thể trong hình ảnh huấn luyện được phân bố về một anchor box. Trong trường hợp có từ 2 anchor boxes trở lên cùng bao quanh vật thể thì ta sẽ xác định anchor box mà có IoU với ground  truth bounding box là cao nhất. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

i.

một vật thể trong hình ảnh huấn luyện được phân bố về một anchor box. Trong trường hợp có từ 2 anchor boxes trở lên cùng bao quanh vật thể thì ta sẽ xác định anchor box mà có IoU với ground truth bounding box là cao nhất Xem tại trang 11 của tài liệu.
Hình 1.6: Khi 2 vật thể người và xe trùng mid point và cùng thuộc một - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.6.

Khi 2 vật thể người và xe trùng mid point và cùng thuộc một Xem tại trang 12 của tài liệu.
Hình 1.7 Cơng thức ước lượng bounding box từ anchor box. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 1.7.

Cơng thức ước lượng bounding box từ anchor box Xem tại trang 14 của tài liệu.
Hình chữ nhật nét đứt bên ngồi là anchor box có kích thước là (pw,ph). Tọa - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình ch.

ữ nhật nét đứt bên ngồi là anchor box có kích thước là (pw,ph). Tọa Xem tại trang 14 của tài liệu.
Hình 2.1 Cấu trúc Darknet53. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 2.1.

Cấu trúc Darknet53 Xem tại trang 16 của tài liệu.
Hình 2.2 Cấu trúc YOLOv3. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 2.2.

Cấu trúc YOLOv3 Xem tại trang 17 của tài liệu.
Hình 2.3 Quá trình tìm kiếm vật thể. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 2.3.

Quá trình tìm kiếm vật thể Xem tại trang 18 của tài liệu.
Hình 2.4 Kích thước của tensor. - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 2.4.

Kích thước của tensor Xem tại trang 19 của tài liệu.
Một màn hình google colab hiện ra, có chức năng gần giống như jupyter notebook: - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

t.

màn hình google colab hiện ra, có chức năng gần giống như jupyter notebook: Xem tại trang 21 của tài liệu.
Hình 4.1 Hướng dẫn tạo google colab - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

Hình 4.1.

Hướng dẫn tạo google colab Xem tại trang 21 của tài liệu.
Commandline kiểm tra cấu hình GPU - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

ommandline.

kiểm tra cấu hình GPU Xem tại trang 23 của tài liệu.
được viết bằng ngơn ngữ C và CUDA. Các mơ hình được huấn luyện trên darknet nhanh, đồng thời darknet dễ cài đặt và hỗ trợ tính tốn CPU và  GPU - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

c.

viết bằng ngơn ngữ C và CUDA. Các mơ hình được huấn luyện trên darknet nhanh, đồng thời darknet dễ cài đặt và hỗ trợ tính tốn CPU và GPU Xem tại trang 32 của tài liệu.
4.3 Cấu hình darknet - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

4.3.

Cấu hình darknet Xem tại trang 35 của tài liệu.
Để thuật lợi cho việc đọc và ghi và hiển thị hình ảnh, tơi sẽ xây dựng các hàm phụ trợ có chức năng như sau: - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

thu.

ật lợi cho việc đọc và ghi và hiển thị hình ảnh, tơi sẽ xây dựng các hàm phụ trợ có chức năng như sau: Xem tại trang 37 của tài liệu.
Note: Khi save log vào [file log saved] thì mặc định mơ hình của bạn sẽ không hiển thị log ra ngồi màn hình nữa - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

ote.

Khi save log vào [file log saved] thì mặc định mơ hình của bạn sẽ không hiển thị log ra ngồi màn hình nữa Xem tại trang 39 của tài liệu.
Sau khi huấn luyện xong mơ hình, kết quả sau cùng sẽ được lưu trong folder backup - (TIỂU LUẬN) bài tập lớn sử dụng thuật toán YOLO để nhận diện người đeo khẩu trang

au.

khi huấn luyện xong mơ hình, kết quả sau cùng sẽ được lưu trong folder backup Xem tại trang 41 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan