Tải bản đầy đủ (.pdf) (62 trang)

Luận văn: Xử lý ảnh và ứng dụng theo dõi đối tượng chuyển động ppt

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 (773.2 KB, 62 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





Lê Anh Vũ








XỬ LÝ ẢNH VÀ ỨNG DỤNG THEO DÕI ĐỐI TƯỢNG
CHUYỂN ĐỘNG







KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY

Ngành : Công Nghệ Điện Tử - Viễn Thông

















HÀ NỘI 2005



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





Lê Anh Vũ









XỬ LÝ ẢNH VÀ ỨNG DỤNG THEO DÕI ĐỐI TƯỢNG
CHUYỂN ĐỘNG






KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY


Ngành : Công Nghệ Điện Tử - Viễn Thông


Cán bộ hướng dẫn : Nguyễn Vinh Quang














HÀ NỘI 2005


Lời cảm ơn



Để hoàn thành được khóa luận này đó là sự giúp đỡ nhiệt tình và hết sức tạo
điều kiện của các thầy cô và nhà trường cùng các bạn trong lớp , Sự tận tình và
cảm thông của gia đình,anh em.
Em xin chân thành cảm ơn thầy Nguyễn Vinh Quang, người đã hưỡng dẫn
em làm khóa luận này, thầy đã nhiệt tình giúp đỡ em trong suốt quá trình làm
khóa luận về cả vật chất lẫn tinh thần.
Em xin cảm ơn Nhà Trường và đặc biệt là các thầy cô của khoa Điện Tử thuộc
Phòng Thí Nghiệm ROBOTIC của Trường, những người mà hàng ngày vẫn tạo điều
kiện và bảo ban em
.
Cảm ơn các bạn lớp K46DC, nhưng người luôn sát cánh và chia sẻ cùng
mình!
Hà Nội, ngày 05/06/2005

























Mục lục


Mở đầu…………………………………………………………………………….1
Phần 1: LÝ THUYẾT XỬ LÝ ẢNH …………………………………………….2
Chương 1: Lý Thuyết xử lý ảnh …………………………………………………2
1.1:Thu nhận ảnh và số hóa…………………………………………………2
1.2:Phân tích ảnh…………………………………………………………….2
1.3:Quyết định……………………………………………………………… 3
Chương 2: Thu nhận hình ảnh…………………………………………… … 3
2.1:Thu nhận ảnh…………………………………………………………….3
2.2:Lưu ảnh………………………………………………………………… 7
Chương 3: Phân tích ảnh……………………………………………………….…8
3.1:Khái niệm pixel và pixil lân cận…………………………………………8

3.2:Một số công cụ trợ giúp xử lý ảnh………………………………………8
3.2.1:Tích chập……………………………………………………………… 8
3.2.2:Kỹ thuật lọc số………………………………………………………….11
3.2.3:Biến đổi Fourier……………………………………………………… 11
3.3:Tiền xử
lý…………………………………………………………………16
3.3.1:Phương pháp tiền xử lý trong miền không gian…………………… 16
3.3.2:Phương pháp tiền xử lý trong miền tần số………………………… 17
3.4:Làm trơn ảnh………………………………………………………….…18
3.4.1:Lấy trung bình các điểm ảnh lân cận, lọc tuyến tính……………… 18
3.4.2:Phương pháp lọc trung vị…………………………………………… 19
3.4.3:Trung bình hóa hình ảnh…………………………………………… 19
3.4.4:Làm trơn hình ảnh nhị phân………………………………………….20
3.5:Phát hiện biên…………………………………………………………….22
3.6:Lập ngưỡng………………………………………………………………25
Phần 2: PHẦN THỰC NGHIỆM:……………………………………………… 26
Chương 1: Ngôn ngữ lập trình…………………………………………… 28
Chương 2:Điều khiển công LPT trên Win200/NT/XP…………………….31
Chương 3:Minh họa thuật toán và chươ
ng trình………………………….34
Tài liệu tham khảo:………………………………………………………………….52


















TÓM TẮT NỘI DUNG KHÓA LUẬN:

Nội dung của khóa luận là ứng dụng lý thuyết của xử lý ảnh số qua thiết bị thu ảnh , ở
đây là web camera để điều khiển một hệ cơ tự động theo dõi đối tượng chuyển động.
Khóa luận được chia làm hai phần chính, phần lý thuyết và phần thực nghiệm :
-Trong phần lý thuyết , ta sẽ tìm hiểu các khái niệm cơ bản của xử lý ảnh số,
bao gồm lý thuy
ết về Xử lý ảnh,Thu nhận hình ảnh và Phân tích ảnh.
-Ở phần này, giới thiệu các khái niệm về xử lý ảnh và ứng dụng các thuật toán
về xử lý ảnh như là công cụ toán học tích chập, các phưong pháp tiền xử lý : lọc nhiễu,
phát hiện biên, phân ngưỡng ảnh….
-Phần thực hành gồm 3 phần:
Phần 1 tìm hiểu ngôn ngữ lập trình và thư viện AVICap của Microsoft.
Phần 2 sẽ giới thiệ
u về cách giao tiếp và điều khiển công LPT trên VC++.
Phần 3 là phần chính , bao gồm thuật toán và chương trình chính điều khiển.












LỜI MỞ ĐẦU


Trong mấy thập kỷ gần đây, xử lý ảnh đã được nghiên cứu mạnh mẽ và đã có
rất nhiều ứg dụng trong thực tế. Như trong y học, xử lý ảnh số đã được dùng để phát
hiện và nhận dạng khối u , cải thiện ảnh X quang , nhận dạng đường biên mạch máu
từ những ảnh chụp mạch bằng tia X. trong cuộc sống gia đình, xử lý ả
nh được dùng để
cải thiện ảnh Ti vi. Trong truyền thông video như hội nghị video, điện thoại video thì
một vấn đề chính là cần có giải tần rộng. Việc mã hóa thẳng các chương trình video
chất lượn quảng bá cần đến 100 triệu bit/s. Điều này không thể đáp ứng được.Nhưng
bằng cách mã hóa số và khôi phục ảnh (là những vấn đề của xử lý ảnh ) thì việc trên
có thể thự
c hiện chỉ với băng tần 100 nghìn bit/s. Còn trong lĩnh vực khoa học kỹ
thuật, xử lý ảnh đã và đang có những đóng góp quan trọng, đặc biệt là trong lĩnh vực
Robot. Robot thông minh ngày nay không thể thiếu yếu tố xử lý ảnh. Đó là các vấn đề
nhận dạng các đối tượng ngoài môi trường. Từ việc nhận dạng có thể giải quyết rất
nhiều bài toán như tránh vật cản, dò đường X
ử lý ảnh có thể được chia ra làm các
quá trình sau: Thu nhận hình ảnh, phân tích ảnh và quyết định.






Mô hình sản phẩm theo dõi đối tượng dùng camera .












PHẦN 1: LÝ THUYẾT XỬ LÝ ẢNH

CHƯƠNG 1 : HỆ THỐNG XỬ LÝ ẢNH


Một hệ thống xử lý ảnh điển hình được cho trên hình vẽ sau:













Hình 1.1, Các giai đoạn chính trong xử lý ảnh.
Thu nhận
ảnh
Số hoá
Phân tích
ảnh
Nhận
dạng
Lưu
trữ
Lưu trữ
Hệ quyết định
Thiết bị thu nhận
ảnh (Camera.
Sensor)

Từ hình vẽ 1.1 ta thấy một hệ thống xử lý ảnh bao gồm thu nhận ảnh, số hóa
ảnh, phân tích ảnh và cuối cùng là quyết định (tùy thuộc vào yêu cầu ứng dụng cụ
thể mà đưa ra quyết định cho phù hợp)


1.1
Thu nhận ảnh và số hóa


Việc thu nhận ảnh có thể thông qua camera. Các camera có thể hoặc là tương tự
(loại camera ống kiểu CCIR) hoặc là số (loại camera kiểu CCD_ Charge Coupled
Device). Ảnh cũng có thể được thu qua các thiết bị khác như máy quét v v . Nếu ảnh
nhận được là tương tự nó phải được số hóa nhờ quá trình lấy mẫu và lượng tử hóa

trước khi phân tích, xử lý hay lưu trữ ảnh.


1.2
Phân tích ảnh

Ở giai đoạn này ảnh được xử lý theo nhiều công đoạn nhỏ như: cải thiện ảnh, khôi
phục ảnh để làm nổi bật một số đặc tính chính của ảnh hay làm ảnh gần với trạng thái
gốc. Tiếp theo là phát hiện các đặc tính như biên, phân vùng.



1.3 Quyết định

Cuối cùng tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng hay các
quyết định khác.



CHƯƠNG 2: THU NHẬN HÌNH ẢNH

2.1 Thu nhận ảnh

Để thu nhận ảnh người ta thường dùng các camera truyền hình, các camera gồm
tube hoặc sensor mạch rắn và các thiết bị điện tử đi kèm. Camera sensor mạch rắn
có một số ưu điểm so với camera tube như nhẹ hơn, nhỏ hơn, bền hơn, bền hơn và
tiêu thụ công suất thấp hơn. Tuy nhiên, một số camera tube có độ phân giải cao
hơn camera sensor mạch rắn. Một trong số những loại đượ
c sử dụng phổ biến của
camera tivi là Vidicon.


Camera Vidicon là một vỏ kính hình lăng trụ chứa một súng phóng electron ở đầu
và một màn hình (faceplate) ở đầu kia. Dòng electron được hội tụ và làm lệch điện
áp đặt vào các cuộn dây như trên hình vẽ 2.1. Mạch làm lệch làm cho dòng electron
quết lên bề mặt trong của màn hình để “đọc” hình ảnh . Bề mặt bên trong của màn
hình được phủ một màng mỏng kim loại trong suốt, màng mỏng này tạo thành mộ
t
điện cực mà từ đó tạo ra tín hiệu điện của hình ảnh. Một lớp nhạy sáng được phủ
trên màng mỏng kim loại. Lớp tạo thành bao gồm những quả cầu trở kháng có kích
cỡ rất nhỏ, trở kháng của những quả cầu này tỷ lệ nghịch với cường độ sáng của
nó Phía sau lớp nhạy sáng đó có một lưới tích điện dương để
giảm tốc các
electron được phát ra từ súng phóng electron sao cho khi các electron này tới bề
mặt đích về cơ bản vận tốc là bằng không.

Ở chế độ hoạt động bình thường, điện áp dương được đặt vào lớp kim loại của màn
hình. Khi không có ánh sáng, lớp nhạy sáng đóng vai trò như chất điện môi, dòng
electron phủ một lớp electron lên bề mặt bên trong của màn hình để cân bằng với
điện tích dương trên lớp kim loại. Khi chùm electron quét bề
mặt của màn hình,
lớp nhày sáng trở th ành một tụ điện với điện tích âm trên bề mặt phía trong và điện
tích dương ở bề mặt đối diện. Khi ánh sáng va vào màn hình, trở kháng của nó
giảm và el ectron được phép chuyển động tự do và trung hòa với điện tích dương.
Vì lượng điện tích chuyển động tự do tỷ l ệ với ánh sáng trong một vùng cục bộ bất
kỳ của màn hình, hiệ
u ứng này t ạo ra một hình ảnh trên màn hình giống với ảnh
chiếu trên màn hình của tube. Nghĩa là, sự tập trung của c ác điện tích electron là
cao trong các vùng tối và thấp hơn trong các vùng sáng. Khi dòng electron quét
màn hình lần thứ hai nó thay thế các điện tích bị mất, và do đó tạo thành một dòng
điện chảy trong lớp kim loại và ở phía ngoài của một trong các chân tube. Dòng

này tỷ lệ với số electron được thay thế và do đó tỷ l ệ với cường độ sáng t
ại vị trí
cụ thể của dòng quét. Sự thay đổi này khi dòng electron quét sẽ tạo ra một tín hiệu
hình ảnh tỷ lệ với cường độ của ảnh đầu vào.






Cuộn hội tụ dòng electron: Lớp nhạy sáng




Các chân tube



Màn hình
Lưới

Dòng electron


Súng phóng electron



Lớp phủ kim loại trong suốt


Cuộn làm lệch dòng electron


Hình 2.1.Sơ đồ một vidicon




Hình 2.2 Mẫu quét dòng electron:






Hình 2.2 minh họa một chuẩn quét.Dòng electron quét toàn bộ màn hình 30 lần
mỗi giây, mỗi một vết quét hoàn chỉnh (gọi là một khung) gồm 525 dòng trong đó có
480 dòng chứa thông tin về hình ảnh. Nếu các dòng được quét một cách tuần tự và kết
quả được hiển thị lên một màn hình TV, hình ảnh sẽ nhấp nháy rõ r
ệt. Có thể khắc
phục hiện tượng này bằng cách sử dụng cơ cấu quét mà trong đó mỗi khung được chia
ra thành hai trường mành xen kẽ nhau, mỗi trường gồm 2625 dòng và được quét 60 lần
trong một giây hay tốc độ khung tăng lên gấp đôi. Trường hợp đầu tiên của mỗi khung
quét các dòng lẻ (là các đường chấm chấm trong hình 2.2) trong khi đó mành thứ hai
quét các dòng chẵn. Sơ đồ quết này được gọi chuẩn là RETMA (Radio-Electronics
Television Manufacturers Association ). Hiệp hội các hãng chế
tạo Radio, Tivi, và
máy móc điện tử). Các chuẩn khác có tốc độ dòng trên mỗi mành cao hơn , nhưng về
cơ bản nguyên lý hoạt độn4g của các mạch này là giống nhau.


Các thiết bị CCD gồm hai loại: Sensor quét dòng và sensor khối. Thành phần cơ
bản của Sensor CCD quét dòng là một hàng phân tử ảnh silic gọi là photosites. Các
photo hình ảnh cho qua một cấu trúc cổng đa tinh thể trong suốt và được hấp thụ
trong tinh thể silic, do đó tạo nên một cặp lỗ electron. Các quang điện tử tạo ra
được tập hợp vào các photosite, lượng điện tích được tập hợp trong mỗi photosite
tỷ lệ với cường độ chiếu sáng tại điểm đó. Một sensor quét dòng điển hình gồm
một hàng các phân tử ảnh photosite, hai cổng truyề
n được sử dụng để chốt lại nội
dung của các phần tử hình ảnh vào các thanh ghi vận chuyển và một cổng nối ra
được sử dụng để chốt nội dung của các thanh ghi vận chuyển vào bộ khuyếch đại,
lối ra của bộ khuyếch đại này là một tín hiệu điện áp tỷ lệ với các nội dung của
hàng photosites.







Các thanh
Ghi điều khiển
. Lối ra
.
.
.

Thanh
g
hi v


n chu
y
ển
C
ổng
N
Photosites 2 1
Bộ
khuếch
đại
Cổng
Lối
Ra
Thanh ghi truy
ền
C
ổng



Hình 2.3.Sensor quét dòng CCD

Các mảng khối ghép diện tích giống các sensor quét dòng, ngoại trừ các photosite
được sắp xếp theo dạng ma trận và có một tổ hợp thanh ghi vận chuyển cổng giữa
các cột photosite như trong hình 2.4. Nội dung của các photosite lẻ được chốt lần
lượt vào các thanh ghi vận chuyển dọc và sau đó lại được chốt vào các thanh ghi
vận chuyển ngang. Nội dung của các thanh ghi vận chuyển ngang này được dẫn
vào bộ khuyếch đại, lối ra của bộ khuyếch đại là một dòng lẻ hình ảnh. Thực hiện
tương tự với các photosite chẵn để hoàn thành trường thứ hai của khung TV. Cơ

cấu quét này được lặp lại 30 lần mỗi giây.
Các camera quét dòng chỉ cho ra một dòng hình ảnh của hình ảnh lối vào. Những
thiết bị này đặc biệt phù hợ
p cho các ứng dụng mà các đối tượng chuyển động qua
sensor (như trong các băng truyền) . Sự chuyển động của một đối tượng theo hướng
vuông góc với sensor tạo ra hình ảnh hai chiều. Các sensor quét dòng có độ phân giải
thấp 32x3, trung bình 256x256 và cao 480 phân tử ảnh và các sensor thí nghiệm CCD
có khả năng đạt được độ phân giải khoảng 1024x1024 hay cao hơn.

Ở đây, ta ký hiệu ảnh lối ra hai chiều của camera hay thiết bị cho ảnh khác là
f(x,y) trong đó x, y biể
u thị toạ độ không gian (ví dụ mặt phẳng ảnh) và giá trị f tại
điểm (x,y) bất kỳ tỷ lệ với toạ độ (cường độ sang) của hình ảnh tại điểm đó . Hình 2.5
minh hoạ một điểm ảnh và quy ước toạ độ của nó.







Hình 2.5. Quy ước toạ độ cho biểu diễn hình ảnh Giá trị của điểm ảnh (x.y) bất kỳ
được cho bởi giá trị (cường độ sáng) của f tại điểm đó.:

Gốc hình ảnh
y


f(x,y)





x

Để máy tính có thể xử lý, hàm ảnh (x,y) phải được số hoá cả về không gian lẫn
biên độ (cường độ). Việc số hoá các toạ độ không gian (x,y) được coi như là việc lấy
mấu hình ảnh, trong khi đó việc số hoá biên độ được coi là lượng tử hoá cường độ cho
những hình ảnh đơn s
ắc và phản ảnh bản chất của các ảnh này là biến thiên từ đen tới
trắng theo các mức xám khác nhau. Hai thuật ngữ cường độ sang và mức xám có thể
dung hoán chuyển cho nhau.

Giả sử một hình ảnh liên tục được lấy mẫu đồng nhất cho một mảng N hang và M
cột, ở đây mỗi mẫu cũng được lượng tử hoá về biên độ. Mảng này được gọi là ảnh số,
có thể được viết như sau:

F(x,y) =
()
(
)
(
)
[]
()() ( )
()()(
1,1 1,10,1

1,1 1,10,1
1,0 1,0,0

−−−−

)

MNfNfNf
Mfff
mfoff
(2.1)


ở đây các biến rời rạc:x=0, 1, 2 …, N-1
y= 0, 1, 2, …, M-1
Mỗi phần tử trong mảng được gọi là một phần tử ảnh hay pixel. Từ mảng ta thấy
pixel tại gốc của ảnh được biểu thị là f(0,0), pixel bên phẩi là f(0,1), v.v. Thông thường
N, M và số mức cường độ rời rạc của mỗi pixel đã lượng tử hoá là luỹ thừa nguyên
của 2.

2.2 Lưu ảnh.

Để lưu trữ ảnh trên máy tính, một số định dạng ảnh đã được nghiên cứu như
IMG, PCX, TIFF, GIF.
Định dạng ảnh IMG dung cho ảnh đen trắng. Phần đầu của ảnh IMG có 16 byte
chứa các thông tin:
• 6 byte đầu: dung để đánh dấu định dạng ảnh IMG. Giá trị của 6 byte này được
viết là 0x0001 0x0008 0x0001.
• 2 byte tiếp theo: chứa độ dài mẫu tin. Đó là độ dài của dãy các byte kề liền nhau
mà dãy này sẽ đượ
c lặp lại một số lần nào đó. Số lần lặp lại này sẽ được lưu
trong byte đếm. Nhiều dãy giống nhau được lưu trong một byte. Đây là một
cách lưu trữ hình ảnh dưới dạng nén.

• 4 byte tiếp theo: mô tả kích cỡ pixel
• 2 byte tiếp theo: cho biết số pixel trên một dòng ảnh
• 2 byte cuối: cho biết số dòng ảnh trong ảnh.

Định dạng ảnh PCX là một trong những định dạ
ng ảnh cổ điển nhất. Định dạng
này sử dụng phương pháp mã loại dài RLE (Run-Length-Encoded) để nén dữ liệu ảnh.
Quá trình nén và giải nén được thực hiện trên từng dòng ảnh. Tệp PCX gồm 3 phần :
đầu tệp(header), dữ liệu ảnh (image data), và bảng màu mở rộng.

Định dạng ảnh TIFF được thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc
mở rộng tệp ả
nh cố định. Định dạng này cũng gồm 3 phần: IFH, IFD, DE.

Định dạng ảnh GIF (Graphics Interchange Format). Định dạng này được đưa ra
để khắc phục những vấn đề mà các định dạng ảnh khác gặp phải khi số màu trong ảnh
tăng lên. Định dạng tổng quát của ảnh GIF được cho trên hình vẽ 2.6

Hình 2.6 Định dạng tổng quát GIF của một hình ảnh.:

GIF note
GIF header
Global Palette
Header image (_10 byte)
Palette of image 1 (nếu có)
Data of image 1
‘’ Ký tự liên tiếp
………………………

‘’ GIF terminator


CHƯƠNG 3: PHÂN TÍCH ẢNH

3.1 Khái niệm pixel và pixel lân cận

Pixel là phân tử nhỏ nhất cấu tạo nên hình ảnh. Mỗi pixel có một toạ độ ̣̣̣̣̣(x,y) và
màu xác định.

Hình 3.1 Pixel P và các lân cận của P
P1
̣
(x-1, y-1)
P2
(x-1, y)
P3
(x-1, y+1)
P4
̣
(x, y-1)
P
(x, y)
P5
(x, y+1)
P6
(x+1, y-1)
P7
(x+1, y)
P8
(x+1, y+1)



Một pixel p tại các toạ độ ̣(x, y) có ô pixel lân cận theo chiều dọc và chiều ngang,
và toạ độ tương ứng của các pixel này , như hình vẽ 3.1 là:

P2(x-1, y) P7(x+1, y)
P6(x+1, y-1) . P5(x, y+1)

Tập các pixel này gọi là lân cận của p và ký hiệu là N4(p). Mỗi pixel lân cận cách
(x, y) một đơn vị và nếu (x, y) ở mép của màn hình thì sẽ có một s
ố pixel lân cận của p
nằm ở ngoài hình ảnh.
Ngoài 4 pixel lân cận của p theo chiều dọc và chiêu ngang, xung quanh p còn có
4 pixel chéo góc có các toạ độ tương ứng là:

P1(x-1, y-1) P3(x-1, y+1)
P6(x+1, y-1) P8(x+1, y+1)

Tập các pixel này được ký hiệu là NḌ(p).Bốn pixel này cùng với 4 pixel ở trên
tạo thành 8 pixel lân cận cuả p và được ký hiệu là N8 (p) .Tập hợp này cũng sẽ có một
số pixel ở bên ngoài hình ảnh nếu (x, y) nằm ở mép của hình ảnh.


3.2 Một số công cụ trợ giúp xử lý ảnh

3.2.1 Tích chập

Toán tử tích chập được định nghĩa như sau:

◊ Trường hợp liên tục:


g(x,y) = h(x,y) ⊗ f(x,y)
=
h(x-x
()()
∫∫

∞−

∞−
−− ''','',' dydxyxfyyxxh
`
,y-y
`
) f(x
`
,y
`
) dx`

dy
`
(3.1)

◊ Trường hợp rời rạc:
y(m,n) = h(m,n) ⊗ x(m,n) =
(3.2)
()(
∑∑

∞−


∞−
−− ','',' nmxnnmmh
)













n’ n’ Xoay180o

x (m’, n’) C

h (m’, n’) A m h(m-m’, n-n’)
B C m’ n A m’


a) Đáp ứng xung b) Tín hiệu ra ở vị trí (m,n)


Hình 3.2 Một biểu diễn của toán tử tích chập


Ví dụ:
Cho các ma trận:
+ Ma trận tín hiệu :













352
141






+ Ma trận đáp ứng xung:














− 11
11




Ma trận tích chập của x và h là một ma trận 4x3. Nói chung chập của hai ma trận số
(M
1
xN
1
) và (M
2
xN
2
) là một ma trận cỡ (M
1
+M
2,
N
1
+N

2
-1). Quá trình nhân chập của h và x
được minh hoạ trong hình 3.3 sau:






1 4 1 n n
2 5 3 1 1 -1 1
1 4 1 1


a) x(m,n) b) h(m,n) c) h(-m,-n)


-1 1 -2 5 1 5 5 1
1 1 0 0 3 10 5 2
2 3 -2 -3


d) h(1-m,-n) e) y(1,0) = -2+3=1 f) y(m,n)

Hình 3.3 . Ví dụ về toán tử nhân chập

Tích chập là một khái niệm rất quan trọng trong xử lý ảnh, đặc biệt là tính chất
của nó có liên quan đến biến đổi Fourier: Biến đổi Fourier của một tích chập bằng tích
đơn giản các biến đổi Fourier của tín hiệu đó:


F[H (x,y) ⊗ I(x,y)] = F [H (x,y) , F[I(x,y)] ̣(3.3)

Trong kỹ thuậ
t H(x,y) được gọi là nhân chập hay nhân cuộn hay mặt nạ : I(x,y) gọi
là ảnh đối tượng.
Thuật toán tổng quát để tính nhân chập dùng cho mọi trường hợp. Để sử dụng thuật
toán chỉ cần thay đổi hai thông số:ma trận biểu diễn ảnh số cần xử lý và ma trận
biểu diễn nhân chập.
Nhân chập (ImageIn, ImageOut: ảnh H: nhân chập N: kích thước ảnh W; kích
thước nhân chập)
{ Vào: ImageIn
Nhân chập
Ra: ImageOut}

Begin

For i = 1 to N do
For i = 1 to N do

Begin

Sum = 0
Le:= (w+1) div2:
For k:=1 to w do
For k:=1 to w do
Begin
Col:=1-k+Lc;
R ow:=j+l+Lc

If(Col<> 0 and (Col<=N) then

If(Row <> 0 and (Row <=N) then
Sum:=Sum+ImageIn [Col, Row ] * H [k,l]

End;
ImageOut [i,j] = Sum
End;

End;


3.2.2 Kỹ thuật lọc số

Chất lượng hình ảnh kém do rất nhiều nguyên nhân như do nhiễm điện tử của máy
thu hay chất lượng bộ số hóa kém. Nhiễu ảnh số được xem như là sự dịch chuyển
nhanh của tín hiệu thu nhận trên một khoảng cách ngắn. Về mặt tần số, nhiễu ứng
với các thành phần tần số cao trong ảnh. Như vậy để xử lý nhiễu ta có thể lọc các
thành phần t
ần số cao. Việc lọc dựa vào tính dư thừa thông tin không gian ; các
pixel lân cận có thể có cùng hoặc gần cùng một số đặc tính. Kỹ thuật lọc này dùng
một mặt nạ và di chuyển khắp ảnh gốc. Tùy theo cách tổ hợp điểm đang xét với các
điểm lân cận mà ta có kỹ thuật lọc tuyến tính hay kỹ thuật lọc phi tuyến. Điểm ảnh
chịu tác động của biến đổi là
điểm ở tâm của mặt nạ. Các kỹ thuật lọc này được
trình bày kỹ trong phần làm trơn ảnh.

3.2.3 Biến đổi Fourier
3.2.3.1 Khái niệm và công thức

Biến đổi Fourier cho một tín hiệu có thể biểu diễn như sau:


FT
x(t) X(f)
Miền thời gian Miền tần số

Dạng phức
X(n ) X(z)



Biến đổi Fourier thuận cho tín hiệu một chiều gồm một cặp biến đổi

-Biến đổi Fourier thuận: chuyển sự biểu diễn từ không gian thực sang không gian tần
số (phổ và pha) . Các thành phần tần số n ày đ ược gọi là các biểu diễn trong không
gian Fourier của tín hiệu.

- Biến đổi Fourier ngược: Chuyển đổi sự biểu diễn của đối tượng từ không gian
Fourier sang không gian thực.

a)Không gian một chiều.

Cho một hàm f(x) liên tục. Biến đổi Fourier của f(x), ký hiệu F(u) , u biểu diễn
tần số không gian , được định ngh ĩa l à:

F(u) =
ƒ(x)e


∞−
-2jπ ux
dx (3.4)

Trong đ ó:
F(x) : biểu diễn biên độ tín hiệu
e
-2jπ ux
: biểu diễn pha.

Biến đổi Fourier ngược của F(u) cho f(x) đ ược định nghĩa như sau:


ƒ(x) =
F(u)e


∞−


∞−
-2jπ ux
du (3.5)

b) Không gian hai chiều

Cho f(x,y) là hàm biểu diễn ảnh liên tục trong không gian hai chiều, cặp biến đổi
Fourier được định nghĩa như sau:
-Biến đổi Fourier thuận:
F(u,v) =
f(x,y) e
∫∫

∞−


∞−
-2jπ (ux+vy
) dxdy (3.6)

U,v biểu diễn tần số không gian

-Biến đổi Fourier ngược

f(u,v) =
F(x,y) e
∫∫

∞−

∞−
-2jπ (ux+vy
) dxdv (3.6)

3.2.3.2 Biến đôỉ Fourier rời rạc_DFT

Biến đổi DFT được phát triển dựa trên bi ến đổi Fourier cho ảnh số. Ở đây, tích
phân được thay bằng tổng. Biến đổi Fourier DFT t ính các giá trị của biến đ ổi
Fourier cho một t ập các giá trị trong không gian tần số được cách đều.

a) DFT cho tín hiệu một chiều

Với tín hiệu một chiều, người ta biến đổi bởi một chu
ỗi trực giao các hàm cơ sở.
Với các hàm liên tục, khai triển chuỗi trực giao sẽ cung cấp chuỗi các hệ số ùng

trong nhiều quá trình khác nhau hay trong phân tích hàm. Khai triển Fourier rời rạc
DFT cho một dãy {u(n), n=0,1, N} được định nghĩa bởi:

V(k) =
u(v) W


=
1
0
N
n
kn
N
v ới k=0, 1, , N-1 (3.7)

với W
N
= e
-j2π/N
và biến đổi ngược

u(n) =


=
1
0
1
N

k
v
N
(k)W
N
-kn
với k=0,1,….N-1 (3.8)
Thực tế trong xử lý ảnh người ta hay dung DFT đơn vị:

v(k)=


=
1
0
1
N
n
N
u(k)W
N
kn
với k=0,1,….N-1 (3.9)
u(n)=


=
1
0
1

N
n
N
u(k)W
N
-kn
với k=0,1,….N-1 (3.10)


Các DFT và DFT đơn vị có tính đối xứng. Hơn nữa khai triển DFT và DFT đơn vị
của một chuỗi và biến đổi ngược lại của nó có tính chu kỳ và chu kỳ N.

b) DFT cho tín hiệu hai chiều (ảnh số)

DFT hai chiều của một ảnh MxN:{u(m,n)} là một biến đổi tách được và được định
nghĩa:

V(k,l) =
u(m,n) W
∑∑

=

=
1
0
1
0
N
m

N
n
N
km
W
N
ln
với 0 ≤1,k≤ N-1 (3.11)

Và biến đổi ngược:


V(k,l) =
∑∑

=

=
1
0
1
0
1
N
m
N
n
N
v(k,l) W
N

-km
W
N
-ln
với 0 ≤m,n≤ N-1 (3.12)

Cặp DFT đơn vị hai chiều được định nghĩa:

V(k,l) =
∑∑

=

=
1
0
1
0
1
N
m
N
n
N
u(m,n) W
N
km
W
N
ln

với 0 ≤1,k≤ N-1
(3.13)

U(m,n) =
∑∑

=

=
1
0
1
0
1
N
m
N
n
N
v(k,l) W
N
-km
W
N
-ln
với 0 ≤m,n≤ N-1
(3.14)

Viết lại các công thức (3.13) và (3.14) ta có:


V(k,l) =
∑∑

=
1
00
1
N
m
N
u(m,n)W
N
(km +ln)
với 0 ≤m,n≤ N-1 (3.15)

u(m,n) =
∑∑

=

=
1
0
1
0
1
N
m
N
l

N
v(k,l)W
N
-(km +ln)
Với 0 ≤m,n≤ N-1 (3.16)


Ở đây, W
N
(km +ln)
là ma trận ảnh cơ sở.

Ta có: W
N
-(km +ln)
=e
-j2π(km+ln)/N
=cos [2π(km+ln)/N] -jsin [2π(km+ln)/N]

Như vậy các hàm cơ sở trong ma trận cơ sở của biến đổi Fourier là các hàm cosine
và hàm sine. Chỉ biến đổi Fourier biểu diễn ảnh trong không gian mới theo các hàm
sine và cosine.

3.2.3.3. Định lý chập cuộn hai chiều.

DFT của cuộn chập hai chiều của hai ma trận bằng tích DFT của chúng:

u(m,n) = h(m-m’, n-n’)
∑∑


=

=
1
0
1
0
N
m
N
l
c
u
1
(m’,n’) với 0 ≤m,n≤ N-1 (3.17)

với h(m,n), u
1
(m,n) là ma trận NxN và h(m,n)
c
=h(m mod N, n mod N)

3.2.3.4. Thuật toán biến đổi Fourier nhanh.

- Trường hợp một chiều

Từ công thức v(k) =


=

1
0
1
N
n
N
u(n) W
N
kn
với k= 0,1,…., N-1 ta thấy với mỗi giá
trị k ta cần N phép tính nhân và N phép cộng. Nên để tính N giá trị của v(k) ta phải
tính N
2
phép tính. Để khắc phục điều này người ta sử dụng thuật toán biến đổi Fourier
nhanh FFT chỉ cần N.log
2
N phép tính.

Thuật toán Fourier nhanh được tóm tắt như sau:

-Giả sử N=2
n
-Giả sử W
N
là nghiệm thứ N của đơn vị W
N =
e
-2jπ/N
và M=N/2 ta có:



v(k) =


=
12
0
2
1
M
n
M
u(n)W
2M
nk
(3.18)

- Khai triển công thức trên ta được



v(k) = (


=
1
0
1
M
n

M
u(2n) W
2M
2nk
+
M
1
∑ u(2n+1) W
2M
(2n+1)k
)/2 (3.19)


vì W
2M
2nk
=W
2M
nk
, do đó:

v(k) =
2
1
[u
chẵn
(n)+u
lẻ
(n)] (3.20)



v(k) với k=[0,M-1] là một DFT trên M =N/2. Thực chất của thuật toán FFT là dung
nguyên tắc chia đôi và tính chu kỳ để tính DFT. Với k=[0,M-1] dung công thức (3.19).
Với k=[M,M-1] dung phép trừ trong công thức (3.19) có thể dung thuật toán này để
tính DFT ngược.

-Trường hợp hai chiều:

Do DFT hai chiều là tách được nên từ công thức (3.14) ta có:

V(k,l) =


=
1
0
1
N
m
N
W
N
kn
u(m,n) W


=
1
0
N

n
N
ln
(3.21)

Từ công thức (3.21) , cách tính DFT hai chiều như sau:

-Tính DFT 1 chiều với mỗi giá trị của X (theo cột)
-Tính DFT 1 chiều theo hướng ngược lại (theo hàng) với giá trị thu được ở trên.



3.3 Tiền xử lý


Có hai phương pháp cơ bản được sử dụng trong tiền xử lý ảnh. Phương pháp thứ
nhất dựa vào các kỹ thuật tiền xử lý trong miền không gian và phương pháp thứ
hai sử dụng các khái niệm trong miền tần số thông qua biến đổi Fourier.

3.3.1 Phương pháp tiền xử lý trong miền không gian.

Thuật ngữ miền không gian ở đây muốn nói đến số lượng pixel tạo nên một hình
ảnh. Các phương pháp tiền xử
lý trong miền không gian là các thủ tục tác động trực
tiếp lên các pixel tạo lên hình ảnh đó. Các hàm tiền xử lý trong miền không gian có
thể được viết như sau:

g(x,y) =h[f(x.y)] (3.22)

Ở đây f(x,y) là hàm điểm ảnh chưa được xử lý.

g(x,y) là hàm điểm ảnh đã được xử lý.
h là toán tử áp lên f. Dạng đơn giản nhất của h là lân cận có kúch tghước1x1, khi
đó g chỉ phụ thuộc vào giá trị của f tạ
i (x,y) và h trở thành hàn ánh xạ cường độ
sáng điểm ảnh.

Một trong những kỹ thuật được sử dụng rộng rãi nhất là sử dụng mặt nạ nhân
chập. Trên hình 3.4 minh hoạ một mặt nạ là một mảng 2 chiều có kích thước 3x3,
các hệ số của mặt nạ được chọn để phát hiện một thuộc tính cho trước trong một
hình ảnh.



Hình 3.4. Một lân cận kích thước 3x3 quanh điểm (x,y)
y
(x,y)




x






Để hiểu rõ về m
ặt nạ nhân chập ta xét một ví dụ cụ thể sau. Giả sử chúng ta có
một hình ảnh có cường độ không đổi chứa một số điểm ảnh tách rời nhau, cường độ

của các điểm ảnh này khác với nền. Các điểm ảnh này có thể được phát hiện bằng một
mặt nạ nhân chập có kích thước 3x3 với các hệ số đã chọn trên hình 3.5


Hình 3.5. Mặt nạ
dung để xác định các điểm ảnh
Tách biệt trên một nền không đổi
-1 -1 -1
-1 8 -1
-1 -1 -1



Thủ tục phát hiện điểm ảnh như sau: Cho tâm của mặt nạ chuyển động xung quanh
hình ảnh. Tại mỗi vị trí pixel trong hình ảnh, ta nhân mỗi pixel nằm trong vùng mặt
nạ tương ứng ; Nghĩa là pixel ở tâm của mặt nạ được nhân với 8, còn 8 pixel lân
cận được nhân với –1. Sau đó cộng kết quả c
ủa 9 phép nhân này lại. Nếu tất cả các
pixel trong mặt nạ có cùng giá trị (tức nền không đổi), thì tổng sẽ bằng 0. Ngược
lại nếu tâm của mặt nạ trùng với một trong các điểm ảnh cần xác định, thì tổng sẽ
khác 0. Nếu điểm ảnh cần xác định không nằm đúng tâm của mặt nạ, tổng cũng sẽ
khác 0, nhưng giá trị biên độ của đáp ứng sẽ yếu hơn. Những đáp ứng yếu hơn này
có thể loại bỏ bằng cách so sánh tổng với một ngưỡng.

Xét một mặt nạ có các hệ số w1, w2,….w9 và 8 điểm ảnh lân cận của điểm
ảnh
(x,y) như hình 3.6. Ta có thể khái quát hoá một hàm tiền xử lý cho một mặt nạ 3x3
như sau:

h[f(x,y)]= w1f(x-1, y-1) +w3f(x-1, y+1) +w4f(x, y-1) +w5f(x,y)+w6f(x,y+1)

+w7f(x+1,y-1)+w8f(x+1,y) +w9f(x+1, y+1) (3.23)



Hình 3.6. Mặt nạ tổng quát kích thước
3x3 trình bày các hệ số và vị trí pixel hình
ảnh tương ứng.
W1
(x-1,y-1)
W2
(x-1,y)
W3
(x-1,y+1)
W4
(x, y-1)
W5
(x,y)
W6
(x,y+1)
W7
(x+1, y-1)
W8
(x+1, y)
W9
(x+1,
y+1)






3.3.2 Phương pháp tiền xử lý trong miền tần số.

Thuật ngữ miền tần số ở đây có nghĩa là tổng số pixel phức được tạo ra t
ừ việc lấy
biến đổi Fourier hình ảnh . Khái niệm “tần số” thường được sử dụng trong giải
thích biến đổi Fourier và suy ra từ bản chất của biến đổi Fourier là tổ hợp của các
hàm sin phức. Phương pháp naỳ đóng vai trò rất quan trọng trong lĩnh các vực như
phân tích chuyển động của một vật và miêu tả vật.
Xét các hàm rời rạc của một biến, f(x), x=0, 1, …., N-1. Biến đổi Fourier thu
ận của
hàm f(x) là:

×