지난 2024년 여름, 저는 항해커톤 2024에 지원했고 10:1이라는 치열한 경쟁률을 뚫고 최종 50인 안에 선발되었습니다. 이번 해커톤은 ‘세상을 구하는 AI 서비스’라는 주제로, 오픈소스 AI를 활용하여 실제 사회 문제를 해결할 수 있는 서비스를 만드는 것이 미션이었습니다.
저는 AI 및 백엔드 개발을 담당했고, 3명의 개발자(프론트엔드 2명, 백엔드 1명)와 함께 ‘헬렌켈러’라는 팀명으로 도전했습니다. 이틀간 무박으로 달린 끝에 저희 팀은 공동 4위로 특별상을 수상하게 되었고, 이 과정에서 많은 기술적 경험과 교훈을 얻을 수 있었습니다.
문제 정의와 프로젝트 목표
시각장애인에는 완전히 시력을 잃은 전맹도 있지만, 사실 상당수는 저시력 시각장애인입니다. 이들은 앞이 전혀 안 보이는 것이 아니라, 흐릿하게 보이거나 세부 식별이 힘든 경우가 많습니다.
예를 들어, 책상 위에 놓인 물병이 보이지만 정확히 어느 위치에 있는지, 그것이 물병인지 컵인지 구분하기가 어렵습니다. 이러한 문제는 일상생활의 자립성을 크게 저해합니다.
우리 팀의 목표:
저시력 시각장애인을 위해 음성으로 원하는 물건이나 주변 상황을 요청하면, AI가 실시간으로 분석하여
- 물건의 위치를 알려주고
- 주변 장애물의 위험 여부를 안내하고
- 주변 환경을 설명해주는
서비스를 만드는 것
이 서비스는 단순히 기술 데모가 아니라, 실제 사용자가 즉각적인 도움을 받을 수 있는 형태로 구현하고자 했습니다.
시스템 아키텍처
아래는 저희가 설계한 시스템 아키텍처입니다.

1. 음성 인식 (STT) → 명령어 분기
- 앱에서 사용자가 “물병 찾아줘”, “길 안내해줘”, “주변 설명해줘” 같은 음성 명령을 입력
- HTTPS 중계 서버를 통해 STT(Speech-to-Text) 로 변환
- 텍스트는 백엔드로 전달되고, KoSimCSE-Roberta를 이용해 임베딩
- 사전에 정의한 3가지 명령어(찾아줘, 안내해줘, 설명해줘)와 Cosine Similarity를 계산하여 가장 유사한 명령으로 분기
2. AI 처리
- 찾아줘:
- YOLO-World 모델로 객체 탐지
- 좌표를 xyxy 형식으로 계산 후 프론트엔드로 전송
- “왼쪽 위”, “중앙”, “오른쪽 아래” 등 직관적 위치를 음성으로 안내
- 안내해줘:
- 주변 장애물을 인식하고, 특정 객체가 화면의 50% 이상 차지할 경우 경고 알림
- 예: 앞에 장애물이 크게 가로막고 있으면 “앞에 큰 장애물이 있습니다”라고 안내
- 설명해줘:
- GPT-4o API로 장면 설명 요청
- “사진 속에 보이는 사물들을 설명해줘” → GPT-4o의 응답을 TTS로 전달
3. 백엔드 & 데이터 플로우
- FastAPI 서버로 모든 요청 처리
- YOLO-World는 영어 입력만 지원 → Googletrans로 번역 후 모델에 전달
- GPT-4o 결과를 다시 한국어로 변환해 사용자에게 음성으로 출력
주요 기술 스택
| Object Detection | YOLO-World | Zero-Shot 객체 탐지 (사전 학습 없이도 다양한 물체 탐지) |
| NLP | KoSimCSE-Roberta | 문장 임베딩 + 명령어 유사도 계산 |
| LLM API | GPT-4o | 주변 상황 설명, 복잡한 질의 응답 |
| Backend | FastAPI | API 서버, 텍스트/이미지 라우팅 |
| Translation | Googletrans | 한국어 → 영어 번역으로 모델 호환성 확보 |
| Voice | STT / TTS | 음성 명령 → 텍스트, 결과 → 음성 피드백 |
성과 & 시연 결과
- 실제 시연
- “물병 찾아줘” → YOLO-World 탐지 → “오른쪽 위에 물병이 있습니다” 음성 안내
- “주변 상황 설명해줘” → GPT-4o 호출 → “책상 위에 노트북과 컵이 보입니다” 음성 안내
- 제한된 12시간 안에 STT, TTS, Object Detection, GPT-4o까지 통합한 MVP 구현
- 공동 4위 수상 – 심사위원에게 “짧은 시간 안에 서비스 완성도가 매우 높다”는 피드백 받음
기술적 도전과 해결
- YOLO-World 한글 인식 문제
- 한글 텍스트를 그대로 넣으면 인식 실패
- 해결 → googletrans로 영어 번역 후 모델 입력
- 실시간 응답 속도 최적화
- 모델 추론 + GPT-4o 호출 시간이 길어지면 사용자 경험이 나빠짐
- 해결 → 비동기 요청 처리 + 병렬 태스크로 지연 최소화
- 명령어 분기 정확도
- 유사도가 애매한 경우 잘못된 분기로 들어감
- 해결 → Cosine Similarity threshold 조정 + fallback 로직 추가
배운 점 & 회고
- 빠른 의사결정의 중요성 – 해커톤에서는 완벽한 설계보다 빠른 MVP 구현이 핵심
- 오픈소스 모델의 힘 – YOLO-World, KoSimCSE 같은 모델을 활용해 구현 시간을 크게 단축
- 사용자 경험 고려 – 단순히 AI 결과만 보여주는 것이 아니라, 위치 안내를 음성으로 전달하는 UX 설계가 핵심
- 짧은 시간 안에 음성 → 텍스트 → 이미지 분석 → 자연어 응답 → 음성 출력을 연결하면서, 엔드투엔드 AI 파이프라인 구축 경험을 쌓을 수 있었음
마무리
이번 해커톤은 단순히 재미있는 프로젝트를 만드는 것을 넘어, AI로 실제 문제를 해결할 수 있는 가능성을 직접 체험한 시간이었습니다.
개발자로서 데이터 파이프라인 설계, 모델 서빙, 실시간 시스템 최적화를 한 번에 경험할 수 있는 좋은 기회였고, 앞으로도 이런 실험적인 프로젝트를 계속 시도해 보고 싶습니다.
'아무거나 > 일상' 카테고리의 다른 글
| 사진으로 보는 아이유 딥슬립 베개 언박싱 (4) | 2025.09.17 |
|---|---|
| 🐶 반려동물 관리 서비스 앱 – Pet-ID 프로젝트 개발기 (2) | 2025.09.15 |
| [Admob] 드디어 애드몹 게재제한(?) 광고 노출수 0 에서 정상복구 되었다! (6) | 2022.06.22 |
| [자격증] ADsP 합격 후기 (0) | 2022.03.19 |
| TAVE 6기 수료 후기 – 4개월 동안의 성장기 (0) | 2020.12.02 |