상명대학교 소프트웨어학과 졸업작품 및
상명대학교 캡스톤디자인 경진대회에 참가하기 위해서
"드론을 이용한 식물 이상 탐지 시스템" 이라는 이름으로 프로젝트를 진행하였습니다.
프로젝트는 저와 최남기 학우, 이정민 학우 세 명 팀으로 구성되어 진행하였습니다.
개발은 세 파트로 진행하였습니다.
1. DJI드론을 이용한 영상촬영, GPS정보 수집을 위한 안드로이드 제어 프로그램(최남기 학우, https://namki-learning.tistory.com/)
2. 데이터 수집과 Darknet 프레임워크를 이용한 YOLOv3 모델 학습(이정민 학우, https://jeongmin-lee.tistory.com/)
3. PyQt5를 이용한 GUI 인터페이스 구현 및 프로그램 제작, 각 개발 파트 머지
3번 파트를 제가 맡아서 진행하였습니다.
다른 인원이 개발한 파트에 대해서는 각 블로그에 들어가 보시면 더 자세한 설명을 확인하실 수 있습니다.
시스템은 위의 시스템 구성도와 같이 구성했습니다.
먼저 드론이 농작물 영상과 GPS정보를 취득한 후 모바일 기기를 통해 서버로 전송합니다.
전송받은 다음엔 서버에서 YOLOv3로 만든 딥러닝 모델을 이용해 영상을 분석합니다.
영상에서 이상이 탐지되면 해당하는 GPS좌표에 마커를 찍고 html형식의 지도 파일을 출력합니다.
서버 프로그램에서 파일들을 열람해 직접 확인이 가능합니다.
이상이 탐지되면 위와 같이 마커를 통해 표시되고
지도 위의 실제 위치와 GPS 좌표, 그리고 영상의 어느 부분에서 이상을 탐지했는지 사진으로 확인 가능합니다.
아래는 시연 동영상입니다.
데이터 분석의 경우 시간이 오래 걸려 영상에서는 생략하고 미리 뽑아 놓은 결과 데이터를 출력했습니다만,
CPU(Intel 카비레이크 3.8GHz i5-7500) 사용시 영상 1초 분석에 160초 정도가 소요되었습니다.
후에 GPU 서버를 구축하여 GTX 1080Ti 그래픽카드를 사용하도록 셋팅했을 경우 거의 리얼타임으로 분석이 가능했습니다.
개발하면서 딥러닝 모델을 다른 프로그램에 적용되게 하는 부분에서 애를 많이 먹었습니다.
같은 weight 파일이라고 해도 단순히 적용만 하면 되는 게 아니라 그래프에 대한 정보들을 잘 활용해 주어야 적용이 가능하기 때문에 고려할 부분이 생각보다 많았습니다.
처음에는 모바일 어플리케이션으로 전부 구동되게 기획을 했는데 적용 자체도 문제가 있었고, 성능 문제도 있어 서버를 따로 이용하는 식으로 구축하게 되었습니다.
다음에 프로그램을 개선할 수 있다면 드론 제어부에 자율주행을 구현하고 가능하다면 실시간 시스템으로 만들 수 있다면 꽤 괜찮은 작품이 나올 것 같습니다.
졸업작품 평가에서도 나쁘지 않은 평가를 받았고, 캡스톤디자인 경진대회에서 최우수상을 수상해서 좋은 결과를 얻었다고 생각합니다.
밤을 샐 때는 잘 모르겠는데, 다 끝나고 쉬려고 보면 피로가 엄청 쌓이는 것 같습니다.
'프로젝트 이야기 > 드론을 이용한 식물 이상 탐지 시스템' 카테고리의 다른 글
드론을 이용한 식물 이상 탐지 시스템 - PyQt5 UI 만들기 (0) | 2019.06.23 |
---|---|
드론을 이용한 식물 이상 탐지 시스템 - Qt UI 만들기 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 - PyQt5 설치 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 - GUI 설명 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 - 개발배경 (0) | 2019.06.22 |