(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023148287
(43)【公開日】2023-10-13
(54)【発明の名称】情報処理装置、情報処理システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231005BHJP
G08G 1/00 20060101ALI20231005BHJP
G08G 1/01 20060101ALI20231005BHJP
G06F 8/656 20180101ALI20231005BHJP
【FI】
G06N20/00
G08G1/00 J
G08G1/01 A
G06F8/656
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022056221
(22)【出願日】2022-03-30
(71)【出願人】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100116942
【弁理士】
【氏名又は名称】岩田 雅信
(74)【代理人】
【識別番号】100167704
【弁理士】
【氏名又は名称】中川 裕人
(72)【発明者】
【氏名】熊谷 嘉博
(72)【発明者】
【氏名】下村 宗弘
【テーマコード(参考)】
5B376
5H181
【Fターム(参考)】
5B376CA22
5B376FA13
5H181AA01
5H181BB04
5H181BB20
5H181CC04
5H181DD01
5H181EE02
5H181EE11
(57)【要約】
【課題】目的に応じた適切な人口知能モデルをエッジ側情報処理装置で用いることができる環境を提供する。
【解決手段】本技術に係る情報処理装置は、人工知能モデルを用いて推論処理を行うエッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を備えたものである。
【選択図】
図4
【特許請求の範囲】
【請求項1】
人工知能モデルを用いて推論処理を行うエッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、
目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、
前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を備えた
情報処理装置。
【請求項2】
前記情報取得部は、前記選択された人工知能モデルを用いた推論結果を前記エッジ側情報処理装置から取得し、
前記推論結果を用いて前記目的情報に応じた処理を行う対応処理部を備えた
請求項1に記載の情報処理装置。
【請求項3】
前記目的情報は、前記推論処理の推論結果の使用目的についての情報とされた
請求項1に記載の情報処理装置。
【請求項4】
前記センサに関する情報は、センサの種類についての情報とされた
請求項3に記載の情報処理装置。
【請求項5】
前記センサに関する情報は、センシング情報としての位置情報とされた
請求項3に記載の情報処理装置。
【請求項6】
前記使用目的は、地域ごとに異なる情報を取得する目的とされた
請求項5に記載の情報処理装置。
【請求項7】
前記使用目的は、道路状況についての情報を得る目的とされた
請求項3に記載の情報処理装置。
【請求項8】
前記使用目的は、車両に使用する燃料についての価格情報を得る目的とされた
請求項3に記載の情報処理装置。
【請求項9】
サーバ装置にセンサに関する情報を送信する送信処理部と、
目的情報と前記送信したセンサに関する情報とに基づいて選択された人工知能モデルを受信する受信処理部と、
前記受信した人工知能モデルを用いた推論処理を行う推論処理部と、を備え、
前記送信処理部は、前記推論処理の推論結果を前記サーバ装置に送信する
情報処理装置。
【請求項10】
前記送信処理部は、起動時に前記センサに関する情報を送信する
請求項9に記載の情報処理装置。
【請求項11】
前記センサに関する情報は、センシング情報としての位置情報とされた
請求項9に記載の情報処理装置。
【請求項12】
サーバ装置と、エッジ側情報処理装置と、を備え、
前記サーバ装置は、
前記エッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、
目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、
前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を有し、
前記エッジ側情報処理装置は、
前記サーバ装置に前記センサに関する情報を送信する送信処理部と、
前記選択された人工知能モデルを受信する受信処理部と、
前記受信した人工知能モデルを用いた推論処理を行う推論処理部と、を有した
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、人工知能モデルを扱う情報処理装置の技術分野に関する。
【背景技術】
【0002】
人工知能モデルは日々進歩しているが、人工知能モデルが展開されるカメラ装置などの情報処理装置においては、手動で更新作業を行わない限り古い人工知能モデルによって推論処理が行われる。
人工知能モデルの更新は重要な問題であり、例えば下記特許文献1においては、情報処理装置内で異なるバージョンの人工知能モデルをシームレスに切り替えるための構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、情報処理装置によっては、時と場合に応じて行いたい推論処理や得たい推論結果が異なることもある。そのような場合には、人工知能モデルのバージョンアップだけでなく異なる種類の人工知能モデルへ切り替えることが必要となる。
【0005】
本技術はこのような問題に鑑みて為されたものであり、目的に応じた適切な人口知能モデルをエッジ側情報処理装置で用いることができる環境を提供することを目的とする。
【課題を解決するための手段】
【0006】
本技術に係る情報処理装置は、人工知能モデルを用いて推論処理を行うエッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を備えたものである。
これにより、エッジ側情報処理装置から得られる情報に基づいて、得たい情報を取得するための人工知能モデルを選択して展開することが可能となる。
【図面の簡単な説明】
【0007】
【
図2】クラウド側情報処理装置が備えるマーケットプレイス機能を介してAIモデルやAIアプリケーションの登録やダウンロードを行う各機器について説明するための図である。
【
図3】マーケットプレイス機能を介してAIモデルやAIアプリケーションの登録やダウンロードを行う際に各装置が実行する処理の流れの一例を示した図である。
【
図4】AIアプリケーションやAIモデルの展開を行う際に各装置が実行する処理の流れの一例を示した図である。
【
図5】カメラにおいて実行される処理の一例を示したフローチャートである。
【
図6】クラウド側情報処理装置において実行される処理の一例を示したフローチャートである。
【
図7】カメラにおいて実行される処理の別の例を示したフローチャートである。
【
図8】クラウド側情報処理装置において実行される処理の別の例を示したフローチャートである。
【
図9】カメラにおいて実行される処理の更に別の例を示したフローチャートである。
【
図10】クラウド側情報処理装置において実行される処理の更に別の例を示したフローチャートである。
【
図11】クラウド側の情報処理装置とエッジ側の情報処理装置の接続態様について説明するための図である。
【
図12】クラウド側情報処理装置の機能ブロック図である。
【
図13】カメラサービス機能の構成例を示す図である。
【
図14】カメラの内部構成例を示したブロック図である。
【
図16】カメラのソフトウェア構成を示すブロック図である。
【
図17】コンテナ技術を用いた場合のコンテナの動作環境を示すブロック図である。
【
図18】情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図19】その他の説明における処理の流れを説明する図である。
【
図20】マーケットプレイスにログインするためのログイン画面の一例を示す図である。
【
図21】マーケットプレイスを利用する各開発者に提示される開発者向け画面の一例を示す図である。
【
図22】マーケットプレイスを利用するアプリケーション利用ユーザに提示される利用者向け画面の一例を示す図である。
【発明を実施するための形態】
【0008】
以下、添付図面を参照し、本技術に係る情報処理装置の実施の形態を次の順序で説明する。
<1.情報処理システムの全体構成>
<2.AIモデル及びAIアプリケーションの登録>
<3.AIアプリケーション及びAIモデルの展開>
<4.システムの機能概要>
<5.撮像装置の構成>
<6.情報処理装置のハードウェア構成>
<7.その他>
<8.マーケットプレイスの画面例>
<9.まとめ>
<10.本技術>
【0009】
<1.情報処理システムの全体構成>
図1は、本技術に係る実施形態としての情報処理システム100の概略構成例を示したブロック図である。
図示のように情報処理システム100は、クラウドサーバ1と、ユーザ端末2と、複数のカメラ3と、フォグサーバ4と、管理サーバ5とを備えている。本例では、クラウドサーバ1、ユーザ端末2、フォグサーバ4、及び管理サーバ5は、例えばインターネット等とされたネットワーク6を介した相互通信を行うことが可能に構成されている。
【0010】
クラウドサーバ1、ユーザ端末2、フォグサーバ4、及び管理サーバ5は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)を有するマイクロコンピュータを備えた情報処理装置として構成されている。
【0011】
ここで、ユーザ端末2は、情報処理システム100を用いたサービスの受け手であるユーザによって使用されることが想定される情報処理装置である。また、管理サーバ5は、サービスの提供者によって使用されることが想定される情報処理装置である。
【0012】
各カメラ3は、例えばCCD(Charge Coupled Device)型イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)型イメージセンサ等のイメージセンサを備え、被写体を撮像してデジタルデータとしての画像データ(撮像画像データ)を得る。
カメラ3が備えるセンサは、例えば、RGB画像を撮像するRGBセンサや、距離画像を出力する測距センサなどである。
また、後述するように各カメラ3は、撮像画像についてAI(Artificial Intelligence:人工知能)を用いた処理(例えば、画像認識処理や画像検出処理など)を行う機能も有している。以降の説明においては、画像認識処理や画像検出処理など、画像に対する各種の処理を単に「画像処理」と記載する。例えば、AI(或いはAIモデル)を用いた画像に対する各種の処理は「AI画像処理」と記載する。
各カメラ3は、フォグサーバ4とデータ通信可能に構成され、例えばAIを用いた処理(画像処理など)の結果を示す処理結果情報等の各種データをフォグサーバ4に送信したり、フォグサーバ4から各種データを受信したりすることが可能とされる。
【0013】
ここで、
図1に示す情報処理システム100については、例えば、各カメラ3の画像処理で得られる処理結果情報に基づき、フォグサーバ4又はクラウドサーバ1が被写体の分析情報を生成し、生成した分析情報をユーザ端末2を介してユーザに閲覧させるといった用途が想定される。
【0014】
この場合、各カメラ3の用途としては、車載カメラを挙げることができる。車載カメラとしてのカメラ3は、車外について撮像した撮像画像をAIモデルに入力することにより、道路状況(交通量や路面状況)についての情報を得る。この場合の分析情報としては、地域ごとの路面状況の分析情報や、渋滞についての分析情報などである。
なお、「路面状況」とは、道路の路面の状況だけでなく街路樹が倒壊している状況や道路脇の排水孔から水があふれている状況などを含んでいてもよい。
また、ガソリンスタンドの店外に掲示されている燃料価格を撮像画像から検出するAIモデルを用いることにより、当該カメラ3を搭載した車両が走行している地域の燃料価格についての情報を得ることができる。この場合の分析情報としては、地域ごとの燃料価格の分析情報である。
【0015】
また、各カメラ3の用途としては、各種の監視カメラの用途が考えられる。例えば、店舗やオフィス、住宅等の屋内についての監視カメラ、駐車場や街中等の屋外を監視するための監視カメラ(交通監視カメラ等を含む)、FA(Factory Automation)やIA(Industrial Automation)における製造ラインの監視カメラ、車内や車外を監視する監視カメラ等の用途を挙げることができる。
【0016】
例えば、店舗における監視カメラの用途であれば、複数のカメラ3を店舗内の所定位置にそれぞれ配置し、ユーザが来店客の客層(性別や年齢層など)や店舗内での行動(動線)等を確認できるようにすることが考えられる。その場合、上記した分析情報としては、これら来店客の客層の情報や店舗内での動線の情報及び精算レジにおける混雑状態の情報(例えば、精算レジの待ち時間)等を生成することが考えられる。
或いは、交通監視カメラの用途であれば、各カメラ3を道路近傍の各位置に配置し、ユーザが通過車両についてのナンバー(車両番号)や車の色、車種等の情報を認識できるようにすることが考えられ、その場合、上記した分析情報としては、これらナンバーや車の色、車種等の情報を生成することが考えられる。
【0017】
また、駐車場に交通監視カメラを用いた場合は、駐車されている各車両を監視できるようにカメラを配置し、不審な行動をしている不審者が各車両の周りにいないかなどを監視し、不審者がいた場合には、不審者がいることやその不審者の属性(性別や年齢層)などを通知することが考えられる。
更に、街中や駐車場の空きスペースを監視して、ユーザに車を駐車できるスペースの場所を通知することも考えられる。
【0018】
フォグサーバ4は、例えば、車載カメラとしてのカメラ3の例においては、地域ごとに配置されることが想定される。フォグサーバ4は、所定の地域を走行中の車両に搭載されたカメラ3と、クラウドサーバ1との情報のやりとりを中継する。このように、地域ごとにフォグサーバ4をもうけることで、複数のカメラ3からの送信データをクラウドサーバ1が直接受信する必要がなくなり、クラウドサーバ1の処理負担軽減が図られる。
【0019】
また、監視カメラとしてのカメラ3の例においては、フォグサーバ4は、例えば上記した店舗の監視用途においては各カメラ3と共に監視対象の店舗内に配置される等、監視対象ごとに配置されることが想定される。このように店舗などの監視対象ごとにフォグサーバ4を設けることで、監視対象における複数のカメラ3からの送信データをクラウドサーバ1が直接受信する必要がなくなり、クラウドサーバ1の処理負担軽減が図られる。
【0020】
なお、フォグサーバ4は、監視対象とする店舗が複数あり、それら店舗が全て同一系列に属する店舗である場合には、店舗ごとに設けるのではなく、それら複数の店舗につき一つ設けることも考えられる。すなわち、フォグサーバ4は、監視対象ごとに一つ設けることに限定されず、複数の監視対象に対して一つのフォグサーバ4を設けることも可能なものである。
なお、クラウドサーバ1もしくは、各カメラ3側に処理能力があるなどの理由で、フォグサーバ4の機能をクラウドサーバ1もしくは各カメラ3側に持たせることができる場合は、情報処理システム100においてフォグサーバ4を省略し、各カメラ3を直接ネットワーク6に接続させて、複数のカメラ3からの送信データをクラウドサーバ1が直接受信するようにしてもよい。
【0021】
なお、カメラ3が車載カメラである場合には、例えば、フォグサーバ4は、車両メーカが管理する装置とされることが想定される。
【0022】
上記各種の装置は、以下の説明において、クラウド側情報処理装置とエッジ側情報処理装置とに大別することができる。
クラウド側情報処理装置にはクラウドサーバ1や管理サーバ5が該当し、複数のユーザによる利用が想定されるサービスを提供する装置群である。
【0023】
また、エッジ側情報処理装置にはカメラ3とフォグサーバ4が該当し、クラウドサービスを利用するユーザによって用意される環境内に配置される装置群として捉えることが可能である。
【0024】
但し、クラウド側情報処理装置とエッジ側情報処理装置の双方が同じユーザによって用意された環境下にあってもよい。
【0025】
なお、フォグサーバ4は、オンプレミスサーバとされていてもよい。
【0026】
<2.AIモデル及びAIアプリケーションの登録>
上述したように、情報処理システム100においては、エッジ側の情報処理装置であるカメラ3においてAI画像処理を行い、クラウド側の情報処理装置であるクラウドサーバ1において、エッジ側におけるAI画像処理の結果情報(例えばAIを用いた画像認識処理の結果情報)を用いて高度なアプリケーション機能を実現するものである。
【0027】
ここで、クラウド側の情報処理装置であるクラウドサーバ1(或いはフォグサーバ4を含む)にアプリケーション機能を登録する手法は各種考えられる。
その一例について、
図2を参照して説明する。
なお、フォグサーバ4については
図2における図示を省略しているが、フォグサーバ4を備えた構成とされてもよい。その際におけるフォグサーバ4は、エッジ側の機能の一部を負担してもよい。
【0028】
上述したクラウドサーバ1と管理サーバ5は、クラウド側の環境を構成する情報処理装置である。
また、カメラ3はエッジ側の環境を構成する情報処理装置である。
【0029】
なお、カメラ3の全体的な制御を行う制御部を備えた装置としてカメラ3を捉えると共に、撮像画像に対するAI画像処理を含む各種の処理を行う演算処理部を備えたイメージセンサISとしての別の装置を備えた装置としてカメラ3を捉えることができる。即ち、エッジ側情報処理装置であるカメラ3の内部に別のエッジ側情報処理装置であるイメージセンサISが搭載されていると捉えてもよい。
【0030】
また、クラウド側の情報処理装置が提供する各種のサービスを利用するユーザが使用するユーザ端末2としては、AI画像処理に用いられるアプリケーションを開発するユーザが使用するアプリケーション開発者端末2Aと、アプリケーションを利用するユーザが使用するアプリケーション利用者端末2Bと、AI画像処理に用いられるAIモデルを開発するユーザが使用するAIモデル開発者端末2Cなどがある。
なお、もちろん、アプリケーション開発者端末2AはAI画像処理を用いないアプリケーションを開発するユーザによって使用されてもよい。
【0031】
クラウド側の情報処理装置には、AIによる学習を行うための学習用データセットが用意されている。AIモデルを開発するユーザは、AIモデル開発者端末2Cを利用してクラウド側の情報処理装置と通信を行い、これらの学習用データセットをダウンロードする。このとき、学習用データセットが有料で提供されてもよい。例えば、AIモデル開発者は、クラウド側の機能として用意されているマーケットプレイス(電子市場)に個人情報を登録することによりマーケットプレイスに登録された各種機能や素材の購入を可能にした状態で、学習用データセットの購入を行ってもよい。
【0032】
AIモデル開発者は、学習用データセットを用いてAIモデルの開発を行った後、AIモデル開発者端末2Cを用いて当該開発済みのAIモデルをマーケットプレイスに登録する。これにより、当該AIモデルがダウンロードされた際にAIモデル開発者にインセンティブが支払われるようにしてもよい。
【0033】
また、アプリケーションを開発するユーザは、アプリケーション開発者端末2Aを利用してマーケットプレイスからAIモデルをダウンロードして、当該AIモデルを利用したアプリケーション(以降、「AIアプリケーション」と記載)の開発を行う。このとき、前述したように、AIモデル開発者にインセンティブが支払われてもよい。
【0034】
アプリケーション開発ユーザは、アプリケーション開発者端末2Aを用いて当該開発済みのAIアプリケーションをマーケットプレイスに登録する。これにより、当該AIアプリケーションがダウンロードされた際にAIアプリケーションを開発したユーザにインセンティブが支払われるようにしてもよい。
【0035】
AIアプリケーションを利用するユーザは、アプリケーション利用者端末2Bを利用してマーケットプレイスからAIアプリケーション及びAIモデルを自身が管理するエッジ側の情報処理装置としてのカメラ3に展開(デプロイ)するための操作を行う。このとき、AIモデル開発者にインセンティブが支払われるようにしてもよい。
これにより、カメラ3においてAIアプリケーション及びAIモデルを用いたAI画像処理を行うことが可能となり、画像を撮像するだけでなくAI画像処理によって道路状況(路面状況や渋滞状況)の取得や、燃料価格の取得、或いは来店客の検出や車両の検出を行うことが可能となる。
【0036】
ここで、AIアプリケーション及びAIモデルの展開とは、実行主体としての対象(装置)がAIアプリケーション及びAIモデルを利用することができるように、換言すれば、AIアプリケーションとしての少なくとも一部のプログラムを実行できるように、AIアプリケーションやAIモデルが実行主体としての対象にインストールされることを指す。
【0037】
また、カメラ3においては、AI画像処理によって、カメラ3で撮像された撮像画像から来店客の属性情報が抽出可能とされていてもよい。
これらの属性情報は、カメラ3からネットワーク6を介してクラウド側の情報処理装置に送信される。
【0038】
クラウド側の情報処理装置には、クラウドアプリケーションが展開されており、各ユーザは、ネットワーク6を介してクラウドアプリケーションを利用可能とされている。そして、クラウドアプリケーションの中には、道路状況や燃料価格情報を地図上に表示する地図アプリケーションや最適な経路情報を提供するナビゲーション用のアプリケーション、或いは、来店客の属性情報や撮像画像を用いて来店客の動線を分析するアプリケーションなどが用意されている。このようなクラウドアプリケーションは、アプリケーション開発ユーザなどによりアップロードされる。
【0039】
アプリケーション利用ユーザは、アプリケーション利用者端末2Bを用いて経路情報を閲覧するためのクラウドアプリケーションやナビゲーションを得るためのクラウドアプリケーションを利用することにより、運転に必要な情報や給油のために必要な情報を閲覧することが可能となる。また、アプリケーション利用ユーザは、アプリケーション利用者端末2Bを用いて動線分析のためのクラウドアプリケーションを利用することにより、自身の店舗についての来店客の動線分析を行い、解析結果を閲覧することが可能とされている。解析結果の閲覧とは、例えば、地図上に推奨の経路が重畳されて表示されることにより行われたり、店舗のマップ上に来店客の動線がグラフィカルに提示されることにより行われたりする。
また、動線分析の結果をヒートマップの形で表示され、来店客の密度などが提示されることにより解析結果の閲覧が行われてもよい。
また、それらの情報は、来店客の属性情報ごとに表示の仕分けがなされていてもよい。
【0040】
クラウド側のマーケットプレイスにおいては、ユーザごとに最適化されたAIモデルがそれぞれ登録されていてもよい。例えば、あるユーザが管理している店舗に配置されたカメラ3において撮像された撮像画像が適宜クラウド側の情報処理装置にアップロードされて蓄積される。
【0041】
クラウドの情報処理装置においては、アップロードされた撮像画像が一定枚数溜まるごとにAIモデルの再学習処理を行い、AIモデルを更新してマーケットプレイスに登録しなおす処理が実行される。
なお、AIモデルの再学習処理は、例えば、マーケットプレイス上でユーザがオプションとして選べるようにしてもよい。
【0042】
例えば、店舗内に配置されたカメラ3からの暗い画像を用いて再学習されたAIモデルが当該カメラ3に展開されることにより、暗い場所で撮像された撮像画像についての画像処理の認識率等を向上させることができる。また、店舗外に配置されたカメラ3からの明るい画像を用いて再学習されたAIモデルが当該カメラ3に展開されることにより、明るい場所で撮像された画像についての画像処理の認識率等を向上させることができる。
即ち、アプリケーション利用ユーザは、更新されたAIモデルを再度カメラ3に展開しなおすことにより、常に最適化された処理結果情報を得ることが可能となる。
なお、AIモデルの再学習処理については改めて後述する。
【0043】
また、クラウド側のマーケットプレイスにおいては、カメラごとに最適化されたAIモデルがそれぞれ登録されていてもよい。例えば、RGB画像を取得可能なカメラ3に対して適用されるAIモデルや、距離画像を生成する測距センサを備えたカメラ3に対して適用されるAIモデルなどが考えられる。
また、明るい時間帯に走行中の車両に搭載されたカメラ3で用いられるべきAIモデルとして明るい環境で車両や歩行者を撮像した画像を用いて学習されたAIモデルと、暗い時間帯に走行中の車両に搭載されたカメラ3で用いられるべきAIモデルとして暗い環境で車両や歩行者を撮像した画像を用いて学習されたAIモデルが、それぞれマーケットプレイスにおいて登録されていてもよい。
そしてこれらのAIモデルは再学習処理によって認識率が高められたAIモデルに適宜更新されることが望ましい。
【0044】
また、カメラ3からクラウド側の情報処理装置にアップロードされる情報(撮像画像など)に個人情報が含まれている場合には、プライバシーの保護の観点からプライバシーに関する情報を削除したデータがアップロードされるようにしてもよいし、プライバシーに関する情報が削除されたデータをAIモデル開発ユーザやアプリケーション開発ユーザが利用可能にしてもよい。
【0045】
上記した処理の流れをフローチャートにして
図3及び
図4に示す。
なお、クラウド側情報処理装置は、
図1におけるクラウドサーバ1や管理サーバ5などが該当する。
【0046】
AIモデル開発者がLCD(Liquid Crystal Display)或いは有機EL(Electro Luminescence)パネルなどよりなる表示部を有するAIモデル開発者端末2Cを用いてマーケットプレイスに登録されているデータセットの一覧を閲覧し所望のデータセットを選択したことに応じて、AIモデル開発者端末2CはステップS21で、当該選択されたデータセットのダウンロード要求をクラウド側情報処理装置に送信する。
【0047】
これを受けて、クラウド側情報処理装置では、ステップS1において、該要求を受け付け、ステップS2において、要求されたデータセットをAIモデル開発者端末2Cに送信する処理を行う。
【0048】
AIモデル開発者端末2Cでは、ステップS22において、データセットを受信する処理を行う。これにより、AIモデル開発者は、データセットを用いたAIモデルの開発が可能となる。
【0049】
AIモデル開発者がAIモデルの開発を終えた後、AIモデル開発者が開発済みのAIモデルをマーケットプレイスに登録するための操作を行う(例えば、AIモデルの名称や、そのAIモデルが置かれているアドレスなどを指定する)と、AIモデル開発者端末2Cは、ステップS23において、AIモデルのマーケットプレイスへの登録要求をクラウド側情報処理装置に送信する。
【0050】
これを受けて、クラウド側情報処理装置は、ステップS3において、該登録要求を受け付け、ステップS4において、AIモデルの登録処理を行うことによって、例えば、マーケットプレイス上でAIモデルを表示させることができる。これにより、AIモデル開発者以外のユーザがAIモデルのダウンロードをマーケットプレイスから行うことが可能となる。
【0051】
例えば、AIアプリケーションの開発を行おうとするアプリケーション開発者は、アプリケーション開発者端末2Aを用いてマーケットプレイスに登録されているAIモデルの一覧を閲覧する。アプリケーション開発者端末2Aは、アプリケーション開発者の操作(例えば、マーケットプレイス上のAIモデルの一つを選択する操作)に応じて、ステップS31において、当該選択されたAIモデルのダウンロード要求をクラウド側情報処理装置に送信する。
【0052】
クラウド側情報処理装置はステップS5において当該要求を受け付け、ステップS6においてAIモデルの送信をアプリケーション開発者端末2Aに対して行う。
【0053】
アプリケーション開発者端末2Aは、ステップS32において、AIモデルの受信を行う。これにより、アプリケーション開発者は、他者が開発したAIモデルを用いるAIアプリケーションの開発が可能となる。
【0054】
アプリケーション開発者がAIアプリケーションの開発を終えた後、AIアプリケーションをマーケットプレイスに登録するための操作(例えば、AIアプリケーションの名称やそのAIモデルが置かれているアドレスなどを指定する操作)を行うと、アプリケーション開発者端末2AはステップS33において、AIアプリケーションの登録要求をクラウド側情報処理装置に送信する。
【0055】
クラウド側情報処理装置は、ステップS7において、当該登録要求を受け付け、ステップS8において、AIアプリケーションの登録を行うことによって、例えば、マーケットプレイス上でAIアプリケーションを表示させることができる。これにより、アプリケーション開発者以外のユーザがAIアプリケーションをマーケットプレイス上で選択してダウンロードすることが可能となる。
【0056】
<3.AIアプリケーション及びAIモデルの展開>
図4に示すように、AIアプリケーションを利用しようとするユーザによって、アプリケーション利用者端末2BはステップS41において、目的選択を行う。目的選択では、選択された目的がクラウド側情報処理装置に送信される。
【0057】
ここで選択される目的は、例えば、災害が発生した際に選択される「路面状況の把握」や「渋滞状況の把握」、或いは、ガソリンの価格が気になるユーザによって選択される「地域ごとの燃料価格の把握」などである。
【0058】
選択された目的は、クラウド側情報処理装置に送信されることでクラウド側情報処理装置において設定される。クラウド側情報処理装置では、これ以降のAIモデルの選択において当該設定された目的情報を用いる。
なお、目的情報とは、例えば、カメラ3において行われる推論処理の結果情報についての使用目的を特定するための情報と換言することができる。例えば、推論処理の結果カメラ3において撮像された画像に事故車が撮像されていると推定された場合には、当該推論結果を用いて事故状況についての情報をアップデートしてユーザに提供する。このときの目的情報は、事故車についての推論結果の使用目的であり、事故状況についての情報のアップデート、或いは、事故状況の情報のユーザへの提供と言える。
【0059】
カメラ3は、ステップS51において、起動処理を行う。例えば、車載カメラとしてのカメラ3においては、車両のエンジンの始動に応じて起動処理が行われる。
【0060】
カメラ3はステップS52において、サーバ認証を要求する処理を行う。具体的には、カメラ3がAIモデルの更新等の処理を適切に行うために、当該カメラ3が正規の装置であることを認証してもらうために、装置の情報をクラウド側情報処理装置に送信する。
【0061】
これを受けて、クラウド側情報処理装置はステップS9において、認証処理を実行してその結果、即ち、認証可否についての情報をカメラ3に送信する。
【0062】
認証成功したカメラ3は、ステップS53において環境情報収集を行い、ステップS54において、取得した環境情報をクラウド側情報処理装置に送信する。
【0063】
ここで、カメラ3が収集する環境情報とは、例えば、カメラ3の型番や、カメラ3が備えるイメージセンサの種別の情報や、展開されているAIモデルのバージョンや、カメラ3の位置情報(車載カメラ3においては車両の位置情報とも言える)や、車両外部のセンシング情報である天候情報や明るさ情報などである。
【0064】
これらの情報は、クラウド側情報処理装置において目的に応じた最適なAIモデル等を選択するために用いられる。
【0065】
即ち、クラウド側情報処理装置はステップS10において、ステップS41に応じて設定された目的情報とカメラ3から受信した環境情報とに応じてAIアプリケーション及びAIモデルの選択を行う。
【0066】
クラウド側情報処理装置はステップS11において、AIアプリケーション及びAIモデルを展開する処理を行う。AIアプリケーション及びAIモデルの展開は、目的を達成するためのAIアプリケーションやAIモデルを構成する各SW(Software)コンポーネントを何れの装置に展開するかなどを踏まえて行われてもよい。即ち、必ずしもカメラ3にAIアプリケーションとAIモデルの全てを展開しなくてもよい。
【0067】
各SWコンポーネントは、後述するコンテナとされてもよいし、マイクロサービスとされてもよい。なお、SWコンポーネントは、ウェブアセンブリ(WebAssembly)技術を用いても実現可能である。
【0068】
クラウド側情報処理装置におけるAIアプリケーション及びAIモデルの展開に応じて、カメラ3は、ステップS55において、AIアプリケーション及びAIモデルの展開処理を行い、新たに展開されたAIアプリケーション及びAIモデルに切り替える処理を行う。これにより、カメラ3において撮像された撮像画像に対して新たなAI画像処理が可能となる。
【0069】
カメラ3は、ステップS56において、撮像を開始する。
【0070】
カメラ3は、ステップS57において対象物の検出を行う。対象物とは、例えば、路面状況の把握という目的であれば、路面に生じた亀裂や陥没、或いは路面に倒れた倒木などである。また、渋滞状況の把握という目的であれば、車両周囲の他車両や事故車両などである。また、地域ごとの燃料価格の把握という目的であれば、ガソリンスタンドの看板や燃料価格が表記された表示物などである。
【0071】
カメラ3はステップS58において、対象物の検出結果、即ち、推論結果をクラウド側情報処理装置に送信する。
【0072】
クラウド側情報処理装置では、ステップS12において、受信した推論結果に基づいて各種の情報をアップデートする。
【0073】
クラウド側情報処理装置は、ステップS13において、アップデートされた情報を提示する処理を行う。
これによって、例えばアプリケーション利用者端末2Bなどにおいて、アップデートされた情報をモニタなどに表示させる処理が行われる。
【0074】
図4の処理の流れを実現するためにカメラ3及びクラウド側情報処理装置において実行される処理についてのフローチャートを
図5及び
図6に示す。なお、
図4と重複する説明については適宜省略する。
【0075】
図5は路面状況の把握という目的に対してカメラ3の演算処理部が実行する処理のフローチャートである。
カメラ3は、ステップS51において起動処理を行い、続くステップS52においてサーバ認証要求を行う。
【0076】
カメラ3はステップS59において認証結果を受信する。なお、ステップS59において認証不可の結果を受信した場合には、その旨を運転者に通知してもよい。
【0077】
認証が成功した場合、カメラ3は、ステップS53において環境情報を収集し、ステップS54において環境情報をクラウド側情報処理装置に送信する。
【0078】
続いて、カメラ3は、ステップS60において、AIアプリケーション及びAIモデルをクラウド側情報処理装置から受信する。なお、この処理は必須ではなく、クラウド側情報処理装置において選択したAIアプリケーション及びAIモデルが既にカメラ3に展開済みである場合には、ステップS60の処理が実行されなくてもよい。
【0079】
カメラ3はステップS55において、AIモデルの切り替えを行う。
【0080】
カメラ3はステップS56において、撮像を開始する。
【0081】
カメラ3はステップS57Aにおいて、撮像された撮像画像を用いて推論処理を行うことにより、異常な路面状況を検出したか否かを判定する。
【0082】
異常な路面状況を検出したと判定した場合、カメラ3はステップS58Aにおいて、路面状況についての推論結果をクラウド側情報処理装置へ送信する。
【0083】
一方、異常な路面状況を検出していないと判定した場合、カメラ3はステップS61において、周辺環境が変化したか否かを判定する。例えば、急に雨が降ってきた場合や、日没となり辺りが暗くなった場合などに周辺環境が変化したと判定する。
この場合には、カメラ3はステップS53の処理へと戻り、環境情報の収集を行う。
これにより、クラウド側情報処理装置において再度最適なAIモデルが選択されてカメラ3へ展開される。従って、カメラ3においては、変化した周辺環境に応じて適切な推論処理を継続することが可能となる。
【0084】
なお、ステップS61において周辺環境が変化していないと判定した場合、カメラ3は再度ステップS57Aの判定処理へと戻る。
【0085】
図6は路面状況の把握という目的に対してクラウド側情報処理装置の演算処理部が実行する処理のフローチャートである。
【0086】
クラウド側情報処理装置はステップS14において、認証要求を受信したか否かを判定する。認証要求を受信したと判定した場合、クラウド側情報処理装置はステップS9において認証処理を実行し認証結果を要求のあった装置(カメラ3)に送信する。その後、クラウド側情報処理装置はステップS14の処理へと戻る。
【0087】
ステップS14において、認証要求を受信していないと判定したクラウド側情報処理装置はステップS15において、環境情報を受信したか否か、即ち
図5のステップS54でカメラ3から送信される環境情報を受信したか否かを判定する。
【0088】
環境情報を受信したと判定した場合、クラウド側情報処理装置はステップS10において、AIアプリケーション及びAIモデルの選択を行い、続くステップS11において、選択されたAIアプリケーション及びAIモデルを展開する。そして、クラウド側情報処理装置はステップS14の処理へと戻る。
【0089】
一方、ステップS15において、環境情報を受信していないと判定した場合、クラウド側情報処理装置はステップS16において、推論結果を受信したか否かを判定する。
推論結果を受信したと判定した場合、クラウド側情報処理装置はステップS12Aにおいて、路面状況についての推論結果に基づいて路面状況の情報をアップデートする。
そして、クラウド側情報処理装置はステップS13において、ユーザ端末2を利用してアップデートされた情報をユーザに提示する。
【0090】
このように、
図4に示す一連の処理は、
図5に示す各処理をカメラ3の演算処理部が実行し、
図6に示す各処理をクラウド側情報処理装置の演算処理部が実行することにより実現することができる。
【0091】
次に、地域ごとの燃料価格の把握という目的に対して、カメラ3とクラウド側情報処理装置が実行する処理について説明する。
【0092】
図7は、カメラ3の演算処理部が実行する処理である。なお、
図7に示す各処理は、カメラ3の演算処理部が
図5のステップS56の処理の後に実行する処理の一部のみを示したものであり、それ以外の処理については
図5と同様であるため説明を省略する。
【0093】
カメラ3はステップS56で撮像を開始した後、ステップS57Bにおいて、燃料価格についての表示物を検出したか否かを判定する。燃料価格に突いての表示物とは、例えば、ガソリンスタンドの看板やサインポール等であり燃料価格についての表示がなされているオブジェクトを指す。
【0094】
燃料価格についての表示物を検出したと判定した場合、カメラ3はステップS58Bにおいて、燃料価格についての推論結果をクラウド側情報処理装置に送信し、ステップS61の処理へと進む。
【0095】
一方、燃料価格についての表示物を検出していないと判定した場合、カメラ3はステップS58Bの処理を実行せずにステップS61の処理へと進む。
【0096】
図8は、クラウド側情報処理装置の演算処理部が実行する処理である。なお、
図8に示す各処理は、クラウド側情報処理装置の演算処理部が
図6のステップS16の処理の後に実行する処理の一部のみを示したものであり、それ以外の処理については
図6と同様であるため説明を省略する。
【0097】
クラウド側情報処理装置は、ステップS16において推論結果を受信したか否かを判定し、受信したと判定した場合、ステップS12Bにおいて、燃料価格についての推論結果に基づいて地域ごとの燃料価格の情報をアップデートする。
【0098】
これにより、クラウド側情報処理装置は、
図6のステップS13において、アップデートされた情報を提示、即ち、ユーザ端末2を利用してアップデートされた地域ごとの燃料価格についての情報をユーザに提示することができる。
【0099】
なお、ここでは車載カメラとしてのカメラ3を用いて推論処理を行う例について説明したが、人間が所持するスマートフォンとしてのカメラ3を用いて推論処理を行ってもよい。
【0100】
例えば、地域ごとの桜の開花状況を把握したいというユーザの目的に応じて、公園等でカメラアプリケーションを起動したスマートフォン(カメラ3)を対象として上述した処理を行う。これにより、樹木の種類を推論可能なAIモデルや、その樹木に咲く花を検出可能なAIモデルや、それらの結果から開花率(満開率)を推論可能なAIモデルなどが適宜スマートフォンとしてのカメラ3に展開される。そして、カメラ3では、推定された開花率情報をクラウド側情報処理装置にアップロードする処理が実行される。
【0101】
これにより、クラウド側情報処理装置においては、地域ごとの桜の開花状況の情報をアップデートすることができ、ユーザに提示することが可能となる。
【0102】
次に、複数の目的を達成するためにカメラ3の演算処理部とクラウド側情報処理装置の演算処理部が実行する処理の一例を
図9及び
図10を参照して説明する。
【0103】
図9は、カメラ3の演算処理部が実行する処理についてのフローチャートである。なお、
図9に示す各処理は、カメラ3の演算処理部が
図5のステップS53の処理の後に実行する処理の一部を示したものであり、ステップS53よりも前に実行する処理については
図5と同様であるため説明を省略する。
【0104】
カメラ3は、ステップS53において環境情報を収集し、ステップS54において環境情報を送信する。
【0105】
カメラ3はステップS60において、AIアプリケーション及びAIモデルをクラウド側情報処理装置から受信する。ここで受信するAIアプリケーション及びAIモデルは、例えば、渋滞状況の把握を目的とした場合に選択されたものである。
【0106】
カメラ3は、ステップS55においてAIモデルの切り替えを行い、ステップS56において撮像を開始する。これにより、撮像された画像について渋滞状況を把握するための推論処理が行われる。
【0107】
具体的には、カメラ3はステップS57において対象物を検出したか否かを判定する。ここで検出する対象物は、例えば、車両周囲の他車両などである。
【0108】
対象物を検出していないと判定した場合、カメラ3はステップS55の処理へと戻る。
【0109】
一方、対象物を検出したと判定した場合、カメラ3は、推論処理を行った後ステップS58で推論結果をクラウド側情報処理装置に送信する。
【0110】
ここで、カメラ3は、推論処理において、車両(自車両や他車両の双方を含む)の移動速度などを用いてもよい。また、反対車線を走行する他車両を検出することにより、反対車線の渋滞状況を推論してもよい。
【0111】
ステップS58の送信処理の後、カメラ3はステップS61において、周辺環境が変化したか否かを判定する。周辺環境が変化したと判定した場合、カメラ3はステップS53へと戻り、環境情報を収集する処理からやり直す。
【0112】
一方、周辺環境が変化していないと判定した場合、カメラ3はステップS55の処理へと戻る。そして、ステップS55の処理では、AIアプリケーションとAIモデルを切り替える処理を行う。この処理によって、カメラ3は、撮像画像から周辺車両などの対象物を検出して渋滞状況についての推論処理を行うモードから、事故車などの対象物を検出して事故状況についての推論処理を行うモードへと切り替えられる。
【0113】
即ち、カメラ3は、ステップS56において撮像を開始し、ステップS57において、対象物としての事故車両等を検出したか否かを判定し、ステップS58において事故車両などの検出結果としての推論結果をクラウド側情報処理装置に送信する。
【0114】
このようなAIアプリケーションとAIモデルの切り替えは、例えば、撮像画像が撮像されるごとに行われてもよいし、1秒などの所定時間ごとに行われてもよい。
【0115】
また、このような切り替えを行うことで、渋滞状況の把握という目的を達成するための推論処理と、事故状況の把握という目的を達成するための推論処理とを時分割で実行することができる。
【0116】
このときにクラウド側情報処理装置の演算処理部が実行する処理について
図10に示す。なお、
図10に示す各処理は、クラウド側情報処理装置の演算処理部が
図6のステップS16の処理の後に実行する処理の一部のみを示したものであり、それ以外の処理については
図6と同様であるため説明を省略する。
【0117】
クラウド側情報処理装置は、ステップS16において推論結果を受信したか否かを判定し、受信したと判定した場合、ステップS12において、受信した推論結果に基づいて各種の情報をアップデートする。
即ち、カメラ3が渋滞状況の把握という目的を達成するための推論処理を行った場合には、渋滞状況を把握するための推論結果を受信して渋滞状況についての情報をアップデートする。また、カメラ3が事故状況の把握という目的を達成するための推論処理を行った場合には、事故状況を把握するための推論結果を受信して事故状況についての情報をアップデートする。
【0118】
このようにして、1台のカメラ3を用いて複数の目的を達成するための推論処理を行わせることが可能である。
【0119】
<4.システムの機能概要>
本実施形態では、情報処理システム100を用いたサービスとして、顧客としてのユーザが各カメラ3のAI画像処理についての機能の種別を選択することのできるサービスを想定している。機能の種別の選択とは、上述した目的の設定と換言することもできる。また、例えば、画像認識機能と画像検出機能などを選択してもよいし、特定の被写体についての画像認識機能や画像検出機能を発揮するように更に細かい種別を選択してもよい。
例えば、ビジネスモデルとして、サービス提供者は、AIによる画像認識機能を有したカメラ3やフォグサーバ4をユーザに販売し、それらカメラ3やフォグサーバ4を車両の車内や監視対象となる場所に設置させる。そして、上述したような分析情報をユーザに提供するサービスを展開する。
【0120】
このとき、渋滞状況の把握や事故状況の把握、或いは、地域ごとの燃料価格の把握、また、店舗監視の用途や交通監視の用途等、顧客ごとにシステムに求める用途(目的)が異なるため、顧客が求める用途に対応した分析情報が得られるように、カメラ3が有するAI画像処理機能を選択的に設定することを可能とする。
【0121】
また、地震などの災害が起きた際に、カメラ3を用いて取得したい情報が変わることも考えられる。具体的には、通常時においては、車載カメラとしてのカメラ3が渋滞状況の把握のためのAI画像処理機能を発現させておき、災害発生時においては、災害が起きた地域を走行する車両の車載カメラとしてのカメラ3に対して、路面状況についての認識結果を得ることができるようにAI画像処理機能を切り替える。その際には、より適切な認識結果を得ることができるように、AIモデルを変更することも考えられる。
【0122】
本例では、このようなカメラ3のAI画像処理機能を選択的に設定する機能を管理サーバ5が有する。
【0123】
なお、管理サーバ5の機能をクラウドサーバ1やフォグサーバ4が備えていてもよい。
【0124】
ここで、クラウド側の情報処理装置であるクラウドサーバ1や管理サーバ5と、エッジ側の情報処理装置であるカメラ3の接続について、
図11を参照して説明する。
【0125】
クラウド側の情報処理装置には、Hubを介して利用可能な機能である再学習機能とデバイス管理機能とマーケットプレイス機能が実装されている。
【0126】
Hubは、エッジ側情報処理装置に対してセキュリティで保護された信頼性の高い通信を行う。これにより、エッジ側情報処理装置に対して各種の機能を提供することができる。
【0127】
再学習機能は、再学習を行い新たに最適化されたAIモデルの提供を行う機能であり、これにより、新たな学習素材に基づく適切なAIモデルの提供が行われる。
【0128】
デバイス管理機能は、エッジ側情報処理装置としてのカメラ3などを管理する機能であり、例えば、カメラ3に展開されたAIモデルの管理や監視、そして問題の検出やトラブルシューティングなどの機能を提供することができる。
【0129】
また、デバイス管理機能は、カメラ3やフォグサーバ4の情報を管理する機能でもある。カメラ3やフォグサーバ4の情報とは、演算処理部として使用されているチップの情報や、メモリ容量及び記憶容量、そして、CPUやメモリの使用率などの情報、更に、各装置にインストールされているOS(Operating System)などのソフトウェアの情報などである。
【0130】
更に、デバイス管理機能は、認証されたユーザによるセキュアなアクセスを保護する。
【0131】
マーケットプレイス機能は、上述したAIモデル開発者によって開発されたAIモデルやアプリケーション開発者によって開発されたAIアプリケーションを登録する機能や、それらの開発物を許可されたエッジ側情報処理装置に展開する機能などを提供する。また、マーケットプレイス機能は、開発物の展開に応じたインセンティブの支払いに関する機能も提供される。
【0132】
エッジ側情報処理装置としてのカメラ3には、エッジランタイムやAIアプリケーション及びAIモデルやイメージセンサISを備えている。
【0133】
エッジランタイムは、カメラ3に展開されたアプリケーションの管理やクラウド側情報処理装置との通信を行うための組み込みソフトウェアなどとして機能する。
【0134】
AIモデルは、前述したように、クラウド側情報処理装置におけるマーケットプレイスに登録されたAIモデルを展開したものであり、これによってカメラ3は撮像画像を用いて目的に応じたAI画像処理の結果情報を得ることができる。
【0135】
図12を参照し、クラウド側情報処理装置が有する機能の概要を説明する。なお、クラウド側情報処理装置とは、クラウドサーバ1及び管理サーバ5などの装置をまとめて呼称したものである。
図示のようにクラウド側情報処理装置は、ライセンスオーソリ機能F1、アカウントサービス機能F2、デバイス監視機能F3、マーケットプレイス機能F4、及びカメラサービス機能F5を有する。
【0136】
ライセンスオーソリ機能F1は、各種の認証に係る処理を行う機能である。具体的に、ライセンスオーソリ機能F1では、各カメラ3のデバイス認証に係る処理や、カメラ3で使用されるAIモデル、ソフトウェア、ファームウェアそれぞれについての認証に係る処理が行われる。
【0137】
ここで、上記のソフトウェアは、カメラ3においてAI画像処理を適切に実現させるために必要となるソフトウェアを意味する。
撮像画像に基づくAI画像処理が適切に行われ、AI画像処理の結果が適切な形式でフォグサーバ4やクラウドサーバ1に送信されるようにするためには、AIモデルへのデータ入力を制御したり、AIモデルの出力データを適切に処理したりすることが要請される。上記のソフトウェアは、AI画像処理を適切に実現させるために必要な周辺処理を含んだソフトウェアとなる。このようなソフトウェアは、AIモデルを利用して所望の機能を実現するためのソフトウェアであり、上述のAIアプリケーションに該当する。
【0138】
なお、AIアプリケーションとしては、一つのAIモデルのみを利用するものに限らず、2以上のAIモデルを利用するものも考えられる。例えば、撮像画像を入力データとしてAI画像処理を実行するAIモデルで得られた認識結果の情報(画像データなどであり、以降、「認識結果情報」と記載)を、別のAIモデルに入力して第二のAI画像処理を実行させるという処理の流れを有するAIアプリケーションも存在し得る。
【0139】
ライセンスオーソリ機能F1において、カメラ3の認証については、カメラ3とネットワーク6を介して接続された場合に、カメラ3ごとにデバイスID(Identification)を発行する処理が行われる。
また、AIモデルやソフトウェアの認証については、AIモデル開発者端末2Cやソフトウェア開発者端末7から登録申請されたAIモデル、AIアプリケーションについて、それぞれ固有のID(AIモデルID、ソフトウェアID)を発行する処理が行われる。
また、ライセンスオーソリ機能F1では、カメラ3やAIモデル開発者端末2C、ソフトウェア開発者端末7とクラウドサーバ1との間でセキュアな通信が行われるようにするための各種の鍵や証明書等をカメラ3の製造業者(特に後述するイメージセンサISの製造業者)やAIモデル開発者、ソフトウェア開発者に発行する処理が行われると共に、証明効力の更新や停止のための処理も行われる。
さらに、ライセンスオーソリ機能F1では、以下で説明するアカウントサービス機能F2によりユーザ登録(ユーザIDの発行を伴うアカウント情報の登録)が行われた場合に、ユーザが購入したカメラ3(上記デバイスID)とユーザIDとを紐付ける処理も行われる。
【0140】
アカウントサービス機能F2は、ユーザのアカウント情報の生成や管理を行う機能である。アカウントサービス機能F2では、ユーザ情報の入力を受け付け、入力されたユーザ情報に基づいてアカウント情報を生成する(少なくともユーザIDとパスワード情報とを含むアカウント情報の生成を行う)。
また、アカウントサービス機能F2では、AIモデル開発者やAIアプリケーションの開発者(以下「ソフトウェア開発者」と略称することもある)についての登録処理(アカウント情報の登録)も行われる。
【0141】
デバイス監視機能F3は、カメラ3の使用状態を監視するための処理を行う機能である。例えば、カメラ3の使用場所や、AI画像処理の出力データの出力頻度、AI画像処理に用いられるCPUやメモリの空き容量等、カメラ3の使用状態に係る各種の要素として上述したCPUやメモリの使用率などの情報についての監視を行う。
【0142】
マーケットプレイス機能F4は、AIモデルやAIアプリケーションを販売するための機能である。例えばユーザは、マーケットプレイス機能F4により提供される販売用のWEBサイト(販売用サイト)を介してAIアプリケーション、及びAIアプリケーションが利用するAIモデルを購入することが可能とされる。また、ソフトウェア開発者は、上記の販売用サイトを介してAIアプリケーションの作成のためにAIモデルを購入することが可能とされる。
【0143】
カメラサービス機能F5は、カメラ3の利用に関するサービスをユーザに提供するための機能とされる。
このカメラサービス機能F5の一つとしては、例えば、前述した分析情報の生成に係る機能を挙げることができる。すなわち、カメラ3における画像処理の処理結果情報に基づき被写体の分析情報を生成し、生成した分析情報をユーザ端末2を介してユーザに閲覧させるための処理を行う機能である。
【0144】
また、カメラサービス機能F5には、撮像設定探索機能が含まれる。具体的に、この撮像設定探索機能は、カメラ3からAI画像処理の認識結果情報を取得し、取得した認識結果情報に基づき、カメラ3の撮像設定情報をAIを用いて探索する機能である。ここで、撮像設定情報とは、撮像画像を得るための撮像動作に係る設定情報を広く意味するものである。具体的には、フォーカスや絞り等といった光学的な設定や、フレームレート、露光時間、ゲイン等といった撮像画像信号の読み出し動作に係る設定、さらにはガンマ補正処理、ノイズリダクション処理、超解像処理等、読み出された撮像画像信号に対する画像信号処理に係る設定等を広く含むものである。
撮像設定探索機能が適切に機能することにより、ユーザによって設定された目的に応じてカメラ3の撮像設定が最適化され、良好な推論結果を得ることができる。
【0145】
また、カメラサービス機能F5には、AIモデル探索機能も含まれる。このAIモデル探索機能は、カメラ3からAI画像処理の認識結果情報を取得し、取得した認識結果情報に基づき、カメラ3におけるAI画像処理に用いられる最適なAIモデルの探索をAIを用いて行う機能である。ここで言うAIモデルの探索とは、例えば、AI画像処理が畳み込み演算を含むCNN(Convolutional Neural Network)等により実現される場合において、重み係数等の各種の処理パラメータやニューラルネットワーク構造に係る設定情報(例えば、カーネルサイズの情報等を含む)等を最適化する処理を意味する。
【0146】
また、カメラサービス機能F5は、設定された目的とカメラ3から取得したセンサに関する情報に基づいてAIアプリケーションやAIモデルを選択して展開する機能を有する。
カメラ3から取得したセンサに関する情報とは、例えば、カメラ3が備えるイメージセンサの種類(RGBセンサや測距センサなどの別)や、型番などの情報だけでなく、センサによって取得したセンシング情報も含まれる。具体的には、カメラ3が備えるGPS(Global Positioning System)機能によって得られたセンシング情報であるカメラ3の位置情報などである。
【0147】
ユーザによって設定された目的に応じて適切なAIアプリケーションやAIモデルをカメラ3に展開するためにカメラサービス機能F5が備える構成の一例について
図13に示す。
【0148】
クラウド側情報処理装置は、カメラサービス機能F5の実現のために、情報取得部10と、モデル選択部11と、送信処理部12と、対応処理部13とを備えている。
【0149】
情報取得部10は、エッジ側情報処理装置としてのカメラ3からセンサに関する情報として例えば、センサの型番やセンサの種類に関する情報やセンシングによって得られた情報を取得する。
【0150】
モデル選択部11は、ユーザによって設定された目的と、情報取得部10によって取得されたセンサに関する情報に基づいて、カメラ3に展開するAIモデルを選択する。なお、このとき、AIモデルを利用するための最適なAIアプリケーションを選択してもよい。
【0151】
送信処理部12は、モデル選択部11によって選択されたAIアプリケーションやAIモデルをカメラ3に展開する処理を行う。これにより、所定の地域を走行中の車両に搭載された車載カメラとしてのカメラ3のみを対象として特定の被写体を検出するための推論処理を行うAIアプリケーションやAIモデルを展開することができる。
【0152】
対応処理部13は、カメラ3から取得した推論結果を用いて対応する処理を実行する。対応する処理とは、例えば、カメラ3から得た道路状況に関する情報を取得した場合には、道路状況を地図データ上に反映する処理や該地図データを用いた経路情報を提供するサービス等において道路状況を加味した経路を選択する処理などである。また、経路情報提供サービスを利用中のユーザに対しては、道路状況を加味して新たに選択された経路を推奨経路として案内する処理などが対応処理とされてもよい。これにより、適切な経路を走行させることができる。
また、エッジ側情報処理装置から地域ごとの燃料価格の情報を取得した場合には、地域ごとの燃料価格が記憶されたデータベースを更新する処理やそれをユーザに提示する処理などが対応処理とされる。
【0153】
なお、カメラサービス機能F5は、処理分担を決定する機能を備えていてもよい。処理分担決定機能においては、AIアプリケーションをエッジ側情報処理装置に展開する際に、SWコンポーネント単位での展開先の装置を決定する処理を行う。なお、一部のSWコンポーネントは、クラウド側の装置において実行されるものとして決定してもよく、この場合には既にクラウド側の装置に展開済みであるとして展開処理が行われなくてもよい。
【0154】
上記のような撮像設定探索機能及びAIモデル探索機能を有することで、AI画像処理の結果を良好とする撮像設定が行われるように図られると共に、実際の使用環境に応じた適切なAIモデルを用いてAI画像処理が行われるように図ることができる。
そして、これに加えて処理分担決定機能を有することで、AI画像処理及びその解析処理が適切な装置において実行されるように図ることができる。
【0155】
なお、カメラサービス機能F5は、各SWコンポーネントを展開するに先立って、アプリケーション設定機能を有する。アプリケーション設定機能は、ユーザの目的に応じて適切なAIアプリケーションを設定する機能である。
【0156】
例えば、ユーザが選択した目的に応じて、適切なAIアプリケーションを選択する。これにより、AIアプリケーションを構成するSWコンポーネントについても自ずと決定される。なお、後述するが、AIアプリケーションを用いてユーザの目的を実現するためのSWコンポーネントの組み合わせが複数種類あってもよく、この場合には、エッジ側情報処理装置の情報やユーザの要求に応じて一つの組み合わせが選択される。
【0157】
例えば、ユーザが店舗監視を目的とした場合に、ユーザの要求がプライバシー重視である場合と、速度重視である場合とで、SWコンポーネントの組み合わせが異なってもよい。
【0158】
アプリケーション設定機能においては、ユーザ端末2(
図2におけるアプリケーション利用者端末2Bに相当)においてユーザが目的(アプリケーション)を選択する操作を受け付ける処理や、選択されたアプリケーションに応じて適切なAIアプリケーションを選択する処理等が行われる。
【0159】
ここで、上記では、クラウドサーバ1単体でライセンスオーソリ機能F1、アカウントサービス機能F2、デバイス監視機能F3、マーケットプレイス機能F4、及びカメラサービス機能F5を実現する構成を例示したが、これらの機能を複数の情報処理装置が分担して実現する構成とすることも可能である。例えば、上記の機能をそれぞれ1台の情報処理装置が担う構成とすることが考えられる。或いは、上記した機能のうち単一の機能を複数の情報処理装置(例えば、クラウドサーバ1と管理サーバ5)が分担して行うといったことも可能である。
【0160】
図1において、AIモデル開発者端末2Cは、AIモデルの開発者が使用する情報処理装置である。
また、ソフトウェア開発者端末7は、AIアプリケーションの開発者が使用する情報処理装置である。
【0161】
<5.撮像装置の構成>
図14は、カメラ3の内部構成例を示したブロック図である。
図示のようにカメラ3は、撮像光学系31、光学系駆動部32、イメージセンサIS、制御部33、メモリ部34、通信部35を備えている。イメージセンサISと制御部33とメモリ部34と通信部35はバス36を介して接続され、相互にデータ通信を行うことが可能とされている。
【0162】
撮像光学系31は、カバーレンズ、ズームレンズ、フォーカスレンズ等のレンズや絞り(アイリス)機構を備える。この撮像光学系31により、被写体からの光(入射光)が導かれ、イメージセンサISの受光面に集光される。
【0163】
光学系駆動部32は、撮像光学系31が有するズームレンズ、フォーカスレンズ、及び絞り機構の駆動部を包括的に示したものである。具体的に、光学系駆動部32は、これらズームレンズ、フォーカスレンズ、絞り機構それぞれを駆動するためのアクチュエータ、及び該アクチュエータの駆動回路を有している。
【0164】
制御部33は、例えばCPU、ROM、及びRAMを有するマイクロコンピュータを備えて構成され、CPUがROMに記憶されているプログラム、又はRAMにロードされたプログラムに従って各種の処理を実行することで、カメラ3の全体制御を行う。
【0165】
また、制御部33は、光学系駆動部32に対してズームレンズ、フォーカスレンズ、絞り機構等の駆動指示を行う。光学系駆動部32はこれらの駆動指示に応じてフォーカスレンズやズームレンズの移動、絞り機構の絞り羽根の開閉等を実行させることになる。
【0166】
また、制御部33は、メモリ部34に対する各種データの書き込みや読み出しについての制御を行う。
メモリ部34は、例えばHDD(Hard Disk Drive)やフラッシュメモリ装置等の不揮発性の記憶デバイスとされ、イメージセンサISから出力された画像データの保存先(記録先)として用いられる。
【0167】
さらに、制御部33は、通信部35を介して外部装置との間で各種データ通信を行う。本例における通信部35は、少なくとも
図1に示したフォグサーバ4(若しくはクラウドサーバ1)との間でのデータ通信を行うことが可能に構成されている。
【0168】
イメージセンサISは、例えばCCD型、CMOS型等のイメージセンサとして構成されている。
【0169】
イメージセンサISは、撮像部41、画像信号処理部42、センサ内制御部43、AI画像処理部44、メモリ部45、通信I/F46とを備え、それぞれがバス47を介して相互にデータ通信可能とされている。
【0170】
撮像部41は、フォトダイオード等の光電変換素子を有する画素が二次元に配列された画素アレイ部と、画素アレイ部が備えるそれぞれの画素から光電変換によって得られた電気信号を読み出す読み出し回路とを備えており、該電気信号を撮像画像信号として出力することが可能とされている。
【0171】
読み出し回路では、光電変換により得られた電気信号について、例えばCDS(Correlated Double Sampling)処理、AGC(Automatic Gain Control)処理などを実行し、さらにA/D(Analog/Digital)変換処理を行う。
【0172】
画像信号処理部42は、A/D変換処理後のデジタルデータとしての撮像画像信号に対して、前処理、同時化処理、YC生成処理、解像度変換処理、コーデック処理等を行う。
前処理では、撮像画像信号に対してR、G、Bの黒レベルを所定のレベルにクランプするクランプ処理や、R、G、Bの色チャンネル間の補正処理等を行う。同時化処理では、各画素についての画像データが、R、G、B全ての色成分を有するようにする色分離処理を施す。例えば、ベイヤー配列のカラーフィルタを用いた撮像素子の場合は、色分離処理としてデモザイク処理が行われる。YC生成処理では、R、G、Bの画像データから、輝度(Y)信号及び色(C)信号を生成(分離)する。解像度変換処理では、各種の信号処理が施された画像データに対して、解像度変換処理を実行する。
コーデック処理では、上記の各種処理が施された画像データについて、例えば記録用や通信用の符号化処理、ファイル生成を行う。コーデック処理では、動画のファイル形式として、例えばMPEG-2(MPEG:Moving Picture Experts Group)やH.264などの形式によるファイル生成を行うことが可能とされる。また静止画ファイルとしてJPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、GIF(Graphics Interchange Format)等の形式のファイル生成を行うことも考えられる。なお、イメージセンサISが測距センサとされている場合には、画像信号処理部42は、例えば、iToF(indirect Time of Flight)としてのイメージセンサISから出力される二つの信号に基づいて被写体についての距離情報を算出して距離画像を出力する。
【0173】
センサ内制御部43は、撮像部41に対する指示を行って撮像動作の実行制御を行う。同様に、画像信号処理部42に対しても処理の実行制御を行う。
【0174】
AI画像処理部44は、撮像画像についてAI画像処理としての画像認識処理を行う。
【0175】
AIを用いた画像認識機能は、例えばCPUやFPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)等、プログラマブルな演算処理装置を用いて実現することができる。
【0176】
AI画像処理部44で実現可能な画像認識の機能は、AI画像処理のアルゴリズムを変更することにより切り替えることが可能とされる。換言すれば、AI画像処理に用いられるAIモデルを切り替えることで、AI画像処理の機能種別を切り替えることができる。AI画像処理の機能種別については種々考えられるが、例えば以下に例示するような種別を挙げることができる。
・クラス識別
・セマンティックセグメンテーション
・人物検出
・車両検出
・ターゲットのトラッキング
・OCR(Optical Character Recognition:光学文字認識)
【0177】
上記の機能種別のうち、クラス識別は、ターゲットのクラスを識別する機能である。ここで言う「クラス」とは、物体のカテゴリを表す情報であり、例えば「人」「自動車」「飛行機」「船」「トラック」「鳥」「猫」「犬」「鹿」「蛙」「馬」等を区別するものである。
ターゲットのトラッキングとは、ターゲットとされた被写体の追尾を行う機能であり、該被写体の位置の履歴情報を得る機能と換言できるものである。
【0178】
AIモデルの切り替えは、クラウド側情報処理装置からの指示によってなされてもよいし、カメラ3の制御部33やセンサ内制御部43の判定処理に基づいてなされてもよい。また、AIモデルの切り替えを行う際には、メモリ部45に記憶される複数のAIモデルから切り替えられてもよいし、クラウド側情報処理装置からAIモデルを受信して展開することにより切り替えられてもよい。切り替えのたびにクラウド側情報処理装置からAIモデルを受信することにより、メモリ部45の容量を抑えることができ、小型化や省電力化及びコスト削減を図ることができる。
【0179】
メモリ部45には、画像信号処理部42により得られた撮像画像データ等の各種のデータの保存先として用いられる。また、本例においてメモリ部45は、AI画像処理部44がAI画像処理の過程で用いるデータの一時的な記憶にも用いることが可能とされる。
【0180】
また、メモリ部45には、AI画像処理部44で用いられるAIアプリケーションやAIモデルの情報が記憶される。
なお、AIアプリケーションやAIモデルの情報は、後述するコンテナ技術を用いて、コンテナなどとしてメモリ部45に展開されてもよいし、マイクロサービス技術を用いて展開されてもよい。AI画像処理に用いられるAIモデルをメモリ部45に展開することにより、AI画像処理の機能種別を変更したり、再学習によって性能の向上が図られたAIモデルに変更したりすることができる。
なお、上述のように本実施の形態においては画像認識に用いられるAIモデルやAIアプリケーションについての例に基づいた説明を行っているが、これに限定されず、AI技術を用いて実行されるプログラム等が対象とされていてもよい。
また、メモリ部45の容量が小さい場合には、AIアプリケーションやAIモデルの情報は、コンテナ技術を用いて、コンテナなどとしてメモリ部34などイメージセンサIS外のメモリに展開した後、AIモデルだけを下記で説明する通信I/F46を介してイメージセンサIS内のメモリ部45に格納させるようにしてもよい。
【0181】
通信I/F46は、イメージセンサISの外部にある制御部33やメモリ部34等との通信を行うインタフェースである。通信I/F46は、画像信号処理部42が実行するプログラムやAI画像処理部44が利用するAIアプリケーションやAIモデルなどを外部から取得するための通信を行い、イメージセンサISが備えるメモリ部45に記憶させる。
これにより、AIモデルがイメージセンサISが備えるメモリ部45の一部に記憶され、AI画像処理部44による利用が可能となる。
【0182】
AI画像処理部44は、このようにして得られたAIアプリケーションやAIモデルを用いて所定の画像認識処理を行うことにより目的に準じた被写体の認識を行う。
【0183】
AI画像処理の認識結果情報は、通信I/F46を介してイメージセンサISの外部に出力される。
【0184】
即ち、イメージセンサISの通信I/F46からは、画像信号処理部42から出力される画像データだけでなく、AI画像処理の認識結果情報が出力される。
なお、イメージセンサISの通信I/F46からは、画像データと認識結果情報の何れか一方だけを出力させることもできる。
【0185】
例えば、上述したAIモデルの再学習機能を利用する場合には、再学習機能に用いられる撮像画像データが通信I/F46及び通信部35を介してイメージセンサISからクラウド側情報処理装置にアップロードされる。
【0186】
また、AIモデルを用いた推論を行う場合には、AI画像処理の認識結果情報が通信I/F46及び通信部35を介してイメージセンサISからカメラ3外の他の情報処理装置に出力される。
【0187】
イメージセンサISの構成は各種考えられる。ここでは、イメージセンサISが2層に積層された構造を備えている例を説明する。
【0188】
イメージセンサISは、
図15に示すように、二つのダイが積層された1チップの半導体装置として構成されている。
【0189】
イメージセンサISは、
図14に示す撮像部41としての機能を備えるダイD1と、画像信号処理部42とセンサ内制御部43とAI画像処理部44とメモリ部45と通信I/F46を備えたダイD2が積層されて構成されている。
【0190】
ダイD1とダイD2は、例えば、Cu-Cu接合により電気的に接続されている。
【0191】
カメラ3にAIモデルやAIアプリケーション等を展開する方法は各種考えられる。一例としてコンテナ技術を用いた例を説明する。
【0192】
カメラ3においては、
図14に示す制御部33としてのCPUやGPU(Graphics Processing Unit)やROMやRAM等の各種のハードウェア50の上にオペレーションシステム51がインストールされている(
図16参照)。
【0193】
オペレーションシステム51は、カメラ3における各種の機能を実現するためにカメラ3の全体制御を行う基本ソフトウェアである。
【0194】
オペレーションシステム51上には、汎用ミドルウェア52がインストールされている。
【0195】
汎用ミドルウェア52は、例えば、ハードウェア50としての通信部35を用いた通信機能や、ハードウェア50としての表示部(モニタ等)を用いた表示機能などの基本的動作を実現するためのソフトウェアである。
【0196】
オペレーションシステム51上には、汎用ミドルウェア52だけでなくオーケストレーションツール53及びコンテナエンジン54がインストールされている。
【0197】
オーケストレーションツール53及びコンテナエンジン54は、コンテナ55の動作環境としてのクラスタ56を構築することにより、コンテナ55の展開や実行を行う。
なお、
図11に示すエッジランタイムは
図16に示すオーケストレーションツール53及びコンテナエンジン54に相当する。
【0198】
オーケストレーションツール53は、コンテナエンジン54に対して上述したハードウェア50及びオペレーションシステム51のリソースの割り当てを適切に行わせるための機能を有する。オーケストレーションツール53によって各コンテナ55が所定の単位(後述するポッド)にまとめられ、各ポッドが論理的に異なるエリアとされたワーカノード(後述)に展開される。
【0199】
コンテナエンジン54は、オペレーションシステム51にインストールされるミドルウェアの一つであり、コンテナ55を動作させるエンジンである。具体的には、コンテナエンジン54は、コンテナ55内のミドルウェアが備える設定ファイルなどに基づいてハードウェア50及びオペレーションシステム51のリソース(メモリや演算能力など)をコンテナ55に割り当てる機能を持つ。
【0200】
また、本実施の形態において割り当てられるリソースは、カメラ3が備える制御部33等のリソースだけでなく、イメージセンサISが備えるセンサ内制御部43やメモリ部45や通信I/F46などのリソースも含まれる。
【0201】
コンテナ55は、所定の機能を実現するためのアプリケーションとライブラリなどのミドルウェアを含んで構成される。
コンテナ55は、コンテナエンジン54によって割り当てられたハードウェア50及びオペレーションシステム51のリソースを用いて所定の機能を実現するために動作する。
【0202】
本実施の形態においては、
図11に示すAIアプリケーション及びAIモデルはコンテナ55のうちの一つに相当する。即ち、カメラ3に展開された各種のコンテナ55のうちの一つは、AIアプリケーション及びAIモデルを用いた所定のAI画像処理機能を実現する。
【0203】
コンテナエンジン54及びオーケストレーションツール53によって構築されるクラスタ56の具体的な構成例について
図17を参照して説明する。なおクラスタ56は、一つのカメラ3が備えるハードウェア50だけでなく他の装置が備える他のハードウェアのリソースを利用して機能が実現するように複数の機器にまたがって構築されてもよい。
【0204】
オーケストレーションツール53は、コンテナ55の実行環境の管理をワーカノード57単位で行う。また、オーケストレーションツール53は、ワーカノード57の全体を管理するマスタノード58を構築する。
【0205】
ワーカノード57においては、複数のポッド59が展開される。ポッド59は、1または複数のコンテナ55を含んで構成され、所定の機能を実現する。ポッド59は、オーケストレーションツール53によってコンテナ55を管理するための管理単位とされる。
【0206】
ワーカノード57におけるポッド59の動作は、ポッド管理ライブラリ60によって制御される。
【0207】
ポッド管理ライブラリ60は、論理的に割り当てられたハードウェア50のリソースをポッド59に利用させるためのコンテナランタイムやマスタノード58から制御を受け付けるエージェントやポッド59間の通信やマスタノード58との通信を行うネットワークプロキシなどを有して構成されている。
即ち、各ポッド59は、ポッド管理ライブラリ60によって各リソースを用いた所定の機能を実現可能とされる。
【0208】
マスタノード58は、ポッド59の展開を行うアプリサーバ61と、アプリサーバ61によるコンテナ55の展開状況を管理するマネージャ62と、コンテナ55を配置するワーカノード57を決定するスケジューラ63と、データ共有を行うデータ共有部64を含んで構成されている。
【0209】
図16及び
図17に示す構成を利用することにより、コンテナ技術を用いて前述したAIアプリケーション及びAIモデルをカメラ3のイメージセンサISに展開することが可能となる。
なお、前述したとおり、AIモデルについて、
図14の通信I/F46を介してイメージセンサIS内のメモリ部45に格納させ、イメージセンサIS内でAI画像処理を実行させるようにしてもよいし、
図16及び
図17に示す構成をイメージセンサIS内のメモリ部45及びセンサ内制御部43に展開し、イメージセンサIS内でコンテナ技術を用いて前述したAIアプリケーション及びAIモデルを実行させてもよい。
また、後述するように、AIアプリケーション及び/またはAIモデルをフォグサーバ4やクラウド側情報処理装置に展開する場合でもコンテナ技術を用いることができる。
その際は、AIアプリケーションやAIモデルの情報は、コンテナなどとして、後述する
図18の不揮発性メモリ部74、記憶部79またはRAM73などのメモリに展開されて実行される。
【0210】
<6.情報処理装置のハードウェア構成>
情報処理システム100が備えるクラウドサーバ1、ユーザ端末2、フォグサーバ4、管理サーバ5などの情報処理装置のハードウェア構成について
図18を参照して説明する。
【0211】
情報処理装置はCPU71を備えている。CPU71は、上述した各種の処理を行う演算処理部として機能し、ROM72や例えばEEP-ROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性メモリ部74に記憶されているプログラム、または記憶部79からRAM73にロードされたプログラムに従って各種の処理を実行する。RAM73にはまた、CPU71が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0212】
なお、クラウドサーバ1としての情報処理装置が備えるCPU71は、上述した各機能を実現するためにライセンスオーソリ部、アカウントサービス提供部、デバイス監視部、マーケットプレイス機能提供部、カメラサービス提供部として機能する。
【0213】
CPU71、ROM72、RAM73、不揮発性メモリ部74は、バス83を介して相互に接続されている。このバス83にはまた、入出力インタフェース(I/F)75も接続されている。
【0214】
入出力インタフェース75には、操作子や操作デバイスよりなる入力部76が接続される。
例えば入力部76としては、キーボード、マウス、キー、ダイヤル、タッチパネル、タッチパッド、リモートコントローラ等の各種の操作子や操作デバイスが想定される。
入力部76によりユーザの操作が検知され、入力された操作に応じた信号はCPU71によって解釈される。
【0215】
また入出力インタフェース75には、LCD或いは有機ELパネルなどよりなる表示部77や、スピーカなどよりなる音声出力部78が一体又は別体として接続される。
表示部77は各種表示を行う表示部であり、例えばコンピュータ装置の筐体に設けられるディスプレイデバイスや、コンピュータ装置に接続される別体のディスプレイデバイス等により構成される。
【0216】
表示部77は、CPU71の指示に基づいて表示画面上に各種の画像処理のための画像や処理対象の動画等の表示を実行する。また表示部77はCPU71の指示に基づいて、各種操作メニュー、アイコン、メッセージ等、即ちGUI(Graphical User Interface)としての表示を行う。
【0217】
入出力インタフェース75には、ハードディスクや固体メモリなどより構成される記憶部79や、モデムなどより構成される通信部80が接続される場合もある。
【0218】
通信部80は、インターネット等の伝送路を介しての通信処理や、各種機器との有線/無線通信、バス通信などによる通信を行う。
【0219】
入出力インタフェース75にはまた、必要に応じてドライブ81が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記憶媒体82が適宜装着される。
【0220】
ドライブ81により、リムーバブル記憶媒体82から各処理に用いられるプログラム等のデータファイルなどを読み出すことができる。読み出されたデータファイルは記憶部79に記憶されたり、データファイルに含まれる画像や音声が表示部77や音声出力部78で出力されたりする。またリムーバブル記憶媒体82から読み出されたコンピュータプログラム等は必要に応じて記憶部79にインストールされる。
【0221】
このコンピュータ装置では、例えば本実施の形態の処理のためのソフトウェアを、通信部80によるネットワーク通信やリムーバブル記憶媒体82を介してインストールすることができる。或いは当該ソフトウェアは予めROM72や記憶部79等に記憶されていてもよい。
また、カメラ3において撮像された撮像画像やAI画像処理による処理結果を受け取り、記憶部79やドライブ81を介してリムーバブル記憶媒体82に記憶させてもよい。
【0222】
CPU71が各種のプログラムに基づいて処理動作を行うことで、上述した演算処理部を備えた情報処理装置であるクラウドサーバ1としての必要な情報処理や通信処理が実行される。
なお、クラウドサーバ1は、
図18のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN(Local Area Network)等によりシステム化されていてもよいし、インターネット等を利用したVPN(Virtual Private Network)等により遠隔地に配置されたものでもよい。複数のコンピュータ装置には、クラウドコンピューティングサービスによって利用可能なサーバ群(クラウド)としてのコンピュータ装置が含まれてもよい。
【0223】
<7.その他>
上述のように、AIアプリケーションのSWコンポーネント及びAIモデルが展開された後、サービスの提供者や利用者(ユーザ)の操作をトリガとしてAIモデルの再学習と各カメラ3などに展開されたAIモデル(以降「エッジ側AIモデル」と記載)やAIアプリケーションの更新を行うときの処理の流れについて、具体的に、
図24を参照して説明する。なお、
図19は複数のカメラ3の中の1台のカメラ3に着目して記載したものである。また、以下の説明において更新対象とされたエッジ側AIモデルは、一例として、カメラ3が備えるイメージセンサISに展開されているものであるが、もちろん、エッジ側AIモデルはカメラ3におけるイメージセンサIS外に展開されているものでもよい。
【0224】
先ず、処理ステップPS1において、サービスの提供者や利用者によるAIモデルの再学習指示が行われる。この指示は、クラウド側情報処理装置が備えるAPI(Application Programming Interface)モジュールが備えるAPI機能を利用して行われる。また、当該指示においては、学習に用いる画像量(例えば枚数)が指定される。以降、学習に用いる画像量を「所定枚数」とも記載する。
【0225】
APIモジュールは、当該指示を受け、処理ステップPS2でHub(
図11に示したものと同様のもの)に対して再学習のリクエストと画像量の情報を送信する。
【0226】
Hubは、処理ステップPS3において、エッジ側情報処理装置としてのカメラ3に対してアップデート通知と画像量の情報を送信する。
【0227】
カメラ3は、撮影を行うことにより得られた撮像画像データを処理ステップPS4においてストレージ群の画像DB(Database)に送信する。この撮影処理と送信処理は、再学習に必要な所定枚数に達成するまで行われる。
【0228】
なお、カメラ3は、撮像画像データに対する推論処理を行うことにより推論結果を得た場合には、処理ステップPS4において撮像画像データのメタデータとして推論結果を画像DBに記憶してもよい。
【0229】
カメラ3における推論結果がメタデータがとして画像DBに記憶されることにより、クラウド側で実行されるAIモデルの再学習に必要なデータを厳選することができる。具体的には、カメラ3における推論結果とクラウド側情報処理装置において潤沢なコンピュータ資源を用いて実行される推論の結果が相違している画像データのみを用いて再学習を行うことができる。従って、再学習に要する時間を短縮することが可能となる。
【0230】
所定枚数の撮影と送信を終えた後、カメラ3は処理ステップPS5において、所定枚数の撮像画像データの送信が完了したことをHubに通知する。
【0231】
Hubは、該通知を受けて、処理ステップPS6において、再学習用のデータの準備が完了したことをオーケストレーションツールに通知する。
【0232】
オーケストレーションツールは、処理ステップPS7において、ラベリング処理の実行指示をラベリングモジュールに対して送信する。
【0233】
ラベリングモジュールは、ラベリング処理の対象とされた画像データを画像DBから取得し(処理ステップPS8)、ラベリング処理を行う。
【0234】
ここで言うラベリング処理とは、上述したクラス識別を行う処理であってもよいし、画像の被写体についての性別や年齢を推定してラベルを付与する処理であってもよいし、被写体についてのポーズを推定してラベルを付与する処理であってもよいし、被写体の行動を推定してラベルを付与する処理であってもよい。
【0235】
ラベリング処理は、人手で行われてもよいし、自動で行われてもよい。また、ラベリング処理はクラウド側の情報処理装置で完結してもよいし、他のサーバ装置が提供するサービスを利用することにより実現されてもよい。
【0236】
ラベリング処理を終えたラベリングモジュールは、処理ステップPS9において、ラベル付けの結果情報をデータセットDBに記憶する。ここでデータセットDBに記憶される情報は、ラベル情報と画像データの組とされてもよいし、画像データそのものの代わりに画像データを特定するための画像ID(Identification)情報とされてもよい。
【0237】
ラベル付けの結果情報が記憶されたことを検出したストレージ管理部は、処理ステップPS10でオーケストレーションツールに対する通知を行う。
【0238】
該通知を受信したオーケストレーションツールは、所定枚数の画像データに対するラベリング処理が終了したことを確認し、処理ステップPS11において、再学習モジュールに対する再学習指示を送信する。
【0239】
再学習指示を受信した再学習モジュールは、処理ステップPS12でデータセットDBから学習に用いるデータセットを取得すると共に、処理ステップPS13で学習済AIモデルDBからアップデート対象のAIモデルを取得する。
【0240】
再学習モジュールは、取得したデータセットとAIモデルを用いてAIモデルの再学習を行う。このようにして得られたアップデート済みのAIモデルは、処理ステップPS14において再度学習済AIモデルDBに記憶される。
【0241】
アップデート済みのAIモデルが記憶されたことを検出したストレージ管理部は、処理ステップPS15でオーケストレーションツールに対する通知を行う。
【0242】
該通知を受信したオーケストレーションツールは、処理ステップS16において、AIモデルの変換指示を変換モジュールに対して送信する。
【0243】
変換指示を受信した変換モジュールは、処理ステップPS17において学習済みAIモデルDBからアップデート済みのAIモデルを取得し、AIモデルの変換処理を行う。
該変換処理では、展開先の機器であるカメラ3のスペック情報等に合わせて変換する処理を行う。この処理では、AIモデルの性能をできるだけ落とさないようにダウンサイジングを行うと共に、カメラ3上で動作可能なようにファイル形式の変換などが行われる。
【0244】
変換モジュールによって変換済みのAIモデルは上述したエッジ側AIモデルとされる。この変換済みのAIモデルは、処理ステップPS18において変換済AIモデルDBに記憶される。
【0245】
変換済みのAIモデルが記憶されたことを検出したストレージ管理部は、処理ステップPS19でオーケストレーションツールに対する通知を行う。
【0246】
該通知を受信したオーケストレーションツールは、処理ステップPS20において、AIモデルのアップデートを実行させるための通知をHubに対して送信する。この通知には、アップデートに用いるAIモデルが記憶されている場所を特定するための情報を含んでいる。
【0247】
該通知を受信したHubは、カメラ3に対してAIモデルのアップデート指示を送信する。アップデート指示についても、AIモデルが記憶されている場所を特定するための情報が含まれている。
【0248】
カメラ3は、処理ステップPS22において、変換済AIモデルDBから対象の変換済みAIモデルを取得して展開する処理を行う。これにより、カメラ3のイメージセンサISで利用されるAIモデルの更新が行われる。
【0249】
AIモデルを展開することによりAIモデルの更新を終えたカメラ3は、処理ステップPS23でHubに対して更新完了通知を送信する。
該通知を受信したHubは、処理ステップPS24でオーケストレーションツールに対してカメラ3のAIモデル更新処理が完了したことを通知する。
【0250】
なお、ここではカメラ3のイメージセンサIS内(例えば、
図14に示すメモリ部45)にAIモデルが展開されて利用される例について説明したが、カメラ3におけるイメージセンサ外(例えば、
図14のメモリ部34)やフォグサーバ4内の記憶部にAIモデルが展開されて利用された場合であっても、同様にAIモデルの更新を行うことができる。
その場合には、AIモデルが展開された際に当該AIモデルが展開された装置(場所)をクラウド側のストレージ管理部などに記憶しておき、Hubは、ストレージ管理部からAIモデルが展開された装置(場所)を読み出し、AIモデルが展開された装置に対してAIモデルのアップデート指示を送信する。
アップデート指示を受けた装置は、処理ステップPS22において、変換済AIモデルDBから対象の変換済みAIモデルを取得して展開する処理を行う。これにより、アップデート指示を受けた装置のAIモデルの更新が行われる。
【0251】
なお、AIモデルの更新のみを行う場合は、ここまでの処理で完結する。
AIモデルに加えてAIモデルを利用するAIアプリケーションの更新を行う場合には、後述する処理が更に実行される。
【0252】
具体的に、オーケストレーションツールは処理ステップPS25において、展開制御モジュールに対してアップデートされたファームウェアなどのAIアプリケーションのダウンロード指示を送信する。
【0253】
展開制御モジュールは、処理ステップPS26において、Hubに対してAIアプリケーションの展開指示を送信する。この指示には、アップデートされたAIアプリケーションが記憶されている場所を特定するための情報が含まれている。
【0254】
Hubは、処理ステップPS27において、当該展開指示をカメラ3に対して送信する。
【0255】
カメラ3は、処理ステップPS28において、展開制御モジュールのコンテナDBからアップデートされたAIアプリケーションをダウンロードして展開する。
【0256】
なお、上記の説明においては、カメラ3のイメージセンサIS上で動作するAIモデルの更新とカメラ3におけるイメージセンサIS外で動作するAIアプリケーションの更新をシーケンシャルで行う例を説明した。
また、ここでは説明の簡単のため、AIアプリケーションとして説明したが、前述の通り、AIアプリケーションはSWコンポーネントB1、B2、B3、・・・Bnなど複数のSWコンポーネントで定義されており、AIアプリケーションが展開された際に、各SWコンポーネントがどこに展開されたかをクラウド側のストレージ管理部などに記憶しておき、Hubは、処理ステップPS27を処理する際に、ストレージ管理部から各SWコンポーネントの展開された装置(場所)を読み出し、その展開された装置に対して、展開指示を送信するようにされている。展開指示を受けた装置は、処理ステップPS28において、展開制御モジュールのコンテナDBからアップデートされたSWコンポーネントをダウンロードして展開する。
なお、ここで言及するAIアプリケーションとは、AIモデル以外のSWコンポーネントである。
【0257】
また、AIモデルとAIアプリケーションの双方が一つの装置で動作するとなっていた場合には、AIモデルとAIアプリケーションの双方を一つのコンテナとしてまとめて更新してもよい。その場合には、AIモデルの更新とAIアプリケーションの更新がシーケンシャルではなく同時に行われてもよい。そして、処理ステップPS25、PS26、PS27、PS28の各処理を実行することにより、実現可能である。
【0258】
例えば、カメラ3のイメージセンサISにAIモデルとAIアプリケーションの双方のコンテナを展開することが可能な場合、上述のように処理ステップPS25、PS26、PS27、PS28の各処理を実行することにより、AIモデルやAIアプリケーションの更新を行うことができる。
【0259】
上述した処理を行うことにより、ユーザの使用環境において撮像された撮像画像データを用いてAIモデルの再学習が行われる。従って、ユーザの使用環境において高精度の認識結果を出力できるエッジ側AIモデルを生成することができる。
【0260】
また、車載カメラとしての3を搭載した車両がそれまでと異なる地域を走行している場合や、天候や時刻の変化により撮像装置に入射される入射光の光量が変化した場合など、カメラ3の撮像環境が変化したとしても、その都度適切にAIモデルの再学習を行うことができるため、AIモデルによる認識精度を低下させずに維持することが可能となる。
なお、上述した各処理は、AIモデルの再学習時だけでなく、ユーザの使用環境下においてシステムを初めて稼働させる際に実行してもよい。
【0261】
<8.マーケットプレイスの画面例>
マーケットプレイスに関してユーザに提示される画面の一例について、各図を参照して説明する。
【0262】
図20は、ログイン画面G1の一例を示したものである。
ログイン画面G1には、ユーザIDを入力するためのID入力欄91と、パスワードを入力するためのパスワード入力欄92が設けられている。
【0263】
パスワード入力欄92の下方には、ログインを行うためのログインボタン93と、ログインを取りやめるためのキャンセルボタン94が配置されている。
【0264】
また、更にその下方には、パスワードを忘れたユーザ向けのページへ遷移するための操作子や、新規にユーザ登録を行うためのページに遷移するための操作子等が適宜配置されている。
【0265】
適切なユーザIDとパスワードを入力した後にログインボタン93を押下すると、ユーザ固有のページに遷移する処理がクラウドサーバ1及びユーザ端末2のそれぞれにおいて実行される。
【0266】
図21は、例えば、アプリケーション開発者端末2Aを利用するAIアプリケーション開発者や、AIモデル開発者端末2Cを利用するAIモデル開発者に提示される画面の一例である。
【0267】
各開発者は、開発のために学習用データセットやAIモデルやAIアプリケーションをマーケットプレイスを通じて購入することが可能とされている。また、自身で開発したAIアプリケーションやAIモデルをマーケットプレイスに登録することが可能とされている。
【0268】
図21に示す開発者向け画面G2には、購入可能な学習用データセットやAIモデルやAIアプリケーションなど(以降、まとめて「データ」と記載)が左側に表示されている。
なお、図示していないが、学習用データセットの購入の際に、学習用データセットの画像をディスプレイ上に表示させ、マウス等の入力装置を用いて画像の所望の部分のみを枠で囲み、名前を入力するだけで、学習の準備をすることができる。
例えば、猫の画像でAI学習を行いたい場合、画像上の猫の部分だけを枠で囲むと共に、テキスト入力として「猫」と入力することによって、猫のアノテーションが付加された画像をAI学習用に準備することができる。
また、所望のデータを見つけやすいように、「渋滞状況の更新(把握)」、「事故状態の更新(把握)」、「地域ごとの燃料価格の更新(把握)」、「交通監視」、「動線分析」、「来店客カウント」のような目的を選択可能とされていてもよい。即ち、選択された目的に適合するデータのみが表示されるような表示処理がクラウドサーバ1及びユーザ端末2のそれぞれにおいて実行される。
【0269】
なお、開発者向け画面G2においては、各データの購入価格が表示されていてもよい。
【0270】
また、開発者向け画面G2の右側には、開発者が収集または作成した学習用データセットや、開発者が開発したAIモデルやAIアプリケーションを登録するための入力欄95が設けられている。
【0271】
各データごとに、名称やデータの保存場所を入力するための入力欄95が設けられている。また、AIモデルについては、リトレーニングの要/不要を設定するためのチェックボックス96が設けられている。
【0272】
なお、登録対象のデータを購入する際に必要な価格を設定可能な価格設定欄(図中では入力欄95として記載)などが設けられていてもよい。
【0273】
また、開発者向け画面G2の上部には、ユーザ情報の一部としてユーザ名や最終ログイン日などが表示されている。なお、これ以外にも、ユーザがデータ購入の際に使用可能な通貨量やポイント数などが表示されていてもよい。
【0274】
図22は、例えば、自身が管理するエッジ側の情報処理装置としてのカメラ3にAIアプリケーションやAIモデルを展開することにより、各種の分析等を行うユーザ(上述したアプリケーション利用ユーザ)に提示される利用者向け画面G3の一例である。
【0275】
ユーザは、マーケットプレイスを介して監視対象の空間に配置するカメラ3を購入可能とされている。従って、利用者向け画面G3の左側には、カメラ3に搭載されるイメージセンサISの種類や性能、そしてカメラ3の性能等を選択可能なラジオボタン97が配置されている。
【0276】
また、ユーザは、マーケットプレイスを介してフォグサーバ4としての情報処理装置を購入可能とされている。従って、利用者向け画面G3の左側には、フォグサーバ4の各性能を選択するためのラジオボタン97が配置されている。
また、既にフォグサーバ4を有しているユーザはフォグサーバ4の性能情報をここに入力することによって、フォグサーバ4の性能を登録することができる。
【0277】
ユーザは、自身が経営する店舗などの任意の場所に購入したカメラ3(或いは、マーケットプレイスを介さずに購入したカメラ3でもよい)を設置することにより所望の機能を実現するが、マーケットプレイスでは、各カメラ3の機能を最大限に発揮させるために、カメラ3の設置場所についての情報を登録することが可能とされている。
【0278】
利用者向け画面G3の右側には、カメラ3が設置される環境についての環境情報を選択可能なラジオボタン98が配置されている。ユーザは、カメラ3が設置される環境についての環境情報を適切に選択することにより、上述した最適な撮像設定を対象のカメラ3に設定される。
【0279】
なお、カメラ3を購入すると共に該購入予定のカメラ3の設置場所が決まっている場合には、利用者向け画面G3の左側の各項目と右側の各項目を選択することにより、設置予定場所に応じて最適な撮像設定が予め設定されたカメラ3を購入することができる。
【0280】
利用者向け画面G3には実行ボタン99が設けられている。実行ボタン99を押下することにより、購入についての確認を行う確認画面や、環境情報の設定を確認するための確認画面へと遷移する。これにより、ユーザは、所望のカメラ3やフォグサーバ4を購入することや、カメラ3についての環境情報の設定を行うことが可能とされる。
【0281】
マーケットプレイスにおいては、カメラ3の設置場所を変更したときのために、各カメラ3の環境情報を変更することが可能とされている。図示しない変更画面においてカメラ3の設置場所についての環境情報を入力し直すことにより、カメラ3に最適な撮像設定を設定し直すことが可能となる。
【0282】
<9.まとめ>
上述した各例において説明したように、クラウド側情報処理装置(クラウドサーバ1や管理サーバ5)としての情報処理装置は、人工知能モデル(AIモデル)を用いて推論処理を行うエッジ側情報処理装置(カメラ3やフォグサーバ4)からセンサに関する情報を取得する情報取得部10と、目的情報と取得したセンサに係る情報とに基づいてエッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部11と、選択された人口知能モデルをエッジ側情報処理装置に送信する送信処理部12と、を備えている。
これにより、エッジ側情報処理装置から得られる情報に基づいて、得たい情報を取得するための人工知能モデルを選択して展開することが可能となる。
従って、エッジ側情報処理装置は、選択された新たな人工知能モデルを用いて状況に応じた適切な情報を得ることが可能となる。
【0283】
図4等を参照して説明したように、クラウド側情報処理装置の情報取得部10は、選択された人工知能モデル(AIモデル)を用いた推論結果をエッジ側情報処理装置(カメラ3やフォグサーバ4)から取得し、推論結果を用いて目的情報に応じた処理を行う対応処理部を備えていてもよい。
例えば、エッジ側情報処理装置から得た道路状況に関する情報を取得した場合には、対応処理として道路状況を地図データ上に反映すると共に、該地図データを用いた経路情報を提供するサービス等において道路状況を加味した経路を選択する。そして、経路情報提供サービスを利用中のユーザに対しては、道路状況を加味して新たに選択された経路を推奨経路として案内してユーザに経路を変更させることができる。
また、エッジ側情報処理装置から地域ごとの燃料価格の情報を取得した場合には、対応処理として地域ごとの燃料価格が記憶されたデータベースを更新する処理などを行うことができる。
【0284】
上述したように、目的情報は、推論処理の推論結果の使用目的についての情報とされてもよい。
例えば、推論結果として得られる道路状況を地図データ上に反映させたいという目的がある場合に、エッジ側情報処理装置(カメラ3やフォグサーバ4)に展開可能とされ、且つ、地図データ上に反映させるための道路状況を取得するための人工知能モデル(AIモデル)が選択される。
これにより、選択された人工知能モデルが展開されたエッジ側情報処理装置において、目的に応じた情報を得ることが可能となる。
【0285】
上述したように、センサに関する情報は、センサの種類についての情報とされてもよい。
例えば、店頭や歩道等に設置された看板を用いて燃料価格についての情報が表示されている場合に、エッジ側情報処理装置(カメラ3やフォグサーバ4)が価格情報を取得可能なRGBセンサなどを有している場合に限って、当該エッジ側情報処理装置に選択された人工知能モデル(AIモデル)が展開される。これにより、選択された人工知能モデルを利用できないエッジ側情報処理装置に当該人工知能モデルが展開されてしまうことを防止することができる。
【0286】
上述したように、センサに関する情報は、センシング情報としての位置情報とされてもよい。
これにより、エッジ側情報処理装置(カメラ3やフォグサーバ4)の位置情報を得ることができる。従って、位置情報に応じて人工知能モデル(AIモデル)を選択することが可能となる。
【0287】
図13等を参照して説明したように、使用目的は、地域ごとに異なる情報を取得する目的とされてもよい。
これにより、エッジ側情報処理装置(カメラ3やフォグサーバ4)から得た推論結果の情報とエッジ側情報処理装置の位置情報を紐付けることができる。そして、位置情報と推論結果が紐付けられたこのような情報を複数得ることにより、地域ごとに異なる情報として、例えば、道路状況についての情報などを地図データ上にマッピングすることが可能となる。
【0288】
図13等を参照して説明したように、使用目的は、道路状況についての情報を得る目的とされてもよい。
例えば、地震などの災害が発生した際に、各地域に存在するエッジ側情報処理装置(カメラ3やフォグサーバ4)において道路状況に関する情報を取得するための人工知能モデル(AIモデル)が選択される。そして、これらが各地域に存在するエッジ側情報処理装置に展開されることにより、地域ごとの道路状況を地図データ上にマッピングすることが可能となる。道路状況とは、上述したように、道路の損傷の程度や損傷の有無を示す情報や、渋滞状況を示す情報などが挙げられる。
【0289】
図13等を参照して説明したように、使用目的は、車両に使用する燃料についての価格情報を得る目的とされてもよい。
例えば、地域ごとに燃料価格が異なる場合に、各地域に存在するエッジ側情報処理装置(カメラ3やフォグサーバ4)において燃料価格についての情報を取得するための人工知能モデル(AIモデル)が選択される。そして、これらが各地域に存在するエッジ側情報処理装置に展開されることにより、地域ごとの燃料価格を地図データ上にマッピングすることが可能となる。
【0290】
上述した各例で説明したように、エッジ側情報処理装置(カメラ3やフォグサーバ4)としての情報処理装置は、サーバ装置(クラウド側情報処理装置)にセンサに関する情報を送信する送信処理部(制御部33)と、目的情報と送信したセンサに関する情報とに基づいて選択された人工知能モデル(AIモデル)を受信する受信処理部(制御部33)と、受信した人工知能モデルを用いた推論処理を行う推論処理部(AI画像処理部44)と、を備え、送信処理部は、推論処理の推論結果をサーバ装置に送信する。
これにより、エッジ側情報処理装置は、サーバ装置で選択された新たな人工知能モデルを用いて推論処理を行うことができる。従って、サーバ装置の目的に応じた推論結果をサーバ装置に送信することが可能となる。
【0291】
図4等を参照して説明したように、情報処理装置としてのエッジ側情報処理装置(カメラ3やフォグサーバ4)の送信処理部(制御部33)は、起動時にセンサに関する情報を送信してもよい。
これにより、サーバ装置(クラウド側情報処理装置)は、カメラ3等の情報処理装置からセンサに関する情報を受信したことをトリガとして、人工知能モデル(AIモデル)の選択を行うことができる。従って、サーバ装置は、情報処理装置が起動しているか否かを常時監視している必要がなく、サーバ装置の処理負担を軽減することができる。
【0292】
上述した情報処理システム100は、サーバ装置(クラウドサーバ1や管理サーバ5)と、エッジ側情報処理装置(カメラ3やフォグサーバ4)と、を備えている。
そして、サーバ装置は、エッジ側情報処理装置からセンサに関する情報を取得する情報取得部10と、目的情報と取得したセンサに係る情報とに基づいてエッジ側情報処理装置に展開する人工知能モデル(AIモデル)を選択するモデル選択部11と、選択された人口知能モデルをエッジ側情報処理装置に送信する送信処理部12と、を有している。
また、エッジ側情報処理装置は、サーバ装置にセンサに関する情報を送信する送信処理部(制御部33)と、選択された人工知能モデルを受信する受信処理部(制御部33)と、受信した人工知能モデルを用いた推論処理を行う推論処理部(AI画像処理部44)と、を有したものである。
このような情報処理システム100により、各地に位置するエッジ側情報処理装置を用いた推論結果としての情報を収集し、各種の分析や情報の提示に用いることが可能となる。
【0293】
本技術における情報処理方法は、人工知能モデルを用いて推論処理を行うエッジ側情報処理装置からセンサに関する情報を取得する処理と、目的情報と取得したセンサに係る情報とに基づいてエッジ側情報処理装置に展開する人工知能モデルを選択する処理と、選択された人口知能モデルをエッジ側情報処理装置に送信する処理と、をクラウド側情報処理装置としてのコンピュータ装置が実行するものである。
【0294】
また、本技術における情報処理方法は、サーバ装置にセンサに関する情報を送信する処理と、目的情報と送信したセンサに関する情報とに基づいて選択された人工知能モデルを受信する処理と、受信した人工知能モデルを用いた推論処理と、推論処理の推論結果をサーバ装置に送信する処理と、をエッジ側情報処理装置としてのコンピュータ装置が実行するものである。
【0295】
本技術のプログラムは、
図6、
図8及び
図10に示す各処理をクラウド側情報処理装置(クラウドサーバ1、管理サーバ5)の演算処理部に実行させるものである。
また、本技術のプログラムは、
図5、
図7及び
図9に示す各処理をエッジ側情報処理装置(カメラ3、フォグサーバ4)の演算処理部に実行させるものである。
【0296】
このようなプログラムは、コンピュータ装置等の機器に内蔵されている記録媒体としてのHDD(Hard Disk Drive)や、CPUを有するマイクロコンピュータ内のROM等に予め記録しておくことができる。あるいはまたプログラムは、フレキシブルディスク、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc(登録商標))、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【0297】
なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
【0298】
また、上述した各例はいかように組み合わせてもよく、各種の組み合わせを用いた場合であっても上述した種々の作用効果を得ることが可能である。
【0299】
<10.本技術>
本技術は以下のような構成を採ることもできる。
(1)
人工知能モデルを用いて推論処理を行うエッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、
目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、
前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を備えた
情報処理装置。
(2)
前記情報取得部は、前記選択された人工知能モデルを用いた推論結果を前記エッジ側情報処理装置から取得し、
前記推論結果を用いて前記目的情報に応じた処理を行う対応処理部を備えた
上記(1)に記載の情報処理装置。
(3)
前記目的情報は、前記推論処理の推論結果の使用目的についての情報とされた
上記(1)から上記(2)の何れかに記載の情報処理装置。
(4)
前記センサに関する情報は、センサの種類についての情報とされた
上記(3)に記載の情報処理装置。
(5)
前記センサに関する情報は、センシング情報としての位置情報とされた
上記(3)から上記(4)の何れかに記載の情報処理装置。
(6)
前記使用目的は、地域ごとに異なる情報を取得する目的とされた
上記(5)に記載の情報処理装置。
(7)
前記使用目的は、道路状況についての情報を得る目的とされた
上記(3)から上記(6)の何れかに記載の情報処理装置。
(8)
前記使用目的は、車両に使用する燃料についての価格情報を得る目的とされた
上記(3)から上記(6)の何れかに記載の情報処理装置。
(9)
サーバ装置にセンサに関する情報を送信する送信処理部と、
目的情報と前記送信したセンサに関する情報とに基づいて選択された人工知能モデルを受信する受信処理部と、
前記受信した人工知能モデルを用いた推論処理を行う推論処理部と、を備え、
前記送信処理部は、前記推論処理の推論結果を前記サーバ装置に送信する
情報処理装置。
(10)
前記送信処理部は、起動時に前記センサに関する情報を送信する
上記(9)に記載の情報処理装置。
(11)
前記センサに関する情報は、センシング情報としての位置情報とされた
上記(9)から上記(10)の何れかに記載の情報処理装置。
(12)
サーバ装置と、エッジ側情報処理装置と、を備え、
前記サーバ装置は、
前記エッジ側情報処理装置からセンサに関する情報を取得する情報取得部と、
目的情報と前記取得したセンサに係る情報とに基づいて前記エッジ側情報処理装置に展開する人工知能モデルを選択するモデル選択部と、
前記選択された人口知能モデルを前記エッジ側情報処理装置に送信する送信処理部と、を有し、
前記エッジ側情報処理装置は、
前記サーバ装置に前記センサに関する情報を送信する送信処理部と、
前記選択された人工知能モデルを受信する受信処理部と、
前記受信した人工知能モデルを用いた推論処理を行う推論処理部と、を有した
情報処理システム。
【符号の説明】
【0300】
1 クラウドサーバ(情報処理装置、サーバ装置)
3 カメラ(エッジ側情報処理装置、情報処理装置)
4 フォグサーバ(エッジ側情報処理装置、情報処理装置)
5 管理サーバ(情報処理装置、サーバ装置)
10 情報取得部
11 モデル選択部
12 送信処理部
13 対応処理部
33 制御部(送信処理部、受信処理部)
44 AI画像処理部(推論処理部)
100 情報処理システム