WO2022009821A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2022009821A1
WO2022009821A1 PCT/JP2021/025245 JP2021025245W WO2022009821A1 WO 2022009821 A1 WO2022009821 A1 WO 2022009821A1 JP 2021025245 W JP2021025245 W JP 2021025245W WO 2022009821 A1 WO2022009821 A1 WO 2022009821A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
trained model
size
foot
processing
Prior art date
Application number
PCT/JP2021/025245
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 CN202180047367.7A priority Critical patent/CN115997103A/zh
Priority to JP2022535308A priority patent/JPWO2022009821A1/ja
Priority to US18/002,926 priority patent/US20230298194A1/en
Publication of WO2022009821A1 publication Critical patent/WO2022009821A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/03Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring coordinates of points
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program, and more particularly to an information processing device, an information processing method, and a program capable of measuring a target size more accurately.
  • Patent Document 1 discloses a technique for calculating a foot size based on an actual length ratio calculated using a foot image taken by a mobile terminal and the number of pixels between vertical and horizontal sliders.
  • This disclosure was made in view of such a situation, and is intended to enable more accurate measurement of the size of the target.
  • the information processing apparatus performs processing using an image including at least a depth image acquired by a sensor and a trained model learned by machine learning for at least a part of the information obtained from the image.
  • An information processing apparatus including a processing unit for measuring the size of an object included in the image.
  • the information processing method and program of one aspect of the present disclosure are information processing methods and programs corresponding to the information processing device of one aspect of the present disclosure.
  • learning including at least a depth image acquired by a sensor and learning learned by machine learning on at least a part of information obtained from the image. Processing using the finished model is performed, and the size of the object included in the image is measured.
  • the information processing device on one aspect of the present disclosure may be an independent device or an internal block constituting one device.
  • FIG. 1 is a block diagram showing a configuration example of an information processing apparatus to which the present disclosure is applied.
  • the information processing device 1 has a function of measuring the size of a target using the captured image data.
  • the information processing device 1 is configured as a mobile terminal such as a smartphone, a tablet terminal, or a mobile phone.
  • the target size the size of the foot of a user who owns a mobile terminal can be measured.
  • the information processing apparatus 1 includes a depth sensor 11, a depth processing unit 12, an RGB sensor 13, an RGB processing unit 14, a processing unit 15, a display unit 16, and an operation unit 17.
  • the depth sensor 11 is a distance measuring sensor such as a ToF (Time of Flight) sensor.
  • the ToF sensor may be either a dToF (direct Time of Flight) method or an iToF (indirect Time of Flight) method.
  • the depth sensor 11 measures the distance to the target and supplies the distance measurement signal obtained as a result to the depth processing unit 12.
  • the depth sensor 11 may be a structure light type sensor, a LiDAR (Light Detection and Ringing) type sensor, a stereo camera, or the like.
  • the depth processing unit 12 is a signal processing circuit such as a DSP (Digital Signal Processor).
  • the depth processing unit 12 performs signal processing such as depth development processing and depth pre-processing (for example, resizing processing) on the distance measurement signal supplied from the depth sensor 11, and the depth image data obtained as a result is sent to the processing unit 15. Supply.
  • the depth image is an image showing the object with depth information. For example, a depth map is used as the depth image.
  • the depth processing unit 12 may be included in the depth sensor 11.
  • the RGB sensor 13 is an image sensor such as a CMOS (Complementary Metal Oxide Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
  • the RGB sensor 13 captures an image of the target and supplies the captured signal obtained as a result to the RGB processing unit 14.
  • the image of the target may be captured not only by an RGB camera using the RGB sensor 13 but also by using a monochrome camera, an infrared camera, or the like.
  • the RGB processing unit 14 is a signal processing circuit such as a DSP.
  • the RGB processing unit 14 performs signal processing such as RGB development processing and RGB pre-processing (for example, resizing processing) on the shooting signal supplied from the RGB sensor 13, and inputs the RGB image data obtained as a result to the processing unit 15. Supply.
  • the RGB image is an image showing the target image with color information (plane information). For example, a color camera image is used as the RGB image.
  • the RGB processing unit 14 may be included in the RGB sensor 13.
  • the processing unit 15 is composed of a processor such as a CPU (Central Processing Unit). Depth image data from the depth processing unit 12 and RGB image data from the RGB processing unit 14 are supplied to the processing unit 15.
  • a processor such as a CPU (Central Processing Unit).
  • Depth image data from the depth processing unit 12 and RGB image data from the RGB processing unit 14 are supplied to the processing unit 15.
  • the processing unit 15 performs length measurement processing for measuring the size of the target based on the depth image data and the RGB image data.
  • the depth image and the RGB image include the user's foot (before the ankle) as the subject.
  • the length measurement process at least one of the depth image and the RGB image is used, and it is not always necessary to use both images.
  • depth image data, RGB image data, and at least a part of the information obtained from the image data are processed using a trained model learned by machine learning, and the size of the target is measured. Will be done.
  • the size of the object measured by the length measuring process is supplied to the display unit 16.
  • the display unit 16 is composed of a panel such as a liquid crystal panel or an OLED (Organic Light Emitting Diode) panel, a signal processing circuit, or the like.
  • the display unit 16 displays information such as the size of the target supplied from the processing unit 15.
  • the operation unit 17 is composed of physical buttons, a touch panel, and the like.
  • the operation unit 17 supplies an operation signal corresponding to the user's operation to the processing unit 15.
  • the processing unit 15 performs various processes based on the operation signal from the operation unit 17.
  • the configuration of the information processing apparatus 1 shown in FIG. 1 is an example, and a component may be deleted or another component may be added.
  • the information processing device 1 is provided with a communication unit for exchanging data with a server on the Internet, a storage unit for recording various data and programs, an input unit such as a microphone, an output unit such as a speaker, and the like. be able to.
  • FIG. 2 is a block diagram showing a first example of the configuration of the processing unit 15 of FIG.
  • the processing unit 15A has a trained model 111, a 3D coordinate calculation unit 112, a foot size posture calculation unit 113, and a trained model 114.
  • the user's foot size is measured as the target size.
  • the trained model 111 is a model that has been trained by learning using a deep neural network (DNN) at the time of learning. By using the trained model 111 at the time of inference, it is possible to predict the 2D feature points related to the foot from the depth image or the RGB image.
  • DNN deep neural network
  • the trained model 111 trained using the deep neural network is also referred to as DNN1 in order to distinguish it from other trained models.
  • the learning of DNN1 will be described later with reference to FIG.
  • the processing unit 15A is supplied with a depth image or an RGB image obtained by photographing the user's foot as measurement data, and is input to the trained model 111.
  • a depth image or an RGB image is input, and inference is performed using the trained model 111, so that 2D feature points related to the foot are output.
  • a 2D feature point includes at least three feature points: a fingertip (Tip), a base of thumb (Base of Thumb), and a heel (Heal). 2D feature points are represented by 2D coordinates. By increasing the number of 2D feature points, the measurement accuracy can be improved.
  • the 2D feature points output from the trained model 111 are supplied to the 3D coordinate calculation unit 112. Further, the depth image as the measurement data is supplied to the 3D coordinate calculation unit 112.
  • the same depth image is supplied to the 3D coordinate calculation unit 112.
  • the RGB image is input to the trained model 111
  • the depth image taken at substantially the same timing as the RGB image is supplied to the 3D coordinate calculation unit 112.
  • the 3D coordinate calculation unit 112 calculates the 3D coordinates corresponding to the 2D feature points using the depth image and the unique parameters. Specifically, a point cloud (Point Cloud), which is a set of 3D coordinates (x, y, z), is generated from the depth image using the camera parameters at the time of shooting. By using this point cloud, the coordinates (x, y, z) of the 3D feature points corresponding to the coordinates (X, Y) of the 2D feature points related to the foot can be acquired.
  • Point Cloud is a set of 3D coordinates (x, y, z)
  • the 3D feature points calculated by the 3D coordinate calculation unit 112 are supplied to the foot size posture calculation unit 113 and the trained model 114.
  • the foot size posture calculation unit 113 calculates the user's foot size (Foot Size) and posture (Pose) using information such as 3D feature points.
  • the foot size is the length from the heel to the tip of the finger, the width from the base of the thumb to the base of the little finger, and the height from the ground to the instep. There is a height and so on.
  • the foot length is calculated as the foot size.
  • the foot posture is calculated in order to take these states into consideration.
  • the foot posture is represented by a vector or the like that represents a position in space in the camera coordinate system.
  • the foot size and foot posture calculated by the foot size posture calculation unit 113 are supplied to the trained model 114.
  • the trained model 114 is a model that has been trained by learning using a deep neural network at the time of learning. By using the trained model 114 at the time of inference, the corrected foot size can be predicted from the 3D feature points, the foot size, and the foot posture.
  • the trained model 114 trained using the deep neural network is also referred to as DNN2 in order to distinguish it from other trained models.
  • the learning of DNN2 will be described later with reference to FIG.
  • the trained model 114 is supplied with 3D feature points from the 3D coordinate calculation unit 112, and the foot size and foot posture from the foot size posture calculation unit 113.
  • the processing unit 15A outputs the corrected foot size by performing inference using the trained model 114 with the 3D feature point, the foot size, and the foot posture as inputs.
  • the input foot size can be corrected to the foot size in the state where the toe joints are not bent, and the corrected foot size can be output.
  • User information and other measurement results may be input to the trained model 114.
  • the user information can include information about the user to be measured, such as gender and age.
  • Other measurement results can include measurement results of foot size other than foot length (for example, measurement results of toe length).
  • the corrected foot size value if the difference between the input and output values, that is, the difference between the uncorrected foot size value and the corrected foot size value exceeds a predetermined threshold, the corrected foot size value. Does not have to be used as the prediction result. That is, data such as depth images and 3D feature points contain errors, and if the difference between the input and output values is large, there is a high possibility that the values are incorrect, so the prediction results are collected in the time direction. Make sure that outliers are excluded.
  • depth images and RGB images are acquired at predetermined time intervals, and foot measurement processing can be executed according to the timing at which those images are acquired, but outliers are excluded. Since the corrected foot size can be obtained from the prediction result, the measurement accuracy of the foot size can be improved.
  • the corrected foot size output from the trained model 114 is supplied to the display unit 16.
  • the processing unit 15A may perform a predetermined process on the corrected foot size and then supply the foot size to the display unit 16.
  • the display unit 16 displays information according to the corrected foot size supplied from the processing unit 15A.
  • the depth image or the RGB image is processed by using the trained model 111 as the DNN 1, and the 3D feature obtained by processing the depth image or the RGB image.
  • Corrected foot size can be obtained by processing the points, foot size, and foot posture using the trained model 114 as DNN2.
  • the correct answer rate of the prediction result can be improved. Further, when the difference between the input and output values of DNN2 is large, the measurement accuracy can be further improved by excluding it from the prediction result as an outlier.
  • FIG. 4 schematically shows the flow of data in the foot measurement processing shown in FIG. 3, and will be described with reference to the appropriate reference.
  • the processing of the flowchart of FIG. 3 is started when the user points his / her foot at the information processing device 1 such as a mobile terminal and takes a picture.
  • step S11 the processing unit 15A acquires the depth image from the depth processing unit 12 or the RGB image from the RGB processing unit 14.
  • a depth map (Depth Map) is acquired as a depth image
  • a color camera image (Color Camera Image) is acquired as an RGB image (S11 in FIG. 4).
  • step S12 the processing unit 15A outputs a 2D feature point by performing inference using the acquired depth image or RGB image as an input using the trained model 111.
  • the trained model 111 trained as DNN1 inference is performed using a depth map or a color camera image as an input, so that the coordinates (100,) of the fingertip (Tip) are used as 2D Feature points. 25), the coordinates of the base of the thumb (85,58), and the coordinates of the heel (Heal) (65,157) are output (S12 in FIG. 4).
  • the 3D coordinate calculation unit 112 calculates the 3D feature points corresponding to the 2D feature points.
  • a point cloud which is a set of 3D coordinates (x, y, z)
  • the coordinates of the fingertips (15,170,600), the coordinates of the base of the thumb (-2,100,500), and the coordinates of the heel (-45,85,600) are used as 3D feature points corresponding to the 2D feature points. Obtained (S13 in FIG. 4).
  • the foot size posture calculation unit 113 calculates the foot size and the foot posture.
  • the foot size the foot length is calculated by performing an operation using the 3D coordinates of the toe tip and the heel (S14 in FIG. 4).
  • the foot posture by performing calculations using information such as 3D feature points, the joints of the toes are in a bent state, and the tips and heels of the toes are hidden. Information indicating that there is something is calculated (S14 in FIG. 4).
  • the foot posture is represented by a 3D vector in the camera coordinate system.
  • step S15 the processing unit 15A outputs the corrected foot size by performing inference with the 3D feature points, the foot size, and the foot posture as inputs using the trained model 114.
  • the 3D feature points 3D coordinates
  • the foot size distance
  • the foot posture indicating that the joints of the toes are in a bent state.
  • 3D vector 3D vector
  • the input foot length is corrected to the foot length when the toe joints are not bent, and the corrected foot length (Foot Size) is output (Fig.). 4 S15).
  • the foot size measured in those states will not be an accurate value, so learning.
  • the foot posture By inputting the foot posture to the finished model 114, the foot size corrected for the measurement in the ideal state is output as the output. Further, by inputting user information such as gender and age (Option User Information in FIG. 4) and other measurement results such as toe length into the trained model 114, the prediction result is obtained. The correct answer rate can be improved.
  • the application started by the information processing apparatus 1 the user can register his / her own user information in advance.
  • the corrected foot size can be obtained each time a depth image or an RGB image is acquired, so that each time the corrected foot size is obtained, it is compared with the uncorrected foot size. If the difference is large, remove it as an outlier. As a result, the foot size obtained by removing the outliers is finally obtained, so that the measurement accuracy of the foot size can be improved.
  • step S12 an example of obtaining 2D feature points from a depth image or an RGB image is shown, but since the depth image has a smaller amount of information than the RGB image, the case where the depth image is used is better at the time of processing. The amount of calculation of can be reduced.
  • the user's foot is photographed by performing the process using the trained model 111 trained as DNN1 and the trained model 114 trained as DNN2.
  • the corrected foot size can be obtained from an image such as a depth image. Therefore, as the prediction accuracy of the trained models (DNN1, DNN2) is improved, the foot size can be measured more accurately. Further, in the foot measurement processing, the corrected foot size can be obtained only by inputting an image such as a depth image. Therefore, as the processing capacity of the processing unit 15A is improved, the foot size can be measured more quickly. Can be done.
  • the configuration and the processing flow when the 2D feature points are output by using the trained model 111 trained as DNN1 are shown, but the 3D feature points are It may be output.
  • the configuration and the flow of processing when the output of the trained model in the previous stage becomes a 3D feature point will be described.
  • FIG. 5 is a block diagram showing a second example of the configuration of the processing unit 15 of FIG.
  • the processing unit 15B has a trained model 211, a foot size posture calculation unit 113, and a trained model 114.
  • the foot size of the user is measured as the target size.
  • the parts corresponding to the processing unit 15A are designated by the same reference numerals. That is, the processing unit 15B is provided with the trained model 211 instead of the trained model 111 and the 3D coordinate calculation unit 112 as compared with the processing unit 15A.
  • the trained model 211 is a model that has been trained by learning using a deep neural network at the time of learning. By using the trained model 211 at the time of inference, it is possible to predict the 3D feature points related to the foot from the depth image.
  • the trained model 211 trained using the deep neural network is also referred to as DNN3 in order to distinguish it from other trained models.
  • the learning of DNN3 will be described later with reference to FIG.
  • the processing unit 15B is supplied with a depth image obtained by photographing the user's foot as measurement data, and is input to the trained model 211.
  • the 3D feature points related to the foot are output by performing inference using the trained model 211 with the depth image as an input.
  • a 3D feature point includes at least three feature points: the fingertip, the base of the thumb, and the heel. 3D feature points are represented by 3D coordinates.
  • the 3D feature points output from the trained model 211 are supplied to the foot size posture calculation unit 113 and the trained model 114. Since the description of the foot size posture calculation unit 113 and the trained model 114 will be repeated, they will be omitted as appropriate.
  • the foot size posture calculation unit 113 calculates the foot size and foot posture based on information such as 3D feature points.
  • the processing unit 15B outputs the corrected foot size by performing inference using the trained model 114 with the 3D feature point, the foot size, and the foot posture as inputs.
  • the depth image is processed using the trained model 211 as DNN3, and the 3D feature points, the foot size, and the foot size obtained by processing the depth image are performed. Corrected foot size can be obtained by performing processing on the foot posture using the trained model 114 as DNN2. That is, in the processing unit 15B, as compared with the processing unit 15A (FIG. 2), the 3D feature points are directly obtained instead of the 2D feature points by using the trained model in the previous stage in which the image is input.
  • FIG. 7 schematically shows the flow of data in the foot measurement processing shown in FIG. 6, and will be described with reference to the appropriate reference.
  • the processing of the flowchart of FIG. 6 is started when the user points his / her foot at the information processing device 1 such as a mobile terminal and takes a picture.
  • step S21 the processing unit 15B acquires the depth image from the depth processing unit 12.
  • a depth map (Depth Map) is acquired as a depth image (S21 in FIG. 7).
  • step S22 the processing unit 15B outputs a 3D feature point by performing inference using the acquired depth image as an input using the trained model 211.
  • the trained model 211 trained as DNN3 the coordinates of the fingertips (15,170,600) and the coordinates of the base of the thumb (15,170,600) are used as 3D feature points by performing inference using the depth map as an input.
  • -2,100,500) and heel coordinates (-45,85,600) are output (S22 in FIG. 7).
  • step S23 to S24 the foot size and the foot posture are calculated by the foot size posture calculation unit 113, and the trained model 114 trained as DNN2 is used in 3D, as in steps S14 to S15 of FIG. Inference is performed with the feature points, foot size, and foot posture as inputs, and the corrected foot size (Foot Size) is output (S23, S24 in FIG. 7).
  • the user's foot is photographed by performing the process using the trained model 211 trained as DNN3 and the trained model 114 trained as DNN2.
  • the corrected foot size is obtained from the depth image. Therefore, as the prediction accuracy of the trained model (DNN3, DNN2) is improved, the foot size can be measured more accurately.
  • the configuration and the flow of processing when two trained models are used are shown, but the trained model may be one.
  • the processing unit 15 of FIG. 1 a configuration and a processing flow in the case of outputting the corrected foot size using one trained model will be described.
  • FIG. 8 is a block diagram showing a third example of the configuration of the processing unit 15 of FIG.
  • the processing unit 15C has a trained model 311.
  • the user's foot size is measured as the target size.
  • the trained model 311 is a model that has been trained by the deep neural network at the time of training. By using the trained model 311 at the time of inference, the corrected foot size can be predicted from the depth image.
  • the trained model 311 trained using the deep neural network is also referred to as DNN4 in order to distinguish it from other trained models.
  • the learning of DNN4 will be described later with reference to FIG.
  • the processing unit 15C is supplied with a depth image obtained by photographing the user's foot as measurement data, and is input to the trained model 311.
  • the corrected foot size is output by performing inference using the trained model 311 with the depth image as an input.
  • the foot size predicted from the depth image is not an accurate value, so the trained model 311 learns features such as foot posture during training. By doing so, the foot size corrected for the measurement in the ideal state (the state where the toe joints are not bent) is output.
  • the corrected foot size can be obtained by processing the depth image using the trained model 311 as DNN4.
  • inference is performed using the trained model which is DNN4, so that the size can be measured more accurately as the prediction accuracy of the trained model is improved.
  • FIG. 10 schematically shows the flow of data in the foot measurement processing shown in FIG. 9, and will be described with reference to the appropriate reference.
  • the processing of the flowchart of FIG. 9 is started when the user points his / her foot at the information processing device 1 such as a mobile terminal and takes a picture.
  • step S31 the processing unit 15C acquires the depth image from the depth processing unit 12.
  • a depth map (Depth Map) is acquired as a depth image (S31 in FIG. 10).
  • step S32 the processing unit 15C outputs the corrected foot size by performing inference using the acquired depth image as an input using the trained model 311. For example, when the user's toe joint is bent during shooting with a mobile terminal, the foot size corrected for the measurement in the ideal state (Foot Size) is output (Fig. 10). S32).
  • the corrected foot size is obtained from the depth image obtained by photographing the user's foot by performing the processing using the trained model 311 trained as DNN4. can get. Therefore, as the prediction accuracy of the trained model (DNN4) is improved, the foot size can be measured more accurately.
  • the trained model 311 is trained to output the corrected foot size as the output when the depth image is input, but at the time of training, only the training data is input to DNN4. Instead, the correct answer data may be given in the middle of DNN4 so that learning can be performed.
  • FIG. 11 is a diagram showing an example of a development workflow and a platform for providing an application executed by an information processing apparatus to which the present disclosure is applied.
  • an application developed using an information processing device 2 such as a PC (Personal Computer) is provided and installed in the information processing device 1 such as a mobile terminal.
  • an information processing device 2 such as a PC (Personal Computer)
  • the information processing device 1 such as a mobile terminal.
  • algorithm development and application development are performed.
  • algorithm development a foot measurement code and a trained model that is called when the foot measurement is executed are developed.
  • the information processing device 2 can acquire a large amount of learning data by accumulating the depth images taken by the shooting device 3 that has activated the shooting application in the database 4.
  • the learning data can include an RGB image.
  • annotation work is performed on the learning data.
  • a developer can use a GUI tool (GUI Labeling Tool) to label feature points (for example, correct feature points such as fingertips and heels) on a specific part of the foot included in the depth image as learning data.
  • teacher data is generated.
  • data augmentation is performed, and for example, by enlarging an existing image or flipping it left and right, it is possible to increase the variation of learning data used in machine learning. This makes it possible to add information that cannot be covered only by shooting with the shooting device 3.
  • a trained model is generated by performing machine learning by deep learning using the training data. For example, as the trained model, any of the above-mentioned DNN1 to DNN4 can be generated.
  • DNN1 expects to output 2D feature points such as fingertips as the output when a depth image or RGB image is input, but in the initial stage of learning, it is expected to output 2D feature points such as fingertips. Outputs the feature points of different parts.
  • the correct 2D feature points by labeling the correct 2D feature points and repeating the learning, the correct 2D feature points such as the fingertips are output, and the learning of DNN1 converges.
  • DNN3 when a depth image is input, it is expected that 3D feature points will be output as the output, so by labeling the correct 3D feature points and repeating learning, the correct answer will be obtained. 3D feature points will be output.
  • DNN2 expects to output the corrected foot size as the output when the 3D feature point, foot size, and foot posture are input, so learning about the characteristics of the human foot is repeated. By doing so, the correct foot size will be output.
  • DNN4 expects to output the corrected foot size as the output when the depth image is input, so by repeating the learning about the characteristics of the human foot, the correct foot size is output. It will be like.
  • DNN2 and DNN4 when user information and other measurement results are input, learning is performed in consideration of such information. Further, when training the trained model, not only the training data may be input to the DNN, but also the correct answer data may be given in the middle of the DNN so that the training is performed.
  • the prediction accuracy of trained models can be improved.
  • the trained model (DNN1, DNN2, etc.) generated in this way is appropriately called when the foot measurement length processing is executed, and the prediction result for the input is output.
  • foot measurement application an application that uses the foot size obtained by foot measurement processing using the foot measurement processing program and trained model developed in algorithm development. Will be.
  • the foot measurement length application developed in this way is provided and installed in the information processing apparatus 1 via a server or the like on the Internet.
  • the foot measurement process is executed and the foot size is displayed.
  • the trained models such as DNN1 and DNN2 are appropriately called, and the prediction result for the input is obtained as an output. Therefore, the processing using those outputs is performed.
  • FIG. 11 shows a case where algorithm development and application development are performed by the same information processing device 2 such as one PC, algorithm development and application development may be performed by different information processing devices. Further, algorithm development and application development may be performed by a plurality of information processing devices, respectively.
  • the foot measurement length application is started when the shoe fitting purchase process is executed.
  • step S111 the processing unit 15 determines whether or not the desired shoe has been selected by the user based on the operation signal from the operation unit 17. If it is determined in step S111 that the desired shoe has been selected by the user, the process proceeds to step S112.
  • step S112 the processing unit 15 starts the foot measurement length processing.
  • the user points the information processing device 1 at his / her own foot (before the ankle), and the depth sensor 11 and the RGB sensor 13 take a picture (measurement) of the user's foot.
  • the process shown in any one of the three embodiments described above is performed. That is, a process using a trained model of DNN1 and DNN2, DNN3 and DNN2, or DNN4 is performed on an image including a depth image and at least a part of the information obtained from the image.
  • step S113 the processing unit 15 superimposes the AR image of the selected shoe on the user's foot included in the captured RGB image and displays it on the display unit 16.
  • step S114 the processing unit 15 displays on the display unit 16 the progress status linked to the variation of the posture of the foot, the shooting time, the time required for the foot measurement length processing, and the like.
  • the AR image 521 of the shoe selected by the user is placed on the foot portion of the user included in the shooting screen 511 corresponding to the captured RGB image. Is superimposed and displayed.
  • a known technique can be used for the superimposed display of the AR image.
  • An image marker (AR marker) is not required because the posture of the foot can be recognized in the foot measurement processing.
  • the progress status 531 is displayed on the shooting screen 511. While the user is trying on the AR of the shoe, the foot measurement process is performed. In other words, in the foot measurement processing, it takes a certain amount of time because the foot size is calculated and the outliers are removed from the values sequentially obtained in the time direction, but the progress in consideration of that time is presented. Will be done.
  • the method of presenting the progress in addition to expressing it by the ratio of the donut type graph as shown in the progress status 531 in FIG. 13, for example, it is expressed by the ratio of the horizontal bar type graph as shown in the progress status 532 in FIG. May be good.
  • the display of the progress status is not limited to the donut-shaped or horizontal bar-shaped graph, and other display forms may be used.
  • the progress presentation method is not limited to the display, and other presentation methods such as sound output and vibration may be used.
  • the processing unit 15 sends a message to that effect based on the information obtained by the foot measurement processing and the information from other sensors. It can be displayed on the display unit 16. For example, as shown in FIG. 15, if the position of the user's foot is too close, the message 541 is displayed. By presenting the message, the user can be guided to a distance suitable for the foot measurement length by moving the information processing apparatus 1 or moving his / her own foot.
  • step S115 the processing unit 15 determines whether or not the foot measurement processing is completed. If it is determined in step S115 that the foot measurement process has not been completed, the process returns to step S113, steps S113 and S114 are repeated, and the progress status is displayed together with the AR image.
  • step S115 the processing unit 15 displays the foot size obtained by the foot measuring length processing on the display unit 16.
  • This foot size is a corrected foot size, and is measured in an ideal state when, for example, the joints of the toes of the user are in a bent state at the time of shooting with the information processing device 1. It has been corrected to the value of.
  • the AR image 521 of the shoes is superimposed and displayed on the shooting screen 511, and the foot size 551 is displayed. This allows the user to recognize his or her foot size.
  • step S117 the processing unit 15 determines whether or not the user has selected the purchase of shoes during AR fitting based on the operation signal from the operation unit 17.
  • step S117 If it is determined in step S117 that the purchase of shoes has been selected, the process proceeds to step S118.
  • step S118 the processing unit 15 performs a product purchase process.
  • the display unit 16 of the information processing apparatus 1 displays a button 552 for purchasing shoes for which AR has been tried on.
  • the user wants to purchase the shoes that he / she has tried on AR, he / she taps the button 552 to display the purchase screen.
  • the user can perform processing such as payment and purchase shoes that have been tried on in AR.
  • shoes can be purchased according to the corrected foot size obtained by the foot measurement process, but the user who has confirmed the foot size 551 can input or change his / her foot size. You may do so.
  • the foot measurement application may be provided with a function of AR fitting or purchasing not only shoes selected by the user but also shoes of a model similar to the selected shoes.
  • the fit rate for each shoe may be calculated and displayed based on the information obtained by the foot measurement length processing, the information from other sensors, and the like. The user can check this information to decide whether to buy shoes.
  • the information processing apparatus 1 accesses a server on the Internet, transmits the corrected foot size obtained by the foot measurement processing, and user information (gender, age, etc.), and responds to the characteristics of the user. You can request confirmation of your shoes.
  • the foot measurement application can recommend shoes according to the user's characteristics based on the response from the server.
  • step S118 When the process of step S118 is completed, a series of processes is completed. If it is determined in step S117 that the purchase of shoes is not selected, the process of step S118 is skipped and the series of processes ends.
  • the foot size is exemplified as the size of the target object, but in the information processing apparatus 1, other parts of the user's body are measured, and clothes, accessories, etc. are measured according to the measured parts.
  • the AR image of may be superimposed and displayed. Further, the information processing apparatus 1 may display the size of the measured portion.
  • the shoulder width, body width, etc. of the user are measured and photographed at the same time.
  • the AR image of the clothes is superimposed and displayed on the upper body part of the user included in the RGB image.
  • the AR image of the ring is superimposed and displayed on the portion of the user's finger included in the captured RGB image.
  • the measured shoulder width, body width, finger circumference, and the like may be displayed.
  • the processing unit 15 performs processing using the trained model learned by machine learning, but some processing may be performed on a rule basis. ..
  • FIG. 17 shows a configuration example of a system including a device that performs AI processing.
  • the electronic device 20001 is a mobile terminal such as a smartphone, a tablet terminal, or a mobile phone.
  • the electronic device 20011 corresponds to, for example, the information processing apparatus 1 of FIG. 1, and has an optical sensor 20011 corresponding to the depth sensor 11 (FIG. 1).
  • An optical sensor is a sensor (image sensor) that converts light into an electrical signal.
  • the electronic device 20001 can be connected to a network 20040 such as the Internet via the core network 20030 by connecting to a base station 20020 installed at a predetermined location by wireless communication corresponding to a predetermined communication method.
  • An edge server 20002 for realizing mobile edge computing is provided at a position closer to the mobile terminal such as between the base station 20020 and the core network 20030.
  • a cloud server 20003 is connected to the network 20040.
  • the edge server 20002 and the cloud server 20003 can perform various processes according to the intended use.
  • the edge server 20002 may be provided in the core network 20030.
  • AI processing is performed by the electronic device 20001, the edge server 20002, the cloud server 20003, or the optical sensor 20011.
  • the AI process processes the technology according to the present disclosure by using AI such as machine learning.
  • AI processing includes learning processing and inference processing.
  • the training process is a process of generating a trained model.
  • the learning process also includes a re-learning process described later.
  • the inference process is a process of making an inference using a trained model.
  • the trained model can include at least one of DNN1 to DNN4 described above.
  • a processor such as a CPU (Central Processing Unit) executes a program, or dedicated hardware such as a processor specialized for a specific application is used. AI processing is realized by using it.
  • a GPU Graphics Processing Unit
  • a processor specialized for a specific application can be used as a processor specialized for a specific application.
  • FIG. 18 shows a configuration example of the electronic device 20001.
  • the electronic device 20011 includes a CPU 20101 that controls the operation of each part and performs various processes, a GPU 20102 that specializes in image processing and parallel processing, a main memory 20103 such as a DRAM (Dynamic Random Access Memory), and an auxiliary such as a flash memory. It has memory 20104.
  • a CPU 20101 that controls the operation of each part and performs various processes
  • a GPU 20102 that specializes in image processing and parallel processing
  • main memory 20103 such as a DRAM (Dynamic Random Access Memory)
  • an auxiliary such as a flash memory. It has memory 20104.
  • Auxiliary memory 20104 records data such as programs for AI processing and various parameters.
  • the CPU 20101 expands the programs and parameters recorded in the auxiliary memory 20104 into the main memory 20103 and executes the program.
  • the CPU 20101 and the GPU 20102 expand the programs and parameters recorded in the auxiliary memory 20104 into the main memory 20103 and execute the program.
  • the GPU 20102 can be used as a GPGPU (General-Purpose computing on Graphics Processing Units).
  • the CPU 20101 and GPU 20102 may be configured as a SoC (System on a Chip).
  • SoC System on a Chip
  • the GPU 20102 may not be provided.
  • the electronic device 20011 also comprises an optical sensor 20111 to which the technology according to the present disclosure is applied, an operation unit 20105 such as a physical button or a touch panel, a sensor 20106 including at least one sensor, and information such as an image or text. It has a display 20107 for displaying, a speaker 20108 for outputting sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 connecting them.
  • an optical sensor 20111 to which the technology according to the present disclosure is applied
  • an operation unit 20105 such as a physical button or a touch panel
  • a sensor 20106 including at least one sensor
  • information such as an image or text.
  • It has a display 20107 for displaying, a speaker 20108 for outputting sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 connecting them.
  • the sensor 20106 has at least one or more various sensors such as an optical sensor (image sensor), a sound sensor (microphone), a vibration sensor, an acceleration sensor, an angular velocity sensor, a pressure sensor, an odor sensor, and a biological sensor.
  • the data acquired from at least one sensor of the sensor 20106 can be used together with the data (image data) acquired from the optical sensor 2011. That is, the optical sensor 2011 corresponds to the depth sensor 11 (FIG. 1), and the sensor 20106 corresponds to the RGB sensor 13 (FIG. 1).
  • optical sensors include RGB visible light sensors, ranging sensors such as ToF (Time of Flight), polarization sensors, event-based sensors, sensors that acquire IR images, sensors that can acquire multiple wavelengths, and the like. ..
  • AI processing can be performed by a processor such as CPU 20101 or GPU 20102.
  • the processor of the electronic device 20011 performs the inference processing, the processing can be started in a short time after the image data is acquired by the optical sensor 20011, so that the processing can be performed at high speed. Therefore, in the electronic device 20011, when the inference process is used for an application or the like in which information is required to be transmitted with a short delay time, the user can perform the operation without discomfort due to the delay.
  • the processor of the electronic device 20001 performs AI processing, it is not necessary to use a communication line or a computer device for the server as compared with the case of using a server such as a cloud server 20003, and the processing is realized at low cost. can do.
  • FIG. 19 shows a configuration example of the edge server 20002.
  • the edge server 20002 has a CPU 20101 that controls the operation of each part and performs various processes, and a GPU 2022 that is specialized in image processing and parallel processing.
  • the edge server 20002 further has a main memory 20203 such as a DRAM, an auxiliary memory 20204 such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), and a communication I / F 20205 such as a NIC (Network Interface Card). They are connected to bus 20206.
  • main memory 20203 such as a DRAM
  • an auxiliary memory 20204 such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive)
  • a communication I / F 20205 such as a NIC (Network Interface Card).
  • Auxiliary memory 20204 records data such as programs for AI processing and various parameters.
  • the CPU 20101 expands the programs and parameters recorded in the auxiliary memory 20204 into the main memory 20203 and executes the program.
  • the CPU 20102 and the GPU 2022 can use the GPU 2022 as a GPGPU by expanding the programs and parameters recorded in the auxiliary memory 20204 to the main memory 20203 and executing the program.
  • the GPU 2022 may not be provided.
  • AI processing can be performed by a processor such as CPU20201 or GPU20202.
  • the edge server 20002 is provided at a position closer to the electronic device 20001 than the cloud server 20003, so that the processing delay can be reduced.
  • the edge server 20002 has a higher processing capacity such as calculation speed than the electronic device 20001 and the optical sensor 20011, it can be configured for general purposes. Therefore, when the processor of the edge server 20002 performs AI processing, AI processing can be performed if data can be received regardless of the difference in specifications and performance of the electronic device 20011 and the optical sensor 20011.
  • AI processing load on the electronic device 20011 and the optical sensor 20011 can be reduced.
  • AI processing can be performed by a processor such as CPU20201 or GPU20202. Since the cloud server 20003 has a higher processing capacity such as calculation speed than the electronic device 20011 and the optical sensor 20111, it can be configured for general purposes. Therefore, when the processor of the cloud server 20003 performs AI processing, AI processing can be performed regardless of the difference in specifications and performance of the electronic device 20011 and the optical sensor 20011. If it is difficult for the processor of the electronic device 20011 or the optical sensor 20011 to perform the high-load AI processing, the processor of the cloud server 20003 performs the high-load AI processing, and the processing result is the electronic device 20011. Alternatively, it can be fed back to the processor of the optical sensor 2011.
  • FIG. 20 shows a configuration example of the optical sensor 2011.
  • the optical sensor 2011 can be configured as, for example, a one-chip semiconductor device having a laminated structure in which a plurality of substrates are laminated.
  • the optical sensor 20111 is configured by laminating two substrates, a substrate 20301 and a substrate 20302.
  • the configuration of the optical sensor 2011 is not limited to the laminated structure, and for example, the substrate including the image pickup unit may include a processor such as a CPU or a DSP (Digital Signal Processor) that performs AI processing.
  • a processor such as a CPU or a DSP (Digital Signal Processor) that performs AI processing.
  • DSP Digital Signal Processor
  • the upper substrate 20301 is equipped with an image pickup unit 20321 in which a plurality of pixels are arranged two-dimensionally.
  • an image pickup processing unit 20322 that performs processing related to image acquisition by the image pickup unit 20321, an output I / F 20323 that outputs an image pickup image and a signal processing result to the outside, and an image acquisition by the image pickup unit 20321.
  • the image pickup control unit 20324 for controlling the above is mounted.
  • the image pickup block 20311 is configured by the image pickup unit 20321, the image pickup processing unit 20322, the output I / F 20323, and the image pickup control unit 20324.
  • the lower substrate 20302 has a CPU 20331 that controls each part and performs various processes, a DSP 20332 that performs signal processing using captured images and information from the outside, and a SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access).
  • a memory 20333 such as Memory
  • a communication I / F 20334 for exchanging necessary information with the outside are mounted.
  • the signal processing block 20312 is configured by the CPU 20331, the DSP 20332, the memory 20333, and the communication I / F 20334.
  • AI processing can be performed by at least one processor of CPU 20331 and DSP 20332.
  • the signal processing block 20312 for AI processing can be mounted on the lower substrate 20302 in the laminated structure in which a plurality of substrates are laminated.
  • the image data acquired by the imaging block 20311 for imaging mounted on the upper substrate 20301 is processed by the signal processing block 20312 for AI processing mounted on the lower substrate 20302, so that one chip can be used.
  • a series of processes can be performed in the semiconductor device.
  • AI processing can be performed by a processor such as CPU 20331.
  • the processor of the optical sensor 2011 performs AI processing such as inference processing, since a series of processing is performed in a semiconductor device of one chip, information does not leak to the outside of the sensor, so that the confidentiality of information can be improved. Further, since it is not necessary to transmit data such as image data to another device, the processor of the optical sensor 2011 can perform AI processing such as inference processing using image data at high speed. For example, when inference processing is used for an application that requires real-time performance, it is possible to sufficiently secure real-time performance. Here, ensuring real-time performance means that information can be transmitted with a short delay time. Further, when the processor of the optical sensor 2011 performs AI processing, by passing various metadata by the processor of the electronic device 20011, the processing can be reduced and the power consumption can be reduced.
  • FIG. 21 shows a configuration example of the processing unit 20401.
  • the processing unit 20401 corresponds to the processing unit 10 of FIG.
  • the processor of the electronic device 20001, the edge server 20002, the cloud server 20003, or the optical sensor 20011 functions as the processing unit 20401 by executing various processes according to the program. It should be noted that a plurality of processors of the same or different devices may function as the processing unit 20401.
  • the processing unit 20401 has an AI processing unit 20411.
  • the AI processing unit 20411 performs AI processing.
  • the AI processing unit 20411 has a learning unit 20421 and an inference unit 20422.
  • the learning unit 20421 performs a learning process to generate a trained model.
  • trained models such as DNN1 to DNN4 are generated.
  • the learning unit 20421 may perform a re-learning process for updating the generated trained model.
  • the generation and update of the trained model will be explained separately, but since it can be said that the trained model is generated by updating the trained model, the trained model is generated. It shall include the meaning of updating the model.
  • the generated trained model is recorded in a storage medium such as a main memory or an auxiliary memory of an electronic device 20001, an edge server 20002, a cloud server 20003, an optical sensor 2001, or the like, and is performed by the inference unit 20422. It will be newly available in inference processing. As a result, it is possible to generate an electronic device 20001, an edge server 20002, a cloud server 20003, an optical sensor 20011 or the like that performs inference processing based on the trained model. Further, the generated trained model is recorded in a storage medium or electronic device independent of the electronic device 20001, edge server 20002, cloud server 20003, optical sensor 2001, etc., and is provided for use in other devices. You may.
  • the inference unit 20422 performs inference processing using the trained model. In the inference processing, processing using a trained model such as DNN1 to DNN4 is performed.
  • a neural network is a model that imitates a human brain neural circuit, and consists of three types of layers: an input layer, an intermediate layer (hidden layer), and an output layer.
  • Deep learning is a model that uses a multi-layered neural network, and it is possible to repeat characteristic learning in each layer and learn complex patterns hidden in a large amount of data.
  • Supervised learning can be used as a problem setting for machine learning. For example, supervised learning learns features based on given labeled teacher data. This makes it possible to derive labels for unknown data.
  • image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, a data set generated by the simulator, and the like can be used.
  • supervised learning a large amount of unlabeled learning data is analyzed to extract features, and clustering or the like is performed based on the extracted features. This makes it possible to analyze and predict trends based on vast amounts of unknown data.
  • Semi-supervised learning is a mixture of supervised learning and unsupervised learning. After learning features in supervised learning, a huge amount of learning data is given in unsupervised learning, and the features are automatically learned. It is a method of repeating learning while calculating. Reinforcement learning deals with the problem of observing the current state of an agent in an environment and deciding what action to take.
  • AI processing is performed by one or more of these devices.
  • the AI processing unit 20411 may have at least one of the learning unit 20421 and the inference unit 20422. That is, the processor of each device may execute both the learning process and the inference process, as well as one of the learning process and the inference process. For example, when the processor of the electronic device 20011 performs both inference processing and learning processing, it has a learning unit 20421 and an inference unit 20422, but when it performs only inference processing, it has only an inference unit 20422. Just do it.
  • each device may execute all the processes related to the learning process or the inference process, or after executing some processes on the processor of each device, the remaining processes are executed by the processors of other devices. May be good. Further, each device may have a common processor for executing each function of AI processing such as learning processing and inference processing, or may have a processor individually for each function.
  • the AI processing may be performed by a device other than the above-mentioned device.
  • the AI process can be performed by another electronic device to which the electronic device 20001 can be connected by wireless communication or the like.
  • the electronic device 20001 is a smartphone
  • other electronic devices that perform AI processing include other smartphones, tablet terminals, mobile phones, PCs (Personal Computers), game machines, and television receivers. It can be a device such as a wearable terminal, a digital still camera, or a digital video camera.
  • AI processing such as inference processing can be applied to configurations using sensors mounted on mobile objects such as automobiles and sensors used in telemedicine devices, but the delay time is short in those environments. Is required. In such an environment, the AI processing is not performed by the processor of the cloud server 20003 via the network 20040, but by the processor of the local device (for example, the electronic device 20001 as an in-vehicle device or a medical device). Therefore, the delay time can be shortened. Further, even when there is no environment for connecting to the network 20040 such as the Internet, or when the device is used in an environment where high-speed connection cannot be performed, the processor of a local device such as an electronic device 20011 or an optical sensor 20111 is used. By performing the AI processing in, the AI processing can be performed in a more appropriate environment.
  • the electronic device 20001 is not limited to a mobile terminal such as a smartphone, but may be a PC, a game machine, a television receiver, a wearable terminal, a digital still camera, an electronic device such as a digital video camera, an in-vehicle device, or a medical device. .. Further, the electronic device 20001 may be connected to the network 20040 by wireless communication or wired communication corresponding to a predetermined communication method such as a wireless LAN (Local Area Network) or a wired LAN.
  • the AI processing is not limited to a processor such as a CPU or GPU of each device, and a quantum computer, a neuromorphic computer, or the like may be used.
  • FIG. 22 shows the flow of data between a plurality of devices.
  • Electronic devices 20001-1 to 20001-N are possessed by each user, and can be connected to a network 20040 such as the Internet via a base station (not shown) or the like.
  • the learning device 20501 is connected to the electronic device 20001-1, and the trained model provided by the learning device 20501 can be recorded in the auxiliary memory 20104.
  • the learning device 20501 uses the data set generated by the simulator 20502 as training data to generate a trained model and provides it to the electronic device 20001-1.
  • the learning data is not limited to the data set provided by the simulator 20502, and may use image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, and the like.
  • the learning model generation server 20503, the learning model providing server 20504, the data providing server 20505, and the application server 20506 are connected to the network 20040, and data can be exchanged with each other.
  • Each server can be provided as a cloud server.
  • the learning model generation server 20503 has the same configuration as the cloud server 20003, and can perform learning processing by a processor such as a CPU.
  • the training model generation server 20503 generates a trained model using the training data.
  • the illustrated configuration illustrates the case where the electronic device 20001 records the trained model at the time of manufacture, the trained model may be provided from the training model generation server 20503.
  • the training model generation server 20503 transmits the generated trained model to the electronic device 20001 via the network 20040.
  • the electronic device 20001 receives the trained model transmitted from the learning model generation server 20503 and records it in the auxiliary memory 20104. As a result, an electronic device 20001 having the trained model is generated.
  • the electronic device 20011 when the trained model is not recorded at the manufacturing stage, a new trained model is recorded by newly recording the trained model from the training model generation server 20503. Electronic device 20001 is generated. Further, in the electronic device 20011, when the trained model is already recorded at the manufacturing stage, the trained model is updated by updating the recorded trained model to the trained model from the training model generation server 20503. An electronic device 20001 recording the trained model is generated. In the electronic device 20011, inference processing can be performed using a trained model that is updated as appropriate.
  • the trained model is not limited to being directly provided from the learning model generation server 20503 to the electronic device 20001, but may be provided by the learning model providing server 20504 that aggregates and manages various trained models via the network 20040.
  • the learning model providing server 20504 is not limited to the electronic device 20001.
  • another device having the learned model may be generated.
  • the trained model may be recorded and provided on a removable memory card such as a flash memory.
  • the trained model can be read and recorded from the memory card installed in the slot. As a result, the electronic device 20011 learns even when it is used in a harsh environment, when it does not have a communication function, or when it has a communication function but the amount of information that can be transmitted is small. You can get the completed model.
  • the electronic device 20001 can provide data such as image data, corrected data, and metadata to other devices via the network 20040.
  • the electronic device 20001 transmits data such as image data and corrected data to the learning model generation server 20503 via the network 20040.
  • the learning model generation server 20503 can generate a trained model by using data such as image data and corrected data collected from one or a plurality of electronic devices 20001 as training data. By using more learning data, the accuracy of the learning process can be improved.
  • Data such as image data and corrected data are not limited to being directly provided from the electronic device 2001 to the learning model generation server 20503, but may be provided by the data providing server 20505 that aggregates and manages various data.
  • the data providing server 20505 may collect data not only from the electronic device 20001 but also from other devices, and may provide data to other devices not limited to the learning model generation server 20503.
  • the learning model generation server 20503 performs a re-learning process in which data such as image data and corrected data provided by the electronic device 20001 or the data providing server 20505 is added to the training data for the already generated trained model. You may update the trained model. The updated trained model can be provided to electronic device 20001.
  • the learning model generation server 20503 performs the learning process or the re-learning process, the process can be performed regardless of the difference in the specifications and performance of the electronic device 20001.
  • the feedback data related to the correction process is used for the re-learning process. It may be used. For example, by transmitting the feedback data from the electronic device 20001 to the learning model generation server 20503, the learning model generation server 20503 performs a re-learning process using the feedback data from the electronic device 20011 and updates the trained model. be able to.
  • the application provided by the application server 20506 may be used when the correction operation is performed by the user.
  • the re-learning process may be performed by the electronic device 20001.
  • the electronic device 20011 when the trained model is updated by performing the re-learning process using the image data and the feedback data, the trained model can be improved in the device. This produces an electronic device 20001 with the updated trained model. Further, the electronic device 20001 may transmit the updated trained model obtained by the re-learning process to the learning model providing server 20504 so that it is provided to another electronic device 20011. As a result, the updated trained model can be shared among the plurality of electronic devices 20001.
  • the electronic device 20001 transmits the difference information of the retrained trained model (difference information about the trained model before the update and the trained model after the update) to the training model generation server 20503 as the update information. May be good.
  • the learning model generation server 20503 can generate an improved trained model based on the update information from the electronic device 20001 and provide it to another electronic device 20011. By exchanging such difference information, privacy can be protected and communication cost can be reduced as compared with the case of exchanging all information.
  • the optical sensor 20011 mounted on the electronic device 20011 may perform the relearning process.
  • the application server 20506 is a server capable of providing various applications via the network 20040.
  • the application provides a predetermined function using data such as a trained model, corrected data, and metadata.
  • the electronic device 20001 can realize a predetermined function by executing the application downloaded from the application server 20506 via the network 20040.
  • the application server 20506 can realize a predetermined function by acquiring data from the electronic device 20001 via, for example, an API (Application Programming Interface) and executing the application on the application server 20506.
  • API Application Programming Interface
  • data such as trained model, image data, and corrected data are exchanged and distributed between the devices, and various services using the data are used.
  • data such as trained model, image data, and corrected data are exchanged and distributed between the devices, and various services using the data are used.
  • a service that provides a trained model via a learning model providing server 20504, and a service that provides data such as image data and corrected data via a data providing server 20505.
  • a service for providing an application via an application server 20506.
  • the image data acquired from the optical sensor 20011 of the electronic device 20011 may be input to the trained model provided by the learning model providing server 20504, and the corrected data obtained as the output may be provided.
  • a device such as an electronic device on which the trained model provided by the learning model providing server 20504 may be generated and provided may be generated and provided.
  • a storage medium in which the data is recorded and a device such as an electronic device equipped with the storage medium can be used. It may be generated and provided.
  • the storage medium may be a non-volatile memory such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or a volatile memory such as SRAM or DRAM.
  • this disclosure can have the following structure.
  • An image including at least a depth image acquired by a sensor and at least a part of the information obtained from the image are processed using a trained model learned by machine learning, and the size of an object included in the image is measured.
  • the trained model is a deep neural network trained by inputting at least one of the image and the information and using the size of the target as an output.
  • the trained model is A first trained model that uses the image as an input and outputs the feature points of the target, Described in (2) above, including a second trained model in which the feature point of the target, the size of the target, and the posture of the target are input and the corrected size obtained by correcting the size of the target is output.
  • the second trained model is described in (3) above, wherein the user information about the target is input together with the feature point of the target, the size of the target, and the posture of the target, and the corrected size is output. Information processing equipment.
  • the processing unit Based on the feature points of the target output from the first trained model, the size of the target and the posture of the target are calculated.
  • the information processing apparatus according to (3) or (4), wherein the calculated size of the target and the posture of the target are input to the second trained model.
  • the first trained model outputs 2D feature points or 3D feature points as the feature points.
  • the information processing apparatus according to any one of (3) to (5) above, wherein the second trained model inputs a 3D feature point as the feature point.
  • the information processing device calculates a 3D feature point from the 2D feature point when the feature point is a 2D feature point.
  • the information processing apparatus according to any one of (3) to (7), further comprising a display unit for displaying the corrected size.
  • the display unit superimposes and displays an AR image on a portion corresponding to the target included in a captured image captured by a user.
  • the target is the user's foot
  • the information processing device according to any one of (1) to (9) above, wherein the size of the target is the size of the user's foot.
  • the image further includes an RGB image.
  • the information processing apparatus according to any one of (1) to (11) above, which is configured as a mobile terminal having the sensor, the processing unit, and a display unit for displaying the processing result by the processing unit.
  • Information processing equipment An image including at least a depth image acquired by a sensor and at least a part of the information obtained from the image are processed using a trained model learned by machine learning, and the size of an object included in the image is measured.
  • Information processing method An image including at least a depth image acquired by a sensor and at least a part of the information obtained from the image are processed using a trained model learned by machine learning, and the size of an object included in the image is measured.
  • 1 Information processing device 2 Information processing device, 3 Imaging device, 4 Database, 11 Depth sensor, 12 Depth processing unit, 13 RGB sensor, 14 RGB processing unit, 15, 15A, 15B, 15C processing unit, 16 display unit, 17 operations Department, 111 trained model, 112 3D coordinate calculation unit, 113 foot size posture calculation unit, 114 trained model, 211 trained model, 311 trained model

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本開示は、より正確に、対象のサイズを測定することができるようにする情報処理装置、情報処理方法、及びプログラムに関する。 センサにより取得されたデプス画像を少なくとも含む画像、及び画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、画像に含まれる対象のサイズを測定する処理部を備える情報処理装置が提供される。本開示は、例えば、センサを有するモバイル端末に適用することができる。

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関し、特に、より正確に、対象のサイズを測定することができるようにした情報処理装置、情報処理方法、及びプログラムに関する。
 ユーザの足のサイズを測定する方法として、専用の足測定器具を用いる方法や、足を撮影した撮影画像を解析して算出する方法が提案されている。特許文献1には、携帯端末で撮影した足画像を用いて算出した実長比率と、縦横のスライダ間の画素数に基づき、足のサイズを算出する技術が開示されている。
特許第6295400号公報
 ユーザの足などの対象のサイズを測定するに際しては、正確なサイズを測定することが求められる。
 本開示はこのような状況に鑑みてなされたものであり、より正確に、対象のサイズを測定することができるようにするものである。
 本開示の一側面の情報処理装置は、センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する処理部を備える情報処理装置である。
 本開示の一側面の情報処理方法、及びプログラムは、本開示の一側面の情報処理装置に対応する情報処理方法、及びプログラムである。
 本開示の一側面の情報処理装置、情報処理方法、及びプログラムにおいては、センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行が行われ、前記画像に含まれる対象のサイズが測定される。
 なお、本開示の一側面の情報処理装置は、独立した装置であってもよいし、1つの装置を構成している内部ブロックであってもよい。
本開示を適用した情報処理装置の構成例を示すブロック図である。 図1の処理部の構成の第1の例を示すブロック図である。 足測長処理の流れの第1の例を説明するフローチャートである。 図3の足測長処理におけるデータの流れを模式的に表した図である。 図1の処理部の構成の第2の例を示すブロック図である。 足測長処理の流れの第2の例を説明するフローチャートである。 図6の足測長処理におけるデータの流れを模式的に表した図である。 図1の処理部の構成の第3の例を示すブロック図である。 足測長処理の流れの第3の例を説明するフローチャートである。 図9の足測長処理におけるデータの流れを模式的に表した図である。 本開示を適用した情報処理装置で実行されるアプリケーションを提供するための開発ワークフローとプラットフォームの例を示す図である。 靴試着購入処理の流れを説明するフローチャートである。 足測長アプリケーションの表示の第1の例を示す図である。 足測長アプリケーションの表示の第2の例を示す図である。 足測長アプリケーションの表示の第3の例を示す図である。 足測長アプリケーションの表示の第4の例を示す図である。 AI処理を行う装置を含むシステムの構成例を示す図である。 電子機器の構成例を示すブロック図である。 エッジサーバ又はクラウドサーバの構成例を示すブロック図である。 光センサの構成例を示すブロック図である。 処理部の構成例を示すブロック図である。 複数の装置間でのデータの流れを示す図である。
<1.第1の実施の形態>
(装置の構成例)
 図1は、本開示を適用した情報処理装置の構成例を示すブロック図である。
 情報処理装置1は、撮影された画像データを用いて、対象(ターゲット)のサイズを測定する機能を有する。情報処理装置1は、スマートフォン、タブレット型端末、携帯電話機等のモバイル端末として構成される。対象のサイズとしては、モバイル端末を所持するユーザの足のサイズを測定することができる。
 図1において、情報処理装置1は、デプスセンサ11、デプス処理部12、RGBセンサ13、RGB処理部14、処理部15、表示部16、及び操作部17を含んで構成される。
 デプスセンサ11は、ToF(Time of Flight)センサなどの測距センサである。ToFセンサは、dToF(direct Time of Flight)方式とiToF(indirect Time of Flight)方式のいずれの方式であってもよい。デプスセンサ11は、対象までの距離を測定し、その結果得られる測距信号をデプス処理部12に供給する。なお、デプスセンサ11は、ストラクチャライト方式のセンサ、LiDAR(Light Detection and Ranging)方式のセンサ、ステレオカメラなどであってもよい。
 デプス処理部12は、DSP(Digital Signal Processor)等の信号処理回路である。デプス処理部12は、デプスセンサ11から供給される測距信号に対し、デプス現像処理やデプス前処理(例えばリサイズ処理等)などの信号処理を行い、その結果得られるデプス画像データを処理部15に供給する。デプス画像は、対象を深度情報で示した画像である。例えば、デプス画像としては、デプスマップが用いられる。なお、デプス処理部12は、デプスセンサ11内に含まれてもよい。
 RGBセンサ13は、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサやCCD(Charge Coupled Device)イメージセンサ等のイメージセンサである。RGBセンサ13は、対象の像を撮影し、その結果得られる撮影信号をRGB処理部14に供給する。なお、RGBセンサ13を用いたRGBカメラに限らず、モノクロカメラや赤外線カメラなどを用いて対象の像を撮影してもよい。
 RGB処理部14は、DSP等の信号処理回路である。RGB処理部14は、RGBセンサ13から供給される撮影信号に対し、RGB現像処理やRGB前処理(例えばリサイズ処理等)などの信号処理を行い、その結果得られるRGB画像データを処理部15に供給する。RGB画像は、対象の像を色情報(面情報)で示した画像である。例えば、RGB画像としては、カラーカメラ画像が用いられる。なお、RGB処理部14は、RGBセンサ13内に含まれてもよい。
 処理部15は、CPU(Central Processing Unit)等のプロセッサから構成される。処理部15には、デプス処理部12からのデプス画像データと、RGB処理部14からのRGB画像データとが供給される。
 処理部15は、デプス画像データ及びRGB画像データに基づいて、対象のサイズを測定する測長処理を行う。対象のサイズとしてユーザの足サイズを測定する足測長処理を行う場合、デプス画像とRGB画像には、被写体としてユーザの足(足首よりも先)が含まれる。なお、測長処理では、デプス画像及びRGB画像の少なくとも一方の画像が用いられ、必ずしも両方の画像を用いる必要はない。
 測長処理では、デプス画像データ及びRGB画像データ、並びにそれらの画像データから得られる情報の少なくとも一部に、機械学習により学習された学習済みモデルを用いた処理が行われ、対象のサイズが測定される。測長処理で測定された対象のサイズは、表示部16に供給される。
 表示部16は、液晶パネルやOLED(Organic Light Emitting Diode)パネル等のパネルと信号処理回路等から構成される。表示部16は、処理部15から供給される対象のサイズ等の情報を表示する。
 操作部17は、物理的なボタンやタッチパネル等から構成される。操作部17は、ユーザの操作に応じた操作信号を処理部15に供給する。処理部15は、操作部17からの操作信号に基づいて、各種の処理を行う。
 なお、図1に示した情報処理装置1の構成は一例であり、構成要素を削除したり、他の構成要素を追加したりしても構わない。例えば、処理部15における測長処理で、デプス画像のみを用いる場合には、RGBセンサ13及びRGB処理部14を設ける必要はない。また、情報処理装置1には、インターネット上のサーバとデータをやり取りするための通信部や、各種のデータやプログラム等を記録する記憶部、マイクロフォン等の入力部、スピーカ等の出力部などを設けることができる。
(処理部の構成例)
 図2は、図1の処理部15の構成の第1の例を示すブロック図である。
 図2において、処理部15Aは、学習済みモデル111、3D座標計算部112、足サイズ姿勢計算部113、及び学習済みモデル114を有する。処理部15Aでは、対象のサイズとして、ユーザの足サイズが測定される。
 学習済みモデル111は、学習時にディープニューラルネットワーク(DNN:Deep Neural Network)を用いた学習が行われて学習済みとなったモデルである。学習済みモデル111を推論時に用いることで、デプス画像又はRGB画像から、足に関する2D特徴点を予測することができる。
 以下、ディープニューラルネットワークを用いて学習された学習済みモデル111を、他の学習済みモデルと区別するために、DNN1とも呼ぶ。DNN1の学習については、図11を参照して後述する。
 処理部15Aには、測定データとしてユーザの足を撮影して得られたデプス画像又はRGB画像が供給され、学習済みモデル111に入力される。処理部15Aでは、デプス画像又はRGB画像を入力として、学習済みモデル111を用いた推論が行われることで、足に関する2D特徴点が出力される。
 例えば、2D特徴点は、指先(Tip:Fingertip)、親指の付け根(Base of Thumb)、及び踵(Heal)の少なくとも3つの特徴点を含む。2D特徴点は、2D座標により表される。2D特徴点の数を増やすことで、測定精度を向上させることができる。
 学習済みモデル111から出力される2D特徴点は、3D座標計算部112に供給される。また、測定データとしてのデプス画像は、3D座標計算部112に供給される。
 ここで、学習済みモデル111にデプス画像が入力された場合、同じデプス画像が3D座標計算部112に供給される。一方で、学習済みモデル111にRGB画像が入力された場合、RGB画像と略同一のタイミングで撮影されたデプス画像が3D座標計算部112に供給される。
 3D座標計算部112は、デプス画像、及び固有のパラメータを用いて、2D特徴点に対応した3D座標を計算する。具体的には、撮影時のカメラパラメータを用いて、デプス画像から、3D座標(x, y, z)の集合であるポイントクラウド(Point Cloud)を生成する。このポイントクラウドを用いることで、足に関する2D特徴点の座標(X, Y)に対応した3D特徴点の座標(x, y, z)を取得できる。
 3D座標計算部112により計算された3D特徴点は、足サイズ姿勢計算部113、及び学習済みモデル114に供給される。
 足サイズ姿勢計算部113は、3D特徴点等の情報を用いて、ユーザの足のサイズ(Foot Size)と姿勢(Pose)を計算する。
 足サイズとしては、踵から指先までの長さである足長(length)、親指の付け根から小指の付け根までの長さである足幅(width)、及び地面から甲までの高さである足高(height)などがある。以下、足サイズとして、足長を算出する場合を説明する。
 また、足サイズを算出するに際しては、足の指の関節が曲がった状態(指が折れている状態)、あるいは足の指の先端や踵が隠れている状態などでは、そのまま足サイズを計算しても正確な値にはならない。そのため、ここでは、それらの状態を考慮するために、足姿勢を算出する。足姿勢は、カメラ座標系で空間内の位置を表すベクトルなどにより表される。
 足サイズ姿勢計算部113により計算された足サイズと足姿勢は、学習済みモデル114に供給される。
 学習済みモデル114は、学習時にディープニューラルネットワークを用いた学習が行われて学習済みとなったモデルである。学習済みモデル114を推論時に用いることで、3D特徴点、足サイズ、及び足姿勢から、補正済みの足サイズを予測することができる。
 以下、ディープニューラルネットワークを用いて学習された学習済みモデル114を、他の学習済みモデルと区別するために、DNN2とも呼ぶ。DNN2の学習については、図11を参照して後述する。
 学習済みモデル114には、3D座標計算部112からの3D特徴点と、足サイズ姿勢計算部113からの足サイズと足姿勢が供給される。処理部15Aでは、3D特徴点、足サイズ、及び足姿勢を入力として、学習済みモデル114を用いた推論が行われることで、補正済みの足サイズが出力される。
 例えば、足の指の関節が曲がった状態にある場合に、指先から踵までの長さを計算しても正確な足サイズとはならないが、学習済みモデル114では、その情報が足姿勢として入力されるので、入力された足サイズを、足の指の関節が曲がっていない状態での足サイズに補正して、補正後の足サイズを出力することができる。
 学習済みモデル114には、ユーザ情報や他の測定結果を入力しても構わない。例えば、ユーザ情報には、性別や年齢などの測定対象のユーザに関する情報を含めることができる。他の測定結果には、足長以外の足サイズの測定結果(例えば、足の指の長さの測定結果)を含めることができる。ユーザ情報等を入力に加えることで、学習済みモデル114による予測結果の正解率(Accuracy)をさらに改善することができる。
 学習済みモデル114において、入力と出力の値の差、つまり、補正前の足サイズの値と、補正後の足サイズの値との差が所定の閾値を超える場合、補正後の足サイズの値を予測結果として用いなくてもよい。すなわち、デプス画像や3D特徴点などのデータには、誤差が含まれ、入力と出力の値の差が大きい場合には誤った値である可能性が高いので、予測結果を時間方向に集めて外れ値が除かれるようにする。
 例えば、情報処理装置1では、デプス画像やRGB画像が所定の時間間隔で取得され、それらの画像が取得されるタイミングに応じて足測長処理を実行することができるが、外れ値を除いた予測結果から補正後の足サイズを求めることができるため、足サイズの測定精度を向上させることができる。
 学習済みモデル114から出力される補正後の足サイズは、表示部16に供給される。処理部15Aでは、補正後の足サイズに対して所定の処理を施してから、表示部16に供給してもよい。表示部16は、処理部15Aから供給される補正後の足サイズに応じた情報を表示する。
 以上のように構成される処理部15Aでは、デプス画像又はRGB画像に対し、DNN1としての学習済みモデル111を用いた処理が行われるとともに、デプス画像又はRGB画像を処理して得られた3D特徴点、足サイズ、及び足姿勢に対し、DNN2としての学習済みモデル114を用いた処理が行われることで、補正済みの足サイズが得られる。
 このように、対象のサイズを測定するに際して、DNN1,DNN2である学習済みモデルを用いた推論を行っているため、学習済みモデルの予測精度の向上に伴い、より正確なサイズを測定することができる。また、DNN2を用いた推論を行うに際しては、対象の姿勢を考慮しているため、対象がサイズを測定するために適した状態になくても、正確なサイズを測定することができる。
 さらに、DNN2の入力としてユーザ情報や他の測定結果などを加えることで、予測結果の正解率を改善することができる。また、DNN2の入力と出力の値の差が大きい場合には、外れ値として予測結果から除かれるようにすることで、測定精度をさらに向上させることができる。
(足測長処理の流れ)
 次に、図3のフローチャートを参照して、図2の処理部15Aにより実行される足測長処理の流れを説明する。図4には、図3に示した足測長処理におけるデータの流れを模式的に表しており、適宜参照しながら説明する。
 図3のフローチャートの処理は、ユーザが自身の足に対し、モバイル端末等の情報処理装置1を向けて撮影を行うことで開始される。
 ステップS11において、処理部15Aは、デプス処理部12からのデプス画像、又はRGB処理部14からのRGB画像を取得する。例えば、デプス画像としてデプスマップ(Depth Map)が取得されるか、又はRGB画像としてカラーカメラ画像(Color Camera Image)が取得される(図4のS11)。
 ステップS12において、処理部15Aは、学習済みモデル111を用いて、取得されたデプス画像又はRGB画像を入力とした推論を行うことで、2D特徴点を出力する。例えば、DNN1として学習された学習済みモデル111を用い、デプスマップ又はカラーカメラ画像を入力とした推論が行われることで、2D特徴点(2D Feature points)として、指先(Tip)の座標(100,25)、親指の付け根(Base of Thumb)の座標(85,58)、及び踵(Heal)の座標(65,157)が出力される(図4のS12)。
 ステップS13において、3D座標計算部112は、2D特徴点に対応した3D特徴点を計算する。例えば、撮影時のカメラパラメータ(デプスセンサ11の視野角に関する情報等)を用い、デプスマップ(Depth Map)から、3D座標(x, y, z)の集合であるポイントクラウドを生成することができる。このポイントクラウドを用い、2D特徴点に対応した3D特徴点(3D Feature points)として、指先の座標(15,170,600)、親指の付け根の座標(-2,100,500)、及び踵の座標(-45,85,600)が求められる(図4のS13)。
 ステップS14において、足サイズ姿勢計算部113は、足サイズと足姿勢を計算する。例えば、足サイズ(Foot Size)としては、足の指先と踵の3D座標を用いた演算を行うことで、足長(length)が計算される(図4のS14)。足姿勢(Pose)としては、3D特徴点等の情報を用いた演算を行うことで、足の指の関節が曲がった状態にあることや、足の指の先端や踵が隠れている状態にあることなどを示す情報が計算される(図4のS14)。例えば、足姿勢は、カメラ座標系の3Dベクトルで表される。
 ステップS15において、処理部15Aは、学習済みモデル114を用いて、3D特徴点、足サイズ、及び足姿勢を入力とした推論を行うことで、補正後の足サイズを出力する。例えば、DNN2として学習された学習済みモデル114を用い、3D特徴点(3D座標)と、足長である足サイズ(距離)と、足の指の関節が曲がった状態にあることを示す足姿勢(3Dベクトル)が入力されたとき、入力された足長を、足の指の関節が曲がっていない状態での足長に補正して、補正後の足長(Foot Size)を出力する(図4のS15)。
 このように、足の指の関節が曲がった状態や、足の指の先端や踵が隠れている状態などにあるとき、それらの状態で測定した足サイズは正確な値にはならないので、学習済みモデル114に対し、足姿勢を入力することで、その出力として理想的な状態での測定に補正された足サイズが出力されるようにしている。また、学習済みモデル114には、性別や年齢などのユーザ情報(図4のOption User Information)や、足の指の長さなどの他の測定結果が入力されるようにすることで、予測結果の正解率を改善することができる。なお、情報処理装置1で起動したアプリケーションを、ユーザが操作することで、自身のユーザ情報を予め登録しておくことができる。
 また、足測長処理では、デプス画像又はRGB画像を取得する度に補正後の足サイズを求めることができるので、補正後の足サイズが得られる度に補正前の足サイズと比較して、その差が大きい場合には外れ値として取り除くようにする。これにより、最終的に外れ値を取り除いた足サイズが求められるため、足サイズの測定精度を向上させることができる。
 なお、ステップS12の処理では、デプス画像又はRGB画像から2D特徴点を求める例を示したが、デプス画像は、RGB画像よりも情報量が少ないため、デプス画像を用いた場合のほうが、処理時の演算量を減らすことができる。
 以上のように、足測長処理では、DNN1として学習された学習済みモデル111と、DNN2として学習された学習済みモデル114とを用いた処理が行われることで、ユーザの足を撮影して得られたデプス画像等の画像から、補正済みの足サイズが得られる。そのため、学習済みモデル(DNN1,DNN2)の予測精度の向上に伴い、より正確に、足サイズを測定することができる。また、足測長処理では、デプス画像等の画像を入力するだけで、補正済みの足サイズが得られるため、処理部15Aの処理能力の向上に伴い、より速やかに、足サイズを測定することができる。
<2.第2の実施の形態>
 上述した説明では、図1の処理部15において、DNN1として学習された学習済みモデル111を用いることで、2D特徴点が出力される場合の構成と処理の流れを示したが、3D特徴点が出力されるようにしてもよい。次に、図1の処理部15において、前段の学習済みモデルの出力が3D特徴点となる場合の構成と処理の流れを説明する。
(処理部の構成例)
 図5は、図1の処理部15の構成の第2の例を示すブロック図である。
 図5において、処理部15Bは、学習済みモデル211、足サイズ姿勢計算部113、及び学習済みモデル114を有する。処理部15Bでは、対象のサイズとして、ユーザの足サイズが測定される。
 処理部15Bにおいて、処理部15A(図2)に対応する部分には、同一の符号を付してある。すなわち、処理部15Bでは、処理部15Aと比べて、学習済みモデル111、及び3D座標計算部112の代わりに、学習済みモデル211が設けられる。
 学習済みモデル211は、学習時にディープニューラルネットワークを用いた学習が行われて学習済みとなったモデルである。学習済みモデル211を推論時に用いることで、デプス画像から、足に関する3D特徴点を予測することができる。
 以下、ディープニューラルネットワークを用いて学習された学習済みモデル211を、他の学習済みモデルと区別するために、DNN3とも呼ぶ。DNN3の学習については、図11を参照して後述する。
 処理部15Bには、測定データとしてユーザの足を撮影して得られたデプス画像が供給され、学習済みモデル211に入力される。処理部15Bでは、デプス画像を入力として、学習済みモデル211を用いた推論が行われることで、足に関する3D特徴点が出力される。例えば、3D特徴点は、指先、親指の付け根、及び踵の少なくとも3つの特徴点を含む。3D特徴点は、3D座標により表される。
 学習済みモデル211から出力される3D特徴点は、足サイズ姿勢計算部113、及び学習済みモデル114に供給される。足サイズ姿勢計算部113と学習済みモデル114の説明は繰り返しになるので、適宜省略する。
 足サイズ姿勢計算部113では、3D特徴点等の情報に基づき、足サイズ及び足姿勢が計算される。処理部15Bでは、3D特徴点、足サイズ、及び足姿勢を入力として、学習済みモデル114を用いた推論が行われることで、補正済みの足サイズが出力される。
 以上のように構成される処理部15Bでは、デプス画像に対し、DNN3としての学習済みモデル211を用いた処理が行われるとともに、デプス画像を処理して得られた3D特徴点、足サイズ、及び足姿勢に対し、DNN2としての学習済みモデル114を用いた処理が行われることで、補正済みの足サイズが得られる。すなわち、処理部15Bでは、処理部15A(図2)と比べて、画像を入力とする前段の学習済みモデルを用いて、2D特徴点ではなく、3D特徴点を直接求めている。
 このように、対象のサイズを測定するに際して、DNN3,DNN2である学習済みモデルを用いた推論を行っているため、学習済みモデルの予測精度の向上に伴い、より正確なサイズを測定することができる。また、DNN2を用いた推論を行うに際しては、対象の姿勢を考慮しているため、対象がサイズを測定するために適した状態になくても、正確なサイズを測定することができる。
(足測長処理の流れ)
 次に、図6のフローチャートを参照して、図5の処理部15Bにより実行される足測長処理の流れを説明する。図7には、図6に示した足測長処理におけるデータの流れを模式的に表しており、適宜参照しながら説明する。
 図6のフローチャートの処理は、ユーザが自身の足に対し、モバイル端末等の情報処理装置1を向けて撮影を行うことで開始される。
 ステップS21において、処理部15Bは、デプス処理部12からのデプス画像を取得する。例えば、デプス画像としてデプスマップ(Depth Map)が取得される(図7のS21)。
 ステップS22において、処理部15Bは、学習済みモデル211を用いて、取得されたデプス画像を入力とした推論を行うことで、3D特徴点を出力する。例えば、DNN3として学習された学習済みモデル211を用い、デプスマップを入力とした推論が行われることで、3D特徴点(3D Feature points)として、指先の座標(15,170,600)、親指の付け根の座標(-2,100,500)、及び踵の座標(-45,85,600)が出力される(図7のS22)。
 ステップS23乃至S24においては、上述した図3のステップS14乃至S15と同様に、足サイズ姿勢計算部113によって、足サイズと足姿勢が計算され、DNN2として学習された学習済みモデル114を用い、3D特徴点、足サイズ、及び足姿勢を入力とした推論が行われ、補正後の足サイズ(Foot Size)が出力される(図7のS23,S24)。
 以上のように、足測長処理では、DNN3として学習された学習済みモデル211と、DNN2として学習された学習済みモデル114とを用いた処理が行われることで、ユーザの足を撮影して得られたデプス画像から、補正済みの足サイズが得られる。そのため、学習済みモデル(DNN3,DNN2)の予測精度の向上に伴い、より正確に、足サイズを測定することができる。
<3.第3の実施の形態>
 上述した説明では、図1の処理部15において、2つの学習済みモデルを用いた場合の構成と処理の流れを示したが、学習済みモデルは1つであってもよい。次に、図1の処理部15において、1つの学習済みモデルを用い、補正済みの足サイズを出力する場合の構成と処理の流れを説明する。
(処理部の構成例)
 図8は、図1の処理部15の構成の第3の例を示すブロック図である。
 図8において、処理部15Cは、学習済みモデル311を有する。処理部15Cでは、対象のサイズとして、ユーザの足サイズが測定される。
 学習済みモデル311は、学習時にディープニューラルネットワークによって学習済みとなったモデルである。学習済みモデル311を推論時に用いることで、デプス画像から、補正済みの足サイズを予測することができる。
 以下、ディープニューラルネットワークを用いて学習された学習済みモデル311を、他の学習済みモデルと区別するために、DNN4とも呼ぶ。DNN4の学習については、図11を参照して後述する。
 処理部15Cには、測定データとしてユーザの足を撮影して得られたデプス画像が供給され、学習済みモデル311に入力される。処理部15Cでは、デプス画像を入力として、学習済みモデル311を用いた推論が行われることで、補正済みの足サイズが出力される。
 例えば、ユーザの足の指の関節が曲がった状態などにあるとき、デプス画像から予測される足サイズが正確な値にならないので、学習済みモデル311では、学習時に足姿勢などの特徴を学習しておくことで、理想的な状態(足の指の関節が曲がっていない状態)での測定に補正された足サイズが出力されるようにしている。
 なお、図8に示した処理部15Cの構成では、学習済みモデル311にデプス画像が入力される場合を示したが、RGB画像を入力しても構わない。
 以上のように構成される処理部15Cでは、デプス画像に対し、DNN4としての学習済みモデル311を用いた処理が行われることで、補正済みの足サイズが得られる。このように、対象のサイズを測定するに際して、DNN4である学習済みモデルを用いた推論を行っているため、学習済みモデルの予測精度の向上に伴い、より正確なサイズを測定することができる。
(足測長処理の流れ)
 次に、図9のフローチャートを参照して、図8の処理部15Cにより実行される足測長処理の流れを説明する。図10には、図9に示した足測長処理におけるデータの流れを模式的に表しており、適宜参照しながら説明する。
 図9のフローチャートの処理は、ユーザが自身の足に対し、モバイル端末等の情報処理装置1を向けて撮影を行うことで開始される。
 ステップS31において、処理部15Cは、デプス処理部12からのデプス画像を取得する。例えば、デプス画像としてデプスマップ(Depth Map)が取得される(図10のS31)。
 ステップS32において、処理部15Cは、学習済みモデル311を用いて、取得されたデプス画像を入力とした推論を行うことで、補正済みの足サイズを出力する。例えば、モバイル端末での撮影時に、ユーザの足の指の関節が曲がった状態などにあるときには、理想的な状態での測定に補正された足サイズ(Foot Size)が出力される(図10のS32)。
 以上のように、足測長処理では、DNN4として学習された学習済みモデル311を用いた処理が行われることで、ユーザの足を撮影して得られたデプス画像から、補正済みの足サイズが得られる。そのため、学習済みモデル(DNN4)の予測精度の向上に伴い、より正確に、足サイズを測定することができる。
 なお、学習済みモデル311は、デプス画像を入力としたときに、その出力として補正済みの足サイズを出力するように学習されるが、学習の際には、学習データをDNN4に入力するだけでなく、DNN4の途中で正解のデータを与えて学習が行われるようにしてもよい。
<4.開発ワークフロー・プラットフォーム>
 図11は、本開示を適用した情報処理装置で実行されるアプリケーションを提供するための開発ワークフローとプラットフォームの例を示す図である。
 図11においては、PC(Personal Computer)等の情報処理装置2を用いて開発されたアプリケーションが、モバイル端末等の情報処理装置1に提供され、インストールされる。
 情報処理装置2においては、アルゴリズム開発とアプリケーション開発が行われる。アルゴリズム開発では、足測長処理のプログラム(foot measure code)と、足測長処理の実行時に呼び出される学習済みモデル(trained model)の開発が行われる。
 アルゴリズム開発では、学習データを用いた機械学習により学習された学習済みモデルが生成される。撮影用のアプリケーションを起動した撮影装置3により撮影されたデプス画像をデータベース4に蓄積することで、情報処理装置2は、大量の学習データを取得することができる。なお、学習データとしては、RGB画像を含めることができる。
 情報処理装置2では、学習データに対するアノテーション作業が行われる。例えば、開発者がGUIツール(GUI Labeling Tool)を用いて、学習データとしてのデプス画像に含まれる足の特定部分に特徴点(例えば、指先や踵などの正解の特徴点)をラベリングすることで教師データが生成される。
 また、データオーギュメンテーション(Data Augmentation)が行われ、例えば既存の画像を拡大したり、左右反転したりすることで、機械学習で用いられる学習データのバリエーションを増やすことができる。これにより、撮影装置3による撮影だけではカバーできない情報を追加することができる。
 情報処理装置2では、学習データを用い、ディープラーニング(Deep Learning)による機械学習を行うことで、学習済みモデルが生成される。例えば、学習済みモデルとしては、上述したDNN1乃至DNN4のいずれかを生成することができる。
 より具体的には、DNN1では、デプス画像又はRGB画像を入力としたときに、その出力として指先等の2D特徴点を出力することを期待しているが、学習の初期段階では、指先等とは異なる部分の特徴点を出力してしまう。ここでは、正解の2D特徴点をラベリングして、学習を繰り返すことで、指先等の正解の2D特徴点が出力されるようになり、DNN1の学習が収束することになる。
 同様に、DNN3では、デプス画像を入力としたときに、その出力として3D特徴点を出力することを期待しているので、正解の3D特徴点をラベリングして、学習を繰り返すことで、正解の3D特徴点を出力するようになる。
 また、DNN2では、3D特徴点、足サイズ、及び足姿勢を入力としたときに、その出力として補正済みの足サイズを出力することを期待しているので、人の足の特徴に関する学習を繰り返すことで、正解の足サイズを出力するようになる。DNN4では、デプス画像を入力としたときに、その出力として補正済みの足サイズを出力することを期待しているので、人の足の特徴に関する学習を繰り返すことで、正解の足サイズを出力するようになる。
 なお、DNN2やDNN4では、ユーザ情報や他の測定結果が入力される場合には、それらの情報を考慮した学習が行われる。また、学習済みモデルを学習する際には、学習データをDNNに入力するだけでなく、DNNの途中で正解のデータを与えて学習が行われるようにしてもよい。
 より多くの学習データやラベリングされたデータを用意したり、データオーギュメンテーションにより学習データのバリエーションを増やしたりして、機械学習を行うことで、学習済みモデル(DNN1やDNN2等)の予測精度を向上させることができる。なお、情報処理装置2としては、高性能のPCを使用することが望ましい。
 このようにして生成される学習済みモデル(DNN1やDNN2等)は、足測長処理の実行時に適宜呼び出され、入力に対する予測結果を出力する。
 アプリケーション開発では、アルゴリズム開発で開発された足測長処理のプログラムと学習済みモデルを用い、足測長処理で得られる足サイズを利用したアプリケーション(以下、足測長アプリケーションともいう)の開発が行われる。このようにして開発された足測長アプリケーションが、インターネット上のサーバなどを介して、情報処理装置1に提供され、インストールされる。
 情報処理装置1では、足測長アプリケーションが起動されて、ユーザの足(足首よりも先)が撮影されたとき、足測長処理が実行されて足サイズが表示される。足測長アプリケーションでは、足測長処理の実行時に、DNN1やDNN2等の学習済みモデルを適宜呼び出すことで、入力に対する予測結果が出力として得られるので、それらの出力を用いた処理が行われる。
 なお、図11では、アルゴリズム開発とアプリケーション開発が1台のPCなどの同一の情報処理装置2で行われる場合を示したが、アルゴリズム開発とアプリケーション開発が異なる情報処理装置で行われてもよい。また、アルゴリズム開発とアプリケーション開発は、それぞれ、複数台の情報処理装置で行われてもよい。
 また、図11において、アルゴリズム開発では、学習済みモデルを生成する際に、教師データを用いて学習を行う場合を示したが、教師データなしで学習を行っても構わない。
<5.ユースケース>
 足測長アプリケーションによって、様々なサービスを提供することが可能となる。例えば、AR(Augmented Reality)技術を利用して、ユーザの足サイズに応じた靴を試着(いわゆるAR試着)できるようにして、その靴をユーザが気に入った場合には、EC(Electronic Commerce)を利用して購入可能なサービスを提供することができる。
(靴試着購入処理)
 図12のフローチャートを参照して、情報処理装置1により実行される靴試着購入処理の流れを説明する。
 情報処理装置1では、靴試着購入処理が実行されるに際して、足測長アプリケーションが起動されている。
 ステップS111において、処理部15は、操作部17からの操作信号に基づき、ユーザにより所望の靴が選択されたかどうかを判定する。ステップS111において、ユーザにより所望の靴が選択されたと判定された場合、処理はステップS112に進められる。
 ステップS112において、処理部15は、足測長処理を開始する。足測長処理を開始するに際しては、ユーザが自身の足(足首よりも先)に情報処理装置1を向けることで、デプスセンサ11とRGBセンサ13によりユーザの足が撮影(測定)される。
 この足測長処理では、上述した3つ実施の形態のうち、いずれかの実施の形態に示した処理が行われる。すなわち、デプス画像を含む画像、及び当該画像から得られる情報の少なくとも一部に、DNN1とDNN2、DNN3とDNN2、又はDNN4である学習済みモデルを用いた処理が行われる。
 ステップS113において、処理部15は、撮影されたRGB画像に含まれるユーザの足に対し、選択された靴のAR画像を重畳し、表示部16に表示する。
 ステップS114において、処理部15は、足の姿勢のバリエーションや撮影時間、足測長処理に要する時間などに連動させた進捗状況を表示部16に表示する。
 例えば、図13に示すように、情報処理装置1の表示部16では、撮影されたRGB画像に応じた撮影画面511に含まれるユーザの足の部分に、ユーザにより選択された靴のAR画像521が重畳して表示される。なお、AR画像の重畳表示については、公知の技術を用いることができる。足測長処理では足の姿勢などを認識可能であるため、画像マーカ(ARマーカ)は不要である。
 また、撮影画面511には、進捗状況531が表示される。ユーザが靴のAR試着を行っている間に、足測長処理が行われる。つまり、足測長処理では、足サイズを算出するとともに、時間方向に順次得られる値から外れ値を除去する処理等が行われるため、ある程度の時間を要するが、その時間を考慮した進捗が提示される。
 進捗の提示方法であるが、図13の進捗状況531のように、ドーナツ型のグラフの割合で表すほか、例えば、図14の進捗状況532のように、横棒型のグラフの割合で表してもよい。なお、進捗状況の表示は、ドーナツ型や横棒型のグラフに限らず、他の表示形態を用いてもよい。さらに、進捗の提示方法は、表示に限らず、音出力や振動などの他の提示方法を用いても構わない。
 処理部15は、足測長処理で得られる情報や他のセンサからの情報などに基づき、情報処理装置1に対するユーザの足の位置が近すぎる場合や遠すぎる場合には、その旨のメッセージを表示部16に表示することができる。例えば、図15に示すように、ユーザの足の位置が近すぎる場合には、メッセージ541が表示される。メッセージを提示することで、ユーザに対し、情報処理装置1を動かすか、又は自身の足を動かすなどして、足測長に適した距離に誘導することができる。
 図12に戻り、ステップS115において、処理部15は、足測長処理が終了したかどうかを判定する。ステップS115において、足測長処理が終了していないと判定された場合、処理はステップS113に戻り、ステップS113,S114が繰り返され、AR画像とともに進捗状況が表示される。
 一方で、ステップS115において、足測長処理が終了したと判定された場合、処理はステップS116に進められる。ステップS116において、処理部15は、足測長処理で得られた足サイズを表示部16に表示する。この足サイズは、補正済みの足サイズであって、例えば、情報処理装置1での撮影時に、ユーザの足の指の関節が曲がった状態などにあるときには、理想的な状態で測定されたときの値に補正されている。
 例えば、図16に示すように、情報処理装置1の表示部16では、撮影画面511に、靴のAR画像521が重畳表示されるとともに、足サイズ551が表示される。これにより、ユーザは、自身の足サイズを認識することができる。
 図12に戻り、ステップS117において、処理部15は、操作部17からの操作信号に基づき、ユーザによりAR試着中の靴の購入が選択されたかどうかを判定する。
 ステップS117において、靴の購入が選択されたと判定された場合、処理は、ステップS118に進められる。ステップS118において、処理部15は、商品購入処理を行う。
 例えば、図16に示すように、情報処理装置1の表示部16には、AR試着した靴を購入するためのボタン552が表示される。ユーザは、自身がAR試着した靴を購入したい場合には、ボタン552をタップ操作することで、購入画面が表示される。ユーザは、購入画面に対し、必要な操作を行うことで、決済などの処理が行われ、AR試着した靴を購入することができる。購入画面では、足測長処理で得られた補正後の足サイズに応じた靴を購入することができるが、足サイズ551を確認したユーザが、自身の足サイズの入力や変更の操作を行えるようにしてもよい。
 なお、足測長アプリケーションでは、ユーザにより選択された靴に限らず、選択された靴に似たモデルの靴をAR試着したり、購入したりする機能が提供されてもよい。また、足測長アプリケーションでは、足測長処理で得られる情報や他のセンサからの情報などに基づき、靴ごとのフィット率を算出して表示してもよい。ユーザは、これらの情報を確認して、靴を購入するかどうかを判断することができる。
 さらに、情報処理装置1が、インターネット上のサーバにアクセスして、足測長処理で得られた補正後の足サイズ、及びユーザ情報(性別や年齢等)を送信し、ユーザの特性に応じた靴の確認を要求することができる。足測長アプリケーションでは、サーバからの応答に基づき、ユーザの特性に応じた靴をリコメンドすることができる。
 ステップS118の処理が終了すると、一連の処理が終了する。また、ステップS117において、靴の購入が選択されていないと判定された場合、ステップS118の処理はスキップされ、一連の処理は終了する。
 以上、靴試着購入処理の流れを説明した。靴試着購入処理では、ユーザに対し、より正確な足サイズを表示するとともに、対象の靴のAR試着と購入を可能にしている。これにより、ユーザが対象の靴の購入に至る割合を増やすことができる。
<6.変形例>
(対象のサイズの他の例)
 上述した説明では、ターゲットとなる対象のサイズとして、足サイズを例示したが、情報処理装置1では、ユーザの身体の他の部位を測長し、測長した部位に応じて、被服や装身具等のAR画像が重畳表示されるようにしてもよい。また、情報処理装置1では、測長した部位のサイズが表示されてもよい。
 例えば、ユーザを撮影して得られたデプス画像、及び当該画像から得られる情報の少なくとも一部に学習済みモデルを用いた処理を行うことで、ユーザの肩幅や身幅等が測長され、同時に撮影されたRGB画像に含まれるユーザの上半身の部分に、洋服のAR画像が重畳されて表示される。あるいは、ユーザの指周りの長さが測長されることで、撮影されたRGB画像に含まれるユーザの指の部分に、指輪のAR画像が重畳されて表示される。また、洋服や指輪のAR画像とともに、測長された肩幅や身幅、指周りの長さなどが表示されてもよい。
(ルールベースの適用)
 上述した説明では、情報処理装置1において、処理部15が、機械学習により学習された学習済みモデルを用いた処理を行うとしたが、一部の処理が、ルールベースで行われても構わない。
(他の構成の例)
 図17は、AI処理を行う装置を含むシステムの構成例を示している。
 電子機器20001は、スマートフォン、タブレット型端末、携帯電話機等のモバイル端末である。電子機器20001は、例えば、図1の情報処理装置1に対応しており、デプスセンサ11(図1)に対応した光センサ20011を有する。光センサは、光を電気信号に変換するセンサ(画像センサ)である。電子機器20001は、所定の通信方式に対応した無線通信によって所定の場所に設置された基地局20020に接続することで、コアネットワーク20030を介して、インターネット等のネットワーク20040に接続することができる。
 基地局20020とコアネットワーク20030の間などのモバイル端末により近い位置には、モバイルエッジコンピューティング(MEC:Mobile Edge Computing)を実現するためのエッジサーバ20002が設けられる。ネットワーク20040には、クラウドサーバ20003が接続される。エッジサーバ20002とクラウドサーバ20003は、用途に応じた各種の処理を行うことができる。なお、エッジサーバ20002は、コアネットワーク20030内に設けられてもよい。
 電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011により、AI処理が行われる。AI処理は、本開示に係る技術を、機械学習等のAIを利用して処理するものである。AI処理は、学習処理と推論処理を含む。学習処理は、学習済みモデルを生成する処理である。また、学習処理には、後述する再学習処理も含まれる。推論処理は、学習済みモデルを用いた推論を行う処理である。学習済みモデルには、上述したDNN1乃至DNN4のいずれかを少なくとも含むことができる。
 電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011においては、CPU(Central Processing Unit)等のプロセッサがプログラムを実行したり、あるいは特定用途に特化したプロセッサ等の専用のハードウエアを用いたりすることで、AI処理が実現される。例えば、特定用途に特化したプロセッサとしては、GPU(Graphics Processing Unit)を用いることができる。
 図18は、電子機器20001の構成例を示している。電子機器20001は、各部の動作の制御や各種の処理を行うCPU20101と、画像処理や並列処理に特化したGPU20102と、DRAM(Dynamic Random Access Memory)等のメインメモリ20103と、フラッシュメモリ等の補助メモリ20104を有する。
 補助メモリ20104は、AI処理用のプログラムや各種パラメータ等のデータを記録している。CPU20101は、補助メモリ20104に記録されたプログラムやパラメータをメインメモリ20103に展開してプログラムを実行する。あるいは、CPU20101とGPU20102は、補助メモリ20104に記録されたプログラムやパラメータをメインメモリ20103に展開してプログラムを実行する。これにより、GPU20102を、GPGPU(General-Purpose computing on Graphics Processing Units)として用いることができる。
 なお、CPU20101やGPU20102は、SoC(System on a Chip)として構成されてもよい。CPU20101がAI処理用のプログラムを実行する場合には、GPU20102を設けなくてもよい。
 電子機器20001はまた、本開示に係る技術を適用した光センサ20011と、物理的なボタンやタッチパネル等の操作部20105と、少なくとも1以上のセンサを含むセンサ20106と、画像やテキスト等の情報を表示するディスプレイ20107と、音を出力するスピーカ20108と、所定の通信方式に対応した通信モジュール等の通信I/F20109と、それらを接続するバス20110を有する。
 センサ20106は、光センサ(画像センサ)、音センサ(マイクロフォン)、振動センサ、加速度センサ、角速度センサ、圧力センサ、匂いセンサ、生体センサ等の各種のセンサを少なくとも1以上有している。AI処理では、光センサ20011から取得したデータ(画像データ)とともに、センサ20106の少なくとも1以上のセンサから取得したデータを用いることができる。すなわち、光センサ20011は、デプスセンサ11(図1)に対応し、センサ20106は、RGBセンサ13(図1)に対応している。
 なお、センサフュージョンの技術によって2以上の光センサから取得したデータやそれらを統合的に処理して得られるデータが、AI処理で用いられてもよい。2以上の光センサとしては、光センサ20011とセンサ20106内の光センサの組み合わせでもよいし、あるいは光センサ20011内に複数の光センサが含まれていてもよい。例えば、光センサには、RGBの可視光センサ、ToF(Time of Flight)等の測距センサ、偏光センサ、イベントベースのセンサ、IR像を取得するセンサ、多波長取得可能なセンサなどが含まれる。
 電子機器20001においては、CPU20101やGPU20102等のプロセッサによってAI処理を行うことができる。電子機器20001のプロセッサが推論処理を行う場合には、光センサ20011で画像データを取得した後に時間を要さずに処理を開始することができるため、高速に処理を行うことができる。そのため、電子機器20001では、短い遅延時間で情報を伝達することが求められるアプリケーションなどの用途に推論処理が用いられた際に、ユーザは遅延による違和感なく操作を行うことができる。また、電子機器20001のプロセッサがAI処理を行う場合、クラウドサーバ20003等のサーバを利用する場合と比べて、通信回線やサーバ用のコンピュータ機器などを利用する必要がなく、低コストで処理を実現することができる。
 図19は、エッジサーバ20002の構成例を示している。エッジサーバ20002は、各部の動作の制御や各種の処理を行うCPU20201と、画像処理や並列処理に特化したGPU20202を有する。エッジサーバ20002はさらに、DRAM等のメインメモリ20203と、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助メモリ20204と、NIC(Network Interface Card)等の通信I/F20205を有し、それらがバス20206に接続される。
 補助メモリ20204は、AI処理用のプログラムや各種パラメータ等のデータを記録している。CPU20201は、補助メモリ20204に記録されたプログラムやパラメータをメインメモリ20203に展開してプログラムを実行する。あるいは、CPU20201とGPU20202は、補助メモリ20204に記録されたプログラムやパラメータをメインメモリ20203に展開してプログラムを実行することで、GPU20202をGPGPUとして用いることができる。なお、CPU20201がAI処理用のプログラムを実行する場合には、GPU20202を設けなくてもよい。
 エッジサーバ20002においては、CPU20201やGPU20202等のプロセッサによってAI処理を行うことができる。エッジサーバ20002のプロセッサがAI処理を行う場合、エッジサーバ20002はクラウドサーバ20003と比べて、電子機器20001と近い位置に設けられるため、処理の低遅延化を実現することができる。また、エッジサーバ20002は、電子機器20001や光センサ20011に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、エッジサーバ20002のプロセッサがAI処理を行う場合、電子機器20001や光センサ20011の仕様や性能の違いに依らず、データを受信できればAI処理を行うことができる。エッジサーバ20002でAI処理を行う場合には、電子機器20001や光センサ20011における処理の負荷を軽減することができる。
 クラウドサーバ20003の構成は、エッジサーバ20002の構成と同様であるため、説明は省略する。
 クラウドサーバ20003においては、CPU20201やGPU20202等のプロセッサによってAI処理を行うことができる。クラウドサーバ20003は、電子機器20001や光センサ20011に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、クラウドサーバ20003のプロセッサがAI処理を行う場合、電子機器20001や光センサ20011の仕様や性能の違いに依らず、AI処理を行うことができる。また、電子機器20001又は光センサ20011のプロセッサで負荷の高いAI処理を行うことが困難である場合には、その負荷の高いAI処理をクラウドサーバ20003のプロセッサが行い、その処理結果を電子機器20001又は光センサ20011のプロセッサにフィードバックすることができる。
 図20は、光センサ20011の構成例を示している。光センサ20011は、例えば複数の基板が積層された積層構造を有する1チップの半導体装置として構成することができる。光センサ20011は、基板20301と基板20302の2枚の基板が積層されて構成される。なお、光センサ20011の構成としては積層構造に限らず、例えば、撮像部を含む基板が、CPUやDSP(Digital Signal Processor)等のAI処理を行うプロセッサを含んでいてもよい。
 上層の基板20301には、複数の画素が2次元に並んで構成される撮像部20321が搭載されている。下層の基板20302には、撮像部20321での画像の撮像に関する処理を行う撮像処理部20322と、撮像画像や信号処理結果を外部に出力する出力I/F20323と、撮像部20321での画像の撮像を制御する撮像制御部20324が搭載されている。撮像部20321、撮像処理部20322、出力I/F20323、及び撮像制御部20324により撮像ブロック20311が構成される。
 下層の基板20302には、各部の制御や各種の処理を行うCPU20331と、撮像画像や外部からの情報等を用いた信号処理を行うDSP20332と、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等のメモリ20333と、外部と必要な情報のやり取りを行う通信I/F20334が搭載されている。CPU20331、DSP20332、メモリ20333、及び通信I/F20334により信号処理ブロック20312が構成される。CPU20331及びDSP20332の少なくとも1つのプロセッサによってAI処理を行うことができる。
 このように、複数の基板が積層された積層構造における下層の基板20302に、AI処理用の信号処理ブロック20312を搭載することができる。これにより、上層の基板20301に搭載される撮像用の撮像ブロック20311で取得される画像データが、下層の基板20302に搭載されたAI処理用の信号処理ブロック20312で処理されるため、1チップの半導体装置内で一連の処理を行うことができる。
 光センサ20011においては、CPU20331等のプロセッサによってAI処理を行うことができる。光センサ20011のプロセッサが推論処理等のAI処理を行う場合、1チップの半導体装置内で一連の処理が行われるため、センサ外部に情報が漏れないことから情報の秘匿性を高めることができる。また、画像データ等のデータを他の装置に送信する必要がないため、光センサ20011のプロセッサでは、画像データを用いた推論処理等のAI処理を高速に行うことができる。例えば、リアルタイム性が求められるアプリケーションなどの用途に推論処理が用いられた際に、リアルタイム性を十分に確保することができる。ここで、リアルタイム性を確保するということは、短い遅延時間で情報を伝達できることを指す。さらに、光センサ20011のプロセッサがAI処理を行うに際して、電子機器20001のプロセッサにより各種のメタデータを渡すことで、処理を削減して低消費電力化を図ることができる。
 図21は、処理部20401の構成例を示している。処理部20401は、図1の処理部10に対応している。電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011のプロセッサがプログラムに従った各種の処理を実行することで、処理部20401として機能する。なお、同一の又は異なる装置が有する複数のプロセッサを処理部20401として機能させてもよい。
 処理部20401は、AI処理部20411を有する。AI処理部20411は、AI処理を行う。AI処理部20411は、学習部20421と推論部20422を有する。
 学習部20421は、学習済みモデルを生成する学習処理を行う。学習処理では、DNN1乃至DNN4等の学習済みモデルが生成される。また、学習部20421は、生成済みの学習済みモデルを更新する再学習処理を行ってもよい。以下の説明では、学習済みモデルの生成と更新を区別して説明するが、学習済みモデルを更新することで、学習済みモデルを生成しているとも言えるため、学習済みモデルの生成には、学習済みモデルの更新の意味が含まれるものとする。
 また、生成された学習済みモデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などが有するメインメモリ又は補助メモリなどの記憶媒体に記録されることで、推論部20422が行う推論処理において新たに利用可能となる。これにより、当該学習済みモデルに基づく推論処理を行う電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などを生成することができる。さらに、生成された学習済みモデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などとは独立した記憶媒体又は電子機器に記録され、他の装置で使用するために提供されてもよい。なお、これらの電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などの生成とは、製造時において、それらの記憶媒体に新たに学習済みモデルを記録することだけでなく、既に記録されている生成済学習済みモデルを更新することも含まれるものとする。
 推論部20422は、学習済みモデルを用いた推論処理を行う。推論処理では、DNN1乃至DNN4等の学習済みモデルを用いた処理が行われる。
 機械学習の手法としては、ニューラルネットワークやディープラーニングなどを用いることができる。ニューラルネットワークとは、人間の脳神経回路を模倣したモデルであって、入力層、中間層(隠れ層)、出力層の3種類の層からなる。ディープラーニングとは、多層構造のニューラルネットワークを用いたモデルであって、各層で特徴的な学習を繰り返し、大量データの中に潜んでいる複雑なパターンを学習することができる。
 機械学習の問題設定としては、教師あり学習を用いることができる。例えば、教師あり学習は、与えられたラベル付きの教師データに基づいて特徴量を学習する。これにより、未知のデータのラベルを導くことが可能となる。学習データは、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、シミュレータにより生成されたデータセットなどを用いることができる。
 なお、教師あり学習に限らず、教師なし学習、半教師あり学習、強化学習などを用いてもよい。教師なし学習は、ラベルが付いていない学習データを大量に分析して特徴量を抽出し、抽出した特徴量に基づいてクラスタリング等を行う。これにより、膨大な未知のデータに基づいて傾向の分析や予測を行うことが可能となる。半教師あり学習は、教師あり学習と教師なし学習を混在させたものであって、教師あり学習で特徴量を学ばせた後、教師なし学習で膨大な学習データを与え、自動的に特徴量を算出させながら繰り返し学習を行う方法である。強化学習は、ある環境内におけるエージェントが現在の状態を観測して取るべき行動を決定する問題を扱うものである。
 このように、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011のプロセッサがAI処理部20411として機能することで、それらの装置のいずれか又は複数の装置でAI処理が行われる。
 AI処理部20411は、学習部20421及び推論部20422のうち少なくとも一方を有していればよい。すなわち、各装置のプロセッサは、学習処理と推論処理の両方の処理を実行することは勿論、学習処理と推論処理のうちの一方の処理を実行するようにしてもよい。例えば、電子機器20001のプロセッサが推論処理と学習処理の両方を行う場合には、学習部20421と推論部20422を有するが、推論処理のみを行う場合には、推論部20422のみを有していればよい。
 各装置のプロセッサは、学習処理又は推論処理に関する全ての処理を実行してもよいし、一部の処理を各装置のプロセッサで実行した後に、残りの処理を他の装置のプロセッサで実行してもよい。また、各装置においては、学習処理や推論処理などのAI処理の各々の機能を実行するための共通のプロセッサを有してもよいし、機能ごとに個別にプロセッサを有してもよい。
 なお、上述した装置以外の他の装置によりAI処理が行われてもよい。例えば、電子機器20001が無線通信などにより接続可能な他の電子機器によって、AI処理を行うことができる。具体的には、電子機器20001がスマートフォンである場合に、AI処理を行う他の電子機器としては、他のスマートフォン、タブレット型端末、携帯電話機、PC(Personal Computer)、ゲーム機、テレビ受像機、ウェアラブル端末、デジタルスチルカメラ、デジタルビデオカメラなどの装置とすることができる。
 また、自動車等の移動体に搭載されるセンサや、遠隔医療機器に用いられるセンサなどを用いた構成においても、推論処理等のAI処理を適用可能であるが、それらの環境では遅延時間が短いことが求められる。このような環境においては、ネットワーク20040を介してクラウドサーバ20003のプロセッサでAI処理を行うのではなく、ローカル側の装置(例えば車載機器や医療機器としての電子機器20001)のプロセッサでAI処理を行うことで遅延時間を短くすることができる。さらに、インターネット等のネットワーク20040に接続する環境がない場合や、高速な接続を行うことができない環境で利用する装置の場合にも、例えば電子機器20001や光センサ20011等のローカル側の装置のプロセッサでAI処理を行うことで、より適切な環境でAI処理を行うことができる。
 なお、上述した構成は一例であって、他の構成を採用しても構わない。例えば、電子機器20001は、スマートフォン等のモバイル端末に限らず、PC、ゲーム機、テレビ受像機、ウェアラブル端末、デジタルスチルカメラ、デジタルビデオカメラなどの電子機器、車載機器、医療機器であってもよい。また、電子機器20001は、無線LAN(Local Area Network)や有線LANなどの所定の通信方式に対応した無線通信又は有線通信によってネットワーク20040に接続してもよい。AI処理は、各装置のCPUやGPU等のプロセッサに限らず、量子コンピュータやニューロモーフィック・コンピュータなどを利用しても構わない。
 ところで、学習済みモデルや画像データ、補正済みデータ等のデータは、単一の装置内で用いられることは勿論、複数の装置の間でやり取りされ、それらの装置内で用いられてもよい。図22は、複数の装置間でのデータの流れを示している。
 電子機器20001-1乃至20001-N(Nは1以上の整数)は、例えばユーザごとに所持され、それぞれ基地局(不図示)等を介してインターネット等のネットワーク20040に接続可能である。製造時において、電子機器20001-1には、学習装置20501が接続され、学習装置20501により提供される学習済みモデルを補助メモリ20104に記録することができる。学習装置20501は、シミュレータ20502により生成されたデータセットを学習データとして用いて学習済みモデルを生成し、電子機器20001-1に提供する。なお、学習データは、シミュレータ20502から提供されるデータセットに限らず、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データなどを用いても構わない。
 図示は省略しているが、電子機器20001-2乃至20001-Nについても、電子機器20001-1と同様に、製造時の段階で学習済みモデルを記録することができる。以下、電子機器20001-1乃至20001-Nをそれぞれ区別する必要がない場合には、電子機器20001と呼ぶ。
 ネットワーク20040には、電子機器20001のほかに、学習モデル生成サーバ20503、学習モデル提供サーバ20504、データ提供サーバ20505、及びアプリサーバ20506が接続され、相互にデータをやり取りすることができる。各サーバは、クラウドサーバとして設けることができる。
 学習モデル生成サーバ20503は、クラウドサーバ20003と同様の構成を有し、CPU等のプロセッサによって学習処理を行うことができる。学習モデル生成サーバ20503は、学習データを用いて学習済みモデルを生成する。図示した構成では、製造時に電子機器20001が学習済みモデルを記録する場合を例示しているが、学習済みモデルは、学習モデル生成サーバ20503から提供されてもよい。学習モデル生成サーバ20503は、生成した学習済みモデルを、ネットワーク20040を介して電子機器20001に送信する。電子機器20001は、学習モデル生成サーバ20503から送信されてくる学習済みモデルを受信し、補助メモリ20104に記録する。これにより、その学習済みモデルを備える電子機器20001が生成される。
 すなわち、電子機器20001では、製造時の段階で学習済みモデルを記録していない場合には、学習モデル生成サーバ20503からの学習済みモデルを新規で記録することで、新たな学習済みモデルを記録した電子機器20001が生成される。また、電子機器20001では、製造時の段階で学習済みモデルを既に記録している場合、記録済みの学習済みモデルを、学習モデル生成サーバ20503からの学習済みモデルに更新することで、更新済みの学習済みモデルを記録した電子機器20001が生成される。電子機器20001では、適宜更新される学習済みモデルを用いて推論処理を行うことができる。
 学習済みモデルは、学習モデル生成サーバ20503から電子機器20001に直接提供するに限らず、各種の学習済みモデルを集約して管理する学習モデル提供サーバ20504がネットワーク20040を介して提供してもよい。学習モデル提供サーバ20504は、電子機器20001に限らず、他の装置に学習済みモデルを提供することで、その学習済みモデルを備える他の装置を生成しても構わない。また、学習済みモデルは、フラッシュメモリ等の着脱可能なメモリカードに記録して提供しても構わない。電子機器20001では、スロットに装着されたメモリカードから学習済みモデルを読み出して記録することができる。これにより、電子機器20001では、過酷環境下で使用される場合や、通信機能を有していない場合、通信機能を有しているが伝送可能な情報量が少ない場合などであっても、学習済みモデルを取得することができる。
 電子機器20001は、画像データや補正済みデータ、メタデータなどのデータを、ネットワーク20040を介して他の装置に提供することができる。例えば、電子機器20001は、画像データや補正済みデータ等のデータを、ネットワーク20040を介して学習モデル生成サーバ20503に送信する。これにより、学習モデル生成サーバ20503では、1又は複数の電子機器20001から収集された画像データや補正済みデータ等のデータを学習データとして用い、学習済みモデルを生成することができる。より多くの学習データを用いることで、学習処理の精度を上げることができる。
 画像データや補正済みデータ等のデータは、電子機器20001から学習モデル生成サーバ20503に直接提供するに限らず、各種のデータを集約して管理するデータ提供サーバ20505が提供してもよい。データ提供サーバ20505は、電子機器20001に限らず他の装置からデータを収集してもよいし、学習モデル生成サーバ20503に限らず他の装置にデータを提供しても構わない。
 学習モデル生成サーバ20503は、既に生成された学習済みモデルに対し、電子機器20001又はデータ提供サーバ20505から提供された画像データや補正済みデータ等のデータを学習データに追加した再学習処理を行い、学習済みモデルを更新してもよい。更新された学習済みモデルは、電子機器20001に提供することができる。学習モデル生成サーバ20503において、学習処理又は再学習処理を行う場合、電子機器20001の仕様や性能の違いに依らず、処理を行うことができる。
 また、電子機器20001において、補正済みデータやメタデータに対してユーザが修正の操作を行った場合(例えばユーザが正しい情報を入力した場合)に、その修正処理に関するフィードバックデータが、再学習処理に用いられてもよい。例えば、電子機器20001からのフィードバックデータを学習モデル生成サーバ20503に送信することで、学習モデル生成サーバ20503では、電子機器20001からのフィードバックデータを用いた再学習処理を行い、学習済みモデルを更新することができる。なお、電子機器20001では、ユーザによる修正の操作が行われる際に、アプリサーバ20506により提供されるアプリケーションが利用されてもよい。
 再学習処理は、電子機器20001が行ってもよい。電子機器20001において、画像データやフィードバックデータを用いた再学習処理を行って学習済みモデルを更新する場合、装置内で学習済みモデルの改善を行うことができる。これにより、その更新された学習済みモデルを備える電子機器20001が生成される。また、電子機器20001は、再学習処理で得られる更新後の学習済みモデルを学習モデル提供サーバ20504に送信して、他の電子機器20001に提供されるようにしてもよい。これにより、複数の電子機器20001の間で、更新後の学習済みモデルを共有することができる。
 あるいは、電子機器20001は、再学習された学習済みモデルの差分情報(更新前の学習済みモデルと更新後の学習済みモデルに関する差分情報)を、アップデート情報として、学習モデル生成サーバ20503に送信してもよい。学習モデル生成サーバ20503では、電子機器20001からのアップデート情報に基づき改善された学習済みモデルを生成して、他の電子機器20001に提供することができる。このような差分情報をやり取りすることで、全ての情報をやり取りする場合と比べてプライバシを保護することができ、また通信コストを削減することができる。なお、電子機器20001と同様に、電子機器20001に搭載された光センサ20011が再学習処理を行ってもよい。
 アプリサーバ20506は、ネットワーク20040を介して各種のアプリケーションを提供可能なサーバである。アプリケーションは、学習済みモデルや補正済みデータ、メタデータ等のデータを用いた所定の機能を提供する。電子機器20001は、ネットワーク20040を介してアプリサーバ20506からダウンロードしたアプリケーションを実行することで、所定の機能を実現することができる。あるいは、アプリサーバ20506は、例えばAPI(Application Programming Interface)などを介して電子機器20001からデータを取得し、アプリサーバ20506上でアプリケーションを実行することで、所定の機能を実現することもできる。
 このように、本開示を適用した装置を含むシステムでは、各装置の間で、学習済みモデル、画像データ、補正済みデータ等のデータがやり取りされて流通し、それらのデータを用いた様々なサービスを提供することが可能となる。例えば、学習モデル提供サーバ20504を介した学習済みモデルを提供するサービスや、データ提供サーバ20505を介した画像データや補正済みデータ等のデータを提供するサービスを提供することができる。また、アプリサーバ20506を介したアプリケーションを提供するサービスを提供することができる。
 あるいは、学習モデル提供サーバ20504により提供される学習済みモデルに、電子機器20001の光センサ20011から取得した画像データを入力して、その出力として得られる補正済みデータが提供されてもよい。また、学習モデル提供サーバ20504により提供される学習済みモデルを実装した電子機器などの装置を生成して提供してもよい。さらに、学習済みモデルや補正済みデータ、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を生成して提供してもよい。当該記憶媒体は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの不揮発性メモリでもよいし、SRAMやDRAMなどの揮発性メモリでもよい。
 なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。なお、本明細書において、「2D」は2次元、「3D」は3次元を表している。
 また、本開示は、以下のような構成をとることができる。
(1)
 センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する処理部を備える
 情報処理装置。
(2)
 前記学習済みモデルは、前記画像及び前記情報の少なくとも一方を入力とし、前記対象のサイズを出力として学習したディープニューラルネットワークである
 前記(1)に記載の情報処理装置。
(3)
 前記学習済みモデルは、
  前記画像を入力とし、前記対象の特徴点を出力とする第1の学習済みモデルと、
  前記対象の特徴点、前記対象のサイズ、及び前記対象の姿勢を入力とし、前記対象のサイズを補正した補正後のサイズを出力とする第2の学習済みモデルと
 を含む
 前記(2)に記載の情報処理装置。
(4)
 前記第2の学習済みモデルは、前記対象の特徴点、前記対象のサイズ、及び前記対象の姿勢とともに前記対象に関するユーザ情報を入力とし、前記補正後のサイズを出力とする
 前記(3)に記載の情報処理装置。
(5)
 前記処理部は、
  前記第1の学習済みモデルから出力される前記対象の特徴点に基づいて、前記対象のサイズ、及び前記対象の姿勢を算出し、
  算出した前記対象のサイズ、及び前記対象の姿勢を前記第2の学習済みモデルに入力する
 前記(3)又は(4)に記載の情報処理装置。
(6)
 前記第1の学習済みモデルは、前記特徴点として、2D特徴点又は3D特徴点を出力し、
 前記第2の学習済みモデルは、前記特徴点として、3D特徴点を入力する
 前記(3)乃至(5)のいずれかに記載の情報処理装置。
(7)
 前記処理部は、前記特徴点が2D特徴点である場合、2D特徴点から3D特徴点を算出する
 前記(6)に記載の情報処理装置。
(8)
 前記補正後のサイズを表示する表示部をさらに備える
 前記(3)乃至(7)のいずれかに記載の情報処理装置。
(9)
 前記表示部は、ユーザを撮影した撮影画像に含まれる前記対象に対応する部位に対し、AR画像を重畳して表示する
 前記(8)に記載の情報処理装置。
(10)
 前記対象は、ユーザの足であり、
 前記対象のサイズは、ユーザの足のサイズである
 前記(1)乃至(9)のいずれかに記載の情報処理装置。
(11)
 前記画像は、RGB画像をさらに含む
 前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
 前記センサと、前記処理部と、前記処理部による処理結果を表示する表示部とを有するモバイル端末として構成される
 前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
 情報処理装置が、
 センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する
 情報処理方法。
(14)
 コンピュータを、
 センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する処理部を備える
 情報処理装置として機能させるプログラム。
 1 情報処理装置, 2 情報処理装置, 3 撮影装置, 4 データベース, 11 デプスセンサ, 12 デプス処理部, 13 RGBセンサ, 14 RGB処理部, 15,15A,15B,15C 処理部, 16 表示部, 17 操作部, 111 学習済みモデル, 112 3D座標計算部, 113 足サイズ姿勢計算部, 114 学習済みモデル, 211 学習済みモデル, 311 学習済みモデル

Claims (14)

  1.  センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する処理部を備える
     情報処理装置。
  2.  前記学習済みモデルは、前記画像及び前記情報の少なくとも一方を入力とし、前記対象のサイズを出力として学習したディープニューラルネットワークである
     請求項1に記載の情報処理装置。
  3.  前記学習済みモデルは、
      前記画像を入力とし、前記対象の特徴点を出力とする第1の学習済みモデルと、
      前記対象の特徴点、前記対象のサイズ、及び前記対象の姿勢を入力とし、前記対象のサイズを補正した補正後のサイズを出力とする第2の学習済みモデルと
     を含む
     請求項2に記載の情報処理装置。
  4.  前記第2の学習済みモデルは、前記対象の特徴点、前記対象のサイズ、及び前記対象の姿勢とともに前記対象に関するユーザ情報を入力とし、前記補正後のサイズを出力とする
     請求項3に記載の情報処理装置。
  5.  前記処理部は、
      前記第1の学習済みモデルから出力される前記対象の特徴点に基づいて、前記対象のサイズ、及び前記対象の姿勢を算出し、
      算出した前記対象のサイズ、及び前記対象の姿勢を前記第2の学習済みモデルに入力する
     請求項3に記載の情報処理装置。
  6.  前記第1の学習済みモデルは、前記特徴点として、2D特徴点又は3D特徴点を出力し、
     前記第2の学習済みモデルは、前記特徴点として、3D特徴点を入力する
     請求項3に記載の情報処理装置。
  7.  前記処理部は、前記特徴点が2D特徴点である場合、2D特徴点から3D特徴点を算出する
     請求項6に記載の情報処理装置。
  8.  前記補正後のサイズを表示する表示部をさらに備える
     請求項3に記載の情報処理装置。
  9.  前記表示部は、ユーザを撮影した撮影画像に含まれる前記対象に対応する部位に対し、AR画像を重畳して表示する
     請求項8に記載の情報処理装置。
  10.  前記対象は、ユーザの足であり、
     前記対象のサイズは、ユーザの足のサイズである
     請求項1に記載の情報処理装置。
  11.  前記画像は、RGB画像をさらに含む
     請求項1に記載の情報処理装置。
  12.  前記センサと、前記処理部と、前記表示部とを有するモバイル端末として構成される
     請求項8に記載の情報処理装置。
  13.  情報処理装置が、
     センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する
     情報処理方法。
  14.  コンピュータを、
     センサにより取得されたデプス画像を少なくとも含む画像、及び前記画像から得られる情報の少なくとも一部に機械学習により学習された学習済みモデルを用いた処理を行い、前記画像に含まれる対象のサイズを測定する処理部を備える
     情報処理装置として機能させるプログラム。
PCT/JP2021/025245 2020-07-07 2021-07-05 情報処理装置、情報処理方法、及びプログラム WO2022009821A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180047367.7A CN115997103A (zh) 2020-07-07 2021-07-05 信息处理设备、信息处理方法及程序
JP2022535308A JPWO2022009821A1 (ja) 2020-07-07 2021-07-05
US18/002,926 US20230298194A1 (en) 2020-07-07 2021-07-05 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063048940P 2020-07-07 2020-07-07
US63/048,940 2020-07-07

Publications (1)

Publication Number Publication Date
WO2022009821A1 true WO2022009821A1 (ja) 2022-01-13

Family

ID=79553120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025245 WO2022009821A1 (ja) 2020-07-07 2021-07-05 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US20230298194A1 (ja)
JP (1) JPWO2022009821A1 (ja)
CN (1) CN115997103A (ja)
WO (1) WO2022009821A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122411A (ja) * 2014-12-25 2016-07-07 株式会社東芝 仮想試着システム、仮想試着端末、仮想試着方法、およびプログラム
JP2019045305A (ja) * 2017-09-01 2019-03-22 株式会社キビラ 足サイズ測定システム及び足サイズ測定プログラム
JP2019144890A (ja) * 2018-02-21 2019-08-29 株式会社東芝 仮想試着システム、仮想試着方法、仮想試着プログラム、情報処理装置、および学習データ
JP6579353B1 (ja) * 2019-04-24 2019-09-25 Arithmer株式会社 情報処理装置、情報処理方法、寸法データ算出装置、及び製品製造装置
JP2019194625A (ja) * 2019-08-01 2019-11-07 株式会社メルカリ プログラム、情報処理方法、及び情報処理装置
WO2021065265A1 (ja) * 2019-09-30 2021-04-08 日本電気株式会社 大きさ推定装置、大きさ推定方法および記憶媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122411A (ja) * 2014-12-25 2016-07-07 株式会社東芝 仮想試着システム、仮想試着端末、仮想試着方法、およびプログラム
JP2019045305A (ja) * 2017-09-01 2019-03-22 株式会社キビラ 足サイズ測定システム及び足サイズ測定プログラム
JP2019144890A (ja) * 2018-02-21 2019-08-29 株式会社東芝 仮想試着システム、仮想試着方法、仮想試着プログラム、情報処理装置、および学習データ
JP6579353B1 (ja) * 2019-04-24 2019-09-25 Arithmer株式会社 情報処理装置、情報処理方法、寸法データ算出装置、及び製品製造装置
JP2019194625A (ja) * 2019-08-01 2019-11-07 株式会社メルカリ プログラム、情報処理方法、及び情報処理装置
WO2021065265A1 (ja) * 2019-09-30 2021-04-08 日本電気株式会社 大きさ推定装置、大きさ推定方法および記憶媒体

Also Published As

Publication number Publication date
CN115997103A (zh) 2023-04-21
JPWO2022009821A1 (ja) 2022-01-13
US20230298194A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
US10321728B1 (en) Systems and methods for full body measurements extraction
US10324522B2 (en) Methods and systems of a motion-capture body suit with wearable body-position sensors
CN105229703B (zh) 用于使用感测的位置数据来生成三维模型的系统和方法
US11948376B2 (en) Method, system, and device of generating a reduced-size volumetric dataset
CN111787242B (zh) 用于虚拟试衣的方法和装置
JP2018532216A (ja) 画像正則化及びリターゲティングシステム
US11055891B1 (en) Real time styling of motion for virtual environments
CN111492374A (zh) 图像识别系统
JP6948851B2 (ja) 情報処理装置、情報処理方法
US20220277438A1 (en) Recommendation engine for comparing physical activity to ground truth
CN111401340B (zh) 目标对象的运动检测方法和装置
US20210201502A1 (en) Method and system for motion prediction
US20240127965A1 (en) Data processing device, system, data processing method, and recording medium
US11978232B2 (en) Method for displaying three-dimensional augmented reality
TW202314593A (zh) 定位方法及設備、電腦可讀儲存媒體
WO2022009821A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11954801B2 (en) Concurrent human pose estimates for virtual representation
CN111582208A (zh) 用于生成生物体姿态关键点信息的方法和装置
US11651625B2 (en) Systems and methods for predicting elbow joint poses
US11861944B1 (en) System for synchronizing video output based on detected behavior
Verma et al. Motion capture using computer vision
WO2022201804A1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN116305994A (zh) 惯性测量设备的仿真数据生成方法及装置、介质及设备
KR20220066564A (ko) 가상 피팅 서비스를 제공하는 방법 및 이를 위한 시스템
CN116964624A (zh) 训练使用测地距离来预测图像中的密集对应的模型的系统和方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022535308

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21836784

Country of ref document: EP

Kind code of ref document: A1