✔ 프로젝트명 : 니, 누꼬? (Ninucco)
✔ 한줄 소개 : 얼굴 사진을 분석해 다양한 결과와 프로필 사진을 제공하고, 다른 사용자와 얼굴 배틀을 할 수 있는 Android·IOS 하이브리드 앱 서비스
✔ 개발 기간 : 23.04.10 ~ 23.05.19 (6주)
✔ 팀원 : 하훈목, 이홍주, 박이령, 김희준, 장인혁, 송승현
✔ 사용 기술스택 : Flutter, SpringBoot, FastAPI, React, MariaDB, MongoDB, Redis, Docker, AWS(S3), Nginx + (3. 시스템 아키텍처 참고)
✔ 얼굴 사진 분석
- 사용자가 등록한 얼굴 사진을 분석합니다.
- 현재 5가지 분석 주제(동물, 직업, 과일, 학창시절, 개발언어)를 제공합니다.
- Stable Diffusion 모델을 사용하여 분석 결과를 이미지화시켜서 사용자에게 제공합니다.
- 생성된 이미지를 다운로드, 카카오톡 공유하기, 앱 내 프로필 사진 변경에 이용할 수 있습니다.
✔ 사진 배틀
- 배틀 질문을 선택하여 유저 간 사진 배틀을 할 수 있습니다.
- 상대로 지목된 유저는 배틀을 거절하거나 사진을 올리며 수락할 수 있습니다.
- 배틀을 수락한 시점을 기준으로 익일 자정이 되면 배틀이 종료됩니다.
- 배틀의 결과는 베팅 인원수로 결정됩니다.
✔ 베팅
- 진행중인 배틀에 포인트를 베팅할 수 있습니다.
- 승패 예측 성공 시 베팅한 포인트*배당만큼의 포인트를 획득할 수 있습니다.
✔ Elo Rating System
- Elo 레이팅 시스템을 도입해 승패에 따라 Elo score를 변경하며 두 유저 간 배당이 산정됩니다.
✔ 마이페이지
- 사진 분석 결과 내역을 조회할 수 있습니다.
- 진행했거나 진행중인 배틀 내역을 조회할 수 있습니다.
-
모델을 돌려서 키워드 리스트를 획득
-
각 키워드마다 선 생성한 프롬프트를 받아오고 이미지와 합성한 프롬프트를 통해 stable diffusion모델로 이미지 생성
-
각 키워드마다 선 생성한 제목 키워드 리스트에서 랜덤하게 제목 단어들, 내용 문단들을 가져와 분석 결과의 제목과 내용 생성
-
얼굴 분석을 통해 분석 결과와 새로운 프로필 이미지를 제공합니다.
-
다양한 질문과 사진으로 유저 간 대결이 가능합니다.
-
AI을 통해 사용자에게 차별화된 서비스를 제공합니다.
-
Keras 분석 모델을 통해 키워드를 추출하고, 해당 키워드를 기반으로 프롬프트를 생성합니다.
-
Stable Diffusion 이미지 생성 모델을 사용해 이미지와 프롬프트를 기반으로 프로필 이미지와 분석 결과를 생성합니다.
-
-
설계한 데이터베이스를 RDB와 NoSQL DB을 통해 구현했습니다.(기본: MariaDB, 검사 결과: MongoDB, 키워드-프롬프트, 한글 키워드, 제목과 내용 맵핑: Redis)
-
Firebase를 통해 유저 보안을 꾀했습니다. 또한 익명 로그인 기능을 통해 로그인하지 않고도 일부 기능을 이용할 수 있습니다.
-
검사 결과를 카카오톡을 통해서 공유할 수 있습니다.
-
생성된 이미지를 통해서 다른 유저와 배틀을 할 수 있고, 배틀을 통해서 코인을 획득할 수 있습니다.
김희준 (FE) |
박이령 (FE) |
송승현 (BE) |
이홍주 (BE) |
장인혁 (BE) |
하훈목 (FE, 팀장) |