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

Ài Tập Lớn Machine Learning Đề Tài Phát Hiện Và Nhận Diện Biển Số Xe Sử Dụng Yolov8.Pdf

34 21 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phát Hiện Và Nhận Diện Biển Số Xe Sử Dụng YOLOv8
Tác giả Đặng Thái Dương, Dương Hoài Thương, Đặng Đình Nam
Người hướng dẫn GVHD: Nguyễn Khánh Lợi
Trường học Đại Học Bách Khoa
Chuyên ngành Điện - Điện Tử
Thể loại bài tập lớn
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 6,66 MB

Nội dung

YOLOv8 là một mô hình mạng nơ-ron tích chập được sử dụng phô biến đề phát hiện đối tượng trong ảnh.. Neural networks là thuật toán được dùng trong việc nhận dạng các mẫu và đóng một vai

Trang 1

ĐẠI HỌC QUỐC GIA TP.HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN - ĐIỆN TỬ

Trang 2

Đặng Thái Dương Tìm hiểu lý thuyết Về machine learning, cach thu thập

data va train model trén yolov8, viết báo cáo

Dương Hoài Thương | Thu thập data và tram model, sửa các lôi xảy ra trong

quá trình tram, thử nghiệm model sau khi train

Đặng Đình Nam Tim hiéu vé machine learning, viet bao cao + slide

Trang 3

Lời cảm ơn GVHD: Nguyễn Khánh Lợi

LớI CAM ƠN

Lời đầu tiên, nhóm chúng em xin chân thành cảm ơn bộ môn Điện tử - viễn thông trường Đại học Bách Khoa đã tạo điêu kiện thuận lợi cho em thực hiện bải tập lớn

Đặc biệt chúng em xin chân thành cảm ơn thầy Nguyễn Khánh Lợi đã rất tận tình hướng dân, chỉ bảo chúng em trong suốt thời gian thực hiện bài tập lớn vừa qua Chúng em cũng xin chân thành cảm ơn tất cả các thầy, các Cô trong trường đã tận tình giảng dạy, trang bị cho chúng em những kiên thức cân thiệt, quý báu đề giúp em thực hiện được bài tập lớn này

Mặc dù chúng em đã có cô găng, nhưng với trình độ còn hạn chế, trong quá trình thực hiện đề tài không tránh khỏi những thiêu sót Chúng em hi vọng sẽ nhận được những ý kiên nhận xét, góp ý của thây về những vân đê triên khai trong bài tập lớn Chúng em xin trân trọng cảm ơn!

Tp Hồ Chi Minh, ngay 16 tháng 1Ì năm 2023

Trang 4

TOM TAT BÀI TẬP LỚN

Bài tập lớn này trình bày về Machine Learning hay còn gọi là máy học và ứng dụng máy học trong lĩnh vực cụ thể Nhóm chúng em quyết định sẽ làm về một ứng dụng của máy học trong nhiều lĩnh vực như giao thông và logictics,

đó là phát hiện và nhận diện biên số xe Với mục đích giám sát cũng như thuận tiện cho việc truy xuất và tìm ra biển số xe nhanh chóng khi có sự Cố Xảy ra Nên nhận diện biên số xe là phần không thể thiếu trong hệ thống giám sát

xe Ứng dụng của nó đã được triên khai rộng rãi trong cuộc Sống thường ngày

như bãi đỗ xe thông minh, hệ thông thu tiền không dừng tại các tuyến đường cao

Trang 5

MỤC LỤC

le 8/8 PP 1Ẽ.5 4 2 TÓM TÁT BÀI TẬP LỚN 222522221 12123 1 2211121211111 11211111211111 12111111111 Errve 2

09509222255 3 1.9.0 5

3.1 Các phương pháp nhận diện biển số xe trong thực tế - 55-555 se552 15

3.2 Phương pháp nhận diện biến số xe trong đề tài 5S cc sec sreserrrrree 15

4 THU THẬP VÀ XỬ LÍ DỮ LIỆỆU 2222252 S22 S223 23 121121211215 EEEervre 16

4.2 Tiền xử lí dữ liệu (Data preproceSSinQ) 2 25s 222 xen rrereeg 16 4.3 Huấn luyện mô hình (Model training) - 5+ 5S Set 2xexexexesrrrrxrrsrsee 18

5 KET QUA THUC HIEN VA ĐÁNH GIÁ .- ¿5222222222 s2 zxsrrxererrsrree 22

5.1 _ Kết quả quá trình huấn luyện mô hình 2 2252522252 eEvEE£t+vzxzxrxeresecee 22

5.2 _ Kết quả quá trình thực nghiệm . - +5: 52252 S222 2E xxx xeEeEErxsxsrsrererrsrree 24

Trang 6

8 TÀI LIỆU THAM KHAO

Trang 7

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi

1 GIỚI THIỆU

1.1 Tông quan

-_ Lý do chọn để tài:

Với mỗi một dân tộc, để kinh tế phát triển thì sự phát triển về khoa học, kỹ thuật

là sự cần thiết và đặc biệt quan trọng Với sự phát triển mạnh mẽ của kinh tế như hiên nay, giao thông đang là một bài toán khó đòi hỏi nhiều ngành, nhiều cấp phải quan tâm, và tìm ra hướng giải quyết Hiện nay, việc sai phạm đang còn diễn ra rất nhiều trên các tuyến đường, nhưng rất khó đề có thể truy bắt và xử phạt Để làm giảm bớt khó khăn cho việc cũng như làm cho việc lưu thông trên các tuyến đường được nghiêm túc và an toàn, thì việc áp dụng các công nghệ tiên tiến trong các thiết bị giám sát là đặc biệt quan trọng

Trong lĩnh vực khoa học máy tinh, Convolutional Neural Networks (CNNs) được sử dụng phố biến dé giải quyết các vấn đề như phân loại ảnh, nhận dạng khuôn mặt, xử lý ngôn ngữ tự nhiên, v.v

YOLOv8 là một mô hình mạng nơ-ron tích chập được sử dụng phô biến đề phát hiện đối tượng trong ảnh Trong nghiên cứu này, chúng em sẽ sử dụng YOLOv§ dé phát hiện và nhận diện biển số xe Kết quả nghiên cứu có thể đóng góp vào việc giải quyết vẫn để sai phạm khi tham gia giao thông và bảo vệ giao thông, đồng thời cải thiện chât lượng cuộc sông của cộng dong

-_ Mục tiếu:

e - Vận dụng được những kiến thức cơ bản về huần luyện mạng nơ-ron

e_ Xây dựng được một mô hình có khả năng huấn luyện tập dữ liệu phát hiện

và nhận biên số xe khác nhau

e Phát hiện và nhận diện được tất cả biên số xe trong tập dữ liệu.

Trang 8

1.2 Nhiệm vụ đề tài

-_ Nội đưng tìm hiểU:

e Nội dung 1: Tìm hiểu nguyên lý, lý thuyét cia Machine Learning va CNN (Convolutional Neural Networks)

e Nội dung 2: Tìm hiểu nguyên lý, lý thuyết về cách hoạt động của mô hình

YOLO noi chung và YOLOv§ nói riêng

e Nội dung 3: Thu thập dữ liệu và huấn luyện trên YOLOv8

-_ Phương pháp nghiên cứU:

Tham khảo thêm từ những Group học tập trên mạng xã hội, trang web học tập,

những video hướng dẫn trên Youtube

Khảo sát một số model huấn luyện săn trên mạng internet, khảo sát các thiết bị

giám sát thông minh hiện hành đề chọn lựa phương án thiết kế sau này

Trang 9

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi

Machine learning còn là một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát triển Thông qua việc sử dụng các phương pháp thống kê, các thuật toán được đào tạo để đưa ra các phân loại hoặc dự đoán và khám phá những thông tin chỉ tiết từ chính các dự án khai thác đữ liệu

Thông qua các thông tin chi tiết có được để thúc đây việc đưa ra quyết định đối với các ứng dụng và doanh nghiệp, tác động mạnh đến các chỉ số tăng trưởng Khi đữ liệu lớn tiếp tục nhu cầu mở rộng và phát triển đòi hỏi nhu cầu tuyển dụng các nhà khoa học đữ liệu sẽ tăng lên Họ sẽ được yêu cầu giúp xác định các câu hỏi kinh doanh có liên quan nhất và đữ liệu để trả lời chúng

Bài toán của machine learning thuong được chia làm hai loại là dự đoán (prediction) va phân loại (classifieation) Các bài toán dự đoán thường là giá nhà, giá

xe, v.v, còn các bài toán phân loại thường là nhận diện chữ viết tay, đồ vật, v.v

Các thuật toán phố biến của machine learning:

« Neural networks: Mô phỏng cách thức hoạt động của bộ não con người, Với

một số lượng không lỗ các nút xử lý được liên kết Neural networks là thuật toán được

dùng trong việc nhận dạng các mẫu và đóng một vai trò quan trọng trong các ứng dụng bao gồm dịch ngôn ngữ tự nhiên, nhận dạng hình ảnh, nhận dạng giọng nói và tao hinh anh

- Linear regression: Thuat toan nay duoc sử dụng đề dự đoán các giá trị số, dựa

trên môi quan hệ tuyến tính giữa các giá trị khác nhau

« Logistic regression: Thuật toán giúp đưa ra dự đoán cho các biến phản hồi phân

loại, chăng hạn như câu trả lời “có/không” cho các câu hỏi Nó có thể được sử dụng

Trang 10

cho các ứng dụng như phân loại thư rác và kiểm soát chất lượng trên dây chuyên sản

xuất

« Clustering: Các thuật toán phân cụm có thể xác định các mẫu trong dữ liệu dé

nó có thê được nhóm lại Máy tính có thê giúp các nhà khoa học dữ liệu băng cách xác định sự khác biệt giữa các mục đữ liệu mà con người đã bỏ qua

« Decision trees: Là thuật toán được sử dụng để dự đoán giá trị số (hồi quy) và

phân loại dữ liệu Decision trees sử dụng một chuỗi phân nhánh của các quyết định

được liên kết có thể được biểu diễn bằng sơ đồ cây Một trong những ưu điểm của decision trees la ching dễ xác thực và kiểm tra, không giống thuật toán Neural

networks

« Random forests: Trong một khu rừng ngẫu nhiên, thuật toán máy học dự đoán

một giá trị hoặc danh mục băng cách kết hợp các kết quả từ một số cây quyết định

2.2 CNN

Convolutional Neural Network (CNNs — Mang no-ron tich chap) la mot trong những mô hình Deep Learning tiên tiễn Nó giúp cho chúng ta xây dựng được những

hệ thông thông minh với độ chính xác cao như hiện nay

Mang CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các

hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong cac node Mỗi một lớp sau khi thông qua các hàm kích hoạt Sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo

Mỗi một lớp sau khi thông qua các hàm kích hoạt Sẽ tạo ra các thông tin trừU tượng hơn cho các lớp tiếp theo Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các

lớp tiếp theo

Mô hình này gọi là mạng kết nói đầy đủ (fully connected layer) hay mạng toàn

ven (affine layer) Con trong mé hình CNNs thì ngược lại Các layer liên kết được với nhau thông qua cơ chế convolution

Layer tiép theo là kết quả convolution từ layer trước đó, nhờ Vậy mà ta có được

các kết nỗi cục bộ Như vậy mỗi neuron ở lớp kế tiếp sinh ra từ kết quả của filter áp

đặt lên một vùng ảnh cục bộ của neuron trước đó

Trang 11

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi Mỗi một lớp được sử dụng các filter khác nhau thông thường có hàng trăm hàng nghìn ñlter như vậy và kết hợp kết quả của chúng lại Ngoài ra có một số layer khác nhu pooling/subsampling layer ding dé chat loc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu)

Trong quá trình huấn luyện mạng (traning) CNN tự động học các giá trị qua các lớp filter dựa vào cách thức mà bạn thực hiện Ví dụ trong tác vụ phân lớp ảnh, CNNs

sẽ cô gắng tìm ra thông số tối ưu cho các filter tương ứng theo thứ tự raw pixel >

edges > shapes > facial > high-level features Layer cuối cùng được dùng đề phân lớp anh

Pooling layer sẽ cho bạn tính bất biến đối với phép dịch chuyền (translation), phép quay (rotation) và phép co giãn (scaling) Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua convolution từ các filter

Đó là lý do tại sao CNNs cho ra mô hình với độ chính xác rất cao Cũng giống như cách con người nhận biết các vật thê trong tự nhiên

Trang 12

2.3 Mô hình chung YOLO

YOLO (you only look onee) là thuật toán object detectlon nên mục tiêu của mô hình không chỉ là dự báo nhãn cho vật thể như các bài toán classification mà nó còn

xác định location của vật thể Do đó YOLO có thể phát hiện được nhiều vật thế có

nhãn khác nhau trong một bức ảnh thay vì chỉ phân loại duy nhát một nhãn cho một

bức ảnh

Thuật toán YOLO lây hình ảnh làm đầu vào, sau đó sử dụng mạng nơ-ron tích chập sâu đơn giản để phát hiện các đối tượng trong ảnh Kiến trúc của mô hình CNN tạo thành xương song của YOLO được hiên thị bên dưới

+, I

=

Come " EEBOeni Conv Loyers Loyer

xá - Ixixði2 Conv Layer rer Conv Layer or

được chuyên đôi đề thực hiện phát hiện Lớp được kết nối đầy đủ cuối cùng của YOLO dự đoán cả xác suất của lớp và tọa độ hộp giới hạn

YOLO chia hình ảnh đầu vào thành lưới S x S Nếu tâm của một đối tượng rơi vào một ô lưới thì ô lưới đó có nhiệm vụ phát hiện đối tượng đó Mỗi ô lưới dự đoán

các hộp giới hạn B và điểm tin cậy cho các hộp đó Các điểm tin cậy này phản ánh mức độ tin cậy của mô hình rằng hộp chứa một đối tượng và mức độ chính xác mà mô

hình cho rằng hộp được dự đoán

YOLO dự đoán nhiều hộp giới hạn trên mỗi ô lưới Tại thời điểm dao tao, ta chi

muốn một bộ dự đoán hộp giới hạn thẻ hiện cho từng đối tượng YOLO chỉ định bộ

dự đoán dựa trên chỉ số lOU hiện tại cao nhất với thực té Điều này dẫn đến sự chuyên môn hóa giữa các bộ dự đoán hộp giới hạn Mỗi công cụ dự đoán trở nên tốt hơn trong

10

Trang 13

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi

việc dự báo các kích thước, tỷ lệ khung hình hoặc loại đối tượng nhát định, cải thiện

tong thé recall score

Một kỹ thuật quan trọng được Sử dụng trong các mô hình YOLO là NMS (non- maxinum suppression) NMS là một bước hậu xử lý được sử dụng để cải thiện độ chính xác và hiệu quả của việc phát hiện đối tượng Trong phát hiện đối tượng, thông

thường có nhiều hộp giới hạn được tạo cho một đối tượng trong một hình ảnh Các

hộp giới hạn này có thê chồng lên nhau hoặc nằm ở các vị trí khác nhau, nhưng tất cả chúng đều đại diện cho cùng một đối tượng NMS được sử dụng để xác định và loại

bỏ các hộp giới hạn dư thừa hoặc không chính xác và đề xuất một hộp giới hạn duy

nhát cho từng đối tượng trong ảnh

2.4YOLOv8

Kê từ lần đầu tiên được giới thiệu vào năm 2016 bởi Joseph Redmon và cộng sự,

YOLO đã được phát tiền nhiều phiên bản khác nhau, với YOLOv8 hiện là phiên bản mới

YOLOv8 1a sy phat triển dựa trên thành công của các phiên bản YOLO trước đó

và giới thiệu các tính năng và cải tiến mới đề nâng cao hiệu Suất và tính linh hoạt, đạt

hiệu suất tốt và tốc độ xuất sắc YOLOv8 cung cấp năm mô hình có kích thước khác

nhau: nano, small, middle, large va extra-large

YOLOv8 duoc chia thanh ba phan chinh: backbone, neck va head, duoc su dung cho việc trích xuất đặc trưng, kết hợp nhiều đặc trưng và dự đoán kết quả đầu ra Thiết

kế của mạng YOLOv8 duoc thé hién trong hình dưới đây

11

Trang 14

Mạng trích xuất đặc trưng chủ yếu trích xuất các đặc trưng cỡ hình ảnh riêng lẻ

từ ảnh được tạo ra bởi các mô-đun C2f và SPPF Mô-đun C2f giảm mạng đi một lớp tích chập dựa trên mô-đun C3 gốc, làm cho mô hình trở nên nhẹ hơn Nó cũng kết hợp những điểm mạnh của cấu trúc ELAN từ YOLOv7, mở rộng nhánh gradient bằng

cách sử dụng các module bottleneck đề thu thập thông tin phong phú hơn

SPPF giảm đi lớp mạng dựa trên SPP (spatial pyramid pooling) để loại bỏ các hoạt động dư thừa vả thực hiện việc hợp nhát đặc trưng một cách nhanh chóng hơn

Module hop nhat đa tỷ lệ sử dụng sự kết hợp của mang FPN (feature pyramid

network) va PAN (path aggregation network) Bang cach két hop hai huéng théng qua

low-level features va high-level features, nd tang cwong low-level features voi cac

lĩnh vực lây mẫu nhỏ hơn và cải thiện khả năng phát hiện các mục tiêu có quy mô khác nhau Lớp phát hiện dự đoán vị trí, loại, điểm tự tin và thông tin khác về mục tiêu

Phản Head của YOLOv8 chuyền từ phương pháp dựa trên anchor boxes sang

phương pháp không dựa trên anchor boxes Nó từ bỏ việc khớp loU và sử dụng bộ gán

nhiệm vụ cho việc khớp mẫu Cuối cùng, nó thực hiện dự đoán đa tỷ lệ bằng cách sử

12

Trang 15

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi dụng các đặc trưng giảm xuống 8x, 16x và 32x để đạt được dự đoán chính xác cho các mục tiêu nhỏ, trung bình và lớn Các mô-đun chi tiết trong mạng YOLOv8 được minh hea trong hình dưới đây

G6 3s - —— YOLOv8 O35, | —— YOLOv8

Ỷ s— YOLOv8-7.0 tỷ =— YOLOv8-7.0

0 20 40 60 80 1.0 15 20 25 30 35

Parameters (M) Latency A100 TensorRT FP16 (ms/img)

Như chúng ta có thê thấy từ biêu đồ, YOLOv§ có nhiều tham số hơn so với các phiên bản tiền nhiệm như YOLOv5, nhưng ít tham số hơn so với YOLOv6 Nó cung cấp khoảng

33% mAP nhiều hơn cho các mô hình kích thước n và mAP lớn hơn nói chung

13

Trang 16

