JP7631769B2 - Information processing device, matching program, and matching method - Google Patents
Information processing device, matching program, and matching method Download PDFInfo
- Publication number
- JP7631769B2 JP7631769B2 JP2020204537A JP2020204537A JP7631769B2 JP 7631769 B2 JP7631769 B2 JP 7631769B2 JP 2020204537 A JP2020204537 A JP 2020204537A JP 2020204537 A JP2020204537 A JP 2020204537A JP 7631769 B2 JP7631769 B2 JP 7631769B2
- Authority
- JP
- Japan
- Prior art keywords
- face
- person
- data
- length
- posture
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 43
- 238000000034 method Methods 0.000 title claims description 19
- 238000001514 detection method Methods 0.000 claims description 112
- 230000036544 posture Effects 0.000 description 77
- 238000010586 diagram Methods 0.000 description 43
- 238000000605 extraction Methods 0.000 description 37
- 238000004891 communication Methods 0.000 description 14
- 230000001815 facial effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 244000309466 calf Species 0.000 description 5
- 210000000689 upper leg Anatomy 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000008921 facial expression Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 210000003423 ankle Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Description
本発明は、情報処理装置などに関する。 The present invention relates to an information processing device, etc.
近年、様々な分野で、データが利活用されている。特に、パーソナルデータは、個人の行動や嗜好に合わせたサービスに繋がるため、重要度が高い。パーソナルデータには、例えば、個人を撮像した撮像画像がある。 In recent years, data has been utilized in a variety of fields. Personal data in particular is highly important because it can lead to services tailored to an individual's behavior and preferences. Examples of personal data include captured images of individuals.
撮像画像の中の人物の特定や表情の認識には、顔認識技術が利用されている。顔認識技術は、例えば、人物1人の顔画像に対して人物の表情を認識する。また、撮像画像の中の人物の姿勢の認識には、姿勢推定技術が利用されている。姿勢推定技術は、例えば、人物1人の画像に対して人物の姿勢を推定し、姿勢から骨格情報を推定する。 Facial recognition technology is used to identify people and recognize their facial expressions in captured images. Facial recognition technology, for example, recognizes a person's facial expression from a facial image of a single person. Furthermore, posture estimation technology is used to recognize a person's posture in a captured image. Posture estimation technology, for example, estimates a person's posture from an image of a single person and estimates skeletal information from the posture.
顔認識技術および姿勢推定技術を用いた技術が開示されている(例えば、特許文献1,2参照)。例えば、特許文献1では、対象者の画像から、顔情報、および骨格情報を抽出し、顔情報に基づく顔の位置と骨格情報に基づく骨格の位置との位置関係について、正常か異常かを判定し、異常と判定された場合、対象者について認証不可と出力する。
Technologies using face recognition and posture estimation technologies have been disclosed (see, for example,
しかしながら、複数の人物が写った画像に対して、顔認識によって認識された顔情報と姿勢推定によって推定された姿勢情報とを精度良くマッチングすることが難しいという問題がある。例えば、対象の画像が、集合写真のような複数の人物が密接な状態の画像の場合、顔情報と姿勢情報とのマッチングに失敗することがある。ここで、マッチングに失敗する場合を、図18を参照して説明する。 However, there is a problem in that it is difficult to accurately match face information recognized by face recognition with posture information estimated by posture estimation for an image that contains multiple people. For example, if the target image is an image in which multiple people are close together, such as a group photo, matching between face information and posture information may fail. Here, a case in which matching fails will be described with reference to FIG. 18.
図18は、マッチングに失敗する場合を説明する図である。図18には、複数の人物が密接な状態の集合写真が示されている。かかる集合写真から、例えば、符号a0で示される顔情報が顔認識によって認識される。また、符号b0で示される姿勢情報の基となる人物情報が姿勢推定によって推定される。ところが、集合写真を示す画像は、符号a1で示される顔情報が他人の人物情報と重なっているので、顔情報と人物情報とのマッチングに失敗してしまうことがある。すなわち、顔情報と姿勢情報とのマッチングに失敗してしまうことがある。 Figure 18 is a diagram illustrating a case where matching fails. Figure 18 shows a group photograph in which multiple people are close together. From such a group photograph, for example, facial information indicated by the symbol a0 is recognized by facial recognition. Furthermore, personal information on which posture information indicated by the symbol b0 is based is estimated by posture estimation. However, in an image showing a group photograph, facial information indicated by the symbol a1 overlaps with other people's personal information, so matching between facial information and personal information may fail. In other words, matching between facial information and posture information may fail.
本発明は、1つの側面では、複数の人物が写った画像に対して、顔認識によって認識された顔情報と姿勢推定によって推定された姿勢情報とを精度良くマッチングすることを目的とする。 In one aspect, the present invention aims to accurately match face information recognized by face recognition with pose information estimated by pose estimation for an image containing multiple people.
1つの態様では、情報処理装置は、複数の人物を含む撮像画像からそれぞれの人物の顔を検出する第1の検出部と、前記撮像画像から人物を検出する第2の検出部と、前記第2の検出部によって検出された複数の人物に対応する人物検出データごとに、前記人物検出データに基づいて、前記撮像画像から姿勢を推定する姿勢推定部と、前記姿勢推定部によって推定された姿勢に対する姿勢データに基づく骨格情報から、顔候補データを算出する算出部と、前記人物検出データごとに算出される顔候補データに対して、前記第1の検出部によって検出されたそれぞれの人物の顔検出データの中で重なり面積が最も大きい顔検出データを同一人物として特定する特定部と、を有する。 In one aspect, the information processing device has a first detection unit that detects the faces of multiple people from a captured image including the multiple people, a second detection unit that detects people from the captured image, a posture estimation unit that estimates a posture from the captured image based on the person detection data for each of the multiple people detected by the second detection unit, a calculation unit that calculates face candidate data from skeletal information based on the posture data for the posture estimated by the posture estimation unit, and an identification unit that identifies, for the face candidate data calculated for each of the person detection data, face detection data with the largest overlap area among the face detection data of each person detected by the first detection unit as the same person.
1実施態様によれば、複数の人物が写った画像に対して、顔認識によって認識された顔情報と姿勢推定によって推定された姿勢情報とを精度良くマッチングできる。 According to one embodiment, for an image containing multiple people, face information recognized by face recognition and posture information estimated by posture estimation can be matched with high accuracy.
以下に、本願の開示する情報処理装置、マッチングプログラムおよびマッチング方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。 Below, examples of the information processing device, matching program, and matching method disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the examples.
[情報処理装置を含むシステムの構成]
図1は、実施例に係る情報処理装置を含む情報処理システムの機能構成を示すブロック図である。情報処理システム9は、情報処理装置1とカメラ3とを有する。情報処理装置1とカメラ3とは、例えば、ネットワーク5で接続される。ネットワーク5は、無線通信であっても、有線通信であっても良く、カメラ3から情報処理装置1へ画像データを送信できれば良い。一例として、無線通信の場合には、ネットワーク5は、WiFi(登録商標)や、Bluetooth(登録商標)などが挙げられる。
[Configuration of a system including an information processing device]
1 is a block diagram showing a functional configuration of an information processing system including an information processing device according to an embodiment. The
情報処理装置1は、カメラ3から送信された、複数の人物が写った画像データから、顔検出および姿勢推定を行い、顔検出および姿勢推定の情報から顔と姿勢を人物ごとにマッチングする。ここで、実施例で用いる対象となる画像の一例を、図2に示す。図2は、対象となる画像の一例を示す図である。図2に示すように、複数の人物が写った集合写真が、対象となる画像である。かかる対象となる画像は、1人の顔が他人の体と重なり、複数人が密接な状態となっている。
The
情報処理装置1は、通信部10と、制御部20と、記憶部30とを有する。通信部10は、他の装置との間の通信を制御する。例えば、通信部10は、カメラ3から、複数の人物が撮像された画像の画像データを受信する。また、通信部10は、カメラ3から、複数の人物が撮像された映像の映像データを受信しても良い。なお、実施例では、映像データは、画像データの束であるので、個々の画像データに関して説明するものとする。
The
記憶部30は、各種データや制御部20が実行するプログラムなどを記憶する。例えば、記憶部30は、画像ストレージ31、顔検出データ32、人物検出データ33、姿勢推定データ34、顔候補データ35およびマッチングリスト36を記憶する。
The
制御部20は、情報処理装置1全体を司る処理部であり、保存部21、顔検出部22、人物検出部23、姿勢推定部24、横向き判定部25、顔候補抽出部26およびマッチング部27を有する。保存部21は、画像データを保存する。例えば、保存部21は、通信部10を介してカメラ3から送信された画像データを受け取り、画像ストレージ31に保存する。
The
顔検出部22は、複数の人物が撮像された撮像画像から顔を検出する。例えば、顔検出部22は、画像ストレージ31から対象の画像データを取得する。画像データは、複数の人物が撮像された画像の画像データである。顔検出部22は、取得した画像データから個々の顔を検出する。顔検出に用いるツールは、一例として、OpenCVが挙げられるが、顔を検出できるツールであれば何でも良い。顔検出部22は、検出された顔ごとに、顔座標と顔範囲に対して顔IDを割り振った顔検出データ32を生成する。
The
ここで、顔検出データ32の一例を、図3を参照して説明する。図3は、顔検出データの一例を示す図である。図3に示すように、顔検出データ32は、顔ID(IDentifier)、x座標、y座標、横幅および高さを対応付けた情報である。顔IDは、顔を一意に識別する識別子である。x座標、y座標は、検出された顔を矩形で示した場合の所定の角の位置の座標である。座標は、原点を撮像画像の左上とした場合の座標である。所定の角の位置は、矩形の左下、左上、右下または右上であっても良く、予め定められた角の位置であれば良い。横幅、高さは、検出された顔を矩形で示した場合の矩形の横の長さ、矩形の高さである。この矩形は、顔範囲を表す。そして、顔座標と顔範囲は、バウンディングボックスと呼ばれる。
Here, an example of the
一例として、顔IDが「0」である場合、x座標として「1333」、y座標として「98」、横幅として「413」、高さとして「413」を記憶している。 As an example, if the face ID is "0", the x coordinate is stored as "1333", the y coordinate as "98", the width as "413", and the height as "413".
図1に戻って、人物検出部23は、複数の人物が撮像された撮像画像から人物を検出する。例えば、人物検出部23は、対象の画像データから人物を検出する。人物検出に用いるツールは、一例として、YOLO(You Only Look Once)が挙げられるが、人物を検出できるツールであれば何でも良い。人物検出部23は、検出された人物ごとに、人物の座標と人物の範囲に対して体IDを割り振った人物検出データ33を生成する。
Returning to FIG. 1, the
ここで、人物検出データ33の一例を、図4を参照して説明する。図4は、人物検出データの一例を示す図である。図4に示すように、人物検出データ33は、体ID、x座標、y座標、横幅および高さを対応付けた情報である。体IDは、人物を一意に識別する識別子である。x座標、y座標は、検出された人物を矩形で示した場合の所定の角の位置の座標である。座標は、原点を撮像画像の左上とした場合の座標である。所定の角の位置は、矩形の左下、左上、右下または右上であっても良く、予め定められた角の位置であれば良い。横幅、高さは、検出された人物を矩形で示した場合の矩形の横の長さ、矩形の高さである。この矩形は、人物の範囲を表す。そして、人物の座標と人物の範囲は、バウンディングボックスと呼ばれる。
Here, an example of the
一例として、体IDが「0」である場合、x座標として「1176」、y座標として「109」、横幅として「754」、高さとして「680」を記憶している。 As an example, when the body ID is "0", the x coordinate is stored as "1176", the y coordinate as "109", the width as "754", and the height as "680".
図5は、顔検出の一例を示す図である。図5に示すように、対象となる画像に対して、顔検出部22によって検出された顔のバウンディングボックスが表わされている。顔検出部22は、対象となる画像の画像データに対して、顔検出ツールを用いて個々の顔を検出する。そして、顔検出部22は、検出された顔ごとに、顔座標と顔範囲に対して顔IDを割り振った顔検出データ32を生成する。顔座標は、例えば、撮像画像の左上を原点とした場合の、矩形の左下の座標であり、バウンディングボックスは、顔座標と顔範囲(横幅、高さ)とで表わされる。
Figure 5 is a diagram showing an example of face detection. As shown in Figure 5, a bounding box of a face detected by the
図6は、人物検出の一例を示す図である。図6に示すように、対象となる画像に対して、人物検出部23によって検出された人物のバウンディングボックスが表わされている。なお、図6では、説明の便宜上、1人の人物のみのバウンディングボックスが表わされているが、実際には、検出された複数の人物のバウンディングボックスが表わされる。人物検出部23は、対象となる画像の画像データに対して、人物検出ツールを用いて個々の人物を検出する。そして、人物検出部23は、検出された人物ごとに、人物の座標と人物の範囲に対して体IDを割り振った人物検出データ33を生成する。人物の座標は、例えば、撮像画像の左上を原点とした場合の、矩形の左下の座標であり、バウンディングボックスは、人物の座標と人物の範囲(横幅、高さ)とで表わされる。
Figure 6 is a diagram showing an example of person detection. As shown in Figure 6, the bounding box of a person detected by the
図1に戻って、姿勢推定部24は、人物検出部23によって検出された複数の人物に対応する人物検出データ33ごとに、人物検出データ33に基づいて、撮像画像から人物の姿勢を推定する。例えば、姿勢推定部24は、撮像画像から、それぞれの人物検出データ33に対応する画像(人物検出画像)を抽出する。姿勢推定部24は、それぞれの人物検出画像に基づいて、姿勢推定ツールを用いて人の関節点の位置情報(骨格情報)を推定する。姿勢推定ツールは、一例として、DeepPoseが挙げられるが、人の関節点の位置情報(骨格情報)を推定できるツールであれば何でも良い。姿勢推定部24は、推定された骨格情報に対して、基にした人物検出データ33の体IDを割り振った姿勢推定データ34を生成する。
Returning to FIG. 1, the
ここで、姿勢推定データ34の一例を、図7を参照して説明する。図7は、姿勢推定データの一例を示す図である。図7に示すように、姿勢推定データ34は、体IDと骨格情報とを対応付けた情報である。体IDは、人物検出データ33の体IDに対応する。骨格情報は、関節No、x座標およびy座標を対応付けた情報である。関節Noは、関節点に対応する番号である。一例として、関節Noとしての「0」は、鼻を示す。「1」は、左目を示す。「2」は、右目を示す。「3」は、左耳を示す。「4」は、右耳を示す。「5」は、左肩を示す。「6」は、右肩を示す。「7」は、左肘を示す。「8」は、右肘を示す。「9」は、左手首を示す。「10」は、右手首を示す。「11」は、左腰示す。「12」は、右腰を示す。「13」は、左膝を示す。「14」は、右膝を示す。「15」は、左足首を示す。「16」は、右足首を示す。関節Noは、図7右図の人物の関節モデル内の番号に対応する。x座標、y座標は、推定された関節点の座標である。座標は、原点を撮像画像の左上とした場合の座標である。なお、関節Noの定義は、上記で説明したものに限定されない。
Here, an example of the posture estimation data 34 will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of the posture estimation data. As shown in FIG. 7, the posture estimation data 34 is information in which a body ID and skeletal information are associated with each other. The body ID corresponds to the body ID of the
一例として、体IDが「0」である場合に、関節Noとして「5」(左肩)、x座標として「1173」、y座標として「481」を記憶している。関節Noとして「6」(右肩)、x座標として「953」、y座標として「464」を記憶している。 As an example, when the body ID is "0", the joint number is stored as "5" (left shoulder), the x coordinate as "1173", and the y coordinate as "481". The joint number is stored as "6" (right shoulder), the x coordinate as "953", and the y coordinate as "464".
図1に戻って、横向き判定部25は、人体比率を用いて、姿勢推定部24によって推定された人物の姿勢から横向きであるか否かを判定する。
Returning to FIG. 1, the landscape
例えば、横向き判定部25は、姿勢推定部24によって推定された人物の姿勢ごとに、以下の処理を行う。横向き判定部25は、人体比率を用いて、姿勢に対応する姿勢推定データ34に基づく骨格情報から人物が横を向いているか否かを判定する。人体比率とは、公に知られている人体の各部位の長さの比率から人体全体の中の部位の比率(係数)を計算したものである。人体比率の詳細は、後述する。一例として、横向き判定部25は、姿勢推定データ34に基づく骨格情報を用いて、所定の部位の長さを算出する。所定の部位は、例えば、上腕、下腕、胴体、太もも、ふくらはぎのことをいう。横向き判定部25は、人体比率を用いて、所定の部位の長さに、部位に応じた比率を乗算して、部位の長さから胴体の長さを推定する。そして、横向き判定部25は、最大の値を有する部位の長さを胴体の長さとして決定する。ここで、胴体の長さを推測するために用いられる、部位に応じた比率は、上腕の場合には9/5、下腕の場合には9/4、胴体の場合には1、太ももの場合には3/2、ふくらはぎの場合には3/2を示す。部位の係数および部位に応じた比率は、人体比率から求められる。
For example, the
また、横向き判定部25は、姿勢推定データ34に基づく骨格情報を用いて、肩幅の長さを算出する。そして、横向き判定部25は、肩幅の長さが胴体の長さの1/3よりも短いか否かを判定し、短いと判定した場合には、体が横向きと判定する。そして、横向き判定部25は、体が横向きと判定した人物(体ID)の姿勢推定データ34に横向きフラグを対応付ける。そして、横向き判定部25は、体が横向きと判定した人物を顔候補抽出の対象から除外するべく、体が横向きでないと判定した人物の姿勢推定データ34を顔候補抽出部26に渡す。体が横向きと判定した人物を顔候補抽出の対象から除外するのは、体が横向きの場合には、一方の肩の位置のx座標が顔の範囲のx座標と被ってしまうため、後述する顔候補抽出部26によって顔候補を正しく抽出できないからである。
The sideways
ここで、人体比率の一例を、図8を参照して説明する。図8は、人体比率の一例を示す図である。図8左図には、公に知られている人体の各部位の長さの比率が表わされている。そして、図8右図には、人体の各部位の長さの比率から計算された、人体全体の中の部位の比率(係数)が表わされている。図8右図に示すように、胴体の係数は「9」を示し、肩幅の係数は「6」を示している。胴体の中の胸部と腰部の係数は、「5」と「4」を示している。太ももとふくらはぎの係数は、「6」と「6」を示している。 Here, an example of human body ratios will be described with reference to FIG. 8. FIG. 8 is a diagram showing an example of human body ratios. The left diagram of FIG. 8 shows the publicly known ratios of the lengths of each part of the human body. The right diagram of FIG. 8 shows the ratios (coefficients) of parts within the entire human body calculated from the ratios of the lengths of each part of the human body. As shown in the right diagram of FIG. 8, the coefficient of the torso is "9", and the coefficient of shoulder width is "6". The coefficients of the chest and waist within the torso are "5" and "4". The coefficients of the thighs and calves are "6" and "6".
ここで、肩幅が胴体の長さの1/3よりも短い場合に体が横向きと判定するのは、以下の理由による。すなわち、人体が正面向き(または後向き)の場合には、人体比率から、胴体と肩幅との比率は略3対2となる。胴体と肩幅との比率が3対1未満となる場合には、肩幅が狭く、もはや体が正面(または後向き)を向いていないと推測されるからである。すなわち、一方の肩の位置のx座標が顔の範囲のx座標と被ってしまうと推測されるからである。このため、横向き判定部25は、肩幅が胴体の長さの1/3よりも短い場合に体が横向きと判定し、顔候補抽出の対象から除外するようにする。
Here, the reason why the body is determined to be sideways when the shoulder width is shorter than 1/3 of the torso length is as follows. That is, when the human body is facing forward (or backward), the ratio of the torso to shoulder width is approximately 3:2 based on the human body proportions. When the ratio of the torso to shoulder width is less than 3:1, it is presumed that the shoulder width is narrow and the body is no longer facing forward (or backward). That is, it is presumed that the x coordinate of the position of one shoulder overlaps with the x coordinate of the face range. For this reason, the
顔候補抽出部26は、人体比率および姿勢推定データ34を用いて、顔候補のデータを抽出する。例えば、顔候補抽出部26は、対象の体IDに対する骨格情報から左肩(関節Noが「5」)のx座標およびy座標、並びに右肩(関節Noが「6」)のx座標およびy座標を取得する。顔候補抽出部26は、原点を対象の撮像画像の左上とした場合に、左肩のx座標と右肩のx座標の小さい方の値を顔候補の矩形のx座標とする。顔候補抽出部26は、左肩のy座標と右肩のy座標の大きい方の値を顔候補の矩形のy座標とする。そして、顔候補抽出部26は、肩幅の水平成分の長さを顔候補の矩形の横幅とする。顔候補抽出部26は、人体比率を用いて、胴体の長さの5/9を顔候補の矩形の高さとする。胴体の長さの9/5を顔候補の矩形の高さとするのは、図8で示した人体比率から、胴体と、首を含む頭部との比率が9対5であるからである。そして、顔候補抽出部26は、対象の体IDごとに、顔候補の矩形の座標、横幅および高さを顔候補データ35として生成する。
The face candidate extraction unit 26 extracts data of face candidates using the human body ratio and posture estimation data 34. For example, the face candidate extraction unit 26 acquires the x-coordinate and y-coordinate of the left shoulder (joint No. is "5") and the x-coordinate and y-coordinate of the right shoulder (joint No. is "6") from the skeletal information for the body ID of the target. When the origin is set to the upper left of the captured image of the target, the face candidate extraction unit 26 sets the smaller of the x-coordinate of the left shoulder and the x-coordinate of the right shoulder as the x-coordinate of the rectangle of the face candidate. The face candidate extraction unit 26 sets the larger of the y-coordinate of the left shoulder and the y-coordinate of the right shoulder as the y-coordinate of the rectangle of the face candidate. Then, the face candidate extraction unit 26 sets the length of the horizontal component of the shoulder width as the width of the rectangle of the face candidate. The face candidate extraction unit 26
ここで、顔候補データ35の一例を、図9を参照して説明する。図9は、顔候補データの一例を示す図である。図9に示すように、顔候補データ35は、体ID、x座標、y座標、横幅および高さを対応付けた情報である。体IDは、人物検出データ33の体IDに対応する。x座標、y座標は、抽出された顔候補を矩形で示した場合の所定の角の位置の座標である。座標は、原点を撮像画像の左上とした場合の座標である。所定の角の位置は、矩形の左下、左上、右下または右上であっても良く、予め定められた角の位置であれば良い。横幅、高さは、抽出された顔候補を矩形で示した場合の矩形の横の長さ、矩形の高さである。この矩形は、顔候補の範囲を表す。そして、顔候補の座標と顔候補の範囲は、バウンディングボックスと呼ばれる。
Here, an example of the
図1に戻って、マッチング部27は、顔候補データ35に対して、複数の顔検出データ32の中で重なり面積が最も大きい顔検出データ32を同一人物としてマッチング(紐付け)する。例えば、マッチング部27は、顔候補データ35ごとに、以下の処理を行う。マッチング部27は、対象の顔候補データ35から得られるバウンディングボックスと、顔検出部22によって検出された全ての顔の顔検出データ32から得られるバウンディングボックスとの重なりの面積を求める。マッチング部27は、対象の顔候補データ35の体IDと、重なりの面積が最大の顔検出データ32の顔IDとをマッチングしたと判定する。すなわち、マッチング部27は、マッチングした顔IDと、体IDとを同一人物として特定する。そして、マッチング部28は、特定された、顔IDと、体IDとをマッチングリスト36に出力する。
Returning to FIG. 1, the matching unit 27 matches (links) the
ここで、実施例に係る座標を、図10を参照して説明する。図10は、実施例に係る座標を説明する図である。なお、図10では、説明の便宜上、対象となる撮像画像の一部を抜粋した画像を用いて説明する。対象の撮像画像の左上が、原点の座標(0,0)である。そして、原点から右方向がx座標であり、原点から下方向がy座標である。ここでは、例えば、姿勢推定部24によって推定された人の関節点の座標(骨格情報)が表わされている。一例として、右肩の座標は、(14,34)である。右肩の座標は、図7に示す人物の関節モデル内の関節No「6」に対応する座標である。左肩の座標は、(28,24)である。左肩の座標は、図7に示す人物の関節モデル内の関節No「5」に対応する座標である。右腰の座標は、(28,55)である。右腰の座標は、図7に示す人物の関節モデル内の関節No「12」に対応する座標である。左腰の座標は、(44,52)である。左腰の座標は、図7に示す人物の関節モデル内の関節No「11」に対応する座標である。
Here, the coordinates according to the embodiment will be described with reference to FIG. 10. FIG. 10 is a diagram for explaining the coordinates according to the embodiment. For convenience of explanation, FIG. 10 uses an image in which a part of the captured image to be taken is extracted. The upper left corner of the captured image to be taken is the coordinates (0,0) of the origin. The right direction from the origin is the x coordinate, and the downward direction from the origin is the y coordinate. Here, for example, the coordinates (skeleton information) of the joint points of a person estimated by the
図11Aおよび図11Bは、実施例に係る横向き判定を説明する図である。図11Aには、体が横を向いている人物の顔候補のバウンディングボックスが表わされている。黒丸は、左肩と右肩の座標である。体が横を向いていると、一方の肩(ここでは、右肩)の位置のx座標が顔の範囲のx座標と被ってしまうため、顔候補抽出部26によって抽出される顔候補が正しく抽出されない。そこで、横向き判定部25は、体が横を向いている人物を顔候補抽出の対象から除外する。
Figures 11A and 11B are diagrams illustrating sideways orientation determination according to an embodiment. Figure 11A shows the bounding boxes of face candidates for a person whose body is turned to the side. The black circles represent the coordinates of the left and right shoulders. When the body is turned to the side, the x-coordinate of the position of one shoulder (here, the right shoulder) overlaps with the x-coordinate of the face range, and face candidates extracted by the face candidate extraction unit 26 are not extracted correctly. Therefore, the sideways
図11Bに示すように、姿勢推定部24によって推定された人の関節点の座標(骨格情報)の一部が表わされている。右肩の座標は、(14,34)である。左肩の座標は、(28,24)である。右腰の座標は、(28,55)である。左腰の座標は、(44,52)である。また、図示しないが、左肘の座標と左手首の座標がある。右肩と右腰の間や左肩と左腰の間は、それぞれ胴体を示す。左肘と左手首の間は、下腕を示す。
As shown in FIG. 11B, some of the coordinates (skeletal information) of a person's joint points estimated by the
横向き判定部25は、姿勢推定データ34の骨格情報を用いて、それぞれの部位の長さを算出する。ここでは、一例として、胴体の長さ、下腕を算出する。右肩の座標(14,34)と右腰の座標(28,55)を用いて、胴体の長さは、「25」と算出される。また、左肩の座標(28,24)と左腰の座標(44,52)を用いて、胴体の長さは、「32」と算出される。また、下腕の長さは、左肘の座標と左手首の座標を用いて「8」と算出されたとする。
The sideways
横向き判定部25は、人体比率を用いて、所定の部位の長さに、部位に応じた比率を乗算して、最大の乗算結果を胴体の長さと決定する。ここでは、右肩と右腰から算出される胴体の長さは、比率が1であるので、「25」と算出される。また、左肩と左腰から算出される胴体の長さは、比率が1であるので、「32」と算出される。また、下腕から算出される胴体の長さは、比率が9/4であるので、「18」(=8×9/4)と算出される。そして、横向き判定部25は、max(25,32,18)を算出して、胴体の長さを「32」と決定する。なお、ここでは、横向き判定部25は、一例として、胴体、下腕から胴体の長さを決定したが、実際には、上腕、太もも、ふくらはぎなどを加えて胴体の長さを決定する。
The sideways
また、横向き判定部25は、右肩の座標と左肩の座標を用いて、肩幅の長さを算出する。ここでは、右肩の座標が(14,34)であり、左肩の座標が(28,24)であるので、肩幅の長さは、「17」と算出される。
The sideways
そして、横向き判定部25は、肩幅の長さが胴体の長さの1/3よりも短いか否かを判定し、短いと判定した場合には、体が横向きと判定する。ここでは、肩幅の長さが「17」、胴体の長さが「32」であるため、肩幅の長さ「17」が胴体の長さの1/3「約10」よりも長い。したがって、体が横向きでないと判定される。この結果、横向き判定部25は、この人物の姿勢推定データ34を顔候補抽出部26による顔候補抽出の対象とする。なお、横向き判定部25は、体が横向きと判定した場合には、体が横向きと判定された人物の姿勢推定データ34を顔候補抽出部26による顔候補抽出の対象としない。
Then, the sideways
図12Aおよび図12Bは、実施例に係る顔候補抽出を説明する図である。図12Aには、人物の顔候補のバウンディングボックスが表わされている。大きい黒丸は、左肩と右肩の位置を示す。小さい黒丸は、左腰と右腰の位置を示す。矢印で示される肩と腰の間の長さは、胴体の長さである。顔候補抽出部26は、肩幅の水平成分の長さを顔候補のバウンディングボックスの横幅とする。顔候補抽出部26は、人体比率を用いて、胴体の長さの5/9を顔候補のバウンディングボックスの高さとする。これは、図8の人体比率から、胴体の長さと、頭部および首部の長さとの比率が、9対5であるからである。 12A and 12B are diagrams for explaining face candidate extraction according to an embodiment. In FIG. 12A, the bounding box of a person's face candidate is shown. The large black circle indicates the position of the left shoulder and the right shoulder. The small black circle indicates the position of the left hip and the right hip. The length between the shoulder and the hip indicated by the arrow is the length of the torso. The face candidate extraction unit 26 determines the length of the horizontal component of the shoulder width as the width of the bounding box of the face candidate. Using the human body ratio, the face candidate extraction unit 26 determines the height of the bounding box of the face candidate to be 5/9 of the torso length. This is because, according to the human body ratio in FIG. 8, the ratio between the length of the torso and the length of the head and neck is 9:5.
図12Bに示すように、姿勢推定部24によって推定された人の関節点の座標(骨格情報)の一部が表わされている。右肩の座標は、(14,34)である。左肩の座標は、(28,24)である。顔候補抽出部26は、左肩のx座標と右肩のx座標の小さい方の値を顔候補のバウンディングボックスのx座標とする。ここでは、バウンディングボックスのx座標は、「14」を示す。顔候補抽出部26は、左肩のy座標と右肩のy座標の大きい方の値を顔候補のバウンディングボックスのy座標とする。ここでは、バウンディングボックスのy座標は、「34」を示す。そして、顔候補抽出部26は、肩幅の水平成分の長さを顔候補のバウンディングボックスの横幅とする。ここでは、バウンディングボックスの横幅は、肩幅の水平成分の長さが14と算出されるので、「14」を示す。そして、顔候補抽出部26は、人体比率を用いて、胴体の長さの5/9を顔候補のバウンディングボックスの高さとする。ここでは、胴体の長さは、図11Bで算出したとおり「32」であるので、バウンディングボックスの高さは、18(=32×5/9)を示す。これにより、顔候補のバウンディングボックスは、顔候補の座標として(14,34)、顔候補の範囲の横幅として14顔候補の範囲の高さとして18と抽出される。点線の矩形が、顔候補のバウンディングボックスである。
As shown in FIG. 12B, a part of the coordinates (skeletal information) of the joint points of the person estimated by the
図13Aおよび図13Bは、実施例に係るマッチングを説明する図である。図13Aには、1つの顔候補データ35から得られるバウンディングボックスbbox1と、顔検出部22によって検出された1つの顔検出データ32から得られるバウンディングボックスbbox2との重なりが表わされている。bbox1の顔候補の座標は、(bbox1_x、bbox1_y)である。bbox1の横幅は、bbox1_wである。bbox1の高さは、bbox1_hである。また、bbox2の顔候補の座標は、(bbox2_x、bbox2_y)である。bbox2の横幅は、bbox2_wである。bbox2の高さは、bbox2_hである。
Figures 13A and 13B are diagrams for explaining matching according to an embodiment. Figure 13A shows the overlap between a bounding box bbox1 obtained from one
マッチング部27は、バウンディングボックスbbox1とバウンディングボックスbbox2との重なりの四角形の4点である左下、左上、右下、右上を、以下のように求める。なお、leftは、重なりの左の上下のx座標の値を示す。rightは、重なりの右の上下のx座標の値を示す。bottomは、重なりの下の左右のy座標の値を示す。topは、重なりの上の左右のy座標の値を示す。
left=max(bbox1_x,bbox2_x)
top=max(bbox1_y-bbox1_h,bbox2_y-bbox2_h)
right=min(bbox1_x+bbox1_w,bbox2_x+bbox2_w)
bottom=min(bbox1_y,bbox2_y)
すなわち、重なりの四角形の左下の座標は、(left,bottom)である。重なりの四角形の左上の座標は、(left,top)である。重なりの四角形の右下の座標は、(right,bottom)である。重なりの四角形の右上の座標は、(right,top)である。
The matching unit 27 determines the four points of the overlapping rectangle between bounding boxes bbox1 and bbox2, the bottom left, top left, bottom right, and top right, as follows: "left" indicates the x coordinate values of the top and bottom of the left of the overlap; "right" indicates the x coordinate values of the top and bottom of the right of the overlap; "bottom" indicates the y coordinate values of the left and right of the bottom of the overlap; and "top" indicates the y coordinate values of the left and right of the top of the overlap.
left=max(bbox1_x, bbox2_x)
top=max(bbox1_y-bbox1_h, bbox2_y-bbox2_h)
right=min(bbox1_x+bbox1_w, bbox2_x+bbox2_w)
bottom=min(bbox1_y, bbox2_y)
That is, the coordinates of the bottom left corner of the overlapping rectangle are (left, bottom). The coordinates of the top left corner of the overlapping rectangle are (left, top). The coordinates of the bottom right corner of the overlapping rectangle are (right, bottom). The coordinates of the top right corner of the overlapping rectangle are (right, top).
そして、マッチング部27は、重なりの四角形が存在する場合には、重なりの面積を求める。ここでは、leftがrightより小さく、且つtopがbottomより小さければ、重なりの四角形が存在すると判定される。そして、重なりの面積は、以下のように求められる。
重なりの面積=(right-left)×(bottom-top)
Then, if an overlapping rectangle exists, the matching unit 27 calculates the area of the overlap. Here, if the left is smaller than the right and the top is smaller than the bottom, it is determined that an overlapping rectangle exists. Then, the area of the overlap is calculated as follows.
Overlap area = (right-left) x (bottom-top)
図13Bに示すように、顔候補データ35から得られるバウンディングボックス(破線)と、顔検出データ32から得られるバウンディングボックス(実線)とが表わされている。顔候補データ35から得られるバウンディングボックスについて、顔候補の座標が(14,34)、顔候補の横幅および高さが、それぞれ14、18で表わされている。顔検出データ32から得られるバウンディングボックスについて、顔の座標が(14,28)、顔の横幅および高さが、それぞれ12,13で表わされている。
As shown in FIG. 13B, a bounding box (dashed line) obtained from
そうすると、マッチング部27は、重なりの四角形の4点(左下、左上、右下、右上)を、以下のように求める。
left=max(14,14)=14
top=max(28-13,34-18)=max(15,16)=16
right=min(26,28)=26
bottom=min(28,34)=28
すなわち、重なりの四角形の左下の座標は、(14,28)である。重なりの四角形の左上の座標は、(14,16)である。重なりの四角形の右下の座標は、(26,28)である。重なりの四角形の右上の座標は、(26,16)である。
Then, the matching unit 27 finds the four points (lower left, upper left, lower right, and upper right) of the overlapping rectangle as follows.
left=max(14,14)=14
top=max(28-13,34-18)=max(15,16)=16
right=min(26,28)=26
bottom=min(28,34)=28
That is, the coordinates of the bottom left corner of the overlapping rectangle are (14, 28). The coordinates of the top left corner of the overlapping rectangle are (14, 16). The coordinates of the bottom right corner of the overlapping rectangle are (26, 28). The coordinates of the top right corner of the overlapping rectangle are (26, 16).
そして、マッチング部27は、left(14)がright(26)より小さく、且つtop(16)がbottom(28)より小さいので、重なりの四角形が存在するので、重なりの面積を求める。重なりの面積は、144(=(26-14)×(28-16))と計算される。 Then, since left (14) is smaller than right (26) and top (16) is smaller than bottom (28), an overlapping rectangle exists, so the matching unit 27 calculates the overlapping area. The overlapping area is calculated as 144 (= (26-14) x (28-16)).
図14は、実施例に係るマッチングの一例を示す図である。図14に示す破線の矩形が、体IDが「1」を示す顔候補データ35から得られるバウンディングボックスであるとする。
Figure 14 is a diagram showing an example of matching according to the embodiment. The dashed rectangle shown in Figure 14 is assumed to be a bounding box obtained from
マッチング部27は、対象の顔候補データ35から得られるバウンディングボックスと、顔検出部22によって検出された全ての顔の顔検出データ32から得られるバウンディングボックスとの重なりの面積を求める。ここでは、体IDが「1」を示す顔候補のバウンディングボックスに重なる顔検出データ32から得られるバウンディングボックスが表わされている。重なる顔検出データ32の顔IDは、「1」、「2」、「3」である。体ID「1」と、顔ID「1」、「2」、「3」との重なり面積は、「20」、「30」、「10」であるとする。
The matching unit 27 finds the overlap area between the bounding box obtained from the target
そして、マッチング部27は、対象の顔候補データ35の体IDと、重なりの面積が最大の顔検出データ32の顔IDとをマッチングしたと判定する。ここでは、体ID「1」と顔ID「2」との重なりの面積が最大となっている。そこで、体ID「1」と顔ID「2」とがマッチングしたと判定される。そして、マッチング部27は、体ID「1」と顔ID「2」とを紐付けて、マッチングリスト36に出力する。
The matching unit 27 then determines that the body ID of the target
図15は、実施例に係る情報処理の全体のフローチャートの一例を示す図である。図15に示すように、制御部20は、複数の人物が写った映像を入力する(ステップS11)。制御部20は、入力した映像について、フレーム単位の画像で、以降の処理を実行する(ステップS12)。
Fig. 15 is a diagram showing an example of an overall flowchart of information processing according to an embodiment. As shown in Fig. 15, the
顔検出部22は、画像データに対して顔を検出し、検出した顔ごとに、顔座標と顔範囲に対して顔IDを割り振り、顔検出データ32を生成する(ステップS13)。そして、顔検出部22は、マッチング処理をすべく、ステップS20に移行する。
The
一方、人物検出部23は、画像データに対して人物を検出し、検出した人物ごとに、人物の座標と人物の範囲に対して体IDを割り振り、人物検出データ33を生成する(ステップS14)。
Meanwhile, the
続いて、姿勢推定部24は、画像から、人物検出データ33ごとに対応する画像(人物検出画像)を抽出する(ステップS15)。そして、姿勢推定部24は、抽出した全ての人物検出画像に対して姿勢推定し、姿勢推定して得られる骨格情報を推定する。姿勢推定部24は、骨格情報に対して、基にした人物検出データ33の体IDを割り振り、姿勢推定データ34を生成する(ステップS16)。ここでいう骨格情報は、人の関節点の位置情報のことをいう。
Next, the
続いて、横向き判定部25は、人体比率および姿勢推定データ34を用いて、体が横向きの人がいるか否かを判定する(ステップS17)。例えば、横向き判定部25は、姿勢推定データ34の骨格情報を用いて、肩幅の長さを算出し、肩幅の長さが胴体の長さの1/3よりも短いか否かを判定し、短いと判定した場合には、体が横向きと判定する。なお、胴体の長さは、骨格情報から算出される上腕、下腕、胴体、太もも、ふくらはぎの長さと人体比率とから算出される。
Next, the sideways
体が横向きの人がいないと判定した場合には(ステップS17;No)、横向き判定部25は、顔候補を生成すべく、ステップS19に移行する。一方、体が横向きの人がいると判定した場合には(ステップS17;Yes)、横向き判定部25は、体が横向きの人の姿勢推定データ34に横向きフラグを対応付ける(ステップS18)。そして、横向き判定部25は、顔候補を生成すべく、ステップS19に移行する。
If it is determined that there is no person with a sideways body (step S17; No), the sideways
ステップS19において、顔候補抽出部26は、人体比率と、横向きフラグの対応付けのない姿勢推定データ34(骨格情報)から顔候補の座標と顔候補の範囲を算出して顔候補データ35を生成する(ステップS19)。例えば、顔候補抽出部26は、姿勢推定データ34の体IDに対する骨格情報から左肩のx座標およびy座標、並びに右肩のx座標およびy座標を取得する。顔候補抽出部26は、左肩のx座標と右肩のx座標の小さい方の値を顔候補の矩形のx座標とし、左肩のy座標と右肩のy座標の大きい方の値を顔候補の矩形のy座標とする。そして、顔候補抽出部26は、肩幅の水平成分の長さを顔候補の矩形の横幅とする。顔候補抽出部26は、人体比率を用いて、胴体の長さの5/9を顔候補の矩形の高さとする。胴体の長さは、横向き判定部25によって算出される。そして、顔候補抽出部26は、姿勢推定データ34の体IDごとに、顔候補の座標、横幅および高さを顔候補データ35として生成する。
In step S19, the face candidate extraction unit 26 calculates the coordinates and range of the face candidate from the posture estimation data 34 (skeletal information) without the correspondence between the human body ratio and the landscape flag to generate face candidate data 35 (step S19). For example, the face candidate extraction unit 26 acquires the x and y coordinates of the left shoulder and the x and y coordinates of the right shoulder from the skeleton information for the body ID of the posture estimation data 34. The face candidate extraction unit 26 sets the smaller value of the x coordinate of the left shoulder and the x coordinate of the right shoulder as the x coordinate of the rectangle of the face candidate, and sets the larger value of the y coordinate of the left shoulder and the y coordinate of the right shoulder as the y coordinate of the rectangle of the face candidate. Then, the face candidate extraction unit 26 sets the length of the horizontal component of the shoulder width as the width of the rectangle of the face candidate. The face candidate extraction unit 26 uses the human body ratio to set 5/9 of the length of the torso as the height of the rectangle of the face candidate. The length of the torso is calculated by the
そして、マッチング部27は、姿勢推定データ34の体IDごとに、マッチング処理を実行する(ステップS20)。なお、マッチング処理のフローチャートは、後述する。そして、制御部20は、未処理の画像が存在する場合には、ステップS12に移行する(ステップS21)。一方、制御部20は、未処理の画像が存在しない場合には、情報処理を終了する。
Then, the matching unit 27 executes a matching process for each body ID in the posture estimation data 34 (step S20). Note that a flowchart of the matching process will be described later. Then, if there are unprocessed images, the
図16は、実施例に係るマッチング処理のフローチャートの一例を示す図である。図16に示すように、マッチング部27は、体ID単位で処理を実行する(ステップS31)。マッチング部27は、体IDに対応する姿勢推定データ34に横向きフラグが対応付けられているか否かを判定する(ステップS32)。体IDに対応する姿勢推定データ34に横向きフラグが対応付けられていると判定した場合には(ステップS32;Yes)、マッチング部27は、次の体IDに対応する処理を実行すべく、ステップS37に移行する。 FIG. 16 is a diagram showing an example of a flowchart of the matching process according to the embodiment. As shown in FIG. 16, the matching unit 27 executes the process on a body ID basis (step S31). The matching unit 27 determines whether or not a landscape flag is associated with the posture estimation data 34 corresponding to the body ID (step S32). If it is determined that a landscape flag is associated with the posture estimation data 34 corresponding to the body ID (step S32; Yes), the matching unit 27 proceeds to step S37 to execute the process corresponding to the next body ID.
一方、体IDに対応する姿勢推定データ34に横向きフラグが対応付けられていないと判定した場合には(ステップS32;No)、マッチング部27は、顔ID単位で処理を実行する(ステップS33)。マッチング部27は、体IDと顔IDのそれぞれのバウンディングボックス(座標と範囲)の重なり面積を算出する(ステップS34)。マッチング部27は、未処理の顔IDが存在する場合には、ステップS33に移行する(ステップS35)。一方、マッチング部27は、未処理の顔IDが存在しない場合には、体IDと顔IDとをマッチングすべく、ステップS36に移行する。 On the other hand, if it is determined that the landscape flag is not associated with the posture estimation data 34 corresponding to the body ID (step S32; No), the matching unit 27 executes processing on a face ID basis (step S33). The matching unit 27 calculates the overlapping area of the bounding boxes (coordinates and range) of the body ID and the face ID (step S34). If there is an unprocessed face ID, the matching unit 27 proceeds to step S33 (step S35). On the other hand, if there is no unprocessed face ID, the matching unit 27 proceeds to step S36 to match the body ID and the face ID.
ステップS36において、マッチング部27は、体IDと顔IDとのバウンディングボックス(座標と範囲)の重なり面積が最大のものをペアとしてマッチングする(ステップS36)。そして、マッチング部27は、未処理の体IDが存在する場合には、ステップS31に移行する(ステップS37)。 In step S36, the matching unit 27 matches the body ID and face ID with the largest overlapping area of the bounding boxes (coordinates and range) as a pair (step S36). If there is an unprocessed body ID, the matching unit 27 proceeds to step S31 (step S37).
一方、マッチング部27は、未処理の体IDが存在しない場合には、マッチング部27は、マッチング結果をマッチングリスト36に出力する(ステップS38)。そして、マッチング部27は、マッチング処理を終了する。 On the other hand, if there is no unprocessed body ID, the matching unit 27 outputs the matching result to the matching list 36 (step S38). Then, the matching unit 27 ends the matching process.
なお、実施例に係る情報処理装置1によって実行されるマッチング処理は、用途として映像配信サービスに適用することができる。例えば、映像配信サービスは、複数の人物が写った映像からそれぞれの顔と体(姿勢)とをマッチングする。加えて、映像配信サービスは、顔の表情が変わったときや体の動きが変わったときを人の感情が動いた瞬間の特徴と捉えて、その瞬間の画像やその瞬間の前後の映像をユーザに配信する。一例として、ボウリングでストライクをとって皆でハイタッチしているような部分の映像が挙げられる。また、映像配信サービスは、対象の人をハイライトして、その瞬間の画像やその瞬間の前後の映像をユーザに配信しても良い。
The matching process executed by the
[実施例の効果]
このようにして、上記実施例では、情報処理装置1は、複数の人物を含む撮像画像からそれぞれの人物の顔を検出する。情報処理装置1は、撮像画像から人物を検出する。情報処理装置1は、検出された複数の人物に対応する人物検出データごとに、人物検出データに基づいて、撮像画像から姿勢を推定する。情報処理装置1は、推定された姿勢に対する姿勢データに基づく骨格情報から、顔候補データを算出する。情報処理装置1は、人物検出データごとに算出される顔候補データに対して、検出されたそれぞれの人物の顔検出データの中で重なり面積が最も大きい顔検出データを同一人物として特定する。かかる構成によれば、情報処理装置1は、顔検出から検出された顔と姿勢推定から推定された姿勢(体)とのマッチング精度を向上させることができる。すなわち、情報処理装置1は、人が密集しているような画像上でも、顔と体とを精度良くマッチングすることができる。
[Effects of the embodiment]
In this way, in the above embodiment, the
また、上記実施例では、情報処理装置1は、人体全体の中の部位の比率を示す人体比率および姿勢データから得られる骨格情報に基づいて、顔候補データを算出する。かかる構成によれば、情報処理装置1は、人体比率を用いることで、姿勢データから顔の位置の候補を算出することができる。
In addition, in the above embodiment, the
また、上記実施例では、情報処理装置1は、人体比率を用いて、骨格情報から得られる所定の部位の長さから胴体の長さを推定する。情報処理装置1は、骨格情報から得られる右肩と左肩の位置と、肩幅の水平成分の長さおよび胴体の長さに基づいて顔候補データを算出する。かかる構成によれば、情報処理装置1は、肩の位置と胴体の長さを用いることで、顔の位置の候補を算出することができる。
In addition, in the above embodiment, the
また、上記実施例では、情報処理装置1は、さらに、肩幅の長さおよび胴体の長さを用いて体が横向きであるか否かを判定する。情報処理装置1は、体が横向きであると判定した場合には、骨格情報から顔候補データを算出しない。かかる構成によれば、情報処理装置1は、人体比率を用いることで、体が横向きであるか否かを判定することができる。そして、情報処理装置1は、体が横向きである骨格情報を顔候補の算出から除外することで、精度の悪い顔候補の算出を避けることができる。
In the above embodiment, the
[その他]
なお、実施例では、顔検出データ32、人物検出データ33、姿勢推定データ34および顔候補データ35の座標について、原点を撮像画像の左上とした場合を説明した。しかしながら、原点の位置を撮像画像の左下とした場合であっても良い。かかる場合には、例えば、顔候補抽出部26は、左肩のx座標と右肩のx座標の小さい方の値を顔候補の矩形のx座標とし、左肩のy座標と右肩のy座標の小さい方の値を顔候補の矩形のy座標とすれば良い。
[others]
In the embodiment, the coordinates of the
また、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、横向き判定部25と顔候補抽出部26とを1つの部として統合しても良い。また、横向き判定部25を胴体の長さを決定する決定部と、胴体の長さを用いて横向きを判定する判定部とに分散しても良い。また、画像ストレージ31、顔検出データ32などを記憶する記憶部30を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。さらに、制御部20および記憶部30をクラウド上に置き、利用物は、パーソナルコンピュータなどからネットワークを介して当該クラウドに接続して、制御部20により実行される処理を利用することも可能である。このようにすることで、本発明の処理をサービスとして提供することができるようになる。
In addition, each component of the illustrated
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現するマッチングプログラムを実行するコンピュータの一例を説明する。図17は、マッチングプログラムを実行するコンピュータの一例を示す図である。
The various processes described in the above embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation. Therefore, an example of a computer that executes a matching program that realizes the same functions as the
図17に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信I/F(Interface)217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示装置209、ドライブ装置213、入力装置215、通信I/F217は、バス219で接続されている。
As shown in FIG. 17,
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、マッチングプログラム205aおよびマッチング処理関連情報205bを記憶する。通信I/F217は、ネットワークと装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F217には、例えば、モデムやLANアダプタなどを採用することができる。
The
表示装置209は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。表示装置209は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
The
CPU203は、マッチングプログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは情報処理装置1の各機能部に対応する。マッチング処理関連情報205bは、画像ストレージ31や顔検出データ32などに対応する。そして、例えばリムーバブルディスク211が、マッチングプログラム205aなどの各情報を記憶する。
The
なお、マッチングプログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからマッチングプログラム205aを読み出して実行するようにしても良い。
The
1 情報処理装置
3 カメラ
5 ネットワーク
9 情報処理システム
10 通信部
20 制御部
21 保存部
22 顔検出部
23 人物検出部
24 姿勢推定部
25 横向き判定部
26 顔候補抽出部
27 マッチング部
30 記憶部
31 画像ストレージ
32 顔検出データ
33 人物検出データ
34 姿勢推定データ
35 顔候補データ
36 マッチングリスト
REFERENCE SIGNS
Claims (3)
前記撮像画像からそれぞれの人物を検出する第2の検出部と、
前記第2の検出部によって検出されたそれぞれの人物に対応する人物検出データごとに、前記撮像画像から前記人物検出データに対応する姿勢を推定する姿勢推定部と、
人体全体の中の部位の比率を示す人体比率を用いて、前記姿勢推定部によって推定された姿勢に基づく骨格情報から得られる所定の部位の長さに応じた胴体の長さを推定するとともに、前記骨格情報を用いて、肩幅の長さを算出し、前記姿勢推定部によって推定された姿勢に対する姿勢データに基づく骨格情報から、顔候補データを算出する第1の算出部と、
前記肩幅の長さおよび前記胴体の長さを用いて体が横向きであるか否かを判定する判定部と、
体が横向きでないと判定した場合には、前記骨格情報から得られる右肩と左肩の位置と、前記肩幅の水平成分の長さおよび前記胴体の長さとに基づいて前記顔候補データを算出し、体が横向きであると判定した場合には、前記骨格情報から前記顔候補データを算出しない第2の算出部と、
前記人物検出データごとに算出される顔候補データに対して、前記第1の検出部によって検出されたそれぞれの人物の顔検出データの中で重なり面積が最も大きい顔検出データを同一人物として特定する特定部と、
を有することを特徴とする情報処理装置。 a first detection unit that detects a face of each person from a captured image including a plurality of people;
a second detection unit that detects each person from the captured image;
a posture estimation unit that estimates, for each person detection data corresponding to each person detected by the second detection unit, a posture corresponding to the person detection data from the captured image;
a first calculation unit that uses a human body ratio indicating a ratio of a part in the entire human body to estimate a length of a torso according to a length of a predetermined part obtained from skeletal information based on a posture estimated by the posture estimation unit, calculates a shoulder width using the skeletal information, and calculates face candidate data from the skeletal information based on posture data for the posture estimated by the posture estimation unit;
a determination unit that determines whether or not the body is lying sideways using the shoulder width and the torso length;
a second calculation unit that calculates the face candidate data based on the positions of the right and left shoulders obtained from the skeletal information, the length of the horizontal component of the shoulder width, and the length of the torso when it is determined that the body is not turned sideways, and does not calculate the face candidate data from the skeletal information when it is determined that the body is turned sideways;
an identification unit that identifies, for face candidate data calculated for each of the person detection data, face detection data having a largest overlapping area among the face detection data of each person detected by the first detection unit, as the same person;
13. An information processing device comprising:
前記撮像画像からそれぞれの人物を検出し、
該検出されたそれぞれの人物に対応する人物検出データごとに、前記撮像画像から前記人物検出データに対応する姿勢を推定し、
人体全体の中の部位の比率を示す人体比率を用いて、推定された姿勢に基づく骨格情報から得られる所定の部位の長さに応じた胴体の長さを推定するとともに、前記骨格情報を用いて、肩幅の長さを算出し、推定された姿勢に対する姿勢データに基づく骨格情報から、顔候補データを算出し、
前記肩幅の長さおよび前記胴体の長さを用いて体が横向きであるか否かを判定し、
体が横向きでないと判定した場合には、前記骨格情報から得られる右肩と左肩の位置と、前記肩幅の水平成分の長さおよび前記胴体の長さとに基づいて前記顔候補データを算出し、体が横向きであると判定した場合には、前記骨格情報から前記顔候補データを算出せず、
前記人物検出データごとに算出される顔候補データに対して、該検出されたそれぞれの人物の顔検出データの中で重なり面積が最も大きい顔検出データを同一人物として特定する、
処理をコンピュータに実行させるマッチングプログラム。 Detecting the faces of multiple people from a captured image containing each person,
Detecting each person from the captured image;
For each person detection data corresponding to each of the detected people, estimating a posture corresponding to the person detection data from the captured image;
Using a human body ratio indicating the ratio of a part to the whole human body, a torso length is estimated according to the length of a predetermined part obtained from skeletal information based on the estimated posture, and a shoulder width is calculated using the skeletal information . Face candidate data is calculated from the skeletal information based on posture data for the estimated posture.
determining whether the body is lying sideways using the shoulder width and the torso length;
When it is determined that the body is not turned sideways, the face candidate data is calculated based on the positions of the right and left shoulders obtained from the skeletal information, the length of the horizontal component of the shoulder width, and the length of the torso, and when it is determined that the body is turned sideways, the face candidate data is not calculated from the skeletal information,
identifying, for the face candidate data calculated for each of the person detection data, the face detection data having the largest overlapping area among the face detection data of each of the detected persons as the same person;
A matching program that causes a computer to execute the processing.
前記撮像画像からそれぞれの人物を検出し、
該検出されたそれぞれの人物に対応する人物検出データごとに、前記撮像画像から前記人物検出データに対応する姿勢を推定し、
人体全体の中の部位の比率を示す人体比率を用いて、推定された姿勢に基づく骨格情報から得られる所定の部位の長さに応じた胴体の長さを推定するとともに、前記骨格情報を用いて、肩幅の長さを算出し、推定された姿勢に対する姿勢データに基づく骨格情報から、顔候補データを算出し、
前記肩幅の長さおよび前記胴体の長さを用いて体が横向きであるか否かを判定し、
体が横向きでないと判定した場合には、前記骨格情報から得られる右肩と左肩の位置と、前記肩幅の水平成分の長さおよび前記胴体の長さとに基づいて前記顔候補データを算出し、体が横向きであると判定した場合には、前記骨格情報から前記顔候補データを算出せず、
前記人物検出データごとに算出される顔候補データに対して、該検出されたそれぞれの人物の顔検出データの中で重なり面積が最も大きい顔検出データを同一人物として特定する、
処理をコンピュータが実行するマッチング方法。 Detecting the faces of multiple people from a captured image containing each person,
Detecting each person from the captured image;
For each person detection data corresponding to each of the detected people, estimating a posture corresponding to the person detection data from the captured image;
Using a human body ratio indicating the ratio of a part to the whole human body, a torso length is estimated according to the length of a predetermined part obtained from skeletal information based on the estimated posture, and a shoulder width is calculated using the skeletal information . Face candidate data is calculated from the skeletal information based on posture data for the estimated posture.
determining whether the body is lying sideways using the shoulder width and the torso length;
When it is determined that the body is not turned sideways, the face candidate data is calculated based on the positions of the right and left shoulders obtained from the skeletal information, the length of the horizontal component of the shoulder width, and the length of the torso, and when it is determined that the body is turned sideways, the face candidate data is not calculated from the skeletal information,
identifying, for the face candidate data calculated for each of the person detection data, the face detection data having the largest overlapping area among the face detection data of each of the detected persons as the same person;
A matching method in which processing is performed by a computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020204537A JP7631769B2 (en) | 2020-12-09 | 2020-12-09 | Information processing device, matching program, and matching method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020204537A JP7631769B2 (en) | 2020-12-09 | 2020-12-09 | Information processing device, matching program, and matching method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022091612A JP2022091612A (en) | 2022-06-21 |
| JP7631769B2 true JP7631769B2 (en) | 2025-02-19 |
Family
ID=82067033
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020204537A Active JP7631769B2 (en) | 2020-12-09 | 2020-12-09 | Information processing device, matching program, and matching method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7631769B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115331175B (en) * | 2022-08-24 | 2025-12-05 | 浪潮通信信息系统有限公司 | A Regional Population Statistics Method and System Based on Adaptive Integration Model |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012181736A (en) | 2011-03-02 | 2012-09-20 | Panasonic Corp | Attitude estimation device, attitude estimation system, and attitude estimation method |
| JP2013210967A (en) | 2012-03-30 | 2013-10-10 | Canon Inc | Object detection method and object detection device |
| JP2013210968A (en) | 2012-03-30 | 2013-10-10 | Canon Inc | Object detecting device and method, and program |
| JP2017138915A (en) | 2016-02-05 | 2017-08-10 | 株式会社バンダイナムコエンターテインメント | Image generation system and program |
| WO2020105299A1 (en) | 2018-11-21 | 2020-05-28 | ソニー株式会社 | Information processing device, information processing method, and program |
| WO2020152917A1 (en) | 2019-01-23 | 2020-07-30 | Necソリューションイノベータ株式会社 | Face authentication device, face authentication method, program, and recording medium |
-
2020
- 2020-12-09 JP JP2020204537A patent/JP7631769B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012181736A (en) | 2011-03-02 | 2012-09-20 | Panasonic Corp | Attitude estimation device, attitude estimation system, and attitude estimation method |
| JP2013210967A (en) | 2012-03-30 | 2013-10-10 | Canon Inc | Object detection method and object detection device |
| JP2013210968A (en) | 2012-03-30 | 2013-10-10 | Canon Inc | Object detecting device and method, and program |
| JP2017138915A (en) | 2016-02-05 | 2017-08-10 | 株式会社バンダイナムコエンターテインメント | Image generation system and program |
| WO2020105299A1 (en) | 2018-11-21 | 2020-05-28 | ソニー株式会社 | Information processing device, information processing method, and program |
| WO2020152917A1 (en) | 2019-01-23 | 2020-07-30 | Necソリューションイノベータ株式会社 | Face authentication device, face authentication method, program, and recording medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022091612A (en) | 2022-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102981603B (en) | Image processing apparatus and image processing method | |
| Yao et al. | Contour model-based hand-gesture recognition using the Kinect sensor | |
| JP6369534B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| CN102982525A (en) | Image processing apparatus, image processing method, and program | |
| CN108153421A (en) | Body feeling interaction method, apparatus and computer readable storage medium | |
| US20170365084A1 (en) | Image generating apparatus and image generating method | |
| Pisharady et al. | Kinect based body posture detection and recognition system | |
| CN115560750A (en) | Method, device, equipment and storage medium for determining human body posture | |
| CN111210275A (en) | User portrait construction method and device based on VR data and computer equipment | |
| JP7631769B2 (en) | Information processing device, matching program, and matching method | |
| WO2022074886A1 (en) | Posture detection device, posture detection method, and sleeping posture determination method | |
| Chaudhary et al. | A health monitoring system for elder and sick persons | |
| CN120048005B (en) | Personnel fall detection method, equipment and computer program | |
| JP5373128B2 (en) | Person identification device, person identification method, and person identification program | |
| JP7521704B2 (en) | Posture estimation device, learning model generation device, posture estimation method, learning model generation method, and program | |
| Zeng et al. | Finger tracking for breast palpation quantification using color image features | |
| Krishnamoorthi et al. | Virtual mouse using YOLO | |
| Azhar et al. | Significant body point labeling and tracking | |
| CN115512280B (en) | Multi-target detection algorithm and device for yellow-related storm-related videos | |
| CN114627313A (en) | Distribution task control method, robot, and storage medium | |
| US20250029363A1 (en) | Image processing system, image processing method, and non-transitory computer-readable medium | |
| US11881045B2 (en) | Region extraction device, region extraction method, and region extraction program | |
| US11847859B2 (en) | Information processing device, method, and program recording medium | |
| KR101844367B1 (en) | Apparatus and Method for Head pose estimation using coarse holistic initialization followed by part localization | |
| CN115410270A (en) | Posture comparison method and device, electronic equipment and computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230804 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240409 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240507 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240625 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20240906 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241008 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241205 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250107 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250120 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7631769 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |