Thuật toán tách nền

Một phần của tài liệu Thuật toán phát hiện chuyển động (Trang 43)

Thuật toán tách nền ở đây cũng khá giống so với đề xuất của Kim, chỉ khác ở điều kiện so sánh để tìm ra từ khóa phù hợp.

a. Tìm từ mã cm trong M mà It trong khoảng [Imin, Imax] b. Nếu thấy cm thì cập nhật từ mã

cm =

và khi đó It là nền.

c. Nếu không thì It là thuộc vật thể.

Trong đó, β là tham số thực dƣơng trong khoảng từ 0,9 đến 1.

So sánh với thuật toán của Kim, ta thấy rằng ở đây mỗi từ mã gồm 4 giá trị nguyên (fi,i,pi,qi) và 2 giá trị thực (Imin, Imax) – không có 3 giá trị thực lƣu thành phần RGB của từ mã. Nhƣ vậy, nếu mã hóa số nguyên và thực đều bằng 4 byte thì kích thƣớc của một từ mã trong phƣơng pháp này là 24 byte trong khi phƣơng pháp của Kim là 36 byte. Về tốc độ thuật toán thì thuật toán này cũng thực hiện nhanh hơn do ít các phép toán với số có dấu phẩy động, căn thức, và số học hơn. Phƣơng pháp Chế độ màu Tốc độ xử lý (khung/giây) Kích thƣớc từ Phƣơng pháp phân lớp thích nghi của Kim RGB 27 36 Phƣơng pháp đƣợc đề xuất Mức xám 41 24

Kết quả thí nghiệm cho thấy rằng: hai thuật toán cho kết quả khá giống nhau với các chuỗi nền chuyển động. Tuy vậy, mô hình đƣợc sử dụng ở đây là mức xám chứ không phải RGB nhƣ Kim đề xuất. Trong khi đó, thuật toán của Kim lại cho kết quả yếu – không thể phát hiện các vật thể với sự thay đổi cƣờng độ sáng chậm trong khoảng thời gian dài.

Chƣơng 2. THƢ VIỆN CHƢƠNG TRÌNH XỬ LÝ ĐỒ HỌA OPENCV

OpenCV là một thƣ viện đồ họa máy tính mã nguồn mở. Thƣ viện đƣợc viết bằng C/C++ và có thể chạy trên nhiều nền tảng hệ điều hành nhƣ Linux, Windows, và MacOS X. Nó cũng có thể đƣợc dùng để giao tiếp với các ngôn ngữ nhƣ Python, Ruby, Matlab,… OpenCV đƣợc thiết kế để chạy trên các ứng dụng máy tính một cách hiệu quả và chủ yếu tập trung hƣớng tới các ứng dụng thời gian thực. OpenCV đƣợc việc trên dựa trên ngôn ngữ C đã đƣợc tùy biến và có thể đem lại những ƣu điểm của các bộ xử lý đa nhân. Nếu chúng ta mong muốn một sự tối ƣu hơn nữa trên cấu trúc của Intel thì có thể sử dụng thƣ viện IPP (Intel’s Integrated Performance Primitives) với các cấu trúc lệnh ở mức thấp đƣợc tùy biến với nhiều thuật toán. OpenCV sẽ tự động tham chiếu tới thƣ viện IPP khi chạy chƣơng trình nếu thƣ viện này đƣợc cài đặt. OpenCV đem lại cho chúng ta một cách đơn giản để tiếp cận với các ứng dụng liên quan tới xử lý đồ họa trực quan. Thƣ viện này chứa hơn 500 hàm có thể đƣợc sử dụng trong rất nhiều các lĩnh vực liên quan tới xử lý đồ họa nhƣ kiểm tra sản phẩm, hình ảnh y tế, an ninh, giao diện ngƣời dùng, máy ảnh hiệu chuẩn, tự động hóa...Vì lý do đồ họa máy tính và trí tuệ máy tính luôn đi liên với nhau nên OpenCV cũng chứa thƣ viện trí tuệ máy tính( Machine Learning Library - MLL) khá đầy đủ có thể là nhận dạng mẫu dựa vào tính chất thống kê, xếp nhóm, nhận dạng khuôn mặt, nhận dạng chuyển động,…

Bản quyền mã nguồn mở của OpenCV cho phép chúng ta có thể sử dụng vào các ứng dụng thƣơng mại. Chính vì thế, thƣ viện này có một công đồng ngƣời sử dụng rất lớn từ các công ty lớn nhƣ IBM, Microsoft , Intel, SONY, Siemens,… tới các trung tâm nghiên cứu nhƣ Stanford, MIT, CMU, Cambridge, INRIA,… Từ khi phát hành bản thử nghiệm vào tháng 1 năm 1999, OpenCV đã đƣợc sử dụng trong rất nhiều các ứng dụng, sản phẩm, công trình nghiên cứu.

Một phần của tài liệu Thuật toán phát hiện chuyển động (Trang 43)