길거리를 지나다니다 보면 종종 반려동물을 찾는다는 전단지를 볼 수 있다. 그들 중 반려동물을 찾는 사람도 있지만 그런 노력에도 불구하고 찾지 못하는 경우도 있다. 본 프로그램 <고영희 찾기>는 ‘잃어버린 반려동물을 어떻게 하면 빠르게 찾아줄 수 있을까?’라는 고민에서 고안되었다.
[그림 1]에서 볼 수 있듯이 유기/유실된 동물은 원 소유주 반환 및 공고 기간이 7-10일이며 이 기간이 지나면 동물의 소유권은 지자체로 넘어간다. 즉 7-10일 안에 반드시 반려동물을 찾아내야한다. 하지만 원래 주인에게 돌아가는 비율은 현저히 낮다. [그림 2]에서도 볼 수 있듯이 원래 주인에게 인도되는 비율이 평균 15.1%에 불과하고 특히 고양이의 경우 1.57%에 불과하다.
고양이의 경우 현재 반려동물 등록제의 의무 대상이 아니기 때문에 발견이 되어도 주인을 빠르게 찾아주기 어렵다. 또한 경계심이 강하고 예민해 보호소로 옮겨져도 자연사하는 비율이 41.8%로 개가 15.5%에 비하면 현저히 높은 것을 알 수 있다. 이러한 이유로 고양이의 경우 빠르게 원래 주인을 찾아주는 것이 가장 바람직하다. 따라서 본 팀은 인도 비율이 가장 낮은 고양이를 원래 주인에게 빠르게 찾아주기 위해 <고영희 찾기>를 개발한다.
-
웹 서비스 구현 :
사용자가 고양이를 쉽게 찾고 고양이가 쉽게 주인을 찾을 수 있도록 공고, 검색, 자체 실종신고 및 발견신고 게시판, 사용자 주변 보호소 조회 등의 기능을 제공한다. 또한 사용자가 이러한 기능을 쉽게 사용하도록 웹 서비스를 제공한다. -
크롤링을 이용한 보호소의 공고 정보 제공 기능 구현 :
정부가 제공하는 공공데이터 포털에서 제공하는 ‘동물보호관리시스템 유기동물 조회 서비스’를 이용해 유기된 고양이 데이터(보호소 이름, 위치, 전화번호, 발견 장소, 특징, 이미지)를 가져와 사용자에게 제공한다. -
지도 API를 이용한 주변 보호소 정보 기능 구현 :
'Google Geocoding API', ‘Google Maps Geolocation API’와 ‘kakao maps API’를 이용해 사용자 주변 보호소의 위치를 보여주고 보호소 관련 정보를 제공한다. 이때, 주변 보호소 정보는 '동물보호관리시스템' 웹사이트에서 동물보호센터 정보를 웹크롤링하여 가져온다. -
머신러닝을 이용한 검색 서비스 구현 :
구글의 ‘Teachable Machine’을 이용해 고양이 품종을 찾아내는 머신러닝 모델을 생성해낸다. 이 모델을 이용하여 검색 시 사용자가 제공하는 고양이 이미지의 품종을 분석해내고 찾아낸 품종과 관련된 고양이 공고를 제공한다.
tool | |
---|---|
개발언어 | |
라이브러리 & 프레임워크 | |
Open API | 동물보호관리시스템 유기동물 조회 서비스 API |
개발환경 | Windows10 |
데이터베이스 환경 |
본 프로젝트의 구조도는 [그림 3]과 같다. 아래의 표는 주요 모듈의 세부 설명이다.
모듈명 | 역할 |
---|---|
home | 웹 페이지의 홈 화면을 보여준다. |
login | 댓글, 쪽지를 이용하기 위하여 로그인/회원가입을 기능을 구현하였다. |
mypage | 비밀번호 변경, 연락처 수정 등 개인정보를 수정할 수 있다. 사용자가 작성했던 게시글을 확인할 수 있다. 또한 쪽지 쓰기 및 회원 간 주고받은 쪽지를 관리할 수 있다. |
post | 발견동물 게시판 / 실종동물 게시판의 게시글 보기, 게시글 수정, 게시글 삭제, 댓글 기능을 담당한다. |
shelter | Google Geocoding API, Google Maps Geolocation API와 카카오 지도 API을 이용하여 사용자의 위치 지도와 주변 보호소 정보 및 지도를 볼 수 있다. |
develop | 티처블 머신을 이용하여 고양이 품종을 분류한 후, 가장 높은 정확도를 보이는 품종의 고양이 정보를 보여준다. |
2020.02.01 - 2020.06.19
- 팀명 : 강형욱팀
- 팀장 : 숭실대학교 소프트웨어학부 이아현 (Front-End, 머신러닝)
- 팀원 : 숭실대학교 소프트웨어학부 박수현 (Front-End, 머신러닝)
- 팀원 : 숭실대학교 소프트웨어학부 진혜원 (Back-End, 머신러닝)
- 팀원 : 숭실대학교 소프트웨어학부 채예진 (Back-End, 머신러닝)