안녕하세요
이번 글에서는 파이썬 + Hugging Face Transformers 라이브러리를 활용해서,
이미지를 입력하면 자동으로 설명 문장을 만들어주는 이미지 캡셔닝(Image Captioning) 예제를 다뤄보겠습니다.
1. 이미지 캡셔닝(Image Captioning)이란?
이미지 캡셔닝은 간단히 말해 이미지를 입력하면 자연어 문장으로 설명을 생성하는 기술입니다.
말그대로 특정 이미지에 대한 캡션을 작성하는 기술입니다.
- 입력: 강아지 사진
- 출력: "a dog laying on the grass" (잔디에 누워있는 강아지)
이 기술은 시각장애인 보조 서비스, 전자상거래 이미지 검색, 사진 자동 태깅 같은 실생활에도 널리 응용됩니다.
2. 환경 준비
먼저 필요한 라이브러리를 설치합니다.
pip install transformers torch torchvision pillow
- transformers : Hugging Face의 핵심 라이브러리
- torch, torchvision : PyTorch 딥러닝 프레임워크
- pillow : 파이썬 이미지 처리 라이브러리
3. 이미지 캡셔닝 코드 예제
from transformers import pipeline
# 이미지 → 텍스트 파이프라인 불러오기
captioner = pipeline("image-to-text", model="nlpconnect/vit-gpt2-image-captioning")
# 예시 이미지 실행 (같은 폴더에 dog.jpg 있다고 가정)
result = captioner("dog.jpg")
print("이미지 설명:", result[0]['generated_text'])
사용된 모델은 vit-gpt2-image-captioning 모델로 (여기에 작성할 예정)
이미지를 보고 그 내용을 설명하는 문장(캡션)을 생성하도록 훈련된 딥러닝 모델입니다.
모델에 관련된 자세한 내용은 아래 홈페이지에서 확인하실 수 있습니다.
nlpconnect/vit-gpt2-image-captioning · Hugging Face
nlpconnect/vit-gpt2-image-captioning This is an image captioning model trained by @ydshieh in flax this is pytorch version of this. The Illustrated Image Captioning using transformers Sample running code from transformers import VisionEncoderDecoderModel,
huggingface.co
4. 실행 결과

위 이미지에 대해
이미지 설명: a large tower with a clock on top

라고 답변하는 것을 확인할 수 있습니다.
대형 모델이 아닌 관계로 정확도는 떨어질 수 있습니다.
'Python' 카테고리의 다른 글
| [Python] argparse 로 CLI 프로그램 만들기 (0) | 2025.10.14 |
|---|---|
| [Python] 이미지 임베딩으로 텍스트↔이미지 검색하기 (CLIP) (0) | 2025.10.02 |
| [Python] collections.Counter 로 데이터 갯수 세기 (0) | 2025.09.30 |
| [Python] 벡터 DB로 문장 검색하기 (Faiss 활용) (0) | 2025.09.29 |
| [Python] RAG(Retrieval-Augmented Generation) 이해하기 (0) | 2025.09.26 |