(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-28
(45)【発行日】2022-11-08
(54)【発明の名称】学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置
(51)【国際特許分類】
G06N 5/04 20060101AFI20221031BHJP
G06N 20/00 20190101ALI20221031BHJP
【FI】
G06N5/04
G06N20/00
(21)【出願番号】P 2019021597
(22)【出願日】2019-02-08
【審査請求日】2021-07-14
(73)【特許権者】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】110002907
【氏名又は名称】弁理士法人イトーシン国際特許事務所
(72)【発明者】
【氏名】豊田 哲也
(72)【発明者】
【氏名】羽田 和寛
(72)【発明者】
【氏名】伊藤 大
(72)【発明者】
【氏名】長 和彦
(72)【発明者】
【氏名】野中 修
【審査官】中村 信也
(56)【参考文献】
【文献】特開2017-059031(JP,A)
【文献】特許第6431231(JP,B1)
【文献】特開2018-152063(JP,A)
【文献】特開2004-294360(JP,A)
【文献】特開平06-124196(JP,A)
【文献】特開平03-095603(JP,A)
【文献】VILLENA-ROMAN, Julio,Hybrid Approach Combining Machine Learning and a Rule-Based Expert System for Text Categorization,Proceedings of the Twenty-Fourth International Florida Artificial Intelligence Research Society Conference,2011年05月20日,pp.323-328,[検索日:2022年07月08日],インターネット<URL:https://aaai.org/ocs/index.php/FLAIRS/FLAIRS11/paper/view/2532/3048>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
推論モデルの仕様を要求するための複数の仕様項目の設定を記述した仕様情報を生成する仕様設定部と、
上記仕様情報を教師データと共に上記推論モデルを生成する学習装置に送信するための制御を行う制御部とを具備し、
上記仕様設定部は、上記仕様情報中に、上記推論モデルを利用する推論エンジンが、他の併用推論機器と連携して推論を行うか否かを設定する仕様項目を含めることを特徴とする学習依頼装置。
【請求項2】
上記仕様設定部は、上記仕様情報中に、上記他の併用推論機器の機能の情報及び上記推論エンジンと上記他の併用推論機器との間の入出力に関する情報を設定する仕様項目を含めることを特徴とする請求項1に記載の学習依頼装置。
【請求項3】
上記仕様設定部は、上記仕様情報中に、上記複数の仕様項目の優先度を設定する仕様項目を含めることを特徴とする請求項1に記載の学習依頼装置。
【請求項4】
推論モデルの仕様を決定するための複数の仕様項目の設定を記述した仕様情報であって、上記推論モデルを利用する推論エンジンが他の併用推論機器と連携して推論を行うための仕様情報に基づいて上記推論モデルを構築する推論モデル化部と、
上記仕様情報に基づいて上記併用推論機器との連携の仕方に関する推論設定情報を上記推論モデルを構築するための推論モデル情報に付加して送信するための制御を行う制御部とを具備することを特徴とする学習装置。
【請求項5】
上記制御部は、上記推論設定情報として上記仕様情報を上記推論モデル情報に付加することを特徴とする請求項4に記載の学習装置。
【請求項6】
上記制御部は、上記推論設定情報を上記推論モデル情報のヘッダ情報として上記推論モデル情報に付加することを特徴とする請求項4に記載の学習装置。
【請求項7】
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、
上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、
上記併用推論機器と、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる制御部とを具備することを特徴とする推論モデル利用装置。
【請求項8】
上記制御部は、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを相互に独立して動作させ、上記推論エンジンの第1の推論結果の信頼度と上記併用推論機器の第2の推論結果の信頼度とに基づいて、上記第1又は第2の推論結果を得ることを特徴とする請求項7に記載の推論モデル利用装置。
【請求項9】
上記制御部は、上記推論設定情報に基づいて、上記推論エンジンの第1の推論結果を上記併用推論機器に与えて、上記併用推論機器の第2の推論結果を得ることを特徴とする請求項7に記載の推論モデル利用装置。
【請求項10】
上記制御部は、上記推論設定情報に基づいて、上記併用推論機器の第2の推論結果を上記推論エンジンに与えて、上記推論エンジンの第1の推論結果を得ることを特徴とする請求項7に記載の推論モデル利用装置。
【請求項11】
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、
上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させることを特徴とする推論モデル利用方法。
【請求項12】
コンピュータに、
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、
上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる手順を実行させるための推論モデル利用プログラム。
【請求項13】
被写体の撮像画像を取得する撮像部と、
推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、
上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、
上記併用推論機器と、
上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させることにより、上記撮像画像から所定の対象物を検出する制御部とを具備することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、利用条件との整合性に留意した学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置に関する。
【背景技術】
【0002】
従来、ロジック回路を用いて、人が記述したルールに従って処理を行うルールベース制御の装置が採用されることがある。ルールベース制御による推論を行うことで、各種問題を解決することが可能である。また、近年、深層学習等の機械学習により生成した推論モデルを利用して各種問題を解決するコンピュータシステムも採用されるようになってきている。特に、深層学習を利用した装置は、例えば、画像解析、音声解析、自然言語処理等について極めて有効な推論を行うことができる。
【0003】
例えば、特許文献1には、異常検知に際して、異常の有無を判断するための異常度の閾値を定める技術が開示されている。特許文献1の装置においては、異常の検知対象から収集されたデータを学習した学習結果を利用することで異常度を算出するようになっている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
機械学習により有効な推論モデルを得るためには、学習の仕方や学習に用いる教師データとして適切なものを採用する必要がある。機械学習による推論の有効性は学習の影響を受け、また、十分な学習を行ったとしても正しい推論が得られるとは限らない。場合によっては、ルールベースを用いた推論の方が、機械学習による推論よりもより正しい推論結果が得られることもある。
【0006】
そこで、ルールベースを用いた推論の利点と機械学習による推論の利点とを考慮した仕組みが重要であるが、学習の仕方や推論モデルの利用方法等について十分に考慮されたシステムは開発されていない。
【0007】
本発明は、これまでのようにルールベースのロジック回路の利点を考慮し、機械学習による推論を利用する装置を有効に機能させることを可能にすることができる学習依頼装置、学習装置、推論モデル利用装置、推論モデル利用方法、推論モデル利用プログラム及び撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様による学習依頼装置は、推論モデルの仕様を要求するための複数の仕様項目の設定を記述した仕様情報を生成する仕様設定部と、上記仕様情報を教師データと共に上記推論モデルを生成する学習装置に送信するための制御を行う制御部とを具備し、上記仕様設定部は、上記仕様情報中に、上記推論モデルを利用する推論エンジンが、他の併用推論機器と連携して推論を行うか否かを設定する仕様項目を含める。
【0009】
本発明の一態様による学習装置は、推論モデルの仕様を決定するための複数の仕様項目の設定を記述した仕様情報であって、上記推論モデルを利用する推論エンジンが他の併用推論機器と連携して推論を行うための仕様情報に基づいて上記推論モデルを構築する推論モデル化部と、上記仕様情報に基づいて上記併用推論機器との連携の仕方に関する推論設定情報を上記推論モデルを構築するための推論モデル情報に付加して送信するための制御を行う制御部とを具備する。
【0010】
本発明の一態様による推論モデル利用装置は、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、上記併用推論機器と、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる制御部とを具備する。
【0011】
本発明の一態様による推論モデル利用方法は、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる。
【0012】
本発明の一態様による推論モデル利用プログラムは、コンピュータに、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信し、上記推論モデル情報に基づいて構成される推論モデルを用いて上記推論エンジンを構築し、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させる手順を実行させる。
【0013】
本発明の一態様による撮像装置は、被写体の撮像画像を取得する撮像部と、推論エンジンと併用推論機器とが連携して推論を行うことを前提にした推論モデルを構築するための推論モデル情報であって、上記推論エンジンと上記併用推論機器との連携の仕方に関する推論設定情報が付加された上記推論モデル情報を受信する通信部と、上記推論モデル情報に基づいて構成される推論モデルを用いて推論を行う上記推論エンジンと、上記併用推論機器と、上記推論設定情報に基づいて、上記推論エンジンと上記併用推論機器とを連携させて推論を実行させることにより、上記撮像画像から所定の対象物を検出する制御部とを具備する。
【発明の効果】
【0015】
本発明によれば、機械学習による推論を利用する装置を有効に機能させることを可能にすることができるという効果を有する。
【図面の簡単な説明】
【0016】
【
図1】本発明の第1の実施の形態に係る学習依頼装置、学習装置及び撮像装置を示すブロック図である。
【
図2A】ルールベースエンジンを用いた処理を示す説明図である。
【
図2B】推論エンジンを用いた処理を示す説明図である。
【
図2C】ルールベースエンジンと推論エンジンとを連携して用いた処理を示す説明図である。
【
図3】表示部14の表示画面14a上に表示された仕様設定メニュー表示DMの一例を示す説明図である。
【
図4】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【
図5】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【
図6】推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【
図7】撮像装置10による撮影の様子を示す説明図である。
【
図8】学習依頼装置30の動作を説明するためのフローチャートである。
【
図9】学習装置20の動作を説明するためのフローチャートである。
【
図10】第1手法における学習装置20による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【
図11】撮像装置10の動作を説明するためのフローチャートである。
【
図12】ルールベースエンジン18による推論を説明するための説明図である。
【
図13】推論エンジン17による推論を説明するための説明図である。
【
図14】一連の推論の検出結果に基づく画像表示の例を示す説明図である。
【
図15】第2手法における学習装置20による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【
図16】撮像装置10の動作を説明するためのフローチャートである。
【
図17】撮像装置10の動作を説明するためのフローチャートである。
【
図18】第2の実施の形態を示すブロック図である。
【
図19】第2の実施の形態を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0018】
(第1の実施の形態)
本発明は、機械学習による推論モデルを有効に活用するためのもので、推論モデルを利用するハードウェア、装置との整合性を考慮したものである。
推論モデルを機械学習によって得る場合、学習時に与える教師データや学習用のコンピュータの性能と、実使用時の入力データと実使用時の電子回路の性能との差異を十分に考慮しなければ、思惑通りの推論結果を得ることが出来ない。したがって、推論モデル利用時の制約条件等を十分に考慮した、学習のステップが重要となる。このいわば、「推論モデルの要求仕様」を標準化できるような工夫によって、きわめて自由度の高い学習環境や、豊富な教師データ類を活用可能にして、利用環境下において、さらに高精度な出力が可能な推論モデルの取得を可能としている。
【0019】
図1は本発明の第1の実施の形態に係る学習依頼装置、学習装置及び撮像装置を示すブロック図である。本実施の形態は機械学習による推論モデルを有効に活用する一例として、推論モデルを利用する推論エンジンの他に併用推論機器を有する装置における推論モデルの活用例について説明する。即ち、本実施の形態は、ルールベースを用いた推論を実行する併用推論機器であるルールベースエンジン及び機械学習による推論を実行する推論エンジンを有する装置において、より有効な推論を実現するために、学習のための仕様情報を作成し、学習結果の推論モデルの利用の仕方等を示す推論設定情報を含む推論モデル情報を生成し、推論モデル情報を用いてルールベースエンジンと推論エンジンとを効果的に動作させることを可能にするものである。なお、
図1では、ルールベースエンジン及び推論エンジンを有する装置として撮像装置を例に説明するが、撮像装置に限定されるものではない。また、併用推論機器として、ルールベースエンジンを採用する例を説明するが、機械学習による推論を実行する推論エンジン、例えば推論モデルが更新不能な推論エンジンを採用してもよい。
なお、推論モデルの活用例として、推論モデルを利用する推論エンジンが併用推論機器と連携して推論を行う例を説明するが、併用推論機器が存在しない場合においても、「推論モデルの要求仕様」を記述した仕様情報の作成、仕様情報に基づいて作成された推論モデルの利用の仕方等を示す推論設定情報を含む推論モデル情報の生成によって、推論モデルを有効に活用できることは以下の説明から明らかである。
【0020】
先ず、
図2Aから
図2Cを参照して、ルールベースエンジンと推論エンジンとを連携して用いる例について説明する。
図2Aはルールベースエンジンを用いた処理を示す説明図であり、
図2Bは推論エンジンを用いた処理を示す説明図であり、
図2Cはルールベースエンジンと推論エンジンとを連携して用いた処理を示す説明図である。
図2Aから
図2Cは撮像装置のホワイトバランスゲイン(WBゲイン)を求めるフローを示している。なお、
図2Aから
図2Cにおいて、推論エンジンによる処理はハッチングにて示してある。
【0021】
図2Aの例では、画像入力に対して、光源色判定及び被写体色判定が行われる。ルールベースエンジンは、これらの判定結果を用いて、予め設定されているルールに従って総合判定を行い、ホワイトバランスゲインを求める。
図2Bの例では、画像入力に対して、推論エンジンは、ホワイトバランスゲインを推定する(WB推定)。
【0022】
図2Cの例において、推論エンジンは、画像入力に対してホワイトバランスゲインの推論結果を直接出力するのではなく、先ず入力画像から光源マップを求める。一方、ルールベースエンジンは、光源色を判定する。推論エンジンは、ルールベースエンジンが求めた光源色を光源マップを用いて補正する。そして、推論エンジンによる光源色の補正結果と被写体色の判定結果とに基づく総合判定により、ホワイトバランスゲインが求められる。
【0023】
図1の撮像装置10は、このように連携して推論を行う推論エンジン17とルールベースエンジン18とを備える。撮像装置10は、被写体を撮像して得た画像を記録する。撮像装置10としては、デジタルカメラやビデオカメラだけでなく、スマートフォンやタブレット端末に内蔵されるカメラを採用してもよい。なお、推論エンジンがルールベースエンジンの機能をカバーする場合は、ルールベースエンジンはなくてもよい。
【0024】
撮像装置10は、撮像装置10の各部を制御する制御部11を備えている。制御部11は、CPU(Central Processing Unit)等を用いたプロセッサによって構成されて、図示しないメモリに記憶されたプログラムに従って動作して各部を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【0025】
撮像装置10の撮像部12は、撮像素子12a及び光学系12bを有している。光学系12bは、ズームやフォーカシングのための図示しないレンズや絞り等を備えている。光学系12bは、これらのレンズを駆動する図示しないズーム(変倍)機構、ピント及び絞り機構を備えている。
【0026】
撮像素子12aは、CCDやCMOSセンサ等によって構成されており、光学系12bによって被写体光学像が撮像素子12aの撮像面に導かれるようになっている。撮像素子12aは、被写体光学像を光電変換して被写体の撮像画像(撮像信号)を取得する。
【0027】
制御部11の撮像制御部11aは、光学系12bのズーム機構、ピント機構及び絞り機構を駆動制御して、ズーム、絞り及びピントを調節することができるようになっている。撮像部12は、撮像制御部11aに制御されて撮像を行い、撮像画像(動画像及び静止画像)の撮像信号を制御部11に出力する。
【0028】
撮像装置10には操作部13が設けられている。操作部13は、図示しないレリーズボタン、ファンクションボタン、撮影モード設定、パラメータ操作等の各種スイッチ、ダイヤル、リング部材等を含み、ユーザ操作に基づく操作信号を制御部11に出力する。制御部11は、操作部13からの操作信号に基づいて、各部を制御するようになっている。
【0029】
制御部11は、撮像部12からの撮像画像(動画像及び静止画像)を取込む。制御部11の画像処理部11bは、取込んだ撮像画像に対して、所定の信号処理、例えば、色調整処理、マトリックス変換処理、ノイズ除去処理、その他各種の信号処理を行う。
【0030】
撮像装置10には表示部14が設けられており、制御部11には、表示制御部11fが設けられている。表示部14は、例えば、LCD(液晶表示装置)等の表示画面を有する表示器であり、表示画面は撮像装置10の例えば筐体背面等に設けられる。表示制御部11fは、画像処理部11bによって信号処理された撮像画像を表示部14に表示させるようになっている。また、表示制御部11fは、撮像装置10の各種メニュー表示や警告表示等を表示部14に表示させることもできるようになっている。
【0031】
撮像装置10には通信部15が設けられており、制御部11には、通信制御部11eが設けられている。通信部15は、通信制御部11eに制御されて、学習装置20及び学習依頼装置30との間で情報を送受することができるようになっている。通信部15は、例えば、ブルートゥース(登録商標)等の近距離無線による通信及び例えば、Wi-Fi(登録商標)等の無線LANによる通信が可能である。なお、通信部15は、ブルートゥースやWi-Fiに限らず、各種通信方式での通信を採用することが可能である。通信制御部11eは、通信部15を介して、学習装置20から推論モデル情報を受信することができる。この推論モデル情報は、推論エンジン17のネットワーク17aにより所望の推論モデルを構築するためのものである。
【0032】
制御部11には記録制御部11cが設けられている。記録制御部11cは、信号処理後の撮像画像を圧縮処理し、圧縮後の画像を記録部16に与えて記録させることができる。記録部16は、所定の記録媒体によって構成されて、制御部11から与えられた情報を記録すると共に、記録されている情報を制御部11に出力することができる。また、記録部16としては、例えばカードインターフェースを採用してもよく、この場合には記録部16はメモリカード等の記録媒体に画像データを記録可能である。
【0033】
記録部16は、画像データ記録領域16aを有しており、記録制御部11cは、画像データを画像データ記録領域16aに記録するようになっている。また、記録制御部11cは、記録部16に記録されている情報を読み出して再生することも可能である。
【0034】
また、記録部16は、推論設定記録領域16bを有している。記録制御部11cは、受信された推論モデル情報を記録部16の推論設定記録領域16bに記録することができるようになっている。こうして、推論設定記録領域16bには、推論エンジン17を構成するネットワーク17aの設定に関する推論モデル情報が記録されるようになっている。なお、推論モデル情報には、上述したように、推論設定情報も含まれる。また、記録部16のテストデータ記録領域16cには、推論エンジン17の動作を検証するためのテストデータが記録される。
【0035】
推論設定情報は、後述する仕様情報に基づいて生成されるものであり、所望の推論結果を得るための推論エンジン17と併用推論機器であるルールベースエンジン18との連携の仕方を規定するものである。推論設定情報としては、仕様情報をそのまま用いてもよく、また、仕様情報に基づいて生成されていてもよい。例えば、推論設定情報により、推論エンジン17とルールベースエンジン18との入出力の関係等が示される。
【0036】
ルールベースエンジン18は、ロジック回路18aを備えている。ロジック回路18aは、予め設定されたルールに従って推論を行うものであり、入力に対する推論によって出力を得る。
図1の例では、ロジック回路18aは、撮像部12からの撮像画像が入力されて、推論結果を出力する。本実施の形態においては、ルールベースエンジン18からの推論結果は、制御部11に供給されると共に推論エンジン17にも供給される場合がある。
【0037】
推論エンジン17は、ネットワーク17aを有している。ネットワーク17aは、推論設定記録領域16bに記録されている推論モデル情報に含まれる設定値を用いて構築されており、機械学習における学習が完了することによって得られるネットワーク、即ち、推論モデルを構成する。
図1の例では、ネットワーク17aは、撮像部12からの撮像画像が入力されて、推論結果を出力する。本実施の形態においては、推論エンジン17からの推論結果は、制御部11に供給されると共にルールベースエンジン18にも供給される場合がある。
【0038】
即ち、本実施の形態においては、推論エンジン17は、撮像部12からの撮像画像だけでなく、ルールベースエンジン18の推論結果が与えられて推論を行い、推論結果を得る場合がある。同様に、ルールベースエンジン18は、撮像部12からの撮像画像だけでなく、推論エンジン17の推論結果が与えられて推論を行い、推論結果を得る場合がある。
【0039】
このような推論エンジン17とルールベースエンジン18との連携の関係については、推論モデル情報中の推論設定情報に記述されている。制御部11には、推論設定部11dが設けられており、推論設定部11dは、推論設定記録領域16bから推論設定情報を読み出して、推論エンジン17及びルールベースエンジン18を制御する。推論設定部11dは、推論エンジン17及びルールベースエンジン18の少なくとも一方の推論結果を用いて総合判定を行う。
【0040】
本実施の形態においては、推論設定情報の元となる仕様情報は、学習依頼装置30の後述する仕様設定部31aにより生成されるようになっている。また、本実施の形態においては、この仕様設定部31aと同一機能を有する仕様設定部11gが制御部11に設けられている。仕様設定部31a,11gは、推論エンジン17に採用する推論モデルの生成に必要な推論モデル情報の仕様を記述した仕様情報を生成することができるようになっている。なお、仕様設定部11gは、生成した仕様情報を通信部15を介して学習依頼装置30に送信する。
【0041】
仕様設定部31a,11gは、仕様情報中の一部の情報を自動生成すると共に、一部の情報をユーザの入力操作に基づいて生成する。仕様設定部11gは、表示制御部11fを制御して、仕様情報の確認及び変更のための仕様設定メニュー表示を表示させることができるようになっている。なお、仕様設定部31aについても、学習依頼装置30に設けられた図示しない表示部に、仕様情報の確認及び変更のための仕様設定メニュー表示を表示させることができるようになっている。
【0042】
推論モデルを機械学習によって得る場合、学習時に与える教師データや学習用のコンピュータの性能と、実使用時の入力データと実使用時の電子回路の性能との差異を十分に考慮しなければ、思惑通りの推論結果を得ることが出来ない。したがって、推論モデル利用時の制約条件等を十分に考慮した、学習のステップが重要となる。このいわば、「推論モデルの要求仕様」を標準化できるようにしたのが、この図に示したような情報類である。様々な組織や個人が、いろいろな手段で学習の効率化、高性能化を行っているが、こうしたベースがないと、正しく機能する推論モデルを、実際の装置に搭載して性能を発揮させることは困難である。つまり、きわめて自由度の高い学習環境や、豊富な教師データ類を活用可能にして、利用環境下において、さらに高精度な出力が可能な推論モデルの取得を可能とするために、こうした要求仕様の明確な設定が重要となる。これらは手動入力したり、機器に搭載された記録部に記録された、あるいは外部から通信によって得られた情報によって、データ設定すればよい。このように、機械学習による推論モデルを有効に活用するためには細心の整合が重要で、
図3は推論モデルを利用するハードウェア、装置との整合性を考慮して一覧にしたものの例である。したがって、ここに示した要求仕様は、いくつかの項目は必要でない場合もあり、さらに温湿度、気圧など環境の制約や回路の電源電圧やクロックの仕様等、項目を追加すべき状況もあることは言うまでもない。必要に応じて、この推論モデルを利用しない条件などを記載してもよい。
このように、本実施の形態では、外部に推論モデルの作成を依頼するための通信部を有し、表示部に搭載すべき推論モデルの要求仕様を一覧表示可能な推論モデル利用装置を提供可能であり、この推論モデル利用装置は、装置との整合性にすぐれた推論モデルを外部機器に依頼可能な高精度推論装置となる。
【0043】
図3は表示部14の表示画面14a上に表示された仕様設定メニュー表示DMの一例を示す説明図である。
図3の例では、仕様情報中には、15個の仕様項目が含まれるが、仕様項目は適宜設定可能である。
図3の例は画像中の所定の検出対象を検出するための推論モデルを作成するための仕様情報の仕様項目を示している。
【0044】
検出対象項目は、教師データに検出対象を示す検出対象情報がアノテーションとして付されていることを示す情報である。ハードウェア情報項目は、推論モデルを使用する機器に関する情報を示し、機器名、ネットワークの層数、クロック周波数及びメモリ容量を指定するものである。応答時間項目は、画像入力から推論出力までの時間を指定するものである。
図3の例では、正解率、信頼性項目は、90%以上の推論の信頼性を確保することを指定するものであり、入力画像サイズ、その他項目は、入力画像サイズがFHD(full high definition)で、画像処理として処理Aを採用することを指定するものである。
【0045】
また、入力画像系統数項目は、入力画像が2系統切替えられることを指定するものであり、この指定によって、推論エンジン17は、撮像部12からの画像とルールベースエンジン18からの画像とを入力可能である。つまり、この指定は、推論エンジン17とルールベースエンジン18の連携のために、ルールベースエンジン18の出力を推論エンジン17に与えることを可能にするものである。
【0046】
また、本実施の形態においては、併用検出器、補助情報項目が設定される。この項目は、併用して使用する併用推論機器を指定するものである。
図1の例では、推論エンジン17と連携して推論を行うルールベースエンジン18が併用推論機器として指定される。
図3の例ではルールベースエンジン18は、仕様**に従って、顔検出を行う機能を有する装置であることが分かる。また、補助情報項目は、ルールベースエンジン18の出力を推論エンジン17に用いる場合において、ルールベースエンジン18のどのような出力を用いるかを補助情報として指定するものである。例えば、顔検出を行う場合において、ルールベースエンジン18において検出された顔の座標や顔部の画像等を補助情報として指定して、推論エンジン17の入力とすることを指定することができる。即ち、この指定は、ルールベースエンジン18から推論エンジン17への入力を規定するものである。
【0047】
納入時期項目は、推論モデル情報の納入時期を指定するものである。教師データ、対象項目は、教師データの格納フォルダ及び検出対象(ファイル)を指定するものであり、
図3の例ではXフォルダ、検出対象Yであることを示している。その他データ利用項目は、入力が画像である場合画像以外のデータの利用を指定するものである。例えば、画像中の建物の検出に際して、画像の傾斜角度をその他のデータとして利用すること等を可能にするものである。テストサンプル項目は、推論モデルのテスト用のサンプルデータを指定するものであり、
図3の例では提供しないことが分かる。発動条件、制限項目は、推論を発動する条件や、制限について指定するものであり、例えば、画像取得時であって、画像の輝度が所定値以下の場合には推論を実行しない等の指定が可能である。
【0048】
補足情報項目は、補足的な情報を指定するものであり、例えば、検出した画像部分に枠を表示させたりテキストを表示させたりする指定が可能である。また、履歴情報項目は、以前の推論モデルの履歴を例えばバージョン情報によって指定するのである。
【0049】
本実施の形態には、項目優先度項目が設定される。項目優先度項目は、仕様設定情報中のいずれの仕様項目を優先して推論モデルを生成すべきかを指定するものであり、
図3の例では、検出対象項目、ハードウェア情報項目、正解率、信頼性項目、応答時間項目、入力画像サイズ、その他項目、入力画像系統数項目の順で、優先度が設定されていることを示している。
【0050】
仕様設定部31a,11gは、これらの仕様項目のうちの所定の仕様項目を自動生成し、他の仕様項目をユーザ入力によって生成する。例えば、仕様設定部31a,11gは、撮像装置10の仕様に基づいて所定の仕様項目を自動生成してもよい。例えば、仕様設定部11g,31aは、図示しないメモリに記憶された、仕様情報生成用のプログラムを実行することで、所定の仕様項目についての情報を自動生成するようになっていてもよい。また、仕様設定部11g,31aは、仕様情報生成用の図示しない推論エンジンを用いて、所定の仕様項目を自動生成するようになっていてもよい。
【0051】
仕様設定部11gは、生成した仕様情報を学習依頼装置30に送信する。学習依頼装置30は、仕様情報に基づいて、学習装置20に学習を依頼するものである。学習依頼装置30は、仕様設定部31aによって生成した仕様情報又は仕様設定部11gによって生成された仕様情報に基づいて学習装置20に学習を依頼する。
【0052】
学習依頼装置30は、通信部32を有しており、学習装置20は通信部22を有している。これらの通信部22,32は、通信部15と同様の構成を有しており、通信部22,32,15相互間において通信が可能である。
【0053】
学習依頼装置30は、学習依頼装置30の各部を制御する制御部31を有しており、学習装置20は学習装置20の各部を制御する制御部21を有している。制御部21,31は、CPUやFPGA等を用いたプロセッサによって構成されていてもよく、図示しないメモリに記憶されたプログラムに従って動作して各部を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【0054】
なお、学習部20全体が、CPU、GPU、FPGA等を用いたプロセッサによって構成されて、図示しないメモリに記憶されたプログラムに従って動作して学習を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。
【0055】
学習依頼装置30は、大量の学習用データを記録した画像分類記録部33を有している。画像分類記録部33は、ハードディスクやメモリ媒体等の図示しない記録媒体により構成されており、複数の画像を画像中に含まれる対象物の種類毎に分類して記録する。
図9の例では、画像分類記録部33は、対象物画像群34を記憶しており、対象物画像群34は、対象物の種類毎に教師データ34a及びテストデータ34bを含む。また、制御部31は、仕様設定部11gと同様の機能を有する仕様設定部31aを有する。学習依頼装置30の制御部31は、通信部32を制御して、仕様情報及び教師データ34aを学習装置20に送信する。
【0056】
なお、テストデータ34bは教師データ34aに類似するデータであるが、学習装置20には提供しないデータであり、学習依頼装置30や撮像装置10において、学習装置20の学習の結果得られた推論モデルのテストに用いるものである。学習依頼装置30はテストデータ34bを撮像装置10に送信することができる。撮像装置10は学習依頼装置30からのテストデータをテストデータ記録領域16cに記録する。
【0057】
学習部20の母集合作成部24は、学習依頼装置30から送信された教師データを教師データ記録部23に記録する。母集合作成部24は、入力データ設定部24a及び出力項目設定部24bを有している。入力データ設定部24aは学習に用いる入力データを設定し、出力項目設定部24bは推論の結果得られるべき出力を設定する。入力データ設定部24a及び出力項目設定部24bの設定は、学習依頼装置30から受信した仕様情報に基づいて行われる。
【0058】
入出力モデル化部25は、大量の教師データにより期待される出力が得られるように、ネットワークデザインを決定し、その設定情報である推論モデル情報を生成する。入出力モデル化部25には仕様照合部25aが設けられている。仕様照合部25aは、仕様情報を記憶する図示しないメモリを有しており、入出力モデル化部25により求められた推論モデル情報が仕様情報に対応するものとなっているか否かを判定する。入出力モデル化部25は、推論モデル情報が仕様情報に対応するものとなるまで、ネットワークデザインの構築を行う。
【0059】
本実施の形態においては、入出力モデル化部25は、構築した推論モデルが、併用推論機器と連携して推論を行うものであるか否かの情報及び、併用推論機器と連携して推論を行うものである場合にはその連携の仕方についての情報を含む推論設定情報を生成し、生成した推論設定情報を推論モデル情報に付加するようになっている。例えば、入出力モデル化部25は、推論モデル情報のヘッダ情報に推論設定情報を付加してもよい。例えば、入出力モデル化部25は、推論モデル情報のヘッダ情報として、ネットワークの構造を示す情報、ウェイト及びバイアスの情報、連携する併用推論機器の情報、併用推論機器との連携の仕方の情報等を含む情報を生成する。
【0060】
なお、入出力モデル化部25は、ヘッダ情報ではなく、推論モデル情報にメタ情報として推論設定情報を付加してもよく、また、推論モデル情報とは別データの推論設定情報を推論モデル情報に関連付けるようにしてもよい。また、入出力モデル化部25は、推論設定情報として、仕様情報をそのまま推論モデル情報に付加してもよい。
【0061】
入出力モデル化部25は、生成した推論設定情報を含む推論モデル情報を、通信部22を介して撮像装置10の制御部11に送信する。制御部11は、上述したように、推論モデル情報を推論設定記録領域16bに記録させる。推論設定部11dは、推論設定情報に基づいて、推論エンジン17及びルールベースエンジン18の動作を制御することにより、推論エンジン17及びルールベースエンジン18の推論を利用した推論結果を得ることを可能にする。
【0062】
次に、このように構成された実施の形態の動作について
図4から
図17を参照して説明する。
図4から
図6は推論エンジンと併用推論機器との連携の仕方の例を説明するための説明図である。
【0063】
推論エンジン17とルールベースエンジン18が連携して推論する手法として、
図4から
図6に示す3つの手法について説明する。
図4から
図6の例は、入力画像中から所定の検出対象を検出する推論を行うものである。
【0064】
図4の例は、推論エンジン17による推論と併用推論機器であるルールベースエンジン18による推論とを相互に独立して実行させる手法(以下、第1手法という)を示している。入力画像は推論エンジン17及びルールベースエンジン18の両方に与えられ、推論エンジン17及びルールベースエンジン18それぞれ独立して推論を行う。推論エンジン17からは推論結果として検出対象の画像上の位置情報及びその信頼性が出力され、ルールベースエンジン18からも推論結果として検出対象の画像上の位置情報及びその信頼性が出力される。制御部11は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。
【0065】
図5は推論エンジン17による推論を優先しつつ、推論エンジン17による推論結果を併用推論機器であるルールベースエンジン18に与えて推論精度を向上させる手法(以下、第2手法という)を示している。入力画像は先ず推論エンジン17に与えられる。推論エンジン17は推論結果を制御部11に出力すると共に、例えば十分な信頼度の推論結果が得られない場合において推論結果あるいは推論不能の判定結果をルールベースエンジン18に出力する。この結果を受けて、ルールベースエンジン18は、推論を行い推論結果を制御部11に出力する。制御部11は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。
【0066】
図6は推論エンジン17による推論を優先しつつ、併用推論機器であるルールベースエンジン18の推論結果を推論エンジン17に与えて、推論エンジン17よる推論度を向上させる手法(以下、第3手法という)を示している。入力画像は推論エンジン17及び併用推論機器であるルールベースエンジン18の両方に与えられる。ルールベースエンジン18は推論結果を制御部11に出力すると共に、例えば推論エンジン17の推論精度を向上させるための補助情報を推論エンジン17に出力する。例えば、ルールベースエンジン18は、検出対象の顔を検出しその顔の座標や顔画像等を推論エンジン17に補助情報として出力する。この結果を受けて、推論エンジン17は、推論を行い推論結果を制御部11に出力する。制御部11は、信頼性の情報に基づいて位置情報を選択して、検出対象を決定する。なお、連携の仕方は上記第1~第3手法に限定されるものではない。例えば、併用推論機器の推論結果を優先して用いるようにしてもよい。
【0067】
次に、第1~第3手法の具体例について説明する。
【0068】
図7は撮像装置10による撮影の様子を示す説明図である。本実施の形態における撮像装置10は、
図7に示す筐体10a中に
図1中の各回路が収納されており、筐体10aの背面に表示部14の表示画面14aが設けられている。ユーザ41は、例えば、右手42で筐体10aを把持して、表示部14の表示画面14aを見ながら被写体を視野範囲に捉えた状態で撮影を行う。筐体10aの上面には、操作部13を構成するレリーズスイッチ43が設けられている。
図7の例では、被写体はブロック塀45の上にいる猫46である。ユーザ41は、右手42の人差し指42aでレリーズスイッチ43を押下することで撮影を行う。
【0069】
図7の例において、撮像装置10の推論エンジン17及びルールベースエンジン18は、推論により撮像画像中から猫10を検出するように構成されるものとする。ルールベースエンジン18は、例えば、公知の手法により、猫の顔検出が可能となるように構成される。
【0070】
(第1手法)
図8は学習依頼装置30の動作を説明するためのフローチャートであり、
図9は学習装置20の動作を説明するためのフローチャートである。
【0071】
学習依頼装置30の制御部31は、
図8のステップS1において、推論エンジン17に設定する推論モデルの要求仕様の設定を行うか否かを判定する。要求仕様の設定を行わない場合には、制御部31は、ステップS2において、教師データフォルダの作成が指示されているか否かを判定し、指示されている場合には、ステップS3において教師データフォルダを作成する。即ち、制御部31は、猫検出の推論のための教師データとなる画像の収集及びアノテーション付与を行う。収集された教師データは、画像分類記録部33の対象物画像群34に教師データ34aとして記録される。また、対象物画像群34にはテストデータ34bも記録される。
【0072】
制御部31は、要求仕様の設定を行う場合には、ステップS1からステップS4に移行して、仕様設定部31aにより
図3に示した仕様項目の設定を行う。上述したように、仕様設定部31aは、仕様項目の一部については自動生成し、他の一部についてはユーザの入力操作に基づいて作成する。制御部31は、ステップS5において、全ての仕様項目の入力が終了したか否かを判定し、終了していない場合には処理をステップS1に戻し、終了している場合には、設定した仕様項目による仕様情報及び教師データを学習装置20に送信して学習を依頼する。
【0073】
図10は、第1手法における学習装置20による学習及び学習の結果得られる推論モデルを説明するための説明図である。学習装置20の制御部21は、
図9のステップS11において、学習依頼の待機状態である。制御部21は、学習依頼が発生すると、処理をステップS12に移行して学習依頼装置30から仕様情報を受信して要求された仕様を取得する。また、制御部21は、学習依頼装置30から教師データを取得して教師データ記録部23に記録する(ステップS13)。制御部21は、仕様及び必要性に応じて、教師データを追加記録する(ステップS14)。母集合作成部24は、仕様情報に基づく要求仕様に従って、入力データ設定部24a及び出力項目設定部24bによって、入力及び出力を設定する。入出力モデル化部25は、設定された入力及び出力に応じて教師データに基づく学習を行う。
【0074】
図10に示すように、入出力モデル化部25により、所定のネットワークN1には入力及び出力に対応する大量の画像が教師データとして与えられる。
図10の例では、教師データとして、猫の画像であって、顔を横から見た猫の画像が入力される。この場合の猫の画像には、顔部分を破線枠で囲むようにアノテーションが設定されている。なお、顔の向きは、撮像装置10を基準にして説明しており、以下の説明では、横から見た顔を横向きの顔ということもある。即ち、横向きの顔は、猫が顔を撮像装置10の光軸方向に向けていないことをいう。また、後述する正面向きの顔とは、顔が撮像装置10の光軸方向に向いていることをいう。
【0075】
大量の教師データによる学習を行うことで、ネットワークN1は、入力に対応する出力が得られるように、ネットワークデザインが決定される。即ち、
図10の例では、猫の画像が入力されると、猫の顔が横を向いている場合にはその顔の画像部分を囲む位置に破線枠を表示するための情報が信頼度の情報と共に得られる。即ち、
図10の例では、横向きの顔の猫の画像を検出する推論モデルが構築される。
【0076】
なお、深層学習(ディープ・ラーニング)」は、ニューラル・ネットワークを用いた「機械学習」の過程を多層構造化したものである。情報を前から後ろに送って判定を行う「順伝搬型ニューラル・ネットワーク」が代表的なものである。これは、最も単純なものでは、N1個のニューロンで構成される入力層、パラメータで与えられるN2個のニューロンで構成される中間層、判別するクラスの数に対応するN3個のニューロンで構成される出力層の3層があればよい。そして、入力層と中間層、中間層と出力層の各ニューロンはそれぞれが結合加重で結ばれ、中間層と出力層はバイアス値が加えられることで、論理ゲートの形成が容易である。簡単な判別なら3層でもよいが、中間層を多数にすれば、機械学習の過程において複数の特徴量の組み合わせ方を学習することも可能となる。近年では、9層~152層のものが、学習にかかる時間や判定精度、消費エネルギーの関係から実用的になっている。
【0077】
機械学習に採用するネットワークN1としては、公知の種々のネットワークを採用してもよい。例えば、CNN(Convolution Neural Network)を利用したR-CNN(Regions with CNN features)やFCN(Fully Convolutional Networks)等を用いてもよい。これは、画像の特徴量を圧縮する、「畳み込み」と呼ばれる処理を伴い、最小限処理で動き、パターン認識に強い。また、より複雑な情報を扱え、順番や順序によって意味合いが変わる情報分析に対応して、情報を双方向に流れる「再帰型ニューラル・ネットワーク」(全結合リカレントニューラルネット)を利用してもよい。
【0078】
これらの技術の実現のためには、CPUやFPGA(Field Programmable Gate Array)といったこれまでの汎用的な演算処理回路などを使ってもよいが、ニューラル・ネットワークの処理の多くが行列の掛け算であることから、行列計算に特化したGPU(Graphic Processing Unit)やTensor Processing Unit(TPU)と呼ばれるものが利用される場合もある。近年ではこうした人工知能(AI)専用ハードの「ニューラル・ネットワーク・プロセッシング・ユニット(NPU)」がCPUなどその他の回路とともに集積して組み込み可能に設計され、処理回路の一部になっている場合もある。
【0079】
また、深層学習に限らず、公知の各種機械学習の手法を採用して推論モデルを取得してもよい。例えば、サポートベクトルマシン、サポートベクトル回帰という手法もある。ここでの学習は、識別器の重み、フィルター係数、オフセットを算出するもので、他には、ロジスティック回帰処理を利用する手法もある。機械に何かを判定させる場合、人間が機械に判定の仕方を教える必要があり、今回の実施例では、画像の判定を、機械学習により導出する手法を採用したが、そのほか、特定の判断を人間が経験則・ヒューリスティクスによって獲得したルールを適応するルールベースの手法を応用して用いてもよい。
【0080】
入出力モデル化部25は、ステップS16において、生成した推論モデルが必要仕様を満たしているか否かを判定する。満たしていない場合には、入出力モデル化部25は、次のステップS17において、仕様が仕様情報中の優先度で指定された条件を満足しているか否かを判定する。例えは、項目優先度が
図3に示すものである場合には、入出力モデル化部25は、生成した推論モデルが、検出対象項目、ハードウェア情報項目、正解率、信頼性項目、応答時間項目、入力画像サイズ、その他項目及び入力画像系統数項目の各項目の仕様を満足しているか否かを判定する。満足していている場合には、入出力モデル化部25は、教師データの再設定等を行って(ステップS18)、所定回数以上に到達したことを判定(ステップS19)した後、所定回数未満である場合には、処理をステップS15に戻して、推論モデル化を繰り返す。
【0081】
入出力モデル化部25は、ステップS17において、生成した推論モデルが優先度で指定された条件を満足していないと判定した場合、又は、ステップS19において、推論モデル化を所定回数以上繰り返したと判定した場合には、処理をステップS20に移行して、有効な推論モデルを構築することが苦手な画像であることを示す苦手画像情報を学習依頼装置30に対して送信する。
【0082】
入出力モデル化部25は、ステップS16において、生成した推論モデルが必要仕様を満たしたと判定した場合には、処理をステップS21に移行して、学習依頼装置30及び必要に応じて指定された機器(例えば撮像装置10)に対して推論モデル情報を送信する。
【0083】
本実施の形態においては、この送信に際して、入出力モデル化部25は、推論モデル情報に、仕様情報に基づいて生成した推論設定情報を付加するようになっている。推論設定情報には、
図10の例では、推論エンジンによる推論と併用推論機器による推論とを相互に独立して実行させ、各推論の信頼度等に基づいて推論結果を得る、即ち、第1手法による検出を行うことを示す情報が含まれる。
【0084】
学習依頼装置30の制御部31は、推論モデル情報を受信すると、
図8のステップS7において、テストデータ34bを用いて、学習結果の良否判定を行う。制御部31は、テストが良好である(OK)の判定を行った場合には、学習装置20に対して、テスト対象の推論モデル情報を撮像装置10に送信するように依頼し、テストが不良(NG)の判定を行った場合には、再学習を学習装置20に依頼する。なお、この場合には、要求仕様の追加や修正を行ってもよい。なお、学習依頼装置30は、OK判定した推論モデル情報を撮像装置10に直接送信してもよい。
【0085】
図11は撮像装置10の動作を説明するためのフローチャートである。
【0086】
撮像装置10の制御部11は、
図11のステップS31において、撮影モードが指定されているか否かを判定する。撮影モードが指定されていない場合には、制御部11は、ステップS32において推論モデルの取得が指示されているか否かを判定する。推論モデル取得が指示されていない場合には処理をステップS31に戻し、指示されている場合には、次のステップS33において、推論モデルの仕様を確認する。即ち、制御部11は、学習装置20又は学習依頼装置30から推論モデル情報を受信し、受信した推論モデル情報に基づいて、推論エンジン17のネットワーク17aを構築する。こうして、ネットワーク17aには、
図10のN1と同様の推論モデルが構築される。推論設定部11dは、推論モデル情報に付加されている推論設定情報を読み出して、内蔵されているルールベースエンジン18の機能を考慮して、必要な仕様を満足しているか否かの確認を行う。
【0087】
制御部11は、ステップS34において、仕様確認の結果が良好(OK)であるか否かを判定する。良好でない場合には、制御部11は、ステップS38において、要求仕様の再設定を要求するための情報を学習装置20又は学習依頼装置30に送信する。仕様確認の結果が良好な場合には、制御部11は、テストデータ記録領域16cからテストデータを読み出して、推論のテストを実行する。制御部11は、テストの結果、十分な信頼性が得られたか否かを判定し、十分な信頼性が得られた場合には取得した推論モデル情報を確定し(ステップS37)、得られない場合には、ステップS38において、要求仕様の再設定を要求する。
【0088】
制御部11は、撮影モードが指定されている場合には、ステップS31からステップS41に処理を移行して撮像画像を取り込む。撮像部12からの撮像画像は制御部11に与えられると共に、推論エンジン17及びルールベースエンジン18にも与えられる。制御部11の推論設定部11dは、推論設定情報に基づいて、第1手法により、推論エンジン17及びルールベースエンジン18の双方に独立して推論を行うように指示する。
【0089】
図7に示すようにユーザ41は撮影を行う。制御部11の表示制御部11fは、撮像部12からの撮像画像を表示部14に与えてライブビュー画像を表示させる。また、推論エンジン17及びルールベースエンジン18は、順次入力される撮像画像に対して推論を実施する(ステップS42)。
【0090】
図12はルールベースエンジン18による推論を説明するための説明図であり、
図13は推論エンジン17による推論を説明するための説明図である。
【0091】
いま、ある瞬間に
図12に示す撮像画像PI1がルールベースエンジン18に入力されるものとする。ルールベースエンジン18は、公知の顔検出処理によって、猫の正面向きの顔の部分を検出する。ルールベースエンジン18は、検出結果として、猫の顔の部分を囲う実線枠PO1aの情報を出力する。この情報は、ルールベースエンジン18から制御部11に供給される。表示制御部11fは、ルールベースエンジン18の検出結果に基づいて、ライブビュー画像上に実線枠PO1aを重畳した表示画像PO1を表示する。
【0092】
また、ある瞬間に
図13に示す撮像画像PI2が推論エンジン17に入力されるものとする。推論エンジン17は、学習装置20又は学習依頼装置30から提供を受けた推論モデル情報に基づくネットワーク17aにより、猫の横向きの顔の部分を検出する。推論エンジン17は、検出結果として、猫の横向きの顔の部分を囲う破線枠PO2aの情報を出力する。この情報は、推論エンジン17から制御部11に供給される。表示制御部11fは、推論エンジン17の検出結果に基づいて、ライブビュー画像上に破線枠PO2aを重畳した表示画像PO2を表示する。
【0093】
図14は一連の推論の検出結果に基づく画像表示の例を示す説明図である。
図14は表示部14の表示画面14a上に表示されるライブビュー画像を示しており、
図7の撮影の様子に示すようにユーザ41がブロック塀45上の猫46の撮影を試みる状態において、時間の経過と共に順次撮像されてライブビュー表示される画像のうちの画像P1~P6を示している。画像P1は、比較的広い範囲を撮像して得られたものであり、ブロック塀45上の猫46の画像を含む。制御部11の表示制御部11fは、ステップS43において、推論エンジン17及びルールベースエンジン18を動作させて猫の画像の検出を行っていることを示す「発動」の表示P1aを表示画面14a上に表示させる。
【0094】
ここで、視野範囲内に主に猫のみが撮影されるように、ユーザ41がズーム操作を行うものとする。画像P2以降の画像はこの状態でのライブビュー画像を示している。画像P2は猫の顔が正面向きで撮像されたものである。この場合には、ルールベースエンジン18により猫の顔が検出されて、顔の周囲を囲む実線枠の情報が制御部11に供給される。制御部11は、検出が行われたことを判定すると、推論エンジン17による検出が利用されたかルールベースエンジン18による検出が利用されたかを判定する(ステップS45)。例えば、制御部11は、推論エンジン17及びルールベースエンジン18から出力される信頼度によって、この判定を行ってもよい。画像P2ではルールベースエンジン18の検出結果が採用されるので、処理をステップS46に移行して、表示制御部11fは、ライブビュー画像上に実線枠表示P2bを表示する。また、表示制御部11fは、ルールベースエンジン18が発動されて猫の顔の検出が行われたことを示す「R発動」の表示P2a及び「顔検出」の文字を表示する。
【0095】
次の画像P3は猫の顔が横向きで撮像されたものである。この場合には、推論エンジン17により猫の横向きの顔が検出されて、顔の周囲を囲む破線枠の情報が制御部11に供給される。この場合には、表示制御部11fは、ステップS45の次のステップS47において、ライブビュー画像上に破線枠表示P3bを表示する。また、表示制御部11fは、推論エンジン17が発動されて猫の顔の検出が行われたことを示す「A発動」の表示P3a及び「AI推論」の文字を表示する。
【0096】
次の画像P4も猫の顔が横向きで撮像されたものである。この場合には、推論エンジン17からの情報に基づく破線枠表示P4b、推論エンジン17が発動されて猫の顔の検出が行われたことを示す「A発動」の表示P4a及び「AI推論」の文字がライブビュー画像上に表示される。
【0097】
また、次の画像P5は再び猫の顔が正面向きで撮像されたものである。この場合には、ルールベースエンジン18により猫の顔が検出されて、ルールベースエンジン18からの情報に基づく実線枠表示P5b、ルールベースエンジン18が発動されて猫の顔の検出が行われたことを示す「R発動」の表示P5a及び「顔検出」の文字がライブビュー画像上に表示される。
【0098】
最後の画像P6は、「発動」の表示P6aにより、推論エンジン17及びルールベースエンジン18の推論による猫の検出は発動されていることが示されている。しかし、猫の顔は検出されていない状態を示している。
【0099】
制御部11は、ステップS48において、動画撮影操作又は静止画撮影操作が行われたか否かを判定する。これらの操作が行われた場合には、撮影や記録を行う(ステップS49)。なお、動画撮影時には、動画撮影の終了操作によって、撮像画像がファイル化される。撮影操作が行われていない場合には、制御部11は処理をステップS31に戻す。
【0100】
このように、第1手法では、推論エンジン17及び併用推論機器であるルールベースエンジン18は、相互に独立して動作しており、例えば推論を分担して行う場合等に採用される。
【0101】
(第2手法)
学習装置20及び学習依頼装置30における動作は、第1手法~第3手法において同一であるが、各第1手法~第3手法においては、仕様情報及び教師データが異なる。
【0102】
図15は、第2手法における学習装置20による学習及び学習の結果得られる推論モデルを説明するための説明図である。
【0103】
図15において、所定のネットワークN2には入力及び出力に対応する大量の画像が教師データとして与えられる。
図15の例は、猫の画像であって、顔が正面向きの猫の画像と顔が横向きの猫の画像とが入力される。そして、顔が正面向きの猫の画像では、顔部分の位置情報(実線枠)がアノテーションとして設定されており、顔が横向きの猫の画像では、顔部分を破線枠で囲むようにアノテーションが設定されている。更に、第2手法では、顔が正面向きの猫の画像については、併用推論機器の利用を促すためのアノテーションが設定されている。
【0104】
これにより、ネットワークN2は、入力に対応する出力が得られるように、ネットワークデザインが決定される。即ち、
図15の例では、猫の画像が入力されると、猫の顔が正面を向いている場合には、併用推論機器の利用を促すと共に、その顔の画像部分の位置情報(実線枠)が信頼度の情報と共に得られ、猫の顔が横を向いている場合にはその顔の画像部分を囲む位置に破線枠を表示するための情報が信頼度の情報と共に得られる。
【0105】
図16は撮像装置10の動作を説明するためのフローチャートである。
図16において
図11と同一の手順には同一符号を付して説明を省略する。なお、第2手法においても、ルールベースエンジン18は、
図12に示すように、正面を向いた猫の顔を検出するものとする。
【0106】
制御部11は、撮影モードが指定されている場合には、ステップS31からステップS41に処理を移行して撮像画像を取り込む。撮像部12からの撮像画像は制御部11に与えられると共に、推論エンジン17及びルールベースエンジン18にも与えられる。制御部11の推論設定部11dは、推論モデル情報に付加された推論設定情報に基づいて、推論エンジン17及びルールベースエンジン18に対して、第2手法により推論を行うように制御する。
【0107】
制御部11は、次のステップS52において、推論エンジン17による推論結果が併用推論機器の利用を促すものであるか否かを判定する。
【0108】
いま、ある瞬間に
図13に示す撮像画像PI2が推論エンジン17に入力されるものとする。推論エンジン17は、学習装置20又は学習依頼装置30から提供を受けた推論モデル情報に基づくネットワーク17aにより、猫の横向きの顔の部分を検出する。推論エンジン17は、検出結果として、猫の横向きの顔の部分を囲う破線枠PO2a(
図13参照)の情報を出力する。この情報は、推論エンジン17から制御部11に供給される。この場合には、制御部11は、ステップS52からステップS53に移行して、推論の信頼性が高いか否かを判定する。制御部11は、推論の信頼性が高い場合には、検出結果を表示する。即ち、表示制御部11fは、推論エンジン17の検出結果に基づいて、ライブビュー画像上に破線枠PO2aを重畳した表示画像PO2を表示する。
【0109】
また、ある瞬間に
図12に示す撮像画像PI1が推論エンジン17及びルールベースエンジン18に入力されるものとする。推論エンジン17は、推論モデル情報に基づくネットワーク17aにより、猫の正面向きの顔の部分を検出する。推論エンジン17は、検出結果として、猫の正面向きの顔の画像位置の情報及びルールベースエンジン18に検出を促す情報を制御部11に出力する。この場合には、制御部11は、ステップS52からステップS55に処理を移行して、推論エンジン17の推論結果、即ち、猫の顔の画像位置の情報をルールベースエンジン18に与えて、ルールベースエンジン18に猫の顔を検出させる。ルールベースエンジン18は、公知の顔検出処理によって、猫の正面向きの顔の部分を検出する。この場合には、ルールベースエンジン18には、猫の顔の画像位置の情報が与えられており、ルールベースエンジン18は、より高精度に猫の顔の検出が可能である。
【0110】
ルールベースエンジン18は、検出結果として、猫の顔の部分を囲う実線枠PO1a(
図12参照)の情報を出力する。この情報は、ルールベースエンジン18から制御部11に供給される。表示制御部11fは、ルールベースエンジン18の検出結果に基づいて、ライブビュー画像上に実線枠PO1aを重畳した表示画像PO1を表示する(ステップS56)。
【0111】
このように第2手法では、推論エンジン17は、推論結果をルールベースエンジン18に与えて、ルールベースエンジン18において推論を行わせている。これにより、ルールベースエンジン18において高い推論精度が得られる画像等について、より精度を向上させるための情報をルールベースエンジン18に提供することができ、結果的に高い推論精度の検出が可能である。
【0112】
(第3手法)
第3手法においても、学習装置20及び学習依頼装置30における動作は他の手法と同一であり、仕様情報及び教師データが他の手法と異なる。
【0113】
第3手法においては、学習装置20において作成される推論モデルは、入力として、撮像画像だけでなく、併用推論機器の検出結果が用いられるように設定される。例えば、併用推論機器から猫の顔部の画像や猫の顔部の画像位置等の情報が入力され、撮像部12から猫の画像が入力された場合には、猫の顔を検出する推論モデルが構築されるように、学習が行われる。
【0114】
図17は撮像装置10の動作を説明するためのフローチャートである。
図17において
図11と同一の手順には同一符号を付して説明を省略する。なお、第3手法においても、ルールベースエンジン18は、
図12に示すように、正面を向いた猫の顔を検出するものとする。
【0115】
制御部11は、撮影モードが指定されている場合には、ステップS31からステップS41に処理を移行して撮像画像を取り込む。撮像部12からの撮像画像は制御部11に与えられると共に、推論エンジン17及びルールベースエンジン18にも与えられる。制御部11の推論設定部11dは、推論モデル情報に付加された推論設定情報に基づいて、推論エンジン17及びルールベースエンジン18に対して、第3手法により推論を行うように制御する。
【0116】
制御部11は、ステップS41の次のステップS61において、ルールベースエンジン18に推論を実行させて猫の顔を検出させる。ルールベースエンジン18からの検出結果は制御部11に与えられる。制御部11は、ルールベースエンジン18の検出結果の判定を行う(ステップS62)。
【0117】
次に、制御部11は、ステップS63において、推論エンジン17に推論を実行させる。この場合には、制御部11は、ルールベースエンジン18の検出結果を推論エンジン17に与える。これにより、推論エンジン17は、撮像部12からの入力画像とルールベースエンジン18の推論結果とが与えられ、これらの入力を用いた推論によって、推論結果を得る。推論エンジン17の推論結果は制御部11に出力される。
【0118】
制御部11は、ステップS64において、推論エンジン17の推論結果について判定を行う。更に、制御部11は、ステップS65において、推論エンジン17及びルールベースエンジン18の推論結果に対する総合判定によって、検出結果を得る。
【0119】
このように第3手法では、ルールベースエンジン18は、推論結果を推論エンジン17に与えており、推論エンジン17の推論の精度をより向上させることができる。
【0120】
このように本実施の形態においては、併用推論機器の利用を想定して推論モデルを構築するための学習を行うことで、より有効な推論の実現が可能である。学習依頼装置はこのような併用推論機器の利用を想定した学習のための仕様情報を作成することで、学習装置において有効な推論モデルの構築を可能にする。また、学習装置は、推論モデルを利用する装置において、推論モデルの利用の仕方等を示す推論設定情報を推論モデル情報に付加して伝送する。これにより、推論モデルを利用する装置において、受信した推論モデル情報に付加された推論設定情報に基づいて、併用推論機器と推論モデルを用いる推論エンジンとを連携して使用することが可能となる。こうして、併用推論機器である例えばルールベースエンジンと推論エンジンとを効果的に動作させてより有効な推論結果を得ることが可能となる。
【0121】
(第2の実施の形態)
図18及び
図19は第2の実施の形態を示すブロック図である。本実施の形態は学習装置の構成が
図1と異なり、
図18及び
図19は、
図1の学習装置20に追加する構成を示している。
【0122】
図18及び
図19の画像データベース(DB)51a及び正解データベース(DB)51bは、
図1の学習装置20内の教師データ記録部23に相当するものであり、教師データ中の画像データの集まりを画像DB51aとし、教師データ中のアノテーションデータの集まりを正解DB51bとして表している。
【0123】
本実施の形態における学習装置は、学習装置20の構成の他に、併用推論機器53、検出精度測定器54、正解情報出力部55、検出精度データベース(DB)56及び検出精度情報出力部57を備えている。制御部21(
図1参照)は、
図18に示すように、併用推論機器53を用い、画像DB51a中の各画像データ52を併用推論機器53に与えて推論処理を実行させるようになっている。併用推論機器53の検出結果は検出精度測定器54に与えられる。
【0124】
また、正解情報出力部55は、正解DB51bから併用推論機器53に入力された画像データに対応する正解情報を取得して検出精度測定器54に出力する。検出精度測定器54は、併用推論機器53の検出結果と正解情報との比較によって、併用推論機器53の検出精度を測定して測定結果を検出精度DB56に出力する。検出精度DB56は、各画像毎に併用推論機器53の推論の検出精度を格納する。
【0125】
入出力モデル化部25は、推論モデルNの学習時において、
図19に示すように、各画像データ52を推論モデルNに与え、正解情報出力部55からの正解情報を推論モデルNに与える。また、検出精度情報出力部57は、推論モデルNに入力される画像データ52に対応する検出精度の情報を検出精度DB56から読み出す。入出力モデル化部25は、制御部21に制御されて、検出精度情報出力部57からの検出精度の情報を推論モデルNの構築時に利用する。
【0126】
例えば、制御部21は、推論モデルNの構築に際して、教師データとして推論モデルNに入力する画像に対応する検出精度情報を利用することで、検出精度が高い画像については併用推論機器による推論を促すように学習を行ってもよい。また、画像の検出精度が所定の閾値より高い場合にはこの画像についてのこれ以上の学習は不要と判定し、検出精度が所定の閾値よりも低い画像についてのみ学習を行うようになっていてもよい。この場合には、信頼度が比較的低くなる画像についての十分な学習が可能となり、全体として検出精度を向上させることができる可能性がある。
【0127】
このように本実施の形態においては、学習に際して併用推論機器による検出精度の情報を利用することができ、より有効な推論を可能にする推論モデルの構築が可能となる。
【0128】
上記実施の形態においては、撮像のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラでもよく、さらに、携帯電話やスマートフォンなど携帯情報端末(PDA:Personal Digital Assist)等に内蔵されるカメラでも勿論構わない。
【0129】
本発明は、上記各実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0130】
なお、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。また、これらの動作フローを構成する各ステップは、発明の本質に影響しない部分については、適宜省略も可能であることは言うまでもない。
【0131】
なお、ここで説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【0132】
なお、実施例中で、「部」(セクションやユニット)として記載した部分は、専用の回路や、複数の汎用の回路を組み合わせて構成してもよく、必要に応じて、予めプログラムされたソフトウェアに従って動作を行うマイコン、CPUなどのプロセッサ、あるいはFPGAなどシーケンサを組み合わせて構成されてもよい。また、その制御の一部または全部を外部の装置が引き受けるような設計も可能で、この場合、有線や無線の通信回路が介在する。通信は、ブルートゥースやWiFi、電話回線などで行えばよく、USBなどで行っても良い。専用の回路、汎用の回路や制御部を一体としてASICとして構成してもよい。
【符号の説明】
【0133】
1…撮像装置、10…制御部、11…画像処理部、11a…画質改善部、12…表示制御部、13…記録制御部、14…行為検出部、20…撮像部、21…光学系、22…撮像素子、23…変位付与部、30…特定範囲推定部、31…シーン判定部、32…良好構図記憶部、33…改善予測部、41…表示部、42…操作部、43…センサ部、44…記録部。