Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
1,84 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT HÀN Khoa Khoa Học Máy Tính BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHỈNH SỬA ẢNH Sinh viên thực : Huỳnh Văn Niên – 18IT2 Giảng viên hướng dẫn: TS Nguyễn Đức Hiển Đà Nẵng, tháng năm 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHỈNH SỬA ẢNH Đà Nẵng, tháng năm 2021 Lời mở đầu Cùng với phát triển không ngừng công nghệ thông tin, sản phẩm điện thoại thông minh đời, thiết bị di động điện thoại, máy tính bảng, máy nghe nhạc, selfie ngày phát triển mạnh mẽ, tạo nên cạnh tranh hãng phát triển di động Ngày nhiều sản phẩm di động thông minh đời nâng cấp cải thiện lớn hiệu suất cấu hình cao đáp ứng nhu cầu người sử dụng Bên cạnh chức quan trọng smartphone, chức khơng thể thiếu camera chụp ảnh, để lưu trữ lại kỷ niệm đẹp, khoảnh khắc ý nghĩa Những smartphone ngày cải thiện tính lẫn chất lượng phần cứng, camera điện thoại ngày hoàn thiện hơn, áp dụng công nghệ xử lý ảnh tiên tiến ảnh đẹp trân thực nhất, đáp ứng nhu cầu chụp ảnh, selfie với chất lượng hình ảnh cao Tuy nhiên, camera mặc định điện thoại thường cho hình ảnh thơ khơng làm hài lịng người sử dụng, họ muốn biến ảnh bật sau chụp trở nên lung linh sắc nét hơn, với hiệu ứng biến đổi màu sắc, hiệu ứng khung ảnh, làm cho ảnh trở nên khác biệt Và họ cần ứng dụng khác biệt thay ứng dụng mặc định mà hệ điều hành cung cấp tùy chỉnh ảnh sau chụp theo sở thích người Bởi trước nhu cầu lợi đó, em định nghiên cứu xây dựng ứng dụng: “Xây dựng ứng dụng chỉnh sửa ảnh” Ứng dụng cho phép người chỉnh sửa hiệu ứng, biển đổi tăng sáng tối cho ảnh, tạo style, thêm text sticker ngộ nghĩnh cho ảnh Bên cạnh sau xử lý ảnh xong, người dùng sử dụng tính phát dịch chữ ảnh, thêm ảnh vào cho sinh động Đồ án sở Huỳnh Văn Niên - 18IT2 Lời cảm ơn Để hoàn thành tốt đề tài đồ án lần này, nỗ lực thân, em nhận quan tâm giúp đỡ nhiều tập thể cá nhân Trước hết, em xin gửi tới toàn thể thầy, cô giáo Đại học Công nghệ thông tin Truyền thông – Đại học Đà Nẵng lời cảm ơn chân thành Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc tới Giáo viên hướng dẫn – TS Nguyễn Đức Hiển tận tâm hướng dẫn em suốt q trình thực tập hồn thiện đề tài Qua đây, em xin chân thành cảm ơn ban lãnh đạo thầy giáo hướng dẫn bạn bè tạo điều kiện thuận lợi có kiến thức thực tế cần thiết Cuối em kính chúc quý thầy, cô dồi sức khỏe thành công nghiệp, đạt nhiều thành công tốt đẹp Đồ án sở Huỳnh Văn Niên - 18IT2 MỤC LỤC Chương 1.1 1.2 1.3 Giới thiệu Tổng quan Mục tiêu Các chức dự kiến: Chương Cơ sở lý thuyết công cụ 2.1 Tổng quan xử lý ảnh 2.1.1 Xử lý ảnh gì? .4 2.1.2 Một số định nghĩa liên quan 2.1.3 Bộ lọc (Image Filtering) android 2.2 Nhận diện ký tự (OCR) 2.2.1 Định nghĩa .7 2.2.2 Cách thức nhận diện ký tự .8 2.2.3 Tesseract OCR 2.3 Firebase ML Kit 10 2.3.1 Firebase ML Kit gì? 10 2.3.2 Các tính ML Kit .10 2.3.3 Firebase Translation API .10 2.4 IDE ngơn ngữ lập trình 11 Chương Phân tích thiết kế hệ thống 12 3.1 Phân tích tốn 12 3.1.1 Yêu cầu chức ứng dụng 12 3.1.2 Yêu cầu phi chức 12 3.1.3 Phương pháp 12 3.2 Phân tích thiết kế hệ thống 13 3.2.1 Biều đồ Usecase tổng quan 13 3.2.2 Biểu đồ hoạt động 13 Chương Kết xây dựng ứng dụng .16 4.1 Triển khai thư viện .16 4.2 Giao diện hình 17 4.3 Chức ứng dụng 18 4.3.1 Chức filter .18 4.3.2 Chức Edit: .19 4.3.3 Chức Crop .20 4.3.4 Chức nhận diện dịch chữ 20 4.3.5 Các chức khác .21 Chương 5.1 5.2 5.3 Kết luận hướng phát triển 22 Ưu điểm .22 Hạn chế 22 Hướng phát triển 22 Tài liệu tham khảo 23 Đồ án sở Huỳnh Văn Niên - 18IT2 DANH MỤC CÁC BIỂU ĐỒ Biểu đồ 1: Biểu đồ usecase .13 Biểu đồ 2: Biểu đồ hoạt động chọn ảnh 14 Biểu đồ 3: Biểu đồ hoạt động lọc 14 Biểu đồ 4: Biểu đồ hoạt động chức dịch 15 Đồ án sở Huỳnh Văn Niên - 18IT2 DANH MỤC HÌNH Hình Quá trình xử lý ảnh Hình Một số định nghĩa liên quan ảnh số Hình Nguyên tắc hoạt động lọc Hình Cách thức hoạt động củaTesseract OCR Hình Bố cục giao diện hình 17 Hình Chức filter 18 Hình Chức điều chỉnh thuộc tính ảnh 19 Hình Chức Crop 20 Hình Chức nhận diện dịch chữ 20 Hình 10 Chức khác 21 Đồ án sở Huỳnh Văn Niên - 18IT2 DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Viết tắt Artificial intelligence (Trí tuệ nhân tạo) AI Optical Character Recognition (Nhận diện ký tự quang học) Hệ màu (red, green, blue) Application Programming Interface (Phương thức trung gian kết nối ứng dụng thư viện khác nhau.) Software Development Kit (nền tảng Đồ án sở phát triển ứng dụng) OCR RGB API SDK Huỳnh Văn Niên - 18IT2 Chương Giới thiệu 1.1 Tổng quan Ngày nay, chất lượng sống ngày cải thiện người ta quan tâm nhiều đến giá trị tinh thần Vì khoảnh khắc vui tươi hạnh phúc, hình ảnh ấn tượng ngày ln khiến mong muốn giữ lại Bên cạnh đó, phát triển Internet mạng xã hội Facebook, Twitter, Instagram nơi để người trao đổi chia sẻ suy nghĩ điều họ thấy sống hình ảnh trở thành thứ tuyệt vời để thể hoạt động Cùng với đời dịng điện thoại thơng minh với camera ngày tân tiến thúc đẩy mạnh mẽ nhà phát triển ứng dụng ngày tập trung nhiều vào việc sáng tạo ứng dụng chỉnh sửa ảnh Trên sở trên, đồ án lần em xây dựng ứng dụng chỉnh sửa ảnh android nhằm cụ thể hóa chức để mang lại hình ảnh đẹp cho người sử dụng Đồng thời tích hợp với khả nhận diện phát chữ ảnh đồng thời dịch ngơn ngữ sang ngơn ngữ dịch 1.2 Mục tiêu Xây dựng thành công ứng dụng giúp cho người sử dụng dễ dàng sử dụng chức để làm ảnh trở nên đẹp sống động 1.3 Các chức dự kiến: - Đọc lưu ảnh - Đảo chiều hình ảnh - Thay đổi độ tương phản, sáng tối - Thay đổi kích thước - Cắt ảnh - Tạo lớp phủ cho hình ảnh - Ghép ảnh - Bổ sung chức khác: Tải ảnh từ thư viện chụp ảnh trực tiếp từ camera để dịch chữ Tiếng anh (nếu có) hình ảnh thành tiếng Việt Thêm sticker, biểu tượng vào hình ảnh… Ứng dụng chỉnh sửa ảnh Tesseract có hỗ trợ Unicode (UTF-8) nhận 100 ngơn ngữ “độc lập” sử dụng để xây dựng phần mềm quét ngôn ngữ khác Phiên Tesseract Tesseract Nó bổ sung cơng cụ OCR dựa mạng thần kinh (LSTM) tập trung vào nhận dạng dòng hỗ trợ công cụ Tesseract OCR kế thừa hoạt động cách nhận dạng mẫu ký tự Cách thức hoạt động Tesseract OCR Để từ hình ảnh đến hồn thành, OCR trải qua loạt bước: Xử lý trước liệu hình ảnh, ví dụ: chuyển đổi sang thang màu xám, làm mịn, khử lệch, lọc Phát dòng, từ ký tự Đưa danh sách ký tự ứng cử viên xếp hạng dựa tập liệu đào tạo (ở phương thức setDataPath () sử dụng để thiết lập đường dẫn liệu huấn luyện) Đăng ký tự nhận dạng quy trình, chọn ký tự tốt dựa độ tin cậy từ liệu ngôn ngữ Dữ liệu ngôn ngữ bao gồm từ điển, quy tắc ngữ pháp, v.v Vào cuối trình OCR, ký tự chuyển đổi thành ASCII mã tương tự Trong hệ thống này, chữ biểu diễn số nhị phân bit khác Hình Cách thức hoạt động củaTesseract OCR Ứng dụng chỉnh sửa ảnh Quá trình OCR nhiều bước phân tích cấu trúc văn bản, tách dạng, tách kí tự, kiểm tra ngữ nghĩa để tăng độ xác… bước sở mà chương trình OCR phải thực nhận dạng kí tự (đơn lẻ) Trong thời gian hạn hẹp đồ án môn học em sử dụng model train trí tuệ nhân tạo nhằm phân tích kí tự 2.3 Firebase ML Kit 2.3.1 Firebase ML Kit gì? Firebase ML Kit SDK di động cho phép nhà phát triển ứng dụng Android iOS Nó bao gồm công nghệ ML Google, chẳng hạn API Google Cloud Vision, TensorFlow Lite API mạng thần kinh Android SDK cho phép bạn áp dụng kỹ thuật ML cho ứng dụng cách dễ dàng Các API chạy thiết bị đám mây API thiết bị xử lý liệu bạn cách nhanh chóng hoạt động khơng có kết nối mạng Các API dựa đám mây tận dụng sức mạnh cơng nghệ machine learning Google Cloud Platform để mang đến cho bạn mức độ xác cao 2.3.2 Các tính ML Kit Hiện ML Kit cung cấp API sở custom model support - Text recognition (nhận dạng văn bản) - Image labeling (ghi nhãn hình ảnh) - Barcode scanning (quét mã vạch) - Face detection (nhận diện khuôn mặt) - Landmark recognition (nhận diện mốc) Trong tương lai gần, ML Kit cho mắt thêm API đáng mong đợi High density contour Smart reply API -> cung cấp cho ta đoạn văn phù hợp với ngữ cảnh 2.3.3 Firebase Translation API Với ML Kit sử dụng API translation , bạn dịch động văn 50 ngơn ngữ Các khả chính: Ứng dụng chỉnh sửa ảnh 10 - Hỗ trợ ngôn ngữ rộng: dịch 50 ngôn ngữ khác - Các model translation chứng nhận: hỗ trợ mơ hình tương tự sử dụng chế độ ngoại tuyến ứng dụng Google Dịch - Quản lý mơ hình động: giữ cho yêu cầu lưu trữ thiết bị mức thấp cách tải xuống quản lý động gói ngơn ngữ - Chạy thiết bị: dịch thực nhanh chóng khơng u cầu bạn gửi văn người dùng đến máy chủ từ xa 2.4 IDE ngơn ngữ lập trình - Android Studio: phần mềm bao gồm công cụ khác dùng để phát triển ứng dụng chạy thiết bị sử dụng hệ điều hành Android loại điện thoại smartphone, tablet Android Studio phù hợp với việc phát triển ứng dụng dành cho người - Ngôn ngữ Java: Sử dụng Java việc phát triển giao diện chức cho ứng dụng Ứng dụng chỉnh sửa ảnh 11 Chương 3.1 Phân tích thiết kế hệ thống Phân tích tốn Ứng dụng chỉnh sửa ảnh dạng ứng dụng phổ biến tảng di động Ứng dụng cho phép người dùng chỉnh sửa thuộc tính hình ảnh kích thước, cắt ảnh, xoay ảnh, chèn ảnh Nói cách đơn giản, ứng dụng cho phép biến đổi ảnh thành ảnh đẹp thông qua lọc tích hợp thư viện 3.1.1 Yêu cầu chức ứng dụng Xây dựng ứng dụng cho phép người dùng tải ảnh lên để thao tác chức ảnh: - Bộ lọc làm đẹp ảnh - Điều chỉnh độ tương phản, sáng tối độ bão hịa màu sắc - Cho phép tơ màu brush ảnh - Thêm chữ, biểu tượng emoji hay ảnh - Điều chỉnh kích thước - Tính bổ sung: Nhận diện chữ Tiếng anh ảnh dịch sang tiếng Việt 3.1.2 Yêu cầu phi chức - Bố cục giao diện ứng dụng rõ ràng, tương thích với thiết bị di động khác Các chức hiển thị trực quan, dễ thao tác - Có thể hoạt động ngoại tuyến - Ít lỗi, tránh tượng ứng dụng crash 3.1.3 Phương pháp - Tìm hiểu thuật tốn xử lí ảnh - Tìm hiểu IDE, ngơn ngữ sử dụng - Tìm hiểu tham khảo số ứng dụng có chức có sẵn - Thiết kế hệ thống chương trình - Xây dựng giao diện ứng dụng - Xây dựng chức - Kiểm thử chức Ứng dụng chỉnh sửa ảnh 12 3.2 Phân tích thiết kế hệ thống 3.2.1 Biều đồ Usecase tổng quan Biểu đồ 1: Biểu đồ usecase 3.2.2 Biểu đồ hoạt động Ứng dụng chỉnh sửa ảnh 13 Biểu đồ 2: Biểu đồ hoạt động chọn ảnh Biểu đồ 3: Biểu đồ hoạt động lọc Ứng dụng chỉnh sửa ảnh 14 Biểu đồ 4: Biểu đồ hoạt động chức dịch Ứng dụng chỉnh sửa ảnh 15 Chương Kết xây dựng ứng dụng 4.1 Triển khai thư viện Triển khai thư viện cần thiết: - Thư viện chỉnh sửa ảnh Photoeditor implementation 'com.burhanrashid52:photoeditor:0.4.0' - Thư viện Tesseract chứa tess-two module để thực nhận diện kí tự, đồng thời tải file liệu xử lý ngôn ngữ: https://github.com/tesseract-ocr/tessdata/tree/3.04.00 implementation 'com.rmtheis:tess-two:9.1.0' - Thư viện dịch văn implementation 'com.google.firebase:firebase-ml-natural- language:22.0.0' implementation 'com.google.firebase:firebase-ml-natural-language-translatemodel:20.0.8' Ứng dụng chỉnh sửa ảnh 16 4.2 Giao diện hình Hình Bố cục giao diện hình Giao diện phân bổ với thành phần: menu, hình ảnh xử lý, thao tác mở ảnh gallery hay camera, chức dịch chữ ảnh chức làm đẹp ảnh bố trí - Có thể mở ảnh cách: thứ mở ảnh gallery chứa ảnh nằm thư mục mở ảnh camera - Để lưu lại ảnh, nhấp vào icon save menu phía hình, ảnh lưu thư mục Pictures - Các nút undo, redo sử dụng để hoàn tác hay phục hồi hành động chỉnh sửa ảnh trước Ứng dụng chỉnh sửa ảnh 17 4.3 Chức ứng dụng 4.3.1 Chức filter Hình Chức filter Chức filter cung cấp 23 lọc khác để dễ dàng chọn lựa, chọn lọc mong muốn, loại có hiệu ứng khác đem lại ảnh chất lượng Ứng dụng chỉnh sửa ảnh 18 4.3.2 Chức Edit: Hình Chức điều chỉnh thuộc tính ảnh Edit chức thay đổi thuộc tính ảnh: - BRIGHTNESS: mặc định độ sáng ảnh 100, tùy chỉnh từ mức 0200, cao sáng ngược lại - CONSTRAST: mặc định độ tương phản điều chỉnh mức 0-20, giá trị cao màu sắc tương phản - SATURATION: mặc định độ bão hòa màu sắc 10, giới hạn 30, giá trị thấp giá trị màu biến trở thành ảnh xám, ngược lại lên cao thẫm Ứng dụng chỉnh sửa ảnh 19 4.3.3 Chức Crop Hình Chức Crop Chức crop bao gồm cắt ảnh thay đổi chiều ảnh - Cắt ảnh bao gồm tính chia khung theo tỷ lệ 1:1, 3:4, 3:2 16:9 Ngồi tùy chỉnh tỷ lệ cách thay đổi thông số nút tùy chỉnh - Tùy chọn xoay ảnh xoay 90o kể bên trái hay bên phải, việc kéo độ xoay với giá trị dao động từ -90o - 90o 4.3.4 Chức nhận diện dịch chữ Hình Chức nhận diện dịch chữ Để sử dụng tính này, việc chọn ảnh có chữ tiếng anh, việc lại hệ thống tự động nhận diện dịch sang tiếng Việt cách nhanh chóng Ứng dụng chỉnh sửa ảnh 20 4.3.5 Các chức khác Nhằm giúp cho ảnh trở nên sinh động ta sử dụng chức khác thêm chữ, thêm biểu tượng, thêm ảnh tơ màu Hình 10 Chức khác Ứng dụng chỉnh sửa ảnh 21 Chương Kết luận hướng phát triển 5.1 Ưu điểm - Giao diện chương trình đơn giản, dễ sử dụng Các chức sử dụng tốt, đáp ứng yêu cầu Chương trình dung lượng nhẹ, chạy tốt nhiều thiết bị 5.2 Hạn chế - Chưa tối ưu hóa phát huy tối đa chức mà chương trình mang lại Còn nhiều chức chưa phát triển, đơi xảy lỗi Các chức ứng dụng chưa thực ăn khớp với Quá trình thực tốn nhiều thời gian dự kiến Việc lên kế hoạch chuẩn bị nghiên cứu khơng rõ ràng khiến cho việc tìm hiểu phát triển gặp nhiều khó khăn 5.3 Hướng phát triển Về ứng dụng: - Phát triển ứng dụng chạy hai hệ điều hành IOS - Android - Ứng dụng tương thích với thiết bị tốt hơn, hoạt động mượt mà - Khắc phục lỗi xảy chương trình - Xây dựng số tính dịch đa ngơn ngữ, chức nhận diện vật phẩm ảnh, phân tích … Về thân: - Học hỏi thêm kiến thức AI, xử lí hình ảnh, - Học hỏi thêm kiến thức lập trình di động web back-end để phục vụ cho mục đích phát triển đam mê thân - Tìm tịi học hỏi thêm ngôn ngữ, framework, công nghệ Ứng dụng chỉnh sửa ảnh 22 Tài liệu tham khảo Christophoros Nikou - Digital Image Processing Rafael C Gonzalez • Richard E Woods - Digital Image Processing ( FOURTH EDITION -2018) Burhanrashid52 (Product Hunt Badge) – Photoeditor: https://github.com/burhanrashid52/PhotoEditor Firebase Translation : https://firebase.google.com/docs/ml-kit/android/translatetext Stackoverflow: Được thành lập vào năm 2008, tảng Stack Overflow gần tất người viết code sử dụng để học hỏi, chia sẻ kiến thức, cộng tác xây dựng nghiệp họ Trang web: https://stackoverflow.com/ Ứng dụng chỉnh sửa ảnh 23