KR102245337B1 - Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device - Google Patents

Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device Download PDF

Info

Publication number
KR102245337B1
KR102245337B1 KR1020200080846A KR20200080846A KR102245337B1 KR 102245337 B1 KR102245337 B1 KR 102245337B1 KR 1020200080846 A KR1020200080846 A KR 1020200080846A KR 20200080846 A KR20200080846 A KR 20200080846A KR 102245337 B1 KR102245337 B1 KR 102245337B1
Authority
KR
South Korea
Prior art keywords
vector
viewpoint
score
error matrix
maturity
Prior art date
Application number
KR1020200080846A
Other languages
Korean (ko)
Inventor
장인훈
고광은
Original Assignee
한국생산기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국생산기술연구원 filed Critical 한국생산기술연구원
Priority to KR1020200080846A priority Critical patent/KR102245337B1/en
Application granted granted Critical
Publication of KR102245337B1 publication Critical patent/KR102245337B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/25Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
    • G01N21/27Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands using photo-electric detection ; circuits for computing concentration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Immunology (AREA)
  • Computational Linguistics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Biochemistry (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

Provided are a crop classification learning method to which a weight is applied based on an error matrix, a crop classification method using the same, a computer-readable recording medium recording a program for executing the method, and a crop classification apparatus. The crop classification apparatus includes an image input unit; an individual discrimination unit; a weight determining unit; and a final determination unit.

Description

오차 행렬에 기반한 가중치를 적용한 작물 분류 학습 방법, 이를 이용한 작물의 분류 방법, 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체 및 작물의 분류 장치{LEARNING METHOD FOR CLASSIFYING CROP USING WEIGHT PARAMETER BASED ON CONFUSION MATRIX, METHOD FOR CLASSIFYING CROP USING THE SAME, COMPUTER-READABLE RECORDING MEDIUM FOR EXCUTING THE METHOD, AND CROP CLASSIFYING DEVICE}A crop classification learning method applying weights based on an error matrix, a crop classification method using the same, a computer-readable recording medium recording a program to execute the method, and a crop classification device {LEARNING METHOD FOR CLASSIFYING CROP USING WEIGHT PARAMETER BASED ON CONFUSION MATRIX, METHOD FOR CLASSIFYING CROP USING THE SAME, COMPUTER-READABLE RECORDING MEDIUM FOR EXCUTING THE METHOD, AND CROP CLASSIFYING DEVICE}

본 발명은 오차 행렬에 기반한 가중치를 적용한 작물 분류 학습 방법, 이를 이용한 작물의 분류 방법, 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체 및 작물의 분류 장치에 관한 것이다. 상세하게는, 본 발명은 오차 행렬에 기반한 가중치를 적용한 작물 분류 학습 방법, 그 학습 방법을 이용하여 다중 영상 인식을 통해 작물의 여러 위치에서의 색을 기반으로 작물을 분류하는 방법, 그 분류 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체, 및 작물의 분류 장치에 관한 것이다.The present invention relates to a crop classification learning method applying weights based on an error matrix, a crop classification method using the same, a computer-readable recording medium recording a program for executing the method, and a crop classification apparatus. In detail, the present invention provides a method for classifying crops to which a weight is applied based on an error matrix, a method for classifying crops based on colors at various positions of the crop through multi-image recognition using the learning method, and a method for classifying the crops. It relates to a computer-readable recording medium in which a program for execution is recorded, and a device for sorting crops.

작물(crop)의 당도나 영양가는 작물의 품질 수준과 직결되며 소비자들은 작물이 고유로 갖는 맛, 풍미, 식감이 우수한 작물을 고르기 위해 작물의 상태를 육안으로 구분하여 우수한 작물을 선택하기도 한다. 또한 판매자들은 같이 재배한 작물이라 할지라도 소비자들의 수요가 높고 품질 수준이 높은 작물은 더 높은 가격에 판매하고자 한다. 따라서 작물의 숙도 분류는 소비자들에게나 판매자들이 서로 거래하기 전 반드시 필요한 단계이다. The sugar content or nutritional value of a crop is directly related to the quality level of the crop, and consumers sometimes select excellent crops by visually classifying the condition of the crop in order to select a crop that has excellent taste, flavor, and texture. In addition, sellers want to sell crops with higher quality and higher demand from consumers at higher prices, even if they are grown together. Therefore, the maturity classification of crops is a necessary step before consumers and sellers trade with each other.

특히 토마토, 키위, 바나나 등과 같은 후숙 과일의 경우 판매자로부터 유통 과정을 거쳐 소비자에 이르는 동안 숙도가 변하는 정도가 크기 때문에 특정 시점에서 적절한 숙도를 갖는 작물을 선별적으로 분류하는 것은 매우 중요하다. 예를 들어, 유통 과정이 상대적으로 긴 작물은 숙도가 상대적으로 낮은 상태에서 유통을 시작하는 것이 바람직하고, 유통 과정이 상대적으로 짧은 작물은 숙도가 상대적으로 높은 상태에서 유통을 시작하는 것이 바람직할 수 있다.In particular, in the case of ripened fruits such as tomatoes, kiwis, bananas, etc., it is very important to selectively classify crops having appropriate maturity at a specific time because the degree of change in maturity from seller to consumer through distribution process is large. For example, for crops with a relatively long distribution process, it may be desirable to start distribution with a relatively low maturity, and for crops with a relatively short distribution process, it may be desirable to start distribution with a relatively high maturity. have.

일반적으로 숙도 분류에 있어서 고려할 수 있는 한가지 요소는 작물의 외관으로부터 보여지는 색깔 내지는 빛깔이다. 작물은 성숙해가면서 껍질의 색깔이 변하게 되는데, 작물의 종류에 따라 작물의 윗부분부터 색깔이 변하는 작물이 있는가 하면, 작물의 배부터 색깔이 변하는 작물이 있고, 작물의 줄무늬 선이 진해지는 정도로부터 작물의 숙도를 판정할 수 있는 작물이 있다. In general, one factor that can be considered in the maturity classification is the color or hue seen from the appearance of the crop. As the crop matures, the color of the bark changes.Depending on the type of crop, there are crops that change color from the top of the crop, while there are crops that change color from the belly of the crop, and the crop's stripe line is darkened. There are crops for which maturity can be judged.

예를 들어, 토마토의 경우 숙도가 진행될수록 아스코르브산염(ascorbate), 라이코펜(lycopene), 베타카로틴(β-carotene), 루틴(rutin) 그리고 카페익산(caffeic acid) 등과 같은 항산화 물질이 증가하고, 말산(malic acid)과 구연산(citric acid) 등의 유기산이 감소하며 포도당과 과당이 축적되어 단맛이 강해지고 숙도가 높아진다. For example, in the case of tomatoes, antioxidants such as ascorbate, lycopene, beta-carotene, rutin and caffeic acid increase as maturation progresses, and malic acid Organic acids such as (malic acid) and citric acid are reduced, and glucose and fructose are accumulated, resulting in stronger sweetness and higher maturity.

이와 함께 펙틴질의 감소로 인해 과육 경도가 감소하고, 클로로필의 감소와 라이코펜의 증가에 따라 표면의 색이 붉게 변화한다. 따라서 토마토의 경도가 낮고 표면 색이 붉은 색에 가까울수록 숙도가 높은 토마토로 추정할 수 있다. 이처럼 작물의 표면 색 분포 비율을 기준으로 숙도를 분류하는 방법은 비파괴적이고 산업에 적용하는데 있어 편리성을 가지기 때문에 가장 널리 사용되고 있다. Along with this, the hardness of the pulp decreases due to the decrease in pectin quality, and the color of the surface changes to red with the decrease of chlorophyll and the increase of lycopene. Therefore, as the hardness of the tomato is low and the surface color is closer to the red color, it can be estimated that the tomato has a higher maturity. As such, the method of classifying maturity based on the ratio of color distribution on the surface of the crop is most widely used because it is non-destructive and has convenience in applying it to industries.

일본 공개특허 제2017-134585호, (특허문헌 2) 일본 등록특허 제6632014호Japanese Patent Laid-Open No. 2017-134585, (Patent Document 2) Japanese Patent No. 6632014

Evaluating Tomato Ripeness Using a Neural Network, JOURNAL OF SHITA, 8(3), 1996, (비특허문헌 2) Extraction methods of color and shape features for tomato grading, J.SHITA, 18(2), 2006 Evaluating Tomato Ripeness Using a Neural Network, JOURNAL OF SHITA, 8(3), 1996, (Non-Patent Document 2) Extraction methods of color and shape features for tomato grading, J.SHITA, 18(2), 2006

기존에는 토마토 등의 작물 숙도의 분류를 육안에 의한 분류에 의존하는 실정이었다. 예컨대 사람이 일일이 토마토 표면의 색 분포와 그 비율을 컬러 차트와 비교하여 숙도를 분류하고 품질 등급을 매기는 것이 일반적이다. 토마토의 분류를 위한 컬러 차트의 예로는 미국 농무부(United States Department of Agriculture, USDA)에서 정의한 6단계 분류 등을 들 수 있다. 미국 농업부에 따른 6단계 분류는 녹색(green), 황갈색(tannish-yellow), 분홍색(pink), 적색(red), 이들이 조합된 색, 그리고 이들이 토마토 표면에서 차지하는 면적 비율에 따라 토마토 숙도를 6단계로 구분하고 있다.Previously, the classification of crop maturity such as tomatoes was dependent on classification by the naked eye. For example, it is common for a person to classify the maturity and grade the quality by comparing the color distribution and the ratio of the tomato surface with a color chart. An example of a color chart for the classification of tomatoes is a six-level classification as defined by the United States Department of Agriculture (USDA). The six-level classification according to the U.S. Department of Agriculture includes six levels of tomato maturity according to the green, tannish-yellow, pink, and red color combinations, and the percentage of the area they occupy on the surface of the tomato. It is divided into.

미국 농무부의 토마토 숙도분류 6단계를 하기 표 1에 나타내었다.The six stages of tomato maturity classification of the US Department of Agriculture are shown in Table 1 below.

스테이지 넘버Stage number 스테이지 네임Stage name 이미지image 설명Explanation 1One GreenGreen

Figure 112020068275914-pat00001
Figure 112020068275914-pat00001
The surface of the tomato is completely green
in color. The shade of green may vary from
light to dark
The surface of the tomato is completely green
in color. The shade of green may vary from
light to dark
22 BreakerBreaker
Figure 112020068275914-pat00002
Figure 112020068275914-pat00002
There is a definite "break" in color from
green to tannish-yellow, pink or red on not
more than 10% of the surface
There is a definite "break" in color from
green to tannish-yellow, pink or red on not
more than 10% of the surface
33 TurningTurning
Figure 112020068275914-pat00003
Figure 112020068275914-pat00003
More than 10%, but not more than 30%, of the
surface, in the aggregate, shows a definite
change in color from green to tannish-yellow,
pink, red, or a combination thereof
More than 10%, but not more than 30%, of the
surface, in the aggregate, shows a definite
change in color from green to tannish-yellow,
pink, red, or a combination thereof
44 PinkPink
Figure 112020068275914-pat00004
Figure 112020068275914-pat00004
More than 30%, but not more than 60%, of the
surface, in the aggregate, shows pink or red
in color
More than 30%, but not more than 60%, of the
surface, in the aggregate, shows pink or red
in color
55 Light redLight red
Figure 112020068275914-pat00005
Figure 112020068275914-pat00005
More than 60% of the surface, in the
aggregate, shows pinkish-red or red, provided
that not more than 90% of the surface is red
More than 60% of the surface, in the
aggregate, shows pinkish-red or red, provided
that not more than 90% of the surface is red
66 redred
Figure 112020068275914-pat00006
Figure 112020068275914-pat00006
More than 90% of the surface, in the
aggregate, is red
More than 90% of the surface, in the
aggregate, is red

그러나 이러한 육안 선별 방법은 작업 인력의 주관성 내지는 전문성에 대한 의존도가 매우 높기 때문에 작업 인력에 대한 훈련이 필요하다. 또한 노동 집약적인 특성으로 인해 작업의 속도가 느리며, 작업 시간이 경과함에 따라 작업 인력의 주관의 개입으로 인해 숙도 분류의 기준이 일관되지 못하고 숙도 분류 결과의 정확도가 떨어질 수 있는 문제가 있었다. 그리고 육안 선별법의 전술한 한계로 인해 작물의 대량 생산 시스템에 적용하기 곤란한 한계가 있었다.However, this visual screening method requires training for the working manpower because the dependence on the subjectivity or expertise of the working manpower is very high. In addition, there was a problem that the speed of work was slow due to the labor-intensive nature, and the standards of maturity classification were inconsistent and the accuracy of the maturity classification result was degraded due to the subjective intervention of the workforce as the working time elapsed. In addition, due to the above-described limitations of the visual selection method, there is a limitation that is difficult to apply to a mass production system of crops.

이러한 육안 선별법의 한계로 인해 최근에는 컴퓨터 비전 기술을 활용하여 작물의 품질을 평가하고 숙도를 판별하기 위한 시스템에 대한 연구가 진행되고 있다. 예를 들어 특허문헌 1 및 특허문헌 2는 작물 표면 색을 컴퓨터 비전 기술로 추출하고, 이 색을 미리 정의된 색상 데이터베이스와 비교하여 작물의 숙도를 판별하는 기술을 개시한다.Due to the limitation of such visual screening method, research on a system for evaluating the quality of crops and determining maturity has recently been conducted using computer vision technology. For example, Patent Literature 1 and Patent Literature 2 disclose a technique of extracting a crop surface color by computer vision technology and comparing the color with a predefined color database to determine the maturity of a crop.

컴퓨터 비전 기술 기반 판별 시스템들은 대부분 작물의 이미지를 획득하고, 수집된 RGB 영상의 노이즈 필터링을 위한 전처리기와 이미지 분할(segmentation)을 통한 특징 영역 검출기, 그리고 작물의 표면의 결함의 유무와 숙성 여부를 판별하는 분류기로 구성되어 있다. Computer vision technology-based discrimination systems mostly acquire images of crops, preprocessors for noise filtering of collected RGB images, feature area detectors through image segmentation, and determine whether or not there are defects on the surface of crops and whether they are matured. It consists of a classifier.

이러한 종래의 기술은 대부분 작물의 색 분포의 상대적인 비율의 특징을 추출하여 숙도 분류를 하는 것이 일반적이다. 그러나 종래의 기술은 작물의 일부분에서 색을 추출하고 순도를 분류하는 것, 즉 특정 시점에서 갖는 작물의 색 또는 색 비율에 근거하는 것에 불과하다. 뿐만 아니라 이를 구현하기 위해서는 특정 작물의 숙도 경과에 따른 해당 작물 고유의 외관 특성의 변화에 대해 충분히 이해하여야 하기 때문에 컴퓨터 프로그램을 설계한 전문가의 전문성이 중요하고, 설계자가 미처 고려하지 못한 요소는 전혀 반영되지 못하는 문제가 있다.In this conventional technique, it is common to classify maturity by extracting features of the relative ratio of color distribution of most crops. However, the conventional technique extracts color from a part of a crop and classifies the purity, that is, it is only based on the color or color ratio of the crop at a specific point in time. In addition, in order to realize this, it is necessary to fully understand the changes in the appearance characteristics of the specific crop according to the progress of maturation of a specific crop, so the expertise of the expert who designed the computer program is important, and factors that the designer has not already considered are reflected at all. There is a problem that cannot be done.

또한 작물에 따라서, 동일한 작물이라 하더라도 품종에 따라서, 동일한 품종이라 하더라도 생산지나 재배지 등 생산 단위가 갖는 고유 특질에 따라 숙도 경과에 따른 작물의 특성 변화가 다르게 나타날 수 있기 때문에 종래의 컴퓨터 비전 기술을 적용하기는 극히 제한적인 한계가 있었다. In addition, conventional computer vision technology is applied because changes in the characteristics of crops may appear differently depending on the crop, depending on the variety of the same crop, or the unique characteristics of the production unit, such as the production area or cultivation area, even if the same variety. There was an extremely limited limit to the following.

예를 들어, 토마토 작물 중에서도 어느 품종은 꼭지(stem-end) 부근부터 붉게 변화할 확률이 높고, 다른 어느 품종은 배꼽(flowe-end) 부근부터 붉게 변화할 확률이 높을 수 있다. 다른 예를 들어, 토마토 작물의 경우 광 방향이나 품온(인간의 체온에 해당)에 따라 꼭지(stem-end) 부근부터 붉게 변할 수도 있고, 배꼽(flower-end) 부근부터 붉게 변할 수도 있으며, 품종에 따라서는 세로 방향의 띠 형태로 붉게 변할 수도 있기 때문에 시점에 따라 숙도 분류 결과가 달라질 수 있다. 뿐만 아니라 컴퓨터 비전 기술을 이용하여 작물을 분류할 경우, 이미지 획득 과정에서 빛의 반사 정도나 빛의 방향에 따라 서로 다른 숙도 분류 결과가 도출될 수도 있다.For example, among tomato crops, one cultivar may have a high probability of turning red from the stem-end region, and another cultivar may have a high probability of turning red from the flowe-end region. For another example, in the case of tomato crops, depending on the light direction or temperature (corresponding to human body temperature), it may turn red from near the stem-end, or turn red from near the flower-end, and the variety Therefore, since it may turn red in the form of a vertical band, the results of maturity classification may vary depending on the time point. In addition, when crops are classified using computer vision technology, different maturity classification results may be derived depending on the degree of light reflection or the direction of light in the image acquisition process.

이를 보완하기 위해 특정 시점에서의 상대적인 색 비율만 고려하는 것이 아니라, 서로 다른 위치에서 획득한 복수의 이미지 및 복수의 이미지에 기반한 색 변화 패턴을 활용하여 숙도를 분류하는 것이 고려될 수 있다. 예를 들어, 작물의 꼭지 부근(즉, 제1 시점) 및 배꼽 부근(즉, 제2 시점)의 이미지, 또는 추가적인 제3 시점에서의 이미지를 모두 획득하고 각각의 시점에서 획득된 분류 정보를 기반으로 하여 작물의 최종 숙도를 분류할 경우 위와 같은 문제를 다소 해소할 수 있다.In order to compensate for this, it may be considered not only to consider the relative color ratio at a specific point in time, but to classify the maturity by using a plurality of images acquired at different locations and a color change pattern based on a plurality of images. For example, images of near the apex (i.e., the first viewpoint) and the navel (i.e., the second viewpoint) of the crop, or an additional third viewpoint are all acquired and based on the classification information obtained at each viewpoint. If the final maturity of the crop is classified as a result, the above problems can be somewhat solved.

그러나 각각의 시점에서 획득한 이미지를 기반으로 작물을 분류하는 방법에 있어서, 시점(view point) 간의 분류 결과가 상충될 경우 작물의 최종 숙도를 어떻게 분류할 것인지 문제가 된다. 예컨대, 제1 시점에서의 판단 결과 객체의 숙도를 제1 단계로 분류하고, 제2 시점에서의 판단 결과 상기 객체의 숙도를 제2 단계로 분류할 경우, 작물 개체의 최종 숙도를 어느 단계로 분류할지에 대한 연구가 필요한 실정이다. However, in the method of classifying crops based on images acquired at each time point, it becomes a question of how to classify the final maturity of the crop when the classification results between view points conflict. For example, if the maturity of the object is classified as the first stage as a result of the determination at the first point of time, and the maturity of the object is classified as the second stage as a result of the judgment at the second point, the final maturity of the crop individual is classified into which stage. There is a need for research on whether to do it.

이에 본 발명이 해결하고자 하는 과제는 다중 시점의 입력 영상에 기반하고 객체 탐지 기반 딥러닝 모델을 적용하여 작물의 숙도를 판별함으로써 작물 객체의 전 영역에 분포한 숙도 단계별 색의 기하학적 공간 특징 정보를 고려한 작물의 분류 방법을 제공하는 것이다.Accordingly, the problem to be solved by the present invention is to determine the maturity of the crop by applying a deep learning model based on object detection and based on the input image of multiple viewpoints. It provides a method of classifying crops.

또, 상기 다중 시점의 입력 영상에서 획득한 개별 시점 영상의 각 숙도 클래스별 확률 기반 스코어 벡터를 가중치 기반으로 융합하되, 판별 대상 작물에 따라 고유하게 학습된 시점별 가중치를 딥러닝 모델로부터 도출하고 최적화된 가중치를 연산함으로써, 작물이나 품종 별로 상이하게 나타날 수 있는 작물의 공간적 특징 정보의 활용을 극대화할 수 있는 작물의 분류 방법을 제공하는 것이다.In addition, the probability-based score vector for each maturity class of each maturity class acquired from the multi-view input image is fused based on weight, but the weight for each viewpoint uniquely learned according to the crop to be identified is derived from the deep learning model and optimized. It is to provide a method of classifying crops that can maximize the use of spatial feature information of crops that may appear differently for each crop or variety by calculating the weights.

특히 가중치로서 단순한 스칼라 값이 아닌 벡터를 이용하고, 나아가 학습된 정보에 기초하되 전체값에 대한 벡터가 아닌 예측값에 대한 벡터만을 특유하게 추출함으로써 정확성이 더욱 향상된 작물의 분류 방법을 제공하는 것이다.In particular, it provides a method of classifying crops with improved accuracy by using a vector not a simple scalar value as a weight, and further extracting only a vector for a predicted value, not a vector for the total value, based on the learned information.

본 발명이 해결하고자 하는 다른 과제는 다중 시점의 입력 영상에 기반하여 객체 탐지 기반 딥러닝 모델을 적용함에 있어서, 다중 시점의 입력 영상에서 획득한 개별 시점 영상의 신뢰도 내지는 분류 정확도를 높일 수 있는 작물의 분류 학습 방법을 제공하는 것이다.Another problem to be solved by the present invention is that in applying a deep learning model based on object detection based on input images of multiple views, the reliability or classification accuracy of individual viewpoint images acquired from input images of multiple views can be improved. It is to provide a classification learning method.

본 발명이 해결하고자 하는 또 다른 과제는 작물 객체의 전 영역에 분포한 숙도 단계별 색의 기하학적 공간 특징 정보를 고려하고, 작물이나 품종 별로 상이하게 나타날 수 있는 작물의 공간적 특징 정보의 활용을 극대화할 수 있는 작물의 분류 프로그램을 제공하는 것이다.Another problem to be solved by the present invention is to consider geometric and spatial feature information of colors by maturity stages distributed over all areas of a crop object, and maximize the use of spatial feature information of crops that may appear differently for each crop or variety. It is to provide a classification program for crops that are available.

본 발명이 해결하고자 하는 또 다른 과제는 작물 객체의 전 영역에 분포한 숙도 단계별 색의 기하학적 공간 특징 정보를 고려하고, 작물이나 품종 별로 상이하게 나타날 수 있는 작물의 공간적 특징 정보의 활용을 극대화할 수 있는 작물의 분류 장치를 제공하는 것이다.Another problem to be solved by the present invention is to consider geometric and spatial feature information of colors by maturity stages distributed over all areas of a crop object, and maximize the use of spatial feature information of crops that may appear differently for each crop or variety. It is to provide a sorting device for crops that are available.

본 발명의 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 작물의 분류 학습 방법은 대상 객체의 제1 시점 및 제2 시점을 포함하는 복수 시점 영상을 각각 입력받는 단계; 객체 탐지 기반 딥러닝 모델을 이용하여 상기 제1 시점 및 상기 제2 시점에서의 기준데이터를 분류하고, 상기 제1 시점에 관한 확률 기반 제1 스코어 벡터 및 상기 제2 시점에 관한 확률 기반 제2 스코어 벡터를 출력하는 단계; 상기 제1 스코어 벡터 및 상기 제2 스코어 벡터로부터 각각 제1 오차 행렬 및 제2 오차 행렬을 도출하는 단계로서, 각각 M×M의 행렬을 갖는 제1 오차 행렬 및 제2 오차 행렬을 도출하는 단계; 제1 오차 행렬로부터 M개의 원소를 갖는 M개의 벡터를 포함하는 제1 벡터를 출력 및 저장하는 단계로서,

Figure 112020068275914-pat00007
,
Figure 112020068275914-pat00008
, …,
Figure 112020068275914-pat00009
로 이루어진 제1 벡터를 출력 및 저장하는 단계; 및 제2 오차 행렬로부터 M개의 원소를 갖는 M개의 벡터를 포함하는 제2 벡터를 출력 및 저장하는 단계로서,
Figure 112020068275914-pat00010
,
Figure 112020068275914-pat00011
, …,
Figure 112020068275914-pat00012
로 이루어진 제2 벡터를 출력 및 저장하는 단계를 포함한다.The method for classifying and learning crops according to an embodiment of the present invention for solving the above problem includes the steps of receiving a plurality of viewpoint images including a first viewpoint and a second viewpoint of a target object, respectively; Classification of reference data at the first and second viewpoints using an object detection-based deep learning model, and a probability-based first score vector for the first viewpoint and a probability-based second score for the second viewpoint Outputting a vector; Deriving a first error matrix and a second error matrix from the first score vector and the second score vector, respectively, the steps of: deriving a first error matrix and a second error matrix each having a matrix of M × M; A first step of outputting and storing the first vector containing the M vector has M elements from a first error matrix,
Figure 112020068275914-pat00007
,
Figure 112020068275914-pat00008
,… ,
Figure 112020068275914-pat00009
Outputting and storing a first vector consisting of; And a second step of outputting and storing the second vector containing the M vector has M elements from the two-error matrix,
Figure 112020068275914-pat00010
,
Figure 112020068275914-pat00011
,… ,
Figure 112020068275914-pat00012
And outputting and storing a second vector consisting of.

이 때 상기 제1 오차 행렬 및 상기 제2 오차 행렬은 가로축을 예측값(prediction value), 세로축을 실제값(true value)으로 하는 행렬일 수 있다.In this case, the first error matrix and the second error matrix may be a matrix having a horizontal axis as a prediction value and a vertical axis as a true value.

또, 상기 제1 벡터 및 상기 제2 벡터는 각각 M개의 원소를 갖는 열벡터(column vector)를 포함할 수 있다.In addition, the first vector and the second vector may each include a column vector having M elements.

상기 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 작물의 분류 방법은

Figure 112020068275914-pat00013
,
Figure 112020068275914-pat00014
, …,
Figure 112020068275914-pat00015
로 이루어진 제1 열벡터(column vector) 및
Figure 112020068275914-pat00016
,
Figure 112020068275914-pat00017
, …,
Figure 112020068275914-pat00018
로 이루어진 제2 열벡터가 미리 정의되어 작물을 분류하는 방법으로서, 대상 객체의 제1 시점 및 제2 시점을 포함하는 복수 시점 영상을 각각 입력받는 단계; 딥러닝 모델을 이용하여 제1 시점에 관한 확률 기반 제1 스코어 벡터를 출력하는 단계로서, 최대 스코어가 i번째 클래스(i는 M 이하의 양의 정수)인 제1 스코어 벡터를 출력하는 단계; 딥러닝 모델을 이용하여 제2 시점에 관한 확률 기반 제2 스코어 벡터를 출력하는 단계로서, 최대 스코어가 j번째 클래스(j는 M 이하의 양의 정수)인 제2 스코어 벡터를 출력하는 단계; 상기 복수의 제1 벡터와 복수의 제2 벡터, 및 상기 제1 스코어 벡터와 제2 스코어 벡터에 기반하여 상기 제1 시점 및 상기 제2 시점에 관한 제1 가중치 벡터 및 제2 가중치 벡터를 포함하는 복수의 가중치 벡터를 결정하는 단계; 및 상기 복수의 스코어 벡터와 상기 복수의 가중치 벡터에 기반하여 최종 기준 데이터 레벨을 결정하는 단계를 포함한다.A method for classifying crops according to an embodiment of the present invention for solving the above other problems
Figure 112020068275914-pat00013
,
Figure 112020068275914-pat00014
,… ,
Figure 112020068275914-pat00015
A first column vector consisting of and
Figure 112020068275914-pat00016
,
Figure 112020068275914-pat00017
,… ,
Figure 112020068275914-pat00018
A method of classifying crops by defining a second row vector consisting of, comprising: receiving a plurality of viewpoint images including a first viewpoint and a second viewpoint of a target object, respectively; Outputting a probability-based first score vector for a first viewpoint using a deep learning model, the method comprising: outputting a first score vector whose maximum score is an i-th class (i is a positive integer less than or equal to M); Outputting a second score vector based on probability for a second viewpoint using a deep learning model, comprising: outputting a second score vector whose maximum score is a j-th class (j is a positive integer less than or equal to M); Including a first weight vector and a second weight vector for the first view and the second view based on the plurality of first vectors and the plurality of second vectors, and the first score vector and the second score vector Determining a plurality of weight vectors; And determining a final reference data level based on the plurality of score vectors and the plurality of weight vectors.

상기 제1 시점에 관한 상기 제1 가중치 벡터는 하기 수식 A를 이용하여 결정되고, 상기 제2 시점에 관한 상기 제2 가중치 벡터는 하기 수식 B를 이용하여 결정될 수 있다.The first weight vector for the first view may be determined using Equation A below, and the second weight vector for the second view may be determined using Equation B below.

<수식 A><Equation A>

Figure 112020068275914-pat00019
Figure 112020068275914-pat00019

<수식 B><Equation B>

Figure 112020068275914-pat00020
Figure 112020068275914-pat00020

또, 상기

Figure 112020068275914-pat00021
Figure 112020068275914-pat00022
(여기서, i 및 j는 각각 M 이하의 양의 정수)는 각각 i번째 및 j번째 클래스에서 최대 스코어를 갖는 열벡터일 수 있다.Again, above
Figure 112020068275914-pat00021
And
Figure 112020068275914-pat00022
(Here, i and j are positive integers less than or equal to M , respectively) may be column vectors having maximum scores in the i-th and j-th classes, respectively.

여기서 하기 수식을 만족할 수 있다.Here, the following equation may be satisfied.

<수식><Equation>

Figure 112020068275914-pat00023
Figure 112020068275914-pat00023

여기서,

Figure 112020068275914-pat00024
은 시점 n에 대한 가중치 벡터이다.here,
Figure 112020068275914-pat00024
Is the weight vector for time n.

또한 상기 최종 기준 데이터 레벨을 결정하는 단계는 하기 수식을 이용한 알고리즘을 포함하여 수행될 수 있다.In addition, the determining of the final reference data level may be performed by including an algorithm using the following equation.

<수식><Equation>

Figure 112020068275914-pat00025
Figure 112020068275914-pat00025

여기서,

Figure 112020068275914-pat00026
는 최종 결정 융합 벡터이고, N은 각 개별 시점의 총 개수를 의미하고, n은 각 개별 시점의 순번을 의미하고,
Figure 112020068275914-pat00027
는 시점 n에서의 확률 기반 스코어 벡터이고,
Figure 112020068275914-pat00028
은 시점 n에 대한 가중치 벡터이고,
Figure 112020068275914-pat00029
는 성분별 곱(element wise multiplication)을 의미한다.here,
Figure 112020068275914-pat00026
Is the final decision fusion vector, N means the total number of each individual time point, n means the order of each individual time point,
Figure 112020068275914-pat00027
Is the probability-based score vector at time n,
Figure 112020068275914-pat00028
Is the weight vector for time n,
Figure 112020068275914-pat00029
Means element-wise multiplication.

상기 또 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 작물 분류 장치는 대상 객체의 복수의 시점 영상을 각각 입력받는 영상 입력부; 객체 탐지 기반 딥러닝 모델을 이용하여 상기 객체의 각 시점에서의 기준 데이터를 분류하고, 상기 객체에 관한 기준 데이터 레벨에 관한 각 시점별 복수의 확률 기반 스코어 벡터를 출력하는 개별 판별부; 상기 확률 기반 스코어 벡터의 오차 행렬로부터 도출된 복수의 열벡터 및 상기 확률 기반 스코어 벡터의 최대 스코어를 기반으로 각 시점에서의 복수의 가중치 벡터를 결정하는 가중치 결정부; 및 상기 복수의 확률 기반 스코어 벡터와 상기 복수의 가중치 벡터에 기반하여 최종 기준 데이터 레벨을 결정하는 최종 판별부를 포함한다.A crop classification apparatus according to an embodiment of the present invention for solving the another problem includes an image input unit for receiving each of a plurality of viewpoint images of a target object; An individual discrimination unit for classifying reference data at each viewpoint of the object using an object detection-based deep learning model and outputting a plurality of probability-based score vectors for each viewpoint regarding the reference data level for the object; A weight determining unit for determining a plurality of weight vectors at each viewpoint based on a plurality of column vectors derived from an error matrix of the probability-based score vector and a maximum score of the probability-based score vector; And a final determination unit determining a final reference data level based on the plurality of probability-based score vectors and the plurality of weight vectors.

상기 또 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 프로그램이 기록된 기록 매체는 전술한 작물의 분류 방법을 수행하기 위한 프로그램이 기록될 수 있다.In the recording medium on which a program according to an embodiment of the present invention is recorded for solving the above another problem, a program for performing the above-described method for classifying crops may be recorded.

기타 실시예의 구체적인 사항들은 상세한 설명에 포함되어 있다. Details of other embodiments are included in the detailed description.

본 발명의 실시예들에 따르면, 다중 시점의 입력 영상 각각에서 도출된 숙도 클래스별 확률 기반 스코어 벡터를 가중치 기반으로 융합하여 최종 숙도를 결정함으로써 종래 컴퓨터 비전 기술이 갖는 한계를 극복하고 작물 객체의 기하학적 공간 특징 정보를 활용하여 작물의 숙도를 보다 정확하고 신속하게 결정할 수 있다.According to embodiments of the present invention, the final maturity is determined by fusing the probability-based score vector for each maturity class derived from each of the input images of multiple viewpoints based on weights, thereby overcoming the limitations of the conventional computer vision technology and Using spatial feature information, it is possible to more accurately and quickly determine the maturity of a crop.

또, 딥러닝 모델로부터 도출된 각 개별 시점 영상에서의 가중치를 시점에 따라 다르게 부여할 수 있고, 이에 따라 작물의 종류에 따라, 그 품종에 따라, 심지어 특정한 작물이 갖는 고유의 특성에 따라 최적화된 융합 벡터의 도출이 가능할 수 있으며, 설령 다중 시점 간의 분류 결과에 모순 또는 상충이 발생하더라도 작물의 숙도를 보다 정확하고 신속하게 결정할 수 있다.In addition, the weight of each individual viewpoint image derived from the deep learning model can be given differently according to the viewpoint, and accordingly, according to the type of crop, according to the variety, and even according to the unique characteristics of a specific crop. It is possible to derive a fusion vector, and even if there is a contradiction or conflict in the classification result between multiple time points, it is possible to more accurately and quickly determine the maturity of the crop.

본 발명의 실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.Effects according to the embodiments of the present invention are not limited by the contents exemplified above, and more various effects are included in the present specification.

도 1은 본 발명의 일 실시예에 따른 딥러닝에 기반한 작물 분류 학습 방법을 나타낸 순서도이다.
도 2는 도 1의 학습 방법을 수행하는 장치의 모식도이다.
도 3은 도 2의 제1 개별 판별부로부터 도출된 제1 오차 행렬을 예시한다.
도 4는 도 2의 제2 개별 판별부로부터 도출된 제2 오차 행렬을 예시한다.
도 5는 도 3의 제1 오차 행렬로부터 도출된 제1 정확표(precision table)를 예시한다.
도 6은 도 4의 제2 오차 행렬로부터 도출된 제2 정확표(precision table)를 예시한다.
도 7은 본 발명의 일 실시예에 따른 작물 분류 방법을 나타낸 순서도이다.
도 8은 도 7의 방법을 수행하는 장치의 모식도이다.
1 is a flowchart illustrating a method of learning crop classification based on deep learning according to an embodiment of the present invention.
2 is a schematic diagram of an apparatus for performing the learning method of FIG. 1.
3 illustrates a first error matrix derived from the first individual determination unit of FIG. 2.
4 illustrates a second error matrix derived from the second individual determination unit of FIG. 2.
5 illustrates a first precision table derived from the first error matrix of FIG. 3.
6 illustrates a second precision table derived from the second error matrix of FIG. 4.
7 is a flow chart showing a crop classification method according to an embodiment of the present invention.
8 is a schematic diagram of an apparatus for performing the method of FIG. 7.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 즉, 본 발명이 제시하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only the embodiments make the disclosure of the present invention complete, and those skilled in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the invention is only defined by the scope of the claims. That is, various changes may be made to the embodiments proposed by the present invention. The embodiments described below are not intended to be limited to the embodiments, and should be understood to include all changes, equivalents, and substitutes thereto.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

본 명세서에서, '및/또는'은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다. 또, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 본 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. '내지'를 사용하여 나타낸 수치 범위는 그 앞과 뒤에 기재된 값을 각각 하한과 상한으로서 포함하는 수치 범위를 나타낸다. '약' 또는 '대략'은 그 뒤에 기재된 값 또는 수치 범위의 20% 이내의 값 또는 수치 범위를 의미한다.In this specification,'and/or' includes each and every combination of one or more of the recited items. In addition, the singular form includes the plural form unless specifically stated in the text. As used herein,'comprises' and/or'comprising' does not exclude the presence or addition of one or more other elements other than the mentioned elements. Numerical ranges indicated using'to' represent numerical ranges including the values listed before and after them as lower and upper limits, respectively. "About" or "approximately" means a value or numerical range within 20% of the value or numerical range described thereafter.

또, 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In addition, terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.

이하 첨부된 도면을 참조하여 본 발명에 대하여 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 작물 분류 학습 방법을 나타낸 순서도이다. 도 2는 도 1의 학습 방법을 수행할 수 있는 장치의 모식도이다.1 is a flowchart illustrating a method of learning crop classification according to an embodiment of the present invention. 2 is a schematic diagram of an apparatus capable of performing the learning method of FIG. 1.

도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 작물의 분류 학습 방법은 대상 객체의 복수 시점 영상을 입력받는 단계(S100), 입력 영상에 기초하여 각 시점에서의 확률 기반 스코어 벡터를 출력하는 단계(S200), 스코어 벡터의 오차 행렬(confusion matrix)로부터 복수의 학습 벡터를 출력하는 단계(S300), 학습 결과를 저장하는 단계(S400)를 포함한다.1 and 2, the method for classifying and learning crops according to an embodiment of the present invention includes receiving multiple viewpoint images of a target object (S100), and probability-based score vectors at each viewpoint based on the input images. Outputting (S200), outputting a plurality of learning vectors from a confusion matrix of the score vector (S300), and storing a learning result (S400).

복수 시점 영상을 입력 받는 단계(S100)는 적어도 하나의 작물에 관해 서로 다른 시점을 촬영한 복수의 시점 영상을 획득하는 단계일 수 있다. 즉, 복수 시점 영상을 입력 받는 단계(S100)는 제1 시점의 제1 영상을 입력 받는 단계(S110) 및 제2 시점의 제2 영상을 입력 받는 단계(S120)를 포함할 수 있다.The step S100 of receiving multiple viewpoint images may be a step of acquiring a plurality of viewpoint images photographing different viewpoints of at least one crop. That is, the step of receiving a multi-view image (S100) may include receiving a first image of a first view (S110) and a step of receiving a second image of a second view (S120).

복수 시점을 입력 받는 단계(S100)는 제1 영상 입력부(110) 및 제2 영상 입력부(120)를 포함하는 영상 입력부(100)에 의해 구현될 수 있다. 도 1 및 도 2는 대상 객체, 예컨대 토마토의 꼭지 부근을 촬영한 탑뷰 이미지(top-view image) 및 대상 객체의 배꼽 부근을 촬영한 바텀뷰 이미지(bottom-view image)를 영상 입력 인터페이스로 구현하기 위해 영상 입력부(100)가 2개의 개별 시점을 입력받는 경우를 예시하고 있으나 본 발명이 이에 제한 되는 것은 아니다. 다른 실시예에서, 영상 입력부(100)는 3개 이상의 영상 입력부를 포함하고, 이 경우 대상 객체의 측면을 촬영한 사이드뷰 이미지 등을 추가로 획득할 수도 있음은 물론이다.The step S100 of receiving multiple viewpoints may be implemented by the image input unit 100 including the first image input unit 110 and the second image input unit 120. 1 and 2 illustrate a target object, for example, a top-view image photographed near the top of a tomato and a bottom-view image photographed near the navel of the target object as an image input interface. For example, the image input unit 100 receives two separate viewpoints, but the present invention is not limited thereto. In another embodiment, the image input unit 100 includes three or more image input units, and in this case, it is of course possible to additionally acquire a side view image or the like photographing the side of the target object.

영상 입력부(100)는 대상 객체의 개별 시점 영상을 획득하기 위해 카메라 모듈(미도시) 및 유무선 통신 인터페이스(미도시)를 포함할 수 있다. 영상 입력부(100)는 그 개수에 대응하여 하드웨어적으로 분리되어 복수로 구성될 수도 있고, 하나의 하드웨어에서 소프트웨어적으로 각각의 개별 시점의 영상이 입력될 수도 있다. 다른 예를 들어, 영상 입력부(100)는 하나의 하드웨어가 각 시점을 순차적으로 촬영할 수도 있다. 즉, 본 명세서에서 '개별 시점'은 대상 객체의 영상을 획득하는 카메라의 위치를 의미하는 경우뿐 아니라 대상 객체의 위치에 따른 시점을 포함하는 의미이다.The image input unit 100 may include a camera module (not shown) and a wired/wireless communication interface (not shown) to obtain an individual viewpoint image of the target object. The image input unit 100 may be configured in a plurality by being separated by hardware according to the number, or images of each individual viewpoint may be input by software from one hardware. For another example, the image input unit 100 may sequentially photograph each viewpoint by one piece of hardware. That is, in the present specification, the'individual viewpoint' means not only the case where the camera acquires the image of the target object but also the viewpoint according to the position of the target object.

예를 들어, 카메라의 위치를 기준으로 시점을 정의할 경우 위쪽에 설치된 카메라(즉, 제1 영상 입력부)에 의해 획득되는 영상 인터페이스를 제1 시점의 영상, 아래쪽에 설치된 카메라(즉, 제2 영상 입력부)에 의해 획득되는 영상 인터페이스를 제2 시점의 영상으로 정의할 수 있다. 다른 예를 들어, 대상 객체의 위치를 기준으로 시점을 정의할 경우 대상 객체의 위쪽을 촬영한 영상 인터페이스를 제1 시점의 영상, 대상 객체의 아래쪽을 촬영한 영상 인터페이스를 제2 시점의 영상으로 정의할 수 있다.For example, when a viewpoint is defined based on the position of the camera, an image interface acquired by a camera installed above (i.e., a first image input unit) is used as an image of a first viewpoint and a camera installed below (i.e., a second image). The image interface acquired by the input unit) may be defined as an image of a second view. For another example, when the viewpoint is defined based on the location of the target object, the image interface photographed above the target object is defined as the image from the first viewpoint, and the image interface photographed below the target object is defined as the image from the second viewpoint. can do.

다음으로, 입력 영상에 기초하여 각 시점에서의 확률 기반 스코어 벡터를 출력하는 단계(S200)는 영상 입력부(100)를 통해 입력된 대상 객체에 관한 개별 시점 영상을 기반으로 개별 판별부(200)에 의해 대상 객체의 분류를 수행하는 것으로, 예컨대 대상 객체의 숙도 클래스를 분류하거나, 분류하는 것을 학습하는 단계일 수 있다. 확률 기반 스코어 벡터를 출력하는 단계(S200)는 제1 시점에 관한 제1 스코어 벡터를 출력하는 단계(S210) 및 제2 시점에 관한 제2 스코어 벡터를 출력하는 단계(S220)를 포함할 수 있다. 개별 판별부(200)는 분류 소프트웨어 알고리즘 및 소프트웨어가 실행되는 프로세서를 통해 구현될 수 있다.Next, the step of outputting the probability-based score vector at each viewpoint based on the input image (S200) is to the individual determination unit 200 based on the individual viewpoint image of the target object input through the image input unit 100. By performing classification of the target object, for example, it may be a step of classifying the mastery class of the target object or learning to classify it. Outputting a probability-based score vector (S200) may include outputting a first score vector for a first viewpoint (S210) and outputting a second score vector for a second viewpoint (S220). . The individual determination unit 200 may be implemented through a classification software algorithm and a processor on which the software is executed.

예시적인 실시예에서, 개별 판별부(200)가 수행하는 분류 모델은 객체 탐지(object detection) 기반의 딥러닝 모델을 포함할 수 있다. 개별 판별부(200)는 제1 영상 입력부(110) 및 제2 영상 입력부(120)에서 각각 획득한 개별 시점 영상을 입력으로 하여 객체 탐지 기반의 딥러닝 모델을 활용하고 각 숙도 클래스별 확률 기반 스코어 벡터를 출력할 수 있다. 개별 판별부(200)는 개별 영상 입력부(100)의 개수에 대응하여 하드웨어적으로 분리되어 복수로 구성될 수도 있고, 하나의 하드웨어에서 소프트웨어적으로 각각의 개별 시점에서의 스코어 벡터를 출력할 수도 있다. 도 2는 개별 판별부(200)가 제1 개별 판별부(210) 및 제2 개별 판별부(220)를 포함하는 경우를 예시한다.In an exemplary embodiment, the classification model performed by the individual determination unit 200 may include a deep learning model based on object detection. The individual determination unit 200 uses a deep learning model based on object detection by inputting individual viewpoint images obtained from the first image input unit 110 and the second image input unit 120, respectively, and a probability-based score for each mastery class. You can output vectors. The individual discrimination unit 200 may be separated by hardware and configured as a plurality in accordance with the number of individual image input units 100, or may output a score vector at each individual viewpoint in software from one hardware. . 2 illustrates a case where the individual determination unit 200 includes a first individual determination unit 210 and a second individual determination unit 220.

개별 판별부(200)에서 출력하는 각 숙도 클래스별 확률 기반 스코어 벡터는 개별 시점 영상에서 나타나는 대상 객체의 색 정보 패턴을 포괄적으로 표현하는 이산 확률 분포(discrete probability distribution) 데이터 형태를 포함할 수 있다.The probability-based score vector for each maturity class output from the individual discrimination unit 200 may include a discrete probability distribution data form that comprehensively expresses a color information pattern of a target object appearing in an individual viewpoint image.

본 발명은 객체 탐지 기반의 모델을 활용함으로써 대상 객체의 색 비율만을 고려하지 않고 기하학적인 색 분포의 특징까지도 고려하여 대상 객체를 분류할 수 있다. 또, 본 실시예에서 개별 판별부(200)가 영상 분류(image classification) 방법 대신에 객체 탐지(objection detection) 기반의 딥러닝 모델을 활용하는 이유는 하나의 영상에 복수개의 대상 객체가 포함될 가능성을 고려한 것이다. According to the present invention, by using a model based on object detection, it is possible to classify a target object by considering not only the color ratio of the target object but also the characteristic of a geometric color distribution. In addition, the reason why the individual determination unit 200 uses the deep learning model based on objection detection instead of the image classification method in the present embodiment is the possibility that a plurality of target objects will be included in one image. It was considered.

즉, 개별 판별부(200)는 객체 탐지 작업을 통해 객체의 클래스를 분류함에 있어서 작물로 분류하는 것이 아니라 객체의 상태, 즉 작물의 숙도를 분류하도록 설계될 수 있다. 본 발명에 따른 개별 판별부(200)는 숙도 분류의 코어로 활용된 딥러닝 모델이 객체 탐색을 기반으로 동작하기 ?문에 객체의 클래스 분류와 함께 위치 추정도 동시에 수행할 수 있으므로, 설령 제1 영상 입력부(110)에서 획득한 영상, 또는 제2 영상 입력부(120) 각각에서 획득한 영상에 복수의 토마토가 포함되어 있더라도 토마토 객체별로 구분하여 숙도를 분류할 수 있다.That is, the individual discrimination unit 200 may be designed to classify the state of the object, that is, the maturity of the crop, rather than classifying it as a crop in classifying the class of the object through the object detection operation. The individual discrimination unit 200 according to the present invention can perform the class classification of the object and the position estimation at the same time because the deep learning model used as the core of the mastery classification operates based on object search. Even if a plurality of tomatoes are included in an image acquired by the image input unit 110 or an image acquired by each of the second image input unit 120, maturity may be classified by dividing each tomato object.

다시 말해서 각 개별 판별부(200), 즉 제1 개별 판별부(210) 및 제2 개별 판별부(220)는 대상 개체의 영상 시점이 일정한 경우 및 대상 개체의 영상 시점이 일정치 않는 경우 모두에 있어서 대상 객체의 위치 추정, 대상 객체의 시점 추정, 대상 객체의 경계 상자 위치 추정, 대상 객체의 색상 분류 및 대상 객체의 숙도 분류 중 복수개를 동시에 수행하여 토마토 숙도 분류에 사용할 수 있다.In other words, each individual determination unit 200, that is, the first individual determination unit 210 and the second individual determination unit 220, both when the image viewpoint of the target object is constant and the image viewpoint of the target object is not constant. Therefore, it is possible to simultaneously perform a plurality of estimating the location of the target object, estimating the point of view of the target object, estimating the position of the bounding box of the target object, classifying the color of the target object, and classifying the maturity of the target object, so that it can be used for tomato maturity classification.

제1 개별 판별부(210) 및 제2 개별 판별부(220)를 포함하는 개별 판별부(200)의 숙도 판별 모델은 다양한 딥러닝 모델이 활용될 수 있다. 예를 들어, 수집한 데이터들로부터 여러 관계들(relationships)과 패턴들(patterns)을 찾는데 있어 객체의 숙도 분류에 적합한 깊이와 구조로 설계된 R-합성곱신경망(region-based convolutional neural network, R-CNN)모델 또는 YOLO(you only look once)모델과 같은 객체 탐지 모델과 Mask R-CNN 모델 같은 개별 영역 분할(instance segmentation) 모델을 활용할 수 있다.Various deep learning models may be used as the maturity determination model of the individual determination unit 200 including the first individual determination unit 210 and the second individual determination unit 220. For example, R-convolutional neural network (R-region-based convolutional neural network, R-) designed with a depth and structure suitable for classifying the maturity of objects in finding various relationships and patterns from collected data. Object detection models such as CNN) model or YOLO (you only look once) model and individual instance segmentation models such as Mask R-CNN model can be used.

예를 들어 R-CNN 모델은 입력된 영상의 목표 객체를 감싸는 경계 상자의 후보 영역을 별도의 제1 탐색부 내지는 후보 영역 생성부(region proposal generator)를 통해 산출하고, 제1 탐색부의 추정 결과에 기초하여 그 결과를 제2 탐색부로 전달하여 객체 분류(object classification)와 경계 상자 회귀(bounding box regression)을 수행하는 2단계 탐색 구조를 가질 수 있다. 바람직하게는, 본 실시예에 따른 개별 판별부(200)는 faster R-CNN을 활용하여 높은 mAP(mean average precision)와 5FPS 수준의 빠른 처리 속도 결과를 도출할 수 있다.For example, the R-CNN model calculates the candidate region of the bounding box surrounding the target object of the input image through a separate first search unit or a region proposal generator, and calculates the estimation result of the first search unit. Based on the result, it is possible to have a two-step search structure that performs object classification and bounding box regression by passing the result to the second search unit. Preferably, the individual determination unit 200 according to the present embodiment may derive a result of a high mean average precision (mAP) and a fast processing speed of 5FPS level by using the faster R-CNN.

다른 예를 들어, YOLO 모델은 단일 단계의 탐색기(single stage detector)로서 입력 영상의 픽셀 레벨의 로 데이터(raw data) 입력으로부터 경계 상자의 추정과 대상 객체의 숙도 클래스 분류를 하나의 합성곱신경망(CNN) 스트림을 이용하여 해결할 수 있다. 즉, 단일 단계의 탐색기 중에서도 빠른 탐색 속도와 높은 수준의 mAP를 갖는 YOLO 모델의 단일 단계 탐색기를 설계하여 병목 현상 없이 실시간 스트림 분류를 가능케 할 수 있다.As another example, the YOLO model is a single stage detector, and the estimation of the bounding box from the raw data input of the pixel level of the input image and the classification of the maturity class of the target object are performed in one convolutional neural network ( CNN) stream can be used. In other words, it is possible to classify real-time streams without bottlenecks by designing a single-step searcher of the YOLO model having a fast search speed and a high level of mAP among single-step searchers.

비제한적인 예시로서, 개별 판별부(200)는 출력 벡터

Figure 112020068275914-pat00030
을 구하기 위해 각각의 후보 바운딩 박스에 대한 출력 벡터를 원소로 갖는 집합
Figure 112020068275914-pat00031
을 출력할 수 있다. 구체적으로, 제1 개별 판별부(210)는 벡터
Figure 112020068275914-pat00032
을 구하기 위해 집합
Figure 112020068275914-pat00033
을 출력하고, 제2 개별 판별부(220)는 벡터
Figure 112020068275914-pat00034
를 구하기 위해 집합
Figure 112020068275914-pat00035
를 출력할 수 있다.As a non-limiting example, the individual determination unit 200 is an output vector
Figure 112020068275914-pat00030
The set containing the output vector for each candidate bounding box as an element to obtain
Figure 112020068275914-pat00031
Can be printed. Specifically, the first individual determination unit 210 is a vector
Figure 112020068275914-pat00032
Set to save
Figure 112020068275914-pat00033
And the second individual determination unit 220 is a vector
Figure 112020068275914-pat00034
Set to save
Figure 112020068275914-pat00035
Can be printed.

이 때 후보 집합

Figure 112020068275914-pat00036
은 하기 수식 1과 같이 정의될 수 있다.At this time, the candidate set
Figure 112020068275914-pat00036
May be defined as in Equation 1 below.

<수식 1><Equation 1>

Figure 112020068275914-pat00037
Figure 112020068275914-pat00037

여기서, K는 후보 바운딩 박스의 개수이고, 각각의 후보 바운딩 박스에 대한 출력 벡터

Figure 112020068275914-pat00038
는 각 숙도 단계에 대한 우도(likelihood)
Figure 112020068275914-pat00039
을 원소로 가지며, 하기 수식 2와 같이 정의될 수 있다.Here, K is the number of candidate bounding boxes, and an output vector for each candidate bounding box
Figure 112020068275914-pat00038
Is the likelihood for each maturity level
Figure 112020068275914-pat00039
Has as an element, and may be defined as in Equation 2 below.

<수식 2><Equation 2>

Figure 112020068275914-pat00040
Figure 112020068275914-pat00040

여기서, M은 분류하고자 하는 클래스의 개수이고, 원소

Figure 112020068275914-pat00041
은 하기 수식 3과 같이 정의될 수 있다.Where M is the number of classes to be classified, and
Figure 112020068275914-pat00041
May be defined as in Equation 3 below.

<수식 3><Equation 3>

Figure 112020068275914-pat00042
Figure 112020068275914-pat00042

여기서

Figure 112020068275914-pat00043
는 k번째 후보 경계 상자 내 객체(obj)인 작물이 존재한다는 조건 하에, 그 작물의 숙도 단계가 c m일 조건부 확률이고, Ck는 k 번째 후보 경계 상자 내에 객체인 작물이 존재할 확률(confidence score)로 정의한다.here
Figure 112020068275914-pat00043
Is the conditional probability that the crop's maturity level is c m , under the condition that there is a crop that is an object (obj) in the k-th candidate bounding box, and C k is the probability that the crop, which is an object, exists in the k-th candidate bounding box (confidence score). ).

따라서 시점 n의 입력 영상에 대하여 개별 판별부(200)에서 K개의 모든 후보 바운딩 박스 마다 출력 벡터

Figure 112020068275914-pat00044
를 생성하고, 각 출력 벡터는 M개의 원소를 가지므로
Figure 112020068275914-pat00045
의 총 개수는 K×M개일 수 있다.Therefore, for the input image of the viewpoint n, the individual determination unit 200 outputs the vector for each of K candidate bounding boxes.
Figure 112020068275914-pat00044
And each output vector has M elements, so
Figure 112020068275914-pat00045
The total number of may be K × M.

여기서 출력된 모든 원소 중 최대의

Figure 112020068275914-pat00046
을 포함하는 후보 바운딩 박스의 인덱스 k를
Figure 112020068275914-pat00047
라 하면, 개별 판별부(200)의 출력 벡터
Figure 112020068275914-pat00048
는 하기 수식 4와 같다.Of all the elements printed here,
Figure 112020068275914-pat00046
The index k of the candidate bounding box containing
Figure 112020068275914-pat00047
If d, the output vector of the individual discrimination unit 200
Figure 112020068275914-pat00048
Is as shown in Equation 4 below.

<수식 4><Equation 4>

Figure 112020068275914-pat00049
Figure 112020068275914-pat00049

Figure 112020068275914-pat00050
Figure 112020068275914-pat00050

Figure 112020068275914-pat00051
Figure 112020068275914-pat00051

여기서, 총 K×M개의 원소 중 최대의

Figure 112020068275914-pat00052
을 포함하는 후보 바운딩 박스의 인덱스
Figure 112020068275914-pat00053
는 NMS(non-maximum suppression) 알고리즘을 통해 구할 수 있다.Here, the largest of the total K × M elements
Figure 112020068275914-pat00052
Index of the candidate bounding box containing
Figure 112020068275914-pat00053
Can be obtained through a non-maximum suppression (NMS) algorithm.

한편, 제1 개별 판별부(210) 및 제2 개별 판별부(220)는 각 개별 시점 별로 서로 다른 딥러닝 모델을 학습하거나, 개별 시점에 대한 구분 없이 하나의 딥러닝 모델을 학습할 수 있다.Meanwhile, the first individual determination unit 210 and the second individual determination unit 220 may learn different deep learning models for each individual viewpoint, or learn one deep learning model without distinction for individual viewpoints.

예시적인 실시예에서, 제1 개별 판별부(210) 및 제2 개별 판별부(220)는 동일한 딥러닝 모델을 학습하되, 공개된 데이터베이스(COCO, ImageNet 등)를 기반으로 사전 훈련된(pre-trained) 백본 네트워크 구조(backbone network architecture)를 토마토의 복수 시점 영상에 대하여 미세 조정(fine-tuning)하는 방식으로 개별 시점에서의 숙도 프로세스의 딥러닝 모델을 학습하여 적정한 모델 초기 파라미터를 설정할 수 있다. 제1 개별 판별부(210) 및 제2 개별 판별부(220)의 분류 결과에 최종 결정 숙도 레벨이 의존하기 때문에 딥러닝 모델의 성능을 최대화하는 방향으로 학습 전략을 수립해야 한다.In an exemplary embodiment, the first individual determination unit 210 and the second individual determination unit 220 learn the same deep learning model, but are pre-trained based on public databases (COCO, ImageNet, etc.). trained) By fine-tuning the backbone network architecture for multiple view images of tomatoes, the deep learning model of the maturity process at individual viewpoints can be learned and appropriate model initial parameters can be set. Since the final decision mastery level depends on the classification result of the first individual determination unit 210 and the second individual determination unit 220, a learning strategy must be established in a direction to maximize the performance of the deep learning model.

이를 위해 딥러닝 모델의 학습에 활용되는 데이터셋의 규모를 확장해야 한다. 데이터셋은 토마토 객체 별로 각각 탑뷰 이미지 및 바텀뷰 이미지, 즉 양방향 시점에서 수집된 RGB 영상 데이터와 각 영상에 대응하는 주석(annotation) 데이터의 쌍으로 이루어질 수 있다. 이 때 상기 주석 데이터는 영상 내 토마토 객체의 숙도 단계, 경계 상자의 위치 및 크기 정보를 포함할 수 있다.To do this, it is necessary to expand the size of the dataset used to train the deep learning model. The dataset may include a top view image and a bottom view image for each tomato object, that is, a pair of RGB image data collected from a bidirectional view and annotation data corresponding to each image. In this case, the annotation data may include information on the maturity stage of the tomato object in the image, the location and size of the bounding box.

심화된 비제한적인 예시로서 본 발명의 발명자가 본 발명을 완성하는 과정에서 수행한 방법은 하기와 같다.As an in-depth non-limiting example, the method performed by the inventor of the present invention in the process of completing the present invention is as follows.

즉, 영상 수집 과정은 대프니스(dafnis) 품종의 토마토 객체를 미국 농무부 컬러차트 기준 6단계 숙도 별로 구분하여 카메라 시스템의 챔버 내에 위치시키고, 꼭지를 바라보는 시점과 배꼽을 바라보는 시점의 양방향 시점에서 캡쳐된 로(raw) 영상 데이터를 저장하는 방식으로 진행하였다. 이 때 수집된 영상은 1624×1280 픽셀 해상도, 48비트(bit), 2채널의 TIF 영상으로 JAI 3CCD 컬러 카메라를 통해 캡쳐하였다. 캡쳐된 영상은 딥러닝을 위하여 8비트 3채널의 JPEG 파일로 변환하여 사용하였다. 또한 숙도 단계를 표현하는 원시적 특징을 최대한 다양하게 확보하여 딥러닝 모델의 성능을 향상시키기 위해 각 숙도 단계 별로 최소 500 개체 이상으로 이루어진 대규모 데이터셋을 구성하였다. 이렇게 수집된 토마토 개체의 대규모 데이터셋은 본 발명에 따른 작물의 숙도 분류 방법 내지는 숙도 분류 장치를 구성하는 딥러닝 모델의 학습을 위해 활용된다. 학습 알고리즘은 미니배치(mini-batch) 기반 확률적 기울기 강하(stochastic gradient descent, SGD)를 따르며, 본 발명자가 설정한 파라미터는 하기와 같다.In other words, in the image collection process, tomato objects of the Daphnis variety are divided into six levels of maturity based on the U.S. Department of Agriculture color chart, and placed in the chamber of the camera system. It proceeded by storing the captured raw image data. At this time, the collected image was captured through a JAI 3CCD color camera as a 1624×1280 pixel resolution, 48-bit, 2-channel TIF image. The captured image was converted into an 8-bit 3-channel JPEG file for deep learning and used. In addition, in order to improve the performance of the deep learning model by securing as many primitive features as possible to express the maturity level, a large-scale data set consisting of at least 500 individuals for each maturity level was constructed. The large-scale dataset of tomato individuals collected in this way is used for learning a deep learning model constituting a maturity classification method or a maturity classification device according to the present invention. The learning algorithm follows a mini-batch-based stochastic gradient descent (SGD), and parameters set by the present inventor are as follows.

- max training steps: 50,000-max training steps: 50,000

- mini-batch/subdivisions size: 32/8-mini-batch/subdivisions size: 32/8

- learning rate: 0.01 (scale 0.1 at step 25,000, 35,000)-learning rate: 0.01 (scale 0.1 at step 25,000, 35,000)

- weight decay: 0.0005-weight decay: 0.0005

- learning momentum: 0.9-learning momentum: 0.9

또, 딥러닝 모델의 성능을 향상시키기 위해서는 활용 데이터셋 풀의 확장 외에 숙도 단계별 명시적 특징을 가장 잘 검출할 수 있는 모델의 하이퍼 파라미터 설정을 찾아야 한다. 본 발명은 여러 종류의 하이퍼 파라미터 중에서 편향-분산 트레이드오프(bias-variance tradeoff)를 고려하여 네트워크 깊이, 즉 레이어의 개수와 네트워크가 최종적으로 출력하는 특징맵의 스케일의 개수를 최적화 대상으로 정의하였다. 이를 위해 본 발명의 발명자는 다양한 깊이 구조를 기반으로 단일/복수 스케일(single/multi scale)의 특징맵을 추출할 수 있는 CNN 구조를 활용한 개별 시점 숙도 분류 프로세스를 진행하고 그 결과를 분석하였다. 본 발명자가 수행한 후보는 하기와 같은 조건이었다.In addition, in order to improve the performance of the deep learning model, it is necessary to find the hyperparameter setting of the model that can best detect the explicit features of each stage of maturity in addition to the expansion of the used dataset pool. The present invention has defined the network depth, that is, the number of layers and the number of scales of the feature map finally outputted by the network, as optimization targets in consideration of a bias-variance tradeoff among several types of hyper parameters. To this end, the inventors of the present invention performed a process of classifying individual viewpoint maturity using a CNN structure capable of extracting a feature map of single/multi scale based on various depth structures and analyzed the result. The candidates carried out by the present inventors were the following conditions.

- total stride=32 single scale, darknet-19 기반 네트워크 모델-total stride=32 single scale, darknet-19-based network model

- total stride=8, 16, 32 triple scale, darknet-19 기반 네트워크 모델-total stride=8, 16, 32 triple scale, darknet-19 based network model

- total stride=32 single scale, darknet-107 기반 네트워크 모델-total stride=32 single scale, darknet-107 based network model

- total stride=8, 16, 32 triple scale, darknet-107 기반 네트워크 모델-total stride=8, 16, 32 triple scale, darknet-107 based network model

그리고 후보로 활용된 여러 CNN 모델 중에서 컨볼루션 레이어가 107개이면서 3번의 업-샘플링(up-sampling)을 통해 3종 스케일의 특징맵을 출력하도록 하이퍼 파라미터가 설정된 모델이 개별 시점 숙도 분류 프로세스 결과에 대한 마이크로-평균 ROC 곡선(micro-average ROC curve)의 크기가 가장 크므로 평균 정확도가 가장 우수한 것으로 나타났다. 이는 본 실시예에서 수집한 토마토 영상 데이터셋을 활용하여 개별 시점에서의 토마토 숙도를 분류하는 조건에서는 깊은 구조와 다양한 스케일의 특징맵을 출력할 수 있는 모델이 효율적인 선택이 될 수 있음을 의미한다.In addition, among the several CNN models used as candidates, the model with 107 convolutional layers and set hyperparameters to output feature maps of three scales through three up-sampling is in accordance with the results of the individual viewpoint maturity classification process. As the size of the micro-average ROC curve was the largest, the average accuracy was found to be the best. This means that under the condition of classifying tomato maturity at individual viewpoints using the tomato image dataset collected in the present embodiment, a model capable of outputting a feature map with a deep structure and various scales can be an efficient selection.

다음으로, 각 시점에 따른 오차 행렬로부터 복수의 학습 벡터를 출력하는 단계(S300)는 숙도 클래스별 스코어 벡터로부터 오차 행렬을 도출하고, 오차 행렬로부터 열벡터(학습 벡터)를 추출하는 단계일 수 있다. 예를 들어, 복수의 학습 벡터를 출력하는 단계(S300)는 시점에 따라 숙도 클래스에 의해 구분되는 열벡터의 집합으로 나열할 수 있으며, 후술할 바와 같이 그 결과를 학습 벡터 저장부(400)에 저장할 수 있다. 도 2는 학습 벡터를 출력하는 단계(S300)가 제1 학습 벡터 연산부(310) 및 제2 학습 벡터 연산부(320)를 포함하는 학습 벡터 연산부(300)에 의해 수행되는 것을 예시하고 있으나 본 발명이 이에 제한되는 것은 아니며, 몇몇 실시예에서 학습 벡터를 출력하는 단계(S300)는 개별 판별부(200)와 함께 구성되어 수행될 수도 있음은 물론이다.Next, the step of outputting a plurality of learning vectors from the error matrix according to each viewpoint (S300) may be a step of deriving an error matrix from the score vector for each mastery class, and extracting a column vector (learning vector) from the error matrix. . For example, the step of outputting a plurality of learning vectors (S300) may be arranged as a set of column vectors divided by mastery classes according to the viewpoint, and the result is stored in the learning vector storage unit 400 as described later. Can be saved. 2 illustrates that the step of outputting a learning vector (S300) is performed by the learning vector calculation unit 300 including the first learning vector calculation unit 310 and the second learning vector calculation unit 320, but the present invention This is not limited thereto, and of course, in some embodiments, the step S300 of outputting the learning vector may be configured and performed together with the individual determination unit 200.

예시적인 실시예에서, 학습 벡터 연산부(300)에 의한 학습 벡터는 개별 판별부(200)의 딥러닝 모델의 학습 결과로부터 도출되는 오차 행렬(confusion matrix)로부터 결정될 수 있다. 비제한적인 예시로서, 딥러닝을 통해 5단계 분류를 수행한 제1 시점에서의 오차 행렬, 즉 제1 개별 판별부(210)로부터 도출된 제1 오차 행렬을 도 3에 예시적으로 나타내고, 딥러닝을 통해 5단계 분류를 수행한 제2 시점에서의 오차 행렬, 즉 제2 개별 판별부(220)로부터 도출된 제2 오차 행렬을 도 4에 예시적으로 나타내었다.In an exemplary embodiment, the learning vector by the learning vector operation unit 300 may be determined from a confusion matrix derived from a learning result of the deep learning model of the individual determination unit 200. As a non-limiting example, an error matrix at a first point in time when a 5-step classification is performed through deep learning, that is, a first error matrix derived from the first individual determination unit 210 is exemplarily shown in FIG. 3, and The error matrix at the second time point in which the five-stage classification is performed through running, that is, the second error matrix derived from the second individual discriminating unit 220 is exemplarily shown in FIG. 4.

도 3은 도 2의 제1 개별 판별부(210)로부터 도출된 제1 오차 행렬을 예시한다. 도 4는 도 2의 제2 개별 판별부(220)로부터 도출된 제2 오차 행렬을 예시한다. 도 3 및 도 4에서 세로축은 학습 과정에서 입력된 참값(true value)을 의미하고 가로축은 딥러닝 모델에서 계산한 클래스 예측값(prediction value)을 의미한다. 이 경우 제1 오차 행렬 및 제2 오차 행렬은 분류하고자 하는 클래스가 M개일 경우 각각 M×M의 행렬을 가질 수 있다.3 illustrates a first error matrix derived from the first individual determination unit 210 of FIG. 2. 4 illustrates a second error matrix derived from the second individual determination unit 220 of FIG. 2. In FIGS. 3 and 4, the vertical axis denotes a true value input in the learning process, and the horizontal axis denotes a class prediction value calculated by the deep learning model. In this case, the classes to be classified is a first error matrix and the second error matrix may have a matrix of the respective M × M when M clear up.

즉, 도 3 및 도 4의 오차 행렬은 실제로 1단계 숙도를 갖는 토마토를 126개, 2단계 숙도를 갖는 토마토를 197개, 3단계 숙도를 갖는 토마토를 250개, 4단계 숙도를 갖는 토마토를 141개, 5단계 숙도를 갖는 토마토를 116개 이용하여 개별 판별부(200)에 의해 분류를 수행한 결과를 나타낸다.That is, the error matrices of FIGS. 3 and 4 are actually 126 tomatoes having a first stage maturity, 197 tomatoes having a second stage maturity, 250 tomatoes having a third stage maturity, and 141 tomatoes having a fourth stage maturity. It shows the result of performing the classification by the individual determination unit 200 using 116 tomatoes having a dog, five-stage maturity.

도 3을 더 참조하면, 제1 개별 판별부(210)는 실제로 1단계 숙도를 갖는 토마토 126개중 118개를 1단계로 분류하고, 8개를 2단계로 분류하였음을 예시한다. 또, 실제로 2단계 숙도를 갖는 토마토 197개 중 12개를 1단계로 분류하고, 159개를 2단계로 분류하고, 25개를 3단계로 분류하고, 1개를 4단계로 분류하였음을 예시한다. 또한 실제로 3단계 숙도를 갖는 토마토 250개 중 8개를 2단계로 분류하고, 228개를 3단계로 분류하고, 14개를 4단계로 분류하였음을 예시한다. 또, 실제로 4단계 숙도를 갖는 토마토 141개 중 3개를 3단계로 분류하고, 138개를 4단계로 분류하였음을 예시한다. 또한, 실제로 5단계 숙도를 갖는 토마토 116개 중 1개를 4단계로 분류하고, 115개를 5단계로 분류하였음을 예시한다.Referring further to FIG. 3, it is exemplified that the first individual discrimination unit 210 actually classifies 118 out of 126 tomatoes having a maturity level of 1 into a first step, and classifies 8 into a second step. In addition, it is exemplified that 12 out of 197 tomatoes that actually have 2 stages of maturity are classified into 1 stage, 159 are classified into 2 stages, 25 are classified into 3 stages, and 1 are classified into 4 stages. . In addition, it is exemplified that out of 250 tomatoes with 3 stages of maturity, 8 were classified into 2 stages, 228 were classified into 3 stages, and 14 were classified into 4 stages. In addition, it is exemplified that 3 out of 141 tomatoes with 4 stages of maturity were classified into 3 stages and 138 were classified into 4 stages. In addition, it is exemplified that one of 116 tomatoes with 5 levels of maturity was actually classified into 4 stages and 115 of them were classified into 5 stages.

마찬가지로, 도 4의 오차 행렬은 도 3에서 테스트한 것과 동일한 토마토에 대한 시점을 달리 한 영상에 의해 제2 개별 판별부(220)가 분류를 수행한 결과인 제2 오차 행렬을 나타낸다. 즉 도 4는 동일한 토마토 집합에 대해서 도 3과 다른 시점에서 촬영한 영상에 의한 값을 동일한 방식에 의해 분류한 결과이다. Likewise, the error matrix of FIG. 4 represents a second error matrix, which is a result of classification by the second individual discrimination unit 220 based on an image with a different viewpoint for the same tomato as tested in FIG. 3. That is, FIG. 4 is a result of classifying values of an image captured at a different viewpoint than that of FIG. 3 for the same tomato set by the same method.

도 4를 더 참조하면 제2 개별 판별부(220)는 실제로 1단계 숙도를 갖는 토마토 126개 중 102개를 1단계로 분류하고 15개를 2단계로 분류하며, 9개를 3단계로 분류하였음을 예시한다. 또, 실제로 2단계 숙도를 갖는 토마토 197개 중 17개를 1단계로 분류하고, 172개를 2단계로 분류하고, 8개를 3단계로 분류하였음을 예시한다. 또한, 실제로 3단계 숙도를 갖는 토마토 250개 중 12개를 1단계로 분류하고, 13개를 2단계로 분류하고, 214개를 3단계로 분류하고, 7개를 4단계로 분류하고, 4개를 5단계로 분류하였음을 예시한다. 또, 실제로 4단계 숙도를 갖는 141개 중 22개를 3단계로 분류하고, 105개를 4단계로 분류하고, 14개를 5단계로 분류하였음을 예시한다. 또한, 실제로 5단계 숙도를 갖는 토마토 116개 중 7개를 3단계로 분류하고, 12개를 4단계로 분류하고, 97개를 5단계로 분류하였음을 예시한다.Referring further to FIG. 4, the second individual determination unit 220 actually classifies 102 out of 126 tomatoes having a maturity level of 1 into 1 stage, 15 into 2 stages, and 9 into 3 stages. Illustratively. In addition, it is exemplified that 17 out of 197 tomatoes that actually have a two-stage maturity were classified as one, 172 as two, and eight were classified as three. In addition, 12 out of 250 tomatoes that actually have 3 stages of maturity are classified into 1 stage, 13 are classified into 2 stages, 214 are classified into 3 stages, 7 are classified into 4 stages, and 4 It exemplifies that is classified into 5 stages. In addition, it is exemplified that 22 out of 141 with 4 levels of mastery are actually classified into 3 levels, 105 are classified into 4 levels, and 14 are classified into 5 levels. In addition, it is exemplified that out of 116 tomatoes with 5 levels of maturity, 7 are classified into 3 stages, 12 are classified into 4 stages, and 97 are classified into 5 stages.

본 발명이 이에 제한되는 것은 아니나, 제1 개별 판별부(210)와 제2 개별 판별부(220)의 위와 같은 결과의 차이, 즉 오차 행렬의 차이는 대상 작물이 갖는 고유의 특성에 기인한 것일 수 있다. 예컨대, 대상 작물인 토마토가 꼭지 부근부터 색이 변화할 확률이 높은 경우 상기 예시와 같이 제1 오차 행렬이 실제와 더 근사한 결과를 제공할 수 있다. 다른 예를 들어서, 위와 같은 결과의 차이는 분류기의 특성에 기인한 것일 수 있다. 예컨대, 제1 개별 판별부(210)는 1단계 내지 3단계를 더 정확하게 분류할 가능성이 높고, 제2 개별 판별부(220)는 4단계 및 5단계를 더 정확하게 분류할 가능성이 높기 때문일 수 있다.Although the present invention is not limited thereto, the difference between the above results of the first individual discrimination unit 210 and the second individual discrimination unit 220, that is, the difference in the error matrix, is due to the inherent characteristics of the target crop. I can. For example, when there is a high probability that the color of the tomato, which is a target crop, changes from the vicinity of the top, the first error matrix may provide a result that is closer to the actual one as in the above example. As another example, the difference in the above results may be due to the characteristics of the classifier. For example, it may be because the first individual determination unit 210 has a high possibility of classifying steps 1 to 3 more accurately, and the second individual determination unit 220 has a high possibility of classifying steps 4 and 5 more accurately. .

한편, 오차 행렬을 이용하여 정확표(precision table)를 도출할 수 있다. 비제한적인 예시에서, 도 3의 제1 오차 행렬 및 도 4의 제2 오차 행렬로부터 도출된 제1 정확표 및 제2 정확표를 각각 도 5 및 도 6에 예시적으로 나타내었다. 예시적인 실시예에서, 개별 판별부(200) 및/또는 벡터 연산부(300)는 도 3 및 도 4의 오차 행렬로부터 도 5 및 도 6과 같은 정확표를 출력할 수 있다. Meanwhile, a precision table can be derived using an error matrix. In a non-limiting example, the first and second correct tables derived from the first error matrix of FIG. 3 and the second error matrix of FIG. 4 are exemplarily shown in FIGS. 5 and 6, respectively. In an exemplary embodiment, the individual determination unit 200 and/or the vector operation unit 300 may output an accuracy table as shown in FIGS. 5 and 6 from the error matrix of FIGS. 3 and 4.

도 5는 도 3의 제1 오차 행렬로부터 도출된 제1 정확표를 예시한다. 도 6은 도 4의 제2 오차 행렬로부터 도출된 제2 정확표를 예시한다.5 illustrates a first accuracy table derived from the first error matrix of FIG. 3. 6 illustrates a second accuracy table derived from the second error matrix of FIG. 4.

