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

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

24 431 18

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 14,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ế, ...

Trang 1

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

Trang 2

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ểntrong 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ốngcủa con người

Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sốngnhư: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhậndạ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 “Trackingtrong xử lý ảnh” làm đề tài cho bài tiểu luận cuối kỳ Tracking là mộtlĩnh vực mới và rất phát triển trong xử lý ảnh hiện nay Trong khuônkhổ 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 ĐìnhCông, người đã hướng dẫn và giúp đỡ em trong quá trình học tậpcũ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àmbáo cáo không thể tránh khỏi những sai sót, rất mong quý 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àicủa em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 3

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ượngchuyển động theo thời gian trong một video Hiểu một cách đơn giảnnhất, nó là bài toán ở mức độ cao hơn so với object detection, khi đốitượng được xử lí không đơn giản là một hình ảnh mà là một chuỗi cáchình ảnh hay video

Object tracking và object detection có một mối quan hệ rất chặtchẽ Object detection là việc mô hình xác định một hoặc nhiều đốitượ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ướchết mô hình cần phải phát hiện được đối tượng đó trong từng framesau đó sẽ cho qua một thuật toán về tracking nên việc theo dõi đốitượng có chính xác hay không thì cần phải xem việc phát hiện đốitượng tốt đến đâu Object detection sẽ phát hiện sự xuất hiện củanhữ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ữ nguyênmàu sắc trên đối tượng thì đó chính là bài toá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:

Trang 4

- Single Object Tracking (SOT): Single Object Tracking tập trungvà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 boundingbox 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ướngtới các ứng dụng có tính mở rộng cao hơn Bài toán cố gắng pháthiệ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 toán khó hơn SOT và nhận được rất nhiều sự quan tâmcủa giới nghiên cứu

Trang 5

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àycũ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ụngframe 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 toá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 toàn

bộ frame của video, do đó thường đạt được độ chính xác cao hơnnhiều so với Online Tracking

Ngoà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ạngchuỗ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:

Trang 6

- 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ểmchuẩn cho các phương pháp giải quyết bài toán Mutiple ObjectTracking (MOT15, MOT16, MOT17, MOT20, ) Dữ liệu là chuỗi cácvideo đã được gán nhãn của người đi bộ, được thu thập từ nhiềunguồ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ánnhãn từ 30 nhóm đối tượng khác nhau

Trang 7

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 đượcphá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 trongsuố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ũngnhư cần có thêm nhiều hơn nữa các thuật toán mạnh mẽ để giảiquyết bài toán này Một số vấn đề phổ biến và cần quan tâm hiện naylà:

- Multiple Object Tracking

- Realtime Object Tracking

Trang 8

I.4.1 Multiple Object Tracking

Một phương pháp Mutiple Object Tracking cố gắng hướng đếnviệc theo dõi tất cả các đối tượng xuất hiện trong khung hình bằngviệ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 quán qua từngframe 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 đề đượcquan tâm nhất trong object detection và vẫn không ngừng có nhữngphương pháp, những thuật toán cải thiện vấn đề này Trong objecttracking, đặc biệt là detection based tracking, việc đảm bảo tínhchính xác của quá 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áncho 1 đối tượng, ID cần đảm bảo nhất quán trong suốt video, tuynhiên, khi một đối tượng bị che khuất, nếu chỉ dựa riêng vào objectdetection 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ệnlại: Tương tự như vấn đề trước đó, chúng ta vẫn đang nói về chỉ số IDswitches 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ốngmức thấp nhất có thể

- Các đối tượng có quỹ đạo chuyển động giao nhau hoặc chồngchéo lên nhau: Việc các đối tượng có quỹ đạo chống chéo lên nhaucũng có thể dẫn đến hậu quả gán nhầm ID cho các đối tượng, đâycũng là vấn đề chúng ta cần chú ý xử lí khi làm việc với MultipleObject Tracking

I.4.2 Realtime Object Tracking

- Realtime Object Tracking quan tâm nhiều hơn về tốc độ xử lí củaphươ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 độ đưavà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ấpnhậ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 luôn là một vấn đề nan giải Thôngthường, chúng ta có thể bỏ qua 1 vài frame không xử lí cho đến khiframe 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,

Trang 9

bù lại, việc tracking mỗi x frame lại làm giảm đáng kể tính chính xácmong muốn.

- Hiện nay, các nghiên cứu mới nhất vẫn luôn tìm kiếm nhữngphươ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 haithập kỷ qua, với việc chuyển từ các phương pháp thống kê hoặc họcmáy truyền thống sang phương pháp tiếp cận học sâu dựa trênMạ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ượngtheo 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 Detectionbased Tracking)

Trang 10

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 ưukết quả trong bài toán này Công việc sau đó là tìm cách liên kết cácbounding 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 frame mớ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 frametrướ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

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 toá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 toá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 toá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

Trang 11

Trước tiên, chúng ta mô hình hóa lại bài toán để giảm độ phứctạ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 toá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 toá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 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:

- 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 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ảo mọi phần tử 0 đều được đi qua

Trang 12

- Bước 3: Nếu có n đường thẳng được vẽ, kết thúc thuật toá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ướctiếp theo

- Bước 4: Mỗi hàng (hoặc cột) có đường thẳng vẽ qua, ta gọi cáchà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ằmtrong các hàng (cột) thiết yếu, tiến hành trừ mỗi hàng thiết yếu chophầ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ước2

II.1.2 Bộ lọc Kalman

Bộ lọc Kalman[4] (Kalman Filter) là một mô hình Linear-GaussianState 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 đoá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ọcKalman thực hiện phương pháp truy hồi đối với chuỗi các giá trị đầuvà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á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ớivai trò dự đoán các trạng thái của đối tượng hiện tại dựa vào cáctrack trong quá khứ và update lại các detection sau khi đã được liênkế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:

Với:

- là giá trị biến trạng thái của quá 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

Trang 13

- 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 toán Linear Kalman Filter (ngoà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 quá trình đều làcác mô hình tuyến tính Khi đó:

Trang 14

Á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 đó:

II.1.3 SORT Explain

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

SORT tập trung vào vấn đề liên kết giữa các detection và tracksau 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ậtHungary Kalman Filter và giải thuật Hungary được kết hợp với nhau,

về mô hình bài toán, về các vấn đề nhỏ hơn những vẫn vô cùng quantrọng trong SORT

Ngày đăng: 02/01/2021, 20:40

HÌNH ẢNH LIÊN QUAN

Hình 1: Hình ảnh về object tracking - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
Hình 1 Hình ảnh về object tracking (Trang 3)
Hình 2: Hình ảnh về Single Object Tracking - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
Hình 2 Hình ảnh về Single Object Tracking (Trang 4)
Hình 3: Hình ảnh về Mutiple Object Tracking - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
Hình 3 Hình ảnh về Mutiple Object Tracking (Trang 5)
Hình 4: Hình ảnh về tracking - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
Hình 4 Hình ảnh về tracking (Trang 6)
Hình 4: Hình ảnh về tracking - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
Hình 4 Hình ảnh về tracking (Trang 7)
- là các mô hình định nghĩa từ trước. - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
l à các mô hình định nghĩa từ trước (Trang 13)
Hình ảnh 6: Luồng xử lí của SORT - XỬ LÝ ẢNH ĐỀ TÀI: TRACKING TRONG XỬ LÝ ẢNH
nh ảnh 6: Luồng xử lí của SORT (Trang 15)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w