이 코딩 튜토리얼에서는 의료용 알약 데이터 세트와 함께 YOLO11 사용하여 알약을 감지하는 방법을 알아보세요. 또한 잠재적인 애플리케이션과 이점을 살펴보세요.
인공지능은 거의 모든 산업에서 활용되고 있지만 특히 의료, 특히 제약 분야에서 인공지능의 영향력은 매우 큽니다. 올해 제약 시장의 AI 규모는 19억 4,400만 달러에 달하며, 2034년에는 164억 9,000만 달러로 성장할 것으로 예상됩니다.
이 시장의 핵심 기술 동인은 컴퓨터 비전입니다. 기존의 이미지 처리와 달리 컴퓨터 비전은 기계가 시각 데이터를 실시간으로 이해하고 분석할 수 있도록 하는 AI의 하위 분야입니다.
아주 작은 오류도 심각한 결과를 초래할 수 있는 제약 산업에서 Vision AI는 안전성과 정밀도를 개선할 수 있는 새롭고 신뢰할 수 있는 방법을 제공합니다.
예를 들어 Ultralytics YOLO11 은 물체 감지 및 인스턴스 분할과 같은 실시간 작업을 위해 설계된 컴퓨터 비전 모델로, 알약 식별이나 의료용 포장의 결함 감지 등의 애플리케이션에 사용할 수 있습니다.
이 글에서는 알약을 감지하도록 YOLO11 학습시켜 비전 AI를 직접 체험해보는 방법을 안내합니다. 또한 실제 적용 사례도 살펴볼 것입니다. 시작해 보겠습니다!
알약을 감지하도록 YOLO11 학습시키는 방법을 살펴보기 전에 한 걸음 물러나서 모델 학습의 의미와 데이터 세트의 역할을 이해해 보겠습니다.
모델 훈련에는 많은 예시를 보여줌으로써 패턴을 인식하도록 가르치는 것이 포함됩니다. 이 경우 데이터 세트는 각 이미지에 알약의 위치를 나타내는 레이블이 지정된 이미지 모음입니다. 이 과정을 통해 모델은 이러한 예시를 학습하여 나중에 새로운 이미지에서 알약을 식별할 수 있습니다.
간소화된 YOLO 파일 형식으로 광범위한 데이터 세트를 지원하여 이 프로세스를 더욱 쉽게 만들어주는 Ultralytics Python 패키지입니다. 인기 있는 데이터 세트에 번거로움 없이 액세스할 수 있으며 알약 감지와 같은 애플리케이션을 지원합니다.
예를 들어, 의료용 알약 데이터 세트는 물체 감지가 품질 관리, 분류, 위조품 감지와 같은 작업을 통해 제약 워크플로를 개선하는 방법을 보여주기 위해 고안된 전용 개념 증명 컬렉션입니다.
Ultralytics Python 패키지로 교육을 시작하기 전에 고려해야 할 또 다른 요소는 올바른 개발 환경을 선택하는 것입니다. 다음은 세 가지 인기 있는 옵션입니다:
공식 Ultralytics 문서에서 살펴볼 수 있는 다른 설정 옵션도 있지만, 위에서 언급한 세 가지 옵션은 설정 및 사용이 간편하여 빠르게 시작할 수 있는 훌륭한 선택입니다.
이 가이드에서는 각 환경의 프로세스가 매우 유사하므로 Google Colab, Jupyter Notebook 또는 기본 Python 스크립트를 사용하여 YOLO11 설정하고 교육하는 방법을 중점적으로 설명합니다.
또한 이 튜토리얼은 이전에 YOLO11 사용하여 야생동물을 감지하는 방법에 대해 다룬 것과 매우 유사합니다. 이 코딩 튜토리얼의 단계에 대해 더 자세히 알고 싶으시다면 해당 튜토리얼을 확인해보세요.
의료용 알약 데이터 세트에는 92개의 훈련 이미지와 23개의 검증 이미지가 포함되어 있어 모델 구축과 테스트에 모두 유용하게 사용할 수 있습니다. 학습 이미지는 모델을 학습시키는 데 사용되며, 검증 이미지는 보이지 않는 새로운 데이터에 대해 모델이 얼마나 잘 작동하는지 평가하는 데 도움이 됩니다.
데이터 세트의 각 이미지에는 알약이라는 단일 클래스에 대한 레이블이 지정되어 있습니다. 경계 상자 주석은 각 알약의 위치를 명확하게 표시하므로 여러 개체 클래스를 처리하는 복잡성 없이 알약 감지와 같은 집중적인 작업에 이상적인 데이터 세트입니다.
모델 훈련에 필요한 파일 경로, 클래스 이름, 메타데이터와 같은 주요 매개변수를 정의하는 YAML 구성 파일을 제공하여 YOLO11 통한 훈련을 지원합니다. 사전 학습된 모델을 미세 조정하든 처음부터 시작하든, 이 파일을 사용하면 프로세스가 훨씬 간단해지고 빠르게 시작할 수 있습니다.
먼저 모델을 훈련하고 테스트하기 위한 환경을 설정하겠습니다. 선호도에 따라 Google Colab, Jupyter 노트북 또는 간단한 Python 파일을 사용할 수 있습니다. 선택한 환경에서 새 노트북이나 Python 파일을 만들기만 하면 됩니다.
그런 다음 아래에 표시된 명령을 사용하여 환경을 설정하고 Ultralytics Python 패키지를 설치할 수 있습니다. 노트북 기반 환경Google Colab 또는 Jupyter)을 사용하는 경우 앞에 느낌표(!)를 붙여 다음 명령을 실행합니다.
pip install ultralytics
설치가 완료되면 다음 단계는 의료용 알약 데이터 세트를 사용하여 YOLO11 다운로드하고 학습시키는 것입니다. 이 데이터 세트는 Ultralytics Python 패키지에서 지원되므로 프로세스는 간단합니다.
먼저 Ultralytics 패키지에서 YOLO 클래스를 가져올 수 있습니다. 그런 다음, 나노 모델이고 가볍기 때문에 권장되는 "yolo11n.pt" 파일에서 사전 학습된 YOLO11 모델을 로드할 수 있습니다.
마지막으로, 아래와 같이 모델을 데이터 세트 구성(medical-pills.yaml)으로 지정하고 훈련 에포크 수(전체 데이터 세트를 한 번 완전히 통과하는 횟수)를 100으로 설정하여 훈련 프로세스를 시작할 수 있습니다.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="medical-pills.yaml", epochs=100)
여러 시대에 대한 훈련을 통해 모델은 매번 학습하고 성능을 개선할 수 있습니다. 진행 상황을 모니터링하고 모델의 성능을 검토하는 데 사용할 수 있는 로그와 체크포인트를 "runs/train/" 하위 폴더에 저장할 수 있습니다.
훈련이 완료되면 사용자 지정 훈련된 YOLO11 모델이 알약을 정확하게 식별할 수 있어야 합니다. 최종 훈련된 모델 가중치는 "runs/detect/train/weights/" 하위 폴더의 "best.pt"라는 이름에서 찾을 수 있습니다.
모델이 알약을 감지하는 방법을 얼마나 잘 학습했는지 평가하기 위해 다음과 같이 유효성 검사를 실행할 수 있습니다:
metrics = model.val()
이 프로세스는 모델의 성능에 대한 인사이트를 제공하는 일반적인 개체 감지 메트릭을 반환합니다. 다음은 이러한 메트릭 중 일부를 자세히 살펴보는 내용입니다:
이러한 메트릭을 함께 사용하면 보이지 않는 새로운 데이터에서 모델이 얼마나 정확하게 약을 감지하는지를 종합적으로 파악할 수 있습니다.
모델의 성능이 예상보다 좋지 않은 경우, 더 많은 기간 동안 모델을 학습시키거나 모델 최적화 중에 수행되는 단계의 크기를 제어하는 학습 속도 또는 이미지 크기와 같은 다른 학습 매개변수를 미세 조정하여 성능을 더욱 향상시킬 수 있습니다.
YOLO11 모델을 학습시키고 평가한 다음 단계는 새로운 이미지에서 얼마나 잘 작동하는지 테스트하는 것입니다. 이를 통해 다양한 조명, 배열 또는 포장 스타일에서 알약을 감지하는 등 실제 상황을 시뮬레이션할 수 있습니다.
모델을 테스트하기 위해 무료 스톡 이미지 웹사이트인 Pexels에서 샘플 이미지를 다운로드하고 아래 코드 스니펫과 같이 사용자 정의 학습된 YOLO11 모델을 사용하여 이미지를 분석하거나 예측을 실행했습니다.
이 샘플 이미지 또는 기타 관련 이미지를 사용하여 모델이 실제 시나리오에서 얼마나 잘 작동하는지 평가할 수 있습니다.
results = model.predict("path/to/image.jpg", save=True, conf=0.3)
저장 옵션은 모델에 출력 이미지를 저장하도록 지시하며, 신뢰도 설정은 30% 이상의 확실성을 가진 예측만 결과에 포함되도록 합니다.
예측을 실행하면 출력에 저장된 이미지의 위치를 알려주는 메시지(예: "실행/감지/훈련에 저장된 결과")가 표시됩니다.
출력 이미지는 여기에 표시된 것과 유사하며, 알약이 감지되고 경계 상자를 사용하여 강조 표시됩니다. 표시된 신뢰도 점수는 각 탐지에 대한 확실성 수준을 나타냅니다.
이제 의료용 알약 데이터 세트를 사용하여 YOLO11 학습시키고 알약 감지를 위해 이미지에서 추론을 실행하는 방법을 살펴봤으니, 제약 산업에서 YOLO11실제 적용 사례를 살펴보겠습니다.
YOLO11 통한 자동 알약 감지는 의약품 분류에 적용할 수 있습니다. 수동 분류는 느리고 반복적이며 오류가 발생하기 쉬워 의약품 안전과 규정 준수를 저해할 수 있습니다.
미세 조정된 YOLO11 모델을 사용하면 크기, 모양, 색상과 같은 시각적 속성을 기반으로 알약을 정확하게 감지하고 분류할 수 있습니다. 이러한 자동화는 프로세스 속도를 높이고 제품이 엄격한 품질 기준을 충족하도록 도와주므로 제약 작업에서 매우 유용한 도구입니다.
적절한 의약품을 제때 비축하는 것은 단순한 물류 업무가 아니라 환자 치료와 비용에 영향을 미칠 수 있습니다. 중요한 약품이 부족하면 치료가 지연될 수 있고, 재고가 과다하면 유통기한이 지난 약품과 재고 낭비가 발생할 수 있습니다. 제약 업계에는 수많은 종류의 알약과 다양한 포장재가 존재하기 때문에 자동화된 재고 시스템을 사용하면 보다 정확한 기록을 할 수 있습니다.
스마트 재고 시스템은 Ultralytics YOLO11 같은 컴퓨터 비전 모델을 사용하여 실시간으로 재고 수준을 모니터링할 수 있습니다. 이 모델은 이미지 또는 비디오를 사용하여 선반과 포장 영역을 스캔하여 알약을 감지하고 계산할 수 있습니다. 품목의 추가, 제거, 이동 등 재고 수준이 변경되면 시스템은 자동으로 개수를 업데이트할 수 있습니다.
의약품 생산에서 품질 관리는 모든 알약이 안전하고 효과적인지 확인하기 위해 매우 중요합니다. 균열, 고르지 않은 모양 또는 약간의 색상 변화와 같은 사소한 결함도 복용량 오류 또는 제품 리콜로 이어질 수 있습니다.
YOLO11 품질 기준에 맞지 않는 알약을 자동으로 감지하여 도움을 줄 수 있습니다. 이 모델은 시각적 특징을 학습하고 경계 상자를 사용하여 칩, 희미한 인쇄물 또는 변색과 같은 문제를 실시간으로 표시할 수 있습니다. 이를 통해 결함이 있는 알약을 조기에 제거하여 낭비를 줄이고 품질이 보장된 의약품만 환자에게 전달되도록 보장할 수 있습니다.
또한 YOLO11 사용하면 검사할 때 알약을 감지하고 개수를 계산하여 품질을 모니터링하면서 정확하게 추적할 수 있습니다.
이제 제약 산업에서 비전 AI를 어떻게 적용할 수 있는지 살펴보았습니다. 이제 이 분야에서 컴퓨터 비전을 사용할 때 얻을 수 있는 몇 가지 주요 이점에 대해 간단히 살펴보겠습니다:
제약 업계에서 비전 AI를 구현하면 많은 이점이 있지만, 이러한 기술을 사용할 때 염두에 두어야 할 몇 가지 고려 사항도 있습니다:
앞으로 AI는 임상시험을 더 빠르고 스마트하게, 더 비용 효율적으로 만드는 데 더 큰 역할을 할 것입니다. 더 나은 임상시험 프로토콜을 설계하고, 적합한 환자 그룹을 선택하고, 실시간으로 데이터를 모니터링하는 데 도움이 될 수 있습니다.
이를 통해 연구자들은 사후가 아니라 문제가 발생했을 때 바로 대응할 수 있습니다. 또한 AI는 수작업 서류 작업을 줄이고 일상적인 점검을 자동화하여 승인 프로세스의 속도를 높일 수 있습니다. 전반적으로 제약 워크플로우에 AI를 통합하면 지연을 줄이고 새로운 치료법에 대한 접근성을 높일 수 있습니다.
의료용 알약 데이터세트에서 Ultralytics YOLO11 훈련하면 모델이 제약 업무에 얼마나 빠르고 효과적으로 적응할 수 있는지 확인할 수 있습니다. 작은 데이터 세트에서도 알약을 정확하게 감지할 수 있어 분류, 품질 관리 및 재고 추적과 같은 작업에 유용합니다.
데이터 세트가 증가하고 모델이 개선됨에 따라 제약 업계에서 비전 AI의 잠재력은 물류 그 이상입니다. 이 기술은 일관된 알약 식별 및 추적을 돕고 연구자들이 새로운 약물 조합을 안전하게 테스트할 수 있도록 지원함으로써 임상시험을 지원할 수도 있습니다.
GitHub 리포지토리를 살펴보고 자세한 내용을 알아보고 성장하는 커뮤니티의 일원이 되어보세요. 농업 분야의 AI부터 의료 분야의 컴퓨터 비전까지 다양한 분야의 최첨단 혁신 기술을 살펴보세요. 라이선스 옵션을 확인하고 지금 바로 Vision AI 프로젝트를 시작하세요.