Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024

Tìm hiểu sâu về phát hiện thuốc viên bằng Ultralytics YOLO11

Abirami Vina

5 phút đọc

Ngày 24 tháng 4 năm 2025

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 viên 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 sử 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 lĩnh vực chăm sóc sức khỏe, đặc biệt là trong ngành dược phẩm, là đặc biệt lớn. Năm nay, thị trường AI trong ngành dược phẩm được định giá 1,94 tỷ đô la và dự kiến sẽ tăng lên 16,49 tỷ đô la vào năm 2034. 

Một động lực công nghệ quan trọng của thị trường này là thị giác máy tính. Không giống như xử lý ảnh truyền thống, thị giác máy tính là một lĩnh vực con của AI cho phép máy móc hiểu và phân tích dữ liệu trực quan trong 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 cách 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 mô hình thị giác máy tính được thiết kế cho các tác vụ thời gian thực như phát hiện đối tượng (object detection) và phân vùng thể hiện (instance segmentation), và nó có thể được sử dụng cho các ứng dụng như xác định thuốc viên hoặc phát hiện các khuyết tật trong bao bì y tế. 

Trong bài viết này, chúng ta sẽ hướng dẫn cách thực hành Vision AI bằng cách huấn luyện 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!

Xây dựng mô hình AI phát hiện thuốc viên

Trước khi đi sâu vào cách YOLO11 có thể được huấn luyện để phát hiện thuốc viên, hãy lùi lại một bước và hiểu ý nghĩa của việc huấn luyện một mô hình và vai trò của một tập dữ liệu. 

Huấn luyện một mô hình bao gồm việc dạy nó nhận ra các mẫu bằng cách cho nó xem nhiều ví dụ. Trong trường hợp này, một bộ dữ liệu là một tập hợp các hình ảnh trong đó mỗi hình ảnh được gắn nhãn để cho biết 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ừ những ví dụ này để sau này nó có thể xác định thuốc viên trong các hình ảnh mới.

Gói Ultralytics Python giúp quá trình này trở nên dễ dàng hơn bằng cách hỗ trợ nhiều loại bộ dữ liệu ở định dạng tệp YOLO được sắp xếp hợp lý. Họ cung cấp quyền truy cập dễ dàng vào các bộ dữ liệu phổ biến và cung cấp hỗ trợ cho các ứng dụng như phát hiện thuốc viên. 

Ví dụ: Bộ dữ liệu Medical Pills là một bộ sưu tập proof-of-concept chuyên dụng được thiết kế để giới thiệu cách phát hiện đối tượng có thể cải thiện quy trình làm việc 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ả.

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 có thể 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 lệnh để chạy code 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ã trong các đoạn nhỏ (ô), giúp bạn dễ dàng kiểm tra và gỡ lỗi khi thực hiện.

  • Google Colab: Một tùy chọn dựa trên đám mây hoạt động giống như Jupyter Notebooks, nhưng có thêm ưu điểm là được truy cập GPU miễn phí, vì vậy bạn không phải lo lắng về việc thiết lập bất cứ thứ gì cục bộ.

Có các tùy chọn thiết lập khác mà bạn có thể khám phá trong tài liệu chính thức của Ultralytics, nhưng ba tùy chọn được đề cập ở trên rất dễ thiết lập và sử dụng, khiến chúng trở thành 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 YOLO11 bằng Google Colab, Jupyter Notebooks hoặc một script Python cơ bản, vì quy trình này khá giống nhau trong mỗi 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ề phát hiện động vật hoang dã bằng YOLO11. Nếu bạn quan tâm đến thông tin chi tiết hơn về bất kỳ bước nào trong hướng dẫn mã hóa này, bạn có thể xem nó.

Khám phá bộ dữ liệu để phát hiện thuốc theo thời gian thực với YOLO

Bộ dữ liệu Medical Pills bao gồm 92 hình ảnh huấn luyện và 23 hình ảnh xác thực, cung cấp một sự phân chia vững chắc cho cả việ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 xác thực giúp đánh giá mức độ hoạt động 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 được gắn nhãn cho một lớp duy nhất, thuốc viên. Các chú thích bounding box đánh dấu rõ ràng vị trí của mỗi viên thuốc, làm cho tập dữ liệu trở nên lý tưởng cho các tác vụ tập trung như phát hiện thuốc viên mà không cần xử lý độ phức tạp của nhiều lớp đối tượng.

Hình 2. Cái nhìn thoáng qua về Medical Pills Dataset.

Để hỗ trợ huấn luyện với YOLO11, Ultralytics cung cấp tệp cấu hình YAML xác định các tham số chính như đường dẫn tệp, tên lớp và siêu dữ liệu cần thiết cho quá trình huấn luyện mô hình. Cho dù bạn đang tinh chỉnh một mô hình đã được huấn luyện trước hay bắt đầu từ đầu, tệp này giúp quá trình trở nên đơn giản hơn nhiều và giúp bạn bắt đầu nhanh chóng.

Huấn luyện mô hình Ultralytics YOLO trên bộ dữ liệu thuốc viên

Để bắt đầu, chúng ta sẽ thiết lập một môi trường để huấn luyện và kiểm tra mô hình. Bạn có thể chọn sử dụng Google Colab, Jupyter Notebooks hoặc một tệp Python đơn giản dựa trên sở thích của bạn. 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 lệnh hiển thị bên dưới. 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 dấu chấm than (!) ở đầu.

pip install ultralytics

Sau khi cài đặt, bước tiếp theo là tải xuống và huấn luyện YOLO11 bằng bộ dữ liệu Medical Pills. Vì bộ dữ liệu được hỗ trợ bởi gói Ultralytics Python, nên quy trình này rất đơn giản. 

Tìm hiểu về quy trình huấn luyện mô hình

Đầu tiên, chúng ta có thể nhập lớp YOLO từ gói Ultralytics. Sau đó, chúng ta có thể tải một mô hình YOLO11 đã được huấn luyện trước từ tệp “yolo11n.pt”, mô hình này được khuyến nghị vì nó là một mô hình nano và nhẹ. 

Cuối cùng, chúng ta có thể bắt đầu quá trình huấn luyện bằng cách trỏ mô hình đến cấu hình bộ dữ liệu của chúng ta (medical-pills.yaml) và đặt số lượng epochs huấn luyện (một lần duyệt hoàn chỉnh qua toàn bộ bộ dữ liệu) thành 100, như hình 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 epochs cho phép mô hình học hỏi và cải thiện hiệu suất sau mỗi lần lặp. Bạn có thể tìm thấy nhật ký và điểm kiểm tra (checkpoints) được lưu trong thư mục con “runs/train/”, nơi bạn có thể sử dụng để theo dõi tiến trình và đánh giá 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 thuốc một cách chính xác. Bạn có thể tìm các weights 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á YOLO11 sau khi huấn luyện mô hình

Để đánh giá mức độ học cách phát hiện thuốc viên của mô hình, chúng ta có thể chạy xác thực như sau:

metrics = model.val()

Quy trình này trả về các số liệu đánh giá object detection phổ biến, cung cấp thông tin chi tiết về hiệu suất của mô hình. Sau đây là cái nhìn cận cảnh hơn về một số số liệu này:

  • Độ chính xác (Precision): Nó đo lường tỷ lệ thuốc được mô hình phát hiện là chính xác.
  • Độ phủ (Recall): Nó cho biết tỷ lệ thuốc thực tế mà mô hình xác định thành công.
  • Độ chính xác trung bình (mAP): Số liệu này kết hợp cả độ chính xác và độ phủ trên các ngưỡng phát hiện khác nhau để đưa ra điểm hiệu suất tổng thể.

Cùng với nhau, các số liệu 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 trong việc phát hiện thuốc viên trong dữ liệu mới, chưa từng thấy. 

Nếu mô hình của bạn không hoạt động tốt như mong đợi, bạn có thể thử huấn luyện nó trong nhiều epochs hơn hoặc tinh chỉnh các tham số huấn luyện khác, chẳng hạn như learning rate (tốc độ học), kiểm soát kích thước của các bước được thực hiện trong quá trình tối ưu hóa mô hình, hoặc kích thước hình ảnh, để cải thiện hơn nữa hiệu suất của nó.

Chạy suy luận bằng mô hình YOLO11 do bạn tùy chỉnh huấn luyện

Sau khi mô hình 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. Đ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, cách sắp xếp hoặc kiểu đóng gói khác nhau.

Để kiểm tra mô hình, chúng tôi đã tải xuống một ảnh mẫu từ Pexels, một trang web ảnh miễn phí, và phân tích hình ảnh hoặc chạy dự đoán bằng mô hình 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 liên quan 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 trữ hình ảnh đầu ra và cài đặt confidence đảm bảo rằng chỉ những dự đoán có độ chắc chắn ít nhất 30% mới được đưa vào 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 vị trí của hình ảnh đã lưu - ví dụ: "Kết quả được lưu vào runs\/detect\/train."

Hình ảnh đầu ra của bạn sẽ tương tự như hình ảnh được hiển thị ở đây, với các viên thuốc được phát hiện và đánh dấu bằng các hộp giới hạn (bounding box). Điểm tin cậy (confidence score) hiển thị cho biết mức độ chắc chắn của mỗi lần phát hiện.

Hình 3. Phát hiện thuốc viên bằng YOLO11.

Các ứng dụng thực tế của việc sử dụng YOLO11 trong ngành dược phẩm

Sau khi khám phá cách huấn luyện YOLO11 bằng Bộ dữ liệu Medical-Pills và chạy suy luận trên hình ảnh để phát hiện thuốc, hãy 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 thuốc viên dược phẩm bằng YOLO11

Phát hiện thuốc tự động với YOLO11 có thể được áp dụng để 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ễ xảy ra lỗi có thể ảnh hưởng đến sự an toàn và tuân thủ của thuốc. 

Bằng cách sử dụng mô hình YOLO11 đã được tinh chỉnh, chúng ta có thể phát hiện và phân loại thuốc một cách chính xác dựa trên các thuộc tính trực quan như kích thước, hình dạng và màu sắc. Tự động hóa này tăng tốc quá trình và giúp đảm bảo rằng các sản phẩm đáp ứng các tiêu chuẩn chất lượng nghiêm ngặt, làm cho nó trở 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 thuốc viên với sự hỗ trợ của YOLO11.

Giám sát hàng tồn kho với sự hỗ trợ của YOLO11

Việc dự trữ đúng loại thuốc đúng thời điểm không chỉ là một nhiệm vụ hậu cần - nó có thể ảnh hưởng đến việc chăm sóc bệnh nhân và chi phí. Việc hết một loại thuốc quan trọng có thể trì hoãn việc điều trị, trong khi việc dự trữ quá nhiều có thể dẫn đến thuốc hết hạn và lãng phí hàng tồn kho. Với nhiều loại thuốc viên và các biến thể đóng gói trong ngành dược phẩm, các hệ thống kiểm kê tự động có thể cho phép ghi lại chính xác hơn.

Các hệ thống kiểm kê thông minh có thể sử dụng các mô hình computer vision như Ultralytics YOLO11 để theo dõi mức tồn kho theo thời gian thực. Mô hình 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 thuốc. Khi mức tồn kho thay đổi, dù là thêm, bớt hoặc di chuyển hàng hóa, 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 hỗ trợ bởi YOLO11

Trong sản xuất dược phẩm, kiểm soát chất lượng là rất quan trọng để đảm bảo rằng mọi viên thuốc đều an toàn và hiệu quả. Ngay cả những khuyết tật nhỏ, chẳng hạn như vết nứt, hình dạng không đều hoặc sự thay đổi màu sắc nhỏ, có thể dẫn đến sai sót về liều lượng hoặc thu hồi sản phẩm. 

YOLO11 có thể giúp bằng cách tự động phát hiện các viên thuốc không đáp ứng tiêu chuẩn chất lượng. Mô hình có thể học các đặc điểm trực quan và sử dụng hộp giới hạn để gắn cờ các vấn đề như sứt mẻ, dấu ấn bị 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.

Thêm vào đó, YOLO11 có thể được sử dụng để phát hiện và đếm số lượng thuốc trong quá trình kiểm tra, để theo dõi chính xác trong khi giám sát chất lượng. 

Hình 5. 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 thuốc viên 

Sau khi khám phá cách AI thị giác có thể được áp dụng trong ngành dược phẩm, hãy 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: YOLO11 có thể được sử dụng để phát hiện các dấu hiệu hao mòn máy móc sớm bằng cách xác định các điểm không nhất quán về 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 sản xuất ngoài kế hoạch.
  • Sử dụng mô hình có khả năng mở rộng: Mô hình có thể được tinh chỉnh trên nhiều bộ dữ liệu khác nhau cho các loại thuốc và bao bì khác nhau. Điều này làm cho việc kiểm tra có khả năng mở rộng và hiệu quả về chi phí khi các hoạt động phát triển.
  • Giám sát từ xa: Nó cho phép kiểm tra chất lượng theo 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 và lý tưởng để quản lý các thiết bị phân phối ở vùng nông thôn, các đơn vị tự động và các thiết lập viễn dược 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, nhưng cũng có một số điều cần lưu ý khi sử dụng các công nghệ này: 

  • Tích hợp hoạt động: Việc tích hợp các hệ thống AI vào các quy trình làm việc hiện có có thể yêu cầu điều chỉnh, đào tạo và kiểm tra khả năng 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 để đả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 mô hình tiên tiến cũng có thể tạo ra kết quả dương tính hoặc âm tính sai. Điều quan trọng là phải có quy trình xử lý và sửa các lỗi này.

Con đường phía trước cho quy trình làm việc AI trong ngành dược phẩm

Trong tương lai, AI có thể sẽ đóng một vai trò lớn hơn trong việc làm cho các thử nghiệm lâm sàng nhanh hơn, thông minh hơn và hiệu quả về chi phí hơn. Nó có thể giúp thiết kế các giao thức thử nghiệm tốt hơn, chọn đúng nhóm bệnh nhân và theo dõi dữ liệu trong thời gian thực. 

Điều này có thể cho phép các nhà nghiên cứu ứng phó 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 quá trình phê duyệt bằng cách giảm bớt 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 làm việc của ngành dược phẩm có thể giúp giảm thiểu sự chậm trễ và giúp tiếp cận các phương pháp điều trị mới nhanh hơn.

Những điều cần nhớ

Việc huấn luyện Ultralytics YOLO11 trên Bộ dữ liệu Medical Pills cho thấy mô hình có thể thích ứng với các tác vụ dược phẩm nhanh chóng và hiệu quả như thế nào. Ngay cả với một bộ dữ liệu nhỏ, nó có thể phát hiện chính xác thuốc viên, giúp í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 tăng lên và các mô hình được cải thiện, tiềm năng của Vision AI trong ngành dược phẩm vượt ra ngoài lĩnh vực 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 xác định và theo dõi thuốc 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 của cộng đồng đang phát triển của chúng tôi. Khám phá những đổ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 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à khởi chạy các dự án Vision AI của bạn ngay hôm nay.

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard