Skip to content

Vision-Contact/code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vision Contact

μ‹œκ°μž₯애인을 μœ„ν•œ AI 기반 μ‹€μ‹œκ°„ 보행 보쑰 μ‹œμŠ€ν…œ


ν”„λ‘œμ νŠΈ κ°œμš”

Vision ContactλŠ” 컴퓨터 λΉ„μ „κ³Ό AI κΈ°μˆ μ„ ν™œμš©ν•˜μ—¬ μ‹œκ°μž₯μ• μΈμ˜ μ•ˆμ „ν•œ 보행을 λ•λŠ” μ›Ή 기반 μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

1. μ•ˆμ „λͺ¨λ“œ (μ‹€μ‹œκ°„ 객체 탐지)

  • YOLO + GPT-4o-mini Vision: ꡐ톡 ν‘œμ§€νŒ, μž₯μ• λ¬Ό μ‹€μ‹œκ°„ 감지
  • RAG 기반 μ„€λͺ…: κ°μ§€λœ 객체에 λŒ€ν•œ 상황별 맞좀 μ•ˆλ‚΄
  • μŒμ„± ν”Όλ“œλ°±: OpenAI TTS둜 즉각적인 μŒμ„± μ•ˆλ‚΄

2. μŒμ„± λͺ…λ Ή μ‹œμŠ€ν…œ

  • STT: OpenAI Whisper-1으둜 μŒμ„± 인식
  • 경둜 μ•ˆλ‚΄: TMAP API 기반 μ‹€μ‹œκ°„ λ„€λΉ„κ²Œμ΄μ…˜
  • 날씨/λ‰΄μŠ€ 쑰회: μœ„μΉ˜ 기반 정보 제곡
  • TTS: μžμ—°μŠ€λŸ¬μš΄ ν•œκ΅­μ–΄ μŒμ„± 응닡

3. μ‹€μ‹œκ°„ ν†΅λ²ˆμ—­

  • μŒμ„± λ²ˆμ—­: Whisper STT + GPT-4o λ²ˆμ—­
  • 4개 μ–Έμ–΄ 지원: ν•œκ΅­μ–΄, μ˜μ–΄, 일본어, 쀑ꡭ어
  • Hallucination λ°©μ§€: 3단계 검증 둜직

4. μ‚¬μš© 기둝 관리

  • μžλ™ λ‘œκΉ…: λͺ¨λ“  ν™œλ™ λ‚΄μ—­ DB μ €μž₯
  • 리포트 생성: 일별/주별/월별 톡계
  • μ˜€λ””μ˜€ μž¬μƒ: μ €μž₯된 μŒμ„± μ•ˆλ‚΄ 재청취

기술 μŠ€νƒ

Frontend

  • Vue 3 (Composition API, TypeScript)
  • Vite (λΉŒλ“œ 도ꡬ)
  • Pinia (μƒνƒœ 관리)
  • Axios (HTTP ν΄λΌμ΄μ–ΈνŠΈ)

Backend

  • FastAPI (Python μ›Ή ν”„λ ˆμž„μ›Œν¬)
  • SQLAlchemy (ORM) + SQLite (DB)
  • OpenAI API:
    • GPT-4o: λ²ˆμ—­ μ—”μ§„
    • GPT-4o-mini: Vision 뢄석
    • Whisper-1: STT (Speech-to-Text)
    • TTS-1: Text-to-Speech
  • YOLOv8: μ‹€μ‹œκ°„ 객체 탐지
  • OpenCV: 이미지 처리

External APIs

  • TMAP (SK Open API): 경둜 μ•ˆλ‚΄
  • Naver News: λ‰΄μŠ€ 쑰회
  • OpenWeather: 날씨 정보
  • Kakao: μœ„μΉ˜ μ„œλΉ„μŠ€

λΉ λ₯Έ μ‹œμž‘

사전 μ€€λΉ„

  • Python 3.11 이상
  • Node.js 20.19.0 이상 λ˜λŠ” 22.12.0 이상
  • OpenAI API ν‚€ (ν•„μˆ˜)

μ„€μΉ˜ 및 μ‹€ν–‰

μƒμ„Έν•œ μ„€μΉ˜ κ°€μ΄λ“œλŠ” SETUP_GUIDE.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

1. ν™˜κ²½λ³€μˆ˜ μ„€μ •

# .env.example 볡사
cp backend/.env.example backend/.env

# .env 파일 νŽΈμ§‘ (API ν‚€ μž…λ ₯)

2. λ°±μ—”λ“œ μ‹€ν–‰

cd backend

# κ°€μƒν™˜κ²½ 생성 및 ν™œμ„±ν™”
python3 -m venv venv
source venv/bin/activate  # Windows: .\venv\Scripts\Activate.ps1

# μ˜μ‘΄μ„± μ„€μΉ˜
pip install -r requirements.txt

# μ„œλ²„ μ‹€ν–‰
python run.py

3. ν”„λ‘ νŠΈμ—”λ“œ μ‹€ν–‰ (μƒˆ 터미널)

cd frontend/vision-contact-app

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# 개발 μ„œλ²„ μ‹€ν–‰
npm run dev

4. λΈŒλΌμš°μ € 접속

http://localhost:5173

ν”„λ‘œμ νŠΈ ꡬ쑰

version_2/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/          # API μ—”λ“œν¬μΈνŠΈ
β”‚   β”‚   β”œβ”€β”€ models/       # DB λͺ¨λΈ
β”‚   β”‚   β”œβ”€β”€ services/     # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
β”‚   β”‚   └── database/     # DB μ—°κ²°
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ run.py
β”‚   └── .env.example
β”œβ”€β”€ frontend/
β”‚   └── vision-contact-app/
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ components/  # Vue μ»΄ν¬λ„ŒνŠΈ
β”‚       β”‚   β”œβ”€β”€ views/       # νŽ˜μ΄μ§€
β”‚       β”‚   β”œβ”€β”€ stores/      # Pinia μŠ€ν† μ–΄
β”‚       β”‚   └── router/      # λΌμš°νŒ…
β”‚       └── package.json
β”œβ”€β”€ instructions/
β”‚   └── YOLO_model/       # YOLO λͺ¨λΈ 파일
β”œβ”€β”€ SETUP_GUIDE.md        # μ„€μΉ˜ κ°€μ΄λ“œ
└── README.md

API λ¬Έμ„œ

μ„œλ²„ μ‹€ν–‰ ν›„ Swagger UIμ—μ„œ 확인 κ°€λŠ₯:

http://localhost:8000/docs

μ£Όμš” μ—”λ“œν¬μΈνŠΈ

  • POST /api/voice/command: μŒμ„± λͺ…λ Ή 처리
  • POST /api/translation/translate: μŒμ„± λ²ˆμ—­
  • POST /api/detection/analyze: 객체 탐지 및 뢄석
  • GET /api/reports/summary: μ‚¬μš© 톡계
  • GET /api/logs: ν™œλ™ 둜그 쑰회

AI Hallucination λ°©μ§€ 기술

Whisper STT의 μ˜€μΈμ‹μ„ λ°©μ§€ν•˜κΈ° μœ„ν•œ 3단계 검증:

1. 희귀 μ–Έμ–΄ 필터링

  • 80개 μ΄μƒμ˜ 비지원 μ–Έμ–΄ λΈ”λž™λ¦¬μŠ€νŠΈ
  • μ„œλΉ„μŠ€ 지원 μ–Έμ–΄(ν•œ/영/일/쀑) μ™Έ 감지 μ‹œ 차단

2. YouTube μžλ§‰ νŒ¨ν„΄ 차단

  • "ꡬ독과 μ’‹μ•„μš”", "Thanks for watching" λ“± 10개 νŒ¨ν„΄
  • ν•™μŠ΅ 데이터 편ν–₯으둜 μΈν•œ μ˜€μΈμ‹ λ°©μ§€

3. μ΅œμ†Œ 길이 검증

  • 3자 미만 ν…μŠ€νŠΈ κ±°λΆ€
  • 무음 λ˜λŠ” 극히 짧은 작음 필터링

κ²°κ³Ό: 잘λͺ»λœ λ²ˆμ—­ μš”μ²­ 95% 이상 사전 차단, GPT-4o λΉ„μš© 절감


μ£Όμš” κΈ°λŠ₯ 데λͺ¨

μ•ˆμ „λͺ¨λ“œ

  1. 카메라 ν™œμ„±ν™”
  2. λͺ¨λ“œ 선택 (어린이, μ‹œκ°μž₯μ• , μ°¨λŸ‰)
  3. μ‹€μ‹œκ°„ 객체 감지 및 λ°”μš΄λ”© λ°•μŠ€ ν‘œμ‹œ
  4. ν‘œμ§€νŒ 감지 μ‹œ μžλ™ μŒμ„± μ•ˆλ‚΄

μŒμ„± λͺ…λ Ή

  1. 마이크 λ²„νŠΌ 클릭
  2. λͺ…λ Ήμ–΄ λ°œν™”:
    • "κ°•λ‚¨μ—­μœΌλ‘œ μ•ˆλ‚΄ν•΄μ€˜" β†’ 경둜 μ•ˆλ‚΄
    • "날씨 μ•Œλ €μ€˜" β†’ ν˜„μž¬ 날씨
    • "λ‰΄μŠ€ λ“€λ €μ€˜" β†’ μ£Όμš” λ‰΄μŠ€
  3. μŒμ„± 응닡 μž¬μƒ

λ²ˆμ—­ λͺ¨λ“œ

  1. λ²ˆμ—­ λͺ¨λ“œ μ§„μž…
  2. λͺ©ν‘œ μ–Έμ–΄ 선택
  3. μŒμ„± μž…λ ₯
  4. μžλ™ μ–Έμ–΄ 감지 β†’ λ²ˆμ—­ β†’ ν™”λ©΄ ν‘œμ‹œ

λΌμ΄μ„ μŠ€

λ³Έ ν”„λ‘œμ νŠΈλŠ” μ™ΈλΆ€ APIλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€:

  • OpenAI API: 유료 (μ‚¬μš©λŸ‰ 기반)
  • TMAP, Naver, OpenWeather: 무료 (일일 ν• λ‹ΉλŸ‰ μ œν•œ)

⚠️ κ²½κ³ : API μ‚¬μš©λŸ‰μ— 따라 λΉ„μš©μ΄ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.


κΈ°μ—¬

이슈 및 Pull RequestλŠ” ν™˜μ˜ν•©λ‹ˆλ‹€!


문의

ν”„λ‘œμ νŠΈ κ΄€λ ¨ λ¬Έμ˜λŠ” GitHub Issuesλ₯Ό μ΄μš©ν•΄μ£Όμ„Έμš”.


Made with ❀️ for Accessibility

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors