위치별 인생샷 도우미 카메라 앱, 나만의 포토가이드를 만들고 공유할 수 있는 커뮤니티 기반 카메라 서비스
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
이미지에 사람 객체에 대한 외곽선을 추출하기 위해 세그멘테이션 기술을 도입하였습니다.
개별 인물 각각의 고유한 외곽선이 필요했기 때문에 instance segmentation 기술이 필요했지만
안드로이드 모바일 환경에 내장하여 바로 활용할 수 있는 오픈소스 모델이 없다고 판단했고 이 과정에서 많은 연구와 시도가 있었습니다.
[구현방법]
pytorch 에서 제공하는 sementic segmentation 모델을 사용하여 모든 인물에 대한 외곽선을 1차 추출하고
opencv의 watershed 알고리즘을 사용해 인물을 각각 구별해내는 후처리를 통해 2차 추출을 진행하는 방식으로 목표를 달성했습니다.
[관련 실적]
MVVM 패턴을 적용하기 위해 AAC ViewModel을 활용하는 방식을 시도했으나 구현방법과 개념을 완전히 숙지하지 못하여 제대로 구현하지 못하였습니다.
하지만 시행착오 과정에서 MVVM 패턴과 AAC ViewModel의 관계에 대해 자세히 공부할 수 있었던 좋은 계기였다고 생각합니다.
[관련 실적]
- 기술블로그 스터디 내용 정리
MVC, MVVM 패턴 그리고 ViewModel
AAC ViewModel 사용하기
- 구글 로그인
- 마이페이지 조회
- 사진 촬영하기
- 앨범 조회하기
- 포토가이드 둘러보기
- 포토가이드 적용하기
- 포토맵 둘러보기
- 포토가이드 만들기
- 포토스팟별 포토가이드 조회하기
- Tools : Android Studio Dolphin
- Language : Kotlin
- Architecture Pattern : Repository Pattern
- Android Architecture Components(AAC)
- ViewModel
- Naivgation Conponponent
- OKHTTP
- RETROFIT
- SERIALIZATION
- Google Oauth2.0
- KAKAO Map
- OpenCV
- Picasso
.
├── base
├── data
│ ├── RemoteDataSource
│ └── RemoteDataSourceImp
├── Repository
│ ├── NetworkModule
│ └── RepositoryModule
├── dto
├── Home
│ ├── camera (for navigation component)
│ ├── gallery (for navigation component)
│ ├── slideshow (for navigation component)
│ ├── HomeActivity
│ └── HomeViewModel
├── PhotoGuide
├── PhotoMap
├── PhotoMaker
├── utils
│ └── PreferenceUtil
├── ApiService
├── ViewModelFactory
└── RetrofitInstance
- yolov5 모델 연결하기
- 구글 로그인 jwt 완성하기
- 포토스팟 마커 모듈화 하기
- 아키텍쳐 수정하기
- 모델 성능 개선하기 (실행 속도 개선)





