Tìm hiểu chuyên sâu về phát hiện viên thuốc bằng Ultralytics YOLO11
Trong tutorial lập trình này, hãy tìm hiểu cách phát hiện viên thuốc bằng YOLO11 với Medical-Pills Dataset. Đồng thời, khám phá các ứng dụng tiềm năng và lợi ích của phương pháp này.

Trí tuệ nhân tạo đang được sử dụng trong hầu hết mọi ngành, nhưng ảnh hưởng của nó đến lĩnh vực chăm sóc sức khỏe, đặc biệt là ngành dược phẩm, đặc biệt đáng kể. Năm nay, thị trường AI trong ngành dược phẩm được định giá 1,94 tỷ USD và dự kiến sẽ tăng lên 16,49 tỷ USD vào năm 2034.
Một động lực công nghệ then chốt của thị trường này là thị giác máy tính. Khác với xử lý ảnh truyền thống, thị giác máy tính là một phân ngành của AI, cho phép máy móc hiểu và phân tích dữ liệu hình ảnh theo thời gian thực.

Hình 1. Tổng quan về AI trong thị trường dược phẩm.
Trong ngành dược phẩm, nơi ngay cả sai sót nhỏ nhất cũng có thể gây ra hậu quả nghiêm trọng, vision AI mang đến những phương thức mới và đáng tin cậy để cải thiện độ an toàn và độ chính xác.
Ví dụ, Ultralytics YOLO11 là một model thị giác máy tính được thiết kế cho các tác vụ theo thời gian thực như phát hiện đối tượng và phân đoạn instance, đồng thời có thể được sử dụng cho các ứng dụng như nhận diện viên thuốc hoặc phát hiện lỗi trên bao bì y tế.
Trong bài viết này, chúng ta sẽ tìm hiểu cách thực hành với vision AI bằng cách huấn luyện Ultralytics YOLO11 để phát hiện viên thuốc. Chúng ta cũng sẽ khám phá các ứng dụng thực tế của model. Hãy bắt đầu!
Xây dựng model AI phát hiện viên thuốc#
Trước khi tìm hiểu cách huấn luyện Ultralytics YOLO11 để phát hiện viên thuốc, hãy cùng lùi lại một bước để hiểu việc huấn luyện model có ý nghĩa gì và dataset đóng vai trò như thế nào.
Huấn luyện model là quá trình dạy model nhận diện các mẫu bằng cách cung cấp cho model nhiều ví dụ. Trong trường hợp này, dataset là một tập hợp hình ảnh, trong đó mỗi hình ảnh được gắn nhãn để chỉ vị trí của các viên thuốc. Quá trình này giúp model học từ những ví dụ đó để sau này có thể nhận diện viên thuốc trong các hình ảnh mới.
Gói Python Ultralytics giúp quá trình này trở nên dễ dàng hơn nhờ hỗ trợ nhiều dataset ở định dạng tệp YOLO được chuẩn hóa. Gói này cung cấp quyền truy cập thuận tiện vào các dataset phổ biến và hỗ trợ các ứng dụng như phát hiện viên thuốc.
Ví dụ, Medical Pills Dataset là một tập dữ liệu proof-of-concept chuyên dụng, được thiết kế để minh họa cách phát hiện đối tượng có thể cải thiện quy trình làm việc trong ngành dược phẩm thông qua các tác vụ như kiểm soát chất lượng, phân loại và phát hiện hàng giả.
Lựa chọn môi trường phát triển#
Một yếu tố khác cần cân nhắc trước khi bắt đầu huấn luyện bằng Gói Python Ultralytics là lựa chọn môi trường phát triển phù hợp. Dưới đây là ba tùy chọn phổ biến:
- Giao diện dòng lệnh (CLI): CLI hoặc terminal là một công cụ dựa trên văn bản, đơn giản, nơi bạn có thể nhập lệnh để chạy code và tương tác với máy tính.
- Jupyter Notebooks: Đây là một môi trường tương tác hơn, nơi bạn có thể viết và chạy code theo từng phần nhỏ (cell), giúp dễ dàng kiểm thử và debug trong quá trình làm việc.
- Google Colab: Một tùy chọn dựa trên cloud hoạt động tương tự Jupyter Notebooks, nhưng có thêm lợi ích là được truy cập GPU miễn phí, vì vậy bạn không phải lo thiết lập bất kỳ thứ gì trên máy cục bộ.
Bạn có thể khám phá các tùy chọn thiết lập khác trong tài liệu Ultralytics chính thức, nhưng ba tùy chọn trên đều dễ thiết lập và sử dụng, rất phù hợp để nhanh chóng bắt đầu.
Trong hướng dẫn này, chúng ta sẽ tập trung vào cách thiết lập và huấn luyện Ultralytics YOLO11 bằng Google Colab, Jupyter Notebooks hoặc một Python script cơ bản, vì quy trình trong mỗi môi trường này khá tương tự nhau.
Ngoài ra, tutorial này khá giống với hướng dẫn trước đây về phát hiện động vật hoang dã bằng Ultralytics YOLO11. Nếu bạn muốn tìm hiểu thêm chi tiết về bất kỳ bước nào trong tutorial coding này, bạn có thể xem lại hướng dẫn đó.
Khám phá dataset để phát hiện viên thuốc theo thời gian thực với YOLO#
Medical Pills Dataset bao gồm 92 hình ảnh huấn luyện và 23 hình ảnh validation, cung cấp một phân chia phù hợp để vừa xây dựng vừa kiểm thử model. Hình ảnh huấn luyện được dùng để dạy model, trong khi hình ảnh validation giúp đánh giá khả năng của model trên dữ liệu mới mà model chưa từng thấy.
Mỗi hình ảnh trong dataset được gắn nhãn cho một class duy nhất là pills. Các annotation bounding box đánh dấu rõ ràng vị trí của từng viên thuốc, khiến dataset trở nên lý tưởng cho các tác vụ tập trung như phát hiện viên thuốc mà không phải xử lý sự phức tạp của nhiều class đối tượng.

Hình 2. Hình ảnh tổng quan về Medical Pills Dataset.
Để hỗ trợ huấn luyện với YOLO11, Ultralytics cung cấp một tệp cấu hình YAML xác định các tham số chính như đường dẫn tệp, tên class và metadata cần thiết cho quá trình huấn luyện model. Dù bạn đang fine-tune một model đã được pre-trained hay bắt đầu từ đầu, tệp này giúp đơn giản hóa đáng kể quy trình và cho phép bạn nhanh chóng bắt đầu.
Huấn luyện model Ultralytics YOLO trên dataset viên thuốc#
Để bắt đầu, chúng ta sẽ thiết lập một môi trường cho huấn luyện và kiểm thử model. Bạn có thể chọn Google Colab, Jupyter Notebooks hoặc một tệp Python đơn giản tùy theo sở thích. Chỉ cần tạo một notebook hoặc tệp Python mới trong môi trường bạn chọn.
Sau đó, chúng ta có thể thiết lập môi trường và cài đặt Gói Python Ultralytics bằng lệnh bên dưới. Nếu sử dụng môi trường dựa trên notebook (Google Colab hoặc Jupyter), hãy chạy lệnh sau với dấu chấm than (!) ở đầu.
pip install ultralyticsSau khi cài đặt, bước tiếp theo là tải xuống và huấn luyện YOLO11 bằng Medical Pills dataset. Vì dataset này được Gói Python Ultralytics hỗ trợ nên quy trình rất đơn giản.
Tìm hiểu quy trình huấn luyện model#
Đầu tiên, chúng ta có thể import class YOLO từ package Ultralytics. Sau đó, chúng ta có thể load model YOLO11 đã được pre-trained từ tệp “yolo11n.pt”, được khuyến nghị vì đây là model nano và nhẹ.
Cuối cùng, chúng ta có thể bắt đầu quy trình huấn luyện bằng cách trỏ model đến cấu hình dataset (medical-pills.yaml) và đặt số epoch huấn luyện (một lượt hoàn chỉnh qua toàn bộ dataset) thành 100, như minh họa bên dưới.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="medical-pills.yaml", epochs=100)Huấn luyện qua nhiều epoch cho phép model học và cải thiện hiệu năng sau mỗi lượt. Bạn sẽ tìm thấy log và checkpoint được lưu trong thư mục con “runs/train/”, có thể sử dụng để theo dõi tiến trình và xem xét hiệu năng của model.
Sau khi hoàn tất huấn luyện, model YOLO11 được huấn luyện tùy chỉnh sẽ có thể nhận diện viên thuốc chính xác. Bạn có thể tìm trọng số model đã huấn luyện cuối cùng trong thư mục con “runs/detect/train/weights/” với tên “best.pt”.
Đánh giá Ultralytics YOLO11 sau khi huấn luyện model#
Để đánh giá mức độ học được của model trong việc phát hiện viên thuốc, chúng ta có thể chạy validation như sau:
metrics = model.val()Quá trình này trả về các metric phổ biến của bài toán phát hiện đối tượng, cung cấp thông tin chi tiết về hiệu năng của model. Dưới đây là phần tìm hiểu kỹ hơn về một số metric này:
- Precision: Đo tỷ lệ các viên thuốc được model phát hiện là chính xác.
- Recall: Cho biết tỷ lệ các viên thuốc thực tế được model nhận diện thành công.
- Độ chính xác trung bình (mAP): Metric này kết hợp cả precision và recall trên nhiều ngưỡng phát hiện khác nhau để đưa ra điểm hiệu năng tổng thể.
Kết hợp với nhau, các metric này cung cấp cái nhìn toàn diện về độ chính xác của model khi phát hiện viên thuốc trong dữ liệu mới mà model chưa từng thấy.
Nếu model không hoạt động tốt như mong đợi, bạn có thể thử huấn luyện model qua nhiều epoch hơn hoặc fine-tune các tham số huấn luyện khác, chẳng hạn như learning rate, tham số kiểm soát kích thước các bước trong quá trình tối ưu hóa model, hoặc kích thước hình ảnh để tiếp tục cải thiện hiệu năng.
Chạy inference bằng model Ultralytics YOLO11 đã huấn luyện tùy chỉnh#
Sau khi model Ultralytics YOLO11 được huấn luyện và đánh giá, bước tiếp theo là kiểm thử hiệu năng của model trên các hình ảnh mới mà model chưa từng thấy. Điều này giúp mô phỏng các điều kiện thực tế, chẳng hạn như phát hiện viên thuốc trong các điều kiện ánh sáng, cách sắp xếp hoặc kiểu bao bì khác nhau.
Để kiểm thử model, chúng ta đã tải xuống một hình ảnh mẫu từ Pexels, một website cung cấp hình ảnh stock miễn phí, rồi phân tích hình ảnh hoặc chạy prediction bằng model Ultralytics YOLO11 được huấn luyện tùy chỉnh như trong đoạn code bên dưới.
Bạn có thể sử dụng hình ảnh mẫu này hoặc bất kỳ hình ảnh phù hợp nào khác để đánh giá hiệu năng của model trong các tình huống thực tế.
results = model.predict("path/to/image.jpg", save=True, conf=0.3)Tùy chọn save yêu cầu model lưu hình ảnh đầu ra, còn thiết lập confidence đảm bảo rằng chỉ các prediction có độ chắc chắn tối thiểu 30 phần trăm mới được đưa vào kết quả.
Khi chạy prediction, đầu ra sẽ hiển thị một thông báo cho biết vị trí hình ảnh đã lưu - ví dụ: "Results saved to runs/detect/train."
Hình ảnh đầu ra của bạn sẽ tương tự hình ảnh được hiển thị tại đây, với các viên thuốc được phát hiện và đánh dấu bằng bounding box. Các confidence score hiển thị cho biết mức độ chắc chắn của từng detection.

Hình 3. Phát hiện viên thuốc bằng Ultralytics YOLO11.
Các ứng dụng thực tế của Ultralytics YOLO11 trong ngành dược phẩm#
Sau khi tìm hiểu cách huấn luyện Ultralytics YOLO11 bằng Medical-Pills Dataset và chạy inference trên hình ảnh để phát hiện viên thuốc, hãy cùng xem xét các ứng dụng thực tế của YOLO11 trong ngành dược phẩm.
Phân loại viên thuốc dược phẩm bằng Ultralytics YOLO11#
Phát hiện viên thuốc tự động bằng Ultralytics YOLO11 có thể được áp dụng vào quy trình phân loại dược phẩm. Phân loại thủ công thường chậm, lặp đi lặp lại và dễ phát sinh lỗi, có thể ảnh hưởng đến độ an toàn và tính tuân thủ của thuốc.
Bằng cách sử dụng model Ultralytics YOLO11 đã được fine-tune, chúng ta có thể phát hiện và phân loại viên thuốc chính xác dựa trên các thuộc tính hình ảnh như kích thước, hình dạng và màu sắc. Việc tự động hóa này đẩy nhanh quy trình và giúp đảm bảo sản phẩm đáp ứng các tiêu chuẩn chất lượng nghiêm ngặt, khiến đây trở thành một công cụ hữu ích trong hoạt động dược phẩm.

Hình 4. Phát hiện viên thuốc với sự hỗ trợ của YOLO11.
Giám sát hàng tồn kho với sự hỗ trợ của Ultralytics YOLO11#
Việc dự trữ đúng loại thuốc đúng thời điểm không chỉ là một tác vụ logistics - nó có thể ảnh hưởng đến việc chăm sóc bệnh nhân và chi phí. Thiếu một loại thuốc quan trọng có thể làm chậm quá trình điều trị, trong khi dự trữ quá nhiều có thể dẫn đến thuốc hết hạn và hàng tồn kho bị lãng phí. Với nhiều loại viên thuốc và biến thể bao bì trong ngành dược phẩm, các hệ thống quản lý hàng tồn kho tự động có thể tạo ra hồ sơ chính xác hơn.
Các hệ thống quản lý hàng tồn kho thông minh có thể sử dụng các model thị giác máy tính như Ultralytics YOLO11 để giám sát mức tồn kho theo thời gian thực. Model có thể quét kệ và khu vực đóng gói bằng hình ảnh hoặc video để phát hiện và đếm viên thuốc. Khi mức tồn kho thay đổi, dù mặt hàng được thêm vào, lấy ra hay di chuyển, hệ thống có thể tự động cập nhật số lượng.
Kiểm soát chất lượng dược phẩm với Ultralytics YOLO11#
Trong sản xuất dược phẩm, kiểm soát chất lượng là yếu tố thiết yếu để đảm bảo mọi viên thuốc đều an toàn và hiệu quả. Ngay cả các lỗi nhỏ như vết nứt, hình dạng không đồng đều hoặc biến đổi màu sắc nhẹ cũng có thể dẫn đến sai sót về liều lượng hoặc việc thu hồi sản phẩm.
Ultralytics YOLO11 có thể hỗ trợ bằng cách tự động phát hiện những viên thuốc không đáp ứng tiêu chuẩn chất lượng. Model có thể học các đặc trưng hình ảnh và sử dụng bounding box để đánh dấu những vấn đề như mẻ viên, chữ in bị phai hoặc đổi màu theo thời gian thực. Điều này cho phép loại bỏ sớm các viên thuốc lỗi, giảm lãng phí và đảm bảo chỉ những thuốc đạt tiêu chuẩn chất lượng mới đến tay bệnh nhân.
Ngoài ra, Ultralytics YOLO11 có thể được sử dụng để phát hiện và đếm viên thuốc trong quá trình kiểm tra, giúp theo dõi chính xác trong khi giám sát chất lượng.

