Nghiên cứu bài toán tạo mô tả cho hình ảnh và ứng dụng hỗ trợ học tiếng Anh

Tài liệu đồ án nghiên cứu bài toán tạo mô tả cho hình ảnh và xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh một cách trực quan, sinh động.

2025

120
2
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về đồ án tạo mô tả ảnh hỗ trợ học tiếng Anh

Đồ án tốt nghiệp này được thực hiện tại Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh. Dự án tập trung vào bài toán tạo mô tả ảnh bằng công nghệ trí tuệ nhân tạo và ứng dụng vào lĩnh vực học tiếng Anh hiệu quả. Nhóm sinh viên gồm Nguyễn Huỳnh Như Thiện và Nguyễn Lâm Thanh Triết đã phát triển một ứng dụng di động sử dụng các công nghệ hiện đại như Kotlin, Jetpack Compose, và Vertex AI. Mục tiêu chính là tạo ra một công cụ hỗ trợ học tập thông qua phân tích ảnh tự động và cung cấp mô tả chi tiết bằng tiếng Anh, giúp người học nâng cao vốn từ vựng và kỹ năng ngôn ngữ một cách tự nhiên và hiệu quả.

1.1. Lý do chọn đề tài và tầm quan trọng

Việc học tiếng Anh thông qua hình ảnh là phương pháp hiệu quả vì nó kết hợp ba yếu tố: thị giác, từ vựng và ngữ pháp. Đồ án này ra đời để giải quyết nhu cầu của học viên hiện đại, những người muốn học tiếng Anh một cách tương tác và sinh động. Công nghệ Vertex AI cho phép phân tích hình ảnh chính xác và tạo mô tả chi tiết, trong khi Cloud Translation API hỗ trợ dịch nội dung đa ngôn ngữ. Ứng dụng này mang lại giải pháp toàn diện cho bài toán tạo mô tả ảnh tự động và ứng dụng vào học tập ngôn ngữ.

1.2. Mục tiêu và đối tượng người dùng

Mục tiêu của đồ án là phát triển ứng dụng di động tạo mô tả hình ảnh hiệu quả sử dụng trí tuệ nhân tạo. Đối tượng người dùng bao gồm: học sinh, sinh viên muốn cải thiện kỹ năng tiếng Anh, những người tự học ngôn ngữ, và các giáo viên tiếng Anh cần công cụ hỗ trợ dạy học. Ứng dụng được thiết kế thân thiện, dễ sử dụng với giao diện hiện đại sử dụng Jetpack Compose. Người dùng có thể chụp hoặc tải ảnh, hệ thống sẽ tự động phân tích và tạo mô tả chi tiết bằng tiếng Anh.

II. Công nghệ sử dụng trong phát triển ứng dụng

Để xây dựng ứng dụng tạo mô tả ảnh hiệu quả, nhóm dự án sử dụng bộ công nghệ hiện đại và phù hợp với nền tảng Android. Kotlin được chọn làm ngôn ngữ lập trình chính vì độ an toàn và hiệu quả cao. Jetpack Compose cung cấp giao diện người dùng hiện đại, Android Jetpack Libraries hỗ trợ kiến trúc phần mềm vững chắc. Phía backend, ứng dụng sử dụng Vertex AI để phân tích hình ảnh và Cloud Translation API để dịch nội dung. Firebase được dùng cho xác thực người dùng và lưu trữ dữ liệu, RealmDBSQLite quản lý dữ liệu cục bộ. Kiến trúc Clean Architecture và mô hình MVVM đảm bảo code sạch, dễ bảo trì và mở rộng.

2.1. Công nghệ frontend và kiến trúc giao diện

Jetpack Compose là nền tảng chính cho giao diện người dùng, cung cấp cách tiếp cận hiện đại sử dụng Declarative UI. Điều này cho phép nhà phát triển tạo giao diện phức tạp một cách dễ dàng và hiệu quả hơn. Kotlin được tối ưu hóa cho nền tảng Android, giảm lỗi runtime và cung cấp cú pháp ngắn gọn. Android Jetpack Libraries bao gồm các thành phần như ViewModel, LiveData, giúp quản lý trạng thái ứng dụng. Mô hình MVVM tách biệt logic kinh doanh từ giao diện, làm cho code dễ kiểm thử và bảo trì hơn.

2.2. Công nghệ backend và AI

Vertex AI là dịch vụ Google Cloud cung cấp khả năng phân tích hình ảnh và nhận diện đối tượng. Cloud Translation API hỗ trợ dịch mô tả sang nhiều ngôn ngữ khác nhau. Ktor được sử dụng để xây dựng RESTful API, giao tiếp giữa ứng dụng mobile và server. Firebase cung cấp xác thực người dùng và lưu trữ dữ liệu trên cloud. RealmDBSQLite quản lý cache dữ liệu cục bộ. Render được dùng để deploy backend, đảm bảo ứng dụng hoạt động ổn định 24/7.

III. Phân tích và thiết kế hệ thống

Hệ thống được thiết kế theo mô hình client-server với kiến trúc Clean Architecture. Phần phân tích yêu cầu xác định tất cả chức năng cần thiết cho ứng dụng như: đăng nhập, đăng ký, tạo mô tả ảnh, quản lý từ vựng, quản lý thư mục. Sơ đồ Use Case biểu diễn tương tác giữa người dùng và các chức năng chính. Sơ đồ trình tự (Sequence Diagram) chi tiết hóa luồng hoạt động của từng use case, từ khi người dùng chụp/tải ảnh đến khi hệ thống tạo mô tả và lưu thông tin. Dữ liệu được tổ chức trong Firebase Firestore và cơ sở dữ liệu cục bộ RealmDB, với các bảng dữ liệu lưu trữ thông tin người dùng, hình ảnh, từ vựng, và thư mục.

3.1. Thiết kế hệ thống và flow dữ liệu

Kiến trúc Clean Architecture chia hệ thống thành ba lớp: Presentation (giao diện), Domain (logic kinh doanh), Data (truy cập dữ liệu). Mô hình MVVM được áp dụng để quản lý trạng thái: ViewModel xử lý logic, Repository quản lý dữ liệu từ nhiều nguồn. RESTful API kết nối giữa client Android và backend Ktor. Luồng dữ liệu: User chụp ảnh → Upload lên server → Vertex AI phân tích → Tạo mô tả → Dịch sang tiếng Anh → Lưu vào database → Hiển thị trên giao diện. Kiến trúc này đảm bảo tính modular, testable, và scalable.

3.2. Mô hình dữ liệu và collection

Dữ liệu được lưu trữ qua hai cơ sở: Firestore cho dữ liệu cloud bao gồm collections User, Images, Vocabulary, Folders. RealmDB lưu cache cục bộ để offline access. Mô hình User chứa thông tin đăng nhập, email, thông tin cá nhân. Collection Images lưu ảnh, mô tả tự động, ngày tạo. Vocabulary lưu từ vựng liên kết với hình ảnh. Folders giúp tổ chức ảnh và từ vựng theo chủ đề. Cấu trúc dữ liệu được tối ưu hóa cho truy vấn nhanh và đảm bảo tính nhất quán.

IV. Kết quả đạt được và hướng phát triển

Đồ án đã phát triển thành công ứng dụng tạo mô tả ảnh hỗ trợ học tiếng Anh với các tính năng hoàn chỉnh. Ứng dụng cung cấp giao diện thân thiện qua 13 màn hình chính, bao gồm: đăng nhập, đăng ký, trang chủ, quản lý hình ảnh, quản lý từ vựng. Tính năng chụp/tải ảnh cho phép người dùng nhanh chóng tải hình ảnh. Vertex AI tự động phân tích và tạo mô tả chi tiết bằng tiếng Anh, hỗ trợ học từ vựng in context. Người dùng có thể lưu ảnh và từ vựng vào các thư mục để luyện tập lâu dài. Hướng phát triển tương lai bao gồm: thêm chức năng quizzes tương tác, tích hợp speech recognition, hỗ trợ nhiều ngôn ngữ hơn, và tạo cộng đồng chia sẻ học liệu.

4.1. Các tính năng chính đã hoàn thành

Ứng dụng hoàn thành các tính năng: (1) Xác thực người dùng với đăng nhập, đăng ký, quên mật khẩu qua Firebase. (2) Tạo mô tả ảnh sử dụng Vertex AI tích hợp. (3) Quản lý hình ảnh cho phép xem, xóa, sửa ảnh đã lưu. (4) Quản lý từ vựng liên kết từ mô tả ảnh. (5) Quản lý thư mục để tổ chức học liệu theo chủ đề. (6) Dịch thuật sử dụng Cloud Translation API. (7) Offline mode với RealmDB cache dữ liệu cục bộ. Tất cả chức năng được kiểm thử kỹ lưỡng đảm bảo chất lượng.

4.2. Hướng phát triển và cải thiện trong tương lai

Hướng phát triển: (1) Thêm Interactive Quizzes với câu hỏi trắc nghiệm từ mô tả ảnh. (2) Speech Recognition cho phép người dùng nói từ vựng. (3) Pronunciation Guide hướng dẫn phát âm đúng. (4) Multi-language Support mở rộng hỗ trợ ngôn ngữ. (5) Community Features cho phép chia sẻ học liệu với người khác. (6) AI-powered Progress Tracking theo dõi tiến độ học tập. (7) Integration with Popular Platforms kết nối với Duolingo, Quizlet. Các cải tiến này sẽ làm ứng dụng hiệu quả hơn trong hỗ trợ học tiếng Anh.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1 – Giới thiệu đề tài: Trình bày lý do chọn đề tài, mục tiêu, phạm vi, đối tượng sử dụng, phương pháp thực hiện, công nghệ sử dụng và kết quả mong đợi. ● Chương 2 – Cơ sở lý thuyết: Trình bày một số vấn đề mà các nghiên cứu trong và ngoài nước đưa ra, từ đó đưa ra giải pháp. Đồng thời trình bày về các kiến thức nền tảng sử dụng để phục vụ cho đồ án. ● Chương 3 – Phân tích và thiết kế hệ thống: Đặc tả và mô hình hóa các yêu cầu phần mềm; trình bày các bản thiết kế của đồ án, bao gồm thiết kế hệ thống, thiết kế đối tượng, thiết kế dữ liệu và thiết kế giao diện.

● Chương 4 – Xây dựng sản phẩm: Trình bày quy trình cài đặt, kiểm thử và triển khai sản phẩm. ● Chương 5 – Kết luận: Kết luận lại những vấn đề đã giải quyết và trình bày ở các phần trước và nêu ra hướng phát triển cho sản phẩm trong tương lai. GIỚI THIỆU ĐỀ TÀI 1. Lý do chọn đề tài Trong bối cảnh công nghệ số phát triển mạnh mẽ, việc ứng dụng các giải pháp thông minh vào giáo dục đã và đang tạo ra những thay đổi tích cực, đặc biệt trong việc học ngôn ngữ.

Tiếng Anh – một kỹ năng vô cùng quan trọng trong thời kỳ toàn cầu hóa – thường gặp phải những khó khăn như việc ghi nhớ từ vựng, phát triển khả năng diễn đạt, hay thiếu môi trường học tập hấp dẫn. Các phương pháp học truyền thống dần trở nên hạn chế, không đáp ứng được nhu cầu cá nhân hóa và tính tương tác cao, đòi hỏi sự trực quan cao của người học. Để giải quyết những thách thức này, việc ứng dụng công nghệ trí tuệ nhân tạo (AI) trong việc tạo mô tả cho hình ảnh không chỉ hỗ trợ người học nâng cao vốn từ vựng mà còn cung cấp trải nghiệm học tập trực quan, sinh động, thông qua việc kết hợp hình ảnh và ngôn ngữ. Đồng thời, việc tích hợp các công nghệ hiện đại như ReverseAI và Translate API sẽ góp phần tối ưu hóa quá trình học tập, cá nhân hóa nội dung học theo nhu cầu từng người dùng.

Đề tài “Nghiên cứu bài toán tạo mô tả cho hình ảnh và ứng dụng vào việc hỗ trợ học tiếng Anh” được lựa chọn với mục tiêu xây dựng một hệ thống hỗ trợ học tập hiện đại, thân thiện và hiệu quả. Không chỉ dừng lại ở việc cải thiện kỹ năng ngôn ngữ, đề tài còn góp phần khẳng định vai trò của công nghệ trong giáo dục, đáp ứng xu thế đổi mới và nâng cao chất lượng học tập trong thời kỳ công nghệ 4. Mục tiêu đề tài ● Xây dựng một hệ thống tự động tạo mô tả cho hình ảnh với độ chính xác cao, cung cấp các câu mô tả bằng tiếng Anh kèm bản dịch tiếng Việt, giúp người học nâng cao kỹ năng ngôn ngữ. ● Thiết kế giao diện ứng dụng thân thiện, trực quan, hỗ trợ người dùng dễ dàng truy cập, lưu trữ và quản lý các hình ảnh, câu mô tả và từ vựng đã học.

● Ứng dụng công nghệ trí tuệ nhân tạo (AI) và các nền tảng hiện đại như ReverseAI và Translate API để tối ưu hóa quá trình nhận diện hình ảnh, tạo mô tả và dịch thuật. ● Đảm bảo hệ thống hoạt động ổn định, dễ mở rộng và đáp ứng tốt nhu cầu học tiếng Anh của nhiều đối tượng người dùng, đồng thời hỗ trợ việc học ngôn ngữ một cách hiệu quả và bền vững. Đối tượng nghiên cứu 1. Các công nghệ ● Xây dựng giao diện người dùng: Ứng dụng Kotlin và Jetpack Compose để thiết kế giao diện trực quan, hiện đại, mang lại trải nghiệm mượt mà và thân thiện với người dùng trên nền tảng di động.

● Hệ thống tạo mô tả: Tích hợp TensorFlow, áp dụng các mô hình trí tuệ nhân tạo tiên tiến để phân tích và tạo mô tả tự động cho hình ảnh, đảm bảo tính chính xác và phù hợp ngữ cảnh. ● Quản lý dữ liệu: Sử dụng Firestore để lưu trữ và quản lý dữ liệu, bao gồm hình ảnh, câu mô tả, và từ vựng, đảm bảo khả năng đồng bộ hóa, bảo mật và hiệu suất cao khi xử lý lượng lớn thông tin. ● Dịch thuật và xử lý ngôn ngữ: Tích hợp Translate API để cung cấp bản dịch tự động giữa tiếng Anh và tiếng Việt, hỗ trợ người học tiếp cận nội dung ngôn ngữ dễ dàng. Đồng thời, sử dụng ReverseAI để cải thiện chất lượng dịch thuật và xử lý ngôn ngữ tự nhiên trong các câu mô tả.

● Xử lý thông tin và giao tiếp hệ thống: Sử dụng API để kết nối giữa các thành phần, đảm bảo việc tích hợp và trao đổi dữ liệu hiệu quả giữa hệ thống nhận diện hình ảnh, dịch thuật, và giao diện người dùng. Đối tượng người dùng ● Đối tượng đề tài hướng tới: Sinh viên, học sinh, những người có nhu cầu tự học tiếng Anh thông qua thực tế. Phạm vi nghiên cứu ● Phạm vi nghiên cứu của đề tài này tập trung vào việc xây dựng và triển khai một một ứng dụng hỗ trợ học tiếng Anh thông qua hệ thống tạo mô tả tự động cho hình ảnh, kết hợp các công nghệ hiện đại để đảm bảo tính hiệu quả và dễ sử dụng. Nghiên cứu sẽ bao gồm từ việc thiết kế giao diện người dùng, phát triển chức năng chụp ảnh, tạo mô tả tự động, tích hợp các công cụ cải thiện chất lượng dịch thuật, cho đến việc quản lý thông tin dữ liệu của các hình ảnh, từ vựng được tạo để cải thiện trải nghiệm học tập và rèn luyện người dùng.

Phương pháp thực hiện ● Phương pháp nghiên cứu tài liệu: Tìm hiểu các nghiên cứu, tài liệu liên quan đến việc tạo mô tả tự động cho hình ảnh, ứng dụng trí tuệ nhân tạo trong học ngôn ngữ, cũng như các phương pháp học tiếng Anh qua hình ảnh và công nghệ dịch thuật. ● Phương pháp phân tích yêu cầu: Thu thập yêu cầu từ người dùng, bao gồm các nhu cầu học tập tiếng Anh, mức độ tương tác với hệ thống, và các tính năng cần thiết của ứng dụng như tạo mô tả hình ảnh, dịch thuật từ vựng và câu, lưu trữ dữ liệu. Phân tích các yêu cầu này để xây dựng tính năng chính cho ứng dụng học tiếng Anh. ● Phương pháp thiết kế và phát triển hệ thống: Xây dựng hệ thống ứng dụng học tiếng Anh, bao gồm thiết kế giao diện người dùng bằng Kotlin và Jetpack Compose, phát triển chức năng tạo mô tả tự động từ hình ảnh sử dụng TensorFlow, tích hợp dịch thuật qua Translate API và ReverseAI, và quản lý dữ liệu bằng Firestore.

Phát triển hệ thống frontend và backend để đảm bảo khả năng hoạt động mượt mà và hiệu quả. ● Phương pháp kiểm thử: Thực hiện kiểm thử chức năng của hệ thống, bao gồm việc kiểm tra độ chính xác của mô tả hình ảnh, khả năng dịch thuật và lưu trữ dữ liệu, đảm bảo rằng ứng dụng đáp ứng yêu cầu và mang lại trải nghiệm học tập hiệu quả. ● Phương pháp đánh giá: Đánh giá hiệu quả của ứng dụng qua phản hồi của người dùng, đánh giá tính khả dụng, độ chính xác của các mô tả hình ảnh và dịch thuật, cũng như các chỉ số như tốc độ xử lý, hiệu suất hệ thống, và mức độ hài lòng của người học. Công nghệ sử dụng Công cụ thiết kế UI/UX: Figma.

Ngôn ngữ sử dụng: Kotlin, Jetpack Compose cho phát triển ứng dụng di động. Xây dựng hệ thống: ● Front-end: Jetpack Compose để thiết kế giao diện người dùng cho ứng dụng di động. ● Back-end: TensorFlow cho mô hình tạo mô tả tự động từ hình ảnh và Firestore cho quản lý dữ liệu. Thư viện/Framework sử dụng chính: ● Front-end: Jetpack Compose cho giao diện người dùng trên Android.

● Back-end: TensorFlow cho việc áp dụng các mô hình trí tuệ nhân tạo (AI) để nhận diện hình ảnh và tạo mô tả. Dịch thuật: Translate API và ReverseAI để hỗ trợ dịch thuật giữa tiếng Anh và tiếng Việt cho các mô tả hình ảnh. Database: Firestore để lưu trữ dữ liệu hình ảnh, câu mô tả và từ vựng. Source Control: GitHub Chương 2.

Tổng quan về Kotlin Hình 2. Giới thiệu về Kotlin 2. Kotlin là gì? Kotlin là một ngôn ngữ lập trình hiện đại được phát triển bởi JetBrains, chính thức ra mắt vào năm 2011 và chính thức được Google công nhận là ngôn ngữ chính trong phát triển Android từ năm 2017, được tích hợp mạnh mẽ trong Android Studio. Kotlin được thiết kế để chạy trên Java Virtual Machine (JVM) và tương thích hoàn toàn với Java, mang lại một cách tiếp cận hiện đại và dễ sử dụng cho phát triển phần mềm.

Kotlin còn hỗ trợ cả Kotlin Coroutines, giúp xử lý các tác vụ bất đồng bộ (asynchronous) và đồng thời (concurrent) một cách đơn giản và hiệu quả. Thay vì sử dụng threads hoặc callback như trong các ngôn ngữ khác, đồng thời giúp code ngắn gọn và dễ đọc hiểu. Vai trò của Kotlin Kotlin đóng vai trò quan trọng trong việc phát triển ứng dụng Android thông qua Jetpack Compose và Kotlin Coroutines. Jetpack Compose giúp xây dựng UI dễ dàng và mạnh mẽ nhờ vào cú pháp Kotlin ngắn gọn và dễ đọc, trong khi Kotlin Coroutines giúp xử lý các tác vụ bất đồng bộ một cách hiệu quả, tối ưu hóa hiệu suất và bảo vệ trải nghiệm người dùng mượt mà.

Tổng quan về Jetpack Compose Hình 2. Giới thiệu Jetpack Compose 2. Jetpack Compose là gì? Jetpack Compose là một toolkit UI hiện đại được Google phát triển để xây dựng giao diện người dùng cho các ứng dụng Android. Khác với cách xây dựng giao diện truyền thống sử dụng XML, Jetpack Compose sử dụng Kotlin để mô tả giao diện dưới dạng các hàm Composable, giúp việc phát triển trở nên linh hoạt, dễ đọc và bảo trì.

Một trong những điểm nổi bật của Jetpack Compose là tính năng Preview, giúp lập trình viên xem trước giao diện người dùng (UI) ngay trong Android Studio mà không cần phải chạy ứng dụng trên thiết bị hoặc giả lập. Điều này giúp tiết kiệm thời gian và tăng năng suất khi thiết kế UI. Vai trò của Jetpack Compose Jetpack Compose thay thế cách xây dựng giao diện truyền thống bằng XML và Java/Kotlin. Với cú pháp declarative.

Điều này làm giảm sự phức tạp và giúp mã nguồn trở nên dễ đọc và dễ bảo trì. Jetpack Compose giúp quản lý trạng thái UI một cách trực quan và hiệu quả thông qua state management. Với cơ chế recomposition, giao diện người dùng sẽ tự động cập nhật khi dữ liệu hoặc trạng thái thay đổi mà không cần phải gọi lại toàn bộ UI.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