Các ứng dụng của theo dõi đối tượng ảnh trong video có thể kể đến : 9 Nhận dạng dựa trên chuyển động motion-based recognition: thực hiện thông qua việc phân tích chuyển động của đối tượ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỖ NGUYỄN TRUNG
NGHIÊN CỨU VÀ XÂY DỰNG MODULE THEO DÕI TỰ
ĐỘNG CÁC ĐỐI TƯỢNG ẢNH
CHUYÊN NGÀNH ĐO LƯỜNG & CÁC HỆ THỐNG ĐIỀU KHIỂN
LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH ĐO LƯỜNG & CÁC HỆ THỐNG ĐIỀU KHIỂN
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS TRẦN THỊ THANH HẢI
HÀ NỘI - 2010
Trang 2MỤC LỤC
Lời cam đoan
Danh mục các bảng
Danh mục các hình vẽ
Mở đầu
Chương I - Tổng quan về bài toán theo dõi đối tượng ảnh
1.4.2 Theo vết mean-shift và camshift 14
Trang 31.4.3 Xât dựng bộ ước lượng 16
1.5 Phân tích chuyển động 19
1.6 Kết luận 19
Chương II - Theo dõi đối tượng ảnh sử dụng bộ lọc Kalman 2.1 Khó khăn và giả thiết 21
2.1.1 Những khó khăn 21
2.1.2 Các giả thiết 24
2.2 Module theo dõi đối tượng ảnh sử dụng bộ lọc Kalman Filter 25
2.2.1 Phạm vi nghiên cứu 25
2.2.2 Sơ đồ khối module 25
2.3 Phương pháp trừ nền 27
2.3.1 Giới thiệu 27
2.3.2 Điều kiện thực hiện 28
2.3.3 Phát hiện chuyển động 28
2.3.4 Giải thuật codebook 29
2.3.5 Lọc bỏ nhiễu và liên kết thành phần liên thông 31
2.4 Bộ lọc Kalman 32
2.4.1 Giới thiệu 32
2.4.2 Phương trình toán học 33
2.4.2.1 Các phương trình trạng thái và phép đo 33
Trang 42.4.2.2 Các phương trình tính toán của bộ lọc 34
2.4.2.3 Các phương trình xác suất của bộ lọc 36
2.4.3 Thuật toán Kalman rời rạc 37
2.5 Gán quan sát – đối tượng 38
2.5.1 Biểu diễn đối tượng dựa vào màu sắc 39
2.5.2 Biểu diễn đối tượng dựa vào histogram 41
2.5.3 Thước đo độ tương tự 42
Chương III - Thiết kế và cài đặt 3.1 Môi trường thiết kế 44
3.2 OpenCV và các hàm xử lý 44
3.3 Module chương trình 45
3.4 Học và trừ nền theo giải thuật codebook 47
3.4.1 Lưu đồ thuật toán 47
3.4.2 Các hàm xử lý 49
3.4.3 Kết quả minh họa 50
3.5 Phát hiện đối tượng chuyển động 52
3.5.1 Lưu đồ thuật toán 52
3.5.2 Các hàm xử lý 53
3.6 Theo dõi đối tượng 54
3.6.1 Lưu đồ thuật toán 54
Trang 53.6.2 Các hàm xử lý 57
Chương IV - Thử nghiệm và đánh giá 4.1 Cơ sở dữ liệu thử nghiệm 60
4.2 Thước đo đánh giá kết quả 60
4.3 Thông số cài đặt 61
4.3.1 Thông số phục vụ xây dựng mô hình nền 61
4.3.2 Thông số xác định đối tượng chuyển động 62
4.3.3 Thông số khởi tạo bộ lọc Kalman 62
4.4 Kết quả thử nghiệm 63
4.4.1 Kết quả thử nghiệm trên video 1 63
4.4.2 Kết quả thử nghiệm trên video 2 65
4.4.2 Kết quả thử nghiệm trên video 3 68
4.4.2 Kết quả thử nghiệm trên video 4 69
4.5 Kết luận và kiến nghị 71
4.6.1 Những kết quả đạt được 72
4.6.2 Hướng phát triển 72
Trang 6LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn cao học “Nghiên cứu và xây dựng module theo dõi tự động các đối tượng ảnh” do tôi tự thực hiện dưới sự hướng dẫn của
Tiến sĩ Trần Thi Thanh Hải, không sao chép nội dung cơ bản từ các đồ án khác, hay các sản phẩm tương tự mà không phải do tôi làm ra Để hoàn thành luận văn cao học này, tôi chỉ sử dụng những tài liệu đã được ghi trong phần những tài liệu tham khảo và không sử dụng bất cứ một tài liệu nào khác Nếu phát hiện có sự sao chép, tôi xin hoàn toàn chịu trách nhiệm
Hà Nội, ngày tháng năm Học viên
Đỗ Nguyễn Trung
Trang 7DANH MỤC CÁC BẢNG
Bảng 4-1 Tập video thử nghiệm 60
Bảng 4-2 Thông số cài đặt cho video 1 63
Bảng 4-3 Kết quả định lượng video 1 63
Bảng 4-4 Thông số cài đặt cho video 2 65
Bảng 4-5 Kết quả định lượng video 2 65
Bảng 4-6 Thông số cài đặt cho video 3 68
Bảng 4-7 Kết quả định lượng video 3 68
Bảng 4-8 Thông số cài đặt cho video 4 70
Bảng 4-9 Kết quả định lượng video 4 70
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Ba bước trong hệ thống theo dõi giám sát và phân tích sự kiện 3
Hình 1-2 Biểu diễn hình dạng đối tượng 4
Hình 1-3 Đặc trưng màu sắc 7 Hình 1-4 Phương pháp trừ nền 11
Hình 1-5 Lưu đồ xây dựng mẫu chuyển động 13
Hình 1-6 Hai pha chu trình ước lượng 17
Hình 2-1 Hình dạng và trang phục mỗi người khác nhau 21
Hình 2-2 Tư thế và hướng vận động của con người thay đổi liên tục 22
Hình 2-3 Môi trường với nhiều yếu tố thay đổi 22
Hình 2-4 Người đi bộ khuất sau cột đèn 23
Hình 2-5 Hệ thống theo dõi sử dụng nhiều camera 24
Hình 2-6 Sơ đồ khối module theo dõi đối tượng ảnh sử dụng bộ lọc Kalman 26
Hình 2-7 Hoạt động của giải thuật codebook với tín hiệu một chiều 30
Hình 2-8 Sơ đồ chu trình bộ lọc Kalman 37
Hình 2-9 Sơ đồ hoạt động bộ lọc Kalman 38
Hình 2-10 Mô hình không gian màu RGB 39
Hình 2-11 Mô hình không gian màu HSV 40
Hình 2-12 Mô hình không gian màu YcbCr 41
Hình 2-13 Biểu diễn histogram của một tập điểm ảnh 42
Trang 9Hình 3-1 Lưu đồ thuật toán module chương trình 46
Hình 3-2 Lưu đồ thuật toán học và trừ nền 47
Hình 3-3 Kết quả minh họa quá trình học và trừ nền 51
Hình 3-4 Lưu đồ thuật toán phát hiện đối tượng chuyển động 52
Hình 3-5 Lưu đồ thuật toán theo dõi đối tượng 55
Hình 4-1 Kết quả phát hiện và theo dõi trên video 1 64
Hình 4-2 Kết quả phát hiện và theo dõi trên video 2 66
Hình 4-3 Kết quả phát hiện sai dẫn đến mất quan sát trên video 2 67
Hình 4-4 Kết quả phát hiện và theo dõi trên video 3 69
Hình 4-5 Kết quả phát hiện và theo dõi trên video 4 71
Trang 10
phân tích ảnh (image analysis) đã tạo điều kiện thuận lợi, bổ sung nhiều công cụ
tiện ích hỗ trợ thực hiện bài toán này
Các ứng dụng của theo dõi đối tượng ảnh trong video có thể kể đến :
9 Nhận dạng dựa trên chuyển động (motion-based recognition): thực hiện
thông qua việc phân tích chuyển động của đối tượng
Các ứng dụng cụ thể là phân lớp các sự kiện có người theo dáng đi
(silhouette) và cử chỉ (gesture), tự động theo dõi một hoặc nhiều đối tượng
9 Giám sát tự động (automated surveillance): Các hệ thống giám sát tự động
tiến hành quan sát một khu vực nhằm phát hiện người xâm nhập vào vùng không cho phép hoặc những hoạt động bất thường
9 Tương tác người - máy (human - computer interaction): Quá trình tương tác
người máy thực hiện thông qua việc nhận biết cử chỉ (cử chỉ bàn tay, cử chỉ
cơ thể) hay cảm xúc (gương mặt) của con người
9 Giám sát giao thông (traffic monitoring): Hệ thống giám sát giao thông thu
thập và xử lý hình ảnh từ camera trên các tuyến đường, để điều chỉnh luồng phương tiện đi lại, khắc phục tình trạng tắc đường
9 Thiết kế xe tự hành (vehicle navigation): Xe tự hành là loại xe có khả năng
Trang 119 Nhiễu gây ra do thiết bị quay và con người
9 Sự phức tạp của chuyển động
9 Sự đa dạng của hình dáng đối tượng
9 Những thay đổi về khung cảnh quan sát
9 Đối tượng quan sát bị che khuất một phần hay toàn bộ
9 Yêu cầu về tính thời gian thực
Cho đến nay, đã có nhiều phương pháp theo dõi đối tượng ảnh được đề xuất như : phương pháp so khớp mẫu, phương pháp Meanshift, phương pháp ước lượng dựa trên bộ lọc Kalman (Kalman filter) hay bộ lọc hạt (Particle filter) Mỗi phương pháp đều có ưu điểm và nhược điểm riêng Trong đó, phương pháp sử dụng bộ lọc Kalman, phát triển từ những năm 60 của thế kỷ 20, vẫn cho thấy bằng thực nghiệm
là hoạt động hiệu quả trong nhiều trường hợp
Từ mong muốn tiếp cận một hướng nghiên cứu mới trên thế giới và hứa hẹn
mang lại nhiều ứng dụng thực tế, đề tài “Nghiên cứu và phát triển module theo dõi
tự động các đối tượng ảnh” được thực hiện với trọng tâm gồm hai phần :
9 Tìm hiểu phương pháp theo dõi đối tượng ảnh sử dụng bộ lọc Kalman
9 Ứng dụng phương pháp đã nghiên cứu vào bài toán theo dõi một hoặc nhiều đối tượng ảnh
Mục tiêu của đề tài không chỉ dừng lại ở việc nghiên cứu thử nghiệm và đánh giá tính hiệu quả của bộ lọc Kalman trong bài toán theo dõi một đối tượng trong ảnh mà còn trong bài toán theo dõi nhiều hơn một đối tượng cùng một lúc Bài toán theo dõi nhiều đối tượng cùng một lúc đòi hỏi phải quản lý các bộ lọc Kalman cũng như việc gán quan sát đối tượng hợp lý
Môi trường thử nghiệm: Chương trình và các tiện ích cài đặt trên môi trường Visual Studio.Net 2008, sử dụng thư viện mã nguồn mở OpenCV Các modules được xây dựng trên ngôn ngữ C++ nên có thể tiếp tục phát triển trên các hệ điều hành khác nhau (Windows, Linux…)
Trang 12Đề tài trình bày theo cấu trúc gồm bốn chương :
9 Chương I - Lý thuyết về theo dõi đối tượng ảnh : Giới thiệu chung về bài
toán theo dõi đối tượng ảnh, bao gồm định nghĩa bài toán, các khó khăn cũng như những hướng tiếp cận Qua đó, đánh giá và đưa ra vấn đề mà đề tài sẽ
tập trung thử nghiệm
9 Chương II - Theo dõi đối tượng ảnh sử dụng bộ lọc Kalman : Đưa ra mô
hình bài toán theo dõi đối tượng ảnh, trình bày cơ sở lý thuyết về bộ lọc
Kalman, phát hiện đối tượng và gán quan sát đối tượng
9 Chương III - Thiết kế cài đặt : Thiết kế sơ đồ khối, lưu đồ thuật toán cho bài
toán theo dõi đối tượng ảnh sử dụng bộ lọc Kalman Ngoài ra, chương này cũng giới thiệu về OpenCV và các hàm xử lý ảnh được sử dụng để phát triển
module của đề tài
9 Chương IV - Thử nghiệm và đánh giá : Tiến hành thử nghiệm với dữ liệu
video thu nhận theo các kịch bản khác nhau: một đối tượng chuyển động và nhiều đối tượng chuyển động cùng một lúc Trình bày những kết quả thu
được, các hạn chế và hướng phát triển đề tài
Tuy khối lượng công việc cần thực hiện lớn, song với nỗ lực của bản thân và
sự hướng dẫn tận tình của thầy cô, cùng sự giúp đỡ của bạn bè, em đã dần dần tiếp cận được với lĩnh vực xử lý ảnh - thị giác máy và hoàn thành các nhiệm vụ đề tài đặt ra đúng thời hạn
Em xin chân thành cảm ơn sự chỉ bảo, dạy dỗ tận tình của các thầy, các cô trong bộ môn Kỹ thuật đo và Tin học công nghiệp - Khoa Điện - Trường Đại học Bách Khoa Hà Nội
Em cũng xin chân thành cảm ơn ban lãnh đạo trung tâm MICA đã tạo mọi điều kiện cho em được thực hiện luận văn tại trung tâm, cùng thầy cô, anh chị và các bạn ở trung tâm đã giúp đỡ em trong suốt thời gian em thực tập
Trang 13Cuối cùng, với lòng biết ơn chân thành, em xin đặc biệt cảm ơn Tiến sĩ Trần Thị Thanh Hải, cán bộ nghiên cứu thuộc trung tâm nghiên cứu quốc tế MICA- Trường Đại học Bách Khoa Hà Nội là người trực tiếp hướng dẫn em trong suốt quá trình thực hiện luận văn
Mặc dù đã cố gắng, song do hạn chế về thời gian, kiến thức nên trong luận văn vẫn không tránh khỏi những thiếu sót Em mong nhận được những ý kiến đóng góp chân thành của các thầy, các cô, cũng như các bạn đọc
Hà Nội, ngày tháng năm Học viên thực hiện
Đỗ Nguyễn Trung
Trang 14CHƯƠNG I - TỔNG QUAN VỀ BÀI TOÁN THEO DÕI ĐỐI TƯỢNG ẢNH 1.1 Mô hình bài toán
1.1.1 Định nghĩa bài toán
Theo dõi đối tượng ảnh trong video (object tracking) là thực hiện dự đoán
quỹ đạo chuyển động của đối tượng trên mặt ảnh phẳng khi đối tượng đó di chuyển
Nói cách khác, một bộ theo dõi (object tracker) sẽ tiến hành gán nhãn tương ứng cho đối tượng bị theo dõi (object-observation assignment) qua các khung hình (frame) liên tiếp của video [39]
Như vậy, để thực hiện việc theo dõi, tại mỗi frame video phải có dữ liệu quan sát về đối tượng Dữ liệu này thường lấy được thông qua các bộ phát hiện đối
tượng (object detectors)
1.1.2 Phân loại bài toán
Tùy thuộc vào mục đích ứng dụng, theo dõi đối tượng ảnh trong video có thể
chia thành hai trường hợp: bài toán theo dõi một đối tượng (single object tracking)
và bài toán theo dõi nhiều đối tượng (multiple object tracking)
Đối với trường hợp theo dõi một đối tượng, việc gán quan sát - đối tượng
được thực hiện một cách dễ dàng Trọng tâm của bài toán này là giải thuật để xác định chuyển động của đối tượng xảy ra ở đâu, xảy ra như thế nào, và hướng của chuyển động
Bài toán theo dõi nhiều đối tượng thường gặp hơn trong thực tế, do các ứng
dụng đòi hỏi giám sát nhiều hơn một đối tượng cùng một lúc rất phổ biến Ví dụ như tại các bến tàu điện ngầm, sân bay, hay siêu thị, hệ thống camera phải quan sát
số lượng lớn phương tiện và người di chuyển, hoạt động Hoặc trên các tuyến đường quốc lộ, công việc điều phối luồng giao thông yêu cầu quan sát không chỉ một mà nhiều xe cộ đi lại trên đường
Trang 15Có thể nói, bài toán theo dõi nhiều đối tượng cùng một lúc là bài toán phức tạp, do có nhiều đối tượng, dẫn đến có nhiều quan sát tại mỗi thời điểm Bởi vậy, việc gán quan sát - đối tượng trở thành nhiệm vụ quan trọng của bài toán này
Mục tiêu đề tài tập trung vào trường hợp thứ hai, tức là thực hiện nghiên cứu và xây dựng module cho phép theo dõi một hoặc nhiều đối tượng cùng một lúc, có khả năng ứng dụng vào thực tế
1.1.3 Các bước chính trong bài toán
Giải thiết có một video thể hiện các đối tượng chuyển động Ký hiệu Obj_i (i=1, 2, 3…N) là đối tượng cần theo dõi, Ovs_ij (j=1,2,3…M) là quan sát của Obj_i
ở thời điểm kế tiếp
Tại lúc khởi tạo t=0, trên frame f_0, xác định được đối tượng Obj_i cần theo dõi Trong frame f_1 sau đó, có các quan sát Ovs_ij của Obj_i Việc theo dõi đối tượng Obj_i từ khung hình f_0 qua khung hình f_1 được thực hiện thông qua các
bước sau:
1) Dự báo vị trí của đối tượng Obj_i trong khung hình tiếp theo f_1
2) Xác định những quan sát Obv_ij nằm trong miền dự báo
3) So sánh đối tượng Obj_i với các quan sát Obv_ij và tìm ra quan sát giống nhất với đối tượng, gọi là Obv_similar
4) Thực hiện cập nhật lại thông tin về đối tượng Obj_i từ quan sát giống nhất
Obv_similar tìm thấy này
1.1.4 Vai trò của bài toán
Theo dõi đối tượng ảnh là một phần trong hệ thống theo dõi giám sát và phân tích sự kiện qua video
Thông thường một hệ thống theo dõi giám sát và phân tích sự kiện qua video gồm ba bước chủ yếu sau:
Trang 169 Phát hiện các đối tượng chuyển động (detection of moving objects)
9 Theo dõi đối tượng qua các frame ảnh (object tracking)
9 Phân tích chuyển động để nhận biết trạng thái (analysis of object)
Hình 1-1 Ba bước trong hệ thống theo dõi giám sát và phân tích sự kiện
Như vậy, bước theo dõi làm nhiệm vụ kết nối các quan sát của cùng một đối tượng theo thời gian, để từ đó đưa ra thông tin về hành vi của đối tượng cũng như
sự kiện đang xảy ra Có thể thấy, bước này là bước thứ hai, thực hiện sau phát hiện
đối tượng (hình 1-1) Tức là, chỉ khi xác định được đối tượng cần quan tâm, mới có
thể tiến hành theo dõi và phân tích
Các phần trình bày dưới đây sẽ mô tả từng bước trong hệ thống theo dõi giám sát và phân tích sự kiện qua video cùng một số cách tiếp cận các bước đó Những hệ thống trong thực tế thường kết hợp nhiều phương pháp khác nhau để có thể đem lại hiệu quả cao nhất
1.2 Biểu diễn đối tượng ảnh
Các bước trong bài toán theo dõi đối tượng ảnh nói riêng và hệ thống theo dõi giám sát và phân tích sự kiện nói chung đều liên quan đến đối tượng ảnh Vì vậy, trước tiên cần phải định nghĩa đối tượng ảnh Nghĩa là, cần nắm được những thông tin về đối tượng như vị trí trong không gian, vận tốc chuyển động, đặc trưng vật lý của đối tượng Các đối tượng có thể định nghĩa là bất kỳ, miễn sao thuận tiện cho việc theo dõi và phân tích sau này Tuy nhiên, thông thường, chúng được biểu
diễn thông qua hình dạng (shape) và diện mạo bên ngoài (appearance)
Trang 171.2.1 Hình dạng
Hình 1-2 Biểu diễn hình dạng đối tượng: (a)trọng tâm, (b) nhiều điểm, (c) khung chữ nhật, (d) khung ellipse, (e) tập khung thành phần, (f) khung xương, (g) các điểm
trên đường bao, (h) đường bao, (i) bóng [39]
Có nhiều cách thức để biểu diễn hình dạng của đối tượng [39]:
9 Điểm (points): Đối tượng được thể hiện bằng một điểm, thường là trọng tâm (hình 1-2.a) hay một tập các điểm đặc biệt (hình 1-2.b) Cách thức này đơn
giản, thường được áp dụng cho bài toán trong đó đối tượng chiếm một vùng nhỏ trên ảnh
9 Dạng hình học thô sơ (primitive geometric shapes): Hình dạng đối tượng thể hiện thông qua một hình chữ nhật, một hình ellipse (hình 1-2.c, d) Thường
thì cách thức này chỉ thích hợp cho việc biểu diễn các đối tượng có hình dạng
ít thay đổi [10] Tuy nhiên, một điểm mạnh của cách thức biểu diễn này là tính đơn giản, dễ áp dụng trong thực nghiệm
Trang 189 Bóng (silhouette) và đường bao (contour): Đường bao thể hiện ranh giới của một đối tượng so với các vùng khác (hình 1-2.h) Vùng nằm bên trong đường bao gọi là bóng (hình 1-2.i) Biểu diễn bóng và đường bao là hai loại đặc
trưng được sử dụng rất phổ biến để biểu diễn đối tượng vì đây là những thông tin có ý nghĩa trong việc phân biệt đối tượng [40]
9 Mô hình khớp nối (articulated shape models): Thực hiện chia đối tượng
thành các thành phần và nối với nhau qua các khớp, tương tự như cơ thể con
người gồm thân, hai chân, hai tay, đầu (hình 1-2.e) Mô hình cho phép biểu
diễn đối tượng mang tính cấu trúc cao (thân người, hình trạng bàn tay, khuôn mặt…) [6] Đồng thời, nó cung cấp các thông tin ngữ nghĩa về cấu trúc của đối tượng Mặc dù, phương pháp này đẹp về mặt biểu diễn, việc thực hiện lại phức tạp, do phải tiến hành phát hiện các thành phần đối tượng cũng như quan hệ giữa chúng
9 Mô hình khung xương (skeletal models): Mô hình khung xương có thể thu
được bằng cách thực hiện tìm các đường trục cho vùng bóng của đối tượng
(hình 1-2.f) Mô hình này cũng được sử dụng nhiều trong việc biểu diễn các
đối tượng có cấu trúc
1.2.2 Diện mạo
Theo [39], diện mạo đối tượng có thể được biểu diễn thông qua:
9 Phân bố xác xuất (probability densities of object appearance): Ước lượng phân bố xác suất các đặc điểm bên ngoài (color, texture) tính toán từ vùng
ảnh thu được qua các mô hình biểu diễn hình dạng đối tượng (vùng bên trong
ellipse hay đường biên) (hình 1-3) Những ước lượng này có thể là mô hình tham số (parametric) tuân theo phân bố chuẩn Gaussian hoặc một tập phân
bố Gaussian, hay có thể là mô hình phi tham số (nonparametric)
9 Khuôn mẫu (templates): Các khuôn mẫu thu được bằng cách sử dụng biểu
diễn dạng hình học hay bóng đối tượng Lợi ích của khuôn mẫu là nó mang đặc điểm cả về không gian và diện mạo của đối tượng Tuy nhiên, do chỉ mã
Trang 19hóa từ một hướng nhìn nên khuôn mẫu thích hợp cho đối tượng tư thế ít thay đổi trong quá trình xử lý [6]
9 Mô hình động (active appearance models): Để xây dựng mô hình đối tượng,
người ta tiến hành mô phỏng hình dạng và diện mạo bên ngoài của đối tượng Nghĩa là hình dạng đối tượng sẽ xác định bởi một tập điểm mốc
(landmark), nằm trên đường bao hay nằm hẳn bên trong vùng chứa đối
tượng Tại mỗi điểm mốc có một vector đặc tính lưu thông tin về màu sắc, bề
mặt hay biên độ gradient (gradient magnitude) Mô hình biểu diễn này yêu
cầu quá trình luyện mẫu
9 Mô hình đa quan sát (multiview appearance models): Mô hình đa quan sát
mã hóa các hướng nhìn khác nhau của một đối tượng [27] Có thể thực hiện
mô hình thông qua xây dựng một không gian con xác định theo hướng quan sát hoặc tiến hành một quá trình luyện mẫu Điểm giới hạn của mô hình đa quan sát là yêu cầu về thời gian xử lý
1.2.3 Trích chọn đặc trưng
Đặc trưng (feature) của đối tượng thường lựa chọn với mong muốn sao cho
đối tượng có thể được nhận biết từ khung cảnh quan sát, cũng như dễ dàng phân biệt với đối tượng khác
Việc trích chọn ra các đặc trưng để biểu diễn đối tượng, cho phép xác định đúng đối tượng từ một tập hợp đối tượng chính là một nhiệm vụ cần làm để thực hiện bài toán gán quan sát – đối tượng
9 Màu sắc (color): Màu sắc là đặc trưng về diện mạo của đối tượng Nó do hai
nhân tố vật lý quyết định: sự phân bố mật độ phổ năng lượng của nguồn sáng, và bề mặt phản xạ của đối tượng được chiếu sáng [12] Trong xử lý ảnh
thường sử dụng không gian màu RGB (red, green, blue) biểu diễn màu sắc
của đối tượng Tuy nhiên, không gian màu RGB không phải là không gian màu cảm nhận, nghĩa là sự khác nhau giữa các màu sắc trong không gian
Trang 20màu RGB không giống với cảm nhận của con người Vì vậy, đã ra đời các không gian màu khác như HSV, YcbCr… Chúng được xác định thông qua các phép biến đổi tuyến tính hoặc phi tuyến từ không gian RGB Nói chung, màu sắc là thuộc tính thông dụng nhất, trực quan nhất và đã được sử dụng rộng rãi trong các ứng dụng
Hình 1-3 Đặc trưng màu sắc: (a) ảnh đầu vào, (b) biểu đồ histogram [4]
9 Đường biên (edges): Đường biên đối tượng sinh ra khi có sự thay đổi đột
ngột về cường độ sáng trong ảnh Một điểm quan trọng của đường biên là nó
ít chịu tác động của ánh sáng hơn so với màu sắc Nhiều giải thuật tìm phân vùng đối tượng ảnh hay nhận dạng sử dụng đường biên, do tính đơn giản và
độ chính xác cao [15]
9 Kết cấu (texture): Kết cấu là thước đo sự thay đổi cường độ sáng trên một bề
mặt So với màu sắc, đặc trưng kết cấu ảnh cần một số bước xử lý để xây dựng một bộ mô tả Nếu như đường biên biểu diễn hình dạng của đối tượng thì kết cấu biểu diễn tính chất bề mặt của đối tượng, từ đó cho phép phân loại các đối tượng tương đồng về hình dáng bên ngoài nhưng có sự khác biệt về
bề mặt
9 Luồng quang học (optical flow): Optical flow là một trường vector dịch
chuyển, xác định sự tịnh tiến của mỗi pixel trong một vùng ảnh Nếu như đường biên, kết cấu, màu sắc là những đặc trưng thường được sử dụng để mô
tả các đối tượng tĩnh thì optical flow là một đặc trưng cho phép biểu diễn sự
Trang 21chuyển động của các đối tượng trong không gian Việc tính toán optical flow
thực hiện dựa trên một số điều kiện về ánh sáng, chẳng hạn giả thiết tác động của ánh sáng với từng pixel không đổi qua các frame ảnh liên tiếp [3]
Phần lớn các đặc trưng được lựa chọn bởi người sử dụng căn cứ theo lĩnh vực áp dụng và tài nguyên sẵn có Vấn đề cần quan tâm khác là giải thuật để tự
động phát hiện đặc trưng [39] đề cập đến hai phương pháp filter và wrapper Phương pháp filter cố gắng tìm những đặc trưng dựa trên một chỉ tiêu nhất định Còn phương pháp wrapper chọn đặc trưng dựa trên tính hữu ích của chúng trong
việc giải quyết bài toán
1.3 Phát hiện đối tượng ảnh
Để khởi tạo bộ theo dõi (object tracker) hay để có được dữ liệu quan sát về đối tượng (object-observation assignment), đòi hỏi phải thực hiện phát hiện đối tượng (object detection) Hướng tiếp cận phổ biến của phát hiện đối tượng là xử lý
thông tin ở từng frame riêng lẻ Tuy nhiên, một số giải thuật khác lại sử dụng chuỗi thông tin thu được từ các frame liên tiếp để giảm thiểu sai số Sau khi tìm được vùng chứa đối tượng trong frame ảnh, bộ theo dõi sẽ xác định sự tương ứng của đối tượng giữa các frame rồi tiến hành gán quan sát trên đối tượng đã phát hiện
Phát hiện và nhận dạng đối tượng ảnh là các bài toán lớn và phức tạp, yêu
cầu những nghiên cứu chuyên sâu Ở đây, đề tài sẽ chỉ đề cập đến một số phương pháp phát hiện đối tượng ảnh tương đối phổ biến cho phép thực hiện đơn giản nhằm phục vụ cho mục tiêu chính là bài toán theo dõi đối tượng
9 Tìm điểm đặc trưng (interest points): Để phát hiện và nhận dạng đối tượng,
có nhiều giải thuật đã được triển khai, trong đó phương pháp sử dụng các điểm đặc trưng kết hợp với việc biểu diễn đối tượng như một tập các từ quan
sát (bag of visual words) đã được chứng minh bằng thực nghiệm là cho kết
quả phát hiện và nhận dạng tương đối hiệu quả trên những cơ sở dữ liệu lớn
Trang 22Ở hướng tiếp cận này, có thể kể đến các nghiên cứu về tìm điểm đặc trưng của Moravec [23], Harris và Stephens [14], Shi và Tomasi [31], Lowe [22]
Harris và Stephens [14] tìm đạo hàm bậc hai các biến thiên cường độ ảnh M Sau đó tính các giá trị định thức và vết của M trong một lân cận R
space) được xây dựng dựa trên các bộ lọc Gaussian với những tỉ lệ khác
nhau Các điểm đặc trưng ứng viên sẽ lựa chọn từ cực tiểu minima và cực đại
maxima của các ảnh DoG (difference-of-Gaussians) Bước tiếp theo, cập
nhật lại mỗi vùng ứng viên bằng phép nội suy giá trị màu thông qua những pixel lân cận Bước ba, loại bỏ đặc trưng không thỏa mãn về độ tương phản Cuối cùng, giữ lại những điểm có hướng xác định căn cứ vào giá trị đỉnh
lược đồ histogram tập các hướng gradient (gradient directions) trong một lân
cận vùng ứng viên
Mặc dù cho kết quả nhận dạng tốt, các phương pháp phát hiện này đòi hỏi thời gian tính toán lớn, không thực sự phù hợp với các ứng dụng yêu cầu thời gian thực
9 Phân đoạn ảnh (segmentation): Mục đích của phân đoạn ảnh là chia một ảnh
thành các vùng đồng dạng Mọi giải thuật phân đoạn ảnh tập trung vào hai vấn đề, ngưỡng chỉ tiêu để có vùng phân chia tốt và cách thức để thực hiện giải thuật với hiệu suất cao
Một số phương pháp thực hiện phân đoạn thích hợp cho bài toán theo dõi đối
tượng ảnh có thể kể đến Mean-Shift Clustering [11], Image Segmentation
Using Graph-Cuts [30] [38], Active Contours [8] [40]
Trong kỹ thuật Image Segmentation Using Graph-Cuts, việc phân đoạn ảnh chuyển thành phân tách một đồ thị Trong đó các đỉnh lân cận V, tương ứng
Trang 23các pixel, của một đồ thị G, tương ứng với ảnh, được nhóm vào N đồ thị con
Tổng trọng số của các đường biên phân chia giữa hai đồ thị con gọi là một nhát cắt Wu và Leahy [38] áp dụng kỹ thuật này với mục tiêu cực tiểu hóa
số nhát cắt Shi và Malik [30] đưa ra các nhát cắt tiêu chuẩn (normalized
cut), tức là nhát cắt không chỉ phụ thuộc tổng trọng số đường biên mà còn
dựa trên tỉ lệ giữa tổng trọng số kết nối các nút mỗi vùng so với toàn bộ các nút đồ thị
Trong kỹ thuật Active Contours, phân đoạn đối tượng là kết quả quá trình
khai triển đường bao gần ranh giới đối tượng, hay đường bao liền kề vùng chứa đối tượng Việc khai triển tiến hành trên cơ sở một hàm năng lượng
(energy functional) mô tả sự tương ứng của đường bao và giả thiết vùng
chứa đối tượng Caselles [8] sử dụng đặc trưng cục bộ, như gradient ảnh, Yilmaz [40] sử dụng đặc trưng toàn cục, như màu sắc, kết cấu trong quá trình thực hiện kỹ thuật này
Mục đích phương pháp phân đoạn cho phép phân ảnh thành các vùng có cùng tính chất Tuy nhiên, những vùng này có thể tương ứng với đối tượng
mà ta quan tâm, hoặc có thể chỉ tương ứng với một vùng của một hay nhiều đối tượng Vì thế, khái niệm đối tượng không hoàn toàn trùng khớp với vùng xác định được qua phân đoạn ảnh và bài toán phát hiện đối tượng sẽ không được giải quyết triệt để
9 Thực hiện trừ nền (background subtraction): Đối với video trong đó có đối
tượng chuyển động, việc phát hiện đối tượng có thể thực hiện bằng cách xây
dựng một phông cảnh gọi là nền (background mode) và sau đó tìm những thay đổi của từng frame đầu vào so với nền (hình 1-4) Những pixel thuộc
vùng ảnh thay đổi sẽ được đánh dấu và đưa vào quá trình xử lý tiếp theo Việc phân biệt các khung hình được nghiên cứu từ cuối thập niên 70 thế kỷ
20 bởi Jain và Nagel Tuy nhiên, phải đến các công trình của Wren [37], phương pháp trừ nền mới trở nên phổ biến Sau đó, Gao [13], Kim [20], Rittscher [26], Stauffer và Grimson [32], đã phát triển phương pháp trừ nền
Trang 24cho những trường hợp phức tạp, cũng như sử dụng thêm nhiều giải thuật xử
lý ảnh hỗ trợ
Phương pháp trừ nền thực sự đơn giản và hoạt động hiệu quả với những ứng dụng sử dụng camera cố định, khung cảnh ít biến động, đối tượng tương đối phân biệt với nền Vì vậy, trong khuôn khổ luận văn, với mục đích thử nghiệm, và do phát hiện đối tượng không phải là nhiệm vụ chính của đề tài, phương pháp trừ nền sẽ được lựa chọn sử dụng
Hình 1-4 Phương pháp trừ nền: (a) ảnh đầu vào có đối tượng, (b) ảnh nền, (c)
ảnh sai khác [4]
9 Phương pháp học (machine learning): Việc phát hiện đối tượng có thể thực
hiện thông qua quá trình học tự động các quan sát khác nhau của đối tượng
từ một bộ mẫu Như vậy, phát hiện đối tượng trở thành quá trình so khớp các đặc trưng giữa mẫu và chuỗi ảnh Phương pháp này để đạt được độ chính xác cao thường tốn nhiều chi phí và phụ thuộc vào chi tiết mức độ chính xác của
bộ mẫu sử dụng
Những nghiên cứu theo hướng này gồm Support Vector Machines [24],
Neural Networks [28], Adaptive Boosting [36]
Adaptive Boosting là giải thuật thực hiện kết hợp các bộ phân loại yếu thành
một bộ phân loại mạnh Các bộ phân loại yếu hoạt động giống như một tập các ngưỡng, được áp dụng lên các đặc trưng đối tượng trích chọn từ ảnh
(a) (b) (c)
Trang 25Viola [36] đã dùng kỹ thuật Adaboost để phát hiện người đi bộ qua các
video
Cũng giống như bộ phân loại, Support Vector Machines (SVM) nhóm tập dữ
liệu vào hai lớp bằng cách tìm siêu phẳng biên cực đại phân tách một lớp với
các lớp khác Papageorgious [24] dùng SVM kết hợp đặc trưng Haar phát
hiện người đi bộ và khuôn mặt người trong ảnh.
1.4 Theo dõi đối tượng ảnh
Như đã định nghĩa, theo dõi đối tượng ảnh là thực hiện dự đoán quỹ đạo chuyển động của đối tượng trên mặt ảnh phẳng Khi các đối tượng chuyển động, ngoài sự thay đổi về vị trí, có thể còn có sự thay đổi về diện mạo, kích thước, hình dáng… Vì vậy, việc theo dõi cần đưa ra các thông tin về sự thay đổi này
Một số phương pháp theo dõi đối tượng ảnh phổ biến có thể kể đến [7]:
9 Xây dựng mẫu chuyển động (motion templates)
9 Theo vết mean-shift và camshift (mean-shift and camshift tracking)
9 Xây dựng bộ ước lượng (estimators)
1.4.1 Xây dựng mẫu chuyển động
Mẫu chuyển động (motion templates) ) được nghiên cứu lần đầu tiên tại
phòng thí nghiệm MIT Media Lab, sau đó được phát triển bởi Bradski và Davis [6] Đây là một phương pháp rất hiệu quả để theo dõi những chuyển động thông thường, đặc biệt cho các ứng dụng về nhận dạng cử chỉ
Để thực hiện so khớp mẫu, trước hết cần xác định dáng (silhouette) hay một
phần dáng của đối tượng Silhouette đối tượng ảnh có thể được được xác định thông qua một số kỹ thuật trừ nền và phân đoạn ảnh Khi đối tượng di chuyển, bản sao
dáng đối tượng mới nhất được cập nhật vào “ảnh lưu trữ chuyển động” MHI
(motion history image), được gán nhãn thời gian với độ chính xác dấu phảy động
(floating point timestamp) Ảnh MHI chính là biểu diễn của mẫu chuyển động Tùy
Trang 26theo một mức pixel hay một ngưỡng thời gian cài đặt thích hợp, các pixel trong ảnh
MHI nhỏ hơn ngưỡng sẽ bị xóa về không Kết quả cuối cùng là một mẫu chuyển
động, hay tập hợp dáng đối tượng xếp chồng theo thời gian Từ đó, có thể sử dụng kết quả này để tính toán và dự báo hướng, vị trí tiếp theo của đối tượng
Hình 1-5 Lưu đồ xây dựng mẫu chuyển động [6]
Một số bước quan trọng trong quá trình thực hiện xây dựng mẫu chuyển
động (hình 1-5):
9 Cập nhật ảnh MHI (tMHI Update): Các dáng đối tượng được sao chép vào
MHI với floating point timestamp dạng giây.mili giây Luật cập nhật MHI
như sau [6]
Trong đó τ là nhãn thời gian hiện tại, δ là khoảng thời gian tồn tại (thường
một vài giây)
(1-2)
Trang 279 Tìm gradient của chuyển động (Motion Gradient): Từ ảnh MHI, có thể xác
định hướng chuyển động bằng cách tìm các vector gradient Các vector này vuông góc với đường ranh giới bao quanh đối tượng chuyển động, và chính
là biểu diễn của optical flow Gradient của ảnh MHI tính toán thông qua một
vòng lặp kết hợp bộ lọc Sobel theo hai trục X, Y, với các đạo hàm theo hướng Fx(x,y), Fy(x,y)
9 Phân đoạn chuyển động (Motion Segmentation): Bước phân đoạn chuyển
động thực hiện nhóm các vùng chuyển động sinh ra bởi chuyển động của một bộ phận hay của cả đối tượng Để có thể phân đoạn, cần tiến hành các
bước tìm tư thế đối tượng (Pose Matching)
Phương pháp xây dựng mẫu chuyển động ít chịu ảnh hưởng bởi nhiễu và hiệu ứng chiếu sáng, có thể theo dõi được các đối tượng biến dạng Tuy nhiên, độ phức tạp trong tính toán cao, chất lượng so khớp mẫu phụ thuộc nhiều vào đặc điểm của đối tượng
1.4.2 Theo vết mean-shift và camshift
Mean-shift và camshift là hai kỹ thuật của toán phân tích dữ liệu được ứng dụng vào lĩnh vực xử lý ảnh Do chúng khá phức tạp và đòi hỏi những nghiên cứu chuyên sâu nên ở đây sẽ chỉ trình bày một số nét chính và quan hệ giữa chúng với bài toán theo dõi đối tượng ảnh Chi tiết cụ thể hơn có thể xem tại [11]
Giải thuật mean-shift là phương pháp tìm vùng cực trị địa phương từ phân bố mật độ một tập dữ liệu Nó hoạt động tốt với những phân bố liên tục và kém hiệu quả trên những tập dữ liệu rời rạc
Các bước trong giải thuật mean-shift [7]:
(1-3)
Trang 281) Chọn cửa sổ tìm kiếm: vùng khởi tạo, loại (đa thức, hàm mũ, hay Gaussian), dạng (đối xứng hay lệch, tròn hay chữ nhật, khả năng xoay), kích thước (giới hạn hay có thể mở rộng)
2) Tính toán trọng tâm cửa sổ (window’s center of mass) với trọng số
3) Định tâm cửa sổ tại trọng tâm đã tìm được
4) Quay lại bước 2 cho đến khi cửa sổ dừng di chuyển
Từ các bước của giải thuật nhận thấy, khi có chuyển động, vùng cửa sổ thay đổi và ta phải tiến hành lại quá trình định tâm Quá trình này luôn hội tụ về một vector mean-shift của 0, nghĩa là không còn có dịch chuyển Vùng hội tụ nằm ở khu vực cực đại (đỉnh) phân bố bên trong cửa sổ Những cửa sổ kích thước khởi tạo khác nhau sẽ xác định các đỉnh khác nhau
Comaniciu [10] nhận thấy rằng có thể sử dụng mô hình tìm kiếm của giải thuật vào bài toán theo dõi đối tượng trong video Bởi vì histogram hai chiều của ảnh có dạng phân bố mật độ của một không gian hai chiều
Các phương trình của giải thuật mean-shift được đơn giản hóa khi áp dụng vào trường hợp ảnh 2D gồm [7]:
9 Trọng tâm phân bố pixel ảnh:
9 Mô men zero (zeroth moment):
9 Mô men bậc nhất (the first moment) :
(1-4)
(1-5)
(1-6)
Trang 29Có thể hình dung giải thuật mean-shift trong theo dõi đối tượng gồm ba bước Đầu tiên, chọn một phân bố đặc trưng để biểu diễn đối tượng Sau đó, tiến hành tìm cửa sổ mean-shift trên toàn bộ phân bố đặc trưng của đối tượng Cuối cùng, tính toán phân bố đặc trưng như đã lựa chọn qua frame kế tiếp
Giải thuật camshift (continuously adaptive mean-shit) gần tương tự như giải
thuật mean-shift Điểm khác biệt nằm ở chỗ mean-shift thiết kế cho các phân bố tĩnh còn camshift dùng cho trường hợp phân bố động Ví dụ trường hợp các đối tượng trong video di chuyển và thay đổi cả kích thước lẫn vùng phân bố đặc trưng theo thời gian Khi xử lý, giải thuật camshift sẽ tự động điều chỉnh kích thước cửa
sổ tìm kiếm cho phù hợp
Mean-shift và camshift là các phương pháp hiệu quả trong bài toán theo dõi đối tượng Ở [10], Comaniciu và Meer sử dụng MeanShift để theo dõi cầu thủ trong các trận đấu bóng và người đi lại tại ga tàu điện ngầm Tuy nhiên, nhược điểm là thời gian tính toán lớn, và do chỉ tối ưu hóa cục bộ nên khi màu nền và màu đối tượng ảnh gần giống nhau, phương pháp sẽ không còn tác dụng
1.4.3 Xây dựng bộ ước lượng
Giả sử nhiệm vụ đặt ra cho chúng ta là theo dõi người đi bộ ngang qua một camera Tại mỗi frame, tiến hành xác định vị trí của người di chuyển Sau đó, bằng cách nào đó, chúng ta thực hiện một dự đoán về vị trí của người đi bộ trong frame
kế tiếp Sự dự đoán này tất nhiên sẽ không thể chính xác tuyệt đối Nguyên nhân kể đến có rất nhiều, như sai số của thiết bị đo, việc tính toán xấp xỉ trong quá trình xử
lý sự xuất hiện của bóng hay người di chuyển bị che khuất, hay sự thay đổi hình dạng khi người đi bộ do tay hoặc chân của họ đu đưa Với bất kể nguyên nhân gì, chúng ta hy vọng phép đo sẽ chỉ thay đổi một cách ngẫu nhiên, xung quanh giá trị nhận được từ “thiết bị đo lý tưởng” Tức là, thay vì quan tâm đến các nguồn gây
Trang 30mất chính xác, chúng ta thay thế chúng bằng cách mô hình hóa các nguồn gây nhiễu trong quá trình xử lý
Quay trở lại với bài toán, chúng ta có khả năng ước lượng chuyển động của người bằng cách sử dụng tối đa những thông tin chúng ta đã đo được Theo cách như vậy, việc tích lũy thông tin theo quá trình sẽ giúp phát hiện được phần nào đó chuyển động không bị ảnh hưởng nhiều bởi nhiễu Điểm quan trọng ở đây là cần xây dựng được một mô hình cho chuyển động của người Chẳng hạn như giả thiết chuyển động của người với điều kiện “người tiến vào frame từ một hướng và đi ngang qua frame với vận tốc cố định” Khi xây dựng mô hình như vậy, chúng ta có thể yêu cầu không chỉ thông tin về vị trí của người mà cả những tham số khác của
mô hình với sự trợ giúp từ các quan sát hay phép đo của chúng ta
Hình 1-6 Hai pha chu trình ước lượng: dự báo dựa trên thông tin tiên nghiệm và
hiệu chỉnh theo thông tín đo lường mới [7]
Tóm lại, nhiệm vụ theo dõi đặt ra ở trên sẽ chia thành hai pha (hình 1-6) Trong pha thứ nhất, gọi là pha dự báo (prediction phase), chúng ta sử dụng thông
tin học được từ quá khứ để lọc ra từ mô hình của chúng ta vị trí tiếp theo của người
hay đối tượng Trong pha thứ hai, gọi là pha hiệu chỉnh (correction phase), chúng ta
Trang 31thực hiện phép đo mới và sau đó căn cứ vào giá trị này hiệu chỉnh lại dự đoán dựa trên phép đo trước đó
Phương pháp giải quyết bài toán theo dõi đối tượng như cách trên là phương pháp tiếp cận dựa trên suy luận xác suất [12]
Đầu tiên, thực hiện mô hình hóa đối tượng ảnh Khi đó có biểu diễn trạng thái đối tượng ở frame thứ i là một đại lượng ngẫu nhiên X i Các phép đo thu được ở frame thứ i cũng là những đại lượng ngẫu nhiên Y i , với giá trị phép đo là y i Ba vấn
đề cốt lõi gồm:
9 Dự báo (Prediction): Cần xác địnhtập giá trị y 0, y 1, …, y i-1 thu được tương ứng với trạng thái nào Để giải quyết vấn đề này, chúng ta mô tả một hàm mật độ xác suất, gọi là ước lượng tiên nghiệm
9 Liên kết dữ liệu (Data association): Một số phép đo từ frame thứ i-1 có thể
cho thông tin về trạng thái đối tượng, và thông thường được xác định theo
Từ những điều kiện trên, chúng ta có thể tiến hành bài toán theo dõi đối
tượng ảnh Trước hết, giả sử chúng ta có xác suất P(X 0 ) Khi tìm được giá trị Y 0, áp
dụng luật Bayes, chúng ta tính được P(X 0 /Y0=y0)
(1-7)
(1-8)
(1-9)
(1-10)
Trang 32Đồng thời, chúng ta cũng có các biểu diễn mới của các ước lượng tiên nghiệm và hậu nghiệm
Ưu điểm của kỹ thuật xây dựng bộ ước lượng là có thể kết hợp với giải thuật phát hiện đối tượng, phương pháp xử lý ảnh khác nhau tạo thành hệ thống theo dõi riêng phù hợp cho nhiều ứng dụng Nhược điểm là một số phương pháp ước lượng
có độ phức tạp trong tính toán cao như lọc Particle, lọc HMM (Hidden Markov
Trang 33Phân tích chuyển động là bước cuối cùng trong bài toán theo dõi đối tượng ảnh Nhiệm vụ của bước này là căn cứ vào những thông tin thu được và xác định trạng thái hiện tại của đối tượng Chẳng hạn như xác định xem đối tượng đang di chuyển lại gần hay ra xa vị trí camera quan sát, với chuyển động như vậy thì đối tượng sẽ tiến lại một vị trí đích nào đó sau bao lâu…
1.6 Kết luận
Trong các phương pháp được áp dụng vào bài toán theo dõi đối tượng ảnh trong video, mỗi phương pháp đều có điểm mạnh và điểm yếu riêng Tuy nhiên, với những ứng dụng mà môi trường theo dõi không quá phức tạp, cũng như đòi hỏi chi phí tính toán thấp, phương pháp lọc Kalman, nằm trong nhóm phương pháp xây dựng bộ ước lượng, vẫn cho thấy những ưu điểm nhất định
Về cơ bản, bộ lọc Kalman thực chất là một mở rộng của giải pháp LSE
(Least Squares Estimation) cho phép dự báo một cách hiệu quả mô hình chuyển
động của đối tượng Nó đã được sử dụng rộng rãi trong các ứng dụng về theo dõi đối tượng Baymer và Konolige [1] áp dụng Kalman dự báo vị trí và vận tốc đối tượng theo hai trục x-z R.Rosales và S.Sclaroff [27] sử dụng bộ lọc Kalman mở rộng ước lượng quỹ đạo 3D của một đối tượng chuyển động 2D
Một số ưu điểm chính của bộ lọc Kalman:
9 Cùng một bộ lọc có thể áp dụng cho nhiều đối tượng khác nhau chỉ thông qua việc thay đối một vài tham số Đây là một đặc tính cho phép Kalman dễ dàng áp dụng trong các bài toán theo dõi đối tượng khác nhau
9 Bộ lọc Kalman vẫn có thể hoạt động trong một số trường hợp quan sát không phát hiện được trong một số khung hình
9 Bộ lọc Kalman cho phép không những tối thiểu hóa lỗi gán quan sát đối tượng mà còn có khả năng mô hình hóa các nguồn nhiễu can thiệp trong quá trình theo dõi
Trang 34Từ những ưu điểm này, cùng với các phân tích đã trình bày, đề tài lựa chọn
bộ lọc Kalman để xây dựng module theo dõi đối tượng ảnh trong video
Trang 35CHƯƠNG II - THEO DÕI ĐỐI TƯỢNG ẢNH SỬ DỤNG BỘ LỌC KALMAN
Chương I đã xác định mục tiêu chính cần thực hiện của đề tài là nghiên cứu
và xây dựng module cho phép theo dõi một hoặc nhiều đối tượng ảnh cùng một lúc
và giải pháp lựa chọn để thiết kế module là bộ lọc Kalman Vì vậy, chương II sẽ tập trung trình bày cơ sở lý thuyết bộ lọc Kalman, các thành phần trong module cùng nhiệm vụ của chúng và những vấn đề liên quan khi áp dụng module vào bài toán theo dõi người chuyển động
2.1 Khó khăn và giả thiết
2.1.1 Những khó khăn
Khi thực hiện bài toán theo dõi đối tượng ảnh, sẽ gặp khá nhiều khó khăn, phức tạp, trước hết bắt nguồn từ đối tượng cần theo dõi và khung cảnh theo dõi:
9 Sự đa dạng của hình dáng và diện mạo bên ngoài của đối tượng:
Trong thực tế, đối tượng ảnh vô cùng phong phú Ví dụ, con người không giống nhau về đặc điểm bên ngoài như màu da, chiều cao, quần áo, và đặc
điểm cá nhân như tuổi tác, giới tính (hình 2-1)
Hình 2-1 Hình dạng và trang phục mỗi người khác nhau
9 Sự phức tạp của chuyển động:
Trang 36Trên video, đối tượng chuyển động có thể di chuyển ngang, dọc, tốc độ lúc nhanh, lúc chậm Và nếu đối tượng là con người, thì trong quá trình di
chuyển, còn thay đổi cả về tư thế và hướng vận động (hình 2-2)
Hình 2-2 Tư thế và hướng vận động của con người thay đổi liên tục
9 Những thay đổi về khung cảnh quan sát:
Môi trường trong đó có đối tượng chuyển động cũng biến thiên theo thời gian, do tác động của yếu tố ánh sáng, gió, những đối tượng khác và cả chính
bản thân đối tượng (hình 2-3)
Hình 2-3 Khung cảnh quan sát với nhiều yếu tố thay đổi: mây bay, ánh sáng mặt
trời, lá cây đu đưa, người đi lại
Trang 379 Đối tượng quan sát bị che lấp một phần hay toàn bộ:
Do vị trí đặt camera không thể bao quát toàn bộ cảnh vật theo nhiều hướng cùng một lúc nên sẽ xảy ra trường hợp mất quan sát khi các đối tượng di chuyển che lấp nhau hay đối tượng bị che lấp bởi những yếu tố từ môi trường
(hình 2-4)
Hình 2-4 Người đi bộ khuất sau cột đèn
Bên cạnh sự phức tạp của đối tượng chuyển động và khung cảnh quan sát, là những khó khăn đến từ yêu cầu và tài nguyên cần cung cấp của hệ thống:
9 Yêu cầu về tính thời gian thực:
Những ứng dụng trong thực tế đều đòi hỏi đáp ứng tính thời gian thực
(real-time) Tính chất này đặc biệt quan trọng với ứng dụng về giám sát an ninh, khi hệ
thống theo dõi thực hiện quan sát một khu vực, phải phát hiện người xâm nhập và hoạt động bất thường để có những cảnh báo tức thời
9 Yêu cầu về số lượng đối tượng theo dõi:
Có những ứng dụng chỉ yêu cầu quan sát từng đối tượng riêng lẻ (single
object), những có những ứng dụng lại đòi hỏi theo dõi nhiều đối tượng cùng một lúc
(multiple object) Nếu càng nhiều đối tượng quan sát, và như đã biết các đối tượng thường rất khác nhau (hình 2-1, hình 2-2), thì thuật toán xử lý của hệ thống sẽ càng phức tạp và đòi hỏi đáp ứng nhiều tài nguyên hơn Ví dụ, ở hình 2-4, chỉ có ba
Trang 38người di chuyển trong phạm vi quan sát, tuy nhiên trang phục ngoài khá giống
nhau, còn ở hình 2-3, có rất nhiều người với đầy đủ tư thế và hình dạng
9 Yêu cầu về camera quan sát:
Những bài toán theo dõi đối tượng hiện nay thường sử dụng quan sát thu
được qua một camera đặt cố định (static camera) Tuy nhiên, một số ứng dụng lại
yêu cầu xử lý với camera động, như camera đặt trên xe di chuyển, camera gắn trên
robot, camera quay quét (palt-tilt-zoom camera) Ngoài ra, có ứng dụng lại sử dụng
nhiều camera một lúc, đặt tại nhiều vị trí khác nhau [25]
Hình 2-5 Hệ thống theo dõi sử dụng nhiều camera [25]
2.1.2 Các giả thiết
Chính vì có nhiều khó khăn và phức tạp trong việc theo dõi đối tượng ảnh, đặc biệt với đối tượng là người, tùy vào từng kịch bản, tùy theo từng đối tượng cụ thể, khi thực hiện bài toán cần đặt ra các điều kiện về đối tượng theo dõi, cũng như điều kiện về khung cảnh và camera quan sát Hơn nữa, việc đặt điều kiện cho chuyển động và giới hạn đối tượng quan tâm sẽ giúp giảm thiểu nhiễu cũng như độ phức tạp không cần thiết Ví dụ, phần lớn các giải thuật theo dõi đều giả thiết đối
tượng chuyển động đều đặn, không thay đổi đột ngột (abrupt changes) Hoặc giả
thiết khác là đối tượng chuyển động với một vận tốc và gia tốc cố định Thông tin
Trang 39biết trước về kích thước và số lượng các đối tượng, hay hình dạng và đặc điểm bên ngoài của đối tượng cũng sẽ giúp đơn giản hóa bài toán Bên cạnh đó, điều kiện về khung cảnh và camera quan sát được sử dụng như là một yếu tố để xây dựng những giải pháp thích hợp và tối ưu hóa tài nguyên hệ thống
2.2 Module theo dõi đối tượng ảnh sử dụng bộ lọc Kalman
2.2.1 Phạm vi nghiên cứu
Dựa trên thông tin về các phương pháp theo dõi đối tượng ảnh đã và đang được phát triển, căn cứ vào những khó khăn và giả thiết của bài toán, với mục tiêu nghiên cứu một phương pháp có khả năng đáp ứng theo thời gian thực, đòi hỏi chi phí tính toán thấp, như đã đề cập ở các phần trình bày trên, đề tài sẽ tập trung xây dựng một mô hình sử dụng bộ lọc Kalman Đối tượng thử nghiệm là chuyển động của người và phạm vi thử nghiệm là thực hiện theo dõi một hoặc nhiều người di chuyển trong khung cảnh tĩnh với camera đặt cố định
2.2.2 Sơ đồ khối module
Đề tài đề xuất một hệ thống theo dõi đối tượng ảnh trong video với sơ đồ
khối như ở hình 2-6
Hệ thống bao gồm hai bước, phát hiện đối tượng và theo dõi đối tượng:
9 Bước 1- Phát hiện đối tượng: Bước này làm nhiệm vụ tìm các đối tượng chuyển động trong từng frame ảnh
Do trọng tâm của đề tài không phải là bài toán phát hiện đối tượng mà là bài toán theo dõi đối tượng nên đề tài sẽ lựa chọn một phương pháp đơn giản, phương pháp trừ nền, để thực hiện bước này
Ngoài ra, vì hệ thống cài đặt mang tính module hóa nên bất kỳ giải thuật phát hiện đối tượng nào khác cũng có thể được sử dụng thay thế
9 Bước 2 - Theo dõi đối tượng: Thực hiện dự báo vị trí của từng đối tượng cho frame tiếp theo
Trang 40Bước theo dõi đối tượng sử dụng bộ lọc Kalman, và đây là nội dung chính
mà đề tài đề cập tới.
Hình 2-6 Sơ đồ khối module theo dõi đối tượng ảnh sử dụng bộ lọc Kalman
Trong bước phát hiện đối tượng lại được chia thành hai khối: mô hình hóa nền và tách đối tượng chuyển động Khối mô hình hóa nền thực hiện xây dựng ảnh nền từ một số lượng nhất định những frame đầu vào Khối tách đối tượng chuyển động thực hiện trừ frame ảnh xử lý cho ảnh nền, sau đó áp dụng một số biện pháp lọc bỏ nhiễu, liên kết thành phần, đặt ngưỡng để thu về kết quả là các vùng chuyển động thỏa mãn điều kiện đặt ra, và cũng chính là đối tượng cần quan tâm trong frame ảnh xử lý
Bước theo dõi đối tượng được chia thành ba khối: dự báo vị trí của đối tượng, gán quan sát - đối tượng, cập nhật thông tin đối tượng Khối gán quan sát - đối tượng, căn cứ vào một số đặc trưng của đối tượng, như kích thước, màu sắc xác