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à. 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 đó là tìm hiểu và xây dựng hệ thống bám đối tượng di động sử dụng thuật toán Meanshift. Meanshift là thuật toán tracking, tức là sau khi nó phát hiện được đối tượng nằm đâu nó chỉ theo dõi chuyển động của đối tượng đó. Đối tượng có thể là khuôn mặt, đồ vật hoặc các đối tượng khác được lựa chọn để bám theo. Với thời lượng có hạn, nguồn tài liệu không nhiều, trong đề tài “Bám đối tượng – Thuật toán Meanshift” này, nhóm chúng tôi chỉ nêu khái quát về thuật toán Meanshift đồng thời xây dựng một ứng dụng nhỏ mô phỏng việc bám các đối tượng trong các khung hình liên tiếp được tách ra từ video. Việc làm này giống như chúng ta thực hiện bám đối tượng trong một video.
Trang 1MỤC LỤC
Trang 2BẢNG CÁC KÝ TỰ VIẾT TẮT
Kí hiệu, chữ viết tắt Được hiểu là
Trang 3MỞ ĐẦ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áncủ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ềuhơ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 ảnhthu đượ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àycũng như trong khoa học, an ninh, quân sự… Ngày nay, ứng dụng của thị giácmá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à
Công nghệ xử lý ảnh bao gồm rất nhiều hướng nghiên cứu, một trongnhững hướng nghiên cứu đó là tìm hiểu và xây dựng hệ thống bám đối tượng
di động sử dụng thuật toán Meanshift Meanshift là thuật toán tracking, tức làsau khi nó phát hiện được đối tượng nằm đâu nó chỉ theo dõi chuyển động củađối tượng đó Đối tượng có thể là khuôn mặt, đồ vật hoặc các đối tượng khácđược lựa chọn để bám theo
Với thời lượng có hạn, nguồn tài liệu không nhiều, trong đề tài “Bám đối tượng – Thuật toán Meanshift” này, nhóm chúng tôi chỉ nêu khái quát về
thuật toán Meanshift đồng thời xây dựng một ứng dụng nhỏ mô phỏng việcbám các đối tượng trong các khung hình liên tiếp được tách ra từ video Việclàm này giống như chúng ta thực hiện bám đối tượng trong một video
Trang 4Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lýảnh và đồ hoạ đã phát triển một cách mạnh mẽ và có nhiều ứng dụng được
áp dụng trong cuộc sống Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng
trong tương tác người - máy
Mục đích của xử lý ảnh là nâng cao chất lượng ảnh phục vụ con người
và xử lý ảnh dữ liệu dạng hình ảnh để máy tính có thể hiểu được từ đó đưa
ra những quyết định cần thiết
Hình 1 Quá trình xử lý ảnh
Xử lý ảnh có nhiều ứng dụng trong đời sống như : nhận dạng ảnh,
vệ tinh dự báo thời tiết, viễn thám, ảnh y tế, khoa học hình sự, điện ảnh…
1.1.2 Điểm ảnh
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ
xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đóđược chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian
và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong matrận được gọi là một phần tử ảnh
Trang 5trong mạng lưới đó, đó là cơ sở để ảnh số được hình thành Việc kiểm soát,định ra địa chỉ theo mạng lưới như trên được gọi là bit mapping và ảnh sốcòn được gọi là ảnh bitmap.
1.1.4 Mức xám của ảnh
- Định nghĩa: Mức xám (grey level) của điểm ảnh là cường độ sáng
của nó được gán bằng giá trị số tại điểm đó
- Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức
256 là mức phổ dụng bởi vì trong kỹ thuật máy tính dùng 1 byte (8 bit) đểbiểu diễn mức xám: Mức xám dùng một byte biểu diễn: 28=256 mức, tức là
từ giá trị 0 đến 255)
- Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu
khác) với mức xám ở các điểm ảnh có thể khác nhau
- Ảnh nhị phân: ảnh chỉ có hai mức đen trắng phân biệt tức dùng một
bit mô tả 21 mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhịphân chỉ có thể là 0 hoặc 1
- Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để
tạo nên thế giới màu, người ta thường dùng ba byte để mô tả mức màu, khi
đó các giá trị màu: 28*3 = 224 ≈ 16,7 triệu màu
1.1.5 Độ phân giải của ảnh
Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh
Trang 6được ấn định trên một ảnh số được hiển thị.
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọnsao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng
cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được
phân bố theo trục x và y trong không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic
Adapter) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc ×
200 điểm ảnh (320×200) Rõ ràng, cùng màn hình CGA 12” ta nhận thấymịn hơn màn hình CGA 17” độ phân giải 320×200 Lý do: cùng một mật
độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì độ mịn (liên tụccủa các điểm) kém hơn
1.2 Các bước xử lý ảnh số
Một hệ thống xử lý ảnh có sơ đồ tổng quát như sau:
Hình 2 Các bước cơ bản trong một hệ thống xử lý ảnh
Trang 7Hình 3 Sơ đồ phân tích, xử lý ảnh và lưu đồ thông tin giữa các khối
1.3 Lượng tử hóa với Histogram
Khi một thuộc tính được chọn, bước tiếp theo là để mô hình nó Có rấtnhiều mô hình có sẵn trong máy tính Vision - mỗi loại có những ưu và nhượcđiểm của nó Nhưng trong bài viết này, tôi sẽ tập trung vào biểu đồ Lý do choviệc lựa chọn biểu đồ là bởi vì nó là rất phổ biến trong Computer Vision Từthống kê, chúng ta biết rằng một biểu đồ là không có gì nhiều hơn một phân
bố tần số Do đó, một biểu đồ màu sắc là tần số của các màu sắc khác nhautrong hình ảnh
Chúng ta có thể thêm bất biến quy mô để một biểu đồ Điều đó cónghĩa là cùng một đối tượng với quy mô khác nhau sẽ có biểu đồ giống hệtnhau Normalisation đạt được bằng cách chia giá trị của mỗi bin với tổng giátrị của các thùng
Để tạo ra một biểu đồ màu, trước tiên chúng ta cần phải quyết định sốlượng các thùng của biểu đồ Nói chung, các thùng nhiều hơn bạn có, khảnăng phân biệt hơn bạn nhận được Nhưng sau đó, phía bên trái là bạn cần tàinguyên tính toán hơn Quyết định thứ hai bạn cần phải làm là làm thế nào đểthực hiện biểu đồ màu sắc này Hãy nhớ rằng bạn thường có ba thành phầnmàu sắc, chẳng hạn như Red, Green, và Blue Một cách tiếp cận phổ biến,hoặc là sử dụng một mảng 3D hoặc một mảng duy nhất Đối với một biểu đồ16x16x16 bin, chúng tôi có 256/16 = 16 thành phần màu sắc cho mỗi bin.Như một ví dụ, nếu giá trị RGB của điểm ảnh là 13, 232, và 211, thì điều này
có nghĩa là bạn đang đối phó với thùng RGB 0, 14, và 13 Những con số nàybin thu được bằng cách chia giá trị màu bằng của số thùng - 16 , trong trườnghợp của chúng ta Có bạn có để tăng histogram [0, 14, 15] bằng 1 Nếu chúng
ta làm điều đó cho tất cả các điểm ảnh trong một hình ảnh, chúng tôi sẽ kếtthúc với các biểu đồ màu sắc của hình ảnh đó nói với chúng ta về sự phân bốmàu sắc trong hình ảnh
II BÀI TOÁN THEO DÕI ĐỐI TƯỢNG
2.1 Giới thiệu
Mặc dù đã được nghiên cứu nhiều năm, bài toán “theo dõi đối
Trang 8tượng” vẫn là một vấn đề nghiên cứu mở cho đến ngày nay Mức khókhăn của vấn đề này phụ thuộc nhiều vào đối tượng được phát hiện và theo
vết như thế nào Nếu như chỉ có một vài đặc trưng thị giác, chẳng hạn nhưmàu sắc … được dùng để biểu diễn đối tượng, thì khá dễ dàng để xácđịnh tất cả các pixel cùng màu với đối tượng Nhưng thực tế lại hoàn toànkhác, ví dụ như khuôn mặt của một người cụ thể sẽ có đầy đủ các chi tiết trigiác và thông tin nhiễu chẳng hạn như các tư thế và sự chiếu sáng khác nhau,rất khó để mà phát hiện, nhận diện và theo vết Hầu hết các khó khăn nàynảy sinh từ khả năng biến động của ảnh video bởi vì các đối tượng videothường là các đối tượng chuyển động Khi một đối tượng chuyển động quavùng quan sát của camera, hình ảnh về đối tượng có thể thay đổi rất nhiều
Sự thay đổi này đến từ 3 nguồn chính: sự thay đổi tư thế đối tượng đích hay
sự biến dạng của đối tượng đích, sự thay đổi về độ chiếu sáng, và sự chekhuất (occlusion) một phần hay toàn bộ đối tượng đích Mức khó khăn củavấn đề này phụ thuộc nhiều vào đối tượng được phát hiện và theo vết nhưthế nào Hiện nay, có rất nhiều phương pháp theo vết như: So khớp mẫu(Template Matching), Mean shift, lọc Kalman, lọc Particle …
• Tìm hiểu phương pháp theo vết sử dụng “Mean shift”
• Ứng dụng phương pháp này trong bài toán theo vết đối tượng
Có rất nhiều phương pháp giải quyết bài toán này, ta có thể phân
loại thành bốn cách tiếp cận chính: tiếp cận dựa trên mô hình, tiếp cận dựa
trên miền, tiếp cận dựa trên đường viền và tiếp cận dựa trên đặc trưng
2.2 Tiếp cận dựa trên mô hình
Cách tiếp cận dựa trên mô hình bao gồm việc tạo mô hình hình học
cấu trúc của đối tượng Các ràng buộc trên việc mô hình được cho phép
biến dạng như thế nào có thể được kết hợp vào quá trình so khớp Vấn
đề với cách tiếp cận này là quá trình khởi tạo tự động thì khó và chi phí
tính toán cao do độ phức tạp của mô hình
2.3 Tiếp cận dựa trên miền
Cách tiếp cận dựa trên miền bao gồm việc kết hợp một miền với mỗi
đối tượng đang được theo vết Miền được theo vết qua thời gian bằng
Trang 9phép đo độ tương tự Lợi ích của cách tiếp cận này là khởi tạo khá dễ dàng,
chỉ có vị trí và kích thước của cửa sổ cần được định nghĩa Các tham số của
thuật toán cũng có ý nghĩa vật lý, dễ dàng khái niệm hóa
2.4 Tiếp cận dựa trên đường viền
Cách tiếp cận dựa trên đường viền bao gồm tìm đường viền bao của
một đối tượng và sau đó cố gắng làm khớp đường viền với các đối tượng
trong các frame sau Nơi khớp nhất sẽ là đường viền hiện tại, mô hình sẽ cập
nhật đường viền hiện tại để phản ánh hình dáng của đối tượng trong frame
hiện tại Quá trình này được lặp lại với mô hình đường viền được cập
nhật Ưu điểm của cách tiếp cận này là là khả năng xử lý hiệu quả sự che
khuất một phần (partial occlusion) Tuy nhiên vấn đề với mô hình là nó yêu
cầu sự khởi tạo chính xác, và điều này thì khó để thực hiện tự động
2.5 Tiếp cận dựa trên đặc trưng
Khác với các cách tiếp cận trên đều theo vết toàn bộ đối tượng, cách
tiếp cận dựa trên đặc trưng chỉ theo vết một tập các đặc trưng của đối tượng
Ví dụ như chỉ theo vết các điểm ở góc của đối tượng, vị trí của đối tượng
trong frame sau sẽ được tìm thấy bằng cách tìm các điểm góc mà khớp
với các điểm của mô hình nhất Ưu điểm của cách tiếp cận này là xử lý được
sự che khuất một phần Khi đối tượng bị che khuất, một số các đặc trưng
vẫn còn thấy được và có thể được dùng trong quá trình theo vết Khuyết
điểm của phương pháp này là chất lượng theo vết phụ thuộc nhiều vào việc
chọn các đặc trưng Các đặc trưng phải được chọn sao cho chúng cung
cấp sự nhận diện duy nhất cho đối tượng, nó thì không phải là một nhiệm vụ
dễ
III HỆ THỐNG THEO DÕI ĐỐI TƯỢNG
Một hệ thống theo dõi đối tượng thông thường gồm 3 phần:
Phát hiện đối tượng (Object Detection)
Phân đoạn (Segmentation)
Theo vết đối tượng (Object Tracking)Dưới đây, sẽ mô tả nhiệm vụ của mỗi phần và một số cách tiếp cận
Trang 10để giải quyết các phần trên Các hệ thống theo dõi hiệu quả thường kết hợp
nhiều phương pháp khác nhau
3.1 Phát hiện đối tượng
Phát hiện đối tượng trong video là xác minh sự hiện diện của một đối
tượng trong chuỗi ảnh và cũng có thể định vị chính xác Các hệ thống
theo dõi đối tượng thường bắt đầu bằng quá trình phát hiện đối tượng, ngoài
ra phát hiện đối tượng được lặp lại trong chuỗi ảnh sau thường cần thiết hỗ
trợ và xác minh cho quá trình theo vết
Một số cách tiếp cận phát hiện đối tượng thông dụng:
- Phát hiện đối tượng dựa trên đặc trưng
Tùy vào đặc trưng được chọn, ta có các cách tiếp cận khác nhau
như: dựa trên hình dáng, dựa trên màu sắc Trong đó, cách tiếp cận dựa trên
màu sắc được xem là thông dụng nhất vì đặc trưng màu sắc thì dễ dàng lấy
được và chi phí tính toán thấp
- Phát hiện đối tượng dựa trên mẫu
Nếu như có một mẫu mô tả đối tượng, thì việc phát hiện đối tượng
trở thành quá trình so khớp các đặc trưng giữa mẫu và chuỗi ảnh dưới sự
phân tích Phát hiện đối tượng với việc so khớp chính xác thường tốn
nhiều chi phí và chất lượng so khớp phụ thuộc vào chi tiết và mức độ
chính xác của mẫu đối tượng Có hai kiểu so khớp mẫu, so khớp mẫu cố
định và so khớp mẫu biến dạng
- Phát hiện đối tượng chuyển động
Phần lớn các nghiên cứu về cách giải quyết bài toán theo dõi đối
tượng được tập trung trên vấn đề phát hiện đối tượng chuyển động trong
thập kỷ qua Bởi hầu hết các hệ thống theo dõi thì quan tâm đến các đối
tượng đang chuyển động Có rất nhiều thuật toán phát hiện chuyển động
đã được đề nghị Chúng được phân loại tương đối thành các nhóm sau
- Dựa trên các kỹ thuật lấy ngưỡng
Cách tiếp cận này dựa trên việc phát hiện những thay đổi theo thời
gian tại mức pixel hay khối Kỹ thuật lấy ngưỡng được sử dụng nhằm chống
Trang 11nhiễu, gia tăng hiệu quả của thuật toán Một số phương pháp theo cách tiếp
cận này như: phát hiện chuyển động dựa trên sự khác biệt theo thời gian,
phát hiện chuyển động dựa trên trừ nền
- Dựa trên các kiểm tra thống kê
Sự khác biệt giữa các frame được mô hình như hỗn hợp của phân bố
Gaussian và Laplacian
- Dựa trên việc xây dựng hàm chi phí toàn cục
Vấn đề phát hiện chuyển động được đưa vào công thức nhằm
giảm thiểu hàm mục tiêu toàn cục Mô hình được sử dụng rộng rãi là các
trường ngẫu nhiên Markov theo không gian (Spatial Markov Random
Fields) qua phân bố Gibbs Phương pháp này thì mạnh, nhưng cũng tốn khá
nhiều chi phí
3.2 Phân đoạn
Phân đoạn các chuỗi ảnh [Smith1997] thành các đối tượng chuyển
động khác nhau là bước kế tiếp sau khi phát hiện đối tượng Việc phân đoạn
này thường dựa trên thông tin vận tốc chuyển động ví dụ như từ các đối
tượng ở giai đoạn đầu, ta kết hợp các đối tượng có cùng vận tốc chuyển
động theo một ràng buộc nào đó chẳng hạn là tính lân cận
Ta có các cách tiếp cận sau:
• Phân đoạn dựa trên các phép đo cục bộ (Local Measurements)
• Phân đoạn dựa trên phân cụm đơn giản (Simple Clustering)
hay sự mâu thuẫn với vận tốc nền (Inconsistency with Background Flow)
• Phân đoạn dựa trên các phép biến đổi ảnh phân tích (Analytic
Image Transformations)
• Phân đoạn dựa trên quá trình quy tắc hóa (Regularization)
• Phân đoạn dựa trên phân cụm có sắp xếp toàn cục (Globally
Organized Clustering)
3.3 Theo vết đối tượng
Trang 12Theo vết đối tượng [Guo2001] là giám sát các thay đổi theo không
gian và thời gian của đối tượng trong suốt chuỗi video, bao gồm sự hiện
diện, vị trí, kích thước, hình dáng… của đối tượng
Một số phương pháp theo vết thông thường:
• So khớp mẫu
• Theo vết Meanshift
• Tiếp cận Bayesian (lọc Kalman, lọc Particle)
Trong các phương pháp theo vết, thông thường người ta hay sử dụng
phương pháp theo vết bằng cách so khớp mẫu
Thủ tục trong so khớp mẫu như sau: một miền nhỏ chung quanh
điểm cần được theo vết sẽ được dùng làm mẫu Mẫu này sau đó dùng để tìm
ra frame ảnh kế tiếp bằng cách sử dụng các kỹ thuật tương quan
[Krattenthaler1994] Vị trí với kết quả cao nhất sẽ là so khớp tốt nhất giữa
mẫu và ảnh
Bằng cách cập nhật các mẫu theo chuỗi ảnh, các biến dạng lớn cũng
có thể được theo vết [Jain1996] Sử dụng một trong 3 luật cập nhật cơ bảnnhư sau:
1. Nếu có một sự thay đổi lớn giữa vị trí mẫu ban đầu và vị trí
mới thì vị trí mẫu mới được chọn Trong trường hợp này, cácmẫu được hoán đổi hoàn toàn bởi hình dạng mới của chúng
2. Nếu có các thay đổi nhỏ giữa vị trí ban đầu và mới của mẫu, một
phiên bản trung bình giữa mẫu mới và cũ sẽ được tính và đượccập nhật như mẫu mới
Bằng cách này, các đạo hàm nhỏ liên quan đến nhiễu sẽ là trung bình,
do đó gia tăng được khả năng theo vết tránh nhiễu
• Nếu chỉ có các thay đổi quá nhỏ giữa các vị trí ban đầu và mới, thìmẫu cũ sẽ được sử dụng Điều này rất quan trọng cho các đối tượngtịnh tiến bởi các lượng nhỏ hơn một pixel: nếu như ta cập nhật lại thì
sẽ bị mất các thông tin dịch pixel nhỏ
Trang 13Ưu điểm :không chịu ảnh hưởng bởi nhiễu và hiệu ứng chiếu
sáng, theo vết được các đối tượng biến dạng
Khuyết điểm : độ phức tạp tính toán cao, chất lượng so khớp phụ
thuộc vào chi tiết và độ chính xác của mẫu đối tượng
Trang 14CHƯƠNG 2 THUẬT TOÁN MEANSHIFT
I MẪU TÌM KIẾM
Khi chúng đã có đại diện cho một thuộc tính hình ảnh (VD: biểu đồ),chúng ta thường cần phải thực hiện nhận dạng Vì vậy, chúng ta có thể có mộtbiểu đồ nguồn và một biểu đồ ứng cử viên Kết hợp các biểu đồ để tìm cácđiểm tương đồng giữa các đối tượng ứng viên với đối tượng nguồn (tính độtương tự giữa ảnh mẫu và các ảnh cần đối sánh) Có rất nhiều kỹ thuật được
sử dụng chẳng hạn như Bhattacharyya Coefficient, Earth Movers Distance,Chi Squared, Euclidean Distance etc Trong phần này này, chúng tôi sẽ mô tảcác hệ số Bhattacharyya Mỗi kỹ thuật phù hợp có ưu và nhược điểm của nó
Các hệ số Bhattacharyya hoạt động trên biểu đồ bình thường hóa vớimột số giống hệt nhau của thùng Cho hai biểu đồ p và q, hệ số Bhattacharyyađược tính với công thức:
Xét theo hai biểu đồ sau đây, việc tính hệ số Bhattacharyya được hiểnthị dưới đây: