WO2020158611A1 - 画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット - Google Patents

画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット Download PDF

Info

Publication number
WO2020158611A1
WO2020158611A1 PCT/JP2020/002554 JP2020002554W WO2020158611A1 WO 2020158611 A1 WO2020158611 A1 WO 2020158611A1 JP 2020002554 W JP2020002554 W JP 2020002554W WO 2020158611 A1 WO2020158611 A1 WO 2020158611A1
Authority
WO
WIPO (PCT)
Prior art keywords
vessel
image
unit
captured image
model
Prior art date
Application number
PCT/JP2020/002554
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 US17/422,029 priority Critical patent/US20220101552A1/en
Priority to DE112020000310.8T priority patent/DE112020000310T5/de
Priority to CN202080010943.6A priority patent/CN113366533A/zh
Priority to KR1020217024275A priority patent/KR20210110671A/ko
Publication of WO2020158611A1 publication Critical patent/WO2020158611A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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 an image processing system, an image processing method, a learned model generation method, and a learning data set.
  • the present application claims priority to Japanese Patent Application No. 2019-017400 filed in Japan on Feb. 1, 2019, the content of which is incorporated herein by reference.
  • Patent Document 1 discloses a technique for identifying the position of the vessel of the dump truck by extracting the edge from the image captured by the imaging device provided in the hydraulic excavator.
  • An object of the present invention is to provide an image processing system, an image processing method, a learned model generation method, and a learning data set that can improve the robustness of the process of identifying the object of loading and unloading of a transported object from a captured image. The purpose is to
  • an image processing system includes a data acquisition unit that acquires a captured image in which an object to be loaded/unloaded of a work machine is captured, and an area identification unit that identifies an area including the object to be loaded/unloaded from the captured image. And an unloading target specifying unit that specifies at least one predetermined surface of the unloading target from the region including the unloading target.
  • the image processing system can improve the robustness of the process of identifying the unloading target.
  • FIG. 6 is a flowchart showing a method for displaying guidance information by the control device according to the first embodiment. It is a flow chart which shows a learning method of a segmentation model concerning a 1st embodiment.
  • FIG. 1 is a diagram showing a configuration of a loading place according to an embodiment.
  • a hydraulic excavator 100 which is a loading machine
  • a dump truck 200 which is a transportation vehicle
  • the hydraulic excavator 100 scoops a transported material L such as earth and sand from a construction site and loads it on the dump truck 200.
  • the dump truck 200 transports the cargo L loaded by the hydraulic excavator 100 to a predetermined dumping site.
  • the dump truck 200 includes a vessel 210 that is a container that stores the goods L to be transported.
  • the vessel 210 is an example of an object for loading and unloading the goods L.
  • the loading place is an example of the site.
  • the site is the land on which the loading machine works.
  • FIG. 2 is an external view of the hydraulic excavator according to the embodiment.
  • the hydraulic excavator 100 includes a working machine 110 that operates by hydraulic pressure, a revolving structure 120 that supports the working machine 110, and a traveling structure 130 that supports the revolving structure 120.
  • the work machine 110 includes a boom 111, an arm 112, a bucket 113, a boom cylinder 114, an arm cylinder 115, and a bucket cylinder 116.
  • the boom 111 is a column that supports the arm 112 and the bucket 113.
  • the base end portion of the boom 111 is attached to the front portion of the revolving structure 120 via the boom pin P1.
  • the arm 112 connects the boom 111 and the bucket 113.
  • the base end portion of the arm 112 is attached to the tip end portion of the boom 111 via an arm pin P2.
  • the bucket 113 is a container having a blade for excavating earth and sand.
  • the base end portion of the bucket 113 is attached to the tip end portion of the arm 112 via a bucket pin P3.
  • the boom cylinder 114 is a hydraulic cylinder for operating the boom 111.
  • the base end of the boom cylinder 114 is attached to the swing structure 120.
  • the tip of the boom cylinder 114 is attached to the boom 111.
  • the arm cylinder 115 is a hydraulic cylinder for driving the arm 112.
  • the base end of the arm cylinder 115 is attached to the boom 111.
  • the tip of the arm cylinder 115 is attached to the arm 112.
  • the bucket cylinder 116 is a hydraulic cylinder for driving the bucket 113.
  • the base end of the bucket cylinder 116 is attached to the arm 112.
  • the tip of the bucket cylinder 116 is attached to the bucket 113.
  • the revolving structure 120 is provided with a driver's cab 121 on which an operator rides.
  • the cab 121 is provided in front of the revolving structure 120 and on the left side (+Y side) of the work machine 110.
  • the hydraulic excavator 100 includes a work machine position detector 122, a position/azimuth calculator 123, a tilt detector 124, a stereo camera 125, an operating device 126, a control device 127, and a display device 128.
  • the work machine position detector 122 detects the angle of the work machine 110.
  • the work implement position detector 122 according to the first embodiment is a stroke detector that detects the stroke lengths of the boom cylinder 114, the arm cylinder 115, and the bucket cylinder 116.
  • the control device 127 described below can detect the angle of the work machine 110 based on the stroke lengths of the boom cylinder 114, the arm cylinder 115, and the bucket cylinder 116.
  • the working machine position detector 122 is not limited to this, and instead of the stroke detector or in combination with the stroke detector, an angle detector such as an IMU, a rotary encoder, or a leveler. May be used.
  • the position/orientation calculator 123 calculates the position of the revolving structure 120 and the direction in which the revolving structure 120 faces.
  • the position/orientation calculator 123 includes two receivers that receive positioning signals from artificial satellites forming a GNSS (Global Navigation Satellite System). The two receivers are installed at different positions on the revolving structure 120.
  • the position/orientation calculator 123 detects the position of the representative point (the origin of the vehicle body coordinate system) of the revolving structure 120 in the site coordinate system based on the positioning signal received by at least one of the receivers.
  • the position/azimuth calculator 123 uses the positioning signals received by the two receivers to calculate the azimuth of the revolving structure 120 based on the positions indicated by the two detected positioning signals and the grounded positions of the two receivers. To do.
  • the position/azimuth calculator 123 may measure the azimuth of the revolving structure 120 by including other devices such as a rotary encoder and an IMU instead of the two receivers.
  • the tilt detector 124 measures the acceleration and the angular velocity of the revolving structure 120, and based on the measurement results, the tilt of the revolving structure 120 (for example, a roll indicating rotation about the X axis, a pitch indicating rotation about the Y axis, and a Z axis). Yaw that represents rotation) is detected.
  • the inclination detector 124 is installed, for example, on the lower surface of the cab 121.
  • an IMU Inertial Measurement Unit which is an inertial measurement device can be used.
  • Stereo camera 125 is provided above driver's cab 121.
  • the stereo camera 125 is installed in the front (+X direction) and above (+Z direction) in the cab 121.
  • the stereo camera 125 takes an image of the front (+X direction) of the driver's cab 121 through the windshield on the front of the driver's cab 121.
  • the stereo camera 125 includes at least one pair of cameras.
  • the operation device 126 is provided inside the cab 121.
  • the operating device 126 is operated by an operator to supply hydraulic oil to the actuator of the work machine 110. Hydraulic oil is supplied to the boom cylinder 114, the arm cylinder 115, the bucket cylinder 116, and a swing motor (not shown) according to the amount of operation of the operating device 126, and the working machine 110 and the swing body 120 are driven.
  • the control device 127 acquires information from the work implement position detector 122, the position/azimuth calculator 123, the tilt detector 124, and the stereo camera 125, and generates guidance information indicating the positional relationship between the bucket 113 and the vessel of the dump truck 200. To do.
  • the display device 128 displays the guidance information generated by the control device 127.
  • the hydraulic excavator 100 may not include the work implement position detector 122, the position/azimuth calculator 123, the tilt detector 124, the stereo camera 125, and the display device 128.
  • the stereo camera 125 includes a right camera 1251 and a left camera 1252.
  • Examples of each camera include a camera using a CCD (Charge Coupled Device) sensor and a CMOS (Complementary Metal Oxide Semiconductor) sensor.
  • CCD Charge Coupled Device
  • CMOS Complementary Metal Oxide Semiconductor
  • the right camera 1251 and the left camera 1252 are installed at intervals in the left-right direction (Y-axis direction) so that their optical axes are substantially parallel to the floor surface of the cab 121.
  • the stereo camera 125 is an example of an imaging device.
  • the control device 127 can calculate the distance between the stereo camera 125 and the imaging target by using the image captured by the right camera 1251 and the image captured by the left camera 1252.
  • the image captured by the right camera 1251 is also referred to as a right eye image.
  • the image captured by the left camera 1252 is also referred to as a left eye image.
  • a combination of images captured by the cameras of the stereo camera 125 is also referred to as a stereo image.
  • the stereo camera 125 may be configured by three or more cameras.
  • FIG. 3 is a schematic block diagram showing the configuration of the control device according to the first embodiment.
  • the control device 127 includes a processor 91, a main memory 92, a storage 93, and an interface 94.
  • the storage 93 stores a program for controlling the working machine 110.
  • Examples of the storage 93 include a HDD (Hard Disk Drive) and a non-volatile memory.
  • the storage 93 may be an internal medium directly connected to the bus of the control device 127, or an external medium connected to the control device 127 via the interface 94 or a communication line.
  • the storage 93 is an example of a storage unit.
  • the processor 91 reads a program from the storage 93, expands it in the main memory 92, and executes processing according to the program. Further, the processor 91 secures a storage area in the main memory 92 according to the program.
  • the main memory 92 is an example of a storage unit.
  • the interface 94 is connected to the work implement position detector 122, the position/azimuth calculator 123, the inclination detector 124, the stereo camera 125, the display device 128, and other peripheral devices to exchange signals.
  • the control device 127 displays, on the display device 128, guidance information indicating the relative position between the work machine and the object to be loaded/unloaded. This allows the operator to recognize the unloading target by referring to the guidance information even when it is difficult to visually recognize the unloading target. Therefore, the processor 91 executes the program to execute the data acquisition unit 1701, the area identification unit 1702, the three-dimensional data generation unit 1703, the loading/unloading target identification unit 1704, the model fitting unit 1705, the work implement position identification unit 1706, and the guidance information generation unit. 1707, the display control part 1708, and the learning part 1709 are provided. Further, the storage 93 stores a camera parameter CP, a segmentation model M, and a target model D.
  • the camera parameter CP is information indicating the positional relationship between the swinging body 120 and the right camera 1251, and the positional relationship between the swinging body 120 and the left camera 1252.
  • the target model D is three-dimensional data representing the shape of the vessel 210.
  • the program may be a program for realizing a part of the function to be exerted by the control device 127.
  • the program may exert a function by a combination with another program already stored in the storage 93 or a combination with another program installed in another device.
  • the control device 127 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or instead of the above configuration.
  • PLD include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array).
  • PLD Programmable Logic Device
  • PAL Programmable Array Logic
  • GAL Generic Array Logic
  • CPLD Complex Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • the data acquisition unit 1701 acquires data from the work implement position detector 122, the position/azimuth calculator 123, the tilt detector 124, and the stereo camera 125 via the interface 94. That is, the data acquisition unit 1701 acquires the angle of the work machine 110, the position, azimuth, and inclination of the revolving structure 120, and a stereo image.
  • the data acquisition unit 1701 is an example of an image acquisition unit.
  • the position, azimuth, and inclination of the revolving structure 120 are also referred to as the posture of the revolving structure 120.
  • the stereo camera 125 is provided on the revolving structure 120, the position, azimuth, and inclination of the revolving structure 120 represent the posture of the stereo camera 125.
  • FIG. 4 is a diagram illustrating an example of image segmentation according to the first embodiment.
  • the area specifying unit 1702 inputs the right-eye image of the stereo image acquired by the data acquisition unit 1701 to the segmentation model M stored in the storage 93, thereby making the right-eye image a plurality of areas corresponding to a plurality of known objects. Split into.
  • the area specifying unit 1702 uses a plurality of right eye images, which are input images, corresponding to five bodies of the vehicle body of the dump truck 200, the vessel 210, the transported object L, the working machine 110, and the ground, as shown in FIG. 4.
  • a segment image divided into regions is generated.
  • the plurality of known objects includes at least the vessel 210 that is a loading target.
  • the value of each pixel of the segment image takes a value that represents the type of object captured in the pixel of the input image corresponding to the pixel. That is, the segment image is divided into a plurality of regions (segments) made up of a plurality of pixels having the same value.
  • the area specifying unit 1702 specifies the area in which the vessel appears in the stereo image acquired by the data acquiring unit 1701 based on the segment image of the segmentation model M.
  • the segmentation model M includes the neural network 140 shown in FIG.
  • FIG. 5 is a diagram showing an example of the configuration of the neural network.
  • the segmentation model M is realized by, for example, a learned model of DNN (Deep Neural Network).
  • the learned model is composed of a combination of the learning model and the learned parameters.
  • the neural network 140 includes an input layer 141, one or more intermediate layers 142 (hidden layers), and an output layer 143.
  • Each layer 141, 142, 143 comprises one or more neurons.
  • the number of neurons in the intermediate layer 142 can be set appropriately.
  • the output layer 143 can be appropriately set according to the size of the output image.
  • the neurons in adjacent layers are connected to each other, and weights (connection weights) are set for each connection.
  • the number of connected neurons may be set appropriately.
  • a threshold value is set for each neuron, and the output value of each neuron is determined by whether or not the sum of the product of the input value to each neuron and the weight exceeds the threshold value.
  • An image is input to the input layer 141.
  • the image input to the input layer 141 is an image in which an object corresponding to at least one of a plurality of areas (a plurality of objects) is captured.
  • a segment image is input to the output layer 143, in which the value of each pixel is a value that represents the type of object appearing in the corresponding pixel of the image input to the input layer 141 corresponding to the pixel. That is, the segmentation model M is a trained model that is trained to output a segmented image that is divided into regions according to the objects in the image when the image is input.
  • the segmentation model M uses, for example, the images captured at the loading place as learning data, and segment images in which the pixel values are divided according to the vehicle body of the dump truck 200, the vessel 210, the transported object L, the working machine 110, and the ground. Training is performed using a learning data set as teacher data.
  • learning data refers to data input to the input layer during training of the learning model.
  • the “teacher data” is the correct answer data for comparison with the value of the output layer of the neural network 140.
  • the “learning data set” refers to a combination of learning data and teacher data.
  • the learned parameters of the segmentation model M obtained by learning are stored in the storage 93.
  • the learned parameters include, for example, the number of layers of the neural network 140, the number of neurons in each layer, the connection relationship between neurons, the connection weight between neurons, and the threshold value of each neuron.
  • the configuration of the neural network 140 of the segmentation model M the DNN configuration generally used for image segmentation is used.
  • the segmentation model M may be an already trained segmentation model that has been transfer-learned by using the learning data set described above.
  • the segmentation model M according to another embodiment may be trained by unsupervised learning or reinforcement learning.
  • the three-dimensional data generation unit 1703 based on the region where the vessel 210 identified by the region identification unit 1702 appears, from each of the right-eye image and the left-eye image of the stereo image, the partial right-eye image and the partial right-eye image including the pixels related to the region. Extract the left-eye image.
  • the three-dimensional data generation unit 1703 may extract the partial right-eye image and the partial left-eye image from not only the region classified into the vessel 210 but also the region including the vicinity of the region classified into the vessel 210.
  • the three-dimensional data generation unit 1703 may extract, as a partial right-eye image and a partial left-eye image, an area in which a rectangle circumscribing the area classified in the vessel 210 is expanded vertically and horizontally by a predetermined number of pixels. Note that by extracting a region that also includes the vicinity of the region classified into the vessel 210, it is possible to prevent the region in which the vessel 210 is reflected from being lost even when a part of the vessel is classified into another object due to an error in segmentation. it can.
  • the three-dimensional data generation unit 1703 based on the partial right-eye image and the partial left-eye image, the camera parameter CP stored in the storage 93, and the position, azimuth, and inclination of the revolving structure 120 acquired by the data acquisition unit 1701.
  • Point cloud data indicating the position in the field coordinate system of the region where the vessel 210 is imaged is generated.
  • the three-dimensional data generation unit 1703 generates point cloud data by the following method. First, the three-dimensional data generation unit 1703 generates point cloud data related to the vehicle body coordinate system by triangulation based on the partial right eye image, the partial left eye image, and the camera parameter CP.
  • the three-dimensional data generation unit 1703 converts the position of each point in the vehicle body coordinate system into the position of each point in the site coordinate system based on the position, azimuth, and inclination of the revolving structure 120.
  • the point cloud data is an example of three-dimensional data representing the three-dimensional shape of the subject in the captured image. In other embodiments, depth images, polygons, CAD models, etc. may be used as the three-dimensional data.
  • the loading/unloading target identification unit 1704 identifies the three-dimensional feature amount (3D point cloud feature amount) for each point of the point cloud data generated by the three-dimensional data generation unit 1703.
  • the three-dimensional feature amount include a normal feature, a SHOT (Signature of Histograms of OrienTations) feature, and a PFH (Point Feature Histograms) feature.
  • the normal feature of a certain point (point of interest) included in the point group can be obtained by obtaining the eigenvector associated with the minimum eigenvalue of the covariance matrix of the point group around the point of interest.
  • the loading/unloading target identifying unit 1704 groups the point cloud data for each surface of the vessel 210 based on the feature amount.
  • the loading/unloading target identifying unit 1704 sets the point cloud data to the group corresponding to the front panel, the group corresponding to the side gate, the group corresponding to the tail gate, and the group corresponding to the bottom surface based on the feature amount.
  • the point cloud data division method described here is an example, and the point cloud data may be divided into groups other than the above four groups.
  • the loading/unloading target specifying unit 1704 may not perform grouping into groups corresponding to the bottom surface.
  • the loading/unloading target specifying unit 1704 is an example of a Bessel surface specifying unit.
  • the model fitting unit 1705 arranges the target model D in the virtual space represented by the on-site coordinate system based on the position of the point cloud data grouped for each surface, and thereby the position of the vessel 210 in the on-site coordinate system, Specify azimuth and tilt. For example, the model fitting unit 1705 arranges the target model D so that the representative normal feature of the group of point cloud data and the normal feature of each surface of the vessel 210 match within a predetermined error range. ..
  • the model fitting unit 1705 may specify the position of each surface in the vehicle body coordinate system or the camera coordinate system.
  • the model fitting unit 1705 is an example of a posture identifying unit.
  • the model fitting unit 1705 is an example of a posture identifying unit.
  • the work implement position specifying unit 1706 determines the boom 111, the arm 112, and the bucket 113 in the site coordinate system based on the angle of the work implement 110 and the position, azimuth, and inclination of the revolving unit 120 acquired by the data acquisition unit 1701. Identify the position.
  • the guidance information generation unit 1707 uses the position of the vessel 210 specified by the model fitting unit 1705, the positions of the boom 111, the arm 112, and the bucket 113 specified by the work implement position specifying unit 1706, and the turning acquired by the data acquisition unit 1701.
  • Guidance information indicating the positional relationship between the vessel 210 and the bucket 113 is generated based on the position, orientation, and inclination of the body 120.
  • FIG. 6 is an example of guidance information.
  • the guidance information generation unit 1707 is based on the positions of the boom 111, the arm 112, and the bucket 113 identified by the work implement position identification unit 1706, and the position, orientation, and inclination of the revolving structure 120. Then, the three-dimensional model of the hydraulic excavator 100 is arranged in the virtual space.
  • the guidance information generation unit 1707 also minimizes the difference between the three-dimensional feature amount of the three-dimensional model of the dump truck 200 and the three-dimensional feature amount of the vessel 210 identified by the model fitting unit 1705. Place the 3D model of.
  • the guidance information generation unit 1707 represents the positional relationship between the bucket 113 of the hydraulic excavator 100 and the vessel 210 of the dump truck 200 by rendering the hydraulic excavator 100 and the dump truck 200 arranged in the virtual space from an arbitrary viewpoint. Generate guidance information.
  • the guidance information according to another embodiment does not have to graphically describe the positional relationship between the bucket 113 and the vessel 210.
  • the guidance information according to another embodiment may be information indicating whether or not the bucket 113 is located inside the outer frame of the vessel 210 in a plan view from above.
  • the guidance information according to another embodiment displays a target excavation position of the bucket 113 or guidance information for the excavation position of the bucket 113 (for example, indicates a difference between the current position of the bucket 113 and the target excavation position). Information or display). Further, it may be information or display indicating how much operation is required up to the target excavation position. Further, at least only the vessel 210 and the bucket 113 may be displayed.
  • the display control unit 1708 outputs a display signal for displaying guidance information to the display device 128.
  • the learning unit 1709 performs a learning process of the segmentation model M.
  • the learning unit 1709 may be provided in a device separate from the control device 127. In this case, the trained model trained by the separate device will be recorded in the storage 93.
  • FIG. 7 is a flowchart showing a method of displaying guidance information by the control device according to the first embodiment.
  • the data acquisition unit 1701 acquires the angle of the work machine 110 from the work machine position detector 122 via the interface 94, acquires the position and azimuth of the revolving structure 120 from the position/orientation calculator 123, and the inclination detector.
  • the tilt of the revolving structure 120 is acquired from 124, and a stereo image is acquired from the stereo camera 125 (step S1).
  • the data acquisition unit 1701 may not acquire the angle of the work machine 110, the position, the azimuth, and the inclination of the revolving structure 120.
  • the area specifying unit 1702 inputs the right-eye image of the stereo image acquired by the data acquiring unit 1701 into the segmentation model M stored in the storage 93, and is divided into a plurality of areas for each captured object.
  • a segment image is obtained (step S2).
  • the area specifying unit 1702 may obtain the segment image from the left-eye image.
  • the area specifying unit 1702 specifies the area where the vessel appears in the stereo image acquired by the data acquiring unit 1701 based on the segment image (step S3).
  • the three-dimensional data generation unit 1703 extracts, from each of the right-eye image and the left-eye image of the stereo image, the partial right-eye image and the partial left-eye image related to the region where the vessel 210 specified in step S3 appears (step S4).
  • the three-dimensional data generation unit 1703 generates point cloud data related to the vehicle body coordinate system by triangulation based on the partial right-eye image and the partial left-eye image and the camera parameter CP (step S5).
  • the three-dimensional data generation unit 1703 determines the position of each point in the vehicle body coordinate system of the point cloud data based on the position, azimuth, and inclination of the revolving structure 120 acquired in step S1. Convert to a position (step S6).
  • the three-dimensional data generation unit 1703 translates the point cloud data based on the position of the revolving structure 120 acquired in step S1 and rotates the point cloud data based on the azimuth and the inclination.
  • the coordinate conversion from the vehicle body coordinate system to the site coordinate system may be performed after step S7 or step S8 described later.
  • the loading/unloading target specifying unit 1704 specifies the three-dimensional feature amount for each point of the point cloud data obtained in step S6, and groups the point cloud data for each surface of the vessel 210 based on the three-dimensional feature amount ( Step S7). Thereby, the loading/unloading target specifying unit 1704 can specify each surface of the vessel 210 from the point cloud data.
  • the model fitting unit 1705 is represented in the on-site coordinate system so that the difference between the three-dimensional feature amount of the point cloud data relating to each group and the three-dimensional feature amount of the target model D stored in the storage 93 is minimized.
  • the position, orientation, and inclination of the vessel 210 in the on-site coordinate system are specified (step S8).
  • the model fitting unit 1705 arranges the target model D in the virtual space based on the point cloud data, so that even when a part of the vessel 210 is hidden by an obstacle in the stereo image, the hidden portion of the vessel 210 is hidden. Can be estimated, and the recognition accuracy of the vessel 210 can be improved.
  • the model fitting unit 1705 fits a certain surface or a certain point of the certain surface grouped in step S7 to a corresponding surface of the target model D or a certain point.
  • the target model D may be arranged in the site coordinate system.
  • the controller 127 can specify the position, orientation, and inclination of the vessel 210 from each surface specified in step S7 without fitting the target model D.
  • the control device 127 identifies the position of the vessel 210 from the positions of the centers of gravity of the identified surfaces, the orientation of the vessel from the normal direction of the surface corresponding to the front panel or the tailgate, and further identifies the vessel 210.
  • the inclination of the vessel can be specified from the normal direction of the bottom surface of the.
  • the control device 127 performs fitting of the target model D to make it more robust in identifying the position, orientation, and inclination of the vessel 210. It is possible to improve the property.
  • the work implement position specifying unit 1706 determines the boom 111, the arm 112, and the bucket 113 in the site coordinate system based on the angle of the work implement 110 and the position, azimuth, and inclination of the revolving unit 120 acquired by the data acquisition unit 1701.
  • the position is specified (step S9).
  • the guidance information generation unit 1707 determines the position, orientation, and inclination of the vessel 210 identified in step S8, the positions of the boom 111, the arm 112, and the bucket 113 identified in step S9, and the revolving structure 120 acquired in step S1.
  • the guidance information shown in FIG. 6 is generated based on the position, azimuth, and inclination (step S10).
  • the display control unit 1708 outputs a display signal for displaying guidance information to the display device 128 (step S11).
  • FIG. 8 is a flowchart showing the learning method of the segmentation model according to the first embodiment.
  • the data acquisition unit 1701 acquires learning data (step S101).
  • the learning data in the segmentation model M is an image captured in the loading field or an image generated from 3DCG or CAD data.
  • the plurality of learning data used for learning the segmentation model M includes at least an image in which the vessel 210 is captured.
  • the learning data may be acquired from the image captured by the stereo camera 125. Moreover, you may acquire from the image which another work machine imaged.
  • the learning unit 1709 learns the segmentation model M.
  • the learning unit 1709 uses the combination of the learning data acquired in step S101 and the teacher data, which is a segment image divided into a plurality of regions corresponding to the object appearing in the image related to the learning data, as a learning data set. Is learned (step S102).
  • the learning unit 1709 uses the learning data as an input and performs a calculation process in the forward propagation direction of the neural network 140. Accordingly, the learning unit 1709 obtains the output value output from the output layer 143 of the neural network 140.
  • the learning data set may be stored in the main memory 92 or the storage 93.
  • the learning unit 1709 calculates the error between the output value from the output layer 143 and the teacher data.
  • the learning unit 1709 updates the weight of the connection between the neurons based on the calculated error of the output value.
  • the learning unit 1709 inputs the learning data related to the evaluation data set to the segmentation model M as an evaluation data set that is not used for learning the segmentation model M in the learning data set, and outputs the output value from the segmentation model M. Then, it is determined whether or not they match the teacher data related to the evaluation data set (step S103). If the output value and the number of pixels having different teacher data are within a predetermined number, it may be determined that they match. When the output value from the segmentation model M does not match the teacher data (step S103: NO), the above process is repeated until the output value from the segmentation model M matches the teacher data. Thereby, the parameters of the segmentation model M are optimized, and the segmentation model M can be learned. When the output value from the segmentation model M matches the teacher data (step S103: YES), the learning unit 1709 records the segmentation model M, which is a learned model including the parameters optimized by learning, in the storage 93. (Step S104).
  • the control device 127 identifies the region in which the vessel 210 appears, from the captured image in which the vessel 210 that is the loading/unloading target of the transported object L appears, and based on the region, the vessel 210. Specify the position of. In this way, the control device 127 according to the first embodiment can specify the position of the loading/unloading target regardless of the edge included in the image. As a result, the control device 127 according to the first embodiment can improve the robustness of the process of identifying the position of the loading/unloading target of the transported object L even when the edge is difficult to detect due to the deformation of the loading/unloading target or the like. it can.
  • the surface shape of the vessel 210 as a whole changes, but the cargo L and the vessel 210 can be distinguished by specifying the region where the vessel 210 appears. Therefore, robustness of recognition can be improved.
  • the processes of steps S2 to S6 and steps S8 to S11 may not be performed.
  • control device 127 displays guidance information. As a result, even when it is difficult for the operator to visually recognize the vessel 210 due to the relative positions of the hydraulic excavator 100 and the dump truck 200, the control device 127 can cause the operator to recognize the loading/unloading target. Further, by operating the work implement 110 with the vessel 210 displayed as guidance information as a guide, work efficiency can be improved.
  • the control device 127 specifies the area in which the loading/unloading target appears in the captured image based on the segmentation model M and the captured image. It is known that a learned model related to machine learning can accurately realize segmentation, which is division of an object included in an image. Therefore, according to the first embodiment, the control device 127 causes the segmentation to be performed. By recognizing the vessel 210 using the model M, the position of a predetermined portion of the vessel 210 can be accurately specified. Note that, in other embodiments, the present invention is not limited to this, and the control device 127 may separate an object shown in an image by a method other than the machine learning technique.
  • the control device 127 generates point cloud data using the partial right-eye image and the partial left-eye image related to the specified area. As a result, the amount of calculation can be reduced as compared with the case where the point cloud data is generated using all the pixels of the stereo image. Further, since an unnecessary area other than the area specified by the segmentation (for example, an area such as the transported object L, the work machine 110, and the ground) is omitted, the loading/unloading target specifying unit 1704 causes noise to be mixed in the point cloud data group. The possibility of doing so can be reduced.
  • the control device 127 may generate point cloud data by using all the pixels of the stereo image, and extract a portion related to the specified region from the point cloud data. Further, in another embodiment, three-dimensional data may be generated using a distance image generated by a laser scanner instead of the stereo image.
  • control device 127 generates point cloud data from the captured image, and arranges the point cloud data in the on-site coordinate system based on the position, azimuth and inclination of the revolving structure 120. Accordingly, even if the position, orientation, and inclination of the stereo camera 125 change due to the operation of the hydraulic excavator 100, the position, orientation, and inclination of the vessel 210 in the site coordinate system can be specified.
  • the stereo camera 125 when the stereo camera 125 is fixed to the construction site, the point cloud data is arranged in the site coordinate system without obtaining the position, orientation, and inclination of the revolving structure 120. Good.
  • the control device 127 according to the first embodiment generates guidance information based on the specified position, azimuth, and inclination of the vessel 210 and presents it to the operator.
  • the control device 127 according to the second embodiment controls the loading work of the working machine based on the specified position, azimuth, and inclination of the vessel 210.
  • FIG. 9 is a schematic block diagram showing the configuration of the control device according to the second embodiment.
  • the processor 91 according to the second embodiment includes a work machine control unit 1711 instead of the guidance information generation unit 1707 and the display control unit 1708 according to the first embodiment.
  • the work machine control unit 1711 turns based on the position, orientation, and inclination of the vessel 210 identified by the model fitting unit 1705. The behavior of the body 120 and the work machine 110 is controlled.
  • FIG. 10 is a flowchart showing a control method for the hydraulic excavator according to the second embodiment.
  • the control device 127 specifies the positions of the vessel 210 and the working machine 110 in the on-site coordinate system by the same processing as steps S1 to S9 of the first embodiment.
  • the work machine control unit 1711 generates and outputs control signals for the revolving structure 120 and the work machine 110 based on the positions of the vessel 210 and the work machine 110 in the site coordinate system (step S31).
  • the work machine control unit 1711 generates a control signal for raising the boom 111 when the height of the bucket 113 is lower than the height of the vessel 210.
  • the work machine control unit 1711 stops the output of the control signal for raising the boom 111 and starts the output of the control signal for rotating the revolving structure 120.
  • the work machine control unit 1711 determines that the height of the bucket 113 is equal to or higher than the height of the vessel 210, and the position when viewed in plan from above the bucket 113 is within the range of the vessel 210 specified from the position of the vessel 210. When it is located, the output of the control signal for turning the revolving structure 120 is stopped, and the control signal for dumping the bucket 113 is generated.
  • control device 127 can automatically control the hydraulic excavator 100 based on the captured image.
  • the control device 127 causes the display device 128 to display a vessel map showing the distribution of the amount of the transported material L in the vessel 210. As a result, the control device 127 causes the operator to recognize the loading/unloading position of the goods L for loading the goods L in the vessel 210 in a well-balanced manner.
  • FIG. 11 is a schematic block diagram showing the configuration of the control device according to the third embodiment.
  • the control device 127 according to the third embodiment includes a distribution specifying unit 1721 instead of the work implement position specifying unit 1706 according to the first embodiment. Further, the area specifying unit 1702, the three-dimensional data generating unit 1703, and the guidance information generating unit 1707 according to the third embodiment are different in processing from the first embodiment.
  • the area specifying unit 1702 specifies an area in which the conveyed object L is reflected in addition to an area in which the vessel 210 is included in the stereo image.
  • the three-dimensional data generation unit 1703 generates vessel point cloud data, which is three-dimensional data related to the area where the vessel 210 is imaged, and conveyed object point cloud data, which is three-dimensional data related to the area where the conveyed object L is imaged. Note that the three-dimensional data generation unit 1703 may generate the conveyed object point cloud data not only from the area classified into the conveyed object L but also from the area including the vicinity of the area classified into the conveyed object L.
  • the three-dimensional data generation unit 1703 may generate the conveyed object point cloud data based on an area in which a rectangle circumscribing the area classified as the conveyed object L is expanded vertically and horizontally by a predetermined number of pixels. By extracting a region that also includes the vicinity of the region classified as the transported object L, even if a part of the transported object L is classified as another object due to an error in segmentation, the region in which the transported object L is imaged is missing. Can be prevented.
  • the distribution identifying unit 1721 uses the three-dimensional position of the bottom surface of the vessel 210 identified by the model fitting unit 1705 and the transported object point cloud data generated by the three-dimensional data generation unit 1703 to determine the amount of the transported object L in the vessel 210. Generate a Bessel map showing the distribution of.
  • the vessel map is, for example, an elevation map of the transported object L based on the bottom surface of the vessel 210.
  • the guidance information generation unit 1707 generates guidance information from the Bessel map generated by the distribution identification unit 1721.
  • FIG. 12 is an example of guidance information according to the third embodiment.
  • the guidance information generation unit 1707 generates guidance information that displays a two-dimensional heat map showing the distribution of the height from the bottom surface of the vessel 210 to the surface of the transported object L.
  • the granularity of vertical and horizontal division in the heat map shown in FIG. 12 is an example, and is not limited to this in other embodiments.
  • the heat map according to another embodiment may represent the ratio of the height of the transported object L to the height related to the upper limit of loading of the vessel 210, for example.
  • FIG. 13 is a flowchart showing a method of displaying guidance information by the control device according to the third embodiment.
  • the data acquisition unit 1701 acquires the position and azimuth of the revolving structure 120 from the position/orientation calculator 123 via the interface 94, acquires the tilt of the revolving structure 120 from the inclination detector 124, and acquires the stereo image from the stereo camera 125. Is acquired (step S51).
  • the data acquisition unit 1701 may not acquire the angle of the work machine 110, the position, the azimuth, and the inclination of the revolving structure 120.
  • the area specifying unit 1702 inputs the stereo image acquired by the data acquiring unit 1701 to the segmentation model M stored in the storage 93, thereby dividing the segment image divided into a plurality of areas for each captured object. Get (step S52).
  • the area specifying unit 1702 specifies an area in which the vessel 210 appears and an area in which the transported object L appears in the stereo image acquired by the data acquiring unit 1701 based on the segment image (step S53).
  • the three-dimensional data generation unit 1703 determines, from each of the right-eye image and the left-eye image of the stereo image, the partial right-eye image and the partial left-eye image related to the region in which the vessel 210 identified in step S3 appears, and the part related to the region in which the transported object L appears The right-eye image and the partial left-eye image are extracted (step S54).
  • the three-dimensional data generation unit 1703 generates Bessel point cloud data related to the vehicle body coordinate system by triangulation based on the partial right-eye image and the partial left-eye image related to the region where the vessel 210 appears and the camera parameter CP.
  • the three-dimensional data generation unit 1703 generates the conveyed object point cloud data related to the vehicle body coordinate system by triangulation based on the partial right-eye image and the partial left-eye image related to the area where the conveyed object L appears, and the camera parameter CP. .. (Step S55).
  • the three-dimensional data generation unit 1703 determines the position of each point in the vehicle body coordinate system of the Bessel point cloud data and the conveyed object point cloud data based on the position, orientation, and inclination of the revolving structure 120. The position is converted (step S56).
  • the loading/unloading target identifying unit 1704 identifies a three-dimensional feature amount for each point of the Bessel point cloud data obtained in step S56, and groups the Bessel point cloud data for each surface of the vessel 210 based on the three-dimensional feature amount. Yes (step S57).
  • the model fitting unit 1705 displays in the on-site coordinate system so that the difference between the three-dimensional feature amount of the Bessel point cloud data related to each group and the three-dimensional feature amount of the target model D stored in the storage 93 is minimized.
  • the distribution specifying unit 1721 uses the bottom surface of the vessel 210 as a reference height based on the transported object point cloud data generated in step S55 and the target model D arranged in step S58, and displays the height in the vertically upward direction.
  • a Bessel map which is a motion map, is generated (step S59).
  • the vessel map may include a grid that has no height data.
  • the distribution specifying unit 1721 determines the elevation map with the XY plane as the reference height and the Z-axis direction as the height direction. Can be generated.
  • the guidance information generation unit 1707 generates the guidance information shown in FIG. 12 based on the Bessel map (step S60).
  • the display control unit 1708 outputs a display signal for displaying the guidance information to the display device 128 (step S61).
  • the control device 127 specifies the three-dimensional positions of the surface of the transported object L and the bottom surface of the vessel 210 based on the captured image, and the transportation in the vessel 210 based on these.
  • a Bessel map showing the distribution of the quantity of the object L is generated. Accordingly, the control device 127 can specify the distribution of the transported material L in the vessel 210.
  • the operator can recognize the unloading position of the conveyed goods L for loading the conveyed goods L in the vessel 210 in a well-balanced manner.
  • control device 127 generates guidance information based on the Bessel map, but the present invention is not limited to this.
  • the control device 127 may control the hydraulic excavator 100 as in the second embodiment based on the Bessel map.
  • the work machine control unit 1711 generates a control signal for raising the boom 111 when the height of the bucket 113 is lower than the height of the vessel 210 or the height of the peak of the distribution of the transported material L in the vessel map.
  • the work machine control unit 1711 stops the output of the control signal for raising the boom 111 when the height of the bucket 113 becomes equal to or higher than the height of the vessel 210 and the peak height of the distribution of the transported material L in the vessel map, The output of the control signal for turning the turning body 120 is started.
  • the work machine control unit 1711 determines that the height of the bucket 113 is equal to or higher than the height of the vessel 210 and the height of the peak of the distribution of the transported object L in the vessel map, and the position when viewed in plan from above the bucket 113 is: When it is located within the range of the vessel 210 specified from the position of the vessel 210, the output of the control signal for rotating the revolving structure 120 is stopped and the control signal for dumping the bucket 113 is generated.
  • the control device 127 according to the third embodiment specifies the three-dimensional position of the bottom surface of the vessel 210 by matching the target model D with the vessel point cloud data.
  • the control device 127 according to the fourth embodiment specifies the three-dimensional position of the bottom surface of the vessel 210 without using the target model D. That is, the control device 127 according to the fourth embodiment does not have to store the target model D in the storage 93.
  • the model fitting unit 1705 transforms a rectangular parallelepiped polygon having no top surface so as to best match the Bessel point group data, based on the Bessel point group data.
  • the model fitting unit 1705 identifies the position of the bottom surface of the matched rectangular parallelepiped polygon as the position of the bottom surface of the vessel 210.
  • the position of the bottom surface of the vessel 210 can be specified without using the target model D of the vessel 210. Further, according to the fourth embodiment, the position of the bottom surface of the vessel 210 can be specified even if noise is included in the vessel point cloud data.
  • FIG. 14 is a diagram illustrating an example of image segmentation according to the fifth embodiment.
  • the region in which the vessel 210 appears is represented by one segment.
  • the segmentation model M according to the fifth embodiment as to the image in which the vessel 210 is captured, as shown in FIG. 14, a region in which a guard frame is captured, a region in which a front panel is captured, a region in which side gates are captured, and a region in which tail gates are captured. Used to generate segmented images.
  • the control device 127 according to the fifth embodiment does not need to include the unloading target specifying unit 1704 in the configuration of the first embodiment.
  • the operations of the area specifying unit 1702, the three-dimensional data generating unit 1703, and the model fitting unit 1705 of the control device 127 according to the fifth embodiment are different.
  • the area specifying unit 1702 inputs the right-eye image of the stereo image acquired by the data acquisition unit 1701 to the segmentation model M stored in the storage 93, thereby making the right-eye image a plurality of areas corresponding to a plurality of known objects. Split into.
  • the plurality of known objects includes at least a guard frame, a front panel, a side gate, and a tail gate.
  • the three-dimensional data generation unit 1703 generates point cloud data for each area of the guard frame, front panel, side gate, and tail gate from the stereo image.
  • the model fitting unit 1705 arranges the target model D in the virtual space represented by the on-site coordinate system based on the positions of the point cloud data of the guard frame, the front panel, the side gates, and the tail gates. The position, orientation, and tilt of 210 in the field coordinate system are identified.
  • FIG. 15 is a flowchart showing a method of displaying guidance information by the control device according to the fifth embodiment.
  • the data acquisition unit 1701 acquires the angle of the work machine 110 from the work machine position detector 122 via the interface 94, acquires the position and azimuth of the revolving structure 120 from the position/azimuth calculator 123, and the inclination detector.
  • the tilt of the revolving structure 120 is acquired from 124, and a stereo image is acquired from the stereo camera 125 (step S71).
  • the data acquisition unit 1701 may not acquire the angle of the work machine 110, the position, the azimuth, and the inclination of the revolving structure 120.
  • the area specifying unit 1702 inputs the stereo image acquired by the data acquiring unit 1701 to the segmentation model M stored in the storage 93, thereby dividing the segment image divided into a plurality of areas for each captured object. Get (step S72).
  • the area specifying unit 1702 specifies an area for each surface of the vessel 210 in the stereo image acquired by the data acquiring unit 1701 based on the segment image (step S73). That is, the area identifying unit 1702 identifies an area in which the guard frame is captured, an area in which the front panel is captured, an area in which the side gate is captured, and an area in which the tail gate is captured.
  • the three-dimensional data generation unit 1703 extracts the partial right-eye image and the partial left-eye image related to each surface identified in step S73 from each of the right-eye image and the left-eye image of the stereo image (step S74).
  • the three-dimensional data generation unit 1703 generates point cloud data of each surface related to the vehicle body coordinate system by triangulation based on the partial right eye image and the partial left eye image and the camera parameter CP (step S75).
  • the three-dimensional data generation unit 1703 determines the position of each point in the vehicle body coordinate system of the point cloud data of each surface based on the position, orientation, and inclination of the revolving structure 120, and the position of each point in the on-site coordinate system. (Step S76).
  • the point cloud data is already divided into groups for each surface without specifying the three-dimensional feature amount.
  • the model fitting unit 1705 uses the virtual space represented by the on-site coordinate system so that the difference between the position of the point cloud data related to each group and the position of each surface of the target model D stored in the storage 93 is minimized.
  • the target model D By arranging the target model D in, the position, orientation, and inclination of the vessel 210 in the on-site coordinate system are specified (step S77).
  • the work implement position specifying unit 1706 determines the boom 111, the arm 112, and the bucket 113 in the site coordinate system based on the angle of the work implement 110 and the position, azimuth, and inclination of the revolving unit 120 acquired by the data acquisition unit 1701. The position is specified (step S78).
  • the guidance information generation unit 1707 determines the position, orientation, and tilt of the vessel 210 identified in step S77, the positions of the boom 111, the arm 112, and the bucket 113 identified in step S78, and the swing structure 120 acquired in step S71.
  • Guidance information is generated based on the position, azimuth, and inclination (step S79).
  • the display control unit 1708 outputs a display signal for displaying the guidance information to the display device 128 (step S80).
  • the control device 127 causes the segmentation model M to divide each surface of the vessel 210 into different regions. Accordingly, the control device 127 can perform matching between the three-dimensional data and the three-dimensional model without calculating the three-dimensional feature amount.
  • control device 127 generates three-dimensional data from a stereo image based on triangulation, but the present invention is not limited to this.
  • control device 127 may generate three-dimensional data using a learned model that outputs a depth image by inputting a stereo image.
  • segmentation model M may be learned by inputting a stereo image and outputting a depth image divided into regions for each object.
  • control device 127 specifies the position, azimuth and inclination of the vessel 210, but the other embodiments are not limited to this.
  • the control device 127 according to another embodiment may specify the position of the vessel 210 and not the azimuth and inclination.
  • control device 127 according to another embodiment may specify the position and orientation of the vessel 210 and not the tilt.
  • the control device 127 is mounted on the hydraulic excavator 100, but the present invention is not limited to this.
  • the control device 127 according to another embodiment may be provided in a remote server device.
  • the control device 127 may be realized by a plurality of computers. In this case, a part of the configuration of the control device 127 may be provided in a remote server device. That is, the control device 127 may be implemented as an image processing system including a plurality of devices.
  • the hydraulic excavator 100 may be a fully autonomous or partially autonomous hydraulic excavator. Further, a display signal for displaying guidance information may be transmitted to a remote cab for remotely operating the work machine.
  • the loading/unloading target according to the above-described embodiment is the vessel 210 of the dump truck 200, but is not limited to this.
  • the loading/unloading target according to another embodiment may be another loading/unloading target such as a hopper.
  • the operations described by using the flowcharts in the above-described embodiment are not limited to those executed in the order described above.
  • the grouping of the faces in step S7 and the pose identification of the vessel in step S8 are performed.
  • the coordinate transformation may be performed after the surface grouping in step S7 or the orientation of the vessel in step S8.
  • the order of processing can be changed as appropriate.
  • control device of the hydraulic excavator 100 specifies the position of the vessel 210, but the position is not limited to this.
  • controls for other work machines such as mobile cranes, work machines such as dump trucks, wheel loaders, bulldozers, or monitoring equipment installed on-site may be used in the vessel 210.
  • the position may be specified.
  • the image processing system can improve the robustness of the process of specifying the unloading target.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Operation Control Of Excavators (AREA)

Abstract

本発明に係る画像処理システムにおいて、データ取得部は、作業機械の運搬物の積み下ろし対象が写る撮像画像を取得する。領域特定部は、撮像画像から積み下ろし対象を含む領域を特定する。積み下ろし対象特定部は、積み下ろし対象を含む領域から積み下ろし対象の少なくとも一つの所定の面を特定する。

Description

画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット
 本発明は、画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセットに関する。
 本願は、2019年2月1日に日本に出願された特願2019-017400号について優先権を主張し、その内容をここに援用する。
 特許文献1には、油圧ショベルに備えられた撮像装置によって撮像された画像からエッジを抽出することで、ダンプトラックのベッセルの位置を特定する技術が開示されている。
特開2000-192514号公報
 ところで、積込機械が存在する現場においては、道路が舗装されていないことがあり、地表に轍が生成される。轍とダンプトラックとが写る画像からエッジを抽出すると、ダンプトラックのエッジに加え、轍のエッジも生じる。そのため、特許文献1に記載の技術により撮像画像からダンプトラックのベッセル位置を特定する場合、轍の存在により、適切にベッセルの位置を特定することができない可能性がある。
 本発明の目的は、撮像画像から運搬物の積み下ろし対象を特定する処理のロバスト性を向上することができる画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセットを提供することを目的とする。
 本発明の一態様によれば、画像処理システムは、作業機械の運搬物の積み下ろし対象が写る撮像画像を取得するデータ取得部と、前記撮像画像から前記積み下ろし対象を含む領域を特定する領域特定部と、前記積み下ろし対象を含む領域から前記積み下ろし対象の少なくとも一つの所定の面を特定する積み下ろし対象特定部と、を備える。
 上記態様によれば、画像処理システムは、積み下ろし対象を特定する処理のロバスト性を向上することができる。
一実施形態に係る積込場の構成を示す図である。 一実施形態に係る油圧ショベルの外観図である。 第1の実施形態に係る制御装置の構成を示す概略ブロック図である。 第1の実施形態に係る画像のセグメンテーションの例を示す図である。 ニューラルネットワークの構成の例を示す図である。 ガイダンス情報の一例である。 第1の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。 第1の実施形態に係るセグメンテーションモデルの学習方法を示すフローチャートである。 第2の実施形態に係る制御装置の構成を示す概略ブロック図である。 第2の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。 第3の実施形態に係る制御装置の構成を示す概略ブロック図である。 第3の実施形態に係るガイダンス情報の一例である。 第3の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。 第5の実施形態に係る画像のセグメンテーションの例を示す図である。 第5の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
〈第1の実施形態〉
 以下、図面を参照しながら実施形態について詳しく説明する。
 図1は、一実施形態に係る積込場の構成を示す図である。
 積込場には、積込機械である油圧ショベル100と運搬車両であるダンプトラック200とが配備される。油圧ショベル100は、施工現場から土砂等の運搬物Lをすくい、ダンプトラック200に積み込む。ダンプトラック200は、油圧ショベル100によって積み込まれた運搬物Lを所定の排土場に運搬する。ダンプトラック200は、運搬物Lを収容する容器であるベッセル210を備える。ベッセル210は、運搬物Lの積み下ろし対象の一例である。積込場は、現場の一例である。現場とは、積込機械による作業が行われる土地である。
《油圧ショベルの構成》
 図2は、一実施形態に係る油圧ショベルの外観図である。
 油圧ショベル100は、油圧により作動する作業機110と、作業機110を支持する旋回体120と、旋回体120を支持する走行体130とを備える。
 作業機110は、ブーム111と、アーム112と、バケット113と、ブームシリンダ114と、アームシリンダ115と、バケットシリンダ116とを備える。
 ブーム111は、アーム112およびバケット113を支える支柱である。ブーム111の基端部は、旋回体120の前部にブームピンP1を介して取り付けられる。
 アーム112は、ブーム111とバケット113とを連結する。アーム112の基端部は、ブーム111の先端部にアームピンP2を介して取り付けられる。
 バケット113は、土砂などを掘削するための刃を有する容器である。バケット113の基端部は、アーム112の先端部にバケットピンP3を介して取り付けられる。
 ブームシリンダ114は、ブーム111を作動させるための油圧シリンダである。ブームシリンダ114の基端部は、旋回体120に取り付けられる。ブームシリンダ114の先端部は、ブーム111に取り付けられる。
 アームシリンダ115は、アーム112を駆動するための油圧シリンダである。アームシリンダ115の基端部は、ブーム111に取り付けられる。アームシリンダ115の先端部は、アーム112に取り付けられる。
 バケットシリンダ116は、バケット113を駆動するための油圧シリンダである。バケットシリンダ116の基端部は、アーム112に取り付けられる。バケットシリンダ116の先端部は、バケット113に取り付けられる。
 旋回体120には、オペレータが搭乗する運転室121が備えられる。運転室121は、旋回体120の前方かつ作業機110の左側(+Y側)に備えられる。
《油圧ショベルの制御系》
 油圧ショベル100は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、操作装置126、制御装置127、表示装置128を備える。
 作業機位置検出器122は、作業機110の角度を検出する。第1の実施形態に係る作業機位置検出器122は、ブームシリンダ114、アームシリンダ115、およびバケットシリンダ116のそれぞれのストローク長を検出するストローク検出器である。これにより、後述する制御装置127は、ブームシリンダ114、アームシリンダ115、およびバケットシリンダ116のそれぞれのストローク長に基づいて作業機110の角度を検出することができる。他方、他の実施形態においては、これに限られず、作業機位置検出器122として、ストローク検出器に代えて、またはストローク検出器と併用して、IMU,ロータリーエンコーダや水平器等の角度検出器を用いてもよい。
 位置方位演算器123は、旋回体120の位置および旋回体120が向く方位を演算する。位置方位演算器123は、GNSS(Global Navigation Satellite System)を構成する人工衛星から測位信号を受信する2つの受信器を備える。2つの受信器は、それぞれ旋回体120の異なる位置に設置される。位置方位演算器123は、少なくとも一方の受信器が受信した測位信号に基づいて、現場座標系における旋回体120の代表点(車体座標系の原点)の位置を検出する。
 位置方位演算器123は、2つの受信器がそれぞれ受信した測位信号を用いて、検出された2つの測位信号が示す位置と2つの受信器の接地位置とに基づいて旋回体120の方位を演算する。なお、他の実施形態に係る位置方位演算器123は、2つの受信器に代えて、ロータリーエンコーダやIMUなどの他の装置を備えることで旋回体120の方位を計測してもよい。
 傾斜検出器124は、旋回体120の加速度および角速度を計測し、計測結果に基づいて旋回体120の傾き(例えば、X軸に対する回転を表すロール、Y軸に対する回転を表すピッチ、およびZ軸に対する回転を表すヨー)を検出する。傾斜検出器124は、例えば運転室121の下面に設置される。傾斜検出器124は、例えば、慣性計測装置であるIMU(Inertial Measurement Unit)を用いることができる。
 ステレオカメラ125は、運転室121の上部に設けられる。ステレオカメラ125は、運転室121内の前方(+X方向)かつ上方(+Z方向)に設置される。ステレオカメラ125は、運転室121前面のフロントガラスを通して、運転室121の前方(+X方向)を撮像する。ステレオカメラ125は、少なくとも1対のカメラを備える。
 操作装置126は運転室121の内部に設けられる。操作装置126は、オペレータによって操作されることで作業機110のアクチュエータに作動油を供給する。操作装置126の操作量に応じて、ブームシリンダ114、アームシリンダ115、バケットシリンダ116、および図示しない旋回モータに作動油が供給され、作業機110および旋回体120が駆動する。
 制御装置127は、作業機位置検出器122、位置方位演算器123、傾斜検出器124およびステレオカメラ125から情報を取得し、バケット113とダンプトラック200のベッセルとの位置関係を示すガイダンス情報を生成する。
 表示装置128は、制御装置127が生成したガイダンス情報を表示する。
 なお、実施形態によっては、油圧ショベル100は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、および表示装置128を備えないものであってもよい。
《ステレオカメラの構成》
 第1の実施形態においては、ステレオカメラ125は、右側カメラ1251および左側カメラ1252を備える。各カメラの例としては、例えばCCD(Charge Coupled Device)センサ、およびCMOS(Complementary Metal Oxide Semiconductor)センサを用いたカメラが挙げられる。
 右側カメラ1251と左側カメラ1252は、それぞれ光軸が運転室121の床面に対して略平行となるように、左右方向(Y軸方向)に間隔を空けて設置される。ステレオカメラ125は撮像装置の一例である。制御装置127は、右側カメラ1251が撮像した画像と左側カメラ1252が撮像した画像とを用いることで、ステレオカメラ125と撮像対象との距離を算出することができる。以下、右側カメラ1251が撮像した画像を右目画像ともいう。また、左側カメラ1252が撮像した画像を左目画像ともいう。また、ステレオカメラ125の各カメラが撮像した画像の組み合わせをステレオ画像ともいう。なお、他の実施形態においては、ステレオカメラ125は、3個以上のカメラによって構成されてもよい。
《制御装置の構成》
 図3は、第1の実施形態に係る制御装置の構成を示す概略ブロック図である。
 制御装置127は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
 ストレージ93には、作業機110を制御するためのプログラムが記憶されている。ストレージ93の例としては、HDD(Hard Disk Drive)、不揮発性メモリ等が挙げられる。ストレージ93は、制御装置127のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介して制御装置127に接続される外部メディアであってもよい。ストレージ93は、記憶部の一例である。
 プロセッサ91は、ストレージ93からプログラムを読み出してメインメモリ92に展開し、プログラムに従って処理を実行する。またプロセッサ91は、プログラムに従ってメインメモリ92に記憶領域を確保する。メインメモリ92は、記憶部の一例である。インタフェース94は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、表示装置128、およびその他の周辺機器と接続され、信号の授受を行う。
 第1の実施形態に係る制御装置127は、表示装置128に、作業機械と運搬物の積み下ろし対象との相対位置を表すガイダンス情報を表示する。これにより、オペレータは、積み下ろし対象を視認しづらい場合であっても、ガイダンス情報を参照することで積み下ろし対象を認識することができる。
 そのため、プロセッサ91は、プログラムの実行により、データ取得部1701、領域特定部1702、三次元データ生成部1703、積み下ろし対象特定部1704、モデルフィッティング部1705、作業機位置特定部1706、ガイダンス情報生成部1707、表示制御部1708、学習部1709を備える。また、ストレージ93には、カメラパラメータCP、セグメンテーションモデルM、および対象モデルDが記憶される。カメラパラメータCPとは、旋回体120と右側カメラ1251との位置関係、および旋回体120と左側カメラ1252との位置関係を示す情報である。対象モデルDは、ベッセル210の形状を表す三次元データである。
 なお、プログラムは、制御装置127に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ93に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置127は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
 データ取得部1701は、インタフェース94を介して作業機位置検出器122、位置方位演算器123、傾斜検出器124、およびステレオカメラ125からデータを取得する。すなわち、データ取得部1701は、作業機110の角度、旋回体120の位置、方位、および傾き、ならびにステレオ画像を取得する。データ取得部1701は、画像取得部の一例である。以下、旋回体120の位置、方位、および傾きを、旋回体120の姿勢ともいう。またステレオカメラ125は旋回体120に設けられるため、旋回体120の位置、方位、および傾きは、ステレオカメラ125の姿勢を表す。
 図4は、第1の実施形態に係る画像のセグメンテーションの例を示す図である。
 領域特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶されたセグメンテーションモデルMに入力することで、右目画像を、既知の複数の物体に対応する複数の領域に分割する。例えば、領域特定部1702は、入力画像である右目画像を、図4に示すように、ダンプトラック200の車体、ベッセル210、運搬物L、作業機110、および地面の5つの物体に対応する複数の領域に分割したセグメント画像を生成する。なお、既知の複数の物体は、少なくとも積込対象であるベッセル210を含む。セグメント画像の各画素の値は、当該画素に対応する入力画像の画素に写る物体の種類を表す値をとる。すなわち、セグメント画像は、同じ値をとる複数の画素からなる複数の領域(セグメント)に分けられる。領域特定部1702は、セグメンテーションモデルMのセグメント画像に基づいて、データ取得部1701が取得したステレオ画像において、ベッセルが写る領域を特定する。
 セグメンテーションモデルMは、図5に示すニューラルネットワーク140を含む。図5は、ニューラルネットワークの構成の例を示す図である。セグメンテーションモデルMは、例えば、DNN(Deep Neural Network)の学習済みモデルによって実現される。学習済みモデルは、学習モデルと学習済みパラメータの組み合わせによって構成される。
 図5に示すようにニューラルネットワーク140は、入力層141、1つまたは複数の中間層142(隠れ層)、及び出力層143を含む。各層141,142,143は、1又は複数のニューロンを備えている。中間層142のニューロンの数は、適宜設定することができる。出力層143は、出力画像のサイズに応じて適宜設定することができる。
 互いに隣接する層のニューロン同士は結合されており、各結合には重み(結合荷重)が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
 入力層141には、画像が入力される。入力層141に入力する画像は、複数の領域(複数の物体)の少なくとも1つに該当する物体が写る画像である。出力層143には、各画素の値が、当該画素に対応する入力層141に入力する画像の対応する画素に写る物体の種類を表す値をとるセグメント画像が入力される。つまり、セグメンテーションモデルMは、画像が入力されると、当該画像に写る物体別に領域分けされたセグメント画像を出力するように訓練された学習済みモデルである。
 セグメンテーションモデルMは、例えば、積込場で撮像された画像を学習データとし、ダンプトラック200の車体、ベッセル210、運搬物L、作業機110、および地面の別に画素の値を分けたセグメント画像を教師データとする学習用データセットを用いて訓練される。なお、本実施形態において「学習データ」とは、学習モデルの訓練時に入力層に入力されるデータをいう。本実施形態において「教師データ」とは、ニューラルネットワーク140の出力層の値と比較するための正解となるデータである。本実施形態において「学習用データセット」とは、学習データと教師データの組み合わせをいう。
 学習によって得られたセグメンテーションモデルMの学習済みパラメータは、ストレージ93に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク140の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
 セグメンテーションモデルMのニューラルネットワーク140の構成としては、画像セグメンテーションに一般的に用いられるDNN構成が用いられる。セグメンテーションモデルMは、既存の学習済みのセグメンテーションモデルに、上記の学習用データセットを用いて転移学習したものであってもよい。なお、他の実施形態に係るセグメンテーションモデルMは、教師なし学習または強化学習によって訓練されたものであってもよい。
 三次元データ生成部1703は、領域特定部1702が特定したベッセル210が写る領域に基づいて、ステレオ画像の右目画像および左目画像のそれぞれから、当該領域に係る画素から構成される部分右目画像および部分左目画像を抽出する。なお、三次元データ生成部1703は、ベッセル210に分類された領域のみではなく、ベッセル210に分類された領域の近傍も含む領域から、部分右目画像および部分左目画像を抽出してもよい。例えば、三次元データ生成部1703は、ベッセル210に分類された領域に外接する矩形を上下左右に所定画素数だけ拡張した領域を、部分右目画像および部分左目画像として抽出してもよい。なお、ベッセル210に分類された領域の近傍も含む領域を抽出することで、セグメンテーションの誤りによってベッセルの一部が他の物体に分類された場合にもベッセル210が写る領域の欠落を防ぐことができる。
 三次元データ生成部1703は、部分右目画像および部分左目画像と、ストレージ93に記憶されたカメラパラメータCPと、データ取得部1701が取得した旋回体120の位置、方位、および傾きとに基づいて、ベッセル210が写る領域の現場座標系における位置を示す点群データを生成する。具体的には、三次元データ生成部1703は、以下の方法で点群データを生成する。まず、三次元データ生成部1703は、部分右目画像と、部分左目画像と、カメラパラメータCPとに基づく三角測量により、車体座標系に係る点群データを生成する。次に、三次元データ生成部1703は、旋回体120の位置、方位、および傾きに基づいて、車体座標系における各点の位置を、現場座標系における各点の位置に変換する。点群データは、撮像画像の被写体の三次元形状を表す三次元データの一例である。他の実施形態においては、三次元データとして、深度画像、ポリゴン、CADモデルなどを用いてもよい。
 積み下ろし対象特定部1704は、三次元データ生成部1703が生成した点群データの各点について、三次元特徴量(3D点群特徴量)を特定する。三次元特徴量の例としては、法線特徴、SHOT(Signature of Histograms of OrienTations)特徴、PFH(Point Feature Histograms)特徴などが挙げられる。例えば、点群に含まれるある点(注目点)の法線特徴は、注目点の周囲の点群の共分散行列の最小固有値に係る固有ベクトルを求めることで、得ることができる。積み下ろし対象特定部1704は、特徴量に基づいて、点群データをベッセル210の面ごとにグループ分けする。具体的には、積み下ろし対象特定部1704は、特徴量に基づいて、点群データを、フロントパネルに相当するグループ、サイドゲートに相当するグループ、テールゲートに相当するグループ、および底面に相当するグループに分ける。なお、ここで挙げた点群データの分割方法は一例であり、上記の4つ以外のグループに分けてもよい。例えば、他の実施形態においては、積み下ろし対象で隠れている可能性が高いため、積み下ろし対象特定部1704は、底面に相当するグループへのグループ分けを行わなくてもよい。積み下ろし対象特定部1704は、ベッセル面特定部の一例である。
 モデルフィッティング部1705は、面毎にグループ分けされた点群データの位置に基づいて、現場座標系で表される仮想空間に対象モデルDを配置することで、ベッセル210の現場座標系における位置、方位、および傾きを特定する。例えば、モデルフィッティング部1705は、点群データのグループの代表的な法線特徴と、ベッセル210の各面の法線特徴とが所定の誤差範囲内で一致するように、対象モデルDを配置する。なお、他の実施形態に係るモデルフィッティング部1705は、車体座標系またはカメラ座標系における各面の位置を特定してもよい。モデルフィッティング部1705は、姿勢特定部の一例である。モデルフィッティング部1705は、姿勢特定部の一例である。
 作業機位置特定部1706は、データ取得部1701が取得した作業機110の角度と旋回体120の位置、方位、および傾きとに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する。
 ガイダンス情報生成部1707は、モデルフィッティング部1705が特定したベッセル210の位置と、作業機位置特定部1706が特定したブーム111、アーム112、およびバケット113の位置と、データ取得部1701が取得した旋回体120の位置、方位、および傾きとに基づいて、ベッセル210とバケット113の位置関係を示すガイダンス情報を生成する。
 図6は、ガイダンス情報の一例である。ガイダンス情報生成部1707は、例えば図6に示すように、作業機位置特定部1706が特定したブーム111、アーム112、およびバケット113の位置と、旋回体120の位置、方位、および傾きとに基づいて、仮想空間上に油圧ショベル100の三次元モデルを配置する。またガイダンス情報生成部1707は、ダンプトラック200の三次元モデルの三次元特徴量と、モデルフィッティング部1705が特定したベッセル210の三次元特徴量と、の差が最小となるように、油圧ショベル100の三次元モデルを配置する。ガイダンス情報生成部1707は、仮想空間上に配置された油圧ショベル100およびダンプトラック200を任意の視点からレンダリングすることで、油圧ショベル100のバケット113とダンプトラック200のベッセル210との位置関係を表すガイダンス情報を生成する。
 なお、他の実施形態に係るガイダンス情報は、バケット113とベッセル210との位置関係をグラフィカルに描くものでなくてもよい。例えば、他の実施形態に係るガイダンス情報は、上方からの平面視においてバケット113がベッセル210の外枠内に位置するか否かを示す情報であってもよい。また、他の実施形態に係るガイダンス情報は、バケット113の目標の掘削位置の表示、またはバケット113の掘削位置に対するガイダンス情報(例えば、現状のバケット113の位置と目標の掘削位置との差分を示す情報、または表示)であってもよい。また、目標の掘削位置までどれくらいの操作が必要であるかを示す情報、または表示であってもよい。また、少なくともベッセル210とバケット113のみを表示するものであってもよい。
 表示制御部1708は、ガイダンス情報を表示する表示信号を表示装置128に出力する。
 学習部1709は、セグメンテーションモデルMの学習処理を行う。なお、学習部1709は、制御装置127と別個の装置に設けられてもよい。この場合、別個の装置において学習された学習済みモデルが、ストレージ93に記録されることとなる。
《表示方法》
 図7は、第1の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
 まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の角度を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS1)。なお、他の実施形態においては、データ取得部1701は、作業機110の角度、旋回体120の位置、方位および傾きを取得しなくてもよい。次に、領域特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶されたセグメンテーションモデルMに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る(ステップS2)。なお、他の実施形態においては、領域特定部1702は、左目画像からセグメント画像を得てもよい。領域特定部1702は、セグメント画像に基づいて、データ取得部1701が取得したステレオ画像において、ベッセルが写る領域を特定する(ステップS3)。
 三次元データ生成部1703は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップS3で特定したベッセル210が写る領域に係る部分右目画像および部分左目画像を抽出する(ステップS4)。三次元データ生成部1703は、部分右目画像および部分左目画像と、カメラパラメータCPとに基づく三角測量により、車体座標系に係る点群データを生成する(ステップS5)。次に、三次元データ生成部1703は、ステップS1で取得した旋回体120の位置、方位および傾きに基づいて、点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する(ステップS6)。すなわち、三次元データ生成部1703は、ステップS1で取得した旋回体120の位置に基づいて点群データを平行移動し、方位および傾きに基づいて点群データを回転させる。なお、車体座標系から現場座標系への座標変換は、後述のステップS7の後、またはステップS8の後に行われてもよい。
 積み下ろし対象特定部1704は、ステップS6で得られた点群データの各点について、三次元特徴量を特定し、三次元特徴量に基づいて点群データをベッセル210の面ごとにグループ分けする(ステップS7)。これにより、積み下ろし対象特定部1704は、点群データからベッセル210の各面を特定することができる。
 モデルフィッティング部1705は、各グループに係る点群データの三次元特徴量と、ストレージ93に記憶された対象モデルDの三次元特徴量との差が最小となるように、現場座標系で表される仮想空間に対象モデルDを配置することで、ベッセル210の現場座標系における位置、方位、および傾きを特定する(ステップS8)。モデルフィッティング部1705が、点群データに基づいて対象モデルDを仮想空間に配置することによって、ステレオ画像においてベッセル210の一部等が障害物によって隠れている場合にも、ベッセル210の隠れた部分を推定することができ、ベッセル210の認識精度を向上させることができる。なお、他の実施形態においては、モデルフィッティング部1705は、ステップS7でグループ分けしたある面、またはある面の特定の点と、対象モデルDの対応する面、または特定の点とをフィッティングすることで、現場座標系に対象モデルDを配置してもよい。なお、制御装置127は、対象モデルDのフィッティングを行わずとも、ステップS7で特定した各面からベッセル210の位置、方位、および傾きを特定することができる。例えば、制御装置127は、特定された複数の面の重心位置などからベッセル210の位置を特定し、フロントパネルまたはテールゲートに相当する面の法線方向からベッセルの方位を特定し、さらにベッセル210の底面の法線方向からベッセルの傾きを特定することができる。他方、点群データにおける各面が必ずしも正確に抽出できるとは限らないため、制御装置127は、対象モデルDのフィッティングを行うことで、ベッセル210の位置、方位、および傾きの特定において、よりロバスト性を向上することができる。
 作業機位置特定部1706は、データ取得部1701が取得した作業機110の角度と旋回体120の位置、方位、および傾きとに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS9)。
 ガイダンス情報生成部1707は、ステップS8で特定したベッセル210の位置、方位、および傾きと、ステップS9で特定したブーム111、アーム112、およびバケット113の位置と、ステップS1で取得した旋回体120の位置、方位、および傾きとに基づいて、図6に示すガイダンス情報を生成する(ステップS10)。表示制御部1708は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS11)。
《学習方法》
 図8は、第1の実施形態に係るセグメンテーションモデルの学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS101)。例えば、セグメンテーションモデルMにおける学習データは、積込場で撮像された画像、または3DCGやCADデータから生成された画像である。セグメンテーションモデルMの学習に用いる複数の学習データは、少なくともベッセル210が写る画像を含む。学習データは、ステレオカメラ125が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。
 次に、学習部1709は、セグメンテーションモデルMの学習を行う。学習部1709は、ステップS101で取得した学習データと、学習データに係る画像に写る物体に対応する複数の領域に分割したセグメント画像である教師データとの組み合わせを学習用データセットとして、セグメンテーションモデルMの学習を行う(ステップS102)。例えば、学習部1709は、学習データを入力として用いて、ニューラルネットワーク140の順伝播方向の演算処理を行う。これにより、学習部1709は、ニューラルネットワーク140の出力層143から出力される出力値を得る。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。次に、学習部1709は、出力層143からの出力値と、教師データとの誤差を算出する。学習部1709は、算出した出力値の誤差に基づき、各ニューロン間の結合の重みを更新する。
 学習部1709は、学習用データセットのうちセグメンテーションモデルMの学習に用いなかったものを評価データセットとして、評価データセットに係る学習データをセグメンテーションモデルMに入力し、セグメンテーションモデルMからの出力値が、評価データセットに係る教師データと一致するか否かを判定する(ステップS103)。なお、出力値と、教師データが異なる画素の数が所定数以内であれば、一致すると判定してもよい。セグメンテーションモデルMからの出力値が、教師データと一致しない場合(ステップS103:NO)、セグメンテーションモデルMからの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、セグメンテーションモデルMのパラメータが最適化され、セグメンテーションモデルMを学習させることができる。
 セグメンテーションモデルMからの出力値が、教師データと一致する場合(ステップS103:YES)、学習部1709は、学習によって最適化されたパラメータを含む学習済みモデルであるセグメンテーションモデルMを、ストレージ93に記録する(ステップS104)。
《作用・効果》
 このように、第1の実施形態によれば、制御装置127は、運搬物Lの積み下ろし対象であるベッセル210が写る撮像画像から、ベッセル210が写る領域を特定し、当該領域に基づいてベッセル210の位置を特定する。このように、第1の実施形態に係る制御装置127は、積み下ろし対象の位置を、画像に含まれるエッジによらずに特定することができる。これにより、第1の実施形態に係る制御装置127は、積み下ろし対象の変形等によってエッジが検出し難い場合においても、運搬物Lの積み下ろし対象の位置を特定する処理のロバスト性を向上することができる。また、ベッセル210に運搬物Lが積載されると、ベッセル210全体としての表面形状が変化するが、ベッセル210が写る領域を特定することで、運搬物Lとベッセル210とを識別することができるため、認識のロバスト性を向上することができる。なお、実施形態によっては、図7に示す制御装置127による処理のうち、ステップS2~ステップS6、ステップS8~S11の処理が実施されなくてもよい。
 また、第1の実施形態に係る制御装置127は、ガイダンス情報を表示する。これにより、油圧ショベル100とダンプトラック200との相対位置によってオペレータがベッセル210を視認しづらい場合であっても、制御装置127は、オペレータに積み下ろし対象を認識させることができる。また、ガイダンス情報として表示されるベッセル210を目安に作業機110を操作することによって、作業効率を高めることができる。
 また、第1の実施形態によれば、制御装置127は、セグメンテーションモデルMと撮像画像とに基づいて、撮像画像において前記積み下ろし対象が写る領域を特定する。機械学習に係る学習済みモデルによって、画像に含まれる物体の切り分けであるセグメンテーションを精度よく実現することができることが知られている、そのため、第1の実施形態によれば、制御装置127は、セグメンテーションモデルMを用いてベッセル210を認識することで、精度よくベッセル210の所定の部分の位置を特定することができる。なお、他の実施形態においては、これに限られず、制御装置127は、機械学習技術以外の手法によって画像に写る物体の切り分けを行ってもよい。
 また、第1の実施形態によれば、制御装置127は、特定した領域に係る部分右目画像および部分左目画像を用いて点群データを生成する。これにより、ステレオ画像の全画素を用いて点群データを生成する場合と比較して、計算量を削減することができる。また、セグメンテーションによって特定した領域以外の余計な領域(例えば、運搬物L、作業機110、地面などの領域)が省かれるので、積み下ろし対象特定部1704は、による点群データのグループにおいてノイズが混入する可能性を低減することができる。なお、他の実施形態に係る制御装置127は、ステレオ画像の全画素を用いて点群データを生成し、当該点群データから特定した領域に係る部分を抽出してもよい。
 また、他の実施形態においては、ステレオ画像に代えて、レーザスキャナが生成した距離画像を用いて、三次元データを生成してもよい。
 また、第1の実施形態に係る制御装置127は、撮像画像から、点群データを生成し、旋回体120の位置、方位および傾きに基づいて、点群データを現場座標系に配置する。これにより、油圧ショベル100の動作によりステレオカメラ125の位置、方位、および傾きが変わる場合にも、現場座標系におけるベッセル210の位置、方位、および傾きを特定することができる。なお、他の実施形態においては、ステレオカメラ125が施工現場に固設されたものである場合、旋回体120の位置、方位および傾きを得ることなく、点群データを現場座標系に配置してもよい。
〈第2の実施形態〉
 以下、図面を参照しながら第2の実施形態について説明する。第1の実施形態に係る制御装置127は、特定したベッセル210の位置、方位、および傾きに基づいてガイダンス情報を生成し、これをオペレータに提示する。これに対し、第2の実施形態に係る制御装置127は、特定したベッセル210の位置、方位、および傾きに基づいて作業機の積込作業を制御する。
《制御装置の構成》
 図9は、第2の実施形態に係る制御装置の構成を示す概略ブロック図である。
 第2の実施形態に係るプロセッサ91は、第1の実施形態に係るガイダンス情報生成部1707および表示制御部1708に代えて、作業機械制御部1711を備える。
 作業機械制御部1711は、オペレータによって、操作装置126に設けられた自動積込ボタンの押下がなされた場合に、モデルフィッティング部1705が特定したベッセル210の位置、方位、および傾きに基づいて、旋回体120および作業機110の挙動を制御する。
《油圧ショベルの制御方法》
 図10は、第2の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。
 自動積込ボタンが押下されると、制御装置127は、第1の実施形態のステップS1からステップS9までと同様の処理により、ベッセル210および作業機110の現場座標系における位置を特定する。そして、作業機械制御部1711は、ベッセル210および作業機110の現場座標系における位置に基づいて、旋回体120および作業機110の制御信号を生成し、出力する(ステップS31)。
 例えば、作業機械制御部1711は、バケット113の高さがベッセル210の高さより低い場合、ブーム111を上げる制御信号を生成する。作業機械制御部1711は、バケット113の高さがベッセル210の高さ以上になった場合、ブーム111を上げる制御信号の出力を停止し、旋回体120を旋回させる制御信号の出力を開始する。作業機械制御部1711は、バケット113の高さがベッセル210の高さ以上であり、かつバケット113の上方から平面視したときの位置が、ベッセル210の位置から特定されるベッセル210の範囲内に位置する場合、旋回体120を旋回させる制御信号の出力を停止し、バケット113をダンプさせる制御信号を生成する。
《作用・効果》
 このように、第2の実施形態によれば、制御装置127は、撮像画像に基づいて油圧ショベル100を自動制御することができる。
〈第3の実施形態〉
 以下、図面を参照しながら第3の実施形態について説明する。第3の実施形態に係る制御装置127は、ベッセル210における運搬物Lの量の分布を示すベッセルマップを表示装置128に表示させる。これにより、制御装置127は、オペレータに、ベッセル210にバランスよく運搬物Lを積み込むための運搬物Lの積み下ろし位置を認識させる。
 図11は、第3の実施形態に係る制御装置の構成を示す概略ブロック図である。
 第3の実施形態に係る制御装置127は、第1の実施形態に係る作業機位置特定部1706に代えて、分布特定部1721を備える。また、第3の実施形態に係る領域特定部1702、三次元データ生成部1703、ガイダンス情報生成部1707は、第1の実施形態と処理が異なる。
 領域特定部1702は、ステレオ画像においてベッセル210が写る領域に加え、運搬物Lが写る領域も特定する。
 三次元データ生成部1703は、ベッセル210が写る領域に係る三次元データであるベッセル点群データおよび運搬物Lが写る領域に係る三次元データである運搬物点群データを生成する。なお、三次元データ生成部1703は、運搬物Lに分類された領域のみではなく、運搬物Lに分類された領域の近傍も含む領域から、運搬物点群データを生成してもよい。例えば、三次元データ生成部1703は、運搬物Lに分類された領域に外接する矩形を上下左右に所定画素数だけ拡張した領域に基づいて運搬物点群データを生成してもよい。なお、運搬物Lに分類された領域の近傍も含む領域を抽出することで、セグメンテーションの誤りによって運搬物Lの一部が他の物体に分類された場合にも運搬物Lが写る領域の欠落を防ぐことができる。
 分布特定部1721は、モデルフィッティング部1705が特定したベッセル210の底面の三次元位置と、三次元データ生成部1703が生成した運搬物点群データとに基づいて、ベッセル210における運搬物Lの量の分布を示すベッセルマップを生成する。ベッセルマップは、例えばベッセル210の底面を基準とした運搬物Lのエレベーションマップである。
 ガイダンス情報生成部1707は、分布特定部1721が生成したベッセルマップからガイダンス情報を生成する。
 図12は、第3の実施形態に係るガイダンス情報の一例である。ガイダンス情報生成部1707は、例えば図12に示すように、ベッセル210の底面から運搬物Lの表面までの高さの分布を表す二次元のヒートマップを表示するガイダンス情報を生成する。図12に示すヒートマップにおける縦および横の分割の粒度は一例であり、他の実施形態ではこれに限られない。なお、他の実施形態に係るヒートマップは、例えばベッセル210の積載上限に係る高さに対する運搬物Lの高さの割合を表すものであってよい。
《表示方法》
 図13は、第3の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
 まず、データ取得部1701は、インタフェース94を介して位置方位演算器123から旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS51)。なお、他の実施形態においては、データ取得部1701は、作業機110の角度、旋回体120の位置、方位および傾きを取得しなくてもよい。次に、領域特定部1702は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶されたセグメンテーションモデルMに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る(ステップS52)。領域特定部1702は、セグメント画像に基づいて、データ取得部1701が取得したステレオ画像において、ベッセル210が写る領域および運搬物Lが写る領域を特定する(ステップS53)。
 三次元データ生成部1703は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップS3で特定したベッセル210が写る領域に係る部分右目画像および部分左目画像、および運搬物Lが写る領域に係る部分右目画像および部分左目画像を抽出する(ステップS54)。三次元データ生成部1703は、ベッセル210が写る領域に係る部分右目画像および部分左目画像と、カメラパラメータCPとに基づく三角測量により、車体座標系に係るベッセル点群データを生成する。また、三次元データ生成部1703は、運搬物Lが写る領域に係る部分右目画像および部分左目画像と、カメラパラメータCPとに基づく三角測量により、車体座標系に係る運搬物点群データを生成する。(ステップS55)。三次元データ生成部1703は、旋回体120の位置、方位、および傾きに基づいて、ベッセル点群データおよび運搬物点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する(ステップS56)。
 積み下ろし対象特定部1704は、ステップS56で得られたベッセル点群データの各点について、三次元特徴量を特定し、三次元特徴量に基づいてベッセル点群データをベッセル210の面ごとにグループ分けする(ステップS57)。モデルフィッティング部1705は、各グループに係るベッセル点群データの三次元特徴量と、ストレージ93に記憶された対象モデルDの三次元特徴量との差が最小となるように、現場座標系で表される仮想空間に対象モデルDを配置することで、ベッセル210の現場座標系における位置、方位、および傾きを特定する(ステップS58)。
 分布特定部1721は、ステップS55で生成した運搬物点群データと、ステップS58で配置した対象モデルDとに基づいて、ベッセル210の底面を基準高さとし、鉛直上方向に係る高さを表すエレベーションマップであるベッセルマップを生成する(ステップS59)。ベッセルマップは、高さデータを有しないグリッドを含みうる。なお、ステップS5において点群データがベッセル座標系に変換されている場合、分布特定部1721は、XY平面を基準高さとし、Z軸方向を高さ方向とするエレベーションマップを求めることでベッセルマップを生成することができる。
 ガイダンス情報生成部1707は、ベッセルマップに基づいて、図12に示すガイダンス情報を生成する(ステップS60)。表示制御部1708は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS61)。
《作用・効果》
 このように、第3の実施形態によれば、制御装置127は、撮像画像に基づいて、運搬物Lの表面およびベッセル210の底面の三次元位置を特定し、これらに基づいてベッセル210における運搬物Lの量の分布を示すベッセルマップを生成する。これにより、制御装置127は、ベッセル210における運搬物Lの分布を特定することができる。オペレータは、ベッセル210における運搬物Lの分布を認識することで、ベッセル210にバランスよく運搬物Lを積み込むための運搬物Lの積み下ろし位置を認識することができる。
 なお、第3の実施形態においては、制御装置127は、ベッセルマップに基づいてガイダンス情報を生成するが、これに限られない。例えば、他の実施形態においては、制御装置127は、ベッセルマップに基づいて第2の実施形態のように油圧ショベル100を制御してもよい。例えば、作業機械制御部1711は、バケット113の高さがベッセル210の高さまたはベッセルマップにおける運搬物Lの分布のピークの高さより低い場合、ブーム111を上げる制御信号を生成する。作業機械制御部1711は、バケット113の高さがベッセル210の高さおよびベッセルマップにおける運搬物Lの分布のピークの高さ以上になった場合、ブーム111を上げる制御信号の出力を停止し、旋回体120を旋回させる制御信号の出力を開始する。作業機械制御部1711は、バケット113の高さがベッセル210の高さおよびベッセルマップにおける運搬物Lの分布のピークの高さ以上であり、かつバケット113の上方から平面視したときの位置が、ベッセル210の位置から特定されるベッセル210の範囲内に位置する場合、旋回体120を旋回させる制御信号の出力を停止し、バケット113をダンプさせる制御信号を生成する。
〈第4の実施形態〉
 第3の実施形態に係る制御装置127は、ベッセル点群データに対象モデルDをマッチングさせることでベッセル210の底面の三次元位置を特定する。これに対し、第4の実施形態に係る制御装置127は、対象モデルDを用いずにベッセル210の底面の三次元位置を特定する。つまり、第4の実施形態に係る制御装置127は、ストレージ93に対象モデルDを記憶しなくてよい。
 第4の実施形態に係るモデルフィッティング部1705は、ベッセル点群データに基づいて、天面のない直方体ポリゴンを当該ベッセル点群データに最もマッチングするように変形させる。モデルフィッティング部1705は、マッチングした直方体ポリゴンの底面の位置を、ベッセル210の底面の位置として特定する。
 このように、第4の実施形態によれば、ベッセル210の対象モデルDを用いることなく、ベッセル210の底面の位置を特定することができる。また第4の実施形態によれば、ベッセル点群データにノイズが含まれていたとしても、ベッセル210の底面の位置を特定することができる。
〈第5の実施形態〉
 図14は、第5の実施形態に係る画像のセグメンテーションの例を示す図である。
 第1から第4の実施形態に係るセグメンテーションモデルMによって生成されるセグメント画像では、ベッセル210が写る領域を1つのセグメントによって表している。第5の実施形態に係るセグメンテーションモデルMは、ベッセル210が写る画像について、図14に示すように、ガードフレームが写る領域、フロントパネルが写る領域、サイドゲートが写る領域、およびテールゲートが写る領域に分けるセグメント画像を生成するように訓練されたものを用いる。
 第5の実施形態に係る制御装置127は、第1の実施形態の構成のうち積み下ろし対象特定部1704を備えなくてよい。他方、第5の実施形態に係る制御装置127の領域特定部1702、三次元データ生成部1703、およびモデルフィッティング部1705の動作が異なる。
 領域特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶されたセグメンテーションモデルMに入力することで、右目画像を、既知の複数の物体に対応する複数の領域に分割する。このとき、既知の複数の物体は、少なくともガードフレーム、フロントパネル、サイドゲート、およびテールゲートを含む。
 三次元データ生成部1703は、ステレオ画像から、ガードフレーム、フロントパネル、サイドゲート、およびテールゲートのそれぞれの領域に係る点群データを生成する。
 モデルフィッティング部1705は、ガードフレーム、フロントパネル、サイドゲート、およびテールゲートのそれぞれの点群データの位置に基づいて、現場座標系で表される仮想空間に対象モデルDを配置することで、ベッセル210の現場座標系における位置、方位、および傾きを特定する。
《表示方法》
 図15は、第5の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
 まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の角度を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS71)。なお、他の実施形態においては、データ取得部1701は、作業機110の角度、旋回体120の位置、方位および傾きを取得しなくてもよい。次に、領域特定部1702は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶されたセグメンテーションモデルMに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る(ステップS72)。領域特定部1702は、セグメント画像に基づいて、データ取得部1701が取得したステレオ画像において、ベッセル210の面毎に領域を特定する(ステップS73)。つまり、領域特定部1702は、ガードフレームが写る領域、フロントパネルが写る領域、サイドゲートが写る領域、およびテールゲートが写る領域をそれぞれ特定する。
 三次元データ生成部1703は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップS73で特定した各面に係る部分右目画像および部分左目画像を抽出する(ステップS74)。三次元データ生成部1703は、部分右目画像および部分左目画像と、カメラパラメータCPとに基づく三角測量により、車体座標系に係る各面の点群データを生成する(ステップS75)。次に、三次元データ生成部1703は、旋回体120の位置、方位、および傾きに基づいて、各面の点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する(ステップS76)。このとき、点群データは、三次元特徴量を特定することなく、すでに面ごとのグループに分けられている。
 モデルフィッティング部1705は、各グループに係る点群データの位置と、ストレージ93に記憶された対象モデルDの各面の位置との差が最小となるように、現場座標系で表される仮想空間に対象モデルDを配置することで、ベッセル210の現場座標系における位置、方位、および傾きを特定する(ステップS77)。
 作業機位置特定部1706は、データ取得部1701が取得した作業機110の角度と旋回体120の位置、方位、および傾きとに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS78)。
 ガイダンス情報生成部1707は、ステップS77で特定したベッセル210の位置、方位、および傾きと、ステップS78で特定したブーム111、アーム112、およびバケット113の位置と、ステップS71で取得した旋回体120の位置、方位、および傾きとに基づいて、ガイダンス情報を生成する(ステップS79)。表示制御部1708は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS80)。
《作用・効果》
 このように、第5の実施形態によれば、制御装置127は、セグメンテーションモデルMが、ベッセル210の各面を異なる領域に分割する。これにより、制御装置127は、三次元特徴量を算出することなく、三次元データと三次元モデルのマッチングを行うことができる。
〈他の実施形態〉
 以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
 例えば、上述の実施形態においては、制御装置127が三角測量に基づいてステレオ画像から三次元データを生成するが、これに限られない。例えば、他の実施形態に係る制御装置127は、ステレオ画像を入力することで深度画像を出力する学習済みモデルを用いて三次元データを生成してもよい。また他の実施形態においては、セグメンテーションモデルMが、ステレオ画像を入力することで、物体毎の領域に分割した深度画像を出力するように学習されたものであってもよい。
 また、上述の実施形態においては、制御装置127は、ベッセル210の位置、方位および傾きを特定するが、他の実施形態においてはこれに限られない。例えば、他の実施形態に係る制御装置127は、ベッセル210の位置を特定し、方位および傾きを特定しないものであってもよい。また例えば、他の実施形態に係る制御装置127は、ベッセル210の位置および方位を特定し、傾きを特定しないものであってもよい。
 また、上述の実施形態に係る制御装置127は、油圧ショベル100に搭載されるが、これに限られない。例えば、他の実施形態に係る制御装置127は、遠隔のサーバ装置に設けられてもよい。また、制御装置127は、複数のコンピュータから実現されるものであってもよい。この場合、制御装置127の一部の構成が遠隔のサーバ装置に設けられるものであってもよい。すなわち、制御装置127は、複数の装置からなる画像処理システムとして実装されてもよい。また、油圧ショベル100は、完全自律型、一部自律型の油圧ショベルであってもよい。また、ガイダンス情報を表示する表示信号を、作業機械を遠隔操作するための遠隔運転室に送信するものであってもよい。
 また、上述の実施形態に係る積み下ろし対象は、ダンプトラック200のベッセル210だが、これに限られない。例えば、他の実施形態に係る積み下ろし対象は、ホッパなどの他の積み下ろし対象であってもよい。
 また、上述の実施形態でフローチャートを用いて説明した動作は、上述した順番で実行されるものに限られない。例えば、図7に示すガイダンス情報の表示方法では、ステップS6で点群データの座標系を現場座標系に変換した後に、ステップS7での面のグループ分け、およびステップS8でのベッセルの姿勢特定を行うが、これに限られない。例えば、他の実施形態においては、ステップS7での面のグループ分け、またはステップS8でのベッセルの姿勢特定の後に座標変換を行ってもよい。同様に、他の動作についても、適宜処理の順番を入れ替えることができる。
 また、上述の実施形態では、油圧ショベル100の制御装置がベッセル210の位置を特定するが、これに限られない。例えば、他の実施形態においては、移動式クレーンなどの他の作業機械の制御装置、ダンプトラック、ホイールローダー、ブルドーザ等の作業機械の制御装置、または現場に備え付けられた監視装置が、ベッセル210の位置を特定してもよい。
 本発明の開示によれば、画像処理システムは、積み下ろし対象を特定する処理のロバスト性を向上することができる。
100…油圧ショベル 110…作業機 120…旋回体 130…走行体 122…作業機位置検出器 123…位置方位演算器 124…傾斜検出器 125…ステレオカメラ 127…制御装置 128…表示装置 1701…データ取得部 1702…領域特定部 1703…三次元データ生成部 1704…積み下ろし対象特定部 1705…モデルフィッティング部 1706…作業機位置特定部 1707…ガイダンス情報生成部 1708…表示制御部 1709…学習部

Claims (12)

  1.  作業機械のベッセルが写る撮像画像を取得するデータ取得部と、
     前記撮像画像から前記ベッセルを含む領域を特定する領域特定部と、
     前記領域特定部で特定された領域から前記ベッセルの少なくとも一つの所定の面を特定するベッセル面特定部と、
     を備える画像処理システム。
  2.  前記領域特定部は、入力画像を入力することで、複数の画素それぞれの値が当該画素に対応する前記入力画像の画素に写る物体の種類を表す値をとる出力画像を出力する学習済みモデルであるセグメンテーションモデルと、前記撮像画像とに基づいて、前記ベッセルを含む領域を特定する
     請求項1に記載の画像処理システム。
  3.  前記特定した面に基づいて前記ベッセルの位置を特定する姿勢特定部
     を備える請求項1または請求項2に記載の画像処理システム。
  4.  前記姿勢特定部は、前記特定した面に基づいて、さらに前記ベッセルの方位および姿勢を特定する
     請求項3に記載の画像処理システム。
  5.  前記撮像画像に基づいて、前記撮像画像の被写体の三次元形状を表す三次元データを生成する三次元データ生成部を備え、
     前記姿勢特定部は、前記領域に係る三次元データにおける前記少なくとも一つの所定の面に基づいて前記ベッセルの位置を特定する
     請求項3または請求項4に記載の画像処理システム。
  6.  前記姿勢特定部は、前記領域に係る三次元データにおける前記少なくとも一つの所定の面と、前記ベッセルの形状を示す三次元モデルである対象モデルとに基づいて、前記ベッセルの位置を特定する
     請求項5に記載の画像処理システム。
  7.  前記データ取得部は、前記撮像画像を撮像する撮像装置の撮像姿勢を取得し、
     前記姿勢特定部は、前記領域と前記撮像姿勢とに基づいて、前記ベッセルの現場における三次元位置を特定する
     請求項3から請求項6のいずれか1項に記載の画像処理システム。
  8.  前記三次元データ生成部は、前記撮像画像に基づいて、前記ベッセルに積み込まれた運搬物の三次元位置を表す運搬物三次元データを生成し、
     前記ベッセルにおける前記運搬物三次元データと、前記ベッセルの少なくとも一部の三次元位置とに基づいて、前記ベッセルにおける運搬物の量の分布を示す分布情報を生成する分布特定部
     を備える請求項5または請求項6に記載の画像処理システム。
  9.  作業機械の運搬物のベッセルが写る撮像画像を取得するステップと、
     前記撮像画像のうち前記ベッセルを含む領域を特定するステップと、
     前記ベッセルを含む領域から前記ベッセルの少なくとも一つの所定の面を特定するステップと
     を備える画像処理方法。
  10.  作業機械の運搬物のベッセルが写る撮像画像を入力することで、前記ベッセルを含む領域を出力するセグメンテーションモデルの学習済みモデルを生成する方法であって、
     作業機械の運搬物のベッセルが写る撮像画像を取得するステップと、
     前記ベッセルが写る撮像画像と、前記撮像画像に写るベッセルを含む領域を示す情報とを学習用データセットとして、前記セグメンテーションモデルを学習することで、学習済みモデルを生成するステップと
     を備える学習済みモデルの生成方法。
  11.  コンピュータに用いられ、セグメンテーションモデルを学習させるための学習用データセットであって、
     作業機械の運搬物のベッセルが写る撮像画像と、作業機械の運搬物のベッセルの領域を示す情報とを含み、
     前記コンピュータによって、前記セグメンテーションモデルを学習させる処理に用いられる学習用データセット。
  12.  作業機械の運搬物の積み下ろし対象が写る撮像画像を取得するデータ取得部と、
     前記撮像画像から前記積み下ろし対象を含む領域を特定する領域特定部と、
     前記積み下ろし対象を含む領域から前記積み下ろし対象の少なくとも一つの所定の面を特定する積み下ろし対象特定部と、
     を備える画像処理システム。
PCT/JP2020/002554 2019-02-01 2020-01-24 画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット WO2020158611A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/422,029 US20220101552A1 (en) 2019-02-01 2020-01-24 Image processing system, image processing method, learned model generation method, and data set for learning
DE112020000310.8T DE112020000310T5 (de) 2019-02-01 2020-01-24 Bildverarbeitungssystem, Bildverarbeitungsverfahren, Verfahren zur Erzeugung eines gelernten Modells und Datensatz zum Lernen
CN202080010943.6A CN113366533A (zh) 2019-02-01 2020-01-24 图像处理系统、图像处理方法、学习完毕模型的生成方法以及学习用数据集
KR1020217024275A KR20210110671A (ko) 2019-02-01 2020-01-24 화상 처리 시스템, 화상 처리 방법, 미리 학습된 모델의 생성 방법, 및 학습용 데이터 세트

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019017400A JP7365122B2 (ja) 2019-02-01 2019-02-01 画像処理システムおよび画像処理方法
JP2019-017400 2019-02-01

Publications (1)

Publication Number Publication Date
WO2020158611A1 true WO2020158611A1 (ja) 2020-08-06

Family

ID=71841008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/002554 WO2020158611A1 (ja) 2019-02-01 2020-01-24 画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット

Country Status (6)

Country Link
US (1) US20220101552A1 (ja)
JP (1) JP7365122B2 (ja)
KR (1) KR20210110671A (ja)
CN (1) CN113366533A (ja)
DE (1) DE112020000310T5 (ja)
WO (1) WO2020158611A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348781A (zh) * 2020-10-26 2021-02-09 广东博智林机器人有限公司 一种基准面高度检测方法、装置、设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6840645B2 (ja) * 2017-09-08 2021-03-10 株式会社小松製作所 施工管理装置および施工管理方法
JP7088691B2 (ja) * 2018-02-28 2022-06-21 株式会社小松製作所 積込機械の制御装置、制御方法および遠隔操作システム
JP7283332B2 (ja) * 2019-09-26 2023-05-30 コベルコ建機株式会社 容器計測システム
US11624171B2 (en) * 2020-07-31 2023-04-11 Baidu Usa Llc Engineering machinery equipment, and method, system, and storage medium for operation trajectory planning thereof
JP7484630B2 (ja) 2020-09-29 2024-05-16 コベルコ建機株式会社 積込ポイント決定システム
JP2022077328A (ja) * 2020-11-11 2022-05-23 日本電気株式会社 制御装置、制御システム、および制御方法
KR20230105967A (ko) * 2022-01-05 2023-07-12 (주)서울로보틱스 작업 현장을 모니터링하는 방법 및 장치
JP2023152458A (ja) * 2022-04-04 2023-10-17 日立建機株式会社 作業機械

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11211438A (ja) * 1998-01-22 1999-08-06 Komatsu Ltd 荷台積載体積計測装置
JP2000192514A (ja) * 1998-12-28 2000-07-11 Hitachi Constr Mach Co Ltd 自動運転建設機械およびその運転方法
JP2018041176A (ja) * 2016-09-05 2018-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 駐車位置特定方法、駐車位置学習方法、駐車位置特定システム、駐車位置学習装置およびプログラム
WO2019016870A1 (ja) * 2017-07-18 2019-01-24 株式会社ソニー・インタラクティブエンタテインメント 画像認識装置、画像認識方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008018398A1 (fr) * 2006-08-10 2008-02-14 Nec Corporation dispositif d'extraction de région d'objet
JP5597596B2 (ja) * 2011-06-07 2014-10-01 株式会社小松製作所 作業車両の周辺監視装置
US20140184643A1 (en) * 2012-12-27 2014-07-03 Caterpillar Inc. Augmented Reality Worksite
JP6159092B2 (ja) * 2013-01-18 2017-07-05 日野自動車株式会社 車両の荷台高さ調整システム
US10927527B2 (en) * 2015-09-30 2021-02-23 Komatsu Ltd. Periphery monitoring device for crawler-type working machine
KR102333772B1 (ko) * 2016-04-21 2021-11-30 스미토모 겐키 가부시키가이샤 쇼벨의 표시장치
JP2018146347A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2018173814A (ja) * 2017-03-31 2018-11-08 富士通株式会社 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法
JP2019016294A (ja) * 2017-07-10 2019-01-31 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及びシステム
JP6633575B2 (ja) 2017-07-11 2020-01-22 株式会社三共 遊技機
US10733752B2 (en) * 2017-07-24 2020-08-04 Deere & Company Estimating a volume of contents in a container of a work vehicle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11211438A (ja) * 1998-01-22 1999-08-06 Komatsu Ltd 荷台積載体積計測装置
JP2000192514A (ja) * 1998-12-28 2000-07-11 Hitachi Constr Mach Co Ltd 自動運転建設機械およびその運転方法
JP2018041176A (ja) * 2016-09-05 2018-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 駐車位置特定方法、駐車位置学習方法、駐車位置特定システム、駐車位置学習装置およびプログラム
WO2019016870A1 (ja) * 2017-07-18 2019-01-24 株式会社ソニー・インタラクティブエンタテインメント 画像認識装置、画像認識方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348781A (zh) * 2020-10-26 2021-02-09 广东博智林机器人有限公司 一种基准面高度检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR20210110671A (ko) 2021-09-08
CN113366533A (zh) 2021-09-07
DE112020000310T5 (de) 2021-11-04
JP7365122B2 (ja) 2023-10-19
JP2020126363A (ja) 2020-08-20
US20220101552A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
WO2020158611A1 (ja) 画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセット
US11414837B2 (en) Image processing system, display device, image processing method, method for generating trained model, and dataset for learning
US11494930B2 (en) Techniques for volumetric estimation
US9990543B2 (en) Vehicle exterior moving object detection system
CN110805093B (zh) 利用视觉传感器进行反馈回路控制的容器角度感测
US9133600B2 (en) Method for selecting an attack pose for a working machine having a bucket
AU2022209235B2 (en) Display control device and display control method
US8903689B2 (en) Autonomous loading
CN104302848A (zh) 用于挖掘机的俯视图系统
WO2020044848A1 (ja) 作業機械の運搬物特定装置、作業機械、作業機械の運搬物特定方法、補完モデルの生産方法、および学習用データセット
JP2018035645A (ja) 作業機械の画像表示システム
JPH11211473A (ja) 地形形状計測装置
JP7023813B2 (ja) 作業機械
Guevara et al. Point cloud-based estimation of effective payload volume for earthmoving loaders
Borthwick Mining haul truck pose estimation and load profiling using stereo vision
JP7390991B2 (ja) 作業機械および施工支援システム
JP7333551B2 (ja) 作業機械の画像表示システム
WO2024004984A1 (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: 20747710

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20217024275

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 20747710

Country of ref document: EP

Kind code of ref document: A1