Tải bản đầy đủ (.docx) (24 trang)

XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.35 MB, 24 trang )

MỤC LỤC
LỜI NÓI ĐẦU........................................................................................2
I.

GIỚI THIỆU.....................................................................................3
1.1. Định nghĩa................................................................................3
1.2. Phân loại...................................................................................3
1.3. Dataset và Metric đánh giá......................................................5
1.4. Các vấn đề đáng quan tâm trong Object Tracking...................6
1.4.1. Multiple Object Tracking......................................................7
1.4.2. Realtime Object Tracking....................................................7

II. NỘI DUNG......................................................................................8
2.1. SORT.........................................................................................8
2.1.1. Giải thuật Hungary..............................................................9
2.1.2. Bộ lọc Kalman...................................................................10
2.1.3. SORT Explain.....................................................................13
2.2. Multiple Object Tracking.........................................................15
2.2.1. Phát hiện đối tượng...........................................................15
2.2.2. Sự dự đoán........................................................................15
2.2.3. Liên kết dữ liệu.................................................................16
2.2.4. Phát hiện để theo dõi các chức năng chi phí....................16
2.2.5. Loại bỏ các kết quả khơng phù hợp..................................16
2.2.6. Chỉ định các phát hiện để theo dõi...................................16
2.2.7. Quản lý theo dõi................................................................17
III.

CHƯƠNG TRÌNH........................................................................18

KẾT LUẬN..........................................................................................20
TÀI LIỆU THAM KHẢO.........................................................................21




LỜI NÓI ĐẦU
Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu
xử lý là ảnh. Đây là một phân ngành khoa học mới rất phát triển
trong những năm gần đây. Xử lý ảnh gồm 4 lĩnh vực chính: xử lý
nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh.
Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống
của con người.
Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sống
như: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận
dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnh thiên văn, ảnh y tế,
...
Qua quá trình học tập và tìm hiểu, em đã chọn đề tài “Tracking
trong xử lý ảnh” làm đề tài cho bài tiểu luận cuối kỳ. Tracking là một
lĩnh vực mới và rất phát triển trong xử lý ảnh hiện nay. Trong khuôn
khổ bài báo cáo này em chỉ tìm hiểu về object tracking.
Em cũng xin gửi lời cảm ơn chân thành đến thầy Nguyễn Đình
Cơng, người đã hướng dẫn và giúp đỡ em trong quá trình học tập
cũng như làm đề tài để em có thể hoàn thành tốt bài tiểu luận này.
Mặc dù đã rất cố gắng nhưng trong quá trình thực hiện đề tài và làm
báo cáo không thể tránh khỏi những sai sót, rất mong q thầy cơ và
các bạn sinh viên khi xem báo cáo có thể bỏ qua và góp ý để đề tài
của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!


I.

GIỚI THIỆU


I.1. Định nghĩa
Object Tracking là bài toán theo dõi một hoặc nhiều đối tượng
chuyển động theo thời gian trong một video. Hiểu một cách đơn giản
nhất, nó là bài toán ở mức độ cao hơn so với object detection, khi đối
tượng được xử lí khơng đơn giản là một hình ảnh mà là một chuỗi các
hình ảnh hay video.
Object tracking và object detection có một mối quan hệ rất chặt
chẽ. Object detection là việc mơ hình xác định một hoặc nhiều đối
tượng trong một khung hình nhất định cịn object traking là theo dõi
đối tượng trong toàn bộ video. Để theo dõi được một đối tượng trước
hết mơ hình cần phải phát hiện được đối tượng đó trong từng frame
sau đó sẽ cho qua một thuật tốn về tracking nên việc theo dõi đối
tượng có chính xác hay khơng thì cần phải xem việc phát hiện đối
tượng tốt đến đâu. Object detection sẽ phát hiện sự xuất hiện của
những chiếc xe ơ tơ trong hình ảnh tuy nhiên để xem trong video đó
khi các đối tượng chuyển động thì cùng 1 đối tượng mơ hình sẽ hiểu
đó là cùng 1 đối tượng chứ không phải là 2 đối tượng để giữ ngun
màu sắc trên đối tượng thì đó chính là bài tốn tracking.

Hình 1: Hình ảnh về object tracking
I.2. Phân loại
Object Tracking có thể chia thành 2 cách tiếp cận chính:


- Single Object Tracking (SOT): Single Object Tracking tập trung
vào việc theo dõi một đối tượng duy nhất trong toàn bộ video. Để
biết được cần theo dõi đối tượng nào, việc cung cấp một bounding
box từ ban đầu là việc bắt buộc phải có.


Hình 2: Hình ảnh về Single Object Tracking
- Mutiple Object Tracking (MOT): Mutliple Object Tracking hướng
tới các ứng dụng có tính mở rộng cao hơn. Bài tốn cố gắng phát
hiện đồng thời theo dõi tất cả các đối tượng trong tầm nhìn, kể cả
các đối tượng mới xuất hiện trong video. Vì điều này, MOT thường là
những bài tốn khó hơn SOT và nhận được rất nhiều sự quan tâm
của giới nghiên cứu.


Hình 3: Hình ảnh về Mutiple Object Tracking
Bên cạnh việc tiếp cận, các phương pháp giải lớp bài toán này
cũng được phân chia rất đa dạng, phổ biến nhất là:
- Online Tracking: Khi xử lí video, Online Tracking chỉ sử dụng
frame hiện tại và frame ngay trước đó để tracking. Cách xử lí này có
thể sẽ làm giảm độ chính xác của thuật tốn, tuy nhiên nó lại phản
ảnh đúng cách vấn đề được xử lí trong thực tế, khi mà tính "online"
là cần thiết.
- Offline Tracking: Các phương pháp Offline thường sử dụng tồn
bộ frame của video, do đó thường đạt được độ chính xác cao hơn
nhiều so với Online Tracking.
Ngồi ra cịn phân chia theo:
- Detection based Tracking: Tập trung vào mối liên kết chặt chẽ
giữa object detection và object tracking, từ đó dựa vào các kết quả
của detection để theo dõi đối tượng qua các frame.
- Detection Free Tracking: Coi video như 1 dạng dữ liệu dạng
chuỗi, từ đó, áp dụng những phương pháp dành riêng cho "chuỗi"
như RNN, LSTM, ...
I.3. Dataset và Metric đánh giá
Object tracking thường đánh giá dựa trên các tập dữ liệu sau:



- MOT Challenge: MOT Challenge là một cuộc thi thường niên,
dataset của MOT Challenge thường được sử dụng để đánh giá điểm
chuẩn cho các phương pháp giải quyết bài toán Mutiple Object
Tracking. (MOT15, MOT16, MOT17, MOT20, ...). Dữ liệu là chuỗi các
video đã được gán nhãn của người đi bộ, được thu thập từ nhiều
nguồn khác nhau, với sự đa dạng về độ phân giải, độ chiếu sáng, ...

Hình 4: Hình ảnh về tracking
- ImageNet VID: Bên cạnh những bộ dataset nổi tiếng về
classification, object detection, ImageNet cũng cung cấp một bộ
dataset đủ lớn về object tracking. Đây là chuỗi các video được gán
nhãn từ 30 nhóm đối tượng khác nhau.


Hình 4: Hình ảnh về tracking
Về metric đánh giá, chúng ta cần quan tâm các metric sau:
- FP (False Positive) : tổng số lần xuất hiện một đối tượng được
phát hiện mặc dù khơng có đối tượng nào tồn tại.
- FN (False Negative) : tổng số lần mà đối tượng hiện có khơng
được phát hiện.
- ID Switches: tổng số lần 1 đối tượng bị gán cho 1 ID mới trong
suốt quá trình tracking video.
- MOTA: Mutiple Object Tracking Accuracy.

- MOTP: Mutiple Object Tracking Precision.

- MT (Most Tracked Target) : tính trong ít nhất 80% video.
- ML (Most Lost Target) : tính trong 20% video.
- Hz (FPS): Tốc độ tracking.

I.4. Các vấn đề đáng quan tâm trong Object Tracking
Object Tracking vẫn tồn tại rất nhiều vấn đề cần giải quyết, cũng
như cần có thêm nhiều hơn nữa các thuật tốn mạnh mẽ để giải
quyết bài toán này. Một số vấn đề phổ biến và cần quan tâm hiện nay
là:
- Multiple Object Tracking
- Realtime Object Tracking


I.4.1. 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 cho từ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ất qn qua từng
frame. Vì vậy nó phát sinh một số vấn đề:
- 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 q trình detect cũ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 đối tượ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 hay biến mất để giảm số lượng ID_switches xuống
mức thấp nhất có thể.
- Cá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ần chú ý xử lí khi làm việc với Multiple
Object Tracking.
I.4.2. Realtime Object Tracking
- Realtime Object Tracking quan tâm nhiều hơn về tốc độ xử lí của
phương pháp. Phương pháp được gọi là realtime cần đảm bảo tốc độ
đưa ra output là nhanh hơn hoặc ít nhất là nhanh bằng tốc độ đưa
vào input.
- 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. Tuy nhiên, ngay cả khi chấp nhận có độ trễ,
việc đảm bảo tính realtime vẫn ln là một vấ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 tracking mỗ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ên cứu mới nhất vẫn ln tìm kiếm những
phương pháp đủ nhanh để hướng tới tính realtime trong xử lí.
II.

NỘI DUNG
Tính năng phát hiện đối tượng đã phát triển đáng kể trong hai

thập kỷ qua, với việc chuyển từ các phương pháp thống kê hoặc học
máy truyền thống sang phương pháp tiếp cận học sâu dựa trên
Mạng thần kinh hợp pháp (CNN). Sự ra đời của học sâu đã cải thiện

độ chính xác và khả năng phân tích của việc phát hiện đối tượng
theo một thứ tự độ lớn. Một thuật toán phổ biến được sử dụng là
SORT.
II.1. SORT
SORT là viết tắt của Simple Online Realtime object Tracking, đây
là một thuật toán thuộc dạng Tracking-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 object detection 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 tố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 q trình xử lí với mỗi frame mới như sau:
- Detect: phát hiện vị trí các đối tượng trong frame
- Predict: Dự đố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ự đốn được
để gán ID tương ứng.
II.1.1.

Giải thuật Hungary

Giải thuật Hungary[3] đượ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 tốn phân cơ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 tốn đặt ra là cần giao cho người nà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) sao
cho 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ên kế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ỗi track tương ứng sao cho sai
số của việc liên kết là nhỏ nhất.


Trướ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ố thoả mãn các điều kiện trên gọi là một nghiệm, với một
nghiệm đạt cực tiểu của z được gọi là 1 phương án tối ưu hay lời giải
của bài toán.
Các định lý:
[Định lý]. Giả sử ma trận chi phí của bài tốn giao việc là khơng
âm và có ít nhất n phần tử bằng 0. Hơn nữa nếu n phần tử 0 này nằm
ở n hàng khác nhau và n cột khác nhau thì phương án giao cho người
i thực hiện cơng việc tương ứng với số 0 này ở hàng i sẽ là phương án
tối ưu (lời giải) của bài toán.
[Định lý]. Cho

là ma trận chi phí của bài tốn giao việc

(n người, n việc) và là một lời giải (phương án tối ưu) của bài toán
này. Giả sử C' là ma trận nhận được từ C bằng cách thêm số (dương
hoặc âm) vào mỗi phần tử ở hàng r của C. Khi đó cũng là lời giải của
bài tốn giao việc với ma trận chi phí C'.

Thuật tốn Hungary dựa vào 2 định lí này, từ đó hình thành được
hướng xử lí bài tố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 tốn thành các bước sau:
- Bước 1: Trừ các phần tử trên mỗi hàng của C cho phần tử nhỏ
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' có tính chất:
trên mỗi hàng, 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ó cùng lời giải như bài tố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ảo mọ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 tốn và
tiến hành phâ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ơng thiế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 thiết yếu cho
phần từ nhỏ nhất ấy và cộng giá trị nhỏ nhất ấy có cột thiết yếu. Ta
được ma trận C’’ có cùng lời giải với ma trận C’. Sau đó quay lại Bước
2.
II.1.2.

Bộ lọc Kalman


Bộ lọc Kalman[4] (Kalman Filter) là một mơ hình Linear-Gaussian
State Space Model, được giới thiệu lần đầu năm 1960 bởi Rudolf
(Rudy) E. Kálmán, là thuật toán sử dụng chuỗi các giá trị đo lường, bị
ảnh hưởng bởi nhiễu hoặc sai số, để ước đốn biến số nhằm tăng độ
chính xác so với việc sử dụng duy nhất một giái trị đo lường. Bộ lọc
Kalman thực hiện phương pháp truy hồi đối với chuỗi các giá trị đầu
vào bị nhiễu, nhằm tối ưu hoá giái trị ước đoán trạng thái của hệ
thống. Bộ lọc Kalman được ứng dụng trong rất nhiều lĩnh vực khác
nhau: 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ự đố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à update lại các detection sau khi đã được liên
kết với các track trước đó.
Q trình cần xử lí là 1 q trình ngẫu nhiên với các mơ hình đã
được định nghĩa từ trước:

Với:
-

là giá trị biến trạng thái của q trình, thường là các giá trị
ẩn, khơng thể quan sát được.

-

là giá trị đo được, quan sát được của quá trình.


-


là các mơ hình định nghĩa từ trước.

-

lần lượt là nhiễu của quá trình và nhiễu trong lúc đo đạc.

Áp dụng thuật tốn Linear Kalman Filter (ngồi ra cịn có
Extended Kalman Filter, Unscented Kalman Filter, …) vào bài toán.
Linear Kalman Filter giả định các mơ hình của q trình đều là
các mơ hình tuyến tính. Khi đó:

Với:
- ~ N (: p(=
- là các ma trận n*n (state transistion matrix) và m*n
(measurement function)
- ~ N(0,Q), ~ N(0,R)

Các bước xử lý tiếp theo của Kalman Filter có thể chia làm 2
phần chính (cách tiếp cận dựa trên xác xuất):
Dự đoạn (Prediction):

Để dự đốn các giá trị trạng thái của q trình ngẫu nhiên, ta dự
đoán các giá trị mean và covariance . Theo tính chất kỳ vọng và
ma trận phương sai với vector ngẫu nhiên, ta có:

Hiệu chỉnh (Update):


Áp dụng định lý Bayes cho Linear Gaussian System [5]:


Tiếp tục áp dụng đồng nhất thức ma trận Woodbury[6]:
“Đồng nhất thức ma trận Woodbury (Matrix Inversion Lemma)
Có 4 ma trận A(n*n), U(n*k), C(k*k), V(k*n).
Khi đó (A+UCV)-1 = A-1 – A-1U(C-1+VA-1U)-1VA-1”

Đặt với được gọi là hệ số Kalman tại thời điểm k, khi đó:

)
Dự đốn (Prediction)

Hiệu chỉnh (Update)










II.1.3.

)

SORT Explain

SORT - Simple Online Realtime Object Tracking, được giới thiệu
lần đầu năm 2016, chỉnh sửa bổ sung v2 vào năm 2017, đề xuất giải
pháp cho object tracking, đồng thời giải quyết cả 2 vấn đề mutiple

object tracking và realtime object tracking.
SORT tập trung vào vấn đề liên kết giữa các detection và track
sau khi đã detect được từ frame, do đó, phần object detection có thể
là bất cứ mơ hình detector nào hiện nay như: YOLO (v1, v2, v3, v4,
v5), SSD, RCNN (RCNN,

Fast

RCNN,

Faster

RCNN,

Mask

RCNN), CenterNet - Object as Point, ...
2 thuật toán cốt lõi của SORT là Kalman Filter và giải thuật
Hungary. Kalman Filter và giải thuật Hungary được kết hợp với nhau,
về mô hình bài tốn, về các vấn đề nhỏ hơn những vẫn vô cùng quan
trọng trong SORT.


Hình ảnh 6: Luồng xử lí của SORT
Để ứng dụng được Kalman Filter, việc xác định được các dạng
biến cũng như mơ hình ban đầu của q trình là điều bắt buộc cần
có. Với giả định các đối tượng chuyển động đều, và độc lập với các
đối tượng khác, một track được xác định bằng:

Trong đó:

- x có ma trận hiệp phương sai ban đầu được khởi tạo với giá trị
lớn để thể hiện sự không chắc chắn của trạng thái.
- u, v lần lượt là toạ độ của tâm đối tượng (bounding box).
- s là diện tích của bounding box.
- r là tỉ lệ aspect ratio của bounding box.
-

lần lượt là các giá trị vân tốc tương ứng của x, y, s.
Do giả định các đối tượng chuyển động đều, ta có

Khi đó, phương trình

Tương đương với ( được khởi tạo tuần theo phân phối chuẩn có
mean = 0 và covariance không đổi)


Phương trình:

Tương đương với (wk được khởi tạo tuân theo phân phối chuẩn có
mean = 0 và covariance khơng đổi)

Luồng sử lý của SORT
- B1: SORT tiến hành sử dụng Kalman Filter để dự đoán các trạng
thái track mới dựa trên các track trong quá khứ.
- B2: Sử dụng những track vừa dự đoán được, kết hợp với các
detection thu được từ detector, xây dựng ma trận chi phí cho
Assignment Problem. Chi phí được sử dụng để đánh giá ở đây là giá
trị IOU giữa các bouding box của track và detection.
- B3: Sử dụng giải thuật Hungary giải bài tốn Assignment
Problem với ma trận chi phí vừa lập

- B4: Xử lí, phân loại các detection.
- B5: Sử dụng Kalman filter để update những detection đã được
liên kết với track.
II.2. Multiple Object Tracking
Theo dõi nhiều đối tượng yêu cầu phát hiện, dự đoán và liên kết
dữ liệu.
- Phát hiện: Phát hiện các đối tượng quan tâm trong khung video.
- Dự đốn: Dự đốn vị trí đối tượng trong khung tiếp theo.
- Liên kết dữ liệu: Sử dụng các vị trí dự đoán để liên kết các phát
hiện trên các khung để tạo thành các tuyến đường.
II.2.1.

Phát hiện đối tượng

- Phát hiện đối tượng bằng máy ảnh tĩnh
Để phát hiện các đối tượng đang chuyển động bằng máy ảnh
tĩnh, chúng ta có thể thực hiện phép trừ nền. Phương pháp trừ nền
hoạt động hiệu quả nhưng yêu cầu máy ảnh phải đứng yên.
- Phát hiện đối tượng bằng máy ảnh chuyển động


Để phát hiện các đối tượng đang chuyển động bằng camera
đang chuyển động, chúng ta có thể sử dụng phương pháp phát hiện
cửa sổ trượt. Cách tiếp cận này thường hoạt động chậm hơn so với
cách tiếp cận trừ nền.
II.2.2.

Sự dự đoán

Để theo dõi một đối tượng theo thời gian có nghĩa là chúng ta

phải dự đốn vị trí của nó trong khung tiếp theo. Phương pháp dự
đốn đơn giản nhất là giả định rằng vật thể sẽ ở gần vị trí đã biết
cuối cùng của nó. Nói cách khác, phát hiện trước đóng vai trị là dự
đốn tiếp theo. Phương pháp này đặc biệt hiệu quả đối với tốc độ
khung hình cao. Tuy nhiên, sử dụng phương pháp dự đốn này có thể
khơng thành cơng khi đối tượng chuyển động với tốc độ khác nhau
hoặc khi tốc độ khung hình thấp so với tốc độ của đối tượng đang
chuyển động.
Một phương pháp dự đoán phức tạp hơn là sử dụng chuyển động
đã

quan

sát

trước

đó

của

đối

tượng. Bộ

lọc

Kalman

(vision.KalmanFilter) dự đốn vị trí tiếp theo của một đối tượng, giả

sử rằng nó chuyển động theo một mơ hình chuyển động, chẳng hạn
như vận tốc khơng đổi hoặc gia tốc khơng đổi. Bộ lọc Kalman cũng
tính đến nhiễu quá trình và nhiễu đo. Nhiễu quá trình là độ lệch của
chuyển động thực của đối tượng so với mơ hình chuyển động. Tiếng
ồn đo là lỗi phát hiện.
II.2.3.

Liên kết dữ liệu

Liên kết dữ liệu là quá trình liên kết các phát hiện tương ứng với
cùng một đối tượng vật lý qua các khung. Lịch sử thời gian của một
đối tượng cụ thể bao gồm nhiều lần phát hiện, và được gọi là đường
đi. Biểu diễn theo dõi có thể bao gồm tồn bộ lịch sử của các vị trí
trước đó của đối tượng. Ngồi ra, nó có thể chỉ bao gồm vị trí đã biết
cuối cùng của đối tượng và vận tốc hiện tại của nó.
II.2.4.

Phát hiện để theo dõi các chức năng chi phí

Thiết lập các tiêu chí điều kiện cho trước ví dụ như kích thước, vị
trí, ... để làm mẫu so khớp.


II.2.5.

Loại bỏ các kết quả không phù hợp

Gating là một phương pháp loại bỏ các kết quả khơng có khả
năng xảy ra cao khỏi việc xem xét, chẳng hạn như bằng cách áp đặt
một ngưỡng cho hàm chi phí. Một quan sát không thể được so khớp

với một bản mẫu nếu giá trị vượt quá một giá trị ngưỡng nhất
định. Sử dụng phương pháp ngưỡng này có hiệu quả tạo ra một vùng
kiểm sốt hình trịn xung quanh mỗi dự đốn, nơi có thể tìm thấy
phát hiện phù hợp. Một kỹ thuật gating thay thế là làm cho khu vực
gating đủ lớn để bao gồm các k-nearest hàng xóm của dự đoán.
II.2.6.

Chỉ định các phát hiện để theo dõi

Sự liên kết dữ liệu làm giảm đến mức tối thiểu vấn đề đối sánh
lưỡng phân có trọng số, đây là một lĩnh vực được nghiên cứu kỹ
lưỡng của lý thuyết đồ thị. Biểu đồ hai bên biểu thị các đường và các
phát hiện dưới dạng các đỉnh. Nó cũng đại diện cho chi phí của việc
đối sánh một phát hiện và một đường đi như một cạnh có trọng số
giữa các đỉnh tương ứng.
Đầu vào của nó là ma trận chi phí, trong đó các hàng tương ứng
với các tracks và các cột tương ứng với các phát hiện. Mỗi mục nhập
chứa chi phí chỉ định một phát hiện cụ thể cho một track cụ thể. Bạn
có thể thực hiện kiểm sốt bằng cách đặt chi phí của các kết quả
khơng thể khớp thành vô hạn.
II.2.7.

Quản lý theo dõi

Liên kết dữ liệu phải tính đến thực tế là các đối tượng mới có thể
xuất hiện trong trường xem hoặc một đối tượng đang được theo dõi
có thể rời khỏi trường xem. Nói cách khác, trong bất kỳ khung hình
nhất định nào, một số tracks mới có thể cần được tạo và một số
track


hiện





thể

cần

phải

bị

loại

bỏ. Các assignDetectionsToTracks chức năng trả về chỉ số của các
tracks unassigned và nhận diện được gán thêm vào các cặp phù hợp.
Một cách để xử lý các phát hiện chưa từng có là tạo một tuyến
đường mới từ mỗi chúng. Ngồi ra, chúng ta có thể tạo các tracks
mới từ các phát hiện chưa từng có lớn hơn một kích thước nhất định
hoặc từ các phát hiện có vị trí hoặc diện mạo nhất định. Ví dụ: nếu
cảnh có một điểm vào duy nhất, chẳng hạn như một ơ cửa, thì chúng
ta có thể chỉ định rằng chỉ những điểm phát hiện chưa khớp nằm gần


điểm vào mới có thể bắt đầu theo dõi mới và tất cả các điểm phát
hiện khác đều được coi là nhiễu.
Một cách khác để xử lý các tracks chưa khớp là xóa bất kỳ tracks
nào vẫn chưa khớp trong một số khung hình nhất định. Ngồi ra,

chúng ta có thể chỉ định xóa một tuyến đường chưa được khớp khi vị
trí đã biết cuối cùng của nó là gần điểm thoát.


III. CHƯƠNG TRÌNH
Input: Với đầu vào là một video với góc quay tĩnh.


Output:


KẾT LUẬN
SORT vẫn tồn tại những vấn đề chưa thể giải quyết. Giả định
tuyến tính: SORT đang sử dụng Linear Kalman Filter trong thuật toán
cốt lõi, điều này trong thực tế là chưa phù hợp. Để cải thiện vấn đề
này, chúng ta cần quan tâm đến các Kalman Filter phức tạp hơn, như
Extended Kalman filter, Unscented Kalman filter, ... ID Switches: Đây
là vấn đề lớn nhất của SORT hiện tại. Do việc liên kết giữa detection
và track trong SORT chỉ đơn giản dựa trên độ đo IOU (tức SORT chỉ
quan tâm đến hình dạng của đối tượng), điều này gây ra hiện tượng
số lượng ID Switches của 1 đối tượng là vô cùng lớn khi đối tượng bị
che khuất, khi quỹ đạo trùng lặp, ... Giải pháp của được đưa ra là
một bản nâng cấp của SORT có sử dụng deep learning – Deep SORT.
Tuy nhiên do hạn chế về mặt thời gian nên em chưa tìm hiểu về
Deep SORT.
Một số tồn tại khi sử dụng Multiple Object Tracking là khi một số
đối tượng bị che khuất, hoặc nhiễu lớn, hoặc đối tượng khi ra khỏi
video và xuất hiện trở lại, thì việc phát hiện và gán nhãn sẽ bị sai
sót.



TÀI LIỆU THAM KHẢO
[1]. PGS. TS. Phạm Thế Anh (chủ biên), PGS. TS. Nguyễn Mạnh An,
PGS. TS. Đỗ Năng Toàn (2017), Giáo trình xử lý ảnh, Nhà xuất bản
Giáo dục Việt Nam, Hà Nội.
[2]. Object Tracking: a/p/sort-deep-sort-mot-goc-nhinve-object-tracking-phan-1-Az45bPooZxY
[3].

Hungaria

Algorithm:

/>
matching/
[4].

Kalman

Filter:

/>[5]. Bayes’ Theorem for Gaussians:
/>ns.pdf
[6]. Woodbury matrix identity:
/>Một số tài liệu online khác.

GIẢNG VIÊN HƯỚNG DẪN

SINH VIÊN THỰC HIỆN

NGUYỄN ĐÌNH CƠNG


NGUYỄN HỮU NHÂN


TRƯỜNG ĐẠI HỌC HỒNG ĐỨC
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

XỬ LÝ ẢNH
ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH

Giáo viên hướng dẫn:
Nguyễn Đình Cơng
Nhóm sinh viên thực hiện:
Nguyễn Hữu Nhân
MSV: 1861030017

Thanh Hoá, tháng 10 năm 2020



×