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

Luận văn thạc sĩ Công nghệ thông tin: Xây dựng hệ thống nhận diện biển số xe ô tô theo thời gian thực sử dụng công nghệ dữ liệu lớn (Building a real-time car license plates recognition system using big data technology)

76 0 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 đề Xây dựng hệ thống nhận diện biển số xe ô tô theo thời gian thực sử dụng công nghệ dữ liệu lớn
Tác giả Bùi Thanh Phương
Người hướng dẫn TS. Đỗ Trọng Hợp
Trường học ĐẠI HỌC QUOC GIA TP. HCM
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2023
Thành phố TP. HCM
Định dạng
Số trang 76
Dung lượng 70,59 MB

Nội dung

Do đó, để tận dụng vàtối ưu hóa nguồn tài nguyên có sẵn, dé tài nhắm tới mục tiêu dé xuất hệ thống và sửdụng mạng RetinaNet được huấn luyện bằng cách áp dụng thư viện xử lý dữ liệu lớnBi

Trang 1

ĐẠI HỌC QUOC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

s*œ8

BÙI THANH PHƯƠNG

XÂY DỰNG HỆ THONG NHẬN DIỆN BIEN SO XE 0 TÔ

THEO THỜI GIAN THỰC

SỬ DỤNG CÔNG NGHỆ DỮ LIỆU LỚN

BUILDING A REAL-TIME CAR LICENSE PLATES

RECOGNITION SYSTEM USING BIG DATA TECHNOLOGY

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

Mã số: 8.48.02.01

GIẢNG VIÊN HƯỚNG DAN:

TS Đỗ Trọng Hợp

Trang 2

Cuối cùng, em cảm ơn những người thân yêu đã thấu hiểu cho sự nhiều lần vắngmặt, chia sẻ một phần công việc để em có thể tập trung nhiều hơn vào luận văn.Những người bạn học, những đồng nghiệp ở công ty đã cho em mượn trang thiết bị

để có được kết quả tốt

Em cảm ơn mọi đóng góp từ mọi người.

Trang 3

LỜI CAM KÉT

Với niềm danh dự của mình, em tuyên bé chắc chắn rằng luận văn XÂY DỰNG

HỆ THONG NHAN DIEN BIEN SO XE Ô TÔ THEO THỜI GIAN THỰC SUDỤNG CÔNG NGHỆ DU LIEU LỚN được thực hiện hoàn toàn bởi cá nhân em trênđịnh hướng của Thầy TS Đỗ Trọng Hợp Em sẽ chịu trách nhiệm về các kết quả trong

bài báo cáo này.

TP HCM, ngày 06 tháng 06 năm 2023

Học viên

Bùi Thanh Phương

Trang 4

MỤC LỤC

LOT BAY TỎ + 9 EEESEEEE17EEEA2111111111411000EpEtrttttrtrtrrrrrrrkrrrkresrre 2 LOT CAM KKẾT ve EEEEEEE9272127211111111113111010.EpEtrrtttrtrrrrrrrrrkrrrkresrre 3 BANG VIET TAT

BANG HÌNH ANH

DANH MUC CAC BAN

OO 9

Chuong 1 TONG QUAN

1.1 Van đề nghiên cứu.

1.2 Mục tiêu

1.2.1 Tổng quan ¿¿+222++22222112222211112221112221112211112221211 xe 11

1.3 Giới han và kết qua

13.1 - Đối tượng nghiên cứu.

Chương 2 NGHIÊN CỨU VÀ CÔNG NGHỆ LI

2.1 Nghiên cứu và xu hướng công nghệ.

2.2 Các nghiên cứu ở Việt Nam

2.3 Cơ sớ lý thuyết và hướng tiếp cận đề tài -c cccccvveesserrrrrrreesee 17

2.3.1 Công nghệ áp dụng

Chương 3 PHÂN TÍCH VÀ THIẾT K

BAL Thiết kế tong quan -e«-+ee©©©+eet©E+kettEEEkAetEEEkAetEEEkeetitrkesrrrke 22

3.2 Thiết kế chỉ tiết

3.2.1 Thanh phan nhan dién bién s6 xe.

3.2.2 Thanh phan lưu trữ.

3.2.3 Thanh phần máy chủ

3.2.4 Thành phần ứng dụng trên trình duyỆt - -:-ccccccccsccccssccc. 28 Chương 4 THỰC HIEN VÀ ĐÁNH GIA -cc2s<<cCVV22vveesettrvrrveessrrrrrrrke 31

4.1 Thu thập - xử lý dữ liệu ccccctttttttttttttterrrrrvvrvvrrrrrrrrrrsrree 31

Trang 5

4.1.1 Thu thập "— — - 4.1.2 Gan nhãn và xử lý hình ảnh se scsceeseeeereeerrrerrrre.33

4.2 Huấn luyện mô hình -°-v+++t+E22++vsstttttzzvvssstrtsrrrrrssserrrr 35

4.2.1 _ Hiện thực mô hình RetinaNet.

4.2.2, Huấn luyện

4.3 Hiện thực chương trình nh:

4.4 Đánh giá

37

4.4.2 Hién thực công thức tinh AP

4.4.3 Đánh giá độ chính xác của mô hình phát hiện biên sô xe

4.4.4 Đánh giá độ chính xác và hiệu suất của chương trình biển số xe 49

4.4.5 So sánh với bai báo khác

Trang 6

BANG VIET TAT

Full High Definition Frame Per Second High Definition You Only Look One Amazon Web Services Hadoop Distributed File System Single Shot Detector

Internet of Things False Positive

Intersection over Union True Positive

Mean Average Precision Simple Storage Service Artificial Intelligence Support Vector Machine

Dữ liệu lớn Convolutional Neural Network

Co sở dữ liệu Feature Pyramid Network Deep learning

Trang 7

Cac thư viện trong BigDL

Cách hoạt động của Orca

Quản lý và phân chia tác vụ trong Orca.

Diagram quan ly camera

Trang chủ trang cho thuê 6 tô mioto.v vn.

Đoạn mã thực hiện việc tải ảnh ô tô.

Minh họa nội dung ảnh được gan nhãn từ tệp K2BI86.xml

Công cụ gán nhãn mã nguồn mở miễn nhí labelImg

Vị trí của biển số xe.

Đoạn mã thé hiện các cong việc tiên xử rly anh

Doan mã xây dung khung xương ResNetS0

Đoạn mã hiện thực FPN

Đoạn mã hiện thực lớp RetinaNet

Cài đặt phương thức huấn luyện trên máy tinh Acer Nitro ANS15 - 57 Đoạn mã hoàn thiện cài đặt mô hình.

Tạo dữ liệu huấn luyện và validation

Tiến hành huấn luyện mô hình

D6 thị thể hiện độ mắt mát sau mỗi lần huấn luyệ

Kết quả huấn luyện Đoạn mã nhận diện biên sô xe

Doan mã tính độ trùng |:

Đoạn mã xếp dự đoán hoặc FP hoặc TP dựa trên ngưỡng IoU.

Doan mã tính toán giá trị AP

Kết quả đánh giá mô hình lần 1.

Kết quả đánh giá mô hình lần 2.

Ảnh chụp biển số xe trong bài báo quản lý bãi giữ xe [1

Trang đăng nhập vào web quản lý giao thông Việt Nam.

Trang thêm mới camera

Trang danh sách camera hiện có Trang Lich sw

Trang xem truc tiép tinh hinh giao ‘thong tire camera

Trang 9

TÓM TAT

Có thé dé dàng nhận thấy thành phố thông minh đang dần xuất hiện p hồ biến tạicác đô thị trên thé giới qua sự phát triển của lĩnh vực giao thông Trong đó dé xử lýcông việc về giao thông, cần phải có chương trình nhận diện bién số xe trước Thêmvào đó, với lượng dữ liệu lớn (DLL) ngày càng tăng, việc phân tích, xử ly dit liệu cần

sự hỗ trợ từ các công cu DLL va Artificial Intelligence (AI) Do đó, để tận dụng vàtối ưu hóa nguồn tài nguyên có sẵn, dé tài nhắm tới mục tiêu dé xuất hệ thống và sửdụng mạng RetinaNet được huấn luyện bằng cách áp dụng thư viện xử lý dữ liệu lớnBigDL nhằm xác định biển số xe ô tô di chuyền trên đường thông qua máy tính nhúng

Jetson nano kết nỗi với camera.

Trang 10

Chương 1 Tổng quan

Chương 1 TONG QUAN

Chương | nêu ra bài toán mong muốn giải quyết, phương án áp dụng, mục tiêuhướng đến, cách thức thực hiện, sau cùng là kết quả khoa học cùng lĩnh vực

1.1 Vấn đề nghiên cứu

Các mô hình Deep Learning (DL) đang được sử dụng nhiều trong các ứng dụng

AI do kết quả mang lại tốt hơn so với các mô hình máy học theo như nhận định củanhóm tác giả Jithmi Shashirangana [5] trong khảo sát về phương pháp và kỹ thuậtnhận diện biển số xe Tuy vậy, theo phạm vi tìm hiểu thì các nghiên cứu áp dụng các

mô hình DL trong việc nhận diện biển số xe ở Việt Nam vẫn chưa nhiều và còn sửdụng các kỹ thuật thị giác máy tính truyền thống gần đây [1,3]

5 năm gần đây, đi cùng với sự phát triển của các mô hình DL là sự phát triển của

các công cụ xử lý DLL Dựa trên thực nghiệm của nhóm tác giả Jason Dai [4] thì

công cụ xử lý DLL của họ giúp tăng tốc việc xây dựng, phát triển ứng dụng AI lên9.6 lần trên một node và khả năng mở rộng trên các cụm máy chủ lớn (trên 100 nodetrong thực tế) Trong bối cảnh dữ liệu và ứng dụng AI ngày càng tăng và nhiều thìviệc tận dụng các nguồn tài nguyên xử lý dữ liệu lớn để phát triển ứng dụng AI sẽlàm giảm chi phí phát trién và nhanh chóng đưa ứng dụng vào sử dụng thực tiễn

Từ những tìm hiểu trên, đề tài này tập trung tìm hiệu, đề xuất một phương phápmới trong việc xây dựng ứng dụng nhận diện biển số xe sử dụng mô hình học sâu vàcông cụ xử lý DLL trong bối cảnh/phạm vi xây dựng thành phó thông minh ở Hồ ChíMinh nơi có nhiều dữ liệu, chương trình AI và các nguồn tài nguyên xử lý DLL sẵn

có Sau đó tiễn hành xây dựng hệ thống minh họa

Trang 11

dụng giao thông thông minh như theo dõi hành trình xe, xử lý vi phạm

1.2.2 Cụ thé

© Mục tiêu 1: Đề xuất hệ thống giao thông sử dung công nghệ DLL đề xác định

biển số xe ô tô theo thời gian thực

© Muc tiêu 2: Sử dụng các phương pháp học sâu dé tăng độ chính xác nhận dang

bién số xe

1.3 Giới hạn và kết quả

1.3.1 Đối tượng nghiên cứu

Trong báo cáo này, các đối tượng nghiên cứu:

e© M6 hình RetinaNet trong việc nhận dang biển số xe

e BigDL trong tác vụ huấn luyện mô hình

1.3.2 Giới hạn

Do chưa được thử nghiệm thực tế nên hệ thống đang phát triển:

© Sử dụng video được quay từ điện thoại để thực nghiệm thay vì lấy trực tiếp từ

camera.

e Huan luyện mô hình trên máy tính cá nhân thay vi từ các cum máy tính như

đã đề xuất

1.4 Nội dung, phương pháp thực hiện

1.4.1 Các nghiên cứu, công nghệ có liên quan

Có nhiều nghiên cứu về chủ đề nhận diện biển số xe ô tô ở trên toàn thế giới từnăm 2012 Tuy nhiên, nếu chỉ xét đến các bài báo đã xuất bản trên các tạp chí, ở ViệtNam, thì đã có nhiều nghiên cứu dùng giải thuật máy học đề phát triển ứng dụng nhận

Trang 12

Chương 1 Tổng quan

diện biển số xe Theo khảo sát của nhóm tác giả Jithmi Shashirangana [5], được công

bố vào năm 2021, các mô hình DL đã cho kết quả tốt hơn các mô hình máy học và

ngày càng được dùng rộng rãi trong các ứng dụng trí tuệ nhân tạo Cac mô hình nhận

diện đối tượng được phân loại thành “bộ phát hiện một giai đoạn” và “bộ phát hiện

hai giai đoạn” Bộ phát hiện hai giai đoạn có độ chính xác thường cao hơn nhưng có

thời gian nhận diện lâu hơn Hiện nay, trong số các mô hình nhận diện đối tượng phổ

biến, có Yolo, Faster R-CNN, SSD, và mô hình RetinaNet.

Hai năm gan đây, BigDL được xem là 1 công nghệ mới trong việc tận dụng cáctài nguyên công cụ xử lý DLL có sẵn, chẳng hạn như Hadoop/Spark, K8s để tănghiệu suất của các ứng dụng AI, giảm thời gian phát trién, triển khai các ứng dụng AItrong bối cảnh dữ liệu và ứng dụng AI ngày càng tăng theo thời gian

Để hệ thống hoạt động tốt, camera cần có khả năng thu ảnh chất lượng và tốc độcao, cũng như có khả năng hoạt động tốt ở ngoài trời Cơ sở dit liệu cần có khả nănglưu trữ, xử lý DLL và mở rộng dung lượng dữ liệu Máy tính cần có bộ xử lý đồ họa

dé thực hiện các tác vụ AI

Vi vậy, đề tài đề xuất dùng camera Logitech C922, nơi lưu trữ dữ liệu bao gồm

AWS S3 và DynamoDB, máy tính nhúng Jetson Nano, máy tính EC2 và mô hình

nhận diện đối tượng RetinaNet để phát triển hệ thống nhận diện biển số xe ô tô theo

thời gian thực.

1.4.3 Thực hiện - triển khai

Các bước thực hiện và triển khai hệ thống:

Trang 13

Chương 1 Tổng quan

- _ Thu thập hình ảnh ô tô từ trang cho thuê 6 tô mioto.vn và các nguồn khác

- _ Đánh giá, gan nhãn bộ dữ liệu thu thập được.

- Huấn luyện mô hình dựa trên RetinaNet và BigDL

- Đánh giá, cải thiện kết quả mô hình trên phép đo mAP

- Cài đặt chương trình thu nhận hình ảnh từ camera và nhận diện biển số xe trên

máy tính nhúng Jetson Nano.

- Cài đặt cơ sở dữ liệu (CSDL) DynamoDB và S3

- Xây dựng ứng dụng phía người dung bằng React, Javascript

- _ Xây dựng ứng dụng máy chủ bang Python, Flask

- Đánh giá và cải thiện độ chính xác và hiệu suất của hệ thống

1.4.4 Kết quả - đánh giá

Đề tài đã đánh giá độ chính xác của mô hình phát hiện biển số xe dựa trênmAP với ngưỡng IoU = 0.75 cho kết qua đạt mAP = 0.94, chứng tỏ khả năng pháthiện chính xác biển sé xe Đồng thời, chương trình cũng được đánh giá trên một đoạnvideo độ phân giải 1080x1920 và cho thây khả năng nhận diện chính xác 7/9 biên sốdài và biển số vuông tương với FPS trung bình đạt 1.8

1.4.5 Kết luận - hướng phát triển

Đề tài đã đề xuất được | hệ thống nhận diện biển số xe ô tô theo thời gian thực.Bên cạnh, dé tài đã đóng góp một bộ dữ liệu về biển số xe đã được gan nhãn mặc dùquá trình hiện thực và triển khai hệ thông gặp nhiều khó khăn Trong tương lai, đề tài

có thé cải thiện tốc độ nhận diện bằng cách nâng cấp cấu hình máy tính nhúng hoặc

sử dụng mang học sâu mới như Yolov8, SSD Ngoài ra, dé tài còn có thể thêm cáctính năng mới như phát hiện vượt đèn đỏ quy định đề tăng tính ứng dụng

1.5 Ý nghĩa

e Tính mới: Trong lĩnh vực nhận diện biển số xe ô tô, đang còn thiếu những

nghiên cứu áp dụng khả năng của DL và công nghệ xử lý DLL Việc kết hợphai công nghệ này dé phát triển hệ thông nhận diện biển số xe ô tô theo thờigian thực là một phương pháp mới trong bối cảnh dit liệu và chương trình AIngày càng tăng Vì vậy, dé tài có tính mới

Trang 14

Chương 1 Tổng quan

e Tính khoa học: Đề tài sử dụng công nghệ DLL và các thuật toán DL để xây

dựng hệ thống nhận diện biển số xe ô tô theo thời gian thực Các kỹ thuật này

đang là xu hướng trong lĩnh vực AI.

¢ Tinh ứng dụng: Hệ thống có tính ứng dụng cao trong lĩnh vực giao thông vận

tải, đặc biệt là trong việc giám sát giao thông Hệ thống có khả năng tự độngnhận diện thông tin biển số xe, giúp việc kiểm soát phương tiện dễ dàng

¢ Tính cấp thiết: Với xu hướng xây dựng các thành phố thông minh, việc xây

dựng ứng dụng nhận diện biển số xe ô tô theo thời gian thực sử dụng công cụ

xử lý DLL là cấp thiết đề giải quyết các bài toán giao thông, dữ liệu và nâng

cao hiệu quả quản lý.

Trang 15

Chương 2 Nghiên cứu và công nghệ liên quan

es cv x cà Chương 2

NGHIEN CUU VA CONG NGHE LIEN QUAN

Chương này trình bay các bài báo và công nghệ liên quan đến việc nhận diện biển

số xe ô tô Bằng việc tìm hiểu các nghiên cứu và công nghệ này, chương đưa ra cơ sở

lý thuyết và hướng tiếp cận đề tài

2.1 Nghiên cứu và xu hướng công nghệ

Các giải pháp dé nhận diện bién số xe tự động hiện tại có thể phân làm 2 loại, đó

là phương pháp 1 giai đoạn và phương pháp nhiều giai đoạn Tuy nhiên, phương phápnhiều giai đoạn được sử dụng phô biến hơn và bao gồm ba bước chính Bước | là xácđịnh vị trí của biển số xe, trong đó các thuật toán sử dụng các kỹ thuật thị giác máytính truyền thống cũng như học sâu Bước thứ hai là phân đoạn các ký tự, trong đócác kỹ thuật được dùng gồm hình thái toán học, các thành phần kết nói, phép chiếudọc và ngang Cuối cùng, bước thứ ba là nhận diện ký tự dựa trên kỹ thuật khớp mẫu

hay phân loại như mạng neural và phân loại mờ Tuy nhiên, việc xác định và nhận

dạng được chia thành 2 giai đoạn khác nhau dẫn đến độ chính xác của kết quả cuốicùng bị ảnh hưởng Giả sử trong quá trình xác định vị trí bỏ qua 1 phần của biển số

xe sẽ dẫn đến việc nhận dạng thiếu ký tự Do vậy việc có kết quả mong muốn ở mỗigiai đoạn trong phương pháp nhiều giai đoạn là quan trọng đề đảm bảo độ chính xáctổng thé của quá trình nhận dạng

Gan đây các nghiên cứu về nhận diện bién số xe đã không còn tập trung hết vàohướng tiếp cận nhiều giai đoạn mà đã có một số phương pháp thành công theo hướngtiếp cận một giai đoạn Hầu như các phương pháp này chi sử dung 1 mang neural sâu,được huấn luyện để phát hiện và nhận dạng biển số xe trong một lần thực thi duy

nhất Việc nhận diện biển số xe được xem là một trường hợp cụ thể của việc phát hiện

đối tượng Giống với các bộ phát hiện đối tượng trong 1 giai đoạn, các mô hình này

có thể khai thác sự tương quan cao giữa việc phát hiện và nhận dạng biển số xe Điềunày cho phép các mô hình chia sẻ tham số và có ít tham số hơn so với một mô hìnhhai giai đoạn điển hình Do đó, mô hình có thể nhanh hơn và hiệu quả hơn so với

phương pháp hai giai đoạn tương đương.

Trang 16

Chương 2 Nghiên cứu và công nghệ liên quan

Ở giai đoạn phát hiện biên số xe, thường áp dụng các kỹ thuật thị giác máy tínhtruyền thống để trích xuất biển số, dựa vào các đặc trưng như hình dạng, màu sắc của

ký tự Nhiều nghiên cứu cũng sử dụng các bộ phân loại thống kê với các đặc trưngHaar-like để đạt hiệu suất tốt hơn Gần đây, hơn 80% các nghiên cứu đã sử dụng DLcho việc nhận dạng biển số xe do hiệu suất vượt trội và chính xác hơn so với các kỹthuật truyền thống

1 số mô hình DL được dùng cho tác vụ phát hiện và nhận dạng đối tượng có thể

ké đến:

- Faster R-CNN: Đây là mô hình phổ biến dựa trên CNN sử dụng một mang đề

xuất vùng (RPN) để tạo ra các đề xuất đối tượng, tiếp theo là một mạng CNNdựa trên vùng đó để phân loại và điều chỉnh các đề xuất

- YOLO (You Only Look One): Đây là một mô hình phổ biến khác dựa trên

CNN thực hiện việc phát hiện và nhận dạng đối tượng trong một lần Mô hìnhchia ảnh đầu vào thành các ô lưới sau đó dự đoán xác suất lớp và tọa độ hộp

giới hạn cho mỗi ô.

- SSD (Single Shot Detector): Đây là một mô hình có hiệu suất nhanh và hiệu

quả dựa trên CNN Mô hình sử dụng một loạt các lớp tích chập với các tỷ lệ

khía cạnh khác nhau để dự đoán xác xuất lớp và tọa độ hộp giới hạn cho mỗi

đối tượng

- Mask R-CNN: Đây là một mở rộng của mô hình Faster R-CNN, bồ sung thêm

một nhánh phân đoạn vào mạng, cho phép dự đoán cả các lớp đối tượng vàcác mặt nạ phân đoạn cấp pixel

- RetinaNet: Day là mô hình dựa trên CNN sử dụng độ mat mát dé xử lý bài

toán mat cân bằng giữa các lớp trong phát hiện đối tượng Mô hình này đã datđược độ chính xác cao bằng cách tập trung vào những ví dụ khó trong quátrình huấn luyện và bỏ qua các ví dụ dễ

2.2 Các nghiên cứu ở Việt Nam

Ké từ 2012, có nhiều nghiên cứu về dé tài nhận diện biển số xe ở Việt Nam Nếuchỉ tính đến những bài báo được đăng trong nước thì gần đây có nhiều nghiên cứu [1-

Trang 17

Chương 2 Nghiên cứu và công nghệ liên quan

3] Tuy nhiên, chỉ có hai nghiên cứu có mục tiêu xây dựng ứng dụng giống với đề tài

này.

Bài báo thứ nhất [3], tác giả đã dùng các kỹ thuật máy học như trích xuất đặctrưng va SVM làm giải thuật chính cho chương trình Rồi tiền hành ba lần thử nghiệmtrên 100 tắm ảnh ngẫu nhiên đề thống kê kết quả đánh giá độ chính xác

Bài báo thứ hai [1] trong năm 2021, là về việc áp dụng kỹ thuật nhận diên biển

số xe ô tô vào quản lý giữ xe ở Trường Đại học Hà Tĩnh Tuy nhiên tác giả chỉ đề cập

tới kỹ thuật phát hiện cạnh Canny và kỹ thuật nhận diện ký tự quang học làm giải

thuật cho chương trình mà không đề cập chỉ tiết đến kỹ thuật nhận diện kỹ thuật nhậndiện ký tự Về kết quả, nhóm tác giả đã thử nghiệm trên 100 mẫu biển số xe và chươngtrình chỉ không thể nhận dạng được một biển số xe do bị mờ

Sau khi tham khảo hai bài báo trên, cả hai đang sử dụng giải thuật máy học làm

giải thuật chính Tuy nhiên, học sâu đang được xem như một lĩnh vực tiên tiến vàhiệu quả cho các bài toán nhận diện đối tượng Do đó, ở tương lai, có thé dự đoán xuhướng sẽ dần chuyền sang áp dụng DL cho việc nhận diện biển số xe Mặt khác phạm

vi áp dụng của hai bài báo nằm trong phạm vi nhỏ cục bộ, trong khi các ứng dụngtrong lĩnh vực thành phó thông minh sẽ đòi hỏi những phương pháp và công cụ xử lýDLL, kết hợp với học sâu để đảm bảo hiệu quả và chính xác trong quá trình nhận diệnbiển số xe

2.3 Cơ sở lý thuyết và hướng tiếp cận đề tài

2.3.1 Công nghệ áp dụng

2.3.1.1 BigDL

BigDL được phát triển bởi công ty Intel với mục đích tận dụng các cụm máy tínhnhư K8s, Hadoop, Spark, Yarn dé làm giảm thời gian huấn luyện và dự đoán mô hìnhhọc sâu Ngoài ra, BigDL cũng có các công cụ hỗ trợ cho các ứng dụng về gợi ý/đềxuất và thời gian cũng như các giải pháp bảo mật đữ liệu

BigDL cũng tương thích với các framework phổ biến khác như: Tensorflow,Keras, PyTorch, OpenVINO Bộ thư viện bao gồm nhiều thành phần như:

- Orca: giúp huấn luyện va dy đoán mô hình DL trên các cum máy tính

Trang 18

Chương 2 Nghiên cứu và công nghệ liên quan

- Nano: tối ưu hóa các chương trình sử dụng PyTorch hoặc Tensorflow trên

Intel XPU.

-_ DLIib: hỗ trợ viết các chương trình học sâu dưới dang các chương trình Spark

- Chronos: hỗ trợ xây đựng ứng dụng liên quan tới phân tích về thời gian

- Friesian: hỗ trợ xây dựng hệ thống có tính năng gợi ý/đề xuất

- PPML: hỗ trợ bảo vệ quyên riêng tư bảo mật của dữ liệu

Hardware Secured Big Data & AI?

No Yes

Python vs Scala/Java? eD

Python ScalalJava

What type of application? én

Distributed Big Data

Accelerate

+ DL for Spark MLIib High Level App Framework

AI (TF/PyTorch) TensorFlow / PyTorch

ooo

co Series Recommender cp

Hình 2.1 Các thu viện trong c—

Nguồn: Hình ảnh được trích dẫn từ trang chủ của BigDL.

Đề tài này sẽ sử dụng Orca đề hỗ trợ công việc huấn luyện mô hình DL Orca cho

phép cài đặt chương trình trên máy tính cá nhân và sử dụng các tài nguyên trên cụm

máy chủ đề thực hiện quá trình huấn luyện

Trang 19

Chương 2 Nghiên cứu và công nghệ liên quan

Install & Run on prototype on distributed

Pipeline

Hình 2.2 Cách hoạt động của Orca

Nguồn: Hình ảnh được trích dẫn từ bài thuyết trình về chủ đề BigDL 2.0: Seamlessly

scaling end-to-end AI pipelines tại sự kiện Ray Submit 2022.

Để quản lý và phân chia các tác vụ trên cụm máy chủ, Orca sử dụng ApacheSpark Cụ thé là Spark Driver dé quan lý các tác vụ và giao tiếp với các Executor trêncác nút của cụm máy chủ Mỗi Executor sẽ chạy các tác vụ được giao cho nó, tươngứng với một phần của dữ liệu Việc phân chia và thực thi các tác vụ trên nhiềuExecutor khác nhau nhằm tăng tốc độ huấn luyện và giảm thời gian chờ đợi

Hình 2.3 Quản lý và phân chia tác vụ trong Orca

Nguồn: Hình ảnh được trích dẫn từ bài thuyết trình về chủ đề BigDL 2.0: Seamlessly

scaling end-to-end AI pipelines tại sự kiện Ray Submit 2022.

2.3.1.2 RetinaNet

RetinaNet [8] được giới thiệu vào năm 2018 Do là một mô hình nhận diện đốitượng một giai đoạn với khả năng cho kết quả có độ chính xác cao và tốc độ nhanh.RetinaNet sử dung cơ chế mang CNN, cho phép mô hình cải thiện khả năng phát hiệncác vật thể nhỏ cái mà trước đây thường bị bỏ qua bởi các mô hình truyền thống,nhưng RetinaNet có thé phát hiện chúng với độ chính xác cao hơn Ngoài ra, mô hình

Trang 20

Chương 2 Nghiên cứu và công nghệ liên quan

còn xử lý được bài toán mất cân bằng giữa hình nền và hình chứa vật thé bằng cách

sử dụng hàm focal loss có công thức như sau:

FP(q) = —ø;( ~ qi)" log (qi) (2.1)

Sự đổi mới chính của RetinaNet là việc sử dụng mang FPN (Feature PyramidNetwork) để phát hiện hiệu quả các vật thể ở nhiều tỷ lệ khác nhau Ảnh ban đầu

được trích xuất đặc trưng bởi bộ lọc đặc trưng bao gồm ResNet và FPN Kiến trúc

FPN bao gồm I nhánh đi xuống và | nhánh đi lên Nhánh đi lên sẽ làm giảm kíchthước và tăng độ đặc trưng trong khi nhánh đi xuống sẽ tăng kích thước bản đồ đặctrưng lên gấp đôi

dastbox] |’ |

subnets | | class

| subnet

elasstbox subnets

dasctbox

subnets

box

subnet

(@) ResNet (© feature pyramid net {c) class subnet (top) _(d) box subnet (bottom)

Hinh 2.4 Mang Rentina Net

Các ban dé đặc trưng nay dùng dé dự đoán lớp va hộp giới hạn cho các đối tượng.Nhánh phía trên dự báo phân phối xác xuất của các lớp trong khi nhánh phía dưới dựđoán tọa độ với định dạng: (x, y, chiều rộng, chiều dai)

Nhìn vào hình 2.5 có thể thấy RetinaNet có kết quả tốt hơn các mạng khác và cảithiện được đến 7.8 điểm (53.3 > 61.1) so với mô hình đứng thứ 2 là DSSD513 khi

cả hai đều sử dụng kiến trúc RestNet101 và xét trên độ đo AP50

RetinaNet (ours) ResNet-101-FPN 39.1 59.1 42.3 21.8

RetinaNet (ours) ResNeXt-101-FPN 40.8 61.1 441 24.1

Hình 2.5 Kết quả so sánh các mô hình tại thời điểm 2018 Nguồn: Hình ảnh được trích dẫn từ bài báo: Focal Loss for Dense Object Detection.

Trang 21

Chương 2 Nghiên cứu và công nghệ liên quan

Trong dé tài này, biển số xe cũng có thể được xem là vật thé nhỏ Với khả năngcho kết quả nhận diện các đối tượng nhỏ tốt hơn so với các mạng khác nên mô hình

quy mô doanh nghiệp.

S3 là một dịch vụ lưu trữ đám mây được dùng để lưu trữ và phân phối dữ liệu

trên mạng như hình ảnh, video, tệp âm thanh, tệp dữ liệu và các tài liệu khác Nó không giới hạn dung lượng lưu trữ và tự động mở rộng, đi kèm với tính năng bảo mật

đề đảm bảo an toàn dữ liệu

Trang 22

Chương 3 Phân tích và thiết kế

xạ Chương

PHAN TICH VA THIET KE

Chương trình bay về sơ đồ hoạt động tổng quan của hệ thống Bằng việc phântích các yêu cầu, chương đưa ra sự lựa chọn và thiết kế cho các phan trong hệ thống

3.1 Thiết kế tống quan

Hệ thống bao gồm 4 thành phần:

Thanh phần lưu trữ thông tin về hình ảnh, dữ liệu

Thành phần nhận diện biển số xe

Thành phần hiển thị giao diện chức năng phía người dùng

Thành phần máy chủ xử lý thông tin trước khi gửi về cho người dùng

Luỗng hoạt động:

Hình ảnh được thu bởi camera sẽ đưa qua mô hình nhận diện biển số xe Sau

đó kết quả nhận diện được lưu tại CSDL của hệ thống

Khi người dùng sử dụng ứng dụng trên trình duyệt, các yêu cầu thông tin sẽđược gửi đến máy chủ Lúc này tùy thuộc vào các thao tác của người dùng

mà máy chủ sẽ kết nối đến CSDL hay camera đề trả dữ liệu về cho người

dùng.

Trang 23

Chương 3 Phân tích và thiết kế

3.2 Thiết kế chỉ tiết

3.2.1 Thành phần nhận diện bién số xe

Thành phần nhận diện biển số xe được thiết kế bao gồm camera và máy tínhnhúng, được kết nối với nhau qua công USB và dây cáp mạng Thay vì gửi toàn bộ

dir liệu từ các camera tới máy chủ và thực hiện quá trình nhận diện ở đó, quá trình

nhận diện sẽ được xử lý trực tiếp tại máy tính nhúng Điều này giúp giảm tải cho máychủ và tránh tình trạng chậm và gây lỗi cho hệ thống Máy tính nhúng được cài đặt

để xử lý video từ camera thông qua thư viện OpenCV Sau đó, ảnh được đưa vào môhình DL để xác định vị trí biển số xe trong ảnh Nếu mô hình phát hiện được đốitượng, chương trình sẽ tiến hành cắt và đưa đối tượng sang mô hình nhận diện ký tự.Kết quả trả về là chuỗi ký tự biển số xe được dự đoán và sau đó chuỗi ký tự đượcchuẩn hóa và xử lý dé đưa ra kết quả cuối cùng Dữ liệu gồm kết quả nhận diện, thờigian, hình ảnh và camera sẽ được gửi và lưu trong CSDL của hệ thống Ngoài ra, máytính nhúng được cài đặt để nhận kết nối từ máy chủ và gửi thông tin theo giời thanthực khi có yêu cầu

Các lựa chọn cho máy tính nhúng có thé là:

Bảng 3.1 Mô tả các máy tính nhúng

Tên Mô tả Câu hình Giá thành

Các máy tính nhúng Được thiết kế đặc biệt | 4 nhân 4 triệu 900

thuộc bộ Jetson như cho việc thực thi các ARM ngàn việt nam

Jetson Nano các ứng dụng thị giác | Cortex-A57, | đồng

` NVIDIA

GPU

Đây cũng là một thiệt | 4 nhân 4 triệu — 5 triệu

bị được dùng nhiều ARM 600 việt nantrong các ứng dụng Cortex-A72 | đồng tùy theokhác nhau bao gồm CPU, từng phiên bảnnhận diện vật thẻ 2/4/8GB dung lượng

RAM RAM

Trang 24

Chương 3 Phân tích và thiết kế

Coral Dev Board Được phát triên bởi 4 nhân 4 triệu 900

Google để sử dụng với | ARM ngàn việt namEdge TPU (Tensor Cortex-A53 | đồng

Processing Unit) dé CPU, bộnâng hiệu qua các tác | đồng xử lý

vụ máy học Google

Edge TPU

Odroid-N2 Được phát triển bởi ARM 2 triệu 500

4 Hardkernel thường Cortex-A73 | ngàn việt nam

ke dùng trong xử lý video |CPU,4GB_ | đồng.

ne theo thời gian thực RAM

ne

UP Xtreme il1 Day là hệ thông nhúng | Intel core i3 | 19 triệu việt

i có hiệu năng xử lý cao | thế hệ 11, nam đồng

được phát triển bởi Intel Iris Xe,AAEON 8GB RAM

Với sự phổ biến, giá thành dễ tiếp cận và sự vượt trội hon về GPU, máy tínhnhúng Jetson nano sẽ cho tốc độ xử lý nhanh hon so với các đối thủ cùng tam giá tiền

Do đó thiết bị này đã được dùng trong hệ thống

Ngoài việc dùng máy tính nhúng hiệu suất cao, chất lượng video đầu vào cũngcần được đảm bảo Vì vậy camera được chọn cần phải có độ phân giải từ Full HD trởlên, FPS từ 30 trở lên, độ bền cao Đề dit liệu được truyền tải đến máy tính nhúngmột cách toàn vẹn và an toàn nên các camera IP không được đề xuất trong đề tài này.Một số camera có thể tham khảo như:

Bảng 3.2 Mô tả các camera

Tên Mô tả Giá thành

Logitech C922 HD Pro Độ phân giải 1080p, 30 FPS, 2 triệu 200 ngàn

hoạt động tốt trong tình trạng việt nam đồngánh sáng yếu

Sony IMX219 Camera Được thiết kê đặc biệt cho 600 ngàn việt nam

Jetson Nano, cảm biến 8 đồng

megapixel, góc nhìn 160 độ, độ phân giải 1080p, 30 FPS.

Trang 25

Chương 3 Phân tích và thiết kế

Raspberry Pi Camera V2 | Mặc dù được thiệt kê cho 700 ngàn việt nam

Raspberry Pi nhưng vẫn tương | đồng

thích với Jetson Nano, độ phân

giải 1080p, 30 FPS, cảm biến 8

megapixel.

Cả 3 camera đều cung cấp video chất lượng Full HD với FPS bằng 30 Mặc dugiá thành của Raspberry Pi Camera V2 và Sony IMX219 Camera rẻ hơn rất nhiều sovới Logitech C922, tuy nhiên, vì camera sẽ được gắn trên cột đèn giao thông ngoài

trời nên việc sử dụng Sony IMX219 hay Raspberry Pi Camera V2 sẽ đòi hỏi thêm chi

phí cho vật liệu để bảo vệ camera Vì vậy, đề tài dùng Logitech C922

3.2.2 Thành phần lưu trữ

Thanh phan lưu trữ CSDL là 1 thành phần không thẻ không có trong tat cả cácứng dụng Trong hệ thông này, CSDL được sử dụng đề tiếp nhận và lưu thông tin từcamera sau khi nhận dạng Với việc có rất nhiều camera gửi dữ liệu về trung tâmCSDL liên tục trong suốt ngày đêm, cho nên CSDL cần được đảm bảo về dung lượng

lưu trữ lớn, khả năng ghi và chịu tải cao Do đó các CSDL phân tán được ưu tiên sử

dụng trong hệ thống Một số CSDL phù hợp như: Apache Cassandra và AWSDynamoDB Cả hai CSDL này đều là CSDL không có quan hệ, được thiết kế xử lýDLL và cung cấp khả năng sẵn sàng và mở rộng cao Tuy nhiên, nếu sử dụng CDSLApache Cassandra, sẽ cần phải tự quản lý về cơ sở hạ tầng và khả năng mở rộngCSDL Trong khi đó, nếu sử dụng CSDL AWS DynamoDB, sẽ không cần quan tâmđến điều đó nữa, tuy nhiên sẽ cần quan tâm về chỉ phí sử dụng dịch vụ Do đó, đề tàidùng AWS DynamoDB đề lưu dữ liệu

Ngoài dữ liệu dạng văn bản thông thường, hệ thống còn cần lưu dữ liệu hình ảnh

Do kích thước dữ liệu hình ảnh thường lớn hơn dung lượng tối đa mà DynamoDBcho phép cho nên cần phải có nơi lưu trữ riêng cho dữ liệu này Có hai lựa chọn khả

thi là Hadoop Distributed File System (HDFS) và Amazon S3.

Trang 26

Chương 3 Phân tích và thiết kế

Bảng 3.3 So sánh HDFS va Amazon S3

Tên Ưu điểm Nhược điểm

HDFS Là hệ thông phân tán dữ liệu được thiết kế cho | Tén nhiều công

việc lưu trữ DLL và truyền dữ liệu sức đề cài đặtThường sử dụng trong môi trường DLL thiết lập và bảoTính sẵn sàng và khả năng hạn chế lỗi cao trì

Amazon S3 | Dịch vụ lưu trữ đám mây có khả năng mở rộng | Cần phải tra phí

cao, có thé truy cập lây dữ liệu từ bat ky đâu dịch vụ

trên mạng.

Dễ dàng thiết lập và cài đặt

Các tính năng như tự động mở rộng, quản lý

phiên bản dữ liệu, các quyền truy cập cho dữ

liệu.

Đề tài dùng dịch vụ lưu trữ Amazon S3 để tiết kiệm thời gian và đồng bộ hóa với

CSDL DynamoDB.

3.2.3 Thành phần máy chủ

Đây là nơi xử lý trung gian trong hệ thống Tùy vào yêu cầu đến từ người dùng

mà máy chủ có thé truy cập vào CSDL hoặc camera dé lay và trả về dữ liệu can thiết

Có hai mô hình truyền tin giữa camera và máy chủ đó là: REQ/REP và PUB/SUB

Bảng 3.4 So sánh REQ/REP và PUB/SUB

Mô hình | Ưu điểm Nhược điêm

REQ/REP | Hình ảnh được đảm bảo gửi đên | Camera sẽ không tiếp tục gửi dữ

máy chủ trước khi camera tiếp liệu về máy chủ nếu không nhậntục gửi tiếp dữ liệu được phản hồi

May chủ không cần biết địa chỉ | Nếu máy chủ khởi động lại thì tat

của từng camera cả các máy tính nhúng cũng phải

Máy chủ có thể đồng thời nhận _ | khởi động lại Do đó máy chủ

và xử lý hình ảnh từ nhiều phải ồn định và không được khởi

camera động lại thường xuyên.

Khởi động hoặc dừng camera không ảnh hưởng tới máy chủ hoặc các camera khác.

PUB/SUB | Khi có kêt noi từ máy chủ, Máy chủ cân biêt được chính xác

camera sẽ truyền tải dữ liệu liên | địa chỉ của từng camera/máy tínhtục mà không cần phải đợi tin nhúng Trong trường hợp với số

hiệu phản hồi lượng lớn camera hoạt động thì sẽ

Máy tính nhúng không cần phải | dẫn đến có hàng loạt phương thứckhởi động lại nếu máy chủ khởi | kết nối được gọi và thực thi trong

động lại chương trình.

Trang 27

Chương 3 Phân tích và thiết kế

Dé dàng triên khai với mô nhiều | Nếu máy chủ không nhận đượcnhiều camera nhiều máy chủ hình ảnh, camera/máy tính nhúng

cũng không biết

Nếu việc nhận và xử lý dữ liệu ở

máy chủ chậm hơn quá trình gửi

dữ liệu từ camera đến máy chủ sẽdẫn đến dễ gây lỗi cho chương

trình.

Do hệ thống sẽ có nhiều rất nhiều camera nên nếu áp dụng mô hình REQ/REP sẽcần phải xây dụng một máy chủ cực kỳ mạnh và hạn chế khởi đông lại Mặt khác,trong quá trình sử dụng, chưa han lúc nào người dùng cũng quan sát camera thườngxuyên mà chỉ trong những trường hợp cần với thời gian ngắn Do đó, việc áp dụng

mô hình PUB/SUB sẽ hợp lý hơn vừa giảm tải khối lượng cho máy chủ, vừa giảm

chi phí xây dựng va vận hành.

'Việc xử lý nhận diện biển số xe đã thực hiện ở máy tính nhúng, nên cầu hình máychủ không cần thiết phải có bộ xử lý đồ họa, mà cần nhiều RAM, bộ xử lý và khảnăng tải cân bằng phân bố lượng yêu cau tới máy chủ Do đó đề tài dùng dịch vụAWS EC2 với máy chủ c5.large cấu hình 2 vCPUs, 4GB RAM kèm với dịch vụ ELB

tự điều phối yêu cầu và tăng giảm s6 lượng máy chủ theo từng thời điểm vì ngườidùng chưa hắn lúc nào cũng trực hệ thông Vì vậy chỉ phí sẽ có thể tiết kiệm hơn sovới lựa chon một cầu hình mạnh như 16 vCPUs, 32GB RAM nhưng không kèm dịch

vụ ELB Chi phí ước tính cho hằng tháng khoảng 52 triệu việt nam đồng

Các sự lựa chọn khác có thể tham khảo:

- Google Cloud Platform: cấu hình 2 vCPUs, 7.5 GB RAM kèm dich vu tải cân

bang với chi phí ước tính cho hằng tháng khoảng 38 triệu việt nam đồng

- Microsoft Azure: máy tinh ảo B2s cấu hình 2 vCPUs, 4GB RAM kèm dịch

vụ tải cân bằng với chí phí ước tính cho hằng tháng khoảng 42 triệu việt namđồng

Trang 28

Chương 3 Phân tích và thiết kế

3.2.4 Thành phần ứng dụng trên trình duyệt

Hình 3.2 Use case quản lý giao thông

thông tại một thời gian hay địa đ

Tên chức năng Quản lý giao thông

Tác nhân Người dùng

Cho phép người sử dụng quan sát trực tiếp tình trạng giao

Mô tả thông, quản lý các camera giám sát và xem lại lịch sử giao

iém nhất định

Luéng su kién

Tac nhan Phản hồi của hệ thống

Người dùng đăng nhập vào hệ thông.

Xác nhận thông tin người

dùng, nếu thông tin chính

xác cho phép người dùng

sử dụng hệ thống

Sử dụng các chức năng của hệ thông: xem trực tiép, xem lại lịch sử giao thông, quản lý camera.

Điều kiện thoát Khi người dùng đăng xuất hệ thông

Trang 29

Chương 3 Phân tích và thiết kế

Hình 3.4 Diagram quản lý camera

lý camera đề quản lý các camera đang sử dụng Người dùng có

Trang 30

Chương 3 Phân tích và thiết kế

camera được lắp đặt Nếu có thay đổi về thông tin của camera, người dùng có théchỉnh sửa thông tin này Đối với trường hợp camera bị hư hỏng hoặc ngừng hoạtđộng, người dùng có thể xoá bỏ camera đó bằng chức năng xoá

Chức năng thêm camera dùng dé thêm một camera mới vào trong hệ thống bằngcách nhập thông tin của camera, bao gồm: tên camera, mã camera, vi trí đặt camera,hình ảnh của camera và ghi chú (nếu có) Sau khi thêm camera mới, người dùng cóthể quản lý và sử dụng camera này trong các chức năng khác của hệ thống

e = Xem lại lịch sử giao thông

Chức năng xem lại lịch sử giao thông mang đến khả năng xem lại tình hình giaothông tại 1 địa điểm và thời điểm nào đó Người dùng cần chọn địa điểm và thời gianmuốn xem lại Sau đó, người dùng sẽ có thể xem chính xác thông tin về các phươngtiện đã đi qua đó bao gồm biển số xe và hình ảnh của chúng tại thời điểm đó Chứcnăng này giúp người dùng nắm được tình hình giao thông trước đó và đưa ra cácquyết định ở tương lai

Trang 31

Chương 4 Thực hiện và triển khai hệ thống

Chương4 :

THỰC HIỆN VÀ ĐÁNH GIÁ

Chương cung cấp 1 số hình ảnh cho việc triển khai hệ thống Ngoài ra, các đoạn

mã chính cũng được đưa ra đề giải thích cách hiện thực của ứng dụng và đánh giá kết

khác nhau.

3m @ H9 # @ %$(

©wlogtoertea @ moedoslnpC 2 Howcinlgenent Z2 choưnn > | Bom

@ Thanh phd H6Chi Minn Việt © 21/08/2025 | 21-00 28/06/2025 | 20:00

&) (@ xegamgae ) ( Vÿ chủxe5sao@ ) (@ miéntnéchip © ` ( Đặtenhanh© ) ( © Bảohiếmchuyểnđi@ ) ( toaixe > Í Z BQlạe

` ` siướng `

HYUNDAI SANTA FE 2021 ©) VINFASTFADIL2019 © MORRISGARAGESMGSLUXU ©) HONDACITY2020 ©)

S0 chai #so cgấ 5.027 50 st

9 oun tranh Hor 9 om ° 7 9oAne

HYUNDAI ACCENT2019 1 HYUNDAI ACCENT2020 -) 3 MITSUBISHI ATTRAGE 2020 ©)

Hình 4.1 Trang chu trang cho thuê 6 tô mioto.vn

Chương trình thu thập hình ảnh được xây dựng bằng Javascript, ChromeExtensions API với các bốn bước chính như sau:

Bước 1: Kiểm tra số lượng ảnh đã tải với số lượng ảnh mong muốn nhận được

Trang 32

Chương 4 Thực hiện và triển khai hệ thống

Bước 2: Tiến hành lấy đường dẫn hình ảnh ô tô thông qua API mà trangmioto.vn cung cấp

Bước 3: Dùng API mà Chrome Extension cung cấp dé tải xuống ảnh từ đườngdẫn đã lấy được ở bước 2 về máy tính

Bước 4: Cập nhật lại điều kiện

Hình 4.2 Doan mã thực hiện việc tải anh 6 tô

Trang 33

Chương 4 Thực hiện và triển khai hệ thống

Kết quả thu được là 2365 ảnh ô tô trong đó có 373 ảnh không chứa bién số xe 6

Hình 4.3 Minh họa nội dung ảnh được gan nhãn từ tệp K2BI86.xml

Để có thé gan nhãn, dé tai sử dụng công cụ miễn phí labellmg được xây dựng bằng ngôn ngữ Python dé tiến hành mở ảnh sau đó dùng chuột dé xác định và vẽ vị trí mà biển số xe xuất hiện trong ảnh.

Trang 34

Chương 4 Thực hiện và triển khai hệ thống

Hình 4.4 Công cụ gan nhãn mã nguồn mở miễn phí labellmgKết quả thu được là 1750 tệp ảnh đã được gán nhãn trong đó có 1473 tắm hìnhđược chụp ở góc chính diện, 130 tắm hình được chụp ở góc xéo bên phải, 147 tắm

hình được chụp ở góc xéo bên trái.

130 ảnh lệch phải

Hình 4.5 Vị trí của biển số xe

Trước khi ảnh được đưa vào mô hình nhận diện thì phải được thay đổi kích thước và

được chuân hóa:

Hình 4.6 Đoạn mã thẻ hiện các công việc tiền xử lý ảnh.

Trang 35

Chương 4 Thực hiện và triển khai hệ thống

4.2 Huan luyện mô hình

4.2.1 Hiện thực mô hình RetinaNet

Mô hình RetinaNet [8] được xây dựng trên bộ trích xuất đặc trưng ResNet50 va FPN Nhưng BigDL chưa cung cấp san mô hình RetinaNet dé có thé sử dung Do đó cần phải hiện

thực lại mô hình với ba bước chính như sau:

Bước 1: Khởi tao mô hình với dau vào là 1 ảnh ở dạng tensor và dau ra là kêt quả của

convolutional ở bước 3, 4, và 5 của mạng ResNet50.

.aÐblicat1lons.ResNet50 (

, input_sutput, c4Output, c5Ou =

Trang 36

Chương 4 Thực hiện và triển khai hệ thống

keras layers Conv2D, UpSampling2D

FeaturePyramid(keras.layers.Layer):

def init (self, backboneResnet50=None, **kwargs) :

super() init_ (name="FeaturePyramid", **kwargs) self.backboneResnet50 = backboneResnet50

backboneResnet50 xayDungBackboneResnet50 ()

self.convC3 1 1 = Conv2D(256, 1, self.convC4 1 1 Conv2D (256,

(

Do ^ )

fF call(self, images, training=False) :

c30utput, c4Output, c5Output = self backboneResnet50 (

images, training=training) p30utput = self.convC3 1 1(c30utput

p40utput 2 self -conavC24\1 (C40100.

poOutput self.convC5 1 1(c5Output) p40utput p40utput + self.upsample2x (p50utput)

p30utput p30utput + self.upsample2x (p4Output)

p30utput self.convC3 3 3(p30utput) p40utput self.convC4 3 3(p4Output) psOutput self.convC5 3 3(p50utput)

( (

) )

Đ6Output self.convC6 3 3(c5Output)

p/Output self.convC7 3 3(t£.nn.relu(p6Output) )

p30utput, p4Output, poOutput, pe6Output, p/7Output

Hình 4.8 Doan mã hiện thực FPN

Bước 3: Kết hợp các kết quả từ bước 1 và 2 dé xây dựng lớp RetinaNet

Trang 37

Chương 4 Thực hiện và triển khai hệ thống

rflow import constant initializer, import log

class RetinaNet (keras.Model):

def init (self, soLop, backboneResnet50=None,

*xkwargs):

self.fpn = FeaturePyramid (backboneResnet50) self.soLop = soLop

self.lop = buildHead(9 * soLop, khaNang) self.viTri = buildHead(9 * 4, )

call(self, anh, training=False) :

features-=.selL£.£bn(anh; kraining=training)

N shape (anh) [0]

duDoanLop = duDoanVitri = []

for feature in features:

duDoanVitri.append(reshape (self.viTri (feature),

duDoanLop append (

reshape (self.lop(feature), [N, -1, self.soLop])

)

duDoanLop = tf.concat(duDoanLop, axis=1) duDoanVitri = tf rat (duDoanVitri, axis=1)

return tf.concat([duDoanVitri, duDoanLop], axis=-l)

Hình 4.9 Doan mã hiện thực lớp RetinaNet

4.2.2 Huấn luyện

Sau khi hiện thực được mô hình RetinaNet, bước tiếp đó là huấn luyện mô hình trên

máy tính Acer Nitro AN515 — 57 theo 4 bước sau:

Bước 1: Thiết lập phương thức huấn luyện dé tận dụng tối đa phần cứng

Trang 38

Chương 4 Thực hiện và triển khai hệ thống

object store memory="10g")

Hình 4.10 Cài đặt phương thức huấn luyện trên máy tinh Acer Nitro AN515 - 57

Bước 2: Hoàn chỉnh khởi tạo mô hình bằng việc lựa chọn thuật toán tối ưu, sử dụng

trọng sô đã được huân luyện từ trước nêu có.

keras.optimizers def khoiTaoMoHinh (cauhinh) :

# dung model tw

# Hiện thực mô hình Retine

backboneResnet50 = xayDungBackboneResnet50 () lossFN RetinaNetLoss (soLop)

RetinaNet (soLop, backboneResnet50)

thi vi huan luyện 3 Ven so với các t Oán tôi ưu khác

Hinh 4.1 Doan ma hoan thién cai dat m6 hinh

Bước 3: Chuẩn bị dữ liệu đầu vào mô hình Trước đó bộ đữ liệu được gán nhán đã được

chia làm 3:

- Dé liệu huấn luyện gồm 1225 ảnh tương đương với 70% bộ dit liệu.

- Di liệu validation gồm 350 ảnh tương đương với 20% bộ dit liệu.

- Di liệu kiểm tra gồm 175 ảnh tương đương với 10% bộ dữ liệu.

Ngày đăng: 08/11/2024, 17:23

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

TÀI LIỆU LIÊN QUAN