Trong phần báo cáo này sẽ giới thiệu chung về thuật toán cơ bản của trừ ảnh nền sau, các phương pháp chô từng kỹ thuật trên, thử nghiệm cho một vài phương pháp trên Matlab.. Đầu vào của
Trang 1VIÖN C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG
BÀI TẬP LỚN
MÔN XỬ LÝ ẢNH
ĐỀ TÀI: CÁC KỸ THUẬT TRONG TRỪ ẢNH NỀN
(BACKGROUND SUBTRACTION)
Hà Nội, 12 - 2015
Giảng viên hướng dẫn : PGS.TS Nguyễn Thị Hoàng Lan Sinh viên thực hiện
Trang 2Mục lục
LỜI NÓI ĐẦU 3
Bảng các ký hiệu thường dùng trong báo cáo 4
I Giới thiệu: 5
1 Các khái niệm cơ bản: 5
2 Giới thiệu về trừ ảnh nền: 5
II Thuật toán cơ bản: 5
III Các kỹ thuật trong quá trình tạo mô hình nền 7
1 Kỹ thuật không đệ quy: 7
1.1 Phương pháp so sánh giữa hai ảnh khung hình liên tiếp (Frame Diffencing): 7
1.2 Sử dụng bộ lọc trung vị (Median filter): 7
1.3 Bộ lọc trung bình (Mean filter): 8
2 Kỹ thuật đệ quy: 8
2.1 Phương pháp làm cho gần đúng với bộ lọc trung vị (Approximated median filter): 8 2.2 Phương pháp trộn Gauss (Mixture of Gaussians): 8
IV Thử nghiệm: 9
1 Kịch bản thử nghiệm: 9
2 Kết quả của thử nghiệm: 9
Tài liệu tham khảo: 10
Trang 3Nguyễn Việt Anh - 20121227 Trang 3
LỜI NÓI ĐẦU
Trừ ảnh nền là một trong những kỹ thuật quan trọng trong xử lý ảnh Trừ ảnh nền được áp dụng khá rộng rãi trong thực tế như camera giám sát, nhận dạng đối tượng, nhận dạng cử chỉ đối tượng, giao thông để theo dõi lưu lượng xe Trong khuôn khổ của bài tập lớn này là các kỹ thuật trong trừ ảnh nền em sẽ tìm hiểu về hai kỹ thuật đệ quy và không đệ quy Trong phần báo cáo này sẽ giới thiệu chung về thuật toán cơ bản của trừ ảnh nền sau, các phương pháp chô từng kỹ thuật trên, thử nghiệm cho một vài
phương pháp trên Matlab
Do em lần đầu làm về lĩnh vực này nên trong bài báo cáo khó tránh khỏi những sai sót Em xin chân thành cảm ơn cô Nguyễn Thị Hoàng Lan đã hướng dẫn giúp em hoàn thành báo cáo này
Trang 4Bảng các ký hiệu thường dùng trong báo cáo
( ) Giá trị của pixel của ảnh khung hình
ta đang xét tại tọa độ x,y thời điểm t ( ) Giá trị của pixel của mô hình nền ta
đang xét tại tọa độ (x,y) thời điểm t
Trang 5Nguyễn Việt Anh - 20121227 Trang 5
1 Các khái niệm cơ bản:
- Trước hết chúng ta cần hiểu rõ 2 khái niệm Background và Foreground
- Trong 1 bức ảnh được chia làm 3 thành phần là background, middle ground và foreground Background là nền sau hay nền phụ Nó được hiểu là cái giúp làm nổi bật phần ở phía trên nó cụ thể ở đây là middleground và foreground Foreground hay còn gọi là tiền cảnh, nền trước là phần được nổi bật ở phía trên 1 bức ảnh
- Ta cùng xem xét ví dụ sau để hiểu rõ hơn khái niệm về background, foreground và middle ground
Hình 1 Ví dụ về ảnh cụ thể
Bức ảnh trên giúp ta nhận biết được rõ 3 thành phần trong 1 bức ảnh Những đối tượng ở phía trước chúng ta và gần nhất với chúng ta thì nằm trong foreground Những đối tượng đó thường rộng hơn, rõ ràng hơn và nổi bật hơn trong bức ảnh Những đối tượng ở khoảng cách vừa thì nằm trong middle ground Những đối tượng ở xa nhất so với chúng ta, không
rõ ràng lắm, không nổi bật so với 2 thành phần ở trên thì nằm trong background
2 Giới thiệu về trừ ảnh nền:
- Là một kỹ thuật trong lĩnh vực xử lý ảnh và thị giác máy tính
- Sau quá trình tiền xử lý ảnh đối tượng quan tâm là (người, xe hơi, văn bản) được tách ra khỏi nền của ảnh
- Là một phương pháp được sử dụng rộng rãi để phát hiện đối tượng chuyển động trong video từ máy ảnh tĩnh
- Hướng tiếp cận căn bản là phát hiện các đối tượng từ sự khác biệt giữa khung hình hiện tại và một khung hình tham chiếu thường gọi là “hình nền”, hay “mô hình nền”
Trang 6Hình 2 Mô hình của thuật toán trừ nền
Thuật toán trên được chia làm 4 bước theo như sơ đồ ở trên:
- Đầu tiên là quá trình tiền xử lý (Preprocessing) Đây là giai đoạn tiền xử
lý ban đầu nhằm làm nhiễu môi trường như là mưa và tuyết Đầu vào của quá trình này là video có nhiễu môi trường, đầu ra là video đã được
xử lý làm giảm bớt nhiễu
- Bước thứ hai là quá trình tạo mô hình nền sau (Background Modeling)
Đây là giai đoạn quan trọng nhất của thuật toán Mô hình nền sau được ước lượng ra từ bước này, mô hình nền sau phải đủ mạnh để xác định những đối tượng trong ảnh Ta lần lượt xét các ảnh khung hình của video từ đó xác định được khung hình nền sau tương ứng của ảnh khung hình đó Đầu vào của quá trình này thường là những ảnh khung hình trước ảnh khung hình mà ta đang xét Đầu ra là mô hình nền sau tương ứng
- Bước thứ ba là quá trình phát hiện nền trước Đây là quá trình so sánh
giữa ảnh khung hình và mô hình nền tương ứng để xác định ra những pixel được coi là ứng cử viên cho mặt nạ của nền trước Đầu vào của quá trình này là mô hình nền đã xác định từ bước trước và ảnh khung hình nền tương ứng Đầu ra sẽ là ảnh khung hình chứa foreground đã được phát hiện Công thức cơ bản của quá trình này là
| ( ) − ( )| > 𝑇ℎ Trong đó t là thứ tự của ảnh khung hình ta đang xét Th là giá trị ngưỡng
được
chọn
Ta còn xét một kiểu công thức cơ bản của quá trình khi sử dụng khi thống kê:
Trang 7Nguyễn Việt Anh - 20121227 Trang 7
| ( ) − ( ) − |
> 𝑇 Trong đó và lần lượt là kỳ vọng và độ lệch chuẩn của ( ) − ( )
Tùy vào từng trường hợp cụ thể mà ta có thể áp dụng 1 trong 2 công thức trên
- Bước thứ 4 là quá trình nâng cao mặt nạ foreground nhằm xác định đối tượng quan tâm Nguyên nhân phải thực hiện bước này là do quá trình tạo mô hình nền ở trên đã bỏ qua mối quan hệ giữa các điểm ảnh, còn có
sự xuất hiện của các điểm ảnh từ sự chuyển động của lá cây, hay bóng của vật Phương pháp phổ biến nhất của quá trình này là kết hợp lọc hình thái loại bỏ những pixel bị cô lập và sát nhập những pixel gần đó vào với nhau để tạo mặt nạ hoàn chỉnh Đầu vào của quá trình này là ảnh khung hình chứa foreground đã được phát hiện Đầu ra của quá trình này
là mặt nạ foreground hoàn chỉnh
Trong khuôn khổ của bài tập lớn này em tập trung vào 2 bước tạo mô hình nền và phát hiện nền trước
Trong khuôn khổ bài tập lớn này em nghiên cứu 2 kỹ thuật là đệ quy và không đệ quy trong quá trình tạo mô hình nền
1 Kỹ thuật không đệ quy:
(Frame Diffencing):
- Đây là cách xử lý đơn giản nhất
- Khi ta xét ảnh khung hình ở thời gian t thì mô hình nền sau được tạo ra
từ ảnh khung hình tại thời điểm t-1
- Nhược điểm của phương pháp này là do lấy mô hình nền sau ở ảnh khung hình trước ảnh khung hình đang xét nên nếu vật thể chuyển động chậm thì sẽ khó xác định được vật thể do ảnh khung hình và mô hình nền là gần như giống nhau
- Sử dụng bộ lọc trung bình để tính
( 𝑡) 𝑚 𝑛* ( 𝑡 − )+𝑣 , 𝑛 − -
- Giá trị mỗi điểm ảnh của nền sau được ước tính là giá trị trung bình sau khi qua bộ lọc trung vị của n khung hình
- Lọc trung vị:
+ Quét cửa sổ lọc lên các thành phần của ảnh gốc, điền các giá trị được quét vào cửa sổ lọc, tâm của cửa sổ lọc lên vị trí điểm ảnh ta đang xét + Lấy các thành phần trong cửa sổ lọc để xử lý
+ Sắp xếp lại các thành phần trong cửa sổ lọc
Trang 8+ Lưu lại thành phần trung vị gán cho output
- Ta cũng ước lượng phải ước lượng ra nền sau để so sánh
( 𝑡)
𝑛∑ ( 𝑡 − )
- Giá trị của 1 điểm ảnh trong ảnh nền bằng giá trị trung bình của giá trị điểm ảnh trong n khung ảnh mà ta có
2 Kỹ thuật đệ quy:
(Approximated median filter):
- Trong thuật toán này mô hình nền sau được update theo thời gian (xét theo từng ảnh khung hình) dựa vào so sánh giữa mô hình nền ở thời điểm t-1 và ảnh khung hình ở thời điểm t-1 để tạo ra mô hình nền ở thời điểm t
- Ta cập nhật các pixel của background model sau mỗi frame như sau:
Nếu fr>bg thì bg=bg+1; nếu fr<bg thì bg=bg-1;
- Phân phối K Gaussians:
( 𝑢) ∑ (𝑢 )
Với (𝑢 ) là thành phần Gaussians thứ i với là giá trị trung bình của thành phần thứ i (kỳ vọng), là độ lệch chuẩn, là ước lượng trọng lượng của thành phần Gauss thứ i 𝐾 có giá trị từ 3 đến 5
- Thành phần thứ i được coi là phù hợp nếu | − | với
là ngưỡng lệch dương
- Các tham số của thành phần thứ i được cập nhật:
( − 𝛼) + 𝛼
( − 𝜌) + 𝜌
( − 𝜌) + 𝜌( − )
𝑣 𝛼 𝑙à 𝑠ố 𝑛𝑔ẫ𝑢 𝑛ℎ ê𝑛 𝑡𝑟𝑜𝑛𝑔 𝑘ℎ𝑜ả𝑛𝑔 ( )
𝜌 𝛼
- Nếu là thành phần không phù hợp thì thành phần với trọng lượng nhỏ nhất sẽ được thay thế bởi một thành phần mới :
( − 𝛼)
Trang 9Nguyễn Việt Anh - 20121227 Trang 9
- Tính thứ hạng (rank) của thành phần:
𝑟 𝑛𝑘
- Sắp xếp các thành phần theo thứ tự ta có dãy để sau khi sắp xếp M thành phần đầu tiên đáp ứng được tiêu chí sau đây:
∑
- Trong đó là ngưỡng nếu phù hợp thì điểm ảnh đó là thuộc về nền sau (Background)
1 Kịch bản thử nghiệm:
- Đầu vào là một video về giao thông, sau đó em cài đặt ba thuật toán: + Phương pháp so sánh giữa hai ảnh khung hình liên tiếp (Frame Diffencing)
+ Phương pháp làm cho gần đúng với bộ lọc trung vị (Approximated median filter)
+ Phương pháp trộn Gauss (Mixture of Gaussians)
- Ta cài đặt ba thuật toán trên cho hai bước của mô hình thuật toán cơ bản
đã nêu ở trên bao gồm: tạo mô hình nền sau và xác định nền trước
- Đầu ra của thử nghiệm là video đã phát hiện được nền trước
- Thử nghiệm được thực hiện trên Matlab
2 Kết quả của thử nghiệm:
Sau thử nghiệm em có thể nhận xét về kết quả như sau:
- Phương pháp trộn Gauss cho ta kết quả về nền trước rõ nét nhất nhưng video kết quả còn khá nhiều nhiễu
- Phương pháp làm cho gần đúng với bộ lọc trung vị cho chúng ta kết quả khá là rõ nét
- Phương pháp so sánh giữa hai ảnh khung hình kiên tiếp cho chúng ta kết quả kém nhất về nguyên nhân do ta sử dụng ảnh khung hình trước đó làm nền sau cho khung hình hiện tại
Trang 10Tài liệu tham khảo:
[1] Bài giảng môn xử lý ảnh – PGS.TS Nguyễn Thị Hoàng Lan, Bộ môn Truyền thông và Mạng máy tính, Viện Công nghệ thông tin và Truyền thông, trường Đại học Bách Khoa Hà Nội
[2] Robust techniques for background subtraction in urban traffic video, Sen-Ching S Cheung and Chandrika Kamath
[3] Nguồn tài liệu từ internet