WO2023084780A1 - 画像処理装置、画像処理方法、およびプログラム - Google Patents

画像処理装置、画像処理方法、およびプログラム Download PDF

Info

Publication number
WO2023084780A1
WO2023084780A1 PCT/JP2021/041928 JP2021041928W WO2023084780A1 WO 2023084780 A1 WO2023084780 A1 WO 2023084780A1 JP 2021041928 W JP2021041928 W JP 2021041928W WO 2023084780 A1 WO2023084780 A1 WO 2023084780A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature amount
detected
image
human body
human bodies
Prior art date
Application number
PCT/JP2021/041928
Other languages
English (en)
French (fr)
Inventor
登 吉田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/041928 priority Critical patent/WO2023084780A1/ja
Publication of WO2023084780A1 publication Critical patent/WO2023084780A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to an image processing device, an image processing method, and a program.
  • Patent Document 1 discloses Technologies related to the present invention.
  • Japanese Patent Laid-Open No. 2002-200000 describes a method of calculating a feature amount for each of a plurality of key points of a human body included in an image, and retrieving an image containing a human body with a similar posture or a similar movement based on the calculated feature amount.
  • Techniques for grouping and classifying objects having similar postures and movements are disclosed.
  • Non-Patent Document 1 discloses a technique related to human skeleton estimation.
  • An object of the present invention is to improve the accuracy of a technique for retrieving images containing human bodies with similar postures and movements, and classifying images containing human bodies with similar postures and movements together. .
  • skeletal structure detection means for performing a process of detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image; feature quantity calculation means for calculating a feature quantity of each of the detected key points; input means for receiving user input designating a method of integrating the feature amounts of the key points detected from each of a plurality of human bodies for each part; A processing means for calculating an integrated feature amount for each part by performing integration for each part by the method specified by the user input, and performing image search or image classification based on the integrated feature amount; is provided.
  • the computer a skeletal structure detection step of performing a process of detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image;
  • An image processing method is provided for performing
  • the computer skeletal structure detection means for detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image; feature quantity calculation means for calculating a feature quantity of each of the detected key points; input means for accepting user input specifying a method for integrating the feature amounts of the key points detected from each of a plurality of human bodies for each part; Processing means for calculating an integrated feature amount for each part by performing integration for each part by the method specified by the user input, and performing image search or image classification based on the integrated feature amount;
  • a program is provided to act as a
  • the present invention it is possible to improve the accuracy of a technique for retrieving images containing human bodies with similar postures and movements, and classifying images containing human bodies with similar postures and movements together. .
  • FIG. 10 is a diagram showing an example of processing for identifying the correspondence between frame images according to the embodiment; It is a figure which shows an example of the process which calculates an integrated feature-value from the moving image of this embodiment.
  • 4 is a flow chart showing an example of the flow of processing of the image processing apparatus of the present embodiment; 4 is a flow chart showing an example of the flow of processing of the image processing apparatus of the present embodiment; It is a figure for demonstrating an example of the process which calculates an integrated feature-value from a still image of this embodiment. It is a figure for demonstrating an example of the process which calculates an integrated feature-value from a still image of this embodiment. It is a figure for demonstrating an example of the process which calculates an integrated feature-value from a still image of this embodiment. It is a figure for demonstrating an example of the process which calculates an integrated feature-value from a still image of this embodiment.
  • FIG. 4 is a diagram schematically showing an example of information displayed by the image processing apparatus according to the embodiment;
  • FIG. 4 is a diagram schematically showing an example of information displayed by the image processing apparatus according to the embodiment;
  • FIG. 4 is a flow chart showing an example of the flow of processing of the image processing apparatus of the present embodiment;
  • It is a figure which shows an example of the functional block diagram of the image processing apparatus of this embodiment.
  • It is a figure which shows an example of the functional block diagram of the image processing apparatus of this embodiment.
  • 4 is a diagram schematically showing an example of information displayed by the image processing apparatus according to the embodiment;
  • the image processing apparatus of this embodiment detects key points corresponding to each part of the human body (hereinafter, "part of the human body” may be simply referred to as “part”) from each of a plurality of human bodies, are integrated for each part to calculate an integrated feature amount for each part. Then, the image processing device performs image search and image classification based on the calculated integrated feature amount for each part. According to such an image processing apparatus, when a certain keypoint is not detected from one human body, it can be complemented with the feature amount of the keypoint detected from another human body. Therefore, it is possible to calculate an integrated feature amount corresponding to each of all parts.
  • the illustrated first still image is an image of a person washing his hands photographed from the left side of the person.
  • the right part of the person's body is hidden and not visible.
  • processing for detecting N keypoints of the human body is performed on such a first still image, some of the N keypoints, that is, keypoints included in non-hidden portions are detected.
  • the keypoints included in the other part of the N keypoints, ie, the hidden part are not detected. As a result, some keypoint features are missing.
  • the second still image is an image of a person washing his hands taken from the right side of the person.
  • the left part of the person's body is hidden and not visible.
  • processing for detecting N keypoints of the human body is performed on such a second still image, some of the N keypoints, that is, keypoints included in non-hidden portions are detected.
  • the keypoints included in the other part of the N keypoints, ie, the hidden part are not detected. As a result, some keypoint features are missing.
  • the image processing apparatus of the present embodiment converts the feature amount of the keypoints detected from the human body included in the first still image and the feature amount of the keypoints detected from the human body included in the second still image.
  • the feature amount of the keypoints not detected from the human body included in the first still image can be complemented with the feature amount of the keypoints detected from the human body included in the second still image.
  • the feature amount of keypoints not detected from the human body included in the second still image can be complemented with the feature amount of keypoints detected from the human body included in the first still image.
  • integrated feature amounts corresponding to all of the N parts can be calculated. Then, using the integrated features corresponding to all of the N parts, images containing human bodies with similar postures and movements are searched, and images containing human bodies with similar postures and movements are grouped and classified. This will improve its accuracy.
  • Each functional unit of the image processing apparatus includes a CPU (Central Processing Unit) of any computer, a memory, a program loaded into the memory, and a storage unit such as a hard disk for storing the program (previously stored from the stage of shipping the apparatus). It can also store programs downloaded from storage media such as CDs (Compact Discs) and servers on the Internet, etc.), and is realized by any combination of hardware and software centered on the interface for network connection. be. It should be understood by those skilled in the art that there are various modifications to the implementation method and apparatus.
  • FIG. 2 is a block diagram illustrating the hardware configuration of the image processing device.
  • the image processing apparatus has a processor 1A, a memory 2A, an input/output interface 3A, a peripheral circuit 4A and a bus 5A.
  • the peripheral circuit 4A includes various modules.
  • the image processing device does not have to have the peripheral circuit 4A.
  • the image processing device may be composed of a plurality of physically and/or logically separated devices. In this case, each of the plurality of devices can have the above hardware configuration.
  • the bus 5A is a data transmission path for mutually transmitting and receiving data between the processor 1A, the memory 2A, the peripheral circuit 4A and the input/output interface 3A.
  • the processor 1A is, for example, an arithmetic processing device such as a CPU or a GPU (Graphics Processing Unit).
  • the memory 2A is, for example, RAM (Random Access Memory) or ROM (Read Only Memory).
  • the input/output interface 3A includes an interface for acquiring information from an input device, an external device, an external server, an external sensor, a camera, etc., an interface for outputting information to an output device, an external device, an external server, etc. .
  • Input devices are, for example, keyboards, mice, microphones, physical buttons, touch panels, and the like.
  • the output device is, for example, a display, speaker, printer, mailer, or the like.
  • the processor 1A can issue commands to each module and perform calculations based on the calculation results thereof.
  • FIG. 3 shows an example of a functional block diagram of the image processing apparatus 100 of this embodiment.
  • the illustrated image processing apparatus 100 includes a skeleton structure detection unit 101 , a feature amount calculation unit 102 , a processing unit 103 and a storage unit 104 .
  • the image processing apparatus 100 may not have the storage unit 104 .
  • the external device has the storage unit 104 .
  • the storage unit 104 is configured to be accessible from the image processing apparatus 100 .
  • the skeletal structure detection unit 101 performs processing to detect N (N is an integer equal to or greater than 2) keypoints corresponding to each of a plurality of parts of the human body included in the image.
  • An image is a concept that includes still images and moving images.
  • the skeletal structure detection unit 101 performs processing to detect keypoints for each frame image.
  • the processing by the skeletal structure detection unit 101 is realized using the technology disclosed in Japanese Patent Application Laid-Open No. 2002-200013. Although the details are omitted, the technique disclosed in Patent Document 1 detects the skeleton structure using the skeleton estimation technique such as OpenPose disclosed in Non-Patent Document 1.
  • the skeletal structure detected by this technique consists of "keypoints", which are characteristic points such as joints, and "bones (bone links)", which indicate links between keypoints.
  • FIG. 4 shows the skeletal structure of the human body model 300 detected by the skeletal structure detection unit 101
  • FIGS. 5 and 6 show detection examples of the skeletal structure.
  • a skeleton structure detection unit 101 detects the skeleton structure of a human body model (two-dimensional skeleton model) 300 as shown in FIG. 4 from a two-dimensional image using a skeleton estimation technique such as OpenPose.
  • the human body model 300 is a two-dimensional model composed of key points such as human joints and bones connecting the key points.
  • the skeletal structure detection unit 101 extracts feature points that can be keypoints from an image, refers to information obtained by machine learning the image of the keypoints, and detects N keypoints of the human body.
  • the N keypoints to detect are predetermined.
  • the number of keypoints to be detected that is, the number of N
  • which parts of the human body are to be detected as keypoints are various, and all variations can be adopted.
  • head A1, neck A2, right shoulder A31, left shoulder A32, right elbow A41, left elbow A42, right hand A51, left hand A52, right hip A61, left hip A62, right knee A71, left Assume that the knee A72, the right foot A81, and the left foot A82 are defined as N keypoints (N 14) to be detected.
  • the human bones connecting these key points are bone B1 connecting head A1 and neck A2, bone B21 and bone B22 connecting neck A2 and right shoulder A31 and left shoulder A32, respectively.
  • FIG. 5 is an example of detecting key points from an upright human body.
  • an upright human body is imaged from the front and all 14 keypoints are detected.
  • FIG. 6 shows an example of detecting key points from a squatting human body.
  • a squatting human body is imaged from the right side, and only some of the 14 keypoints are detected.
  • the head A1, the neck A2, the right shoulder A31, the right elbow A41, the right hand A51, the right hip A61, the right knee A71, and the right foot A81 are detected, and the left shoulder A32, the left elbow A42, and the left hand are detected.
  • A52, left hip A62, left knee A72 and left foot A82 are not detected.
  • the feature quantity calculation unit 102 calculates the feature quantity of the detected two-dimensional skeletal structure. For example, the feature quantity calculator 102 calculates a feature quantity for each detected keypoint.
  • the feature value of the skeletal structure indicates the characteristics of the skeleton of a person, and is an element for classifying and searching the state (posture and movement) of a person based on the skeleton of the person.
  • this feature quantity includes multiple parameters.
  • the feature amount may be the feature amount of the entire skeleton structure, the feature amount of a part of the skeleton structure, or may include a plurality of feature amounts like each part of the skeleton structure. Any method such as machine learning or normalization may be used as the method for calculating the feature amount, and the minimum value or the maximum value may be obtained as the normalization.
  • the feature amount is the feature amount obtained by machine learning the skeletal structure, the size of the skeletal structure on the image from the head to the foot, and the vertical direction of the skeletal region including the skeletal structure on the image. and the relative positional relationship of a plurality of keypoints in the lateral direction of the skeletal region.
  • the size of the skeletal structure is the vertical height, area, etc. of the skeletal region containing the skeletal structure on the image.
  • the vertical direction (height direction or vertical direction) is the vertical direction (Y-axis direction) in the image, for example, the direction perpendicular to the ground (reference plane).
  • the left-right direction (horizontal direction) is the left-right direction (X-axis direction) in the image, for example, the direction parallel to the ground.
  • features that are robust to classification and search processing it is preferable to use features that are robust to classification and search processing.
  • a feature quantity that is robust to the person's orientation or body shape may be used.
  • FIG. 7 shows an example of feature amounts for each of a plurality of key points obtained by the feature amount calculation unit 102.
  • FIG. 7 shows an example of feature amounts for each of a plurality of key points obtained by the feature amount calculation unit 102.
  • the feature amount of the keypoints exemplified here is merely an example, and the present invention is not limited to this.
  • the keypoint feature quantity indicates the relative positional relationship of multiple keypoints in the vertical direction of the skeletal region containing the skeletal structure on the image. Since the key point A2 of the neck is used as the reference point, the feature amount of the key point A2 is 0.0, and the feature amount of the key point A31 of the right shoulder and the key point A32 of the left shoulder, which are at the same height as the neck, are also 0.0. be.
  • the feature value of the keypoint A1 of the head higher than the neck is -0.2.
  • the right hand keypoint A51 and left hand keypoint A52 lower than the neck have a feature quantity of 0.4, and the right foot keypoint A81 and left foot keypoint A82 have a feature quantity of 0.9.
  • the feature amount (normalized value) of the example indicates the feature in the height direction (Y direction) of the skeletal structure (key point), and is affected by the change in the lateral direction (X direction) of the skeletal structure. do not have.
  • the processing unit 103 integrates feature amounts of key points detected from each of M (M is an integer equal to or greater than 2) human bodies for each part, and calculates an integrated feature amount for each part. Then, the processing unit 103 performs image search or image classification based on the integrated feature amount for each part.
  • the plurality of key points correspond to each of the plurality of parts. For this reason, performing processing "for each part" is the same as performing processing "for each key point". For example, "an integrated feature amount for each part” obtained by calculating for each part has the same meaning as "an integrated feature amount for each of N key points" obtained by calculating for each key point.
  • the user designates M human bodies to be processed for calculating integrated feature amounts.
  • the user may designate M human bodies by designating M still images each including one human body (designating M still image files). Designation of M still images is performed, for example, by an operation of inputting M still images to the image processing apparatus 100, or by selecting M still images from a plurality of still images stored in the image processing apparatus 100. operations, etc.
  • the skeleton structure detection unit 101 described above performs processing for detecting N keypoints for each of the designated M still images. Note that all N keypoints may be detected, or only some of the N keypoints may be detected.
  • a feature amount calculation unit 102 calculates a feature amount for each of the detected keypoints.
  • the user designates at least one still image (designates at least one still image file), and designates M regions each including one human body in the at least one designated still image. , M human bodies.
  • a plurality of regions that is, a plurality of human bodies
  • the process of designating a partial area in a still image can be realized using any conventional technique.
  • the skeletal structure detection unit 101 described above performs processing for detecting N keypoints for each of the designated M regions. Note that all N keypoints may be detected, or only some of the N keypoints may be detected.
  • a feature amount calculation unit 102 calculates a feature amount for each of the detected keypoints.
  • the processing unit 103 integrates them for each keypoint to calculate an integrated feature amount. For example, the processing unit 103 sequentially selects one of the N keypoints and performs a process of calculating an integrated feature amount.
  • one of the N keypoints, which is selected as a processing target, is referred to as a "first keypoint".
  • an integrated feature amount of the first keypoint (synonymous with "integrated feature amount of the first part") is calculated based on the feature amount of the first keypoint detected from the other portion. This process makes it possible to integrate the keypoint feature amounts calculated from each of a plurality of human bodies by complementing each other's missing portions.
  • the detection state of the first keypoint is (1) detected from only one of M human bodies, (2) detected from a plurality of M human bodies, and (3) detected from M human bodies. It is either not detected from any of the
  • the processing unit 103 can calculate an integrated feature amount through processing according to each detection state. A detailed description will be given below.
  • the processing unit 103 Detection from only one of M human bodies
  • the processing unit 103 The feature amount of the first keypoint obtained is the integrated feature amount of the first keypoint.
  • the processing unit 103 performs any one of calculation examples 1 to 4 below. Then, the integrated feature amount of the first keypoint is calculated.
  • the processing unit 103 converts the statistical values of the feature amounts of the first keypoints detected from the plurality of human bodies into the first key points. It is calculated as an integrated feature amount of points.
  • a statistic is the mean, median, mode, maximum, or minimum.
  • the processing unit 103 selects the feature with the highest degree of certainty among the feature amounts of the first keypoints detected from the plurality of human bodies.
  • the quantity be the integrated feature quantity of the first keypoint.
  • a score output in association with each detected keypoint may be used as the certainty of each keypoint.
  • the processing unit 103 calculates a first A weighted average value of the feature amounts of the keypoints is calculated as the integrated feature amount of the first keypoint.
  • a score output in association with each detected keypoint may be used as the certainty of each keypoint.
  • the user designates the priority of each of the designated M human bodies.
  • the designated content is input to the image processing apparatus 100 .
  • the processing unit 103 detects the first keypoint from the human body with the highest priority among the plurality of human bodies from which the first keypoint is detected.
  • the feature amount of the detected first keypoint is set as the integrated feature amount of the first keypoint.
  • the processing unit 103 detects the integrated feature of the first keypoint Do not calculate quantity.
  • the user designates M human bodies to be processed for calculating integrated feature amounts.
  • the user may designate M human bodies by designating M moving pictures (M moving picture file designations) each including one human body.
  • the designation of M moving images is, for example, an operation of inputting M moving images to the image processing apparatus 100, an operation of selecting M moving images from a plurality of moving images stored in the image processing apparatus 100, or the like.
  • the skeletal structure detection unit 101 described above performs a process of detecting N keypoints for frame images of each of the designated M moving images. Note that all N keypoints may be detected, or only some of the N keypoints may be detected.
  • a feature amount calculation unit 102 calculates a feature amount for each of the detected keypoints.
  • the user designates at least one moving image (designating at least one moving image file), and M scenes each including one human body in the at least one designated moving image M human bodies may be specified by specifying a scene, a scene composed of some frame images among a plurality of frame images included in a moving image) or M areas.
  • a plurality of scenes or a plurality of areas may be designated from one moving image.
  • the process of designating a partial scene or partial area in a moving image can be realized using any conventional technology.
  • the skeletal structure detection unit 101 described above detects N keypoints for frame images of each of the designated M scenes (or partial regions designated by the user in the frame images). process. Note that all N keypoints may be detected, or only some of the N keypoints may be detected.
  • a feature amount calculation unit 102 calculates a feature amount for each of the detected keypoints.
  • the processing unit 103 After the feature amount of each of the M keypoints of the human body specified by the user is calculated, the processing unit 103 integrates them for each keypoint to calculate an integrated feature amount.
  • the processing unit 103 identifies correspondence relationships between frame images in M moving images and M scenes, and integrates keypoint feature amounts detected from each of a plurality of corresponding frame images for each keypoint. A more detailed description will be given below with reference to FIGS. 10 to 12.
  • the processing unit 103 associates the frame images in which the human body performing the predetermined movement in the first moving image and the human body performing the predetermined movement in the second moving image have the same posture. .
  • corresponding frame images are connected by lines.
  • one frame image of the first moving image may be associated with a plurality of frame images of the second moving image.
  • one frame image of the second moving image may be associated with a plurality of frame images of the first moving image.
  • the identification of the correspondence relationship can be realized using, for example, a technique such as DTW (Dynamic Time Warping).
  • DTW Dynamic Time Warping
  • the distance between features Manhattan distance or Euclidean distance
  • the correspondence relationship can be specified. can be done.
  • time-series data of integrated feature amounts of N keypoints can be obtained.
  • F 11 +F 21 in FIG. 12 represents the feature quantity of the keypoint of the human body detected from the frame image F 11 of the first moving image in FIG. 10 and the key point of the human body detected from the frame image F 21 of the second moving image It is an integrated feature amount of N keypoints obtained by integrating the point feature amount.
  • the means for integrating the feature amounts of the keypoints of the human body detected from the corresponding frame images is the same as the above-described means for integrating the feature amounts of the keypoints of the human body detected from the still image.
  • the processing unit 103 uses as a query the integrated feature amount calculated based on the M human bodies specified by the user as described above, and searches still images including human bodies having postures similar to those indicated by the integrated feature amount. Images, videos, etc. that include a human body whose movements are similar to those indicated by the time-series data of integrated feature values are searched.
  • the method of searching can be realized using the technology disclosed in Patent Document 1.
  • the processing unit 103 treats the posture and movement indicated by the integrated feature amount calculated based on the M human bodies specified by the user as one target of the classification processing, and classifies the posture and movement. Group similar items together.
  • the method of classification can be realized using the technology disclosed in Patent Document 1.
  • the processing unit 103 may register postures and movements indicated by integrated feature amounts calculated based on the M human bodies specified by the user as described above in the database (storage unit 104) as one processing target.
  • a plurality of postures and motions registered in the database may be objects to be collated with queries in the image search processing, or may be classification processing objects in the image classification processing. For example, by photographing the same person from a plurality of angles with a plurality of cameras and designating a plurality of human bodies of the same person included in the plurality of images photographed by the plurality of cameras as the M human bodies, the human body An integrated feature quantity that well indicates the posture and movement of the robot is calculated and registered in the database.
  • the image processing device 100 acquires at least one image (S10).
  • the image processing apparatus 100 performs a process of detecting N keypoints from each of the M human bodies included in at least one acquired image (S11). From each human body, all N keypoints may be detected, or only some of the N keypoints may be detected.
  • the image processing apparatus 100 calculates feature amounts of the detected keypoints for each human body (S12).
  • the image processing apparatus 100 integrates the feature amounts of the keypoints detected from each of the M human bodies, and calculates an integrated feature amount of each of the N keypoints (S13).
  • the image processing apparatus 100 performs image search or image classification based on the integrated feature amount calculated in S13 (S14).
  • the image processing device 100 selects one of the N keypoints as a processing target (S20).
  • the selected keypoint is hereinafter referred to as the first keypoint.
  • the image processing apparatus 100 performs processing according to the number of human bodies from which the first keypoints are detected.
  • the image processing apparatus 100 detects the first keypoint detected from that one human body. is output as the integrated feature amount of the first keypoint (S23).
  • the image processing apparatus 100 detects the feature amounts of the first keypoints detected from the plurality of human bodies. is output as the integrated feature amount of the first keypoint (S24).
  • the details of the arithmetic processing are as described above.
  • the processing unit 103 does not calculate the integrated feature amount of the first keypoint, It outputs that there is no feature amount (S22).
  • the image processing apparatus 100 of the present embodiment integrates feature amounts of keypoints detected from each of a plurality of human bodies, and calculates an integrated feature amount of each of the plurality of keypoints. Then, the image processing apparatus performs image search and image classification based on the calculated integrated feature amount. According to such an image processing apparatus, it is possible to supplement keypoint feature amounts that have not been detected from a certain human body with keypoint feature amounts that have been detected from another human body. Therefore, integrated feature amounts corresponding to all key points can be calculated. By performing image search and image classification based on integrated feature amounts corresponding to all key points, the accuracy is improved.
  • N keypoints of multiple human bodies P as shown in FIGS. 15 and 16 can be integrated.
  • the still image in FIG. 15 is an image of a person washing his hands photographed from the left side of the person.
  • the left side of the body of the person is visible, but the right side of the body is hidden.
  • keypoints included in the left portion of the body of the person are detected, but keypoints included in the right portion are not detected.
  • the still image in FIG. 16 is an image of a person washing his hands taken from the right side of the person.
  • the right side of the person's body is visible, but the left side of the body is hidden.
  • N keypoints of a plurality of human bodies P as shown in FIGS. 17 and 18 can be integrated.
  • the still image in FIG. 17 is an image of a person standing with his/her left hand on his/her waist, photographed from the front of the person.
  • the still image in FIG. 18 is an image of a person standing with his or her right hand raised, photographed from the front of the person. A part of the left half of the person's body is hidden by the vehicle Q in the second still image.
  • the feature of the portion appearing in both the first still image and the second still image is the portion appearing in the second still image.
  • the calculated N integrated feature values indicate a standing posture with the left hand on the waist as in the first still image and the right hand raised as in the second still image.
  • N keypoints of a plurality of human bodies P as shown in FIGS. 19 and 20 can be integrated.
  • the moving image in FIG. 19 is an image of a person who raises his/her right hand in a standing state and is photographed from the front of the person. A part of the left half of the body of the person is hidden by the vehicle Q in the second moving image.
  • keypoints included in the non-hidden portion of the person's body are detected, but keypoints included in the hidden portion are not detected.
  • the moving image in FIG. 20 is an image of a person who is standing with his or her hands on the waist, and which is photographed from the front of the person. In the second animation, there are no hidden parts of the person's body.
  • the missing parts in the first video are supplemented with the second video, and all N keypoints are obtained.
  • a corresponding integrated feature amount can be calculated.
  • the method of Example 4 described above that is, calculation of the integrated feature amount based on the priority of each of the M human bodies may be performed.
  • the user assigns a higher priority to the human body included in the first moving image than the human body included in the second moving image.
  • the feature of the portion appearing in both the first moving image and the second moving image is the portion appearing in the first moving image.
  • the time-series data of the calculated N integrated feature values can be obtained by putting the left hand on the waist as in the second video and raising the right hand in a standing state as shown in the first video. will be shown.
  • M human bodies may be the human bodies of the same person, or may be the human bodies of different people.
  • the image processing apparatus 100 of this embodiment differs from that of the first embodiment in the details of processing for integrating key points detected from each of M human bodies and calculating an integrated feature amount.
  • the integrated feature amount is calculated according to the flow shown in FIG. 14, for example.
  • the image processing apparatus 100 integrates the keypoints detected from each of the M human bodies by a method specified by user input to calculate an integrated feature amount. A detailed description will be given below.
  • FIG. 21 shows an example of a functional block diagram of the image processing device 100 of this embodiment.
  • the illustrated image processing apparatus 100 has a skeleton structure detection unit 101 , a feature amount calculation unit 102 , a processing unit 103 , a storage unit 104 and an input unit 106 .
  • the image processing apparatus 100 may not have the storage unit 104 .
  • the external device has the storage unit 104 .
  • the storage unit 104 is configured to be accessible from the image processing apparatus 100 .
  • the input unit 106 accepts user input specifying a method of integrating key point feature quantities detected from each of the M human bodies.
  • the input unit 106 can accept the above user input via any input device such as a touch panel, keyboard, mouse, physical button, microphone, gesture input device, and the like.
  • the processing unit 103 integrates the feature amounts detected from each of the M human bodies for each keypoint using a method designated by user input, and calculates integrated feature amounts for each of the N keypoints.
  • the input unit 106 and the processing unit 103 can execute either of the following processing examples 1 and 2.
  • the input unit 106 performs an input designating a key point for adopting a feature amount for each of M human bodies. This is synonymous with an input specifying, for each keypoint, from which human body the feature amount of the keypoint detected is to be adopted. Then, the processing unit 103 determines the feature amount of the first keypoint detected from the human body specified by the user input as the integrated feature amount of the first keypoint.
  • the input unit 106 displays a human body model in which N objects R corresponding to N keypoints are arranged at corresponding skeletal positions of the human body, and calculates the calculated feature values.
  • User input for selecting an object corresponding to a keypoint to be adopted or an object corresponding to a keypoint not to be adopted may be received for each of the M human bodies.
  • the input unit 106 can input multiple key points such as the head, neck, right shoulder 1, left shoulder, right elbow, left elbow, right hand, left hand, right hip, left hip, right knee, left knee, right leg, left leg, etc.
  • the names of the corresponding parts of the body are displayed, and a user input for selecting a key point to adopt or not to adopt the calculated feature value from among the names is accepted for each of the M human bodies. good.
  • UI user interface
  • components such as check boxes may be used.
  • the input unit 106 displays a human body model in which N objects R corresponding to N key points are arranged at corresponding skeletal positions of the human body. User input may be received to select at least a portion. Then, the input unit 106 may determine a keypoint present in the body part selected by the user input as a keypoint that adopts the calculated feature amount or a keypoint that does not adopt the calculated feature amount. .
  • a frame W is used to select at least a portion of the body. The user adjusts the position and size of the frame W so that the desired key points are included in the frame W.
  • the input unit 106 may display the names of body parts such as the upper body, lower body, right body, and left body, and accept user input to select at least one of them. Then, the input unit 106 may determine a keypoint present in the body part selected by the user input as a keypoint that adopts the calculated feature amount or a keypoint that does not adopt the calculated feature amount. .
  • UI user interface
  • the input unit 106 receives user input designating, for each keypoint, the weight of the feature amount calculated from each of the M human bodies for each of the M human bodies. Then, the processing unit 103 calculates a weighted average value corresponding to the weight specified by the user of the feature amounts calculated from each of the M human bodies as the integrated feature amount of each key point.
  • the input unit 106 may receive an input specifying the weight of the specified keypoint after receiving the input specifying the keypoint individually by the method described in the first processing example.
  • the input unit 106 accepts an input specifying a body part by the method described in the processing example 1, and then receives an input specifying a weight common to all key points included in the specified body part. You may accept more.
  • the image processing device 100 acquires at least one image (S30).
  • the image processing apparatus 100 receives a user input designating a method of integrating keypoint feature amounts detected from each of M (M is an integer equal to or greater than 2) human bodies (S31).
  • the image processing apparatus 100 performs a process of detecting N keypoints from each of the M human bodies included in at least one acquired image (S32). From each human body, all N keypoints may be detected, or only some of the N keypoints may be detected.
  • the image processing apparatus 100 calculates feature amounts of the detected keypoints for each human body (S33).
  • the image processing apparatus 100 integrates the feature amounts of the keypoints detected from each of the M human bodies by the method specified in S31, and calculates integrated feature amounts of each of the N keypoints (S34 ).
  • the image processing apparatus 100 performs image search or image classification based on the integrated feature amount calculated in S34 (S35).
  • the same effects as those of the first embodiment are realized.
  • the user since the user can specify the method of integration, it is possible to calculate the integrated feature amount desired by the user.
  • the image processing apparatus 100 of the present embodiment has a function of outputting information identifying key points for which integrated feature amounts have been calculated and key points for which integrated feature amounts have not been calculated. A detailed description will be given below.
  • FIG. 25 shows an example of a functional block diagram of the image processing device 100 of this embodiment.
  • the illustrated image processing apparatus 100 includes a skeleton structure detection unit 101 , a feature amount calculation unit 102 , a processing unit 103 , a storage unit 104 and a display unit 105 .
  • FIG. 26 shows another example of a functional block diagram of the image processing device 100 of this embodiment.
  • the illustrated image processing apparatus 100 has a skeleton structure detection unit 101 , a feature amount calculation unit 102 , a processing unit 103 , a storage unit 104 , a display unit 105 and an input unit 106 .
  • the image processing apparatus 100 does not have to have the storage unit 104 .
  • the external device has the storage unit 104 .
  • the storage unit 104 is configured to be accessible from the image processing apparatus 100 .
  • the display unit 105 detects a key point which is not detected from any of the M human bodies designated by the user and for which the integrated feature amount is not calculated, and a key point which is detected from at least one of the M human bodies and calculates the integrated feature amount. Displays information that identifies the keypoint that was selected.
  • the display unit 105 displays a human body model in which N objects R corresponding to N key points are arranged at corresponding skeletal positions of the human body, and the integrated feature amount is calculated.
  • An object corresponding to a keypoint that is not detected and an object corresponding to a keypoint detected from at least one of the M human bodies and for which an integrated feature amount has been calculated may be displayed so as to be identifiable.
  • the method of displaying the object in an identifiable manner may be implemented by whether or not to paint over the object as shown in FIG. 27, but is not limited to this.
  • Other methods include, for example, making the color of the object different, making the object different in shape, and blinking the object corresponding to the key point for which the integrated feature amount is calculated or the key point for which the integrated feature amount is not calculated. Examples include highlighting.
  • the display unit 105 may further display information identifying the keypoints detected from each of the M human bodies specified by the user and the keypoints not detected from each of the human bodies. That is, the display unit 105 may further display information for identifying regions where keypoints have been detected and regions where no keypoints have been detected.
  • the display can be realized by a method similar to the method described using FIG. 27 .
  • the same effects as those of the first and second embodiments are achieved.
  • the user can determine which of the N keypoints are covered by the designated M human bodies based on the information displayed by the display unit 105. , can be easily grasped. Further, by using an image such as that shown in FIG. 27, the user can intuitively grasp the above contents. As a result, the user can grasp what kind of human body should be added in order to generate an integrated feature amount of all N keypoints.
  • skeletal structure detection means for performing a process of detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image; feature quantity calculation means for calculating a feature quantity of each of the detected key points; input means for receiving user input designating a method of integrating the feature amounts of the key points detected from each of a plurality of human bodies for each part; A processing means for calculating an integrated feature amount for each part by performing integration for each part by the method specified by the user input, and performing image search or image classification based on the integrated feature amount; An image processing device having 2.
  • the input means Receiving the user input designating from which of the plurality of human bodies the feature amount calculated from the plurality of human bodies is to be adopted for each part;
  • the processing means 2 The image processing apparatus according to 1, wherein the feature amount calculated from the human body specified by the user input is determined as the integrated feature amount for each part.
  • the input means For each of the plurality of human bodies, a human body model in which a plurality of objects are arranged at the parts of the human body is displayed, and the calculated feature values correspond to the objects corresponding to the parts to be adopted or to the parts not to be adopted. 3.
  • the image processing apparatus according to 2 which receives the user input for selecting the object. 4.
  • the input means displaying a human body model for each of the plurality of human bodies, and accepting the user input to select at least a part of the body in the human body model; 3.
  • the image processing apparatus according to 2 wherein the part existing in the part of the body selected by the user input is determined as the part to which the calculated feature amount is adopted or the part not to adopt the calculated feature amount. .
  • the input means Receiving the user input designating the weight of the feature amount calculated from each of the plurality of human bodies for each part;
  • the processing means 2.
  • the image processing apparatus Detected from at least one of the plurality of human bodies, or the part not detected from any of the plurality of human bodies or not detected from the human body specified by the user input and for which the integrated feature amount has not been calculated, or 6.
  • the image processing apparatus according to any one of 1 to 5, further comprising display means for displaying information identifying the part detected from the human body designated by the user input and for which the integrated feature amount is calculated.
  • the display means is A human body model in which a plurality of objects are arranged at the parts of the human body is displayed, and the objects corresponding to the parts for which the integrated feature amount has been calculated and the objects corresponding to the parts for which the integrated feature amount has not been calculated are displayed. 7.
  • the image processing device which displays objects so as to be mutually identifiable. 8.
  • the display means is 8.
  • the image processing apparatus according to 6 or 7, further displaying information for identifying the region where the keypoint is detected and the region where the keypoint is not detected, in association with each of the plurality of human bodies.
  • the computer a skeletal structure detection step of performing a process of detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image;
  • a feature quantity calculation step of calculating a feature quantity for each of the detected key points;
  • An image processing method that performs 10.
  • skeletal structure detection means for detecting a plurality of key points corresponding to each of a plurality of parts of the human body included in the image
  • feature quantity calculation means for calculating a feature quantity of each of the detected key points
  • input means for accepting user input specifying a method for integrating the feature amounts of the key points detected from each of a plurality of human bodies for each part
  • Processing means for calculating an integrated feature amount for each part by performing integration for each part by the method specified by the user input, and performing image search or image classification based on the integrated feature amount;
  • REFERENCE SIGNS LIST 100 image processing device 101 skeleton structure detection unit 102 feature amount calculation unit 103 processing unit 104 storage unit 105 display unit 106 input unit 1A processor 2A memory 3A input/output I/F 4A peripheral circuit 5A bus

Abstract

本発明は、画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出部(101)と、検出されたキーポイント各々の特徴量を算出する特徴量算出部(102)と、複数の人体各々から検出されたキーポイントの特徴量を、部位ごとに統合する手法を指定するユーザ入力を受付ける入力部(106)と、ユーザ入力で指定された手法で部位ごとの統合を行うことで部位ごとの統合特徴量を算出し、統合特徴量に基づき画像検索又は画像分類を行う処理部(103)と、を有する画像処理装置(100)を提供する。

Description

画像処理装置、画像処理方法、およびプログラム
 本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
 本発明に関連する技術が特許文献1及び非特許文献1に開示されている。特許文献1には、画像に含まれる人体の複数のキーポイント各々の特徴量を算出し、算出した特徴量に基づき姿勢が似た人体や動きが似た人体を含む画像を検索したり、当該姿勢や動きが似たもの同士でまとめて分類したりする技術が開示されている。また、非特許文献1には、人物の骨格推定に関連する技術が開示されている。
国際公開第2021/084677号
Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, P. 7291-7299
 人体の一部が他の物体や自身の他の部分により隠れて見えない画像や、人体の一部が所望の姿勢や動きをしているが、他の部分が所望の姿勢や動きをしていない画像を用いて特許文献1に開示の検索や分類を行った場合、その精度が悪くなる。人体の一部が隠れておらず、全てのキーポイントを検出可能な画像や、人体の全てが所望の姿勢や動きをしている画像を用いることで、当該不都合を軽減できる。しかし、そのような画像を準備することが難しい場合がある。
 本発明は、姿勢や動きが似た人体を含む画像を検索したり、姿勢や動きが似た人体を含む画像同士でまとめて分類したりする技術において、その精度を向上させることを課題とする。
 本発明によれば、
 画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段と、
 検出された前記キーポイント各々の特徴量を算出する特徴量算出手段と、
 複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段と、
 前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段と、
を有する画像処理装置が提供される。
 また、本発明によれば、
 コンピュータが、
  画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出工程と、
  検出された前記キーポイント各々の特徴量を算出する特徴量算出工程と、
  複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力工程と、
  前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理工程と、
を実行する画像処理方法が提供される。
 また、本発明によれば、
 コンピュータを、
  画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段、
  検出された前記キーポイント各々の特徴量を算出する特徴量算出手段、
  複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段、
  前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段、
として機能させるプログラムが提供される。
 本発明によれば、姿勢や動きが似た人体を含む画像を検索したり、姿勢や動きが似た人体を含む画像同士でまとめて分類したりする技術において、その精度を向上させることができる。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる公的な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本実施形態の静止画から統合特徴量を算出する処理の一例を示す図である。 本実施形態の画像処理装置のハードウエア構成の一例を示す図である。 本実施形態の画像処理装置の機能ブロック図の一例を示す図である。 本実施形態の画像処理装置により検出される人体モデルの骨格構造の一例を示す図である。 本実施形態の画像処理装置により検出された人体モデルの骨格構造の一例を示す図である。 本実施形態の画像処理装置により検出された人体モデルの骨格構造の一例を示す図である。 本実施形態の画像処理装置により算出されたキーポイントの特徴量の一例を示す図である。 本実施形態の画像処理装置により算出されたキーポイントの特徴量の一例を示す図である。 本実施形態の画像処理装置により算出されたキーポイントの特徴量の一例を示す図である。 本実施形態の動画から統合特徴量を算出する処理の一例を示す図である。 本実施形態のフレーム画像の対応関係を特定する処理の一例を示す図である。 本実施形態の動画から統合特徴量を算出する処理の一例を示す図である。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の静止画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の静止画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の静止画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の静止画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の動画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の動画から統合特徴量を算出する処理の一例を説明するための図である。 本実施形態の画像処理装置の機能ブロック図の一例を示す図である。 本実施形態の画像処理装置が表示する情報の一例を模式的に示す図である。 本実施形態の画像処理装置が表示する情報の一例を模式的に示す図である。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の機能ブロック図の一例を示す図である。 本実施形態の画像処理装置の機能ブロック図の一例を示す図である。 本実施形態の画像処理装置が表示する情報の一例を模式的に示す図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
<第1の実施形態>
「概要」
 本実施形態の画像処理装置は、複数の人体各々から人体の各部位(以下、「人体の部位」を単に「部位」という場合がある)に対応するキーポイントを検出し、キーポイントの特徴量を部位ごとに統合して、部位ごとの統合特徴量を算出する。そして、画像処理装置は、算出した部位ごとの統合特徴量に基づき、画像検索や画像分類を行う。このような画像処理装置によれば、1つの人体からあるキーポイントが検出されなかった場合に、他の人体から検出されたそのキーポイントの特徴量で補完することができる。このため、全ての部位各々に対応した統合特徴量を算出することができる。
 図1を用いて、統合特徴量を算出する処理の一例を説明する。図示する第1の静止画は、手を洗っている人物を当該人物の左側から撮影した画像である。第1の静止画では、当該人物の身体の右側の一部は隠れて見えていない。このような第1の静止画に対して人体のN個のキーポイントを検出する処理を行った場合、N個のキーポイントの中の一部、すなわち隠れていない部分に含まれるキーポイントは検出されるが、N個のキーポイントの中の他の一部、すなわち隠れている部分に含まれるキーポイントは検出されない。結果、いくつかのキーポイントの特徴量は欠損した状態となる。
 同様に、第2の静止画は、手を洗っている人物を当該人物の右側から撮影した画像である。第2の静止画では、当該人物の身体の左側の一部は隠れて見えていない。このような第2の静止画に対して人体のN個のキーポイントを検出する処理を行った場合、N個のキーポイントの中の一部、すなわち隠れていない部分に含まれるキーポイントは検出されるが、N個のキーポイントの中の他の一部、すなわち隠れている部分に含まれるキーポイントは検出されない。結果、いくつかのキーポイントの特徴量は欠損した状態となる。
 本実施形態の画像処理装置がこのような第1の静止画に含まれる人体から検出されたキーポイントの特徴量と、第2の静止画に含まれる人体から検出されたキーポイントの特徴量を統合した場合、第1の静止画に含まれる人体から検出されなかったキーポイントの特徴量を、第2の静止画に含まれる人体から検出されたキーポイントの特徴量で補完することができる。同様に、第2の静止画に含まれる人体から検出されなかったキーポイントの特徴量を、第1の静止画に含まれる人体から検出されたキーポイントの特徴量で補完することができる。結果、N個の部位全てに対応した統合特徴量を算出することができる。そして、N個の部位全てに対応した統合特徴量を用いて、姿勢や動きが似た人体を含む画像を検索したり、姿勢や動きが似た人体を含む画像同士でまとめて分類したりすることで、その精度を向上する。
「ハードウエア構成」
 次に、画像処理装置のハードウエア構成の一例を説明する。画像処理装置の各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
 図2は、画像処理装置のハードウエア構成を例示するブロック図である。図2に示すように、画像処理装置は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。画像処理装置は周辺回路4Aを有さなくてもよい。なお、画像処理装置は物理的及び/又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が上記ハードウエア構成を備えることができる。
 バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU、GPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置、外部装置、外部サーバ、外部センサ、カメラ等から情報を取得するためのインターフェイスや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。入力装置は、例えばキーボード、マウス、マイク、物理ボタン、タッチパネル等である。出力装置は、例えばディスプレイ、スピーカ、プリンター、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
「機能構成」
 図3に、本実施形態の画像処理装置100の機能ブロック図の一例を示す。図示する画像処理装置100は、骨格構造検出部101と、特徴量算出部102と、処理部103と、記憶部104とを有する。なお、画像処理装置100は、記憶部104を有さなくてもよい。この場合、外部装置が記憶部104を備える。そして、記憶部104は、画像処理装置100からアクセス可能に構成される。
 骨格構造検出部101は、画像に含まれる人体の複数の部位各々に対応するN(Nは2以上の整数)個のキーポイントを検出する処理を行う。画像は、静止画及び動画を含む概念である。動画が処理対象の場合、骨格構造検出部101は、フレーム画像毎にキーポイントを検出する処理を行う。骨格構造検出部101による当該処理は、特許文献1に開示されている技術を用いて実現される。詳細は省略するが、特許文献1に開示されている技術では、非特許文献1に開示されたOpenPose等の骨格推定技術を利用して骨格構造の検出を行う。当該技術で検出される骨格構造は、関節等の特徴的な点である「キーポイント」と、キーポイント間のリンクを示す「ボーン(ボーンリンク)」とから構成される。
 図4は、骨格構造検出部101により検出される人体モデル300の骨格構造を示しており、図5及び図6は、骨格構造の検出例を示している。骨格構造検出部101は、OpenPose等の骨格推定技術を用いて、2次元の画像から図4のような人体モデル(2次元骨格モデル)300の骨格構造を検出する。人体モデル300は、人物の関節等のキーポイントと、各キーポイントを結ぶボーンから構成された2次元モデルである。
 骨格構造検出部101は、例えば、画像の中からキーポイントとなり得る特徴点を抽出し、キーポイントの画像を機械学習した情報を参照して、人体のN個のキーポイントを検出する。検出するN個のキーポイントは予め定められる。検出するキーポイントの数(すなわち、Nの数)や、人体のどの部分を検出するキーポイントとするかは様々であり、あらゆるバリエーションを採用できる。
 以下では、図4に示すように、頭A1、首A2、右肩A31、左肩A32、右肘A41、左肘A42、右手A51、左手A52、右腰A61、左腰A62、右膝A71、左膝A72、右足A81、左足A82が、検出対象のN個のキーポイント(N=14)として定められているものとする。なお、図4に示す人体モデル300では、これらのキーポイントを連結した人物の骨として、頭A1と首A2を結ぶボーンB1、首A2と右肩A31及び左肩A32をそれぞれ結ぶボーンB21及びボーンB22、右肩A31及び左肩A32と右肘A41及び左肘A42をそれぞれ結ぶボーンB31及びボーンB32、右肘A41及び左肘A42と右手A51及び左手A52をそれぞれ結ぶボーンB41及びボーンB42、首A2と右腰A61及び左腰A62をそれぞれ結ぶボーンB51及びボーンB52、右腰A61及び左腰A62と右膝A71及び左膝A72をそれぞれ結ぶボーンB61及びボーンB62、右膝A71及び左膝A72と右足A81及び左足A82をそれぞれ結ぶボーンB71及びボーンB72がさらに定められている。
 図5は、直立した状態の人体からキーポイントを検出した例である。図5では、直立した人体が正面から撮像されており、14個のキーポイントすべてが検出されている。図6は、しゃがみ込んでいる状態の人体からキーポイントを検出した例である。図6では、しゃがみ込んでいる人体が右側から撮像されており、14個のキーポイントの中の一部のみが検出されている。具体的には、図6では、頭A1、首A2、右肩A31、右肘A41、右手A51、右腰A61、右膝A71及び右足A81が検出されており、左肩A32、左肘A42、左手A52、左腰A62、左膝A72及び左足A82が検出されていない。
 図3に戻り、特徴量算出部102は、検出された2次元の骨格構造の特徴量を算出する。例えば、特徴量算出部102は、検出されたキーポイント各々の特徴量を算出する。
 骨格構造の特徴量は、人物の骨格の特徴を示しており、人物の骨格に基づいて人物の状態(姿勢や動き)を分類や検索するための要素となる。通常、この特徴量は、複数のパラメータを含んでいる。そして特徴量は、骨格構造の全体の特徴量でもよいし、骨格構造の一部の特徴量でもよく、骨格構造の各部のように複数の特徴量を含んでもよい。特徴量の算出方法は、機械学習や正規化等の任意の方法でよく、正規化として最小値や最大値を求めてもよい。一例として、特徴量は、骨格構造を機械学習することで得られた特徴量や、骨格構造の頭部から足部までの画像上の大きさ、画像上の骨格構造を含む骨格領域の上下方向における複数のキーポイントの相対的な位置関係、当該骨格領域の左右方向における複数のキーポイントの相対的な位置関係等である。骨格構造の大きさは、画像上の骨格構造を含む骨格領域の上下方向の高さや面積等である。上下方向(高さ方向または縦方向)は、画像における上下の方向(Y軸方向)であり、例えば、地面(基準面)に対し垂直な方向である。また、左右方向(横方向)は、画像における左右の方向(X軸方向)であり、例えば、地面に対し平行な方向である。
 なお、ユーザが望む分類や検索を行うためには、分類や検索処理に対しロバスト性を有する特徴量を用いることが好ましい。例えば、ユーザが、人物の向きや体型に依存しない分類や検索を望む場合、人物の向きや体型にロバストな特徴量を使用してもよい。同じ姿勢で様々な方向に向いている人物の骨格や同じ姿勢で様々な体型の人物の骨格を学習することや、骨格の上下方向のみの特徴を抽出することで、人物の向きや体型に依存しない特徴量を得ることができる。
 特徴量算出部102による上記処理は、特許文献1に開示されている技術を用いて実現される。
 図7は、特徴量算出部102が求めた複数のキーポイント各々の特徴量の例を示している。なお、ここで例示するキーポイントの特徴量はあくまで一例であり、これに限定されない。
 この例では、キーポイントの特徴量は、画像上の骨格構造を含む骨格領域の上下方向における複数のキーポイントの相対的な位置関係を示す。首のキーポイントA2を基準点とするため、キーポイントA2の特徴量は0.0となり、首と同じ高さの右肩のキーポイントA31及び左肩のキーポイントA32の特徴量も0.0である。首よりも高い頭のキーポイントA1の特徴量は-0.2である。首よりも低い右手のキーポイントA51及び左手のキーポイントA52の特徴量は0.4であり、右足のキーポイントA81及び左足のキーポイントA82の特徴量は0.9である。この状態から人物が左手を挙げると、図8のように左手が基準点よりも高くなるため、左手のキーポイントA52の特徴量は-0.4となる。一方で、Y軸の座標のみを用いて正規化を行っているため、図9のように、図7に比べて骨格構造の幅が変わっても特徴量は変わらない。すなわち、当該例の特徴量(正規化値)は、骨格構造(キーポイント)の高さ方向(Y方向)の特徴を示しており、骨格構造の横方向(X方向)の変化に影響を受けない。
 図3に戻り、処理部103は、部位ごとにM(Mは2以上の整数)個の人体各々から検出されたキーポイントの特徴量を統合して、部位ごとの統合特徴量を算出する。そして、処理部103は、部位ごとの統合特徴量に基づき画像検索又は画像分類を行う。なお、上述の通り、複数のキーポイントは、複数の部位各々に対応する。このため、「部位ごと」に処理を行うことは「キーポイントごと」に処理を行うことと同じ意味である。例えば、部位ごとに算出することで得られる「部位ごとの統合特徴量」は、キーポイントごとに算出することで得られる「N個のキーポイント各々の統合特徴量」と同じ意味である。
-統合特徴量を算出する処理-
〇静止画を処理対象とする場合
 まず、ユーザが、統合特徴量を算出する処理の対象とするM個の人体を指定する。例えば、ユーザは、各々が1つの人体を含むM個の静止画を指定(M個の静止画ファイルの指定)することで、M個の人体を指定してもよい。M個の静止画の指定は、例えばM個の静止画を画像処理装置100に入力する操作や、画像処理装置100に記憶されている複数の静止画の中からM個の静止画を選択する操作等である。この場合、上述した骨格構造検出部101は、指定されたM個の静止画各々に対し、N個のキーポイントを検出する処理を行う。なお、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。特徴量算出部102は、検出されたキーポイント各々の特徴量を算出する。
 その他、ユーザは、少なくとも1つの静止画を指定(少なくとも1つの静止画ファイルの指定)するとともに、指定した少なくとも1つの静止画内で各々が1つの人体を含むM個の領域を指定することで、M個の人体を指定してもよい。なお、1つの静止画の中から複数の領域(すなわち、複数の人体)を指定してもよい。静止画の中の一部の領域を指定する処理は、従来のあらゆる技術を利用して実現できる。この場合、上述した骨格構造検出部101は、指定されたM個の領域各々に対し、N個のキーポイントを検出する処理を行う。なお、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。特徴量算出部102は、検出されたキーポイント各々の特徴量を算出する。
 ユーザが指定したM個の人体各々のキーポイントの特徴量が算出された後、処理部103は、キーポイント毎にそれらを統合して統合特徴量を算出する。処理部103は、例えばN個のキーポイントの中から順に1つを選択し、統合特徴量を算出する処理を行う。以下では、N個のキーポイントの中の1つであって、処理の対象として選択されているキーポイントを「第1のキーポイント」と呼ぶ。
 処理部103は、M個の人体の中の一部から第1のキーポイントが検出されておらず、M個の人体の中の他の一部から第1のキーポイントが検出されている場合、他の一部から検出された第1のキーポイントの特徴量に基づき、第1のキーポイントの統合特徴量(「第1の部位の統合特徴量」と同義)を算出する。当該処理により、複数の人体各々から算出されたキーポイントの特徴量を、互いに欠けている部分を補完し合って統合することが可能となる。
 なお、第1のキーポイントの検出状態は、(1)M個の人体の中の1つのみから検出、(2)M個の人体の中の複数から検出、(3)M個の人体の中のいずれからも検出されない、の中のいずれかとなる。処理部103は、各検出状態に応じた処理で、統合特徴量を算出することができる。以下、詳細に説明する。
(1)M個の人体の中の1つのみから検出
 M個の人体の中の1つのみから第1のキーポイントが検出されている場合、処理部103は、その1つの人体から検出された第1のキーポイントの特徴量を、第1のキーポイントの統合特徴量とする。
(2)M個の人体の中の複数の人体から検出
 M個の人体の中の複数から第1のキーポイントが検出されている場合、処理部103は、以下の算出例1乃至4のいずれかにより、第1のキーポイントの統合特徴量を算出する。
・算出例1
 M個の人体の中の複数から第1のキーポイントが検出されている場合、処理部103は、複数の人体から検出された第1のキーポイントの特徴量の統計値を、第1のキーポイントの統合特徴量として算出する。統計値は、平均値、中央値、最頻値、最大値、又は最小値である。
・算出例2
 M個の人体の中の複数から第1のキーポイントが検出されている場合、処理部103は、複数の人体から検出された第1のキーポイントの特徴量の中の確信度が最も高い特徴量を、第1のキーポイントの統合特徴量とする。確信度の算出方法は特段制限されない。例えば、OpenPose等の骨格推定技術において、検出された各キーポイントに紐付けて出力されるスコアを、各キーポイントの確信度としてもよい。
・算出例3
 M個の人体の中の複数から第1のキーポイントが検出されている場合、処理部103は、複数の人体各々から検出された第1のキーポイントの特徴量の確信度に応じた第1のキーポイントの特徴量の重み付け平均値を、第1のキーポイントの統合特徴量として算出する。確信度の算出方法は特段制限されない。例えば、OpenPose等の骨格推定技術において、検出された各キーポイントに紐付けて出力されるスコアを、各キーポイントの確信度としてもよい。
・算出例4
 予め、ユーザは、指定したM個の人体各々の優先順位を指定しておく。指定した内容は画像処理装置100に入力される。そして、M個の人体の中の複数から第1のキーポイントが検出されている場合、処理部103は、第1のキーポイントが検出された複数の人体の中の最も優先順位が高い人体から検出された第1のキーポイントの特徴量を、第1のキーポイントの統合特徴量とする。
(3)M個の人体の中のいずれからも検出されない
 M個の人体の中のいずれからも第1のキーポイントが検出されていない場合、処理部103は、第1のキーポイントの統合特徴量を算出しない。
〇動画を処理対象とする場合
 まず、ユーザが、統合特徴量を算出する処理の対象とするM個の人体を指定する。例えば、ユーザは、各々が1つの人体を含むM個の動画を指定(M個の動画ファイルの指定)することで、M個の人体を指定してもよい。M個の動画の指定は、例えばM個の動画を画像処理装置100に入力する操作や、画像処理装置100に記憶されている複数の動画の中からM個の動画を選択する操作等である。この場合、上述した骨格構造検出部101は、指定されたM個の動画各々のフレーム画像に対し、N個のキーポイントを検出する処理を行う。なお、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。特徴量算出部102は、検出されたキーポイント各々の特徴量を算出する。
 その他、ユーザは、少なくとも1つの動画を指定(少なくとも1つの動画ファイルの指定)するとともに、指定した少なくとも1つの動画内で各々が1つの人体を含むM個のシーン(動画の中の一部のシーン、動画が含む複数のフレーム画像の中の一部のフレーム画像で構成されるシーン)やM個の領域を指定することで、M個の人体を指定してもよい。なお、1つの動画の中から複数のシーンや複数の領域(すなわち、複数の人体)を指定してもよい。動画の中の一部のシーンや一部の領域を指定する処理は、従来のあらゆる技術を利用して実現できる。この場合、上述した骨格構造検出部101は、指定されたM個のシーン各々のフレーム画像(又は、フレーム画像の中のユーザが指定した一部領域)に対し、N個のキーポイントを検出する処理を行う。なお、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。特徴量算出部102は、検出されたキーポイント各々の特徴量を算出する。
 ユーザが指定したM個の人体各々のキーポイントの特徴量が算出された後、処理部103は、キーポイント毎にそれらを統合して統合特徴量を算出する。処理部103は、M個の動画やM個のシーンにおけるフレーム画像の対応関係を特定し、互いに対応する複数のフレーム画像各々から検出されたキーポイントの特徴量を、キーポイント毎に統合する。以下、図10乃至図12を用いてより詳細に説明する。
 図10には、2個(M=2)の動画(シーン)が示されている。各々、1つの人体を含む。また、各々、複数のフレーム画像を含む。
 処理部103は、図11に示すように、第1の動画内で所定の動きを行う人体と、第2の動画内で所定の動きを行う人体とが同様の姿勢をとるフレーム画像同士を対応付ける。図11では、互いに対応するフレーム画像を線で結んでいる。なお、図示するように、第1の動画の1つのフレーム画像が第2の動画の複数のフレーム画像に対応付けられてもよい。また、第2の動画の1つのフレーム画像が第1の動画の複数のフレーム画像に対応付けられてもよい。上記対応関係の特定は、例えば、DTW(Dinamic Time Warping)等の技術を利用して実現することができる。この時、対応関係の特定に必要な距離スコアとしては、特徴量間の距離(マンハッタン距離やユークリッド距離)などを用いることができる。当該技術によれば、図10に示すように、第1の動画と第2の動画の時間長が互いに異なる(すなわち、互いのフレーム画像の数が異なる)場合でも、上記対応関係を特定することができる。
 この場合、図12に示すように、対応する複数のフレーム画像の組み合わせ毎にN個のキーポイントの特徴量を算出することで、N個のキーポイントの統合特徴量の時系列データが得られる。図12のF11+F21は、図10の第1の動画のフレーム画像F11から検出された人体のキーポイントの特徴量と、第2の動画のフレーム画像F21から検出された人体のキーポイントの特徴量とを統合して得られたN個のキーポイントの統合特徴量である。対応するフレーム画像から検出された人体のキーポイントの特徴量を統合する手段は、上述した静止画から検出された人体のキーポイントの特徴量を統合する手段と同様である。
-画像検索処理-
 画像検索処理においては、処理部103は、上述のようにユーザが指定したM個の人体に基づき算出した統合特徴量をクエリとして、統合特徴量で示される姿勢と類似する姿勢の人体を含む静止画や、統合特徴量の時系列データで示される動きと類似する動きをする人体を含む動画等を検索する。検索の仕方は、特許文献1に開示の技術を利用して実現できる。
-画像分類処理-
 画像分類処理においては、処理部103は、上述のようにユーザが指定したM個の人体に基づき算出した統合特徴量で示される姿勢や動きを、分類処理の1つの対象として扱い、姿勢や動き似たもの同士でまとめて分類する。分類の仕方は、特許文献1に開示の技術を利用して実現できる。
-その他の処理-
 処理部103は、上述のようにユーザが指定したM個の人体に基づき算出した統合特徴量で示される姿勢や動きを、1つの処理対象としてデータベース(記憶部104)に登録してもよい。データベースに登録された複数の姿勢や動きは、例えば上記画像検索処理においてクエリと照合される対象となってもよいし、上記画像分類処理において分類処理の対象となってもよい。例えば、複数のカメラで同一人物を複数の角度から撮影し、この複数のカメラで撮影された複数の画像に含まれる同一人物の複数の人体を上記M個の人体として指定することで、その人体の姿勢や動きをよく示した統合特徴量が算出され、データベースに登録される。
 次に、図13のフローチャートを用いて、画像処理装置100の処理の流れの一例を説明する。
 まず、画像処理装置100は、少なくとも1つの画像を取得する(S10)。次いで、画像処理装置100は、取得した少なく1つの画像に含まれるM個の人体各々からN個のキーポイントを検出する処理を行う(S11)。各人体からは、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。
 次いで、画像処理装置100は、人体毎に、検出されたキーポイントの特徴量を算出する(S12)。次いで、画像処理装置100は、M個の人体各々から検出されたキーポイントの特徴量を統合して、N個のキーポイント各々の統合特徴量を算出する(S13)。次いで、画像処理装置100は、S13で算出された統合特徴量に基づき画像検索又は画像分類を行う(S14)。
 ここで、図14のフローチャートを用いて、S13の処理の一例を詳細に説明する。
 画像処理装置100は、N個のキーポイントの中の1つを処理対象として選択する(S20)。以下、選択されたキーポイントを第1のキーポイントと呼ぶ。
 その後、画像処理装置100は、第1のキーポイントが検出された人体の数に応じた処理を行う。M個の人体の中の1つのみから第1のキーポイントが検出されている場合(S21の「1個」)、画像処理装置100は、その1つの人体から検出された第1のキーポイントの特徴量を、第1のキーポイントの統合特徴量として出力する(S23)。
 M個の人体の中の複数から第1のキーポイントが検出されている場合(S21の「複数」)、画像処理装置100は、その複数の人体から検出された第1のキーポイントの特徴量に基づく演算処理で算出した値を、第1のキーポイントの統合特徴量として出力する(S24)。演算処理の詳細は上述の通りである。
 M個の人体の中のいずれからも第1のキーポイントが検出されていない場合(S21の「0個」)、処理部103は、第1のキーポイントの統合特徴量を算出せず、結合特徴量がない旨を出力する(S22)。
「作用効果」
 画像において、人体の一部が他の物体や自身の他の部分により隠れて見えない場合がある。このような画像を特許文献1に開示の技術で処理した場合、隠れている部分のキーポイントは検出されず、その特徴量も算出されない。そして、検出された一部のキーポイントの特徴量のみに基づき検索/分類した場合、身体の少なくとも一部分の姿勢が似た人体や身体の少なくとも一部分の動きが似た人体を含む画像が検索されたり、身体の少なくとも一部分の姿勢や動きが似たもの同士でまとめて分類されたりする。結果、検索や分類の精度が低下する。
 本実施形態の画像処理装置100は、複数の人体各々から検出されたキーポイントの特徴量を統合して、複数のキーポイント各々の統合特徴量を算出する。そして、画像処理装置は、算出した統合特徴量に基づき、画像検索や画像分類を行う。このような画像処理装置によればある人体から検出されなかったキーポイントの特徴量を、他の人体から検出されたキーポイントの特徴量で補完することができる。このため、全てのキーポイント各々に対応した統合特徴量を算出することができる。そして、全てのキーポイント各々に対応した統合特徴量に基づき画像検索や画像分類を行うことで、その精度が向上する。
 本実施形態では、例えば、図15及び図16に示すような複数の人体PのN個のキーポイントを統合することができる。図15の静止画は、手を洗っている人物を当該人物の左側から撮影した画像である。第1の静止画では、当該人物の身体の左側は見えているが、身体の右側は隠れて見えていない。結果、当該人物の身体の左側部分に含まれるキーポイントは検出されているが、右側部分に含まれるキーポイントは検出されていない。図16の静止画は、手を洗っている人物を当該人物の右側から撮影した画像である。第2の静止画では、当該人物の身体の右側は見えているが、身体の左側は隠れて見えていない。結果、当該人物の身体の右側部分に含まれるキーポイントは検出されているが、左側部分に含まれるキーポイントは検出されていない。このような2つの静止画から検出された人体のキーポイントの特徴量を統合することで、互いの欠けている部分を互いに補完し合い、N個の全てのキーポイント各々に対応した統合特徴量を算出することができる。
 また、本実施形態では、例えば、図17及び図18に示すような複数の人体PのN個のキーポイントを統合することができる。図17の静止画は、左手を腰に当てて立っている人物を当該人物の正面から撮影した画像である。第1の静止画では、当該人物の身体において隠れている部分はない。結果、当該人体PからはN個全てのキーポイントが検出されている。図18の静止画は、右手を挙げて立っている人物を当該人物の正面から撮影した画像である。第2の静止画では、当該人物の左半身の一部が車両Qで隠れている。結果、当該人物の身体の隠れていない部分に含まれるキーポイントは検出されているが、隠れている部分に含まれるキーポイントは検出されていない。このような2つの静止画から検出された人体のキーポイントの特徴量を統合することで、第2の静止画で欠けている部分を第1の静止画で補完し、N個の全てのキーポイント各々に対応した統合特徴量を算出することができる。この例の場合、例えば、上述した例4の手法、すなわちM個の人体各々の優先順位に基づく統合特徴量の算出を行ってもよい。例えば、ユーザは、第2の静止画に含まれる人体を第1の静止画に含まれる人体よりも優先順位を高く指定する。このようにした場合、第1の静止画及び第2の静止画両方に現れている部分の特徴は、第2の静止画に現れている部分が採用されることとなる。結果、算出されたN個の統合特徴量は、第1の静止画のように左手を腰に当て、第2の静止画のように右手を挙げて立っている姿勢を示すこととなる。
 また、本実施形態では、例えば、図19及び図20に示すような複数の人体PのN個のキーポイントを統合することができる。図19の動画は、立った状態で右手を挙げる動きをする人物を当該人物の正面から撮影した画像である。第2の動画では、当該人物の左半身の一部が車両Qで隠れている。結果、当該人物の身体の隠れていない部分に含まれるキーポイントは検出されているが、隠れている部分に含まれるキーポイントは検出されていない。図20の動画は、腰に手を当てて立った状態の人物を当該人物の正面から撮影した画像である。第2の動画では、当該人物の身体において隠れている部分はない。結果、当該人体PからはN個全てのキーポイントが検出されている。このような2つの動画から検出された人体のキーポイントの特徴量を統合することで、第1の動画で欠けている部分を第2の動画で補完し、N個の全てのキーポイント各々に対応した統合特徴量を算出することができる。この例の場合、例えば、上述した例4の手法、すなわちM個の人体各々の優先順位に基づく統合特徴量の算出を行ってもよい。例えば、ユーザは、第1の動画に含まれる人体を第2の動画に含まれる人体よりも優先順位を高く指定する。このようにした場合、第1の動画及び第2の動画両方に現れている部分の特徴は、第1の動画に現れている部分が採用されることとなる。このようにした場合、算出されたN個の統合特徴量の時系列データは、第2の動画のように左手を腰に当て、第1の動画に示すように立った状態で右手を挙げる動きを示すこととなる。
 なお、M個の人体は、同一人物の人体であってもよいし、異なる人物の人体であってもよい。
