Skip to content

Latest commit

 

History

History
80 lines (60 loc) · 5.66 KB

README.md

File metadata and controls

80 lines (60 loc) · 5.66 KB

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

  • 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