CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1 Giới thiệu về giải thuật tách cảnh nền Phương pháp tách cảnh nền (background subtraction) hay có thể gọi phương pháp phát hiện tiền cảnh (foreground detection) là một kỹ thuật trong lĩnh vực xử lý ảnh và thị giác máy tính. Tách cảnh nền là một quá trình tách đối tượng từ một mô hình nền, đối tượng được phát hiện bằng cách tính sự khác biệt giữa khung hình hiện tại với mô hình nền [1]. Ngày nay, tách cảnh nền là một khái niệm được ứng dụng rộng rãi để phát hiện đối tượng chuyển động trong các video được quay từ các camera tĩnh, và một số được mở rộng đối với các video được quay từ các camera di chuyển. Trong thập kỷ qua, một số thuật toán được phát triển cho giải thuật tách cảnh nền, và được sử dụng cho nhiều ứng dụng quan trọng khác nhau như các hệ thống giám sát hình ảnh (visual surveillance), phân tích video thể thao, chụp ảnh chuyển động, vv.
Hình 1-1: Sơ đồ khối hệ thống theo dõi đối tượng trong hệ thống giám sát phương tiện giao thông. Dựa vào thuật toán tách cảnh nền, các phương tiện giao thông được tách khỏi nền và sử dụng thuật toán tracking để theo dõi phương tiện Trong ứng dụng về hệ thống giám sát hình ảnh, tách cảnh nền trong một khung hình đóng một vai trò quan trọng để phân vùng và nhận dạng đối tượng để giám sát. Hình 1-1 mô tả hệ thống thống phát hiện và theo dõi (tracking) phương tiện giao thông di chuyển trong lĩnh vực giám sát HVTH: Trương Văn Cương 1 Tách cảnh nền thời gian thực dùng FPGA GVHD: TS. Trương Quang Vinh video.
Dựa trên mô hình cảnh nền (background model), đối tượng cần giám sát, quan tâm (foreground) là các phương tiện tham gia giao thông sẽ được được tách ra khỏi khung hình để đưa vào khâu xử lý, nhận dạng. Trong lĩnh vực truyền hình, tách cảnh nền được ứng dụng rộng rãi trong ứng dụng phim trường ảo. Phim trường ảo giúp cho các nhà sản xuất rất nhiều thuận lợi như không tốn thời gian chi phí dựng cảnh thật, diện tích phim trường không cần phải lớn, tạo cho người xem một cảm giác mới lạ, sống động. Người làm chương trình có thể đổi cách thể hiện nhanh chóng mà không cần phụ thuộc vào những yếu tố khách quan bên ngoài như thời gian, môi trường.
Ở đây người diễn viên không cần đứng trong một khung cảnh thật mà đứng trong một phim trường được sơn toàn bộ bằng một màu xanh thuần túy (xanh dương hoặc xanh lá cây). Lúc này diễn viên sẽ không cần đứng trong một khung cảnh thật mà đước trước một màn hình xanh thuần túy. Cảnh nền lúc này chính là màn hình xanh. Sau đó, diễn viên sẽ được tách ra khỏi cảnh nền để trộn với hình ảnh đồ họa trên máy tính, để người xem sẽ thấy trên màn hình là người diễn viên đang diễn xuất trên nền hình ảnh đồ họa được tạo từ máy tính chứ không phải là nền xanh nữa[Hình 1-2].Thiết bị thực hiện chức năng này được gọi là thiết bị KEY.
Hình 1-2: Mô tả ứng dụng thiết bị key, (a) Diễn viên quay trước một màn hình xanh dương, (b): Diễn viên được tách khỏi cảnh nền và ghép vào ảnh mới Các bước mô tả quá trình tách cảnh nền được mô tả ở Hình 1-3. Giải thuật tách cảnh nền tổng quát thường được chia làm bốn bước : Background Subtraction: Là bước trừ khung hình hiện tại với mô hình nền để được đối tượng thuộc tiền cảnh. Background modeling: là bước mô tả kiểu của mô hình được sử dụng để biểu diễn cảnh nền. Background Update Process: l là bước cập nhật cảnh nền để điều chỉnh mô hình do sự biến đổi của môi trường theo thời gian.
HVTH: Trương Văn Cương 2 Tách cảnh nền thời gian thực dùng FPGA GVHD: TS. Trương Quang Vinh Foreground detection: Sau khi có mô hình cảnh nền, tiền cảnh sẽ được phát hiện bằng cách so sánh sự khác biệt giữa khung hình hiện tại và mô hình nền. Đây là bước phân loại các điểm ảnh thuộc tiền cảnh hay cảnh nền, từ đó đối tượng sẽ được tách ra khỏi khung hình. Hình 1-3: Sơ đồ khối của quá trình tách cảnh nền Những vấn đề khó khăn khi thực hiện giải thuật tách cảnh nền là ảnh hưởng về độ sáng của môi trường thay đổi, nhiễu do camera, chi phí tính toán, và dung lượng bộ nhớ yêu cầu xử lý.
Ngoài ra, đối tượng được tách ra khỏi cảnh nền thường cho kết quả không tốt, cần một phương pháp để có để giải quyết vấn đề này. Phần giới thiệu về một số công trình liên quan sẽ phân tích khuyết điểm của từng phương pháp và cách giải quyết các khó khăn trên. Dựa trên cơ sở nghiên cứu các công trình liên quan, Học viên đưa ra phương pháp tiếp cận để đề xuất một giải thuật tách nền và hiện thực giải thuật trên cấu trúc phần cứng FPGA.2 Các công trình nghiên cứu liên quan 1.1 Một số phương pháp mô hình nền Có nhiều phương pháp mô hình nền được sử dụng cho giải thuật tách cảnh nền tùy thuộc vào từng ứng dụng khác nhau mà mỗi phương pháp đều có ưu điểm và giới hạn riêng. Một số phương pháp được ứng dụng tốt đối với nền tĩnh, một số phương pháp thì được áp dụng tốt cho nền động.
Phương pháp đơn giản nhất là chụp một bức ảnh nền không bao gồm bất kỳ một đối tượng nào sử HVTH: Trương Văn Cương 3 Tách cảnh nền thời gian thực dùng FPGA GVHD: TS. Trương Quang Vinh dụng làm mô hình nền. Tuy nhiên, trong một số môi trường thì cảnh nền không có sẵn và có thể luôn luôn thay đổi dưới nhiều điều kiện khác nhau như: độ sáng thay đổi, đối tượng xuất hiện và loại bỏ khỏi khung hình với tốc độ khác nhau. Một số phương pháp mô hình nền được tìm hiểu trong đề tài: - Mô hình nền cơ bản (Basic Background Modeling).
- Mô hình nền thống kê (Statistical Background Modeling). - Mô hình nền dựa trên phương pháp phân cụm (Clustering Background Modeling).1 Mô hình nền cơ bản Các phương pháp mô hình nền cơ bản có thể được liệt kê: phương pháp Frame differencing, phương pháp trung bình (Average - Running Average), trung vị (Median - Approximated Median), histogram (Histogram over time), Frame differencing. Ưu điểm của các phương pháp này: Dễ dàng thực hiện và sử dụng Nhanh chóng Mô hình nền tương đương không phải là hằng số, có thể thay đổi theo thời gian Nhược điểm: Độ chính xác phụ thuộc vào tốc độ di chuyển của đối tượng và tốc độ khung hình Yêu cầu bộ nhớ lớn Giá trị ngưỡng được sử dụng cho tất cả các điểm ảnh Do đo phương pháp này sẽ cho kết quả không tốt trong một số điều kiện: - Nếu nền là hai mô hình - Cảnh nền bao gồm nhiều đố itương di chuyển chậm - Điều kiện độ sáng thay đổi theo thời gian Trong phương pháp Frame differencing, đối tượng có thể được tách ra bằng cách trừ khung ảnh hiện tại với khung ảnh trước đó hoặc với khung ảnh trung bình của một số khung. Phương pháp này chỉ làm việc tốt ở một số điều kiện của chuyển động đối tượng và khung hình cụ thể, và rất nhạy với ngưỡng.
Các điểm ảnh thuộc đối tượng nếu thỏa mãn phương trình (1): |𝐼𝑖 (𝑥, 𝑦) − 𝐼𝑖−1 (𝑥, 𝑦)| > 𝑇 (1) Trong đó: 𝐼𝑖 (𝑥, 𝑦): là giá trị điểm ảnh của khung hình hiện tại ở vị trí (x,y), 𝐼𝑖−1 (𝑥, 𝑦) là giá trị điểm ảnh của khung hình trước đó tại vị trí (x,y), và T là giá trị nguõng. HVTH: Trương Văn Cương 4 Tách cảnh nền thời gian thực dùng FPGA GVHD: TS. Trương Quang Vinh Trong phương pháp trung bình [2], trung vị [3] thì sử dụng trung bình hoặc trung vị của N khung hình trước đó như là mô hình nền, Bg. Tuy nhiên phương pháp này yêu cầu rất tốn bộ nhớ.
Giá trị Bg có thể được tính bởi công thức (2). 𝐵𝑔𝑖 = 𝛼𝐼𝑖−1 (𝑥, 𝑦) + (1 − 𝛼)𝐵𝑔𝑖−1 (𝑥, 𝑦) (2) Trong đó α được gọi là Learning rate, thông thường được chọn là 0. Ngoài ra phương pháp trung bình cũng có thể được mở rộng bởi công thức (3). 𝛼𝐼𝑖−1 (𝑥, 𝑦) + (1 − 𝛼)𝐵𝑔𝑖−1 (𝑥, 𝑦), 𝑛ế𝑢 𝐼𝑖−1 (𝑥, 𝑦) 𝑙à 𝐵𝑔 𝐵𝑔𝑖 = { (3) 𝐵𝑔𝑖−1 (𝑥, 𝑦), 𝑛ế𝑢 𝐼𝑖−1 (𝑥, 𝑦) 𝑙à 𝐹𝑔 Theo phương trình (3), giá trị mô hình nền chỉ được cập nhật tại các điểm được xét là background.
Trong bài báo [4], tác giả đề xuất phương pháp tách nền dựa trên tính histogram trên không gian màu YCbCr. Phương pháp sẽ tính histogram của các điểm ảnh sau một số khung hình nhất định. Giá trị histogram của các điểm ảnh lớn hơn một giá trị ngưỡng nhất định sẽ được xem xét là điểm ảnh nền. Ưu điểm của phương pháp này là sử dụng không gian màu YCbCr, có thể giảm thiểu được sự ảnh hưởng của điều kiện ánh sáng môi trường.
Trong mô hình tách nền, histogram của môi điểm ảnh trong bức ảnh theo mỗi khung hình được định nghĩa. Để đạt được độ chính xác thông tin của ảnh nền, việc chọn không gian màu tính histogram là rất quan trọng. Một số phương pháp sử dungk ảnh xám hoặc RGB để tách và cập nhật ảnh nền. Tuy nhiên các không gian màu này rất dễ nhạy với sự thay đổi của ánh sáng.
Trong lĩnh vực xử lý ảnh, ngoài hai không gian màu trên, có một số không gian màu khác được sử dụng: HSV, HIS, YCbCr. Đối với những điểm ảnh thuộc ảnh nền, histogram của điểm ảnh đó theo thời gian sẽ không thay đổi. Dựa vào đặc điểm này ta có thể tách được cảnh nền ra khỏi ảnh cần xử lý.2 Phương pháp thống kê Cách đầu tiên để biểu diễn một cách thống kê mô hình nền là giả sử rằng lịch sử giá trị cường độ của điểm ảnh theo thời gian có thể được mô hình bởi một Gaussian đơn (single Gaussiaan) [5]. Tuy nhiên, mô hình đơn này không thể xử lý được những cảnh nền động (dynamic backgrounds) khi có sự thay đổi của cây cối, gợn sóng nước.
Để giải quyết vấn đề này, mô hình hỗ hợp Gaussian (Mixture of Gaussian - MoG) được sử dụng để mô hình một cảnh nền động [6]. Mô hình này có một vài nhược điểm, cảnh nền có các biến thay đổi nhanh không thể mô hình chính xác với số Gaussian từ 3 đến 5. Vì vậy, kỹ thuật Non-parametric được phát triển để đánh giá xác xuất tại mỗi điểm ảnh từ nhiều mẫu hiện tại theo thời gian sử dụng KDE (Kernel density estimation), nhưng phương pháp này tốn thời gian. Một số phương pháp sẽ được mô tả chi tiết ở phần dưới đây: HVTH: Trương Văn Cương 5 Tách cảnh nền thời gian thực dùng FPGA GVHD: TS.