1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn) khôi phục ảnh bằng tối ưu độ tương tự cục bộ

79 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

lu an va n i t to ng hi ĐẠI HỌC THÁI NGUYÊN ep TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &TRUYỀN THÔNG w nl oa d lu an HỒNG XN TRUNG va ul nf oi lm KHƠI PHỤC ẢNH BẰNG TỐI ƢU ĐỘ nh TƢƠNG TỰ CỤC BỘ at z z @ om l.c Mã số: 60 48 01 01 gm Chuyên ngành: Khoa học máy tính an Lu LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH n va THÁI NGUN - 2015 Số hố Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si TS.ĐÀO NAM ANH ac th NGƢỜI HƢỚNG DẪN KHOA HỌC lu an va n ii t to ng LỜI CẢM ƠN hi ep w Trên thực tế khơng có thành công mà không gắn liền với nl oa hỗ trợ, giúp đỡ suốt thời gian từ bắt đầu học tập trƣờng đến d lu nay, em nhận đƣợc nhiều quan tâm, giúp đỡ quý Thầy Cô an va Trƣờng Đại học Công nghệ Thông tin Truyền thông - Đại học Thái ul nf Nguyên với tri thức tâm huyết để truyền đạt vốn kiến oi lm thức quý báu cho chúng em suốt thời gian học tập trƣờng, nh tạo điều kiện tốt cho chúng em suốt trình theo học at trƣờng Em xin chân thành cảm ơn quý Thầy Cô Ban lãnh đạo nhà z z trƣờng! @ gm Với lòng biết ơn sâu sắc em xin gửi lời cảm ơn tới TS Đào Nam l.c Anh, cán trực tiếp hƣớng dẫn khoa học cho em Thầy dành nhiều om thời gian cho việc hƣớng dẫn em cách nghiên cứu, đọc tài liệu, cài đặt va thành cảm ơn Thầy! an Lu thuật toán giúp đỡ em việc xây dựng chƣơng trình, em xin chân n Và cuối em xin bày tỏ lòng chân thành biết ơn tới lãnh đạo thuận lợi giúp em hồn thành luận văn Hồng Xn Trung Số hố Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si bè đồng nghiệp bên cạnh lúc em khó khăn tạo điều kiện ac th khoa Cơng nghệ Thông tin trƣờng Cao đẳng Hoan Châu Nghệ An bạn lu an va n iii t to ng hi ep LỜI CAM ĐOAN w nl Tôi xin cam đoan luận văn kết nghiên cứu tôi, không oa d chép Nội dung luận văn có tham khảo sử dụng tài liệu liên lu an quan, thông tin tài liệu đƣợc đăng tải tạp chí trang va ul nf website theo danh mục tài liệu luận văn oi lm Tác giả luận văn nh at z z gm @ om l.c Hoàng Xuân Trung an Lu n va ac th si Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn lu an va n iv t to ng MỤC LỤC hi ep LỜI CẢM ƠN i LỜI CAM ĐOAN iii w nl DANH MỤC CÁC TỪ VIẾT TẮT vi oa d DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vii lu an MỞ ĐẦU va ul nf lm CHƢƠNG 1: TỔNG QUAN VỀ BÀI TỐN KHƠI PHỤC ẢNH 1.1 Một số khái niệm oi 1.1.1 Phần tử ảnh (Picture Element) nh at 1.1.2 Mức xám (Gray level) z 1.1.3 Quan hệ ảnh, điểm ảnh, mức xám z gm @ 1.1.4 Lân cận điểm ảnh 1.1.5 Mối liên kết điểm ảnh om l.c 1.1.6 Đo khoảng cách điểm ảnh 1.2 Tổng quan khôi phục ảnh Lu an 1.2.1 Bài tốn khơi phục ảnh n va 1.2.2 Ứng dụng khôi phục ảnh 1.3.1 Phƣơng pháp khôi phục ảnh dùng kim tự tháp mờ Gaussian 10 1.3.3 Phƣơng pháp khôi phục ảnh nhanh dựa vào lọc 13 1.3.4 Khôi phục ảnh dùng biến phân phần PDE 14 1.3.5 Khôi phục ảnh dùng phƣơng trình Navier-Stokes 16 1.3.6 Khơi phục ảnh dùng tổng biến thể 17 1.4 Một số tiêu chí dùng để đánh giá chất khôi phục ảnh 18 1.4.1 Tổng quan tiêu chí đánh giá chất lƣợng ảnh 18 1.4.2 Sai số bình phƣơng trung bình MSE 18 1.4.3.Tỷ lệ tín hiệu tín hiệu tạp PSNR 18 Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si 1.3.2 Phƣơng pháp khôi phục ảnh dùng lọc Median 12 ac th 1.3 Một số phƣơng pháp khôi phục ảnh 10 lu an va n v t to ng 1.4.4 Ứng dụng MSE PSNR 19 hi ep 1.5 Kết luận chƣơng 19 w CHƢƠNG 2: KHÔI PHỤC ẢNH DÙNG BẢN VÁ VÀ TỐI ƢU ĐỊA PHƢƠNG 20 2.1 Khôi phục ảnh dùng vá 20 nl oa d lu an 2.1.1 Khôi phục ảnh dùng vùng mẫu 20 va ul nf 2.1.2 Khơi phục ảnh dùng vá có kết cấu 23 lm 2.1.3 Khôi phục ảnh dùng vá với độ thƣa 27 oi 2.1.4 Khôi phục ảnh dùng kết hợp vá biến phân phần nh at PDE 30 z 2.1.5 Một số dạng khôi phục ảnh vá khác 33 z gm @ 2.2 Khôi phục ảnh dùng vá với điều kiện tối ƣu địa phƣơng 37 2.2.1 Bƣớc tiền xử lý ảnh màu: Tách ảnh 37 om l.c 2.2.2 Phát biểu tốn phơi phục ảnh vá 38 2.2.3 Điều kiện tối ƣu địa phƣơng 38 Lu an 2.2.4 Thuật toán 40 va 2.2.5 Đầu vào đầu thuật tốn khơi phục ảnh dùng vá với n điều kiện tối ƣu địa phƣơng 41 ac th 2.3 Kết luận chƣơng 43 si CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM 44 3.1 Môi trƣờng cài đặt 44 3.2 Kết thực nghiệm 44 3.3 So sánh với số phƣơng pháp khác 54 3.4 Kết luận chƣơng 55 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC: TRÍCH MÃ NGUỒN 59 Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn lu an va n vi t to ng hi ep DANH MỤC CÁC TỪ VIẾT TẮT w nl oa d ul nf Khôi phục ảnh lm Ý nghĩa oi Các từ viết tắt Sóng nhỏ va Inpainting an Wavelet Ý nghĩa lu Các thuật ngữ Xử lý ảnh PDE Partial differential equation MSE Mean square error PSNR Peak Signal to Noise Ratio nh XLA at z z om l.c gm @ an Lu n va ac th si Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn lu an va n vii t to ng hi ep DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ w Hình 1: Mỗi điểm ảnh có tọa độ x, y, giá trị với ảnh xám nl Hình 2: Ảnh xám đồ thị theo mức xám oa d Hình 3: Khôi phục tác phẩm hội họa lu an Hình 4: Khơi phục ảnh đen trắng va ul nf Hình 5: Khơi phục ảnh dùng kim tự tháp mờ Gaussian 11 lm Hình 6: Khơi phục ảnh dùng kim tự tháp mờ Gaussian 12 oi Hình 7: Khơi phục ảnh Median theo hƣớng 13 nh at Hình 8: Khơi phục ảnh nhanh dựa vào lọc 14 z z Hình 9: Khơi phục ảnh biến phân phần PDE 16 @ gm Hình 10: Khơi phục ảnh dùng tổng biến thể 18 l.c Hình 11: Ví dụ PSNR 19 om Hình 12: Khơi phục ảnh dùng vùng mẫu: xác định mẫu p 21 an Lu Hình 13: Khơi phục ảnh dùng vùng mẫu: tìm miếng vá thích hợp cho p q’, q”, cuối tiến hành vá q’ cho p 22 va n Hình 14: Khơi phục ảnh dùng vùng mẫu 23 Hình 17: Khơi phục ảnh dùng vá có kết cấu theo Criminisi cộng sự: bên trái ảnh đầu vào, bên phải ảnh kết 26 Hình 18: Khơi phục ảnh dùng độ thƣa: từ điển hình học từ điển kết cấu 29 Hình 19: Khơi phục ảnh dùng độ thƣa: 29 Hình 20: Khôi phục ảnh dùng độ thƣa: bên trái ảnh đầu vào bị nhiễu, bên phải ảnh kết 30 Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si Hình 16: Khơi phục ảnh dùng vá có kết cấu theo Efros Leung: 25 ac th Hình 15: Khơi phục ảnh dùng vá có kết cấu: bên trái ảnh kết cấu, bên phải: dùng kết cấu để vá 24 lu an va n viii t to ng Hình 21: Một hình ảnh ban đầu, sau loại bỏ 15 x 15 hình vng khôi phục lại với phƣơng pháp đƣợc giới thiệu Masnou Morel 31 hi ep w Hình 22: Khơi phục dùng kết hợp vá biến phân phần PDE 32 nl oa d Hình 23: Khơi phục ảnh dùng vá cho video 33 lu Hình 24: Khơi phục ảnh dùng vá từ ảnh khác: 36 an va Hình 25: Tách không gian Vector 38 ul nf Hình 26: Khơi phục ảnh dùng vá tối ƣu địa phƣơng 41 lm oi Hình 27: Khơi phục ảnh dùng vá tối ƣu địa phƣơng 42 nh Hình 28: Ảnh gốc mặt nạ 45 at z Hình 29: Kiểm tra phần biên mặt nạ 46 z gm @ Hình 30: Kiểm tra phần biên mặt nạ 47 Hình 31: Khơi phục phần có kết cấu mạnh, có lỗi 48 om l.c Hình 32: Lỗi khơi phục phần có kết cấu phức tạp 49 Hình 33: Khơi phục kết cấu yếu, tốt 49 Lu an Hình 34: Khơi phục kết cấu yếu, có lỗi 50 n va Hình 35: Khơi phục kết cấu yếu, lỗi 50 Hình 38: Khơi phục kết cấu phức tạp, lỗi 53 Hình 39: Khơi phục kết cấu phức tạp, lỗi 53 Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si Hình 37: Khơi phục kết cấu phức tạp, lỗi 52 ac th Hình 36: Khơi phục kết cấu phức tạp, lỗi 51 lu an va n t to ng hi ep MỞ ĐẦU w Khơi phục ảnh (inpainting) q trình xây dựng lại phận bị nl xuống cấp ảnh video Trong trƣờng hợp tranh có oa d giá trị, nhiệm vụ đƣợc thực nghệ sĩ có tay nghề cao lu an phục hồi tranh Trong giới công nghệ thông tin, khôi phục ảnh đề cập va lm ảnh bị bị hỏng ul nf đến việc áp dụng thuật toán phức tạp để thay phận liệu oi Khơi phục ảnh có liên quan đến việc loại bỏ nhiễu, nh at thuật toán sử dụng ý tƣởng loại nhiễu, nhƣng khôi phục ảnh z vấn đề khác vấn đề loại nhiễu Vùng nhiễu thƣờng có số thơng z @ l.c liệu ảnh gốc gm tin ảnh gốc nhƣng khơi phục ảnh, số vùng bị hồn tồn om Trọng tâm luận văn tìm hiểu vấn đề liên quan đến việc Lu khôi phục ảnh, nghiên cứu số thuật tốn khơi phục ảnh tập trung tìm an hiểu thuật tốn tổng hợp để tạo vùng ảnh lớn từ kết cấu mẫu, va n kỹ thuật lấp đầy khoảng trống ảnh nhỏ Trong giá trị màu sắc Ngoài phần mở đầu kết luận, luận văn đƣợc chia làm chƣơng, luận văn có chƣơng nhƣ sau: Chƣơng 1: Tổng quan toán khơi phục ảnh Trình bày vấn đề đặt cần giải tốn khơi phục ảnh, hƣớng tiếp cận xử lý nhiễu ảnh khơi phục phần ảnh bị Trình bày số phƣơng pháp Khôi phục ảnh dựa vào hàm Gaussian, khôi phục ảnh nhanh, khôi phục ảnh Bertalmio Một số phƣơng pháp khơi phục ảnh khác Một số tiêu chí dùng để đánh giá kết khơi phục ảnh Số hố Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si chƣơng trình sử dụng ngơn ngữ C++, MathLab ac th đƣợc tính toán tổng hợp dựa mẫu Thuật toán đƣợc thực nghiệm với lu an va n t to ng hi ep Chƣơng 2: Khôi phục ảnh từ vá với điều kiện tối ƣu địa phƣơng Các thuật tốn khơi phục ảnh vá đƣợc trình bày w nl mối liên hệ với thuật tốn khơi phục ảnh vá với tối ƣu địa phƣơng oa d Các thuật tốn khơi phục ảnh vá có khả lấp khoảng lu an trống ảnh cách tổng hợp vùng ảnh từ vùng khác Phƣơng va ul nf pháp đƣợc gọi vá, lần điền thơng tin, thuật tốn điền lm mảng điểm ảnh, không điểm ảnh nhƣ oi phƣơng pháp dùng biến phân phần nh at Chƣơng 3: Thực nghiệm đánh giá z Trình bày việc cài đặt chƣơng trình, xây dựng liệu thực z @ gm nghiệm với thuật tốn khơi phục ảnh có khả lấp khoảng trống ảnh om trình thực nghiệm, kết l.c cách tổng hợp vùng ảnh từ vá, dựa vào độ tƣơng tự cục bộ, an Lu n va ac th si Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn lu an va n 57 t to ng hi ep TÀI LIỆU THAM KHẢO w [1] Lƣơng Mạnh Bá, Nguyễn Thanh Thủy (1999) Nhập môn xử lý ảnh nl số, Nhà xuất Khoa học kỹ thuật, Hà Nội oa d [2] Đỗ Năng Tồn, Phạm Việt Bình (2007) Giáo trình xử lý ảnh, Nhà lu an xuất Đại học Hà nội va ul nf [3] Võ Đức Khánh, Hoàng Kiếm (2007) Giáo trình xử lý ảnh Nhà xuất lm Đại học Quốc Gia TP Hồ Chí Minh oi [4] Nguyễn Kim Sách (1977) Xử lý ảnh video số, Nhà xuất nh at Khoa học kỹ thuật, Hà Nội z z [5] Pablo Arias, Gabriele Facciolo, Vicent Caselles, Guillermo Sapiro, @ l.c Springer Science and Business Media, 2011 gm “A Variational Framework for Exemplar-Based Image Inpaiting“, om [6] Mahmoud Ghoniem, Youssef Chahir, Abderrahim Elmoataz, an On Graphs”, ICIP 2009 Lu “Geometric And Texture Inpainting Based On Discrete Regularization va n [7] Jun Zhou ; Canberra Res Lab., Robles-Kelly, A., Image Inpainting Removal by Exemplar-Based Image Khôi phục," IEEE Trans Image Processing, 13 (9), pp 1200-1212, September 2004 [9] J Sun, L Yuan, J Jia, and H.-Y Shum, “Image Completion with Structure Propagation,” SIGGRAPH, Vol 24, pp 861-868, 2005 [10] R Szeliski, R Zabih, D Scharstein, O Veksler, V Kolmogorov, A Agarwala, M Tappen, and C Rother, “A Comparative Study of Energy Minimization Methods for Markov Random Fields,” ECCV, volume 2, pages 16-29, Graz, Austria, May 2006 Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si [8] A Criminisi, P Perez, and K Toyama, "Region Filling and Object ac th Based on Local Optimisation, Pattern Recognition (ICPR), 2010 lu an va n 58 t to ng [11] Alexandru Telea, “An Image Inpainting Technique Based on the hi ep Fast Marching Method”, Journal of graphics tools, 2004 [12] A Efros and T Leung, “Texture synthesis by non-parametric w nl sampling,” Proc IEEE International Conference Computer Vision, pp oa d 1033-1038, Corfu, Greece, September 1999 lu an [13] E Simoncelli and J Portilla Texture characterization via joint va ul nf statistics of wavelet coefficient magnitudes 5th IEEE Int’l Conf on oi lm Image Processing, Chicago, IL Oct 4-7, 1998 [14] S Masnou and J.M Morel Level-lines based disocclusion 5th nh at IEEE Int’l Conf on Image Processing, Chicago, IL Oct 4-7, 1998 z z [15] C Kenney and J Langan A new image processing primitive: @ om l.c California Santa Barbara Preprint, 1999 gm reconstructing images from modified flow fields University of an Lu n va ac th si Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn lu an va n 59 t to ng PHỤ LỤC: TRÍCH MÃ NGUỒN hi ep w nl Mục trích đoạn mã nguồn phân tích vá : oa d #include "Exemplar.h" lu an #include "Local.h" va #include "Parallel.h" ul nf lm IplImage* exmpExtractPatch(IplImage *img, int r, int c, int size) { oi nh IplImage* ret = cvCreateImage(cvSize((size*2)+1,(size*2)+1),img- at >depth,img->nChannels); z an n va if(col < 0) col = 0; Lu if(col >= img->width) col = img->width-1; om if(row < 0) row = 0; l.c if(row >= img->height) row = img->height-1; int row = r + a, col = c + b; gm @ for(int b = -size; b height; a++) { hi ep for(int b = 0; b < msk->width; b++) { if( iPixel(msk, a, b) < 128 ) continue; w nl if( iPixel(msk, a+1, b) < 128 || oa d iPixel(msk, a, b+1) < 128 || lu an iPixel(msk, a-1, b) < 128 || va iPixel(msk, a, b-1) < 128 ) { ul nf borderPixels.push_back(make_pair(a, b)); lm } oi nh } at } z z return; @ l.c gm } om void exmpListSourcePatches(IplImage *msk, vector< pair >& an int patchSize, int stepSize) { Lu sourcePatches, n va if(!msk) return; for(int a = patchSize; a < msk->height - patchSize; a+=stepSize) { for(int b = patchSize; b < msk->width - patchSize; b+=stepSize) { foundUncertain = false; for(int a1 = a - patchSize; a1 height ) continue; if( cy1 < || cy1 >= img->width ) continue; if( cx2 < || cx2 >= img->height ) continue; if( cy2 < || cy2 >= img->width ) continue; if( iPixel(msk, cx1, cy1) > 128 ) continue; if( earlyExit >= 0.0 && dis > earlyExit ) return 1e50; for(int k = 0; k < img->nChannels; k++) { Số hoá Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn si for(int b = -patchSize; b = img->width || an if( cx1 < || cy1 < || cx2 < || cy2 < ) continue; Lu if( iPixel( msk, cx2, cy2 ) < 128.0 ) continue; om int cx2 = dx + a, cy2 = dy + b; l.c int cx1 = sx + a, cy1 = sy + b; gm for(int b = -patchSize; b = img->width ) continue; lu an va n 63 t to ng thelta += iPixel(cp, a, b); hi ep } } w nl int patchDiameter = (patchSize*2)+1; oa d thelta /= (double)(patchDiameter*patchDiameter); lu an if( thelta < 0.0 ) thelta = 0.0; va if( thelta > 1.0 ) thelta = 1.0; ul nf return thelta; lm } oi nh at void exmpUpdateConfidence( IplImage *img, IplImage *msk, IplImage z z *cp, int x, int y, int patchSize ) { gm @ if( patchSize 128 || iPixel(mask, x, y - r) > 128 ) cdy = z z 0.0; l.c d = sqrt(iSq(dx)+iSq(dy)); gm @ dx = k * cdx; dy = k * cdy; om r++; Lu if( r > EXMP_GRADIENT_MAX_RADIUS ) return Vector2D(0.0, an 0.0); va } n si } ac th return Vector2D( dx , dy ); double exmpCalculateDatapoint( IplImage *img, IplImage *msk, int x, int y, int windowSize, int patchSize ) { if( patchSize 128 ) continue; an for(int b = -patchSize; b height/2)+1, (mskdx- >width/2)+1 ), w nl iPixel( mskdy, (mskdy->height/2)+1, (mskdy->width/2)+1 ) oa d ); lu an normal.normalize(); va ul nf double dataPointValue fabs(isotope * normal) / oi lm EXMP_DATAPOINT_ALPHA; = nh if( dataPointValue < 0.0 ) dataPointValue = 0.0; at z z cvReleaseImage( &mskWindow ); an } Lu return dataPointValue; om l.c gm cvReleaseImage( &mskdy ); @ cvReleaseImage( &mskdx ); n va double *result) { if( patchSize height; a++) { oa d for(int b = 0; b < msk->width; b++) { lu an if( iPixel(msk, a, b) < 128 ) iSixel( cp, a, b, 1.0 ); va else iSixel( cp, a, b, 0.0 ); ul nf } lm } oi nh } at z z void exmpSourceMask( IplImage *imsk, IplImage *smsk, int dis ) { an n va } Lu iSixel(smsk, a, b, 0.0); om if( iPixel(imsk, a, b) > 128 ) { l.c for(int b = 0; b < smsk->width; b++) { for(int a = 0; a < smsk->height; a++) { gm @ cvDilate(smsk, smsk, 0, dis); } void exmpInPaint(IplImage *img, IplImage *msk, int iter, int patchSize, int boundary, int skip, int method, bool GPU) { if(!img || !msk || iter sourcePatches; va vector borderPriority; ul nf lm exmpSourceMask( iterMask, sourceMask, boundary ); oi nh exmpListSourcePatches( sourceMask, sourcePatches, patchSize, skip ); at if( sourcePatches.size()

Ngày đăng: 24/07/2023, 09:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN