이미지 캡셔닝 - Hugging Face의 BLIP 모델로 이미지 설명 자동 생성하기

webnautes
By -
0

 이미지 캡셔닝을 테스트해봅니다. AI가 이미지를 보고 그 내용을 설명하는 글(캡션)을 자동으로 만들어주는 기술입니다.



2025. 4. 30  최초작성




테스트 해보려면 Python 개발 환경을 생성하고 CUDA를 사용할 수 있는 Pytorch를 설치하는게 필요합니다. 자세한 내용은 아래 포스트를 참고하세요.


Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기( Windows, Ubuntu, WSL2)

https://webnautes00.blogspot.com/2025/12/visual-studio-code-miniconda-python.html 

 



Ubuntu에 CUDA 사용할 수 있도록 PyTorch 설치하는 방법

https://webnautes.kr/ubuntue-cuda-sayonghal-su-issdorog-pytorch-seolcihaneun-bangbeob/

 


Windows에 CUDA 사용할 수 있도록 PyTorch 설치하는 방법

https://webnautes00.blogspot.com/2025/12/ubuntu-cuda-pytorch.html 





추가로 transformers 패키지 설치가 필요합니다.


pip install transformers




다음 이미지에 대해 실행 결과입니다. 





최초 실행시엔 Hugging Face의  BLIP 모델을 다운로드가 진행됩니다.



이미지에 대한 설명을 영어로 적어줍니다.


boy catching a soccer ball in front of a goalie net



DeepL을 사용하여 번역한 결과입니다. 실행결과가 만족스럽군요. 



골키퍼 네트 앞에서 축구 공을 잡는 소년





테스트에 사용한 코드입니다.


from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration

processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-large").to("cuda")



img_path = 'test.png'
raw_image = Image.open(img_path).convert('RGB')
inputs = processor(raw_image, return_tensors="pt").to("cuda")
out = model.generate(**inputs)
caption = processor.decode(out[0], skip_special_tokens=True)

print(caption+'\n')



댓글 쓰기

0 댓글

댓글 쓰기 (0)