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

Thuật toán Deep sort và ứng dụng trong phân loại phương tiện giao thông (Các vấn đề hiện đại của KTMT)

18 7 0

Đ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

LỜI CẢM ƠN ................................................................................................................. 1 MỤC LỤC ....................................................................................................................... 2 BẢNG THUẬT NGỮ VÀ VIẾT TẮT ........................................................................... 3 MỤC LỤC HÌNH ẢNH .................................................................................................. 3 TÓM TẮT........................................................................................................................ 4 TỪ KHOÁ ....................................................................................................................... 4 I. ĐẶT VẤN ĐỀ ........................................................................................................... 4 II. Mô hình YOLO và thuật toán SORT ..................................................................... 5 1. YOLO (You Only Look Once) ............................................................................... 5 2. SORT (Simple Online and Realtime Tracking) ...................................................... 6 a) Giải thuật Hungary ............................................................................................. 7 b) Bộ lọc Kalman ..................................................................................................... 9 c) Luồng xử lý SORT ............................................................................................. 10 III. Xây dựng thuật toán nhận diện và phân loại phương tiện ................................ 11 IV. Kết quả chạy với các video từ camera giám sát giao thông ............................... 12 1. Mở luồng video và tiến hành xử lý khung hình ................................................... 12 2. Sử dụng YOLOv8 để nhận diện phương tiện ....................................................... 13 3. Sử dụng SORT theo dõi phương tiện ................................................................... 14 4. Phân lại và đếm các phương tiện lưu thông ......................................................... 16 V. Đánh giá .................................................................................................................. 16 Tài liệu tham khảo ........................................................................................................ 17

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TIỂU LUẬN Các vấn đề đại Kỹ thuật máy tính Đề tài: THUẬT TỐN DEEP SORT VÀ ỨNG DỤNG TRONG PHÂN LOẠI PHƯƠNG TIỆN GIAO THÔNG Giảng viên đánh giá Sinh viên Mã môn Mã sinh viên Lớp : : : : : TS.Hoàng Gia Hưng Nguyễn Quang Hoàn ELT3241_1 20020667 K65K HÀ NỘI - 2023 LỜI CẢM ƠN Lời đầu tiên, em gửi lời cảm ơn chân thành đến Trường Đại học Công Nghệ ĐHQGHN đưa môn học “Các vấn đề đại Kỹ thuật máy tính” vào chương trình giảng dạy Đặc biệt em xin gửi lời cảm ơn sâu sắc đến giảng viên mơn – TS.Hồng Gia Hưng, thầy Hiếu thầy Mạnh dạy dỗ, truyền đạt kiến thức quý báu cho chúng em suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học, em có thêm cho nhiều kiến thức bổ ích, đảm bảo cung cấp đầy đủ kiến thức, gắn liền với thức tế hành trang quan trọng cho chúng em làm việc Xin gửi lời tri ân em điều mà thầy cô dành cho sinh viên chúng em Mặc dù cố gắng hoàn thành tiểu luận với tất nỗ lực cố gắng thân, hạn chế kiến thức kinh nghiệm thực tiễn giới hạn thời gian, tiểu luận em khơng tránh khỏi thiếu sót nội dung hình thức Em mong nhận bảo góp ý thầy cô để giúp cho tiểu luận em thêm hoàn thiện Em xin chân thành cảm ơn! MỤC LỤC LỜI CẢM ƠN MỤC LỤC BẢNG THUẬT NGỮ VÀ VIẾT TẮT MỤC LỤC HÌNH ẢNH TÓM TẮT TỪ KHOÁ I ĐẶT VẤN ĐỀ II Mơ hình YOLO thuật tốn SORT YOLO (You Only Look Once) SORT (Simple Online and Realtime Tracking) a) Giải thuật Hungary b) Bộ lọc Kalman c) Luồng xử lý SORT 10 III Xây dựng thuật toán nhận diện phân loại phương tiện 11 IV Kết chạy với video từ camera giám sát giao thông 12 Mở luồng video tiến hành xử lý khung hình 12 Sử dụng YOLOv8 để nhận diện phương tiện 13 Sử dụng SORT theo dõi phương tiện 14 Phân lại đếm phương tiện lưu thông 16 V Đánh giá 16 Tài liệu tham khảo 17 BẢNG THUẬT NGỮ VÀ VIẾT TẮT SORT Simple Online Realtime Object Tracking YOLO You Only Live Once CNN Convolutional Neural Network AI Artificial Intelligence IOU Intersection over Union MỤC LỤC HÌNH ẢNH Hình Ứng dụng thị giác máy tính giao thơng Hình Hình ảnh phân chia thành lưới 7x7 ô Hình Biểu đổ so sánh tốc độ độ xác thuật tốn theo dõi đối tượng Hình Mô tả mối liên kết detection với track tương ứng Hình Các bước xử lýtrong thuật toán Kalman Filter 10 Hình Luồng xử lý SORT 11 Hình Lưu đồ thuật tốn nhận dạng cà phân loại phương tiện giao thông 12 Hình Kết chạy 13 Hình Chuyển đổi hộp giới hạn hộp giới hạn dự đốn 14 Hình 10 Các phương tiện gán ID nhận diện 15 Hình 11 Hiển thị kết đếm số phương tiện vào thành phố 15 Hình 12 Đếm phương tiện qua đường 16 TÓM TẮT Việc nhận diện phân loại phương tiện giao thơng có ý nghĩa quan trọng quy hoạch đô thị quản lý giao thông, ngày nghiên cứu sâu giới Giao thơng Việt Nam có mật độ lưu thông lớn phương tiện chủ yếu xe máy nên vấn đề nhận diện phương tiện với độ xác cao trở nên phức tạp Bài tiểu luận nghiên cứu thuật toán cho phép nhận diện phân loại phương tiện luồng video trực tiếp, thuật toán đề xuất sử dụng mạng nơron triển khai thuật toán YOLO SORT ứng dụng theo dõi đối tượng Nghiên cứu thử nghiệm luồng video trực tiếp cho kết tích cực so với phương pháp khác TỪ KHOÁ Simple Online Realtime Object Tracking, YOLO, Object Tracking, Nhận diện phương tiện, Phân loại phương tiện, Xử lý hình ảnh, Thị giác máy I ĐẶT VẤN ĐỀ Tắc nghẽn giao thơng gia tăng tồn cầu thập kỷ qua, tình trạng tắc nghẽn giao thơng vấn đề trầm trọng [1] Tắc nghẽn giao thông làm phí thời gian, tiêu hao nhiên liệu nhiễm mơi trường [2] Theo khảo sát năm 2020 chi phí tắc nghẽn gây thành phố lớn Mỹ hàng tỷ đôla năm [3] Ở Việt Nam, năm thành phố Hồ Chí Minh thiệt hại khoảng 1.2 triệu công lao động, 1.3 tỷ USD/năm ùn tắc giao thông 2.3 tỷ USD ô nhiễm môi trường từ phương tiện giới Đánh giá từ Viện Chiến lược phát triển Giao thông tải cho biết: ùn tắc gây thiệt hại cho thành phố Hà Nội năm khoảng – 1.2 tỷ USD [4] Trước ảnh hưởng nghiêm trọng tắc nghẽn giao thông, ngày nhiều biện pháp nghiên cứu áp dụng, việc ứng dụng khoa học máy tính ý nhiều Các nghiên cứu Phịng thí nghiệm Oak Ridge sử dụng trí tuệ nhân tạo (AI) học máy (Machine Learning) để thiết kế hệ thống thị giác máy tính thu thập xử lý liệu nhận từ camera giao thông giúp trính xung đột giao lộ, đồng thời giảm tổng lượng tiêu hao nhiên liệu [5] Trong tiểu luận này, em nghiên cứu để ứng dụng thị giác máy tính việc nhận diện phân loại phương tiện giao thơng Việt Nam, từ xác định số lượng phương tiện lưu thơng đường tính toán mật độ lưu lượng phương tiện tham gia giao thông khoảng thời gian xác định Kết tiểu luận so sánh với phương pháp nghiên cứu khác để đánh giá hiệu thuật toán khả ứng dụng thực tế Hình Ứng dụng thị giác máy tính giao thơng II Mơ hình YOLO thuật tốn SORT YOLO (You Only Look Once) Yolo mơ hình mạng neural tích chập (CNN) dùng cho việc phát hiện, nhận dạng, phân loại đối tượng Yolo tạo từ việc kết hợp lớp phức tạp (convolutional layers) cho phép trích xuất đặc tính ảnh lớp kết nối (connected layers) dự đốn xác suất tọa độ đối tượng [6] Yolo phân chia hình ảnh thành mạng lưới 7x7 (grid_size=7x7) Từ dự đốn xem liệu có đối tượng (object) mà điểm trung tâm rơi vào khơng, dự đốn điểm trung tâm, kích thước đối tượng xác xuất đối tượng số đối tượng cần xác định Mỗi có trách nhiệm dự đốn hai hộp (boxes_number = 2) bao quanh, hộp mơ tả hình chữ nhật bao quanh đối tượng Các dự đoán bao gồm tọa độ hộp xác suất việc có đối tượng hộp Hình mơ tả ngun lý hình ảnh chia xác định đối tượng thuật tốn Yolo Hình Hình ảnh phân chia thành lưới 7x7 ô Hiện phiên sử dụng hệ thứ 8, gọi Yolov8 YOLOv8 phiên YOLO Ultralytics Là mơ hình tiên tiến, đại (SOTA), YOLOv8 xây dựng dựa thành công phiên trước, giới thiệu tính cải tiến nhằm nâng cao hiệu suất, tính linh hoạt hiệu YOLOv8 hỗ trợ đầy đủ nhiệm vụ AI thị giác, bao gồm phát hiện, phân đoạn, ước tính tư thế, theo dõi phân loại Tính linh hoạt cho phép người dùng tận dụng khả YOLOv8 nhiều ứng dụng miền khác [7] SORT (Simple Online and Realtime Tracking) SORT phát triển khung theo dõi nhiều đối tượng trực quan dựa kỹ thuật ước lượng trạng thái liên kết liệu thơ SORT thuật tốn thuộc dạng theo dõi phát (Tracking-by-detection), thiết kế cho ứng dụng theo dõi thời gian thực phương pháp tạo nhận dạng đối tượng cách nhanh chóng Một đặc điểm lớp thuật toán Tracking-by-detection tách đối tượng cần xác định toán riêng biệt cố gắng tối ưu kết tốn Cơng việc sau tìm cách liên kết hộp giới hạn thu khung gán ID cho đối tượng Do đó, thu khung trình xử lí sau: • Detect: phát vị trí đối tượng frame • Predict: Dự đốn vị trí đối tượng dựa vào frame trước • Associate: Liên kết vị trí detected với vị trí dự đốn để gán ID tương ứng Hình Biểu đổ so sánh tốc độ độ xác thuật tốn theo dõi đối tượng Trên Hình 3, ta thấy tốc độ theo dõi đối tượng độ xác thời gian thực thuật tốn SORT vượt trội so với thuật toán khác Do vậy, chúng tơi lựa chọn thuật tốn SORT để theo dõi phương tiện giao thơng, phục vụ q trình phân loại [8] a) Giải thuật Hungary Có n detection (i = 1, 2, …, n) n track predicted (j = 1, 2, … n) Để liên kết detection i với track j → giả sử dựa vào độ đo D (D khoảng cách i j khơng gian vector) Bài tốn đặt cần liên kết detection với track tương ứng cho sai số việc liên kết nhỏ Hình Mơ tả mối liên kết detection với track tương ứng Trước tiên, mơ hình hóa lại tốn để giảm độ phức tạp xử lí: với Các số xij thỏa mãn điều kiện gọi phương án phân công, hay ngắn gọn phương án, phương án đạt cực tiểu z gọi phương án tối ưu hay lời giải tốn Để tìm xij ta dựa vào định lí sau: • Giả sử ma trận chi phí tốn giao việc khơng âm có n phần tử Hơn n phần tử nằm n hàng khác n cột khác phương án giao cho người i thực công việc tương ứng với số hàng i phương án tối ưu (lời giải) tốn • Cho C = [cij] ma trận chi phí tốn giao việc (n người, n việc) X* = [xij] lời giải (phương án tối ưu) toán Giả sử C’ ma trạn nhận từ C cách thếm số α ≠ (dương âm) vào phần tử hàng r C Khi X* lời giải tốn giao việc với ma trận chi phí C’ Thuật tốn Hungary dựa vào định lí này, từ hình thành hướng xử lí tốn : Biến đổi ma trận (cộng trừ vào hàng cột) để đưa ma trận có n phần từ nằm hàng cột khác nhau, sau đó, lấy phương án tối ưu vị trị chứa phần tử [9] b) Bộ lọc Kalman Trong object tracking, kalman filter biết đến nhiều với vai trị dự đốn trạng thái đối tượng dựa vào track khứ update lại detection sau liên kết với track trước Quá trình cần xử lí q trình ngẫu nhiên với mơ hình định nghĩa từ trước : Ở đây: • xk giá trị biến trạng thái trình, thường giá trị ẩn, khơng thể quan sát • zk giá trị đo được, quan sát q trình • θk, hk mơ hình định nghĩa từ trước • uk, wk nhiễu trình nhiễu lúc đo đạc Linear Kalman Filter giả định mơ hình q trình (θk, hk) mơ hình tuyến tính Khi đó: Hình Các bước xử lýtrong thuật toán Kalman Filter Các bước xử lí Kalman Filter chia làm phần (cách tiếp cận dựa xác suất) : • Dự đốn (Prediction): Kalman Filter sử dụng mơ hình dự đốn để ước lượng trạng thái hệ thống Q trình khơng dựa thơng tin từ liệu đo đạc mà cịn tích hợp thơng tin từ mơ hình trạng thái mơ hình q trình • Hiệu chỉnh (Update): Sau có liệu đo đạc mới, Kalman Filter cập nhật ước lượng trạng thái dựa liệu đo đạc giảm thiểu sai số [10] c) Luồng xử lý SORT Luồng xử lý SORT lấy thuật toán Kalman Filter giải thuật Hungary làm cốt lõi: 10 Hình Luồng xử lý SORT • Bước 1: SORT tiến hành sử dụng Kalman Filter để dự đoán trạng thái track dựa track khứ • Bước 2: Sử dụng track vừa dự đoán được, kết hợp với detection thu từ detector, xây dựng ma trận chi phí cho Assignment Problem Chi phí sử dụng để đánh giá giá trị IOU bouding box track detection • Bước 3: Sử dụng giải thuật Hungary giải tốn Assignment Problem với ma trận chi phí vừa lập • Bước 4: Xử lí, phân loại detection • Bước 5: Sử dụng Kalman filter để update detection liên kết với track III Xây dựng thuật toán nhận diện phân loại phương tiện Nghiên cứu dựa thuật toán xác định vật thể YOLO, thuật toán theo dõi vật thể SORT, từ gán địa nhận dạng ID cho phương tiện lưu thông phân loại chúng, xác định số lượng xe theo khoảng thời gian cụ thể Phương tiện gán địa xe tơ … 11 Hình Lưu đồ thuật tốn nhận dạng cà phân loại phương tiện giao thơng IV Kết chạy với video từ camera giám sát giao thông Mở luồng video tiến hành xử lý khung hình Sau trình khởi tạo thư viện, khởi tạo biến chạy mơ hình thuật toán YOLOv5, tiến hành phát luồng video trực tiếp từ camera lựa chọn tệp video Từng khung hình chụp kiểm tra theo vòng lặp while, khung đọc khơng xác, vịng lặp bị phá vỡ Việc xử lý vùng lựa chọn định giúp cho thuật toán tối ưu hơn, loại bỏ vùng không chứa phương tiện lưu thơng 12 Hình Kết chạy Sử dụng YOLOv8 để nhận diện phương tiện Trong bối cảnh việc nhận diện theo dõi đối tượng, chuyển động hộp giới hạn (bounding box) hộp dự đốn có vai trị quan trọng để theo dõi vị trí hình dạng đối tượng qua khung hình liên tiếp Hộp giới hạn (Bounding Box) hình chữ nhật định nghĩa bốn thơng số: tọa độ góc trái (x_top-left, y_top-left) tọa độ góc phải (x_ bottom-right, y_ bottom-right) Trên ảnh, hộp giới hạn đánh dấu ranh giới đối tượng nhận diện Chuyển Động Hộp Giới Hạn: Khi theo dõi đối tượng qua khung hình, chuyển động hộp giới hạn xảy tọa độ góc thay đổi Chuyển động mơ tả thay đổi tọa độ (x, y) góc trái góc phải Hộp dự đoán (Predicted Box) hộp giới hạn dự đốn mơ hình cho khung hình dựa thơng tin từ khung hình trước Chuyển động hộp dự đốn diễn mơ hình dự đốn thay đổi tọa độ Theo dõi chuyển động hộp giới hạn khung hình liên tiếp quan trọng để định vị theo dõi đối tượng Các thuật toán theo dõi SORT (Simple Online and Realtime Tracking) sử dụng phương pháp Hungarian Algorithm Kalman Filter để liên kết hộp giới hạn qua frame dự đốn vị trí 13 Hình Chuyển đổi hộp giới hạn hộp giới hạn dự đoán Phần đầu dự đoán hộp giới hạn đối tượng xuất tọa độ tâm, chiều rộng chiều cao, tức {xcenter, ycenter, w, h} Khi biểu thức hộp giới hạn dự đoán hiển thị sau: Trong pw ph đại diện cho chiều rộng chiều cao hộp giới hạn trước, tương ứng (Cx, Cy) tọa độ góc bên trái hình ảnh Hình cho thấy kích thước hộp giới hạn trước vị trí hộp giới hạn dự đốn Sử dụng SORT theo dõi phương tiện Sau phương tiện nhận diện, để theo dõi đối tượng, thuật toán sử dụng deep SORT Nếu cung cấp thông tin hộp giới hạn cho ID đối tượng khung đầu tiên, phương pháp phân công dựa tâm khung (Centroid) sử dụng để gán ID khung Phân công dựa Centroid dạng phân cơng đơn giản, ID định cách xem xét Centroid Điều thực cách tính Centroid cho hộp giới hạn khung thứ Trong khung thứ hai, Centroid quan sát dựa khoảng 14 cách từ ID Centroid trước định cách xem xét khoảng cách tương đối khung Thông tin hiệu chỉnh thu từ việc liên kết đối tượng hai khung liền kề Ví dụ: A phát khung t, B phát khung t + 1, A B liên kết với đối tượng cách sử dụng tiêu chí giao lộ qua mối liên hệ (IOU) Bộ lọc Kalman sử dụng vị trí B làm phép đo cho A để cập nhật trạng thái Nếu khơng tìm thấy liên kết ID tương ứng coi bị Tệp CSV trung gian hình thành chứa tọa độ hộp giới hạn phân tích cú pháp để áp dụng Sort đối tượng phát Hình 10 Các phương tiện gán ID nhận diện Các phương tiện lúc gán ID riêng cố định, nhóm nghiên cứu tiến hành kiểm tra phương tiện qua khung hình liên tiếp Quá trình lặp lại kết trả ID phương tiện thêm vào danh mục kết Số phương tiện hiển thị góc bên trái Hình Hình 11 Hiển thị kết đếm số phương tiện vào thành phố 15 Phân lại đếm phương tiện lưu thông Các phương tiện lúc gán ID riêng cố định, trình thực kiểm tra khung hình liên tiếp Quá trình lặp lại kết trả ID phương tiện thêm vào danh mục kết Vì thuật tốn SORT định ID cách lấy thông tin hộp giới hạn làm đầu vào, tức nhãn lớp tạo phát đối tượng Vì danh sách ID sử dụng trì Đối với khung hình có vạch kẻ ngang phù hợp với góc đặt camera để đếm số lượng phương tiện cho loại xe tính số lượng xe vào hay khỏi thành phố Hình 12 Đếm phương tiện qua đường V Đánh giá SORT - thuật toán cho Object Tracking mạnh mẽ vô đơn giản, dễ implement tính ứng dụng cực cao Dù vậy, đánh giá cách khách quan, SORT tồn vấn đề chưa thể giải quyết: • Giả định tuyến tính : SORT sử dụng Linear Kalman Filter thuật toán cốt lõi, điều thực tế chưa phù hợp Để cải thiện vấn đề này, cần quan tâm đến Kalman Filter phức tạp hơn, Extended Kalman filter, Unscented Kalman filter, 16 • ID Switches : Đây vấn đề lớn SORT Do việc liên kết detection track SORT đơn giản dựa độ đo IOU (tức SORT quan tâm đến hình dạng đối tượng), điều gây tượng số lượng ID Switches đối tượng vô lớn đối tượng bị che khuất, quỹ đạo trùng lặp, [8] Tài liệu tham khảo [1] ftnNEWS, “World's Worst Cities for Traffic Congestion in 2019,” January 2020 [2] USA Today, “The Effects of Traffic Congestion”, March 2018 [3] Statista, “Congestion Costs U.S Cities Billions Every Year”, March 2020 [4] Báo Thanh Niên, “Thiệt hại hàng tỉ USD 'nghẽn' giao thông”, May 2020 [5] The Technology that Drives Government IT, “How AI can reduce traffic congestion and fuel consumption”, March 2020 [6] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, “You Only Look Once: Unified, Real-Time Object Detection”, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Electronic ISSN: 1063-6919, June 2016 [7] Ultralytics, “Ultralytics YOLOv8 Docs”, January 2023 [8] Alex Bewley, Zongyuan Ge, Lionel Ott, Fabio Ramos, Ben Upcrof, “Simple Online and Realtime Tracking”, Jul 2017 [9] Karleigh Moore, Nathan Landman, and Jimin Khim, “Hungarian Maximum Matching Algorithm” [10] R Kalman, “A New Approach to Linear Filtering and Prediction Problems,” Journal of Basic Engineering, vol 82, no Series D, pp 35–45, 1960 17

Ngày đăng: 14/12/2023, 12:08

Xem thêm:

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

TÀI LIỆU LIÊN QUAN