Chương 1 giới thiệu tổng quan về lĩnh vực phục hồi ảnh động, tình hình và các biện pháp giải quyết bài toán khôi phục dữ liệu bị mất trong ảnh động hiện nay, từ đó đặt ra vấn đề cần giải
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA SAU ĐẠI HỌC NGÀNH KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG
Trang 2LỜI CẢM ƠN
Xin chân thành cảm ơn PGS.TSKH NGUYỄN KIM SÁCH, người Thầy đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện lụân văn
Xin chân thành cảm ơn quí Thầy giáo, Cô giáo của khoa Sau Đại Học ngành Điện
tử Viễn thông , trường Đại học Bách khoa TP Hồ Chí Minh đã tận tình cung cấp những kiến thức quí báu trong suốt thời gian học
Xin chân thành cảm ơn các đồng nghiệp đã động viên, giúp đỡ, tạo mọi điều kiện thuận lợi để tôi hoàn thành luận văn
Xin chân thành cảm ơn gia đình tôi, đặc biệt là cha mẹ tôi với công ơn sinh thành giáo dưỡng để tôi có được ngày hôm nay
Xin cảm ơn người bạn đời đã hết lòng vì tôi và gia đình, luôn luôn động viên và giúp đỡ tôi trong suốt thời gian thực hiện luận văn
NGUYỄN ĐĂNG QUANG
Trang 3LỜI NÓI ĐẦU
Cùng với sự phát triển của nhân loại, máy chiếu phim đã xuất hiện cách đây khoảng 100 năm Ngày sinh của máy chiếu phim là ngày 28 tháng 12 năm 1895 khi Auguste và Louis Lumiere trình chiếu bộ phim đầu tiên của họ ở Paris Máy chiếu phim của họ được thiết kế dựa trên phát minh của Faraday từ năm 1831 Nhờ có phim ảnh, các sự kiện lịch sử đã được ghi chép lại một cách sống động, cùng với các vật phẩm văn hoá khác, các bộ phim tư liệu cũ cũng là những vật phẩm văn hoá vô giá mà con người cần phải bảo tồn Các tư liệu lịch sử, nghệ thuật về văn hoá của nhân loại về mọi lĩnh vực trong thế kỷ 20 đã được lưu trữ với một khối lượng đồ sộ ở dạng film nhựa, băng video và dĩa Nhiều loại có ý nghĩa lịch sử lớn đang trong tình trạng suy giảm chất lượng đang cần được bảo quản và khôi phục
Cùng với sự phát triển nhanh chóng của kỹ thuật số, người ta đang chuyển dần các phim tư liệu cũ từ phim nhựa sang thiết bị lưu trữ ký thuật số Trong quá trình số hoá phim nhựa, một bước không thể thiếu là xử lý tăng cường chất lượng phim thậm chí phục hồi lại các cảnh bị mất dữ liệu trong đoạn phim
Trong xu thế chung đó, mục đích chính của luận văn là xem xét, tìm hiểu, nghiên cứu khôi phục phần dữ liệu bị mất trong ảnh động bằng cách sử dụng một số giải thuật khôi phục dữ liệu bị mất dựa trên thông tin của chính bức ảnh (image inpainting) Đề tài được trình bày trong 7 chương , 5 phụ lục và một dĩa CD
Chương 1 giới thiệu tổng quan về lĩnh vực phục hồi ảnh động, tình hình và các biện pháp giải quyết bài toán khôi phục dữ liệu bị mất trong ảnh động hiện nay, từ
đó đặt ra vấn đề cần giải quyết trong luận văn Một số nguyên lý cơ bản về biểu diễn ảnh bằng hình học vi phân, khái niệm đường mức và khôi phục ảnh dựa trên đường mức, các giải thuật làm trơn ảnh bằng diffusion được trình bày tóm lược trong chương 2 Nội dung chính của đề tài được giải quyết và tóm tắt trong chương 3 và chương 4 Chương 3 trình bày cơ sở lý thuyết và giải thuật của bài toán phục hồi ảnh của Bertalmio và Oliveira Trong chương 4 trình bày các giải thuật ước lượng và dò vùng mất dữ liệu trong chuỗi ảnh Thực nghiệm, đánh giá các giải thuật phục hồi dữ liệu bị mất của Bertalmio, Oliveira, đề xuất cải tiến và các đề xuất áp dụng các giải thuật này cho việc phục hồi các dạng bị mất dữ liệu scratch và blotch trong chuỗi ảnh được trình bày trong chương 5 và chương 6 Nội dung dĩa CD kèm theo luận văn bao gồm chương trình IRES.EXE, văn bản hướng dẫn sử dụng GUIDE.PDF, tất cả các ảnh gốc đã được sử dụng cho các thực nghiệm trong luận văn, và thư mục IRES chứa toàn bộ mã nguồn của chương trình IRES
Trang 4Do nội dung đề tài khá mới mẻ, nguồn tài liệu tham khảo chủ yếu từ các bài báo trên Internet, do trình độ hạn chế của tác giả, luận văn không thể tránh khỏi những thiếu sót nhất định Tác giả rất mong đón nhận những ý kiến phê bình, góp ý xây dựng cho đề tài cũng như các hướng phát triển sau này của đề tài Một lần nữa xin chân thành cảm ơn quý thầy cô đã nhiệt tình giảng dạy, cung cấp tài liệu, hướng dẫn góp ý, tạo điều kiện thuận lợi và giúp đỡ về mọi mặt để tác giả hoàn thành luận văn tốt nghiệp này
NGUYỄN ĐĂNG QUANG
ĐH BÁCH KHOA TP HCM Tháng 05 năm 2003
Trang 5MỤC LỤC
MỤC LỤC
LỜI CẢM ƠN
LỜI NÓI ĐẦU 1
1 MỞ ĐẦU 3
1.1 TỔNG QUAN VỀ ẢNH ĐỘNG VÀ XỬ LÝ ẢNH ĐỘNG 3
1.1.1 Ảnh động 3
1.1.2 Các bài toán xử lý ảnh động 3
1.1.3 Các nguyên nhân làm giảm chất lượng ảnh động 4
1.1.4 Đánh giá chất lượng khôi phục ảnh 7
1.2 TÌNH HÌNH GIẢI QUYẾT BÀI TOÁN KHÔI PHỤC DỮ LIỆU BỊ MẤT TRONG ẢNH ĐỘNG 9
1.2.1 Các biện pháp giải quyết bài toán khôi phục dữ liệu bị mất 9
1.2.2 Tình hình giải quyết bài toán khôi phục dữ liệu bị mất 10
1.3 ĐẶT VẤN ĐỀ VÀ GIỚI HẠN PHẠM VI ĐỀ TÀI 11
2 CÁC KHÁI NIỆM VÀ LỌC ẢNH 12
2.1 MỘT SỐ KHÁI NIỆM CƠ BẢN 12
2.1.1 Gradient 12
2.1.2 Đường mức (Level line, Isophote) 13
2.1.3 Độ cong trung bình (Mean Curvature) 14
2.2 CÁC BỘ LỌC LÀM TRƠN ẢNH (IMAGE DIFFUSION) 15
2.2.1 Bộ lọc làm trơn đẳng hướng (Isotropic Diffusion) 15
2.2.2 Bộ lọc làm trơn bất đẳng hướng (Anisotropic Diffusion) 16
3 CÁC GIẢI THUẬT KHÔI PHỤC ẢNH 21
3.1 GIẢI THUẬT BERTALMIO KHÔI PHỤC VÙNG DỮ LIỆU BỊ MẤT 20
3.1.1 Giới thiệu 20
3.1.2 Nguyên tắc thực hiện 21
3.1.3 Mô hình toán học 22
3.1.4 Giải thuật 23
3.1.5 Lưu đồ 25
3.2 GIẢI THUẬT OLIVEIRA KHÔI PHỤC VÙNG DỮ LIỆU BỊ MẤT 28
3.2.1 Giải thuật 28
Trang 63.2.2 Lưu đồ 28
3.3 GIẢI THUẬT BERTALMIO VÀ OLIVEIRA ĐA PHÂN GIẢI 31
3.3.1 Giải thuật 31
3.3.2 Lưu đồ 32
4 XÁC ĐỊNH VÙNG DỮ LIỆU BỊ MẤT 33
4.1 ƯỚC LƯỢNG CHUYỂN ĐỘNG 33
4.1.1 Block Matching 33
4.1.2 Tiêu chuẩn phù hợp 33
4.1.3 Tìm kiếm Full search 34
4.1.4 Tìm kiếm ba bước 35
4.1.5 Tìm kiếm chữ thập 37
4.1.6 Uớc lượng chuyển động phân cấp 38
4.2 XÁC ĐỊNH VÙNG DỮ LIỆU BỊ MẤT TRONG CHUỖI ẢNH 42
4.2.1 Bộ dò SDIa 42
4.2.2 Bộ dò SDIp 45
4.2.3 Bộ dò SDI 47
4.2.4 Bộ dò ROD 49
4.2.5 Bộ dò SROD 51
4.2.6 Sử dụng các bộ dò cho vết trầy xước bất kỳ 53
4.3 DÒ VẾT TRẦY SƯỚT DỌC, NGANG 57
5 GIẢI THUẬT ĐỀ XUẤT 64
5.1 THỰC NGHIỆM VÀ ĐÁNH GIÁ 64
5.1.1 Thực nghiệm 64
5.1.2 Nhận xét và đánh giá kết quả 69
5.2 ĐỀ XUẤT CHO VIỆC KHÔI PHỤC ẢNH ĐỘNG 72
5.2.1 Đề xuất khôi phục vùng dữ liệu bị mất dạng blotch và scratch 72
5.2.2 Đề xuất đối với dữ liệu bị mất dạng trầy sướt dọc, ngang 73
5.2.3 Đề xuất khôi phục tổng quát 73
5.2.4 Đề xuất xoá logo, quảng cáo 74
6 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 76
6.1 KHÔI PHỤC DỮ LIỆU BỊ MẤT DẠNG BLOTCH VÀ SCRATCH 76
6.1.1 Thực nghiệm 76
6.1.2 Nhận xét và đánh giá kết quả 77
Trang 76.1.3 Thực nghiệm 81
6.1.4 Nhận xét và đánh giá kết quả 83
6.2 KHỬ VẾT TRẦY XƯỚC DỌC, NGANG, BẤT KỲ 88
6.2.1 Khử vết trầy xước dọc tối 88
6.2.2 Khử vết trầy xước ngang tối 88
6.2.3 Khử vết trầy xước dọc sáng 88
6.2.4 Khử vết trầy xước ngang sáng 88
6.3 XOÁ LOGO, QUẢNG CÁO 89
7 KẾT LUẬN 91
Phụ lục A: MỘT SỐ CÔNG THỨC TÍNH SAI PHÂN THƯỜNG DÙNG 94
Phụ lục B: GIẢI PHƯƠNG TRÌNH PERONA-MALIK ANISOTROPIC DIFFUSION BẰNG PHƯƠNG PHÁP SỐ 95
Phụ lục C: THỰC NGHIỆM SO SÁNH CÁC PHƯƠNG PHÁP ƯỚC LƯỢNG CHUYỂN ĐỘNG 97
Phụ lục D: GIỚI THIỆU CHƯƠNG TRÌNH KHÔI PHỤC ẢNH TĨNH VÀ ẢNH VIDEO IRES 100
Phụ lục E: MỘT SỐ KẾT QUẢ THỰC NGHIỆM 108
TÀI LIỆU THAM KHẢO 119
Trang 8Chương trình truyền hình đầu tiên được thực hiện vào năm 1936 bởi đài BBC từ Alexandra Palace Truyền hình màu xuất hiện vào năm 1953 Thiết bị ghi Video xuất hiện vào thập niên 50 Các thiết bị video ban đầu bằng ký thuật tương tự, hiện nay đang chuyển dần sang kỹ thuật số Trong kỹ thuật số, hình ảnh được lưu trữ dưới dạng ma trận các điểm ảnh (pixel), mỗi điểm ảnh có thể biểu diễn bằng 1, 2,
4, 8, 16, 24 hoặc 32 bits Mỗi pixel đặc trưng bằng các giá trị về độ sáng (mức xám) của điểm ảnh Bằng cách biến đổi ma trận này, người ta có thể làm thay đổi được tính chất cúa ảnh Kỹ thuật xử lý ảnh số đã ra đời từ đó
Xử lý ảnh số ngày càng trở nên rất có ý nghĩa Đó là nhờ vào sự phát triền không ngừng của công nghệ chế tạo máy tính số, đặc biệt là máy tính cá nhân PC ngày càng mạnh hơn với giá càng ngày càng rẻ Các giải thuật xử lý ảnh số đã đạt được những thành tựu tuyệt vời và sẽ còn tiến rất xa hơn nữa
Ảnh động (Video) được xem như một chuỗi các ảnh tĩnh ghép lại theo một đơn vị thòi gian Mỗi ảnh tĩnh trong video gọi là khung hình (frame), chúng ta hoàn toàn
có thể xử lý ảnh động dựa trên việc xử lý một loạt các hình ảnh tĩnh Cần lưu ý là các khung ảnh tĩnh của một chuỗi ảnh có tương quan với nhau theo thời gian – nghĩa là thông tin của một khung có thể được lặp lại trong các khung kế cận; ta có thể dựa vào yếu tố này để xử lý ảnh động có hiệu quả hơn
1.1.2 Các bài toán xử lý ảnh động
Các bài toán xử lý ảnh động và phạm vi áp dụng cũng rất đa dạng nhưng có thể được phân loại theo các lĩnh vực chủ yếu như sau:
Trang 9a Nén video số (compression)
Nhằm giảm thiểu lượng thông tin cần thiết mô tả một đoạn phim nhằm giảm thiểu thời gian truyền cũng như tăng cường khả năng lưu trữ phim ảnh trên các thiết bị lưu trữ số Các chuẩn nén MPEG-2, MPEG-3 và MPEG-4 là thành quả của lĩnh vực nghiên cứu này
b Làm nổi đặc trưng (enhancement)
Làm nổi bật một số đặc tính nào đó của chuỗi ảnh nhằm phục vụ cho việc hiển thị hoặc phục vụ cho quá trình phân tích chuỗi ảnh tiếp theo Bài toán gồm các vấn đề như làm nổi chi tiết ảnh, khử hiện tượng nhấp nháy (flicker) trong các đoạn phim hoặc video cũ Bài toán này cũng áp dụng cho việc tăng cường chất lượng hình ảnh thu thập từ vệ tinh nhằm phục vụ một cách đắc lực cho các bài toán xử lý khác
c Khôi phục (restoration)
Đây là bài toán phát hiện và loại bỏ các dạng hư hỏng trên phim ảnh cũ như vết hoen ố (blotch), trầy sướt (scratch), kết quả do ma sát của phim với thiết bị chiếu, các mảng phim bị hoen ố do hoá chất chế tạo phim nhựa bị biến chất, do lưu trữ lâu ngày – Các vùng hư hỏng mô tả trên có thể hiểu là các vùng bị mất
dữ liệu Hiện đang có một lượng lớn các phim tư liệu cũ cần được khôi phục
và số hoá
d Nhận dạng đối tượng (Object recognition)
Đây là bài toán được ứng dụng phổ biến trong quân sự, an ninh, y học, thiên văn học… nhằm nhận dạng đối tượng trong ảnh để đưa ra các biện pháp xử lý phù hợp
1.1.3 Các nguyên nhân làm giảm chất lượng ảnh động
Trang 10lượng tử trong quá trình số hoá Nhiễu cũng có thể tác động từ môi trường bên ngoài trong khi truyền dẫn tín hiệu Có nhiều loại nhiễu khác nhau, mỗi loại có thể biểu diễn bằng mô hình toán học (phân bố nhiễu)
Hình 1.1: Các nguồn làm giảm chất lượng ảnh động
Trang 11(a) (b) Hình 1.2: Nhiễu xung trên ảnh (a) và chi tiết nhiễu khi phóng lớn (b)
là do cọ xát của những phần tử nhỏ hay hạt bụi lên phim nhưa khi phim đi qua các thiết bị chiếu Các đường này có đặc điểm là trải dài hầu như qua toàn bộ chiều dài ảnh và thường xuất hiện ở cùng 1 vị trí hoặc ở những vị trí gần nhau trong chuỗi các frame liên tục
Hình 1.3:
Vết trầy sướt dọc (line scratch) trên ảnh và chi tiết nhiễu phóng lớn
Trang 12- Các vết ố, màu bẩn (Blotch): Là loại nhiễu thường xuất hiện trên các phim nhựa cũ, các vết bẩn làm cho độ sáng tại vùng này sai lệch so với chi tiết ảnh trên phim Nguyên nhân chủ yếu của dạng mất dữ liệu này là do vật liệu làm phim lâu ngày bị thay đổi tính chất Vết màu bẩn ít khi xuất hiện ở cùng vị trí đối với 2 frame liền trước và sau nó
Hình 1.3:
Nhiễu blotch trên ảnh và chi tiết nhiễu khi phóng lớn
1.1.4 Đánh giá chất lượng khôi phục ảnh
Có hai phương pháp đánh giá chất lượng ảnh khôi phục : Đánh giá chủ quan và đánh giá khách quan
a Đánh giá chủ quan
Việc đánh giá kết quả chủ yếu dựa trên việc quan sát bằng mắt ảnh khôi phục của một nhóm người và sau đó lấy giá trị đánh giá trung bình Thường người ta đánh giá theo 2 loại thang đánh giá chất lượng (thang chất lượng 5 bậc, thang kém chất lượng 5 bậc), bảng 1.1
4 Tốt 4 Không biết rõ rệt, nhưng không ảnh hưởng
3 Thỏa mãn, đạt (trung bình) 3 Ảnh hưởng nhẹ rõ rệt
1 Rất xấu (không sử dụng được) 1 Ảnh hưởng trầm trọng
Bảng 1.1: Thang đánh giá chất lượng 5 bậc và thang kém chất lượng 5 bậc
(Doc.26-III-OIRT)
Trang 13Ngoài ra, để so sánh 2 ảnh khác nhau, người ta có thể dùng thang so sánh 7 bậc
m p N
j j
)(
, ,
j j
p N
i N
j j
m N
Với pi,j, mi,j lần lượt là giá trị điểm ảnh gốc và điểm ảnh kết quả
• Sai số tín hiệu trên nhiễu chuẩn hoá (Normalized Signal-to-Noise Ratio)
(1.2) )
log(NMSE
NSNR = −
Trang 14• Sai số tín hiệu trên nhiễu đỉnh (Peak Signal-To-Noise Ratio)
)
1 log(
1.2.1 Các biện pháp giải quyết bài toán khôi phục dữ liệu bị mất
Như đã trình bày ở phần trên, dữ liệu bị mất trong ảnh động được quan tâm trong luận văn gồm hai dạng : (1) Mất dữ liệu dạng vết trầy sướt (line scratch)
và (2) mất dữ liệu dạng vết ố hoặc vết màu bẩn (blotch) Cách phát hiện và khôi phục cho mỗi dạng là khác nhau
1 Phát hiện vùng dữ liệu bị mất:
a Vết trầy sướt dọc, ngang: Đây là dạng mất dữ liệu gây ra do ma sát
phim với thiết bị chiếu, vết trầy sướt dọc xuất hiện ở vị trí giống nhau trên các khung ảnh liên tiếp nên không thể phát hiện dựa trên tương quan thời gian giữa các khung mà hiệu quả nhất là phát hiện dựa trên thông tin của chính khung đó
Cách đơn giản nhất là so sánh độ xám các pixel trên cùng cột xem có gần giống nhau hay không (bằng ngưỡng) và độ xám cột đó có chênh lệch nhiều so với 2 cột 2 bên (bằng ngưỡng) hay không Cách làm này có hiệu quả cho các đường trầy sướt thẳng, còn các đường trầy sướt xiên (lệch góc) thì cách này không có hiệu quả
Anil Kokaram [18] đã sử dụng công thức tự hồi qui 2 chiều (2D-AR) để xác định đường trầy sướt dọc rất tốt
b Vết ố và vết màu bẩn: Đây là dạng mất dữ liệu gây ra do vật liệu phim
biến chất hoặc do điều kiện lưu trữ Loại mất dữ liệu này có hình dạng bất
kỳ và thường xuất hiện ở các vị trí không giống nhau trên các khung ảnh liên tiếp, nên chỉ có thể dò dựa vào tương quan thời gian giữa các khung ảnh liên tiếp
Các bước thực hiện dò vùng mất dữ liệu dạng này là:
- Ước lượng và bù chuyển động của các khung liên tiếp,
- Dò vùng mất dữ liệu
Trang 15Các bộ dò có thể sử dụng là SDI (Spike Detection Index) của Anil Kokaram [9], bộ dò SDIa, SDIp của Storey [9], bộ dò ROD và SROD [16] Các bộ dò trên cho kết quả rất tốt song cũng thất bại đối với các vết mất dữ liệu có vị trí và hình dạng giống nhau ở 2 khung liên tiếp Ngoài
ra, các bộ dò này cũng có khả năng phát hiện các vết trầy sướt bất kỳ không xuất hiện ở cùng vị trí trong các khung liên tiếp
2 Khôi phục vùng dữ liệu bị mất:
a Vết trầy sướt dọc, ngang: Cách khôi phục thường là nội suy pixel trên
dòng (cột) bị mất bằng giá trị trung bình của các pixel ở các dòng (cột) kế cận [13]
b Vết ố và vết màu bẩn: Các cách khôi phục là:
- Nội suy pixel trong vùng bị mất bằng cách tính trung bình cộng các
pixel tương ứng của các khung trước và sau sau khi đã bù chuyển động [16];
- Nội suy pixel trong vùng bị mất bằng bộ lọc Median đa lớp ML3Dex
[16]
1.2.2 Tình hình giải quyết bài toán khôi phục dữ liệu bị mất
Qua nghiên cứu sách báo, các bài báo và thông tin từ Internet , tham khảo một số luận văn cao học ngành điện tử và tin học của Trường Đại học Bách Khoa TP.HCM trong những năm gần đây , tham khảo ý kiến của các chuyên gia về lĩnh này tại Trung Tâm ứng dụng khoa học truyền hình BRAC; bài toán khôi phục dữ liệu bị mất trong ảnh động đã được thực hiện khá tốt Có thể kể ra một số công trình có giá trị điển hình như sau:
- A.C Kokaram [19]: Sử dụng mô hình 3D-AR cho ảnh động và đưa ra giải pháp tổng thể để giải quyết bài toán khôi phục phim video bao gồm lọc nhiễu xung, khôi phục dữ liệu bị mất, xử lý một số vấn đề khác trong ảnh video cũ Công trình của Kokaram đã giải quyết rất tốt bài toán khôi phục
dữ liệu bị mất dạng sọc đứng bằng mô hình 2D-AR và dữ liệu bị mất dạng Blotch bằng mô hình 3D-AR
- R David Morris [21]: Sử dụng lý thuyết xác suất có điều kiện Bayes kết hợp với lý thuyết chuỗi Markov và bộ lấy mẫu Gibbs (Gibbs Sampler) để giải quyết bài toán khôi phục dữ liệu bị mất dạng blotch
- Van Roomsalen [16]: Tổng kết các phương pháp khôi phục của Kokaram, Godsill và một số kết quả khác, đề xuất mô hình khôi phục một cách tổng thể ảnh động gồm lọc nhiễu, khử nhấp nháy, khôi phục dữ liệu bị mất … Tất cả các công trình kể trên đều giải quyết bài toán khôi phục theo các biện pháp
đã nêu, tức là dò vùng mất dữ liệu và khôi phục bằng nội suy dựa trên thông tin của các khung liên tiếp
Trang 16Tuy nhiên tác động của các loại nhiễu trên nền ảnh của các khung ảnh liên tiếp làm giảm hiệu quả của các phương pháp khôi phục trên Vì vậy để có kết quả tốt, cần lọc nhiễu trước khi khôi phục
Luận văn tiến sỹ của Bertalmio [20], một loạt các đề tài nghiên cứu gần đây [1], [2], [3], [4], [10], [11], [17] cho thấy: có thể khôi phục phần ảnh bị mất dữ liệu bằng cách dựa vào thông tin của vùng ảnh xung quanh – Đó chính là kỹ thuật DIP (Digital Image Inpainting) - một kỹ thuật khôi phục ảnh được thực hiện phỏng theo phương pháp khôi phục tranh của các họa sĩ
Giải thuật khôi phục phần ảnh bị mất của Bertalmio [17] và các tác giả khác [3] đã cho kết quả rất tốt đối với nhiều dạng vùng mất dữ liệu khác nhau, nó còn được sử dụng trong hàng loạt các ứng dụng khác như dùng để xoá các chi tiết không mong muốn trên ảnh, xoá chữ viết đè lên ảnh…
Như vậy hoàn toàn có thể áp dụng phương pháp khôi phục ảnh của Bertalmio vào khôi phục dữ liệu bị mất trong ảnh video Đó cũng chính là ý tưởng chính của luận văn này
(4) Đề xuất biện pháp khôi phục các dạng mất dữ liệu trong ảnh động dựa trên giải thuật của Bertalmio và Oliveira
(5) Viết chương trình cài đặt các giải thuật bằng ngôn ngữ C và đánh giá các biện pháp đề nghị trong đề tài
Trang 172 CÁC KHÁI NIỆM VÀ LỌC ẢNH
Phần này trình bày một số lý thuyết cơ sở của hình học vi phân áp dụng trong việc phân tích và biểu diễn ảnh, khái niệm đường mức và khôi phục ảnh từ đường mức, các giải thuật làm trơn ảnh theo kiểu diffusion Các vấn đề nêu ra trong chương này phục vụ cho việc phân tích giải thuật phục hồi ảnh cho chương tiếp theo
2.1 MỘT SỐ KHÁI NIỆM CƠ BẢN
),()
,(
y x L
y x L y x L
• Biên độ gradient là độ dốc tại điểm đó,
• Hướng của gradient chính là hướng pháp tuyến với đường mức tại điểm
đó,
• Gradient xác định mặt tiếp tuyến tại điểm đó,
• Gradient được sử dụng để tính đạo hàm bậc nhất theo 1 hướng bất kỳ:
(2.3)
L v
L v = ∇
2.1.2 Đường mức (level line, isophote)
Gọi u(x,y) là mức xám của ảnh tại tọa độ (x,y) Đường mức được định nghĩa là đường biên của tập các điểm có cùng mức xám lớn hơn λ:
Trang 18Nhiều công trinh nghiên cứu [10], [11] đã nhấn mạnh tầm quan trọng của
đường mức trong việc biểu diễn ảnh Đường mức có một đặc điểm quan trọng
là bất biến với độ tương phản trên ảnh Một bức ảnh hoàn toàn có thể khôi phục
được từ tập các đường mức của nó
(a) (b) (c)
Hình 2.1 Ảnh gốc Lena (a) với tập các điểm có mức ≥ 128 (b) và dường mức 128
(c)
(a) (b)
(c) (d)
Hình 2.2 (a) Ảnh gốc, (b) Tập mức |u≥60| (c) Đường mức 60 (d) Tất cả các đường mức
Các bài toán sau có thể thực hiện dựa trên tập các đường mức của ảnh
Trang 19- Bài toán nội suy ảnh dựa trên đường mức [22],
- Bài toán làm trơn ảnh khi phóng lớn (Digital zoom-in) ,
- Bài toán khử che khuất (Disocclusion) [10], [11] hoặc phục hồi dữ liệu
bị mất (inpainting [17])
2.1.3 Độ cong trung bình (Mean-Curvature) [4]
Là đại lượng đặc trưng cho độ cong tại một điểm của đường cong phẳng
Vị trí có độ cong lớn
Hình dạng ban đầu Sau khi chuyển độngHình 2.4: Chuyển động của giọt nước Với một đường cong phẳng I(x,y), độ cong tại 1 điểm được xác định như sau:
Trang 202 2 2
2 2
)(
2
y x
xx y xy y x yy x
I I
I I I I I I
I I
I div k
y x
0( , ):
Trong đó R là tập số thực
Koenderink [15] đã chỉ ra rằng khi thực hiện phép chập I 0 (x,y) với Gaussian
Kernel G(x,y,t) ta sẽ được 1 họ các ảnh
I(x,y,t) = I 0 (x,y)*G(x,y,t) (2.7) Trong đó
I(x,y,t) : Ảnh tại thời điểm t
I0(x,y) : Ảnh ban đầu G(x,y,t) : Gaussian Kernel Điều này tương đương với việc giải phương trình truyền nhiệt trong môi trường đẳng hướng:
2
2 2 2
y
I x
I I t
I
∂
∂+
∂
∂
=Δ
=
∂
∂
(2.8) Với điều kiện ban đầu I(x,y,0) = I0(x,y)
2.2.1 Bộ lọc làm trơn đẳng hướng (Isotropic Diffusion)
Phương trình của bộ lọc Isotropic diffusion có dạng phương trình truyền nhiệt như mô tả ở trên:
2
2 2 2
y
I x
I I t
I
∂
∂+
∂
∂
=Δ
Trang 212.2.2 Bộ lọc làm trơn bất đẳng hướng (Anisotropic Diffusion)
2.2.2.1 Perona-Malik anisotropic diffusion [8] [15]
Bộ lọc làm trơn bất đẳng hướng Việc làm trơn không xảy ra tại vùng biên ảnh
mà chỉ xảy ra tại các vùng ảnh không phải là biên Perona và Malik đã đề xuất phương trình của bộ lọc như sau:
0
t
I
I I g div t
0(.)
g g
Để ý rằng nếu g(.) là hằng số, phương trình của bộ lọc trở thành đẳng hướng Perona-Malik [15] đã đề xuất các hàm g như sau:
=
K I
g
(2.12)
Trong đó K là hằng số nguyên chọn trước Giá trị K qui định tính chất làm trơn của bộ lọc
Dễ dàng nhận thấy hàm g1 sẽ giữ biên tốt hơn g2
Lời giải của phương trình như sau (Phụ lục B) :
)]
.(
).(
).(
).(
.[
, 1 , ) , ( ,
1 , ) , (
, , 1 ) , ( W ,
, 1 ) , ( ,
1
,
n j n
j n
j i S n j n
j i n j N
n j i n j i n
j n
j n
j i n j E n
j n
j
I I
c I I
c
I I
c I I
c I
I
−+
−+
−+
−+
=
− +
− +
(2.13)
Trong đó λ là hệ số đảm bảo tính ổn định của phép xấp xỉ sai phân hữu hạn, thường được chọn ≤ 0.25
Trang 222.2.2.2 Mean Curvature Motion
Bộ lọc làm trơn bất đẳng hướng do Alvarez, Lions và Morel [8] đề xuất Phương trình của bộ lọc như sau:
2 2
)(
2
y x
xx y xy y x yy x
I I
I I I I I I I I
I div k
2
y x
xx y xy y x yy x
I I
I I I I I I
I t
=
+
2 2
2 2
,
1 ,
2
y x
xx y xy y x yy x n
j n
j
I I
I I I I I I I I
Trong đó λ là hệ số đảm bảo tính ổn định của phép xấp xỉ sai phân hữu hạn, thường được chọn ≤ 0.25
2.2.2.3 Mean Curvature Diffusion
Bộ lọc làm trơn ảnh đề xuất bởi Adel I El-Fallah và Gary E.Ford [4] dựa trên việc làm trơn các mặt cong trong không gian 3 chiều
Xét ảnh I(x,y), nếu xem giá trị các điểm ảnh là hàm theo (x,y): z=I(x,y), khi đó hàm
),()
,,(x y z z I x y
xác định ảnh và mặt S được định nghĩa theo:
0),,(:g x y z =
S
Aldel [4] đã chứng minh được vi phân của g không triệt tiêu, điều này có nghĩa
là hàm g luôn tồn tại
Trang 23Tại mỗi điểm trên mặt S, vector gradient ∇g là vector pháp tuyến và có biên độ:
+
−+
1
,
2 2
y x y
x y y
x
x
I I I
I
I I
I
I g
g
Phương trình diffusion của g:
(2.21) )
(C g t
y x y y
x
x
I I
I y
I I
I x
g
g t
g
(2.23) Biểu diễn theo độ cong trung bình H, ta có:
H t
xy xx
L L
L L
Như vậy phép diffusion trên mặt S tỷ lệ nghịch với độ lớn gradient trên mặt S
và diffuse với tốc độ bằng hai lần độ cong trung bình Phép diffusion này còn được gọi là MCD (Mean Curvature Diffusion)
Giải thuật MCD được thực hiện bằng cách chập ảnh gốc với cửa sổ diffusion sau:
h4 h(x0,y0) h5
Trong đó:
Trang 240 0 8
0 0 7
0 0 6
0 0 5
0 0 4
0 0 3
0 0 2
0 0 1
1),(
)1,1(8
1
)1,(8
1
)1,1(8
1
),1(8
1
),1(8
1
)1,1(8
1
)1,(8
1
)1,1(8
1
i i
h y
x h
y x g h
y x g h
y x g h
y x g h
y x g h
y x g h
y x g h
y x g h
- Giải thuật Perona-Malik phù hợp cho các phép lọc nhiễu ảnh, giữ biên
- Giải thuật MeanCurvature Motion làm “mềm” các nét ảnh có độ cong lớn (làm giảm độ cong), điều này thấy rất rõ khi số lần lặp lớn Với số lần lặp đủ nhỏ, nó có tác dụng làm trơn các đường mức
- Trong các giải thuật làm trơn ảnh, giải thuật MeanCurvature Diffusion
có tốc độ thực hiện chậm nhất vì thời gian tính toán nhiều
Trang 253 CÁC GIẢI THUẬT KHÔI PHỤC ẢNH
Chương này trình bày lý luận, giải pháp và giải thuật khôi phục dữ liệu bị mất trên ảnh theo Bertalmio và giải thuật khôi phục nhanh của Oliveira
3.1 GIẢI THUẬT BERTALMIO KHÔI PHỤC VÙNG DỮ LIỆU BỊ MẤT 3.1.1 Giới thiệu
Giải thuật khôi phục ảnh của Bertalmio được thực hiện phỏng theo nghệ thuật khôi phục tranh cổ của các hoạ sĩ Nghệ thuật này đã có từ rất lâu đời nhằm khôi phục các tác phẩm nghệ thuật có giá trị bị trầy sướt, vết ố, khuyết tật … theo thời gian Đặc điểm của nghệ thuật này là người hoạ sĩ hoàn toàn không biết chút gì về bức ảnh gốc trước đó Họ chỉ khôi phục dựa trên thông tin của vùng ảnh xung quanh vùng bị mất Từ tiếng anh của kỹ thuật này gọi là Image Inpainting
Hình 3.1
Ví dụ về nghệ thuật khôi phục tranh Tác phẩm “Cornelia, Mother of the Gracchi”
được khôi phục bởi J.Suvee - Viện bảo tàng Louse Hiện nay nghệ thuật này được sử dụng rộng rãi trong việc khôi phục các vết trầy sướt trong phim, ảnh Nó cũng có thể được sử dụng để loại bỏ những thể hiện không mong muốn trên bức ảnh như loại bỏ hiện tượng mắt đỏ (Red-eye), loại bỏ ngày tháng hoặc chữ viết ghi đè lên ảnh Thậm chí còn sử dụng để loại
bỏ các đối tượng không mong muốn trên bức ảnh
Đã có nhiều công trình nghiên cứu về việc khôi phục phim ảnh một cách tự động điển hình như của các tác giá A.C Kokaram và S.Godsill [23] hoặc công trình của Simon Masnou [10][11] giải quyết bài toán khử che khuất (disocclusion) bằng cách khôi phục tính liên tục của các đường mức tại vùng ảnh bị che khuất
Trang 26Kết quả khôi phục theo Kokaram tương đối tốt song chỉ dùng để khôi phục phim video và vùng dữ liệu bị mất có kích thước nhỏ
Hình 3.2 Nguyên tắc khôi phục dữ liệu bị mất trong chuỗi ảnh của Anil C.Kokaram Trong phương pháp khôi phục của S Masnou [10][11], vùng bị che khuất được đánh dấu bằng tay, chương trình sẽ nội suy các đường mức trong vùng đánh dấu bằng thông tin bên ngoài Phương pháp này cũng cho kết quả khá tốt, tuy nhiên thời gian thực hiện khá lâu và cũng chỉ áp dụng được cho các vùng mất
dữ liệu có kích thước nhỏ
Hình 3.3 Nguyên tắc khử che khuất của Simon Masnou
150
152
152 150
150 145
Mức xám
Giải thuật khôi phục được đề nghị bởi Bertalmio [17] cũng tương tự như Masnou : Người sử dụng sẽ đánh dấu vùng muốn khôi phục, giải thuật sẽ kéo dài các đường mức vào vùng mất dữ liệu nhưng các đường kéo dài sẽ được uốn cong để chúng không cắt nhau tạo ra sự liên tục trong vùng khôi phục
3.1.2 Nguyên tắc thực hiện
Gọi Ω là miền ảnh cần khôi phục và ∂Ω là biên của miền ảnh đó, giải thuật khôi phục sẽ mở rộng biên ∂Ω vào bên trong vùng Ω bằng cách kéo dài các đường mức đến biên ∂Ω vào trong vùng Ω trong khi vẫn giữ nguyên góc tới biên của các đường mức Giải thuật khôi phục DIP (Digital Image Inpainting) của Bertalmio được thực hiện phỏng theo cách khôi phục các tác phẩm nghệ thuật của các họa sĩ
Trang 27thuộc học viện nghệ thuật Minneapolis Các bước khôi phục bằng tay của các họa
sĩ được mô tả như sau:
Bước 1: Quan sát bức tranh để có ý niệm tổng quát về vùng mất dữ liệu cần khôi phục,
Bước 2: Cấu trúc vùng ảnh trong vùng bị mất được dựng lại bằng cách vẽ tiếp
các đường ranh giới của các đường biên (contour lines) từ bên ngoài vùng Ω vào bên trong vùng mất,
Bước 3: Màu sắc được thêm vào các vùng mới vẽ để đảm bảo cho cấu trúc bức
tranh trong vùng mất giống với vùng bên ngoài,
Bước 4: Cuối cùng người ta thêm vào các chi tiết nhỏ khác – ví dụ như cấu trúc
(texture) vùng tranh đó
Giải thuật của Bertalmio sẽ phỏng theo trình tự trên bằng cách lặp đi lặp lại các bước (2) và (3) để thu hẹp dần vùng bị mất bằng cách kéo dài các đường mức đi đến biên ∂Ω vào trong vùng Ω
Gọi I0(i,j) : [0,M] x [0,N] Æ ℜ, với [0,M] x [0,N] N x N là tập các điểm ảnh
Giải thuật nhằm tạo ra 1 họ các ảnh I(i,j,n) : [0,M] x [0,N] x NÆ ℜ (ℜ là tập số
thực) với
⊂
),()0,,(i j I0 i j
và
),(),,(limn→∞ I i j n = IR i j (3.2)
trong đó IR(i,j) là kết quả khôi phục
Phương trình biểu diễn bài toán khôi phục có dạng:
(3.3)
I
∂
Trang 28I I t
n
Trong đó n là ký hiệu thời điểm tô, (i,j) là tọa độ điểm, Δt là tốc độ cải thiện và
Itn(i,j) là giá trị cập nhật của In(i,j)
(3.5)
3.1.4 Giải thuật
Trong phương trình (3.5), ảnh In+1(i,j) là cải thiện của In(i,j) với giá trị cải thiện là
Itn(i,j); nếu n càng tăng, chất lượng ảnh càng được cải thiện
Gọi Ln(i,j) là thông tin cần tô vào trong vùng mất, Nrn ( j i, )
là hướng tô vào Ta có:
),()
,()
,(i j L i j N i j
yy
n xx
n(i,j)
Để xác định , cần xác định hướng mà thông tin sẽ lan truyền Hướng của có thể được xác định bằng cách lý luận như sau: Vector gradient tại 1 điểm xác định hướng tăng giá trị lớn nhất, như vậy hướng vector xoay 90
) ,
( j i
I n
của nó ∇ sẽ cho giá trị tăng bé nhất Điều này có nghĩa hướng của vector
chính là hướng của đường mức tại biên Như vậy
),
Trang 29Đầu vào của giải thuật là ảnh cần khôi phục và mặt nạ (mask) của vùng ảnh cần khôi phục Bước đầu tiên của giải thuật là làm trơn ảnh bằng anisotropic diffusion nhằm làm giảm ảnh hưởng của nhiễu có thể làm sai kết quả tính toán trên các đường mức tại biên ∂Ω Sau đó là vòng lặp tô vào trong miền Ω Sau vài lần tô, sử
ảnh trong quá
Gọi là các điểm ảnh trong vùng cần tô Ω ở thời iểm n, ta có
Trong đó:
dụng phép làm trơn ảnh anisotropic diffusion để giữ nguyên biên
trình khôi phục Quá trình trên được lặp lại cho đến khi hoàn tất
+
=
+ 1 ( , ) ( , ) ( , ), ( , )
j i j i tI j i I j i
t n
n
(3.7)
),()
,,(
),,()
,()
,
n j i N
n j i N j i L j
→
j i L j
i L j i L j i L j i
δ
),(),(:),(i j L i j L i j
yy
n xx
(3.9) (3.10)
2
2 ( (, ))))
,((
)),(),,((:),,(
),,(
j i I j
i I
j i I j i I n
j i N
n j i N
n y
n x
n x
n y
),,()
,(),(
n j i N
n j i N j i L j
=
∇
)()()(),(
2 2
ybM
n xfm
n xbM I I I
j i
+
0khi
,)(
0khi
,)()()()(
n 2
n 2
2 2
2
β
β
n xfm
n yfM
n ybm
n xfM
n xbm n
I
I I
I I
ể được tóm tắt như sau:
(3.13)
Với βn là hình chiếu của δL lên vector chuẩn hoá N
Như vậy các bước của giải thuật có th
Bước 1: Tính Laplace theo (3.10)
Bước 2: Xác định vector biến thiên về độ trơn ảnh L theo (3.9)
Bước 3: Chuẩn hoá vector vuông góc v gradient theo (3.11) ới
ớngBước 5:
Xác định βn là hình chi của δ→Llên vec N→
đổi của L theo hư N→ ) theo (3.12)
Xác định độ dốc ∇I gradient của ảnh theo (3.13) (các chỉ số f (forward),
ai phân thuận, nghịch và m (minimum), M
b (backward) dùng để chỉ s
Trang 30Bước 6: Nhân βn với ∇I theo (3.8)
Giải thuật lặp lại cho đến khi It=0, điều này tương đương với việc giải phương trình ∇ ∇ ⊥I = 0: Độ trơn là hằng số dọc theo đuờng mức Theo Bertalmio, số lần
ỗi lần tô vào thực hiện 3 lần làm trơn ảnh bằng anisotropic
nh trên được hoàn tất sau khoảng 300 lần lặp
Làm cho các điểm trong vùng mask thành màu đen
Lấy từng thành phần màu của ảnh
Trang 31i = i+1
i <=N (số lần lặp)
Chuyển ảnh thực của 1 thành phần màu sang ảnh nguyên (ảnh đích)
Hết 3 thành phần màu ?
Kết thúc
Hình 3.5: Lưu đồ giải thuật khôi phục ảnh của Bertalmio
dLx = L(x+1,y) - L(x-1,y) dLy = L(x,y+1) - L(x,y-1)
Nx = -Iy(x,y) = -1* (I(x,y+1) - I(x,y-1))/2
Ny = Ix(x,y) = (I(x+1,y) - I(x-1,y))/2
NG = (Ix2(x,y)+Iy2(x,y))1/2
Tính Laplace trên ảnh L=Ix2+Iy2
i = 0
x = xm[i]
y = ym[i]
Trang 32Hình 3.6: Lưu đồ giải thuật tính và mang thông tin ảnh vào vùng mask
y-1)
Ixbmin = min(Ixb,0) Iybmin = min(Iyb,0) Ixfmax = max(Ixf,0) Iyfmax = max(Iyf,0) Ixbmax = max(Ixb,0) Iybmax = max(Iyb,0) Ixfmin = min(Ixf,0) Iyfmin = min(Iyf,0)
Beta >0 ?
DeltaI = (Ixbmin*Ixbmin + Iybmin*Iybmin +
Ixmax*Ixfmax + Iyfmax*Iyfmax)1/2 DeltaI= Ixbmax*Ixbmax + Iybmax*Iybmax
+ Ixfmin*Ixfmin + Iyfmin*Iyfmin)1/2
I(x,y) = I(x,y) + 0.1*Beta*deltaI
i = i+1
i < nmask
Trang 333.2 GIẢI THUẬT OLIVEIRA KHÔI PHỤC VÙNG DỮ LIỆU BỊ MẤT 3.2.1 Giải thuật
Giải thuật này do Manuel Oliveira, Brian Bowen, Richard McKenna và Yu-Sung Chang [14] đề xuất Giải thuật này có tốc độ thực hiện rất nhanh, tuy nhiên nó chỉ
áp dụng cho những vùng mất có độ rộng nhỏ khoảng vài pixel
Gọi Ω là miền ảnh cần khôi phục và ∂Ω là biên của miền ảnh đó, giải thuật khôi phục sẽ mở rộng biên ∂Ω vào bên trong vùng Ω dựa trên thông tin của vùng ảnh bên ngoài biên ∂Ω
Giải thuật được thực hiện bằng cách thực hiện chập vùng ảnh cần khôi phục với 2 diffusion kernels sau:
Diffusion kernel 1:
a b a
b 0 b
a b a Trong đó a = 0.073235, b = 0.176765
Diffusion kernel 2:
c c c
c 0 c
c c c Trong đó c = 0.125
Mã giả (pseudo-code) của giải thuật có thể được viết như sau:
Khởi động miền Ω (mask)
for (iter = 0 ; iter < n; iter++)
Chập miền mask với diffusion kernel
3.2.2 Lưu đồ
Sau đây là lưu đồ giải thuật khôi phục ảnh theo Oliveira Giải thuật được thực hiện trên từng thành phần màu R, G, B của ảnh Các phép toán thực hiện cho kết quả là
số thực nên để đảm bảo độ chính xác khi khôi phục cần tạo ra các mảng chứa ảnh
dữ liệu ảnh bằng số thực; sau khi hoàn tất giải thuật, thông tin sẽ được chuyển đổi trở lại dữ liệu nguyên có mức trong phạm vi 0 đến 255
Giải thuật chỉ thực hiện trên vùng ảnh bị mất dữ liệu Vùng ảnh này được đánh dấu trước bởi màu đỏ (255,0,0)
Trang 34I(x,y) = value
i = i+1
i <=nmask
Chuyển ảnh thực của 1 thành phần màu sang ảnh nguyên (ảnh đích)
Hết 3 thành phần màu ? x=xm[i],y=ym[i],
Hết số lần lặp ?
Trang 35Lưu đồ chập với Diffusion kernel 1 tại điểm I(x,y)
value1 = value2 = 0 value1 += I(x+1,y-1) value1 += I(x+1,y+1) value1 += I(x-1,y-1) value1 += I(x-1,y+1) value1 *= 0.073235 value2 += I(x+1,y) value2 += I(x-1,y) value2 += I(x,y+1) value2 += I(x,y-1) value2 *= 0.176765 value = value1+value2
Lưu đồ chập với Diffusion kernel 2 tại điểm I(x,y)
value += I(x+1,y-1) value += I(x+1,y) value += I(x+1,y+1) value += I(x-1,y-1) value += I(x-1,y) value += I(x-1,y+1) value += I(x,y+1) value += I(x,y-1) value = value / 8
Hình 3.7: Lưu đồ giải thuật khôi phục của Oliveira
Trang 363.3 GIẢI THUẬT BERTALMIO VÀ OLIVEIRA ĐA PHÂN GIẢI
Với vùng mất có độ rộng nhỏ hơn 3 pixels, giải thuật Oliveira khôi phục khá tốt và chỉ cần một số ít lần lặp là đủ để giải thuật Bertalmio có thể thực hiện được Từ nhận xét trên, bằng cách chia vùng mất ra những phần có độ rộng nhỏ hơn, thì giải thuật Oliveira có thể thực hiện được trên vùng mất lớn và giải thuật Bertalmio có thể thực hiện nhanh hơn do cần số lần lặp cho mỗi vùng có độ rộng nhỏ ít hơn.Để đảm bảo chất lượng ảnh khôi phục, phương pháp chia nhỏ ở đây được thực hiện bằng cách thu nhỏ ảnh (và như vậy vùng mất cũng nhỏ theo) Chúng ta sẽ thực hiện giải thuật trên ảnh thu nhỏ Kết quả khôi phục ở vùng bị mất sẽ được phóng lớn làm dữ liệu đầu vào cho ảnh ở tỉ lệ lớn hơn Giải thuật lặp lại cho đến khi nào
tỉ lệ vùng mất là 1:1 Vì giải thuật được thực hiện trên nhiều mức ở tỉ lệ ảnh khác nhau từ nhỏ đến lớn, ảnh càng nhỏ càng ít chi tiết, ở tỉ lệ lớn hơn càng nhiều chi tiết hơn nên có thể gọi tên là giải thuật đa phân giải (Multi-resolution) hay đa cấp
3.3.1 Giải thuật
Với số cấp chọn là l, giải thuật sẽ thực hiện gồm 2l cấp lần lượt như sau:
Cấp 1: (Độ phân giải R/2l)
- Thu nhỏ ảnh còn 1:2l lần,
- Thực hiện giải thuật trên ảnh thu nhỏ,
- Phóng lớn vùng khôi phục lên gấp đôi
- Phóng lớn vùng khôi phục lên gấp đôi
Cấp i: (Độ phân giải R/2l-i-1)
Trang 373.3.2 Lưu đồ
Bắt đầu
Src : Ảnh ban đầu Mask : vùng mất ban đầu
l = level
f = 2l
wkArea = Thu nhỏ ảnh src f lần wkMask = Thu nhỏ mask f lần
l<>level
Điều chỉnh wkMask bằng kết quả khôi phục của lần trước
Khôi phục wkMask trong wkArea
Trang 384 XÁC ĐỊNH VÙNG
DỮ LIỆU BỊ MẤT
4.1 ƯỚC LƯỢNG CHUYỂN ĐỘNG
Để khôi phục được vùng dữ liệu bị mất, trước tiên phải xác định vị trí mất trong khung ảnh sau đó dùng giải thuật đã mô tả ở chương trước để tái tạo lại ảnh Các phương pháp dò vùng dữ liệu bị mất sẽ được trình bày ở phần sau Tuy nhiên để việc dò tìm chính xác cần phải có cơ chế ước lượng (motion estimation) trước khi
dò tìm và bù chuyển động (motion compensation)
kế tiếp k+1 được xác định bằng cách dò tìm một khối phù hợp nhất có kích thước
N1xN2 bao quanh tâm (n1,n2) trong khung tìm kiếm k+1 Vùng tìm kiếm – còn được gọi là cửa sổ tìm kiếm được giới hạn trong cửa sổ (N1+2M1)x(N2+2M2) Các giải thuật block-matching khác nhau dựa theo các tiêu chí sau:
Khung k+1
Khối cần tìm
Cửa sổ tìm kiếm
Trang 39Tiêu chuẩn MSE (minimum Mean-Square-Error)
2 2
2 1 1 )
, (
2 1 2
1 2
(
2 1
++
N d
d MSE
B n n
Trong đó B là khối tìm kiếm N1xN2 và (d1,d2) là các vector chuyển động Kết quả
được xem là tìm thấy khi giá trị MSE giữa 2 khối so sánh có giá trị cực tiểu Tiêu
chuẩn này ít được sử dụng khi cài đặt bằng phần cứng vì khó thực hiện các phép
bình phương trong VLSI
Tiêu chuẩn MAD (minimum Mean-Absolute-Difference)
2 2
2 1 1 )
, (
2 1 2
1 2
(
2 1
++
N d
d MAD
B n n
Trong đó B là khối tìm kiếm N1xN2 và (d1,d2) là các vector chuyển động Kết quả
được xem là tìm thấy khi giá trị MAD giữa 2 khối so sánh có giá trị cực tiểu Tiêu
chuẩn thường được sử dụng khi cài đặt bằng phần cứng (bằng VLSI)
4.1.3 Tìm kiếm Full search
Việc tìm kiếm khối phù hợp nhất được thực hiện thông qua việc tối ưu hoá các
vector ở vị trí (n1,n2) Cách tìm kiếm đơn giản nhất là tím kiếm trên toàn bộ khung
ảnh - gọi là Full search – cách này tốn rất nhiều thời gian Để giảm thời gian tìm
kiếm, có thể giới hạn vùng tìm kiếm trong 1 cửa sổ xác định trước với kích thước
1 1 1
M d M
M d M
(4.1)
(4.2)
(4.3)
Trang 40(c) (d)
Hình 4.1:Uớc lượng chuyển động bằng giải thuật tìm kiếm Full search
Hình (a), (b): Khung k và k+1
Hình (c): Vector chuyển động với cửa sổ tìm kiếm 8x8
Hình (d): Vector chuyển động với cửa sổ tìm kiếm 16x16
Có nhiều phương pháp tìm kiếm khác với tốc độ tìm kiếm nhanh hơn, điển hình như giải thuật tìm kiếm 3 bước (three-step search) và tìm kiếm chữ thập (cross search) [24]
4.1.4 Giải thuật tìm kiếm 3 bước
Giải thuật được minh họa bằng hình 4.2
Hình 4.2: Giải thuật tìm kiếm 3 bước