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

Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate

39 2 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 đề Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Tác giả Nguyễn Văn Linh, Hồng Gia Hy
Người hướng dẫn Huỳnh Hồ Mộng Trinh
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Học Máy Tính & Công Nghệ Thông Tin
Thể loại Đề tài tốt nghiệp
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 39
Dung lượng 1,6 MB

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

Cấu trúc

  • Chương 1 TỔNG QUAN VỀ ĐỀ TÀI (9)
    • 1.1 Giới thiệu về đề tài (9)
      • 1.1.1 Sự tiện lợi của công cụ dịch thuật và lí do chọn đề tài (9)
    • 1.2 Khảo sát các ứng dụng hỗ trợ dịch manga hiện nay (9)
    • 1.3 Đối tượng nghiên cứu (11)
  • Chương 2 CƠ SỞ LÝ THUYẾT (12)
    • 2.1 React JS (12)
    • 2.2 Typescript (13)
    • 2.3 Python (14)
    • 2.4 OpenCV (15)
    • 2.5 EasyOCR (16)
    • 2.6 Google Cloud Translation (17)
  • Chương 3 PHÂN TÍCH HỆ THỐNG (19)
    • 3.1 Tổng quan hệ thống (19)
    • 3.2 Sơ đồ UseCase (19)
      • 3.2.1 Danh sách actor (20)
      • 3.2.2 Danh sách các Use-case (20)
    • 3.3 Đặc tả Use Case (21)
    • 3.4 Sơ đồ Activity (24)
  • Chương 4 HIỆN THỰC HỆ THỐNG (25)
    • 4.1 Quá trình hệ thống hoạt động (25)
      • 4.1.1 Cách thức lấy và xóa văn bản ra khỏi ảnh (25)
      • 4.1.2 Dịch văn bản đã được xác định từ ảnh (30)
    • 4.2 Giao diện hệ thống (31)
      • 4.2.1 Màn hình bắt đầu (31)
      • 4.2.2 Màn hình xử lý (33)
  • Chương 5 Kết luận (38)
    • 5.1 Ưu điểm (38)
    • 5.2 Nhược điểm (38)
    • 5.3 Hướng phát triển trong tương lai (38)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

Giới thiệu về đề tài

1.1.1 Sự tiện lợi của công cụ dịch thuật và lí do chọn đề tài:

Trong thời đại quốc tế hóa, nhu cầu tiếp cận tài liệu và phương tiện giải trí bằng ngôn ngữ nước ngoài ngày càng tăng Tuy nhiên, với sự phát triển của công nghệ 4.0, người dùng không còn lo lắng về rào cản ngôn ngữ nhờ vào các công cụ dịch thuật tiện lợi Chỉ cần một bức ảnh, chẳng hạn như một trang manga, và một thiết bị kết nối internet, người dùng có thể dễ dàng hiểu nội dung mà không cần biết ngôn ngữ gốc.

Một số ưu điểm của việc dịch manga trực tuyến có thể kể đến như sau:

Người dùng có thể dễ dàng truy cập nội dung trong bức ảnh chỉ với một chiếc điện thoại di động hoặc laptop và thực hiện vài thao tác đơn giản.

- Tiện lợi: Có thể thay thế cho việc sử dụng từ điển để dò và dịch một cách thủ công

Với tiềm năng và tính tiện dụng nổi bật, chúng tôi quyết định phát triển một ứng dụng nhằm cải thiện trải nghiệm đọc manga, giúp người dùng dễ dàng tiếp cận và thưởng thức thể loại này hơn.

Khảo sát các ứng dụng hỗ trợ dịch manga hiện nay

Hiện nay, một số trang web dịch thuật nổi bật như IchigoReader và Cotrans thu hút sự chú ý nhờ giao diện thân thiện và chức năng tương đồng Tuy nhiên, các trang web này cũng tồn tại nhược điểm là có những tính năng không cần thiết, cần được lược bỏ để mang lại sự đơn giản và tiện lợi cho người dùng, đồng thời không hoàn toàn miễn phí.

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

