Skip to content

l2yujw/PetMate

Repository files navigation

반려동물 입양을 고려하는 사람 또는 초보 보호자들을 위한
반려동물 관련 애플리케이션 '펫메이트'

  • 2023 한이음 공모전 입선 수상작

프로젝트 작동 동영상

프로젝트 소개

○ 반려동물 입양을 고민하는 사람을 위한 정보 제공

  • 동물보호센터에서 입양할 수 있는 반려동물의 목록과 사진
  • 각 반려동물의 건강 상태, 성격, 품종 등의 상세 정보
  • 머신러닝 기반 알고리즘을 통한 반려동물 추천

○ 초보 보호자들을 위한 정보 제공

  • 기본적인 행동교육과 사회화 교육 방법 안내
  • 건강관리와 예방접종 일정 안내
  • 주변 동물병원 및 애견 카페 위치 안내

○ 커뮤니티 기능을 활용한 다양한 의견 공유

  • 자신의 반려동물 사진과 이야기를 공유하고 댓글로 소통
  • 자신이 겪고 있는 문제나 궁금증에 대해 질문하고 답변

○ 캘린더 기능을 활용한 일정 관리

  • 예방접종, 사료 및 간식 구매, 산책 등의 일정을 관리

○ 위치기반 서비스를 활용한 장소 정보 제공

  • 현재 위치를 기반으로 반려동물 동반 가능한 식당, 카페, 애견호텔 등의 장소정보 제공
  • 검색어 입력 시, 검색 장소를 기반으로 장소 정보 제공

개발 배경 및 필요성

○ 1인 가구 증가 및 핵가족 형태 변화로 인한 반려동물 양육 가구 증가

  • 농림축산식품부에서 2018년부터 (2021년 제외) 시행한 동물보호 국민의식조사에 의하면 반려동물을 키우는 양육 가구가 매년 꾸준하게 증가하고 있다고 밝혔습니다. 1인 가구 증가 및 핵가족 형태의 변화로 인하여 반려동물을 키우는 사람들이 많아진 것으로 추정하고 있습니다.

○ 사회적인 문제 해결

  • 유실·보호동물이 전년보다 9.1% 줄어들었습니다(2022년 조사 기준). 그러나 한 해 유실·보호동물 수가 10만 마리를 넘어서는 상황은 2016년 이후 6년째 계속되고 있습니다.
  • 이 가운데 27.1%는 자연사, 17.0%는 안락사로 10마리 중 4마리 (44.1%)가 보호소에서 사망했습니다. 입양은 28.1%, 가족을 찾아간 경우는 12.4% 였습니다. 반려동물 양육 포기 또는 파양 고려 이유로 ‘물건훼손·짖음 등 동물의 행동문제’가 28.8%로 가장 많았고, 그 다음으로는 ‘예상보다 지출이 많음’(26.0%), ‘이사·취업 등 여건이 변화’(17.1%)의 순으로 나타났습니다. 이 외의 사유들도 있지만, 결과적으로 입양 전 정보가 부족해 입양 당시에는 이러한 문제들이 있을 거라 판단하지 못한 경우가 대다수였습니다.

주요 적용 기술

○ Yolov5

  • 반려동물이 없는 사용자에게 원하는 이미지와 비슷한 반려동물을 추천해주기 위하여 Yolov5를 사용
  • classification과 Localization을 동시에 하여 실시간 객체 검출이 가능한 Yolo를 사용
  • 안드로이드 스튜디오와의 통합을 고려하여 Yolov5로 훈련 후 tflite로 변환 가능한 유연성을 고려
  • 약 5000장의 학습 데이터를 바탕으로 직접 라벨링 작업을 한 후 300번의 학습을 진행시킴
  • 협업 필터링은 처음에 콜드 스타트의 단점이 존재하므로 이를 보완하기 위하여 첫 단계에서 사용

○ 아이템 기반 협업 필터링

  • 협업 필터링을 사용하여 많은 유저들로부터 모은 취향 정보들을 기반으로하여 스스로 예측하는 기술을 사용
  • 협업 필터링의 종류 Memory-based, Model-based, Hybrid 중 합당한 결과 도출과 더불어 유사도를 기반으로 동작한다는 점에서 Memory-based가 적합하다고 판단
  • 아이템 기반 협업 필터링: 아이템들에 대한 유사도를 계산하여 사용자에게 비슷한 아이템을 추천하는 기법
  • 피어슨 상관 계수를 이용하여 아이템 간의 유사도를 계산함과 동시에 코사인은 사용자의 취향을 반영하지 않는 단점을 보완

○ AWS Cloud Server : Amazon Web Services를 이용하여 서버를 생성하고 이를 통해 클라이언트에게 필요로 하는 데이터를 제공

○ Database : MariaDB: 높은 확장성 그리고 작은 데이터를 원활하게 관리하는 데에도 적합하므로 MariaDB를 사용

○ OpenAPI : 공공데이터포털에서 보호동물 정보 API와 연동하여 서비스에 사용

○ Android

  1. 코틀린: 소프트웨어를 만들기 위한 전반적으로 사용하는 언어로 선택
  2. XML: Front-end와 Back-end의 분담 작업에 용이하게 하고, 레이아웃만 수정해야 할 경우, 코드를 컴파일하지 않아도 된다는 장점을 통해 개발속도 향상

서비스 구성도

image

ERD

image

실사 사진

image image image
image image image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages