(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024101684
(43)【公開日】2024-07-30
(54)【発明の名称】学習用データ生成装置、学習用データ生成方法、及び、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240723BHJP
G06V 10/774 20220101ALI20240723BHJP
【FI】
G06T7/00 660B
G06T7/00 350B
G06V10/774
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023005734
(22)【出願日】2023-01-18
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100117651
【弁理士】
【氏名又は名称】高垣 泰志
(72)【発明者】
【氏名】加世田 匠
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096BA08
5L096CA05
5L096DA01
5L096DA02
5L096FA02
5L096FA66
5L096FA67
5L096FA69
5L096FA72
5L096HA11
(57)【要約】 (修正有)
【課題】人物を撮影した二次元画像に人物の一部が写っていないときでも二次元画像にアノテーションを紐付けた学習用データを生成する装置、方法及びプログラムを提供する。
【解決手段】学習用データ生成装置10は、人物Uの複数の二次元画像を取得する画像取得部21と、三次元空間を構築して三次元画像を生成する画像生成部22と、複数の二次元画像のそれぞれから人物Uを抽出し、人物Uを三次元空間に配置したアノテーション座標を生成する座標生成部23と、三次元画像に基づいて任意の視点から見た人物Uの学習用二次元画像Dfを生成すると共に、アノテーション座標を変換した学習用座標Dgを生成し、学習用データDLを生成する学習用データ生成部24と、を備える。座標生成部は、二次元画像に人物Uの一部が写っていないとき二次元画像に写っている他の部分に基づいて二次元画像に写っていない一部の位置を推定してアノテーション座標を生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
人物を複数の視点から撮影した複数の二次元画像を取得する画像取得部と、
前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成部と、
前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成部と、
前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成部と、
を備え、
前記座標生成部は、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とする学習用データ生成装置。
【請求項2】
前記座標生成部は、前記複数の二次元画像のそれぞれに写っている前記人物の骨格を抽出し、前記骨格を前記三次元空間に配置したアノテーション座標を生成し、
前記座標生成部は、前記二次元画像に前記人物の一部の骨格が写っていないとき、前記二次元画像に写っている骨格に基づいて前記一部の骨格の位置を推定し、前記アノテーション座標を生成することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項3】
前記座標生成部は、前記二次元画像に前記人物の一方の手が写っていないとき、前記二次元画像に写っている他方の手に基づいて前記一方の手の位置を推定し、前記アノテーション座標を生成することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項4】
前記座標生成部は、前記二次元画像において前記人物の一部が他の物体に隠れて写っていないとき、前記三次元空間における前記物体の座標位置を検出し、前記二次元画像に写っていない一部の位置を前記物体に重ならない位置に推定することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項5】
前記二次元画像は、動画像であり、
前記座標生成部は、前記二次元画像において特定のタイミングで前記人物の一部が写っていないとき、前記二次元画像において前記特定のタイミング以外のタイミングで前記人物の一部が写っていれば、前記特定のタイミング以外のタイミングでの前記人物の一部の位置に基づいて前記特定のタイミングでの前記人物の一部の位置を推定することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項6】
前記座標生成部は、前記特定のタイミング以外のタイミングで前記人物の一部が移動しているとき、前記人物の一部の移動方向及び移動速度に基づいて前記特定のタイミングにおける前記人物の一部の位置を推定することを特徴とする請求項5に記載の学習用データ生成装置。
【請求項7】
前記学習用データ生成部は、前記視点位置を変化させ、複数の前記学習用データを生成することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項8】
前記学習用データ生成部は、前記三次元空間における注視点を設定し、前記注視点を中心にした前記学習用二次元画像を生成することを特徴とする請求項1に記載の学習用データ生成装置。
【請求項9】
前記学習用データ生成部は、前記注視点を変化させ、複数の前記学習用データを生成することを特徴とする請求項8に記載の学習用データ生成装置。
【請求項10】
人物を複数の視点から撮影した複数の二次元画像を取得する画像取得ステップと、
前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成ステップと、
前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成ステップと、
前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成ステップと、
を有し、
前記座標生成ステップは、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とする学習用データ生成方法。
【請求項11】
コンピュータに、
人物を複数の視点から撮影した複数の二次元画像を取得する画像取得ステップと、
前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成ステップと、
前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成ステップと、
前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成ステップと、
を実行させ、
前記座標生成ステップは、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習用データ生成装置、学習用データ生成方法、及び、プログラムに関し、特に人工知能(AI)によって二次元画像からアノテーション座標を生成する際の精度向上のための学習用データを生成する技術に関する。
【背景技術】
【0002】
近年、職人などの技能伝承において三次元姿勢推定が用いられている。例えば熟練の作業者が技能作業を行っているときにカメラを用いてその作業を撮影し、その画像から作業者の三次元姿勢を推定して可視化することにより、作業中の作業者の細かな動作や姿勢を未熟な作業者に分かりやすく伝えることができる。
【0003】
特に三次元姿勢推定は、作業者の骨格などに相当する部分の位置を画像平面内だけでなく、奥行きを含めた三次元座標として推定する。多視点カメラや赤外カメラなどのように深度情報を取得可能なカメラを用いれば、比較的高精度に三次元座標を推定することができる。しかし、多視点カメラや赤外カメラは高額であるため利用し難いという欠点がある。そこで、近年は、単眼カメラを利用して二次元画像を撮影し、学習済みのディープラーニングを利用して二次元画像から三次元姿勢を推定する手法が確立されている。例えば特許文献1の従来技術では、モバイルカメラで人間を撮影した画像を取得し、学習済みのディープラーニングを利用して人間の身体特徴を測定する方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、二次元画像から推定される三次元座標の精度を向上させるためには、事前に多数の二次元画像をディープラーニングで学習させる必要がある。このとき、二次元画像と、正解となる三次元座標とが互いに紐付いた多数の学習用データを準備する必要がある。
【0006】
そのような学習用データを準備するために、例えば、それぞれ視点の異なる複数のカメラを用いて作業中の人物を撮影し、それら複数のカメラから得られる複数の二次元画像に基づいて三次元空間を構築し、各二次元画像から抽出した人物の骨格などの位置を三次元空間上にマッピングしてアノテーション座標(三次元座標)を生成することが考えられる。この場合、三次元空間に配置された人物像を多数の視点から見た二次元画像に切り出していくと共に、アノテーション座標を、各視点を基準とする座標に変換することにより、二次元画像と骨格などの位置を示すアノテーションとを紐付けた学習用データを生成することができる。
【0007】
しかしながら、作業中の人物が機械や物の近くで作業している場合、複数のカメラの位置をどんなに変えても人物の一部が機械や物によって隠れてしまうことがある。その場合、二次元画像から人物の骨格などを適切に抽出することができず、アノテーションを付与することができない。そのため、三次元空間に配置された人物像から多数の二次元画像を切り出したとしても、それぞれの二次元画像に適切なアノテーションを紐付けることができず、ディープラーニングのための学習用データを生成することができないという問題がある。
【0008】
本発明は、上記従来の問題点を解決するためになされたものであり、人物を撮影した二次元画像に人物の一部が写っていないときでも、二次元画像にアノテーションを紐付けた学習用データを生成できるようにした学習用データ生成装置、学習用データ生成方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、請求項1に係る発明は、学習用データ生成装置であって、人物を複数の視点から撮影した複数の二次元画像を取得する画像取得部と、前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成部と、前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成部と、前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成部と、を備え、前記座標生成部は、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とする構成である。
【0010】
請求項2に係る発明は、請求項1の学習用データ生成装置において、前記座標生成部は、前記複数の二次元画像のそれぞれに写っている前記人物の骨格を抽出し、前記骨格を前記三次元空間に配置したアノテーション座標を生成し、前記座標生成部は、前記二次元画像に前記人物の一部の骨格が写っていないとき、前記二次元画像に写っている骨格に基づいて前記一部の骨格の位置を推定し、前記アノテーション座標を生成することを特徴とする構成である。
【0011】
請求項3に係る発明は、請求項1の学習用データ生成装置において、前記座標生成部は、前記二次元画像に前記人物の一方の手が写っていないとき、前記二次元画像に写っている他方の手に基づいて前記一方の手の位置を推定し、前記アノテーション座標を生成することを特徴とする構成である。
【0012】
請求項4に係る発明は、請求項1の学習用データ生成装置において、前記座標生成部は、前記二次元画像において前記人物の一部が他の物体に隠れて写っていないとき、前記三次元空間における前記物体の座標位置を検出し、前記二次元画像に写っていない一部の位置を前記物体に重ならない位置に推定することを特徴とする構成である。
【0013】
請求項5に係る発明は、請求項1の学習用データ生成装置において、前記二次元画像は、動画像であり、前記座標生成部は、前記二次元画像において特定のタイミングで前記人物の一部が写っていないとき、前記二次元画像において前記特定のタイミング以外のタイミングで前記人物の一部が写っていれば、前記特定のタイミング以外のタイミングでの前記人物の一部の位置に基づいて前記特定のタイミングでの前記人物の一部の位置を推定することを特徴とする構成である。
【0014】
請求項6に係る発明は、請求項5の学習用データ生成装置において、前記座標生成部は、前記特定のタイミング以外のタイミングで前記人物の一部が移動しているとき、前記人物の一部の移動方向及び移動速度に基づいて前記特定のタイミングにおける前記人物の一部の位置を推定することを特徴とする構成である。
【0015】
請求項7に係る発明は、請求項1の学習用データ生成装置において、前記学習用データ生成部は、前記視点位置を変化させ、複数の前記学習用データを生成することを特徴とする構成である。
【0016】
請求項8に係る発明は、請求項1の学習用データ生成装置において、前記学習用データ生成部は、前記三次元空間における注視点を設定し、前記注視点を中心にした前記学習用二次元画像を生成することを特徴とする構成である。
【0017】
請求項9に係る発明は、請求項8の学習用データ生成装置において、前記学習用データ生成部は、前記注視点を変化させ、複数の前記学習用データを生成することを特徴とする構成である。
【0018】
請求項10に係る発明は、学習用データ生成方法であって、人物を複数の視点から撮影した複数の二次元画像を取得する画像取得ステップと、前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成ステップと、前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成ステップと、前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成ステップと、を有し、前記座標生成ステップは、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とする構成である。
【0019】
請求項11に係る発明は、プログラムであって、コンピュータに、人物を複数の視点から撮影した複数の二次元画像を取得する画像取得ステップと、前記複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成ステップと、前記複数の二次元画像のそれぞれに写っている前記人物を抽出し、前記人物を前記三次元空間に配置したアノテーション座標を生成する座標生成ステップと、前記三次元空間における視点位置を設定し、前記三次元画像に基づいて前記視点位置から見た前記人物の学習用二次元画像を生成すると共に、前記アノテーション座標を、前記視点位置を基準とした学習用座標に変換し、前記学習用二次元画像と前記学習用座標とを組み合わせた学習用データを生成する学習用データ生成ステップと、を実行させ、前記座標生成ステップは、前記二次元画像に前記人物の一部が写っていないとき、前記二次元画像に写っている部分に基づいて前記二次元画像に写っていない一部の位置を推定して前記アノテーション座標を生成することを特徴とする構成である。
【発明の効果】
【0020】
本発明によれば、人物を撮影した二次元画像に人物の一部が写っていないときでも、二次元画像にアノテーションを紐付けた学習用データを生成することができるようになる。
【図面の簡単な説明】
【0021】
【
図1】三次元姿勢推定システムの構成例を示す図である。
【
図2】学習用データ生成装置の機能構成を示すブロック図である。
【
図3】画像生成部及び座標生成部によって生成される三次元画像の概念を示す図である。
【
図4】学習用データの生成処理の例を示す図である。
【
図5】複数のカメラによって人物が撮影されるときにカメラと人物との間に機械などの遮蔽物が存在する例を示す図である。
【
図6】カメラと人物との間に遮蔽物が存在する状態で得られる二次元画像を示す図である。
【
図7】他のフレーム画像から二次元画像に写っていない人物の一部の位置を推定する例を示す図である。
【
図8】学習用データ生成装置による処理手順の一例を示すフローチャートである。
【
図9】学習用データ生成処理の詳細な処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する要素には同一符号を付しており、それらについての重複する説明は省略する。
【0023】
図1は、本発明の一実施形態における三次元姿勢推定システム1の構成例を示す図である。三次元姿勢推定システム1は、熟練作業者などの人物Uを撮影した二次元画像Daを入力し、その二次元画像Daから人物Uの三次元姿勢を、AI(人工知能)によって推定するシステムである。この三次元姿勢推定システム1は、学習用データ生成装置10と、三次元姿勢推定装置2とを備えている。
【0024】
三次元姿勢推定装置2には、カメラ3が接続される。例えば、カメラ3は、単眼カメラによって構成され、熟練作業者などの人物Uが技能作業を行っているときにその人物Uの画像を撮影する。三次元姿勢推定装置2は、カメラ3から得られる二次元画像Daを解析することにより、人物Uの骨格や関節などの特徴部分の位置を三次元空間4にマッピングしてアノテーション座標を生成することにより、人物Uの人物像5を三次元化し、人物Uの三次元姿勢を推定したデータDbを生成する。
【0025】
三次元姿勢推定装置2は、AIによる姿勢推定機能を有し、機械学習部2aを備えている。機械学習部2aは、学習用データ生成装置10から提供される学習用データを用いてディープラーニングなどの機械学習を行うことにより、二次元画像Daから人物Uの三次元姿勢を推定するためのニューラルネットワークモデルを構築する。学習用データ生成装置10から提供される学習用データのデータ量が多い程、機械学習部2aは、精緻なニューラルネットワークモデルを構築し、三次元姿勢の推定精度を高めることができる。
【0026】
学習用データ生成装置10は、そのような三次元姿勢推定装置2に提供する学習用データを自動生成する装置である。この学習用データ生成装置10は、機械学習部2aに学習させるための人物を含む学習用二次元画像と、その学習用二次元画像から推定される人物の三次元姿勢を示す学習用座標とを互いに紐付けた学習用データとして生成する。学習用データ生成装置10は、多数の学習用データを自動生成し、三次元姿勢推定装置2へ出力する。
【0027】
例えば、学習用データ生成装置10は、一般的なパーソナルコンピュータなどの情報処理装置で構成され、CPU11と記憶部12とを備えている。CPU11は、記憶部12に予め記憶されているプログラムを読み出して実行するハードウェアプロセッサーである。記憶部12は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などで構成される不揮発性の記憶手段である。学習用データ生成装置10は、CPU11がプログラムを実行することにより、三次元姿勢推定装置2へ提供する学習用データを生成する。
【0028】
図2は、学習用データ生成装置10の機能構成を示すブロック図である。
図2に示すように、学習用データ生成装置10には、複数のカメラ3a,3bが接続される。カメラ3a,3bは、いずれも単眼カメラであり、熟練作業者などの人物Uをそれぞれ異なる視点から撮影した二次元画像を生成し、それら二次元画像を学習用データ生成装置10へ出力する。カメラ3a,3bが撮影する画像は、静止画像であっても良いし、動画像であっても良い。本実施形態では、カメラ3a,3bが動画像を撮影する場合を例に挙げて説明する。尚、
図2では、2台のカメラ3a,3bを用いて人物Uを撮影する場合を例示しているが、カメラの台数は2台に限られるものではなく、3台以上であっても構わない。
【0029】
学習用データ生成装置10は、CPU11がプログラムを実行することにより、画像取得部21、画像生成部22、座標生成部23、及び、学習用データ生成部24として機能する。
【0030】
画像取得部21は、複数のカメラ3a,3bによって撮影された複数の二次元画像を取得する。すなわち、画像取得部21は、それぞれ異なる視点から同一の人物Uを同じタイミングで撮影した複数の二次元画像を取得する。そのため、画像取得部21が取得する複数の二次元画像には、同じ姿勢の人物Uが写っていることになる。
【0031】
画像生成部22は、画像取得部21によって取得される複数の二次元画像に基づいて三次元空間を構築し、その三次元空間に人物Uの人物像を配置した三次元画像を生成する。この画像生成部22は、座標生成部23と連携して三次元空間に人物Uの人物像を配置した三次元画像を生成する。
【0032】
座標生成部23は、画像取得部21によって取得された複数の二次元画像のそれぞれから人物Uの骨格や関節などの特徴部分を抽出し、画像生成部22によって生成される三次元空間に人物Uの特徴部分を配置したアノテーション座標(三次元座標)を生成する。
【0033】
図3は、画像生成部22及び座標生成部23によって生成される三次元画像の概念を示す図である。例えば、画像生成部22は、
図3(a),(b)に示す二次元画像30a,30bを取得する。画像生成部22は、複数の二次元画像30a,30bに基づき、
図3(c)に示すような三次元空間30を構築する。画像生成部22が三次元空間30を構築する手法としては、例えば三次元姿勢推定装置2が三次元空間4を構築する手法と同様の公知の手法を採用すれば良い。
【0034】
座標生成部23は、複数の二次元画像30a,30bのそれぞれから骨格や関節などの特徴部分31を抽出し、特徴部分31の深度情報を検出する。例えば、複数のカメラ3a,3bから得られる複数の二次元画像30a,30bは、互いに異なる視点から人物Uを撮影したステレオ画像を形成する。座標生成部23は、それらステレオ画像から人物Uの特徴部分31までの深度情報(カメラ3a,3bからの距離)を演算によって検出する。そして座標生成部23は、二次元画像30a,30bにおける横方向(X軸)の位置と、縦方向(Y軸)の位置と、深度情報とに基づき、
図3(c)に示すように、特徴部分31を三次元空間30に配置する。これにより、人物Uの人物像34が三次元化された三次元画像35が生成される。
【0035】
図2に戻り、画像生成部22及び座標生成部23によって人物像の三次元画像35が生成されると、次に学習用データ生成部24が動作する。学習用データ生成部24は、学習用二次元画像Dfと学習用座標Dgとを相互に紐付けた学習用データDLを生成する。
【0036】
図4は、学習用データDLの生成処理の例を示す図である。学習用データ生成部24は、三次元空間30に人物像が配置された三次元画像35を取得し、その三次元画像35に基づいて多数の学習用データDLを自動生成する。
図4に示すように、学習用データ生成部24は、画像生成部22によって生成される三次元画像35に対し、注視点と視点とを設定する。注視点は、人物像34の任意の部位に設定される。例えば、注視点は、人物像34全体として設定しても良いし、人物像34の特定の部位(例えば手や目など)に限定して設定しても良い。また、視点は、三次元画像35から二次元画像を生成する際の視点であり、人物像34の周囲の任意の位置に設定される。
【0037】
学習用データ生成部24は、人物像34の周囲に設定される複数の視点からみた二次元画像を三次元画像35から切り出していき、学習用二次元画像Dfを生成する。このとき、学習用データ生成部24は、人物像34に設定される注視点を二次元画像の中心位置に設定して学習用二次元画像Dfを生成する。そして、学習用データ生成部24は、注視点及び視点を変化させつつ、三次元画像35から二次元画像を生成する処理を繰り返し実行することで、複数の学習用二次元画像Dfを生成する。例えば、学習用データ生成部24は、4に示すように、人物像34の周囲に複数の視点P1,P2,P3,…を順次設定し、それら複数の視点P1,P2,P3,…からみた学習用二次元画像Dfを順次生成する。例えば、人物像34に対してN個の注視点を設定すると共に、人物像34の周囲にM個の視点を設定した場合、学習用データ生成部24は、N×M個の学習用二次元画像Dfを生成することができる。また、学習用データ生成部24は、学習用二次元画像Dfを生成するときの倍率を変化させることにより、更に多くの学習用二次元画像Dfを生成することも可能である。
【0038】
また、学習用データ生成部24は、1つの視点から注視点をみた学習用二次元画像Dfを生成することに伴い、人物像34の特徴部分を示すアノテーション座標を、視点位置を基準とした座標に変換し、学習用座標Dgを生成する。そして、学習用データ生成部24は、学習用二次元画像Dfと学習用座標Dgを相互に紐付けた1組の学習用データDLを生成する。学習用二次元画像Dfは、三次元姿勢推定装置2の機械学習部2aに学習させるための画像であり、学習用座標Dgは、学習用二次元画像Dfから推定される人物の姿勢を示す正解データである。したがって、学習用データ生成装置10は、学習用二次元画像Dfと、正解データである学習用座標Dgとを相互に紐付けた多数の学習用データDLを三次元姿勢推定装置2へ提供することにより、三次元姿勢推定装置2に多数の学習用データDLに基づく機械学習を行わせることができる。
【0039】
図5は、複数のカメラ3a,3bによって人物Uが撮影されるとき、カメラ3a,3bと人物Uとの間に機械などの遮蔽物40が存在する例を示す図である。カメラ3a,3bと人物Uとの間に遮蔽物40が存在すると、カメラ3a,3bは、人物Uの全体を写した画像を撮影することができない。
【0040】
図6(a)は、カメラ3a,3bと人物Uとの間に遮蔽物40が存在する状態で得られる二次元画像41を示す図である。
図6(a)に示すように、カメラ3a,3bによって撮影された二次元画像41において人物Uの一部が遮蔽物40に隠れている場合、座標生成部23は、二次元画像41から人物Uの骨格や関節などの全ての特徴部分31を抽出することができず、人物像34の三次元姿勢を示す完全なアノテーション座標を付与することができない。
【0041】
そこで、座標生成部23は、カメラ3a,3bで撮影された二次元画像41に人物Uの一部が写っていないとき、二次元画像41に写っている他の部分に基づいて二次元画像41に写っていない一部の位置を推定し、三次元画像35にアノテーション座標を付与する。例えば、
図6(a)に示すように、人物Uの左側の一部が遮蔽物40に隠れている場合、座標生成部23は、人物Uの右側の二次元画像41に写っている部分から二次元画像41に写っていない左側の一部の位置を推定する。すなわち、座標生成部23は、
図6(b)に示すように、人物Uの右側の二次元画像41に写っている部分42から特徴部分31を抽出し、二次元画像41に写っていない部分43の特徴部分32の位置を推定する。このとき、座標生成部23は、二次元画像41に写っていない部分43の特徴部分32が二次元画像41に写っている部分42の特徴部分31の姿勢と同じ姿勢である仮定して特徴部分32の位置を推定しても良いし、また、二次元画像41に写っていない部分43の特徴部分32が二次元画像41に写っている部分42の特徴部分31の姿勢と対称な姿勢である仮定して特徴部分32の位置を推定しても良い。したがって、座標生成部23は、例えば二次元画像41に人物Uの一方の手が写っていないとき、二次元画像41に写っている他方の手に基づいて一方の手の位置を推定し、アノテーション座標を生成する。
【0042】
また、座標生成部23は、二次元画像41に写っている遮蔽物40の座標を生成することが可能である。そのため、座標生成部23は、二次元画像41において人物Uの一部が遮蔽物40に隠れて写っていないとき、三次元空間30における遮蔽物40(物体)の座標位置を検出し、二次元画像41に写っていない人物Uの一部の位置を遮蔽物40に重ならない位置に推定する。これにより、二次元画像41に写っていない人物Uの一部の位置が不自然な位置に配置されてしまうことを防止することができる。
【0043】
また、カメラ3a,3bによって撮影される画像は、動画像である。そのため、座標生成部23は、二次元画像41の前後のフレーム画像から、二次元画像41には写っていない部分が写っている二次元画像を検索し、検索した二次元画像から特徴部分32の位置を推定することも可能である。具体的に説明すると、座標生成部23は、二次元画像41において特定のタイミングで人物Uの一部が写っていないとき、特定のタイミング以外のタイミングで撮影された二次元画像に人物Uの一部が写っていれば、特定のタイミング以外のタイミングでの人物Uの一部の位置に基づいて特定のタイミングでの人物Uの一部の位置を推定する。このとき、座標生成部23は、特定のタイミング以外のタイミングで人物Uの一部が移動しているとき、一連のフレーム画像から人物Uの一部の移動方向及び移動速度を検出する。そして座標生成部23は、検出した移動方向及び移動速度に基づいて特定のタイミングにおける人物Uの一部の位置を推定する。
【0044】
図7は、他のフレーム画像から二次元画像41に写っていない人物の一部の位置を推定する例を示す図である。例えば、
図6(a)に示した二次元画像41が取得される前に、
図7(a)に示す二次元画像45が取得されていた場合、人物Uは、遮蔽物40の後に移動したことになる。この場合、座標生成部23は、
図7(a)の二次元画像45から人物Uの特徴部分31を抽出し、それら特徴部分31の移動方向及び移動速度を検出する。そして、座標生成部23は、その移動方向及び移動速度に基づき、
図7(b)に示すように二次元画像41が取得されたタイミングで遮蔽物40に隠れてしまい、二次元画像41に写っていない部分43の特徴部分32の位置を推定する。
【0045】
上記のように座標生成部23は、カメラ3a,3bによって取得された二次元画像に人物Uの一部が写っていないときには、二次元画像に写っている他の部分に基づいて二次元画像に写っていない一部の位置を推定し、アノテーション座標を付与する。これにより、画像生成部22によって生成される三次元画像35に、人物Uの全ての骨格や関節等を含む三次元座標を付与することができる。したがって、学習用データ生成部24が学習用データDLを生成するときには、人物Uの三次元姿勢を示す学習用座標Dgを適切に生成することが可能である。その結果、三次元姿勢推定装置2は、カメラ3で撮影された二次元画像Daにおいて人物Uの一部が写っていない場合であってもその一部の位置を推定することができ、人物Uの三次元姿勢を推定できるようになる。
【0046】
次に、学習用データ生成装置10による処理手順の一例について説明する。
図8及び
図0は、学習用データ生成装置10による処理手順の一例を示すフローチャートである。この処理は、CPU11が記憶部12に記憶されているプログラムを読み出して実行することにより行われる。学習用データ生成装置10は、この処理を開始すると、まず、複数のカメラ3a,3bから複数の二次元画像30a,30bを取得する。複数の二次元画像30a,30bを取得すると、学習用データ生成装置10は、二次元画像30a,30bに基づいて三次元空間30を構築する(ステップS11)。また、学習用データ生成装置10は、複数の二次元画像30a,30bのそれぞれから人物Uの骨格や関節などの特徴部分を抽出し(ステップS12)、抽出した特徴部分を三次元空間30に配置したアノテーション座標を生成する(ステップS13)。
【0047】
次に学習用データ生成装置10は、二次元画像30a,30bに写っていない部分があるか否かを判断する(ステップS14)。二次元画像30a,30bに写っていない部分がある場合(ステップS14でYES)、学習用データ生成装置10は、同じ二次元画像において写っている他の部分から写っていない部分を推定可能であるか否かを判断する(ステップS15)。同じ二次元画像に写っている他の部分から写っていない部分を推定可能である場合(ステップS15でYES)、学習用データ生成装置10は、同じ二次元画像の写っている部分から写っていない部分の位置を推定し(ステップS17)、アノテーション座標を生成する(ステップS18)。
【0048】
これに対し、同じ二次元画像に写っている他の部分から写っていない部分を推定することが困難である場合(ステップS15でNO)、学習用データ生成装置10は、前後のフレーム画像から写っていない部分が写っている画像を検索する(ステップS16)。そして学習用データ生成装置10は、他の二次元画像から写っていない部分の位置を推定し(ステップS17)、アノテーション座標を生成する(ステップS18)。
【0049】
ステップS14~S18の処理で、二次元画像30a,30bに写っていない人物Uの特徴部分についてもアノテーション座標が付与されることになり、人物Uの三次元姿勢を示す完全な座標情報を含む三次元画像35を生成することができる。尚、二次元画像30a,30bに人物Uの全体が写っており、写っていない部分がない場合(ステップS14でNO)、ステップS15~S18はスキップする。
【0050】
次に、学習用データ生成装置10は、学習用データ生成処理を実行する(ステップS19)。
図9は、学習用データ生成処理の詳細な処理手順の一例を示すフローチャートである。学習用データ生成装置10は、学習用データ生成処理を開始すると、注視点の数Nと、視点の数Mとを設定する。例えば、これらの数N,Mは、学習用データ生成装置10を操作するユーザーによって任意に設定可能である。続いて、学習用データ生成装置10は、変数i,jを0に初期化する。
【0051】
学習用データ生成装置10は、三次元画像35の人物像34に対して注視点を設定する(ステップS32)。次に、学習用データ生成装置10は、人物像34の周囲に視点を設定し(ステップS33)、三次元画像35から視点を基準とする二次元画像を切り出し、その切り出した二次元画像を学習用二次元画像Dfとして生成する(ステップS34)。また、学習用データ生成装置10は、三次元画像35に付与されている人物Uのアノテーション座標を、視点を基準とする座標に変換し、学習用座標Dgを生成する(ステップS35)。そして、学習用データ生成装置10は、学習用二次元画像Dfと学習用座標Dgとを相互に紐付けた学習用データDLを生成する(ステップS36)。
【0052】
次に学習用データ生成装置10は、変数jに1を加算し(ステップS37)、変数jが予め設定された視点の数Mに達したか否かを判断する(ステップS38)。変数jが視点の数Mに達していない場合(ステップS38でNO)、学習用データ生成装置10は、ステップS33以降の処理を繰り返す。このとき、学習用データ生成装置10は、視点の位置をそれ以前の位置とは異なる位置に設定し、三次元画像35から学習用二次元画像Dfと学習用座標Dgとを相互に紐付けた学習用データDLを生成する。一方、変数jが視点の数Mに達した場合(ステップS38でYES)、学習用データ生成装置10は、変数iに1を加算し(ステップS39)、変数jを0に初期化する(ステップS40)。そして学習用データ生成装置10は、変数iが予め設定した注視点の数Nに達したか否かを判断する(ステップS41)。変数iが注視点の数Nに達していない場合(ステップS41でNO)、学習用データ生成装置10は、ステップS32以降の処理を繰り返す。このとき、学習用データ生成装置10は、注視点の位置をそれ以前の位置とは異なる位置に設定し、三次元画像35から学習用二次元画像Dfと学習用座標Dgとを相互に紐付けた学習用データDLを生成する処理を、視点を変化させつつ繰り返し実行する。これにより、視点及び注視点を変化させた多数の学習用データDLを自動生成することができる。そして、変数iが注視点の数Nに達すると(ステップS41でYES)、学習用データ生成処理が終了する。
【0053】
図8のフローチャートに戻り、学習用データ生成装置10は、ステップS19で生成した多数の学習用データDLを三次元姿勢推定装置2へ出力する(ステップS20)。これにより、三次元姿勢推定装置2において機械学習を行われ、精緻なニューラルネットワークモデルが構築されていく。
【0054】
以上のように本実施形態の学習用データ生成装置10は、人物Uを複数の視点から撮影した複数の二次元画像を取得する画像取得部21と、それら複数の二次元画像に基づいて三次元空間を構築し、三次元画像を生成する画像生成部22と、複数の二次元画像のそれぞれに写っている人物Uを抽出し、人物Uを三次元空間に配置したアノテーション座標を生成する座標生成部23と、三次元空間における視点位置を設定し、三次元画像に基づいて視点位置から見た人物Uの学習用二次元画像Dfを生成すると共に、アノテーション座標を、視点位置を基準とした学習用座標Dgに変換し、学習用二次元画像Dfと学習用座標Dgとを組み合わせた学習用データDLを生成する学習用データ生成部24とを備えている。この学習用データ生成装置10の座標生成部23は、二次元画像に人物Uの一部が写っていないとき、二次元画像に写っている部分に基づいて二次元画像に写っていない一部の位置を推定してアノテーション座標を生成する。そのため、人物Uを複数の視点から撮影した複数の二次元画像において人物Uの一部が写っていない場合であっても、アノテーション座標を付与することが可能であり、学習用データDLを生成するときには人物Uの三次元姿勢を示す学習用座標を適切に生成することができる。したがって、学習用データ生成装置10は、学習用二次元画像Dfと学習用座標Dgとを組み合わせた学習用データDLを大量に自動生成することが可能である。
【0055】
以上、本発明に関する好ましい実施形態について説明した。しかし、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【0056】
例えば、上記実施形態では、学習用データ生成装置10と三次元姿勢推定装置2とが別の装置として構成される場合を例示した。しかし、これに限られるものではなく、学習用データ生成装置10と三次元姿勢推定装置2とは一体的な1つの装置として構築されるものであっても構わない。
【0057】
また、上記実施形態では、学習用データ生成装置10のCPU11によって実行されるプログラムが予め記憶部12に記憶されている場合を例示した。しかし、これに限られるものではなく、CPU11によって実行されるプログラムは、外部のコンピュータ読み取り可能な記録媒体に記録されていても構わない。また、プログラムは、インターネットなどのネットワークを介してパーソナルコンピュータなどの情報処理装置にインストールされるものであっても構わない。
【符号の説明】
【0058】
1 三次元姿勢推定システム
2 三次元姿勢推定装置
3,3a,3b カメラ
10 学習用データ生成装置
21 画像取得部
22 画像生成部
23 座標生成部
24 学習用データ生成部
DL 学習用データ
Df 学習用二次元画像
Dg 学習用座標