Ultralytics YOLO11을 이용한 알약 탐지 심층 분석
이 코딩 튜토리얼에서는 Medical-Pills 데이터셋과 YOLO11을 사용하여 알약을 탐지하는 방법을 배웁니다. 또한, 그 잠재적 응용 분야와 이점을 살펴보십시오.

인공지능은 거의 모든 산업에서 활용되고 있지만, 헬스케어, 특히 제약 분야에서의 영향력은 매우 큽니다. 올해 AI in the pharmaceutical 시장 규모는 19억 4천만 달러이며, 2034년까지 164억 9천만 달러 규모로 성장할 것으로 예상됩니다.
이 시장의 핵심 기술 동력은 computer vision입니다. 전통적인 이미지 처리와 달리, computer vision은 기계가 시각적 데이터를 실시간으로 이해하고 분석할 수 있도록 지원하는 AI의 하위 분야입니다.

Fig 1. 제약 시장 내 AI 개요.
아주 작은 오류조차 심각한 결과를 초래할 수 있는 제약 산업에서 비전 AI는 안전성과 정확성을 향상시킬 새롭고 신뢰할 수 있는 방법을 제시합니다.
예를 들어, Ultralytics YOLO11은 객체 감지 및 인스턴스 세그멘테이션과 같은 실시간 작업을 위해 설계된 computer vision 모델로, 알약 식별이나 의료용 포장의 결함 감지 같은 애플리케이션에 사용할 수 있습니다.
본 아티클에서는 Ultralytics YOLO11을 학습하여 알약(pill)을 감지하는 비전 AI 실습 방법을 살펴봅니다. 또한 실제 적용 사례에 대해서도 알아봅니다. 자, 시작해 보겠습니다!
알약 탐지 AI 모델 구축하기#
Ultralytics YOLO11을 학습하여 알약을 감지하는 방법을 살펴보기 전에, 한 걸음 물러서서 모델을 학습한다는 것이 무슨 의미이며 데이터셋이 어떤 역할을 하는지 이해해 보겠습니다.
모델 학습이란 수많은 예시를 보여줌으로써 모델에게 패턴 인식 방법을 가르치는 과정을 포함합니다. 이 경우 데이터셋은 각 알약의 위치를 나타내도록 라벨링된 이미지들의 모음입니다. 이 과정은 모델이 예시를 통해 학습하여 나중에 새로운 이미지에서 알약을 식별할 수 있도록 돕습니다.
Ultralytics Python package는 간소화된 YOLO 파일 형식으로 다양한 데이터셋을 지원하여 이 과정을 더욱 쉽게 만들어 줍니다. 이를 통해 popular datasets에 간편하게 액세스하고 알약 감지와 같은 애플리케이션을 지원받을 수 있습니다.
예를 들어, Medical Pills Dataset은 품질 관리, 분류, 위조 감지 등의 작업을 통해 object detection이 제약 워크플로를 어떻게 개선할 수 있는지 보여주기 위해 설계된 전용 개념 증명 컬렉션입니다.
개발 환경 선택하기#
Ultralytics Python 패키지로 학습을 시작하기 전에 고려해야 할 또 다른 요소는 올바른 개발 환경을 선택하는 것입니다. 다음은 널리 사용되는 세 가지 옵션입니다:
- 명령 줄 인터페이스(CLI): CLI 또는 터미널은 코드를 실행하고 컴퓨터와 상호 작용하기 위해 명령어를 입력할 수 있는 간단한 텍스트 기반 도구입니다.
- Jupyter Notebooks: 코드를 작은 단위(셀)로 작성하고 실행할 수 있는 보다 인터랙티브한 환경으로, 진행하면서 쉽게 테스트하고 디버깅할 수 있습니다.
- Google Colab: Jupyter Notebooks처럼 작동하지만 무료 GPU 액세스라는 추가적인 이점이 있어 로컬 환경 설정에 대해 걱정할 필요가 없는 클라우드 기반 옵션입니다.
official Ultralytics documentation에서 살펴볼 수 있는 다른 설정 옵션들도 있지만, 위에 언급된 세 가지 방법은 설정과 사용이 간편하여 빠르게 시작하기에 훌륭한 선택입니다.
이번 가이드에서는 각 환경에서의 프로세스가 매우 유사하므로, Google Colab, Jupyter Notebook 또는 기본 Python 스크립트를 사용하여 Ultralytics YOLO11을 설정하고 학습하는 방법에 집중하겠습니다.
또한, 이 튜토리얼은 이전에 다뤘던 Ultralytics YOLO11을 이용한 야생동물 감지 튜토리얼과 매우 유사합니다. 이 코딩 튜토리얼의 단계 중 자세한 내용이 궁금하신 분은 해당 내용을 참고하시기 바랍니다.
YOLO를 사용한 실시간 알약 탐지를 위한 데이터셋 살펴보기#
Medical Pills Dataset에는 92개의 학습 이미지와 23개의 검증 이미지가 포함되어 있어 모델 구축 및 테스트를 위한 탄탄한 구성을 제공합니다. 학습 이미지는 모델을 가르치는 데 사용되며, 검증 이미지는 모델이 처음 보는 새로운 데이터에서 얼마나 잘 작동하는지 평가하는 데 도움을 줍니다.
데이터셋의 각 이미지는 단일 클래스인 '알약'으로 라벨링되어 있습니다. BBox 주석이 각 알약의 위치를 명확하게 표시하므로, 이 데이터셋은 여러 객체 클래스를 처리하는 복잡성 없이 알약 탐지와 같은 특정 작업에 집중하기에 이상적입니다.

그림 2. Medical Pills Dataset의 모습.
YOLO11 학습을 지원하기 위해 Ultralytics는 파일 경로, 클래스 이름, 모델 학습에 필요한 메타데이터와 같은 주요 매개변수를 정의하는 YAML configuration file을 제공합니다. 사전 학습된 모델을 미세 조정하든 처음부터 시작하든, 이 파일을 사용하면 과정이 훨씬 간단해지고 빠르게 시작할 수 있습니다.
알약 데이터셋에서 Ultralytics YOLO 모델 학습하기#
시작하기 위해 모델 training 및 테스트를 위한 환경을 설정합니다. 선호도에 따라 Google Colab, Jupyter Notebooks 또는 간단한 Python 파일 중 하나를 선택할 수 있습니다. 선택한 환경에서 새 노트북이나 Python 파일을 만들기만 하면 됩니다.
그 다음, 환경을 설정하고 아래 표시된 명령어를 사용하여 Ultralytics Python 패키지를 설치할 수 있습니다. 노트북 기반 환경(Google Colab 또는 Jupyter)을 사용 중이라면 시작 부분에 느낌표(!)를 붙여 다음 명령어를 실행하십시오.
pip install ultralytics설치가 완료되면 다음 단계는 Medical Pills 데이터셋을 사용하여 YOLO11을 다운로드하고 학습하는 것입니다. 이 데이터셋은 Ultralytics Python 패키지에서 지원되므로 과정이 간단합니다.
모델 학습 과정 이해하기#
먼저 Ultralytics 패키지에서 YOLO 클래스를 가져올 수 있습니다. 그런 다음 사전 학습된 YOLO11 모델을 'yolo11n.pt' 파일에서 로드합니다. 이는 나노 모델로서 가볍기 때문에 권장되는 방식입니다.
마지막으로 데이터셋 구성(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'라는 이름으로 찾을 수 있습니다.
모델 학습 후 Ultralytics YOLO11 평가#
모델이 알약 탐지를 얼마나 잘 학습했는지 평가하기 위해 다음과 같이 검증을 실행할 수 있습니다:
metrics = model.val()이 과정은 일반적인 객체 감지 메트릭을 반환하며, 이는 model's performance에 대한 통찰력을 제공합니다. 이러한 메트릭 중 일부를 자세히 살펴보겠습니다.
- 정밀도(Precision): 모델이 탐지한 알약 중 올바른 알약의 비율을 측정합니다.
- 재현율(Recall): 모델이 성공적으로 식별한 실제 알약의 비율을 나타냅니다.
- 평균 정밀도(mAP): 이 메트릭은 다양한 탐지 임계값 전반에 걸쳐 정밀도와 재현율을 결합하여 전반적인 성능 점수를 제공합니다.
종합적으로 이러한 메트릭은 모델이 새로운 데이터에서 알약을 얼마나 정확하게 탐지하는지에 대한 포괄적인 시각을 제공합니다.
모델이 예상만큼 성능을 발휘하지 못하는 경우, 에포크 수를 늘려 학습을 진행하거나, 모델 최적화 과정에서 스텝 크기를 제어하는 학습률(learning rate) 또는 성능을 더욱 향상시키기 위한 이미지 크기 등의 다른 training parameters를 미세 조정해 볼 수 있습니다.
커스텀 학습된 Ultralytics YOLO11 모델을 사용한 인퍼런스 실행#
Ultralytics YOLO11 모델의 학습과 평가가 완료되면, 다음 단계는 새롭고 본 적 없는 이미지에서 모델이 얼마나 잘 수행되는지 테스트하는 것입니다. 이를 통해 다양한 조명, 배열 또는 포장 스타일에 따른 알약 감지와 같은 실제 환경을 시뮬레이션할 수 있습니다.
모델을 테스트하기 위해 무료 스톡 이미지 웹사이트인 Pexels에서 샘플 이미지를 다운로드하고, 아래 코드 스니펫과 같이 사용자 정의 학습된 Ultralytics YOLO11 모델을 사용하여 이미지를 분석하거나 예측을 실행했습니다.
이 샘플 이미지나 기타 관련 이미지를 사용하여 모델이 실제 시나리오에서 얼마나 잘 수행되는지 평가할 수 있습니다.
results = model.predict("path/to/image.jpg", save=True, conf=0.3)저장 옵션은 모델에게 결과 이미지를 저장하도록 지시하며, 신뢰도 설정은 30퍼센트 이상의 확실성을 가진 예측만 결과에 포함되도록 합니다.
예측을 실행하면 저장된 이미지의 위치를 알려주는 메시지가 표시됩니다. 예를 들어 "Results saved to runs/detect/train."과 같은 형식입니다.
결과 이미지는 여기에 표시된 것과 유사하게 알약이 탐지되고 BBox로 강조 표시됩니다. 표시된 신뢰도 점수는 각 탐지에 대한 확신 수준을 나타냅니다.

그림 3. Ultralytics YOLO11을 사용한 알약 검출.
제약 분야에서 Ultralytics YOLO11 활용의 실제 응용 사례#
Medical-Pills Dataset을 사용하여 Ultralytics YOLO11을 학습하고 알약 검출을 위해 이미지에서 추론을 실행하는 방법을 살펴보았으므로, 이제 제약 산업에서 YOLO11의 실제 응용 사례를 살펴보겠습니다.
Ultralytics YOLO11을 활용한 제약용 알약 분류#
Ultralytics YOLO11을 활용한 자동화된 알약 감지는 제약 분류에 적용될 수 있습니다. 수동 분류는 흔히 속도가 느리고 반복적이며, 의약품 안전성과 규정 준수를 저해할 수 있는 오류가 발생하기 쉽습니다.
파인튜닝된 Ultralytics YOLO11 모델을 사용하면 크기, 모양, 색상 같은 시각적 속성을 기반으로 알약을 정확하게 감지하고 분류할 수 있습니다. 이 자동화는 프로세스 속도를 높이고 제품이 엄격한 품질 표준을 충족하도록 보장하는 데 도움을 주므로, 제약 운영에서 가치 있는 도구가 됩니다.

Fig 4. YOLO11을 이용한 알약 감지.
Ultralytics YOLO11을 활용한 재고 모니터링#
적시에 올바른 의약품을 재고로 확보하는 것은 단순한 물류 작업을 넘어 환자 치료와 비용에 영향을 줄 수 있습니다. 중요한 알약이 부족하면 치료가 지연될 수 있고, 과잉 재고는 유통기한이 지난 의약품과 낭비되는 재고로 이어질 수 있습니다. 제약 산업에는 수많은 종류의 알약과 포장 변형이 존재하므로, 자동화된 재고 시스템은 더 정확한 기록을 가능하게 할 수 있습니다.
스마트 inventory systems은 Ultralytics YOLO11과 같은 computer vision 모델을 사용하여 실시간으로 재고 수준을 모니터링할 수 있습니다. 이 모델은 이미지나 비디오를 사용하여 선반과 포장 구역을 스캔하고 알약을 감지 및 카운트할 수 있습니다. 아이템이 추가, 제거 또는 이동됨에 따라 재고 수준이 변경되면 시스템이 자동으로 수량을 업데이트할 수 있습니다.
Ultralytics YOLO11로 구동되는 제약 품질 관리#
pharmaceutical production에서는 모든 알약이 안전하고 효과적인지 확인하기 위해 품질 관리가 매우 중요합니다. 균열, 불균일한 모양, 미세한 색상 변이와 같은 사소한 결함이라도 복용량 오류나 제품 리콜로 이어질 수 있습니다.
Ultralytics YOLO11은 품질 기준을 충족하지 못하는 알약을 자동으로 감지하여 도움을 줄 수 있습니다. 이 모델은 시각적 특징을 학습할 수 있으며 bbox를 사용하여 칩, 희미한 각인 또는 변색과 같은 문제를 실시간으로 표시합니다. 이를 통해 결함이 있는 알약을 조기에 제거하고, 낭비를 줄이며, 품질이 보증된 약품만 환자에게 도달하도록 보장할 수 있습니다.
여기에 더해, Ultralytics YOLO11은 검사 과정에서 알약을 감지하고 카운트하는 데 사용될 수 있어, 품질을 모니터링하는 동시에 정확한 추적이 가능합니다.

그림 5. Ultralytics YOLO11은 캡슐을 감지하고 카운트하는 데 사용할 수 있습니다.
알약 탐지를 위한 비전 AI 사용의 장단점#
이제 비전 AI가 제약 산업에 어떻게 적용될 수 있는지 살펴보았습니다. 이 분야에서 컴퓨터 비전을 사용할 때의 몇 가지 주요 이점을 간단히 살펴보겠습니다:
- 예지 보전: Ultralytics YOLO11은 알약 또는 포장 불일치를 식별하여 기기 마모의 초기 징후를 감지하는 데 사용할 수 있습니다. 시기적절한 수리를 예약하는 데 도움을 주고 계획에 없던 생산 중단을 방지합니다.
- 확장 가능한 모델 사용: 모델은 다양한 알약과 포장에 대해 여러 데이터셋으로 미세 조정될 수 있습니다. 이는 운영이 성장함에 따라 검사를 확장 가능하고 비용 효율적으로 만듭니다.
- 원격 모니터링: 클라우드 시스템 및 에지 장치와 통합될 때 실시간 품질 점검을 가능하게 하며, 농촌 조제소, 자동화 장치 및 원격 원격 조제 환경을 관리하는 데 이상적입니다.
제약 산업에서 비전 AI를 구현하는 것에는 많은 이점이 있지만, 이러한 기술을 사용할 때 염두에 두어야 할 고려 사항도 있습니다:
- 운영 통합: 기존 워크플로에 AI 시스템을 통합하려면 조정, 교육 및 현재 인프라와의 호환성 검사가 필요할 수 있습니다.
- Regulatory compliance: 자동화된 시스템은 환자의 안전과 일관된 제품 품질을 보장하기 위해 엄격한 규제 표준을 준수해야 합니다.
- 오류 관리: 고급 모델이라도 거짓 양성 또는 거짓 음성을 생성할 수 있습니다. 이러한 오류를 처리하고 수정하기 위한 프로세스를 마련하는 것이 중요합니다.
AI 제약 워크플로의 미래#
앞으로 AI는 clinical trials을 더욱 빠르고 스마트하며 비용 효율적으로 만드는 데 더 큰 역할을 할 것입니다. 더 나은 임상시험 프로토콜 설계, 올바른 환자 그룹 선정, 실시간 데이터 모니터링을 도울 수 있습니다.
이를 통해 연구자들은 사후 처리가 아닌 문제가 발생할 때 대응할 수 있게 될 것입니다. 또한 AI는 수동 서류 작업을 줄이고 일상적인 점검을 자동화하여 승인 과정을 가속화할 수 있습니다. 전반적으로 제약 워크플로에 AI를 통합하면 지연을 줄이고 새로운 치료법에 대한 접근성을 높일 수 있습니다.
핵심 요약#
Medical Pills Dataset에서 Ultralytics YOLO11을 학습시키는 것은 모델이 제약 작업에 얼마나 빠르고 효과적으로 적응할 수 있는지를 보여줍니다. 작은 데이터셋으로도 알약을 정확하게 탐지할 수 있어 분류, 품질 관리, 재고 추적과 같은 작업에 유용합니다.
데이터셋이 커지고 모델이 개선됨에 따라 제약 분야에서 비전 AI의 잠재력은 단순한 물류를 넘어섭니다. 이 기술은 일관된 알약 식별 및 추적을 돕고 연구자가 새로운 약물 조합을 안전하게 테스트하도록 지원함으로써 임상 시험을 뒷받침할 수도 있습니다.
GitHub repository를 방문하여 자세히 알아보시고 성장하는 당사의 community에 참여해 보세요. AI in agriculture부터 computer vision in healthcare에 이르기까지 다양한 분야의 최첨단 혁신 기술을 만나보세요. licensing options을 확인하고 지금 바로 비전 AI 프로젝트를 시작해 보세요.






