(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理プログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20240117BHJP
G06F 11/07 20060101ALI20240117BHJP
【FI】
G06F11/34 133
G06F11/07 193
(21)【出願番号】P 2022208543
(22)【出願日】2022-12-26
【審査請求日】2023-02-01
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】萩原 康平
(72)【発明者】
【氏名】清水 就平
(72)【発明者】
【氏名】鳩 康彦
(72)【発明者】
【氏名】前田 哲汰
(72)【発明者】
【氏名】岩瀬 卓朗
(72)【発明者】
【氏名】陳 爽
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2021/235312(WO,A1)
【文献】特開2012-221147(JP,A)
【文献】特開2016-036103(JP,A)
【文献】米国特許出願公開第2015/0189540(US,A1)
【文献】中国特許出願公開第112650564(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/30-11/34
G06N 3/02- 3/10
G06N 20/00-99/00
(57)【特許請求の範囲】
【請求項1】
所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、該分析の結果についての情報提供を行う情報処理装置であって、
前記アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する判定部と、
前記アプリケーションの稼働情報に基づき、学習モデルを用いて前記アプリケーションの稼働条件を推論する推論部と、
前記アプリケーションが停止した場合に、前記リソース使用量が所定の前記閾値を超過したという前記判定部の判定結果に基づき前記アプリケーションの稼働条件を設定する設定部と、
を備える情報処理装置。
【請求項2】
収集された前記アプリケーションの前記稼働情報を、所定の外部装置に送信する送信部と、
前記送信部により送信された前記アプリケーションの前記稼働情報に基づき、前記外部装置により推論された前記アプリケーションの前記稼働条件を該外部装置から取得する取得部と、を更に有し、
前記設定部は、前記判定部の判定結果に基づいて、前記外部装置から取得された前記アプリケーションの前記稼働条件を設定する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定部により前記リソース使用量が前記閾値を超えたと判定された場合に、前記リソース使用量の抑制に関する情報を出力する出力部を更に有する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、該分析の結果についての情報提供を行う情報処理方法であって、
前記アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する判定工程と、
前記アプリケーションの稼働情報に基づき、学習モデルを用いて前記アプリケーションの稼働条件を推論する推論工程と、
前記アプリケーションが停止した場合に、前記リソース使用量が所定の前記閾値を超過したという前記判定工程の判定結果に基づき前記アプリケーションの稼働条件を設定する設定工程と、
を含むことを特徴とする情報処理方法。
【請求項5】
所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、該分析の結果についての情報提供を行う情報処理プログラムであって、
前記アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する判定手順と、
前記アプリケーションの稼働情報に基づき、学習モデルを用いて前記アプリケーションの稼働条件を推論する推論手順と、
前記アプリケーションが停止した場合に、前記リソース使用量が所定の前記閾値を超過したという前記判定手順の判定結果に基づき前記アプリケーションの稼働条件を設定する設定手順と、
を含むことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【0002】
施設等への来場者の人数把握や体調把握、また犯罪対策のために撮像装置(例えば、AI(Artificial Intelligence)を活用した人流解析に用いる映像を撮像するカメラ等で、以降「撮像装置」と表記)により撮像された映像(撮像装置により撮像される静止画像または動画像のことで、以降は「映像」と表記)を解析して、解析結果を提供する技術が提案されている。
【0003】
例えば、撮像装置によって撮像された映像について画像解析アプリケーションを用いた解析を行い管理プラットフォームに送信する技術や、管理プラットフォームからの指示に基づいて画像解析アプリケーションを制御する画像解析装置が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述の従来技術においては、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施が困難である場合があった。
【0006】
例えば、従来技術においては、画像解析装置のリソース使用量が逼迫するとアプリケーションの動作が停止する場合がある。しかしながら、従来技術では、リソース使用量が逼迫しても、どのモジュール(例えば、アプリケーションモジュール等)において消費リソース使用量が増大しているのかを管理者等が判断することが難しい場合があった。さらに、管理者等の操作によりリソース使用量のボトルネックとなるモジュールが特定されたとしても、管理者等が適切なタイミングおよび方法に基づいて対象のモジュールに対するリソース使用量抑制の設定を実施することが難しい場合があった。
【課題を解決するための手段】
【0007】
上記の課題を解決し目的を達成するために、本発明の情報処理装置は、所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、該分析の結果についての情報提供を行う情報処理装置であって、前記アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する判定部と、前記アプリケーションの稼働情報に基づき、学習モデルを用いて前記アプリケーションの稼働条件を推論する推論部と、前記アプリケーションが停止した場合に、前記リソース使用量が所定の前記閾値を超過したという前記判定部の判定結果に基づき前記アプリケーションの稼働条件を設定する設定部と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とする、という効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態に係る画像解析システムの概要を示す図である。
【
図2】
図2は、本実施形態の前提技術に係る情報処理装置のシステム構成例を示す図である。
【
図3】
図3は、本実施形態の前提技術に係るアプリケーション稼働の概要を示す図である。
【
図4】
図4は、第1の実施形態に係る情報処理の概要を示す図である。
【
図5】
図5は、第1の実施形態に係る画像解析システムの装置構成例を示す図である。
【
図6】
図6は、本実施形態の前提技術に係る画像解析技術の概要(物体検出)を示す図である。
【
図7】
図7は、本実施形態の前提技術に係る画像解析技術の概要(物体トラッキング)を示す図である。
【
図8】
図8は、第2の実施形態に係る情報処理の概要を示す図である。
【
図9】
図9は、第2実施形態に係る画像解析システムの装置構成例を示す図である。
【
図10】
図10は、第1の実施形態に係る情報処理手順の一例を示すフローチャートである。
【
図11】
図11は、第2の実施形態に係る情報処理手順の一例を示すフローチャートである。
【
図12】
図12は、第1の変形例に係る情報処理の概要を示す図である。
【
図13】
図13は、第2の変形例に係る情報処理の概要を示す図である。
【
図14】
図14は、第3の変形例に係る情報処理の概要を示す図である。
【
図15】
図15は、変形例に係る画像解析システムの構成例を示す図である。
【
図16】
図16は、変形例に係る情報処理手順の一例を示すフローチャートである。
【
図17】
図17は、本実施形態に係る従来技術の課題の一例を示す図である。
【
図18】
図18は、本実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本発明に係る情報処理装置、情報処理方法、および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、本実施形態により本発明に係る情報処理装置、情報処理方法、および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0011】
〔1.前提技術について〕
まず、本実施形態の画像解析システム1の概要について、
図1を用いて説明する。
図1は、本実施形態に係る画像解析システム1の概要を示す図である。
【0012】
図1に示す通り、画像解析システム1は、情報処理装置100と、撮像装置200と、外部装置300とを含む。画像解析システム1は、撮像装置200により撮像された映像について情報処理装置100で稼働するアプリケーションが画像解析を行い、その解析結果を情報提供するシステムである。
【0013】
なお、本実施形態においてアプリケーションは、撮像装置200により撮像された映像を画像解析して所定のイベントを検出するAIアプリケーションと定義し、以降の項目でも同様とする。また、ここでいうAIアプリケーションとは、撮像された映像についてAIを用いた画像解析に基づき、人流解析(例えば、物体や人物の認識、万引き等の検知等)を行うアプリケーションである。
【0014】
本実施形態の情報処理装置100は、
図1で示すように撮像装置200と外部装置300(例えば、クラウドサーバ等)を中継する。具体的には、情報処理装置100は、ネットワークハブ900によりLAN(Local Area Network)で構成されたネットワーク内に含まれる撮像装置200(例えば、撮像装置201、撮像装置202、撮像装置203等)を管理、および制御する(
図1の(1))。なお、
図1で示された撮像装置200の数は、限定されない。
【0015】
情報処理装置100は、撮像装置200により撮像された映像について所定の画像解析を行い、解析結果を外部装置300に出力する(
図1の(2))。そして、情報処理装置100により出力された解析結果を受け付けた外部装置300は、管理者等により利用される端末装置10に解析結果を視覚化して表示する(
図1の(3))。
【0016】
次に、
図2を用いて情報処理装置100の機能面におけるシステム構成要素の概要を説明する。
図2は、本実施形態の前提技術に係る情報処理装置100のシステム構成例を示す図である。なお、
図2に示すシステム構成要素の概要は、あくまで一例であり本実施形態の情報処理装置100を実現可能なシステム構成であれば記載した内容に限定されずない。
【0017】
図2の画像解析システム1は、情報処理装置100と、撮像装置200と、外部装置300とを有する。さらに、情報処理装置100は、所定のネットワークNWを介して撮像装置200および外部装置300と接続される。
【0018】
情報処理装置100は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等が実装されたSoC(System-on-a-Chip)と、OS(Operating System)を有する。さらに、情報処理装置100は、Web UI、DM service、CM service、コンテナエンジン(例えば、Moby Engine等)、IoTエッジコンピューティングサービス(例えば、Azure IoT Edge等)を有する。
【0019】
情報処理装置100は、前述のコンテナエンジンに基づいて、Device Management Module、Camera Management Module、AI Application Module(例えば、映像を画像解析するAIアプリケーションのモジュール等)を稼働させる。なお、AI Application Moduleは、ApplicationとSDK(Software Development Kit)から構成される。また、情報処理装置100は、コンテナエンジンに基づいて稼働させるコンテナ数等を限定せずに、稼働させることができる。
【0020】
次に、情報処理装置100にて稼働するアプリケーションの概要について、
図3を用いて説明する。
図3は、本実施形態の前提技術に係るアプリケーション稼働の概要を示す図である。なお、
図3における画像解析システム1は、情報処理装置100と、撮像装置200と、外部装置300とを含む構成である。
【0021】
情報処理装置100は、撮像装置(例えば、撮像装置201、撮像装置202、撮像装置203等)から、Camera Management Moduleを介して映像を取得する(
図3の(1))。なお、画像解析システム1における撮像装置200の数は限定されない。
【0022】
次に、モジュール(モジュール201a、モジュール202a、モジュール203a)ごとに稼働するアプリケーション(アプリケーション201A、アプリケーション202A、アプリケーション203A)は、取得された映像を用いて画像解析を実施する(
図3の(2))。なお、情報処理装置100において稼働するモジュールやアプリケーションの数は限定されない。
【0023】
情報処理装置100は、アプリケーションにより行われた画像解析の結果を外部装置300に出力する(
図3の(3))。外部装置300は、情報処理装置100により出力された画像解析の結果を、管理者等の端末装置(例えば、端末装置10A、端末装置10B、端末装置10C等)に画像解析結果を視覚化して表示する(
図3の(4))。なお、外部装置300が結果を表示する端末装置10の数は限定されない。
【0024】
〔2.第1の実施形態〕
ここから、本実施形態の画像解析システム1により実現される第1の実施形態について説明を行う。第1の実施形態は、情報処理装置100のリソース使用量に関する情報に基づき学習を行った学習モデルを用いて推論されるアプリケーションの稼働条件を、アプリケーションの稼働状況ごとに設定する実施形態である。なお、第1の実施形態と、後述する第2の実施形態および変形例とは、それぞれ個別に実施されてもよいし、組み合わせて実施されてもよい。
【0025】
〔2-1.第1の実施形態の概要〕
次に、
図4を用いて、第1の実施形態の概要を説明する。
図4は、第1の実施形態に係る情報処理の概要を示す図である。
【0026】
図4の情報処理装置100は、アプリケーション201Aと、アプリケーション202Aと、アプリケーション203Aとを稼働する。なお、情報処理装置100に含まれるその他のシステム構成は、
図2で説明した内容と同様のため省略する。
【0027】
また、
図4の例において、情報処理装置100のアプリケーション201Aは、撮像装置201により撮像される映像に基づいて画像解析を行う。また、情報処理装置100のアプリケーション202Aは、撮像装置202により撮像される映像に基づいて画像解析を行う。また、情報処理装置100のアプリケーション203Aは、撮像装置203により撮像される映像に基づいて画像解析を行う。
【0028】
まず、情報処理装置100は、アプリケーションの稼働情報を収集する(
図4の(1))。ここでいうアプリケーションの稼働情報は、コンテナ(モジュール)ごとのリソース使用量に関する情報(例えば、CPU使用率、GPU使用率、メモリ使用率等)とアプリケーションの稼働状況に関する情報とが含まれている。また、アプリケーションの稼働情報には、アプリケーション以外のモジュール(例えば、DM ModuleやCM Module等)に係る情報も含まれていてよい。
【0029】
例えば
図4に示す通り、情報処理装置100のリソース使用量は、CM Moduleが20%、アプリケーション202Aが60%、アプリケーション203Aが20%である。他方、アプリケーション201Aは、リソース使用量が所定の閾値を超過したため、停止している。
【0030】
情報処理装置100は、収集されたアプリケーションの稼働情報を用いて、所定の判定および推論を実施する。まず、情報処理装置100は、所定の判定としてアプリケーションの稼働情報に基づいて、アプリケーションのリソース使用量が閾値を超えたための停止であるか否かを判定する。例えば、
図4の情報処理装置100は、アプリケーション201Aのリソース使用量が閾値を超えたため、稼働(例えば、画像解析等)を停止していると判定する(
図4の(2))。
【0031】
次に、情報処理装置100は、所定の推論としてアプリケーションの稼働情報を入力とする学習モデルに基づき、アプリケーションの稼働条件を推論する。情報処理装置100は、前述の判定結果に基づき、推論されたアプリケーションの稼働条件をアプリケーション201Aに対して設定した上で、アプリケーション201Aを再起動する(
図4の(3))。
【0032】
他方で、情報処理装置100は、アプリケーション202Aのリソース使用量が所定の基準値を超えていると判定する(
図4の(4))。その場合、情報処理装置100は、推論されたアプリケーションの稼働条件をアプリケーション202Aに対して設定する(
図4の(5))。
【0033】
ここまで情報処理装置100によりアプリケーションの稼働条件の推論が実施される前提で説明を行ってきたが、外部装置300は、情報処理装置100の代わりに推論を行ってもよい。その場合、情報処理装置100は、収集されたアプリケーションの稼働情報を外部装置300に送信する(
図4の(6))。
【0034】
外部装置300は、情報処理装置100により送信されたアプリケーションの稼働情報に含まれるアプリケーションの稼働情報を入力とする学習モデルに基づき、所定の推論としてアプリケーションの稼働条件を推論する。なお、外部装置300は、複数の情報処理装置100(情報処理装置100Aや情報処理装置100B等)により提供されるアプリケーションの稼働情報を用いて、推論を実施してもよい(
図4の(7))。
【0035】
情報処理装置100は、外部装置300により推論されたアプリケーションの稼働条件を、外部装置300から取得する(
図4の(8))。そして、情報処理装置100は、前述の(3)または(5)と同様の処理を実施する。
【0036】
〔2-2.画像解析システムの構成〕
ここから、第1の実施形態に係る画像解析システム1について説明する。
図5は、第1の実施形態に係る画像解析システム1の装置構成例を示す図である。
図5に示すように、画像解析システム1は、情報処理装置100と撮像装置200と、情報処理装置100と外部装置300とが、それぞれ所定のネットワークNWを介して接続された構成を有する。なお、画像解析システム1に含まれる撮像装置200の数は限定されず、複数の撮像装置200が含まれていてよい。
【0037】
〔2-2-1.情報処理装置の構成〕
次に、第1の実施形態に係る画像解析システム1に含まれる情報処理装置100の構成例について説明する。情報処理装置100は、所定の撮像手段(撮像装置200)により撮像された映像についてアプリケーションを用いて分析(画像解析)し、分析(画像解析)の結果についての情報提供を行う。
図5に示す通り、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0038】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNWと有線または無線で接続され、例えば、情報処理装置100と撮像装置200、情報処理装置100と外部装置300との間で情報の送受信を行う。
【0039】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部120は、稼働情報記憶部121を有する。
【0040】
(稼働情報記憶部121について)
稼働情報記憶部121は、アプリケーションの稼働情報を記憶する。なお、「アプリケーションの」と表記しているが、OSやモジュールの情報を含んでいてもよい。
【0041】
具体的に、稼働情報記憶部121は、後述の推論部134によるアプリケーションの稼働条件の推論に用いられるアプリケーションの稼働情報として、処理FPS121aと、カメラ設定値121bと、リソース使用量121cと、稼働状況121dとを記憶する。
【0042】
(処理FPS121aについて)
処理FPS121aは、アプリケーションにより処理(画像解析)される単位時間当たりの画像の枚数を示すFPS(Frame per second)に関する情報である。なお、処理FPS121aは、実行環境においてリアルタイムに算出可能なアプリケーションの検出精度の一般的な指標である。
【0043】
ここで、
図6を用いて、処理FPS121aに係る「物体検出」について説明する。
図6は、本実施形態の前提技術に係る画像解析技術の概要(物体検出)を示す図である。物体検出は、アプリケーションによる画像解析に基づいて、撮像装置200の視野内に含まれる物体を認識する処理である。この物体検出は、画像解析にモデル11bよりも大きいモデル11aを用いることで物体検出精度が向上するが、一方で処理時間が増加する。
【0044】
次に、
図7を用いて、処理FPS121aに係る「物体トラッキング」について説明する。
図7は、本実施形態の前提技術に係る画像解析技術の概要(物体トラッキング)を示す図である。物体トラッキングは、前述の物体検出の処理に基づいて、撮像装置200の視野内(検出範囲)にて移動する物体をトラッキングする処理である。
【0045】
図7の撮像装置200は、撮像装置200の視野内に入った移動する物体(
図7の場合は、人物12)をトラッキングする。例えば、撮像装置200は、視野外の人物12aと人物12dはトラッキングしないが、視野内に含まれる人物12bと人物12cとをトラッキングする。しかしながら、物体トラッキングは、物体検出の処理時間が増加することにより、検出不能のフレームが発生して検出精度が低下する。そのため、撮像装置200は、同じく視野内に含まれる人物12cはトラッキングしていない。
【0046】
前述したように、アプリケーションによる画像解析に基づいたイベントの検出においては、「フレーム処理」が検出精度に影響を及ぼすことから、フレーム処理速度の指標である「処理FPS」がアプリケーションにより要求される性能の指標となる。なお、
図6および
図7で説明した物体検出と物体トラッキングについては、以降の第1の実施形態と、第2の実施形態と、変形例とにおいて利用される前提技術である。
【0047】
(カメラ設定値121bについて)
ここで、
図5に戻り説明を続ける。カメラ設定値121bは、撮像装置200の撮像条件に関する情報である。例えば、カメラ設定値121bは、コーデック、ビットレート、解像度等の撮像設定項目が含まれていてよい。なお、稼働情報記憶部121は、前述した各項目に限定されず、カメラ設定値に関する情報の範疇に含まれる情報であれば、カメラ設定値121bとして記憶することができる。
【0048】
(リソース使用量121cについて)
リソース使用量121cは、情報処理装置100のリソース使用量に関する情報である。例えば、リソース使用量121cは、CPU使用率、GPU使用率、メモリ使用率等が含まれていてよい。なお、稼働情報記憶部121は、前述した各使用率に限定されず、リソース使用量に関する情報の範疇に含まれる情報であれば記憶することができる。
【0049】
(稼働状況121dについて)
稼働状況121dは、情報処理装置100で稼働するアプリケーションの稼働状況に関する情報である。例えば、稼働状況121dは、アプリケーションが正常に稼働しているか否か、リソース使用量が所定の閾値を超えて停止しているか否か等についての情報を含んでいてよい。なお、稼働情報記憶部121は、アプリケーションに限定されず、OSやモジュールごとの稼働状況に関する情報を稼働状況121dとして記憶してよい。
【0050】
(制御部130について)
制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図5に示される、制御部130は、収集部131と、送信部132と、判定部133と、推論部134と、取得部135と、設定部136とを有する。
【0051】
(収集部131について)
収集部131は、情報処理装置100のアプリケーションの稼働情報を収集する。具体的には、収集部131により収集されるアプリケーションの稼働情報は、処理FPS121aと、カメラ設定値121bと、リソース使用量121cと、稼働状況121dとを含む。なお、収集部131は、前述した情報に限定されず、アプリケーションの稼働情報の範疇に含まれる情報であれば記憶することができる。
【0052】
(送信部132について)
送信部132は、収集部131により収集されたアプリケーションの稼働情報を、所定の外部装置300に送信する。例えば、送信部132は、アプリケーションの稼働情報として、収集部131により収集された処理FPS121aと、カメラ設定値121bと、リソース使用量121cと、稼働状況121dとの1つ、または複数の組み合わせを外部装置300に送信できる。なお、送信部132は、アプリケーションの稼働情報に関する情報の範疇に含まれる情報であれば、限定無く外部装置300に送信できる。
【0053】
(判定部133について)
判定部133は、アプリケーションの稼働情報に含まれるリソース使用量121cと稼働状況121dとに基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する。例えば、判定部133は、対象のアプリケーションが所定の閾値として、CPU使用率やメモリ使用率の閾値を超過して停止した場合に、リソース使用量の超過により停止したと判定してよい。
【0054】
(推論部134について)
推論部134は、収集部131により収集されたアプリケーションの稼働情報に基づき、学習モデルを用いてアプリケーションの稼働条件を推論する。ここでいうアプリケーションの稼働条件は、アプリケーションごとのモジュールに割り当てる使用可能なリソース量であり、アプリケーションが稼働するコンテナを作成する際に設定されるCPU使用率の上限、メモリ使用率の上限等であってよい。なお、推論部134は、前述の学習モデルとして機械学習の学習モデルの範疇に含まれるモデルであれば、限定無く用いることができる。
【0055】
例えば、推論部134は、アプリケーションの稼働情報に含まれる処理FPS121aと、カメラ設定値121bと、リソース使用量121cとの1つ、または複数の組み合わせを入力とする学習モデルを用いて、アプリケーションの稼働条件を推論できる。
【0056】
(取得部135について)
取得部135は、外部装置300によりアプリケーションの稼働情報を用いたアプリケーションの稼働条件に関する情報が推論される場合に、外部装置300から所定の情報を取得する。具体的には、取得部135は、送信部132により送信されたアプリケーションの稼働情報に基づき、後述の外部装置300の推論部332により推論されたアプリケーションの稼働条件を外部装置300から取得する。
【0057】
(設定部136について)
設定部136は、アプリケーションが停止した場合に、リソース使用量が所定の閾値を超過したという判定部133の判定結果に基づきアプリケーションの稼働条件を設定する。例えば、設定部136は、判定部133によりリソース量の超過による停止と判定された場合、停止したアプリケーションに係るコンテナの作成時に推論部134により推論されたアプリケーションの稼働条件を設定し、再起動を行ってよい。
【0058】
他方で、設定部136は、判定部133の判定結果に基づいて、外部装置300から取得されたアプリケーションの稼働条件を設定する。具体的には、設定部136は、後述の外部装置300の推論部332により推論されたアプリケーションの稼働条件に基づいて、停止したアプリケーションに係るコンテナの作成時にアプリケーションの稼働条件を設定してよい。
【0059】
なお、ここでいう「所定の閾値」は、予め設定されるリソース使用量の上限値であってもよいし、情報処理装置100の稼働状況により動的に変動するリソース使用量の限界値等であってよく、特に限定されない。
【0060】
また、設定部136は、停止していないアプリケーションに対してもアプリケーションの稼働条件を設定してもよい。例えば、設定部136は、稼働を継続しているがリソース使用量が高いアプリケーションについて、リソース使用量を抑制する条件を含むアプリケーションの稼働条件を設定してもよい。
【0061】
〔2-2-2.撮像装置の構成〕
次に、第1の実施形態に係る画像解析システム1に含まれる撮像装置200について説明する。撮像装置200は、情報処理装置100で稼働するアプリケーションによる画像解析に用いられる映像を撮像する。そして、
図5に示すように、撮像装置200は、通信部210と、記憶部220と、制御部230とを有する。
【0062】
(通信部210について)
通信部210は、例えば、NIC等によって実現される。そして、通信部210は、ネットワークNWと有線または無線で接続され、例えば、情報処理装置100と撮像装置200との間で情報の送受信を行う。
【0063】
(記憶部220について)
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部220は、制御部230が撮像装置200としての機能を実現するための処理プログラム、およびデータ等を記憶する。
【0064】
(制御部230について)
制御部230は、CPUやMPU等によって、撮像装置200内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。そして、制御部230は、撮像装置200が所定の機能を実現するための処理を実行する。
【0065】
〔2-2-3.外部装置の構成〕
次に、第1の実施形態に係る画像解析システム1に含まれる外部装置300について説明する。
図5に示すように、外部装置300は、通信部310と、記憶部320と、制御部330とを有する。
【0066】
(通信部310について)
通信部310は、例えば、NIC等によって実現される。そして、通信部310は、ネットワークNWと有線または無線で接続され、例えば、情報処理装置100と外部装置300との間で情報の送受信を行う。
【0067】
(記憶部320について)
記憶部320は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部320は、稼働情報記憶部321を有する。
【0068】
(稼働情報記憶部321について)
稼働情報記憶部321は、情報処理装置100の送信部132により送信されたアプリケーションの稼働情報を記憶する。具体的には、稼働情報記憶部321は、アプリケーションの稼働情報として処理FPS321aと、カメラ設定値321bと、リソース使用量321cと、稼働状況321dとを記憶する。
【0069】
(処理FPS321aについて)
処理FPS321aは、アプリケーションが単位時間当たりに処理(画像解析)する画像の枚数を示すFPSに関する情報である。なお、稼働情報記憶部321は、アプリケーションの稼働情報として、情報処理装置100により記憶された処理FPS121aを処理FPS321aとして記憶する。
【0070】
(カメラ設定値321bについて)
カメラ設定値321bは、撮像装置200の撮像条件に関する情報である。なお、稼働情報記憶部321は、アプリケーションの稼働情報として、情報処理装置100により記憶されたカメラ設定値121bをカメラ設定値321bとして記憶する。
【0071】
(リソース使用量321cについて)
リソース使用量321cは、情報処理装置100のリソース使用量に関する情報である。なお、稼働情報記憶部321は、アプリケーションの稼働情報として、情報処理装置100により記憶されたリソース使用量121cをリソース使用量321cとして記憶する。
【0072】
(稼働状況321dについて)
稼働状況321dは、情報処理装置100で稼働するアプリケーションの稼働状況に関する情報である。なお、稼働情報記憶部321は、アプリケーションの稼働情報として、情報処理装置100の稼働状況121dを稼働状況321dとして記憶する。
【0073】
(制御部330について)
制御部330は、CPUやMPU等によって、外部装置300内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部330は、例えば、ASICやFPGA等の集積回路により実現される。また、制御部330は、受付部331と、推論部332とを有する。
【0074】
(受付部331について)
受付部331は、情報処理装置100で稼働するアプリケーションの稼働情報を受け付ける。なお、受付部331は、送信部132により送信されたデータを受け付けてもよいし、外部装置300の管理者等により直接入力されたデータを受け付けてもよい。
【0075】
(推論部332について)
推論部332は、受付部331により受け付けられたアプリケーションの稼働情報に基づき、所定の学習モデルを用いてアプリケーションの稼働条件を推論する。なお、推論部332は、前述の学習モデルとして機械学習の学習モデルの範疇に含まれるモデルであれば、限定無く用いることができる。
【0076】
〔3.第2の実施形態〕
ここから、本実施形態の情報処理装置100により実現される第2の実施形態について説明を行う。第2の実施形態は、アプリケーションのリソース使用量が所定の閾値を超過した場合に、リソース使用量を抑制するための情報を外部装置300に出力し、更に外部装置300を介して管理者等に対して表示する実施形態である。なお、第2の実施形態と、第1の実施形態および後述の変形例とは、それぞれ個別に実施されてもよいし、組み合わせて実施されてもよい。
【0077】
〔3-1.第2の実施形態の概要〕
次に、
図8を用いて、第2の実施形態の概要を説明する。
図8は、第2の実施形態に係る情報処理の概要を示す図である。
【0078】
図8の情報処理装置100は、アプリケーション201Aと、アプリケーション202Aと、アプリケーション203Aとを稼働する。なお、情報処理装置100に含まれるその他のシステム構成は、
図2で説明した内容と同様のため省略する。
【0079】
また、
図8の例において、情報処理装置100のアプリケーション201Aは、撮像装置201により撮像される映像に基づいて画像解析を行う。また、情報処理装置100のアプリケーション202Aは、撮像装置202により撮像される映像に基づいて画像解析を行う。また、情報処理装置100のアプリケーション203Aは、撮像装置203により撮像される映像に基づいて画像解析を行う。
【0080】
情報処理装置100は、アプリケーションの稼働情報を収集する。具体的には、情報処理装置100は、各コンテナ(モジュール)個別のリソース使用量に関する情報(例えば、CPU使用率、GPU使用率、メモリ使用率等)を収集する(
図8の(1))。なお、
図8における情報処理装置100のリソース使用量は、CM Moduleが20%、アプリケーション201Aが60%、アプリケーション202Aが10%、アプリケーション203Aが10%である。
【0081】
情報処理装置100は、収集されたアプリケーションの稼働情報を用いて、所定の判定を実施する。具体的には、情報処理装置100は、アプリケーションの稼働情報に含まれるアプリケーションのリソース使用量が予め設定された所定の閾値を超過したか否かを判定する。例えば、所定の閾値として「リソース使用量30%」と定められている場合、情報処理装置100は、アプリケーション201Aのリソース使用量「60%」であるためリソース使用量の閾値を超えていると判定できる。
【0082】
情報処理装置100は、前述の判定結果に基づきアプリケーションのリソース使用量の抑制に関する情報を外部装置300に出力する(
図8の(2))。
【0083】
例えば、アプリケーション201Aを正常に稼働させる場合、情報処理装置100は、第1の提案情報を出力する。具体例として、情報処理装置100は、アプリケーション202Aとアプリケーション203Aを停止するという提案情報を出力してよい。また、情報処理装置100は、アプリケーション201Aを正常に稼働させる場合、アプリケーション201Aのカメラ設定値を調整(例えば、低解像度への変更等)するという提案情報を出力してよい。
【0084】
他方で、アプリケーション202Aとアプリケーション202Aとを正常に稼働させる場合、情報処理装置100は、第2の提案情報を出力する。具体例として、情報処理装置100は、アプリケーション201Aを停止するという提案情報を出力してよい。また、情報処理装置100は、アプリケーション202Aとアプリケーション202Aとを正常に稼働させる場合、アプリケーション202Aとアプリケーション202Aとのカメラ設定値を調整(例えば、低解像度への変更等)するという提案情報を出力してよい。
【0085】
外部装置300は、情報処理装置100から出力されたリソース使用量の抑制に関する情報を受け付け、管理者等の端末装置10に表示する(
図8の(3))。例えば
図8の例において、外部装置300は、第1の提案情報(
図8の(4))と第2の提案情報(
図8の(5))とを管理者等の端末装置10に表示する。なお、前述した第1の提案情報と第2の提案情報とはあくまで一例であり、情報処理装置100により出力され、更に外部装置300により表示されるリソース使用量の抑制に関する情報は、内容や数について特に限定されない。
【0086】
〔3-2.画像解析システムの構成〕
ここから、第2の実施形態に係る画像解析システム1について説明する。
図9は、第2の実施形態に係る画像解析システムの装置構成例を示す図である。
図9に示すように、画像解析システム1は、情報処理装置100と撮像装置200と、情報処理装置100と外部装置300とが所定のネットワークNWを介して接続された構成を有する。
【0087】
〔3-2-1.情報処理装置の構成〕
次に、第2の実施形態に係る画像解析システム1に含まれる情報処理装置100について説明する。
図9に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、第1の実施形態と同様の機能を有する機能部の説明については省略する。
【0088】
(記憶部120について)
第2の実施形態に係る記憶部120は、稼働情報記憶部121と、リソース使用量閾値記憶部122とを有する。
【0089】
(稼働情報記憶部121について)
第2の実施形態に係る稼働情報記憶部121は、アプリケーションの稼働情報として、後述の判定部133による所定の判定のための用いられるリソース使用量121cを記憶する。
【0090】
(リソース使用量121cについて)
リソース使用量121cは、情報処理装置100のリソース使用量に関する情報である。例えば、リソース使用量121cは、CPU使用率、GPU使用率、メモリ使用率等が含まれていてよい。なお、稼働情報記憶部121は、前述した各使用率に限定されず、リソース使用量に関する情報の範疇に含まれる情報であれば記憶することができる。
【0091】
(リソース使用量閾値記憶部122について)
リソース使用量閾値記憶部122は、アプリケーションのリソース使用量の閾値に関する情報を記憶する。例えば、リソース使用量閾値記憶部122は、後述の判定部133による所定の判定のために用いられるCPU使用率閾値122aと、GPU使用率閾値122bと、メモリ使用率閾値122cとを記憶できる。
【0092】
(CPU使用率閾値122aについて)
CPU使用率閾値122aは、情報処理装置100で稼働するアプリケーションごとのCPU使用率について予め設定された閾値である。例えば、CPU使用率閾値122aは、CPU使用率閾値の値として「30%」といった情報を含んでよい。なお、CPU使用率閾値122aは、前述したCPU使用率閾値の値に限定されず、必要に応じた値を設定できる。
【0093】
(GPU使用率閾値122bについて)
GPU使用率閾値122bは、情報処理装置100で稼働するアプリケーションごとのGPU使用率について予め設定された閾値である。例えば、GPU使用率閾値122bは、GPU使用率閾値の値として「30%」といった情報を含んでよい。なお、GPU使用率閾値122bは、前述したGPU使用率閾値の値に限定されず、必要に応じた値を設定できる。
【0094】
(メモリ使用率閾値122cについて)
メモリ使用率閾値122cは、情報処理装置100で稼働するアプリケーションごとのメモリ使用率について予め設定された閾値である。例えば、メモリ使用率閾値122cは、メモリ使用率閾値の値として「30%」といった情報を含んでよい。なお、メモリ使用率閾値122cは、前述したメモリ使用率閾値の値に限定されず、必要に応じた値を設定できる。
【0095】
(制御部130について)
第2の実施形態に係る制御部130は、収集部131と、判定部133と、出力部137とを有する。
【0096】
(収集部131について)
第2の実施形態に係る収集部131は、アプリケーションの稼働情報として情報処理装置100のリソース使用量121cを収集する。例えば、収集部131は、前述のリソース使用量121cとしてCPU使用率、GPU使用率、メモリ使用率等を収集できる。なお、収集部131は、前述した各使用率に限定されず、リソース使用量に関する情報の範疇に含まれる情報であれば記憶することができる。
【0097】
(判定部133について)
第2の実施形態に係る判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、所定の判定としてアプリケーションのリソース使用量が所定の閾値を超えたか否かを判定する。例えば、判定部133は、予め設定されたアプリケーションのCPU使用率閾値が「30%」に基づいて、対象のアプリケーションのCPU使用率が「30%」を超える場合に所定の閾値を超えたと判定できる。
【0098】
なお、判定部133は、前述したCPU使用率に関する判定結果のみならず、GPU使用率やメモリ使用率等に関する情報に基づいて、所定の閾値を超えたか否かを判定してもよい。
【0099】
(出力部137について)
出力部137は、判定部133によりリソース使用量が閾値を超えたと判定された場合に、リソース使用量の抑制に関する情報を外部装置300に出力する。具体的には、出力部137は、判定部133により対象のアプリケーションのCPU使用率が閾値を超えていると判定された場合、他のアプリケーションを停止や当該アプリケーションの設定の変更等のリソース使用量の抑制に関する情報を外部装置300に出力できる。
【0100】
なお、出力部137は、前述したCPU使用率に関する判定結果のみならず、GPU使用率やメモリ使用率等に関する判定結果に基づいて、リソース使用量の抑制に関する情報を外部装置300に出力してよい。
【0101】
〔3-2-2.撮像装置の構成〕
次に、第2の実施形態に係る画像解析システム1に含まれる撮像装置200について説明する。撮像装置200は、情報処理装置100で稼働するアプリケーションによる画像解析に用いられる映像を撮像する。そして、
図9に示すように、撮像装置200は、通信部210と、記憶部220と、制御部230とを有する。なお、第2の実施形態の撮像装置200は、第1の実施形態の撮像装置200と同様の機能を有するため、各機能部の詳細な説明については省略する。
【0102】
〔3-2-3.外部装置の構成〕
次に、第2の実施形態に係る画像解析システム1に含まれる外部装置300について説明する。
図9は、第2の実施形態に係る外部装置300の構成例を示す図である。
図9に示すように、外部装置300は、通信部310と、記憶部320と、制御部330とを有する。なお、第1の実施形態と同様の機能を有する機能部の説明については省略する。
【0103】
(記憶部320について)
第2の実施形態に係る記憶部320は、制御部330が外部装置300としての機能を実現するための処理プログラム、およびデータ等を記憶する。
【0104】
(制御部330について)
第2の実施形態に係る制御部330は、表示部333を有する。
【0105】
(表示部333について)
表示部333は、情報処理装置100から出力されたリソース使用量の抑制に関する情報を表示する。例えば、表示部333は、情報処理装置100から前述のリソース使用量の抑制に関する情報を受け付けた場合、管理者等の端末装置10に表示することができる。
【0106】
なお、表示部333は、前述したCPU使用率に関する判定結果のみならず、GPU使用率やメモリ使用率等に関する判定結果に基づいて、リソース使用量の抑制に関する情報を表示してよい。また、表示部333は、リソース使用量の抑制に関する情報に限定されず、必要に応じてその他の情報を端末装置10にリソース使用量の抑制のための提案情報等を表示することができる。
【0107】
〔4.処理手順〕
ここから、本実施形態に係る情報処理装置100による情報処理の手順について説明する。なお、実施形態は、第1の実施形態と第2の実施形態に分けられることから、処理手順を示すフローチャートについても実施形態ごとに説明する。なお、以下に記載する各ステップは、異なる順序で実行されてもよいし、省略される処理があってもよい。また、第1の実施形態と第2の実施形態、および後述の変形例の処理手順を適宜組み合わせて実施されてよい。
【0108】
(第1の実施形態)
図10は、第1の実施形態に係る情報処理手順の一例を示すフローチャートである。まず、収集部131は、アプリケーションの稼働情報を収集する(ステップS101)。判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、アプリケーションが所定のリソース使用量の閾値を超えたことによる停止であると判定する(ステップS102のYes)。
【0109】
さらに、外部装置300により推論が実施されない場合(ステップS103のNo)、情報処理装置100の推論部134は、アプリケーションの稼働情報を用いてアプリケーションの稼働条件の推論する(ステップS104)。
【0110】
他方、外部装置300により推論が実施される場合(ステップS103のYes)、送信部132は、アプリケーションの稼働情報を外部装置300に送信する(ステップS105)。外部装置300の推論部332は、受付部331により受け付けられたアプリケーションの稼働情報に基づきアプリケーションの稼働条件の推論する(ステップS106)。取得部135は、外部装置300の推論部332により推論されたアプリケーションの稼働条件を、外部装置300から取得する(ステップS107)。
【0111】
次に、設定部136は、情報処理装置100の推論部134または外部装置300の推論部332により推論されたアプリケーションの稼働条件を該当のアプリケーションを稼働するコンテナに設定し(ステップS108)、工程を終了する。
【0112】
他方で、判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、アプリケーションが所定のリソース使用量の閾値を超えたことによる停止ではないと判定する(ステップS102のNo)。その場合は、そのまま工程を終了する。
【0113】
(第2の実施形態)
図11は、第2の実施形態に係る情報処理手順の一例を示すフローチャートである。まず、収集部131は、アプリケーションの稼働情報を収集する(ステップS201)。判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、アプリケーションのリソース使用量が所定の閾値を超過するか否かを判定する(ステップS202)。
【0114】
ここで、判定部133は、アプリケーションのリソース使用量が所定の閾値を超過していると判定する(ステップS202のYes)。その場合、出力部137は、アプリケーションのリソース使用量を抑制に関する情報を、外部装置300に出力する(ステップS203)。表示部333は、出力部137により出力されたアプリケーションのリソース使用量を抑制に関する情報を端末装置10に表示し(ステップS204)、工程を終了する。
【0115】
他方、判定部133は、アプリケーションのリソース使用量が所定の閾値を超過していないと判定する(ステップS203のNo)。その場合は、そのまま工程を終了する。
【0116】
〔5.変形例〕
ここから、本実施形態の情報処理装置100により実現される変形例について説明を行う。変形例は、予め設定された条件に基づいてアプリケーションの動作、またはアプリケーションもしくはデバイスを停止する実施形態である。
【0117】
変形例は、「第1の変形例:アプリケーションの優先度に基づくアプリケーションの推論の停止」と、「第2の変形例:アプリケーションの優先度に基づくアプリケーションまたはモジュールの停止」と、「第3の変形例:カメラの優先度に基づく対象のカメラの停止」とに分けられる。なお、変形例はそれぞれ単独で実施されてもよいし、複数の変形例を組み合わせて実施されてもよい。また、変形例に係る実施形態は、前述の第1の実施形態または第2の実施形態と複数組み合わせて実施されてもよい。
【0118】
〔5-1.変形例の概要〕
ここで、変形例の概要について説明する。変形例は、アプリケーションのリソース使用量が所定の閾値を超過した場合に、予め設定されたアプリケーションの優先度に基づき対象のアプリケーションの推論、もしくはアプリケーションまたはモジュールを停止する実施形態である。さらに、変形例は、アプリケーションのリソース使用量が所定の閾値を超過した場合に、予め設定されたカメラの優先度に基づきカメラを停止する実施形態である。
【0119】
〔5-1-1.第1の変形例〕
次に、
図12を用いて、「第1の変形例:アプリケーションの優先度に基づくアプリケーションの推論の停止」について説明する。
図12は、第1の変形例に係る情報処理の概要を示す図である。なお、
図12から
図14における、画像解析システム1の処理は、
図3の内容と同様のため省略する。
【0120】
図12に示す第1の変形例では、予め設定されたアプリ優先度123aに基づいて、対象となるアプリケーションの推論を停止する。具体的には、情報処理装置100は、アプリ優先度123aに含まれる「優先度A」が「アプリケーション201A」、「優先度B」が「アプリケーション202A,アプリケーション203A」という情報に基づき対象のアプリケーションの推論を停止する。例えば、情報処理装置100は、前述の優先度に基づきアプリケーション202Aとアプリケーション203Aの推論を停止してよい。
【0121】
〔5-1-2.第2の変形例〕
次に、
図13を用いて、「第2の変形例:アプリケーションの優先度に基づくアプリケーションまたはモジュールの停止」について説明する。
図13は、第2の変形例に係る情報処理の概要を示す図である。
【0122】
図13に示す第2の変形例では、
図12と同様に予め設定されたアプリ優先度123aに基づいて、対象となるアプリケーション、またはアプリケーションの稼働するモジュールを停止する。
【0123】
具体的には、情報処理装置100は、アプリ優先度123aに含まれる「優先度A」が「アプリケーション201A」、「優先度B」が「アプリケーション202A,アプリケーション203A」という情報に基づき対象のアプリケーションまたはモジュールを停止する。例えば、情報処理装置100は、前述の優先度に基づき、アプリケーション202Aとアプリケーション203A、またはアプリケーション202Aとアプリケーション203Aのモジュールを停止してよい。
【0124】
〔5-1-3.第3の変形例〕
次に、
図14を用いて、「第3の変形例:カメラの優先度に基づく対象のカメラの停止」について説明する。
図14は、第3の変形例に係る情報処理の概要を示す図である。
【0125】
図14に示す第3の変形例では、予め設定されたカメラ優先度123bに基づいて、対象となるカメラ(撮像装置200)を停止する。具体的には、情報処理装置100は、カメラ優先度123bに含まれる「優先度A」が「撮像装置201」、「優先度B」が「撮像装置202」、「優先度C」が「撮像装置203」という情報に基づき対象の撮像装置200を停止する。例えば、情報処理装置100は、前述の優先度に基づき、撮像装置202と撮像装置203とを停止してよい。
【0126】
〔5-2.画像解析システムの構成〕
次に、変形例に係る画像解析システム1について説明する。
図15は、変形例に係る画像解析システム1の構成例を示す図である。
図15に示すように、変形例に係る画像解析システム1は、情報処理装置100と撮像装置200と、情報処理装置100と外部装置300とが所定のネットワークNWを介して接続された構成を有する。
【0127】
〔5-2-1.情報処理装置の構成〕
次に、変形例に係る画像解析システム1に含まれる情報処理装置100について説明する。
図15に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、変形例に係る情報処理装置100は、第1の実施形態と同様の機能で実現可能である。そのため、本項目では、第1の実施形態の情報処理装置100と同様の機能部については説明を省略する。
【0128】
(記憶部120について)
変形例に係る記憶部120は、稼働情報記憶部121と、リソース使用量閾値記憶部と、稼働条件記憶部123とを有する。
【0129】
(リソース使用量閾値記憶部122について)
変形例に係るリソース使用量閾値記憶部122は、アプリケーションのリソース使用量の閾値に関する情報を記憶する。例えば、リソース使用量閾値記憶部122は、後述の判定部133による所定の判定のために用いられるCPU使用率閾値122aと、GPU使用率閾値122bと、メモリ使用率閾値122cとを記憶できる。なお、変形例に係るリソース使用量閾値記憶部122は、実施形態2と同様の機能を有するため詳細な説明は省略する。
【0130】
(稼働条件記憶部123について)
変形例に係る稼働条件記憶部123は、後述の判定部133による判定のために用いられる各アプリケーションまたはカメラ(撮像装置200)の優先度を記憶する。具体的には、稼働条件記憶部123は、アプリ優先度123aとカメラ優先度123bとを記憶する。
【0131】
(アプリ優先度123aについて)
アプリ優先度123aは、アプリケーションごとに予め設定されるアプリケーションの優先度に関する情報である。なお、ここでいうアプリケーションごとの優先度とは、機能や役割の重要度に基づき設定されるアプリケーションごとの稼働および機能維持等の優先度である。
【0132】
例えば
図12に示す通り、アプリ優先度123aは、「優先度」と「アプリケーション名」といった項目を含んでよい。
【0133】
(カメラ優先度123bについて)
カメラ優先度123bは、カメラ(撮像装置200)ごとに予め設定されるカメラの優先度に関する情報である。なお、ここでいうカメラ(撮像装置200)ごとの優先度とは、機能や役割の重要度に基づき設定されるカメラ(撮像装置200)ごとの稼働および機能維持等の優先度である。
【0134】
例えば
図14に示す通り、カメラ優先度123bは、「優先度」と「カメラ名」といった項目を含んでよい。
【0135】
(制御部130について)
変形例に係る制御部130は、収集部131と、判定部133と、停止部138とを有する。
【0136】
(判定部133について)
変形例に係る判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、所定の判定としてアプリケーションのリソース使用量が所定の閾値を超えたか否かを判定する。なお、判定部133は、前述したCPU使用率に関する判定結果のみならず、GPU使用率やメモリ使用率等に関する情報に基づいて、所定の閾値を超えたか否かを判定してもよい。
【0137】
(停止部138について)
停止部138は、判定部133の判定結果に基づき、アプリケーションと、モジュールと、カメラの1つまたは複数の組み合わせを停止する。
【0138】
具体的には、停止部138は、判定部133によりアプリケーションのリソース使用量が所定の閾値を超えたと判定された場合、アプリ優先度123aに基づいてアプリケーションの推論、もしくはアプリケーションまたはモジュールを停止する。例えば、停止部138は、アプリ優先度123aに含まれるアプリケーション201Aの優先度が「優先度A」という条件に基づき、アプリケーション202Aおよびアプリケーション203Aの推論、もしくはアプリケーションまたはモジュール自体を停止してよい。
【0139】
他方、停止部138は、判定部133によりアプリケーションのリソース使用量が所定の閾値を超えたと判定された場合、カメラ優先度123bに基づいて、対象のカメラ(撮像装置200)を停止する。例えば、停止部138は、カメラ優先度123bに含まれる撮像装置201の優先度が「優先度A」という条件に基づき、撮像装置202および撮像装置203自体を停止してよい。
【0140】
〔5-2-2.撮像装置の構成〕
次に、変形例に係る画像解析システム1に含まれる撮像装置200について説明する。変形例の撮像装置200は、情報処理装置100で稼働するアプリケーションによる画像解析に用いられる映像を撮像する。そして、
図15に示すように、撮像装置200は、通信部210と、記憶部220と、制御部230とを有する。なお、変形例の撮像装置200は、第1の実施形態の撮像装置200と同様の機能を有するため、各機能部の詳細な説明については省略する。
【0141】
〔5-2-3.外部装置の構成〕
次に、変形例に係る画像解析システム1に含まれる外部装置300について説明する。
図15に示すように、外部装置300は、通信部310と、記憶部320と、制御部330とを有する。なお、変形例に係る外部装置300は、表示部333を有さない点を除いて第2の実施形態と同様の機能で実現可能である。そのため、外部装置300についての詳細な説明は省略する。また、外部装置300は、情報処理装置100の判定部133と同様の機能を有する場合に、情報処理装置100の代わりに所定の判定処理を行ってもよい。
【0142】
〔5-3.変形例の処理手順〕
ここから、変形例の処理手順について説明する。
図16は、変形例に係る情報処理手順の一例を示すフローチャートである。なお、以下に記載する各ステップは、異なる順序で実行されてもよいし、省略される処理があってもよい。また、第1の実施形態と第2の実施形態、および変形例の処理手順を適宜組み合わせて実施されてよい。
【0143】
まず、収集部131は、アプリケーションの稼働情報を収集する(ステップS301)。判定部133は、収集部131により収集されたアプリケーションの稼働情報に基づき、アプリケーションのリソース使用量が所定の閾値を超過するか否かを判定する(ステップS302)。
【0144】
ここで、判定部133は、アプリケーションのリソース使用量が所定の閾値を超過していると判定する(ステップS302のYes)。その場合、停止部138は、対象のアプリケーションとモジュールとカメラとの少なくともいずれか1つを停止して(ステップS303)、工程を終了する。
【0145】
他方、判定部133は、アプリケーションのリソース使用量が所定の閾値を超過していないと判定する(ステップS302のNo)。その場合は、そのまま工程を終了する。
【0146】
〔6.効果〕
ここから、本実施形態の情報処理装置100が提供する効果について説明する。まず、先だって
図17を用いて従来技術の課題について、補足して説明を行う。
図17は、本実施形態に係る従来技術の課題の一例を示す図である。
【0147】
図17では、CM Moduleと、アプリケーション201Aと、アプリケーション203Aとの消費リソース量(13a、13c、13d)は増加している。他方、アプリケーション202Aの消費リソース量(13b)は減少している。そのため、CM Moduleが「処理FPSの低下(14a)」、アプリケーション201Aとアプリケーション203Aとが「画像解析精度の低下(14b、14d)」、アプリケーション202Aが「停止(14c)」という状況となっている。
【0148】
このように、消費リソース量の増加によるリソース使用量のひっ迫により管理者等が望まない事象が発生した場合でも、どのモジュールやアプリケーションがリソース使用量の削減におけるボトルネックとなっているかを判断することが困難であった。また、管理者等の操作によりボトルネックとなるモジュールが特定されたとしても、ボトルネックとなるモジュールに対するリソース使用量抑制の設定を、管理者等が適切なタイミングおよび方法で実施することが難しい場合があった。
【0149】
そこで、本実施形態の情報処理装置100は、所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、該分析の結果についての情報提供を行う。情報処理装置100の判定部133は、アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定する。情報処理装置100の推論部134は、アプリケーションの稼働情報に基づき、学習モデルを用いてアプリケーションの稼働条件を推論する。情報処理装置100の設定部136は、アプリケーションが停止した場合に、リソース使用量が所定の前記閾値を超過したという判定部133の判定結果に基づきアプリケーションの稼働条件を設定する。
【0150】
これにより、情報処理装置100は、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とする、という効果を提供する。また、情報処理装置100は、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とすることができるため、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0151】
具体的には、情報処理装置100は、アプリケーションの稼働情報を収集し、管理者等に当該情報を提供することにより、消費リソース量が増加によるリソース使用量のひっ迫により管理者等が望まない事象が発生した場合でも、どのモジュールやアプリケーションがボトルネックとなっているかを管理者等が判断することを容易とする、という効果を提供する。
【0152】
さらに、情報処理装置100は、アプリケーションの稼働情報に基づき推論されたリソース使用量を抑制する条件が含まれたアプリケーションの稼働条件を、アプリケーションの稼働状況に併せて設定する。それにより、情報処理装置100は、リソース使用量増加のボトルネックとなっているアプリケーションのリソース量削減を可能とする、という効果を提供する。
【0153】
また、情報処理装置100の送信部132は、収集されたアプリケーションの稼働情報を、所定の外部装置300に送信する。外部装置300の推論部332は、複数の情報処理装置100から受け付けた前述のアプリケーションの稼働情報を用いて、アプリケーションの稼働条件を推論する。
【0154】
情報処理装置100の取得部135は、外部装置300により推論されたアプリケーションの稼働条件を外部装置300から取得する。設定部136は、判定部133の判定結果に基づいて、外部装置300から取得されたアプリケーションの稼働条件を設定する。そのため、情報処理装置100は、複数の情報処理装置100から提供されたアプリケーションの稼働情報に基づくより精度の高い推論結果に基づいて、アプリケーションの稼働条件の設定が可能となる、という効果を提供する。
【0155】
さらに、情報処理装置100の判定部133は、アプリケーションのリソース使用量が所定の閾値を超えたか否かを判定する。情報処理装置100の出力部137は、判定部133によりリソース使用量が閾値を超えたと判定された場合に、リソース使用量の抑制に関する情報を出力する。そして、情報処理装置100の管理者等は、出力されたソース使用量の抑制に関する情報に基づき、撮像装置200の撮像条件やアプリケーションの稼働条件を変更することができる。そのため、情報処理装置100は、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とする、という効果を提供する。
【0156】
また、情報処理装置100の停止部138は、判定部133の判定結果に基づき、アプリケーションと、モジュールと、カメラデバイスの1つまたは複数の組み合わせを停止する。そのため、情報処理装置100は、装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とする、という効果を提供する。
【0157】
〔7.ハードウェア構成〕
前述してきた画像解析システム1に含まれる情報処理装置100と撮像装置200は、例えば、
図18に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。
図18は、本実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(通信I/F)1500、入出力インターフェイス(入出力I/F)1600、およびメディアインターフェイス(メディアI/F)1700を有する。
【0158】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0159】
HDD1400は、CPU1100によって実行されるプログラム、および係るプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワークNWを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークNWを介して他の機器へ送信する。
【0160】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、およびキーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータについて入出力インターフェイス1600を介して出力装置へ出力する。
【0161】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、係るプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0162】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークNWを介してこれらのプログラムを取得してもよい。
【0163】
また、例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。
【0164】
〔8.その他〕
また、上記各実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0165】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0166】
また、上記各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0167】
以上、本実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0168】
また、前述してきた「部(section、module、unit)」は、「手段」や「回路」等に読み替えることができる。例えば、選択部は、選択手段や選択回路に読み替えることができる。
【符号の説明】
【0169】
10,10A,10B,10C 端末装置
11a,11b モデル
12,12a,12b,12c,12d 人物
100,100A,100B 情報処理装置
110,210,310 通信部
120,220,320 記憶部
121 稼働情報記憶部
121a,321a 処理FPS
121b,321b カメラ設定値
121c,321c リソース使用量
122 リソース使用量閾値記憶部
122a CPU使用率閾値
122b GPU使用率閾値
122c メモリ使用率閾値
123 稼働条件記憶部
123a アプリ優先度
123b カメラ優先度
130,230,330 制御部
131 収集部
132 送信部
133 判定部
134,332 推論部
135 取得部
136 設定部
137 出力部
138 停止部
200,201,202,203 撮像装置
201a,202a,203a モジュール
201A,202A,203A アプリケーション
300 外部装置
331 受付部
333 表示部
900 ネットワークハブ
1000 コンピュータ
1100 CPU
1200 RAM
1300 ROM
1400 HDD
1500 通信インターフェイス
1600 入出力インターフェイス
1700 メディアインターフェイス
1800 記録媒体
【要約】
【課題】装置のリソース使用量が逼迫した場合にアプリケーションの停止を防ぐための対処の実施を容易とする。
【解決手段】情報処理装置は、所定の撮像手段により撮像された映像についてアプリケーションを用いて分析し、分析の結果についての情報提供を行う情報処理装置であって、アプリケーションの稼働情報に基づき、所定の判定としてリソース使用量が所定の閾値を超過したか否かを判定し、アプリケーションの稼働情報に基づき、学習モデルを用いてアプリケーションの稼働条件を推論し、アプリケーションが停止した場合に、リソース使用量が所定の閾値を超過したという判定部の判定結果に基づきアプリケーションの稼働条件を設定する。
【選択図】
図5