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

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

▶ コニカミノルタ株式会社の特許一覧

特許7574977データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法
<>
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図1
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図2
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図3
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図4
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図5
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図6
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図7
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図8
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図9
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図10
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図11
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図12
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図13
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図14
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図15
  • 特許-データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法
(51)【国際特許分類】
   G06F 18/20 20230101AFI20241022BHJP
   G06N 20/00 20190101ALI20241022BHJP
   G06Q 50/10 20120101ALI20241022BHJP
   G16Y 40/20 20200101ALI20241022BHJP
【FI】
G06F18/20
G06N20/00
G06Q50/10
G16Y40/20
【請求項の数】 15
(21)【出願番号】P 2024550885
(86)(22)【出願日】2023-11-28
(86)【国際出願番号】 JP2023042509
【審査請求日】2024-08-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】▲高▼橋 和弥
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2023-148858(JP,A)
【文献】特開2019-216303(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/20
G06N 20/00
G06Q 50/10
G16Y 40/20
(57)【特許請求の範囲】
【請求項1】
センシングデータをそれぞれ生成する複数のセンシング部と、
前記複数のセンシング部により生成された複数の前記センシングデータを受信及び送信する中継部と、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理部と、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断部と、
を備えることを特徴とするデータ処理システム。
【請求項2】
前記複数のセンシングデータの各々は、時系列データを含み、
前記第1判断部は、前記複数のセンシングデータの相互の連続性又は変化量に基づいて前記センシング部の数を判断する
ことを特徴とする請求項1に記載のデータ処理システム。
【請求項3】
前記複数のセンシング部は、同一種別の前記センシングデータを生成する同一種別の機器であることを特徴とする請求項1に記載のデータ処理システム。
【請求項4】
前記複数のセンシング部の各々はカメラであり、
前記複数のセンシングデータの各々は、前記カメラにより撮影された画像データであり、
前記第1判断部は、前記所定の解析として前記画像データの画像解析を行う
ことを特徴とする請求項1に記載のデータ処理システム。
【請求項5】
前記複数のセンシング部の各々はマイクであり、
前記複数のセンシングデータの各々は、前記マイクにより録音された音声データであり、
前記第1判断部は、前記所定の解析として前記音声データの音声解析を行う
ことを特徴とする請求項1に記載のデータ処理システム。
【請求項6】
前記第1判断部は、
前記所定の解析において、前記複数のセンシングデータに対してパターン解析を行うことで前記複数のセンシングデータのうち所定の近似条件を満たす2以上の前記センシングデータを特定し、
前記近似条件を満たす前記2以上のセンシングデータが1つの前記センシング部により生成されたと判定する方法により、前記センシング部の数を判断する
ことを特徴とする請求項1に記載のデータ処理システム。
【請求項7】
前記複数のセンシングデータの各々は、所定のセンシング対象に係る対象データと、前記対象データ以外のバックグラウンドデータとを含み、
前記第1判断部は、前記所定の解析において、前記複数のセンシングデータのうち前記バックグラウンドデータ同士が前記近似条件を満たす前記2以上のセンシングデータを特定する
ことを特徴とする請求項6に記載のデータ処理システム。
【請求項8】
前記第1判断部による前記センシング部の数の判断結果に関する情報を、前記処理部を運用するユーザーに対して通知するための処理を行う通知制御部を備えることを特徴とする請求項1に記載のデータ処理システム。
【請求項9】
前記判断結果に関する情報は、前記センシング部の数、前記センシング部の数に応じた前記処理部のレスポンス速度、前記センシング部の数に応じて特定された前記複数のセンシング部の故障台数、前記センシング部の数に基づく前記ユーザーへの課金額のうち少なくとも1つを含むことを特徴とする請求項8に記載のデータ処理システム。
【請求項10】
前記処理部が実行する前記所定の処理は、予め機械学習された学習モデルに対して前記センシングデータを入力することで前記学習モデルから出力結果を取得する処理を含むことを特徴とする請求項1に記載のデータ処理システム。
【請求項11】
前記処理部を運用するユーザーとの契約であって、前記中継部を介して前記処理部に接続可能な前記センシング部の最大数が規定された契約に関する契約情報を記憶する記憶部と、
前記契約情報と、前記第1判断部による前記センシング部の数の判断結果とに基づいて、前記契約に関する契約違反があるか否かを判断する第2判断部と、
を備えることを特徴とする請求項1に記載のデータ処理システム。
【請求項12】
請求項1~11のいずれか一項に記載のデータ処理システムと、
前記第1判断部による前記センシング部の数の判断結果に基づいて、前記処理部を運用するユーザーへの課金額を判断する第3判断部と、
を備えることを特徴とする課金判断システム。
【請求項13】
複数のセンシング部により生成された複数のセンシングデータを受信及び送信する中継部に接続される情報処理装置であって、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理部と、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断部と、
を備えることを特徴とするデータ処理装置。
【請求項14】
複数のセンシング部により生成された複数のセンシングデータを受信及び送信する中継部に接続される情報処理装置に設けられたコンピューターを、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理手段、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断手段、
として機能させることを特徴とするプログラム。
【請求項15】
コンピューターが実行するデータ処理方法であって、
複数のセンシング部がそれぞれセンシングデータを生成するデータ生成ステップと、
前記データ生成ステップにおいて生成された複数の前記センシングデータを中継部が受信及び送信する中継ステップと、
前記中継ステップにおいて送信された前記複数のセンシングデータに対して所定の処理を実行する処理ステップと、
前記中継ステップにおいて送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断ステップと、
を含むことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法に関する。
【背景技術】
【0002】
従来、データ処理システムに用いられるアプリケーションプログラムをコンテナの形態でユーザーに提供するサービスが行われている(例えば、特許文献1)。例えば、カメラ等の複数のセンシング部により生成されたセンシングデータをコンテナのアプリケーションプログラムにより処理するデータ処理システムを構築することで、IoT(Internet of Things)を実現することができる。コンテナの提供者は、接続されているセンシング部の数やコンテナの使用量に応じてユーザーに課金を行う。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2022-142986号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
データ処理システムにおいて、複数のセンシング部と、コンテナに係る処理を行う処理部との間に、中間サーバー等の中継部が介在する場合がある。中継部は、複数のセンシング部が生成したセンシングデータを受信し、後段の処理部に送信する。この構成では、中継部において、複数のセンシングデータから、センシングデータを生成したセンシング部を表す識別情報が失われ得る。このため、接続されているセンシング部の数を正確に特定することができないという課題がある。
【0005】
この発明の目的は、接続されているセンシング部の数をより正確に特定することが可能なデータ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載のデータ処理システムの発明は、
センシングデータをそれぞれ生成する複数のセンシング部と、
前記複数のセンシング部により生成された複数の前記センシングデータを受信及び送信する中継部と、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理部と、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断部と、
を備えることを特徴としている。
【0007】
請求項2に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記複数のセンシングデータの各々は、時系列データを含み、
前記第1判断部は、前記複数のセンシングデータの相互の連続性又は変化量に基づいて前記センシング部の数を判断する
ことを特徴としている。
【0008】
請求項3に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記複数のセンシング部は、同一種別の前記センシングデータを生成する同一種別の機器であることを特徴としている。
【0009】
請求項4に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記複数のセンシング部の各々はカメラであり、
前記複数のセンシングデータの各々は、前記カメラにより撮影された画像データであり、
前記第1判断部は、前記所定の解析として前記画像データの画像解析を行う
ことを特徴としている。
【0010】
請求項5に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記複数のセンシング部の各々はマイクであり、
前記複数のセンシングデータの各々は、前記マイクにより録音された音声データであり、
前記第1判断部は、前記所定の解析として前記音声データの音声解析を行う
ことを特徴としている。
【0011】
請求項6に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記第1判断部は、
前記所定の解析において、前記複数のセンシングデータに対してパターン解析を行うことで前記複数のセンシングデータのうち所定の近似条件を満たす2以上の前記センシングデータを特定し、
前記近似条件を満たす前記2以上のセンシングデータが1つの前記センシング部により生成されたと判定する方法により、前記センシング部の数を判断する
ことを特徴としている。
【0012】
請求項7に記載の発明は、請求項6に記載のデータ処理システムにおいて、
前記複数のセンシングデータの各々は、所定のセンシング対象に係る対象データと、前記対象データ以外のバックグラウンドデータとを含み、
前記第1判断部は、前記所定の解析において、前記複数のセンシングデータのうち前記バックグラウンドデータ同士が前記近似条件を満たす前記2以上のセンシングデータを特定する
ことを特徴としている。
【0013】
請求項8に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記第1判断部による前記センシング部の数の判断結果に関する情報を、前記処理部を運用するユーザーに対して通知するための処理を行う通知制御部を備えることを特徴としている。
【0014】
請求項9に記載の発明は、請求項8に記載のデータ処理システムにおいて、
前記判断結果に関する情報は、前記センシング部の数、前記センシング部の数に応じた前記処理部のレスポンス速度、前記センシング部の数に応じて特定された前記複数のセンシング部の故障台数、前記センシング部の数に基づく前記ユーザーへの課金額のうち少なくとも1つを含むことを特徴としている。
【0015】
請求項10に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記処理部が実行する前記所定の処理は、予め機械学習された学習モデルに対して前記センシングデータを入力することで前記学習モデルから出力結果を取得する処理を含むことを特徴としている。
【0016】
請求項11に記載の発明は、請求項1に記載のデータ処理システムにおいて、
前記処理部を運用するユーザーとの契約であって、前記中継部を介して前記処理部に接続可能な前記センシング部の最大数が規定された契約に関する契約情報を記憶する記憶部と、
前記契約情報と、前記第1判断部による前記センシング部の数の判断結果とに基づいて、前記契約に関する契約違反があるか否かを判断する第2判断部と、
を備えることを特徴としている。
【0017】
また、上記目的を達成するため、請求項12に記載の課金判断システムの発明は、
請求項1~11のいずれか一項に記載のデータ処理システムと、
前記第1判断部による前記センシング部の数の判断結果に基づいて、前記処理部を運用するユーザーへの課金額を判断する第3判断部と、
を備えることを特徴としている。
【0018】
また、上記目的を達成するため、請求項13に記載のデータ処理装置の発明は、
複数のセンシング部により生成された複数のセンシングデータを受信及び送信する中継部に接続される情報処理装置であって、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理部と、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断部と、
を備えることを特徴としている。
【0019】
また、上記目的を達成するため、請求項14に記載のプログラムの発明は、
複数のセンシング部により生成された複数のセンシングデータを受信及び送信する中継部に接続される情報処理装置に設けられたコンピューターを、
前記中継部から送信された前記複数のセンシングデータに対して所定の処理を実行する処理手段、
前記中継部から送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断手段、
として機能させることを特徴としている。
【0020】
また、上記目的を達成するため、請求項15に記載のデータ処理方法の発明は、
コンピューターが実行するデータ処理方法であって、
複数のセンシング部がそれぞれセンシングデータを生成するデータ生成ステップと、
前記データ生成ステップにおいて生成された複数の前記センシングデータを中継部が受信及び送信する中継ステップと、
前記中継ステップにおいて送信された前記複数のセンシングデータに対して所定の処理を実行する処理ステップと、
前記中継ステップにおいて送信された前記複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて前記複数のセンシング部に含まれるセンシング部の数を判断する第1判断ステップと、
を含むことを特徴としている。
【発明の効果】
【0021】
本発明によれば、接続されているセンシング部の数をより正確に特定することができる。
【図面の簡単な説明】
【0022】
図1】データ処理システムの概略構成を示す図である。
図2】AIサーバーの主要な機能構成を示すブロック図である。
図3】中間サーバーの主要な機能構成を示すブロック図である。
図4】管理サーバーの主要な機能構成を示すブロック図である。
図5】コンテナ管理データの内容例を示す図である。
図6】ユーザー管理データの内容例を示す図である。
図7】契約管理データの内容例を示す図である。
図8】ユーザー端末の主要な機能構成を示すブロック図である。
図9】画像データの画像パターンの特定方法を説明する図である。
図10】画像パターンデータの内容例を示す図である。
図11】解析結果データの内容例を示す図である。
図12】画像データの画像パターンの他の特定方法を説明する図である。
図13】セットアップ処理の制御手順を示すフローチャートである。
図14】AI解析管理処理の制御手順を示すフローチャートである。
図15】接続数解析処理の制御手順を示すフローチャートである。
図16】対処処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態を図面に基づいて説明する。
【0024】
(データ処理システムの概要)
図1は、データ処理システム1の概略構成を示す図である。
データ処理システム1(課金判断システム)は、AIサーバー10(データ処理装置)と、中間サーバー20(中継部)と、表示部30と、複数のカメラ40a~40c(複数のセンシング部)と、管理サーバー50と、ユーザー端末60とを備える。中間サーバー20は、AIサーバー10、表示部30、及びカメラ40a~40cとそれぞれ通信可能に接続されている。中間サーバー20と、AIサーバー10、表示部30、及びカメラ40a~40cとの間の各通信経路は、ネットワークNを介していてもよい。AIサーバー10、管理サーバー50及びユーザー端末60は、ネットワークNを介して相互に通信可能に接続されている。ネットワークNは、例えばインターネットであってもよく、また、これに限られない。以下では、カメラ40a~40cのうち任意の1つを指す場合には「カメラ40」と記す。
【0025】
AIサーバー10、中間サーバー20、表示部30及びカメラ40a~40cは、カメラ40a~40cを用いたIoTサービスを実施するエリアに設けられている。当該エリアは、例えば工場又は倉庫等の施設であってもよく、また、これらに限られない。本実施形態では、工場内に設置されたカメラ40a~40cにより、工場内で作業を行う作業員の動作をモニターするIoTサービスを例に挙げて説明する。
【0026】
カメラ40a~40cにより撮影及び生成された複数の画像データ(複数のセンシングデータ)は、中間サーバー20に送信される。本実施形態では、各画像データは動画であるものとする。したがって、各画像データは時系列データを含む。ただし、各画像データは静止画であってもよい。中間サーバー20は、受信した複数の画像データに係る動画を表示部30に表示させる。表示部30に表示された動画は、監視員等によりモニターされる。
【0027】
中間サーバー20は、受信した複数の画像データをAIサーバー10に送信する。AIサーバー10は、AI接続モジュール101及びAIコンテナ102を備える。AI接続モジュール101及びAIコンテナ102は、図2に示すAIサーバー10のCPU11(Central Processing Unit)により実行されるソフトウェア及び/又はミドルウェアを含む。以下では、便宜上、「AI接続モジュール101(又はAIコンテナ102)を実行することでCPU11が動作mを行う」ことを、「AI接続モジュール101(又はAIコンテナ102)が動作mを行う」と記載する場合がある。AI接続モジュール101は、受信した複数の画像データをAIコンテナ102に転送する。また、AI接続モジュール101は、受信した複数の画像データを解析することで、カメラ40a~40cの台数を判断する。AI接続モジュール101は、判断結果を管理サーバー50に送信する。AI接続モジュール101による台数の判断方法については、後に詳しく説明する。
【0028】
AIコンテナ102は、画像データに対して所定の画像認識処理を行うように予め機械学習された学習モデルを含む。AIサーバー10は、AIコンテナ102を用いて複数の画像データに対する画像認識処理(所定の処理)を行い、処理結果を中間サーバー20に送信する。本実施形態では、例えば、画像データに係る動画から、作業員を抽出してその作業内容を特定する画像認識処理が行われる。中間サーバー20は、受信した処理結果に基づいて、作業員の作業内容に係る情報を表示部30に表示させる。ただし、AIコンテナ102により実行される処理の内容は、上記に限られない。
【0029】
管理サーバー50は、AI接続モジュール101及びAIコンテナ102を提供するサービスの提供者が管理するサーバー機器である。ユーザー端末60は、AIサーバー10、中間サーバー20、表示部30及びカメラ40a~40cを運用するユーザーが使用する端末装置である。当該ユーザーは、例えば工場を運営する会社に勤務する従業員であってもよい。管理サーバー50は、ユーザーからの要求に応じてAIサーバー10にAI接続モジュール101及びAIコンテナ102等をデプロイする。管理サーバー50は、AIコンテナ102を提供するサービスに係るユーザーとの契約に係る契約情報を管理する。この契約においては、ユーザーが使用するAI接続モジュール101の種類、ユーザーが使用可能なカメラ40a~40cの台数、及び当該台数に応じたユーザーへの課金額等が定められている。
【0030】
(データ処理システムの構成)
次に、データ処理システム1の各装置の構成について説明する。
図2は、AIサーバー10の主要な機能構成を示すブロック図である。
AIサーバー10は、CPU11と、RAM42(Random Access Memory)と、記憶部13と、通信部14とを備える。AIサーバー10の各部は、バス等の通信経路により接続されている。
【0031】
CPU11は、記憶部13に記憶されているプログラム131に従って各種処理を実行することで、AIサーバー10の各部の動作を制御するプロセッサーである。CPU11は、プログラム131に従って各種処理を実行することで、処理部及び第1判断部として機能する。例えば、処理部としてのCPU11は、中間サーバー20から送信された複数の画像データ132に対して所定の処理を実行する。この所定の処理は、AIコンテナ102の学習モデルに対して画像データ132を入力することでAIコンテナ102から画像認識処理に係る出力結果を取得する処理を含む。また、第1判断部としてのCPU11は、AI接続モジュール101を実行することで、複数の画像データ132に対して所定の解析を行い、当該解析の結果に基づいてカメラ40a~40cの数を判断する。AIサーバー10は、CPU11に加え、AIアクセラレーターを備えていてもよい。AIアクセラレーターは、AIコンテナ102の学習モデルのニューラルネットワークにおける推論処理を高速に行うための専用のプロセッサーである。AIアクセラレーターが設けられている場合には、CPU11及びAIアクセラレーターにより処理部が構成される。
【0032】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0033】
記憶部13は、コンピューターとしてのCPU11により読み取り可能な非一時的な記録媒体である。記憶部13は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等により構成される。記憶部13には、プログラム131が記憶されている。プログラム131は、クライアントアプリ1311、AI接続モジュール101及びAIコンテナ102を含む。クライアントアプリ1311は、IoTサービスに関する各種動作をAIサーバー10に行わせるためのアプリケーションプログラムである。クライアントアプリ1311は、管理サーバー50からダウンロードされて記憶部13にインストールされる。
【0034】
AIコンテナ102は、上述の学習モデルを含む。AIコンテナ102は、この学習モデルを利用するための各種データ及びミドルウェア等を用いてAIサーバー10のホストOS上に構築されたアプリケーション環境である。詳しくは、AIコンテナ102は、ホストOS上で動作する図示略のコンテナエンジンにより管理される。よって、AIコンテナ102を用いる場合には、ホストOS上にゲストOSを設ける必要がない。このため、ゲストOSを用いる従来の仮想化技術と比較して、CPU11等のハードウェアリソースを効率的に利用することができる。また、AIコンテナ102は、コンテナエンジンが動作する任意の機器にデプロイできる利点がある。
なお、AI接続モジュール101もコンテナの形態であってもよい。
【0035】
記憶部13には、プログラム131の他に、画像データ132、画像パターンデータ133、及び解析結果データ134等が記憶されている。
画像データ132は、カメラ40a~40cによりそれぞれ生成された動画のデータである。記憶部13には、複数の画像データ132が記憶される。
画像パターンデータ133及び解析結果データ134の内容については後述する。
【0036】
通信部14は、予め定められた通信規格に従った通信動作を行う。通信部14は、この通信動作により、中間サーバー20、管理サーバー50及びユーザー端末60との間でデータの送受信を行う。
【0037】
図3は、中間サーバー20の主要な機能構成を示すブロック図である。
中間サーバー20は、CPU21と、RAM22と、記憶部23と、通信部24とを備える。中間サーバー20の各部は、バス等の通信経路により接続されている。
【0038】
CPU21は、記憶部23に記憶されているプログラム231に従って各種処理を実行することで、中間サーバー20の各部の動作を制御するプロセッサーである。例えば、CPU21は、カメラ40a~40cに制御信号を送信して撮影を行わせ、画像データ132を受信する。CPU21は、表示部30に画像データ132及び制御信号を送信して画像データ132に係る画像を表示させる。CPU21は、受信した画像データ132をAIサーバー10に送信する。
【0039】
RAM22は、CPU21に作業用のメモリ空間を提供し、一時データを記憶する。
【0040】
記憶部23は、コンピューターとしてのCPU21により読み取り可能な非一時的な記録媒体である。記憶部13は、HDD又はSSD等により構成される。記憶部23には、プログラム231、及びプログラム231の実行に必要な各種データ等が記憶されている。
【0041】
通信部24は、予め定められた通信規格に従った通信動作を行う。通信部24は、この通信動作により、AIサーバー10、表示部30及びカメラ40a~40cとの間でデータの送受信を行う。
【0042】
図4は、管理サーバー50の主要な機能構成を示すブロック図である。
管理サーバー50は、CPU51と、RAM52と、記憶部53と、通信部54とを備える。管理サーバー50の各部は、バス等の通信経路により接続されている。
【0043】
CPU51は、記憶部53に記憶されているプログラム531に従って各種処理を実行することで、管理サーバー50の各部の動作を制御するプロセッサーである。CPU51は、プログラム531に従って各種処理を実行することで、通知制御部、第2判断部、及び第3判断部として機能する。例えば、通知制御部としてのCPU51は、AIサーバー10から受信したカメラ40a~40cの数の判断結果に関する情報を、AIサーバー10を運用するユーザーに対して通知するための処理を行う。第2判断部としてのCPU51は、契約管理データ534(契約情報)と、上記のカメラ40a~40cの数の判断結果とに基づいて、契約に関する契約違反があるか否かを判断する。第3判断部としてのCPU51は、上記のカメラ40a~40cの数の判断結果に基づいて、ユーザーへの課金額を判断する。
【0044】
RAM52は、CPU51に作業用のメモリ空間を提供し、一時データを記憶する。
【0045】
記憶部53は、コンピューターとしてのCPU51により読み取り可能な非一時的な記録媒体である。記憶部53は、HDD又はSSD等により構成される。記憶部53には、プログラム231、コンテナ管理データ532、ユーザー管理データ533、及び契約管理データ534等が記憶されている。
【0046】
図5は、コンテナ管理データ532の内容例を示す図である。
コンテナ管理データ532は、管理サーバー50が提供可能な、互いに異なる複数種類のAIコンテナの情報を含む。図5では、「コンテナA」、「コンテナB」及び「コンテナC」の3つのAIコンテナの情報が例示されている。このうち「コンテナA」が、本実施形態のAIサーバー10にデプロイされているAIコンテナ102であるものとする。コンテナ管理データ532は、各AIコンテナについて、「推奨接続数」及び「接続デバイス」の情報を含む。
【0047】
「推奨接続数」は、AIコンテナが所期の機能を発揮することのできるカメラ40の最大接続数を表す。言い換えると、AIコンテナに「推奨接続数」よりも多くのカメラ40が接続されると、AIコンテナのレスポンス速度等の性能が所期のレベルよりも低下する。ここで、カメラ40の接続数とは、そのAIコンテナに直接又は間接的に画像データ132を供給するカメラ40の台数である。
「接続デバイス」は、そのAIコンテナに接続することのできるカメラ40の種類を表す。図5に示す例では、「コンテナA」及び「コンテナB」には「カメラX」が接続可能である。「コンテナC」には「カメラY」が接続可能である。「カメラX」及び「カメラY」は、例えば撮影解像度等が互いに異なる。
【0048】
図6は、ユーザー管理データ533の内容例を示す図である。
ユーザー管理データ533は、AIコンテナの提供を受ける複数のユーザーに関する情報を含む。図6では、「ユーザーU1」及び「ユーザーU2」の情報が例示されている。このうち「ユーザーU1」が、本実施形態のAIコンテナ102の提供を受けているユーザーであるものとする。ユーザー管理データ533は、各ユーザーについて、「使用サーバー」、「使用コンテナ」、「接続数」、「接続デバイス」及び「契約」の情報を含む。
【0049】
「使用サーバー」は、そのユーザーが使用(運用)しているAIサーバーを表す。図6のユーザーU1に対応する「AIサーバーS1」は、本実施形態のAIサーバー10に相当する。
「使用コンテナ」は、そのユーザーが提供を受けているAIコンテナの種類を表す。図6のユーザーU1に対応する「コンテナA」は、本実施形態のAIコンテナ102に相当する。
「接続数」は、そのユーザーが使用中の(運用中の)AIコンテナに対して接続されているカメラ40の数を表す。この接続数の情報は、AIサーバー10から管理サーバー50に送信される。
「接続デバイス」は、そのユーザーが使用中のAIコンテナに接続されているカメラ40の種類を表す。
「契約」は、AIコンテナの提供サービスに関する契約であって、ユーザーを一方の当事者として締結されている契約を表す。契約の内容は、契約管理データ534に登録されている。
【0050】
図7は、契約管理データ534の内容例を示す図である。
契約管理データ534は、各ユーザーとの間で締結されている契約の内容に関する情報を含む。図7では、「契約Z1」及び「契約Z2」の情報が例示されている。このうち「契約Z1」が、本実施形態のAIコンテナ102の提供を受けているユーザーとの間で締結されている契約であるものとする。契約管理データ534は、各契約について、「使用コンテナ」、「最大接続数」及び「課金額」の情報を含む。
【0051】
「使用コンテナ」は、ユーザーが使用(運用)するAIコンテナの種類を表す。
「最大接続数」は、AIコンテナ及びその処理部に対して接続可能なカメラ40の最大数を表す。この最大接続数は、コンテナ管理データ532において対応するAIコンテナの「推奨接続数」と同一である。ただし、最大接続数は、契約するユーザーが運用するAIサーバー10のスペック、及び/又はカメラ40のスペックに応じて調整されてもよい。図7の例において、契約Z1では、最大接続数が「10」と規定されている。このため、本実施形態のユーザーは、AIコンテナ102に対して10台まで、中間サーバー20を介してカメラ40を接続することができる。
「課金額」は、「使用コンテナ」の種類、及び「最大接続数」等に応じて定められた、ユーザーへの課金額を表す。
【0052】
図4に戻り、通信部54は、予め定められた通信規格に従った通信動作を行う。通信部54は、この通信動作により、AIサーバー10及びユーザー端末60との間でデータの送受信を行う。
【0053】
図8は、ユーザー端末60の主要な機能構成を示すブロック図である。
ユーザー端末60は、CPU61と、RAM62と、記憶部63と、表示部64と、操作部65と、通信部66とを備える。ユーザー端末60の各部は、バス等の通信経路により接続されている。ユーザー端末60は、例えば、タブレット型端末、ノートPC、又はスマートフォン等であってもよい。
【0054】
CPU61は、記憶部63に記憶されているプログラム631に従って各種処理を実行することで、ユーザー端末60の各部の動作を制御するプロセッサーである。
【0055】
RAM62は、CPU61に作業用のメモリ空間を提供し、一時データを記憶する。
【0056】
記憶部63は、コンピューターとしてのCPU61により読み取り可能な非一時的な記録媒体である。記憶部63は、フラッシュメモリー、HDD又はSSD等により構成される。記憶部63には、プログラム631、及びプログラム631の実行に必要な各種データ等が記憶されている。
【0057】
表示部64は、液晶ディスプレイ等の表示装置を備える。表示部64は、CPU61から入力される制御信号及び画像データに従って、各種の情報表示画面及び操作画面等を表示する。
【0058】
操作部65は、ユーザーにより操作される操作ボタン、及び表示部64の画面に重ねられて設けられたタッチパネル等を備える。操作部65は、操作ボタン及びタッチパネルに対する操作がなされた場合に、当該操作に応じた操作信号をCPU61に出力する。
【0059】
通信部66は、予め定められた通信規格に従った通信動作を行う。通信部66は、この通信動作により、AIサーバー10及び管理サーバー50との間でデータの送受信を行う。
【0060】
図1に示す表示部30は、中間サーバー20から送信された画像データ132に基づいて、カメラ40a~40cにより撮影された画像を表示する。表示部30は、複数のカメラ40a~40cの数に対応する数のモニターを備えていてもよい。表示部30は、これらの複数のモニターにより、複数のカメラ40a~40cが撮影した複数の画像データ132の画像を同時に表示可能であってもよい。表示部30は、AIコンテナ102による解析結果に係る情報を、中間サーバー20を介して受信し、画像データ132に係る画像とともに表示してもよい。例えば、表示部30は、作業者が行っている作業内容を、画像データ132に係る画像とともに表示してもよい。
【0061】
カメラ40a~40cは、AIサーバー10及び中間サーバー20が設けられたローカル環境で動作する。カメラ40a~40cは、それぞれ、工場の所定の位置に所定の角度で設置されている。カメラ40a~40cは、所定のフレームレートで動画を撮影し、画像データ132を生成して中間サーバー20に送信する。例えば、カメラ40a~40cは、所定時間の撮影を行うごとに、画像データ132を生成して都度中間サーバー20に送信する。
【0062】
(データ処理システムの動作)
次に、データ処理システム1の動作について詳細に説明する。
上述のとおり、本実施形態のデータ処理システム1では、カメラ40a~40cにより生成された画像データ132は、中間サーバー20を経由してAIサーバー10に送信される。この構成において、中間サーバー20からAIサーバー10に送信される画像データ132には、どのカメラ40で撮影されたかを識別するための識別情報は含まれないことがある。例えば、カメラ40により生成された画像データ132に、カメラ40の識別情報を含むメタデータが含まれていても、当該メタデータは中間サーバー20において削除される場合がある。この場合、AIサーバー10は、中間サーバー20から受信した画像データ132から、どのカメラ40で撮影された画像であるかを識別できない。このため、契約で規定されている台数よりも多くのカメラ40がAIコンテナ102に接続された過剰接続状態であったとしても、AIサーバー10から情報を取得する管理サーバー50は、過剰接続状態であることを判別できないという問題がある。
【0063】
そこで、本実施形態のデータ処理システム1では、AIサーバー10にインストールされたAI接続モジュール101が、複数の画像データ132を解析してカメラ40の接続数を判断するようになっている。AI接続モジュール101は、上記の解析として、画像データ132の画像解析を行う。具体的には、AI接続モジュール101は、複数の画像データ132に対してパターン解析を行うことで、複数の画像データ132のうち所定の近似条件を満たす2以上の画像データ132を特定する。AI接続モジュール101は、近似条件を満たす2以上の画像データ132が1つのカメラ40により生成されたと判定する方法により、カメラ40の数を判断する。
【0064】
図9は、画像データの画像解析の方法を説明する図である。
ここでは、データ処理システム1のカメラ40により撮影され得る画像パターンとして、図9の左側に示す画像パターンP1及び画像パターンP2が既知であるものとする。画像パターンP1及び画像パターンP2は、工場内の別の場所を撮影した場合の背景画像に相当する。これらの画像パターンP1及び画像パターンP2は、中間サーバー20から受信済み、かつ解析済みの画像データ132から抽出された背景画像である。
【0065】
図9の中央には、中間サーバー20から受信した最新の1つの画像データ132が示されている。この画像データ132のファイル名は「hij.jpg」である。この画像データ132は、所定のセンシング対象としての作業員に相当する対象データ1321と、対象データ1321以外のバックグラウンドデータ1322(背景画像)とを含む。AI接続モジュール101は、画像データ132における対象データ1321の領域を各種公知の画像認識処理で特定し、画像データ132から対象データ1321を削除する。対象データ1321の領域を特定する画像認識処理は、例えば、動画において動きのある部分を対象データ1321の領域であると特定する処理であってもよい。あるいは、上記画像認識処理は、画像データ132において人が写っている領域を特定するように機械学習された学習モデルに画像データ132を入力し、当該学習モデルからの出力に基づいて対象データ1321の領域を特定する処理であってもよい。
【0066】
AI接続モジュール101は、画像データ132から対象データ1321を除去したバックグラウンドデータ1322に対してパターン解析を行う。あるいは、バックグラウンドデータ1322に代えて、対象データ1321を除去した領域を、バックグラウンドデータ1322と連続するように補完した補完バックグラウンドデータを用いてもよい。AI接続モジュール101は、バックグラウンドデータ1322と画像パターンP1及び画像パターンP2とを比較する。AI接続モジュール101は、バックグラウンドデータ1322と、画像パターンP1又は画像パターンP2とが所定の近似条件を満たす場合に、画像データ132と、画像パターンP1及び画像パターンP2のうち近似条件を満たす一方とが対応すると判別する。近似条件は、所定の画像パターンマッチング処理において、バックグラウンドデータ1322のうち所定割合以上(例えば、80%以上)の部分の特徴が、画像パターンP1又は画像パターンP2の特徴と共通する場合に満たされる、としてもよい。図9に示す例では、画像データ132のバックグラウンドデータ1322は、画像パターンP2との間で近似条件を満たす。このため、AI接続モジュール101は、画像データ132が画像パターンP2に対応すると判断する。判断結果は、図9の右側に示されている。上述のとおり、画像パターンP1及び画像パターンP2は、解析済みの他の画像データ132から抽出されたものである。よって、上記の判断動作は、複数の画像データ132のうちバックグラウンドデータ1322同士が近似条件を満たす2以上の画像データ132を特定すること、に相当する。
【0067】
画像データ132のバックグラウンドデータ1322と、画像パターンP1及び画像パターンP2とが、いずれも近似条件を満たさない場合には、AI接続モジュール101は、バックグラウンドデータ1322を新たな画像パターンとして登録する。また、AI接続モジュール101は、当該画像データ132について、画像パターンP1及び画像パターンP2に対応するカメラ40とは異なる3台目のカメラ40により撮影された画像であると判断する。
【0068】
画像データ132から抽出されたバックグラウンドデータ1322の画像パターンは、画像パターンデータ133に登録される。
図10は、画像パターンデータ133の内容例を示す図である。
図10に示す例では、画像パターンP1~P3の3つの画像パターンについて、それぞれパターンデータD1~D3が登録されている。パターンデータD1~D3は、それぞれ、いずれかの画像データ132から抽出されたバックグラウンドデータ1322、又は当該バックグラウンドデータ1322を補完した補完バックグラウンドデータである。
【0069】
中間サーバー20から受信した各画像データ132についての画像パターンの判断結果は、解析結果データ134に登録される。
図11は、解析結果データ134の内容例を示す図である。
図11に示す例では、ファイル名が「abcd.jpg」、「efgh.jpg」、「hij.jpg」、「klmn.jpg」である4つの画像データ132についての解析結果が登録されている。
【0070】
ファイル名が「abcd.jpg」である最初の画像データ132については、そのバックグラウンドデータ1322がそのまま、対応する画像パターンP1として登録される。この時点では、比較対象の画像パターンがないためである。また、この最初の画像データ132のバックグラウンドデータ1322は、図10の画像パターンデータ133において、画像パターンP1のパターンデータD1として登録される。
【0071】
ファイル名が「efgh.jpg」である2番目の画像データ132については、バックグラウンドデータ1322が画像パターンP1との間で近似条件を満たさないと判断されたものとする。この結果、2番目の画像データ132については、そのバックグラウンドデータ1322がそのまま、対応する画像パターンP2として登録される。また、この2番目の画像データ132のバックグラウンドデータ1322は、図10の画像パターンデータ133において、画像パターンP2のパターンデータD2として登録される。
【0072】
ファイル名が「hij.jpg」である3番目の画像データ132については、図9を参照して説明したとおり、バックグラウンドデータ1322が画像パターンP2との間で近似条件を満たすと判断されている。この結果、3番目の画像データ132は、画像パターンP2に対応すると記録される。このことから、2番目の画像データ132と3番目の画像データ132とは、同一のカメラ40により撮影されたと判断される。
【0073】
ファイル名が「klmn.jpg」である4番目の画像データ132については、バックグラウンドデータ1322が画像パターンP1、P2のいずれとも近似条件を満たさないと判断されたものとする。この結果、4番目の画像データ132については、そのバックグラウンドデータ1322がそのまま、対応する画像パターンP3として登録される。また、この4番目の画像データ132のバックグラウンドデータ1322は、図10の画像パターンデータ133において、画像パターンP3のパターンデータD3として登録される。
【0074】
このような処理を繰り返し、最終的に解析結果データ134において登録された対応する画像パターンの種類の数が、中間サーバー20に接続されているカメラ40の数であると判断される。
【0075】
なお、画像パターンは、画像データ132から抽出したバックグラウンドデータ1322に代えて、予め工場内を撮影することで生成されたものであってもよい。この場合には、各画像データ132は、全ての画像パターンとの間で近似条件を満たすか否かが判断される。
また、カメラ40の向きが変化したり、カメラ40が移動したりしている場合には、連続する動画の一部の静止画を切り出して画像パターンと比較することで、対応する画像パターンを判断してもよい。
【0076】
図12は、画像データ132の画像パターンの他の特定方法を説明する図である。
図12の特定方法は、カメラ40a~40cにより生成された動画の画像データ132が、連続した1つのデータとしてAIサーバー10に入力される場合等において用いることができる。この場合には、AI接続モジュール101は、画像データ132を所定の時間幅で複数の画像データ132に分割する。そして、AI接続モジュール101は、複数の画像データ132のバックグラウンドデータ1322の相互の連続性又は変化量に基づいて、画像パターンの種類の数、すなわちカメラ40の数を判断する。
【0077】
詳しくは、図12に示すように、画像データ132が、先頭から「opq.jpg」、「rst.jpg」、「uvw.jpg」に分割されたとする。AI接続モジュール101は、1番目の「opq.jpg」及び2番目の「rst.jpg」のバックグラウンドデータ1322同士(例えば、先頭のフレーム画像データ同士)の連続性又は変化量を評価する。例えば、分割後の2つの画像データ132のバックグラウンドデータ1322を微小領域に区分して、対応する微小領域同士についてパターンマッチング処理を行い、特徴が共通する微小領域の数を、連続性に係る評価値としてもよい。また、特徴が共通しない微小領域の数を、変化量に係る評価値としてもよい。図12の1番目の画像データ132と2番目の画像データ132とは、バックグラウンドデータ1322の連続性に係る評価値が第1基準値より低く、又は変化量に係る評価値が第2基準値より大きいものとする。この場合、AI接続モジュール101は、1番目の画像データ132と2番目の画像データ132とは、画像パターンが異なる、すなわち、異なるカメラ40により撮影されたと判断する。また、図12の2番目の画像データ132と3番目の画像データ132とは、バックグラウンドデータ1322の連続性が第1基準値より高く、又は変化量が第2基準値より小さいものとする。この場合、AI接続モジュール101は、2番目の画像データ132と3番目の画像データ132とは、画像パターンが同一である、すなわち、同一のカメラ40により撮影されたと判断する。
【0078】
直前の画像データ132とは異なるカメラ40により撮影されたと判断された場合、AI接続モジュール101は、既に判断済みの他のいずれかの画像データ132とバックグラウンドデータ1322との間で連続性又は変化量を評価する。AI接続モジュール101は、連続性が第1基準値より高く、又は変化量が第2基準値より小さいバックグラウンドデータ1322の画像データ132がある場合には、これらの画像データ132が同一のカメラ40により撮影されたと判断する。
このような方法によっても、最終的に登録された画像パターンの数により、カメラ40の接続数を判断することができる。バックグラウンドデータ1322の連続性が第1基準値より高く、又は変化量が第2基準値より小さいことは、上述の近似条件を満たすことと対応する。
【0079】
次に、上記の動作を実現するためにデータ処理システム1において実行される、セットアップ処理及びAI解析管理処理の制御手順について説明する。
【0080】
図13は、セットアップ処理の制御手順を示すフローチャートである。
図13では、AIサーバー10のCPU11、管理サーバー50のCPU51、及びユーザー端末60のCPU61が実行する処理が併記されている。図13では、処理のフローが実線で描かれ、装置間で送受信されるデータ等が破線で描かれている。
【0081】
セットアップ処理が開始されると、ユーザー端末60のCPU61は、ユーザーの入力操作に応じて、アカウント作成要求を管理サーバー50に送信する(ステップS101)。管理サーバー50のCPU51は、アカウント作成要求を受信すると、ユーザーのアカウントを作成し、ユーザー管理データ533にユーザーのレコードを作成する(ステップS102)。
【0082】
ユーザー端末60のCPU61は、ユーザーの入力操作に応じて、ライセンス購入申請及びAIサーバー登録申請を管理サーバー50に送信する(ステップS103)。ライセンス購入申請は、AIコンテナ102にカメラ40を接続して使用するために必要なライセンスの購入の申し込みである。AIサーバー登録申請は、AIコンテナ102をデプロイするAIサーバー10の登録の申し込みである。管理サーバー50のCPU51は、ライセンス購入申請及びAIサーバー登録申請を受信すると、ライセンス及び中間サーバー20の情報を、ユーザー管理データ533及び契約管理データ534に登録する(ステップS104)。この後、ユーザーは、所定の方法で、契約に定められた課金額をサービス提供者に送金する。
【0083】
管理サーバー50のCPU51は、クライアントアプリ1311及びAI接続モジュール101をAIサーバー10に送信する(ステップS105)。AIサーバー10のCPU11は、受信したクライアントアプリ1311及びAI接続モジュール101をインストールして起動する(ステップS106)。管理サーバー50のCPU51は、ライセンスしたAIコンテナ102をAIサーバー10に送信する(ステップS107)。AIサーバー10のCPU11は、受信したAIコンテナ102をインストールする(ステップS108)。
【0084】
ステップS108が終了すると、各装置は、セットアップ処理を終了する。図13では省略されているが、この後、中間サーバー20は、接続されている各カメラ40による画像データ132の送信先をAIサーバー10に設定する。
【0085】
セットアップ処理が終了すると、AI解析管理処理が実行される。
図14は、AI解析管理処理の制御手順を示すフローチャートである。
図14では、カメラ40、中間サーバー20のCPU21、AIサーバー10のCPU11、及び管理サーバー50のCPU51が実行する処理が併記されている。図14では、処理のフローが実線で描かれ、装置間で送受信されるデータ等が破線で描かれている。
【0086】
AI解析管理処理が開始されると、各カメラ40は、動画を撮影して画像データ132を生成し、所定のタイミングで中間サーバー20に送信する(ステップS201:データ生成ステップ)。中間サーバー20のCPU21は、受信した画像データ132の画像を表示部30に表示させる(ステップS202)。また、CPU21は、受信した画像データ132をAIサーバー10に送信する(ステップS203:中継ステップ)。図14では省略されているが、ステップS201~S203は、工場の稼働時間内において繰り返し実行される。
【0087】
AIサーバー10のCPU11は、AIコンテナ102に画像データ132を入力し、画像認識処理を実行する(ステップS204:処理ステップ)。すなわち、CPU11は、AIコンテナ102の学習モデルによる画像認識処理の出力を取得する。また、CPU11は、画像認識処理の結果を中間サーバー20に送信する(ステップS205)。
【0088】
AIサーバー10のCPU11は、カメラ40の接続数の解析タイミングであるか否かを判別する(ステップS206)。解析タイミングは、例えば、1日に1回、工場の稼働時間外に定められていてもよい。これにより、1日ごとのカメラ40の接続数を解析することができる。接続数の解析タイミングではないと判別した場合には(ステップS206で“NO”)、CPU11は、処理をステップS204に戻す。接続数の解析タイミングであると判別した場合には(ステップS206で“YES”)、CPU11は、接続数解析処理を実行する(ステップS207:第1判断ステップ)。
【0089】
図15は、接続数解析処理の制御手順を示すフローチャートである。
接続数解析処理が呼び出されると、AIサーバー10のCPU11は、未解析の1つの画像データ132を選択する(ステップS301)。CPU11は、上述した方法で、選択した画像データ132のバックグラウンドデータ1322を抽出する(ステップS302)。
【0090】
CPU11は、画像パターンデータ133に、1つ以上の画像パターンが登録されているか否かを判別する(ステップS303)。1つ以上の画像パターンが登録されていると判別した場合には(ステップS303で“YES”)、CPU11は、抽出したバックグラウンドデータ1322が、いずれかの画像パターンとの間で近似条件を満たすか否かを判別する(ステップS304)。いずれかの画像パターンとの間で近似条件を満たすと判別した場合には(ステップS304で“YES”)、CPU11は、選択中の画像データ132と、近似条件を満たす画像パターンとを対応付けて解析結果データ134に登録する(ステップS305)。
【0091】
一方、ステップS303又はS304において“NO”に分岐した場合には、CPU11は、抽出したバックグラウンドデータ1322を、新たな画像パターンのパターンデータとして画像パターンデータ133に登録する(ステップS306)。CPU11は、選択中の画像データ132と、登録した新たな画像パターンとを対応付けて解析結果データ134に登録する(ステップS307)。
【0092】
ステップS305又はS307が終了すると、CPU11は、未解析の画像データ132があるか否かを判別する(ステップS308)。未解析の画像データ132があると判別した場合には(ステップS308で“YES”)、CPU11は、未解析の次の画像データ132を選択し(ステップS309)、処理をステップS302に戻す。全ての画像データ132が解析済であると判別した場合には(ステップS308で“NO”)、CPU11は、処理をステップS310に移行させる。ステップS310では、CPU11は、解析結果データ134において画像データ132に対応付けられている画像パターンの種類の数を、カメラ40の接続数と判断し、判断結果をRAM12又は記憶部13に記憶させる。ステップS310が終了すると、CPU11は、接続数解析処理を終了させて、処理を図14のAI解析管理処理に戻す。
【0093】
図14の接続数解析処理(ステップS207)が終了すると、CPU11は、カメラ40の接続数の情報を管理サーバー50に送信する(ステップS208)。管理サーバー50のCPU51は、受信した接続数の情報をユーザー管理データ533に登録する(ステップS209)。その後、CPU51は、接続数に関する対処を行うための対処処理を実行する(ステップS210)。
【0094】
図16は、対処処理の制御手順を示すフローチャートである。
対処処理が呼び出されると、CPU51は、ユーザーに通知する予定の判断結果情報を生成し、判断結果情報に、カメラ40の接続数の情報を追加する(ステップS401)。CPU51は、コンテナ管理データ532を参照し、接続数が推奨接続数より多いか否かを判別する(ステップS402)。接続数が推奨接続数より多いと判別した場合には(ステップS402で“YES”)、CPU51は、判断結果情報に、推奨接続数より多い旨の警告、及び接続数に応じたレスポンス速度の情報を追加する(ステップS403)。判断結果情報に、AIコンテナ102が正常に動作しない可能性がある旨の警告を含めてもよい。
【0095】
ステップS403が終了した場合、又はステップS402において、接続数が推奨接続数以下であると判別した場合には(ステップS402で“NO”)、CPU51は、ステップS404を実行する。ステップS404において、CPU11は、契約管理データ534を参照し、接続数が、契約に規定された最大接続数より多いか否かを判別する。接続数が、最大接続数より多いと判別した場合には(ステップS404で“YES”)、CPU51は、契約の内容に基づいてユーザーへの課金額を算出する(ステップS405)。CPU51は、判断結果情報に、契約違反の状態であること、及び算出された課金額の情報を追加する(ステップS406)。
【0096】
ステップS406が終了した場合、又はステップS404において、接続数が、契約に規定された最大接続数以下であると判別した場合には(ステップS404で“NO”)、CPU51は、ステップS407を実行する。ステップS407において、CPU51は、前回の通知処理の時点よりも接続数が低下しているか否かを判別する。接続数が低下していると判別した場合には(ステップS407で“YES”)、CPU51は、接続数の低下をカメラ40の故障によるものとみなし、判断結果情報に、カメラ40の故障台数の情報を追加する(ステップS408)。
【0097】
ステップS408が終了した場合、又はステップS407において、接続数が低下していないと判別した場合には(ステップS407で“NO”)、CPU51は、判断結果情報をユーザー端末60に送信する(ステップS409)。判断結果情報の送信は、電子メールの送信、又はメッセージアプリ上のメッセージの送信等の形態で実行されてもよい。ステップS409が終了すると、CPU51は、対処処理を終了させ、処理を図14のAI解析管理処理に戻す。
図14に戻り、通知処理(ステップS210)が終了すると、各装置は、AI解析管理処理を終了する。
【0098】
(変形例1)
次に、上記実施形態の変形例1について説明する。以下では、上記実施形態と異なる点について説明し、上記実施形態と共通する点については説明を省略する。
AI接続モジュール101は、AIサーバー10の外部に設けられていてもよい。例えば、AI接続モジュール101は、管理サーバー50に設けられていてもよい。この場合には、AIサーバー10に、AI接続モジュール101に代えて画像転送モジュールを設ける。この画像転送モジュールは、AIサーバー10が受信した画像データ132を、AIコンテナ102に入力し、かつ、管理サーバー50に送信する。管理サーバー50のAI接続モジュール101は、受信した画像データ132に基づいて、上記実施形態と同様にカメラ40の接続数を判断する。したがって、この場合には、AI接続モジュール101を実行する管理サーバー50のCPU51が、第1判断部に相当する。
【0099】
(変形例2)
次に、上記実施形態の変形例2について説明する。以下では、上記実施形態と異なる点について説明し、上記実施形態と共通する点については説明を省略する。変形例2は、変形例1と組み合わせてもよい。
上記実施形態では、センシング部としてカメラ40を例示したが、センシング部は、センシングデータとして環境に係るデータを取得可能な任意の機器であってもよい。例えば、センシング部として、音を録音して音声データを生成するマイクを用いてもよい。この場合には、AI接続モジュール101は、複数のマイクが生成した複数の音声データに対する音声解析を実行して、マイクの接続数を判別する。音声データも、センシング対象に係る対象データと、対象データ以外のバックグラウンドデータとを含む。対象データは、例えば人の会話の声であり、バックグラウンドデータは、例えば環境音である。AI接続モジュール101は、複数の音声データのバックグラウンドデータ同士が近似条件を満たすか否かを判断する。AI接続モジュール101は、バックグラウンドデータ同士が近似条件を満たす2以上の音声データが、同一のマイクにより生成されたと判断する。
【0100】
(効果)
以上のように、本実施形態に係るデータ処理システム1は、複数のセンシング部としての複数のカメラ40と、中継部としての中間サーバー20と、処理部及び第1判断部としてのCPU11を有するAIサーバー10と、を備える。複数のカメラ40の各々は、センシングデータとしての画像データ132を生成する。中間サーバー20は、複数のカメラ40により生成された複数の画像データ132を受信及び送信する。処理部としてのCPU11は、中間サーバー20から送信された複数の画像データ132に対して所定の処理を実行する。第1判断部としてのCPU11は、中間サーバー20から送信された複数の画像データ132に関する情報に対して所定の解析を行い、当該解析の結果に基づいて複数のカメラ40に含まれるカメラ40の数を判断する。中間サーバー20が介在すると、画像データ132から、撮影したカメラ40の識別情報が削除され得る。これに対し、本実施形態のデータ処理システム1によれば、画像データ132の解析を行うことで、接続されているカメラ40の数をより正確に特定することができる。カメラ40の数を特定することによって、例えば課金や過剰接続によるパフォーマンスの低下の警告等に利用することができる。
【0101】
複数の画像データ132の各々は、時系列データを含む。この場合において、第1判断部としてのCPU11は、複数の画像データ132の相互の連続性又は変化量に基づいてカメラ40の数を判断してもよい。これにより、画像データ132の連続性又は変化量を評価する簡易な処理でカメラ40の数を判断することができる。また、複数のカメラ40により撮影された複数の画像データ132が繋げられた状態で入力された場合であっても、入力データに含まれる複数の画像データ132を生成したカメラ40の台数を判断することができる。
【0102】
複数のセンシング部としての複数のカメラ40は、同一種別のセンシングデータとしての画像データ132を生成する同一種別の機器である。これにより、同一種別のセンシングデータ同士を比較する解析によりセンシング部の数を特定することができる。
【0103】
第1判断部としてのCPU11は、上記の解析として画像データ132の画像解析を行う。これにより、画像データ132の内容からカメラ40の数をより正確に特定することができる。
【0104】
複数のセンシング部の各々はマイクであってもよい。複数のセンシングデータの各々は、マイクにより録音された音声データであってもよい。第1判断部としてのCPU11は、上記の解析として音声データの音声解析を行ってもよい。これにより、音声データの内容からマイクの数をより正確に特定することができる。
【0105】
第1判断部としてのCPU11は、解析において、複数の画像データ132に対してパターン解析を行うことで複数の画像データ132のうち所定の近似条件を満たす2以上の画像データ132を特定する。CPU11は、近似条件を満たす2以上の画像データ132が1つのカメラ40により生成されたと判定する方法により、カメラ40の数を判断する。これにより、画像データ132の内容からカメラ40の数をより正確に特定することができる。
【0106】
複数の画像データ132の各々は、所定のセンシング対象に係る対象データ1321と、対象データ1321以外のバックグラウンドデータ1322とを含む。第1判断部としてのCPU11は、解析において、複数の画像データ132のうちバックグラウンドデータ1322同士が近似条件を満たす画像データ132を、上記の2以上の画像データ132として特定する。これによれば、同一のカメラ40により撮影された画像データ132のバックグラウンドデータ1322が近似することを利用して、カメラ40の数をより正確に特定することができる。
【0107】
データ処理システム1は、通知制御部としての管理サーバー50のCPU51を備える。CPU51は、カメラ40の数の判断結果に関する判断結果情報を、ユーザーに対して通知するための処理を行う。これにより、カメラ40の接続数に関する必要な対処をユーザーに促すことができる。
【0108】
判断結果情報は、カメラ40の数、カメラ40の数に応じたレスポンス速度、カメラ40の数に応じて特定された複数のカメラ40の故障台数、カメラ40の数に基づくユーザーへの課金額のうち少なくとも1つを含む。これにより、カメラ40の接続数に係る種々の情報をユーザーに提供し、必要な対処をユーザーに促すことができる。
【0109】
処理部としてのCPU11が実行する所定の処理は、予め機械学習されたAIコンテナ102の学習モデルに対して画像データ132を入力することで学習モデルから出力結果を取得する処理を含む。これにより、AIコンテナ102の学習モデルに対して過剰な数のカメラ40から画像データ132が入力されることによる問題の発生を抑制することができる。
【0110】
データ処理システム1は、管理サーバー50の記憶部53と、第2判断部としての管理サーバー50のCPU51とを備える。CPU53は、ユーザーとの契約であって、中間サーバー20を介してAIコンテナ102及びCPU11に接続可能なカメラ40の最大数が規定された契約に関する契約管理データ534を記憶する。第2判断部としてのCPU51は、契約管理データ534と、カメラ40の数の判断結果とに基づいて、契約に関する契約違反があるか否かを判断する。これにより、契約違反に関する必要な対処をユーザーに促すことができる。
【0111】
課金判断システムとしてのデータ処理システム1は、第3判断部としての管理サーバー50のCPU51を備える。CPU51は、カメラ40の数の判断結果に基づいて、ユーザーへの課金額を判断する。これにより、カメラ40の接続数に応じた適正な課金額をユーザーに通知し、必要な対処を促すことができる。
【0112】
本実施形態に係るデータ処理装置としてのAIサーバー10は、処理部(処理手段)及び第1判断部(第1判断手段)としてのCPU11を備える。また、本実施形態に係るプログラム131は、AIサーバー10のCPU11を、処理手段及び第1判断手段として機能させる。これにより、接続されているカメラ40の数をより正確に特定することができる。
【0113】
本実施形態に係るデータ処理方法は、生成ステップと、中継ステップと、処理ステップと、第1判断ステップとを含む。生成ステップでは、複数のカメラ40がそれぞれ画像データ132を生成する。中継ステップでは、データ生成ステップにおいて生成された複数の画像データ132を中間サーバー20が受信及び送信する。処理ステップでは、中継ステップにおいて送信された複数の画像データ132に対して所定の処理を実行する。第1判断ステップでは、中継ステップにおいて送信された複数の画像データ132に関する情報に対して所定の解析を行い、当該解析の結果に基づいて複数のカメラ40に含まれるカメラ40の数を判断する。これにより、接続されているカメラ40の数をより正確に特定することができる。
【0114】
(その他)
なお、本発明は、上記実施形態に限られるものではなく、様々な変更が可能である。
例えば、ユーザー端末60の機能を、AIサーバー10又は中間サーバー20に統合してもよい。
【0115】
画像データ132がどのカメラ40により撮影されたかを判断する方法は、バックグラウンドデータ1322同士を比較する方法に限られない。例えば、各カメラ40の撮影範囲に、互いに異なる物標を配置しておき、複数の画像データ132の各々に写っている物標から、各画像データ132を撮影したカメラ40を特定してもよい。この場合には、画像データ132に物標が写っているか否かを解析することが、「パターン解析」に相当する。
【0116】
AIコンテナ102に代えて、学習モデルを用いないアプリケーションプログラムを実行するコンテナが用いられてもよい。
【0117】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【産業上の利用可能性】
【0118】
この発明は、データ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法に利用することができる。
【符号の説明】
【0119】
1 データ処理システム
10 AIサーバー(データ処理装置)
11 CPU(処理部、第1判断部)
101 AI接続モジュール
102 AIコンテナ
132 画像データ(センシングデータ)
1321 対象データ
1322 バックグラウンドデータ
20 中間サーバー(中継部)
40、40a~40c カメラ(センシング部)
50 管理サーバー
51 CPU(第2判断部、第3判断部、通信制御部)
60 ユーザー端末
【要約】
接続されているセンシング部の数をより正確に特定することが可能なデータ処理システム、課金判断システム、データ処理装置、プログラム及びデータ処理方法を提供する。データ処理システムは、センシングデータをそれぞれ生成する複数のセンシング部と、複数のセンシング部により生成された複数のセンシングデータを受信及び送信する中継部と、中継部から送信された複数のセンシングデータに対して所定の処理を実行する処理部と、中継部から送信された複数のセンシングデータに関する情報に対して所定の解析を行い、当該解析の結果に基づいて複数のセンシング部に含まれるセンシング部の数を判断する第1判断部と、を備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16