최근 저는 8명의 팀원과 함께 반려동물 관리 서비스 앱 프로젝트에 참여했습니다. 이 앱은 단순한 예약 시스템이 아니라, 반려견의 이미지를 기반으로 품종, 털색, 털길이, 몸무게를 예측하고, 병원 예약 및 내장칩 프로필 등록까지 관리할 수 있는 올인원 솔루션을 만드는 것이 목표였습니다.
프로젝트 목표
애완견을 키우는 보호자라면 누구나 한 번쯤 병원 예약, 예방접종 스케줄 관리, 반려견의 프로필 정리에서 불편함을 느낀 적이 있을 겁니다. 우리 팀은 이런 불편함을 줄이고, 보호자와 반려동물 모두가 편안한 환경에서 생활할 수 있도록 AI 기반 반려동물 관리 앱을 개발했습니다.

- 앱에서 반려견의 이미지를 업로드 → AI가 품종, 털색, 털길이, 몸무게를 예측
- 예: "포메라니안, 흰색, 장모, 5kg"
- 예측 결과를 기반으로 프로필을 자동 생성 → 병원 예약, 건강 관리에 활용
AI 개발 과정
저는 이 프로젝트에서 AI 모델 개발을 전담했습니다. 목표는 단순히 모델을 만드는 것에서 끝나는 게 아니라, iOS와 Android 환경에서 원활하게 구동할 수 있는 온디바이스 모델을 완성하는 것이었습니다.
1. 데이터 수집 및 전처리
- AIHub에서 제공하는 반려동물 이미지를 대량으로 수집
- 이미지와 라벨을 하나의 CSV로 묶어 관리
- 제공된 bounding box 정보를 활용하여 객체 중심으로 이미지를 잘라 학습 데이터로 사용
- 데이터셋에 품종, 털색, 털길이, 몸무게 분포가 고르지 않은 문제가 있었기 때문에 클래스 비율을 분석하고 데이터 증강을 적용
2. 모델 설계와 학습
일반적으로 품종, 털색, 털길이, 몸무게를 각각 예측하려면 4개의 별도 모델을 써야 하지만, 온디바이스 환경에서 추론 속도와 메모리 효율성을 고려했을 때 멀티 라벨 분류 모델로 통합하는 것이 적합하다고 판단했습니다.
- MobileNetV3 pretrained 모델을 backbone으로 사용
- 4개의 Head(Output Layer)를 달아 품종, 털색, 털길이, 몸무게를 동시에 예측
- 분류(품종/털색/털길이)와 회귀(몸무게) task가 섞여 있어 loss를 통합할 때 conflicting gradient 문제가 발생
→ PCGrad(Projected Conflicting Gradient) 기법을 적용해 서로 충돌하는 gradient를 조정
→ 각 라벨의 학습이 공정하게 이루어지도록 개선 - 클래스 불균형 문제 해결을 위해 Focal Loss 적용
- 결과적으로 4개 라벨 평균 Accuracy 75% 이상 달성
이 과정에서 train loss는 잘 줄어드는데 validation loss가 줄지 않는 과적합 현상을 여러 번 겪었습니다.
라벨 간 상관관계가 낮은 경우가 많아서 발생한 문제였고, PCGrad를 도입하고 데이터 증강을 추가한 뒤 점차 안정화되었습니다.
3. 모델 변환 및 최적화
모델을 학습한 뒤에는 모바일 환경에서 실행할 수 있도록 ONNX 변환 → TFLite 변환 과정을 거쳤습니다.
- iOS/Android 환경은 FP32 연산을 주로 지원하므로, 모델을 양자화하지 않고 FP32 기반으로 유지
- 전처리/후처리 로직을 TFLite 메타데이터에 포함시켜 개발자가 별도의 변환 과정을 거치지 않아도 앱에서 바로 사용할 수 있도록 구현
4. 온디바이스 통합
iOS, Android 개발자들과 협업해 모델을 실제 앱에 통합했습니다.
이미지 입력 → 모델 추론 → 결과 표시까지 전 과정을 모바일 디바이스에서 수행하며, 예측 속도는 평균 수백 ms 단위로 빠른 편이어서 UX에도 문제가 없었습니다.
주요 도전 과제
- 멀티 라벨 학습의 난이도
- 회귀 + 분류 task가 섞여 있어 loss 계산에 고민이 많았음
- PCGrad 적용으로 학습 안정성 확보
- 클래스 불균형
- 특정 품종, 털색 데이터가 적어서 모델이 한쪽으로 치우침
- Focal Loss + 데이터 증강으로 해결
- 온디바이스 최적화
- 모델 사이즈와 속도 모두 중요 → MobileNetV3 + FP32 유지로 절충
결과 및 성과
- 앱에서 이미지를 업로드하면 AI가 품종, 털색, 털길이, 몸무게를 빠르게 예측
- 예측 결과를 기반으로 프로필 자동 생성 → 예약 시스템에 활용 가능
- 모델 정확도 75% 이상, 온디바이스 추론 속도 빠름 → 실제 서비스 적용 가능성 확인
- iOS/Android 개발자들과 긴밀히 협력하며 온디바이스 AI 파이프라인을 구축한 경험 확보
배운 점 & 회고
이번 프로젝트는 단순히 모델 하나 만드는 데 그치지 않고, 엔드투엔드 AI 시스템을 구현해본 경험이었습니다.
- 데이터 수집 → 학습 → 모델 변환 → 온디바이스 배포 → UI 통합까지 전 과정을 경험
- PCGrad, Focal Loss 같은 실전 테크닉을 적용해 성능 개선
- 협업 과정에서 AI 개발자와 모바일 개발자 간 커뮤니케이션의 중요성을 실감
무엇보다, 단순히 연구용 모델이 아니라 실제로 배포 가능한 모델을 만드는 경험을 한 점이 가장 큰 성과였습니다.
아래에서 다운받을 수 있습니다. (플레이스토어 OR 앱스토어 -> 펫아이디 검색)
https://play.google.com/store/apps/details?id=com.petid.petid&hl=ko
'아무거나 > 일상' 카테고리의 다른 글
| 아반떼 CN7 2025 인스퍼레이션 구매 후기 & 6개월 탑승기 (초보자 관점) (4) | 2025.09.17 |
|---|---|
| 사진으로 보는 아이유 딥슬립 베개 언박싱 (4) | 2025.09.17 |
| 세상을 구하는 AI 서비스 – 항해커톤 2024 참가 상세과정 (1) | 2025.09.15 |
| [Admob] 드디어 애드몹 게재제한(?) 광고 노출수 0 에서 정상복구 되었다! (6) | 2022.06.22 |
| [자격증] ADsP 합격 후기 (0) | 2022.03.19 |