Hình 5. Ultralytics YOLO11 có thể được sử dụng để phát hiện và đếm viên nang.
Ưu và nhược điểm của việc sử dụng Vision AI để phát hiện viên thuốc#
Sau khi tìm hiểu cách vision AI có thể được áp dụng trong ngành dược phẩm, hãy cùng xem nhanh một số lợi ích chính của việc sử dụng thị giác máy tính trong lĩnh vực này:
- Bảo trì dự đoán: Ultralytics YOLO11 có thể được sử dụng để phát hiện các dấu hiệu sớm của tình trạng hao mòn máy móc bằng cách nhận diện những điểm bất thường của viên thuốc hoặc bao bì. Model giúp lên lịch sửa chữa kịp thời và ngăn ngừa thời gian ngừng sản xuất ngoài kế hoạch.
- Sử dụng model có khả năng mở rộng: Model có thể được fine-tune trên nhiều dataset khác nhau cho các loại viên thuốc và bao bì khác nhau. Điều này giúp hoạt động kiểm tra có khả năng mở rộng và tiết kiệm chi phí khi quy mô vận hành tăng lên.
- Giám sát từ xa: Khi được tích hợp với các hệ thống cloud và thiết bị edge, giải pháp này cho phép kiểm tra chất lượng theo thời gian thực và rất phù hợp để quản lý các quầy cấp phát thuốc ở khu vực nông thôn, các thiết bị tự động và hệ thống telepharmacy từ xa.
Mặc dù việc triển khai vision AI trong ngành dược phẩm mang lại nhiều lợi ích, vẫn có một số yếu tố cần lưu ý khi sử dụng các công nghệ này:
- Tích hợp vào vận hành: Việc tích hợp các hệ thống AI vào workflow hiện có có thể yêu cầu điều chỉnh, đào tạo và kiểm tra tính tương thích với hạ tầng hiện tại.
- Tuân thủ quy định: Các hệ thống tự động phải tuân thủ những tiêu chuẩn quy định nghiêm ngặt để đảm bảo an toàn cho bệnh nhân và chất lượng sản phẩm nhất quán.
- Quản lý lỗi: Ngay cả các model tiên tiến cũng có thể tạo ra false positive hoặc false negative. Điều quan trọng là phải có quy trình để xử lý và khắc phục những lỗi này.
Tương lai của workflow AI trong ngành dược phẩm#
Trong tương lai, AI có thể sẽ đóng vai trò lớn hơn trong việc giúp thử nghiệm lâm sàng diễn ra nhanh hơn, thông minh hơn và tiết kiệm chi phí hơn. AI có thể hỗ trợ thiết kế protocol thử nghiệm tốt hơn, lựa chọn đúng nhóm bệnh nhân và giám sát dữ liệu theo thời gian thực.
Điều này có thể cho phép các nhà nghiên cứu xử lý vấn đề ngay khi phát sinh thay vì chờ đến sau đó. AI cũng có thể đẩy nhanh quy trình phê duyệt bằng cách giảm bớt giấy tờ thủ công và tự động hóa các bước kiểm tra thường quy. Nhìn chung, việc tích hợp AI vào workflow ngành dược phẩm có thể giúp giảm số lần trì hoãn và đẩy nhanh khả năng tiếp cận các phương pháp điều trị mới.
Những điểm chính#
Việc huấn luyện Ultralytics YOLO11 trên Medical Pills Dataset cho thấy model có thể thích ứng nhanh chóng và hiệu quả với các tác vụ dược phẩm. Ngay cả với một dataset nhỏ, model vẫn có thể phát hiện viên thuốc chính xác, rất hữu ích cho các tác vụ như phân loại, kiểm soát chất lượng và theo dõi hàng tồn kho.
Khi dataset phát triển và model được cải thiện, tiềm năng của vision AI trong ngành dược phẩm sẽ vượt xa hoạt động logistics. Công nghệ này cũng có thể hỗ trợ các thử nghiệm lâm sàng bằng cách giúp nhận diện và theo dõi viên thuốc nhất quán, đồng thời hỗ trợ các nhà nghiên cứu kiểm thử an toàn những kết hợp thuốc mới.
Khám phá repository GitHub của chúng tôi để tìm hiểu thêm và tham gia community đang phát triển. Khám phá những đổi mới tiên tiến trong nhiều lĩnh vực, từ AI trong nông nghiệp đến thị giác máy tính trong chăm sóc sức khỏe. Xem các tùy chọn cấp phép của chúng tôi và bắt đầu các dự án vision AI ngay hôm nay.









