Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Seeksick ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๊ฐ์ • ๋ถ„์„ ํ”„๋กœ๊ทธ๋žจ

์‹ค์‹œ๊ฐ„์œผ๋กœ ์–ผ๊ตด, ์Œ์„ฑ, ํ…์ŠคํŠธ 3๊ฐ€์ง€ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ์—์„œ ๊ฐ์ •์„ ๋ถ„์„ํ•˜๋Š” ํ†ตํ•ฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

๐ŸŒ NEW: ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฒ„์ „

์‹ค์‹œ๊ฐ„ ๊ฐ์ • ๋ถ„์„ + ChatGPT AI ์ƒ๋‹ด์‚ฌ๊ฐ€ ํ†ตํ•ฉ๋œ ์›น ๋ฒ„์ „์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

โšก ๋น ๋ฅธ ์‹œ์ž‘ (์›น ๋ฒ„์ „)

# ์›น ์˜์กด์„ฑ ์„ค์น˜
pip install Flask flask-cors openai

# ์„œ๋ฒ„ ์‹คํ–‰
python3 app.py

# ๋ธŒ๋ผ์šฐ์ € ์ ‘์†
# http://localhost:5000

์›น ๋ฒ„์ „ ํŠน์ง•:

  • โœ… ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ (๋ณ„๋„ ์„ค์น˜ ๋ถˆํ•„์š”)
  • โœ… ์‹ค์‹œ๊ฐ„ ๊ฐ์ • ๋ถ„์„ (5์ดˆ ๊ฐ„๊ฒฉ Late Fusion)
  • โœ… ChatGPT ํ†ตํ•ฉ ๊ณต๊ฐ์  AI ์ƒ๋‹ด์‚ฌ
  • โœ… ๋ฐ˜์‘ํ˜• ๋””์ž์ธ (๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ)
  • โœ… 5๊ฐ€์ง€ ๊ฐ์ • ํ™•๋ฅ  ์‹ค์‹œ๊ฐ„ ํ‘œ์‹œ

๐Ÿ“š ์ƒ์„ธ ๊ฐ€์ด๋“œ: QUICKSTART.md | WEB_APP_GUIDE.md


๐Ÿ’ป ์ฝ˜์†” ๋ฒ„์ „ (๊ธฐ์กด)

๐ŸŽญ ์ง€์›ํ•˜๋Š” ๊ฐ์ •

๋ชจ๋“  ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ์—์„œ ๋™์ผํ•œ 5๊ฐ€์ง€ ๊ฐ์ •์„ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค:

  • ํ–‰๋ณต (happy)
  • ์šฐ์šธ (depressed)
  • ๋†€๋žŒ (surprised)
  • ํ™”๋‚จ (angry)
  • ์ค‘๋ฆฝ (neutral)

๊ฐ ๊ฐ์ •์˜ ํ™•๋ฅ  ํ•ฉ์€ 1.0์ด๋ฉฐ, ์˜ˆ์‹œ: [0.1, 0.1, 0.2, 0.5, 0.1]

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1. ํ™˜๊ฒฝ ์„ค์ •

# ์ €์žฅ์†Œ ํด๋ก  (๋˜๋Š” ์••์ถ• ํ•ด์ œ)
cd seeksick-main

# ์ž๋™ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
python setup.py

2. ๋ชจ๋ธ ํŒŒ์ผ ๋ฐฐ์น˜

๋‹ค์Œ ๋ชจ๋ธ ํŒŒ์ผ๋“ค์„ models/ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”:

models/
โ”œโ”€โ”€ seeksick-resnet18.pth    # ์–ผ๊ตด ๊ฐ์ • ๋ถ„์„
โ”œโ”€โ”€ seeksick-voice.pt        # ์Œ์„ฑ ๊ฐ์ • ๋ถ„์„
โ””โ”€โ”€ seeksick-kobert.pt       # ํ…์ŠคํŠธ ๊ฐ์ • ๋ถ„์„

3. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

# ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๊ฐ์ • ๋ถ„์„ ์‹œ์ž‘
python main.py

๐ŸŽฎ ์‚ฌ์šฉ๋ฒ•

๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด:

  1. ์›น์บ ์ด ์ž๋™์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค

  2. ๋งˆ์ดํฌ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์Œ์„ฑ์„ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค

  3. 3์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋‹ค์Œ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

    • ์Œ์„ฑ โ†’ ํ…์ŠคํŠธ ๋ณ€ํ™˜ (Whisper)
    • ์Œ์„ฑ ๊ฐ์ • ๋ถ„์„
    • ํ…์ŠคํŠธ ๊ฐ์ • ๋ถ„์„
    • ์–ผ๊ตด ๊ฐ์ • ๋ถ„์„ (์‹ค์‹œ๊ฐ„)
  4. ๊ฒฐ๊ณผ๊ฐ€ ์ฝ˜์†”๊ณผ ํ™”๋ฉด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค

์ข…๋ฃŒ: q ํ‚ค๋ฅผ ๋ˆ„๋ฅด์„ธ์š”

๊ฐœ๋ณ„ ๋ชจ๋ธ ํ…Œ์ŠคํŠธ

๊ฐ ๋ชจ๋ธ์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# ์–ผ๊ตด ๊ฐ์ • ๋ถ„์„ ํ…Œ์ŠคํŠธ
python -m models.face_emotion_model

# ์Œ์„ฑ ๊ฐ์ • ๋ถ„์„ ํ…Œ์ŠคํŠธ 
python -m models.voice_emotion_model

# ํ…์ŠคํŠธ ๊ฐ์ • ๋ถ„์„ ํ…Œ์ŠคํŠธ
python -m models.text_emotion_model

๐Ÿ—๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

seeksick-main/
โ”œโ”€โ”€ main.py                    # ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ
โ”œโ”€โ”€ setup.py                   # ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ
โ”œโ”€โ”€ requirements.txt           # ์˜์กด์„ฑ ํŒจํ‚ค์ง€
โ”œโ”€โ”€ .env                      # ์„ค์ • ํŒŒ์ผ
โ”œโ”€โ”€ models/                   # ๋ชจ๋ธ ๋ชจ๋“ˆ
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ face_emotion_model.py   # ์–ผ๊ตด ๊ฐ์ • ๋ถ„์„
โ”‚   โ”œโ”€โ”€ voice_emotion_model.py  # ์Œ์„ฑ ๊ฐ์ • ๋ถ„์„
โ”‚   โ”œโ”€โ”€ text_emotion_model.py   # ํ…์ŠคํŠธ ๊ฐ์ • ๋ถ„์„
โ”‚   โ”œโ”€โ”€ seeksick-resnet18.pth   # ์–ผ๊ตด ๋ชจ๋ธ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ seeksick-voice.pt       # ์Œ์„ฑ ๋ชจ๋ธ ํŒŒ์ผ
โ”‚   โ””โ”€โ”€ seeksick-kobert.pt      # ํ…์ŠคํŠธ ๋ชจ๋ธ ํŒŒ์ผ
โ””โ”€โ”€ README.md

๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

ํ•ต์‹ฌ ๊ธฐ์ˆ 

  • ์–ผ๊ตด ๊ฐ์ •: ResNet18 + OpenCV
  • ์Œ์„ฑ ๊ฐ์ •: CNN/Wav2Vec2 + librosa
  • ํ…์ŠคํŠธ ๊ฐ์ •: KoBERT + Transformers
  • ์Œ์„ฑ ์ธ์‹: OpenAI Whisper

์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ์Œ์„ฑ ์ฒ˜๋ฆฌ: sounddevice, scipy, librosa
  • ์˜์ƒ ์ฒ˜๋ฆฌ: opencv-python
  • ๋”ฅ๋Ÿฌ๋‹: torch, transformers
  • ์Œ์„ฑ ์ธ์‹: openai-whisper

โš™๏ธ ์„ค์ •

.env ํŒŒ์ผ์—์„œ ๋‹ค์Œ ์„ค์ •์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ
FACE_MODEL_PATH=models/seeksick-resnet18.pth
VOICE_MODEL_PATH=models/seeksick-voice.pt
TEXT_MODEL_PATH=models/seeksick-kobert.pt

# ์˜ค๋””์˜ค ์„ค์ •
SAMPLE_RATE=16000
AUDIO_BUFFER_SIZE=3.0

# ๋น„๋””์˜ค ์„ค์ •
VIDEO_FPS=10

# ์‹ ๋ขฐ๋„ ์ž„๊ณ„๊ฐ’
CONFIDENCE_THRESHOLD=0.5

๐Ÿ“Š ์ถœ๋ ฅ ์˜ˆ์‹œ

=============================================================
์‹œ๊ฐ„: 14:23:15
ํ…์ŠคํŠธ: ์˜ค๋Š˜ ์ •๋ง ๊ธฐ๋ถ„์ด ์ข‹์•„์š”!
=============================================================
๐ŸŽค ์Œ์„ฑ ๊ฐ์ • ๋ถ„์„:
  happy: 0.782
  depressed: 0.045
  surprised: 0.123
  angry: 0.032
  neutral: 0.018

๐Ÿ“ ํ…์ŠคํŠธ ๊ฐ์ • ๋ถ„์„:
  happy: 0.856
  depressed: 0.024
  surprised: 0.089
  angry: 0.015
  neutral: 0.016

๐Ÿ‘ค ์–ผ๊ตด ๊ฐ์ • ๋ถ„์„ (14:23:15):
  happy: 0.734
  depressed: 0.056
  surprised: 0.145
  angry: 0.038
  neutral: 0.027

๐Ÿšจ ๋ฌธ์ œ ํ•ด๊ฒฐ

๋ชจ๋ธ ํŒŒ์ผ ์—†์Œ

โš ๏ธ seeksick-resnet18.pth ์—†์Œ (๋‚˜์ค‘์— ์ถ”๊ฐ€ ํ•„์š”)

โ†’ ํ•ด๋‹น ๋ชจ๋ธ ํŒŒ์ผ์„ models/ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”

์›น์บ  ์ ‘๊ทผ ์‹คํŒจ

โŒ ์›น์บ ์„ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โ†’ ์นด๋ฉ”๋ผ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์นด๋ฉ”๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธํ•˜์„ธ์š”

๋งˆ์ดํฌ ์ ‘๊ทผ ์‹คํŒจ

โš ๏ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋งˆ์ดํฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โ†’ ๋งˆ์ดํฌ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๊ณ  ์˜ค๋””์˜ค ์žฅ์น˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”

๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ

CUDA out of memory

โ†’ .env์—์„œ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ CPU ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜์„ธ์š”

๐Ÿ› ๏ธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

์ƒˆ๋กœ์šด ๊ฐ์ • ์ถ”๊ฐ€

  1. models/__init__.py์—์„œ EMOTIONS ๋ฆฌ์ŠคํŠธ ์ˆ˜์ •
  2. ๊ฐ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ ์ฐจ์› ๋ณ€๊ฒฝ
  3. ๋ชจ๋ธ ์žฌํ›ˆ๋ จ ๋˜๋Š” ๊ฐ€์ค‘์น˜ ์ˆ˜์ •

์ƒˆ๋กœ์šด ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ ์ถ”๊ฐ€

  1. models/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒˆ ๋ชจ๋ธ ๋ชจ๋“ˆ ์ƒ์„ฑ
  2. main.py์˜ MultimodalEmotionAnalyzer์— ํ†ตํ•ฉ
  3. UI ๋ฐ ๊ฒฐ๊ณผ ํ‘œ์‹œ ๋กœ์ง ์ˆ˜์ •

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿค ๊ธฐ์—ฌ

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ, ๊ธฐ๋Šฅ ์š”์ฒญ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!


Seeksick Team ๐Ÿ’™

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages