Skip to content

CodeHanZoom/backend

Repository files navigation

그린워크(GreenWalk) : 플로깅 환경 보호 앱

프로젝트 개요

GreenWalk는 플로깅(조깅 중 쓰레기 줍기) 활동 후 쓰레기의 개수와 걸음수를 포인트로 환산하여 사용자가 원하는 기부처에 포인트를 기부할 수 있는 앱입니다. 이를 통해 환경 보호, 운동 효과, 기부의 기쁨을 동시에 누릴 수 있습니다.

팀 역할

  • 임영광 : 팀장 및 백엔드 개발
  • 김령래 : 백엔드 개발, 이미지 분석 및 머신러닝 모델 개발
  • 마영준 : 프론트엔드 개발
  • 나희수 : 프론트엔드 개발

주요 기능

  • 걸음수 측정 : 사용자의 걸음수를 자동으로 측정합니다.
  • 쓰레기 갯수 카운트 : 사용자가 업로드한 쓰레기 사진을 분석하여 쓰레기의 개수를 파악합니다.
  • 포인트 적립 : 걸음수와 쓰레기 개수를 기반으로 포인트를 적립합니다.
  • 포인트 기부 : 적립된 포인트를 사용자가 선택한 기부 단체에 기부할 수 있습니다.
  • 사진 업로드 및 S3 저장 : 사용자가 업로드한 쓰레기 사진을 AWS S3에 저장합니다.
  • 포인트 및 기부 내역 조회 : 사용자가 적립한 포인트와 기부 내역을 조회할 수 있습니다.

시스템 구성 및 주요 기술 스택

GreenWalk 앱은 클라이언트-서버 아키텍처를 기반으로 하며, 주요 기술 스택과 시스템 구성 요소는 다음과 같습니다: 시스템 구조

기술적 문제 해결 과정

쓰레기 이미지 분석

  • 문제 : 초기에는 로컬 CPU를 사용하여 이미지 분석을 수행하여 학습 속도가 매우 느렸습니다.
  • 해결 : GPU를 지원하는 Google Colab을 사용하여 학습 속도를 대폭 개선했습니다. 이를 통해 학습 시간이 5번의 epochs에서 3시간 걸리던 것이 20번의 epochs에서 1시간 이하로 단축되었습니다.
  • 결과 : Precision 값이 0.67에서 0.89로 향상되어 쓰레기 탐지 정확도가 크게 개선되었습니다.

이미지 처리 성능 개선

  • 문제 : Python의 PIL 라이브러리를 사용하여 이미지 크기를 축소하는 과정에서 시간이 오래 걸렸습니다.
  • 해결 : Java의 Graphics2D 라이브러리를 사용하여 이미지 크기를 축소함으로써 처리 시간을 24초에서 14초로 약 50% 단축했습니다.
  • 결과 : UX가 향상되고, 서버 부하가 감소하였습니다.

수상

  • 인천대학교 컴퓨터공학부 졸업작품에서 장려상 수상

발표 영상

발표 영상은 여기에서 확인할 수 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages