Các phương pháp theo dõi cũ chủ yếu là làm thủ công,không cập nhật tình hình trên đường trực tiếp mà đa phần chỉ phục vụ cho xử lý saiphạm.Thông qua đề tài “Nghiên cứu thuật toán nhận di
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
TRÊN ĐƯỜNG CAO TỐC
Sinh viên thực hiện : Bùi Duy Mạnh
MSSV : 20162633
Lớp : Điện tử 01-K61
GVHD : TS Nguyễn Hữu Phát
Hà Nội,06/2021
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Trang 2ĐỒ ÁN
ĐẠI HỌC
ĐỀ TÀI:
NGHIÊN CỨU THUẬT TOÁN NHẬN DIỆN
VÀ GIÁM SÁT TỐC ĐỘ Ô TÔ
TRÊN ĐƯỜNG CAO TỐC
Sinh viên thực hiện : Bùi Duy Mạnh
MSSV : 20162633
Lớp : Điện tử 01-K61 GVHD : TS Nguyễn Hữu Phát Hà Nội,06/2021 ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá:TS Nguyễn Hữu Phát
Họ và tên Sinh viên:Bùi Duy Mạnh MSSV: 20162633
Tên đồ án:Nghiên cứu thuật toán dùng trong hệ thống giám sát đường cao tốc
Trang 3
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả
thuyết (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng
của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả đạt được 1 2 3 4 5
Có khả năng phân tích và đánh giá kết quả (15)
5 Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp thực hiện
dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống 1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều
được phân tích và đánh giá thỏa đáng 1 2 3 4 57
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết quả đạt
được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để đề xuất
hướng giải quyết có thể thực hiện trong tương lai
Kỹ năng viết quyển đồ án (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương logic và đẹp
mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số thứ tự và
được giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận chương, có liệt kê tài
liệu tham khảo và có trích dẫn đúng quy định
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC
khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong
nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu
khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích
trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI
Trang 4Nhận xét khác (về thái độ và tinh thần làm việc của sinh viên)
Sinh viên hoàn thành đồ án đúng hạn Có tinh thần trách nhiệm với công việc được giao Đánh giá đồ án tốt
Ngày: … / … / 2021Người nhận xét(Ký và ghi rõ họ tên)
Trang 5ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP
(Dùng cho cán bộ phản biện)
Giảng viên đánh giá:
Họ và tên sinh viên:Bùi Duy Mạnh MSSV:20162633
Tên đồ án: Nghiên cứu thuật toán nhận diện và giám sát tốc độ ô tô trên đường cao tốc
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả
thuyết (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng
của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả đạt được 1 2 3 4 5
Có khả năng phân tích và đánh giá kết quả (15)
5 Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp thực hiện
dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống 1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều
được phân tích và đánh giá thỏa đáng 1 2 3 4 5 7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết quả đạt
được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để đề xuất
hướng giải quyết có thể thực hiện trong tương lai
Kỹ năng viết quyển đồ án (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương logic và đẹp
mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số thứ tự và
được giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách sau dấu
chấm, dấu phẩy v.v), có mở đầu chương và kết luận chương, có liệt kê tài
liệu tham khảo và có trích dẫn đúng quy định
9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận
logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC
khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong
nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5 10b Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu
khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích
2
Trang 6trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI
contest
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng quy đổi về thang 10
Nhận xét khác của cán bộ phản biện
Ngày: … / … / 2021 Người nhận xét (Ký và ghi rõ họ tên)
Trang 7LỜI NÓI ĐẦU
Hiện nay đất nước Việt Nam ta đang trong giai đoạn phát triển mạnh mẽ, cùng với
đó các tuyến đường giao thông ngày càng mở rộng và xây mới hiện đại Các tuyếnđường cao tốc giúp rút ngắn thời gian và quãng đường di chuyển tăng khả năng liênkết giữa các vùng, đem lại hiệu quả kinh tế rõ rệt Một số tuyến đường cao tốc tạiViệt Nam hiện cho phép ôtô chạy với tốc độ lên tới 120km/h, mang lại nhiều thuậnlợi tuy nhiên cũng tiềm ẩn không ít rủi ro cho phương tiện di chuyển Vì thế, việcnghiên cứu phát triển hệ thống theo dõi, giám sát đường cao tốc trong thời gian thực
có thể phát hiện sớm tai nạn, giúp công tác cứu hộ trên đường cao tốc được kịp thời,làm giảm tỉ lệ thương vong khi di chuyển trên cao tốc, đồng thời sẽ giúp đỡ conngười rất nhiều so với công việc giám sát cũ chính là ngồi trực và quan sát video docamera trên tuyến gửi về Các phương pháp theo dõi cũ chủ yếu là làm thủ công,không cập nhật tình hình trên đường trực tiếp mà đa phần chỉ phục vụ cho xử lý saiphạm
Thông qua đề tài “Nghiên cứu thuật toán nhận diện và giám sát tốc độ ô tô trênđường cao tốc” em muốn hướng tới việc nghiên cứu và xây dựng một mô hình chophép nhận diện và theo dõi xe trên đường cao tốc trong thời gian thực, qua đó có thểgiúp đỡ con người trong công việc theo dõi và xử lý sự cố trên đường cao tốc
Do kiến thức thực tế còn hạn chế nên dù đã cố gắng hết sức tìm hiểu, phân tích,thiết kế và thử nghiệm, đồ án này không thể tránh khỏi những thiếu sót Em rấtmong nhận được sự chỉ bảo, góp ý chân thành để đề tài này của em có thể hoànthiện hơn và có thể áp dụng vào thực tiễn
Em xin chân thành cảm ơn TS Nguyễn Hữu Phát đã tận tình hướng dẫn, hỗ trợ emtrong gian thực tập tốt nghiệp, đồ án tốt nghiệp và suốt thời gian làm việc tại SANSlab Em cũng xin gửi lời cảm ơn tới các giảng viên Viện Điện tử - Viễn thông nóiriêng, trường Đại học Bách Khoa Hà Nội đã giảng dạy, tạo điều kiện tốt nhất cho
em trong chặng đường 5 năm học vừa qua
Hà Nội, 6/2021Sinh viên thực hiện đề tài
2
Trang 8Bùi Duy Mạnh
3
Trang 9LỜI CAM ĐOAN
Tôi là Bùi Duy Mạnh, mã số sinh viên 20162633, sinh viên lớp Điện tử 01, khóa 61.Người hướng dẫn là TS Nguyễn Hữu Phát Tôi xin cam đoan toàn bộ nội dungđược trình bày trong đồ án nghiên cứu phát triển thuật toán dùng trong hệ thốnggiám sát đường cao tốc là kết quả quá trình tìm hiểu và nghiên cứu của tôi Các dữliệu được nêu trong đồ án là hoàn toàn trung thực, phản ánh đúng kết quả đo đạcthực tế Mọi thông tin trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ; các tàiliệu tham khảo được liệt kê rõ ràng Tôi xin chịu hoàn toàn trách nhiệm với nhữngnội dung được viết trong đồ án này
Hà Nội, ngày 20 tháng 06 năm 2021
Người cam đoan (Ký tên)
Bùi Duy Mạnh
4
Trang 10MỤC LỤC
LỜI NÓI ĐẦU 2
LỜI CAM ĐOAN 3
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 6
DANH MỤC BẢNG BIỂU 6
DANH MỤC HÌNH VẼ 6
TÓM TẮT ĐỒ ÁN 9
ABSTRACT 10
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 11
1.1 Tính cấp thiết của đề tài 11
1.2 Mục đích nghiên cứu 12
1.3 Phương pháp nghiên cứu 12
1.4 Đóng góp chính trong đề tài 12
1.5 Kết luận 13
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 14
2.1 Xử lý ảnh và các khái niệm liên quan 14
2.1.1 Xử lý ảnh 14
2.1.2 Các khái niệm liên quan 16
2.2 Các mô hình mạng noron trong bài toán nhận diện vật thể 20
2.2.1 Các khái niệm liên quan 20
2.2.2 The Faster Region – Convolutional Neural Network 24
2.2.3 Mô hình YOLO 26
2.3 Các mô hình theo dõi đối tượng (Object tracking) 33
2.3.1 Giới thiệu chung 33
2.3.2 Các vấn đề đáng quan tâm trong object tracking 34
2.3.3 SORT - Simple Online Realtime Object Tracking 35
2.3.4 Thuật toán Deep SORT 43
2.4 Kết luận 48
CHƯƠNG 3 GIẢI PHÁP THỰC HIỆN 49
3.1 Tổng quan về mô hình 49
3.1.1 Tổng quan 49
3.1.2 Phân tích yêu cầu bài toán 49
3.2 Phương pháp thực hiện 49
3.2.1 Bài toán nhận diện và theo dõi 49
3.2.2 Bài toán tính vận tốc 50
5
Trang 113.2 Quá trình thực hiện 52
3.3 Kết luận 53
CHƯƠNG 4 ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 54
4.1 Kết quả, đánh giá 54
4.1.1 Kịch bản thử nghiệm 54
4.1.2 Kết quả thử nghiệm, đánh giá 54
4.2 Hướng phát triển cho đề tài 57
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58
6
Trang 12DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Faster R-CNN Faster Region- Convolutional
Neural Network
Mạng noron tích chập rất nhanh
DANH MỤC BẢNG BIỂU
Bảng 2.1 Các hàm xử lý chính của Kalman Filter
Bảng 4.1 Kết quả thực nghiệm
DANH MỤC HÌNH VẼ
Hình 1.1 Hình ảnh hệ thống giám sát cao tốc 11
Hình 1.2 Mô hình tổng quan của đề tài 12
Hình 2.1 Hình ảnh dưới dạng ma trận theo [CITATION ArI17 \l 1066 ] 15
Hình 2.2 Hình ảnh sau khi dùng bộ lọc blur [CITATION Pri18 \l 1033 ] 16
Hình 2.3 Tách nền khỏi các đối tượng [CITATION Pri18 \l 1033 ] 16
Hình 2.4 Pixel của ảnh 17
Hình 2.5 Ví dụ độ phân giải ảnh 18
7
Trang 13Hình 2.6 Không gian màu RGB 19
Hình 2.7 Không gian màu CMYK 19
Hình 2.8 Không gian màu HSV 20
Hình 2.9 Ma trận bộ lọc 21
Hình 2.10 Stride 2 pixel [CITATION Pra181 \l 1066 ] 22
Hình 2.11 Padding [CITATION Pra181 \l 1066 ] 22
Hình 2.12 Hoạt động của ReLU [CITATION Pra181 \l 1066 ] 22
Hình 2.13 Max Pooling [CITATION Pra181 \l 1066 ] 23
Hình 2.14 Sau lớp Max Pooling , làm phẳng bằng full connected [CITATION Pra181 \l 1066 ] 23
Hình 2.15 Mô hình Faster R-CNN [CITATION Reg \l 1066 ] 24
Hình 2.16 Sơ đồ kiến trúc mạng YOLO [11] 26
Hình 2.17 Các layer trong mạng darknet-53 [11] 27
Hình 2.18 Kiến trúc một output của model YOLO [11] 28
Hình 2.19 Các feature maps của mạng YOLOv3 [11] 29
Hình 2.20 Xác định anchor box cho một vật thể [11] 30
Hình 2.21 Công thức ước lượng bounding box từ anchor box [11] 32
Hình 2.22 Biểu đồ hiệu năng của SORT [12] 35
Hình 2.23 Luồng xử lý của SORT [12] 39
Hình 2.24 Lưu đồ thuật toán deepSort[14] 44
Hình 2.25 Chi tiết các bước trong thuật toán deepSort [14] 45
Hình 2.26 Quản lý vòng đời của track trong deepSort [14] 46
Hình 2.27 Luồng xử lý của SORT [14] 47
Hình 3.1 Mô hình tổng quan của hệ thống theo dõi xe 49
Hình 3.2 Mối liên hệ giữa khoảng cách thực tế và khoảng cách pixel 50
8
Trang 14Hình 3.3 Xác định vận tốc trên vị trí nhất định 51
Hình 3.4 Mô hình trích xuất đặc trưng 52
Hình 3.5 Gán nhãn cho dữ liệu 53
Hình 3.6 Quá trình train 53
Hình 4.1 Kết quả của mô đun nhận diện theo dõi yolov4tiny-deepSort 54
Hình 4.2 Tốc độ xử lý phương pháp yolov4-tiny+deepSort 55
Hình 4.3 Kết quả của mô đun tính vận tốc 56
Hình 4.4 Các thông số thu thập được trên bản đồ có thể áp dụng cho xe tự lái 57
9
Trang 15Như vậy khi xác định một vật thể ta sẽ cần xác định 2 thành phần gắn liền với
nó là (cell, anchor box) Không chỉ riêng mình cell hoặc chỉ mình anchor box
Một số trường hợp 2 vật thể bị trùng mid point, mặc dù rất hiếm khi xảy ra, thuậttoán sẽ rất khó xác định được class cho chúng
Loss function
Hàm loss function của YOLO chia thành 2 phần: (localization loss) đo lườngsai số của bounding box và (confidence loss) đo lường sai số của phân phối xácsuất các classes
+
Dự báo bounding box
Để dự báo bounding box cho một vật thể chúng ta dựa trên một phép biếnđổi từ anchor box và cell
YOLOv2 vả YOLOv3 dự đoán bounding box sao cho nó sẽ không lệch khỏi
vị trí trung tâm quá nhiều Nếu bounding box dự đoán có thể đặt vào bất kỳ phầnnào của hình ảnh, như trong mạng regional proposal network, việc huấn luyện môhình có thể trở nên không ổn định
Ngoài ra do các tọa độ đã được hiệu chỉnh theo width và height của bức ảnhnên luôn có giá trị nằm trong ngưỡng [0, 1] Do đó khi áp dụng hàm sigmoid giúp tagiới hạn được tọa độ không vượt quá xa các ngưỡng này
33
Trang 16Hình 2.21: Công thức ước lượng bounding box từ anchor box [11]
2.3 Các mô hình theo dõi đối tượng (Object tracking)
2.3.1 Giới thiệu chung
Object Tracking là một giải thuật nhằm xác định vị trí mới của đối tượng đangchuyển động dựa trên các vị trí của nó trong quá khứ So với việc lặp đi lặp lại giảithuật Object Detection ở mỗi frame ảnh thuật toán Object Tracking có ưu điểm nổibật như:
Object Tracking đơn giản và nhanh hơn so với Object Detection
Object Tracking có thể tiếp tục xử lý khi đối tượng đột ngột biến mất Object Tracking cho phép định danh các đối tượng đã được phát hiện trướcđó
Một giải thuật Object Tracking lý tưởng phải đáp ứng được các yêu cầu sau:Chỉ cần áp dụng Object Detection một lần duy nhất;
Thời gian xử lý phải nhanh hơn nhiều so với áp dụng Object Detection;
Có khả năng xử lý tiếp tục khi bị mất dấu đối tượng
Vì những ưu điểm trên nên Object Tracking thường được áp dụng kèm vớiObject Detection hoặc Object Recognition nhằm tăng độ chính xác và cung cấp khảnăng định danh cho các đối tượng đã được phát hiện/nhận diện
34
Trang 17Có hai cách tiếp cận chính cho bài toán Object Tracking đó là Single Object Tracking (SOT) and Multiple Object Tracking(MOT):
Single Obkect Tracking (SOT): Chỉ một đối tượng được theo dõi ngay cả khi môi
trường có nhiều đối tượng ngay cả khi môi trường có nhiều đối tượng trong đó Đối tượng được theo dõi xác định bằng cách khởi tạo trong frame đầu tiên của video
Multiple Object Tracking (MOT): Tất cả các đối tượng xuất hiện đều được theo
dõi theo thời gian, nó thậm chí có thể theo dõi các đối tượng mới xuất hiện ở giữa video
2.3.2 Các vấn đề đáng quan tâm trong object tracking
Multiple Object Tracking
Một phương pháp Mutiple Object Tracking cố gắng hướng đến việc theo dõi tất cảcác đối tượng xuất hiện trong khung hình bằng việc phát hiện và gắn định danh chotừng đối tượng Bên cạnh đó, các ID đã được gán cho 1 đối tượng cần đảm bảo nhấtquán qua từng frame những vấn đề gì đáng quan tâm ở đây là:
Phát hiện "tất cả" các đối tượng: Đây vẫn luôn là vấn đề được quan tâm
nhất trong object detection và vẫn không ngừng có những phương pháp,những thuật toán cải thiện vấn đề này Trong object tracking, đặc biệt làdetection based tracking, việc đảm bảo tính chính xác của quá trình detectcũng vô cùng quan trọng
Đối tượng bị che khuất 1 phần hoặc toàn bộ: Khi 1 ID được gán cho 1 đối
tượng, ID cần đảm bảo nhất quán trong suốt video, tuy nhiên, khi một đốitượng bị che khuất, nếu chỉ dựa riêng vào object detection là không đủ đểgiải quyết vấn đề này
Đối tượng ra khỏi phạm vi của khung hình và sau đó xuất hiện lại :
Tương tự như vấn đề trước đó, chúng ta vẫn đang nói về chỉ số ID switches.Cần giải quyết tốt vấn đề nhận dạng lại đối tượng kể cả việc che khuất haybiến mất để giảm số lượng ID_switches xuống mức thấp nhất có thể
35
Trang 18Các đối tượng có quỹ đạo chuyển động giao nhau hoặc chồng chéo lên nhau : Việc các đối tượng có quỹ đạo chống chéo lên nhau cũng có thể dẫn
đến hậu quả gán nhầm ID cho các đối tượng, đây cũng là vấn đề chúng ta cầnchú ý xử lý khi làm việc với Multiple Object Tracking
Realtime Object Tracking
Trong thực tế, nếu việc xử lý từng frame chỉ khiến video có độ trễ 1s so với tốc độbình thường của nó, việc xử lý này cũng có thể chấp nhận rằng đó là realtime Tuynhiên, ngay cả khi chấp nhận có độ trễ, việc đảm bảo tính realtime vẫn luôn là mộtvấn đề nan giải Thông thường, chúng ta có thể bỏ qua 1 vài frame không xử lý chođến khi frame hiện tại xử lý xong, sau đó tiếp tục các frame sau - pha xử lý này vẫn
sẽ đem lại cảm giác là việc xử lý đang là realtime, tuy nhiên, bù lại, việc trackingmỗi x frame lại làm giảm đáng kể tính chính xác mong muốn.Hiện nay, các nghiêncứu mới nhất vẫn luôn tìm kiếm những phương pháp đủ nhanh để hướng tới tínhrealtime trong xử lý
2.3.3 SORT - Simple Online Realtime Object Tracking
Simple Online Realtime Object Tracking (SORT) là một thuật toán thuộc dạngTracking-by-detection (hay Detection based Tracking)
Một đặc điểm của lớp các thuật toán Tracking-by-detection là tách objectdetection ra như một bài toán riêng biệt và cố gắng tối ưu kết quả trong bài toán này.Công việc sau đó là tìm cách liên kết các bounding box thu được ở mỗi frame và gán
ID cho từng đối tượng Do đó, chúng ta có một khung quá trình xử lý với mỗi framemới như sau:
Detect: phát hiện vị trí các đối tượng trong frame
Predict: Dự đoán vị trí mới của các đối tượng dựa vào các frame trước đó Associate: Liên kết các vị trí detected với các vị trí dự đoán được để gán ID
tương ứng
36
Trang 19Hình 2.22: Biểu đồ hiệu năng của SORT [12]
Giải thuật Hungary
Giải thuật Hungary [24] được phát triển và công bố vào năm 1955, đề xuất
để giải bài toán phân công công việc (assignment problem) Phát biểu bài toán phâncông: “Có n người (i = 1, 2, …, n) và n công việc (j = 1, 2, … n) Để giao cho người
i thực hiện một công việc j cần một chi phí c Bài toán đặt ra là cần giao cho ngườinào làm việc gì (mỗi người chi làm một việc và mỗi việc chỉ do một người làm) saocho chi phí tổng cộng là nhỏ nhất”
Liên hệ object tracking
Có n detection (i = 1, 2, …, n) và n track predicted (j = 1, 2, … n) Để liênkết một detection i với một track j giả sử dựa vào 1 độ đo D - D là khoảng cách giữa
i và j trong khơng gian vector Bài tốn đặt ra là cần liên kết mỗi detection với mỗitrack tương ứng sao cho sai số của việc liên kết là nhỏ nhất
37
Trang 20Trước tiên, chúng ta mô hình hóa lại bài tốn để giảm độ phức tạp khi xử lý:
Với:
Các số thỏa mãn các điều kiện trên gọi là một phương án phân công, hay ngắn gọn
là một phương án, một phương án đạt cực tiểu của được gọi là một phương án tối z
ưu hay lời giải của bài toán
Xét các định lý sau:
[Định lý] Giả sử ma trận chi phí của bài toán giao việc là không âm và có ít nhất phần tử bằng 0 Hơn nữa nếu n phần tử 0 này nằm ở hàng khác nhau và n n ncột khác nhau thì phương án giao cho người thực hiện công việc tương ứng với số i
0 này ở hàng sẽ là phương án tối ưu của bài toán.i
[Định lý] Cho = [] là ma trận chi phí của bài toán giao việc C
(n người, n việc) và X* = [] là một phương án tối ưu của bài toán này Giả sử là C’
ma trận nhận được từ bằng cách thêm số α≠0 vào mỗi phần tử ở hàng của C r CKhi đó X* cũng là lời giải của bài toán giao việc với ma trận chi phí C′
Thuật toán Hungary dựa vào 2 định lý này, từ đó hình thành được hướng xử
lý bài toán : Biến đổi ma trận (cộng trừ vào các hàng hoặc cột) để đưa về ma trận
có n phần từ bằng 0 nằm ở các hàng và cột khác nhau, sau đó, lấy ra phương án tối
ưu là các vị trị chứa các phần tử 0 này
Cụ thể hơn, có thể chia thuật toán thành các bước sau:
38
Trang 21Bước 1 (Bước chuẩn bị) Trừ các phần tử trên mỗi hàng của cho phần tửCnhỏ nhất trên hàng đó, tiếp theo trừ các phần tử trên mỗi cột cho phần tử nhỏnhất trên cột đó Kết quả ta nhận được ma trận có tính chất: trên mỗi hàng,C'cột có ít nhất một phần tử 0 và bài toán giao việc với ma trận có cùng lờiC'giải như bài toán với ma trận C
Bước 2: Vẽ một số tối thiểu các đường thẳng trên dòng và cột để đảm bảomọi phần tử 0 đều được đi qua
Bước 3: Nếu có n đường thẳng được vẽ, kết thúc thuật toán và tiến hànhphân công công việc Nếu số đường thẳng được vẽ nhỏ hơn n, vẫn chưa tìmđược phương án phân công tối ưu, tiến hành bước tiếp theo
Bước 4: Mỗi hàng (hoặc cột) có đường thẳng vẽ qua, ta gọi các hàng (cột) đó
là các hàng (cột) thiết yếu Các hàng (cột) còn lại là các hàng (cột) khôngthiết yếu Tìm phần tử nhỏ nhất không nằm trong các hàng (cột) thiết yếu,tiến hành trừ mỗi hàng không thiết yếu cho phần từ nhỏ nhất ấy và cộng giátrị nhỏ nhất ấy cho cột thiết yếu Ta được ma trận C’’ có cùng lời giải với matrận C’ Sau đó quay lại Bước 2
Bộ lọc Kalman (Kalman Filter)
Bộ lọc Kalman (Kalman Filter) là một mô hình Linear-Gaussian State SpaceModel, được giới thiệu lần đầu năm 1960 và ứng dụng trong rất nhiều lĩnh vực khácnhau: Xe tự lái, thực tế ảo, kinh tế lượng, tracking, điều khiển tối ưu,
Trong object tracking, kalman filter được biết đến nhiều nhất với vai trò dựđoán các trạng thái của đối tượng hiện tại dựa vào các track trong quá khứ và updatelại các detection sau khi đã được liên kết với các track trước đó
Quá trình cần xử lý là 1 quá trình ngẫu nhiên với các mô hình đã được định nghĩa từ trước :
39