안녕하세요!
오늘은 스마트인재개발원에서 5명의 팀원들과 함께 머리를 맞대고 진행했던 핵심 프로젝트, 반려동물 행동 패턴 변화 감지 웹 서비스 '쫑긋'의 기획 비하인드와 실제 개발 및 알고리즘 구현 과정을 기록해 봅니다.
🐾 1. 프로젝트 개요: 쫑긋 (ZZONGGEUT)
"평소를 알고, 변화를 알려준다."
- 프로젝트 주제: 홈캠 영상을 활용해 반려동물의 평소 행동 패턴을 학습하고, 이상 행동이나 활동량 변화를 실시간으로 감지해 보호자에게 알려주는 AI 기반 지능형 펫케어 서비스
- 개발 기간: 2026.08.12 ~ 2026.09.29 (실질 개발 집중 기간: 9.14 ~ 9.29 추석 연휴 포함)
- 개발 인원: 5명
- 플랫폼: Web
- 핵심 지표 (Key Metrics): Activity Level(활동량), Stationary Ratio(정위 비율), Travel Distance(이동 거리), Moving Speed(이동 속도)
- 기술 스택:
- Language & Framework: Java, Python, JavaScript, HTML/CSS, Spring Boot, FastAPI, Thymeleaf
- AI / Vision: YOLO, OpenCV (영상 객체 분석)
- Database: MySQL
- Tools: GitHub, Notion

👨💻 2. 나의 역할 및 주요 기여 (Role & Contribution)
이번 프로젝트에서 저는 팀장(PM)을 맡아 전체적인 협업 구조를 조율하는 동시에, AI 모델 서버 초기 세팅, 관심영역(ROI) 공간 분석 알고리즘 구현, 로그인 전 메인 화면 및 백엔드 연동까지 기술적인 구현 전반에 직접 참여했습니다.
- AI 모델 서버 세팅 및 관심영역(ROI) 공간 분석 구현
- AI 분석 영역과 스프링 백엔드 환경을 묶기 위해 AI 서버 초기 세팅을 주도
- YOLO 기반의 반려동물 위치 추적 및 관심영역(ROI) 지정 로직을 구현하여, 영상 내 반려동물의 영역 접근 및 체류 시간(
stay_duration_sec) 데이터를 CSV / DataFrame 형태로 추출하는 파이프라인 구축
- 프로젝트 총괄 및 협업 구조 정비 (PM)
- 비전공자 중심의 팀에서 초기 방향성과 개발 뼈대를 설계하고, Thymeleaf 연동 및 기본 컨트롤러를 구축
- 역할 분담의 비효율을 파악하여 "회원-분석 결과 연동"을 최우선 과제로 재배치하고 정규 수업 시간 내에 핵심 과제 해결
- 화면 및 백엔드 로직 구현 (로그인 전 메인 화면 및 컨트롤러)
- 사용자가 서비스에 처음 접속했을 때 마주하는 로그인 전 메인 화면을 직접 설계 및 구현하여 서비스의 첫인상과 진입 흐름을 완성
- Spring Boot 기반의 컨트롤러와 Repository 계층을 구축하고, 사용자 인증 흐름 정비

- 핵심 트러블슈팅 및 협업 주도
- 회원 탈퇴 시 DB 데이터가 잔류하는 문제를 JPA
@Modifying과 세션 파기(session.invalidate())로 해결
- Git 충돌 위기 속에서 브랜치 전략을 정립하고 [GitHub 협업 퀵가이드]를 작성해 팀 전체가 안전하게 feature 브랜치 기반으로 협업할 수 있도록 주도
- 회원 탈퇴 시 DB 데이터가 잔류하는 문제를 JPA
🔍 3. 핵심 알고리즘 흐름: 관심영역(ROI) 공간 분석
'쫑긋' 서비스의 기술적 핵심은 홈캠 영상 속에서 반려동물이 어디에 머무는지를 파악하는 것입니다. 이를 구현하기 위해 다음과 같은 알고리즘 흐름을 설계했습니다.
- 영상 입력 & 위치 추적: 홈캠 영상을 입력받아 YOLO 모델로 반려동물 객체를 탐지하고 실시간 위치를 추적
- 관심영역(ROI) 지정: 화면 내 특정 공간(예: 밥그릇 주변, 쿠션 등)을 관심영역으로 설정
- 영역 접근 및 체류 감지: 반려동물이 해당 영역에 접근했을 때의 시간(
approach_time_sec)과 머문 시간(stay_duration_sec)을 감지하여 수치화 - 데이터 출력: 분석된 로그를 CSV 및 DataFrame 형태로 생성하여, 향후 활동량 데이터와 유기적으로 통합될 수 있도록 연동

💡 4. 왜 하필 '반려동물 펫테크'였을까? (기획 배경)
통계에 따르면 국내 반려가구는 전체 가구의 26.7%를 넘어섰고, 반려동물을 가족으로 여기는 인식이 당연해진 시대입니다. 하지만 반려인들이 마주하는 가장 큰 현실적인 벽은 다름 아닌 치료비와 의료 비용의 부담, 그리고 혼자 남겨진 반려동물에 대한 걱정입니다.
시중에는 이미 다양한 펫캠과 모니터링 서비스가 존재하지만, 5명의 팀원들과 함께 고민하며 이런 의문이 들었습니다.
"꼭 비싸고 무거운 전용 하드웨어가 있어야만 내 아이의 상태를 알 수 있을까?"
"단순히 실시간으로 화면을 보여주는 것을 넘어, 아이의 평소 상태를 객관적으로 수치화해 줄 수는 없을까?"
이러한 고민에서 출발한 것이 바로 '쫑긋'입니다. 고가의 전용 장비 없이도 일반 웹캠과 웹 환경에서 가볍게 연동할 수 있는 범용성을 갖추고, 보호자가 부재중일 때도 아이의 일상을 지켜주는 보조 툴을 만들고자 했습니다.
특히 기획 멘토링 과정에서 "반려동물도 우울증을 겪는데, 행동 패턴을 통해 정서적 웰니스(Mental Wellness)를 터치해 볼 수 있지 않을까?"라는 신선한 조언을 들었던 것이 큰 동기부여가 되었습니다. 의료적 진단까지는 어려워도, 평소와 다른 활동량 저하나 특정 공간 체류 시간 변화를 감지해 "어쩐지 오늘은 활력이 떨어졌네?" 하고 보호자가 세심하게 알아차릴 수 있는 보조 지표를 지향했습니다.
🚧 5. 이상과 현실: 부딪혔던 한계와 아쉬운 점
물론 모든 기획이 완벽하게 구현되지는 않았습니다. 실제 프로젝트 기간과 기술적 역량의 한계, 그리고 무엇보다 '반려동물의 평소 행동 패턴'을 학습하기 위한 충분한 데이터 축적이 부족하다는 벽에 부딪혔습니다.
최종적으로 구현된 모습은 YOLO와 ROI 기반 객체 탐지를 통해 특정 관심 영역에 얼마나 자주 접근하고 머물렀는지 데이터를 뽑아내는 수준까지 도달했습니다. 더미 데이터를 활용해 추가 학습 파이프라인을 확장해보고 싶었으나, 현실적인 일정 조율과 한계로 완벽하게 매듭짓지 못한 것은 지금도 아쉬움이 남는 대목입니다.
🌱 6. 앞으로의 발전 방향: 데이터 학습부터 '말을 거는 서비스'로
핵심 프로젝트는 여기서 마무리되었지만, '쫑긋'을 진짜 완성도 있는 서비스로 키우기 위해 앞으로 혼자서 토이 프로젝트 형태로 꼭 도전해보고 싶은 두 가지 단계별 고도화 목표가 있습니다.
1단계: 더미 데이터 기반의 행동 패턴 학습 및 이상 감지 파이프라인 완성
홈캠 환경이나 실제 테스트 데이터가 상시 주어지지 않더라도, 더미 데이터를 정교하게 구성해 주입함으로써 개체별 기준선(Baseline)을 학습시키고, 평소 패턴과 유의미한 편차가 발생했을 때 이상 징후 값을 정확하게 추출해내는 로직을 혼자의 힘으로 마저 구현해보고 싶습니다.
2단계: 숫자를 넘어 '말을 건네는 인터랙티브 리포트'로 확장
시중에 나와 있는 수많은 IoT 기기와 펫캠 서비스들이 공통으로 마주하는 한계가 있습니다. 바로 "사용자가 대시보드의 숫자를 보지 않게 된다"는 점입니다. 아무리 정교한 활동량 그래프나 체류 시간 수치를 띄워놔도, 그것이 사용자와 감정적인 연결을 만들어내지 못하면 결국 알림을 끄고 앱을 멀리하게 되죠.
그래서 1단계의 데이터 학습 파이프라인이 완성된 이후에는, 수집된 행동 데이터(관심영역 체류 시간, 활동량 변화 등)에 LLM 기반 페르소나를 결합해보고 싶습니다.
"오늘 밥그릇 앞을 서성이긴 했는데, 온종일 너무 심심해서 기운이 안 났어. 심심하니까 나랑 좀 더 놀아줘!"
건조한 숫자와 그래프 대신, 반려동물이 직접 보호자에게 말을 건네는 듯한 인터랙티브 리포트를 구현하여 보호자가 단순한 정보 소비를 넘어 반려동물과 진짜 교감하고 있다는 정서적 애착을 느낄 수 있도록 서비스를 확장하는 것이 최종 목표입니다.
🚀 7. 마치며: 진짜 개발은 이제부터 시작이다
팀장(PM)으로서 팀원들과 소통하고 일정을 조율하는 과정부터, AI 알고리즘 서버를 세팅하고 로그인 전 메인 화면 구축과 백엔드 로직을 엮으며 겪었던 수많은 트러블슈팅까지—코드 한 줄의 의미를 깊이 고민하고 비즈니스 흐름을 읽는 시야를 배웠습니다.
현장의 소통력을 개발로 증명하는 백엔드 개발자, '쫑긋'과 함께한 이 경험을 발판 삼아 이제부터 진짜 시작입니다! ✨