Đề tài Tìm hiểu và xây dựng hệ thống bám mục tiêu di động sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Thị giác máy là một lĩnh vực đã và đang rất phát triển. Khái niệm xử lý ảnh và thị giác máy – Computer vision có liên quan tới nhiều ngành học và hướng nghiên cứu khác nhau. Từ những năm 1970 khi mà 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, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh, các đoạn phim thì khái niệm và kỹ thuật về thị giác máy ngày càng được nhắc đến và nghiên cứu nhiều hơn cho tới ngày nay. Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều. Việc kết hợp giữa thị giác máy với các kỹ thuật khác như công nghệ thông tin, truyền thông, điện tử, điều khiển tự động, cơ khí cho chúng ta rất nhiều ứng dụng trong đời sống hàng ngày cũng như trong khoa học, an ninh, quân sự Ngày nay, ứng dụng của thị giác máy đã trở nên rất rộng lớn và đa dạng, len lỏi vào mọi lĩnh vực từ quân sự, khoa học, vũ trụ, cho đến y học, sản xuất, và tự động hóa tòa nhà. Trong thời gian thực tập tốt nghiệp, được sự giúp đỡ của thầy cô hướng dẫn em đã từng bước tiếp cận và nghiên cứu cơ sở ban đầu về xử lý ảnh số, sử dụng thư viện mã nguồn mở OpenCV, lập trình Visual C++ và xây dựng giao diện điều khiển trên máy tính. Công nghệ xử lý ảnh bao gồm rất nhiều hướng nghiên cứu, một trong những hướng nghiên cứu của em đó là tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV. Báo cáo thực tập bao gồm: Chương 1: Tổng quan về xử lý ảnh và thư viện mã nguồn mở Opencv Chương 2: Cơ sở về hệ thống bám ảnh tự động Chương 3: Tìm hiểu thư viện mã nguồn mở OpenCV của Intel trên nền Visual C++ Chương 4: Xây dựng giao diện điều khiển dùng Visual C++

doc36 trang | Chia sẻ: tuandn | Lượt xem: 3586 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu và xây dựng hệ thống bám mục tiêu di động sử dụng thuật toán xử lý ảnh Camshift của OpenCV, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỞ ĐẦU Thị giác máy là một lĩnh vực đã và đang rất phát triển. Khái niệm xử lý ảnh và thị giác máy – Computer vision có liên quan tới nhiều ngành học và hướng nghiên cứu khác nhau. Từ những năm 1970 khi mà 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, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh, các đoạn phim thì khái niệm và kỹ thuật về thị giác máy ngày càng được nhắc đến và nghiên cứu nhiều hơn cho tới ngày nay. Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều. Việc kết hợp giữa thị giác máy với các kỹ thuật khác như công nghệ thông tin, truyền thông, điện tử, điều khiển tự động, cơ khí… cho chúng ta rất nhiều ứng dụng trong đời sống hàng ngày cũng như trong khoa học, an ninh, quân sự… Ngày nay, ứng dụng của thị giác máy đã trở nên rất rộng lớn và đa dạng, len lỏi vào mọi lĩnh vực từ quân sự, khoa học, vũ trụ, cho đến y học, sản xuất, và tự động hóa tòa nhà. Trong thời gian thực tập tốt nghiệp, được sự giúp đỡ của thầy cô hướng dẫn em đã từng bước tiếp cận và nghiên cứu cơ sở ban đầu về xử lý ảnh số, sử dụng thư viện mã nguồn mở OpenCV, lập trình Visual C++ và xây dựng giao diện điều khiển trên máy tính. Công nghệ xử lý ảnh bao gồm rất nhiều hướng nghiên cứu, một trong những hướng nghiên cứu của em đó là tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV. Báo cáo thực tập bao gồm: Chương 1: Tổng quan về xử lý ảnh và thư viện mã nguồn mở Opencv Chương 2: Cơ sở về hệ thống bám ảnh tự động Chương 3: Tìm hiểu thư viện mã nguồn mở OpenCV của Intel trên nền Visual C++ Chương 4: Xây dựng giao diện điều khiển dùng Visual C++ Chương 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN MÃ NGUỒN MỞ OPENCV 1.1 Giới thiệu một số ứng dụng của xử lý ảnh Trong những năm gần đây, Trên thế giới nghiên cứu ứng dụng xử lý và nhận dạng ảnh (Machine Vision) đang là hướng nghiên cứu tập trung của rất nhiều nhà khoa học trong đa số các lĩnh vực. Xử lý ảnh số đã được phát triển và trở thành một lĩnh vực khoa học. Xử lý ảnh số không chỉ nâng cao chất lượng của ảnh mà còn phân tích và lý giải nó phục vụ các mục đích riêng biệt. Các thiết bị ngày nay được ứng dụng công nghệ xử lý và điều khiển theo hình ảnh ngày càng nhiều và cho thấy rõ sự ưu việt của nó, trong đó có rất nhiều ứng dụng mang tính cách mạng như: 1.1.1 Trong quân sự: Các hệ thống tích hợp quang hồng ngoại có khả năng tự động điều khiển dàn hỏa lực (pháo, tên lửa) được lắp đặt cho các trận địa cao xạ, trên xe tăng, tàu chiến, máy bay, tên lửa hoặc vệ tinh (Hình 1). Chúng được thay thế và hỗ trợ các dàn rada dễ bị nhiễu trong việc tự động phát hiện, cảnh giới, bám bắt mục tiêu. Đặc biệt có những loại lắp trên máy bay có khả năng điều khiển hỏa lực đánh phá hàng chục mục tiêu một lúc. Ngoài ra còn phải kể đến các đầu tự dẫn tên lửa và đạn thông minh 1.1.2 Trong an ninh, phòng chống tội phạm, bảo vệ pháp luật: Các hệ thống camera nhận dạng khuôn mặt vân tay tự động cũng như phát hiện, theo dõi, cảnh báo các âm mưu và hoạt động khủng bố. Các xe robốt tự hành có gắn các camera cũng được ứng dụng trong các môi trường độc hại, dò phá bom mìn (Hình 1.1). 1.1.3 Trong lĩnh vực hàng không vũ trụ: Các hệ thống ống kính chụp ảnh viễn thám (remote sensing) lắp trên các vệ tinh bay quanh trái đất có thể chụp và quan sát được các vật kích cỡ 0,5 m từ độ cao 750 km trong mọi điều kiện thời tiết (Hình 1.1).. Việc nối ghép các ống kính này với hệ thống GPS sẽ cho phép xây dựng các bản đồ số có những lĩnh vực ứng dụng cực kỳ quan trọng trong quốc phòng an ninh, phát triển kinh tế, xã hội... 1.1.4 Trong công nghiệp, giao thông, xây dựng : Hệ thống quang điện tử đóng vai trò của các thị giác máy (machine vision) có khả năng tự động đo đạc kiểm tra chất lượng sản phẩm trong các dây truyền sản xuất: phân loại hạt ngũ cốc, cà phê; tìm lỗi lắp ráp linh kiện các bản vi mạch và khuyết tật các mối hàn và động cơ... Các hệ thống quang điện tử cũng được ứng dụng ngày càng nhiều trong giao thông như đo tốc độ, tự động kiểm soát điều khiển và phân luồng giao thông (Hình 1.2). 1.1.5 Trong nghiên cứu y sinh dược học: Các kính hiển vi có khả năng tự động nhận dạng và đo đếm các tế bào với độ chính xác cao. Các kính hiển vi có hệ thống dẫn đường laser cho phép thực hiện những phẫu thuật rất phức tạp như mổ u não, nơi mà một sự không chính xác cỡ mm cũng gây tổn hại đến các dây thần kinh chằng chịt xung quanh... 1.1.6 Trong công nghiệp giải trí truyền hình: Các hệ thống tích hợp có thể điều khiển các camera kích thước và khối lượng lớn dễ dàng tự động bám theo các đối tượng chuyển động nhanh như bóng đang bay, đua xe... Một số hình ảnh hệ thống sử dụng công nghệ xử lý ảnh: Hình 1.1 Một số hệ thống tích hợp quang hồng ngoại, và ảnh nhiệt trên các phương tiện di động Hình 1.2 Một số hệ thống camera robot tự hành, trong hàng không vũ trụ 1.2. Một số giải pháp phần cứng phục vụ xử lý ảnh Để giải bài toán xử lý bằng hình ảnh, ta có rất nhiều giái pháp khác nhau. Từ phần cứng cho tới các phần mềm. Ta có thể điểm qua một vài phương pháp hay được sử dụng và có hiệu quả cao như sau. 1.2.1 Máy tính PC, laptop Đây là một trong những phương pháp đơn giản nhất. Có thể tận Dụng các mainboard máy tính hay thậm chí các máy tính xách tay với chức năng là một đơn vị xử lý ảnh, và đưa ra quyết định. Với việc kết nối một camera hay webcam ta hoàn toàn chủ động trong quá trình nhận/xử lý ảnh. Các giao tiếp ngoại vi phổ biến như UART, Parallel, USB hay KeyboarD. Việc sử dụng PC, laptop sẽ có những ưu/ nhược điểm sau: * Ưu điểm: - Rất dễ dàng phát triển các ứng dụng dựa trên các phần mềm lập trình như C, VisualC, VisualBasic…, rất phù hợp cho những người mới bắt đầu nghiên cứu về lĩnh vực xử lý ảnh đặc biệt là hiện nay có rất nhiều thư viện mở phục vụ cho xử lý ảnh, do đó rất thuận tiện cho người mới bắt đầu tìm hiểu về xử lý ảnh - Có tốc độ xử lý không cao - Dễ Dàng lập trình, kiểm lỗi - Hệ điều hành quen thuộc (winDows/linux) - Các công cụ lập trình/biên Dịch phổ biến (C, C++, VisualC, VisualBasic..) * Nhược điểm - Kích thước, khối lượng lớn - Dễ hư hỏng Do va đập hay các tác nhân khác - Có quá nhiều thành phần không sử Dụng đến - Chỉ có thể giao tiếp với ngoại vi thông qua các chuẩn phổ biến như UART, USB 1.2.2 Main công nghiệp, máy tính nhúng PC 104 Hình 1.3 Main công nghiệp PC 104 Ta có thể sử dụng mainboad PC104 với các chức năng như một máy tính thông thường. Việc sử dụng PC104 sẽ có những ưu/ nhược điểm sau: Ưu điểm: - Có tốc độ xử lý cao - Dễ Dàng lập trình, kiểm lỗi - Hệ điều hành quen thuộc (windows/linux) - Các công cụ lập trình/biên dịch phổ biến (MSVC, C++..) Nhược điểm: - Kích thước lớn - Có quá nhiều thành phần không sử dụng đến - Giá thành đắt (>300$) - Chỉ có thể giao tiếp với ngoại vi thông qua các chuẩn phổ biến như UART, USB 1.2.3 Single Board Computer(SBC) sử dụng Single on Chip (SoC) Hình 1.4 SBC sử dụng SoC SBC (Single board computer) có sử dụng các SoC là buớc tiến lớn trong việc xây d ựng thiết bị với khả năng tính toán và xử lý như một máy tính thông thường. Với nhiều ưu điểm hơn hẳn so với các thiết bị khác như. Sử dụng các SoC làm bộ xử lý trung tâm có khả năng chuyên biệt về xử lý hình ảnh hay xử lý trên môi trường mạng rất hữu hiệu. Do vậy tuỳ và bài toán đặt ra mà ta có thể chọn các SBC cho các SoC phù hợp với yêu cầu cụ thể. Hiện nay đã có nhiều SoC có khả năng tích hợp các DSP Processor vào trong nhân nhằm tăng khả năng xử lý (sign processing). Ưu điểm: - Kích thước rất nhỏ - Giá thành rẻ (~<100$) - Hỗ trợ SPI, I2C, I2S, MMC, SDCarD, UART, USB2.0/1.1 v..v - Có tốc độ xử lý cao - Sử dụng hệ điều hành Linux - Được sự hỗ trợ rất lớn của cộng đồng mã nguồn mở. Từ HĐH, kernel hay rất nhiều - Các công cụ biên dịch phổ biến gcc - Các công cụ hỗ trợ lập trình rất nhiều. Eclipse, Vim, Emacs v..v Nhược điểm: - Việc chạy/kiểm thử phải thực hiện giả lập trên máy tính trước khi đưa vào mạch - Am hiểu kiến thức về các giao tiếp ngoại vi, kiến trúc về SBC 1.2.4 FPGA Đây là giải pháp về phần cứng mà hay được sử dụng hiện nay. Tận dụng đặc tính của FPGA là linh hoạt và tốc độ xử lý nhanh (cứng hoá các giải thuật). Ta có thể kết nối FPGA với các CCD sensor để điều khiển và nhận các frame hình thông qua bus dữ liệu tốc độ cao. Ví dụ ta có thể tham khảo mô hình của CCD Sensor MT9T001 của Micron như sau: Hình 1.5 CCD Sensor MT9T001 của hãng Micron Ta có thể thao tác trực tiếp vào các thanh ghi điều khiển của MT9T001 thông qua bus TWI, và lấy các frame hình qua bus data 10bit. FPGA có tốc độ nhanh sẽ làm nhiệm vụ điều khiển MT9T001 và lấy dữ liệu liên tục từ data bus sau đó đưa vào bộ nhớ tạm để xử lý. 1.2.5 DSP (Digital signal processing) Bộ xử lý tín hiệu số DSP được giới thiệu đầu tiên vào những năm 1978, 1979 bởi Intel, Bell Các bộ xử lý DSP có những đặc tính nổi bật như sau: - Thích hợp cho các quá trình cần xử lý theo thời gian thực - Hiệu năng được tối ưu với dữ liệu dạng luồng - Chương trình và dữ liệu được bố chí riêng biệt (kiến trúc Harvard) - Tích hợp các chỉ thị lệnh đặc biệt SIMD (Single Instruction, Multiple Data) - Không hỗ trợ đa nhiệm - Tương tác trực tiếp với bộ nhớ của thiết bị - Tích hợp sẵn ADC và DAC Hình 1.6 một board xử lý ảnh sử dụng DSP DSP ngày nay đã được tích hợp nhiều thành phần khác nhau, làm tăng khả năng xử lý linh hoạt và tốc độ xử lý. Đặc biệt các DSP rất thích hợp cho những nhu cầu cần tính toán nhanh, xử lý số thực. Đặc biệt một số còn có sẵn những chỉ thị lệnh giúp cho việc tính toán ma trận, tích chập hay thậm chí các phép biến đổi DCT trong quá trình nén ảnh. Với những ưu điểm đó DSP được dùng trong nhiều thiết bị xử lý ảnh chuyên nghiệp. Chương 2: CƠ SỞ VỀ HỆ THỐNG BÁM ẢNH TỰ ĐỘNG TỔNG QUAN: Phát hiện và phân loại các đối tượng di động là một lĩnh vực quan trọng trong nghiên cứu thị giác máy tính. Lĩnh vực này rất quan trọng do thế giới quan sát được của chúng ta là động và ta liên tiếp bắt gặp những cảnh video chứa đựng một số lượng lớn các đối tượng di động. Để phân tách, phát hiện và bám những đối tượng này từ một chuỗi các ảnh video là một thách thức quan trọng nhất mà các chuyên gia thị giác máy tính phải đối mặt. Trong chương này chung ta sẽ trình bày vấn đề và các giải pháp có thể của mỗi nhiệm vụ con trong nhiệm vụ phân tích cảnh động. Các hệ thống này có ứng dụng trong các lĩnh vực giám sát người, hệ thống bảo vệ giám sát giao thông, thị giác công nghiệp, giám sát phòng ngự,… YÊU CẦU : Bước đầu tiên để giải bài toán phát hiện và bám đối tượng di động là phân tách nền (background) và vật (foreground) bằng cách trừ nền từ mỗi khung ảnh của chuỗi video. Sự sai khác thu được chỉ ra các đối tượng di động,… người di động hoặc ôto di động được gọi là vật. Tuy nhiên, sự phức tạp trong việc tách các vật di động trong cảnh động sẽ tăng theo sự xuất hiện của các chuyển động sinh ra bởi các hiện tượng khác. Các hiện tượng đó có thể là sự thay đổi chiếu sáng, sự thay đổi mầu do tự cân bằng trắng (hoặc hiệu chỉnh mầu) trong camera mầu, sự thay đổi giá trị pixel do rung rinh hoặc các hiện tượng khác, từ đó sinh ra các chuyển động giả trong cảnh động. Các chuyển động cũng còn do chuyển động của bóng, cây và nhiều thứ khác trong cảnh cần được xem xét và phát hiện đó là các chuyển động giả. Trong diễn dải ở trên, chúng ta cần mô hình nền sao cho chỉ những vật di động cần quan tâm được phát hiện và bám. MÔ HÌNH NỀN THÍCH NGHI: Những vấn đề chính để hiểu mô hình nền là: Tại sao mô hình nền là cần thiết. Các phương pháp cũ của mô hình nền là gì và Các chiến lược mới dựa vào một số khái niệm được đưa ra bởi một vài nhà nghiên cứu gần đây nhất. Chúng ta hiểu nền là phần tĩnh trong cảnh không thay đổi theo thời gian. Chỉ có những đối tượng di động thay đổi vị trí của chúng trong cảnh. Tuy nhiên, có một vài yếu tố tạo ra sự thay đổi trong nền. Nó thực sự quan trọng do trong khi thực hiện giám sát cảnh liên tục, chúng ta nên mô hình nền này là liên tục. Mô hình nền là cần thiết vì những lý do sau: Có khả năng chiếu sáng trong cảnh ngoài trời thay đổi thường xuyên do mây, mưa, sương khói… Các hiện tượng tự nhiên như dông gió cũng sinh ra sự thay đổi trong nền do sự di động của cành cây, bụi cây… Thậm chí trong một ngày bình thường, toàn bộ sự chiếu sáng cũng thay đổi từ bình minh đến hoang hôn khi mà độ chiếu sáng của mặt trời thay đổi liên tục. Sự thay đổi quan sát được từ các tia phản chiếu và ánh sáng của mặt trời do có sự thay đổi góc chiếu sáng của mặt trời. Ánh sáng nhân tạo như đèn đường cũng tạo ra sự thay đổi nền. Có những đối tượng di động khác, bao gồm bóng, làm mờ trường thị giác và sinh ra nhiễu loạn và thay đổi nền. Mỗi yếu tố trên sinh ra sự thay đổi nền, do vậy nó không còn là một thực thể tĩnh. Mô hình nền thực sự là một thành phần thiết yếu trong phân tích cảnh động. Phương pháp mô hình nền thất bại nếu thuật toán không mô hình nền là liên tục, do nền phải trải qua sự thay đổi liên tục sinh ra bởi các yếu tố kể trên. Mô hình nền không thích nghi và liên tục thì các lỗi nền sẽ được tích lũy liên tục. Khi đó phát hiện và bám đối tượng di động có thể gặp sai lầm. 3.1 Chiến lược mô hình hóa nền cơ bản Trong trường hợp cảnh thay đổi liên tục, mỗi pixel có thể có chuyển động không đổi. Điều này có nghĩa là giá trị độ sáng của một pixel nhất định có sự thay đổi là không đổi trong khi môi trường thay đổi. Các hiện tượng quan tâm khác xuất hiện khá thường xuyên là, một pixel thuộc về lớp lá cây ở một khung ảnh nhất định và pixel đó lại thuộc lớp khác (người chẳng hạn) ở khung ảnh tiếp theo. Do đó mỗi biến pixel nên được mô hình là thay đổi thống kê. Sự ước lượng liên tục mô hình thống kê này là triết lý chính của mô hình hóa nền. Trong trường hợp có rất ít hoặc không có đối tượng di động trong nền, chúng ta có thể lấy trung bình đơn giản của các khung ảnh nền để tạo một nền tĩnh gần đúng. Phương pháp mô hình hóa nền đơn giản làm việc khi chúng ta lấy một số lớn các khung ảnh nền không có bất kỳ đối tượng di động trong cảnh. Tuy nhiên, trong hầu hết trường hợp thực tế có một lượng đáng kế các đối tượng di động. Điều này đòi hỏi phương pháp mô hình hóa nền bền vững. 3.2 Một phương pháp mô hình hóa nền bền vững Một pixel trong một cảnh có thể được hiểu là thuộc về một trong nhiều lớp mẫu như lá cây, cỏ … Mỗi lớp có một phân bố xác suất riêng. Mỗi lớp mẫu riêng sẽ được mô hình hóa bằng một histogram giá trị cường độ riêng, histogram này quy định một đo lường phân bố của nó. Khi pixel thuộc về chỉ một lớp đơn khối thì phân bố các giá trị lý tưởng nên là compact, phân bố giống gauss quanh một vài điểm trung bình. Tuy nhiên, khi một pixel có trạng thái chuyển động không đổi thì một pixel nhất định trong cảnh có thể được xem xét là một tổ hợp của nhiều phân bố gauss và chỉ một gauss không đủ để mô hình giá trị pixel. Trong thực tế, nhiều đối tượng có thể xuất hiện trong trường nhìn của pixel nhất định do điều kiện chiếu sáng thay đổi. Do vậy, để mô hình một pixel thường phải dùng phân bố gauss thích nghi. Ta sử dụng một phân bố gauss trộn thích nghi để xấp xỉ quá trình này. Bây giờ ta hãy xem xét quá khứ của một pixel theo thời gian, ở đây về bản chất là một thang thời gian của các giá trị xám (hoặc là vector đối với ảnh mầu). Tại điểm thời gian t, quá khứ của một pixel nhất định {X1, X2, …, Xt-1} , được lấy bằng tổ hợp trọng số của một số có phân bố gauss (K) như phương trình dưới. Giá trị K lớn hơn sẽ cho xấp xỉ tốt hơn. ở đó là trọng số được ước lượng ở khung ảnh thứ t của phân bố gauss thứ i, có giá trị trung bình và phương sai biểu diễn lớp mẫu thứ i. Phân bố gauss của lớp i là: Các tham số phải ước lượng và cập nhật là (1) vector đặc trưng trung bình , và (2) ma trận hiệp biến . Nếu các điểm đặc trưng độc lập thì các thành phần hiệp biến của hướng tới 0. Giả thiết rằng quan hệ giữa các thành phần R, G, B của pixel là rất nhỏ và các biến đổi của chúng được nhận biết thì ma trận hiệp biến được khai triển như sau: ở đó I là ma trận đơn vị. Giá trị pixel mới được biểu diễn bởi K thành phần chính trong mô hình trộn và giá trị này thường để cập nhật mô hình. Khi giá trị cường độ của một pixel rơi vào trong một khoảng định trước của phân bố, ta nói rằng pixel phù hợp với phân bố. Nếu K phân bố không phù hợp với giá trị hiện tại thì phân bố xác suất kém nhất được thay thế bằng phân bố mới có giá trị hiện là giá trị trung bình. Trọng số tiền nghiệm của K phân bố ở thời điểm t+1được hiệu chỉnh như sau: ở đó và là hai hằng số học và là 1 nếu hợp mô hình và 0 nếu không hợp. Giá trị trung bình và hiệp biến được cập nhật như sau: và Hằng số học và cập nhật các phương trình điều khiển tốc độ của việc học và bị ràng buộc . Mục đích cơ bản của ước lượng mô hình nền là để xác định mô hình trộn Gauss nào được tạo ra là giống nhất với quá trình nền. Fig 1. Sau khi xếp loại các phân bố bằng chiến lược thích hợp, phân bố nền giống nhất được giữ lại ở đỉnh của danh sách xếp loại và các phân bố nền tức thời kém nhất sẽ đổ về phía dưới của danh sách, ở đó có thể bị thay thế bởi phân bố mới. Một ưu điểm quan trọng nhất của mô hình nền này là khi một pixel trong vật được cho phép trở thành một phần của nền, nó không làm hỏng mô hình nền hiện hành. GẮN NHÃN THÀNH PHẦN LIÊN KẾT Khi ta lấy một tập các pixel vật trong mỗi khung, sau khi mô hình hóa nền và trừ nền thì quan trọng là phải phân ngưỡng chúng để đạt được một tập các điểm nhị phân. Các pixel vật nhị phân sẽ được phân đoạn thành các vùng bởi thuật toán gắn nhãn thành phần liên kết, tại đây sẽ thu được một tập các đốm (blob) tương ứng với mỗi đối tượng di động. Mục tiêu của gắn nhãn thành phân liên kết là để xác định tất cả các tập thành phần được liên kết với nhau trong ảnh và quy cho một nhãn riêng với mỗi pixel trong thành phần liên kết giống nhau. Ảnh nhị phân được quét từ trái qua phải, pixel đối tượng chưa gắn nhãn được gán một nhãn gọi là X và mỗi pixel đối tượng lân cận của nó được gán nhãn giống nhau cho tới khi tất cả các pixel đối tượng trong ảnh được gắn nhãn. Như vậy thuật toán đệ quy có thể tính toán hiệu quả trên máy lưới song song để gắn nhãn thành phần liên kết. Một chiến lược xen kẽ của việc gắn nhãn thành phần liên kết có thể được định nghĩa trong 2 phần. Phần đầu, mỗi pixel đối tượng được gán một nhãn theo tiêu chuẩn sau: Nếu cả lân cận trên P(i-1,j) và trái P(i,j-1) của pixel đối tượng P(i,j) trong lân cận liên kết 4 có nhãn giống nhau X, thì gán nhãn X cho P(i,j). Nếu hoặc là lân cận trên P(i-1,j) hoặc là trái P(i,j-1) của pixel đối tượng P(i,j) trong lân cận liên kết 4 có nhãn X, thì gán nhãn X cho P(i,j). Nếu lân cân trên P(i-1,j) có nhãn X và lân cận trái P(i,j-1) của pixel đối tượng P(i,j) trong liên kết 4 có nhãn khác làY (X≠Y) thì gán nhãn X cho P(i,j). Nhập X và Y vào một bảng tương đương gọi là E. Nếu cả lân cận trên P(i-1,j) và trái P(i,j-1) của pixel đối tượng P(i,j) trong lân cận liên kết 4 không là pixel đối tượng (nền) thì gán nhãn mới Z cho P(i,j). Nhập Z vào bảng tương đương E. Thường ta gán nhãn là một số tự nhiên cho mỗi thành phần. Bản tương đương E chứa đựng một tập các nhãn tượng đương. Phần hai, các nhãn tương đương được hợp nhất để tạo một nhãn duy nhất cho mỗi thành phần liên kết trong ảnh. Nếu X và Y là hai nhãn tương đương thì gán lại Y bởi X nếu X<Y và ngược lại. Kết quả là mỗi thành phân liên kết được gán một nhãn duy nhất. Do đó thuật toán gắn nhãn thành phần liên kết ở trên là thuật toán 2 phần. Trong phần đầu các pixel đối tượng thuộc về thành phân liên kết giống nhau được gán nhãn khác nhau và được ghi là tương đương trong bảng tương đương E. Trong phần 2 các nhãn tượng đương được hợp nhất do vậy mỗi thành phần liên kết được gán một nhãn duy nhất. PHÁT HIỆN BÓNG Phát hiện và khử bóng có lẽ là một nhiệm vụ quan trong nhất trong giám sát video [4]-[8]. Nếu ta có thể loại bỏ các bóng thì nhiệm vụ nhận dạng đối tượng và lý giải cảnh trở nên dễ dàng. Chi tiết quan trọng nhất của bóng là rằng các pixel tạo thành đối tượng di động và bóng của nó đ