WO2024009661A1 - Estimation system, estimation method, and estimation program - Google Patents

Estimation system, estimation method, and estimation program Download PDF

Info

Publication number
WO2024009661A1
WO2024009661A1 PCT/JP2023/020468 JP2023020468W WO2024009661A1 WO 2024009661 A1 WO2024009661 A1 WO 2024009661A1 JP 2023020468 W JP2023020468 W JP 2023020468W WO 2024009661 A1 WO2024009661 A1 WO 2024009661A1
Authority
WO
WIPO (PCT)
Prior art keywords
instance
plant
history
frame
nodes
Prior art date
Application number
PCT/JP2023/020468
Other languages
French (fr)
Japanese (ja)
Inventor
博史 峰野
健太郎 平原
Original Assignee
国立大学法人静岡大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人静岡大学 filed Critical 国立大学法人静岡大学
Publication of WO2024009661A1 publication Critical patent/WO2024009661A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G7/00Botany in general
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Definitions

  • One aspect of the present disclosure relates to an estimation system, an estimation method, and an estimation program.
  • Patent Document 1 and Non-Patent Document 1 describe environmental control systems for plant cultivation.
  • This system includes a distance image acquisition means that outputs a distance image associated with distance information representing the distance to a subject including a plant photographed from above, an environment adjustment means that adjusts the environment in which plants are cultivated, and a distance image and an environment control means for controlling the environment control means based on the detected height of the plant.
  • the internodal distance which is the distance between nodes of a plant, is closely related to the growth state of the plant.
  • the above-mentioned environmental control system cannot obtain the internodal distance. Therefore, it is desired to accurately understand the internodal distance of plants.
  • An estimation system includes at least one processor.
  • the at least one processor acquires an image of the plant such that the position of the plant changes, and performs object detection on each of the plurality of frames of the image to detect an instance corresponding to the plant. , identify the transition of the instance that includes two or more feature points corresponding to two or more nodes of the plant as the instance history, and identify the transition of the two or more nodes based on the transition of each of the two or more feature points included in the instance history. , and based on the estimated two or more positions, the internodal distance, which is the distance between two nodes, is estimated.
  • the transition of two or more feature points corresponding to two or more nodes of the plant is identified over two or more frames of an image showing the plant, and the positions of those nodes are determined based on the transition. and internodal distances are estimated based on their positions.
  • each feature point also changes over two or more frames, thus providing multiple pieces of information about each feature point.
  • the positions of plant nodes can be accurately determined. As a result, it is possible to accurately grasp the internodal distance, which is closely related to the growth state of the plant. .
  • the internodal distance of a plant can be accurately determined.
  • FIG. 1 is a diagram showing an example of an estimation system.
  • FIG. 3 is a diagram illustrating an example of a video processed by the estimation system.
  • 1 is a diagram showing an example of a hardware configuration of a computer that constitutes an estimation system. It is a flow chart which shows an example of processing by an estimation system.
  • 3 is a flowchart illustrating an example of instance settings.
  • FIG. 3 is a diagram showing an example of an instance.
  • FIG. 2 is a diagram illustrating an example of a method for tracking instances. It is a figure which shows an example of an instance history.
  • 3 is a flowchart illustrating an example of a method for estimating the position of a node.
  • FIG. 3 is a diagram illustrating an example of estimating the position of a node.
  • the estimation system 1 is a computer system that estimates the growth state of plants. Users of the estimation system 1 refer to the estimation results to understand the degree or quality of plant growth, to appropriately control the cultivation environment such as irrigation control and air conditioning control, and to predict yields. can do.
  • the estimation system 1 can estimate the growth status of various types of plants.
  • the plants may be cultivated or native.
  • the estimation system 1 estimates the positions of the nodes of the plant as at least part of the growth state.
  • a node refers to a portion where a leaf attaches to a stem
  • a leaf refers to an entire lateral branch that branches from a stem. Therefore, individual nodes are present on the stem.
  • the estimation system 1 represents the position of a node using position coordinates, for example, represents the position of a node using a coordinate system in which the horizontal direction is the X axis and the height direction is the Y axis.
  • the estimation system 1 may represent the position coordinates indicating the position of the node by the Y coordinate without using the X coordinate, or by the X coordinate and the Y coordinate.
  • the estimation system 1 may further estimate the internodal distance, which is the distance between two nodes, as at least part of the growth state. For example, the estimation system 1 may estimate the distance between two consecutive nodes as the internodal distance. Alternatively, the estimation system 1 may estimate the distance between the first node and the second node, which are located so as to sandwich one or more other nodes, as the internodal distance.
  • FIG. 1 is a diagram showing an example of an estimation system 1.
  • the estimation system 1 is connected to a database 2, which is a device that stores images showing one or more plants, via a predetermined communication network.
  • the database 2 may be a component of the estimation system 1 or may be located outside the estimation system 1.
  • each image stored in the database depicts one or more plants 9 such that each of the plants 9 flows laterally, that is, the position of each plant 9 changes along the lateral direction. Show. "An image showing a plant such that the position of the plant changes" means that the position of the plant changes in the image.
  • the video may be photographed manually, or may be photographed by the self-propelled camera 3 in order to reduce or eliminate the labor involved in photographing.
  • the self-propelled camera 3 is a device that takes images of one or more plants 9 such that the position of the one or more plants 9 changes.
  • the self-propelled camera 3 executes photography while moving along a row of a plurality of plants 9 so that both ends of the stems of the plants 9 are captured.
  • the self-propelled camera 3 takes pictures while moving along the length of the cultivation bed.
  • the self-propelled camera 3 transmits the captured video to the database 2 via a predetermined communication network.
  • the self-propelled camera 3 may be a component of the estimation system 1 or may be located outside the estimation system 1.
  • FIG. 2 is a diagram showing an example of a video processed by the estimation system 1.
  • Video 20 in this example is composed of a plurality of frames including frames 21, 22, and 23.
  • a plurality of frames are sequentially arranged along the traveling direction of the self-propelled camera 3 to express an image 20 like a panoramic image.
  • the estimation system 1 includes an acquisition section 11, a detection section 12, a tracking section 13, and an estimation section 14 as functional components.
  • the acquisition unit 11 is a functional module that acquires the video to be processed from the database 2.
  • the detection unit 12 is a functional module that executes object detection, which is a process of detecting an object in an image, on each of a plurality of frames constituting the video, and sets an instance corresponding to a plant in each frame. be.
  • the instance is information indicating the plant 9 shown in the frame.
  • an instance includes a bounding box corresponding to a stem and one or more feature points corresponding to one or more nodes.
  • an instance includes its bounding box and two or more feature points corresponding to two or more nodes.
  • Feature points are also called key points.
  • the instance may further include feature points corresponding to the apexes of the stems.
  • the detection unit 12 may detect instances from individual frames by object detection using a trained model generated by machine learning.
  • the trained model receives an input image and estimates an instance that includes one or more feature points and a bounding box.
  • the detection unit 12 inputs frames to this learned model and detects instances.
  • Machine learning is a method of autonomously discovering laws or rules by iteratively learning based on given information.
  • An example of an object detection algorithm based on machine learning is Mask R-CNN, which uses deep learning.
  • a trained model is generated by having a machine learning model repeat learning using training data in which bounding boxes and annotations regarding feature points (i.e., correct answers) are added to each image.
  • the existing trained model is fine-tuned and then machine learning is performed again using a small amount of dataset to create the final trained model. may be generated.
  • Generation of a trained model corresponds to the learning phase.
  • the trained model is a machine learning model that is estimated to be optimal for detecting an object in an image, and is not necessarily an "actually optimal machine learning model.”
  • the process in which the detection unit 12 obtains a bounding box and feature points from a frame using a learned model corresponds to the estimation phase or the operation phase. Trained models are portable between computer systems. Therefore, the detection unit 12 may use a trained model generated by another computer system.
  • the estimation system 1 may further include a function of generating a trained model.
  • the tracking unit 13 is a functional module that tracks the transition of instances of each plant 9 over a plurality of frames and specifies the transition as an instance history.
  • the transition of an instance refers to a change in the position of an instance that occurs over two or more consecutive frames.
  • the transition of the instance includes the transition of the bounding box (change in position) and the transition of each feature point (change in position).
  • the instance history indicates the history of the position of the bounding box and the history of the position of each feature point.
  • the position history can be rephrased as the history of position coordinates.
  • the estimation unit 14 is a functional module that estimates the position of each of one or more nodes based on the transition of each of one or more feature points included in the instance history. For example, the estimation unit 14 estimates the positions of two or more nodes based on the transitions of two or more feature points included in the instance history.
  • FIG. 3 is a diagram showing an example of the hardware configuration of the computer 100 that constitutes the estimation system 1.
  • the computer 100 includes a processor 101, a main storage section 102, an auxiliary storage section 103, a communication control section 104, an input device 105, and an output device 106.
  • Processor 101 executes an operating system and application programs.
  • the main storage unit 102 is composed of, for example, a ROM and a RAM.
  • the auxiliary storage unit 103 is composed of, for example, a hard disk or a flash memory, and generally stores a larger amount of data than the main storage unit 102.
  • the communication control unit 104 is composed of, for example, a network card or a wireless communication module.
  • the input device 105 includes, for example, a keyboard, a mouse, a touch panel, and the like.
  • the output device 106 includes, for example, a monitor and a speaker.
  • the computer 100 may be a stationary or portable personal computer (PC), a workstation, or a mobile terminal such as a high-performance mobile phone (smartphone), a mobile phone, or a personal digital assistant (PDA).
  • PC personal computer
  • workstation or a mobile terminal
  • PDA personal digital assistant
  • the estimation program 110 may be provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory, for example.
  • the estimation program 110 may be provided via a communication network as a data signal superimposed on a carrier wave.
  • the estimation system 1 may be composed of one computer 100 or may be composed of multiple computers 100. When a plurality of computers 100 are used, one estimation system 1 is logically constructed by connecting these computers 100 via a communication network such as the Internet or an intranet. The estimation system 1 may be constructed by combining multiple types of computers.
  • FIG. 4 is a flowchart showing an example of processing by the estimation system 1 as a processing flow S1.
  • step S12 the detection unit 12 and the tracking unit 13 cooperate to set an instance corresponding to a plant in each of a plurality of frames of the video.
  • An example of this processing will be explained with reference to FIG.
  • FIG. 5 is a flowchart showing an example of setting an instance. In FIG. 5, a variable i is used to identify each frame.
  • the detection unit 12 performs object detection on the first frame and detects an instance from that frame.
  • the detection unit 12 can detect two or more instances from one frame.
  • the detection unit 12 inputs the frame to a trained model based on Mask R-CNN and obtains one or more instances output from the trained model.
  • FIG. 6 is a diagram showing an example of an instance.
  • the detection unit 12 detects a bounding box 201 corresponding to the stem, a plurality of feature points 202 corresponding to a plurality of nodes existing on the stem, and a plurality of feature points 202 corresponding to the apex of the stem for the plant 9 shown in the frame.
  • the instance 200 including the corresponding feature point 203 is detected.
  • the detection unit 12 eliminates each overlap.
  • the detection unit 12 obtains a detection score indicating the degree of certainty of detection for each of two or more instances related to one duplication.
  • the detection unit 12 may use a detection score output from a trained model based on Mask R-CNN or the like.
  • the detection unit 12 maintains the instance with the highest detection score and deletes the remaining instances to eliminate duplication. If there is no overlap within the frame, step S123 is omitted.
  • step S124 the next process changes depending on whether the first frame is processed or the second and subsequent frames are processed. If the instance in the first frame is set (NO in step S124), the process advances to step S125, and then to step S122. That is, the detection unit 12 performs object detection on the next frame, that is, the second frame, and detects an instance from that frame. In step S123, the detection unit 12 eliminates instance duplication for the second frame as necessary. On the other hand, if the second or subsequent frames have been processed (YES in step S124), the process proceeds to step S126.
  • the tracking unit 13 complements the undetected instances.
  • An "undetected instance” should be detected in the i-th frame considering the change from the (i-1)th frame (first frame) to the i-th frame (second frame). is an instance that was not detected by object detection.
  • an "undetected instance” refers to a subsequent instance (second instance) that corresponds to the preceding instance (first instance) set in the (i-1)th frame and that was not detected in the i-th frame. instance).
  • the detection unit 12 applies a method called DaSiamRPN to the (i-1)th frame, and sets undetected instances by interpolation.
  • an instance obtained by completion is also referred to as a completion instance.
  • the complementary instance is treated as a second instance.
  • the tracking unit 13 sets a bounding box for each complementary instance without setting feature points. Therefore, the complementary instance contains a bounding box that indicates the stem, but no feature points that indicate nodes and vertices.
  • the transition of the instance indicates a change in the position of the bounding box and a change in the position of each of the one or more feature points.
  • the tracking unit 13 associates the second instance 321 with the first instance 311 and identifies these two instances as a transition 341 of the instance 331.
  • the tracking unit 13 identifies the transition 342 of the instance 332 from the first instance 312 and the second instance 322, and identifies the transition 343 of the instance 333 from the first instance 313 and the second instance 323.
  • the tracking unit 13 treats the isolated instance in the i-th frame (second frame) that is not associated with the instance in the (i-1)-th frame (first frame) as a new instance, that is, as a new instance in the video. It may be recorded as a plant that appeared in Alternatively, the tracking unit 13 may delete the isolated instance as a false detection.
  • the tracking unit 13 may newly record an isolated instance located in or near a region that is not shown in the first frame but shown in the second frame.
  • the tracking unit 13 may delete an isolated instance located in a region shown in both the first frame and the second frame as a false detection.
  • the second instances 324 and 325 are isolated instances. In that example, the tracking unit 13 deletes the second instance 324 and records the second instance 325 as a new instance 334.
  • the tracking unit 13 excludes instances that are about to deviate from the video from the tracking targets.
  • the tracking unit 13 sets a predetermined number of pixels (for example, several pixels) inside the edge of the video (frame) as a threshold, and detects instances that have entered the edge of the video (frame) beyond this threshold. May be excluded. Such exclusion is done to eliminate the phenomenon that instances that are no longer visible in the video continue to be erroneously detected and tracked.
  • the tracking unit 13 may change the execution order of these two steps. That is, the tracking unit 13 tracks the movement of the instance between the (i-1)th frame and the i-th frame, and uses a method such as DaSiamRPN to detect instances in the i-th frame that are not detected in this tracking. It may be supplemented by The tracking unit 13 associates the second instance complemented in the i-th frame with the first instance in the (i-1)th frame used for the complementation. Through this association, the tracking unit 13 identifies the first instance and the second instance as one instance, and specifies the transition of the one instance from the first frame to the second frame.
  • FIG. 8 is a diagram showing an example of instance history.
  • This example shows the instance history of one instance over five consecutive frames 401-405.
  • This instance history includes six feature points 411 to 416 corresponding to six nodes and a feature point 417 corresponding to the apex of the stem.
  • frames 401, 403 to 405 instances including feature points are set, which indicates that instances were detected by object detection in those four frames.
  • frame 402 the instance does not include feature points, which indicates that the instance is a complementary instance. Even if an instance is detected by object detection for a certain frame, not all feature points are necessarily detected in the instance. Focusing on the feature point 411 in FIG. 8, the feature point 411 is detected in frames 401 and 404, but not in frames 403 and 405.
  • step S13 the estimation unit 14 estimates the position of each node for each instance, that is, for each plant.
  • the estimation unit 14 estimates the position of each plant node while selecting instances one by one from the first frame to the last frame. An example of this processing will be explained with reference to FIG. FIG. 9 is a flowchart showing an example of a method for estimating the position of a node.
  • the estimation unit 14 selects one instance, that is, one plant, from within the video.
  • the estimating unit 14 may identify, for each of one or more instances, the number of frames in which the instance is identified, that is, the number of records in the instance history, and select instances for which the number is equal to or greater than a threshold.
  • step S132 the estimation unit 14 refers to the instance history of the instance and identifies the position history of one feature point.
  • step S133 the estimation unit 14 removes outliers from the identified position history and calculates statistical values of the set of valid positions, that is, the remaining portion of the position history.
  • the estimation unit 14 calculates a confidence interval by performing interval estimation using a plurality of position coordinates indicated in the position history as a population, and excludes position coordinates that deviate from this confidence interval as outliers.
  • the estimation unit 14 may calculate an 80% confidence interval, or may calculate a confidence interval using another numerical range.
  • the estimation unit 14 identifies a set of position coordinates within the confidence interval as a set of valid positions, and calculates statistical values for the set.
  • the estimation unit 14 may use the median value as the statistical value, or may use other indicators such as the average value.
  • the estimation unit 14 executes steps S132 and S133 to calculate statistical values for the feature points.
  • step S132 the estimation unit 14 identifies the position history of the feature point based on the detection in the remaining frames.
  • step S133 the estimation unit 14 calculates statistical values based on the position history.
  • the estimation unit 14 identifies the position history of the feature point 411 based on the positions detected in the frames 401 and 404, and calculates statistical values based on the position history.
  • step S134 the estimation unit 14 estimates the position of the node corresponding to the feature point based on the statistical value.
  • the estimation unit 14 may directly estimate the statistical value as the position of the node, or may convert the statistical value into the position of the node by converting the coordinate system of the image to the coordinate system of real space.
  • the estimation unit 14 can estimate the position of the apex of the stem, as in the case of nodes.
  • step S135 if there is an unprocessed feature point in the selected instance (NO in step S135), the process returns to step S132, and the estimation unit 14 calculates the next feature point from step S132 onwards. Then, the position of the node (or stem apex) corresponding to the feature point is estimated. On the other hand, if all feature points of the selected instance have been processed (YES in step S135), the process proceeds to step S136.
  • FIG. 10 is a diagram showing an example of estimating the position of a node.
  • This example shows position histories 501 to 506 of six feature points for one plant 9.
  • Each of the position histories 501 to 505 corresponds to a node, and the position history 506 corresponds to the apex of a stem.
  • the estimation unit 14 removes outliers from the position history 501 and estimates the node position 511 based on the statistical value (for example, median value) of the remaining part of the position history 501.
  • the estimation unit 14 estimates the positions 512 to 515 of the nodes from the position histories 502 to 505, and estimates the position 516 of the apex of the stem from the position history 506.
  • step S137 if there is an unprocessed instance in the video (NO in step S137), the process returns to step S131, and the estimation unit 14 performs the steps from step S132 onwards for each feature point of the next instance. A process is performed to estimate the position of each node (and stem apex) and at least one internodal distance. On the other hand, if all instances have been processed (YES in step S137), step S13 ends.
  • the estimation unit 14 outputs estimation results indicating the positions of each node of each plant.
  • the estimation unit 14 may output estimation results that further indicate at least one internodal distance of each plant.
  • the estimation unit 14 may display the estimation result on a monitor, store it in a predetermined database, or transmit it to another computer system.
  • the estimation system 1 may control the cultivation environment, such as irrigation control and air conditioning control, based on the estimation result.
  • the tracking unit 13 tracks the movement of instances based on the degree of duplication of instances.
  • the tracking unit 13 may perform the tracking using another method, for example, using an existing tracking algorithm.
  • the concept includes a case where the executing entity (that is, the processor) of n processes from the first process to the nth process changes midway. That is, this expression indicates a concept that includes both a case in which all of the n processes are executed by the same processor, and a case in which the processors in the n processes are changed according to an arbitrary policy.
  • the processing procedure of the method executed by at least one processor is not limited to the example in the above embodiment. For example, some of the steps described above may be omitted, or each step may be performed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be performed in addition to each of the above steps.
  • the present disclosure includes the following aspects.
  • (Additional note 1) comprising at least one processor; the at least one processor, Obtain a video showing the plant so that the position of the plant changes, Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant as the instance history, estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history; estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions; Estimation system.
  • the plurality of frames include a first frame and a second frame located next to the first frame, the at least one processor, setting a first instance of the plant in the first frame; detecting one or more second instances corresponding to the first instance in the second frame; selecting one second instance from the one or more second instances based on the degree of overlap with the first instance; associating the selected second instance with the first instance as at least part of the instance history; Estimation system described in Appendix 1.
  • the instance further includes a bounding box corresponding to a stem of the plant; the at least one processor, if the second instance is not detected in the second frame; setting a complementary instance that includes the bounding box and does not include the feature points as the second instance; associating the configured second instance with the first instance as at least part of the instance history; Estimation system described in Appendix 2.
  • the transition of the feature point is expressed by a position history of the feature point, The at least one processor, for each of the two or more feature points, Calculating statistical values of the position history; estimating the position of the corresponding node based on the statistical value; The estimation system described in any one of Supplementary Notes 1 to 3.
  • the at least one processor for each of the two or more feature points, Excluding outliers from the position history of the feature point to identify a set of valid positions; calculating the statistical value based on the set of valid locations; Estimation system described in Appendix 4.
  • the at least one processor detects the instance by inputting the frame to a trained model that estimates the instance including the two or more feature points from an input image; The estimation system described in any one of Supplementary Notes 1 to 5.
  • An estimation method performed by an estimation system comprising at least one processor, the method comprising: acquiring an image showing the plant such that the position of the plant changes; Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history; estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history; estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions; Estimation methods including.
  • (Appendix 8) acquiring an image showing the plant such that the position of the plant changes; Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history; estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history; estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions; An estimation program that causes a computer to execute
  • the transition of instances over two adjacent frames is identified based on the degree of overlap between instances between the two frames.
  • each instance can be accurately tracked across multiple frames to obtain an accurate instance history.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Environmental Sciences (AREA)
  • Forests & Forestry (AREA)
  • Ecology (AREA)
  • Botany (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

An estimation system includes at least one processor. At least one processor acquires a video showing a plant such that the position of the plant changes, performs object detection on each of the plurality of frames of the video to detect instances corresponding to the plant, identifies the transition of the instance including two or more feature points corresponding to two or more nodes of the plant as an instance history, estimates the position of each of the two or more nodes on the basis of the transition of each of the two or more feature points included in the instance history, and estimates an internodal distance, which is a distance between two nodes, on the basis of the estimated two or more positions.

Description

推定システム、推定方法、および推定プログラムEstimation system, estimation method, and estimation program
 本開示の一側面は推定システム、推定方法、および推定プログラムに関する。 One aspect of the present disclosure relates to an estimation system, an estimation method, and an estimation program.
 特許文献1および非特許文献1には、植物栽培用の環境制御システムが記載されている。このシステムは、上方から撮影した植物を含む被写体との距離を表す距離情報が関連付けられた距離画像を出力する距離画像取得手段と、植物を栽培する環境を調節する環境調節手段と、距離画像に基づいて検出した植物の高さに基づいて環境調節手段を制御する環境制御手段とを備える。 Patent Document 1 and Non-Patent Document 1 describe environmental control systems for plant cultivation. This system includes a distance image acquisition means that outputs a distance image associated with distance information representing the distance to a subject including a plant photographed from above, an environment adjustment means that adjusts the environment in which plants are cultivated, and a distance image and an environment control means for controlling the environment control means based on the detected height of the plant.
特開2016-52293号公報Unexamined Japanese Patent Publication No. 2016-52293
 植物の節と節との距離である節間距離は該植物の生育状態と密接に関係する。しかし、上記の環境制御システムでは節間距離を得ることはできない。そこで、植物の節間距離を正確に把握することが望まれている。 The internodal distance, which is the distance between nodes of a plant, is closely related to the growth state of the plant. However, the above-mentioned environmental control system cannot obtain the internodal distance. Therefore, it is desired to accurately understand the internodal distance of plants.
 本開示の一側面に係る推定システムは少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、植物の位置が変化するように該植物を映した映像を取得し、植物に対応するインスタンスを検出するための物体検出を映像の複数のフレームのそれぞれに対して実行して、植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定し、インスタンス履歴に含まれる2以上の特徴点のそれぞれの推移に基づいて、2以上の節のそれぞれの位置を推定し、推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定する。 An estimation system according to one aspect of the present disclosure includes at least one processor. The at least one processor acquires an image of the plant such that the position of the plant changes, and performs object detection on each of the plurality of frames of the image to detect an instance corresponding to the plant. , identify the transition of the instance that includes two or more feature points corresponding to two or more nodes of the plant as the instance history, and identify the transition of the two or more nodes based on the transition of each of the two or more feature points included in the instance history. , and based on the estimated two or more positions, the internodal distance, which is the distance between two nodes, is estimated.
 このような側面においては、植物を映す映像の2以上のフレームにわたって、該植物の2以上の節に対応する2以上の特徴点の推移が特定され、その推移に基づいてそれらの節の位置が推定され、それらの位置に基づいて節間距離が推定される。その映像の中では植物の位置が変化するので、それぞれの特徴点も2以上のフレームにわたって変化し、したがって、個々の特徴点について複数の情報が得られる。その複数の情報を参照することで、植物の節の位置を正確に把握できる。その結果、植物の生育状態と密接に関係する節間距離も正確に把握できる。。 In this aspect, the transition of two or more feature points corresponding to two or more nodes of the plant is identified over two or more frames of an image showing the plant, and the positions of those nodes are determined based on the transition. and internodal distances are estimated based on their positions. As the position of the plant changes in the video, each feature point also changes over two or more frames, thus providing multiple pieces of information about each feature point. By referring to multiple pieces of information, the positions of plant nodes can be accurately determined. As a result, it is possible to accurately grasp the internodal distance, which is closely related to the growth state of the plant. .
 本開示の一側面によれば、植物の節間距離を正確に把握できる。 According to one aspect of the present disclosure, the internodal distance of a plant can be accurately determined.
推定システムの一例を示す図である。FIG. 1 is a diagram showing an example of an estimation system. 推定システムによって処理される映像の一例を示す図である。FIG. 3 is a diagram illustrating an example of a video processed by the estimation system. 推定システムを構成するコンピュータのハードウェア構成の一例を示す図である。1 is a diagram showing an example of a hardware configuration of a computer that constitutes an estimation system. 推定システムによる処理の一例を示すフローチャートである。It is a flow chart which shows an example of processing by an estimation system. インスタンスの設定の一例を示すフローチャートである。3 is a flowchart illustrating an example of instance settings. インスタンスの一例を示す図である。FIG. 3 is a diagram showing an example of an instance. インスタンスを追跡する手法の一例を示す図である。FIG. 2 is a diagram illustrating an example of a method for tracking instances. インスタンス履歴の一例を示す図である。It is a figure which shows an example of an instance history. 節の位置を推定する手法の一例を示すフローチャートである。3 is a flowchart illustrating an example of a method for estimating the position of a node. 節の位置の推定の一例を示す図である。FIG. 3 is a diagram illustrating an example of estimating the position of a node.
 以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are denoted by the same reference numerals, and redundant description will be omitted.
 [システムの構成]
 本開示に係る推定システム1は植物の生育状態を推定するコンピュータシステムである。推定システム1のユーザは推定結果を参照して、植物の生長の程度または質を把握したり、灌水制御、空調制御などのような栽培環境の制御を適切に行ったり、収穫量を予測したりすることができる。推定システム1は様々な種類の植物について生育状態を推定し得る。植物は栽培されているものでもよいし自生のものでもよい。
[System configuration]
The estimation system 1 according to the present disclosure is a computer system that estimates the growth state of plants. Users of the estimation system 1 refer to the estimation results to understand the degree or quality of plant growth, to appropriately control the cultivation environment such as irrigation control and air conditioning control, and to predict yields. can do. The estimation system 1 can estimate the growth status of various types of plants. The plants may be cultivated or native.
 推定システム1は生育状態の少なくとも一部として植物の節の位置を推定する。本開示において、節とは葉が茎に付く部分をいい、葉とは茎から分岐する側枝の全体をいう。したがって、個々の節は茎上に存在する。推定システム1は位置座標を用いて節の位置を表し、例えば、水平方向をX軸とし高さ方向をY軸とする座標系を用いて節の位置を表す。推定システム1は節の位置を示す位置座標を、X座標を用いることなくY座標によって表してもよいし、X座標およびY座標によって表してもよい。推定システム1は、二つの節の間の距離である節間距離を生育状態の少なくとも一部として更に推定してもよい。例えば、推定システム1は連続する二つの節の間の距離を節間距離として推定してもよい。あるいは、推定システム1は、1以上の別の節を挟むように位置する第1の節と第2の節との間の距離を節間距離として推定してもよい。 The estimation system 1 estimates the positions of the nodes of the plant as at least part of the growth state. In the present disclosure, a node refers to a portion where a leaf attaches to a stem, and a leaf refers to an entire lateral branch that branches from a stem. Therefore, individual nodes are present on the stem. The estimation system 1 represents the position of a node using position coordinates, for example, represents the position of a node using a coordinate system in which the horizontal direction is the X axis and the height direction is the Y axis. The estimation system 1 may represent the position coordinates indicating the position of the node by the Y coordinate without using the X coordinate, or by the X coordinate and the Y coordinate. The estimation system 1 may further estimate the internodal distance, which is the distance between two nodes, as at least part of the growth state. For example, the estimation system 1 may estimate the distance between two consecutive nodes as the internodal distance. Alternatively, the estimation system 1 may estimate the distance between the first node and the second node, which are located so as to sandwich one or more other nodes, as the internodal distance.
 図1は推定システム1の一例を示す図である。この例では、推定システム1は、1以上の植物を映す映像を記憶する装置であるデータベース2と所定の通信ネットワークを介して接続する。データベース2は、推定システム1の構成要素でもよいし、推定システム1の外部に位置してもよい。一例では、データベースに記憶されるそれぞれの映像は、1以上の植物9のそれぞれが横に流れていくように、すなわち各植物9の位置が横方向に沿って変化するように、該植物9を映す。「植物の位置が変化するように該植物を映した映像」とは、映像内において植物の映る位置が変わることを意味する。 FIG. 1 is a diagram showing an example of an estimation system 1. In this example, the estimation system 1 is connected to a database 2, which is a device that stores images showing one or more plants, via a predetermined communication network. The database 2 may be a component of the estimation system 1 or may be located outside the estimation system 1. In one example, each image stored in the database depicts one or more plants 9 such that each of the plants 9 flows laterally, that is, the position of each plant 9 changes along the lateral direction. Show. "An image showing a plant such that the position of the plant changes" means that the position of the plant changes in the image.
 映像は人手によって撮影されてもよいし、その撮影の労力を軽減または解消するために自走カメラ3によって撮影されてもよい。自走カメラ3は1以上の植物9の映像を、該1以上の植物9の位置が変化するように撮影する装置である。一例では、自走カメラ3は、複数の植物9の並びに沿って移動しながら、植物9の茎の両端が映るように撮影を実行する。例えば、自走カメラ3は栽培ベッドの長手方向に沿って移動しながらその撮影を実行する。自走カメラ3は撮影によって得られた映像を所定の通信ネットワークを介してデータベース2に送信する。自走カメラ3は、推定システム1の構成要素でもよいし、推定システム1の外部に位置してもよい。 The video may be photographed manually, or may be photographed by the self-propelled camera 3 in order to reduce or eliminate the labor involved in photographing. The self-propelled camera 3 is a device that takes images of one or more plants 9 such that the position of the one or more plants 9 changes. In one example, the self-propelled camera 3 executes photography while moving along a row of a plurality of plants 9 so that both ends of the stems of the plants 9 are captured. For example, the self-propelled camera 3 takes pictures while moving along the length of the cultivation bed. The self-propelled camera 3 transmits the captured video to the database 2 via a predetermined communication network. The self-propelled camera 3 may be a component of the estimation system 1 or may be located outside the estimation system 1.
 図2は推定システム1によって処理される映像の一例を示す図である。この例における映像20は、フレーム21,22,23を含む複数のフレームによって構成される。図2は、自走カメラ3の進行方向に沿って複数のフレームを順に並べて、パノラマ画像のように映像20を表現する。 FIG. 2 is a diagram showing an example of a video processed by the estimation system 1. Video 20 in this example is composed of a plurality of frames including frames 21, 22, and 23. In FIG. 2, a plurality of frames are sequentially arranged along the traveling direction of the self-propelled camera 3 to express an image 20 like a panoramic image.
 図1に戻って、推定システム1は機能的構成要素として取得部11、検出部12、追跡部13、および推定部14を備える。 Returning to FIG. 1, the estimation system 1 includes an acquisition section 11, a detection section 12, a tracking section 13, and an estimation section 14 as functional components.
 取得部11は処理しようとする映像をデータベース2から取得する機能モジュールである。 The acquisition unit 11 is a functional module that acquires the video to be processed from the database 2.
 検出部12は、その映像を構成する複数のフレームのそれぞれに対して、画像中の物体を検出する処理である物体検出を実行して、植物に対応するインスタンスを各フレームに設定する機能モジュールである。インスタンスはフレーム中に映る植物9を示す情報である。一例では、インスタンスは、茎に対応するバウンディングボックスと、1以上の節に対応する1以上の特徴点とを含む。例えば、インスタンスは、そのバウンディングボックスと、2以上の節に対応する2以上の特徴点とを含む。特徴点はキーポイント(keypoint)ともいわれる。インスタンスは茎の頂点に対応する特徴点を更に含んでもよい。 The detection unit 12 is a functional module that executes object detection, which is a process of detecting an object in an image, on each of a plurality of frames constituting the video, and sets an instance corresponding to a plant in each frame. be. The instance is information indicating the plant 9 shown in the frame. In one example, an instance includes a bounding box corresponding to a stem and one or more feature points corresponding to one or more nodes. For example, an instance includes its bounding box and two or more feature points corresponding to two or more nodes. Feature points are also called key points. The instance may further include feature points corresponding to the apexes of the stems.
 一例では、検出部12は、機械学習によって生成された学習済みモデルによる物体検出によって、個々のフレームからインスタンスを検出してもよい。学習済みモデルは、入力画像を受け付けて、1以上の特徴点とバウンディングボックスとを含むインスタンスを推定する。検出部12はこの学習済みモデルにフレームを入力してインスタンスを検出する。機械学習とは、与えられた情報に基づいて反復的に学習することで法則またはルールを自律的に見つけ出す手法である。機械学習に基づく物体検出アルゴリズムの例として、深層学習を利用するMask R-CNNが挙げられる。 In one example, the detection unit 12 may detect instances from individual frames by object detection using a trained model generated by machine learning. The trained model receives an input image and estimates an instance that includes one or more feature points and a bounding box. The detection unit 12 inputs frames to this learned model and detects instances. Machine learning is a method of autonomously discovering laws or rules by iteratively learning based on given information. An example of an object detection algorithm based on machine learning is Mask R-CNN, which uses deep learning.
 一例では、学習済みモデルは、バウンディングボックスおよび特徴点に関するアノテーション(すなわち正解)がそれぞれの画像に付与されたトレーニングデータを用いて機械学習モデルに学習を繰り返させることで生成される。データセットの準備に掛かる時間および労力を低減するために、既存の学習済みモデルをファインチューニングした上で、少量のデータセットを用いて再度の機械学習を実行することで、最終的な学習済みモデルが生成されてもよい。学習済みモデルの生成は学習フェーズに相当する。学習済みモデルは、画像中の物体を検出するために最適であると推定される機械学習モデルであり、“現実に最適である機械学習モデル”とは限らないことに留意されたい。検出部12が学習済みモデルを用いてフレームからバウンディングボックスおよび特徴点を得る処理は推定フェーズまたは運用フェーズに相当する。学習済みモデルはコンピュータシステム間で移植可能である。したがって、検出部12は別のコンピュータシステムで生成された学習済みモデルを用いてもよい。あるいは、推定システム1は学習済みモデルを生成する機能を更に備えてもよい。 In one example, a trained model is generated by having a machine learning model repeat learning using training data in which bounding boxes and annotations regarding feature points (i.e., correct answers) are added to each image. In order to reduce the time and effort required to prepare a dataset, the existing trained model is fine-tuned and then machine learning is performed again using a small amount of dataset to create the final trained model. may be generated. Generation of a trained model corresponds to the learning phase. It should be noted that the trained model is a machine learning model that is estimated to be optimal for detecting an object in an image, and is not necessarily an "actually optimal machine learning model." The process in which the detection unit 12 obtains a bounding box and feature points from a frame using a learned model corresponds to the estimation phase or the operation phase. Trained models are portable between computer systems. Therefore, the detection unit 12 may use a trained model generated by another computer system. Alternatively, the estimation system 1 may further include a function of generating a trained model.
 追跡部13は複数のフレームにわたってそれぞれの植物9のインスタンスの推移を追跡して、その推移をインスタンス履歴として特定する機能モジュールである。インスタンスの推移とは、2以上の連続するフレームにわたって発生するインスタンスの位置の変化をいう。インスタンスの推移は、バウンディングボックスの推移(位置の変化)とそれぞれの特徴点の推移(位置の変化)とを含む。インスタンス履歴は、バウンディングボックスの位置の履歴と、それぞれの特徴点の位置の履歴とを示す。位置履歴は位置座標の履歴と言い換えることができる。 The tracking unit 13 is a functional module that tracks the transition of instances of each plant 9 over a plurality of frames and specifies the transition as an instance history. The transition of an instance refers to a change in the position of an instance that occurs over two or more consecutive frames. The transition of the instance includes the transition of the bounding box (change in position) and the transition of each feature point (change in position). The instance history indicates the history of the position of the bounding box and the history of the position of each feature point. The position history can be rephrased as the history of position coordinates.
 推定部14は、インスタンス履歴に含まれる1以上の特徴点のそれぞれの推移に基づいて、1以上の節のそれぞれの位置を推定する機能モジュールである。例えば、推定部14は、インスタンス履歴に含まれる2以上の特徴点のそれぞれの推移に基づいて、2以上の節のそれぞれの位置を推定する。 The estimation unit 14 is a functional module that estimates the position of each of one or more nodes based on the transition of each of one or more feature points included in the instance history. For example, the estimation unit 14 estimates the positions of two or more nodes based on the transitions of two or more feature points included in the instance history.
 図3は推定システム1を構成するコンピュータ100のハードウェア構成の一例を示す図である。例えば、コンピュータ100はプロセッサ101、主記憶部102、補助記憶部103、通信制御部104、入力装置105、および出力装置106を備える。プロセッサ101はオペレーティングシステムおよびアプリケーション・プログラムを実行する。主記憶部102は例えばROMおよびRAMで構成される。補助記憶部103は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部102よりも大量のデータを記憶する。通信制御部104は例えばネットワークカードまたは無線通信モジュールで構成される。入力装置105は例えばキーボード、マウス、タッチパネルなどで構成される。出力装置106は例えばモニタおよびスピーカで構成される。 FIG. 3 is a diagram showing an example of the hardware configuration of the computer 100 that constitutes the estimation system 1. For example, the computer 100 includes a processor 101, a main storage section 102, an auxiliary storage section 103, a communication control section 104, an input device 105, and an output device 106. Processor 101 executes an operating system and application programs. The main storage unit 102 is composed of, for example, a ROM and a RAM. The auxiliary storage unit 103 is composed of, for example, a hard disk or a flash memory, and generally stores a larger amount of data than the main storage unit 102. The communication control unit 104 is composed of, for example, a network card or a wireless communication module. The input device 105 includes, for example, a keyboard, a mouse, a touch panel, and the like. The output device 106 includes, for example, a monitor and a speaker.
 コンピュータ100は据置型または携帯型のパーソナルコンピュータ(PC)でもよいし、ワークステーションでもよいし、高機能携帯電話機(スマートフォン)、携帯電話機、携帯情報端末(PDA)などの携帯端末でもよい。 The computer 100 may be a stationary or portable personal computer (PC), a workstation, or a mobile terminal such as a high-performance mobile phone (smartphone), a mobile phone, or a personal digital assistant (PDA).
 推定システム1の各機能要素は、補助記憶部103に予め記憶される推定プログラム110により実現される。具体的には、各機能要素は、プロセッサ101または主記憶部102の上に推定プログラム110を読み込ませてプロセッサ101にその推定プログラム110を実行させることで実現される。プロセッサ101はその推定プログラム110に従って、通信制御部104、入力装置105、または出力装置106を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行う。処理に必要なデータまたはデータベースは主記憶部102または補助記憶部103内に格納されてもよい。 Each functional element of the estimation system 1 is realized by an estimation program 110 stored in advance in the auxiliary storage unit 103. Specifically, each functional element is realized by loading an estimation program 110 onto the processor 101 or the main storage unit 102 and causing the processor 101 to execute the estimation program 110. The processor 101 operates the communication control unit 104, the input device 105, or the output device 106 according to the estimation program 110, and reads and writes data in the main storage unit 102 or the auxiliary storage unit 103. Data or databases required for processing may be stored in the main storage unit 102 or the auxiliary storage unit 103.
 推定プログラム110は、例えば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、推定プログラム110は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。 The estimation program 110 may be provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory, for example. Alternatively, the estimation program 110 may be provided via a communication network as a data signal superimposed on a carrier wave.
 推定システム1は1台のコンピュータ100で構成されてもよいし、複数台のコンピュータ100で構成されてもよい。複数台のコンピュータ100を用いる場合には、これらのコンピュータ100がインターネット、イントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの推定システム1が構築される。推定システム1は複数種類のコンピュータを組み合わせて構築されてもよい。 The estimation system 1 may be composed of one computer 100 or may be composed of multiple computers 100. When a plurality of computers 100 are used, one estimation system 1 is logically constructed by connecting these computers 100 via a communication network such as the Internet or an intranet. The estimation system 1 may be constructed by combining multiple types of computers.
 [システムの動作]
 図4は推定システム1による処理の一例を処理フローS1として示すフローチャートである。
[System operation]
FIG. 4 is a flowchart showing an example of processing by the estimation system 1 as a processing flow S1.
 ステップS11では、取得部11がデータベース2にアクセスして、処理しようとする映像を取得する。取得部11はデータベース2から、ユーザ操作によって指定された映像を読み出してもよいし、所定のアルゴリズムに基づいて指定された映像を読み出してもよい。取得部11は一つの映像の全体を取得してもよいし、一つの映像の一部の区間を取得してもよい。 In step S11, the acquisition unit 11 accesses the database 2 and acquires the video to be processed. The acquisition unit 11 may read a video specified by a user operation from the database 2, or may read a video specified based on a predetermined algorithm. The acquisition unit 11 may acquire the entirety of one video, or may acquire a partial section of one video.
 ステップS12では、検出部12および追跡部13が協働して、映像の複数のフレームのそれぞれにおいて、植物に対応するインスタンスを設定する。図5を参照しながらこの処理の一例を説明する。図5はインスタンスの設定の一例を示すフローチャートである。図5では個々のフレームを特定するために変数iを用いる。 In step S12, the detection unit 12 and the tracking unit 13 cooperate to set an instance corresponding to a plant in each of a plurality of frames of the video. An example of this processing will be explained with reference to FIG. FIG. 5 is a flowchart showing an example of setting an instance. In FIG. 5, a variable i is used to identify each frame.
 ステップS121およびステップS122では、検出部12が最初のフレームに対して物体検出を実行して、そのフレームからインスタンスを検出する。検出部12は1フレームから2以上のインスタンスを検出し得る。一例では、検出部12はMask R-CNNに基づく学習済みモデルにそのフレームを入力して、その学習済みモデルから出力される1以上のインスタンスを得る。図6はインスタンスの一例を示す図である。この例では、検出部12はフレームに映った植物9に対して、茎に対応するバウンディングボックス201と、その茎上に存在する複数の節に対応する複数の特徴点202と、茎の頂点に対応する特徴点203とを含むインスタンス200を検出する。 In steps S121 and S122, the detection unit 12 performs object detection on the first frame and detects an instance from that frame. The detection unit 12 can detect two or more instances from one frame. In one example, the detection unit 12 inputs the frame to a trained model based on Mask R-CNN and obtains one or more instances output from the trained model. FIG. 6 is a diagram showing an example of an instance. In this example, the detection unit 12 detects a bounding box 201 corresponding to the stem, a plurality of feature points 202 corresponding to a plurality of nodes existing on the stem, and a plurality of feature points 202 corresponding to the apex of the stem for the plant 9 shown in the frame. The instance 200 including the corresponding feature point 203 is detected.
 ステップS123では、検出部12がインスタンスの重複を解消する。インスタンスの重複とは、或るインスタンスの外縁の中に別のインスタンスが位置する状況をいい、例えば、二つのバウンディングボックスが交差し合ったり重なり合ったりする状況をいう。一つの重複に3以上のインスタンスが関係する場合もあり得る。一例では、検出部12はインスタンス間のIoU(Intersection over Union)を算出して、インスタンスの重複が存在するか否かを判定する。IoUは、二つのインスタンスの和集合(すなわちOR領域)に対する、該二つのインスタンスの重なり(すなわちAND領域)の割合である。検出部12はIoUが所与の閾値より大きい場合にインスタンスの重複を特定してもよい。検出部12は1フレーム内にインスタンスの重複を2以上特定するかもしれない。 In step S123, the detection unit 12 eliminates instance duplication. Overlapping instances refer to a situation where another instance is located within the outer edge of a certain instance, for example, a situation where two bounding boxes intersect or overlap. There may be cases where three or more instances are related to one duplication. In one example, the detection unit 12 calculates IoU (Intersection over Union) between instances and determines whether there is any duplication of instances. IoU is the ratio of the overlap (ie, AND area) of two instances to the union of the two instances (ie, OR area). The detection unit 12 may identify instance duplication when the IoU is greater than a given threshold. The detection unit 12 may identify two or more duplicate instances within one frame.
 1フレーム内に1以上の重複が存在する場合には、検出部12はそれぞれの重複を解消する。一例では、検出部12は一つの重複に関係する2以上のインスタンスのそれぞれについて、検出の確かさの度合いを示す検出スコアを取得する。検出部12はMask R-CNNなどに基づく学習済みモデルから出力される検出スコアを利用してもよい。検出部12は、検出スコアが最も高いインスタンスを維持し残りのインスタンスを削除して、その重複を解消する。フレーム内に重複が存在しない場合には、ステップS123は省略される。 If one or more overlaps exist within one frame, the detection unit 12 eliminates each overlap. In one example, the detection unit 12 obtains a detection score indicating the degree of certainty of detection for each of two or more instances related to one duplication. The detection unit 12 may use a detection score output from a trained model based on Mask R-CNN or the like. The detection unit 12 maintains the instance with the highest detection score and deletes the remaining instances to eliminate duplication. If there is no overlap within the frame, step S123 is omitted.
 ステップS124に示すように、最初のフレームを処理した場合と2番目以降のフレームを処理した場合とで次の処理が変わる。最初のフレーム内のインスタンスを設定した場合には(ステップS124においてNO)、処理はステップS125に進み、更にステップS122に進む。すなわち、検出部12は次のフレーム、すなわち2番目のフレームに対して物体検出を実行して、そのフレームからインスタンスを検出する。ステップS123では、検出部12は2番目のフレームに対して、必要に応じてインスタンスの重複を解消する。一方、2番目以降のフレームを処理した場合には(ステップS124においてYES)、処理はステップS126に進む。 As shown in step S124, the next process changes depending on whether the first frame is processed or the second and subsequent frames are processed. If the instance in the first frame is set (NO in step S124), the process advances to step S125, and then to step S122. That is, the detection unit 12 performs object detection on the next frame, that is, the second frame, and detects an instance from that frame. In step S123, the detection unit 12 eliminates instance duplication for the second frame as necessary. On the other hand, if the second or subsequent frames have been processed (YES in step S124), the process proceeds to step S126.
 ステップS126では、追跡部13が、検出されなかったインスタンスを補完する。「検出されなかったインスタンス」とは、(i-1)番目のフレーム(第1フレーム)からi番目のフレーム(第2フレーム)への変化を考慮するとi番目のフレームにおいて検出されるはずであるが、物体検出によって検出されなかったインスタンスをいう。すなわち、「検出されなかったインスタンス」とは、(i-1)番目のフレームで設定された先行インスタンス(第1インスタンス)に対応し、かつi番目のフレームで検出されなかった後続インスタンス(第2インスタンス)をいう。一例では、検出部12はDaSiamRPNという手法を(i-1)番目のフレームに適用して、検出されなかったインスタンスを補完により設定する。本開示では、補完によって得られるインスタンスを補完インスタンスともいう。補完インスタンスは第2インスタンスとして処理される。追跡部13は、それぞれの補完インスタンスについて、特徴点を設定することなくバウンディングボックスを設定する。したがって、補完インスタンスは、茎を示すバウンディングボックスを含むが、節および頂点を示す特徴点を含まない。 In step S126, the tracking unit 13 complements the undetected instances. An "undetected instance" should be detected in the i-th frame considering the change from the (i-1)th frame (first frame) to the i-th frame (second frame). is an instance that was not detected by object detection. In other words, an "undetected instance" refers to a subsequent instance (second instance) that corresponds to the preceding instance (first instance) set in the (i-1)th frame and that was not detected in the i-th frame. instance). In one example, the detection unit 12 applies a method called DaSiamRPN to the (i-1)th frame, and sets undetected instances by interpolation. In this disclosure, an instance obtained by completion is also referred to as a completion instance. The complementary instance is treated as a second instance. The tracking unit 13 sets a bounding box for each complementary instance without setting feature points. Therefore, the complementary instance contains a bounding box that indicates the stem, but no feature points that indicate nodes and vertices.
 ステップS127では、追跡部13が、(i-1)番目のフレームとi番目のフレームとの間におけるインスタンスの移動を追跡する。図7はその追跡の手法の一例を示す図である。この例では、(i-1)番目のフレーム(第1フレーム)301において3個の第1インスタンス311~313が設定され、i番目のフレーム(第2フレーム)302において5個の第2インスタンス321~325が設定されたことを前提とする。第2インスタンス321~325の少なくとも一つが補完インスタンスであってもよい。一例では、追跡部13は第1インスタンス311~313と第2インスタンス321~325とを比較して、この2フレーム間で最も近くに位置するインスタンス同士を関連付ける。例えば、追跡部13は第2フレーム302を第1フレーム301に仮想的に重ねて、第1インスタンスと第2インスタンスとが重なり合う度合いを重複度として算出する。続いて、追跡部13はそれぞれの第1インスタンスについて、該第1インスタンスに対応する第2インスタンスをその重複度に基づいて選択する。例えば、追跡部13は重複度としてIoUを算出し、第1インスタンスとの間で最も高いIoUが得られた第2インスタンスを選択する。そして、追跡部13は、インスタンス履歴の少なくとも一部として、選択された第2インスタンスを第1インスタンスに関連付ける。この関連付けにより、追跡部13は、その第1インスタンスおよび第2インスタンスが同じであると認定し、第1フレームから第2フレームへの該一つのインスタンスの推移を特定する。上述したように、そのインスタンスの推移は、バウンディングボックスの位置の変化と、1以上の特徴点のそれぞれについての位置の変化とを示す。図7の例では、追跡部13は第2インスタンス321を第1インスタンス311に関連付けてこの二つのインスタンスをインスタンス331の推移341として特定する。同様の手法により、追跡部13は第1インスタンス312および第2インスタンス322からインスタンス332の推移342を特定し、第1インスタンス313および第2インスタンス323からインスタンス333の推移343を特定する。 In step S127, the tracking unit 13 tracks the movement of the instance between the (i-1)th frame and the i-th frame. FIG. 7 is a diagram showing an example of the tracking method. In this example, three first instances 311 to 313 are set in the (i-1)th frame (first frame) 301, and five second instances 321 are set in the i-th frame (second frame) 302. It is assumed that 325 to 325 is set. At least one of the second instances 321-325 may be a complementary instance. In one example, the tracking unit 13 compares the first instances 311 to 313 and the second instances 321 to 325, and associates the instances located closest between these two frames. For example, the tracking unit 13 virtually overlaps the second frame 302 with the first frame 301, and calculates the degree of overlap between the first instance and the second instance as the degree of overlap. Subsequently, for each first instance, the tracking unit 13 selects a second instance corresponding to the first instance based on the degree of duplication. For example, the tracking unit 13 calculates IoU as the degree of overlap, and selects the second instance that has the highest IoU with respect to the first instance. The tracking unit 13 then associates the selected second instance with the first instance as at least part of the instance history. Due to this association, the tracking unit 13 recognizes that the first instance and the second instance are the same, and specifies the transition of the one instance from the first frame to the second frame. As described above, the transition of the instance indicates a change in the position of the bounding box and a change in the position of each of the one or more feature points. In the example of FIG. 7, the tracking unit 13 associates the second instance 321 with the first instance 311 and identifies these two instances as a transition 341 of the instance 331. Using a similar method, the tracking unit 13 identifies the transition 342 of the instance 332 from the first instance 312 and the second instance 322, and identifies the transition 343 of the instance 333 from the first instance 313 and the second instance 323.
 追跡部13は、(i-1)番目のフレーム(第1フレーム)内のインスタンスと関連付けられなかったi番目のフレーム(第2フレーム)内の孤立インスタンスを新規のインスタンスとして、すなわち映像内で新たに登場した植物として記録してもよい。あるいは、追跡部13は孤立インスタンスを誤検出として削除してもよい。追跡部13は、第1フレームには映っていないが第2フレームには映っている領域にまたは該領域の近傍に位置する孤立インスタンスを新規に記録してもよい。追跡部13は、第1フレームおよび第2フレームの双方に映っている領域に位置する孤立インスタンスを誤検出として削除してもよい。図7の例では第2インスタンス324,325が孤立したインスタンスである。その例では、追跡部13は第2インスタンス324を削除し、第2インスタンス325を新たなインスタンス334として記録する。 The tracking unit 13 treats the isolated instance in the i-th frame (second frame) that is not associated with the instance in the (i-1)-th frame (first frame) as a new instance, that is, as a new instance in the video. It may be recorded as a plant that appeared in Alternatively, the tracking unit 13 may delete the isolated instance as a false detection. The tracking unit 13 may newly record an isolated instance located in or near a region that is not shown in the first frame but shown in the second frame. The tracking unit 13 may delete an isolated instance located in a region shown in both the first frame and the second frame as a false detection. In the example of FIG. 7, the second instances 324 and 325 are isolated instances. In that example, the tracking unit 13 deletes the second instance 324 and records the second instance 325 as a new instance 334.
 追跡部13は、映像から外れようとするインスタンスを追跡の対象から除外する。一例では、追跡部13は、映像(フレーム)の端から所定数のピクセル(例えば数ピクセル)だけ内側の部分を閾値として設定し、この閾値よりも映像(フレーム)の端に進入してきたインスタンスを除外してもよい。このような除外は、映像に映らなくなったインスタンスが誤って検出および追跡され続ける現象を排除するために行われる。 The tracking unit 13 excludes instances that are about to deviate from the video from the tracking targets. In one example, the tracking unit 13 sets a predetermined number of pixels (for example, several pixels) inside the edge of the video (frame) as a threshold, and detects instances that have entered the edge of the video (frame) beyond this threshold. May be excluded. Such exclusion is done to eliminate the phenomenon that instances that are no longer visible in the video continue to be erroneously detected and tracked.
 ステップS126,S127に関する別の例として、追跡部13はこれら2ステップの実行順序を入れ替えてもよい。すなわち、追跡部13は、(i-1)番目のフレームとi番目のフレームとの間におけるインスタンスの移動を追跡し、この追跡において検出されなかったi番目のフレーム内のインスタンスをDaSiamRPNなどの手法によって補完してもよい。追跡部13は、i番目のフレームで補完された第2インスタンスと、その補完のために用いられた(i-1)番目のフレーム内の第1インスタンスとを互いに関連付ける。この関連付けにより、追跡部13は、その第1インスタンスおよび第2インスタンスを一つのインスタンスとして認定し、第1フレームから第2フレームへの該一つのインスタンスの推移を特定する。 As another example regarding steps S126 and S127, the tracking unit 13 may change the execution order of these two steps. That is, the tracking unit 13 tracks the movement of the instance between the (i-1)th frame and the i-th frame, and uses a method such as DaSiamRPN to detect instances in the i-th frame that are not detected in this tracking. It may be supplemented by The tracking unit 13 associates the second instance complemented in the i-th frame with the first instance in the (i-1)th frame used for the complementation. Through this association, the tracking unit 13 identifies the first instance and the second instance as one instance, and specifies the transition of the one instance from the first frame to the second frame.
 ステップS128に示すように、未処理のフレームが存在する場合には(ステップS128においてNO)、処理はステップS125に進み、次のフレームについてステップS122以降の処理が実行される。一方、すべてのフレームが処理された場合には(ステップS128においてYES)、ステップS12が終了し、それぞれのインスタンスについて、バウンディングボックスの位置履歴と1以上の特徴点のそれぞれの位置履歴とを含むインスタンス履歴が確定する。或る一つのインスタンスについて、1フレームで得られるインスタンスの位置を1レコードというとすると、連続するn個のフレームに現れたインスタンスのインスタンス履歴はn個のレコードによって表される。 As shown in step S128, if there is an unprocessed frame (NO in step S128), the process proceeds to step S125, and the processes from step S122 onwards are executed for the next frame. On the other hand, if all frames have been processed (YES in step S128), step S12 ends, and for each instance, an instance including a position history of a bounding box and a position history of each of one or more feature points. History is confirmed. Assuming that the position of an instance obtained in one frame is one record for a certain instance, the instance history of an instance that appears in n consecutive frames is represented by n records.
 図8はインスタンス履歴の一例を示す図である。この例は、連続する5個のフレーム401~405にわたる一つのインスタンスのインスタンス履歴を示す。このインスタンス履歴は、6個の節に対応する6個の特徴点411~416と、茎の頂点に対応する特徴点417とを含む。フレーム401,403~405では、特徴点を含むインスタンスが設定されており、このことは、その4フレームにおいてインスタンスが物体検出によって検出されたことを示す。一方、フレーム402ではインスタンスが特徴点を含まず、このことは、そのインスタンスが補完インスタンスであることを示す。或るフレームに対する物体検出によってインスタンスが検出されたとしても、そのインスタンスにおいて全ての特徴点が検出されるとは限らない。図8における特徴点411に着目すると、その特徴点411はフレーム401,404では検出されているが、フレーム403,405では検出されていない。 FIG. 8 is a diagram showing an example of instance history. This example shows the instance history of one instance over five consecutive frames 401-405. This instance history includes six feature points 411 to 416 corresponding to six nodes and a feature point 417 corresponding to the apex of the stem. In frames 401, 403 to 405, instances including feature points are set, which indicates that instances were detected by object detection in those four frames. On the other hand, in frame 402, the instance does not include feature points, which indicates that the instance is a complementary instance. Even if an instance is detected by object detection for a certain frame, not all feature points are necessarily detected in the instance. Focusing on the feature point 411 in FIG. 8, the feature point 411 is detected in frames 401 and 404, but not in frames 403 and 405.
 図4に戻って、ステップS13では、推定部14がそれぞれのインスタンスについて、すなわちそれぞれの植物について、個々の節の位置を推定する。一例では、推定部14は最初のフレームから最後のフレームに向けてインスタンスを一つずつ選択しながら、個々の植物の節の位置を推定する。図9を参照しながらこの処理の一例を説明する。図9は節の位置を推定する手法の一例を示すフローチャートである。 Returning to FIG. 4, in step S13, the estimation unit 14 estimates the position of each node for each instance, that is, for each plant. In one example, the estimation unit 14 estimates the position of each plant node while selecting instances one by one from the first frame to the last frame. An example of this processing will be explained with reference to FIG. FIG. 9 is a flowchart showing an example of a method for estimating the position of a node.
 ステップS131では、推定部14が映像内から一つのインスタンス、すなわち一つの植物を選択する。推定部14は1以上のインスタンスのそれぞれについて、該インスタンスが特定されたフレームの個数、すなわちインスタンス履歴のレコード数を特定し、その個数が閾値以上であるインスタンスを選択してもよい。 In step S131, the estimation unit 14 selects one instance, that is, one plant, from within the video. The estimating unit 14 may identify, for each of one or more instances, the number of frames in which the instance is identified, that is, the number of records in the instance history, and select instances for which the number is equal to or greater than a threshold.
 ステップS132では、推定部14がそのインスタンスのインスタンス履歴を参照して、一つの特徴点の位置履歴を特定する。 In step S132, the estimation unit 14 refers to the instance history of the instance and identifies the position history of one feature point.
 ステップS133では、推定部14が特定された位置履歴から外れ値を除外し、有効な位置の集合、すなわち位置履歴の残存部分の統計値を算出する。一例では、推定部14は、位置履歴で示される複数の位置座標を母集団とする区間推定を実行して信頼区間を算出し、この信頼区間から外れる位置座標を外れ値として除外する。この処理において、推定部14は80%信頼区間を算出してもよいし、別の数値範囲で信頼区間を算出してもよい。推定部14は信頼区間内の位置座標の集合を有効な位置の集合として特定し、その集合の統計値を算出する。推定部14はその統計値として中央値を用いてもよいし、平均値などの他の指標を用いてもよい。 In step S133, the estimation unit 14 removes outliers from the identified position history and calculates statistical values of the set of valid positions, that is, the remaining portion of the position history. In one example, the estimation unit 14 calculates a confidence interval by performing interval estimation using a plurality of position coordinates indicated in the position history as a population, and excludes position coordinates that deviate from this confidence interval as outliers. In this process, the estimation unit 14 may calculate an 80% confidence interval, or may calculate a confidence interval using another numerical range. The estimation unit 14 identifies a set of position coordinates within the confidence interval as a set of valid positions, and calculates statistical values for the set. The estimation unit 14 may use the median value as the statistical value, or may use other indicators such as the average value.
 図8に示す特徴点411のような、一部のフレームで検出されなかった特徴点についても、推定部14はステップS132,S133を実行してその特徴点について統計値を算出する。ステップS132では、推定部14は残りのフレームでの検出に基づいてその特徴点の位置履歴を特定する。ステップS133では、推定部14はその位置履歴に基づいて統計値を算出する。図8に示す特徴点411に関していうと、推定部14はフレーム401,404において検出された位置に基づいて特徴点411の位置履歴を特定し、その位置履歴に基づいて統計値を算出する。 Even for feature points that are not detected in some frames, such as the feature point 411 shown in FIG. 8, the estimation unit 14 executes steps S132 and S133 to calculate statistical values for the feature points. In step S132, the estimation unit 14 identifies the position history of the feature point based on the detection in the remaining frames. In step S133, the estimation unit 14 calculates statistical values based on the position history. Regarding the feature point 411 shown in FIG. 8, the estimation unit 14 identifies the position history of the feature point 411 based on the positions detected in the frames 401 and 404, and calculates statistical values based on the position history.
 ステップS134では、推定部14がその統計値に基づいて、特徴点に対応する節の位置を推定する。推定部14はその統計値をそのまま節の位置として推定してもよいし、画像の座標系から現実空間の座標系への変換によってその統計値を節の位置に変換してもよい。このステップにおいて、推定部14は節の場合と同様に、茎の頂点の位置を推定し得る。 In step S134, the estimation unit 14 estimates the position of the node corresponding to the feature point based on the statistical value. The estimation unit 14 may directly estimate the statistical value as the position of the node, or may convert the statistical value into the position of the node by converting the coordinate system of the image to the coordinate system of real space. In this step, the estimation unit 14 can estimate the position of the apex of the stem, as in the case of nodes.
 ステップS135に示すように、選択されたインスタンス内に未処理の特徴点が存在する場合には(ステップS135においてNO)、処理はステップS132に戻り、推定部14は次の特徴点についてステップS132以降の処理を実行して、その特徴点に対応する節(または茎の頂点)の位置を推定する。一方、選択されたインスタンスのすべての特徴点を処理した場合には(ステップS135においてYES)、処理はステップS136に進む。 As shown in step S135, if there is an unprocessed feature point in the selected instance (NO in step S135), the process returns to step S132, and the estimation unit 14 calculates the next feature point from step S132 onwards. Then, the position of the node (or stem apex) corresponding to the feature point is estimated. On the other hand, if all feature points of the selected instance have been processed (YES in step S135), the process proceeds to step S136.
 図10は節の位置の推定の一例を示す図である。この例は、一つの植物9に対して、6個の特徴点の位置履歴501~506を示す。位置履歴501~505のそれぞれは節に対応し、位置履歴506は茎の頂点に対応する。推定部14は位置履歴501から外れ値を除外し、位置履歴501の残存部分の統計値(例えば中央値)に基づいて、節の位置511を推定する。同様に、推定部14は位置履歴502~505のそれぞれから節の位置512~515を推定し、位置履歴506から茎の頂点の位置516を推定する。 FIG. 10 is a diagram showing an example of estimating the position of a node. This example shows position histories 501 to 506 of six feature points for one plant 9. Each of the position histories 501 to 505 corresponds to a node, and the position history 506 corresponds to the apex of a stem. The estimation unit 14 removes outliers from the position history 501 and estimates the node position 511 based on the statistical value (for example, median value) of the remaining part of the position history 501. Similarly, the estimation unit 14 estimates the positions 512 to 515 of the nodes from the position histories 502 to 505, and estimates the position 516 of the apex of the stem from the position history 506.
 ステップS136では、推定部14が節間距離を推定する。連続する二つの節の間の距離を節間距離として推定する場合には、推定部14はn個の特徴点の位置座標に基づいて(n-1)個の節間距離を算出する。このステップS136は省略されてもよい。 In step S136, the estimation unit 14 estimates the internodal distance. When estimating the distance between two consecutive nodes as an internodal distance, the estimation unit 14 calculates (n-1) internodal distances based on the position coordinates of n feature points. This step S136 may be omitted.
 ステップS137に示すように、映像内に未処理のインスタンスが存在する場合には(ステップS137においてNO)、処理はステップS131に戻り、推定部14は次のインスタンスのそれぞれ特徴点についてステップS132以降の処理を実行して、それぞれの節(および茎の頂点)の位置と少なくとも一つの節間距離とを推定する。一方、すべてのインスタンスを処理した場合には(ステップS137においてYES)、ステップS13が終了する。 As shown in step S137, if there is an unprocessed instance in the video (NO in step S137), the process returns to step S131, and the estimation unit 14 performs the steps from step S132 onwards for each feature point of the next instance. A process is performed to estimate the position of each node (and stem apex) and at least one internodal distance. On the other hand, if all instances have been processed (YES in step S137), step S13 ends.
 図4に戻って、ステップS14では、推定部14が、それぞれの植物のそれぞれの節の位置を示す推定結果を出力する。推定部14はそれぞれの植物の少なくとも一つの節間距離を更に示す推定結果を出力してもよい。推定部14は推定結果を、モニタ上に表示してもよいし、所定のデータベースに格納してもよいし、他のコンピュータシステムに送信してもよい。あるいは、推定システム1はその推定結果に基づいて、灌水制御、空調制御などのような栽培環境の制御を実行してもよい。 Returning to FIG. 4, in step S14, the estimation unit 14 outputs estimation results indicating the positions of each node of each plant. The estimation unit 14 may output estimation results that further indicate at least one internodal distance of each plant. The estimation unit 14 may display the estimation result on a monitor, store it in a predetermined database, or transmit it to another computer system. Alternatively, the estimation system 1 may control the cultivation environment, such as irrigation control and air conditioning control, based on the estimation result.
 [変形例]
 以上、本開示での様々な例を詳細に説明した。しかし、本開示は上記の例に限定されるものではない。本開示に関しては、その要旨を逸脱しない範囲で様々な変形が可能である。
