Tìm hiểu sâu về việc phát hiện thuốc bằng Ultralytics YOLO11
Trong hướng dẫn lập trình này, hãy tìm hiểu cách phát hiện thuốc bằng YOLO11 với bộ dữ liệu Medical-Pills. Ngoài ra, hãy khám phá các ứng dụng và lợi ích tiềm năng của nó.

Trí tuệ nhân tạo đang được ứng dụng trong hầu hết mọi ngành công nghiệp, nhưng ảnh hưởng của nó đối với chăm sóc sức khỏe, đặc biệt là ngành dược phẩm, là vô cùng lớn. Năm nay, thị trường AI trong ngành dược được định giá 1,94 tỷ USD và dự kiến sẽ tăng trưởng lên 16,49 tỷ USD vào năm 2034.
Một động lực công nghệ cốt lõi của thị trường này là computer vision. Khác với xử lý ảnh truyền thống, computer vision là một nhánh của AI giúp máy móc hiểu và phân tích dữ liệu trực quan 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 mà dù chỉ một sai sót nhỏ nhất cũng có thể dẫn đến hậu quả nghiêm trọng, thị giác 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 computer vision được thiết kế cho các tác vụ thời gian thực như object detection và instance segmentation, và nó có thể được ứng dụng để nhận diện viên thuốc hoặc phát hiện lỗi trong bao bì y tế.
Trong bài viết này, chúng ta sẽ tìm hiểu cách tiếp cận thực tế với vision AI bằng cách huấn luyện Ultralytics YOLO11 để phát hiện thuốc viên. Chúng ta cũng sẽ khám phá các ứng dụng thực tế của nó. Hãy cùng bắt đầu nhé!
Xây dựng mô hình AI phát hiện viên thuốc#
Trước khi đi sâu vào cách huấn luyện Ultralytics YOLO11 để phát hiện thuốc viên, hãy lùi lại một bước và tìm hiểu ý nghĩa của việc huấn luyện một model cũng như vai trò của một dataset.
Huấn luyện một mô hình bao gồm việc dạy cho nó nhận diện các mẫu hình bằng cách cho nó thấy nhiều ví dụ. Trong trường hợp này, tập dữ liệu là một bộ sưu tập các hình ảnh, trong đó mỗi hình ảnh đều được gắn nhãn để chỉ ra vị trí của các viên thuốc. Quá trình này giúp mô hình học hỏi từ các ví dụ để sau đó có thể xác định các viên thuốc trong những hình ảnh mới.
Ultralytics Python package giúp quá trình này trở nên dễ dàng hơn nữa bằng cách hỗ trợ đa dạng các dataset theo định dạng tệp YOLO được tối ưu hóa. Công cụ này cung cấp khả năng 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 minh chứng chuyên biệt được thiết kế để thể hiện cách object detection có thể cải thiện quy trình làm việc trong ngành dược thông qua các tác vụ như kiểm tra 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 xem xét trước khi bạn bắt đầu huấn luyện với gói Ultralytics Python là chọn môi trường phát triển phù hợp. Dưới đây là ba lựa chọn phổ biến:
- Giao diện dòng lệnh (CLI): CLI hoặc terminal là một công cụ đơn giản dựa trên văn bản, nơi bạn có thể nhập các lệnh để chạy mã và tương tác với máy tính của mì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 mã theo từng khối nhỏ (cell), giúp việc kiểm thử và gỡ lỗi trở nên dễ dàng hơn trong quá trình thực hiện.
- Google Colab: Một lựa chọn dựa trên đám mây hoạt động giống như Jupyter Notebooks, nhưng đi kèm với lợi thế là được truy cập GPU miễn phí, vì vậy bạn không cần phải lo lắng về việc thiết lập bất cứ thứ gì 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 chính thức của Ultralytics, nhưng ba phương pháp được đề cập ở trên rất dễ thiết lập và sử dụng, là lựa chọn tuyệt vời để bắt đầu nhanh chóng.
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 cách sử dụng Google Colab, Jupyter Notebooks hoặc một script Python cơ bản, vì quy trình khá giống nhau ở các môi trường này.
Ngoài ra, hướng dẫn này khá giống với hướng dẫn mà chúng tôi đã đề cập trước đây về việc phát hiện động vật hoang dã bằng cách sử dụng Ultralytics YOLO11. Nếu bạn quan tâm đến các chi tiết khác về bất kỳ bước nào trong hướng dẫn lập trình này, bạn có thể tham khảo bài viết đó.
Khám phá tập dữ liệu để 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 kiểm chứng, cung cấp một tỷ lệ chia tách hợp lý để cả xây dựng và kiểm tra mô hình của bạn. Hình ảnh huấn luyện được sử dụng để dạy mô hình, trong khi hình ảnh kiểm chứng giúp đánh giá hiệu quả của mô hình trên dữ liệu mới chưa từng thấy.
Mỗi hình ảnh trong tập dữ liệu đều được gắn nhãn cho một lớp duy nhất là 'pills'. Các chú thích BBox đánh dấu rõ ràng vị trí của từng viên thuốc, làm cho tập dữ liệu này 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 gặp phải sự phức tạp khi xử lý nhiều lớp đối tượng.

Hình 2. Một cái nhìn thoáng qua về Medical Pills Dataset.
Để hỗ trợ quá trình training với YOLO11, Ultralytics cung cấp một tệp cấu hình YAML định nghĩa các tham số quan trọng như đường dẫn tệp, tên lớp và metadata cần thiết cho việc training model. Dù bạn đang fine-tuning một model đã được train sẵn hay bắt đầu từ đầu, tệp này giúp quá trình trở nên đơn giản hơn rất nhiều và giúp bạn bắt đầu nhanh chóng.
Huấn luyện một mô hình Ultralytics YOLO trên tập dữ liệu viên thuốc#
Đầu tiên, chúng ta sẽ thiết lập môi trường để training và kiểm thử model. Bạn có thể chọn sử dụng 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 Ultralytics Python bằng cách sử dụng lệnh hiển thị dưới đây. Nếu bạn đang 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 một dấu chấm than (!) ở đầu.
pip install ultralyticsSau khi cài đặt xong, bước tiếp theo là tải xuống và huấn luyện YOLO11 bằng Medical Pills Dataset. Vì tập dữ liệu này được hỗ trợ bởi gói Ultralytics Python, quy trình thực hiện rất đơn giản.
Hiểu về quy trình huấn luyện mô hình#
Đầu tiên, chúng ta có thể import lớp YOLO từ gói Ultralytics. Sau đó, chúng ta có thể load một mô hình YOLO11 đã được huấn luyện sẵn từ tệp “yolo11n.pt”, đây là lựa chọn được khuyến nghị vì nó là một mô hình nano và có trọng lượng nhẹ.
Cuối cùng, chúng ta có thể bắt đầu quy trình huấn luyện bằng cách chỉ định cấu hình tập dữ liệu (medical-pills.yaml) cho mô hình và đặt số lượng epoch huấn luyện (một lần hoàn tất đi qua toàn bộ tập dữ liệu) là 100, như được hiển thị 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 trong nhiều epoch cho phép mô hình học hỏi và cải thiện hiệu suất sau mỗi lượt. Bạn sẽ có thể tìm thấy các tệp log và checkpoint được lưu trong thư mục con “runs/train/”, bạn có thể sử dụng các tệp này để theo dõi tiến độ và xem lại hiệu suất của mô hình.
Sau khi quá trình huấn luyện hoàn tất, mô hình YOLO11 được huấn luyện tùy chỉnh sẽ có thể xác định các viên thuốc một cách chính xác. Bạn có thể tìm thấy trọng số của mô hình đã huấn luyện cuối cùng trong thư mục con “runs/detect/train/weights/” dưới tên “best.pt”.
Đánh giá Ultralytics YOLO11 sau khi huấn luyện model#
Để đánh giá mức độ mô hình đã học được cách phát hiện viên thuốc, chúng ta có thể chạy kiểm chứng như sau:
metrics = model.val()Quá trình này trả về các số liệu object detection phổ biến, cung cấp cái nhìn chi tiết về hiệusuất của model. Dưới đây là cái nhìn sâu hơn về một số số liệu này:
- Precision: Chỉ số này đo lường tỷ lệ các viên thuốc được mô hình phát hiện là chính xác.
- Recall: Chỉ số này chỉ ra tỷ lệ các viên thuốc thực tế mà mô hình xác định thành công.
- Mean average precision (mAP): Chỉ số này kết hợp cả Precision và Recall qua các ngưỡng phát hiện khác nhau để đưa ra điểm số hiệu suất tổng thể.
Cùng với nhau, các chỉ số này cung cấp một cái nhìn toàn diện về độ chính xác của mô hình khi phát hiện viên thuốc trên dữ liệu mới chưa từng thấy.
Nếu model của bạn không đạt hiệu suất như mong đợi, bạn có thể thử training với nhiều epochs hơn hoặc fine-tuning các tham số training khác, chẳng hạn như learning rate (tốc độ học) – điều khiển kích thước bước nhảy trong quá trình tối ưu hóa model, hoặc kích thước ảnh, nhằm cải thiện hơn nữa hiệu suất của model.
Chạy inference sử dụng mô hình Ultralytics YOLO11 custom-trained của bạn#
Sau khi model Ultralytics YOLO11 được huấn luyện và đánh giá, bước tiếp theo là kiểm tra hiệu suất của nó trên các hình ảnh mới, chưa từng thấy trước đâ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 thuốc viên trong các điều kiện ánh sáng, sự sắp xếp hoặc kiểu bao bì khác nhau.
Để kiểm tra model, chúng tôi đã tải xuống một hình ảnh mẫu từ Pexels, một trang web hình ảnh kho lưu trữ miễn phí, và phân tích hình ảnh hoặc chạy một dự đoán bằng model Ultralytics YOLO11 được huấn luyện tùy chỉnh như được hiển thị trong đoạn mã 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 suất của mô hình 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 mô hình lưu hình ảnh đầu ra, và thiết lập 'confidence' đảm bảo rằng chỉ những dự đoán có độ chắc chắn ít nhất 30 phần trăm mới được bao gồm trong kết quả.
Khi bạn chạy dự đoán, đầu ra sẽ hiển thị một thông báo cho bạn biết nơi lưu hình ảnh đã được lưu - ví dụ: "Results saved to runs/detect/train."
Hình ảnh đầu ra của bạn sẽ tương tự như hình ảnh hiển thị ở đây, với các viên thuốc được phát hiện và làm nổi bật bằng BBox. Điểm số độ tin cậy được hiển thị cho biết mức độ chắc chắn cho từng kết quả phát hiện.

Hình 3. Phát hiện viên thuốc bằng Ultralytics YOLO11.
Các ứng dụng thực tế khi sử dụng Ultralytics YOLO11 trong ngành dược#
Bây giờ chúng ta đã khám phá cách huấn luyện Ultralytics YOLO11 sử dụng Medical-Pills Dataset và chạy suy luận trên hình ảnh để phát hiện thuốc viên, 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 thuốc viên tự động với Ultralytics YOLO11 có thể được áp dụng cho việc phân loại dược phẩm. Việc phân loại thủ công thường chậm, lặp đi lặp lại và dễ xảy ra lỗi có thể làm tổn hại đến sự an toàn và tuân thủ về thuốc.
Bằng cách sử dụng model Ultralytics YOLO11 được tinh chỉnh, chúng ta có thể phát hiện và phân loại chính xác các viên thuốc dựa trên các đặc điểm trực quan như kích thước, hình dạng và màu sắc. Sự tự động hóa này giúp đẩy nhanh quá trình và đảm bảo rằng các sản phẩm đạt tiêu chuẩn chất lượng nghiêm ngặt, biến nó thành một công cụ có giá trị trong các 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 kho hàng với sự trợ giúp của Ultralytics YOLO11#
Dự trữ đúng loại thuốc kịp thời không chỉ là một nhiệm vụ hậu cần - nó còn có thể ảnh hưởng đến việc chăm sóc bệnh nhân và chi phí. Việc thiếu hụt một loại thuốc quan trọng có thể làm trì hoãn điều trị, trong khi dư thừa thuốc có thể dẫn đến tình trạng thuốc hết hạn và lãng phí hàng tồn kho. Với nhiều loại thuốc và biến thể bao bì trong ngành dược phẩm, các hệ thống kiểm kê tự động có thể cho phép ghi chép chính xác hơn.
Các hệ thống quản lý kho hàng thông minh có thể sử dụng các model computer vision như Ultralytics YOLO11 để theo dõi mức độ tồn kho theo thời gian thực. Model có thể quét các kệ hàng và khu vực đóng gói bằng hình ảnh hoặc video để phát hiện và đếm số lượng viên thuốc. Khi mức độ tồn kho thay đổi, cho dù có thêm, bớt hay di chuyển các mặt hàng, 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 được thúc đẩy bởi Ultralytics YOLO11#
Trong sản xuất dược phẩm, kiểm soát chất lượng là yếu tố tối quan trọng để đảm bảo mọi viên thuốc đều an toàn và mang lại hiệu quả. Ngay cả những lỗi nhỏ, chẳng hạn như vết nứt, hình dạng không đều hoặc sự thay đổi nhỏ về màu sắc, 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 các viên thuốc không đạt tiêu chuẩn chất lượng. Model có thể học các đặc điểm trực quan và sử dụng bounding boxes để đánh dấu các vấn đề như sứt mẻ, vết in mờ hoặc đổi màu trong thời gian thực. Điều này cho phép loại bỏ sớm các viên thuốc bị lỗi, giảm lãng phí và đảm bảo rằng chỉ những loại thuốc được đảm bảo chất lượng mới đến tay bệnh nhân.
Hơn thế nữa, Ultralytics YOLO11 có thể được sử dụng để phát hiện và đếm các viên thuốc khi chúng được kiểm tra, nhằm theo dõi chính xác trong quá trình 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 các viên nang.
Ưu và nhược điểm của việc sử dụng thị giác AI để phát hiện viên thuốc#
Bây giờ chúng ta đã khám phá cách thị giác AI có thể được ứng dụng trong ngành dược phẩm. Hãy cùng xem qua 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 hao mòn máy móc bằng cách xác định các sự không đồng nhất của thuốc viên hoặc bao bì. Nó giúp lên lịch sửa chữa kịp thời và ngăn ngừa thời gian ngừng hoạt động sản xuất ngoài kế hoạch.
- Khả năng mở rộng mô hình: Mô hình có thể được tinh chỉnh trên các tập dữ liệu khác nhau cho các loại thuốc và bao bì khác nhau. Nó làm cho quá trình kiểm tra có khả năng mở rộng và tiết kiệm chi phí khi quy mô hoạt động tăng lên.
- Giám sát từ xa: Nó cho phép kiểm tra chất lượng thời gian thực khi được tích hợp với các hệ thống đám mây và thiết bị biên, đồng thời lý tưởng cho việc quản lý các máy phân phối ở vùng nông thôn, các đơn vị tự động và các thiết lập nhà thuốc từ xa.
Mặc dù có rất nhiều lợi ích khi triển khai thị giác AI trong ngành dược phẩm, vẫn có một số cân nhắc cần ghi nhớ khi sử dụng các công nghệ như vậy:
- Tích hợp vận hành: Việc tích hợp các hệ thống AI vào quy trình làm việc hiện có có thể yêu cầu những điều chỉnh, đào tạo và kiểm tra tính tương thích với cơ sở hạ tầng hiện tại.
- Tuân thủ quy định: Các hệ thống tự động phải tuân thủ các tiêu chuẩn quy định nghiêm ngặt nhằm đảm bảo an toàn cho bệnh nhân và chất lượng sản phẩm đồng nhất.
- Quản lý sai sót: Ngay cả các mô hình tiên tiến cũng có thể tạo ra kết quả dương tính giả hoặc âm tính giả. Điều quan trọng là phải có các quy trình để xử lý và khắc phục những lỗi này.
Con đường phía trước cho các quy trình AI dược phẩm#
Trong tương lai, AI có thể sẽ đóng vai trò lớn hơn trong việc giúp các thử nghiệm lâm sàng diễn ra nhanh chóng, thông minh và tiết kiệm chi phí hơn. Công nghệ này có thể hỗ trợ thiết kế các quy trình thử nghiệm tốt hơn, lựa chọn các nhóm bệnh nhân phù hợp 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 phản ứng với các vấn đề khi chúng phát sinh, thay vì sau khi sự việc đã xảy ra. AI cũng có thể đẩy nhanh quy trình phê duyệt bằng cách giảm bớt các thủ tục giấy tờ thủ công và tự động hóa các kiểm tra định kỳ. Nhìn chung, việc tích hợp AI vào quy trình dược phẩm có thể dẫn đến ít sự chậm trễ hơn và giúp tiếp cận các phương pháp điều trị mới nhanh hơn.
Các điểm chính cần lưu ý#
Việc huấn luyện Ultralytics YOLO11 trên Medical Pills Dataset cho thấy mô hình có thể thích nghi nhanh chóng và hiệu quả như thế nào với các tác vụ dược phẩm. Ngay cả với một tập dữ liệu nhỏ, nó cũng có thể phát hiện chính xác các viên thuốc, khiến nó trở nên hữu ích cho những việc như phân loại, kiểm soát chất lượng và theo dõi hàng tồn kho.
Khi các tập dữ liệu phát triển và các mô hình cải thiện, tiềm năng cho thị giác AI trong ngành dược phẩm còn vượt xa hơn cả lĩnh vực hậu cần. 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 xác định và theo dõi viên thuốc một cách nhất quán, đồng thời hỗ trợ các nhà nghiên cứu thử nghiệm an toàn các kết hợp thuốc mới.
Khám phá kho lưu trữ GitHub của chúng tôi để tìm hiểu thêm và trở thành một phần trong cộng đồng đang ngày càng phát triển của chúng tôi. Khám phá các đổi mới tiên tiến trong nhiều lĩnh vực khác nhau, từ AI trong nông nghiệp đến computer vision trong y tế. Hãy 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 của bạn ngay hôm nay.






