아이를 키우는 부모는 잠깐 자리를 비우거나 잠든 사이에도, 아이가 괜찮은지 계속 신경 쓰게 됩니다. 기존 CCTV 앱이나 베이비 모니터는 실시간 확인까지만 도와주고,
“아이가 지금 크게 움직였는지, 깨려고 하는지, 어느 정도로 위험한 상황인지” 같은 정보까지는 알려주지 못한다는 한계가 있습니다.
아이도아(Idoa)는 이 문제에서 출발했습니다.
- 모바일로 촬영을 시작하면, 웹·모바일·데스크탑 앱 어디에서든 아이 모습을 바로 확인할 수 있고
- 촬영 중인 영상은 AI 모션 분석을 거쳐, 의미 있는 움직임이 감지되면 푸시 알림으로 알려줍니다.
- 동시에 부모는 아이의 성장 기록(키·몸무게 등) 과 생활 기록(수면, 수유, 기저귀, 체온, 진료 등),
그리고 사진이 포함된 일기·통계·육아 가이드를 한 곳에서 관리할 수 있습니다.
정리하자면, “아이 상태를 실시간으로 안심하고 지켜보면서, 육아 데이터를 자연스럽게 쌓는 서비스” 를 목표로 기획되었습니다.
- 비회원 플로우
- 로그인 / 회원가입 / 아이디·비밀번호 찾기
- 비회원 전용 랜딩 페이지: 실제 사용 로그 기반 통계(예: 평균 수면 시간, 모니터링 패턴)를 시각화해 서비스 가치를 설명
- 회원 플로우
- 아이 프로필 선택 화면
- 여러 명의 아이를 등록 가능
- 새 프로필 생성 시, 간단한 튜토리얼로 서비스 사용 흐름 안내
- 아이 메인 화면
- 실시간 카메라 프리뷰(관찰 모드 · 촬영 모드)
- 요약 정보: 최근 기록, 오늘 일기 여부, 아이 사진/이름/나이
- 하단/측면 네비게이션:
일기,기록,통계,프로필 관리,육아 가이드진입
- 아이 프로필 선택 화면
- 서비스 랜딩 & 다운로드 동선
- 최초 진입은 항상 서비스 소개 페이지로 라우팅
- 상단 네비게이션에
Sign In / Sign Up만 노출 - 웹에서 모바일 앱 / 데스크탑 앱 다운로드 버튼 제공 (회원일 때도 접근 가능하도록 리다이렉트 처리)
- 육아 기록 / 일기 / 통계 화면
- 캘린더 기반 인터페이스
- 날짜 선택 → 해당 날짜의 누적 기록 카드 + 그래프 표시
- 성장(키·몸무게) / 생활(수면, 식사, 약, 배변 등) 항목별 입력 모달
- 일기 화면
- 날짜/키워드 검색
- 사진 첨부 + 본문 편집
- 일기장 형태로 리스트/상세를 보여주는 레이아웃
- 통계 화면
- 키/몸무게 변화 그래프
- 백엔드에서 가공한 결과를 수신해 시각화
- 캘린더 기반 인터페이스
- 마이페이지 & 설정
- 부모 프로필 변경 (이미지, 비밀번호)
- “초대 링크 / 이메일 인증 / QR 토큰” 기반 가족 초대 UX
- 백그라운드 알림 on/off, 자동 촬영 설정, 회원 탈퇴, “졸업(서비스 종료)” 등 계정 관련 기능
- 로그인 · 랜딩
- 웹과 동일한 로그인/회원가입 플로우
- 앱 전용 랜딩 화면에서 핵심 기능을 간단히 소개
- 실시간 관찰/촬영 화면
- 관찰 모드
- 실시간 스트리밍 프리뷰
- 전체화면 / PIP(Picture-in-Picture) 모드 지원 고려
- 수면 확인 / 행동 확인 등 모드 전환 UI
- 촬영 모드
- 영상 녹화/촬영 시작·종료
- 촬영 중 AI 모션 분석 결과를 받아, 알림이나 배지 형태로 상태 표시
- 관찰 모드
- 모바일 전용 경험
- 기록/일기 작성 시, 모달·바텀시트 중심으로 빠르게 입력할 수 있는 UX
- 알림 센터 화면에서 AI 움직임 알림 이력 조회
- 장시간 모니터링 전용 클라이언트
- 집/사무실 PC에 띄워두고, 아이 화면을 항상 켜두는 용도에 맞춘 UI
- 전체화면, 윈도우 고정(Top Most) 등 옵션 제공
- 웹과 동일한 계정/프로필 연동
- 로그인 후, 웹/앱과 같은 방식으로 아이 프로필 선택
- 현재 선택된 프로필에 대해 같은 스트림을 시청하도록 구현
(스택: – Spring Boot, OpenVidu 서버, Firebase Admin SDK 등)
- WebRTC 세션 관리
- OpenVidu v3와 연동된 세션·토큰 발급 API
- 모바일에서 촬영을 시작하면:
- 촬영용 세션 생성 → 토큰 발급 → 모바일 클라이언트가 퍼블리셔로 입장
- 웹/앱/데스크탑 클라이언트는 뷰어로 같은 세션에 조인
- 육아 데이터 API
- 아이 프로필, 성장 기록(키·몸무게), 생활 기록(수면, 식사, 약, 배변, 체온, 진료 등)
- 일기(텍스트 + 이미지 URL), 통계 조회, 육아 가이드(콘텐츠 목록) API
- 캘린더 단위 집계 및 통계 데이터 생성
- 사용 로그 수집 & 랜딩 통계
- 모니터링 시간, 기록/일기 작성 패턴 등 로그를 수집
- 비회원 랜딩 페이지에서 사용할 집계 통계 데이터를 주기적으로 생성
- 가족 초대 및 권한 관리
- 부모 계정 간 초대/수락/권한 관리
- 초대 토큰 또는 이메일 기반 검증 로직
- 알림 & 설정 관리
- FCM 토큰 저장 및 구독 관리
- 알림 on/off, 자동 촬영 설정, 졸업/회원 탈퇴 처리
(스택: – Python, OpenCV, YOLOv8)
아이 움직임 감지는 스트리밍 중인 프레임을 받아 분석 → 중요도에 따른 알림으로 이어지는 구조입니다.
-
전처리 (OpenCV)
- Base64 이미지 디코딩 (
cv2.imdecode) - 최대
640x640으로 리사이즈 (cv2.resize)하여 처리 속도 향상 - 이미지 형식 검증 및 예외 처리
- Base64 이미지 디코딩 (
-
사람 감지 (YOLOv8n)
- 경량 모델 YOLOv8n의 Person 클래스만 사용
- 신뢰도
0.5이상 결과만 유효로 판단 - 가장 신뢰도가 높은 바운딩 박스를 선택
→ 실제 환경상 “가장 확실하게 잡힌 사람 = 아기”일 가능성이 가장 높다는 가정
-
관심 영역(ROI) 설정
- 아기 바운딩 박스를 기준으로 20px 마진을 추가
- 아기 주변 영역만 잘라서 분석 → 연산량 감소 + 검출 안정성 향상
- 단순 배열 슬라이싱 기반 구현
-
프레임 차이 기반 모션 계산
- Grayscale 변환 (
cv2.cvtColor)으로 색 정보 제거 - 가우시안 블러(31x31) 로 카메라 노이즈·조명 미세 변화 제거
- 연속 프레임 간 차이 (
cv2.absdiff)로 움직임 영역 추출 - Thresholding (
cv2.threshold, 임계값 50)으로 작은 밝기 변화 무시 - Morphology 연산(
cv2.morphologyEx, 7x7 커널)으로 그림자 조각·반사 등 구조적 노이즈 제거 - Median Blur(
cv2.medianBlur)로 결과 안정화 - 최종적으로 흰색 픽셀 개수 = 움직임 크기로 정량화
- Grayscale 변환 (
-
알림 레벨 결정 & 전송
- 움직임 크기에 따라 LOW / MEDIUM / HIGH / CRITICAL 4단계 심각도 분류
- 임계값
15,000이상을 “의미 있는 움직임”으로 판단 - 10초 쿨다운을 적용해 알림 과다 방지
- 백엔드에 비동기 전송 → 백엔드가 FCM을 통해 보호자에게 푸시 알림 발송
이 흐름을 통해, 아이도아는 단순 “영상 스트리밍 앱”을 넘어
실시간으로 아이의 상태 변화를 감지하고, 부모가 놓치기 쉬운 순간을 자동으로 알려주는 AI 기반 육아 모니터링 서비스를 지향합니다.