WO2022209435A1 - コンピュータプログラム、モデル生成方法、推定方法及び推定装置 - Google Patents

コンピュータプログラム、モデル生成方法、推定方法及び推定装置 Download PDF

Info

Publication number
WO2022209435A1
WO2022209435A1 PCT/JP2022/007299 JP2022007299W WO2022209435A1 WO 2022209435 A1 WO2022209435 A1 WO 2022209435A1 JP 2022007299 W JP2022007299 W JP 2022007299W WO 2022209435 A1 WO2022209435 A1 WO 2022209435A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image data
image
fish
aquatic organism
Prior art date
Application number
PCT/JP2022/007299
Other languages
English (en)
French (fr)
Inventor
温史 池上
悟史 中村
Original Assignee
古野電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 古野電気株式会社 filed Critical 古野電気株式会社
Priority to EP22779660.4A priority Critical patent/EP4317910A1/en
Priority to CN202280024241.2A priority patent/CN117178161A/zh
Priority to JP2023510653A priority patent/JPWO2022209435A1/ja
Publication of WO2022209435A1 publication Critical patent/WO2022209435A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/90Sorting, grading, counting or marking live aquatic animals, e.g. sex determination
    • A01K61/95Sorting, grading, counting or marking live aquatic animals, e.g. sex determination specially adapted for fish
    • 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
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present invention relates to computer programs, model generation methods, estimation methods, and estimation devices.
  • the size of farmed fish in the cage is important information that determines the amount of feed and the timing of landing.
  • multiple analysis services have been provided for automating underwater fish length measurement. These services measure the length by extracting a plurality of characteristic points of the fish body and measuring the distance between the characteristic points (for example, between the end of the mouth and the fork).
  • Patent Document 1 discloses an information processing device that detects two characteristic parts (mouth and caudal fin) of a fish from a photographed image of the fish and calculates the size of the fish based on the length between the detected characteristic parts. It is
  • the optimal body height measurement for fish does not necessarily have features, so it is not possible to accurately measure body height in terms of measurement accuracy and biological stability. is difficult to estimate.
  • the present invention has been made in view of such circumstances, and aims to provide a computer program, a model generation method, an estimation method, and an estimation device capable of estimating the size of aquatic organisms.
  • a computer program acquires image data obtained by imaging aquatic organisms into a computer, and outputs position data of a predetermined part of an aquatic organism when the image data is input to a first learning model. to acquire the position data of the predetermined part of the aquatic organism that has been imaged, input the acquired image data into a generation model that generates a segmentation image of the aquatic organism when the image data is input, and A process of generating a segmentation image of the captured aquatic organism and estimating the size of the captured aquatic organism based on the position data of the predetermined part and the segmentation image is executed.
  • a computer program provides a second learning model that, when image data is input to a computer, outputs first position data of an aquatic creature and second position data of a predetermined part of the aquatic creature, and stores the obtained image data in a second learning model. to output the first position data and the second position data, to the first learning model is input the image data of the second region including the second position data, and to the generation model , inputting the image data of the first area including the first position data.
  • the computer program according to the present invention causes the predetermined part to include the caudal fin and the snout tip, and causes the computer to calculate body height based on a straight line perpendicular to a straight line connecting the caudal fin and the snout tip.
  • a computer program inputs image data captured by a stereo camera into the computer into the first learning model, and calculates the three-dimensional positions of the tip of the snout and the tail fork based on the position data of the acquired predetermined part.
  • a body height auxiliary line is generated based on the calculated three-dimensional position, and the generated body height auxiliary line is two-dimensionally projected onto the segmentation image to calculate the body height.
  • the computer program according to the present invention causes a computer to calculate the body height using the body height auxiliary line located at a predetermined ratio of the distance between the snout end and the fork from the position of the snout end or the fork. , causes the process to be executed.
  • the computer program inputs image data of each of a plurality of frames captured by a stereo camera into the computer, and inputs the image data of each of a plurality of frames to the first learning model, and based on the acquired position data of the predetermined part, the tail fork for each frame. calculating the three-dimensional position of the fork, specifying the displacement of the fork for each frame based on the calculated three-dimensional position of the fork, and selecting a frame for estimating the size of the aquatic organism based on the specified displacement , let the process run.
  • a computer program displays an estimated position of a caudal fin or a snout tip on a computer based on the position data output by the first learning model, and accepts correction of the estimated position of the displayed caudal fin or snout tip, A process of re-learning the first learning model is executed based on the received correction position and the image data when the correction position is received.
  • a computer program displays a segmentation image generated by the generative model on a computer, accepts correction of the displayed segmentation image, and combines the corrected segmentation image and the image data when the correction is accepted. Based on this, a process of re-learning the generative model is executed.
  • a computer program according to the present invention causes a computer to execute a process of displaying an image of the aquatic organisms cultivated in a fish tank with fork length or body height attached.
  • the computer program according to the present invention divides the accuracy of the estimated size of a plurality of aquatic organisms cultivated in a cage into a plurality of ranks, and displays the number of aquatic organisms for each rank. to run.
  • a computer program causes a computer to display a size distribution including at least one of fork length and body height of a plurality of aquatic organisms cultivated in a fish cage.
  • a model generation method obtains first training data including image data of captured underwater organisms and position data of predetermined parts of the underwater organisms, and includes the image data and segmentation images of the underwater organisms. Acquiring second training data, and generating a first learning model based on the first training data so as to output position data of a predetermined part of the aquatic organism when image data of the aquatic organism is input. Then, based on the second training data, a generation model is generated so as to generate a segmentation image of the aquatic organism when image data of the aquatic organism is input.
  • a model generation method acquires third training data including image data of an aquatic organism, first position data of the aquatic organism, and second position data of a predetermined part of the aquatic organism, A second learning model is generated based on the training data so as to output first position data of the aquatic creature and second position data of a predetermined part of the aquatic creature when image data of the aquatic creature is input. do.
  • An estimation method acquires image data of aquatic organisms, and inputs the acquired image data to a first learning model that outputs position data of a predetermined part of an aquatic organism when the image data is input.
  • position data of a predetermined portion of the captured aquatic organism is input to a generation model that generates a segmentation image of the aquatic organism when the image data is input;
  • a segmentation image of the aquatic organism is generated, and a size of the captured aquatic organism is estimated based on the position data of the predetermined part and the segmentation image.
  • the estimating apparatus includes a first acquisition unit that acquires image data of an aquatic organism, and a first learning model that outputs position data of a predetermined part of the aquatic organism when image data is input.
  • a second acquisition unit that receives image data acquired by the first acquisition unit and acquires position data of a predetermined portion of the imaged aquatic organism, and a generator that generates a segmentation image of the aquatic organism when the image data is input.
  • a generation unit that inputs image data acquired by the first acquisition unit to the model and generates a segmentation image of the captured aquatic organism; and an estimating unit for estimating the size of the aquatic organism.
  • FIG. 3 is a schematic diagram showing an example of the configuration of an AI unit
  • FIG. 3 is a schematic diagram showing the flow of estimating the size of a fish
  • FIG. 10 is a schematic diagram showing an example of the configuration of a second learning model
  • FIG. 4 is a schematic diagram showing an example of a configuration of a first learning model
  • 1 is a schematic diagram showing an example of a configuration of a generative model
  • FIG. 4 is a schematic diagram showing an example of a method of generating each model by machine learning
  • FIG. 4 is a schematic diagram showing an example of fish frame pairing between cameras;
  • FIG. 3 is a schematic diagram showing an example of the configuration of an AI unit
  • FIG. 3 is a schematic diagram showing the flow of estimating the size of a fish
  • FIG. 10 is a schematic diagram showing an example of the configuration of a second learning model
  • FIG. 4 is a schematic diagram showing an example of a configuration of a first learning model
  • 1 is a schematic diagram showing an example of a configuration of
  • FIG. 4 is a block diagram showing another example of the configuration of the estimation device according to this embodiment
  • FIG. 11 is a schematic diagram showing a first display example of an estimation result
  • FIG. 4 is a schematic diagram showing an example of error factors
  • FIG. 11 is a schematic diagram showing a second display example of an estimation result
  • FIG. 11 is a schematic diagram showing a third display example of an estimation result
  • FIG. 11 is a schematic diagram showing a fourth display example of an estimation result
  • It is a flowchart which shows an example of the processing procedure of an estimation apparatus. It is a flowchart which shows an example of the processing procedure of an estimation apparatus.
  • FIG. 1 is a block diagram showing an example of the configuration of estimation apparatus 100 of this embodiment.
  • the estimation device 100 includes an input unit 10 , an AI unit 20 , a pairing unit 30 , a tracking unit 40 , a tail beat removal unit 50 , a measurement unit 60 , an estimation unit 70 as an estimation unit, and an output unit 80 .
  • the camera unit 200 is, for example, a waterproof stereo camera installed at a predetermined position underwater in the fish tank.
  • the camera unit 200 can capture images of underwater creatures such as fish swimming in a fish tank.
  • the camera unit 200 may be a monocular camera. It should be noted that other imaging devices may be used in place of the camera. Below, a fish is mentioned and demonstrated as an example of aquatic life.
  • the camera unit 200 outputs captured image data (moving images).
  • the captured image data is composed of a plurality of frame-based images (frame images).
  • the estimation device 100 may be a personal computer or the like, or a server (cloud) on the Internet. If the estimation device 100 is a personal computer or the like, the estimation device 100 may acquire captured image data directly from the camera section 200 . If the estimating device 100 is a server on the Internet, the estimating device 100 can acquire captured image data captured by the camera unit 200 via a client terminal device (not shown) or the like.
  • the input unit 10 acquires captured image data captured by the camera unit 200 .
  • the input unit 10 outputs the acquired captured image data to the AI unit 20 .
  • the AI unit 20 is a model generated by machine learning, and outputs the data necessary for estimating the size of the fish based on the captured image data.
  • Fish size is, for example, fork length and body height.
  • the AI unit 20 will be specifically described below.
  • the length of the fork is the length of the body, specifically, the length from the tip of the upper jaw (snout) of the fish to the most indented part (fork) of the central part where the caudal fin is bifurcated.
  • Body height is the vertical distance from the dorsal edge to the ventral edge of the fish, specifically the distance from the base of the pelvic fin to the dorsal edge.
  • FIG. 2 is a schematic diagram showing an example of the configuration of the AI unit 20.
  • the AI unit 20 includes a first learning model 21 as a second acquisition unit, a generation model 22 and a second learning model 23 as generation units, and an image clipping unit 24 as a first acquisition unit.
  • the estimation unit 70 can estimate the size of the fish based on the position data of the part output by the first learning model 21 and the fish segmentation image data output by the generation model 22 .
  • the camera section 200 may be a monocular camera.
  • the second learning model 23 outputs position data of a single fish (first position data of aquatic organisms) and position data of parts (second position data of predetermined parts of the aquatic organisms) when captured image data is input. It is generated by performing machine learning to do.
  • the position data output by the second learning model 23 are the coordinates (x, y) or the area (x, y, width, height) on the captured image.
  • the image cutting unit 24 cuts out the image of the surrounding area including the coordinates or area, and acquires the single fish image data.
  • a single fish image includes an image of the entire fish.
  • the image clipping unit 24 clips an image of a peripheral area including the coordinates or the area, and acquires part image data.
  • the part image includes an image of a predetermined part of the fish.
  • the image clipping unit 24 outputs the single fish image data to the generation model 22 and outputs the part image data to the first learning model 21 . Note that the image clipping unit 24 may be provided outside the AI unit 20 .
  • the first learning model 21 is generated by performing machine learning so as to output the position data of the part when the part image data output by the image clipping unit 24 is input.
  • the generation model 22 is generated by performing machine learning so that when the single fish image data output by the image clipping unit 24 is input, fish segmentation image data is output.
  • Fig. 3 is a schematic diagram showing the flow of fish size estimation.
  • the second learning model 23 cooperates with the image clipping unit 24 to generate single fish image data (image data of the first region including the first position data) when captured image data is input, and part image data (image data of the second region including the second position data).
  • the single fish image is an image of a rectangular area surrounding the entire single fish.
  • Single fish image data is data that includes rectangular area data and a class (for example, fish) within the rectangular area.
  • the site images are a snout image including the snout end P1 as a predetermined site, and a caudal fin image including a caudal fin (or fork) P2 as a predetermined site.
  • the part image data is data including rectangular area data and classes within the rectangular area (for example, snout and caudal fin).
  • the first learning model 21 outputs the position data of the part when the part image data is input.
  • the positional data of the parts are the positional data of the snout end P1 and the positional data of the caudal fin P2, and are coordinates on the image. If the image coordinate system is XY, the position data can be represented by coordinates (x, y) or area (x, y, width, height). In this case, the coordinate along the optical axis of the camera can be represented by Z.
  • the generative model 22 outputs segmentation image data when single fish image data is input.
  • the segmentation image is obtained by classifying each pixel (pixel) of the single fish image into classes. In the example of FIG. Pixels classified into are represented by "patterned".
  • a segmentation image can be used to determine the boundary between a fish body and a non-fish body (outline of a fish body).
  • the estimation unit 70 can estimate the size of the fish based on the position data of the parts and the segmentation image data. As shown in FIG. 3, the length of the straight line L connecting the snout end P1 and the caudal fin P2 can be estimated as the fork length. Also, the length between the intersections of the straight line H perpendicular to the straight line L and the outline of the fish can be estimated as the body height.
  • the position of the intersection of the straight line H and the straight line L can be a point of a predetermined percentage on the straight line L from the position of the proboscis P1 (for example, 40% of the length of the fork).
  • the position data of the predetermined parts (nose end and caudal fin) and the segmentation image are combined, and body height measurement can be performed based on the body height straight line H orthogonal to the straight line representing the fork length and the segmentation image. Therefore, it is possible to stably and highly accurately estimate the size of a fish even if there is no characteristic part that is optimal for body height measurement.
  • body height measurement can be performed with even higher accuracy by performing the processing after the pairing unit 30, which will be described later.
  • FIG. 4 is a schematic diagram showing an example of the configuration of the second learning model 23.
  • the second learning model 23 can be configured by, for example, Faster R-CNN (Convolutional Neural Network).
  • the second learning model 23 comprises a CNN layer 231 , a region proposal network (RPN) 232 , a ROI (Region-of-Interest) POOL 233 and an identification network 234 .
  • the CNN layer 231 generates an image feature amount (feature map) from the input captured image data and outputs it to the region proposal network (RPN) 232 and ROI POOL 233 .
  • a region proposal network (RPN) 232 calculates candidate regions from the input image feature values and outputs them to the ROI POOL 233 .
  • a region proposal network (RPN) 232 can detect where an object appears in the captured image, that is, the area in which the object appears and its rectangular shape.
  • the ROI pool 233 connects the image feature quantity output from the CNN layer 231 and the candidate regions output from the region proposal network (RPN) 232, and outputs fixed-length ROI region features to the identification network 234.
  • RPN region proposal network
  • the identification network 234 recalculates the correct area/class from the input ROI area features, classifies the area and the class of the area, and outputs it.
  • the classes are solitary fish, snout and caudal fin.
  • the second learning model 23 is not limited to Faster R-CNN, for example, R-CNN, Mask R-CNN, YOLO (You Only Look Once), SSD (Single Shot Multibox Detector), etc. good.
  • FIG. 5 is a schematic diagram showing an example of the configuration of the first learning model 21.
  • the first learning model 21 can be composed of, for example, RetinaNet.
  • the first learning model 21 comprises a Feature Pyramid Network 211 , a classifier 212 and a region regressor 213 .
  • the part image data output by the second learning model 23 is input to the first learning model 21 .
  • the region image data includes caudal fin image data and snout tip image data.
  • Feature Pyramid Network 211 computes feature hierarchies that compose feature maps of various scales in the bottom-up direction, and in the top-down direction, it uploads feature maps from higher layers that are spatially coarse but semantically strong. Sample to generate high-resolution features. Each feature is associated with features computed in a bottom-up direction.
  • the Feature Pyramid Network 211 can extract feature quantities that have both high-order and low-order characteristics, and can achieve well-balanced accuracy in terms of both meaning and location.
  • the region regressor 213 outputs the position of the snout end and the position of the caudal fin.
  • the positions of the snout and caudal fin are represented by coordinate values on the image.
  • the class classifier 212 identifies the class (proboscis and caudal fin) of the positions (coordinate values) output by the region regressor 213 .
  • the position of the snout tip on the image of the snout tip can be obtained with high accuracy
  • the position of the caudal fin on the image of the caudal fin can be obtained with high accuracy.
  • the first learning model 21 is not limited to RetinaNet, and may be, for example, SegNet, Mask R-CNN, SVM (Support Vector Machine), or the like.
  • FIG. 6 is a schematic diagram showing an example of the configuration of the generative model 22.
  • the generative model 22 can be composed of U-Net, for example.
  • the generative model 22 includes encoders 221-225 and decoders 226-229.
  • the generative model 22 repeats convolution processing with encoders 221 to 225 on the input single fish image data. Decoders 226 to 229 repeat upsampling (deconvolution) of the image convoluted by encoder 225 .
  • decoding the convolved image processing is performed to add the feature maps generated by the encoders 224 to 221 to the image to be deconvolved.
  • the generative model 22 outputs a segmentation image of the fish on the input single fish image.
  • a segmentation image can be used to determine the boundary between a fish body and a non-fish body (outline of a fish body).
  • the generative model 22 is not limited to U-Net, and may be, for example, GAN (Generative Adversarial Network), SegNet, or the like.
  • FIG. 7 is a schematic diagram showing an example of a method for generating each model by machine learning.
  • FIG. 7A shows a method of generating the second learning model 23.
  • the second learning model 23 performs machine learning so as to output position data of a single fish (first position data) and position data of parts (second position data) when captured image data is input as input data for learning. You can go and generate it.
  • position data of a single fish and position data of parts created by annotating based on captured image data, which is input data for learning are used as teacher data.
  • a large number of learning data and teacher data are prepared, and the second learning model 23 is machine-learned.
  • the internal parameters of the second learning model 23 can be updated to generate the second learning model 23 so that the output data approaches the teacher data.
  • FIG. 7B shows a method of generating the first learning model 21.
  • the first learning model 21 can be generated by performing machine learning so that when part image data is input as input data for learning, position data of the part is output. In this case, positional data of parts created by annotating parts based on part image data, which is input data for learning, is used as teacher data. A large number of learning data and teacher data are prepared, and the first learning model 21 is machine-learned. The internal parameters of the first learning model 21 can be updated to generate the first learning model 21 so that the output data approaches the teacher data.
  • FIG. 7C shows how the generative model 22 is generated.
  • the generation model 22 can be generated by performing machine learning so as to output segmentation image data when single fish image data is input as input data for learning.
  • the teacher data uses segmentation image data created by performing annotation based on the single fish image data, which is the input data for learning.
  • a large number of learning data and teacher data are prepared, and the generative model 22 is machine-learned.
  • the generative model 22 can be generated by updating the internal parameters of the generative model 22 so that the output data approaches the teacher data.
  • Each of the models mentioned above can also be retrained. For example, an operation of displaying the estimated positions of the caudal fin and the snout tip on the screen based on the position data output by the first learning model 21 as shown in FIG. 3 and correcting the displayed estimated positions of the caudal fin and the snout tip. accept. Correction of the estimated position is performed, for example, by operating a mouse or the like to move the pointer on the screen to the estimated position, and performing a predetermined operation (touch, click, drag and drop, etc.) to change the estimated position on the screen. can be moved to the correct position.
  • a predetermined operation touch, click, drag and drop, etc.
  • the received corrected position and the image data when the corrected position is received are prepared as training data, and the first learning model 21 is regenerated based on the received corrected position and the image data when the corrected position is received. can learn. This improves the accuracy of the position data output by the first learning model 21 .
  • the segmentation image generated by the generation model 22 is displayed on the screen, and an operation for correcting the displayed segmentation image is accepted. Correction of the segmentation image is performed, for example, by starting an application such as paint software, displaying the segmentation image on the screen, operating the mouse or the like to move the pointer on the screen to a desired position, and performing a predetermined operation (touch, Click, drag and drop, etc.) to convert non-fish pixels into fish pixels, or convert fish pixels into non-fish pixels.
  • the corrected segmentation image and the image data when the correction is accepted are prepared as training data, and the generative model 22 is re-learned based on the corrected segmentation image and the image data when the correction is accepted. be able to. This improves the accuracy of the segmentation image generated by the generative model 22 .
  • the position data of the single fish, the position data of the snout tip, and the position data of the caudal fin output by the second learning model 23 are displayed on the screen, and an operation for correcting the displayed position data is accepted.
  • clipped images single fish image, snout end image, caudal fin image
  • the position of the single fish output by the second learning model 23 is displayed on the screen, and an operation for correcting the position of the displayed single fish is accepted.
  • Correction of the position of the single fish may be performed, for example, by operating the mouse or the like to move the position of the single fish on the screen and correcting the position.
  • the position of the snout tip output by the second learning model 23 is displayed on the screen, and an operation for correcting the displayed position of the snout tip is accepted.
  • Correction of the position of the proboscis may be performed, for example, by operating a mouse or the like to move the position of the proboscis on the screen and correcting the position.
  • the position of the caudal fin output by the second learning model 23 is displayed on the screen, and an operation for correcting the position of the displayed caudal fin is accepted. Correction of the position of the caudal fin may be performed, for example, by operating a mouse or the like to move the position of the caudal fin on the screen and correcting the position. Further, position data corrected for re-learning the first learning model 21 can also be used as the position data of the snout tip and caudal fin.
  • the corrected position of the single fish and the image data when the correction is accepted are prepared as training data, and a second learning model 23 is generated based on the corrected position of the single fish and the image data when the correction is accepted. can be re-learned.
  • the corrected position of the rostrum and the image data at the time of receiving the correction are prepared as training data, and second learning is performed based on the corrected position of the rostrum and the image data at the time of receiving the correction.
  • Model 23 can be retrained.
  • the corrected caudal fin position and the image data when the correction is accepted are prepared as training data, and based on the corrected caudal fin position and the image data when the correction is accepted, the second The learning model 23 can be retrained. As a result, the accuracy of the position data of the single fish and the position data of the part output by the second learning model 23 is improved.
  • the pairing unit 30 performs pairing processing between cameras and pairing processing between fish and parts. First, pairing processing between cameras will be described. Pairing processing between cameras includes fish frame pairing and body part frame pairing.
  • Fig. 8 is a schematic diagram showing an example of fish frame pairing between cameras.
  • the left identification image is an image showing a single fish image estimated based on the image captured by the left camera of the stereo camera
  • the right identification image is captured by the right camera of the stereo camera.
  • This is an image showing a single fish image (also referred to as a fish frame) estimated based on the picked-up image.
  • three fish frames are illustrated in the example of FIG. 8, the number of fish frames is not limited to three in an actual image.
  • the stereo cameras in the left-right direction horizontal direction
  • they may be arranged in the vertical direction, or may be arranged in an oblique direction (for example, an angle greater than 0 degrees and less than 90 degrees with respect to the horizontal direction). You may be arranged in the left-right direction (horizontal direction), they may be arranged in the vertical direction, or may be arranged in an oblique direction (for example, an angle greater than 0 degrees and less than 90 degrees with respect to the horizontal direction). You may be arranged
  • the pairing unit 30 performs round-robin pairing for all fish frames in the left and right identification images.
  • pairing is performed between the fish frame G1 in the left identification image and all the fish frames G4, G5, and G6 in the right identification image.
  • the fish frame G6 is selected as the closest pair to the fish frame G1.
  • a corresponding pair is selected from the fish frames in the right side identification image.
  • body part frame pairing can also be performed in the same manner as fish frame pairing.
  • the pairing unit 30 performs round-robin pairing for all body part frames in the left and right identification images. Pairing is performed between the body part frame of the left identification image and all the body part frames in the right identification image. When pairing, select the closest pair within a tolerance.
  • FIG. 9 is a diagram showing an example of a pair list of a fish frame and a body part frame.
  • FIG. 9A shows a fish frame pair list
  • FIG. 9B shows a body part frame pair list.
  • the fish frame G1 of the left identification image and the fish frame G6 of the right identification image are paired.
  • the fish frame G2 of the left identification image and the fish frame G4 of the right identification image are paired
  • the fish frame G3 of the left identification image and the fish frame G5 of the right identification image are paired.
  • the body part frame g1 of the left identification image and the body part frame g12 of the right identification image are paired, the body part frame g2 of the left identification image and the body part frame g10 of the right identification image are paired, and the left identification image and the body part frame g8 of the right identification image are paired.
  • FIG. 10 is a schematic diagram showing an example of pairing fish and parts. Assume that the fish frames G1 to G3 and the body part frames g1 to g6 are paired by the pairing between the cameras described above. The fish frames G1 to G3 and the body part frames g1 to g6 each have a pair of fish frames and body part frames. FIG. 10 illustrates one side (for example, the left side identification image) of the paired fish frame and body part frame.
  • the pairing unit 30 performs round-robin pairing for all fish frames and body part frames in the identification image.
  • pairing can be performed using only the left identification image, only the right identification image, or both left and right identification images.
  • pairing is performed between the fish frame G1 and all body part frames g1 to g6 in the identification image.
  • select the closest pair within a tolerance select the closest pair within a tolerance. Similar processing is performed for the other fish frames G2 and G3.
  • Fig. 11 is a diagram showing an example of a fish list.
  • a fish frame G1 and body part frames g3 and g4 are paired.
  • the fish frame G2 and body part frames g1 and g2 form a pair
  • the fish frame G3 and body part frames g5 and g6 form a pair. That is, a fish with an ID of 1 is paired with the fish frame G1 and body part frames g3 and g4, a fish with an ID of 2 is paired with a fish frame G2 and body part frames g1 and g2, and a fish with an ID of 3 is , a fish frame G3 and body part frames g5 and g6 are paired.
  • FIG. 12 is a block diagram showing an example of the configuration of the tracking unit 40.
  • the tracking unit 40 tracks the fish swimming in the fish tank between frames. Double counting of fish can be prevented by tracking.
  • the tracking unit 40 includes a 2D tracking unit 41 , a 3D conversion unit 42 and a 3D tracking unit 43 .
  • the 2D tracking unit 41 uses the fish frame pair list, body part frame pair list, and fish list generated by the pairing unit 30 to track each fish.
  • the 2D tracking unit 41 performs tracking based on the 2D image of the fish.
  • the 3D conversion unit 42 converts the single fish image obtained by imaging with the left camera and the image with the right camera. 2D images of the fish are generated by using the single fish image obtained by the method and the ranging principle of the stereo camera. Convert to D image. Alternatively, the 3D positions of the snout tip and fork may be measured based on the principle of triangulation.
  • the 3D tracking unit 43 uses the fish frame pair list, body part frame pair list, and fish list generated by the pairing unit 30 to track each fish.
  • the 3D tracking unit 43 can track based on the position of the snout tip on the 3D image of the fish. This can reduce the effect of the fish's tail beat when the fish swims in the water.
  • FIG. 13 is a block diagram showing an example of the configuration of the tail beat removal section 50.
  • the tail beat removal unit 50 includes a fork 3D measurement unit 51 , a plane projection unit 52 , an approximate straight line calculation unit 53 and a frame removal unit 54 .
  • the fork 3D measurement unit 51 measures the 3D position (X, Y, Z) from the (X, Y) coordinates on the image of the fork (caudal fin) paired by the pairing unit 30 .
  • the horizontal direction of the image can be the X axis
  • the vertical direction can be the Y axis
  • the optical axis direction of the camera can be the Z axis.
  • the plane projection unit 52 projects the 3D position of the fork onto the XZ plane. As a result, the position of the fork can be the position seen from the back side of the fish.
  • the plane projection unit 52 records the position of the fork seen from the back side of the fish for each frame. This allows the position of the fork to be plotted on the XZ plane.
  • the approximate straight line calculation unit 53 calculates an approximate straight line of the fork position (fork trajectory) plotted on the XZ plane.
  • the frame removing unit 54 removes the frame corresponding to the fork when the deviation of the fork from the approximate straight line exceeds the allowable range. Instead of calculating the approximate straight line after projecting the 3D position of the fork onto a plane, an approximate line in the 3D space may be calculated from the 3D position of the fork. In this case, if the deviation of the 3D position of the fork from the calculated 3D approximation line exceeds the allowable range, the frame corresponding to the fork should be removed.
  • FIG. 14 is a schematic diagram showing an example of an approximate straight line of the fork trajectory.
  • the horizontal axis indicates the position X of the fork
  • the vertical axis indicates the position Z of the fork.
  • O is the measured position of the fork
  • symbols t1 to t13 indicate the time points of the frames
  • the dashed straight line indicates the approximate straight line of the fork trajectory.
  • the position of the fork changes from time t1 to t13.
  • the positions of the forks at times t3 and t7 to t9 deviate from the approximate straight line.
  • the frames at times t3 and t7 to t9 are removed, and the remaining frames at times t1 to t2, t4 to t6, and t10 to t13 are used to measure body height, which will be described later.
  • the position of the fork deviates from the approximation line because, for example, the fish changes course and the fork fluctuates greatly. If the fork deviation exceeds the allowable range, the frame corresponding to the fork is removed.
  • Frame removal is not limited to the method using the approximate straight line, and other machine learning such as SVM, neural network, clustering, etc. may be used. Also, if the amount of temporal change in the position of the fork exceeds a predetermined threshold, the frame may be removed.
  • the tail beat removal unit 50 outputs the frames other than the frames from which the tail beat has been removed among the imaging frames to the measurement unit 60 as tail beat removed frames (frames to be measured).
  • the estimating apparatus 100 inputs the image data of each of a plurality of frames captured by the stereo camera to the first learning model 21, and based on the acquired position data of the predetermined part, the three-dimensional position of the fork for each frame. is calculated, the calculated three-dimensional position is projected onto a predetermined two-dimensional plane, the displacement of the fork is specified for each frame, and a frame for estimating the size of the fish is selected based on the specified displacement.
  • FIG. 15 is a block diagram showing an example of the configuration of the measuring section 60.
  • the measurement unit 60 includes an optimum frame selection unit 61 , a snout/fork 3D measurement unit 62 , a body height auxiliary line generation unit 63 , a body height auxiliary line projection unit 64 , and a body height measurement unit 65 .
  • the optimum frame selection unit 61 selects the frame at the time corresponding to the fork closest to the approximate straight line of the fork trajectory. Instead of selecting the optimum frame, it may be randomly selected from the remaining frames after frame removal, or a few frames before or after the removed frame may be selected. good.
  • the snout/fork 3D measurement unit 62 measures the 3D position of the snout and the 3D position of the fork in the selected frame. For the 3D measurement, the 3D position of the snout end tracked by the 3D tracking unit 43 and the 3D position of the fork measured by the fork 3D measurement unit 51 may be used.
  • the body height auxiliary line generation unit 63 divides the 3D straight line connecting the 3D position of the 3D measured snout tip and the 3D position of the tail fork into 10, for example, and divides the 3D straight line into nine body height auxiliary lines perpendicular to the 3D straight line. to generate
  • the body height auxiliary line projection unit 64 projects the body height auxiliary line generated by the body height auxiliary line generation unit 63 onto a 2D plane (for example, the XY plane).
  • the body height measurement unit 65 measures the body height based on the position of intersection between the body height auxiliary line projected onto the 2D plane and the contour of the fish (for example, the contour on the segmentation image). Note that if the body height cannot be measured due to a defect in the contour of the fish, the optimum frame selection unit 61 selects the point of time corresponding to the fork closest to the approximate straight line of the fork trajectory. A frame can be selected, and each process of the snout/fork 3D measuring unit 62, the body height auxiliary line generating unit 63, the body height auxiliary line projecting unit 64, and the body height measuring unit 65 can be repeated.
  • Defects in the contour of the fish can be determined, for example, by comparing the distance between the intersections of the auxiliary body height line and the contour of the fish with a predetermined threshold. Alternatively, determination can be made by comparing the amount of change in the distance between the intersections of the adjacent auxiliary body height lines and the outline of the fish with a predetermined threshold value. Missing portions may be interpolated.
  • FIG. 16 is a schematic diagram showing an example of body height measurement.
  • the 3D straight line L connecting the 3D position of the 3D-measured snout end and the 3D position of the tail fork is divided into, for example, 10, and nine body height auxiliary lines orthogonal to the 3D straight line L Generate A1-A9.
  • the body height auxiliary lines A1 to A9 are projected onto a 2D plane (for example, the XY plane), and the body height auxiliary lines A1 to A9 projected onto the 2D plane and the contour of the fish (for example, on the segmentation image)
  • the height is measured based on the position of intersection with the contour of the body.
  • the body height can be measured as the distance H between two positions where the body height auxiliary line A4 at a distance corresponding to 40% of the fork length L from the snout end intersects the outline of the fish body.
  • the number of body height auxiliary lines is an example, and is not limited to nine.
  • the ratio of 40% is an example and is not limited to 40%.
  • FIG. 17 is a schematic diagram showing an example of automatic measurement of fish size.
  • FIG. 17 shows IDs of fish appearing in images of respective frame numbers. For example, frames 1 to 10 show a fish with a fish ID of 0001, and in frame 7 indicated by O, the size of fish 0001 is automatically measured.
  • Frame 7 measured by automatic measurement is, for example, the frame with the smallest tail beat among frames 1-10.
  • the fish with ID 0002 is shown in frames 3 to 12, the size of fish 0002 is automatically measured in frame 9 indicated by O, and the fish with ID 0003 is shown in frames 5 to 9.
  • the size of fish 0003 is not automatically measured.
  • Frames 7 to 14 show a fish with a fish ID of 0004.
  • Frames 8 to 16 show a fish with a fish ID of 0005.
  • frame 15 indicated by O the size of fish 0005 is automatically measured.
  • the tracking unit 40 recognizes the same individual between frames.
  • the measurement unit 60 outputs the measurement result to the estimation unit 70.
  • the estimation unit 70 can collect the automatically measured fork length and body height of the fish in the cage and estimate the size of the fish in the cage.
  • the output unit 80 can convert the result estimated by the estimation unit 70 into displayable data and output the data to an external terminal device, display device, or the like.
  • FIG. 18 is a schematic diagram showing an example of the configuration of the estimation result DB 90.
  • the estimation result DB 90 may be provided inside the estimation device 100 or may be provided in an external data server or the like as long as it is accessible from the estimation device 100 .
  • the estimation result DB 90 can store estimation results from the estimation device 100 .
  • the estimation result DB 90 records, for example, fish IDs, fork lengths, body heights, ranks, and images in association with fish IDs.
  • position information (coordinate values) of the snout tip and position information (coordinate values) of the caudal fin (fork) may be recorded in association with the fish ID.
  • a fish ID is, for example, an identifier that identifies a fish in a fish tank.
  • the rank specifies the measurement accuracy of the size of the fish. Details of the rank will be described later.
  • the image is an image of a fish, and may be superimposed on the image of the fish to display a straight line indicating the fork length and a straight line indicating the body height of the fish. Also, the frame number, fork length value, body height value, and rank to which the fish belongs may be displayed on the image of the fish.
  • FIG. 19 is a block diagram showing another example of the configuration of estimation device 100 of the present embodiment.
  • the estimation device 100 can use, for example, a personal computer or the like.
  • the estimation device 100 can be configured with a CPU 101, a ROM 102, a RAM 103, a GPU 104, a video memory 105, a recording medium reading unit 106, and the like.
  • a computer program (computer program product) recorded on a recording medium 1 for example, an optically readable disk storage medium such as a CD-ROM
  • a recording medium reading unit 106 for example, an optical disk drive
  • the computer program includes processing procedures described in FIGS. 25 and 26 described later. It may be stored in a hard disk (not shown) and stored in the RAM 103 when the computer program is executed.
  • the CPU 101 By causing the CPU 101 to execute a computer program (computer program product) stored in the RAM 103, the input unit 10, the AI unit 20, the pairing unit 30, the tracking unit 40, the tail beat removal unit 50, the measurement unit 60, the estimation unit 70 , and each process in the output unit 80 can be executed.
  • the video memory 105 can temporarily store data and processing results for various image processing.
  • the computer program (computer program product) can be downloaded from another computer, network device, or the like via a network such as the Internet instead of being read by the recording medium reading unit 106 .
  • the estimation result displayed on the display screen of the terminal device connected to the estimation device 100 via the communication network will be described.
  • the following display processing is performed according to the request from the terminal device. This can be done by having the estimation device 100 access the estimation result DB 90, and if necessary, calculate numerical values for display and output them to the terminal device. Further, when the terminal device has already downloaded the data of the estimation result DB, the data downloaded by the CPU of the terminal device can be used to display on the display unit.
  • FIG. 20 is a schematic diagram showing a first display example of estimation results.
  • the estimation result screen 300 displays columns such as rank, number of measurements, average fish weight, average fork length, average body height, average degree of obesity, average photographing distance, and average angle. Also, a box 301 for receiving selection of download of detailed data is displayed for each rank, and detailed data can be downloaded from the estimation device 100 by operating a “save” icon 302 .
  • the data to be downloaded includes moving images captured by the camera unit 200 .
  • rank A has an error of less than 5%
  • rank B has an error of 5% or more and less than 10%
  • rank C has an error of 10%.
  • rank F can be defined as having an error of 20% or more. Note that the number of rank divisions and the definition of the rank are not limited to these.
  • FIG. 21 is a schematic diagram showing an example of error factors.
  • FIG. 21A shows the distribution of site location errors. As the error in the position of the snout and the error in the position of the tail fork (caudal fin) increase, the errors in the fork length and body height increase. The error of the position of the snout and the fork is calculated based on the reprojection error when three-dimensional measurement is performed using the position data of the snout and the caudal fin (fork) output by the first learning model 21. .
  • FIG. 21B shows the inclination (angle) error of the fish body. The greater the inclination of the fish body, the greater the body height error. The inclination error can be reflected in the body height error by converting the angle deviation into a simple measurement position deviation. The ranking may employ the worst of the site position errors or tilt errors.
  • the number of measurements indicates the number of fish included in each rank.
  • Average fork length and average body height represent average values within each rank.
  • the average fish weight and average obesity degree can be calculated from the average fork length and average body height by a predetermined formula.
  • the weight of the breeding fish can be converted from the fork length and body height estimated by the estimation device 100 without using an actual weight scale.
  • the body height can be estimated stably and with high accuracy even if there is no characteristic part that is optimal for body height measurement, so the weight of the breeding fish can also be estimated with high accuracy.
  • the estimating device 100 classifies the accuracy of the estimated size of a plurality of fishes (aquatic organisms) cultured in a fish tank into a plurality of ranks, and displays the fish for each classed rank. As a result, the size of the fish in the cage and the reliability of the data can be determined, and information for determining the feeding amount and landing timing can be provided.
  • FIG. 22 is a schematic diagram showing a second display example of the estimation result.
  • a distribution selection list 311 and a distribution display area 312 are displayed on the estimation result screen 310 .
  • fork length distribution is selected from items such as fork length, body height, and fish weight, and the distribution display area 312 displays the fork length distribution of fish in the cage.
  • rank may be displayed as a breakdown of the distribution of fork lengths. Similar to the fork length, the distribution of body height and fish weight can be displayed.
  • the estimating device 100 can display the distribution of at least one of the fork length and body height of a plurality of fish cultured in a fish cage. This allows us to see how the sizes of the fish are distributed in the pen, which can provide information for determining the amount of food to be fed and the timing of landing.
  • FIG. 23 is a schematic diagram showing a third display example of the estimation result.
  • a rank selection list 321 and a fish measurement data display area 322 are displayed on the estimation result screen 320 .
  • rank A is selected from ranks A, B, C, and F.
  • the measurement data display area 322 the measurement data of each fish belonging to rank A is displayed.
  • the measurement data includes, but is not limited to, fish weight, fork length, body height, and images.
  • FIG. 24 is a schematic diagram showing a fourth display example of the estimation result.
  • An image of the selected fish is displayed on the estimation result screen 330 .
  • a straight line indicating the fork length and a straight line indicating the body height of the fish may be displayed by being superimposed on the image of the fish.
  • the frame number, fork length value, body height value, fish weight value, and rank to which the fish belongs may be displayed on the image of the fish.
  • the estimation device 100 can display the image of the fish with the fork length and body height attached. This makes it possible to check the measurement data of each fish (individual) belonging to the rank.
  • the estimation device 100 acquires captured image data (S11), inputs the acquired captured image data to the second learning model 23, and acquires single fish image data and part image data from the image clipping unit 24 (S12 ).
  • the region image data includes snout image data and caudal fin image data.
  • the estimating device 100 inputs the acquired part image data to the first learning model 21 to acquire position data of the part (S13).
  • the snout tip image data is input to the first learning model 21, the position information (coordinates or region values) of the snout tip output by the first learning model 21 is acquired, and the caudal fin image data is sent to the first learning model 21. to acquire the caudal fin position information (coordinates or region values) output by the first learning model 21 .
  • the estimation device 100 inputs the acquired single fish image data to the generation model 22 to acquire segmentation image data (S14), and estimates the fork length measurement point based on the acquired position data of the part and the segmentation image data. (Generate) (S15).
  • measurement points for fork length positional information (coordinates or region values) of each of the snout and caudal fin
  • the size of the fish may be estimated by obtaining the distance Z of the fish or a predetermined portion of the fish from the camera using the processes of steps S16 and S17 described later.
  • the estimating device 100 performs pairing between cameras (S16), pairs fish and parts, and generates a fish list (S17).
  • the estimation device 100 performs fish tracking processing (S18) and performs tail beat removal processing (S19).
  • the estimating device 100 selects the optimum frame for body height calculation (S20).
  • the estimating device 100 determines whether the body height can be calculated (S21), and if the body height cannot be calculated (NO in S21), the process of step S20 is performed. If the body height can be calculated (YES in S21), the estimating device 100 calculates the body height (S22).
  • the body height is calculated by the method shown in FIG. 16B. "Calculation" of body height is synonymous with “measurement”, but it also means to measure indirectly.
  • the estimating device 100 determines the presence or absence of other fish (fish that have not been measured) (S23).
  • the estimation device 100 repeats the processes from step S11 onwards. If there is no other fish (NO in S23), the estimation device 100 collects fish calculation data (S24), and classifies the calculation data into ranks according to the error (S25). The estimating device 100 calculates a statistical value (e.g., average value) of the calculated data for each rank (S26), creates a distribution for each estimation item (e.g., fork length, body height, etc.) (S27), and obtains an estimation result. is output (S28), and the process ends.
  • a statistical value e.g., average value
  • the estimation device 100 can be configured with a CPU, GPU, ROM, RAM, recording medium reading unit, and the like.
  • a computer program recorded on a recording medium can be read by a recording medium reading unit and stored in a RAM.
  • the processes performed by the estimation device 100 can be executed by causing the CPU and GPU to execute computer programs stored in the RAM.
  • the computer program can be downloaded via a network such as the Internet instead of being read by the recording medium reading unit.
  • the body height measurement is performed by combining the segmentation image and the body height straight line, so even if there is no optimum part for body height measurement, the size of the fish can be stably and highly accurately estimated.
  • the fins of fish expand and retract during swimming, which causes a decrease in measurement accuracy.
  • segmentation is performed on the fish except for the fins, so the body height can be measured with high accuracy without being affected by the fins.
  • extracting feature points from high-resolution images with high accuracy increases the computational load for image processing.
  • the size of the fish can be estimated with high accuracy by combining the segmentation image and the body height line, and the load can be reduced. can.
  • estimation device 10 input unit 20 AI unit 21 first learning model 211 Feature Pyramid Network 212 class classifier 213 region regressor 22 generative model 221, 222, 223, 224, 225 encoder 226, 227, 228, 229 decoder 23 second learning model 24 image clipping unit 231 CNN layer 232 region proposal network 233 ROI POOL 234 identification network 30 pairing unit 40 tracking unit 41 2D tracking unit 42 3D conversion unit 43 3D tracking unit 50 tail beat removal unit 51 fork 3D measurement unit 52 plane projection unit 53 approximate straight line calculation unit 54 frame removal unit 60 measurement unit 61 Optimal frame selection unit 62 snout/fork 3D measurement unit 63 body height auxiliary line generation unit 64 body height auxiliary line projection unit 65 body height measurement unit 70 estimation unit 80 output unit 90 estimation result DB 101 CPUs 102 ROMs 103 RAM 104 GPUs 105 video memory 106 recording medium reading unit 200 camera unit

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Zoology (AREA)
  • Environmental Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Animal Husbandry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】水中生物のサイズを推定することができるコンピュータプログラム、モデル生成方法、推定方法及び推定装置を提供する。 【解決手段】コンピュータプログラムは、コンピュータに、水中生物を撮像した画像データを取得し、画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、取得した画像データを入力して、撮像された水中生物の所定部位の位置データを取得し、画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、取得した画像データを入力して、撮像された水中生物のセグメンテーション画像を生成し、所定部位の位置データ及びセグメンテーション画像に基づいて、撮像された水中生物のサイズを推定する、処理を実行させる。

Description

コンピュータプログラム、モデル生成方法、推定方法及び推定装置
 本発明は、コンピュータプログラム、モデル生成方法、推定方法及び推定装置に関する。
 生簀内の養殖魚のサイズは、給餌量や水揚げ時期を決定する重要な情報である。従来、水中での魚体長計測自動化のため複数の解析サービスが提供されている。これらのサービスは、魚体の複数の特徴点を抽出し、特徴点間(例えば、口端と尾叉との間)の距離を計測することで測長を行っている。
 特許文献1には、魚が撮影されている撮影画像から魚の2つの特徴部位(口と尾鰭)を検出し、検出した特徴部位間の長さに基づいて魚のサイズを算出する情報処理装置が開示されている。
国際公開第2018/061925号
 しかし、魚の体高計測に最適な部位は、必ずしも特徴があると限らないため、計測精度や生物学的な安定性の面において、精度よく体高を計測することできず、魚などの水中生物のサイズを推定することが困難である。
 本発明は、斯かる事情に鑑みてなされたものであり、水中生物のサイズを推定することができるコンピュータプログラム、モデル生成方法、推定方法及び推定装置を提供することを目的とする。
 本発明に係るコンピュータプログラムは、コンピュータに、水中生物を撮像した画像データを取得し、画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得し、画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成し、前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、画像データを入力した場合に水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを出力する第2学習モデルに、取得した画像データを入力して、前記第1位置データ及び前記第2位置データを出力し、前記第1学習モデルには、前記第2位置データを含む第2領域の画像データを入力し、前記生成モデルには、前記第1位置データを含む第1領域の画像データを入力する、処理を実行させる。
 本発明に係るコンピュータプログラムは、前記所定部位は、尾鰭及び吻端を含み、コンピュータに、前記尾鰭と前記吻端とを結ぶ直線と直交する直線に基づいて体高を算出する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、ステレオカメラによって撮像された画像データを前記第1学習モデルに入力して、取得した所定部位の位置データに基づいて吻端及び尾叉の3次元位置を算出し、算出した3次元位置に基づいて体高補助線を生成し、生成した体高補助線を前記セグメンテーション画像上に2次元投影して体高を算出する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、前記吻端又は前記尾叉の位置から、前記吻端と前記尾叉の距離の所定割合の位置にある前記体高補助線を用いて前記体高を算出する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、ステレオカメラによって撮像された複数のフレームそれぞれの画像データを前記第1学習モデルに入力して、取得した所定部位の位置データに基づいてフレーム毎の尾叉の3次元位置を算出し、算出した尾叉の3次元位置に基づいてフレーム毎に尾叉の変位を特定し、特定した変位に基づいて、前記水中生物のサイズを推定するためのフレームを選択する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、前記第1学習モデルが出力する位置データに基づいて、尾鰭又は吻端の推定位置を表示し、表示した尾鰭又は吻端の推定位置の修正を受け付け、受け付けた修正位置と、前記修正位置を受け付けた際の画像データとに基づいて、前記第1学習モデルを再学習する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、前記生成モデルが生成したセグメンテーション画像を表示し、表示したセグメンテーション画像の修正を受け付け、修正されたセグメンテーション画像と、前記修正を受け付けた際の画像データとに基づいて、前記生成モデルを再学習する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、生簀内で養殖されている前記水中生物の画像に尾叉長又は体高を付して表示する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、生簀内で養殖されている複数の水中生物の推定したサイズの精度を複数のランクに区分し、区分したランク毎の水中生物の数を表示する、処理を実行させる。
 本発明に係るコンピュータプログラムは、コンピュータに、生簀内で養殖されている複数の水中生物の尾叉長及び体高の少なくとも一方を含むサイズの分布を表示する、処理を実行させる。
 本発明に係るモデル生成方法は、水中生物を撮像した画像データ、及び前記水中生物の所定部位の位置データを含む第1訓練データを取得し、前記画像データ、及び前記水中生物のセグメンテーション画像を含む第2訓練データを取得し、前記第1訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物の所定部位の位置データを出力するように第1学習モデルを生成し、前記第2訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物のセグメンテーション画像を生成するように生成モデルを生成する。
 本発明に係るモデル生成方法は、水中生物を撮像した画像データ、前記水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを含む第3訓練データを取得し、前記第3訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを出力するよ
うに第2学習モデルを生成する。
 本発明に係る推定方法は、水中生物を撮像した画像データを取得し、画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得し、画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成し、前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する。
 本発明に係る推定装置は、水中生物を撮像した画像データを取得する第1取得部と、画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、前記第1取得部で取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得する第2取得部と、画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、前記第1取得部で取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成する生成部と、前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する推定部とを備える。
 本発明によれば、水中生物のサイズを推定することができる。
本実施の形態の推定装置の構成の一例を示すブロック図である。 AI部の構成の一例を示す模式図である。 魚のサイズの推定の流れを示す模式図である。 第2学習モデルの構成の一例を示す模式図である。 第1学習モデルの構成の一例を示す模式図である。 生成モデルの構成の一例を示す模式図である。 各モデルの機械学習による生成方法の一例を示す模式図である。 カメラ間の魚枠ペアリングの一例を示す模式図である。 魚枠及び部位枠のペアリストの一例を示す図である。 魚と部位のペアリングの一例を示す模式図である。 魚リストの一例を示す図である。 追尾部の構成の一例を示すブロック図である。 テールビート除去部の構成の一例を示すブロック図である。 尾叉軌道の近似直線の一例を示す模式図である。 計測部の構成の一例を示すブロック図である。 体高計測の一例を示す模式図である。 魚のサイズの自動計測の一例を示す模式図である。 推定結果DBの構成の一例を示す模式図である。 本実施の形態の推定装置の構成の他の例を示すブロック図である。 推定結果の第1表示例を示す模式図である。 誤差の要因の一例を示す模式図である。 推定結果の第2表示例を示す模式図である。 推定結果の第3表示例を示す模式図である。 推定結果の第4表示例を示す模式図である。 推定装置の処理手順の一例を示すフローチャートである。 推定装置の処理手順の一例を示すフローチャートである。
 以下、本発明の実施の形態について説明する。図1は本実施の形態の推定装置100の構成の一例を示すブロック図である。推定装置100は、入力部10、AI部20、ペアリング部30、追尾部40、テールビート除去部50、計測部60、推定部としての推定部70、及び出力部80を備える。
 カメラ部200は、例えば、生簀内の水中の所定位置に設置される防水型のステレオカメラである。カメラ部200は、生簀内を泳ぐ魚などの水中生物を撮像することができる。なお、カメラ部200は、単眼カメラであってもよい。なお、カメラに代えて、他の撮像デバイスでもよい。以下では、水中生物の例として魚を挙げて説明する。カメラ部200は、撮像画像データ(動画)を出力する。撮像画像データは、複数のフレーム単位の画像(フレーム画像)で構成されている。
 推定装置100は、パーソナルコンピュータ等でもよく、インターネット上のサーバ(クラウド)でもよい。推定装置100がパーソナルコンピュータ等の場合は、推定装置100は、カメラ部200から直接、撮像画像データを取得してもよい。推定装置100が、インターネット上のサーバの場合、推定装置100は、クライアント端末装置(不図示)などを介してカメラ部200で撮像された撮像画像データを取得することができる。
 入力部10は、カメラ部200で撮像された撮像画像データを取得する。入力部10は、取得した撮像画像データをAI部20へ出力する。
 AI部20は、機械学習によって生成されたモデルであり、撮像画像データに基づいて魚のサイズの推定に必要なデータを出力する。魚のサイズは、例えば、尾叉長及び体高である。以下、AI部20について具体的に説明する。尾叉長は、体長であり、具体的には、魚の上アゴの先端(吻端)から尾鰭が二叉した中央部の最もへこんだ部分(尾叉)までの長さをいう。体高は、魚の背縁から腹縁までの垂直方向の距離であり、具体的には、腹鰭の付け根から背縁までの距離である。
 図2はAI部20の構成の一例を示す模式図である。AI部20は、第2取得部としての第1学習モデル21、生成部として生成モデル22、第2学習モデル23及び第1取得部としての画像切出部24を備える。推定部70は、第1学習モデル21が出力する部位の位置データ、及び生成モデル22が出力する魚のセグメンテーション画像データに基づいて魚のサイズを推定することができる。この場合、カメラ部200は、単眼カメラでもよい。
 第2学習モデル23は、撮像画像データを入力した場合に、単体魚の位置データ(水中生物の第1位置データ)、及び部位の位置データ(当該水中生物の所定部位の第2位置データ)を出力するように機械学習を行って生成されている。第2学習モデル23が出力する位置データは、撮像画像上の座標(x、y)又は領域(x、y、width、height)であ
る。
 画像切出部24は、第2学習モデル23が出力した単体魚の位置データ(座標又は領域)に基づいて、当該座標又は領域を含む周辺領域の画像を切り出して、単体魚画像データを取得する。単体魚画像には、魚全体の画像が含まれる。画像切出部24は、第2学習モデル23が出力した部位の位置データ(座標又は領域)に基づいて、当該座標又は領域を含む周辺領域の画像を切り出して、部位画像データを取得する。部位画像には、魚の所定部位の画像が含まれる。画像切出部24は、単体魚画像データを生成モデル22へ出力し、部位画像データを第1学習モデル21へ出力する。なお、画像切出部24を、AI部20の外部に設けてもよい。
 第1学習モデル21は、画像切出部24が出力した部位画像データを入力した場合に、部位の位置データを出力するように機械学習を行って生成されている。生成モデル22は、画像切出部24が出力した単体魚画像データを入力した場合に、魚のセグメンテーション画像データを出力するように機械学習を行って生成されている。
 図3は魚のサイズの推定の流れを示す模式図である。図3では、便宜上、撮像画像に魚が1匹映っているものとする。前述のとおり、第2学習モデル23は、画像切出部24と協働して、撮像画像データを入力した場合に、単体魚画像データ(第1位置データを含む第1領域の画像データ)、及び部位画像データ(第2位置データを含む第2領域の画像データ)を出力する。図3に示すように、単体魚画像は、単体の魚全体を囲む矩形領域の画像である。単体魚画像データは、矩形領域データと、矩形領域内のクラス(例えば、魚)とを含むデータである。部位画像は、所定部位としての吻端P1を含む吻端画像、及び所定部位としての尾鰭(尾叉でもよい)P2を含む尾鰭画像である。部位画像データは、矩形領域データと、矩形領域内のクラス(例えば、吻端及び尾鰭)とを含むデータである。
 第1学習モデル21は、部位画像データを入力した場合に、部位の位置データを出力する。部位の位置データは、吻端P1の位置データ、及び尾鰭P2の位置データであり、画像上の座標である。画像の座標系をXYとすると、位置データは座標(x、y)又は領域(x、y、width、height)で表すことができる。なお、この場合、カメラの光軸方向の
座標はZで表すことができる。
 生成モデル22は、単体魚画像データを入力した場合に、セグメンテーション画像データを出力する。セグメンテーション画像は、単体魚画像の各画素(ピクセル)のクラスを分類したものであり、図3の例では、「鰭を除く魚体」に分類されたピクセルを「模様なし」とし、「魚体以外」に分類されたピクセルを「模様あり」で表している。セグメンテーション画像により、魚体と魚体以外の境界(魚体の輪郭線)を求めることができる。
 推定部70は、部位の位置データ、及びセグメンテーション画像データに基づいて魚のサイズを推定することができる。図3に示すように、吻端P1と尾鰭P2とを結ぶ直線Lの長さを尾叉長として推定できる。また、直線Lに直交する直線Hと魚体の輪郭線との交点間の長さを体高として推定できる。ここで、直線Hと直線Lとの交点の位置は、吻端P1の位置から直線L上の所定割合の点(例えば、尾叉長の40%など)とすることができる。
 上述のように、所定部位(吻端及び尾鰭)の位置データとセグメンテーション画像とを組み合わせ、尾叉長を表す直線と直交する体高直線Hとセグメンテーション画像とに基づいて体高計測を実施することができるので、体高計測に最適な特徴部位がない場合でも、安定して高精度に魚のサイズを推定することができる。
 なお、後述のペアリング部30以降の処理を行うことにより、体高計測をさらに高精度に行うことができる。
 図4は第2学習モデル23の構成の一例を示す模式図である。第2学習モデル23は、例えば、Faster R-CNN(Convolutional Neural Network)で構成することができる。第2学習モデル23は、CNN層231、領域提案ネットワーク(RPN)232、ROI(Region-of-Interest) POOL233、及び識別ネットワーク234を備える。CNN層231は、入力された撮像画像データから画像特徴量(特徴マップ)を生成して、領域提案ネットワーク(RPN)232、及びROI POOL233へ出力する。
 領域提案ネットワーク(RPN)232は、入力された画像特徴量から候補領域を計算してROI POOL233へ出力する。領域提案ネットワーク(RPN)232は、撮像画像のどこに物体が映っているのか、すなわち、物体が映っている領域と、その矩形の形を検出することができる。
 ROI POOL233は、CNN層231から出力される画像特徴量と、領域提案ネットワーク(RPN)232から出力される候補領域とを繋ぎ、固定長のROI領域特徴を識別ネットワーク234へ出力する。
 識別ネットワーク234は、入力されたROI領域特徴から、正確な領域・クラスを再計算して、領域と、その領域のクラスを分類して出力する。ここで、クラスは、単体魚、吻端、及び尾鰭である。第2学習モデル23は、Faster R-CNNに限定されるものではなく、例えば、R-CNN、Mask R-CNN、YOLO(You Only Look Once)、SSD(Single Shot Multibox Detector)等であってもよい。
 図5は第1学習モデル21の構成の一例を示す模式図である。第1学習モデル21は、例えば、RetinaNetで構成することができる。第1学習モデル21は、Feature Pyramid Network211、クラス分類器212、及び領域回帰器213を備える。第2学習モデル23が出力した部位画像データは、第1学習モデル21に入力される。部位画像データは、尾鰭の画像データ及び吻端の画像データを含む。Feature Pyramid Network211は、ボトムアップの方向では、様々なスケールの特徴マップを構成する特徴階層を算出し、トップダウンの方向では、空間的には粗いが意味的には強い高層からの特徴マップをアップサンプリングして高解像の特徴を生成する。各特徴は、ボトムアップの方向で算出された特徴と結び付けられている。
 このように、Feature Pyramid Network211は、高次・低次の両方の特性を持つ特徴量を抽出することができ、意味と位置の両方のバランスの良い精度を実現できる。
 領域回帰器213は、吻端の位置、及び尾鰭の位置を出力する。吻端及び尾鰭の位置は画像上の座標値で表される。クラス分類器212は、領域回帰器213が出力する位置(座標値)のクラス(吻端、及び尾鰭)を特定する。第1学習モデル21により、吻端の画像上での吻端の位置を精度よく求めることができ、尾鰭の画像上での尾鰭の位置を精度よく求めることができる。第1学習モデル21は、RetinaNetに限定されるものではなく、例えば、SegNet、Mask R-CNN、SVM(Support Vector Machine)等であってもよい。
 図6は生成モデル22の構成の一例を示す模式図である。生成モデル22は、例えば、U-Netで構成することができる。生成モデル22は、エンコーダ221~225、デコーダ226~229を備える。生成モデル22は、入力された単体魚画像データに対して、エンコーダ221~225で畳み込み処理を繰り返す。エンコーダ225で畳み込まれた画像をデコーダ226~229でアップサンプリング(逆畳み込み)処理を繰り返す。畳み込まれた画像をデコードする際に、エンコーダ224~221で生成した特徴マップを逆畳み込み処理を行う画像に足し合わせる処理を行う。生成モデル22は、入力された単体魚画像上の魚体のセグメンテーション画像を出力する。セグメンテーション画像により、魚体と魚体以外の境界(魚体の輪郭線)を求めることができる。
 これにより、畳み込み処理によって失われる位置情報を保持することができ、より精度の高いセグメンテーション(いずれのピクセルがいずれのクラスであるか)を出力するこ
とができる。生成モデル22は、U-Netに限定されるものではなく、例えば、GAN(Generative Adversarial Network)、SegNet等でもよい。
 図7は各モデルの機械学習による生成方法の一例を示す模式図である。図7Aは、第2学習モデル23の生成方法を示す。第2学習モデル23は、学習用入力データとして撮像画像データを入力した場合、単体魚の位置データ(第1位置データ)、及び部位の位置データ(第2位置データ)を出力するように機械学習を行って生成することができる。この場合、教師データは、学習用入力データである撮像画像データに基づいてアノテーションを行って作成した単体魚の位置データ、及び部位の位置データを用いる。学習用データと教師データは、多数用意しておき、第2学習モデル23を機械学習する。出力データが教師データに近づくように、第2学習モデル23の内部パラメータを更新して第2学習モデル23を生成することができる。
 図7Bは、第1学習モデル21の生成方法を示す。第1学習モデル21は、学習用入力データとして部位画像データを入力した場合、部位の位置データを出力するように機械学習を行って生成することができる。この場合、教師データは、学習用入力データである部位画像データに基づいてアノテーションを行って作成した部位の位置データを用いる。学習用データと教師データは、多数用意しておき、第1学習モデル21を機械学習する。出力データが教師データに近づくように、第1学習モデル21の内部パラメータを更新して第1学習モデル21を生成することができる。
 図7Cは、生成モデル22の生成方法を示す。生成モデル22は、学習用入力データとして単体魚画像データを入力した場合、セグメンテーション画像データを出力するように機械学習を行って生成することができる。この場合、教師データは、学習用入力データである単体魚画像データに基づいてアノテーションを行って作成したセグメンテーション画像データを用いる。学習用データと教師データは、多数用意しておき、生成モデル22を機械学習する。出力データが教師データに近づくように、生成モデル22の内部パラメータを更新して生成モデル22を生成することができる。
 前述の各モデルは再学習させることもできる。例えば、図3に示すような、第1学習モデル21が出力する位置データに基づいて、尾鰭及び吻端の推定位置を画面上に表示し、表示した尾鰭及び吻端の推定位置を修正する操作を受け付ける。推定位置の修正は、例えば、マウス等を操作して画面上のポインタを推定位置に移動させ、所定の操作(タッチ、クリック、ドラッグ・アンド・ドロップ等)を行うことにより、画面上で推定位置を正しい位置に移動させることができる。受け付けた修正位置と、修正位置を受け付けた際の画像データとを訓練データとして用意し、受け付けた修正位置と、修正位置を受け付けた際の画像データとに基づいて、第1学習モデル21を再学習することができる。これにより、第1学習モデル21が出力する位置データの精度が向上する。
 また、図3に示すような、生成モデル22が生成したセグメンテーション画像を画面上に表示し、表示したセグメンテーション画像を修正する操作を受け付ける。セグメンテーション画像の修正は、例えば、ペイントソフト等のアプリケーションを起動して、セグメンテーション画像を画面上に表示させ、マウス等を操作して画面上のポインタを所要位置に移動させ、所定の操作(タッチ、クリック、ドラッグ・アンド・ドロップ等)を行うことにより、魚体以外の画素を魚体の画素に変換し、あるいは魚体の画素を魚体以外の画素に変換することにより行うことができる。修正されたセグメンテーション画像と、修正を受け付けた際の画像データとを訓練データとして用意し、修正されたセグメンテーション画像と、修正を受け付けた際の画像データとに基づいて、生成モデル22を再学習することができる。これにより、生成モデル22が生成するセグメンテーション画像の精度が向上する。
 また、第2学習モデル23が出力する単体魚の位置データ、吻端の位置データ、及び尾鰭の位置データを画面上に表示し、表示した位置データを修正する操作を受け付ける。なお、この場合、作業性や視認性の向上の観点から、単体魚の位置、吻端の位置、及び尾鰭の位置をそれぞれ含む切出画像(単体魚画像、吻端画像、尾鰭画像)を当該位置とともに画面上に表示してもよい。単体魚の位置データを修正する場合には、第2学習モデル23が出力する単体魚の位置を画面上に表示し、表示した単体魚の位置を修正する操作を受け付ける。単体魚の位置の修正は、例えば、マウス等を操作して画面上の単体魚の位置を移動させて当該位置を修正すればよい。吻端の位置を修正する場合には、第2学習モデル23が出力する吻端の位置を画面上に表示し、表示した吻端の位置を修正する操作を受け付ける。吻端の位置の修正は、例えば、マウス等を操作して画面上の吻端の位置を移動させて当該位置を修正すればよい。尾鰭の位置を修正する場合には、第2学習モデル23が出力する尾鰭の位置を画面上に表示し、表示した尾鰭の位置を修正する操作を受け付ける。尾鰭の位置の修正は、例えば、マウス等を操作して画面上の尾鰭の位置を移動させて当該位置を修正すればよい。また、吻端と尾鰭の位置データとして、第1学習モデル21を再学習するために修正した位置データを用いることもできる。
 修正された単体魚の位置と、修正を受け付けた際の画像データとを訓練データとして用意し、修正された単体魚の位置と、修正を受け付けた際の画像データとに基づいて、第2学習モデル23を再学習することができる。修正された吻端の位置と、修正を受け付けた際の画像データとを訓練データとして用意し、修正された吻端の位置と、修正を受け付けた際の画像データとに基づいて、第2学習モデル23を再学習することができる。同様に、修正された尾鰭の位置と、修正を受け付けた際の画像データとを訓練データとして用意し、修正された尾鰭の位置と、修正を受け付けた際の画像データとに基づいて、第2学習モデル23を再学習することができる。これにより、第2学習モデル23が出力する単体魚の位置データ及び部位の位置データの精度が向上する。
 次に、体高計測の精度をさらに高める方法について説明する。以下、ペアリング処理、追尾処理、テールビート除去処理、及び体高計測処理について順番に説明する。なお、カメラ部200は、ステレオカメラであるとする。
 ペアリング部30は、カメラ間のペアリング処理、及び魚と部位との間のペアリング処理を行う。まず、カメラ間のペアリング処理について説明する。カメラ間のペアリング処理は、魚枠ペアリング、及び部位枠ペアリングを含む。
 図8はカメラ間の魚枠ペアリングの一例を示す模式図である。図8において、左側識別画像は、ステレオカメラの左側のカメラで撮像した撮像画像に基づいて推定された単体魚画像が映っている画像であり、右側識別画像は、ステレオカメラの右側のカメラで撮像した撮像画像に基づいて推定された単体魚画像(魚枠とも称する)が映っている画像である。図8の例では、それぞれ3つの魚枠を図示しているが、実際の画像では、魚枠の数は3つに限定されない。左右方向(水平方向)にステレオカメラを配置する構成に代えて、上下方向に配置してもよく、あるいは、斜め方向(例えば、水平方向に対して0度より大きく90度未満の角度)に配置してもよい。
 ペアリング部30は、左右の識別画像内の全ての魚枠について、総当たりでペアリングを実施する。図8の例では、左側識別画像の魚枠G1と、右側識別画像内の全ての魚枠G4、G5、G6との間でペアリングを行う。ペアリングの際には、許容誤差範囲内で最も近いペアを選択する。図8の例では、魚枠G1に対して、魚枠G6が最も近いペアとして選択される。同様に、左側識別画像の魚枠G2、G3についても、対応するペアを右側識別画像内の魚枠から選択する。
 なお、図示していないが、部位枠ペアリングも魚枠ペアリングと同様に行うことができる。ペアリング部30は、左右の識別画像内の全ての部位枠について、総当たりでペアリングを実施する。左側識別画像の部位枠と、右側識別画像内の全ての部位枠との間でペアリングを行う。ペアリングの際には、許容誤差範囲内で最も近いペアを選択する。
 図9は魚枠及び部位枠のペアリストの一例を示す図である。図9Aは魚枠ペアリストを示し、図9Bは部位枠ペアリストを示す。図9Aに示すように、左側識別画像の魚枠G1と右側識別画像の魚枠G6とがペアとなっている。同様に、左側識別画像の魚枠G2と右側識別画像の魚枠G4とがペアとなり、左側識別画像の魚枠G3と右側識別画像の魚枠G5とがペアとなっている。
 図9Bに示すように、左側識別画像の部位枠g1と右側識別画像の部位枠g12とがペアとなり、左側識別画像の部位枠g2と右側識別画像の部位枠g10とがペアとなり、左側識別画像の部位枠g3と右側識別画像の部位枠g8とがペアとなっている。他の部位も同様である。
 図10は魚と部位のペアリングの一例を示す模式図である。前述のカメラ間のペアリングによって、魚枠G1~G3、部位枠g1~g6がペアリングされたとする。なお、魚枠G1~G3、部位枠g1~g6は、それぞれペアとなる魚枠、部位枠が存在する。図10は、ペアリングされた魚枠及び部位枠の一方側(例えば、左側識別画像)を図示したものである。
 ペアリング部30は、識別画像内の全ての魚枠と部位枠について、総当たりでペアリングを実施する。この場合、ペアリングは、左側識別画像のみ、右側識別画像のみ、あるいは左右の両識別画像を用いて行うことができる。図10の例では、魚枠G1と、識別画像内の全ての部位枠g1~g6との間でペアリングを行う。ペアリングの際には、許容誤差範囲内で最も近いペアを選択する。他の魚枠G2、G3についても同様の処理を行う。
 図11は魚リストの一例を示す図である。図11に示すように、魚枠G1と部位枠g3、g4とがペアとなっている。同様に、魚枠G2と部位枠g1、g2とがペアとなり、魚枠G3と部位枠g5、g6とがペアとなる。すなわち、IDが1の魚は、魚枠G1と部位枠g3、g4とがペアとなり、IDが2の魚は、魚枠G2と部位枠g1、g2とがペアとなり、IDが3の魚は、魚枠G3と部位枠g5、g6とがペアとなっている。
 上述の構成により、例えば、生簀内を撮像して得られた複数の魚それぞれの魚枠と部位枠とが対応付けることができる。
 図12は追尾部40の構成の一例を示すブロック図である。追尾部40は、生簀内を泳ぐ魚を、フレーム間で追尾(トラッキング)を行う。追尾を行うことにより、魚のダブルカウントを防止できる。追尾部40は、2D追尾部41、3D変換部42、及び3D追尾部43を備える。
 2D追尾部41は、ペアリング部30で生成された魚枠ペアリスト、部位枠ペアリスト、及び魚リストを用いて各魚の追尾を行う。2D追尾部41は、魚の2D画像に基づいて追尾を行う。
 3D変換部42は、ペアリング部30で生成された魚枠ペアリスト、部位枠ペアリスト、及び魚リストに基づいて、左側のカメラで撮像して得られた単体魚画像、右側のカメラで撮像して得られた単体魚画像及びステレオカメラの測距原理を用いて魚の2D画像を3
D画像に変換する。または、吻端及び尾叉の3D位置を3点測量の原理に基づき計測してもよい。魚の2D画像の各画素までの距離Zは、Z=(B×F)/Dで算出することができる。ここで、Bはカメラ間距離であり、Fは焦点距離であり、Dは視差である。
 3D追尾部43は、ペアリング部30で生成された魚枠ペアリスト、部位枠ペアリスト、及び魚リストを用いて各魚の追尾を行う。3D追尾部43は、魚の3D画像上の吻端の位置に基づいて追尾を行うことができる。これにより、魚が水中を泳ぐ際の魚のテールビートの影響を低減できる。
 図13はテールビート除去部50の構成の一例を示すブロック図である。テールビート除去部50は、尾叉3D計測部51、平面投影部52、近似直線算出部53、及びフレーム除去部54を備える。
 尾叉3D計測部51は、ペアリング部30でペアリング済みの尾叉(尾鰭)の画像上の(X、Y)座標から3D位置(X、Y、Z)を計測する。ここで、画像の横方向をX軸、縦方向をY軸、カメラの光軸方向をZ軸とすることができる。
 平面投影部52は、尾叉の3D位置をXZ平面に投影する。これにより、尾叉の位置を魚の背中側から見た位置にすることができる。平面投影部52は、魚の背中側から見た尾叉の位置をフレーム毎に記録する。これにより、尾叉の位置をXZ平面上でプロットすることができる。
 近似直線算出部53は、XZ平面上でプロットされた尾叉の位置(尾叉軌道)の近似直線を算出する。
 フレーム除去部54は、近似直線からの尾叉のずれが許容範囲を超える場合、当該尾叉に対応するフレームを除去する。尾叉の3D位置を平面に投影してから近似直線を算出する構成に代えて、尾叉の3D位置から3D空間上の近似線を算出してもよい。この場合、算出した3D的な近似線からの尾叉の3D位置のずれが許容範囲を超える場合、当該尾叉に対応するフレームを除去すればよい。
 図14は尾叉軌道の近似直線の一例を示す模式図である。図14において、横軸は尾叉の位置Xを示し、縦軸は尾叉の位置Zを示す。図14中、Oは計測された尾叉の位置であり、符号t1~t13は、フレームの時点を示し、破線の直線は、尾叉軌道の近似直線を示す。時刻t1からt13に亘って、尾叉の位置が推移する。図14中、時刻t3、t7~t9における尾叉の位置が近似直線からずれている。そこで、時刻t3、t7~9それぞれのフレームを除去し、残りの時刻t1~t2、t4~t6、t10~t13の各フレームを用いて、後述の体高計測を行う。尾叉の位置が近似直線からずれるのは、例えば、魚が進路を変えるため、尾叉が大きく変動するためであり、魚のサイズを推定する際の誤差の要因となるので、近似直線からの尾叉のずれが許容範囲を超える場合、当該尾叉に対応するフレームを除去する。なお、フレーム除去は、近似直線を用いた方法に限定されるものではなく、SVM、ニューラルネットワーク、クラスタリング等の他の機械学習を用いてもよい。また、尾叉の位置の時間的な変化量が所定閾値を超えた場合、当該フレームを除去してもよい。
 テールビート除去部50は、撮像フレームの中からテールビート除去したフレーム以外のフレームをテールビート除去済フレーム(計測対象フレーム)として計測部60へ出力する。
 すなわち、推定装置100は、ステレオカメラによって撮像された複数のフレームそれ
ぞれの画像データを第1学習モデル21に入力して、取得した所定部位の位置データに基づいてフレーム毎の尾叉の3次元位置を算出し、算出した3次元位置を所定の2次元平面に投影してフレーム毎に尾叉の変位を特定し、特定した変位に基づいて、魚のサイズを推定するためのフレームを選択する。
 図15は計測部60の構成の一例を示すブロック図である。計測部60は、最適フレーム選定部61、吻端・尾叉3D計測部62、体高補助線生成部63、体高補助線投影部64、及び体高計測部65を備える。
 最適フレーム選定部61は、尾叉軌道の近似直線に最も近い位置の尾叉に対応する時点のフレームを選定する。なお、最適なフレームを選定する構成に代えて、フレーム除去された残りのフレームの中からランダムに選定してもよく、あるいは、除去したフレームから数フレームだけ前又は後のフレームを選定してもよい。
 吻端・尾叉3D計測部62は、選定されたフレームにおいて、吻端の3D位置、及び尾叉の3D位置を計測する。なお、3D計測は、3D追尾部43で追尾した吻端の3D位置、及び尾叉3D計測部51で計測した尾叉の3D位置を用いてもよい。
 体高補助線生成部63は、3D計測された吻端の3D位置と尾叉の3D位置とを結ぶ3D直線を、例えば、10分割するように、当該3D直線と直交する9本の体高補助線を生成する。
 体高補助線投影部64は、体高補助線生成部63で生成した体高補助線を2D平面(例えば、XY平面)に投影する。
 体高計測部65は、2D平面に投影した体高補助線と魚体の輪郭(例えば、セグメンテーション画像上の輪郭)との交点位置に基づいて体高を計測する。なお、魚体の輪郭等に欠損があるために、体高を計測することができない場合、最適フレーム選定部61は、尾叉軌道の近似直線に対して次に近い位置の尾叉に対応する時点のフレームを選定し、吻端・尾叉3D計測部62、体高補助線生成部63、体高補助線投影部64、及び体高計測部65の各処理を繰り返すことができる。魚体の輪郭等の欠損は、例えば、体高補助線と魚体の輪郭との交点間の距離と所定閾値とを比較して判定することができる。あるいは、隣接する体高補助線それぞれと魚体の輪郭との交点間の距離の変化量と所定閾値とを比較して判定することができる。欠損部分は補間処理してもよい。
 図16は体高計測の一例を示す模式図である。図16Aに示すように、3D計測された吻端の3D位置と尾叉の3D位置とを結ぶ3D直線Lを、例えば、10分割するように、3D直線Lと直交する9本の体高補助線A1~A9を生成する。
 図16Bに示すように、9本の体高補助線A1~A9を2D平面(例えば、XY平面)に投影し、2D平面に投影した体高補助線A1~A9と魚体の輪郭(例えば、セグメンテーション画像上の輪郭)との交点位置に基づいて体高を計測する。具体的には、吻端から、尾叉長Lの40%に相当する距離の体高補助線A4が魚体の輪郭と交差する2つの位置の間の距離Hを体高として計測することができる。なお、体高補助線の数は一例であって、9本に限定されない。また、比率40%は一例であって、40%に限定されない。
 図17は魚のサイズの自動計測の一例を示す模式図である。図17には、各フレーム番号の画像それぞれに映っている魚のIDを図示している。例えば、フレーム1~10に、魚IDが0001の魚が映っており、Oで示すフレーム7において、魚0001のサイズが自動計測されている。自動計測により計測されたフレーム7は、フレーム1~10の中
で、例えば、最もテールビートが小さいフレームである。
 同様に、フレーム3~12に、魚IDが0002の魚が映っており、Oで示すフレーム9において、魚0002のサイズが自動計測され、フレーム5~9に、魚IDが0003の魚が映っているが、魚0003のサイズは自動計測されていない。また、フレーム7~14に、魚IDが0004の魚が映っており、Oで示すフレーム13において、魚0004のサイズが自動計測され、フレーム8~16に、魚IDが0005の魚が映っており、Oで示すフレーム15において、魚0005のサイズが自動計測されている。フレーム間の同一個体の認識は追尾部40が行う。
 計測部60は、計測結果を推定部70に出力する。推定部70は、自動計測された生簀内の魚の尾叉長及び体高を収集し、生簀内の魚のサイズを推定することができる。
 出力部80は、推定部70が推定した結果を表示可能なデータに変換して外部の端末装置や表示装置等に出力することができる。
 図18は推定結果DB90の構成の一例を示す模式図である。推定結果DB90は、推定装置100の内部に設けてもよく、推定装置100からアクセス可能であれば、外部のデータサーバ等に設けてもよい。推定結果DB90は、推定装置100による推定結果を記憶しておくことができる。推定結果DB90は、例えば、魚ID、尾叉長、体高、ランク、及び画像を、魚IDに対応付けて記録している。なお、図示していないが、魚IDに対応付けて吻端の位置情報(座標値)及び尾鰭(尾叉)の位置情報(座標値)を記録してもよい。魚IDは、例えば、生簀内の魚を識別する識別子である。ランクは、魚のサイズの計測精度を特定するものである。ランクの詳細は後述する。画像は、魚の画像であり、魚の画像に重畳させて、当該魚の尾叉長を示す直線、及び体高を示す直線を表示してもよい。また、当該魚の画像上に、フレーム番号、尾叉長の値、体高の値、属するランクを表示してもよい。
 図19は本実施の形態の推定装置100の構成の他の例を示すブロック図である。図19に示すように、推定装置100は、例えば、パーソナルコンピュータ等を用いることができる。推定装置100は、CPU101、ROM102、RAM103、GPU104、ビデオメモリ105、及び記録媒体読取部106などで構成することができる。記録媒体1(例えば、CD-ROM等の光学可読ディスク記憶媒体)に記録されたコンピュータプログラム(コンピュータプログラム製品)を記録媒体読取部106(例えば、光学ディスクドライブ)で読み取ってRAM103に格納することができる。ここで、コンピュータプログラム(コンピュータプログラム製品)は、後述の図25及び図26に記載された処理手順を含む。ハードディスク(図示しない)に格納しコンピュータプログラム実行時にRAM103に格納してもよい。
 RAM103に格納されたコンピュータプログラム(コンピュータプログラム製品)をCPU101で実行させることにより、入力部10、AI部20、ペアリング部30、追尾部40、テールビート除去部50、計測部60、推定部70、及び出力部80における各処理を実行することができる。ビデオメモリ105は、各種画像処理のためのデータや処理結果などを一時的に格納することができる。また、コンピュータプログラム(コンピュータプログラム製品)は、記録媒体読取部106で読み取る構成に代えて、インターネットなどのネットワークを介して他のコンピュータまたはネットワークデバイス等からダウンロードすることもできる。
 次に、通信ネットワークを介して推定装置100と接続される端末装置の表示画面に表示される推定結果について説明する。以下の表示処理は、端末装置からの要求に応じて、
推定装置100が推定結果DB90にアクセスし、必要な場合には、表示するための数値を演算し、端末装置へ出力することにより行うことができる。また、端末装置が、推定結果DBのデータを既にダウンロードしている場合には、端末装置のCPUがダウンロードしたデータを用いて表示部に表示することにより行うことができる。
 図20は推定結果の第1表示例を示す模式図である。推定結果画面300には、ランク、計測数、平均魚体重、平均尾叉長、平均体高、平均肥満度、平均撮影距離、平均角度などの各欄が表示される。また、ランク毎に詳細データのダウンロードの選択を受け付けるボックス301が表示され、「保存」アイコン302を操作することにより、詳細データを推定装置100からダウンロードすることができる。ダウンロードするデータには、カメラ部200で撮像された動画も含む。
 ランクは、魚のサイズの計測精度を特定するものであり、例えば、ランクAは誤差が5%未満であるとし、ランクBは誤差が5%以上10%未満であるとし、ランクCは誤差が10%以上20%未満であるとし、ランクFは誤差が20%以上であるとすることができる。なお、ランクの区分数やランクの定義は、これらに限定されない。
 図21は誤差の要因の一例を示す模式図である。図21Aは部位の位置の誤差の分布を示す。吻端の位置の誤差、尾叉(尾鰭)の位置の誤差が増えるほど、尾叉長及び体高の誤差が増加する。吻端及び尾叉の位置の誤差は、第1学習モデル21が出力する吻端及び尾鰭(尾叉)の位置データを用いて三次元計測を行った際の再投影誤差に基づいて算出される。図21Bは魚体の傾き(角度)の誤差を示す。魚体の傾きが大きいほど、体高の誤差が増加する。傾きの誤差は、角度ズレを単純な計測位置ズレとして体高誤差に反映することができる。ランク付けは、部位の位置の誤差又は傾きの誤差のうち悪い方の誤差を採用することができる。
 計測数は、それぞれのランクに含まれる魚の数を示す。平均尾叉長、平均体高は、各ランク内の平均値を表す。平均魚体重、及び平均肥満度は、所定の計算式によって平均尾叉長及び平均体高から算出することができる。養殖業においては、育成魚の重量の把握も重要である。実際に重量計を用いて育成魚の重量を計測することは、多くの労力を要する。しかし、本実施の形態によれば、推定装置100が推定した尾叉長及び体高などから、実際の重量計を用いることなく、育成魚の重量を換算することができる。この場合、体高計測に最適な特徴部位がない場合でも、安定して高精度に体高を推定できるので、育成魚の体重も精度よく推定できる。
 上述のように、推定装置100は、生簀内で養殖されている複数の魚(水中生物)の推定したサイズの精度を複数のランクに区分し、区分したランク毎の魚を表示する。これにより、生簀内の魚のサイズがどの程度であって、さらにデータの信頼度も分かるので、給餌量や水揚げ時期を決定するための情報を提供できる。
 図22は推定結果の第2表示例を示す模式図である。推定結果画面310には、分布選択リスト311、分布表示領域312が表示される。図22の例では、尾叉長、体高、魚体重などの項目の中から尾叉長の分布が選択され、分布表示領域312には、生簀内の魚の尾叉長分布が表示されている。また、尾叉長の分布の内訳として、ランクを表示してもよい。尾叉長と同様に、体高や魚体重などの分布を表示させることができる。
 上述のように、推定装置100は、生簀内で養殖されている複数の魚の尾叉長及び体高の少なくとも一方の分布を表示することができる。これにより、生簀内の魚のサイズがどのように分布しているかが分かるので、給餌量や水揚げ時期を決定するための情報を提供できる。
 図23は推定結果の第3表示例を示す模式図である。推定結果画面320には、ランク選択リスト321、魚計測データ表示領域322が表示される。図23の例では、ランクA、B、C、Fの各ランクからランクAが選択されている。魚計測データ表示領域322には、ランクAに属する各魚の計測データが表示される。図23の例では、計測データには、魚体重、尾叉長、体高、及び画像が含まれるが、これらに限定されない。画像の欄のボックス323を操作することにより、後述の図24に示すように、選択した魚の画像を表示することができる。
 これにより、ランク毎に、ランクに属する個々の魚(固体)の計測データを確認することができる。
 図24は推定結果の第4表示例を示す模式図である。推定結果画面330には、選択された魚の画像が表示される。また、魚の画像に重畳させて、当該魚の尾叉長を示す直線、及び体高を示す直線を表示してもよい。また、当該魚の画像上に、フレーム番号、尾叉長の値、体高の値、魚体重の値、属するランクを表示してもよい。
 上述のように、推定装置100は、魚の画像に尾叉長及び体高を付して表示することができる。これにより、ランクに属する個々の魚(固体)の計測データを確認することができる。
 図25及び図26は推定装置100の処理手順の一例を示すフローチャートである。推定装置100は、撮像画像データを取得し(S11)、取得した撮像画像データを第2学習モデル23に入力して、画像切出部24から単体魚画像データ及び部位画像データを取得する(S12)。ここで、部位画像データは、吻端画像データ及び尾鰭画像データを含む。推定装置100は、取得した部位画像データを第1学習モデル21に入力して部位の位置データを取得する(S13)。ここでは、吻端画像データを第1学習モデル21に入力し、第1学習モデル21が出力する吻端の位置情報(座標又は領域の値)を取得し、尾鰭画像データを第1学習モデル21に入力し、第1学習モデル21が出力する尾鰭の位置情報(座標又は領域の値)を取得する。
 推定装置100は、取得した単体魚画像データを生成モデル22に入力してセグメンテーション画像データを取得し(S14)、取得した部位の位置データ及びセグメンテーション画像データに基づいて尾叉長の計測ポイントを推定(生成)する(S15)。ここでは、尾叉長の計測ポイント(吻端及び尾鰭それぞれの位置情報(座標又は領域の値))推定結果DB90に記憶する。なお、後述のステップS16及びS17の処理を用いて魚又は魚の所定部位のカメラからの距離Zを求めて、魚のサイズ(尾叉長及び体高)を推定してもよい。
 推定装置100は、カメラ間のペアリングを行い(S16)、魚と部位のペアリングを行って魚リストを生成する(S17)。推定装置100は、魚の追尾処理を行い(S18)、テールビート除去処理を行う(S19)。推定装置100は、体高算出に最適なフレームを選定する(S20)。
 推定装置100は、体高算出が可能であるか否かを判定し(S21)、体高算出が不可の場合(S21でNO)、ステップS20の処理を行う。体高算出が可能の場合(S21でYES)、推定装置100は、体高を算出する(S22)。体高の算出は、図16Bに示した方法で行う。体高の「算出」は、「計測」と同義であるが、間接的に計測するという意味もある。推定装置100は、他の魚(計測を実施していない魚)の有無を判定する(S23)。
 他の魚がある場合(S23でYES)、推定装置100は、ステップS11以降の処理を繰り返す。他の魚がない場合(S23でNO)、推定装置100は、魚の算出データを収集し(S24)、誤差に応じて、算出データをランクに区分する(S25)。推定装置100は、ランク毎の算出データの統計値(例えば、平均値)を算出し(S26)、推定項目(例えば、尾叉長、体高など)ごとの分布を作成し(S27)、推定結果を出力し(S28)、処理を終了する。
 推定装置100は、CPU、GPU、ROM、RAM、記録媒体読取部などで構成することができる。記録媒体に記録されたコンピュータプログラムを記録媒体読取部で読み取ってRAMに格納することができる。RAMに格納されたコンピュータプログラムをCPU、GPUで実行させることにより、推定装置100で行う処理を実行することができる。また、コンピュータプログラムは、記録媒体読取部で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
 本実施の形態によれば、体高計測をセグメンテーション画像と体高直線との組み合わせにより行うので、体高計測のための最適部位が無い場合でも、安定して高精度に魚のサイズを推定することができる。
 また、魚の鰭は、遊泳時に展開したり収納したりするため、測定精度の低下原因となる。しかし、本実施の形態によれば、鰭を除く魚体に対してセグメンテーションを行うので、鰭に影響されることなく、高精度に体高を計測することができる。
 また、高解像度の画像から特徴点を高精度に抽出するには、画像処理のための演算負荷が増大する。しかし、本実施の形態によれば、第1学習モデルと生成モデルとを組み合わせるので、セグメンテーション画像と体高直線とを組み合わせて高精度に魚のサイズを推定することができるとともに、負荷軽減を図ることができる。
 100 推定装置
 10 入力部
 20 AI部
 21 第1学習モデル
 211 Feature Pyramid Network
 212 クラス分類器
 213 領域回帰器
 22 生成モデル
 221、222、223、224、225 エンコーダ
 226、227、228、229 デコーダ
 23 第2学習モデル
 24 画像切出部
 231 CNN層
 232 領域提案ネットワーク
 233 ROI POOL
 234 識別ネットワーク
 30 ペアリング部
 40 追尾部
 41 2D追尾部
 42 3D変換部
 43 3D追尾部
 50 テールビート除去部
 51 尾叉3D計測部
 52 平面投影部
 53 近似直線算出部
 54 フレーム除去部
 60 計測部
 61 最適フレーム選定部
 62 吻端・尾叉3D計測部
 63 体高補助線生成部
 64 体高補助線投影部
 65 体高計測部
 70 推定部
 80 出力部
 90 推定結果DB
 101 CPU
 102 ROM
 103 RAM
 104 GPU
 105 ビデオメモリ
 106 記録媒体読取部
 200 カメラ部

Claims (15)

  1.  コンピュータに、
     水中生物を撮像した画像データを取得し、
     画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得し、
     画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成し、
     前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する、
     処理を実行させるコンピュータプログラム。
  2.  コンピュータに、
     画像データを入力した場合に水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを出力する第2学習モデルに、取得した画像データを入力して、前記第1位置データ及び前記第2位置データを出力し、
     前記第1学習モデルには、前記第2位置データを含む第2領域の画像データを入力し、
     前記生成モデルには、前記第1位置データを含む第1領域の画像データを入力する、
     処理を実行させる請求項1に記載のコンピュータプログラム。
  3.  前記所定部位は、尾鰭及び吻端を含み、
     コンピュータに、
     前記尾鰭と前記吻端とを結ぶ直線と直交する直線に基づいて体高を算出する、
     処理を実行させる請求項1又は請求項2に記載のコンピュータプログラム。
  4.  コンピュータに、
     ステレオカメラによって撮像された画像データを前記第1学習モデルに入力して、取得した所定部位の位置データに基づいて吻端及び尾叉の3次元位置を算出し、
     算出した3次元位置に基づいて体高補助線を生成し、
     生成した体高補助線を前記セグメンテーション画像上に2次元投影して体高を算出する、
     処理を実行させる請求項1から請求項3のいずれか一項に記載のコンピュータプログラム。
  5.  コンピュータに、
     前記吻端又は前記尾叉の位置から、前記吻端と前記尾叉の距離の所定割合の位置にある前記体高補助線を用いて前記体高を算出する、
     処理を実行させる請求項4に記載のコンピュータプログラム。
  6.  コンピュータに、
     ステレオカメラによって撮像された複数のフレームそれぞれの画像データを前記第1学習モデルに入力して、取得した所定部位の位置データに基づいてフレーム毎の尾叉の3次元位置を算出し、
     算出した尾叉の3次元位置に基づいてフレーム毎に尾叉の変位を特定し、
     特定した変位に基づいて、前記水中生物のサイズを推定するためのフレームを選択する、
     処理を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  7.  コンピュータに、
     前記第1学習モデルが出力する位置データに基づいて、尾鰭又は吻端の推定位置を表示し、
     表示した尾鰭又は吻端の推定位置の修正を受け付け、
     受け付けた修正位置と、前記修正位置を受け付けた際の画像データとに基づいて、前記第1学習モデルを再学習する、
     処理を実行させる請求項1から請求項6のいずれか一項に記載のコンピュータプログラム。
  8.  コンピュータに、
     前記生成モデルが生成したセグメンテーション画像を表示し、
     表示したセグメンテーション画像の修正を受け付け、
     修正されたセグメンテーション画像と、前記修正を受け付けた際の画像データとに基づいて、前記生成モデルを再学習する、
     処理を実行させる請求項1から請求項7のいずれか一項に記載のコンピュータプログラム。
  9.  コンピュータに、
     生簀内で養殖されている前記水中生物の画像に尾叉長又は体高を付して表示する、
     処理を実行させる請求項1から請求項8のいずれか一項に記載のコンピュータプログラム。
  10.  コンピュータに、
     生簀内で養殖されている複数の水中生物の推定したサイズの精度を複数のランクに区分し、区分したランク毎の水中生物の数を表示する、
     処理を実行させる請求項1から請求項9のいずれか一項に記載のコンピュータプログラム。
  11.  コンピュータに、
     生簀内で養殖されている複数の水中生物の尾叉長及び体高の少なくとも一方を含むサイズの分布を表示する、
     処理を実行させる請求項1から請求項10のいずれか一項に記載のコンピュータプログラム。
  12.  水中生物を撮像した画像データ、及び前記水中生物の所定部位の位置データを含む第1訓練データを取得し、
     前記画像データ、及び前記水中生物のセグメンテーション画像を含む第2訓練データを取得し、
     前記第1訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物の所定部位の位置データを出力するように第1学習モデルを生成し、
     前記第2訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物のセグメンテーション画像を生成するように生成モデルを生成する、
     モデル生成方法。
  13.  水中生物を撮像した画像データ、前記水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを含む第3訓練データを取得し、
     前記第3訓練データに基づいて、水中生物を撮像した画像データを入力した場合に、前記水中生物の第1位置データ及び前記水中生物の所定部位の第2位置データを出力するように第2学習モデルを生成する、
     請求項12に記載のモデル生成方法。
  14.  水中生物を撮像した画像データを取得し、
     画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得し、
     画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成し、
     前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する、
     推定方法。
  15.  水中生物を撮像した画像データを取得する第1取得部と、
     画像データを入力した場合に水中生物の所定部位の位置データを出力する第1学習モデルに、前記第1取得部で取得した画像データを入力して、前記撮像された水中生物の所定部位の位置データを取得する第2取得部と、
     画像データを入力した場合に水中生物のセグメンテーション画像を生成する生成モデルに、前記第1取得部で取得した画像データを入力して、前記撮像された水中生物のセグメンテーション画像を生成する生成部と、
     前記所定部位の位置データ及び前記セグメンテーション画像に基づいて前記撮像された水中生物のサイズを推定する推定部と
     を備える推定装置。
PCT/JP2022/007299 2021-03-31 2022-02-22 コンピュータプログラム、モデル生成方法、推定方法及び推定装置 WO2022209435A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22779660.4A EP4317910A1 (en) 2021-03-31 2022-02-22 Computer program, model generation method, estimation method and estimation device
CN202280024241.2A CN117178161A (zh) 2021-03-31 2022-02-22 计算机程序、模型生成方法、推断方法以及推断装置
JP2023510653A JPWO2022209435A1 (ja) 2021-03-31 2022-02-22

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-060624 2021-03-31
JP2021060624 2021-03-31

Publications (1)

Publication Number Publication Date
WO2022209435A1 true WO2022209435A1 (ja) 2022-10-06

Family

ID=83455891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/007299 WO2022209435A1 (ja) 2021-03-31 2022-02-22 コンピュータプログラム、モデル生成方法、推定方法及び推定装置

Country Status (5)

Country Link
EP (1) EP4317910A1 (ja)
JP (1) JPWO2022209435A1 (ja)
CN (1) CN117178161A (ja)
CL (1) CL2023002753A1 (ja)
WO (1) WO2022209435A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230177668A1 (en) * 2021-12-02 2023-06-08 X Development Llc Underwater camera biomass prediction aggregation
JP7413583B1 (ja) 2023-03-31 2024-01-15 株式会社電通 魚の品質判定システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01195364A (ja) * 1988-01-29 1989-08-07 Hitachi Ltd 魚体生態監視装置
WO2018061925A1 (ja) 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
JP2019003554A (ja) * 2017-06-19 2019-01-10 コニカミノルタ株式会社 画像認識装置、画像認識方法、および画像認識装置用プログラム
WO2019188506A1 (ja) * 2018-03-26 2019-10-03 日本電気株式会社 情報処理装置、物体計測システム、物体計測方法およびプログラム記憶媒体
JP6842100B1 (ja) * 2019-08-28 2021-03-17 ウミトロン ピーティーイー エルティーディー 水棲動物検出装置、情報処理装置、端末装置、水棲動物検出システム、水棲動物検出方法、及び水棲動物検出プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01195364A (ja) * 1988-01-29 1989-08-07 Hitachi Ltd 魚体生態監視装置
WO2018061925A1 (ja) 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
JP2019003554A (ja) * 2017-06-19 2019-01-10 コニカミノルタ株式会社 画像認識装置、画像認識方法、および画像認識装置用プログラム
WO2019188506A1 (ja) * 2018-03-26 2019-10-03 日本電気株式会社 情報処理装置、物体計測システム、物体計測方法およびプログラム記憶媒体
JP6842100B1 (ja) * 2019-08-28 2021-03-17 ウミトロン ピーティーイー エルティーディー 水棲動物検出装置、情報処理装置、端末装置、水棲動物検出システム、水棲動物検出方法、及び水棲動物検出プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230177668A1 (en) * 2021-12-02 2023-06-08 X Development Llc Underwater camera biomass prediction aggregation
US11842473B2 (en) * 2021-12-02 2023-12-12 X Development Llc Underwater camera biomass prediction aggregation
JP7413583B1 (ja) 2023-03-31 2024-01-15 株式会社電通 魚の品質判定システム

Also Published As

Publication number Publication date
JPWO2022209435A1 (ja) 2022-10-06
EP4317910A1 (en) 2024-02-07
CL2023002753A1 (es) 2024-03-08
CN117178161A (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
US11913771B2 (en) Information processing device, object measuring system, object measuring method, and program storing medium
US10643347B2 (en) Device for measuring position and orientation of imaging apparatus and method therefor
US20210232924A1 (en) Method for training smpl parameter prediction model, computer device, and storage medium
CN110568447B (zh) 视觉定位的方法、装置及计算机可读介质
WO2022209435A1 (ja) コンピュータプログラム、モデル生成方法、推定方法及び推定装置
KR101519940B1 (ko) 3-차원 물체 모델링, 피팅 및 트래킹
CN111028350B (zh) 一种利用双目立体相机构建栅格地图的方法
CN114424250A (zh) 结构建模
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
KR20100038168A (ko) 구도 해석 방법, 구도 해석 기능을 구비한 화상 장치, 구도 해석 프로그램 및 컴퓨터 판독 가능한 기록 매체
US20160239632A1 (en) Anatomically Specific Movie Driven Medical Image Review
CN112927279A (zh) 一种图像深度信息生成方法、设备及存储介质
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
JP2010282615A (ja) 3dワーピング手法と固有対象物運動(pom)の検出の組み合わせに基づく対象物の動き検出システム
CN111178193A (zh) 一种车道线的检测方法、检测装置及计算机可读存储介质
JP2020013560A (ja) 情報処理装置、情報処理方法、及びプログラム
CN108648145B (zh) 图像拼接方法及装置
CN111709269B (zh) 一种深度图像中基于二维关节信息的人手分割方法和装置
CN117726747A (zh) 补全弱纹理场景的三维重建方法、装置、存储介质和设备
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
CN115546027A (zh) 图像缝合线确定方法、装置以及存储介质
JP2010187130A (ja) カメラ校正装置、カメラ校正方法、カメラ校正プログラムおよびそのプログラムを記録した記録媒体。
CN115035070A (zh) 一种确定cbct图像中种植体位置的方法及装置
JP2002008014A (ja) 3次元形状抽出方法及び装置並びに記録媒体
JP2013104660A (ja) 単眼カメラ画像によるステレオ視に基づく運動量推定方法、及び当該方法を使用する運動量推定装置

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023510653

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2022779660

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022779660

Country of ref document: EP

Effective date: 20231031

NENP Non-entry into the national phase

Ref country code: DE