Giter Club home page Giter Club logo

album-cover-generator-service's Introduction


💽 앨범 표지 맞춤 제작 서비스 💽

✨ 팀 소개

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

💀 프로젝트 소개

앨범 표지는 가수와 그의 팬들 사이의 첫 만남입니다. 처음 만나는 순간의 중요성은 첫사랑, 첫 만남, 첫 인상과 같은 기억 속에서도 느껴집니다. 이러한 중요성은 영화 포스터나 유튜브 썸네일과 같이 앨범 커버도 작품의 분위기와 아티스트의 이미지를 대변합니다. 하지만 앨범 제작은 많은 비용과 시간이 소요되는 작업입니다. 본 프로젝트는 이러한 과정을 단순화하여 빠르고 쉽게 맞춤형 앨범 커버를 제작하는 서비스를 제공합니다.

해당 프로젝트는 Boostcamp AI Tech 내에서 진행된 최종 프로젝트입니다.

📆 프로젝트 일정

프로젝트 전체 일정

  • 2023.07.03 ~ 2023.07.28

프로젝트 세부 일정

  • ~ 2023.06.25 : 주제 선정
  • 2023.06.26 ~ 2023.06.30 : Dataset Search 및 Model Research
  • 2023.07.01 ~ 2023.07.02 : Dataset Crawling
  • 2023.07.03 ~ 2023.07.11 : Stable Diffusion 학습 파이프라인 구축 및 FastAPI를 이용한 Scratch 제작
  • 2023.07.11 ~ 2023.07.12 : BigQuery와 Google Cloud Storage를 사용해 DataWarehouse 구축
  • 2023.07.12 ~ 2023.07.13 : Error Reporting
  • 2023.07.13 ~ 2023.07.28 : Dreambooth와 Stable Diffusion을 활용한 Fine-Tuning 실험
  • 2023.07.12 ~ 2023.07.28 : Celery, Redis, FastAPI를 활용한 Back-End 구축
  • 2023.07.17 ~ 2023.07.28 : Front-End와 Github Action을 활용한 CI 구축, Airflow 연결
  • 2023.07.28 ~ : 프로젝트 마무리 및 배포

🚧 프로젝트 구조

👨‍💻 프로젝트 수행

  1. Dataset✔️
  2. Stable Diffusion✔️
  3. Dreambooth✔️
  4. Scratch✔️
  5. Experiments✔️
  6. 발표자료
  7. 발표영상

🗒️ 프로젝트 결과

🔸Dataset

  • 데이터 수집이 편리하고 국내/국외 노래 데이터 골고루 수집가능한 멜론 음원사이트 선택
  • 해당 음원사이트로부터 노래 제목, 가수 이름, 앨범 이 름, 발매일, 노래 장르, 노래 가사, 앨범 표지 URL을 Crawling하여 총 3,851개의 데이터 수집

🔸Model

1. Stable Diffusion

Stable Diffusion은 높은 품질의 이미지를 생성하고, Text-To-Image 작업을 가능하게 해주는 모델입니다. 사용자로부터 입력 받은 노래 정보를 ChatGPT API를 통해 Prompt로 생성한 후, 이를 Stable Diffusion 모델에 입력하여 앨범 커버를 생성합니다.

2. Dreambooth

Dreambooth는 Stable Diffusion과는 달리, 사용자로부터 추가적으로 가수의 사진을 입력 받고 이를 통해 Fine-Tuning하여 가수 사진이 포함된 앨범 커버를 생성해줍니다.


🔄️ Directory

├── .gitignore
├── .pre-commit-config.yaml
├── gitcommit_template.txt
├── README.md
├── Makefile
├── poetry.lock
├── pyproject.toml
├── imgs
├── docs
├── tests
└── src
    ├──  scratch
    │    ├── apache_config
    │    ├── config
    │    ├── dags
    │    │    ├── bigquery_data_pipeline.py
    │    │    └── model_retrain.py
    │    ├── dreambooth
    │    │    ├── dreambooth.yaml
    │    │    ├── inference.py
    │    │    └── run.py
    │    ├── gcp
    │    │    ├── bigquery.py
    │    │    ├── cloud_storage.py
    │    │    └── error.py
    │    ├── htdocs
    │    │    ├── images
    │    │    ├── js
    │    │    ├── styles
    │    │    ├── create.html
    │    │    ├── index.html
    │    │    └── mypage.html
    │    ├── gpt3-api.py
    │    ├── main.py
    │    ├── model.py
    │    ├── streamlit_frontend.py
    │    ├── train_dreambooth.py
    │    ├── translation.py
    │    ├── utils.py
    │    ├── worker_dreambooth.py
    │    ├── worker_sd.py
    │    └── worker_sdxl.py
    │
    ├── stable_diffusion
    │    ├── dataset.py
    │    ├── main.py
    │    ├── test.py
    │    ├── train.py
    │    ├── utils
    │    │    ├── plot.py
    │    │    ├── training.py
    │    │    └── util.py
    │    └── experiments
    │         └── [tag]ExpName
    │			    ├── albums.csv
    │			    ├── prompts.txt
    │			    ├── checkpoints
    │			    └── results
    │			     
    └── stable_diffusion_xl 
         └── (stable_diffusion과 구조 동일)

🤔 Wrap-Up Report

⚠️저작권 표기

album-cover-generator-service's People

Contributors

seungki1011 avatar cheonjieun avatar jjjuuuun avatar helpmeiamnewbie avatar eyecaramba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.