Safe Voice는 여성들의 안전한 귀가를 지원하기 위한 AI 기반 비명 감지 시스템입니다. 음성 인식 기술과 CNN 모델을 활용하여 실시간으로 비상 상황을 감지하고 자동으로 신고하는 기능을 제공합니다.
Safe_Voice/
├── AI_recording/ # 학습된 CNN 모델
│ ├── CNN_Transformer.py # CNN + Transformer 모델
│ └── cnn_transformer_model.pth # 학습된 모델 가중치
├── backend/ # Python Flask API 서버
│ ├── app.py # Flask 메인 앱
│ ├── model.py # CNN 모델 로더
│ └── requirements.txt # Python 의존성
├── spring_backend/ # Spring Boot API 서버
│ └── src/main/java/com/safevoice/
│ ├── controller/ # REST API 컨트롤러
│ └── service/ # 비즈니스 로직
└── flutter_app/ # Flutter 모바일 앱
└── lib/
├── screens/ # UI 화면
└── services/ # API 통신 서비스
- 마이크를 통한 실시간 음성 감지
- 5초 간격으로 자동 녹음 및 분석
- CNN + Transformer 모델을 사용한 정확한 비명 소리 감지
- 일반 소음과 비명 소리 구별
- 비명 감지 시 자동으로 경찰서 신고
- GPS 위치 정보와 함께 전송
- 간단한 원터치 모니터링 시작
- 실시간 상태 표시
cd backend
pip install -r requirements.txt
python app.pycd spring_backend
mvn spring-boot:runcd flutter_app
flutter pub get
flutter runstart_servers.batGET /health- 서버 상태 확인POST /analyze_audio- 오디오 분석POST /emergency_alert- 긴급 알림
GET /api/audio/health- 서버 상태 확인POST /api/audio/analyze- 오디오 분석 (Flutter에서 호출)
- AI/ML: PyTorch, CNN + Transformer, librosa
- Backend: Python Flask, Spring Boot (Java)
- Frontend: Flutter/Dart
- Database: H2 (임시), 추후 PostgreSQL 연동 가능
- 기타: REST API, 음성 처리, GPS 위치 서비스
- 앱 실행: Flutter 앱을 실행하고 권한 허용
- 모니터링 시작: 메인 화면에서 마이크 버튼 터치
- 음성 감지: 5초간 주변 소리 녹음
- AI 분석: 녹음된 소리를 서버로 전송하여 분석
- 결과 표시: 비명 감지 여부를 화면에 표시
- 긴급 신고: 비명 감지 시 자동으로 경찰 신고
- 실제 경찰서 API 연동
- 더 정확한 AI 모델 학습
- 배터리 최적화
- 다양한 언어 지원
- 웨어러블 기기 연동
- 현재는 데모용으로 더미 데이터를 사용
- 실제 서비스 시에는 경찰청 신고 시스템과 연동 필요
- GPS 위치 정보는 사용자 동의 하에 수집
이 프로젝트는 해커톤 목적으로 제작되었습니다.