본문 바로가기

Project/Capstone4

[졸업작품 프로젝트] 애플리케이션 완성하기 1. 기존 코드를 kotlin으로 정리하며 AAC MVVM에 따라 리팩토링을 했다. 뷰 바인딩을 사용하고, Room을 생성했다. Room은 갤러리 동기화 진행 후 음식 여부를 확인한 사진에 대해서 로딩 없이 바로 지도에 띄워주기 위해 사용했다. 2. 리팩토링 하는 동안 팀원이 Figma를 사용해 디자인 작업을 해주었다. 3. 그 과정에서 우리는 마커 클러스터링 기능을 넣고 싶어졌다. 하지만 네이버 지도 API에서는 제공하지 않는 기능이라.. 이를 제공하는 Google maps API로 바꾸기로 했다. 기존 네이버맵 기반 코드를 구글맵 기반으로 변경했다. 4. 이외에는 디자인에 따라 레이아웃 작업을 했고, 문제 없이 모든 기능을 구현했다 ^0^ 끝~! 2021. 11. 13.
[졸업작품 프로젝트] 갤러리의 모든 사진 중 음식 이미지만 보여주기 갤러리 뷰로 음식사진만 보여주기 1. 각 이미지가 음식인지 아닌지 구분하기 위해 PhotoData라는 클래스를 만들어 uri, isFood변수 생성 2. PhotoData Array를 어댑터에 적용 3. 갤러리의 이미지를 불러올 시 모든 사진에 대해 음식여부 확인 후 갤러리뷰에 띄워준다. [결과물] [생각할 것] 지도에 띄우기 위해서는 미리 모든 이미지를 전부 판별해야할것이다. 하지만 속도가 너무 느리다. 모든 이미지를 판별하는 시간이 오래걸리는데 이를 따로 저장할 방법이 없을까? 지도에 음식사진만 보여주기 1. 팀원이 작업한 네이버 지도 코드와 나의 음식 이미지 불러오는 코드를 합치는 작업을 했다. 2. 팀원과의 안드로이드 스튜디오 버전이 달라서 내가 업데이트 했다. 3. 네이버 지도를 보여주기 위해 .. 2021. 11. 13.
[졸업작품 프로젝트] 애플리케이션에 모델 탑재하기 1. 앞서 학습한 yolo tiny model을 이식하기 위한 방법을 조사했다. 내가 조사한 방법으로는 2가지가 존재했다. 1) Tensorflow 이식하기 위해 모델을 pb확장자로 변경해야한다. pb확장자 변환기가 오픈소스로 존재했지만 해당 변환기는 우리가 학습한 버전의 모델은 지원하지 않았다. 그리고, 변환 시 모델의 성능감소 가능성이 있다. 2) OpenCV cfg, weight파일을 그대로 사용할 수 있다. 2. 위의 조사 결과로 OpenCV를 사용해 모델을 탑재하기로 결정했다. 우선 안드로이드에서 OpenCV를 사용하기위한 환경 설정 과정이 필요했다. 1) opencv의 android sdk(3.4버전) 다운로드 2) 안드로이드 스튜디오에서 모듈을 import해 sdk파일을 불러온 후, depe.. 2021. 11. 13.
[졸업작품 프로젝트] Object Detection 모델 만들기 1. 이미지를 얻기위해 Google의 이미지 검색 API를 사용하고자 했지만, 해당 API 서비스가 종료되어 다른 방법을 찾아보려 한다. 2. 그 전에 파이썬으로 직접 구글 이미지 검색 결과를 크롤링 하여 URL을 통한 검출이 가능한지 테스트하기위해 오픈소스인 food-detector모델을 사용해보았다. 그 결과는 성공적이었다. 콘솔 창 내에서 banana라고 검색하면 자동으로 구글에서 banana키워드를 검색하여 바나나 이미지를 검출하는 모습이다. 3. 하지만 위에서 사용한 food-detector모델은 음식 class의 개수가 매우 부족했다. 해당 알고리즘의 코드를 분석한 결과 mxnet과 gluon을 사용했으며, model_zoo를 통해 yolo3_darknet53_coco모델을 가져와서 사용한다는.. 2021. 11. 12.