Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman Phát hiện và vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc kalman
Trang 1TÓM TẮT
Phát hiện các đối tượng chuyển động, theo dõi và vẽ quỹ đạo chuyển động là các công đoạn quan trọng của nhiều ứng dụng thị giác máy tính, bao gồm các hệ thống giám sát an ninh, điều khiển giao thông, điều khiển tự động……
Trong luận văn này, sự phát hiện các đối tượng chuyển động sử dụng thuật toán trừ nền dựa trên phương pháp Gaussian hỗn hợp, các hoạt động giám sát được dựa trên kết quả mặt nạ giám sát để loại bỏ nhiễu Cuối cùng, phân tích Blob phát hiện nhóm các điểm ảnh được kết nối, tương ứng các đối tượng chuyển động
Sự liên kết các chuyển đô ̣ng được phát hiê ̣n vào đường đi của đối tượng được thực hiê ̣n dựa trên sự chuyển động Lọc Kalman được sử dụng để dự báo vị trí của đối tượng trong mỗi khung ảnh và đô ̣ tin câ ̣y được gán cho mỗi phát hiê ̣n
Bước cuối cùng của luận văn là vẽ quỹ đạo chuyển động của các đối tượng từ tâm của các theo dõi đã được gán
Hướng dẫn khoa học: PGS TS Dương Hoài Nghĩa
Chức danh: Giảng viên
Trang 2ABSTRACT
Detection of moving objects, tracking and drawing the trajectory of the moving objects are important components of many computer vision applications, including security monitoring systems, traffic control systems, automatic control systems…
In this thesis, the detection of moving objects uses a background subtraction algorithm based on Gaussian mixture models, monitoring operations are applied to the resulting foreground mask to eliminate noise Finally, Blob analysis detects groups of connected pixels, which are likely to correspond to moving objects
The linking of the detected motion to the path of the object is made based on the motion Kalman filtering is used to predict the location of the object in each frame and the reliability assigned to each detection
The final step of the thesis is to draw the trajectory of the objects from the center of the assigned tracks
Thesis Supervisor: Hoai Nghia Duong, PhD
Title: Lecturer
Trang 3MỤC LỤC
TRANG Trang tựa
Quyết định giao đề tài
Quyết định đổi tên đề tài
Lý lịch khoa học i
Lời cam đoan iii
Cảm tạ iv
Tóm tắt v
Mục lục vii
Danh sách các chữ viết tắt xi
Danh sách các hình xi
Chương 1 TỔNG QUAN 1
1.1 Tổng quan về đề tài và các kết quả nghiên cứu trong, ngoài nước 1
1.2 Mục tiêu nghiên cứu 3
1.3 Nhiệm vụ và giới hạn của đề tài 3
1.3.1 Nhiệm vụ của đề tài 3
1.3.2 Giới hạn của đề tài 3
1.4 Phương pháp nghiên cứu 3
1.5 Ý nghĩa thực tiễn của luận văn 4
1.6 Cấu trúc của luận văn 4
Chương 2 CƠ SỞ LÝ THUYẾT 5
2.1 Tổng quan về hệ thống camera quan sát 5
2.1.1 Cấu tạo chung của hệ thống camera quan sát 5
2.1.1.1 Camera 5
2.1.1.2 Đầu ghi hình 5
2.1.1.3 Ổ cứng HDD 6
2.1.1.4 Dây nguồn và dây tín hiệu 6
Trang 42.1.2 Ứng dụng của hệ thống camera quan sát 6
2.1.3 Hoạt động của hệ thống camera quan sát 7
2.2 Các vấn đề liên quan đến ảnh số 7
2.2.1 Điểm ảnh 7
2.2.2 Mức xám của ảnh 7
2.2.3 Định nghĩa ảnh số 8
2.2.4 Quan hệ giữa các điểm ảnh 8
2.2.5 Phân loại ảnh số 10
2.2.6 Màu sắc 11
2.3 Các vấn đề liên quan đến video số 13
2.3.1 Cấu trúc của video 13
2.3.2 Ưu, nhược điểm của video số 14
2.3.3 Đối tượng video 14
2.3.4 Chuyển động của đối tượng video 15
2.3.5 Bộ lọc trung vị (Median Filter) 16
2.3.6 Bộ lọc hình thái (Morphology Filter) 17
2.3.7 Phân tích BLOB 18
2.4 Các vấn đề liên quan đến phát hiện và theo dõi đối tượng chuyển động trong video 20
2.4.1 Ngưỡng 20
2.4.2 Ước lượng chuyển động 21
2.4.3 Dự đoán vị trí của đối tượng trong tương lai 22
2.4.4 So khớp đối tượng 23
2.4.5 Theo dõi đối tượng 24
2.4.6 Hiện tượng che phủ 25
2.4.7 Cập nhật đối tượng 26
2.5 Bộ lọc Kalman 26
Chương 3 PHÁT HIỆN CHUYỂN ĐỘNG 29
Trang 53.1 Giới thiệu sơ đồ khối của quá trình phân tích video giám sát 29
3.2 Một số phương pháp phát hiện chuyển động 29
3.2.1 Phương pháp so sánh sự khác biệt 30
3.2.2 Phương pháp trừ nền 31
3.2.3 Phương pháp Gaussian hỗn hợp 35
3.3 Sơ đồ khối phát hiện chuyển động 37
3.4 Kết quả mô phỏng 37
3.4.1 Phát hiện chuyển động bằng phương pháp trừ nền với ảnh nền không chứa đối tượng chuyển động 37
3.4.2 Phát hiện chuyển động bằng phương pháp trừ nền với ảnh nền có chứa đối tượng chuyển động 40
3.4.3 Phát hiện đối tượng chuyển động sử dụng thuật toán trừ nền dựa trên phương pháp Gaussian hỗn hợp 41
Chương 4 THEO DÕI VÀ VẼ QUỸ ĐẠO CHUYỂN ĐỘNG 42
4.1 Giải thuật theo dõi và vẽ quỹ đạo chuyển động 42
4.2 Phân tích giải thuật 43
4.2.1 Khối rút trích mô hình đối tượng 43
4.2.2 So khớp đối tượng 44
4.2.3 Thêm mới đối tượng 45
4.2.4 Cập nhật đối tượng và tâm hiệu chỉnh 46
4.2.5 Ước lượng đối tượng hoặc loại bỏ đối tượng mất dấu 46
4.2.6 Dự đoán vị trí của đối tượng 47
4.2.7 Lưu tâm và vẽ quỹ đạo chuyển động 47
4.3 Vai trò của bộ lọc Kalman trong theo dõi và vẽ quỹ đạo chuyển động của đối tượng 47
4.4 Kết quả mô phỏng 49
4.4.1 Trong vùng quan sát của camera chỉ có một đối tượng chuyển động 50
4.4.2 Trong vùng quan sát của camera có nhiều đối tượng chuyển động không giao nhau 56
Trang 64.4.3 Trong vùng quan sát của camera có các đối tượng chuyển động bị che
khuất hoặc giao nhau 63
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68
5.1 Kết luận 68
5.2 Hướng phát triển 68
Tài liệu tham khảo 70
Trang 7DANH SÁCH CÁC CHỮ VIẾT TẮT
CCTV Closed-circuit television – Truyền hình kép kín
HDD Hard Disk Drive - Ổ đĩa cứng
RGB Red Green Blue - Đỏ, xanh lá cây, xanh dương
HSV Hue Saturation Value – Màu sắc, độ bảo hòa, giá trị
BLOB Binary Large Object - Đối tượng nhị phân lớn
Trang 8DANH SÁCH CÁC HÌNH
Hình 2.1: Lân cận các điểm ảnh của tọa độ (x,y) 9
Hình 2.2: Mô hình màu RGB 12
Hình 2.3: Mô hình màu HSV 12
Hình 2.4: Mô hình cấu trúc của video 13
Hình 2.5: Chuỗi ảnh 14
Hình 2.6: Cách thức hoạt động của lọc trung vị 16
Hình 2.7: Minh họa hiệu ứng giãn nở của thao tác Hit 17
Hình 2.8: Minh họa hiệu ứng xói mòn của thao tác Fit 18
Hình 2.9: Ảnh đầu vào và ảnh đầu ra của thuật toán Grass – Fire 19
Hình 2.10: Vectơ dịch chuyển d 21
Hình 2.11: Minh họa thuật toán cập nhập vị trí khi hai đối tượng giao nhau 25
Hình 2.12: Chu trình bộ lọc Kalman 26
Hình 3.1: Sơ đồ khối của quá trình phân tích video giám sát 29
Hình 3.2: Minh họa kết quả so sánh sự khác biệt 31
Hình 3.3: Sơ đồ xử lý trong bộ phát hiện chuyển động bằng phương phát trừ nền 32
Hình 3.4: Bóng ma trong phương pháp trừ nền 35
Hình 3.5: Sơ đồ khối phát hiện chuyển động 37
Trang 9Hình 3.6: Phát hiện chuyển động bằng phương pháp trừ nền với kết quả với chưa
được xử lý 38
Hình 3.7: Phát hiện chuyển động bằng phương pháp trừ nền sử dụng bộ lọc Median
với cửa sổ [5 5] và loại bỏ các vùng có kích thước nhỏ hơn 100 38
Hình 3.8: Phát hiện chuyển động bằng phương pháp trừ nền sử dụng bộ lọc Median
với cửa sổ [3 3] và loại bỏ các vùng có kích thước nhỏ hơn 500 39
Hình 3.9: Phát hiện chuyển động bằng phương pháp trừ nền sử dụng bộ lọc Median
với cửa sổ [3 3] và loại bỏ các vùng có kích thước nhỏ hơn 1000 39
Hình 3.10: Phát hiện chuyển động bằng phương pháp trừ nền sử dụng bộ lọc
Median với cửa sổ [5 5] và loại bỏ các vùng có kích thước nhỏ hơn 1400 39
Hình 3.11: Phát hiện chuyển động bằng phương pháp trừ nền (nền có chứa đối
tượng) sử dụng bộ lọc Median với cửa sổ [5 5] và loại bỏ các vùng có kích thước nhỏ hơn 1400 40
Hình 3.12: Phát hiện chuyển động sử dụng thuật toán trừ nền dựa trên phương pháp
Gaussian hỗn hợp 41
Hình 4.1: Giải thuật theo dõi và vẽ quỹ đạo chuyển động 42
Hình 4.2: Ảnh thật và ảnh rút trích đối tượng khi chưa xuất hiện đối tượng chuyển
động (khung hình thứ 4 của đoạn video motnguoi.avi) 50
Hình 4.3: Ảnh thật và ảnh rút trích đối tượng khi xuất hiện đối tượng chuyển động
nhưng chưa được gán nhãn (khung hình thứ 38 của đoạn video motnguoi.avi) 51
Hình 4.4: Ảnh thật và ảnh rút trích đối tượng của một đối tượng chuyển động
(khung hình thứ 107 của đoạn video motnguoi.avi) 51
Trang 10Hình 4.5: Ảnh thật và ảnh rút trích đối tượng của một đối tượng chuyển động
(khung hình thứ 328 của đoạn video motnguoi.avi) 52
Hình 4.6: Ảnh thật và ảnh rút trích đối tượng của một đối tượng chuyển động
(khung hình thứ 524 của đoạn video motnguoi.avi) 52
Hình 4.7: Ảnh thật và ảnh rút trích đối tượng của một đối tượng chuyển động
(khung hình thứ 633 của đoạn video motnguoi.avi) 52
Hình 4.8: Ảnh thật và ảnh rút trích đối tượng khi đối tượng chuyển động ra khỏi
vùng quan sát (khung hình thứ 784 của đoạn video motnguoi.avi) 53
Hình 4.9: Quỹ đạo chuyển động của một đối tượng trong đoạn video
motnguoi.avi 55
Hình 4.10: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động
không giao nhau (khung hình thứ 66 của đoạn video hainguoi.avi) 56
Hình 4.11: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động
không giao nhau (khung hình thứ 231 của đoạn video hainguoi.avi) 57
Hình 4.12: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động
không giao nhau (khung hình thứ 389 của đoạn video hainguoi.avi) 57
Hình 4.13: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động
không giao nhau (khung hình thứ 545 của đoạn video hainguoi.avi) 57
Hình 4.14: Quỹ đạo chuyển động của hai đối tượng không giao nhau trong đoạn
video hainguoi.avi 58
Hình 4.15: Ảnh thật và ảnh rút trích đối tượng của ba đối tượng chuyển động không
giao nhau (khung hình thứ 40 của đoạn video banguoi.avi) 60
Trang 11Hình 4.16: Ảnh thật và ảnh rút trích đối tượng của ba đối tượng chuyển động không
giao nhau (khung hình thứ 125 của đoạn video banguoi.avi) 60
Hình 4.17: Ảnh thật và ảnh rút trích đối tượng của 3 đối tượng chuyển động không
giao nhau (khung hình thứ 227 của đoạn video banguoi.avi) 60
Hình 4.18: Quỹ đạo chuyển động của ba đối tượng không giao nhau trong đoạn
video banguoi.avi 61
Hình 4.19: Ảnh thật và ảnh rút trích đối tượng của người và xe chuyển động không
giao nhau (khung hình thứ 220 của đoạn video nguoivaxe.avi) 62
Hình 4.20: Ảnh thật và ảnh rút trích đối tượng của người và xe chuyển động không
giao nhau (khung hình thứ 303 của đoạn video nguoivaxe.avi) 62
Hình 4.21: Ảnh thật và ảnh rút trích đối tượng của người và xe chuyển động không
giao nhau (khung hình thứ 452 của đoạn video nguoivaxe.avi) 62
Hình 4.22: Quỹ đạo chuyển động của người và xe trong đoạn video
nguoivaxe.avi 63
Hình 4.23: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động vừa
mới giao nhau (khung hình thứ 309 của đoạn video giaonhau.avi) 64
Hình 4.24: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động vừa
mới giao nhau (khung hình thứ 449 của đoạn video giaonhau.avi) 64
Hình 4.25: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động vừa
mới giao nhau (khung hình thứ 629 của đoạn video giaonhau.avi) 64
Hình 4.26: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng giao nhau hợp
thành một đối tượng (khung hình thứ 470 của đoạn video giaonhau.avi) 65
Trang 12Hình 4.27: Ảnh thật và ảnh rút trích đối tượng của hai đối tượng chuyển động được
tách ra từ một đối tượng giao nhau trước đó (khung hình thứ 530 của đoạn video giaonhau.avi) 66
Hình 4.28: Quỹ đạo chuyển động của các đối tượng giao nhau trong đoạn video
giaonhau.avi 66
Trang 13Chương 1
TỔNG QUAN 1.1 Tổng quan về đề tài và các kết quả nghiên cứu trong, ngoài nước
Vào những năm 1960, việc xử lý ảnh số đã ra đời như nén ảnh, nhận dạng…
và gần đây nhất cùng với sự ra đời của nhiều trang thiết bị hiện đại thì xử lý video
đã mang lại nhiều tiện ích cho cuộc sống Ngày nay, việc nghiên cứu ảnh số và video số đã khá phổ biến ở các nước tiên tiến nhưng ở nước ta lĩnh vực này cũng còn tương đối mới mẽ Khi năng lực tính toán của máy tính ngày càng trở nên mạnh
mẽ hơn, máy tính có thể xử lý được các hình ảnh, các đoạn video thì xử lý ảnh còn được gọi là thị giác máy tính
Phát hiện, theo dõi và vẽ quỹ đạo của các đối tượng chuyển động trong video
đã được ứng dụng rộng rãi trong giám sát, an ninh và vấn đề quan sát trong khoa học tự nhiên và trong các lĩnh vực khác Video giám sát cho mục đích an ninh là một trong những ứng dụng chính Phát hiện, theo dõi và vẽ quỹ đạo chuyển động của các đối tượng được ưu tiên cao ở những nơi tôn giáo, các tòa nhà mua sắm, tòa
án, trạm xe lửa và sân bay Nhiều ứng dụng khác bao gồm quân sự, thiên văn học, luật giao thông đường bộ, robot, ảnh y khoa
Việc phân tích video giám sát về cơ bản bao gồm 3 bước chính:
Phát hiện chuyển động: trong thị giác máy tính là công việc phân đoạn ảnh
để tách các đối tượng chuyển động ra khỏi nền Phát hiện chuyển động là hướng nghiên cứu dành được rất nhiều sự quan tâm vì khả năng ứng dụng của nó Phát hiện chuyển động sử dụng kỹ thuật trừ nền là phương pháp khá phổ biến và đã được nghiên cứu trong [1], [2], [3], [10], [11], [12], [20]… Kỹ thuật này đòi hỏi ảnh nền tham chiếu có cùng đô ̣ sáng với ảnh video cần xử lý Sự khác biê ̣t về đô ̣ sáng giữa ảnh nền và ảnh video cần xử lý dẫn đến toàn bộ khung ảnh video bị xem là vùng chuyển động nên không thể phát hiện được đối tượng chuyển động Các trường hợp đối tượng đứng yên trong ảnh video nhưng không có trong ảnh nền hoă ̣c đối tượng
Trang 14đứng yên trong ảnh nền nhưng không có trong ảnh video đều bi ̣ nhâ ̣n diê ̣n sai là đối tượng chuyển động Kỹ thuật trừ ảnh hiện tại và ảnh trước đó để phát hiện đối tượng chuyển động đã được nghiên cứu trong [2], [3], [21] Tuy nhiên kết quả thu được cũng kém chính xác đối với trường hợp có đối tượng xuất hiện sau đó đứng yên trong các khung hình đang xét hoặc đối tượng đứng yên trong ảnh nền di chuyển ra khỏi ảnh nền thì tại vị trí đó sẽ luôn bị nhận diện sai là đối tượng chuyển động Phương pháp Gaussian hỗn hợp dựa vào lý thuyết xác xuất để xây dựng mô hình nền dùng trong phát hiện đối tượng chuyển động đã được nghiên cứu trong [2], [13], [22] Phương pháp dòng quang học dựa vào các vectơ chuyển động để phát hiện đối tượng chuyển động đã được nghiên cứu trong [3], [11], [23]
Theo dõi đối tượng: là ước lượng chuyển động của đối tượng trong mặt phẳng ảnh khi nó chuyển động quanh cảnh, các chỉ số đối tượng thích hợp được gán cho các đối tượng được theo dõi qua các khung ảnh của video giám sát Có nhiều phương pháp được áp dụng để theo dõi đối tượng như: Mean Shift, Cam Shift, bộ lọc Kalman đã được nghiên cứu trong [1], [2], [3],[12] trong đó bộ lọc Kalman được sử dụng phổ biến nhất
Vẽ quỹ đạo chuyển động: là lưu lại tâm của các đối tượng được theo dõi trong từng khung ảnh của video giám sát, khi xử lý xong toàn bộ video ta sẽ thu được quỹ đạo chuyển động để phân tích hành vi của chúng
Từ tình hình nghiên cứu như trên, với mong muốn giúp các hệ thống giám sát đạt hiệu quả cao hơn như chỉ rút trích các đối tượng chuyển động trong từng ảnh mà không cần quan tâm đến nền và cuối cùng là vẽ được quỹ đạo của các đối tượng chuyển động cần quan tâm để ta có thể phân tích hành vi của chúng nên tôi thực hiện đề tài “Phát hiện vẽ quỹ đạo chuyển động trong xử lý ảnh dùng bộ lọc Kalman”
1.2 Mục tiêu nghiên cứu
Xây dựng các chương trình mô phỏng có khả năng phát hiện chuyển động, theo dõi và vẽ quỹ đạo của các đối tượng chuyển động được theo dõi qua các khung hình trong video giám sát do camere tĩnh thu được trong điều kiện ánh sáng ít thay đổi
Trang 151.3 Nhiệm vụ và giới hạn của đề tài
1.3.1 Nhiệm vụ của đề tài
- Phát hiện tất cả các đối tượng chuyển động trong video mà không phân biệt là người, vật hay xe cộ…
- Theo dõi các đối tượng chuyển động cần quan tâm
- Vẽ quỹ đạo chuyển động của các đối tượng được theo dõi
1.3.2 Giới hạn của đề tài
Các video được quay bởi camera tĩnh trong điều kiện ánh sáng ít thay đổi
Độ chính xác ở mức tương đối do kết quả cuối cùng là sự tổng hợp của nhiều khâu xư lý như phát hiện đối tượng chuyển động, theo dõi đối tượng cần quan tâm
và vẽ quỹ đạo chuyển động của chúng
Xử lý các khung hình có độ phân giải vừa phải để đảm thời gian xử lý không quá lâu
Đề tài chỉ xây dựng chương trình mô phỏng trên máy tính không thi công phần cứng
1.4 Phương pháp nghiên cứu
Sử dụng phương pháp phân tích và tổng hợp lý thuyết, cụ thể là tìm hiểu các tài liệu có liên quan đến đề tài để đưa ra những nhận định và rút ra được nội dung cần trình bày trong luận văn Tìm hiểu các kết quả nghiên cứu đã công bố trong nước và quốc tế
Sử dụng phương pháp mô hình hóa Dựa vào mô hình thuật toán trừ nền, phương pháp Gaussian hỗn hợp và bộ lọc Kalman… để phát hiện, theo dõi và vẽ quỹ đạo chuyển động của đối tượng Người nghiên cứu sử dụng các hàm có sẵn dành cho xử lý ảnh kết hợp với ngôn ngữ lập trình C để xây dựng các chương trình
mô phỏng trên phần mềm Matlab
Sử dụng phương pháp quan sát, phân tích, tổng kết kinh nghiệm Sau khi xây dựng và chạy các chương trình mô phỏng, người nghiên cứu tiến hành phân tích các kết quả thu được và điều chỉnh lại các thông số hoặc cải tiến chương trình mô phỏng để thu được kết quả mô phỏng tốt nhất
Tổng hợp viết báo cáo
Trang 161.5 Ý nghĩa thực tiễn của luận văn
Nghiên cứu về phát hiện, theo dõi đối tượng chuyển động để từ đó vẽ quỹ đạo chuyển động của chúng trong vùng quan sát là những bước quan trọng trong phân tích video giám sát do camera tĩnh thu được và có ứng dụng quan trọng trong thực tiễn
Hiện nay, việc nghiên cứu về xử lí video số ở nước ta đang được tiến hành với các đề tài về giám sát giao thông và theo vết đối tượng bằng lưới Đồng thời việc nghiên cứu thành công đề tài này sẽ góp phần kiểm chứng phương pháp phát hiện chuyển động bằng phương pháp trừ nền kết hợp phương pháp mô hình Gaussian hỗn hợp và kỹ thuật theo dõi đối tượng bằng các thuật toán của bộ lọc Kalman để thu được sản phẩm cuối cùng là quỹ đạo chuyển động của các đối tượng trong video giám sát
Kết quả nghiên cứu của đề tài là dữ liệu đầu vào của các công trình nghiên cứu khác như kết hợp với phương pháp phân lớp đối tượng và nhận dạng khuôn mặt ta
có thể theo dõi được các đối tượng là người mà ta cần giám sát trong một số trường hợp cần thiết
Đề tài góp phần tạo nền tảng cho các ứng dụng trong lĩnh vực thị giác máy tính Đề tài có thể được ứng dụng ngay vào lĩnh vực giám sát an ninh để quan sát các đối tượng ra vào cơ quan, dựa vào quỹ đạo chuyển động có thể biết được đối tượng vào đường nào và ra đường nào, hoặc ứng dụng vào lĩnh vực sản xuất để đo đếm hàng hóa, sản phẩm
1.6 Cấu trúc của luận văn
Với mục tiêu cần nghiên cứu như trên thì các chương tiếp theo của luận văn có nội dụng như sau:
Chương 2: Cơ sở lý thuyết
Chương 3: Phát hiện chuyển động
Chương 4: Theo dõi và vẽ quỹ đạo chuyển động
Chương 5: Kết luận và hướng phát triển
Trang 17Chương 2
CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về hệ thống camera quan sát
Camera quan sát hay camera giám sát, camera an ninh (Closed-circuit television - CCTV), là việc sử dụng các máy quay video để truyền tín hiệu đến một nơi cụ thể, trên một số màn hình giới hạn Nó khác với truyền hình phát sóng trong
đó các tín hiệu được truyền không công khai Những thiết bị cơ bản của một bộ camera quan sát là: Camera quan sát, ổ cứng HDD (giúp lưu trữ dữ liệu cho hoạt động của camera quan sát), dây nguồn và dây tín hiệu, màn hình và các phụ kiện khác
2.1.1 Cấu tạo chung của hệ thống camera quan sát
2.1.1.1 Camera
Là bộ phận chính của hệ thống camera quan sát, nó có vai trò quan trọng nhất Chức năng thu nhận và ghi lại hình ảnh diễn ra xung quanh nó Tùy theo từng điều kiện mà có thể lắp đặt các loại camera sao cho phù hợp như camera màu – quan sát hiện tượng trong điều kiện lí tưởng, camera quay quét có thể chụp lại hình ảnh một cách nhanh nhạy, camera hồng ngoại chụp ảnh trong điều kiện ánh sáng yếu và camera ip (hay còn gọi là camera mạng): được kết nối trực tiếp vào mạng, tín hiệu hình ảnh và điều khiển được truyền qua mạng Với camera ip người dùng
có thể điều khiển và giám sát ở bất cứ đâu thông qua mạng internet, khi lắp đặt camera ip người ta thường sử dụng dây mạng, ngoài ra dòng camera ip còn có loại
sử dụng WIFI, khi lắp đặt camera không cần sử dụng dây (nhưng vẫn phải có dây nguồn) Loại camera WIFI này có tính ổn định và an toàn không cao
Trang 18sát Ngoài ra chúng ta có thể chú ý thêm một số chức năng quan trọng khác của đầu ghi hình như:
- Đầu ghi hình giúp kết nối internet: người sử dụng có thể truy cập đầu ghi thông qua mạng internet
- Audio: người sử dụng có thể dùng đầu ghi như là công cụ truyền âm thanh
2.1.1.4 Dây nguồn và dây tín hiệu
Dây nguồn giúp duy trì hoạt động của các camera quan sát ở các vị trí Nếu
hệ thống lớn, kết cấu địa hình đơn giản có thể sử dụng nguồn tổng cho hệ thống camera Tuy nhiên nếu hệ thống cần quan sát liên tục chúng ta nên dùng nguồn rời
để đảm bảo mức độ ổn định cho toàn hệ thống và tránh ảnh hưởng đến chất lượng của toàn hệ thống khi lỗi hỏng một thiết bị nào đó
Dây tín hiệu giúp truyền tín hiệu quan sát ổn định Với camera tương tự thường sử dụng là cáp đồng trục Tuy nhiên cũng phải nói rõ với hệ thống có khoảng cách lớn dù dây tín hiệu có tốt như thế nào vẫn cần có bộ khuyếch đại tín hiệu để tránh nhiễu tín hiệu truyền về cũng như giảm được các tín hiệu nhiễu sóng, mất hoặc mờ hình ảnh camera quan sát
2.1.2 Ứng dụng của hệ thống camera quan sát
Thông thường hệ thống camera thường được áp dụng trong những công trình
lớn Tuy nhiên, trong các công trình nhà thông minh thì hệ thống camera chống
trộm cũng đặc biệt hữu dụng
Ngân hàng, kho, siêu thị, trạm xăng dầu
Các khu chung cư, khách sạn, văn phòng, bệnh viện, khu vực buôn bán Bãi đỗ xe, hành lang cửa ra vào, thang máy
Trang 192.1.3 Hoạt động của hệ thống camera quan sát
Camera sẽ được bố trí tại những nơi dễ quan sát, tại đây camera sẽ liên tục thu nhận và truyền thông tin về tại trung tâm điều khiển Toàn bộ hình ảnh này được lưu trữ trong bộ nhớ và hiển thị trên các màn hình quan sát
Hệ thống CCTV của hệ thống camera quan sát cho phép bảo vệ, nhân viên
an ninh có thể quan sát được để khi có bất kì sự cố nào có thể nắm bắt kịp thời, hoặc
có thể làm bằng chứng quan trọng trước pháp luật Ngày nay, hệ thống hiện đại này giúp cho việc lưu trữ xem lại cũng như sao lưu các tài liệu cực kì dễ dàng Không những thế có thể thao tác từ xa kịp thời khiến người sử dụng có thể chủ động hơn nhiều
2.2 Các vấn đề liên quan đến ảnh số
2.2.1 Điểm ảnh
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử
lý bằng máy tính, ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là pixel Trong khuôn khổ ảnh hai
chiều, mỗi pixel ứng với cặp tọa độ (x, y)
Định nghĩa: Điểm ảnh là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần
tử ảnh
2.2.2 Mức xám của ảnh
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và độ xám của nó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh:
Trang 20- Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó
- Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255)
- Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau
- Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 21
mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc
- Ảnh tương tự được chia thành M hàng và N cột
- Giao của hàng và cột gọi là pixel
- Giá trị biên độ của pixel tại tọa độ nguyên (m,n) là s(m,n): là trung bình độ sáng trong pixel đó s(m,n) ≤ L (L số mức xám dùng để biểu diễn ảnh)
2.2.4 Quan hệ giữa các điểm ảnh
Một ảnh số giả sử được biểu diễn bằng hàm f(x, y) Tập con các điểm ảnh là S; cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q Chúng ta nêu một số các khái niệm sau
a) Các lân cận của điểm ảnh:
- Giả sử có điểm ảnh p tại toạ độ (x, y) p có 4 điểm lân cận gần nhất theo chiều đứng và ngang (có thể coi như lân cận 4 hướng chính: Đông, Tây, Nam, Bắc)
Trang 21{(x-1, y); (x, y-1); (x, y+1); (x+1, y)} = N4(p) trong đó: số 1 là giá trị logic; N4(p) tập 4 điểm lân cận của p
Nam Đông x Tây
(x -1, y-1) (x, y-1) (x+1, y-1)
y (x -1, y) (x, y) (x+1, y)
Hình 2.1: Lân cận các điểm ảnh của tọa độ (x,y) [7]
- Các lân cận chéo: Các điểm lân cận chéo NP(p) (Có thể coi lân cận chéo là 4 hướng: Đông-Nam, Đông-Bắc, Tây-Nam, Tây-Bắc)
Np(p) = { (x+1, y+1); (x+1, y-1); (x-1, y+1); (x-1, y-1)}
- Tập kết hợp: N8(p) = N4(p) + NP(p) là tập hợp 8 lân cận của điểm ảnh p
- Chú ý: Nếu (x, y) nằm ở biên (mép) ảnh; một số điểm sẽ nằm ngoài ảnh
b) Các mối liên kết điểm ảnh
Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượng vật thể hoặc xác định vùng trong một ảnh Một liên kết được đặc trưng bởi tính liền kề giữa các điểm và mức xám của chúng
Giả sử V là tập các giá trị mức xám Một ảnh có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 được mô tả như sau:
Trang 22- Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi là liên kết m nếu q thuộc N4(p) hoặc q thuộc NP(p)
c) Đo khoảng cách giữa các điểm ảnh
Định nghĩa: Khoảng cách D(p, q) giữa hai điểm ảnh p tọa độ (x, y), q tọa độ (s, t) là hàm khoảng cách (Distance) hoặc Metric nếu:
1 D(p, q) ≥ 0 (Với D(p, q) = 0 nếu và chỉ nếu p = q)
2 D(p, q) = D(q, p)
3 D(p, z) ≤ D(p, q) + D(q, z); z là một điểm ảnh khác
Khoảng cách Euclide: Khoảng cách Euclide giữa hai điểm ảnh p(x, y) và
q(s,t) được định nghĩa như sau [7]:
De(p, q) = [(x - s)2 + (y - t)2]1/2 (2.1)
Khoảng cách khối: Khoảng cách D4(p, q) được gọi là khoảng cách khối đồ thị (City- Block Distance) và được xác định như sau [7]:
D4(p, q) = | x - s | + | y - t | (2.2) Giá trị khoảng cách giữa các điểm ảnh r: giá trị bán kính r giữa điểm ảnh từ tâm điểm ảnh đến tâm điểm ảnh q khác
Khoảng cách D8(p, q) còn gọi là khoảng cách bàn cờ (Chess-Board Distance) giữa điểm ảnh p, q được xác định như sau [7]:
D8(p, q) = max (| x - s | , | y - t |) (2.3)
2.2.5 Phân loại ảnh số
Người ta thường chia ảnh số ra làm 3 loại chính:
- Ảnh nhị phân: ảnh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical Mỗi điểm ảnh chỉ có thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng) (còn gọi
là ảnh đen trắng)
- Ảnh grayscale (ảnh đa mức xám): mỗi ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử cho biết độ sáng (hay mức xám) của điểm ảnh đó Ma trận này có thể là một trong các kiểu uint 8, uint 16 hoặc double, ảnh xám có một đặc trưng là lược đồ xám (histogram)
Trang 23- Ảnh RGB: còn gọi là ảnh “ truecolor” do tính trung thực của nó Ảnh được biểu diễn bởi một ma trận ba kích thước m x n x 3 chiều với m x n là kích thước ảnh theo pixel Ma trận này định nghĩa các thành phần màu red, green, blue cho mỗi điểm ảnh, các phần tử của nó có thể thuộc kiểu uint 8, uint 16 hoặc double
Như vậy ảnh màu là ảnh mang thông tin về đối tượng đầy đủ nhất so với ảnh đen trắng và ảnh đa cấp xám Tuy nhiên, tất cả cách biểu diễn này đều chỉ là sự mô phỏng hệ màu trong tự nhiên Thực tế thì một màu được phân biệt qua 3 thuộc tính
là độ chói (Itensity), sắc thái màu (Hue) và độ bão hòa (Saturation) Tuy nhiên với khả năng cảm nhận của mắt người thì cách biểu diễn ảnh dưới dạng cấu trúc 3 màu RGB chất lượng ảnh thu được là có thể chấp nhận được
2.2.6 Màu sắc
Màu sắc được tạo ra bởi các ánh sáng với các bước sóng khác nhau, mắt người bao gồm ba loại tế bào cảm nhận màu có thể nhìn được bảy triệu màu nhưng thực chất chúng ta chỉ có thể cảm nhận sự khác biệt vài ngàn màu Một màu có thể được biểu diễn bởi ba thuộc tính: Sắc thái màu, độ bão hòa, và độ chói
Trong xử lý ảnh và đồ họa, mô hình màu là một chỉ số kỹ thuật của một hệ tọa
độ màu 3 chiều có thể dùng để biểu diễn tất cả các màu Ví dụ như mô hình màu RGB (Red, Green, Blue): là một đơn vị tập các màu thành phần sắp xếp theo hình lập phương của hệ trục tọa độ Đề các
Mục đích của mô hình màu là cho phép biểu diễn một phần các màu nhìn thấy được bằng các chỉ số kỹ thuật quy ước Sau đây, ta xem xét một số mô hình hay được sử dụng nhất
Mô hình màu RGB
Màu đỏ, lục – xanh lá cây, lam – xanh da trời (RGB) được sử dụng phổ biến nhất trong hiển thị Các màu gốc này được tổ hợp với nhau theo một tỷ lệ để tái tạo màu sắc, hệ màu này sử dụng phối màu cộng Tập hợp các màu được sắp xếp theo khối lập phương đơn vị Đường chéo chính của khối lập phương thể hiện các màu được phối bởi ba màu gốc với tỷ lệ tương đương nhau ứng với các mức độ xám từ đen là (0,0,0) đến trắng (1,1,1)
Trang 24Hình 2.2: Mô hình màu RGB [6]
Mô hình màu HSV (Hue, Saturation, Value)
Mô hình màu RGB có thể hiển thị được tất cả các màu cần thiết, tuy vậy rất khó khắn để con người có thể phối màu trên hệ màu này Để phối màu dễ dàng hơn Smith định nghĩa mô hình màu HSV dựa trên cơ sở nền tảng trực giác về tông màu, sắc độ và sắc thái mỹ thuật
Hệ thống tọa độ có dạng hình trụ và tập màu của không gian bên trong mô hình màu được xác định là hình nón như hình 2.3
Hình 2.3: Mô hình màu HSV [6]
Sắc màu (hue) hoặc H được đo bởi góc quanh trục đứng với màu đỏ là 0o, màu lục là 120o, màu lam là 240o Các màu bù nằm ở vị trí đối diện với những màu gốc
S lấy giá trị từ 0 trên đường trục tâm (trục V) đến 1 trên các mặt bên của hình chóp
6 cạnh Sự bão hòa được hiểu là mức độ tươi của màu, các màu xám từ đen đến
Trang 25trắng có S là 0 Giá trị V được hiểu là độ sáng của màu, V là 0 thì là màu đen, V là
1 thì là màu có độ sáng tối đa
Chúng ta có thể chuyển đổi qua lại giữa hai mô hình màu RGB và HSV
2.3 Các vấn đề liên quan đến video số
2.3.1 Cấu trúc của video
Video được cấu thành từ một tập liên tiếp các khung hình (frame), còn được gọi là ảnh, ghi nhận lại các hình ảnh quan sát được của các sự kiện xảy ra trong một khoảng thời gian, cả hai dạng tín hiệu video thông dụng là: tín hiệu tuần tự và tín hiệu video số Trong luận văn này, hình ảnh thu được từ camera là tín hiệu số và bỏ qua phần tín hiệu âm thanh của video
Mô hình cấu trúc một video bao gồm các thành phần sau:
Hình 2.4: Mô hình cấu trúc của video [4]
- Frame - khung hình là thành phần cơ bản trong chuỗi video Mỗi khung hình tương ứng với một ảnh trong thế giới thực tại một thời điểm xác định
- Shot là một dãy các khung hình liên tiếp được camera ghi nhận không có sự ngắt quãng nào xảy ra Shot là một đơn vị cơ bản để xây dựng phân tích nội dung video
- Các shot liên tiếp nhau được kết hợp lại thành một scene (cảnh) dựa trên nội dung
- Tất cả các scene tạo thành một video
Trang 262.3.2 Ưu, nhược điểm của video số
Nhược điểm của video số đó là nó đòi hỏi khối lượng lưu trữ lớn và băng thông rộng để truyền tải Do đó hiện nay người ta đang nghiên cứu các phương pháp nén video để giảm kích thước khi truyền tải
Tuy có nhược điểm về yêu cầu bộ nhớ lớn nhưng video số lại có nhiều ưu điểm quan trọng Nó cho phép chọn kênh, chỉnh tới lui, quay nhanh chậm rất dễ dàng Ngoài ra, ta còn có thể chỉnh sửa, tạo các hiệu ứng đẹp trên tín hiệu video số Video số không chỉ có vai trò giải trí mà nó còn cung cấp cho chúng ta nhiều thông tin quan trọng trong nhiều lĩnh vực như là các ảnh giám sát quân sự, điều khiển giao thông và rút trích thông tin từ các dữ liệu ảnh và video
2.3.3 Đối tượng video
Xét đoạn video quay một khung cảnh, đối tượng trong đoạn video hay ngắn gọn là đối tượng video là những thành phần có ý nghĩa đầy đủ trong khung cảnh đó Khái niệm đối tượng video rất linh động, nó có thể là bất kì thành phần trong khung cảnh, miễn sao đó là thành phần mà ta quan tâm Phần còn lại của khung cảnh thường được gọi là nền
Chiều thời gian
Chiều ngang
Chiều dọc
Trang 272.3.4 Chuyển động của đối tượng video
Một video chứa đựng nhiều thông tin trực quan hơn một ảnh tĩnh, do video có khả năng thu giữ được chuyển động Một ảnh tĩnh chỉ có thể cung cấp cho người xem những thông tin tĩnh về một khung cảnh trong khi một video có thể đem lại cho người xem phần động trong khung cảnh đó
Hình ảnh mà ta nhìn thấy trong video là hình chiếu của những khung cảnh ba chiều lên mặt phẳng hai chiều (mặt phẳng ảnh) Do đó, chuyển động của các đối tượng video cũng chính là hình chiếu chuyển động của các đối tượng trong không gian ba chiều lên mặt phẳng ảnh Tuy nhiên, khi quan sát các hình ảnh video, không phải lúc nào ta cũng thấy được những chuyển động thật sự Nguyên nhân chính là
do mắt người nhận ra chuyển động (trong video) dựa trên sự thay đổi về cường độ của điểm ảnh Do đó, có những trường hợp ta không nhận ra được chuyển động, ví dụ: quan sát hình ảnh một quả bóng đồng màu quay quanh trục qua tâm, mặc dù có chuyển động xảy ra nhưng do cường độ điểm ảnh không đổi nên mắt ta không nhận
Chuyển động của đối tượng video có thể phân thành hai loại: chuyển động cục
bộ và chuyển động toàn cục Chuyển động cục bộ là chuyển động do bản thân đối tượng tạo ra, là những chuyển động giữa các bộ phận của đối tượng so với nhau Còn chuyển động toàn cục là chuyển động của đối tượng, xét trên tổng thể, so với camera, hay có thể nói là chuyển động do camera tạo ra
Trang 282.3.5 Bộ lọc trung vị (Median Filter)
Các hình ảnh thô nhận được qua camera thường bị nhiễu và cần xử lý để loại
bỏ nhiễu Nhiễu phổ biến là nhiễu muối tiêu Nhiễu là các điểm ảnh có giá trị tách biệt với các điểm ảnh lân cận
Bộ lọc trung vị là một bộ lọc khá hiệu quả dùng để khử nhiễu mà không làm
mờ hình ảnh Giá trị trung vị của một nhóm giá trị là giá trị nằm ở vị trí giữa sau khi
đã sắp xếp các giá trị theo thứ tự tăng dần hoặc giảm dần Bộ lọc trung vị quét qua từng điểm ảnh của toàn bộ hình ảnh và thay thế giá trị cường độ của điểm ảnh đang
xử lý bằng giá trị trung vị của các điểm ảnh lân cận và điểm ảnh đang xử lý Trong trường hợp sử dụng 8 điểm lân cận ta có kích thước lọc 3 x 3 Kích thước lọc là cặp các số lẻ 3 x 3, 5 x 5, 7 x 7, 9 x 9 … Kích thước lọc càng lớn thì giá trị trung vị thu được dùng để loại nhiễu càng chính xác hơn Tuy nhiên kích thước lọc càng lớn thì tốc độ xử lý càng chậm đi đáng kể [2]
Hình 2.6: Cách thức hoạt động của lọc trung vị
Giả sử A={a1, a2, a3, …,ak} là giá trị pixel trong cửa sổ lân cận với a1 ≤ a2≤…≤ak
k 1 2
a nÕu k ch¼nMedian(A)
Sơ lược một cách ngắn gọn các bước của giải thuật:
1 Quét cửa sổ lọc lần lượt lên các thành phần của ảnh đầu vào; điền các giá trị được quét vào cửa sổ lọc
2 Xử lý bằng cách thao tác trên các thành phần của cửa sổ lọc
3 Sắp xếp theo thứ tự các thành phần của cửa sổ lọc
4 Lưu lại thành phần trung vị gán cho ảnh đầu vào
Phần tử trung vị sau sắp xếp
Trang 292.3.6 Bộ lọc hình thái (Morphology Filter)
Bộ lọc hình thái cũng quét qua từng điểm ảnh giống như bộ lọc trung vị, áp mặt nạ lọc sao cho tâm trùng điểm ảnh đang xử lý, dựa vào các điểm ảnh tương ứng với mặt nạ lọc để tính toán giá trị mới Tuy nhiên, bộ lọc hình thái chủ yếu làm việc trên ảnh nhị phân với giá trị của điểm ảnh là 0 hoặc 1 Mặt nạ lọc là một ma trận có kích thước 3 x 3, 5 x 5, 7 x 7… Mặt nạ lọc được điền đầy các giá trị 1 nếu cần bảo toàn độ sắc nét của các góc Hoặc các giá trị 1 được điền thành dạng hình đĩa nếu cần làm tròn các góc
Bộ lọc hình thái có hai thao tác cơ bản là Hit và Fit [2] Thao tác Hit sẽ trả về giá trị 1 cho điểm ảnh đang xử lý nếu có ít nhất một điểm ảnh tương ứng mang giá trị 1 trùng với giá trị 1 trên mặt nạ lọc Thao tác Hit khi áp dụng lần lượt cho tất cả các điểm ảnh trên ảnh cần xử lý sẽ tạo ra hiệu ứng giãn nở Hình 2.7 minh họa hiệu ứng giãn nở của thao tác Hit
Hình 2.7: Minh họa hiệu ứng giãn nở của thao tác Hit
Thao tác Fit sẽ trả về giá trị 1 cho điểm ảnh đang xử lý nếu tất cả các điểm ảnh tương ứng đều mang giá trị 1 trùng với giá trị 1 trên mặt nạ lọc Thao tác Fit khi áp dụng lần lượt cho tất cả các điểm ảnh trên ảnh cần xử lý sẽ tạo ra hiệu ứng xói mòn Hình 2.8 minh họa hiệu ứng xói mòn của thao tác Fit
Bộ lọc Closing là một kết hợp giữa hiệu ứng giãn nở và hiệu ứng xói mòn Đầu tiên hiệu ứng giãn nở sẽ lấp đầy các lổ hổng nhỏ trong vùng ảnh và ảnh bị phình to lên Sau đó hiệu ứng xói mòn sẽ co ảnh trở về kích thước ban đầu Kết quả
là bộ lọc Closing sẽ lấp đầy các lổ hổng nhỏ bên trong đối tượng
Trang 30Hình 2.8: Minh họa hiệu ứng xói mòn của thao tác Fit
Bộ lọc Opening là một kết hợp giữa hiệu ứng xói mòn và hiệu ứng giãn nở Đầu tiên hiệu ứng xói mòn sẽ làm biến mất các nhiễu kích thước nhỏ và ảnh bị co lại Sau đó hiệu ứng giãn nở sẽ phình to ảnh về kích thước ban đầu Kết quả là bộ lọc Opening sẽ loại bỏ được các nhiễu có kích thước nhỏ [2]
2.3.7 Phân tích BLOB
BLOB là viết tắt của Binary Large OBject (đối tượng nhị phân lớn) và đề cập
đến một nhóm các điểm ảnh kết nối trong một ảnh nhị phân Thuật ngữ "lớn" chỉ ra rằng chỉ những đối tượng có kích thước nhất định mới được quan tâm và các đối tượng nhị phân "nhỏ" thường là nhiễu
Vì đầu ra của phát hiện chuyển động là ảnh nhị phân chứa các đối tượng chuyển động mang các giá trị điểm ảnh là 1 còn nền có giá trị điểm ảnh là 0 Muốn
xử lý các đối tượng nhị phân từ mặt nạ chuyển động này thì ta phải tách chúng ra khỏi nền Công việc tách các blob là công việc đầu tiên trong phân tích ảnh nhị phân Mục đích của việc tách blob là cô lập các đối tượng có kích thước lớn trong một ảnh nhị phân Blob thường sử dụng hai loại kết nối phổ biến nhất kết nối 4 và kết nối 8 Trong đó, kết nối 8 chính xác hơn kết nối 4, nhưng kết nối 4 thường được
áp dụng vì nó đòi hỏi tính toán ít hơn, do đó nó có thể xử lý hình ảnh nhanh hơn
Có một số thuật toán tìm và tách đối tượng nhị phân, trong luận văn này sẽ trình bày về thuật toán Grass – Fire Thuật toán bắt đầu ở góc trên bên trái của ảnh nhị phân Sau đó, quét toàn bộ ảnh từ trái sang phải và từ trên xuống dưới Khi phát
Trang 31hiện được điểm ảnh nào có giá trị là 1 (tức là đối tượng), thuật toán sẽ tìm kiếm các điểm ảnh còn lại thuộc đối tượng đó bằng các liên kiết 4 hoặc 8 theo 4 hướng hoặc
8 hướng cho đến khi gặp các điểm ảnh thuộc nền thì lui lại
Trong một ảnh nhị phân có thể chứa nhiều đối tượng khác nhau nên để có thể phân biệt được các đối tượng đó, thuật toán Grass – Fire khi tìm các điểm ảnh thuộc cùng một đối tượng phải đánh số các điểm ảnh này cùng một giá trị, công việc này gọi là đặt nhãn cho đối tượng Vì thế mỗi đối tượng trong ảnh đầu ra của thuật toán này có một nhãn khác nhau
Để tránh lập lại các điểm ảnh có giá trị 1 đã đánh dấu khi tìm kiếm các đối tượng tiếp theo trong cùng một ảnh nhị phân, thuật toán phải sẽ thay các điểm ảnh
có giá trị 1 đã xét thành giá trị 0 tương ứng với nền ở ảnh đầu vào Do đó, ở các lần quét tìm kiếm các đối tượng kế tiếp sẽ gán nhãn mới cho các đối tượng tiếp theo Với bước đánh số giống nhau cho các điểm ảnh thuộc từng đối tượng và bước
gỡ bỏ các điểm ảnh đã gán nhãn thuật toán dễ dàng tách được từng đối tượng nhị phân để xử lý Hình 2.9 minh họa cho ảnh đầu vào và đầu ra của thuật toán Grass – Fire
Hình 2.9: Ảnh đầu vào và ảnh đầu ra của thuật toán Grass – Fire.
Sau khi các đối tượng nhị phân trong ảnh đầu ra của phân tích blob đã được gán nhãn thì chúng thường được vẽ đường bao bằng các hình chữ nhật, hình tròn
Trang 32hoặc đa giác nhưng hình chữ nhật là sử dụng phổ biến nhất Đường bao hình chữ nhật sẽ bao quanh đối tượng nhị phân được phát hiện bằng cách xác định vị trí góc trên cùng bên trái cùng với chiều dài và chiều rộng của đối tượng Đường bao chữ nhật bao quanh đối tượng giúp ta xác định được kích thước của đối tượng hoặc tâm của chúng
Từ hình chữ nhật bao quanh đối tượng ta thu được tâm của đường bao chính là điểm giao nhau của hai đường chéo Việc xác định tâm của đường bao quanh đối tượng giúp xác định được vị trí của đường bao và nó có thể trùng hoặc không trùng với tâm của đối tượng Tâm của hộp bao quanh được xác định bằng công thức 2.5
min ax2
m bb
Trong đó: (xbb, ybb) là tọa độ tâm hộp đường bao,
xmin, xmax là tọa độ nhỏ nhất và lớn nhất của hộp đường bao theo phương x
ymin, ymax là là tọa độ nhỏ nhất và lớn nhất của hộp đường bao theo phương y Tâm của đối tượng là trung bình cộng của tất cả các tọa độ của điểm ảnh thuộc đối tượng đó và được tính theo công thức 2.6 Dựa vào tâm của đối tượng ta sẽ vẽ được quỹ đạo chuyển động của các đối tượng trong một video
Trong đó: N là số điểm ảnh trong mỗi đối tượng,
(xc, yc) là tọa độ tâm đối tượng, (xi, yi) là tọa độ điểm ảnh thứ i của đối tượng
2.4 Các vấn đề liên quan đến phát hiện và theo dõi đối tượng chuyển động trong video
2.4.1 Ngưỡng
Ngưỡng là phương pháp đơn giản nhất để phân đoạn ảnh Ngưỡng thường được sử dụng để tạo những ảnh nhị phân từ một ảnh xám [11] Trong xử lý ngưỡng, phụ thuộc vào các giá trị của các điểm ảnh riêng lẻ trong một ảnh, các điểm ảnh được đánh dấu như là một điểm ảnh “đối tượng” nếu giá trị lớn hơn một giá trị
Trang 33ngưỡng (giả sử một đối tượng có độ sáng hơn ảnh nền) ngược lại các điểm ảnh này được đánh dấu là các điểm ảnh “nền”
Có nhiều quy ước như ngưỡng trên, ngưỡng dưới, ngưỡng trong và ngưỡng ngoài Trong luận văn này, quy ước được sử dụng là quy ước “ngưỡng trên” Giá trị
1 được gán cho điểm ảnh đối tượng ngược lại giá trị 0 được gán cho điểm ảnh nền Khi đó một ảnh nhị phân được xây dựng bằng cách tô màu mỗi điểm ảnh theo các giá trị được gán cho chúng Các kỹ thuật ngưỡng khác nhau thì có thể dựa trên thông tin và các thuật toán
Ngưỡng có thể được phân loại là 2 mức và nhiều mức Trong ngưỡng 2 mức, các điểm ảnh được phân loại thành 2 nhóm, một nhóm chứa các điểm ảnh có mức xám lớn hơn ngưỡng và nhóm còn lại chứa các điểm ảnh có mức xám nhỏ hơn ngưỡng Phương pháp nhiều ngưỡng, các điểm ảnh được nhóm lại có mức xám trong một ngưỡng
2.4.2 Ước lượng chuyển động
Để có thể theo dõi tốt chúng ta phải ước lượng được chuyển động của đối tượng Mỗi đối tượng sẽ được đặc trưng bởi một số tham số sau:
- p là vị trí trong tọa độ ảnh Tọa độ của trọng tâm của đối tượng sẽ chính là tọa
độ của đối tượng
- p là độ không chắc chắn của vị trí Không bao giờ chúng ta có thể ước lượng chính xác được vì thế độ không chắc chắn này chính là độ sai số trong ước lượng
- v là tốc độ của đối tượng Ở đây chúng ta sẽ dùng độ dịch chuyển thay cho tốc
độ vì chúng ta đang xét là các điểm rời rạc chứ không phải là các điểm liên tục
- vlà độ không chắc chắn của vận tốc
- R là hình chữ nhật bao quanh đối tượng
- d là một số chỉ độ tin cậy của đối tượng Độ tin cậy này sẽ dùng để quyết định loại bỏ hay theo dõi đối tượng
Ước lượng chuyển động của một điểm ảnh là tìm ra vectơ dịch chuyển của điểm ảnh đó Khái niệm về vectơ dịch chuyển d , được minh họa trong hình 2.10.
Mở rộng ra, ước lượng chuyển động của một đối tượng là ước lượng chuyển động của tất cả các điểm ảnh thuộc đối tượng đó Mục đích của việc ước lượng chuyển động là trả lời câu hỏi “chuyển động diễn ra như thế nào?”
Trang 34Hình 2.10: Vectơ dịch chuyển d [9]
Như vậy, việc theo vết đối tượng có thể được xem là việc ước lượng chuyển động tại các khung hình liên tiếp nhau, kết quả ước lượng tại khung hình này là cơ
sở cho việc ước lượng ở khung hình tiếp theo
2.4.3 Dự đoán vị trí của đối tượng trong tương lai
Việc ước lượng vị trí của đối tượng trong mỗi khung hình là rất quan trọng
Nó giúp cho việc tính toán đơn giản hơn và việc theo dõi sẽ chính xác hơn Vị trí ước lượng sẽ được sử dụng để lựa chọn số các đối tượng cần phải xem xét trong quá trình theo dõi Việc ước lượng sẽ giảm được rất nhiều thời gian vì với mỗi đối tượng chúng ta không cần phải xem xét trên toàn bộ ảnh mà chỉ xét trong vùng được dự đoán mà thôi Gọi ∆t là thời gian giữa 2 khung hình, theo mô hình chuyển động tuyến tính thì ta có [17]
n n+1
Và độ không chắc chắn được cho là bằng độ không chắc chắn của vị trí hiện tại cộng với độ không chắc chắc của vận tốc nhân cho thời gian [18]
n n n+1
Những vị trí này sẽ được chọn để ước lượng vị trí mới của đối tượng trong khung hình tiếp theo Mỗi đối tượng trong khung hình hiện tại sẽ được dự đoán vị trí mới bằng cách cộng hình chữ nhật bao quanh đối tượng một khoảng là n
δv Δt sau đó mở rộng ra một khoảng p n1 Do đó nếu có vùng chuyển động mới
nào thuộc vào vùng dự đoán này thì ta sẽ tiến hành so khớp
Trang 352.4.4 So khớp đối tượng
Cho một vùng đối tượng ở khung hình hiện tại, chúng ta tìm vùng khớp với vùng này ở khung hình tiếp theo bằng phương pháp so khớp tương quan ảnh Hàm tương quan giữa vùng R ở khung hình hiện tại với vùng ứng viên ở khung hình tiếp theo và cách vùng này một khoảng d là [17]:
1
W( , ) ( ) ( ) ( )
ưu tiên cao hơn Và để giảm chi phí tính toán thì hàm trọng số này chỉ áp dụng đối với các điểm ảnh nào được xem là chuyển động, do đó các điểm được xem là đứng yên sẽ có hàm trọng số bằng 0 Nếu x là điểm chuyển động ta có [17]:
ax
1 1 ( ) W( ) 1
2 2 m
r x x
r
Trong đó: r(x) là khoảng cách bán kính từ x tới tâm của vùng R
rmax là khoảng cách bán kính lớn nhất trong R
Để giảm chi phí tính toán ta có thể ước lượng tâm của đối tượng chính là tâm của hình chữ nhật bao quanh đối tượng và khoảng cách lớn nhất trong vùng R bằng một nửa đường chéo của hình chữ nhật bao quanh đối tượng Khi so khớp vùng đối tượng có kích thước m*n thì chi phí tính toán sẽ là O(m2n2) Nếu kích thước của vùng đối tượng lớn thì chi phí sẽ tăng lên rất lớn khó mà kiểm soát được
Vì thế ta đã cố định một ngưỡng mà khi tính toán sẽ không vượt qua ngưỡng đó Ở
Trang 36đây ta chọn ngưỡng là 25 điểm ảnh Kích thước của vùng ảnh theo mỗi chiều sẽ bị giảm đi một nửa nếu nó lớn hơn 25 và ta sẽ đếm số lần giảm kích thước để lựa chọn các điểm khi so khớp
2.4.5 Theo dõi đối tượng
Theo dõi đối tượng thì rộng lớn hơn là so khớp đối tượng Chúng ta phải lưu vết được quỹ đạo chuyển động của đối tượng Ý chính ở đây là so khớp đối tượng có được với các đối tượng mà ta thu được ở khung hình tiếp theo Các đối tượng ở khung hình tiếp theo sau khi qua bộ phát hiện chuyển động sẽ rút trích ra được các vùng chuyển động Chúng ta sẽ tạo một danh sách các vùng chuyển động để thuận tiện cho việc theo dõi Sau đó chúng ta ước lượng vị trí mới của các đối tượng ở khung hình hiện tại Khi đó việc so khớp sẽ dễ dàng hơn Chúng ta chỉ so khớp các đối tượng với vùng chuyển động mới mà vị trí ước lượng của các đối tượng này thuộc vào vùng chuyển động mới đó Tùy trường hợp so khớp mà chúng ta có các quyết định theo dõi khác nhau
Khi so khớp các đối tượng sẽ xảy ra 5 trường hợp [3], [17]:
Không có đối tượng nào khớp với vùng chuyển động hết Ở đây ta có 2 trường hợp xảy ra: một là vùng chuyển động này mới vào vùng quan sát Khi đó ta tạo một đối tượng mới thiết lập các tham số ban đầu như là vị trí, vận tốc, và cho
độ tin cậy ở mức thấp nhất Trường hợp hai là ta dự đoán sai Khi này ta có thể mở rộng vùng tìm kiếm và so khớp các đối tượng
Chỉ có một đối tượng khớp với vùng chuyển động Đây là trường hợp tốt nhất trong theo vết Lúc này ta sẽ cập nhật đối tượng theo vùng chuyển động mới này
Một đối tượng khớp với nhiều vùng chuyển động Điều này có thể do đối tượng tách ra thành nhiều đối tượng Ở đây ta sẽ cập nhật đối tượng hiện tại theo đối tượng khớp nhất Các đối tượng còn lại sẽ tương ứng với đối tượng mới và chúng ta thiết lập các tham số ban đầu cho các đối tượng
Trường hợp nhiều đối tượng cùng khớp với một vùng chuyển động Trường hợp này là do các đối tượng giao nhau Giả sử xét trường hợp có hai đối
Trang 37tượng giao nhau Khi 2 đối tượng giao nhau chúng ta sẽ xét vị trí của 2 đối tượng này với vị trí của đối tượng mà cập nhật lại vị trí mới của các đối tượng Ở đây mỗi đối tượng sẽ có một hình chữ nhật bao quanh đối tượng Chúng ta sẽ so sánh góc trái trên và góc phải dưới của các hình chữ nhật bao quanh đối tượng để đưa ra các quyết định cập nhật lại vị trí hình chữ nhật bao quanh đối tượng này theo góc trái trên hay góc phải dưới của vùng mới
Hình 2.11: Minh họa thuật toán cập nhập vị trí khi hai đối tượng giao nhau [3]
Trường hợp các đối tượng không khớp với vùng chuyển động nào hết Trường hợp này có thể do đối tượng ra khỏi vùng quan sát hoặc là đối tượng này đã
bị đối tượng khác che khuất, vì thế trong trường hợp này độ tin cậy của đối tượng sẽ giảm xuống Khi độ tin cậy giảm xuống dưới ngưỡng cho phép thì ta sẽ loại bỏ đối tượng này ra khỏi danh sách
2.4.6 Hiện tượng che phủ
Trong thực tế, tiến trình theo dõi đối tượng video thường gặp phải hiện tượng che phủ “Che phủ” đề cặp đến hiện tượng các bộ phận của đối tượng (hay của khung cảnh) bị che đi hay hiện ra do những chuyển động của camera hay của chính đối tượng Hiện tượng này được phân thành hai loại: tự che phủ và che phủ lẫn nhau Tự che phủ chỉ hiện tượng các bộ phận của đối tượng bị che mất đi hay được hiện ra do những chuyển động của chính đối tượng Che phủ lẫn nhau chỉ hiện tượng các bộ phận của đối tượng bị che mất đi hay được hiện ra do những chuyển động của đối tượng khác
Trang 382.4.7 Cập nhật đối tượng
Các tham số của đối tượng sẽ được cập nhật theo các tham số của đối tượng
mới Gọi d là độ dịch chuyển của đối tượng giữa 2 khung hình In và khung hình In+1
Với pn+1 là vị trí mới của đối tượng
Khi đó ta có vận tốc của đối tượng được cập nhập như sau [17]:
Bộ lọc Kalman được R E Kalman đề xuất năm 1960 [18] Bộ lọc Kalman là
một tập hợp các phương trình toán học nhằm cung cấp một phương pháp tính toán
đệ quy (recursively) hiệu quả để ước lượng trạng thái của một quá trình, theo cách
tối thiểu hóa giá trị trung bình của bình phương lỗi (phương sai: mean squared
error) Bộ lọc rất hiệu quả trên các khía cạnh sau: Nó cho phép ước lượng trạng thái
quá khứ, hiện tại thậm chí cả tương lai, và bộ lọc có thể hoạt động ngay cả khi độ
chính xác thực sự của mô hình hệ thống là chưa biết
Bộ lọc Kalman dự đoán (predict) trạng thái của tiến trình tại một thời điểm sau
đó ghi nhận phản hồi (bao gồm cả nhiễu) từ các đo lường thực tế để hiệu chỉnh
(correct) Chu trình của bộ lọc Kalman được mô tả trong hình 2.12
Hình 2.12: Chu trình bộ lọc Kalman
Cập nhật theo đo lường (Hiệu chỉnh) Cập nhật theo thời gian
(Dự đoán)
Trang 39Các phương trình của bộ lọc Kalman được chia thành hai nhóm là cập nhật theo thời gian (dự đoán trạng thái hiện tại theo thời gian) và cập nhật theo đo lường (hiệu chỉnh ước lượng dự đoán bằng một đo lường thực sự theo thời gian)
Nhóm công thức cập nhật theo thời gian sẽ thực hiện các công việc sau:
Tìm ước lượng trạng thái tiền nghiệm:
1 1
P k k T
Nhóm công thức cập nhật theo đo lường để cung cấp một giá trị phản hồi kết
hợp với ước lượng trạng thái tiền nghiệm cho ra một ước lượng trạng thái hậu nghiệm sẽ thực hiện các công việc sau:
Tính độ lợi của bộ lọc Kalman:
1
) (
Để tìm ước lượng trạng thái tiền nghiệm thì đầu tiên phải định nghĩa vectơ
trạng thái có kích thước n x 1 Sau đó áp dụng công thức (2.15) để tìm vectơ ước
lượng trạng thái tiền nghiệm
k
xˆ ở bước thứ k dựa vào vectơ ước lượng trạng thái
hậu nghiệm xˆk1 ở bước k – 1 Ở bước k = 1 phải khởi tạo giá trị ban đầu cho xˆk1tức là ˆx0 Trong công thức (2.15), ma trận A kích thước n x n là ma trận biến đổi trạng thái Ma trận A thể hiện mối quan hệ giữa vectơ trạng thái ở bước k - 1 và vectơ trạng thái ở bước k Ma trận B kích thước n x l là ma trận điều khiển Ma trận
B liên kết đầu vào điều khiển tùy biến với vectơ trạng thái Vectơ đầu vào điều khiển u k-1 có kích thước l x 1
Để tính hiệp phương sai của lỗi tiền nghiệm bằng cách áp dụng công thức (2.16) Trong công thức (2.16), hiệp phương sai lỗi tiền nghiệm P k là một ma trận
Trang 40có kích thước n x n Ma trận Q kích thước n x n là ma trận hiệp phương sai nhiễu tiến trình Trong trường hợp nhiễu tiến trình là nhiễu trắng Gaussian, ma trận Q được tính bằng công thức (2.20) với w k là nhiễu tiến trình có kích thước thước n x 1 Tại bước k = 1 cần phải khởi tạo giá trị ban đầu cho P k-1 tức là P0
i k
w
Để tính độ lợi bộ lọc Kalman bằng cách áp dụng công thức (2.17) Trong công
thức (2.17), độ lợi bộ lọc Kalman K k là một ma trận có kích thước n x m Ma trận H kích thước m x n là ma trận chuyển đổi Ma trận H liên kết vectơ đo lường với vectơ trạng thái Ma trận R kích thước n x m là ma trận hiệp phương sai nhiễu đo lường Tương tự, ma trận R được tính bằng công thức (2.21) với v k là nhiễu đo lường có
kích thước m x 1 [17]
T i k
Để tính ma trận hiệp phương sai lỗi hậu nghiệm bằng cách áp dụng công thức
(2.19) Trong công thức (2.19), ma trận hiệp phương sai lỗi hậu nghiệm P k có kích
thước n x n Ma trận I kích thước n x n là ma trận đơn vị