Người dùng có nhu cầu dịch ảnh, manga

CƠ SỞ LÝ THUYẾT

React JS

ReactJS, một thư viện JavaScript mã nguồn mở do Facebook phát triển và ra mắt vào năm 2013, cho phép xây dựng các tương tác với các thành phần trên website Điểm nổi bật của ReactJS là khả năng render dữ liệu không chỉ trên tầng Server mà còn trên Client, mang lại hiệu suất và trải nghiệm người dùng tốt hơn.

ReactJS là thư viện JavaScript hỗ trợ các lập trình viên trong việc phát triển giao diện người dùng (UI) Trong lập trình ứng dụng front-end, các nhà phát triển chủ yếu tập trung vào hai yếu tố chính: thiết kế UI và xử lý tương tác của người dùng.

Các ưu điểm chính của React JS đối với phát triển UI:

● Phát triển ứng dụng di động

Typescript

TypeScript là một ngôn ngữ mã nguồn mở có liên quan đến JavaScript, được thiết kế nhằm hỗ trợ phát triển các dự án ứng dụng quy mô lớn và phức tạp.

TypeScript là phiên bản nâng cao của JavaScript, cung cấp nhiều chức năng tiện lợi và cải tiến, khắc phục các điểm yếu của JavaScript như hỗ trợ lớp hướng đối tượng và kiểu tĩnh Ngoài ra, TypeScript còn tương thích tốt với các ứng dụng sử dụng Angular2 và Node.js.

● Thao tác nhanh chóng và đơn giản

● Giảm tỷ lệ mắc lỗi hệ thống

● Hợp nhất mã đơn giản

● Hỗ trợ tối ưu hóa quy trình làm việc

Python

Python là ngôn ngữ lập trình phổ biến trong phát triển ứng dụng web, phần mềm, khoa học dữ liệu và máy học Với tính hiệu quả, dễ học và khả năng chạy trên nhiều nền tảng, Python thu hút nhiều nhà phát triển Phần mềm Python miễn phí, tích hợp tốt với các hệ thống khác nhau và giúp tăng tốc độ phát triển dự án.

Python có thể được xem là một ngôn ngữ có độ phổ biến cao trong ngành lập trình, nhờ vào những điểm nổi bật sau:

● Có cấu trúc code dễ đọc và dễ hiểu, dù là người mới bắt đầu

● Có tính ứng dụng rộng rãi

● Tốc độ xử lý của Python nhanh hơn PHP

● Cho phép các lập trình viên thực hiện sửa lỗi các đoạn mã một cách trực tiếp

● Sở hữu lượng lớn các khối cơ sở dữ liệu, phục vụ hiệu quả cho các chương trình mang tính thương mại

● Nhờ có tính năng đơn giản, nên việc bảo trì các chương trình được tạo ra bởi Python cũng khá đơn giản và nhanh chóng

● Chứa GUI programming hỗ trợ việc hiển thị ảnh minh họa một cách sống động và chân thật

● Khi sử dụng Python, các lập trình viên có thể thoải mải thêm và tùy chỉnh các công cụ, để có thể tối đa hiệu quả trong công việc.

OpenCV

OpenCV, viết tắt của open source computer vision library, là một thư viện mã nguồn mở dành cho máy tính, chuyên về xử lý hình ảnh và phát triển ứng dụng đồ họa thời gian thực.

OpenCV giúp tăng tốc độ xử lý của CPU trong các tác vụ thời gian thực, đồng thời cung cấp nhiều mã nguồn cho các quy trình thị giác máy tính và các ứng dụng học máy khác.

OpenCV là phần mềm đa nhiệm với nhiều ứng dụng khác nhau, đặc biệt trong lĩnh vực định vị và bản đồ Nó cho phép người dùng tìm đường, tra cứu tình hình giao thông và xem xét hình ảnh thực tế một cách hiệu quả.

OpenCV đóng vai trò quan trọng trong việc cung cấp dữ liệu hình ảnh cho các ứng dụng bản đồ, giúp người dùng có được hình ảnh rõ nét về đường phố, nhà cửa và con người xung quanh địa điểm được chỉ định.

OpenCV là công cụ quan trọng trong việc tạo ra hình ảnh 3 chiều phức tạp, đặc biệt trong thời đại trí tuệ nhân tạo đang phát triển mạnh mẽ Công nghệ này không thể thiếu trong các ứng dụng hiện đại như robot, xe tự lái và bảng cảm ứng thông minh, nhờ vào khả năng xử lý hình ảnh vượt trội Một ví dụ thực tế dễ thấy là hệ thống mở khóa điện thoại qua nhận diện khuôn mặt người dùng, cho thấy vai trò quan trọng của OpenCV trong cuộc sống hàng ngày.

EasyOCR

EasyOCR là một thư viện Python hỗ trợ Nhận dạng Ký tự Quang học (OCR), giúp người dùng dễ dàng trích xuất văn bản từ hình ảnh và tài liệu quét.

Khi phải xử lý hình ảnh văn bản không thể chỉnh sửa, tệp PDF và bản in giấy, bạn sẽ tốn nhiều thời gian và công sức Giải pháp OCR có thể giúp bạn nhanh chóng trích xuất văn bản từ các tài liệu này, thay vì làm thủ công Sử dụng OCR không chỉ tiết kiệm thời gian mà còn tăng hiệu quả công việc và giảm thiểu lỗi do con người.

Hình 2.5: Minh hoạ cách lấy chữ của EasyOCR

Các ưu điểm của EasyOCR:

● Xử lý tài liệu dễ dàng và nhanh chóng

● Giảm khối lượng công việc của nhân viên

● Thân thiện với môi trường- Khi đọc văn bản từ tài liệu và xử lý chúng, nó sẽ giảm việc sử dụng giấy và tiết kiệm giấy.

Google Cloud Translation

Google Cloud Translation API là dịch vụ dịch thuật linh hoạt, sử dụng mô hình máy học tiên tiến của Google API này có khả năng mở rộng cao, hỗ trợ hơn 100 ngôn ngữ và tự động phát hiện ngôn ngữ.

Hình 2.6: Logo Google Cloud Translation

PHÂN TÍCH HỆ THỐNG

Tổng quan hệ thống

Trang web Manga Translator là công cụ hỗ trợ người dùng dịch manga bằng cách chuyển đổi nội dung ký tự từ hình ảnh Với sự kết hợp của công nghệ nhận diện, thị giác máy tính và chuyển đổi hình ảnh, trang web này mang lại giải pháp hiệu quả cho việc dịch manga và các tài liệu liên quan.

Sơ đồ UseCase

Bảng danh sách các actor

STT Tên actor Ý nghĩa/ ghi chú

1 User Người dùng truy cập vào trang web và tiến hành dịch ảnh trang manga

3.2.2 Danh sách các Use-case

Bảng danh sách các Use-case

STT Tên Use-case Ý nghĩa/ ghi chú

1 Dịch Manga Người dùng tiến hành chọn trang ảnh manga và tiến hành dịch trên trang web

2 Quản lý và chỉnh sửa nội dung muốn dịch

Người dùng tiến hành xem xét các ký tự được nhận diện và sửa lại nếu sai sót, sau đó có thể chọn những cụm muốn dịch

3 Xóa nội dung ký tự trong ảnh

Người dùng có thể sử dụng trang web để xóa những nội dung ký tự không mong muốn ra khỏi ảnh

Đặc tả Use Case

Bảng 3.1 Đặc tả Use-case dịch Manga

Tên Use-case Dịch Manga

Mô tả tóm tắt Người dùng tiến hành chọn ảnh và dịch Điều kiện trước Truy cập trang web Manga Translator Điều kiện sau N/A

Dòng sự kiện chính Hiển thị màn hình bắt đầu và chọn ảnh Manga

● Người dùng truy cập trang web

● Hiển thị màn hình bắt đầu Người dùng chọn và xác nhận ảnh trang Manga muốn dịch Xác nhận hệ thống bắt đầu xử lý ảnh

Nếu thành công xuất ra trang manga đã được dịch Lưu ảnh

Bảng 3.1 Đặc tả Use-case Quản lý và chỉnh sửa nội dung muốn dịch

Tên Use-case Quản lý và chỉnh sửa nội dung muốn dịch

Người dùng có thể chọn và chỉnh sửa ký tự được trích xuất từ ảnh Trước khi thực hiện, cần xác nhận lựa chọn và hệ thống sẽ tiến hành xử lý ảnh Manga Sau khi hoàn thành, không có điều kiện nào cần thiết.

Dòng sự kiện chính Hiển thị màn hình ký tự được lấy từ ảnh Manga

● Chỉnh sửa nếu ký tự được lấy có sai sót

● Chọn dòng muốn dịch Nhấp xác nhận quá trình chỉnh sửa và tiến hành dịch manga Dòng sự kiện phụ

Bảng 3.1 Đặc tả Use-case Xóa nội dung ký tự trong ảnh

Tên Use-case Xóa nội dung ký tự trong ảnh

Mô tả tóm tắt Xóa những ký tự không mong muốn trong ảnh manga Điều kiện trước Truy cập trang web Điều kiện sau N/A

Dòng sự kiện chính Hiển thị màn hình ký chọn và xác nhận ảnh Manga

Xóa tất cả những ký tự sau khi hệ thống xử lý Lưu ảnh

Sơ đồ Activity

Quá trình thực hiện dịch Manga

HIỆN THỰC HỆ THỐNG

Quá trình hệ thống hoạt động

4.1.1 Cách thức lấy và xóa văn bản ra khỏi ảnh Để xóa văn bản khỏi hình ảnh sẽ trải qua ba bước:

● Xác định văn bản trong hình ảnh và lấy tọa độ hộp giới hạn của từng văn bản

● Đối với mỗi hộp giới hạn, hãy áp dụng mặt nạ để cho thuật toán biết chúng ta nên tô phần nào của hình ảnh

● Cuối cùng, áp dụng thuật toán inpainting để inpaint các vùng bị che của hình ảnh, dẫn đến hình ảnh không có văn bản, sử dụng cv2

Lấy văn bản ra từ ảnh:

- Sau khi hình ảnh được EasyOCR xử lý sẽ được xác định văn bản bằng những khung với tọa độ nhất định

Xóa văn bản ra khỏi ảnh:

- Cv2 có hai thuật toán inpainting khả dụng và cho phép áp dụng mask hình chữ nhật, hình tròn hoặc đường thẳng

Tôi chọn sử dụng mặt nạ đường kẻ vì tính linh hoạt của nó cho phép che văn bản theo nhiều hướng khác nhau Trong khi mặt nạ hình chữ nhật chỉ hiệu quả với các từ song song hoặc vuông góc với trục x, mặt nạ hình tròn lại che phủ một diện tích lớn hơn mức cần thiết.

- Dựa vào tọa độ đã xác định được tiến hành xóa văn bản khỏi ảnh

28 Đây là vùng mask tương ứng với từ “Tuesday”

Cuối cùng, chúng ta có thể inpaint hình ảnh:

29 Đây là hình ảnh sau khi thực hiện xóa văn bản “Tuesday”

Một số các ví dụ cho các bước xác định và xóa văn bản khỏi ảnh:

4.1.2 Dịch văn bản đã được xác định từ ảnh

Việc xác định văn bản có thể gặp sai sót do nhiều yếu tố như kiểu chữ, kích cỡ và phông chữ phức tạp, dẫn đến kết quả không đạt yêu cầu.

Nhóm em sẽ thực hiện thêm một bước chỉnh sửa thủ công đối với nội dung được trích xuất từ ảnh trước khi tiến hành dịch qua Google API.

Sơ đồ trình tự qua trình dịch văn bản:

