Bối cảnh và vấn đề nghiên cứu
Trí tuệ nhân tạo (AI) đang phát triển mạnh mẽ và thâm nhập vào nhiều lĩnh vực đời sống. Tuy nhiên, tại Việt Nam, việc đưa các ứng dụng AI vào thực tế còn gặp nhiều hạn chế:
- Trong giáo dục: Học sinh tiếp cận kiến thức thực vật học chủ yếu qua sách vở và tài liệu tĩnh một cách thụ động, trong khi nguồn tài liệu này chỉ phản ánh một phần nhỏ thế giới tự nhiên.
- Trong nông nghiệp và lâm nghiệp: Nông dân và công nhân lâm nghiệp gặp khó khăn trong việc nhận diện chính xác các giống cây lạ trước khi khai thác hoặc xử lý, tiềm ẩn nguy cơ tác động xấu đến môi trường sinh thái.
- Trong nghiên cứu sinh học: Việc phát hiện, theo dõi các loài cây quý hiếm hay sinh vật ngoại lai đòi hỏi các nhà khoa học phải đầu tư nhiều thời gian và công sức để thống kê, phân loại thủ công.
Xuất phát từ thực tiễn trên, đề tài "Xây dựng ứng dụng nhận diện hoa bằng hình ảnh trên smartphone" được thực hiện bởi nhóm tác giả Nguyễn Tuấn Vũ và Võ Huy Hoàng (ngành Công nghệ Phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP.HCM) dưới sự hướng dẫn của TS. Huỳnh Xuân Phụng.
Mục tiêu và nhiệm vụ nghiên cứu:
- Áp dụng công nghệ học sâu (Deep Learning) và kỹ thuật học chuyển giao (Transfer Learning) với thư viện TensorFlow để xây dựng mô hình nhận diện bước đầu cho 30 loài hoa, hướng tới tỷ lệ chính xác trên 85%.
- Tích hợp mô hình đã huấn luyện lên thiết bị di động hệ điều hành Android thông qua TensorFlow Lite, với tỷ lệ dự đoán chính xác trên ứng dụng kỳ vọng đạt 80%.
- Xây dựng ứng dụng di động hoàn chỉnh cho phép nhận diện tức thời qua camera/thư viện ảnh, hiển thị thông tin thực vật học chi tiết (tên tiếng Việt, tên tiếng Anh, họ, đặc điểm, phân bố, ý nghĩa).
- Thiết lập hệ thống mạng xã hội và cộng đồng đóng góp dữ liệu (crowdsourcing) thông qua đăng bài viết, chia sẻ hình ảnh và bổ sung thông tin hoa nhằm làm giàu cơ sở dữ liệu.
- Kiểm thử, phân tích các yếu tố môi trường ảnh hưởng đến độ chính xác của mô hình và đánh giá hiệu năng thực tế trên điện thoại thông minh.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng: Hình ảnh nhận diện của 30 loài hoa phổ biến.
- Phạm vi không gian và nền tảng: Ứng dụng di động vận hành trên hệ điều hành Android, kết nối hệ thống máy chủ phụ trợ (Backend API).
- Thời gian thực hiện: Từ ngày 26/03/2020 đến ngày 15/07/2020.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết và mô hình sử dụng
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Áp dụng kiến trúc CNN chuyên dụng cho bài toán phân loại ảnh với các khối chức năng chính gồm:
- Convolutional Layer: Trích xuất các đặc trưng hình thái của hoa (cánh hoa, nhụy, màu sắc) thông qua bộ lọc (filters), bước trượt (stride) và kỹ thuật đệm (zero padding).
- Pooling Layer: Giảm kích thước không gian của ma trận đặc trưng, giảm số lượng tham số tính toán.
- Fully Connected Layer: Kết nối các đặc trưng phẳng để phân loại xác suất đầu ra cho từng lớp hoa.
- Mô hình Pre-trained MobileNet V2: Sử dụng mô hình mạng nơ-ron tích chập tối ưu cho thiết bị di động (MobileNet V2) kết hợp kỹ thuật học chuyển giao (Transfer Learning) để huấn luyện trên tập dữ liệu hoa mới, giúp giảm chi phí tính toán và rút ngắn thời gian hội tụ.
- Thư viện và công cụ: TensorFlow, Keras Core Modules (tối ưu hóa loss, optimizer), TensorFlow Lite để chuyển đổi và nén mô hình sang định dạng
.tflite nhúng trực tiếp vào ứng dụng Android.
Công nghệ và kiến trúc phần mềm
- MERN Stack: MongoDB (Cơ sở dữ liệu NoSQL), ExpressJS (Khung ứng dụng Backend), React Native (Phát triển ứng dụng di động đa nền tảng), NodeJS (Môi trường máy chủ).
- Quản lý trạng thái: Redux được sử dụng để quản lý luồng dữ liệu và trạng thái của ứng dụng di động.
- Giao tiếp dữ liệu: Thiết kế hệ thống theo chuẩn RESTful API với tài liệu đặc tả API rõ ràng giữa Frontend và Backend.
Phương pháp nghiên cứu
- Phương pháp khảo sát hiện trạng: Đánh giá tính năng, ưu điểm và nhược điểm của 5 ứng dụng nhận diện thực vật tiêu biểu trên thị trường (PlantNet, PictureThis, PlantSnap, iNaturalist, Seek) làm cơ sở xác định yêu cầu hệ thống.
- Phương pháp thu thập và tiền xử lý dữ liệu: Thu thập hình ảnh hoa, lưu trữ và xử lý qua Google Drive; áp dụng kỹ thuật tăng cường dữ liệu (Data Augmentation) để làm đa dạng tập dữ liệu mẫu.
- Phương pháp phân tích - thiết kế hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng sơ đồ Use Case, sơ đồ tuần tự (Sequence Diagram), sơ đồ luồng dữ liệu (DFD), sơ đồ lớp (Class Diagram) và mô hình cơ sở dữ liệu.
- Phương pháp kiểm thử phần mềm: Xây dựng kế hoạch kiểm thử chức năng (Functional Testing) theo từng ca kiểm thử (Testcase) chi tiết trên từng màn hình giao diện.
Thiết kế và triển khai hệ thống
Kiến trúc hệ thống
Hệ thống vận hành theo mô hình Client - Server kết hợp xử lý AI cục bộ (On-device AI):
- Phía ứng dụng di động (Client): Xây dựng bằng React Native. Khi người dùng chụp ảnh hoặc tải ảnh từ thư viện, ảnh được xử lý cắt tỉ lệ và đưa vào mô hình MobileNet V2 (TensorFlow Lite) tích hợp sẵn trong ứng dụng để dự đoán tức thời danh sách 5 loài hoa có độ tin cậy cao nhất.
- Phía máy chủ (Backend): Sử dụng NodeJS và ExpressJS, tiếp nhận các yêu cầu tra cứu thông tin chi tiết, xác thực đăng nhập qua Google/Facebook, quản lý bài viết và dữ liệu đóng góp từ cộng đồng.
- Phía lưu trữ (Database): Cơ sở dữ liệu MongoDB lưu trữ thông tin dưới dạng các Collection tài liệu JSON.
Thiết kế cơ sở dữ liệu
Hệ thống quản lý dữ liệu thông qua 5 cấu trúc bảng/collection chính:
| Tên Bảng/Collection |
Khóa chính / Trường quan trọng |
Mô tả chức năng |
User |
_id, email, name, avatar, gender, birthday |
Lưu trữ thông tin tài khoản người dùng đăng nhập qua bên thứ ba (Google, Facebook). |
Post |
_id, userId, plantId, content, image, created_at |
Quản lý các bài viết chia sẻ về loài hoa của người dùng trên trang chủ. |
Plant |
_id, vietnameseName, englishName, family, feature, meaning, distribution |
Lưu trữ thông tin chi tiết về các loài hoa (tên khoa học, họ, đặc điểm nhận dạng, ý nghĩa, phân bố). |
ImagePlant |
_id, plantId, url, author |
Lưu trữ tập hợp các hình ảnh độ phân giải cao của từng loài hoa. |
Contribute |
_id, userId, postId, vietnameseName, family, feature, comment |
Lưu trữ các đóng góp chỉnh sửa, bổ sung thông tin loài hoa do cộng đồng gửi lên. |
Thiết kế các lớp (Class Diagram) và API
Hệ thống định nghĩa các lớp đối tượng chính tương ứng với các bảng cơ sở dữ liệu:
User: Quản lý các phương thức cập nhật thông tin cá nhân, truy vấn lịch sử hoạt động.
Post: Xử lý việc tạo mới bài viết, hiển thị danh sách bài đăng theo thời gian thực và lấy chi tiết bài viết.
Plant: Cung cấp phương thức tìm kiếm hoa theo tên, lấy chi tiết thông tin thực vật học dựa trên tên tiếng Anh hoặc mã định danh.
Contribute: Quản lý các thao tác ghi nhận thông tin đóng góp của người dùng đối với một bài viết hoặc một loài hoa cụ thể.
Nội dung chính theo từng chương
Chương 1: Khảo sát hiện trạng
Chương 1 tiến hành khảo sát và đánh giá chi tiết 5 ứng dụng nhận diện thực vật phổ biến trên thiết bị di động:
- PlantNet: Điểm mạnh là khả năng phân loại theo họ/chi và xác nhận dữ liệu qua cộng đồng nghiên cứu; điểm yếu là số lượng loài nhận diện còn hạn chế (khoảng 20.000 loài so với 360.000 loài trên thế giới) và chưa tối ưu ngôn ngữ hiển thị.
- PictureThis: Điểm mạnh là tích hợp bản đồ phân bố thực vật và hướng dẫn chăm sóc cây; điểm yếu là yêu cầu trả phí duy trì và ngôn ngữ mặc định là tiếng Anh.
- PlantSnap: Sở hữu cơ sở dữ liệu lớn (trên 585.000 loài) nhưng nhược điểm lớn là chèn nhiều quảng cáo gây cản trở trải nghiệm và dịch thuật tiếng Việt chưa hoàn chỉnh.
- iNaturalist: Hỗ trợ kết nối hơn 400.000 nhà khoa học, tạo dữ liệu chất lượng cao cho nghiên cứu nhưng giao diện có tỷ lệ chữ chưa cân bằng và hạn chế về mặt dịch thuật tiếng Việt.
- Seek: An toàn cho người dùng nhỏ tuổi, không thu thập dữ liệu cá nhân mặc định, nhưng dữ liệu mang tính tĩnh và không gian hiển thị thông tin còn hẹp.
Kết luận tiêu chí cần đạt: Ứng dụng của nhóm phải nhận diện nhanh từ camera/thư viện ảnh với độ chính xác cao, cung cấp nguồn dữ liệu tiếng Việt chính xác, giao diện thân thiện và có cơ chế cho phép người dùng đóng góp thông tin.
Chương 2: Mô hình hóa yêu cầu và thiết kế cơ sở dữ liệu
Chương này xác định các tác nhân và quy tắc nghiệp vụ trong hệ thống:
- Tác nhân Guest (Khách): Thực hiện nghiệp vụ Đăng nhập (
QĐ_ĐN) thông qua tài khoản Google hoặc Facebook.
- Tác nhân User (Người dùng đã đăng nhập): Thực hiện 12 nghiệp vụ chính:
QĐ_MHC - Xem màn hình chính (danh sách bài đăng mới nhất).
QĐ_XBV - Xem chi tiết bài viết.
QĐ_XDG - Xem những đóng góp của một bài viết.
QĐ_DG - Đóng góp thông tin cho bài viết (tên tiếng Việt, họ, phân bố, đặc điểm, ý nghĩa, bình luận).
QĐ_TKA - Tìm kiếm loài hoa bằng hình ảnh (hỗ trợ chụp từ camera hoặc chọn từ thư viện, cắt ảnh, hiển thị top 5 kết quả).
QĐ_TKT - Tìm kiếm loài hoa theo tên trong cơ sở dữ liệu.
QĐ_XCTL - Xem thông tin chi tiết về loài hoa đã chọn.
QĐ_VB - Đăng bài viết chia sẻ kèm hình ảnh và thông tin loài hoa.
QĐ_QLCN - Quản lý trang cá nhân.
QĐ_XCN - Xem thông tin cá nhân.
QĐ_SCN - Chỉnh sửa thông tin cá nhân (họ tên, ngày sinh, giới tính).
QĐ_DX - Đăng xuất khỏi hệ thống.
Chương cũng chi tiết hóa hệ thống biểu mẫu (BM_ĐN, BM_MHC, BM_XBV, BM_XDG, BM_DG, BM_TKA, BM_TKT, BM_XCTL, BM_VB, BM_QLCN, BM_XCN, BM_SCN), sơ đồ luồng dữ liệu (DFD), sơ đồ tuần tự (Sequence Diagram) và lược đồ cơ sở dữ liệu quan hệ/NoSQL.
Chương 3: Thiết kế giao diện và xử lý
Chương 3 mô tả cấu trúc trực quan và luồng điều hướng của từng màn hình ứng dụng:
- Giao diện Guest: Màn hình đăng nhập tích hợp SDK của Facebook và Google, điều hướng tự động khi xác thực thành công.
- Giao diện User:
- Màn hình trang chủ: Thanh tìm kiếm phía trên, danh sách bài viết cuộn dọc hiển thị hình ảnh hoa, tác giả, mô tả ngắn và thanh điều hướng (Bottom Navigation) ở chân trang.
- Màn hình nhận diện hoa bằng hình ảnh: Tích hợp khung ngắm camera, nút chụp, nút chọn ảnh từ album và công cụ cắt khung hình giúp chuẩn hóa kích thước ảnh trước khi đưa vào mô hình AI; khu vực kết quả hiển thị top 5 loài hoa dự đoán kèm thanh tỷ lệ phần trăm độ tin cậy.
- Màn hình tra cứu và chi tiết hoa: Hiển thị hình ảnh kích thước lớn, phân loại học, mô tả đặc tính sinh thái, ý nghĩa hoa và liên kết đến các bài viết liên quan.
- Màn hình đóng góp và viết bài: Biểu mẫu cho phép tải ảnh, tự động gợi ý loài hoa từ mô hình và các trường nhập liệu văn bản.
Chương 4: Lập trình
Chương 4 trình bày việc tổ chức mã nguồn và kiến trúc công nghệ:
- Triển khai kiến trúc phần mềm dựa trên nền tảng ngôn ngữ JavaScript cho cả Frontend (React Native) và Backend (NodeJS/ExpressJS).
- Xây dựng tài liệu đặc tả chuẩn RESTful API với các phương thức GET, POST, PUT, DELETE rõ ràng cho từng tài nguyên (
/posts, /plants, /users, /contributes).
- Cấu hình kết nối và tối ưu hóa truy vấn trên cơ sở dữ liệu MongoDB.
- Xây dựng cấu trúc thư mục backend (controllers, models, routes, middleware) và frontend (components, screens, navigation, redux actions/reducers).
Chương 5: Xây dựng mô hình học sâu nhận dạng hoa
Chương 5 là trọng tâm nghiên cứu về thị giác máy tính và học sâu:
- Cơ sở thuật toán: Phân tích chi tiết các khối tầng trong kiến trúc mạng CNN, tính toán ma trận tích chập với các bộ lọc kích thước nhỏ (3x3), hàm kích hoạt ReLU, cơ chế Stride và Zero Padding nhằm bảo toàn không gian đặc trưng.
- Tiền xử lý và huấn luyện:
- Chuẩn bị tập dữ liệu ảnh của 30 loài hoa lưu trữ qua Google Drive.
- Áp dụng các kỹ thuật tăng cường dữ liệu (Data Augmentation) như xoay góc, lật ngang, thu phóng (zoom), dịch chuyển để tránh hiện tượng quá khớp (overfitting).
- Khai thác mô hình MobileNet V2 đã được huấn luyện trước trên tập ImageNet, loại bỏ các tầng phân loại trên cùng và gắn thêm các tầng Dense tùy biến cho 30 lớp hoa.
- Tiến hành biên dịch (compile) với hàm mất mát Categorical Crossentropy và thuật toán tối ưu hóa Adam; theo dõi sự suy giảm hàm loss và độ chính xác (accuracy) qua từng epoch.
- Chuyển đổi và tích hợp: Sử dụng TensorFlow Lite Converter chuyển đổi mô hình TensorFlow sang định dạng tệp phẳng
.tflite, giảm kích thước tệp và tối ưu hóa thời gian thực thi trên chip di động.
- Đánh giá mô hình: Đánh giá độ chính xác của mô hình khi chạy trực tiếp trên smartphone Android trong điều kiện thực tế (Bảng thống kê tỷ lệ dự đoán).
Chương 6: Kiểm thử phần mềm
Chương 6 trình bày quy trình đảm bảo chất lượng phần mềm:
- Thiết lập kế hoạch và biểu mẫu kiểm thử tiêu chuẩn gồm các trường: Mã ca kiểm thử, Tên chức năng, Điều kiện tiên quyết, Các bước thực hiện, Dữ liệu đầu vào, Kết quả mong đợi, Kết quả thực tế và Trạng thái (Pass/Fail).
- Thực hiện chạy toàn bộ các bộ Testcase trên các màn hình chức năng:
- Kiểm thử màn hình đăng nhập (Login Testcases).
- Kiểm thử chức năng Camera và chụp ảnh.
- Kiểm thử chức năng nhận diện hoa bằng hình ảnh.
- Kiểm thử màn hình xem chi tiết thông tin loài hoa.
- Kiểm thử quản lý và chỉnh sửa thông tin tài khoản cá nhân.
- Kiểm thử màn hình trang chủ, tạo bài viết mới và xem chi tiết bài viết.
- Kiểm thử chức năng tìm kiếm hoa theo tên và chức năng gửi đóng góp dữ liệu.
- Thống kê kết quả kiểm thử: Tổng hợp số lượng testcase đạt chuẩn, các lỗi phát sinh đã được xử lý và ghi nhận tính ổn định của hệ thống trước khi đóng gói ứng dụng.
Kết quả và đóng góp
Kết quả đạt được
- Sản phẩm ứng dụng di động hoàn chỉnh: Xây dựng thành công ứng dụng trên hệ điều hành Android có khả năng nhận diện 30 loài hoa bằng mô hình MobileNet V2 tích hợp cục bộ qua TensorFlow Lite.
- Hiệu năng nhận diện thời gian thực: Trả về kết quả phân loại trong thời gian ngắn với danh sách Top 5 loài hoa có xác suất cao nhất kèm theo tỷ lệ độ tin cậy; cho phép người dùng bấm vào xem thông tin thực vật học chi tiết.
- Cơ sở dữ liệu và hệ thống đóng góp cộng đồng: Xây dựng cơ sở dữ liệu các loài hoa có mô tả tiếng Việt chi tiết; thiết lập chức năng mạng xã hội chia sẻ bài đăng và tính năng đóng góp thông tin (
Contribute) giúp làm giàu dữ liệu thực vật học.
- Kiểm thử hệ thống: Hoàn thành kiểm thử chức năng toàn diện cho 12 nghiệp vụ chính của người dùng, đảm bảo tính liên kết giữa ứng dụng di động, Backend API và cơ sở dữ liệu MongoDB.
Đóng góp của đề tài
- Ứng dụng thành công kỹ thuật học chuyển giao (Transfer Learning) và mô hình học sâu nén (TensorFlow Lite) vào thiết bị di động có tài nguyên phần cứng giới hạn, giải quyết bài toán nhận diện thực vật ngoại tuyến/trực tuyến với độ trễ thấp.
- Cung cấp nguồn thông tin thực vật học hoàn toàn bằng tiếng Việt, khắc phục rào cản ngôn ngữ của các ứng dụng ngoại quốc hiện có trên thị trường như PlantNet, PictureThis, PlantSnap.
- Đề xuất mô hình tích hợp giữa nhận diện tự động bằng AI và cơ chế crowdsourcing, tạo điều kiện cho người dùng trong nước chủ động bổ sung và hiệu chỉnh dữ liệu các giống hoa bản địa.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
- Phạm vi nhận diện: Mô hình mới chỉ được huấn luyện để nhận diện giới hạn 30 loài hoa, chưa bao phủ được sự đa dạng sinh học phong phú của hệ thực vật Việt Nam.
- Phụ thuộc vào điều kiện ngoại cảnh: Độ chính xác của mô hình bị giảm khi ảnh chụp trong điều kiện thiếu sáng, góc chụp quá xa, hoa bị che khuất một phần hoặc phông nền có nhiều chi tiết phức tạp.
- Nền tảng hỗ trợ: Ứng dụng mới chỉ được đóng gói và thử nghiệm thực tế trên hệ điều hành Android, chưa phát hành phiên bản tương thích chính thức trên hệ điều hành iOS.
Hướng nghiên cứu tiếp
- Mở rộng tập dữ liệu huấn luyện lên hàng trăm hoặc hàng nghìn loài hoa và thực vật khác nhau, đặc biệt là các giống thực vật đặc hữu và quý hiếm tại Việt Nam.
- Nghiên cứu và thử nghiệm các kiến trúc mạng học sâu mới nhằm nâng cao độ chính xác nhận diện trong các điều kiện môi trường bất lợi (ngược sáng, nhòe ảnh do chuyển động).
- Hoàn thiện ứng dụng và xuất bản trên kho ứng dụng Google Play Store cũng như Apple App Store (iOS).
- Bổ sung cơ chế duyệt tự động hoặc phân quyền kiểm duyệt viên chuyên môn đối với các thông tin hoa do cộng đồng đóng góp trước khi lưu chính thức vào cơ sở dữ liệu chung.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ Phần mềm và Khoa học Máy tính: Tham khảo phương pháp xây dựng ứng dụng di động tích hợp trí tuệ nhân tạo (Mobile AI) sử dụng React Native và TensorFlow Lite.
- Người nghiên cứu thị giác máy tính và học máy: Tham khảo quy trình tiền xử lý dữ liệu ảnh, kỹ thuật học chuyển giao (Transfer Learning) với kiến trúc MobileNet V2 và quy trình nén mô hình học sâu để chạy trên thiết bị biên.
- Người phát triển ứng dụng di động: Tham khảo cách thiết kế hệ thống theo mô hình MERN Stack, cách mô hình hóa yêu cầu phần mềm bằng biểu đồ UML (Use Case, Sequence Diagram, DFD, Class Diagram) và quy trình thiết kế bộ Testcase kiểm thử phần mềm chuyên nghiệp.
Câu hỏi thường gặp
1. Khóa luận sử dụng mô hình học sâu nào để nhận diện loài hoa và làm cách nào để mô hình chạy được trên điện thoại thông minh?
Khóa luận sử dụng kiến trúc mạng nơ-ron tích chập với mô hình tiền huấn luyện MobileNet V2 thông qua kỹ thuật học chuyển giao (Transfer Learning) trên thư viện TensorFlow/Keras. Để triển khai trên điện thoại Android, mô hình sau khi huấn luyện được chuyển đổi qua công cụ TensorFlow Lite Converter sang định dạng tệp phẳng .tflite, giúp tối ưu hóa dung lượng và cho phép suy luận trực tiếp trên thiết bị di động.
2. Người dùng có thể thực hiện những thao tác chính nào trên ứng dụng nhận diện hoa?
Người dùng sau khi đăng nhập (qua Google hoặc Facebook) có thể thực hiện 12 nghiệp vụ: xem bài đăng trên trang chủ, xem chi tiết bài viết, viết bài chia sẻ ảnh hoa, nhận diện hoa qua camera hoặc ảnh thư viện, tìm kiếm hoa theo tên, xem thông tin chi tiết về loài hoa, gửi thông tin đóng góp bổ sung cho loài hoa, quản lý thông tin cá nhân, chỉnh sửa thông tin tài khoản và đăng xuất.
3. Đồ án đã khảo sát những ứng dụng tương tự nào và rút ra kết luận gì cho việc phát triển ứng dụng mới?
Đề tài khảo sát 5 ứng dụng gồm PlantNet, PictureThis, PlantSnap, iNaturalist và Seek. Kết luận rút ra là các ứng dụng hiện tại tuy có cơ sở dữ liệu lớn nhưng chủ yếu hỗ trợ tiếng Anh, nhiều ứng dụng bắt trả phí hoặc chèn nhiều quảng cáo gây khó chịu. Từ đó, đồ án xác định xây dựng ứng dụng thuần Việt, giao diện trực quan, miễn phí, hỗ trợ nhận diện nhanh và có tính năng cộng đồng đóng góp dữ liệu.
4. Cơ sở dữ liệu của ứng dụng được xây dựng trên hệ quản trị nào và quản lý những thực thể dữ liệu nào?
Cơ sở dữ liệu được xây dựng trên nền tảng NoSQL MongoDB, bao gồm 5 cấu trúc bảng/collection chính: User (thông tin người dùng), Post (bài viết chia sẻ), Plant (thông tin thực vật học của loài hoa), ImagePlant (tập hình ảnh minh họa cho loài hoa) và Contribute (thông tin bổ sung do cộng đồng đóng góp).
5. Quy trình nhận diện loài hoa bằng hình ảnh trên ứng dụng diễn ra như thế nào?
Người dùng kích hoạt chức năng camera trên ứng dụng, chụp ảnh hoa thực tế hoặc chọn ảnh từ thư viện thiết bị, sau đó sử dụng công cụ cắt ảnh để đưa vùng hoa vào khung hình chuẩn. Ứng dụng truyền dữ liệu ảnh vào mô hình TensorFlow Lite để xử lý và trả về màn hình danh sách 5 loài hoa có tỷ lệ dự đoán chính xác cao nhất kèm thông tin khoa học của loài hoa đó.
Kết luận
Đồ án tốt nghiệp "Xây dựng ứng dụng nhận diện hoa trên smartphone" của nhóm sinh viên Nguyễn Tuấn Vũ và Võ Huy Hoàng đã giải quyết thành công bài toán ứng dụng học sâu vào thực tiễn di động thông qua sự kết hợp giữa mô hình MobileNet V2, công nghệ TensorFlow Lite và ngăn xếp MERN Stack (React Native, NodeJS, ExpressJS, MongoDB). Ứng dụng không chỉ cung cấp khả năng nhận diện hình ảnh 30 loài hoa một cách nhanh chóng với độ tin cậy cao mà còn xây dựng được môi trường mạng xã hội hỗ trợ chia sẻ kiến thức và đóng góp dữ liệu thực vật học bằng tiếng Việt. Mặc dù còn giới hạn về số lượng loài nhận diện và phạm vi nền tảng Android, đề tài đã đặt nền móng vững chắc cho các hướng phát triển mở rộng quy mô dữ liệu và nâng cao chất lượng nhận diện thực vật trong tương lai.