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

인공지능은 거의 모든 산업 분야에서 사용되고 있지만, 헬스케어, 특히 제약 분야에서의 영향력은 매우 상당합니다. 올해 AI 제약 시장 규모는 19억 4천만 달러로 평가되며, 2034년까지 164억 9천만 달러로 성장할 것으로 예상됩니다.
이 시장을 이끄는 핵심 기술 동력은 컴퓨터 비전입니다. 기존의 이미지 처리와 달리 컴퓨터 비전은 기계가 시각 데이터를 실시간으로 이해하고 분석할 수 있게 하는 AI의 하위 분야입니다.

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

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

그림 3. YOLO11을 사용한 알약 탐지.
Link to this section제약 분야에서 YOLO11을 사용하는 실제 적용 사례#
Medical-Pills 데이터셋을 사용하여 YOLO11을 학습하고 알약 탐지를 위해 이미지에 대한 추론을 실행하는 방법을 살펴봤으므로, 이제 제약 산업에서 YOLO11의 실제 적용 사례를 살펴보겠습니다.
Link to this sectionYOLO11을 사용한 제약 알약 분류#
YOLO11을 사용한 자동화된 알약 탐지는 제약 분류에 적용될 수 있습니다. 수동 분류는 종종 느리고 반복적이며, 의약품 안전성과 규정 준수를 위협할 수 있는 오류가 발생하기 쉽습니다.
미세 조정된 YOLO11 모델을 사용하면 크기, 모양, 색상과 같은 시각적 속성을 기반으로 알약을 정확하게 탐지하고 분류할 수 있습니다. 이러한 자동화는 공정 속도를 높이고 제품이 엄격한 품질 표준을 충족하도록 보장하여 제약 운영에서 귀중한 도구가 됩니다.

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

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






