Top Ad unit 728 × 90

Latest news

recent

Tìm chuyển động bằng phương pháp Background Subtraction

Trong bối cảnh ứng dụng là một camera tĩnh (static camera) quan sát vùng (Field of View) không thay đổi, thao tác trích xuất chuyển động (motion detection) từ video là thủ tục nền rất quan trọng trong nhiều ứng dụng phân tích video hiện nay.
Mục tiêu của xử lý này là làm sao tách bạch được đâu là vùng chuyển động (motion, foreground) đâu là nền (background) trong vùng không gian camera đang theo dõi.  Trong nhiều kỉ thuật thì Background subtraction là một nhóm các giải pháp có thể giúp giải quyết vấn đề này đang được sử dụng phổ biến. Ý tưởng chính của Background subtraction là trước tiên đi xác định mô hình background (một hình, một tập tham số, hay một công thức có khả năng mô tả background) qua từng khung hình (frame) trong chuỗi các khung hình tuần tự của video, sau đó dựa vào giá trị pixel của khung hình hiện tại mà tính toán sự khác biệt để suy ra foreground. Quá trình này có thể đơn giản được mô tả bằng hình minh họa bên dưới.

Để làm rõ hơn nhóm kỉ thuật Background subtraction, trong bài viết này Bioz sẽ trình bày vài thuật toán đơn giản như là ví dụ minh họa để người đọc có được cảm nhận trực quan về vấn đề. Sự khác biệt chính giữa các thuật toán nằm ở cách mà mô hình BG được tạo ra; phương pháp, các nhân tố được sử dụng trong quá trình tính sự khác biệt (Differencing) và xử lý Filtering được tiến hành như thế nào. Hình trên chỉ được đưa ra ở mức tổng quan nhất của Background Subtraction.

- Thuật toán đầu tiên cũng là sơ đẳng nhất có thể giúp hiểu một cách trực quan vấn đề có lẽ là thuật toán nền cố định (fixed background). Với thuật toán này Mô hình BG được sử dụng luôn cố định là một ảnh (frame) đầu vào làm giá trị khởi tạo cho thuật toán. Tại các khung hình (frame) tiếp theo, thao tác BG Differencing chỉ đơn giản là tính ra một ảnh lưu sự khác biệt của từng điểm ảnh giữa khung hình hiện tại và Mô hình BG (Diff Image). Từ đó quá trình Filtering là quá trình nhị phân hóa bằng một giá trị ngưỡng (tùy chọn) để đưa Diff Image về một hình nhị phân trong đó điểm ảnh trắng thể hiện cho foreground hay object còn điểm ảnh đen thể hiện cho nền (background). Từ kết quả đầu ra của Background Subtraction người ta tiếp tục tiến hành các thuật toán như morphology để loại nhiễu, đánh nhãn các thành phần liên kết (connected component labeling) để khoanh vùng (segmentation) các đối tượng tách bạch ra với nhau. Các thuật toán này đã được trình bày trong vài bài viết khác của IEEV.org. Dưới đây là sơ đồ thuật toán:

+ Khởi tạo: oBgImg = oCurImg
+ Xử lý:
                   Loop: duyệt từng frame của video 1 ... N
                   {
                         Loop: duyệt từng điểm ảnh [x, y]
                         {
                                   oDiffImg[x, y] = abs(oCurImg[x, y] - oBgImg[x, y]);
                                   if(oDiffImg[x, y] > THRESHOLD)
                                   {
                                          oMaskImg[x, y] = 255;
                                   }else{
                                          oMaskImg[x, y] = 0;
                                   }
                         }
                         ...
                   }

Còn nữa...


Binh Nguyen - Bioz
Tìm chuyển động bằng phương pháp Background Subtraction Reviewed by Bioz Nguyen on 2:30:00 PM Rating: 5
All Rights Reserved by IEEV © 2009 - 2016
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.