Với bài toán nhận diện lại đối tương Re-indentification nhóm dé xuất mô hình REG4L-Net, mô hình là sự kết hợp của bốn hàm mắt mát giúp mô hình có thể hội tụ tốt, ngoài ra việc kết hợp Mu
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
CHE QUANG HUY
KHOA LUAN TOT NGHIEP
TÍCH HOP TÍNH TOÁN BIEN VA MAY CHU CHO BÀI TOÁN TIM KIEM PHƯƠNG TIEN VA CON NGƯỜI
TREN KHUON KHO CAMERA THONG MINH
Edge-to-cloud integration for vehicle and person search problems
on smart camera framework
NGANH KY THUAT MAY TÍNH
TP HO CHÍ MINH, 2023
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TÍNH
CHE QUANG HUY - 18520819
KHOA LUAN TOT NGHIEP
TÍCH HỢP TÍNH TOÁN BIEN VA MAY CHU CHO BÀI TOÁN TÌM KIEM PHƯƠNG TIEN VA CON NGƯỜI
TREN KHUÔN KHO CAMERA THONG MINH
Edge-to-cloud integration for vehicle and person search problems
on smart camera
NGANH KỸ THUAT MAY TÍNH
GIANG VIEN HUONG DAN
THAC Si TRUONG VAN CUONG
Trang 3DANH SÁCH HOI DONG BẢO VE KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
71/QD-DHCNTT ngày 15 tháng 02 năm 2023 của Hiệu trưởng Trường Dai học Công nghệ
Thong tin.
Trang 4LỜI CÁM ƠN
Đầu tiên, em xin gửi lời cảm ơn đến quý thầy cô giáo trường Đại Học Công Nghệ
Thông Tin Trong quá trình học tập va rèn luyện tại trường, với sự dạy dé, chỉ bảo
tận tình của các quý thầy cô giáo đã trang bị cho em những kiến thức về chuyên
môn cũng như kỹ năng mềm, tạo cho em hành trang vững chắc trong cuộc sống
cũng như công việc sau này.
Tiếp theo, em xin cảm ơn khoa Kỹ Thuật Máy Tính vì đã luôn tạo mọi điều kiện
thuận lợi cho em được học tập và phát triển.
Đặc biệt, để hoàn thành khóa luận tốt nghiệp này, em xin gửi lời cảm ơn sâu sắc tới Thầy Trương Văn Cương đã tận tình chỉ bảo, hướng dẫn và hỗ trợ trang thiết bị cho
em trong suốt thời gian thực hiện đề tài Đồng thời, mm cũng xin gửi lời cảm ơn đến mọi người trong Câu lạc bộ CEEC đã hỗ trợ mình hoàn thành khóa luận một
cách tốt nhất.
Em cũng muốn cảm ơn tất cả các công ty và nhà phát triển cung cấp các dịch vụ
miễn phí cũng như các thư viện và dự án mã nguồn mở Không có những công cụ
và thư viện này khoá luận của em sẽ không thể hoàn thành được như bây giờ.
Cuối cùng, em xin cảm ơn đến gia đình, những người luôn dành những sự động viên đến em trong suốt quá trình thực hiện khóa luận.
Thành phó Hồ Chí Minh, tháng 2 năm 2023
Sinh viên thực hiện
Trang 5MỤC LỤC
Chương 1 GIỚI THIỆU DE TÀII -2-22+22EE+2+22EEEE+tEEEEEErEEEEkrrrrrrkrcree 1
1.1 Đặt vấn đề - 2222 222tr n1 1 2221111211111 re 1 1.2 Mục tiêu của đề tài 22:2222v 2222111222111 cree 2
1.3 Phương pháp thực hiỆn - - 5S *k*ềEETk TH HH HH, 3
Chương 2 TÌM HIỂU TONG QUAN -22-22222+22222++222E2EttEEExerrrrrkrcree 4 2.1 Hệ thống máy tính kết hợp Edge-to-Cloud -. -z+2ssz+vzzvs2 4
2.2 Các hệ thống tìm kiếm hiện đại 22 ©22+2zt22EEE2etEEEEEErrrrkrrrrrrrvee 5 2.3 Phát hiện và theo doi đối tượng trên thiết bị biên -+ 6
2.4 Bài toán tìm kiếm dựa trên hình ảnh 22 52+ E£+E£+EE£+EE++Exe+rxesrxez 7
2.4.1 Bài toán nhận diện lại người dựa trên hình ảnh 7
2.4.2 Bài toán nhận diện lại phương tiện dựa trên hình anh 8
2.5 Bài toán nhận diện biển số xe
Chương 3 THIẾT KE VÀ HIEN THUC HỆ THÓNG - 11
3.1 Hệ thống tìm kiếm
3.2 Phát hiện và theo dõi đôi tượng trên thiệt bị biên -.- - 19
3.3 Mô hình nhận diện lại người và phương tiỆn - ¿5c -55+++++<+> 22
3.4 Bài toán nhận diện biển số Xe -¿ 2¿+2+++ttEEvvrrttrrrvrrerrrrrrrrr 26 Chương 4 ĐÁNH GIÁ KET QUA THỰC NGHIỆM -: -: 32 4.1 Đánh gia pipeline phát hiện và theo doi đối tượng đối tượng trên thiết bị
biên 32
4.1.1 Dữ liệu cho bài toán phát hiện đối TƯỢN te 32
4.1.2 Kết quả phương pháp đề xuất -ccccc-ccccccvccc 34
Trang 64.2 Đánh giá kết quả mô hình nhận diện lại với REG4L-Net đề xuất 36 4.3 Bài toán nhận diện biển số xe
4.3.1 Đánh giá trên bộ UFPR-ALPR - ¿5c 5cccc>cccccxerxeree 42
4.3.2 Đánh giá trên dữ liệu Việt Nam
4.4 Kết quả tìm kiếm của hệ thống -¿ ©222++2222+++ttvEEvvrrrrrkrerrrrrvv 41 Chương 5 KẾT LUẬN VÀ HƯỚNG PHAT TRIẺN.
1 ) na ẽ 53
5.2 Khó khăn gặp phải
5.1 Hướng phát triền +++22++++22E++++tE2EE+rtrEEEEvrtttrrkrrrrrrrrrrrrrkee 54 TÀI LIEU THAM KHAO\ cssscssssssssssssssssscssssscscssssececssssecssssssescsssussssssisecesssisscesssesees 56
PHỤ LUC cssssssssssssssssn OM ig rressssssssssss Mgsssscsssssss Mbssscccsssssssssssnssssssssssessssed 64
Trang 7Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 3.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
Hình 4.
DANH MỤC HÌNH VE
1: Hệ thống tìm kiếm đề Xuất 2¿-2222+++2E22E2Et2E2212222EEecrrrrkr 1
2: Pipeline do nhóm nghiên cứu đề xuất «12 3: Minh họa cho việc matching biển số với phương tiện dùng IoA 3
4: Các hình ảnh với sự khác biệt nhỏ trong cùng một ID 5
5: Quá trình chọn K đặc trưng sử dụng K-means „l6 6: Quá trình xử lý khi ID bị Xóa ¿- 56-5 St‡2>tertrterterrrrerrrrrrrrrke 6 7: Tần suất của số lượng đối tượng của các track ID -+ 7
8: Quá trình truy vấn thông tin người dựa vào hình ảnh ngoại hinh 8
9: Thiết kế chi tiết của hệ thống tìm kiếm - - 2¿2225+czccvxz 9 10: Hình ảnh mô tả quá trình NMS cho đối tượng xe hơi - 2
11: Kiến trúc mô hình dé xuất -:::::iccccccccccceceerrrkrrrrrrrrrrrrr 22 12: So sánh Resnet và ResNeX( - che 23 13: Kết qua dự đoán biển số xe dựa trên temporal redundaney 26
14: Character Time-series Matching (CTM) ¿+ «c<ccc+c+ce+ 28 15: Kết quả dự đoán ký tự dựa trên tổng độ tin cậy có trọng SỐ 30
16: Phương pháp The Adaptive License Plate Rotation 3 Í 1: Một số hình ảnh từ camera đường phó -:-+- + +++ssxc++sz 33 2: Một số hình ảnh từ camera ở Đại học Công nghệ Thông tin 33 3: Hình ảnh biểu đồ thống kê số lượng cho từng đối tượng 34
4: Một số kết qua phát hiện đối tượng „35 5: Tài nguyên của kit Jetson TX2 khi thực hiện pipeline nhóm đề xuắt 36
6: Số trích dẫn của hai bộ dữ liệu Veri-776 và Market-I 501 37
7: Biểu đồ khuỷu với số lượng cụm khác nhau khi sử dụng K-means 41
8: Một số ví dụ trong bộ dữ liệu nhóm thu thập và gan nhãn 42
9: Chuyển đổi sang ảnh âm bản - 22: 2¿222+++t2v2E+zetrvvxveerrrrke 44 10: Lật ký tự đơn lẻ 11: Hệ thống nhóm đề xuất trên bộ dữ liệu UFPR-ALPR - 45
Trang 8Hình 4 12:
Hình 4 13:
Hình 4 14:
Hình 4 15:
Hình 4 16:
Hinh 4 17:
Hinh 4 18:
Hinh 4 19:
Hinh 4 20:
Hinh 4 21
Hinh 4 22:
Thong kê ký tự của bộ dataset nhóm thu thập - 46
Hình ảnh mẫu từ video thử nghiệm của nhóm -: 47
Một số kết quả thu được từ video thử nghiệm của nhóm 47
Một số chức năng của giao diện web tìm kiếm 49
Kết quả tìm kiếm của người nữ với hình ảnh ở camera ID ktmt2 49
Kết quả tìm kiếm của người nam với hình ảnh ở camera ID ktmt2 50
Kết quả tìm kiếm của người nam với hình ảnh ở camera ID ktmtl 50
Kết quả tìm kiếm phương tiện xe hơi ở camera ID pql 50
Kết quả tìm kiếm phương tiện xe van ở camera ID pql 5m : Kết quả tìm kiếm phương tiện bằng thông tin biển số - 51
Biểu dé thống kê số lượng đối tượng theo từng loại - 52
Trang 9DANH MỤC BANG
Bảng 3 1: Ma trận loA giữa xe và biển số .2 ©22222 22 vztSCExvererrrreerrrr 12 Bảng 3 2: Kết quả của các mô hình YoloV5 trên tập COCO - - 20 Bảng 3 3: Kiến trúc mô hình YoloV5+Transformer nhóm đề xuắt 27 Bảng 4 1: Kết quả mô hình Yolov5 trên tập dữ liệu nhóm thu thập và gán nhãn 35
Bang 4 2: Kết quả mô hình dé xuất trên kit JetsonTX2 -. 35
Bảng 4 3: Kết quả thử nghiệm mô hình đề xuất với các phương pháp khác nhau 37 Bang 4 4: Kết quả phương pháp đề xuất so với các SOTA trên tập VeRi-776 38 Bảng 4 5: Kết quả phương pháp dé xuất so với các SOTA trên tập Market-1501 39
Bảng 4 6: Kết quả khi đánh giá mô hình đề xuất trên bộ dữ liệu nhóm thu thập 42
Bang 4 7: Kết quả phát hiện phương tiện và biển số trên tập UFPR-ALPR 43 Bảng 4 §: Bảng thống kê các ký tự có thể được lật theo từng hướng 44
Bảng 4 9: Kết qua trong giai đoạn Character Detection „44
Bảng 4 10: Độ chính xác của các mô hình nhận diện ký tự trên dữ liệu Việt Nam.46
Bảng 4 11: Thông tin dữ liệu phục vụ quá trình tìm kiếm 52
Trang 10DANH MỤC TU VIET TAT
CNN Convolutional Neural Network
YOLO You Only Look Once
SSD Single Shot Multibox Detector
GNN Graph Neural Network
CTM Character Time-series Matching
mAP Mean Average Precision
ID Identity
Trang 11TÓM TÁT KHÓA LUẬN
Trong dé tài này nhóm nghiên cứu xây dựng được một hệ thống kết hợp tính toán biên và máy chủ cho ứng dụng tìm kiếm phương tiện hoặc con người Với bài toán
hệ thống tìm kiếm dựa trên thông tin hình ảnh, với bài toán tìm kiếm phương tiện
ngoài hình ảnh nhóm còn dựa trên thông tin biển số xe dựa trên hình ảnh từ hệ thống camera giám sát đường phó Việt Nam.
Với bài toán nhận diện lại đối tương (Re-indentification) nhóm dé xuất mô hình
REG4L-Net, mô hình là sự kết hợp của bốn hàm mắt mát giúp mô hình có thể hội tụ tốt, ngoài ra việc kết hợp Multi-view Feature Fusion Network (MFFN) giúp mô hình có thể học tốt đặc trưng từ hình ảnh của các camera khác nhau, nhờ đó mô
hình REG4L-Net đem lại kết quả cao hơn các SOTA hiện tại trên hai tập dữ liệu
Market-1501 và VeRi-776, ngoài ra còn dat Acc(@1 là 81.7 khi đánh giá trên bộ dữ
liệu Việt Nam gồm 144 ID được thu thập từ 5 camera Ngoài việc tìm kiếm phương
tiện bằng hình ảnh nhóm còn kết hợp bài toán nhận diện biển số xe cho phương tiện, với thuật toán dé xuất đề có thé kết hợp kết quả nhận diện từ nhiều khung hình
nhóm đạt được SOTA trên tập UFPR-ALPR bằng phương pháp đề xuất với độ
chính xác 96.7% Ngoài những mô hình tính toán phức tạp được thực hiện ở server
kể trên thì ở thiết bị biên có nhiệm vụ thực hiện phát hiện và theo dõi đối tượng, với
pipeline nhóm đề xuất thì mô hình YoloV5s thực hiện trên kit Jetson TX2 đạt được tốc độ trung bình 17FPS và 0.841mAP@0.5 độ chính xác Các bài toán ở biên và
server được tính hợp thành một hệ thống tính toán liên tục với các thông tin của đối tượng được gửi lên server, ở server có nhiệm vụ tổ chức, lưu trữ dữ liệu và thực hiện các suy luận phức tạp như trích xuất đặc trưng đối tượng từ hình ảnh, trích xuất
thông tin biển số xe Hệ thống có khả năng tìm kiếm độ chính xác cao, nhanh chóng
và tiết kiệm bộ nhớ lưu trữ Ngoài việc tìm kiếm hiệu suất cao hệ thống cho phép
tùy chỉnh một số chức năng tìm kiếm như: chọn camera cần tìm kiếm, chọn các đối tượng cần tìm kiếm cho phép kết quả tìm kiếm gần nhất với nhu cầu tìm kiếm của
người dùng.
Trang 12Chương 1 GIỚI THIỆU DE TÀI
1.1 Đặt vấn đề
Trong những năm gần đây, với sự phát triển của công nghệ và các nghiên cứu trong lĩnh vực trí tuệ nhân tạo, các ứng dụng về nhà thông minh ngày càng được
ứng dụng rộng rãi trong cuộc sống Đối với các doanh nghiệp trong lĩnh vực đô thị
thông minh nói chung hay bãi giữ xe thông minh, căn hộ thông minh, siêu thị thông
minh nói riêng đều được phát triển và đầu tư mạnh mẽ về trí tuệ nhân tạo vì sự đột
phá lớn của trí tuệ nhân tạo và dữ liệu lớn trong những năm trở lại đây Từ đó nhu
cầu về truy xuất thông tin về phương tiện và con người cũng được đầy mạnh theo.
Sự bùng nổ dữ liệu được tạo ra từ Internet vạn vật (IoT) và nhu cầu phân tích thời gian thực đã dẫn đến sự thay đổi của các mô hình xử lý dữ liệu sang hệ thống phân
tích phi tập trung [1][2] Các phương pháp ứng dụng mới đang xuất hiện từ nhiều lĩnh vực như cá nhân hóa việc chăm sóc sức khỏe, giám sát tuổi thọ thiết bị, thành
phố thông minh, nơi quy trình xử lý không còn chỉ dựa vào các phương pháp truyền
thống truyền thống bằng cách gửi tất cả dữ liệu đến các máy chủ đề xử lý, các hệ thống phân tích thường chỉ được thực hiện trên các máy tính có cầu hình mạnh và
tính toán liên tục để giải quyết các công việc liên quan đến Deep Learning Thay vào đó, các hệ thống cần tận dụng vô số tài nguyên gần môi trường hơn (Edge hoặc
Frog) dé nhanh chóng trích xuất thông tin chỉ tiết, đồng thời duy trì mức sử dụng tài nguyên hợp lý và duy trì các ràng buộc về quyền riêng tư.
Với các bài toán tìm kiếm thông tin phương tiện thì có những cách tiếp cận phô
biến như là trích xuất thông tin biển số xe [3][4][5] hoặc tìm kiếm bằng hình ảnh [6][7] tương tự thì tìm kiếm thông tin con người cũng có một số hướng tiếp cận
như tìm kiếm thông qua câu mô tả [8] hoặc tìm kiếm bằng hình ảnh ngoại hình [9] Với bài toán trích xuất thông tin biển số xe thì đa số chỉ trích xuất thông tin dựa trên các khung hình đơn lẻ [3][4] dan đến kết quả không tốt khi áp dụng thực tế, vì trong
thực tế môi trường ảnh hưởng rất nhiều đến kết quả dự đoán do chói nắng, tốc độ
Trang 13kết quả nhận diện biển số ở nhiều khung hình Với bài toán truy xuất thông tin dựa vào hình ảnh mặc dù các phương pháp được đề xuất đạt độ chính xác cao trên các
bộ dữ liệu mẫu nhưng đề ứng dụng vào thực tế thì cần phải thu thập và gán nhãn dữ liệu cho bài toán định danh lại (Re-Identification) mà chưa có chiến lược gán nhãn hiệu quả khi chuyên qua ứng dụng trên miền dữ liệu khác Với các nghiên cứu gần đây chỉ tập trung vào độ chính xác trên các bộ dữ liệu mẫu mà chưa tập trung vào tính ứng dụng, đặc biệt là đối với môi trường thực tế ở Việt Nam.
Hiện nay, các bài báo, công trình nghiên cứu đánh giá dữ liệu thu thập từ camera
giám sát còn hạn chế Bên cạnh đó, các giải thuật nhận dạng và theo dõi khuôn mặt
thường triển khai theo mô hình xử lý tập trung tại Server, từ đó, gây ra các trường
hop tắc nghẽn Server nếu dữ liệu cần được xử lý cùng lúc quá lớn Ngoài ra, quá trình truyền dữ liệu từ Client sang Server và ngược lại khiến cho dữ liệu không đáp
ứng được thời gian thực Các hệ thống tìm kiếm kết hợp tính toán biên và máy chủ
là cần thiết để cung cấp cho người dùng những kết quả tìm kiếm chính xác và nhanh
chóng Tính toán biên cho phép hệ thống tìm kiếm thực hiện các tác vụ xử lý dữ liệu tại thiết bị biên của người dùng, giảm thời gian phản hồi và giảm tải trên máy
chủ Máy chủ lại có thể lưu trữ lượng dữ liệu lớn và thực hiện các tác vụ tìm kiếm
phức tạp Kết hợp hai kỹ thuật này có thé tạo ra một hệ thống tìm kiếm hiệu quả, đáp ứng nhu cầu và giảm chỉ phí cho người dùng.
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài, nhóm nghiên cứu sẽ xây dựng được một hệ thống kết hợp tính toán biên và máy chủ cho ứng dụng tìm kiếm con người và phương tiện từ hệ
thống camera IP trong đó :
Edge device: Đóng vai trò là một smart camera có khả năng thực hiện phát
hiện đối tượng (object detection) và theo dõi đối tượng (object tracking) xử
lý tối thiểu với tốc độ 15FPS Bài toán có khả năng phát hiện và phân loại
một số đối tượng đạt độ chính xác> 0.8 mAP@0.5.
Trang 14Server: Đóng vai trò lưu trữ và trích xuất các thông tin ở được xử lý ở edge
device:
- Xây dựng cơ sở dit liệu lớn có khả năng lưu trữ các thông tin được
xử ly ở edge device.
- Có khả năng trích xuất thông tin biển số xe đạt độ chính xác >80%.
- Tích hợp khả năng truy xuất đối tượng dựa vào hình ảnh đạt độ
chính xác Acc@ 1>80%
- Hỗ trợ tính năng thống kê số lượng cho từng loại đối tượng
1.3 Phương pháp thực hiện
Nhóm tìm hiéu, nghiên cứu về các hệ thống máy tính kết hợp ứng dụng trong xử
lý hình ảnh và video cho camera giám sát.
Nghiên cứu và hiện thực hệ thống Al trên edge device có thé thuc hién thoi gian
thực với độ chính xác cao.
Nghiên cứu các hướng tiếp cận hiện đại cho bài toán truy xuất thông tin đối tượng
dựa trên hình ảnh.
Nghiên cứu và cải thiện khả năng nhận diện biên số xe thực môi trường thực tế.
Thu thập dữ liệu thực tế từ đường phố Việt Nam phục vụ cho việc huấn luyện và
đánh giá.
Xây dựng phương pháp triển khai và đánh giá kết quả của hệ thống.
Trang 15Chương 2 TÌM HIỂU TONG QUAN
Các nghiên cứu và đánh giá trước đây vê hệ thống máy tính kết hợp tập trung vàonhiều lĩnh vực khác nhau, chăng hạn như: quan lý tài nguyên [10][11], bảo mật vàquyền riêng tư [12], điều khiển robot [13] Phạm vi nghiên cứu của nhóm không chỉ
tập trung vào hệ thống máy tính kết hợp mà còn nghiên cứu một hệ thống tìm kiếm
sử dụng Học máy (ML), Học sâu (DL) và Phân tích dữ liệu (DA) được áp dụng trên
môi trường Edge-to-Cloud.
2.1 Hệ thống máy tính kết hợp Edge-to-Cloud
Edge-to-Cloud (Edge-to-Cloud Computing Continuum) đề cập đến cơ sở hạ tầng
kỹ thuật được sử dụng bởi các quy trình công việc ứng dụng phức tạp thường kếthợp việc tạo, xử lý và tính toán dit liệu theo thời gian thực Nó có thé bao gồm các
tài nguyên điện toán tại các vi trí trung tâm như trung tam dữ liệu Dam mây hoặc
siêu máy tính và thiết bị IoT tại biên
- Máy chủ (Cloud Server): cung cấp tài nguyên lưu trữ và suy luận các môhình DL lớn chủ yếu dé sao lưu và phân tích dữ liệu nhằm khai thác thông tin.
Dữ liệu đầu tiên được nhập ở tốc độ cao thông qua các hệ thống chuyên dụng(chăng hạn như Kafka, Pulsar, ) và sau đó được phân tích bằng các khung
xử lý Dữ liệu lớn (chăng hạn như Flink, Spark, ) Từ dit liệu có thé thực hiện
phân tích , đào tạo mô hình và suy luận phức tạp.
- Biên (Edge): bao gồm rất nhiều cảm biển ở những nơi cần thu thập thông tinhữu ích cho hệ thống nó cung cấp những thứ đang diễn ra ở môi trường xungquanh với tốc độ cao Thiết bị biên cho phép trích xuất giá trị từ dữ liệu trong
thời gian thực (ví dụ: cải thiện thời gian phản hồi từ giây lên mili giây so vớiphương pháp tiếp cận dựa trên máy chủ) Đồng thời bảo vệ quyền riêng tư vàbảo mật do các thông tin cục bộ không cần phải gửi đi xa
Trong thực tế hệ thống Edge-to-Cloud ngày càng được nghiên cứu và ứng dụngrộng rãi, ví dụ Hệ thống giám sát thông minh [14] dựa trên các tài nguyên từ Edge-
Trang 16to-Cloud Continuum đề xác định các khu vực đông đúc nhất trong không gian công cộng Quá trình xử lý dữ liệu video bao gồm hai giai đoạn: 1 ) phát hiện và đếm số người tối đa cho mỗi khung hình của camera ở thiết bị biên; 2) tổng hợp số lượng người tối đa từ tất cả các camera được phân bé theo dia ly để xác định khu vực đông đúc nhất ở máy chủ.
2.2 Các hệ thống tìm kiếm hiện đại
Deep learning là một phương pháp học máy cực kỳ hiệu quả đối với các bài toán
tìm kiếm người và phương tiện Trong số các dạng bài toán tìm kiếm người và phương tiện sử dụng hình ảnh mà deep learning có thể sử dụng bao gồm:
- Tìm kiếm trong hình ảnh: Sử dụng mạng neural có khả năng nhận diện khuôn mặt và nhận dạng định danh người trong hình ảnh, giúp tìm kiếm và
xác định người trong hình ảnh.
- Tìm kiếm phương tiện trong hình ảnh: Sử dụng mạng neural có khả năng
phân loại, nhận dạng biển số xe và nhận dạng phương tiện trong hình ảnh,
giúp tìm kiếm và xác định phương tiện trong hình ảnh.
- Tìm kiếm vị trí trong hình ảnh: Sử dụng mạng neural có khả năng phân tích
và nhận dạng các đối tượng và vị trí trong hình ảnh, giúp tìm kiếm và xác định
vị trí trong hình ảnh.
- Tìm kiếm thông tin: Sử dụng các mạng neural có kha năng xử lý ngôn ngữ tự nhiên và thực hiện tìm kiếm thông tin trong các tài liệu văn bản, giúp người
dùng tìm kiếm nhanh chóng và chính xác thông tin mong muốn.
Các bài toán nói trên đều có thể sử dụng các mô hình deep learning như
Convolutional Neural networks (CNN), Recurrent Neural networks (RNN) [15],
Generative Adversarial Networks (GAN§&) [16], để có được kết quả tốt hơn Tuy
nhiên, các bài toán cụ thể cần sử dụng các mô hình khác nhau và có các kỹ thuật khác nhau tùy theo đặc điểm và ràng buộc của từng bài toán.
Trang 17Hiện nay, các hệ thống tìm kiếm hiện đại thường sử dụng một số kỹ thuật khácnhau để xử lý và trả về kết quả tìm kiếm có liên quan nhất cho người dùng Một số
kỹ thuật quan trọng bao gồm:
- Indexing: Đây là quá trình thu thập, phân tích và chuân hóa dữ liệu tài
nguyên của hệ thống
- PageRank: Là một thuật toán được sử dụng dé xếp hạng trang web trong kết
quả tim kiêm.
- Vector Space Model: là một model giúp tìm kiếm document tương tự, trong
đó mỗi document được biéu diễn băng vector các từ và mỗi từ được gán giá tritrọng SỐ ( weight)
- NLP (Natural Language Processing): Day là một lĩnh vực nghiên cứu dé xử
lý ngôn ngữ tự nhiên và có một vai trò quan trọng trong việc hiểu người dùng
và các từ khóa tìm kiếm của ho
- Machine learning: Các hệ thống tìm kiếm hiện đại thường sử dụng machine
learning đê học và tự động cải thiện khả năng tìm kiêm của họ.
2.3 Phát hiện và theo dõi đối tượng trên thiết bị biên
Với ưu điểm tiết kiệm năng lượng, kích thước nhỏ và hiệu suất cao nên các thiết
bị như raspberry hoặc các dong kit Jetson thường được sử dung trong các ứng dụng
IoT Tuy nhiên, với các bài toán cần nhiều tài nguyên trong học sâu như phát hiện
đối tượng, phân đoạn đối tượng, theo dõi đối tượng rất hạn chế cho các thiết bị biên
trong thời gian thực với các yêu cầu nghiêm ngặt về độ trễ vì tài nguyên tính toánhạn chế của thiết bị Do đó việc ứng dụng phát hiện đối tượng trên thiết bị nhúng có
nhiều ý nghĩa và thách thức trong ứng dụng thực tế nói chung và các ứng dụng thời
gian thực như xe tự hành [17] [18], đô thi thông minh [19][20].
Bài toán phát hiện (Object Detection) và theo dõi đối tượng (Object Tracking)
trên thiết bị biên là một bài toán thuộc lĩnh vực Computer Vision và Machine
Learning Nó có nhiệm vụ phát hiện và theo dõi các đối tượng (ví dụ như người,
Trang 18phương tiện giao théng, ) trong một video hoặc hình ảnh Dé giải quyết bài toánnày, có thé sử dụng các thuật toán phát hiện đối tượng như YOLO [21][22][23],
SSD [24], và RCNN [25][26][27] hoặc thuật toán theo dõi đối tượng như
DeepSORT [28], SORT [29] Dé chạy trên thiết bị biên, cần thiết lập các thuật môhình với khả năng tính toán thấp và có thé chạy trên những thiết bị biên nhằm tối ưuhóa hiệu suất và giảm chi phí tài nguyên
2.4 Bài toán tìm kiếm dựa trên hình ảnh
Re-identification (re-ID) là một khía cạnh của học máy và xử lý ảnh, nó được sử
dụng dé xác định một người hoặc đối tượng trong một hình ảnh hoặc video dựa trên
hình ảnh của họ từ một lần trước đó Một hệ thong tim kiém người băng hình ảnh sẽ
sử dụng các kỹ thuật re-ID để tìm kiếm một người trong một tập hình ảnh hoặc
video lớn dựa trên một hình ảnh hoặc video của họ từ trước Các phương pháp
Re-ID thường sử dụng các thuật toán deep learning dé học các đặc trưng của người vàcác phương pháp để so sánh các đặc trưng đó để xác định người trong hình ảnh
khác.
2.4.1 Bài toán nhận diện lại người dựa trên hình ảnh
Ở nghiên cứu [30] Galiyawala và đồng sự xây dựng hệ thống các mô hình riêng lẻ
dé nhận diện các thuộc tính riêng của một người: giới tính, chiều cao, màu sắc trangphục Sau đó, tổng hợp các thuộc tính đã trích xuất dé thực hiện việc phân loại vàtruy van Các mô hình trích xuất đặc trưng ngoại hình được xây dựng dựa trên kiếntric AlexNet [31] với trọng số được huấn luyện trước trên tập dữ liệu ImageNet.Phương pháp trên vẫn chưa khai thác tối đa thuộc tính con người do chưa có sự liên
kết các thông tin đã truy xuất được nhằm tạo ra các thuộc tính bồ sung Đồng thời
chỉ sử dụng các đặc trưng cục bộ mà chưa khai thác kết hợp đặc trưng toàn cụckhiến cho mô hình chưa đạt được hiệu suất cao trong việc truy van Dé giải quyếtvan đề trên, Shi và các cộng sự đã đề xuất kết hợp ban đồ đặc trưng (feature map)
và các đặc trưng cục bộ trích xuất thông qua cơ chế attention bằng kiến trúc graph
convolution network Tinh chat chung của bài toán tìm kiêm con người là dữ liệu về
Trang 19con người trong thực tế rất nhiều và đa dạng, trong khi hầu hết các tập dữ liệu sẵn
có phổ biến như Market-1501, CUHK03, chưa đủ lớn về số lượng mẫu ảnh và định danh Nhằm giải quyết vấn đề trên, Fu [32] và các cộng sự đã xây dựng một tập dữ liệu không gán nhãn LUPerson (gồm 4 triệu ảnh và 200 nghìn định danh) với nhiều góc quay và môi trường đa dạng Đồng thời, dựa trên ý tưởng xây dựng một
mô hình học không giám sát, nhóm tác giả đã tận dụng chiến lược Momentum
Contrastive Learning là MoCoV2 đề xây dựng một mô hình có khả năng tông quát hóa và biểu diễn đặc trưng của từng định danh Một vấn đề của bài toán truy vấn người trong thực tế chính là việc tối ưu thời gian, không gian tìm kiếm và dung
lượng lưu trữ dữ liệu mà độ chính xác vẫn phải được bảo đảm.Wieczorek [9] và các
cộng sự đã đề xuất mô hình CTL truy vấn dựa trên các đặc trưng đại diện của các ảnh cùng định danh, trong lúc huấn luyện mô hình CTL bao gồm 3 phần Phần đầu
tiên, mô hình sử dung backbone ResNet cho nhiệm vụ trích xuất các đặc trưng từ
ảnh đầu vào và Global Average Pooling được áp dụng dé tạo ra vector đặc trưng toàn cục Khi có các vector đặc trưng toàn cục, tiễn hành tính toán centroid cho các vector với cùng định danh Kết quả ta thu được các vector đại diện cho mỗi nhóm
định danh Phần tiếp theo, các vector đặc trưng toàn cục này được chuẩn hóa và kết
quả cho ta được các vector nhúng ảnh Phần cuối cùng, các vector nhúng ảnh sử dụng trong quá trình huấn luyện sẽ được đưa qua một Fully Connected Layer cho
nhiệm vụ phân loại định danh.
2.4.2 Bài toán nhận diện lại phương tiện dựa trên hình ảnh
Trong nghiên cứu [33] Zhu và các cộng sự đã chỉ ra rằng nhiệm vụ nhận dạng lại phương tiện bị ảnh hưởng bởi hình dạng và nền ảnh chụp phương tiện tương tự
nhau Hình ảnh do máy ảnh chụp có cùng nền và hướng là thành phần chính của
hình dạng 6 tô Nhóm tác giả chỉ ra rằng sự giống nhau của nền có thé được hiểu do phương tiện được chụp cùng một máy ảnh và sự giống nhau của hình dạng được
xem là phương tiện có cùng hướng di chuyển Để giảm độ lệch của nền và hình dạng, bài nghiên cứu đề xuất phương pháp VOC-ReID sử dụng bộ ba định hướng
xe-máy ảnh Đây là bài nghiên cứu đầu tiên kết hợp thông tin về phương tiện, định
Trang 20hướng và camera trong nhiệm vụ nhận dạng lại phương tiện và đã đạt được thứ
hàng cao trong cuộc thi NVIDIA AI City Challenge 2020 Đến cuộc thi AI City Challenge 2021, nhóm của Su V Huynh [34] đã đề xuất sử dụng dữ liệu tổng hợp được tạo từ môi trường mô phỏng 3D, qua đó có thể khái quát hoàn toàn diện mạo của phương tiện Tuy nhiên, luôn có khoảng cách miền giữa hai nguồn dữ liệu, dẫn
đến sự thay đổi phân phối đặc trưng Đề giải quyết vấn đề này, Zheng et al [35] áp
dụng kỹ thuật dịch ảnh (UNIT [36]) Nhóm tác giả ở bai nghiên cứu [37] đã chi ra
rằng khai thác bộ ba không tổng quát sẽ tốt cho ReID Mặc dù cách tiếp cận này có thể hiệu quả, nhưng nó làm phức tạp quá trình đào tạo mạng và phát sinh thêm gánh nặng đào tạo một lớp nhận biết tư thế mới, dành riêng cho tập dữ liệu Thấy được hạn chế đó nhóm tác giả đề xuất sử dụng feature matching để thay thế đơn giản,
được pháp này được gọi là Relation Preserving Triplet Mining (RPTM).
2.4.1 Xếp hạng lại (re-ranking) cho các bài toán nhận diện lại ảnh
Kỹ thuật re-ranking là một kỹ thuật được sử dụng để cải thiện độ chính xác của các kết quả tìm kiếm hoặc phân loại Nó thường được sử dụng sau khi một hệ thông tìm kiếm hoặc phân loại đã trả về một số kết quả cơ bản, và sử dụng thêm các thông tin khác (chăng hạn như lịch sử tìm kiếm của người dùng hoặc các liên kết giữa các kết quả) đề sắp xếp lại các kết quả trả về Nhóm tác giả của bài nghiên cứu [38] sử dụng một hàm tương đồng tùy chỉnh theo truy vấn để đánh giá sự tương đồng giữa
các hình ảnh trong tập hình ảnh cơ sở dữ liệu với hình ảnh trong tập hình ảnh truy
van Hàm tương đồng này sử dụng một mô hình deep neural network dé học các đặc
trưng của hình ảnh và tính toán tương đồng giữa chúng Sau khi đánh giá sự tương đồng giữa các hình ảnh trong cơ sở dữ liệu và truy vấn, phương pháp re-ranking sẽ
sắp xếp lại các kết quả cơ bản theo thứ tự tương đồng tìm được Trong nghiên cứu
[39] nhóm tác đưa ra một phương pháp re-ranking cho bài toán Re-id bằng cách sử
dụng k-reciprocal encoding Trong phương pháp k-reciprocal encoding, các hình
ảnh trong tập hình ảnh cơ sở dữ liệu được sắp xếp theo sự tương đồng với hình ảnh trong tập hình ảnh truy van Sau đó, một giới hạn k được chọn dé xác định các hình
Trang 21cơ sở dữ liệu được sắp xếp lại theo sự tương đồng với các hình ảnh trong tập hình
ảnh có liên quan đã tìm được Phương pháp này được cho là có hiệu quả hơn so với
các phương pháp khác bởi vì nó tìm ra các hình ảnh có liên quan với hình ảnh truy
vấn và sắp xếp lại các kết quả theo sự tương đồng với các hình ảnh có liên quan đó Mặc dù mạnh mẽ về độ chính xác so với các phương pháp trước đó nhưng thời gian
tính toán của phương pháp k-reciprocal encoding là khuyết điểm lớn do thời gian tính toán rất cao do cần phải thực hiện nhiều phép tính Ở bài nghiên cứu [40]
Zhang và các cộng sử dụng một mô hình mạng neural đồ thị dé học các đặc trưng của hình ảnh và tính toán tương đồng giữa chúng Mô hình này sử dụng các liên kết
để tìm ra các hình ảnh có liên quan và sắp xếp lại các kết quả theo tương đồng với
hình ảnh truy vấn và các hình ảnh có liên quan.
2.5 Bài toán nhận diện biển số xe
Trong những năm gần đây, có hai xu hướng chính trong giai đoạn nhận dạng biển
số: phương pháp tiếp cận dựa trên phân đoạn (segment) và không có phân đoạn.
Trong phương pháp dựa trên phân đoạn, biên số được đưa đến mạng Phân đoạn (segmenatation network) đề định vị các ký tự và sau đó chuyền tất cả các ký tự qua mạng OCR hoặc mạng Phân loại ký tự để nhận ra các ký tự trong biển số Ngoài ra, [5][41] sử dụng CRNet dé phát hiện các ký tự Trong [42], họ sử dụng mô hình
DeepLabv2 ResNet-101 [43] đã được sửa đổi để phân đoạn các ký tự và sau đó sử
dụng mô-đun Counting Refinement dé phân biệt các trường hợp ký tự kế tiếp của
cùng một lớp.
Phương pháp phát hiện không phân đoạn được sử dụng trong [44] chuyển các
biển số thông qua mạng Convolutional Recurrent Neural network (RNN) và sau đó
sử dụng Connectionist Temporal Classification (CTC) dé trích xuất thông tin biển
số [45] sử dụng biển số sửa lại và chỉnh lưu và SRNET thay vì mạng Nơ-ron lặp lại
vì RNN thường hoạt động kém hơn mạng Nơ-ron hợp pháp có cùng sé trọng sé.
10
Trang 22Chương 3 THIẾT KE VÀ HIEN THỰC HE THONG
“Thông tin hộp giới hạn fi soa
và loại đối twong+ID
Nhận thay việc thực hiện tuần tự nhiều công việc có thể tạo ra độ trễ khi tính toán
đặc biệt là thiết bị biên bị hạn chế về mặt tính toán hơn so với server nên nhóm đề
xuất thiết kế một pipeline bat đồng bộ trên thiết bị biên với các luồng hoạt động các công việc như: tiền xử lý, suy luận, hậu xử lý, theo dõi và gửi dữ liệu đến server Các luồng được chia sẽ thông tin qua queue Với pipeline được thể hiện ở Hình 3.2.
Nhung các đối tượng quan tâm như biển số xe thường rất khó theo dõi do đối
tượng nhỏ ở hai khung hình biển tiếp thì hai đối tượng không có vùng diện tích
trùng nhau dẫn đến không thé theo dõi đối tượng do thuật toán theo dõi nhóm đề xuất matching dựa trên Intersection of Union (IoU) Do đó nhóm đề xuất tận dụng
việc theo dõi phương tiện với hộp giới hạn của phương tiện sẽ bao gồm hộp giới hạn của biển số từ đó có thé theo dõi biển số từ việc theo đõi phương tiện Xét
Trang 23min (A,B)
trường hop ở Hình 3.3, nhóm sé sử dung hệ số loA= (với A, B lần lượt là diện tích của box A và box B) dé tìm xem biển số nào thuộc xe nào Ta dé dành lập
được ma trận IoA giữa xe và biển số như Bảng 3.1:
Luỗng uy luận Lung hậu xử lý Luring theo dat
Trang 24Hình 3 3: Minh họa cho việc matching biển số với phương tiện dùng IoA
Các hình ảnh sẽ được gửi lên server thông qua Socket kèm với các thông tin được
lưu ở dạng JSON có format dạng:
data={
"camid”:string,
"persons bounding box”:list,
"vehicles bounding box" :list,
"LPs bounding box”:list,
“object ids" :list,
"removed ids" :list
}
Trong đó "camid" chứa thông tin của camera, "persons bounding box" và
"vehicles bounding box" lần lượt chứa thông tin hộp giới han của người và phương
tiện được phát hiện, "LPs bounding box" cho biết thông tin hộp giới hạn của bién số
Trang 25xe đồng thời cho biết biển số thược phương tiện nào, "object ids" cho biết thông tin track ID của từng đối tượng được theo dõi, "removed ids" chứa track ID của các đối tượng không còn được theo dõi Ở server sau khi nhận được thông tin từ thiết bị
biên gửi lên server sẽ có nhiệm vụ lưu trữ các hình ảnh của đối tượng được cắt ra từ
thông tin bounding box, sau đó lưu trữ theo từng track ID và camid Khi nhận được
thông tin các track ID không còn được theo dõi hệ thống sẽ sử dụng các mô hình dé xuất để trích xuất đặc trưng đối tượng (người, phương tiện) và thông tin biển số xe
nếu có để lưu vào cơ sở dữ liệu Ở bước trích xuất đặc trưng đối tượng người và phương tiện mô hình tận dụng khả năng tính toán song song của mô hình bằng cách
chọn batch size là 32 ở mỗi bước suy luận nhờ đó giảm đáng kể thời gian suy luận,
ngoài ra ở bài toán nhận diện biển số xe sử dụng thuật toán CTM [46] đề xuất, nhóm chi chọn ra 10 biên số bằng cách lấy 10 biển số giữa chuỗi theo dõi với step
là 2, ví dụ phương tiện A thu được 40 biển số P = {pg,Ðạ, Pị, Ðas} từ đó sinh
viên sẽ chọn ra các biên sô P = {1o, Đa, Địa, - - Đzg}.
Do mỗi đối tượng được theo dõi bao gồm rat nhiều các hình ảnh trùng nhau do ở hai khung hình liên tiếp thì sự thay đổi tư thế của đối tượng là không đáng kể Như
Hình 3.4, nếu người đó đứng một chỗ trong một khoảng thời gian dài sẽ tạo ra rất
nhiều hình ảnh gần như giống nhau Do vậy với mỗi track ID, từ đặc trưng được trích xuất của tat ca hình ảnh đối tượng trong track ID đó, sinh viên chỉ chọn ra K
hình ảnh của đối tượng để lưu đặc trưng vào cơ sở dữ liệu Để thực hiện chọn ra K
đối tượng sinh viên dựa vào N vector đặc trưng 2048 chiều trích xuất từ N ảnh của đối tượng trong một track ID nhóm đề xuất sử dụng K-means [47] để phân N vector đặc trưng thành K cụm Sau đó với một cụm sẽ chọn được một vector 2048 chiều là vector có khoảng cách euclidean gần nhất với trung tâm của cụm đang xét Từ đó sẽ chọn được K vector đặc trưng gần nhất với K cụm trung tâm nhất Quá trình thực
hiện được trực quan ở Hình 3.5 Quá trình từ khi nhận được ID bị xóa được thể hiện
ở Hình 3.6 Hình 3.7 thể hiện tần suất của số lượng đối tượng được ghi lại của các
track ID số lượng từ 0 đến 100 được xen là phổ bién nhất, từ đó ở bước phân cum
sau một số thử nghiệm sinh viên sẽ chọn số cụm là K=20 trong trường hợp track ID
14
Trang 26có trên 20 ảnh được ghi lại Với mỗi đặc trưng trong K đặc trưng được chọn ra hệ
thống sẽ tiến hành gửi dữ liệu lên cơ sở dữ liệu kèm với một số thông tin dạng
JSON như sau:
Trong đó “path” là đường dan đến anh, “object_type “ là loại đối tượng (người, xe
hơi, xe tải, xe van, xe bus, xe ba gác), “LP” chứa thông tin biển số xe nếu có,
“camid” chứa thông tin camera, “date” chứa thông tin dạng ngày tháng năm đối
tượng xuất hiện, “features” là đặc trưng của đối tượng được trích xuất.
a |
Hình 3 4: Các hình ảnh với sự khác biệt nhỏ trong cùng một ID
Trang 27Hình 3 6: Quá trình xử lý khi ID bị xóa
Với hệ thong tim kiém sinh vién da xây được một hệ thông tìm kiếm cho người,phương tiện dựa trên hình ảnh hoặc biển số xe dựa vào thông tin văn bản với công
cụ Elasticsearch [48], nó cung cấp API cho việc lưu trữ và tìm kiếm dit liệu một
cách nhanh chóng Lúc này Elasticsearch vừa đóng vai trò như một công cụ tìm
kiếm va cũng đóng vai trò là cơ sở dit Elasticsearch có rất nhiều ưu điểm để ápdụng cho một hệ thong tim kiém nhu:
- Tim kiém dé liéu rat nhanh chong, manh mé dua trén ApacheLucene Tim kiếm trong elasticsearch gần như là realtime hay còn gọi
là near-realtime searching
- Có kha năng phân tích dữ liệu (Analysis data)
16
Trang 28- Lưu trữ dữ liệu full-text
- Đánh index cho dữ liệu (near-realtime search/indexing, inverted
index)
- Hỗ tro tìm kiếm mờ (fuzzy), tức là từ khóa tim kiếm có thé bị sai lỗichính tả hay không đúng cú pháp thì vẫn có khả năng elasticsearch trả
về kết quả tốt
- Hỗ trợ nhiều Elasticsearch client phố biến như Java, PhP, Javascript,
Ruby, NET, Python
mô hình trích xuất đặc trưng ảnh sẽ thực hiện suy luận để cho ra vector đặc trưng,
đặc trưng này sẽ đem đi so sánh với các đặc trưng đã trích xuất từ ảnh trước đóbằng độ đo cosine và tìm ra top-k hình ảnh có độ tương đồng cao nhất, quá trìnhnhư ở Hình 3.8 Nhưng việc lưu trữ toàn bộ đặc trưng ở kiểu dữ liệu 32 bit sẽ làm
tiêu tốn bộ nhớ, ví dụ khi lưu trữ khoảng 25000 đối tượng cần đến 1GB bộ nhớ cho
cơ sở dit liệu trong dé lưu trữ trong khi đặc trưng kiểu 8 bit chi cần khoảng 0.3GB
bộ nhớ, nếu hệ thống cần mở rộng lên tới 2.5 triệu đối tượng thì cần khoảng 100GB
Trang 29bộ nhớ, con số này khá lớn nên hệ thống sinh viên đề xuất sử dụng quantization vềkiểu dir liệu 8 bit dé lưu trữ đặc trưng thay vì 32 bit Kiểu quantization nhóm lựa
chọn là static quantization thay vì dynamic quantization do một số ưu điểm của nó
như:
- D6 chính xác cao hon: Static quantization có thể đạt được độ chính xác cao
hơn so với dynamic quantization do sử dụng các giá trị trọng số chuan hóa có
định.
- _ Tốc độ xử lý nhanh hon: Static quantization có thê tốc độ xử lý nhanh hơn so
với dynamic quantization vì không cần tính toán lại các giá trị trọng số mỗi
lần xử lý.
- Thực hiện dé dàng hon: Static quantization dé dàng hơn so với dynamic
quantization vì không cần thiết lập các tham số cho việc chuẩn hóa trọng số.
Dựa vào yêu cầu của static quantization nhóm tìm kiếm 2 giá trị , B lần lượt là giá
trị lớn nhất và nhỏ nhất của tập vector đặc trưng mà mô hình tính toán được sau khiđưa vào mô hình một tập dữ liệu dé tính toán thử Dé đưa giá trị số thực 32 bit từphạm vi giá tri x € [a, B] về số nguyên có phạm vi Xq € [aq = 0, By = 255] nhómtiến hành thực hiện công thức (3.1):
Trang 30Còn với tìm kiếm biển số xe do việc nhận diện biển số xe không phải lúc nào cũng
chính xác đặc biệt là trong bài toán thực tẾ, thường kết quả sẽ bị mat hoặc nhằm lẫn
1 vài ký tự Do đó nhóm đề xuất sử dụng khoảng cách Levenshtein dé tìm kiếm
thông tin biển số dạng chuỗi Khoảng cách Levenshtein được định nghĩa là số bước
ít nhất biến chuỗi A thành chuỗi B thông qua 3 phép biến đồi:
-Lưn trữ
Hình 3 9: Thiết kế chi tiết của hệ thống tìm kiếm
3.2 Phát hiện và theo dõi đối tượng trên thiết bị biên
Với sự phát triển tập trung các mô hình một giai đoạn cho bài toán ObjectDetection Nhóm dé xuất sử dụng mô hình Yolov5 [23] 640x480, vì mô hình
Yolov5 đạt hiệu suất cao về cả độ chính xác và thời gian tính toán cho bài toánObject Detection Bảng 3.2 là kết quả của mô hình YoloV5 COCO Về thiết bị biên
nhóm lựa chọn kit Jetson TX2 do các ưu điểm nổi bật như:
Trang 31- Hiệu suất cao: Jetson TX2 có hai nhân Denver 2 và một nhân ARM
Cortex-A57, cùng với 8GB LPDDR4 và 32GB eMMC, cung cấp hiệu suất xử lý đồ
họa và xử lý hình ảnh cao.
- Tích hợp các giải thuật AI: Jetson TX2 tích hợp sẵn các giải thuật AI nhưTensorRT, cuDNN và TensorFlow, giúp cho các nhà phát triển dé dàng triển
khai các mô hình deep learning vào các ứng dụng.
- Tích hợp các công nghệ xử lý hình ảnh: Jetson TX2 có thể tích hợp với cácthiết bị camera và các giải thuật xử lý hình ảnh như OpenCV, giúp cho cácứng dụng về camera thông minh có khả năng phát hiện và phân loại đối tượng
- Có thể triển khai trên nhiều nền tảng: Jetson TX2 có thé chạy trên nhiều nềntảng khác nhau như Linux hoặc Android, giúp cho các nhà phát triển có thể
triên khai các ứng dụng vê camera thông minh trên nhiêu thiệt bị khác nhau.
Bảng 3 2: Kết quả của các mô hình YoloV5 trên tập COCO
Model Kích | mApval | mapval | Speed Speed Speed | params FLOPs
Các mô hình phát hiện đối tượng ngoai bước suy luận có nhiệm vụ nhận hình ảnh
đầu vào và tìm ra vị trí các đối tượng có trong ảnh thì mô hình còn có bước tiền xử
lý (pre-process) và hậu xử lý (post-process) Bên cạnh phát hiện đối tượng nhóm
còn tích hợp tính năng theo dõi đối tượng nhằm kiểm soát số lượng đối tượng, vì sựmạnh mẽ và đơn giản trong tính toán nên nhóm đề xuất sử dụng thuật toán
ByteTrack [49] cho tính năng theo dõi Ngoài việc ByteTrack đang đạt độ chính xác
cao trên các tập MOT17, MOT20 thì ByteTrack có rất nhiều ưu điểm khi triển khai
theo dõi đối tượng trong thực tế:
20
Trang 32- Đơn giản: ByteTrack là một thuật toán đơn giản, dé hiểu và dễ triển khai, cóthé sử dụng trong nhiều ứng dụng khác nhau.
- Tốc độ cao: ByteTrack có tốc độ xử lý cao và có thể chạy trên các thiết bị
nhúng hoặc di động.
- Không yêu cầu dữ liệu huấn luyện: ByteTrack không yêu cầu dữ liệu huấn
luyện, chỉ cần sử dụng thông tin đầu vào từ các hệ thống phát hiện đối tượng
Về pipeline đầu tiên được giới thiệu như Hình 3.2, luồng pre-process có nhiệm vụ
đọc ảnh và đưa ảnh về kích thước 640x480, sau đó cả ảnh sốc và ảnh kích thước640x480 được đưa vào queue sau đó thông báo đến luồng inference, ngay lập tứcluồng pre-process bắt đầu hoạt động tiếp tục mà không cần phải đợi các luồng kháchoạt động xong Song song đó sau khi nhận tín hiệu từ luồng pre-process thì luồnginference bắt đầu suy luận để tìm ra vị trí các đối tượng Tương tự như trước đóthông tin gồm: anh gốc và đầu ra của mô hình sẽ được đưa đến luồng post-process
có nhiệm vụ căn chỉnh lại các hộp giới hạn bằng thuật toán non maximum
suppression (MNS) được mô tả như Hình 3.10 Sau đó các hộp giới hạn đã được
căn chỉnh kèm ảnh gốc sẽ được gửi tới luồng theo dõi đối tượng, luồng này cónhiệm vụ sử dụng thuật toán ByteTrack dé theo dõi đối tượng qua các khung hình
F = {fy fu fo» fy} Nhưng thay vì tạo một bộ theo dõi (tracker) cho tất cả đốitượng thì nhóm tạo cho mỗi loại đối tượng một tracker riêng biệt Trackers =
{trackeTpsrson, trackerear, tracketyan, trackertruck, trackerpys, tracR€Ttrieycie truck}
vì tính chat di chuyên của các đối tượng khác loại là khác nhau (ví du như phươngtiện thường di chuyên nhanh hơn người) thêm vào đó việc tạo cho mỗi loại đốitượng một bộ theo dõi riêng giúp các đối tượng khác loại không thé tráo định danh(swap ID) cho nhau (ID của người không thé bị lẫn sang ID của phương tiện và
ngược lại) Sau đó thông tin của đối tượng (một đối tượng sẽ gồm một hộp giới hạn
và ID của đối tượng đó), những đối tượng không còn được theo dõi và ảnh sẽ được
đưa tới luồng gửi dữ liệu Trước khi dữ liệu được truyền đến server thông qua
Socket thì ở luông này còn có nhiệm vụ giúp tìm xem biên sô nào thuộc phương
Trang 33tiện nào sử dụng loA như đã đề xuất trước đó Sau đó tất cả thông tin sẽ được đưa
vào JSON với format đã đề cập ở phần 3.1 sau đó thông tin gồm cả ảnh và JSON
được gửi đên server.
Hình 3 10: Hình ảnh mô tả quá trình NMS cho đối tượng xe hơi
3.3 Mô hình nhận diện lại người và phương tiện
suy luận sẽ là vector 2048 chiều Trong đoạn sau, nhóm sẽ sử dụng chữ viết tắt
REG4L-Net để biểu thị nó, viết tắt của sự kết hợp của ResNeXt [50], Generalized
Mean (GeM) pooling [51], 4 ham loss lần lượt là Circle Loss [52], Triplet Loss[53] Centroid Loss [9], Center Loss [54] thêm vào đó nhóm còn đề xuất tích hợp
bộ tổng hợp đặc trưng [55] cho nhiều chế độ xem Ngoài một số phép tăng cường
dữ liệu cơ bản như Random Crop, Flip, Color Jitter thì nhóm còn áp dụng một sỐphép biến đổi như Random Path [56], AugMix [57], Random Erasing [58]
Backbone: Nhóm sử dung ResNeXt101 [50]+Instance Batch Normalization
(IBN) [59] làm backbone để trích xuất đặc trưng do những ưu điểm của nó Dau
22
Trang 34tiên với ResNeXt, ResNeXt được thiết kế dé tăng cường hiệu suất trên các bài toán
phân loại hình ảnh, với độ chính xác cao hơn so với các kiến trúc mạng neural
truyền thống, có kiến trúc được so sánh với Resnet như Hình 3.12 ResNeXt sử
dụng một cấu trúc được gọi là "cardinality", cho phép nó tăng sức mạnh tuyến tính
mà không cần tăng số lượng tham số của mạng nhờ đó mà giảm được rủi ro bịoverfitting Do sử dụng ít tham số hơn so với các kiến trúc khác nên ResNeXt tiêu
tốn tương đối với tài nguyên hơn so với các kiến trúc khác Với IBN, bằng cách sửdụng chuẩn hóa cá thé, bộ trích xuất đặc trưng có thé tìm hiéu các biểu diễn được
mã hóa mạnh mẽ bat biến đối với sự khác biệt về ngoại hình Thứ hai, nó có thé caithiện hiệu suất của kiến trúc mạng thần kinh sâu tiên tiến khác như ResNet,
ResNeXt và SENet [60].
Ngoài ra nhóm con thêm vào mô hình Generalized Mean pooling sau khi trích
xuất đặc trưng, nhằm tăng độ tưởng phản của bản đồ đặc trưng và tập trung vào cácđặc trưng nổi bật của hình ảnh Với công thức của phương pháp được xác định nhưcông thức (3.4) Trong đó X € R#“N*P nhự một tensor 3D của bản các dé kích hoạt(activation maps) với đ € {1,2, , D}, Xạ € R** là một bản đồ kích hoạt Tham
số tổng hợp pg có thé huấn luyện hoặc có định, một tham số tông hợp p thườngđược sử dụng cho tat cả các kênh pg = p Vd € {1,2, , D},
Trang 35Bộ tổng hợp đặc trưng cho nhiều chế độ xem: Các phương pháp trước đóthường tìm hiểu một đặc trưng cho mỗi hình ảnh, hạn chế là các đặc trưng đã học làđặc trưng từ một góc nhìn do đó mỗi đặc trưng chỉ chứa thông tin trong một gócnhìn camera Multi-view feature fusion được nhóm tác giả [55] đề xuất với khảnăng kết hợp thông tin từ nhiều hình ảnh khác nhau của một người dé cải thiện hiệusuất của một mô hình nhận dạng lại Những phương pháp hiện đại chỉ tính mất mát
dựa trên góc nhìn cố định nên các mô hình chỉ tập trung vào các đặc trưng không
thay đổi góc nhìn và xem các đặc trưng từ các góc nhìn khác là nhiễu Mục tiêu củaphương pháp của nhóm tác giả là tạo ra các đặc trưng từ nhiều góc nhìn với thôngtin từ các góc nhìn khác nhau bằng cách giảm bớt sự thiên lệch về góc nhìn cameratrong thử nghiệm va dao tạo Trong quá trình đào tạo, nhóm tác giả đề xuất Multi-view Feature Fusion Network (MEEN), bao gồm trình trích xuất tính năng một chế
độ xem và trình tông hợp tính năng chế độ xem bồ sung MFEN làm cho mạng nhạycảm với các tín hiệu dành riêng cho góc nhìn bằng cách thêm các ràng buộc đối với
đặc trưng nhiều góc nhìn thay vì các đặc trưng một góc nhìn Với một số ưu điểmnhư: MFFN không có tham số và MFEN có thé được áp dụng cho bat kỳ mô hình(CNN) nào một cách dễ dàng Dau ra của khối tong hợp đặc trưng có công thức như
(3.5) Trong đó f, chỉ bao gồm đặc trưng từ một góc camera được trích xuất từ mô
hình, ƒ, là đặc trưng từ các camera khác, a là hệ sô đánh đôi.
Zy = (1 - a)f, + TRO) u€N(@) Íu (3 5)
Hàm mắt mát: Nhóm dao tạo mô hình đề xuất với bốn loại mat mát: Circle Loss
[52], Selectively Contrastive Triplet (SCL) loss [53], Center Loss [51] và Centroid Triplet Loss (CTL) [9].
- Hàm mat mát Circle Loss: Circle Loss là một mạng học sử dung ham mất
mát mới được đề xuất cho việc phân loại nhiều nhãn Nó được thiết kế dé
giảm hiệu qua của các giá trị lệch giữa các điểm dữ liệu và giá trị mong muốn
trong không gian embedding Circle Loss cho phép cho các điểm dữ liệu đượcsắp xếp tốt hơn trong không gian embedding và tăng tốc độ học của mạng
24
Trang 36Công thức (3.6) là công thức thống nhất cho hai cách tiếp cận học đặc trưng
sâu là học với nhãn cấp độ phân lớp và nhãn theo cặp Trong đó s là độ tương
tự giữa hai vector embedding, y là nhãn của hai điểm dữ liệu, lambda là hệ số
regularization, và w là ma trận trọng sô.
L= YQ — y)log(1 — s) + y.log(s) — y|w|? (3.6)
- Triplet Loss: là hàm mất mát được sử dụng rộng rãi trong các tác vụ địnhdanh lại Nhóm đề xuất sử dụng phiên bản Selectively Contrastive Triplet[53] thay vi sử dung các phiên bản trước đó vi độ hiệu quả trên các mẫu hardnegative Phương pháp này được sử dụng để tăng tính chính xác của mô hình
bằng cách chọn ra các mẫu dữ liệu mà mô hình cho là dễ nhằm lẫn sau đó mô
hình cần huấn luyện dé khắc phục Từ đó tăng khả năng tông quát hóa của môhình và giúp mô hình chọn ra những mẫu dữ liệu hữu ích cho huấn luyện
- Center Loss: Đóng vai trò như một hàm mất mát hỗ trợ giúp mô hình hội tụ
nhanh hơn Ngoài ra center loss giúp cho các mô hình ReID học được các đặc
trưng cụ thể của mỗi lớp, giúp tăng độ chính xác trong việc phân loại và giúpgiảm overfitting bằng cách hạn chế việc các mô hình học đặc trưng của nhữngđiểm dữ liệu nhiễu trong quá trình huấn luyện
- Centroid Triplet Loss: Thay vì so sánh khoảng cách của một hình ảnh neo
(anchor) với các trường hop mau dương và mẫu âm, CTL đo khoảng cách
giữa anchor và trọng tâm lớp của lớp chứa mẫu dương Cp và lớp chứa mẫu âm
Cy CTL do đó được xây dựng như công thức (3.7):
1= [|ƒ(4) — eạ|Š — IFA — ol +e] G-7)
+
Cuối cùng hàm loss tổng hợp sẽ có dạng như công thức (3.8) Sau một số thửnghiệm trọng số của các ham loss sẽ là 0.02:0.005:1:1
Losstotal = ALcircle + BLcenter + Lscụ, + Leentroid (3 8)
Xếp hang lại (Re-ranking): Ở bước xếp hang lại dé tài này sử dung phương
pháp được đề xuất ở nghiên cứu [40], vì độ chính xác cao và nhanh hon han các
Trang 37phương pháp [38] [39] Các bước xếp hạng lại của phương pháp được trình bày như
sau:
BI: Tìm ra k-nearest neighbors (k-NN) của mỗi hình ảnh trong tập hình ảnh cơ sở
dữ liệu Kết quả là một tập hình ảnh gọi là k-reciprocal nearest neighbors
B2: Xác định tập R: Dựa trên tập hình ảnh k-reciprocal nearest neighbors, xác
định tập hình anh R là tập hình ảnh có liên quan với hình ảnh truy van
B3: Tính toán độ tương quan: Dựa trên tập hình ảnh R, tính toán độ tương quan
đánh giá cho từng hình ảnh trong tập hình ảnh R.
B4: Sắp xếp lại các kết quả theo thứ tự giảm dần của đại lượng đánh giá
3.4 Bài toán nhận diện bién số xe
Việc nhận diện ký tự từ những hình ảnh đơn lẻ vẫn còn nhiều hạn chế, do lúcnhận diện ký tự chỉ một ký tự sai sẽ dẫn đến cả biến số bị sai Ví dụ: giả sử rằng dođiều kiện thời tiết xấu hoặc máy ảnh không tốt, kết quả của giai đoạn CharacterDetection là thiếu một ký tự Tại thời điểm này, mô hình của đề tài đề xuất đưa ra
kết quả dự đoán, như trong Hình Kết quả thu được thông qua temporal redundancy
là hoàn toàn sai so với thông tin đúng của biển số Mặc du giai đoạn CharacterDetection có thể xác định vị trí từng ký tự trên LP ít nhất một lần, nhưng không cókhung nào có thể được phát hiện hoàn toàn tất cả các ký tự trên LP Hạn chế của
temporal redundancy này là do không sử dụng thông tin về vị trí của các hộp giới
han của ký tự Kết quả là, temporal redundancy không hiệu qua trong trường hợp ở
Hình 3.13:
AH 1999) =m 4-1979 rs |
—s Final result
[ Á PB.lƒao ME AH-IOS2 7) Temporal redundancy |) AB - 1989
Hình 3 13: Kết quả dự đoán biển số xe dựa trên temporal redundancy
26
Trang 38Dé khắc phục nhược điểm này, nhóm nghiên cứu đề xuất thuật toán CharacterTime- series Matching (CTM) dé tận dụng thông tin không gian thu được từ giai
đoạn Character Detection Ngoài ra nhóm còn đề xuất được mô hình phát hiện ký tự
có chi phí thấp nhưng độ chính xác cao và thuật toán xoay biển số (The AdaptiveLicense Plate Retation) dé xoay biển số trong trường hợp biên số bị nghiêng
Mô hình phát hiện ký tự biến số: Nhóm sử dụng YoloV5+Transformer tronggiai đoạn phát hiện ký tự trong biển số Tuy nhiên, vì các ký tự tương đối lớn so vớikích thước LP, nhóm quyết định bỏ khối detection head cho đặc trưng nhỏ, và chỉ
giữ tại detection head cho các đặc trưng có kích thước vừa và lớn Bên cạnh đó
nhóm giảm một nửa số bộ lọc trong mỗi lớp, dẫn đến chỉ giảm một chút độ chính
xác phát hiện nhưng cải thiện đáng kể tốc độ Chi tiết về mô hình Phát hiện ký tựđược đề xuất dựa trên mô hình YoloV5+Transformer được trình bày trong Bảng3.3, trong đó mô-đun C3 là ba lớp Convolution liên tiếp với một khối Bottleneck ởcuối và C3TR là mô-đun C3 thay thế cho Bottleneck block trở thành một lớp multi-
head self-attention.
Bảng 3 3: Kiến trúc mô hình YoloV5+Transformer nhóm đề xuất
Chỉ số của | Kết nói từ Mo-dun |Kích thước | Kich thướcmô-dun mô-đun đầu vào đầu ra
Trang 39Trong cả thực tế va tập dữ liệu UFPR-ALPR, các LP đều có kích thước khá nhỏ.
Do đó, nhóm chọn 128x128 làm kích thước đầu vào cho mô hình character
detection
Character Time- series Matching: Nhóm nhận thấy rang vị trí của các hộp giớihạn của cùng một ký tự trong hai khung liên tiếp không có sự khác biệt đáng kể Do
đó, CTM kết hợp hai hộp giới hạn của cùng một ký tự trong cùng một LP từ 2
khung liên tiếp dựa trên khoảng cách Euclidean giữa tâm của hai hộp giới hạn, được
Hinh 3 14: Character Time-series Matching (CTM)
Trong CTM, hai hộp giới han được nối với nhau nếu khoảng cách Euclide giữa
tâm của hai hộp giới hạn đó phải nhỏ hơn ngưỡng c như công thức (3.9):
28
Trang 401, nếu ||Os,, Op, || < e
3.9
0, ngược lai 6.3)
T,,b2)|
Trong đó T(b1, b2) là một biến boolean dé cho biết liệu hai hộp giới hạn b1 và b2
có khớp với nhau hay không Ob1 và Ob2 lần lượt là tâm của các hộp giới hạn b1
và b2.
Cụ thể, vấn đề của thuật toán là một bài toán phân công (linear assignment), với
các đối tượng được gán cho nhau là các hộp giới hạn ký hiệu là I? và lệ, ¡, trong đó
I? là hình ảnh của biên số a tại thời điểm t và 12,, là hình ảnh của biển số a tại thờiđiểm t+1 Chi phí cho bài toán linear assignment là khoảng cách Euclide giữa tâmcủa hai hộp giới hạn Nhóm giải quyết vấn đề linear assignment bằng cách sử dụng
thuật toán Hungary.
Đầu tiên, nhóm tạo danh sách thông tin ký tự r = {} tương tự trong thuật toánSORT, với mỗi thông tin ký tự t trong t chứa vị trí hiện tại (tâm của hộp giới hạn),danh sách ‘cls’ chứa lớp của các hộp giới hạn đã được kết hợp các khung trước đó
và danh sách conf lưu trữ độ tin cậy tương ứng với mỗi lớp trong ‘cls’.
Khi thực hiện CTM, có 3 trường hợp xảy ra:
- Nếu một hộp giới hạn b; trong Bệ khớp với một thông tin ký tự bị trong 1.Trong đó B? là các hộp giới han từ kết quả Character Detection của I? Kết qua
của bị trong r được cập nhật dựa vào vị trí của b; trong B?, phân lớp của ký tự và
độ tin cậy của ký tự bị được thêm vào danh sách tương ứng trong bị.
- Nếu hộp giới hạn b¡ trong B? không khớp với bat kỳ thông tin ký tự nào
trong t, nhóm thêm b, vào 1.
- Nếu một thông tin ký tự b; trong t không khớp với bat kỳ hộp giới hạn nào
từ B?, bí được thêm một giá tri AC, trong đó AC là giá trị trung bình của khoảng
cách giữa vị trí của tat cả các đối tượng và hộp giới hạn có thé kết hợp được Ý