(本開示の基礎となった知見)
家庭内又は屋内などにおいて、環境内人物の行動認識又は機器操作者の人物認識など、さまざまな認識技術は重要である。近年、物体認識のために、ディープラーニングと呼ばれる技術が注目されている。ディープラーニングとは、多層構造のニューラルネットワークを用いた機械学習であり、大量の訓練データを利用することで、従来法と比べて、より高精度な認識性能を実現することが可能である。このような物体認識において、画像情報は特に有効である。入力デバイスにカメラを利用し、画像情報を入力としたディープラーニングを行うことによって、従来の物体認識能力を大幅に向上させるさまざまな手法が提案されている。
しかし、家庭内などにカメラを配置することは、ハッキングなどにより撮像画像が外部に漏れた場合、プライバシーが侵害されるという課題があった。したがって、仮に撮像画像が外部に漏れた場合であっても、被写体のプライバシーを保護するための対策が必要である。
例えば、人間による視覚的な認識が困難であるボケのある画像を得るためのカメラとしては、マルチピンホールカメラがある。マルチピンホールカメラによって撮像される画像は、視点の異なる複数の画像が重畳され、又は、レンズを使用しないことで被写体像が合焦しにくい等の影響により、意図的に作り出されたボケによって人間による視覚的な認識が困難な画像である。そのため、特に家庭内又は屋内など、プライバシー保護が必要となる環境における画像認識システムの構築のために、マルチピンホールカメラによって撮像された画像を用いることは好適である。
画像認識システムでは、マルチピンホールカメラによって対象エリアが撮像され、撮像画像が識別器に入力される。これにより、識別器は、訓練済みの識別モデルを用いて、入力された撮像画像に含まれている顔を識別する。このように、マルチピンホールカメラによって対象エリアが撮像されることにより、仮に撮像画像が外部に漏れた場合であっても、撮像画像は人間による視覚的な認識が困難であるため、被写体のプライバシーを保護することができる。
このような識別器を訓練するために、上記の非特許文献1の撮像方法は、通常カメラで撮像した画像をディスプレイに表示し、ディスプレイに表示された画像をレンズレスカメラで撮像することで、訓練用データセットを作成している。しかしながら、マルチピンホールカメラ及びレンズレスカメラは被写体との距離に応じて多重像の重畳の度合いが変化し、ボケ度合いが異なる撮像画像が取得できるが、従来の撮像方法では、ディスプレイに表示された1つの画像からは、カメラとディスプレイとの間の距離に応じた1つのボケ画像しか取得できない。実際に画像認識時に用いる撮像画像のボケ度合いは、訓練時に用いた撮像画像のボケ度合いと異なるおそれがある。そのため、従来の撮像方法で撮像した撮像画像を用いて機械学習モデルが訓練された場合、機械学習モデルの認識精度を向上させることは困難であった。
そこで、本発明者らは、訓練用データセットを蓄積する段階で、ディスプレイとカメラとの距離を変化させながら、ディスプレイに表示された画像を撮像する情報処理方法を発案した。これにより、ディスプレイとカメラとの距離に応じた様々なボケ度合いの訓練用画像を含んだ訓練用データセットを蓄積することができ、被写体のプライバシーを保護しつつ、機械学習モデルの認識精度を向上させることができるとの知見を得て、本開示を想到するに至った。
以上の課題を解決するために、本開示の一態様に係る情報処理システムは、機械学習モデルの第1訓練用画像を第1記憶部から取得する画像取得部と、表示装置と、撮像によりボケ画像を取得する撮像装置との距離を取得する距離取得部と、前記距離に基づいて前記第1訓練用画像を前記表示装置に表示させる表示制御部と、前記表示装置に表示された前記第1訓練用画像を前記撮像装置に撮像させて第2訓練用画像を取得する撮像制御部と、前記撮像装置の撮像により得られた前記第2訓練用画像と、前記第1訓練用画像に対応する正解情報との組を含むデータセットを第2記憶部に記憶する記憶制御部と、を備え、前記表示制御部は、前記距離が変更されたとき、前記撮像装置の撮像により得られる前記第2訓練用画像のサイズが維持されるように、前記第1訓練用画像の表示サイズを変更し、前記表示サイズを変更した前記第1訓練用画像を前記表示装置に表示させ、前記撮像制御部は、前記距離が変更されると前記第1訓練用画像を前記撮像装置に撮像させる。
この構成によれば、機械学習モデルの第1訓練用画像が表示装置に表示され、表示装置に表示された第1訓練用画像を撮像装置に撮像させて第2訓練用画像が取得される。撮像装置は、撮像によりボケ画像を取得する。撮像装置の撮像により得られた第2訓練用画像と正解情報との組を含むデータセットは第2記憶部に記憶される。そして、表示装置と撮像装置との距離が変更されたとき、撮像装置の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズが変更され、表示サイズが変更された第1訓練用画像が表示装置に表示される。そして、距離が変更されると第1訓練用画像が撮像装置に撮像される。
したがって、表示装置と撮像装置との距離に応じた様々なボケ度合いの訓練用画像と正解情報との組を含むデータセットを蓄積することができ、被写体のプライバシーを保護しつつ、機械学習モデルの認識精度を向上させることができる。
また、上記の情報処理システムにおいて、前記表示装置と前記撮像装置との距離の変更を指示する変更指示部をさらに備えてもよい。
この構成によれば、表示装置と撮像装置との距離の変更が指示されるので、表示装置と撮像装置との距離を予め決められた距離に変更することができ、変更された距離に応じた所望のボケ度合いの訓練用画像を取得することができる。
また、上記の情報処理システムにおいて、前記変更指示部は、前記距離の変更を複数回指示し、前記表示制御部は、前記複数回の前記距離の変更のたびに、前記撮像装置の撮像により得られる前記第2訓練用画像のサイズが維持されるように、前記第1訓練用画像の表示サイズを変更し、前記表示サイズを変更した前記第1訓練用画像を前記表示装置に表示させ、前記撮像制御部は、前記複数回の前記距離の変更のたびに、前記第1訓練用画像を前記撮像装置に撮像させて複数の第2訓練用画像を取得し、前記記憶制御部は、前記撮像装置の撮像により得られた前記複数の第2訓練用画像それぞれと前記正解情報との組を含むデータセットを前記第2記憶部に記憶してもよい。
この構成によれば、表示装置と撮像装置との距離が複数回変更され、1つの第1訓練用画像に対して、ボケ度合いが異なる複数の第2訓練用画像が取得されるので、ボケ度合いが異なる複数の訓練用画像それぞれと正解情報との組を含むデータセットを蓄積することができる。
また、上記の情報処理システムにおいて、前記変更指示部は、前記撮像装置及び前記表示装置の少なくとも一方を移動させる移動装置に対して、前記撮像装置及び前記表示装置の少なくとも一方の移動を指示してもよい。
この構成によれば、撮像装置と表示装置との距離を自動的に変更することができ、ユーザによる撮像装置及び表示装置の少なくとも一方の移動作業を軽減することができる。
また、上記の情報処理システムにおいて、前記変更指示部は、前記撮像装置及び前記表示装置の少なくとも一方を、前記撮像装置の光軸方向に移動させてもよい。
この構成によれば、撮像装置及び表示装置の少なくとも一方が、撮像装置の光軸方向に移動されるので、表示装置と撮像装置との光軸方向の距離を変更することができる。
また、上記の情報処理システムにおいて、前記変更指示部は、前記撮像装置及び前記表示装置の少なくとも一方を、前記撮像装置の光軸方向と交差する方向に移動させてもよい。
この構成によれば、第2訓練用画像が撮像装置の光学系による周辺減光の影響を受ける場合、撮像装置及び表示装置の少なくとも一方が、撮像装置の光軸方向と交差する方向に移動されるので、1つの被写体に対して異なる周辺減光の影響を受ける複数の訓練用画像を得ることができる。
また、上記の情報処理システムにおいて、前記距離取得部は、前記表示装置と前記撮像装置との距離を測定する距離測定装置から前記距離を取得してもよい。
この構成によれば、表示装置と撮像装置との距離がユーザにより手動で変更されたとしても、表示装置と撮像装置との距離を測定する距離測定装置から距離が取得されるので、測定された距離に応じて第1訓練用画像の表示サイズを変更することができる。
また、上記の情報処理システムにおいて、前記第1記憶部に記憶されている前記第1訓練用画像は、前記撮像装置とは異なる撮像装置によって取得されたボケのない画像であってもよい。
この構成によれば、ボケのない画像である第1訓練用画像を撮像装置によって撮像することにより、ボケのある第2訓練用画像を取得することができる。
また、上記の情報処理システムにおいて、前記表示制御部は、前記表示装置と前記撮像装置との距離に比例して前記第1訓練用画像の前記表示サイズを変更してもよい。
この構成によれば、表示装置と撮像装置との距離に比例して第1訓練用画像の表示サイズが変更されるので、表示装置と撮像装置との距離が得られれば、当該距離に比例する第1訓練用画像の表示サイズを容易に決定することができる。
また、上記の情報処理システムにおいて、前記第2記憶部に記憶された前記第2訓練用画像と前記正解情報との組を含むデータセットを利用して、前記機械学習モデルを訓練する訓練部をさらに備えてもよい。
この構成によれば、第2記憶部に記憶された第2訓練用画像と正解情報との組を含むデータセットを利用して、機械学習モデルが訓練されるので、被写体との距離に応じたボケ度合いの撮像画像から被写体を認識するための機械学習モデルの認識能力を向上させることができる。
また、上記の情報処理システムにおいて、前記第1訓練用画像に対応する前記正解情報は、前記第1記憶部に記憶されており、前記記憶制御部は、前記正解情報を前記第1記憶部から取得してもよい。
この構成によれば、表示装置と撮像装置との距離に応じた様々なボケ度合いの訓練用画像と正解情報との組を含むデータセットを蓄積することができ、被写体のプライバシーを保護しつつ、機械学習モデルの認識精度を向上させることができる。
また、上記の情報処理システムにおいて、前記第1訓練用画像に対応する前記正解情報は、前記第1記憶部に記憶されており、前記画像取得部は、前記正解情報を前記第1記憶部から取得し、取得した前記正解情報を前記記憶制御部へ出力してもよい。
この構成によれば、表示装置と撮像装置との距離に応じた様々なボケ度合いの訓練用画像と正解情報との組を含むデータセットを蓄積することができ、被写体のプライバシーを保護しつつ、機械学習モデルの認識精度を向上させることができる。
また、本開示は、以上のような特徴的な構成を備える情報処理システムとして実現することができるだけでなく、情報処理システムが備える特徴的な構成に対応する特徴的な処理を実行する情報処理方法などとして実現することもできる。したがって、以下の他の態様でも、上記の情報処理システムと同様の効果を奏することができる。
本開示の他の態様に係る情報処理方法は、コンピュータが、機械学習モデルの第1訓練用画像を第1記憶部から取得し、表示装置と、撮像によりボケ画像を取得する撮像装置との距離を取得し、前記距離に基づいて前記第1訓練用画像を前記表示装置に表示させ、前記表示装置に表示された前記第1訓練用画像を前記撮像装置に撮像させて第2訓練用画像を取得し、前記撮像装置の撮像により得られた前記第2訓練用画像と、前記第1訓練用画像に対応する正解情報との組を含むデータセットを第2記憶部に記憶し、前記第1訓練用画像の表示において、前記距離が変更されたとき、前記撮像装置の撮像により得られる前記第2訓練用画像のサイズが維持されるように、前記第1訓練用画像の表示サイズを変更し、前記表示サイズを変更した前記第1訓練用画像を前記表示装置に表示させ、前記第2訓練用画像の取得において、前記距離が変更されると前記第1訓練用画像を前記撮像装置に撮像させる。
以下添付図面を参照しながら、本開示の実施形態について説明する。なお、以下の実施形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
(第1実施形態)
図1は、本開示の第1実施形態に係る撮像システム1の全体構成の一例を示すブロック図である。
撮像システム1は、撮像制御装置2、移動装置3、表示装置4及び撮像装置5を備える。
表示装置4は、例えば、液晶表示装置又は有機EL(Electro Luminescence)表示装置である。表示装置4は、撮像制御装置2によって制御され、撮像制御装置2から出力された画像を表示する。なお、表示装置4は、スクリーンに画像を投影するプロジェクタであってもよい。
撮像装置5は、例えば、レンズレスカメラ、符号化開口カメラ(Coded Aperture Camera)、マルチピンホールカメラ、レンズレスマルチピンホールカメラ、又はライトフィールドカメラなどの計算撮像カメラである。撮像装置5は、撮像によりボケ画像を取得する。
撮像装置5は、表示装置4の表示画面を撮像可能な位置に配置されている。本第1実施形態における撮像装置5は、複数のピンホールが形成されたマスクパターンを有するマスクが撮像素子の受光面を覆うように配置されたレンズレスマルチピンホールカメラである。言い換えると、マスクパターンは、被写体と受光面との間に配置されるともいえる。
撮像装置5は、ボケのない通常の画像を撮像する通常のカメラと異なり、ボケのある画像である計算撮像画像を撮像する。計算撮像画像は、意図的に作り出されたボケによって撮像画像自体を人が見ても被写体を認識できない画像である。
図2は、撮像装置5の一例であるマルチピンホールカメラ200の構造を模式的に示す図である。図2は、マルチピンホールカメラ200を上から見た図である。
図2に示すマルチピンホールカメラ200は、マルチピンホールマスク201と、CMOSなどのイメージセンサ202とを有する。マルチピンホールカメラ200は、レンズを有していない。マルチピンホールマスク201は、イメージセンサ202の受光面から一定距離離れて配置されている。マルチピンホールマスク201は、ランダム又は等間隔に配置された複数のピンホール2011,2012を有している。複数のピンホール2011,2012は、マルチピンホールとも呼ばれる。イメージセンサ202は、各ピンホール2011,2012を通じて表示装置4に表示された画像を撮像した撮像画像を取得する。ピンホールを通じて取得される画像は、ピンホール画像とも呼ばれる。
各ピンホール2011,2012の位置及び大きさによって被写体のピンホール画像は異なる。そのため、イメージセンサ202は、複数のピンホール画像がわずかにずれて重なり合った状態(多重像)の重畳画像を取得する。複数のピンホール2011,2012の位置関係は、イメージセンサ202上に投影される複数のピンホール画像の位置関係(つまり多重像の重畳の度合い)に影響を与える。ピンホール2011,2012の大きさは、ピンホール画像のボケの度合いに影響を与える。
マルチピンホールマスク201が用いられることによって、位置及びボケの程度が異なる複数のピンホール画像を重畳して取得することが可能である。つまり、意図的に多重像及びボケが作り出された計算撮像画像を取得することが可能である。そのため、撮像画像は多重像かつボケ画像となり、これらのボケによって被写体のプライバシーが保護された画像を取得することができる。
また、ピンホールの数、ピンホールの位置、及びピンホールの大きさが変更されることで、ボケ方の異なる画像が取得可能となる。つまり、マルチピンホールマスク201は、ユーザによって容易に脱着できる構造であってもよい。マスクパターンが異なる複数種類のマルチピンホールマスク201が予め用意されていてもよい。マルチピンホールマスク201は、画像認識時に使用されるマルチピンホールカメラのマスクパターンに応じて、ユーザによって自由に交換されてもよい。
なお、このようなマルチピンホールマスク201の変更は、マルチピンホールマスク201の交換以外にも、以下の様々な方法で実現可能である。例えば、マルチピンホールマスク201は、イメージセンサ202の前に回動自在に取り付けられていてもよく、ユーザによって任意に回転されてもよい。また、例えば、マルチピンホールマスク201は、イメージセンサ202の前に取り付けられている板の任意の箇所に、ユーザによって穴が開けられることにより、作成されてもよい。また、例えば、マルチピンホールマスク201は、空間光変調器などを利用した液晶マスクであってもよい。マルチピンホールマスク201内の各位置の透過率が任意に設定されることにより、所定の数のピンホールが所定の位置に形成されてもよい。さらに、例えば、マルチピンホールマスク201は、ゴムなどの伸縮可能な材質を用いて成形されてもよい。ユーザは、外力の印加によってマルチピンホールマスク201を物理的に変形させ、ピンホールの位置及び大きさを変えてもよい。
なお、マルチピンホールカメラ200は、訓練済みの機械学習モデルを用いた画像認識時においても用いられる。マルチピンホールカメラ200によって撮像された画像は、訓練データとして収集される。収集された訓練データは、機械学習モデルの訓練に用いられる。
また、図2では、2つのピンホール2011,2012が水平方向に並んで配置されているが、本開示は特にこれに限定されず、マルチピンホールカメラ200は、3つ以上のピンホールを備えてもよい。また、2つのピンホール2011,2012は、垂直方向に並んで配置されてもよい。
移動装置3は、モータなどの駆動装置である。移動装置3は、例えばリニアモータを有したレールであり、撮像装置5を搭載している。移動装置3は、リニアモータを駆動することにより、撮像装置5を移動させる。表示装置4の位置は固定されている。移動装置3は、表示装置4に近づく方向又は表示装置4から離れる方向へ撮像装置5を移動させる。この際、移動装置3は、撮像装置5を撮像装置5の光軸方向上に移動させる。これにより、後述するように、撮像装置5は、撮像装置5の光軸上に存在するピンホールに対応するピンホール画像の位置が固定された画像を取得することができる。もちろん、移動装置3は、撮像装置5を移動させることが可能であればよく、例えば車輪を動かすモータ、又はドローンなどの飛行体であってもよい。
撮像制御装置2は、具体的には図示されていないマイクロプロセッサ、RAM(Random Access Memory)、ROM(Read Only Memory)及びハードディスクなどから構成される。RAM、ROM又はハードディスクは、コンピュータプログラムを記憶しており、マイクロプロセッサがコンピュータプログラムに従って動作することにより、撮像制御装置2の機能が実現される。
撮像制御装置2は、第1記憶部21、第2記憶部22、第3記憶部23、距離取得部24、移動指示部25、画像取得部26、表示制御部27、撮像制御部28及び記憶制御部29を備える。
第1記憶部21は、機械学習モデルの第1訓練用画像と第1訓練用画像に対応する正解情報とを記憶する。第1記憶部21は、通常カメラで撮像された複数の第1訓練用画像と、複数の第1訓練用画像それぞれに対応する正解情報(アノテーション情報)とを記憶する。第1訓練用画像は、機械学習モデルの認識対象である被写体を含む画像である。第1訓練用画像は、撮像装置5とは異なる撮像装置によって取得されたボケのない画像である。
正解情報は、識別タスクごとに異なる。例えば、識別タスクが物体検出であれば、正解情報は、検出対象が画像上に占める領域を表すバウンディングボックス(Bounding Box)である。また、例えば、識別タスクが物体識別であれば、正解情報は、分類結果である。また、例えば、識別タスクが画像の領域分割であれば、正解情報は、画素ごとの領域情報である。第1記憶部21に記憶されている第1訓練用画像及び正解情報は、通常カメラを利用した識別器の機械学習において利用する情報と同じである。
第3記憶部23は、表示装置4と撮像装置5との距離と、表示装置4に表示する第1訓練用画像の表示サイズとを対応付けて記憶する。第3記憶部23は、複数の距離と、複数の距離それぞれに対する表示サイズとを対応付けて記憶する。例えば、複数の距離は、表示装置4と撮像装置5とが最も近い第1の距離と、第1の距離よりも長い第2の距離と、第2の距離よりも長い第3の距離とを含んでもよい。第1の距離は、例えば、1メートルであり、第2の距離は、例えば、2メートルであり、第3の距離は、例えば、3メートルであってもよい。
距離取得部24は、表示装置4と撮像装置5との距離を取得する。表示装置4と撮像装置5との距離が変更される際に、距離取得部24は、表示装置4と撮像装置5との距離を第3記憶部23から取得する。距離取得部24は、第3記憶部23に記憶されている表示装置4と撮像装置5との複数の距離のうち、1つの距離を取得する。距離取得部24は、取得した距離を移動指示部25へ出力する。
例えば、第3記憶部23が第1の距離、第2の距離及び第3の距離(第1の距離<第2の距離<第3の距離)を記憶している場合、距離取得部24は、最初に第3の距離を第3記憶部23から取得し、移動指示部25へ出力する。そして、第3の距離における第1訓練用画像の撮像が終了すると、距離取得部24は、第2の距離を第3記憶部23から取得し、移動指示部25へ出力する。そして、第2の距離における第1訓練用画像の撮像が終了すると、距離取得部24は、第1の距離を第3記憶部23から取得し、移動指示部25へ出力する。
移動指示部25は、表示装置4と撮像装置5との距離の変更を指示する。移動指示部25は、距離取得部24によって取得された表示装置4と撮像装置5との距離に応じて撮像装置5を移動させるように、移動装置3へ指示する。撮像装置5の基準位置は予め決められており、例えば、距離取得部24によって第3の距離が取得された場合、移動指示部25は、第3の距離に対応する基準位置に撮像装置5を移動させるように移動装置3へ指示する。そして、距離取得部24によって第2の距離が取得された場合、移動指示部25は、基準位置から、第3の距離と第2の距離との差分だけ撮像装置5を移動させるように移動装置3へ指示する。また、移動指示部25は、表示装置4と撮像装置5との距離の変更を複数回指示する。
移動装置3は、移動指示部25からの指示に基づき撮像装置5を移動させる。
画像取得部26は、第1訓練用画像を第1記憶部21から取得する。画像取得部26は、第1記憶部21から取得した第1訓練用画像を表示制御部27へ出力する。
表示制御部27は、表示装置4と撮像装置5との距離に基づいて第1訓練用画像を表示装置4に表示させる。表示制御部27は、表示装置4と撮像装置5との距離が変更されたとき、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズを変更し、表示サイズを変更した第1訓練用画像を表示装置4に表示させる。表示制御部27は、表示装置4と撮像装置5との距離に比例して第1訓練用画像の表示サイズを変更する。表示装置4と撮像装置5との距離に対応する表示サイズは、第3記憶部23に予め記憶されている。そのため、表示制御部27は、表示装置4と撮像装置5との距離に応じた表示サイズを第3記憶部23から取得し、取得した表示サイズに第1訓練用画像の表示サイズを変更する。
また、表示制御部27は、移動指示部25による複数回の距離の変更のたびに、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズを変更し、表示サイズを変更した第1訓練用画像を表示装置4に表示させる。
撮像制御部28は、表示装置4に表示された第1訓練用画像を撮像装置5に撮像させて第2訓練用画像を取得する。撮像制御部28は、表示装置4と撮像装置5との距離が変更されると第1訓練用画像を撮像装置5に撮像させる。撮像制御部28は、取得した第2訓練用画像を記憶制御部29へ出力する。また、撮像制御部28は、移動指示部25による複数回の距離の変更のたびに、第1訓練用画像を撮像装置5に撮像させて複数の第2訓練用画像を取得する。
記憶制御部29は、第1訓練画像に対応する正解情報を第1記憶部21から取得するとともに、撮像装置5の撮像により得られた第2訓練用画像と、第1訓練用画像に対応する正解情報との組を含むデータセットを第2記憶部22に記憶する。記憶制御部29は、撮像装置5の撮像により得られた第2訓練用画像と、第1記憶部21から取得した正解情報との組を含むデータセットを第2記憶部22に記憶する。また、記憶制御部29は、撮像装置5の撮像により得られた複数の第2訓練用画像それぞれと正解情報との組を含むデータセットを第2記憶部22に記憶する。
第2記憶部22は、第2訓練用画像と正解情報との組を含むデータセットを記憶する。
続いて、本開示の第1実施形態に係る撮像制御装置2におけるデータセット作成処理について説明する。
図3は、本開示の第1実施形態に係る撮像制御装置2におけるデータセット作成処理について説明するためのフローチャートである。
まず、距離取得部24は、表示装置4と撮像装置5との距離を変更するための表示装置4と撮像装置5との距離を取得する(ステップS101)。距離取得部24は、取得した距離を移動指示部25へ出力する。
次に、移動指示部25は、距離取得部24によって取得された距離に応じた所定の撮像位置への撮像装置5の移動を移動装置3へ指示する(ステップS102)。ここで、撮像位置とは、撮像装置5と表示装置4との距離を変化させるために事前に設定された、撮像装置5が第1訓練用画像を撮像する位置である。移動装置3は、移動指示部25からの指示を受信すると、撮像装置5を所定の撮像位置へ移動させる。
次に、画像取得部26は、第1訓練用画像を第1記憶部21から取得する(ステップS103)。画像取得部26は、第1記憶部21に記憶されている複数の第1訓練用画像の中から、撮像されていない第1訓練用画像を取得する。
次に、表示制御部27は、表示装置4と撮像装置5との距離が変更されたとき、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズを変更する(ステップS104)。このとき、表示制御部27は、表示装置4と撮像装置5との距離に応じた表示サイズを第3記憶部23から取得し、取得した表示サイズに第1訓練用画像の表示サイズを変更する。
次に、表示制御部27は、表示サイズを変更した第1訓練用画像を表示装置4に表示させる(ステップS105)。
表示制御部27は、表示装置4と撮像装置5との距離に応じて第1訓練用画像の表示サイズを変更する。
ここで、表示制御部27による第1訓練用画像の表示サイズの変更について説明する。
図4は、第1実施形態における表示装置4と撮像装置5との位置関係を説明するための模式図である。図4は、表示装置4及び撮像装置5を上から見た図である。ここで、距離Lは、撮像装置5のマルチピンホールマスク201と、表示装置4の表示画面との距離であり、表示サイズWは、表示装置4に表示される第1訓練用画像の表示サイズである。また、撮像装置5は、図2に示すレンズレスのマルチピンホールカメラ200と同じ構成であり、撮像装置5の光軸上にピンホール2011が存在し、ピンホール2011に隣接してピンホール2012が存在している。
撮像装置5と表示装置4との距離がL1であるときの表示サイズをW1とし、撮像装置5と表示装置4との距離がL2であるときの表示サイズをW2としたとき、表示制御部27は、以下の関係を満たすように表示装置4に表示される第1訓練用画像の表示サイズを決定する。これにより、撮像装置5と表示装置4との距離の変更に関わらず、同じサイズの第2訓練用画像が取得される第1訓練用画像が表示装置4に表示される。
L1:W1=L2:W2
つまり、撮像装置5と表示装置4との距離と、表示装置4に表示される第1訓練用画像の表示サイズとが比例関係になるように表示サイズが決定される。これにより、撮像装置5によって光軸上にあるピンホール2011を通過して撮像される画像のサイズ及び位置は、撮像装置5と表示装置4との距離Lに依存せず、一定となる。一方、撮像装置5によって光軸上にないピンホール2012を通過して撮像される画像の撮像範囲は、撮像装置5と表示装置4との距離Lに依存して変化する。つまり、撮像装置5と表示装置4との距離Lに依存して、各ピンホール2011,2012は異なる視差を生じさせる。そして、視差情報は奥行情報を含む。
図5は、マルチピンホールカメラにおける2つのピンホールを通過して撮像される画像について説明するための模式図であり、図6は、撮像装置5と表示装置4との距離がL1である場合に、撮像装置5によって撮像される画像の一例を示す図であり、図7は、撮像装置5と表示装置4との距離がL2(L1<L2)である場合に、撮像装置5によって撮像される画像の一例を示す図である。図5は、表示装置4及び撮像装置5を上から見た図である。
図5において、図4と同じ構成要素に関しては同じ参照符号を付し、説明を省略する。図5において、表示装置4は、「123456」という数字を水平方向に並べた第1訓練用画像を表示している。前述のように、撮像装置5と表示装置4との距離がL1であるときの第1訓練用画像41の表示サイズはW1であり、撮像装置5と表示装置4との距離がL2であるときの第1訓練用画像42の表示サイズはW2である。距離L1は、距離L2より短く、表示サイズW1は、表示サイズW2より小さい。なお、表示サイズW1,W2は、第1訓練用画像41,42の横幅を表している。第1訓練用画像41,42の横縦比は、予め決められており、例えば、3:2、4:3又は16:9である。表示サイズは、第1訓練用画像41,42の縦横比が維持された状態で変更される。
撮像装置5と表示装置4との距離が離れるほど、第1訓練用画像の表示サイズは大きくなり、撮像装置5と表示装置4との距離が近づくほど、第1訓練用画像の表示サイズは小さくなる。
図6において、画像2021は、撮像装置5と表示装置4との距離がL1であるときに、光軸上にあるピンホール2011を通過して撮像される画像を表しており、画像2022は、撮像装置5と表示装置4との距離がL1であるときに、光軸上にないピンホール2012を通過して撮像される画像を表している。また、図7において、画像2023は、撮像装置5と表示装置4との距離がL2であるときに、光軸上にあるピンホール2011を通過して撮像される画像を表しており、画像2024は、撮像装置5と表示装置4との距離がL2であるときに、光軸上にないピンホール2012を通過して撮像される画像を表している。
図6及び図7に示すように、光軸上にあるピンホール2011を通過して撮像される画像2021,2023の位置及びサイズは、撮像装置5と表示装置4との距離に関係なく、ともに変化していない。このように、表示装置4に表示する第1訓練用画像41,42の表示サイズ及び位置が調整されることにより、マルチピンホールカメラにおけるピンホール2011を通過して撮像される画像のサイズは一定に維持される。
一方、図6及び図7に示すように、光軸上にないピンホール2012を通過して撮像される画像2022,2024のサイズは変化していないが、画像2022,2024の撮像範囲は、互いに変化している。画像2022,2024には、左の画像2021,2023と比較した場合、距離に依存した視差が生じている。ここで、視差とは、画像上での複数の像のずれ量のことである。そのため、視差情報は、被写体と撮像装置5との距離情報を含むことがわかる。
表示制御部27は、撮像装置5と表示装置4との距離が変更されると、表示装置4に表示される第1訓練用画像の表示サイズを変更する。このとき、表示制御部27は、撮像装置5と表示装置4との距離が変更されても、第2訓練用画像上の被写体像の大きさは変化しないように、第1訓練用画像の表示サイズを変更する。これにより、撮像装置5と表示装置4との距離に応じたずれ量で複数の被写体像が重畳された第2訓練用画像が得られる。
続いて、図8~図10を用いて、マルチピンホールカメラにおける距離に依存した視差について説明する。
図8は、表示装置4に表示される第1訓練用画像の一例を示す図であり、図9は、撮像装置5と表示装置4との距離がL1である場合に、図8に示す第1訓練用画像を撮像装置5が撮像することによって得られる第2訓練用画像の一例を示す図であり、図10は、撮像装置5と表示装置4との距離がL2(L1<L2)である場合に、図8に示す第1訓練用画像を撮像装置5が撮像することによって得られる第2訓練用画像の一例を示す図である。
図8に示す第1訓練用画像51には、人物301及びテレビ302が映っている。図9に示す第2訓練用画像52は、撮像装置5と表示装置4との距離がL1である場合に、2つのピンホール2011,2012を有する撮像装置5が図8に示す第1訓練用画像51を撮像することによって得られる。また、図10に示す第2訓練用画像53は、撮像装置5と表示装置4との距離がL2である場合に、2つのピンホール2011,2012を有する撮像装置5が図8に示す第1訓練用画像51を撮像することによって得られる。ただし、L1は、L2より短い。
図9に示す第2訓練用画像52において、人物303は、光軸上にあるピンホール2011を通過して撮像された第1訓練用画像51上の人物301であり、テレビ304は、光軸上にあるピンホール2011を通過して撮像された第1訓練用画像51上のテレビ302であり、人物305は、光軸上にないピンホール2012を通過して撮像された第1訓練用画像51上の人物301であり、テレビ306は、光軸上にないピンホール2012を通過して撮像された第1訓練用画像51上のテレビ302である。
また、図10に示す第2訓練用画像53において、人物307は、光軸上にあるピンホール2011を通過して撮像された第1訓練用画像51上の人物301であり、テレビ308は、光軸上にあるピンホール2011を通過して撮像された第1訓練用画像51上のテレビ302であり、人物309は、光軸上にないピンホール2012を通過して撮像された第1訓練用画像51上の人物301であり、テレビ310は、光軸上にないピンホール2012を通過して撮像された第1訓練用画像51上のテレビ302である。
このように、マルチピンホールカメラである撮像装置5から得られる第2訓練用画像は、複数の被写体像が重畳された画像となる。光軸上にあるピンホール2011を通過して撮像された人物303,307及びテレビ304,308の撮像画像上の位置及び大きさは変化しない。一方、光軸上にないピンホール2012を通過して撮像された人物305,309及びテレビ306,310の撮像画像上の位置は変化し、被写体と撮像装置5との距離が離れるほど、視差量は小さくなる。つまり、撮像装置5と表示装置4との距離Lを変化させながら第1訓練用画像が撮像されることで、視差量が変化した第2訓練用画像が得られる。
なお、本第1実施形態では、撮像装置5はレンズを有していないが、撮像装置5は、撮像装置5と表示装置4との間にレンズのような光学系を有してもよい。撮像装置5がレンズを有することにより、撮像装置5と表示装置4との距離(光路長)を実際の距離よりも長くしたり、短くしたりすることが可能である。これにより、光学系を挿入しない場合と比較して、より大きな視差、又はより小さな視差を生じさせることができる。移動装置3が、撮像装置5と表示装置4との距離を大きく変化させることができない場合、撮像装置5が光学系を有する構成は有効である。また、撮像装置5と表示装置4との間に光学系が挿入される場合、移動装置3は、撮像装置5又は表示装置4を物理的に動かすのではなく、光学系の焦点距離を変えたり、光学系を挿入したり、光学系を除去したりすることにより、撮像装置5と表示装置4との距離が変更されてもよい。
なお、距離Lは、実際の測距距離ではなく、前述の光路長であってもよい。表示制御部27は、撮像装置5と表示装置4との光路長に基づいて、表示装置4に表示される第1訓練用画像の表示サイズを決定してもよい。
図3に戻って、次に、撮像制御部28は、表示装置4に表示された第1訓練用画像を撮像装置5に撮像させて第2訓練用画像を取得する(ステップS106)。撮像装置5は、表示装置4が視野に入るように撮像する。前述の通り、表示装置4と撮像装置5との距離に応じて第1訓練用画像の表示サイズが変更されることで、表示装置4と撮像装置5との距離が変更されたとしても、撮像サイズが等しい第2訓練用画像を取得することができる。
次に、記憶制御部29は、第1記憶部21から表示装置4に表示された第1訓練用画像に対応付けられている正解情報を取得し、撮像装置5によって取得された第2訓練用画像と、表示装置4に表示された第1訓練用画像に対応付けられている正解情報との組を含むデータセットを第2記憶部22に記憶する(ステップS107)。これにより、第2記憶部22には、撮像装置5によって取得された第2訓練用画像と、その正解情報との組を含むデータセットが記憶される。
次に、画像取得部26は、第1記憶部21に記憶されている全ての第1訓練用画像を撮像装置5が撮像したか否かを判断する(ステップS108)。ここで、全ての第1訓練用画像を撮像装置5が撮像していないと判断された場合(ステップS108でNO)、ステップS103に処理が戻り、画像取得部26は、第1記憶部21に記憶されている複数の第1訓練用画像の中から、撮像されていない第1訓練用画像を新たに取得する。その後、新たに取得された第1訓練用画像を用いてステップS104からステップS106の処理が実行される。その後、ステップS107において、撮像装置5によって取得された第2訓練用画像と、表示装置4に表示された新たな第1訓練用画像に対応付けられている正解情報との組を含むデータセットが第2記憶部22に記憶された後、ステップS108が実行される。
一方、全ての第1訓練用画像を撮像装置5が撮像したと判断された場合(ステップS108でYES)、距離取得部24は、予め設定されている全ての撮像位置における撮像装置5による撮像が完了したか否かを判断する(ステップS109)。ここで、全ての撮像位置における撮像装置5による撮像が完了していないと判断された場合(ステップS109でNO)、ステップS101に処理が戻り、距離取得部24は、第3記憶部23に記憶されている複数の撮像位置の中から、撮像されていない撮像位置に対応する表示装置4と撮像装置5との距離を取得する。そして、移動指示部25は、距離取得部24によって取得された距離に応じた所定の撮像位置への撮像装置5の移動を移動装置3へ指示する。移動装置3は、移動指示部25の指示に従い、撮像装置5を所定の撮像位置に移動させる。
一方、全ての撮像位置における撮像装置5による撮像が完了したと判断された場合(ステップS109でYES)、処理が終了する。
図3に示す例では、記憶制御部29は、表示装置4に表示された第1訓練用画像に対応付けられている正解情報を第1記憶部21から取得しているが、これに限定されない。
例えば、画像取得部26が、第1訓練用画像と、第1訓練用画像に対応する正解情報とを第1記憶部21から取得してもよい。この場合、画像取得部26は、第1記憶部21から取得した正解情報を記憶制御部29へ出力し、記憶制御部29は、撮像装置5によって取得された第2訓練用画像と、表示装置4に表示された第1訓練用画像に対応付けられている正解情報、つまり画像取得部26から出力される正解情報との組を含むデータセットを第2記憶部22に記憶する。
以上のように、本第1実施形態の撮像システム1は、撮像装置5と表示装置4との距離に応じて、表示装置4に表示される第1訓練用画像の表示サイズが変更されることにより、光軸上のピンホールを通過して撮像される被写体像の位置及び大きさは変化しないが、マルチピンホールカメラにおけるピンホール間の視差量を変化させた画像が撮像される。光軸上のピンホールを通過して撮像される被写体像の位置及び大きさは変化しないため、表示装置4に表示した第1訓練用画像に付与されている正解情報はそのまま利用することができる。その結果、マルチピンホールカメラに対応したデータセットを作成することが可能である。このようなデータセットを利用して機械学習により訓練処理が実施されることで、被写体までの距離に依存せず、高精度の認識を実現することが可能である。
以上の説明では、移動指示部25は、撮像装置5を撮像装置5の光軸方向に移動させているが、撮像装置5を撮像装置5の光軸方向と交差する方向に移動させてもよい。撮像装置5としてレンズレスカメラなどが利用される場合、イメージセンサ202の中心付近から外縁部に向かって光量が減衰する周辺減光と呼ばれる現象が発生する。第2訓練用画像は、周辺減光の影響を受ける。これに対し、移動指示部25は、撮像装置5を光軸方向と交差する方向に移動させ、撮像装置5と表示装置4との位置関係が変更されることで、1つの被写体に対して異なる周辺減光の影響を受ける複数の第2訓練用画像を得ることができる。
また、移動指示部25は、撮像装置5ではなく、表示装置4を移動させてもよい。例えば、表示装置4がディスプレイであり、移動装置3がリニアモータを有したレールである場合、移動装置3は、表示装置4であるディスプレイを搭載し、リニアモータを駆動することにより、表示装置4を移動させてもよい。また、例えば、表示装置4がプロジェクタ及びスクリーンである場合、移動装置3は、スクリーン及びプロジェクタの少なくとも一方を移動させてもよく、スクリーンとプロジェクタとの距離を変更してもよい。また、表示制御部27は、プロジェクタが投影する第1訓練用画像のサイズを変更してもよい。
ここで、撮像装置5ではなく、表示装置4を移動させる第1実施形態の変形例について説明する。
図11は、本開示の第1実施形態の変形例に係る撮像制御装置2におけるデータセット作成処理について説明するためのフローチャートである。
第1実施形態の変形例において、移動指示部25は、距離取得部24によって取得された表示装置4と撮像装置5との距離に応じて表示装置4を移動させるように、移動装置3へ指示する。表示装置4の基準位置は予め決められており、例えば、距離取得部24によって第3の距離が取得された場合、移動指示部25は、第3の距離に対応する基準位置に表示装置4を移動させるように移動装置3へ指示する。そして、距離取得部24によって第2の距離が取得された場合、移動指示部25は、基準位置から、第3の距離と第2の距離との差分だけ表示装置4を移動させるように移動装置3へ指示する。
移動装置3は、移動指示部25からの指示に基づき表示装置4を移動させる。
図11に示すステップS121の処理は、図3に示すステップS101の処理と同じであるので、説明を省略する。
次に、移動指示部25は、距離取得部24によって取得された距離に応じた所定の表示位置への表示装置4の移動を移動装置3へ指示する(ステップS122)。移動装置3は、移動指示部25からの指示を受信すると、表示装置4を所定の表示位置へ移動させる。
図11に示すステップS123~ステップS128の処理は、図3に示すステップS103~ステップS108の処理と同じであるので、説明を省略する。
全ての第1訓練用画像を撮像装置5が撮像したと判断された場合(ステップS128でYES)、距離取得部24は、予め設定されている全ての表示位置における撮像装置5による撮像が完了したか否かを判断する(ステップS129)。ここで、表示位置とは、撮像装置5と表示装置4との距離を変化させるために事前に設定された、表示装置4が第1訓練用画像を表示する位置である。ここで、全ての表示位置における撮像装置5による撮像が完了していないと判断された場合(ステップS129でNO)、ステップS121に処理が戻り、距離取得部24は、第3記憶部23に記憶されている複数の撮像位置の中から、撮像されていない表示位置に対応する表示装置4と撮像装置5との距離を取得する。そして、移動指示部25は、距離取得部24によって取得された距離に応じた所定の表示位置への表示装置4の移動を移動装置3へ指示する。移動装置3は、移動指示部25の指示に従い、表示装置4を所定の表示位置に移動させる。
一方、全ての表示位置における撮像装置5による撮像が完了したと判断された場合(ステップS129でYES)、処理が終了する。
なお、本第1実施形態において、移動装置3は、撮像装置5又は表示装置4を移動させているが、本開示は特にこれに限定されず、撮像装置5及び表示装置4の両方を移動させてもよい。
(第2実施形態)
上記の第1実施形態では、表示装置4と撮像装置5との複数の距離が予め決められており、予め決められている複数の距離に対応する各位置に表示装置4及び撮像装置5の少なくとも一方が移動され、撮像装置5と表示装置4との距離に応じて、表示装置4に表示される第1訓練用画像の表示サイズが変更される。これに対し、第2実施形態では、表示装置4及び撮像装置5の少なくとも一方が任意の位置に移動され、撮像装置5と表示装置4との距離が測定され、測定された距離に応じて、表示装置4に表示される第1訓練用画像の表示サイズが変更される。
図12は、本開示の第2実施形態に係る撮像システム1Aの全体構成の一例を示すブロック図である。図12において、図1と同じ構成要素に関しては同じ参照符号を付し、説明を省略する。
撮像システム1Aは、撮像制御装置2A、移動装置3、表示装置4、撮像装置5及び距離測定装置6を備える。
距離測定装置6は、例えば、レーザ距離計又はToF(Time of Flight)カメラであり、撮像制御装置2Aの指示に従い、表示装置4と撮像装置5との距離を測定する。例えば、表示装置4及び撮像装置5はレール上に載置されている。表示装置4及び撮像装置5の少なくとも一方は、撮像装置5の光軸方向にレール上を移動可能である。
撮像制御装置2Aは、第1記憶部21、第2記憶部22、距離取得部24A、移動指示部25A、画像取得部26、表示制御部27A、撮像制御部28、記憶制御部29及び第4記憶部30を備える。
移動指示部25Aは、表示装置4と撮像装置5との距離の変更を指示する。移動指示部25Aは、ユーザによる撮像装置5を移動させるための入力操作を受け付け、受け付けた入力操作に応じて撮像装置5を移動させるように、移動装置3へ指示する。移動指示部25Aは、撮像装置5を表示装置4へ近づけたり、撮像装置5を表示装置4から離したりするための入力操作を受け付ける。
なお、本第2実施形態では、移動指示部25Aは、撮像装置5を撮像装置5の光軸方向に移動させているが、撮像装置5を撮像装置5の光軸方向と交差する方向に移動させてもよい。また、移動指示部25Aは、撮像装置5ではなく、表示装置4を移動させてもよい。さらに、移動指示部25Aは、撮像装置5及び表示装置4の両方を移動させてもよい。
さらに、撮像システム1Aは、移動装置3を備えていなくてもよく、撮像制御装置2Aは、移動指示部25Aを備えていなくてもよい。この場合、ユーザは、手動により表示装置4と撮像装置5との距離を変更してもよい。例えば、ユーザは、レール上に載置された撮像装置5及び表示装置4の少なくとも一方を移動させてもよい。
距離取得部24Aは、移動装置3による撮像装置5の移動が完了すると、表示装置4と撮像装置5との距離を測定するように距離測定装置6に指示する。距離取得部24Aは、距離測定装置6によって測定された表示装置4と撮像装置5との距離を取得する。なお、距離取得部24Aは、ユーザによる表示装置4と撮像装置5との距離を測定させるための入力操作を受け付け、受け付けた入力操作に応じて距離測定装置6に距離を測定させてもよい。特に、ユーザが手動で撮像装置5を移動させた場合に、距離取得部24Aは、ユーザによる距離測定装置6の測定開始指示を受け付けてもよい。
第4記憶部30は、表示装置4と撮像装置5との基準距離と、表示装置4に表示する第1訓練用画像の基準表示サイズとを対応付けて記憶する。第1訓練用画像の表示サイズは、表示装置4と撮像装置5との距離に比例する。そのため、表示装置4と撮像装置5との基準距離と、基準距離に対する第1訓練用画像の基準表示サイズとが予め決められていれば、測定された距離から表示サイズが決定される。
表示制御部27Aは、距離測定装置6によって測定された距離に基づいて第1訓練用画像を表示装置4に表示させる。表示制御部27Aは、表示装置4と撮像装置5との距離が変更されたとき、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズを変更し、表示サイズを変更した第1訓練用画像を表示装置4に表示させる。
表示制御部27Aは、表示装置4と撮像装置5との距離に比例して第1訓練用画像の表示サイズを変更する。表示装置4と撮像装置5との基準距離に対応する基準表示サイズは、第4記憶部30に予め記憶されている。基準距離は、例えば、表示装置4と撮像装置5とが互いに最も離れた位置に配置された場合における距離である。そのため、表示制御部27Aは、第4記憶部30に記憶されている基準距離及び基準表示サイズを用いて、距離測定装置6によって測定された距離から表示サイズを算出し、算出した表示サイズに第1訓練用画像の表示サイズを変更する。
続いて、本開示の第2実施形態に係る撮像制御装置2Aにおけるデータセット作成処理について説明する。
図13は、本開示の第2実施形態に係る撮像制御装置2Aにおけるデータセット作成処理について説明するためのフローチャートである。
まず、移動指示部25Aは、任意の撮像位置への撮像装置5の移動を移動装置3へ指示する(ステップS141)。移動装置3は、移動指示部25Aの指示に従い、撮像装置5を任意の位置に移動させる。
次に、距離取得部24Aは、表示装置4と撮像装置5との距離の測定を距離測定装置6に指示する(ステップS142)。距離測定装置6は、距離取得部24Aの指示に従い、表示装置4と撮像装置5との距離を測定する。
次に、距離取得部24Aは、距離測定装置6によって測定された表示装置4と撮像装置5との距離を距離測定装置6から取得する(ステップS143)。
次に、表示制御部27Aは、距離測定装置6によって測定された距離に従い、表示装置4と撮像装置5との距離が変更されたとき、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるための第1訓練用画像の表示サイズを決定する(ステップS144)。表示制御部27Aは、第4記憶部30に記憶されている基準距離及び基準表示サイズを用いて、距離測定装置6によって測定された距離から第1訓練用画像の表示サイズを決定する。より具体的には、表示制御部27Aは、距離測定装置6によって測定された距離を基準距離で除算した値に基準表示サイズを乗算することにより、変更する第1訓練用画像の表示サイズを算出する。
なお、第4記憶部30は、表示装置4と撮像装置5との距離と、第1訓練用画像の表示サイズとを対応付けたテーブルを記憶してもよい。この場合、表示制御部27Aは、距離測定装置6によって測定された距離に対応付けられている表示サイズを第4記憶部30から読み出し、読み出した表示サイズを第1訓練用画像の表示サイズに決定してもよい。
次に、画像取得部26は、第1訓練用画像を第1記憶部21から取得する(ステップS145)。画像取得部26は、第1記憶部21に記憶されている複数の第1訓練用画像の中から、撮像されていない第1訓練用画像を取得する。
次に、表示制御部27Aは、表示装置4と撮像装置5との距離が変更されたとき、撮像装置5の撮像により得られる第2訓練用画像のサイズが維持されるように、第1訓練用画像の表示サイズを変更する(ステップS146)。このとき、表示制御部27Aは、決定した表示サイズに第1訓練用画像の表示サイズを変更する。
次に、表示制御部27Aは、表示サイズを変更した第1訓練用画像を表示装置4に表示させる(ステップS147)。
図11に示すステップS148~ステップS149の処理は、図3に示すステップS106~ステップS107の処理と同じであるので、説明を省略する。
次に、画像取得部26は、第1記憶部21に記憶されている全ての第1訓練用画像を撮像装置5が撮像したか否かを判断する(ステップS150)。ここで、全ての第1訓練用画像を撮像装置5が撮像していないと判断された場合(ステップS150でNO)、ステップS145に処理が戻り、画像取得部26は、第1記憶部21に記憶されている複数の第1訓練用画像の中から、撮像されていない第1訓練用画像を新たに取得する。その後、新たに取得された第1訓練用画像を用いてステップS146からステップS148の処理が実行される。その後、ステップS149において、撮像装置5によって取得された第2訓練用画像と、表示装置4に表示された新たな第1訓練用画像に対応付けられている正解情報との組を含むデータセットが第2記憶部22に記憶された後、ステップS150が実行される。
一方、全ての第1訓練用画像を撮像装置5が撮像したと判断された場合(ステップS150でYES)、距離取得部24Aは、予定されている全ての撮像位置における撮像装置5による撮像が完了したか否かを判断する(ステップS151)。なお、複数の撮像位置及び撮像回数が予め決められている。距離取得部24Aは、撮像位置を変更して所定の回数撮像された場合、全ての撮像位置における撮像装置5による撮像が完了したと判断する。ここで、全ての撮像位置における撮像装置5による撮像が完了していないと判断された場合(ステップS151でNO)、ステップS141に処理が戻り、移動指示部25Aは、任意の撮像位置への撮像装置5の移動を移動装置3へ指示する。距離取得部24Aは、移動後の撮像位置における表示装置4と撮像装置5との距離の測定を指示し、距離測定装置6によって測定された距離を取得する。
一方、全ての撮像位置における撮像装置5による撮像が完了したと判断された場合(ステップS151でYES)、処理が終了する。
図13に示す例では、記憶制御部29は、表示装置4に表示された第1訓練用画像に対応付けられている正解情報を第1記憶部21から取得しているが、これに限定されない。
第1実施形態で説明したように、画像取得部26が、第1訓練用画像と、第1訓練用画像に対応する正解情報とを第1記憶部21から取得してもよい。この場合、画像取得部26は、第1記憶部21から取得した正解情報を記憶制御部29へ出力し、記憶制御部29は、撮像装置5によって取得された第2訓練用画像と、表示装置4に表示された第1訓練用画像に対応付けられている正解情報、つまり画像取得部26から出力される正解情報との組を含むデータセットを第2記憶部22に記憶する。
以上のように、本第2実施形態の撮像システム1Aは、撮像装置5と表示装置4との距離に応じて、表示装置4に表示される第1訓練用画像の表示サイズが変更されることにより、光軸上のピンホールを通過して撮像される被写体像の位置及び大きさは変化しないが、マルチピンホールカメラにおけるピンホール間の視差量を変化させた画像が撮像される。光軸上のピンホールを通過して撮像される被写体像の位置及び大きさは変化しないため、表示装置4に表示した第1訓練用画像に付与されている正解情報はそのまま利用することができる。その結果、マルチピンホールカメラに対応したデータセットを作成することが可能である。このようなデータセットを利用して機械学習により訓練処理が実施されることで、被写体までの距離に依存せず、高精度の認識を実現することが可能である。
また、撮像システム1Aは移動装置3を備えていなくてもよく、撮像装置5及び表示装置4の少なくとも一方をユーザが手動で移動させてもよい。この場合、距離測定装置6は、距離取得部24Aの指示に従い、表示装置4と撮像装置5の距離を測定する。これにより、撮像システム1Aの構成を簡略化することができ、撮像システム1Aの製造コストを削減することができる。
(第3実施形態)
第1実施形態及び第2実施形態では、第2訓練用画像と正解情報との組を含むデータセットが第2記憶部に記憶されるが、第3実施形態では、第2記憶部に記憶された第2訓練用画像と正解情報との組を含むデータセットを利用して、機械学習モデルが訓練される。
図14は、本開示の第3実施形態に係る撮像システム1Bの全体構成の一例を示すブロック図である。図14において、図1と同じ構成要素に関しては同じ参照符号を付し、説明を省略する。
撮像システム1Bは、撮像制御装置2B、移動装置3、表示装置4及び撮像装置5を備える。
撮像制御装置2Bは、第1記憶部21、第2記憶部22、第3記憶部23、距離取得部24、移動指示部25、画像取得部26、表示制御部27、撮像制御部28、記憶制御部29、訓練部31及びモデル記憶部32を備える。
訓練部31は、第2記憶部22に記憶された第2訓練用画像と正解情報との組を含むデータセットを利用して、機械学習モデルを訓練する。本第3実施形態では、識別器に適用される機械学習モデルは、ディープラーニング(深層学習)等のニューラルネットワークを用いた機械学習モデルであるが、他の機械学習モデルであってもよい。例えば、機械学習モデルは、ランダムフォレスト又は遺伝的プログラミング(Genetic Programming)等を用いた機械学習モデルであってもよい。
訓練部31における機械学習は、例えば、ディープラーニングなどにおける誤差逆伝播法(BP:BackPropagation)などによって実現される。具体的には、訓練部31は、機械学習モデルに第2訓練用画像を入力し、機械学習モデルが出力する認識結果を取得する。そして、訓練部31は、認識結果が正解情報となるように機械学習モデルを調整する。訓練部31は、機械学習モデルの調整をそれぞれ異なる第2訓練用画像及び正解情報の複数の組(例えば数千組)について繰り返すことによって、機械学習モデルの認識精度を向上させる。
モデル記憶部32は、訓練済みの機械学習モデルを記憶している。機械学習モデルは、画像認識に用いられる画像認識モデルでもある。
なお、本第3実施形態では、撮像制御装置2Bが訓練部31及びモデル記憶部32を備えているが、本開示は特にこれに限定されず、ネットワークを介して撮像制御装置2Bと接続された外部コンピュータが訓練部31及びモデル記憶部32を備えていてもよい。この場合、撮像制御装置2Bは、データセットを外部コンピュータへ送信する通信部をさらに備えてもよい。また、ネットワークを介して撮像制御装置2Bと接続された外部コンピュータがモデル記憶部32を備えていてもよい。この場合、撮像制御装置2Bは、訓練済み機械学習モデルを外部コンピュータへ送信する通信部をさらに備えてもよい。
本第3実施形態における撮像システム1Bは、視差情報に含まれる、被写体の奥行情報を訓練用データに用いることができるため、機械学習モデルの認識能力向上に有効である。例えば、機械学習モデルは、画像内に小さく写っている物体が、遠方に存在する被写体であることを認識でき、ゴミとして認識されないこと、つまり無視されてしまうことを抑制できる。このため、第2訓練用画像を使用した機械学習により構築された機械学習モデルは、認識性能を向上することができる。
本第3実施形態における撮像システム1Bは、第1記憶部21に記憶された第1訓練用画像を表示し、表示装置4と撮像装置5との距離を変更することで得られる複数の第2訓練用画像を第2記憶部22に記憶し、記憶した複数の第2訓練用画像を訓練に利用する。訓練部31は、訓練処理において、第2記憶部22に記憶されている複数の第2訓練用画像を利用してよい。また、訓練部31は、全ての第2訓練用画像を利用せず、一部の第2訓練用画像のみをランダムに選択し、選択した一部の第2訓練用画像のみを利用してもよい。また、訓練部31は、複数の第2訓練用画像の一部のみを入れ替えて、様々な奥行の第2訓練用画像をパッチワークのようにつなぎ合わせた一枚の画像を作成し、作成した画像を訓練に利用してもよい。
以上のように、撮像システム1Bは、機械学習のパラメータを訓練して最適化するだけではなく、撮像装置5のデバイスパラメータを最適化するためにも有効である。撮像装置5としてマルチピンホールカメラが利用される場合、撮像装置5の認識性能及びプライバシー保護性能は、各ピンホールの大きさ、各ピンホールの形状、各ピンホールの配置及びピンホールの数などのデバイスパラメータに依存する。そのため、最適な認識システムを実現するためには、機械学習のパラメータだけではなく、各ピンホールの大きさ、各ピンホールの形状、各ピンホールの配置及びピンホールの数などの撮像装置5のデバイスパラメータも最適化する必要がある。本第3実施形態における撮像システム1Bは、撮像装置5のデバイスパラメータを変更した際に得られる第2訓練用画像を訓練及び評価することにより、認識率が高く、かつプライバシー保護性能が高いデバイスパラメータを最適なデバイスパラメータとして選択することが可能である。
なお、上記各実施形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。また、プログラムを記録媒体に記録して移送することにより、又はプログラムをネットワークを経由して移送することにより、独立した他のコンピュータシステムによりプログラムが実施されてもよい。
本開示の実施形態に係る装置の機能の一部又は全ては典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本開示の実施形態に係る装置の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
また、上記で用いた数字は、全て本開示を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。
また、上記フローチャートに示す各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、同様の効果が得られる範囲で上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。