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, RealmDB và SQLite 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. RealmDB và SQLite 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.