본문 바로가기
캡스톤디자인

[23-1 세종대학교 캡스톤디자인] 시설 작물 병해 검출 및 분류 플랫폼 구축 : 3-4주차

by JongSeok 2023. 4. 12.

지난 주차

 

[23-1 세종대학교 캡스톤디자인] 시설 작물 병해 검출 및 분류 플랫폼 구축 : 1-2주차

3월 1-2주차보다 포스팅이 늦었지만 앞으로 주차에 맞춰 작성해 보겠습니다. 이번 학기에 세종대학교 소프트웨어융합대학 대부분의 재학생들이 졸업 전 수강해야 하는 [캡스톤디자인] 과목을 수

develop-oj.tistory.com


3주차 - 제안서 작성 및 기획안 발표

[개발 배경]

농업은 병충해, 자연재해, 기후변화와 같은 외적인 요인에 많은 영향을 받는다. 이러한 외적인 요인 중 농가에서 일부 통제하고 대비할 수 있는 부분은 병충해다.

하지만 현재는 종합적인 병해 분류 시스템이 없고, 각 지역별 특산품에 한해 독립적인 시스템만 존재한다. 이마저 작물 병해충을 진단하기 위해서는 전문가를 통해야만 가능하기 때문에 접근성이 매우 떨어지는 상황이다. 또한, 현재 상황에서 신속한 진단이 어려워 방제 시기를 놓치는 경 우가 많고 시스템의 성능도 제각각이라는 문제가 있다.

따라서, 비전문가가 직접 촬영한 이미지를 이용해 편리하고 신속한 병충해 조기진단을 통해 농가의 피해는 최소화하고, 이익은 극대화하는 이미지 기반 병해 검출 및 분류 서비스를 제안한다.

 

[개발 목표]

 - 농업인이 직접 촬영한 이미지를 이용해 신속한 시설작물 진단을 가능하게 하는 온라인 앱 기반 시스템을 구축한다.

 - 병충해 진단의 정확도를 높이기 위해 인공지능 기반 병해 분류 모델의 정보 구축 및 분석 기술을 개발한다.

 - 실시간 정보 공유가 원활한 농업인 네트워크가 형성될 수 있는 토대를 마련하기 위한 커뮤니티 기능을 구현한다.

 - 진단뿐만 아니라 병해와 직접적으로 연관된 병해 상세 정보를 제공하고, 효율적인 방제를 위해 병해에 따른 농약 사용가이드를 제공한다.

 

[기대효과]

 - 정확하고 신속한 진단

 - 농작물 생산성 향상, 생산 비용 절감

 - 귀농 진입장벽을 낮춤

 - 식량 안보 능력 강화


4주차 - 주요 기능 정의

작물 병해 검출 기능

 - 진단 전 접근 권한 확인, 카메라/갤러리에서 이미지 첨부 및 Crop(자르기)

 - 진단결과는 파이차트(PieChart) 구성 및 한 줄 요약 제공

 - 진단결과 저장 및 게시판 공유 기능

 

농업인 커뮤니티

 - 게시판 탭 질문 게시판, 노하우 게시판 분류

 - 게시글별 댓글 및 추천/비추천 기능

 

Open API 활용 추가 기능 - 상세 기능 미정

 - 국가농작물병해충관리시스템 : NCPMS

 

국가농작물병해충관리시스템

농촌진흥청 국가병해충관리시스템 OpenAPI는 해충, 병(병원체), 잡초 등 다양한 병해충 정보와 벼 도열병예측과 같은 병해충 예측서비스를 유용하게 활용할 수 있도록 공개한 개발자 인터페이스

ncpms.rda.go.kr

 - 농약안전정보시스템

 

농촌진흥청 농약안전정보시스템

 

psis.rda.go.kr


주요 개발 진행상황 및 이슈

주요 진행상황

- 개발환경 설정 아키텍쳐 설계

- Jetpack Navigation 도입

- BottomSheetDialog 메뉴 구성

- 'AI 병해충 진단하기' UI 및 로직 구성

- 홈화면 '월별 병해충 발생정보' 데이터 크롤링

 

▶ 이미지 선택 후 Crop(자르기)할 경우 화질저하 문제

사용자가 선택한 이미지 파일을 비트맵(Bitmap)으로 Crop하여 불러오는데 다시 리사이즈하는 과정에서 화질이 크게 저하되는 것으로 추정

→ Image-Cropper 외부 라이브러리를 활용해 해결했습니다.

 

GitHub - ArthurHub/Android-Image-Cropper: Image Cropping Library for Android, optimized for Camera / Gallery.

Image Cropping Library for Android, optimized for Camera / Gallery. - GitHub - ArthurHub/Android-Image-Cropper: Image Cropping Library for Android, optimized for Camera / Gallery.

github.com

▶ CoordinateLayout 배치 문제

MainActivity에 CoordinateLayout과 BottomNavigation을 배치하면서 BottomNavigation이 프래그먼트 상태에 따라 Margin이 제대로 설정되지 않는 문제

→ dimen.xml과 BindingAdapter를 따로 정의해 해결했습니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="nav_on">56dp</dimen>
    <dimen name="nav_off">0dp</dimen>
</resources>
@BindingAdapter("layoutMarginBottom")
fun setLayoutMarginBottom(view: View, dimen: Float) {
    (view.layoutParams as ViewGroup.MarginLayoutParams).let {
        it.bottomMargin = dimen.toInt()
        view.layoutParams = it
    }
}

~ 4주차 주요 화면

홈 화면, 병해 진단 기능

728x90
반응형