(57)【要約】【課題】教師データの選定や共有先の選定を自動で実行できるようにする。【解決手段】情報管理装置は、学習機能を有する複数の外部装置と通信する通信手段と、前記通信手段による前記複数の外部装置との通信を制御する制御手段と、を有し、前記制御手段は、前記通信手段を介して所定の外部装置から当該所定の外部装置で学習機能を実行する際に生成された教師データを受信した場合、前記複数の外部装置の中から前記所定の外部装置を除く前記教師データを共有する外部装置を選定し、前記選定された外部装置に対して前記教師データを送信するように制御する。【選択図】図５
2020197995.tif 000002
【特許請求の範囲】
【請求項１】
学習機能を有する複数の外部装置と通信する通信手段と、
前記通信手段による前記複数の外部装置との通信を制御する制御手段と、を有し、
前記制御手段は、
前記通信手段を介して所定の外部装置から当該所定の外部装置で学習機能を実行する際に生成された教師データを受信した場合、前記複数の外部装置の中から前記所定の外部装置を除く前記教師データを共有する外部装置を選定し、
前記選定された外部装置に対して前記教師データを送信するように制御することを特徴とする情報管理装置。
【請求項２】
前記学習機能は、撮像画像と前記教師データとを用いて所定の被写体を認識する機能であり、
前記教師データは、前記所定の被写体の教師画像データと前記所定の被写体を示すラベル情報とを含むことを特徴とする請求項１に記載の情報管理装置。
【請求項３】
前記制御手段は、前記複数の外部装置について学習対象の被写体を共通にする装置を同じグループとして管理し、
前記所定の外部装置と同じグループに属する外部装置を、前記教師データを共有する外部装置として選定することを特徴とする請求項１または２に記載の情報管理装置。
【請求項４】
前記制御手段は、前記選定された外部装置において利用できる形式に前記教師データを加工することを特徴とする請求項３に記載の情報管理装置。
【請求項５】
前記制御手段は、前記複数の外部装置ごとに前記教師データを受信した回数を記録するテーブルを有し、
前記テーブルに記録された前記複数の外部装置ごとの被写体のラベル情報のうち受信した回数が基準を超える被写体を、前記所定の外部装置が属するグループに共通の学習対象の被写体として新たに追加することを特徴とする請求項１から４のいずれか１項に記載の情報管理装置。
【請求項６】
学習機能を有する情報処理装置であって、
前記学習機能を実行する際に生成された教師データを管理する外部装置と通信する通信手段と、
前記通信手段を介して、前記学習機能を実行する際に生成された教師データを前記外部装置に送信する制御手段と、を有することを特徴とする情報処理装置。
【請求項７】
前記学習機能は、撮像画像と前記教師データとを用いて所定の被写体を認識する機能であり、
前記教師データは、前記所定の被写体の教師画像データと前記所定の被写体を示すラベル情報とを含むことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記学習機能は、撮像画像から生成された教師画像データを用いて学習する第１の学習モードと、前記外部装置からの学習要求に応じて当該外部装置から受信した教師データに含まれる教師画像データを用いて学習する第２の学習モードとを含むことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記学習機能は、前記第２の学習モードを無効化することが可能であり、
前記制御手段は、前記第２の学習モードが無効化されている場合には、前記第２の学習モードにおける学習を実行しないことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
学習機能を有する情報処理装置であって、
学習機能を有する外部装置と通信する通信手段と、
前記通信手段を介した前記外部装置との通信を制御する制御手段と、を有し、
前記制御手段は、
複数の外部装置の中から前記情報処理装置が学習機能を実行する際に生成された教師データを共有する外部装置を選定し、
前記通信手段を介して、前記選定した外部装置に対して前記教師データを送信するように制御することを特徴とする情報処理装置。
【請求項１１】
前記学習機能は、撮像画像と前記教師データとを用いて所定の被写体を認識する機能であり、
前記教師データは、前記所定の被写体の教師画像データと前記所定の被写体を示すラベル情報とを含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記通信手段を介して、前記外部装置から当該外部装置で学習機能を実行する際に生成された教師データを受信し、
前記学習機能は、撮像画像から生成された教師画像データを用いて学習する機能と、前記外部装置から受信した教師データに含まれる教師画像データを用いて学習する機能とを含むことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記制御手段は、前記情報処理装置と学習対象の被写体を共通にする外部装置を同じグループとして管理し、
前記情報処理装置と同じグループに属する外部装置を、前記教師データを共有する外部装置として選定することを特徴とする請求項１０から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記制御手段は、前記選定された外部装置において利用できる形式に前記教師データを加工することを特徴とする請求項１０から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
学習機能を有する複数の外部装置と通信する通信手段を有し、前記通信手段による前記複数の外部装置との通信を制御する情報管理装置の制御方法であって、
前記制御方法は、
前記通信手段を介して所定の外部装置から当該所定の外部装置で学習機能を実行する際に生成された教師データを受信した場合、前記複数の外部装置の中から前記所定の外部装置を除く前記教師データを共有する外部装置を選定するステップと、
前記選定された外部装置に対して前記教師データを送信するステップと、を有することを特徴とする制御方法。
【請求項１６】
学習機能を有する情報処理装置の制御方法であって、
前記学習機能を実行する際に生成された教師データを管理する外部装置と通信するステップと、
前記学習機能を実行する際に生成された教師データを前記外部装置に送信するステップと、を有することを特徴とする制御方法。
【請求項１７】
学習機能を有する情報処理装置の制御方法であって、
前記情報処理装置は、
学習機能を有する外部装置と通信する通信手段と、
前記通信手段を介した前記外部装置との通信を制御する制御手段と、を有し、
前記制御方法は、
複数の外部装置の中から前記情報処理装置が学習機能を実行する際に生成された教師データを共有する外部装置を選定するステップと、
前記通信手段を介して、前記選定した外部装置に対して前記教師データを送信するステップと、を有することを特徴とする制御方法。
【請求項１８】
コンピュータを請求項１から５のいずれか１項に記載の情報管理装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【請求項１９】
コンピュータを請求項６から１４のいずれか１項に記載の情報処理装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習機能を有する装置間で教師データを共有する技術に関する。
【背景技術】
【０００２】
近年、機械学習を中心としたＡＩ(Artificial Intelligence)技術の開発が盛んに行われている。このような学習機能をカメラに適用し、撮影画像に含まれる物体（被写体）を自動で認識する技術の開発も進められている。
【０００３】
学習の精度を上げるためには、その物体が何であるかという正解ラベルを伴った画像（教師画像）を大量に用意する必要がある。ここで、正解ラベルと教師画像のペアのことを教師データ(teaching data)と呼ぶ。
【０００４】
特許文献１には、十分な教師データを集めて共通記憶装置に蓄積し、集めた教師データを他の装置に開示レベルに応じて開示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１４２７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
学習機能をカメラに適用する場合、ユーザの好みにあった自動認識機能が求められる。これは、カメラによって求められる学習モデルや教師データが異なることを意味する。しかしながら、特許文献１には、所望の教師データを選定する方法や、教師データの共有先のカメラを選定する方法については記載されていない。このため、カメラごとに所望の教師データを選定したり、教師データを共有するカメラを選定したりするなどの追加の作業が必要となる。
【０００７】
本発明は、上記課題に鑑みてなされ、その目的は、教師データの選定や共有先の選定を自動で実行できるようにする技術を実現することである。
【課題を解決するための手段】
【０００８】
上記課題を解決し、目的を達成するために、本発明の情報管理装置は、学習機能を有する複数の外部装置と通信する通信手段と、前記通信手段による前記複数の外部装置との通信を制御する制御手段と、を有し、前記制御手段は、前記通信手段を介して所定の外部装置から当該所定の外部装置で学習機能を実行する際に生成された教師データを受信した場合、前記複数の外部装置の中から前記所定の外部装置を除く前記教師データを共有する外部装置を選定し、前記選定された外部装置に対して前記教師データを送信するように制御する。
【発明の効果】
【０００９】
本発明によれば、教師データの選定や共有先の選定を自動で実行できるようになる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１のシステム構成図。
【図２】実施形態１、２の管理テーブルを例示する図。
【図３】実施形態１、２のカメラの構成を例示するブロック図。
【図４】実施形態１の管理サーバの構成を例示するブロック図。
【図５】実施形態１のシステムにおける学習処理のシーケンスを例示する図。
【図６】実施形態１、２のカメラの表示画面を例示する図。
【図７】実施形態１、２のニューラルネットワークを用いた画像の学習処理を説明する図。
【図８】実施形態１のシステムにおける学習被写体更新処理のシーケンスを例示する図。
【図９】実施形態２のシステム構成図。
【図１０】実施形態２のシステムにおける学習処理シーケンスを例示する図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１２】
［実施形態１］以下、実施形態１について説明する。
【００１３】
以下では、本実施形態の情報管理装置および情報処理装置として管理サーバおよびデジタルカメラが通信可能に接続されたシステムの例について説明する。なお、本実施形態の情報処理装置はデジタルカメラに限らず、携帯電話やその一種であるスマートフォン、タブレット、パーソナルコンピュータ（ＰＣ）、ＰＤＡ(Personal Digital Assistant)などのカメラ機能を有する他の装置にも適用可能である。
【００１４】
＜システム構成＞まず、図１を参照して、本実施形態のシステム構成について説明する。
【００１５】
本実施形態のシステムは、管理サーバ１００とカメラ１０１〜１０５を含む。カメラ１０１〜カメラ１０５（カメラＡ〜Ｅ）は、管理サーバ１００と互いに通信可能である。本実施形態では、管理サーバ１００がインターネット上に設置され、カメラ１０１〜１０５がインターネットなどのネットワークに接続可能な通信機能を備えることを前提としているが、必ずしも通信機能を内蔵する構成でなくてもよく、例えば、無線ＬＡＮ通信機能を備え、スマートフォンのようなテザリング機能を備える機器を介して管理サーバ１００との通信を行う構成でもよい。
【００１６】
カメラ１０１〜１０５はそれぞれ、固有の学習モデルを備え、撮像画像と教師データを利用して被写体を認識する学習機能を備える。ユーザは、カメラの学習モデルに対して所望の被写体（被写体が含まれる画像）を学習対象として登録することができる。これにより、例えば撮影時には好みの被写体に対して自動的にフォーカスを合わせたり、撮影後には好みの被写体を含む撮影画像のみを特定のフォルダに自動的に分類して保存したりすることができる。ユーザにより好みの被写体は異なるため、ユーザごとのカメラにおいて学習の内容、すなわち学習モデルは異なる。画像の学習には、ＣＮＮ(Convolutional Neural Network：畳み込みニューラルネットワーク）と呼ばれる、機械学習の分野で知られている手法を用いる。学習処理の詳細については、図７で後述する。
【００１７】
カメラ１０１〜１０５は、それぞれ学習対象の被写体を共通とするカメラ同士でグループを構成する。グループ構成に関する情報は、管理サーバ１００によって管理される。
【００１８】
図２（ａ）は、管理サーバ１００によって管理される、グループ構成を示す情報（以下、グループ管理テーブルと表記する）を例示している。図２（ａ）に示すように、グループＸは、カメラＡ、Ｂ、Ｃ（１０１、１０２、１０３）で構成され、グループ共通の学習被写体ラベルは「たろう」と「はなこ」である。一方、グループＹは、カメラＡ、Ｄ、Ｅ（１０１、１０４、１０５）で構成され、グループ共通の学習被写体ラベルは「カワセミ」である。学習被写体ラベルとは、学習対象の被写体画像を一意に示すための情報である。グループＸは、例えばカメラＡのユーザ（以下、ユーザＡと表記する。他のカメラのユーザも、対応するカメラと同じアルファベットで表記する。）の親族で構成されるグループであり、ユーザＡは「たろう」と「はなこ」の父親、ユーザＢは母親、ユーザＣは祖父である。「たろう」と「はなこ」は、グループＸの共通の学習対象である被写体画像を示すラベルである。一方グループＹは、例えば野鳥撮影の趣味グループで構成されるグループであり、ユーザＡ、ユーザＤ、ユーザＥは、趣味グループのメンバである。「カワセミ」は、グループＹの共通の学習対象の被写体画像を示すラベルである。
【００１９】
図２（ｂ）は、管理サーバ１００によって管理される、各カメラの学習モデルがサポート可能な教師画像のデータ仕様に関わる情報（以下、教師画像データ仕様管理テーブルと表記する）を例示している。教師画像のデータ仕様は、解像度とデータ形式に関する仕様を含む。図２（ｂ）に示すように、カメラごとの学習モデルによって学習に利用することができる教師画像のデータ仕様は異なる。
【００２０】
管理サーバ１００は、固有の学習モデルを備え、各カメラ１０１〜１０５から送信される教師画像データに対してクラスタリングを行う機能を備える。クラスタリングとは、教師なし学習とも呼ばれ、画像の特徴点を抽出し、所定の基準で類似する画像のまとまり（クラスタ）に分類することである。管理サーバ１００は、クラスタリングによって、グループ共通の学習被写体ラベルを自動更新する機能を備える。自動更新処理の詳細については図８で後述する。
【００２１】
＜カメラの構成＞次に、図３を参照して、実施形態１のシステムにおけるカメラ１０１〜１０５の構成および機能について説明する。
【００２２】
制御部３００は、後述する不揮発性メモリ３０１に記憶される制御プログラムを実行することによりカメラ全体を制御する。制御部３００は、１つまたは複数のＣＰＵやＭＰＵなどのプロセッサを含む。
【００２３】
不揮発性メモリ３０１は、制御部３００のＣＰＵが実行する各種の制御プログラムやパラメータを格納するＲＯＭ(Read Only Memory)である。
【００２４】
ワークメモリ３０２は、制御部３００のＣＰＵによる各種の処理に必要なプログラムやデータを一時記憶するＲＡＭ(Random Access Memory)である。なお、制御部３００が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２５】
記憶媒体Ｉ／Ｆ（インターフェース）３０３は、後述する記憶媒体３０４に対するアクセスを制御する。記憶媒体Ｉ／Ｆ３０３は、制御部３００の制御に従い、ワークメモリ３０２と記憶媒体３０４との間のデータ転送処理を実行する。
【００２６】
記憶媒体３０４は、例えば、カメラに内蔵されたハードディスクやメモリカード、あるいはカメラに着脱可能なハードディスク、メモリカード、ＵＳＢフラッシュメモリ、ＤＶＤ、ブルーレイディスクなどを含む。
【００２７】
操作部３０５は、ユーザの操作を受け付け、入力された情報を制御部３００に通知する。操作部３０５は、タッチパネル、ボタンスイッチ、十字キーなどの入力デバイスである。
【００２８】
表示部３０６は、カメラの動作状態や画像などを表示する。表示部３０６は、ＬＣＤやＬＥＤなどから構成される。また、表示部３０６はスピーカなどの音声出力が可能な機能を有してもよい。
【００２９】
通信部３０７は、管理サーバ１００や他のカメラなどの外部装置と接続したり、インターネットなどの外部ネットワークに接続したりするインターフェースである。本実施形態では、通信部３０７は管理サーバ１００や他のカメラと接続し、管理サーバ１００との間で撮影した画像データや学習通知（教師データ）などを送受信する。
【００３０】
撮像部３０８は、光学レンズ、ＣＭＯＳイメージセンサ、デジタル画像処理部などを備え、光学レンズを介して入力されるアナログ信号をデジタルデータに変換して画像データを生成する。撮像部３０８によって生成された画像データは、所定の形式に変換され、記憶媒体３０４に画像ファイルとして格納される。
【００３１】
なお、図３に示すハードウェア構成は一例であり、本実施形態のカメラ１０１〜１０５は図１に示すハードウェア構成以外のハードウェア構成を備えていてもよい。
【００３２】
内部バス３０９はカメラの各部３００〜３０３、３０５〜３０８をデータの授受が可能に接続する。
【００３３】
＜管理サーバの構成＞次に、図４を参照して、実施形態１のシステムにおける管理サーバ１００の構成および機能について説明する。
【００３４】
制御部４００は、後述する不揮発性メモリ４０１に記憶される制御プログラムを実行することによりサーバ全体を制御する。制御部４００は、１つまたは複数のＣＰＵやＭＰＵなどのプロセッサを含む。
【００３５】
不揮発性メモリ４０１は、制御部４００のＣＰＵが実行する各種の制御プログラムやパラメータを格納するＲＯＭ(Read Only Memory)である。
【００３６】
ワークメモリ４０２は、制御部４００のＣＰＵによる各種の処理に必要なプログラムやデータを一時記憶するＲＡＭ(Random Access Memory)である。なお、制御部４００が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００３７】
記憶媒体Ｉ／Ｆ（インターフェース）４０３は、後述する記憶媒体４０４に対するアクセスを制御する。記憶媒体Ｉ／Ｆ４０３は、制御部４００の制御に従い、ワークメモリ４０２と記憶媒体４０４との間のデータ転送処理を実行する。記憶媒体４０４は、例えば、大容量の記憶領域を備えるハードディスクなどである。
【００３８】
操作部４０５は、ユーザの操作を受け付け、入力された情報を制御部４００に通知する。操作部３０５は、ボタンスイッチ、キーボード、マウスなどの入力デバイスである。
【００３９】
表示部４０６は、サーバの動作状態などを表示する。表示部４０６は、ＬＣＤなどから構成される。また、表示部４３０６はスピーカなどの音声出力が可能な機能を有してもよい。
【００４０】
通信部４０７は、カメラ１０１〜１０５などの外部装置と接続したり、インターネットなどの外部ネットワークに接続したりするインターフェースである。本実施形態では、通信部４０７はカメラ１０１〜１０５と接続し、各カメラ１０１〜１０５との間で撮影した画像データや学習通知（教師データ）などを送受信する。
【００４１】
内部バス４０９は管理サーバ１００の各部４００〜４０３、４０５〜４０７をデータの授受が可能に接続する。
【００４２】
＜学習処理シーケンス＞次に、図５を参照して、実施形態１のシステムを構成するカメラＡ１０１〜Ｅ１０５のうち、カメラＡ１０１〜Ｃ１０３が画像の学習を行う場合の管理サーバ１００とカメラＡ１０１〜Ｃ１０３の処理シーケンスの例について説明する。
【００４３】
以下では、図１に示したシステム構成において、あるカメラが被写体の学習を実行した場合に、同じ被写体の学習を所望する（つまり、学習被写体ラベルが同じ）他のカメラにおいて、同じレベルの学習を実行させるための処理シーケンスを説明する。
【００４４】
図５は、例えば、カメラＡ１０１が被写体「たろう」を学習した場合に、同じレベルの学習をカメラＢ１０２およびカメラＣ１０３において実行可能となるように、カメラＡが被写体「たろう」の学習において生成した教師画像データを管理サーバ１００に送信し、管理サーバ１００からカメラＢ１０２およびカメラＣ１０３に送信する処理シーケンスを例示している。
【００４５】
Ｓ５０１において、カメラＡ１０１は、「たろう」の学習を実行する（第１の学習モード）。学習処理は、教師画像データを生成する処理、教師画像データを利用して学習を実行する処理、の２つパートに分かれる。
【００４６】
まず、教師データを生成する処理について説明する。ユーザＡは、カメラＡ１０１の表示部３０６に、学習対象の画像ファイル、すなわち「たろう」が写っている画像ファイルを表示させ、操作部３０５を介して教師画像として登録する領域を指定し、指定した領域に対して学習被写体ラベルの情報として「たろう」を入力する。図６（ａ）は、教師画像を登録するときのカメラＡ１０１の操作画面６００を例示している。操作画面６００は、カメラＡ１０１の表示部３０６の表示画面を示している。指定領域６０１は、ユーザによって指定された、教師画像として登録する領域を示している。ラベル情報６０２は、ユーザによって入力された学習被写体ラベルの情報を示している。このようにユーザは操作画面６００において登録領域を指定する操作とラベル情報の入力する操作を行うことにより、教師画像と学習被写体ラベル情報のペアからなる教師データが生成される。
【００４７】
次に、教師データを利用して学習を実行する処理について説明する。学習処理は、前述したようにＣＮＮを用いて行われる。図７は、ＣＮＮを用いた画像の学習処理を説明する図である。
【００４８】
画像７０１は、図６（ａ）で説明した操作によって生成された教師画像データに対応する画像である。教師画像データ７０１は、上記教師データを生成する処理において、図２（ｂ）に示すカメラＡ１０１の学習モデルのサポート可能な教師画像のデータ仕様に合わせて生成されるので、本実施形態では、解像度は３００ｘ３００、データ形式はＪＰＥＧとなる。
【００４９】
図７において、ＣＮＮ７００は、機能部７０２〜７０４を備える。機能部７０２は、入力された教師画像データ７０１に対して、畳み込み処理とプーリング処理を繰り返す処理層である。畳み込み処理は、元の画像からフィルタを用いて特徴点を凝縮する処理である。プーリング処理は重要な特徴点の情報を維持しながら画像を縮小する処理である。機能部７０３は、畳み込み処理とプーリング処理の繰り返した結果として得られる特徴マップである。機能部７０４は、多層で構成される全結合層である。特徴マップ７０３の各ピクセルの情報を入力データとして入力し、所定の重み係数を乗算して次の層のすべてのノードに出力する。この処理を複数の隠れ中間層を介して繰り返し、最終的な出力結果を得る。本実施形態では、最終的な結果として出力されるデータは、「たろう」である確率となる。フィードバック７０５では、全結像層７０４から得られた結果である「たろう」である確率が上がるようにフィードバック７０５が実行される。フィードバック７０５は学習の根幹となる処理であり、最終結果が出力されるごとに繰り返し実行される。フィードバック７０５を実行することにより、処理層７０２の畳み込み処理で用いられるフィルタの内容や、全結像層７０４における重み係数などが調整される。
【００５０】
Ｓ５０２において、カメラＡ１０１は、管理サーバ１００に対して学習を実行したことを示す学習通知を送信する。学習通知には、学習に利用した教師データが含まれる。教師データとは、図７で説明した教師画像データ７０１と学習被写体ラベル情報「たろう」のペアを示す。
【００５１】
Ｓ５０３において、管理サーバ１００は、カメラＡ１０１より送信された学習通知を受信し、学習通知に含まれる教師データを取得する。
【００５２】
Ｓ５０４において、管理サーバ１００は、Ｓ５０３で学習通知に含まれる教師データを共有するカメラを選定する処理を実行する。管理サーバ１００は、図２（ａ）に示したグループ管理テーブルを参照し、教師データの送信元であるカメラが所属するグループにおいて、取得した教師データに含まれる学習被写体ラベル情報がグループ共通の学習対象となっているグループがあるか否かを判定する。管理サーバ１００は、該当するグループがある場合は、そのグループに所属するカメラにおける、送信元のカメラを除くカメラを、共有先のカメラとして選定する。このため、条件によっては共有先のカメラが選定されない場合もあり、その場合は教師データの共有は行われず、処理を終了する。本ステップでは、カメラＡ１０１が所属するグループはグループＸとグループＹであり、そのうち学習被写体ラベル情報「たろう」がグループ共通となっているグループはグループＸであるため、カメラＢ１０２とカメラＣ１０３が共有先のカメラとして選定される。
【００５３】
Ｓ５０５において、管理サーバ１００は、Ｓ５０４で選定したカメラの学習モデルに入力可能な形式になるように、共有する教師データを加工する。管理サーバ１００は、図２（ｂ）に示した教師画像データ仕様の管理テーブルを参照し、共有先がカメラＢ１０２の場合には解像度は２００ｘ２００、データ形式はＪＰＥＧになるよう加工し、共有先がカメラＣ１０３の場合には解像度は３００ｘ３００、データ形式はＰＮＧになるように教師データを加工する。
【００５４】
Ｓ５０６において、管理サーバ１００は、カメラＢ１０２に、学習を要求する学習要求を送信する。学習要求には、Ｓ５０５でカメラＢ１０２への送信用に加工された教師データが含まれる。
【００５５】
Ｓ５０７において、カメラＢ１０２は、管理サーバ１００から送信された学習要求を受信し、学習要求に含まれる教師データを取得する。
【００５６】
Ｓ５０８において、カメラＢ１０２は、管理サーバ１００から受信した学習要求に応じて、Ｓ５０７で取得した教師データを利用して学習を実行する（第２の学習モード）。カメラＢ１０２では、Ｓ５０１でカメラＡ１０１が実行した学習と同じレベルの学習が実行可能となる。
【００５７】
Ｓ５０９において、管理サーバ１００は、カメラＣ１０３に、学習を要求する学習要求を送信する。学習要求には、Ｓ５０５でカメラＣ１０３への送信用に加工された教師データが含まれる。
【００５８】
Ｓ５１０において、カメラＣ１０３は、管理サーバ１００から送信された学習要求を受信し、学習要求に含まれる教師データを取得する。
【００５９】
Ｓ５１１において、カメラＣ１０３は、管理サーバ１００から受信した学習要求に応じて、Ｓ５１０で取得した教師データを利用して学習を実行する（第２の学習モード）。カメラＣ１０３では、Ｓ５０１でカメラＡ１０１が実行した学習と同じレベルの学習が実行可能となる。
【００６０】
なお、Ｓ５０９からＳ５１１までの処理は、必ずしもＳ５０６からＳ５０８までの処理の後に実行される必要はなく、同時並行で実行するようにしてもよい。
【００６１】
また、Ｓ５０８およびＳ５１１では、Ｓ５０７、Ｓ５１０で管理サーバ１００から受信した学習要求に応じて第２の学習モードにおける学習を実行する前に、学習を実行するか否かをユーザに確認し、ユーザの許可を得た場合のみ学習を実行するようにしてもよい。図６（ｂ）は、管理サーバ１００からの学習要求に応じた第２の学習モードにおける学習を実行するか否かをユーザが選択可能なカメラＢ１０２、Ｃ１０３の操作画面を例示している。操作画面６０３は、カメラＢ１０２、Ｃ１０３の表示部３０６に表示される。画像６０４は、管理サーバ１００から受信した教師画像データを示している。ボタン６０５、６０６は表示画面６０３のタッチパネル上に表示される。ボタン６０５は学習を実行する場合に選択され、ボタン６０６は学習を実行しない場合に選択される。ユーザは、管理サーバ１００からの学習要求に応じた第２の学習モードにおける学習を実行しない場合には、図６（ｂ）の操作画面６０３においてボタン６０６を選択すればよい。これにより、管理サーバ１００からの学習要求に応じて実行される第２の学習モードにおける学習機能を無効化することができる。
【００６２】
また、図５では、カメラＡ１０１が教師データを送信し、カメラＢ１０２およびカメラＣ１０３が教師データを受信する処理を例示したが、カメラＡ１０１は、他のカメラの教師データを受信することも可能である。同様に、カメラＢ１０２およびカメラＣ１０３は、自身が学習に利用した教師データを他のカメラに提供することも可能である。
【００６３】
＜学習被写体の更新シーケンス＞次に、図８を参照して、図２（ａ）で示したグループ管理テーブルにて管理されるグループ共通の学習被写体を自動更新する処理シーケンスについて説明する。
【００６４】
図８は、グループＹに所属する全てのカメラが野鳥のキジの学習を１００回数以上実行した場合に、グループＹの共通の学習被写体ラベルとして新たに「キジ」を追加する処理シーケンスを例示している。
【００６５】
Ｓ８０１において、カメラＡ１０１は、キジの画像の学習を実行する。Ｓ８０の処理は、例えばユーザＡがキジを撮影したタイミングで実行される。学習処理の詳細については、Ｓ５０１において説明した通りである。
【００６６】
Ｓ８０２において、カメラＡ１０１は、管理サーバ１００に対して学習を実行したことを示す学習通知を送信する。学習通知には、学習で利用した教師データが含まれる。教師データとは、キジの画像が含まれる教師画像データと、学習被写体ラベル情報「キジ」のペアを含む。
【００６７】
Ｓ８０３において、管理サーバ１００は、カメラＡ１０１より送信された学習通知を受信し、学習通知に含まれる教師データを取得する。
【００６８】
Ｓ８０４において、管理サーバ１００は、Ｓ８０３で受信した教師画像データに対してクラスタリング（教師なし学習）を実行し、クラスタ単位で学習通知の受信履歴を更新する。図２（ｃ）は、各カメラＡ〜Ｅからの学習通知の受信履歴を管理する情報（以下、学習通知管理テーブルと表記する）を例示している。図示のように、学習通知の受信履歴は、クラスタごとに管理される。００００４のクラスタＩＤは、本ステップでのクラスタリングによって分類されたクラスタの識別子である。ラベルの列に記載された「キジ」は、本ステップでのクラスタリングの対象である教師画像データの学習被写体ラベル情報「キジ」に対応する。学習通知回数には、クラスタＩＤに対応する教師画像データを含む学習通知を受信した回数が、カメラごとに記録、更新される。カメラＡ１０１の列に記載された１２５回は、「キジ」に類似する教師画像データを含む学習通知を、現在までにカメラＡ１０１から１２５回受信したことを示し、本ステップによって１２４回から１２５回に更新されたことを示している。
【００６９】
Ｓ８０５からＳ８０８では、Ｓ８０１からＳ８０４と同様の処理をカメラＤ１０４について行う。
【００７０】
Ｓ８０９からＳ８１２では、８０１からＳ８０４と同様の処理を、カメラＥ１０５について行う。
【００７１】
図２（ｄ）は、Ｓ８０８、Ｓ８１２において更新された学習通知管理テーブルを例示している。図２（ｄ）は、図２（ｃ）と比較して、クラスタＩＤが００００４の、カメラＤ１０４の学習通知回数と、カメラＥ１０５の学習通知回数がそれぞれプラス１に更新されている。これにより、グループＹに所属する全てのカメラが「キジ」の学習を１００回数以上実行したことになる。
【００７２】
Ｓ８１３において、管理サーバ１００は、「キジ」をグループＹの共通の学習被写体として新たに追加する。図２（ｅ）は、Ｓ８１３において更新されたグループ管理テーブルを例示している。図２（ｅ）に示すように、グループＹの共通の学習被写体として「キジ」が追加される。
【００７３】
実施形態１によれば、カメラ１０１〜１０５と管理サーバ１００とで構成されるシステムにおいて、あるカメラＡ１０１が被写体の学習を実行機能した場合に、管理サーバ１００が同じ被写体の学習を所望する他のカメラＢ１０２、Ｃ１０３を自動で選定し、学習に利用した教師データを共有することができる。これにより、共有先のカメラＢ１０２、Ｃ１０３において同じレベルの学習を実行することが可能となる。
【００７４】
また、管理サーバ１００が各カメラＡ１０１〜Ｅ１０５の学習状況に応じて学習被写体を自動更新することにより、カメラごとに学習被写体が変化した場合でも、常に最適な被写体を学習対象として選定することが可能となる。
【００７５】
［実施形態２］次に、実施形態２について説明する。
【００７６】
実施形態１では、カメラと管理サーバから構成されるシステムを説明した。これに対して、実施形態２では、管理サーバを含まない、カメラのみで構成されるシステムについて説明する。なお、以下では、実施形態１との相違点を中心に説明を行い、実施形態１と共通する内容については説明を省略する。
【００７７】
＜システム構成＞まず、図９を参照して、実施形態２のシステム構成について説明する。
【００７８】
本実施形態のシステムは、カメラ１０１〜１０５（カメラＡ〜１０５）が互いに通信可能に接続されて構成される。本実施形態では、カメラ１０１〜１０５が、インターネットなどのネットワークを介して互いに通信可能な機能を備えていることを前提にしているが、必ずしもインターネット通信機能を内蔵する構成でなくてもよく、例えば、無線ＬＡＮ通信機能を備え、スマートフォンのようなテザリング機能を備える機器を介してカメラ間で通信を行う構成でもよい。また、図示していないが、ネットワーク上にカメラ間通信の経路制御を行うための中継サーバを配置し、中継サーバを介して通信する構成としてもよい。
【００７９】
カメラ１０１〜１０５は、実施形態１と同様に、固有の学習モデルを備え、教師データを利用して画像を学習する機能を備える。また、カメラ１０１〜１０５は、実施形態１と同様に、学習対象の被写体を共通とするカメラ同士でグループを構成する。本実施形態では、各カメラ１０１〜１０５がグループ管理テーブルを管理する。グループ管理テーブルの仕様は、実施形態１の図２（ａ）と同様である。また、教師画像データ仕様管理テーブルも、実施形態１の図２（ｂ）と同様である。また、本実施形態のカメラの構成および機能は実施形態１と同様である。
【００８０】
＜学習処理シーケンス＞次に、図１０を参照して、実施形態２のシステムを構成するカメラＡ１０１〜Ｅ１０５のうちカメラＡ１０１〜Ｃ１０３が画像の学習を行う場合のカメラＡ１０１〜Ｃ１０３の処理シーケンスの例について説明する。
【００８１】
以下では、図９に示したシステム構成において、あるカメラが被写体の学習を実行した場合に、同じ被写体の学習を所望する（つまり、学習被写体ラベルが同じ）他のカメラにおいて、同じレベルの学習を実行させるための処理シーケンスを説明する。
【００８２】
図１０は、例えば、カメラＡ１０１が被写体「たろう」を学習した場合に、同じレベルの学習をカメラＢ１０２およびカメラＣ１０３において実行可能となるように、カメラＡ１０１が被写体「たろう」の学習において生成した教師画像データを管理サーバ１００に送信し、カメラＡ１０１からカメラＢ１０２およびカメラＣ１０３に送信する処理シーケンスを例示している。
【００８３】
Ｓ１００１において、カメラＡ１０１は、「たろう」の学習を実行する。学習処理の詳細は、図５のＳ５０１で説明した通りである。
【００８４】
Ｓ１００２において、カメラＡ１０１は、Ｓ１００１で学習に利用した教師データを共有するカメラを選定する処理を実行する。共有先の選定処理は、カメラＡ１０１が図５のＳ５０４と同様の処理を実行する。
【００８５】
Ｓ１００３において、カメラＡ１０１は、Ｓ１００２で選定したカメラの学習モデルに入力可能な形式になるように、共有する教師データを加工する。教師データの加工処理は、カメラＡ１０１が図５のＳ５０５と同様の処理を実行する。
【００８６】
Ｓ１００４において、カメラＡ１０１は、カメラＢ１０２に、学習を要求する学習要求を送信する。学習要求には、Ｓ１００３でカメラＢ１０２への送信用に加工された教師データが含まれる。
【００８７】
Ｓ１００５において、カメラＢ１０２は、カメラＡ１０１から送信された学習要求を受信し、学習要求に含まれる教師データを取得する。
【００８８】
Ｓ１００６において、カメラＢ１０２は、Ｓ１００５で取得した教師データを利用して学習を実行する。カメラＢ１０２では、Ｓ１００１でカメラＡ１０１が実行した学習と同じレベルの学習が実行可能となる。
【００８９】
Ｓ１００７において、カメラＡ１０１は、カメラＣ１０３に、学習を要求する学習要求メッセージを送信する。学習要求には、Ｓ１００３でカメラＣ１０３への送信用に加工された教師データが含まれる。
【００９０】
Ｓ１００８において、カメラＣ１０３は、カメラＡ１０１から送信された学習要求を受信し、学習要求に含まれる教師データを取得する。
【００９１】
Ｓ１００９において、カメラＣ１０３は、Ｓ１００８で取得した教師データを利用して学習を実行する。カメラＣ１０３では、Ｓ１００１でカメラＡ１０１が実行した学習と同じレベルの学習が実行可能となる。
【００９２】
なお、Ｓ１００４からＳ１００６までの処理は、必ずしもＳ１００７からＳ１００９までの処理の後に実行される必要はなく、同時並行で実行するようにしてもよい。
【００９３】
また、Ｓ１００６およびＳ１００９では、図５のＳ５０８およびＳ５１１と同様に、管理サーバ１００から受信した学習要求に応じて学習を実行する前に、学習を実行するか否かをユーザに確認し、ユーザの許可を得た場合のみ学習を実行するようにしてもよい。
【００９４】
また、図１０では、カメラＡ１０１が教師データを送信し、カメラＢ１０２およびカメラＣ１０３が教師データを受信する処理を例示したが、カメラＡ１０１は、他のカメラの教師データを受信することも可能である。同様に、カメラＢ１０２およびカメラＣ１０３は、自身が学習に利用した教師データを他のカメラに提供することも可能である。
【００９５】
また、各カメラが、他のカメラから受信した学習要求に応じて、実施形態１の図８で説明した学習被写体の更新シーケンスを実行するように構成してもよい。
【００９６】
実施形態２によれば、カメラ１０１〜１０５から構成されるシステムにおいて、あるカメラＡ１０１が被写体の学習を実行した場合に、そのカメラＡ１０１が、同じ被写体の学習を所望する他のカメラＢ１０２、Ｃ１０３を自動で選定し、学習に利用した教師データを共有することができる。これにより、共有先のカメラＢ１０２、Ｃ１０３において同じレベルの学習を実行することが可能となる。
【００９７】
なお、実施形態１および２では、カメラ１０１〜１０５が学習機能を備える構成を例に挙げて説明を行ったが、これに限られるものではない。カメラ１０１〜１０５のそれぞれに対応するエッジコンピュータやサーバが存在し、これらのエッジコンピュータやサーバが学習機能を備えるようにしてもよい。これらエッジコンピュータやサーバが学習することにより得られた、被写体を認識するためのパラメータを、対応するカメラ１０１〜１０５に送信し、カメラ１０１〜１０５はこのパラメータを用いて被写体を認識する。この場合、管理サーバ１００は、カメラ１０１〜１０５の代わりに、カメラ１０１〜１０５に対応するエッジコンピュータやサーバの選定を行うことになる。
【００９８】
［他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９９】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【０１００】
１００…管理サーバ、１０１〜１０５…カメラＡ〜Ｅ、３００、４００…制御部、３０７、４０７…通信部
【図１】
2020197995.tif 000003
【図２】
2020197995.tif 000004
【図３】
2020197995.tif 000005
【図４】
2020197995.tif 000006
【図５】
2020197995.tif 000007
【図６】
2020197995.tif 000008
【図７】
2020197995.tif 000009
【図８】
2020197995.tif 000010
【図９】
2020197995.tif 000011
【図１０】
2020197995.tif 000012