(57)【要約】【課題】物体認識カメラシステム、再学習システム、及び物体認識プログラムにおいて、検出された物体が撮影エリア内に存在する時間を考慮して、複数種類の学習済物体認識用ニューラルネットワークのうち、適切な学習済物体認識用ニューラルネットワークを、適切な順番で使用して、撮影エリア内に存在する物体を認識する。【解決手段】検出された物体（ＩＤが付与された物体）が所定の撮影エリア内に存在する時間（物体存在時間）を予想して（Ｓ１１）、予想した物体存在時間（予想ＩＤ存在時間）に基づいて、複数種類の認識器Ｒ１〜Ｒｎ（学習済物体認識用ニューラルネットワーク）の使用スケジュールの作成と更新を行う（Ｓ１２）。そして、この使用スケジュールに従って、認識器Ｒ１〜Ｒｎを使用して、所定の撮影エリア内に存在する物体を認識するようにした（Ｓ１３）。【選択図】図９
2020052484.tif 000002
【特許請求の範囲】
【請求項１】
所定の撮影エリアを撮影するカメラ部と、このカメラ部が接続されたコンピュータとを備えた物体認識カメラシステムであって、
前記コンピュータは、
前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、
前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、
前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、
前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部とを備え、
前記物体認識部は、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識する物体認識カメラシステム。
【請求項２】
前記物体検出部により検出された物体が、複数であるとき、
前記存在時間予想部は、前記物体検出部により検出された複数の物体の各々が、前記所定の撮影エリア内に存在する時間を予想し、
前記スケジューラ部は、前記存在時間予想部により予想した、前記複数の物体の各々が前記所定の撮影エリア内に存在する時間に基づき、前記複数の物体の各々について、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うことを特徴とする請求項１に記載の物体認識カメラシステム。
【請求項３】
前記コンピュータは、コンピュータ本体と、このコンピュータ本体に接続される機能拡張用プロセッサチップとを含み、
前記機能拡張用プロセッサチップは、前記物体認識部を備えることを特徴とする請求項１又は請求項２に記載の物体認識カメラシステム。
【請求項４】
前記コンピュータは、前記機能拡張用プロセッサチップを２つ以上備え、これらの機能拡張用プロセッサチップのうち、前記物体認識部を備える機能拡張用プロセッサチップとは別の機能拡張用プロセッサチップが、前記物体検出部を備えることを特徴とする請求項３に記載の物体認識カメラシステム。
【請求項５】
所定の撮影エリアを撮影するカメラ部、及び前記カメラ部が接続されたコンピュータを備えた物体認識カメラシステムと、前記コンピュータよりも処理能力の高いチェック用サーバとを備えた再学習システムにおいて、
前記コンピュータは、
前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、
前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、
前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、
前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部とを備え、
前記物体認識部は、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識し、
前記チェック用サーバは、前記物体認識カメラシステム側の前記カメラ部により取得したフレーム画像に映り込んだ物体について、前記物体認識カメラシステム側で行われた物体の認識の種類毎に、前記物体認識カメラシステム側で用いられた前記学習済物体認識用ニューラルネットワークよりも、精度の高い推論を行うことが可能な学習済物体認識用ニューラルネットワークを用いて、前記物体認識カメラシステム側で行われた物体の認識と同種の物体の認識を行い、
前記チェック用サーバによる前記物体の認識結果と、前記物体認識カメラシステム側における前記物体の認識結果に、所定のレベル以上の差異がある場合に、前記物体認識カメラシステム側における前記複数種類の学習済物体認識用ニューラルネットワークの再学習を行う再学習システム。
【請求項６】
前記物体認識カメラシステム側における前記物体検出部は、学習済物体検出用ニューラルネットワークを有し、この学習済物体検出用ニューラルネットワークを用いて、前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出し、
前記チェック用サーバは、前記カメラ部により取得したフレーム画像に映り込んだ物体について、前記物体認識カメラシステム側における前記学習済物体検出用ニューラルネットワークよりも、精度の高い推論を行うことが可能な学習済物体検出用ニューラルネットワークを用いて、物体の検出を行い、
前記チェック用サーバによる前記物体の検出結果と、前記物体認識カメラシステム側における前記物体の検出結果に、所定のレベル以上の差異がある場合に、前記物体認識カメラシステム側における前記学習済物体検出用ニューラルネットワークの再学習を行うことを特徴とする請求項５に記載の再学習システム。
【請求項７】
コンピュータを、
所定の撮影エリアを撮影するカメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、
前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、
前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、
前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部として機能させるための、物体認識プログラムにおいて、
前記物体認識部が、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識するようにさせる物体認識プログラム。
【請求項８】
前記物体検出部により検出された物体が、複数であるとき、
前記存在時間予想部は、前記物体検出部により検出された複数の物体の各々が、前記所定の撮影エリア内に存在する時間を予想し、
前記スケジューラ部は、前記存在時間予想部により予想した、前記複数の物体の各々が前記所定の撮影エリア内に存在する時間に基づき、前記複数の物体の各々について、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うことを特徴とする請求項７に記載の物体認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体認識カメラシステム、再学習システム、及び物体認識プログラムに関する。
【背景技術】
【０００２】
従来から、監視カメラや、いわゆるＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）カメラ等のカメラで撮影したフレーム画像に映り込んだ人等の物体を、物体検出用ニューラルネットワーク等で検出して、検出した物体の認識を、物体認識用ニューラルネットワークを用いて行うようにした装置やシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２２４９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上記のような物体認識用ニューラルネットワークを用いて物体の認識を行う装置やシステムでは、一般的に、物体検出で物体の領域を検出し、当該検出された領域の詳細を認識するために当該検出された領域それぞれについて、（学習済物体認識用ニューラルネットワークによる）物体認識をかける。ただし、物体検出も物体認識も、相当のコンピュータリソースを要する処理であるため、例えば、物体検出が１００ミリ秒、物体認識が２００ミリ秒かかるとして、あるフレーム画像で３つの物体が検出されたとすると、そのフレーム画像内の全ての検出物体の認識を行うには、１００＋２００×３＝７００ミリ秒の時間が必要となる。このように、１つのフレーム画像における全ての物体を認識するために要する時間は、フレームに含まれる（検出）物体数に依存する。
【０００５】
従って、たくさんの物体が検出されたフレーム画像における物体の認識には、長時間を要してしまうため、物体が多いフレーム画像の後暫くの間に入力されたフレーム画像における物体の認識を行うことができない（認識漏れが発生する）という、いわゆるフレーム落ちの問題が発生する。
【０００６】
上記の問題への既存の対処方法としては、物体検出処理用のスレッドと物体認識処理用のスレッドを分割して並行処理とし、また物体認識処理を高速化するために、専用のＧＰＵを多数割り当てる、という方法がある。しかしこの方法だと、（１）専用ＧＰＵの導入コストが必要になる、（２）物体検出で検出した画像情報をキューイングする必要があるため大量のメモリが必要になる（コスト増）、（３）専用ＧＰＵでも処理が追い付かない場合には、キューあふれが発生し、認識漏れとなる、という問題がある。
【０００７】
本発明は、上記課題を解決するものであり、検出された物体が撮影エリア内に存在する時間を考慮して、複数種類の学習済物体認識用ニューラルネットワークのうち、適切な学習済物体認識用ニューラルネットワークを、適切な順番で使用して、撮影エリア内に存在する物体を認識することが可能な物体認識カメラシステム、再学習システム、及び物体認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第1の態様による物体認識カメラシステムは、所定の撮影エリアを撮影するカメラ部と、このカメラ部が接続されたコンピュータとを備えた物体認識カメラシステムであって、前記コンピュータは、前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部とを備え、前記物体認識部は、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識する物体認識カメラシステムである。
【０００９】
この物体認識カメラシステムにおいて、前記物体検出部により検出された物体が、複数であるとき、前記存在時間予想部は、前記物体検出部により検出された複数の物体の各々が、前記所定の撮影エリア内に存在する時間を予想し、前記スケジューラ部は、前記存在時間予想部により予想した、前記複数の物体の各々が前記所定の撮影エリア内に存在する時間に基づき、前記複数の物体の各々について、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うことが望ましい。
【００１０】
この物体認識カメラシステムにおいて、前記コンピュータは、コンピュータ本体と、このコンピュータ本体に接続される機能拡張用プロセッサチップとを含み、前記機能拡張用プロセッサチップは、前記物体認識部を備えるようにしてもよい。
【００１１】
この物体認識カメラシステムにおいて、前記コンピュータは、前記機能拡張用プロセッサチップを２つ以上備え、これらの機能拡張用プロセッサチップのうち、前記物体認識部を備える機能拡張用プロセッサチップとは別の機能拡張用プロセッサチップが、前記物体検出部を備えるようにしてもよい。
【００１２】
本発明の第２の態様による再学習システムは、所定の撮影エリアを撮影するカメラ部、及び前記カメラ部が接続されたコンピュータを備えた物体認識カメラシステムと、前記コンピュータよりも処理能力の高いチェック用サーバとを備えた再学習システムにおいて、前記コンピュータは、前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部とを備え、前記物体認識部は、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識し、前記チェック用サーバは、前記物体認識カメラシステム側の前記カメラ部により取得したフレーム画像に映り込んだ物体について、前記物体認識カメラシステム側で行われた物体の認識の種類毎に、前記物体認識カメラシステム側で用いられた前記学習済物体認識用ニューラルネットワークよりも、精度の高い推論を行うことが可能な学習済物体認識用ニューラルネットワークを用いて、前記物体認識カメラシステム側で行われた物体の認識と同種の物体の認識を行い、前記チェック用サーバによる前記物体の認識結果と、前記物体認識カメラシステム側における前記物体の認識結果に、所定のレベル以上の差異がある場合に、前記物体認識カメラシステム側における前記複数種類の学習済物体認識用ニューラルネットワークの再学習を行うものである。
【００１３】
この再学習システムにおいて、前記物体認識カメラシステム側における前記物体検出部は、学習済物体検出用ニューラルネットワークを有し、この学習済物体検出用ニューラルネットワークを用いて、前記カメラ部から入力されたフレーム画像に映り込んだ物体を検出し、前記チェック用サーバは、前記カメラ部により取得したフレーム画像に映り込んだ物体について、前記物体認識カメラシステム側における前記学習済物体検出用ニューラルネットワークよりも、精度の高い推論を行うことが可能な学習済物体検出用ニューラルネットワークを用いて、物体の検出を行い、前記チェック用サーバによる前記物体の検出結果と、前記物体認識カメラシステム側における前記物体の検出結果に、所定のレベル以上の差異がある場合に、前記物体認識カメラシステム側における前記学習済物体検出用ニューラルネットワークの再学習を行うことが望ましい。
【００１４】
本発明の第３の態様による物体認識プログラムは、コンピュータを、所定の撮影エリアを撮影するカメラ部から入力されたフレーム画像に映り込んだ物体を検出する物体検出部と、前記物体検出部により検出された物体が、前記所定の撮影エリア内に存在する時間を予想する存在時間予想部と、前記物体検出部により検出された物体を認識するための複数種類の学習済物体認識用ニューラルネットワークを有する物体認識部と、前記存在時間予想部により予想した、前記物体が所定の撮影エリア内に存在する時間に基づいて、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うスケジューラ部として機能させるための、物体認識プログラムにおいて、前記物体認識部が、前記使用スケジュールに従って、前記複数種類の学習済物体認識用ニューラルネットワークを使用して、前記所定の撮影エリア内に存在する物体を認識するようにさせる物体認識プログラムである。
【００１５】
この物体認識プログラムにおいて、前記物体検出部により検出された物体が、複数であるとき、前記存在時間予想部は、前記物体検出部により検出された複数の物体の各々が、前記所定の撮影エリア内に存在する時間を予想し、前記スケジューラ部は、前記存在時間予想部により予想した、前記複数の物体の各々が前記所定の撮影エリア内に存在する時間に基づき、前記複数の物体の各々について、前記複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行うことが望ましい。
【発明の効果】
【００１６】
本発明の第１の態様による物体認識カメラシステム、及び第３の態様による物体認識プログラムによれば、検出された物体が所定の撮影エリア内に存在する時間（以下、「物体存在時間」という）を予想して、この予想した物体存在時間に基づいて、複数種類の学習済物体認識用ニューラルネットワークの使用スケジュールの作成と更新を行う。そして、この使用スケジュールに従って、複数種類の学習済物体認識用ニューラルネットワークを使用して、所定の撮影エリア内に存在する物体を認識するようにした。これにより、上記の物体存在時間（検出された物体が所定の撮影エリア内に存在する時間）を考慮して、複数種類の学習済物体認識用ニューラルネットワークのうち、適切な学習済物体認識用ニューラルネットワークを、適切な順番で使用して、上記撮影エリア内に存在する物体を認識することができる。従って、従来の物体認識用ニューラルネットワークを用いて物体の認識を行う装置やシステムと異なり、検出された物体がカメラによる撮影エリアから出てしまう（フレームアウトする）までに、物体を認識できる可能性を高めることができる。また、上記の物体存在時間（検出された物体が所定の撮影エリア内に存在する時間）が長い場合には、複数種類の学習済物体認識用ニューラルネットワークのうち、処理時間が長くて精度が高い学習済物体認識用ニューラルネットワークを使用して、検出された物体を正確に認識することができる可能性を高めることができる。
【００１７】
また、本発明の第２の態様による再学習システムによれば、チェック用サーバが、フレーム画像に映り込んだ物体について、物体認識カメラシステム側で行われた物体の認識の種類毎に、物体認識カメラシステム側で用いられた学習済物体認識用ニューラルネットワークよりも、精度の高い推論（物体認識）を行うことが可能な学習済物体認識用ニューラルネットワークを用いて、物体認識カメラシステム側で行われた物体の認識と同種の物体の認識を行う。そして、チェック用サーバによる精度の高い物体の認識結果と、物体認識カメラシステム側における物体の認識結果に、所定のレベル以上の差異がある場合に、物体認識カメラシステム側における複数種類の学習済物体認識用ニューラルネットワークの再学習を行うようにした。これにより、上記第１の態様による物体認識カメラシステムが有する効果と同様な効果に加えて、例えば、物体認識カメラシステムが配置される場所毎に、認識対象となる物体の特徴が異なる場合や、認識対象となる物体の特徴が変更された場合（例えば、検出された物体が店員か顧客かを認識する物体認識用ニューラルネットワークの場合に、店員の服が夏服から冬服に代わったような場合）でも、物体認識カメラシステム側における複数種類の学習済物体認識用ニューラルネットワークの再学習を行って、物体の認識を正確に行うことができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態のエッジカメラを含む再学習システムの概略の構成を示すブロック構成図。
【図２】同エッジカメラの概略のハードウェア構成を示すブロック図。
【図３】同エッジカメラにおけるボードコンピュータとＤＮＮ推論用ＵＳＢ拡張チップの機能ブロック構成図。
【図４】同エッジカメラにおける主なソフトウェアの構成図。
【図５】同エッジカメラにおける処理の概要のフローチャート。
【図６】同エッジカメラにおけるバウンディングボックス、及びバウンディングボックスに付与されるＩＤの例を示す説明図。
【図７】同エッジカメラにおけるバウンディングボックス情報の説明図。
【図８】上記図４中のＩＤテーブルのレコードの内容を示す図。
【図９】上記図５中のＳ５の認識処理の詳細のフローチャート。
【図１０】同エッジカメラにおけるスケジューラ部が作成・更新した認識器の使用スケジュールの説明図。
【図１１】上記図１０中の認識器の精度と処理時間の例を示す説明図。
【発明を実施するための形態】
【００１９】
以下、本発明を具体化した実施形態による物体認識カメラシステム、再学習システム、及び物体認識プログラムについて、図面を参照して説明する。図１は、本実施形態によるエッジカメラ１（請求項における「物体認識カメラシステム」）と、ＡＩサーバ２（請求項における「チェック用サーバ」）とを含む、再学習システム１０の概略の構成を示すブロック構成図である。本実施形態では、エッジカメラ１、及びＡＩサーバ２が、チェーン店等の店舗内に配される場合の例について説明する。上記のエッジカメラ１は、いわゆるエッジコンピューティング機能を有するＡＩカメラである。また、ＡＩサーバ２は、エッジカメラ１が有するコンピュータ１１（図２参照）よりも処理能力の高いサーバであり、後述するエッジカメラ１側における物体検出の処理結果と物体認識の処理結果のチェック用のサーバである。
【００２０】
図１に示されるように、店舗内の複数のエッジカメラ１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４を介して、ＡＩサーバ２、及びＶＭＳ（Ｖｉｄｅｏ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）サーバ３と接続されている。ＶＭＳサーバ３は、エッジカメラ１側のカメラユニット１２（図２参照）で取得したフレーム画像の格納用の記憶装置を有するサーバである。
【００２１】
上記のＬＡＮ４を用いて形成された店舗内のイントラネット６は、ルータ５を介して、インターネット７と接続されている。このインターネット７には（クラウド上には）、学習サーバ８と、タグサーバ９とが配されている。上記の学習サーバ８は、後述するエッジカメラ１側における複数種類の学習済物体認識用ニューラルネットワーク（認識器）の再学習処理を行って、再学習の結果を反映した学習済物体認識用ニューラルネットワーク（のパラメータ）を、エッジカメラ１に送信する。また、学習サーバ８は、後述するエッジカメラ１側における学習済物体検出用ニューラルネットワーク（物体検出器）の再学習処理を行って、再学習の結果を反映した学習済物体検出用ニューラルネットワーク（のパラメータ）を、エッジカメラ１に送信する。上記のタグサーバ９は、後述するエッジカメラ１側における複数種類の認識器による物体認識結果、及びＡＩサーバ２が抜き打ち検査的に行う物体認識結果を格納する。なお、ＡＩサーバ２と学習サーバ８による物体検出器と認識器の再学習処理の詳細については、説明の都合上、後述する。
【００２２】
次に、図２を参照して、エッジカメラ１のハードウェア構成について説明する。エッジカメラ１は、所定の撮影エリアを撮影するカメラユニット１２（請求項における「カメラ部」）と、このカメラユニット１２が接続されたコンピュータ１１とを備えている。上記のコンピュータ１１は、ボードコンピュータ１３（請求項における「コンピュータ本体」）と、このコンピュータ本体に接続されるＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）推論用ＵＳＢ拡張チップＣ１，Ｃ２（請求項における「機能拡張用プロセッサチップ」）とを含んでいる。
【００２３】
上記のボードコンピュータ１３は、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）１４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５と、ｍｉｃｒｏＳＤカード１６と、ＬＡＮポート１７と、カメラコネクタ１８と、ＵＳＢコネクタ１９，２０とを備えている。上記のＳｏＣ１４は、装置全体の制御及び各種演算を行うＣＰＵ２１と、リアルタイム画像処理に用いられるＧＰＵ２２とを備えている。ＲＡＭ１５は、各種のプログラムの実行時に、実行するプログラムやデータをロードする。
【００２４】
上記のｍｉｃｒｏＳＤカード１６は、各種のデータやプログラムを記憶する。ｍｉｃｒｏＳＤカード１６に記憶されているプログラムには、物体認識プログラム２３が含まれている。ただし、請求項における「物体認識プログラム」は、ｍｉｃｒｏＳＤカード１６に記憶された物体認識プログラム２３と、ＤＮＮ推論用ＵＳＢ拡張チップＣ１内に格納された物体検出器３５（図４参照）と、ＤＮＮ推論用ＵＳＢ拡張チップＣ２内に格納された認識器Ｒ１〜Ｒｎ（図４参照）とを合わせたものである。なお、ＤＮＮ推論用ＵＳＢ拡張チップは、一つでもよい。物体検出に要する時間が、物体認識に要する時間と比較して小さい場合、物体検出と物体認識を直列で実施する方が効率的にＤＮＮ推論用ＵＳＢ拡張チップのリソースを活用できる場合もあるからである。また、上記の物体認識プログラム２３の一部または全部が、ＳｏＣ１４内のメモリに記憶される場合もある。
【００２５】
上記のＬＡＮポート１７は、Ｅｔｈｅｒｎｅｔ規格のＬＡＮへの接続用のポートである。カメラコネクタ１８は、カメラユニット１２の接続用のコネクタである。また、ＵＳＢコネクタ１９，２０は、それぞれ、ＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２の接続用のコネクタである。
【００２６】
図３は、上記のエッジカメラ１におけるボードコンピュータ１３とＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２の機能ブロックを示す。エッジカメラ１のボードコンピュータ１３のＣＰＵ２１は、機能ブロックとして、存在時間予想部２６と、スケジューラ部２７とを備えている。また、ＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２は、それぞれ、機能ブロックとして、物体検出部２５、物体認識部２８を備えている。
【００２７】
上記の物体検出部２５は、カメラユニット１２から入力されたフレーム画像に映り込んだ物体を検出する。本実施形態では、物体検出部２５は、物体のうち、人を検出する。また、存在時間予想部２６は、物体検出部２５により検出された人が、カメラユニット１２の所定の撮影エリア内に存在する時間を予想する。物体認識部２８は、物体検出部２５により検出された人を認識するための複数種類の学習済物体認識用ニューラルネットワークを有している。スケジューラ部２７は、存在時間予想部２６により予想した、人が撮影エリア内に存在する時間に基づいて、ＤＮＮ推論用ＵＳＢ拡張チップＣ２に格納された複数種類の学習済物体認識用ニューラルネットワーク（図４における認識器Ｒ１〜Ｒｎに相当）の使用スケジュールの作成と更新を行う。上記の物体認識部２８は、スケジューラ部２７により作成及び更新された使用スケジュールに従って、複数種類の学習済物体認識用ニューラルネットワーク（図４における認識器Ｒ１〜Ｒｎ）を使用して、上記の撮影エリア内に存在する人を認識する。
【００２８】
上記のエッジカメラ１側の存在時間予想部２６とスケジューラ部２７の機能は、エッジカメラ１側のＣＰＵ２１が物体認識プログラム２３を実行することにより実現される。ただし、この構成に限られず、例えば、上記のＣＰＵ２１における各ブロックの機能の少なくとも一つを、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等によって構成される個別のハードウェアによって実現してもよい。また、エッジカメラ１側における全ての機能ブロック（存在時間予想部２６、スケジューラ部２７、物体検出部２５、及び物体認識部２８）を、エッジカメラ１側のＣＰＵ２１が備えてもよい。
【００２９】
次に、図４を参照して、エッジカメラ１における主なソフトウェアの構成について説明する。図４に示すように、エッジカメラ１のボードコンピュータ１３における主なソフトウェアは、フレーム画像入力モジュール３１と、認識器スケジューラ３２（請求項及び図３における「スケジューラ部」に相当）と、学習効率化モジュール３３である。また、エッジカメラ１のＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２における主なソフトウェアは、それぞれ、物体検出器３５と、認識器Ｒ１〜Ｒｎである。
【００３０】
上記のフレーム画像入力モジュール３１は、カメラユニット１２からのフレーム画像を、一定のフレームレートで取り込む（入力する）。ＤＮＮ推論用ＵＳＢ拡張チップＣ１における物体検出器３５は、上記の物体検出部２５に相当する処理を行う。この物体検出器３５を構成する学習済物体検出用ニューラルネットワークは、例えば、Ｒ−ＣＮＮベースの物体検出エンジンである。より具体的に言うと、この物体検出用ニューラルネットワークは、例えば、ＭｏｂｉｌｅＮｅｔ−ＳＳＤ（物体検出のアルゴリズムであるＳＳＤをＭｏｂｉｌｅＮｅｔを用いて軽量化した、物体検出用ニューラルネットワークのモデル）である。
【００３１】
ボードコンピュータ１３のＣＰＵ２１が、フレーム画像入力モジュール３１を用いて取り込んだフレーム画像を、ＤＮＮ推論用ＵＳＢ拡張チップＣ１の物体検出器３５（ＭｏｂｉｌｅＮｅｔ−ＳＳＤ）に送ると、物体検出器３５（ＭｏｂｉｌｅＮｅｔ−ＳＳＤ）は、このフレーム画像における検出対象物（人）のバウンディングボックス群を抽出して、これらのバウンディングボックスについてのバウンディングボックス情報を、ボードコンピュータ１３側に返す。ボードコンピュータ１３側のＣＰＵ２１は、物体検出器３５から返されたバウンディングボックス情報に基づいて、フレーム画像における各バウンディングボックス（図６参照）にＩＤを付与して、このＩＤとバウンディングボックス情報をＩＤテーブル３４に登録する。ただし、ＩＤテーブル３４へのＩＤの登録が既に済んでいる場合には、ボードコンピュータ１３側のＣＰＵ２１は、物体検出器３５から返されたバウンディングボックス情報をＩＤテーブル３４に書き込む処理（該当ＩＤのレコードの更新処理）のみを行う。なお、上記の各バウンディングボックスへのＩＤ付与処理を、ＤＮＮ推論用ＵＳＢ拡張チップＣ１の物体検出器３５が行うようにしてもよい。
【００３２】
また、上記の認識器スケジューラ３２は、上記のスケジューラ部２７に相当する処理を行う。具体的には、フレーム画像における各ＩＤが付与された人（の画像）を、いつ、（ＤＮＮ推論用ＵＳＢ拡張チップＣ２に格納された認識器Ｒ１〜Ｒｎのうちの）どの認識器で認識するかをスケジューリングする。このスケジューリングに先立って、ボードコンピュータ１３のＣＰＵ２１（の存在時間予想部２６）は、ＩＤテーブル３４に登録されているバウンディングボックス情報に基づいて、上記の各ＩＤが付与された人が、撮影エリア内に存在する時間を予想する。認識器スケジューラ３２は、上記のＣＰＵ２１（の存在時間予想部２６）が予想した、各ＩＤが付与された人が撮影エリア内に存在する時間に基づいて、できるだけ全てのＩＤが付与された人について、可能な限り高い精度を有する認識器を用いて、認識を行う。
【００３３】
また、上記のＤＮＮ推論用ＵＳＢ拡張チップＣ２に格納された認識器Ｒ１〜Ｒｎは、例えば、分類や顔認識等の推論を行うディープなＣＮＮである。より具体的に言うと、認識器Ｒ１〜Ｒｎは、例えば、ＭｏｂｉｌｅＮｅｔＶ１、ＭｏｂｉｌｅＮｅｔＶ２、及びインセプション構造を有するＣＮＮ（ＧｏｏｇｌｅＮｅｔの発展版等）などである。なお、認識器Ｒ１〜Ｒｎは、例えば、ＭｏｂｉｌｅＮｅｔベースのＯｐｅｎＦａｃｅ（ＣＮＮベースの顔認識エンジン）等の、分類以外の認識処理を行う認識器であってもよい。
【００３４】
上記の学習効率化モジュール３３は、物体検出器３５による物体（人）検出や、認識器Ｒ１〜Ｒｎによる物体（人）認識の精度向上に必要なデータを選別して、ＡＩサーバ２に送信する。このＡＩサーバ２に送信されるデータには、所定の条件に基づき抽出されたフレーム画像を示す識別情報、物体検出器３５による物体（人）の検出結果のデータ（例えば、ＩＤやバウンディングボックス情報）や、認識器Ｒ１〜Ｒｎによる物体（人）の認識結果のデータが含まれる。
【００３５】
ＡＩサーバ２は、ＶＭＳサーバ３に格納されたフレーム画像に映り込んだ物体について、エッジカメラ１側における学習済物体検出用ニューラルネットワーク（物体検出器３５）よりも、精度の高い推論を行うことが可能な学習済物体検出用ニューラルネットワークを用いて、物体（人）の検出を行う。そして、エッジカメラ１側における物体（人）の検出結果と、ＡＩサーバ２側における物体（人）の検出結果とに、所定のレベル以上の乖離（差異）がある場合には、ＡＩサーバ２は、該当のフレーム画像を示す情報を、学習サーバ８に送信する。ここで、ＡＩサーバ２が、該当のフレーム画像自体ではなく、該当のフレーム画像を示す情報（フレーム画像情報）を学習サーバ８に送るのは、フレーム画像自体は、各エッジカメラ１ではなく、ＶＭＳサーバ３に格納されているからである。なお、ネットワークの構成上、ＶＭＳサーバ３が店舗内のイントラネット６のみに接続されていて、外部の学習サーバ８からアクセスできない場合もある。この場合は、ＡＩサーバ２は、ＶＭＳサーバ３より、該当のフレーム画像を読みだして、このフレーム画像に適切な方法で暗号化等を施した上で、学習サーバ８へ送信する。学習サーバ８自体が、エッジカメラ１側における（物体検出器３５の）学習済物体検出用ニューラルネットワークの再（機械）学習処理を行う場合は、ＡＩサーバ２は、自機（の学習済物体検出用ニューラルネットワーク）による物体（人）の検出結果と、エッジカメラ１側（の学習済物体検出用ニューラルネットワーク）における物体（人）の検出結果も、学習サーバ８に送信する。
【００３６】
学習サーバ８は、ＡＩサーバ２から送られた上記のフレーム画像情報に対応するフレーム画像を、ＶＭＳサーバ３から読み込んで、このフレーム画像と、ＡＩサーバ２（の学習済物体検出用ニューラルネットワーク）による物体の検出結果と、エッジカメラ１（の学習済物体検出用ニューラルネットワーク）による物体の検出結果とに基づいて、エッジカメラ１側における学習済物体検出用ニューラルネットワーク（に相当する物体検出用ニューラルネットワーク）の再学習を行う。そして、学習サーバ８は、再学習した物体検出用ニューラルネットワーク（以下、「再学習済みの物体検出用ニューラルネットワーク」という）のモデルと、元の（再学習前の）学習済物体検出用ニューラルネットワークのモデルの性能を比較した上で、再学習済みの物体検出用ニューラルネットワークのモデルの方の性能が高い場合には、再学習済みの物体検出用ニューラルネットワークを、エッジカメラ１側に送信して、エッジカメラ１の物体検出器３５を構成する学習済物体検出用ニューラルネットワークを、上記の再学習済みの物体検出用ニューラルネットワークの内容に書き換える。なお、学習サーバ８は、上記の再学習済みの物体検出用ニューラルネットワーク自体ではなく、この再学習済みの物体検出用ニューラルネットワークのパラメータのみをエッジカメラ１側に送信して、エッジカメラ１の学習済物体検出用ニューラルネットワークのパラメータのみを更新してもよい。
【００３７】
また、ＡＩサーバ２は、ＶＭＳサーバ３に格納されたフレーム画像に映り込んだ物体について、エッジカメラ１側で行われた物体（人）の認識の種類毎に、エッジカメラ１側で用いられた学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎ）よりも、精度の高い推論を行うことが可能な学習済物体認識用ニューラルネットワークを用いて、エッジカメラ１側で行われた物体（人）の認識と同種の物体の認識を行う。そして、エッジカメラ１側（の学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか））における物体（人）の認識結果と、ＡＩサーバ２側における物体（人）の認識結果とに、所定のレベル以上の乖離（差異）がある場合には、ＡＩサーバ２は、該当のフレーム画像を示す情報を、学習サーバ８に送信する。学習サーバ８自体が、エッジカメラ１側における学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか）の再（機械）学習処理を行う場合は、ＡＩサーバ２は、自機（の学習済物体認識用ニューラルネットワーク）による物体（人）の認識結果と、エッジカメラ１側（の学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか））における物体（人）の認識結果も、学習サーバ８に送信する。
【００３８】
学習サーバ８は、ＡＩサーバ２から送られた上記のフレーム画像情報に対応するフレーム画像を、ＶＭＳサーバ３から読み込んで、このフレーム画像と、ＡＩサーバ２（の学習済物体認識用ニューラルネットワーク）による物体の認識結果と、エッジカメラ１側（の学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか））による物体の認識結果とに基づいて、エッジカメラ１側における学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか）に相当する学習済物体認識用ニューラルネットワークの再学習を行う。そして、学習サーバ８は、再学習した物体認識用ニューラルネットワーク（以下、「再学習済みの物体認識用ニューラルネットワーク」という）のモデルと、元の（再学習前の）学習済物体認識用ニューラルネットワークのモデルの性能を比較した上で、再学習済みの物体認識用ニューラルネットワークのモデルの方の性能が高い場合には、上記の再学習済みの物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれかに相当）を、エッジカメラ１側に送信して、エッジカメラ１の学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか）を、上記の再学習済みの物体認識用ニューラルネットワークの内容に書き換える。なお、学習サーバ８は、上記の再学習済みの物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれかに相当）自体ではなく、この再学習済みの物体認識用ニューラルネットワークのパラメータのみをエッジカメラ１側に送信して、エッジカメラ１の学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎの少なくともいずれか）のパラメータのみを更新してもよい。
【００３９】
すなわち、本再学習システム１０は、ＡＩサーバ２による物体の検出結果と、エッジカメラ１側（の学習済物体検出用ニューラルネットワーク）における物体の検出結果とに、所定のレベル以上の差異がある場合に、エッジカメラ１側における学習済物体検出用ニューラルネットワークの再学習を行う。また、本再学習システム１０は、ＡＩサーバ２による物体の認識結果と、エッジカメラ１側（の学習済物体認識用ニューラルネットワーク）における物体の認識結果に、所定のレベル以上の差異がある場合に、エッジカメラ１側における学習済物体認識用ニューラルネットワークの再学習を行う。
【００４０】
次に、図５のフローチャートに加えて、図６乃至図８を参照して、エッジカメラ１の処理の概要について、説明する。エッジカメラ１のボードコンピュータ１３のＣＰＵ２１は、カメラユニット１２からフレーム画像が入力されると（図５でＳ１）、入力されたフレーム画像を、ＤＮＮ推論用ＵＳＢ拡張チップＣ１の物体検出器３５（ＭｏｂｉｌｅＮｅｔ−ＳＳＤ）に送り、この物体検出器３５を用いて、フレーム画像に映り込んだ物体（人）を検出する（Ｓ２）。具体的には、ＤＮＮ推論用ＵＳＢ拡張チップＣ１の物体検出器３５は、カメラユニット１２からのフレーム画像における検出対象物（人）のバウンディングボックス群を抽出して、これらのバウンディングボックスについての情報（バウンディングボックス情報）を、ボードコンピュータ１３側に返す。ボードコンピュータ１３側のＣＰＵ２１は、物体検出器３５から返されたバウンディングボックス情報に基づいて、フレーム画像における各バウンディングボックスにＩＤを付与する（Ｓ３）。
【００４１】
図６は、上記のバウンディングボックス、及び各バウンディングボックスに付与されるＩＤの例を示す。図６の例では、時刻ｔ１のフレーム画像ｆ１、及び時刻ｔ２のフレーム画像ｆ２において抽出（検出）されたバウンディングボックス４１は、ＩＤ＝１の（物体（人）の）バウンディングボックスのみであり、時刻ｔ３のフレーム画像ｆ３、及び時刻ｔ４のフレーム画像ｆ４において抽出（検出）されたバウンディングボックス４１には、ＩＤ＝１とＩＤ＝２の（人の）バウンディングボックスが含まれる。
【００４２】
また、図７は、上記の物体検出器３５からボードコンピュータ１３側のＣＰＵ２１に返されるバウンディングボックス情報の説明図である。このバウンディングボックス情報には、図７に示すバウンディングボックス４１の左上端の（ｘ、ｙ）座標と、バウンディングボックス４１の幅ｗ及び高さｈとが含まれる。
【００４３】
ボードコンピュータ１３側のＣＰＵ２１は、図５のＳ３で各バウンディングボックス４１に付与したＩＤ（すなわち、検出された人に付与したＩＤ）と、各バウンディングボックス４１のバウンディングボックス情報をＩＤテーブル３４に登録する（Ｓ４）。ただし、ＩＤテーブル３４へのＩＤの登録が既に済んでいる場合には、ボードコンピュータ１３側のＣＰＵ２１は、物体検出器３５から返されたバウンディングボックス情報をＩＤテーブル３４に書き込む処理（該当ＩＤのレコードの更新処理）のみを行う。なお、上記の各バウンディングボックス４１へのＩＤ付与処理を、ＤＮＮ推論用ＵＳＢ拡張チップＣ１の物体検出器３５が行うようにしてもよい。
【００４４】
次に、ボードコンピュータ１３側のＣＰＵ２１は、ＤＮＮ推論用ＵＳＢ拡張チップＣ２の認識器Ｒ１〜Ｒｎ（の少なくともいずれか）を使用して、ＩＤが付与されたバウンディングボックスにおける物体（人）を、できるだけ詳細に認識する（Ｓ５）。ボードコンピュータ１３側のＣＰＵ２１は、上記Ｓ５の認識結果の情報も、ＩＤテーブル３４における該当ＩＤのレコードに書き込む。
【００４５】
図８は、上記のＩＤテーブル３４のレコードの内容を示す。図８に示すように、ＩＤテーブル３４には、直近に入力された（直近の時刻ｔの）フレーム画像で検出された人（に対応するＩＤ）についてのレコードのみが格納されている。ＩＤテーブル３４のレコードには、ＩＤ、時刻ｔ−ｎ〜ｔにおける各ＩＤの（バウンディングボックス４１の）バウンディングボックス情報（図８中の「ＢＢ情報１〜ｎ」）、各ＩＤ（に対応する人）が撮影エリア内（フレーム画像内）に存在した（今までの）時間（「ＩＤ存在時間」）、各ＩＤが付与されたバウンディングボックス４１の移動速度（すなわち、各ＩＤに対応する人の移動速度）（「速度」）、及び上記Ｓ４で行った認識の結果（「認識結果」）の情報が含まれている。なお、図８中におけるＩＤ＝２（に対応する人）は、時刻ｔ−ｎの時点では撮影エリア内に存在しなかったので、ＩＤ＝２のバウンディングボックス情報は、ＢＢ情報１〜ｍ（ただし、ｍ＜ｎ）である。
【００４６】
上記のＩＤテーブル３４のレコードに含まれる認識結果の情報は、例えば、図８に示すように、時刻ｔ−３のフレーム画像で検出された、ＩＤ＝１のバウンディングボックス４１（の画像）に、認識器Ｒ１をかけることにより、ＩＤ＝１に対応する人が店員であると認識されたという情報である。なお、上記のＩＤテーブル３４のレコードにおける「速度」は、ボードコンピュータ１３側のＣＰＵ２１が、時刻ｔ−ｎ〜ｔにおける各ＩＤのバウンディングボックス情報（ＢＢ情報）に基づいて、求めたものである。
【００４７】
次に、図９のフローチャートに加えて、図１０及び図１１を参照して、図５中のＳ５の認識処理の詳細について、説明する。ボードコンピュータ１３側のＣＰＵ２１（の存在時間予想部２６）は、まず、ＩＤテーブル３４の各レコードに書き込まれた情報に基づいて、各ＩＤ（に対応する人）がカメラユニット１２の撮影エリア内（フレーム画像内）に存在する時間を予想して、予想した各ＩＤが（撮影エリア内）に存在する時間（以下、「予想ＩＤ存在時間」という）を更新する（Ｓ１１）。上記の各ＩＤが撮影エリア内に存在する時間の予想は、撮影エリアの範囲の情報と、ＩＤテーブル３４の各レコードにおける直近の時刻ｔのＢＢ情報及び速度とに基づいて行ってもよいし、撮影エリアの範囲の情報と、ＩＤテーブル３４の各レコードにおける時刻ｔ−ｎ〜ｔのＢＢ情報に基づいて行ってもよい。
【００４８】
次に、ボードコンピュータ１３側のＣＰＵ２１（のスケジューラ部２７）は、上記の予想ＩＤ存在時間に基づいて、認識器Ｒ１〜Ｒｎの使用スケジュールの作成・更新を行う（Ｓ１２）。そして、ボードコンピュータ１３側のＣＰＵ２１は、上記の使用スケジュールに従って、ＤＮＮ推論用ＵＳＢ拡張チップＣ２の認識器Ｒ１〜Ｒｎ（複数種類の学習済物体認識用ニューラルネットワーク）の少なくともいずれかを使用して、撮影エリア内に存在する物体（上記Ｓ３でＩＤが付与されたバウンディングボックスに対応する物体）を、できるだけ詳細に認識する（Ｓ１３）。なお、上記Ｓ１２の使用スケジュールの作成・更新にも、学習済ニューラルネットワークを用いてもよい。すなわち、図４中の認識器スケジューラ３２は、学習済ニューラルネットワークであってもよい。
【００４９】
図１０は、スケジューラ部２７が作成・更新した認識器Ｒ１〜Ｒｎの使用スケジュールの例を示す。ここで、エッジカメラ１の学習済物体認識用ニューラルネットワークには、複数の種類のものがある。例えば、図１１に示すように、図１０のスケジュールにおける認識器Ｒ１と認識器Ｒ２とでは、精度と処理時間に差異がある。一般的に、認識器は、その精度が高くなる程、処理時間が長くなる。各認識器Ｒ１〜Ｒｎは、精度、処理（所要）時間、属性の情報を持っている。ここで、「属性」とは、各認識器の認識処理の種類を表す。この認識処理の例としては、例えば、（検出された人が）店員か顧客かの認識や、検出された人が店員である場合における行動判定や、検出された人が顧客である場合における行動判定が挙げられる。
【００５０】
ボードコンピュータ１３側のＣＰＵ２１（のスケジューラ部２７）は、ＩＤテーブル３４の予想ＩＤ存在時間に基づいて、各ＩＤ（に対応する人）が、撮影エリア内（フレーム画像内）に存在する間（フレームアウトするまでの間）に、各認識器Ｒ１〜Ｒｎを用いて、優先度の高い認識処理から順に、各ＩＤが付与されたバウンディングボックス４１内の人に対する各種の認識処理を行うようにスケジューリングする。
【００５１】
例えば、ボードコンピュータ１３側のＣＰＵ２１（のスケジューラ部２７）は、各ＩＤが付与されたバウンディングボックス４１内の人について、最初に、（検出された人が）店員か顧客かの認識を行うようにスケジューリングする。図１０の例では、ＩＤ＝１とＩＤ＝２の（バウンディングボックス４１内の）人に対して、順番に、店員か顧客かの認識処理用の認識器Ｒ１をかけるようにスケジューリングする。この店員か顧客かの認識処理を行うことは、重要であるので、この店員か顧客かの認識処理用の認識器Ｒ１には、処理速度の速い（処理（所要）時間の短い）認識器を用いる。
【００５２】
次に、ボードコンピュータ１３側のＣＰＵ２１（のスケジューラ部２７）は、店員と認識された人（ＩＤ＝２のバウンディングボックス４１内の人）について、より詳細な（より精度が高く、より処理時間がかかる）認識処理用の認識器Ｒ２をかけるようにスケジューリングする。このより詳細な認識処理の例としては、店員の行動判定が挙げられる。上記の店員と認識された人についてのより詳細な認識処理の終了後、本来であれば、ボードコンピュータ１３側のＣＰＵ２１（のスケジューラ部２７）は、顧客であると認識された人（ＩＤ＝１のバウンディングボックス内の人）について、より詳細な認識処理用の認識器Ｒ３をかけるようにスケジューリングする。ただし、図１０に示すスケジュールの例では、ＩＤ＝１の（人の）予想ＩＤ存在時間から、上記の店員と認識された人（ＩＤ＝２の人）についてのより詳細な認識処理の終了の時点（時刻ｔ１０）では、顧客であると認識された人（ＩＤ＝１の人）が、撮影エリア内からいなくなっていると予想されるので、ＣＰＵ２１（のスケジューラ部２７）は、顧客であると認識された人についてのより詳細な認識処理を行わない。顧客であると認識された人についてのより詳細な認識処理の例は、例えば、顧客の行動判定である。
【００５３】
なお、図１０に示す例では、ＩＤ＝１の（人の）予想ＩＤ存在時間が、時刻ｔ１〜ｔ５であり、ＩＤ＝２の（人の）予想ＩＤ存在時間が、時刻ｔ３〜ｔ１１であるため、ＣＰＵ２１（のスケジューラ部２７）は、上記のような認識器のスケジューリングを行ったが、ＩＤ＝１（の人）又はＩＤ＝２（の人）の予想ＩＤ存在時間が、これよりも長い場合には、ＩＤ＝１（の人）又はＩＤ＝２（の人）について、さらに詳細な認識処理を行うようにスケジューリングする。例えば、ＩＤ＝２（の人）の予想ＩＤ存在時間が、図１０に示す場合よりも長い場合には、より詳細な認識処理用の認識器Ｒ４を用いて、店員と認識された人（ＩＤ＝２のバウンディングボックス４１内の人）について、さらに詳細な認識処理を行うようにスケジューリングする。
【００５４】
上記のように、ボードコンピュータ１３側のＣＰＵ２１（の存在時間予想部２６）が、ＩＤテーブル３４のレコードにおける「速度」（又は時刻ｔ−ｎ〜ｔのＢＢ情報）から、各ＩＤ（に対応する人）がカメラユニット１２の撮影エリア内に存在する時間（予想ＩＤ存在時間）を予想する。そして、ＣＰＵ２１（のスケジューラ部２７）が、各ＩＤ（に対応する人）の予想ＩＤ存在時間内に、各ＩＤ（に対応する人）について、最低限必要な認識処理（例えば、店員か顧客かの認識（判別）処理）を、処理時間が短い認識器（例えば、認識器Ｒ１）を用いて行った後、各ＩＤが、撮影エリア内に存在する間に、各ＩＤ（に対応する人）について、できるだけ詳しい認識処理を、できるだけ高い精度の認識器を用いて行うようにスケジューリングする。
【００５５】
ただし、上記の各ＩＤについての予想ＩＤ存在時間の算出処理や、認識器のスケジューリング処理にも、ある程度の時間が必要であるため、ＣＰＵ２１（のスケジューラ部２７）は、予想ＩＤ存在時間が、所定の時間以上のＩＤ（に対応する人）のみを、認識器による認識対象としてもよい。例えば、撮影エリア内に３秒以上存在する人のみを、認識対象としてもよい。
【００５６】
なお、上記の例では、認識処理の種類毎に、使用する認識器を分けたが、異なる種類の認識を、同じ認識器で行うようにしてもよい。この場合には、各認識器は、複数の種類の認識に対応することが可能な学習済ニューラルネットワークのモデルである。
【００５７】
上記のように、本実施形態のエッジカメラ１によれば、検出された物体（ＩＤが付与された物体）が所定の撮影エリア内に存在する時間を予想して、この予想した存在時間（予想ＩＤ存在時間）に基づいて、複数種類の認識器Ｒ１〜Ｒｎ（学習済物体認識用ニューラルネットワーク）の使用スケジュールの作成と更新を行う。そして、この使用スケジュールに従って、認識器Ｒ１〜Ｒｎを使用して、所定の撮影エリア内に存在する物体を認識するようにした。これにより、上記の検出された物体が所定の撮影エリア内に存在する時間（物体存在時間）を考慮して、認識器Ｒ１〜Ｒｎのうち、適切な認識器を、適切な順番で使用して、上記撮影エリア内に存在する物体を認識することができる。従って、従来の物体認識用ニューラルネットワーク（認識器）を用いて物体の認識を行う装置やシステムと異なり、検出された物体がカメラによる撮影エリアから出てしまう（フレームアウトする）までに、物体を認識できる可能性を高めることができる。また、上記の物体存在時間（検出された物体が所定の撮影エリア内に存在する時間）が長い場合には、複数種類の認識器Ｒ１〜Ｒｎのうち、処理時間が長くて精度が高い認識器を使用して、検出された物体を正確に認識することができる可能性を高めることができる。
【００５８】
また、本実施形態のエッジカメラ１によれば、検出した物体が複数であるとき、複数の物体の各々が、撮影エリア内に存在する時間を予想し、この予想した複数の物体の各々が撮影エリア内に存在する時間（予想ＩＤ存在時間）に基づいて、複数の物体の各々について、認識器Ｒ１〜Ｒｎの使用スケジュールの作成と更新を行うようにした。これにより、撮影エリア内に複数の物体が存在する場合でも、これらの物体が所定の撮影エリア内に存在する時間（物体存在時間）を考慮して、これらの物体の各々について、認識器Ｒ１〜Ｒｎのうち、適切な認識器を、適切な順番で使用して、上記撮影エリア内に存在する物体を認識することができる。従って、従来の物体認識用ニューラルネットワーク（認識器）を用いて物体の認識を行う装置やシステムと異なり、撮影エリア内に複数の物体が存在する場合でも、これらの物体がカメラによる撮影エリアから出てしまうまでに、物体を認識できる可能性を高めることができる。
【００５９】
また、本実施形態のエッジカメラ１によれば、エッジカメラ１におけるコンピュータ１１が、ボードコンピュータ１３と、このボードコンピュータ１３に接続されるＤＮＮ推論用ＵＳＢ拡張チップＣ２とを含み、ＤＮＮ推論用ＵＳＢ拡張チップＣ２が、物体認識部２８（認識器Ｒ１〜Ｒｎ）を備えるようにした。これにより、ＤＮＮ推論用ＵＳＢ拡張チップＣ２が有する認識器Ｒ１〜Ｒｎを用いて、撮影エリア内に存在する物体を認識することができるので、ボードコンピュータ１３に、処理能力の低い、安価なボードコンピュータを用いることができる。
【００６０】
また、本実施形態のエッジカメラ１によれば、エッジカメラ１におけるコンピュータ１１が、２つのＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２を備え、これらのＤＮＮ推論用ＵＳＢ拡張チップのうち、物体認識部２８（認識器Ｒ１〜Ｒｎ）を備えるＤＮＮ推論用ＵＳＢ拡張チップＣ２とは別のＤＮＮ推論用ＵＳＢ拡張チップＣ１が、物体検出器３５（物体検出部２５）を備えるようにした。これにより、ＤＮＮ推論用ＵＳＢ拡張チップＣ１が有する物体検出器３５を用いて、フレーム画像に映り込んだ（撮影エリア内の）物体を検出することができるので、ボードコンピュータ１３に、より処理能力の低い、より安価なボードコンピュータを用いることができる。
【００６１】
また、本実施形態の再学習システム１０によれば、ＡＩサーバ２が、フレーム画像に映り込んだ物体について、エッジカメラ１側で行われた物体の認識の種類毎に、エッジカメラ１側で用いられた認識器Ｒ１〜Ｒｎよりも、精度の高い推論（物体認識）を行うことが可能な認識器（学習済物体認識用ニューラルネットワーク）を用いて、エッジカメラ１側で行われた物体の認識と同種の物体の認識を行う。そして、ＡＩサーバ２による精度の高い物体の認識結果と、エッジカメラ１側における物体の認識結果に、所定のレベル以上の差異がある場合に、エッジカメラ１側における複数種類の認識器（学習済物体認識用ニューラルネットワーク）の再学習を行うようにした。これにより、上記の本実施形態のエッジカメラ１が有する効果と同様な効果に加えて、例えば、エッジカメラ１が配置される場所毎に（例えば、エッジカメラが配置される店舗毎に）、認識対象となる物体の特徴が異なる場合や、認識対象となる物体の特徴が変更された場合（例えば、検出された物体が店員か顧客かを認識する認識器（物体認識用ニューラルネットワーク）の場合に、店員の服が夏服から冬服に代わったような場合）でも、エッジカメラ１側における複数種類の認識器（学習済物体認識用ニューラルネットワーク）の再学習を行って、物体の認識を正確に行うことができるようになる。
【００６２】
変形例：
なお、本発明は、上記の各実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。次に、本発明の変形例について説明する。
【００６３】
変形例１： 
上記の実施形態では、エッジカメラ１におけるコンピュータ１１が、ボードコンピュータ１３と、このボードコンピュータ１３に接続されるＤＮＮ推論用ＵＳＢ拡張チップＣ１，Ｃ２とを含み、ＤＮＮ推論用ＵＳＢ拡張チップＣ１が、物体検出器３５（物体検出部２５）を備え、ＤＮＮ推論用ＵＳＢ拡張チップＣ２が、認識器Ｒ１〜Ｒｎ（物体認識部２８）を備える場合の例について説明した。けれども、ボードコンピュータのＣＰＵが、物体検出器（物体検出部）と複数の認識器（物体認識部）のうちの、少なくともいずれかを備えるようにしてもよい。
【００６４】
変形例２： 
上記の実施形態では、学習サーバ８が、エッジカメラ１側における学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎ）の再学習を行うようにした。けれども、これに限られず、例えば、学習サーバは、ＡＩサーバから送られた上記のフレーム画像情報に対応する（ＶＭＳサーバに格納された）フレーム画像と、ＡＩサーバ（の学習済物体認識用ニューラルネットワーク）による物体の認識結果と、エッジカメラ側（の認識器Ｒ１〜Ｒｎ）による物体の認識結果の格納のみを行って、クラウド（インターネット）上の他のサーバが、エッジカメラ側における学習済物体認識用ニューラルネットワーク（認識器Ｒ１〜Ｒｎ）の再学習を行うようにしてもよい。また、イントラネット内のサーバ（例えば、ＡＩサーバ）が、エッジカメラ側における学習済物体認識用ニューラルネットワークの再学習を行うようにしてもよい。
【００６５】
変形例３： 
上記の実施形態では、ＭｏｂｉｌｅＮｅｔ−ＳＳＤで構成した物体検出器３５が、フレーム画像に映り込んだ物体の検出処理のみを行う場合について説明したが、これに限られず、例えば、ＭｏｂｉｌｅＮｅｔ−ＳＳＤ等のニューラルネットワークで構成した物体検出器が、上記の物体の検出処理に加えて、簡単な認識処理（例えば、検出した人が、店員か顧客かを認識する処理）を行うようにしてもよい。
【符号の説明】
【００６６】
１    エッジカメラ（物体認識カメラシステム）
２    ＡＩサーバ（チェック用サーバ）
１０  再学習システム
１１  コンピュータ
１２  カメラユニット（カメラ部）
１３  ボードコンピュータ（コンピュータ本体）
２３  物体認識プログラム
２５  物体検出部
２６  存在時間予想部
２７  スケジューラ部
２８  物体認識部
３５  物体検出器（学習済物体検出用ニューラルネットワーク）
Ｃ１，Ｃ２  ＤＮＮ推論用ＵＳＢ拡張チップ（機能拡張用プロセッサチップ）
Ｒ１〜Ｒｎ  認識器（学習済物体認識用ニューラルネットワーク）
【図１】
2020052484.tif 000003
【図２】
2020052484.tif 000004
【図３】
2020052484.tif 000005
【図４】
2020052484.tif 000006
【図５】
2020052484.tif 000007
【図６】
2020052484.tif 000008
【図７】
2020052484.tif 000009
【図８】
2020052484.tif 000010
【図９】
2020052484.tif 000011
【図１０】
2020052484.tif 000012
【図１１】
2020052484.tif 000013