Xây dựng ứng dụng phát hiện phần khác biệt giữa hai ảnh

80 65 0
Xây dựng ứng dụng phát hiện phần khác biệt giữa hai ảnh

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ISO 9001:2015 ĐỒ ÁN TỐT NGHIỆP NGHÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - XÂY DỰNG ỨNG DỤNG PHÁT HIỆN PHẦN KHÁC BIỆT GIỮA HAI ẢNH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin HẢI PHÒNG - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - XÂY DỰNG ỨNG DỤNG PHÁT HIỆN PHẦN KHÁC BIỆT GIỮA HAI ẢNH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin Sinh viên thực : Nguyễn Tiến Dũng Mã sinh viên : 1512111022 Giáo viên hướng dẫn : TS Ngô Trường Giang HẢI PHÒNG - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Lớp: Nguyễn Tiến Dũng CT1901C Mã sinh viên: 1512111022 Ngành: Công nghệ Thông tin Tên đề tài: “Xây dựng ứng dụng phát phần khác biệt hai ảnh” NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung: - Tìm hiểu tổng quan đối sánh ảnh - Tìm hiểu phương pháp chỉnh ảnh trừ ảnh - Tìm hiểu số hàm thư viện OpenCV sử dụng cho phát phần khác biệt hai ảnh b Các yêu cầu cần giải - Trình bày tổng quan đối sánh ảnh - Hiểu trình bày phương pháp chỉnh ảnh trừ ảnh - Xây dựng ứng dụng phát phần khác biệt hai ảnh sử dụng hàm OpenCV Các số liệu cần thiết để thiết kế, tính tốn Địa điểm thực tập CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Người hướng dẫn thứ nhất: Họ tên: Ngô Trường Giang Học hàm, học vị: Tiến sĩ Cơ quan công tác: Khoa Công nghệ Thông tin Nội dung hướng dẫn: - Tìm hiểu tổng quan đối sánh ảnh - Tìm hiểu phương pháp chỉnh ảnh trừ ảnh - Tìm hiểu số hàm thư viện OpenCV sử dụng cho phát phần khác biệt hai ảnh Người hướng dẫn thứ hai: Họ tên: ………………………………………………………………………………… Học hàm, học vị……………………………………………………………………………… Cơ quan công tác: …………………………………………………………………………… Nội dung hướng dẫn: …………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Đề tài tốt nghiệp giao ngày 01 tháng năm 2019 Yêu cầu phải hoàn thành trước ngày 21 tháng năm 2019 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán hướng dẫn Đ.T.T.N Nguyễn Tiến Dũng Ngô Trường Giang Hải Phòng, ngày tháng .năm 2019 HIỆU TRƯỞNG GS.TS.NGUT Trần Hữu Nghị CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN TỐT NGHIỆP Họ tên: Ngô Trường Giang Cơ quan công tác: Khoa Công nghệ Thông tin Họ tên sinh viên: Nguyễn Tiến Dũng Ngành: Công nghệ Thông tin Nội dung hướng dẫn: - Tìm hiểu tổng quan đối sánh ảnh - Tìm hiểu phương pháp chỉnh ảnh trừ ảnh Tìm hiểu số hàm thư viện OpenCV sử dụng cho phát phần khác biệt hai ảnh Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: - Sinh viên chủ động tìm đọc tài liệu liên quan tới đề tài - Chấp hành nghiêm túc kế hoạch, tiến độ đề Đánh giá chất lượng đồ án (so với nội dung yêu cầu đề nhiệm vụ đề tài tốt nghiệp mặt lý luận, thực tiễn, tính tốn số liệu ): - Về mặt lý thuyết: Đồ án trình bày vấn đề đối sánh ảnh, phương pháp chỉnh ảnh dựa vào đối sánh đặc trưng, kỹ thuật trừ ảnh - Về mặt thực nghiệm: Đồ án cài đặt chương trình phát đánh dấu phần ảnh bị thêm/bớt so với ảnh gốc, sử dụng hàm OpenCV, dừng lại mức ảnh có biến dạng - Về hình thức: Báo cáo trình bày sáng sủa, bố cục hợp lý - Đồ án đáp ứng yêu cầu đề Ý kiến cán hướng dẫn: Đạt Không đạt Điểm:………………………… Ngày 25 tháng năm 2019 Cán hướng dẫn TS Ngô Trường Giang CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc PHIẾU NHẬN XÉT CỦA CÁN BỘ CHẤM PHẢN BIỆN Họ tên giảng viên: TS Đỗ Văn Chiểu Đơn vị công tác: Khoa Công nghệ Thông tin – Trường Đại học Dân lập Hải Phòng Họ tên sinh viên: Nguyễn Tiến Dũng Ngành: Công nghệ Thông tin Đề tài tốt nghiệp: “Xây dựng ứng dụng phát phần khác biệt hai ảnh” Phần nhận xét giảng viên chấm phản biện Đồ án có bố cục tương đối tốt, hợp lý , trình bày rõ ràng nội dung, cở sở lý thuyết bám sát đề tài; nêu đầy đủ lý thuyết liên quan Phần chương trình thể chương sử dụng thư viện OpenCV cho kết xác với số ảnh biến động phép biến đổi hình học Những mặt cịn hạn chế Chương khơng nên để chương trình thử nghiệm tên đề tài xây dựng ứng dụng Phần chương trình (chương 3) khơng nêu rõ mơi trường phát triển thuật tốn sử dụng, thiếu giao diện trực quan, chưa nêu rõ điều kiện đầu vào, thuật toán sử dụng hạn chế (nếu có) Ý kiến giảng viên chấm phản biện Được bảo vệ Không bảo vệ Điểm:………………………… Hải Phòng, ngày tháng 10 năm 2019 Cán chấm phản biện (Ký ghi rõ họ tên) Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ ĐỐI SÁNH ẢNH 1.1 Ảnh số 1.2 Một số kỹ thuật tiền xử lý ảnh 1.2.1 Biến đổi ảnh 1.2.2 Nhị phân hóa 1.2.3 Lọc nhiễu 1.2.4 Kỹ thuật tìm biên 13 1.2.5 Kỹ thuật trừ ảnh 16 CHƯƠNG 2: TRƯNG CĂN CHỈNH ẢNH DỰA TRÊN ĐỐI SÁNH ĐẶC 26 2.1 Giới thiệu chỉnh ảnh 26 2.2 Các phép biến đổi đồ họa 27 2.2.1 Các phép biến đổi hình học chiều 27 2.2.2 Phép biến đổi hình học 3D 35 2.3 Căn chỉnh ảnh dựa đối sánh đặc trưng 40 2.3.1 Thuật toán ORB 40 2.3.2 Tìm ma trận tương đồng 50 CHƯƠNG 3: defined CHƯƠNG TRÌNH THỬ NGHIỆMError! Bookmark not 3.1 Giới thiệu OpenCV 55 3.2 Phát triển ứng dụng phát phần ảnh sai khác 57 3.2.1 Phát biểu toán 57 3.2.2 Triển khai sử dụng hàm OpenCV 57 Nguyễn Tiến Dũng _ CT1901C Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp 3.2.3 Một số kết 67 KẾT LUẬN 71 TÀI LIỆU THAM KHẢO 72 Nguyễn Tiến Dũng _ CT1901C Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Đọc hình ảnh Đọc ảnh ảnh mẫu ảnh cần chỉnh có sẵn thư viện OpenCV Chỉnh xám Trong OpenCV sử dụng hàm CvtColor để thực chuyển ảnh đầu vào từ ảnh màu qua ảnh xám Cấu trúc hàm CvtColor OpenCV trình bày sau: Trong đó: - im1 đối số đầu vào - im1Gray đối số đầu - CV_BGR2GRAY code quy định chuyển đổi từ mã màu sang mã màu Ở ta thực việc chuyển đổi từ mã ảnh màu sang ảnh xám Nguyễn Tiến Dũng _ CT1901C 58 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.2 Ảnh thứ chỉnh xám Bước 2: Phát đặc trưng (Dectect feature) Chúng ta cần phải tìm keypoints (feature points) hình ảnh Ở sử dụng ORB detect feature SIFT hay SUFT muốn dùng phải trả phí Lí phải chuyển ảnh ảnh xám bước đầu Mặc dù cần đặc trưng để tính tốn đồng nhất, thơng thường hàng trăm đặc trưng phát hai hình ảnh Vậy nên cần kiểm sốt số lượng tính cách sử dụng tham số MAX_FEATURE Bước 3: Đối sánh đặc trưng (Matching Feature) Dựa vào mơ tả điểm thuộc tính ảnh thứ thứ hai, ta tiến hành đối sánh hai ảnh dựa tập điểm Cuối hiển thị kết Nguyễn Tiến Dũng _ CT1901C 59 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp khớp hình ảnh hình 3.3 ghi tệp vào đĩa để kiểm tra trực quan Sau sử dụng thuật tốn đo khoảng cách hamming tương tự thước đo hai thuộc tính mơ tả Các đặc trưng phù hợp hiển thị hình bên cách vẽ đường nối chúng Hình 3.3 Ảnh chứa đặc trưng tương đồng ( match feature) Lưu ý, có nhiều kết khớp khơng xác cần sử dụng phương pháp để tính tốn homography bước Nguyễn Tiến Dũng _ CT1901C 60 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Bước 4: Tính tốn ma trận Homography Một homography tính có điểm tương ứng trở lên hai hình ảnh Kết hợp thuộc tính tự động giải thích phần trước khơng phải lúc tạo kết khớp xác 100% Khơng có lạ 20-30% khơng xác May mắn thay, phương pháp findHomography sử dụng kỹ thuật ước lượng mạnh mẽ gọi Đồng thuận mẫu ngẫu nhiên (RANSAC) tạo kết có số lượng lớn kết khớp xấu Bước 5: Khi tìm ma trận homography dùng warpPerspective để ánh xạ gần với tọa độ ảnh gốc Hình 3.4 Ảnh chỉnh ánh xạ gần tọa độ ảnh gốc Nguyễn Tiến Dũng _ CT1901C 61 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Tuy ảnh không giống 100% ảnh gốc với kết đạt so với ảnh ban đầu góp phần tăng độ xác lên 3.2.2.2 Trừ ảnh Bước Trừ ảnh Thao tác cần thực trừ ảnh Sẽ cần lấy ảnh đầu vào hay gọi ảnh thứ trừ ảnh gốc để ảnh có phần khác biệt ảnh (giá trị tuyệt đối) Ở hàm abdiff openCV sử dụng Cấu trúc hàm sau: Trong đó:  im1 ảnh thứ hay ảnh gốc  im2 ảnh thứ  error Image ảnh lấy từ ảnh trừ ảnh gốc để phần khác ảnh Hình 3.5 Ảnh sau dùng hàm diff Bước 2:Phân ngưỡng Nguyễn Tiến Dũng _ CT1901C 62 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Tiếp theo xác định đường viền sử dụng ngưỡng, thao tác chuyển qua ảnh nhị phân, hay gọi phân ngưỡng Mục đích thao tác phân ngưỡng ảnh dùng để phục vụ cho việc tách đối tượng thuật toán Để thực việc phân ngưỡng, hàm threshold OpenCV sử dụng, hàm trình bày sau: Trong đó:  errorImage ảnh (sau sử dụng hàm diff) xám đầu vào  thresh ảnh đầu  giá trị ngưỡng gán pixel giá trị nhỏ giá trị ngưỡng  255 giá trị gán pixel giá trị lớn giá trị ngưỡng  THRESH_BINARY số xác định cách phân ngưỡng Tùy theo loại phân ngưỡng mà pixel gán giá trị khác nhau, ví dụ:  THRESH_BINARY: Nếu giá trị pixel lớn ngưỡng gán  maxval Ngược lại gán Phân đoạn ảnh dựa thuật toán nở vùng  THRESH_BINARY_INV: Nếu giá trị pixel lớn ngưỡng gán Ngược lại gán maxval  THRESH_TRUNC: Nếu giá trị pixel lớn ngưỡng gán giá trị ngưỡng Ngược lại giữ nguyên giá trị Bước 3:Lọc nhiễu Nguyễn Tiến Dũng _ CT1901C 63 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Tiếp theo lọc nhiễu cho ảnh Để lọc nhiễu cho ảnh này, hàm sử dụng lọc làm mờ Blur sử dụng (cụ thể median blur) Trong OpenCV hàm lọc trình bày sau: Trong đó:  thresh ảnh đầu vào ( ảnh sau phân ngưỡng)  Imdiff ảnh sau thực phép lọc  kích thước ma trận lọc chắn phải số lẻ Hình 3.6 Ảnh sau sử dụng hàm diff, phân ngưỡng, lọc nhiễu để highlight phần khác biệt (bằng màu trắng đen) Bước 4: Xác định Contours Nguyễn Tiến Dũng _ CT1901C 64 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Contours đường bao kết nối tất điểm liền kề có màu sắc độ tương phản Chính đặc tính này, contours thường dùng xác định vật thể, nhận dạng, Trong trường hợp dùng thuật tốn để tìm đường viền chúng vào xung quanh hình chữ nhật khu vực xác định khác lưu chúng vào vectơ contour hiearchy Để thực việc tìm biên đối tượng sử dụng hàm findContours Trong OpenCV hàm tìm biên trình bày sau: Trong đó:  Imdiff ảnh (sau thực phép lọc) cần tìm biên  Contour lưu trữ đường biên tìm được, đường biên, lưu trữ dạng vector điểm  Hiearchy: chứa thơng tin hình ảnh số đường viền, xếp hạng đường viên theo kích thước, ngồi…  CV_RETR_TREE: sử dung cờ lấy tất đường biên tạo hệ thống phân cấp đầy đủ đường lồng  CV_CHAIN_APPROX_SIMPLE: nén đường viên trước lưu trữ, nén phân đoạn theo chiều ngang, chiều dọc chéo Sau đếm số biên hàm findContours có số lượng biên tương ứng với số đối tượng Bước 5: Vẽ hình Nguyễn Tiến Dũng _ CT1901C 65 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Trước vẽ hình chữ nhật cần phải tìm đường biên hình ảnh Ở đây, chương trình sử dụng hàm xấp xỉ hình chữ nhật với độ xác +-3 đường cong phải đường cong kín Khi tìm boundingRect cho hình chữ nhật lưu vào boundingRect (boundingRect hàm viêt sẵn OpenCV để tạo hình chữ nhật bao quanh contour) Rồi sau sử dụng giá trị có để vẽ hình chữ nhật màu đỏ hình ảnh với hàm rectangle Trong đó:  ImReference imReg ảnh đầu vào  boundRect[i].tl điểm góc bên trái hình chữ nhật thứ i  boundRect[i].br điểm góc bên phải hình chữ nhật thứ i  color màu hình chữ nhật  độ dày  loại dòng kẻ Nguyễn Tiến Dũng _ CT1901C 66 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.7 Đây hai ảnh sau tìm khác biệt khoanh vùng hình chữ nhật màu đỏ 3.2.3 Một số kết Ví dụ ảnh khác: Hình 3.8 Ảnh gốc Nguyễn Tiến Dũng _ CT1901C 67 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.9 Ảnh cần kiểm tra Hình 3.10 Ảnh cần kiểm tra chỉnh ánh xạ gần tọa độ ảnh gốc Nguyễn Tiến Dũng _ CT1901C 68 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.11 Ảnh chứa đặc trưng tương đồng ( match feature) Hình 3.12 Ảnh sau sử dụng hàm diff, phân ngưỡng, lọc nhiễu để highlight phần khác biệt ảnh Nguyễn Tiến Dũng _ CT1901C 69 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.13 Đây hai ảnh sau tìm khác biệt khoanh vùng hình chữ nhật màu đỏ Nguyễn Tiến Dũng _ CT1901C 70 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp KẾT LUẬN Trong tìm hiểu tài liệu thực đồ án định hướng thầy hướng dẫn em đạt số kết sau:  Tìm hiểu cách tổng quan vấn đề đối sánh ảnh Đưa nhận xét, đánh giá số kỹ thuật tiền xử lý ảnh có lựa chọn phù hợp kỹ thuật  Đặc biệt phần hiểu rõ chỉnh ảnh áp dụng thuật toán phù hợp cho tập  Đối với số fornt chữ mà có đặc tính giống gây nhầm lẫn việc ánh xạ đặc tính hai ảnh chữ Nhật hay Trung Quốc  Bị hạn chế xoay góc độ ảnh, làm cho ảnh bị lỗi không, phần sai khác khơng  Đối với ảnh có nhiều chi tiết xảy trường hợp chương trình khó tìm thấy phần khác ảnh, đơi sai lệch  Xây dựng ứng dụng phát phần khác biệt hai ảnh dựa theo phương pháp chỉnh ảnh trừ ảnh trình bày  Ngồi ra, q trình tìm hiểu em tự tích lũy thêm cho kiến thức tốn học, kỹ thuật lập trình,…Tuy bước đầu, kết giúp ích cho em tìm hiểu sau để thu kết tốt Dựa kết đạt được, em tiếp tục tìm hiểu đề xuất số cải tiến phương pháp chình ảnh trừ ảnh hiệu tương lai Nguyễn Tiến Dũng _ CT1901C 71 Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp TÀI LIỆU THAM KHẢO [1.] [1] Richard Szeliski, “ Image Alignment and Stitching”,Last update December 10,2006 [2.] [2]Satya Mallick, “Image Aligment (Feature Based)using OpenCV(C++/Python)”,March 11, 2008 [3.] [3]Adrian Rosebrock, “Image Difference with OpenCV and Python”, June 19,2007 [4.] [4]Deepanshu Tyagi, “Introduction to ORB(Oriented FAST and Rotated BRRIEF”, Jan Nguyễn Tiến Dũng _ CT1901C 72 ... 55 3.2 Phát triển ứng dụng phát phần ảnh sai khác 57 3.2.1 Phát biểu toán 57 3.2.2 Triển khai sử dụng hàm OpenCV 57 Nguyễn Tiến Dũng _ CT1901C Ứng dụng phát phần ảnh sai khác. .. Kỹ thuật trừ ảnh Hiểu theo nghĩa hẹp, trừ hai ảnh có kích thước việc xây dựng ảnh từ khác biệt hai ảnh Theo nghĩa rộng hơn, trừ ảnh việc tính tốn độ chênh lệch hai ảnh đặc trưng ảnh cường độ,... nhiễu để highlight phần khác biệt (bằng màu trắng đen) 64 Nguyễn Tiến Dũng _ CT1901C Ứng dụng phát phần ảnh sai khác Đồ án tốt nghiệp Hình 3.7 Đây hai ảnh sau tìm khác biệt khoanh vùng hình

Ngày đăng: 04/08/2020, 10:33

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan