BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Đề tài
SIÊU ĐỘ PHÂN GIẢI CHO HÌNH ẢNH
SỬ DỤNG PHƯƠNG PHÁP
HỒI QUI HẠT NHÂN HỮU HƯỚNG
Sinh viên: Võ Hoàng Nhân
Mã số: 1111502
Khóa: K37
Cần Thơ, 05/2015
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN KHOA H ỌC M ÁY T ÍNH
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Đề tài
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
...............
Cần Thơ, ngày…. Tháng…. năm 2015
Giáo viên hướng dẫn
(Ký và ghi rõ họ tên)
1
Bộ môn Khoa Học Máy Tính
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
2
Bộ môn Khoa Học Máy Tính
LỜI CẢM ƠN !
Lời đầu tiên em xin bài tỏ lời cảm ơn sâu sắc đến quý Thầy, Cô trong
Khoa đã giảng dạy em ở các môn học, là nền tảng cho những kiến thức
nâng cao được áp dụng trong đề tài.
Em xin gởi lời cảm ơn chân thành đến thầy Phạm Nguyên Hoàng,
người đã trực tiếp hướng dẫn em hoàn thành đề tài này. Thầy đã giúp em
nghiên cứu tổng quan về lý thuyết xử lý ảnh số, hướng dẫn em tìm hiểu
những kiến thức về siêu độ phân giải của hình ảnh, giới thiệu ý tưởng của
thuật toán chính được áp dụng trong đề tài.
Đồng thời, em cũng xin gởi lời cảm ơn đến tất cả bạn bè, những người
đã giúp đỡ và hỗ trợ trong quá trình hoàn thiện đề tài.
Và lời cuối cùng, em xin bày tỏ lòng chân thành và biết ơn vô hạn tới
cha mẹ, những người luôn ở bên cạnh em những lúc em khó khăn nhất,
giúp em vượt qua khó khăn trong học tập cũng như trong cuộc sống.
Cần Thơ, ngày 12 tháng 05 năm 2015
Sinh viên
Võ Hoàng Nhân
3
Bộ môn Khoa Học Máy Tính
5. Các định dạng ảnh cơ bản ....................................................................................................... 15
6. Độ phân giải của ảnh .............................................................................................................. 16
7. Các thuật toán siêu độ phân giải ............................................................................................. 16
II.
TỔNG QUAN VỀ CÔNG CỤ LẬP TRÌNH (QT CREATOR) ....................................... 18
III.
GIỚI THIỆU VỀ THƯ VIỆN OPENCV ......................................................................... 18
IV.
THUẬT TOÁN HỒI QUY HẠT NHÂN ......................................................................... 19
V.
HỒI QUY HẠT NHÂN STEERING ............................................................................... 22
VI.
LỰA CHỌN CÁC THAM SỐ CHO HỒI QUY HẠT NHÂN ........................................ 23
VII.
CHỈ SỐ ĐÁNH GIÁ PSNR ............................................................................................. 24
CHƯƠNG 3: CHƯƠNG TRÌNH ỨNG DỤNG ........................................................................... 25
I.
II.
Hình 9: Ảnh độ phân giải 171 x 171……………………………………………...15
Hình 10: Ý tưởng của kỹ thuật Multi – frame…………………………………….15
Hình 11: Ý tưởng của kỹ thuật Single – frame……………………………………16
Hình 12: Logo Qt Creator………………………………………………………....16
Hình 13: Ảnh nhiễu………………………………………………………………..22
Hình 14: Ảnh kết quả……………………………………………………………...22
Hình 15: Ảnh độ phân giải thấp…………………………………………………...22
Hình 16: Ảnh kết quả……………………………………………………………...22
Hình 17: Giao diện chính của chương trình……………………………………….24
Hình 18: Giao diện cửa sổ mở ảnh………………………………………………...24
Hình 19: Giao diện cửa sổ ảnh giảm độ phân giải (128 X 128)……………………25
Hình 20: MessageBox hiển thị kích thước của ảnh………………………………..25
Hình 21: Cửa sổ hiển thị kết quả của ảnh SKR……………………………………26
Hình 22: MessageBox hiển thị kích thước của ảnh và thời gian thực hiện………..26
Hình 23: Cửa sổ hiển thị kết quả của thuật toán nội suy-bicubic………………….27
Hình 24: MessageBox hiển thị kích thước của ảnh………………………………..27
Hình 25: Biểu đồ so sánh chỉ số PSNR……………………………………………28
5
Bộ môn Khoa Học Máy Tính
TÓM TẮT
Trong hai thập kỉ qua, chúng ta đã chứng kiến một sự tăng trưởng bùng nổ trong
đa dạng cả về kỹ thuật và phạm vi các ứng dụng xử lý ảnh. Xử lý ảnh là một trong những
chuyên ngành quan trọng và lâu đời của Công nghệ thông tin. Xử lý ảnh được áp dụng
trong nhiều lĩnh vực y học, vật lý, hóa học, tìm kiếm tội phạm, trong quân sự và trong một
số lĩnh vực khác…Vì vậy ảnh có chất lượng cao ngày càng quan trọng hơn. Tuy nhiên do
nhiều lí do khách quan như hạn chế của máy ảnh, môi trường chụp ảnh không tốt nên ảnh
I.
GIỚI THIỆU
Trong những năm gần đây, cùng với sự phát triển vượt bậc của khoa
học máy tính, thì xử lý ảnh cũng đã có những bước phát triển nhất định. Xử lý ảnh
được áp dụng trong nhiều lĩnh vực khác nhau như y học, vật lý, hóa học, quân sự,
trong giải trí và nhiều lĩnh vực khác nhau….
Phần lớn con người thu nhận thông tin bằng thị giác, cụ thể đó là các
hình ảnh. Vì vậy xử lý ảnh là vấn đề không thể thiếu và hết sức quan trọng để thu
được hình ảnh tốt hơn, đẹp hơn nhằm đáp ứng yêu cầu thông tin khác nhau của người
nhận.
Các phương pháp xử lý ảnh ban đầu là nâng cao chất lượng và phân tích
ảnh. Qua nhiều năm phát triển thì các phương pháp này luôn được cải tiến để kết quả
được tốt hơn. Song song đó giá cả của các máy ảnh kỹ thuật số ngày càng giảm nên
số lượng ảnh được chụp lại ngày càng tăng và phổ biến rộng rãi với mọi người.
Tuy nhiên vẫn có một bộ phận không nhỏ máy ảnh kỹ thuật số có độ
phân giải chưa cao so với các máy ảnh cơ. Ảnh được chụp ra từ các loại máy ảnh này
thường bị hiệu ứng răng cưa. Nguyên nhân là do số lượng các điểm ảnh CCD (Charge
Coupled Device) sử dụng trong các máy ảnh kỹ thuật số thấp để giảm chi phí sản
xuất. Các phương pháp xử lý ảnh luôn được cải thiện để thay thế cho chi phí sản xuất.
Từ những lý do trên, em đã chọn đề tài “Siêu độ phân giải cho hình
ảnh sử dụng phương pháp hồi quy hạt nhân hửu hướng” cho bài nghiên cứu của
mình.
II.
TÌNH HÌNH NGHIÊN CỨU
Có rất nhiều thuật toán xử lý ảnh nhằm nâng cao độ phân giải đã được xây
dựng trên thế giới. Tuy nhiên ở Việt Nam xử lý ảnh chỉ mới được đưa vào giảng
9
Bộ môn Khoa Học Máy Tính
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ XỬ LÝ ẢNH
Quá trình xử lý ảnh được xem như là quá trình thu nhận ảnh đầu vào sau
đó áp dụng các phép xử lý lên ảnh nhằm cho ra kết quả như mong muốn. Kết quả
của ảnh sau khi xử lý có thể là một tấm ảnh “tốt” hơn hoặc một kết luận nào đó về
ảnh đầu vào.
I.
Ảnh “tốt”
hơn
Ảnh đầu vào
Các phép xử
lý ảnh
Kết luận
Hình 1: Quá trình xử lý ảnh
Như vậy mục tiêu của xử lý ảnh có thể chia ra làm 3 hướng cơ bản như
sau:
Xử lý ảnh ban đầu để cho ra một ảnh mới tốt hơn theo một mong muốn
của người dùng.
- Phân tích ảnh để thu nhận một thông tin nào đó giúp cho việc phân loại
và nhận biết ảnh.
- Từ ảnh đầu vào mà có những nhận xét, kết luận ở mức cao hơn, sâu
Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ. Trước hết là
công việc tăng cường ảnh. Do những nguyên nhân khác nhau: có thể do chất
lượng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu mà ảnh có thể bị suy
biến. Do vậy cần phải tăng cường và khôi phục ảnh để làm nổi bật một số đặc
tính của ảnh, hay làm cho ảnh gần giống với trạng thái gốc – trạng thái trước
khi ảnh bị biến dạng. Giai đoạn tiếp theo là phát hiện các đặc tính như: biên,
phân vùng ảnh, trích chọn các đặc tính, v.v…
Cuối cùng, tùy theo mục đích của ứng dụng mà sẽ là giai đoạn nhận dạng,
phân lớp hay áp dụng các hiệu ứng lên ảnh.
1. Biểu diễn ảnh số.
-
-
Trong xử lý ảnh bằng máy tính, ảnh phải được đưa về dạng biểu diễn số. Một
ảnh được biểu diễn bằng một ma trận số hay là một mảng hai chiều. Một phần
tử của ma trận biểu diễn cho mức xám hay cường độ của điểm ảnh tương ứng.
Mỗi phần tử trong ma trận được gọi là một pixel.
Điểm ảnh (pixel) là một phần tử của ảnh số tại tọa độ (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
11
Bộ môn Khoa Học Máy Tính
hợp sao cho mắt người cảm nhận về 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ư thật. Mỗi phần tử trong ma trận là một phần tử
+ Liên kết 8: Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi là liên kết
8 nếu q nằm trong tập N8(p).
+ Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ sáng V
được nói là liên kết m nếu: q thuộc N4(p) hoặc q thuộc ND(p).
12
Bộ môn Khoa Học Máy Tính
3. Mức xám của ảnh
-
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và mức xám
của nó. Chúng ta xem xét một số khái niệm và thuật ngữ thường dùng trong
xử lý ảnh:
+ Định nghĩa: Mức xám 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). Lý do từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn
mức xám.
+ Ả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ó 2 mức đen, trắng phân biệt. Nói cách khác mỗi
điểm ảnh nhị phân chỉ có thể là 0 hoặc 1.
+ Ảnh màu: trong hệ màu RGB (Red, Green, Blue) để tạo nên hệ thống màu,
người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 28*3 =
224 ≈ 16,7 triệu màu.
4. Biểu diễn ảnh
-
Hình 5: Minh họa ảnh biểu diễn bằng mã loạt dài
Biểu diễn bằng mã xích: Phương pháp này thường dùng để biểu diễn đường biên ảnh.
Một đường bất kỳ được chia thành các đoạn nhỏ. Nối các điểm chia, ta có các đoạn
thẳng kế tiếp được gán hướng cho đoạn thẳng đó tạo thành một dãy xích gồm các
đoạn. Các hướng có thể chọn 4, 8, 12, 24… mỗi hướng được mã hóa theo số thập phân
hoặc số nhị phân thành mã của hướng.
Hình 6: Minh họa ảnh biểu diễn bằng mã xích
Biểu diễn bằng mã tứ phân: Phương pháp mã tứ phân xem một vùng ảnh được bao
kín bởi một hình chữ nhật. Vùng này được chia làm 4 vùng con. Nếu vùng con gồm
toàn điểm đen (1) hay toàn điểm trắng (0) thì không cần chia tiếp. Trong trường hợp
ngược lại, vùng con gồm cả đen và trắng gọi là vùng xám tiếp tục được chia làm 4
vùng con tiếp. Quá trình chia dừng lại khi không thể chia tiếp được nữa, có nghĩa là
vùng con khi chứa thuần nhất điểm đen hay trắng. Như vậy, cây biểu diễn gồm một
chuỗi các kí hiệu b, w, g kèm theo ký hiệu mã hóa 4 vùng con. Biểu diễn theo phương
14
Bộ môn Khoa Học Máy Tính
pháp này ưu việt hơn so với các phương pháp trên, nhất là so với mã loạt dài. Tuy
nhiên, để tính toán số đo các hình như chu vi, momen là khá khó.
5. Các định dạng ảnh cơ bản
-
-
Ảnh BMP (Bitmap): là ảnh được mô tả bởi một ma trận các giá trị số xác định
và bảng màu của các điểm ảnh tương ứng khi hiển thị. Ưu điểm của ảnh Bitmap
là tốc độ vẽ và tốc độ xử lý nhanh. Nhược điểm của nó là kích thước rất lớn.
Ảnh JPEG (Joint Photographic Experts Group): Đây là một định dạng ảnh
được hỗ trợ nhiều trên trình duyệt web. Ảnh JPEG được phát triển để nén dung
lượng và lưu trữ ảnh chụp, và được sử dụng tốt nhất cho đồ họa có nhiều màu
sắc, ví dụ như là ảnh chụp được scan. File Ảnh JPEG là ảnh Bitmap đã được
nén lại.
Ảnh GIF (Graphics Interchange Format): Ảnh GIF được phát triển dành cho
những ảnh có tính chất thay đổi. Nó được sử dụng tốt nhất cho đồ họa có ít
màu, ví dụ như là ảnh hoạt hình hoặc là những bức vẽ với nhiều đường thẳng.
File ảnh GIF là những ảnh Bitmap được nén lại.
Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG:
15
Bộ môn Khoa Học Máy Tính
-
+
Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi
ảnh JPEG nén lại nhưng làm mất một số dữ liệu trong ảnh.
+
Ảnh GIF bị giới hạn bởi số màu nhiều nhất là 256 trong khi ảnh JPEG
không giới hạn số màu mà chúng sử dụng.
Ảnh WMF(Windows Metafiles): là một tập hợp các lệnh GDI dùng để mô tả
ảnh và nội dung ảnh. Có nhiều ưu điểm khi sử dụng ảnh WMF: kích thước file
WMF nhỏ và ít phụ thuộc vào thiết bị hiển thị hơn so với ảnh Bitmap.
Hình 8: Ảnh độ phân giải 512 x 512
Hình 9: Ảnh độ phân giải 171 x 171
+ Multi - frame: sử dụng nhiều điểm ảnh từ nhiều hình ảnh có độ phân giải
thấp để đưa ra được ảnh kết quả có độ phân giải cao. Các thuật toán tiêu biểu
cho kỹ thuật này là: truy hồi, nội suy song tuyến tính…
+
+
+
=>
+
Hình 10: Ý tưởng của kỹ thuật Multi - frame
+ Single - frame: chỉ sử dụng một ảnh có độ phân giải thấp để đưa ra ảnh kết
quả có độ phân giải cao. Có nhiều thuật toán cho kỹ thuật này như: nội suy
tuyến tính, Patch Based Blind Image…
17
Bộ môn Khoa Học Máy Tính
=>
Hình 11: Ý tưởng của kỹ thuật Single – frame
Bộ môn Khoa Học Máy Tính
-
-
kế để chạy trên nhiều nền tảng khác nhau (cross-patform), nghĩa là nó có thể
chạy trên nhiều hệ điều hành Window, Linux, Mac, IOS…Việc sử dụng thư
viện OpenCV tuân theo các quy định về sử dụng phần mềm mã nguồn mở
BSD do đó chúng ta có thể sử dụng thư viện này một cách miễn phí cho cả
mục đích phi thương mại lẫn thương mại.
Năm 2006 phiên bản OpenCV 1.0 được công bố chính thức dựa trên giao diện
C, cấu trúc của một ảnh số dựa trên cấu trúc của IPllmage. Tháng 10 năm 2009,
bản OpenCV thế hệ thứ hai ra đời (2.0), phiên bản này có giao diện của C++
cấu trúc của ảnh số, ma trận dựa trên cấu trúc của cv::Mat, và có khá nhiều
điểm khác biệt so với phiên bản thứ nhất.
Việc viết các dòng lệnh để thực hiện cùng một chức năng trong OpenCv 2.0
là dễ dàng hơn nhiều so với OpenCV 1.0, một phần là giao diện C++ có phần
dễ hiểu hơn so với C, một phần là các hàm trong OpenCV 2.0 đã được tối ưu
hóa nhiều bước trung gian không cần thiết về mặt giao diện người sử dụng.
IV.
THUẬT TOÁN HỒI QUY HẠT NHÂN
- Hồi quy hạt nhân là thuật toán Single-frame
- Hàm hồi quy hạt nhân được cho bởi công thức sau:
(1)
-
(4)
+ Vech là một phép toán half-vectorization. Ta có:
(5)
Ví dụ: đối với ma trận 2 x 2
-
=>
𝛽0 là z(x).
(6)
Vì thuật toán này dựa trên những thể hiện của tín hiệu cục bộ, nên ta lựa chọn
phương pháp ước lượng các tham số {βn}Nn = 0 bằng cách sử dụng tất cả các
mẫu lân cận {yi} Pi = 1 sẽ có chất lượng tốt hơn so với các mẫu xa.
Công thức bình phương nhỏ nhất sẽ giúp ta giải quyết được vấn đề này.
(7)
Trong đó:
(8)
20
Bộ môn Khoa Học Máy Tính
-
Khi N = 0 ta có:
(15)
21
Bộ môn Khoa Học Máy Tính
Đây được gọi là công thức ước lượng Nadaraya-Watson (nwe)
Công thức trên vẫn còn một hạn chế là nó luôn luôn là sự kết hợp tuyến tính
cục bộ của các mẫu lân cận. Để khắc phục hạn chế này chúng ta sẽ tìm hiểu hàm
Steering Kernel.
V.
HỒI QUY HẠT NHÂN STEERING
Hồi quy hạt nhân Steering được dựa trên ý tưởng tập hợp các mẫu bị nhiễu cục
bộ (không liên tục) bằng cách phân tích giá trị của các pixel khác nhau tại
từng chỗ và chuyển thông tin này về hàm nội suy hạt nhân để xây dựng lại
hình dạng và kích thước của nó.
Xét ma trận làm mịn Hi trong trường hợp trước nó là một tích vô hướng của
mẫu đang xét và tham số toàn cục h. Điều này dẫn đến trọng số hạt nhân có
hiệu lực dọc theo hướng x1 và x2. Tuy nhiên nếu chúng ta tính chính xác ma
trận này thì các hàm hạt nhân có thể nắm bắt cấu trúc ở cục bộ. Chính xác hơn
chúng ta sẽ định nghĩa ma trận làm mịn như là một ma trận đối xứng.
-
-
(16)
Bộ môn Khoa Học Máy Tính
Các vector này chứa thông tin trực tiếp về sự định hướng cấu trúc
cục bộ, và các giá trị đơn lẻ tương ứng với sự biểu diễn chất lượng trong
các định hướng tương ứng. Sử dụng giá trị của các vector đơn lẻ này chúng
ta tìm được một ước tính ổn định hơn của ma trận phương sai.
Với
(21)
(22)
Các thông số ƍ và 𝛾𝑖 là sự kéo dài và mở rộng quy mô tham số, 𝜆′ và 𝜆′ ′ là “quy
tắc” của các thông số tương ứng nhằm làm giảm nhiễu và hạn chế mẫu 𝛾𝑖 bằng 0.
Tham số 𝛼 được gọi là độ nhạy của cấu trúc.
VI.
-
-
LỰA CHỌN CÁC THAM SỐ CHO HỒI QUY HẠT NHÂN
Các tham số có vai trò rất quan trọng trong hồi quy hạt nhân.
+ N là thứ tự hồi quy.
+ h là thông số làm mịn.
+ α là độ nhạy của thuật toán.
N và h kiểm soát sự cân bằng giữa phương sai và độ lệch của ma trận làm mịn Ci.
N lớn, h nhỏ tạo nên phương sai cao hơn và độ lệch nhỏ hơn.
Cấu trúc của độ nhạy α nằm trong khoảng (0 ≤ 𝛼 ≤ 0.5) nó quyết định kích thước
của ma trận làm mịn đi qua ở xung quanh mẫu.
Nếu chúng ta mong muốn giảm nhiểu tốt hơn thì nên điều chỉnh chỉ số α càng lớn càng