WO2021065265A1 - 大きさ推定装置、大きさ推定方法および記憶媒体 - Google Patents

大きさ推定装置、大きさ推定方法および記憶媒体 Download PDF

Info

Publication number
WO2021065265A1
WO2021065265A1 PCT/JP2020/032415 JP2020032415W WO2021065265A1 WO 2021065265 A1 WO2021065265 A1 WO 2021065265A1 JP 2020032415 W JP2020032415 W JP 2020032415W WO 2021065265 A1 WO2021065265 A1 WO 2021065265A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
feature point
fish
aquatic organism
size
Prior art date
Application number
PCT/JP2020/032415
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 JP2021550437A priority Critical patent/JP7207561B2/ja
Priority to US17/761,663 priority patent/US20220327721A1/en
Publication of WO2021065265A1 publication Critical patent/WO2021065265A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/05Underwater scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/80Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in fisheries management
    • Y02A40/81Aquaculture, e.g. of fish

Definitions

  • the present invention relates to a size estimation device and the like for estimating the size of aquatic organisms.
  • Patent Document 1 discloses a technique for estimating the length of a fish.
  • Patent Document 1 specifies an individual fish body in a rectangular region in an image in which a plurality of fish are photographed, specifies spatial coordinates of characteristic parts (head and tail of the fish body) in the specified fish body, and obtains the said.
  • this method has a problem that accurate estimation cannot be performed when fish bodies in various directions are mixed in the captured image.
  • This disclosure has been made in view of the above problems, and one of the purposes is to provide a size estimation device or the like capable of estimating the size of aquatic organisms with high accuracy.
  • the size estimation device which is the first aspect of the present disclosure, is Based on a learning model that learns the characteristics of the first aquatic organism that faces in one direction in the image taken underwater, the one-way side of the second aquatic organism that faces in one direction included in the image acquired from the outside.
  • An estimation unit that estimates a first feature point that indicates one end and a second feature point that indicates the other end, It is provided with a calculation unit that calculates information indicating the size of the second aquatic organism based on the information including the first feature point and the second feature point.
  • the size estimation system which is the second aspect of the present disclosure, is With the size estimation device described above, It comprises one or more cameras that take an image containing a first aquatic organism and an image containing a second aquatic organism in water and transmit it to a size estimation device.
  • the size estimation method which is the third aspect of the present disclosure, is Based on a learning model that learns the characteristics of the first aquatic organism that faces in one direction in the image taken underwater, the one-way side of the second aquatic organism that faces in one direction included in the image acquired from the outside. Estimate the first feature point indicating one end and the second feature point indicating the other end, Based on the information including the first feature point and the second feature point, the information indicating the size of the second aquatic organism is calculated.
  • the size estimation program which is the fourth aspect of the present disclosure, is Based on a learning model that learns the characteristics of the first aquatic organism that faces in one direction in the image taken underwater, the one-way side of the second aquatic organism that faces in one direction included in the image acquired from the outside. Estimate the first feature point indicating one end and the second feature point indicating the other end, Based on the information including the first feature point and the second feature point, the computer is made to realize the calculation of the information indicating the size of the second aquatic organism.
  • the size estimation program may be stored in a non-temporary storage medium that can be read and written by a computer.
  • the present invention it is possible to provide a size estimation device or the like capable of estimating the size of aquatic organisms with high accuracy.
  • aquatic organisms that live in the sea and rivers are difficult to observe, but they may need to be observed underwater.
  • the aquatic organism refers to an organism that lives in water such as fish and crustaceans, but in each of the following embodiments, a fish will be described as an example.
  • the orientation (right, left) of the fish is recognized from the photographed image of the fish, and the size estimation is performed using a learning model machine-learned using the correct answer data in which the orientations are aligned.
  • the learning models first and second learning models
  • the first learning model learns so that the rectangle surrounding the fish and the orientation of the fish can be estimated, and the second learning model has one orientation, for example, leftward. Learn to estimate the feature points of the fish body using only the captured image of the fish (correct answer data).
  • the rectangle surrounding the fish and the orientation of the fish are estimated from the captured image of the fish by the first learning model, and the feature points of the fish body which is the orientation of the fish by the second learning model.
  • the first learning model is adjusted by machine learning so that the fish body shown in the first image and the fish body shown in the second image are the fish bodies showing the same individual among the pair images.
  • the second learning model in the other direction, that is, for the right direction, only the photographed image of the fish facing right may be learned in the same manner as the correct answer data, or the image of the fish facing right may be discarded as not the correct answer data. Good. Further, in the second learning model, it is preferable to use only the image of the fish facing left in the case of learning facing left, but after the image of the fish facing right is horizontally flipped horizontally and processed into the image of the fish facing left, it is used as the correct answer data. You may use it.
  • the image of the fish facing to the left may be horizontally inverted to be processed into an image of the fish facing to the right, and then used as the correct answer data. ..
  • Size estimation system Size estimation system
  • FIG. 1 is a diagram showing a schematic configuration of the size estimation system 100.
  • the size estimation system 100 includes a size estimation device 1, a stereo camera 2, and a terminal 3.
  • the stereo camera 2 takes an image of a fish underwater.
  • the stereo camera 2 includes two left and right lenses, and these lenses are fixedly arranged at a predetermined distance. Since the stereo camera 2 captures two images at the same time with these lenses, it is possible to capture a pair of images (left image and right image) with slightly different angles.
  • the camera for shooting fish is not limited to the stereo camera 2, but is two single-lens cameras fixed in water so that two or more images of fish grown in the cage 4 can be captured. You may.
  • the terminal 3 is installed between the stereo camera 2 and the size estimation device 1 and is connected so as to be able to communicate with both. Communication may be wired or wireless.
  • the terminal 3 transfers the image captured by the stereo camera 2 to the size estimation device 1. Further, the terminal 3 executes a shooting instruction to the stereo camera 2 according to the program.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the terminal 3.
  • the terminal 3 includes a CPU (Central Processing Unit) 101 that controls image transfer and shooting instructions, a ROM (Read Only Memory) 102 that stores programs and the like, a RAM (Random Access Memory) 103 that is a temporary storage memory, and the like. It includes at least a database 104 that temporarily stores images taken by the stereo camera 2 and a communication module 105 that communicates with the size estimation device 1.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the size estimation device 1 executes a process of generating a learning model based on the image of the fish and a process of estimating the size of the fish using the generated learning model.
  • FIG. 3 is a diagram showing an example of a functional block of the size estimation device 1.
  • the size estimation device 1 includes a storage unit 10, an image acquisition unit 11, a feature designation reception unit 12, a learning unit 13, a learning model acquisition unit 14, a feature point estimation unit 15, the same individual identification unit 16, a data discard unit 17, and a large size.
  • a calculation unit 18 and an output unit 19 are provided.
  • the storage unit 10 stores an image taken by the stereo camera 2, a learning model learned from the image, and the like.
  • the image acquisition unit 11 acquires an image taken by the stereo camera 2 or an image temporarily stored in the database 104 via the terminal 3 and stores it in the storage unit 10.
  • FIG. 4 is a diagram showing an example of an image captured by the stereo camera 2. In many cases, multiple fish are photographed in the captured image.
  • the stereo camera 2 captures the light incident on each of the two left and right lenses by an image sensor, and captures two captured images corresponding to each lens at the same timing at predetermined time intervals (for example, every second). Of the captured pair images, the image captured by the right lens is also referred to as the first image, and the image captured by the left lens is also referred to as the second image.
  • FIG. 4 shows a captured image of either the first image or the second image.
  • the stereo camera 2 may continuously shoot for only 10 seconds to generate several or several tens of paired images, or may shoot every second to generate paired images.
  • the image acquisition unit 11 acquires the pair image via the terminal 3
  • the image acquisition unit 11 of the pair image and the shooting time of the pair image by the stereo camera 2 are associated with the first image and the second image, respectively. May be stored in the storage unit 10.
  • the feature designation reception unit 12 accepts input of a rectangular range in which the fish integrated in the image fits and a plurality of feature points on the surface of the fish integrated.
  • the rectangular range is an example of a range surrounding the fish body, and is not limited to a rectangle. For example, it may be a circle or an ellipse.
  • the learning unit 13 uses an image containing a plurality of fish bodies (first aquatic organisms) facing in one direction, and uses a first feature point and other features showing one end on the one-way side in the longitudinal direction of the fish body.
  • a learning model for learning the feature points including the second feature point indicating the end is generated.
  • the fish body to be learned is also referred to as a first aquatic organism.
  • facing in one direction means that, as shown in FIG. 4, the fish body is facing in one direction (in FIG. 4, the direction toward the left side of the image).
  • the fact that the fish body of FIG. 4 faces the left side of an image is described as facing left, and the direction opposite to that of the fish body of FIG. 4, that is, facing the right side of a certain image.
  • the learning unit 13 includes at least the first learning model for estimating the range surrounding the fish body to be learned and the orientation of the fish body to be learned, and the first feature points and the second feature points of the fish body to be learned. Learn with a second learning model for estimation.
  • the learning unit 13 performs machine learning based on the image received from the image acquisition unit 11 and the feature points for specifying the shape of the fish reflected in the image, and generates the first learning model and the second learning model.
  • the learning unit 13 learns so that the first learning model estimates the rectangle surrounding the fish and the orientation of the fish. Further, the learning unit 13 learns that the second learning model estimates the feature points of the body of the fish facing left by using only the photographed image (correct answer data) of the fish facing left, for example. The learning unit 13 may also learn that the second learning model estimates the feature points of the body of the fish facing right by using only the photographed image of the fish facing right in the other direction, that is, facing right.
  • the second learning model may be trained only for either right-facing or left-facing, or may be trained for two types, one for right-facing and one for left-facing.
  • the learning model acquisition unit 14 acquires the first and second learning models generated by the learning unit 13 at the start of the size estimation process or the like.
  • the feature point estimation unit 15 faces the one direction included in the image acquired from the outside based on the learning model for learning the characteristics of the fish body (the first underwater organism) that faces one direction in the image to be photographed underwater.
  • the first feature point indicating one end of the fish body (second aquatic organism) on the one-way side and the second feature point indicating the other end are estimated.
  • the fish body to be estimated is also called a second aquatic organism.
  • One end on the one-way side may be the peripheral edge of the one end. Further, the other end portion may be the peripheral edge of the other end portion.
  • the feature point estimation unit 15 uses the first learning model to specify the second rectangular range A2 (FIG. 9) surrounding the same individual fish reflected in both the first image and the second image and the orientation of the fish body.
  • the feature points that specify the shape features of the fish reflected in the second rectangular range A2 are estimated.
  • the feature point estimation unit 15 converts the direction of the fish body to be estimated to a predetermined one direction. Further, the feature point estimation unit 15 includes a first feature point and a second feature point in the longitudinal direction of the fish body to be estimated, and a third feature point and another feature point indicating one end in the lateral direction with respect to the longitudinal direction of the fish body. Estimate the fourth feature point indicating the end.
  • the same individual identification unit 16 acquires a pair of images taken by the stereo camera 2 from the storage unit 10 and identifies the same individual (target fish) included in both of the images of the pair. When a plurality of fish are transferred to the image, each of the plurality of fish is specified. The same individual identification unit 16 identifies the same individual based on the processing request from the feature point estimation unit 15, and returns the identified same individual to the feature point estimation unit 15.
  • the data discarding unit 17 estimates when the relationship between each of the plurality of feature points in a fish determined by the automatic recognition process using the second learning model is abnormal, for example, when it exceeds or is lower than a predetermined threshold value. Discard the result.
  • the data disposal unit 17 may acquire an image of the target fish at various timings and dispose of the image. For example, the data disposal unit 17 receives the estimation result of the image by the feature point estimation unit 15, determines whether the estimation result satisfies a predetermined condition, and performs the disposal process based on the determination result. Details will be described later.
  • the size calculation unit 18 calculates information indicating the size of the fish based on the feature points of the fish (first to fourth feature points described later) in the image.
  • the information indicating the size is, for example, the length of the fork, the length of the body, the height of the body, and the weight.
  • the output unit 19 generates output information based on the information indicating the size calculated by the size calculation unit 18, and outputs the output information to a predetermined output destination, for example, a display monitor (not shown) viewed by the operator. To do.
  • the operation of the size estimation device 1 in the size estimation system 100 will be described.
  • the operation of the size estimation device 1 is as follows: "1. Processing of learning image”, “2. Learning processing using learning image”, and “3. Size estimation processing using learned model”. It can be divided into two. Hereinafter, these three operations will be described.
  • step S101 the image acquisition unit 11 of the size estimation device 1 sequentially acquires the images taken by the stereo camera 2 via the terminal 3.
  • the image acquisition unit 11 sequentially acquires paired images (first image and second image) taken by the stereo camera 2 at the same time.
  • the amount of images to be acquired is such that the first learning model and the second learning model can be generated.
  • the image acquisition unit 11 associates the acquired image with an ID and records it in the storage unit 10. Specifically, the image acquisition unit 11 generates an ID for each of the first image and the second image. The image acquisition unit 11 associates the first image with its ID (for example, G1-R), the second image with its ID (for example, G1-L), and pairs the first image and the second image generated at the same time. And store it in the storage unit 10. The image acquisition unit 11 may store the pair image in the storage unit 10 in association with the time when the pair image was taken and the time when the image acquisition unit 11 acquired the pair image.
  • ID for example, G1-R
  • the second image with its ID
  • the image acquisition unit 11 may store the pair image in the storage unit 10 in association with the time when the pair image was taken and the time when the image acquisition unit 11 acquired the pair image.
  • step S103 the feature designation reception unit 12 receives the designation of the image ID to be used for learning from the operator. For example, thumbnail images of a plurality of images are presented on a display monitor (not shown) viewed by the operator, and the operator is urged to make a selection.
  • the feature designation reception unit 12 receives the ID of the selected image, the image associated with the ID is acquired from the storage unit 10.
  • step S104 the feature designation reception unit 12 outputs the input application screen to the display monitor (not shown) viewed by the operator, and prompts the operator to input.
  • the feature designation reception unit 12 displays the first input image G1 (see FIG. 6), which is an image designated by the operator, on the input application screen.
  • the operator specifies the first rectangular range A1 so that the entire fish of one individual is included in the first input image G1.
  • the designation is made using an input interface such as a mouse or a touch panel.
  • the feature designation reception unit 12 presents the second input image A1 (see FIG. 6), which is an enlarged image of the first rectangular range, on the input application screen, and prompts the operator to input the feature points.
  • the operator uses the input interface to identify the shape features of the fish in the second input image A1, the first feature point, the second feature point, the third feature point, and the fourth feature point (hereinafter, feature points P1, P2, (Also described as P3 and P4) is specified.
  • P1 is a point indicating the peripheral edge of one end on the head side (facing direction side) in the longitudinal direction of the fish body in the image.
  • P2 is a point indicating the peripheral edge of the other end opposite to the direction in which the fish is facing.
  • P3 is a point indicating the peripheral edge of one end of the fish body in the lateral direction.
  • P4 is a point indicating the peripheral edge of the other end of the fish body in the lateral direction.
  • the feature points P1, P2, P3, and P4 may be regions inside a circle centered on the feature points (hereinafter, also referred to as a circle range; see FIG. 6).
  • P1 is the circle range of the feature points indicating the position of the tip of the mouth
  • P2 is the circle range of the feature points indicating the position of the outer edge of the central recess where the tail fin is bifurcated
  • P3 is the circle range of the feature points indicating the position of the front base of the dorsal fin
  • P4 is a circular range of feature points indicating the position of the anterior base of the dorsal fin.
  • the size of the circle range may be specified or may be set by the operator.
  • the feature designation receiving unit 12 indicates the coordinates indicating the designated first rectangular range A1 (for example, the coordinates of the four corners of A1) and the circle range of the designated feature points P1, P2, P3, and P4.
  • the coordinates for example, the coordinates of the center of each circle range
  • the ID of the image in which the information is specified and the fish body ID for identifying the fish in the image are associated and stored.
  • the operator repeats the processes of steps S103 to S105 for each of the plurality of fish photographed in each of the pair images.
  • step S106 the feature designation reception unit 12 determines whether the operator's designation process for each of the plurality of fish captured in one image has been completed, and if it is determined to be completed, the operation of this flowchart is performed. finish.
  • step S201 the learning unit 13 selects one of the fish body IDs stored in the storage unit 10 and acquires the data set associated with the selected fish body ID.
  • the data set is an image ID, coordinates indicating the first rectangular range A1, and coordinates indicating a circular range of feature points P1, P2, P3, and P4.
  • step S202 the learning unit 13 determines which direction the fish is facing from the magnitude of the horizontal coordinate values of the feature points P1 and P2.
  • the learning unit 13 determines that the fish is facing left when the feature point P1 is located on the left side relative to the feature point P2, and the feature point P1 is located on the right side relative to the feature point P2. If so, the fish is judged to be facing right.
  • P1 is the coordinates (2, -4) and P2 is the coordinates (7).
  • the learning unit 13 determines that the coordinate P1 having a small absolute value of the x-coordinate is the head of the fish, that is, the direction in which the fish is facing. The learning unit 13 determines the direction of the fish based on the coordinate values, and if it is determined to be leftward, the learning unit 13 determines that the image corresponding to the selected fish body ID is the leftward learning image (correct answer data). The learning unit 13 determines the direction of the fish based on the coordinate values, and if it is determined to be rightward, the learning unit 13 determines that the image corresponding to the selected fish body ID is the rightward learning image (correct answer data).
  • the learning unit 13 may discard the image (right image) determined not to be the left-facing learning image.
  • the learning unit 13 may collect correct answer data in only one direction.
  • left-facing learning it is preferable to use only the data set of the fish ID determined to be left-facing
  • right-facing learning it is preferable to use only the dataset of the fish ID determined to be right-facing.
  • the image of the first rectangular range A1 of the reverse fish body and the coordinates of the feature points P1, P2, P3, and P4 are horizontally inverted and converted into the image and coordinates in the same direction as the correct answer data for learning. Image for use.
  • the learning unit 13 corrects the orientations of the fish bodies to be learned so as to face a predetermined direction in a certain direction.
  • the variation in the orientation of the fish body refers to a case where the direction of the fish body is different from the predetermined direction, a case where the direction connecting the first feature point and the second feature point of the fish body is different from the predetermined direction, and the like. For example, if the direction of the line connecting one side and the other side facing each other horizontally in the image of underwater photography and the line connecting the first feature point and the second feature point of the fish for learning are different, the directions are the same.
  • the angle of the line connecting the first feature point and the second feature point may be corrected so that they are substantially the same. For example, in the fourth quadrant (x> 0, y ⁇ 0), if there is a fish facing left at coordinates P1 (2, -7) and P2 (7, -2) and pointing downward by 45 degrees, the correct answer data. In preparation for use as a fish, the fish may be rotated 45 degrees clockwise around the coordinate P2 so that the fish is horizontal (so that the values on the y-axis are aligned).
  • step S203 the learning unit 13 executes the learning process using only the images (correct answer data) of the fish facing the same direction.
  • Machine learning is performed using a convolutional neural network such as Alexnet.
  • the learning unit 13 uses the coordinates indicating the first rectangular range A1 and the direction of the fish (rightward or leftward) determined from the feature points P1 and P2 as correct answer data for generating the first learning model. Further, the learning unit 13 is included in the pixel value of each pixel in the first rectangular range A1 after being aligned to the left or right (for example, facing left), and in the circular range of the feature points P1, P2, P3, and P4.
  • the pixel value of the pixel of each coordinate may be used as the correct answer data for generating the second learning model.
  • the learning unit 13 trains the model to learn the correct answer data, and generates a first learning model for automatically identifying the rectangular range in which the fish appearing in the captured image fits and the direction (left or left) of the fish. Further, the learning unit 13 generates a second learning model for automatically identifying the feature points P1, P2, P3, and P4 of the fish appearing in the captured image converted in one of the left and right directions (for example, leftward).
  • the first learning model is for determining, for example, a determination result of whether or not the rectangular range set in the acquired new image is a rectangular range including only one fish, and a neural network for outputting the orientation of the fish body. It is a model of.
  • the range provided in the image is a range including the feature point P1, a range including the feature point P2, a range including the feature point P3, a range including the feature point P4, or a feature point.
  • This is a model for determining a neural network for outputting a determination result of whether or not the range does not include P1, P2, P3, and P4.
  • step S204 the learning unit 13 determines whether the information associated with the next fish body ID is recorded in the storage unit 10, and if there is the next fish body ID, the process is returned to step S201, and the learning unit 13 steps. The processes of S201 to S203 are executed. If there is no next fish ID, the process proceeds to step S205.
  • step S205 the learning unit 13 stores the generated first learning model and the second learning model in the storage unit 10.
  • the size estimation device 1 includes a first rectangular range A1 in which the fish in the image fits, a first learning model for determining the orientation of the fish, and a plurality of feature points P1, P2, P3 of the fish.
  • a second learning model that automatically recognizes P4 is generated.
  • step S301 the image acquisition unit 11 of the size estimation device 1 receives the image pairs (first image and second image) of the estimation target taken by the stereo camera 2 at predetermined intervals via the terminal 3.
  • the stereo camera 2 performs shooting at set intervals (for example, every second) from the start of shooting until a predetermined time elapses. Shooting ends after a predetermined time has elapsed.
  • the predetermined time is, for example, the time for one individual to rotate the cage once when the fish to be photographed migrates in one direction around the center of the cage.
  • the image acquisition unit 11 associates the first image and the second image and records them in the storage unit 10 as an image pair to be estimated. Specifically, the image acquisition unit 11 generates an ID for each of the acquired images (first image and second image) to be estimated, and associates the first image with its ID and the second image with its ID. The first image and the second image are associated with each other and newly recorded in the storage unit 10 as an image to be estimated. The image acquisition unit 11 stops the reception process when the transmission of the image from the terminal 3 is stopped. As a result, the pair of the first image and the second image of the estimation target generated at predetermined time intervals is recorded.
  • the captured image acquired by the image acquisition unit 11 may be an image constituting the moving image data, or may be the still image data itself.
  • the image acquisition unit 11 acquires each moving image data corresponding to the left and right lenses from the stereo camera 2, among the captured images constituting the respective moving image data, the captured images corresponding to the shooting times at predetermined intervals are selected from the fish.
  • the feature points may be sequentially acquired as targets for automatic recognition.
  • the time interval between the shooting times of the captured images constituting the moving image data may be, for example, the time during which the fish passes from the left and right ends to the other ends of the captured image on the rectangle.
  • the feature point estimation unit 15 estimates the feature points on the surface of one or more fish reflected in each image by using the images taken at such time intervals.
  • step S303 upon receiving the operator's operation or the notification of the completion of acquisition of the image of the size estimation target, the feature point estimation unit 15 starts the automatic recognition process of the feature points of the fish.
  • the feature point estimation unit 15 instructs the learning model acquisition unit 14 to acquire the learning model.
  • the learning model acquisition unit 14 acquires the first learning model and the second learning model recorded in the storage unit 10 and outputs them to the feature point estimation unit 15.
  • step S304 the feature point estimation unit 15 acquires one image pair (first image and second image) to be estimated from the storage unit 10.
  • step S305 the feature point estimation unit 15 starts the automatic recognition process using the neural network specified based on the first learning model, and surrounds the same individual fish reflected in both the first image and the second image.
  • the second rectangular range A2 is specified, and the orientation of the fish is further specified.
  • the same individual identification unit 16 performs a process of recognizing each of the fish bodies of the same individual reflected in the image pair (first image and second image).
  • the same individual identification unit 16 acquires the coordinates of the second rectangular range A2 specified in each of the first image and the second image from the feature point estimation unit 15 based on the processing request from the feature point estimation unit 15.
  • the same individual identification unit 16 has a predetermined range such that one of the one second rectangular range A2 specified from the first image and the one second rectangular range A2 specified from the second image overlaps with the other, such as 70%. Determine if it is greater than or equal to the threshold.
  • a known method such as a template matching method may be used for the determination. In this determination, when the same individual identification unit 16 overlaps with the other in either one of the second rectangular ranges A2 specified in the first image and the second image is equal to or greater than a predetermined threshold value, each of the second rectangular ranges A2 It is determined that each fish reflected in is the same individual.
  • the same individual identification unit 16 determines that the plurality of second rectangular ranges A2 recognized in either the first image or the second image are the one or the plurality of second rectangular ranges A2 recognized in the other.
  • the ranges may overlap above a predetermined threshold such as 70%.
  • a predetermined threshold such as 70%.
  • the combination of the second rectangular range A2 having the widest overlapping range is specified from each of the first image and the second image, and it is determined that each fish body reflected in the second rectangular range A2 is the same individual. You may try to do it.
  • step S306 when the orientation of the fish body is opposite to the correct answer data, each pixel in the second rectangular range A2 is horizontally inverted and the orientation of the fish body is converted to be the same as the correct answer data. If the orientation of the fish is the same as the correct answer data, the conversion is not performed.
  • the feature point estimation unit 15 specifies the circle range of the feature points P1, P2, P3, and P4 for each of the first image and the second image taken at the same time.
  • the feature point estimation unit 15 starts automatic recognition processing of feature points using each pixel of the second rectangular range A2 and a neural network specified based on the second learning model, and in the second rectangular range A2.
  • the circular range of the feature points P1, P2, P3, and P4 is specified.
  • FIG. 9 is a diagram showing an example of the result of the automatic recognition process. As shown in FIG. 9, the feature point estimation unit 15 identifies the second rectangular range A2 including any of the plurality of fish bodies shown in the captured image.
  • the feature point estimation unit 15 identifies feature points by estimation processing even in a captured image in which the head and tail fins are cut off at the top, bottom, left, and right edges of the image.
  • the feature point estimation unit 15 may specify the circle range of the specified feature points.
  • the data discarding unit 17 detects an estimation result including the feature points estimated outside the edge of the captured image based on the coordinates of the feature points, and when the relationship between the plurality of feature points is abnormal, for example. If it exceeds or is smaller than a predetermined threshold value, the data of the estimation result may be discarded.
  • the feature points may be specified by using the third rectangular range obtained by expanding the second rectangular range A2.
  • step S308 the feature point estimation unit 15 generates the fish body ID of the fish included in the second rectangular range A2 in the first image and the second image, and the feature points P1 and P2 specified in the fish body ID and each photographed image. , P3, P4, the representative coordinates (center point, etc.) of the circular range are recorded in the storage unit 10 as the automatic recognition result of the feature point of the fish.
  • step S309 the feature point estimation unit 15 determines whether the second rectangular range A2 including other fish bodies can be specified in the same image. As a result of the determination, if there is a second rectangular range A2 of another fish, the process is returned to step S305, and if there is no second rectangular range A2 of another fish, the process proceeds to step S310.
  • step S310 the feature point estimation unit 15 determines whether the next unprocessed image (for example, image ID) to be automatically recognized is stored in the storage unit 10. As a result of the determination, if the unprocessed image to be automatically recognized is in the storage unit 10, the process is returned to step S304, and if the unprocessed image to be automatically recognized is not in the storage unit 10, the automatic recognition process is performed. The process is completed and the process proceeds to step S311.
  • the next unprocessed image for example, image ID
  • the feature point estimation unit 15 specifies the second rectangular range A2-R1 in the first image (the image corresponding to the right lens). Further, the feature point estimation unit 15 identifies the feature points P1-R1, P2-R1, P3-R1, and P4-R1 in the image of the second rectangular range A2-R1. Further, the feature point estimation unit 15 specifies the second rectangular range A2-L1 in the second image (the image corresponding to the left lens) as shown in FIG. Further, the feature point estimation unit 15 identifies feature points P1-L1, P2-L1, P3-L1 and P4-L1 in the image of the second rectangular range A2-L1.
  • the feature point estimation unit 15 also identifies feature points of other fish appearing in the image to be estimated. Specifically, the feature point estimation unit 15 specifies the second rectangular range A2-R2 in the first image and the second rectangular range A2-L2 in the second image in the second automatic recognition process. Further, the feature point estimation unit 15 further sets the feature points P1-R2, P2-R2, P3-R2, and P4-R2 in the second rectangular range A2-R2, and the feature points P1-L2 in the second rectangular range A2-L2. Identify P2-L2, P3-L2, and P4-L2.
  • the feature point estimation unit 15 specifies the second rectangular range A2-R3 in the first image and the second rectangular range A2-L3 in the second image in the third automatic recognition process. Further, the feature point estimation unit 15 further sets the feature points P1-R3, P2-R3, P3-R3, and P4-R3 in the second rectangular range A2-R3, and the feature points P1-L3 in the second rectangular range A2-L3. P2-L3, P3-L3, P4-L3 are specified.
  • the feature point estimation unit 15 finishes the automatic recognition process for all the images to be estimated, the feature point estimation unit 15 shifts to the size estimation process of the following steps S311 to S317.
  • step S311 the size calculation unit 18 has the representative coordinates (for example, the center point) of the feature points P1, P2, P3, and P4 obtained from the corresponding first image and the features obtained from the second image for each fish body ID. Read the representative coordinates of points P1, P2, P3, and P4.
  • the size calculation unit 18 calculates the three-dimensional coordinates in the three-dimensional space of each feature point.
  • a technique of converting to known three-dimensional coordinates such as the DLT (Direct Linear Transformation) method is used.
  • DLT Direct Linear Transformation
  • a calibration coefficient representing the relationship between the coordinates of a point in the captured image and the actual two-dimensional and three-dimensional coordinates is calculated in advance, and this coefficient is used to create a three-dimensional space from the point in the captured image. Find the coordinates.
  • step S313 the size calculation unit 18 has a tail fork length connecting the three-dimensional coordinates of the feature point P1 and the three-dimensional coordinates of the feature point P2 based on the three-dimensional coordinates of each feature point, and 3 of the feature point P3.
  • the body height connecting the dimensional coordinates and the three-dimensional coordinates of the feature point P4 is calculated.
  • step S314 the size calculation unit 18 inputs the caudal ramus length and the body height as variables in the weight calculation formula for calculating the weight of the fish, and calculates the weight.
  • the data discarding unit 17 is based on the estimated value which is the calculation result of the tail fork length, the body height, and the weight calculated by the processing of the size calculating unit 18.
  • the estimated value may be discarded. For example, if the estimated value is not included in the range indicated by "mean value of estimated value + standard deviation x 2", the data discarding unit 17 may determine that the estimated value is not accurate.
  • the positional relationship of the feature points P1, P2, P3, and P4 of the automatic recognition processing result to be determined is significantly higher than the average positional relationship or the pre-registered reference positional relationship.
  • the information of the feature points P1, P2, P3, and P4 of the automatic recognition processing result may be discarded.
  • the data discarding unit 17 provides information on the feature points P1, P2, P3, and P4 of the automatic recognition processing result. May be discarded.
  • the data discarding unit 17 has the feature points P1, P2, P3, and P4 of the automatic recognition processing result. The information may be discarded.
  • step S315 the size calculation unit 18 determines whether or not the information indicating the size has been calculated for all the fish body IDs among the automatic recognition results of the feature points of the fish. As a result of the determination, if the information indicating the size of all fish IDs has been calculated, the process proceeds to step S316, and if the information indicating the size of all fish IDs has not been calculated, the process returns to step S311. Is done.
  • step S316 the output unit 19 calculates statistical information of fish inhabiting the cage based on the tail fork length, body height, and weight corresponding to all fish body IDs.
  • step S317 the output unit 19 outputs the calculated statistical information.
  • the output unit 19 generates statistical information calculated for the tail fork length, body height, and weight corresponding to all fish IDs, or output data created based on the statistical information, and is a display device to be viewed by the operator. Output to (shown).
  • the first rectangular range A1 of the right-pointing fish may be horizontally inverted and turned to the left as correct data, or may be discarded.
  • the first rectangular range A1 of the right-facing fish may be horizontally inverted to the left and then the left-facing estimation process may be performed or may be discarded.
  • the second learning model may be generated by generating two left-handed second learning models using left-pointing correct answer data and two right-handing second learning models using right-pointing correct answer data.
  • the feature points are estimated using the second learning model for the left when it is determined to be leftward by the first learning model and the second learning model for the right when it is determined to be rightward.
  • the left-right reversal process is unnecessary.
  • the size of the fish body can be estimated with high accuracy.
  • the learning unit 13 trains the learning model using only the images (correct answer data) of the fish bodies aligned in the same direction, and the feature point estimation unit 15 estimates the feature points of the fish body using the learning model.
  • the size calculation unit 18 calculates the size of the fish body based on the feature points.
  • the size estimation device 5 includes an estimation unit 51 (corresponding to the feature point estimation unit 15 in FIG. 3) and a calculation unit 52 (size calculation unit in FIG. 3). (Corresponding to 18).
  • the size estimation device 5 is the minimum configuration example of the size estimation device 1 in the first embodiment.
  • the estimation unit 51 is based on a learning model for learning the characteristics of the first aquatic organism that is oriented in one direction in the image to be photographed underwater, and the second aquatic organism that is oriented in one direction included in the image acquired from the outside.
  • the first feature point indicating one end on the one-way side of the above and the second feature point indicating the other end are estimated.
  • An example of the first aquatic organism to be learned is a fish body
  • an example of the second aquatic organism to be estimated is also a fish body.
  • One end on the one-way side may be the peripheral edge of the one end. Further, the other end portion may be the peripheral edge of the other end portion.
  • the estimation unit 51 may use two learning models (first learning model and second learning model) as the learning model.
  • the estimation unit 51 uses the first learning model to surround the same individual of the second aquatic organism that appears in both the first image and the second image in the second rectangular range A2 (see FIG. 9) and the second underwater.
  • the orientation of the organism is specified, and the feature points that specify the shape features of the second aquatic organism reflected in the second rectangular range A2 are estimated using the second learning model.
  • the feature points include at least a first feature point and a second feature point.
  • the first feature point is, for example, a point indicating the peripheral edge of one end on the head side (facing direction side) in the longitudinal direction of the second aquatic organism in the image.
  • the second characteristic point is, for example, a point indicating the peripheral edge of the other end opposite to the direction in which the second aquatic organism is facing.
  • the calculation unit 52 calculates information indicating the size of the second aquatic organism based on the feature points (information including the first feature point and the second feature point).
  • the feature points may include feature points indicating the surface of the fish other than the first feature point and the second feature point.
  • the information indicating the size is, for example, the length of the fork, the length of the body, the height of the body, and the weight.
  • the calculation unit 52 calculates, for example, the three-dimensional coordinates in the three-dimensional space of each feature point. For the calculation, a technique of converting to known three-dimensional coordinates such as the DLT (Direct Linear Transformation) method is used.
  • DLT Direct Linear Transformation
  • the calculation unit 52 calculates the tail fork length and the like connecting the three-dimensional coordinates of the first feature point and the three-dimensional coordinates of the second feature point based on the three-dimensional coordinates of the feature points. At this time, the body height may be calculated using other feature points.
  • the calculation unit 52 inputs information such as the length of the tail fork as a variable into the weight calculation formula for calculating the weight of the fish, and calculates the weight.
  • the size of aquatic organisms can be estimated with high accuracy.
  • the reason is that the estimation unit 51 learns the characteristics of the fish body facing in one direction in the image taken underwater, and the one-way side of the fish body facing in one direction included in the image acquired from the outside.
  • the first feature point indicating one end of the fish and the second feature point indicating the other end are estimated, and the calculation unit 52 estimates the size of the fish based on the information including the first feature point and the second feature point. This is because the information indicating the above is calculated.
  • the information processing device 500 includes the following configuration as an example.
  • a storage device 505 that stores the program 504 and other data.
  • Drive device 507 that reads and writes the recording medium 506.
  • -Communication interface 508 that connects to the communication network 509 -I / O interface 510 for inputting / outputting data -Bus 511 connecting each component
  • the program 504 that realizes the functions of each component of the size estimation device is stored in, for example, the storage device 505 or the RAM 503 in advance, and is read out by the CPU 501 as needed.
  • the program 504 may be supplied to the CPU 501 via the communication network 509, or may be stored in the recording medium 506 in advance, and the drive device 507 may read the program and supply the program to the CPU 501.
  • the size estimation device may be realized by any combination of an information processing device and a program that are separate for each component. Further, a plurality of components included in the size estimation device may be realized by any combination of one information processing device 500 and a program.
  • each component of the size estimation device is realized by other general-purpose or dedicated circuits, processors, etc. or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus.
  • a part or all of each component of the size estimation device may be realized by a combination of the above-mentioned circuit or the like and a program.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed. May be done.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • Size estimation device 2 Stereo camera 3 Terminal 4 Interface 5 Size estimation device 10
  • Storage unit 11 Image acquisition unit 12 Feature designation reception unit 13 Learning unit 14 Learning model acquisition unit 15 Feature point estimation unit 16 Same individual identification unit 17 Data discard Unit 18 Calculation unit 19
  • Output unit 51 Estimating unit 52 Calculation unit 100 Size estimation system 104
  • Communication module 500 Information processing device 504 Program 505 Storage device 506 Recording medium 507 Drive device 508 Communication interface 509 Communication network 510 Input / output interface 511 Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Zoology (AREA)
  • Environmental Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Animal Husbandry (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

水中生物の大きさを高い精度で推定することができる大きさ推定装置等を提供する。大きさ推定装置5は、推定部51および算出部52を備える。推定部51は、水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる一方向を向く第2水中生物体の一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定する。算出部52は、第1特徴点および第2特徴点を含む情報を基に、第2水中生物体の大きさを示す情報を算出する。

Description

大きさ推定装置、大きさ推定方法および記憶媒体
 本発明は、水中生物の大きさを推定するための大きさ推定装置等に関する。
 水中生物を監視するシステムの開発が求められている。このようなシステムは、生簀内で育成される水中生物(例えば、魚類)の大きさを推定して出荷の時期を判断したり、海や川などに生育する水中生物の状態を検出したりする。特許文献1は、魚の長さの推定に関する技術を開示する。
国際公開第2019/045089号
 特許文献1は、複数の魚が撮影された画像において、一個体の魚体を矩形領域で特定し、特定された魚体のうちの特徴部位(魚体の頭および尾)の空間座標を特定し、当該空間座標の間隔を検出して魚体の長さを算出する技術を開示する。しかしながらこの方法では、撮影された画像中にさまざまな向きの魚体が混在している場合は精度の高い推定ができないという問題がある。
  本開示は上記問題点に鑑みてなされたものであり、水中生物の大きさを高い精度で推定することができる大きさ推定装置等を提供することを目的の1つとする。
 上記問題点を鑑みて、本開示の第1の観点である大きさ推定装置は、
 水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定する推定部と、
 第1特徴点および第2特徴点を含む情報を基に、第2水中生物体の大きさを示す情報を算出する算出部
とを備える。
 本開示の第2の観点である大きさ推定システムは、
 上記に記載の大きさ推定装置と、
 水中において第1水中生物体を含む画像および第2水中生物体を含む画像を撮影し、大きさ推定装置に送信する一つ以上のカメラ
を備える。
 本開示の第3の観点である大きさ推定方法は、
 水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定し、
 前記第1特徴点および前記第2特徴点を含む情報を基に、前記第2水中生物体の大きさを示す情報を算出する。
 本開示の第4の観点である大きさ推定プログラムは、
 水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定し、
 前記第1特徴点および前記第2特徴点を含む情報を基に、前記第2水中生物体の大きさを示す情報を算出する
ことをコンピュータに実現させる。
 大きさ推定プログラムは、コンピュータが読み書き可能な非一時的な記憶媒体に格納されていても良い。
 本発明によれば、水中生物の大きさを高い精度で推定することができる大きさ推定装置等を提供することができる。
本開示の第1実施形態に係る大きさ推定システムの構成例を示すブロック図である。 端末の構成例を示すブロック図である。 本開示の第1実施形態に係る大きさ推定装置の構成例を示すブロック図である。 ステレオカメラによって撮影される魚の画像の一例を示す図である。 本開示の第1実施形態に係る大きさ推定装置の動作を示すフローチャートである。 撮影された第1入力画像および第1入力画像内の第1矩形範囲を示す図である。 本開示の第1実施形態に係る大きさ推定装置の動作を示すフローチャートである。 本開示の第1実施形態に係る大きさ推定装置の動作を示すフローチャートである。 第1入力画像内の第1矩形範囲における魚の表面の特徴点を示す図である。 ペア画像の第1矩形範囲における魚の表面の特徴点を示す図である。 ペア画像の第1矩形範囲における複数の魚の表面の特徴点を示す図である。 本開示の第2実施形態に係る大きさ推定装置の構成例を示すブロック図である。 各実施形態において適用可能な情報処理装置の構成例を示すブロック図である。
 海や川に生息する水中生物は陸上生物と異なりその観測が困難であるが、水中での観測を必要とする場合がある。例えば、魚の養殖業において、養殖中である魚の観測や大きさの推定は、水揚げ時期の判断や、餌やりの量の判断において必要である。ここで水中生物とは、魚類、甲殻類等の水中に生息する生物を指すが、以下の各実施形態においては一例として魚について説明する。
 よって、本開示の各実施形態においては、水中における魚の大きさ推定を高精度で行う手法について説明する。本開示においては、魚の大きさ推定において、魚の撮影画像から魚の向き(右、左)を認識させ、当該向きを揃えた正解データを用いて機械学習された学習モデルを使用して大きさ推定を行う。このため、学習モデル(第1および第2の学習モデル)の学習時には、第1学習モデルは魚を囲む矩形と魚の向きとを推定できるよう学習し、第2学習モデルは一つの向き、例えば左向き魚の撮影画像(正解データ)のみを使用して魚の体の特徴点を推定するよう学習する。学習済みの学習モデルを用いた魚の大きさ推定においては、第1学習モデルによって魚の撮影画像から魚を囲む矩形と魚の向きとを推定し、第2学習モデルによって当該魚の向きである魚体の特徴点を推定する。第1学習モデルは、ペア画像のうち、第1画像に映る魚体と第2画像に映る魚体とが同一個体を示す魚体であるように機械学習によって調整されることが好ましい。
 このように魚の向きを揃えた状態で学習処理および推定処理を実行することにより、魚の向きが混在した状態で当該学習処理等を実行する場合と比べて、より高い精度での大きさ推定が可能になる。
 尚、第2学習モデルにおいて、もう片方の向き、即ち右向きについては右向きの魚の撮影画像のみを正解データとして同様に学習してもよいし、右向きの魚の画像は正解データではないとして廃棄してもよい。さらに第2学習モデルにおいて、左向きの学習の場合は左向きの魚の画像のみを用いるのが好ましいが、右向きの魚の画像を水平方向に左右反転させて左向きの魚の画像に加工してから、正解データとして用いても良い。同様に、右向きの学習の場合は右向きの魚の画像のみを用いるのが好ましいが、左向きの魚の画像を水平方向に左右反転させて右向きの魚の画像に加工してから、正解データとして用いても良い。
 以下、各実施形態について詳細に説明する。
 <第1の実施形態>
 (大きさ推定システム)
 以下、本開示の第1の実施形態による大きさ推定システム100について図面を参照して説明する。
 図1は大きさ推定システム100の概略構成を示す図である。図1で示すように大きさ推定システム100は、大きさ推定装置1、ステレオカメラ2および端末3を備える。
 ステレオカメラ2は水中において魚の画像を撮影する。ステレオカメラ2は左右2つのレンズを備え、これらのレンズは所定距離をおいて固定して配置される。ステレオカメラ2は、これらのレンズで同時に二つの画像を撮影するため、角度が若干ずれたペアの画像(左画像、右画像)が撮影できる。尚、魚を撮影するカメラは、ステレオカメラ2に限定されず、生簀4内で生育される魚の画像が2つ以上撮影できるように水中に固定して配置された単レンズのカメラ2台であってもよい。
 端末3は、ステレオカメラ2と大きさ推定装置1との間に設置され、双方と通信可能に接続される。通信は有線であっても無線であってもよい。端末3はステレオカメラ2が撮影する画像を大きさ推定装置1に転送する。また端末3はプログラムに従いステレオカメラ2への撮影指示を実行する。図2は端末3のハードウェア構成の一例を示す図である。端末3は、画像転送や撮影指示の制御を行うCPU(Central Processing Unit)101と、プログラムなどを格納するROM(Read Only Memory)102と、一時記憶メモリであるRAM(Random Access Memory)103と、ステレオカメラ2が撮影した画像を一時保存するデータベース104と、大きさ推定装置1と通信を行う通信モジュール105とを少なくとも備える。
 (大きさ推定装置)
 大きさ推定装置1は、魚の画像を基に学習モデルを生成する処理と、生成された学習モデルを用いて魚の大きさを推定する処理とを実行する。図3は大きさ推定装置1の機能ブロックの一例を示す図である。大きさ推定装置1は、記憶部10、画像取得部11、特徴指定受付部12、学習部13、学習モデル取得部14、特徴点推定部15、同一個体特定部16、データ破棄部17、大きさ算出部18および出力部19を備える。
 記憶部10は、ステレオカメラ2が撮影した画像、当該画像から学習された学習モデルなどを格納する。
 画像取得部11は、ステレオカメラ2が撮影した画像またはデータベース104に一時格納される画像を端末3を介して取得し、記憶部10に格納する。図4はステレオカメラ2が撮影する画像の一例を示す図である。撮影された画像には複数の魚が撮影されている場合が多い。ステレオカメラ2は、左右2つのレンズの各々に入射した光を撮像素子で捉え、各レンズに対応する2つの撮影画像を同タイミングで所定の時間間隔(例えば1秒ごと)にて撮影する。撮影されたペア画像のうち、右側レンズで撮影された画像を第1画像、左側レンズで撮影された画像を第2画像とも称呼する。図4は第1画像と第2画像のうちのいずれか一方の撮影画像を示す。ステレオカメラ2の左右のレンズ位置が異なることにより、第1画像と第2画像に映る同一の魚の個体の位置は、各画像中において僅かに異なる。ステレオカメラ2は、例えば10秒間のみ連続撮影して数枚、数十枚のペア画像を生成してもよいし、1秒毎に撮影してペア画像を生成してもよい。画像取得部11は、端末3を介してペア画像を取得すると、ペア画像の画像取得部11における取得時刻およびペア画像のステレオカメラ2における撮影時刻を、第1画像および第2画像に各々紐づけて記憶部10へ格納してもよい。
 特徴指定受付部12は、当該画像に映る魚一体が収まる矩形範囲や当該魚一体の表面における複数の特徴点の入力を受け付ける。尚、矩形範囲とは魚体を囲む範囲の一例であり、矩形に限定されない。例えば、円、楕円であってもよい。
 学習部13は、ある一方向を向く魚体(第1水中生物体)を複数含む画像を用いて、魚体の長手方向における当該ある一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点含む特徴点を学習する学習モデルを生成する。尚、学習対象の魚体を第1水中生物体とも称呼する。ここで一方向を向くとは、図4に示すように、魚体が一つの方向(図4では画像の左辺を向く方向)を向いていることを指す。また、本実施形態においては、図4の魚体のようにある画像の左辺を向いていることを左向きと記載し、図4の魚体とは逆向き、即ち、ある画像の右辺を向いていることを右向きと記載する。学習部13は、学習モデルとして、学習対象の魚体を囲む範囲および学習対象の魚体の向きを推定するための第1学習モデルと、学習対象の魚体の第1特徴点および第2特徴点を少なくとも推定するための第2学習モデルとを学習する。学習部13は、画像取得部11から受信する画像と、当該画像に映る魚の形状を特定するための特徴点とに基づいて機械学習を行い、第1学習モデルおよび第2学習モデルを生成する。
 学習部13は、第1学習モデルが、魚を囲む矩形と魚の向きとを推定するように学習する。さらに学習部13は、例えば左向き魚の撮影画像(正解データ)のみを使用して、第2学習モデルが左向きの魚の体の特徴点を推定するよう学習する。学習部13は、もう片方の向き、即ち右向きについても右向きの魚の撮影画像のみを使用して同様に第2学習モデルが右向きの魚の体の特徴点を推定するよう学習してもよい。第2学習モデルは右向き用または左向き用のいずれかのみについて学習しても良いし、右向き用と左向き用との二種類について学習してもよい。
 学習モデル取得部14は、大きさ推定処理の開始時などに、学習部13によって生成された第1および第2学習モデルを取得する。
 特徴点推定部15は、水中を撮影する画像内において一方向を向く魚体(第1水中生物体)の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる当該一方向を向く魚体(第2水中生物体)の当該一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定する。推定対象の魚体を第2水中生物体とも称呼する。一方向側の一つの端部とは、当該一つの端部の周縁であってもよい。また他の端部とは、当該他の端部の周縁であってもよい。具体的に、特徴点推定部15は、第1学習モデルを用いて第1画像と第2画像のいずれにも映る魚の同一個体を囲む第2矩形範囲A2(図9)と魚体の向きを特定し、第2学習モデルを用いて第2矩形範囲A2に映る魚の形状特徴を特定する特徴点を推定する。特徴点推定部15は、外部より取得する画像に含まれる推定対象の魚体が所定の一方向を向いてない場合、推定対象の魚体の向きを所定の一方向に変換する。更に特徴点推定部15は、推定対象の魚体の長手方向における第1特徴点および第2特徴点と、当該魚体の長手方向に対する短手方向における一つの端部を示す第3特徴点および他の端部を示す第4特徴点とを推定する。
 同一個体特定部16は、記憶部10からステレオカメラ2が撮影したペアの画像を取得し、当該ペアの画像内のどちらにも含まれる同一個体(対象の魚)を特定する。尚、画像に複数の魚が移っている場合、当該複数の魚の各々について特定する。同一個体特定部16は、特徴点推定部15からの処理要求に基づいて、同一個体を特定し、特定された同一個体を特徴点推定部15に返信する。
 データ破棄部17は、第2学習モデルを用いた自動認識処理により確定したある魚における複数の特徴点の各々の関係が異常である、例えば所定の閾値を超えるまたは閾値より低い場合に、その推定結果を破棄する。データ廃棄部17は、様々なタイミングで対象魚体が写る画像を取得し、当該画像の廃棄処理を行ってよい。例えば、データ廃棄部17は、特徴点推定部15による画像の推定結果を受け取り、当該推定結果が所定条件を満たすか判定し、判定結果を基に廃棄処理を行う。詳細は後述する。
 大きさ算出部18は、画像内の魚の特徴点(後述する第1乃至第4特徴点)に基づいて当該魚の大きさを示す情報を算出する。大きさを示す情報とは、例えば、尾叉長、体長、体高、重量である。
 出力部19は、大きさ算出部18の算出した大きさを示す情報に基づいて出力情報を生成し、その出力情報を所定の出力先、例えばオペレータの閲覧するディスプレイモニタ(不図示)などに出力する。
 (大きさ推定装置の動作)
 大きさ推定システム100における大きさ推定装置1の動作について説明する。大きさ推定装置1の動作は、「1.学習用画像の加工処理」、「2.学習用画像を用いた学習処理」、「3.学習されたモデルを用いた大きさ推定処理」の3つに分けられる。以下、これら3つの動作について説明する。
 ((学習用画像の加工処理))
 大きさ推定装置1における学習用画像の加工処理について図5のフローチャートを参照して説明する。
 ステップS101において、大きさ推定装置1の画像取得部11は、端末3を介してステレオカメラ2が撮影した画像を順次取得する。画像取得部11はステレオカメラ2が同時刻に撮影したペア画像(第1画像および第2画像)を順次取得する。取得すべき画像の量は、第1学習モデルおよび第2学習モデルが生成可能な程度の量である。
 ステップS102において、画像取得部11は取得した画像にIDを紐づけて記憶部10に記録する。具体的に、画像取得部11は、第1画像および第2画像の各々にIDを生成する。画像取得部11は第1画像とそのID(例えばG1-R)、第2画像とそのID(例えばG1-L)を紐づけると共に、同時刻に生成された第1画像と第2画像をペアとして紐づけて記憶部10に格納する。画像取得部11は、このペア画像に、当該ペア画像が撮影された時刻および画像取得部11が当該ペア画像を取得した時刻を紐づけて、記憶部10に格納してもよい。
 ステップS103において、特徴指定受付部12はオペレータから学習に使用する画像IDの指定を受け付ける。例えば、複数の画像のサムネイル画像をオペレータの閲覧するディスプレイモニタ(不図示)に提示し、オペレータに選択を促す。特徴指定受付部12、選択された画像のIDを受け付けると、記憶部10から当該IDに紐づけられた画像を取得する。
 ステップS104において、特徴指定受付部12は、入力アプリケーション画面をオペレータの閲覧するディスプレイモニタ(不図示)に出力して、オペレータに入力を促す。具体的に、特徴指定受付部12は、入力アプリケーション画面上にオペレータにより指定された画像である第1入力画像G1(図6参照)を表示する。オペレータは第1入力画像G1において1個体の魚全体が含まれるよう第1矩形範囲A1を指定する。当該指定はマウス、タッチパネル等の入力インターフェースを用いて行われる。特徴指定受付部12は入力アプリケーション画面上に第1矩形範囲を拡大した画像である第2入力画像A1(図6参照)を提示し、オペレータに特徴点の入力を促す。オペレータは入力インターフェースを用いて、第2入力画像A1において魚の形状特徴を特定するための第1特徴点、第2特徴点、第3特徴点および第4特徴点(以下、特徴点P1、P2、P3、P4とも記載する)を指定する。P1は、画像中の魚体の長手方向における頭部側(向いている方向側)一端の周縁を示す点である。P2は、魚体の向いている方向と逆側の他端の周縁を示す点である。P3は、魚体の短手方向における一端の周縁を示す点である。P4は、魚体の短手方向における他端の周縁を示す点である。
 具体的には、特徴点P1、P2、P3、P4は、特徴点を中心とする円の内側の領域(以下、円範囲とも記載。図6参照)であってよい。P1は口先端位置を示す特徴点の円範囲、P2は尾びれが二又に分かれる中央凹み部の外縁の位置を示す特徴点の円範囲、P3は背びれ前方付け根位置を示す特徴点の円範囲、P4は腹びれ前方付け根位置を示す特徴点の円範囲である。なお、円範囲の大きさは規定されていても、オペレータによって設定可能であっても良い。
 ステップS105において、特徴指定受付部12は、指定された第1矩形範囲A1を示す座標(例えばA1の四隅の各座標)と、指定された特徴点P1、P2、P3、P4の円範囲を示す座標(例えば各円範囲の中心座標であってもよい)と、それらの情報が指定されている画像のIDと、当該画像内の魚一体を識別するための魚体IDとを紐づけて、記憶部10に格納する。尚、これらのデータのセットは魚体IDを主キーとして、記録されることが好ましい。これは撮影された画像には複数の魚が撮影されている場合が多く、魚を主キーとした方が、検索が容易であるからである。
 オペレータは、ペア画像の各々に撮影されている複数の魚の各々について、ステップS103~S105の処理を繰り返す。
 最後にステップS106において、特徴指定受付部12は、1つの画像に撮影されている複数の魚の各々についてのオペレータの指定処理が終了したかを判定し、終了と判定されると本フローチャートの動作を終了する。
 以上で、大きさ推定装置1による学習用画像の加工処理を終了する。
 ((学習用画像を用いた学習処理))
 大きさ推定装置1による学習用画像を用いた学習処理について図7のフローチャートを参照して説明する。以下の説明においては、オペレータが必要とする全ての画像について上記の加工処理が終了した後に、学習処理が行われるものとして説明する。尚、以下においては左向き魚体のデータセットを用いて学習することを前提に説明する。
 ステップS201において、学習部13は記憶部10に格納されている魚体IDの一つを選択し、選択された魚体IDに紐づくデータセットを取得する。当該データセットは、画像ID、第1矩形範囲A1を示す座標、特徴点P1、P2、P3、P4の円範囲を示す座標である。
 ステップS202において、学習部13は、特徴点P1、P2の水平方向の座標の値の大小から魚が左右どちらの方向を向いているかを判別する。学習部13は、特徴点P1が特徴点P2から相対的に見て左側に位置していると当該魚は左向きと判断し、特徴点P1が特徴点P2から相対的に見て右側に位置していると当該魚は右向きと判断する。例えば、第1入力画像G1(または第1矩形範囲A1)の左上を原点とする第四象限(x>0、y<0)において、P1が座標(2、-4)、P2が座標(7、-4)であると、学習部13は、x座標の絶対値が小さい座標P1が魚の頭部、即ち魚が向いている方向であると判断する。学習部13は座標値を基に魚の向きを判別し、左向きと判別すると、選択された魚体IDに対応する画像が左向き学習用画像(正解データ)と判定する。学習部13は座標値を基に魚の向きを判別し、右向きと判別すると、選択された魚体IDに対応する画像が右向き学習用画像(正解データ)と判定する。尚、いずれか片方(例えば左)のみを学習する場合、学習部13は、左向き学習用画像ではないと判定した画像(右画像)を廃棄しても良い。尚、生簀内を一方向に回遊する魚の場合、学習部13は、当該一方向のみの正解データを収集してもよい。原則として、左向きの学習の場合には、左向きと判定された魚体IDのデータセットのみを、右向きの学習の場合には、右向きと判定された魚体IDのデータセットのみを使用することが好ましい。
 尚、正解データを増やしたい場合に、逆向きの魚体IDのデータセットを使用することも可能である。この場合、逆向き魚体の第1矩形範囲A1の画像および特徴点P1、P2、P3、P4の座標を水平方向に左右反転させて、正解データと同方向の画像および座標に変換して、学習用画像とする。
 尚、学習部13は、複数の学習対象の魚体の向きにばらつきがある場合、ある一方向のうちの所定の方向を向くように学習対象の魚体の向きを補正する。ここで魚体の向きのばらつきとは、魚体の方向が所定の方向とは異なる場合や、魚体の第1特徴点と第2特徴点を結んだ方向が所定の方向とは異なる場合などを指す。例えば、水中を撮影する画像内における一辺と対向する他辺を水平に結ぶ線と、学習用の魚体の第1特徴点および第2特徴点を結ぶ線との方向が異なる場合、当該方向が同一または略同一となるように第1特徴点および第2特徴点を結ぶ線の角度を補正してもよい。例えば、第四象限(x>0、y<0)において、座標P1(2、-7)、座標P2(7、-2)で左向きで45度下方を向いている魚がいる場合、正解データとして使用する準備として、魚体が水平になるように(y軸の値を揃えるように)座標P2を中心に45度時計回りに回転させてもよい。
 ステップS203において、学習部13は同一方向を向いた魚の画像(正解データ)のみを使用して学習処理を実行する。機械学習は、Alexnet等の畳み込みニューラルネットワークを用いて実行される。学習部13は、第1矩形範囲A1を示す座標および特徴点P1,P2から判定した魚の向き(右向きまたは左向き)を、第1学習モデルを生成するための正解データとする。さらに、学習部13は、左右いずれか(例えば左向き)に揃えた後の当該第1矩形範囲A1内の各画素の画素値、および、特徴点P1、P2、P3、P4の円範囲に含まれる各座標の画素の画素値を、第2学習モデルを生成するための正解データとしてもよい。学習部13は、正解データをモデルに学習させ、撮影画像に映る魚一体が収まる矩形範囲および魚の向き(左または左)を自動特定するための第1学習モデルを生成する。また学習部13は左右の一方向(例えば左向き)に変換された撮影画像に映る魚の一体の特徴点P1、P2、P3、P4を自動特定するための第2学習モデルを生成する。第1学習モデルは、例えば取得した新たな画像中に設定する矩形範囲が、魚一体のみを含む矩形範囲であるか否かの判定結果および魚体の向きを出力するためのニューラルネットワークを決定するためのモデルである。また第2学習モデルは例えば画像中に設けた範囲が特徴点P1を含む範囲か、特徴点P2を含む範囲か、特徴点P3を含む範囲か、特徴点P4を含む範囲か、または、特徴点P1、P2、P3、P4を含まない範囲かの判定結果を出力するためのニューラルネットワークを決定するためのモデルである。
 ステップS204において、学習部13は次の魚体IDに紐づく情報が記憶部10に記録されているかを判定し、次の魚体IDがある場合、処理はステップS201に戻され、学習部13はステップS201~S203の処理を実行する。次の魚体IDがない場合、処理はステップS205に進められる。
 ステップS205において、学習部13は、生成した第1学習モデルと第2学習モデルとを記憶部10に格納する。
 以上の処理により大きさ推定装置1は、画像中の魚一体が収まる第1矩形範囲A1とその魚体の向きを判断する第1学習モデル、当該魚一体の複数の特徴点P1、P2、P3、P4とを自動認識する第2学習モデルを生成する。
 以上で、大きさ推定装置1による学習用画像を用いた学習処理を終了する。
 ((学習されたモデルを用いた大きさ推定処理))
 大きさ推定装置1による学習されたモデルを用いた大きさ推定処理について図8のフローチャートを参照して説明する。
 ステップS301において、大きさ推定装置1の画像取得部11は、ステレオカメラ2によって所定間隔で撮影された推定対象の画像ペア(第1画像および第2画像)を、端末3を介して受信する。ステレオカメラ2は、例えば、撮影開始から所定時間経過するまでの間、設定された間隔毎(例えば1秒毎)に撮影を行う。所定時間経過後撮影は終了される。ここで所定時間とは、例えば、撮影対象である魚が生簀の中心を軸に一方向に回遊する場合、一個体が生簀を一回転する時間である。
 ステップS302において、画像取得部11は第1画像と第2画像を紐づけて推定対象の画像ペアとして記憶部10に記録する。具体的に画像取得部11は、取得した推定対象の画像(第1画像および第2画像)の其々にIDを生成し、第1画像とそのID、第2画像とそのIDを紐づけると共に第1画像と第2画像を紐づけて、推定対象の画像として新たに記憶部10に記録する。画像取得部11は、端末3からの画像の送信が停止すると受信処理を停止する。これにより所定の時間間隔で生成された推定対象の第1画像と第2画像とのペアが記録される。画像取得部11が取得する撮影画像は動画像データを構成する画像であってもよいし、静止画像データそのものであってもよい。
 画像取得部11はステレオカメラ2から左右のレンズに対応する各動画像データを取得する際、それぞれの動画像データを構成する撮影画像のうち、所定間隔の撮影時刻に対応する撮影画像を、魚の特徴点の自動認識対象として順次取得してよい。動画像データを構成する撮影画像の撮影時刻の間隔の時間は、例えば、魚が矩形上の撮影画像の左右の一端から他端まで通り過ぎる時間であってよい。特徴点推定部15は、このような時間間隔で撮影された画像を用いて各画像に映る一匹以上の魚の表面の特徴点をそれぞれ推定する。
 ステップS303において、オペレータの操作または大きさ推定対象の画像の取得完了の通知を受けると、特徴点推定部15は、魚の特徴点の自動認識処理を開始する。特徴点推定部15は学習モデル取得部14に学習モデルの取得を指示する。学習モデル取得部14は記憶部10に記録されている第1学習モデルと第2学習モデルとを取得して特徴点推定部15に出力する。
 ステップS304において、特徴点推定部15は、記憶部10から推定対象の画像ペア(第1画像および第2画像)を1つ取得する。
 ステップS305において、特徴点推定部15は、第1学習モデルに基づいて特定されたニューラルネットワークを用いた自動認識処理を開始し、第1画像と第2画像のいずれにも映る魚の同一個体を囲む第2矩形範囲A2をそれぞれ特定し、さらに魚体の向きを特定する。尚、画像ペア(第1画像および第2画像)において映る同一個体の魚体をそれぞれ認識する処理は同一個体特定部16が行う。同一個体特定部16は特徴点推定部15からの処理要求に基づいて、第1画像と第2画像とのそれぞれにおいて特定された第2矩形範囲A2の座標を特徴点推定部15から取得する。同一個体特定部16は第1画像から特定した1つの第2矩形範囲A2と、第2画像から特定した1つの第2矩形範囲A2との何れか一方において他方と重なる範囲が70%などの所定閾値以上であるかを判定する。判定にはテンプレートマッチング手法などの既知の方法を用いてよい。同一個体特定部16はこの判定において、第1画像と第2画像において特定した各第2矩形範囲A2の何れか一方において他方と重なる範囲が所定閾値以上である場合、それら各第2矩形範囲A2に映る各魚体は同一個体であると判定する。また同一個体特定部16はこの判定において、第1画像と第2画像の何れか一方において認識した複数の第2矩形範囲A2が、他方において認識した一つまたは複数の第2矩形範囲A2と、70%等の所定の閾値以上で範囲が重なっている場合がある。このような場合には、最も重なる範囲が広い第2矩形範囲A2の組み合わせを、第1画像と第2画像それぞれから特定し、それら第2矩形範囲A2に映る各魚体が同一個体であると判定するようにしてよい。
 ステップS306において、魚体の向きが正解データと逆向きの場合は第2矩形範囲A2の各画素を水平方向に左右反転し魚体の向きを正解データと同じ向きになるように変換する。魚体の向きが正解データと同じ向きの場合は、当該変換は行わない。
 ステップS307において、特徴点推定部15は特徴点P1、P2、P3、P4の円範囲の特定を、同時刻に撮影された第1画像と第2画像とのそれぞれについて行う。特徴点推定部15は、第2矩形範囲A2の各画素と、第2学習モデルに基づいて特定されるニューラルネットワークとを用いた特徴点の自動認識処理を開始し、当該第2矩形範囲A2における特徴点P1、P2、P3、P4の円範囲を特定する。図9は自動認識処理の結果の例を示す図である。図9で示すように、特徴点推定部15は、撮影画像に映る複数の魚体のうちの何れかの魚体を含む第2矩形範囲A2を特定する。特徴点推定部15は、画像の上下左右の端部において頭や尾びれが切れている撮影画像においても推定処理によって特徴点を特定する。特徴点推定部15は、特定された特徴点の円範囲を特定しても良い。
 データ破棄部17は、撮影画像の端部の外に推定された特徴点を含む推定結果を特徴点の座標に基づいて検出し、当該複数の特徴点の各々の関係が異常である場合、例えば所定の閾値を超えるまたは閾値より小さい場合には、その推定結果のデータを破棄してもよい。
 尚、第2矩形範囲A2が小さい場合、第2矩形範囲A2を拡大した第3矩形範囲を用いて特徴点の特定を行っても良い。
 ステップS308において、特徴点推定部15は、第1画像および第2画像内の第2矩形範囲A2に含まれる魚の魚体IDを生成し、その魚体IDと各撮影画像において特定した特徴点P1、P2、P3、P4の円範囲の代表座標(中心点など)を、魚の特徴点の自動認識結果として記憶部10に記録する。
 ステップS309において、特徴点推定部15は、同一画像内において他の魚体を含む第2矩形範囲A2が特定できるかを判定する。判定の結果、他の魚の第2矩形範囲A2がある場合処理はステップS305に戻され、他の魚の第2矩形範囲A2がない場合処理はステップS310に進められる。
 ステップS310において、特徴点推定部15は、次の未処理の自動認識処理対象の画像(例えば画像ID)が記憶部10に格納されているかを判定する。判定の結果、未処理の自動認識処理対象の画像が記憶部10にある場合、処理はステップS304に戻され、未処理の自動認識処理対象の画像が記憶部10にない場合、自動認識処理を終了し、処理はステップS311に進められる。
 ここで1回目の自動認識処理の結果を図10に示す。特徴点推定部15は、図10で示すように第1画像(右レンズに対応する画像)において第2矩形範囲A2-R1を特定する。また特徴点推定部15は、第2矩形範囲A2-R1の画像において、特徴点P1-R1、P2-R1、P3-R1、P4-R1を特定する。また特徴点推定部15は、図10で示すように第2画像(左レンズに対応する画像)において第2矩形範囲A2-L1を特定する。また特徴点推定部15は、第2矩形範囲A2-L1の画像において、特徴点P1-L1、P2-L1、P3-L1、P4-L1を特定する。
 ここで2回目、3回目の自動認識処理の結果を図11に示す。特徴点推定部15は、推定対象の画像内に映る他の魚の特徴点も特定する。具体的には特徴点推定部15は、2回目の自動認識処理において、第1画像内の第2矩形範囲A2-R2、第2画像内の第2矩形範囲A2-L2を特定する。また特徴点推定部15は、さらに第2矩形範囲A2-R2において特徴点P1-R2、P2-R2、P3-R2、P4-R2を、第2矩形範囲A2-L2において特徴点P1-L2、P2-L2、P3-L2、P4-L2を特定する。また特徴点推定部15は、3回目の自動認識処理において、第1画像内の第2矩形範囲A2-R3、第2画像内の第2矩形範囲A2-L3を特定する。また特徴点推定部15は、さらに第2矩形範囲A2-R3において特徴点P1-R3、P2-R3、P3-R3、P4-R3を、第2矩形範囲A2-L3において特徴点P1-L3、P2-L3、P3-L3、P4-L3を特定する。特徴点推定部15は、全ての推定対象の画像において自動認識処理を終了すると、以下のステップS311~S317の大きさ推定処理に移行する。
 ステップS311において、大きさ算出部18は、魚体IDごとに、対応する第1画像から得た特徴点P1、P2、P3、P4の代表座標(例えば中心点)と、第2画像から得た特徴点P1、P2、P3、P4の代表座標とを読み取る。
 ステップS312において、大きさ算出部18は、特徴点それぞれの3次元空間における3次元座標を算出する。算出にはDLT(Direct Linear Transformation)法などの公知の3次元座標へ換算する技術が用いられる。DLT法では、撮影された画像中における点の座標と実際の2次元および3次元座標との関係を表す較正係数をあらかじめ計算しておき、この係数を用いて撮影画像内の点から3次元空間座標を求める。
 ステップS313において、大きさ算出部18は、各特徴点の3次元座標に基づいて、特徴点P1の3次元座標と特徴点P2の3次元座標とを結ぶ尾叉長と、特徴点P3の3次元座標と特徴点P4の3次元座標とを結ぶ体高とを算出する。
 ステップS314において、大きさ算出部18は、魚の重量を算出する重量算出式に、尾叉長と体高とを変数として入力し、重量を算出する。
 尚、データ破棄部17は、大きさ算出部18の処理によって算出された尾叉長、体高、重量の算出結果である推定値に基づいて、当該推定値が所定の条件に合わない場合は、推定値を破棄するようにしてもよい。例えばデータ破棄部17は、推定値が「推定値の平均値+標準偏差×2」の示す範囲に含まれない場合には、その推定値は正確でないと判定してよい。データ破棄部17は、判定対象となる自動認識処理結果の特徴点P1、P2、P3、P4の位置関係が、平均の位置関係や事前に登録されている基準となる位置関係と比較して著しく乖離している場合には、その自動認識処理結果の特徴点P1、P2、P3、P4の情報を破棄するようにしてもよい。データ破棄部17は、P1とP2とを結ぶ尾叉長線より腹びれの特徴点P4が撮影画像の上方に位置する場合には、自動認識処理結果の特徴点P1、P2、P3、P4の情報を破棄してもよい。データ破棄部17は、尾叉長と体高比が、平均値や基準値と比較して例えば20%以上乖離している場合には、自動認識処理結果の特徴点P1、P2、P3、P4の情報を破棄してもよい。
 ステップS315において、大きさ算出部18は、魚の特徴点の自動認識結果のうち全ての魚体IDについて大きさを示す情報を算出したかを判定する。判定の結果、全ての魚体IDについて大きさを示す情報を算出していれば処理はステップS316に進められ、全ての魚体IDについて大きさを示す情報を算出していなければ処理はステップS311に戻される。
 ステップS316において、出力部19は、全ての魚体IDに対応する尾叉長、体高、重量に基づいて、生簀に生息する魚の統計情報を算出する。
 ステップS317において、出力部19は、算出された統計情報を出力する。出力部19は、全ての魚体IDに対応する尾叉長、体高、重量について算出された統計情報、または当該統計情報を基に作成する出力データを生成して、オペレータが閲覧する表示装置(不図示)へ出力する。
 以上で、学習されたモデルを用いた大きさ推定処理を終了する。
 (変更例) 
 第2学習モデルを生成する際に、魚体の片方(例えば左向き)のみを学習してもよい。この場合、学習処理において、右向き魚の第1矩形範囲A1は、水平方向に左右反転させていて左向きにして正解データとしてもよいし、廃棄しても良い。さらに推定処理において、右向き魚の第1矩形範囲A1は、水平方向に左右反転させて左向きにした後に左用の推定処理を行ってもよいし、廃棄しても良い。
 第2学習モデルの生成は、左向き正解データを用いた左用第2学習モデルと右向き正解データを用いた右用第2学習モデルを2つ生成してもよい。この際、推定処理においては、第1学習モデルにより左向きと判断されると左用第2学習モデルを、右向きと判断されると右用第2学習モデルを使用して特徴点を推定する。この際、左右反転処理は不要である。
 このほか、第1学習モデルでは矩形範囲A1の四隅の座標のみを推定し、魚体の向きは別の学習モデルを用いて推定してもよい。
 (第1の実施形態の効果)
 本実施形態によれば、魚体の大きさを高い精度で推定することができる。その理由は、学習部13が、同一向きに揃えられた魚体の画像(正解データ)のみを用いて学習モデルを学習させ、特徴点推定部15が当該学習モデルを用いて魚体の特徴点を推定し、大きさ算出部18が当該特徴点を基に魚体の大きさを算出するからである。
 <第2の実施形態>
 本開示の第2の実施形態における大きさ推定装置5は、図12に示すように、推定部51(図3の特徴点推定部15に対応)および算出部52(図3の大きさ算出部18に対応)を備える。大きさ推定装置5は第1の実施形態における大きさ推定装置1の最少構成例である。
 推定部51は、水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる当該一方向を向く第2水中生物体の当該一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定する。学習対象の第1水中生物体の一例は魚体であり、推定対象の第2水中生物体の一例も、魚体である。一方向側の一つの端部とは、当該一つの端部の周縁であってもよい。また他の端部とは、当該他の端部の周縁であってもよい。推定部51は、学習モデルとして2つの学習モデル(第1学習モデルおよび第2学習モデル)を使用してもよい。たとえば、推定部51は、第1学習モデルを用いて第1画像と第2画像のいずれにも映る第2水中生物体の同一個体を囲む第2矩形範囲A2(図9参照)と第2水中生物体の向きを特定し、第2学習モデルを用いて第2矩形範囲A2に映る第2水中生物体の形状特徴を特定する特徴点を推定する。特徴点には少なくとも第1特徴点および第2特徴点が含まれる。第1特徴点とは、例えば、画像中の第2水中生物体の長手方向における頭部側(向いている方向側)一端の周縁を示す点である。第2特徴点とは、例えば、第2水中生物体の向いている方向と逆側の他端の周縁を示す点である。
 算出部52は、特徴点(第1特徴点および第2特徴点を含む情報)を基に、第2水中生物体の大きさを示す情報を算出する。特徴点には、第1特徴点および第2特徴点以外の魚体の表面を示す特徴点が含まれていても良い。大きさを示す情報とは、例えば、尾叉長、体長、体高、重量である。算出部52は、例えば、特徴点それぞれの3次元空間における3次元座標を算出する。算出にはDLT(Direct Linear Transformation)法などの公知の3次元座標へ換算する技術が用いられる。算出部52は、特徴点の3次元座標に基づいて、第1特徴点の3次元座標と第2特徴点の3次元座標とを結ぶ尾叉長などを算出する。この際、他の特徴点を用いて体高を算出してもよい。算出部52は、魚の重量を算出する重量算出式に、尾叉長などの情報を変数として入力し、重量を算出する。
 本開示の第2の実施形態によると、水中生物の大きさを高い精度で推定することができる。その理由は、推定部51が水中を撮影する画像内において一方向を向く魚体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる当該一方向を向く魚体の当該一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定し、算出部52が、第1特徴点および第2特徴点を含む情報を基に、魚体の大きさを示す情報を算出するからである。
 (情報処理装置)
 上述した本発明の各実施形態において、図3、12等に示す大きさ推定装置における各構成要素の一部又は全部は、例えば図13に示すような情報処理装置500とプログラムとの任意の組み合わせを用いて実現することも可能である。情報処理装置500は、一例として、以下のような構成を含む。
  ・CPU501
  ・ROM502
  ・RAM503
  ・プログラム504および他のデータを格納する記憶装置505
  ・記録媒体506の読み書きを行うドライブ装置507
  ・通信ネットワーク509と接続する通信インターフェース508
  ・データの入出力を行う入出力インターフェース510
  ・各構成要素を接続するバス511
 本願の各実施形態における大きさ推定装置の各構成要素は、これらの機能を実現するプログラム504をCPU501が取得して実行することで実現される。大きさ推定装置の各構成要素の機能を実現するプログラム504は、例えば、予め記憶装置505やRAM503に格納されており、必要に応じてCPU501が読み出す。なお、プログラム504は、通信ネットワーク509を介してCPU501に供給されてもよいし、予め記録媒体506に格納されており、ドライブ装置507が当該プログラムを読み出してCPU501に供給してもよい。
 各装置の実現方法には、様々な変形例がある。例えば、大きさ推定装置は、構成要素毎にそれぞれ別個の情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。また、大きさ推定装置が備える複数の構成要素が、一つの情報処理装置500とプログラムとの任意の組み合わせにより実現されてもよい。
 また、大きさ推定装置の各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
 大きさ推定装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 大きさ推定装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 以上、本実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は2019年9月30日に出願された日本出願特願2019-178601を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 大きさ推定装置
2 ステレオカメラ
3 端末
4 生簀
5 大きさ推定装置
10 記憶部
11 画像取得部
12 特徴指定受付部
13 学習部
14 学習モデル取得部
15 特徴点推定部
16 同一個体特定部
17 データ破棄部
18 算出部
19 出力部
51 推定部
52 算出部
100 大きさ推定システム
104 データベース
105 通信モジュール
500 情報処理装置
504 プログラム
505 記憶装置
506 記録媒体
507 ドライブ装置
508 通信インターフェース
509 通信ネットワーク
510 入出力インターフェース
511 バス

Claims (10)

  1.  水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる前記一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定する推定手段と、
     前記第1特徴点および前記第2特徴点を含む情報を基に、前記第2水中生物体の大きさを示す情報を算出する算出手段
    を備える大きさ推定装置。
  2.  前記推定手段は、前記外部より取得する画像に含まれる前記第2水中生物体が前記一方向を向いてない場合、前記第2水中生物体の向きを前記一方向に変換する
    請求項1に記載の大きさ推定装置。
  3.  前記一方向を向く前記第1水中生物体を複数含む画像を用いて、前記第1水中生物体の長手方向における前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点含む特徴点を学習する前記学習モデルを生成する学習手段
    を更に備える請求項1又は請求項2に記載の大きさ推定装置。
  4.  前記学習手段は、前記学習モデルとして、前記第1水中生物体を囲む範囲および前記第1水中生物体の向きを推定するための第1学習モデルと、前記第1水中生物体の前記第1特徴点および前記第2特徴点を少なくとも推定するための第2学習モデルとを学習する
    請求項3に記載の大きさ推定装置。
  5.  前記学習手段は、複数の前記第1水中生物体の向きにばらつきがある場合、前記一方向のうちの所定の方向を向くように前記第1水中生物体の向きを補正する
    請求項3又は請求項4に記載の大きさ推定装置。
  6.  前記第1水中生物体および前記第2水中生物体の向きは、前記第1特徴点の座標値および前記第2特徴点の座標値を基に算出される
    請求項1乃至請求項5のいずれかに記載の大きさ推定装置。
  7.  前記推定手段は、前記第2水中生物体の長手方向における前記第1特徴点および前記第2特徴点と、前記第2水中生物体の前記長手方向に対する短手方向における一つの端部を示す第3特徴点および他の端部を示す第4特徴点とを推定し、
     前記第1特徴点、前記第2特徴点、前記第3特徴点および前記第4特徴点を用いて前記第2水中生物体の大きさを示す情報を算出する算出手段
    を更に備える請求項1乃至請求項6のいずれかに記載の大きさ推定装置。
  8.  請求項1乃至7のいずれかに記載の大きさ推定装置と、
     水中において前記第1水中生物体を含む画像および前記第2水中生物体を含む画像を撮影し、前記大きさ推定装置に対して送信する一つ以上のカメラ
    とを備える大きさ推定システム。
  9.  水中を撮影する画像内において一方向を向く 第1水中生物体 の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる前記一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定し、
     前記第1特徴点および前記第2特徴点を含む情報を基に、前記第2水中生物体の大きさを示す情報を算出する
    ことを備える大きさ推定方法。
  10.  水中を撮影する画像内において一方向を向く第1水中生物体の特徴を学習する学習モデルを基に、外部より取得する画像に含まれる前記一方向を向く第2水中生物体の前記一方向側の一つの端部を示す第1特徴点および他の端部を示す第2特徴点を推定し、
     前記第1特徴点および前記第2特徴点を含む情報を基に、前記第2水中生物体の大きさを示す情報を算出する
    ことをコンピュータに実現させるための大きさ推定プログラムを格納する記憶媒体。
PCT/JP2020/032415 2019-09-30 2020-08-27 大きさ推定装置、大きさ推定方法および記憶媒体 WO2021065265A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021550437A JP7207561B2 (ja) 2019-09-30 2020-08-27 大きさ推定装置、大きさ推定方法および大きさ推定プログラム
US17/761,663 US20220327721A1 (en) 2019-09-30 2020-08-27 Size estimation device, size estimation method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-178601 2019-09-30
JP2019178601 2019-09-30

Publications (1)

Publication Number Publication Date
WO2021065265A1 true WO2021065265A1 (ja) 2021-04-08

Family

ID=75337866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/032415 WO2021065265A1 (ja) 2019-09-30 2020-08-27 大きさ推定装置、大きさ推定方法および記憶媒体

Country Status (3)

Country Link
US (1) US20220327721A1 (ja)
JP (1) JP7207561B2 (ja)
WO (1) WO2021065265A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022009821A1 (ja) * 2020-07-07 2022-01-13 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、及びプログラム
US20220198216A1 (en) * 2020-12-17 2022-06-23 Fujitsu Limited Computer-readable recording medium storing image output program, image output method, and image output apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522951B (zh) * 2023-12-29 2024-04-09 深圳市朗诚科技股份有限公司 鱼类监测方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061927A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、情報処理方法およびプログラム記憶媒体
WO2018061925A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
WO2019045089A1 (ja) * 2017-09-04 2019-03-07 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
WO2019172351A1 (ja) * 2018-03-09 2019-09-12 日本電気株式会社 物体同定装置、物体同定システム、物体同定方法およびプログラム記憶媒体
JP6694039B1 (ja) * 2018-11-22 2020-05-13 株式会社アイエンター 魚体サイズ算出装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061927A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、情報処理方法およびプログラム記憶媒体
WO2018061925A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
WO2019045089A1 (ja) * 2017-09-04 2019-03-07 日本電気株式会社 情報処理装置、長さ測定システム、長さ測定方法およびプログラム記憶媒体
WO2019172351A1 (ja) * 2018-03-09 2019-09-12 日本電気株式会社 物体同定装置、物体同定システム、物体同定方法およびプログラム記憶媒体
JP6694039B1 (ja) * 2018-11-22 2020-05-13 株式会社アイエンター 魚体サイズ算出装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022009821A1 (ja) * 2020-07-07 2022-01-13 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、及びプログラム
US20220198216A1 (en) * 2020-12-17 2022-06-23 Fujitsu Limited Computer-readable recording medium storing image output program, image output method, and image output apparatus

Also Published As

Publication number Publication date
JP7207561B2 (ja) 2023-01-18
JPWO2021065265A1 (ja) 2021-04-08
US20220327721A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
WO2021065265A1 (ja) 大きさ推定装置、大きさ推定方法および記憶媒体
US20170127045A1 (en) Image calibrating, stitching and depth rebuilding method of a panoramic fish-eye camera and a system thereof
JP6694039B1 (ja) 魚体サイズ算出装置
JPWO2019188506A1 (ja) 情報処理装置、物体計測システム、物体計測方法、コンピュータプログラムおよび情報提供システム
JP2008506953A5 (ja)
US10872436B2 (en) Spatial positioning method, spatial positioning device, spatial positioning system and computer readable storage medium
CN106371281A (zh) 基于结构光多模块360度空间扫描和定位的3d相机
JP7108941B2 (ja) 動物情報管理システム、及び、動物情報管理方法
JP2011175477A (ja) 3次元計測装置、処理方法及びプログラム
WO2019198611A1 (ja) 特徴推定装置および特徴推定方法
WO2019172363A1 (ja) 情報処理装置、物体計測システム、物体計測方法およびプログラム記憶媒体
TWI672937B (zh) 三維影像處理之裝置及方法
WO2019019819A1 (zh) 一种用于处理任务区域的任务的移动电子设备以及方法
JP6981531B2 (ja) 物体同定装置、物体同定システム、物体同定方法およびコンピュータプログラム
WO2019075948A1 (zh) 移动机器人的位姿估计方法
CN109644249B (zh) 图像处理设备和图像处理方法
KR101203816B1 (ko) 로봇 물고기 위치 인식 시스템 및 로봇 물고기 위치 인식 방법
CN113052907B (zh) 一种动态环境移动机器人的定位方法
CN114998447A (zh) 多目视觉标定方法及系统
JP2001148025A (ja) 位置検出装置及びその方法、平面姿勢検出装置及びその方法
WO2018061928A1 (ja) 情報処理装置、計数システム、計数方法およびプログラム記憶媒体
JPWO2019045089A1 (ja) 情報処理装置、長さ測定システム、長さ測定方法およびコンピュータプログラム
CN112040132A (zh) 动物外部特征获取方法、装置及计算机设备
CN103546680A (zh) 一种无变形的全方位鱼眼摄像装置及实现方法
JP7057086B2 (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: 20870676

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021550437

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20870676

Country of ref document: EP

Kind code of ref document: A1