정확표는 긍정오류(false positive, FP, 위양성, 오탐)와 긍정정상(TP)의 합에 대한 긍정정상(TP)의 비율(TP/(TP+FP))을 의미한다. 즉, 정확표는 예측값들 중에서 긍정정상의 비율을 의미한다. 다른 몇몇 실시예에서, 정확표(precision table)가 아닌 상기표(recall table)를 이용할 수도 있다. 상기표는 부정오류(false negative, FN, 위음성, 미탐)와 긍정정상(true positive, TP)의 합에 대한 긍정정상(TP)의 비율(TP/(TP+FN))을 의미한다. 즉, 상기표는 참값들 중에서 긍정정상의 비율을 의미한다.The correct table means the ratio of the positives (TP) to the sum of the false positives (FP, false positives, false positives) and the positives (TP) (TP/(TP+FP)). That is, the correct table means the ratio of positives among the predicted values. In some other embodiments, a recall table may be used rather than a precision table. The above table refers to the ratio of the positive positive (TP) to the sum of the false negative (FN, false negative, false negative) and the positive positive (TP) (TP/(TP+FN)). That is, the above table means the ratio of positives among true values.

우선 도 5를 더 참조하면, 도 3의 제1 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 1단계 긍정정상은 예측값 130개 중에 118개이므로 약 90.8%의 정확(precision)을 갖는다. 반면 1단계 숙도로 예측한 예측값 130개 중 12개는 실제로 2단계 숙도이므로, 2단계의 토마토를 1단계로 잘못 판단한 긍정오류(FP)가 9.2%이다. First, referring to FIG. 5 further, the first-stage positive image among the positive image (TP) values that cross the first error matrix of FIG. 3 in a diagonal direction is 118 out of 130 predicted values, so it has a precision of about 90.8%. . On the other hand, 12 of the 130 predictions predicted for the first stage are actually second stage maturity, so the false positive error (FP) of the second stage tomato as the first stage is 9.2%.

따라서 제1 시점에서 획득한 이미지 중 1단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제1-1 학습 벡터로 정의할 수 있다. 이 경우 제1-1 학습 벡터

Figure 112020068275914-pat00054
는 [90.8, 9.2, 0, 0, 0] 값을 갖는 열벡터(column vector)일 수 있다.Therefore, among the values predicted for the first level of maturity among the images acquired at the first point in time, a vector in which the values of the positive images and the positive errors are distributed in the order of actual maturity can be derived, and this can be defined as the 1-1 learning vector. have. In this case, the 1-1 learning vector
Figure 112020068275914-pat00054
May be a column vector having a value of [90.8, 9.2, 0, 0, 0].

마찬가지로, 도 3의 제1 오차 행렬을 대각 방향으로 가로지르는 긍정정상 값들 중에서 2단계 긍정정상은 예측값 175개 중에 159개이므로 약 90.9%의 정확을 갖는다. 반면 2단계 숙도로 예측한 예측값 175개 중 8개는 실제로 1단계 숙도이고, 8개는 실제로 3단계 숙도이므로, 1단계 및 3단계의 토마토를 2단계로 잘못 판단한 긍정오류가 각각 4.6% 및 4.6%이다.Likewise, among the positive values that cross the first error matrix of FIG. 3 in a diagonal direction, the second-stage positive images are 159 out of 175 predicted values, and thus have an accuracy of about 90.9%. On the other hand, out of the 175 predicted values predicted for stage 2 maturity, 8 were actually stage 1 maturity, and 8 were actually stage 3 maturity, so the false positives of erroneously judging the tomatoes of stage 1 and 3 as stage 2 were 4.6% and 4.6, respectively. %to be.

따라서 제1 시점에서 획득한 이미지 중 2단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제1-2 학습 벡터로 정의할 수 있다. 이 경우 제1-2 학습 벡터

Figure 112020068275914-pat00055
는 [4.6, 90.9, 4.6, 0, 0] 값을 갖는 열벡터일 수 있다.Therefore, among the values predicted for the second level of maturity among the images acquired at the first point in time, a vector listing the values in which the positive images and the positive errors are distributed in the order of actual maturity can be derived, and this can be defined as a 1-2 learning vector. have. In this case, the 1-2 learning vector
Figure 112020068275914-pat00055
May be a column vector having a value of [4.6, 90.9, 4.6, 0, 0].

또, 도 3의 제1 오차 행렬을 대각 방향으로 가로지르는 긍정정상 값들 중에서 3단계 긍정정상은 예측값 256개 중에 228개이므로 약 89.1%의 정확을 갖는다. 반면에 3단계 숙도로 예측한 예측값 256개 중 25개는 실제로 2단계 숙도이고, 3개는 실제로 4단계 숙도이므로, 2단계 및 4단계의 토마토를 3단계로 잘못 판단한 긍정오류가 각각 9.8% 및 1.2%이다.In addition, among the positive image values that cross the first error matrix of FIG. 3 in a diagonal direction, the third-stage positive image is 228 out of 256 predicted values, and thus has an accuracy of about 89.1%. On the other hand, 25 of the 256 predicted values predicted by 3rd level maturity are actually 2nd level maturity, and 3 are actually 4th level maturity. 1.2%.

따라서 제1 시점에서 획득한 이미지 중 3단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제1-3 학습 벡터로 정의할 수 있다. 이 경우 제1-3 학습 벡터

Figure 112020068275914-pat00056
는 [0, 9.8, 89.1, 1.2, 0] 값을 갖는 열벡터일 수 있다.Therefore, among the values predicted at the third level of maturity among the images acquired at the first point in time, a vector in which the values of the positive images and the positive errors are distributed in the order of actual maturity can be derived, and this can be defined as the 1-3 learning vector. have. In this case, the 1-3 learning vector
Figure 112020068275914-pat00056
May be a column vector having a value of [0, 9.8, 89.1, 1.2, 0].

또한, 도 3의 제1 오차 행렬을 대각 방향으로 가로지르는 긍정정상 값들 중에서 4단계 긍정정상은 예측값 154개 중에 138개이므로 약 89.6%의 정확을 갖는다. 반면에 4단계 숙도로 예측한 예측값 154개 중 1개는 실제로 2단계 숙도이고, 14개는 실제로 3단계 숙도이고, 1개는 실제로 5단계 숙도이므로, 2단계, 3단계 및 5단계의 토마토를 4단계로 잘못 판단한 긍정오류가 각각 0.6%, 9.1% 및 0.6%이다.In addition, among the positive image values crossing the first error matrix of FIG. 3 in a diagonal direction, the fourth step positive image is 138 out of 154 predicted values, and thus has an accuracy of about 89.6%. On the other hand, out of the 154 predicted values predicted by the 4th stage, 1 is actually 2nd stage, 14 is actually 3rd stage, and 1 is actually 5th stage. The positive errors that were incorrectly judged in step 4 were 0.6%, 9.1% and 0.6%, respectively.

따라서 제1 시점에서 획득한 이미지 중 4단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제1-4 학습 벡터로 정의할 수 있다. 이 경우 제1-4 학습 벡터

Figure 112020068275914-pat00057
는 [0, 0.6, 9.1, 89.6, 0.6] 값을 갖는 열벡터일 수 있다.Therefore, among the values predicted at the 4th level of maturity among the images acquired at the first point in time, a vector listing the values in which the positive images and the positive errors are distributed in the order of actual maturity can be derived, and this can be defined as the 1-4 learning vector. have. In this case, the 1-4 learning vector
Figure 112020068275914-pat00057
May be a column vector having a value of [0, 0.6, 9.1, 89.6, 0.6].

마지막으로 5단계 숙도로 예측한 115개는 모두 115개가 긍정정상에 해당한다. 따라서 제1 시점에서 획득한 이미지 중 5단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제1-5 학습 벡터로 정의할 수 있다. 이 경우 제1-5 학습 벡터

Figure 112020068275914-pat00058
는 [0, 0, 0, 0, 100] 값을 갖는 열벡터일 수 있다.Lastly, 115 of the 115 predicted with 5 levels of maturity are positive. Therefore, it is possible to derive a vector in which the values in which the positive images and the positive errors are distributed among the values predicted at the fifth level of maturity among the images acquired at the first point in time, in the order of the actual maturity, can be derived, and this can be defined as the 1-5 learning vector. have. In this case, learning vectors 1-5
Figure 112020068275914-pat00058
May be a column vector having a value of [0, 0, 0, 0, 100].

다음으로 도 6을 더 참조하면, 도 4의 제2 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 1단계 긍정정상은 예측값 131개 중에 102개이므로 약 77.9%의 정확(precision)을 갖는다. 반면 1단계 숙도로 예측한 예측값 131개 중 17개는 실제로 2단계 숙도이고, 12개는 실제로 3단계 숙도이므로 2단계 및 3단계의 토마토를 1단계로 잘못 판단한 긍정오류가 13.0% 및 9.2%이다.Next, referring to FIG. 6 further, among the positive positive images (TP) values crossing the second error matrix of FIG. 4 in a diagonal direction, the first-stage positive images are 102 out of 131 predicted values, so about 77.9% precision is obtained. Have. On the other hand, out of the 131 predicted values for stage 1 maturity, 17 are actually 2 stage maturity, and 12 are actually 3 stage maturity, so 13.0% and 9.2% falsely judged tomatoes in stages 2 and 3 as stage 1 .

따라서 제2 시점에서 획득한 이미지 중 1단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제2-1 학습 벡터로 정의할 수 있다. 이 경우 제2-1 학습 벡터

Figure 112020068275914-pat00059
는 [77.9, 13.0, 9.2, 0, 0] 값을 갖는 열벡터일 수 있다. Therefore, among the values predicted for the first level of maturity among the images acquired at the second point in time, a vector listing the values in which the positive images and the positive errors are distributed in the order of actual maturity can be derived, and this can be defined as the 2-1 learning vector. have. In this case, the 2-1 learning vector
Figure 112020068275914-pat00059
May be a column vector having a value of [77.9, 13.0, 9.2, 0, 0].

마찬가지로, 도 4의 제2 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 2단계 긍정정상은 예측값 200개 중에 172개이므로 약 86.0%의 정확(precision)을 갖는다. 반면 2단계 숙도로 예측한 예측값 200개 중 15개는 실제로 1단계 숙도이고, 13개는 실제로 3단계 숙도이므로 1단계 및 3단계의 토마토를 2단계로 잘못 판단한 긍정오류가 각각 7.5% 및 6.5%이다.Likewise, among the positive positive images (TP) values crossing the second error matrix of FIG. 4 in a diagonal direction, the second-stage positive images are 172 out of 200 predicted values, and thus have a precision of about 86.0%. On the other hand, out of 200 predicted values for stage 2 maturity, 15 are actually stage 1 maturity, and 13 are actually stage 3 maturity, so the false positives of erroneously judging the tomatoes of stage 1 and stage 3 as stage 2 are 7.5% and 6.5%, respectively. to be.

따라서 제2 시점에서 획득한 이미지 중 2단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제2-2 학습 벡터로 정의할 수 있다. 이 경우 제2-2 학습 벡터

Figure 112020068275914-pat00060
는 [7.5, 86.0, 6.5, 0, 0] 값을 갖는 열벡터일 수 있다.Therefore, it is possible to derive a vector in which the values in which the positive images and the positive errors are distributed among the values predicted with the second level of maturity among the images acquired at the second point in time, in the order of actual maturity, can be derived, and this can be defined as a 2-2 learning vector. have. In this case, the 2-2 learning vector
Figure 112020068275914-pat00060
May be a column vector having a value of [7.5, 86.0, 6.5, 0, 0].

또, 도 4의 제2 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 3단계 긍정정상은 예측값 260개 중에 214개이므로 약 82.3%의 정확(precision)을 갖는다. 반면 3단계 숙도로 예측한 예측값 260개 중 9개는 실제로 1단계 숙도이고, 8개는 실제로 2단계 숙도이고, 22개는 실제로 4단계 숙도이고, 7개는 실제로 5단계 숙도이므로 1단계, 2단계, 4단계 및 5단계의 토마토를 3단계로 잘못 판단한 긍정오류가 각각 3.5%, 3.1%, 8.5% 및 2.7%이다.In addition, among the positive positive images (TP) values crossing the second error matrix of FIG. 4 in a diagonal direction, the third-stage positive images are 214 out of 260 predicted values, and thus have a precision of about 82.3%. On the other hand, out of the 260 predicted values predicted by 3rd level maturity, 9 are actually 1st level, 8 are actually 2nd level, 22 are actually 4th level, and 7 are actually 5th level. The affirmative errors that incorrectly judged the tomatoes of stages 4 and 5 as stage 3 were 3.5%, 3.1%, 8.5%, and 2.7%, respectively.

따라서 제2 시점에서 획득한 이미지 중 3단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제2-3 학습 벡터로 정의할 수 있다. 이 경우 제2-3 학습 벡터

Figure 112020068275914-pat00061
는 [3.5, 3.1, 82.3, 8.5, 2.7] 값을 갖는 열벡터일 수 있다.Therefore, among the values predicted at the 3rd level of maturity among the images acquired at the second point in time, a vector in which the values of the positive and false positives are distributed in the order of actual maturity can be derived, and this can be defined as the 2-3 learning vector. have. In this case, the 2-3 learning vector
Figure 112020068275914-pat00061
May be a column vector having a value of [3.5, 3.1, 82.3, 8.5, 2.7].

또한, 도 4의 제2 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 4단계 긍정정상은 예측값 124개 중에 105개이므로 약 84.7%의 정확(precision)을 갖는다. 반면 4단계 숙도로 예측한 예측값 124개 중 7개는 실제로 3단계 숙도이고, 12개는 실제로 5단계 숙도이므로 3단계 및 5단계의 토마토를 4단계로 잘못 판단한 긍정오류가 각각 5.6% 및 9.7%이다.In addition, among the positive positive images (TP) values crossing the second error matrix of FIG. 4 in a diagonal direction, the fourth-stage positive images are 105 out of 124 predicted values, so they have a precision of about 84.7%. On the other hand, out of the 124 predicted values for stage 4 maturity, 7 are actually 3 stage maturity, and 12 are actually 5 stage maturity, so 5.6% and 9.7% of the false positive errors of misjudged tomatoes in stages 3 and 5 as stage 4, respectively. to be.

따라서 제2 시점에서 획득한 이미지 중 4단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제2-4 학습 벡터로 정의할 수 있다. 이 경우 제2-4 학습 벡터

Figure 112020068275914-pat00062
는 [0, 0, 5.6, 84.7, 9.7] 값을 갖는 열벡터일 수 있다. Therefore, among the values predicted at the fourth level of maturity among the images acquired at the second point in time, a vector that lists the values of the positive images and the positive errors in the order of actual maturity can be derived, and this can be defined as the 2-4 learning vector. have. In this case, the 2-4 learning vector
Figure 112020068275914-pat00062
May be a column vector having a value of [0, 0, 5.6, 84.7, 9.7].

마지막으로 도 4의 제2 오차 행렬을 대각 방향으로 가로지르는 긍정정상(TP) 값들 중에서 5단계 긍정정상은 예측값 115개 중에 97개이므로 약 84.3%의 정확(precision)을 갖는다. 반면 5단계 숙도로 예측한 예측값 115개 중 4개는 실제로 3단계 숙도이고, 14개는 실제로 4단계 숙도이므로 3단계 및 4단계의 토마토를 5단계로 잘못 판단한 긍정오류가 각각 3.5% 및 12.2%이다.Finally, among the positive positive images (TP) values crossing the second error matrix of FIG. 4 in a diagonal direction, the fifth-stage positive images are 97 out of 115 predicted values, and thus have a precision of about 84.3%. On the other hand, of the 115 predictions predicted for the 5th level, 4 are actually 3rd level, and 14 are actually 4th level, so the false positives of incorrectly judging the 3rd and 4th stage tomatoes as 5th stage are 3.5% and 12.2%, respectively. to be.

따라서 제2 시점에서 획득한 이미지 중 5단계 숙도로 예측한 값들 중에서 긍정정상과 긍정오류가 분포하는 값을 실제 숙도 별 순서대로 나열한 벡터를 도출할 수 있으며 이를 제2-5 학습 벡터로 정의할 수 있다. 이 경우 제2-5 학습 벡터

Figure 112020068275914-pat00063
는 [0, 0, 3.5, 12.2, 84.3] 값을 갖는 열벡터일 수 있다.Therefore, it is possible to derive a vector listing the values in which the positive images and the positive errors are distributed among the values predicted at the 5th level of maturity among the images acquired at the second point in time, in order of actual maturity, and this can be defined as the 2-5 learning vector. have. In this case, the 2-5 learning vector
Figure 112020068275914-pat00063
May be a column vector having a value of [0, 0, 3.5, 12.2, 84.3].

즉, 제1-1 학습 벡터(

Figure 112020068275914-pat00064
), 제1-2 학습 벡터(
Figure 112020068275914-pat00065
), 제1-3 학습 벡터(
Figure 112020068275914-pat00066
), 제1-4 학습 벡터(
Figure 112020068275914-pat00067
) 및 제1-5 학습 벡터(
Figure 112020068275914-pat00068
)를 포함하는 제1 학습 벡터(
Figure 112020068275914-pat00069
,
Figure 112020068275914-pat00070
, …,
Figure 112020068275914-pat00071
)는 M개의 벡터로 이루어지고, 제1-1 학습 벡터(
Figure 112020068275914-pat00072
), 제1-2 학습 벡터(
Figure 112020068275914-pat00073
), 제1-3 학습 벡터(
Figure 112020068275914-pat00074
), 제1-4 학습 벡터(
Figure 112020068275914-pat00075
) 및 제1-5 학습 벡터(
Figure 112020068275914-pat00076
)는 각각 M개의 원소를 가질 수 있다.That is, the 1-1 learning vector (
Figure 112020068275914-pat00064
), the 1-2 learning vector (
Figure 112020068275914-pat00065
), the 1-3 learning vector (
Figure 112020068275914-pat00066
), the 1-4 learning vector (
Figure 112020068275914-pat00067
) And the 1-5 learning vector (
Figure 112020068275914-pat00068
A first learning vector containing (
Figure 112020068275914-pat00069
,
Figure 112020068275914-pat00070
,… ,
Figure 112020068275914-pat00071
) Consists of M vectors, and the 1-1 learning vector (
Figure 112020068275914-pat00072
), the 1-2 learning vector (
Figure 112020068275914-pat00073
), the 1-3 learning vector (
Figure 112020068275914-pat00074
), the 1-4 learning vector (
Figure 112020068275914-pat00075
) And the 1-5 learning vector (
Figure 112020068275914-pat00076
) May each have M elements.

또, 제2-1 학습 벡터(

Figure 112020068275914-pat00077
), 제2-2 학습 벡터(
Figure 112020068275914-pat00078
), 제2-3 학습 벡터(
Figure 112020068275914-pat00079
), 제2-4 학습 벡터(
Figure 112020068275914-pat00080
) 및 제2-5 학습 벡터(
Figure 112020068275914-pat00081
)를 포함하는 제2 학습 벡터(
Figure 112020068275914-pat00082
,
Figure 112020068275914-pat00083
, …,
Figure 112020068275914-pat00084
)는 M개의 벡터로 이루어지고, 제2-1 학습 벡터(
Figure 112020068275914-pat00085
), 제2-2 학습 벡터(
Figure 112020068275914-pat00086
), 제2-3 학습 벡터(
Figure 112020068275914-pat00087
), 제2-4 학습 벡터(
Figure 112020068275914-pat00088
) 및 제2-5 학습 벡터(
Figure 112020068275914-pat00089
)는 각각 M개의 원소를 가질 수 있다.Also, the 2-1 learning vector (
Figure 112020068275914-pat00077
), the 2-2 learning vector (
Figure 112020068275914-pat00078
), the 2-3 learning vector (
Figure 112020068275914-pat00079
), the 2-4 learning vector (
Figure 112020068275914-pat00080
) And the 2-5 learning vector (
Figure 112020068275914-pat00081
A second learning vector containing (
Figure 112020068275914-pat00082
,
Figure 112020068275914-pat00083
,… ,
Figure 112020068275914-pat00084
) Consists of M vectors, and the 2-1 learning vector (
Figure 112020068275914-pat00085
), the 2-2 learning vector (
Figure 112020068275914-pat00086
), the 2-3 learning vector (
Figure 112020068275914-pat00087
), the 2-4 learning vector (
Figure 112020068275914-pat00088
) And the 2-5 learning vector (
Figure 112020068275914-pat00089
) May each have M elements.

이들 열벡터를 정리하면 하기와 같다.These column vectors are summarized as follows.

Figure 112020068275914-pat00090
Figure 112020068275914-pat00090

Figure 112020068275914-pat00091
Figure 112020068275914-pat00091

Figure 112020068275914-pat00092
Figure 112020068275914-pat00092

Figure 112020068275914-pat00093
Figure 112020068275914-pat00093

Figure 112020068275914-pat00094
Figure 112020068275914-pat00094

Figure 112020068275914-pat00095
Figure 112020068275914-pat00095

Figure 112020068275914-pat00096
Figure 112020068275914-pat00096

Figure 112020068275914-pat00097
Figure 112020068275914-pat00097

Figure 112020068275914-pat00098
Figure 112020068275914-pat00098

Figure 112020068275914-pat00099
Figure 112020068275914-pat00099

위에서 알 수 있는 것과 같이

Figure 112020068275914-pat00100
Figure 112020068275914-pat00101
(여기서, m은 M 이하의 정수)는 각각 m번째 클래스에서 최대 스코어를 갖는 열벡터일 수 있다.As can be seen above
Figure 112020068275914-pat00100
And
Figure 112020068275914-pat00101
(Here, m is an integer less than or equal to M ) may be a column vector having a maximum score in each m-th class.

만일 제1 시점에서 측정한 토마토의 숙도와 제2 시점에서 측정한 토마토의 숙도가 서로 상이할 경우 제1 시점으로부터 유래한 정보가 정확한지, 또는 제2 시점으로부터 유래한 정보가 정확한지에 대한 판단이 곤란할 수 있다. 따라서 제1 시점의 측정한 토마토의 숙도 분류를 더 신뢰해서 가중치를 높게 부여할 것인지 제2 시점의 측정한 토마토의 숙도 분류를 더 신뢰해서 가중치를 높게 부여할 것인지를 결정하여 최종 결정 융합 벡터로 토마토의 최종 레벨을 판정하는 것이 바람직할 수 있다. 따라서 제1 시점과 제2 시점 중 토마토 어느 숙도에 대한 예측 값 중 어느 시점의 토마토 예측 값에 더 정확도가 높은 것인지와 토마토 숙도 단계별로 제1 시점과 제2 시점의 정확도가 서로 상이할 수 있으므로 이를 고려한 가중치를 상기 제1 학습 벡터와 제2 학습 벡터로부터 구할 수 있다. 이에 대해서는 작물의 분류 방법과 함께 후술한다.If the maturity of the tomato measured at the first time point and the maturity of the tomato measured at the second time point are different from each other, it may be difficult to determine whether the information from the first time point is correct or the information from the second time point is accurate. I can. Therefore, it is decided whether to give a higher weight by trusting the maturity classification of the measured tomato at the first time point or to give the weight higher by more trusting the maturity classification of the tomato measured at the second time point. It may be desirable to determine the final level of. Therefore, the accuracy of the first time point and the second time point may differ from each other in terms of the accuracy of the tomato prediction value at which of the predicted values for which tomato maturity of the first time and the second time point. The considered weight can be obtained from the first learning vector and the second learning vector. This will be described later together with the method of classifying crops.

다음으로, 벡터 저장부(400)는 오차 행렬(confusion matrix)로부터 출력된 학습 벡터 값, 즉 제1 학습 벡터 및 제2 학습 벡터를 포함하는 2M개의 벡터 결과를 저장한다. 예를 들어, 오차 행렬에 의해 출력되는 복수의 학습 벡터들은 예측된 숙도 클래스가 동일할 때 실제 숙도 클래스의 분포를 학습 결과로 하며, 그 학습 결과를 벡터 저장부(400)에 저장한다. 벡터 저장부(400)에 저장된 벡터들은 향후 작물의 숙도를 분류함에 있어서 각 시점의 중요도 내지는 우선도를 결정하기 위한 가중치를 연산하는데 사용할 수 있다.Next, the vector storage unit 400 stores the learning vector values output from the confusion matrix, that is, 2M vector results including the first learning vector and the second learning vector. For example, when the predicted mastery classes are the same, the plurality of learning vectors outputted by the error matrix uses the distribution of the actual mastery classes as a learning result, and the learning result is stored in the vector storage unit 400. Vectors stored in the vector storage unit 400 may be used to calculate a weight for determining the importance or priority of each time point in classifying the maturity of a crop in the future.

이하, 본 발명에 따른 작물의 분류 방법, 이를 위한 장치에 대하여 설명한다. 다만, 전술한 작물의 분류 학습 방법과 동일하거나, 유사한 구성에 대한 설명은 생략하며, 이는 첨부된 도면으로부터 본 발명의 기술분야에 속하는 통상의 기술자에게 명확히 이해될 수 있을 것이다.Hereinafter, a method for classifying crops according to the present invention and an apparatus therefor will be described. However, a description of the same or similar configuration as the above-described method for learning the classification of crops will be omitted, and this will be clearly understood by those of ordinary skill in the art from the accompanying drawings.

도 7은 본 발명의 일 실시예에 따른 작물 분류 방법을 나타낸 순서도이다. 도 8은 도 7의 방법을 수행하는 장치의 모식도이다.7 is a flow chart showing a crop classification method according to an embodiment of the present invention. 8 is a schematic diagram of an apparatus for performing the method of FIG. 7.

도 7 및 도 8을 참조하면, 본 발명의 일 실시예에 따른 작물의 분류 방법은 대상 객체의 복수 시점 영상을 입력받는 단계(S500), 입력 영상에 기초하여 각 시점에서의 확률 기반 스코어 벡터를 출력하는 단계(S600), 학습된 학습 벡터들로부터 가중치 벡터를 결정하는 단계(S700), 최종 기준 데이터 레벨을 결정하는 단계(S800)를 포함한다.7 and 8, the method of classifying crops according to an embodiment of the present invention includes receiving multiple viewpoint images of a target object (S500), and calculating a probability-based score vector at each viewpoint based on the input image. Outputting (S600), determining a weight vector from the learned training vectors (S700), and determining a final reference data level (S800).

복수 시점 영상을 입력 받는 단계(S500)는 적어도 하나의 작물에 관해 서로 다른 시점을 촬영한 복수의 시점 영상을 획득하는 단계일 수 있다. 즉, 복수 시점 영상을 입력 받는 단계(S500)는 제1 시점의 제1 영상을 입력 받는 단계(S510) 및 제 2시점의 제2 영상을 입력 받는 단계(S520)를 포함할 수 있다.The step S500 of receiving multiple viewpoint images may be a step of acquiring a plurality of viewpoint images photographing different viewpoints of at least one crop. That is, the step of receiving a multi-view image (S500) may include a step of receiving a first image of a first view (S510) and a step of receiving a second image of a second view (S520).

또, 복수 시점을 입력 받는 단계(S500)는 제1 영상 입력부(510) 및 제2 영상 입력부(520)를 포함하는 영상 입력부(500)에 의해 구현될 수 있다. 도 7 및 도 8은 대상 객체의 꼭지 부근을 촬영한 탑뷰 이미지 및 대상 객체의 배꼽 부근을 촬영한 바텀뷰 이미지를 영상 입력 인터페이스로 구현하기 위해 영상 입력부(500)가 2개의 개별 시점을 입력받는 경우를 예시하고 있다.Further, the step S500 of receiving multiple viewpoints may be implemented by the image input unit 500 including the first image input unit 510 and the second image input unit 520. 7 and 8 show a case in which the image input unit 500 receives two separate viewpoints in order to implement a top view image photographed near the top of the target object and a bottom view image photographed near the navel of the target object as an image input interface. Is exemplified.

그 외 영상을 입력받는 단계(S500) 및 영상 입력부(500)에 대해서는 학습 방법과 함께 전술한 바 있으므로 중복되는 설명은 생략한다.In addition, since the step of receiving the image (S500) and the image input unit 500 have been described above together with the learning method, a redundant description will be omitted.

다음으로, 입력 영상에 기초하여 각 시점에서의 확률 기반 스코어 벡터를 출력하는 단계(S600)는 영상 입력부(500)를 통해 입력된 대상 객체에 관한 개별 시점 영상을 기반으로 개별 판별부(600)에 의해 대상 객체의 분류를 수행하는 것으로, 예컨대 대상 객체의 숙도 클래스를 분류하는 단계일 수 있다. Next, the step of outputting the probability-based score vector at each viewpoint based on the input image (S600) is to the individual determination unit 600 based on the individual viewpoint image of the target object input through the image input unit 500. By performing classification of the target object, for example, it may be a step of classifying the mastery class of the target object.

확률 기반 스코어 벡터를 출력하는 단계(S600)는 제1 시점에 관한 제1 스코어 벡터를 출력하는 단계(S610) 및 제2 시점에 관한 제2 스코어 벡터를 출력하는 단계(S620)를 포함할 수 있다. 개별 판별부(600)는 분류 소프트웨어 알고리즘 및 소프트웨어가 실행되는 프로세서를 통해 구현될 수 있다.Outputting the probability-based score vector (S600) may include outputting a first score vector for a first viewpoint (S610) and outputting a second score vector for a second viewpoint (S620). . The individual determination unit 600 may be implemented through a classification software algorithm and a processor on which the software is executed.

예시적인 실시예에서, 개별 판별부(600)가 수행하는 분류 모델은 객체 탐지(object detection) 기반의 딥러닝 모델 또는 개별 영역 분할(instance sementation) 기반의 딥러닝 모델을 포함할 수 있다. 개별 판별부(600)는 제1 영상 입력부(510) 및 제2 영상 입력부(520)에서 각각 획득한 개별 시점 영상을 입력으로 하여 객체 탐지 기반의 딥러닝 모델을 활용하고 각 숙도 클래스별 확률 기반 스코어 벡터를 출력할 수 있다. 도 8은 개별 판별부(600)가 제1 개별 판별부(610) 및 제2 개별 판별부(620)를 포함하는 경우를 예시한다.In an exemplary embodiment, the classification model performed by the individual determination unit 600 may include a deep learning model based on object detection or a deep learning model based on individual instance sementation. The individual discrimination unit 600 uses a deep learning model based on object detection by inputting individual viewpoint images obtained from the first image input unit 510 and the second image input unit 520, respectively, and a probability-based score for each mastery class. You can output vectors. 8 illustrates a case where the individual determination unit 600 includes a first individual determination unit 610 and a second individual determination unit 620.

그 외 스코어 벡터를 출력하는 단계(S600) 및 개별 판별부(600)에 대해서는 학습 방법과 함께 전술한 바 있으므로 중복되는 설명은 생략한다.In addition, since the step of outputting the score vector (S600) and the individual determination unit 600 have been described above together with the learning method, a redundant description will be omitted.

다음으로, 각 시점에 따른 가중치 벡터를 결정하는 단계(S700)는 영상 입력부(500)를 통해 입력된 대상 객체에 관한 개별 시점 영상과 개별 판별부(600)에 의한 객체의 분류를 기반으로, 각 시점의 중요도 내지는 우선도를 결정하기 위한 가중치를 결정하는 단계일 수 있다. 가중치 벡터를 결정하는 단계(S700)는 제1 시점에 관한 제1 가중치 벡터를 연산하는 단계(S710) 및 제2 시점에 관한 제2 가중치 벡터를 연산하는 단계(S720)를 포함할 수 있다.Next, the step of determining the weight vector according to each viewpoint (S700) is based on the individual viewpoint image of the target object input through the image input unit 500 and the classification of the object by the individual determination unit 600, It may be a step of determining a weight for determining the importance or priority of the viewpoint. Determining the weight vector (S700) may include calculating a first weight vector for a first viewpoint (S710) and calculating a second weight vector for a second viewpoint (S720).

이하에서, 제1 개별 판별부(610) 및 제2 개별 판별부(620)에서 도출한 각 스코어 벡터

Figure 112020068275914-pat00102
Figure 112020068275914-pat00103
가 하기와 같은 경우를 예로 하여 설명하나, 본 발명이 이에 제한되지 않음은 물론이다.Hereinafter, each score vector derived from the first individual determination unit 610 and the second individual determination unit 620
Figure 112020068275914-pat00102
And
Figure 112020068275914-pat00103
The following case is described as an example, but the present invention is not limited thereto.

Figure 112020068275914-pat00104
Figure 112020068275914-pat00104

Figure 112020068275914-pat00105
Figure 112020068275914-pat00105

즉, 하나의 토마토 객체에 대해 제1 시점에서는

Figure 112020068275914-pat00106
가 출력되고, 제2 시점에서는
Figure 112020068275914-pat00107
가 출력될 수 있다. 제1 개별 판별부(610) 및 제2 개별 판별부(620)는 최대 스코어를 갖는 클래스를 선택하여 해당 시점에서의 숙도로 판별할 수 있다. 위와 같은 예시에서, 제1 시점의 제1 개별 판별부(610)는 최대 스코어로 80을 갖는 클래스 1(첫번째 원소), 즉 1단계 숙도로 판별하고, 제2 시점의 제2 개별 판별부(620)는 최대 스코어로 80을 갖는 클래스 2(두번째 원소), 즉 2단계 숙도로 판별할 수 있다.That is, at the first point in time for one tomato object
Figure 112020068275914-pat00106
Is output, and at the second point
Figure 112020068275914-pat00107
Can be output. The first individual determination unit 610 and the second individual determination unit 620 may select a class having a maximum score and determine the degree of mastery at a corresponding time point. In the above example, the first individual determination unit 610 at the first time point determines the class 1 (the first element) having a maximum score of 80, that is, the first level of maturity, and the second individual determination unit 620 at the second time point. ) Can be identified as class 2 (the second element) with a maximum score of 80, that is, level 2 maturity.

예시적인 실시예에서, 제1 가중치 결정부(710)는 학습된 제1 학습 벡터 및 제2 학습 벡터와 벡터

Figure 112020068275914-pat00108
을 바탕으로 제1 가중치 벡터를 결정할 수 있다. 이 경우 제1 가중치 결정부(710)가 결정하는 제1 가중치 벡터는 하기 수식 5를 통해 도출될 수 있다.In an exemplary embodiment, the first weight determination unit 710 includes the learned first learning vector and the second learning vector and the vector.
Figure 112020068275914-pat00108
A first weight vector may be determined based on. In this case, the first weight vector determined by the first weight determiner 710 may be derived through Equation 5 below.

<수식 5><Equation 5>

Figure 112020068275914-pat00109
Figure 112020068275914-pat00109

Figure 112020068275914-pat00110
Figure 112020068275914-pat00110

Figure 112020068275914-pat00111
Figure 112020068275914-pat00111

여기서, 기호 "./"는 성분별 분(element wise division)을 의미한다.Here, the symbol "./" means element-wise division.

즉, 제1 시점에 대한 제1 가중치 벡터를 연산함에 있어서, 제1 시점과 제2 시점 모두에 대한 학습 벡터(

Figure 112020068275914-pat00112
,
Figure 112020068275914-pat00113
)를 고려하되, 제1 개별 판별부(610)가 출력한 벡터
Figure 112020068275914-pat00114
가 객체의 숙도 클래스를 1단계로 판단하였기 때문에 위에서 예시한 10개의 학습 벡터들 중에서, 1단계로 예측했던 결과에 대한 오차 행렬로부터 학습된 제1-1 학습 벡터
Figure 112020068275914-pat00115
및 제2-1 학습 벡터
Figure 112020068275914-pat00116
를 이용하여 제1 가중치 벡터를 연산 및 결정할 수 있다.That is, in calculating the first weight vector for the first viewpoint, the learning vector for both the first viewpoint and the second viewpoint (
Figure 112020068275914-pat00112
,
Figure 112020068275914-pat00113
), but the vector output by the first individual determination unit 610
Figure 112020068275914-pat00114
Is the 1st learning vector learned from the error matrix for the result predicted by the 1st step among the 10 training vectors illustrated above, since the mastery class of the object is determined as 1st level.
Figure 112020068275914-pat00115
And the 2-1 learning vector
Figure 112020068275914-pat00116
The first weight vector may be calculated and determined using.

또, 제2 가중치 결정부(720)는 학습된 제2 학습 벡터 및 제2 학습 벡터와

Figure 112020068275914-pat00117
를 바탕으로 제2 가중치 벡터를 결정할 수 있다. 이 경우 제2 가중치 결정부(720)가 결정하는 제2 가중치 벡터는 하기 수식 6을 통해 도출될 수 있다.In addition, the second weight determination unit 720 and the learned second learning vector and the second learning vector
Figure 112020068275914-pat00117
A second weight vector may be determined based on. In this case, the second weight vector determined by the second weight determiner 720 may be derived through Equation 6 below.

<수식 6><Equation 6>

Figure 112020068275914-pat00118
Figure 112020068275914-pat00118

Figure 112020068275914-pat00119
Figure 112020068275914-pat00119

Figure 112020068275914-pat00120
Figure 112020068275914-pat00120

즉, 제2 시점에 대한 제2 가중치 벡터를 연산함에 있어서, 제1 시점과 제2 시점 모두에 대한 학습 벡터(

Figure 112020068275914-pat00121
,
Figure 112020068275914-pat00122
)를 고려하되, 제2 개별 판별부(620)가 출력한 벡터
Figure 112020068275914-pat00123
가 객체의 숙도 클래스를 2단계로 판단하였기 때문에 위에서 예시한 10개의 학습 벡터들 중에서, 2단계로 예측했던 결과에 대한 오차 행렬로부터 학습된 제1-2 학습 벡터
Figure 112020068275914-pat00124
및 제2-2 학습 벡터
Figure 112020068275914-pat00125
를 이용하여 제2 가중치 벡터를 연산 및 결정할 수 있다.That is, in calculating the second weight vector for the second viewpoint, the learning vector for both the first viewpoint and the second viewpoint (
Figure 112020068275914-pat00121
,
Figure 112020068275914-pat00122
), but the vector output by the second individual determination unit 620
Figure 112020068275914-pat00123
Is determined as the maturity class of the object in step 2, from among the 10 training vectors exemplified above, the 1-2 learning vector learned from the error matrix for the result predicted in step 2
Figure 112020068275914-pat00124
And 2-2 learning vector
Figure 112020068275914-pat00125
The second weight vector may be calculated and determined using.

본 발명의 발명자들은 가중치 벡터를 연산함에 있어서, 단순히 제1 시점의 전체 학습 결과 및 그 신뢰도와 제2 시점의 전체 학습 결과 및 그 신뢰도를 복합화하는 것이 아니라, 실제 작물을 분류하는 과정에서 시점 별로 도출된 스코어 벡터 클래스에 대한 열벡터만을 추출하여 가중치를 결정하는 것이, 그렇지 않은 경우에 비해 분류 결과가 우수함에 착안하여 본 발명을 완성하기에 이르렀다.In calculating the weight vector, the inventors of the present invention do not simply combine the overall learning result and reliability of the first point of view and the overall learning result of the second view and the reliability of the weight vector, but derive each point of view in the process of classifying the actual crops. The present invention was accomplished by focusing on the superiority of the classification result in determining the weight by extracting only the column vector for the generated score vector class.

위에서 예시한 설명을 일반화하면 다음과 같이 표현할 수 있다.If the explanation exemplified above is generalized, it can be expressed as follows.

즉, 딥러닝을 통한 학습 결과로부터

Figure 112020068275914-pat00126
,
Figure 112020068275914-pat00127
, …,
Figure 112020068275914-pat00128
로 이루어진 제1 학습 열벡터(column vector) 및
Figure 112020068275914-pat00129
,
Figure 112020068275914-pat00130
, …,
Figure 112020068275914-pat00131
로 이루어진 제2 학습 열벡터가 미리 정의되고, 작물의 분류 결과 최대 스코어를 갖는 i번째 클래스를 갖는 제1 스코어 벡터
Figure 112020068275914-pat00132
및 최대 스코어를 갖는 j번째 클래스를 갖는 제2 스코어 벡터
Figure 112020068275914-pat00133
가 출력된 경우, 제1 가중치 벡터(
Figure 112020068275914-pat00134
) 및 제2 가중치 벡터(
Figure 112020068275914-pat00135
)는 각각 하기 수식 7 및 수식 8을 이용하여 결정될 수 있다.In other words, from the results of learning through deep learning
Figure 112020068275914-pat00126
,
Figure 112020068275914-pat00127
,… ,
Figure 112020068275914-pat00128
A first learning column vector consisting of and
Figure 112020068275914-pat00129
,
Figure 112020068275914-pat00130
,… ,
Figure 112020068275914-pat00131
A second learning column vector consisting of is predefined, and a first score vector having the i-th class having the maximum score as a result of classification of the crop
Figure 112020068275914-pat00132
And a second score vector having the j-th class with the maximum score.
Figure 112020068275914-pat00133
Is output, the first weight vector (
Figure 112020068275914-pat00134
) And the second weight vector (
Figure 112020068275914-pat00135
) May be determined using Equation 7 and Equation 8 below, respectively.

<수식 7><Equation 7>

Figure 112020068275914-pat00136
Figure 112020068275914-pat00136

<수식 8><Equation 8>

Figure 112020068275914-pat00137
Figure 112020068275914-pat00137

전술한 것과 같이

Figure 112020068275914-pat00138
는 제1 시점에서 얻은 학습 벡터로부터 유래한 것이고,
Figure 112020068275914-pat00139
는 제2 시점에서 얻은 학습 벡터로부터 유래한 것일 수 있다. 또, i 및 j는 각각 제1 시점 및 제2 시점의 분류 결과 최대 스코어를 갖는 클래스의 번호이다.As described above
Figure 112020068275914-pat00138
Is derived from the learning vector obtained at the first time point,
Figure 112020068275914-pat00139
May be derived from the learning vector obtained at the second point in time. In addition, i and j are the numbers of the class having the maximum score as a result of the classification at the first time point and the second time point, respectively.

몇몇 실시예에서, 가중치 벡터들은 하기 수식 9를 만족할 수 있다.In some embodiments, the weight vectors may satisfy Equation 9 below.

<수식 9><Equation 9>

Figure 112020068275914-pat00140
Figure 112020068275914-pat00140

여기서,

Figure 112020068275914-pat00141
은 시점 n에 대한 가중치 벡터이다. 다만, 본 발명이 수식 9에 제한되는 것은 아니며, 다른 실시예에서 가중치 벡터들의 합은 1일 수도 있다. 여기서 벡터의 합이 1이라 함은,
Figure 112020068275914-pat00142
가 5개의 원소를 갖는 열벡터인 경우
Figure 112020068275914-pat00143
임을 의미한다. here,
Figure 112020068275914-pat00141
Is the weight vector for time n. However, the present invention is not limited to Equation 9, and the sum of weight vectors may be 1 in another embodiment. Here, the sum of vectors is 1,
Figure 112020068275914-pat00142
Is a 5 element column vector
Figure 112020068275914-pat00143
Means

위와 같은 과정을 통해 제1 가중치 벡터(

Figure 112020068275914-pat00144
) 및 제2 가중치 벡터(
Figure 112020068275914-pat00145
)를 결정할 수 있다.Through the above process, the first weight vector (
Figure 112020068275914-pat00144
) And the second weight vector (
Figure 112020068275914-pat00145
) Can be determined.

다음으로, 최종 기준데이터 레벨을 결정하는 단계(S800)는 개별 판별부(600)로부터 출력되는 확률 기반 스코어 벡터와 가중치 결정부(700)로부터 연산되는 가중치 벡터를 융합 연산하여 대상 객체에 대한 최종 분류 클래스를 결정하는 것으로, 예컨대 대상 객체의 최종 숙도 레벨 내지는 최종 숙도 클래스를 결정하는 단계일 수 있다. 최종 판별부(800)는 분류 소프트웨어 알고리즘 및 소프트웨어가 실행되는 프로세서를 통해 구현될 수 있다. Next, in the step of determining the final reference data level (S800), the probability-based score vector output from the individual determination unit 600 and the weight vector calculated from the weight determination unit 700 are fused to the final classification of the target object. Determining a class, for example, may be a step of determining a final mastery level or a final mastery class of the target object. The final determination unit 800 may be implemented through a classification software algorithm and a processor on which the software is executed.

예시적인 실시예에서, 최종 판별부(800)는 제1 개별 판별부(610), 제2 개별 판별부(620), 제1 가중치 결정부(710) 및 제2 가중치 결정부(720)에서 각각 출력된 벡터를 입력으로 하여 최종 기준데이터 레벨을 결정할 수 있다. 예를 들어, 최종 판별부(800)는 제1 개별 판별부(610) 및 제2 개별 판별부(620)의 각 딥러닝 스트림의 출력 벡터를 원-핫 인코딩(one-hot encoding)을 거치지 않고 원시 확률 분포 형태 그대로 활용할 수 있다.In an exemplary embodiment, the final determination unit 800 includes the first individual determination unit 610, the second individual determination unit 620, the first weight determination unit 710, and the second weight determination unit 720, respectively. The final reference data level can be determined by using the output vector as an input. For example, the final determination unit 800 does not perform one-hot encoding on the output vector of each deep learning stream of the first individual determination unit 610 and the second individual determination unit 620. It can be used as it is in the form of the original probability distribution.

최종 판별부(800)는 대상 객체의 전반 영역에 걸쳐 연속적으로 발달하는 숙도 단계별 색 분포 패턴을 종합적으로 고려하기 위해 제1 시점 또는 제2 시점 중 어느 하나만에서의 출력 벡터만을 고려하는 것이 아니라 서로 다른 시점, 즉 제1 시점 및 제2 시점 모두에서의 스코어 벡터와 가중치 벡터를 융합한다. 종래의 숙도 분류 기술은 단순히 벡터 내 원소 중에서 최대값을 갖는 인덱서를 선택하는데, 이 경우 결정된 숙도가 오분류된 경우에 해당한다면 딥러닝 스트림 출력 벡터의 숙도 단계별 스코어의 분산이 커지는 경향을 보인다. 이는 개별 시점 영상에 내재된 작물의 숙도와 관련된 특징이 숙도를 정확히 판별하기 충분할 만큼 명확하지 않기 때문에 발생되는 결과일 수 있다. The final discrimination unit 800 does not consider only the output vector at either the first or the second viewpoint in order to comprehensively consider the color distribution pattern of the maturity stage that continuously develops over the entire area of the target object. The score vector and the weight vector at both the viewpoint, that is, the first viewpoint and the second viewpoint, are fused. The conventional maturity classification technique simply selects an indexer having a maximum value among elements in a vector. In this case, if the determined maturity is misclassified, the variance of the scores for each maturity level of the deep learning stream output vector tends to increase. This may be due to the fact that the characteristics related to the maturity of the crop embedded in the individual viewpoint images are not clear enough to accurately determine maturity.

본 발명은 이러한 오분류를 최소화하기 위한 것으로서 대상 객체, 예컨대 작물의 숙도를 결정하는 과정에서 단일 시점 영상만을 활용하기 보다는 객체 전반 영역에 걸쳐 연속적으로 발달하는 숙도 단계별 색 분포 패턴을 모두 고려하여 최종 숙도를 고려할 수 있다.The present invention is to minimize such misclassification, and in the process of determining the maturity of a target object, for example, a crop, rather than using only a single viewpoint image, the final maturity is considered by considering all the color distribution patterns of the maturity stages that continuously develop over the entire object area. Can be considered.

뿐만 아니라 딥러닝 스트림 중에서 어느 스트림에 기반한 확률 기반 스코어 벡터가 사실 관계에 보다 근접한 결과인지 반영하기 위해 가중치를 함께 연산할 수 있다. 예를 들어, 어느 토마토 품종의 경우 꼭지 부근부터 색 분포 패턴의 변화가 시작될 확률이 높을 수 있고, 다른 어느 토마토 품종의 경우 배꼽 부근부터 색 분포 패턴의 변화가 시작될 확률이 높을 수 있다. In addition, weights can be calculated together to reflect whether the probability-based score vector based on which stream is a result closer to the facts among the deep learning streams. For example, a tomato variety may have a high probability of starting a color distribution pattern change from near the apex, and any other tomato variety may have a high probability of starting a color distribution pattern change from a navel.

다른 예를 들어, 토마토 작물의 경우 광 방향이나 품온(인간의 체온에 해당)에 따라 꼭지(stem-end) 부근부터 붉게 변할 수도 배꼽(flower-end) 부근부터 붉게 변할 수도 있으며, 품종에 따라서는 세로 방향의 띠 형태로 붉게 변할 수도 있기 때문에 시점에 따라 숙도 분류 결과가 달라질 수 있다.For another example, in the case of tomato crops, depending on the light direction or temperature (corresponding to human body temperature), it may turn red from the stem-end or red from the flower-end, depending on the variety. Since it may turn red in the form of a vertical band, the results of maturity classification may vary depending on the time point.

이 경우 상기 두 개의 다른 품종 또는 두 개의 다른 케이스에는 각 시점에서의 확률 기반 스코어 벡터가 최종 숙도 레벨 결정에 반영되는 정도가 상이한 것이 사실 관계에 보다 근접한 결과를 도출할 수 있다. 이를 위해 본 발명은 전술한 것과 같은 가중치 벡터를 연산 및 결정하고 이를 함께 최종 기준데이터 결정에 반영함으로써 상기와 같은 목적을 달성할 수 있다.In this case, the fact that the degree to which the probability-based score vector at each time point is reflected in the final maturity level determination in the two different breeds or two different cases may be different, resulting in a result closer to the fact. To this end, the present invention can achieve the above object by calculating and determining the weight vector as described above and reflecting the same in the final reference data determination.

특히, 가중치를 결정하는 단계(S700)에 있어서, 학습 결과를 바탕으로 미리 결정된 가중치를 곧바로 이용하는 것과 달리, 본 발명은 실제 작물을 분류하는 과정에서 개별 판별부(600)로부터 도출된 결과, 예컨대

Figure 112020068275914-pat00146
의 최대 스코어를 갖는 클래스 및
Figure 112020068275914-pat00147
의 최대 스코어를 갖는 클래스를 활용하여 가중치 벡터를 결정하기 때문에 그렇지 않은 경우에 비해 분류에 대한 신뢰도를 향상시킬 수 있다.In particular, in the step of determining the weight (S700), unlike the direct use of the predetermined weight based on the learning result, the present invention is a result derived from the individual determination unit 600 in the process of classifying the actual crop, for example
Figure 112020068275914-pat00146
Class with a maximum score of and
Figure 112020068275914-pat00147
Since the weight vector is determined by using the class with the maximum score of, the reliability for classification can be improved compared to the case where it is not.

예시적인 실시예에서, 최종 판별부(800)는 하기 수식 10을 통해 최종 기준데이터 레벨을 결정할 수 있다.In an exemplary embodiment, the final determination unit 800 may determine the final reference data level through Equation 10 below.

<수식 10><Equation 10>

Figure 112020068275914-pat00148
Figure 112020068275914-pat00148

여기서,

Figure 112020068275914-pat00149
는 최종 결정 융합 벡터로서, 최종 기준데이터 레벨을 의미한다. 또, N은 각 개별 시점의 총 개수를 의미하는 것으로 2 이상의 정수이다. 즉, 도 7 및 도 8 등과 같이 개별 시점이 2개인 경우, N은 2이다. 또한 n은 각 개별 시점의 순번 내지는 특정 시점을 의미하는 것으로 1 이상 N 이하의 정수이다. here,
Figure 112020068275914-pat00149
Denotes the final decision fusion vector, and denotes the final reference data level. In addition, N refers to the total number of each individual time point, and is an integer of 2 or more. That is, when there are two separate viewpoints as shown in FIGS. 7 and 8, N is 2. In addition, n is an integer of 1 or more and N or less, which means the order or specific time of each individual time point.

Figure 112020068275914-pat00150
은 시점 n에서의 가중치로서 벡터(예컨대, 열벡터)일 수 있다. 예시적인 실시예에서,
Figure 112020068275914-pat00151
은 전술한 가중치 결정부(700)로부터 연산 또는 결정될 수 있다. 구체적으로,
Figure 112020068275914-pat00152
은 제1 시점에 관한 제1 가중치 결정부(710)로부터 도출되고,
Figure 112020068275914-pat00153
는 제2 시점에 관한 제2 가중치 결정부(720)로부터 도출될 수 있으나 본 발명이 이에 제한되는 것은 아니다.
Figure 112020068275914-pat00150
May be a vector (eg, a column vector) as a weight at time n. In an exemplary embodiment,
Figure 112020068275914-pat00151
May be calculated or determined from the above-described weight determination unit 700. Specifically,
Figure 112020068275914-pat00152
Is derived from the first weight determining unit 710 for the first viewpoint,
Figure 112020068275914-pat00153
May be derived from the second weight determining unit 720 for the second viewpoint, but the present invention is not limited thereto.

또,

Figure 112020068275914-pat00154
는 시점 n에서의 확률 기반 스코어 벡터로서, 전술한 개별 판별부(600)로부터 출력될 수 있다. 구체적으로,
Figure 112020068275914-pat00155
은 제1 시점에 관한 제1 개별 판별부(610)로부터 출력되고,
Figure 112020068275914-pat00156
는 제2 시점에 관한 제2 개별 판별부(620)로부터 출력될 수 있으나 본 발명이 이에 제한되는 것은 아니다.In addition,
Figure 112020068275914-pat00154
Is a probability-based score vector at time n, and may be output from the individual determination unit 600 described above. Specifically,
Figure 112020068275914-pat00155
Is output from the first individual determination unit 610 for the first time point,
Figure 112020068275914-pat00156
May be output from the second individual determination unit 620 for the second viewpoint, but the present invention is not limited thereto.

그리고

Figure 112020068275914-pat00157
는 성분별 곱(element wise multiplication)을 의미한다.And
Figure 112020068275914-pat00157
Means element-wise multiplication.

전술한 예시와 같이

Figure 112020068275914-pat00158
이고,
Figure 112020068275914-pat00159
이며,
Figure 112020068275914-pat00160
이고,
Figure 112020068275914-pat00161
인 경우
Figure 112020068275914-pat00162
이고, 최종 판별부(800)는 숙도 단계를 최대 스코어를 갖는 클래스 1, 즉 1단계로 분류할 수 있다.As in the above example
Figure 112020068275914-pat00158
ego,
Figure 112020068275914-pat00159
Is,
Figure 112020068275914-pat00160
ego,
Figure 112020068275914-pat00161
If
Figure 112020068275914-pat00162
And, the final determination unit 800 may classify the maturity stage into a class 1 having a maximum score, that is, a first stage.

다른 비제한적인 예시로서, 최종 판별부(800)에서 출력하는 벡터

Figure 112020068275914-pat00163
는 하기 수식 9와 같이 정의될 수 있다.As another non-limiting example, the vector output from the final determination unit 800
Figure 112020068275914-pat00163
May be defined as in Equation 9 below.

<수식 11><Equation 11>

Figure 112020068275914-pat00164
Figure 112020068275914-pat00164

벡터

Figure 112020068275914-pat00165
의 원소 각각은 대상 객체, 즉 작물의 단계별 우도(likelihood)로서 이산 확률 분포로 나타낼 수 있다. 또, 최종 판별부(800)의 출력 벡터로서 최종적인 숙도 단계를 판별하기 위해 하기 수식 12를 사용할 수 있다.vector
Figure 112020068275914-pat00165
Each of the elements of can be expressed as a discrete probability distribution as the target object, that is, the likelihood of each crop. In addition, the following Equation 12 may be used to determine the final maturity stage as an output vector of the final determination unit 800.

<수식 12><Equation 12>

Figure 112020068275914-pat00166
Figure 112020068275914-pat00166

Figure 112020068275914-pat00167
Figure 112020068275914-pat00167

여기서, y는 하나의 대상 객체에 대한 복수 시점의 입력 영상으로부터 결정한 최종 숙도 단계 판별 값이며, pick 함수는 목록 내 m번째 값을 반환하는 함수로서 m은 1과 M사이의 정수이다. 또, 출력 벡터

Figure 112020068275914-pat00168
의 원소 중 가장 큰 확률 값의 인덱스 값 내지는 클래스 레이블로서 1 이상 M 이하의 값을 가질 수 있다.Here, y is a final maturity level discrimination value determined from input images of multiple views for one target object, and the pick function is a function that returns the m-th value in the list, where m is an integer between 1 and M. Again, the output vector
Figure 112020068275914-pat00168
The index value of the largest probability value or the class label among the elements of may have a value of 1 or more and M or less.

이와 같이 본 발명의 최종 판별부(800)에 따르면 대상 객체의 다중 시점 영상 입력에 대한 최종 숙도를 결정하기 위한 프로세스에 있어서, 개별 시점에서의 숙도 분류 결과 중 일부에 오류가 있더라도 올바르게 분류된 결과를 이용해 이를 보정하는 방식으로 분류 정확도를 개선할 수 있다.As described above, according to the final determination unit 800 of the present invention, in the process for determining the final maturity for the multi-view video input of the target object, even if there is an error in some of the maturity classification results at individual points of view, the correctly classified result Classification accuracy can be improved by correcting it.

또, 각 개별 시점에서 서로 다른 가중치 벡터를 부여하되, 오차 행렬로부터 계산된 정확도가 반영된 가중치를 학습함으로써 각 시점에서의 중요도 내지는 우선도를 다르게 부여할 수 있고, 특정 작물, 동일 작물 중에서도 특정 품종, 특정 품종 중에서도 특정 조건에서 재배된 작물의 분류 정확도를 향상시킬 수 있다. 더욱이 제1 시점으로부터의 제1 오차 행렬 및 제2 시점으로부터의 제2 오차 행렬을 전체로서 가중치에 반영하는 것이 아니라, 개별 판별부(600)로부터 도출된 스코어 벡터 중 특정한 숙도 단계로 분류한 경우의 열벡터만을 합산하여 가중치 벡터를 도출함으로써 각 시점에서의 중요도 내지는 우선도를 더욱 정밀하게 반영할 수 있다.In addition, different weight vectors are assigned at each individual time point, but by learning the weights reflecting the accuracy calculated from the error matrix, the importance or priority at each time point can be given differently. Among specific varieties, it is possible to improve the accuracy of classification of crops grown under specific conditions. Moreover, when the first error matrix from the first view point and the second error matrix from the second view point are not reflected in the weight as a whole, but are classified into a specific mastery level among the score vectors derived from the individual discrimination unit 600. By summing only the column vectors to derive the weight vector, the importance or priority at each time point can be more accurately reflected.

본 발명에 따른 작물 분류 방법, 이를 위한 프로그램, 상기 프로그램이 기록된 기록 매체, 및 작물 분류 장치는 토마토, 복숭아, 사과, 배, 파프리카 또는 고추 등 다양한 작물에 적용 가능할 수 있다.The crop classification method according to the present invention, a program therefor, a recording medium in which the program is recorded, and a crop classification device may be applied to various crops such as tomatoes, peaches, apples, pears, paprika or peppers.

또, 본 발명은 전술한 작물의 분류 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 의해 구현 가능할 수 있다. 또, 본 발명에 따른 작물의 분류 장치는 작물 영상 입력을 위한 입력 인터페이스, 메모리 및 프로세서를 포함하며, 프로그램 내지는 소프트웨어는 메모리에 저장되고 프로세서에 의해 실행될 수 있다.In addition, the present invention may be implemented by a computer-readable recording medium in which a program for executing the above-described method for sorting crops is recorded. In addition, the crop classification apparatus according to the present invention includes an input interface for inputting crop images, a memory, and a processor, and a program or software may be stored in the memory and executed by the processor.

이상에서 본 발명의 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. The embodiments of the present invention have been described above, but these are only examples and do not limit the present invention, and those of ordinary skill in the field to which the present invention pertains, within the scope not departing from the essential characteristics of the embodiments of the present invention. It will be appreciated that various modifications and applications not illustrated above are possible.

따라서 본 발명의 범위는 이상에서 예시된 기술 사상의 변경물, 균등물 내지는 대체물을 포함하는 것으로 이해되어야 한다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성요소는 변형하여 실시할 수 있다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the scope of the present invention should be understood to include modifications, equivalents, or substitutes of the technical idea exemplified above. For example, each component specifically shown in the embodiment of the present invention can be modified and implemented. And differences related to these modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.

또, 첨부된 도면의 구성도 또는 블록도 상의 각 구성요소는 소프트웨어나 FPGA(field-programmable gate array), ASIC(application specific integrated circuit) 등의 하드웨어로 구현될 수 있다. 다만, 구성도 또는 블록도 상의 각 구성요소들은 소프트웨어 및 하드웨어 뿐만 아니라 어드레싱 가능한 저장 매체에서 구현될 수 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수 있다.In addition, each component on the configuration diagram or block diagram of the accompanying drawings may be implemented by software or hardware such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC). However, each component in the configuration diagram or block diagram may be implemented in an addressable storage medium as well as software and hardware, and may be configured to execute one or more processors.

구성도 또는 블록도 상의 각 구성요소는 특정된 논리 기능을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 의미할 수 있다. 따라서 구성도 또는 블록도 상의 구성요소가 제공하는 기능은 더 세분화된 복수의 구성요소에 의해 구현되거나, 또는 구성도 또는 블록도 상의 복수의 구성요소들은 일체화된 하나의 구성요소에 의하여 구현될 수도 있음은 물론이다.Each component on the configuration diagram or block diagram may mean a module, segment, or part of code including one or more executable instructions for executing a specified logical function. Therefore, the functions provided by the components on the configuration diagram or block diagram may be implemented by a plurality of more subdivided components, or a plurality of components on the configuration diagram or block diagram may be implemented by one integrated component. Of course.

즉, 본 발명의 목적 범위 내에서 각 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수 있다. 또, 모든 구성요소들이 각각 하나의 독립된 하드웨어로 구현될 수 있고, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술분야에 속하는 통상의 기술자에게 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 기록 매체 내지는 저장 매체에 저장되어 컴퓨터에 의해 읽혀지고 실행됨으로써 본 발명의 실시예를 구현할 수 있다. 상기 기록 매체의 예로는 자기 기록 매체, 광 기록 매체 등을 들 수 있다.That is, one or more components may be selectively combined and operated within the scope of the object of the present invention. In addition, all components can be implemented as one independent hardware, and some or all of the components are selectively combined to have a program module that performs some or all functions combined in one or a plurality of hardware. It can also be implemented as a computer program. Codes and code segments constituting the computer program may be easily inferred by a person skilled in the art. Such a computer program may be stored in a computer-readable recording medium or a storage medium, and read and executed by a computer, thereby implementing an embodiment of the present invention. Examples of the recording medium include magnetic recording media, optical recording media, and the like.

100: 영상 입력부
110: 제1 영상 입력부
120: 제2 영상 입력부
200: 개별 판별부
210: 제1 개별 판별부
220: 제2 개별 판별부
300: 학습 벡터 연산부
310: 제1 학습 벡터 연산부
320: 제2 학습 벡터 연산부
400: 학습 벡터 저장부
100: video input unit
110: first image input unit
120: second image input unit
200: individual discrimination unit
210: first individual discrimination unit
220: second individual discrimination unit
300: learning vector operator
310: first learning vector operator
320: second learning vector operator
400: learning vector storage

Claims (9)

대상 객체의 제1 시점 및 제2 시점을 포함하는 복수 시점 영상을 각각 입력받는 단계;
객체 탐지 기반 딥러닝 모델을 이용하여 상기 제1 시점 및 상기 제2 시점에서의 기준데이터를 분류하고, 상기 제1 시점에 관한 확률 기반 제1 스코어 벡터 및 상기 제2 시점에 관한 확률 기반 제2 스코어 벡터를 출력하는 단계;
상기 제1 스코어 벡터 및 상기 제2 스코어 벡터로부터 각각 제1 오차 행렬 및 제2 오차 행렬을 도출하는 단계로서, 상기 제1 오차 행렬 및 상기 제2 오차 행렬은 가로축을 예측값(prediction value), 세로축을 실제값(true value)으로 하는 행렬이고 각각 M×M의 행렬을 갖는 제1 오차 행렬 및 제2 오차 행렬을 도출하는 단계;
제1 오차 행렬로부터 M개의 원소를 갖는 M개의 벡터를 포함하는 제1 벡터를 출력 및 저장하는 단계로서,
Figure 112021019551491-pat00206
,
Figure 112021019551491-pat00207
, …,
Figure 112021019551491-pat00208
로 이루어진 제1 벡터를 출력 및 저장하는 단계; 및
제2 오차 행렬로부터 M개의 원소를 갖는 M개의 벡터를 포함하는 제2 벡터를 출력 및 저장하는 단계로서,
Figure 112021019551491-pat00209
,
Figure 112021019551491-pat00210
, …,
Figure 112021019551491-pat00211
로 이루어진 제2 벡터를 출력 및 저장하는 단계를 포함하되,
상기 제1 벡터 및 상기 제2 벡터는 각각 M개의 원소를 갖는 열벡터(column vector)를 포함하는 작물 분류 학습 방법.
Receiving a plurality of viewpoint images each including a first viewpoint and a second viewpoint of the target object;
Classification of reference data at the first and second viewpoints using an object detection-based deep learning model, and a probability-based first score vector for the first viewpoint and a probability-based second score for the second viewpoint Outputting a vector;
Deriving a first error matrix and a second error matrix from the first score vector and the second score vector, respectively, wherein the first error matrix and the second error matrix are a horizontal axis, a prediction value, and a vertical axis. Deriving a first error matrix and a second error matrix each having a matrix of M × M and a matrix having a true value;
A first step of outputting and storing the first vector containing the M vector has M elements from a first error matrix,
Figure 112021019551491-pat00206
,
Figure 112021019551491-pat00207
,… ,
Figure 112021019551491-pat00208
Outputting and storing a first vector consisting of; And
A first step of outputting and storing the second vector containing the M vector has M elements from the two-error matrix,
Figure 112021019551491-pat00209
,
Figure 112021019551491-pat00210
,… ,
Figure 112021019551491-pat00211
Including the step of outputting and storing a second vector consisting of,
The first vector and the second vector each includes a column vector (column vector) having M elements of the crop classification learning method.
삭제delete
Figure 112020068275914-pat00175
,
Figure 112020068275914-pat00176
, …,
Figure 112020068275914-pat00177
로 이루어진 제1 열벡터(column vector) 및
Figure 112020068275914-pat00178
,
Figure 112020068275914-pat00179
, …,
Figure 112020068275914-pat00180
로 이루어진 제2 열벡터가 미리 정의되어 작물을 분류하는 방법으로서,
대상 객체의 제1 시점 및 제2 시점을 포함하는 복수 시점 영상을 각각 입력받는 단계;
딥러닝 모델을 이용하여 제1 시점에 관한 확률 기반 제1 스코어 벡터를 출력하는 단계로서, 최대 스코어가 i번째 클래스(i는 M 이하의 양의 정수)인 제1 스코어 벡터를 출력하는 단계;
딥러닝 모델을 이용하여 제2 시점에 관한 확률 기반 제2 스코어 벡터를 출력하는 단계로서, 최대 스코어가 j번째 클래스(j는 M 이하의 양의 정수)인 제2 스코어 벡터를 출력하는 단계;
상기 복수의 제1 벡터와 복수의 제2 벡터, 및 상기 제1 스코어 벡터와 제2 스코어 벡터에 기반하여 상기 제1 시점 및 상기 제2 시점에 관한 제1 가중치 벡터 및 제2 가중치 벡터를 포함하는 복수의 가중치 벡터를 결정하는 단계; 및
상기 복수의 스코어 벡터와 상기 복수의 가중치 벡터에 기반하여 최종 기준 데이터 레벨을 결정하는 단계를 포함하는 작물의 분류 방법.
Figure 112020068275914-pat00175
,
Figure 112020068275914-pat00176
,… ,
Figure 112020068275914-pat00177
A first column vector consisting of and
Figure 112020068275914-pat00178
,
Figure 112020068275914-pat00179
,… ,
Figure 112020068275914-pat00180
As a method for classifying crops by defining a second heat vector consisting of,
Receiving a plurality of viewpoint images each including a first viewpoint and a second viewpoint of the target object;
Outputting a probability-based first score vector for a first viewpoint using a deep learning model, the method comprising: outputting a first score vector whose maximum score is an i-th class (i is a positive integer less than or equal to M);
Outputting a second score vector based on probability for a second viewpoint using a deep learning model, comprising: outputting a second score vector whose maximum score is a j-th class (j is a positive integer less than or equal to M);
Including a first weight vector and a second weight vector for the first view and the second view based on the plurality of first vectors and the plurality of second vectors, and the first score vector and the second score vector Determining a plurality of weight vectors; And
And determining a final reference data level based on the plurality of score vectors and the plurality of weight vectors.
제3항에 있어서,
상기 제1 시점에 관한 상기 제1 가중치 벡터는 하기 수식 A를 이용하여 결정되고, 상기 제2 시점에 관한 상기 제2 가중치 벡터는 하기 수식 B를 이용하여 결정되는 작물의 분류 방법.
<수식 A>
Figure 112020068275914-pat00181

<수식 B>
Figure 112020068275914-pat00182
The method of claim 3,
The first weight vector for the first viewpoint is determined using Equation A below, and the second weight vector for the second viewpoint is determined using Equation B below.
<Equation A>
Figure 112020068275914-pat00181

<Equation B>
Figure 112020068275914-pat00182
제4항에 있어서,
상기
Figure 112020068275914-pat00183
Figure 112020068275914-pat00184
(여기서, i 및 j는 각각 M 이하의 양의 정수)는 각각 i번째 및 j번째 클래스에서 최대 스코어를 갖는 열벡터인 작물의 분류 방법.
The method of claim 4,
remind
Figure 112020068275914-pat00183
And
Figure 112020068275914-pat00184
(Here, i and j are each a positive integer less than or equal to M ) is a method for classifying crops that is a column vector having a maximum score in the i-th and j-th classes, respectively.
제4항에 있어서,
하기 수식을 만족하는 작물의 분류 방법.
Figure 112020068275914-pat00185

(여기서,
Figure 112020068275914-pat00186
은 시점 n에 대한 가중치 벡터임)
The method of claim 4,
Classification method of crops satisfying the following formula.
Figure 112020068275914-pat00185

(here,
Figure 112020068275914-pat00186
Is the weight vector for time n)
제4항에 있어서,
상기 최종 기준 데이터 레벨을 결정하는 단계는 하기 수식을 이용한 알고리즘을 포함하여 수행되는 작물의 분류 방법.
Figure 112020068275914-pat00187

(여기서,
Figure 112020068275914-pat00188
는 최종 결정 융합 벡터이고, N은 각 개별 시점의 총 개수를 의미하고, n은 각 개별 시점의 순번을 의미하고,
Figure 112020068275914-pat00189
는 시점 n에서의 확률 기반 스코어 벡터이고,
Figure 112020068275914-pat00190
은 시점 n에 대한 가중치 벡터이고,
Figure 112020068275914-pat00191
는 성분별 곱(element wise multiplication)을 의미함)
The method of claim 4,
The step of determining the final reference data level is a method of classifying crops performed by including an algorithm using the following equation.
Figure 112020068275914-pat00187

(here,
Figure 112020068275914-pat00188
Is the final decision fusion vector, N means the total number of each individual time point, n means the order of each individual time point,
Figure 112020068275914-pat00189
Is the probability-based score vector at time n,
Figure 112020068275914-pat00190
Is the weight vector for time n,
Figure 112020068275914-pat00191
Means element-wise multiplication)
대상 객체의 복수의 시점 영상을 각각 입력받는 영상 입력부;
객체 탐지 기반 딥러닝 모델을 이용하여 상기 객체의 각 시점에서의 기준 데이터를 분류하고, 상기 객체에 관한 기준 데이터 레벨에 관한 각 시점별 복수의 확률 기반 스코어 벡터를 출력하는 개별 판별부;
상기 확률 기반 스코어 벡터의 오차 행렬로부터 도출된 복수의 열 벡터 및 상기 확률 기반 스코어 벡터의 최대 스코어를 기반으로 각 시점에서의 복수의 가중치 벡터를 결정하는 가중치 결정부; 및
상기 복수의 확률 기반 스코어 벡터와 상기 복수의 가중치 벡터에 기반하여 최종 기준 데이터 레벨을 결정하는 최종 판별부를 포함하되,
상기 오차 행렬은 복수의 각 시점 영상에서의 스코어 벡터로부터 도출된 제1 오차 행렬 및 제2 오차 행렬을 포함하고, 상기 제1 오차 행렬 및 상기 제2 오차 행렬은 각각 가로축을 예측값, 세로축을 실제값으로 하는 M×M 행렬이고, 상기 제1 오차 행렬로부터 도출된 제1 열 벡터 및 상기 제2 오차 행렬로부터 도출된 제2 열 벡터는 각각 M개의 원소를 갖는 작물의 분류 장치.
An image input unit receiving a plurality of viewpoint images of the target object, respectively;
An individual discrimination unit for classifying reference data at each viewpoint of the object using an object detection-based deep learning model and outputting a plurality of probability-based score vectors for each viewpoint regarding a reference data level for the object;
A weight determining unit determining a plurality of weight vectors at each viewpoint based on a plurality of column vectors derived from an error matrix of the probability-based score vector and a maximum score of the probability-based score vector; And
A final determination unit for determining a final reference data level based on the plurality of probability-based score vectors and the plurality of weight vectors,
The error matrix includes a first error matrix and a second error matrix derived from score vectors in a plurality of view images, and the first error matrix and the second error matrix each have a horizontal axis as a predicted value and a vertical axis as an actual value. An apparatus for classifying crops having M x M matrices, wherein a first column vector derived from the first error matrix and a second column vector derived from the second error matrix each have M elements.
상기 제3항에 따른 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium on which a program for performing the method according to claim 3 is recorded.
KR1020200080846A 2020-07-01 2020-07-01 Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device KR102245337B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200080846A KR102245337B1 (en) 2020-07-01 2020-07-01 Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200080846A KR102245337B1 (en) 2020-07-01 2020-07-01 Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device

Publications (1)

Publication Number Publication Date
KR102245337B1 true KR102245337B1 (en) 2021-04-28

Family

ID=75720811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200080846A KR102245337B1 (en) 2020-07-01 2020-07-01 Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device

Country Status (1)

Country Link
KR (1) KR102245337B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134585A (en) 2016-01-27 2017-08-03 秋田県 Harvesting proper time determination support device and harvesting proper time determination support program
KR101960900B1 (en) * 2018-10-12 2019-03-21 주식회사 에스피씨네트웍스 Method for recognizing products
KR102053940B1 (en) * 2019-05-07 2019-12-11 주식회사 두잉랩 System and method for estimating object using association analysis between multiple object
KR20200042077A (en) * 2018-10-12 2020-04-23 한국생산기술연구원 Apparatus, Method For Estimating Ripening Degree Of A Plant and A Computer-readable Storage Medium For Executing The Method
KR20200063342A (en) * 2018-11-22 2020-06-05 삼성생명보험주식회사 Method to update character recognition model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134585A (en) 2016-01-27 2017-08-03 秋田県 Harvesting proper time determination support device and harvesting proper time determination support program
KR101960900B1 (en) * 2018-10-12 2019-03-21 주식회사 에스피씨네트웍스 Method for recognizing products
KR20200042077A (en) * 2018-10-12 2020-04-23 한국생산기술연구원 Apparatus, Method For Estimating Ripening Degree Of A Plant and A Computer-readable Storage Medium For Executing The Method
KR20200063342A (en) * 2018-11-22 2020-06-05 삼성생명보험주식회사 Method to update character recognition model
KR102053940B1 (en) * 2019-05-07 2019-12-11 주식회사 두잉랩 System and method for estimating object using association analysis between multiple object

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Evaluating Tomato Ripeness Using a Neural Network, JOURNAL OF SHITA, 8(3), 1996, (비특허문헌 2) Extraction methods of color and shape features for tomato grading, J.SHITA, 18(2), 2006

Similar Documents

Publication Publication Date Title
Bhargava et al. Fruits and vegetables quality evaluation using computer vision: A review
Jia et al. Detection and segmentation of overlapped fruits based on optimized mask R-CNN application in apple harvesting robot
KR102151688B1 (en) Apparatus, Method For Estimating Ripening Degree Of A Plant and A Computer-readable Storage Medium For Executing The Method
CN113392775B (en) Sugarcane seedling automatic identification and counting method based on deep neural network
CN114120037B (en) Germinated potato image recognition method based on improved yolov5 model
CN110633632A (en) Weak supervision combined target detection and semantic segmentation method based on loop guidance
Kumari et al. Hybridized approach of image segmentation in classification of fruit mango using BPNN and discriminant analyzer
CN107688830B (en) Generation method of vision information correlation layer for case serial-parallel
CN113112519B (en) Key frame screening method based on interested target distribution
CN111192260B (en) Melon quality detection method based on hyperspectral image depth feature fusion
Lv et al. A visual identification method for the apple growth forms in the orchard
CN113657294A (en) Crop disease and insect pest detection method and system based on computer vision
CN115984543A (en) Target detection algorithm based on infrared and visible light images
Ferrer-Ferrer et al. Simultaneous fruit detection and size estimation using multitask deep neural networks
Kumar et al. Fruit-CNN: An Efficient Deep learning-based fruit classification and quality assessment for precision agriculture
Lucca et al. Applying aggregation and pre-aggregation functions in the classification of grape berries
Wang et al. A transformer-based mask R-CNN for tomato detection and segmentation
KR102245337B1 (en) Learning method for classifying crop using weight parameter based on confusion matrix, method for classifying crop using the same, computer-readable recording medium for excuting the method, and crop classifying device
CN106169086B (en) High-resolution optical image under navigation data auxiliary damages method for extracting roads
CN116245855B (en) Crop variety identification method, device, equipment and storage medium
CN114080644A (en) System and method for diagnosing small bowel cleanliness
KR102320509B1 (en) Method for classifying crop by multiple image recognition reflecting weight, and computer-readable recording medium for excuting the method, and crop classifying device
Dhanuja et al. Areca nut disease detection using image processing technology
CN116310359A (en) Intelligent detection method for photoelectric imaging weak and small target in complex environment
KR102576427B1 (en) Real-time Rainfall Prediction Device using Cloud Images, and Rainfall Prediction Method using the same, and a computer-readable storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant