Ta cũng dựa theo kinh nghiệm để phát hiện các đối tượng tách ra sau khi bị che khuất. Khi một đối tượng Oi được tìm thấy trong một cảnh bởi thuật toán tham chiếu đối tượng, ta kiểm tra xem có đối tượng trước Ot có đường bao che khuất Oi và có giá trị trong nhóm ID và được tham chiếu bởi một đối tượng mới là Ok. Trong trường hợp này có thể coi như là một đối tượng vừa tách ra. Ta kiểm tra danh sách đối tượng trước về các đối tượng có cùng nhóm bị che khuất ID với Op xem liệu có phải Op và Ot cùng bị che lấp bởi một đối tượng trước đó không. Khi đó ta có 2 đối tượng đánh dấu TO={Op, Ot} và hai đối tượng mới NO={Oi,Ok}. Bây giờ, ta cần nhận dạng đối tượng trong TO
2.2.2.3. Lược đồ cơ sở tham chiếu tương ứng
Để tham chiếu các đối tượng trong TO đến các đối tượng tương ứng trong NO, ta sử dụng cách lưu lại lược đồ màu trước khi bị che khuất của việc đánh dấu các đối tượng và lược đồ màu của các đối tượng mới. Dù ta không thể tham chiếu các đối tượng cơ bản ở vị trí của chúng, sử dụng khoảng cách là không khả thi trong trường hợp này. Như vậy, để so sánh sự tương tự của các đối tượng, ta sử dụng khoảng cách lược đồ màu.
Khoảng cách dab giữa hai lược đồ màu thông thường Ha và Hb với N bin được tính toán bằng cách sử dụng ma trận L1 như sau:
=∑N [ ] − [ ] i b a ab H i H i d (2.22)
Từ giờ ta giữ hai lược đồ của mỗi đối tượng, một cao hơn phần thân của đối tượng và một thấp hơn, ta tính toán toàn bộ khoảng cách bằng cách tổng kết các khoảng cách giữa các lược đồ màu tương ứng của các đối tượng. Đó là:
dtotal = dupper histogram +dlower histogram (2.23) Sau đây là một ví dụ về các đối tượng và các histogram trước và sau khi che khuất và bảng khoảng cách của chúng
( c) (d)
(e) (f)
Đối tượng A sau Đối tượng B sau
Đối tượng A trước 0.283156 0.467758
Đối tượng B trước 0.358641 0.241878
(g)
Hình 2.11: Nhận dạng đối tượng sau khi che khuất (a) Ảnh trước khi che lấp
(b) Ảnh sau khi che lấp
(c) Histogram màu của đối tượng A trước khi che lấp (d) Histogram màu của đối tượng B trước khi che lấp (e) Histogram màu của đối tượng A sau khi che lấp (f) Histogram màu của đối tượng B sau khi che lấp
2.2.3. Phát hiện các đối tượng dời đi và các đối tượng bị loại bỏ
Khả năng phát hiện sự dời đi và loại bỏ của các đối tượng là vấn đề sống còn của một số ứng dụng giám sát. Phát hiện các đối tượng dời đi như hành lý không có chủ trong các sân bay hoặc một chiếc xe đỗ trước một tòa nhà an ninh nhạy cảm là rất quan trọng. Những hoạt động đó có thể được thực hiện bởi những kẻ khủng bố làm tổn hại mọi người. Mặt khác, bảo vệ các đối tượng tránh xa khỏi những vật đổi chỗ mà không được phép có những ứng dụng rất quan trọng như là các hệ thống giám sát ở các bảo tàng, triển lãm nghệ thuật hoặc các tòa nhà lưu trữ cần tránh trộm cắp. Nhờ có các ứng dụng đó, đối tượng dời đi và biến mất là một phần quan trọng của hệ thống giám sát.
Hệ thống ta trình bày ở đây có thể phát hiện và phân biệt các đối tượng dời đi và biến mất trong Video. Để đạt được điều này, ta sử dụng phối hợp trừ nền tương ứng, phương pháp đánh dấu đối tượng và các kinh nghiệm thực tế để phân biệt các đối tượng dời đi từ các đối tượng biến mất. Có ba bước để phát hiện sự dời đi và sự biến mất của các đối tượng như sau:
1. Phát hiện một sự thay đổi giữa ảnh hiện thời với ảnh nền cơ sở bằng cách sử dụng phối hợp trừ nền tương ứng.
2. Quyết định rằng vùng chuyển động được phát hiện có phù hợp với một sự dời đi và biến mất của đối tượng bằng cách sử dụng phương pháp đánh dấu đối tượng.
3. Phân biệt các đối tượng dời đi từ các đối tượng biến mất bằng cách sử dụng thuộc tính màu thống kê của các vùng được phát hiện và đường bao xung quanh của nó.
Không giống như một số thuật toán khác, chẳng hạn như sự khác biệt theo thời gian, thuật toán trừ nền tương ứng này có thể phát hiện được các đối
tượng dời đi hoặc biến mất cho một giai đoạn thời gian dài. Với sự trợ giúp của phương pháp đánh dấu, ta phát hiện đối tượng đứng yên bằng thông tin về đường đi của nó. Nếu một phần hiện thời của thông tin về đường đi thể hiện rằng đối tượng không chuyển động một thời gian đã lâu (ví dụ như chu kỳ cảnh báo), ta quyết định vùng tương ứng là đứng yên và có khả năng nó sẽ dời đi hoặc biến mất.
Để phân biệt kiểu của đối tượng (dời đi hay biến mất), ta sử dụng các đặc tính tĩnh của các giá trị màu ở bên trong và ở viền của vùng được phát hiện. Đặt R là vùng tương ứng với một sự thay đổi với thời hạn dài trong nền; S là đường bao xung quanh của R và đặt AX là giá trị cường độ màu trung bình trong vùng X. Kinh nghiệm cho thấy từ các cuộc thử nghiệm về đối tượng dời đi/ biến mất là nếu các giá trị của AR và AS là gần nhau, khi đó cho biết rằng vùng các đối tượng được phát hiện và vùng bao của nó hầu hết có cùng màu cho nên vùng này tương ứng với đối tượng chuyển chỗ. Mặt khác, nếu AR và
AS không gần nhau cho thấy rằng vùng này tương ứng với đối tượng biến mất. Việc xác định AR và AS có gần nhau hay không như sau:
, 1 ≤ ≤ S R A A τ nếu AR ≤ AS (2.24) ≤ ≤1 R S A A τ , nếu AS ≤ AR
Trong đó τ là một hằng được định nghĩa trước(≈0.85). Sau đây là miêu tả hình vẽ thể hiện các vùng AR và AS và hai ảnh Video thể hiện hai trường hợp dời đi và di chuyển của các đối tượng.
(a) (b)
(c) (d)
Hình 2.12: Phân biệt các đối tượng dời đi và biến mất
(a) Cảnh nền, (b) Vùng R và S, (c) Ví dụ về đối tượng dời đi, (d) vì dụ
Chương 3 ỨNG DỤNG 3.1. Giám sát tựđộng dưới sự trợ giúp của Camera
Ngày nay, công nghệ thông tin đã xâm nhập vào mọi ngõ ngách của cuộc sống. Việc sử dụng các hệ thống giám sát bằng camera trở nên vô cùng quan trọng. Trong giao thông, người ta lắp đặt các camera giám sát ở các ngã ba, ngã tư, đường hầm, nhà ga và các vị trí nhạy cảm để giám sát tai nạn giao thông, các vi phạm luật giao thông của các phương tiện,… Trong các bảo tàng, người ta sử dụng hệ thống camera để giám sát các vật trưng bày để tránh trường hợp bị mất cắp. Các vùng nhạy cảm về an ninh, ta có các hệ thống giám sát để có thể cảnh báo kịp thời những hành vi khả nghi liên quan đến khủng bố, trộm cắp, hỏa hoạn… Ở các siêu thị, người ta dùng hệ thống camera giám sát để tránh các trường hợp trộm cắp hàng hóa,....
Như vậy, các hệ thống giám sát là rất cần thiết và hữu ích cho xã hội. Hiện nay, các hệ thống giám sát hoạt động tốt dựa vào công nghệ phần cứng, tuy nhiên, như đã nói ở trên, phần mềm nhúng ra đời để làm giảm chi phí cho việc sản xuất các thiết bị phần cứng chuyên dụng vốn rất đắt đỏ. Việc cài đặt các phần mềm giám sát vào các hệ thống giám sát là rất cần thiết.
Với các phương pháp về phát hiện, đánh dấu, phân loại đối tượng đã nêu ở trên, ta có thể xây dựng một phần mềm giám sát để làm giảm thiếu chi phí cho các thiết bị phần cứng đồng thời có tính bảo mật cao.
Nhờ camera và các phương pháp phát hiện đối tượng chuyển động trong camera, ta có thể xây dựng các phần mềm điều khiển, các phần mềm hỗ trợ. Chẳng hạn như phần sử dụng tia laze để điều khiển các chương trình ứng dụng chạy trên máy tính. Phần mềm hỗ trợ giao tiếp giữa người khuyết tật với máy tính,…
3.2. Chương trình thử nghiệm phát hiện và bám sát đối tượng
Bài toán đặt ra là với ảnh thu nhận được từ camera, chương trình ứng dụng sẽ tiến hành xử lý và cho ra kết quả là đối tượng đang cần theo vết đang ở vị trí nào, ta tiến hành đánh dấu (tô màu, kẻ khung) và từ đó liên tục bám sát đối tượng đó dựa trên một ngưỡng nhất định. Sau khi xác định vị trí đối tượng, ứng dụng sẽ tiếp tục điều khiển thiết bị chuột tới vị trí mong muốn (vị trí của đối tượng đang theo vết), đồng thời quyết định ra sự kiện gì (Click, Double click, Drap & Drop…).
Hình 3.1: Sơđồ mô tả các tiến trình xử lý của hệ thống
Thuật toán phát hiện sự chuyển động
Có nhiều phương pháp tiếp cận để phát hiện chuyển động trong hình ảnh Video liên tục. Có thể so sánh khung hình hiện tại với hình nền chúng ta chụp từ ban đầu khi bật camera hoặc từ khung hình trước. Đối với phương pháp thứ nhất thì đơn giản và giảm được việc xử lý. Tuy nhiên, cách tiếp cận có một bất lợi lớn, ví dụ nếu có một đối tượng đang di chuyển ở frame đầu tiên nhưng sau đó nó đã biến mất. Phương pháp thứ hai thì xử lý phức tạp hơn, xử lý nhiều hơn nhưng lại thích nghi với mọi môi trường, kể cả môi trường ít thay đổi hoặc thay đổi nhiều. Nhược điểm là nếu đối tượng di chuyển một cách rất chậm thì hệ thống không phát hiện ra. Nhưng có thể giải quyết bằng cách tăng số khung hình trên giây. Trong đề tài này giới thiệu theo phương pháp thứ hai.
Ngưỡng (Threshold)
Nguỡng (Threshold) là một khái niệm khá quen thuộc trong xử lý ảnh cũng như rất nhiều giải thuật khác. Nó dùng để chỉ một giá trị mà người ta dựa vào để phân hoạch một tập hợp thành các miền phân biệt. Ví dụ thang điểm đánh giá học sinh là từ 1 đến 10. Trong một tập hợp gồm 40 học sinh của 1 lớp, người ta muốn phân lọai ra hai miền, miền thứ nhất bao gồm các học sinh đạt yêu cầu và miền thứ hai gồm các học sinh không đạt. Trong tình huống đó người ta dùng giá trị 5 (điểm) như là một ngưỡng (threshold) để phân loại học sinh. Các học sinh có điểm dưới 5 sẽ xem như không đạt, những học sinh có điểm từ 5 trở lên là đạt yêu cầu. Giá trị ngưỡng thường được xác định dựa vào những điểm đặc biệt (ví dụ ở trung bình), dựa vào kinh nghiệm khảo sát. Nếu dựa vào số lượng ngưỡng áp dụng cho cùng một tập dữ liệu người ta sẽ phân ra các phương pháp ứng dụng ngưỡng đơn, ngưỡng kép, hay đa ngưỡng. Nếu dựa vào sự biến thiên của giá trị ngưỡng, trong cùng phạm vi ứng dụng người ta sẽ phân ra các phương pháp dùng ngưỡng cố định (Constant|Fixed Threshold) và không cố định (Adaptive Threshold). Ngưỡng không cố định nghĩa là giá trị của nó sẽ thay đổi tùy theo sự biến thiên của tập dử liệu theo không gian và thời gian. Thông thường giá trị này được xác định thông qua khảo sát bằng phương pháp thống kê. Để dễ hình dung hơn về ứng dụng khái niệm Threshold, sau đây chúng ta sẻ xét một ví dụ bộ lọc ngưỡng (Threshold Filter) đơn giản trong xử lý ảnh.
Với mỗi pixel trong hình đa mức xám (grayscale) ở trên giá trị sẽ trong khoảng 0 - 255 vậy pixel nào lớn hơn ngưỡng là 120 ta gán giá trị cho nó thành đen (0), ngược lại gán giá trị trắng (255). Kết quả thu được như sau:
Hình 3.2: Trước và sau khi xử lý dựa trên ngưỡng
Hình 3.3: Lưu đồ thuật toán phát hiện sự chuyển động
End Pixel ảnh đầu ra màu đen Không có sự di chuyển Pixel ảnh đầu ra màu trắng Sốđiểm trắng > Ngưỡng Có sự di chuyển Thu khung hình hiện tại, và trước Chuyển thành ảnh xám So sánh từng pixel của 2 ảnh xám
Giá trị>ngưỡng cho trước
N
N Y
3.2.1. Giao diện của chương trình:
Hình 3.4: Giao diện chương trình demo
3.2.2. Các chức năng của chương trình:
Hình 3.5: Phát hiện và bám sát các đối tượng chuyển động
Chức năng này cho phép mở các Video từ một file AVI, từ camera gắn trực tiếp với máy tính.
Hình 3.6: Chức năng theo vết đối tượng được lựa chọn để theo vết
Chức năng này giám sát đối tượng mà mình muốn theo vết
Hình 3.8: Chức năng chọn màu dãy màu của đối tượng cần theo vết
Hình 3.9: Chức năng chọn dãy màu từảnh chụp từ webcam của đối tượng cần theo vết
Hình 3.10: Chức năng dùng đối tượng đang theo vết đểđiều khiển “Mouse” Chức năng này theo màu của một đối tượng và xác định vị trí của đối tượng
đểđưa con trỏ tới đúng vị trí đối tượng đang đứng, mục đích là muốn thông qua đối tượng bên ngoài như bàn tay để qua camera có thể duyệt web, sử
KẾT LUẬN
Như ta đã biết, giám sát bằng camera được ứng dụng rộng rãi trong nhiều lĩnh vực của cuộc sống, việc nghiên cứu các vấn đề liên quan đến các hệ thống giám sát này nhằm đưa ra các cảnh báo chính xác, kịp thời là một công việc mang tính thực tiễn cao. Chúng ta cũng biết rằng kết quả thu nhận được từ các camera giám sát là Video. Như vậy việc nghiên cứu chính ở đây là phát hiện đối tượng chuyển động trong Video.
Video thu nhận được từ các camera sẽ được xử lý qua các công đoạn sau: Phát hiện đối tượng chuyển động, đánh dấu các đối tượng vừa phát hiện, phân loại chúng và sẽ tiến hành xử lý và cho ra kết quả là đối tượng đang cần theo vết đang ở vị trí nào, ta tiến hành đánh dấu (tô màu, kẻ khung) và từ đó liên tục bám sát đối tượng đó dựa trên một ngưỡng nhất định. Sau khi xác định vị trí đối tượng, ứng dụng sẽ tiếp tục điều khiển thiết bị chuột tới vị trí mong muốn (vị trí của đối tượng đang theo vết), đồng thời quyết định ra sự kiện gì (Click, Double click, Drap & Drop, Zoom out, Zoom in…)
Sau khi nghiên cứu các phương pháp đó, sẽ tìm ra phần ưu, phần nhược của từng phương pháp, từ đó có bước kết hợp giữa các phương pháp hoặc đưa ra các giải pháp để khắc phục các nhược điểm nhằm xây dựng một hệ thống giám sát tối ưu nhất có thể. Trong nghiên cứu này tôi cũng đã cài đặt thành công một số phương pháp phát hiện và đánh dấu đối tượng chuyển động. Hệ thống đầu vào trong bản demo này là lấy hình ảnh trực tiếp từ webcam gắn vào máy tính hoặc lấy một file Video có phần đặc trưng là AVI từ nguồn có sẵn hoặc các Video lấy từ nguồn trực tuyến.
Hướng nghiên cứu sâu hơn của đề tài này mà tôi quan tâm đó là phát hiện và phân loại từng phần chuyển động của đối tượng, từ đó xây dựng các ứng
dụng hỗ trợ cho con người. Một hướng khác nữa là tìm hiểu rõ về đặc điểm của lửa, từ đó xây dựng các hệ thống cảnh báo hỏa hoạn.
TÀI LIỆU THAM KHẢO
[1] A. Amer. Voting-based simultaneous tracking of multiple Video objects. In Proc. SPIE Int. Symposium on Electronic Imaging, Santa Clara, USA, January 2003.
[2] J. L. Barron, D. J. Fleet, and S. S. Beauchemin. Performance of optical flow techniques. International Journal of Computer Vision, 12(1):43–77, 2004.
[3] R. Cutler and L.S. Davis. Robust real-time periodic motion detection, analysis and applications. In IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003.
[4] R. T. Collins et al. A system for Video surveillance and monitoring: VSAM final report. Technical report CMU-RI-TR-00-12, Robotics Institute, Carnegie Mellon University, May 2006.
[5] T. Brodsky et al. Visual Surveillance in Retail Stores and in the Home,