메뉴 건너뛰기

사회적약자 해결완료

보도 위 위험요소를 탐지하여 알려주는 길찾기 서비스

1. 앱
1) 앱 제작에 필요한 사항 점검
- 안드로이드 애플리케이션 개발을 위해 Window 10 OS 환경에서 Android Studio 4.1.1 에디터를 이용하고, 개발언어를 Kotlin으로 결정

2) 길찾기 기능을 위한 API결정
- 출발지,도착지만으로 도보경로의 좌표를 얻어오는 API인 Mapbox direction API를 사용
- Mapbox style manager를 사용하여 polyline과 marker를 추가
- [관련자료] polyline 및 marker 추가 이미지

3) 주소 검색을 위한 API결정
- 사용자가 입력한 출발지,도착지 텍스트를 좌표로 변경하기 위해 Mapbox geocodinng API를 사용
- 사용자의 현위치좌표를 텍스트로 변경할때 Mapbox geocodinng API가 오작동 하여 Google geocoding API를 사용

4) 서버와 통신하기 위한 인터페이스 생성
- 안드로이드 애플리케이션과 서버 사이의 Express 통신을 위해, Retrofit 통신 모듈 이용
- Retrofit 통신 모듈 사용의 용이함을 위해, 자체 인터페이스를 생성한 뒤 서버와 통신함

5) 위험요소 추가 기능
- 스마트폰의 카메라 앱을 이용하여 사용자가 직접 위험요소를 촬영할 수 있는 기능 구현
- 위험요소 사진, 종류, 좌표를 사용자로부터 입력받고 서버 DB에 저장
- 추후에 해당 작업을 지속하여 사용자 커뮤니티 등 부가 기능을 구현할 예정

6) 안드로이드 패키지 모듈화 진행
- 메모리 누수를 방지하고 프로젝트를 유지 및 관리하기 위해 ViewModel과 Model을 이용하여 UI, 비즈니스 로직, 모델로 역할을 분리하고 있음


2. 서버
1) 로드뷰 API
- 위험요소 이미지를 얻기 위해 카카오 로드뷰 API를 이용하여 로드뷰 이미지를 불러옴
- 국내 대부분의 지역에서 서비스를 지원하고 국내 도로 상황에 맞는 로드뷰 이미지를 이용하고자 구글 API 대신 카카오 로드뷰 API를 사용함
- 로드뷰 저작권과 관련하여 카카오 측에 문의를 했지만 답이 오지 않음 추후에 저작권 문제를 해결하기 위해 구글API로 변경하거나 앱에서 로드뷰를 띄우는 부분은 카카오 당사 서비스로 랜딩하는 방법으로 변경할 예정

2) 웹 서버 구축
- Nodejs Express 프레임워크를 활용하여 구축
- multer 모듈을 이용하여 위험요소 이미지 저장

3) FlatRoad 웹 페이지 제작 및 로드뷰 띄우기
- 앱에서 전송한 좌표의 로드뷰 이미지를 웹 페이지에 띄움
- 방위각으로 이동 방향을 구함

4) Grabzit API 을 이용한 화면 캡처
- 로드뷰를 띄운 웹페이지를 Grabzit API로 캡처
- 안정적으로 캡처하기 위해 비동기식으로 캡처함

5) 사용자가 추가한 장소이미지 저장
- 사용자가 위험요소가 존재하는 장소에 대한 이미지를 추가할 수 있음
- 추가한 이미지를 저장하는 데이터 베이스를 구축함
- [관련 자료] 데이터 베이스 설계서.xlsx


3. 인공지능 모델
1) 인공지능 모델 선정
- 로드뷰 이미지에서 위험요소를 찾아낼 수 있도록 이미지에서 특정 객체를 찾아내는 인공지능 모델인 객체 탐지모델을 사용하기로 함
- 현재 오픈되어있는 객체 탐지모델 중 성능이 좋은 YOLOv5를 사용하기로 함
- 인공지능이 탐지할 위험요소는 볼라드, 턱 등으로 인터넷에는 오픈되어 있는 학습 데이터셋이 존재하지 않아 직접 구축하기로 함
- 가장 보행로에 많고 특징이 잘 나타나는 ‘볼라드’ 객체를 탐지하는 인공지능 모델을 만들고자 함

2) 데이터셋 구축
- YOLOv5가 볼라드를 인식하도록 학습시키기 위해서는 이미지와 이미지에서 탐지해야할 객체 정보가 담긴 라벨링 파일이 세트로 필요함
- 자체적으로 촬영한 이미지와 인터넷에서 크롤링한 이미지 등을 모아 이미지를 수집함
- 라벨링은 Yolo_mark 라는 프로그램을 사용하여 진행하여 데이터셋을 구축

3) 인공지능 모델 학습
- 구글 코랩 환경에서 YOLOv5 모델을 학습시킴.
- epoch는 50이고 batch는 16으로 설정함


[협업툴]
깃허브
Google Meet
Google Drive

과제 해결 과정을 작성하여 파일을 올려 현황을 공유하세요.

현재 0명이 공감했습니다.

공감하기

현재 0명이 신청했습니다. 과제에 도움을 주세요!

참여신청

의견 0

참여 요청사항에 대한 의견을 제시해주세요.
닫기