WO2023175727A1 - 情報処理システム、情報処理方法及びプログラム - Google Patents

情報処理システム、情報処理方法及びプログラム Download PDF

Info

Publication number
WO2023175727A1
WO2023175727A1 PCT/JP2022/011645 JP2022011645W WO2023175727A1 WO 2023175727 A1 WO2023175727 A1 WO 2023175727A1 JP 2022011645 W JP2022011645 W JP 2022011645W WO 2023175727 A1 WO2023175727 A1 WO 2023175727A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
output
training data
model
reliability
Prior art date
Application number
PCT/JP2022/011645
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 PCT/JP2022/011645 priority Critical patent/WO2023175727A1/ja
Publication of WO2023175727A1 publication Critical patent/WO2023175727A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to an information processing system, an information processing method, and a program.
  • a large amount of training data is required to train a machine learning model, but preparing that data takes a lot of effort. On the other hand, if the amount of training data is reduced, the accuracy of the machine learning model may not be guaranteed.
  • the present invention has been made in view of the above circumstances, and its purpose is to provide a technology that improves the accuracy of machine learning models while suppressing the effort required to prepare training data.
  • an information processing system uses a machine learning model learned using training data and an output of the machine learning model when the input data is input, to determine the input data.
  • a reliability output means for outputting the reliability of the output;
  • a generation means for generating new training data based on the input data when the reliability satisfies a predetermined condition;
  • a learning control means for learning the learning model.
  • the information processing system includes a learned estimation model that outputs an estimation result based on the output of the machine learning model, and the reliability output means outputs the estimation result based on the output of the estimation model.
  • the reliability of the output of the machine learning model with respect to input data may be output.
  • the input data includes an image of the target object
  • the estimation model indicates key points for estimating the pose of the target object based on the output of the machine learning model.
  • An image may be output, and the reliability output means may output the reliability based on the image.
  • the estimated model outputs an image in which each point indicates a positional relationship with a key point
  • the reliability output means outputs a plurality of key point position candidates, each of which is output by the estimated model.
  • the reliability may be output based on variations in key point position candidates generated from mutually different points included in the image output by.
  • the reliability output means includes an output of the estimation model when an input image in which the target object is photographed is input to the estimation model, and an output of the estimation model when the input image is processed by a predetermined processing process.
  • the reliability may be output based on information indicating a difference from an output when the processed image is input to the estimation model.
  • the machine learning model may output information indicating whether the input data includes the target object.
  • the estimated model is trained using estimated training data
  • the generation means generates new estimated training data based on the input data when the reliability satisfies the predetermined condition.
  • the learning control means may cause the machine learning model to learn using the new training data.
  • the input data includes an image in which the target object is photographed, and the machine learning model outputs an image indicating key points for pose estimation of the target object based on the input data.
  • the reliability output means may output the reliability based on the image.
  • the training data may include a plurality of learning images rendered from a three-dimensional shape model and correct images each of which is correct data for the learning image.
  • the generating means includes a first additional image in which the input data is processed by a first processing process, and a first additional image in which the input data is processed by a second processing process different from the first processing process.
  • the learning control means generates new training data including a processed second additional image, and the learning control means generates new training data including an output when the first additional image is input to the machine learning model, and
  • the machine learning model may be trained based on the difference from the output when the second additional image is added.
  • the information processing method outputs the reliability of the output with respect to the input data based on the output of the machine learning model when the input data is input to the machine learning model learned by training data. If the reliability satisfies a predetermined condition, the method includes the steps of: generating new training data based on the input data; and learning a machine learning model using the new training data.
  • the program according to the present invention outputs the reliability of the output with respect to the input data, based on the output of the machine learning model when the input data is input to the machine learning model learned by training data,
  • a computer is caused to execute a process of generating new training data based on the input data and learning a machine learning model using the new training data.
  • FIG. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present invention.
  • FIG. 1 is a functional block diagram showing an example of functions implemented in an information processing system according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of an input image.
  • FIG. 3 is a diagram illustrating an example of key points of a target object.
  • FIG. 3 is a diagram schematically showing an example of a position image in a target area.
  • FIG. 3 is a flow diagram mainly showing an example of processing by a target area acquisition unit and a posture estimation unit.
  • FIG. 3 is a diagram illustrating the posture of a detected target object.
  • FIG. 2 is a flowchart schematically explaining learning of a discrimination model and an estimation model.
  • FIG. 2 is a flow diagram illustrating an example of a process for generating initial training data.
  • FIG. 3 is a diagram illustrating photographing a target object.
  • FIG. 3 is a flow diagram illustrating
  • This information processing system includes a machine learning model that determines whether at least a portion of a captured image includes an object, and a machine learning model that outputs information indicating the estimated pose of the object from the image that includes the object. Contains. Furthermore, the information processing system is configured to complete its learning in a short time. It is assumed that the required time is, for example, several tens of seconds to grasp and rotate an object, and several minutes for machine learning.
  • FIG. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present invention.
  • the information processing system includes an information processing device 10.
  • the information processing device 10 is, for example, a computer such as a game console or a personal computer.
  • the information processing device 10 includes, for example, a processor 11, a storage section 12, a communication section 14, an operation section 16, a display section 18, and a photographing section 20.
  • the information processing system may be composed of one information processing device 10 or may be composed of a plurality of devices including the information processing device 10.
  • the processor 11 is, for example, a program-controlled device such as a CPU that operates according to a program installed in the information processing device 10.
  • the storage unit 12 is made up of at least a portion of a storage element such as ROM or RAM, or an external storage device such as a solid state drive.
  • the storage unit 12 stores programs executed by the processor 11 and the like.
  • the communication unit 14 is a communication interface for wired or wireless communication, such as a network interface card, and exchanges data with other computers and terminals via a computer network such as the Internet.
  • the operation unit 16 is, for example, an input device such as a keyboard, a mouse, a touch panel, a game console controller, etc., and receives a user's operation input and outputs a signal indicating the content to the processor 11.
  • the display unit 18 is a display device such as a liquid crystal display, and displays various images according to instructions from the processor 11.
  • the display unit 18 may be a device that outputs a video signal to an external display device.
  • the photographing unit 20 is a photographing device such as a digital camera.
  • the photographing unit 20 according to the present embodiment is, for example, a camera capable of photographing moving images.
  • the photographing unit 20 may be a camera capable of acquiring visible RGB images.
  • the photographing unit 20 may be a camera capable of acquiring a visible RGB image and depth information synchronized with the RGB image.
  • the imaging unit 20 may be located outside the information processing device 10, and in this case, the information processing device 10 and the imaging unit 20 may be connected via the communication unit 14 or an input/output unit described below.
  • the information processing device 10 may include audio input/output devices such as a microphone and a speaker.
  • the information processing device 10 also includes, for example, a communication interface such as a network board, an optical disk drive that reads optical disks such as DVD-ROM and Blu-ray (registered trademark) disk, and an input/output device for inputting and outputting data with external devices. (USB (Universal Serial Bus) port).
  • USB Universal Serial Bus
  • FIG. 2 is a functional block diagram showing an example of functions implemented in an information processing system according to an embodiment of the present invention.
  • the information processing system functionally includes a target area acquisition section 21, a posture estimation section 25, a captured image acquisition section 33, a discrimination training data generation section 34, a discrimination learning section 35, and a shape model acquisition section 36. , an estimated training data generation section 37, an estimated learning section 38, and a reliability acquisition section 39.
  • the target region acquisition section 21 functionally includes a region extraction section 22, a feature extraction section 23, and a discrimination model 24.
  • the posture estimation section 25 functionally includes an estimation model 26, a key point determination section 27, and a posture calculation section 28. Both the identification model 24 and the estimation model 26 are types of machine learning models.
  • These functions are mainly implemented by the processor 11 and the storage unit 12. More specifically, these functions may be implemented by having the processor 11 execute a program installed in the information processing device 10, which is a computer, and including execution instructions corresponding to the above functions. Further, this program may be supplied to the information processing apparatus 10 via a computer-readable information storage medium such as an optical disk, a magnetic disk, or a flash memory, or via the Internet.
  • a computer-readable information storage medium such as an optical disk, a magnetic disk, or a flash memory, or via the Internet.
  • the target area acquisition unit 21 acquires the input image photographed by the photographing unit 20, and determines whether each of the one or more candidate areas 56 (see FIG. 3) included in the acquired input image corresponds to the image of the target object 51. Determine whether it is included.
  • the region extracting section 22 extracts the one or more candidate regions 56, and the feature extracting section 23 extracts a feature amount representing the feature of the image from each of the candidate regions 56.
  • the identification model 24 receives the feature amount as an image of the candidate area 56 and outputs information indicating whether the candidate area 56 includes the image of the target object 51 or not.
  • the target area acquisition unit 21 acquires the target area 55 including the image of the target object 51 extracted from the input image.
  • the target object 51 is an object whose orientation is to be estimated in the information processing device 10 .
  • the target object 51 is the target of prior learning.
  • FIG. 3 is a diagram showing an example of an input image.
  • the target object 51 is a power tool, and unless otherwise specified in the subsequent figures, examples of the target object 51 are assumed to be power tools.
  • the input image is photographed by the photographing unit 20, and the target area 55 is a rectangular area including the target object 51 and its vicinity. Note that in the process of acquiring the target area 55, one or more candidate areas 56 including areas that do not include the target object 51 are also extracted as candidates for the area including the target object 51.
  • the region extraction unit 22 extracts an image of a candidate region 56 that is a target of determination by the identification model 24 from the input image. More specifically, the region extraction unit 22 identifies one or more candidate regions 56 in which some object has been photographed from the input image using the well-known Region Proposal technique, and identifies each of the one or more candidate regions 56. Extract.
  • the identification model 24 is a machine learning model, and is trained using training data. When input data is input, the learned identification model 24 outputs data as a result of identification.
  • the input data input to the identification model 24 is information indicating an image of the candidate area 56, and is, for example, a feature quantity extracted from the image by the feature extraction unit 23. Further, when input data is input, the identification model 24 outputs information indicating whether the image of the candidate area 56 includes the image of the target object 51 or not.
  • the training data for the identification model 24 includes data indicating each of learning images including a plurality of positive example images including an image in which the target object 51 is photographed and a plurality of negative example images not including the target object 51. Details of the identification model 24 and its learning will be described later.
  • Each of the learning images may be an image of a region in which the target object 51 is present among the captured images. The region may be extracted using the same method as the region extracting section 22. Note that the discrimination model 24 is trained not only by the above-mentioned training data but also by additional training data.
  • the image of the candidate area 56 may be directly input to the identification model 24 without going through the feature extraction unit 23.
  • the region extraction unit 22 may not be present, although there is a risk that accuracy may be reduced.
  • the feature extraction unit 23 may extract features from the input image itself, and the identification model 24 may determine whether the target object 51 exists in the input image, or the input image may be directly input to the identification model 24. may be done.
  • the posture estimation unit 25 estimates the posture of the target object 51 based on information output when the target region 55 is input to the estimation model 26.
  • the estimation model 26 is a machine learning model, and is trained using training data. When input data is input, the learned estimation model 26 outputs data as an estimation result.
  • the training data includes a plurality of learning images rendered by the three-dimensional shape model of the target object 51 and correct data that is information regarding the posture of the target object 51 in the learning images.
  • Information indicating the image of the target area 55 is input to the trained estimation model 26, and the estimation model 26 outputs information indicating the position of a key point for estimating the pose of the target object.
  • the target area 55 is an image based on a candidate area 56 selected based on the output of the identification model 24.
  • the training data for the estimation model 26 includes a plurality of learning images rendered by the three-dimensional shape model of the target object 51 and correct data indicating the positions of key points of the target object 51 in the learning images.
  • a key point is a virtual point within the target object 51, and is a point used to calculate the posture.
  • the estimation model 26 is trained not only by the above-mentioned training data but also by additional training data.
  • the additional training data includes an image generated based on the input image, and whether or not to add training data based on the input image is determined based on the output of the estimation model 26.
  • FIG. 4 is a diagram showing an example of key points of the target object 51.
  • the three-dimensional positions of the key points of the target object 51 are determined from the three-dimensional shape model of the target object 51 (more specifically, the information on the vertices included in the three-dimensional shape model), for example, by the well-known Farthest Point algorithm.
  • three key points K1 to K3 are shown in FIG. 4 for ease of explanation, the actual number of key points may be larger.
  • the actual number of key points of the target object 51 is eight.
  • the trained estimation model 26 outputs information indicating the two-dimensional position of the key point of the target object 51 in the target area 55 when the target area 55 is input.
  • the two-dimensional position of the key point in the input image is determined from the two-dimensional position of the key point in the target area 55 and the position of the target area 55 in the input image.
  • the data indicating the position of the key point may be a position image in which each point indicates the positional relationship (for example, direction) between that point and the key point.
  • FIG. 5 is a diagram schematically showing an example of a position image in the target area 55.
  • a position image may be generated for each type of key point.
  • the position image shows the relative orientation of each point to the keypoint.
  • a pattern is described according to the value of each point, and the value of each point indicates the direction of the coordinates of that point and the coordinates of the key point.
  • FIG. 5 is only a schematic diagram, and the actual value of each point changes continuously.
  • the position image is a Vector Field image that shows the relative direction of the key point at each point with respect to that point.
  • the key point determining unit 27 determines the two-dimensional position of the key point in the target area 55 and the input image based on the output of the estimation model 26. More specifically, for example, the key point determining unit 27 calculates candidates for two-dimensional positions of key points in the target area 55 based on the position images output from the estimation model 26, and calculates candidates for two-dimensional positions of key points in the target area 55. The two-dimensional position of the key point in the input image is determined from the candidates. For example, the key point determining unit 27 calculates key point candidate points from each combination of arbitrary two points in the position image, and matches the direction indicated by each point in the position image with respect to the plurality of candidate points. Generates a score indicating whether the The key point determination unit 27 may estimate the candidate point with the highest score as the key point position. Further, the key point determination unit 27 repeats the above process for each key point.
  • the posture calculation unit 28 estimates the posture of the target object 51 based on information indicating the two-dimensional position of the key point in the input image and information indicating the three-dimensional position of the key point in the three-dimensional shape model of the target object 51. , output posture data indicating the estimated posture.
  • the pose of the target object 51 is estimated using a known algorithm. For example, it may be estimated by a method of solving a Perspective-n-Point (PNP) problem for pose estimation (eg, EPnP). Further, the posture calculation unit 28 may estimate not only the posture of the target object 51 but also the position of the target object 51 in the input image, and the posture data may include information indicating the position.
  • PNP Perspective-n-Point
  • the details of the estimation model 26, the key point determination unit 27, and the pose calculation unit 28 may be those described in the paper PVNet: Pixel-Wise Voting Network for 6DoF Pose Estimation.
  • the captured image acquisition section 33, the discrimination training data generation section 34, the discrimination learning section 35, the shape model acquisition section 36, the estimation training data generation section 37, the estimation learning section 38, and the reliability acquisition section 39 are configured to acquire the identification model 24 and the estimation model.
  • the identification model 24 and the estimation model 26 are trained in a short period of time, such as several seconds and several minutes, respectively, based on an image in which the target object 51 is photographed. After the operation of the target area acquisition unit 21 and posture estimation unit 25 based on 26, the identification model 24 and the estimation model 26 are trained again.
  • the photographed image acquisition section 33 acquires a photographed image of the target object 51 taken by the photographing section 20 in order to make the estimation model 26 included in the posture estimation section 25 and/or the identification model 24 included in the target area acquisition section 21 learn. get. It is assumed that the camera internal parameters of the photographing unit 20 have been acquired in advance through calibration. This parameter is used when solving the PnP problem.
  • the identification training data generation unit 34 generates positive example training data based on images that include the target object 51 and negative example training data based on images that do not include the target object 51.
  • the image including the target object 51 may be acquired by the photographed image acquisition unit 33.
  • the discrimination learning unit 35 causes the discrimination model 24 included in the target area acquisition unit 21 to learn, based on the training data generated by the discrimination training data generation unit 34.
  • the shape model acquisition unit 36 extracts a plurality of feature vectors representing local features for each of the plurality of photographed images of the target object 51 acquired by the photographed image acquisition unit 33, and The three-dimensional position of the point where the feature vector was extracted is determined from a plurality of mutually corresponding feature vectors and the position where the feature vector was extracted in the photographed image, and the three-dimensional shape of the target object 51 is determined based on the three-dimensional position. Get the model. This method is a well-known method that is also used in software that implements so-called SfM and Visual SLAM, so detailed explanation will be omitted.
  • the estimated training data generation unit 37 generates training data for learning the estimated model 26. More specifically, the estimated training data generation unit 37 generates, as initial training data, training data that includes a rendered training image and correct data indicating the positions of key points from the three-dimensional shape model of the target object 51. generate.
  • the estimation learning unit 38 causes the estimation model 26 included in the posture estimation unit 25 to learn using the training data generated by the estimation training data generation unit 37.
  • the reliability acquisition unit 39 acquires the reliability of the output of the machine learning model for the input data, based on the output of the machine learning model when the input data is input.
  • Obtaining the reliability based on the output of the machine learning model means, for example, calculating the reliability based on the output of the identification model 24, which is a machine learning model, and more specifically, the result of the subsequent processing that receives that output. This is to calculate the reliability based on the position image output by the estimation model 26.
  • FIG. 6 is a flow diagram mainly showing an example of processing by the target area acquisition unit 21 and the posture estimation unit 25. The process shown in FIG. 6 may be repeatedly executed periodically.
  • the region extraction section 22 included in the target region acquisition section 21 acquires an input image photographed by the photographing section 20 (S101).
  • the area extraction unit 22 may obtain the input image by directly receiving the input image from the imaging unit 20 or may obtain the input image received from the imaging unit 20 and stored in the storage unit 12. good.
  • the region extraction unit 22 extracts one or more candidate regions 56 in which some object is captured from the input image (S102).
  • the region extraction unit 22 may include a previously learned RPN (Regional Proposal Network).
  • the RPN may be learned using training data that is not related to images in which the target object 51 is photographed. This process reduces computational waste and ensures a certain degree of robustness to the environment.
  • the region extraction unit 22 may further perform processing processing, such as background removal processing (mask processing) and size adjustment, on the image of the extracted candidate region 56. Further, the processed image of the candidate area 56 may be used for subsequent processing. Through this processing, it becomes possible to reduce the domain gap caused by the background and illumination conditions, and to learn the identification model 24 with a small amount of training data.
  • processing processing such as background removal processing (mask processing) and size adjustment
  • the target area acquisition unit 21 determines whether each of the candidate areas 56 includes an image of the target object 51 (S103). This processing includes a process in which the feature extraction unit 23 extracts a feature amount from the image of the candidate region 56, and a process in which the identification model 24 outputs information indicating whether the candidate region 56 includes the target object 51 from the feature amount. including.
  • the feature extraction unit 23 outputs feature amounts corresponding to the image of the candidate area 56.
  • the feature extraction unit 23 includes a trained CNN (Convolutional Neural Network). This CNN outputs feature amount data (input feature amount data) indicating the feature amount corresponding to the image in response to the input of the image.
  • the feature extraction unit 23 may extract feature amounts from the image of the candidate region 56 extracted by RPN, or may obtain feature amounts extracted during RPN processing, such as Faster R-CNN. good.
  • the identification model 24 is an SVM (Support Vector Machine) or the like, and is a type of machine learning model.
  • the identification model 24 generates an identification score indicating the probability that an object appearing in the candidate area 56 belongs to the normal class in the identification model 24, in response to input feature amount data indicating the feature amount corresponding to the image of the candidate area 56. Output.
  • the discrimination model 24 is trained using a plurality of positive example training data for positive examples and a plurality of negative example training data for negative examples.
  • the positive example training data is generated from a learning image including a photographed image of the target object 51
  • the negative example training data is an image of an object different from the target object 51, and is generated from an image prepared in advance.
  • the negative example training data may be generated by photographing the environment of the photographing section 20, which is photographed by the photographing section 20.
  • this CNN is used to generate feature amount data indicating the feature amount corresponding to the image that has undergone the normalization process.
  • the feature extraction unit 23 may output feature amount data indicating the feature amount corresponding to the image in accordance with the input of the image using another known algorithm that calculates the feature amount indicating the feature of the image. .
  • the target area acquisition unit 21 determines that the candidate area 56 includes the image of the target object 51, for example, when the identification score is greater than the threshold value.
  • the target region acquisition unit 21 determines the target region 55 based on the determination result (S104). More specifically, the target area acquisition unit 21 acquires a rectangular area including a region near the target object 51 as the target area 55 based on the candidate area 56 determined to include the target object 51. The target area acquisition unit 21 may acquire a square area including the area near the target object 51 as the target area 55, or may simply acquire the candidate area 56 as the target area 55. Note that the target area acquisition unit 21 does not always have to acquire the target area 55 through the processes of S102 and S103. For example, the target area acquisition unit 21 may acquire the target area 55 by performing a known time-series tracking process on the input image acquired after acquiring the target area 55.
  • the posture estimation unit 25 inputs the image of the target area 55 to the learned estimation model 26 (S105).
  • the image of the target region 55 input here may be an image whose size has been adjusted (enlarged or reduced) according to the size of the input image of the estimation model 26. By adjusting (normalizing) the size, the learning efficiency of the estimation model 26 is improved.
  • the posture estimation unit 25 may mask the background of the image of the target region 55 and input the image of the target region 55 with the background masked to the estimation model 26.
  • the key point determining unit 27 included in the posture estimating unit 25 determines the two-dimensional position of the key point in the target area 55 and the input image based on the output of the estimation model 26 (S106).
  • the key point determining unit 27 calculates candidates for key point positions from each point of the position image, and determines the position of the key points based on the candidates.
  • the output of the estimation model 26 is the position of a key point in the target region 55, the position of the key point in the input image may be calculated from that position. Note that the processes in S105 and S106 are performed for each type of key point.
  • the posture calculation section 28 included in the posture estimation section 25 calculates the estimated posture of the target object 51 based on the determined two-dimensional position of the key point (S107).
  • the posture calculation unit 28 may calculate the position of the target object 51 along with the posture.
  • the pose and position may be calculated by solving the PNP problem described above.
  • FIG. 7 is a diagram illustrating the posture of the detected target object 51.
  • the posture of the target object 51 is represented by a local coordinate axis 59 indicating the local coordinate system of the target object 51.
  • the position of the origin of the local coordinate axis 59 indicates the position of the target object 51, and the direction of the line of the local coordinate axis 59 indicates the posture.
  • the reliability acquisition unit 39 calculates the reliability of the output of the estimation model 26 for the target region 55 (S108). Then, when the reliability satisfies a predetermined condition, the identification training data generation unit 34 and the estimation training data generation unit 37 perform additional training on the identification model 24 and the estimation model 26, respectively, based on the target area. Data is generated (S109). The process in S109 is to generate additional training data based on the data input to the machine learning model after learning the machine learning model (at the time of inference). Details of the processing in S108 and S109 will be described later.
  • the estimated posture and position of the target object 51 may be used in various ways.
  • the operation information may be input to application software such as a game instead of the operation information input by the controller.
  • the processor 11 that executes the execution code of the application software may generate image data based on the attitude (and position) and cause the display unit 18 to output the image.
  • the processor 11 may cause the information processing device 10 or an audio output device connected to the information processing device 10 to output a sound based on its posture (and position).
  • the processor 11 may control the operation of the AI agent such as a robot by notifying the position and orientation of the object to the AI agent, for example, causing the AI agent to grasp the object.
  • FIG. 8 is a flow diagram schematically explaining learning of the identification model 24 and estimation model 26.
  • the identification training data generation unit 34 acquires initial training data for the identification model 24, and the estimation training data generation unit 37 acquires initial training data for the estimation model 26 (S201).
  • FIG. 9 is a flow diagram illustrating an example of a process for generating initial training data.
  • the photographed image acquisition unit 33 acquires a plurality of photographed images in which the target object 51 is photographed (S301).
  • FIG. 10 is a diagram illustrating photographing of the target object 51.
  • the target object 51 is held, for example, by a hand 53, and is photographed by the photographing unit 20.
  • the photographing unit 20 changes the direction in which the target object 51 is photographed while periodically photographing images as in video photographing.
  • the photographing direction of the target object 51 may be changed by changing the posture of the target object 51 using the hand 53.
  • the target object 51 may be placed on the AR marker and the shooting direction may be changed by moving the shooting unit 20.
  • the acquisition interval of photographed images used in the processing described below may be wider than the interval of photographing a moving image.
  • the photographed image acquisition unit 33 masks the image of the hand 53 from these photographed images (S302).
  • the image of the hand 53 may be masked by a known method.
  • the photographed image acquisition unit 33 may mask the image of the hand 53 by detecting a skin-colored region included in the photographed image.
  • the shape model acquisition unit 36 calculates the three-dimensional shape model of the target object 51 and the posture in each of the captured images from the plurality of captured images (S303). This process may be performed using the above-mentioned known method that is also used in software that implements so-called SfM and Visual SLAM.
  • the shape model acquisition unit 36 may calculate the posture of the target object 51 based on the calculation logic of the camera photographing direction using this method.
  • the shape model acquisition unit 36 determines the three-dimensional positions of a plurality of key points used for estimating the posture of the three-dimensional shape model (S304).
  • the shape model acquisition unit 36 may determine the three-dimensional positions of the plurality of key points using, for example, a known Farthest Point algorithm.
  • the estimated training data generation unit 37 generates training data including a plurality of training images and a plurality of position images for the estimation model 26 (S305). More specifically, the estimated training data generation unit 37 generates a plurality of training images rendered from the three-dimensional shape model, and generates a position image indicating the position of a key point in the plurality of training images.
  • the plurality of training images are rendered images of the target object 51 viewed from a plurality of different directions, and a position image is generated for each combination of a training image and a key point.
  • the estimated training data generation unit 37 virtually projects the position of the key point onto the rendered training image, and generates a position image based on the relative position of the projected key point position and each point in the image.
  • the training data used for learning the estimation model 26 includes training images and position images.
  • the training images included in the initial training data are rendered images. This is because while it is difficult to obtain images taken from various photographing directions in a short period of time, it is possible to easily generate images viewed from various photographing directions using a three-dimensional shape model.
  • the initial training data may include live training images.
  • the identification training data generation unit 34 generates positive example training data from the plurality of captured images acquired by the captured image acquisition unit 33, more specifically, from the image including the target object 51, and stores the data in the storage unit 12, for example. Negative example training data is obtained from images that do not include the target object (S306).
  • the positive example training data and the negative example training data are training data for the identification model 24.
  • the identification training data generation unit 34 performs processing according to the image input to the identification model 24, such as cutting out a region including the target object 51, normalizing the size, masking the background, and extracting feature amounts.
  • Positive example training data may be generated from the images.
  • the identification training data generation section 34 inputs the negative example sample images stored in the storage section 12 in advance to the feature extraction section 23, and generates a plurality of negative example training data by acquiring the output feature amount data.
  • the feature amount is extracted by the same process as the feature extraction unit 23 included in the identification model 24.
  • the negative example sample image may be, for example, an image photographed in advance by the photographing unit 20, an image collected from the Web, or a positive example image of another object.
  • the negative example training data may be generated in advance and stored in the storage unit 12.
  • identification model 24 is not limited to those described above, and may be one that determines whether the target object 51 exists directly from the image.
  • the identification learning unit 35 trains the identification model 24 using the initial training data for the identification model, and the estimation learning unit 38 converts the estimation model 26 into the identification model. Learning is performed using initial training data for the target (S202).
  • the discrimination model 24 is, for example, an SVM, and the discrimination learning unit 35 may cause the SVM to learn using positive example training data and negative example training data.
  • the information processing system performs so-called inference processing using these models, and learns the identification model 24 and the estimation model 26 according to the reliability.
  • the information processing system inputs the photographed image as an input image to the target area acquisition unit 21, and the target area acquisition unit 21 and posture estimation unit 25 extract the target area 55 and determine the target area included in the target area 55. Processing for estimating the posture of the object 51 is executed.
  • the process in S203 corresponds to the processes in S101 to S107 in FIG.
  • the reliability acquisition unit 39 calculates the reliability of the output based on the output of the estimation model 26 included in the posture estimation unit 25 (S204). This process corresponds to the process of S108 in FIG.
  • the reliability obtaining unit 39 calculates the reliability using the following procedure, for example.
  • the reliability acquisition unit 39 selects a plurality of groups each including two points from the position image output by the estimation model 26.
  • the reliability acquisition unit 39 calculates key point candidate positions for each group based on the direction of the key point indicated by each point included in the group.
  • a candidate position corresponds to the intersection of a straight line extending from a certain point in the direction indicated by that point and a straight line extending from another point in the direction indicated by that point.
  • the reliability acquisition unit 39 calculates a value indicating the dispersion of candidate positions as the reliability.
  • the reliability obtaining unit 39 may take, for example, the average value of the distance from the center of gravity of the candidate position as the reliability, or may calculate the standard deviation of the candidate position in any direction as the reliability.
  • the reliability obtaining unit 39 may calculate the reliability from values other than values indicating variations in candidate positions. For example, the reliability acquisition unit 39 receives the output of the estimation model 26 when an input image such as an image of a target region is input to the estimation model 26, and the processing that the input image has been processed by a predetermined processing process. The reliability may be calculated based on information indicating a difference from the output when the image is input to the estimation model 26.
  • the reliability acquisition unit 39 performs predetermined processing (Augmentation) on the image of the target area. This processing may be, for example, changing brightness or adding noise.
  • the reliability acquisition unit 39 inputs the processed image to the estimation model 26 and acquires the position image as its output.
  • the reliability acquisition unit 39 calculates a value indicating the difference between the position image output for the original target area image (initial output) and the position image output from the processed image as the reliability. do.
  • This value may be a statistic of the difference in value at each point between the original output and the output for the processed image, or the position of the key point calculated from the original output and the output for the processed image. It may be the distance to the key point position calculated by .
  • an output obtained when an image obtained by processing the image of the target area differently from a predetermined process is input to the estimation model 26 may be used.
  • the processing (Augmentation) performed here may be different from the processing performed by the estimated training data generation unit 37, which will be described later. Due to the different methods, the accuracy of the reliability that occurs when calculating the reliability using 26 for the estimated model learned using additional training data is suppressed.
  • the reliability obtaining unit 39 obtains the final reliability by combining the reliability (an element) calculated from the value indicating the variation of candidate positions and the value indicating the difference between the initial output and the output for the processed image. You can output the degree.
  • the reliability obtaining unit 39 may output, for example, a value obtained by weighting and adding the former and the latter as the reliability.
  • the reliability acquisition unit 39 determines whether the calculated reliability satisfies the additional conditions for adding training data (S205).
  • the additional condition may be, for example, that the value of the variation calculated as the reliability is smaller than a threshold value.
  • the identification training data generation unit 34 and the estimation training data generation unit 37 generate additional training data to be added to the training data of the identification model 24 and estimation model 26, respectively.
  • the identification training data generation unit 34 determines an image corresponding to the target area 55 that is the source of the position image (for example, an image of the corresponding candidate area 56) as a positive example image, and data to the training data of the discriminative model.
  • the identification training data generation unit 34 generates positive example training data from the photographed image by processing the image determined as the positive example image according to the image input to the identification model 24, for example, extracting a feature amount. It's fine.
  • the estimation training data generation unit 37 also generates a set of a first additional image and a second additional image based on the image of the target area that is the source of the position image, and uses the set as additional training data for the estimation model. Add to.
  • the estimated training data generation unit 37 performs first processing (Augmentation) on the image of the target area, and obtains the processed image as a first additional image.
  • the estimated training data generation unit 37 also performs second processing (Augmentation) on the image of the target area, and obtains the processed image as a second additional image.
  • the first processing and the second processing are different from each other, and may each include, for example, changing brightness or adding noise. Further, one of the first processing and the second processing may not involve substantial processing. A method of learning the estimation model (consistency loss) using the first additional image and the second additional image set will be described later.
  • the estimated training data generation unit 37 adds a set of the image of the target area that is the source of the position image and correct data indicating the posture calculated by the posture estimation unit 25 for the image to the additional training data. It's okay.
  • the estimated model 26 may be trained using the same method as the initial learning.
  • part of the input data used for inference using a trained machine learning model is added to the training data.
  • input data for inference is usually not added to training data. This is because, for example, if the output for input data is incorrect, adding that input data may cause a decline in the quality of the training data.
  • the reliability of the output of the machine learning model is calculated, and the quality of the data to be added is ensured by filtering whether or not to add it to the training data using the reliability. This makes it possible to improve the accuracy of machine learning models while reducing the effort required to generate them.
  • the reliability calculated in this embodiment can be considered as the reliability of the identification model 24 and the estimation model 26. From the perspective of the reliability of the output of the identification model 24, it can be said that the reliability is determined to indicate whether the position image output by the estimation model 26 which is located after the identification model 24 is in a state where key points can be accurately determined. In this way, by using the ability to appropriately perform processing including subsequent machine learning models as an indicator of reliability, reliability can be calculated easily and effectively. In terms of the reliability of the output of the estimation model 26, it can be said that the reliability is determined by the fact that the subsequent process of determining key points from the output position image can be performed appropriately.
  • the processes from S203 onward are repeatedly executed unless the conditions for starting relearning are met (N at S207).
  • the condition for starting relearning may be that the number of acquired additional training data reaches a threshold value, or that an operation to end so-called iterative estimation processing is input.
  • the identification learning unit 35 and the estimation learning unit 38 retrain the identification model 24 and the estimation model 26, respectively (S208).
  • relearning refers to learning a machine learning model using training data including additional training data.
  • the machine learning models (identification model 24 and estimation model 26) that are the targets of learning may be different instances from the identification model 24 and estimation model 26 that are the machine learning models that are performing inference, or may be different instances from the machine learning models that are performing inference. It may be the same instance as the machine learning model being used. In the former case, the instances of the identification model 24 and estimation model 26 used for inference may be switched after learning is completed. Furthermore, instead of switching instances, parameters of a newly learned machine learning model may be copied to instances of the identification model 24 and estimation model 26 used for inference.
  • the discriminative learning unit 35 may add additional training data to the initial training data, and learn the discriminative model 24 using the added training data. Further, the training data used for learning the discrimination model 24 may be all of the initial training data and additional training data, or may be some of them. Some of the training data used for learning the discriminative model 24 may be selected such that the number thereof is less than or equal to the maximum value of the total number of samples, or may be determined to be of low quality by some method. Samples may also be excluded.
  • FIG. 11 is a flowchart illustrating an example of a process of relearning the estimated model. In the relearning, the process shown in FIG. 11 is repeatedly executed multiple times.
  • the estimation learning unit 38 trains the estimation model 26 using initial training data for the estimation model 26 (S501). This learning is performed using the same method as the learning of the estimation model 26 in step S202. More specifically, the estimation learning unit 38 calculates the difference (L1 loss) between the position image output by the estimation model 26 and the correct data using a teaching signal. As such, the parameters of the estimation model 26 are adjusted.
  • the estimation learning unit 38 obtains one of the unobtained sets included in the additional training data for the estimation model 26 (S502).
  • the estimation learning unit 38 inputs the first additional image included in the set to the estimation model 26 and obtains the output (first output) of the estimation model 26 (S503).
  • the estimation learning unit 38 inputs the second additional image included in the set to the estimation model 26, and obtains the output (second output) of the estimation model 26 (S504).
  • the estimation learning unit 38 calculates information indicating the difference (consistency loss) between the first output and the second output (S505), and adjusts the parameters of the estimation model 26 based on the information indicating the difference (S506). ).
  • the information indicating the difference may be a statistic (for example, an average) of the difference in values at each point of the first output and the second output.
  • the additional training data learning is performed according to the difference between the first output and the second output, so if learning is mainly done using this method, for example, the same position image will be output regardless of the input. There is a possibility that the parameters of the estimated model 26 may converge. In order to avoid this situation, it is desirable to suppress the ratio of the number of additional training data to the number of all training data including the initial training data within a predetermined value (for example, 20%).
  • the processing of the target area acquisition unit 21 determines that the image input to the estimation model 26 is an image of a region of the captured image where the target object 51 exists, and the target object 51 is located in the center. Images are limited to images with a sufficiently high probability. Furthermore, the estimation model 26 of the posture estimation unit 25 is trained based on training data generated by a three-dimensional shape model, while the identification model 24 of the target area acquisition unit 21 is trained based on the image in which the target object 51 is photographed. has been done.
  • the accuracy of the output of the estimation model 26 is improved, and the accuracy of the estimated posture of the target object 51 is improved. Furthermore, by learning the identification model 24 based on captured images rather than images based on a three-dimensional shape model, it becomes possible to select the target region 55 more accurately, and the accuracy of the estimation model 26 is improved. be able to.
  • the photographed image for generating the three-dimensional shape model for learning the estimation model 26 of the posture estimation unit 25 is also used when learning the identification model 24. This reduces the effort required to photograph the target object 51 and the time required to learn the estimation model 26 and the identification model 24.
  • the identification model 24 may be an SVM of any kernel.
  • the discrimination model 24 may be a discriminator using a method such as the K-nearest neighbor method, logistic regression, or a boosting method such as AdaBoost.
  • Discrimination model 24 may also be implemented by a neural network, a Naive Bayes classifier, a random forest, a decision tree, or the like.
  • the output of the estimation model 26 may be a position image such as a heat map indicating the positions of key points.
  • the reliability obtaining unit 39 may obtain the number of peaks that the position image output by the estimation model 26 has as the reliability. If this number of peaks is less than a threshold, the input data may be added to the training data.

Landscapes

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

Abstract

訓練データの整備を容易にしつつ機械学習モデルの精度を向上させる。 情報処理システムは、訓練データにより学習された機械学習モデルに入力データが入力された際の当該機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力し、前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成し、前記新たな訓練データにより機械学習モデルを学習させる。

Description

情報処理システム、情報処理方法及びプログラム
 本発明は、情報処理システム、情報処理方法及びプログラムに関する。
 一般的な機械学習モデルは、予め準備された訓練データにより学習される。
 Sida Peng et alは、2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)において、論文PVNet: Pixel-Wise Voting Network for 6DoF Pose Estimationを発表している。この論文では、入力画像と、正解の出力画像とを含む訓練データにより機械学習モデルを学習させ、さらにその機械学習モデルに撮影された画像が入力された際の出力に基づいて姿勢推定に用いるキーポイントの画像上の位置を算出することが開示されている。
 機械学習モデルを学習させるためには多量の訓練データが必要となるが、そのデータを準備するには多くの手間がかかる。一方、訓練データの量を減らすと、機械学習モデルの精度が確保できない恐れがある。
 本発明は上記実情に鑑みてなされたものであって、その目的は、訓練データの整備にかかる手間を抑制しつつ機械学習モデルの精度を向上させる技術を提供することにある。
 上記課題を解決するために、本発明に係る情報処理システムは、訓練データにより学習された機械学習モデルと、入力データが入力された際の前記機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力する信頼度出力手段と、前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成する生成手段と、前記新たな訓練データにより機械学習モデルを学習させる学習制御手段と、を含む。
 本発明の一態様では、情報処理システムは、前記機械学習モデルの出力に基づいて推定結果を出力する学習済の推定モデルを含み、前記信頼度出力手段は、前記推定モデルの出力に基づいて前記入力データに対する前記機械学習モデルの出力の信頼度を出力してよい。
 本発明の一態様では、前記入力データは、対象オブジェクトが撮影された画像を含み、前記推定モデルは、前記機械学習モデルの出力に基づいて、前記対象オブジェクトの姿勢推定のためのキーポイントを示す画像を出力し、前記信頼度出力手段は、前記画像に基づいて前記信頼度を出力してよい。
 本発明の一態様では、前記推定モデルは、各点がキーポイントとの位置関係を示す画像を出力し、前記信頼度出力手段は、複数のキーポイントの位置の候補であってそれぞれ前記推定モデルが出力した画像に含まれる互いに異なる点から生成されるキーポイントの位置の候補のばらつきに基づいて、前記信頼度を出力してよい。
 本発明の一態様では、前記信頼度出力手段は、対象オブジェクトが撮影された入力画像が前記推定モデルに入力された際の当該推定モデルの出力と、前記入力画像が所定の加工処理により加工された加工画像が前記推定モデルに入力された際の出力との相違を示す情報に基づいて、前記信頼度を出力してよい。
 本発明の一態様では、前記機械学習モデルは前記入力データが前記対象オブジェクトを含むか否かを示す情報を出力してよい。
 本発明の一態様では、前記推定モデルは推定訓練データにより学習され、前記生成手段は、前記信頼度が前記所定の条件を満たす場合に、前記入力データに基づいて新たな推定訓練データを生成し、前記学習制御手段は、前記新たな訓練データにより機械学習モデルを学習させてよい。
 本発明の一態様では、前記入力データは、対象オブジェクトが撮影された画像を含み、前記機械学習モデルは、前記入力データに基づいて、対象オブジェクトの姿勢推定のためのキーポイントを示す画像を出力し、前記信頼度出力手段は、前記画像に基づいて前記信頼度を出力させてよい。
 本発明の一態様では、前記訓練データは3次元形状モデルからレンダリングされた複数の学習画像とそれぞれが前記学習画像に対する正解データである正解画像とを含んでよい。
 本発明の一態様では、前記生成手段は、前記入力データが第1の加工処理により加工された第1の追加画像と、前記入力データが前記第1の加工処理と異なる第2の加工処理により加工された第2の追加画像とを含む新たな訓練データを生成し、前記学習制御手段は、前記機械学習モデルに前記第1の追加画像を入力した際の出力と、前記機械学習モデルに前記第2の追加画像を追加した際の出力との違いに基づいて、機械学習モデルを学習させてよい。
 また、本発明に係る情報処理方法は、訓練データにより学習された機械学習モデルに入力データが入力された際の当該機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力するステップと、前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成するステップと、前記新たな訓練データにより機械学習モデルを学習させるステップと、を含む。
 また、本発明に係るプログラムは、訓練データにより学習された機械学習モデルに入力データが入力された際の当該機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力し、前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成し、前記新たな訓練データにより機械学習モデルを学習させる、処理をコンピュータに実行させる。
 本発明によれば、訓練データの整備にかかる手間を抑制しつつ機械学習モデルの精度を向上させることができる。
本発明の一実施形態に係る情報処理システムの構成の一例を示す図である。 本発明の一実施形態に係る情報処理システムで実装される機能の一例を示す機能ブロック図である。 入力画像の一例を示す図である。 対象オブジェクトのキーポイントの一例を示す図である。 対象領域における位置画像の一例を模式的に示す図である。 主に対象領域取得部および姿勢推定部の処理の一例を示すフロー図である。 検出された対象オブジェクトの姿勢を説明する図である。 識別モデルおよび推定モデルの学習を概略的に説明するフロー図である。 初期の訓練データを生成する処理の一例を示すフロー図である。 対象オブジェクトの撮影を説明する図である。 推定モデルの再学習の処理の一例を示すフロー図である。
 以下、本発明の一実施形態について図面に基づき詳細に説明する。本実施形態では、オブジェクトが撮影された画像を入力し、その姿勢を推定する情報処理システムに発明を適用した場合について説明する。
 この情報処理システムは、撮影された画像の少なくとも一部がオブジェクトを含むか否かを判定する機械学習モデルと、オブジェクトを含む画像からそのオブジェクトの推定される姿勢を示す情報を出力する機械学習モデルとを含んでいる。また情報処理システムはその学習を短時間で完了するように構成されている。所要時間は、例えば、オブジェクトを把持して回転させるのに数十秒、機械学習に数分程度が想定されている。
 図1は、本発明の一実施形態にかかる情報処理システムの構成の一例を示す図である。本実施形態にかかる情報処理システムは、情報処理装置10を含む。情報処理装置10は、例えば、ゲームコンソールやパーソナルコンピュータなどのコンピュータである。図1に示すように、情報処理装置10は、例えば、プロセッサ11、記憶部12、通信部14、操作部16、表示部18、撮影部20を含んでいる。情報処理システムは1台の情報処理装置10により構成されてもよいし、情報処理装置10を含む複数の装置により構成されてもよい。
 プロセッサ11は、例えば情報処理装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
 記憶部12は、ROMやRAM等の記憶素子やソリッドステートドライブのような外部記憶装置のうち少なくとも一部からなる。記憶部12には、プロセッサ11によって実行されるプログラムなどが記憶される。
 通信部14は、例えばネットワークインタフェースカードのような、有線通信又は無線通信用の通信インタフェースであり、インターネット等のコンピュータネットワークを介して、他のコンピュータや端末との間でデータを授受する。
 操作部16は、例えば、キーボード、マウス、タッチパネル、ゲームコンソールのコントローラ等の入力デバイスであって、ユーザの操作入力を受け付けて、その内容を示す信号をプロセッサ11に出力する。
 表示部18は、液晶ディスプレイ等の表示デバイスであって、プロセッサ11の指示に従って各種の画像を表示する。表示部18は、外部の表示デバイスに対して映像信号を出力するデバイスであってもよい。
 撮影部20は、デジタルカメラ等の撮影デバイスである。本実施形態にかかる撮影部20は、例えば動画像の撮影が可能なカメラである。撮影部20は、可視のRGB画像を取得可能なカメラであってよい。撮影部20は、可視のRGB画像と、そのRGB画像と同期した深度情報とを取得可能なカメラであってもよい。撮影部20は情報処理装置10の外部にあってもよく、この場合は情報処理装置10と撮影部20とが、通信部14または後述の入出力部を介して接続されてよい。
 なお、情報処理装置10は、マイクやスピーカなどといった音声入出力デバイスを含んでいてもよい。また、情報処理装置10は、例えば、ネットワークボードなどの通信インタフェース、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、外部機器とデータの入出力をするための入出力部(USB(Universal Serial Bus)ポート)を含んでいてもよい。
 図2は、本発明の一実施形態に係る情報処理システムで実装される機能の一例を示す機能ブロック図である。図2に示すように、情報処理システムは、機能的に、対象領域取得部21、姿勢推定部25、撮影画像取得部33、識別訓練データ生成部34、識別学習部35、形状モデル取得部36、推定訓練データ生成部37、推定学習部38、信頼度取得部39を含む。対象領域取得部21は、機能的に、領域抽出部22、特徴抽出部23、および識別モデル24を含む。姿勢推定部25は、機能的に、推定モデル26、キーポイント決定部27、および姿勢算出部28を含む。識別モデル24および推定モデル26は、どちらも機械学習モデルの一種である。
 これらの機能は、主にプロセッサ11及び記憶部12により実装される。より具体的には、これらの機能は、コンピュータである情報処理装置10にインストールされた、以上の機能に対応する実行命令を含むプログラムをプロセッサ11で実行することにより実装されてよい。また、このプログラムは、例えば、光学的ディスク、磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して情報処理装置10に供給されてもよい。
 なお、本実施形態にかかる情報処理システムに、必ずしも図2に示す機能のすべてが実装されていなくてもよく、また、図2に示す機能以外の機能が実装されていてもよい。
 対象領域取得部21は、撮影部20により撮影された入力画像を取得し、その取得された入力画像に含まれる1または複数の候補領域56(図3参照)のそれぞれが対象オブジェクト51の画像を含むか否か判定する。領域抽出部22は、この1または複数の候補領域56を抽出し、特徴抽出部23は候補領域56のそれぞれから画像の特徴を示す特徴量を抽出する。識別モデル24には、その候補領域56の画像としてその特徴量が入力され、その候補領域56が対象オブジェクト51の画像を含むか否かを示す情報を出力する。
 対象領域取得部21は、候補領域56が対象オブジェクト51を含む場合に、入力画像から抽出される、対象オブジェクト51の画像を含む対象領域55を取得する。対象オブジェクト51は、情報処理装置10において姿勢の推定の対象となるオブジェクトである。対象オブジェクト51は事前の学習の対象となる。
 図3は、入力画像の一例を示す図である。図3の例では、対象オブジェクト51は電動工具であり、以降の図においても特に説明のない場合は対象オブジェクト51の例は電動工具であるとする。入力画像は、撮影部20により撮影されており、対象領域55は対象オブジェクト51およびその近傍を含む矩形の領域である。なお、対象領域55の取得の過程において、対象オブジェクト51を含む領域の候補として、対象オブジェクト51を含まない領域も含む1または複数の候補領域56も抽出される。
 領域抽出部22は、入力画像から、識別モデル24の判定の対象となる候補領域56の画像を抽出する。より具体的には、領域抽出部22は、公知のRegion Proposal技術により、入力画像から、何らかのオブジェクトが撮影された1または複数の候補領域56を識別し、その1または複数の候補領域56のそれぞれを抽出する。
 識別モデル24は機械学習モデルであり、訓練データにより学習され、学習済の識別モデル24は、入力データが入力されると、識別の結果としてデータを出力する。識別モデル24に入力される入力データは、候補領域56の画像を示す情報であり、例えば、特徴抽出部23がその画像から抽出した特徴量である。また、識別モデル24は、入力データが入力されると、その候補領域56の画像が対象オブジェクト51の画像を含むか否かを示す情報を出力する。
 識別モデル24の訓練データは、対象オブジェクト51が撮影された画像を含む複数の正例画像と、対象オブジェクト51を含まない複数の負例画像とを含む学習画像のそれぞれを示すデータを含む。識別モデル24およびその学習の詳細については後述する。学習画像のそれぞれは、撮影された画像のうち対象オブジェクト51が存在する領域の画像であってよい。その領域の抽出は、領域抽出部22と同様の手法で行われてよい。なお、識別モデル24は、上記の訓練データだけでなく、追加の訓練データによっても学習される。
 なお、特徴抽出部23を介さずに候補領域56の画像が識別モデル24に直接的に入力されてもよい。精度が低下する恐れはあるが、領域抽出部22が存在しなくてもよい。この場合、特徴抽出部23が入力画像そのものから特徴を抽出し、識別モデル24がその入力画像に対象オブジェクト51が存在するか判定してもよいし、入力画像が直接的に識別モデル24に入力されてもよい。
 姿勢推定部25は、推定モデル26に対象領域55が入力された際に出力される情報に基づいて、対象オブジェクト51の姿勢を推定する。推定モデル26は、機械学習モデルであり、訓練データにより学習され、学習済の推定モデル26は、入力データが入力されると、推定結果としてデータを出力する。訓練データは、対象オブジェクト51の3次元形状モデルによりレンダリングされた複数の学習画像とその学習画像における対象オブジェクト51の姿勢に関する情報である正解データとを含む。
 学習済の推定モデル26には、対象領域55の画像を示す情報が入力され、推定モデル26は対象オブジェクトの姿勢推定のためのキーポイントの位置を示す情報を出力する。対象領域55は、識別モデル24の出力に基づいて選択された候補領域56に基づく画像である。推定モデル26の訓練データは、対象オブジェクト51の3次元形状モデルによりレンダリングされた複数の学習画像と、学習画像における前記対象オブジェクト51のキーポイントの位置を示す正解データとを含む。キーポイントは、対象オブジェクト51内にある仮想的な点であって、姿勢の算出に用いる点である。なお、推定モデル26は、上記の訓練データだけでなく、追加の訓練データによっても学習される。追加の訓練データは、入力画像に基づいて生成される画像を含み、また入力画像に基づいて訓練データを追加するか否かは推定モデル26の出力に基づいて判定される。
 図4は、対象オブジェクト51のキーポイントの一例を示す図である。対象オブジェクト51のキーポイントの3次元位置は、対象オブジェクト51の3次元形状モデル(より具体的には3次元形状モデルに含まれる頂点の情報)から、例えば公知のFarthest Point アルゴリズムにより決定される。図4には説明の容易のため、3つのキーポイントK1~K3が記載されているが、実際のキーポイントの数はより多くてよい。例えば本実施形態では対象オブジェクト51の実際のキーポイントの数は8である。
 学習済の推定モデル26は、対象領域55が入力された際に、対象領域55における対象オブジェクト51のキーポイントの2次元位置を示す情報を出力する。対象領域55におけるキーポイントの2次元位置と入力画像における対象領域55の位置とから、入力画像におけるキーポイントの2次元位置が求められる。キーポイントの位置を示すデータは、各点がその点とキーポイントとの位置関係(例えば方向)を示す位置画像であってよい。
 図5は、対象領域55における位置画像の一例を模式的に示す図である。位置画像は、キーポイントの種類ごとに生成されてよい。位置画像は、各点におけるその点とキーポイントとの相対的な方向を示す。図5に示される位置画像では、各点の値に応じたパターンが記載され、各点の値は、その点の座標とキーポイントの座標との方向を示している。図5はあくまで模式的な図であり、各点の実際の値は連続的に変化する。図では明示されていないが、位置画像は、各点におけるその点を基準としたキーポイントの相対的な方向を示すVector Field画像である。
 キーポイント決定部27は、推定モデル26の出力に基づいて、対象領域55および入力画像におけるキーポイントの2次元位置を決定する。より具体的には、例えば、キーポイント決定部27は、推定モデル26から出力される位置画像に基づいて、対象領域55におけるキーポイントの2次元位置の候補を算出し、算出された2次元位置の候補から入力画像におけるキーポイントの2次元位置を決定する。キーポイント決定部27は、例えば、位置画像のうちの任意の2点の組み合わせのそれぞれからキーポイントの候補点を算出し、複数の候補点に対して位置画像の各点が示す方向と合致しているかを示すスコアを生成する。キーポイント決定部27はそのスコアが最も大きい候補点をキーポイントの位置と推定してよい。またキーポイント決定部27は、キーポイントごとに上記の処理を繰り返す。
 姿勢算出部28は、入力画像におけるキーポイントの2次元位置を示す情報と対象オブジェクト51の3次元形状モデルにおけるキーポイントの3次元位置を示す情報とに基づいて、対象オブジェクト51の姿勢を推定し、推定された姿勢を示す姿勢データを出力する。対象オブジェクト51の姿勢は、公知のアルゴリズムによって推定される。例えば、姿勢推定についてのPerspective-n-Point(PNP)問題の解法(例えばEPnP)により推定されてよい。また、姿勢算出部28は対象オブジェクト51の姿勢だけでなく入力画像における対象オブジェクト51の位置も推定し、姿勢データにその位置を示す情報が含まれてもよい。
 推定モデル26、キーポイント決定部27、姿勢算出部28の詳細は、PVNet: Pixel-Wise Voting Network for 6DoF Pose Estimationの論文に記載されたものであってよい。
 撮影画像取得部33、識別訓練データ生成部34、識別学習部35、形状モデル取得部36、推定訓練データ生成部37、推定学習部38、信頼度取得部39は、識別モデル24および推定モデルの学習に関する構成である。本実施形態では、まず、対象オブジェクト51が撮影された画像に基づいて、識別モデル24および推定モデル26が、例えばそれぞれ数秒、数分といった短時間で学習され、学習済の識別モデル24、推定モデル26に基づく対象領域取得部21および姿勢推定部25の動作の後に、識別モデル24、推定モデル26についての再度の学習が行われる。
 撮影画像取得部33は姿勢推定部25に含まれる推定モデル26および/または対象領域取得部21に含まれる識別モデル24を学習させるために、撮影部20により対象オブジェクト51が撮影された撮影画像を取得する。撮影部20は、予めキャリブレーションによってカメラ内部パラメータが取得されているものとする。このパラメータは、PnP問題を解く際に用いられる。
 識別訓練データ生成部34は、対象オブジェクト51を含む画像に基づく正例訓練データと、対象オブジェクト51を含まない画像に基づく負例訓練データとを生成する。対象オブジェクト51を含む画像は、撮影画像取得部33により取得されてよい。
 識別学習部35は、識別訓練データ生成部34により生成された訓練データに基づいて、対象領域取得部21に含まれる識別モデル24を学習させる。
 形状モデル取得部36は、撮影画像取得部33により取得された対象オブジェクト51についての複数の撮影画像のそれぞれについて局所的な特徴を示す複数の特徴ベクトルを抽出し、複数の撮影画像から抽出された互いに対応する複数の特徴ベクトルと撮影画像においてその特徴ベクトルが抽出された位置とからその特徴ベクトルが抽出された点の3次元位置を求め、その3次元位置に基づいて対象オブジェクト51の3次元形状モデルを取得する。この方法は、いわゆるSfMやVisual SLAMを実現するソフトウェアでも用いられる公知の方法であるので、詳細の説明は省略する。
 推定訓練データ生成部37は、推定モデル26を学習させるための訓練データを生成する。より具体的には、推定訓練データ生成部37は、初期の訓練データとして、対象オブジェクト51の3次元形状モデルから、レンダリングされた訓練画像と、キーポイントの位置を示す正解データとを含む訓練データを生成する。
 推定学習部38は、推定訓練データ生成部37により生成された訓練データにより、姿勢推定部25に含まれる推定モデル26を学習させる。
 信頼度取得部39は、入力データが入力された際の機械学習モデルの出力に基づいて、その入力データに対する機械学習モデルの出力の信頼度を取得する。機械学習モデルの出力に基づいて信頼度を取得するとは、例えば、機械学習モデルである識別モデル24の出力、より具体的にはその出力を受けた後段の処理の結果に基づいて信頼度を算出することであり、推定モデル26が出力する位置画像に基づいて信頼度を算出することである。
 次に、姿勢の推定に関する処理について説明する。図6は、主に対象領域取得部21および姿勢推定部25の処理の一例を示すフロー図である。図6に示される処理は、定期的に繰り返し実行されてよい。
 はじめに、対象領域取得部21に含まれる領域抽出部22は、撮影部20により撮影された入力画像を取得する(S101)。領域抽出部22は、撮影部20から直接的に入力画像を受信することにより入力画像を取得してもよいし、撮影部20から受信され記憶部12に格納された入力画像を取得してもよい。
 領域抽出部22は、入力画像から、何らかの物体が写っている1または複数の候補領域56を抽出する(S102)。領域抽出部22は、予め学習されたRPN(Regional Proposal Network)を含んでよい。RPNは、対象オブジェクト51が撮影された画像と関連しない訓練データによって学習されてよい。この処理によって、計算の無駄が低減され、環境に対する一定のロバストネスが確保される。
 ここで、領域抽出部22は、さらに、抽出された候補領域56の画像に対して、例えば、背景の除去処理(マスク処理)やサイズ調整などの加工処理を実行してよい。また加工された候補領域56の画像が以降の処理に用いられてよい。この処理によって、背景や照明条件によるドメインギャップを縮小させ、少ない訓練データで識別モデル24を学習させることが可能になる。
 対象領域取得部21は、候補領域56のそれぞれが対象オブジェクト51の画像を含むか判定する(S103)。この処理は、特徴抽出部23が候補領域56の画像から特徴量を抽出する処理と、識別モデル24がその特徴量から候補領域56が対象オブジェクト51を含むか否かを示す情報を出力する処理とを含む。
 特徴抽出部23は、候補領域56の画像からその画像に応じた特徴量を出力する。特徴抽出部23は、学習済のCNN(Convolutional Neural Network)を含む。このCNNは、画像の入力に応じて、当該画像に対応する特徴量を示す特徴量データ(入力特徴量データ)を出力する。特徴抽出部23は、RPNにより抽出された候補領域56の画像から特徴量を抽出してもよいし、例えばFaster R-CNNのように、RPNの処理において抽出された特徴量を取得してもよい。
 識別モデル24は、SVM(Support Vector Machine)などであり、一種の機械学習モデルである。識別モデル24は、候補領域56の画像に対応する特徴量を示す入力特徴量データの入力に応じて、候補領域56に写るオブジェクトが識別モデル24における正クラスに属するものである確率を示す識別スコアを出力する。識別モデル24は、正例についての複数の正例訓練データと負例についての複数の負例訓練データとにより学習されている。正例訓練データは対象オブジェクト51が撮影された画像を含む学習画像から生成され、負例訓練データは対象オブジェクト51と異なるオブジェクトの画像であって、予め準備された画像から生成される。負例訓練データは、撮影部20により撮影された、その撮影部20の環境を撮影することにより生成されてもよい。
 本実施形態では、このCNNを用いて、正規化処理が実行された画像に対応する特徴量を示す特徴量データの生成が行われる。なお、特徴抽出部23は、画像の特徴を示す特徴量を算出する他の公知のアルゴリズムにより、画像の入力に応じて、当該画像に対応する特徴量を示す特徴量データを出力してもよい。
 対象領域取得部21は、例えば識別スコアが閾値より大きい場合に、その候補領域56が対象オブジェクト51の画像を含むと判定する。
 候補領域56のそれぞれが対象オブジェクト51の画像を含むか判定されると、対象領域取得部21はその判定結果に基づいて対象領域55を決定する(S104)。より具体的には、対象領域取得部21は、対象オブジェクト51を含むと判定された候補領域56に基づいて、対象オブジェクト51の近傍の領域を含む矩形の領域を対象領域55として取得する。対象領域取得部21は、対象オブジェクト51の近傍の領域を含む正方形の領域を対象領域55として取得してよいし、単に候補領域56を対象領域55として取得してもよい。なお、対象領域取得部21は、常にS102,S103の処理により対象領域55を取得しなくてもよい。例えば、対象領域取得部21は、対象領域55を取得した後に取得された入力画像に対して、公知の時系列の追尾処理を行うことにより、対象領域55を取得してもよい。
 姿勢推定部25は、学習済の推定モデル26に、対象領域55の画像を入力する(S105)。ここで入力される対象領域55の画像は、推定モデル26の入力画像のサイズにあわせてサイズが調整(拡大または縮小)された画像であってよい。サイズを調整(正規化)することにより、推定モデル26の学習の効率が向上する。なお、姿勢推定部25は、対象領域55の画像の背景をマスクし、その背景がマスクされた対象領域55の画像を推定モデル26に入力してよい。
 姿勢推定部25に含まれるキーポイント決定部27は、推定モデル26の出力に基づいて、対象領域55および入力画像におけるキーポイントの2次元位置を決定する(S106)。推定モデル26の出力が位置画像である場合には、キーポイント決定部27は位置画像の各点からキーポイントの位置の候補を算出し、その候補に基づいてキーポイントの位置を決定する。推定モデル26の出力が対象領域55におけるキーポイントの位置である場合には、その位置から入力画像におけるキーポイントの位置を算出してよい。なお、S105、S106の処理はキーポイントの種類ごとに行われる。
 姿勢推定部25に含まれる姿勢算出部28は、決定されたキーポイントの2次元位置に基づいて、対象オブジェクト51の推定される姿勢を算出する(S107)。姿勢算出部28は姿勢とともに対象オブジェクト51の位置を算出してよい。姿勢および位置は、前述のPNP問題の解法により算出されてよい。
 図7は、検出された対象オブジェクト51の姿勢を説明する図である。図7では、説明の容易のため、対象オブジェクト51のローカル座標系を示すローカル座標軸59により対象オブジェクト51の姿勢を表している。ローカル座標軸59の原点の位置が対象オブジェクト51の位置を示し、ローカル座標軸59の線の向きが姿勢を示している。
 ここで、信頼度取得部39は、対象領域55に対する推定モデル26の出力について信頼度を算出する(S108)。そして、その信頼度があらかじめ定められた条件を満たす場合に、識別訓練データ生成部34および推定訓練データ生成部37は、その対象領域に基づいて、それぞれ識別モデル24および推定モデル26に対する追加の訓練データを生成する(S109)。S109の処理は、機械学習モデルの学習後(推論時)に、その機械学習モデルに入力されるデータに基づいて追加の訓練データを生成するものである。S108およびS109の処理の詳細については後述する。
 推定された対象オブジェクト51の姿勢および位置は、様々に利用されてよい。例えば、コントローラによって入力される操作情報の代わりにゲームなどのアプリケーションソフトウェアに入力されてよい。そしてアプリケーションソフトウェアの実行コードを実行するプロセッサ11は、その姿勢(および位置)に基づいて、画像のデータを生成し、表示部18にその画像を出力させてよい。またプロセッサ11は、情報処理装置10または情報処理装置10に接続される音声出力装置に、その姿勢(および位置)に基づく音を出力させてよい。またプロセッサ11は、例えばロボットのようなAIエージェントにオブジェクトの位置姿勢を通知することにより、AIエージェントの動作を制御し、例えば物体の把持などを行わせてもよい。
 次に、識別モデル24および推定モデル26の学習の概要について説明する。図8は、識別モデル24および推定モデル26の学習を概略的に説明するフロー図である。
 はじめに、識別訓練データ生成部34は識別モデル24の初期の訓練データを取得し、推定訓練データ生成部37は、推定モデル26の初期の訓練データを取得する(S201)。
 ステップS201の処理についてさらに詳細に説明する。図9は、初期の訓練データを生成する処理の一例を示すフロー図である。
 撮影画像取得部33は、対象オブジェクト51が撮影された複数の撮影画像を取得する(S301)。
 図10は、対象オブジェクト51の撮影を説明する図である。対象オブジェクト51は、例えば手53によって保持されており、撮影部20により撮影される。本実施形態では、対象オブジェクト51を様々な方向から撮影することが望ましい。そのため、撮影部20は動画撮影のように定期的に画像を撮影しつつ、対象オブジェクト51の撮影方向を変化させる。例えば手53によって対象オブジェクト51の姿勢を変化させることで対象オブジェクト51の撮影方向を変化させてよい。またARマーカー上に対象オブジェクト51を配置し、撮影部20を動かすことにより撮影方向を変化させてもよい。後述の処理で用いられる撮影画像の取得間隔は、動画の撮影間隔より広くてもよい。
 撮影画像が取得されると、撮影画像取得部33は、それらの撮影画像から手53の画像をマスクする(S302)。手53の画像のマスクは公知の方法により行われてよい。例えば、撮影画像取得部33は、撮影画像に含まれる肌の色の領域を検出することにより手53の画像をマスクしてよい。
 そして形状モデル取得部36は、複数の撮影画像から、対象オブジェクト51の3次元形状モデルと、撮影画像のそれぞれにおける姿勢とを算出する(S303)。この処理は、いわゆるSfMやVisual SLAMを実現するソフトウェアでも用いられる前述の公知の方法より行われてよい。形状モデル取得部36は、この方法によるカメラの撮影方向の算出ロジックに基づいて対象オブジェクト51の姿勢を算出してよい。
 対象オブジェクト51の3次元形状モデルが算出されると、形状モデル取得部36は、その3次元形状モデルの姿勢の推定に用いる複数のキーポイントの3次元位置を決定する(S304)。形状モデル取得部36は、例えば、公知のFarthest Pointアルゴリズムにより複数のキーポイントの3次元位置を決定してよい。
 キーポイントの3次元位置が算出されると、推定訓練データ生成部37は、推定モデル26向けに、複数の訓練画像と、複数の位置画像とを含む訓練データを生成する(S305)。より具体的には、推定訓練データ生成部37は、3次元形状モデルからレンダリングされた複数の訓練画像を生成し、その複数の訓練画像におけるキーポイントの位置を示す位置画像を生成する。複数の訓練画像は、互いに異なる複数の方向からみた対象オブジェクト51のレンダリング画像であり、位置画像は訓練画像とキーポイントとの組み合わせごとに生成される。
 推定訓練データ生成部37はレンダリングされた訓練画像にキーポイントの位置を仮想的に投影し、その投影されたキーポイントの位置と画像内の各点との相対位置に基づいて位置画像を生成する。推定モデル26の学習に用いる訓練データは訓練画像と位置画像とを含む。
 初期の訓練データに含まれる訓練画像は、レンダリングされた画像である。これは、短時間で多様な撮影方向から撮影された撮影画像を取得することが難しい一方、3次元形状モデルを用いれば容易に多様な撮影方向からみた画像を生成できるからである。なお、初期の訓練データに実写の訓練画像が含まれてもよい。
 識別訓練データ生成部34は、撮影画像取得部33により取得された複数の撮影画像、より具体的には対象オブジェクト51を含む画像から、正例訓練データを生成し、例えば記憶部12に格納された対象オブジェクトを含まない画像から負例訓練データを取得する(S306)。正例訓練データおよび負例訓練データが、識別モデル24の訓練データである。
 識別訓練データ生成部34は、識別モデル24に入力される画像に応じた加工、例えば対象オブジェクト51を含む領域の切り出し、サイズの正規化、背景のマスク、特徴量の抽出をすることにより、撮影画像から正例訓練データを生成してよい。識別訓練データ生成部34は、予め記憶部12に格納される負例サンプル画像を特徴抽出部23に入力し、出力される特徴量データを取得することにより複数の負例訓練データを生成する。特徴量は、識別モデル24に含まれる特徴抽出部23と同じ処理により抽出される。負例サンプル画像は、例えば、予め撮影部20によって撮影された画像、Webから収集された画像、他の物体についての正例の画像であってよい。負例訓練データは予め生成され記憶部12に格納されていてもよい。
 なお識別モデル24はこれまでに説明したものには限られず、画像から直接的に対象オブジェクト51が存在するか判定するものであってもよい。
 識別モデル24および推定モデル26の初期の訓練データが取得されると、識別学習部35は識別モデル24を識別モデル向けの初期の訓練データにより学習させ、推定学習部38は推定モデル26を識別モデル向けの初期の訓練データにより学習させる(S202)。識別モデル24は、例えばSVMであり、識別学習部35はそのSVMを正例訓練データおよび負例訓練データにより学習させてよい。
 識別モデル24および推定モデル26が学習されると、S203からS207において、情報処理システムは、それらのモデルを用いていわゆる推論の処理を実行しつつ、信頼度に応じて識別モデル24および推定モデル26のそれぞれについての追加の訓練データ(追加訓練データ)を取得する。
 S203においては、情報処理システムは、撮影された画像を入力画像として対象領域取得部21に入力し、対象領域取得部21および姿勢推定部25は対象領域55の抽出および対象領域55に含まれる対象オブジェクト51の姿勢の推定の処理を実行する。S203の処理は、図6のS101からS107までの処理に相当する。
 次に、信頼度取得部39は、姿勢推定部25に含まれる推定モデル26の出力に基づいて、その出力の信頼度を算出する(S204)。この処理は図6のS108の処理に相当する。
 より具体的には、信頼度取得部39は例えば以下の手順で信頼度を算出する。信頼度取得部39は推定モデル26が出力する位置画像から、それぞれ2つの点を含む複数のグループを選択する。信頼度取得部39は、そのグループのそれぞれについて、グループに含まれる各点が示すキーポイントの方向に基づいて、キーポイントの候補位置を算出する。候補位置は、ある点からその点が示す方向に伸ばした直線と、もう一つの点からその点が示す方向に伸ばした直線との交点に相当する。グループのそれぞれについて信頼度が算出されると、信頼度取得部39は、候補位置のばらつきを示す値を信頼度として算出する。信頼度取得部39は、例えば候補位置の重心からの距離の平均値を信頼度としてとってもよいし、候補位置の任意の方向の標準偏差を信頼度として算出してもよい。
 信頼度取得部39は、候補位置のばらつきを示す値以外から信頼度を算出してもよい。例えば、信頼度取得部39は、例えば対象領域の画像のような入力画像が推定モデル26に入力された際のその推定モデル26の出力と、その入力画像が所定の加工処理により加工された加工画像が推定モデル26に入力された際の出力との相違を示す情報に基づいて、信頼度を算出してもよい。
 より具体的には、はじめに、信頼度取得部39は、対象領域の画像に所定の加工(Augmentation)を実行する。この加工は例えば明度の変更やノイズの付加のうちいずれかであってよい。次に信頼度取得部39は、加工された画像を推定モデル26に入力し、その出力である位置画像を取得する。そして信頼度取得部39は、当初の対象領域の画像に対して出力された位置画像(当初の出力)と、加工された画像により出力された位置画像との違いを示す値を信頼度として算出する。この値は、当初の出力と加工された画像に対する出力との各点における値の違いの統計量であってもよいし、当初の出力により算出されたキーポイントの位置と加工された画像に対する出力により算出されたキーポイントの位置との距離であってもよい。また当初の対象領域の画像に対する出力の代わりに、対象領域の画像に所定の加工と異なる加工がされた画像を推定モデル26に入力した際の出力が用いられてもよい。なお、ここで行われる加工(Augmentation)は、後述の推定訓練データ生成部37による加工と手法が異なってよい。手法が異なることにより、追加訓練データにより学習された推定モデルに26を用いて信頼度を算出する際に生じる信頼度の精度が抑制される。
 信頼度取得部39は、候補位置のばらつきを示す値から算出される信頼度(の要素)と、当初の出力と加工された画像に対する出力との違いを示す値とを組み合わせて最終的な信頼度を出力してよい。信頼度取得部39は例えば前者と後者とを重みづけ加算した値を信頼度として出力してよい。
 信頼度が算出されると、信頼度取得部39は、算出された信頼度が訓練データを追加するための追加条件を満たすか判定する(S205)。追加条件は、例えば、信頼度として算出されたばらつきの値が閾値より小さいことであってよい。
 信頼度が追加条件を満たす場合には(S205のY)、識別訓練データ生成部34および推定訓練データ生成部37は、それぞれ識別モデル24および推定モデル26の訓練データに追加される追加訓練データを生成する(S206)。S205およびS206は図6のS109の処理に相当する。
 より具体的には、識別訓練データ生成部34はその位置画像の元となった対象領域55に相当する画像(例えば対応する候補領域56の画像)を正例画像として決定し、その正例画像のデータを識別モデルの訓練データに追加する。識別訓練データ生成部34は正例画像として決定された画像に、識別モデル24に入力される画像に応じた加工、例えば特徴量の抽出をすることにより、撮影画像から正例訓練データを生成してよい。
 また推定訓練データ生成部37は、その位置画像の元となった対象領域の画像に基づいて第1の追加画像、第2の追加画像のセットを生成し、そのセットを推定モデルの追加訓練データに追加する。
 より具体的には、推定訓練データ生成部37は、対象領域の画像に第1の加工(Augmentation)を実行し、加工された画像を第1の追加画像として取得する。また推定訓練データ生成部37は、対象領域の画像に第2の加工(Augmentation)を実行し、加工された画像を第2の追加画像として取得する。第1の加工および第2の加工は互いに異なり、それぞれ、例えば明度の変更やノイズの付加のうちいずれかが行われてよい。また、第1の加工および第2の加工のうち一方は、実質的な加工を行わないものであってもよい。第1の追加画像および第2の追加画像のセットを用いた推定モデルの学習の手法(Consistency loss)については後述する。
 なお、推定訓練データ生成部37は、その位置画像の元となった対象領域の画像と、その画像について姿勢推定部25により算出された姿勢を示す正解データとのセットを追加訓練データに追加してもよい。こちらについては初期の学習と同じ手法により推定モデル26が学習されてよい。
 本実施形態では、学習済の機械学習モデルを用いて推論をする際の入力データの一部を訓練データに追加している。一方、通常は推論の際の入力データを訓練データに追加することはない。例えば入力データに対する出力が誤っている場合に、その入力データの追加により訓練データの質の低下を招く恐れがあるからである。本実施形態では、機械学習モデルの出力について信頼度を算出し、その信頼度を用いて訓練データに追加するか否かをフィルタリングすることにより、その追加されるデータの質を確保し、訓練データの生成の手間を減らしつつ機械学習モデルの精度を向上させることを可能にしている。
 ここで、本実施形態で算出される信頼度は、識別モデル24および推定モデル26の信頼度と考えることができる。識別モデル24の出力の信頼度という観点では、識別モデル24の後段にある推定モデル26が出力する位置画像がキーポイントを正確に求められる状態であるかを示す信頼度を求めているといえる。このように後段の機械学習モデルを含む処理が適切に行えることを信頼度の指標とすることで、簡易かつ効果的に信頼度を算出することができる。また推定モデル26の出力の信頼度という観点では、出力となる位置画像からキーポイントを求める後段の処理が適切に行えることを信頼度の指標としているといえる。
 追加訓練データが取得されると、再学習を開始する条件を満たさない限り(S207のN)、S203以降の処理が繰り返し実行される。再学習を開始する条件は、取得された追加訓練データの数が閾値に達することであってもよいし、いわゆる繰り返しの推定の処理の終了の操作が入力されることであってもよい。
 再学習を開始する条件が満たされると(S207のY)、識別学習部35および推定学習部38は、それぞれ識別モデル24および推定モデル26を再学習させる(S208)。
 ここで、再学習は、追加訓練データを含む訓練データを用いて機械学習モデルを学習させることを指している。学習の対象となる機械学習モデル(識別モデル24および推定モデル26)は、推論を実行している機械学習モデルである識別モデル24および推定モデル26と異なるインスタンスであってよいし、推論を実行している機械学習モデルと同一のインスタンスであってもよい。前者の場合には、学習が終了した後に推論に用いる識別モデル24および推定モデル26のインスタンスが切り替えられてよい。またインスタンスの切替の代わりに、推論に用いる識別モデル24および推定モデル26のインスタンスに対して新たに学習された機械学習モデルのパラメータがコピーされてもよい。
 識別モデル24については、識別学習部35は初期の訓練データに追加訓練データを追加し、その追加後の訓練データにより識別モデル24を学習してよい。また識別モデル24の学習に用いられる訓練データは、初期の訓練データおよび追加訓練データのすべてであってもよいし、それらの一部でああってもよい。識別モデル24の学習に用いられる一部の訓練データは、例えばその数がサンプル総数の最大値以下になるように選択されたものであってもよいし、何らかの手法で品質が低いと判定されたサンプルが除外されたものであってもよい。
 一方、第1の追加画像および第2の追加画像についての追加訓練データを有する推定モデル26の再学習の手法は異なる。図11は、推定モデルの再学習の処理の一例を示すフロー図であり、再学習においては、図11に示される処理が複数回繰り返し実行される。
 まず、推定学習部38は、推定モデル26向けの初期の訓練データにより、推定モデル26を学習させる(S501)。この学習は、ステップS202における推定モデル26の学習と同様の手法、より具体的には、推定学習部38は、推定モデル26が出力する位置画像と正解データとの相違(L1ロス)を教師信号として、推定モデル26のパラメータを調整する。
 次に、推定学習部38は、推定モデル26向けの追加訓練データに含まれる未取得のセットのうち1つを取得する(S502)。推定学習部38はそのセットに含まれる第1の追加画像を推定モデル26に入力し、推定モデル26の出力(第1の出力)を取得する(S503)。また推定学習部38はそのセットに含まれる第2の追加画像を推定モデル26に入力し、推定モデル26の出力(第2の出力)を取得する(S504)。
 推定学習部38は、第1の出力と第2の出力との相違(Consistency loss)を示す情報を算出し(S505)、その相違を示す情報に基づいて推定モデル26のパラメータを調整する(S506)。相違を示す情報は、第1の出力および第2の出力の各点における値の違いの統計量(例えば平均)であってよい。
 ここで、追加訓練データについては、第1の出力と第2の出力との相違に応じた学習が行われるため、主にこの手法で学習すると、例えば入力に関わらず同じ位置画像を出力するように推定モデル26のパラメータが収束する恐れがある。その事態を避けるため、初期の訓練データを含むすべての訓練データの数に対する追加訓練データの数の割合を所定の値(例えば20%)以内に抑えることが望ましい。
 追加訓練データを用いて、同一の画像をベースとする2つの画像が一致するか否かで再学習させることにより、正解のラベルのない訓練データも用いて学習させることが可能になり、精度を向上させることができる。
 本実施形態では、対象領域取得部21の処理により、推定モデル26に入力する画像を、撮影された画像のうち対象オブジェクト51が存在する領域の画像であって、対象オブジェクト51が中央に存在する蓋然性が十分に高い画像に限定している。また姿勢推定部25の推定モデル26は3次元形状モデルにより生成された訓練データにより学習され、一方で、対象領域取得部21の識別モデル24は、対象オブジェクト51が撮影された画像に基づいて学習されている。
 推定モデル26に入力される画像を適切に限定することにより、推定モデル26の出力の精度が向上し、推定される対象オブジェクト51の姿勢の精度が向上する。さらに、識別モデル24を、3次元形状モデルに基づく画像ではなく撮影画像に基づいて学習させることにより、対象領域55をより正確に選択することが可能になり、ひいては推定モデル26の精度を向上させることができる。
 本実施形態では、姿勢推定部25の推定モデル26を学習するための3次元形状モデルを生成するための撮影画像を、識別モデル24を学習する際にも用いている。これにより、対象オブジェクト51の撮影にかかる手間を低減し、推定モデル26および識別モデル24の学習にかかる時間を低減する。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば、識別モデル24は、任意のカーネルのSVMであってもよい。また、識別モデル24は、K近傍法、ロジスティック回帰、アダブースト等のブースティング方法などの方法を用いた識別器であってもよい。また、識別モデル24が、ニューラルネットワーク、ナイーブベイズ分類器、ランダムフォレスト、決定木などによって実装されてもよい。
 推定モデル26の出力は、キーポイントの位置を示すヒートマップのような位置画像であってもよい。この場合、例えば、信頼度取得部39は、推定モデル26が出力する位置画像が有するピークの数を信頼度として求めてよい。このピークの数が閾値より小さい場合に、入力データが訓練データに追加されてよい。
 また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されず、必要に応じて改変されてよい。

Claims (12)

  1.  訓練データにより学習された機械学習モデルと、
     入力データが入力された際の前記機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力する信頼度出力手段と、
     前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成する生成手段と、
     前記新たな訓練データにより機械学習モデルを学習させる学習制御手段と、
     を含む情報処理システム。
  2.  請求項1に記載の情報処理システムにおいて、
     前記機械学習モデルの出力に基づいて推定結果を出力する学習済の推定モデルを含み、
     前記信頼度出力手段は、前記推定モデルの出力に基づいて前記入力データに対する前記機械学習モデルの出力の信頼度を出力する、
     情報処理システム。
  3.  請求項2に記載の情報処理システムにおいて、
     前記入力データは、対象オブジェクトが撮影された画像を含み、
     前記推定モデルは、前記機械学習モデルの出力に基づいて、前記対象オブジェクトの姿勢推定のためのキーポイントを示す画像を出力し、
     前記信頼度出力手段は、前記画像に基づいて前記信頼度を出力する、
     情報処理システム。
  4.  請求項3に記載の情報処理システムにおいて、
     前記推定モデルは、各点がキーポイントとの位置関係を示す画像を出力し、
     前記信頼度出力手段は、複数のキーポイントの位置の候補であってそれぞれ前記推定モデルが出力した画像に含まれる互いに異なる点から生成されるキーポイントの位置の候補のばらつきに基づいて、前記信頼度を出力する、
     情報処理システム。
  5.  請求項3または4に記載の情報処理システムにおいて、
     前記信頼度出力手段は、入力画像が前記推定モデルに入力された際の当該推定モデルの出力と、前記入力画像が所定の加工処理により加工された加工画像が前記推定モデルに入力された際の出力との相違を示す情報に基づいて、前記信頼度を出力する、
     情報処理システム。
  6.  請求項3から5のいずれか1項に記載の情報処理システムにおいて、
     前記機械学習モデルは前記入力データが前記対象オブジェクトを含むか否かを示す情報を出力する、
     情報処理システム。
  7.  請求項2から6のいずれかに記載の情報処理システムにおいて、
     前記推定モデルは推定訓練データにより学習され、
     前記生成手段は、前記信頼度が前記所定の条件を満たす場合に、前記入力データに基づいて新たな推定訓練データを生成し、
     前記学習制御手段は、前記新たな訓練データにより機械学習モデルを学習させる、
     情報処理システム。
  8.  請求項1に記載の情報処理システムにおいて、
     前記入力データは、対象オブジェクトが撮影された画像を含み、
     前記機械学習モデルは、前記入力データに基づいて、対象オブジェクトの姿勢推定のためのキーポイントを示す画像を出力し、
     前記信頼度出力手段は、前記画像に基づいて前記信頼度を出力する、
     情報処理システム。
  9.  請求項8に記載の情報処理システムにおいて、
     前記訓練データは3次元形状モデルからレンダリングされた複数の学習画像とそれぞれが前記学習画像に対する正解データである正解画像とを含む、
     情報処理システム。
  10.  請求項9に記載の情報処理システムにおいて、
     前記生成手段は、前記入力データが第1の加工処理により加工された第1の追加画像と、前記入力データが前記第1の加工処理と異なる第2の加工処理により加工された第2の追加画像とを含む新たな訓練データを生成し、
     前記学習制御手段は、前記機械学習モデルに前記第1の追加画像を入力した際の出力と、前記機械学習モデルに前記第2の追加画像を追加した際の出力との違いに基づいて、機械学習モデルを学習させる、
     情報処理システム。
  11.  訓練データにより学習された機械学習モデルに入力データが入力された際の当該機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力するステップと、
     前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成するステップと、
     前記新たな訓練データにより機械学習モデルを学習させるステップと、
     を含む情報処理方法。
  12.  訓練データにより学習された機械学習モデルに入力データが入力された際の当該機械学習モデルの出力に基づいて、前記入力データに対する当該出力の信頼度を出力し、
     前記信頼度が所定の条件を満たす場合に、前記入力データに基づいて新たな訓練データを生成し、
     前記新たな訓練データにより機械学習モデルを学習させる、
     処理をコンピュータに実行させるためのプログラム。
PCT/JP2022/011645 2022-03-15 2022-03-15 情報処理システム、情報処理方法及びプログラム WO2023175727A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011645 WO2023175727A1 (ja) 2022-03-15 2022-03-15 情報処理システム、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011645 WO2023175727A1 (ja) 2022-03-15 2022-03-15 情報処理システム、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2023175727A1 true WO2023175727A1 (ja) 2023-09-21

Family

ID=88022493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011645 WO2023175727A1 (ja) 2022-03-15 2022-03-15 情報処理システム、情報処理方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2023175727A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137644A1 (en) * 2016-11-11 2018-05-17 Qualcomm Incorporated Methods and systems of performing object pose estimation
JP2020160804A (ja) * 2019-03-27 2020-10-01 三菱電機株式会社 情報処理装置、プログラム及び情報処理方法
US20200380723A1 (en) * 2019-05-30 2020-12-03 Seiko Epson Corporation Online learning for 3d pose estimation
US20200401793A1 (en) * 2020-06-26 2020-12-24 Intel Corporation Apparatus and methods for determining multi-subject performance metrics in a three-dimensional space
CN112907583A (zh) * 2021-03-29 2021-06-04 苏州科达科技股份有限公司 目标对象姿态选择方法、图像评分方法及模型训练方法
JP2021137747A (ja) * 2020-03-06 2021-09-16 株式会社明電舎 水処理施設の操作量導出装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137644A1 (en) * 2016-11-11 2018-05-17 Qualcomm Incorporated Methods and systems of performing object pose estimation
JP2020160804A (ja) * 2019-03-27 2020-10-01 三菱電機株式会社 情報処理装置、プログラム及び情報処理方法
US20200380723A1 (en) * 2019-05-30 2020-12-03 Seiko Epson Corporation Online learning for 3d pose estimation
JP2021137747A (ja) * 2020-03-06 2021-09-16 株式会社明電舎 水処理施設の操作量導出装置
US20200401793A1 (en) * 2020-06-26 2020-12-24 Intel Corporation Apparatus and methods for determining multi-subject performance metrics in a three-dimensional space
CN112907583A (zh) * 2021-03-29 2021-06-04 苏州科达科技股份有限公司 目标对象姿态选择方法、图像评分方法及模型训练方法

Similar Documents

Publication Publication Date Title
CN110175558B (zh) 一种人脸关键点的检测方法、装置、计算设备及存储介质
US10706577B2 (en) Facial features tracker with advanced training for natural rendering of human faces in real-time
CN110147721B (zh) 一种三维人脸识别方法、模型训练方法和装置
WO2018028546A1 (zh) 一种关键点的定位方法及终端、计算机存储介质
WO2020103700A1 (zh) 一种基于微表情的图像识别方法、装置以及相关设备
WO2020082258A1 (zh) 一种多目标实时跟踪方法、装置及电子设备
CN105825524A (zh) 目标跟踪方法和装置
JP2015522200A (ja) 人顔特徴点の位置決め方法、装置及び記憶媒体
CN103577815A (zh) 一种人脸对齐方法和系统
CN110705357A (zh) 人脸识别方法和人脸识别装置
CN112084856A (zh) 一种人脸姿态检测方法、装置、终端设备及存储介质
CN107194344B (zh) 自适应骨骼中心的人体行为识别方法
WO2013012091A1 (ja) 情報処理装置、物体追跡方法およびプログラム記憶媒体
CN109325456A (zh) 目标识别方法、装置、目标识别设备及存储介质
CN107292272B (zh) 一种在实时传输的视频中人脸识别的方法及系统
CN109063625A (zh) 一种基于级联深度网络的人脸关键点检测方法
JPWO2019003973A1 (ja) 顔認証装置、顔認証方法およびプログラム
WO2018103416A1 (zh) 用于人脸图像的检测方法和装置
WO2024012333A1 (zh) 位姿估计方法及相关模型的训练方法、装置、电子设备、计算机可读介质和计算机程序产品
CN111382791B (zh) 深度学习任务处理方法、图像识别任务处理方法和装置
WO2020244160A1 (zh) 终端设备控制方法、装置、计算机设备及可读存储介质
WO2023175727A1 (ja) 情報処理システム、情報処理方法及びプログラム
CN114708645A (zh) 物件辨识装置及物件辨识方法
JP2017033556A (ja) 画像処理方法及び電子機器
WO2023127747A1 (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: 22932011

Country of ref document: EP

Kind code of ref document: A1