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 - Pdf 10

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++
1
Chương 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ

2
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ỡ µm 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:
3
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ó 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:
6
- 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

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

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

ti,
ω
là trọng số được ước lượng ở khung ảnh thứ t của phân bố gauss thứ
i,
),,(
,,, tititii
x
σµη
có giá trị trung bình
ti,
µ
và phương sai
ti,
σ
biểu diễn lớp mẫu
thứ i. Phân bố gauss của lớp i là:










−−
−=




ti,
. 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

ti,
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

ti,
được khai triển như sau:
I
ti
ti
2
,
,
σ
=

ở đó 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
12
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

2
1, titi
T
titititi
xx
µµρσρσ
−−+=
+
Hằng số học
1
ρ

2
ρ
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
1
21
=+
ρρ
.
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

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status