(57)【要約】【課題】形状が崩れた対象物の距離画像からより現実に近い対象物の距離画像を推定することが可能な撮像装置を提供すること。【解決手段】本発明の撮像装置１は、撮像センサにより撮像された対象物に係る距離画像から、該距離画像よりも現実に近い該対象物に係る距離画像を推定する撮像装置であって、対象物に係る距離画像データを取得するデータ取得部３０と、対象物に係る距離画像データを入力データ、対象物に係る現実に近い距離画像データを出力データとする教師データを作成する前処理部３４と、前記教師データに基づいた教師あり学習を行い、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定する学習済みモデルを生成する学習部１１０と、を備える。【選択図】図２
2020052032.tif 000002
【特許請求の範囲】
【請求項１】
撮像センサにより撮像された対象物に係る距離画像からの、該距離画像よりも現実に近い該対象物に係る距離画像の推定に係る機械学習の処理を行う撮像装置であって、
対象物に係る距離画像データを取得するデータ取得部と、
対象物に係る距離画像データから入力データを作成する前処理部と、
を備え、
前記入力データを用いて、対象物に係る距離画像データからの対象物に係る現実に近い距離画像データの推定に係る機械学習の処理を行う、
撮像装置。
【請求項２】
前記前処理部は、対象物に係る距離画像データを入力データ、対象物に係る現実に近い距離画像データを出力データとする教師データを作成し、前記撮像装置は、
前記教師データに基づいた前記機械学習の処理に係る教師あり学習を行い、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定するための学習済みモデルを生成する学習部を更に備える、
請求項１に記載の撮像装置。
【請求項３】
前記データ取得部が取得した前記対象物に係る距離画像データから、前記対象物の位置及び姿勢を検出する対象物検出部を更に備える、
請求項２に記載の撮像装置。
【請求項４】
前記対象物に係るＣＡＤデータを記憶するＣＡＤデータ記憶部を更に備え、
前記前処理部は、前記ＣＡＤデータ記憶部に記憶された前記対象物に係るＣＡＤデータに基づいて、前記対象物の現実に近い距離画像データを生成する、
請求項２又は３に記載の撮像装置。
【請求項５】
前記データ取得部が取得した前記対象物に係る距離画像データから、前記対象物の位置及び姿勢を検出する対象物検出部と、
前記対象物に係るＣＡＤデータを記憶するＣＡＤデータ記憶部とを更に備え、
前記前処理部は、前記ＣＡＤデータ記憶部に記憶された前記対象物に係るＣＡＤデータ及び前記対象物検出部が検出した前記対象物の位置及び姿勢に基づいて、前記対象物の現実に近い距離画像データを生成する、
請求項２に記載の撮像装置。
【請求項６】
前記前処理部は、前記撮像センサよりも高精度な撮像センサで撮像された前記対象物に係る距離画像に基づいて、前記対象物の現実に近い距離画像データを生成する、
請求項２又は３に記載の撮像装置。
【請求項７】
前記データ取得部は、前記対象物に係る距離画像データに加えて、前記対象物の輝度画像データを取得し、
前記前処理部は、前記対象物に係る距離画像データ及び輝度画像データを入力データとする、
請求項２〜６のいずれか１つに記載の撮像装置。
【請求項８】
対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定する学習済みモデルを記憶した学習モデル記憶部と、
前記機械学習の処理として、前記入力データ及び前記学習済みモデルを用いて、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定する推定部とを更に備える、
請求項１に記載の撮像装置。
【請求項９】
撮像センサにより撮像された対象物に係る距離画像に基づくより現実に近い該対象物に係る距離画像の推定に係る機械学習の処理を行う撮像装置の機械学習処理方法であって、
前記対象物に係る距離画像データを取得する第１ステップと、
前記対象物に係る距離画像データから入力データを作成する第２ステップと、
前記入力データを用いて、対象物に係る距離画像データからの対象物に係る現実に近い距離画像データの推定に係る機械学習の処理を行う第３ステップと、
を実行する撮像装置の機械学習処理方法。
【請求項１０】
前記第２ステップは、前記対象物に係る距離画像データを入力データ、前記対象物に係る現実に近い距離画像データを出力データとする教師データを作成するステップであり、前記第３ステップは、前記機械学習の処理として、前記教師データに基づいた教師あり学習を行い、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定するための学習済みモデルを生成する、
請求項９に記載の撮像装置の機械学習処理方法。
【請求項１１】
前記第３ステップは、前記機械学習の処理として、前記入力データと、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定するための学習済みモデルとを用いて、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定する、
請求項９に記載の撮像装置の機械学習処理方法。
【請求項１２】
複数の装置がネットワークを介して相互に接続されたシステムであって、
前記複数の装置は、少なくとも請求項２〜５のいずれかに記載された撮像装置である第１の撮像装置を含む
撮像システム。
【請求項１３】
前記複数の装置は、機械学習装置を備えたコンピュータを含み、
前記コンピュータは、前記第１の撮像装置の少なくとも１つの前記学習の結果としての学習モデルを取得し、
前記コンピュータが備える機械学習装置は、取得した前記学習モデルに基づく最適化乃至効率化を行う、
請求項１２に記載の撮像システム。
【請求項１４】
前記複数の装置は、前記第１の撮像装置とは異なる第２の撮像装置を含み、
前記第１の撮像装置による学習結果は、前記第２の撮像装置と共有される、
請求項１２に記載の撮像システム。
【請求項１５】
前記複数の装置は、前記第１の撮像装置とは異なる第２の撮像装置を含み、
前記第２の撮像装置において観測されたデータは、前記ネットワークを介して前記第１の撮像装置による学習に利用可能である、
請求項１２に記載の撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及び撮像システムに関し、特に対象物の高さ情報を取得できる距離画像の撮像装置及び撮像システムに関する。
【背景技術】
【０００２】
従来、対象物の３次元的な位置、姿勢、形状を検出することを目的としたシステムが開発されており、例えば、距離情報を画素値とする距離画像を撮像することのできる３次元ビジョンセンサが知られている。３次元ビジョンセンサは、例えば視差が出るように配置された２つのセンサ（カメラ）により取得した画像を解析して、視差を利用した三角測量の技術を用いてそれぞれの画素に対応する位置がセンサからどれだけ離れているかを求めることで、対象物の３次元形状を復元している（例えば、特許文献１等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０２４６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、３次元ビジョンセンサで撮像される距離画像は、対象物の形状が崩れてしまうことがある。例えば、ステレオ方式の３次元ビジョンセンサを用いている場合、対象物の３次元ビジョンセンサとの距離が急激に変化する部分等において、２つのセンサで取得された画像の対応が正しく取れなくなり、３次元ビジョンセンサとの距離が同じ位置の画素であっても異なる距離が算出される場合があり、このようなことが原因で距離画像における対象物の形状が崩れてしまう。
【０００５】
そこで、形状が崩れた対象物の距離画像からより現実に近い対象物の距離画像を推定することが可能な撮像装置及び撮像システムが望まれている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、以下の手順により対象物の形状がくずれた距離画像を、機械学習を用いて修復する。
手順１）対象物のＣＡＤデータを取得する。
手順２）対象物の距離画像を取得する。公知の解析方法を用いて距離画像上の対象物の位置姿勢を取得する。
手順３）距離画像上での対象物の位置姿勢を、３次元ビジョンセンサから見た対象物の位置姿勢に変換する。
手順４）対処物のＣＡＤデータと３次元ビジョンセンサを、検出した位置関係で仮想空間上に配置する。
手順５）仮想空間上で３次元ビジョンセンサに映る対象物の現実に近い距離画像を生成する。
手順６）実世界の距離画像を入力データ、仮想空間での距離画像をラベルとして、ペアにして、学習データとする。
手順７）手順１〜６を、対象物を変えて行う。異なる種類の対象物でもよい。
手順８）取得した学習データの集合を学習データセットとし、ニューラルネットワーク等の学習器を学習する。この学習器は、入力データとして実世界の距離画像を入れると、その距離画像を現実に近い距離画像に変換するものとなる。
【０００７】
そして、本発明の一態様は、撮像センサにより撮像された対象物に係る距離画像からの、該距離画像よりも現実に近い該対象物に係る距離画像の推定に係る機械学習の処理を行う撮像装置であって、対象物に係る距離画像データを取得するデータ取得部と、対象物に係る距離画像データから入力データを作成する前処理部と、を備え、前記入力データを用いて、対象物に係る距離画像データからの対象物に係る現実に近い距離画像データの推定に係る機械学習の処理を行う、撮像装置である。
【０００８】
本発明の他の態様は、撮像センサにより撮像された対象物に係る距離画像に基づくより現実に近い該対象物に係る距離画像の推定に係る機械学習の処理を行う撮像装置の機械学習処理方法であって、前記対象物に係る距離画像データを取得する第１ステップと、前記対象物に係る距離画像データから入力データを作成する第２ステップと、前記入力データを用いて、対象物に係る距離画像データからの対象物に係る現実に近い距離画像データの推定に係る機械学習の処理を行う第３ステップと、を実行する撮像装置の機械学習処理方法である。
【０００９】
本発明の他の態様は、複数の装置がネットワークを介して相互に接続されたシステムであって、前記複数の装置は、少なくとも学習部を備えた撮像装置を含む撮像システムである。
【発明の効果】
【００１０】
本発明の一態様により、対象物の形状が崩れた距離画像から、該距離画像よりも現実に近い対象物の距離画像を推定することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による機械学習装置を備えた撮像装置の要部を示す概略的なハードウェア構成図である。
【図２】第１の実施形態による撮像装置の概略的な機能ブロック図である。
【図３】対象物の距離画像データと現実に近い距離画像データとを例示する図である。
【図４】第２の実施形態による撮像装置の概略的な機能ブロック図である。
【図５】クラウドサーバ、フォグコンピュータ、エッジコンピュータを含む３階層構造のシステムの例を示す図である。
【図６】コンピュータ上に実装した形態での撮像装置の概略的なハードウェア構成図である。
【図７】第３の実施形態による撮像システムの概略的な構成図である。
【図８】第４の実施形態による撮像システムの概略的な構成図である。
【図９】第５の実施形態による撮像システムの概略的な構成図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は一実施形態による機械学習装置を備えた撮像装置の要部を示す概略的なハードウェア構成図である。本実施形態の撮像装置１は、工場に設置されているパソコンや、工場に設置される機械を管理するセルコンピュータ、ホストコンピュータ、エッジコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図１は、工場に設置されているパソコンとして撮像装置１を実装した場合の例を示している。
【００１３】
本実施形態による撮像装置１が備えるＣＰＵ１１は、撮像装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って撮像装置１全体を制御する。ＲＡＭ１３には一時的な計算データ、入力装置７１を介して作業者が入力した各種データ等が一時的に格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされたメモリやＳＳＤ等で構成され、撮像装置１の電源がオフされても記憶状態が保持される。不揮発性メモリ１４には、撮像装置１の動作に係る設定情報が格納される設定領域や、入力装置７１から入力されたプログラムやデータ等、図示しない外部記憶装置やネットワークを介して読み込まれたＣＡＤデータ等が記憶される。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、学習データセットを解析するための公知の解析プログラムや後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
【００１５】
撮像センサ４は、例えば対象物を撮像することで該対象物の距離画像データ（距離情報を値として持つ２次元又は１次元配列のデータ）を生成する３次元ビジョンセンサである。撮像センサ４としての３次元ビジョンセンサは、複数のＣＣＤセンサを備えた三角測量方式でも、タイムオブフライト方式のものでも、合焦点方式のものでも良い。撮像センサ４は、例えば図示しないロボットのハンドに取り付けられ、該ロボットにより判別対象となる対象物を撮像する撮像位置に移動され、該対象物を撮像して得られた距離画像データをインタフェース１９を介してＣＰＵ１１に渡す。撮像センサ４は、例えばいずれかの位置に固定的に設置されており、ロボットがハンドで把持した対象物を撮像センサ４で撮像可能な位置に移動させることで撮像センサ４が対象物の距離画像データを撮像できるようにしても良い。撮像センサ４による対象物の撮像に係る制御は、撮像装置１がプログラムを実行することにより行うようにしてもよいし、ロボットを制御するロボットコントローラや、他の装置からの制御により行うようにしても良い。
【００１６】
表示装置７０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、撮像センサ４が撮像して得られた対象物の距離画像データ、後述する機械学習装置１００から出力されたデータ等がインタフェース１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置７１は、作業者による操作に基づく指令，データ等を受けて、インタフェース１８を介してＣＰＵ１１に渡す。
【００１７】
インタフェース２１は、撮像装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して撮像装置１で取得可能な各情報（例えば、距離画像データ、ＣＡＤデータ等）を観測することができる。また、撮像装置１は、機械学習装置１００から出力される処理結果をインタフェース２１を介して取得する。
【００１８】
図２は、第１の実施形態による撮像装置１と機械学習装置１００の学習モードにおける概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した撮像装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、撮像装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００１９】
本実施形態の撮像装置１は、データ取得部３０、対象物検出部３２、前処理部３４を備え、また、撮像装置１が備える機械学習装置１００は、学習部１１０を備え、また、不揮発性メモリ１４上に設けられたＣＡＤデータ記憶部５０には、予め図示しない外部記憶装置又は有線／無線のネットワークを介して、学習に用いる対象物（複数の対象物があり得る）に係るＣＡＤデータが記憶されている。
【００２０】
データ取得部３０は、撮像センサ４から、又は図示しない外部記憶装置や有線／無線ネットワークを介して、対象物に係る距離画像データを取得する機能手段である。データ取得部３０が取得する距離画像データは、２次元の撮像面の画素毎に撮像センサ４からの距離が設定されているデータであり、例えば撮像センサ４の撮像範囲において、予め指定した距離の範囲を等分割して画素値としたものであっても良い。
【００２１】
対象物検出部３２は、データ取得部３０が取得した対象物に係る距離画像データから、該距離画像データ内の対象物の位置及び姿勢を取得する機能手段である。対象物検出部３２は、例えばＣＡＤデータ記憶部５０から読み出した対象物に係るＣＡＤデータにより対象物の形状を特定し、該ＣＡＤデータの位置及び姿勢を変更しながら距離画像データとの間で公知のマッチング処理を行うことにより、距離画像データの中から対象物の位置及び姿勢を特定するようにすれば良い。
【００２２】
前処理部３４は、対象物に係る距離画像データ及び対象物に係るＣＡＤデータに基づいて、機械学習装置１００による学習に用いる教師データを作成する。前処理部３４は、対象物に係る距離画像データを入力データとし、対象物に係るＣＡＤデータから生成した対象物に係る現実に近い距離画像データ（データ取得部３０が取得した対象物に係る距離画像よりも現実に近い距離画像のデータ、対象物に係る理想的な距離画像のデータ）を出力データとした教師データＴを作成する。図４は、対象物に係る距離画像と、対象物に係る現実に近い距離画像の例を示す図である。対象物の距離画像は、上記でも説明したように、距離画像の生成アルゴリズムに応じて撮像センサ４との距離が変化する部分において距離の検出誤差が出るため、その部分に崩れが生じやすい。前処理部３４は、対象物に係る現実に近い距離画像データを、例えば仮想空間上の視点位置に対して、撮像センサ４に対する対象物の位置及び姿勢と同じ位置及び姿勢でＣＡＤデータを配置し、その時の視点位置から見えるＣＡＤデータの形状から対象物に係る現実に近い画像データを生成する。このようにして生成された対象物に係る現実に近い距離画像は、視点との距離が変化する部分においても誤差が生じないため、画像に崩れが生じることがない。なお、対象物に係る距離画像データに対象物以外に該対象物を固定する治具等が一緒に写り込んでいる場合には、予め治具に係るＣＡＤデータも取得しておき、対象物に係るＣＡＤデータと同様に仮想空間に配置して、対象物の現実に近い距離画像データに含めるようにしても良い。
【００２３】
学習部１１０は、前処理部３４が作成した教師データＴを用いた教師あり学習を行い、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定するために用いられる学習済みモデルを生成する（学習する）機能手段である。本実施形態の学習部１１０は、例えばニューラルネットワークを学習モデルとして用いた教師あり学習を行うように構成しても良い。この様に構成する場合、学習モデルとしては入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。学習部１１０が生成した学習済みモデルは、不揮発性メモリ１０４上に設けられた学習モデル記憶部１３０に記憶され、推定部１２０による対象物に係る現実に近い距離画像データの推定処理に用いられる。
【００２４】
学習部１１０は、データ取得部３０が取得した様々な対象物（異なる対象物）に係る距離画像データ、撮像条件（照明位置等）を変更して撮像された対象物に係る距離画像データを用いて上記した学習を繰り返し行うことにより、対象物に係る距離画像データから対象物に係る現実に近い距離画像データを推定するために用いられる学習済みモデルを生成する。このような学習を繰り返すことにより、対象物や撮像条件によらず撮像センサ４で得られた対象物に係る距離画像の崩れ方に対するより現実に近い距離画像を学習した学習済みモデルが構築される。
【００２５】
本実施形態の撮像装置１の一変形例として、データ取得部３０が対象物に係る距離画像データを取得するだけでなく、同じ位置関係で撮像した対象物に係る輝度画像データ等の別の形式の画像データを取得するように構成し、取得した別の形式の画像データを距離画像データを補助する補助画像データとして用いた学習を行うようにしても良い。この場合、前処理部３４は、対象物に係る距離画像データと補助画像データとを入力データとして教師データＴを作成し、学習部１１０は作成された教師データＴを用いた教師あり学習を行う。このようにすることで、対象物に係るより豊富な情報に基づいて対象物に係る現実に近い距離画像データを推定するための学習済みモデルを構築することができ、この学習済みモデルを用いることで推定部１２０による現実に近い距離画像データの推定の精度が向上する。
【００２６】
本実施形態の撮像装置１の他の変形例として、前処理部３４が教師データＴを作成する際に用いる対象物に係る現実に近い距離画像データは、例えば高精度な撮像センサを用いて得られた画像に基づいて作成するようにしても良い。高精度な撮像センサとしては、解像度の高い撮像センサや、距離画像を撮像する以外に輝度やその他の物理量を検出し、これらの情報に基づいてより精度高くセンサからの距離を検出できるものが例示される。このような撮像センサは高価なものとなるが、学習済みモデルの構築段階でのみ必要とされる構成であり、また、対象物のＣＡＤデータが入手できない場合にも学習済みモデルの構築が行えるというメリットがある。
【００２７】
図４は、第２の実施形態による撮像装置１と機械学習装置１００の推定モードにおける概略的な機能ブロック図である。図４に示した各機能ブロックは、図１に示した撮像装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、撮像装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２８】
本実施形態の撮像装置１は、推定モードにおいて、データ取得部３０が取得した対象物に係る距離画像データに基づいて該対象物に係る距離画像よりも現実に近い距離画像データを推定する。本実施形態による撮像装置１において、データ取得部３０，対象物検出部３２が備える機能は第１の実施形態のものと同様のものである。
【００２９】
前処理部３４は、対象物に係る距離画像データに基づいて、機械学習装置１００による推定に用いる入力データを作成する。
【００３０】
推定部１２０は、前処理部３４から入力された入力データに基づいて、学習モデル記憶部１３０に記憶された学習済みモデルを用いた対象物に係る現実に近い画像の推定を行う。本実施形態の推定部１２０では、学習部１１０による教師あり学習により生成された（パラメータが決定された）学習済みモデルに対して、前処理部３４から入力された入力データ（対象物に係る距離画像データ）を入力することで対象物に係る現実に近い距離画像データを推定（算出）する。推定部１２０が推定した対象物に係る現実に近い距離画像データは、例えば表示装置７０に表示出力したり、図示しない有線／無線ネットワークを介してホストコンピュータやクラウドコンピュータ等に送信出力して利用するようにしても良い。
【００３１】
上記のように構成された本実施形態の撮像装置１では、様々な対象物、撮像条件で撮像することで得られた複数の教師データに基づいて学習を行った結果として得られた学習済みデータを用いて対象物に係る現実に近い距離画像データを推定することができるようになる。
【００３２】
以下の、第３〜５の実施形態では、第１の実施形態による撮像装置１が、クラウドサーバやホストコンピュータ、フォグコンピュータ、エッジコンピュータ（ロボットコントローラ、制御装置等）を含む複数の装置と有線／無線のネットワークを介して相互に接続したシステムの一部として実装されている実施形態について説明する。図５に例示されるように、以下の第３〜５の実施形態では、複数の装置のそれぞれがネットワークに接続された状態でクラウドサーバ６等を含む層、フォグコンピュータ７等を含む層、エッジコンピュータ８（セル９に含まれるロボットコントローラ、制御装置等）等を含む層の、３つの階層に論理的に分けて構成されているシステムを想定する。この様なシステムに於いて、本発明による一態様による撮像装置１は、クラウドサーバ６、フォグコンピュータ７、エッジコンピュータ８のいずれの上にも実装することが可能であり、それぞれの複数の装置との間でネットワークを介して相互に機械学習に係る処理で用いるデータを共有して分散学習をしたり、生成した学習モデルをフォグコンピュータ７やクラウドサーバ６に収集して大規模な解析を行ったり、更に、生成した学習モデルの相互再利用等をしたりすることができる。図５に例示されるシステムにおいて、セル９は各地の工場にそれぞれ複数設けられ、それぞれのセル９を所定の単位（工場単位、同じ製造業者の複数の工場単位等）で上位層のフォグコンピュータ７が管理する。そして、これらフォグコンピュータ７が収集、解析したデータを、更に上位層のクラウドサーバ６で収集、解析等を行い、その結果として得られた情報を各々のエッジコンピュータ８における制御等に活用することができる。
【００３３】
図６はクラウドサーバ、フォグコンピュータ等のコンピュータ上に撮像装置を実装した場合の概略的なハードウェア構成図である。
【００３４】
本実施形態によるコンピュータ上に実装された撮像装置１’が備えるＣＰＵ３１１は、撮像装置１’を全体的に制御するプロセッサである。ＣＰＵ３１１は、ＲＯＭ３１２に格納されたシステム・プログラムをバス３２０を介して読み出し、該システム・プログラムに従って撮像装置１’の全体を制御する。ＲＡＭ３１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００３５】
不揮発性メモリ３１４は、例えば図示しないバッテリでバックアップされるなどして、撮像装置１’の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ３１４には、入力装置３７１を介して入力されたプログラム、撮像装置１’の各部やネットワーク５を介して撮像センサ４等から取得された各種データが記憶されている。不揮発性メモリ３１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ３１３に展開されても良い。また、ＲＯＭ３１２には、公知の解析プログラムなどの各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００３６】
撮像装置１’は、インタフェース３１９を介して有線／無線のネットワーク５と接続されている。ネットワーク５には、少なくとも１つの撮像センサや、他の撮像装置１、エッジコンピュータ８、フォグコンピュータ７、クラウドサーバ６等が接続され、撮像装置１’との間で相互にデータのやり取りを行っている。
【００３７】
表示装置３７０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース３１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置３７１は、作業者による操作に基づく指令，データ等をインタフェース３１８を介してＣＰＵ３１１に渡す。
【００３８】
インタフェース３２１は、撮像装置１’と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００については、図１で説明したものと同様の構成を備える。
【００３９】
この様に、クラウドサーバ、フォグコンピュータ等のコンピュータ上に撮像装置１’を実装する場合、撮像センサ４からの情報の取得等が、ネットワーク５を介してやり取りされる点を除けば、撮像装置１’が備える機能については第１，２の実施形態で説明したものと同様のものとなる。
【００４０】
図７は、撮像装置１’を備えた第３の実施形態による撮像システムの概略的な構成図である。撮像システム５００は、複数の撮像装置１，１’、複数の撮像センサ４、及びそれら撮像装置１，１’、撮像センサ４を互いに接続するネットワーク５とを備える。
【００４１】
撮像システム５００では、機械学習装置１００を備える撮像装置１’は、学習部１１０の学習結果を用いて、撮像センサ４が撮像した対象物に係る現実に近い距離画像を推定する。また、少なくとも１つの撮像装置１’が、他の複数の撮像装置１、１’のそれぞれが得た教師データＴに基づき、全ての撮像装置１、１’に共通する撮像センサ４が撮像した対象物に係る現実に近い距離画像を学習し、その学習結果を全ての撮像装置１、１’が共有するように構成できる。したがって撮像システム５００によれば、より多様なデータ集合（教師データＴを含む）を入力として、学習の速度や信頼性を向上させることができる。
【００４２】
図８は、機械学習装置と撮像装置とを異なる装置上に実装した第４の実施形態によるシステムの概略的な構成図である。撮像システム５００’は、クラウドサーバ、ホストコンピュータ、フォグコンピュータ等のコンピュータの一部として実装された少なくとも１台の機械学習装置１００（図８では、フォグコンピュータ７の一部として実装された例を示している）と、複数の撮像装置１”と、それら撮像装置１”とコンピュータとを互いに接続するネットワーク５とを備える。なお、コンピュータのハードウェア構成は、図６に示した撮像装置１’の概略的なハードウェア構成と同様に、ＣＰＵ３１１、ＲＡＭ３１３，不揮発性メモリ３１４等の一般的なコンピュータが備えるハードウェアがバス３２０を介して接続して構成される。
【００４３】
上記構成を有する撮像システム５００’は、機械学習装置１００が、複数の撮像装置１”のそれぞれについて得られた教師データＴに基づき、全ての撮像装置１”に共通する撮像センサ４が撮像した対象物に係る現実に近い距離画像を学習し、その学習結果を用いて、それぞれの撮像センサ４が撮像した対象物に係る現実に近い距離画像の推定を行うことができるようになる。撮像システム５００’の構成によれば、複数の撮像装置１”のそれぞれが、存在する場所や時期に関わらず、必要なときに必要な数の撮像装置１”を機械学習装置１００に接続することができる。
【００４４】
図９は、機械学習装置１００’と撮像装置１とを備えた第５の実施形態による撮像システム５００”の概略的な構成図である。撮像システム５００”は、エッジコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータの上に実装された少なくとも１台の機械学習装置１００’（図９では、フォグコンピュータ７の一部として実装された例を示している）と、複数の撮像装置１と、それら撮像装置１とコンピュータとを互いに接続する有線／無線のネットワーク５とを備える。
【００４５】
上記構成を有する撮像システム５００”では、機械学習装置１００’を備えるフォグコンピュータ７が、各々の撮像装置１から、該撮像装置１が備える機械学習装置１００による機械学習の結果として得られた学習モデルを取得する。そして、フォグコンピュータ７が備える機械学習装置１００’は、これら複数の学習モデルに基づく知識の最適化や効率化の処理を行うことで、新たに最適化乃至効率化された学習モデルを生成し、生成した学習モデルを各々の撮像装置１に対して配布する。
【００４６】
機械学習装置１００’が行う学習モデルの最適化乃至効率化の例としては、各撮像装置１から取得した複数の学習モデルに基づいた蒸留モデルの生成が挙げられる。この場合、本実施例による機械学習装置１００’は、学習モデルに対して入力する入力データを作成し、該入力データを各々の学習モデルに対して入力した結果として得られる出力を用いて、１から学習を行うことで新たに学習モデル（蒸留モデル）を生成する。このようにして生成された蒸留モデルは、上記でも説明したように、外部記憶媒体やネットワーク５を介して撮像装置１や他のコンピュータに対して配布して活用される。
【００４７】
機械学習装置１００’が行う学習モデルの最適化乃至効率化の他の例としては、各撮像装置１から取得した複数の学習モデルに対して蒸留を行う過程において、入力データに対する各学習モデルの出力データの分布を一般的な統計的手法（例えば、外れ値検定等）で解析し、入力データと出力データの組の外れ値を抽出し、該外れ値を除外した入力データと出力データの組を用いて蒸留を行うことも考えられる。このような過程を経ることで、それぞれの学習モデルから得られる入力データと出力データの組から例外的な推定結果を除外し、例外的な推定結果を除外した入力データと出力データの組を用いて蒸留モデルを生成することができる。このようにして生成された蒸留モデルは、複数の撮像装置１で生成された学習モデルと比べてより汎用的な学習モデルとして活用することが可能となる。
なお、他の一般的な学習モデルの最適化乃至効率化の手法（各学習モデルを解析し、その解析結果に基づいて学習モデルのハイパパラメータを最適化する等）も適宜導入することが可能である。
【００４８】
本実施例による撮像システム５００”では、例えばエッジコンピュータとしての複数の撮像装置１に対して設置されたフォグコンピュータ７の上に機械学習装置１００’を配置し、各々の撮像装置１で生成された学習モデルをフォグコンピュータ７上に集約して記憶しておき、記憶した複数の学習モデルに基づいた最適化乃至効率化を行った上で、最適化乃至効率化された学習モデルを必要に応じて各撮像装置１に対して再配布するという運用を行うことができる。
【００４９】
また、本実施例による撮像システム５００”では、例えばフォグコンピュータ７の上に集約して記憶された学習モデルや、フォグコンピュータ７上で最適化乃至効率化された学習モデルを、更に上位のホストコンピュータやクラウドサーバ上に集め、これら学習モデルを用いて工場や撮像装置１のメーカでの知的作業への応用（上位サーバでの更なる汎用的な学習モデルの構築及び再配布、学習モデルの解析結果に基づく保守作業の支援、各々の撮像装置１の性能等の分析、新しい機械の開発への応用等）を行うことができる。
【００５０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５１】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム、撮像装置１が実行する制御アルゴリズム等は、前記したものに限定されず、様々なアルゴリズムを採用できる。
【００５２】
また、上記した実施形態では撮像装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は撮像装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００５３】
１  撮像装置
４  撮像センサ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７，１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  データ取得部
３２  対象物検出部
３４  前処理部
４２  正誤検出部
５０  ＣＡＤデータ記憶部
７０  表示装置
７１  入力装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１１０  学習部
１２０  推定部
１３０  学習モデル記憶部
【図１】
2020052032.tif 000003
【図２】
2020052032.tif 000004
【図３】
2020052032.tif 000005
【図４】
2020052032.tif 000006
【図５】
2020052032.tif 000007
【図６】
2020052032.tif 000008
【図７】
2020052032.tif 000009
【図８】
2020052032.tif 000010
【図９】
2020052032.tif 000011