WO2022182191A1 - 수확 대상 과실 판단 방법 및 과실 수확 장치. - Google Patents
수확 대상 과실 판단 방법 및 과실 수확 장치. Download PDFInfo
- Publication number
- WO2022182191A1 WO2022182191A1 PCT/KR2022/002775 KR2022002775W WO2022182191A1 WO 2022182191 A1 WO2022182191 A1 WO 2022182191A1 KR 2022002775 W KR2022002775 W KR 2022002775W WO 2022182191 A1 WO2022182191 A1 WO 2022182191A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fruit
- data
- parameter
- image
- harvest
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D46/00—Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
- A01D46/24—Devices for picking apples or like fruit
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D46/00—Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
- A01D46/30—Robotic devices for individually picking crops
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present invention relates to an apparatus and method for harvesting fruit, and more particularly, to an apparatus and method for harvesting fruit to be harvested differently according to time using an artificial neural network learned through learning data.
- the automatic fruit harvesting technology is a technology that uses artificial intelligence to automatically determine the fruit to be harvested by the user.
- the automatic fruit harvesting technology may include a technology for automatically judging a harvest target fruit based on the fruit status information, and in this case, the fruit status information is acquired based on the image.
- the fruit state information needs to reflect the method of determining whether to harvest the fruit of the agricultural worker, and this method is a method of determining based on the empirical rule of most agricultural workers in the prior art, and there is a limitation.
- An object of the present invention is to provide an apparatus and method for automatically determining harvest target fruit by using an artificial neural network based on an image in providing a user with harvest target fruit determination.
- Another object of the present invention is to provide an apparatus and method for determining a fruit to be harvested based on the maturity level of the fruit in providing a user with a determination of the target fruit.
- Another object of the present invention is to provide an apparatus and method for judging different fruits to be harvested according to harvest time in providing a determination of fruits to be harvested to a user.
- Another object of the present invention is to provide a harvesting apparatus and method for detecting a position of a fruit in a crop image and outputting a ripeness level of a fruit corresponding to the sensed fruit.
- Another object of the present invention is to provide an apparatus and method for determining a harvest target fruit from a crop image and harvesting a harvest target fruit according to a harvest order.
- a method for determining fruit to be harvested includes: receiving, by an artificial neural network, a crop image; outputting, by the artificial neural network, index data related to the maturity level of each fruit included in the crop image; and outputting a harvest target fruit based on the index data.
- the labeling data on the fruit ripeness included in the index data is higher than the first standard, outputting the fruit as the harvest target fruit, and in the second season, the Fruits for which the labeling data on the degree of fruit ripeness included in the index data are higher than the second criterion are output as harvest target fruits, and the first criterion and the second criterion are different from each other.
- a fruit harvesting apparatus includes an image acquisition unit configured to acquire a crop image in a greenhouse; a storage unit for storing the crop image; a control unit for determining a fruit harvest target based on the crop image; and a mechanism unit for harvesting the harvest target fruit.
- the control unit includes an artificial neural network, and the artificial neural network outputs index data related to the degree of ripeness of the fruit for a plurality of fruits included in the crop image, and according to a harvest season based on the index data Judging the fruits to be harvested differently.
- An annotation method for acquiring a learning data set for learning a model for determining the maturity level of a target fruit includes: acquiring at least one image; extracting a feature region for , calculating a first parameter for a first color and a second parameter for a second color based on pixel values included in the feature region; at least the first parameter and the second parameter obtaining labeling data for the characteristic region based on a parameter, wherein the first color means a color related to a ripe state of the target fruit, and the second color is an unripe state of the target fruit means a color related to , wherein the obtaining of the labeling data includes comparing the first parameter with a first reference value and comparing the second parameter with a second reference value, wherein the labeling data includes the first It may include labeling data corresponding to at least one of a class, a second class, and a third class.
- the user may be automatically provided with fruits to be harvested among fruits located in the image.
- the harvest target fruit provided to the user is based on the maturity level, and the ripeness level of the fruit may be calculated based on the image.
- the fruit to be harvested is determined to be different according to the harvesting time of the user, so that the most optimal degree of fruit ripening can be maintained until harvest, distribution, and sale.
- a user may be provided with a harvesting device for harvesting fruits determined to be harvest target fruits in a predetermined order.
- FIG. 1 is a schematic diagram of a greenhouse system according to an embodiment.
- FIG. 2 is a block diagram illustrating a harvesting apparatus according to an embodiment.
- FIG. 3 is a block diagram of a learning process of an artificial neural network according to an embodiment.
- FIG. 4 is a diagram illustrating learning data on a fruit location according to an exemplary embodiment.
- FIG. 5 is a diagram illustrating learning data on fruit ripeness according to an exemplary embodiment.
- FIG. 6 is a diagram illustrating learning data on fruit size according to an exemplary embodiment.
- FIG. 7 is a diagram illustrating learning data on a fault distance according to an exemplary embodiment.
- FIG. 8 is a diagram illustrating learning data on a fault distance according to an exemplary embodiment.
- FIG. 9 is a flowchart illustrating a method of outputting a harvest target fruit and determining a harvest sequence according to an exemplary embodiment.
- FIG. 10 is a diagram illustrating output data output from a controller according to an exemplary embodiment.
- FIG. 11 is a flowchart of a method of determining a harvest target fruit according to a season according to an exemplary embodiment.
- index data related to fruit ripeness according to an exemplary embodiment.
- FIG. 13 is a flowchart of a method of determining a harvest sequence according to an embodiment.
- FIG. 14 is a diagram illustrating learning by a second artificial neural network according to an embodiment.
- 15 is a diagram for acquiring a first image and a second image according to an exemplary embodiment.
- 16 is a view for explaining a method of obtaining a distance to a crop in the harvesting apparatus according to an embodiment.
- 17 is a diagram for explaining a machine learning operation system according to an embodiment.
- 18 is a flowchart illustrating a method of operating an annotation module according to an embodiment.
- 19 is a diagram for describing an annotation module according to an embodiment in more detail.
- 20 is a diagram for explaining a machine learning operation system according to an embodiment.
- 21 is a flowchart illustrating an operating method of a system for determining whether to harvest fruit according to an exemplary embodiment.
- 22 is a flowchart illustrating an operating method of a system for determining whether to harvest fruit according to an exemplary embodiment.
- a method for determining fruit to be harvested includes: receiving, by an artificial neural network, a crop image; outputting, by the artificial neural network, index data related to the maturity level of each fruit included in the crop image; and outputting a harvest target fruit based on the index data.
- the labeling data on the fruit ripeness included in the index data is higher than the first standard, outputting the fruit as the harvest target fruit, and in the second season, the Fruits for which the labeling data on the degree of fruit ripeness included in the index data are higher than the second criterion are output as harvest target fruits, and the first criterion and the second criterion are different from each other.
- the outputting of the harvest target fruit may also output labeling data regarding the location of the harvest target fruit.
- the second criterion may be lower than the first criterion.
- the first criterion is set as a first reference value based on probability
- the second criterion may be set as a second reference value based on the probability
- the first criterion becomes the first standard class according to the degree of ripeness of the fruit
- the The second criterion may be a second reference class according to the ripeness of the fruit, and the second reference class may be lower than the first reference class.
- the artificial neural network is learned through learning data, and the learning data may include fruit location labeling data included in the crop image.
- the learning data may include fruit size labeling data obtained by classifying fruits included in the crop image into a plurality of size categories.
- the learning data may include fruit distance labeling data obtained by classifying fruit distances included in the crop image into a plurality of categories, and the fruit distance may indicate a distance between a camera and the fruit in the crop image.
- the learning data may include fruit row classification labeling data obtained by classifying fruits located in adjacent rows and fruits located in separate rows in the crop image.
- the artificial neural network may output index data for fruit included in the crop image, and the index data may be data including at least one of labeling data related to fruit ripeness, size, distance, and heat classification.
- a fruit harvesting apparatus includes an image acquisition unit configured to acquire a crop image in a greenhouse; a storage unit for storing the crop image; a control unit for determining a fruit harvest target based on the crop image; and a mechanism unit for harvesting the harvest target fruit.
- the control unit includes an artificial neural network, and the artificial neural network outputs index data related to the degree of ripeness of the fruit for a plurality of fruits included in the crop image, and according to a harvest season based on the index data Judging the fruits to be harvested differently.
- the image acquisition unit acquires a first crop image and a second crop image
- the artificial neural network is trained based on the first crop image and the second crop image
- the artificial neural network is an image including crops located in a plurality of rows.
- the first crop image is an image including crops located in the plurality of rows
- the second crop image is the most adjacent crop image among the plurality of rows It may be an image including only crops located in a row.
- the second image may be an image in which crops except for crops in the most adjacent row among the plurality of rows are removed by the blackout device.
- the image acquisition unit may acquire a plurality of crop images by a stereoscopic camera.
- the image acquisition unit may calculate a distance between the fruit and the harvesting device through the distance sensor.
- the index data may be data including at least one of labeling data related to ripening degree, location, distance, and heat classification of the plurality of fruits included in the crop image.
- the control unit may determine a harvest order for the harvest target fruit, and the mechanical unit may harvest the fruit according to the harvest order.
- the controller may determine a harvest order based on the index data.
- the control unit determines the harvest order with reference to the harvest pending fruit, and the harvest pending fruit is the bounding box when the labeling data regarding the location of the fruit included in the index data is implemented as a bounding box. can be judged based on
- An annotation method for acquiring a learning data set for learning a model for determining the maturity level of a target fruit includes: acquiring at least one image; extracting a feature region for , calculating a first parameter for a first color and a second parameter for a second color based on pixel values included in the feature region; at least the first parameter and the second parameter obtaining labeling data for the characteristic region based on a parameter, wherein the first color means a color related to a ripe state of the target fruit, and the second color is an unripe state of the target fruit means a color related to , wherein the obtaining of the labeling data includes comparing the first parameter with a first reference value and comparing the second parameter with a second reference value, wherein the labeling data includes the first It may include labeling data corresponding to at least one of a class, a second class, and a third class.
- the labeling data corresponding to the first class when the first parameter is equal to or greater than the first reference value, the labeling data corresponding to the first class is obtained, and when the second parameter is equal to or greater than the second reference value, the second class If the first parameter is less than the first reference value and the second parameter is less than the second reference value, labeling data corresponding to the third class may be obtained.
- the first class is a class corresponding to the ripe state of the target fruit
- the second class is a class corresponding to the unripe state of the target fruit
- the third class is a class corresponding to the ripening state of the target fruit. It may be a corresponding class.
- the comparing the second parameter with the second reference value comprises: Obtaining the labeling data corresponding to the second class if the second reference value or more, and obtaining the labeling data corresponding to the third class if the second parameter is less than the second reference value.
- the calculating of the first parameter and the second parameter may include obtaining the number of pixels included in a first range among pixels included in the feature region, and pixels included in the feature region. obtaining the number of pixels whose values are included in a second range; calculating the first parameter based on the number of pixels included in the first range among pixels included in the feature area; The method may include calculating the second parameter based on the number of pixels included in the second range among pixels included in the region.
- the first range may be a pixel value range corresponding to the first color
- the second range may be a pixel value range corresponding to the second color
- the first parameter is a pixel value of pixels included in the feature region. It is calculated based on the number of pixels included in the first range and the number of pixels included in the feature region, and the second pixel value among pixels included in the feature region is based on the number of pixels included in the second range.
- the second parameter may be calculated based on the number of pixels included in the second range and the number of pixels included in the feature region, among pixels included in the feature region.
- FIG. 1 is a schematic diagram of a greenhouse system according to an embodiment.
- a greenhouse system 1 may include a greenhouse 2 and a harvesting device 20 .
- the greenhouse 2 may be a space in which crops are grown.
- the greenhouse 2 may be a space in which a system capable of measuring basic information inside the greenhouse, such as humidity and temperature inside the greenhouse for the growth of crops, is built.
- the greenhouse 2 may be a space in which a system capable of controlling the inside of the greenhouse is built based on the measured internal basic information.
- the greenhouse 2 has been described as an example, but the greenhouse 2 may be a smart farm. That is, the greenhouse system 1 according to the embodiment may be applied to a space such as an open field rather than a closed space such as the greenhouse 2 .
- the crop 10 may be a plant capable of growing in the greenhouse 2 .
- the crop 10 may be a plant grown in soil or a plant grown through a nutrient solution.
- the crop 10 may be a tomato, paprika, or the like.
- the crops 10 may be grown by being arranged along rows parallel to each other in the greenhouse 2 . That is, the crop 10 may be classified according to heat and grown in a greenhouse.
- the crop 10 may include a first row crop 11 , a second row crop 12 , and a third row crop 13 .
- the crops 11 in the first row may be disposed and grown in the first row
- the crops 12 in the second row may be disposed and grown in the second row
- the crops 13 in the third row may be disposed and grown in the third row can be
- Crops 10 may be grown at regular intervals in each row.
- the crop 10 may move at regular intervals within the row as it grows.
- the crop 10 may move at regular intervals within a row along the bait line.
- the harvesting device 20 is movable within the greenhouse 2 .
- the harvesting device 20 may move along between rows in which crops are grown.
- the harvesting device 20 may move between the first row crop 11 and the second row crop 12 , and between the second row crop 12 and the third row crop 13 .
- the harvesting device 20 may move through a rail installed between the first row crops 11 and the second row crops 12 and between the second row crops 12 and the third row crops 13, or without rails. It is also possible to move while maintaining a certain distance between crops.
- the harvesting device 20 may move while maintaining a constant speed.
- the harvesting device 20 may acquire an image of a crop including fruits in the greenhouse 2 .
- the harvesting device 20 may acquire a crop image while moving in the greenhouse 2 .
- the harvesting device 20 moves between the first row crops 11 and the second row crops 12 and between the second row crops 12 and the third row crops 13 to obtain crop images including fruits. can do.
- the harvesting device 20 may acquire a crop image while maintaining a constant speed, and may acquire a crop image at a fixed position.
- the harvesting apparatus 20 may acquire fruit information included in the crop image based on the crop image.
- the fruit information may include at least one of location, maturity, size, distance, and heat information of the fruit.
- the harvesting apparatus 20 may determine a harvest target fruit based on the fruit information.
- the harvesting apparatus 20 may determine a harvest target fruit based on ripeness information of the fruit.
- the harvesting apparatus 20 may determine different harvest target fruits for each season based on ripeness information of the fruits.
- the harvesting apparatus 20 may determine a harvest target fruit and determine a harvest order for the harvest target fruit.
- the harvesting device 20 may harvest a harvest target fruit based on a harvest order.
- the harvesting device 20 may receive and store harvested fruits.
- the harvesting device 20 may transport the harvested fruit.
- the harvesting device 20 will be described in detail.
- the greenhouse system 1 may further include a server (not shown).
- the server may acquire at least one piece of information about the greenhouse 2 .
- the server may acquire at least one piece of information among various environmental information about the greenhouse 2 , such as temperature information and humidity information on the greenhouse 2 , but is not limited thereto.
- information such as temperature information and humidity information for the greenhouse 2 may be obtained through a temperature sensor, a humidity sensor, a temperature and humidity sensor located in the greenhouse 2, but is not limited thereto.
- the server may acquire at least one information among various information related to the management of the crop 10 such as water supply data for the crop 10 located in the greenhouse 2 , but not limited
- information such as water supply data for the crop 10 may be obtained through an irrigation sensor located in the greenhouse 2 , but is not limited thereto.
- the server may acquire at least one of various information related to the state of the crop 10, such as an image of the crop 10 located in the greenhouse 2, but is not limited thereto. does not
- the information such as the image of the crop 10 may be acquired through an image acquisition device located in the greenhouse 2 or an image acquisition device located in the harvesting device 20, but is not limited thereto. .
- the server may transmit at least one piece of information about the greenhouse 2 .
- the at least one piece of information may include feedback information on the environment of the greenhouse 2 .
- the server may transmit command information for increasing the humidity of the greenhouse 2, but is not limited thereto.
- the server may transmit a guide message for guiding to increase the humidity of the greenhouse 2, but is not limited thereto.
- the server may transmit command information for lowering the humidity of the greenhouse 2, but is not limited thereto.
- the server may transmit a guide message for guiding to lower the humidity of the greenhouse 2, but is not limited thereto.
- the server may transmit command information for increasing the temperature of the greenhouse 2 , but is not limited thereto.
- the server may transmit a guide message for guiding to increase the temperature of the greenhouse 2 , but is not limited thereto.
- the server may transmit command information for lowering the temperature of the greenhouse 2 , but is not limited thereto.
- the server may transmit a guide message for guiding to lower the temperature of the greenhouse 2, but is not limited thereto.
- the server may transmit the predicted light amount information for the greenhouse 2, but is not limited thereto.
- the server may transmit lighting control command information based on the predicted light amount information for the greenhouse 2 , but is not limited thereto.
- the server may transmit a guide message for guiding lighting adjustment based on the predicted light amount information for the greenhouse 2 , but is not limited thereto.
- the at least one piece of information may include information on management of the crop 10 located in the greenhouse 2 .
- the server may transmit command information for watering the crop 10, but is not limited thereto.
- the server may transmit a guide message for guiding the watering of the crop 10, but is not limited thereto.
- the server may transmit command information for at least one fruit of the crop 10 , but is not limited thereto.
- the server may transmit a guide message for guiding the enemy of at least one fruit of the crop 10 , but is not limited thereto.
- the server may transmit command information for fruiting of at least one fruit of the crop 10 , but is not limited thereto.
- the server may transmit a guide message for guiding the fruiting of at least one fruit of the crop 10 , but is not limited thereto.
- the at least one piece of information may include information related to the reference of the greenhouse system 1 .
- the server may transmit information related to a determination criterion for determining whether at least one fruit of the crop 10 has been fruited, but is not limited thereto.
- the server may transmit information on the version of the maturity classification model for classifying the maturity of at least one fruit of the crop 10 , but is not limited thereto.
- FIG. 2 is a block diagram illustrating a harvesting apparatus according to an embodiment.
- the harvesting apparatus 20 may include an image acquisition unit 100 , a control unit 200 , a mechanism unit 300 , and a storage unit 400 .
- the image acquisition unit 100 may be implemented as at least one or more cameras.
- the image acquisition unit 100 may acquire an image.
- the image acquisition unit 100 may acquire a crop image including fruit.
- the image acquisition unit 100 may acquire a plurality of images.
- the image acquisition unit 100 may transmit the acquired image to the control unit 200 or the storage unit 400 .
- the image acquisition unit 100 may be implemented in a form including a distance sensor.
- the image acquisition unit 100 may calculate a distance to an object included in the acquired image by using a distance sensor.
- the image acquisition unit 100 may transmit the calculated distance to the control unit 200 .
- the control unit 200 may determine information about errors in the image.
- the information on the fruit may be information on the fruit included in the crop image.
- the information on the fruit may include at least one of ripeness, size, location, and distance of the fruit included in the crop image.
- the controller 200 may determine the target fruit to be harvested based on the information on the fruit.
- the controller 200 may determine different fruits to be harvested according to seasons.
- the control unit 200 may determine a harvest order for the harvest target fruit.
- the controller 200 may calculate a distance to an object included in the image.
- the controller 200 may calculate the distance of the fruit included in the image based on the image.
- the controller 200 may include a learned artificial neural network. Artificial neural networks can learn by using images. Artificial neural networks can learn by using images and learning data.
- the training data may include labeling data.
- the labeling data may be data including at least one of ripeness, size, location, and distance of fruits included in the crop image.
- the labeling data may correspond to information on negligence determined by the control unit 200 .
- the control unit 200 may determine a harvest order for harvest target fruits.
- the controller 200 may determine a harvest order based on information on harvest target fruits.
- the control unit 200 may transmit information on the harvest target fruit to the mechanism unit 300 or the storage unit 400 .
- the control unit 200 may transmit information about the harvest sequence to the mechanism unit 300 or the storage unit 400 .
- the mechanism unit 300 may include a harvesting unit 310 and a receiving unit 320 .
- the harvesting unit 310 may harvest fruit.
- the harvester 310 may harvest the harvest target fruit determined by the controller.
- the harvesting unit 310 may harvest fruits according to the fruit harvesting order determined by the controller 200 .
- the harvester 310 may deliver the harvested fruit to the receiver 320 .
- the storage unit 320 may store the harvested fruit.
- the storage unit 320 may store the fruit based on the information on the fruit.
- the information on the fruit may include at least one of ripeness and size of the fruit.
- the storage unit 320 may store the fruits sorted by size.
- the accommodating unit 320 may store fruits having the same degree of ripeness in a classified state based on the degree of ripeness of the fruit.
- the storage unit 400 may store the image acquired by the image acquisition unit 100 .
- the storage unit 400 may store information on the fruits to be harvested determined by the control unit 200 .
- the storage unit 400 may store information about the harvest order determined by the control unit 200 .
- FIG. 3 is a block diagram of a learning process of an artificial neural network according to an embodiment.
- the controller 200 may include an artificial neural network 220a.
- the artificial neural network may include a convolutional layer, a pooling layer, a fully connected layer, and an activating function layer.
- the convolutional layer includes at least one filter, and each of the at least one filter may have a characteristic for a specific shape. For example, in the case of an edge filter to find out the contour of an object, it may have features for a specific shape, such as a line that can cover the image. When an edge filter is applied to an image, feature information corresponding to the edge filter can be obtained. A feature map may be extracted through at least one filter included in the convolutional layer.
- the pooling layer may be structurally located between convolutional layers. Alternatively, after a plurality of convolutional layers are hierarchically located, a pooling layer may be located.
- the pooling layer performs a function of extracting a specific value for a specific region from the feature map extracted through the convolutional layer.
- the pooling layer has several types, and an example may include a Max Pooling layer, a Median Pooling layer, and the like.
- the Fully Connected Layer may perform an image classification function on a feature map extracted through at least one or more convolutional layers and pooling layers. For example, the Fully Connected Layer may classify images through a hidden layer after locating the feature maps in a row.
- the Activation Function layer may be applied to the feature map as an activation function layer.
- the Activation Function layer may perform a function of changing the quantitative value after the Fully Connected Layer into a result regarding whether feature information is included.
- the artificial neural network 220a may learn through the learning data 210 .
- the learning data 210 may be a crop image including fruit.
- the learning data 210 may be a crop image acquired by the image acquisition unit 100 .
- the training data 210 may be a crop image including a crop image and labeling data.
- the labeling data may be data including at least one of a position, maturity, size, distance, and heat classification of a fruit included in the crop image.
- the artificial neural network 220a may receive the training data 210 and output the output data 230 , and may learn by comparing the training data 210 with the output data 230 .
- the output data 230 may be data including a probability value related to the labeling data.
- the artificial neural network 220a may learn by the error backpropagation method.
- the error backpropagation method may be a method of learning by reflecting the error between the training data 210 and the output data 210 back to the node included in the artificial neural network 220a.
- the artificial neural network 220a may learn in a direction that minimizes the error between the training data 210 and the output data 230 .
- the learned artificial neural network can detect an object in the image or classify the type of object.
- the trained artificial neural network can classify objects according to the properties of the objects in the image.
- the trained artificial neural network may receive a crop image including fruit, extract information on fruit from within the crop image, and classify the fruit in the crop image accordingly.
- the information on the fruit may include at least one of information on the location, maturity, size, distance, and heat classification of the fruit included in the crop image.
- the trained artificial neural network may receive a crop image and output fruit information about at least one of a location, maturity, size, distance, and heat classification of a fruit with respect to a fruit included in the crop image.
- FIG. 4 is a diagram illustrating learning data on a fruit location according to an exemplary embodiment.
- the learning data may include a first crop image 310 and a second crop image 320 .
- the second crop image 320 may include learning data on a fruit position.
- the learning data on the location of the fruit may include labeling data on the location of the fruit in the image.
- the learning data may be implemented only as labeling data without the second crop image 320 .
- the learning data may include the first crop image 310 and the first crop image 310 and data that has the same image frame but is implemented only as labeling data without a background image.
- the second crop image 320 implemented in FIG. 4 may be implemented in a form including labeling data. .
- the first crop image 310 and the second crop image 320 may be images acquired through the image acquisition unit 100 .
- the first crop image 310 and the second crop image 320 may be images stored in the storage unit 400 .
- the second crop image 320 may be an image in which the image acquired through the image acquisition unit 100 has been processed by the control unit.
- the first crop image 310 and the second crop image 320 may be images received from an external server.
- the first crop image 310 and the second crop image 320 may include at least one or more fruits. At least one or more fruits may be the same or different from each other in at least one of maturity, size, location, and distance.
- the second crop image 320 may include labeling data regarding the location of the fruit.
- the labeling data regarding the location of the fruit may be data implemented in the form of a bounding box for the area where the fruit is located.
- the bounding box 321 in the second crop image 320 may be displayed at a position corresponding to the fruit. There may be at least one fruit corresponding to the bounding box 321 , but preferably, it may correspond to one fruit.
- the shape of the bounding box 321 may be implemented in a rectangular shape, and may be implemented in a square or rectangular shape.
- the position of the bounding box 321 may correspond to a region in which the fruit corresponding to the bounding box is located in the second crop image 320 .
- the inner area of the bounding box 321 may be larger than the area occupied by the fruit corresponding to the bounding box 321 in the second crop image 320 .
- an area occupied by the bounding box 321 in the second crop image 320 may be larger than an area occupied by fruits in the second crop image 320 .
- the area occupied by the fruit may mean an area occupied by the detected fruit when the fruit is detected using an image segmentation method.
- the bounding box 321 may correspond to a fruit information vector expressing fruit information corresponding to the bounding box 321 in a vector form. More specifically, at least one or more bounding boxes 321 may correspond to a fruit information vector corresponding to each bounding box 321 , and the fruit information vector may include information on the fruit.
- the fruit information vector may be data including at least one or more of a location, maturity, size, distance, and heat classification of a fruit.
- the fruit information vector may be data having the form (X,Y,L,H).
- (X,Y) means a position in the second crop image 320 of the bounding box 321, and (L,H) ) may represent the area of the bounding box.
- L may indicate a length of one horizontal side of the bounding box 321
- H may indicate a length of one vertical side of the bounding box 321 .
- (X, Y) may be location coordinate information of the most central point of the bounding box or location coordinate information of one vertex of the bounding box.
- the area of the bounding box 321 may be obtained through L and H of the fruit information vector, and the area may correspond to the size of the fruit corresponding to the fruit information vector.
- the size of the fruit corresponding to the fruit information vector may be calculated according to the area.
- the artificial neural network When the first crop image 310 and the second crop image 320 are input to the artificial neural network as learning data, the artificial neural network outputs the output data, determines the error between the output data and the learning data, and minimizes the error can be learned with
- FIG. 5 is a diagram illustrating learning data on fruit ripeness according to an exemplary embodiment.
- the learning data may further include labeling data related to fruit ripeness.
- the learning data may include the second crop image 320 and learning data on the position of the fruit.
- the learning data may include learning data on fruit ripeness.
- the learning data on the fruit ripeness level may include fruit ripeness labeling data 330 .
- the fruit ripeness labeling data 330 may be labeled corresponding to each of the at least one fruit in the second crop image 320 . Accordingly, each of at least one or more fruits in the second crop image 320 may be matched with the fruit ripeness labeling data 330 , respectively.
- the fruit ripeness labeling data 330 may be classification data classified into at least one ripeness class with respect to the ripeness of the fruit. For example, when the ripeness of fruit is classified into classes of “ripe” and “unripe”, the fruit ripeness labeling data may correspond to two classes of “ripe” and “unripe”. More specifically, as shown in Table (a), the fruit ripeness labeling data may be implemented as vector-type data of (1,0) when corresponding to "ripe”. Alternatively, when corresponding to "unripe", it may be implemented as (0,1) vector form data. The form in which the fruit ripeness labeling data is implemented is not interpreted as being limited to the above-described example.
- Classifying the ripeness of fruit into classes of "ripe” and “unripe” may be determined according to the color of the fruit corresponding to "ripe” and the fruit corresponding to "unripe”.
- the color of fruit corresponding to "ripe” and the color of fruit corresponding to "unripe” may be one of several colors that the fruit may have after the fruit is ripe.
- the fruit corresponding to "ripe” may correspond to a case in which the time continues longer than the fruit corresponding to "unripe” based on the time when the fruit is ripe. That is, if the fruit corresponding to "ripe” and the fruit corresponding to "unripe” have the same ripening time, the fruit corresponding to "ripe” may be older based on the ripening time.
- the color of the fruit corresponding to "ripe” may correspond to the color that the fruit may have at a time older than the time when the fruit is ripe, and the color of the fruit corresponding to "unripe” is the color at which the fruit is ripe. It can correspond to the color that the fruit can have at a relatively shorter time based on the time when it has been reached.
- the RGB Color Histogram may be used. For example, if the area inside the bounding box in the second crop image 320 is plotted through the RGB color histogram, color information of pixels of the inner area of the bounding box 331 may be extracted.
- the color of the fruit corresponding to “ripe” may be a case in which the number of red color pixels is relatively greater than the number of green color pixels in the inner region of the bounding box 331 .
- the color of the fruit corresponding to “unripe” may be a case in which the number of green color pixels is relatively larger than the number of red color pixels in the inner region of the bounding box 332 .
- the above-described case corresponds to the case where the crop is a tomato, and when the crop grown in the greenhouse is a different crop, the type of color pixels and the relative number of pixels corresponding to “ripe” and “unripe” of the fruit may be different.
- RGB Color Histogram it is also possible to extract only the fruit part from the area inside the bounding box and make a diagram. More specifically, a fruit can be detected using the image segmentation method in the area inside the bounding box, and only the detected fruit area can be plotted through RGB Color Histogram.
- the number of red color pixels and the number of green color pixels in the area where the fruit is detected may be compared to match the ripeness of the fruit.
- the fruit area when using the RGB color histogram, can be extracted by using the point where the color pixel change is abrupt in the area inside the bounding box as the edge.
- the number of red color pixels and the number of green color pixels can be compared for the inner region of the edge to correspond to the ripeness of the fruit.
- Fruit ripeness may be classified into two classes, corresponding to "ripe” or “unripe”, but at least 3 in the form of "first ripeness", “second ripeness” and “third ripeness”. It may be classified into more than one ripeness class.
- the fruit ripening degree is classified into at least three or more various ripening degree classes, the fruit can be variously classified based on the ripening degree.
- fruits having the same degree of maturity can be harvested based on the degree of ripeness, and fruits having the same degree of maturity can be stored after harvesting.
- the ripeness of fruit is classified into three or more classes, it can be harvested and distributed differentially based on the degree of ripeness in consideration of the time required in the distribution process from harvest to supply to the final consumer. Through this, there may be an advantage of maintaining the most optimal state of fruit ripeness when supplying fruit to the final consumer.
- the second crop image 320 may be an image including at least three kinds of fruits, wherein the first fruit corresponds to the first bounding box 331 , and the second fruit corresponds to the second bounding box 332 , , the third fruit may correspond to the third bounding box 333 .
- the first bounding box 331 , the second bounding box 332 , and the third bounding box 333 may be labeling data regarding the fruit location described above in FIG. 4 .
- Fruits corresponding to each bounding box may have different ripening degrees of fruit.
- the first fruit may correspond to the third ripeness level
- the second fruit may correspond to the first ripeness level
- the third fruit may correspond to the second ripeness level.
- the fruit ripeness labeling data 330 may be data classified into “first ripeness”, “second ripeness” and “third ripeness”.
- the fruit ripeness labeling data may be implemented as 0 labeling data when corresponding to the “first ripeness”.
- it may be implemented with labeling data of 1.
- it may be implemented as labeling data of 2.
- the form in which the labeling data of the degree of fruit ripeness is implemented is not interpreted as being limited to the above-described example.
- Classifying the ripeness of fruit into three or more classes may be determined according to the color of the fruit corresponding to each class.
- the color of the fruit corresponding to the "first ripeness”, the color of the fruit corresponding to the "second ripening degree”, and the color of the fruit corresponding to the "third ripening degree” are the colors of the fruit after the fruit is ripe. It can be one of several possible colors.
- the fruit corresponding to the “first degree of maturity” may correspond to a case in which the time is longer based on the time of ripening than the fruit corresponding to the “second degree of maturity”.
- the fruit corresponding to the “third degree of ripeness” may correspond to a case in which the time has continued longer than the fruit corresponding to the “second degree of ripeness” based on the time of ripening. That is, if the fruit corresponding to the "first ripening degree", the fruit corresponding to the "second ripening degree”, and the "fruit corresponding to the third ripening degree” are the same, it corresponds to the "first ripening degree” A fruit that corresponds to the "second ripening degree". It may be an older case based on the time of fruiting in the order of the fruit corresponding to the "third degree of ripeness".
- the color of the fruit corresponding to the "third degree of ripeness” may correspond to the color that the fruit may have at a point in time older than the point at which the fruit was ripened, and the color of the fruit corresponding to the "second degree of ripeness” may correspond to that of the fruit.
- the color may correspond to the color that the fruit may have at a relatively shorter time point compared to the fruit corresponding to the "third degree of ripeness” based on the time when the fruit is ripened.
- the color of the fruit corresponding to the "first ripening degree” may correspond to the color that the fruit may have at a relatively shorter time point compared to the fruit corresponding to the "second ripening degree” based on the fruit ripening time.
- the RGB Color Histogram may be used.
- the area inside the bounding box in the second crop image 320 is plotted through the RGB color histogram, color information of pixels of the inner area of the bounding box 331 may be extracted.
- the color of the fruit corresponding to the “third ripeness” may be a case in which the number of red color pixels is relatively greater than the number of green color pixels in the inner region of the bounding box 331 .
- the color of the fruit corresponding to the “first ripeness” may be a case in which the number of green color pixels is relatively larger than the number of red color pixels in the inner region of the bounding box 332 .
- the number of Red Color pixels in the inner region of the bounding box 333 is less than the number of Red Color pixels in the inner region of the bounding box 321, but It may be more than the number of Red Color pixels in the inner area.
- the above-described case corresponds to the case where the crop is a tomato, and when the crop grown in the greenhouse is a different crop, the type of color pixels and the relative number of pixels corresponding to various ripening degrees of the fruit may be different.
- RGB Color Histogram it is also possible to extract only the fruit part from the area inside the bounding box and make a diagram. More specifically, a fruit can be detected using the image segmentation method in the area inside the bounding box, and only the detected fruit area can be plotted through RGB Color Histogram.
- the number of red color pixels and the number of green color pixels in the area where the fruit is detected may be compared to match the ripeness of the fruit.
- the fruit area when using the RGB color histogram, can be extracted by using the point where the color pixel change is abrupt in the area inside the bounding box as the edge.
- the number of red color pixels and the number of green color pixels can be compared for the inner region of the edge to correspond to the ripeness of the fruit.
- the fruit information vector described above in FIG. 4 may include fruit ripeness labeling data. More specifically, the fruit information vector may include labeling data on the degree of fruit ripeness along with the labeling data on the location of the fruit in FIG. 4 .
- the fruit information vector may be embodied in the form of (labeling data on the location of the fruit, labeling data on the degree of ripeness of the fruit).
- the fruit information vector may have the form (X,Y,L,H, (1,0)) when fruit ripeness is classified as "ripe” or "unripe”.
- the fruit information vector may have the form (X, Y, L, H, 1) when the fruit ripeness is classified into at least three or more classes.
- FIG. 6 is a diagram illustrating learning data on fruit size according to an exemplary embodiment.
- the training data may further include labeling data related to fruit size.
- the learning data may include the second crop image 320 and learning data on the position of the fruit.
- the training data may include training data on fruit size.
- the learning data on the fruit size may include fruit size labeling data 340 .
- the fruit size labeling data 340 may be labeled corresponding to each of the at least one fruit in the second crop image 320 . Accordingly, each of the at least one or more fruits in the second crop image 320 may be matched with the fruit size labeling data 340 , respectively.
- the fruit size labeling data 340 may be classification data classified into at least one size class with respect to the size of the fruit.
- the fruit size labeling data may correspond to two classes of “large size” and “small size”. More specifically, as shown in Table (A), the fruit size labeling data may be implemented as (1,0) vector form data when corresponding to "large size”. Alternatively, in the case of "small size", it may be implemented as (0,1) vector form data.
- the form in which the fruit size labeling data is implemented is not interpreted as being limited to the above-described example.
- the fruit information vector may include fruit size labeling data.
- the fruit information vector may be implemented as (fruit location labeling data, fruit size labeling data).
- the fruit ripeness labeling data described above in FIG. 5 may also be included.
- the fruit information vector may be implemented as (fruit location labeling data, fruit ripeness labeling data, fruit size labeling data).
- the fruit information vector may be implemented as (X,Y,L,H (1,0), (1,0)).
- Classifying the size of the fruit into classes of “large size” and “small size” can be classified according to the area of the area occupied by the fruit corresponding to the “large size” and the fruit corresponding to the “small size” in the image. .
- the area of the area occupied by fruit corresponding to "large size” may be larger than the area occupied by fruit corresponding to "small size”.
- classification may be performed using the fruit location labeling data included in the above-described fruit information vector. More specifically, when the fruit information vector is implemented as (X,Y,L,H), the size of the fruit can be obtained according to the area calculated through L and H. For example, when the first area is larger with respect to the first area and the second area calculated through L and H, the size of the fruit corresponding to the first area becomes “large size” and corresponds to the second area. The size of the fruit to be made can be "small size".
- Fruit size may be classified into two classes corresponding to "large size” or “small size”, but at least three or more sizes in the form of "first size", "second size” and “third size” They can also be classified into classes.
- the second crop image 320 may be an image including at least three kinds of fruits, wherein the first fruit corresponds to the first bounding box 341 , and the second fruit corresponds to the second bounding box 342 , , the third fruit may correspond to the third bounding box 343 .
- the first bounding box 341 , the second bounding box 342 , and the third bounding box 343 may be labeling data regarding the fruit positions described above with reference to FIG. 4 .
- Fruits corresponding to each bounding box may have different fruit sizes.
- the first fruit may correspond to the third size
- the second fruit may correspond to the first size
- the third fruit may correspond to the second size.
- second size refers to the case where the size of the fruit is larger than that of the "first size”. may mean, “third size” may mean a case in which the size of the fruit is larger than that of the "second size”.
- the fruit size labeling data 340 may be data classified into “first size”, “second size” and “third size”.
- the labeling data of 0 may be implemented.
- the labeling data of 1 may be implemented.
- the labeling data of 2 may be implemented with labeling data of 1.
- the fruit size labeling data is implemented is not interpreted as being limited to the above-described example.
- Classifying the size of the fruit into three or more classes may be determined according to the size of the fruit corresponding to each class.
- Classifying the size of fruit into classes of "first size”, “second size”, and “third size” means that the fruit corresponding to the "first size” and the fruit corresponding to the "second size", and the "third size” Fruit corresponding to "size” may be classified according to the area of the area occupied in the image.
- the area occupied by the fruit corresponding to the “third size” may be larger than the area occupied by the fruit corresponding to the “second size”. Also, the area of the area occupied by the fruit corresponding to the "second size” may be larger than the area occupied by the fruit corresponding to the "first size”.
- classification may be performed using the fruit location labeling data included in the above-described fruit information vector. More specifically, when the fruit information vector is implemented as (X,Y,L,H), the size of the fruit can be obtained according to the area calculated through L and H. For example, with respect to the first area, the second area, and the third area calculated through L and H, "third size", “second size”, and "first size” in the order of the largest area can be responded to.
- the fruit information vector described above in FIG. 4 may include fruit size labeling data. More specifically, the fruit information vector may include fruit size labeling data together with the labeling data on the location of the fruit in FIG. 4 .
- the fruit information vector may be implemented in the form of (labeling data on the location of the fruit, labeling data on the size of the fruit).
- the fruit information vector may have the form (X,Y,L,H, 1 ) when fruit sizes are classified into three classes.
- the fruit information vector may also include fruit ripeness labeling data.
- the fruit information vector may be implemented in the form of (labeling data on a fruit location, fruit ripeness labeling data, fruit size labeling data).
- the above-mentioned size of the fruit may mean the size of the fruit in the crop image. This is because the crop image generally includes crops grown in the same heat in a greenhouse. Therefore, it may be possible to calculate the size of the fruit in the crop image and determine it to correspond to the actual size of the fruit.
- FIG. 7 is a diagram illustrating learning data on a fault distance according to an exemplary embodiment.
- the training data may further include labeling data regarding the error distance.
- the learning data may include the second crop image 320 and learning data on the position of the fruit. Furthermore, the learning data may include learning data on a fault distance.
- the fruit distance may mean a depth of a region in the crop image where the fruit is located in the image.
- the fruit distance may be a distance from a point where the fruit is actually located in the image acquisition unit in the harvesting apparatus.
- the learning data on the fruit distance may include fruit distance labeling data 350 .
- the fruit distance labeling data 350 may be labeled corresponding to each of the at least one fruit in the second crop image 320 . Accordingly, each of the at least one or more fruits in the second crop image 320 may be matched with the fruit distance labeling data 350 , respectively.
- the fruit distance labeling data 350 may be classification data classified into at least one distance class with respect to the distance of the fruit.
- the fruit distance labeling data may correspond to two classes of “adjacent distance” and “separation distance”.
- the error distance labeling data may be implemented as (1,0) vector form data corresponding to "adjacent distance”.
- it may be implemented as vector form data of (0,1) when it corresponds to the “separation distance”.
- the form in which the error distance labeling data is implemented is not interpreted as being limited to the above-described example.
- adjacent distance and “separation distance” can be distinguished by comparing the depth of the region where the fruit is located in the crop image. For example, the fruit corresponding to the “separation distance” corresponds to the "adjacent distance” The depth of the region where the fruit is located may be relatively greater than that of the fruit.
- the fruit information vector may include fruit distance labeling data.
- the fruit information vector may be implemented as (fruit location labeling data, fruit distance labeling data).
- fruit maturity labeling data and fruit size labeling data may also be included.
- the fruit information vector may be implemented as (fruit location labeling data, fruit ripeness labeling data, fruit size labeling data, fruit distance labeling data).
- the fruit information vector may be implemented as (X,Y,L,H (1,0), (1,0), (1,0)).
- Classifying the distance of fruit into classes of “adjacent distance” and “separation distance” may be classified according to the area of the area occupied by the fruit corresponding to the “adjacent distance” and the fruit corresponding to the “separation distance” in the image. .
- the area of the area occupied by the fruit corresponding to the "adjacent distance” may be larger than the area occupied by the fruit corresponding to the "separation distance”.
- classification may be performed using the fruit location labeling data included in the above-described fruit information vector. More specifically, when the fruit information vector is implemented as (X,Y,L,H), the distance of the fruit can be obtained according to the area calculated through L and H. For example, when the first area is larger with respect to the first area and the second area calculated through L and H, the distance between fruits corresponding to the first area becomes “adjacent distance” and The distance of the fruit may be the "separation distance".
- Fault distance may be classified into two classes corresponding to "adjacent distance” or “separation distance”, but at least three or more distance classes in the form of "first distance”, "second distance” and “third distance” may be classified as
- the second crop image 320 may be an image including at least three kinds of fruits, wherein the first fruit corresponds to the first bounding box 351 , and the second fruit corresponds to the second bounding box 352 , and , the third fruit may correspond to the third bounding box 353 .
- the first bounding box 351 , the second bounding box 352 , and the third bounding box 353 may be the labeling data regarding the fruit position described above with reference to FIG. 4 .
- Fruits corresponding to each bounding box may have different fruit distances.
- the first fruit may correspond to the third distance
- the second fruit may correspond to the first distance
- the third fruit may correspond to the second distance.
- the "third distance” may mean a case in which the distance between the fruits is shorter than the "second distance”.
- the fruit distance labeling data 350 may be data classified into “first distance”, “second distance” and “third distance”.
- the labeling data of 0 may be implemented.
- the labeling data of 1 may be implemented.
- the labeling data of 2 may be implemented with labeling data of 1.
- the form in which the error distance labeling data is implemented is not interpreted as being limited to the above-described example.
- Classifying the distance of fruit into three or more classes may be determined according to the distance of fruit corresponding to each class.
- Classifying the distance of negligence into classes of "first distance”, “second distance”, and “third distance” means that the negligence corresponding to the "first distance” and the negligence corresponding to the "second distance", the "third distance”
- the fruit corresponding to "distance” may be classified according to the area of the area occupied in the image. This is, since the greenhouse described above in FIG. 1 has a system that can provide a uniform environment, fruits that are grown in the greenhouse can have a relatively uniform state. That is, since the size of the fruit grown in the greenhouse is actually small, the area occupied by the fruit in the crop image may correspond to the distance of the fruit.
- the area of the area occupied by the fruit corresponding to the "third distance” may be larger than the area occupied by the fruit corresponding to the "second distance”. Also, the area of the area occupied by the fruit corresponding to the "second distance” may be larger than the area occupied by the fruit corresponding to the "first distance”.
- classification may be performed using the fruit location labeling data included in the above-described fruit information vector. More specifically, in the case where the fruit information vector is implemented as (X,Y,L,H), the distance of the fruit can be obtained according to the area calculated through L and H. For example, with respect to the first area, the second area, and the third area calculated through L and H, "third distance", “second distance”, and "first distance” in the order of the largest area can be responded to.
- the fruit information vector described above in FIG. 4 may include fruit distance labeling data. More specifically, the fruit information vector may include fruit distance labeling data together with the labeling data on the location of the fruit in FIG. 4 .
- the fruit information vector may be implemented in the form of (labeling data on the location of the fruit, labeling data on the distance of the fruit).
- the error information vector may have the form (X,Y,L,H, 1 ) when the error distance is classified into three classes.
- the fruit information vector may include fruit ripeness labeling data and fruit size labeling data together.
- the fruit information vector may be implemented in the form of (labeling data on a fruit location, fruit ripeness labeling data, fruit size labeling data, and fruit distance labeling data).
- the above-mentioned distance of fruit may utilize separate equipment installed in the harvesting device. More specifically, through a distance sensor installed in the harvesting device, fruit distance labeling data may be generated based on the actual distance. For example, when the harvesting apparatus acquires a crop image, the distance sensor may measure an actual distance to each fruit included in the crop image. The actual distance is transmitted to the controller, and the controller may generate error distance labeling data based on the real distance.
- the controller may generate fruit distance labeling data for fruit corresponding to the above-mentioned "first distance”, “second distance”, and “third distance” according to a value set by the user.
- the value set by the user may be a value set based on the actual distance measured by the distance sensor.
- the distance of the fruit may be calculated based on the occlusion area in the crop image. More specifically, the controller may determine, with respect to the crop image, a occluded area of each fruit included in the crop image.
- the occluded area may mean an area in which fruits are covered by leaves, backgrounds, branches, or other fruits in the crop image.
- the shaded area may be calculated based on the number of pixels for each fruit. That is, the occluded area may calculate the area of the occluded area by counting the number of pixels overlapping one fruit in the crop image.
- the controller may determine the distance of the fruit based on the occlusion area.
- the controller may determine that a fruit having a wider occlusion area is a fruit having a greater distance. For example, the controller may calculate a first covered area for the first fruit and a second covered area for the second fruit. When the first obscuring area is wider than the second obscuring area, it may be determined that the distance of the first fruit is greater than the distance of the second fruit. The controller may generate distance labeling data using this method.
- the controller may determine a relative distance between the plurality of fruits and the photographing unit based on the occlusion area.
- FIG. 8 is a diagram illustrating learning data related to column classification according to an exemplary embodiment.
- the training data may further include labeling data related to fruit column classification.
- the learning data may include the second crop image 320 and learning data on the position of the fruit.
- the training data may include training data on fruit heat.
- the fruit row may mean a row in the crop image in which the fruit is located in the image.
- crops in the greenhouse, crops may be classified and grown according to heat.
- the crop image obtained by the harvesting apparatus may be a crop image including all of the first row crop, the second row crop, and the third row crop.
- the crops growing in the second and third rows need not be determined as the harvest target fruit. This is because, when the harvesting apparatus is adjacent to the first row crop in terms of harvesting efficiency, it is more efficient in terms of harvesting efficiency to determine and harvest only the first row crop as a harvest target fruit.
- the second row crop and the third row crop are judged to be harvestable fruits when the harvesting device is located adjacent to the second row crop and adjacent to the third row crop, respectively. more efficient in
- the harvesting device may not be able to harvest the crops in the second row and the third row, it is preferable not to determine the crops growing in the second row and the third row as harvestable fruits.
- the harvesting apparatus needs to distinguish the rows of fruits included in the crop image from the crop image.
- the learning data on the fruit heat may include fruit heat labeling data 360 .
- the fruit heat labeling data 350 may be labeled corresponding to each of the at least one fruit in the second crop image 320 . Accordingly, each of the at least one or more fruits in the second crop image 320 may be matched with the fruit heat labeling data 360 , respectively.
- the fruit heat labeling data may be implemented for fruit located in a row adjacent to at least one fruit in the second crop image 320 . More specifically, as shown in Table (a), if a fruit is located in an adjacent row, it may be labeled as 1.
- the fruit row labeling data may correspond to two classes of “adjacent rows” and “separate rows”. More specifically, as shown in Table (b), the fruit column labeling data may be implemented as (1,0) vector form data when corresponding to "adjacent column”. Alternatively, it may be implemented as vector-type data of (0,1) when it corresponds to a "spaced column”. The form in which the fruit heat labeling data is implemented is not interpreted as being limited to the above-described example.
- the first bounding box 361 when labeling only adjacent rows in the crop image according to Table (a), the first bounding box 361 may be implemented for the first fruit included in the second crop image 320, The first bounding box and adjacent column labeling data may correspond.
- the first bounding box 361 and the second for the first fruit included in the second crop image 320 when labeling with “adjacent rows” and “separate rows” in the crop image, the first bounding box 361 and the second for the first fruit included in the second crop image 320 .
- a second bounding box 362 for fruit may be implemented, the first bounding box 361 and adjacent column labeling data may correspond, and the second bounding box 362 and spaced column labeling data may correspond have.
- adjacent rows and “separate rows” may be distinguished according to rows in which fruits are located in the crop image.
- the fruit corresponding to the “separation row” is displayed in the second or third row when the harvesting device acquires a crop image from a position adjacent to the first row, looking in the direction of the first, second, and third rows.
- the fruit may be located, and the fruit corresponding to "adjacent row” may be the fruit located in the first row.
- the fruit information vector may include fruit column labeling data.
- the fruit information vector may be implemented as (fruit location labeling data, fruit heat labeling data). or fruit maturity labeling data, fruit size labeling data, and fruit distance labeling data.
- the fruit information vector may be implemented as (fruit location labeling data, fruit ripeness labeling data, fruit size labeling data, fruit distance labeling data, fruit heat labeling data).
- the fruit information vector may be implemented as (X,Y,L,H (1,0), (1,0), (1,0), (1,0), (1,0)).
- Classifying a row of fruits into classes of “adjacent row” and “separate row” may be classified according to the area of a region occupied by fruits corresponding to “adjacent row” and fruits corresponding to “separate row” in an image.
- the area of the area occupied by the fruit corresponding to the "adjacent row” may be larger than the area occupied by the fruit corresponding to the "separate row”.
- classification may be performed using the fruit location labeling data included in the above-described fruit information vector. More specifically, when the fruit information vector is implemented as (X,Y,L,H), the heat of the fruit can be obtained according to the area calculated through L and H. For example, when the first area is larger with respect to the first area and the second area calculated through L and H, the row of fruits corresponding to the first area becomes "adjacent row" and corresponds to the second area. The row of fruit that is torn can be a “separation row”.
- the controller may have a reference value, and may be determined as an “adjacent column” when the first area is greater than the reference value, and determined as a “separate column” when the second area is smaller than the reference value.
- the above-described heat of fruit may be classified based on the resolution of the fruit area included in the crop image. More specifically, the area of fruit corresponding to the "adjacent row" and the area of the fruit corresponding to the "separation row” may have different resolutions in the crop image.
- the controller may calculate a first resolution with respect to the area of the first fruit and a second resolution with respect to the area of the second fruit in the crop image. When the first resolution is higher than the second resolution, the first fruit may be labeled with data corresponding to an adjacent column, and the second fruit may be labeled with data corresponding to a spaced row.
- FIG. 9 is a flowchart illustrating a method of outputting a harvest target fruit and determining a harvest sequence according to an exemplary embodiment.
- the method for the control unit in the harvesting device to output harvest target fruit and determine the harvest sequence includes the step (S101) of the artificial neural network receiving a crop image, and the artificial neural network including index data related to the degree of ripeness of the fruit. outputting the output data (S102), the controller outputting the harvest target fruit based on the index data (S103), and the controller determining the harvesting sequence for the harvest target fruit (S104). .
- the control unit in the harvesting device may include an artificial neural network.
- the artificial neural network may learn through the learning data according to FIGS. 4 to 8 .
- the crop image may be a crop image used as the learning data in FIGS. 4 to 8 , but may preferably be a crop image different from the crop image used as the learning data.
- the crop image may include at least one or more fruits in the image.
- the crop image may be an image acquired by the harvesting device in real time while the harvesting device moves in the greenhouse.
- the controller may output output data including index data related to fruit ripeness.
- the output data may include data on the location of the fruit, and the output data may include index data.
- the index data may include at least one of index data among fruit ripeness, size, distance, and column classification.
- the index data may correspond to the labeling data related to the ripening degree, size, distance, and heat classification of fruits described above in FIGS. 5 to 8 . More specifically, the index data may correspond to the error information vector described above with reference to FIGS. 5 to 8 .
- the controller may determine and output a harvest target fruit based on the index data.
- the fruits to be harvested may be related to the degree of ripeness of the fruits in the index data, and the controller may determine the fruits to be harvested differently depending on the season in which the fruits to be harvested are determined.
- the controller may determine a harvesting sequence for the harvest target fruit.
- the controller may determine the harvest order based on the index data.
- the index data may correspond to the fruit information vector described above with reference to FIGS. 5 to 8 , and the index data may include index data regarding ripeness, size, distance, and heat of fruit.
- the controller may determine the harvest order based on the index data on the size of the index data. For example, the controller may control to first harvest a fruit having a size labeling data of 2, then harvest a fruit having a size labeling data of 1, and finally harvest a fruit having a size labeling data of 0.
- FIG. 10 is a diagram illustrating output data output from a controller according to an exemplary embodiment.
- the artificial neural network 220a may output the output data 120a.
- the output data 120a may include output data 122a and index data 122b regarding a fruit position displayed on a crop image.
- the output data 120a may correspond to the crop image 110 .
- the output data 122a on the location of the fruit may be data in which an area where the fruit is expected to be located for at least one fruit in the crop image 110 is displayed for each fruit.
- the output data 122a regarding the fruit position may be displayed in the form of a bounding box.
- a fruit corresponding to the bounding box may be located in an inner area of the bounding box, and an area occupied by the fruit may be smaller than an inner area of the bounding box.
- the index data 122b may be data including at least one of labeling data regarding ripeness, size, distance, and heat of fruit.
- the index data 122b may correspond to the training data used when the artificial neural network 220a learns.
- the training data may be the training data described above with reference to FIGS. 5 to 8 . That is, when the learning data is implemented in the form of an error information vector, the index data 122b may also be output in the form of an error information vector.
- the index data 122b may include a probability value for each labeling data. More specifically, the index data 122b may include a probability value that a fruit is classified into a class with respect to labeling data regarding ripeness, size, distance, and heat of fruit. For example, the index data 122b may include a probability value that the fruit is ripeness class 1, a probability value that the fruit size class 1 is, a probability value that the distance class of the fruit is 1, and a probability value that is an adjacent column class.
- the index data 122b is (fruit location labeling data, fruit ripeness labeling data, fruit size labeling data, fruit distance labeling data, fruit row classification) labeling data).
- the index data 122b is output as (X,Y,L,H, 1, 1, 1, 1), (X,Y,L,H) is the output data 122a regarding the fruit position ), and (1,1,1,1) indicates that the corresponding fruit has a labeling of 1 among fruit ripeness classes, a class with a labeling of 1 among fruit size classes, and a labeling of 1 among the fruit distance classes. It may mean to have a class whose labeling is set to 1 among the specified class and the fruit column classification class. Also, in this case, the index data 122b may include a probability value corresponding to each class.
- the controller may determine a harvest target fruit based on the index data. For example, the controller may determine the target fruit to be harvested based on the fruit ripeness labeling data, which may be determined differently depending on the season.
- the controller may determine a harvest target fruit according to a season based on the index data.
- FIG. 11 is a flowchart of a method of determining a harvest target fruit according to a season according to an exemplary embodiment.
- the controller may determine a season for harvesting fruit.
- the season may be a period previously input by the user. More specifically, the season may be a time related to a season including spring, summer, autumn, and winter.
- the controller may determine the season according to a period preset by the user.
- the season may include a first season and a second season.
- the first season may be a first period preset by the user
- the second season may be a second period preset by the user.
- the first period and the second period may include a period of at least one month or more, and may be different from each other or may overlap a certain period of time.
- the controller may determine the season based on the average temperature outside the greenhouse.
- the controller may determine the season based on the average daily temperature outside the greenhouse for a certain period of time. For example, when the average daily temperature outside the greenhouse for a certain period is higher than the reference temperature, the controller may determine the first season, and if the daily average temperature is lower than the reference temperature, the controller may determine the second season.
- the reference temperature may be a value preset by a user.
- the reference temperature may be a seasonal daily average temperature value of a region in which the greenhouse is located. For example, the reference temperature may be a daily average temperature in summer or a daily average temperature in winter based on a region in which the greenhouse is located.
- control unit compares the average daily temperature outside the greenhouse with the reference temperature for the first season and, if the difference is within a certain range, determines the first season, and compares the average daily temperature outside the greenhouse with the reference temperature for the second season If the difference is within a certain range, it may be determined as the second season.
- the first season reference temperature may be higher than the second season reference temperature.
- the first season may be summer and the second season may be winter.
- the controller may determine a fruit corresponding to or higher than the first criterion to be harvested fruit, and in the second season, a fruit corresponding to or higher than the second criterion may be determined to be a harvest target fruit.
- the first criterion and the second criterion may be index data related to fruit ripeness output in step S201, which will be described in detail with reference to FIG. 12 .
- index data related to fruit ripeness according to an exemplary embodiment.
- index data 130 output from the controller corresponds to an example of index data output from the controller, and may include fruit ripeness, labeling data, and an output value 140 .
- the index data 130 output from the controller may be index data for one fruit included in the crop image.
- the ripeness of the fruit may be classified into two types: “ripe” and “unripe”.
- the labeling data may correspond to each class of ripeness of the fruit, and the output value 140 may also correspond to each class of ripeness of the fruit.
- the output value 140 may be a result value based on a probability value. More specifically, the output value 140 may mean a probability value that the fruit corresponding to the output value corresponds to the maturity class of each fruit corresponding to the output value. Therefore, as shown in FIG. 12 , the sum of the output value corresponding to “ripe” and the output value corresponding to “unripe” may have a value of 1.00.
- the controller may determine a harvest target fruit according to a season based on an output value of the index data.
- the controller may determine that only fruits corresponding to or higher than the above criteria are fruits to be harvested by different criteria according to seasons. For example, in the case of the first season, the controller may determine that only a fruit having an output value higher than the first reference with respect to a fruit corresponding to “ripe” is the harvest target fruit.
- the controller may determine that only fruits having an output value higher than the second reference value for fruits corresponding to “ripe” are the fruits to be harvested.
- the second criterion may be a lower value than the first criterion.
- the control unit determines only the fruits with a higher probability among the fruits corresponding to “ripe” as the fruits to be harvested, and in the second season, the fruits corresponding to the “ripe” are relatively higher than in the first season. Even a fruit with a low probability can be judged as a harvest target fruit.
- the controller may determine the harvest target fruit based on the index data even when the ripening degree of the fruit is classified into at least three or more classes.
- the controller may output the index data 131 .
- the index data 131 may be output data indicating which class one fruit included in the crop image is classified into among the ripening degrees of the fruit.
- the index data 131 may include ripeness of fruit, labeling data, and output values.
- the index data 131 may include fruit ripeness levels classified into "first ripeness”, “second ripeness”, and “third ripeness", labeling data corresponding to the ripeness, and output values.
- the output value of the index data 131 may be a result value based on a probability value. More specifically, the output value may mean a probability value that a fruit corresponding to the output value corresponds to a maturity class of each fruit corresponding to the output value. Therefore, as illustrated in FIG. 12 , the sum of the output value corresponding to the “first maturity level”, the output value corresponding to the “second maturity level” and the output value corresponding to the “third maturity level” may have a value of 1.00.
- the controller may determine what kind of ripeness the fruit corresponding to the index data 131 has. More specifically, the controller may determine which ripening class the fruit is to be classified according to a preset reference threshold value set by the user.
- the preset reference threshold may be a different value according to a season. More specifically, in the first season, based on the first reference threshold, a maturity class corresponding to an output value greater than the first reference threshold is determined as the class for the fruit, and in the second season, a second reference threshold is determined. Based on the ripeness class corresponding to the output value greater than the second reference threshold value, it may be determined as the class for the fruit.
- the controller may determine only the fruit corresponding to the third ripening degree as the harvest target fruit. Accordingly, the fruit corresponding to the third ripening degree is determined based on a different threshold reference value for each season, and the controller may determine the target fruit to be harvested differently depending on the season.
- the controller may determine different harvest target fruits according to seasons by varying the maturity class according to the season, rather than changing the threshold value set in advance by the user.
- the controller may determine that only fruits corresponding to or higher than the above criteria are fruits to be harvested by different class criteria according to seasons. For example, in the case of the first season, the controller may determine only fruits corresponding to the first reference class or higher class as harvest target fruits. Alternatively, in the second season, the controller may determine only fruits corresponding to the second reference class or higher class as harvest target fruits. For example, in the first season, only fruits corresponding to the “third degree of ripeness” are determined as harvest target fruits, and in the second season, fruits corresponding to the “third degree of maturity” and “second degree of maturity” are selected as harvest targets. may be judged as negligence. In this case, the first reference class may be higher than the second reference class.
- the harvesting apparatus may harvest fruits having different ripening degrees according to harvesting times.
- the controller may provide appropriate fruits to consumers in consideration of the degree of ripening in the distribution process by determining the fruits to be harvested according to different criteria according to seasons. For example, in a season with a high temperature, fruits may ripen more in the distribution process than in a season with a low temperature. Productivity can be improved.
- the harvesting apparatus may harvest the fruits according to the harvesting order with respect to the fruits to be harvested.
- FIG. 13 is a flowchart of a method of determining a harvest sequence according to an embodiment.
- the controller may determine a harvest order for harvest target fruits.
- the method of determining the harvest order may include determining a harvest target fruit ( S301 ), determining a harvest order ( S302 ), and harvesting fruits according to the harvest order ( S303 ).
- the step of the control unit determining the harvest target fruit will be omitted as described above with reference to FIGS. 12 and 13 .
- the controller may determine the harvesting order of the harvest target fruit.
- the harvest order may be determined based on index data included in the output data described above with reference to FIG. 9 .
- the index data may include index data corresponding to fruit size labeling data and fruit distance labeling data, respectively.
- the controller may determine the harvest order based on the fruit size labeling data in the index data. For example, the control unit sets the harvesting sequence so that, with respect to the target fruit, a fruit labeled with a fruit size of 2 is first harvested, a fruit labeled with a fruit size of 1 is harvested, and finally a fruit labeled with a fruit size of 0 is harvested. can judge In addition, the controller may determine the harvesting order so that all fruits labeled with a size of 2 are harvested first, and all fruits labeled with a size of 0 are harvested later.
- the controller may determine the harvest order based on the fruit distance labeling data in the index data. For example, the control unit may determine the harvesting sequence so that, for the target fruit, a fruit labeled with a fruit distance of 2 is first harvested, then a fruit labeled with a fruit distance of 1, and finally a fruit labeled with a fruit distance of 0 is harvested. have.
- the controller may determine the fruit harvest sequence by using an object detection method. More specifically, the harvesting device may measure the actual distance between the harvesting device and the fruit included in the crop by using the above-described distance sensor. Based on the actual distance, the controller may determine the fruit harvesting sequence.
- the controller may determine the harvesting order of harvesting the fruit from the shortest distance based on the measured actual distance.
- the distance between the fruit and the harvesting device during harvest may be a distance calculated by an artificial neural network or may be measured by a separate distance sensor.
- the control unit may determine a harvest order, and determine a harvest pending fruit with respect to the harvest order.
- the harvest pending fruit may be a fruit for which the harvest order must be reserved for a later time when the harvest order is determined based on the size or distance.
- the harvest pending fruit may be a fruit reserved without being harvested according to a harvest standard.
- the control unit determines the harvest order based on the above-described fruit size labeling data, harvesting of fruits labeled as 0 or 1 in the process of harvesting fruits labeled as fruit size 2
- a fruit labeled with a fruit size of 2 can be set as a pending harvest fruit when placed on the device's travel path.
- the harvesting device may be physically difficult to harvest when the fruits are covered with the shortest fruits, leaves of crops, or other fruits.
- the controller may determine the fruit as a harvest pending fruit.
- the fruits are harvested regardless of the size of the fruits, but the controller may control the harvesting unit to classify the fruits according to the size in the receiving unit and separately store the fruits. That is, the control unit harvests the fruits in the order of the shortest distance, but since the information on the size of the fruit is known, the controller can store the fruits by size classification in the storage unit based on the information on the size of the fruit.
- the distance may be an actual distance value measured using the aforementioned distance sensor.
- the controller may determine the harvest pending fruit based on the crop image. More specifically, as described with reference to FIG. 10 , when the artificial neural network included in the control unit receives a crop image and outputs output data regarding the location of the fruit, the harvest pending fruit may be determined based on the output data.
- the controller may calculate information on a region in which the bounding box overlaps another bounding box.
- the information on the overlapping area may be an area of the overlapping area. That is, when the output data is implemented in the form of a bounding box, the bounding box may correspond to the fruit location labeling data of the aforementioned fruit information vector.
- the fruit position labeling data may be implemented as (X,Y,L,H), and through (X,Y) information and (L,H) information, the control unit controls at least one or more bounding boxes to overlap each other with different bounding boxes. In case of loss, the area of the overlapping area can be obtained.
- the controller may determine the fruit corresponding to the area as the harvest pending fruit. That is, fruits having a large area covered by other fruits may be determined to be harvest pending fruits. In this case, in a state in which the controller has a predefined value, the fruit in which the shaded area is larger than the predefined value may be determined as a harvest pending fruit.
- the controller may determine that the harvest pending fruit is harvested or the harvest pending fruit is not harvested.
- the harvesting device may harvest the harvest pending fruit. Also, the harvesting device may separate and store the harvest pending fruit.
- FIG. 14 is a diagram illustrating learning by a second artificial neural network according to an embodiment.
- an example of a learning process of the second artificial neural network 220b may be described as a block diagram.
- the training data for training the artificial neural network may include column labeling data.
- the artificial neural network learned through the learning data may output data regarding the heat of fruit included in the crop image.
- the heat of the fruit included in the crop may be distinguished by using the second artificial neural network.
- the greenhouse may be a space in which the crops in the first row, the crops in the second row, and the crops in the third row are grown separately according to heat.
- the harvesting device moves between heat and heat to determine and harvest the fruits to be harvested.
- the harvesting apparatus intends to harvest the crops in the first row, there may be cases in which the crops in the second row and the third row cannot be physically harvested.
- the crops in the second row and the crop in the third row are fruits to be harvested
- the crop in the first row may be lost due to the harvesting operation of the harvesting device. Accordingly, when the harvesting apparatus determines that the crops in the first row are harvested fruits, the crops in the second and third rows should not be determined as the fruits to be harvested.
- the second artificial neural network may perform the function of the artificial neural network described above with reference to FIG. 3 .
- the second artificial neural network may be implemented as a CNN algorithm, but is not limited thereto.
- the second artificial neural network may output an image including only the crops in the first row.
- the second artificial neural network 220b needs to learn based on the crop image. More specifically, the second artificial neural network 220b receives the first image 920a, the second artificial neural network 220b outputs the third image 920c, and the third image 920c and the second image By comparing 920b, the second artificial neural network 220b can learn through backpropagation of the error.
- the first image 920a and the second image 920b may be images acquired by the image acquisition unit of the harvesting device or images stored in the storage unit within the harvesting device.
- the first image 920a may be an image including all crops in the first row, the second row, and the third row.
- the second image 920b may be a crop image including only the first row crop.
- the first row crop images included in the first image 920a and the second image 920b may be the same.
- the third image 920c may be an image output during the learning process of the second artificial neural network 220b.
- the second artificial neural network receives the first image 920a, only the first row crop is left in the first image 920a, and the second row crop and the third row crop are recognized as noise and removed. It may be an image to be output later.
- the second artificial neural network 220b may learn by comparing the difference between the third image 920c and the second image 920b.
- 15 is a diagram for acquiring a first image and a second image according to an exemplary embodiment.
- the harvesting apparatus 20 may acquire a first image 920a and a second image 920b.
- the image acquisition unit 100 of the harvesting apparatus 20 may acquire a first image 920a and a second image 920b.
- the harvesting device 20 may acquire a first image 920a and a second image 920b while moving at a constant speed on a rail installed in the greenhouse.
- the first image 920a may include a first row crop 11 adjacent to the harvesting device 20 , a second row crop 12 spaced apart from the harvesting device 20 , and a third row crop 13 .
- the second image 920b may be an image including only the first row crop 11 adjacent to the harvesting device 20 .
- the first row crop 11 included in the first image 920a and the second image 920b may be the same crop in each image.
- the second image 920b may be an image acquired by the harvesting device 20 after the blackout device 30 is installed in the greenhouse.
- the blackout device 30 may be installed between the crops 11 in the first row and the crops 12 in the second row.
- the blackout device 30 may move at a constant speed along a rail installed between the crops 11 in the first row and the crops 12 in the second row.
- the blackout device 30 may function to cover the second row crop 12 and the third row crop 13 when the harvesting device 20 acquires the second image 920b.
- the blackout device 30 may move in the greenhouse in synchronization with the harvesting device 20 .
- the synchronized state may mean that the blackout device 30 and the harvesting device 20 move in the greenhouse while maintaining a certain distance at the same speed.
- the blackout device 30 corresponds to an embodiment, and when the harvesting device 20 acquires an image in the greenhouse, the first row crop 11 , the second row crop 12 , and the third row crop 13 . ) may be included in any form as long as it is a device that performs the function of covering it.
- the harvesting device 20 may calculate the distance between the crop and the harvesting device 20 by using the stereoscopic camera as well as the technical method of FIGS. 9 and 10 described above. More specifically, the harvesting apparatus may acquire a plurality of crop images including the first image 920a and the second image 920b by using a stereoscopic camera, and use the acquired image with a second artificial neural network. can be used for learning.
- 16 is a view for explaining a method of obtaining a distance to a crop in the harvesting apparatus according to an embodiment.
- the harvesting device 20 may move while maintaining a constant speed in the greenhouse, and may acquire an image of the crop 10 while moving.
- the image acquisition unit 100 in the harvesting device 20 may acquire an image of the crop 10 while moving at a constant speed.
- the crop image may be an image including the fruit 15 .
- the harvesting apparatus 20 may acquire an image of the fruit 15 when it is located in the first area 21 at the first time point. Also, the harvesting apparatus 20 may move to the second area 22 while time elapses from the first time point to the second time point, and may acquire an image including the fruit 15 while moving.
- the second region 22 may be a region overlapping with an imaginary line connecting the center of the image acquisition unit 100 of the harvesting apparatus 20 and the reference point of the fruit 15 .
- the time difference from the first time point to the second time point may be T1.
- L1 that is the distance the harvesting device moves from the first region 21 to the second region 22 may be obtained. That is, L1 may be a distance that the harvesting device 20 moves from the first area 21 to the second area 22 .
- the angle 355 between the image acquisition unit 100 of the harvesting apparatus 20 and the fruit 15 may be obtained. More specifically, the in-between angle 355 is an imaginary line connecting the central point of the image acquisition unit 100 and the fruit 15 by a straight distance and the central point of the image acquisition unit 100 in the front direction of the image acquisition unit 100 . This may be an angle between straight imaginary lines.
- the distance H1 which is the distance between the harvesting device 20 and the fruit 15, may be obtained through the angle 355 and the distance L1. More specifically, H1 can be obtained by using a tangent function (tan function).
- the control unit in the harvesting device 20 may determine the harvesting order by using H1 that is the distance between the harvesting device 20 and the fruit 15 .
- the harvesting sequence may be one of the harvesting sequences described above in FIG. 13 .
- the distance between the crop and the harvesting device may be calculated by using an additional device such as a distance sensor.
- the harvesting device may use a distance sensor or a 3D depth camera to directly obtain the actual distance between the harvesting device and the crop without using the above-described method.
- the distance sensor may include any type of device as long as it performs a function of obtaining a distance from an object.
- 17 is a diagram for explaining a machine learning operation system according to an embodiment.
- the machine learning operation system 1000 may include a training data preparation system, a model learning system, an analysis and prediction system using a learning model, a model evaluation system, and the like, but is not limited thereto. does not
- the training data preparation system may be a system for acquiring a training image set 1010 and generating a training data set 1030 using the training image set 1010 .
- the training data preparation system may be a system for generating the training data set 1030 including labeling data for the training image set 1010 .
- the labeling data may mean learning result data for at least one feature included in the training image set 1010 .
- the labeling data may be ripeness data for a characteristic corresponding to a fruit included in the learning image set 1010, but is not limited thereto.
- human judgment may be added to generate the training data set 1030 using the training image set 1010 .
- a person may visually classify at least one feature included in the training image set 1010 to generate labeling data.
- a person can determine whether a feature corresponding to the fruit included in the learning image set 1010 is included in class 1 (ripe), class 2 (ripening), or class 3 (unripe). It can be determined to generate labeling data.
- generating the training data set 1030 using the training image set 1010 entirely using human judgment may increase time and cost consumption, especially the training image set ( 1010), time and cost consumption may further increase as the number of
- the training data preparation system may include an annotation module 1020 for obtaining labeling data or pseudo-labeling data for the training image set 1010. have.
- the pseudo-labeling data may refer to primary labeling data provided to help a person determine or provide a guide for at least one feature included in the training image set 1010, but not limited
- the training data preparation system includes an annotation module 1020 for obtaining labeling data or pseudo-labeling data for the training image set 1010, it is necessary for human judgment It is possible to reduce the loss of time and cost, and it is possible to improve the accuracy of the final analysis or prediction model by presenting clearer judgment criteria in a range that is ambiguous for humans to judge.
- a learning data preparation system including the annotation module 1020 according to an embodiment will be described in more detail below with reference to FIGS. 18 and 19 .
- the model learning system included in the machine learning operation system 1000 may be a system for learning an artificial intelligence model designed using the generated training data set 1030 .
- the designed artificial intelligence model may include, but is not limited to, the maturity level classification model 1040 as shown in FIG. It can include a variety of models.
- the designed artificial intelligence model may include at least one artificial neural network (ANN).
- ANN artificial neural network
- the designed artificial intelligence model may be a feedforward neural network, a radial basis function network, or a kohonen self-organizing network, or a deep neural network (DNN).
- DNN deep neural network
- at least one artificial neural network layer from among various artificial neural network layers such as convolutional neural networks (CNNs), recurrent neural networks (RNNs), long short term memory networks (LSTMs), or gated recurrent units (GRUs). may include, but is not limited thereto.
- CNNs convolutional neural networks
- RNNs recurrent neural networks
- LSTMs long short term memory networks
- GRUs gated recurrent units
- the at least one artificial neural network layer included in the designed artificial intelligence model may use the same or different activation functions.
- the activation function is a sigmoid function (Sigmoid Function), a hyperbolic tangent function (Tanh Fucntion), a relu function (Relu Function, Rectified Linear unit Fucntion), a leaky relu function, It may include, but is not limited to, an ELU function (Exponential Linear unit function), a Softmax function, and the like, and various activation functions (custom activation) for outputting a result value or transmitting the result to another artificial neural network layer. functions) may be included.
- model learning system may use at least one loss function to train the designed artificial intelligence model.
- the at least one loss function may include Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Binary Crossentropy, Categorical Crossentropy, Sparse Categorical Crossentropy, etc., but is not limited thereto, and the predicted result value Various functions (including custom loss functions) for calculating the difference between the value and the actual result may be included.
- MSE Mean Squared Error
- RMSE Root Mean Squared Error
- Binary Crossentropy Categorical Crossentropy
- Sparse Categorical Crossentropy Sparse Categorical Crossentropy
- model learning system may use at least one optimizer to learn the designed artificial intelligence model.
- the optimizer may be used to update the relation parameter between the input value and the result value.
- the at least one optimizer may include Gradient descent, Batch Gradient Descent, Stochastic Gradient Descent, Mini-batch Gradient Descent, Momentum, AdaGrad, RMSProp, AdaDelta, Adam, NAG, NAdam, RAdam, AdamW, etc.,
- the present invention is not limited thereto.
- the designed artificial intelligence model may be trained in the model learning system according to an embodiment, and the learned artificial intelligence model may be used in an analysis and prediction system included in the machine learning operation system 1000 .
- the learned artificial intelligence model may include, but is not limited to, the maturity level classification model 1050 as shown in FIG. 17 , and the learned maturity level determination model, the learned maturity level calculation model, Various models such as a learned fruit harvest determination model may be included.
- the analysis and prediction system may be a system that outputs the result data 1070 from the analysis image 1060 obtained using the learned artificial intelligence model.
- the analysis image 1060 may include an image acquired from the image acquisition device, but is not limited thereto, and may include an image for at least one feature extracted from the image acquired from the image acquisition device. .
- the analysis image 1060 may include an image of a fruit extracted from an image of a crop obtained from the image acquisition device, but is not limited thereto.
- the result data 1070 may include classification data for the analysis image 1060 .
- the result data 1070 may include classification data that classifies ripe, ripe, and unripe sounds with respect to the analysis image 1060 , but is not limited thereto.
- the result data 1070 may include classification score data for the analysis image 1060 .
- the result data 1070 may include classification score data such as a ripening score, a ripening score, and an unripe score for the analysis image 1060 , but is not limited thereto.
- the classification score data may mean a probability value included in each class.
- the classification score data may mean a probability value to be included in a ripe class, a probability value to be included in a ripening class, or a probability value to be included in an unripe class, but is not limited thereto.
- the classification score data may be output so that the sum is 1.
- the sum of the probability value to be included in the ripe class, the probability value to be included in the ripening class, and the probability value to be included in the unripe class can be 1, but is not limited thereto. does not
- the result data 1070 may be used in a system for determining whether to harvest fruit or an evaluation system included in the machine learning operation system 1000 .
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit using the result data 1070 output from the analysis and prediction system.
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit based on classification data of the result data 1070 output from the analysis and prediction system.
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit only when the classification data of the result data 1070 output from the analysis and prediction system is ripe.
- the present invention is not limited thereto.
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit based on classification score data of the result data 1070 output from the analysis and prediction system.
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit only when the classification score data of the result data 1070 output from the analysis and prediction system is equal to or greater than a reference value.
- the present invention is not limited thereto.
- the reference value for the classification score data may be changed by various factors.
- the reference value for the classification score data may be changed by season information, demand forecast information, weather forecast information, distribution network-related information, and the like, but is not limited thereto.
- the system for determining whether to harvest fruit may be a system for determining whether to harvest fruit based on the classification data and classification score data of the result data 1070 output from the analysis and prediction system. have.
- the fruit harvest determination system harvests fruit only when the classification data of the result data 1070 output from the analysis and prediction system is ripe, and the classification score data is equal to or greater than a reference value. It may be a system that determines to do so, but is not limited thereto.
- the reference value for the classification score data may be changed by various factors.
- the reference value for the classification score data may be changed by season information, demand forecast information, weather forecast information, distribution network-related information, and the like, but is not limited thereto.
- the evaluation system may be a system for evaluating the result data 1070 .
- the evaluation system may be a system for calculating an evaluation index for the result data 1070 based on the uncertainty calculated based on the result data 1070 , but is not limited thereto. .
- the uncertainty may be calculated based on classification score data for each class included in the result data 1070 .
- the uncertainty may be calculated by the following entropy calculation equation.
- P(xi) may mean classification score data for each class, but is not limited thereto.
- an evaluation index 1090 for the result data 1070 may be calculated based on the uncertainty or entropy described above.
- the evaluation index 1090 may be used in a system for determining whether a fruit is harvested.
- the system for determining whether to harvest fruit may be a system for determining whether or not to harvest fruit using the result data 1070 output from the analysis and prediction system and the evaluation index 1090 output from the evaluation system have.
- the system for determining whether to harvest fruit harvests fruit based on the classification data of the result data 1070 output from the analysis and prediction system and the evaluation index 1090 output from the evaluation system It may be a system for determining whether or not
- the evaluation index 1090 is equal to or greater than a reference value It may be a system for determining whether to harvest fruit, but is not limited thereto.
- the reference value for the evaluation index 1090 may be changed by various factors.
- the reference value for the evaluation index 1090 may be changed by season information, demand quantity forecast information, weather forecast information, distribution network-related information, etc., but is not limited thereto.
- the evaluation index 1090 may be used as an index for acquiring a new set of images for learning.
- the evaluation index 1090 exceeds a reference value, it may mean that the uncertainty value of the result data 1070 output from the analysis and prediction system is high, so that the evaluation index 1090 is When the reference value is exceeded, the analysis image 1060 may be included in a new training image set, but is not limited thereto.
- the machine learning operation system 1000 may generate a new training data set based on the new training image set, and re-learning the designed artificial intelligence model based on the generated new training data set. Or, you can learn more.
- the machine learning operation system 1000 may manage the version of the trained artificial intelligence model by distributing or redistributing a new version of the retrained or additionally trained artificial intelligence model.
- FIG. 18 is a flowchart illustrating a method of operating an annotation module according to an embodiment
- FIG. 19 is a diagram for describing the annotation module according to an embodiment in more detail.
- a method 1100 of operating an annotation module includes a step of acquiring a learning image ( S1110 ), a step of extracting at least one feature region ( S112 ), and at least one The method may include at least one of obtaining at least two parameters for the feature region (S1130) and obtaining labeling data for the at least one feature region based on the at least two parameters (S1140). .
- Acquiring the image for learning ( S1110 ) may include loading the image for learning located in a specific path of the computer, but is not limited thereto.
- the step of obtaining the learning image ( S1110 ) may include loading the learning image stored in a specific server, but is not limited thereto.
- the step of obtaining the learning image ( S1110 ) may include loading the learning image stored in an online drive, etc., but is not limited thereto.
- an algorithm for extracting the feature region a technique such as machine learning, deep learning, or the like may be used, but is not limited thereto.
- the at least two parameters may be parameters related to at least two colors.
- the at least two parameters include a first parameter and a second parameter
- the first parameter may be a parameter related to a first color
- the second parameter may be a parameter related to a second color have.
- the first parameter may be a parameter related to a first color index for ripeness of a target fruit
- the second parameter may be a parameter related to the second color index for the ripeness of the target fruit, but is not limited thereto.
- the first parameter may be a parameter related to the red color for ripeness of the tomato
- the second parameter may be a parameter related to the green color for the unripe tomato
- At least two color ranges may be used to obtain at least two parameters for at least one feature region according to an embodiment ( S1130 ).
- the color range may be expressed as a range of color channel values or a range of pixel values.
- the first parameter has a pixel value (eg, an RGB value) among pixels included in the at least one feature area. It may be calculated based on the number of pixels included in the first color range, and the second parameter is a pixel value (eg, an RGB value) among pixels included in the at least one feature area in the second color range. It may be calculated based on the number of pixels included in , but is not limited thereto.
- the first color range may be a color range related to the ripeness of the target fruit
- the second color range may be a color range related to the ripeness of the target fruit
- the first color range may be a red range for ripeness of tomatoes
- the second color range may be a green range for an unripe tomato, but is not limited thereto. does not
- the at least two parameters are the number of pixels included in the at least one feature region and each color range. It may be calculated based on the number of pixels having included pixel values.
- the first parameter may indicate that the number of pixels included in the at least one feature region and a pixel value (eg, RGB value) among pixels included in the at least one feature region fall within the first color range. It may be calculated based on the number of pixels included, and the second parameter is the number of pixels included in the at least one feature region and a pixel value (for example, RGB value) may be calculated based on the number of pixels included in the second color range, but is not limited thereto.
- a pixel value eg, RGB value
- the three parameters are parameters related to three colors, respectively.
- the at least two parameters include a first parameter, a second parameter, and a third parameter
- the first parameter may be a parameter related to a first color
- the second parameter may be related to a second color. It can be a parameter.
- the first parameter may be a parameter related to a first color index for ripeness of a target fruit
- the second parameter may be a parameter related to a second color index for ripeness of the target fruit
- the third parameter may be a parameter related to a third color index for ripeness of the target fruit, but is not limited thereto.
- the first parameter may be a parameter related to the red index for ripeness of the tomato
- the second parameter may be a parameter related to the green index for the unripe tomato
- the third parameter may be a parameter related to an orange color for ripening of tomatoes, but is not limited thereto.
- the at least two parameters include three parameters in the step of obtaining at least two parameters for at least one feature region according to an embodiment (S1130), three color ranges to obtain the three parameters can be used
- the color range may be expressed as a range of color channel values or a range of pixel values.
- the first parameter is a pixel value (eg, RGB value) may be calculated based on the number of pixels included in the first color range
- the second parameter is a pixel value (eg, RGB value) of pixels included in the at least one feature area. It may be calculated based on the number of pixels included in the second color range
- the third parameter may include a pixel value (eg, RGB value) among pixels included in the at least one feature area in the third color range. It may be calculated based on the number of pixels included in , but is not limited thereto.
- the first color range may be a color range related to the ripeness of the target fruit
- the second color range may be a color range related to the ripeness of the target fruit
- the third color range may be a color range related to the ripening of the target fruit. It may be a color range associated with the medium.
- the first color range may be a red range for ripeness of tomatoes
- the second color range may be a green range for an unripe tomato
- the third color range The color range may be, but is not limited to, the orange range, which is the color for ripening of tomatoes.
- the at least two parameters include three parameters in the step of obtaining at least two parameters for at least one feature region according to an embodiment (S1130)
- the three parameters are the at least one feature It may be calculated based on the number of pixels included in the region and the number of pixels having pixel values included in each color range.
- the first parameter may indicate that the number of pixels included in the at least one feature region and a pixel value (eg, RGB value) among pixels included in the at least one feature region fall within the first color range. It may be calculated based on the number of pixels included, and the second parameter is the number of pixels included in the at least one feature region and a pixel value (for example, RGB value) may be calculated based on the number of pixels included in the second color range, and the third parameter may be the number of pixels included in the at least one feature region and pixels included in the at least one feature region. Among them, a pixel value (eg, an RGB value) may be calculated based on the number of pixels included in the third color range, but is not limited thereto.
- a pixel value eg, an RGB value
- At least two parameters according to an embodiment are not limited to the above-described examples, and may include a variable number of parameters such as 4 or 5 parameters. Also, in this case, the above-described contents may be similarly applied.
- the step (S1140) of obtaining labeling data for the at least one feature region based on at least two parameters will be described based on an embodiment of obtaining labeling data based on two parameters. and this will be described in more detail with reference to FIG. 19 .
- the description is based on an embodiment in which labeling data is obtained based on two parameters
- the content of the present invention is not limited to the embodiment, and as described above, three, four, Contents of obtaining labeling data based on a variable number of parameters, such as five parameters, may also be included, and since it can be sufficiently described based on the contents described below, redundant descriptions will be omitted.
- the step of obtaining labeling data for the at least one feature region based on at least two parameters includes comparing a first parameter with a first reference value and a second parameter with a second Comparing the reference value may be included.
- the step of comparing the first parameter with a first reference value may include labeling the at least one feature region as a first class when the first parameter is equal to or greater than the first reference value. and comparing the second parameter with the second reference value when the first parameter is less than the first reference value, but is not limited thereto.
- the at least one feature region is set to a second class. It may include, but is not limited to, labeling with and labeling with a third class when the second parameter is less than the second reference value.
- the first class may be a class for ripening
- the second class may be a class for unripe
- the third class may be a class for ripening.
- the step of obtaining labeling data for the at least one feature region based on at least two parameters includes comparing one parameter with a first reference value and a second The method may include comparing the two parameters with a second reference value.
- the comparing of the second parameter with a second reference value may include labeling the at least one feature region as a second class when the second parameter is equal to or greater than the second reference value, and the second parameter is
- the method may include, but is not limited to, comparing the first parameter with the first reference value when it is less than the second reference value.
- the comparing of the first parameter with the first reference value may include: labeling the at least one feature region as a first class when the first parameter is equal to or greater than the first reference value; It may include, but is not limited to, labeling as a third class when one parameter is less than the first reference value.
- the step of obtaining the labeling data for the at least one feature region based on at least two parameters is to determine the labeling data based on the reference values for the obtained parameters.
- a decision tree may be used, but is not limited thereto.
- first reference value and the second reference value may be the same, but are not limited thereto, and may be different from each other.
- the criteria for judging fruit ripeness or fruit harvest may be changed according to policy criteria.
- the first reference value may be set lower than a season in which the average temperature is low, but is not limited thereto.
- different training data sets are generated by using annotation modules having different reference values or decision tree structures used in the step of acquiring labeling data for at least one feature region, and different versions of the trained artificial intelligence model It can be a method that can be flexibly dealt with according to the policy judgment on the harvest of fruits.
- 20 is a diagram for explaining a machine learning operation system according to an embodiment.
- the machine learning operation system 1200 may include a training data preparation system, a model learning system, an analysis and prediction system using a learning model, a model evaluation system, and the like, but is not limited thereto. does not
- a system for preparing training data may include a first annotation module 1220 and a second annotation module 1230 .
- first annotation module 1220 and the second annotation module 1230 may be different modules.
- first annotation module 1220 and the second annotation module may be modules having different reference values, but is not limited thereto.
- first annotation module 1220 and the second annotation module may be modules having different decision tree structures, but is not limited thereto.
- the training data preparation system may acquire a first training data set 1240 from a training image set 1210 using the first annotation module 1220, A second training data set 1250 may be obtained from the training image set 1210 using the second annotation module 1230 .
- the training image set 1210 for acquiring the first training data set 1240 and the second training data set 1250 is displayed as the same, but for training for acquiring each training data set
- the image sets may be different from each other.
- the model learning system may generate different versions of trained artificial intelligence models using different training data.
- the model learning system may generate a first version maturity classification model 1270 using the first training data set 1240 , and the second The second version maturity classification model 1280 may be generated using the training data set 1250 , but is not limited thereto.
- first version maturity classification model 1270 and the second version maturity classification model 1280 may be used in the analysis and prediction system at different times.
- first version maturity classification model 1270 may be used in an analysis and prediction system in a first season
- second version maturity classification model 1280 may be used in an analysis and prediction system in a second season may be used, but is not limited thereto.
- the first version maturity classification model 1270 may be used in an analysis and prediction system when the demand forecast information is in the first range
- the second version maturity classification model 1280 is the demand amount When the prediction information is in the second range, it may be used in the analysis and prediction system, but is not limited thereto.
- the first version maturity classification model 1270 may be used in the analysis and prediction system when the temperature is in the first range
- the second version maturity classification model 1280 is the temperature is the first range. It can be used in analysis and prediction systems when the range is 2, but is not limited thereto.
- the first version maturity classification model 1270 may be used in an analysis and prediction system for fruits using a distribution network having a first distribution period
- the second version ripeness classification model ( 1280) may be used in an analysis and prediction system for fruits using a distribution network having a second distribution period, but is not limited thereto.
- 21 is a flowchart illustrating an operating method of a system for determining whether to harvest fruit according to an exemplary embodiment.
- the operating method 1300 of the system for determining whether to harvest fruit includes acquiring at least one of seasonal information, demand forecast information, weather forecast information, and distribution network-related information (S1310); The method may include at least one of setting a fruit harvest determination criterion based on the obtained information ( S1320 ) and determining whether to harvest fruit according to the fruit harvest determination criterion ( S1330 ).
- the step of acquiring at least one of season information, demand forecast information, weather forecast information, and distribution network-related information according to an embodiment ( S1310 ) may be implemented in at least one server, but is not limited thereto.
- step (S1310) of obtaining at least one of season information, demand forecast information, weather forecast information, and distribution network-related information may be obtained from at least one server, but is not limited thereto.
- season information may include classification information for seasons, temperature information for seasons, humidity information for seasons, and the like, but is not limited thereto.
- the weather prediction information may include temperature information, humidity information, weather information, and the like, but is not limited thereto.
- distribution network-related information may include distribution period information, distribution network length information, distribution time information, and the like, but is not limited thereto.
- step ( S1320 ) of setting the fruit harvest standard based on the obtained information may be implemented in at least one server, but is not limited thereto.
- the step of setting the fruit harvest standard ( S1320 ) based on the obtained information according to an embodiment may be implemented in the harvesting apparatus according to the embodiment, but is not limited thereto.
- the fruit harvest determination criterion includes a reference value for the above-described result data, a reference value for the above-described evaluation index, and the like. may be included, but is not limited thereto.
- step ( S1330 ) of determining whether to harvest fruit according to the fruit harvest determination criterion may be implemented in at least one server, but is not limited thereto.
- step ( S1330 ) of determining whether to harvest fruit according to the fruit harvest determination criterion according to an exemplary embodiment may be implemented in the harvesting apparatus according to the exemplary embodiment, but is not limited thereto.
- 22 is a flowchart illustrating an operating method of a system for determining whether to harvest fruit according to an exemplary embodiment.
- the operating method 1400 of the system for determining whether to harvest fruit includes the steps of acquiring at least one of seasonal information, demand forecast information, weather forecast information, and distribution network-related information (S1410); Determining the version of the maturity classification model based on the obtained information (S1420), obtaining result data for the analysis image using the maturity classification model corresponding to the determined version (S1430), and the obtained result data It may include at least one of the step (S1440) of determining whether to harvest the fruit based on the.
- step (S1410) of acquiring at least one of seasonal information, demand forecast information, weather forecast information, and distribution network-related information since the above-described contents may be applied to the step (S1410) of acquiring at least one of seasonal information, demand forecast information, weather forecast information, and distribution network-related information according to an embodiment, the overlapping description will be omitted. .
- step of determining the version of the maturity classification model based on the obtained information according to an embodiment may be implemented in at least one server, but is not limited thereto.
- step of determining the version of the maturity classification model based on the obtained information according to an embodiment may be implemented in the harvesting apparatus according to an embodiment, but is not limited thereto.
- the above-mentioned contents may be applied to the version of the maturity classification model, and thus the overlapping description will be omitted.
- the step of determining the version of the maturity classification model based on the obtained information ( S1420 ) may include determining the version of the maturity level classification model based on the season information.
- the maturity classification model is determined as the first version maturity classification model, and the obtained season information is information about the second season.
- the maturity classification model may be determined as the second version maturity classification model, but is not limited thereto.
- the step of determining the version of the maturity classification model based on the obtained information ( S1420 ) may include determining the version of the maturity level classification model based on the demand forecast information.
- the maturity classification model when the obtained demand forecast information is in the first range, the maturity classification model is determined as the first version maturity classification model, and when the obtained demand forecast information is in the second range, the maturity level classification model is determined.
- the model may be determined as the second version maturity classification model, but is not limited thereto.
- the step of determining the version of the maturity classification model based on the obtained information ( S1420 ) may include determining the version of the maturity classification model based on weather prediction information.
- the maturity level classification model is determined as the first version maturity level classification model
- the maturity level classification model is determined.
- the classification model may be determined as the second version maturity classification model, but is not limited thereto.
- the step of determining the version of the maturity classification model based on the obtained information ( S1420 ) may include determining the version of the maturity classification model based on the distribution network-related information.
- the maturity classification model is determined as the first version maturity classification model, and when the obtained temperature is in the second range
- the maturity classification model may be determined as the second version maturity classification model, but is not limited thereto.
- step ( S1430 ) of obtaining result data for the analysis image using the maturity classification model corresponding to the determined version may be implemented in at least one server, but is not limited thereto.
- step ( S1430 ) of obtaining result data for the analysis image using the maturity classification model corresponding to the determined version may be implemented in the harvesting apparatus according to an embodiment, but is not limited thereto.
- step (S1430) of obtaining the result data for the analysis image using the maturity classification model corresponding to the determined version the contents of the above-described analysis and prediction system may be applied, so the redundant description will be omitted.
- the step of determining whether to harvest fruit based on the obtained result data ( S1440 ) may be implemented in at least one server, but is not limited thereto.
- step ( S1440 ) of determining whether to harvest fruit based on the obtained result data may be implemented in the harvesting apparatus according to an embodiment, but is not limited thereto.
- step ( S1440 ) of determining whether to harvest fruit based on the obtained result data the above-described information on the system for determining whether or not to harvest fruit may be applied, and thus the redundant description will be omitted.
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Environmental Sciences (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Investigating Or Analysing Materials By Optical Means (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 대상 과실에 대한 숙성도 판단 모델을 학습시키기 위한 학습 데이터 세트를 획득하기 위한 어노테이션(Annotation) 방법으로서, 적어도 하나의 이미지를 획득하는 단계, 상기 적어도 하나의 이미지에 포함되는 상기 대상 과실에 대한 특징 영역을 추출하는 단계, 상기 특징 영역에 포함되는 픽셀 값을 기초로 제1 색에 대한 제1 파라미터 및 제2 색에 대한 제2 파라미터를 산출하는 단계, 적어도 상기 제1 파라미터 및 상기 제2 파라미터를 기초로 상기 특징 영역에 대한 라벨링 데이터를 획득하는 단계를 포함하는 어노테이션 방법에 관한 것이다.
Description
본 발명은 과실 수확 장치 및 방법에 관한 것으로, 보다 상세하게는 학습 데이터를 통해 학습된 인공신경망을 이용하여 수확 대상 과실을 시기에 따라 상이하게 수확하는 장치 및 방법에 관한 것이다.
자동 과실 수확 기술은 사용자가 수확해야 할 과실에 대해 인공지능을 활용하여 자동으로 판단하는 기술이다.
이러한 자동 과실 수확 기술에는 과실의 상태 정보를 기반으로 수확 대상 과실을 자동으로 판단하는 기술이 포함될 수 있고, 이 때 과실의 상태 정보는 이미지를 기반으로 획득하게 된다.
한편, 이러한 과실의 상태 정보에는 농업 종사자의 과실에 대한 수확 여부를 판단하는 방법이 반영될 필요가 있으며, 이러한 방법은 종래 대부분의 농업 종사자의 경험칙에 기초하여 판단하는 방법이었는 바, 한계가 있었다.
본 발명의 일 과제는 사용자에게 수확 대상 과실 판단을 제공함에 있어서, 이미지를 기반으로 인공신경망을 활용하여 자동으로 수확 대상 과실을 판단하는 장치 및 그 방법을 제공함에 있다.
본 발명의 또 다른 과제는 사용자에게 수확 대상 과실 판단을 제공함에 있어서, 과실의 숙성도를 기초로 하여 판단하는 장치 및 그 방법을 제공함에 있다.
본 발명의 또 다른 과제는 사용자에게 수확 대상 과실 판단을 제공함에 있어, 수확 시기에 따라 상이한 수확 대상 과실을 판단하는 장치 및 그 방법을 제공함에 있다.
본 발명의 또 다른 과제는 작물 이미지에서 과실의 위치를 감지하고, 감지된 과실에 대응하는 과실의 숙성도를 출력하는 수확 장치 및 그 방법을 제공함에 있다.
본 발명의 또 다른 일 과제는 작물 이미지에서 수확 대상 과실을 판단하고, 수확 순서에 따라 수확 대상 과실을 수확하는 장치 및 그 방법을 제공함에 있다.
실시 예에 따른 수확 대상 과실 판단 방법은 인공신경망이 작물 이미지를 입력 받는 단계; 상기 인공신경망이 상기 작물 이미지에 포함된 각각의 과실의 숙성도와 관련된 인덱스 데이터를 출력하는 단계; 및 상기 인덱스 데이터를 기초로 수확 대상 과실을 출력하는 단계; 를 포함하고, 상기 수확 대상 과실을 출력하는 단계는 제1 시즌에는 상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 제1 기준보다 높은 과실을 수확 대상 과실로 출력하고, 제2 시즌에는 상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 제2 기준보다 높은 과실을 수확 대상 과실로 출력하며, 상기 제1 기준과 제2 기준은 서로 다르다.
실시 예에 따른 과실 수확 장치는, 온실에서 작물 이미지를 획득하는 이미지 획득부; 상기 작물 이미지를 저장하는 저장부; 상기 작물 이미지를 기초로 과실 수확 대상을 판단하는 제어부; 및 상기 수확 대상 과실을 수확하는 기구부; 를 포함하고, 상기 제어부는 인공신경망을 포함하고, 상기 인공신경망은 상기 작물 이미지에 포함된 복수의 과실에 대해서 상기 과실의 숙성도와 관련된 인덱스 데이터를 출력하고, 상기 인덱스 데이터를 기초로 수확 시즌에 따라 수확 대상 과실을 상이하게 판단한다.
실시 예에 따른 대상 과실에 대한 숙성도 판단 모델을 학습시키기 위한 학습 데이터 세트를 획득하기 위한 어노테이션(Annotation) 방법은 적어도 하나의 이미지를 획득하는 단계, 상기 적어도 하나의 이미지에 포함되는 상기 대상 과실에 대한 특징 영역을 추출하는 단계, 상기 특징 영역에 포함되는 픽셀 값을 기초로 제1 색에 대한 제1 파라미터 및 제2 색에 대한 제2 파라미터를 산출하는 단계, 적어도 상기 제1 파라미터 및 상기 제2 파라미터를 기초로 상기 특징 영역에 대한 라벨링 데이터를 획득하는 단계, 를 포함하되, 상기 제1 색은 상기 대상 과실의 익음 상태와 관련된 색을 의미하며, 상기 제2 색은 상기 대상 과실의 안익음 상태와 관련된 색을 의미하고, 상기 라벨링 데이터를 획득하는 단계는 상기 제1 파라미터와 제1 기준값을 비교하는 단계 및 상기 제2 파라미터와 제2 기준값을 비교하는 단계를 포함하며, 상기 라벨링 데이터는 제1 클래스, 제2 클래스 및 제3 클래스 중 적어도 하나의 클래스에 대응되는 라벨링 데이터를 포함할 수 있다.
본 발명에 의하면, 사용자는 이미지 내에 위치하는 과실 중 수확 대상 과실을 자동으로 제공받을 수 있다.
본 발명에 의하면, 사용자에게 제공하는 수확 대상 과실은 숙성도를 기초로 하며, 과실의 숙성도는 이미지를 기반으로 산출될 수 있다.
본 발명에 의하면, 사용자가 수확하는 시기에 따라, 수확 대상 과실이 상이하게 판단되어, 수확, 유통 및 판매까지 가장 최적의 과실 숙성도를 유지할 수 있다.
본 발명에 의하면 사용자는 수확 대상 과실로 판단된 과실을 일정 순서에 따라 수확하는 수확 장치를 제공받을 수 있다.
도 1은 일 실시 예에 따른 온실 시스템에 대한 개략도이다.
도 2는 일 실시 예에 따른 수확 장치를 나타내는 블록도이다.
도 3은 일 실시 예에 따른 인공신경망의 학습 과정에 관한 블록도이다.
도 4는 일 실시 예에 따른 과실 위치에 관한 학습 데이터를 나타내는 도면이다.
도 5는 일 실시 예에 따른 과실 숙성도에 관한 학습 데이터를 나타내는 도면이다.
도 6은 일 실시 예에 따른 과실 크기에 관한 학습 데이터를 나타내는 도면이다.
도 7은 일 실시 예에 따른 과실 거리에 관한 학습 데이터를 나타내는 도면이다.
도 8은 일 실시 예에 따른 과실 거리에 관한 학습 데이터를 나타내는 도면이다.
도 9는 일 실시 예에 따른 수확 대상 과실을 출력하고, 수확 순서를 판단하는 방법에 관한 순서도이다.
도 10은 일 실시 예에 따른 제어부에서 출력하는 출력 데이터에 관한 도면이다.
도 11는 일 실시 예에 따른 시즌에 따라 수확 대상 과실을 판단하는 방법에 대한 순서도이다.
도 12는 일 실시 예에 따른 과실 숙성도에 관련된 인덱스 데이터이다.
도 13은 일 실시 예에 따른 수확 순서를 판단하는 방법에 관한 순서도이다.
도 14는 일 실시 예에 따른 제2 인공신경망이 학습하는 것을 설명하는 도면이다.
도 15는 일 실시 예에 따른 제1 이미지 및 제2 이미지 획득에 관한 도면이다.
도 16은 일 실시 예에 따른 수확 장치에서 작물까지 거리를 구하는 방법을 설명하는 도면이다.
도 17은 일 실시예에 따른 머신 러닝 동작 시스템(Machine learning Operation System)을 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 어노테이션 모듈의 동작 방법을 나타낸 흐름도이다.
도 19는 일 실시예에 따른 어노테이션 모듈에 대하여 보다 구체적으로 설명하기 위한 도면이다.
도 20은 일 실시예에 따른 머신 러닝 동작 시스템(Machine learning Operation System)을 설명하기 위한 도면이다.
도 21은 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법에 대하여 설명하기 위한 흐름도이다.
도 22는 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법에 대하여 설명하기 위한 흐름도이다.
본 발명의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
도면들에 있어서, 층 및 영역들의 두께는 명확성을 기하기 위하여 과장되어진 것이며, 또한, 구성요소(element) 또는 층이 다른 구성요소 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 구성요소 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 구성요소를 개재한 경우를 모두 포함한다. 명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성 요소는 동일한 참조부호를 사용하여 설명한다.
본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
실시 예에 따른 수확 대상 과실 판단 방법은 인공신경망이 작물 이미지를 입력 받는 단계; 상기 인공신경망이 상기 작물 이미지에 포함된 각각의 과실의 숙성도와 관련된 인덱스 데이터를 출력하는 단계; 및 상기 인덱스 데이터를 기초로 수확 대상 과실을 출력하는 단계; 를 포함하고, 상기 수확 대상 과실을 출력하는 단계는 제1 시즌에는 상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 제1 기준보다 높은 과실을 수확 대상 과실로 출력하고, 제2 시즌에는 상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 제2 기준보다 높은 과실을 수확 대상 과실로 출력하며, 상기 제1 기준과 제2 기준은 서로 다르다.
상기 수확 대상 과실을 출력하는 단계는 상기 수확 대상 과실의 위치에 관한 라벨링 데이터도 함께 출력할 수 있다.
상기 제2 기준은 상기 제1 기준 보다 낮을 수 있다.
상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 상기 과실의 숙성도에 대한 '익음', '안익음' 클래스 데이터인 경우, 상기 제1 기준은 확률에 기초한 제1 기준값으로 설정되고, 제2 기준은 확률에 기초한 제2 기준값으로 설정될 수 있다.
상기 인덱스 데이터가 포함하는 과실 숙성도에 관한 라벨링 데이터가 상기 과실의 숙성도에 따른 적어도 3가지 이상의 클래스 데이터인 경우, 기 제1 기준은 상기 과실의 숙성도에 따른 제1 기준 클래스가 되고, 상기 제2 기준은 상기 과실의 숙성도에 따른 제2 기준 클래스가 되며, 상기 제2 기준 클래스는 상기 제1 기준 클래스보다 낮을 수 있다.
상기 인공신경망은 학습 데이터를 통해 학습되며, 상기 학습 데이터는 상기 작물 이미지가 포함하는 과실 위치 라벨링 데이터를 포함할 수 있다.
상기 학습 데이터는 상기 작물 이미지에 포함된 과실을 복수의 크기 카테고리 분류한 과실 크기 라벨링 데이터를 포함할 수 있다.
상기 학습 데이터는 상기 작물 이미지에 포함된 과실의 거리를 복수의 카테고리로 분류한 과실 거리 라벨링 데이터를 포함하고, 상기 과실의 거리는 상기 작물 이미지에서 카메라와 상기 과실 사이의 거리를 나타낼 수 있다.
상기 학습 데이터는 상기 작물 이미지에서 인접 열에 위치한 과실과 이격 열에 위치한 과실을 분류한 과실 열 구분 라벨링 데이터를 포함할 수 있다.
상기 인공신경망은 상기 작물 이미지에 포함된 과실에 대한 인덱스 데이터를 출력하고, 상기 인덱스 데이터는 과실 숙성도, 크기, 거리, 열 구분에 관한 라벨링 데이터 중 적어도 하나를 포함하는 데이터일 수 있다.
실시 예에 따른 과실 수확 장치는, 온실에서 작물 이미지를 획득하는 이미지 획득부; 상기 작물 이미지를 저장하는 저장부; 상기 작물 이미지를 기초로 과실 수확 대상을 판단하는 제어부; 및 상기 수확 대상 과실을 수확하는 기구부; 를 포함하고, 상기 제어부는 인공신경망을 포함하고, 상기 인공신경망은 상기 작물 이미지에 포함된 복수의 과실에 대해서 상기 과실의 숙성도와 관련된 인덱스 데이터를 출력하고, 상기 인덱스 데이터를 기초로 수확 시즌에 따라 수확 대상 과실을 상이하게 판단한다.
상기 이미지 획득부는 제1 작물 이미지 및 제2 작물 이미지를 획득하고, 상기 인공신경망은 상기 제1 작물 이미지 및 제2 작물 이미지를 기초로 학습되며, 상기 인공신경망은 복수 열에 위치하는 작물을 포함하는 이미지를 입력받아 복수의 열 중 가장 인접한 열에 위치하는 작물만을 포함하는 이미지를 출력하며, 상기 제1 작물 이미지는 복수 열에 위치하는 작물을 포함하는 이미지이고, 상기 제2 작물 이미지는 복수의 열 중 가장 인접한 열에 위치하는 작물만을 포함하는 이미지일 수 있다.
상기 제2 이미지는 암막장치에 의해 복수의 열중 가장 인접한 열의 작물을 제외한 작물은 제거된 이미지일 수 있다.
상기 이미지 획득부는 스트레오스코픽 카메라에 의해 복수의 작물 이미지를 획득할 수 있다.
상기 이미지 획득부는 거리 센서를 통해 과실과 수확 장치 간의 거리를 산출할 수 있다.
상기 인덱스 데이터는 상기 작물 이미지에 포함된 복수의 과실에 대해 상기 과실의 숙성도, 위치, 거리, 열 구분에 관한 라벨링 데이터 중 적어도 하나를 포함하는 데이터일 수 있다.
상기 제어부는 상기 수확 대상 과실에 대한 수확 순서를 판단하고, 상기 기구부는 상기 수확 순서에 따라 과실을 수확할 수 있다.
상기 제어부는 상기 인덱스 데이터에 기초하여 수확 순서를 판단할 수 있다.
상기 제어부는 수확 보류 과실을 참고하여 상기 수확 순서를 판단하고, 상기 수확 보류 과실은 상기 인덱스 데이터가 포함하는 과실의 위치에 관한 라벨링 데이터가 바운딩 박스로 구현된 경우, 상기 바운딩 박스가 겹쳐져 있는지 여부에 기초하여 판단될 수 있다.
실시 예에 따른 대상 과실에 대한 숙성도 판단 모델을 학습시키기 위한 학습 데이터 세트를 획득하기 위한 어노테이션(Annotation) 방법은 적어도 하나의 이미지를 획득하는 단계, 상기 적어도 하나의 이미지에 포함되는 상기 대상 과실에 대한 특징 영역을 추출하는 단계, 상기 특징 영역에 포함되는 픽셀 값을 기초로 제1 색에 대한 제1 파라미터 및 제2 색에 대한 제2 파라미터를 산출하는 단계, 적어도 상기 제1 파라미터 및 상기 제2 파라미터를 기초로 상기 특징 영역에 대한 라벨링 데이터를 획득하는 단계, 를 포함하되, 상기 제1 색은 상기 대상 과실의 익음 상태와 관련된 색을 의미하며, 상기 제2 색은 상기 대상 과실의 안익음 상태와 관련된 색을 의미하고, 상기 라벨링 데이터를 획득하는 단계는 상기 제1 파라미터와 제1 기준값을 비교하는 단계 및 상기 제2 파라미터와 제2 기준값을 비교하는 단계를 포함하며, 상기 라벨링 데이터는 제1 클래스, 제2 클래스 및 제3 클래스 중 적어도 하나의 클래스에 대응되는 라벨링 데이터를 포함할 수 있다.
여기서, 상기 라벨링 데이터를 획득하는 단계에서, 상기 제1 파라미터가 상기 제1 기준값 이상인 경우 상기 제1 클래스에 대응되는 라벨링 데이터를 획득하며, 상기 제2 파라미터가 상기 제2 기준값 이상인 경우 상기 제2 클래스에 대응되는 라벨링 데이터를 획득하고, 상기 제1 파라미터가 상기 제1 기준값 미만이고, 상기 제2 파라미터가 상기 제2 기준값 미만인 경우, 상기 제3 클래스에 대응되는 라벨링 데이터를 획득할 수 있다.
여기서, 상기 제1 클래스는 상기 대상 과실의 익음 상태에 대응되는 클래스이며, 상기 제2 클래스는 상기 대상 과실의 안익음 상태에 대응되는 클래스이고, 상기 제3 클래스는 상기 대상 과실의 익는중 상태에 대응되는 클래스일 수 있다.
여기서, 상기 제1 파라미터와 상기 제1 기준 값을 비교하는 단계는
상기 제1 파라미터가 상기 제1 기준 값 이상인 경우 상기 제1 클래스에 대응되는 라벨링 데이터를 획득하는 단계 및
상기 제1 파라미터가 상기 제1 기준 값 미만인 경우 상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계를 포함하며, 상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계는 상기 제2 파라미터가 상기 제2 기준 값 이상인 경우 상기 제2 클래스에 대응되는 라벨링 데이터를 획득하는 단계 및 상기 제2 파라미터가 상기 제2 기준 값 미만인 경우 상기 제3 클래스에 대응되는 라벨링 데이터를 획득하는 단계 를 포함할 수 있다.
여기서, 상기 제1 파라미터 및 상기 제2 파라미터를 산출하는 단계는 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 획득하는 단계, 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 획득하는 단계, 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 기초로 상기 제1 파라미터를 산출하는 단계 및 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 기초로 상기 제2 파라미터를 산출하는 단계를 포함할 수 있다.
여기서, 상기 제1 범위는 상기 제1 색에 대응되는 픽셀 값 범위이며, 상기 제2 범위는 상기 제2 색에 대응되는 픽셀 값 범위일 수 있다.
여기서, 상기 제1 파라미터 및 상기 제2 파라미터를 산출하는 단계는
상기 특징 영역에 포함되는 픽셀의 개수를 획득하는 단계를 더 포함하며,
상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 기초로 상기 제1 파라미터를 산출하는 단계에서, 상기 제1 파라미터는 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수 및 상기 특징 영역에 포함되는 픽셀의 개수를 기초로 산출되며, 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 기초로 상기 제2 파라미터를 산출하는 단계에서, 상기 제2 파라미터는 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수 및 상기 특징 영역에 포함되는 픽셀의 개수를 기초로 산출될 수 있다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
이하에서는 도면을 참조하여, 온실 시스템을 설명하도록 한다.
도 1은 일 실시 예에 따른 온실 시스템에 대한 개략도이다.
도 1을 참조하면, 일 실시 예에 따른 온실 시스템(1)은 온실(2) 및 수확 장치(20)를 포함할 수 있다.
온실(2)은 작물이 생장하는 공간일 수 있다. 온실(2)은 작물의 생장을 위한 온실 내부 습도 및 온도 등, 온실 내부 기본 정보를 측정할 수 있는 시스템이 구축된 공간일 수 있다. 또한, 온실(2)은 측정된 내부 기본 정보를 바탕으로 온실 내부를 제어할 수 있는 시스템이 구축된 공간일 수 있다.
도면과 상세한 설명에는 온실(2)을 예로 들어 설명하였으나, 상기 온실(2)은 스마트팜일 수 있다. 즉, 실시 예에 따른 온실 시스템(1)은 온실(2)과 같은 폐쇄된 공간이 아니라 노지와 같은 공간에도 적용될 수 있다.
작물(10)은 온실(2)에서 생장할 수 있는 식물일 수 있다. 작물(10)은 토양에서 재배되는 식물이거나 양액을 통해 재배되는 식물일 수 있다. 예를 들어, 작물(10)은 토마토, 파프리카 등이 될 수 있다.
작물(10)은 온실(2)에서 서로 평행하는 열에 따라 배치되어 생장할 수 있다. 즉, 작물(10)은 열에 따라 구분되어 온실에서 생장할 수 있다.
작물(10)은 제1열 작물(11), 제2열 작물(12), 제3열 작물(13)을 포함할 수 있다. 제1열 작물(11)은 제1열에 배치되어 재배될 수 있고, 제2열 작물(12)은 제2열에 배치되어 재배될 수 있으며, 제3열 작물(13)은 제3열에 배치되어 재배될 수 있다.
작물(10)은 각 열에서 일정한 간격을 두고 재배될 수 있다. 작물(10)은 생장함에 따라 열 내에서 일정한 간격에 따라 이동할 수 있다. 작물(10)은 유인선을 따라 열 내에서 일정한 간격에 따라 이동할 수 있다.
수확 장치(20)는 온실(2) 내에서 이동할 수 있다. 수확 장치(20)는 작물이 재배되는 열 사이를 따라 이동할 수 있다. 수확 장치(20)는 제1열 작물(11)과 제2열 작물(12) 사이, 제2열 작물(12)과 제3열 작물(13) 사이를 이동할 수 있다. 수확 장치(20)는 제1열 작물(11)과 제2열 작물(12) 사이, 제2열 작물(12)과 제3열 작물(13) 사이에 설치된 레일을 통해 이동할 수도 있고, 레일 없이 작물 간의 간격을 일정 거리로 유지하며 이동할 수도 있다. 수확 장치(20)는 일정한 속도를 유지하며 이동할 수 있다.
수확 장치(20)는 온실(2) 내에서 과실을 포함하는 작물 이미지를 획득할 수 있다. 수확 장치(20)는 온실(2) 내를 이동하면서, 작물 이미지를 획득할 수 있다. 수확 장치(20)는 제1열 작물(11)과 제2열 작물(12) 사이, 제2열 작물(12)과 제3열 작물(13) 사이를 이동하며 과실을 포함하는 작물 이미지를 획득할 수 있다. 수확 장치(20)는 일정한 속도를 유지하며 작물 이미지를 획득할 수 있으며, 고정된 위치에서 작물 이미지를 획득할 수도 있다.
수확 장치(20)는 작물 이미지에 기초하여 작물 이미지가 포함하는 과실 정보를 획득할 수 있다. 상기 과실 정보는 과실의 위치, 숙성도, 크기, 거리, 열 정보 중 적어도 하나를 포함할 수 있다.
수확 장치(20)는 상기 과실 정보를 기초로 수확 대상 과실을 결정할 수 있다. 수확 장치(20)는 과실의 숙성도 정보를 기초로 수확 대상 과실을 결정할 수 있다. 수확 장치(20)는 과실의 숙성도 정보를 기초로 시즌 별로 상이한 수확 대상 과실을 결정할 수 있다.
수확 장치(20)는 수확 대상 과실을 결정하고, 수확 대상 과실에 대한 수확 순서를 판단할 수 있다. 수확 장치(20)은 수확 순서에 기초하여 수확 대상 과실을 수확할 수 있다.
수확 장치(20)는 수확된 과실을 수납 및 저장할 수 있다. 수확 장치(20)는 수확된 과실을 운반할 수 있다. 이하에서는 수확 장치(20)에 대해서 상세하게 설명하도록 한다.
또한, 상기 온실 시스템(1) 은 서버(미도시)를 더 포함할 수 있다.
이 때, 상기 서버는 상기 온실(2)에 대한 적어도 하나의 정보를 획득할 수 있다.
예를 들어, 상기 서버는 상기 온실(2)에 대한 온도 정보, 습도 정보 등 상기 온실(2) 에 대한 다양한 환경 정보 중 적어도 하나의 정보를 획득할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 온실(2)에 대한 온도 정보, 습도 정보 등의 정보는 상기 온실(2)에 위치하는 온도 센서, 습도 센서, 온습도 센서 등을 통해 획득될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)에 위치하는 상기 작물(10)에 대한 급수 데이터 등 상기 작물(10)의 관리에 관련된 다양한 정보 중 적어도 하나의 정보를 획득할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 작물(10)에 대한 급수 데이터 등의 정보는 상기 온실(2)에 위치하는 관수 센서 등을 통해 획득될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)에 위치하는 상기 작물(10)의 이미지 등 상기 작물(10)의 상태와 관련된 다양한 정보 중 적어도 하나의 정보를 획득할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 작물(10)의 이미지 등의 정보는 상기 온실(2)에 위치하는 이미지 획득 장치 또는 상기 수확 장치(20)에 위치하는 이미지 획득 장치 등을 통해 획득될 수 있으나, 이에 한정되지 않는다.
또한, 상기 서버는 상기 온실(2)에 대한 적어도 하나의 정보를 전송할 수 있다.
이 때, 상기 적어도 하나의 정보는 상기 온실(2)의 환경에 대한 피드백 정보를 포함할 수 있다.
예를 들어, 상기 서버는 상기 온실(2)의 습도를 높이기 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 습도를 높이도록 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 습도를 낮추기 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 습도를 낮추도록 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 온도를 높이기 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 온도를 높이도록 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 온도를 낮추기 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)의 온도를 낮추도록 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)에 대한 예측 광량 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)에 대한 예측 광량 정보를 기초로 조명 조절 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 온실(2)에 대한 예측 광량 정보를 기초로 조명 조절을 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 상기 적어도 하나의 정보는 상기 온실(2)에 위치하는 상기 작물(10)의 관리에 대한 정보를 포함할 수 있다.
예를 들어, 상기 서버는 상기 작물(10)의 급수를 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 급수를 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실의 적과를 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실의 적과를 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실의 착과를 위한 명령 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실의 착과를 가이드 하기 위한 가이드 메시지를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 상기 적어도 하나의 정보는 상기 온실 시스템(1)의 기준과 관련된 정보를 포함할 수 있다.
예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실의 착과 여부를 판단하기 위한 판단 기준과 관련된 정보를 전송할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 서버는 상기 작물(10)의 적어도 하나의 과실에 대한 숙성도를 분류하기 위한 숙성도 분류 모델의 버전에 대한 정보를 전송할 수 있으나, 이에 한정되지 않는다.
도 2는 일 실시 예에 따른 수확 장치를 나타내는 블록도이다.
도 2를 참조하면, 일 실시 예에 따른 수확 장치(20)는 이미지 획득부(100), 제어부(200), 기구부(300), 및 저장부(400)를 포함할 수 있다.
이미지 획득부(100)는 적어도 하나 이상의 카메라로 구현될 수 있다.
이미지 획득부(100)는 이미지를 획득할 수 있다. 이미지 획득부(100)는 과실을 포함하는 작물 이미지를 획득할 수 있다. 이미지 획득부(100)는 다수의 이미지를 획득할 수 있다.
이미지 획득부(100)는 획득된 이미지를 제어부(200) 또는 저장부(400)로 전달할 수 있다.
이미지 획득부(100)는 거리 센서를 포함하는 형태로 구현될 수도 있다. 이미지 획득부(100)는 거리 센서를 활용하여 획득된 이미지에 포함된 오브젝트와의 거리를 산출할 수 있다. 이미지 획득부(100)는 산출된 거리를 제어부(200)로 전달할 수 있다.
제어부(200)는 이미지에서 과실에 대한 정보를 판단할 수 있다. 과실에 대한 정보는 작물 이미지에 포함된 과실에 대한 정보일 수 있다. 과실에 대한 정보는 작물 이미지에 포함된 과실의 숙성도, 크기, 위치, 거리 중 적어도 하나를 포함할 수 있다.
제어부(200)는 과실에 대한 정보를 기초로 수확 대상 과실을 판단할 수 있다. 제어부(200)는 시즌에 따라 수확 대상 과실을 상이하게 판단할 수 있다. 제어부(200)는 수확 대상 과실에 대해 수확 순서를 판단할 수 있다.
제어부(200)는 이미지에 포함된 오브젝트와의 거리를 산출할 수 있다. 제어부(200)는 이미지를 기초로 하여 이미지에 포함된 과실의 거리를 산출할 수 있다.
제어부(200)은 학습된 인공신경망을 포함할 수 있다. 인공신경망은 이미지를 활용하여 학습할 수 있다. 인공신경망은 이미지와 학습 데이터를 활용하여 학습할 수 있다. 학습 데이터는 라벨링 데이터를 포함할 수 있다.
라벨링 데이터는 작물 이미지에 포함된 과실의 숙성도, 크기, 위치, 거리 중 적어도 하나를 포함하는 데이터일 수 있다. 라벨링 데이터는 제어부(200)에서 판단하는 과실에 대한 정보와 서로 대응될 수 있다.
제어부(200)는 수확 대상 과실에 대한 수확 순서를 결정할 수 있다. 제어부(200)는 수확 대상 과실에 대한 정보를 기초로 수확 순서를 결정할 수 있다.
제어부(200)는 수확 대상 과실에 대한 정보를 기구부(300) 또는 저장부(400)로 전달할 수 있다. 제어부(200)는 수확 순서에 관한 정보를 기구부(300) 또는 저장부(400)로 전달할 수 있다.
기구부(300)는 수확부(310)와 수납부(320)를 포함할 수 있다.
수확부(310)는 과실을 수확할 수 있다. 수확부(310)는 제어부에서 판단한 수확 대상 과실을 수확할 수 있다. 수확부(310)는 제어부(200)에서 판단한 과실 수확 순서에 따라 과실을 수확할 수 있다.
수확부(310)는 수확한 과실을 수납부(320)로 전달할 수 있다.
수납부(320)는 수확한 과실을 보관할 수 있다. 수납부(320)는 과실에 대한 정보를 기초로 하여 과실을 보관할 수 있다. 과실에 대한 정보는 과실의 숙성도, 크기 중 적어도 하나를 포함할 수 있다. 예를 들어, 수납부(320)는 과실을 크기 별로 분류된 상태로 보관할 수 있다. 또는 수납부(320)는 과실의 숙성도를 기초로 하여 숙성도가 동일한 과실끼리 분류된 상태로 보관할 수 있다.
저장부(400)는 이미지 획득부(100)에서 획득한 이미지를 저장할 수 있다. 저장부(400)는 제어부(200)에서 판단한 수확 대상 과실에 대한 정보를 저장할 수 있다. 저장부(400)는 제어부(200)에서 결정한 수확 순서에 관한 정보를 저장할 수 있다.
이하에서는 제어부에 포함된 인공신경망에 대해서 상세하게 설명하도록 한다.
도 3은 일 실시 예에 따른 인공신경망의 학습 과정에 관한 블록도이다.
도 3을 참조하면, 제어부(200)는 인공신경망(220a)을 포함할 수 있다.
인공신경망은 Convolutional layer, pooling layer, fully connected layer, activating function layer을 포함할 수 있다.
Convolutional layer는 적어도 하나 이상의 Filter를 포함하고 있으며, 적어도 하나 이상의 Filter는 각각 특정 모양에 대한 특징을 가질 수 있다. 예를 들어, 물체의 윤곽을 알아내기 위한 edge Filter의 경우 이미지를 커버할 수 있는 선과 같은 특정 모양에 대한 특징을 가질 수 있다. edge Filter를 이미지에 적용시키는 경우, edge Filter에 부합하는 특징 정보를 얻을 수 있다. Convolutional layer에 포함된 적어도 하나 이상의 Filter를 통해 특징 맵을 추출할 수 있다.
Pooling layer는 Convolutional layer의 사이 사이에 구조적으로 위치할 수 있다. 또는 복수의 Convolutional layer가 계층적으로 위치한 후, Pooling layer가 위치할 수도 있다. Pooling layer는 Convolutional layer를 통해 추출된 특징 맵에서 특정 영역에 대한 특정 값을 추출하는 기능을 수행한다. Pooling layer는 여러 가지 종류를 가지고 있으며, 일 예로는 Max Pooling layer, Median Pooling layer 등이 있을 수 있다.
Fully Connected Layer는 적어도 하나 이상의 Convolutional Layer와 Pooling Layer를 통해 추출된 특징 맵에 대해서 이미지 분류 기능을 수행할 수 있다. 일 예로 Fully Connected Layer는 특징 맵을 일렬의 형태로 위치한 후 hidden layer를 거쳐 이미지를 분류할 수 있다.
Activation Function layer는 활성화 함수 층으로서 특징 맵에 적용될 수 있다. Activation Function layer는 Fully Connected Layer 이후 정량적 값에 대해, 특징 정보를 포함하고 있는 여부에 관한 결과로 바꿔 주는 기능을 수행할 수 있다.
인공신경망(220a)은 학습 데이터(210)을 통해 학습할 수 있다.
학습 데이터(210)는 과실을 포함하는 작물 이미지일 수 있다. 학습 데이터(210)는 이미지 획득부(100)에서 획득한 작물 이미지일 수 있다. 학습 데이터(210)는 작물 이미지와 라벨링 데이터를 포함하는 작물 이미지일 수 있다. 라벨링 데이터는 작물 이미지에 포함된 과실의 위치, 숙성도, 크기, 거리, 열 구분 중 적어도 하나를 포함하는 데이터일 수 있다.
인공신경망(220a)은 학습 데이터(210)를 입력 받고, 출력 데이터(230)를 출력할 수 있으며, 학습 데이터(210)와 출력 데이터(230)를 비교하여 학습할 수 있다. 일 예에 따르면, 출력 데이터(230)는 학습 데이터(210)가 라벨링 데이터를 포함하는 경우, 라벨링 데이터에 관한 확률값을 포함하는 데이터일 수 있다.
인공신경망(220a)은 오차 역전파 방법으로 학습할 수 있다. 오차 역전파 방법은 학습 데이터(210)와 출력 데이터(210)의 오차를 인공신경망(220a)이 포함하는 노드에 다시 반영하여 학습하는 방법일 수 있다. 인공신경망(220a)은 학습 데이터(210)와 출력 데이터(230)의 오차를 최소화하는 방향으로 학습할 수 있다.
학습된 인공신경망은 이미지가 입력되면 이미지 내의 오브젝트를 감지하거나 오브젝트의 종류를 분류할 수 있다. 학습된 인공신경망은 이미지 내 오브젝트의 속성에 따라 오브젝트를 분류할 수 있다.
학습된 인공신경망은 과실을 포함하는 작물 이미지를 입력 받고, 작물 이미지 내에서 과실에 대한 정보를 추출하고, 이에 따라 작물 이미지 내 과실을 분류할 수 있다. 상기 과실에 대한 정보는 작물 이미지가 포함하는 과실의 위치, 숙성도, 크기, 거리, 열 구분에 관한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 학습된 인공신경망은 작물 이미지를 입력 받고, 작물 이미지가 포함하는 과실에 대해서 과실의 위치, 숙성도, 크기, 거리, 열 구분 중 적어도 하나에 대한 과실 정보를 출력할 수 있다.
이하에서는 인공신경망을 학습하기 위한 학습 데이터에 대해 구체적인 설명을 하도록 한다.
도 4는 일 실시 예에 따른 과실 위치에 관한 학습 데이터를 나타내는 도면이다.
도 4를 참조하면, 학습 데이터는 제1 작물 이미지(310)와 제2 작물 이미지(320)을 포함할 수 있다. 제2 작물 이미지(320)는 과실 위치에 관한 학습 데이터를 포함할 수 있다. 과실 위치에 관한 학습 데이터는 이미지내 과실 위치에 관한 라벨링 데이터를 포함할 수 있다.
또는, 학습 데이터는 제2 작물 이미지(320) 없이 라벨링 데이터로만 구현될 수 있다. 예를 들어, 학습 데이터는 제1 작물 이미지(310)와 제1 작물 이미지(310)와 같은 이미지 프레임을 가지나 배경 이미지 없이 라벨링 데이터로만 구현되어 있는 데이터를 포함할 수도 있다. 이러한 경우, 배경 이미지 없이 라벨링 데이터로만 구현되어 있는 데이터와 제1 작물 이미지(320)를 서로 대응시키면, 도4에서 구현한 제2 작물 이미지(320)가 라벨링 데이터를 포함하는 형태로 구현될 수 있다.
제1 작물 이미지(310)와 제2 작물 이미지(320)는 이미지 획득부(100)를 통해 획득된 이미지일 수 있다. 제1 작물 이미지(310)와 제2 작물 이미지(320)는 저장부(400)에 저장된 이미지일 수 있다. 또한 제2 작물 이미지(320)는 이미지 획득부(100)를 통해 획득된 이미지가 제어부에 의해 가공된 형태를 갖는 이미지일 수 있다. 또는 제1 작물 이미지(310)와 제2 작물 이미지(320)는 외부 서버로부터 전달받은 이미지일 수 있다.
제1 작물 이미지(310)와 제2 작물 이미지(320)는 적어도 하나 이상의 과실을 포함할 수 있다. 적어도 하나 이상의 과실은 숙성도, 크기, 위치, 거리 중 적어도 하나 이상이 서로 같거나 다를 수 있다.
제2 작물 이미지(320)는 과실 위치에 관한 라벨링 데이터를 포함할 수 있다. 과실 위치에 관한 라벨링 데이터는 과실이 위치하는 영역에 대해 바운딩 박스 형태로 구현한 데이터일 수 있다.
제2 작물 이미지(320)에서 과실 위치에 관한 라벨링 데이터가 바운딩 박스로 구현된 경우, 제2 작물 이미지(320) 내에 바운딩 박스(321)는 과실과 대응되는 위치에 표시될 수 있다. 바운딩 박스(321)에 대응되는 과실은 적어도 하나 이상일 수 있으나, 바람직하게는 하나의 과실에 대응될 수 있다.
바운딩 박스(321)의 형태는 사각형 형태로 구현될 수 있으며, 정사각형 또는 직사각형 형태로 구현될 수 있다. 바운딩 박스(321)의 위치는 바운딩 박스에 대응되는 과실이 제2 작물 이미지(320)에서 위치하는 영역에 대응될 수 있다.
바운딩 박스(321) 내부 면적은 제2 작물 이미지(320) 내에서 바운딩 박스(321)에 대응되는 과실이 차지하는 면적보다 클 수 있다. 예를 들어, 바운딩 박스(321)가 제2 작물 이미지(320)에서 차지하는 면적은 제2 작물 이미지(320) 내에서 과실이 차지하는 면적보다 넓을 수 있다. 상기 과실이 차지하는 면적은 이미지를 세그먼테이션(Image segmentation) 방법을 활용하여 과실을 detection 하는 경우, detection 된 과실이 차지하는 면적을 의미할 수 있다.
바운딩 박스(321)는 바운딩 박스(321)에 대응되는 과실의 정보를 벡터 형태로 표현한 과실 정보 백터와 대응될 수 있다. 보다 구체적으로, 적어도 하나 이상의 바운딩 박스(321)는 각각의 바운딩 박스(321)와 대응되는 과실 정보 벡터와 대응될 수 있으며, 과실 정보 벡터는 상기 과실에 대한 정보를 포함할 수 있다.
과실 정보 벡터는 과실의 위치, 숙성도, 크기, 거리, 열 구분 중 적어도 하나 이상의 정보를 포함하는 데이터일 수 있다. 과실 정보 벡터가 과실의 위치에 관한 정보를 포함하는 경우, 과실 정보 벡터는 (X,Y,L,H) 형태를 갖는 데이터일수 있다.
과실 정보 벡터가 (X,Y,L,H)의 벡터 형태를 갖는 경우, (X,Y)는 바운딩 박스(321)의 제2 작물 이미지(320) 내에서 위치를 뜻하고,(L,H)는 바운딩 박스의 면적을 나타낼 수 있다. L은 바운딩 박스(321)의 가로 일 변의 길이가, H는 바운딩 박스(321)의 세로 일 변의 길이를 뜻할 수 있다. 여기서 (X,Y)는 바운딩 박스의 가장 중심점의 위치 좌표 정보이거나 바운딩 박스의 일 꼭짓점의 위치 좌표 정보일 수 있다.
과실 정보 벡터의 L과 H를 통해 바운딩 박스(321)의 면적을 구할 수 있으며, 상기 면적은 과실 정보 벡터에 대응하는 과실의 크기와 대응될 수 있다. 예를 들어, 상기 면적에 따라 상기 과실 정보 벡터에 대응하는 과실의 크기를 산출할 수 있다.
인공신경망에 제1 작물 이미지(310)와 제2 작물 이미지(320)가 학습 데이터로서 입력되면, 인공신경망은 출력 데이터를 출력하고, 출력 데이터와 학습 데이터의 오차를 판단하고, 오차를 최소화하는 방향으로 학습할 수 있다.
이하에서는 도 5을 참조하여, 과실의 숙성도에 관한 학습 데이터를 설명하도록 한다.
도 5는 일 실시 예에 따른 과실 숙성도에 관한 학습 데이터를 나타내는 도면이다.
도 5를 참조하면, 학습 데이터는 과실 숙성도에 관한 라벨링 데이터를 더 포함할 수 있다. 학습 데이터는 도4에서 설명한 바와 같이 제2 작물 이미지(320)와 과실 위치에 관한 학습 데이터를 포함할 수 있다. 나아가, 학습 데이터는 과실 숙성도에 관한 학습 데이터를 포함할 수 있다.
과실 숙성도에 관한 학습 데이터는 과실 숙성도 라벨링 데이터(330)를 포함할 수 있다. 과실 숙성도 라벨링 데이터(330)는 제2 작물 이미지(320) 내에 적어도 하나 이상의 과실에 대해서 과실 각각에 대응되어 라벨링 될 수 있다. 따라서, 제2 작물 이미지(320) 내에 각각의 적어도 하나 이상의 과실들은 각각 과실 숙성도 라벨링 데이터(330)와 매칭될 수 있다.
과실 숙성도 라벨링 데이터(330)는 과실의 숙성도에 관해 적어도 하나 이상의 숙성도 클래스로 분류한 분류 데이터일 수 있다. 예를 들어, 과실의 숙성도를 "익음", "안 익음"의 클래스로 분류하는 경우, 과실 숙성도 라벨링 데이터는 "익음", "안 익음"의 2가지 클래스에 대응될 수 있다. 보다 구체적으로, 표(a)에 도시된 바와 같이, 과실 숙성도 라벨링 데이터는 "익음"에 대응되는 경우 (1,0)의 벡터 형태 데이터로 구현될 수 있다. 또는 "안 익음"에 대응되는 경우 (0,1)의 벡터 형태 데이터로 구현될 수 있다. 과실 숙성도 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
과실의 숙성도를 "익음", "안 익음"의 클래스로 분류하는 것은 "익음"에 대응하는 과실과 "안 익음"에 대응되는 과실의 색상에 따라 결정될 수 있다.
예를 들어, 일반적으로 "익음"에 대응하는 과실의 색상과 "안 익음"에 대응하는 과실의 색상은 과실이 착과된 후 과실이 가질 수 있는 여러 색상 중에 하나일 수 있다.
보다 구체적으로, "익음"에 대응하는 과실은 "안 익음"에 대응하는 과실 보다 과실이 착과된 시점을 기준으로 시간이 더 지속된 경우에 해당할 수 있다. 즉 "익음"에 대응하는 과실과 "안 익음"에 대응하는 과실의 착과된 시점이 동일하다면, "익음"에 대응하는 과실은 착과된 시점을 기준으로 더 오래된 경우일 수 있다.
따라서, "익음"에 대응하는 과실의 색상은 과실이 착과된 시점을 기준으로 더 오래된 시점에 과실이 가질 수 있는 색상과 대응될 수 있고, "안 익음"에 대응하는 과실의 색상은 과실이 착과된 시점을 기준으로 상대적으로 더 짧은 시점에 과실이 가질 수 있는 색상과 대응될 수 있다.
나아가, "익음"에 대응하는 과실의 색상과 "안 익음"에 대응하는 과실의 색상을 분류할 때, RGB Color Histogram을 활용할 수도 있다. 예를 들어, 제2 작물 이미지(320)에서 바운딩 박스 내부 영역을 RGB Color Histogram을 통해 도식화하면, 바운딩 박스(331)의 내부 영역 픽셀들의 칼라 정보를 추출할 수 있다. 이 때, "익음"에 대응하는 과실의 색상은 바운딩 박스(331)의 내부 영역에서 Red Color 픽셀 수가 상대적으로 Green Color 픽셀 수 보다 많은 경우일 수 있다. 또는 "안 익음"에 대응하는 과실의 색상은 바운딩 박스(332)의 내부 영역에서 Green Color 픽셀 수가 상대적으로 Red Color 픽셀 수 보다 상대적으로 많은 경우일 수 있다.
상술한 경우는 작물이 토마토인 경우에 해당하고, 온실에서 생장하는 작물이 다른 작물인 경우에는 과실의 "익음" 및 "안 익음"에 대응하는 Color 픽셀의 종류와 상대적인 픽셀 개수는 다를 수 있다.
또한, RGB Color Histogram을 활용할 때, 바운딩 박스 내부 영역에서 과실 부분만을 추출하여 도식화할 수도 있다. 보다 구체적으로, 바운딩 박스 내부 영역에서 이미지 세그먼테이션 방법을 활용하여 과실을 detecting 하고, detecting 된 과실 영역에 대해서만 RGB Color Histogram 통해 도식화할 수 있다.
이 경우, 과실이 detecting 된 영역에서의 Red Color 픽셀 수와 Green Color 픽셀 수를 비교하여 과실의 숙성도와 대응시킬 수 있다.
또 다른 예에 따르면, RGB Color Histogram을 활용할 때, 바운딩 박스 내부 영역에서 Color 픽셀의 변화가 급격한 지점을 edge로 하여 과실 영역을 추출할 수도 있다. 이 경우, edge의 내부 영역에 대해서 Red Color 픽셀 수와 Green Color 픽셀 수를 비교하여 과실의 숙성도와 대응시킬 수 있다.
과실 숙성도는 "익음" 또는 "안 익음"에 해당하는 2가지 클래스로 분류될 수도 있으나, "제1 숙성도", "제2 숙성도" 및 "제3 숙성도" 쪋 의 형태로 적어도 3가지 이상의 숙성도 클래스로 분류될 수도 있다.
이를 통해, 과실 숙성도를 익음 여부로 분류하는 것에 국한되지 아니하고, 다양한 숙성도 클래스로 분류하여 과실 숙성도를 보다 더 세밀하게 분류할 수 있다.
또한, 과실 숙성도를 적어도 3가지 이상의 다양한 숙성도 클래스로 분류하면 과실을 숙성도에 기초하여 다양하게 분류할 수 있다. 이를 통해 과실을 수확할 때, 숙성도에 기초하여 숙성도가 같은 과실끼리 수확할 수 있으며, 수확 이후 과실을 보관하는 것에 있어서도 같은 숙성도를 가지는 과실끼리 보관할 수 있다. 또한, 과실의 숙성도를 3가지 이상의 클래스로 분류하는 경우 수확 이후 최종 소비자에게 공급하기까지의 유통 프로세스에서 소요되는 시간을 고려하여 숙성도를 기초하여 차등적으로 수확 및 유통할 수 있다. 이를 통해, 최종 소비자에게 과실을 공급할 때 가장 최적의 과실 숙성도 상태를 유지할 수 있는 이점이 있을 수 있다.
도 5를 참조하면, 과실의 숙성도를 적어도 3가지 이상의 클래스로 분류한 학습 데이터의 일 예를 확인할 수 있다. 제2 작물 이미지(320)는 적어도 3가지 이상의 과실을 포함하는 이미지일 수 있으며, 제1 과실은 제1 바운딩 박스(331)에 대응되고, 제2 과실은 제2 바운딩 박스(332)에 대응되며, 제3 과실은 제3 바운딩 박스(333)에 대응될 수 있다.
제1 바운딩 박스(331), 제2 바운딩 박스(332), 및 제3 바운딩 박스(333)는 도 4에서 상술한 과실 위치에 관한 라벨링 데이터일 수 있다. 각 바운딩 박스에 대응되는 과실은 서로 다른 과실의 숙성도를 가질 수 있다. 예를 들어, 제1 과실의 경우 제3 숙성도와 대응되며, 제2 과실의 경우 제1 숙성도와 대응되고, 제3 과실의 경우 제2 숙성도와 대응될 수 있다. 과실의 숙성도를 "제1 숙성도", "제2 숙성도" 및 "제3 숙성도" 쪋 의 형태로 분류하는 경우, "제2 숙성도"는 "제1 숙성도"에 비해 과실의 성숙도가 더 성숙한 것을 의미할 수 있으며, "제3 숙성도"는 "제2 숙성도"에 비해 과실의 성숙도가 더 성숙한 것을 의미할 수 있다.
도 5의 표(b)를 참조하면, 과실 숙성도 라벨링 데이터(330)는 "제1 숙성도", "제2 숙성도" 및 "제3 숙성도"로 분류한 데이터일 수 있다. 과실 숙성도 라벨링 데이터는 "제1 숙성도"에 대응되는 경우 0의 라벨링 데이터로 구현될 수 있다. 나아가 "제2 숙성도"에 대응되는 경우 1의 라벨링 데이터로 구현될 수 있다. "제3 숙성도에 대응하는 경우에는 2의 라벨링 데이터로 구현될 수 있다. 과실 숙성도 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
과실의 숙성도를 3가지 이상의 클래스로 분류하는 것은 각 클래스에 대응되는 과실의 색상에 따라 결정될 수 있다.
예를 들어, "제1 숙성도"에 대응하는 과실의 색상과 "제2 숙성도"에 대응하는 과실의 색상, "제3 숙성도"에 대응하는 과실의 색상은 과실이 착과된 후 과실이 가질 수 있는 여러 색상 중에 하나일 수 있다.
보다 구체적으로, "제1 숙성도"에 대응하는 과실은 "제2 숙성도"에 대응하는 과실 보다 착과된 시점을 기준으로 시간이 더 지속된 경우에 해당할 수 있다. "제3 숙성도"에 대응하는 과실은 "제2 숙성도"에 대응하는 과실 보다 착과된 시점을 기준으로 시간이 더 지속된 경우에 해당할 수 있다. 즉 "제1 숙성도"에 대응하는 과실과 "제2 숙성도"에 대응하는 과실, 및 "제3 숙성도에 대응하는 과실"의 착과된 시점이 동일하다면, "제1 숙성도"에 대응하는 과실, "제2 숙성도"에 대응하는 과실. "제3 숙성도"에 대응하는 과실 순서대로 착과된 시점을 기준으로 더 오래된 경우일 수 있다.
따라서, "제3 숙성도"에 대응하는 과실의 색상은 과실이 착과된 시점을 기준으로 더 오래된 시점에 과실이 가질 수 있는 색상과 대응될 수 있고, "제2 숙성도"에 대응하는 과실의 색상은 과실이 착과된 시점을 기준으로 "제3 숙성도"에 대응하는 과실에 비해 상대적으로 더 짧은 시점에 과실이 가질 수 있는 색상과 대응될 수 있다.
또한, "제1 숙성도"에 대응하는 과실의 색상은 과실이 착과된 시점을 기준으로 "제2 숙성도"에 대응하는 과실에 비해 상대적으로 더 짧은 시점에 과실이 가질 수 있는 색상과 대응될 수 있다.
나아가, "제1 숙성도"에 대응하는 과실의 색상과 "제2 숙성도"에 대응하는 과실의 색상, "제3 숙성도"에 대응하는 색상을 분류할 때, RGB Color Histogram을 활용할 수도 있다. 예를 들어, 제2 작물 이미지(320)에서 바운딩 박스 내부 영역을 RGB Color Histogram을 통해 도식화하면, 바운딩 박스(331)의 내부 영역 픽셀들의 칼라 정보를 추출할 수 있다. 이 때, "제3 숙성도"에 대응하는 과실의 색상은 바운딩 박스(331)의 내부 영역에서 Red Color 픽셀 수가 상대적으로 Green Color 픽셀 수 보다 많은 경우일 수 있다. 또는 "제1 숙성도"에 대응하는 과실의 색상은 바운딩 박스(332)의 내부 영역에서 Green Color 픽셀 수가 상대적으로 Red Color 픽셀 수 보다 상대적으로 많은 경우일 수 있다. 나아가, "제2 숙성도"에 대응하는 과실의 색상은 바운딩 박스(333)의 내부 영역에서 Red Color 픽셀 수가 바운딩 박스(321)의 내부 영역의 Red Color 픽셀 수 보다는 적으나 바운딩 박스(332)의 내부 영역의 Red Color 픽셀 수 보다는 많은 경우일 수 있다.
상술한 경우는 작물이 토마토인 경우에 해당하고, 온실에서 생장하는 작물이 다른 작물인 경우에는 과실의 다양한 숙성도에 대응하는 Color 픽셀의 종류와 상대적인 픽셀 개수는 다를 수 있다.
또한, RGB Color Histogram을 활용할 때, 바운딩 박스 내부 영역에서 과실 부분만을 추출하여 도식화할 수도 있다. 보다 구체적으로, 바운딩 박스 내부 영역에서 이미지 세그먼테이션 방법을 활용하여 과실을 detecting 하고, detecting 된 과실 영역에 대해서만 RGB Color Histogram 통해 도식화할 수 있다.
이 경우, 과실이 detecting 된 영역에서의 Red Color 픽셀 수와 Green Color 픽셀 수를 비교하여 과실의 숙성도와 대응시킬 수 있다.
또 다른 예에 따르면, RGB Color Histogram을 활용할 때, 바운딩 박스 내부 영역에서 Color 픽셀의 변화가 급격한 지점을 edge로 하여 과실 영역을 추출할 수도 있다. 이 경우, edge의 내부 영역에 대해서 Red Color 픽셀 수와 Green Color 픽셀 수를 비교하여 과실의 숙성도와 대응시킬 수 있다.
도 4에서 상술한 과실 정보 벡터는 과실 숙성도 라벨링 데이터를 포함할 수 있다. 보다 구체적으로 상기 과실 정보 벡터는 도4에서 과실 위치에 관한 라벨링 데이터와 함께 과실 숙성도 라벨링 데이터를 포함할 수 있다.
보다 구체적으로, 과실 정보 벡터는 (과실 위치에 관한 라벨링 데이터, 과실 숙성도 라벨링 데이터)의 형태로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 과실 숙성도가 "익음", "안 익음"으로 분류될 때, (X,Y,L,H, (1,0))의 형태를 가질 수 있다. 또는, 과실 정보 벡터는 과실 숙성도가 적어도 3가지 이상의 클래스로 분류될 때, (X,Y,L,H, 1)의 형태를 가질 수 있다.
이하에서는 과실의 크기에 관한 학습 데이터를 설명하도록 한다.
도 6은 일 실시 예에 따른 과실 크기에 관한 학습 데이터를 나타내는 도면이다.
도 6을 참조하면, 학습 데이터는 과실 크기에 관한 라벨링 데이터를 더 포함할 수 있다. 학습 데이터는 도4에서 설명한 바와 같이 제2 작물 이미지(320)와 과실 위치에 관한 학습 데이터를 포함할 수 있다. 나아가, 학습 데이터는 과실 크기에 관한 학습 데이터를 포함할 수 있다.
표(a)를 참조하면, 과실 크기에 관한 학습 데이터는 과실 크기 라벨링 데이터(340)를 포함할 수 있다. 과실 크기 라벨링 데이터(340)는 제2 작물 이미지(320) 내에 적어도 하나 이상의 과실에 대해서 과실 각각에 대응되어 라벨링 될 수 있다. 따라서, 제2 작물 이미지(320) 내에 각각의 적어도 하나 이상의 과실들은 각각 과실 크기 라벨링 데이터(340)와 매칭될 수 있다.
과실 크기 라벨링 데이터(340)는 과실의 크기에 관해 적어도 하나 이상의 크기 클래스로 분류한 분류 데이터일 수 있다. 예를 들어, 과실의 크기를 "큰 크기", "작은 크기"의 클래스로 분류하는 경우, 과실 크기 라벨링 데이터는 "큰 크기", "작은 크기"의 2가지 클래스에 대응될 수 있다. 보다 구체적으로, 표(A)에 도시된 바와 같이, 과실 크기 라벨링 데이터는 "큰 크기"에 대응되는 경우 (1,0)의 벡터 형태 데이터로 구현될 수 있다. 또는 "작은 크기"에 대응되는 경우 (0,1)의 벡터 형태 데이터로 구현될 수 있다. 과실 크기 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
또한, 도 4에서 상술한 바와 같이 과실 정보 벡터는 과실 크기 라벨링 데이터를 포함할 수 있다. 예를 들어, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 크기 라벨링 데이터)로 구현될 수 있다. 또는 도5에서 상술한 과실 숙성도 라벨링 데이터도 포함할 수 있다. 이에 따라 구현된 과실 정보 벡터를 살펴보면, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터)로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 (X,Y,L,H (1,0), (1,0))으로 구현될 수 있다.
과실의 크기를 "큰 크기", "작은 크기"의 클래스로 분류하는 것은 "큰 크기"에 대응하는 과실과 "작은 크기"에 대응되는 과실이 이미지 내에서 차지하는 영역의 면적에 따라 분류될 수 있다.
예를 들어, 일반적으로 "큰 크기"에 대응하는 과실이 차지하는 영역의 면적은 "작은 크기"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다.
또는 상술한 과실 정보 벡터가 포함하는 과실 위치 라벨링 데이터를 활용해서 분류할 수도 있다. 보다 구체적으로 과실 정보 벡터가 (X,Y,L,H)로 구현된 경우에 있어, 과실의 크기는 L과 H를 통해 산출된 면적에 따라 구할 수 있다. 예를 들어, L과 H를 통해 산출된 제1 면적과 제2 면적에 대해서 제1 면적이 더 큰 경우, 제1 면적에 대응하는 과실의 크기는 "큰 크기"가 되고, 제2 면적에 대응하는 과실의 크기는 "작은 크기"가 될 수 있다.
과실 크기는 "큰 크기" 또는 "작은 크기"에 해당하는 2가지 클래스로 분류될 수도 있으나, "제1 크기", "제2 크기" 및 "제3 크기" 쪋 의 형태로 적어도 3가지 이상의 크기 클래스로 분류될 수도 있다.
이를 통해, 과실 크기를 2가지로 분류하는 것에 국한되지 아니하고, 다양한 크기 클래스로 분류하여 과실 크기를 보다 더 세밀하게 분류할 수 있다. 이러한 경우, 과실을 수확할 때 크기가 비슷한 과실끼리 수확할 수 있어, 수확 이후 따로 크기별로 과실을 분류하지 않아도 되는 효과가 있다.
도 6를 참조하면, 과실의 크기를 적어도 3가지 이상의 클래스로 분류한 학습 데이터의 일 예를 확인할 수 있다. 제2 작물 이미지(320)는 적어도 3가지 이상의 과실을 포함하는 이미지일 수 있으며, 제1 과실은 제1 바운딩 박스(341)에 대응되고, 제2 과실은 제2 바운딩 박스(342)에 대응되며, 제3 과실은 제3 바운딩 박스(343)에 대응될 수 있다.
제1 바운딩 박스(341), 제2 바운딩 박스(342), 및 제3 바운딩 박스(343)는 도 4에서 상술한 과실 위치에 관한 라벨링 데이터일 수 있다. 각 바운딩 박스에 대응되는 과실은 서로 다른 과실의 크기를 가질 수 있다. 예를 들어, 제1 과실의 경우 제3 크기와 대응되며, 제2 과실의 경우 제1 크기와 대응되고, 제3 과실의 경우 제2 크기와 대응될 수 있다.
과실의 크기를 "제1 크기", "제2 크기" 및 "제3 크기" 쪋 의 형태로 분류하는 경우, "제2 크기"는 "제1 크기"에 비해 과실의 크기가 더 큰 경우를 의미할 수 있으며, "제3 크기"는 "제2 크기"에 비해 과실의 크기가 더 큰 경우를 의미할 있다.
도 6의 표(B)를 참조하면, 과실 크기 라벨링 데이터(340)는 "제1 크기", "제2 크기" 및 "제3 크기"로 분류한 데이터일 수 있다. 과실 크기 라벨링 데이터는 "제1 크기"에 대응되는 경우 0의 라벨링 데이터로 구현될 수 있다. 나아가 "제2 크기"에 대응되는 경우 1의 라벨링 데이터로 구현될 수 있다. "제3 크기에 대응하는 경우에는 2의 라벨링 데이터로 구현될 수 있다. 과실 크기 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
과실의 크기를 3가지 이상의 클래스로 분류하는 것은 각 클래스에 대응되는 과실의 크기에 따라 결정될 수 있다.
과실의 크기를 "제1 크기", "제2 크기", "제3 크기"의 클래스로 분류하는 것은 "제1 크기"에 대응하는 과실과 "제2 크기"에 대응되는 과실, "제3 크기"에 대응되는 과실이 이미지 내에서 차지하는 영역의 면적에 따라 분류될 수 있다.
예를 들어, 일반적으로 "제3 크기"에 대응하는 과실이 차지하는 영역의 면적은 "제2 크기"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다. 또한, "제2 크기"에 대응하는 과실이 차지하는 영역의 면적은 "제1 크기"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다.
또는 상술한 과실 정보 벡터가 포함하는 과실 위치 라벨링 데이터를 활용해서 분류할 수도 있다. 보다 구체적으로 과실 정보 벡터가 (X,Y,L,H)로 구현된 경우에 있어, 과실의 크기는 L과 H를 통해 산출된 면적에 따라 구할 수 있다. 예를 들어, L과 H를 통해 산출된 제1 면적, 제2 면적, 및 제3 면적에 대해서 면적이 제일 큰 순서로 "제3 크기", "제2 크기", "제1 크기"로 순서대로 대응될 수 있다.
도 4에서 상술한 과실 정보 벡터는 과실 크기 라벨링 데이터를 포함할 수 있다. 보다 구체적으로 상기 과실 정보 벡터는 도4에서 과실 위치에 관한 라벨링 데이터와 함께 과실 크기 라벨링 데이터를 포함할 수 있다.
보다 구체적으로, 과실 정보 벡터는 (과실 위치에 관한 라벨링 데이터, 과실 크기 라벨링 데이터)의 형태로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 과실 크기가 3가지 클래스로 분류될 때, (X,Y,L,H, 1 )의 형태를 가질 수 있다. 또는, 과실 정보 벡터는 과실 숙성도 라벨링 데이터를 함께 포함할 수도 있다. 예를 들어, 과실 정보 벡터는 (과실 위치에 관한 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터)의 형태로 구현될 수도 있다.
상기에서 상술한 과실의 크기는 작물 이미지 내에서의 과실의 크기를 의미할 수 있다. 이는, 상기 작물 이미지가 온실 내에서 동일 열에서 재배되는 작물을 포함하는 경우가 일반적이기 때문이다. 따라서, 작물 이미지 내 과실의 크기를 산출하여 실제 과실의 크기와 대응되어 판단함이 가능할 수 있다.
다만, 작물 이미지가 온실 내에서 동일 열에서 재배되는 작물을 포함하는 경우에도 각 작물 간의 상대적인 거리는 다를 수 있는 바, 이하에서는 과실의 거리에 관한 학습 데이터에 대해서 설명하도록 한다.
도 7은 일 실시 예에 따른 과실 거리에 관한 학습 데이터를 나타내는 도면이다.
도 7을 참조하면, 학습 데이터는 과실 거리에 관한 라벨링 데이터를 더 포함할 수 있다. 학습 데이터는 도4에서 설명한 바와 같이 제2 작물 이미지(320)와 과실 위치에 관한 학습 데이터를 포함할 수 있다. 나아가, 학습 데이터는 과실 거리에 관한 학습 데이터를 포함할 수 있다.
과실 거리는 작물 이미지에서 과실이 이미지에서 위치하는 영역의 깊이를 의미할 수 있다. 또는 과실 거리는 수확 장치 내 이미지 획득부에서 과실이 실제 위치하는 지점과의 거리일 수 있다.
과실 거리에 관한 학습 데이터는 과실 거리 라벨링 데이터(350)를 포함할 수 있다. 과실 거리 라벨링 데이터(350)는 제2 작물 이미지(320) 내에 적어도 하나 이상의 과실에 대해서 과실 각각에 대응되어 라벨링 될 수 있다. 따라서, 제2 작물 이미지(320) 내에 각각의 적어도 하나 이상의 과실들은 각각 과실 거리 라벨링 데이터(350)와 매칭될 수 있다.
표(A)를 참조하면, 과실 거리 라벨링 데이터(350)는 과실의 거리에 관해 적어도 하나 이상의 거리 클래스로 분류한 분류 데이터일 수 있다. 예를 들어, 과실의 거리를 "인접 거리", "이격 거리"의 클래스로 분류하는 경우, 과실 거리 라벨링 데이터는 "인접 거리", "이격 거리"의 2가지 클래스에 대응될 수 있다. 보다 구체적으로, 표(A)에 도시된 바와 같이, 과실 거리 라벨링 데이터는 "인접 거리"에 대응되는 경우 (1,0)의 벡터 형태 데이터로 구현될 수 있다. 또는 "이격 거리"에 대응되는 경우 (0,1)의 벡터 형태 데이터로 구현될 수 있다. 과실 거리 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
여기서, "인접 거리" 와 "이격 거리"는 작물 이미지에서 과실이 위치하는 영역의 깊이를 비교하여 구분될 수 있으며, 예를 들어, "이격 거리"에 대응되는 과실은 "인접 거리"에 대응되는 과실 보다 과실이 위치하는 영역의 깊이가 상대적으로 깊을 수 있다.
또한, 도 4에서 상술한 바와 같이 과실 정보 벡터는 과실 거리 라벨링 데이터를 포함할 수 있다. 예를 들어, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 거리 라벨링 데이터)로 구현될 수 있다. 또는 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터도 포함할 수 있다. 이에 따라 구현된 과실 정보 벡터를 살펴보면, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터, 과실 거리 라벨링 데이터)로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 (X,Y,L,H (1,0), (1,0), (1,0))으로 구현될 수 있다.
과실의 거리를 "인접 거리", "이격 거리"의 클래스로 분류하는 것은 "인접 거리"에 대응하는 과실과 "이격 거리"에 대응되는 과실이 이미지 내에서 차지하는 영역의 면적에 따라 분류될 수 있다.
예를 들어, 일반적으로 "인접 거리"에 대응하는 과실이 차지하는 영역의 면적은 "이격 거리"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다.
또는 상술한 과실 정보 벡터가 포함하는 과실 위치 라벨링 데이터를 활용해서 분류할 수도 있다. 보다 구체적으로 과실 정보 벡터가 (X,Y,L,H)로 구현된 경우에 있어, 과실의 거리를 L과 H를 통해 산출된 면적에 따라 구할 수 있다. 예를 들어, L과 H를 통해 산출된 제1 면적과 제2 면적에 대해서 제1 면적이 더 큰 경우, 제1 면적에 대응하는 과실의 거리는 "인접 거리"가 되고, 제2 면적에 대응하는 과실의 거리는 "이격 거리"가 될 수 있다.
과실 거리는 "인접 거리" 또는 "이격 거리"에 해당하는 2가지 클래스로 분류될 수도 있으나, "제1 거리", "제2 거리" 및 "제3 거리" 쪋 의 형태로 적어도 3가지 이상의 거리 클래스로 분류될 수도 있다.
이를 통해, 과실 거리를 2가지로 분류하는 것에 국한되지 아니하고, 다양한 거리 클래스로 분류하여 과실 거리를 보다 더 세밀하게 분류할 수 있다.
도 7를 참조하면, 과실의 거리를 적어도 3가지 이상의 클래스로 분류한 학습 데이터의 일 예를 확인할 수 있다. 제2 작물 이미지(320)는 적어도 3가지 이상의 과실을 포함하는 이미지일 수 있으며, 제1 과실은 제1 바운딩 박스(351)에 대응되고, 제2 과실은 제2 바운딩 박스(352)에 대응되며, 제3 과실은 제3 바운딩 박스(353)에 대응될 수 있다.
제1 바운딩 박스(351), 제2 바운딩 박스(352), 및 제3 바운딩 박스(353)는 도 4에서 상술한 과실 위치에 관한 라벨링 데이터일 수 있다. 각 바운딩 박스에 대응되는 과실은 서로 다른 과실의 거리를 가질 수 있다. 예를 들어, 제1 과실의 경우 제3 거리와 대응되며, 제2 과실의 경우 제1 거리와 대응되고, 제3 과실의 경우 제2 거리와 대응될 수 있다.
과실의 거리를 "제1 거리", "제2 거리" 및 "제3 거리" 쪋 의 형태로 분류하는 경우, "제2 거리"는 "제1 거리"에 비해 과실의 거리가 더 짧은 경우를 의미할 수 있으며, "제3 거리"는 "제2 거리"에 비해 과실의 거리가 더 짧은 경우를 의미할 있다.
도 6의 표(B)를 참조하면, 과실 거리 라벨링 데이터(350)는 "제1 거리", "제2 거리" 및 "제3 거리"로 분류한 데이터일 수 있다. 과실 거리 라벨링 데이터는 "제1 거리"에 대응되는 경우 0의 라벨링 데이터로 구현될 수 있다. 나아가 "제2 거리"에 대응되는 경우 1의 라벨링 데이터로 구현될 수 있다. "제3 거리"에 대응하는 경우에는 2의 라벨링 데이터로 구현될 수 있다. 과실 거리 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
과실의 거리를 3가지 이상의 클래스로 분류하는 것은 각 클래스에 대응되는 과실의 거리에 따라 결정될 수 있다.
과실의 거리를 "제1 거리", "제2 거리", "제3 거리"의 클래스로 분류하는 것은 "제1 거리"에 대응하는 과실과 "제2 거리"에 대응되는 과실, "제3 거리"에 대응되는 과실이 이미지 내에서 차지하는 영역의 면적에 따라 분류될 수 있다. 이는, 도 1에서 상술한 온실은 균일한 환경을 제공할 수 있는 시스템을 구축하고 있는 바, 온실에서 생장하는 작물에서 착과되는 과실은 상대적으로 균일한 상태를 가질 수 있다. 즉, 온실 내에서 생장하는 과실의 크기는 실제로 크기의 차이가 적기 때문에, 작물 이미지에서 과실이 차지하는 면적이 과실의 거리와 대응될 수 있다.
예를 들어, 일반적으로 "제3 거리"에 대응하는 과실이 차지하는 영역의 면적은 "제2 거리"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다. 또한, "제2 거리"에 대응하는 과실이 차지하는 영역의 면적은 "제1 거리"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다.
또는 상술한 과실 정보 벡터가 포함하는 과실 위치 라벨링 데이터를 활용해서 분류할 수도 있다. 보다 구체적으로 과실 정보 벡터가 (X,Y,L,H)로 구현된 경우에 있어, 과실의 거리는 L과 H를 통해 산출된 면적에 따라 구할 수 있다. 예를 들어, L과 H를 통해 산출된 제1 면적, 제2 면적, 및 제3 면적에 대해서 면적이 제일 큰 순서로 "제3 거리", "제2 거리", "제1 거리"로 순서대로 대응될 수 있다.
도 4에서 상술한 과실 정보 벡터는 과실 거리 라벨링 데이터를 포함할 수 있다. 보다 구체적으로 상기 과실 정보 벡터는 도4에서 과실 위치에 관한 라벨링 데이터와 함께 과실 거리 라벨링 데이터를 포함할 수 있다.
보다 구체적으로, 과실 정보 벡터는 (과실 위치에 관한 라벨링 데이터, 과실 거리 라벨링 데이터)의 형태로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 과실 거리가 3가지 클래스로 분류될 때, (X,Y,L,H, 1 )의 형태를 가질 수 있다. 또는, 과실 정보 벡터는 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터를 함께 포함할 수도 있다. 예를 들어, 과실 정보 벡터는 (과실 위치에 관한 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터, 과실 거리 라벨링 데이터)의 형태로 구현될 수도 있다.
앞서 상술한 과실의 거리는 수확 장치에 설치된 별도의 장비를 활용할 수도 있다. 보다 구체적으로 수확 장치에 설치된 거리 센서를 통해, 실제 거리에 기초하여 과실 거리 라벨링 데이터를 생성할 수도 있다. 예를 들어, 수확 장치가 작물 이미지를 획득하는 경우, 상기 거리 센서가 상기 작물 이미지에 포함된 과실에 각각에 대한 실제 거리를 측정할 수 있다. 상기 실제 거리는 제어부로 전달되고, 제어부는 상기 실제 거리를 기초로 과실 거리 라벨링 데이터를 생성할 수 있다.
일 예를 설명하면, 제어부는 사용자가 설정한 값에 따라 상술한 "제1 거리", "제2 거리" 및 "제3 거리"에 대응되는 과실에 대해 과실 거리 라벨링 데이터를 생성할 수 있다. 상기 사용자가 설정한 값은 거리 센서가 측정한 실제 거리를 기초로 설정된 값일 수 있다.
또 다른 방법으로, 과실의 거리는 작물 이미지 내에서 가림 영역에 기초하여 산출될 수도 있다. 보다 구체적으로, 제어부는 작물 이미지에 대해서, 상기 작물 이미지가 포함하는 각각의 과실의 가림 영역을 판단할 수 있다. 상기 가림 영역 작물 이미지에서 과실이 잎이나 배경, 나뭇가지, 다른 과실에 의해서 가려져 있는 영역을 의미할 수 있다. 상기 가림 영역은 각 과실에 대해서 픽셀 수를 기초로 하여 산출될 수도 있다. 즉, 상기 가림 영역은 작물 이미지에서 하나의 과실이 겹쳐져 있는 픽셀 수를 세어 가림 영역의 면적을 산출할 수 있다.
제어부는 상기 가림 영역을 기초로 과실의 거리를 판단할 수 있다.
제어부는 가림 영역이 넓은 과실일수록 거리가 먼 과실로 판단할 수 있다. 예를 들어, 제어부는 제1 과실에 대한 제1 가림 영역과 제2 과실에 대한 제2 가림 영역을 산출할 수 있다. 제1 가림 영역이 제2 가림 영역보다 넓은 경우, 제1 과실의 거리가 제2 과실의 거리보다 먼 것으로 판단할 수 있다. 제어부는 이러한 방법을 활용하여 거리 라벨링 데이터를 생성할 수 있다.
제어부는 상기 가림 영역에 기초하여 다수의 과실과 촬영부 사이의 상대적 거리를 판단할 수 있다.
이하에서는 과실의 열 구분에 관한 라벨링 데이터를 포함하는 학습 데이터에 대해서 설명하도록 한다.
도 8은 일 실시 예에 따른 열구분에 관한 학습 데이터를 나타내는 도면이다.
도 8을 참조하면, 학습 데이터는 과실 열 구분에 관한 라벨링 데이터를 더 포함할 수 있다. 학습 데이터는 도4에서 설명한 바와 같이 제2 작물 이미지(320)와 과실 위치에 관한 학습 데이터를 포함할 수 있다. 나아가, 학습 데이터는 과실 열에 관한 학습 데이터를 포함할 수 있다.
과실 열은 작물 이미지에서 과실이 이미지에서 위치하는 열을 의미할 수 있다. 도 1에서 상술한 바와 같이, 온실 내에서 작물은 열에 따라 구분되어 생장할 수 있다. 수확 장치가 획득하는 작물 이미지는 제1 열 작물, 제2 열 작물, 제3 열 작물을 모두 포함하는 작물 이미지일 수 있다. 수확 장치가 제1 열 작물과 인접한 위치에서 수확 대상 과실을 판단하여 상기 과실을 수확할 때, 제2열 및 제3열에서 생장하는 작물은 수확 대상 과실로 판단하지 않을 필요가 있다. 이는, 수확 효율성 측면에서 수확 장치가 제1 열 작물과 인접한 경우에는 제1 열 작물만을 수확 대상 과실로 판단하여 수확하는 것이 수확 효율성 측면에서 더 효율적이기 때문이다. 제2 열 작물과 제3 열 작물은 수확 장치가 각각 제2 열 작물과 인접한 위치에 있는 경우, 제3 열 작물과 인접한 위치에 있는 경우에 수확 대상 과실로 판단됨이 수확 장치가 과실을 수확하는 것에 있어 더욱 효율적이다.
또한, 수확 장치에서 수확 대상 과실을 판단하는 프로세스의 효율성을 위해서도 제2 열 및 제3 열에서 생장하는 작물의 경우에는 수확 대상 과실로 판단하지 않음이 바람직하다. 또한, 수확 장치는 제2 열 작물과 제3 작물에 대한 수확이 불가능할 수 있으므로, 제2 열 및 제3 열에서 생장하는 작물은 수확 대상 과실로 판단하지 않음이 바람직하다
따라서, 수확 장치는 작물 이미지에서 작물 이미지가 포함하는 과실의 열을 구분할 필요가 있다.
이를 위해, 과실 열에 관한 학습 데이터를 활용할 수 있다. 과실 열에 관한 학습 데이터는 과실 열 라벨링 데이터(360)를 포함할 수 있다. 과실 열 라벨링 데이터(350)는 제2 작물 이미지(320) 내에 적어도 하나 이상의 과실에 대해서 과실 각각에 대응되어 라벨링 될 수 있다. 따라서, 제2 작물 이미지(320) 내에 각각의 적어도 하나 이상의 과실들은 각각 과실 열 라벨링 데이터(360)와 매칭될 수 있다.
먼저, 표(a)를 참조하면 과실 열 라벨링 데이터는 제2 작물 이미지(320)에서 적어도 하나 이상의 과실에 대해 인접 열에 위치하는 과실에 대해 구현될 수 있다. 보다 구체적으로, 표(a)에 도시된 바와 같이, 과실이 인접 열에 위치하는 경우, 1로 라벨링 될 수 있다.
또는, 과실의 열을 "인접 열", "이격 열"의 클래스로 분류하는 경우, 과실 열 라벨링 데이터는 "인접 열", "이격 열"의 2가지 클래스에 대응될 수 있다. 보다 구체적으로, 표(b)에 도시된 바와 같이, 과실 열 라벨링 데이터는 "인접 열"에 대응되는 경우 (1,0)의 벡터 형태 데이터로 구현될 수 있다. 또는 "이격 열"에 대응되는 경우 (0,1)의 벡터 형태 데이터로 구현될 수 있다. 과실 열 라벨링 데이터가 구현되는 형태는 상술한 예시에 한정되어 해석되지 아니한다.
도 8을 참조하면, 표(a)에 따라 작물 이미지에서 인접 열만 라벨링 하는 경우, 제2 작물 이미지(320)가 포함하는 제1 과실에 대해 제1 바운딩 박스(361)가 구현될 수 있으며, 상기 제1 바운딩 박스와 인접 열 라벨링 데이터가 대응될 수 있다.
또는 표(b)에 따라, 작물 이미지에서 "인접 열", "이격 열"로 라벨링 하는 경우, 제2 작물 이미지(320)가 포함하는 제1 과실에 대한 제1 바운딩 박스(361)와 제2 과실에 대한 제2 바운딩 박스(362)가 구현될 수 있으며, 상기 제1 바운딩 박스(361)와 인접 열 라벨링 데이터가 대응되고, 상기 제2 바운딩 박스(362)와 이격 열 라벨링 데이터가 대응될 수 있다.
여기서, "인접 열" 과 "이격 열"은 작물 이미지에서 과실이 위치하는 열에 따라 구분될 수 있다. 예를 들어, "이격 열"에 대응되는 과실은 수확 장치가 제1열과 인접한 위치에서 제1열, 제2열, 제3열 방향을 바라보며 작물 이미지를 획득한 경우, 제2열 또는 제3열에 위치하는 과실일 수 있으며, "인접 열"에 대응되는 과실은 제1열에 위치하는 과실일 수 있다.
또한, 도4에서 상술한 바와 같이 과실 정보 벡터는 과실 열 라벨링 데이터를 포함할 수 있다. 예를 들어, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 열 라벨링 데이터)로 구현될 수 있다. 또는 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터, 및 과실 거리 라벨링 데이터도 포함할 수 있다. 이에 따라 구현된 과실 정보 벡터를 살펴보면, 과실 정보 벡터는 (과실 위치 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터, 과실 거리 라벨링 데이터, 과실 열 라벨링 데이터)로 구현될 수 있다. 예를 들어, 과실 정보 벡터는 (X,Y,L,H (1,0), (1,0), (1,0), (1,0))으로 구현될 수 있다.
과실 열을 "인접 열", "이격 열"의 클래스로 분류하는 것은 "인접 열"에 대응되는 과실과 "이격 열"에 대응되는 과실이 이미지 내에서 차지하는 영역의 면적에 따라 분류될 수 있다.
예를 들어, 일반적으로 "인접 열"에 대응하는 과실이 차지하는 영역의 면적은 "이격 열"에 대응하는 과실이 차지하는 영역의 면적 보다 넓을 수 있다.
또는 상술한 과실 정보 벡터가 포함하는 과실 위치 라벨링 데이터를 활용해서 분류할 수도 있다. 보다 구체적으로 과실 정보 벡터가 (X,Y,L,H)로 구현된 경우에 있어, 과실의 열을 L과 H를 통해 산출된 면적에 따라 구할 수 있다. 예를 들어, L과 H를 통해 산출된 제1 면적과 제2 면적에 대해서 제1 면적이 더 큰 경우, 제1 면적에 대응하는 과실의 열은 "인접 열"이 되고, 제2 면적에 대응하는 과실의 열은 "이격 열"이 될 수 있다. 또는 제어부는 기준 값을 가지고, 제1 면적이 기준 값보다 큰 경우 "인접 열"로 판단되고, 제2 면적이 기준 값보다 작은 경우 "이격 열"로 판단될 수도 있다.
또한, 상술한 과실의 열은 작물 이미지가 포함하는 과실 영역의 해상도에 기초하여 분류될 수도 있다. 보다 구체적으로 "인접 열"에 대응하는 과실의 영역과 "이격 열"에 대응하는 과실의 영역은 작물 이미지에서 서로 다른 해상도를 가질 수 있다. 예를 들어, 제어부는 작물 이미지에서 제1 과실의 영역에 관한 제1 해상도와 제2 과실의 영역에 관한 제2 해상도를 산출할 수 있다. 상기 제1 해상도가 제2 해상도 보다 높은 경우, 상기 제1 과실은 인접 열에 대응하는 데이터로 라벨링 하고, 상기 제2 과실은 이격 열에 대응하는 데이터를 라벨링 할 수 있다.
이하에서는 학습 데이터를 통해 학습된 인공신경망이 작물 이미지에 기초하여 수확 대상 과실을 판단하고, 판단된 수확 대상 과실에 대한 수확 순서를 판단하는 방법에 대해 설명하도록 한다.
도 9는 일 실시 예에 따른 수확 대상 과실을 출력하고, 수확 순서를 판단하는 방법에 관한 순서도이다.
도 9를 참조하면, 수확 장치 내 제어부가 수확 대상 과실을 출력하고, 수확 순서를 판단하는 방법은 인공신경망이 작물 이미지를 입력 받는 단계(S101), 인공신경망이 과실의 숙성도와 관련된 인덱스 데이터를 포함하는 출력 데이터를 출력하는 단계(S102), 제어부가 인덱스 데이터를 기초로 수확 대상 과실을 출력하는 단계(S103), 제어부가 수확 대상 과실에 대한 수확 순서를 판단하는 단계(S104)를 포함할 수 있다.
수확 장치 내 제어부는 인공신경망을 포함할 수 있다. 인공신경망은 도 4 내지 도 8에 따른 학습 데이터를 통해 학습할 수 있다.
작물 이미지는 도 4 내지 도8에서 학습 데이터로 활용된 작물 이미지일 수도 있으나, 바람직하게는 학습 데이터로 활용된 작물 이미지와 상이한 작물 이미지일 수 있다. 작물 이미지는 이미지 내 적어도 하나 이상의 과실을 포함할 수 있다. 작물 이미지는 온실 내에서 수확 장치가 이동하며 실시간으로 수확 장치가 획득한 이미지일 수 있다.
제어부는 과실 숙성도에 관련된 인덱스 데이터를 포함하는 출력 데이터를 출력할 수 있다. 출력 데이터는 과실의 위치에 관한 데이터를 포함할 수 있으며, 출력 데이터는 인덱스 데이터를 포함할 수 있다. 상기 인덱스 데이터는 과실의 숙성도, 크기, 거리, 열 구분 중 적어도 하나의 인덱스 데이터를 포함할 수 있다. 상기 인덱스 데이터는 도5내지 도8에서 상술한 과실의 숙성도, 크기, 거리, 열 구분에 관한 라벨링 데이터와 대응될 수 있다. 보다 구체적으로, 상기 인덱스 데이터는 도 5 내지 도 8에서 상술한 과실 정보 벡터와 대응될 수 있다.
제어부는 인덱스 데이터를 기초로 수확 대상 과실을 판단하고 출력할 수 있다. 수확 대상 과실은 상기 인덱스 데이터 중 과실의 숙성도와 관련될 수 있으며, 제어부는 수확 대상 과실을 판단하는 시즌에 따라 수확 대상 과실을 상이하게 판단할 수도 있다.
제어부는 수확 대상 과실에 대한 수확 순서를 판단할 수 있다. 제어부는 상기 인덱스 데이터를 기초로 수확 순서를 판단할 수 있다. 상기 인덱스 데이터는 도5 내지 도 8에서 상술한 과실 정보 벡터와 대응될 수 있는 바, 상기 인덱스 데이터는 과실의 숙성도, 크기, 거리, 열에 관한 인덱스 데이터를 포함할 수 있다.
제어부는 상기 인덱스 데이터 중 크기에 관한 인덱스 데이터를 기초로 수확 순서를 판단할 수 있다. 예를 들어, 제어부는 크기 라벨링 데이터가 2인 과실을 먼저 수확하고, 이후 크기 라벨링 데이터가 1인 과실을 수확하며, 마지막으로 크기 라벨링 데이터가 0인 과실을 수확하도록 제어할 수 있다.
이하에서는 도 10 내지 도 12를 참조하여, 제어부가 출력하는 출력 데이터, 수확 대상 과실을 판단하는 방법, 제어부가 판단하는 수확 순서에 대한 구체적인 설명을 하도록 한다.
도 10은 일 실시 예에 따른 제어부에서 출력하는 출력 데이터에 관한 도면이다.
도 10을 참조하면, 도9에서 상술한 제어부가 과실의 숙성도와 관련된 인덱스 데이터를 포함하는 출력 데이터에 관한 일 예를 확인할 수 있다.
작물 이미지(110)가 제어부 내 인공신경망(220a)으로 입력되면, 인공신경망(220a)은 출력 데이터(120a)를 출력할 수 있다. 출력 데이터(120a)는 작물 이미지에 표시된 과실 위치에 관한 출력 데이터(122a)와 인덱스 데이터(122b)를 포함할 수 있다. 출력 데이터(120a)는 작물 이미지(110)와 서로 대응될 수 있다.
과실 위치에 관한 출력 데이터(122a)는 작물 이미지(110)내에 적어도 하나 이상의 과실에 대해서 과실이 위치할 것이라 예상되는 영역을 과실 각각에 대해 표시한 데이터일 수 있다. 예를 들어, 과실 위치에 관한 출력 데이터(122a)는 바운딩 박스 형태로 표시될 수 있다. 바운딩 박스 형태로 표시된 경우, 바운딩 박스 내부 영역에 상기 바운딩 박스와 대응되는 과실이 위치할 수 있고, 상기 과실이 차지하는 면적은 상기 바운딩 박스의 내부 면적보다 작을 수 있다.
인덱스 데이터(122b)는 과실의 숙성도, 크기, 거리, 열에 관한 라벨링 데이터중 적어도 하나를 포함하는 데이터일 수 있다. 인덱스 데이터(122b)는 인공신경망(220a)이 학습할 때 활용했던 학습 데이터와 대응될 수 있다. 학습 데이터는 도 5 내지 도 8에서 상술한 학습 데이터일 수 있다. 즉, 학습 데이터가 과실 정보 벡터 형태로 구현된 경우, 인덱스 데이터(122b) 역시 과실 정보 벡터 형태로 출력될 수 있다.
또한, 상기 인덱스 데이터(122b) 각 라벨링 데이터에 관한 확률값을 포함할 수 있다. 보다 구체적으로, 상기 인덱스 데이터(122b)는 과실의 숙성도, 크기, 거리, 열에 관한 라벨링 데이터에 대해서, 과실이 클래스에 분류될 확률값을 포함할 수 있다. 예를 들어, 상기 인덱스 데이터(122b)는 과실이 숙성도 클래스 1인 확률값, 과실의 크기 클래스 1인 확률값, 과실의 거리 클래스가 1인 확률값, 인접 열 클래스인 확률값을 포함할 수 있다.
구체적인 예를 살펴보면, 인덱스 데이터(122b)가 과실 정보 벡터 형태를 갖는 경우, 인덱스 데이터(122b)는 (과실 위치 라벨링 데이터, 과실 숙성도 라벨링 데이터, 과실 크기 라벨링 데이터, 과실 거리 라벨링 데이터, 과실 열 구분 라벨링 데이터)의 형태를 가질 수 있다. 예를 들어, 인덱스 데이터(122b)가 (X,Y,L,H, 1, 1, 1, 1)로 출력되는 경우, (X,Y,L,H)는 과실 위치에 관한 출력 데이터(122a)와 대응되고, (1,1,1,1)은 대응되는 과실이 과실 숙성도 클래스 중 라벨링이 1로 된 클래스, 과실 크기 클래스 중 라벨링이 1로 된 클래스, 과실 거리 클래스 중 라벨링이 1로 된 클래스, 과실 열 구분 클래스 중 라벨링이 1로 된 클래스를 갖음을 의미할 수 있다. 또한, 이러한 경우 인덱스 데이터(122b)는 각 클래스에 해당될 확률값을 포함할 수 있다.
제어부는 인덱스 데이터를 기초로 하여 수확 대상 과실을 판단할 수 있다. 예를 들어, 제어부는 과실 숙성도 라벨링 데이터를 기초로 수확 대상 과실을 판단할 수 있으며, 이는 시즌에 따라 상이하게 판단할 수 있다. 이하에서는 제어부에서 인덱스 데이터를 기초로 시즌에 따라 수확 대상 과실을 판단하는 방법에 대해 설명하도록 한다.
도 11는 일 실시 예에 따른 시즌에 따라 수확 대상 과실을 판단하는 방법에 대한 순서도이다.
제어부가 제1 시즌 및 제2 시즌을 판단하는 단계(S201), 제1 시즌인 경우, 제1 기준 이상 과실을 수확 대상 과실로 판단하는 단계(S202), 제2 시즌인 경우, 제2 기준 이상 과실을 수확 대상 과실로 판단하는 단계(S203), 및 수확 대상 과실을 출력하는 단계(S204)를 포함할 수 있다.
제어부는 과실 수확하는 시즌을 판단할 수 있다. 상기 시즌은 사용자가 미리 입력한 기간일 수 있다. 보다 구체적으로 상기 시즌은 봄, 여름, 가을 및 겨울을 포함하는 계절에 관한 시기일 수 있다. 제어부는 상기 사용자가 미리 설정한 기간에 따라 시즌을 판단할 수 있다. 예를 들어, 상기 시즌은 제1 시즌, 제2 시즌을 포함할 수 있다. 상기 제1 시즌은 사용자가 미리 설정한 제1 기간일 수 있으며, 제2 시즌은 사용자가 미리 설정한 제2 기간일 수 있다. 상기 제1 기간과 제2 기간은 적어도 1개월 이상의 기간을 포함할 수 있으며, 서로 다르거나 일정 기간이 겹칠 수도 있다.
또는 제어부는 온실 외부의 평균 온도를 기준으로 시즌을 판단할 수 있다. 제어부는 일정 기간동안 온실 외부의 일 평균 온도를 기초로 하여 시즌을 판단할 수 있다. 예를 들어, 제어부는 일정 기간 동안 온실 외부의 일 평균 온도가 기준 온도 보다 높은 경우 제1 시즌으로 판단하고, 기준 온도보다 낮은 경우에는 제2 시즌으로 판단할 수 있다. 상기 기준 온도는 사용자가 미리 설정한 값일 수 있다. 나아가, 기준 온도는 온실이 위치하는 지역의 계절 일 평균 온도값일 수 있다. 예를 들어, 기준 온도는 온실이 위치하는 지역을 기준으로 여름의 일 평균 온도이거나 겨울의 일 평균 온도일 수도 있다.
또는 제어부는 온실 외부의 일 평균 온도에 대해서 제1 시즌 기준 온도와 비교하여 그 차이가 일정 범위 내에 있는 경우, 제1 시즌으로 판단하고, 온실 외부의 일 평균 온다가 제2 시즌 기준 온도와 비교하여 그 차이가 일정 범위 내에 있는 경우, 제2 시즌으로 판단할 수 있다. 제1 시즌 기준 온도는 제2 시즌 기준 온도보다 높을 수 있다. 상기 제1 시즌은 여름이고 상기 제2 시즌은 겨울일 수 있다.
제어부는 제1 시즌인 경우 제1 기준 이상에 해당하는 과실을 수확 대상 과실로 판단할 수 있고, 제2 시즌인 경우 제2 기준 이상에 해당하는 과실을 수확 대상 과실로 판단할 수 있다. 제1 기준과 제2 기준은 단계 S201에서 출력한 과실 숙성도와 관련된 인덱스 데이터일 수 있으며, 이는 도 12에서 자세하게 상술하도록 한다.
도 12는 일 실시 예에 따른 과실 숙성도에 관련된 인덱스 데이터이다.
도 12를 참조하면, 제어부에서 출력하는 인덱스 데이터(130)는 제어부에서 출력하는 인덱스 데이터의 일 예에 해당하며, 과실의 숙성도, 라벨링 데이터, 출력값(140)을 포함할 수 있다. 제어부에서 출력하는 상기 인덱스 데이터(130)는 작물 이미지에 포함된 하나의 과실에 대한 인덱스 데이터일 수 있다. 과실의 숙성도는 도 5에서 상술한 바와 같이 "익음", "안 익음" 2가지로 분류될 수 있다. 상기 라벨링 데이터는 상기 과실의 숙성도의 각 클래스와 대응될 수 있으며, 상기 출력값(140) 역시 각각 상기 과실의 숙성도의 각 클래스와 대응될 수 있다.
출력값(140)은 확률값에 기초한 결과값일 수 있다. 보다 구체적으로 출력값(140)은 상기 출력값에 대응하는 과실이 상기 출력값에 대응하는 각 과실의 숙성도 클래스에 해당될 확률값을 의미할 수 있다. 따라서 도 12에서 도시한 바와 같이 "익음"에 해당하는 출력값과 "안 익음"에 해당하는 출력값을 합하면 1.00 값을 가질 수 있다.
제어부는 상기 인덱스 데이터의 출력값을 기초로 시즌에 따라 수확 대상 과실을 판단할 수 있다. 보다 구체적으로 제어부는 시즌에 따라 기준을 달리하여 상기 기준 이상의 해당하는 과실에 대해서만 수확 대상 과실로 판단할 수 있다. 예를 들어, 제어부는 제1 시즌의 경우, "익음"에 해당하는 과실에 대해서 제1 기준 보다 높은 출력값을 갖는 과실에 대해서만 수확 대상 과실로 판단할 수 있다. 또는 제어부는 제2 시즌의 경우에는 "익음"에 해당하는 과실에 대해서 제2 기준 보다 높은 출력값을 갖는 과실에 대해서만 수확 대상 과실로 판단할 수 있다. 이 때, 제2 기준은 제1 기준보다 낮은 값일 수 있다. 이를 통해, 제어부는 제1 시즌에는 "익음"에 해당하는 과실 중 확률적으로 더 높은 과실에 대해서만 수확 대상 과실로 판단하고, 제2 시즌에는 "익음"에 해당하는 과실 중 제1 시즌보다 상대적으로 낮은 확률을 갖는 과실에 대해서도 수확 대상 과실로 판단할 수 있다.
제어부는 과실의 숙성도가 적어도 3가지 이상의 클래스로 분류되는 경우에도 인덱스 데이터를 기초로 수확 대상 과실을 판단할 수 있다.
도 12를 참조하면, 과실의 숙성도를 적어도 3가지 이상의 클래스로 분류하는 경우 제어부는 인덱스 데이터(131)을 출력할 수 있다. 상기 인덱스 데이터(131)는 작물 이미지가 포함하는 하나의 과실이 과실의 숙성도 중 어떤 클래스로 분류되는지를 나타내는 출력 데이터일 수 있다.
상기 인덱스 데이터(131)는 과실의 숙성도, 라벨링 데이터, 출력값을 포함할 수 있다. 상기 인덱스 데이터(131)는 "제1 숙성도", "제2 숙성도", 및 "제3 숙성도"로 분류된 과실 숙성도와 상기 숙성도에 대응되는 라벨링 데이터, 출력값을 포함할 수 있다. 상기 인덱스 데이터(131)의 출력 값은 확률 값에 기초한 결과값일 수 있다. 보다 구체적으로 출력값은 상기 출력값에 대응하는 과실이 상기 출력값에 대응하는 각 과실의 숙성도 클래스에 해당될 확률값을 의미할 수 있다. 따라서 도 12에서 도시한 바와 같이 "제1 숙성도"에 해당하는 출력값과 "제2 숙성도"에 해당하는 출력값, "제3 숙성도"에 대응하는 출력값을 합하면 1.00 값을 가질 수 있다.
따라서, 상기 인덱스 데이터(131)을 기초로 제어부는 상기 인덱스 데이터(131)에 대응하는 과실이 어떠한 숙성도를 가지는 지 판단할 수 있다. 보다 구체적으로 제어부는 사용자가 설정한 미리 설정된 기준 임계값에 따라 상기 과실을 어떠한 숙성도 클래스로 분류할 지 판단할 수 있다.
상기 미리 설정된 기준 임계값은 시즌에 따라 다른 값일 수 있다. 보다 구체적으로 제1 시즌에는 제1 기준 임계값을 기초로 상기 제1 기준 임계값 보다 큰 출력값에 대응하는 숙성도 클래스를 상기 과실에 대한 클래스로 판단하고, 제2 시즌에는 제2 기준 임계값을 기초로 상기 제2 기준 임계값 보다 큰 출력값에 대응하는 숙성도 클래스를 상기 과실에 대한 클래스로 판단할 수 있다.
제어부가 작물 이미지가 포함하는 모든 과실에 대해서 과실 숙성도 클래스를 분류한 경우, 제어부는 제3 숙성도에 대응하는 과실만 수확 대상 과실로 판단할 수 있다. 따라서, 제3 숙성도에 대응하는 과실은 시즌 마다 상이한 임계 기준값을 기초로 판단되는 바, 제어부는 시즌에 따라 수확 대상 과실을 상이하게 판단할 수 있다.
또는, 제어부는 사용자가 미리 설정한 임계값의 변화가 아닌, 숙성도 클래스를 시즌에 따라 달리하여, 시즌에 따라 수확 대상 과실을 상이하게 판단할 수도 있다.
구체적으로, 제어부는 시즌에 따라 클래스 기준을 달리하여 상기 기준 이상의 해당하는 과실에 대해서만 수확 대상 과실로 판단할 수 있다. 예를 들어, 제어부는 제1 시즌의 경우, 제1 기준 클래스 이상 클래스에 해당하는 과실만 수확 대상 과실로 판단할 수 있다. 또는 제어부는 제2 시즌의 경우 제2 기준 클래스 이상 클래스에 해당하는 과실만 수확 대상 과실로 판단할 수 있다. 예를 들어, 제1 시즌에는 "제3 숙성도"에 대응하는 과실만을 수확 대상 과실로 판단하고, 제2 시즌에는 "제3 숙성도" 및 "제2 숙성도"에 대응하는 과실을 수확 대상 과실로 판단할 수 있다. 이 때, 제1 기준 클래스의 경우 제2 기준 클래스보다 더 높을 수 있다.
제어부가 시즌에 따라 수확 대상 과실을 판단함에 따라, 수확 장치는 수확하는 시기에 따라 숙성 정도가 서로 다른 과실을 수확할 수 있다. 제어부는 시즌에 따라 서로 다른 기준으로 수확 대상 과실을 판단함으로써, 유통과정에서 숙성되는 정도를 고려하여 소비자에게 적절한 과실을 제공할 수 있다. 예를 들어, 온도가 높은 시즌에는 온도가 낮은 시즌에 비해 유통과정에서 과실이 더 숙성될 수 있으므로, 상대적으로 덜 익은 과실을 수확하고, 온도가 낮은 시즌에는 상대적으로 더 익은 과실을 수확하여 과실의 상품성을 높일 수 있다.
나아가, 수확 장치는 수확 대상 과실에 대해서 수확 순서에 따라 과실을 수확할 수 있다.
이하에서는 도 13을 참조하여, 수확 순서에 대한 구체적인 설명을 하도록 한다.
도 13은 일 실시 예에 따른 수확 순서를 판단하는 방법에 관한 순서도이다.
도 13을 참조하면, 제어부는 수확 대상 과실에 대해 수확 순서를 판단할 수 있다. 수확 순서를 판단하는 방법은 수확 대상 과실을 판단하는 단계(S301), 수확 순서를 판단하는 단계(S302), 및 수확 순서에 따라 과실을 수확하는 단계(S303)를 포함할 수 있다.
제어부가 수확 대상 과실을 판단하는 단계는 상술한 도 12 및 도 13을 통해 설명하였는 바 생략하기로 한다.
제어부는 수확 대상 과실에 대해서 수확 순서를 판단할 수 있다. 상기 수확 순서는 도 9에서 상술한 출력 데이터가 포함하는 인덱스 데이터를 기초로 하여 판단될 수 있다. 예를 들어, 상기 인덱스 데이터는 과실 크기 라벨링 데이터, 과실 거리 라벨링 데이터와 각각 대응되는 인덱스 데이터를 포함할 수 있다.
제어부는 상기 인덱스 데이터에서 과실 크기 라벨링 데이터를 기초로 하여 수확 순서를 판단할 수 있다. 예를 들어, 제어부는 수확 대상 과실에 대해서, 과실 크기가 2로 라벨링 된 과실을 먼저 수확하고, 다음은 과실 크기가 1로 라벨링 된 과실을, 마지막으로 0으로 라벨링 된 과실을 수확하도록 수확순서를 판단할 수 있다. 또한, 제어부는 과실의 크기가 2로 라벨링 된 모든 과실을 먼저 수확하고, 과실의 크기가 0으로 라벨링 된 모든 과실을 나중에 수확하도록 수확순서를 결정할 수도 있다.
또 다른 예에 따르면 제어부는 상기 인덱스 데이터에서 과실 거리 라벨링 데이터를 기초로 하여 수확 순서를 판단할 수도 있다. 예를 들어, 제어부는 수확 대상 과실에 대해서 과실 거리가 2로 라벨링 된 과실을 먼저 수확하고 다음은 과실 거리가 1로 라벨링 된 과실을, 마지막으로 0으로 라벨링 된 과실을 수확하도록 수확 순서를 결정할 수 있다.
제어부는 object detection 방법을 활용하여 과실 수확 순서를 판단할 수도 있다. 보다 구체적으로 수확 장치는 앞서 상술한 거리 센서를 활용하여, 작물이 포함하고 있는 과실과 수확 장치 간의 실제 거리를 측정할 수 있다. 상기 실제 거리를 기초로 하여 제어부는 과실 수확 순서를 판단할 수 있다.
즉, 제어부는 측정된 실제 거리를 기초로 가장 짧은 거리에 있는 과실부터 수확하는 수확 순서를 판단할 수 있다.
즉, 수확시의 과실과 수확장치 상의 거리는 인공신경망에 의해 산출된 거리일 수도 있고, 별도의 거리센서에 의해 측정될 수도 있다.
제어부는 수확 순서를 판단하고, 상기 수확 순서에 대한 수확 보류 과실을 판단할 수 있다. 상기 수확 보류 과실은 크기 또는 거리에 기초하여 수확순서를 판단할 때, 수확 순서를 나중으로 유보해야하는 과실일 수 있다.
보다 구체적으로, 수확 보류 과실은 제어부가 판단한 수확 순서에 따라 수확 장치가 수확하려는 경우, 수확 기준에 의해서 수확하지 않고 보류한 과실일 수 있다. 예를 들어, 제어부가 앞서 상술한 과실 크기 라벨링 데이터를 기초로 수확 순서를 판단하는 경우에 있어, 과실 크기가 2로 라벨링된 과실을 수확하는 과정에서 과실 크기가 0 또는 1로 라벨링된 과실의 수확장치의 이동 경로 상에 위치하는 경우 과실 크기가 2로 라벨링된 과실을 수확 보류 과실로 설정할 수 있다.
또는 제어부가 거리가 짧은 순서대로 과실을 수확하는 수확 순서를 판단할 때, 과실이 제일 짧은 과실이나 작물의 잎이나 다른 과실에 가려진 경우에 수확 장치가 물리적으로 수확하기 어려운 경우가 있을 수 있다. 상기 과실을 제어부는 수확 보류 과실로 판단할 수 있다. 이 경우 과실의 크기에 관계없이 과실이 수확되지만, 제어부는 수확부를 제어하여 수납부에 과실을 크기에 따라 분류하여 분리 수납할 수 있다. 즉, 제어부는 거리가 짧은 순서대로 과실을 수확하지만 과실의 크기에 대한 정보는 알고 있는 상태이므로, 과실의 크기에 대한 정보에 기초하여 수납부에는 과실의 크기 분류별로 수납할 수 있다.
상기 거리는 앞서 상술한 거리 센서를 활용하여 측정된 실제 거리값일 수 있다.
또는 제어부는 수확 보류 과실을 작물 이미지를 기초로 하여 판단할 수도 있다. 보다 구체적으로 도 10에서 설명한 바와 같이 제어부에 포함된 인공신경망이 작물 이미지를 입력 받으면 과실 위치에 관한 출력 데이터를 출력하는 경우, 상기 출력 데이터를 기초로 하여 수확 보류 과실을 판단할 수도 있다.
상기 출력 데이터가 바운딩 박스 형태로 표시된 경우, 제어부는 상기 바운딩 박스가 다른 바운딩 박스와 겹쳐져 있는 영역에 대한 정보를 산출할 수 있다. 상기 겹쳐져 있는 영역에 대한 정보는 겹쳐져 있는 영역의 넓이일 수 있다. 즉, 상기 출력 데이터가 바운딩 박스 형태로 구현된 경우, 상기 바운딩 박스는 앞서 상술한 과실 정보 벡터가 가지는 과실 위치 라벨링 데이터와 대응될 수 있다. 상기 과실 위치 라벨링 데이터는 (X,Y,L,H)로 구현될 수 있고, (X,Y) 정보와 (L,H) 정보를 통해 제어부는 적어도 하나 이상의 바운딩 박스가 서로 다른 바운딩 박스와 겹쳐지는 경우, 겹쳐진 영역의 넓이를 구할 수 있다. 제어부는 상기 겹쳐진 영역의 넓이가 넓을수록 상기 영역에 대응하는 과실을 수확 보류 과실로 판단할 수도 있다. 즉, 다른 과실에 의해 가려진 영역이 큰 과실들을 수확 보류 과실로 판단할 수 있다. 이 경우 제어부는 미리 정의된 값을 가지고 있는 상태에서, 가려진 영역이 미리 정의된 값보다 큰 과실은 수확 보류 과실로 판단할 수 있다.
제어부가 수확 순서에 따라 수확 보류 과실을 판단한 경우, 제어부는 상기 수확 보류 과실을 수확하는 판단을 하거나 상기 수확 보류 과실을 수확하지 않은 판단을 할 수 있다. 제어부가 수확 보류 과실을 수확하는 판단을 한 경우 수확 장치는 상기 수확 보류 과실을 수확할 수 있다. 또한, 수확 장치는 상기 수확 보류 과실을 따로 분리해서 보관할 수도 있다.
이하에서는 도 14를 참조하여, 앞서 상술한 실시 예와는 다른 방법으로 온실 내 열을 구분할 수 있는 방법에 관해 설명하도록 한다.
도 14는 일 실시 예에 따른 제2 인공신경망이 학습하는 것을 설명하는 도면이다.
도 14를 참조하면, 제2 인공신경망(220b)의 학습 과정에 관한 일 예를 블록도로 설명할 수 있다.
앞서 상술한 바와 같이 인공신경망을 학습시키기 위한 학습 데이터는 열 라벨링 데이터를 포함할 수 있다. 상기 학습 데이터를 통해 학습된 인공신경망은 작물 이미지가 인공신경망으로 입력되면, 상기 작물 이미지가 포함하는 과실의 열에 관한 데이터를 출력할 수 있다.
이러한 방법과는 다르게, 또 다른 실시 예에 따르면, 제2 인공신경망을 활용하여 작물이 포함하는 과실의 열을 구분할 수 있다.
도 1에서 도시한 바와 같이 온실은 제1열 작물, 제2열 작물, 및 제3열 작물이 열에 따라 구분되어 생장하는 공간일 수 있다. 온실에서 수확 장치는 열과 열 사이를 이동하며 수확 대상이 되는 과실을 판단하고, 수확할 수 있다.
수확 장치가 제1열 작물에 대해서 수확하려는 경우, 제2열 작물 및 제3열 작물은 물리적으로 수확할 수 없는 경우가 있을 수 있다. 또는 제2열 작물 및 제3열 작물을 수확 대상 과실로 판단하는 경우, 수확 장치의 수확 작동으로 인해 제1열 작물이 손실되는 경우가 있을 수 있다. 따라서, 수확 장치가 제1열 작물을 수확 대상 과실로 판단하는 경우, 제2열 및 제3열 작물의 경우에는 수확 대상 과실로 판단되지 않아야 한다.
이를 해결하기 위해, 수확 장치에서 이미지를 획득할 때 제1열 작물만을 포함하는 이미지를 획득할 필요가 있다. 즉, 제1열 작물에 대해 이미지를 획득할 시 제2열 작물 및 제3열 작물이 상기 이미지에 포함된다면, 이는 노이즈에 해당될 수 있으며 상기 노이즈를 제거할 필요가 있다.
도 14를 참조하면, 제2 인공신경망을 활용하여 이를 해결할 수 있다. 제2 인공신경망은 도 3에서 상술한 인공신경망의 기능을 수행할 수 있다. 제2 인공신경망은 CNN 알고리즘으로 구현될 수 있으나 이에 한정되어 해석되는 것은 아니다.
제2 인공신경망은 제1열, 제2열, 제3열에서 생장하는 작물이 모두 포함된 작물 이미지가 입력되면, 제1열 작물만을 포함하는 이미지를 출력할 수 있다.
이를 위해 제2 인공신경망(220b)은 작물 이미지를 기초로 학습할 필요가 있다. 보다 구체적으로, 제2 인공신경망(220b)은 제1이미지(920a)가 입력되고, 제2인공신경망(220b)은 제3이미지(920c)를 출력하고, 제3이미지(920c)와 제2이미지(920b)를 비교하여 그 오차의 역전파를 통해 제2인공신경망(220b)이 학습할 수 있다.
제1 이미지(920a)와 제2 이미지(920b)는 수확 장치의 이미지 획득부에서 획득된 이미지이거나 수확 장치 내 저장부에 저장된 이미지일 수 있다.
제1 이미지(920a)는 제1열 작물, 제2열 작물 및 제3열 작물이 모두 포함되는 이미지일 수 있다. 제2 이미지(920b)는 제1열 작물만을 포함하는 작물 이미지일 수 있다. 제1 이미지(920a)와 제2 이미지(920b)에 포함된 제1열 작물 이미지는 서로 같을 수 있다.
제3 이미지(920c)는 제2 인공신경망(220b)이 학습하는 과정에서 출력하는 이미지일 수 있다. 제3 이미지(920c)는 제2 인공신경망이 제1 이미지(920a)를 입력 받으면, 제1 이미지(920a)에서 제1 열 작물만을 남기고 제2열 작물 및 제3열 작물을 노이즈로 인식하여 제거한 후 출력하는 이미지일 수 있다. 제2 인공신경망(220b)는 제3 이미지(920c)와 제2 이미지(920b)의 차이를 비교하여 학습할 수 있다.
이하에서는 도 15을 참조하여 제1 이미지(920a)와 제2 이미지(920b)를 획득하는 과정에 대해 구체적으로 설명하도록 한다.
도 15는 일 실시 예에 따른 제1 이미지 및 제2 이미지 획득에 관한 도면이다.
수확 장치(20)는 제1 이미지(920a) 및 제2 이미지(920b)를 획득할 수 있다. 수확 장치(20)의 이미지 획득부(100)는 제1 이미지(920a) 및 제2 이미지(920b)를 획득할 수 있다. 수확 장치(20)은 온실 내 설치된 레일 위를 일정 속도로 이동하며 제1 이미지(920a) 및 제2 이미지(920b)를 획득할 수 있다.
제1 이미지(920a)는 수확 장치(20)와 인접한 제1열 작물(11)과 수확 장치와 이격된 제2열 작물(12), 및 제3열 작물(13)를 포함할 수 있다.
제2 이미지(920b)는 수확 장치(20)와 인접한 제1열 작물(11)만을 포함하는 이미지일 수 있다. 제1 이미지(920a)와 제2 이미지(920b)에 포함된 제1열 작물(11)은 각 이미지에서 동일한 작물일 수 있다.
제2 이미지(920b)는 온실 내에서 암막 장치(30)가 설치된 후 수확 장치(20)에서 획득한 이미지일 수 있다. 암막 장치(30)는 제1열 작물(11)과 제2열 작물(12) 사이에 설치될 수 있다. 암막 장치(30)은 제1열 작물(11)과 제2열 작물(12) 사이에 설치된 레일을 따라 일정한 속도로 이동할 수 있다. 암막 장치(30)은 수확 장치(20)가 제2 이미지(920b)를 획득할 때, 제2 열 작물(12) 및 제3 열 작물(13)을 가리는 기능을 수행할 수 있다.
암막 장치(30)는 수확 장치(20)와 동기화 된 상태로 온실 내에서 이동할 수 있다. 상기 동기화 된 상태란 암막 장치(30)와 수확 장치(20)가 같은 속도로 일정 거리를 유지한 상태로 온실 내에서 이동하는 것을 의미할 수 있다.
암막 장치(30)는 일 실시 예에 해당하고, 온실 내에서 수확 장치(20)가 이미지를 획득할 때, 제1 열 작물(11)과 제2 열 작물(12) 및 제3열 작물(13)을 가리는 기능을 수행하는 장치이면 어떠한 형태도 포함될 수 있다.
수확 장치(20)는 상술한 도9 및 도 10을 통한 기술적 방법뿐만 아니라, 스테레오 스코픽 카메라를 활용하여 작물과 수확 장치(20)간의 거리를 산출할 수도 있다. 보다 구체적으로, 수확 장치는 스테레오 스코픽 카메라를 활용하여 상기 제1 이미지(920a) 및 상기 제2 이미지(920b)를 포함하는 복수의 작물 이미지를 획득할 수 있으며, 상기 획득된 이미지를 제2 인공신경망 학습에 활용할 수 있다.
이하에서는 온실 내에서 수확 장치와 작물 간의 실제 거리를 구하는 다른 방법을 설명하도록 한다.
도 16은 일 실시 예에 따른 수확 장치에서 작물까지 거리를 구하는 방법을 설명하는 도면이다.
도 16을 참조하면, 과실(15)과 수확 장치(20)의 직선 거리를 구하는 방법을 설명할 수 있다.
수확 장치(20)는 온실에서 일정 속도를 유지하며 이동할 수 있고, 이동하는 중에 작물 (10) 이미지를 획득할 수 있다. 수확 장치(20) 내 이미지 획득부(100)는 일정 속도로 이동하며 작물(10) 이미지를 획득할 수 있다. 상기 작물 이미지는 과실(15)을 포함하는 이미지일 수 있다.
수확 장치(20)는 제1 시점에서 제1 영역(21)에 위치하는 경우, 과실(15)의 이미지를 획득할 수 있다. 또한 수확 장치(20)는 제1 시점에서 제2 시점으로 시간이 경과하는 중에 제2 영역(22)로 이동할 수 있으며, 이동하는 중에 과실(15)을 포함하는 이미지를 획득할 수 있다. 상기 제2 영역(22)은 수확 장치(20)의 이미지 획득부(100)의 정중앙과 과실(15)의 기준점을 이은 가상선과 겹치는 영역일 수 있다.
수확 장치(20)가 일정 속도로 이동하며 제2 시점에서 제2 영역(22)에 위치하는 경우, 제1 시점에서 제2 시점까지의 시간 차이가 T1일 수 있다. 여기서, 수확 장치(20)는 일정 속도로 움직이기 때문에 수확 장치가 제1 영역(21)에서 제2 영역(22)까지 움직인 거리인 L1을 구할 수 있다. 즉 L1은 수확 장치(20)가 제1 영역(21)에서 제2 영역(22)로 이동한 거리일 수 있다.
여기서, 수확 장치(20)의 이미지 획득부(100)와 과실(15)간의 사이각(355)을 구할 수 있다. 보다 구체적으로 사이각(355)은 이미지 획득부(100)의 정중앙 점과 과실(15)를 직선 거리로 이은 가상선과 이미지 획득부(100)의 정중앙 점에서 이미지 획득부(100)의 정면 방향으로 이은 직선 가상선 간의 각도일 수 있다.
상기 사이각(355)과, L1 거리값을 통해 수확 장치(20)와 과실(15)간의 거리인 H1을 구할 수 있다. 보다 구체적으로 H1은 탄젠트 함수(tan 함수)를 활용하여 구할 수 있다.
수확 장치(20)와 과실(15)간의 거리인 H1을 활용하여 수확 장치(20) 내 제어부는 수확 순서를 판단할 수 있다. 상기 수확 순서는 도 13에서 상술한 수확 순서 중 하나일 수 있다.
앞서 상술한 방법과 다르게, 거리 센서 등 추가적인 장치를 활용해서 작물과 수확 장치 간의 거리를 산출할 수도 있다. 예를 들어, 수확 장치는 거리 센서 또는 3D Depth Camera를 활용하여 앞서 상술한 방법을 통하지 아니하고도 직접 수확 장치와 작물 간의 실제 거리를 구할 수도 있다. 상기 거리 센서는 오브젝트와의 거리를 구하는 기능을 수행하는 장치라면 어떠한 형태도 포함할 수 있다.
도 17은 일 실시예에 따른 머신 러닝 동작 시스템(Machine learning Operation System)을 설명하기 위한 도면이다.
도 17을 참조하면, 일 실시예에 따른 머신 러닝 동작 시스템(1000)은 학습 데이터 준비 시스템, 모델 학습 시스템, 학습 모델을 이용한 분석 및 예측 시스템, 모델 평가 시스템 등을 포함할 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 학습 데이터 준비 시스템은 학습용 이미지 세트(1010)를 획득하고, 상기 학습용 이미지 세트(1010)를 이용하여 학습 데이터 세트(1030)를 생성하기 위한 시스템일 수 있다.
예를 들어, 일 실시예에 따른 학습 데이터 준비 시스템은 상기 학습용 이미지 세트(1010)에 대한 라벨링 데이터를 포함하는 상기 학습 데이터 세트(1030)를 생성하기 위한 시스템일 수 있다.
이 때, 상기 라벨링 데이터는 상기 학습용 이미지 세트(1010)에 포함되는 적어도 하나의 특징에 대한 학습용 결과 데이터를 의미할 수 있다.
예를 들어, 상기 라벨링 데이터는 상기 학습용 이미지 세트(1010)에 포함되는 과실에 대응되는 특징에 대한 숙성도 데이터일 수 있으나, 이에 한정되지 않는다.
일반적으로, 상기 학습용 이미지 세트(1010)를 이용하여 상기 학습 데이터 세트(1030)를 생성하기 위하여 사람의 판단이 가미될 수 있다.
예를 들어, 상기 학습용 이미지 세트(1010)에 포함되는 적어도 하나의 특징을 사람이 시각적으로 분류하여 라벨링 데이터를 생성할 수 있다.
보다 구체적인 예를 들어, 상기 학습용 이미지 세트(1010)에 포함되는 과실에 대응되는 특징이 클래스1(익음)에 포함되는지 클래스2(익는중)에 포함되는지 클래스3(안익음)에 포함되는지 사람이 결정하여 라벨링 데이터를 생성할 수 있다.
그러나, 상술한 바와 같이 온전히 사람의 판단을 이용하여 상기 학습용 이미지 세트(1010)를 이용하여 상기 학습 데이터 세트(1030)를 생성하는 것은 시간적, 비용적은 소모가 증가될 수 있으며, 특히 학습용 이미지 세트(1010)의 수가 많아질수록 시간적, 비용적 소모가 보다 증가할 수 있다.
따라서, 일 실시예에 따른 학습 데이터 준비 시스템은 상기 학습용 이미지 세트(1010)에 대한 라벨링 데이터 또는 슈도-라벨링 데이터(Pseudo Labeling data)를 획득하기 위한 어노테이션 모듈(Annotation Module)(1020)을 포함할 수 있다.
이 때, 상기 슈도-라벨링 데이터는 상기 학습용 이미지 세트(1010)에 포함되는 적어도 하나의 특징에 대한 사람의 판단에 도움을 주거나 가이드를 제공하기 위하여 제공되는 1차 라벨링 데이터를 의미할 수 있으나, 이에 한정되지 않는다.
상술한 바와 같이, 일 실시예에 따른 학습 데이터 준비 시스템이 상기 학습용 이미지 세트(1010)에 대한 라벨링 데이터 또는 슈도-라벨링 데이터를 획득하기 위한 어노테이션 모듈(1020)을 포함하는 경우, 사람의 판단에 소요되는 시간적, 비용적 손실을 감소시킬 수 있으며, 사람이 판단하기 애매한 범위에서의 보다 명확한 판단 기준을 제시하여 최종적인 분석 또는 예측 모델의 정확도를 향상시킬 수 있다.
일 실시예에 따른 어노테이션 모듈(1020)을 포함하는 학습 데이터 준비 시스템에 대하여는 도 18 및 도 19를 통하여 아래에서 보다 구체적으로 기술하기로 한다.
다시 도 17을 참조하면, 일 실시예에 따른 머신 러닝 동작 시스템(1000)에 포함되는 모델 학습 시스템은 생성된 학습 데이터 세트(1030)를 이용하여 설계된 인공 지능 모델을 학습시키기 위한 시스템일 수 있다.
이 때, 상기 설계된 인공 지능 모델은 도 17에 도시된 바와 같이 숙성도 분류 모델(1040)을 포함할 수 있으나, 이에 한정되지 않으며, 숙성도 결정 모델, 숙성도 산출 모델, 과실 수확 여부 판단 모델 등 다양한 모델을 포함할 수 있다.
또한, 상기 설계된 인공 지능 모델은 적어도 하나의 인공 신경망 층(Artificial neural network, ANN)을 포함할 수 있다.
예를 들어, 상기 설계된 인공 지능 모델은 전방 전달 신경망(Feedforward neural network) ), 방사 신경망(radial basis function network) 또는 코헨 자기조직 신경망(kohonen self-organizing network), 심층 신경망(Deep neural network, DNN), 합성곱신경망(Convolutional neural network, CNN), 순환 인공 신경망(Recurrent neural network, RNN), LSTM(Long Short Term Memory Network) 또는 GRUs(Gated Recurrent Units) 등 다양한 인공 신경망 층 중 적어도 하나의 인공 신경망 층을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 상기 설계된 인공 지능 모델에 포함되는 상기 적어도 하나의 인공 신경망 층은 동일하거나 상이한 활성 함수(Activation function)를 이용할 수 있다.
이 때, 상기 활성 함수(Activation function)는 시그모이드 함수(Sigmoid Function), 하이퍼볼릭탄젠트 함수(Tanh Fucntion), 렐루 함수(Relu Function, Rectified Linear unit Fucntion), 리키 렐루 함수(leaky Relu Function), 엘루 함수(ELU Function, Exponential Linear unit function), 소프트맥스 함수(Softmax function) 등을 포함할 수 있으나, 이에 한정되지 않으며, 결과값을 출력하거나 다른 인공 신경망 층으로 전달하기 위한 다양한 활성 함수(커스텀 활성 함수들 포함)들이 포함될 수 있다.
또한, 일 실시예에 따른 모델 학습 시스템은 상기 설계된 인공 지능 모델을 학습시키기 위하여 적어도 하나의 손실 함수를 이용할 수 있다.
이 때, 상기 적어도 하나의 손실 함수는 MSE(Mean Squared Error), RMSE(Root Mean Squared Error), Binary Crossentropy, Categorical Crossentropy, Sparse Categorical Crossentropy 등을 포함할 수 있으나, 이에 한정되지 않으며, 예측된 결과값과 실제 결과 값의 차이를 계산하기 위한 다양한 함수(커스텀 손실 함수들 포함)들이 포함될 수 있다.
또한, 일 실시예에 따른 모델 학습 시스템은 상기 설계된 인공 지능 모델을 학습시키기 위하여 적어도 하나의 옵티마이저(Optimizer)를 이용할 수 있다.
이 때, 상기 옵티마이저는 입력값과 결과값 사이의 관계 파라미터를 갱신시키기 위하여 이용될 수 있다.
이 때, 상기 적어도 하나의 옵티마이저는 Gradient descent, Batch Gradient Descent, Stochastic Gradient Descent, Mini-batch Gradient Descent, Momentum, AdaGrad, RMSProp, AdaDelta, Adam, NAG, NAdam, RAdam, AdamW 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 모델 학습 시스템에서 상기 설계된 인공지능 모델이 학습될 수 있으며, 학습된 인공 지능 모델은 상기 머신 러닝 동작 시스템(1000)에 포함되는 분석 및 예측 시스템에서 이용될 수 있다.
이 때, 학습된 인공 지능 모델은 도 17에 도시된 바와 같이 학습된 숙성도 분류 모델(1050)을 포함할 수 있으나, 이에 한정되지 않으며, 학습된 숙성도 결정 모델, 학습된 숙성도 산출 모델, 학습된 과실 수확 여부 판단 모델 등 다양한 모델을 포함할 수 있다.
일 실시예에 따른 분석 및 예측 시스템은 상기 학습된 인공지능 모델을 이용하여 획득된 분석 이미지(1060)로부터 결과 데이터(1070)를 출력하는 시스템일 수 있다.
이 때, 상기 분석 이미지(1060)는 이미지 획득 장치로부터 획득된 이미지를 포함할 수 있으나, 이에 한정되지 않으며, 이미지 획득 장치로부터 획득된 이미지로부터 추출된 적어도 하나의 특징에 대한 이미지를 포함할 수 있다.
예를 들어, 상기 분석 이미지(1060)는 이미지 획득 장치로부터 획득된 작물에 대한 이미지로부터 추출된 과실에 대한 이미지를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 상기 결과 데이터(1070)는 상기 분석 이미지(1060)에 대한 분류 데이터를 포함할 수 있다.
예를 들어, 상기 결과 데이터(1070)는 상기 분석 이미지(1060)에 대한 익음, 익는중, 안익음을 클래스로 하는 분류 데이터를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 상기 결과 데이터(1070)는 상기 분석 이미지(1060)에 대한 분류 스코어 데이터를 포함할 수 있다.
예를 들어, 상기 결과 데이터(1070)는 상기 분석 이미지(1060)에 대한 익음 스코어, 익는중 스코어, 안익음 스코어 등의 분류 스코어 데이터를 포함할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 분류 스코어 데이터는 각각의 클래스에 포함되는 확률 값을 의미할 수 있다.
예를 들어, 상기 분류 스코어 데이터는 익음 클래스에 포함될 확률 값, 익는중 클래스에 포함될 확률 값, 안익음 클래스에 포함될 확률 값을 의미할 수 있으나, 이에 한정되지 않는다.
또한, 상기 분류 스코어 데이터는 합이 1이 되도록 출력될 수 있다. 예를 들어, 예측을 위한 최종 활성 함수가 Softmax로 설정된 경우, 익음 클래스에 포함될 확률 값, 익는중 클래스에 포함될 확률 값, 안익음 클래스에 포함될 확률 값을 모두 합치면 1이 될 수 있으나, 이에 한정되지 않는다.
또한, 상기 결과 데이터(1070)는 상기 머신 러닝 동작 시스템(1000)에 포함되는 과실 수확 여부 판단 시스템 또는 평가 시스템에 이용될 수 있다.
일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)를 이용하여 과실 수확 여부를 판단하는 시스템일 수 있다.
예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터를 기초로 과실 수확 여부를 판단하는 시스템일 수 있다.
보다 구체적인 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터가 익음인 경우만 과실을 수확하도록 판단하는 시스템일 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 스코어 데이터를 기초로 과실 수확 여부를 판단하는 시스템일 수 있다.
보다 구체적인 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 스코어 데이터가 기준 값 이상인 경우만 과실을 수확하도록 판단하는 시스템일 수 있으나, 이에 한정되지 않는다.
이 때, 상기 분류 스코어 데이터에 대한 기준 값은 다양한 요인에 의해 변경될 수 있다.
예를 들어, 상기 분류 스코어 데이터에 대한 기준 값은 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 등에 의해 변경될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터 및 분류 스코어 데이터를 기초로 과실 수확 여부를 판단하는 시스템일 수 있다.
보다 구체적인 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터가 익음이며, 분류 스코어 데이터가 기준 값 이상인 경우만 과실을 수확하도록 판단하는 시스템일 수 있으나, 이에 한정되지 않는다.
이 때, 상기 분류 스코어 데이터에 대한 기준 값은 다양한 요인에 의해 변경될 수 있다.
예를 들어, 상기 분류 스코어 데이터에 대한 기준 값은 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 등에 의해 변경될 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 평가 시스템은 상기 결과 데이터(1070)에 대한 평가를 위한 시스템일 수 있다.
예를 들어, 일 실시예에 따른 평가 시스템은 상기 결과 데이터(1070)를 기초로 산출되는 불확실성을 기초로 상기 결과 데이터(1070)에 대한 평가 지표를 산출하기 위한 시스템일 수 있으나, 이에 한정되지 않는다.
이 때, 상기 불확실성은 상기 결과 데이터(1070)에 포함되는 각각의 클래스에 대한 분류 스코어 데이터를 기초로 산출될 수 있다.
예를 들어, 상기 불확실성은 아래와 같은 엔트로피(entropy) 산출 수학식에 의해 산출될 수 있다.
이 때, P(xi)는 각각의 클래스에 대한 분류 스코어 데이터를 의미할 수 있으나, 이에 한정되지 않는다.
또한, 상술한 불확실성 또는 엔트로피를 기초로 상기 결과 데이터(1070)에 대한 평가 지표(1090)가 산출될 수 있다.
또한, 일 실시예에 따른 머신 러닝 동작 시스템(1000)에서 상기 평가 지표(1090)는 과실 수확 여부 판단 시스템에서 이용될 수 있다.
일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070) 및 상기 평가 시스템에서 출력된 상기 평가 지표(1090)를 이용하여 과실 수확 여부를 판단하는 시스템일 수 있다.
예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터 및 상기 평가 시스템에서 출력된 상기 평가 지표(1090)를 기초로 과실 수확 여부를 판단하는 시스템일 수 있다.
보다 구체적인 예를 들어, 일 실시예에 따른 과실 수확 여부 판단 시스템은 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 분류 데이터가 익음이며, 상기 평가 지표(1090)가 기준 값 이상인 경우만 과실을 수확하도록 판단하는 시스템일 수 있으나, 이에 한정되지 않는다.
이 때, 상기 평가 지표(1090)에 대한 기준 값은 다양한 요인에 의해 변경될 수 있다.
예를 들어, 상기 평가 지표(1090)에 대한 기준 값은 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 등에 의해 변경될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 머신 러닝 동작 시스템(1000)에서 상기 평가 지표(1090)는 새로운 학습용 이미지 세트를 획득하기 위한 지표로서 이용될 수도 있다.
예를 들어, 상기 평가 지표(1090)가 기준 값을 초과하는 경우, 상기 분석 및 예측 시스템에서 출력된 상기 결과 데이터(1070)의 불확실성 값이 높다는 것을 의미할 수 있으므로, 상기 평가 지표(1090)가 기준 값을 초과하는 경우 상기 분석 이미지(1060)를 새로운 학습용 이미지 세트에 포함시킬 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 머신 러닝 동작 시스템(1000)은 상기 새로운 학습용 이미지 세트를 기초로 새로운 학습 데이터 세트를 생성할 수 있으며, 생성된 새로운 학습 데이터 세트를 기초로 상기 설계된 인공 지능 모델을 재학습 하거나, 추가 학습하도록 할 수 있다.
또한, 일 실시예에 따른 머신 러닝 동작 시스템(1000)은 재학습되거나 추가 학습된 새로운 버전의 인공 지능 모델을 배포 또는 재배포하여 학습된 인공 지능 모델의 버전을 관리할 수 있다.
이하에서는 일 실시예에 따른 어노테이션 모듈에 대하여 보다 구체적으로 기술하기로 한다.
도 18은 일 실시예에 따른 어노테이션 모듈의 동작 방법을 나타낸 흐름도이며, 도 19는 일 실시예에 따른 어노테이션 모듈에 대하여 보다 구체적으로 설명하기 위한 도면이다.
도 18을 참조하면, 일 실시예에 따른 어노테이션 모듈(Annotation module)의 동작 방법(1100)은 학습용 이미지를 획득하는 단계(S1110), 적어도 하나의 특징 영역을 추출하는 단계(S112), 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130) 및 적어도 두 개의 파라미터를 기초로 상기 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계(S1140) 중 적어도 하나의 단계를 포함할 수 있다.
일 실시예에 따른 학습용 이미지를 획득하는 단계(S1110)는 컴퓨터의 특정 경로에 위치하는 학습용 이미지를 로딩하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 학습용 이미지를 획득하는 단계(S1110)는 특정 서버에 저장된 학습용 이미지를 로딩하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 학습용 이미지를 획득하는 단계(S1110)는 온라인 드라이브 등에 저장된 학습용 이미지를 로딩하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 적어도 하나의 특징 영역을 추출하는 단계(S1120)는 도 4 등을 통해 기술한 내용들이 적용될 수 있으므로, 중복되는 서술은 생략하기로 한다.
또한, 일 실시예에 따른 적어도 하나의 특징 영역을 추출하는 단계(S1120)는 특징 영역을 추출하기 위한 알고리즘, 머신 러닝, 딥러닝 등의 기술이 이용될 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터는 적어도 두 개의 색과 관련된 파라미터 일 수 있다.
예를 들어, 상기 적어도 두 개의 파라미터가 제1 파라미터 및 제2 파라미터를 포함하는 경우, 상기 제1 파라미터는 제1 색과 관련된 파라미터 일 수 있으며, 상기 제2 파라미터는 제2 색과 관련된 파라미터 일 수 있다.
보다 구체적인 예를 들어, 상기 적어도 두 개의 파라미터가 제1 파라미터 및 제2 파라미터를 포함하는 경우, 상기 제1 파라미터는 대상 과실의 익음에 대한 색인 제1 색과 관련된 파라미터일 수 있으며, 상기 제2 파라미터는 대상 과실의 안익음에 대한 색인 제2 색과 관련된 파라미터일 수 있으나, 이에 한정되지 않는다.
예를 들어, 대상 과실이 토마토인 경우, 상기 제1 파라미터는 토마토의 익음에 대한 색인 빨간색과 관련된 파라미터일 수 있으며, 상기 제2 파라미터는 토마토의 안익음에 대한 색인 초록색과 관련된 파라미터일 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터를 획득하기 위하여 적어도 두 개의 색 범위가 이용될 수 있다.
이 때, 색 범위는 색 채널 값의 범위 또는 픽셀 값의 범위 등으로 표현될 수 있다.
예를 들어, 상기 적어도 두 개의 파라미터가 제1 파라미터 및 제2 파라미터를 포함하는 경우, 상기 제1 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제1 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으며, 상기 제2 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제2 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으나, 이에 한정되지 않는다.
이 때, 상기 제1 색 범위는 대상 과실의 익음과 관련된 색 범위일 수 있으며, 상기 제2 색 범위는 대상 과실의 안익음과 관련된 색 범위일 수 있다.
예를 들어, 대상 과실이 토마토인 경우 상기 제1 색 범위는 토마토의 익음에 대한 색인 빨간색 범위일 수 있으며, 상기 제2 색 범위는 토마토의 안익음에 대한 색인 초록색 범위일 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수와 각각의 색 범위에 포함되는 픽셀 값을 가지는 픽셀의 개수를 기초로 산출될 수 있다.
예를 들어, 상기 제1 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수 및 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제1 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으며, 상기 제2 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수 및 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제2 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터는 세 개의 파라미터를 포함하는 경우, 상기 세 개의 파라미터는 각각 세 개의 색과 관련된 파라미터일 수 있다.
예를 들어, 상기 적어도 두 개의 파라미터는 제1 파라미터, 제2 파라미터 및 제3 파라미터를 포함하는 경우, 상기 제1 파라미터는 제1 색과 관련된 파라미터 일 수 있으며, 제2 파라미터는 제2 색과 관련된 파라미터일 수 있다.
보다 구체적인 예를 들어, 상기 적어도 두 개의 파라미터가 제1 파라미터, 제2 파라미터 및 제3 파라미터를 포함하는 경우, 상기 제1 파라미터는 대상 과실의 익음에 대한 색인 제1 색과 관련된 파라미터일 수 있으며, 상기 제2 파라미터는 대상 과실의 안익음에 대한 색인 제2 색과 관련된 파라미터일 수 있고, 상기 제3 파라미터는 대상 과실의 익는중에 대한 색인 제3 색과 관련된 파라미터일 수 있으나, 이에 한정되지 않는다.
예를 들어, 대상 과실이 토마토인 경우, 상기 제1 파라미터는 토마토의 익음에 대한 색인 빨간색과 관련된 파라미터일 수 있으며, 상기 제2 파라미터는 토마토의 안익음에 대한 색인 초록색과 관련된 파라미터일 수 있고, 상기 제3 파라미터는 토마토의 익는중에 대한 색인 주황색과 관련된 파라미터일 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터는 세 개의 파라미터를 포함하는 경우, 상기 세 개의 파라미터를 획득하기 위하여 세 개의 색 범위가 이용될 수 있다.
이 때, 색 범위는 색 채널 값의 범위 또는 픽셀 값의 범위 등으로 표현될 수 있다.
예를 들어, 상기 적어도 두 개의 파라미터가 제1 파라미터, 제2 파라미터 및 제3 파라미터를 포함하는 경우, 상기 제1 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제1 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으며, 상기 제2 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제2 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있고, 상기 제3 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB값)이 제3 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으나, 이에 한정되지 않는다.
이 때, 상기 제1 색 범위는 대상 과실의 익음과 관련된 색 범위일 수 있으며, 상기 제2 색 범위는 대상 과실의 안익음과 관련된 색 범위일 수 있고, 상기 제3 색 범위는 대상 과실의 익는중과 관련된 색 범위일 수 있다.
예를 들어, 대상 과실이 토마토인 경우 상기 제1 색 범위는 토마토의 익음에 대한 색인 빨간색 범위일 수 있으며, 상기 제2 색 범위는 토마토의 안익음에 대한 색인 초록색 범위일 수 있고, 상기 제3 색 범위는 토마토의 익는중에 대한 색인 주황색 범위일 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 적어도 하나의 특징 영역에 대한 적어도 두 개의 파라미터를 획득하는 단계(S1130)에서 상기 적어도 두 개의 파라미터는 세 개의 파라미터를 포함하는 경우, 상기 세 개의 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수와 각각의 색 범위에 포함되는 픽셀 값을 가지는 픽셀의 개수를 기초로 산출될 수 있다.
예를 들어, 상기 제1 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수 및 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제1 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으며, 상기 제2 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수 및 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB 값)이 제2 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있고, 상기 제3 파라미터는 상기 적어도 하나의 특징 영역에 포함되는 픽셀의 개수 및 상기 적어도 하나의 특징 영역에 포함되는 픽셀들 중 픽셀 값(예를 들어, RGB값)이 제3 색 범위에 포함되는 픽셀의 개수를 기초로 산출될 수 있으나, 이에 한정되지 않는다.
또한, 상술한 내용들은 2개 또는 3개의 파라미터를 기준으로 서술하였으나, 일 실시예에 따른 적어도 두 개의 파라미터는 상술한 예시들에 한정되지 않으며, 4개, 5개 등 다양한 개수의 파라미터를 포함할 수 있으며, 이 경우에도 상술한 내용들이 유사하게 적용될 수 있다.
일 실시예에 따른 적어도 두 개의 파라미터를 기초로 상기 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계(S1140)에 대하여는 2개의 파라미터를 기초로 라벨링 데이터를 획득하는 실시예를 기준으로 설명하기로 하며, 이는 도 19를 통해 보다 상세하게 기술하기로 한다.
또한, 본 명세서에서는 2개의 파라미터를 기초로 라벨링 데이터를 획득하는 실시예를 기준으로 설명하기는 하나 본 발명의 내용이 해당 실시예로 한정되는 것은 아니며, 앞서 기술한 바와 같이 3개, 4개, 5개의 파라미터 등 다양한 개수의 파라미터를 기초로 라벨링 데이터를 획득하는 내용들도 포함이 될 수 있으며, 아래에서 기술한 내용들을 기초로 충분히 설명될 수 있으므로 중복되는 서술들은 생략하기로 한다.
도 19를 참조하면, 적어도 두 개의 파라미터를 기초로 상기 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계(S1140)는 제1 파라미터와 제1 기준 값을 비교하는 단계 및 제2 파라미터와 제2 기준 값을 비교하는 단계를 포함할 수 있다.
예를 들어, 도 19에 도시된 바와 같이 상기 제1 파라미터와 제1 기준 값을 비교하는 단계는 상기 제1 파라미터가 상기 제1 기준 값 이상인 경우 상기 적어도 하나의 특징 영역을 제1 클래스로 라벨링하는 단계 및 상기 제1 파라미터가 상기 제1 기준 값 미만인 경우 상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 도 19에 도시된 바와 같이 상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계는 상기 제2 파라미터가 상기 제2 기준 값 이상인 경우 상기 적어도 하나의 특징 영역을 제2 클래스로 라벨링하는 단계 및 상기 제2 파라미터가 상기 제2 기준 값 미만인 경우 제3 클래스로 라벨링하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
이 때, 도 19에 도시된 바와 같이 상기 제1 클래스는 익음에 대한 클래스일 수 있으며, 상기 제2 클래스는 안익음에 대한 클래스일 수 있고, 상기 제3 클래스는 익는중에 대한 클래스일 수 있다.
또한, 도 19에 도시된 예시와는 다르게, 적어도 두 개의 파라미터를 기초로 상기 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계(S1140)는 1 파라미터와 제1 기준 값을 비교하는 단계 및 제2 파라미터와 제2 기준 값을 비교하는 단계를 포함할 수 있다.
예를 들어, 상기 제2 파라미터와 제2 기준 값을 비교하는 단계는 상기 제2 파라미터가 상기 제2 기준 값 이상인 경우 상기 적어도 하나의 특징 영역을 제2 클래스로 라벨링하는 단계 및 상기 제2 파라미터가 상기 제2 기준 값 미만인 경우 상기 제1 파라미터와 상기 제1 기준 값을 비교하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 제1 파라미터와 상기 제1 기준 값을 비교하는 단계는 상기 제1 파라미터가 상기 제1 기준 값 이상인 경우 상기 적어도 하나의 특징 영역을 제1 클래스로 라벨링하는 단계 및 상기 제1 파라미터가 상기 제1 기준 값 미만인 경우 제3 클래스로 라벨링하는 단계를 포함할 수 있으나, 이에 한정되지 않는다.
도 19를 통해 기술한 바와 같이, 적어도 두 개의 파라미터를 기초로 상기 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계(S1140)는 획득된 파라미터들에 대한 기준 값을 기초로 라벨링 데이터를 결정하는 결정 트리(Decision Tree)를 이용할 수 있으나, 이에 한정되지 않는다.
또한, 상술한 제1 기준 값 및 제2 기준 값은 동일할 수 있으나, 이에 한정되지 않으며, 서로 상이할 수 있다.
과실의 익음 또는 과실의 수확에 대한 판단 기준은 정책적 기준에 의해서 변경될 수 있다.
이는 과실의 수확 시기, 계절, 수요량, 날씨, 유통망의 길이 등에 따라 수확이 필요한 과실의 상태가 변경될 수 있다는 것을 의미할 수 있으며, 예를 들어, 평균 온도가 높아 유통 중 보다 더 익음의 상태로 변경될 수 있는 계절의 경우 평균 온도가 낮은 계절 보다 덜 익은 과실부터 수확하는 것이 바람직할 수 있다.
따라서, 상술한 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계에서 이용되는 기준 값 또는 결정 트리의 구조는 과실의 수확 시기, 계절, 수요량, 날씨, 유통망의 길이 등에 따라 변경되는 것이 바람직할 수 있다.
예를 들어, 예를 들어, 평균 온도가 높아 유통 중 보다 더 익음의 상태로 변경될 수 있는 계절의 경우 평균 온도가 낮은 계절 보다 제1 기준 값이 낮게 설정될 수 있으나, 이에 한정되지 않는다.
따라서, 적어도 하나의 특징 영역에 대한 라벨링 데이터를 획득하는 단계에서 이용되는 기준 값 또는 결정 트리의 구조가 다른 어노테이션 모듈을 활용하여 서로 다른 학습 데이터 세트를 생성하여, 서로 다른 버전의 학습된 인공지능 모델을 확보하는 것은 과실의 수확에 대한 정책적 판단에 따라 유연하게 대처할 수 있는 방법이 될 수 있다.
이하에서는 서로 다른 어노테이션 모듈을 이용하여 서로 다른 버전의 학습된 인공 지능 모델을 확보하는 머신 러닝 동작 시스템에 대하여 설명하기로 한다.
도 20은 일 실시예에 따른 머신 러닝 동작 시스템(Machine learning Operation System)을 설명하기 위한 도면이다.
도 20을 참조하면, 일 실시예에 따른 머신 러닝 동작 시스템(1200)은 학습 데이터 준비 시스템, 모델 학습 시스템, 학습 모델을 이용한 분석 및 예측 시스템, 모델 평가 시스템 등을 포함할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 머신 러닝 동작 시스템(1200)에 대하여 도 17을 통해 설명된 내용들이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
도 20을 참조하면, 일 실시예에 따른 학습 데이터 준비 시스템은 제1 어노테이션 모듈(1220) 및 제2 어노테이션 모듈(1230)을 포함할 수 있다.
이 때, 상기 제1 어노테이션 모듈(1220) 및 상기 제2 어노테이션 모듈(1230)은 서로 다른 모듈일 수 있다.
예를 들어, 상기 제1 어노테이션 모듈(1220) 및 상기 제2 어노테이션 모듈은 서로 다른 기준 값을 가지는 모듈일 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 제1 어노테이션 모듈(1220) 및 상기 제2 어노테이션 모듈은 서로 다른 결정 트리 구조를 가지는 모듈일 수 있으나, 이에 한정되지 않는다.
또한, 도 20을 참조하면, 일 실시예에 따른 학습 데이터 준비 시스템은 상기 제1 어노테이션 모듈(1220)을 이용하여 학습용 이미지 세트(1210)로부터 제1 학습 데이터 세트(1240)를 획득할 수 있으며, 상기 제2 어노테이션 모듈(1230)을 이용하여 상기 학습용 이미지 세트(1210)로부터 제2 학습 데이터 세트(1250)를 획득할 수 있다.
다만, 도 20에는 상기 제1 학습 데이터 세트(1240) 및 상기 제2 학습 데이터 세트(1250)를 획득하기 위한 학습용 이미지 세트(1210)가 동일한 것으로 표시되었으나, 각각의 학습 데이터 세트를 획득하기 위한 학습용 이미지 세트는 서로 상이할 수 있다.
또한, 도 20을 참조하면, 일 실시예에 따른 모델 학습 시스템은 서로 다른 학습 데이터를 이용하여 서로 다른 버전의 학습된 인공지능 모델 생성할 수 있다.
예를 들어, 도 20을 참조하면, 일 실시예에 따른 모델 학습 시스템은 상기 제1 학습 데이터 세트(1240)를 이용하여 제1 버전 숙성도 분류 모델(1270)을 생성할 수 있으며, 상기 제2 학습 데이터 세트(1250)를 이용하여 제2 버전 숙성도 분류 모델(1280)을 생성할 수 있으나, 이에 한정되지 않는다.
이 때, 상기 제1 버전 숙성도 분류 모델(1270) 및 상기 제2 버전 숙성도 분류 모델(1280)은 서로 다른 시점에 분석 및 예측 시스템에서 이용될 수 있다.
예를 들어, 상기 제1 버전 숙성도 분류 모델(1270)은 제1 계절에 분석 및 예측 시스템에서 이용될 수 있으며, 상기 제2 버전 숙성도 분류 모델(1280)은 제2 계절에 분석 및 예측 시스템에서 이용될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 제1 버전 숙성도 분류 모델(1270)은 수요량 예측 정보가 제1 범위일 때 분석 및 예측 시스템에서 이용될 수 있으며, 상기 제2 버전 숙성도 분류 모델(1280)은 수요량 예측 정보가 제2 범위일 때 분석 및 예측 시스템에서 이용될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 제1 버전 숙성도 분류 모델(1270)은 기온이 제1 범위일 때 분석 및 예측 시스템에서 이용될 수 있으며, 상기 제2 버전 숙성도 분류 모델(1280)은 기온이 제2 범위일 때 분석 및 예측 시스템에서 이용될 수 있으나, 이에 한정되지 않는다.
또한, 예를 들어, 상기 제1 버전 숙성도 분류 모델(1270)은 유통기간이 제1 기간인 유통망을 이용하는 과실에 대한 분석 및 예측 시스템에서 이용될 수 있으며, 상기 제2 버전 숙성도 분류 모델(1280)은 유통 기간이 제2 기간인 유통망을 이용하는 과실에 대한 분석 및 예측 시스템에서 이용될 수 있으나, 이에 한정되지 않는다.
이하에서는 다양한 조건에 따른 과실 수확 여부 판단 시스템에 대하여 보다 구체적으로 기술하기로 한다.
도 21은 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법에 대하여 설명하기 위한 흐름도이다.
도 21을 참조하면, 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법(1300)은 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 중 적어도 하나의 정보를 획득하는 단계(S1310), 획득된 정보를 기초로 과실 수확 판단 기준을 설정하는 단계(S1320) 및 과실 수확 판단 기준에 따라 과실 수확 여부를 판단하는 단계(S1330) 중 적어도 하나의 단계를 포함할 수 있다.
또한, 상기 과실 수확 여부 판단 시스템은 기본적으로 도 17을 통해 기술한 과실 수확 여부 판단 시스템의 내용이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
일 실시예에 따른 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 중 적어도 하나의 정보를 획득하는 단계(S1310)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 중 적어도 하나의 정보를 획득하는 단계(S1310)는 적어도 하나의 서버로부터 획득될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 계절 정보는 계절에 대한 분류 정보, 계절에 대한 기온 정보, 계절에 대한 습도 정보 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 날씨 예측 정보는 기온 정보, 습도 정보, 날씨 정보 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 유통망 관련 정보는 유통 기간 정보, 유통망 길이 정보, 유통 시기 정보 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 과실 수확 기준을 설정하는 단계(S1320)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 또한, 일 실시예에 따른 획득된 정보를 기초로 과실 수확 기준을 설정하는 단계(S1320)는 일 실시예에 따른 수확 장치에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 과실 수확 판단 기준을 설정하는 단계(S1320)에서 상기 과실 수확 판단 기준은 상술한 결과 데이터에 대한 기준 값, 상술한 평가 지표에 대한 기준 값 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 과실 수확 판단 기준에 따라 과실 수확 여부를 판단하는 단계(S1330)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 과실 수확 판단 기준에 따라 과실 수확 여부를 판단하는 단계(S1330)는 일 실시예에 따른 수확 장치에서 구현될 수 있으나, 이에 한정되지 않는다.
도 22는 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법에 대하여 설명하기 위한 흐름도이다.
도 22를 참조하면, 일 실시예에 따른 과실 수확 여부 판단 시스템의 동작 방법(1400)은 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 중 적어도 하나의 정보를 획득하는 단계(S1410), 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420), 결정된 버전에 대응되는 숙성도 분류 모델을 이용하여 분석 이미지에 대한 결과 데이터를 획득하는 단계(S1430) 및 획득된 결과 데이터를 기초로 과실 수확 여부를 판단하는 단계(S1440) 중 적어도 하나의 단계를 포함할 수 있다.
또한, 상기 과실 수확 여부 판단 시스템은 기본적으로 도 17을 통해 기술한 과실 수확 여부 판단 시스템의 내용이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
또한, 일 실시예에 따른 계절 정보, 수요량 예측 정보, 날씨 예측 정보, 유통망 관련 정보 중 적어도 하나의 정보를 획득하는 단계(S1410)에 대하여는 상술한 내용들이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 일 실시예에 따른 수확 장치에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)에서 숙성도 분류 모델의 버전은 상술한 내용들이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 계절 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계를 포함할 수 있다.
예를 들어, 일 실시예에 따라 획득된 계절 정보가 제1 계절에 대한 정보인 경우 숙성도 분류 모델을 제1 버전 숙성도 분류 모델로 결정하며, 획득된 계절 정보가 제2 계절에 대한 정보인 경우 숙성도 분류 모델을 제2 버전 숙성도 분류 모델로 결정할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 수요량 예측 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계를 포함할 수 있다.
예를 들어, 일 실시예에 따라 획득된 수요량 예측 정보가 제1 범위인 경우 숙성도 분류 모델을 제1 버전 숙성도 분류 모델로 결정하며, 획득된 수요량 예측 정보가 제2 범위인 경우 숙성도 분류 모델을 제2 버전 숙성도 분류 모델로 결정할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 날씨 예측 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계를 포함할 수 있다.
예를 들어, 일 실시예에 따라 획득된 날씨 정보에 포함되는 기온이 제1 범위인 경우 숙성도 분류 모델을 제1 버전 숙성도 분류 모델로 결정하며, 획득된 기온이 제2 범위인 경우 숙성도 분류 모델을 제2 버전 숙성도 분류 모델로 결정할 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 획득된 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계(S1420)는 유통망 관련 정보를 기초로 숙성도 분류 모델의 버전을 결정하는 단계를 포함할 수 있다.
예를 들어, 일 실시예에 따라 획득된 유통망 관련 정보에 포함되는 유통 기간이 제1 범위인 경우 숙성도 분류 모델을 제1 버전 숙성도 분류 모델로 결정하며, 획득된 기온이 제2 범위인 경우 숙성도 분류 모델을 제2 버전 숙성도 분류 모델로 결정할 수 있으나, 이에 한정되지 않는다.
또한, 결정된 버전에 대응되는 숙성도 분류 모델을 이용하여 분석 이미지에 대한 결과 데이터를 획득하는 단계(S1430)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 결정된 버전에 대응되는 숙성도 분류 모델을 이용하여 분석 이미지에 대한 결과 데이터를 획득하는 단계(S1430)는 일 실시예에 따른 수확 장치에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 결정된 버전에 대응되는 숙성도 분류 모델을 이용하여 분석 이미지에 대한 결과 데이터를 획득하는 단계(S1430)에 대하여는 상술한 분석 및 예측 시스템의 내용 등이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
또한, 획득된 결과 데이터를 기초로 과실 수확 여부를 판단하는 단계(S1440)는 적어도 하나의 서버에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 획득된 결과 데이터를 기초로 과실 수확 여부를 판단하는 단계(S1440)는 일 실시예에 따른 수확 장치에서 구현될 수 있으나, 이에 한정되지 않는다.
또한, 획득된 결과 데이터를 기초로 과실 수확 여부를 판단하는 단계(S1440)에 대하여는 상술한 과실 수확 여부 판단 시스템에 대한 내용 등이 적용될 수 있으므로 중복되는 서술은 생략하기로 한다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
전술한 바와 같이, 상기 발명의 실시를 위한 최선의 형태에서, 관련된 사항을 기술하였다.
Claims (7)
- 대상 과실에 대한 숙성도 판단 모델을 학습시키기 위한 학습 데이터 세트를 획득하기 위한 어노테이션(Annotation) 방법에 있어서,적어도 하나의 이미지를 획득하는 단계;상기 적어도 하나의 이미지에 포함되는 상기 대상 과실에 대한 특징 영역을 추출하는 단계;상기 특징 영역에 포함되는 픽셀 값을 기초로 제1 색에 대한 제1 파라미터 및 제2 색에 대한 제2 파라미터를 산출하는 단계;적어도 상기 제1 파라미터 및 상기 제2 파라미터를 기초로 상기 특징 영역에 대한 라벨링 데이터를 획득하는 단계; 를 포함하되,상기 제1 색은 상기 대상 과실의 익음 상태와 관련된 색을 의미하며,상기 제2 색은 상기 대상 과실의 안익음 상태와 관련된 색을 의미하고,상기 라벨링 데이터를 획득하는 단계는상기 제1 파라미터와 제1 기준값을 비교하는 단계 및 상기 제2 파라미터와 제2 기준값을 비교하는 단계를 포함하며,상기 라벨링 데이터는 제1 클래스, 제2 클래스 및 제3 클래스 중 적어도 하나의 클래스에 대응되는 라벨링 데이터를 포함하는어노테이션 방법.
- 제1 항에 있어서,상기 라벨링 데이터를 획득하는 단계에서,상기 제1 파라미터가 상기 제1 기준값 이상인 경우 상기 제1 클래스에 대응되는 라벨링 데이터를 획득하며,상기 제2 파라미터가 상기 제2 기준값 이상인 경우 상기 제2 클래스에 대응되는 라벨링 데이터를 획득하고,상기 제1 파라미터가 상기 제1 기준값 미만이고, 상기 제2 파라미터가 상기 제2 기준값 미만인 경우, 상기 제3 클래스에 대응되는 라벨링 데이터를 획득하는어노테이션 방법.
- 제2 항에 있어서,상기 제1 클래스는 상기 대상 과실의 익음 상태에 대응되는 클래스이며, 상기 제2 클래스는 상기 대상 과실의 안익음 상태에 대응되는 클래스이고, 상기 제3 클래스는 상기 대상 과실의 익는중 상태에 대응되는 클래스인어노테이션 방법.
- 제1 항에 있어서,상기 제1 파라미터와 상기 제1 기준 값을 비교하는 단계는상기 제1 파라미터가 상기 제1 기준 값 이상인 경우 상기 제1 클래스에 대응되는 라벨링 데이터를 획득하는 단계 및상기 제1 파라미터가 상기 제1 기준 값 미만인 경우 상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계를 포함하며,상기 제2 파라미터와 상기 제2 기준 값을 비교하는 단계는상기 제2 파라미터가 상기 제2 기준 값 이상인 경우 상기 제2 클래스에 대응되는 라벨링 데이터를 획득하는 단계 및상기 제2 파라미터가 상기 제2 기준 값 미만인 경우 상기 제3 클래스에 대응되는 라벨링 데이터를 획득하는 단계 를 포함하는어노테이션 방법.
- 제1 항에 있어서,상기 제1 파라미터 및 상기 제2 파라미터를 산출하는 단계는상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 획득하는 단계;상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 획득하는 단계;상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 기초로 상기 제1 파라미터를 산출하는 단계; 및상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 기초로 상기 제2 파라미터를 산출하는 단계; 를 포함하는어노테이션 방법.
- 제5 항에 있어서,상기 제1 범위는 상기 제1 색에 대응되는 픽셀 값 범위이며,상기 제2 범위는 상기 제2 색에 대응되는 픽셀 값 범위인어노테이션 방법.
- 제5 항에 있어서,상기 제1 파라미터 및 상기 제2 파라미터를 산출하는 단계는상기 특징 영역에 포함되는 픽셀의 개수를 획득하는 단계를 더 포함하며,상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수를 기초로 상기 제1 파라미터를 산출하는 단계에서, 상기 제1 파라미터는 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제1 범위에 포함되는 픽셀의 개수 및 상기 특징 영역에 포함되는 픽셀의 개수를 기초로 산출되며,상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수를 기초로 상기 제2 파라미터를 산출하는 단계에서, 상기 제2 파라미터는 상기 특징 영역에 포함되는 픽셀 중 픽셀 값이 제2 범위에 포함되는 픽셀의 개수 및 상기 특징 영역에 포함되는 픽셀의 개수를 기초로 산출되는어노테이션 방법.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/237,440 US20230389474A1 (en) | 2021-02-26 | 2023-08-24 | Method for determining a fruit to be harvested and a device for harvesting a fruit |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210026710A KR102259009B1 (ko) | 2021-02-26 | 2021-02-26 | 수확 대상 과실 판단 방법 및 과실 수확 장치 |
| KR10-2021-0026710 | 2021-02-26 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/237,440 Continuation US20230389474A1 (en) | 2021-02-26 | 2023-08-24 | Method for determining a fruit to be harvested and a device for harvesting a fruit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022182191A1 true WO2022182191A1 (ko) | 2022-09-01 |
Family
ID=76375769
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/002775 Ceased WO2022182191A1 (ko) | 2021-02-26 | 2022-02-25 | 수확 대상 과실 판단 방법 및 과실 수확 장치. |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230389474A1 (ko) |
| KR (3) | KR102259009B1 (ko) |
| WO (1) | WO2022182191A1 (ko) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12231616B2 (en) * | 2021-10-28 | 2025-02-18 | Deere & Company | Sparse and/or dense depth estimation from stereoscopic imaging |
| CN114260895B (zh) * | 2021-12-22 | 2023-08-22 | 江苏大学 | 一种采摘机器人机械臂抓取避障方向确定的方法及其系统 |
| WO2024019222A1 (ko) * | 2022-07-22 | 2024-01-25 | 주식회사 마인드포지 | 콩을 분류하는 방법 및 이를 지원하는 전자 장치 |
| KR102903066B1 (ko) * | 2022-11-29 | 2025-12-22 | 박옥란 | 대형 구근류 수확 모니터링 시스템 |
| KR102765945B1 (ko) * | 2023-02-02 | 2025-02-13 | 주식회사 메타파머스 | 농작물 수확을 위한 모바일 로봇 및 모바일 로봇 시스템 |
| KR20240168147A (ko) | 2023-05-22 | 2024-11-29 | 대한민국(농촌진흥청장) | 감자 수확량 모니터링 시스템 |
| CN119159575B (zh) * | 2024-09-06 | 2025-04-15 | 广东省现代农业装备研究院 | 一种辣椒采摘机器人及控制方法 |
| CN119655054B (zh) * | 2024-12-11 | 2025-09-30 | 四川省农业机械科学研究院 | 一种大豆联合智能收割装置 |
| JP7795251B1 (ja) * | 2025-01-30 | 2026-01-07 | 国立研究開発法人農業・食品産業技術総合研究機構 | 判別装置及び除去システム |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4171806B2 (ja) * | 2005-03-04 | 2008-10-29 | 国立大学法人弘前大学 | 果実そ菜類の等級判別方法。 |
| KR20090124335A (ko) * | 2008-05-29 | 2009-12-03 | 한국산업기술대학교산학협력단 | 과실 색상 선별용 색 인자 결정 방법 및 과실 색상 등급판별 방법 |
| KR20190136774A (ko) * | 2018-05-31 | 2019-12-10 | 주식회사 쎄슬프라이머스 | 작물의 수확시기 예측시스템 및 그 방법 |
| US20190392262A1 (en) * | 2018-06-26 | 2019-12-26 | Walmart Apollo, Llc | Food quality image classification |
| JP2020012667A (ja) * | 2018-07-13 | 2020-01-23 | 株式会社ニコン | 識別装置、識別方法およびプログラム |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06131444A (ja) * | 1992-08-19 | 1994-05-13 | Masanori Sugisaka | モーメント不変量を用いた天然産物またはその加工品の形状識別方法 |
| US7765780B2 (en) * | 2003-12-12 | 2010-08-03 | Vision Robotics Corporation | Agricultural robot system and method |
| US20100260669A1 (en) * | 2004-05-13 | 2010-10-14 | Anthony Joonkyoo Yun | Treatment of Seasonal Conditions Through Modulation of the Autonomic Nervous System |
| US7880320B2 (en) * | 2009-10-30 | 2011-02-01 | General Electric Company | System, device, and method for controlling a wind turbine using seasonal parameters |
| US8719184B2 (en) * | 2010-01-04 | 2014-05-06 | Daniel Buchanan | Energy consumption reporting and modification system |
| CN103379163B (zh) * | 2012-04-25 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种业务对象的确定方法以及确定装置 |
| US9382003B2 (en) * | 2013-03-24 | 2016-07-05 | Bee Robotics Corporation | Aerial farm robot system for crop dusting, planting, fertilizing and other field jobs |
| US10677962B2 (en) * | 2015-03-06 | 2020-06-09 | The Climate Corporation | Estimating temperature values at field level based on less granular data |
| JP2017134585A (ja) * | 2016-01-27 | 2017-08-03 | 秋田県 | 収穫適期判定支援装置及び収穫適期判定支援プログラム |
| WO2018033923A1 (en) * | 2016-08-18 | 2018-02-22 | Tevel Advanced Technologies Ltd. | System and method for mapping and building database for harvesting-dilution tasks using aerial drones |
| US10462972B2 (en) * | 2016-09-15 | 2019-11-05 | Harvestmoore, L.L.C. | Methods for automated pruning and harvesting of fruit plants utilizing a graphic processor unit |
| AU2017357645B2 (en) * | 2016-11-08 | 2022-11-10 | Dogtooth Technologies Limited | A robotic fruit picking system |
| KR101846301B1 (ko) * | 2017-05-10 | 2018-04-09 | 안주형 | 자동제어 장비를 이용한 작물 수확 및 관리 시스템 |
| US10496113B2 (en) * | 2017-06-19 | 2019-12-03 | GrainX Incorporated | Agricultural product storage system including adaptive conditioning control function dependent upon state of storage |
| US11222385B2 (en) * | 2018-01-22 | 2022-01-11 | Athenium Llc | Method and system for forecasting crop yield |
| JP2019187259A (ja) * | 2018-04-20 | 2019-10-31 | キッセイコムテック株式会社 | 栽培支援方法、栽培支援プログラム、栽培支援装置、および栽培支援システム |
| AU2020203390A1 (en) * | 2018-11-14 | 2021-04-29 | Michael BARTROM | Automated farm with robots working on plants |
| WO2020152157A1 (en) * | 2019-01-21 | 2020-07-30 | Sony Corporation | Information processing apparatus, electronic device and method |
| WO2020154515A1 (en) * | 2019-01-24 | 2020-07-30 | Ceres Innovation, Llc | Harvester with automated capabilities |
| CN109871457A (zh) * | 2019-01-30 | 2019-06-11 | 北京百度网讯科技有限公司 | 基于图像的数据处理方法、装置、电子设备和存储介质 |
| US11565284B2 (en) * | 2019-01-31 | 2023-01-31 | Four Growers, Inc. | Crop harvesting robot |
| US11147228B2 (en) * | 2019-02-15 | 2021-10-19 | Syngenta Crop Protection Ag | Soybean cultivar EC1661470 |
| US20210319489A1 (en) * | 2020-04-14 | 2021-10-14 | Justin Coulter Lewis | Systems and methods for determination of lawn nutrient and treatment regimen based on publicly available information and specific testing data and the periodic delivery of supplies for said lawn nutrient and treatment regimen |
| US20220156670A1 (en) * | 2020-11-17 | 2022-05-19 | Deere & Company | Smart orchard harvesting cart with analytics |
| US12315247B2 (en) * | 2021-12-01 | 2025-05-27 | Deere & Company | Generating synthetic ground-level data based on generator conditioned for particular agricultural area |
| US20250081892A1 (en) * | 2023-09-08 | 2025-03-13 | The United States Of America, As Represented By The Secretary Of Agriculture | Fruit perception system for robotic harvesting |
-
2021
- 2021-02-26 KR KR1020210026710A patent/KR102259009B1/ko active Active
- 2021-05-25 KR KR1020210067270A patent/KR102752200B1/ko active Active
-
2022
- 2022-02-25 WO PCT/KR2022/002775 patent/WO2022182191A1/ko not_active Ceased
-
2023
- 2023-08-24 US US18/237,440 patent/US20230389474A1/en active Pending
-
2025
- 2025-01-06 KR KR1020250001284A patent/KR20250008997A/ko active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4171806B2 (ja) * | 2005-03-04 | 2008-10-29 | 国立大学法人弘前大学 | 果実そ菜類の等級判別方法。 |
| KR20090124335A (ko) * | 2008-05-29 | 2009-12-03 | 한국산업기술대학교산학협력단 | 과실 색상 선별용 색 인자 결정 방법 및 과실 색상 등급판별 방법 |
| KR20190136774A (ko) * | 2018-05-31 | 2019-12-10 | 주식회사 쎄슬프라이머스 | 작물의 수확시기 예측시스템 및 그 방법 |
| US20190392262A1 (en) * | 2018-06-26 | 2019-12-26 | Walmart Apollo, Llc | Food quality image classification |
| JP2020012667A (ja) * | 2018-07-13 | 2020-01-23 | 株式会社ニコン | 識別装置、識別方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230389474A1 (en) | 2023-12-07 |
| KR20220122433A (ko) | 2022-09-02 |
| KR102259009B1 (ko) | 2021-06-01 |
| KR102752200B1 (ko) | 2025-01-10 |
| KR20250008997A (ko) | 2025-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022182191A1 (ko) | 수확 대상 과실 판단 방법 및 과실 수확 장치. | |
| WO2022154471A1 (en) | Image processing method, image processing apparatus, electronic device and computer-readable storage medium | |
| WO2020213750A1 (ko) | 객체를 인식하는 인공 지능 장치 및 그 방법 | |
| WO2018088794A2 (ko) | 디바이스가 이미지를 보정하는 방법 및 그 디바이스 | |
| WO2020138624A1 (en) | Apparatus for noise canceling and method for the same | |
| WO2023121317A1 (ko) | 양계 데이터 처리 방법 및 장치 | |
| WO2019168323A1 (ko) | 이상 개체 검출 장치 및 방법, 이를 포함하는 촬상 장치 | |
| WO2020196962A1 (ko) | 인공 지능 청소기 및 그의 동작 방법 | |
| WO2022050507A1 (ko) | 태양광 발전 모듈 모니터링 방법 및 시스템 | |
| WO2020045783A1 (ko) | IoT를 이용한 스마트 식물 재배기 및 스마트 식물 재배 시스템 | |
| WO2019151845A2 (ko) | 에어컨 | |
| WO2019135621A1 (ko) | 영상 재생 장치 및 그의 제어 방법 | |
| WO2019198942A1 (en) | Method of processing image, computer-readable storage medium recording method, and apparatus for processing image | |
| WO2021137345A1 (ko) | 인공 지능 냉장고 및 그의 동작 방법 | |
| WO2015133699A1 (ko) | 객체 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체 | |
| WO2021132851A1 (ko) | 전자 장치, 두피 케어 시스템 및 그들의 제어 방법 | |
| WO2021006366A1 (ko) | 디스플레이 패널의 색상을 조정하는 인공 지능 장치 및 그 방법 | |
| WO2021149859A1 (ko) | 잔디 깎기 로봇 및 그 제어 방법 | |
| WO2022005126A1 (en) | Electronic device and controlling method of electronic device | |
| WO2021040156A1 (ko) | 신체 측정 디바이스 및 그 제어 방법 | |
| WO2018194206A1 (ko) | 뉴로블록체인 콤비네이션을 이용한 인공신경망 모델의 자가 학습 모듈 | |
| WO2025135818A1 (ko) | 온실의 대상 사이트에 대한 과실 수확량 예측 방법 및 시스템 | |
| WO2022103236A1 (ko) | 선수 추적 방법, 선수 추적 장치 및 선수 추적 시스템 | |
| WO2021162481A1 (en) | Electronic device and control method thereof | |
| WO2023085587A1 (en) | Artificial intelligence apparatus and method for detecting unseen class items thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22760107 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22760107 Country of ref document: EP Kind code of ref document: A1 |