Từ biêu đồ thứ hai, chúng ta có thé thay YOLOv8 có thời gian suy luận nhanh hơn so với tat Cả các phiên bản YOLO khác

14

Trang 17

Bài tập lớn môn học GVHD: Nguyễn Khánh Lợi

3 XÂY DỰNG ĐÈ TÀI

3.1 Các phương pháp nhận diện biễn số xe trong thực tế

Nhận diện biển số xe sử dựng kế hợp YOLO Tiny v3, OpenCV và CNN [3]:

e Xác định vùng chứa biên số xe sử dụng YOLO Tiny v3

e Sử dụng thuật toán seement đề tách từng kí tự trên biên số xe

e Xây dựng một model CNN dé phan loại cac ki ty (characters classification)

© Định dạng lại biên số xe xác định biên số xe gồm một hay hai dòng

Nhận dựng biển số xe dàng OCR [1]:

e Dinh vi vị trí, trích ra vùng biển số trong khung ảnh

e_ Điều chỉnh lại kích thước vùng biển số, bổ chính lại góc xoay để phù hợp với kích thước biển số yêu cầu

e Xử lý cân chỉnh để chuân hóa độ sáng, độ tương phản của hình ảnh biên số

e Phan ly ky ty dé tao thành tập các hình ảnh ký tự trên biên số

e Thực hiện nhận dạng quang học OCR đề có được tập ký tự dạng ASGII

e Phân tích kiểm tra việc sắp Xếp ký tự để phù hợp với cấu trúc biển số Việt

Nam

e©_ Làm lại nhiều lần và đánh giá kết quả trung bình trên nhiều (vài) hình ảnh để

đưa ra kết quả kết luận tin cậy hơn

3.2 Phương pháp nhận diện biễn số xe trong đề tài

Đầu tiên nhóm em xác định mục tiêu của đề tài là xây dựng một mô hình có thể

phát hiện được biên số xe, sau đó nó sẽ tiễn hành nhận diện các ký tự trên biển số xe

đó cuối cùng sẽ trả Về giá trị biển số xe dự đoán cho người dùng để tiện cho mục đích lưu trữ

Với ý tưởng trên, đề tài có thể chia thành 2 phần chính là huấn luyện mô hình

đề phát hiện và bắt được biên số xe có trong hình Sau đó, ta có thê thực hiện

segmentation hoac cat lay phan bién sé xe đã phát hiện trong hình đê phục cho mục

đích nhận diện Tiếp theo, ta huần luyện thêm một mô hình đề nhận diện ký tự có trên

15

Ngày đăng: 22/12/2024, 11:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ATSCADA Lab, CONG NGHE NHAN DANG BIEN SO_XE TRONG BAI DO XE, https://atscada.net/cong-nghe-nhan-dang-bien-so-xe-trong-bai-do-xe/#ftoc-heading-3 Link
[3] Bui Quang Manh (6/7/2020), Nhdén dién bién so xe Viet Nam, https://viblo.asia/p/nhan-dien-bien-so-xe-viet-nam-Do754P9L5M6[4] Glenn-jocher, NEW - YOLOvgin PyTorch > ONNX > OpenVINO >CoreML > TFLite, https://github.com/ultralytics/ultralytics Link
[5] Hai Quan Tran, Real-time-Auto-License-Plate-Recognition-with-Jetson-Nano, https://github.com/winter2897/Real-time-Auto-License-Plate-Recognition-with-Jetson-Nano Link
[2] Bui Anh Thuan (May 18, 2021), /Machine Learning] Lam thé ndo dé danh gid một mô hinh May hoc? ,http:/Autorials.aiclub.cs.uit.edu.vn/index.php/2021/05/1 8/evaluation/ Khác
[10] VBD, YOLO V7: Thudt todn phdt hién đối tượng có gì mới? , https:/inbigdata.com/kham-pha/yolo-v7-thuat-toan-phat-hien-doi-tuong-co- gi-moi.html Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN