1. 배경
- 최근, 전쟁으로 인해 식량에 대한 우려가 커지면서 우리나라 농산물에 대한 관심은 증가하고 있습니다.
- 소비자들이 우리나라 농산물을 믿고 찾을 수 있으려면, 농산물 품질에 대한 정보 제공은 매우 중요합니다.
- 또한, 농산물을 직접 재배하고 농산물 품질을 관리하는 농업 현장에서의 농산물 품질 관리 강화 시스템은 필요합니다.
- 따라서, 인공지능을 통해 농산물 품질을 분류하는 챌린지를 진행합니다.
2. 주최
경희대학교 AI 실전연구프로젝트
3. 개요
- 먼저, 128 * 128 pixel 크기의 이미지 데이터를 보고 품종을 분류한다.
- 분류한 품종과 크기, 무게 등 csv데이터를 사용하여 “품질(등급)”을 예측한다.
4. 데이터 개요
- AI HUB에서 제공하는 총 10종의 농산물 이미지 중에서 8종류를 제공합니다.

- 각 PNG 이미지는 각 품종이름으로 작성된 폴더 안에 저장되어 있습니다.
- JSON 데이터는 농산물 data.csv 파일에 들어있습니다.
- 자세한 내용은 데이터 설명을 참고해주세요.
데이터 출처 : [AI HUB] https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=149
5. 베이스라인 모델 소개
- 원-핫 인코딩 (One-Hot Encoding) : 자연어를 컴퓨터가 처리하도록 하기 위해서 숫자로 바꾸는 방법을 알아야 합니다. 원-핫 인코딩은 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에 0을 부여하는 벡터 표현 방식입니다 (아래의 그림 참고).

- GridSearchCV : 사이킷런에서는 분류 알고리즘이나 회귀 알고리즘에 사용되는 하이퍼파라미터를 순차적으로 입력해 학습을 하고 측정을 하면서 가장 좋은 파라미터를 알려줍니다. GridSearchCV가 없다면 max_depth 가 3일때 가장 최적의 스코어를 뽑아내는지 1일때 가장 최적인 스코어를 뽑아내는지 일일이 학습을 해야 합니다. 하지만 grid 파라미터 안에서 집합을 만들고 적용하면 최적화된 파라미터를 뽑아낼 수 있습니다 (참고사이트 : https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html).
- Convolutional Neural Network (CNN) : 합성곱 신경망은 인간의 시신경 구조를 모방한 기술로, 특징맵을 생성하는 필터까지도 학습이 가능해 비전 분야에서 성능이 우수합니다. 이미지 인식하기 위해 패턴을 찾는데 특히 유용하며, 객체인식 분야에 많이 사용되고 있습니다 (참고사이트 : https://itwiki.kr/w/CNN).

6. 채점 방식
- 두 개의 모델을 사용하여 결과를 도출해야 하기 때문에 농산품 종류와 등급 라벨이 정확해야 정답으로 인정됩니다.
- 라벨로 정답을 판단하기 때문에 Top - 1 accuracy로 모델을 평가하게 됩니다.
- 예시는 아래와 같습니다
- 예1) apple_fuji == 0, 특등급 == 2 → 0*3 + 2 = 2
- 예2) pear_singo == 4, 상등급==1 → 4*3 + 1 = 13
