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

Bà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 8 0
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ả Nguyễn Văn A, Nguyễn Văn B, Nguyễn Văn C, Nguyễn Văn D
Người hướng dẫn Nguyễn Văn E
Trường học Trường Đại học Bách Khoa, Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Khoa Đ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 2,44 MB

Nội dung

YOLOv§ 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.. « Linear regression: Thuat toan nay được sử dụng để dự đoán các giá trị số, dựa trên

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Ử

BỘ MÔN ĐIỆN TỬ

BAI TAP LON MACHINE LEARNING

DE TAI PHAT HIEN VA NHAN DIEN BIEN SO XE

Trang 2

Tìm hiểu lý thuyết vẻ machine learning, cách thu thật

data và train model trên yolov8, viết báo cáo

Trang 3

Loi cam on GVHD: Nguyễn

LO] CAM ON

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 đã 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

Chung em xin tran trọng cảm ơn!

Tp Hồ Chí Minh, ngày 16 tháng 11 ndm 2023

Trang 4

TOM TAT BAI TAP LON

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

Bài tập lớn môn học GVHD: Nguyễn

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

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

4 THU THẬP VÀ XỬ LÍ DỮ LIỆU L5 1 11T 1122121212212 nh Hye 16 4.1 Bộ dữ liệu đầu vào (Dataset) Q nnnnnnH HH HH Ha H ngu 16

4.2 _ Tiền xử lí dữ liệu (Data preprocessing) c- : ch HH HH 16

4.3 Huấn luyện mô hình (Model training) .-: 1 c1 121g 18

5 KET QUA THỰC HIỆN VÀ ĐÁNH GIÁ S2 He 22 5.1 _ Kết quả quá trình huấn luyện mô hình - (L1 1 2 1211211122121 188 tre 22 5.2 Kết quả quá trình thực nghiệm .- L2: L2 121121 1122121181 18811 re 24

5.3 _ Đánh giá mô hình c ch Tnhh nho nha 25

6 KÉT LUẬN VÀ HƯỚNG PHÁT TRIÊN 2.2 212121121222 2 E8 rye 30

6.2 Hướng phát triễn L L2 112122 11T HH tt Hà HH nà no tt HH ch HU 30

7 PHỤ LỤC 2.1121 1 121 n1 HH HH HH Hư 31

Trang 6

8 TÀI LIỆU THAM KHAO

Trang 7

Bài tập lớn môn học GVHD: Nguyễn

4 GIỚI THIỆU

1.1 Tổng quan

- Ly do chon dé tai:

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 linh vuc khoa hoc may tinh, Convolutional Neural Networks (CNNs) được sử dụng phố biến để 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

YOLOv§ 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 YOLOv8§ 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 đông

-_ Mạc tiêu:

e_ Vận dụng được những kiến thức cơ bản về huấn luyện mang no-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

- Ndi dung tim hiéu:

e Nội dung 1: Tim hiéu nguyén ly, ly thuyét cua 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 nói chung và YOLOv8 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

Khao 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

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 chỉ 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 dé trả lời chúng

Bai toan cua machine learning thuong được chia làm hai loại là dự đoán (prediction) va phân loại (classification) 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 dung bao gém dich ngôn ngữ tự nhiên, nhận dạng hình ảnh, nhận dạng giọng nói và tạo hình ảnh

« Linear regression: Thuat toan nay được 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 san 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 để

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 dữ 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 là chúng 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 ning ngau nhién, thuat toan may hoc 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 mét 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

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

ham nonlinear activation nhu ReLU va tanh dé kích hoạt các trọng số trong các 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

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 như pooling/subsampling layer dùng đề chắt lọc 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 anh, CNNs

sẽ cố găng tìm ra thông số tối wu cho cac filter trong tmg theo thir tw raw pixel > edges > shapes > facial > high-level features Layer cudi cing duoc ding dé phan lop

ảnh

Trong mô hình CNN có 2 khía cạnh cần quan tam 1a tinh bat bién (Location Invariance) và tính kết hợp (Compositionality) Với cùng một đối tượng, nếu đối tượng này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kế

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 tai 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 once) là thuật toán object detection 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 sống của YOLO được hiên thị bên dưới

20 lớp tích chập đầu tiên của mô hình được đảo tạo trước với ImageNet bang

cách căm vào một lớp tông hợp trung bình tạm thời (temporary average pooling) và

lớp được kết nói đầy đủ (fully connected layer) Sau đó, mô hình đảo tạo trước này

đượ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 đào tạo, ta chỉ

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ố IOU 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

việc dự báo các kích thước, ty 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 la NMS (non- maximum 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 triển nhiều phiên bản khác nhau, với YOLOv8 hiện là phiên bản mới nhất

Trước đó, YOLOv7 được đánh giá là gặp khó khăn trong việc phát hiện các đối

tượng nhỏ, ở các tý lệ khác nhau, đưới Sự thay đổi về ánh sáng hoặc các điều kiện môi

trường khác Vậy với sự ra đời của v8, liệu những hạn ché kẻ trên có được nhà YOLO khắc

phục?

YOLOv8 là sự phát 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

YOLOv§ được chia thành ba phản chính: backbone, neck va head, dugc str 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é cua mạng YOLOv8 được thê hiện trong hình dưới đây

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ô-dun C2fvà 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 hợp nhất đa tỷ lệ sử dụng sự kết hợp của mạng FPN (feature pyramid

network) va PAN (path aggregation network) Bằng cách két hợp hai hướng thông qua low-level features và high-level features, nó tăng cường low-level features với các

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

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 YOLOv§ được minh họa trong hình dưới đây

a Cai tién cia YOLOV8

Như chúng ta có thê thấy từ biểu d6, YOLOv8 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

Trang 16

Từ biểu đồ thứ hai, chúng ta có thê thấy YOLOv8 có thời gian suy luận nhanh hơn so với tắt cả các phiên bản YOLO khác.

Trang 17

Bài tập lớn môn học GVHD: Nguyễn

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ết hợp YOLO Tiny v3, OpenCV va 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 sepment đề tách từng kí tự trên biên số xe

e_ Xây dựng một model CNN đề phân loại các kí tự (characters classificafion)

e _ Đị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 Định vị 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

© Xt ly can chỉnh đề chuân hóa độ sáng, độ tương phản của hình ảnh biên só

e Phan ly ky tu dé tạo 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 ASCII

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, dé tài có thẻ chia thành 2 phan 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 hoặc cắt lầy phần 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: 01/11/2024, 14:41

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN