(57)【要約】【課題】信頼性の高い推論を行うことができるように、再学習の依頼を行うことができる学習依頼装置および学習依頼方法を提供する。【解決手段】第１リクエストに基づいて生成される正誤判断用の学習モデルを取得するステップ（Ｓ１、Ｓ３）と、学習モデルに特定のテストサンプルを入力して正誤判断を行うステップ（Ｓ５、Ｓ７）と、正誤判断結果に従って、第２のリクエストを作成する第２リクエスト発生ステップ（Ｓ９、Ｓ９、Ｓ１３）を有する。第２のリクエストは、テストサンプル以外の情報を作成する。【選択図】  図６
2020119322.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、上記第１の画像群とは異なる第２の画像に対して推論を行う推論部と、
上記推論部における推論結果を判定して、上記第１の教師データを補正する補正情報を出力する補正部と、
を有することを特徴とする学習依頼装置。
【請求項２】
上記推論部は、上記第２の画像としてテストデータを用いて推論を行い、
上記補正部は、上記推論結果に応じて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す、
ことを特徴とする請求項１に記載の学習依頼装置。
【請求項３】
上記第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、上記撮像データを上記テストデータの候補とすることを特徴とする請求項２に記載の学習依頼装置。
【請求項４】
上記補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼する依頼部を有することを特徴とする請求項１に記載の学習依頼装置。
【請求項５】
第１教師データに基づいて生成された第１推論モデルによって推論を行った際の誤検出データに基づいて、第２教師データを作成する教師データ作成部と、
上記第２教師データに基づいて、第２推論モデルを生成するための再学習を学習装置に依頼する通信部と、
を有することを特徴とする学習依頼装置。
【請求項６】
上記教師データ作成部は、上記誤検出した際の画像に基づいて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施すことを特徴とする請求項５に記載の学習依頼装置。
【請求項７】
第１リクエストに基づいて生成される正誤判断用の学習モデルを取得するステップと、
上記学習モデルに特定のテストサンプルを入力して正誤判断を行うステップと、
上記正誤判断結果に従って、第２のリクエストを作成する第２リクエスト発生ステップと、
を有することを特徴とする学習依頼方法。
【請求項８】
上記第２のリクエストは、上記テストサンプル以外の情報を作成することを特徴とする請求項７に記載の学習依頼方法。
【請求項９】
第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、上記第１の画像群とは異なる第２の画像に対して推論を行い、
上記推論の結果を判定して、上記第１の教師データを補正する補正情報を作成する、
ことを特徴とする学習依頼方法。
【請求項１０】
上記推論は、上記第２の画像としてテストデータを用いて推論を行い、
上記推論の結果に応じて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す、
ことを特徴とする請求項９に記載の学習依頼方法。
【請求項１１】
上記第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、上記撮像データを上記テストデータの候補とすることを特徴とする請求項１０に記載の学習依頼方法。
【請求項１２】
上記補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼することを特徴とする請求項９に記載の学習依頼方法。
【請求項１３】
アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部と、
アノテーションされた上記第１の画像群によって学習された第１の推論モデルを上記学習装置から受信する受信部と、
上記第１の画像群には含まれない第２の画像に対して推論を行う推論部と、
上記推論部における推論結果を判定して、上記第１の教師データを補正する補正情報を出力する補正部と、
上記補正情報を上記送信部から上記学習装置に送信して再学習を依頼する再学習依頼部と、
を有することを特徴とする学習依頼装置。
【請求項１４】
アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部と、
アノテーションされた上記第１の画像群によって学習された第１の推論モデルを上記学習装置から受信する受信部と、
上記第１の画像群には含まれない第２の画像に対して推論を行う推論部と、
上記推論部における推論結果を判定して、上記第１の画像、上記第２の画像とは異なる第３の画像を上記送信部から上記学習装置に送信して再学習を依頼して上記第１の推論モデルとは異なる第２の推論モデルを取得する再学習依頼部と、
を有することを特徴とする学習依頼装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、深層学習等の機械学習装置に推論モデルの提供を依頼する学習依頼装置および学習依頼方法に関する。
【背景技術】
【０００２】
学習部で学習を行い、この学習結果を用いて、種々の制御を行うことが知られている。例えば、特許文献１には、収集された観測データから、正常時の特徴を学習し、学習結果に基づいて、その後に入力される観測データについて、異常の発生を検知する装置が開示されている。この装置では、テスト期間において異常の検知対象から観測されたデータに基づいて異常度を算出し、この異常度を閾値と比較することで異常の発生を検知している。そして、異常の見逃し及び誤検知の有無に基づいて閾値を決定し、誤検知が発生した場合には、閾値を増加させ、見逃しが発生した場合には、閾値を減少させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１４８３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１に記載の装置では、学習した結果のレベル調整を行っているが、レベル調整の結果に基づいて、再学習を行うものではなかった。すなわち、再学習を行って、より適切な推論モデルを生成することについては、何ら考慮されていなかった。このため、信頼性の低いままで推論を行ってしまうおそれがあった。
【０００５】
本発明は、このような事情を鑑みてなされたものであり、信頼性の高い推論を行うことができるように、再学習の依頼を行うことができる学習依頼装置および学習依頼方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため第１の発明に係る学習依頼装置は、第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、上記第１の画像群とは異なる第２の画像に対して推論を行う推論部と、上記推論部における推論結果を判定して、上記第１の教師データを補正する補正情報を出力する補正部と、を有する。
【０００７】
第２の発明に係る学習依頼装置は、上記第１の発明において、上記推論部は、上記第２の画像としてテストデータを用いて推論を行い、上記補正部は、上記推論結果に応じて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す。
第３の発明に係る学習依頼装置は、上記第２の発明において、上記第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、上記撮像データを上記テストデータの候補とする。
【０００８】
第４の発明に係る学習依頼装置は、上記第１の発明において、上記補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼する依頼部を有する。
【０００９】
第５の発明に係る学習依頼装置は、第１教師データに基づいて生成された第１推論モデルによって推論を行った際の誤検出データに基づいて、第２教師データを作成する教師データ作成部と、上記第２教師データに基づいて、第２推論モデルを生成するための再学習を学習装置に依頼する通信部と、を有する。
第６の発明に係る学習依頼装置は、上記第５の発明において、上記教師データ作成部は、上記誤検出した際の画像に基づいて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す。
【００１０】
第７の発明に係る学習依頼方法は、第１リクエストに基づいて生成される正誤判断用の学習モデルを取得するステップと、上記学習モデルに特定のテストサンプルを入力して正誤判断を行うステップと、上記正誤判断結果に従って、第２のリクエストを作成する第２リクエスト発生ステップと、を有する。
第８の発明に係る学習依頼方法は、上記第７の発明において、上記第２のリクエストは、上記テストサンプル以外の情報を作成する。
【００１１】
第９の発明に係る学習依頼方法は、第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、上記第１の画像群とは異なる第２の画像に対して推論を行い、上記推論の結果を判定して、上記第１の教師データを補正する補正情報を作成する。
第１０の発明に係る学習依頼方法は、上記第９の発明において、上記推論は、上記第２の画像としてテストデータを用いて推論を行い、上記推論の結果に応じて、上記第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す。
第１１の発明に係る学習依頼方法は、上記第１０の発明において、上記第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、上記撮像データを上記テストデータの候補とする。
第１２の発明に係る学習依頼方法は、上記第９の発明において、上記補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼する。
【００１２】
第１３の発明に係る学習依頼装置は、アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部と、アノテーションされた上記第１の画像群によって学習された第１の推論モデルを上記学習装置から受信する受信部と、上記第１の画像群には含まれない第２の画像に対して推論を行う推論部と、上記推論部における推論結果を判定して、上記第１の教師データを補正する補正情報を出力する補正部と、上記補正情報を上記送信部から上記学習装置に送信して再学習を依頼する再学習依頼部と、を有する。
第１４の発明に係る学習依頼装置は、アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部と、アノテーションされた上記第１の画像群によって学習された第１の推論モデルを上記学習装置から受信する受信部と、上記第１の画像群には含まれない第２の画像に対して推論を行う推論部と、上記推論部における推論結果を判定して、上記第１の画像、上記第２の画像とは異なる第３の画像を上記送信部から上記学習装置に送信して再学習を依頼して上記第１の推論モデルとは異なる第２の推論モデルを取得する再学習依頼部と、を有する。
【発明の効果】
【００１３】
本発明によれば、想定された利用シーンにおいて、信頼性の高い推論を行うことができるように、再学習の依頼を行うことができる学習依頼装置および学習依頼方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１Ａ】本発明の一実施形態に係る学習依頼システムの主として電気的構成を示すブロック図である。
【図１Ｂ】本発明の一実施形態に係る学習依頼システムの主として電気的構成を示すブロック図である。
【図２】本発明の一実施形態に係る学習依頼システムにおける教師データの生成を示す図である。
【図３】本発明の一実施形態に係る学習依頼システムにおいて、学習用の教師データの候補を選択する際の仕方を説明する図である。
【図４】本発明の一実施形態に係る学習依頼システムにおいて、教師データの生成の流れを示す図である。
【図５】本発明の一実施形態に係る学習依頼システムにおいて、教師データとテストデータの関係を示す図表である。
【図６】本発明の一実施形態に係る学習依頼システムの動作を示すフローチャートである。
【図７】本発明一実施形態に係る学習依頼依頼システムにおける教師データの再作成の動作を示すフローチャートである。
【図８Ａ】本発明の一実施形態に係る学習依頼システムの中のカメラにおける動作を示すフローチャートである。
【図８Ｂ】本発明の一実施形態に係る学習依頼システムの中のカメラにおける動作を示すフローチャートである。
【図９】本発明の一実施形態に係る学習依頼システムの中の学習装置における動作を示すフローチャートである。
【図１０】本発明の一実施形態に係る学習依頼システムの中の外部機器（学習依頼装置）における動作を示すフローチャートである。
【図１１】本発明の一実施形態に係る学習システムにおいて、教師データの補正処理を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態として、カメラ、学習部、および学習依頼部とからなる学習依頼システムについて説明する。この実施形態の概略は、以下の通りである。学習部は、第１教師データを用いて、撮影支援用等、種々の推論モデルを生成する（例えば、図６のＳ１、Ｓ３参照）。カメラは撮像部によって画像データを取得することができる。このカメラは推論エンジンを有しており、推論エンジンによって撮影支援等の推論を行い、推論結果を表示する（例えば、図３（ｂ）、図６のＳ５参照）。この推論結果の表示の際に誤検出する場合があり、この時の画像（例えば、図３（ｂ）の画像Ｐ２４）を、テストデータ候補として記録しておく（例えば、図６のＳ９参照）。カメラまたは学習依頼部は、テストデータ候補を用いて、学習部に再学習させる際に使用する第２教師データを作成する（例えば、図２（ｃ）、図４の第２教師データ４０２、図６のＳ１３参照）。
【００１６】
図１Ａおよび図１Ｂは、本実施形態に係る学習依頼システムの全体を示すブロック図である。この学習依頼システムは、カメラ１００、学習依頼部２００、および学習部３００を有する。
【００１７】
カメラ１００は、概略、いわゆるデジタルカメラであり、撮像部１０３を有し、この撮像部１０３によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部１０６にライブビュー表示する。撮影者はライブビュー表示を観察することにより、構図やシャッタタイミングを決定する。本撮影の指示操作時には、画像データが記録部１０５に記録される。記録部１０５に記録された画像データは、再生モードを選択すると、表示部１０６に再生表示することができる。
【００１８】
図１Ｂに記載のカメラ１００の詳細な構成について説明する。カメラ１００は、制御部１０１、操作部１０２、撮像部１０３、推論エンジン１０４、記録部１０５、表示部１０６、通信部１０７を有する。
【００１９】
操作部１０２は、ユーザがカメラに指示するための入力インターフェースである。操作部１０２は、レリーズ釦、電源スイッチ等の各種スイッチ、撮影モード設定用のモード設定ダイヤル等の各種ダイヤル、タッチ操作可能なタッチパネル等、種々の入力用の操作部材を有する。操作部１０２によって検出された操作部材の操作状態は、制御部１０１に出力される。
【００２０】
撮像部１０３は、光学系１０３ａと撮像素子１０３ｂを有する。光学系１０３ａは、撮影対象である被写体の光学像を形成するための光学レンズであり、フォーカスレンズやズームレンズ等を有する。撮像素子１０３ｂは光学像を光電変換し、画像信号を出力する。この他、撮像部１０３は、撮像制御回路、画像信号処理回路、絞り、シャッタ等の種々の回路や素子を有する。画像信号は、画像信号処理回路によってデジタルの画像データに変換され、制御部１０１および推論エンジン１０４等に出力される。
【００２１】
推論エンジン１０４は、推論モデルを記憶し、記憶された推論モデルを用いて、撮像部１０３から入力された画像データに対して推論を行う。推論モデルは、後述する学習部３００によって生成された推論モデルを、通信部１０７を介して入力し、記憶する。推論エンジン１０４は、ネットワーク・デザイン１０４ａと管理情報１０４ｂを有する。
【００２２】
推論エンジン１０４は、第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、第１の画像群とは異なる第２の画像に対して推論を行う推論部として機能する。推論部は、第２の画像としてテストデータを用いて推論を行う（例えば、図２（ｂ）のテストデータＰｔ（２０２ｃ）、図４のテストデータ２０２ｃ参照）。推論エンジン１０４は、第１の画像群には含まれない第２の画像に対して推論を行う推論部として機能する（例えば、図６のＳ５参照）。
【００２３】
ネットワーク・デザイン１０４ａは、入力層と出力層の間に中間層（ニューロン）が配置されている。入力層には撮像部１０３によって取得された画像データが入力される。中間層としては、何層かのニューロンが配置されている。ニューロンの層の数は設計上適宜決められ、また各層におけるニューロンの数も設計上適宜決められる。中間層Ｎは、学習部３００によって生成された推論モデルに基づいて、重み付けがなされる。出力層には、入力層に入力された画像に応じて、画像評価情報が出力される。深層学習については、入出力モデル化部３０４を構成と一緒に説明する。
【００２４】
管理情報１０４ｂは、推論エンジン１０４内のメモリに記憶された情報である。管理情報１０４ｂは、ネットワーク構造、ウェイト、教師データ情報を含む。このうち、ネットワーク構造は、ネットワーク・デザイン１０４ａのニューロンの構造を規定するための情報である。ウェイトは、各ニューロンと各ニューロンの結合の重み付けに関する情報である。教師データ情報は、教師データの作成元、バージョン情報、教師データを作成したデータ母集合に関する情報等、教師データに関する情報である。これらの管理情報１０４ｂは、推論エンジン１０４内のメモリ以外にも、カメラ１００内の他のメモリに記憶するようにしてもよい。
【００２５】
記録部１０５は、電気的に書き換え可能な不揮発性メモリである。記録部１０５には、撮像部１０３から出力され、画像処理部１０１ｄによって記録用に画像処理が施された画像データ１０５ａを記憶する。この画像データ１０５ａは読み出され、画像処理部１０１ｄによって再生表示用の画像処理が施されたのちに、表示部１０６に再生表示される。
【００２６】
また、記録部１０５は、画像データ１０５ａの記憶領域の一部に、テストデータ候補を記録する。テストデータ候補１０５ｂは、後述するように、推論モデルが生成された後、この推論モデルを用いた推論した際に、適切な推論が行われなかった際に記録された画像データである（例えば、図３（ｂ）の画像Ｐ２４、図６のＳ９、Ｓ４９、Ｓ５７等参照）。
【００２７】
表示部１０６は、ＬＣＤモニタ、有機ＥＬ等のディスプレイを有し、カメラ１００の外装に配置されており、または接眼部を通して観察可能な電子ビューファインダ（ＥＶＦ）である。表示部１０６には、撮像部１０３によって取得された画像に基づくライブビュー画像が表示され、また記録部１０５に記録された画像が再生表示される。また、推論エンジン１０４による推論結果が表示される。
【００２８】
通信部１０７は、送信および受信を行うための通信回路を有する。通信部１０７は、学習依頼部２００内の通信部Ｂ２０３と通信を行うことができ、また学習部３００内の通信部Ａ３０５ａとも通信を行うことができる。通信部１０７は、第２教師データに基づいて、第２推論モデルを生成するための再学習を学習装置に依頼する通信部として機能する（例えば、図８ＢのＳ６９、図１０のＳ１０９参照）。通信部１０７は、アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部として機能する（例えば、図６のＳ１参照）。通信部Ｂ２０３は、アノテーションされた第１の画像群によって学習された第１の推論モデルを学習装置から受信する受信部として機能する（例えば、図６のＳ３、Ｓ５参照）。
【００２９】
制御部１０１は、ＣＰＵ（Central Processing Unit：中央処理装置）等を含み、種々の周辺回路を含むＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）で構成されたプロセッサである。制御部１０１は、記録制御部１０１ａ、設定制御部１０１ｂ、通信制御部１０１ｃ、画像処理部１０１ｄ、パラメータ制御部１０１ｅ、表示制御部１０１ｆを有する。これらの各部は、ハードウエア回路によって実現され、また一部はＣＰＵと不揮発性メモリに記憶されたプログラムに従って実現する。制御部１０１は、ＣＰＵとプログラムに従って、カメラ１００の全体を制御する。
【００３０】
制御部１０１は、推論部における推論結果を判定して、第１の教師データを補正する補正情報を出力する補正部として機能する（例えば、図２の画像Ｐｃの生成、図４の補正、図６のＳ１３参照）。補正部は、推論結果に応じて、第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す（例えば、図２（ｂ）、図４参照）。また、制御部１０１は、第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、撮像データをテストデータの候補とする（例えば、図３の画像Ｐ２４、図６のＳ９参照）。また、制御部１０１は、補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼する依頼部として機能する（例えば、図６のＳ１３、図８ＢのＳ６９、図１０のＳ１０９）。
【００３１】
制御部１０１は、第１教師データに基づいて生成された第１推論モデルによって推論を行った際の誤検出データに基づいて、第２教師データを作成する教師データ作成部として機能する（例えば、図６のＳ７、Ｓ９参照）。教師データ作成部は、誤検出した際の画像に基づいて、第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す（例えば、図２、図４、図７参照）。制御部１０１は、補正情報を送信部から学習装置に送信して再学習を依頼する再学習依頼部として機能する（例えば、図６のＳ１５、図８ＢのＳ６９参照）。また、制御部１０１は、推論部における推論結果を判定して、第１の画像、第２の画像とは異なる第３の画像を送信部から学習装置に送信して再学習を依頼して第１の推論モデルとは異なる第２の推論モデルを取得する再学習依頼部として機能する。例えば、図２において、第１の画像は第１教師データ４０１が相当し、第２の画像はテストデータ（２０２ｃ）が相当し、第３の画像は強調データＰｃが相当する。
【００３２】
記録制御部１０１ａは、記録部１０５に記録する画像データ等の記録を制御する。すなわち、撮像部１０３によって取得され、画像処理部１０１ｄによって処理された画像データの記録を制御する。また、推論エンジン１０４による推論の結果が適切でなかった場合に、テストデータ候補を記録部１０５に記録する。
【００３３】
設定制御部１０１ｂは、カメラ１００における各種設定を行う。各種設定としては、撮影モード等の設定や、推論エンジン１０４による推論の設定を行う。この設定された推論の内容は、仕様として、学習依頼部２００または学習部３００に送信される。仕様として、例えば、猫の写真を撮る際に、猫の目にピントを合わせ、可愛く撮れるようなアドバイスが欲しい場合に、ユーザが操作部１０２によって要望を入力すると、設定制御部１０１ｂは、このアドバイスを受けるに相応しい推論モデルを取得できるような設定を行う。
【００３４】
通信制御部１０１ｃは、通信部１０７による通信の制御を行う。学習依頼部２００や学習部３００は、インターネットを通じて接続可能である。通信制御部１０１ｃは、通信部１０７によって、学習依頼部２００および学習部３００と通信を行う際に、通信先、送信する情報、受信する情報等を設定する。
【００３５】
画像処理部１０１ｄは、画像処理回路を有し、撮像部１０３によって取得した画像データに対して、種々の画像処理を施す。例えば、画像処理回路は、画像データに対して露出補正やノイズ処理、ＷＢゲイン補正、輪郭強調、偽色補正等の様々な基本的な画像処理を施す。さらに、画像処理回路は、上述の画像処理を施した画像データに対して、ライブビュー画像表示用の画像処理を施し、また記録データ形式に変換する処理（現像処理）も行う。さらに、推論エンジン１０４による推論結果に基づく表示等も行う。
【００３６】
パラメータ制御部１０１ｅは、パラメータ制御回路を有し、撮影を行うための種々のパラメータ、例えば、絞り、シャッタ速度、ＩＳＯ感度、焦点距離等のパラメータを制御する。
【００３７】
表示制御部１０１ｆは、表示制御回路を有し、表示部１０６における表示の制御を行う。すなわち、１０１ｆは、画像処理部１０１ｄによって処理された画像データに基づく画像の表示を制御する。また、メニュー画面等の表示制御も行う。
【００３８】
次に、図１Ａに記載の学習依頼部２００について説明する。学習依頼部２００は、例えば、インターネットを介して、学習部３００やカメラ１００等に接続可能なサーバである。学習依頼部２００は、制御部２０１、画像分類記録部２０２、通信部Ｂ２０３、および仕様設定部２０４を有する。この学習依頼部２００は、カメラ１００によって取得された画像データから作成した教師データを記録するためのデータベース（画像分類記録部２０２）を有し、この記録されている画像データに基づく基準教師データ２０２ｂ、テストデータ２０２ｃを用いた推論を、学習部３００に依頼する。
【００３９】
画像分類記録部２０２は、電気的書き換え可能なメモリを有し、対象物種類Ａ画像群２０２ａを記録している。画像文分類記録部２０２は、対象物を複数の分類に分けて画像データ等を記録している。図１Ａには、分類としては、対象物Ａのみを記載しているが、学習依頼部２００において適宜分類付けを行い、複数の対象物を分類分けして記録してもよい。対象部種類Ａ画像群２０２ａには、基準教師データ２０２ｂと、テストデータ２０２ｃが記録されている。
【００４０】
基準教師データ２０２ｂは、深層学習を行い、推論モデルを作成するための教師データである。教師データは、画像データと、この画像データに対してアノテーションによって付された情報からなる。例えば、猫の画像がある場合に、この猫であることを示す情報および猫の目の位置情報がアノテーションによって付されている。これらの基準教師データを用いて、深層学習を行うことにより、画像に猫がいれば、猫の目の位置を探し出す推論モデルを生成することができる。この基準教師データ２０２ｂには、猫等の分類情報が付与されている。
【００４１】
テストデータ２０２ｃは、基準教師データを用いて生成した推論モデルの信頼性を検出するために使用する教師データである。テストデータも、例えば、猫の目の位置を探し出す推論モデルであれば、基準教師データと同様に、画像に猫がいれば、猫の目の位置を示す情報が関連付けて記録されている。すなわち、教師データは学習部３００が推論モデルを作成する際に使用するデータであり、一方、テストデータは推論モデルをテストする際に使用するデータである。後述するように、ユーザがカメラ１００で撮影する際に、テストデータを作成するようにしてもよい。また、ユーザによってカメラ１００で撮影された画像に限らず、学習依頼部２００が独自に収集したテストデータであってもよい。このテストデータ２０２ｃにも、猫等の分類情報が付与されている。教師データとテストデータの関係については、図５を用いて後述する。
【００４２】
通信部Ｂ２０３は、送信および受信を行うための通信回路を有する。通信部Ｂ２０３は、カメラ１００内の通信部１０７と通信を行うことができ、また学習部３００内の通信部Ｂ３０５ｂとも通信を行うことができる。通信部Ｂ２０３は、第２教師データに基づいて、第２推論モデルを生成するための再学習を学習装置に依頼する通信部として機能する（例えば、図８ＢのＳ６９、図１０のＳ１０９参照）。通信部１０７は、アノテーション結果を付与可能な第１の画像群を学習装置に送信する送信部として機能する（例えば、図６のＳ１参照）。通信部１０７は、アノテーションされた第１の画像群によって学習された第１の推論モデルを学習装置から受信する受信部として機能する（例えば、図６のＳ３、Ｓ５参照）。
【００４３】
仕様設定部２０４は、学習依頼部２００から学習部３００に深層学習によって推論モデルの生成を依頼する際に、その推論モデルの仕様を設定する。例えば、画像に猫がいればその猫の目の位置にピントが合い、また可愛く撮影できるような推論モデルの仕様を設定する。この設定された仕様は、通信部Ｂ２０３を介して、学習部３００に送信され、この仕様に基づいて、学習部３００は推論モデルを生成する。なお、カメラ１００において、仕様を設定し、学習依頼部２００に推論モデル生成の仲介が依頼された場合には、カメラ１００からの仕様を、学習部３００に転送する。
【００４４】
推論エンジン２０５は、推論モデルを記憶し、記憶された推論モデルを用いて、入力された画像データに対して推論を行う。推論モデルは、後述する学習部３００によって生成され推論モデルを、通信部Ｂ３０５ｂを介して入力し、記憶する。推論エンジン２０５は、推論エンジン１０４と同様に、ネットワーク・デザインを有し、管理情報１０４ｂと同様の管理情報を記憶するようにしてもよい。また、入出力モデル化部３０４内の信頼性判定部３０４ａと同様の信頼性判定部を有していてもよい。
【００４５】
推論エンジン２０５は、第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、第１の画像群とは異なる第２の画像に対して推論を行う推論部として機能する（例えば、図２（ｂ）および図４の推論エンジン参照）。推論部は、第２の画像としてテストデータを用いて推論を行う（例えば、図２（ｂ）のテストデータＰｔ（２０２ｃ）、図４のテストデータ２０２ｃ参照）。推論エンジン２０５は、第１の画像群には含まれない第２の画像に対して推論を行う推論部として機能する（例えば、図６のＳ５参照）。
【００４６】
推論エンジン２０５内のネットワーク・デザインは、ネットワーク・デザイン１０４ａと同様に、入力層と出力層の間に中間層（ニューロン）が配置されている。入力層には画像データが入力される。中間層としては、何層かのニューロンが配置されている。ニューロンの層の数は設計上適宜決められ、また各層におけるニューロンの数も設計上適宜決められる。中間層は、学習部３００によって生成された推論モデルに基づいて、重み付けがなされる。出力層には、入力層に入力された画像に応じて、画像評価情報が出力される。深層学習については、入出力モデル化部３０４を構成と一緒に説明する。
【００４７】
制御部２０１は、ＣＰＵ（Central Processing Unit：中央処理装置）等を含み、種々の周辺回路を含むＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）で構成されたプロセッサである。制御部２０１は、ＣＰＵとプログラムに従って、学習依頼部２００の全体を制御する。なお、仕様設定部２０４は、制御部２０１内のＣＰＵとプログラムによって実現してもよく、また通信部Ｂ２０３等を制御する通信制御部等、各種の機能を有してもよい。
【００４８】
制御部２０１は、推論部における推論結果を判定して、第１の教師データを補正する補正情報を出力する補正部として機能する（図２の画像Ｐｃの生成、図４の補正、図６のＳ１３参照）。補正部は、推論結果に応じて、第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す（例えば、図２（ｂ）、図４参照）。制御部２０１は、第１推論モデルを用いて、撮像部によって取得した撮像データに対して推論を行い、推論結果が誤検出であった場合に、撮像データをテストデータの候補とする（例えば、図３の画像Ｐ２４、図６のＳ９参照）。また、制御部２０１は、補正情報に基づいて、第２教師データを作成し、この第２教師データに基づいて、推論モデルを生成する再学習を依頼する依頼部として機能する（例えば、図６のＳ１３、図８ＢのＳ６９、図１０のＳ１０９）。
【００４９】
制御部２０１は、第１教師データに基づいて生成された第１推論モデルによって推論を行った際の誤検出データに基づいて、第２教師データを作成する教師データ作成部として機能する（例えば、図６のＳ７、Ｓ９参照）。教師データ作成部は、誤検出した際の画像に基づいて、第１の教師データに含まれる画像データを増加させ、または減少させ、または画像データに対して画像処理を施す（例えば、図２、図４、図７参照）。制御部２０１は、補正情報を送信部から学習装置に送信して再学習を依頼する再学習依頼部として機能する（例えば、図６のＳ１５、図１０のＳ１０９参照）。また、制御部２０１は、推論部における推論結果を判定して、第１の画像、第２の画像とは異なる第３の画像を送信部から学習装置に送信して再学習を依頼して第１の推論モデルとは異なる第２の推論モデルを取得する再学習依頼部として機能する。例えば、図２において、第１の画像は第１教師データ４０１が相当し、第２の画像はテストデータ（２０２ｃ）が相当し、第３の画像は強調データＰｃが相当する。
【００５０】
次に、学習部３００について説明する。学習部３００は、例えば、インターネットを介して、学習依頼部２００やカメラ１００等に接続可能なサーバであり、カメラ１００、学習依頼部２００等、外部から依頼を受けて、推論モデルを生成する。学習部３００は、制御部３０１、母集合作成部３０２、基準教師データ記録部３０３、入出力モデル化部３０４、通信部Ａ３０５ａ、および通信部Ｂ３０５ｂを有する。この学習部３００は、カメラ１００または学習依頼部２００から依頼された仕様に従って、教師データを用いて推論モデルを生成する。この生成した推論モデルは、通信部Ａ３０５ａ、通信部Ｂ３０５ｂを介して外部の機器（学習依頼部２００、カメラ１００）に送信される。
【００５１】
基準教師データ記録部３０３は、電気的に書き換え可能な不揮発性メモリであり、学習依頼部２００から送信されてきた基準教師データ２０２ｂを記録する。また、カメラ１００によって教師データが作成された場合には、この教師データを記録する（図８ＢのＳ６９参照）。後述するように、カメラ１００または学習依頼部２００から推論モデルの生成を依頼されている場合には、母集合作成部３０２は教師データ（学習用データ）を生成する際に、基準教師データを含めて教師データを作成し、または教師データを参考にして教師データを作成する。
【００５２】
母集合作成部３０２は、深層学習を行う際の母集合（教師データ、学習用データ）を作成する。母集合作成部３０２は、制御部３０１内のプロセッサによって、ハードウエア的にデータベースから母集合となる教師データを作成してもよく、また制御部３０１内のプロセッサによって、ソフトウエア的にデータベースから母集合となる教師データを作成してもよい。母集合作成部３０２は、学習部３００内に深層学習に使用できる画像データや、また他のサーバ等に蓄積された画像データ等を用いて、深層学習用の教師データを作成する。前述したように、カメラ１００または学習依頼部２００から推論モデルの生成を依頼されている場合には、基準教師データ記録部３０３に記録されている基準教師データを含めて、または基準教師データを参考にして深層学習用の母集合（教師データ）を作成する。教師データは、入出力設定３０２ａの情報が付与されている。すなわち、教師データは、深層学習の際に入力するデータと、出力結果（正解）が予め設定されている。
【００５３】
入出力モデル化部３０４は、機械学習用プロセッサを有し、所謂人工知能（ＡＩ）を用いて深層学習を行い、推論モデルを生成する。具体的には、入出力モデル化部３０４は、母集合作成部３０２によって作成された画像データの母集合を用い、推論モデルを深層学習によって生成する。深層学習（ディープラーニング）は、入出力の関係を学習可能な関数近似器である。
【００５４】
入出力モデル化部３０４は、推論エンジン１０４のネットワーク・デザイン１０４ａと同様の構成を有している。入力層に母集合作成部３０２に作成された画像データを入力する。また、出力層に、画像の評価結果、例えば、教師データ（正解）を与える。入力と出力が一致するように、ネットワーク・デザイン内の各ニューロンの結合の強さ（重み付け）を算出することによって推論モデルを生成する。なお、本実施形態においては、入出力モデル化部３０４は、深層学習によって推論モデルを生成するが、深層学習に限られず、機械学習であればよい。また、推論モデル化部３０３は、ネットワーク・デザイン等のハードウエア回路でなくても、制御部３０１内のプロセッサによって、ソフトウエア的に推論モデルを生成するようにしてもよい。
【００５５】
また、入出力モデル化部３０４は、信頼性判定部３０４ａを有する。信頼性判定部３０４ａは、入出力モデル化部３０４によって生成された推論モデルの信頼性を判定する。信頼性の判定は、例えば、ＬＯＳＳ値等を算出し行う。ＬＯＳＳ値は、予め正解（例えば、挿入時ＯＫまたはＮＧ）が分かっている練習問題で深層学習を行った場合に、深層学習で生成された推論モデルでの推論結果と、予め分かっている正解との差異である。
【００５６】
ここで、深層学習について、説明する。「深層学習（ディープ・ラーニング）」は、ニューラル・ネットワークを用いた「機械学習」の過程を多層構造化したものである。情報を前から後ろに送って判定を行う「順伝搬型ニューラル・ネットワーク」が代表的なものである。順伝搬型ニューラル・ネットワークは、最も単純なものでは、Ｎ１個のニューロンで構成される入力層、パラメータで与えられるＮ２個のニューロンで構成される中間層、判別するクラスの数に対応するＮ３個のニューロンで構成される出力層の３層があればよい。入力層と中間層、中間層と出力層の各ニューロンはそれぞれが結合加重で結ばれ、中間層と出力層はバイアス値が加えられることによって、論理ゲートを容易に形成できる。
【００５７】
ニューラル・ネットワークは、簡単な判別を行うのであれば３層でもよいが、中間層を多数にすることにより、機械学習の過程において複数の特徴量の組み合わせ方を学習することも可能となる。近年では、９層〜１５２層のものが、学習にかかる時間や判定精度、消費エネルギーの観点から実用的になっている。また、画像の特徴量を圧縮する、「畳み込み」と呼ばれる処理を行い、最小限の処理で動作し、パターン認識に強い「畳み込み型ニューラル・ネットワーク」を利用してもよい。また、より複雑な情報を扱え、順番や順序によって意味合いが変わる情報分析に対応して、情報を双方向に流れる「再帰型ニューラル・ネットワーク」（全結合リカレントニューラルネット）を利用してもよい。
【００５８】
これらの技術を実現するために、ＣＰＵやＦＰＧＡ（Field Programmable Gate Array）等の従来からある汎用的な演算処理回路を使用してもよい。しかし、これに限らず、ニューラル・ネットワークの処理の多くが行列の掛け算であることから、行列計算に特化したＧＰＵ（Graphic Processing Unit）やTensor Processing Unit（TPU）と呼ばれるプロセッサを利用してもよい。近年ではこのような人工知能（ＡＩ）専用ハードの「ニューラル・ネットワーク・プロセッシング・ユニット（ＮＰＵ）」がＣＰＵ等その他の回路とともに集積して組み込み可能に設計され、処理回路の一部になっている場合もある。
【００５９】
その他、機械学習の方法としては、例えば、サポートベクトルマシン、サポートベクトル回帰という手法もある。ここでの学習は、識別器の重み、フィルター係数、オフセットを算出するものあり、これ以外にも、ロジスティック回帰処理を利用する手法もある。機械に何かを判定させる場合、人間が機械に判定の仕方を教える必要がある。本実施形態においては、画像の判定を、機械学習により導出する手法を採用したが、そのほか、人間が経験則・ヒューリスティクスによって獲得したルールを適応するルールベースの手法を用いてもよい。
【００６０】
通信部Ａ３０５ａと通信部Ｂ３０５ｂは、共に送信および受信を行うための通信回路を有する。通信部Ａ３０５ａは、カメラ１００内の通信部１０７と通信を行うことができる。通信部Ｂ３０５ｂは、学習依頼部２００内の通信部Ｂ２０３と通信を行うことができる。
【００６１】
制御部３０１は、ＣＰＵ（Central Processing Unit：中央処理装置）等を含み、種々の周辺回路を含むＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）で構成されたプロセッサである。制御部３０１は、ＣＰＵとプログラムに従って、学習部３００の全体を制御する。なお、母集合作成部３０２および入出力モデル化部３０４は、制御部３０１内のＣＰＵとプログラムによって実現してもよく、また通信部Ａ３０５ａ、通信部Ｂ３０５ｂ等を制御する通信制御部等、各種の機能を有してもよい。
【００６２】
次に、図２を用いて、本実施形態における深層学習において使用する学習用データ（教師データ）について説明する。図２（ａ）は、第１教師データを用いて、ネットワーク・デザインにおいて推論モデルを生成する過程を示す。この推論モデルの生成は、図１Ａに示す学習部３００において行われる。推論モデルは、母集合作成部３０２において作成された第１教師データ４０１を用いて、生成する。第１教師データ４０１は、画像Ｐ１１〜Ｐ１４と、この画像に猫の目の位置を示す情報（図では丸印Ｍ１１〜Ｍ１４で示す）からなる。なお、実際には、多数の画像を使用するが、図２においては、例示的に４つの画像を示す。
【００６３】
学習部３００は、第１教師データ４０１を深層学習用の学習用データとして使用し、入出力モデル化部３０４によって推論モデルを生成する。入出力モデル化部３０４内のネットワーク・デザイン３０４ｄの入力部３０４ｂには、第１教師データ４０１の内の画像データＰ１１〜Ｐ１４（猫の目の位置を示すＭ１１〜Ｍ１４は削除されている画像データ）が入力される。また、出力部３０４ｃには、猫の目の位置を示す情報（Ｍ１１〜Ｍ１４）が与えられる。ネットワーク・デザイン３０４ｄは、第１教師データ４０１の内の画像データＰ１１〜Ｐ１４を入力した際に、猫の目の位置を示す情報（Ｍ１１〜Ｍ１４）を出力するように、ネットワーク・デザイン３０４ｄ内の各ニューロンの結合の強さ（重み付け）を算出することによって第１推論モデル４０５を生成する。
【００６４】
入出力モデル化部３０４において、第１推論モデル４０５が生成されると、図２（ｂ）に示す学習依頼部２００内の推論エンジン２０５に送信される。推論エンジン２０５は、この受信した第１推論モデル４０５をネットワーク・デザインに設定すると共に、推論エンジン２０５にテストデータ２０２ｃを入力する。受信した推論モデルは、猫の目の位置を推論できるが、図２（ｂ）に示す例では、猫の目の位置を示す情報Ｍｔは、猫の胴の位置を示しており、推論に失敗（ＮＧ）している。これは、テストデータ２０２ｃの画像が暗いためである。すなわち、第１教師データ４０１には、猫の暗い画像がなく、このような画像を用いて深層学習がなされなかった為である。
【００６５】
そこで、学習依頼装置２００内の制御部２０１は、図２（ｃ）に示すように、第１教師データの猫の画像を補正することにより、暗い状態における猫の画像（強調データ）Ｐｃを作成する。学習依頼装置２００は、補正した猫の画像データＰｃを学習装置３００に送信し、学習装置３００は受信した画像データＰｃを基準教師データ記録部３０３に記録する。学習部３００内の入出力モデル化部３０４は、第１教師データに加えて画像Ｐｃを加えた第２教師データを用いて推論し、第２推論モデル４０６を生成する。この第２推論モデルは、ネットワーク・デザイン３０３ａを微修正したものであり、暗い猫の画像であっても、目の位置を推論することができる。この第２教師データを用いて、学習部３００に推論モデルを生成するように、再学習を依頼する（例えば、図８ＢのＳ６９、図１０のＳ１０９参照）。
【００６６】
なお、図２（ｂ）の説明にあたっては、学習依頼部２００において、テストデータによる推論モデルのチェックを行い、第２教師データを作成していた。しかし、カメラ１００においても、同様に、テストデータによる推論モデルのチェックを行い、第２教師データを作成するようにしてもよい。また、第１教師データの画像を、通常の画像処理によって補正する以外にも、ＧＡＮ（Generative Adversarial network）によって、第１教師データの画像と類似の画像を作成するようにしてもよい。ＧＡＮによる画像の生成については、図１１を用いて後述する。
【００６７】
次に、図３を用いて、テストデータ候補の取得の一例について説明する。図３に示す方法においては、テストデータ２０２ｃは、推論エンジン１０４を搭載したカメラ１００で撮影した際に、期待した推論結果を得られなかった画像をテストデータ候補とする（例えば、図６のＳ５、Ｓ７、Ｓ９参照）。
【００６８】
図３（ａ）は、ユーザ４１１がカメラ１００を用いて、撮影対象４１３（この場合は、猫）を撮影している様子を示す。図３（ｂ）は、ユーザ４１１がカメラ１００を用いて撮影した画像Ｐ２１〜Ｐ２６を時系列に沿って示す。カメラ１００の推論エンジン１０４には、猫の目の位置を推論することのできる推論モデル（図２の例では、第１推論モデル４０５）が設定されている。画像Ｐ２１〜Ｐ２６の右下隅に表示された「発動」は、推論エンジンによる推論がなされていることを示す。また、画像Ｐ２１〜Ｐ２６の右上隅に表示されている「検出」または「検出できず」は、推論によって「猫の目」を検出することができた、または検出することができなかったことを示す。また、猫の目の位置に重畳して描かれた丸印は、推論エンジン１０４によって推定された目の位置を示す。
【００６９】
画像Ｐ２１は、ユーザ４１１が最初に撮影した撮影対象（猫）４１３を撮影した画像である。この画像Ｐ２１では、推論エンジン１０４は目を検出することができない。画像Ｐ２１の次に撮影した画像Ｐ２２では、猫がカメラ１００の方向を向いたことから、目の位置を検出できている。この場合には、目の位置を丸印で表示し、「検出」できたことを表示する。
【００７０】
画像Ｐ２２の次に撮影した画像Ｐ２３では、猫が横向きになったが目は見える位置にある。しかし、推論エンジン１０４による推論では、目の位置を検出できない。さらに、次に撮影された画像Ｐ２４でも、目は見える位置にあるが、推論エンジン１０４による推論では目の位置を検出できない。しかし、画像Ｐ２４の次に撮影された画像Ｐ２５では、猫が正面向きになり、推論エンジン１０４は目の位置を検出できている。このように、画像Ｐ２３、画像Ｐ２４と、目の位置を推論できない場合、画像Ｐ２３では、たまたま推論によって検出できなかったこともあり得るが、続けて、検出できていない。そこで、目の位置を検出できた画像Ｐ２５の直前に撮影された画像Ｐ２４を、テストデータ候補として、記録部１０５に記録する。最後の画像Ｐ２６は、猫の目が画像内になく、目の位置を推論できていない。
【００７１】
このように、ユーザは、第１教師データ４０１によって生成した第１推論モデル４０５と同様の結果が期待される撮影シーンを撮影する。そして、第１推論モデルによる推論結果と異なる検出結果になった画像（図３（ｂ）に示す例では、画像Ｐ２４）を、テストデータ候補として記録しておく。学習依頼部２００は、この画像をテストデータとして、第１推論データをチェックすることができる（後述する図６のＳ７、Ｓ９参照）。また、カメラ１００によって撮影された画像データ（ログデータ）から、第１推論モデルを改善するための教師データ（学習データ）を増加させることもできる。
【００７２】
次に、図４を用いて、第１教師データから第２教師データを生成する方法の一例について説明する。図４の左上に描かれている学習部３００は、仕様に従って、第１教師データ４０１を用いて第１推論モデルを生成する。仕様は、学習依頼部２００の仕様設定部２０４によって設定された推論モデルの作成のための推論目的や条件等を示す。管理情報は、第１推論モデルを生成する際の情報であり、例えば、第１推論モデルの作成者（団体、企業等）、バージョン情報、作成日、作成の際の教師データの出所等、種々の情報からなる。また、管理情報によって、取り扱いに注意を要する画像が使われたり拡散したりしないような管理を行ってもよい。さらに、管理情報は、特定の画像の削除の要請などにも対応できるようにし、個人情報などの取り扱いなどを一括して管理してもよい。
【００７３】
学習部３００によって第１推論モデルが生成されると、第１推論モデルは学習依頼部２００に送信され、推論エンジン２０５に設定される。この推論エンジン２０５には、管理情報として、ネットワーク構造、ウェイト、教師データ情報が記憶される。推論エンジン２０５の入力部には、テストデータ２０２ｃが入力される。テストデータは、図３に示したような方法で集められたテストデータ候補の中から、取捨選択してもよく、その他の方法で集めてもよい。テストデータ２０２ｃは、複数あり、テストデータ候補に対してアノテーションを行って、推論を行った際の正解が、予めテストデータ２０２ｃに関連付けて記録されている。図４において、「ＯＫ」と記載されているのは、テストデータ２０２ｃに記録されている正解と、推論の結果が、一致した場合であり、ＮＧは推論結果と正解が一致しない場合である。
【００７４】
学習依頼部２００において、テストデータ２０２ｃを用いて、第１推論モデルの推論結果を判定すると、次に、学習依頼部２００の制御部２０１は、正誤判定傾向を行う。ここでは、どのような場合に、第１推論モデルは推論を誤り、どのような場合に推論が正しいかを判定する。例えば、図２、図３に示したような例では、暗い環境で撮影された画像に対して誤り多いとか、また撮影対象が横向きの場合に誤りが多いといえる。また、明るい環境で撮影された画像に対して正しく推論されるとか、また撮影対象が正面向きの場合に正しく推論される。
【００７５】
正誤傾向判定がなされると、次に、画像取捨選択および画像処理等の補正がなされる。正誤傾向判定で、誤ると推論される傾向の画像は、そのような画像を増加させ、この増加させた画像を教師データに加えるとよい。一方、正誤傾向判定で、正しいと推論される傾向の画像は、そのような画像を減少させても推論できる可能性があることから、教師データから間引きを行う。また、図２に示したような補正画像Ｐｃを、教師画像から画像処理によって生成してもよい。第１教師データに対して、上述したような補正処理を行って、第２教師データ４０２を生成する。これらの正誤傾向判定および補正処理は、学習依頼部２００で行って、第２教師データを生成する。
【００７６】
つまり、学習依頼部２００は、第１の教師データ（画像にアノテーション情報を入れたもので、アノテーションは学習依頼部２００で行う場合と学習部３００で行われる場合の両方を想定）によって学習された第１の推論モデルを受信部によって学習装置から受信する。この学習結果を検証すべく、学習依頼部２００は、第１の画像群には含まれない第２の画像に対して推論を行う推論部を有している。この結果、第１の教師データだけでは定義しきれなかった推論モデルの仕様や性能が確認可能となる。この性能判定用推論部における推論結果を判定して、第１の教師データを補正したり、第１の画像や第２の画像とは異なる第３の画像を送信部から学習装置に送信して再学習を依頼する。この処理によって、最初に想定した教師データだけでは最適化しきれなかった推論モデルの仕様や性能を満たした第１の推論モデルとは異なる第２の推論モデルを取得することが出来る。つまり、一般的な教師データによる一般的な推論モデルを基準として、さらにユーザが求める再学習が可能な再学習依頼部とを有する学習依頼装置とすることで、カスタマイズやチューニングが容易に可能となる。この第１の教師データの一部を補正したものや、第３の画像を含む教師データを第２の教師データとする。
【００７７】
しかし、これに限らず、カメラ１００において、第２教師データを生成するようにしてもよい。また、教師画像をＧＡＮ（Generative Adversarial network）によって増加させてもよい。ＧＡＮによる画像の作成方法については、図１１を用いて後述する。
【００７８】
次に、図５を用いて、教師データとテストデータについて説明する。前述したように、教師データは推論モデルを生成する際に使用する学習用のデータである。また、テストデータは、推論モデルが生成された後、この推論モデルの性能（信頼性）を検証するためのデータである。図１Ａに示すように、画像分類記録部２０２には、対象物をＡ画像群のように、分類分けして記録している。この分類は、例えば、猫の画像、犬の画像、鳥の画像、バラの画像、菊の画像、等々、撮影対象を適宜、区分している。学習部３００の入出力モデル化部３０４によって推論モデルを生成する際には、この分類（カテゴリー）を利用して、教師データを作成する。学習依頼部２００の推論エンジン２０５は、入出力モデル化部３０４によって生成された推論モデルをテストことから、教師データとテストデータは、分類（カテゴリー）でそれぞれ関連付けておくことが望ましい。すなわち、図５に示すように、カテゴリーＡの教師データとテストデータは関連付けられ、カテゴリーＢの教師データとテストデータは関連付けられ、カテゴリーＣの教師データとテストデータは関連付けれられている。
【００７９】
様々なシーンに対応するには教師データは多い方が良いが、推論モデル作成を行う時、十分なデータが集まらないことがある。例えば、推論モデルの学習依頼者が、データ収集の依頼をする際、手持ちの画像だけでは足りないので、手持ち以外の画像を使って学習を行う場合がある。しかも、自分の著作権や肖像権などに敏感なユーザは、手持ち画像を使っての学習を第三者に依頼したくない場合もある。そこで、手持ち以外で流通あるいは蓄積された画像群を使って、自らのこだわりのニーズをかなえる学習を依頼するケースが多くなる。しかし、最終的には、ユーザ自らが想定した特定のシーンにおいて、手持ち画像（撮影した画像や、撮影しようとした画像など）の出来栄えを調べて、出来栄えを判断することになる。判断結果が不満であっても、守秘性や肖像権、著作権、データの希少性や改ざんなどの危険や個人情報の保護を含めたセキュリティ、あるいはノウハウ保護の観点から、手持ち画像は出さずに再度の学習、あるいはチューニングを依頼する可能性が高い。個人でなくとも、企業であっても同様の傾向の依頼形態となる。また、依頼を受ける側も、個人情報や守秘義務の問題がある画像は利用をためらう傾向がある。したがって、手元にある画像以外でも、簡単に、想定した特定のシーンにより特化した推論モデルを得るために、カスタマイズ、チューニングが容易に可能となるシステムが求められる。
【００８０】
次に、図６および図７に示すフローチャートを用いて、図１Ａおよび図１Ｂに示す学習依頼システムの全体的な動作について説明する。このフローは、制御部１０１、制御部２０１、制御部３０１が協働してシステム全体を制御することにより、実現する。しかし、これに限らず、単一の機器で行ってもよく、またいずれか２つの機器で行ってもよく、更に他の機器（第４の機器）と協働して実現してもよい。多くの場合、第１学習、第２学習、また推論エンジンを使用する者や装置は異なる。
【００８１】
図６に示す学習依頼システムのフローが開始すると、まず、第１教師データを作成する（Ｓ１）。このステップでは、学習部３００の母集合作成部３０２が、第１教師データを作成する。この第１教師データを作成するにあたって、学習依頼部２００の仕様設定部２０４から、学習依頼部２００に生成を依頼する推論モデルの仕様について送信される。また、学習依頼部２００内に記録されている基準教師データ２０２ｂも併せて送信されている場合には、学習部３００内の基準教師データ記録部３０３に記録される。母集合作成部３０２は、学習依頼部２００からの依頼（仕様）に基づく推論モデルのための母集合（第１教師データ）を作成する。このとき、基準教師データ２０２ｂを含めてもよく、また基準教師データ２０２ｂを参考に、類似のデータを集めて、第１教師データを作成してもよい。第１教師データは、深層学習に使用することから、入力部に入力される画像データ、および推論結果の正解が含まれている。すなわち、第１教師データには、画像にアノテーションによって推論の正解情報が関連付けられている。この第１教師データは、図２（ａ）および図４に示す第１教師データ４０１に相当する。
【００８２】
第１教師データが作成されると、次に、第１教師データを用いて第１学習が実行される（Ｓ３）。このステップでは、学習装置３００の入出力モデル化部３０４が、ステップＳ１において作成された第１教師データを用いて、深層学習を行い、第１推論モデルを生成する。図２（ａ）および図４に示す例では、ネットワーク・デザイン３０２ｄが、第１教師データを用いて深層学習を行って、第１推論モデル４０５を出力することに相当する。
【００８３】
第１教師データを用いて第１学習を行うと、次に、第１学習結果の推論エンジンで推論を行い、信頼性を実測し（Ｓ５）、判定の結果が失敗か否かを判定する（Ｓ７）。前述しように、学習装置３００内の入出力モデル化部３０４によって第１推論モデルが生成されると、この第１推論モデルはカメラ１００に送信される。カメラ１００内の推論エンジン１０４は、第１推論モデルを設定し、推論を行う。この推論の際に、推論エンジン１０４の入力部には、撮像部１０３によって取得した画像データを与える。この推論の結果が、カメラ１００の表示部１０６に表示され（図３（ｂ）参照）、ユーザは推論結果が正しいか否かを判定し、推論結果が正しくない場合には、テストデータ候補とする（図３（ｂ）の画像Ｐ２４参照）。ステップＳ７における判定の結果、失敗でなければ、ステップＳ５に戻り、次のテストデータを使って、推論および信頼性判定を行う。また、学習依頼部２００の推論エンジン２０５にサンプルテストデータが記憶されている場合には、学習依頼部２００において、第１学習結果の推論エンジンで推論し、信頼性を実測するようにしてもよい。
【００８４】
ステップＳ７における判定の結果、失敗であれば、テストデータを候補化する（Ｓ９）。すなわち、第１教師データを用いた生成した第１推論モデルでは、推論に失敗している。そこで、カメラ１００の制御部１０１または学習依頼部２００の制御部２０１が、第１推論モデルを修正した第２推論モデルを生成するために、この失敗した画像データをテストデータ候補とする。
【００８５】
次に、テストデータ候補のデータの数が、所定数に達したか否かを判定する（Ｓ１１）。候補とされたテストデータの数が少ない場合には、再学習の必要性が低く、また第２教師データを作成できない。そこで、カメラ１００の制御部１０１または学習依頼部２００の制御部２０１が、再学習が必要なほど、第２教師データが多く、また第２教師データを作成するに十分なテストデータ候補が集まったかを判定する。この判定の結果、候補の数が所定数に達していない場合には、ステップＳ５に戻り、次のデータを用いて第１学習を行う。
【００８６】
ステップＳ１１における判定の結果、テストデータの候補が所定数に達すると、次に、教師データを再作成する（Ｓ１３）。教師データの再作成は、カメラ１００または学習依頼部２００の制御部２０１が、ステップＳ９において候補としたテストデータを用いて、第２教師データを作成する。学習依頼部２００が教師データの再作成を行う場合には、カメラ１００は、テストデータの候補を学習依頼部２００に送信する。この第２教師データは、図２（ｂ）における第２教師データ４０２、または図４の第２教師データ４０２に相当とする。教師データは、単に画像データだけではなく、推論を行った際の正解に関する情報が画像データに関連付けられていなければならない。この関連付けの作業をアノテーションと呼ぶ。この教師データ再作成の詳しい動作は、図７を用いて後述する。
【００８７】
教師データを再作成すると、次に、第２教師データで第２学習を行う（Ｓ１５）。カメラ１００または学習依頼部２００が、教師データを第２教師データとして再作成すると、この第２教師データは、学習部３００に送信される。入出力モデル化部３０４は、この入力した第２教師データを用いて、第２学習（深層学習）を行い、第２推論モデルを生成する。なお、母集合作成部３０２は、第２教師データを用いて、第２学習用の母集合を作成し、入出力モデル化部３０４は、この母集合を用いて、第２学習を行ってもよい。
【００８８】
学習部３００が、第２推論モデルを生成すると、第２学習結果の推論エンジンで推論を行う（Ｓ１７）。ここでは、学習部３００が、第２推論モデルをカメラ１００に送信する。カメラ１００は、受信した第２推論モデルを推論エンジン１０４に設定し、撮像部１０３によって取得した画像に対して推論を行う。推論を行うと、このフローを終了する。
【００８９】
このように、学習依頼システムの動作では、まず、第１教師データを作成し、この第１教師データを用いて、深層学習を行うことにより、第１推論モデルを生成している（Ｓ１、Ｓ３）。そして、この第１推論モデルを用いて、画像を推論し、推論が失敗した場合の画像をテストデータ候補としている（Ｓ５〜Ｓ１１）。テストデータ候補が所定数に達すると、このデータを用いて教師データを再作成し、この再作成した教師データを用いて、第２推論モデルを生成している（Ｓ１３、Ｓ１５）。このように、再作成した教師データを用いて、再学習するようにしているので、信頼性の高い推論を行うことができる。
【００９０】
また、本実施形態における学習依頼システムのフローチャートは、第１リクエストに基づいて生成される正誤判断用の学習モデルを取得するステップ（Ｓ１、Ｓ３参照）を有している。すなわち、本フローチャートでは、カメラ１００または学習依頼部２００は、学習部３００に第１教師データ（第１リクエスト情報の一部である）を生成し、この第１教師データを用いて、推論モデル（学習モデル）を生成する。また、学習依頼システムのフローチャートは、学習モデルに特定のテストサンプルを入力して正誤判断を行うステップ（Ｓ５、Ｓ７参照）を有している。すなわち、本フローチャートでは、学習部３００から入力した学習モデル（推論モデル）は、正誤判断に使用される（例えば、図２（ｂ）におけるＮＧ判断、図４における推論エンジン２０５のＯＫ、ＮＧ判断、図６のＳ５、Ｓ７参照）。また、学習依頼システムのフローチャートは、正誤判断結果に従って、第２のリクエストを作成する第２リクエスト発生ステップを有する（Ｓ９、Ｓ１１、Ｓ１３参照）。すなわち、本フローチャートでは、正誤判断の結果に従って、第２教師データ（第２リクエスト情報の一部である）を作成し、学習部３００に再学習を依頼している（例えば、図２（ｃ）、図４の画像取捨選択、画像処理等、Ｓ９、Ｓ１１、Ｓ１３参照）。この第２のリクエストは、テストサンプル以外の情報を作成する。すなわち、本フローチャートでは、正誤判断はテストサンプルを用いて行い、第２リクエストはテストサンプル以外の情報（例えば、第２教師データ）を作成する。  
【００９１】
なお、第２推論モデルは、学習依頼部２００を介して、カメラ１００に送信してもよく、また学習部３００から直接カメラ１００に送信してもよい。また、第１推論モデルをカメラ１００に送信し、カメラ１００において、ステップＳ５〜Ｓ９における失敗データを蓄積し、学習依頼部２００が、この失敗データを用いて、第２教師データを作成するようにしてもよい。
【００９２】
次に、図７に示すフローチャートを用いて、ステップ１３の教師データ再作成の動作について説明する。この処理は、学習依頼部２００内の制御部２０１が実行する。なお、前述したように、カメラ１００内の制御部１０１が、カメラ１００内で取得した画像を用いて、実行してもよい。
【００９３】
教師データ再作成のフローが開始すると、まず、第１教師データとテストデータ候補を取得する（Ｓ２１）。ここでは、制御部２０１は、学習部３００が第１推論モデルを生成した際に、使用した学習用のデータ、すなわち第１教師データと、ステップＳ９において記録したテストデータ候補を取得する。
【００９４】
次に、第１教師データによるテストデータ候補の類似画像の寄与度を増加させる（Ｓ２３）。ここでは、図２（ｂ）を用いて説明したように、推論を失敗した場合には、推論を失敗した画像と類似の画像を増加させる。例えば、図２（ｂ）に示すように、暗いために推論を失敗した場合には、第１教師データの画像Ｐ１２の明暗を調整し、暗い画像に変換して作成してもよい。すなわち、失敗の原因に応じた画像処理を施して作成してもよい。また、後述するＧＡＮを用いて、推論を失敗した画像と類似の画像を生成するようにしてもよい。
【００９５】
次に、第１教師データにおけるテストデータ候補の類似が低い画像の寄与度を減少させる（Ｓ２５）。ここでは、制御部２０１は、推論を失敗したテストデータの候補と、類似していない画像を減少させる。すなわち、このような画像は、推論を成功している可能性が高く、このような画像を減少させても、第２学習において生成される第２推論モデルの信頼性は低くならない。そこで、テストデータ候補と類似していない画像の寄与度を減少させている。この処理は、図４における教師データ４０２における画像を減らすことに相当する。
【００９６】
続いて、ネガティブサンプルの追加を行い、テストデータ候補の類似画像の教師データにする（Ｓ２７）。ネガティブサンプルは、推論を失敗するような画像である。このような画像も、推論モデルの信頼性を向上させるために、教師データに追加する。次に、ステップＳ２３〜Ｓ２７におけるテストデータ候補の類似画像を教師データ化する。教師データは、単に画像データだけではなく、画像データに対して正解がアノテーションされている。例えば、猫の目の位置を推論する場合には、猫の目の位置を指定する情報が画像データに関連付けられている。このような、推論の正解を示すような情報を画像データに関連付ける。この作業をアノテーションと呼ぶ。テストデータ候補の類似画像を、教師データ化すると、このフローを終了し、元のフローに戻る。
【００９７】
次に、図８Ａないし図１１を用いて、学習依頼システムの個々の装置の動作について説明する。まず、図８Ａおよび図８Ｂに示すフローチャートを用いて、カメラ１００における動作について説明する。この動作は、カメラ１００内の制御部１０１がメモリに記憶されたプログラムに従って実行する。
【００９８】
図８Ａに示すカメラ制御のフローが開始すると、まず、撮影モードか否かを判定する（Ｓ３１）。カメラ１００には、再生モード、撮影モード、推論モデル取得モード等の種々のモードが設定可能である。このステップでは、制御部１０１内の設定制御部１０１ｂが、撮影モードが設定されているか否かを判定する。
【００９９】
ステップＳ３１における判定の結果、撮影モードが設定されていた場合には、画像を入力する（Ｓ３３）。このステップでは、撮像部１０３によって被写体像を光電変換し、画像データを取得する。この画像データは、ライブビュー画像の生成に使用される。
【０１００】
続いて、推論エンジンを起動するか否かを判定する（Ｓ３５）。推論エンジンの起動は、例えば、ユーザが操作部１０２を手動操作することにより、起動してもよい。また、所定の条件に一致した場合には、推論エンジンを自動で起動させるようにしてもよい。例えば、画像が所定以上の明るさになった場合とか、画像を解析し、設定されている推論モデルが得意とするカテゴリーに属する被写体であることが判明した場合等がある。
【０１０１】
ステップＳ３５における判定の結果、推論エンジンが起動した場合には、推論を行う（Ｓ３７）。この場合には、推論エンジン１０４の入力部に、撮像部１０３によって取得した画像を入力する。推論エンジン１０４の入力画像に対して、所定の推論を行う。この場合、図３（ｂ）の画像Ｐ２１〜Ｐ２６に示すように、「発動」の文字等によって、推論がなされていることを表示してもよい
【０１０２】
推論を行うと、次に、信頼性が所定値より高いか否かを判定する（Ｓ３９）。推論エンジン１０４は、一般に、現在行っている推論結果の信頼性（前述のＬＯＳＳ値）を算出することができる。そこで、このステップでは、ステップＳ３７において行った推論の信頼性（ＬＯＳＳ値）が、所定値より高いか否かを判定する。
【０１０３】
ステップＳ３９における判定の結果、信頼性が高くない場合には、検出すべきシーンか否かを判定する（Ｓ４５）。信頼性が低いのは、推論モデルが、元々そのシーンを検出することを想定していない場合がある。設定されている推論モデルの得意とするシーンでない（専門外のシーン）場合には、信頼性は低いことが予想される。このステップでは、ユーザが目視で検出すべきシーンか否かを判定してもよく、また画像解析により判別できれば、その結果を利用してもよい。図３（ｂ）における画像Ｐ２４は、本来検出すべきシーンであるにもかかわらず、検出できていない例である。
【０１０４】
ステップＳ４５における判定の結果、検出すべきシーンだった場合には、この画像を記録し、テストデータの候補とする（Ｓ４７）。この場合は、検出すべきシーンだったにもかかわらず、信頼性が低かったケースである。このような場合には、その画像を第２教師データとして、再学習させた方がよい場合かもしれない。そこで、この画像データを、テストデータ候補として記録しておく。例えば、図３（ｂ）に示す画像Ｐ２４は、推論で猫の目の位置を検出できなかったことから、テストデータ候補とされる。
【０１０５】
ステップＳ４７において、テストデータ候補として記録すると、またはステップＳ４５における判定の結果、検出すべきシーンでなかった場合には、またはステップＳ３５における判定の結果、推論エンジンが起動しない場合には、画面内が平均的に撮影されるように各種パラメータを制御する（Ｓ４９）。ここでは、画像に対する推論を行うことなく、一般的な露出制御を行う。
【０１０６】
ステップＳ３９に戻り、この判定の結果、信頼性が高い場合には、検出結果を表示する（Ｓ４１）。ここでは、ステップＳ３７における推論結果を、ライブビュー画像と共に表示部１０６に表示する。例えば、図３（ｂ）の画像Ｐ２２、Ｐ２５に示すように、推論によって得られた猫の目の位置を丸印で表示する。
【０１０７】
検出結果を表示すると、次に、検出結果に基づいて適切に撮影されるように、各種パラメータを制御する（Ｓ４３）。ここでは、パラメータ制御部１０１ｅが、カメラ１００内の各種パラメータの制御を行う。例えば、図３（ｂ）に示す例では、猫の目の位置を推論によって検出している。猫の目の位置を検出すると、この位置にピントが合うようにフォーカスレンズの焦点調節を行い、また適正露出となるように絞りやシャッタ等の制御値を算出する。
【０１０８】
ステップＳ４３またはＳ４９においてパラメータを制御すると、次に、動画撮影または静止画撮影か否かを判定する（Ｓ５１）。ユーザは、表示部１０６を観察し、構図やシャッタチャンス等が、ユーザの意図する状態となった際に、操作部１０２のレリーズ釦または動画釦等を操作する。このステップでは、撮影指示の操作がなされたか否かを判定する。この判定の結果、撮影指示がなされていない場合には、ステップＳ３１に戻る。
【０１０９】
一方、ステップＳ５１における判定の結果、撮影指示がなされた場合には、撮影を行い、画像データを記録する（Ｓ５３）。このステップでは、ステップＳ４３またはＳ４９において設定されたパラメータに従って、露出制御を行う。露出制御が終了し、シャッタが閉じると、撮像部１０３によって取得された画像データを、画像処理部１０１ｄによって静止画用または動画用の画像処理を施し、この画像処理された画像データを記録部１０５に記録する。
【０１１０】
画像データを記録すると、次に、検出すべきシーンで未検出のものがあったか否かを判定する（Ｓ５５）。ライブビュー画像の表示中に検出すべきシーンであるにもかかわらず、推論結果の信頼性が低い場合には、テストデータ候補として記録している（Ｓ４７参照）。このステップでは、ステップＳ５３における撮影の際に、検出すべきシーンであるにもかかわらず、推論によって検出されなかったか否かを判定する。この判定結果が、Ｎｏである場合には、ステップＳ３１に戻る。
【０１１１】
ステップＳ５５における判定の結果、検出すべきシーンであったにもかかわらず、推論によって検出されなかった場合には、テストデータ候補にする（Ｓ５７）。ここでは、ステップＳ４７と同様、ステップＳ５３において撮影された画像データをテストデータとして記録する。この処理を行うと、ステップＳ３１に戻る。
【０１１２】
ステップＳ３１に戻り、このステップにおける判定の結果、撮影モードでない場合には、次に、推論モデルを取得するか否かを判定する（Ｓ６１）。このカメラ１００の操作部１０２を操作することにより、推論エンジン１０４に設定する推論モデルを取得するモードを設定することができる。
【０１１３】
ステップＳ６１における判定の結果、推論モデルを取得するのでなければ、再生モード等を実行する（Ｓ７１）。再生モードが設定されると、記録部１０５に記録されている画像データ１０５ａを読み出し、表示部１０６に表示する。再生モード以外にも、適宜、設定可能なモードがあれば、これらを実行することができる。再生モード等を実行すると、ステップＳ３１に戻る。
【０１１４】
一方、ステップＳ６１における判定の結果、推論モデルを取得する場合には、次に、自機で依頼するか否かを判定する（Ｓ６３）。推論モデルは、前述したように、学習部３００において生成する。このステップでは、学習部３００に、カメラ１００（自機）から直接依頼するか、または学習依頼部２００に仲介を依頼するか否かを判定する。ユーザは、操作部１０２によって、自機で依頼するか、仲介を依頼するかを、設定することができる。
【０１１５】
ステップＳ６３における判定の結果、自機で依頼しない場合には、仲介を依頼する（Ｓ７３）。この場合には、カメラ１００は、通信部１０７および学習依頼部２００内の通信部Ｂ２０３を介して、学習依頼部２００に、推論モデルの生成の仲介を依頼する。このとき、ステップＳ４７、Ｓ５７で記録したテストデータ候補も送信する。学習依頼部２００は、仲介を依頼されると、第２教師データを図７に示したフローと同様な処理を行い作成する（図１０のＳ１０１以下参照）。仲介を依頼すると、ステップＳ３１に戻る。
【０１１６】
ステップＳ６３における判定の結果、自機で依頼する場合には、テストデータ数を判定する（Ｓ６５）。前述したように、ステップＳ４７、Ｓ５７において、テストデータの候補を記録している。このステップでは、記録されているテストデータの候補をカウントする。
【０１１７】
続いて、再学習が必要であり、依頼するか否かを判定する（Ｓ６７）。テストデータ候補の数が所定数よりも多い場合には、現在使用している推論モデルが、撮影環境の変化や、撮影機材の変化等により、相応しくなくなっている。また、ユーザが、現在設定されている推論モデルとは全く別の推論モデルを取得したい場合がある。このステップでは、これらの条件に基づいて、再学習が必要か否かを判定する。
【０１１８】
ステップＳ６７における判定の結果、再学習が必要であり、再学習による推論モデルの取得を依頼する場合には、教師データを再作成し、再学習を依頼する（Ｓ６９）。ここでは、図７に示したフローチャートと同様に、テストデータ候補を考慮して、第２教師データを作成する。第２教師データが作成されると、通信部１０７を介して、学習部３００に第２教師データを送信し、再学習を依頼する。また、このとき、画像にアノテーションの情報の修正を行ってもよい。また、推論モデル生成の際の要求仕様を送信してもよい。
【０１１９】
一方、ステップＳ６７において、再学習が必要で依頼するのではない場合には、次に、取得か否かを判定する（Ｓ７５）。このステップでは、新規の推論モデルを取得するのか否かを判定する。この判定の結果、取得でない場合には、ステップＳ３１に戻る。
【０１２０】
ステップＳ７５における判定の結果、取得する場合には、新推論モデルの取得を行う（Ｓ７７）。この場合には、学習部３００に対して、新推論モデルの要求仕様を送信し、学習部３００において、新推論モデルを生成してもらう。学習部３００が新推論モデルを生成すると、カメラ１００に送信してくるので、この新推論モデルを推論エンジン１０４に設定する。新推論モデルを取得すると、ステップＳ３１に戻る。
【０１２１】
このように、カメラ制御のフローにおいては、推論エンジン１０４を用いて、撮像部１０３によって取得された画像に対して推論を行う（Ｓ３７）。この推論結果の信頼性が低い場合には、推論エンジン１０４が、検出すべきシーンであったか否かを判定し、検出すべきシーンの場合には、この時の画像データをテストデータ候補として記録するようにしている（Ｓ３９Ｎｏ、Ｓ４５Ｙｅｓ、Ｓ４７参照）。また、撮影を行った際にも、検出すべきシーンであったにもかかわらず、推論によって検出できなかった場合には、この時の画像データをテストデータ候補として記録するようにしている（Ｓ５５Ｙｅｓ、Ｓ５７）。テストデータ候補として記録された画像データは、再学習が必要な場合には、教師データとして再作成する際に使用される（Ｓ６７Ｙｅｓ、Ｓ６９参照）。このため、推論モデルが、撮影対象や撮影機材の変化により、最適でなくなった場合であっても、信頼性の高い推論モデルを生成することが可能となる。
【０１２２】
次に、図９に示すフローチャートを用いて、学習部３００の動作について説明する。このフローは、学習部３００内の制御部３０１がメモリに記憶されたプログラムに基づいて実現する。
【０１２３】
図９に示す学習装置のフローが開始すると、まず、学習依頼を受信したか否かを判定する（Ｓ８１）。このステップでは、制御部３０１は、カメラ１００または学習依頼部２００から、通信部を介して、深層学習による推論モデルの生成を依頼されたか否かを判定する。学習依頼を受信しない場合には、そのステップで待機状態となる。
【０１２４】
ステップＳ８１における判定の結果、学習依頼を受けると、次に、要求仕様を取得する（Ｓ８３）。深層学習による推論モデルの生成の依頼を受ける際には、送信元から推論モデルの要求仕様を送信してくる。このステップでは、送信元からの要求仕様を受信し、記録する。
【０１２５】
続いて、教師データを取得する（Ｓ８５）。学習の依頼元であるカメラ１００または学習依頼部２００は、教師データ（基準教師データの場合もある）を送信してくる場合がある。この場合には、母集合作成部３０２は、受信した教師データに基づいて、深層学習のための母集合（教師データ）を作成する。基準教師データがない場合には、母集合作成部３０２は要求仕様に基づいて、母集合（教師データ）を作成する。
【０１２６】
教師データを作成すると、次に、推論モデルを生成する（Ｓ８７）。ここでは、入出力モデル化部３０４は、ステップＳ８５において取得した教師データを用いて、推論モデルを生成する。
【０１２７】
推論モデルを生成すると、次に、推論モデルが要求仕様を満たすか否かを判定する（Ｓ８９）。ここでは、ステップＳ８７において生成した推論モデルが、ステップＳ８３において取得した要求仕様を満たしているか否かを判定する。
【０１２８】
ステップＳ８９における判定の結果、要求仕様を満たしていない場合には、教師データを再設定する（Ｓ９１）。推論モデルが、依頼元の要求を満たしていない場合は、ステップＳ８５において作成した母集合（教師データ）が適していなかったおそれがある。そこで、要求仕様等に基づいて、母集合作成部３０２は母集合（教師データ）を再設定する。
【０１２９】
教師データを再設定すると、所定回数以上か否かを判定する（Ｓ９３）。本実施形態においては、教師データを再設定するたびに、推論モデルを生成し（Ｓ８７）、要求仕様を満たしているかを判定する（Ｓ８９）。しかし、この処理を何回も繰り返しても要求仕様を満たさない場合がある。そこで、このステップでは、教師データを再設定して推論モデルを生成した回数が、所定回数以上か否かを判定している。この判定の結果、所定回数以上でない場合には、ステップＳ８７に進む。
【０１３０】
一方、ステップＳ９３における判定の結果、教師データの再設定の回数が所定回数以上となった場合には、苦手画像情報等を送信する（Ｓ９５）。教師データを所定回数、再設定しても要求仕様を満たすことができない場合は、要求仕様にある画像は推論モデルの生成は苦手といえる。そこで、要求仕様に係る画像は、苦手であることを、依頼元に送信する。
【０１３１】
ステップＳ８９における判定の結果、要求仕様を満たしていた場合、またはステップＳ９５において、苦手画像情報等を送信すると、依頼機器に推論モデルを送信する（Ｓ９７）。ここでは、ステップＳ８７において、生成した推論モデルを、依頼元に送信する。なお、ステップＳ８９において要求仕様を満たしていないと判定された場合には、所定の処理後に苦手画像情報（Ｓ９５参照）と推論モデル（Ｓ９７参照）を送信する。この場合には、依頼元は苦手画像以外には、推論モデルの利用が可能である。また、苦手画像情報を送信する場合には、推論モデルの送信を行わないようにして、教師データを見直してもらうようにしてもよい。推論モデルを送信すると、ステップＳ８１に戻る。
【０１３２】
このように、学習装置においては、学習依頼があった場合には、要求仕様に応じた推論モデルを生成し（Ｓ８３、Ｓ８７）、推論モデルを生成すると、依頼元に送信している（Ｓ９７）。また、依頼元から基準教師データが送信されてきた場合には、この基準教師データを含み、また基準教師データと類似するデータからなる母集合（教師データ）を作成して推論モデルを生成している。カメラ１００または学習依頼部２００から、第２教師データが送信されたきた場合にも、第１教師データと同様に推論モデルが生成されることはいうまでもない。
【０１３３】
次に、図１０に示すフローチャートを用いて、学習依頼装置の動作について説明する。このフローは、学習依頼部２００内の制御部２０１がメモリに記憶されたプログラムに基づいて実現する。なお、このフローは、学習依頼装置に限らず、学習部３００とカメラ１００以外の装置、例えば、ＰＣやスマートフォン等の外部機器等によっても実行することができる。
【０１３４】
図１０に示す学習依頼装置のフローが開始すると、まず、仲介依頼があったか否かを判定する（Ｓ１０１）。ここでは、カメラ１００が、直接、学習部３００に推論モデルの生成を依頼せずに、学習依頼部２００を仲介して依頼するか否かを判定する。前述したように、カメラ１００のユーザは、ステップＳ７３（図８Ｂ参照）において、学習依頼部２００に推論モデルの取得を依頼してくる。このステップでは、この依頼があったか否かに基づいて判定する。この判定がない場合には、学習依頼装置のフローは待機状態となる。
【０１３５】
ステップＳ１０１における判定の結果、仲介依頼があった場合には、テストデータ候補を取得する（Ｓ１０３）。カメラ１００から学習依頼部２００に、推論モデル取得の仲介を依頼する際に、カメラ１００において記録したテストデータ候補（ステップＳ４７、Ｓ５７参照）を送信してくるので、このテストデータ候補を取得する。続いて、テストデータ候補の数を判定する（Ｓ１０５）。このステップでは、ステップＳ１０３において受信したテストデータ候補をカウントする。
【０１３６】
次に、再学習が必要で依頼するのかを判定する（Ｓ１０７）。前述したように、テストデータの候補が所定数よりも多い場合には、現在使用している推論モデルが、撮影環境の変化や、撮影機材の変化等により、相応しくなくなっている。また、ユーザが、現在設定されている推論モデルとは全く別の推論モデルを取得したい場合がある。このステップでは、これらの条件に基づいて、再学習が必要か否かを判定する。
【０１３７】
ステップＳ１０７における判定の結果、再学習が必要であり、再学習による推論モデルの取得を依頼する場合には、教師データを再作成し、再作成できたら推論モデルの生成を依頼する（Ｓ１０９）。ここでは、図７に示したフローチャートと同様に、テストデータ候補を考慮して、第２教師データを作成する。第２教師データができたら、通信部Ｂ２０３を介して、学習部３００に推論モデルを生成するために、再学習を依頼する。また、このとき、画像にアノテーションの情報の修正を行ってもよい。また、推論モデル生成の際の要求仕様を送信してもよい。
【０１３８】
一方、ステップＳ１０７において、再学習を行うことが必要でない場合には、次に、取得か否かを判定する（Ｓ１１１）。このステップでは、全く新規の推論モデルを取得するのか否かを判定する。この判定の結果、取得でない場合には、ステップＳ１０１に戻る。
【０１３９】
ステップＳ１１１における判定の結果、取得する場合には、新推論モデルの取得を行う（Ｓ１１３）。この場合には、学習部３００に対して、新推論モデルの要求仕様を送信し、学習部３００において、新推論モデルを生成してもらう。学習部３００が新推論モデルを生成すると、学習依頼部２００に送信してくるので、この新推論モデルをカメラ１００に送信する。新推論モデルを送信すると、ステップＳ１０１に戻る。
【０１４０】
このように、学習依頼部２００が、カメラ１００から推論モデルの取得の仲介を依頼された場合には（Ｓ１０１Ｙｅｓ）、依頼元からテストデータ候補を取得し、このデータ数に基づいて、再学習が必要か否かを判定している（Ｓ１０５、Ｓ１０７）。再学習が必要な場合には、テストデータ候補に基づいて、教師データ（第２教師データ）を作成し、この教師データを学習部３００に送信する（Ｓ１０９）。学習部３００は、この教師データに基づいて深層学習により推論モデルを生成する（図９のＳ８５、Ｓ８７参照）。
【０１４１】
次に、図１１を用いて、ＧＡＮ（Generative Adversarial Network）によって教師データと類似の画像データを生成する方法について説明する。図１１は、ＧＡＮによって、教師データ（テストデータ）と類似の画像を生成するための構成を示す。このＧＡＮは、生成ＡＩ（Artificial Intelligence）５００と識別ＡＩ５１０の２つの部分からなる。
【０１４２】
生成ＡＩ５００は、入力部３０４ｂａ、ネットワーク・デザイン３０４ｄａ、出力部３０４ｃａを有し、これらの各部はジェネレータとして機能する。このネットワーク・デザイン３０４ｄａは、前述のネットワーク・デザイン３０４ｄと同様、入力層と出力層の間に中間層（ニューロン）が配置されている。中間層としては、何層かのニューロンが配置されており、各中間層の間は、深層学習によって重み付けがなされる。入力部３０４ｂａには、ノイズ信号Ｐ３１が入力されると、ネットワーク・デザイン３０４ｄａに設定されている推論モデルによって推論され、出力部３０４ｃａから画像Ｐ３２が出力される。ジェネレータの入力はノイズであればよく、二次元画像である必要はない。推論モデル生成の初期の段階では、画像Ｐ３２は、失敗画像のような画像である。
【０１４３】
識別ＡＩ５１０は、入力部３０４ｂｂ、ネットワーク・デザイン３０４ｄｂ、出力部３０４ｃｂを有し、これらの各部は分類機として機能する。このネットワーク・デザイン３０４ｄｂも、前述のネットワーク・デザイン３０４ｄ、３０４ｄａと同様なので、詳しい説明を省略する。入力部３０４ｄｂには、ネットワーク・デザイン３０４ｄａからの出力画像Ｐ３２、またはテストデータＰ３３を入力する。また学習用データＰ３５、Ｐ３６は、嘘の画像と本当の画像であり、正解が分かっている画像である。
【０１４４】
入力部３０４ｄｂには、画像Ｐ３２またはテストデータＰ３３を入力し、出力部３０４ｃｂからの出力結果が、嘘であるか本当であるかを、ＬＯＳＳ値に基づいて判定する。この判定の結果、嘘が多い場合には、ジェネレータ側にＬＯＳＳ値改善依頼信号を送信し、ネットワーク・デザイン３０４ｄａにおいて再学習を行う。一方、ＬＯＳＳ値に基づく判定の結果が、本当が多い場合には、分類機側のネットワーク・デザイン３０４ｄｂにテストデータＰ３３を入力して、分類機の再学習を行う。
【０１４５】
このように、ネットワーク・デザイン３０４ｄｂからの出力結果（ＬＯＳＳ値）に応じて、分類機による再学習とジェネレータによる再学習を競させている。全体として学習のバランスをとることにより、ネットワーク・デザイン３０４ｄａにおける推論モデルが、次第に、テストデータ（第１教師データ）の画像と類似した画像を推論によって生成することができるようになる。ネットワーク・デザイン３０４ｄｃは、ネットワーク・デザイン３０４ｄａにおいて完成した推論モデルが設定されている。この状態では、ネットワーク・デザイン３０４ｄｃに、ノイズ信号Ｐ３７を入力すると、テストデータＰ３３（第１教師データ）に類似した画像を、推論により、多数作成することができる。
【０１４６】
以上説明したように、本発明の一実施形態においては、学習依頼装置は、第１の画像群とそのアノテーション結果からなる第１の教師データによって学習された第１の推論モデルを用いて、第１の画像群とは異なる第２の画像に対して推論を行う推論部を有している（例えば、図１の推論エンジン１０４、２０５、図２の推論エンジン２０５、図４の推論エンジン２０５、図６のＳ１〜Ｓ５参照）。また、学習依頼装置は、推論部における推論結果を判定して、第１の教師データを補正する補正情報を出力する補正部を有している（例えば、図４の画像取得選択、画像処理、補正、図６のＳ９、Ｓ１１、Ｓ１３参照）。このため、信頼性の高い推論を行うことができるように、再学習の依頼を行うことができる。すなわち、第１の教師データで生成した第１の推論モデルによって推論した場合の推論結果を利用して第１の教師データを補正し、この補正した第１の教師データによって再学習を依頼することができる。なお、学習依頼装置は、学習依頼部２００に限らず、カメラ１００も、その機能を果たすことができる。
【０１４７】
また、本発明の一実施形態においては、学習依頼装置は、第１教師データに基づいて生成された第１推論モデルによって推論を行った際の誤検出データに基づいて、第２教師データを作成する教師データ作成部を有している（例えば、図２（ｃ）、図４の第２教師データ４０２、図６のＳ１３参照）。また、学習依頼装置は、第２教師データに基づいて、第２推論モデルを生成するための再学習を学習装置に依頼する通信部を有している（例えば、図１Ａの通信部Ｂ２０３、図１Ｂの通信部１０７、図８ＢのＳ６９、図１０のＳ１０９参照）。このため、信頼性の高い推論を行うことができるように、再学習の依頼を行うことができる。すなわち、第１教師データに基づく推論を行った結果、誤検出した場合には、このデータに基づいて、第２教師データを作成し、通信部を介して学習装置に再学習を依頼することができる。なお、学習依頼装置は、学習依頼部２００に限らず、カメラ１００も、その機能を果たすことができる。
【０１４８】
なお、本発明の一実施形態においては、カメラ１００と学習依頼部２００と学習部３００の組み合わせからなるシステムについて説明した。しかし、この組み合わせに限らず、カメラ１００が学習依頼部２００の機能を合わせ持っていてもよく、また学習依頼部２００が学習部３００の機能を有していてもよい。また、テストデータ２０２は、カメラ１００からのテストデータとはかかわりなく、学習依頼部２００が独自に生成したデータであってもよい。
【０１４９】
また、本発明の好ましい実施形態においては、学習装置における学習は、深層学習を行っていたが、これに限らず、機械学習等の人工知能を利用した学習であればよい。また、近年は、様々な判断基準を一括して判定できるような人工知能が用いられる事が多く、ここで示したフローチャートの各分岐などを一括して行うような改良もまた、本発明の範疇に入るものであることは言うまでもない。
【０１５０】
また、本発明の一実施形態においては、学習部３００内においては、母集合作成部３０２、基準教師データ記録部３０３、入出力モデル化部３０４、通信部Ａ３０５ａ、通信部Ｂ３０５ｂ等を、制御部３０１とは別体の構成としていた。また学習依頼部２００内においては、画像分類記録部２０２、通信部Ｂ２０３、仕様性って言部２０４、推論エンジン２０５６等を、制御部２０１と別体の構成としていた。さらに、カメラ１００内において、操作部１０２、撮像部１０３、推論エンジン１０４、記録部１０５、表示部１０６等を、制御部１０１とは別体の構成としていた。しかし、これに限らず、各部の全部または一部をソフトウエアで構成し、制御部１０１、２０１、３０１内のＣＰＵによって実行するようにしても勿論かまわない。また、制御部１０１内の各部を、制御部の外にハードウエア回路によって設けてもよい。また、ＣＰＵに限らず、コントローラとしての機能を果たす素子であればよく、上述した各部の処理は、ハードウエアとして構成された１つ以上のプロセッサが行うようにしてもよい。例えば、各部は、それぞれが電子回路として構成されたプロセッサであっても構わないし、ＦＰＧＡ（Field Programmable Gate Array）等の集積回路で構成されたプロセッサにおける各回路部であってもよい。または、１つ以上のＣＰＵで構成されるプロセッサが、記録媒体に記録されたコンピュータプログラムを読み込んで実行することにより、各部としての機能を実行するようにしても構わない。また、上述の各部は、ヴェリログ（Verilog）によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またＤＳＰ（Digital Signal Processor）等のソフトを利用したハードウエア構成を利用してもよい。これらは適宜組み合わせてもよいことは勿論である。
【０１５１】
また、本発明の一実施形態においては、カメラ１００として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、異なる光学システムを採用する撮影のための機器であれば、本発明を適用することができる。
【０１５２】
また、近年は、様々な判断基準を一括して判定できるような人工知能が用いられる事が多く、ここで示したフローチャートの各分岐などを一括して行うような改良もまた、本発明の範疇に入るものであることは言うまでもない。そうした制御に対して、ユーザが善し悪しを入力可能であれば、ユーザの嗜好を学習して、そのユーザにふさわしい方向に、本願で示した実施形態はカスタマイズすることが可能である。ユーザは、必ずしも学習に適した教師データとなるコンテンツを豊富に持っているわけではないので、第三者が保存したコンテンツ類に加えて、自分の手持ちのコンテンツを利用した推論モデル作成を依頼するケースが増えてくる。このような状況下においても、本実施形態によれば、安心した注文等が可能となる。近年、インターネット上には動画のサンプルなどが大量に出回っているので、これらのサンプルを使いたいユーザは多い。また、動画には音声の情報も含まれているので、本明細書において、「画像」と記載した部分は、音声付きの画像で、音声に対する推論モデルであってもよい。また、画像、音声の各種機械学習以外にも、本願が留意している守秘性や肖像権、著作権、データの希少性や改ざんなどの危険や個人情報の保護を含めたセキュリティの保持、あるいはノウハウ保護を考慮して、手持ちデータは出さずに再度の学習、あるいはチューニングを依頼することが可能となる。個人でなくとも、企業であっても同様の傾向の依頼形態となる。また、依頼される側も、個人情報や守秘義務の問題がある画像や音声やその他データは利用をためらう傾向がある。したがって、手元にあるデータ以外でも、簡単に、ユーザが想定した特定の利用状況により特化した推論モデルを得るために、カスタマイズ、チューニングが容易に可能となるシステムが求められる。画像以外にアノテーションを行う場合に、例えば音声の場合であって、音声認識時に特定の音声の認識率を上げるような場合でも、本願は利用可能である。
【０１５３】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【０１５４】
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
【０１５５】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【０１５６】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１５７】
１００・・・カメラ、１０１・・・制御部、１０１ａ・・・記録制御部、１０１ｂ・・・設定制御部、１０１ｃ・・・通信制御部、１０１ｄ・・・画像処理部、１０１ｅ・・・パラメータ制御部、１０１ｆ・・・表示制御部、１０２・・・操作部、１０３・・・撮像部、１０３ａ・・・光学系、１０３ｂ・・・撮像素子、１０４・・・推論エンジン、１０４ａ・・・ネットワーク・デザイン、１０４ｂ・・・管理情報、１０５・・・記録部、１０５ａ・・・画像データ、１０５ｂ・・・テストデータ候補、１０６・・・表示部、１０７・・・通信部、２００・・・学習依頼部、２０１・・・制御部、２０２・・・画像分類記録部、２０２ａ・・・対象物種類Ａ画像群、２０２ｂ・・・基準教師データ、２０２ｃ・・・テストデータ、２０３・・・通信部、２０４・・・仕様設定部、３００・・・学習部、３０１・・・制御部、３０２・・・母集合作成部、３０２ａ・・・入出力設定部、３０３・・・基準教師データ記録部、３０４・・・入出力モデル化部、３０４ａ・・・信頼性判定部、３０４ｂ・・・入力部、３０４ｃ・・・出力部、３０４ｄ・・・ネットワーク・デザイン、３０５ａ・・・通信部Ａ、３０５ｂ・・・通信部Ｂ、４０１・・・第１教師データ、４０２・・・第２教師データ、４０５・・・第１推論モデル、４０６・・・第２推論モデル、４１１・・・ユーザ、４１３・・・撮影対象、５００・・・生成ＡＩ、５１０・・・識別ＡＩ
【図１Ａ】
2020119322.tif 000003
【図１Ｂ】
2020119322.tif 000004
【図２】
2020119322.tif 000005
【図３】
2020119322.tif 000006
【図４】
2020119322.tif 000007
【図５】
2020119322.tif 000008
【図６】
2020119322.tif 000009
【図７】
2020119322.tif 000010
【図８Ａ】
2020119322.tif 000011
【図８Ｂ】
2020119322.tif 000012
【図９】
2020119322.tif 000013
【図１０】
2020119322.tif 000014
【図１１】
2020119322.tif 000015