개발은 세 파트로 진행하였습니다.
1. DJI드론을 이용한 영상촬영, GPS정보 수집을 위한 안드로이드 제어 프로그램(최남기 학우, https://namki-learning.tistory.com/)
2. 데이터 수집과 Darknet 프레임워크를 이용한 YOLOv3 모델 학습(이정민 학우, https://jeongmin-lee.tistory.com/)
3. PyQt5를 이용한 GUI 인터페이스 구현 및 프로그램 제작, 각 개발 파트 머지
이 중 3번 파트를 제가 맡아서 진행했으며, 이에 관해 설명하려고 합니다.
최종적으로 제작된 GUI 프로그램입니다.
데이터 전송, 데이터 분석, 데이터 열람 세 가지 기능을 하도록 제작하였습니다.
Cache Clear 버튼을 클릭할 경우 데이터 분석을 위해 저장하고 있는 데이터(전송받은 동영상, 전처리 된 이미지)를 모두 삭제할 수 있습니다.
Data Receive 버튼을 클릭할 경우 드론 제어 어플리케이션으로부터 데이터를 전송받을 수 있습니다.
서버(프로그램을 구동중인 PC)의 IP와 전송에 이용할 포트번호를 입력한 후 Connect 버튼을 클릭하면 소켓을 생성하고 드론 제어 어플리케이션에서 동영상을 전송할 때 까지 대기합니다.
IP는 공란으로 둘 경우 자동적으로 localhost IP가 입력되며, 포트번호는 임의의 포트를 선택할 수 있습니다.
데이터를 전송받으면 자동적으로 데이터 분석을 위한 전처리가 진행됩니다.
영상을 0.1초 단위의 프레임으로 잘라 이미지 형식으로 저장하게 됩니다.
Data Analysis 버튼을 클릭할 경우 전처리 된 영상을 이용하여 바로 분석이 시작됩니다.
분석 진행상황이 표시되며 숫자는 0.1초 단위의 프레임이 어느정도 분석되었는지를 나타냅니다.
위 이미지에서는 517까지 분석이 진행되어야 하니 51.7초 분량의 영상을 분석한다는 뜻입니다.
분석이 완료되면 분석 결과가 html 형식의 파일로 저장됩니다.
See Datamap 버튼을 클릭하면 분석 완료된 결과들을 확인할 수 있습니다.
파일명은 분석이 완료된 시간으로 설정되어 있습니다.
파일을 선택하면 이미지의 오른쪽 화면과 같이 확인이 가능합니다.
마커를 통해 지도에서 이상이 탐지된 위치를 확인할 수 있습니다.
마우스를 올리면 이상이 탐지된 위도와 경도가 표시되고, 클릭을 하면 실제로 이상이 탐지된 이미지를 확인할 수 있습니다.
아래 동영상을 통해 전체적인 시연을 해 놓았습니다.
다음 포스팅들을 통해서는 실제 PyQt5를 이용해 어떻게 구현하는지에 관해 포스팅하려고 합니다.
'프로젝트 이야기 > 드론을 이용한 식물 이상 탐지 시스템' 카테고리의 다른 글
드론을 이용한 식물 이상 탐지 시스템 - PyQt5 UI 만들기 (0) | 2019.06.23 |
---|---|
드론을 이용한 식물 이상 탐지 시스템 - Qt UI 만들기 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 - PyQt5 설치 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 - 개발배경 (0) | 2019.06.22 |
드론을 이용한 식물 이상 탐지 시스템 (0) | 2019.06.07 |