Nội dung chính
- 1 Giới thiệu chung về demo xây dựng hệ thống AI nhận diện bệnh da vảy nến (psoriasis) và viêm da cơ địa (eczema)
- 2 Demo video
- 3 Mục tiêu của dự án
- 4 Lý do chọn dự án bệnh da liễu
- 5 Quy trình dữ liệu của dự án
- 6 Cấu trúc thư mục dữ liệu
- 7 Xây dựng mô hình AI bằng TensorFlow/Keras
- 8 Kiểm thử mô hình trong Google Colab
- 9 Xuất mô hình cho nghiên cứu tiếp theo
- 10 Giới hạn của dự án (do dừng ở mức demo)
- 11 Hướng phát triển trong tương lai
- 12 Kết luận
Giới thiệu chung về demo xây dựng hệ thống AI nhận diện bệnh da vảy nến (psoriasis) và viêm da cơ địa (eczema)
Tên project: Demo xây dựng hệ thống AI nhận diện bệnh da vảy nến (psoriasis) và viêm da cơ địa (eczema)
Tác giả: TungVT
Trong lĩnh vực y tế, các mô hình học sâu đang đóng vai trò ngày càng quan trọng trong hỗ trợ chẩn đoán hình ảnh. Đặc biệt với các bệnh da liễu, nơi hình ảnh bề mặt da đóng vai trò quyết định trong việc xác định bệnh, việc ứng dụng AI giúp rút ngắn thời gian nhận diện, tăng khả năng tiếp cận thông tin bệnh học cho cộng đồng.
Dự án “Xây dựng hệ thống AI nhận diện bệnh da vảy nến (psoriasis) và viêm da cơ địa (eczema) – phiên bản demo Google Colab” ra đời từ nhu cầu nghiên cứu một mô hình phân loại bệnh da đơn giản, hoạt động nhanh, có thể chạy thử nghiệm trực tiếp trên Google Colab mà không cần triển khai lên website hay máy chủ chuyên dụng.
Khác với những hệ thống hoàn chỉnh thường yêu cầu backend Python, cơ sở dữ liệu và hạ tầng triển khai, dự án này tập trung hoàn toàn vào quy trình nghiên cứu mô hình:
-
Tự thu thập dữ liệu bằng công cụ tự động hóa.
-
Làm sạch, chuẩn hóa dữ liệu.
-
Huấn luyện mô hình CNN bằng TensorFlow/Keras.
-
Kiểm thử mô hình bằng cách upload ảnh trực tiếp tại Colab.
-
Xuất file mô hình (.keras, .h5, .tfjs) phục vụ nghiên cứu tiếp theo.
Dự án dừng ở mức nghiên cứu – thực nghiệm, chưa triển khai giao diện web và hoàn toàn chạy nội bộ trong môi trường Google Colab.
Demo video
Mục tiêu của dự án
Mục tiêu tổng quát
Xây dựng một mô hình trí tuệ nhân tạo có khả năng nhận diện hai loại bệnh da phổ biến thông qua ảnh:
-
Psoriasis (vảy nến)
-
Eczema (viêm da cơ địa)
Mô hình hướng đến tính nhẹ, nhanh, dễ huấn luyện, dễ kiểm thử, phù hợp cho demo và nghiên cứu tiền khả thi.
Mục tiêu chi tiết
Thu thập dữ liệu hình ảnh ở quy mô vừa
Dữ liệu hình ảnh y tế thường khó tiếp cận, do vậy dự án sử dụng phương pháp tự động thu thập hình ảnh từ các nguồn công khai thông qua công cụ crawling.
Xây dựng mô hình CNN đơn giản nhưng hiệu quả
Mô hình nhắm đến:
-
Kích thước nhỏ
-
Thời gian huấn luyện nhanh
-
Độ chính xác vừa đủ để minh chứng tính khả thi
Kiểm thử mô hình bằng ảnh thực tế
Người dùng có thể upload ảnh bất kỳ vào Google Colab để kiểm chứng kết quả phân loại.
Xuất mô hình cho mục đích mở rộng trong tương lai
Bao gồm:
-
file
.keras -
file
.h5 -
bộ mô hình TensorFlow.js dạng
model.json + weight.bin
Lý do chọn dự án bệnh da liễu

Tính trực quan
Bệnh da có biểu hiện rõ rệt qua hình ảnh, phù hợp với Computer Vision.
Ít yêu cầu máy móc phức tạp
Không như X-quang, CT hay MRI, hình ảnh da có thể thu thập từ nhiều nguồn.
Tầm quan trọng trong đời sống
Vảy nến và eczema là các bệnh mãn tính phổ biến, ảnh hưởng đến chất lượng cuộc sống của hàng triệu người.
Khả năng mở rộng
Từ hai bệnh cơ bản có thể mở rộng thành hệ thống nhận diện nhiều loại bệnh da khác.
Quy trình dữ liệu của dự án
Dữ liệu là nền tảng của mọi mô hình AI. Dự án này xây dựng một pipeline đơn giản nhưng hiệu quả.
Công cụ thu thập dữ liệu
Selenium WebDriver
Dùng để mô phỏng thao tác người dùng trong trình duyệt, tự động:
-
Tìm kiếm hình ảnh
-
Kéo xuống trang để load thêm
-
Tải ảnh về máy
ChromeDriver
Giúp Selenium điều khiển trình duyệt Chrome cục bộ.
Ưu điểm của quy trình này
-
Tự động hoàn toàn
-
Thu được số lượng lớn ảnh nhanh chóng
-
Có thể chạy lại nhiều lần
Tối ưu hóa dữ liệu sau khi tải
Lọc ảnh lỗi
Một số ảnh có thể:
-
Bị trùng
-
Không phải hình ảnh da
-
Chứa watermark quá lớn
→ Những ảnh này được loại bỏ.
Chuẩn hóa kích thước ảnh
Dự án sử dụng kích thước chuẩn:
-
224×224 px, RGB
-
Dùng hàm
image.load_img()vàimg_to_array()
Chuẩn hóa giá trị pixel
Mọi ảnh được scale về khoảng 0.0 – 1.0, giúp mô hình hội tụ nhanh hơn.
Cấu trúc thư mục dữ liệu
Toàn bộ dataset được tổ chức lại thành:
Vai trò của cấu trúc này
-
Giúp Keras tự động gán nhãn phân loại
-
Dễ dàng chia training và validation
-
Dễ mở rộng sang nhiều loại bệnh khác
Xây dựng mô hình AI bằng TensorFlow/Keras
Lựa chọn mô hình
Dự án sử dụng Convolutional Neural Network (CNN) – một dạng mạng nơ-ron chuyên xử lý ảnh.
Lý do chọn CNN
-
Nhẹ
-
Dễ huấn luyện
-
Ít yêu cầu phần cứng
-
Chạy mượt trên Google Colab Free
Thiết kế kiến trúc mô hình
Lớp convolution
Dùng để trích xuất đặc trưng từ ảnh:
-
cạnh
-
vùng màu
-
họa tiết da
Lớp pooling
Giảm kích thước và tránh overfitting.
Lớp Dense cuối
Dự đoán kết quả:
-
2 neuron (eczema / psoriasis)
-
Activation: softmax
Optimizer
-
Adam (tối ưu đa năng)
Loss function
-
Categorical Crossentropy
Metric
-
Accuracy
Quá trình huấn luyện
Batch size
32
Epochs
10–20 (tùy thử nghiệm)
Augmentation dữ liệu (nếu dùng)
-
Horizontal flip
-
Zoom
-
Rotation
Kết quả huấn luyện
-
Training accuracy → tăng dần
-
Validation accuracy → ổn định quanh mức khả thi
Đối với dataset nhỏ, mô hình không nhắm tới độ chính xác tuyệt đối mà tập trung vào tính minh chứng.
Kiểm thử mô hình trong Google Colab
Dự án dừng tại bước này – chưa triển khai web.
Kiểm thử bằng upload ảnh thủ công
Người dùng có thể:
-
Chạy cell
files.upload() -
Chọn ảnh bất kỳ
-
Hệ thống tự xử lý ảnh
-
Mô hình trả về xác suất 2 lớp bệnh
Điều này giúp kiểm chứng:
-
mô hình hoạt động
-
pipeline tiền xử lý chính xác
-
dự đoán đã chính xác với dữ liệu thực
Xuất mô hình cho nghiên cứu tiếp theo
Mặc dù dự án không triển khai website, toàn bộ file mô hình được export để phục vụ hướng phát triển sau này.
Các định dạng đã export
1. File .keras
-
Dành cho huấn luyện tiếp
-
Dễ sử dụng nhất
2. File .h5
-
Tương thích cao
-
Dễ tích hợp vào các framework khác
3. Tệp TensorFlow.js
-
model.json -
group1-shard1.bin
Cho phép triển khai mô hình chạy trực tiếp trên trình duyệt nếu muốn phát triển giai đoạn sau.
Giới hạn của dự án (do dừng ở mức demo)
Không triển khai web
Chưa xây dựng:
-
giao diện người dùng
-
script TFJS
-
backend xử lý
-
API
-
hệ thống upload ảnh trực tuyến
Dataset còn hạn chế
Chỉ thu thập mức cơ bản, không qua kiểm định y tế.
Mô hình tương đối đơn giản
Chưa thử nghiệm:
-
ResNet
-
MobileNet
-
EfficientNet
-
Transfer Learning thực thụ
Chưa đánh giá mô hình chuyên sâu
Không có:
-
confusion matrix
-
precision/recall
-
F1-score
-
ROC curve
Hướng phát triển trong tương lai
Dự án demo này có thể mở rộng thành một hệ thống hoàn chỉnh:
1. Mở rộng dataset lớn hơn
Có thể dùng:
-
Kaggle
-
Bệnh viện (nếu có sự cho phép)
-
AI-generated images
2. Dùng mô hình mạnh hơn
MobileNet hoặc EfficientNet giúp độ chính xác tăng mạnh.
3. Xây dựng website thật
Hệ thống có thể triển khai bằng:
-
TFJS (chạy trực tiếp trong trình duyệt)
-
Flask API
-
FastAPI + GPU server
-
App Android/iOS
4. Hệ thống chuyên sâu
-
Phát hiện vùng tổn thương da
-
Khoanh vùng bằng Segmentation
-
Gợi ý cấp độ nguy cơ
Kết luận
Dự án “Xây dựng mô hình AI nhận diện bệnh da (psoriasis – eczema) bằng CNN – Demo Google Colab” là một nghiên cứu thử nghiệm mang tính sư phạm và khám phá công nghệ AI y tế.
Mặc dù chưa triển khai website và chỉ dừng ở mức demo chạy trực tiếp trên Google Colab, dự án đã thực hiện đầy đủ các bước quan trọng của một pipeline AI thực thụ:
-
Thu thập dữ liệu tự động
-
Làm sạch và chuẩn hóa dữ liệu
-
Huấn luyện mô hình bằng TensorFlow/Keras
-
Kiểm thử mô hình bằng ảnh người dùng
-
Xuất mô hình phục vụ mở rộng tương lai
Kết quả mô hình chứng minh rằng ngay cả với dataset nhỏ và phần cứng giới hạn, một cá nhân cũng có thể tự triển khai một hệ thống AI phân loại bệnh da đơn giản hoạt động được và có khả năng phát triển thành sản phẩm lớn.




Be the first to comment