사진으로만 남은 추억을 시로 간직해보는 건 어떨까요?
'AI 시인 김삿갓'은 한국어 Image to poem 프로젝트입니다. 추억이 담긴 사진을 넣어주면 그에 맞는 한글 시를 써드립니다.
사진 내의 객체에만 집중하여 시를 생성하는 기존 방식에서 벗어나, 특정 이미지를 통해 떠올릴 수 있는 감정 및 심상들을 담은 시를 생성하는 네트워크를 구축했습니다.
김서진 | 김성준 | 김형준 | 이승재 | 이정은 | 최명헌 |
---|---|---|---|---|---|
데이터 수집, KoGPT2 | 데이터 전처리 및 후처리 | 데이터 전처리 및 후처리 | ClipCap | ClipCap | KoCLIP, 웹 Streamlit |
CLiP ViT Encoder: CLIP은 여러 이미지와 캡션들 간의 상관관계를 학습합니다. 따라서, 이미지가 CLIP ViT Encoder를 통과하여 생성된 feature vector는 해당 이미지에 상응하는 캡션 정보를 담고 있습니다.
KOGPT2 in ClipCap: 캡션 정보가 담긴 feature vector로부터, 해당 feature를 잘 설명하는 한글 문장을 생성합니다.
Fine-tuned KoGPT2: 이 모델은 한글 시 데이터를 이용해 fine-tune 되었기 때문에, 한글 시와 같은 문장을 생성할 수 있습니다. 이미지를 잘 설명할 수 있는 한글 문장이 입력되면, KoGPT2는 이미지를 담은 한 편의 한글 시를 생성합니다.
# streamlit 으로 demo version 실행
streamlit run YAICON_POEM.py
# Kogpt2 finetuning
python kogpt2_base_finetune.py --repo_name {huggingface repo name} --auth_token {huggingface auth token}
저희가 fine-tuning한 KoGPT2 모델의 가중치는 이곳에 공개되어 있습니다.
├── 📄README.md
├── 📄requirements.txt
├── 📄YAICON_POEM.py
├── 📂data
│ ├── 📄result.jpg
│ ├── 📄poem_preprocess.ipynb
│ └── 📂poem_data
├── 📂model
│ ├── 📄kogpt2_base_finetune.py
│ ├── 📄kogpt2_finetune.py
│ └── 📄model.py
@article{mokady2021clipcap,
title={ClipCap: CLIP Prefix for Image Captioning},
author={Mokady, Ron and Hertz, Amir and Bermano, Amit H},
journal={arXiv preprint arXiv:2111.09734},
year={2021}
}