Bối cảnh và vấn đề nghiên cứu
Trong lĩnh vực y tế và chăm sóc sức khỏe, sự an toàn của người bệnh phụ thuộc trực tiếp vào tính chính xác của quy trình kê đơn và cấp phát thuốc. Hiện nay, thị trường dược phẩm lưu hành hơn 10.000 loại thuốc khác nhau, trong đó có tỷ lệ lớn các loại thuốc thuộc nhóm LASA (Look-Alike Sound-Alike - các loại thuốc có bao bì, hình dạng, màu sắc hoặc phát âm tương tự nhau). Theo thống kê của Cục Quản lý Thực phẩm và Dược phẩm Hoa Kỳ (US FDA), từ năm 2000 đến nay đã ghi nhận hơn 95.000 báo cáo về các sai sót liên quan đến việc dùng thuốc, với khoảng 25% các sự cố bắt nguồn từ việc nhầm lẫn tên gọi hoặc hình thức bên ngoài của thuốc. Tại Malaysia, Bộ Y tế nước này đã ghi nhận 5.003 báo cáo về lỗi kê đơn trong năm 2011, trong đó các loại thuốc LASA chiếm khoảng 6% tổng số vụ việc.
Tại Việt Nam, các sự cố y khoa liên quan đến cấp phát sai thuốc đã từng xảy ra trên thực tế với hậu quả nghiêm trọng. Cụ thể, vào tháng 04/2018 tại Trung tâm Y tế huyện Tân Phước, nhân viên y tế đã cấp nhầm thuốc phá thai Misoprostol 200mcg cho thai phụ thay vì thuốc dưỡng thai Miproton 100mg theo chỉ định của bác sĩ. Trước đó vào đầu năm 2014, tại Bệnh viện Huyện Bình Chánh (TP.HCM), bác sĩ đã cấp nhầm Levetiracetam (thuốc điều trị động kinh) thay cho Piracetam (thuốc hỗ trợ chuyển hóa tế bào thần kinh) do hai loại thuốc này có cách gọi và đặc điểm nhận dạng gần giống nhau. Hội đồng Điều phối Quốc gia về Báo cáo và Phòng ngừa Sai sót Thuốc Hoa Kỳ (NCCMERP) định nghĩa sai sót thuốc là bất kỳ biến cố nào có thể phòng ngừa được nhưng lại dẫn đến việc sử dụng thuốc không đúng cách hoặc gây tổn hại cho bệnh nhân trong quá trình kiểm soát của chuyên gia y tế hay người tiêu dùng.
Trước thực trạng đó, các giải pháp hỗ trợ tự động hóa đã được đề xuất, chẳng hạn như sử dụng robot nhắc nhở và phân loại thuốc chuyên dụng. Tuy nhiên, giải pháp phần cứng này có chi phí đắt đỏ và tính linh hoạt không cao. Thay vào đó, việc xây dựng một ứng dụng di động chạy trên hệ điều hành Android (nền tảng chiếm hơn 70% thị phần hệ điều hành di động toàn cầu vào năm 2022) tích hợp mạng nơ-ron tích chập (Convolutional Neural Networks - CNN) mang lại hiệu quả kinh tế cao, khả năng tiếp cận rộng rãi và tính tiện dụng vượt trội cho cả y bác sĩ lẫn bệnh nhân.
Khóa luận tốt nghiệp của tác giả Nguyễn Tuấn Anh (MSSV: 18520465), chuyên ngành Kỹ sư Hệ thống Thông tin - Chương trình Tiên tiến thuộc Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP.HCM, dưới sự hướng dẫn của TS. Phan Xuân Thiện, tập trung giải quyết bài toán trên thông qua 5 mục tiêu nghiên cứu cụ thể:
- Nhận diện và phân loại thuốc tự động bằng thị giác máy tính nhằm hỗ trợ bác sĩ, nhân viên y tế và bệnh nhân tránh nhầm lẫn thuốc.
- Hỗ trợ người dùng định vị và tìm kiếm các bệnh viện gần nhất qua bản đồ.
- Hỗ trợ người bán thuốc/dược sĩ lập hóa đơn thanh toán trực tiếp khi lựa chọn danh mục thuốc từ hệ thống.
- Lập biểu đồ thống kê tổng doanh thu bán thuốc theo hóa đơn trong ngày.
- Thiết kế và triển khai hoàn chỉnh ứng dụng nhận diện, phân loại thuốc vận hành ổn định trên nền tảng di động Android.
Đối tượng nghiên cứu của đề tài là các mô hình học sâu nhận diện ảnh (CNN, Faster R-CNN, Mask R-CNN), các công cụ thị giác máy tính, và môi trường lập trình Android. Phạm vi nghiên cứu thực nghiệm tập trung vào bộ dữ liệu gồm 10 loại dược phẩm phổ biến trên thị trường, với thời gian triển khai toàn bộ dự án kéo dài trong 17 tuần.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng lý thuyết vững chắc dựa trên các mô hình trí tuệ nhân tạo, học sâu và kỹ thuật lập trình di động hiện đại:
-
Mạng nơ-ron nhân tạo (ANN): Hoạt động dựa trên mô phỏng tế bào thần kinh sinh học, gồm các thành phần tiếp nhận tín hiệu đầu vào, hàm kích hoạt (Activation Function, phổ biến là hàm Sigmoid chuẩn hóa đầu ra về khoảng [0, 1]), các tầng ẩn (Hidden Layers) và tầng đầu ra. Khóa luận phân tích 3 cơ chế học chính: Học có giám sát (Supervised Learning), Học không giám sát (Unsupervised Learning) và Học tăng cường (Reinforcement Learning).
-
Mạng nơ-ron tích chập (CNN): Cấu trúc chuyên dụng cho phân loại ảnh kỹ thuật số, bao gồm 5 tầng cơ bản:
- Tầng đầu vào (Input Layer): Nhận ma trận điểm ảnh thô được chuẩn hóa về kích thước $224 \times 224$ pixels.
- Tầng tích chập (Convolutional Layer): Sử dụng các bộ lọc (kernels) để trích xuất đặc trưng không gian cục bộ từ ảnh.
- Tầng lấy mẫu giảm (Down-sampling/Pooling Layer): Thực hiện phép Max Pooling nhằm giảm chiều dữ liệu không gian, hạn chế hiện tượng quá khớp (overfitting) và tăng tốc độ xử lý.
- Tầng kết nối đầy đủ (Fully Connected Layer): Tổng hợp các đặc trưng phi tuyến tính đã được trừu tượng hóa để tính toán phân phối xác suất.
- Tầng đầu ra (Output Layer): Chứa số lượng nơ-ron tương ứng với số lượng lớp thuốc cần phân loại (10 lớp).
-
Mô hình Faster R-CNN và Region Proposal Network (RPN): Khắc phục nhược điểm của thuật toán Selective Search truyền thống bằng việc chia sẻ các tầng tích chập giữa mạng RPN và mạng phân loại Fast R-CNN. RPN sử dụng cơ chế Anchor Box tại mỗi vị trí sliding window ($3 \times 3$) với 3 tỷ lệ khung hình (Aspect Ratio) và 3 tỷ lệ kích thước (Scale), tạo ra $k = 9$ anchor box tham chiếu để dự đoán vùng chứa vật thể. Tầng RoI Pooling thực hiện chuyển đổi các vùng đề xuất có kích thước khác nhau về dạng ma trận đặc trưng cố định.
-
Mô hình Mask R-CNN: Phát triển từ Faster R-CNN cho bài toán phân vùng cá thể (Instance Segmentation), tích hợp lớp RoIAlign để căn chỉnh toạ độ điểm ảnh chính xác, tối ưu hàm mất mát tổng hợp:
$$L = L_{cls} + L_{box} + L_{mask}$$
Trong đó $L_{cls}$ là hàm mất mát phân loại, $L_{box}$ là hàm mất mát khung bao (bounding box), và $L_{mask}$ là hàm mất mát nhị phân cross-entropy trung bình của mặt nạ nhị phân.
-
Quy trình nhận diện thuốc theo Mask R-CNN: Gồm 4 bước: (1) Học phát hiện vùng thuốc đơn lớp (Single Class Pill Area Detection), (2) Tự động gán nhãn và tạo tệp dữ liệu JSON chứa tọa độ đa giác (Polygonal Coordinates), (3) Học nhận diện nhãn thuốc đa lớp (Multi-Class Pill Label Detection Learning) kết hợp tăng cường dữ liệu quay góc từ -180° đến +180° bằng thư viện imgaug, (4) Dự đoán và phát hiện thuốc trên ảnh thực tế.
-
Hệ thống công cụ và thư viện: Ngôn ngữ lập trình Java kết hợp Android Studio IDE; thư viện học máy TensorFlow và bộ công cụ TensorFlow Object Detection API (khai thác tập mô hình mẫu Model Zoo và độ đo mAP); các thư viện Python chuyên dụng gồm OpenCV (xử lý ảnh thời gian thực), NumPy (xử lý ma trận dữ liệu), Matplotlib (trực quan hóa khung nhận diện), công cụ gán nhãn ảnh LabelIMG.
Thiết kế và triển khai
Khóa luận tiến hành thiết kế hệ thống và huấn luyện mô hình phân loại thuốc theo kiến trúc mạng phân cấp và triển khai ứng dụng trên nền tảng Android:
- Kiến trúc mô hình phân loại thuốc 2 cấp (Mother-Class & Child-Class): Nhằm ngăn chặn hiện tượng nhận diện sai lệch giữa các lớp thuốc không tương thích, tác giả thiết lập 10 mạng CNN riêng biệt tương ứng với 10 nhóm thuốc cha (Mother-classes). Khi nhận ảnh đầu vào, mô hình CNN đầu tiên xác định khung bao và phân loại nhóm cha; ảnh chụp thực tế được cắt theo vùng này rồi đưa qua nhánh mạng con (Child-class) tương ứng để hội tụ ra kết quả định danh cuối cùng.
- Môi trường phần cứng và thiết lập huấn luyện: Quá trình huấn luyện mô hình được thực hiện trên máy tính xách tay DELL trang bị vi xử lý Intel Core i5, hệ điều hành Windows 11, tăng tốc xử lý toán học thông qua NVIDIA CUDA Toolkit, cuDNN SDK, Python 3 và phiên bản TensorFlow GPU 1.0. Dữ liệu gán nhãn từ file XML của LabelIMG được chuyển đổi sang file định dạng CSV và đóng gói thành TFrecords.
- Tham số huấn luyện mạng: Toàn bộ ảnh được chuẩn hóa về kích thước $224 \times 224$ pixels. Kích thước batch (Batch Size) được thiết lập cố định bằng 8. Số lượng epoch huấn luyện tối đa là 100 epoch.
- Triển khai ứng dụng di động Android: Ứng dụng được lập trình hoàn toàn bằng ngôn ngữ Java trên Android Studio, thiết kế giao diện đồ họa thân thiện và trực quan, bao gồm các phân hệ chức năng:
- Phân hệ nhận diện thuốc: Tích hợp mô hình học sâu đã huấn luyện, cho phép chụp ảnh trực tiếp qua camera thiết bị hoặc tải ảnh từ bộ nhớ để tự động nhận diện tên thuốc, công dụng, ngày sản xuất và hướng dẫn sử dụng.
- Phân hệ tra cứu thông tin: Hiển thị danh mục chi tiết các loại thuốc có trong cơ sở dữ liệu nội bộ.
- Phân hệ định vị: Tích hợp bản đồ GPS hỗ trợ người dùng tìm kiếm nhanh các bệnh viện và cơ sở y tế gần nhất.
- Phân hệ quét mã: Hỗ trợ quét mã vạch và mã QR trên bao bì thuốc.
- Phân hệ quản lý bán hàng: Cho phép dược sĩ/người bán chọn thuốc từ danh mục để tạo hóa đơn thanh toán (Bill Page) và tự động tổng hợp biểu đồ thống kê doanh thu trong ngày (Statistic Screen).
Nội dung chính theo từng chương
Chương 1: Giới thiệu (Introduction)
Chương này trình bày tổng quan về tầm quan trọng của sức khỏe, thực trạng sai sót thuốc tại Hoa Kỳ, Malaysia và các ca tai biến thực tế tại Việt Nam (huyện Tân Phước, Bệnh viện Bình Chánh). Tác giả làm rõ tính cấp thiết của việc áp dụng ứng dụng di động trên nền tảng Android (chiếm 70% thị phần) kết hợp mạng CNN so với các giải pháp phần cứng robot tốn kém. Chương 1 cũng xác định 5 mục tiêu nghiên cứu, phạm vi ứng dụng, ý nghĩa thực tiễn đối với bệnh nhân (người già, người mắc bệnh suy giảm trí nhớ, Alzheimer) và nhân viên y tế, cùng kế hoạch thực hiện dự án chi tiết trong thời gian 17 tuần.
| Công việc thực hiện |
Thời gian (Tuần) |
| Nghiên cứu tính khả thi của dự án (Project Feasibility Studies) |
1 |
| Thiết kế và phát triển (Design and Development) |
2 |
| Kiểm thử chương trình (Program Testing) |
1 |
| Triển khai hệ thống (Implementation) |
9 |
| Viết báo cáo khóa luận (Project Write up) |
2 |
| Chỉnh sửa và hoàn thiện báo cáo (Write up corrections) |
2 |
| Tổng thời gian hoàn thành |
17 |
Chương 2: Tổng quan tài liệu (Literature Review)
Chương 2 tổng hợp và phân tích các công trình nghiên cứu tiền bối về phân loại thuốc qua ảnh di động, tiêu biểu như:
- Dự án C3PI và cuộc thi nhận diện ảnh thuốc của Viện Y tế Quốc gia Hoa Kỳ (NIH).
- Kỹ thuật truy xuất ảnh dựa trên nội dung (CBIR) kết hợp học sâu (Bose, 2020).
- Mô hình MobileDeepPill phát triển từ AlexNet (Krizhevsky; Zeng, 2017) phân tích hình dạng, màu sắc và độ dốc.
- Mô hình phân loại dựa trên GoogleNet / Inception Network (Wang et al., 2010; Delgado, 2019).
- Phương pháp phân loại màu sắc sử dụng máy học SVM của C3PI đạt độ chính xác 97% nhưng dễ bị ảnh hưởng bởi ánh sáng, góc chụp và màu nền (Guo P.).
- Kỹ thuật Distance Set (Grigorescu et al.) và Two-Step Sampling Distance Set (TSDS - Eakins, 2000) đạt độ chính xác 93% trên 12.500 ảnh.
- Kiến trúc mạng phần dư sâu ResNet (He & Zhang, 2016) với khả năng huấn luyện hàng nghìn tầng nơ-ron vượt trội hơn so với AlexNet (5 tầng), VGG (19 tầng) và GoogLeNet (22 tầng).
Tác giả chỉ ra các khoảng trống nghiên cứu của các hệ thống trước đây: phụ thuộc nền tảng cứng nhắc, giao diện người dùng thiếu trực quan, thiếu tính năng tìm kiếm bệnh viện, không có khả năng xuất hóa đơn và thống kê kinh doanh, hoặc đòi hỏi cấu hình phần cứng chuyên dụng đắt tiền.
Chương 3: Khung lý thuyết (Theoretical Framework)
Chương 3 trình bày chi tiết cơ sở lý thuyết và công nghệ nền tảng:
- Hệ sinh thái Android Studio và kiến trúc Mobile Development Framework (Kulathumani, 2015).
- Ngôn ngữ lập trình Java chuyên dụng cho ứng dụng Android.
- Lý thuyết mạng nơ-ron nhân tạo: Cấu trúc nơ-ron, hàm kích hoạt Sigmoid, 3 phương pháp học.
- Mạng nơ-ron tích chập (CNN) và 5 tầng kiến trúc cơ bản.
- Mạng Faster R-CNN: Cấu trúc RPN, cơ chế Anchor Box ($k = 9$), Proposal Layer, tầng RoI Pooling.
- Mạng Mask R-CNN và thuật toán RoIAlign, cấu trúc hàm mất mát đa nhiệm ($L_{cls}$, $L_{box}$, $L_{mask}$).
- Mô hình kiểm tra thuốc dựa trên Mask R-CNN qua 4 giai đoạn, cơ chế tự động gán nhãn xuất file JSON và tăng cường ảnh bằng thư viện
imgaug.
- Các công nghệ hỗ trợ thị giác máy tính: TensorFlow Object Detection API, Model Zoo, độ đo mAP, và các thư viện hỗ trợ gồm OpenCV, NumPy, Matplotlib, OS, Utils.
Chương 4: Phương pháp nghiên cứu và phát triển mô hình (Methodology)
Chương 4 trình bày quy trình thực nghiệm gồm 4 bước: Thu thập dữ liệu, Thiết kế mô hình, Huấn luyện mô hình và Kiểm thử mô hình. Tác giả thu thập bộ dữ liệu từ kho lưu trữ trực tuyến Kaggle gồm 10 loại thuốc với khoảng 10.000 ảnh được gán nhãn bằng công cụ LabelIMG (chụp từ 2 góc máy và 8 hướng xoay khác nhau). Dữ liệu được chia theo tỷ lệ 3/4 cho tập huấn luyện và 1/4 cho tập kiểm thử. Toàn bộ ảnh được chuẩn hóa về kích thước $224 \times 224$ pixels, huấn luyện trên cấu hình phần cứng Dell Core i5, Windows 11, CUDA, cuDNN, TensorFlow GPU 1.0 và Python 3 với Batch size = 8 và tối đa 100 epoch.
Chương 5: Triển khai hệ thống (System Implementation)
Chương 5 mô tả chi tiết giao diện và quy trình vận hành các tính năng thực tế của ứng dụng trên thiết bị Android: Giao diện Menu chính (Main Menu), Danh sách tra cứu thuốc từ cơ sở dữ liệu (Drug Detail List), Màn hình kích hoạt camera chụp ảnh nhận diện trực tiếp, Tính năng định vị cơ sở y tế (Near By Hospital Places), Giao diện quét mã QR/mã vạch (Scan QR Barcode), Trang lập hóa đơn thanh toán (Bill Page), và Màn hình trực quan hóa biểu đồ thống kê doanh thu bán hàng trong ngày (Statistic Screen).
Chương 6: Kết luận và hướng phát triển (Conclusion and Future Work)
Chương 6 tổng kết toàn bộ quá trình thiết kế, huấn luyện mô hình CNN và đóng gói ứng dụng di động nhận diện thuốc trên hệ điều hành Android. Đồng thời, tác giả đưa ra các kiến nghị và định hướng phát triển nhằm nâng cấp hiệu năng và mở rộng quy mô hệ thống trong tương lai.
Kết quả và đóng góp
Khóa luận đã hoàn thành việc xây dựng tập dữ liệu thực nghiệm và triển khai thành công ứng dụng di động tích hợp mô hình học sâu:
- Xây dựng bộ dữ liệu ảnh thuốc: Thu thập và gán nhãn 10.000 hình ảnh của 10 loại dược phẩm thông dụng, phân chia rõ ràng giữa tập huấn luyện và kiểm thử.
| STT |
Tên loại thuốc |
Số lượng hình ảnh |
| 1 |
Alaxan |
1.000 |
| 2 |
Bactidol |
1.000 |
| 3 |
Bioflu |
1.000 |
| 4 |
Biogesic |
1.000 |
| 5 |
DayZinc |
1.000 |
| 6 |
Decolgen |
1.000 |
| 7 |
Fish Oil |
1.000 |
| 8 |
Kremil S |
1.000 |
| 9 |
Medicol |
1.000 |
| 10 |
Neozep |
1.000 |
| -- |
Dữ liệu huấn luyện (Training Data) |
8.000 |
| -- |
Dữ liệu kiểm thử (Testing Data) |
2.000 |
(Ghi chú: Theo thống kê bảng phân chia dữ liệu của đề tài, tập huấn luyện gồm 8.000 ảnh và tập kiểm thử gồm 2.000 ảnh; phần văn bản của khóa luận cũng ghi nhận phương án kiểm thử mở rộng với 4.500 ảnh).
- Đóng góp về mặt kỹ thuật và ứng dụng:
- Thiết kế thành công kiến trúc CNN phân cấp (Mother-Class và Child-Class) giúp loại trừ hiện tượng nhận diện chéo giữa các dòng thuốc khác biệt.
- Ứng dụng di động hóa hoàn chỉnh quy trình nhận diện thuốc trên nền tảng Android, không đòi hỏi người dùng phải mua sắm thiết bị phần cứng chuyên dụng cồng kềnh.
- Tích hợp đa dạng các tiện ích thiết thực trong một ứng dụng duy nhất: nhận diện thuốc qua ảnh, tra cứu thông tin thuốc, quét mã QR/Barcode, tìm bệnh viện gần nhất qua GPS, hỗ trợ tạo hóa đơn bán thuốc và thống kê doanh thu hàng ngày.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận đã thẳng thắn chỉ ra các hạn chế kỹ thuật hiện tại của hệ thống:
- Tính phụ thuộc nền tảng: Ứng dụng mới chỉ được phát triển và vận hành độc quyền trên hệ điều hành Android (chạy trên các thiết bị của Samsung, OPPO, Vivo...), chưa hỗ trợ nền tảng iOS.
- Phụ thuộc kết nối mạng: Tính năng tìm kiếm bệnh viện gần nhất bắt buộc thiết bị phải có kết nối Internet để tải bản đồ và định vị; ứng dụng không thể thực hiện tác vụ này khi ngoại tuyến.
- Quy mô tập dữ liệu giới hạn: Mô hình mới chỉ được huấn luyện trên 10 loại thuốc cụ thể; chưa bao phủ được số lượng lớn các loại dược phẩm đa dạng khác đang lưu hành trên thị trường do thiếu hụt dữ liệu huấn luyện.
- Hiệu năng xử lý ảnh lớn: Khi đưa vào mô hình nhiều hình ảnh hoặc xử lý tác vụ nặng liên tục, ứng dụng đôi khi phản hồi chậm (sluggish) hoặc xảy ra hiện tượng tự động đóng/treo ứng dụng (crash).
Hướng phát triển tiếp theo:
- Tối ưu hóa cấu trúc mô hình học sâu để giảm tải tài nguyên tính toán, cải thiện tốc độ nhận diện và loại bỏ hiện tượng giật lag trên các thiết bị di động cấu hình thấp.
- Mở rộng quy mô bộ dữ liệu gán nhãn, bổ sung thêm hàng trăm danh mục thuốc LASA và thuốc kê đơn phổ biến khác.
- Nghiên cứu phát triển phiên bản ứng dụng đa nền tảng tương thích với hệ điều hành iOS.
Giá trị tham khảo
Khóa luận tốt nghiệp này là tài liệu tham khảo có giá trị cao đối với:
- Sinh viên ngành Hệ thống Thông tin, Khoa học Máy tính, Kỹ thuật Phần mềm: Cung cấp tài liệu thực hành toàn diện về quy trình tích hợp mô hình học máy/học sâu (CNN, Faster R-CNN, Mask R-CNN) từ môi trường Python/TensorFlow sang ứng dụng di động Android bằng ngôn ngữ Java.
- Nhà phát triển ứng dụng di động y tế (m-Health): Cung cấp giải pháp tham khảo về thiết kế kiến trúc phân loại 2 cấp (Mother/Child Class) và quy trình gán nhãn dữ liệu hình ảnh thuốc tự động.
- Phần đáng tham khảo nhất: Chương 3 và Chương 4 với các phân tích chi tiết về cơ chế hoạt động của mạng RPN, tầng RoI Pooling/RoIAlign, phương pháp trích xuất đặc trưng và quy trình cấu hình pipeline huấn luyện TensorFlow GPU phục vụ bài toán nhận diện vật thể thực tế.
Câu hỏi thường gặp
1. Khóa luận này giải quyết bài toán nhận diện cho bao nhiêu loại thuốc và gồm những loại nào?
Mô hình thực nghiệm của khóa luận được huấn luyện để nhận diện chính xác 10 loại thuốc phổ biến trên thị trường gồm: Alaxan, Bactidol, Bioflu, Biogesic, DayZinc, Decolgen, Fish Oil, Kremil S, Medicol và Neozep.
2. Kích thước ảnh đầu vào và các tham số chính khi huấn luyện mô hình CNN là gì?
Mọi hình ảnh đầu vào đều được chuẩn hóa về độ phân giải $224 \times 224$ pixels. Quá trình huấn luyện được thiết lập với kích thước lô (Batch size) bằng 8, số chu kỳ huấn luyện tối đa (Epochs) là 100, và không áp dụng tiền huấn luyện (pre-training) hay tăng cường dữ liệu trong giai đoạn huấn luyện mạng CNN chuẩn.
3. Kiến trúc mạng phân loại 2 cấp (Mother-Class và Child-Class) trong đề tài hoạt động như thế nào?
Mô hình chuẩn bị 10 mạng CNN riêng biệt tương ứng với 10 lớp cha (Mother-classes). Khi nhận ảnh đầu vào, mạng CNN sẽ trích xuất Bounding Box và xác định nhóm cha; ảnh thực tế được cắt theo vùng này và chuyển tiếp đến nhánh mạng con (Child-class) tương ứng để hội tụ ra kết quả định danh cuối cùng, ngăn chặn việc phân loại nhầm sang các lớp thuốc không tương thích (ví dụ: nếu lớp cha là Alaxan thì lớp con không thể là Bactidol).
4. Ứng dụng di động được xây dựng bằng ngôn ngữ gì và có hoạt động được trên iPhone (iOS) không?
Ứng dụng được lập trình hoàn toàn bằng ngôn ngữ Java trên môi trường Android Studio IDE. Do thiết kế phụ thuộc nền tảng, ứng dụng chỉ tương thích và vận hành trên các dòng điện thoại thông minh chạy hệ điều hành Android (như Samsung, OPPO, Vivo) và hiện tại không hỗ trợ hệ điều hành iOS.
5. Ngoài tính năng nhận diện thuốc, ứng dụng còn hỗ trợ những chức năng nào khác?
Ứng dụng tích hợp thêm các tính năng: tra cứu chi tiết thông tin thuốc từ cơ sở dữ liệu, quét mã QR/mã vạch bao bì, tìm kiếm bệnh viện gần nhất qua bản đồ GPS, hỗ trợ người bán tạo hóa đơn bán thuốc (Bill Page) và theo dõi biểu đồ thống kê tổng doanh thu bán lẻ trong ngày.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Tuấn Anh đã giải quyết thành công bài toán nhận diện và phân loại 10 loại dược phẩm phổ biến thông qua việc ứng dụng mạng nơ-ron tích chập (CNN) trên nền tảng di động Android. Đề tài kết hợp chặt chẽ giữa cơ sở lý thuyết thị giác máy tính hiện đại với việc triển khai thực tế một ứng dụng di động hoàn chỉnh đa chức năng, từ nhận diện ảnh thuốc đến hỗ trợ định vị cơ sở y tế và quản lý bán hàng. Mặc dù vẫn còn một số hạn chế về quy mô dữ liệu và tính độc quyền nền tảng Android, công trình đã đóng góp một giải pháp công nghệ khả thi, chi phí thấp nhằm hỗ trợ giảm thiểu các sai sót y khoa liên quan đến thuốc trong cộng đồng.