[Modified example]
Various examples in the present disclosure have been described above in detail. However, the present disclosure is not limited to the above examples. Various modifications can be made to the present disclosure without departing from the gist thereof.
 上記の例では、追跡部13がインスタンスの重複度に基づいてインスタンスの移動を追跡する。しかし、追跡部13は別の手法によってその追跡してもよく、例えば既存の追跡アルゴリズムを用いてもよい。 In the above example, the tracking unit 13 tracks the movement of instances based on the degree of duplication of instances. However, the tracking unit 13 may perform the tracking using another method, for example, using an existing tracking algorithm.
 本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。 In this disclosure, the expression "at least one processor executes a first process, executes a second process, ... executes an n-th process" or an expression corresponding to this The concept includes a case where the executing entity (that is, the processor) of n processes from the first process to the nth process changes midway. That is, this expression indicates a concept that includes both a case in which all of the n processes are executed by the same processor, and a case in which the processors in the n processes are changed according to an arbitrary policy.
 少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップの一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。 The processing procedure of the method executed by at least one processor is not limited to the example in the above embodiment. For example, some of the steps described above may be omitted, or each step may be performed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be performed in addition to each of the above steps.
 二つの数値の大小関係の比較では、「以上」および「よりも大きい」という二つの基準のどちらが用いられてもよく、「以下」および「未満」という二つの基準のうちのどちらが用いられてもよい。 When comparing the magnitude relationship between two numerical values, either of the two criteria "greater than" or "greater than" may be used, and either of the two criteria "less than or equal to" and "less than" may be used. good.
 [付記]
 上記の様々な例から把握されるとおり、本開示は以下に示す態様を含む。
(付記1)
 少なくとも一つのプロセッサを備え、
 前記少なくとも一つのプロセッサが、
  植物の位置が変化するように該植物を映した映像を取得し、
  前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定し、
  前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定し、
  前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定する、
推定システム。
(付記2)
 前記複数のフレームが、第1フレームと、該第1フレームの次に位置する第2フレームとを含み、
 前記少なくとも一つのプロセッサが、
  前記第1フレームにおいて前記植物の第1インスタンスを設定し、
  前記第2フレームにおいて、前記第1インスタンスに対応する1以上の第2インスタンスを検出し、
  前記第1インスタンスとの重複度に基づいて前記1以上の第2インスタンスから一つの第2インスタンスを選択し、
  前記インスタンス履歴の少なくとも一部として、前記選択された第2インスタンスを前記第1インスタンスに関連付ける、
付記1に記載の推定システム。
(付記3)
 前記インスタンスが、前記植物の茎に対応するバウンディングボックスを更に含み、
 前記少なくとも一つのプロセッサが、前記第2フレームにおいて前記第2インスタンスが検出されなかった場合に、
  前記バウンディングボックスを含みかつ前記特徴点を含まない補完インスタンスを前記第2インスタンスとして設定し、
  前記インスタンス履歴の少なくとも一部として、前記設定された第2インスタンスを前記第1インスタンスに関連付ける、
付記2に記載の推定システム。
(付記4)
 前記特徴点の前記推移が、該特徴点の位置履歴によって表現され、
 前記少なくとも一つのプロセッサが、前記2以上の特徴点のそれぞれについて、
  前記位置履歴の統計値を算出し、
  前記統計値に基づいて、対応する前記節の前記位置を推定する、
付記1~3のいずれか一つに記載の推定システム。
(付記5)
 前記少なくとも一つのプロセッサが、前記2以上の特徴点のそれぞれについて、
  該特徴点の位置履歴から外れ値を除外して、有効な位置の集合を特定し、
  前記有効な位置の集合に基づいて前記統計値を算出する、
付記4に記載の推定システム。
(付記6)
 前記少なくとも一つのプロセッサが、前記2以上の特徴点を含む前記インスタンスを入力画像から推定する学習済みモデルに前記フレームを入力して、前記インスタンスを検出する、
付記1~5のいずれか一つに記載の推定システム。
(付記7)
 少なくとも一つのプロセッサを備える推定システムによって実行される推定方法であって、
 植物の位置が変化するように該植物を映した映像を取得するステップと、
 前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定するステップと、
 前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定するステップと、
 前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定するステップと、
を含む推定方法。
(付記8)
 植物の位置が変化するように該植物を映した映像を取得するステップと、
 前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定するステップと、
 前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定するステップと、
 前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定するステップと、
をコンピュータに実行させる推定プログラム。
[Additional notes]
As understood from the various examples above, the present disclosure includes the following aspects.
(Additional note 1)
comprising at least one processor;
the at least one processor,
Obtain a video showing the plant so that the position of the plant changes,
Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant as the instance history,
estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
Estimation system.
(Additional note 2)
The plurality of frames include a first frame and a second frame located next to the first frame,
the at least one processor,
setting a first instance of the plant in the first frame;
detecting one or more second instances corresponding to the first instance in the second frame;
selecting one second instance from the one or more second instances based on the degree of overlap with the first instance;
associating the selected second instance with the first instance as at least part of the instance history;
Estimation system described in Appendix 1.
(Additional note 3)
the instance further includes a bounding box corresponding to a stem of the plant;
the at least one processor, if the second instance is not detected in the second frame;
setting a complementary instance that includes the bounding box and does not include the feature points as the second instance;
associating the configured second instance with the first instance as at least part of the instance history;
Estimation system described in Appendix 2.
(Additional note 4)
The transition of the feature point is expressed by a position history of the feature point,
The at least one processor, for each of the two or more feature points,
Calculating statistical values of the position history;
estimating the position of the corresponding node based on the statistical value;
The estimation system described in any one of Supplementary Notes 1 to 3.
(Appendix 5)
The at least one processor, for each of the two or more feature points,
Excluding outliers from the position history of the feature point to identify a set of valid positions;
calculating the statistical value based on the set of valid locations;
Estimation system described in Appendix 4.
(Appendix 6)
the at least one processor detects the instance by inputting the frame to a trained model that estimates the instance including the two or more feature points from an input image;
The estimation system described in any one of Supplementary Notes 1 to 5.
(Appendix 7)
An estimation method performed by an estimation system comprising at least one processor, the method comprising:
acquiring an image showing the plant such that the position of the plant changes;
Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history;
estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
Estimation methods including.
(Appendix 8)
acquiring an image showing the plant such that the position of the plant changes;
Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history;
estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
An estimation program that causes a computer to execute
 付記1,7,8によれば、植物を映す映像の2以上のフレームにわたって、該植物の2以上の節に対応する2以上の特徴点の推移が特定され、その推移に基づいてそれらの節の位置が推定され、それらの位置に基づいて節間距離が推定される。その映像の中では植物の位置が変化するので、それぞれの特徴点も2以上のフレームにわたって変化し、したがって、個々の特徴点について複数の情報が得られる。その複数の情報を参照することで、植物の節の位置を正確に把握できる。その結果、植物の生育状態と密接に関係する節間距離も正確に把握できる。植物の生長に伴って葉が茂ると、撮影の角度によっては節が葉で隠れてしまう。しかし、複数のフレームが処理されることで、そのような節についても検出される蓋然性が高まり、節の位置を把握することが可能になる。加えて、植物の節の位置が映像から自動的に推定されるので、植物の生育状態と密接に関係する節間距離を効率的に把握でき、生育状態を効率的にまたは簡単に管理できる。 According to Appendices 1, 7, and 8, changes in two or more feature points corresponding to two or more nodes of the plant are identified over two or more frames of an image showing a plant, and those nodes are identified based on the changes. The positions of are estimated, and the internodal distances are estimated based on those positions. As the position of the plant changes in the video, each feature point also changes over two or more frames, thus providing multiple pieces of information about each feature point. By referring to multiple pieces of information, the positions of plant nodes can be accurately determined. As a result, it is possible to accurately grasp the internodal distance, which is closely related to the growth state of the plant. As the plant grows, the leaves become thicker, and depending on the angle of photography, the nodes may be hidden by the leaves. However, by processing multiple frames, the probability that such nodes will be detected increases, making it possible to determine the location of the nodes. In addition, since the positions of plant nodes are automatically estimated from the video, internodal distances, which are closely related to the growth state of the plant, can be efficiently grasped, and the growth state can be managed efficiently and easily.
 付記2によれば、隣接する2フレーム間でのインスタンス同士の重複度に基づいて、該2フレームにわたるインスタンスの推移が特定される。その重複度を考慮することで、それぞれのインスタンスを複数のフレームにわたって正確に追跡して、正確なインスタンス履歴を得ることができる。 According to appendix 2, the transition of instances over two adjacent frames is identified based on the degree of overlap between instances between the two frames. By considering the degree of redundancy, each instance can be accurately tracked across multiple frames to obtain an accurate instance history.
 付記3によれば、検出されるべきインスタンスが物体検出によって得られなかった場合にそのインスタンスが補完されるので、インスタンスを確実に追跡し続けて、正確なインスタンス履歴を得ることができる。 According to appendix 3, if an instance to be detected is not obtained by object detection, the instance is complemented, so the instance can be reliably tracked and an accurate instance history can be obtained.
 付記4によれば、特徴点の位置履歴が統計的に処理されるので、節の位置をより正確に推定できる。 According to appendix 4, since the position history of feature points is statistically processed, the position of the node can be estimated more accurately.
 付記5によれば、誤検出の可能性がある外れ値が位置履歴から除外された上で統計処理が実行されるので、節の位置をより正確に推定できる。 According to appendix 5, statistical processing is performed after outliers that may result in false detection are excluded from the position history, so the position of the node can be estimated more accurately.
 付記6によれば、物体検出に学習済みモデルが採用されるので、様々な種類および様々な形状の植物のインスタンスを正確に検出できる。 According to Appendix 6, since a trained model is employed for object detection, instances of plants of various types and shapes can be accurately detected.
 1…推定システム、2…データベース、3…自走カメラ、9…植物、11…取得部、12…検出部、13…追跡部、14…推定部、20…映像、21~23…フレーム、110…推定プログラム、200…インスタンス、201…バウンディングボックス、202,203…特徴点、301…第1フレーム、302…第2フレーム、311~313…第1インスタンス、321~325…第2インスタンス、411~417…特徴点、501~506…位置履歴。 DESCRIPTION OF SYMBOLS 1... Estimation system, 2... Database, 3... Self-propelled camera, 9... Plant, 11... Acquisition unit, 12... Detection unit, 13... Tracking unit, 14... Estimation unit, 20... Video, 21-23... Frame, 110 ...Estimation program, 200...Instance, 201...Bounding box, 202, 203...Feature point, 301...First frame, 302...Second frame, 311-313...First instance, 321-325...Second instance, 411- 417...Feature points, 501-506...Position history.

Claims (8)

  1.  少なくとも一つのプロセッサを備え、
     前記少なくとも一つのプロセッサが、
      植物の位置が変化するように該植物を映した映像を取得し、
      前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定し、
      前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定し、
      前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定する、
    推定システム。
    comprising at least one processor;
    the at least one processor,
    Obtain a video showing the plant so that the position of the plant changes,
    Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant as the instance history,
    estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
    estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
    Estimation system.
  2.  前記複数のフレームが、第1フレームと、該第1フレームの次に位置する第2フレームとを含み、
     前記少なくとも一つのプロセッサが、
      前記第1フレームにおいて前記植物の第1インスタンスを設定し、
      前記第2フレームにおいて、前記第1インスタンスに対応する1以上の第2インスタンスを検出し、
      前記第1インスタンスとの重複度に基づいて前記1以上の第2インスタンスから一つの第2インスタンスを選択し、
      前記インスタンス履歴の少なくとも一部として、前記選択された第2インスタンスを前記第1インスタンスに関連付ける、
    請求項1に記載の推定システム。
    The plurality of frames include a first frame and a second frame located next to the first frame,
    the at least one processor,
    setting a first instance of the plant in the first frame;
    detecting one or more second instances corresponding to the first instance in the second frame;
    selecting one second instance from the one or more second instances based on the degree of overlap with the first instance;
    associating the selected second instance with the first instance as at least part of the instance history;
    The estimation system according to claim 1.
  3.  前記インスタンスが、前記植物の茎に対応するバウンディングボックスを更に含み、
     前記少なくとも一つのプロセッサが、前記第2フレームにおいて前記第2インスタンスが検出されなかった場合に、
      前記バウンディングボックスを含みかつ前記特徴点を含まない補完インスタンスを前記第2インスタンスとして設定し、
      前記インスタンス履歴の少なくとも一部として、前記設定された第2インスタンスを前記第1インスタンスに関連付ける、
    請求項2に記載の推定システム。
    the instance further includes a bounding box corresponding to a stem of the plant;
    the at least one processor, if the second instance is not detected in the second frame;
    setting a complementary instance that includes the bounding box and does not include the feature points as the second instance;
    associating the configured second instance with the first instance as at least part of the instance history;
    The estimation system according to claim 2.
  4.  前記特徴点の前記推移が、該特徴点の位置履歴によって表現され、
     前記少なくとも一つのプロセッサが、前記2以上の特徴点のそれぞれについて、
      前記位置履歴の統計値を算出し、
      前記統計値に基づいて、対応する前記節の前記位置を推定する、
    請求項1~3のいずれか一項に記載の推定システム。
    The transition of the feature point is expressed by a position history of the feature point,
    The at least one processor, for each of the two or more feature points,
    Calculating statistical values of the position history;
    estimating the position of the corresponding node based on the statistical value;
    The estimation system according to any one of claims 1 to 3.
  5.  前記少なくとも一つのプロセッサが、前記2以上の特徴点のそれぞれについて、
      該特徴点の位置履歴から外れ値を除外して、有効な位置の集合を特定し、
      前記有効な位置の集合に基づいて前記統計値を算出する、
    請求項4に記載の推定システム。
    The at least one processor, for each of the two or more feature points,
    Excluding outliers from the position history of the feature point to identify a set of valid positions;
    calculating the statistical value based on the set of valid locations;
    The estimation system according to claim 4.
  6.  前記少なくとも一つのプロセッサが、前記2以上の特徴点を含む前記インスタンスを入力画像から推定する学習済みモデルに前記フレームを入力して、前記インスタンスを検出する、
    請求項1~3のいずれか一項に記載の推定システム。
    the at least one processor detects the instance by inputting the frame to a trained model that estimates the instance including the two or more feature points from an input image;
    The estimation system according to any one of claims 1 to 3.
  7.  少なくとも一つのプロセッサを備える推定システムによって実行される推定方法であって、
     植物の位置が変化するように該植物を映した映像を取得するステップと、
     前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定するステップと、
     前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定するステップと、
     前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定するステップと、
    を含む推定方法。
    An estimation method performed by an estimation system comprising at least one processor, the method comprising:
    acquiring an image showing the plant such that the position of the plant changes;
    Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history;
    estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
    estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
    Estimation methods including.
  8.  植物の位置が変化するように該植物を映した映像を取得するステップと、
     前記植物に対応するインスタンスを検出するための物体検出を前記映像の複数のフレームのそれぞれに対して実行して、前記植物の2以上の節に対応する2以上の特徴点を含む該インスタンスの推移をインスタンス履歴として特定するステップと、
     前記インスタンス履歴に含まれる前記2以上の特徴点のそれぞれの推移に基づいて、前記2以上の節のそれぞれの位置を推定するステップと、
     前記推定された2以上の位置に基づいて、二つの節の間の距離である節間距離を推定するステップと、
    をコンピュータに実行させる推定プログラム。
    acquiring an image showing the plant such that the position of the plant changes;
    Object detection for detecting an instance corresponding to the plant is performed on each of the plurality of frames of the video, and the transition of the instance including two or more feature points corresponding to two or more nodes of the plant identifying the instance history as the instance history;
    estimating the position of each of the two or more nodes based on the transition of each of the two or more feature points included in the instance history;
    estimating an internodal distance, which is a distance between two nodes, based on the estimated two or more positions;
    An estimation program that causes a computer to execute
PCT/JP2023/020468 2022-07-04 2023-06-01 Estimation system, estimation method, and estimation program WO2024009661A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-107620 2022-07-04
JP2022107620 2022-07-04

Publications (1)

Publication Number Publication Date
WO2024009661A1 true WO2024009661A1 (en) 2024-01-11

Family

ID=89453151

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/020468 WO2024009661A1 (en) 2022-07-04 2023-06-01 Estimation system, estimation method, and estimation program

Country Status (1)

Country Link
WO (1) WO2024009661A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020095707A (en) * 2018-12-11 2020-06-18 キヤノン株式会社 Alignment-free video change detection using deep blind image region prediction
JP2022073524A (en) * 2020-11-02 2022-05-17 オルガノ株式会社 Information processing device, information processing system, information processing method, and program
US20220151161A1 (en) * 2020-11-13 2022-05-19 Ecoation Innovative Solutions Inc. Stereo-spatio-temporal crop condition measurements for plant growth and health optimization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020095707A (en) * 2018-12-11 2020-06-18 キヤノン株式会社 Alignment-free video change detection using deep blind image region prediction
JP2022073524A (en) * 2020-11-02 2022-05-17 オルガノ株式会社 Information processing device, information processing system, information processing method, and program
US20220151161A1 (en) * 2020-11-13 2022-05-19 Ecoation Innovative Solutions Inc. Stereo-spatio-temporal crop condition measurements for plant growth and health optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OKENTARO HIRAHARA, TAKARU KANO, HIROYA UNNO, HIROTO KITAGAWA, FUMITAKA KUDO, AKIRA NAGAI, HIROSHI MINENO: "Evaluation of Keypoint detection for automation of plant growth records", THE 84TH NATIONAL CONVENTION OF IPSJ, 3 March 2022 (2022-03-03), XP093126764, Retrieved from the Internet <URL:https://www.ipsj.or.jp/event/taikai/84/ipsj_web2022/data/pdf/4ZA-08.html> *

Similar Documents

Publication Publication Date Title
US11107222B2 (en) Video object tracking
JP6453968B2 (en) Threshold change device
EP3414743B1 (en) Method and system for efficiently mining dataset essentials with bootstrapping strategy in 6dof pose estimate of 3d objects
AU2018203375A1 (en) Method and system for data based optimization of performance indicators in process and manufacturing industries
US10062007B2 (en) Apparatus and method for creating an image recognizing program having high positional recognition accuracy
CN108320306B (en) Video target tracking method fusing TLD and KCF
EP1363235A1 (en) Signal processing device
EP1477929B1 (en) Signal processing
JP7086878B2 (en) Learning device, learning method, program and recognition device
KR20210096473A (en) Robust visual object tracking based on global and local search with confidence estimation
JP7446060B2 (en) Information processing device, program and information processing method
CN111429485A (en) Cross-modal filtering tracking method based on self-adaptive regularization and high-reliability updating
JP6988995B2 (en) Image generator, image generator and image generator
WO2024009661A1 (en) Estimation system, estimation method, and estimation program
US20200379016A1 (en) Waveform segmentation device and waveform segmentation method
JP7472471B2 (en) Estimation system, estimation device, and estimation method
CN117649515A (en) Digital twinning-based semi-supervised 3D target detection method, system and equipment
JP6622150B2 (en) Information processing apparatus and information processing method
CN116579409A (en) Intelligent camera model pruning acceleration method and acceleration system based on re-parameterization
US11688175B2 (en) Methods and systems for the automated quality assurance of annotated images
KR20210028966A (en) Method and apparatus for disease classification of plant leafs
CN115511920A (en) Detection tracking method and system based on deep sort and deep EMD
Pantrigo et al. Heuristic particle filter: applying abstraction techniques to the design of visual tracking algorithms
US20230196752A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
Li et al. TPTrack: Strengthening tracking-by-detection methods from tracklet processing perspectives

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: 23835197

Country of ref document: EP

Kind code of ref document: A1