1. Trang chủ
  2. » Tất cả

Phục chế và tăng cường độ phân giải cho ảnh cũ bằng cách kết hợp mô hình học sâu luận văn thạc sĩ công nghệ thông tin

63 7 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

Thông tin cơ bản

Tiêu đề Phục chế và tăng cường độ phân giải cho ảnh cũ bằng cách kết hợp mô hình học sâu
Người hướng dẫn TS. Nguyễn Thị Bảo Trâm
Trường học Trường Đại học Lạc Hồng
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Đồng Nai
Định dạng
Số trang 63
Dung lượng 3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cách giải quyết vấn đề - Sử dụng mô hình học sâu Generative Adversarial Networks GAN để mô hình có thể tự sinh ra một tấm ảnh tương tự với tấm ảnh ban đầu nhưng có những đặc điểm khác..

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn Ban Giám hiệu, quý Thầy/Cô Khoa Sau đại học Trường Đại học Lạc Hồng đã tạo điều kiện để em hoàn thành chương trình học và thực hiện tốt luận văn thạc sĩ Công nghệ thông tin Xin chân trọng cảm ơn Thầy/ Cô tham gia giảng dạy và truyền đạt kiến thức trong thời gian qua

Em cũng xin gửi lời cảm ơn đến các anh chị, đồng nghiệp, các bạn trong lớp đã luôn quan tâm và giúp đỡ em trong suốt thời gian học tập cũng như làm luận văn

Em xin bày tỏ lòng biết ơn sâu sắc và những động viên từ Cha và Mẹ, những người thân trong gia đình đã hỗ trợ em thực hiện luận văn này

HỌC VIÊN

Được sự đồng ý của Khoa Sau Đại học, Trường Đại học Lạc Hồng và giảng

viên hướng dẫn TS cho phép em thực hiện đề tài “Phục chế và tăng cường độ

phân giải cho ảnh cũ bằng cách kết hợp mô hình học sâu”

Hơn ai hết, em xin chân thành cảm ơn thầy TS đã tận tình hướng dẫn, góp ý, chỉ bảo và tạo điều kiện thuận lợi để em hoàn thành luận tốt văn này

Trang 4

LỜI CAM ĐOAN

Tôi cam đoan rằng kết quả đạt được trong luận văn này là sản phẩm của cá nhân tôi, đó là kết quả đạt được trong quá trình học tập và nghiên cứu

Trong toàn bộ nội dung của luận văn, những điều được trình bày là của cá nhân hoặc được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin hoàn toàn chịu trách nhiệm cho lời cam đoan của mình

HỌC VIÊN

Trang 5

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA SAU ĐẠI HỌC TÓM TẮT LUẬN VĂN

(Dùng cho học viên và người hướng dẫn)

Đề tài: Phục chế và tăng cường độ phân giải cho ảnh cũ bằng cách kết hợp

mô hình học sâu

NỘI DUNG TÓM TẮT

1 Nội dung được giao và kết quả

- Thu thập dữ liệu: Bộ dữ liệu phục vụ quá trình huấn luyện (Ảnh cũ, ảnh bị nhiễu, ảnh bị rách, )

- Tìm hiểu về xử lý ảnh và các thư viện xử lý ảnh số

- Tìm hiểu các phương pháp phục chế ảnh cũ thủ công bằng phần mềm và bằng các thuật toán đơn giản

- Nghiên cứu và so sánh các thuật toán học sâu để phục chế ảnh

- Tiến hành huấn luyện mô hình học sâu dựa vào tập dữ liệu thu thập

- Thử nghiệm và đánh giá

2 Cách giải quyết vấn đề

- Sử dụng mô hình học sâu Generative Adversarial Networks (GAN) để mô hình có thể tự sinh ra một tấm ảnh tương tự với tấm ảnh ban đầu nhưng có những đặc điểm khác

- Sử dụng mô hình Variational Autoencoders (VAEs) thay cho Autoencoders truyền thống để cho ra kết qua tốt hơn

- Thử nghiệm và đánh giá kết quả

3 Đánh giá về mặt khoa học của kết quả

- Học viên đã tự sưu tầm dữ liệu và tham khảo các tài liệu từ các công trình nghiên cứu trên internet để tiến hành áp dụng kỹ thuật vào luận văn

- Dựa trên kết quả khảo sát, nghiên cứu, học viên sử dụng ngôn ngữ Python và thư viện Pytorch để xây dựng và huấn luyện mô hình học sâu

- Chương trình chạy thử nghiệm được thực hiện trên ứng dụng Google Colab

Ngành: Công nghệ thông tin Mã số:

Học viên:

Người hướng dẫn:

Trang 6

4 Những vấn đề còn tồn tại so với nội dung được giao (nếu có)

NGƯỜI HƯỚNG DẪN

HỌC VIÊN

Trang 7

MỤC LỤC

LỜI CẢM ƠN

LỜI CAM ĐOAN

TÓM TẮT LUẬN VĂN

MỤC LỤC

DANH MỤC HÌNH

MỞ ĐẦU 1

Chương 1 TỔNG QUAN 2

1.1 Tình hình nghiên cứu trong và ngoài nước 2

1.1.1 Công trình nước ngoài có liên quan 2

1.1.2 Công trình trong nước có liên quan 2

1.2 Mục tiêu của đề tài 2

1.3 Đối tượng nghiên cứu 3

1.4 Phương pháp nghiên cứu 3

1.5 Tổng quan về ảnh cũ (đối tượng) 3

Chương 2 KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHỤC CHẾ ẢNH 5

2.1 Giới thiệu 5

2.2 Giới thiệu về phục chế ảnh 5

2.3 Xử lý ảnh 6

2.3.1 Ảnh số và điểm ảnh 6

2.3.2 Các khái niệm 7

2.3.3 Các định dạng phổ biến của ảnh 7

2.3.4 Thu nhận ảnh 8

2.3.5 Một số loại ảnh số 9

2.3.6 Xử lý ảnh là gì? 9

2.3.7 Một số phương pháp xử lý ảnh 9

2.3.8 Xử lý ảnh không phải là thị giác máy 12

2.4 Deep learning 13

2.4.1 Supervised Learning (Học có giám sát) 13

2.4.2 Classification (Phân loại) 13

2.4.3 Unsupervised Learning (Học không giám sát) 14

2.4.4 Semi-Supervised Learning (Học bán giám sát) 14

2.4.5 Reinforcement Learning (Học củng cố) 14

2.5 Mạng nơ ron tích chập CNN (Convolutional Neural Network) 15

Trang 8

2.5.1 Kiến trúc chung của mạng nơ ron tích chập 15

2.5.2 Tính chất của mạng nơ ron tích chập 16

2.5.3 Hàm kích hoạt (activation function) trong neural network 18

2.5.4 Hàm mất mát (lossfuntion) 19

2.5.4.1 Regression losses 20

2.5.4.2 Classification losses 21

2.6 Generative Adversarial Network (GAN) 21

2.7 Encoder 26

2.7.1 Auto Encoder 26

2.7.2 Cách thức hoạt động của Autoencoder 28

2.7.3 Variational AutoEncoder 29

Chương 3 PHƯƠNG PHÁP PHỤC CHẾ ẢNH GƯƠNG MẶT 31

3.1 Giới thiệu 31

3.2 Phương pháp phục chế ảnh bằng học sâu 31

3.2.1 Phương pháp phục chế bằng thuật toán HiFace-Gan 31

3.2.2 Phương pháp phục chế bằng thuật toán GFP-Gan 37

3.3 Kết luận 44

3.4 Giải pháp được đề xuất phục chế ảnh và tăng cường độ phân giải của ảnh 44 Chương 4 XÂY DỰNG CHƯƠNG TRÌNH VÀ CHẠY THỬ NGHIỆM 45

4.1 Giới thiệu 45

4.2 Xây dựng hệ thống 45

4.2.1 Dataset 45

4.2.2 Cài đặt thư viện 45

4.2.3 Công cụ 46

4.2.4 Huấn luyện dữ liệu 46

4.2.5 Thuật toán 47

4.2.6 Kết quả chạy thử nghiệm 47

4.2.7 Đánh giá kết quả 49

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50

TÀI LIỆU THAM KHẢO 51

Trang 9

DANH MỤC HÌNH

Hình 1.1: Sơ đồ tổng quát 3

Hình 2.1: Ảnh trước và sau khi đã được phục chế 5

Hình 2.2: Minh họa ảnh và điểm ảnh xám 6

Hình 2.3: Minh họa ảnh và điểm ảnh màu 6

Hình 2.4: Minh họa điểm ảnh và độ phân giải ảnh 7

Hình 2.5: Minh họa kích thước ảnh (độ phân giải) 7

Hình 2.6: Minh hoạ phổ của ảnh 8

Hình 2.7: Minh hoạ phương pháp thu nhận ảnh 8

Hình 2.8: Minh họa các dạng ảnh số 9

Hình 2.9: Minh họa ảnh đầu vào và ảnh đầu ra 9

Hình 2.10: Minh họa giảm nhiễu ảnh 9

Hình 2.11: Minh họa độ tương phản ảnh 10

Hình 2.12: Minh họa tìm cạnh ảnh 10

Hình 2.13: Minh họa nén ảnh 10

Hình 2.14: Minh họa phân vùng ảnh 11

Hình 2.15: Minh họa khôi phục ảnh 11

Hình 2.16: Minh hoạ hương pháp xử lý ảnh Grayscale 11

Hình 2.17: Minh hoạ phương pháp Perspective Transformation 12

Hình 2.18: Minh họa phương phápCropping 12

Hình 2.19: Minh họa kỹ thuật cổ điển của xử lý ảnh và thị giác máy tính 13

Hình 2.20: Cấu trúc đại diện của một mạng nơ ron tích chập 15

Hình 2.21: Tính tích chập trên bản đồ kích hoạt 17

Hình 2.22: Cấu trúc các khối nơ ron 3D 17

Hình 2.23: Đồ thị hàm Sigmoid 18

Hình 2.24: Đồ thị hàm ReLU 19

Hình 2.25: Hình ảnh GAN sinh dữ liệu 22

Hình 2.26: Mô hình Machine Learning minh hoạ 22

Hình 2.27: Minh hoạ mô hình phân biệt và mô hình sinh 23

Hình 2.28: Hình ảnh minh hoạ Discriminator và Generator 24

Hình 2.29: Sơ đồ kiến trúc Generator 25

Hình 2.30: Sơ đồ kiến trúc Discriminator (Ảnh D là ảnh giả hay thật) 25

Hình 2.31: Hình ảnh minh hoạ Input và Output của Autoencoder 27

Hình 2.32: Kiến trúc của Autoencoder bao gồm 3 phần chính: Encoder, Bottleneck, Decoder 27

Hình 2.33: Kiến trúc Variational AutoEncoder 29

Hình 2.34: Các khuôn mặt được sinh ra bởi Variational AutoEncoder 30

Hình 2.35: Hàm loss trong Variational AutoEncode 30

Hình 3.1: Hình ảnh chụp từ tập dữ liệu FFHQ 32

Hình 3.2: Hình ảnh chụp từ tập dữ liệu CelebA 32

Hình 3 3Hình 3.3: Kiến trúc mô hình HiFace-Gan 32

Hình 3.4: Sơ đồ khối quy trình đào tạo 33

Hình 3.5: Ảnh được xử lý (ở trên), ảnh dưới là ảnh gốc(ở dưới) 35

Hình 3.6: Gen Loss hiển thị sự giảm dần theo thời gian 36

Trang 10

Hình 3.7: Dis Loss hiển thị sự giảm dần theo thời gian 36

Hình 3.8: Kết quả hình ảnh chạy bằng thuật toán HiFace-Gan 37

Hình 3.9: Tổng quan về GFP-GAN 38

Hình 3.10: Pre trained face GAN(StyleGAN) 38

Hình 3.11: Sơ đồ khối tóm tắt 41

Hình 3.12: Ảnh được xử lý (x), ảnh dưới là ảnh gốc(y) 42

Hình 3.13: Gen Loss hiển thị sự giảm dần theo thời gian 43

Hình 3.14: D Loss hiển thị sự giảm dần theo thời gian 43

Hình 4.1: Hình ảnh chứa hai thư mục 45

Hình 4.2: Sơ đồ khối tóm tắt 46

Hình 4.3: Minh họa sơ đồ thuật toán của chương trình 47

Hình 4.4: Ảnh trái (ảnh cần phục hồi), ảnh phải (ảnh đã phục hồi) 47

Hình 4.5: Ảnh trái (ảnh cần phục hồi), ảnh phải (ảnh đã phục hồi) 48

Hình 4.6: Ảnh trái (ảnh cần phục hồi), ảnh phải (ảnh đã phục hồi) 48

Hình 4.7: Ảnh trái (ảnh cần phục hồi), ảnh phải (ảnh đã phục hồi) 48

Hình 4.8: Kết quả sự khác nhau giữa HiFace-Gan và GFP-Gan 49

Trang 11

DANH MỤC CÁC KÝ HIỆU CHỮ VIẾT TẮT

2 CNN (Convolutional Neural Network)

3 GAN Generative Adversarial Networks

Trang 12

MỞ ĐẦU

Ra đời từ thế kỷ 19 (~1888), phim ảnh đã được sử dụng để ghi lại những khoảnh khắc kỷ niệm trong cuộc sống của cá nhân, xã hội Và thời gian đã làm nguồn tư liệu này bị tác động rất mạnh về chất lượng, sự hư hại….khi film ảnh không được bảo quản trong môi trường tốt

Hiện nay, công nghệ số (điện thoại, máy ảnh số, ) giúp việc số hóa hình ảnh trở nên dễ dàng hơn cũng như bảo quản thuận tiện và thời gian lâu hơn, là bước đệm cho việc khôi phục hình ảnh bị hư hỏng bằng các phần mềm chỉnh sửa ảnh chuyên nghiệp trở nên nhẹ nhàng hơn

Tuy nhiên, với nguồn ảnh cũ hiện nay đang được lưu trữ và cần phục chế không ít, với cách làm thủ công cần rất nhiều công sức và thời gian Cung và cầu chưa cân đối dẫn đến người cần hình ảnh phục chế cần thời gian chờ đợi cũng như chi phí cần thanh toán cao, ngoài ra chất lượng ảnh sau khi phục hồi chưa như kỳ vọng

Nắm bắt nhu cầu, các phần mềm tự động phục chế ảnh được sinh ra để có thể sửa chữa ảnh cũ ngay lập tức cho những người muốn mang những bức ảnh

cũ trở lại cuộc sống Trước đây khi chưa có sự xuất hiện của học máy, học sâu (deep learning) thì các kỹ thuật xử lý ảnh ra đời để khôi phục ảnh bằng cách tự động nhận diện khu vực có các vết hỏng, vết xước và vết mờ trên ảnh và cố gắng lấp đầy các khu vực này bằng kỹ thuật sơn lại Giới hạn của những kỹ thuật này là chỉ cố gắn lấp đầy nội dung trong ảnh và không thể giải quyết các hư hỏng khác như ảnh bị nhiễu, bị rách, phai màu,… vì vậy ảnh sau khi phục chế cho ra kết quả và màu sắc không được chân thực Ngày nay, bằng cách tiếp cận

mô hình học sâu thì vấn đề này đã được giải quyết , kết quả thu được như mong đợi

Trang 13

Chương 1 TỔNG QUAN 1.1 Tình hình nghiên cứu trong và ngoài nước

1.1.1 Công trình nước ngoài có liên quan

Hiện nay đã có nhiều bài báo, công trình nghiên cứu được đặt ra nhằm

phục chế lại những tấm ảnh cũ ngày xưa mà màu sắc và chi tiết trong ảnh làm ta

tưởng lầm rằng những tấm ảnh đấy chỉ mới được chụp Sau đây luận văn sẽ liệt kê một vài công trình để minh họa như sau:

- GANFIT: Generative Adversarial Network Fitting for High Fidelity

3D Face Reconstruction (2019) Bài báo trình bày về việc tái tạo ảnh 3D có độ trung

thực cao [1]

- Analyzing and Improving the Image Quality of StyleGAN (2019),

Phân tích và cải thiện chất lượng hình ảnh [2]

- Towards Real-World Blind Face Restoration with Generative Facial

Prior (2021) Phục hồi khuôn mặt với khuôn mặt có trước [3]

- Face Renovation via Collaborative Suppression and Replenishment

[2020] Cải tiến khuôn mặt thông qua loại bổ sung [4]

- Towards Real-World Blind Face Restoration with Generative Facial Prior Hướng tới phục hồi khuôn mặt trong thế giới thực [5]

1.1.2 Công trình trong nước có liên quan

Hiện nay đã có nhiều công trình nghiên cứu được thực hiện nhằm phục chế ảnh cũ, các công trình này đến nhiều trường Đại học, Cao đẳng trên cả nước Nổi bật có một số công trình như:

- Khôi phục ảnh bằng tối ưu độ tương tự cục bộ (2015) Bài báo trình

bày xây dựng thực nghiệm với một thuật toán khôi phục ảnh có khả năng lấp trống khoảng trống ảnh bằng cách tổng hợp các vùng ảnh từ bản vá, dựa vào độ tương tự cục bộ, các quá trình thực nghiệm và kết quả.[6]

- Nghiên cứu một số kỹ thuật phục hồi ảnh và ứng dụng (2013) Luận

văn trình bày một số kỹ thuật phục hồi nhằm làm cho ảnh tốt lên sao cho ảnh thu

được gần giống so với ảnh gốc.[7]

1.2 Mục tiêu của đề tài

Xây dựng chương trình trên máy tính để phục chế và tái tạo lại ảnh từ ảnh cũ, ảnh bị rách, oxi hóa,…

Trang 14

Nghiên cứu, lựa chọn các kỹ thuật xử lý ảnh, học sâu, phương pháp tự động tái tạo ảnh bằng công nghệ học sâu

Tiến hành chạy thử nghiệm để phát hiện và xử lý các vấn đề phát sinh, kết quả của chương trình có thể được sử dụng để tạo thành một chương trình riêng biệt

Hình 1.1: Sơ đồ tổng quát

1.3 Đối tượng nghiên cứu

Những tấm ảnh mờ, nhiễu, bị oxi hoá

Những tấm ảnh để lâu hoặc lâu năm

Ảnh chụp bằng những máy ảnh chất lượng thấp, ảnh chụp trắng đen hay những tấm ảnh phim

1.4 Phương pháp nghiên cứu

Đề thực hiện việc phục hồi ảnh từ ảnh cũ, ảnh bị rách, hướng thực hiện của luận văn được đề xuất các bước như sau:

- Nghiên cứu lý thuyết về xử lý ảnh, học sâu và tham khảo các phương pháp

từ các công trình nghiên cứu đã công bố

- Nghiên cứu và chọn giải pháp pháp tự động tái tạo ảnh

- Thu thập dữ liệu từ internet, viết chương trình xử lý

- Chạy thực nghiệm và đánh giá kết quả

1.5 Tổng quan về ảnh cũ (đối tượng)

Phục hồi ảnh cũ hay còn được gọi là xử lý ảnh cũ là một hình thức xử lý tín hiệu mà đầu vào là một hình ảnh bị mờ, rách hoặc đã cũ Việc sử dụng photoshop

để phục hồi ảnh cũ là một giải pháp được sử dụng rộng rãi trên toàn thế giới nhưng yêu cầu người phục hồi ảnh phải có kỹ thuật, kinh nghiệm tốt về photoshop Để giải quyết vấn đề trên, đã có một số công trình nghiên cứu sử dụng phương pháp xử lý ảnh để phục hồi ảnh cũ Nó ứng dụng các kỹ thuật xử lý ảnh và các thuật toán máy học để tìm các đối tượng trong các hình ảnh

Trang 15

Ảnh bị mờ là những ảnh chụp bằng máy ảnh kém chất lượng, dẫn đến độ phân giải thấp, làm ảnh bị mờ

Ảnh oxi hoá là những ảnh để trong thời gian lâu, ảnh bị ẩm mốc, sờn rách ở các chi tiết

Trang 16

Chương 2 KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHỤC CHẾ ẢNH 2.1 Giới thiệu

Trong chương này Luận văn sẽ trình bày cơ bản về lý thuyết xử lý ảnh số và

lý thuyết học sâu (deep learning) để làm cơ sở lựa chọn phương pháp giải quyết cho bài toán nhận dạng làn đường và phát hiện vật cản

Hình 2.1: Ảnh trước và sau khi đã được phục chế

Ngày nay, việc phục chế ảnh là làm cho bức ảnh ngả màu, cũ nát, vàng ố được đẹp, giống với ảnh gốc tự nhiên hơn Giúp mọi người lưu giữ lại những kỷ niệm của những người thân trong gia đình, những hình ảnh mang tính chất kỷ niệm

Những tấm ảnh từ được chụp và để thời gian rất lâu bởi máy ảnh thời xưa không được tối ưu hay có nhiều tính năng hoặc ảnh để trong một thời gian lâu và bị

mờ, không còn nhìn rõ như trước nữa, bị oxi hoá theo thời gian Mà bạn không muốn

Trang 17

vứt bỏ chúng đi thì dịch vụ khôi phục hình ảnh chính là giải pháp cần thiết Đây

được xem là dịch vụ/phương pháp tuyệt vời giúp cho bạn giải quyết được những

vấn đề mà bạn đang gặp phải với hình ảnh mà mình đang lưu giữ

2.3 Xử lý ảnh

2.3.1 Ảnh số và điểm ảnh

Điểm ảnh (pixel) có vị trí (x,y) và có độ xám I (x,y), với ảnh có điểm ảnh

từ màu trắng đến màu đen được minh họa như sau:

Hình 2.2: Minh họa ảnh và điểm ảnh xám

Với ảnh màu ảnh thì mỗi điểm ảnh sẽ có 3 giá trị màu tương ứng với độ sáng của các màu như: màu đỏ, màu xanh lục, màu xanh dương (RGB - Red, Green, Blue) được minh họa như sau:

Hình 2.3: Minh họa ảnh và điểm ảnh màu

Trang 18

2.3.2 Các khái niệm

Ảnh số: "một ảnh có thể được định nghĩa là hàm hai chiều, f(x, y), trong

đó x và y là tọa độ không gian (mặt phẳng) và biên độ của f tại bất kỳ cặp tọa độ (x,y) nào được gọi là cường độ hoặc mức độ màu xám của ảnh tại điểm đó Khi x,

y và các giá trị cường độ của f đều là các đại lượng hữu hạn, rời rạc, được gọi ảnh

là ảnh kỹ thuật số".[4]

Hay có thể hiểu một cách đơn giản rằng "Ảnh số là số hóa làm cho một hình ảnh kỹ thuật số minh họa xấp xỉ cho một cảnh thực"

Hình 2.4: Minh họa điểm ảnh và độ phân giải ảnh

Điểm ảnh là ảnh kỹ thuật số chứa một số lượng hữu hạn các hàng và cột của các phần tử Mỗi phần tử được gọi là pixel

Độ phân giải là thước đo của chi tiết rõ ràng nhỏ nhất trong ảnh, được tính là số điểm (pixel) trên một đơn vị khoảng cách đo bằng đơn vị DPI (Dot Per Inch) " [4]

Hình 2.5: Minh họa kích thước ảnh (độ phân giải)

2.3.3 Các định dạng phổ biến của ảnh

- 1 giá trị trên điểm/pixel (B&W hay Grayscale)

- 3 giá trị trên điểm/pixel (Red, Green, Blue)

Trang 19

- 4 giá trị trị trên điểm/pixel (Red, Green, Blue, + “Alpha” or Opacity) Chúng ta sẽ bắt đầu với grayscale images, mở rộng với ảnh màu sau:

Hình 2.6: Minh hoạ phổ của ảnh

2.3.4 Thu nhận ảnh

Phương pháp thu nhận ảnh tổng quát được minh họa như hình sau:

Hình 2.7: Minh hoạ phương pháp thu nhận ảnh

Ngoài ra, ảnh có thể được tạo ra từ việc thu nhận và biểu diễn lại các sóng khác (ngoài ánh sáng) như:

- Siêu âm (ultrasound)

- Tia X

- Tia gamma

- Sonar

- Sóng radio

Trang 20

Hình 2.9: Minh họa ảnh đầu vào và ảnh đầu ra

Hiện nay xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh Sự phát triển của xử lý ảnh đem lại rất

nhiều lợi ích cho cuộc sống của con người

Trang 21

Minh họa điều chỉnh độ tương phản ảnh số như sau:

Hình 2.11: Minh họa độ tương phản ảnh

Minh họa tìm cạnh cho ảnh số như sau:

Trang 22

Minh họa phân vùng ảnh số như sau:

Hình 2.14: Minh họa phân vùng ảnh

Minh họa khôi phục ảnh số như sau:

Hình 2.15: Minh họa khôi phục ảnh

Minh hoạ trong việc xử lý ảnh màu thành ảnh trắng đen

Hình 2.16: Minh hoạ hương pháp xử lý ảnh Grayscale

Trang 23

Minh hoạ trong việc xử lý ảnh nghiêng góc thành thẳng góc

Hình 2.17: Minh hoạ phương pháp Perspective Transformation

Minh hoạt trong việc xử lý ảnh cắt và phóng to

Hình 2.18: Minh họa phương phápCropping

2.3.8 Xử lý ảnh không phải là thị giác máy

Các kỹ thuật xử lý ảnh và thị giác máy cũng khác nhau

Xử lý ảnh (Image processing)

- Nén ảnh (Compression)

- Giảm nhiễu (Noise reduction)

- Nâng cao tương phản (Contrast enhancement)

Trang 24

- Nhận dạng (Recognition)

- Phân vùng ngữ nghĩa (Semantic segmentation)

Xử lý ảnh (Image processing) Thị giác máy (Computer vision) Hình 2.19: Minh họa kỹ thuật cổ điển của xử lý ảnh và thị giác máy tính

2.4 Deep learning

Deep Learning là một phương pháp của học máy Nó cho phép chúng ta huấn luyện một AI (Artificial Intelligence) có thể dự đoán được các đầu ra dựa vào một tập các đầu vào Cả hai phương pháp có giám sát và không giám sát đều có thể sử dụng để huấn luyện

Phương thức học có thể sử dụng để huấn luyện thường được chia làm 4 nhóm:

- Supervised learning (Học có giám sát)

- Unsupervised learning (Học không có giám sát)

- Semi-supervised learning (Học bán giám sát)

- Reinforcement learning (Học củng cố)

Ngoài các phân nhóm trên, còn có một số cách phân nhóm khác không có Semi- supervised learning hoặc Reinforcement learning

2.4.1 Supervised Learning (Học có giám sát)

Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn) Supervised learning là nhóm phổ biến nhất trong các thuật toán Machine Learning [5]

2.4.2 Classification (Phân loại)

Một bài toán được gọi là classification nếu các label của input data được chia thành một số hữu hạn nhóm Ví dụ: Gmail xác định xem một email có phải là spam hay không; các hãng tín dụng xác định xem một khách hàng có khả năng thanh toán nợ hay không, ví dụ phía trên được chia vào loại này [5]

Trang 25

2.4.3 Unsupervised Learning (Học không giám sát)

Trong thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có dữ liệu đầu vào Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm

số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán [5]

Một cách toán học, Unsupervised learning là khi chúng ta chỉ có dữ liệu vào 𝜒 mà không biết nhãn 𝛾 tương ứng [5]

Những thuật toán loại này được gọi là Unsupervised learning vì không giống như Supervised learning, chúng ta không biết câu trả lời chính xác cho mỗi

dữ liệu đầu vào Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó

là chữ A hay chữ B Cụm không giám sát được đặt tên theo nghĩa này [5]

2.4.4 Semi-Supervised Learning (Học bán giám sát)

Các bài toán khi chúng ta có một lượng lớn dữ liệu 𝜒 nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi-Supervised Learning Những bài toán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên [5]

Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp

từ internet [5]

2.4.5 Reinforcement Learning (Học củng cố)

Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance) Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất.[5]

Trang 26

2.5 Mạng nơ ron tích chập CNN (Convolutional Neural Network)

2.5.1 Kiến trúc chung của mạng nơ ron tích chập

Tích chập được ứng dụng phổ biến trong lĩnh vực thị giác máy tính Thông qua các phép tích chập, các đặc trưng chính từ ảnh được trích xuất và truyền vào các tầng tích chập (layer convolution) Mỗi một tầng tích chập sẽ bao gồm nhiều đơn vị mà kết quả ở mỗi đơn vị là một phép biến đổi tích chập từ layer trước đó thông qua phép nhân tích chập với bộ lọc.[9]

Về cơ bản thiết kế của một mạng nơ ron tích chập 2 chiều có dạng như sau:

INPUT -> [[CONV -> RELU]*N -> POOL?]*M -> [FC -> RELU]*K -> FC

- FC: Tầng kết nối hoàn toàn Thông thường tầng này nằm ở sau cùng

và kết nối với các đơn vị đại diện cho nhóm phân loại

Các kí hiệu []*N, []*M và []*K ám chỉ các khối bên trong [] có thể lặp lại nhiều lần liên tiếp nhau M, K là số lần lặp lại Kí hiệu đại diện cho các tầng liền

kề nhau mà tầng đứng trước sẽ làm đầu vào cho tầng đứng sau Dấu ? sau POOL để thể hiện tầng POOL có thể có hoặc không sau các khối tích chập

Hình 2.20: Cấu trúc đại diện của một mạng nơ ron tích chập

Như vậy có thể thấy một mạng nơ ron tích chập về cơ bản có 3 quá trình khác nhau:

Trang 27

- Quá trình trích xuất đặc trưng (convolution): Thông qua các tích chập giữa ma trận đầu vào với bộ lọc để tạo thành các đơn vị trong một tầng mới Quá trình này có thể diễn ra liên tục ở phần đầu của mạng và thường sử dụng hàm kích hoạt relu

- Quá trình tổng hợp (max pooling): Các tầng càng về sau trích xuất đặc trưng sẽ cần số lượng tham số lớn đo chiều sâu được quy định bởi số lượng các kênh

ở các tầng sau thường tăng tiến theo cấp số nhân Điều đó làm tăng số lượng tham số

và khối lượng tính toán trong mạng nơ ron Do đó để giảm tải tính toán chúng ta sẽ cần giảm chiều của khối ma trận đầu vào hoặc giảm số đơn vị của tầng Vì mỗi một đơn vị sẽ là kết quả đại diện của việc áp dụng 1 bộ lọc để tìm ra một đặc trưng cụ thể nên việc giảm số đơn vị sẽ không khả thi Giảm kích thước khối ma trận đầu vào thông qua việc tìm ra 1 giá trị đại diện cho mỗi một vùng không gian mà bộ lọc đi qua sẽ không làm thay đổi các đường nét chính của bức ảnh nhưng lại giảm được kích thước của ảnh Do đó quá trình giảm chiều ma trận được áp dụng Quá trình này gọi

là tổng hợp nhằm mục đích giảm kích thước dài, rộng

- Quá trình kết nối hoàn toàn (fully connected): Sau khi đã giảm kích thước đến một mức độ hợp lý, ma trận cần được làm dẹt (flatten) thành một vector và

sử dụng các kết nối hoàn toàn giữa các tầng Quá trình này sẽ diễn ra cuối mạng CNN

và sử dụng hàm kích hoạt là relu Tầng kết nối hoàn toàn cuối cùng (fully connected layer) sẽ có số lượng đơn vị bằng với số classes và áp dụng hàm kích hoạt là softmax nhằm mục đích tính phân phối xác suất.[9]

2.5.2 Tính chất của mạng nơ ron tích chập

Tính kết nối trượt: Khác với các mạng nơ ron thông thường, mạng nơ ron tích chập không kết nối tới toàn bộ hình ảnh mà chỉ kết nối tới từng vùng địa phương (local region) hoặc vùng nhận thức (receptive field) có kích thước bằng kích thước

bộ lọc của hình ảnh đó Các bộ lọc sẻ trượt theo chiều của ảnh từ trái qua phải và từ trên xuống dưới đồng thời tính toán các giá trị tích chập và điền vào bản đồ kích hoạt (activation map) hoặc bản đồ đặc trưng (feature map)

Trang 28

Hình 2.21: Tính tích chập trên bản đồ kích hoạt

Các khối nơ ron 3D: Không giống như những mạng nơ ron thông thường khi cấu trúc ở mỗi tầng là một ma trận 2D (batch size x số đơn vị ở mỗi tầng) Các kết quả ở mỗi tầng của một mạng nơ ron là một khối 3D được sắp xếp một cách hợp lý theo 3 chiều rộng (width), cao (height), sâu (depth) Trong

đó các chiều rộng và cao được tính tích chập Giá trị rộng (cao) của một tầng phụ thuộc vào kích thước của bộ lọc, chiều rộng (cao) của tầng trước, độ rộng viền (padding) và bước trượt bộ lọc (stride) Tuy nhiên chiều sâu lại hoàn toàn không phụ thuộc vào những tham số này mà nó bằng với số bộ lọc trong tầng

đó Quá trình tính bản đồ kích hoạt dựa trên một bộ lọc sẽ tạo ra một ma trận 2D Như vậy khi áp dụng cho bộ lọc khác nhau, mỗi bộ lọc có tác dụng trích xuất một dạng đặc trưng trên mạng nơ ron, ta sẽ thu được ma trận 2D có cùng kích thước mà mỗi ma trận là một bản đồ đặc trưng Khi sắp xếp chồng chất các ma trận này theo chiều sâu kết quả đầu ra là một khối nơ ron 3D Thông thường đối với xử lý ảnh thì tầng đầu vào có depth = 3 (số kênh) nếu các bức ảnh đang để ở dạng màu gồm 3 kênh RGB Bên dưới là một cấu trúc mạng nơ ron điển hình có dạng khối.[9]

Hình 2.22: Cấu trúc các khối nơ ron 3D

Trang 29

2.5.3 Hàm kích hoạt (activation function) trong neural network

2.5.3.1 Sigmoid

Công thức:

1 𝜎(𝑥) =

2.5.3.2 ReLU

Công thức:

𝑓(𝑥) = max(0, 𝑥)

Trang 30

Phân tích

Hình 2.24: Đồ thị hàm ReLU

Hàm ReLU đang được sử dụng khá nhiều trong những năm gần đây khi huấn luyện các mạng neuron ReLU đơn giản lọc các giá trị < 0 Nhìn vào công thức chúng dễ dàng hiểu được cách hoạt động của nó Một số ưu điểm khá vượt trội của nó so với Sigmoid và Tanh: [12]

2.5.4 Hàm mất mát (lossfuntion)

Máy học từ giá trị trung bình của một hàm mất mát Đây là một phương pháp đánh giá độ hiệu quả của một thuật toán nào đó trên bộ dữ liệu cho trước Nếu kết quả dự đoán chênh lệch quá nhiều so với kết quả thực tế, hàm mất mát sẽ là một số rất lớn Với sự trợ giúp từ các phương pháp regularization, hàm mất mát

sẽ học cách giảm đi sai số trong việc dự đoán dự đoán dữ liệu đầu ra

Có rất nhiều yếu tố trong việc lựa chọn hàm mất mát cho vấn đề cần giải quyết, ví dụ như loại thuật toán machine learning được sử dụng, độ phức tạp trong việc tính toán đạo hàm và tỉ lệ phần trăm các thành phần ngoại lai trong tập dữ liệu

Hàm mất mát có thể được phân chia thành 2 loại dựa vào Regression

losses và Classification losses Trong việc phân loại (classification), dự đoán

giá trị đầu ra từ một tập giá trị phân loại hữu hạn

Ví dụ: Cho trước một tập dữ liệu ảnh của các chữ số viết tay, phân loại chúng vào một trong các đơn vị từ 0 đến 9 Mặt khác, hồi quy (regression) giải quyết việc dự đoán một giá trị liên tục

Trang 31

b) Mean Absolute Error/L1 Loss

Công thức:

∑𝑛 (𝑦𝑖 − 𝑦̂𝑖 ) 𝑀𝐵𝐸 = 𝑖=1

𝑛 MAE (Mean Absolute Error) MAE được tính bằng trung bình cộng của giá trị tuyệt đối của hiệu giữa giá trị dự đoán và giá trị thực Giống như MSE, phương pháp này đo đạc độ lớn của lỗi chứ không quan tâm đến hướng của nó MAE cần nhiều công cụ phức tạp.[11]

Ví dụ: Như linear programming để tính đạo hàm Thêm vào đó, MAE không bị ảnh hưởng nhiều bởi dữ liệu ngoại lai vì nó không sử dụng cách tính lấy bình phương

c) Mean Bias Error

Phương pháp này ít được sử dụng trong machine learning so với cái phương pháp trên Nó giống với MAE với khác biệt duy nhất là chúng ta không lấy trị tuyệt đối [11]

Rõ ràng nên có một sự thật trọng khi sử dụng phương pháp này vì các lỗi dương và lỗi âm có thể triệt tiêu nhau

Ngày đăng: 14/03/2023, 08:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction (2019). Bài báo trình bày về việc tái tạo ảnh 3D có độ trung thực cao Sách, tạp chí
Tiêu đề: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction
Năm: 2019
[4] Face Renovation via Collaborative Suppression and Replenishment (2020), https://arxiv.org/abs/2005.05005 Sách, tạp chí
Tiêu đề: Face Renovation via Collaborative Suppression and Replenishment
Năm: 2020
[5] Towards Real-World Blind Face Restoration with Generative Facial Prior2021, https://arxiv.org/abs/2101.04061 Sách, tạp chí
Tiêu đề: Towards Real-World Blind Face Restoration with Generative Facial Prior
Năm: 2021
[6] Khôi phục ảnh bằng tối ưu độ tương tự cục bộ (2015), https://www.elib.vn/tai- lieu/khoi-phuc-anh-bang-toi-uu-do-tuong-tu-cuc-bo-20904.html Sách, tạp chí
Tiêu đề: Khôi phục ảnh bằng tối ưu độ tương tự cục bộ
Năm: 2015
[7] Nghiên cứu một số kỹ thuật phục hồi ảnh và ứng dụng (2013), https://luanvan123.info/threads/nghien-cuu-mot-so-ky-thuat-phuc-hoi-anh-va-ung-dung.77728/ Sách, tạp chí
Tiêu đề: Nghiên cứu một số kỹ thuật phục hồi ảnh và ứng dụng
Năm: 2013
[8] Giới thiệu xử lý ảnh, https://viblo.asia/p/tuan-1-gioi-thieu-xu-ly-anh- yMnKMdEQ57P Sách, tạp chí
Tiêu đề: Giới thiệu xử lý ảnh
[11]Hàm mất mát trong machine learning, https://aischool.vn/2019/11/04/ham- mat-mat-trong-machine-learning/ Sách, tạp chí
Tiêu đề: Hàm mất mát trong machine learning
Năm: 2019
[13] Kiến thức về Encoder, Bottleneck, Decoder https://bizflycloud.vn/tin-tuc/autoencoder-la-gi-20220526165157229.htm Sách, tạp chí
Tiêu đề: autoencoder-la-gi-20220526165157229.htm
Năm: 2022
[17] Thuật toán, https://paperswithcode.com/paper/towards-real-world-blind-face-restorationXintao Sách, tạp chí
Tiêu đề: Towards Real-World Blind Face Restoration
Tác giả: Xintao
[2] Analyzing and Improving the Image Quality of StyleGAN (2019), https://arxiv.org/abs/1912.04958 Link
[3] Towards Real-World Blind Face Restoration with Generative Facial Prior (2021) https://arxiv.org/abs/2101.04061 Link
[9]Convolutional Neural Network, https://phamdinhkhanh.github.io/2019/08/22/convolutional-neural- network.html Link
[10]Các hàm kích hoạt (activation function) trong neural network, https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation-function-trong-neural-networks/ Link
[12] Giới thiệu về GAN, https://nttuan8.com/bai-1-gioi-thieu-ve gan/#:~:text=GAN%20thu%E1%BB%99c%20nh%C3%B3m%20generative%20model,sinh%20ra%20d%E1%BB%AF%20li%E1%BB%87u%20m%E1%BB%9Bi Link
[14] Định nghĩa về Variational Auo Encoder, https://en.wikipedia.org/wiki/Variational_autoencoder Link
[15]GFP-GAN https://www.analyticsvidhya.com/blog/2022/05/an-introduction-to-realistic-face-restoration-with-gfp-gan-and-dfdnet/ Link
[18] Phân nhóm các thuật toán Machine Learning, https://machinelearningcoban.com/2016/12/27/categories/ Link

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w