Tải bản đầy đủ (.docx) (28 trang)

Bám đối tượng với meanshift

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (633.6 KB, 28 trang )

Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

MỤC LỤC

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

BẢNG CÁC KÝ TỰ VIẾT TẮT

Kí hiệu, chữ viết tắt
CSDL
ROI
DoG

Được hiểu là
Cơ sở dữ liệu

Region of Interest
Diffirence of Gaussian

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B



Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Vă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à.
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.

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

CHƯƠNG I:
KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHÁT HIỆN, ĐÁNH DẤU ĐỐI TƯỢNG

I. KHÁI QUÁT VỀ XỬ LÝ ẢNH

1.1. Các khái niệm cơ bản
1.1.1. Xử lý ảnh
Xử lý ảnh [1,2,3] là một lĩnh vực mang tính khoa học và công
nghệ. Tuy là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác,
nhưng tốc độ phát triển rất nhanh, được rất nhiều các viện nghiên cứu, ứng
dụng.
Nhữ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 ma
trận được gọi là một phần tử ảnh.
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

1.1.3. Ảnh
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô
tả ảnh gần giống với ảnh thật.
Ảnh được tạo nên từ hàng trăm ngàn cho đến hàng triệu ô vuông
rất nhỏ - được coi là những nhân tố của bức ảnh và thường được biết dưới
tên gọi là điểm ảnh. Máy tính hay máy in sử dụng những ô vuông nhỏ này để
hiển thị hay in ra bức ảnh. Để làm được điều đó máy tính hay máy in chia
màn hình, trang giấy thành một mạng lưới chứa các ô vuông, sau đó sử dụng
các giá trị chứa trong file ảnh để định ra mầu sắc, độ sáng tối của từng pixel
trong 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) để
8
biểu diễn mức xám: Mức xám dùng một byte biểu diễn: 2 =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: 2

8*3

=2

24

≈ 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
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính

Cường

Hướng dẫn: PGS.TS Phạm Văn

đượ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ọn
sao 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ấy
mị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ục
củ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

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Hì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ất
nhiề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 cho
việ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 nhau
trong 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ệt
nhau. 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ài
nguyê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ần
mà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ày
bin thu được bằng cách chia giá trị màu bằng của số thùng - 16 , trong trường
hợ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ết
thú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

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

tượ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àn
khác, ví dụ như khuôn mặt của một người cụ thể sẽ có đầy đủ các chi tiết tri
giá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ày
nảy sinh từ khả năng biến động của ảnh video bởi vì các đối tượng video
thường là các đối tượng chuyển động. Khi một đối tượng chuyển động qua
vù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ự che
khuất (occlusion) một phần hay toàn bộ đối tượng đích. 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. 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
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

phé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
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B



Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

để 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
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

nhiễ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
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Theo 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ản
như 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ác
mẫ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à được
cậ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ượng
tị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ỏ.
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B



Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Ư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.

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

CHƯƠ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ột
biể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ới

mộ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ển
thị dưới đây:

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Như chúng ta có thể thấy, nó đòi hỏi chúng ta phải nhân biểu đồ. Hơn
nữa, chúng ta có thể thấy rằng đối với các biểu đồ giống hệt nhau, hệ số đạt
được sẽ bằng 1. Các giá trị của hệ số Bhattacharyya dao động trong khoảng 01, vì vậy, bài viết này trình bày một thuật toán theo dõi rất nổi tiếng trong
cộng đồng Computer Vision gọi là Meanshift. Bài viết này dựa trên một loạt
các tài liệu nghiên cứu của Comaniciu Et Al. [1], [2], [3].
Di chuyển trực quan theo dõi có thể được mô tả như xác định một đối
tượng trong một khung hình video và sau đó theo dõi đối tượng trong khung
hình tiếp theo. Nó không bao gồm các phát hiện của đối tượng. Theo dõi giả
định rằng các đối tượng được chọn hoặc bằng tay hoặc tự động. Trong bài
viết này, chúng tôi sẽ sử dụng lựa chọn bằng tay với đối tượng. Khi các đối
tượng được chọn, một số loại mô hình (s) được tạo ra dựa trên một số thuộc
tính (s) và sau đó sử dụng các mô hình (s), đối tượng được theo dõi trong
khung tiếp theo. Meanshift, như mô tả trong các tài liệu nghiên cứu đã đề cập,
sử dụng màu sắc như các thuộc tính và biểu đồ để mô hình hóa thuộc tính
này. Chúng tôi đã bao phủ những điều kiện tiên quyết trong phần trên
II. BÁM VẾT VỚI MEANSHIFT


Với một đối tượng, chúng ta tạo ra một biểu đồ màu sắc - gọi đây biểu
đồ đích. Khi chúng ta nhận được khung ảnh kế tiếp, chúng ta phải tìm thấy
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

một đối tượng với một biểu đồ màu sắc tương tự trong vùng lân cận của các
đối tượng trong khung hình trước đó. Khi tìm thấy đối tượng này, thì dừng
tìm kiếm và chờ đến khung hình tiếp theo. Quá trình này được lặp đi lặp lại
nhiều lần cho chúng ta kết quả của việc bám đối tượng. Tuy nhiên, có hai câu
hỏi đặt ra:
1. Làm thế nào để biết đã tìm thấy đối tượng?
2. Làm thế nào để tìm kiếm các vùng lân cận của các đối tượng?
Câu trả lời cho câu hỏi đầu tiên là chúng ta sử dụng phương pháp kết
hợp biểu đồ hợp biểu đồ, chẳng hạn như Hệ số Bhattacharyya. Vì vậy, ta tạo
ra các biểu đồ của đối tượng và kết hợp nó với biểu đồ mục tiêu. Nếu độ
tương tự càng lớn, thì chúng là cùng một đối tượng; nếu không, chúng ta thực
hiện tìm kiếm trong vùng lân cận và tạo ra một biểu đồ và kết hợp một lần
nữa cho đến khi chúng tôi tìm thấy một đối tượng có đủ độ tương tự.
Các cách tìm kiến trong vùng lân cận là một kỹ thuật bám vết mà thuật
toán được đặt tên là Meanshift. Meanshift là thuật toán tìm kiếm. Nói cách
khác, đưa ra một phân bố xác suất biểu đồ bình thường, các thuật toán tìm
kiếm Meanshift đỉnh của biểu đồ này.
III. GIẢI THUẬT MEANSHIFT CƠ BẢN VÀ CẢI TIẾN
3.1. Basic Meanshift


Đầu tiên chúng ta chọn các thuộc tính (s) của đối tượng để mô hình đối
tượng. Sử dụng thuộc tính màu sắc và biểu đồ. Trong các khung hình video,
chúng tôi chọn đối tượng mục tiêu bằng cách đặt một khung giới hạn, hay còn
gọi là ROI (Region of Interest), xung quanh nó. Giả sử tất cả mọi thứ, bao
gồm cả nền, trong hộp bounding thuộc về các mục tiêu, chúng ta tạo ra các
biểu đồ màu sắc bình thường.
Bước kế tiếp là lấy các khung hình tiếp theo và đặt khung giới hạn tại
cùng một vị trí như khung trước và tạo ra một ứng cử viên biểu đồ màu sắc.
Tiếp đến là các bit Meanshift. Các bước lặp của thuật toán Meanshift
bao gồm các bước 3-5 dưới đây:
1. Tạo một mô hình mục tiêu

trong ROI trong các hình thức của một

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

biểu đồ dựa trên tính năng của nó - thông thường nhất đó là màu sắc. Đồng
hóa biểu đồ mục tiêu.
2. Trong khung hình kế tiếp, tạo ra một mô hình ứng viên biểu đồ tại
vị trí "x" của mục tiêu trong hình ảnh trước đó. Đồng hóa biểu đồ ứng viên.
3. Mỗi pixel "I" trong ROI xung quanh "x" cung cấp một mẫu bình
quân. Giả sử màu sắc của nó trong cột u của biểu đồ, sau đó số lượng một
điểm ảnh được cho bởi:


4. Cập nhật các vector meanshift:

5. Cập nhật vị trí hiện tại và lặp:

Kết quả của các bước trên là một đối tượng được theo dõi trong một
chuỗi các khung hình. Thuật toán Meanshift làm việc bởi vì tỷ lệ cân đối
(đánh dấu ở trên) với một chế độ màu sắc sẽ có nhiều khả năng cho kết quả
đúng. Đây là kết quả thực hiện chương trình bám đối tượng với thuật toán
meanshift.

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Bảng dưới đây cho thấy những tính toán của thuật toán Meanshift. X và
Y là tọa độ, RGB là các điểm ảnh có giá trị màu sắc, Bin là chỉ số biểu đồ
tương ứng với giá trị màu RGB, là giá trị của cột biểu đồ, và
là giá trị
của các ứng cử viên bin histogram:

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường


Hướng dẫn: PGS.TS Phạm Văn

Trọng tâm mới được tìm thấy như hình dưới đây. Tiếp tục di chuyển
trọng tâm đến khi tìm thấy những mục tiêu có khả năng bằng cách sử dụng hệ
số Bhattacharyya.

Theo đề xuất bởi Comaniciu Et Al, một cải tiến của Meanshift basic
này là khi tìm ra trọng tâm mới, ta tạo ra một biểu đồ của hình ảnh dưới ROI
và tìm hệ số Bhattacharyya (gọi nó BC1). Di chuyển trọng tâm trong từng
bước nhỏ và tạo ra một biểu đồ. Sau đó, nếu hệ số Bhattacharyya tại trọng
tâm di chuyển là nhỏ hơn BC1, thì tiếp tục nhích trọng tâm hướng tới mục
tiêu. Hơn nữa, chúng tôi cũng theo dõi bao nhiêu trọng tâm đã chuyển từ vị trí
trước đó và số lần lặp Meanshift. Các trọng tâm được tìm thấy bằng cách sử
dụng khoảng cách Euclide giữa các trọng tâm trước đây và hiện tại. Nếu trọng
tâm và số lần lặp Meanshift ít hơn so với một số ngưỡng, chúng tôi tiếp tục
chạy các thuật toán Meanshift.Sử dụng các ngưỡng quan trọng cho các mục
đích thực tế vì nếu theo dõi bị thất lạc, chúng tôi không muốn bị mắc kẹt
trong một vòng lặp vô hạn!
3.2. Kernel Meanshift
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Trong Kernel – Based Meanshift, một tập hợp hạt nhân được phủ lên
trên ROI và các mô hình được tạo ra dựa trên các hạt nhân. Các kỹ thuật bám

vết được đề xuất bởi Comaniciu Et Al sử dụng hạt nhân Epanichnikov như
dưới đây. Do hình dạng của hạt nhân này nên các pixel về phía trung tâm của
ROI sẽ có một giá trị lớn hơn các điểm ảnh đối với các cạnh, trong đó cung
cấp các khả năng bám vết để từ chối nền nhiễu.

Có một sự khác biệt chủ yếu giữa một kernel-based Meanshift và Basic
Meanshift là. Khi mục tiêu hoặc mô hình ứng viên được tạo ra trong bám đối
tượng, Kernel-based Meanshift dựa trên một hạt nhân thích hợp được sử dụng
trong các ROI và giá trị của hạt nhân tương ứng với giá trị màu của điểm ảnh
được sử dụng để tạo ra các biểu đồ thay vì các giá trị màu sắc thực tế. Quá
trình tạo ra các mô hình trong bám đối tượng với Kernel- based Meanshift là
giống như bình thường, hy vọng rằng thay vì các cột tăng tương ứng bằng 1,
giá trị của hạt nhân tại địa điểm đó sẽ được thêm vào cột. Ví dụ, nếu một giá
trị điểm ảnh màu rơi trong cột 3 và giá trị hạt nhân tại các điểm ảnh là 0,843,
sau đó chúng tôi sẽ thêm 0,843 đến cột 3 thay vì cách tăng giá trị cột. Sử dụng
hạt nhân Epanichnikov, giá trị cột "k" sẽ như sau (các phương trình trong 2b
và 2c từ các tập hợp Epanichnikov):

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Sử dụng hạt nhân Epanichnikov cho một ROI với 5x5 pixel có thể
trông giống như hình dưới đây. Chúng ta có thể thấy rằng các điểm ảnh gần
trung tâm có giá trị lớn hơn các điểm ảnh ở các cạnh:


3.3. Background Weighted Meanshift
Các nền luôn là mối quan tâm trong việc theo dõi trực quan. Khi mục
tiêu và màu nền là như nhau, có một xác suất cao mà các kỹ thuật theo dõi sẽ
bị lạc. Comaniciu Et Al đã đề xuất một biến thể của thuật toán Meanshift
trong đó các biểu đồ của khu vực nền xung quanh ROI cũng được tính toán và
hợp nhất với các biểu đồ của ROI để tạo ra một mô hình đáng tin cậy
Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

hơn. Một biểu đồ được tạo ra cho một khu vực xung quanh cửa sổ ROI. Một
khu vực thích hợp có thể được lựa chọn làm mốc. Đối với mỗi cột trên biểu
đồ, giá trị sau đó được bắt đầu bằng cách tối thiểu giữa 1 và số khác không tối
thiểu trong cột đó. Nếu là biểu đồ bình thường và
nhỏ, sau đó các trọng số được lấy theo:

là mục khác không

Các trọng số để làm giảm tầm quan trọng của những tính năng nổi bật
trong nền, tức là dùng thấp

- điều này được đưa ra dưới đây:

1.

Lấy giá trị khác không nhỏ từ biểu đồ nền


2.

Đối với mỗi bin trong biểu đồ mục tiêu:

1.

Tìm thấy

2.

Áp dụng trọng lượng để mô hình mục tiêu:

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

CHƯƠNG III: XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM
I. YÊU CẦU ĐỐI VỚI ỨNG DỤNG

- Ứng dụng được xây dựng bằng ngôn ngữ lập trình C# được lập trình
trên môi trường Visual Studio 2015;
- Yêu cầu chức năng:
+ Nhập một thư mục hình ảnh với các hình ảnh là liên tiếp (có thể cắt
các khung hình liên tiếp từ một video);
+ Khi người dùng lựa chọn vùng cần bám vết (lựa chọn bằng tay) thì

xuất hiện một khung vuông khoanh vùng khu vực được lựa chọn;
+ Khi người dùng chọn “Start” thì duyệt qua tất cả các hình trong thư
mục và đánh dấu vị trí của đối tượng được lựa chọn trước đó.
II. GIAO DIỆN CỦA CHƯƠNG TRÌNH

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Hình 4. Giao diện khởi động

Hình 5. Lựa chọn thư mục ảnh

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B


Báo cáo môn Thị giác máy tính
Cường

Hướng dẫn: PGS.TS Phạm Văn

Hình 6. Lựa chọn đối tượng cần bám

Nhóm 2 – Lớp Hệ thống thông tin M16CQIS01-B



×