Bài báo đề xuất phương pháp phát hiện đối tượng chuyển động trên cơ sở so sánh sự khác biệt giữa ba khung ảnh liên tiếp với nhau và có sự kết hợp với ảnh nền. Trong nội dung có đưa ra một số khái niệm định nghĩa mới về điểm chuyển động, đường và vùng chuyển động liên thông.
Trang 1This paper is available online at http://stdb.hnue.edu.vn
VỀ MỘT PHƯƠNG PHÁP PHÁT HIỆN ĐỐI TƯỢNG CHUYỂN ĐỘNG
Nguyễn Văn Hùng
Viện Vũ khí, Tổng cục Công nghiệp Quốc phòng
Email: hungitd@yahoo.com
Tóm tắt Bài báo đề xuất phương pháp phát hiện đối tượng chuyển động trên cơ sở
so sánh sự khác biệt giữa ba khung ảnh liên tiếp với nhau và có sự kết hợp với ảnh nền Trong nội dung có đưa ra một số khái niệm định nghĩa mới về điểm chuyển động, đường và vùng chuyển động liên thông Ngoài ra thuật toán cũng kế thừa các phép toán hình thái, thuật toán tính số vùng chuyển động liên thông Cùng với thuật toán đề xuất trong nội dung có trình bầy thử nghiệm kết quả của thuật toán và được
so sánh, đánh giá với các thuật toán có trước
Từ khóa: Điểm, đường, vùng chuyển động, vùng chuyển động liên thông.
1 Mở đầu
Phát hiện và bám theo đối tượng chuyển động là bài toán được giới khoa học và công nghệ quan tâm nghiên cứu nhiều trong thời gian gần đây Lí do đơn giản bài toán được ứng dụng rộng rãi trong các hệ thống giám sát bảo vệ, các hệ thống giám sát giao thông, các hệ thống phục vụ cho an ninh quốc phòng Hiện nay có hai hướng tiếp cận
chủ yếu để giải quyết bài toán này Hướng thứ nhất, là sử dụng kĩ thuật trừ nền được giới thiệu ở các tài liệu [2, 3, 4, 10]; Hướng thứ hai, là sử dụng kĩ thuật xác định sự khác biệt
giữa các ảnh liên tiếp được giới thiệu ở các tài liệu [6, 7, 8, 9] Mặc dù các kĩ thuật này
đã đạt được một số hiệu quả nhất định, song nó lại có một số lỗi trong các ứng dụng phát hiện đối tượng chuyển động, chẳng hạn nó chỉ ra được vùng chuyển động nhưng lại không đồng nhất được các điểm trên đối tượng chuyển động Để khắc phục nhược điểm trên, bài báo đề xuất thuật toán kết hợp giữa kĩ thuật xác định sự khác biệt giữa các ảnh liên tiếp
và kĩ thuật trừ nền
2 Nội dung nghiên cứu
2.1 Một số khái niệm và định nghĩa
2.1.1 Ma trận mặt nạ chuyển động
Xét dãy N ảnh (frame) trên tập video có kích thước w × h Gọi Fklà ma trận cường
độ xám của ảnh thứ k (k = 1 N), B là ma trận cường độ xám của ảnh nền Không mất
Trang 2tính tổng quát giả sử B = F1 Trong thực tế ảnh nền có thể thay đổi theo thời gian vì vậy việc cập nhật nền theo qui tắc nào đó là rất cần thiết và được trình bầy ở phần thực nhiệm Xác định ma trận Dk,k−1 như sau:
Dk,k−1(i, j) = |Fk(i, j) − Fk−1(i, j)|; i = 1 w; j = 1 h (2.1)
Dk,B(i, j) = Dk, 1(i, j) = |Fk(i, j) − B(i, j)| (2.2)
Trong đó i, j tương ứng là chỉ số hàng và cột của ma trận, nó cũng tương ứng với điểm ảnh P (i, j) trên ảnh thứ k
Ở điều kiện lí tưởng không có nhiễu (chẳng hạn camera đứng yên, cường độ ánh sáng không thay đổi ) thì điểm ảnh P (i, j) được coi là điểm chuyển động nếu Dk,k−1(i, j) khác 0 và ngược lại sẽ được coi là điểm đứng yên
Trong thực tế giả thiết nêu trên khó thỏa mãn, vì vậy người ta có thể dùng một ngưỡng T , là số được xác định bằng thực nghiệm, tùy theo môi trường đặt camera để loại
bỏ nhiễu
Từ ma trận Dk,k−1và ngưỡng T đã xác định, ta xây dựng ma trận Mk,k−1như sau:
Mk,k−1 =
(
1 → if (Dk,k−1(i, j) > T )
Tương tự như trên ta xây dựng ma trận Mk,B(i, j):
Mk,B(i, j) =
(
1 → if (Dk,B(i, j) > T )
Mk,k−1 được gọi là ma trận mặt nạ chuyển động ở thời điểm k Nếu Mk,k−1(i, j) bằng 1 thì điểm ảnh P (i, j) tương ứng được coi là chuyển động so thời điểm trước đó và bằng 0 thì điểm ảnh P (i, j) được coi là đứng yên
- Đường chuyển động là đường chỉ đi qua các điểm chuyển động
- Vùng chuyển động liên thông là vùng mà giữa hai điểm chuyển động bất kí tồn tại
ít nhất một đường chuyển động
- Đối tượng Obj được coi là chuyển động nếu nó chứa ít nhất một vùng chuyển động liên thông
Trang 32.1.2 Phép toán hình thái
- Chúng ta gọi 8 phần tử lân cận của phần tử Mk,k−1(i, j) là láng giềng 8 của
Mk,k−1(i, j)
- Phép dãn nở (Dilation)
Xét ma trận Mk,k−1, ta gọi việc xác định ma trận M theo (5) là phép dãn nở của ma trận Mk,k−1, kí hiệu M = Dila(Mk,k−1)
M(i, j) =
(
1, Nếu có ít nhất một láng giềng 8 của Mk,k−1(i, j) có giá trị 1
- Phép xói mòn (Erosion)
Xét ma trận Mk,k−1, ta gọi việc xác định ma trận M theo (6) là phép xói mòn ma trận Mk,k−1, kí hiệu M = Eros(Mk,k−1)
M(i, j) =
(
0, Nếu có ít nhất một láng giềng 8 của Mk,k−1(i, j) có giá trị 0
Các phép toán Dila(Mk,k−1), Eros(Mk,k−1) được gọi là các phép toán hình thái của ma trận Mk,k−1 Phép toán hình thái được đề cập trong [2, 4] Phép toán hình thái Dila(Mk,k−1), Eros(Mk,k−1) có tác dụng loại bỏ các vùng chuyển động không liên thông
Để minh họa hai phép toán hình thái trên ta có thể xem ví dụ minh hoạ: Đầu vào
là một ma trận có chứa các các giá trị 1 và 0 thể hiện ở Hình 1.a Sau khi thực hiện phép Dila kết quả ở Hình 1.b; khi thực hiện phép Eros kết quả thể hiện ở Hình 1.c;
Hình 1 Minh họa hai phép toán hình thái
Trang 42.1.3 Thuật toán tính số vùng chuyển động liên thông
Thuật toán tính số vùng
chuyển động liên thông theo sơ
đồ khối tại Hình 1: kí hiệu là
Count_V (M) Trong đó có hàm
Min là hàm lấy giá trị nhỏ nhất
trong 4 giá trị bên trong
Hình 3.a là ma trận đầu vào:
ô trắng là giá trị 1, ô đen giá trị
0; Hình 3.b là kết quả sau khi chạy
thuật toán tính vùng chuyển động
liên thông;
Quá trình đánh nhãn và đếm số
vùng chuyển động được trình bầy
ở trên cho thấy khi ta thực hiện
các thuật toán trên với ma trận mặt
nạ chuyển động thì ta tách được
các cùng chuyển động có các nhãn
tương ứng Ví dụ ở trên có hai vùng
chuyển động tương ứng
Hình 2 Thuật toán tính vùng
chuyển động
Hình 3 Ví dụ minh họa thuật toán ở Hình 1
Trang 52.2 Thuật toán xác định vùng chuyển động
Căn cứ vào những định nghĩa trên, chúng tôi đề xuất thuật toán mới phát hiện chuyển động trong frame hiện tại dựa trên thông tin khác biệt giữa 2 frame liền trước và frame liền sau nó, cùng với thông tin frame nền được thể hiện theo 5 bước sau:
• Bước 1 Xét frame thứ k áp dụng công thức (2.3) tính: Mk,k−1; Mk,k+1
• Bước 2 Áp dụng công thức (2.4) tính Mk,B
• Bước 3 Xác định ma trận Motionktheo công thức (2.7):
Motionk = (Mk,BANDMk,k−1) OR (Mk,BAND Mk,k+1) (2.7)
• Bước 4 Thực hiện các phép toán: Dila(Motionk), Eros(Motionk),
Vk = Count_V (Motionk) Vklà số vùng chuyển động liên thông
• Bước 5 Tại mỗi vùng, xác định cặp điểm có toạ độ lớn nhất (max) và nhỏ nhất (min) Từ cặp điểm min, max ta vẽ hình chữ nhật bao quanh vùng chuyển động
Kí hiệu là DrawRec(Motionk)
2.3 Sơ đồ khối thể hiện thuật toán đề xuất
Kết hợp các phần trình bầy ở trên, ta có sơ đồ thuật toán phát hiện chuyển động trong một file video thể hiện ở Hình 4 dưới đây
2.4 Kết quả thử nghiệm
2.4.1 Dữ liệu đầu vào thử nghiệm
Dữ liệu quay tại đường Hoàng Quốc Việt thành phố Hà Nội vào các buổi sáng ngày thường Dữ liệu dạng file AVI, chuẩn nén Cinepak Codec; Bit Rate 64 Kbps; kích thước
640 × 480; thời lượng mỗi đoạn video khoảng 60 giây
2.4.2 Một số kĩ thuật xử lí trong thực nghiệm
- Tiền xử lí:
+ Chuyển ảnh về ảnh xám theo công thức: Ảnh xám = 0.3×R+0.59×G+0.11×B (R, G, B là ba gam mầu của ảnh mầu)
+ Thay đổi độ phân giải từ: 640 × 480 thành ảnh có độ phân giải 160 × 120 Bằng cách tính trung bình cộng bốn điểm hàng xóm thành một điểm
- Ngưỡng T trong thực nghiệm chọn giá trị từ 25 đến 35
- Cập nhật lại nền: B = Fknếu tổng giá trị các phần tử trong ma trận mặt nạ Mb,k nhỏ hơn 5% độ lớn của ảnh (w × h)
Trang 6Hình 4 Sơ đồ khối thuật toán phát hiện chuyển động đề xuất.
2.4.3 Kết quả thử nghiệm
Với dữ liệu trên chúng tôi phân biệt được các đối tượng chuyển động và đánh số theo thứ tự từ 1 đến n Chương trình thử nghiệm đã xử lí tốt được việc loại bỏ được các chuyển động không cần thiết như chuyển động của lá cây, các chuyển động nhỏ
Điểm còn tồn tại của thuật toán là: với các cảnh quay chứa khung ảnh chuyển động
có vùng chồng lấn thì chương trình không tách được thành hai chuyển động riêng biệt mà gộp lại thành một khối đối tượng chuyển động
Trang 72.4.4 Một số hình ảnh minh hoạ của chương trình
Hình 5 Khung hình hiện tại và nền được cập nhật tương ứng của video1
Hình 6 Khung hình hiện tại và nền được cập nhật tương ứng của video2
Hình 7 Khung hình hiện tại và nền được cập nhật tương ứng của video 103 khi có chồng lấn
Trang 82.4.5 Bảng thống kê kết quả thử nghiệm giữa ba thuật toán
Trong thử nghiệm chúng tôi chạy cùng dữ liệu trên 100 đoạn file AVI khác nhau với 3 thuật toán: 1 Thuật toán đề xuất; 2 Thuật toán trừ nền; 3 Thuật toán kết hợp của chúng tôi Hình 7 thể hiện kết quả của các thử nghiệm này
Hình 8 Biểu đồ so sánh tỉ lệ phát hiện đúng của ba thuật toán
3 Kết luận
Bài báo đề xuất phương pháp phát hiện đối tượng chuyển động trên cơ sở so sánh
sự khác biệt giữa ba khung ảnh liên tiếp với nhau và có sự kết hợp với ảnh nền Trong nội dung có đưa ra một số khái niệm định nghĩa mới về điểm chuyển động, đường và vùng chuyển chuyển động liên thông Ngoài ra thuật toán cũng kế thừa các phép toán hình thái, thuật toán tính số vùng chuyển động liên thông Bài báo trình bày thử nghiệm với việc phát hiện và đánh dấu các phương tiện tham gia giao thông, cũng như so sánh kết quả gữa các thuật toán truyền thống với thuật toán đề xuất
TÀI LIỆU THAM KHẢO
[1] A.M Tekalp, 1955 Digital Video Processing Prentice Hall.
[2] LIU Ya, AI Haizon, XU Guangyou, 2001 Moving Object Detection and Traching Based on Background Subtraction.
[3] Chris Stauffer, W.E.L Grimson Adaptive background mixture models for real-time tracking.
[4] Liyuan Li, Weimin Huang, Irene Y.H Gu, Qi Tian, 2003 Foreground Object Detection from Videos Containing Complex Background.
Trang 9[5] Pierre Soille, Morphological Image Analysis: Principles and Applications.
Springer-Verlag New York, Inc Secaucus, NJ, USA c
[6] Y LIU, A HAIZHO, X GUANGYOU, 2001 Moving object detection and tracking based on background subtraction Proceeding of Society of Photo-Optical Instrument
Engineers (SPIE), 4554, pp 62-66
[7] C WREN, A AZARBAYEJANI, T DARELL, A PENTLAND, 1997 Pfinder: Real-time tracking of the human body, IEEE Trans Pattern Analysis and Machine
Intelligence, 19, pp 780–785
[8] N A OGALE A survey of techniques for human detection from video Department
of Computer Science, University of Maryland, College Park
[9] W ABD-ALMAGEED, M HUSSEIN, M ABDELKADER, L DAVIS, 2007
Real-Time Human Detection and Tracking from Mobile Vehicles, Proc of 2007 IEEE
Intel Transportation Systems Conf., Seattle, USA, Sept.30-Oct.3, pp 149-157
[10] Marwa abd el Azeem Marzouk, 2010 Modified background subtraction algrorithm for motion detection in surveillance systems Vol 1, No 2, pp.112-123.
ABSTRACT
A moving object detection method based on comparing the differences
and background subtraction
This paper proposed methods of detecting moving objects based on comparing differences between three consecutive frames, combined with the background image Content has given a new definition of concept point motion, sugar and the shifting joint motion The algorithm also inherits the mathematical morphology, the algorithm of the cross-motion Along with the proposed algorithm in the content are presented test results
of the algorithm and a comparison and evaluation of the algorithm