WO2022168441A1 - 推論装置、推論方法およびプログラム - Google Patents
推論装置、推論方法およびプログラム Download PDFInfo
- Publication number
- WO2022168441A1 WO2022168441A1 PCT/JP2021/045770 JP2021045770W WO2022168441A1 WO 2022168441 A1 WO2022168441 A1 WO 2022168441A1 JP 2021045770 W JP2021045770 W JP 2021045770W WO 2022168441 A1 WO2022168441 A1 WO 2022168441A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subject
- image data
- image
- human body
- predetermined area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 85
- 238000012545 processing Methods 0.000 claims description 117
- 230000008569 process Effects 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 23
- 238000005516 engineering process Methods 0.000 abstract description 28
- 238000013527 convolutional neural network Methods 0.000 description 170
- 210000001508 eye Anatomy 0.000 description 54
- 230000010365 information processing Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 41
- 238000012805 post-processing Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 24
- 238000003384 imaging method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 210000002683 foot Anatomy 0.000 description 6
- 238000012804 iterative process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000003252 repetitive effect Effects 0.000 description 5
- 238000005401 electroluminescence Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000015541 sensory perception of touch Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Definitions
- the present disclosure relates to an inference device, an inference method, and a program.
- a technique that introduces a heat map indicating values at the center of an object into learning processing (see, for example, Non-Patent Document 1).
- the central position of the subject in the image is estimated based on the result of the learning process and the image.
- the relative position of the predetermined area of the subject with respect to the central position of the subject is estimated.
- centerness is a numerical value representing the distance between the center position of a rectangular area (bounding box) surrounding the subject in the image and points existing within the rectangular area.
- the predetermined area of the subject is not necessarily captured in the image.
- first image data, a position of a predetermined area of a first subject appearing in the first image data, and the predetermined area of the first subject in the first image data an acquisition unit that acquires a trained model obtained based on presence/absence information indicating whether or not exists, and second image data; and based on the trained model and the second image data and an inference unit for obtaining a position of a predetermined area of a second subject appearing in the second image data and an existence probability of the predetermined area of the second subject in the second image data.
- an inference apparatus is provided.
- first image data, a position of a predetermined area of a first subject appearing in the first image data, and the predetermined area of the first subject in the first image data Obtaining a trained model obtained based on presence/absence information indicating whether or not exists and second image data, and based on the trained model and the second image data, obtaining a position of a predetermined area of a second subject appearing in the second image data and an existence probability of the predetermined area of the second subject in the second image data.
- a method is provided.
- a computer is provided with first image data, the position of a predetermined area of a first subject appearing in the first image data, and the an acquisition unit that acquires a trained model obtained based on presence/absence information indicating whether or not a predetermined region exists, and second image data; and the trained model and the second image data.
- an inference unit that obtains a position of a predetermined area of a second subject appearing in the second image data and an existence probability of the predetermined area of the second subject in the second image data based on
- a program functions as an inference device comprising:
- FIG. 1 is a diagram illustrating a functional configuration example of an information processing system according to an embodiment of the present disclosure
- FIG. FIG. 4 is a diagram showing an example of positions estimated by Disclosed Technology 1
- FIG. 10 is a diagram showing an example of a human-centered heat map
- FIG. 4 is a diagram showing an example of relative positions of parts with reference to the central position of the human body
- FIG. 5 is a diagram showing an example of part positions estimated from a part position heat map
- FIG. 4 is a diagram showing an example of recording the center position of a human body and the relative positions of parts
- 1 is a diagram for explaining an overview of an information processing system according to a first embodiment of the present disclosure
- FIG. FIG. 4 is a diagram showing an example of an input image
- FIG. FIG. 4 is a diagram showing an example of an input image
- FIG. 10 is a diagram showing an example of a learning image
- FIG. 10 is a diagram showing a first example of processing and presence/absence information update
- FIG. 10 is a diagram illustrating a second example of processing and presence/absence information update
- 4 is a flow chart showing an example flow of a learning stage according to the first embodiment of the present disclosure
- FIG. 10 is a diagram for explaining an example of information according to a result of comparison between part existence probabilities and thresholds
- FIG. 10 is a diagram for explaining an example of information indicating existence probabilities of parts
- 4 is a flowchart illustrating an example flow of a recognition stage according to the first embodiment of the present disclosure
- FIG. 10 is a diagram for explaining an example in which the existence probability is applied to autofocus; 5 is a flow chart showing an example of autofocus control; It is a figure for demonstrating the example in which a center position overlaps.
- FIG. 11 is a diagram for explaining disclosed technique 2; It is a figure for demonstrating the function of a CNN learning part. It is the figure which showed typically the process which distances the center position of two human bodies. It is the figure which showed typically the process which distances the center position of four human bodies.
- FIG. 11 is a flow chart showing an example flow of a learning phase according to a second embodiment of the present disclosure;
- FIG. 7 is a flowchart showing a specific example of processing for moving center positions of a plurality of human bodies away from each other;
- FIG. 5 is a flow chart illustrating an example recognition stage flow according to a second embodiment of the present disclosure
- FIG. FIG. 5 is a diagram for explaining an example in which estimated parts positions are applied to a sports scene
- It is a figure for explaining an offside line.
- FIG. 11 is a flow chart showing an example in which estimated part positions are applied to offside determination;
- FIG. 10 is a diagram for explaining an example in which estimated parts positions are applied to a street scene;
- FIG. 4 is a flow chart showing an example flow of a learning stage when combining the first embodiment of the present disclosure with the second embodiment of the present disclosure;
- FIG. Fig. 3 is a flow chart showing an example of a recognition stage flow for the combination of the first embodiment of the present disclosure and the second embodiment of the present disclosure;
- 1 is a block diagram showing a hardware configuration example of an information processing system according to an embodiment of the present disclosure;
- a plurality of components having substantially the same or similar functional configurations may be distinguished by attaching different numerals after the same reference numerals.
- attaching different numerals after the same reference numerals.
- similar components in different embodiments may be distinguished by attaching different alphabets after the same reference numerals.
- attaching different alphabets after the same reference numerals.
- only the same reference numerals are used.
- FIG. 1 is a diagram showing a functional configuration example of an information processing system according to an embodiment of the present disclosure.
- the information processing system 10 has a control section 110 , an operation section 120 , a sensor section 130 , a storage section 140 , a communication section 150 and a presentation section 160 .
- Information processing system 10 may be implemented by a computer. Note that the functional configuration example of the information processing system 10 illustrated in FIG. 1 can be applied to each of a first embodiment of the present disclosure and a second embodiment of the present disclosure, which will be described later.
- the control unit 110 controls each unit of the information processing system 10 .
- the control unit 110 may be composed of, for example, one or more CPUs (Central Processing Units), or may be composed of one or more GPUs (Graphics Processing Units).
- CPUs Central Processing Units
- GPUs Graphics Processing Units
- the control unit 110 is configured by a processing device such as a CPU or GPU, such processing device may be configured by an electronic circuit.
- the control unit 110 can be realized by executing a program by such a processing device.
- the control unit 110 has a CNN recognition processing unit 112 , a post-processing unit 114 , an output unit 116 and a CNN learning unit 118 . Details of these blocks will be described later.
- the operation unit 120 has a function of accepting an operation input by the user.
- the operation unit 120 includes a mouse and keyboard.
- operation unit 120 is not limited to including a mouse and keyboard.
- the operation unit 120 may include a touch panel, a touch pad, a switch, a lever, or a button.
- the operation unit 120 may include a microphone that detects the user's voice, and may include an image sensor that detects the user's line of sight.
- the operation unit 120 exists in the same machine as the control unit 110. However, the operation unit 120 may exist in a machine different from the control unit 110 . At this time, the operation accepted by the operation unit 120 may be provided to the control unit 110 via the network.
- the sensor unit 130 includes an image sensor, and detects image data for recognition by the image sensor.
- the image data will also simply be referred to as an "image".
- the type of image sensor is not limited.
- the image sensor includes an RGB image sensor that detects an RGB image, but the image sensor may include a depth sensor that detects a depth image, or an IR (Infrared) image. It may also include an IR sensor for detection.
- a recognition image detected by the sensor unit 130 is provided to the control unit 110 and used for recognition processing by a trained model.
- the sensor unit 130 exists in the same machine as the control unit 110.
- the sensor section 130 may exist in a machine different from the control section 110 .
- the image detected by the sensor unit 130 may be provided to the control unit 110 through the network.
- the type of model is not particularly limited.
- a neural network is used as a model.
- CNN is used as a model.
- the learning of the CNN is performed by updating the weights of each of the plurality of neurons forming the CNN by learning processing.
- the type of neural network is not limited to CNN.
- the learned CNN is also referred to as "learning result CNN”.
- the storage unit 140 is a recording medium that includes a memory and stores programs to be executed by the control unit 110 and data necessary for executing the programs.
- the storage unit 140 stores a learning database (hereinafter also referred to as a “learning DB”) and a learning result CNN.
- Storage unit 140 also temporarily stores data for calculation by control unit 110 .
- the storage unit 140 is configured by a magnetic storage device, a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
- the communication unit 150 includes a communication circuit and has a function of communicating with other devices connected to the network via the network.
- the presentation unit 160 has a function of outputting information to the user.
- the type of presentation unit 160 is not limited.
- the presentation unit 160 may include a display capable of displaying visible to the user, and the display may be a liquid crystal display or an organic EL (Electro-Luminescence) display.
- the display may be a liquid crystal display or an organic EL (Electro-Luminescence) display.
- presentation unit 160 may include a tactile sense presentation device that presents a tactile sense to the user, or may include a speaker that presents sound to the user.
- the CNN learning unit 118 and the learning DB are provided in the learning device, and the CNN recognition processing unit 112, the post-processing unit 114 and the output unit 116 are provided in the inference device.
- the learning device and the inference device are implemented by the same computer, but the learning device and the inference device may be implemented by separate computers.
- the learning result CNN may be transmitted from the learning device and received by the communication unit 150 of the inference device.
- Disclosed technique 1 a technique that introduces a heat map indicating the value of the center of the subject into the learning process.
- the central position of the subject in the image is estimated based on the result of the learning process and the image.
- the relative position of the predetermined area of the subject with respect to the center position of the subject is estimated based on the regression from the center position of the subject.
- the human body will be used as an example of the subject in the image.
- the subject captured in the image is not limited to the human body.
- the subject captured in the image may be a rigid body (such as a car and furniture) or a non-rigid body (such as an animal and a plant).
- a human body part site
- Examples of human body parts include eyes, neck, shoulders, elbows, and wrists.
- the predetermined area of the subject is not limited as long as it is a partial area of the subject.
- FIG. 2 is a diagram showing an example of positions estimated by Disclosed Technology 1.
- a heat map showing values at the center of the human body (hereinafter also referred to as "human body centered heat map”) is generated based on the recognition image being input to the CNN. is output from the CNN, and the center position C of the human body is estimated based on the human body center heat map. Further, based on the regression from the central position C of the human body, the relative position Pk of the part with reference to the central position C of the human body is estimated.
- the parts positions are estimated based on a heat map indicating the values of the parts positions (hereinafter also referred to as "parts position heat map").
- FIG. 3 is a diagram showing an example of a human-centered heat map.
- a human-body-centered heat map G91 is output from the CNN based on the recognition image being input to the CNN.
- the central position C of the human body is estimated based on the human-centered heat map G91. More specifically, according to Disclosed Technology 1, among the points of the human body-centered heat map G91, a point having a value equal to or greater than the values of the eight surrounding points is estimated as the center position C of the human body.
- FIG. 4 is a diagram showing an example of relative positions of parts with reference to the central position C of the human body.
- parts in the example shown in FIG. 4, eyes , wrists, feet, etc.
- FIG. 5 is a diagram showing an example of part positions estimated from a part position heat map.
- parts positions H1 to H5 eyes, right wrist, left wrist, right ankle, left ankle ), etc.
- FIG. 6 is a diagram showing an example of recording the center position of the human body and the relative positions of the parts.
- the position where the center position c0 of the human body is recorded is searched, and when the position where the center position c0 of the human body is recorded is found, from the position corresponding to the position where the center position c0 of the human body is recorded,
- the image does not necessarily show parts of the human body.
- the parts on the front side for example, the face
- the blocked part will not appear in the image.
- a person who does not have a part of the body is imaged (for example, when a person with a disability is imaged), the part is not captured in the image.
- the relative position (x, y) of the part with reference to the central position c of the human body is always estimated as the part position.
- information indicating whether a part exists in an image (hereinafter also referred to as "presence/absence information”) cannot be obtained.
- various inconveniences may occur due to the inability to obtain information on the presence or absence of parts.
- AF autofocus
- the depth value of the estimated part position may be used even though the part does not exist in the image.
- parts positions are not always accurately estimated based on the parts position heat map.
- the position of the left foot may be estimated as the position of the right foot based on the part position heatmap because the left and right feet are similar. There is Therefore, it is not possible to accurately determine whether parts exist in the image.
- FIG. 7 is a diagram for explaining an overview of the information processing system 10 according to the first embodiment of the present disclosure.
- the center position C of the human body from the CNN and the center position C of the human body as a reference and the relative position Pk of the part is output.
- the center position C of the human body corresponds to an example of the "reference position" of the human body. Therefore, any position of the human body may be treated as the central position C of the human body. Further, in the first embodiment of the present disclosure, information indicating the possibility that a part exists in the image (hereinafter also referred to as "presence probability") e n is output. Existence probability en is output for every K parts corresponding to n persons.
- the part positions input to the CNN and the part positions output from the CNN are separated into the center position C of the human body and the relative position Pk of the parts. Mainly assume the case. However, as will be explained later, the part positions input to the CNN and the part positions output from the CNN may not be separated into the center position C of the human body and the relative position Pk of the parts. That is, the absolute position of the part may be directly input to the CNN, and the absolute position of the part may be directly output from the CNN.
- FIG. 8 Details of the learning stage
- Input images and labels are stored in the learning DB in association with each other.
- the input image and label correspond to teacher data used for learning processing.
- the value 0 indicates that the input image does not contain parts
- the value 1 indicates that parts exist in the input image.
- the value indicating the absence of parts in the input image is not limited to 0
- the value indicating the presence of parts in the input image is not limited to 1.
- the labels (relative positions) of all parts are not necessarily stored in the learning DB. For example, if a person's leg part in the input image is blocked by an obstacle, there is no label (relative position) for that person's leg part.
- CNN learning unit 118 acquires an input image (first image data) and labels from the learning DB.
- FIG. 8 is a diagram showing an example of an input image.
- an input image G10 is shown.
- the input image G10 includes a human body B11 (first subject) and a human body B12 as examples of subjects.
- the CNN learning unit 118 acquires the label corresponding to the human body B11 as the label corresponding to the input image G10.
- the CNN learning unit 118 performs predetermined processing (hereinafter also referred to as "processing") on the input image G10.
- predetermined processing hereinafter also referred to as "processing”
- the CNN learning unit 118 randomly performs processing on the input image G10.
- the CNN learning unit 118 may apply processing to the input image G10 based on a predetermined rule (for example, the same processing may be applied). .
- the CNN learning unit 118 may not process the input image G10.
- the CNN learning unit 118 performs processing on the input image G10, determines whether parts exist in the processed image (third image data), and obtains parts presence/absence information. get If a part exists in the processed image, the CNN learning unit 118 leaves the presence/absence information of that part as 1 (exists). On the other hand, if a part exists in the processed image, the CNN learning unit 118 changes the presence/absence information of that part to 0 (does not exist).
- FIG. 9 is a diagram showing an example of a learning image.
- a learning image G20 is shown.
- the CNN learning unit 118 generates a learning image G20 by arranging the input image G10 within the frame of the learning image G20.
- FIG. 10 is a diagram showing a first example of processing and presence/absence information update.
- input image G10 has been moved (compared to input image G10 shown in FIG. 9). That is, the processing may include a process of moving each piece of pixel data forming the input image G10 (hereinafter also referred to as "shifting process"). Note that the shift processing may include not only such parallel movement of the input image G10, but also affine transformation processing such as enlargement, reduction, and rotation of the input image G10.
- the CNN learning unit 118 changes the center position of the human body B11 and the center position of the human body B12 included in the label according to the movement of the input image G10 (for example, according to the movement direction and movement distance).
- FIG. 10 shows, as an example, the center position C'0 after movement of the human body B11.
- the input image G10 is randomly shifted. More specifically, it is assumed that the moving direction and moving distance of input image G10 are randomly determined. However, the moving direction and moving distance of input image G10 may be determined based on a predetermined rule.
- the technique of randomly shifting the input image G10 is generally known as augmentation.
- the learning image G20 after the shift processing for the input image G10 can be used for learning described later.
- the CNN learning unit 118 determines whether or not the right eye part of the human body B11 exists in the learning image G20 after the shift processing for the input image G10.
- the CNN learning unit 118 sets the presence/absence information of the right eye part of the human body B12 to 1 (exists). can be left as is.
- FIG. 11 is a diagram showing a second example of processing and presence/absence information update.
- a partial area of the input image G10 is replaced with a predetermined image (in the example shown in FIG. 11, a rectangular image G12 in which each pixel is uniformly colored). That is, the processing process may include a process of replacing a partial area of the input image G10 with a predetermined image and concealing the partial area (hereinafter also referred to as "concealing process").
- the concealment processing for the input image G10 is performed randomly. More specifically, assume that the color of the rectangular image G12 is randomly determined. However, the color of the rectangular image G12 may be determined based on a predetermined rule (for example, it may be a fixed color (eg, gray)).
- the position of the rectangular image G12 is also randomly determined.
- the position of rectangular image G12 may be determined based on a predetermined rule.
- the part position is known by the center position C 0 of the human body and the relative position (x 0 0 , y 0 0 ) with reference to the center position C 0 . Therefore, the image of the area including the part position may be replaced with the rectangular image G12. Since the parts are intentionally hidden in this way, it is expected that robust recognition will become possible with respect to hidden parts.
- the technique of randomly performing concealment processing on the input image G10 is generally known as random erasing.
- the learning image G20 after the concealment processing for the input image G10 can be used for learning, which will be described later.
- the CNN learning unit 118 determines whether or not the right eye part of the human body B11 exists in the learning image G20 after the concealment processing for the input image G10.
- the CNN learning unit 118 sets the presence/absence information of the right eye part of the human body B12 to 1 (exists). can be left as is.
- FIG. 11 shows a case where a partial area of the input image G10 is replaced with a rectangular image G12 in which each pixel is uniformly colored.
- the image that replaces the partial area of the input image G10 is not limited to the rectangular image G12.
- a part of the input image G10 may be replaced with an image of a human body. This is expected to enable robust recognition of overlapping persons.
- the input image G10 is subjected to both shifting processing and concealing processing as examples of processing processing.
- only one of the shifting process and the concealing process may be performed on input image G10.
- the CNN learning unit 118 performs learning processing based on the processed image and the changed label.
- a specific method of learning processing is not limited.
- the CNN learning unit 118 uses the center position C n of the human body and the center position C n of the human body output from the CNN based on the input of the processed image to the CNN as a reference. Calculate the error between the relative position (x n k , y n k ) of the part k and the presence/absence information v n k of the part k and the corresponding label, and perform back propagation on the weighted sum of the calculated errors. (using backpropagation), the weights of the CNN are updated. For example, a stochastic gradient descent (SGD) method may be used as a weight update method. However, the weight update technique is not limited to SGD.
- SGD stochastic gradient descent
- the weights are updated based on the images and labels newly acquired from the learning DB. Then, when the weights have been updated a predetermined number of times, the learning process is terminated.
- the predetermined number of times is not limited.
- the predetermined number of times may be determined in units of epochs (the number of times the same input image is repeatedly used for learning processing) or in units of iterations (the number of times the input image is updated).
- the learning process may be terminated when the weighted sum of errors becomes equal to or less than a predetermined value.
- FIG. 12 is a flowchart illustrating an example flow of the learning phase according to the first embodiment of the present disclosure. Note that the flowchart shown in FIG. 12 merely shows an example of the flow of the learning stage according to the first embodiment of the present disclosure. Therefore, the learning phase flow according to the first embodiment of the present disclosure is not limited to the example shown in the flowchart of FIG. In order to simplify the explanation, it is assumed here that there is one image and the number of people in the image is one.
- the CNN learning unit 118 determines whether there is a part position in the processed image (S105). CNN learning unit 118 causes the operation to proceed to S103 when there is no part position in the processed image ("NO” in S105). On the other hand, the CNN learning unit 118 shifts the operation to S106 when there is a part position in the processed image ("YES" in S105).
- the CNN learning unit 118 sets 0 to the part presence/absence information v (S103), and proceeds to the end of the repetition process for each part (S107).
- the CNN learning unit 118 sets 1 to the part existence/non-existence information v (S106), and proceeds to the end of the repetition process for each part (S107).
- the CNN learning unit 118 When the operation shifts to S107, the CNN learning unit 118 returns to the starting point (S101) of the repeating process for each part if the repeating process for each part has not been executed K times. On the other hand, the CNN learning unit 118 performs learning processing based on the image after the processing processing and the label after the change when the repetition processing for each part has been executed K times (S108). .
- a learning result CNN is generated by the learning process and stored in the storage unit 140 .
- CNN recognition processing unit 112 The CNN recognition processing unit 112 functions as an acquisition unit that acquires the recognition image (second image data) and the learning result CNN in the recognition stage.
- the CNN recognition processing unit 112 acquires an image detected by the sensor unit 130 as a recognition image.
- the CNN recognition processing unit 112 may acquire recognition images from other locations.
- the CNN recognition processing unit 112 may acquire a recognition image pre-stored in the storage unit 140 or may acquire a recognition image received from another device by the communication unit 150 .
- the learning result CNN can be obtained from the storage unit 140 .
- the learning result CNN is the learning result transmitted from the learning device and received by the communication unit 150 of the inference device.
- a CNN may be obtained.
- the CNN recognition processing unit 112 performs recognition processing based on the recognition image and the learning result CNN. More specifically, the CNN recognition processing unit 112 determines the center position C n of the human body (second subject) in the recognition image and the relative position ( x n k , y n k ) and the presence/absence information e n k of the existence probability of the part k in the recognition image.
- a specific method of recognition processing is not limited.
- the CNN recognition processing unit 112 outputs the center position C n of the human body and the parts based on the center position C n of the human body, which are output from the learning result CNN based on the input of the recognition image to the learning result CNN.
- the presence/absence information v n k input to the CNN in the learning stage is a binary value of 0 (not present) or 1 (present).
- the presence probability e n k obtained in the recognition stage is information output from the learning result CNN corresponding to the presence/absence information v n k , and can take a value of 0 to 1. The higher the numerical value of the existence probability e n k , the higher the possibility that the part k exists in the recognition image.
- the post-processing unit 114 performs each combination of the human body n and the part k based on the central position C n of the human body and the relative position (x nk , y nk ) of the part k with respect to the central position C n of the human body. Calculate the part position corresponding to . More specifically, the post-processing unit 114 adds the center position C of the human body and the relative position (x, y) of the parts with respect to the center position C of the human body for each combination of the human body n and the part k. calculates the part position corresponding to each combination of human body n and part k.
- the post-processing unit 114 compares the existence probability e n k of the part k with a predetermined threshold TH. Then, the post-processing unit 114 outputs the comparison result between the existence probability e n k of the part k and the threshold value TH to the output unit 116 . When the existence probability e n k of the part k is greater than the threshold TH, the post-processing unit 114 outputs information indicating that the existence probability e n k of the part k is greater than the threshold TH to the output unit 116 .
- the post-processing unit 114 outputs to the output unit 116 information indicating that the existence probability e n k of the part k is equal to or less than the threshold TH. do.
- the threshold value TH may not be changed from a predetermined value, or may be changeable from a predetermined value. For example, when an operation object (for example, a slider) for threshold change is presented by the presentation unit 160, the post-processing unit 114 performs , the threshold TH may be changed.
- the output unit 116 performs control according to the existence probability e n k of the part k.
- the output unit 116 may control presentation by the presentation unit 160 of information according to the existence probability e n k of the part k.
- Various information can be assumed as the information according to the existence probability e n k of the part k.
- the output unit 116 may control presentation by the presentation unit 160 of information according to the comparison result between the existence probability e n k of the part k and the threshold TH.
- the output unit 116 may control presentation by the presentation unit 160 of the position of the part k when the existence probability e n k of the part k is greater than the threshold TH.
- the output unit 116 controls the presentation of the position of the part k by the presentation unit 160, and also controls the presentation of the part k. Presentation by the presentation unit 160 of that (that is, that the probability that part k exists in the recognition image is smaller than the threshold TH) may be controlled.
- FIG. 13 is a diagram for explaining an example of information corresponding to the result of comparison between the existence probability e n k of part k and threshold TH.
- the recognition image G30 is displayed by the presentation unit 160.
- FIG. A human body B11 and a human body B12 are shown in the recognition image G30.
- the position of each part of the human body B11 and the human body B12 is displayed (each circle in FIG. 13).
- the presentation unit 160 displays the position of the part A1 (left eye) and the position of the part A2 (right eye) of the human body B12.
- the positions of the parts whose existence probability e is greater than the threshold TH are indicated by white circles.
- the positions of parts whose existence probability e is equal to or less than the threshold TH are indicated by black circles. That is, the display mode (the color in the example shown in FIG. 13) is different between the part position where the existence probability e is greater than the threshold TH and the part position where the existence probability e n k is equal to or less than the threshold TH.
- the existence probability e n k is equal to or less than the threshold TH, it may be displayed that the part k is an invisible part.
- the change in display mode does not have to be a difference in color, and may be a difference in size or shape.
- the display mode of the position of the part whose existence probability e is greater than the threshold TH may not be one type, and may differ for each part location.
- the color of the right shoulder part whose presence probability e is greater than the threshold TH may be orange, and the color of the right elbow part whose presence probability e is greater than the threshold TH may be yellow.
- the presentation unit 160 may display the positions of parts whose existence probability e is greater than the threshold TH, while the presentation unit 160 may not display the positions of parts whose existence probability e is equal to or less than the threshold TH.
- the part position and the existence probability e are used in addition to the presentation of the part position is also assumed. In such a case, the part position may not be displayed regardless of whether the existence probability e is greater than the threshold TH.
- connection lines line segments (hereinafter also referred to as "connecting lines") connecting parts positions are also displayed.
- the display mode of this connection line may also be changed according to the existence probability e of the parts at both ends.
- the display mode of the connection line may match the display mode of either one of the parts on both ends of the connection line.
- the connection lines that connect the parts positions do not have to be displayed.
- the output unit 116 may control presentation by the presentation unit 160 of information indicating the existence probability e n k of the part k.
- FIG. 14 is a diagram for explaining an example of information indicating the existence probability e of part k.
- the recognition image G30 is displayed by the presentation unit 160.
- FIG. A human body B11 and a human body B12 are shown in the recognition image G30.
- the position of each part of the human body B11 and the human body B12 is displayed (each circle in FIG. 14).
- Information indicating the existence probability of each part of the human body B12 is shown (for example, the existence probability of the left eye part is shown as "layer 0.1").
- FIG. 15 is a flow chart illustrating an example flow of the recognition stage according to the first embodiment of the present disclosure. It should be noted that the flowchart shown in FIG. 15 merely shows an example of the flow of the recognition stage according to the first embodiment of the present disclosure. Therefore, the flow of recognition stages according to the first embodiment of the present disclosure is not limited to the example shown in the flow chart of FIG. In order to simplify the explanation, it is assumed here that there is one image and the number of people in the image is one.
- the CNN recognition processing unit 112 inputs the image detected by the sensor unit 130 to the learning result CNN (S111). Then, the CNN recognition processing unit 112 outputs the center position C of the human body and the relative position of the part k based on the center position C of the human body, which is output from the learning result CNN based on the input of the image to the learning result CNN. Obtain (x k , y k ) and the existence probability e k of part k.
- the post-processing unit 114 calculates the position of the part k by adding the center position C of the human body and the relative position (x, y) of the part with reference to the center position C of the human body. Thereby, the post-processing unit 114 acquires the position of the part k. Also, the post-processing unit 114 acquires the existence probability e of the part k from the CNN recognition processing unit 112 (S113).
- the post-processing unit 114 compares the existence probability e of the part k with a predetermined threshold TH (S114).
- the output unit 116 When the existence probability e of the part k is equal to or less than the threshold TH ("NO" in S114), the output unit 116 outputs information indicating the position of the part k to the presentation unit 160, and the part k is visible. It outputs to the presentation unit 160 that the part is missing (S116). The presentation unit 160 presents information indicating the position of the part k under the control of the output unit 116 and presents that the part k is an invisible part. After that, the operation is shifted to the end of the part-by-part repetitive processing (S118).
- the output unit 116 outputs information indicating the position of the part k to the presentation unit 160 (S117).
- the presentation unit 160 presents information indicating the position of the part k under the control of the output unit 116 . After that, the operation is shifted to the end of the part-by-part repetitive processing (S118).
- the output unit 116 performs control according to the position of part k and the existence probability e n k of part k.
- the target of control by the output unit 116 is not limited to presentation of information.
- the output unit 116 may control some function according to the position of part k and the existence probability e n k of part k.
- the output unit 116 may control a function for the camera to automatically focus (a so-called autofocus function) according to the existence probability e n k of the part k.
- An example in which the output unit 116 controls autofocus according to the existence probability will be described below with reference to FIGS. 16 and 17 .
- FIG. 16 is a diagram for explaining an example in which the existence probability is applied to autofocus.
- an image G40 is shown as an example of the recognition image.
- the human body B11 and the human body B12 are shown in the image G40.
- the human body B11 appears smaller than the human body B12 in the image, but since the front face is facing the camera, the eyes appear in the image G40.
- the human body B12 appears larger in the image than the human body B11, but the eyes do not appear in the image G40 because the back face of the human body B12 faces the camera.
- the image G41 is an example in which a general technique is applied to preferentially focus on the right eye part of the human body that appears larger in the image.
- the focus F1 is set on the human body B12 whose right eye part is not shown in the image G41.
- the image G42 is an example to which the technology of the present disclosure is applied to preferentially focus on the right eye part having a higher existence probability e.
- the output unit 116 controls the camera so that the focus F1 is on the right eye part of the human body B11 because the presence probability e of the right eye part of the human body B11 is higher.
- the presence probability e 0 0 of the right eye part of the human body B11 is determined to be greater than the threshold TH.
- the existence probability e 1 0 of the right eye part of the human body B12 is determined to be equal to or less than the threshold TH.
- the output unit 116 may control the autofocus of the camera based on the position (x, y) of the right eye part of the human body B11 at which the presence probability of the right eye part is greater than the threshold TH.
- the output unit 116 may control the autofocus of the camera based on the right eye part (x, y) of the human body that is larger in the image among the plurality of human bodies.
- the part to be focused is not limited to the right eye part, and may be other parts of the human body (for example, the left eye).
- the autofocus control of the camera may be realized in any way.
- the output unit 116 may acquire the depth value up to the subject at the position (x, y) of the right eye part of the human body B11, and control the autofocus of the camera based on the acquired depth value.
- the depth value to the subject may be measured by irradiation with infrared rays or ultrasonic waves (so-called active method may be used).
- the depth value to the subject may be measured by light passing through the lens of the camera (measured by a so-called passive method).
- FIG. 17 is a flowchart showing an example of autofocus control. Note that the flowchart shown in FIG. 17 merely shows an example of autofocus control. Therefore, autofocus control is not limited to the example shown in the flowchart of FIG. Here, to simplify the explanation, it is assumed that there is one image and the existence probability of the right eye part is used.
- the CNN recognition processing unit 112 inputs the image detected by the sensor unit 130 to the learning result CNN (S121). Then, the CNN recognition processing unit 112 outputs the center position C n of the human body and the right eye part based on the center position C n of the human body, which is output from the learning result CNN based on the input of the image to the learning result CNN. Obtain the relative position (x n , y n ) and the existence probability e n of the right eye part.
- the post-processing unit 114 calculates the position of the right eye part by adding the center position Cn of the human body and the relative position ( xn , yn ) of the right eye part with respect to the center position Cn of the human body. . Thereby, the post-processing unit 114 acquires the position of the right eye part.
- the post-processing unit 114 acquires the existence probability en of the right eye part from the CNN recognition processing unit 112 (S123).
- the post-processing unit 114 compares the presence probability en of the right eye part with a predetermined threshold TH ( S124 ).
- the output unit 116 determines whether or not the target human body is the largest in the image among the searched people. (S125).
- the output unit 116 When the target human body appears in the image second or later among the searched people ("NO" in S125), the output unit 116 performs the operation at the end of the repetition process for each person (S127). migrated. On the other hand, output unit 116 stores the position of the right eye part (S126) when the target human body is the largest in the image among the searched people ("YES" in S125). The operation is shifted to the end of the unit repetition process (S127).
- the first embodiment of the present disclosure it is possible to estimate the position of a part of the human body and the possibility that the part is shown in an image. For example, according to the first embodiment of the present disclosure, by controlling the presentation of information according to the existence probability of parts, the user can grasp whether or not parts appear in the image.
- the depth value of the part position captured in the image can be obtained by controlling the function according to the part existence probability.
- autofocus can be controlled with high accuracy based on the positions of the parts captured in the image by controlling the function according to the existence probability of the parts.
- the second embodiment of the present disclosure will also be described by taking a human body as an example of a subject that appears in an image.
- the subject captured in the image is not limited to the human body.
- the predetermined region of the subject will be described using human body parts as an example.
- the center positions of multiple human bodies are close to each other or overlap (for example, a scene where multiple people tend to be crowded together).
- a scene where multiple people tend to be crowded together for example, a street scene, a sports scene, a crowd scene, etc. are assumed.
- FIG. 18 is a diagram for explaining an example where the center positions overlap.
- the center position c1 of the first human body shown in the image G61 and the rectangular area R61 surrounding the first human body are shown.
- the center position c2 of the second human body appearing in the image G61 and the rectangular area R62 surrounding the second human body.
- the center position c1 and the center position c2 approach and overlap each other.
- Disclosed Technology 2 a technique (hereinafter referred to as “disclosed Also referred to as “Technology 2”) has been disclosed. According to Disclosed Technology 2, the central position of the subject can be estimated based on the result of the learning process in which the centerness is introduced.
- FIG. 19 is a diagram for explaining Disclosed Technology 2.
- image G92 is shown.
- a rectangular area R91 (bounding box) surrounding a human body B91 appearing in the image G92 is shown. is denoted as (t,b,l,r).
- Disclosed Technology 2 an index (centerness) that quantifies such distances (t, b, l, r) is learned. According to Disclosed Technology 2, the centerness is estimated based on the result of the learning process in which the centerness is introduced, and the center position of the human body B91 is estimated based on the estimated centerness. However, in Disclosed Technology 2, it is necessary to weight-average the centerness in order to estimate the center position of the human body B91.
- FIG. 20 Details of the learning stage
- Input images and labels are stored in the learning DB in association with each other.
- the input image and label correspond to teacher data used for learning processing.
- CNN learning unit 118 acquires an input image (first image data) and labels from the learning DB.
- FIG. 20 is a diagram for explaining the function of the CNN learning unit 118.
- FIG. Referring to FIG. 20, an input image G51 is shown.
- the input image G51 includes a human body B11 (first subject) and a human body B12 (second subject) as examples of subjects.
- the CNN learning unit 118 acquires a label corresponding to the human body B11 and a label corresponding to the human body B12 as labels corresponding to the input image G51.
- the right eye will be described as an example of the part, but the part is not limited to the right eye.
- the CNN learning unit 118 uses the center position c1 (cx1, cy1) of the human body B11 and the relative position P1 (Px1, Py1).
- the center position of the human body B11 corresponds to an example of "first reference position”.
- the relative position P1 (Px1, Py1) corresponds to an example of the "first relative position”.
- the CNN learning unit 118 uses the center position c2 (cx2, cy2) of the human body B12 and the relative position P2 (Px2, Py2) of the right eye part with respect to the center position c2 of the human body as labels corresponding to the human body B12. to get
- the center position of the human body B12 corresponds to an example of "second reference position”.
- the relative position P2 (Px2, Py2) corresponds to an example of the "second relative position”.
- the CNN learning unit 118 performs a process (hereinafter also referred to as "moving process") to move the center position c1 (cx1, cy1) of the human body B11 away from the center position c2 (cx2, cy2) of the human body B12.
- moving process a process to move the center position c1 (cx1, cy1) of the human body B11 away from the center position c2 (cx2, cy2) of the human body B12.
- the input image G52 is shown, and as a result of the processing of moving the center position c1 (cx1, cy1) away from the center position c2 (cx2, cy2), the center position c1′ (cx1 ', cy1') and the center position c2' (cx2', cy2') are shown.
- the center position c1' (cx1', cy1') corresponds to an example of a third reference position
- the center position c2' (cx2', cy2') corresponds to an example of a fourth reference position.
- the direction of movement of the center position c1 (cx1, cy1) and the direction of movement of the center position c2 (cx2, cy2) are opposite.
- the moving direction of the center position c1 (cx1, cy1) and the moving direction of the center position c2 (cx2, cy2) need not be opposite.
- the movement distance of center position c1 (cx1, cy1) and the movement distance of center position c2 (cx2, cy2) are the same.
- the moving distance of the center position c1 (cx1, cy1) and the moving distance of the center position c2 (cx2, cy2) may not be the same.
- the CNN learning unit 118 updates the relative position P1 (Px1, Py1) in accordance with the moving process of moving the center position c1 (cx1, cy1) and the center position c2 (cx2, cy2) away from each other. More specifically, the CNN learning unit 118 subtracts the movement vector (cx1′-cx1, cy1′-cy1) of the center position c1 (cx1, cy1) from the relative position P1 (Px1, Py1), so that the updated Obtain P1'(Px1+cx1-cx1', Py1+cy1-cy1'). Note that the updated relative position P1' corresponds to an example of the third relative position.
- the CNN learning unit 118 updates the relative position P2 (Px2, Py2) in accordance with the moving process of moving the center position c1 (cx1, cy1) and the center position c2 (cx2, cy2) away from each other. More specifically, the CNN learning unit 118 subtracts the movement vector (cx2′-cx2, cx2′-cx2) of the center position c2 (cx2, cy2) from the relative position P2 (Px2, Py2), so that the updated We obtain P2'(Px2+cx2-cx2', Py2+cy2-cy2'). Note that the updated relative position P2' corresponds to an example of a fourth relative position.
- both the center position c1 (cx1, cy1) and the center position c2 (cx2, cy2) move.
- the center position c1 (cx1, cy1) moves and the center position c2 (cx2, cy2) does not move.
- the center position c1' (cx1', cy1') after the movement corresponds to an example of the third reference position
- the center position c2 (cx2, cy2) corresponds to an example of the fourth reference position. .
- the center position c2 (cx2, cy2) may move and the center position c1 (cx1, cy1) may not move.
- the center position c1 (cx1, cy1) corresponds to an example of a third reference position
- the center position c2' (cx2', cy2') after movement corresponds to an example of a fourth reference position.
- the second embodiment of the present disclosure is also applied when only one of center position c1 (cx1, cy1) and center position c2 (cx2, cy2) moves.
- FIG. 21 is a diagram schematically showing the process of moving the center positions of two human bodies away from each other.
- the illustration of the two human bodies in image G51 is omitted, but rectangular regions R1 and R2 surrounding the two human bodies are shown.
- a first human body center position C1 and a second human body center position C2 are shown.
- the center position C1 and the center position C2 move in the directions indicated by the arrows.
- FIG. 22 is a diagram schematically showing the process of moving the center positions of four human bodies away from each other.
- the illustration of the four human bodies in image G61 is omitted, but the center positions C1 to C4 of the four human bodies are shown.
- the center positions C1 to C4 move in the directions indicated by the arrows. Note that the number of center positions for which the process of moving away is performed is not limited as long as it is plural.
- the CNN learning unit 118 performs learning processing based on the image acquired from the learning DB and the label after change.
- a specific method of learning processing is not limited.
- the CNN learning unit 118 outputs the center position C n of the human body and the relative position ( x n k , y n k ) and the corresponding labels, and by back propagating the weighted sum of the calculated errors (using the error backpropagation method), the weights of the CNN to update.
- stochastic gradient descent SGD
- the weight update technique is not limited to SGD.
- the weights are updated based on the images and labels newly acquired from the learning DB. Then, when the weights have been updated a predetermined number of times, the learning process is terminated.
- the predetermined number of times is not limited.
- FIG. 23 is a flowchart illustrating an example flow of a learning stage according to the second embodiment of the present disclosure. Note that the flowchart shown in FIG. 23 merely shows an example of the flow of the learning stage according to the second embodiment of the present disclosure. Therefore, the learning phase flow according to the second embodiment of the present disclosure is not limited to the example shown in the flowchart of FIG. Here, in order to simplify the explanation, it is assumed that there is one image and one part.
- the CNN learning unit 118 acquires images and labels from the learning DB (S201). Then, the CNN learning unit 118 calculates the central positions c of all the human bodies in the image, and stores the central positions c as new central positions c' (S202).
- the CNN learning unit 118 determines whether there is a combination in which the distance between the center positions c is smaller than the threshold (S203). If there is a combination in which the distance between the center positions c is smaller than the threshold value ("YES" in S203), the CNN learning unit 118 performs movement processing to move the center positions c of the combination away from each other to obtain a new center position c. ' is calculated (S204). Then, the operation is shifted to S203. On the other hand, if there is no combination in which the distance between the center positions c is smaller than the threshold ("NO" in S203), the CNN learning unit 118 uses the center position c' as a reference for all the human bodies in the image. A relative position (x', y') of the parts is calculated (S205).
- the CNN learning unit 118 performs learning processing based on the image, the center position c' of the human body for all the members in the image, and the relative position (x', y') of the parts.
- a learning result CNN is generated by the learning process and stored in the storage unit 140 .
- FIG. 24 a specific example of processing for moving the center positions of a plurality of human bodies away from each other will be described.
- a specific example is an example using a spring model and a model using the Coulomb force.
- the Coulomb force corresponds to the repulsive force acting between the central positions.
- the repulsive force contributes to prevent the center positions from being too close to each other.
- the spring model corresponds to the force of attraction between the original center position and the recalculated center position. Attractive forces help prevent the center position from being too far from the original position.
- FIG. 24 is a flowchart showing a specific example of processing for moving the center positions of a plurality of human bodies away from each other.
- energy, force, d, and dc are variables that can store values.
- dist is a function for calculating the distance between two points.
- END_ENERGY is a constant.
- the CNN learning unit 118 saves the original center position (S221). That is, the CNN learning unit 118 stores the center position c 0 in C 0 , . . . and the center position c N ⁇ 1 in C N ⁇ 1 . The CNN learning unit 118 repeats the subsequent processes when energy is greater than END_ENERGY (S223).
- CNN learning unit 118 calculates the distance dist ( cn , cm ) between cn and cm and substitutes it for d ( S233).
- the CNN learning unit 118 calculates the distance dist (c n , C n ) between c n and C n and substitutes it for dc (S241).
- the CNN learning unit 118 subtracts the attractive force according to dc from force (S243).
- the CNN learning unit 118 updates the center position cn based on force (S245).
- the CNN learning unit 118 updates energy based on the updated center position cn ( S246 ).
- CNN recognition processing unit 112 The CNN recognition processing unit 112 functions as an acquisition unit that acquires the recognition image (second image data) and the learning result CNN in the recognition stage.
- the CNN recognition processing unit 112 acquires an image detected by the sensor unit 130 as a recognition image.
- the CNN recognition processing unit 112 may acquire recognition images from other locations.
- the learning result CNN can be obtained from the storage unit 140 .
- the learning result CNN is transmitted from the learning device and sent to the communication unit of the inference device.
- the learning result CNN received by 150 may be obtained.
- the CNN recognition processing unit 112 performs recognition processing based on the recognition image and the learning result CNN. More specifically, the CNN recognition processing unit 112 determines the center position Cn ( fifth reference position) of the human body (second subject) captured in the recognition image, and the relative position of the part k with reference to the center position Cn. It functions as an inference unit that obtains ( x nk , y nk ) ( fifth relative position).
- a specific method of recognition processing is not limited.
- the CNN recognition processing unit 112 uses the center position C n of the human body and the center position C n of the human body, which are output from the learning result CNN based on the recognition image input to the learning result CNN, as a reference. Obtain the relative position (x nk , y nk ) of the part k that has been processed .
- the post-processing unit 114 performs each combination of the human body n and the part k based on the central position C n of the human body and the relative position (x nk , y nk ) of the part k with respect to the central position C n of the human body. Calculate the part position corresponding to . More specifically, the post-processing unit 114 adds the center position C of the human body and the relative position (x, y) of the parts with respect to the center position C of the human body for each combination of the human body n and the part k. calculates the part position corresponding to each combination of human body n and part k.
- the output unit 116 performs processing according to each part position calculated by the post-processing unit 114 .
- the output unit 116 may control display by the presentation unit 160 of each part position.
- the output unit 116 may determine whether or not the positions of the human body parts calculated by the post-processing unit 114 exceed a predetermined line in the recognition image in a predetermined direction. As an example, the output unit 116 may determine whether or not the positions of the human body parts calculated by the post-processing unit 114 cross the offside line in the goal direction. Alternatively, the output unit 116 may count the number of center positions of each of the plurality of human bodies calculated by the post-processing unit 114 .
- FIG. 25 is a flow chart illustrating an example flow of the recognition stage according to the second embodiment of the present disclosure. It should be noted that the flowchart shown in FIG. 25 merely shows an example of the flow of the recognition stage according to the second embodiment of the present disclosure. Therefore, the flow of recognition stages according to the first embodiment of the present disclosure is not limited to the example shown in the flow chart of FIG. In order to simplify the explanation, it is assumed here that there is one image and the number of people in the image is one.
- the CNN recognition processing unit 112 inputs the image detected by the sensor unit 130 to the learning result CNN (S211). Then, the CNN recognition processing unit 112 outputs the center position C of the human body and the part k based on the center position C of the human body, which is output from the learning result CNN based on the input of the image to the learning result CNN. Get the relative position (x k , y k ).
- the post-processing unit 114 calculates the position of the part k by adding the center position C of the human body and the relative position (x, y) of the part with reference to the center position C of the human body. Thereby, the post-processing unit 114 acquires the position of the part k.
- the output unit 116 may control display by the presentation unit 160 of the part positions.
- FIG. 26 is a diagram for explaining an example in which estimated parts positions are applied to a sports scene.
- an image G70 in which a soccer scene is captured as an example of sports.
- a goal is set in the direction indicated as "goal direction”.
- the human body B11 is that of a defensive player closest to the goal.
- the human body B12 is the human body of the player closest to the goal among the offensive players.
- the estimated parts positions are used for offside determination.
- FIG. 27 is a diagram for explaining the offside line.
- the center position C1 of the body B11 (FIG. 26) of the player closest to the goal among the defensive players and a rectangular area R71 surrounding the body B11 are shown.
- the line A on the goal side of the rectangular area R71 is the offside line.
- a line B on the goal side of the rectangular area R72 is also shown.
- “goal direction” is defined as "+ direction”.
- FIG. 28 is a flow chart showing an example in which estimated part positions are applied to offside determination.
- the CNN recognition processing unit 112 inputs the image detected by the sensor unit 130 to the learning result CNN (S261). Then, the CNN recognition processing unit 112 outputs the center position C n of the human body and the parts based on the center position C n of the human body, which are output from the learning result CNN based on the input of the image to the learning result CNN. Get the relative position of k (x n k , y n k ).
- the post-processing unit 114 adds the center position C n of the human body and the relative position (x nk , y nk ) of the part k with reference to the center position C n of the human body to obtain all parts of each person. Calculate the position of k (S262). Thereby, the post-processing unit 114 acquires the positions of all parts of each person (K parts of each of N persons).
- the output unit 116 determines each person's team based on the color of each person's body reflected in the image (S263).
- the output unit 116 calculates the coordinate A (offside line) in the + direction of the part position A closest to the goal among the players on the defense side (S264). Subsequently, the output unit 116 calculates the coordinate B (hereinafter also referred to as the "offense side leading line") in the + direction of the position of the part closest to the goal among the offense side players (S265). The output unit 116 determines whether the coordinate B exceeds the coordinate A (offside line) in the + direction (S266).
- the output unit 116 determines that it is not offside (S267). ). On the other hand, when it is determined that the coordinate B (offense side leading line) exceeds the coordinate A (offside line) in the + direction (“YES” in S266), the output unit 116 determines that the player is offside. (S268). The output unit 116 then controls the communication unit 150 to transmit an alert to the terminal of the referee (S269).
- the output unit 116 may determine whether or not the position of the human body part calculated by the post-processing unit 114 exceeds a line other than the offside line in the recognition image in a predetermined direction. For example, the output unit 116 may recognize a line appearing in the recognition image and determine whether or not the position of a part of the human body protrudes from the line (for example, the line protrudes in soccer or basketball).
- FIG. 29 is a diagram for explaining an example in which estimated parts positions are applied to a street scene.
- an image G80 of a street scene is shown.
- a plurality of people overlapping each other are shown in regions R81 and R82 of the image G80.
- the output unit 116 may count the number of central positions of each of the plurality of human bodies (that is, the number of persons) calculated by the post-processing unit 114 .
- the center positions can be determined with high accuracy. number is considered to be counted.
- the part position can be easily obtained based on the addition of the center position and the relative position of the part with respect to the center position. The required computational cost is reduced.
- FIG. 30 is a flow chart illustrating an example flow of the learning stage when combining the first embodiment of the present disclosure with the second embodiment of the present disclosure. Here, for the sake of simplicity of explanation, it is assumed that there is one image.
- the CNN learning unit 118 acquires the input image I from the learning DB and acquires the label (S300).
- the CNN learning unit 118 stores the center position c as a new center position c' (S301).
- the CNN learning unit 118 determines whether there is a case where distance (c n , cm ) ⁇ TH′ for a combination c n , cm of center positions in the same image (S302). If there is a case where distance (c n , cm ) ⁇ TH′ (“YES” in S302), CNN learning unit 118 moves the center position so that c n and cm move away from each other, and the new center position Calculate c'n and c'm (S303). Then, the operation is shifted to S302.
- the CNN learning unit 118 shifts the operation to S304.
- the CNN learning unit 118 calculates the relative position ( x'n k , y'n k ) and the presence/absence information v'n k of the part k based on the new C n (S304).
- the CNN learning unit 118 calculates an image I' by shifting the image position and the label position of the image I and concealing the partial area (S305). Then, the CNN learning unit 118 calculates c ''n and v ''n k based on the shift processing and the concealment processing (S306). The CNN learning unit 118 obtains the image I′ after the shift processing and the concealment processing, and x′n k , y′n k , c ′′n , and v ′′ n k , which are the labels after the change. Learning processing is performed based on (S307). A learning result CNN is generated by the learning process and stored in the storage unit 140 .
- FIG. 31 is a flow chart illustrating an example flow of recognition stages for the combination of the first embodiment of the present disclosure and the second embodiment of the present disclosure. Here, for the sake of simplicity of explanation, it is assumed that there is one image.
- the CNN recognition processing unit 112 inputs the image detected by the sensor unit 130 to the learning result CNN (S321). Then, the CNN recognition processing unit 112 acquires the center position Cn of the human body output from the learning result CNN based on the input of the image to the learning result CNN (S322).
- the post-processing unit 114 recognizes the relative position ( x nk , y nk ) and the existence probability e nk of the part linked to the center position C n ( S324).
- the post-processing unit 114 calculates the position of the part k by adding the center position C of the human body and the relative position (x, y) of the part with reference to the center position C of the human body.
- the post-processing unit 114 compares the existence probability e of the part k with a predetermined threshold TH (S325).
- the output unit 116 When the existence probability e of the part k is equal to or less than the threshold TH ("NO" in S325), the output unit 116 outputs information indicating the position of the part k to the presentation unit 160, and also outputs the information indicating the position of the part k. It is output to the presentation unit 160 that the part is missing (S327).
- the presentation unit 160 presents information indicating the position of the part k under the control of the output unit 116 and presents that the part k is an invisible part. After that, the operation moves to the end of the repetition process for each person (S328).
- the output unit 116 outputs information indicating the position of the part k to the presentation unit 160 (S326).
- the presentation unit 160 presents information indicating the position of the part k under the control of the output unit 116 . After that, the operation moves to the end of the repetition process for each person (S328).
- FIG. 32 is a block diagram showing a hardware configuration example of the information processing system 10 according to the embodiment of the present disclosure. Note that the information processing system 10 does not necessarily have all of the hardware configuration shown in FIG. 32, and part of the hardware configuration shown in FIG. It doesn't have to be.
- the information processing system 10 includes a CPU (Central Processing Unit) 901 , ROM (Read Only Memory) 903 , and RAM (Random Access Memory) 905 .
- the information processing system 10 may also include a host bus 907 , a bridge 909 , an external bus 911 , an interface 913 , an input device 915 , an output device 917 , a storage device 919 , a drive 921 , a connection port 923 and a communication device 925 .
- the information processing system 10 may include an imaging device 933 and a sensor 935, if desired.
- the information processing system 10 may have a processing circuit called GPU (Graphics Processing Unit), DSP (Digital Signal Processor) or ASIC (Application Specific Integrated Circuit) instead of or together with the CPU 901 .
- GPU Graphics Processing Unit
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- the CPU 901 functions as an arithmetic processing device and a control device, and controls all or part of the operations in the information processing system 10 according to various programs recorded in the ROM 903, RAM 905, storage device 919, or removable recording medium 927.
- a ROM 903 stores programs and calculation parameters used by the CPU 901 .
- a RAM 905 temporarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like.
- the CPU 901, ROM 903, and RAM 905 are interconnected by a host bus 907 configured by an internal bus such as a CPU bus. Furthermore, the host bus 907 is connected via a bridge 909 to an external bus 911 such as a PCI (Peripheral Component Interconnect/Interface) bus.
- PCI Peripheral Component Interconnect/Interface
- the input device 915 is, for example, a device operated by the user, such as a button.
- the input device 915 may include a mouse, keyboard, touch panel, switches, levers, and the like.
- Input device 915 may also include a microphone to detect the user's voice.
- the input device 915 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device 929 such as a mobile phone corresponding to the operation of the information processing system 10 .
- the input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs the signal to the CPU 901 .
- a user inputs various data to the information processing system 10 and instructs processing operations by operating the input device 915 .
- An imaging device 933 which will be described later, can also function as an input device by imaging the movement of the user's hand, the user's finger, and the like. At this time, the pointing position may be determined according to the movement of the hand or the direction of the finger.
- the output device 917 is configured by a device capable of visually or audibly notifying the user of the acquired information.
- the output device 917 can be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display, or a sound output device such as a speaker or headphones.
- the output device 917 may include a PDP (Plasma Display Panel), a projector, a hologram, a printer device, and the like.
- the output device 917 outputs the result obtained by the processing of the information processing system 10 as video such as text or image, or as sound such as voice or sound.
- the output device 917 may also include lights or the like to brighten the surroundings.
- the storage device 919 is a data storage device configured as an example of the storage unit of the information processing system 10 .
- the storage device 919 is composed of, for example, a magnetic storage device such as a HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
- the storage device 919 stores programs executed by the CPU 901, various data, and various data acquired from the outside.
- the drive 921 is a reader/writer for a removable recording medium 927 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and is built in or externally attached to the information processing system 10 .
- the drive 921 reads information recorded on the attached removable recording medium 927 and outputs it to the RAM 905 .
- the drive 921 writes records to the attached removable recording medium 927 .
- a connection port 923 is a port for directly connecting a device to the information processing system 10 .
- the connection port 923 can be, for example, a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface) port, or the like.
- the connection port 923 may be an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, or the like.
- the communication device 925 is, for example, a communication interface configured with a communication device for connecting to the network 931.
- the communication device 925 can be, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
- the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various types of communication.
- the communication device 925 for example, transmits and receives signals to and from the Internet and other communication devices using a predetermined protocol such as TCP/IP.
- a network 931 connected to the communication device 925 is a wired or wireless network, such as the Internet, home LAN, infrared communication, radio wave communication, or satellite communication.
- the imaging device 933 uses, for example, an imaging element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor), and various members such as a lens for controlling the formation of an object image on the imaging element. It is a device that captures a real space and generates a captured image. The imaging device 933 may capture a still image, or may capture a moving image.
- an imaging element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor)
- various members such as a lens for controlling the formation of an object image on the imaging element. It is a device that captures a real space and generates a captured image.
- the imaging device 933 may capture a still image, or may capture a moving image.
- the sensor 935 is, for example, various sensors such as a ranging sensor, an acceleration sensor, a gyro sensor, a geomagnetic sensor, a vibration sensor, an optical sensor, and a sound sensor.
- the sensor 935 acquires information about the state of the information processing system 10 itself, such as the orientation of the housing of the information processing system 10, and information about the surrounding environment of the information processing system 10, such as brightness and noise around the information processing system 10. do.
- Sensor 935 may also include a GPS sensor that receives GPS (Global Positioning System) signals to measure the latitude, longitude and altitude of the device.
- GPS Global Positioning System
- first image data a position of a predetermined area of a first subject appearing in the first image data, and whether or not the predetermined area of the first subject exists in the first image data an acquisition unit that acquires a trained model obtained based on presence/absence information indicating and second image data; Based on the learned model and the second image data, the position of the predetermined area of the second subject appearing in the second image data and the position of the second subject in the second image data an inference unit that obtains the existence probability of a given region;
- a reasoning device comprising: (2)
- the inference device includes an output unit that performs control according to the position of the predetermined region of the second subject and the existence probability.
- the output unit controls presentation of information according to the position of the predetermined area of the second subject and the existence probability.
- the output unit controls presentation of information indicating the position of the predetermined area of the second subject when the existence probability is greater than a threshold.
- the output unit controls presentation of information indicating the position of the predetermined area of the second subject when the existence probability is equal to or less than the threshold, and controls presentation of information indicating the position of the predetermined area of the second subject. controlling the presentation of absences in the image data of 2;
- (6) The output unit controls presentation of an operation object for changing the threshold.
- the output unit controls presentation of information indicating the position of the predetermined area of the second subject, and controls presentation of information indicating the existence probability.
- the output unit controls a predetermined function based on the position of the predetermined region of the second subject and the existence probability.
- the output unit controls autofocus as the predetermined function,
- the output unit acquires a depth value up to a subject in a predetermined area of the second subject, and controls the autofocus based on the depth value.
- the inference device according to (9) above.
- the acquisition unit obtains third image data obtained by subjecting the first image data to predetermined processing, and a position of a predetermined region of the first subject appearing in the third image data. and obtaining a trained model obtained based on presence/absence information indicating whether or not the predetermined region of the first subject exists in the third image data, and the second image data.
- the inference unit determines the position of the predetermined area of the second subject appearing in the second image data and the obtaining the existence probability of a predetermined region of the second subject;
- the reasoning device according to any one of (1) to (10) above.
- the predetermined process includes a process of moving a plurality of pixel data constituting the first image data, The reasoning device according to any one of (1) to (11) above. (13) The predetermined process includes a process of replacing a partial area of the first image data with predetermined image data. The reasoning device according to any one of (1) to (12) above. (14) The position of the predetermined area of the first subject is divided into a reference position of the first subject and a relative position of the predetermined area of the first subject based on the reference position of the first subject. and The position of the predetermined area of the second subject is divided into a reference position of the second subject and a relative position of the predetermined area of the second subject based on the reference position of the second subject.
- first image data a position of a predetermined area of a first subject appearing in the first image data, and whether or not the predetermined area of the first subject exists in the first image data
- Acquiring a trained model obtained based on presence/absence information indicating and second image data Based on the learned model and the second image data, the position of the predetermined area of the second subject appearing in the second image data and the position of the second subject in the second image data obtaining the existence probability of a given region
- An inference method comprising: (16) the computer, first image data, a position of a predetermined area of a first subject appearing in the first image data, and whether or not the predetermined area of the first subject exists in the first image data an acquisition unit that acquires a trained model obtained based on the presence/absence information indicating the and the second image data; Based on the learned model and the second image data, the position of the predetermined area of the second subject appearing in the second image data and the position of the second subject in the
- control unit 120 operation unit 130 sensor unit 140 storage unit 150 communication unit 160 presentation unit 112 CNN recognition processing unit 114 post-processing unit 116 output unit 118 CNN learning unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
【課題】被写体の所定の領域の位置を推定するとともに、当該所定の領域が画像に写っている可能性を推定することが可能な技術が提供されることが望まれる。 【解決手段】第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、を備える、推論装置が提供される。
Description
本開示は、推論装置、推論方法およびプログラムに関する。
近年、画像に写る被写体の位置を推定する技術が知られている。例えば、被写体の中心の値を示すヒートマップを学習処理に導入する技術が開示されている(例えば、非特許文献1参照)。かかる技術によれば、学習処理の結果と画像とに基づいて、画像に写る被写体の中心位置が推定される。また、被写体の中心位置から回帰することに基づいて、被写体の中心位置を基準とした被写体の所定の領域の相対位置が推定される。
その他には、画像に写る被写体を囲う矩形領域(バウンディングボックス)の中心位置とその矩形領域内に存在する点との距離を数値化したインデックス(以下、「センターネス」とも言う。)を学習処理に導入する技術が開示されている(例えば、非特許文献2参照)。かかる技術によれば、センターネスが導入された学習処理の結果に基づいて、被写体の中心位置が推定され得る。
Xingyi Zhou、他2名、"Object as Points"、[online]、arXiv1904.07850、インターネット〈HTTPS://arxiv.org/PDF/1904.07850.PDF〉
Zhi Tian、他3名、"FCOS:Fully Convolutional One-Stage Object Detection"、[online]、ICCV2019、インターネット〈HTTPS://arxiv.org/PDF/1904.01355.PDF〉
しかし、画像に基づいて被写体の所定の領域の位置が推定されたとしても、被写体の所定の領域が必ずしも画像に写っているとは限らない。
そこで、被写体の所定の領域の位置を推定するとともに、当該所定の領域が画像に写っている可能性を推定することが可能な技術が提供されることが望まれる。
本開示によれば、第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、を備える、推論装置が提供される。
本開示によれば、第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得することと、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得ることと、を備える、推論方法が提供される。
本開示によれば、コンピュータを、第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、を備える推論装置として機能させるプログラムが提供される。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
なお、説明は以下の順序で行うものとする。
0.情報処理システムの機能構成例
1.第1の実施形態
1.1.背景
1.2.概要
1.3.学習段階の詳細
1.4.認識段階の詳細
1.5.オートフォーカスの制御
1.6.第1の実施形態の効果
1.7.第1の実施形態の変形例
2.第2の実施形態
2.1.背景
2.2.学習段階の詳細
2.3.認識段階の詳細
2.4.適用例
2.5.第2の実施形態の効果
3.実施形態の組み合わせ
4.ハードウェア構成例
5.むすび
0.情報処理システムの機能構成例
1.第1の実施形態
1.1.背景
1.2.概要
1.3.学習段階の詳細
1.4.認識段階の詳細
1.5.オートフォーカスの制御
1.6.第1の実施形態の効果
1.7.第1の実施形態の変形例
2.第2の実施形態
2.1.背景
2.2.学習段階の詳細
2.3.認識段階の詳細
2.4.適用例
2.5.第2の実施形態の効果
3.実施形態の組み合わせ
4.ハードウェア構成例
5.むすび
<0.情報処理システムの機能構成例>
まず、本開示の実施形態に係る情報処理システムの機能構成例について説明する。
まず、本開示の実施形態に係る情報処理システムの機能構成例について説明する。
図1は、本開示の実施形態に係る情報処理システムの機能構成例を示す図である。図1に示したように、情報処理システム10は、制御部110、操作部120、センサ部130、記憶部140、通信部150および提示部160を有している。情報処理システム10は、コンピュータによって実現され得る。なお、図1に示された情報処理システム10の機能構成例は、後に説明する、本開示の第1の実施形態および本開示の第2の実施形態それぞれに適用され得る。
制御部110は、情報処理システム10の各部の制御を実行する。制御部110は、例えば、1または複数のCPU(Central Processing Unit;中央演算処理装置)などによって構成されていてよいし、1または複数のGPU(Graphics Processing Unit)などによって構成されてもよい。制御部110がCPUまたはGPUなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部110は、かかる処理装置によってプログラムが実行されることによって実現され得る。
制御部110は、CNN認識処理部112、後処理部114、出力部116およびCNN学習部118を有している。これらのブロックの詳細は後に説明する。
操作部120は、ユーザによる操作の入力を受け付ける機能を有する。本開示の実施形態においては、操作部120がマウスおよびキーボードを含む場合を主に想定する。しかし、操作部120は、マウスおよびキーボードを含む場合に限定されない。例えば、操作部120は、タッチパネルを含んでもよいし、タッチパッドを含んでもよいし、スイッチを含んでもよいし、レバーを含んでもよいし、ボタンを含んでもよい。また、操作部120は、ユーザの音声を検出するマイクロフォンを含んでもよいし、ユーザの視線を検出するイメージセンサを含んでもよい。
なお、本開示の実施形態では、操作部120が、制御部110と同一のマシンに存在する場合を主に想定する。しかし、操作部120は、制御部110と別のマシンに存在してもよい。このとき、操作部120によって受け付けられた操作は、ネットワークを介して制御部110に提供されてもよい。
センサ部130は、画像センサを含んで構成され、画像センサによって認識用の画像データを検出する。以下では、画像データを単に「画像」とも言う。ここで、画像センサの種類は限定されない。本開示の実施形態では、画像センサがRGB画像を検出するRGB画像センサを含む場合を主に想定するが、画像センサは、デプス画像を検出するデプスセンサを含んでもよいし、IR(Infrared)画像を検出するIRセンサを含んでもよい。センサ部130によって検出された認識用画像は、制御部110に提供され、学習済みのモデルによる認識処理に利用される。
なお、本開示の実施形態では、センサ部130が、制御部110と同一のマシンに存在する場合を主に想定する。しかし、センサ部130は、制御部110と別のマシンに存在してもよい。このとき、センサ部130によって検出された画像は、ネットワークを介して制御部110に提供されてもよい。
また、モデルの種類は特に限定されない。本開示の実施形態では、モデルとして、ニューラルネットワークが用いられる場合を主に想定する。さらに、本開示の実施形態では、モデルとして、CNNが用いられる場合を主に想定する。このとき、CNNを構成する複数のニューロンそれぞれの重みが学習処理によって更新されることによってCNNの学習が行われる。しかし、ニューラルネットワークの種類は、CNNに限定されない。以下では、学習済みのCNNを、「学習結果CNN」とも言う。
記憶部140は、メモリを含んで構成され、制御部110によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。一例として、記憶部140は、学習用データベース(以下、「学習用DB」とも言う。)および学習結果CNNを記憶する。また、記憶部140は、制御部110による演算のためにデータを一時的に記憶する。記憶部140は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
通信部150は、通信回路を含んで構成され、ネットワークに接続された他の装置との間で、ネットワークを介して通信を行う機能を有する。
提示部160は、ユーザに対して情報を出力する機能を有する。提示部160の種類は限定されない。例えば、提示部160は、ユーザに視認可能な表示を行うことが可能なディスプレイを含んでよく、ディスプレイは、液晶ディスプレイであってもよいし、有機EL(Electro-Luminescence)ディスプレイであってもよいし、他のディスプレイであってもよい。あるいは、提示部160は、ユーザに触覚を提示する触覚提示装置を含んでもよいし、ユーザに音を提示するスピーカを含んでもよい。
例えば、CNN学習部118および学習用DBは、学習装置に備えられ、CNN認識処理部112、後処理部114および出力部116は、推論装置に備えられる。本開示の実施形態では、学習装置と推論装置とが同一のコンピュータによって実現される場合を想定するが、学習装置と推論装置とは別のコンピュータによって実現されてもよい。このとき、学習結果CNNは、学習装置から送信されて推論装置の通信部150によって受信されてもよい。
以上、本開示の実施形態に係る情報処理システム10の機能構成例について説明した。
<1.第1の実施形態>
続いて、本開示の第1の実施形態について説明する。
続いて、本開示の第1の実施形態について説明する。
[1.1.背景]
近年、画像に写る被写体の位置を推定する技術が知られている。例えば、被写体の中心の値を示すヒートマップを学習処理に導入する技術(以下、「開示技術1」とも言う。)が開示されている。かかる開示技術1によれば、学習処理の結果と画像とに基づいて、画像に写る被写体の中心位置が推定される。また、開示技術1によれば、被写体の中心位置から回帰することに基づいて、被写体の中心位置を基準とした被写体の所定の領域の相対位置が推定される。
近年、画像に写る被写体の位置を推定する技術が知られている。例えば、被写体の中心の値を示すヒートマップを学習処理に導入する技術(以下、「開示技術1」とも言う。)が開示されている。かかる開示技術1によれば、学習処理の結果と画像とに基づいて、画像に写る被写体の中心位置が推定される。また、開示技術1によれば、被写体の中心位置から回帰することに基づいて、被写体の中心位置を基準とした被写体の所定の領域の相対位置が推定される。
以下の説明では、画像に写る被写体として、人体を例に挙げて説明する。しかし、画像に写る被写体は、人体に限定されない。例えば、画像に写る被写体は、剛体(例えば、車および家具など)であってもよいし、非剛体(例えば、動物および植物など)であってもよい。また、以下の説明では、被写体の所定の領域として、人体のパーツ(部位)を例に挙げて説明する。人体のパーツの例としては、目、首、肩、肘、手首などが挙げられる。しかし、被写体の所定の領域は、被写体の一部の領域であれば限定されない。
図2~図6を参照しながら、開示技術1について説明する。図2は、開示技術1によって推定される位置の例を示す図である。図2に示されるように、開示技術1においては、認識用画像がCNNに入力されたことに基づいて、人体の中心の値を示すヒートマップ(以下、「人体中心ヒートマップ」とも言う。)がCNNから出力され、人体中心ヒートマップに基づいて、人体の中心位置Cが推定される。さらに、人体の中心位置Cから回帰することに基づいて、人体の中心位置Cを基準としたパーツの相対位置Pkが推定される。また、パーツ位置の値を示すヒートマップ(以下、「パーツ位置ヒートマップ」とも言う。)に基づいて、パーツ位置が推定される。
図3は、人体中心ヒートマップの例を示す図である。図3に示されたように、開示技術1によれば、認識用画像がCNNに入力されたことに基づいて、人体中心ヒートマップG91がCNNから出力される。開示技術1によれば、人体中心ヒートマップG91に基づいて、人体の中心位置Cが推定される。より詳細に、開示技術1によれば、人体中心ヒートマップG91の各点のうち、周囲の8つの点の値以上の値を持つ点が、人体の中心位置Cとして推定される。
図4は、人体の中心位置Cを基準としたパーツの相対位置の例を示す図である。図4に示されたように、開示技術1によれば、人体の中心位置Cから回帰することに基づいて、人体の中心位置Cを基準としたパーツ(図4に示された例では、目、手首、足など)の相対位置が推定される。図5は、パーツ位置ヒートマップから推定されるパーツ位置の例を示す図である。開示技術1によれば、パーツ位置の値を示すヒートマップに基づいて、パーツ位置(図5に示された例では、パーツ位置H1~H5(目、右手首、左手首、右足首、左足首)など)が推定される。
例えば、画像に写る人の数をNとすると、n=0~N-1として、各人体の中心位置はcnと表現され得る。また、パーツの数をPとすると、k=0~K-1として、人体の中心位置cnを基準としたパーツkの相対位置は、xn
kと表現され得る。
図6は、人体の中心位置およびパーツの相対位置それぞれの記録の例を示す図である。図6に示されるように、人体の中心位置c0を基準としたパーツ(k=0)の相対位置x0
0、y0
0は、人体の中心位置c0が記録される位置と対応する位置に記録され、人体の中心位置c1を基準としたパーツ(k=1)の相対位置x1
0、y1
0は、人体の中心位置c1が記録される位置と対応する位置に記録される。
換言すると、人体の中心位置c0が記録された位置が探索され、人体の中心位置c0が記録された位置が見つかると、人体の中心位置c0が記録された位置に対応する位置から、人体の中心位置c0に紐づいたパーツ(k=0)の相対位置x0
0、y0
0が読み出される。同様に、人体の中心位置c1が記録された位置が探索され、人体の中心位置c1が記録された位置が見つかると、人体の中心位置c1が記録された位置に対応する位置から、人体の中心位置c1に紐づいたパーツ(k=1)の相対位置x1
0、y1
0が読み出される。
以上、開示技術1について簡単に説明した。ここで、画像には人体のパーツが必ずしも写っているとは限らない。例えば、人が画像センサに対して背面側を向けているときには、前面側のパーツ(例えば、顔など)が画像には写らなくなってしまう。あるいは、画像センサから見てある人のパーツが障害物などによって遮蔽されているときには、遮蔽されているパーツが画像には写らなくなってしまう。あるいは、一部のパーツを身体に有していない人が撮像される場合(例えば、障害を持つ人が撮像される場合など)には、そのパーツが画像には写らない。
それにも関わらず、開示技術1によれば、人体の中心位置cを基準としたパーツの相対位置(x、y)がパーツ位置として必ず推定される。しかし、開示技術1では、画像にパーツが存在するかを示す情報(以下、「存否情報」とも言う。)が得られない。そして、パーツの存否情報が得られないことによって、様々な不都合が生じ得る。例えば、パーツが画像に存在しないにも関わらず、推定されたパーツ位置に基づいてAF(オートフォーカス)が行われてしまう場合があり得る。あるいは、パーツが画像に存在しないにも関わらず、推定されたパーツ位置のデプス値が用いられてしまう場合があり得る。
あるいは、画像にパーツが存在するかを判断するために、パーツ位置ヒートマップからパーツ位置が推定されるか否かを用いることも考えられる。しかし、パーツ位置ヒートマップに基づいてパーツ位置が必ずしも精度良く推定されるとは限らない。一例として、右足が障害物に遮蔽され、左足が画像に存在する場合に、左右の足が似ているため、パーツ位置ヒートマップに基づいて左足の位置が右足の位置として推定されてしまう可能性がある。そのため、画像にパーツが存在するかが精度良く判断されない。
そこで、本開示の第1の実施形態においては、人体のパーツ位置を推定するとともに、当該パーツが画像に写っている可能性を推定することが可能な技術について主に提案する。
以上、本開示の第1の実施形態の背景について説明した。
[1.2.概要]
続いて、図7を参照しながら、本開示の第1の実施形態に係る情報処理システム10の概要について説明する。図7は、本開示の第1の実施形態に係る情報処理システム10の概要について説明するための図である。図7に示されるように、本開示の第1の実施形態においても、認識用画像がCNNに入力されたことに基づいて、CNNから人体の中心位置C、および、人体の中心位置Cを基準としたパーツの相対位置Pkが出力される。
続いて、図7を参照しながら、本開示の第1の実施形態に係る情報処理システム10の概要について説明する。図7は、本開示の第1の実施形態に係る情報処理システム10の概要について説明するための図である。図7に示されるように、本開示の第1の実施形態においても、認識用画像がCNNに入力されたことに基づいて、CNNから人体の中心位置C、および、人体の中心位置Cを基準としたパーツの相対位置Pkが出力される。
なお、人体の中心位置Cは、人体の「基準位置」の例に該当する。したがって、人体の任意の位置が人体の中心位置Cとして扱われてよい。また、本開示の第1の実施形態においては、認識用画像がCNNに入力されたことに基づいて、パーツが画像に存在する可能性を示す情報(以下、「存在確率」とも言う。)enが出力される。存在確率enは、n人に対応するK個のパーツごとに出力される。
なお、本開示の第1の実施形態においては、CNNに入力されるパーツ位置、および、CNNから出力されるパーツ位置それぞれが、人体の中心位置Cとパーツの相対位置Pkとに分離されている場合を主に想定する。しかし、後にも説明するように、CNNに入力されるパーツ位置、および、CNNから出力されるパーツ位置それぞれは、人体の中心位置Cとパーツの相対位置Pkとに分離されていなくてもよい。すなわち、パーツの絶対位置がCNNに直接入力されてもよく、パーツの絶対位置がCNNから直接出力されてもよい。
以上、本開示の第1の実施形態の概要について説明した。
[1.3.学習段階の詳細]
続いて、図8~図12を参照しながら、本開示の第1の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明する。
続いて、図8~図12を参照しながら、本開示の第1の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明する。
(学習用DB)
学習用DBには、入力画像とラベルとが対応付けられて格納されている。入力画像とラベルとは、学習処理に用いられる教師データに該当する。ラベルは、入力画像に写る人体の中心位置Cn(n=0~N-1:ただし、Nは人数)と、人体の中心位置Cnを基準としたパーツk(k=0~K-1:ただし、Kはパーツ数)の相対位置(xn k、yn k)と、パーツkの存否情報vn kとが対応付けられてなる。
学習用DBには、入力画像とラベルとが対応付けられて格納されている。入力画像とラベルとは、学習処理に用いられる教師データに該当する。ラベルは、入力画像に写る人体の中心位置Cn(n=0~N-1:ただし、Nは人数)と、人体の中心位置Cnを基準としたパーツk(k=0~K-1:ただし、Kはパーツ数)の相対位置(xn k、yn k)と、パーツkの存否情報vn kとが対応付けられてなる。
以下では、入力画像にパーツが存在しないことを示す値が0であり、入力画像にパーツが存在することを示す値が1である場合を主に想定する。しかし、入力画像にパーツが存在しないことを示す値は0に限定されず、入力画像にパーツが存在することを示す値は1に限定されない。なお、全部のパーツのラベル(相対位置)が学習用DBに格納されているとは限らない。例えば、入力画像に写っている人の足のパーツが障害物に遮蔽されている場合には、その人の足のパーツのラベル(相対位置)は存在しない。
(CNN学習部118)
CNN学習部118は、学習段階において、学習用DBから入力画像(第1の画像データ)およびラベルを取得する。
CNN学習部118は、学習段階において、学習用DBから入力画像(第1の画像データ)およびラベルを取得する。
図8は、入力画像の例を示す図である。図8を参照すると、入力画像G10が示されている。入力画像G10には、被写体の例として人体B11(第1の被写体)および人体B12が写っている。このとき、CNN学習部118は、入力画像G10に対応するラベルとして、人体B11に対応するラベルを取得する。ここでは、パーツとして、右目を例に挙げて説明するが、パーツは、右目に限定されない。なお、入力画像G10には、人体B12の右目が写っていないため、人体B12に対応するパーツk=0(右目)のラベルが学習用DBから取得されない。
より詳細に、CNN学習部118は、人体B11に対応するラベルとして、人体B11の中心位置C0と、人体の中心位置C0を基準としたパーツk=0(右目)の相対位置(x0
0、y0
0)と、パーツk=0(右目)の存否情報v0
0=1(存在する)とを取得する。一方、CNN学習部118は、人体B12に対応するラベルが存在しないため、人体B12に対応するラベルとして、パーツk=0(右目)の存否情報v1
0=0(存在しない)とする。以下では、人体B11に対応するラベルについて主に説明する。
続いて、CNN学習部118は、入力画像G10に対して所定の処理(以下、「加工処理」とも言う。)を施す。これによって、パーツの位置が入力画像G10に存在しない場合を意図的に生じさせることが可能となるため、パーツが存在しない画像に対する認識精度が向上することが期待される。ここでは、CNN学習部118は、入力画像G10に対して加工処理をランダムに施す場合を主に想定する。しかし、後にも説明するように、CNN学習部118は、あらかじめ定められた規則に基づいて、入力画像G10に対して加工処理を施してもよい(例えば、同一の加工処理を施してもよい)。あるいは、CNN学習部118は、入力画像G10に対して加工処理を施さなくてもよい。
CNN学習部118は、入力画像G10に対して加工処理を施すとともに、加工処理が施された後の画像(第3の画像データ)にパーツが存在するか否かを判定してパーツの存否情報を得る。CNN学習部118は、加工処理が施された後の画像にパーツが存在する場合には、そのパーツの存否情報を1(存在する)のままにする。一方、CNN学習部118は、加工処理が施された後の画像にパーツが存在する場合には、そのパーツの存否情報を0(存在しない)に変更する。
入力画像G10に対する加工処理および存否情報変更が行われる前に、入力画像G10に基づいて学習に用いられる画像(学習用画像)が生成され得る。図9は、学習用画像の例を示す図である。図9を参照すると、学習用画像G20が示されている。CNN学習部118は、入力画像G10を学習用画像G20の枠内に配置することによって、学習用画像G20を生成する。なお、人体B11に対応するラベルとして、人体B11の中心位置C0、右目パーツの相対位置(x0
0、y0
0)と、右目パーツの存否情報v0
0=1(存在する)が示されている。
図10は、加工処理および存否情報更新の第1の例を示す図である。図10を参照すると、入力画像G10が(図9に示された入力画像G10と比較して)移動している。すなわち、加工処理は、入力画像G10を構成する各画素データを移動させる処理(以下、「ずらし処理」とも言う。)を含んでよい。なお、ずらし処理には、このような入力画像G10の平行移動が含まれ得るだけではなく、入力画像G10の拡大または縮小、回転などのアフィン変換処理も含まれ得る。このとき、CNN学習部118は、入力画像G10の移動に応じて(例えば、移動方向および移動距離に合わせて)、ラベルに含まれる、人体B11の中心位置および人体B12の中心位置を変更する。
図10には、例として、人体B11の移動後の中心位置C’0が示されている。ここでは、入力画像G10のずらし処理が、ランダムに行われる場合を想定する。より詳細に、入力画像G10の移動方向および移動距離がランダムに決められる場合を想定する。しかし、入力画像G10の移動方向および移動距離は、あらかじめ定められた規則に基づいて決められてもよい。なお、入力画像G10に対してランダムにずらし処理を行う技術は、一般的にオーグメンテーション(Augmentation)として知られている。入力画像G10に対するずらし処理後の学習用画像G20は、後に説明する学習に用いられ得る。
そして、CNN学習部118は、入力画像G10に対するずらし処理後の学習用画像G20に人体B11の右目パーツが存在するか否かを判定する。図10に示された例では、ずらし処理後の学習用画像G20に人体B11の右目パーツが存在しない。そこで、CNN学習部118は、人体B11の右目パーツの存否情報v0
0=1(存在する)をv’0
00(存在しない)に変更する。なお、図10に示された例では、ずらし処理後の学習用画像G20に人体B12の右目パーツが存在するため、CNN学習部118は、人体B12の右目パーツの存否情報を1(存在する)のままにしてよい。
図11は、加工処理および存否情報更新の第2の例を示す図である。図11を参照すると、入力画像G10の一部の領域が所定の画像(図11に示された例では、各ピクセルに均一な色が付された矩形画像G12)に置換されている。すなわち、加工処理は、入力画像G10の一部の領域を所定の画像に置換して当該一部の領域を隠蔽する処理(以下、「隠蔽処理」とも言う。)を含んでよい。
ここでは、入力画像G10に対する隠蔽処理が、ランダムに行われる場合を想定する。より詳細に、矩形画像G12の色がランダムに決められる場合を想定する。しかし、矩形画像G12の色は、あらかじめ定められた規則に基づいて決められてもよい(例えば、固定色(例えば、灰色など)であってもよい)。
また、矩形画像G12の位置もランダムに決められる場合を想定する。しかし、矩形画像G12の位置は、あらかじめ定められた規則に基づいて決められてもよい。一例として、人体の中心位置C0と中心位置C0を基準とした相対位置(x0
0、y0
0)とによって、パーツ位置が既知である。そのため、そのパーツ位置を含んだ領域の画像が矩形画像G12によって置換されてもよい。これによって意図的にパーツが隠蔽されるため、パーツが隠れることに対して頑健な認識が可能になることが期待される。
なお、入力画像G10に対してランダムに隠蔽処理を行う技術は、一般的にランダムイレーシング(RandomErasing)として知られている。入力画像G10に対する隠蔽処理後の学習用画像G20は、後に説明する学習に用いられ得る。
そして、CNN学習部118は、入力画像G10に対する隠蔽処理後の学習用画像G20に人体B11の右目パーツが存在するか否かを判定する。図11に示された例では、隠蔽処理後の学習用画像G20に人体B11の右目パーツが存在しない。そこで、CNN学習部118は、人体B11の右目パーツの存否情報v0
0=1(存在する)をv’0
0=0(存在しない)に変更する。なお、図11に示された例では、隠蔽処理後の学習用画像G20に人体B12の右目パーツが存在するため、CNN学習部118は、人体B12の右目パーツの存否情報を1(存在する)のままにしてよい。
なお、図11には、入力画像G10の一部の領域が、各ピクセルに均一な色が付された矩形画像G12によって置換される場合が示されている。しかし、入力画像G10の一部の領域を置換する画像は、かかる矩形画像G12に限定されない。例えば、人体の画像によって入力画像G10の一部の領域が置換されてもよい。これによって、人同士の重なりに対して頑健な認識が可能になることが期待される。
以下では、入力画像G10に対して、加工処理の例としてずらし処理および隠蔽処理の双方が施される場合を主に想定する。しかし、入力画像G10に対して、ずらし処理および隠蔽処理のうちの一方のみが施されてもよい。CNN学習部118は、加工処理が施された後の画像と、変更後のラベルとに基づいて、学習処理を行う。ここで、学習処理の具体的な手法は限定されない。
例えば、CNN学習部118は、加工処理が施された後の画像をCNNに入力させたことに基づいてCNNから出力される、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)およびパーツkの存否情報vn
kそれぞれと、対応するラベルとの誤差を算出し、算出した誤差の重み付き和を逆伝播(back propagation)させることによって(誤差逆伝播法を用いて)、CNNの重みを更新する。例えば、重みの更新手法としては、確率的勾配降下法(SGD:Stochastic Gradient Descent)が用いられてよい。しかし、重みの更新手法は、SGDに限定されない。
重みの更新が終わると、学習用DBから新たに取得される画像およびラベルに基づく重みの更新が行われる。そして、所定の回数の重み更新が終わった場合、学習処理が終了される。ここで、所定の回数は限定されない。例えば、所定の回数は、エポック単位(同じ入力画像を繰り返し学習処理に使った回数)で決められてもよいし、イテレーション単位(入力画像を更新した回数)で決められてもよい。あるいは、誤差の重み付き和が所定値以下になった場合に学習処理が終了されてもよい。
(学習段階の流れ)
続いて、図12を参照しながら、本開示の第1の実施形態に係る学習段階の流れの例について説明する。図12は、本開示の第1の実施形態に係る学習段階の流れの例を示すフローチャートである。なお、図12に示したフローチャートは、本開示の第1の実施形態に係る学習段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る学習段階の流れは、図12のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
続いて、図12を参照しながら、本開示の第1の実施形態に係る学習段階の流れの例について説明する。図12は、本開示の第1の実施形態に係る学習段階の流れの例を示すフローチャートである。なお、図12に示したフローチャートは、本開示の第1の実施形態に係る学習段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る学習段階の流れは、図12のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
図12に示されるように、CNN学習部118は、学習用DBから画像およびラベルを取得する。そして、CNN学習部118は、パーツ単位の繰り返し処理(k=0~K-1)を開始する(S101)。CNN学習部118は、画像に対する加工処理の例として、画像位置およびラベル位置のずらし処理と、画像の一部領域に対する隠蔽処理とを実行する(S102)。なお、上記したように、画像に対する加工処理が実行されない場合には、S102が実行されずにS104に動作が移行される。CNN学習部118は、対象のパーツがラベルのないパーツである場合(S104において「YES」)、S103に動作を移行させる。一方、CNN学習部118は、対象のパーツがラベルのあるパーツである場合(S104において「NO」)、S105に動作を移行させる。
S105に動作が移行すると、CNN学習部118は、加工処理が施された後の画像内にパーツ位置が存在するかを判定する(S105)。CNN学習部118は、加工処理が施された後の画像内にパーツ位置が存在しない場合には(S105において「NO」)、S103に動作を移行させる。一方、CNN学習部118は、加工処理が施された後の画像内にパーツ位置が存在する場合には(S105において「YES」)、S106に動作を移行させる
S103に動作が移行すると、CNN学習部118は、パーツの存否情報vに0を設定し(S103)、パーツ単位の繰り返し処理の終端(S107)に進む。一方、S106に動作が移行すると、CNN学習部118は、パーツの存否情報vに1を設定し(S106)、パーツ単位の繰り返し処理の終端(S107)に進む。
S107に動作が移行すると、CNN学習部118は、パーツ単位の繰り返し処理がK回実行されていない場合には、パーツ単位の繰り返し処理の始端(S101)に戻る。一方、CNN学習部118は、パーツ単位の繰り返し処理がK回実行された場合には、加工処理が施された後の画像と、変更後のラベルとに基づいて、学習処理を行う(S108)。学習処理によって学習結果CNNが生成され、記憶部140に記憶される。
以上、本開示の第1の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明した。
[1.4.認識段階の詳細]
続いて、図13~図15を参照しながら、本開示の第1の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明する。
続いて、図13~図15を参照しながら、本開示の第1の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明する。
(CNN認識処理部112)
CNN認識処理部112は、認識段階において認識用画像(第2の画像データ)と学習結果CNNとを取得する取得部として機能する。
CNN認識処理部112は、認識段階において認識用画像(第2の画像データ)と学習結果CNNとを取得する取得部として機能する。
ここで、本開示の第1の実施形態においては、CNN認識処理部112が、センサ部130によって検出された画像を認識用画像として取得する場合を主に想定する。しかし、CNN認識処理部112は、他の場所から認識用画像を取得してもよい。例えば、CNN認識処理部112は、記憶部140にあらかじめ記憶された認識用画像を取得してもよいし、通信部150によって他の装置から受信された認識用画像を取得してもよい。
また、学習結果CNNは、記憶部140から取得され得る。しかし、上記したように、学習装置と推論装置とが別のコンピュータによって実現されている場合などには、学習結果CNNは、学習装置から送信されて推論装置の通信部150によって受信された学習結果CNNが取得されてもよい。
さらに、CNN認識処理部112は、認識用画像と学習結果CNNとに基づいて、認識処理を行う。より詳細に、CNN認識処理部112は、認識用画像に写る人体(第2の被写体)の中心位置Cnと、中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)と、認識用画像におけるそのパーツkの存在確率の存否情報en
kとを得る推論部として機能する。ここで、認識処理の具体的な手法は限定されない。
例えば、CNN認識処理部112は、認識用画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)およびパーツkの存在確率en
kを取得する。
ここで、学習段階においてCNNに入力された存否情報vn
kは、0(存在しない)または1(存在する)の二値であることは上記した通りである。一方、認識段階において得られる存在確率en
kは、存否情報vn
kに対応して学習結果CNNから出力される情報であり、0~1の値を取り得る。存在確率en
kの数値が高いほど、認識用画像にパーツkが存在する可能性が高くなる。
(後処理部114)
後処理部114は、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn k、yn k)とに基づいて、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。より詳細に、後処理部114は、人体nおよびパーツkの各組み合わせについて、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。
後処理部114は、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn k、yn k)とに基づいて、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。より詳細に、後処理部114は、人体nおよびパーツkの各組み合わせについて、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。
また、後処理部114は、パーツkの存在確率en
kとあらかじめ定められた閾値THとを比較する。そして、後処理部114は、パーツkの存在確率en
kと閾値THとの比較結果を出力部116に出力する。後処理部114は、パーツkの存在確率en
kが閾値THより大きい場合には、パーツkの存在確率en
kが閾値THより大きいことを示す情報を出力部116に出力する。一方、後処理部114は、パーツkの存在確率en
kが閾値TH以下である場合には、パーツkの存在確率en
kが閾値TH以下であることを示す情報を出力部116に出力する。
なお、閾値THは、あらかじめ定められた値から変更できなくてもよいし、あらかじめ定められた値から変更可能であってもよい。例えば、後処理部114は、閾値変更のための操作オブジェクト(例えば、スライダなど)が提示部160によって提示される場合、操作部120によって受け付けられた当該操作オブジェクトに対するユーザの閾値変更操作に基づいて、閾値THを変更してもよい。
(出力部116)
出力部116は、パーツkの存在確率en kに応じた制御を行う。例えば、出力部116は、パーツkの存在確率en kに応じた情報の提示部160による提示を制御してもよい。パーツkの存在確率en kに応じた情報としては、様々な情報が想定され得る。例えば、出力部116は、パーツkの存在確率en kと閾値THとの比較結果に応じた情報の提示部160による提示を制御してもよい。
出力部116は、パーツkの存在確率en kに応じた制御を行う。例えば、出力部116は、パーツkの存在確率en kに応じた情報の提示部160による提示を制御してもよい。パーツkの存在確率en kに応じた情報としては、様々な情報が想定され得る。例えば、出力部116は、パーツkの存在確率en kと閾値THとの比較結果に応じた情報の提示部160による提示を制御してもよい。
一例として、出力部116は、パーツkの存在確率en
kが閾値THより大きい場合には、そのパーツkの位置の提示部160による提示を制御してもよい。一方、出力部116は、パーツkの存在確率en
kが閾値TH以下である場合には、そのパーツkの位置の提示部160による提示を制御するとともに、そのパーツkが見えないパーツであること(すなわち、パーツkが認識用画像に存在する確率が閾値THよりも小さいこと)の提示部160による提示を制御してもよい。
図13は、パーツkの存在確率en
kと閾値THとの比較結果に応じた情報の例を説明するための図である。図13を参照すると、認識用画像G30が提示部160によって表示されている。認識用画像G30には、人体B11と人体B12とが写っている。そして、人体B11および人体B12それぞれの各パーツ位置が表示されている(図13における各丸印)。例えば、人体B12のパーツA1(左目)の位置およびパーツA2(右目)の位置が提示部160によって表示されている。
そして、図13を参照すると、存在確率eが閾値THより大きいパーツの位置は、白丸によって表示されている。一方、図13を参照すると、存在確率eが閾値TH以下であるパーツの位置は、黒丸によって表示されている。すなわち、存在確率eが閾値THより大きいパーツ位置と存在確率en
kが閾値TH以下であるパーツ位置との表示態様(図13に示された例では、色)が異なっている。このように、存在確率en
kが閾値TH以下である場合には、そのパーツkが見えないパーツであることが表示されてもよい。なお、表示態様の変更は、色の違いでなくてもよく、サイズまたは形状の違いなどであってもよい。
なお、存在確率eが閾値THより大きいパーツの位置の表示態様は、1種類でなくてもよく、パーツの場所ごとに異なってもよい。例えば、存在確率eが閾値THより大きい右肩パーツの色はオレンジ色であり、存在確率eが閾値THより大きい右肘パーツの色は黄色であってもよい。
また、存在確率eが閾値THより大きいパーツ位置は提示部160によって表示される一方、存在確率eが閾値TH以下であるパーツの位置は、提示部160によって表示されなくてもよい。あるいは、パーツ位置の提示以外にパーツ位置および存在確率eが用いられる場合なども想定される。かかる場合には、存在確率eが閾値THより大きいか否かに関わらず、パーツ位置は表示されなくてもよい。
また、図13を参照すると、パーツ位置同士を接続する線分(以下、「接続線」とも言う。)も表示されている。この接続線の表示態様も、両端のパーツの存在確率eなどに応じて変更されてもよい。例えば、接続線の表示態様は、その接続線の両端のパーツのうちいずれか一方のパーツの表示態様に合わせられてもよい。ただし、パーツ位置同士を接続する接続線は、表示されなくてもよい。
あるいは、出力部116は、パーツkの存在確率en
kを示す情報の提示部160による提示を制御してもよい。
図14は、パーツkの存在確率eを示す情報の例を説明するための図である。図14を参照すると、認識用画像G30が提示部160によって表示されている。認識用画像G30には、人体B11と人体B12とが写っている。そして、人体B11および人体B12それぞれの各パーツ位置が表示されている(図14における各丸印)。そして、人体B12の各パーツの存在確率を示す情報が示されている(例えば、左目パーツの存在確率が「leye 0.1」として示されている)。
なお、図14に示された例では、人体B12の一部のパーツの存在確率を示す情報だけが表示されている。しかし、人体B12の全部のパーツの存在確率を示す情報が表示されてもよい。また、人体B12の一部または全部の存在確率を示す情報に加えて、人体B11の一部または全部の存在確率を示す情報が表示されてもよい。
(認識段階の流れ)
続いて、図15を参照しながら、本開示の第1の実施形態に係る認識段階の流れの例について説明する。図15は、本開示の第1の実施形態に係る認識段階の流れの例を示すフローチャートである。なお、図15に示したフローチャートは、本開示の第1の実施形態に係る認識段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る認識段階の流れは、図15のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
続いて、図15を参照しながら、本開示の第1の実施形態に係る認識段階の流れの例について説明する。図15は、本開示の第1の実施形態に係る認識段階の流れの例を示すフローチャートである。なお、図15に示したフローチャートは、本開示の第1の実施形態に係る認識段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る認識段階の流れは、図15のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
図15に示されるように、CNN認識処理部112は、センサ部130によって検出された画像を学習結果CNNに入力させる(S111)。そして、CNN認識処理部112は、画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置C、人体の中心位置Cを基準としたパーツkの相対位置(xk、yk)およびパーツkの存在確率ekを取得する。
後処理部114は、パーツ単位の繰り返し処理(k=0~K-1)を開始する(S112)。後処理部114は、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、パーツkの位置を計算する。これによって、後処理部114は、パーツkの位置を取得する。また、後処理部114は、CNN認識処理部112からパーツkの存在確率eを取得する(S113)。後処理部114は、パーツkの存在確率eとあらかじめ定められた閾値THとを比較する(S114)。
出力部116は、パーツkの存在確率eが閾値TH以下である場合には(S114において「NO」)、そのパーツkの位置を示す情報を提示部160に出力するとともに、そのパーツkが見えないパーツであることを提示部160に出力する(S116)。提示部160は、出力部116による制御に従って、パーツkの位置を示す情報を提示するとともに、そのパーツkが見えないパーツであることを提示する。その後、パーツ単位の繰り返し処理の終端(S118)に動作が移行される。
一方、出力部116は、パーツkの存在確率eが閾値THより大きい場合には(S114において「YES」)、そのパーツkの位置を示す情報を提示部160に出力する(S117)。提示部160は、出力部116による制御に従って、パーツkの位置を示す情報を提示する。その後、パーツ単位の繰り返し処理の終端(S118)に動作が移行される。
S118に動作が移行すると、パーツ単位の繰り返し処理がK回実行されていない場合には、パーツ単位の繰り返し処理の始端(S111)に動作が移行される。一方、パーツ単位の繰り返し処理がK回実行された場合には、認識段階が終了する。
以上、本開示の第1の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明した。
[1.5.オートフォーカスの制御]
上記のように、出力部116は、パーツkの位置とパーツkの存在確率en kとに応じた制御を行う。ここで、出力部116による制御の対象は、情報の提示に限定されない。例えば、出力部116は、パーツkの位置とパーツkの存在確率en kとに応じて、何らかの機能を制御してもよい。一例として、出力部116は、パーツkの存在確率en kに応じて、カメラが自動的にフォーカスを合わせる機能(所謂、オートフォーカス機能)を制御してもよい。以下では、図16および図17を参照しながら、出力部116が、存在確率に応じてオートフォーカスを制御する例について説明する。
上記のように、出力部116は、パーツkの位置とパーツkの存在確率en kとに応じた制御を行う。ここで、出力部116による制御の対象は、情報の提示に限定されない。例えば、出力部116は、パーツkの位置とパーツkの存在確率en kとに応じて、何らかの機能を制御してもよい。一例として、出力部116は、パーツkの存在確率en kに応じて、カメラが自動的にフォーカスを合わせる機能(所謂、オートフォーカス機能)を制御してもよい。以下では、図16および図17を参照しながら、出力部116が、存在確率に応じてオートフォーカスを制御する例について説明する。
図16は、存在確率がオートフォーカスに適用される例について説明するための図である。図16を参照すると、認識用画像の例として画像G40が示されている。また、画像G40には、人体B11および人体B12が写っている。ここで、人体B11は、人体B12よりも画像に小さく写っているが、前面をカメラに向けているため、目が画像G40に写っている。一方、人体B12は、人体B11よりも画像に大きく写っているが、背面をカメラに向けているため、目が画像G40に写っていない。
画像G41は、画像により大きく写っている人体の右目パーツに対して優先的にフォーカスを合わせる一般的な技術が適用される例である。この例では、右目パーツが画像G41に写っていない人体B12にフォーカスF1が合わせられてしまっている。一方、画像G42は、存在確率eがより大きい右目パーツに対して優先的にフォーカスを合わせる本開示の技術が適用される例である。この例では、出力部116は、人体B11の右目パーツの存在確率eがより大きいため、人体B11の右目パーツにフォーカスF1が合うようにカメラを制御している。
より詳細には、人体B11の右目パーツの存在確率e0
0は、閾値THよりも大きいと判定されている。一方、人体B12の右目パーツの存在確率e1
0は、閾値TH以下であると判定されている。このとき、出力部116は、閾値THよりも右目パーツの存在確率が大きい人体B11の右目パーツの位置(x,y)に基づいて、カメラのオートフォーカスを制御してよい。
なお、閾値THよりも右目パーツの存在確率が大きい人体が複数存在する場合も想定される。かかる場合には、出力部116は、当該複数の人体のうちより大きく画像に写っている人体の右目パーツ(x,y)に基づいて、カメラのオートフォーカスを制御してもよい。フォーカスが合わせられるパーツは、右目パーツに限定されず、人体の他のパーツ(例えば、左目など)であってもよい。
また、カメラのオートフォーカスの制御は、どのように実現されてもよい。例えば、出力部116は、人体B11の右目パーツの位置(x,y)の被写体までのデプス値を取得し、取得したデプス値に基づいて、カメラのオートフォーカスを制御してよい。被写体までのデプス値は、赤外線または超音波などの照射によって計測されてもよい(所謂、アクティブ方式によって計測されてもよい)。あるいは、被写体までのデプス値は、カメラのレンズを通過した光によって計測されてもよい(所謂、パッシブ方式によって計測されてもよい)。
続いて、図17を参照しながら、オートフォーカスの制御の例について説明する。図17は、オートフォーカスの制御例を示すフローチャートである。なお、図17に示したフローチャートは、オートフォーカスの制御の一例を示しているに過ぎない。したがって、オートフォーカスの制御は、図17のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、右目パーツの存在確率を用いる場合を想定する。
図17に示されるように、CNN認識処理部112は、センサ部130によって検出された画像を学習結果CNNに入力させる(S121)。そして、CNN認識処理部112は、画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置Cn、人体の中心位置Cnを基準とした右目パーツの相対位置(xn、yn)および右目パーツの存在確率enを取得する。
後処理部114は、人単位の繰り返し処理(n=0~N-1)を開始する(S122)。後処理部114は、人体の中心位置Cnと、人体の中心位置Cnを基準とした右目パーツの相対位置(xn、yn)とを足し合わせることによって、右目パーツの位置を計算する。これによって、後処理部114は、右目パーツの位置を取得する。また、後処理部114は、CNN認識処理部112から右目パーツの存在確率enを取得する(S123)。後処理部114は、右目パーツの存在確率enとあらかじめ定められた閾値THとを比較する(S124)。
右目パーツの存在確率enが閾値TH以下である場合には(S124において「NO」)、人単位の繰り返し処理の終端(S127)に動作が移行される。一方、出力部116は、右目パーツの存在確率enが閾値THより大きい場合には(S124において「YES」)、探索済みの人の中で対象の人体が一番大きく画像に写っているか否かを判定する(S125)。
出力部116は、探索済みの人の中で対象の人体が二番目以降に大きく画像に写っている場合には(S125において「NO」)、人単位の繰り返し処理の終端(S127)に動作が移行される。一方、出力部116は、探索済みの人の中で対象の人体が一番大きく画像に写っている場合には(S125において「YES)、右目パーツの位置を保存する(S126)。その後、人単位の繰り返し処理の終端(S127)に動作が移行される。
S127に動作が移行すると、人単位の繰り返し処理がN回実行されていない場合には、人単位の繰り返し処理の始端(S122)に動作が移行される。一方、人単位の繰り返し処理がN回実行された場合には、認識段階が終了する。
以上、本開示の第1の実施形態に係る情報処理システム10によって実行されるオートフォーカスの制御の詳細について説明した。
[1.6.第1の実施形態の効果]
本開示の第1の実施形態によれば、人体のパーツの位置を推定するとともに、当該パーツが画像に写っている可能性を推定することが可能となる。例えば、本開示の第1の実施形態によれば、パーツの存在確率に応じた情報の提示が制御されることによって、画像にパーツが写っているか否かがユーザに把握され得る。
本開示の第1の実施形態によれば、人体のパーツの位置を推定するとともに、当該パーツが画像に写っている可能性を推定することが可能となる。例えば、本開示の第1の実施形態によれば、パーツの存在確率に応じた情報の提示が制御されることによって、画像にパーツが写っているか否かがユーザに把握され得る。
あるいは、本開示の第1の実施形態によれば、パーツの存在確率に応じた機能の制御によって、画像に写っているパーツ位置のデプス値が取得され得る。あるいは、本開示の第1の実施形態によれば、パーツの存在確率に応じた機能の制御によって、画像に写っているパーツ位置に基づいて、オートフォーカスが高精度に制御され得る。
さらに、本開示の第1の実施形態によれば、画像にパーツが存在するかを判断するために、パーツ位置ヒートマップからパーツ位置が推定されるか否かを用いなくても済む。
[1.7.第1の実施形態の変形例]
上記では、人体のパーツ位置を、人体の中心位置と人体の中心位置を基準としたパーツの相対位置とに分離して扱う場合を主に説明した。しかし、人体のパーツ位置は、人体の中心位置とパーツの相対位置とに分離して扱われなくてもよい。このとき、例えば、人体の中心位置とパーツの相対位置とを足し合わせることによって、パーツ位置を計算する処理などは省略され得る。また、ずらし処理におけるラベル位置の移動は、人体の中心位置の代わりに、パーツ位置に対して行われればよい。
上記では、人体のパーツ位置を、人体の中心位置と人体の中心位置を基準としたパーツの相対位置とに分離して扱う場合を主に説明した。しかし、人体のパーツ位置は、人体の中心位置とパーツの相対位置とに分離して扱われなくてもよい。このとき、例えば、人体の中心位置とパーツの相対位置とを足し合わせることによって、パーツ位置を計算する処理などは省略され得る。また、ずらし処理におけるラベル位置の移動は、人体の中心位置の代わりに、パーツ位置に対して行われればよい。
以上、本開示の第1の実施形態について説明した。
<2.第2の実施形態>
続いて、本開示の第2の実施形態について説明する。
続いて、本開示の第2の実施形態について説明する。
[2.1.背景]
本開示の第1の実施形態と同様に、本開示の第2の実施形態においても、画像に写る被写体として、人体を例に挙げて説明する。しかし、画像に写る被写体は、人体に限定されない。また、本開示の第1の実施形態と同様に、本開示の第2の実施形態においても、被写体の所定の領域として、人体のパーツ(部位)を例に挙げて説明する。
本開示の第1の実施形態と同様に、本開示の第2の実施形態においても、画像に写る被写体として、人体を例に挙げて説明する。しかし、画像に写る被写体は、人体に限定されない。また、本開示の第1の実施形態と同様に、本開示の第2の実施形態においても、被写体の所定の領域として、人体のパーツ(部位)を例に挙げて説明する。
ここで、例えば、複数の人体の中心位置同士が近い場合または重なる場合など(例えば、複数の人が密集しやすいシーンなど)が想定される。例えば、複数の人が密集しやすいシーンの例としては、街頭シーン、スポーツシーン、群衆シーンなどが想定される。
図18は、中心位置が重なる例を説明するための図である。図18を参照すると、画像G61に写る一つ目の人体の中心位置c1と、一つ目の人体を囲う矩形領域R61が示されている。また、画像G61に写る二つ目の人体の中心位置c2と、二つ目の人体を囲う矩形領域R62が示されている。画像G61、画像G62、画像G63と時間が進むにつれて、中心位置c1と中心位置c2とが近づき重なってしまっている。
この例のように、複数の人体の中心位置同士が近い場合または重なる場合などには、複数の人体それぞれのパーツの位置が離れていたとしても、複数の人体の中心位置同士があまり区別されないまま学習処理が行われてしまう。これによって、学習結果に基づく複数の人体のパーツ位置それぞれが分離して推定されずに、複数の人体のパーツ位置の推定精度が向上しないことが想定される。
特に計算コスト削減のために、推定結果の解像度を低くしたいという要求があり得る。しかし、推定結果の解像度を低くするほど、中心位置同士が重なってしまう可能性が高くなると考えられる。
そこで、画像に写る被写体を囲う矩形領域(バウンディングボックス)の中心位置とその矩形領域内に存在する点との距離を数値化したインデックス(センターネス)を学習処理に導入する技術(以下、「開示技術2」とも言う。)が開示されている。かかる開示技術2によれば、センターネスが導入された学習処理の結果に基づいて、被写体の中心位置が推定され得る。
図19を参照しながら、開示技術2について説明する。図19は、開示技術2について説明するための図である。図19を参照すると、画像G92が示されている。また、図19を参照すると、画像G92に写る人体B91を囲う矩形領域R91(バウンディングボックス)が示されており、その矩形領域R91内に存在する点から、矩形領域R91までの上下左右の各距離が(t,b,l,r)として示されている。
開示技術2においては、かかる距離(t,b,l,r)を数値化したインデックス(センターネス)が学習される。かかる開示技術2によれば、センターネスが導入された学習処理の結果に基づいてセンターネスが推定され、推定されたセンターネスに基づいて人体B91の中心位置が推定される。しかし、開示技術2においては、人体B91の中心位置の推定のために、センターネスを加重平均する必要がある。
さらに、同様の手法によって、パーツの位置を推定することも考えられる。これによって、複数の人体の中心位置同士が近い場合または重なる場合などにおいても、学習結果に基づく人体のパーツの位置の推定精度が向上するとも考えられる。しかし、パーツの位置の推定のために、パーツの位置を加重平均する必要がある。したがって、パーツの位置を加重平均するための計算コストが大きくなってしまう。
そこで、本開示の第2の実施形態においては、複数の人体の中心位置同士が近い場合または重なる場合などにおいても、計算コストを低減しながら、人体パーツの位置をより高精度に推定することが可能な技術について主に提案する。
以上、本開示の第2の実施形態の背景について説明した。
[2.2.学習段階の詳細]
続いて、図20~図24を参照しながら、本開示の第2の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明する。
続いて、図20~図24を参照しながら、本開示の第2の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明する。
(学習用DB)
学習用DBには、入力画像とラベルとが対応付けられて格納されている。入力画像とラベルとは、学習処理に用いられる教師データに該当する。ラベルは、入力画像に写る人体の中心位置Cn(n=0~N-1:ただし、Nは人数)と、人体の中心位置Cnを基準としたパーツk(k=0~K-1:ただし、Kはパーツ数)の相対位置(xn k、yn k)とが対応付けられてなる。
学習用DBには、入力画像とラベルとが対応付けられて格納されている。入力画像とラベルとは、学習処理に用いられる教師データに該当する。ラベルは、入力画像に写る人体の中心位置Cn(n=0~N-1:ただし、Nは人数)と、人体の中心位置Cnを基準としたパーツk(k=0~K-1:ただし、Kはパーツ数)の相対位置(xn k、yn k)とが対応付けられてなる。
(CNN学習部118)
CNN学習部118は、学習段階において、学習用DBから入力画像(第1の画像データ)およびラベルを取得する。
CNN学習部118は、学習段階において、学習用DBから入力画像(第1の画像データ)およびラベルを取得する。
図20は、CNN学習部118の機能について説明するための図である。図20を参照すると、入力画像G51が示されている。入力画像G51には、被写体の例として人体B11(第1の被写体)および人体B12(第2の被写体)が写っている。このとき、CNN学習部118は、入力画像G51に対応するラベルとして、人体B11に対応するラベルと、人体B12に対応するラベルとを取得する。ここでは、パーツとして、右目を例に挙げて説明するが、パーツは、右目に限定されない。
より詳細に、CNN学習部118は、人体B11に対応するラベルとして、人体B11の中心位置c1(cx1,cy1)と、人体B11の中心位置c1を基準とした右目パーツの相対位置P1(Px1、Py1)とを取得する。ここで、人体B11の中心位置は、「第1の基準位置」の例に該当する。また、相対位置P1(Px1、Py1)は、「第1の相対位置」の例に該当する。
また、CNN学習部118は、人体B12に対応するラベルとして、人体B12の中心位置c2(cx2,cy2)と、人体の中心位置c2を基準とした右目パーツの相対位置P2(Px2、Py2)とを取得する。ここで、人体B12の中心位置は、「第2の基準位置」の例に該当する。また、相対位置P2(Px2、Py2)は、「第2の相対位置」の例に該当する。
続いて、CNN学習部118は、人体B11の中心位置c1(cx1,cy1)と人体B12の中心位置c2(cx2,cy2)とを遠ざける処理(以下、「移動処理」とも言う。)を行う。これによって、人体B11および人体B12の元の中心位置同士が近い場合または重なる場合などにおいても、中心位置同士が区別された上で学習されるため、学習結果に基づく複数の人体のパーツ位置それぞれが分離して推定されるようになり、パーツの位置がより高精度に推定されることが期待される。
図20を参照すると、入力画像G52が示されており、中心位置c1(cx1,cy1)と中心位置c2(cx2,cy2)とを遠ざける移動処理が行われた結果として、中心位置c1’(cx1’,cy1’)と中心位置c2’(cx2’,cy2’)とが示されている。中心位置c1’(cx1’,cy1’)は、第3の基準位置の例に該当し、中心位置c2’(cx2’,cy2’)は、第4の基準位置の例に該当する。
なお、図20に示された例では、中心位置c1(cx1,cy1)の移動方向と中心位置c2(cx2,cy2)の移動方向とは逆向きである。しかし、中心位置c1(cx1,cy1)の移動方向と中心位置c2(cx2,cy2)の移動方向とは逆向きでなくてもよい。さらに、図20に示された例では、中心位置c1(cx1,cy1)の移動距離と中心位置c2(cx2,cy2)の移動距離とが同じである。しかし、中心位置c1(cx1,cy1)の移動距離と中心位置c2(cx2,cy2)の移動距離とは、同じでなくてもよい。
CNN学習部118は、中心位置c1(cx1,cy1)と中心位置c2(cx2,cy2)とを遠ざける移動処理に応じて、相対位置P1(Px1、Py1)を更新する。より詳細に、CNN学習部118は、相対位置P1(Px1、Py1)から、中心位置c1(cx1,cy1)の移動ベクトル(cx1’-cx1,cy1’-cy1)を引くことによって、更新後のP1’(Px1+cx1-cx1’,Py1+cy1-cy1’)を得る。なお、更新後の相対位置P1’は、第3の相対位置の例に該当する。
CNN学習部118は、中心位置c1(cx1,cy1)と中心位置c2(cx2,cy2)とを遠ざける移動処理に応じて、相対位置P2(Px2、Py2)を更新する。より詳細に、CNN学習部118は、相対位置P2(Px2、Py2)から、中心位置c2(cx2,cy2)の移動ベクトル(cx2’-cx2,cx2’-cx2)を引くことによって、更新後のP2’(Px2+cx2-cx2’,Py2+cy2-cy2’)を得る。なお、更新後の相対位置P2’は、第4の相対位置の例に該当する。
また、本開示の第2の実施形態では、中心位置c1(cx1,cy1)および中心位置c2(cx2,cy2)の双方が移動する場合を主に想定する。しかし、中心位置c1(cx1,cy1)が移動し、中心位置c2(cx2,cy2)が移動しなくてもよい。このとき、移動後の中心位置c1’(cx1’,cy1’)が、第3の基準位置の例に該当し、中心位置c2(cx2,cy2)が、第4の基準位置の例に該当する。
あるいは、中心位置c2(cx2,cy2)が移動し、中心位置c1(cx1,cy1)が移動しなくてもよい。このとき、中心位置c1(cx1,cy1)が、第3の基準位置の例に該当し、移動後の中心位置c2’(cx2’,cy2’)が、第4の基準位置の例に該当する。このように、本開示の第2の実施形態は、中心位置c1(cx1,cy1)および中心位置c2(cx2,cy2)のうちのいずれか一方のみが移動する場合にも適用される。
図21は、二つの人体の中心位置同士を遠ざける処理を模式的に示した図である。図21を参照すると、画像G51に写る二つの人体は図示が省略されているが、二つの人体それぞれを囲う矩形領域R1および矩形領域R2が示されている。また、一つ目の人体の中心位置C1および二つ目の人体の中心位置C2が示されている。中心位置C1と中心位置C2とを遠ざける処理が行われると、中心位置C1および中心位置C2は、それぞれ矢印が示す方向に移動する。
図22は、四つの人体の中心位置同士を遠ざける処理を模式的に示した図である。図22を参照すると、画像G61に写る四つの人体は図示が省略されているが、四つの人体の中心位置C1~C4が示されている。中心位置C1~C4を遠ざける処理が行われると、中心位置C1~C4それぞれは、それぞれ矢印が示す方向に移動する。なお、遠ざける処理が行われる中心位置の数は、複数であれば限定されない。
CNN学習部118は、学習用DBから取得した画像と、変更後のラベルとに基づいて、学習処理を行う。ここで、学習処理の具体的な手法は限定されない。
例えば、CNN学習部118は、画像をCNNに入力させたことに基づいてCNNから出力される、人体の中心位置Cn、および、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)と、対応するラベルとの誤差を算出し、算出した誤差の重み付き和を逆伝播(back propagation)させることによって(誤差逆伝播法を用いて)、CNNの重みを更新する。例えば、重みの更新手法としては、確率的勾配降下法(SGD)が用いられてよい。しかし、重みの更新手法は、SGDに限定されない。
重みの更新が終わると、学習用DBから新たに取得される画像およびラベルに基づく重みの更新が行われる。そして、所定の回数の重み更新が終わった場合、学習処理が終了される。ここで、本開示の第1の実施形態と同様に、所定の回数は限定されない。
(学習段階の流れ)
続いて、図23を参照しながら、本開示の第2の実施形態に係る学習段階の流れの例について説明する。図23は、本開示の第2の実施形態に係る学習段階の流れの例を示すフローチャートである。なお、図23に示したフローチャートは、本開示の第2の実施形態に係る学習段階の流れの一例を示しているに過ぎない。したがって、本開示の第2の実施形態に係る学習段階の流れは、図23のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、パーツが1つである場合を想定する。
続いて、図23を参照しながら、本開示の第2の実施形態に係る学習段階の流れの例について説明する。図23は、本開示の第2の実施形態に係る学習段階の流れの例を示すフローチャートである。なお、図23に示したフローチャートは、本開示の第2の実施形態に係る学習段階の流れの一例を示しているに過ぎない。したがって、本開示の第2の実施形態に係る学習段階の流れは、図23のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、パーツが1つである場合を想定する。
図23に示されるように、CNN学習部118は、学習用DBから画像およびラベルを取得する(S201)。そして、CNN学習部118は、画像に写る全員分の人体の中心位置cを計算し、中心位置cを新しい中心位置c’に保存する(S202)。
CNN学習部118は、中心位置c同士の距離が閾値よりも小さい組み合わせがあるか否かを判定する(S203)。CNN学習部118は、中心位置c同士の距離が閾値よりも小さい組み合わせがある場合には(S203において「YES」)、その組み合わせの中心位置c同士を遠ざける移動処理を行って、新しい中心位置c’を計算する(S204)。そして、S203に動作が移行される。一方、CNN学習部118は、中心位置c同士の距離が閾値よりも小さい組み合わせがない場合には(S203において「NO」)、画像に写る全員分の人体に関して、中心位置c’を基準としたパーツの相対位置(x’,y’)を計算する(S205)。
CNN学習部118は、画像と、画像に写る全員分の人体の中心位置c’およびパーツの相対位置(x’,y’)に基づいて、学習処理を行う。学習処理によって学習結果CNNが生成され、記憶部140に記憶される。
(中心位置同士を遠ざける処理の具体例)
続いて、図24を参照しながら、複数の人体の中心位置同士を遠ざける処理の具体例について説明する。かかる具体例は、バネモデルおよびクーロン力を用いたモデルを使う例である。ここで、クーロン力は、中心位置同士に働く反発力に該当する。反発力は、中心位置同士が近くなりすぎないようにするために寄与する。バネモデルは、本来の中心位置と計算し直した中心位置との間に引き合う力に該当する。引き合う力は、中心位置が元の位置から遠くなりすぎないようにするために寄与する。
続いて、図24を参照しながら、複数の人体の中心位置同士を遠ざける処理の具体例について説明する。かかる具体例は、バネモデルおよびクーロン力を用いたモデルを使う例である。ここで、クーロン力は、中心位置同士に働く反発力に該当する。反発力は、中心位置同士が近くなりすぎないようにするために寄与する。バネモデルは、本来の中心位置と計算し直した中心位置との間に引き合う力に該当する。引き合う力は、中心位置が元の位置から遠くなりすぎないようにするために寄与する。
図24は、複数の人体の中心位置同士を遠ざける処理の具体例を示すフローチャートである。なお、図24に示された例において、energy、force、d、dcそれぞれは、値を格納可能な変数である。また、distは、2点間の距離を算出する関数である。END_ENERGYは、定数である。
CNN学習部118は、元の中心位置を保存する(S221)。すなわち、CNN学習部118は、中心位置c0をC0に保存し、…中心位置cN-1をCN-1に保存する。CNN学習部118は、energyがEND_ENERGYよりも大きい場合に以降の処理を繰り返す(S223)。
CNN学習部118は、energyに0を代入する(S224)。そして、CNN学習部118は、人単位の繰り返し処理(n=0~N-1の場合)を開始する(S225)。まず、CNN学習部118は、forceに(0,0)を代入する(S226)。そして、CNN学習部118は、人単位の繰り返し処理(m=0~N-1の場合)を開始する(S231)。CNN学習部118は、mとnが等しい場合には(S232において「NO」)、人単位の繰り返し処理(m=0~N-1の場合)の終端に動作を移行させる。
一方、CNN学習部118は、mとnが等しくない場合には(S232において「YES」)、cnとcmとの距離dist(cn,cm)を計算し、dに代入する(S233)。CNN学習部118は、dに応じた斥力をforceに加算し(S235)、人単位の繰り返し処理(m=0~N-1の場合)の終端(S236)に動作を移行させる。
人単位の繰り返し処理(m=0~N-1の場合)が終わると、CNN学習部118は、cnとCnとの距離dist(cn,Cn)を計算し、dcに代入する(S241)。CNN学習部118は、dcに応じた引力をforceから減算する(S243)。CNN学習部118は、forceに基づいて中心位置cnを更新する(S245)。CNN学習部118は、更新後の中心位置cnに基づいて、energyを更新する(S246)。
そして、CNN学習部118は、人単位の繰り返し処理(n=0~N-1の場合)の終端(S251)に動作を移行させる。CNN学習部118は、人単位の繰り返し処理(n=0~N-1の場合)が終わり、energyがEND_ENERGY以下となった場合に繰り返し処理を終了させる(S253)。
以上、本開示の第2の実施形態に係る情報処理システム10によって実行される学習段階の詳細について説明した。
[2.3.認識段階の詳細]
続いて、本開示の第2の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明する。
続いて、本開示の第2の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明する。
(CNN認識処理部112)
CNN認識処理部112は、認識段階において認識用画像(第2の画像データ)と学習結果CNNとを取得する取得部として機能する。
CNN認識処理部112は、認識段階において認識用画像(第2の画像データ)と学習結果CNNとを取得する取得部として機能する。
ここで、本開示の第2の実施形態においても、CNN認識処理部112が、センサ部130によって検出された画像を認識用画像として取得する場合を主に想定する。しかし、本開示の第1の実施形態と同様に、CNN認識処理部112は、他の場所から認識用画像を取得してもよい。また、学習結果CNNは、記憶部140から取得され得る。しかし、本開示の第1の実施形態と同様に、学習装置と推論装置とが別のコンピュータによって実現されている場合などには、学習結果CNNは、学習装置から送信されて推論装置の通信部150によって受信された学習結果CNNが取得されてもよい。
さらに、CNN認識処理部112は、認識用画像と学習結果CNNとに基づいて、認識処理を行う。より詳細に、CNN認識処理部112は、認識用画像に写る人体(第2の被写体)の中心位置Cn(第5の基準位置)と、中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)(第5の相対位置)とを得る推論部として機能する。ここで、認識処理の具体的な手法は限定されない。例えば、CNN認識処理部112は、認識用画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置Cn、および、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)を取得する。
(後処理部114)
後処理部114は、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn k、yn k)とに基づいて、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。より詳細に、後処理部114は、人体nおよびパーツkの各組み合わせについて、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。
後処理部114は、人体の中心位置Cn、人体の中心位置Cnを基準としたパーツkの相対位置(xn k、yn k)とに基づいて、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。より詳細に、後処理部114は、人体nおよびパーツkの各組み合わせについて、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、人体nおよびパーツkの各組み合わせに対応するパーツ位置を計算する。
(出力部116)
出力部116は、後処理部114によって計算された各パーツ位置に応じた処理を行う。例えば、本開示の第1の実施形態と同様に、出力部116は、各パーツ位置の提示部160による表示を制御してもよい。
出力部116は、後処理部114によって計算された各パーツ位置に応じた処理を行う。例えば、本開示の第1の実施形態と同様に、出力部116は、各パーツ位置の提示部160による表示を制御してもよい。
あるいは、出力部116は、後処理部114によって計算された人体のパーツ位置が認識用画像における所定のラインを所定の方向に超えているか否かを判定してもよい。一例として、出力部116は、後処理部114によって計算された人体のパーツ位置がオフサイドラインをゴール方向に超えているか否かを判定してもよい。あるいは、出力部116は、後処理部114によって計算された複数の人体それぞれの中心位置の数をカウントしてもよい。
(認識段階の流れ)
続いて、図25を参照しながら、本開示の第2の実施形態に係る認識段階の流れの例について説明する。図25は、本開示の第2の実施形態に係る認識段階の流れの例を示すフローチャートである。なお、図25に示したフローチャートは、本開示の第2の実施形態に係る認識段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る認識段階の流れは、図25のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
続いて、図25を参照しながら、本開示の第2の実施形態に係る認識段階の流れの例について説明する。図25は、本開示の第2の実施形態に係る認識段階の流れの例を示すフローチャートである。なお、図25に示したフローチャートは、本開示の第2の実施形態に係る認識段階の流れの一例を示しているに過ぎない。したがって、本開示の第1の実施形態に係る認識段階の流れは、図25のフローチャートに示された例に限定されない。ここでは、説明を簡便にするため、画像が1枚であり、画像に写る人数が1人である場合を想定する。
図25に示されるように、CNN認識処理部112は、センサ部130によって検出された画像を学習結果CNNに入力させる(S211)。そして、CNN認識処理部112は、画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置C、および、人体の中心位置Cを基準としたパーツkの相対位置(xk、yk)を取得する。
後処理部114は、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、パーツkの位置を計算する。これによって、後処理部114は、パーツkの位置を取得する。一例として、出力部116は、パーツ位置の提示部160による表示を制御してもよい。
以上、本開示の第2の実施形態に係る情報処理システム10によって実行される認識段階の詳細について説明した。
[2.4.適用例]
本開示の第2の実施形態によれば、複数の人体の中心位置同士が近い場合または重なる場合などにおいて、パーツ位置の推定精度が向上することが期待される。したがって、推定されたパーツ位置を様々な場面に適用することが有用である。まず、推定されたパーツ位置がスポーツシーンに適用される例について説明する。
本開示の第2の実施形態によれば、複数の人体の中心位置同士が近い場合または重なる場合などにおいて、パーツ位置の推定精度が向上することが期待される。したがって、推定されたパーツ位置を様々な場面に適用することが有用である。まず、推定されたパーツ位置がスポーツシーンに適用される例について説明する。
(スポーツシーンへの適用)
図26は、推定されたパーツ位置がスポーツシーンに適用される例を説明するための図である。図26を参照すると、スポーツの例としてサッカープレイ中のシーンが撮像された画像G70が示されている。「ゴール方向」と記載されている方向に、ゴールが設置されている。人体B11は、ディフェンス側選手のうち最もゴール側の選手の人体である。また、人体B12は、オフェンス側選手のうち最もゴール側の選手の人体である。ここでは、推定されたパーツ位置がオフサイドの判定に用いられる場合を想定する。
図26は、推定されたパーツ位置がスポーツシーンに適用される例を説明するための図である。図26を参照すると、スポーツの例としてサッカープレイ中のシーンが撮像された画像G70が示されている。「ゴール方向」と記載されている方向に、ゴールが設置されている。人体B11は、ディフェンス側選手のうち最もゴール側の選手の人体である。また、人体B12は、オフェンス側選手のうち最もゴール側の選手の人体である。ここでは、推定されたパーツ位置がオフサイドの判定に用いられる場合を想定する。
図27は、オフサイドラインについて説明するための図である。図27を参照すると、ディフェンス側選手のうち最もゴール側の選手の人体B11(図26)の中心位置C1と人体B11を囲う矩形領域R71が示されている。矩形領域R71のゴール側のラインAがオフサイドラインである。また、オフェンス側選手のうち最もゴール側の選手の人体B12(図26)の中心位置C2と人体B12を囲う矩形領域R72が示されている。矩形領域R72のゴール側のラインBも示されている。ここでは、「ゴール方向」を「+方向」とする。
図28は、推定されたパーツ位置がオフサイド判定に適用される例を示すフローチャートである。ここでは、説明を簡便にするため、画像が1枚である場合を想定する。図28に示されるように、CNN認識処理部112は、センサ部130によって検出された画像を学習結果CNNに入力させる(S261)。そして、CNN認識処理部112は、画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置Cn、および、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)を取得する。
後処理部114は、人体の中心位置Cnと、人体の中心位置Cnを基準としたパーツkの相対位置(xn
k、yn
k)とを足し合わせることによって、各人の全パーツkの位置を計算する(S262)。これによって、後処理部114は、各人の全パーツの位置(N人それぞれのK個のパーツ)を取得する。出力部116は、画像に写る各人の人体の色などに基づいて、各人のチームを判定する(S263)。
続いて、出力部116は、ディフェンス側選手のうち最もゴール側のパーツ位置Aの+方向における座標A(オフサイドライン)を計算する(S264)。続いて、出力部116は、オフェンス側選手のうち最もゴール側のパーツ位置の+方向における座標B(以下、「オフェンス側先頭ライン」とも言う。)を計算する(S265)。出力部116は、座標Bが座標A(オフサイドライン)を+方向に超えているかを判定する(S266)。
出力部116は、座標B(オフェンス側先頭ライン)が座標A(オフサイドライン)を+方向に超えていないと判定された場合には(S266において「NO」)、オフサイドではないと判定する(S267)。一方、出力部116は、座標B(オフェンス側先頭ライン)が座標A(オフサイドライン)を+方向に超えていると判定された場合には(S266において「YES」)、オフサイドであると判定する(S268)。そして、出力部116は、審判の端末にアラートを送信するよう通信部150を制御する(S269)。
なお、図26~図28に示された例では、オフェンス側先頭ラインがオフサイドラインをゴール方向に超えているか否かを判定する例を説明した。しかし、出力部116は、後処理部114によって計算された人体のパーツ位置が認識用画像におけるオフサイドライン以外のラインを所定の方向に超えているか否かを判定してもよい。例えば、出力部116は、認識用画像に写るラインを認識し、人体のパーツ位置がラインはみ出し(例えば、サッカーまたはバスケットボールなどにおけるラインはみ出し)をしたか否かを判定してもよい。
続いて、推定されたパーツ位置が街頭シーンに適用される例について説明する。
(街頭シーンへの適用)
図29は、推定されたパーツ位置が街頭シーンに適用される例を説明するための図である。図29を参照すると、街頭シーンが撮像された画像G80が示されている。画像G80の領域R81および領域R82などには、互いに重なり合う複数の人が写っている。例えば、出力部116は、後処理部114によって計算された複数の人体それぞれの中心位置の数(すなわち、人数)をカウントしてもよい。上記したように、本開示の第2の実施形態では、中心位置同士が遠ざかるように学習が行われるため、中心位置同士が近い場合または重なっている場合であっても、高精度に中心位置の数がカウントされると考えられる。
図29は、推定されたパーツ位置が街頭シーンに適用される例を説明するための図である。図29を参照すると、街頭シーンが撮像された画像G80が示されている。画像G80の領域R81および領域R82などには、互いに重なり合う複数の人が写っている。例えば、出力部116は、後処理部114によって計算された複数の人体それぞれの中心位置の数(すなわち、人数)をカウントしてもよい。上記したように、本開示の第2の実施形態では、中心位置同士が遠ざかるように学習が行われるため、中心位置同士が近い場合または重なっている場合であっても、高精度に中心位置の数がカウントされると考えられる。
[2.5.第2の実施形態の効果]
本開示の第2の実施形態によれば、複数の人体の中心位置同士が近い場合または重なる場合などにおいても、中心位置同士が遠ざけられてから中心位置同士が区別された上で学習されるため、学習結果に基づく複数の人体のパーツ位置それぞれが分離して推定されるようになり、パーツの位置がより高精度に推定されることが期待される。これによって、推定結果の解像度が低い場合であってもパーツの位置がより高精度に推定され得る。
本開示の第2の実施形態によれば、複数の人体の中心位置同士が近い場合または重なる場合などにおいても、中心位置同士が遠ざけられてから中心位置同士が区別された上で学習されるため、学習結果に基づく複数の人体のパーツ位置それぞれが分離して推定されるようになり、パーツの位置がより高精度に推定されることが期待される。これによって、推定結果の解像度が低い場合であってもパーツの位置がより高精度に推定され得る。
さらに、パーツの位置がより高精度に推定されるため、推定結果の解像度を低くすることが可能となり、計算量を低減することができる。また、本開示の第2の実施形態によれば、中心位置とその中心位置を基準としたパーツの相対位置との足し合わせに基づいて、パーツ位置が簡易に求められるため、パーツ位置の推定に要する計算コストが低減される。
以上、本開示の第2の実施形態について説明した。
<3.実施形態の組み合わせ>
上記では、本開示の第1の実施形態と本開示の第2の実施形態とを別々に説明した。しかし、本開示の第1の実施形態と本開示の第2の実施形態とは、必ずしも別々に実施されなくてはならない訳ではなく、適宜に組み合わされて実施されてよい。以下では、図30および図31を参照しながら、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合における情報処理システム10の動作の例について説明する。
上記では、本開示の第1の実施形態と本開示の第2の実施形態とを別々に説明した。しかし、本開示の第1の実施形態と本開示の第2の実施形態とは、必ずしも別々に実施されなくてはならない訳ではなく、適宜に組み合わされて実施されてよい。以下では、図30および図31を参照しながら、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合における情報処理システム10の動作の例について説明する。
(学習段階の流れ)
図30は、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の学習段階の流れの例を示すフローチャートである。ここでは、説明を簡便にするため、画像が1枚である場合を想定する。
図30は、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の学習段階の流れの例を示すフローチャートである。ここでは、説明を簡便にするため、画像が1枚である場合を想定する。
図30に示されるように、CNN学習部118は、学習用DBから入力画像Iを取得し、ラベルを取得する(S300)。ラベルは、入力画像Iに写る人体の中心位置Cn(n=0~N-1:ただし、Nは人数)と、人体の中心位置Cnを基準としたパーツk(k=0~K-1:ただし、Kはパーツ数)の相対位置(xn
k、yn
k)と、パーツkの存否情報vn
kとが対応付けられてなる。CNN学習部118は、中心位置cを新しい中心位置c’に保存する(S301)。
そして、CNN学習部118は、同一画像内の中心位置の組み合わせcn,cmについてdistance(cn,cm)<TH’となるケースがあるかを判定する(S302)。CNN学習部118は、distance(cn,cm)<TH’となるケースがある場合(S302において「YES」)、cnとcmとが遠ざかるように中心位置を移動し、新しい中心位置c’n,c’mを計算する(S303)。そして、S302に動作が移行される。
一方、CNN学習部118は、distance(cn,cm)<TH’となるケースがない場合(S302において「NO」)、S304に動作を移行させる。CNN学習部118は、新しいCnに基づいて、相対位置(x’n
k,y’n
k)とパーツkの存否情報v’n
kとを計算する(S304)。
続いて、CNN学習部118は、画像Iに対して画像位置およびラベル位置のずらし処理と一部領域に対する隠蔽処理とによって画像I’を計算する(S305)。そして、CNN学習部118は、ずらし処理と隠蔽処理とに基づいたc’’n,v’’n
kを計算する(S306)。CNN学習部118は、ずらし処理と隠蔽処理とが施された後の画像I’と、変更後のラベルである、x’n
k,y’n
k,c’’n,v’’n
kとに基づいて、学習処理を行う(S307)。学習処理によって学習結果CNNが生成され、記憶部140に記憶される。
以上、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の学習段階の流れについて説明した。
(認識段階の流れ)
図31は、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の認識段階の流れの例を示すフローチャートである。ここでは、説明を簡便にするため、画像が1枚である場合を想定する。
図31は、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の認識段階の流れの例を示すフローチャートである。ここでは、説明を簡便にするため、画像が1枚である場合を想定する。
図31に示されるように、CNN認識処理部112は、センサ部130によって検出された画像を学習結果CNNに入力させる(S321)。そして、CNN認識処理部112は、画像を学習結果CNNに入力させたことに基づいて学習結果CNNから出力される、人体の中心位置Cnを取得する(S322)。
後処理部114は、人単位の繰り返し処理(n=0~N-1)を開始する(S323)。後処理部114は、中心位置Cnに紐づいたパーツの相対位置(xn
k、yn
k)と存在確率en
kを認識する(S324)。後処理部114は、人体の中心位置Cと、人体の中心位置Cを基準としたパーツの相対位置(x、y)とを足し合わせることによって、パーツkの位置を計算する。後処理部114は、パーツkの存在確率eとあらかじめ定められた閾値THとを比較する(S325)。
出力部116は、パーツkの存在確率eが閾値TH以下である場合には(S325において「NO」)、そのパーツkの位置を示す情報を提示部160に出力するとともに、そのパーツkが見えないパーツであることを提示部160に出力する(S327)。提示部160は、出力部116による制御に従って、パーツkの位置を示す情報を提示するとともに、そのパーツkが見えないパーツであることを提示する。その後、人単位の繰り返し処理の終端(S328)に動作が移行される。
一方、出力部116は、パーツkの存在確率eが閾値THより大きい場合には(S325において「YES」)、そのパーツkの位置を示す情報を提示部160に出力する(S326)。提示部160は、出力部116による制御に従って、パーツkの位置を示す情報を提示する。その後、人単位の繰り返し処理の終端(S328)に動作が移行される。
S328に動作が移行すると、人単位の繰り返し処理がN回実行されていない場合には、人単位の繰り返し処理の始端(S323)に動作が移行される。一方、人単位の繰り返し処理がN回実行された場合には、認識段階が終了する。
以上、本開示の第1の実施形態と本開示の第2の実施形態とを組み合わせた場合の認識段階の流れについて説明した。
<4.ハードウェア構成例>
次に、図32を参照して、本開示の実施形態に係る情報処理システム10のハードウェア構成例について説明する。図32は、本開示の実施形態に係る情報処理システム10のハードウェア構成例を示すブロック図である。なお、情報処理システム10は、必ずしも図32に示したハードウェア構成の全部を有している必要はなく、情報処理システム10の中に、図32に示したハードウェア構成の一部は存在しなくてもよい。
次に、図32を参照して、本開示の実施形態に係る情報処理システム10のハードウェア構成例について説明する。図32は、本開示の実施形態に係る情報処理システム10のハードウェア構成例を示すブロック図である。なお、情報処理システム10は、必ずしも図32に示したハードウェア構成の全部を有している必要はなく、情報処理システム10の中に、図32に示したハードウェア構成の一部は存在しなくてもよい。
図32に示すように、情報処理システム10は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理システム10は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理システム10は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理システム10は、CPU901に代えて、またはこれとともに、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理システム10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、ボタンなど、ユーザによって操作される装置である。入力装置915は、マウス、キーボード、タッチパネル、スイッチおよびレバーなどを含んでもよい。また、入力装置915は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム10の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理システム10に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置933も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音出力装置などであり得る。また、出力装置917は、PDP(Plasma Display Panel)、プロジェクタ、ホログラム、プリンタ装置などを含んでもよい。出力装置917は、情報処理システム10の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音として出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。
ストレージ装置919は、情報処理システム10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理システム10に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理システム10に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどであり得る。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理システム10と外部接続機器929との間で各種のデータが交換され得る。
通信装置925は、例えば、ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどであり得る。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続されるネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、振動センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理システム10の筐体の姿勢など、情報処理システム10自体の状態に関する情報や、情報処理システム10の周辺の明るさや騒音など、情報処理システム10の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
<5.むすび>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える、推論装置。
(2)
前記推論装置は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた制御を行う出力部を備える、
前記(1)に記載の推論装置。
(3)
前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた情報の提示を制御する、
前記(2)に記載の推論装置。
(4)
前記出力部は、前記存在確率が閾値よりも大きい場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御する、
前記(3)に記載の推論装置。
(5)
前記出力部は、前記存在確率が前記閾値以下である場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記第2の被写体の所定の領域が前記第2の画像データに存在しないことの提示を制御する、
前記(4)に記載の推論装置。
(6)
前記出力部は、前記閾値を変更するための操作オブジェクトの提示を制御する、
前記(4)または(5)に記載の推論装置。
(7)
前記出力部は、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記存在確率を示す情報の提示を制御する、
前記(3)に記載の推論装置。
(8)
前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに基づいて所定の機能を制御する、
前記(2)に記載の推論装置。
(9)
前記出力部は、前記所定の機能としてオートフォーカスを制御する、
前記(8)に記載の推論装置。
(10)
前記出力部は、前記第2の被写体の所定の領域の位置の被写体までのデプス値を取得し、前記デプス値に基づいて前記オートフォーカスを制御する、
前記(9)に記載の推論装置。
(11)
前記取得部は、前記第1の画像データに対して所定の処理が施された後の第3の画像データと、前記第3の画像データに写る前記第1の被写体の所定の領域の位置と、前記第3の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、前記第2の画像データとを取得し、
前記推論部は、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る前記第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の所定の領域の存在確率とを得る、
前記(1)~(10)のいずれか一項に記載の推論装置。
(12)
前記所定の処理は、前記第1の画像データを構成する複数の画素データを移動させる処理を含む、
前記(1)~(11)のいずれか一項に記載の推論装置。
(13)
前記所定の処理は、前記第1の画像データの一部の領域を所定の画像データに置換する処理を含む、
前記(1)~(12)のいずれか一項に記載の推論装置。
(14)
前記第1の被写体の所定の領域の位置は、前記第1の被写体の基準位置と、前記第1の被写体の基準位置を基準とした前記第1の被写体の所定の領域の相対位置とに分かれており、
前記第2の被写体の所定の領域の位置は、前記第2の被写体の基準位置と、前記第2の被写体の基準位置を基準とした前記第2の被写体の所定の領域の相対位置とに分かれている、
前記(1)~(13)のいずれか一項に記載の推論装置。
(15)
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得することと、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得ることと、
を備える、推論方法。
(16)
コンピュータを、
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える推論装置として機能させるプログラム。
(1)
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える、推論装置。
(2)
前記推論装置は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた制御を行う出力部を備える、
前記(1)に記載の推論装置。
(3)
前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた情報の提示を制御する、
前記(2)に記載の推論装置。
(4)
前記出力部は、前記存在確率が閾値よりも大きい場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御する、
前記(3)に記載の推論装置。
(5)
前記出力部は、前記存在確率が前記閾値以下である場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記第2の被写体の所定の領域が前記第2の画像データに存在しないことの提示を制御する、
前記(4)に記載の推論装置。
(6)
前記出力部は、前記閾値を変更するための操作オブジェクトの提示を制御する、
前記(4)または(5)に記載の推論装置。
(7)
前記出力部は、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記存在確率を示す情報の提示を制御する、
前記(3)に記載の推論装置。
(8)
前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに基づいて所定の機能を制御する、
前記(2)に記載の推論装置。
(9)
前記出力部は、前記所定の機能としてオートフォーカスを制御する、
前記(8)に記載の推論装置。
(10)
前記出力部は、前記第2の被写体の所定の領域の位置の被写体までのデプス値を取得し、前記デプス値に基づいて前記オートフォーカスを制御する、
前記(9)に記載の推論装置。
(11)
前記取得部は、前記第1の画像データに対して所定の処理が施された後の第3の画像データと、前記第3の画像データに写る前記第1の被写体の所定の領域の位置と、前記第3の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、前記第2の画像データとを取得し、
前記推論部は、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る前記第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の所定の領域の存在確率とを得る、
前記(1)~(10)のいずれか一項に記載の推論装置。
(12)
前記所定の処理は、前記第1の画像データを構成する複数の画素データを移動させる処理を含む、
前記(1)~(11)のいずれか一項に記載の推論装置。
(13)
前記所定の処理は、前記第1の画像データの一部の領域を所定の画像データに置換する処理を含む、
前記(1)~(12)のいずれか一項に記載の推論装置。
(14)
前記第1の被写体の所定の領域の位置は、前記第1の被写体の基準位置と、前記第1の被写体の基準位置を基準とした前記第1の被写体の所定の領域の相対位置とに分かれており、
前記第2の被写体の所定の領域の位置は、前記第2の被写体の基準位置と、前記第2の被写体の基準位置を基準とした前記第2の被写体の所定の領域の相対位置とに分かれている、
前記(1)~(13)のいずれか一項に記載の推論装置。
(15)
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得することと、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得ることと、
を備える、推論方法。
(16)
コンピュータを、
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える推論装置として機能させるプログラム。
10 情報処理システム
110 制御部
120 操作部
130 センサ部
140 記憶部
150 通信部
160 提示部
112 CNN認識処理部
114 後処理部
116 出力部
118 CNN学習部
110 制御部
120 操作部
130 センサ部
140 記憶部
150 通信部
160 提示部
112 CNN認識処理部
114 後処理部
116 出力部
118 CNN学習部
Claims (16)
- 第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える、推論装置。 - 前記推論装置は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた制御を行う出力部を備える、
請求項1に記載の推論装置。 - 前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに応じた情報の提示を制御する、
請求項2に記載の推論装置。 - 前記出力部は、前記存在確率が閾値よりも大きい場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御する、
請求項3に記載の推論装置。 - 前記出力部は、前記存在確率が前記閾値以下である場合に、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記第2の被写体の所定の領域が前記第2の画像データに存在しないことの提示を制御する、
請求項4に記載の推論装置。 - 前記出力部は、前記閾値を変更するための操作オブジェクトの提示を制御する、
請求項4に記載の推論装置。 - 前記出力部は、前記第2の被写体の所定の領域の位置を示す情報の提示を制御するとともに、前記存在確率を示す情報の提示を制御する、
請求項3に記載の推論装置。 - 前記出力部は、前記第2の被写体の所定の領域の位置と前記存在確率とに基づいて所定の機能を制御する、
請求項2に記載の推論装置。 - 前記出力部は、前記所定の機能としてオートフォーカスを制御する、
請求項8に記載の推論装置。 - 前記出力部は、前記第2の被写体の所定の領域の位置の被写体までのデプス値を取得し、前記デプス値に基づいて前記オートフォーカスを制御する、
請求項9に記載の推論装置。 - 前記取得部は、前記第1の画像データに対して所定の処理が施された後の第3の画像データと、前記第3の画像データに写る前記第1の被写体の所定の領域の位置と、前記第3の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、前記第2の画像データとを取得し、
前記推論部は、前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る前記第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の所定の領域の存在確率とを得る、
請求項1に記載の推論装置。 - 前記所定の処理は、前記第1の画像データを構成する複数の画素データを移動させる処理を含む、
請求項1に記載の推論装置。 - 前記所定の処理は、前記第1の画像データの一部の領域を所定の画像データに置換する処理を含む、
請求項1に記載の推論装置。 - 前記第1の被写体の所定の領域の位置は、前記第1の被写体の基準位置と、前記第1の被写体の基準位置を基準とした前記第1の被写体の所定の領域の相対位置とに分かれており、
前記第2の被写体の所定の領域の位置は、前記第2の被写体の基準位置と、前記第2の被写体の基準位置を基準とした前記第2の被写体の所定の領域の相対位置とに分かれている、
請求項1に記載の推論装置。 - 第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得することと、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得ることと、
を備える、推論方法。 - コンピュータを、
第1の画像データと、前記第1の画像データに写る第1の被写体の所定の領域の位置と、前記第1の画像データに前記第1の被写体の前記所定の領域が存在するか否かを示す存否情報とに基づいて得られた学習済みモデルと、第2の画像データとを取得する取得部と、
前記学習済みモデルと前記第2の画像データとに基づいて、前記第2の画像データに写る第2の被写体の所定の領域の位置と、前記第2の画像データにおける前記第2の被写体の前記所定の領域の存在確率とを得る推論部と、
を備える推論装置として機能させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-017342 | 2021-02-05 | ||
JP2021017342 | 2021-02-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022168441A1 true WO2022168441A1 (ja) | 2022-08-11 |
Family
ID=82741088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/045770 WO2022168441A1 (ja) | 2021-02-05 | 2021-12-13 | 推論装置、推論方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022168441A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06153085A (ja) * | 1992-11-05 | 1994-05-31 | Casio Comput Co Ltd | 撮像装置 |
JP2017016593A (ja) * | 2015-07-06 | 2017-01-19 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP2019512797A (ja) * | 2016-03-21 | 2019-05-16 | ザ プロクター アンド ギャンブル カンパニー | カスタマイズされた製品の推奨を提供するためのシステム及び方法 |
JP2020194446A (ja) * | 2019-05-29 | 2020-12-03 | 株式会社アーク情報システム | プログラム、情報処理方法及び情報処理装置 |
JP2020197833A (ja) * | 2019-05-31 | 2020-12-10 | 楽天株式会社 | データ拡張システム、データ拡張方法、及びプログラム |
-
2021
- 2021-12-13 WO PCT/JP2021/045770 patent/WO2022168441A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06153085A (ja) * | 1992-11-05 | 1994-05-31 | Casio Comput Co Ltd | 撮像装置 |
JP2017016593A (ja) * | 2015-07-06 | 2017-01-19 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP2019512797A (ja) * | 2016-03-21 | 2019-05-16 | ザ プロクター アンド ギャンブル カンパニー | カスタマイズされた製品の推奨を提供するためのシステム及び方法 |
JP2020194446A (ja) * | 2019-05-29 | 2020-12-03 | 株式会社アーク情報システム | プログラム、情報処理方法及び情報処理装置 |
JP2020197833A (ja) * | 2019-05-31 | 2020-12-10 | 楽天株式会社 | データ拡張システム、データ拡張方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020052319A1 (zh) | 目标跟踪方法、装置、介质以及设备 | |
US10394318B2 (en) | Scene analysis for improved eye tracking | |
RU2708027C1 (ru) | Способ передачи движения субъекта из видео на анимированного персонажа | |
JP2022518745A (ja) | 目標の位置取得方法、装置、コンピュータ機器及びコンピュータプログラム | |
KR20160003066A (ko) | 일반적인 카메라 움직임 및 파노라마 카메라 움직임을 갖는 단안 시각 slam | |
CN114418069B (zh) | 一种编码器的训练方法、装置及存储介质 | |
KR20170014491A (ko) | 움직임 인식 방법 및 움직임 인식 장치 | |
CN110807410B (zh) | 关键点定位方法、装置、电子设备和存储介质 | |
CN103890782B (zh) | 用于手势识别的方法和设备 | |
CN115659959B (zh) | 图像的文本纠错方法、装置、电子设备及存储介质 | |
CN112069943A (zh) | 基于自顶向下框架的在线多人姿态估计与跟踪方法 | |
JPWO2019181099A1 (ja) | 情報処理装置および情報処理方法 | |
WO2022168441A1 (ja) | 推論装置、推論方法およびプログラム | |
WO2022168442A1 (ja) | 推論装置、推論方法およびプログラム | |
JP2018152777A (ja) | 情報処理装置、撮像装置および電子機器 | |
TWI812053B (zh) | 定位方法、電子設備及電腦可讀儲存媒體 | |
WO2023137923A1 (zh) | 基于姿态指导的行人重识别方法、装置、设备及存储介质 | |
Parvadhavardhni et al. | Blind navigation support system using Raspberry Pi & YOLO | |
JP7400719B2 (ja) | 学習装置、識別装置およびプログラム | |
Wu et al. | 3d semantic vslam of dynamic environment based on yolact | |
WO2022014171A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
Deepika et al. | Machine Learning-Based Approach for Hand Gesture Recognition | |
WO2024190186A1 (en) | Image generation apparatus, image recognition apparatus, and image recognition method | |
Genc et al. | Human activity recognition with fine-tuned CNN-LSTM | |
WO2023248732A1 (ja) | 信号処理装置、信号処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21924826 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21924826 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |