IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セーフィー株式会社の特許一覧

特開2024-30443情報処理システム、情報処理方法、及び情報処理プログラム
<>
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図1
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図2
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図3
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図4
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図5
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図6
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図7
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図8
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図9
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図10
  • 特開-情報処理システム、情報処理方法、及び情報処理プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030443
(43)【公開日】2024-03-07
(54)【発明の名称】情報処理システム、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240229BHJP
   G06T 7/70 20170101ALI20240229BHJP
【FI】
G06T7/00 350B
G06T7/70 Z
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022133355
(22)【出願日】2022-08-24
(11)【特許番号】
(45)【特許公報発行日】2022-10-24
(71)【出願人】
【識別番号】515029558
【氏名又は名称】セーフィー株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】菅原 宏明
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096DA02
5L096FA67
5L096KA04
5L096KA13
5L096KA15
(57)【要約】
【課題】撮像装置の設置環境が変わってしまった場合であっても、適切な検知モデルを用いてサービスを提供すること。
【解決手段】撮像装置により撮影された映像を用いてサービスを提供する情報処理システムであって、前記撮像装置から映像データを取得し、前記映像データに基づき、前記撮像装置の設置角度を推定し、前記設置角度に基づき、前記映像から所定の対象を検出するための検出モデルを生成し、前記検出モデルに前記映像データを入力することにより、前記サービスを提供する。
【選択図】図8
【特許請求の範囲】
【請求項1】
撮像装置により撮影された映像を用いてサービスを提供する情報処理システムであって、
前記撮像装置から映像データを取得し、
前記映像データに基づき、前記撮像装置の設置角度を推定し、
前記設置角度に基づき、前記映像から所定の対象を検出するための検出モデルを生成し、
前記検出モデルに前記映像データを入力することにより、前記サービスを提供する
情報処理システム。
【請求項2】
前記設置角度の推定において、第1推定モデルに前記映像データを入力することにより、前記映像に含まれる地表面の座標データを出力する
請求項1に記載の情報処理システム。
【請求項3】
前記設置角度の推定において、第2推定モデルに前記映像データ及び前記映像に含まれる地表面の座標データを入力することにより、前記撮像装置の座標データを出力する
請求項1に記載の情報処理システム。
【請求項4】
前記設置角度の推定において、第3推定モデルに前記撮像装置の座標データ及び前記映像に含まれる基準点の座標データを入力することにより、前記撮像装置の設置角度を出力する
請求項1に記載の情報処理システム。
【請求項5】
前記検出モデルの生成において、前記撮像装置により撮影された映像の中から、前記設置角度が等しいとみなせるものを読み出す
請求項1に記載の情報処理システム。
【請求項6】
前記検出モデルの生成において、前記撮像装置以外も含む複数の撮像装置により撮影された映像の中から、前記設置角度が等しいとみなせるものを読み出す
請求項1に記載の情報処理システム。
【請求項7】
前記撮像装置の識別子、前記設置角度、及び前記映像データを、対応付けて記憶する
請求項1に記載の情報処理システム。
【請求項8】
前記サービスの提供において、複数の検出モデルの中から、前記撮像装置及び前記サービスに対応するものを選択する
請求項1に記載の情報処理システム。
【請求項9】
前記撮像装置の識別子、前記サービスの識別子、及び前記検出モデルを、対応付けて記憶する
請求項1に記載の情報処理システム。
【請求項10】
前記情報処理システムは、撮像装置とサーバ装置を含む、
請求項1に記載の情報処理システム。
【請求項11】
前記設置角度の推定及び前記検出モデルの生成は、サーバ装置側で行う
請求項10に記載の情報処理システム。
【請求項12】
前記検出モデルを用いたサービスの提供は、サーバ装置側で行う
請求項10に記載の情報処理システム。
【請求項13】
前記検出モデルを用いたサービスの提供は、撮像装置側で行う
請求項10に記載の情報処理システム。
【請求項14】
撮像装置により撮影された映像を用いてサービスを提供するための情報処理方法であって、
前記撮像装置から映像データを取得し、
前記映像データに基づき、前記撮像装置の設置角度を推定し、
前記設置角度に基づき、前記映像から所定の対象を検出するための検出モデルを生成し、
前記検出モデルに前記映像データを入力することにより、前記サービスを提供する
情報処理方法。
【請求項15】
撮像装置により撮影された映像を用いてサービスを提供するための情報処理プログラムであって、
前記撮像装置から映像データを取得し、
前記映像データに基づき、前記撮像装置の設置角度を推定し、
前記設置角度に基づき、前記映像から所定の対象を検出するための検出モデルを生成し、
前記検出モデルに前記映像データを入力することにより、前記サービスを提供する
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、監視カメラの映像によって、人や車両の入退場を検知する技術が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-113964号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この様な技術では、AI等の検知モデルを用いて、ユーザにサービスを提供することがある。
しかしながら、例えば台風や地震などの自然災害によって監視カメラの向きが変わってしまう等、撮像装置の設置環境が変わってしまった場合、それ以前に生成した検知モデルでは、正確な検知ができなくなってしまう可能性がある。
【0005】
本発明は、斯かる事情に鑑みてなされたものであり、撮像装置の設置環境が変わってしまった場合であっても、適切な検知モデルを用いてサービスを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の情報処理システムは、撮像装置により撮影された映像を用いてサービスを提供する情報処理システムであって、前記撮像装置から映像データを取得し、前記映像データに基づき、前記撮像装置の設置角度を推定し、前記設置角度に基づき、前記映像から所定の対象を検出するための検出モデルを生成し、前記検出モデルに前記映像データを入力することにより、前記サービスを提供する。
【発明の効果】
【0007】
本開示によれば、撮像装置の設置環境が変わってしまった場合であっても、適切な検知モデルを用いてサービスを提供することが可能となる。
【図面の簡単な説明】
【0008】
図1】実施の形態に係る情報処理システムの構成を示す模式図である。
図2】サーバ装置の内部構成を示すブロック図である。
図3】撮像装置の設置角度を推定する学習モデルの構成例を示す模式図である。
図4】検出モデルの構成例を示す模式図である。
図5】映像データベースの構成例を示す概念図である。
図6】ユーザデータベースの構成例を示す概念図である。
図7】撮像装置の内部構成を示すブロック図である。
図8】処理の全体像を示すフローチャートである。
図9】設置角度を推定する処理の詳細を示すフローチャートである。
図10】検出モデルを生成する処理の詳細を示すフローチャートである。
図11】サービスを提供する処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
図1は実施の形態に係る情報処理システムの構成を示す模式図である。本実施の形態に係る情報処理システムは、サーバ装置100と、複数の撮像装置200A,200B,200Cとを備える。これらのサーバ装置100及び撮像装置200A~200Cは、通信ネットワークNWを介して互いに通信可能に接続される。図1の例では、3台の撮像装置200A~200Cを示しているが、撮像装置の台数には限定はなく、1台又は2台の撮像装置が接続されてもよく、4台以上の撮像装置が接続されてもよい。以下の説明において、個々の撮像装置200A~200Cを区別して記載する必要がない場合、単に撮像装置200とも記載する。サーバ装置100の内部構成については図2を用いて説明し、撮像装置200の内部構成については図7を用いて説明する。
【0010】
サーバ装置100は、撮像装置200から出力される映像データを蓄積・管理する機能、撮像装置200のユーザに対して所定のサービスを提供する機能等を備えたサーバ装置である。サーバ装置100は、撮像装置200から映像データを取得し、取得した映像データを基に撮像装置200の設置角度を推定し、推定した設置角度に関連付けて映像データを蓄積・管理する。撮像装置200の設置角度は、撮像方向(カメラの光軸)を一意に定めるためのパラメータであり、0度~360度の方位角、-90度~90度の俯仰角により表される。また、サーバ装置100は、多数の撮像装置200から映像データを取得することにより、設置角度が実質的に同一となる複数の撮像装置200からの映像データを収集することができる。
【0011】
サーバ装置100は、収集した映像データを訓練データに用いて、撮像装置200のユーザによって利用される学習モデルを生成する。例えば、サーバ装置100は、駐車場に入場又は退場する車両、屋外を歩行する人物、建築現場に搬入又は搬出される建築資材等を映像データから検出するための学習モデルを生成することができる。検出対象は上記に限らず、任意に設定することが可能である。サーバ装置100は、撮像装置200より取得した映像データを学習モデルに入力し、学習モデルによる演算を実行することによって検出した検出対象の情報を、撮像装置200のユーザに提供する。
【0012】
図2はサーバ装置100の内部構成を示すブロック図である。サーバ装置100は、例えば、汎用又は専用のサーバコンピュータであり、制御部101、記憶部102、通信部103、操作部104、表示部105などを備える。
【0013】
制御部101は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える。制御部101のCPUは、ROM又は記憶部102に記憶された各種プログラムをRAMに展開して実行することにより、上述した各種ハードウェアの動作を制御し、装置全体を本願の情報処理装置(コンピュータ)として機能させる。
【0014】
制御部101は、上記の構成に限定されるものではなく、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、揮発性又は不揮発性のメモリ等を1又は複数備えた演算回路や制御回路であってもよい。また、制御部101は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【0015】
記憶部102は、ハードディスク、フラッシュメモリなどを用いた記憶装置を備える。記憶部102は、制御部101により実行されるコンピュータプログラム、外部から取得した各種のデータ、装置内部で生成した各種のデータ等を記憶する。
【0016】
記憶部102に記憶されるコンピュータプログラムは、撮像装置200から取得した映像データに基づいて、撮像装置200の設置角度を推定する推定処理プログラムPG1、後述の学習モデルを生成する学習プログラムPG2等を含む。これらのコンピュータプログラムは、それぞれ単一のコンピュータプログラムであってもよく、複数のコンピュータプログラムにより構成される一のコンピュータプログラムであってもよい。また、これらのコンピュータプログラムは、既存のライブラリを部分的に用いるものであってもよい。
【0017】
推定処理プログラムPG1及び学習プログラムPG2を含む各種コンピュータプログラムは、当該コンピュータプログラムを読み取り可能に記録した非一時的な記録媒体(プログラム製品)RMにより提供される。記録媒体RMは、例えば、CD-ROM、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。制御部101は、不図示の読取装置を用いて記録媒体RMから各種コンピュータプログラムを読み取り、読み取ったコンピュータプログラムを記憶部102にインストールする。代替的に、推定処理プログラムPG1及び学習プログラムPG2を含む各種コンピュータプログラムは、通信により提供されてもよい。この場合、制御部101は、通信部103を介した通信により、各種コンピュータプログラムを取得し、取得したコンピュータプログラムを記憶部102にインストールすればよい。
【0018】
記憶部102は、各種の学習モデルを備える。本実施の形態では、学習モデルとして、例えば、地表面推定モデルMD1、座標推定モデルMD2、設置角度推定モデルMD3、及び検出モデルMD4A~MD4Cを備える。記憶部102には、各学習モデルの層の構成情報、各層に含まれるノードの情報、ノード間の重み付けやバイアス等のモデルパラメータが記憶される。
【0019】
記憶部102は、各撮像装置200から取得した映像データを蓄積する映像データベースDB1、及び各撮像装置200のユーザに関する情報を記憶するユーザデータベースDB2を備える。
【0020】
通信部103は、通信ネットワークNWに接続するための通信インタフェースを備える。通信部103が備えるインタフェースは、例えば、WiFi(登録商標)、3G、4G、5G、LTE(Long Term Evolution)等の無線通信規格に準じた通信インタフェースである。通信部103は、外部へ通知すべき各種情報を送信すると共に、外部から自装置宛に送信される各種情報を受信する。
【0021】
操作部104は、キーボードやマウスなどの入力デバイスを備えており、各種情報の入力を受付ける。制御部101は、操作部104から入力される情報に基づき適宜の制御を行い、必要に応じて入力された情報を記憶部102に記憶させる。
【0022】
表示部105は、液晶表示パネル、有機EL表示パネル等の表示デバイスを備えており、制御部101から出力される制御信号に基づいて、管理者等に通知すべき情報を表示する。
【0023】
サーバ装置100は、単一のコンピュータである必要はなく、複数のコンピュータや周辺機器からなるコンピュータシステムであってもよい。例えば、コンピュータシステムは、撮像装置200からの映像データを蓄積・管理する第1サーバと、映像データから設置角度を推定する第2サーバと、撮像装置200のユーザに対してサービスを提供する第3サーバとを備える構成であってもよい。また、サーバ装置100は、ソフトウェアによって仮想的に構築される仮想マシンであってもよい。
【0024】
本実施の形態では、サーバ装置100が検出モデルMD4A~MD4Cを備える構成としたが、外部のサーバ装置に学習済みの検出モデルMD4A~MD4Cをインストールする構成としてもよい。また、学習済みの検出モデルMD4A~MD4Cを対応する撮像装置200A~200Cにインストールする構成としてもよく、ユーザが使用する端末装置に提供する構成としてもよい。
【0025】
また、本実施の形態では、サーバ装置100が映像データベースDB1及びユーザデータベースDB2を備える構成としたが、サーバ装置100からアクセス可能であれば、サーバ装置100の外部に設けられてもよい。
【0026】
以下、サーバ装置100が備える各種学習モデルの構成について説明する。
図3は撮像装置200の設置角度を推定する学習モデルの構成例を示す模式図である。撮像装置200の設置角度を推定する学習モデルは、地表面推定モデルMD1、座標推定モデルMD2、設置角度推定モデルMD3により構成される。
【0027】
地表面推定モデルMD1は、映像データから地表面の座標を推定するための学習モデルであり、撮像装置200からの映像データを入力した場合、地表面の座標データを出力するよう学習される。学習モデルとして、CNN(Convolutional Neural Networks)、R-CNN(Region-based CNN)などにより構成される学習モデルを用いることができる。代替的に、学習モデルは、SegNet、FCN(Fully Convolutional Network)、U-Net(U-Shaped Network)、PSPNet(Pyramid Scene Parsing Network)など、画像セグメンテーションが行える任意のニューラルネットワークを用いて構築されてもよい。また、学習モデルは、YOLO(You Only Look Once)、SSD(Single Shot Multi-Box Detector)など物体検出用のニューラルネットワークを用いて構築されてもよい。
【0028】
地表面推定モデルMD1は、多数の映像データと、各映像データに映る地表面について作業者により指定された地表面の座標のデータ(正解データ)とを訓練データに用いて、所定の学習アルゴリズムにより学習を行うことで生成される。ここで、正解データに用いる地表面の座標のデータとして、例えば、図1に示すような駐車枠のように、既知の矩形領域の四隅の座標を用いることができる。本実施の形態では、学習済みの学習モデルが地表面推定モデルMD1として記憶部102に記憶される。
【0029】
座標推定モデルMD2は、撮像装置200の位置座標を推定するための学習モデルであり、撮像装置200からの映像データ及び地表面推定モデルMD1により推定された地表面の座標データを入力した場合、撮像装置200の位置(特に、撮像装置200の設置高さ)を示す座標データを出力するよう学習される。学習モデルとして、例えば、CNN、R-CNNなどにより構成される学習モデルを用いることができる。座標推定モデルMD2は、多数の映像データ、地表面の座標データと、作業者により指定された撮像装置200の位置座標(3次元座標)とを訓練データに用いて、所定の学習アルゴリズムにより学習を行うことで生成される。本実施の形態では、学習済みの学習モデルが座標推定モデルMD2として記憶部102に記憶される。
【0030】
設置角度推定モデルMD3は、撮像装置200の設置角度を推定するための学習モデルであり、映像データに映る基準点となる物体の座標データ及び座標推定モデルMD2により推定された撮像装置200の位置を示す座標データを入力した場合、撮像装置200の設置角度の情報を出力するよう学習される。本実施の形態では、設置角度推定モデルMD3は、所定の方向(例えば真南の方向)を基準とした0度から360度の方位角、水平面を基準とした-90度から90度の俯仰角の情報を出力するよう学習される。学習モデルとして、例えば、CNN、R-CNNなどにより構成される学習モデルを用いることができる。設置角度推定モデルMD3は、基準となる物体の座標データ、座標推定モデルMD2により推定された撮像装置200の位置を示す座標データ、及び作業者により与えられた設置角度のデータとを訓練データに用いて、所定の学習アルゴリズムにより学習を行うことで生成される。ここで、基準点(基準となる物体)とは、撮像画像の範囲内で3次元座標が既知である物体を表す。本実施の形態では、学習済みの学習モデルが設置角度推定モデルMD3として記憶部102に記憶される。
【0031】
図4は検出モデルMD4Aの構成例を示す模式図である。検出モデルMD4A~MD4Cは、例えば、映像データから検出対象を検出するための学習モデルである。検出対象は、各撮像装置200の設置目的に応じて設定されるとよい。例えば、撮像装置200Aが駐車場に出入りする車両を監視するために設置されている場合、検出モデルMD4Aは、撮像装置200Aによる映像データを入力した場合、映像データに映る車両に関する情報を出力するよう学習される。また、撮像装置200Aが屋外を歩行する人物を監視するために設置されている場合、検出モデルMD4Aは、撮像装置200Aによる映像データを入力した場合、映像データに映る人物に関する情報を出力するよう学習される。検出モデルMD4B,MD4Cについても同様であり、それぞれ撮像装置200B,200Cからの映像データを入力した場合、検出対象に関する情報を出力するよう学習される。検出モデルMD4A~MD4Cは、各撮像装置200A~200Cに対応して個別に生成される。記憶部102は、各撮像装置200A~200Cのユーザが利用するサービスのサービスIDに関連付けて、対応する検出モデルMD4A~MD4Cを記憶する。
【0032】
以下、サーバ装置100が備える各種データベースの構成について説明する。
図5は映像データベースDB1の構成例を示す概念図である。本実施の形態では、各撮像装置200から取得した映像データは、撮像装置200の識別子(デバイスID)、撮像装置200の設置角度と共に、映像データベースDB1に記憶される。また、後述する正解データも、映像データと対応付けて記憶される。なお、映像データと正解データとのセットを、訓練データともいう。映像データベースDB1には、撮像装置200の設置角度の他、地表面の座標データ、撮像装置200の設置高さ(座標データ)、基準点の座標データ等が含まれてもよい。更に、映像データベースDB1には、撮像装置200のユーザ、設置場所、設置目的、通信アドレス等の撮像装置200の属性情報や撮像日時の情報が含まれてもよい。
【0033】
図6はユーザデータベースDB2の構成例を示す概念図である。ユーザDB2は、例えば、ユーザを識別するためのユーザID、撮像装置200を識別するためのデバイスID、ユーザが利用するサービスを識別するサービスID、サービスを利用する際に用いる検出モデルID等を関連付けて記憶する。
【0034】
次に、撮像装置200の構成について説明する。
図7は撮像装置200の内部構成を示すブロック図である。撮像装置200は、通信ネットワークNWを介して制御可能なネットワークカメラであり、制御部201、記憶部202、撮像部203、通信部204等を備える。
【0035】
制御部201は、CPUやROMなどを備え、上述した各種ハードウェアの動作を制御し、装置全体を本願の撮像装置として機能させる。記憶部202は、フラッシュメモリなどを用いた記憶装置を備える。記憶部202には、サーバ装置100により推定される自装置の設置角度の情報が記憶される。記憶部202には、設置角度の情報の他、撮像装置200の識別子、ユーザ、設置場所、設置目的、通信アドレス等の撮像装置200の属性情報が記憶されてもよい。
【0036】
撮像部203は、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge-Coupled Device)などの撮像素子を備え、撮像対象を撮像して得られる映像データを出力する。通信部204は、通信ネットワークNWに接続するための通信インタフェースを備える。通信部204が備える通信インタフェースは、例えば、WiFi(登録商標)、3G、4G、5G、LTE等の無線通信規格に準じた通信インタフェースである。通信部204は、外部へ通知すべき各種情報を送信すると共に、外部から自装置宛に送信される各種情報を受信する。
【0037】
以下、本実施の形態に係る情報処理システムの動作について説明する。
図8は処理の全体像を示すフローチャートである。本処理のうち、ステップS101~S103は、撮像装置200が通常動作しているときに所定の時間間隔で繰り返し実行する処理である。また、ステップS104~S106は、自然災害等によって撮像装置200の設置角度が変わってしまった場合等に必要に応じて実行する処理であるが、その他に撮像装置200を設置したときに初期設定として実行してもよい。また、ステップS107~S108は、ユーザからサービス提供の要求があったときに何れかを実行する処理である。なお、映像データに対してアノテーションが自動的に行える場合には、撮像装置200が通常動作しているときにステップS101~S106までを通しで実行してもよい。撮像装置200は、撮像対象を撮像して得られる映像データを通信部204よりサーバ装置100へ送信する(ステップS101)。撮像装置200は、所定の時間単位で映像データをファイルに保存し、保存したファイルをサーバ装置100へ送信する。映像データのファイル形式は任意であり、AVI,MPEG2,MPEG4,MOV,FLV,SFS等を用いることができる。また、撮像装置200は、ストリーミング形式の映像データをサーバ装置100へ送信し、サーバ装置100の内部でファイルとして保存してもよい。更に、撮像装置200は、時系列的な静止画の画像データを映像データとしてサーバ装置100へ送信してもよい。
【0038】
サーバ装置100は、通信部103を通じて、撮像装置200より送信される映像データを受信する(ステップS102)。サーバ装置100の制御部101は、受信した映像データに基づき、撮像装置200の設置角度を推定する(ステップS103)。設置角度の推定処理については、図9を用いて後に詳述する。そして、制御部101は、図5で示したように、デバイスIDに対応付けて、ステップS102で受信した映像データと、ステップS103で推定した設置角度の情報を、映像データベースDB1に記憶させる。
【0039】
次いで、制御部101は、ステップS102で受信した映像データと、ステップS103で推定した設置角度に基づき、検出モデルを生成する。(ステップS104)。検出モデルの生成処理については、図10を用いて後に詳述する。その後の処理は、システムの構成によって2通りに分かれる。1つ目は、撮像装置200側でサービスを提供する場合であり、その場合はステップS105~S107を実行し、ステップS108を省略する。2つ目は、サーバ装置100側でサービスを提供する場合であり、その場合はステップS105~S107を省略し、ステップS108を実行する。
【0040】
撮像装置200側でサービスを提供する場合、制御部101は、ステップS104で生成した検出モデルを通信部103より撮像装置200へ送信する(ステップS105)。通信部103より送信される検出モデルは、通信ネットワークNWを介して、撮像装置200に到達する。
【0041】
撮像装置200は、通信部204を通じて、サーバ装置100より送信される検出モデルを受信する(ステップS106)。撮像装置200の制御部201は、受信した検出モデルを用いて、サービスを提供する(ステップS107)。一方、サーバ装置100側でサービスを提供する場合、制御部101は、生成した検出モデルを用いて、サービスを提供する(ステップS108)。サービスの提供処理については、図11を用いて後に詳述する。
【0042】
図9は、設置角度を推定する処理(S103)の詳細を示すフローチャートである。サーバ装置100の制御部101は、記憶部102から推定処理プログラムPG1を読み出して実行することにより、以下の処理を実行する。制御部101は、撮像装置200から取得した映像データを地表面推定モデルMD1に入力し、地表面推定モデルMD1による演算を実行する(ステップS121)。このとき、制御部101は、映像データから抽出した特定のフレーム(静止画)を地表面推定モデルMD1に入力してもよく、明度や画質などの調整を行った後の映像データを地表面推定モデルMD1に入力してもよい。制御部101は、地表面推定モデルMD1による演算結果として、地表面の座標データを取得する(ステップS122)。
【0043】
次いで、制御部101は、撮像装置200から取得した映像データと、地表面の座標データとを座標推定モデルMD2に入力し、座標推定モデルMD2による演算を実行する(ステップS123)。前述と同様、制御部101は、映像データから抽出した特定のフレーム(静止画)を座標推定モデルMD2に入力してもよく、明度や画質などの調整を行った後の映像データを座標推定モデルMD2に入力してもよい。制御部101は、座標推定モデルMD2による演算結果として、撮像装置200の位置(設置高さ)を示す座標データを取得する(ステップS124)。
【0044】
次いで、制御部101は、撮像装置200の座標データと、映像データに映る基準点の座標データとを設置角度推定モデルMD3に入力し、設置角度推定モデルMD3による演算を実行する(ステップS125)。制御部101は、設置角度推定モデルMD3による演算結果として、撮像装置200の設置角度のデータを取得する(ステップS126)。
【0045】
以上の手順により、サーバ装置100の制御部101は、撮像装置200の設置角度を推定することができる。制御部101は、図5で示したように、デバイスID、撮像装置200の設置角度のデータ(ステップS126で取得)、及び撮像装置200から取得した映像データを関連付けて映像データベースDB1に記憶させる。既にデータが存在する場合は、データを上書きしてもよいし、データが生成された日時の情報とともに記憶して最新のデータを利用するようにしてもよい。なお、地表面の座標データ(ステップS122で取得)、撮像装置200の座標データ(ステップS124で取得)を更に関連付けて記憶させてもよい。
【0046】
本実施の形態では、地表面推定モデルMD1、座標推定モデルMD2、設置角度推定モデルMD3の3種類のモデルを用いて、撮像装置200の設置角度を推定する構成としたが、これらを統合した統合モデルを用いて、撮像画像から撮像装置200の設置角度を推定する構成としてもよい。すなわち、統合モデルは、映像データを入力した場合、撮像装置200の設置角度を出力するよう学習されるとよい。
【0047】
制御部101は、映像データベースDB1に記憶された映像データに基づき、検出モデルMD4A等を生成する。
【0048】
図10は、検出モデルを生成する処理(S104)の詳細を示すフローチャートである。本処理では、撮像装置200の設置角度に応じて、サービスごとに検出モデルを生成する。なお、更にユーザごとにカスタマイズした検出モデルを生成してもよい。事前の準備として、各映像データについて、対応する正解データを生成する。具体的には、映像データベースDB1に記憶された映像データについて、検出対象の領域を指定するアノテーションが実施される。指定された領域のデータは、図5に示したように、映像データに対する正解データとして記憶部102に記憶される。学習が開始される前の初期段階では、作業者の手によりアノテーションが実施される。学習が進めば、検出モデルMD4Aによる検出結果を流用して自動でアノテーションを実施し正解データを生成してもよい。
【0049】
撮像装置200A用の検出モデルMD4Aを生成する場合、制御部101は、撮像装置200AのデバイスIDおよび設置角度を基に映像データベースDB1から映像データを読み出す(ステップS140)。すなわち、制御部101は、撮像装置200AのデバイスIDおよび設置角度(方位角と俯仰角)を検索キーに用いて映像データベースDB1を検索し、両者が一致した映像データを映像データベースDB1から読み出せばよい。なお、設置角度は完全に一致している必要はなく、方位角と俯仰角の何れか一方または両方に所定の誤差(例えば5度以内)を許容してもよい。なお、検索キーに用いるのは設置角度のみ(デバイスIDは用いない)としてもよい。この場合、映像データベースDB1から読み出される映像データは、撮像装置200Aによって撮像された映像データに限らず、他の撮像装置200によって撮像された映像データも含まれ得る。また、検索キーに撮像装置の座標データ(高さのみならずGPS等による位置座標を含めてもよい)を更なるand条件として用いてもよい。そもそも、ステップS140の意図は、過去に同じ条件(カメラの設置角度/設置位置/性能特性/環境特性等)のときのデータを可能な限り多く利用することにより、生成される検出モデルの精度を上げようというものである。このため、検索キーが減ればその分対象となるデータは増えるが各データの質は低くなる可能性があり、検索キーが増えればその逆になる可能性がある。したがって、検索キーとしては適切なものを過不足なく用いるという考え方が重要である。
【0050】
制御部101は、ステップS140で読み出した各映像データについて、対応する正解データを特定し、その映像データと正解データとをセットにした訓練データを生成する(ステップS141)。制御部101は、選択した訓練データに含まれる映像データを検出モデルMD4Aに入力し、検出モデルMD4Aによる演算を実行する(ステップS142)。なお、学習が開始される前の段階において、検出モデルMD4Aのモデルパラメータには、初期値が設定されているものとする。
【0051】
制御部101は、検出モデルMD4Aによる演算結果を評価し(ステップS143)、学習が完了したか否かを判断する(ステップS144)。制御部101は、検出モデルMD4Aによる演算結果と、訓練データに含まれる正解データとに基づいて設定した誤差関数(目的関数、損失関数、コスト関数ともいう)を用いて、演算結果を評価することができる。制御部101は、例えば、最急降下法などの勾配降下法により誤差関数を最適化(最小化又は最大化)する課程で、誤差関数が閾値以下(又は閾値以上)となった場合、学習が完了したと判断する。
【0052】
学習が完了していないと判断した場合(S144:NO)、制御部101は、検出モデルMD4Aのパラメータ(ノード間の重み及びバイアス等)を更新し(ステップS145)、処理をステップS141へ戻す。制御部101は、検出モデルMD4Aの出力層から入力層に向かって、ノード間の重み及びバイアスを順次更新する誤差逆伝搬法を用いて、検出モデルMD4Aにおけるパラメータを更新することができる。
【0053】
学習が完了したと判断した場合(S144:YES)、学習済みの検出モデルMD4Aが得られるので、制御部101は、学習済みの検出モデルMD4Aを記憶部102に記憶させる(ステップS146)。このとき、制御部101は、図6で示したように、デバイスID、サービスIDに関連付けて、検出モデルMD4Aを記憶部102に記憶させる。なお、前述したようにユーザごとにカスタマイズした検出モデルを生成する場合には、更にユーザIDにも関連付けて記憶させる。
【0054】
図10のフローチャートでは撮像装置200A用の検出モデルMD4Aの生成手順について説明したが、他の検出モデルMD4B,MD4Cについても同様の手順にて生成することが可能である。
【0055】
また、撮像装置200A,200Bの設置角度が実質的に同一であれば、それぞれの検出モデルMD4A,MD4Bを個別に生成する必要はなく、例えば、検出モデルMD4Aを生成した後、生成した検出モデルMD4Aをファインチューニングして検出モデルMD4Bを生成してもよい。
【0056】
本実施の形態では、サーバ装置100において検出モデルMD4Aを生成する構成したが、外部サーバで検出モデルMD4Aを生成する構成としてもよい。この場合、サーバ装置100は、通信又は記録媒体を介して、外部で生成された学習済みの検出モデルMD4Aを取得し、取得した検出モデルMD4Aを記憶部102に記憶すればよい。
【0057】
図11はサービスを提供する処理(ステップS107またはS108)の詳細を示すフローチャートである。なお、以下ではサーバ装置100側で処理を実行(ステップS108)する場合について説明するが、撮像装置200側で処理を実行(ステップS107)してもよい。その場合、撮像装置200とユーザ端末との間のデータのやりとりは、サーバ装置100を介して行う。サーバ装置100の制御部101は、撮像装置200のユーザからサービス要求を受付けたか否かを判断する(ステップS161)。制御部101は、通信部103を通じて、図に示していないユーザの端末装置からサービス要求を受付けることが可能である。なお、ここでいうサービスとは、例えば「人を検知する」という単純なものから、「人が何かにぶつかったことを検知する」というような複合的なものまで、様々な種類の機能を意味する。また、サービス要求には、ユーザID、デバイスID、サービスIDが含まれるものとする。例えば、ユーザ端末からシステムへログインしたことに応じて、そのユーザに対応するユーザIDがセットされる。また、ユーザがUIを介して撮像装置200を選択したことに応じて、その撮像装置200に対応するデバイスIDがセットされる。また、ユーザがUIを介してサービスを選択したことに応じて、そのサービスに対応するサービスIDがセットされる。サービス要求を受け付けていないと判断した場合(S161:NO)、制御部101は、サービス要求を受付けるまで待機する。
【0058】
サービス要求を受付けた場合(S161:YES)、制御部101は、デバイスID、サービスIDを特定する(ステップS162)。なお、前述したようにユーザごとにカスタマイズした検出モデルを生成する場合には、更にユーザIDも特定する。制御部101は、デバイスID、サービスIDに基づきユーザデータベースDB2を検索することにより、用いるべき検出モデルを選択する(ステップS163)。具体的には、図6に示した中から、デバイスIDとサービスIDが一致する検出モデルを選択する。なお、前述したようにユーザごとにカスタマイズした検出モデルを生成する場合には、更にユーザIDも一致する検出モデルを選択する。ここでは、検出モデルMD4Aを選択したとする。
【0059】
制御部101は、通信部103を通じて、デバイスIDに対応する撮像装置200から送信されてくる映像データを取得する(ステップS164)。制御部101は、ステップS164で取得した映像データをステップS163で選択した検出モデルMD4Aに入力し、検出モデルMD4Aによる演算を実行する(ステップS165)。
【0060】
制御部101は、検出モデルMD4Aによる演算結果に係る情報を検出結果として出力する(ステップS166)。制御部101は、通信部103を通じて、図に示していないユーザの端末装置へ検出結果を送信すればよい。
【0061】
以上のように、本実施の形態では、ユーザが選択した撮像装置200の映像を用いて、ユーザが所望のサービスを、撮像装置200の設置角度に応じた適切な検出モデルを用いて提供することが可能となる。また、サーバ装置100は、設置角度に関連付けて映像データを収集するので、設置角度を検索キーとして検索することにより、実質的に同一の設定角度で撮像された映像データを映像データベースDB1から抽出することができる。また、これらの映像データを用いて学習を行うことにより、検出モデルMD4A等の精度向上を図ることができる。
【0062】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0063】
100 サーバ装置
101 制御部
102 記憶部
103 通信部
104 操作部
105 表示部
200 撮像装置
201 制御部
202 記憶部
203 撮像部
204 通信部
DB1 映像データベース
DB2 ユーザデータベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11