{"id":29027042,"url":"https://github.com/1juyoung/facemeet","last_synced_at":"2026-04-10T01:02:02.576Z","repository":{"id":299579180,"uuid":"1003458333","full_name":"1juyoung/facemeet","owner":"1juyoung","description":"📽 표정 인식과 감정 분석을 통해 회의 참가자의 감정을 시각화하는 화상 회의 서비스","archived":false,"fork":false,"pushed_at":"2025-06-17T08:09:57.000Z","size":3867,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T09:21:07.319Z","etag":null,"topics":["deepface","emotion","nodejs","python","react","socket-io","webrtc-video"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1juyoung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-17T07:19:31.000Z","updated_at":"2025-06-17T08:10:02.000Z","dependencies_parsed_at":"2025-06-17T09:21:41.511Z","dependency_job_id":"96a9b550-a775-48a7-bb3e-c2723a35c063","html_url":"https://github.com/1juyoung/facemeet","commit_stats":null,"previous_names":["1juyoung/facemeet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/1juyoung/facemeet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1juyoung%2Ffacemeet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1juyoung%2Ffacemeet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1juyoung%2Ffacemeet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1juyoung%2Ffacemeet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1juyoung","download_url":"https://codeload.github.com/1juyoung/facemeet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1juyoung%2Ffacemeet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262010835,"owners_count":23244411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deepface","emotion","nodejs","python","react","socket-io","webrtc-video"],"created_at":"2025-06-26T06:02:05.571Z","updated_at":"2025-12-30T22:23:25.590Z","avatar_url":"https://github.com/1juyoung.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FaceMeet - 표정 분석 기반 화상 회의 웹 서비스\r\n\r\n📅 **발표 시점**: 2024년 11월 (졸업 작품)  \r\n🧠 **주요 기술**: WebRTC, Socket.io, React, Express, MongoDB DeepFace, OpenCV\r\n\r\n---\r\n\r\n## 🧩 프로젝트 개요\r\n\r\n\u003e 코로나19 이후 온라인 활동의 증가와 함께, 사용자 간 감정 이해를 돕기 위한 화상 회의 서비스의 필요성이 커졌습니다.  \r\n\u003e **FaceMeet**는 표정 인식 및 감정 분석을 기반으로 사용자 간 감정 흐름을 시각화하여, 보다 원활한 소통을 지원하는 **감정 기반 화상 회의 서비스**입니다.\r\n\r\n### 🎯 주요 목표\r\n\r\n- 표정 분석 기술을 활용하여 회의 참여자의 감정 점수를 시각화\r\n- 호스트/클라이언트 간 소통을 위한 화상회의 + 감정 공유 기능 구현\r\n- 비언어적 의사소통이 필요한 외국인/특수 상황에서의 커뮤니케이션 개선\r\n\r\n---\r\n\r\n## 🛠️ 프로젝트 폴더 구조\r\n\r\n```\r\nbackend/\r\n│\r\n├── app.js                  # 백엔드 진입점\r\n├── facemeet/               # 프론트엔드 코드 (React)\r\n├── model/                  # 표정 분석 파이썬 기반 모델 (Flask + DeepFace)\r\n├── modules/                # 백엔드 모듈 (미들웨어, 로직 등)\r\n├── mongoose/               # MongoDB 모델 정의\r\n└── ...\r\n```\r\n\r\n📌 **구조 설명**\r\n\r\n- **facemeet/**: 프론트엔드 React 프로젝트 디렉터리입니다.\r\n- **model/**: DeepFace 기반 감정 분석 Python 서버 코드 (Flask + OpenCV)\r\n- **나머지 디렉토리**: Node.js 기반 백엔드 API 및 서버 구성\r\n\r\n---\r\n\r\n## 💡 주요 기능 및 시스템 아키텍처\r\n\r\n### 📷 표정 분석\r\n\r\n- **OpenCV Haarcascade**로 얼굴 영역 추출\r\n- **DeepFace + CNN(VGG-Face)**를 통해 감정 인식\r\n- 감정값에 가중치를 두어 최종 점수 산출\r\n\r\n```\r\nEmotion Score =\r\n(Happiness × 100) + (Neutral × 50) + (Sadness × 30) +\r\n(Fear × 20) + (Disgust × 10) + (Anger × 10) + (Surprise × 50)\r\n```\r\n\r\n- 점수 범위에 따라 감정 상태 분류:\r\n  - 0~30: 부정적 감정\r\n  - 30~70: 중립 감정\r\n  - 70~100: 긍정적 감정\r\n\r\n### 🧱 시스템 구성\r\n\r\n| 화면 구성        | 설명                                          |\r\n| ---------------- | --------------------------------------------- |\r\n| 로그인, 회원가입 | 기본 인증 기능                                |\r\n| 메인화면         | 회의 생성/참여                                |\r\n| 회의기록         | 감정 점수 기반 회의 리스트                    |\r\n| 회의 화면        | WebRTC 기반 실시간 화상회의 및 감정 점수 표시 |\r\n\r\n---\r\n\r\n## ⚙️ 사용 기술 스택\r\n\r\n### 프론트엔드 (React - `/facemeet`)\r\n\r\n- React 18, MUI, React Router, Axios\r\n- WebRTC\r\n- JWT 기반 인증\r\n- 실시간 통신: Socket.io\r\n\r\n### 백엔드 (Node.js - root 디렉터리)\r\n\r\n- Express, Mongoose, Multer (파일 업로드)\r\n- GridFS (프로필 이미지 저장)\r\n- PM2 (서버 운영), Morgan, JWT 인증\r\n\r\n### 표정 분석 모델 (`/model`)\r\n\r\n- Python + Flask\r\n- DeepFace, OpenCV\r\n- CORS 설정을 통한 백엔드 연동\r\n\r\n---\r\n\r\n## ✅ 프로젝트 결과 및 기대 효과\r\n\r\n- 웹페이지 내 회의 생성, 참가, 기록 및 감정 점수 시각화 기능 구현\r\n- 감정 점수를 기반으로 회의 분위기 판단 가능\r\n- 외국인, 장애인 등 **비언어적 의사소통**이 중요한 상황에서 활용 가능\r\n\r\n---\r\n\r\n## 🙋 팀 정보\r\n\r\n- 총 4인 구성 (프론트엔드 2, 백엔드 1, AI 모델 1)\r\n\r\n---\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1juyoung%2Ffacemeet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1juyoung%2Ffacemeet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1juyoung%2Ffacemeet/lists"}