<第2の実施形態>
 本実施形態の画像処理装置100は、M個の人体各々から検出されたキーポイントを統合して統合特徴量を算出する処理の詳細が、第1の実施形態と異なる。第1の実施形態では、例えば図14に示すようなフローで、統合特徴量を算出した。本実施形態では、画像処理装置100は、ユーザ入力で指定された手法で、M個の人体各々から検出されたキーポイントを統合して統合特徴量を算出する。以下、詳細に説明する。
 図21に、本実施形態の画像処理装置100の機能ブロック図の一例を示す。図示する画像処理装置100は、骨格構造検出部101と、特徴量算出部102と、処理部103と、記憶部104と、入力部106とを有する。なお、画像処理装置100は、記憶部104を有さなくてもよい。この場合、外部装置が記憶部104を備える。そして、記憶部104は、画像処理装置100からアクセス可能に構成される。
 入力部106は、M個の人体各々から検出されたキーポイントの特徴量を統合する手法を指定するユーザ入力を受付ける。入力部106は、タッチパネル、キーボード、マウス、物理ボタン、マイク、ジェスチャー入力装置等のあらゆる入力装置を介して、上記ユーザ入力を受付けることができる。
 処理部103は、ユーザ入力で指定された手法で、キーポイント毎にM個の人体各々から検出された特徴量を統合して、N個のキーポイント各々の統合特徴量を算出する。
 入力部106及び処理部103は、以下の処理例1及び2のいずれかを実行することができる。
-処理例1-
 当該例では、入力部106は、M個の人体の各々に対して、特徴量を採用するキーポイントを指定する入力を行う。これは、キーポイント毎に、いずれの人体から検出されたキーポイントの特徴量を採用するかを指定する入力と同義である。そして、処理部103は、第1のキーポイントの統合特徴量として、ユーザ入力で指定された人体から検出された第1のキーポイントの特徴量を決定する。
 当該ユーザ入力を受付ける手段は様々である。例えば、入力部106は、図22に示すように、N個のキーポイント各々に対応するN個のオブジェクトRを人体の対応する骨格位置に配置した人体モデルを表示し、算出された特徴量を採用するキーポイントに対応するオブジェクト、又は採用しないキーポイントに対応するオブジェクトを選択するユーザ入力を、M個の人体各々に対応して受付けてもよい。
 その他、入力部106は、頭、首、右肩1、左肩、右肘、左肘、右手、左手、右腰、左腰、右膝、左膝、右足、左足等の複数のキーポイント各々に対応する身体の部位の名称を表示し、その中から、算出された特徴量を採用するキーポイント、又は採用しないキーポイントを選択するユーザ入力を、M個の人体各々に対応して受付けてもよい。この場合、チェックボックス等のUI(user interface)部品を使用してもよい。
 その他、入力部106は、図23に示すように、N個のキーポイント各々に対応するN個のオブジェクトRを人体の対応する骨格位置に配置した人体モデルを表示し、当該人体モデルにおいて身体の少なくとも一部分を選択するユーザ入力を受付けてもよい。そして、入力部106は、ユーザ入力で選択された身体の部分に存在するキーポイントを、算出された特徴量を採用するキーポイント又は算出された特徴量を採用しないキーポイントとして決定してもよい。図23に示す例では、枠Wにより、身体の少なくとも一部分が選択されている。ユーザは、枠Wの位置や大きさを変更し、所望のキーポイントが枠Wの中に含まれるように調整する。
 その他、入力部106は、上半身、下半身、右半身、左半身等の身体の一部分の名称を表示し、その中から少なくとも1つを選択するユーザ入力を受付けてもよい。そして、入力部106は、ユーザ入力で選択された身体の部分に存在するキーポイントを、算出された特徴量を採用するキーポイント又は算出された特徴量を採用しないキーポイントとして決定してもよい。この場合、チェックボックス等のUI(user interface)部品を使用してもよい。
-処理例2-
 当該例では、入力部106は、M個の人体の各々に対して、キーポイント毎に、M個の人体各々から算出された特徴量の重みを指定するユーザ入力を受付ける。そして、処理部103は、キーポイント各々の統合特徴量として、M個の人体各々から算出された特徴量の上記ユーザが指定した重みに応じた重み付け平均値を算出する。
 キーポイント毎に重みを指定する手法は様々である。例えば、入力部106は、処理例1で説明した手法でキーポイントを個別に指定する入力を受付けた後、指定したキーポイントの重みを指定する入力をさらに受付けてもよい。その他、入力部106は、処理例1で説明した手法で身体の一部を指定する入力を受付けた後、指定した身体の一部に含まれるすべてのキーポイントに共通する重みを指定する入力をさらに受付けてもよい。
 次に、図24のフローチャートを用いて、画像処理装置100の処理の流れの一例を説明する。なお、各ステップの処理順は、適宜変更可能である。
 まず、画像処理装置100は、少なくとも1つの画像を取得する(S30)。次いで、画像処理装置100は、M(Mは2以上の整数)個の人体各々から検出されたキーポイントの特徴量を統合する手法を指定するユーザ入力を受付ける(S31)。
 次いで、画像処理装置100は、取得した少なく1つの画像に含まれるM個の人体各々からN個のキーポイントを検出する処理を行う(S32)。各人体からは、N個すべてのキーポイントが検出される場合もあれば、N個のキーポイントの一部のみが検出される場合もある。
 次いで、画像処理装置100は、人体毎に、検出されたキーポイントの特徴量を算出する(S33)。次いで、画像処理装置100は、S31で指定された手法で、M個の人体各々から検出されたキーポイントの特徴量を統合して、N個のキーポイント各々の統合特徴量を算出する(S34)。次いで、画像処理装置100は、S34で算出された統合特徴量に基づき画像検索又は画像分類を行う(S35)。
 本実施形態の画像処理装置100のその他の構成は、第1の実施形態と同様である。
 本実施形態の画像処理装置100によれば、第1の実施形態と同様の作用効果が実現される。また、ユーザが統合の仕方を指定できるので、ユーザが望む統合特徴量を算出できるようになる。
<第3の実施形態>
 本実施形態の画像処理装置100は、統合特徴量が算出されているキーポイントと、統合特徴量が算出されてないキーポイントとを識別する情報を出力する機能を有する。以下、詳細に説明する。
 図25に、本実施形態の画像処理装置100の機能ブロック図の一例を示す。図示する画像処理装置100は、骨格構造検出部101と、特徴量算出部102と、処理部103と、記憶部104と、表示部105とを有する。
 図26に、本実施形態の画像処理装置100の機能ブロック図の他の一例を示す。図示する画像処理装置100は、骨格構造検出部101と、特徴量算出部102と、処理部103と、記憶部104と、表示部105と、入力部106とを有する。
 なお、画像処理装置100は、記憶部104を有さなくてもよい。この場合、外部装置が記憶部104を備える。そして、記憶部104は、画像処理装置100からアクセス可能に構成される。
 表示部105は、ユーザが指定したM個の人体のいずれからも検出されず、統合特徴量が算出されていないキーポイントと、M個の人体の少なくとも1つから検出され、統合特徴量が算出されたキーポイントとを識別する情報を表示する。
 例えば、表示部105は、図27に示すように、N個のキーポイント各々に対応するN個のオブジェクトRを人体の対応する骨格位置に配置した人体モデルを表示し、統合特徴量が算出されていないキーポイントに対応するオブジェクトと、M個の人体の少なくとも1つから検出され、統合特徴量が算出されたキーポイントに対応するオブジェクトを識別可能に表示してもよい。識別可能に表示する手法は、図27に示すようにオブジェクトを塗りつぶすか否かで実現してもよいが、これに限定されない。その他の手法として、例えば、オブジェクトの色を異ならせる、オブジェクトの形を異ならせる、統合特徴量が算出されているキーポイント又は統合特徴量が算出されていないキーポイントに対応するオブジェクトを点滅等で強調表示する等が例示される。
 なお、表示部105は、ユーザが指定したM個の人体各々に紐付けて、各々から検出されたキーポイントと、検出されなかったキーポイントとを識別する情報をさらに表示してもよい。すなわち、表示部105は、キーポイントが検出された部位と、キーポイントが検出されなかった部位とを識別する情報をさらに表示してもよい。当該表示は、図27を用いて説明した手法と同様の手法で実現できる。
 本実施形態の画像処理装置100のその他の構成は、第1及び第2の実施形態と同様である。
 本実施形態の画像処理装置100によれば、第1及び第2の実施形態と同様の作用効果が実現される。また、本実施形態の画像処理装置100によれば、ユーザは、表示部105により表示された情報に基づき、指定したM個の人体でN個のキーポイントの中のいずれがカバーされているかを、容易に把握できる。また、図27のような画像を用いることで、ユーザは直感的に上記内容を把握できる。結果、ユーザは、N個全てのキーポイントの統合特徴量を生成するためにどのような人体を追加すべきかを把握できる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。上述した実施形態の構成は、互いに組み合わせたり、一部の構成を他の構成に入れ替えたりしてもよい。また、上述した実施形態の構成は、趣旨を逸脱しない範囲内において種々の変更を加えてもよい。また、上述した各実施形態や変形例に開示される構成や処理を互いに組み合わせてもよい。
 また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施の形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施の形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施の形態は、内容が相反しない範囲で組み合わせることができる。
 上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. 画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段と、
 検出された前記キーポイント各々の特徴量を算出する特徴量算出手段と、
 複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段と、
 前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段と、
を有する画像処理装置。
2. 前記入力手段は、
  前記部位ごとに、複数の前記人体の中のいずれの人体から算出された前記特徴量を採用するか指定する前記ユーザ入力を受付け、
 前記処理手段は、
  前記部位ごとの前記統合特徴量として、前記ユーザ入力で指定された人体から算出された前記特徴量を決定する1に記載の画像処理装置。
3. 前記入力手段は、
  複数の前記人体各々毎に、複数のオブジェクトを人体の前記部位に配置した人体モデルを表示し、算出された前記特徴量を採用する前記部位に対応する前記オブジェクト、又は採用しない前記部位に対応する前記オブジェクトを選択する前記ユーザ入力を受付ける2に記載の画像処理装置。
4. 前記入力手段は、
  複数の前記人体各々毎に、人体モデルを表示し、前記人体モデルにおいて身体の少なくとも一部分を選択する前記ユーザ入力を受付け、
  前記ユーザ入力で選択された身体の部分に存在する前記部位を、算出された前記特徴量を採用する前記部位又は算出された前記特徴量を採用しない前記部位として決定する2に記載の画像処理装置。
5. 前記入力手段は、
  前記部位ごとに、複数の前記人体各々から算出された前記特徴量の重みを指定する前記ユーザ入力を受付け、
 前記処理手段は、
  前記部位ごとの前記統合特徴量として、複数の前記人体各々から算出された前記特徴量の前記重みに応じた重み付け平均値を算出する1に記載の画像処理装置。
6. 複数の前記人体のいずれからも検出されず又は前記ユーザ入力で指定された人体から検出されず、前記統合特徴量が算出されていない前記部位と、複数の前記人体の少なくとも1つから検出され又は前記ユーザ入力で指定された人体から検出され、前記統合特徴量が算出された前記部位とを識別する情報を表示する表示手段をさらに有する1から5のいずれかに記載の画像処理装置。
7. 前記表示手段は、
  複数のオブジェクトを人体の前記部位に配置した人体モデルを表示するとともに、前記統合特徴量が算出された前記部位に対応する前記オブジェクトと、前記統合特徴量が算出されていない前記部位に対応する前記オブジェクトとを互いに識別可能に表示する6に記載の画像処理装置。
8. 前記表示手段は、
  複数の前記人体各々に紐付けて、前記キーポイントが検出された前記部位と、前記キーポイントが検出されなかった前記部位とを識別する情報をさらに表示する6又は7に記載の画像処理装置。
9. コンピュータが、
  画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出工程と、
  検出された前記キーポイント各々の特徴量を算出する特徴量算出工程と、
  複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力工程と、
  前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理工程と、
を実行する画像処理方法。
10. コンピュータを、
  画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段、
  検出された前記キーポイント各々の特徴量を算出する特徴量算出手段、
  複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段、
  前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段、
として機能させるプログラム。
 100  画像処理装置
 101  骨格構造検出部
 102  特徴量算出部
 103  処理部
 104  記憶部
 105  表示部
 106  入力部
 1A  プロセッサ
 2A  メモリ
 3A  入出力I/F
 4A  周辺回路
 5A  バス

Claims (10)

  1.  画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段と、
     検出された前記キーポイント各々の特徴量を算出する特徴量算出手段と、
     複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段と、
     前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段と、
    を有する画像処理装置。
  2.  前記入力手段は、
      前記部位ごとに、複数の前記人体の中のいずれの人体から算出された前記特徴量を採用するか指定する前記ユーザ入力を受付け、
     前記処理手段は、
      前記部位ごとの前記統合特徴量として、前記ユーザ入力で指定された人体から算出された前記特徴量を決定する請求項1に記載の画像処理装置。
  3.  前記入力手段は、
      複数の前記人体各々毎に、複数のオブジェクトを人体の前記部位に配置した人体モデルを表示し、算出された前記特徴量を採用する前記部位に対応する前記オブジェクト、又は採用しない前記部位に対応する前記オブジェクトを選択する前記ユーザ入力を受付ける請求項2に記載の画像処理装置。
  4.  前記入力手段は、
      複数の前記人体各々毎に、人体モデルを表示し、前記人体モデルにおいて身体の少なくとも一部分を選択する前記ユーザ入力を受付け、
      前記ユーザ入力で選択された身体の部分に存在する前記部位を、算出された前記特徴量を採用する前記部位又は算出された前記特徴量を採用しない前記部位として決定する請求項2に記載の画像処理装置。
  5.  前記入力手段は、
      前記部位ごとに、複数の前記人体各々から算出された前記特徴量の重みを指定する前記ユーザ入力を受付け、
     前記処理手段は、
      前記部位ごとの前記統合特徴量として、複数の前記人体各々から算出された前記特徴量の前記重みに応じた重み付け平均値を算出する請求項1に記載の画像処理装置。
  6.  複数の前記人体のいずれからも検出されず又は前記ユーザ入力で指定された人体から検出されず、前記統合特徴量が算出されていない前記部位と、複数の前記人体の少なくとも1つから検出され又は前記ユーザ入力で指定された人体から検出され、前記統合特徴量が算出された前記部位とを識別する情報を表示する表示手段をさらに有する請求項1から5のいずれか1項に記載の画像処理装置。
  7.  前記表示手段は、
      複数のオブジェクトを人体の前記部位に配置した人体モデルを表示するとともに、前記統合特徴量が算出された前記部位に対応する前記オブジェクトと、前記統合特徴量が算出されていない前記部位に対応する前記オブジェクトとを互いに識別可能に表示する請求項6に記載の画像処理装置。
  8.  前記表示手段は、
      複数の前記人体各々に紐付けて、前記キーポイントが検出された前記部位と、前記キーポイントが検出されなかった前記部位とを識別する情報をさらに表示する請求項6又は7に記載の画像処理装置。
  9.  コンピュータが、
      画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出工程と、
      検出された前記キーポイント各々の特徴量を算出する特徴量算出工程と、
      複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力工程と、
      前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理工程と、
    を実行する画像処理方法。
  10.  コンピュータを、
      画像に含まれる人体の複数の部位各々に対応する複数のキーポイントを検出する処理を行う骨格構造検出手段、
      検出された前記キーポイント各々の特徴量を算出する特徴量算出手段、
      複数の人体各々から検出された前記キーポイントの前記特徴量を、前記部位ごとに統合する手法を指定するユーザ入力を受付ける入力手段、
      前記ユーザ入力で指定された前記手法で前記部位ごとの統合を行うことで前記部位ごとの統合特徴量を算出し、前記統合特徴量に基づき画像検索又は画像分類を行う処理手段、
    として機能させるプログラム。
PCT/JP2021/041928 2021-11-15 2021-11-15 画像処理装置、画像処理方法、およびプログラム WO2023084780A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/041928 WO2023084780A1 (ja) 2021-11-15 2021-11-15 画像処理装置、画像処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/041928 WO2023084780A1 (ja) 2021-11-15 2021-11-15 画像処理装置、画像処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2023084780A1 true WO2023084780A1 (ja) 2023-05-19

Family

ID=86335447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041928 WO2023084780A1 (ja) 2021-11-15 2021-11-15 画像処理装置、画像処理方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2023084780A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016058078A (ja) * 2014-09-05 2016-04-21 ザ・ボーイング・カンパニーThe Boeing Company 連想メモリによって分類されたフレームを使用して位置に対する計量値を取得すること
CN109308438A (zh) * 2017-07-28 2019-02-05 上海形趣信息科技有限公司 动作识别库的建立方法、电子设备、存储介质
JP2019091138A (ja) * 2017-11-13 2019-06-13 株式会社日立製作所 画像検索装置、画像検索方法、及び、それに用いる設定画面
JP2020135747A (ja) * 2019-02-25 2020-08-31 株式会社日立ソリューションズ 行動分析装置および行動分析方法
JP2020135551A (ja) * 2019-02-21 2020-08-31 セコム株式会社 対象物認識装置、対象物認識方法、及び対象物認識プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016058078A (ja) * 2014-09-05 2016-04-21 ザ・ボーイング・カンパニーThe Boeing Company 連想メモリによって分類されたフレームを使用して位置に対する計量値を取得すること
CN109308438A (zh) * 2017-07-28 2019-02-05 上海形趣信息科技有限公司 动作识别库的建立方法、电子设备、存储介质
JP2019091138A (ja) * 2017-11-13 2019-06-13 株式会社日立製作所 画像検索装置、画像検索方法、及び、それに用いる設定画面
JP2020135551A (ja) * 2019-02-21 2020-08-31 セコム株式会社 対象物認識装置、対象物認識方法、及び対象物認識プログラム
JP2020135747A (ja) * 2019-02-25 2020-08-31 株式会社日立ソリューションズ 行動分析装置および行動分析方法

Similar Documents

Publication Publication Date Title
WO2022009301A1 (ja) 画像処理装置、画像処理方法、及びプログラム
CN114616588A (zh) 图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质
CN106030610A (zh) 移动设备的实时3d姿势识别和跟踪系统
JP7409499B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20230410361A1 (en) Image processing system, processing method, and non-transitory storage medium
WO2021229751A1 (ja) 画像選択装置、画像選択方法、およびプログラム
WO2023084780A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2023084778A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7435781B2 (ja) 画像選択装置、画像選択方法、及びプログラム
WO2022079794A1 (ja) 画像選択装置、画像選択方法、及びプログラム
Gallo et al. View-independent hand posture recognition from single depth images using PCA and Flusser moments
WO2022009279A1 (ja) 画像選択装置、画像選択方法、及びプログラム
Yousefi et al. 3D hand gesture analysis through a real-time gesture search engine
WO2023152977A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7468642B2 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2023089690A1 (ja) 検索装置、検索方法、およびプログラム
JP7364077B2 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2023152971A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2022003854A1 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2023152974A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7485040B2 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2023152973A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2023089691A1 (ja) 行動分類装置、行動分類方法、およびプログラム
WO2022249278A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7375921B2 (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: 21964133

Country of ref document: EP

Kind code of ref document: A1