CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn đề Trước đây, nếu như chỉ có những chiếc máy tính mới có thể giúp chúng ta chỉnh sửa hình ảnh nâng cao, nâng tông màu, chỉnh nền ảnh thì giờ đây
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH
NGUYỄN THẾ NGỌC
ỨNG DỤNG “AI-CAMERA”
NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH CHO SMARTPHONE-VSMART
Trang 2ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH
NGUYỄN THẾ NGỌC
“AI-CAMERA” APPLICATION FOR IMAGE ENHANCEMENT
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM
Trang 4ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYỄN THẾ NGỌC MSHV: 1770548
Ngày, tháng, năm sinh: 10/02/1994 Nơi sinh:Quảng Bình
Chuyên ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa Mã số : 60520216
I TÊN ĐỀ TÀI: ỨNG DỤNG “AI-CAMERA” NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH CHO
SMARTPHONE-VSMART
II NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu các phương pháp tăng cường chất lượng, chuyển đổi phong cách của hình ảnh dựa trên các phương pháp học sâu (Deep Learning)
- Tìm hiểu phương pháp phát triển ứng dụng trí tuệ nhân tạo trên nền tảng smartphone
- Xây dựng mô hình học sâu nhằm nâng cao chất lượng hình ảnh và chuyển đổi phong cách
- Tối ưu mô hình và tích hợp OpenCV, Tensorflow trên thiết bị di động sử dụng nền tảng hệ điều hành VOS
- Đánh giá kết quả thực hiện
III NGÀY GIAO NHIỆM VỤ : 19/08/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 08/12/2019
Trang 5LỜI CẢM ƠN
Lời nói đầu tiên, để hoàn thành nghiên cứu trong luận văn này, Tôi xin được gửi lời cảm ơn đến Quý Thầy Cô ở Bộ Môn Điều Khiển Tự Động, Khoa Điện – Điện Tử, Trường đại học Bách Khoa- Đại học quốc gia TP Hồ Chí Minh đã truyền đạt những kiến thức quý giá trong suốt thời gian Tôi học tập ở Trường
Đặc biệt, Xin gửi lời cảm ơn sâu sắc đến TS.Phạm Việt Cường đã luôn nhiệt tình hướng dẫn, góp ý cho Tôi trong suốt quá trình thực hiện luận văn này
Tôi cũng muốn gửi lời cảm ơn đặc biệt đến các Anh: Ngô Huy Ánh, Anh: Phạm Xuân Khánh ở Phòng nghiên cứu phần mềm dự án Smatphone-Vsmart đã cho Tôi cơ hội được thực hiện luận văn này
Tôi cũng xin gửi lời cảm ơn đến các Bạn Võ Thị Yến Hải, Phạm Thế Vinh
đã hỗ trợ về hình ảnh và những kiến thức Photoshop trong suốt thời gian thực hiện luận văn
Một lần nữa, Tôi xin gửi lời cảm ơn chân thành đến tất cả mọi người
Nguyễn Thế Ngọc
Trang 6TÓM TẮT LUẬN VĂN THẠC SĨ
Cùng với sự phát triển không ngừng của trí tuệ nhân tạo (AI) trong thời gian
trở lại đây, không chỉ có mặt trên máy tính, AI giờ đây còn được nhiều hãng sản
xuất quan tâm đưa lên cả smartphone Hiện này, hầu hết các mẫu smartphone đình
đám đều tích hợp thêm AI-Cam để tăng hấp dẫn đối với người tiêu dùng
Ngày nay, chụp ảnh với các smartphone và chia sẻ trên các mạng xã hội đã
trở thành một trào lưu lớn mạnh Cùng với các cải tiến về chất lượng camera gần
đây, người dùng ngày càng đòi hỏi cao hơn về chất lượng hình ảnh và tính nghệ
thuật của các bức hình Nắm bắt xu thế đó, đề tài được thực hiện nhằm xây dựng
công nghệ lõi và phát triển ứng dụng “AI-Camera” có khả năng nâng cao chất lượng
hình ảnh và chuyển đổi phong cách
Đề tài được thực hiện dựa trên đề xuất của Phòng Nghiên Cứu Phần Mềm
thuộc Công Ty Cổ Phần Nghiên Cứu Và Sản Xuất VINSMART Trong đó, mục
đích chính của đề tài là nghiên cứu và tích hợp các ứng dụng trí tuệ nhân tạo lên các
sản phầm smartphone, ban đầu đó là “AI-Camera”
Với việc thực hiện luận văn này, Học viên sử dụng kiến trúc CycleGAN và
mạng tích chập U-Net để xây dựng mô hình học sâu Đồng thời, sử dụng thư viện
OpenCV và Tensorflow để phát triển ứng dụng trên smartphone
Cuối cùng, luận văn đã phát triển thành công ứng dụng “AI-Camera” nhằm
nâng cao chất lượng hình ảnh và chuyển đổi phong cách cho hình ảnh Ứng dụng có
khả năng thực thi trên hệ điều hành VOS của dòng smartphone của VSMART
Bước đầu, đã chứng minh được tính thực tiễn của nghiên cứu và có thể phát triển
hơn trong tương lai
Học viên
Nguyễn Thế Ngọc
Trang 7ABSTRACT
Along with the continuous development of AI in recent times, not only on computers, AI is now also interested in many manufacturers on smartphones Currently, most of the smartphones have integrated AI to increase attractiveness to consumers
Nowadays, taking photos with smartphones and sharing on social networks has become a growing trend Along with recent advances in camera quality, users are becoming more and more demanding about the image quality and the artistry of their photographs Following that trend, the project was conducted to build core technology and develop "AI-Camera" application capable of improving image quality and style transfer
The project was implemented based on the proposal of the Software Research Department of VINSMART Research and Production Joint Stock Company In particular, the main goal of the thesis is to research and integrate AI applications on smartphone products, initially "AI-Camera"
The thesis uses the CycleGAN architecture and the U-Net convolution network to build a deep learning model Also, use the library OpenCV and Tensorflow to develop applications on smartphone
Finally, the thesis has successfully developed the application "AI-Camera" to enhance image quality and transform style for images The application could execute on VOS Initially, it has proved the practicality of the research and can develop more in the future
Student
Nguyễn Thế Ngọc
Trang 8LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã trình bày trong luận văn, các công việc được trình bày trong luận văn này do chính Tôi trực tiếp thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Tp HCM, ngày 08 tháng 12 năm 2019
Nguyễn Thế Ngọc
Trang 9MỤC LỤC
LỜI CẢM ƠN 1
TÓM TẮT LUẬN VĂN THẠC SĨ 2
ABSTRACT 3
LỜI CAM ĐOAN 4
DANH MỤC HÌNH ẢNH 7
DANH MỤC VIẾT TẮT 9
DANH MỤC BẢNG BIỂU 10
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 11
1.1 Đặt vấn đề 11
1.2 Mục đích nghiên cứu 11
1.3 Đối tượng và phạm vi nghiên cứu 12
1.4 Phương pháp nghiên cứu 12
CHƯƠNG 2: TRÍ TUỆ NHÂN TẠO TRÊN SMARTPHONE 13
2.1 Giới thiệu trí tuệ nhân tạo trên smartphone 13
2.2 Giới thiệu AI Camera 16
CHƯƠNG 3: NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH 21
TRÊN SMARTPHONE 21
3.1 Ứng dụng chỉnh sửa ảnh trên smartphone 21
3.2 Chỉnh sửa ảnh với trí tuệ nhân tạo trên smartphone 24
CHƯƠNG 4: MẠNG HỌC SÂU ỨNG DỤNG CHO 26
NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH 26
4.1 Image-to-Image Translation (I2I) 26
4.2 GANs-Generative Adversarial Networks 30
4.3 Mạng tích chập U-Net 35
CHƯƠNG 5: PHƯƠNG PHÁP ĐÁNH GIÁ ẢNH SỐ 38
5.1 Sai số trung bình-MSE 38
5.2 Tỷ số tín hiệu cực đại/nhiễu-PSNR 38
5.3 So sánh tương đồng cấu trúc-SSIM 40
CHƯƠNG 6: PHÁT TRIỂN ỨNG DỤNG TRÍ TUỆ NHÂN TẠO 41
Trang 106.1.1 Giới thiệu Tensorflow 41
6.1.2 Tensorflow trên Android Studio 43
6.2 OpenCV trên Andorid 44
CHƯƠNG 7: NỘI DUNG THỰC HIỆN 46
7.1 Khảo sát các nghiên cứu liên quan đến nâng cao chất lượng hình ảnh bằng trí tuệ nhân tạo 46
7.2 Mô hình mạng học sâu 47
7.2.1 Kiến trúc CycleGAN 47
7.2.2 Mạng tích chập U-net 49
7.2.3 Loss-function 51
7.3 Dữ liệu 54
7.3.1 Dữ liệu “source domain” 54
7.3.2 Dữ liệu “Target Domain” 56
7.3.3 Dữ liệu đánh giá 58
7.4 Phát triển ứng dụng trên Android Studio 59
CHƯƠNG 8: KẾT QUẢ THỰC HIỆN 61
8.1 Kết quả phát triển mô hình 61
8.2 Kết quả phát triển ứng dụng 67
8.2.1 Một số kết quả thực hiện ứng dụng trên VOS 77
8.3 Kết luận 80
8.4 Hướng phát triển 81
TÀI LIỆU THAM KHẢO 84
Trang 11DANH MỤC HÌNH ẢNH
Hình 2.1: Ứng dụng trợ lý ảo trên smartphone 13
Hình 2.2: Ứng dụng mở khóa bằng khuôn mặt trên smartphone 14
Hình 2.3: Chip Kirin được trang bị AI của Huawei 15
Hình 2.4: Rất nhiều tính năng AI mới được ra mắt gần đây 16
Hình 2.5: Smartphone tích hợp AI-Camera của Bphone 16
Hình 2.6: Face ID trên Iphone 17
Hình 2.7: Công nghệ làm đẹp AI 2.0 trên smartphone của Oppo F7 18
Hình 2.8: Nhận diện khung cảnh 18
Hình 2.9: Ứng dụng thực tế ảo 20
Hình 3.1: Chỉnh sửa ảnh trước lúc chia sẻ trên mạng xã hội 21
Hình 3.2: So sánh ảnh trước và sau chỉnh sửa 22
Hình 3.3: Ứng dụng chỉnh sửa ảnh Adobe Photoshop Express 22
Hình 3.4: Ứng dụng Snapseed của Google 23
Hình 3.5: AI-Camera trên điện thoại của LG 24
Hình 3.6: Ứng dụng tạo ảnh nghệ thuật với AI 25
Hình 4.1: Ứng dụng I2I cho chuyển đổi sắc thái 26
Hình 4.2: Ứng dụng I2I cho chuyển đổi mùa 27
Hình 4.3: I2I ghép đôi(trái)- I2I không ghép đôi(phải) 27
Hình 4.4: Minh họa ý tưởng của I2I 28
Hình 4.5: Minh họa phương pháp I2I ghép đôi và không ghép đôi 28
Hình 4.6: Kiến trúc của GANs 31
Hình 4.7: Nguyên lý hoạt động của GAN 31
Hình 4.8: Mô tả pg , pz , pdata 33
Hình 4.9: Huấn luyện mạng GAN 33
Hình 4.10: Kiến trúc CNNs trong bài toán nhận dạng chữ số 35
Hình 4.11: Ứng U-Net trong bài toán “image segmentation” 36
Hình 4.12: Kiến trúc encoder và decoder mạng U-Net 37
Hình 5.1: Ví dụ về PSNR 39
Hình 5.2: Ví dụ về giá trị SSIM và MSE 40
Hình 6.1: Các framework học máy phổ biến 41
Hình 6.2: Biểu đồ lượt star và repos trên github sử dụng TF 42
Hình 6.3: Kết hợp Android và Tensorflow để phát triển ứng dụng 43
Hình 6.4: Kiến trúc phát triển Tensorflow Lite 44
Hình 6.5: OpenCV trên nền tảng Android 45
Trang 12Hình 7.3: Một số ứng dụng mạng CycleGAN theo nghiên cứu [5] 48
Hình 7.4: Kiến trúc U-Net tham khảo 49
Hình 7.5: Mạng Generator xây dựng theo kiến trúc U-Net 50
Hình 7.6: Mạng Discriminator 50
Hình 7.7: Dữ liệu MIT-Adobe FiveK Dataset trên Internet 55
Hình 7.8: Một ảnh trong “target domain” của Flickr 57
Hình 7.9: Ảnh gốc-trái, ảnh MIT-C-phải 58
Hình 7.10: Ảnh gốc(trái), MIT-C(phải), PSNR=15.75 58
Hình 7.11: Phát triển ứng dụng 60
Hình 8.1: Lưu đồ giải thuật huấn luyện 61
Hình 8.2: Mạng Generator 64
Hình 8.3: Các lớp con của lớp conv-xanh dương trong mạng Generator 64
Hình 8.4: Mạng Discriminator 65
Hình 8.5: Ảnh chứa đặc tính mà người dùng thích 66
Hình 8.6: Ảnh gốc (trái), Ảnh MIT-C(phải) 66
Hình 8.7: Giải thuật trên ứng dụng 67
Hình 8.8: Giao diện ứng dụng AI-Camera 69
Hình 8.9: Ảnh 4937 lần lượt từ trái sang phải là gốc, MIT-C, nhãn 72
Hình 8.10: Ảnh 4536 lần lượt từ trái sang phải là gốc, MIT-C, nhãn 72
Hình 8.11: Ảnh 4901 lần lượt từ trái sang phải là gốc, Flickr, nhãn 73
Hình 8.12: Ảnh 4772 lần lượt từ trái sang phải là gốc, Flickr, nhãn 73
Hình 8.13: Ảnh(4937) gốc(trái), ảnh dán nhãn(phải), PSNR=13.11 74
Hình 8.14: Kết quả ảnh(4937) từ MIT-C(trái), Ảnh dán nhãn(phải), PSNR=32.59 74 Hình 8.15: Ảnh(4536) gốc(trái), ảnh dán nhãn(phải), PSNR=15.23 75
Hình 8.16: Kết quả ảnh (4536) từ MIT-C(trái), Ảnh dán nhãn(phải), PSNR=28.24 75 Hình 8.17: Ảnh MIT-C có cảm giác bị thừa sáng 82
Hình 8.18: Ảnh chân dung bị nhòe sau khi xử lý với AI 82
Trang 14DANH MỤC BẢNG BIỂU
Bảng 7.1: Tổng hợp các biến thể của GAN theo nghiên cứu số [9] 51
Bảng 7.2: So sánh các biến thể GAN đƣợc trích từ nghiên cứu số [1] 51
Bảng 8.1: Chỉ số PSNR trung bình trên bộ thử nghiệm 500 ảnh 70
Bảng 8.2: PSNR của 10 ảnh có PSNR cao nhất trên mô hình MIT-C 70
Bảng 8.3: PSNR của 10 ảnh có PSNR cao nhất trên mô hình Flickr 71
Bảng 8.4: PSNR của 10 ảnh có PSNR thấp nhất trên mô hình MIT-C và Flickr 71
Trang 15CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Trước đây, nếu như chỉ có những chiếc máy tính mới có thể giúp chúng ta chỉnh sửa hình ảnh nâng cao, nâng tông màu, chỉnh nền ảnh thì giờ đây những chiếc smartphone với nhiều cải tiến về mặt hiệu năng có thể giúp chúng ta chỉnh sửa hình ảnh ngay sau khi chụp qua các ứng dụng chỉnh sửa ảnh chuyên nghiệp
Trong đó, chụp ảnh với các smartphone và chia sẻ trên các mạng xã hội đã trở thành một trào lưu ngày càng lớn mạnh Nhằm đáp ứng xu thế đó, việc phát triển ứng dụng tích hợp trí tuệ nhân tạo nhằm nâng cao chất lượng ảnh dựa vào AI là một trong những phần mang lại giá trị cao các dòng smartphone hiện nay
Đó là lý do cơ bản để hình thành đề tài này
1.2 Mục đích nghiên cứu
Đề tài thực hiện các nhiệm vụ chính:
1 Nghiên cứu và khảo sát các phương pháp học sâu liên quan đến nâng cao chất lượng hình ảnh
2 Nghiên cứu giải pháp phát triển công nghệ lõi cho ứng dụng “AI-Camera” ban đầu là phát triển chức năng nâng cao chất lượng hình ảnh và chuyển đổi phong cách
3 Nghiên cứu phương pháp tối ưu và tích hợp các “framework” trí tuệ nhân tạo lên smartphone
4 Đánh giá kết quả thực hiện
Trang 161.3 Đối tượng và phạm vi nghiên cứu
Dữ liệu sử dụng chính trong luận văn được thu thập từ các nguồn dữ liệu mở
trên Internet và các hình ảnh cá nhân khác, được chụp từ nhiều dòng điện thoại khác
nhau
Về nội dung, luận văn chỉ nghiên cứu các phương pháp ứng dụng mạng học sâu
cho việc nâng cao chất lượng hình ảnh Trong đó, tập trung vào các ứng dụng của
mạng GAN và tích hợp các “framework” trí tuệ nhân tạo lên smatphone
Về mặt ứng dụng, luận văn nghiên cứu các phương pháp:
1 Tối ưu mô hình mạng học sâu nhằm thực thi được trên các thiết bị
smartphone
2 Tích hợp các framework trí tuệ nhân tạo như OpenCV, Tensorflow
Trang 17CHƯƠNG 2: TRÍ TUỆ NHÂN TẠO TRÊN SMARTPHONE
2.1 Giới thiệu trí tuệ nhân tạo trên smartphone
AI hay trí tuệ nhân tạo là một dạng trí thông minh với mục đích biến mọi cỗ máy có thể tự hiểu và vận hành giống cách con người sử dụng chúng Trí tuệ nhân tạo đem tới cơ hội học hỏi kiến thức mới cho máy móc Từ đó, máy móc sẽ tự học tập, suy nghĩ và phục vụ con người Đây là một trong những phát minh mang tính cách mạng trong giới công nghệ, giúp kéo theo hàng loạt các tiến bộ kỹ thuật khác, đồng thời mở ra một kỷ nguyên công nghệ mới cho nhiều ngành nghề, lĩnh vực
Hình 2.1: Ứng dụng trợ lý ảo trên smartphone
Cùng với sự phát triển không ngừng của trí tuệ nhân tạo trong thời gian trở lại đây, không chỉ có mặt trên robot hay máy tính, AI giờ đây còn được nhiều hãng sản xuất quan tâm đưa lên cả smartphone Trong đó, AI xuất hiện với các ứng dụng trợ lý ảo như Siri (iPhone) hay Google Now (Android) nhiều năm về trước
Trang 18Người dùng có thể ra lệnh cho smartphone để phục vụ các nhu cầu của mình như báo thức, tìm kiếm địa điểm, nhân diện giọng nói,… Bên cạnh đó, công nghệ
AI còn giúp cải thiện đáng kể khả năng chụp hình của điện thoại, xử lý hình ảnh, tiết kiệm điện năng, nâng cao bảo mật,…
Hình 2.2: Ứng dụng mở khóa bằng khuôn mặt trên smartphone
Ngoài việc được tích hợp vào phần mềm, trí tuệ nhân tạo còn được tích hợp
cả phần cứng trong smartphone, mà tiêu biểu là các vi xử lý Thật vậy, hầu hết các
vi xử lý hiện nay đều được tích hợp khả năng xử lý AI để có thể xử lý các thuật toán phức tạp, tăng cường hiệu năng, khả năng chụp ảnh chất lượng cao, xử lý đồ họa cũng như mang lại nhiều tính năng độc đáo trên điện thoại, ví dụ nhận diện giọng nói, nhận dạng khuôn mặt người dùng, dịch ngôn ngữ hay tìm kiếm thông tin
Các con chip được trang bị khả năng xử lý AI phổ biến trên thị trường hiện
là bộ đôi A11 Bionic và A12 Bionic của Apple, Kirin 980 của Huawei, Snapdragon
845 và mới nhất là Snapdragon 855 của Qualcomm, tạo điều kiện cho người dùng được trải nghiệm các tính năng vô cùng mới lạ và hấp dẫn
Trang 19Đơn cử là chiếc iPhone X được trang bị chipset A11 Bionic có 2 lõi để xử lý các tác vụ AI Trong khi đó, người anh em của A11 Bionic, A12 có tới 8 nhân phụ trách các tác vụ AI, có thể xử lý 5 nghìn tỷ phép tính mỗi giây, thay vì chỉ là 600 tỷ
so với AI Engine trên A11
Hình 2.3: Chip Kirin được trang bị AI của Huawei
Ngoài ra, Qualcomm cũng là một trong những nhà sản xuất chip chú trọng vào trí tuệ nhân tạo, với Snapdragon 855, hãng đã giới thiệu công cụ AI thế hệ 4, kết hợp với lõi đồ họa Adeno, Kyro và Hexagon để cung cấp năng lượng cho các tác vụ AI Nhờ vậy mà hiệu năng AI sẽ tăng gấp 3 lần so với thế hệ tiền nhiệm Bên cạnh đó, bộ xử lý Hexagon cho công cụ AI còn có thể cắt giảm tiếng ồn trong những cuộc gọi video bằng cách sử dụng thuật toán giảm tiếng ồn thời gian thực
Có thể thấy không chỉ các nhà sản xuất smartphone mà cả những hãng phần mềm và phần cứng đều rất quan tâm đến AI Trí tuệ nhân tạo có thể được xem là một nhân tố sống còn cho sự thành bại của ngành công nghiệp di động Đây sẽ tiếp tục là mục tiêu theo đuổi và cạnh tranh giữa các hãng smartphone trong tương lai
Trang 20Hình 2.4: Rất nhiều tính năng AI mới được ra mắt gần đây
2.2 Giới thiệu AI Camera
Hình 2.5: Smartphone tích hợp AI-Camera của Bphone
Cảm nhận rõ sự thay đổi AI nhất là trong ngành phát triển điện thoại di động Các mẫu máy gần đây đã có những khả năng nhận dạng giọng nói, đọc chính tả, quét vân tay, nhận diện khuôn mặt, chỉnh sửa ảnh tự động, điều khiển từ xa mới đây nhất là AI-Cam Hiện này, hầu hết các mẫu smartphone đình đám đều tích hợp thêm AI-Cam để tăng hấp dẫn đối với người tiêu dùng
Trang 21Nhắc đến AI-Camera ta có thể liệt kê ra một số tính năng nổi bật như sau:
Face ID
Face ID là công nghệ bảo mật sinh trắc học như với quét vân tay và mống mắt, dùng để nhận diện khuôn mặt người dùng thay thế hoàn toàn cho Touch ID
Hình 2.6: Face ID trên Iphone
Trong đó, nổi bật nhất là Face ID trên các dòng Iphone thế hệ mới Theo Apple xác suất để người lạ với khuôn mặt giống chúng ta có thể mở máy là khoảng 1/1.000.000 trong khi đó với Touch ID là 1/50.000
Công nghệ làm đẹp AI
AI Beauty giúp camera nhận diện tới hơn 200 điểm khác biệt trên khuôn mặt, gồm màu da, giới tính hay độ tuổi…căn chỉnh đường nét gương mặt, xóa bỏ chi tiết thừa và đem tới một gương mặt đẹp tự nhiên nhất và chủ động tự trau dồi kỹ năng
“make up” khuôn mặt cho chúng ta
Đi đầu trong lĩnh vực này có thể kể đến các dòng sản phẩm của Oppo “Hiểu bạn hơn chính bạn”
Trang 22Hình 2.7: Công nghệ làm đẹp AI 2.0 trên smartphone của Oppo F7
Với 296 điểm nhận diện và tinh chỉnh, dùng F7 selfie cũng giống việc có một chuyên gia làm đẹp ở ngay cạnh chúng ta Kể cả khi selfie với người yêu hay nhóm bạn, camera F7 cũng có thể xác định giới tính, các chàng trai sẽ trông mạnh mẽ hơn trong khi các cô nàng lại nữ tính và cuốn hút
Trang 23Hỗ trợ rất nhiều kiểu ảnh như: Hoàng hôn, Đồng cỏ, Trong nhà, Món ăn, Bầu trời, Tuyết, Đêm, Chó, Chân dung, Trẻ em, Pháo hoa, Biển, Phong cảnh, Chữ viết, Mèo, Ánh sáng sân khấu
Sticker động AR
Ngoài việc tối ưu về phần mềm thì các hãng sản xuất điện thoại cũng không quên cập nhật bổ sung nhiều tính năng mới trong đó có tính năng thực tế ảo tăng cường (Sticker AR) Đây là sự kết hợp giữa thế giới thật và ảo cho phép bạn tương tác với nội dung ảo ngay trong đời thật, có thể là chạm vào hay lồng ghép những hình ảnh lên trên
Nhờ sự tương tác mà các hãng điện thoại đã tích hợp công nghệ này vào trong camera để tạo nên những Sticker AR cực kì thú vị
Các sticker (nhãn dán) này cho phép người dùng tạo ra được những biểu tượng chat độc đáo của riêng mình, hoặc những bức ảnh có những hình ghép lạ mắt, vui nhộn
Trang 24 Giao tiếp bằng giọng nói với camera
AI Photography tự học hỏi thói quen chỉnh sửa ảnh, chụp chân dung của
người dùng để cải thiện camera
AI Display luôn mở khi bạn nhìn vào và tự động điều chỉnh nhiệt độ màu
theo môi trường
Sử dụng camera như một công cụ: nhận dạng chữ viết, đo lường, AR, VR, chọn lọc thông tin,…
Trang 25CHƯƠNG 3: NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH
TRÊN SMARTPHONE
3.1 Ứng dụng chỉnh sửa ảnh trên smartphone
Chụp ảnh với các smartphone hiện nay đã trở thành một trào lưu lớn mạnh Cùng với các cải tiến về chất lượng camera, người dùng ngày càng đòi hỏi chất lượng hình ảnh cao hơn để chia sẻ với bạn bè, như trên các mạng xã hội facebook, instagram, các kênh du lịch hay đơn giản chỉ là các hình ảnh đại diện trên các trang mạng xã hội
Hình 3.1: Chỉnh sửa ảnh trước lúc chia sẻ trên mạng xã hội
Trang 26Hình 3.2: So sánh ảnh trước và sau chỉnh sửa
Trước đây, nếu như chỉ có những chiếc máy tính mới có thể giúp chúng ta chỉnh sửa hình ảnh nâng cao, nâng tông màu, chỉnh nền ảnh thì giờ đây những chiếc smartphone với nhiều cải tiến về mặt hiệu năng có thể giúp chúng ta chỉnh sửa hình ảnh ngay sau khi chụp qua các ứng dụng chỉnh sửa ảnh chuyên nghiệp Các ứng dụng này sẽ giúp chúng ta biến những hình ảnh được chụp từ smartphone trở nên lung linh, huyền ảo hơn như chụp từ một chiếc máy ảnh chuyên nghiệp
Hình 3.3: Ứng dụng chỉnh sửa ảnh Adobe Photoshop Express
Trang 27Ví dụ, với ứng dụng Snapseed- được phát triển bởi Google, chúng ta có thể nâng cao chất lượng của hình ảnh, chuyển đổi hay chia sẻ một cách dễ dàng hơn
Hình 3.4: Ứng dụng Snapseed của Google
Một số tính năng của ứng dụng Snapseed được phát triển bởi Google:
Dễ dàng điều chỉnh hình ảnh của chúng ta với tính năng Auto Correct,
chúng ta chỉ cần chạm tay 1 lần
Tinh chỉnh hình ảnh của chúng ta để hoàn thiện hơn với Tune Image
Sử dụng chọn lọc Điều chỉnh để tăng cường đối tượng cụ thể hoặc các khu vực trong bức ảnh của chúng ta
Thử nghiệm các bộ sáng tạo cho bức ảnh của chúng ta với các bộ nền
như Bi, Vintage , Grunge , và Tilt -Shift
Trang 283.2 Chỉnh sửa ảnh với trí tuệ nhân tạo trên smartphone
Mới đây nhất, LG đã trình làng những mẫu điện thoại LG V30S ThinQ được giới thiệu có tích hợp AI-Cam Trên chiếc LG V30S ThinQ các tính năng như tự động điều chỉnh độ nét, độ tương phản, bão hòa màu đều do AI-Cam tự động nhận biết Hiện tại, có 8 loại cảnh vật chiếc V30S có thể nhận ra là: chân dung, động vật, thành phố, hoa, mặt trời mọc, mặt trời lặn, thức ăn và phong cảnh Bên cạnh đó LG cũng công bố một công cụ chụp ảnh mới là Vison A, nó giúp người dùng có các góc đặt máy tốt hơn, thiết lập các thông số khi chụp tốt hơn nhờ được tập luyện với 100 triệu bức ảnh kiểu mẫu
Hình 3.5: AI-Camera trên điện thoại của LG
Trang 29Ngoài ra, một số ứng dụng AI gần đây trên điện thoại cũng có thể giúp người dùng tạo ra các tác phẩm nghệ thuật dễ dàng Đó là những ứng dụng chỉnh sửa ảnh tạo hiệu ứng ảnh tuyệt vời biến ảnh của chúng ta thành tranh vẽ với phong cách nghệ thuật của các nghệ sĩ nổi tiếng như Van Gogh, Picasso, Salvador Dali, Lichtenstein…
Hình 3.6: Ứng dụng tạo ảnh nghệ thuật với AI
Trang 30CHƯƠNG 4: MẠNG HỌC SÂU ỨNG DỤNG CHO
NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH
4.1 Image-to-Image Translation (I2I)
Chuyển đổi I2I (Image-to-Image) là tên gọi chung của những phương pháp học
máy nhằm chuyển đổi dữ liệu từ một miền này sang một miền khác dựa trên những
dữ liệu đã được học
I2I là một trong những nghiên cứu ngày càng “hot ” trong lĩnh cực Computer Vision, khi mà các mạng Deep Learning ngày càng phát triển, đáp ứng được thiết kế nhằm học hỏi việc ánh xạ giữa 2 miền dữ liệu khác nhau I2I ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như: chuyển đổi phong cách, suy diễn đối tượng, chuyển đổi mùa, hay là tăng cường ảnh
Hình 4.1: Ứng dụng I2I cho chuyển đổi sắc thái
Trang 31Hình 4.2: Ứng dụng I2I cho chuyển đổi mùa
Hai phương pháp tiếp cận được sử dụng nhiều nhất trong I2I là:
Chuyển đổi sử dụng ghép đôi: Dữ liệu học cần phải được dán nhãn tương ứng với các đầu vào Nói cách khác thì dữ liệu vào-ra là các cặp tương ứng
Chuyển đổi không sử dụng ghép đôi: Dữ liệu học không cần dán nhãn
Hình 4.3: I2I ghép đôi(trái)- I2I không ghép đôi(phải)
Trang 32Hình 4.4: Minh họa ý tưởng của I2I
Hình 4.5: Minh họa phương pháp I2I ghép đôi và không ghép đôi
Hình trên dùng để minh họa ý tưởng của phương pháp I2I, với nhiệm vụ chính là ánh xạ dữ liệu từ “source domain” là X đến “target domain” là Y Việc ánh xạ được thực hiện dựa trên việc học dữ liệu huấn luyện với cả hai trường hợp là :
Trang 33+ Ghép đôi: { }
+ Không ghép đôi: { } và { }
Trong đó:
- và
N là số mẫu “source domain” và “target domain” dữ liệu ghép đôi
- M1 là số mẫu “source domain”, M2 là số mẫu “target domain” trong dữ liệu không ghép đôi
Mô hình gồm có:
+ Hai mạng tạo sinh G1 và G2 Trong đó, mạng G1 nhằm ánh xạ dữ liệu từ
X sang Y, G1: X -> Y, trong khi mạng G2 ánh xạ ngược từ Y sang X, G2: Y->X
+ Hai mạng phân biệt D1 và D2 Trong đó, mạng D1 nhằm phân biệt dữ liệu được tạo ra bởi mạng G1 là G1(x) và “target domain” D2 nhằm phân biệt dữ liệu tạo sinh ngược từ mạng G2 là G2(y) với “source domain”
+ Hai mạng D3 và D4, nhằm kiểm tra tính đồng nhất của dữ liệu sau khi tạo sinh:
D3: x -> G1(x) -> G2(G1(x)) ~ x, D4: y -> G2(y) -> G1(G2(y)) ~ y
Trong đó, phương pháp ghép đôi rất khó để thực hiện khi yêu cầu sự ràng buộc tương ứng giữa các cặp dữ liệu Và nguồn dữ liệu cho phương pháp này thường rất ít
Trang 344.2 GANs-Generative Adversarial Networks
Neural Network đã tạo ra một bước tiến vượt bậc, cung cấp khả năng nhận diện hình ảnh và âm thanh ở một cấp độ có thể so sánh với con người Cùng với đó
là việc hiểu được ngôn ngữ tự nhiên với độ chính xác khá tốt
Các model sử dụng Neural Network trước đây có thể ngay lập tức nhận dạng một chú mèo trong một bức ảnh, thông qua việc học và phân tích hàng trăm, thậm chí hàng ngàn, chục ngàn bức ảnh về loài mèo Nhưng các bức ảnh đó không thể sử dụng làm tập dữ liệu huấn luyện nếu không có sự dán nhãn, phân chia từng bức ảnh một cách tỉ mỉ của con người Điều này rất tốn thời gian và công sức
Và GANs (Mạng chống đối tạo sinh) được sinh ra với kỳ vọng tạo ra được những hệ thống có độ chính xác cao mà cần ít hoạt động của con người trong khâu huấn luyện Và những nghiên cứu về GANs là một trong những nội dung “hot” nhất của Deep Learning trong những năm gần đây
GANs là một thuật toán học không giám sát (Unsupersived Learning) được Ian Goodfellow giới thiệu vào năm 2014 tại hội nghị NIPS, trong đó bao gồm hai thành
phần chính là Generator và Discriminator
Generator (ký hiệu G) nhận nhiệm vụ học ra cách ánh xạ từ một không gian
tìm ẩn Z(a latent space) vào một không gian với phân phối từ dữ liệu cho trước
Discriminator (ký hiệu D) nhận nhiệm vụ phân biệt dữ liệu được tạo ra
từ G và dữ liệu cho trước
Trang 35Hình 4.6: Kiến trúc của GANs
Hình 4.7: Nguyên lý hoạt động của GAN
Trang 36Theo công bố của Ian Goodfellow về Generative Adversarial Nets [3], ta
có thể trình bày những nội dung cơ bản về mạng GAN như sau:
G(z)-Generator lấy một một đầu vào và cố gắng ánh xạ sang miền X Như
mô tả ở hình trên, G(z) lấy input z từ pz(z), với z là một “sample” thuộc phân phối xác xuất p(z), được sinh ngẫu nhiên từ “latent space’, sau đó gán thêm nhiễu (noise) “sample” sinh ra từ G(z) được đưa vào mạng Discriminator Network D(x) Công việc của Discriminator network là lấy dữ liệu từ tập train (real sample) và sample được sinh ra từ G (generated sample) và xác định xem “sample” sai khác như thế nào đối với “real sample” x được lấy từ phân phối xác suất pdata(x)
D(x) xử lý vấn đề binary classification bằng cách sử dụng hàm sigmoid, trả
về kết quả khoảng từ 0 đến 1, với xác suất đầu ra càng cao thì khả năng sample đó càng giống thật (sample lấy từ tập data) càng lớn, và ngược lại
Do đó, D được huấn luyện để tối đa xác suất gán đúng nhãn cho sample, đồng thời G lại được huấn luyện để tối thiểu khả năng phát hiện của D, tương đương tối thiểu log(1 D G z( ( ))) Mối tương quan giữa D và G, được biễu diễn bằng công thức sau:
Trang 37Hình 4.8: Mô tả p g , p z , p data
Hình 4.9: Huấn luyện mạng GAN
Quá trình huấn luyện của mạng GAN đƣợc chia thành 2 phần:
1 Huấn luyện mạng Discriminator
Quá trình huấn luyện mạng D, thì ta sẽ cố định mạng Generator, tức là chỉ backpropagation cho mạng D, còn mạng G chỉ feed-forward
Trang 38Sử dụng “stochastic gradient” để cập nhật trọng số của mạng D bằng cách cộng thêm một lƣợng:
1
1log ( ) log(1 ( ( )))
2 Huấn luyện mạng Generator
Quá trình huấn luyện mạng G, thì ta sẽ cố định mạng Discriminator, tức là chỉ backpropagation cho mạng G, còn mạng D chỉ feed-forward
Sử dụng “stochastic gradient” để cập nhật trọng số của mạng G bằng cách trừ
đy một lƣợng:
( )
1
1log(1 ( ( )))
Cụ thể, thuật toán huấn luyện đƣợc mô tả trong nghiên cứu số [3] nhƣ sau:
For number of training iterations do
For k steps do
Sample minibatch of m noise samples {z(1), …, z(m)
} from noise prior pg(z)
Sample minibatch of m examples {x(1), …, x(m)
} from data generationg distribution pdata(x)
Update the discriminator by ascending its stochastic gradient:
1
1 log ( ) log(1 ( ( )))
1 log(1 ( ( )))
g
m
i i
D G z m
End for
Trang 39Qua thời gian, ngày càng nhiều biến thể của GAN ra đời nhằm giải quyết nhiều ứng dụng cụ thể hơn như GAN, LSGAN, DRGAN, WGAN-GP… làm cho mạng GAN ngày càng hoàn thiện hơn và trở thành một trong những chủ đề nghiên cứu
“hot” liên quan đến mạng học sâu trong vài năm trở lại đây
4.3 Mạng tích chập U-Net
Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong những mô hình học sâu tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như các hệ thống xử lý ảnh lớn được phát triển bởi Facebook, Google hay Amazon cho các ứng dụng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động
CNN được sử dụng nhiều trong các bài toán nhận dạng các đối tượng trong ảnh, chúng có thể học được cách phân loại các hình ảnh thậm chí còn tốt hơn con người trong một số trường hợp
Hình 4.10: Kiến trúc CNNs trong bài toán nhận dạng chữ số
Tuy nhiên, nhược điểm lớn nhất của CNNs đó là sự hạn chế về kích thước của các dữ liệu vào-ra Khi đầu vào là các ảnh có kích thước lớn, thì thời gian xử lý
Trang 40giản và không quá quan tâm tới từng các pixel.Nên CNNs chỉ thường được dùng ở các bài toán nhận dạng đối tượng
Nhưng đối với bài toán nâng cao chất lượng ảnh, thì yêu cầu đầu tiên là ảnh đầu vào và ra phải có kích thước giống nhau, và thường là các ảnh có kích thước lớn, để có thể giữ được tính toàn vẹn của ảnh Và sự ra đời của mạng U-Net đã giúp giải quyết được những bài toán này
Hình 4.11: Ứng U-Net trong bài toán “image segmentation”
Mạng U-Net là một mạng được xây dựng dựa trên kiến trúc CNNs với những
sửa đổi và mở rộng, được phát triển bởi Olaf Ronneberger [7], được ứng dụng cho
bài toán “image segmentation” trong y học Kiến trúc cơ bản có 2 phần đối xứng nhau được gọi là encoder và decoder