(57)【要約】【課題】対象物を複数の方向から撮影して得られる画像を用いて、対象物について学習や評価をする技術を提供する。【解決手段】画像出力装置は、対象物を第１の方向から撮影した第１の画像と、対象物を第２の方向から撮影した第２の画像とを少なくとも取得する取得部と、機械学習可能な又は学習結果として得られた学習モジュールへの入力として、第１の画像と第２の画像とを少なくとも出力する出力部であって、第１の画像を学習モジュールの備える入力手段のうち第１の部分から入力させ、第２の画像を入力手段のうち第２の部分から入力させる出力部と、を備える。【選択図】図１
2018132962.tif 000002
【特許請求の範囲】
【請求項１】
対象物を第１の方向から撮影した第１の画像と、前記対象物を第２の方向から撮影した第２の画像とを少なくとも取得する取得部と、
機械学習可能な又は学習結果として得られた学習モジュールへの入力として、前記第１の画像と前記第２の画像とを少なくとも出力する出力部であって、前記第１の画像を前記学習モジュールの備える入力手段のうち第１の部分から入力させ、前記第２の画像を前記入力手段のうち第２の部分から入力させる、出力部と、
を備える画像出力装置。
【請求項２】
前記出力部は、前記第１の画像と前記第２の画像とを所定の位置関係で一の画像内に含む合成画像を出力し、
前記合成画像に含まれる前記第１の画像は前記第１の部分に入力され、前記合成画像に含まれる前記第２の画像は前記第２の部分に入力される、
請求項１記載の画像出力装置。
【請求項３】
前記合成画像は少なくとも前記第１の部分に入力される第１の領域と前記第２の部分に入力される第２の領域を備え、
前記出力部は、前記第１の領域に前記第１の画像を配置し、前記第２の領域に前記第２の画像を配置した画像を、前記合成画像として出力する、
請求項２記載の画像出力装置。
【請求項４】
前記第１の方向と前記第２の方向の位置関係が保存されるように、前記第１の領域と前記第２の領域の位置が決定される、
請求項３記載の画像出力装置。
【請求項５】
前記第１の画像と前記第２の画像は、異なるカメラで略同時に取得されたものである、
請求項１乃至４のいずれかに記載の画像出力装置。
【請求項６】
前記第１の画像と前記第２の画像は、一のカメラで異なる時間に取得されたものである、
請求項１乃至４のいずれかに記載の画像出力装置。
【請求項７】
機械学習可能な学習モジュールを備える機械学習装置であって、
請求項１乃至６のいずれかに記載の画像出力装置から出力された画像に基づいて生成された学習データによって前記学習モジュールの学習を行う、機械学習装置。
【請求項８】
学習結果として得られた学習モジュールを備える画像評価装置であって、
請求項１乃至６のいずれかに記載の画像出力装置から出力された画像に基づいて生成された評価データを前記学習モジュールに入力して、前記対象物の評価を行う、画像評価装置。
【請求項９】
対象物を第１の方向から撮影した第１の画像と、前記対象物を第２の方向から撮影した第２の画像とを少なくとも取得する工程と、
機械学習可能な又は学習結果として得られた学習モジュールへの入力として、前記第１の画像と前記第２の画像とを少なくとも出力する工程であって、前記第１の画像を前記学習モジュールの備える入力手段のうち第１の部分から入力させ、前記第２の画像を前記入力手段のうち第２の部分から入力させる、工程と、
を備える画像出力方法。
【請求項１０】
機械学習可能な又は学習結果として得られた学習モジュールに入力される合成画像データのデータ構造であって、
前記合成画像データは、少なくとも、
対象物を第１の方向から撮影した画像であって、前記合成画像内の第１の領域に配置される第１の画像データと、
前記対象物を第２の方向から撮影した画像であって、前記合成画像内において前記第１の領域と所定の位置関係を有する第２の領域に配置される第２の画像データと、
を含む、合成画像データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像出力装置及び画像出力方法に関する。また、合成画像を利用する装置、システム及び方法等に関する。
【背景技術】
【０００２】
従来から、ニューラルネットワークなどの人工知能技術に関する研究が行われている。例えば、特許文献１には、被検査物を異なる光学条件で撮像し複数の検査画像を取得し、フーリエ変換によって検査周波数画像を２つ作成して、ニューラルネットワークで処理することによって被検査物の良否を判定することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９１１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
製品や農産物などの立体物を立体形状の外観で評価するとき、対象の種類と評価項目によって、機械で評価するプログラムを作成することが困難な場合がある。立体形状を評価する例として、例えば、野球ボールの縫い目を所定の条件でチェックする作業を考える。このとき、１台のカメラで撮影した画像１枚のみでは縫い目全体が良品に適合するか判定することはできない。また、直交した異なる６方向から撮影した画像を得ることができても、６枚の画像を解析して、そのボールの縫い目全体の立体形状を再構築して良品か否かを判断することは簡単ではない。
【０００５】
機械学習により、野球ボール等の対象物の立体形状を検査する能力を獲得できれば、それぞれの面の画像処理を行うプログラムを開発する手間が省ける可能性がある。また、このような技術は製品の外観検査以外にも、対象物の立体形状を評価する多くの場面で活用できる。
【０００６】
そこで、本発明は、対象物を複数の方向から撮影して得られる画像を用いて、対象物について所定の学習及び評価を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る画像出力装置は、対象物を第１の方向から撮影した第１の画像と、対象物を第２の方向から撮影した第２の画像とを少なくとも取得する取得部と、機械学習可能な又は学習結果として得られた学習モジュールへの入力として、第１の画像と第２の画像とを少なくとも出力する出力部であって、第１の画像を学習モジュールの備える入力手段のうち第１の部分から入力させ、第２の画像を入力手段のうち第２の部分から入力させる、出力部とを備える。この態様によれば、対象物を複数の方向から撮影して得られる複数の画像を所定の関係性を保持して学習モジュールに入力させることによって、対象物について所定の学習や評価を行うことができる。複数の画像を学習モジュールでまとめて処理できるため、学習や評価を高速に実行することができる。
【０００８】
出力部は、第１の画像と第２の画像とを所定の位置関係で一の画像内に含む合成画像を出力してもよい。この態様によれば、関連する複数の画像を一つの画像にまとめて処理するため、学習や評価に用いられるデータの信頼性を高め、処理速度の向上を図ることができる。
【０００９】
合成画像は少なくとも第１の部分に入力される第１の領域と第２の部分に入力される第２の領域を備え、出力部は、前記第１の領域に前記第１の画像を配置し、前記第２の領域に前記第２の画像を配置した画像を、前記合成画像として出力してもよい。この態様によると、所定の方向から撮影された画像は、合成画像内において、常に所定の領域に配置されるため、対象物についての学習や評価を行うことができる。画像を撮影した方向に応じて所定の位置に配置すればよいので、処理能力の低い装置であっても、合成画像を高速に作成することができる。
【００１０】
第１の方向と第２の方向の位置関係が保存されるように、第１の領域と第２の領域の位置が決定されるものとしてもよい。この態様によると、複数の画像の位置関係が合成画像に保存されるため、対象物についての学習に必要なデータ量を削減することができ、また、評価の精度を高めることができる。
【００１１】
第１の画像と第２の画像は、異なるカメラで略同時に取得されたものであってもよく、一のカメラで異なる時間に取得されたものであってもよい。この態様によると、対象物を複数の方向から撮影するためのカメラは一つでも複数でもよく、柔軟な装置構成を採用することができる。
【００１２】
本発明の一態様に係る機械学習装置は、機械学習可能な学習モジュールを備え、画像出力装置から出力された画像に基づいて生成された学習データによって学習モジュールの学習を行う。また、本発明の一態様に係る画像評価装置は、学習結果として得られた学習モジュールを備え、画像出力装置から出力された画像に基づいて生成された評価データを学習モジュールに入力して、対象物の評価を行う。これらの態様によれば、対象物を複数の方向から撮影して得られる画像を用いて、対象物について所定の学習や評価を行うことができる。複数の画像を学習モジュールでまとめて処理できるため、学習を高速に実行することができ、また、評価の精度を高めることができる。
【００１３】
本発明の一態様に係る画像出力方法は、対象物を第１の方向から撮影した第１の画像と、対象物を第２の方向から撮影した第２の画像とを少なくとも取得する工程と、機械学習可能な又は学習結果として得られた学習モジュールへの入力として、第１の画像と前記第２の画像とを少なくとも出力する工程であって、第１の画像を学習モジュールの備える入力手段のうち第１の部分から入力させ、第２の画像を入力手段のうち第２の部分から入力させる工程とを備える。
【００１４】
本発明の一態様に係る合成画像データのデータ構造は、機械学習可能な学習モジュール又は学習結果として得られた学習モジュールに入力される合成画像データのデータ構造であって、合成画像データは、少なくとも、対象物を第１の方向から撮影した画像であって、合成画像内の第１の領域に配置される第１の画像データと、対象物を第２の方向から撮影した画像であって、合成画像内において第１の領域と所定の位置関係を有する第２の領域に配置される第２の画像データと、を含む。
【発明の効果】
【００１５】
本発明によれば、対象物を複数の方向から撮影して得られる画像を用いて、対象物について所定の学習及び評価を行う技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る画像出力装置１０を含む対象物評価システム１の全体概念を示す図である。
【図２】対象物評価システム１の全体構成の一例を示す図である。
【図３】画像出力装置１０の機能構成の一例を示すブロック図である。
【図４】複数画像取得装置２０の機能構成の一例を示すブロック図である。
【図５】機械学習装置３０の機能構成の一例を示すブロック図である。
【図６】画像評価装置４０の機能構成を示すブロック図である。
【図７】学習依頼受付装置６０の機能構成を示すブロック図である。
【図８】画像出力装置１０が生成する合成画像１０Ｘのデータ構造を示す概念図である。
【図９】１つの合成画像に２つの画像を含む場合の一例である。
【図１０】１つの合成画像に６つの画像を含む場合の一例である。
【図１１】１つの合成画像に４つの画像を含む場合の一例である。
【図１２】１つの合成画像に４つの画像を含む場合の他の例である。
【図１３】１つの合成画像に５つの画像を含む場合の一例である。
【図１４Ａ】複数の画像を正八面体の展開図状に配置して合成画像を構成する場合の例である。
【図１４Ｂ】複数の画像を正十二面体の展開図状に配置して合成画像を構成する場合の例である。
【図１４Ｃ】複数の画像を正二十面体の展開図状に配置して合成画像を構成する場合の例である。
【図１５】対象物評価システム１を構成する各装置のハードウェア構成の一例を示すブロック図である。
【図１６】対象物評価システム１における学習処理のフローチャートである。
【図１７】複数画像取得装置２０における、複数の画像を取得して出力する処理のフローチャートである。
【図１８】画像出力装置１０及び学習データ作成装置７０における、学習データ生成処理のフローチャートである。
【図１９】機械学習装置３０における学習処理のフローチャートである。
【図２０】画像評価装置４０における画像評価処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００１８】
＜１．システム概要＞
図１は、本発明の一実施形態に係る画像出力装置１０を含む対象物評価システム１の全体概念を示す図である。同図に示すとおり、対象物評価システム１は、画像出力装置１０と、複数画像取得装置２０と、機械学習装置３０と、画像評価装置４０とを含んで構成され、各装置はインターネットなどのネットワークＮを介して互いに接続可能である。なお、本システムの構成は図示のものに限定されず、例えば、各装置のうち任意の複数の装置を物理的ないし論理的に一体のものとして構成してもよいし、各装置を物理的ないし論理的に２以上の要素に分けて構成してもよい。
【００１９】
複数画像取得装置２０は、一又は複数のカメラを用いて、一の対象物を複数の方向から撮影して得られる複数の画像を出力する機能を備える。図１においては、３台のカメラ２１，２２，２３を用いて、砲弾形状の対象物Ｚを撮影する例が示されている。カメラ２１，２２，２３はそれぞれ異なる方向から同一の対象物を撮影する。例えば、カメラ２１とカメラ２３の光軸が直交するように各カメラの向きが配置され、カメラ２１は斜め左上から、カメラ２２は正面から、カメラ２３は斜め右上から対象物Ｚを撮影する。各カメラ２１，２２，２３によって撮影された画像２１Ｘ，２２Ｘ，２３Ｘは、複数画像取得装置２０から出力される。複数画像取得装置２０は、カメラ２１，２２，２３の位置や撮影方向、撮影方法を変更する手段を含むことができる。また、複数画像取得装置２０は、各カメラ２１，２２，２３の撮影条件情報を取得するように構成してもよい。
【００２０】
画像出力装置１０は、立体形状を有する対象物Ｚを撮影して得られた複数の画像を取得して、学習モジュールに出力する機能を備える。図１においては、複数画像取得装置２０から出力された３つの画像２１Ｘ，２２Ｘ，２３Ｘをそれぞれ、学習モジュールの入力手段のうち第１の部分、第２の部分、第３の部分に入力させる。また、カメラ２１，２２，２３の撮影方向と対象物Ｚの外観の属性に応じた所定の関係で配置して、１つの合成画像１０Ｘを生成してもよい。生成された合成画像は、後述する機械学習装置３０に入力できる形式に変換され、学習データベース装置８０に記録される。なお、外部で合成可能な複数画像に変換ないし分割して、複数の画像を出力するようにしてもよい。
【００２１】
機械学習装置３０は、機械学習可能な学習モジュールを備え、画像出力装置１０によって生成された合成画像を学習データとして機械学習を行う機能を備える。学習モジュールは、学習能力を備えた専用若しくは汎用のハードウェア又はソフトウェアの一単位、ないしこれらを任意に組み合わせた一単位を含む。学習モジュールの一例は、ニューラルネットワークであるが、これに限定されない。図１においては、対象物を撮影して得られた合成画像を多数準備して学習データとする。学習データは、教師あり又は教師なしのいずれでもよい。例えば、図１においては、学習データとして、画像出力装置１０によって生成された合成画像に、「砲弾形状の物体」という教師データを含むことができる。学習データとして、合成画像と教師データを含む場合、機械学習装置３０は教師あり学習を行うことができる。また、学習データに教師データを含まない場合、機械学習装置３０は教師なし学習を行うことができる。学習データベース装置８０に記録された多数の学習データを機械学習装置３０に入力して学習させることにより、学習結果として、学習モジュールは対象物を評価する能力を獲得することができる。
【００２２】
画像評価装置４０は、機械学習装置３０における学習の結果として獲得された能力、すなわち学習済みの学習モジュールを用いて、対象物Ｚから生成した合成画像をもとに、当該対象物Ｚの外観等に対して所定の評価を行う機能を備える。画像評価装置４０は、機械学習装置３０にて学習された学習済みの学習モジュール又はその複製物を利用して、入力された画像を評価する。画像評価装置４０に、評価したい対象物の合成画像を入力すると、例えば、「対象は、砲弾形状の物体です。」などの評価結果を出力する。なお、本明細書において学習済みとは、少なくとも１回の学習を終えたことを含むものであり、必ずしも学習の結果最適化されたことを意味するものではないし、更なる学習が不要であることを意味するものでもない。
【００２３】
このように、対象物評価システム１は、１つの対象物を撮影して得られた複数の画像を所定のルールで組み合わせることによって、各カメラで撮影された個々の画像からは評価することが困難な特性（例えば、形状、外観など）を評価できるようになる。
【００２４】
＜２．システムの全体構成＞
図２は、本実施形態に係る対象物評価システム１の全体構成の一例を示す図である。同図に示すとおり、対象物評価システム１は、画像出力装置１０、カメラ群２５を含む複数画像取得装置２０、機械学習装置３０及び画像評価装置４０の他に、学習依頼装置５０、学習依頼受付装置６０、学習データ作成装置７０及び学習データベース装置８０を備え、これらがネットワークＮを介して相互に接続される。なお、本システムの構成は図示のものに限定されず、任意の複数の装置を物理的ないし論理的に一体のものとして構成してもよいし、各装置を物理的ないし論理的に２以上の要素に分けて構成してもよい。また、各装置を、ＩｏＴ端末装置やサーバ装置として実施してもよい。
【００２５】
画像出力装置１０、複数画像取得装置２０、機械学習装置３０及び画像評価装置４０は、すでに述べたとおりである。
【００２６】
カメラ群２５は、一又は複数のカメラ２１（一又は複数のカメラを区別する必要のないとき、一又は複数のカメラを総称して、単に「カメラ２１」という。）により構成される。カメラ群２５は、例えば図１のカメラ２１，２２，２３に対応するものであり、各カメラ２１は撮像装置として機能する。本実施形態では、カメラとしてデジタルカメラやネットワークカメラを採用し得るがこれらに限られない。例えば、赤外線やＸ線カメラを使用してもよい。本システムでは、用いるカメラの特性に応じた学習及び評価を行うことができる。
【００２７】
各カメラ２１は、対象物Ｚを所定の方向から撮影した画像を出力する。例えば、カメラ群２５は、複数のカメラ２１により構成され、対象物Ｚを複数の方向から撮影して複数の画像を取得する。カメラの台数は図１のように３台に限定されず、任意の台数により構成することができる。また、カメラ群２５は、１台のカメラ２１により構成してもよい。この場合、１台のカメラを用いて、移動ないし回転する対象物Ｚを例えば所定の時間間隔で複数回撮影することにより、対象物Ｚを複数の方向から撮影した複数の画像を取得することができる。すなわち１台のカメラで複数の画像を撮影するため、便宜上カメラ群と呼んでいる。各カメラ２１からは、撮影した画像に加えて、カメラ名や撮影対象名などのメタデータを出力してもよい。また、メタデータとして、撮影したときの温度、湿度、気圧、明るさなどの情報を付加してもよい。
【００２８】
学習依頼装置５０は、依頼者が対象物に関する学習や評価の内容を指定して学習依頼をするための装置である。例えば、依頼者は、対象物としてサイコロを指定し、学習や評価の内容として、表面に傷がないかの判定を行わせる、などの学習依頼を行う。
【００２９】
学習依頼装置５０としては、一般的なＰＣやノート型ＰＣを用いることができる。依頼者が依頼画面から入力した依頼内容にもとづいて、一連の処理が実行される。例えば、学習依頼受付プログラムのユーザインタフェース画面に表示されるメニューと画面遷移に応じて、メニュー選択、対象の種類や形状などの対象に関する情報の入力、獲得する能力の選択、評価結果の出力方法の選択などを行うことで、学習を依頼することができる。また、選択されるメニューごとに、所定の能力を獲得するための一連の動作が行われる。依頼者がメニューの一部を変更できるようにすれば、特殊なケースにも対応できる。
【００３０】
学習依頼受付装置６０は、学習依頼装置５０から学習依頼を受け付けて、依頼された学習が行われるよう各装置を制御ないし管理する機能を備える。すなわち、学習依頼受付装置６０は、依頼者からの学習依頼に応じた学習データを作成して学習を実施し、学習結果を画像評価装置４０で利用できるようにするための一連の処理を実行する。
【００３１】
学習データ作成装置７０は、対象を評価するための学習データを作成する機能を備える。本実施形態では、画像出力装置１０が出力した合成画像に、必要に応じて教師データや学習データ等の情報を付与して、機械学習装置３０又は画像評価装置４０に入力される学習データ又は評価データを作成する。
【００３２】
学習データ作成装置７０に実装される学習データ生成プログラムにより、学習データを自動生成することができる。例えばディープラーニングによる学習には多くのデータを必要とするため、複数画像の撮影から学習データベース装置８０への登録までの一連の作業を自動化することで、作業工数を大きく削減することができる。例えば、対象の位置や姿勢を変更する動作をロボットに指令して、さまざまな位置や姿勢と方向の画像を順次撮影して合成するようにすることで、人が作業を行わずに学習データを自動的に生成することができる。学習データ作成装置７０は、マニュアル操作により学習データを生成してもよい。また、学習データや評価データとして、学習や評価に関連し得る任意の情報を組み合わせてもよい。
【００３３】
なお、学習データ作成装置７０の有する機能を画像出力装置１０が備えるものとしてもよい。この場合、画像出力装置１０から出力されるデータを機械学習装置３０に入力して学習データとして用いること、又は画像評価装置４０に入力して評価データとして用いることができる。
【００３４】
学習データベース装置８０は、学習データ作成装置７０が作成した学習データや学習プログラムなど学習に関連するデータやプログラム、その設定等を記録する機能を備える。学習データ作成装置７０が作成した学習データは、学習データベース装置８０に渡され、学習データに関する情報と関連づけて記録される。
【００３５】
学習データに関する情報としては、例えば、学習データの識別情報、学習データの名称、書誌事項、学習データの種類、リリース日時等を含む。データの取得条件としては、例えば、カメラに関する情報として、レンズ特性、解像度、撮像素子の情報等を含む。また、個々の画像に関する情報としては、例えば、撮影条件、対象に関する情報、対象の環境に関する情報を含む。撮影条件としては、例えば、カメラの位置、レンズのスペック、ズームレンズの場合のズーム比、撮影方向、焦点距離、ＩＳＯ感度、照明条件等を含む。対象に関する情報としては、対象の種類、対象の識別情報、対象の姿勢や対象の動作モードなど、対象の状態に関する情報、対象の位置、対象の移動速度、対象の変形状態などを含む。対象の環境に関する情報としては、背景の外観、明るさ、影の発生する状況などを含む。なお、これらは一例であり、任意の学習データに関する情報を記録できる。
【００３６】
教師なし学習の場合、複数の合成画像を含む学習データがあれば、学習を行うことができる。例えば、対象を所定数に分類する学習は、教師なしの学習データを用いて行うことができる。
【００３７】
教師データを含む学習データの場合、あらかじめ、学習データに関する多様な情報を記録しておくことで、いずれかの情報を教師データとして用いることができる。例えば、対象の種別や個体の識別情報を、合成画像に関連づけて記録することによって、教師データとして用いることができる。これによって、対象の種別や個体を識別する能力を獲得することができる。学習依頼時のメニューから選択される学習管理プログラムから、所定の教師データを生成するプログラムを起動することで、教師データが学習データに含まれるようにできる。教師データは、獲得する能力に応じて設定できる。
【００３８】
学習データベース装置８０は、例えば、学習データを扱うデータベースプログラムを備えたコンピュータで実施できる。機械学習装置３０のプログラムを学習データベース装置８０で管理するようにしてもよい。学習で用いられるプログラムを関連づけて記録することで、一連の学習処理全体を管理できる。学習データは学習の種類ごとに異なる形式で作成してもよい。
【００３９】
本実施形態において、学習データベース装置８０には、学習管理プログラムの指令にもとづいて、当該能力を獲得するための学習データが準備されている。学習データに含まれる合成画像は、対象物Ｚを複数の方向から撮影した複数の画像から得られる情報が、１つの画像に含まれている。したがって、１つの画像により、対象物Ｚを複数方向から撮影した画像の情報を用いた学習を行うことができる。
【００４０】
＜３．各装置の構成＞
図３は、本実施形態に係る画像出力装置１０の機能構成の一例を示すブロック図である。同図に示すとおり、画像出力装置１０は、取得部（複数画像取得部）１１０、画像関連情報取得部１２０、画像配置決定部１３０、画像合成部１４０、出力部（合成画像出力部）１５０及び通信部１６０を含み、これらがネットワーク（内部バスを含む）を介して相互に接続され得る。
【００４１】
画像出力装置１０は、取得部１１０において、対象物を複数の方向から撮影した複数の画像を取得する。また、出力部１５０において、学習モジュールへの入力として、取得した複数の画像をそれぞれ、学習モジュールの備える入力手段のうち所定の部分に入力させる。学習モジュールへの入力は、複数の画像が関係性情報を持ちつつ学習モジュールに入力されればよいが、ここでは、画像出力装置１０が複数の画像から合成画像を作成し、合成画像を出力する処理について説明する。
【００４２】
取得部１１０（以下「複数画像取得部１１０」と称して説明する。）は、一の対象物Ｚを複数の方向から撮影した複数の画像を取得する。一の対象物Ｚとは、１つの物からなる対象物でもよいし、複数の物をまとめたひとまとまりの対象物でもよい。複数画像取得部１１０は、少なくとも、対象物を第１の方向から撮影した画像と、同じ対象物を第２の方向から撮影した画像を取得する。ここで、第１の方向と第２の方向は異なるものであることが好ましい。また、複数画像取得部１１０が取得する複数の画像は、一の対象物Ｚを複数のカメラでほぼ同時に撮影したもの、又は、一の対象物Ｚを１つのカメラで異なる時間に撮影したもの、すなわち、一の対象物Ｚを１つのカメラで複数の方向から撮影したものとすることができる。複数画像取得部１１０は、各画像を取得する際に、それぞれの画像に関する情報や対象物Ｚに関する情報を取得してもよい。
【００４３】
画像関連情報取得部１２０は、各画像に関連する情報として、各画像が対象物Ｚをどの方向から撮影したものであるかを示す方向情報を取得する。方向情報は、合成画像内のどの位置に画像を配置するかを決定するために用いられる。例えば、正面から対象物Ｚを撮影する方向を基準として、各画像の撮影方向角を定義することができる。複数の画像を並べた合成画像を生成する際に、撮影方向角等の方向情報をもとに、所定の方向から対象物Ｚを撮影した画像を選択することができる。また、予め、各カメラ２１のＩＤ情報と方向情報を対応付けて記憶しておき、各画像を撮影したカメラのＩＤ情報を使って、方向情報を抽出してもよい。なお、各画像の方向情報が、モデルで定義された方向と一致又は略一致していることを確認した上で、合成画像を生成するとよい。本実施形態において「モデル」とは、学習又は評価の対象物及び目的ごとに定義される情報であり、例えば、後述する撮影モデルや配置モデルを含む。
【００４４】
画像配置決定部１３０は、複数画像取得部１１０で取得された複数の画像を、合成画像内のどの位置に配置するかを決定する。画像の配置は、方向の組み合わせごとにモデル化することができる。例えば、一の対象物Ｚを右側から撮影した画像を、合成画像内の右側に配置し、当該対象物を左側から撮影した画像を、合成画像内の左側に配置するものと定めたものが、モデル化の一例である。
【００４５】
画像を配置するためのプログラムは、個々のモデルごとに作成できる。画像の配置は、例えば両面モデル、正四面体モデル、立方体モデルのように配置モデルを定義することができる。定義したモデルを、学習依頼装置５０の学習依頼のメニューから選択できるようにすることで、学習依頼者が学習又は評価の目的に応じて撮影方向や特性を容易に把握して選択できる。配置モデルは、カメラの配置及び各カメラで撮影された画像の配置に関する情報であり、例えば、対象物に対してカメラをどの位置及び方向に配置し、各カメラから撮影された複数の画像をどのように配置して合成画像を作成するかを定めたひな型を含む。
【００４６】
配置モデルは、上述の両面モデル、正四面体モデル、立方体モデルの他にも、任意のモデルを設定可能である。例えば、例えば、以下のようにして配置モデルを実装できる。まず、あらかじめ、オブジェクト指向プログラミング言語で、配置モデルクラスを定義する。配置モデルクラスは、任意の数の画像、すなわち、任意数の方向から撮影された画像を扱うことができるように定義する。方向ごとに、撮影モデルの情報を含むようにすることで、撮影した画像に関する情報を含むように構成できる。さらに、個々の撮像手段であるカメラ２１の特性をモデル化した撮影モデルクラスを定義する。撮影モデルは、撮影された画像に関する情報であり、例えば、画素数、画角、焦点距離、ズーム比、ＩＳＯ感度、シャッター速度、圧縮方法など、画像を撮影するときの情報を含むことができる。
【００４７】
また、カメラ２１ごとに、撮影モデルクラスを親クラスとした撮影モデルクラスを作成できる。上述の両面モデル、正四面体モデル、立方体モデルは、配置モデルクラスを親クラスとして作成できる。例えば、両面モデルの場合、両面の２画像が入力されると、２つを並べて合成した画像を出力する。また、立方体モデルの場合、６面の画像が入力されると、展開図状に並べて合成した画像を出力する。配置モデルクラスの情報をもとに、画像のメタデータを生成することができる。画像配置のモデルは、上記に限定されず、任意のモデルを採用できる。
【００４８】
配置モデルクラスと撮影モデルクラスの仕様を公開することで、プログラマが独自のモデルに対応するプログラムを作成できる。特定用途向けにカスタマイズした配置モデルを作成することで、任意の方向から撮影した画像をもとに、配置を行うことができる。
【００４９】
画像合成部１４０は、複数画像取得部１１０で取得された複数の画像を所定の位置関係で配置した１つの合成画像を生成する。本実施例では、画像配置決定部１３０によって決定された各画像の配置に基づいて、複数の画像を合成して、合成画像を生成する。合成画像内に配置した複数の画像以外の部分（背景部分）は、対象物Ｚの評価にできる限り影響を与えないような画像を設定することが好ましい。例えば、単純に白または黒で背景部分を塗りつぶしてもよいし、中間的な明るさのグレーにしてもよい。背景部分を、対象の特徴とは異なるパターンで埋めてもよい。背景部分のレイヤーを設けて、背景部分であることを学習に反映させることにより、背景部分を学習モジュールが識別できるようにしてもよい。
【００５０】
画像を合成するとき、特定の配置モデルに対応する配置モデルクラスは、当該モデルで規定される配置を行う。メモリ上に合成画像編集用記憶領域を設定して、背景色、または背景パターンを画像全体に反映する。それぞれのモデルで複数の画像を配置した結果を、それぞれ合成画像編集用記憶領域に上書きする。
【００５１】
出力部１５０は、複数画像取得部１１０で取得された複数の画像を出力する。本実施形態において、出力部１５０は、画像合成部１４０によって合成画像編集用記憶領域に作成された合成画像を、通信部１６０を介して出力する。そこで、本実施形態では、出力部１５０を合成画像出力部１５０と称して説明する。合成画像出力部１５０が合成画像を出力するとき、画像関連情報取得部１２０が取得した情報を含んで出力するようにしてもよい。出力された合成画像は、機械学習装置３０において学習モジュール３１０に機械学習させるための学習データとして、又は、画像評価装置４０において学習結果として得られた学習モジュール４５０に対象物を評価させるための評価データとして用いられる。
【００５２】
なお、画像出力装置１０は、１つの静止画像を出力するだけでなく、動画像を出力することも可能である。例えば、一の対象物を複数の方向から撮影した複数の画像を、複数時点にわたり取得することで、各時点で撮影された複数の画像をそれぞれ所定の位置に配置した画像によって各フレームが構成される動画像を出力することができる。撮影方向が変わらない場合には、それぞれの時点で複数画像を同じように並べればよい。撮影方向が変化する場合には、方向の変化に応じて、並べ方を変えるようにすればよい。それによって、撮影時刻ごとの関係に応じて評価を行うことが可能となる。
【００５３】
また、合成画像と同等な情報を生成できれば、画像を並べるという合成手段には限定されない。すなわち、対象物評価システム１は、複数画像の関係性に関する情報を含むように、複数画像の情報を合成して、学習モジュールに入力することができる任意の手段を採用することができる。例えば、学習モジュールの入力部で、複数画像取得部１１０が出力した複数画像とその関係情報を用いて、画像を並べる動作に相当する処理を行うようにしてもよい。
【００５４】
生成された合成画像には、後の利用に備えて属性データを付与することができる。例えば、撮影日時、撮影対象、撮影場所、撮影したカメラの情報、使用したレンズの情報などを属性データとして付与することができる。また、合成画像に、教師データを付与してもよい。例えば、不良品を識別する学習の場合、撮影したサンプルが良品であるか不良品であるかを示す識別情報を付与する。
【００５５】
合成画像は、学習データベース装置８０に記録され、機械学習装置３０から学習データ名などで検索してアクセスできるように公開される。また、機械学習装置３０において、画像を入力として学習を行う。機械学習装置３０によって学習された学習結果は、画像評価装置４０で使うことができる。     例えば、学習モジュール３１０としてニューラルネットワークが用いられているとき、機械学習装置３０における学習後のニューラルネットワークの複製を作製すればよい。より具体的には、同じ階層構成のニューラルネットワークの、ハイパーパラメータを同じ設定として、各ニューロンのパラメータを同等の値に設定すればよい。なお、学習と評価を同じ装置が行うように実施する場合、すなわち、機械学習装置３０が備える機能と画像評価装置４０が備える機能を１つの装置で実装する場合、学習結果を移す処理は不要である。画像評価装置４０において、学習時と同じ条件で撮影した複数画像から合成された合成画像を入力すると、学習モジュールで評価が行われて、評価結果が出力される。
【００５６】
図４は、本実施形態に係る複数画像取得装置２０の機能構成の一例を示すブロック図である。同図に示すとおり、複数画像取得装置２０は、画像入力部２１０、カメラ制御部２２０、対象情報取得部２３０、対象環境制御部２４０、対象制御部２５０、画像記憶部２６０、取得条件情報記憶部２７０、画像データ出力部２８０及び通信部２９０を含み、これらがネットワーク（内部バスを含む）を介して相互に接続され得る。
【００５７】
画像入力部２１０は、撮像手段により対象物Ｚを撮影した画像が入力される。画像入力部２１０が、撮像手段として一又は複数のカメラを備え、当該カメラにより対象物を撮影してもよい。また、撮像手段として外部装置である一又は複数のネットワークカメラを利用して、ネットワークカメラによって撮影された画像が、画像入力部２１０に入力されるものとしてもよい。いずれにせよ、画像入力部２１０は、撮像手段から対象物を撮影した画像を取得する。本実施形態では、撮像手段としてカメラ２１が用いられ、画像入力部２１０は、カメラ２１から画像を取得する。画像は輝度情報を含む。色情報含んでもよく、距離や温度など輝度以外の情報を含んでもよい。入力画像は静止画に限定されず、複数時点の画像を含む動画像としてもよい。
【００５８】
また、画像入力部２１０は、カメラ２１の撮影した画像に加え、画像を撮影した方向を把握するための情報を取得する。例えば、使用したカメラを識別可能な一連番号をもとに方向を把握できる。例えば、カメラ２２が対象物を正面から撮影することが予め分かっている場合は、カメラ２２を識別可能な情報を取得することにより、方向情報を得ることができる。他にも、正多面体の各面、例えば、立方体（正六面体）の正面、背面、上下左右の面に垂直な方向で方向を把握してもよい。あるいは、任意の角度を所定のモデルで定義してもよい。例えば、三角形で構成される四面体の辺の長さで定義してもよい。
【００５９】
カメラ制御部２２０は、カメラ２１を制御する。カメラ制御部２２０が制御する対象は、使用するカメラの切り換え、撮影のトリガー、パン、ティルト、ズーム、光軸方向を軸にした回転、ＩＳＯ感度の変更、     シャッター速度、絞り、カメラの位置の移動を含むが、これらに限定されない。これらの制御を行うことによって、対象を撮影する方向や撮影条件を変更することができる。また、カメラ２１を適切に制御することで、Ｎ台（Ｎは整数）よりも少ないカメラで、Ｎ枚の画像を取得することができる。カメラ２１の制御情報を、画像の取得条件に関する情報として用いることができる。
【００６０】
対象情報取得部２３０は、対象物Ｚに関する情報を取得する。対象に関する情報の例としては、対象の種類、位置、状態などが挙げられるが、これらに限定されない。対象の種類は、例えば、リンゴ、ミカン、トマトなどである。対象の種類は教師データとして用いることができる。対象の位置は、対象が移動するときに、複数の位置で対象を撮影することで、所定の位置付近に設置したカメラ群で、異なる方向から撮影した画像を取得することができる。この場合、対象の位置情報が撮影方向に関する情報を含むことになる。対象の状態は、例えば、棒が正立状態又は倒立状態であるとか、手で所定のジェスチャーを行っているといったものを含む。対象の状態は教師データとして用いることができる。
【００６１】
対象環境制御部２４０は、対象物Ｚの環境を制御する。例えば、   照明を制御する、検査装置の製品保持部を制御する、ロボットを制御して対象の環境にある物体を動かす、などの制御が含まれる。
【００６２】
対象制御部２５０は対象物Ｚを直接制御する。例えば、ロボットや車両を制御して動かす、ロボットアームなど可動部を動かして対象を変形させる、ロボットなど対象の姿勢を変化させる、などの制御が含まれる。
【００６３】
画像記憶部２６０は、画像入力部２１０によって取得された複数の画像のデータを記憶する。
【００６４】
取得条件情報記憶部２７０は、対象物Ｚに関する画像を含む情報を取得した取得条件に関する情報を記憶する。      取得条件は、対象物Ｚを撮影した方向を特定し得る情報を含む。取得条件は、学習依頼時にメニューを選択することによって特定してもよい。任意の方向で撮影する場合、依頼時に入力方向を依頼者が設定することができる。方向は角度情報や、方向名などの識別情報を用いることができる。多面体モデルを用いる場合は、展開図に付与した番号など、各面の識別情報を用いることができる。カメラ制御部２２０、対象環境制御部２４０、対象制御部２５０の情報を、取得条件に反映してもよい。また、取得条件として、画像を取得した時刻を含むことができる。例えば、１台のカメラ２１で異なる方向の画像を取得するときに、時刻情報を用いることができる。取得条件として、対象物の部分の名称などの識別情報を含むことができる。例えば、正面画像、上面画像など、あるいは、方向を特定できれば画像１、画像２、画像３などでもよい。
【００６５】
画像データ出力部２８０は、対象物を撮影した複数の画像を出力する。出力するデータは複数の画像を含むことができるデータ構造を有する。例えば、個々の画像をＪＰＥＧ形式で記録したファイルをＺＩＰ形式で統合したファイルとして、画像データを出力してもよい。例えば、ＪＡＶＡ（登録商標）のようなオブジェクト指向言語で、画像クラスを含むクラスとして定義して、シリアライズしたデータをファイルにしたものでもよい。出力するデータに関連づけて画像以外の対象に関する情報を出力するようにしてもよい。例えば、ＺＩＰ形式のファイルに追加情報のファイルを含めてもよい。例えば、対象クラスに画像クラスと対象情報クラスへの参照を含むように定義してもよい。
【００６６】
複数画像取得装置２０は通信部２９０を介して、画像データや取得条件情報記憶部のデータを出力して、画像出力装置１０に渡す。
【００６７】
図５は、本実施形態に係る機械学習装置３０の機能構成の一例を示すブロック図である。同図に示すとおり、機械学習装置３０は、学習モジュール３１０、学習制御部３２０、学習結果抽出部３３０、学習結果出力部３４０及び通信部３５０を含み、これらがネットワーク（内部バスを含む）を介して相互に接続され得る。
【００６８】
学習モジュール３１０は、学習により所定の能力を獲得可能であり、例えば、ニューラルネットワークにより構成される。機械学習装置３０は学習データベース装置８０に記録された学習データを用いて学習モジュール３１０を学習させることによって、依頼者から依頼された所定の能力を獲得する。
【００６９】
学習制御部３２０は、学習プログラムを実行して機械学習装置３０における機械学習を制御する。学習制御部３２０は、学習プログラムが実行されることにより、依頼者から受け付けた所定の学習依頼に応じて学習を実行し、学習モジュール３１０に所定の能力を獲得させる。例えばディープラーニング技術を用いた学習プログラムを使用して学習を実行することで、学習モジュール３１０に所定の能力を獲得させることができる。
【００７０】
学習結果抽出部３３０は、学習モジュール３１０が学習した結果を抽出する。学習結果出力部３４０は、通信部３５０を介して、学習結果を外部に出力する。例えば、学習の結果、機械学習装置３０は、以下のような能力を獲得できる。対象を、良品と不良品に分類する。対象を、複数の等級に分類する。対象の種類を識別する。
【００７１】
機械学習装置３０は、一般的なコンピュータ上で所定のプログラムを実行させることによって実装してもよい。このとき、学習処理の処理量が多いので、高速で動作するＣＰＵを備えたコンピュータを用いるとよい。ＧＰＵを用いると、繰り返し演算処理を高速化できる。ブレードコンピュータをラックマウントしたサーバ装置を用いることで、処理を並列化してスループットを上げることができる。複数の依頼者からの依頼を受け付ける場合、サーバ装置を多重化して並列度を上げることができる。
【００７２】
図６は、本実施形態に係る画像評価装置４０の機能構成を示すブロック図である。同図に示すとおり、画像評価装置４０は、学習結果入力部４１０、制御部４２０、学習モジュール設定部４３０、評価データ取得部４４０、学習モジュール４５０、評価結果出力部４６０及び通信部４７０を含み、これらがネットワーク（内部バスを含む）を介して相互に接続され得る。
【００７３】
画像評価装置４０では、機械学習装置３０で学習された学習済みの学習モジュール３１０と同等の学習モジュール４５０が用いられる。すなわち、学習モジュール４５０は、機械学習装置３０によって学習された学習済みの学習モジュール３１０を転用するか、或いは、その複製物であってもよい。制御部４２０の制御により、学習済みの学習モジュール、その複製物、又は、複製物を構成可能なパラメータ等の情報が、学習結果入力部４１０から取得され、学習モジュール設定部４３０の設定により、学習モジュール４５０が構築される。
【００７４】
画像評価装置４０が画像を評価するとき、一の対象物Ｚから得られた複数の画像を１つの画像に合成した合成画像を評価データ取得部４４０が取得し、取得された合成画像を評価用データとして学習モジュール４５０に入力される結果、評価結果出力部４６０は評価結果を出力する。なお、画像評価装置４０は、例えば、コンピュータ装置のプログラムとして実装することができる。また、評価結果の出力は、複数画像評価装置の外部に設置した評価結果を出力するサーバ装置から行うようにしてもよい。
【００７５】
図７は、本実施形態に係る学習依頼受付装置６０の機能構成を示すブロック図である。同図に示すとおり、学習依頼受付装置６０は、メニュー表示／選択部６１０、学習依頼情報取得部６２０、学習プログラム起動部６３０及び通信部６４０を含み、これらがネットワーク（内部バスを含む）を介して相互に接続され得る。
【００７６】
メニュー表示／選択部６１０は、学習依頼装置５０の画面にメニューを表示して、メニューの選択によって、学習依頼を受け付ける。学習依頼情報取得部６２０は、依頼された学習に関する情報を取得する。学習プログラム起動部６３０は、依頼された学習に関する情報をもとに、対応する学習プログラムを選択して起動する。学習管理プログラムは通信部６４０を介して、学習データ作成装置７０、学習データベース装置８０、画像評価装置４０のプログラムを動作させる。
【００７７】
学習依頼受付装置６０は、例えばサーバ型コンピュータにより構成される。学習依頼を受け付けるプログラムは、例えば学習依頼受付装置６０が備えたサーバプログラムの、Ｗｅｂアプリケーションとして作成できる。学習依頼受付装置６０が受け付けた依頼内容ごとに、それぞれ依頼された学習が行われるように、以降の処理を行うプログラムをあらかじめ準備しておくことができる。
【００７８】
学習依頼受付装置６０は、依頼者から受け付けた学習依頼に基づいて、依頼者によって選択されたメニューに対応する学習管理プログラムを起動する。学習管理プログラムが実行されることによって、学習データの生成から、学習による所定の能力の獲得、複数画像評価装置への学習結果の設定までの動作を自動的に行うことができる。例えば、学習依頼受付プログラムで所定の学習メニューが選択されると、対応する学習管理プログラムが起動され、当該学習管理プログラムが、学習データ作成プログラム、学習プログラム及び複数画像評価プログラムを順次起動し、それぞれの処理が実行される。必要に応じて、一部に人の作業を含むようにしてもよい。
【００７９】
＜４．合成画像＞
次に、画像出力装置１０において生成される合成画像１０Ｘについて説明する。
【００８０】
図８は、画像出力装置１０が生成する合成画像１０Ｘのデータ構造を示す概念図である。ここでは、対象物Ｚをｎ個（ｎは２以上の整数）の方向から撮影したｎ個の画像２１Ｘ１，２１Ｘ２，・・・，２１Ｘｎを組み合わせて、１つの合成画像１０Ｘを生成する場合のモデルの一例について説明する。
【００８１】
図８に示すように、合成画像１０Ｘは、少なくともｎ個の領域Ｒ１，Ｒ２，・・・，Ｒｎを含んでいる。そして、第１の領域Ｒ１に、対象物Ｚを第１の方向から撮影した第１の画像２１Ｘ１が配置される。第２の領域Ｒ２に、対象物Ｚを第２の方向から撮影した第２の画像２１Ｘ２が配置される。第ｋ（ｋは１からｎまでの整数）の領域Ｒｋに、対象物Ｚを第ｋの方向から撮影した第ｋの画像２１Ｘｋが配置される。このように、１つの画像内の複数の領域Ｒのそれぞれに、対象物Ｚを所定の方向から撮影した画像２１Ｘがそれぞれ配置された形で、合成画像１０Ｘが構成される。すなわち、対象物Ｚを撮影した方向に基づいて、合成画像１０Ｘ内において、画像データが配置される領域Ｒが決定される。画像２１Ｘを領域Ｒに配置するとき、画像２１Ｘを拡大又は縮小してもよく、さらに、対象物Ｚが写っている画像のうち必要な部分を切り出してもよい。
【００８２】
なお、合成画像１０Ｘのデータ構造は、図示したものに限定されない。図８においては便宜的に左上の領域から順番に第１，第２，・・・と順番を振っているが、このような順番に限定されない。各領域はそれぞれ一部が接していてもよいが、接していなくてもよい。各領域に配置された各画像も、近傍に配置された画像と一部が接していてもよいが、接していなくてもよい。また、複数の領域Ｒの大きさ及び形状は同じである必要はなく、個々の領域ごとに任意の大きさ及び形状を設定できる。
【００８３】
これまで説明したように、画像出力装置１０によって複数の画像から生成された合成画像１０Ｘは、学習データ又は評価データとして、学習モジュール３１０，４５０に入力され、これにより、学習モジュールは、対象の外観等の学習や評価を行うことができるようになる。学習及び評価の内容や対象物Ｚの形状等に応じて、１つの合成画像を生成するために何枚の画像が必要であり、各画像が対象物をどの方向から撮影する必要があるかを調整することが好ましい。以下、合成画像の具体例をいくつか説明する。
【００８４】
＜４−１．２つ画像を含む合成画像＞
図９は、１つの合成画像に２つの画像を含む場合の一例である。ここでは、２枚の画像を並べて１つの画像として外観を評価する学習として、例えば、魚の表面の状態を検査することを想定する。同図に示すように、魚を右側から撮影した画像２１Ｘ１を合成画像の右側の領域Ｒ１に配置し、左側から撮影した画像２１Ｘ２を左側の領域Ｒ２に配置することによって、合成画像１０Ｘが形成される。図９においては、説明のため領域の境界に破線を表示しているが、実際の合成画像１０Ｘでは、各領域の境界を明示する必要はない。後述する事例についても同様である。
【００８５】
このような合成画像をもとに学習モジュールを学習させることによって、魚の皮の損傷や傷の有無を検査したり、或いは、形状や模様によってアジとサンマを分類したり、といった能力を獲得し得る。
【００８６】
ここでは、背びれの部分が接するように２つの画像を並べた合成画像を生成したが、これは一例に過ぎず、必要な空間的配置に関する情報が失われない限り、すなわち、位置関係が同じであれば、２つの画像を任意の位置関係で配置し得る。例えば、腹、口又は尾が接するように並べてもよい。また、合成画像１０Ｘ内において、２つの画像を左右に配置してもよいし、上下に配置してもよい。ただし、合成画像に含まれる複数の各画像間の位置関係は、学習時と評価時で同じ位置関係を保つ必要がある。また、表から裏につながる模様などの特徴的な外観がある場合、つながる部分が接するように画像を配置して合成画像を生成することが好ましいときもある。なお、各画像の一部が必ずしも接している必要はなく、互いに離れた画像として合成してもよい。
【００８７】
２枚の画像で評価可能な場合の例としては、対象物Ｚの表面と裏面の画像を用いる場合や、対象物Ｚを２つの所定の方向から撮影した画像を用いる場合などがある。例えば、名刺、はがき、トランプのような平面形状や魚のような薄い形状の対象物は、表側の面と裏側の面の画像を用いることで、対象物Ｚの外観の大半の領域を評価できる。また、対象物に窪みがある場合など、１方向から撮影した画像で隠れる部分があれは、隠れた部分を撮影できる別の方向から撮影した画像を用いることで、対象物の学習や評価が可能になる。
【００８８】
＜４−２．２以上の画像を含む合成画像＞
図１０は、１つの合成画像に６つの画像を含む場合の一例である。対象物Ｚが立方体または直方体形状の場合、各面と直交する６方向からの画像があれば、全ての面を撮影できる。合成画像を生成する際に、立体の外観における、各画像の位置関係の情報が保存されるように各画像を並べて合成してもよい。このように、合成画像を生成する際に、複数の画像を撮影した方向の位置関係が保存されるように各画像を配置すれば、画像間の位置関係を反映した評価を行うことができる。例えば、対象物Ｚが立方体又は直方体である場合、各面は正方形か長方形となる。画像から製品部分を切り出して、隣り合う面の間の辺が接するようにして画像を連結し、立方体や直方体の展開図のような合成画像とすることができる。
【００８９】
ここでは、サイコロの外観を検査して、良品と不良品に分類することを想定する。例えば、複数画像取得装置２０において、サイコロの１の面を前面にし、特定の目（例えば４）を上面にして撮影位置に置き、各面に直交する方向から、各面の画像を撮影する。対象物Ｚが直方体や立方体の場合、各面と垂直の方向から辺が画像の辺と平行になるように撮影することが好ましい。撮影した各方向の画像から、サイコロ部分の画像を切り出して、６つの画像が作成される。これらを面の関係を維持して、展開図状に組み合わせて合成する。具体的には、図１０に示すように、対象物Ｚを左側から撮影した左面の画像を領域Ｒ１に配置し、上側から撮影した上面の画像を領域Ｒ２に配置し、前側から撮影した前面の画像を領域Ｒ３に配置し、下側から撮影した下面の画像を領域Ｒ４に配置し、右側から撮影した右面の画像を領域Ｒ５に配置し、後ろ側から撮影した後ろ面の画像を領域Ｒ６に配置する。
【００９０】
合成した教師データつき画像を用いて、良品と不良品を識別する能力を獲得するように学習を行う。この方法は直方体形状の対象の評価に応用できる。例えば立方体形状のプリンタ装置の、フロントパネル、天板、左右の側板、底板、背面パネルの評価に応用できる。直方体形状以外の対象の評価にも応用できる。互いに直交する６面体の各面の垂直方向から撮影可能な外見の特徴を用いた評価を行うことができる。椅子の外観検査、駐車車両の監視、隣り合う面が離れて配置されるために、図柄の連続部分が離れる場合、同じ画像を２回あるいは３回以上用いるようにしてもよい。
【００９１】
検査が不要な面は画像を省略してもよい。この場合、その面に対応する領域には画像を配置しなくてもよい。各面が回転非対称の場合、各面の誤った回転が検出できる。展開図上に組み合わせることで、面の入れ替わりを検出可能になる。
【００９２】
図１１は、１つの合成画像に４つの画像を含む場合の一例である。野球のボールの縫い目を検査することを想定する。球の場合、６方向よりも少ない方向から撮影した画像で全球面をカバーできる。しかし２枚の画像では円周付近の図柄に関する情報量が減少する。また、常に同じ姿勢で撮影するようにすれば、学習量を減らすことができる。そこで、所定の軸で回転させた学習データを増やすことで、異なる姿勢について学習するようにしてもよい。
【００９３】
例えば、野球ボールにメーカ名が１カ所に印字されているとする。複数画像取得装置２０において、野球ボールのメーカ名が前面にあり、文字が水平になるようにボールを置いて、画像を撮影する。このとき、画像の同じ位置に文字が来るようにボールの置き方を調整することが好ましい。なお、毎回同じ姿勢でボールを撮影できればよく、他の方法でボールの置き方を規定してもよい。ボールに接する正六面体の上下を除く各面に直交する方向から野球ボールの４つの画像を撮影し、４つの画像を立方体の上下を省略した展開図上に配置して１つの画像１０Ｘに合成する。このとき、縫い目ができるだけ多くつながるような配置で画像を並べるとよい。
【００９４】
合成画像に含まれる画像の数を６つよりも減らす手法は、対象物Ｚが丸みを帯びている場合などに応用できる。すなわち、対象物Ｚを構成する面が平面でなければ、より少ないカメラで、全周を撮影することができる。例えば、薬の錠剤、円盤状の菓子、機械部品のナット、ヘルメット、食器などの検査に応用できる。
【００９５】
図１２は、１つの合成画像に４つの画像を含む場合の他の例である。図１１に示す例では、立方体の上面と下面を省略して、４方向から撮影した画像を用いたが、図１２に示す例では、正四面体の各面に垂直の方向から対象物Ｚを撮影することで、全周をカバーする場合の一例である。ここでは、マウスを下面、正面上方、右奥上方、左奥上方の４方向から撮影した画像を、正四面体を展開した位置に配置して、合成画像１０Ｘが構成されている。
【００９６】
図１３は、１つの合成画像に５つの画像を含む場合の一例である。ここでは、シリンダなど、円柱状の部品を検査することを想定する。円柱は上面、下面と、柱状の側面で構成され、側面の見かけは中心軸に対して円対象となっている。すなわち、回しても見え方は変わらないため、例えば切削で作成された円柱部品の場合、水平面のどの方向から見てもほぼ同じ外観となる。
【００９７】
このような円柱状の対象物を検査する場合、上面と下面と側面の全周をカバーする画像が必要となるが、例えば、水平面で相互に１２０度の方向から撮影することにより、水平方向のカメラを減らした構成で検査を行うことができる。図１３では、対象物Ｚを上側から撮影した上面の画像を領域Ｒ１に配置し、側面を撮影した３つの画像を領域Ｒ２，Ｒ３，Ｒ４に配置し、下側から撮影した下面の画像を領域Ｒ５に配置して、合成画像１０Ｘが構成されている。このような合成画像は、円柱のみでなく、ビール瓶のような断面が回転対称の形状を有する対象物についても同様に適用できる。また、検査対象が側面のみである場合、上面と下面の画像は不要となる。
【００９８】
外観の図柄などに連続性がある場合は、上面と下面と側面を撮影した３つの画像を合成して１つの画像とする。例えば、側面を撮影した３画像を左右が入れ替わらないように水平に並べ、並べた３画像の上と下に、上面と下面の円形の画像を並べる。上面や下面が側面に対して軸方向で回転する場合は、回転したそれぞれの状態について学習データが必要となる。例えば、上面や下面に文字やロゴがある場合、回転したときの学習データが必要である。ただし、上面と下面が円対称である場合は、回転を考慮する必要がない。
【００９９】
また、対象物Ｚの対称性を用いることで、学習データの取得量を減らすことができる。例えば図１３に示す例の場合、シリンダの側面を撮影する３台のカメラが撮影する画像は見かけが同じであるので、不良品の学習データを相互に流用することができる。すなわち、１組の画像データを用いて、左右に１２０度回転させたときの画像を生成して学習データとすることができる。この手法を適用できるのは、必ずしも正確な回転対称の物体に限られない。例えば、リンゴ、ナシ、ミカンのような、ほぼ回転対称の対象に適用できる。また、例えば、三角柱や六角柱に近い形状の菓子の缶に適用できる。
【０１００】
図１４Ａ乃至Ｃは、複数の画像を正多面体の展開図状に配置して、合成画像を構成する場合の例である。図１４Ａは、正八面体の展開図状に複数の領域を構成する例である。図１４Ｂは、正十二面体の展開図状に複数の領域を構成する例である。図１４Ｃは、正二十面体の展開図状に複数の領域を構成する例である。
【０１０１】
凹凸や切り取られた角がある立方体を検査する場合、立方体に近い形状であっても、立方体すなわち正六面体の各面に垂直な方向からの画像のみでは、外観を評価できないことがある。このとき、立方体の１つの面を複数の方向から撮影すれば、垂直方向からのみの画像では取得できない情報を含む画像が取得できる。また、対象の形状に対称性がある場合、撮影する角度にも対称性があることが望ましい。対称性に応じて対称性があるように撮影することで、特徴量に関連する空間情報のゆがみを防ぐことができる。対象物Ｚを所定の大きさの正八面体や正十に面体、正二十面体で囲ったときの、各面に垂直な方向から画像を撮影すると、凹凸や切り取られた角の状態に関する特徴量を抽出できるような情報を含むように画像データを取得できる。
【０１０２】
＜５．各装置のハードウェア構成＞
図１５は、対象物評価システム１を構成する各装置のハードウェア構成の一例を示すブロック図である。画像出力装置１０などの各装置は、同図に示すように、ＣＰＵ１５１０、ＲＯＭ１５２０やＲＡＭ１５３０等のメモリ、各種の情報を記憶する記憶装置１５４０、入力出力部１５５０、通信部１５６０及びこれらを結ぶネットワークないしバスを備える汎用又は専用のコンピュータを適用することができる。各装置は、ＣＰＵが、メモリ又は記憶装置に記憶された所定のプログラムを実行することにより、上述した機能が実現される。プログラムは、ＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【０１０３】
＜６．処理フロー＞
次に、図１６乃至図２０を参照して本実施形態に係るシステムの処理フローについて説明する。
【０１０４】
図１６は、本実施形態に係る対象物評価システム１における学習処理のフローチャートである。まず、利用者が学習依頼装置５０から学習を依頼する（Ｓ１６００）。学習依頼受付装置６０が学習依頼を受け付けて、学習管理プログラムが起動される（Ｓ１６１０）。学習管理プログラムが、以下の処理が行われるように指令する（Ｓ１６２０）。すなわち、まず学習データ作成装置７０が学習データを作成する（Ｓ１６３０）。作成された学習データを、学習データ作成装置が学習データベース装置８０に記録する（Ｓ１６４０）。機械学習装置３０が、学習データベース装置８０に記録された学習データに基づいて、依頼された能力を獲得するための学習を行う（Ｓ１６５０）。多数の学習データによる学習を経て、機械学習装置３０が学習結果、すなわち学習済みの学習モジュールを構成する情報を出力する（Ｓ１６６０）。画像評価装置４０が、学習結果を受け取り（Ｓ１６７０）、学習結果を用いて画像評価能力を獲得する（Ｓ１６８０）。他の学習依頼がある場合はステップ１６００に戻り、他の学習依頼が無ければ処理を終える（Ｓ１６９０）。
【０１０５】
図１７は、複数画像取得装置２０における、複数の画像を取得して出力する処理のフローチャートである。まず、学習データ作成装置７０又は画像出力装置１０から、複数の画像を取得する指令を受ける（Ｓ１７００）。指令に応答して、複数画像取得装置２０は、対象物Ｚの位置や姿勢を所定の状態にして（Ｓ１７１０）、カメラ群２５のなかから、撮影に用いる一又は複数のカメラ２１を指定する（Ｓ１７２０）。当該一又は複数のカメラ２１を制御して撮影方法を指定し（Ｓ１７３０）、対象物Ｚの情報と撮影方向を含む撮影条件に関する情報とを取得して（Ｓ１７４０，Ｓ１７５０）、対象物Ｚを複数の方向から撮影する（Ｓ１７６０）。撮影された画像を、対象物Ｚと撮影条件の情報を関連付けて記録する（Ｓ１７７０）。対象物Ｚに対して、さらに別の状態の画像を取得する場合はステップＳ１７１０に戻り、そうでなければ処理を終了する。
【０１０６】
図１８は、画像出力装置１０及び学習データ作成装置７０における、学習データ生成処理のフローチャートである。まず、複数画像取得装置２０が、対象を撮影した複数の画像を取得する（Ｓ１８００）。複数画像取得装置２０が取得した複数の画像の関係に関する情報を含む情報を、画像出力装置１０が取得し（Ｓ１８１０）、複数の画像を合成して１つの合成画像を出力する（Ｓ１８２０）。学習データ作成装置７０は、合成画像に関連して登録する情報を作成し（Ｓ１８３０）、合成画像に関連情報を関連付けて、学習データベース装置８０に記録する（Ｓ１８４０）。対象物Ｚに対して、さらに別の学習データを作成する場合はステップＳ１８００に戻り、そうでなければ処理を終了する（Ｓ１８５０）。
【０１０７】
図１９は、機械学習装置３０における学習処理のフローチャートである。まず、学習管理プログラムからメニューで選択された学習を行うように起動され（Ｓ１９００）、メニューで選択された学習に対応する学習データを選択する（Ｓ１９１０）。学習データベース装置８０に記録された合成画像を含む学習データを取得し（Ｓ１９２０）、機械学習により、学習モジュール３１０を所定の条件でパラメータ調整する（Ｓ１９３０）。さらに別の学習データがある場合はステップ１９２０に戻り学習を続け、そうでなければ学習を終了し（Ｓ１９４０）、学習結果を抽出して（Ｓ１９５０）、抽出された学習結果を出力する（Ｓ１９６０）。
【０１０８】
図２０は、画像評価装置４０における画像評価処理のフローチャートである。ます、画像評価装置４０が、機械学習装置３０から所定の学習結果を取得し（Ｓ２０００）、取得した学習結果を用いることで所定の評価能力を獲得する（Ｓ２０１０）。複数画像取得装置２０が評価したい対象物Ｚを撮影した複数の画像を取得し（Ｓ２０２０）、画像出力装置１０が、複数画像の関係に関する情報を含む情報を取得して（Ｓ２０３０）、複数の画像を合成した合成画像を生成し、出力する（Ｓ２０４０）。画像評価装置４０が受け取った合成画像を学習モジュール４５０に入力すると（Ｓ２０５０）学習モジュール４５０が評価結果を出力する（Ｓ２０６０）。出力された評価結果は、学習データベース装置８０に記録される（Ｓ２０７０）。さらに別の評価データを作成して、別の対象物を評価する場合はステップＳ２０２０に戻り評価を続け、そうでなければ評価を終了する（Ｓ２０８０）。
【０１０９】
このように、本実施形態に係る対象物評価システム１によれば、対象物を複数の方向から撮影して得られる画像を用いて、対象物について所定の学習及び評価を行うことができる。複数の画像を組み合わせた１つの画像を生成することで、各カメラが撮影した個別の画像のみには含まれない外観等の特徴を用いて対象物を評価することができるようになる。なお、評価に必要な外観の特徴に関する情報が保存されるように、複数の画像を合成することがでる。また、対象の外観のうち評価の対象となる範囲を複数の画像で撮影したときに、評価に影響する情報が失われないように画像を撮影するとよい。
【０１１０】
以上、本発明の一実施形態について説明した。なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更ないし改良され得るものである。例えば、画像出力装置１０、複数画像取得装置２０、機械学習装置３０、画像評価装置４０を含む各装置の構成は、上記実施形態で説明したものに限定されず、必要に応じて、他の装置が備える機能を備えるように改変可能である。また、上述の処理フローにおける各ステップは処理内容に矛盾を生じない範囲で各ステップの一部を省略したり、各処理ステップの順番を任意に変更して又は並列に実行することができる。
【０１１１】
なお、本明細書において、「部」ないし「手段」とは、単に物理的構成を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」ないし「手段」や装置が有する機能が２つ以上の物理的構成や装置により実現されても、２つ以上の「部」ないし「手段」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【０１１２】
上述の実施形態では、カメラが特定の対象物を撮影する例を示したが、部屋や車室内、敷地内など所定の空間の内部を撮影した画像を評価する場合に、本評価システムを用いることができる。この場合、１つの面、例えば北側の壁に東から西に並べて複数のカメラを設置し、複数のカメラが撮影した画像を、順に並べることで、合成画像を構成することができる。例えば、劇場やコンサートホールなどでは、上下左右に配置してもよい。カメラの設置順に上下左右に画像を並べて、合成画像を構成することができる。通路のような長さがある空間の場合には、部分に区切って画像を合成してもよい。このとき、部分の端の一部が隣の部分と重なるように設定してもよい。
【０１１３】
また、上述の実施形態では、カメラは１つの対象物Ｚを周囲で囲んで設置され、撮影方向は対象物Ｚの方向を向いていた。しかし、カメラは、必ずしも対象を囲むような位置及び方向に設置する必要はない。例えば、相互に背中合わせにして、周囲を見渡すように配置されてもよい。この手法は、例えば、走行中の車両の周辺監視、施設の敷地内や交差点などの監視、ドローンなどの飛行体による監視などに応用できる。このようにして取得された複数の画像を画像内の所定の位置に配置した合成画像を生成すればよい。例えば、オフィスの天井から複数の方向を同時に監視できるようにカメラを設置したり、所定の位置から周囲を監視するカメラを複数の位置に設置してもよい。
【０１１４】
（付記１）
少なくとも１つのハードウェアプロセッサを備え、
前記ハードウェアプロセッサは、
対象物を第１の方向から撮影した第１の画像と、前記対象物を第２の方向から撮影した第２の画像とを少なくとも取得し、
機械学習可能な又は学習結果として得られた学習モジュールへの入力として、前記第１の画像と前記第２の画像とを少なくとも出力して、前記第１の画像を前記学習モジュールの備える入力手段のうち第１の部分から入力させ、前記第２の画像を前記入力手段のうち第２の部分から入力させる、
ことを特徴とする画像出力装置。
（付記２）
少なくとも１つ以上のハードウェアプロセッサによって、
対象物を第１の方向から撮影した第１の画像と、前記対象物を第２の方向から撮影した第２の画像とを少なくとも取得する工程と、
機械学習可能な又は学習結果として得られた学習モジュールへの入力として、前記第１の画像と前記第２の画像とを少なくとも出力する工程であって、前記第１の画像を前記学習モジュールの備える入力手段のうち第１の部分から入力させ、前記第２の画像を前記入力手段のうち第２の部分から入力させる、工程と、
を実行する画像出力方法。
【符号の説明】
【０１１５】
１  対象物評価システム、１０  画像出力装置、１１０  取得部（複数画像取得部）、１２０  画像関連情報取得部、１３０  画像配置決定部、１４０  画像合成部、１５０  出力部（合成画像出力部）、１６０  通信部、２０  複数画像取得装置、２１，２２，２３  カメラ、２１０  画像入力部、２２０  カメラ制御部、２３０  対象情報取得部、２４０  対象環境制御部、２５０  対象制御部、２６０  画像記憶部、２７０  取得条件情報記憶部、２８０  画像データ出力部、２９０  通信部、３０  機械学習装置、３１０  学習モジュール、３２０  学習制御部、３３０  学習結果抽出部、３４０  学習結果出力部、３５０  通信部、４０  画像評価装置、４１０  学習結果入力部、４２０  制御部、４３０  学習モジュール設定部、４４０  評価データ取得部、４５０  学習モジュール、４６０  評価結果出力部、４７０  通信部、５０  学習依頼装置、６０  学習依頼受付装置、６１０  メニュー表示／選択部、６２０  学習依頼情報取得部、６３０  学習プログラム起動部、６４０  通信部、７０  学習データ作成装置、８０  学習データベース装置、１０Ｘ  合成画像、２１Ｘ，２２Ｘ，２３Ｘ  画像、Ｒｋ  領域、Ｎ  ネットワーク。
【図１】
2018132962.tif 000003
【図２】
2018132962.tif 000004
【図３】
2018132962.tif 000005
【図４】
2018132962.tif 000006
【図５】
2018132962.tif 000007
【図６】
2018132962.tif 000008
【図７】
2018132962.tif 000009
【図８】
2018132962.tif 000010
【図９】
2018132962.tif 000011
【図１０】
2018132962.tif 000012
【図１１】
2018132962.tif 000013
【図１２】
2018132962.tif 000014
【図１３】
2018132962.tif 000015
【図１４Ａ】
2018132962.tif 000016
【図１４Ｂ】
2018132962.tif 000017
【図１４Ｃ】
2018132962.tif 000018
【図１５】
2018132962.tif 000019
【図１６】
2018132962.tif 000020
【図１７】
2018132962.tif 000021
【図１８】
2018132962.tif 000022
【図１９】
2018132962.tif 000023
【図２０】
2018132962.tif 000024