(57)【要約】【課題】機械学習による推論を利用する装置の実使用時の制約を考慮し有効に機能させることを可能にすることができる。【解決手段】  学習依頼装置は、推論モデルの仕様を要求するための複数の仕様項目の設定を記述した仕様情報を生成する仕様設定部と、上記仕様情報を教師データと共に上記推論モデルを生成する学習装置に送信するための制御を行う制御部とを具備し、上記仕様設定部は、上記仕様情報中に、上記推論モデルを利用する推論エンジンが、他の併用推論機器と連携して推論を行うか否かを設定する仕様項目を含める。【選択図】図１
2020129268.tif 000002
【特許請求の範囲】
【請求項１】
推論モデルの仕様を要求するための複数の仕様項目の設定を記述した仕様情報を生成する仕様設定部と、
上記仕様情報を教師データと共に上記推論モデルを生成する学習装置に送信するための制御を行う制御部とを具備し、
上記仕様設定部は、上記仕様情報中に、上記推論モデルを利用する推論エンジンが、他の併用推論機器と連携して推論を行うか否かを設定する仕様項目を含める
ことを特徴とする学習依頼装置。
【請求項２】
上記仕様設定部は、上記仕様情報中に、上記他の併用推論機器の機能の情報及び上記推論エンジンと上記他の併用推論機器との間の入出力に関する情報を設定する仕様項目を含める
ことを特徴とする請求項１に記載の学習依頼装置。
【請求項３】
上記仕様設定部は、上記仕様情報中に、上記複数の仕様項目の優先度を設定する仕様項目を含める
ことを特徴とする請求項１に記載の学習依頼装置。
【請求項４】
推論モデルの仕様を決定するための複数の仕様項目の設定を記述した仕様情報であって、上記推論モデルを利用する推論エンジンが他の併用推論機器と連携して推論を行うための仕様情報に基づいて上記推論モデルを構築する推論モデル化部と、
上記仕様情報に基づいて上記併用推論機器との連携の仕方に関する推論設定情報を上記推論モデルを構築するための推論モデル情報に付加して送信するための制御を行う制御部と
を具備することを特徴とする学習装置。
【請求項５】
上記制御部は、上記推論設定情報として上記仕様情報を上記推論モデル情報に付加する
ことを特徴とする請求項４に記載の学習装置。
【請求項６】
上記制御部は、上記推論設定情報を上記推論モデル情報のヘッダ情報として上記推論モデル情報に付加する
ことを特徴とする請求項４に記載の学習装置。
【請求項７】
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、
上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、
上記併用推論機器と、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる制御部と
を具備することを特徴とする推論モデル利用装置。
【請求項８】
上記制御部は、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを相互に独立して動作させ、上記推論エンジンの第１の推論結果の信頼度と上記併用推論機器の第２の推論結果の信頼度とに基づいて、上記第１又は第２の推論結果を得る
ことを特徴とする請求項７に記載の推論モデル利用装置。
【請求項９】
上記制御部は、上記推論設定情報に基づいて、上記推論エンジンの第１の推論結果を上記併用推論機器に与えて、上記併用推論機器の第２の推論結果を得る
ことを特徴とする請求項７に記載の推論モデル利用装置。
【請求項１０】
上記制御部は、上記推論設定情報に基づいて、上記併用推論機器の第２の推論結果を上記推論エンジンに与えて、上記推論エンジンの第１の推論結果を得る
ことを特徴とする請求項７に記載の推論モデル利用装置。
【請求項１１】
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、
上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる
ことを特徴とする推論モデル利用方法。
【請求項１２】
コンピュータに、
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、
上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる
手順を実行させるための推論モデル利用プログラム。
【請求項１３】
被写体の撮像画像を取得する撮像部と、
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、
上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、
上記併用推論機器と、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させることにより、上記撮像画像から所定の対象物を検出する制御部と
を具備することを特徴とする撮像装置。
【請求項１４】
外部に推論モデルの作成を依頼するための通信部と、
搭載すべき前記推論モデルの要求仕様を表示部に一覧表示可能な制御部と
を具備することを特徴とする推論モデル利用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用条件との整合性に留意した学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置に関する。
【背景技術】
【０００２】
従来、ロジック回路を用いて、人が記述したルールに従って処理を行うルールベース制御の装置が採用されることがある。ルールベース制御による推論を行うことで、各種問題を解決することが可能である。また、近年、深層学習等の機械学習により生成した推論モデルを利用して各種問題を解決するコンピュータシステムも採用されるようになってきている。特に、深層学習を利用した装置は、例えば、画像解析、音声解析、自然言語処理等について極めて有効な推論を行うことができる。
【０００３】
例えば、特許文献１には、異常検知に際して、異常の有無を判断するための異常度の閾値を定める技術が開示されている。特許文献１の装置においては、異常の検知対象から収集されたデータを学習した学習結果を利用することで異常度を算出するようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１４８３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
機械学習により有効な推論モデルを得るためには、学習の仕方や学習に用いる教師データとして適切なものを採用する必要がある。機械学習による推論の有効性は学習の影響を受け、また、十分な学習を行ったとしても正しい推論が得られるとは限らない。場合によっては、ルールベースを用いた推論の方が、機械学習による推論よりもより正しい推論結果が得られることもある。
【０００６】
そこで、ルールベースを用いた推論の利点と機械学習による推論の利点とを考慮した仕組みが重要であるが、学習の仕方や推論モデルの利用方法等について十分に考慮されたシステムは開発されていない。
【０００７】
本発明は、これまでのようにルールベースのロジック回路の利点を考慮し、機械学習による推論を利用する装置を有効に機能させることを可能にすることができる学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様による学習依頼装置は、推論モデルの仕様を要求するための複数の仕様項目の設定を記述した仕様情報を生成する仕様設定部と、上記仕様情報を教師データと共に上記推論モデルを生成する学習装置に送信するための制御を行う制御部とを具備し、上記仕様設定部は、上記仕様情報中に、上記推論モデルを利用する推論エンジンが、他の併用推論機器と連携して推論を行うか否かを設定する仕様項目を含める。
【０００９】
本発明の一態様による学習装置は、推論モデルの仕様を決定するための複数の仕様項目の設定を記述した仕様情報であって、上記推論モデルを利用する推論エンジンが他の併用推論機器と連携して推論を行うための仕様情報に基づいて上記推論モデルを構築する推論モデル化部と、上記仕様情報に基づいて上記併用推論機器との連携の仕方に関する推論設定情報を上記推論モデルを構築するための推論モデル情報に付加して送信するための制御を行う制御部とを具備する。
【００１０】
本発明の一態様による推論モデル利用装置は、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、上記併用推論機器と、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる制御部とを具備する。
【００１１】
本発明の一態様による推論モデル利用方法は、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる。
【００１２】
本発明の一態様による推論モデル利用プログラムは、コンピュータに、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる手順を実行させる。
【００１３】
本発明の一態様による撮像装置は、被写体の撮像画像を取得する撮像部と、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、上記併用推論機器と、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させることにより、上記撮像画像から所定の対象物を検出する制御部とを具備する。
【００１４】
本発明の他の態様による推論モデル利用装置は、外部に推論モデルの作成を依頼するための通信部と、搭載すべき前記推論モデルの要求仕様を表示部に一覧表示可能な制御部とを具備する。
【発明の効果】
【００１５】
本発明によれば、機械学習による推論を利用する装置を有効に機能させることを可能にすることができるという効果を有する。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係る学習依頼装置、学習装置及び撮像装置を示すブロック図である。
【図２Ａ】ルールベースエンジンを用いた処理を示す説明図である。
【図２Ｂ】推論エンジンを用いた処理を示す説明図である。
【図２Ｃ】ルールベースエンジンと推論エンジンとを連携して用いた処理を示す説明図である。
【図３】表示部１４の表示画面１４ａ上に表示された仕様設定メニュー表示ＤＭの一例を示す説明図である。
【図４】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【図５】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【図６】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【図７】撮像装置１０による撮影の様子を示す説明図である。
【図８】学習依頼装置３０の動作を説明するためのフローチャートである。
【図９】学習装置２０の動作を説明するためのフローチャートである。
【図１０】第１手法における学習装置２０による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【図１１】撮像装置１０の動作を説明するためのフローチャートである。
【図１２】ルールベースエンジン１８による推論を説明するための説明図である。
【図１３】推論エンジン１７による推論を説明するための説明図である。
【図１４】一連の推論の検出結果に基づく画像表示の例を示す説明図である。
【図１５】第２手法における学習装置２０による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【図１６】撮像装置１０の動作を説明するためのフローチャートである。
【図１７】撮像装置１０の動作を説明するためのフローチャートである。
【図１８】第２の実施の形態を示すブロック図である。
【図１９】第２の実施の形態を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１８】
（第１の実施の形態）
本発明は、機械学習による推論モデルを有効に活用するためのもので、推論モデルを利用するハードウェア、装置との整合性を考慮したものである。
推論モデルを機械学習によって得る場合、学習時に与える教師データや学習用のコンピュータの性能と、実使用時の入力データと実使用時の電子回路の性能との差異を十分に考慮しなければ、思惑通りの推論結果を得ることが出来ない。したがって、推論モデル利用時の制約条件等を十分に考慮した、学習のステップが重要となる。このいわば、「推論モデルの要求仕様」を標準化できるような工夫によって、きわめて自由度の高い学習環境や、豊富な教師データ類を活用可能にして、利用環境下において、さらに高精度な出力が可能な推論モデルの取得を可能としている。
【００１９】
図１は本発明の第１の実施の形態に係る学習依頼装置、学習装置及び撮像装置を示すブロック図である。本実施の形態は機械学習による推論モデルを有効に活用する一例として、推論モデルを利用する推論エンジンの他に併用推論機器を有する装置における推論モデルの活用例について説明する。即ち、本実施の形態は、ルールベースを用いた推論を実行する併用推論機器であるルールベースエンジン及び機械学習による推論を実行する推論エンジンを有する装置において、より有効な推論を実現するために、学習のための仕様情報を作成し、学習結果の推論モデルの利用の仕方等を示す推論設定情報を含む推論モデル情報を生成し、推論モデル情報を用いてルールベースエンジンと推論エンジンとを効果的に動作させることを可能にするものである。なお、図１では、ルールベースエンジン及び推論エンジンを有する装置として撮像装置を例に説明するが、撮像装置に限定されるものではない。また、併用推論機器として、ルールベースエンジンを採用する例を説明するが、機械学習による推論を実行する推論エンジン、例えば推論モデルが更新不能な推論エンジンを採用してもよい。
なお、推論モデルの活用例として、推論モデルを利用する推論エンジンが併用推論機器と連携して推論を行う例を説明するが、併用推論機器が存在しない場合においても、「推論モデルの要求仕様」を記述した仕様情報の作成、仕様情報に基づいて作成された推論モデルの利用の仕方等を示す推論設定情報を含む推論モデル情報の生成によって、推論モデルを有効に活用できることは以下の説明から明らかである。
【００２０】
先ず、図２Ａから図２Ｃを参照して、ルールベースエンジンと推論エンジンとを連携して用いる例について説明する。図２Ａはルールベースエンジンを用いた処理を示す説明図であり、図２Ｂは推論エンジンを用いた処理を示す説明図であり、図２Ｃはルールベースエンジンと推論エンジンとを連携して用いた処理を示す説明図である。図２Ａから図２Ｃは撮像装置のホワイトバランスゲイン（ＷＢゲイン）を求めるフローを示している。なお、図２Ａから図２Ｃにおいて、推論エンジンによる処理はハッチングにて示してある。
【００２１】
図２Ａの例では、画像入力に対して、光源色判定及び被写体色判定が行われる。ルールベースエンジンは、これらの判定結果を用いて、予め設定されているルールに従って総合判定を行い、ホワイトバランスゲインを求める。図２Ｂの例では、画像入力に対して、推論エンジンは、ホワイトバランスゲインを推定する（ＷＢ推定）。
【００２２】
図２Ｃの例において、推論エンジンは、画像入力に対してホワイトバランスゲインの推論結果を直接出力するのではなく、先ず入力画像から光源マップを求める。一方、ルールベースエンジンは、光源色を判定する。推論エンジンは、ルールベースエンジンが求めた光源色を光源マップを用いて補正する。そして、推論エンジンによる光源色の補正結果と被写体色の判定結果とに基づく総合判定により、ホワイトバランスゲインが求められる。
【００２３】
図１の撮像装置１０は、このように連携して推論を行う推論エンジン１７とルールベースエンジン１８とを備える。撮像装置１０は、被写体を撮像して得た画像を記録する。撮像装置１０としては、デジタルカメラやビデオカメラだけでなく、スマートフォンやタブレット端末に内蔵されるカメラを採用してもよい。なお、推論エンジンがルールベースエンジンの機能をカバーする場合は、ルールベースエンジンはなくてもよい。
【００２４】
撮像装置１０は、撮像装置１０の各部を制御する制御部１１を備えている。制御部１１は、ＣＰＵ（Central Processing Unit）等を用いたプロセッサによって構成されて、図示しないメモリに記憶されたプログラムに従って動作して各部を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【００２５】
撮像装置１０の撮像部１２は、撮像素子１２ａ及び光学系１２ｂを有している。光学系１２ｂは、ズームやフォーカシングのための図示しないレンズや絞り等を備えている。光学系１２ｂは、これらのレンズを駆動する図示しないズーム（変倍）機構、ピント及び絞り機構を備えている。
【００２６】
撮像素子１２ａは、ＣＣＤやＣＭＯＳセンサ等によって構成されており、光学系１２ｂによって被写体光学像が撮像素子１２ａの撮像面に導かれるようになっている。撮像素子１２ａは、被写体光学像を光電変換して被写体の撮像画像（撮像信号）を取得する。
【００２７】
制御部１１の撮像制御部１１ａは、光学系１２ｂのズーム機構、ピント機構及び絞り機構を駆動制御して、ズーム、絞り及びピントを調節することができるようになっている。撮像部１２は、撮像制御部１１ａに制御されて撮像を行い、撮像画像（動画像及び静止画像）の撮像信号を制御部１１に出力する。
【００２８】
撮像装置１０には操作部１３が設けられている。操作部１３は、図示しないレリーズボタン、ファンクションボタン、撮影モード設定、パラメータ操作等の各種スイッチ、ダイヤル、リング部材等を含み、ユーザ操作に基づく操作信号を制御部１１に出力する。制御部１１は、操作部１３からの操作信号に基づいて、各部を制御するようになっている。
【００２９】
制御部１１は、撮像部１２からの撮像画像（動画像及び静止画像）を取込む。制御部１１の画像処理部１１ｂは、取込んだ撮像画像に対して、所定の信号処理、例えば、色調整処理、マトリックス変換処理、ノイズ除去処理、その他各種の信号処理を行う。
【００３０】
撮像装置１０には表示部１４が設けられており、制御部１１には、表示制御部１１ｆが設けられている。表示部１４は、例えば、ＬＣＤ（液晶表示装置）等の表示画面を有する表示器であり、表示画面は撮像装置１０の例えば筐体背面等に設けられる。表示制御部１１ｆは、画像処理部１１ｂによって信号処理された撮像画像を表示部１４に表示させるようになっている。また、表示制御部１１ｆは、撮像装置１０の各種メニュー表示や警告表示等を表示部１４に表示させることもできるようになっている。
【００３１】
撮像装置１０には通信部１５が設けられており、制御部１１には、通信制御部１１ｅが設けられている。通信部１５は、通信制御部１１ｅに制御されて、学習装置２０及び学習依頼装置３０との間で情報を送受することができるようになっている。通信部１５は、例えば、ブルートゥース（登録商標）等の近距離無線による通信及び例えば、Ｗｉ−Ｆｉ（登録商標）等の無線ＬＡＮによる通信が可能である。なお、通信部１５は、ブルートゥースやＷｉ−Ｆｉに限らず、各種通信方式での通信を採用することが可能である。通信制御部１１ｅは、通信部１５を介して、学習装置２０から推論モデル情報を受信することができる。この推論モデル情報は、推論エンジン１７のネットワーク１７ａにより所望の推論モデルを構築するためのものである。
【００３２】
制御部１１には記録制御部１１ｃが設けられている。記録制御部１１ｃは、信号処理後の撮像画像を圧縮処理し、圧縮後の画像を記録部１６に与えて記録させることができる。記録部１６は、所定の記録媒体によって構成されて、制御部１１から与えられた情報を記録すると共に、記録されている情報を制御部１１に出力することができる。また、記録部１６としては、例えばカードインターフェースを採用してもよく、この場合には記録部１６はメモリカード等の記録媒体に画像データを記録可能である。
【００３３】
記録部１６は、画像データ記録領域１６ａを有しており、記録制御部１１ｃは、画像データを画像データ記録領域１６ａに記録するようになっている。また、記録制御部１１ｃは、記録部１６に記録されている情報を読み出して再生することも可能である。
【００３４】
また、記録部１６は、推論設定記録領域１６ｂを有している。記録制御部１１ｃは、受信された推論モデル情報を記録部１６の推論設定記録領域１６ｂに記録することができるようになっている。こうして、推論設定記録領域１６ｂには、推論エンジン１７を構成するネットワーク１７ａの設定に関する推論モデル情報が記録されるようになっている。なお、推論モデル情報には、上述したように、推論設定情報も含まれる。また、記録部１６のテストデータ記録領域１６ｃには、推論エンジン１７の動作を検証するためのテストデータが記録される。
【００３５】
推論設定情報は、後述する仕様情報に基づいて生成されるものであり、所望の推論結果を得るための推論エンジン１７と併用推論機器であるルールベースエンジン１８との連携の仕方を規定するものである。推論設定情報としては、仕様情報をそのまま用いてもよく、また、仕様情報に基づいて生成されていてもよい。例えば、推論設定情報により、推論エンジン１７とルールベースエンジン１８との入出力の関係等が示される。
【００３６】
ルールベースエンジン１８は、ロジック回路１８ａを備えている。ロジック回路１８ａは、予め設定されたルールに従って推論を行うものであり、入力に対する推論によって出力を得る。図１の例では、ロジック回路１８ａは、撮像部１２からの撮像画像が入力されて、推論結果を出力する。本実施の形態においては、ルールベースエンジン１８からの推論結果は、制御部１１に供給されると共に推論エンジン１７にも供給される場合がある。
【００３７】
推論エンジン１７は、ネットワーク１７ａを有している。ネットワーク１７ａは、推論設定記録領域１６ｂに記録されている推論モデル情報に含まれる設定値を用いて構築されており、機械学習における学習が完了することによって得られるネットワーク、即ち、推論モデルを構成する。図１の例では、ネットワーク１７ａは、撮像部１２からの撮像画像が入力されて、推論結果を出力する。本実施の形態においては、推論エンジン１７からの推論結果は、制御部１１に供給されると共にルールベースエンジン１８にも供給される場合がある。
【００３８】
即ち、本実施の形態においては、推論エンジン１７は、撮像部１２からの撮像画像だけでなく、ルールベースエンジン１８の推論結果が与えられて推論を行い、推論結果を得る場合がある。同様に、ルールベースエンジン１８は、撮像部１２からの撮像画像だけでなく、推論エンジン１７の推論結果が与えられて推論を行い、推論結果を得る場合がある。
【００３９】
このような推論エンジン１７とルールベースエンジン１８との連携の関係については、推論モデル情報中の推論設定情報に記述されている。制御部１１には、推論設定部１１ｄが設けられており、推論設定部１１ｄは、推論設定記録領域１６ｂから推論設定情報を読み出して、推論エンジン１７及びルールベースエンジン１８を制御する。推論設定部１１ｄは、推論エンジン１７及びルールベースエンジン１８の少なくとも一方の推論結果を用いて総合判定を行う。
【００４０】
本実施の形態においては、推論設定情報の元となる仕様情報は、学習依頼装置３０の後述する仕様設定部３１ａにより生成されるようになっている。また、本実施の形態においては、この仕様設定部３１ａと同一機能を有する仕様設定部１１ｇが制御部１１に設けられている。仕様設定部３１ａ，１１ｇは、推論エンジン１７に採用する推論モデルの生成に必要な推論モデル情報の仕様を記述した仕様情報を生成することができるようになっている。なお、仕様設定部１１ｇは、生成した仕様情報を通信部１５を介して学習依頼装置３０に送信する。
【００４１】
仕様設定部３１ａ，１１ｇは、仕様情報中の一部の情報を自動生成すると共に、一部の情報をユーザの入力操作に基づいて生成する。仕様設定部１１ｇは、表示制御部１１ｆを制御して、仕様情報の確認及び変更のための仕様設定メニュー表示を表示させることができるようになっている。なお、仕様設定部３１ａについても、学習依頼装置３０に設けられた図示しない表示部に、仕様情報の確認及び変更のための仕様設定メニュー表示を表示させることができるようになっている。
【００４２】
推論モデルを機械学習によって得る場合、学習時に与える教師データや学習用のコンピュータの性能と、実使用時の入力データと実使用時の電子回路の性能との差異を十分に考慮しなければ、思惑通りの推論結果を得ることが出来ない。したがって、推論モデル利用時の制約条件等を十分に考慮した、学習のステップが重要となる。このいわば、「推論モデルの要求仕様」を標準化できるようにしたのが、この図に示したような情報類である。様々な組織や個人が、いろいろな手段で学習の効率化、高性能化を行っているが、こうしたベースがないと、正しく機能する推論モデルを、実際の装置に搭載して性能を発揮させることは困難である。つまり、きわめて自由度の高い学習環境や、豊富な教師データ類を活用可能にして、利用環境下において、さらに高精度な出力が可能な推論モデルの取得を可能とするために、こうした要求仕様の明確な設定が重要となる。これらは手動入力したり、機器に搭載された記録部に記録された、あるいは外部から通信によって得られた情報によって、データ設定すればよい。このように、機械学習による推論モデルを有効に活用するためには細心の整合が重要で、図３は推論モデルを利用するハードウェア、装置との整合性を考慮して一覧にしたものの例である。したがって、ここに示した要求仕様は、いくつかの項目は必要でない場合もあり、さらに温湿度、気圧など環境の制約や回路の電源電圧やクロックの仕様等、項目を追加すべき状況もあることは言うまでもない。必要に応じて、この推論モデルを利用しない条件などを記載してもよい。
このように、本実施の形態では、外部に推論モデルの作成を依頼するための通信部を有し、表示部に搭載すべき推論モデルの要求仕様を一覧表示可能な推論モデル利用装置を提供可能であり、この推論モデル利用装置は、装置との整合性にすぐれた推論モデルを外部機器に依頼可能な高精度推論装置となる。
【００４３】
図３は表示部１４の表示画面１４ａ上に表示された仕様設定メニュー表示ＤＭの一例を示す説明図である。図３の例では、仕様情報中には、１５個の仕様項目が含まれるが、仕様項目は適宜設定可能である。図３の例は画像中の所定の検出対象を検出するための推論モデルを作成するための仕様情報の仕様項目を示している。
【００４４】
検出対象項目は、教師データに検出対象を示す検出対象情報がアノテーションとして付されていることを示す情報である。ハードウェア情報項目は、推論モデルを使用する機器に関する情報を示し、機器名、ネットワークの層数、クロック周波数及びメモリ容量を指定するものである。応答時間項目は、画像入力から推論出力までの時間を指定するものである。図３の例では、正解率、信頼性項目は、９０％以上の推論の信頼性を確保することを指定するものであり、入力画像サイズ、その他項目は、入力画像サイズがＦＨＤ（full high definition）で、画像処理として処理Ａを採用することを指定するものである。
【００４５】
また、入力画像系統数項目は、入力画像が２系統切替えられることを指定するものであり、この指定によって、推論エンジン１７は、撮像部１２からの画像とルールベースエンジン１８からの画像とを入力可能である。つまり、この指定は、推論エンジン１７とルールベースエンジン１８の連携のために、ルールベースエンジン１８の出力を推論エンジン１７に与えることを可能にするものである。
【００４６】
また、本実施の形態においては、併用検出器、補助情報項目が設定される。この項目は、併用して使用する併用推論機器を指定するものである。図１の例では、推論エンジン１７と連携して推論を行うルールベースエンジン１８が併用推論機器として指定される。図３の例ではルールベースエンジン１８は、仕様＊＊に従って、顔検出を行う機能を有する装置であることが分かる。また、補助情報項目は、ルールベースエンジン１８の出力を推論エンジン１７に用いる場合において、ルールベースエンジン１８のどのような出力を用いるかを補助情報として指定するものである。例えば、顔検出を行う場合において、ルールベースエンジン１８において検出された顔の座標や顔部の画像等を補助情報として指定して、推論エンジン１７の入力とすることを指定することができる。即ち、この指定は、ルールベースエンジン１８から推論エンジン１７への入力を規定するものである。
【００４７】
納入時期項目は、推論モデル情報の納入時期を指定するものである。教師データ、対象項目は、教師データの格納フォルダ及び検出対象（ファイル）を指定するものであり、図３の例ではＸフォルダ、検出対象Ｙであることを示している。その他データ利用項目は、入力が画像である場合画像以外のデータの利用を指定するものである。例えば、画像中の建物の検出に際して、画像の傾斜角度をその他のデータとして利用すること等を可能にするものである。テストサンプル項目は、推論モデルのテスト用のサンプルデータを指定するものであり、図３の例では提供しないことが分かる。発動条件、制限項目は、推論を発動する条件や、制限について指定するものであり、例えば、画像取得時であって、画像の輝度が所定値以下の場合には推論を実行しない等の指定が可能である。
【００４８】
補足情報項目は、補足的な情報を指定するものであり、例えば、検出した画像部分に枠を表示させたりテキストを表示させたりする指定が可能である。また、履歴情報項目は、以前の推論モデルの履歴を例えばバージョン情報によって指定するのである。
【００４９】
本実施の形態には、項目優先度項目が設定される。項目優先度項目は、仕様設定情報中のいずれの仕様項目を優先して推論モデルを生成すべきかを指定するものであり、図３の例では、検出対象項目、ハードウェア情報項目、正解率、信頼性項目、応答時間項目、入力画像サイズ、その他項目、入力画像系統数項目の順で、優先度が設定されていることを示している。
【００５０】
仕様設定部３１ａ，１１ｇは、これらの仕様項目のうちの所定の仕様項目を自動生成し、他の仕様項目をユーザ入力によって生成する。例えば、仕様設定部３１ａ，１１ｇは、撮像装置１０の仕様に基づいて所定の仕様項目を自動生成してもよい。例えば、仕様設定部１１ｇ，３１ａは、図示しないメモリに記憶された、仕様情報生成用のプログラムを実行することで、所定の仕様項目についての情報を自動生成するようになっていてもよい。また、仕様設定部１１ｇ，３１ａは、仕様情報生成用の図示しない推論エンジンを用いて、所定の仕様項目を自動生成するようになっていてもよい。
【００５１】
仕様設定部１１ｇは、生成した仕様情報を学習依頼装置３０に送信する。学習依頼装置３０は、仕様情報に基づいて、学習装置２０に学習を依頼するものである。学習依頼装置３０は、仕様設定部３１ａによって生成した仕様情報又は仕様設定部１１ｇによって生成された仕様情報に基づいて学習装置２０に学習を依頼する。
【００５２】
学習依頼装置３０は、通信部３２を有しており、学習装置２０は通信部２２を有している。これらの通信部２２，３２は、通信部１５と同様の構成を有しており、通信部２２，３２，１５相互間において通信が可能である。
【００５３】
学習依頼装置３０は、学習依頼装置３０の各部を制御する制御部３１を有しており、学習装置２０は学習装置２０の各部を制御する制御部２１を有している。制御部２１，３１は、ＣＰＵやＦＰＧＡ等を用いたプロセッサによって構成されていてもよく、図示しないメモリに記憶されたプログラムに従って動作して各部を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【００５４】
なお、学習部２０全体が、ＣＰＵ、ＧＰＵ、ＦＰＧＡ等を用いたプロセッサによって構成されて、図示しないメモリに記憶されたプログラムに従って動作して学習を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【００５５】
学習依頼装置３０は、大量の学習用データを記録した画像分類記録部３３を有している。画像分類記録部３３は、ハードディスクやメモリ媒体等の図示しない記録媒体により構成されており、複数の画像を画像中に含まれる対象物の種類毎に分類して記録する。図９の例では、画像分類記録部３３は、対象物画像群３４を記憶しており、対象物画像群３４は、対象物の種類毎に教師データ３４ａ及びテストデータ３４ｂを含む。また、制御部３１は、仕様設定部１１ｇと同様の機能を有する仕様設定部３１ａを有する。学習依頼装置３０の制御部３１は、通信部３２を制御して、仕様情報及び教師データ３４ａを学習装置２０に送信する。
【００５６】
なお、テストデータ３４ｂは教師データ３４ａに類似するデータであるが、学習装置２０には提供しないデータであり、学習依頼装置３０や撮像装置１０において、学習装置２０の学習の結果得られた推論モデルのテストに用いるものである。学習依頼装置３０はテストデータ３４ｂを撮像装置１０に送信することができる。撮像装置１０は学習依頼装置３０からのテストデータをテストデータ記録領域１６ｃに記録する。
【００５７】
学習部２０の母集合作成部２４は、学習依頼装置３０から送信された教師データを教師データ記録部２３に記録する。母集合作成部２４は、入力データ設定部２４ａ及び出力項目設定部２４ｂを有している。入力データ設定部２４ａは学習に用いる入力データを設定し、出力項目設定部２４ｂは推論の結果得られるべき出力を設定する。入力データ設定部２４ａ及び出力項目設定部２４ｂの設定は、学習依頼装置３０から受信した仕様情報に基づいて行われる。
【００５８】
入出力モデル化部２５は、大量の教師データにより期待される出力が得られるように、ネットワークデザインを決定し、その設定情報である推論モデル情報を生成する。入出力モデル化部２５には仕様照合部２５ａが設けられている。仕様照合部２５ａは、仕様情報を記憶する図示しないメモリを有しており、入出力モデル化部２５により求められた推論モデル情報が仕様情報に対応するものとなっているか否かを判定する。入出力モデル化部２５は、推論モデル情報が仕様情報に対応するものとなるまで、ネットワークデザインの構築を行う。
【００５９】
本実施の形態においては、入出力モデル化部２５は、構築した推論モデルが、併用推論機器と連携して推論を行うものであるか否かの情報及び、併用推論機器と連携して推論を行うものである場合にはその連携の仕方についての情報を含む推論設定情報を生成し、生成した推論設定情報を推論モデル情報に付加するようになっている。例えば、入出力モデル化部２５は、推論モデル情報のヘッダ情報に推論設定情報を付加してもよい。例えば、入出力モデル化部２５は、推論モデル情報のヘッダ情報として、ネットワークの構造を示す情報、ウェイト及びバイアスの情報、連携する併用推論機器の情報、併用推論機器との連携の仕方の情報等を含む情報を生成する。
【００６０】
なお、入出力モデル化部２５は、ヘッダ情報ではなく、推論モデル情報にメタ情報として推論設定情報を付加してもよく、また、推論モデル情報とは別データの推論設定情報を推論モデル情報に関連付けるようにしてもよい。また、入出力モデル化部２５は、推論設定情報として、仕様情報をそのまま推論モデル情報に付加してもよい。
【００６１】
入出力モデル化部２５は、生成した推論設定情報を含む推論モデル情報を、通信部２２を介して撮像装置１０の制御部１１に送信する。制御部１１は、上述したように、推論モデル情報を推論設定記録領域１６ｂに記録させる。推論設定部１１ｄは、推論設定情報に基づいて、推論エンジン１７及びルールベースエンジン１８の動作を制御することにより、推論エンジン１７及びルールベースエンジン１８の推論を利用した推論結果を得ることを可能にする。
【００６２】
次に、このように構成された実施の形態の動作について図４から図１７を参照して説明する。図４から図６は推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【００６３】
推論エンジン１７とルールベースエンジン１８が連携して推論する手法として、図４から図６に示す３つの手法について説明する。図４から図６の例は、入力画像中から所定の検出対象を検出する推論を行うものである。
【００６４】
図４の例は、推論エンジン１７による推論と併用推論機器であるルールベースエンジン１８による推論とを相互に独立して実行させる手法（以下、第１手法という）を示している。入力画像は推論エンジン１７及びルールベースエンジン１８の両方に与えられ、推論エンジン１７及びルールベースエンジン１８それぞれ独立して推論を行う。推論エンジン１７からは推論結果として検出対象の画像上の位置情報及びその信頼性が出力され、ルールベースエンジン１８からも推論結果として検出対象の画像上の位置情報及びその信頼性が出力される。制御部１１は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。
【００６５】
図５は推論エンジン１７による推論を優先しつつ、推論エンジン１７による推論結果を併用推論機器であるルールベースエンジン１８に与えて推論精度を向上させる手法（以下、第２手法という）を示している。入力画像は先ず推論エンジン１７に与えられる。推論エンジン１７は推論結果を制御部１１に出力すると共に、例えば十分な信頼度の推論結果が得られない場合において推論結果あるいは推論不能の判定結果をルールベースエンジン１８に出力する。この結果を受けて、ルールベースエンジン１８は、推論を行い推論結果を制御部１１に出力する。制御部１１は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。
【００６６】
図６は推論エンジン１７による推論を優先しつつ、併用推論機器であるルールベースエンジン１８の推論結果を推論エンジン１７に与えて、推論エンジン１７よる推論度を向上させる手法（以下、第３手法という）を示している。入力画像は推論エンジン１７及び併用推論機器であるルールベースエンジン１８の両方に与えられる。ルールベースエンジン１８は推論結果を制御部１１に出力すると共に、例えば推論エンジン１７の推論精度を向上させるための補助情報を推論エンジン１７に出力する。例えば、ルールベースエンジン１８は、検出対象の顔を検出しその顔の座標や顔画像等を推論エンジン１７に補助情報として出力する。この結果を受けて、推論エンジン１７は、推論を行い推論結果を制御部１１に出力する。制御部１１は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。なお、連携の仕方は上記第１〜第３手法に限定されるものではない。例えば、併用推論機器の推論結果を優先して用いるようにしてもよい。
【００６７】
次に、第１〜第３手法の具体例について説明する。
【００６８】
図７は撮像装置１０による撮影の様子を示す説明図である。本実施の形態における撮像装置１０は、図７に示す筐体１０ａ中に図１中の各回路が収納されており、筐体１０ａの背面に表示部１４の表示画面１４ａが設けられている。ユーザ４１は、例えば、右手４２で筐体１０ａを把持して、表示部１４の表示画面１４ａを見ながら被写体を視野範囲に捉えた状態で撮影を行う。筐体１０ａの上面には、操作部１３を構成するレリーズスイッチ４３が設けられている。図７の例では、被写体はブロック塀４５の上にいる猫４６である。ユーザ４１は、右手４２の人差し指４２ａでレリーズスイッチ４３を押下することで撮影を行う。
【００６９】
図７の例において、撮像装置１０の推論エンジン１７及びルールベースエンジン１８は、推論により撮像画像中から猫１０を検出するように構成されるものとする。ルールベースエンジン１８は、例えば、公知の手法により、猫の顔検出が可能となるように構成される。
【００７０】
（第１手法）
図８は学習依頼装置３０の動作を説明するためのフローチャートであり、図９は学習装置２０の動作を説明するためのフローチャートである。
【００７１】
学習依頼装置３０の制御部３１は、図８のステップＳ１において、推論エンジン１７に設定する推論モデルの要求仕様の設定を行うか否かを判定する。要求仕様の設定を行わない場合には、制御部３１は、ステップＳ２において、教師データフォルダの作成が指示されているか否かを判定し、指示されている場合には、ステップＳ３において教師データフォルダを作成する。即ち、制御部３１は、猫検出の推論のための教師データとなる画像の収集及びアノテーション付与を行う。収集された教師データは、画像分類記録部３３の対象物画像群３４に教師データ３４ａとして記録される。また、対象物画像群３４にはテストデータ３４ｂも記録される。
【００７２】
制御部３１は、要求仕様の設定を行う場合には、ステップＳ１からステップＳ４に移行して、仕様設定部３１ａにより図３に示した仕様項目の設定を行う。上述したように、仕様設定部３１ａは、仕様項目の一部については自動生成し、他の一部についてはユーザの入力操作に基づいて作成する。制御部３１は、ステップＳ５において、全ての仕様項目の入力が終了したか否かを判定し、終了していない場合には処理をステップＳ１に戻し、終了している場合には、設定した仕様項目による仕様情報及び教師データを学習装置２０に送信して学習を依頼する。
【００７３】
図１０は、第１手法における学習装置２０による学習及び学習の結果得られる推論モデルを説明するための説明図である。学習装置２０の制御部２１は、図９のステップＳ１１において、学習依頼の待機状態である。制御部２１は、学習依頼が発生すると、処理をステップＳ１２に移行して学習依頼装置３０から仕様情報を受信して要求された仕様を取得する。また、制御部２１は、学習依頼装置３０から教師データを取得して教師データ記録部２３に記録する（ステップＳ１３）。制御部２１は、仕様及び必要性に応じて、教師データを追加記録する（ステップＳ１４）。母集合作成部２４は、仕様情報に基づく要求仕様に従って、入力データ設定部２４ａ及び出力項目設定部２４ｂによって、入力及び出力を設定する。入出力モデル化部２５は、設定された入力及び出力に応じて教師データに基づく学習を行う。
【００７４】
図１０に示すように、入出力モデル化部２５により、所定のネットワークＮ１には入力及び出力に対応する大量の画像が教師データとして与えられる。図１０の例では、教師データとして、猫の画像であって、顔を横から見た猫の画像が入力される。この場合の猫の画像には、顔部分を破線枠で囲むようにアノテーションが設定されている。なお、顔の向きは、撮像装置１０を基準にして説明しており、以下の説明では、横から見た顔を横向きの顔ということもある。即ち、横向きの顔は、猫が顔を撮像装置１０の光軸方向に向けていないことをいう。また、後述する正面向きの顔とは、顔が撮像装置１０の光軸方向に向いていることをいう。
【００７５】
大量の教師データによる学習を行うことで、ネットワークＮ１は、入力に対応する出力が得られるように、ネットワークデザインが決定される。即ち、図１０の例では、猫の画像が入力されると、猫の顔が横を向いている場合にはその顔の画像部分を囲む位置に破線枠を表示するための情報が信頼度の情報と共に得られる。即ち、図１０の例では、横向きの顔の猫の画像を検出する推論モデルが構築される。
【００７６】
なお、深層学習（ディープ・ラーニング）」は、ニューラル・ネットワークを用いた「機械学習」の過程を多層構造化したものである。情報を前から後ろに送って判定を行う「順伝搬型ニューラル・ネットワーク」が代表的なものである。これは、最も単純なものでは、Ｎ１個のニューロンで構成される入力層、パラメータで与えられるＮ２個のニューロンで構成される中間層、判別するクラスの数に対応するＮ３個のニューロンで構成される出力層の３層があればよい。そして、入力層と中間層、中間層と出力層の各ニューロンはそれぞれが結合加重で結ばれ、中間層と出力層はバイアス値が加えられることで、論理ゲートの形成が容易である。簡単な判別なら３層でもよいが、中間層を多数にすれば、機械学習の過程において複数の特徴量の組み合わせ方を学習することも可能となる。近年では、９層〜１５２層のものが、学習にかかる時間や判定精度、消費エネルギーの関係から実用的になっている。
【００７７】
機械学習に採用するネットワークＮ１としては、公知の種々のネットワークを採用してもよい。例えば、ＣＮＮ（Convolution Neural Network）を利用したＲ−ＣＮＮ（Regions with CNN features）やＦＣＮ（Fully Convolutional Networks）等を用いてもよい。これは、画像の特徴量を圧縮する、「畳み込み」と呼ばれる処理を伴い、最小限処理で動き、パターン認識に強い。また、より複雑な情報を扱え、順番や順序によって意味合いが変わる情報分析に対応して、情報を双方向に流れる「再帰型ニューラル・ネットワーク」（全結合リカレントニューラルネット）を利用してもよい。
【００７８】
これらの技術の実現のためには、ＣＰＵやＦＰＧＡ（Field Programmable Gate Array）といったこれまでの汎用的な演算処理回路などを使ってもよいが、ニューラル・ネットワークの処理の多くが行列の掛け算であることから、行列計算に特化したＧＰＵ（Graphic Processing Unit）やTensor Processing Unit（TPU）と呼ばれるものが利用される場合もある。近年ではこうした人工知能（ＡＩ）専用ハードの「ニューラル・ネットワーク・プロセッシング・ユニット（ＮＰＵ）」がＣＰＵなどその他の回路とともに集積して組み込み可能に設計され、処理回路の一部になっている場合もある。
【００７９】
また、深層学習に限らず、公知の各種機械学習の手法を採用して推論モデルを取得してもよい。例えば、サポートベクトルマシン、サポートベクトル回帰という手法もある。ここでの学習は、識別器の重み、フィルター係数、オフセットを算出するもので、他には、ロジスティック回帰処理を利用する手法もある。機械に何かを判定させる場合、人間が機械に判定の仕方を教える必要があり、今回の実施例では、画像の判定を、機械学習により導出する手法を採用したが、そのほか、特定の判断を人間が経験則・ヒューリスティクスによって獲得したルールを適応するルールベースの手法を応用して用いてもよい。
【００８０】
入出力モデル化部２５は、ステップＳ１６において、生成した推論モデルが必要仕様を満たしているか否かを判定する。満たしていない場合には、入出力モデル化部２５は、次のステップＳ１７において、仕様が仕様情報中の優先度で指定された条件を満足しているか否かを判定する。例えは、項目優先度が図３に示すものである場合には、入出力モデル化部２５は、生成した推論モデルが、検出対象項目、ハードウェア情報項目、正解率、信頼性項目、応答時間項目、入力画像サイズ、その他項目及び入力画像系統数項目の各項目の仕様を満足しているか否かを判定する。満足していている場合には、入出力モデル化部２５は、教師データの再設定等を行って（ステップＳ１８）、所定回数以上に到達したことを判定（ステップＳ１９）した後、所定回数未満である場合には、処理をステップＳ１５に戻して、推論モデル化を繰り返す。
【００８１】
入出力モデル化部２５は、ステップＳ１７において、生成した推論モデルが優先度で指定された条件を満足していないと判定した場合、又は、ステップＳ１９において、推論モデル化を所定回数以上繰り返したと判定した場合には、処理をステップＳ２０に移行して、有効な推論モデルを構築することが苦手な画像であることを示す苦手画像情報を学習依頼装置３０に対して送信する。
【００８２】
入出力モデル化部２５は、ステップＳ１６において、生成した推論モデルが必要仕様を満たしたと判定した場合には、処理をステップＳ２１に移行して、学習依頼装置３０及び必要に応じて指定された機器（例えば撮像装置１０）に対して推論モデル情報を送信する。
【００８３】
本実施の形態においては、この送信に際して、入出力モデル化部２５は、推論モデル情報に、仕様情報に基づいて生成した推論設定情報を付加するようになっている。推論設定情報には、図１０の例では、推論エンジンによる推論と併用推論機器による推論とを相互に独立して実行させ、各推論の信頼度等に基づいて推論結果を得る、即ち、第１手法による検出を行うことを示す情報が含まれる。
【００８４】
学習依頼装置３０の制御部３１は、推論モデル情報を受信すると、図８のステップＳ７において、テストデータ３４ｂを用いて、学習結果の良否判定を行う。制御部３１は、テストが良好である（ＯＫ）の判定を行った場合には、学習装置２０に対して、テスト対象の推論モデル情報を撮像装置１０に送信するように依頼し、テストが不良（ＮＧ）の判定を行った場合には、再学習を学習装置２０に依頼する。なお、この場合には、要求仕様の追加や修正を行ってもよい。なお、学習依頼装置３０は、ＯＫ判定した推論モデル情報を撮像装置１０に直接送信してもよい。
【００８５】
図１１は撮像装置１０の動作を説明するためのフローチャートである。
【００８６】
撮像装置１０の制御部１１は、図１１のステップＳ３１において、撮影モードが指定されているか否かを判定する。撮影モードが指定されていない場合には、制御部１１は、ステップＳ３２において推論モデルの取得が指示されているか否かを判定する。推論モデル取得が指示されていない場合には処理をステップＳ３１に戻し、指示されている場合には、次のステップＳ３３において、推論モデルの仕様を確認する。即ち、制御部１１は、学習装置２０又は学習依頼装置３０から推論モデル情報を受信し、受信した推論モデル情報に基づいて、推論エンジン１７のネットワーク１７ａを構築する。こうして、ネットワーク１７ａには、図１０のＮ１と同様の推論モデルが構築される。推論設定部１１ｄは、推論モデル情報に付加されている推論設定情報を読み出して、内蔵されているルールベースエンジン１８の機能を考慮して、必要な仕様を満足しているか否かの確認を行う。
【００８７】
制御部１１は、ステップＳ３４において、仕様確認の結果が良好（ＯＫ）であるか否かを判定する。良好でない場合には、制御部１１は、ステップＳ３８において、要求仕様の再設定を要求するための情報を学習装置２０又は学習依頼装置３０に送信する。仕様確認の結果が良好な場合には、制御部１１は、テストデータ記録領域１６ｃからテストデータを読み出して、推論のテストを実行する。制御部１１は、テストの結果、十分な信頼性が得られたか否かを判定し、十分な信頼性が得られた場合には取得した推論モデル情報を確定し（ステップＳ３７）、得られない場合には、ステップＳ３８において、要求仕様の再設定を要求する。
【００８８】
制御部１１は、撮影モードが指定されている場合には、ステップＳ３１からステップＳ４１に処理を移行して撮像画像を取り込む。撮像部１２からの撮像画像は制御部１１に与えられると共に、推論エンジン１７及びルールベースエンジン１８にも与えられる。制御部１１の推論設定部１１ｄは、推論設定情報に基づいて、第１手法により、推論エンジン１７及びルールベースエンジン１８の双方に独立して推論を行うように指示する。
【００８９】
図７に示すようにユーザ４１は撮影を行う。制御部１１の表示制御部１１ｆは、撮像部１２からの撮像画像を表示部１４に与えてライブビュー画像を表示させる。また、推論エンジン１７及びルールベースエンジン１８は、順次入力される撮像画像に対して推論を実施する（ステップＳ４２）。
【００９０】
図１２はルールベースエンジン１８による推論を説明するための説明図であり、図１３は推論エンジン１７による推論を説明するための説明図である。
【００９１】
いま、ある瞬間に図１２に示す撮像画像ＰＩ１がルールベースエンジン１８に入力されるものとする。ルールベースエンジン１８は、公知の顔検出処理によって、猫の正面向きの顔の部分を検出する。ルールベースエンジン１８は、検出結果として、猫の顔の部分を囲う実線枠ＰＯ１ａの情報を出力する。この情報は、ルールベースエンジン１８から制御部１１に供給される。表示制御部１１ｆは、ルールベースエンジン１８の検出結果に基づいて、ライブビュー画像上に実線枠ＰＯ１ａを重畳した表示画像ＰＯ１を表示する。
【００９２】
また、ある瞬間に図１３に示す撮像画像ＰＩ２が推論エンジン１７に入力されるものとする。推論エンジン１７は、学習装置２０又は学習依頼装置３０から提供を受けた推論モデル情報に基づくネットワーク１７ａにより、猫の横向きの顔の部分を検出する。推論エンジン１７は、検出結果として、猫の横向きの顔の部分を囲う破線枠ＰＯ２ａの情報を出力する。この情報は、推論エンジン１７から制御部１１に供給される。表示制御部１１ｆは、推論エンジン１７の検出結果に基づいて、ライブビュー画像上に破線枠ＰＯ２ａを重畳した表示画像ＰＯ２を表示する。
【００９３】
図１４は一連の推論の検出結果に基づく画像表示の例を示す説明図である。図１４は表示部１４の表示画面１４ａ上に表示されるライブビュー画像を示しており、図７の撮影の様子に示すようにユーザ４１がブロック塀４５上の猫４６の撮影を試みる状態において、時間の経過と共に順次撮像されてライブビュー表示される画像のうちの画像Ｐ１〜Ｐ６を示している。画像Ｐ１は、比較的広い範囲を撮像して得られたものであり、ブロック塀４５上の猫４６の画像を含む。制御部１１の表示制御部１１ｆは、ステップＳ４３において、推論エンジン１７及びルールベースエンジン１８を動作させて猫の画像の検出を行っていることを示す「発動」の表示Ｐ１ａを表示画面１４ａ上に表示させる。
【００９４】
ここで、視野範囲内に主に猫のみが撮影されるように、ユーザ４１がズーム操作を行うものとする。画像Ｐ２以降の画像はこの状態でのライブビュー画像を示している。画像Ｐ２は猫の顔が正面向きで撮像されたものである。この場合には、ルールベースエンジン１８により猫の顔が検出されて、顔の周囲を囲む実線枠の情報が制御部１１に供給される。制御部１１は、検出が行われたことを判定すると、推論エンジン１７による検出が利用されたかルールベースエンジン１８による検出が利用されたかを判定する（ステップＳ４５）。例えば、制御部１１は、推論エンジン１７及びルールベースエンジン１８から出力される信頼度によって、この判定を行ってもよい。画像Ｐ２ではルールベースエンジン１８の検出結果が採用されるので、処理をステップＳ４６に移行して、表示制御部１１ｆは、ライブビュー画像上に実線枠表示Ｐ２ｂを表示する。また、表示制御部１１ｆは、ルールベースエンジン１８が発動されて猫の顔の検出が行われたことを示す「Ｒ発動」の表示Ｐ２ａ及び「顔検出」の文字を表示する。
【００９５】
次の画像Ｐ３は猫の顔が横向きで撮像されたものである。この場合には、推論エンジン１７により猫の横向きの顔が検出されて、顔の周囲を囲む破線枠の情報が制御部１１に供給される。この場合には、表示制御部１１ｆは、ステップＳ４５の次のステップＳ４７において、ライブビュー画像上に破線枠表示Ｐ３ｂを表示する。また、表示制御部１１ｆは、推論エンジン１７が発動されて猫の顔の検出が行われたことを示す「Ａ発動」の表示Ｐ３ａ及び「ＡＩ推論」の文字を表示する。
【００９６】
次の画像Ｐ４も猫の顔が横向きで撮像されたものである。この場合には、推論エンジン１７からの情報に基づく破線枠表示Ｐ４ｂ、推論エンジン１７が発動されて猫の顔の検出が行われたことを示す「Ａ発動」の表示Ｐ４ａ及び「ＡＩ推論」の文字がライブビュー画像上に表示される。
【００９７】
また、次の画像Ｐ５は再び猫の顔が正面向きで撮像されたものである。この場合には、ルールベースエンジン１８により猫の顔が検出されて、ルールベースエンジン１８からの情報に基づく実線枠表示Ｐ５ｂ、ルールベースエンジン１８が発動されて猫の顔の検出が行われたことを示す「Ｒ発動」の表示Ｐ５ａ及び「顔検出」の文字がライブビュー画像上に表示される。
【００９８】
最後の画像Ｐ６は、「発動」の表示Ｐ６ａにより、推論エンジン１７及びルールベースエンジン１８の推論による猫の検出は発動されていることが示されている。しかし、猫の顔は検出されていない状態を示している。
【００９９】
制御部１１は、ステップＳ４８において、動画撮影操作又は静止画撮影操作が行われたか否かを判定する。これらの操作が行われた場合には、撮影や記録を行う（ステップＳ４９）。なお、動画撮影時には、動画撮影の終了操作によって、撮像画像がファイル化される。撮影操作が行われていない場合には、制御部１１は処理をステップＳ３１に戻す。
【０１００】
このように、第１手法では、推論エンジン１７及び併用推論機器であるルールベースエンジン１８は、相互に独立して動作しており、例えば推論を分担して行う場合等に採用される。
【０１０１】
（第２手法）
学習装置２０及び学習依頼装置３０における動作は、第１手法〜第３手法において同一であるが、各第１手法〜第３手法においては、仕様情報及び教師データが異なる。
【０１０２】
図１５は、第２手法における学習装置２０による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【０１０３】
図１５において、所定のネットワークＮ２には入力及び出力に対応する大量の画像が教師データとして与えられる。図１５の例は、猫の画像であって、顔が正面向きの猫の画像と顔が横向きの猫の画像とが入力される。そして、顔が正面向きの猫の画像では、顔部分の位置情報（実線枠）がアノテーションとして設定されており、顔が横向きの猫の画像では、顔部分を破線枠で囲むようにアノテーションが設定されている。更に、第２手法では、顔が正面向きの猫の画像については、併用推論機器の利用を促すためのアノテーションが設定されている。
【０１０４】
これにより、ネットワークＮ２は、入力に対応する出力が得られるように、ネットワークデザインが決定される。即ち、図１５の例では、猫の画像が入力されると、猫の顔が正面を向いている場合には、併用推論機器の利用を促すと共に、その顔の画像部分の位置情報（実線枠）が信頼度の情報と共に得られ、猫の顔が横を向いている場合にはその顔の画像部分を囲む位置に破線枠を表示するための情報が信頼度の情報と共に得られる。
【０１０５】
図１６は撮像装置１０の動作を説明するためのフローチャートである。図１６において図１１と同一の手順には同一符号を付して説明を省略する。なお、第２手法においても、ルールベースエンジン１８は、図１２に示すように、正面を向いた猫の顔を検出するものとする。
【０１０６】
制御部１１は、撮影モードが指定されている場合には、ステップＳ３１からステップＳ４１に処理を移行して撮像画像を取り込む。撮像部１２からの撮像画像は制御部１１に与えられると共に、推論エンジン１７及びルールベースエンジン１８にも与えられる。制御部１１の推論設定部１１ｄは、推論モデル情報に付加された推論設定情報に基づいて、推論エンジン１７及びルールベースエンジン１８に対して、第２手法により推論を行うように制御する。
【０１０７】
制御部１１は、次のステップＳ５２において、推論エンジン１７による推論結果が併用推論機器の利用を促すものであるか否かを判定する。
【０１０８】
いま、ある瞬間に図１３に示す撮像画像ＰＩ２が推論エンジン１７に入力されるものとする。推論エンジン１７は、学習装置２０又は学習依頼装置３０から提供を受けた推論モデル情報に基づくネットワーク１７ａにより、猫の横向きの顔の部分を検出する。推論エンジン１７は、検出結果として、猫の横向きの顔の部分を囲う破線枠ＰＯ２ａ（図１３参照）の情報を出力する。この情報は、推論エンジン１７から制御部１１に供給される。この場合には、制御部１１は、ステップＳ５２からステップＳ５３に移行して、推論の信頼性が高いか否かを判定する。制御部１１は、推論の信頼性が高い場合には、検出結果を表示する。即ち、表示制御部１１ｆは、推論エンジン１７の検出結果に基づいて、ライブビュー画像上に破線枠ＰＯ２ａを重畳した表示画像ＰＯ２を表示する。
【０１０９】
また、ある瞬間に図１２に示す撮像画像ＰＩ１が推論エンジン１７及びルールベースエンジン１８に入力されるものとする。推論エンジン１７は、推論モデル情報に基づくネットワーク１７ａにより、猫の正面向きの顔の部分を検出する。推論エンジン１７は、検出結果として、猫の正面向きの顔の画像位置の情報及びルールベースエンジン１８に検出を促す情報を制御部１１に出力する。この場合には、制御部１１は、ステップＳ５２からステップＳ５５に処理を移行して、推論エンジン１７の推論結果、即ち、猫の顔の画像位置の情報をルールベースエンジン１８に与えて、ルールベースエンジン１８に猫の顔を検出させる。ルールベースエンジン１８は、公知の顔検出処理によって、猫の正面向きの顔の部分を検出する。この場合には、ルールベースエンジン１８には、猫の顔の画像位置の情報が与えられており、ルールベースエンジン１８は、より高精度に猫の顔の検出が可能である。
【０１１０】
ルールベースエンジン１８は、検出結果として、猫の顔の部分を囲う実線枠ＰＯ１ａ（図１２参照）の情報を出力する。この情報は、ルールベースエンジン１８から制御部１１に供給される。表示制御部１１ｆは、ルールベースエンジン１８の検出結果に基づいて、ライブビュー画像上に実線枠ＰＯ１ａを重畳した表示画像ＰＯ１を表示する（ステップＳ５６）。
【０１１１】
このように第２手法では、推論エンジン１７は、推論結果をルールベースエンジン１８に与えて、ルールベースエンジン１８において推論を行わせている。これにより、ルールベースエンジン１８において高い推論精度が得られる画像等について、より精度を向上させるための情報をルールベースエンジン１８に提供することができ、結果的に高い推論精度の検出が可能である。
【０１１２】
（第３手法）
第３手法においても、学習装置２０及び学習依頼装置３０における動作は他の手法と同一であり、仕様情報及び教師データが他の手法と異なる。
【０１１３】
第３手法においては、学習装置２０において作成される推論モデルは、入力として、撮像画像だけでなく、併用推論機器の検出結果が用いられるように設定される。例えば、併用推論機器から猫の顔部の画像や猫の顔部の画像位置等の情報が入力され、撮像部１２から猫の画像が入力された場合には、猫の顔を検出する推論モデルが構築されるように、学習が行われる。
【０１１４】
図１７は撮像装置１０の動作を説明するためのフローチャートである。図１７において図１１と同一の手順には同一符号を付して説明を省略する。なお、第３手法においても、ルールベースエンジン１８は、図１２に示すように、正面を向いた猫の顔を検出するものとする。
【０１１５】
制御部１１は、撮影モードが指定されている場合には、ステップＳ３１からステップＳ４１に処理を移行して撮像画像を取り込む。撮像部１２からの撮像画像は制御部１１に与えられると共に、推論エンジン１７及びルールベースエンジン１８にも与えられる。制御部１１の推論設定部１１ｄは、推論モデル情報に付加された推論設定情報に基づいて、推論エンジン１７及びルールベースエンジン１８に対して、第３手法により推論を行うように制御する。
【０１１６】
制御部１１は、ステップＳ４１の次のステップＳ６１において、ルールベースエンジン１８に推論を実行させて猫の顔を検出させる。ルールベースエンジン１８からの検出結果は制御部１１に与えられる。制御部１１は、ルールベースエンジン１８の検出結果の判定を行う（ステップＳ６２）。
【０１１７】
次に、制御部１１は、ステップＳ６３において、推論エンジン１７に推論を実行させる。この場合には、制御部１１は、ルールベースエンジン１８の検出結果を推論エンジン１７に与える。これにより、推論エンジン１７は、撮像部１２からの入力画像とルールベースエンジン１８の推論結果とが与えられ、これらの入力を用いた推論によって、推論結果を得る。推論エンジン１７の推論結果は制御部１１に出力される。
【０１１８】
制御部１１は、ステップＳ６４において、推論エンジン１７の推論結果について判定を行う。更に、制御部１１は、ステップＳ６５において、推論エンジン１７及びルールベースエンジン１８の推論結果に対する総合判定によって、検出結果を得る。
【０１１９】
このように第３手法では、ルールベースエンジン１８は、推論結果を推論エンジン１７に与えており、推論エンジン１７の推論の精度をより向上させることができる。
【０１２０】
このように本実施の形態においては、併用推論機器の利用を想定して推論モデルを構築するための学習を行うことで、より有効な推論の実現が可能である。学習依頼装置はこのような併用推論機器の利用を想定した学習のための仕様情報を作成することで、学習装置において有効な推論モデルの構築を可能にする。また、学習装置は、推論モデルを利用する装置において、推論モデルの利用の仕方等を示す推論設定情報を推論モデル情報に付加して伝送する。これにより、推論モデルを利用する装置において、受信した推論モデル情報に付加された推論設定情報に基づいて、併用推論機器と推論モデルを用いる推論エンジンとを連携して使用することが可能となる。こうして、併用推論機器である例えばルールベースエンジンと推論エンジンとを効果的に動作させてより有効な推論結果を得ることが可能となる。
【０１２１】
（第２の実施の形態）
図１８及び図１９は第２の実施の形態を示すブロック図である。本実施の形態は学習装置の構成が図１と異なり、図１８及び図１９は、図１の学習装置２０に追加する構成を示している。
【０１２２】
図１８及び図１９の画像データベース（ＤＢ）５１ａ及び正解データベース（ＤＢ）５１ｂは、図１の学習装置２０内の教師データ記録部２３に相当するものであり、教師データ中の画像データの集まりを画像ＤＢ５１ａとし、教師データ中のアノテーションデータの集まりを正解ＤＢ５１ｂとして表している。
【０１２３】
本実施の形態における学習装置は、学習装置２０の構成の他に、併用推論機器５３、検出精度測定器５４、正解情報出力部５５、検出精度データベース（ＤＢ）５６及び検出精度情報出力部５７を備えている。制御部２１（図１参照）は、図１８に示すように、併用推論機器５３を用い、画像ＤＢ５１ａ中の各画像データ５２を併用推論機器５３に与えて推論処理を実行させるようになっている。併用推論機器５３の検出結果は検出精度測定器５４に与えられる。
【０１２４】
また、正解情報出力部５５は、正解ＤＢ５１ｂから併用推論機器５３に入力された画像データに対応する正解情報を取得して検出精度測定器５４に出力する。検出精度測定器５４は、併用推論機器５３の検出結果と正解情報との比較によって、併用推論機器５３の検出精度を測定して測定結果を検出精度ＤＢ５６に出力する。検出精度ＤＢ５６は、各画像毎に併用推論機器５３の推論の検出精度を格納する。
【０１２５】
入出力モデル化部２５は、推論モデルＮの学習時において、図１９に示すように、各画像データ５２を推論モデルＮに与え、正解情報出力部５５からの正解情報を推論モデルＮに与える。また、検出精度情報出力部５７は、推論モデルＮに入力される画像データ５２に対応する検出精度の情報を検出精度ＤＢ５６から読み出す。入出力モデル化部２５は、制御部２１に制御されて、検出精度情報出力部５７からの検出精度の情報を推論モデルＮの構築時に利用する。
【０１２６】
例えば、制御部２１は、推論モデルＮの構築に際して、教師データとして推論モデルＮに入力する画像に対応する検出精度情報を利用することで、検出精度が高い画像については併用推論機器による推論を促すように学習を行ってもよい。また、画像の検出精度が所定の閾値より高い場合にはこの画像についてのこれ以上の学習は不要と判定し、検出精度が所定の閾値よりも低い画像についてのみ学習を行うようになっていてもよい。この場合には、信頼度が比較的低くなる画像についての十分な学習が可能となり、全体として検出精度を向上させることができる可能性がある。
【０１２７】
このように本実施の形態においては、学習に際して併用推論機器による検出精度の情報を利用することができ、より有効な推論を可能にする推論モデルの構築が可能となる。
【０１２８】
上記実施の形態においては、撮像のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラでもよく、さらに、携帯電話やスマートフォンなど携帯情報端末（ＰＤＡ：Personal Digital Assist）等に内蔵されるカメラでも勿論構わない。
【０１２９】
本発明は、上記各実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１３０】
なお、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。また、これらの動作フローを構成する各ステップは、発明の本質に影響しない部分については、適宜省略も可能であることは言うまでもない。
【０１３１】
なお、ここで説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【０１３２】
なお、実施例中で、「部」（セクションやユニット）として記載した部分は、専用の回路や、複数の汎用の回路を組み合わせて構成してもよく、必要に応じて、予めプログラムされたソフトウェアに従って動作を行うマイコン、ＣＰＵなどのプロセッサ、あるいはＦＰＧＡなどシーケンサを組み合わせて構成されてもよい。また、その制御の一部または全部を外部の装置が引き受けるような設計も可能で、この場合、有線や無線の通信回路が介在する。通信は、ブルートゥースやＷｉＦｉ、電話回線などで行えばよく、ＵＳＢなどで行っても良い。専用の回路、汎用の回路や制御部を一体としてＡＳＩＣとして構成してもよい。
【符号の説明】
【０１３３】
１…撮像装置、１０…制御部、１１…画像処理部、１１ａ…画質改善部、１２…表示制御部、１３…記録制御部、１４…行為検出部、２０…撮像部、２１…光学系、２２…撮像素子、２３…変位付与部、３０…特定範囲推定部、３１…シーン判定部、３２…良好構図記憶部、３３…改善予測部、４１…表示部、４２…操作部、４３…センサ部、４４…記録部。
【図１】
2020129268.tif 000003
【図２Ａ】
2020129268.tif 000004
【図２Ｂ】
2020129268.tif 000005
【図２Ｃ】
2020129268.tif 000006
【図３】
2020129268.tif 000007
【図４】
2020129268.tif 000008
【図５】
2020129268.tif 000009
【図６】
2020129268.tif 000010
【図７】
2020129268.tif 000011
【図８】
2020129268.tif 000012
【図９】
2020129268.tif 000013
【図１０】
2020129268.tif 000014
【図１１】
2020129268.tif 000015
【図１２】
2020129268.tif 000016
【図１３】
2020129268.tif 000017
【図１４】
2020129268.tif 000018
【図１５】
2020129268.tif 000019
【図１６】
2020129268.tif 000020
【図１７】
2020129268.tif 000021
【図１８】
2020129268.tif 000022
【図１９】
2020129268.tif 000023