Giao diện hệ thống

- Chọn ảnh manga từ file máy tính để bắt đầu dịch

- Nhấp vào button “Detect Bubble” để tiến hành xác định văn bản trong ảnh

- Nhấp button “Remove/Change Image” để hủy thao tác và chọn ảnh manga khác

4.2.2.1 Ảnh sau khi hệ thống xử lý

- Những khung bong bóng thoại trong manga được xác định và đánh dấu

- Các ký tự văn bản được hệ thống định vị để tiến hành xử lý trong bước tiếp theo

4.2.1.2 Khung kết quả ký tự văn bản đã lấy

- Các văn bản được xác định và lấy ra từ ảnh manga

- Các khung text input để thuận lợi cho việc chính sửa thủ công nội dung lấy xuống

- Các bản dịch của nội dung văn bản được thể thiện ngay bên phải

- Các nút bên phải ngoài dùng để xác nhận những dòng nào cần dịch hoặc không

4.2.1.3 Các tùy chọn cho văn bản sau khi dịch

- Có thể tùy chỉnh số chữ trên một dòng và cỡ chữ sau khi dịch để tiến hành dán lại ảnh manga

- Chỉnh Font chữ mong muốn để sử dụng cho văn bản sau khi dịch

4.2.1.4 Các tùy chọn xử lý ảnh

- Nhấp button “Translate Comic” để tiến hành dịch manga

- Nhấp button “Remove Text in Comic” để xóa toàn bộ văn bản có trong ảnh manga

Nhấn vào checkbox "Hiển thị văn bản gốc" để xem văn bản hệ thống lấy từ ảnh, giúp bạn dễ dàng so sánh với văn bản đã được dịch.

Nhấp vào checkbox “Sử dụng hình hiện tại để dịch” cho phép bạn tiếp tục chỉnh sửa trên tấm ảnh đã dịch, giúp bạn dịch các văn bản riêng lẻ mà không làm ảnh hưởng đến toàn bộ nội dung.

- Các văn bản sau khi được dịch sẽ được vẽ lại vào ảnh

- Các vị trí vẽ lại chính là vị trí xóa khi xử lý ở bước trước

- Có thể điều chỉnh size và số dòng thể hiện ở kết quả

- Chọn font chữ mong muốn để dán vào ảnh

Ngày đăng: 04/09/2023, 20:29

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Website IchigoReader - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Hình 1.1 Website IchigoReader (Trang 10)
Hình 1.2: Website Cotrans - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Hình 1.2 Website Cotrans (Trang 11)
Hình 2.4: Minh hoạ OpenCV - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Hình 2.4 Minh hoạ OpenCV (Trang 15)
Hình 2.6: Logo Google Cloud Translation - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Hình 2.6 Logo Google Cloud Translation (Trang 18)
3.2  Sơ đồ UseCase - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
3.2 Sơ đồ UseCase (Trang 19)
Bảng danh sách các Use-case - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Bảng danh sách các Use-case (Trang 20)
Bảng danh sách các actor - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Bảng danh sách các actor (Trang 20)
Bảng 3.1 Đặc tả Use-case dịch Manga - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Bảng 3.1 Đặc tả Use-case dịch Manga (Trang 21)
Bảng 3.1 Đặc tả Use-case Quản lý và chỉnh sửa nội dung muốn dịch - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Bảng 3.1 Đặc tả Use-case Quản lý và chỉnh sửa nội dung muốn dịch (Trang 22)
Bảng 3.1 Đặc tả Use-case Xóa nội dung ký tự trong ảnh - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Bảng 3.1 Đặc tả Use-case Xóa nội dung ký tự trong ảnh (Trang 23)
3.4  Sơ đồ Activity - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
3.4 Sơ đồ Activity (Trang 24)
Sơ đồ trình tự qua trình dịch văn bản: - Đồ án xây dựng trang web hỗ trợ dịch manga mangatranslate
Sơ đồ tr ình tự qua trình dịch văn bản: (Trang 30)

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