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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-513665カメラを含むシステムを較正する方法、システム、プログラム
<>
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図1
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図2
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図3
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図4
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図5
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図6
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図7
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図8
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図9
  • 特表-カメラを含むシステムを較正する方法、システム、プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】カメラを含むシステムを較正する方法、システム、プログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20240319BHJP
【FI】
G06T7/70 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023553516
(86)(22)【出願日】2022-02-28
(85)【翻訳文提出日】2023-09-03
(86)【国際出願番号】 CN2022078151
(87)【国際公開番号】W WO2022199325
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】17/211,363
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】ピネル、フロリアン
(72)【発明者】
【氏名】ボビット、ルッセル パトリック
(72)【発明者】
【氏名】イェ ジュニア、フランク
(72)【発明者】
【氏名】チャム、シャロン ラクインタ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA69
5L096KA04
(57)【要約】
カメラを含むシステムを較正する方法であって、カメラによってキャプチャされた環境のシーンのロボットの通過を含むジオ・ポリゴン空間としてモデル化された環境内を進むロボットを検出し、シーンの画像内のロボットによって占有された複数のポイントをジオ・ポリゴン空間にマッピングし、マッピングについてのデータを記録し、マッピングについての記録されたデータを使用して少なくとも1つのアラートを構成する。ここでアラートがコンピューティング・システムによって実行され、物体がシーンを通過することによってトリガされるように構成することを含む。
【特許請求の範囲】
【請求項1】
カメラを含むシステムを較正する方法であって、
前記カメラによってキャプチャされた環境のシーンのロボットの通過を含むジオ・ポリゴン空間としてモデル化された前記環境内を進む前記ロボットを検出することと、
前記シーンの画像内の前記ロボットによって占有された複数のポイントを前記ジオ・ポリゴン空間にマッピングすることと、
前記マッピングについてのデータを記録することと、
前記マッピングについての記録された前記データを使用して少なくとも1つのアラートを構成することであって、前記アラートが、コンピューティング・システムによって実行され、物体が前記シーンを通過することによってトリガされるように構成される、前記構成することと
を含む、方法。
【請求項2】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンを通過する前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされると判定することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンの前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされないと判定することと、
前記条件を満たすことができるまで、前記シーン内の前記ロボットについての追加のデータを記録することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記環境内の前記関心領域の前記ロケーションを識別する境界ボックスを備える前記シーンの画像を含む訓練データを前記システムに提供することをさらに含む、請求項3に記載の方法。
【請求項5】
前記ロボットから受け取られた地理位置測定されたデータのタイミング・データと、前記コンピューティング・システムのタイミング・データとを同期することをさらに含む、請求項1に記載の方法。
【請求項6】
前記ロボットの少なくとも1つの寸法を含む前記ロボットについてのデータを受け取ることをさらに含む、請求項1に記載の方法。
【請求項7】
カメラを含むシステムを較正するコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、コンピュータ可読ストレージ媒体を備え、前記コンピュータ可読ストレージ媒体が、コンピュータによって実行されると、カメラを含むシステムを較正するための方法を前記コンピュータに実施させるコンピュータ実行可能命令を備え、前記方法が、
前記カメラによってキャプチャされた環境のシーンのロボットの通過を含むジオ・ポリゴン空間としてモデル化された前記環境内を進む前記ロボットを検出することと、
前記シーンの画像内の前記ロボットによって占有された複数のポイントを前記ジオ・ポリゴン空間にマッピングすることと、
前記マッピングについてのデータを記録することと、
前記マッピングについての記録された前記データを使用して少なくとも1つのアラートを構成することであって、前記アラートが、前記コンピュータによって実行され、物体が前記シーンを通過することによってトリガされるように構成される、前記構成することと
を含む、コンピュータ・プログラム製品。
【請求項8】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンの前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされると判定することと
をさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項9】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンの前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされないと判定することと、
前記条件を満たすことができるまで、前記シーン内の前記ロボットについての追加のデータを記録することと
をさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項10】
前記環境内の前記関心領域の前記ロケーションを識別する境界ボックスを備える前記シーンの画像を含む訓練データを前記システムに提供することをさらに含む、請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記ロボットから受け取られた地理位置測定されたデータのタイミング・データと、コンピューティング・システムのタイミング・データとを同期することをさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項12】
前記ロボットの少なくとも1つの寸法を含む前記ロボットについてのデータを受け取ることをさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項13】
システムであって、
プロセッサおよびメモリを含むコンピューティング・システムと、
前記コンピューティング・システムに接続されたネットワークと、
前記ネットワークを介して前記コンピューティング・システムに接続された複数のカメラであって、各カメラが環境の視界を有する、前記複数のカメラと、
前記環境内にある少なくとも1つのロボットと、
前記コンピューティング・システムが前記環境内の前記ロボットを識別するように構成されたモデルを学習すること、および前記コンピューティング・システムによって実行された物体検出モデルによってトリガされる少なくとも1つのアラートの作成を可能にする、前記コンピューティング・システム上で実行する少なくとも1つのソフトウェア・モジュールと
を備える、システム。
【請求項14】
前記少なくとも1つのロボットが、少なくとも1つの構成グラフィックを含む、請求項13に記載のシステム。
【請求項15】
前記少なくとも1つの構成グラフィックが、既知の寸法の幾何学形状である、請求項13に記載のシステム。
【請求項16】
前記ロボットが、前記複数のカメラに可視の検出可能トークンを表示するように構成された少なくとも1つのディスプレイを備える、請求項13に記載のシステム。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に、コンピュータ・プロセスに関し、より詳細には、ロボットを使用して1つまたは複数のカメラを備えるコンピューティング・システムを較正/構成するためのシステムおよび方法に関する。
【背景技術】
【0002】
多くの空間には、カメラ・システムが装備されている。これらのカメラは、安全規制の準拠をモニタリングすることを含む様々な用途を有することができる。これらのシステムの多くには、大規模な構成が必要になる。
【発明の概要】
【0003】
本発明のいくつかの実施形態によれば、カメラを含むシステムを較正する方法は、カメラによってキャプチャされた環境のシーンのロボットの通過を含むジオ・ポリゴン空間としてモデル化された環境内を進むロボットを検出することと、シーンの画像内のロボットによって占有された複数のポイントをジオ・ポリゴン空間にマッピングすることと、マッピングについてのデータを記録することと、マッピングについての記録されたデータを使用して少なくとも1つのアラートを構成することであって、アラートが、コンピューティング・システムによって実行され、物体がシーンを通過することによってトリガされるように構成される、構成することとを含む。
【0004】
1つまたは複数の実施形態によれば、システムは、プロセッサおよびメモリを含むコンピューティング・システムと、コンピューティング・システムに接続されたネットワークと、ネットワークを介してコンピューティング・システムに接続された複数のカメラであって、各カメラが環境の視界を有する、複数のカメラと、環境内にある少なくとも1つのロボットと、コンピューティング・システムが環境内のロボットを識別するように構成されたモデルを学習すること、およびコンピューティング・システムによって実行された物体検出モデルによってトリガされる少なくとも1つのアラートの作成を可能にする、コンピューティング・システム上で実行する少なくとも1つのソフトウェア・モジュールとを備える。
【0005】
本明細書で使用されるように,アクションを「容易にすること」は、アクションを実施すること、アクションを簡単にすること、アクションを実行するのを助けること、またはアクションが実施されるようにすることを含む。したがって、例として、また限定ではなく、1つのプロセッサ上で実行する命令は、アクションが実施されるようにすること、またはアクションが実施されるのを支援することのために、適切なデータまたはコマンドを送ることによって、アクションがリモート・プロセッサ上で実行する命令によって実行されることを容易にしてもよい。誤解を避けるために、行為者が、アクションを実施すること以外によってアクションを容易にする場合、アクションは、それでも、いくつかのエンティティまたはエンティティの組合せによって実施される。
【0006】
本発明の1つまたは複数の実施形態またはその要素は、指示された方法ステップを実施するためのコンピュータ使用可能プログラム・コードを有するコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品の形で実行可能である。さらに、本発明の1つまたは複数の実施形態またはその要素は、メモリと、メモリに連結され、例示的な方法ステップを実施するように動作可能な少なくとも1つのプロセッサとを含むシステム(または装置)の形で実行可能である。さらに、別の態様では、本発明の1つまたは複数の実施形態またはその要素は、本明細書で説明される方法ステップのうちの1つまたは複数を実行するための手段の形で実行されることが可能であり、手段は、(i)ハードウェア・モジュール、(ii)コンピュータ可読ストレージ媒体(もしくは複数のこのような媒体)に格納され、ハードウェア・プロセッサ上で実行されるソフトウェア・モジュール、または(iii)(i)および(ii)の組合せを含むことができ、(i)~(iii)のいずれかが、本明細書で説明される固有の技法を実行する。
【0007】
本発明の技法は、たくさんの有益な技術的効果をもたらすことができる。例えば、1つまたは複数の実施形態は、
例えば、幾何学的較正、関心領域を描くこと、およびモニタリング・アラートを構成することを含む、カメラの自動化構成と、
関心領域の改善された構成と
を提供し得る。
【0008】
本発明のこれらおよび他の特徴および利点は、添付の図面と共に読まれることになる、その例証的実施形態の以下の詳細な説明から明らかになるであろう。
【0009】
添付の図面を参照しながら、本発明の好ましい実施形態がより詳細に下記で説明される。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態によるクラウド・コンピューティング環境の図である。
図2】本発明の実施形態による抽象化モデル層の図である。
図3】本発明のいくつかの実施形態による、セットアップ・データを確立するための方法を示すフローチャートである。
図4】本発明のいくつかの実施形態による、ロボットの動的制御のための方法を示すフローチャートである。
図5】本発明のいくつかの実施形態による、コンピューティング・システムのアラートを構成するための方法を示す流れ図である。
図6】本発明のいくつかの実施形態による、境界ボックスを自動生成するための方法を示す流れ図である。
図7】本発明のいくつかの実施形態による、カメラ較正を可能にするユーザ・インターフェース(UI:User Interface)700の図である。
図8】本発明のいくつかの実施形態による、アラート構成を可能にするUIの図である。
図9】本発明の1つまたは複数の態様または要素あるいはその両方を実行する際に有益になり得るコンピュータ・システムの図である。
図10】本発明の1つまたは複数の態様または要素あるいはその両方を実行する際に有益になり得るコンピュータ・システムの図である。
【発明を実施するための形態】
【0011】
本発明の実施形態は、ロボット、ビデオ分析、およびIoT設備管理を使用した、カメラの自動較正および構成に取り組む。いくつかの実施形態によれば、コンピューティング・システムによって実施される方法は、これらのカメラを使用してビデオ分析パイプラインを自動的にテストし、注釈付き訓練データを自動的に収集する。
【0012】
いくつかのプロダクション環境では、ビデオ分析は、カメラを含む数多くのモノのインターネット(IOT:Internet-of-Things)デバイスの管理を可能にするような、他の製品と統合される。本発明の1つまたは複数の実施形態によれば、これらの製品は、1つまたは複数のモデル・ワークプレイス・ゴールまたは規制(例えば、最大占有率、個人保護機器使用、記録事故、等)を施行するために、労働安全解決策において一緒に使用されることが可能である。
【0013】
いくつかの実施形態によれば、シミュレートされたユース・ケースが、アラートが正しくかつ正確にトリガされることをテストする必要をなくす、ビデオ分析解決策への入力として、注釈付き訓練データの自動テストおよびコレクションが使用されることが可能である。
【0014】
本出願は、本出願に付随する以下の議論および図面を参照することによって、より詳細にこれから説明される。本出願の図面は、例証のために提供されるにすぎず、したがって、図面は、縮尺に合わせて描かれていないことが指摘される。また、同様のおよび対応する要素は、同様の参照番号で参照されることが指摘される。
【0015】
以下の説明では、本出願の様々な実施形態の理解を提供するために、特定の構造、構成要素、材料、寸法、処理ステップおよび技法など、数多くの固有の詳細が示される。それでも、本出願の様々な実施形態は、これらの固有の詳細がなくても実践されることが当業者によって認識されよう。他の事例では、周知の構造または処理ステップは、本出願を不明瞭にするのを避けるために、詳細に説明されていない。
【0016】
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で列挙される教示の実装形態は、クラウド・コンピューティング環境に限定されないことが予め理解される。むしろ、本発明の実施形態は、現在知られているか、後で開発される、他の任意のタイプのコンピューティング環境と併用して実行される能力がある。
【0017】
クラウド・コンピューティングは、サービスの提供者による最低限の管理努力または対話で迅速に提供および解放可能な、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含んでもよい。
【0018】
特性は、以下の通りである。
【0019】
オンデマンド・セルフ・サービス:クラウド利用者は、サービスの提供者との人間対話を必要とせず必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に提供することができる。
【0020】
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、ヘテロジニアスなシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を推進する標準メカニズムを通じてアクセスされる。
【0021】
リソース・プーリング:提供者のコンピューティング・リソースは、種々の物理および仮想リソースが、要求に従って動的に割当ておよび再割当てされる、マルチ・テナント・モデルを使用して多数の利用者をサーブするためにプールされる。利用者には一般に、提供されるリソースの正確な位置についての制御権も知識もなく、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)で位置を指定でき得るという点で位置独立の意味がある。
【0022】
迅速な弾力性:能力は、素早くスケール・アウトするために迅速かつ伸縮自在に、場合によっては自動的に提供され、素早くスケール・インするために迅速に解放されることが可能である。利用者にとって、提供のために利用可能な能力は無制限のように見えることが多く、いつでも任意の量で購入可能である。
【0023】
測定されるサービス:クラウド・システムは、サービスのタイプに適した抽象化のいくつかのレベル(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)で計量能力を活用することによって、リソース使用を自動的に制御し、最適化する。利用されるサービスの提供者と利用者双方に透明性をもたらすリソース使用率が、監視、制御、レポートされることが可能である。
【0024】
サービス・モデルは、以下の通りである。
【0025】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で動く提供者のアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などの、シン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、限定的なユーザ固有アプリケーション構成設定を例外とする可能性もあるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、個々のアプリケーション能力さえをも含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わない。
【0026】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、提供者によってサポートされるプログラミング言語およびツールを使用して制作された、利用者制作または獲得アプリケーションを、クラウド・インフラストラクチャ上に配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、配置したアプリケーション、および場合によっては、アプリケーション・ホスティング環境構成に対する制御を行う。
【0027】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、ならびに、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを利用者が展開して動かすことができる他の基本的なコンピューティング・リソースを提供することである。利用者は、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、オペレーティング・システム、ストレージ、展開したアプリケーションに対する制御、および場合によっては、選択したネットワーキング構成要素(例えば、ホスト・ファイアウォール)の限定的な制御を行う。
【0028】
展開モデルは、以下の通りである。
【0029】
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためにだけ運用される。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内または敷地外にあってもよい。
【0030】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有の懸念(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮)を有する固有のコミュニティをサポートする。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内または敷地外にあってもよい。
【0031】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模業界団体に対して利用可能にされ、クラウド・サービスを売る組織によって所有される。
【0032】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーション移植性を可能にする標準または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって一緒に結びつけられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物である。
【0033】
クラウド・コンピューティング環境は、無国籍、疎結合、モジュラリティ、および意味論的相互運用性に焦点を置いたサービス指向のものである。クラウド・コンピューティングの中心には、相互接続ノードのネットワークを備えるインフラストラクチャがある。
【0034】
図1をここで参照すると、例証的なクラウド・コンピューティング環境50が描写されている。図示のように、クラウド・コンピューティング環境50は、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラー電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどの、クラウド利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。ノード10は、上記で説明されたような、プライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてもよい(図示せず)。これは、クラウド利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せをクラウド・コンピューティング環境50が提供することを可能にする。図1に示されたコンピューティング・デバイス54A-Nのタイプは、例証にすぎないことが意図され、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス可能接続あるいはその両方を介して(例えば、ウェブ・ブラウザを使用して)任意のタイプのコンピュータ化デバイスと通信可能であることが理解される。
【0035】
図2をここで参照すると、クラウド・コンピューティング環境50(図1)によって提供される機能抽象化層のセットが示されている。図2に示された構成要素、層、および機能は、例証にすぎないことが意図され、本発明の実施形態はこれらに限定されないことを予め理解されたい。描写されたように、以下の層および対応する機能が提供される。
【0036】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0037】
仮想化層70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75といった、仮想エンティティの例が提供される抽象化層を提供する。
【0038】
1つの例では、管理層80は、下記で説明される機能を提供し得る。リソース提供81は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を行う。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、および、これらのリソースの利用量に対する請求またはインボイスを行う。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド利用者およびタスクの検証、ならびに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、利用者およびシステム・アドミニストレータに、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルを満たすように、クラウド・コンピューティング・リソースの配分および管理を行う。サービス・レベル・アグリーメント(SLA)計画およびフルフィルメント85は、SLAに応じて、将来の要件が予想されるクラウド・コンピューティング・リソースの事前配置および調達を行う。
【0039】
ワークロード層90は、クラウド・コンピューティング環境が利用される機能の例を提供する。この層から提供されるワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育配信93、データ分析処理94、トランザクション処理95、ならびに、ロボットを使用した1つまたは複数のカメラを備えるコンピューティング・システムの較正/構成96を含む。
【0040】
いくつかの実施形態によれば、また図3を参照すると、方法300は、コンピューティング・システムが、平面図、環境内のカメラのロケーション、および、所与の環境に対するカメラの仕様を判定すること301を含む。さらに、ブロック301における平面図、カメラ・ロケーション、およびカメラの仕様のうちの1つまたは複数の判定は、設備管理ソフトウェア製品からのセットアップ・データを受け取ることとして実施可能である。いくつかの実施形態によれば、設備管理ソフトウェア製品は、環境への見識をもたらす1つまたは複数のデバイス(例えば、IoT)デバイスと通信する。カメラは、ビデオ分析ソフトウェアに接続される302。ブロック302において、カメラは、ビデオ管理システムに接続可能である。いくつかの実施形態によれば、カメラの初期較正は、カメラによってキャプチャされた画像間の関係を判定するために、ホモグラフィまたは他の幾何学的方法を使用して、ブロック302において実施される。ホモグラフィの例では、ホモグラフィは、環境内の同じ平面の異なる画像を関連させる。少なくとも1つの実施形態によれば、カメラ回転および平行移動は、ホモグラフィ行列から抽出され、ロボットのナビゲーションを誘導するために使用されることが可能である。ホモグラフィ行列は、異なる角度からカメラによってキャプチャされた環境の異なる画像の間で計算され、したがって、行列は、歪んだ形の画像を含む。方法は、平面図を使用してナビゲートする能力がある1つまたは複数のロボットを提供すること303を含む。例えば、ロボットは、301において判定された固有の地理座標を使用して、平面図をナビゲートする。カメラ較正を容易にするために、ロボットは、例えば、(コンピューティング・システムにとって)公知の寸法の幾何学形状といった、構成グラフィックスを含むことができる。これらのグラフィックスは、シーン内の可視の検出可能トークンであり、ロボット上で印刷されることも、ロボットによって表示されることも可能である。いくつかの実施形態では、ロボットは、人の身長および幅(例えば、およそ身長168cm、幅38cm)を模倣した平行六面体のような形状(すなわち、6つの平行四辺形によって形成された3次元図)である。少なくとも1つの実施形態によれば、ロボットは、平行六面体の寸法を構成するための、内部調節可能なフレームワーク(または他のメカニズム)を含む。いくつかの実施形態では、ロボットの側面のうちの1つまたは複数は、ロボットの側面を区別すること、ロボットの向きを判定すること等を行うために使用されることが可能な、1つまたは複数の検出可能トークン(例えば、較正グリッド、異なる色、等)を含む。いくつかの実施形態によれば、1つまたは複数のロボットは、人間のような形状である。いくつかの実施形態によれば、コンピューティング・システムは、ロボットを検出するように構成された物体検出モデルを作成する304。モデルは、ロボットの1つまたは複数の検出可能トークンまたは特徴(例えば、平行六面体のコーナ)を検出するために、コンピューティング・システムによって使用可能である。1つまたは複数の実施形態によれば、物体検出モデルは、304において、物体、ランドマーク等の検出を実施するように構成される。物体検出モデルは、検出タスクの繰り返しを通じて検出機能を改善する、深層学習モデルとして構成可能である。
【0041】
いくつかの実施形態によれば、また前述の見地からすれば、ブロック301~304は、初期セットアップ・プロセスを表す。
【0042】
いくつかの実施形態によれば、ロボット検出セットアップは、ブロック[305~]において実施される。
【0043】
少なくとも1つの実施形態によれば、物体検出モデルは、ロボットおよびその主要なランドマークのうちのいくつか(例えば、平行六面体のコーナ)を検出するように訓練される305。例えば、物体検出モデルは、深層学習オブジェクション検出または代表ベースのメトリック学習方法(representative based metric learning method)を使用して訓練されることが可能である。
【0044】
別の実施形態では、ロボットは、環境の1つまたは複数の初期巡回を行う306。ロボットが、環境を巡回し、(以下でシーンと呼ばれる)カメラの視界の中を通ること、または視界を通過すること、あるいはその両方を行うとき、コンピューティング・システムはモデルを使用して、ロボットを検出する307。
【0045】
いくつかの実施形態によれば、検出307は、背景差分技法を使用して、シーン内のロボットを検出する。ロボットが、シーン内の唯一の移動物体である(例えば、閉店後の小売店などの環境にロボットが導入される)場合、ロボットは、背景から普通に分離されることが可能である。そうでなければ、シーンが、ロボットに加えて他の移動物体を含む場合、ロボットは、検出された物体の色ヒストグラムにおけるロボットから放出された公知の色に対応する急激なピークを探すことなど、後処理技法を使用して、他の移動物体と区別可能である。いくつかの実施形態によれば、コンピューティング・システムは、現在の検出可能トークン(例えば、公知の模様、色、特徴の組合せ、等)をロボットにアップデートさせる制御信号をロボットに伝達することができる308。例えば、検出可能トークンがシーン内の他の移動物体に非常に似ているとコンピューティング・システムが判定した場合、ロボットが検出可能トークンを変更できるように、検出可能トークンは、現在のシーンに依って動的に較正可能である。例えば、コンピューティング・システムが2つ以上の検出可能トークンを検出したが、1つだけを検出すると予想した場合、コンピューティング・システムは、検出可能トークンをアップデートするようにロボットにシグナリングすることができる。別の例では、コンピューティング・システムは、(例えば、閾値に基づいて)検出可能トークンが接近している場合、検出可能トークンを前景と比較することができる。
【0046】
いくつかの実施形態によれば、また図4の方法400を参照すると、色Cのセットを考慮に入れて、カメラからのシーンの画像を分析するために、コンピューティング・システムSによって、ビデオ分析ソフトウェアが使用され、ロボットとSとの間の通信パイプラインx=1であり、検出可能トークンのアップデート308は、ロボットによって色Cxを放出すること401を含むことができ、コンピューティング・システムSは、シーン内のすべての移動物体を検出して各物体の色ヒストグラムHを生成し402、コンピューティング・システムSは、HにおけるCxの急激なピークを伴ういくつかの移動物体Pを検出し403、404において、コンピューティング・システムは、ロボットが一意であるかどうかを判定する。例えば、P=1(すなわち、ロボットだけが色Cxを放出する)場合、色を保持し、N回スリープし、それとも、P>2の場合、x=x+1であり、新しい色Cxをロボットに送る405。方法308は、反復して実施可能である。
【0047】
ロボットは、その巡回中306~307にシーン内で検出されると、現在の画像からクロップされ、各クロップされた画像がデータベースに保存される309。ロボットのN個のサンプル画像が保存されると、セットアップ巡回は終了する310。いくつかの実施形態によれば、サンプル画像は、次いで、ロボット検出モデルを訓練するために使用される311。少なくとも1つの実施形態によれば、ロボット検出モデルの訓練は、深層学習オブジェクション検出または代表ベースのメトリック学習方法などの伝統的技法を使用する。
【0048】
いくつかの実施形態によれば、また図5を参照すると、カメラ較正および構成方法500は、各カメラが平面図に投影されたカメラのシーンの初期推定を行うために、ジオ・ポリゴン501として、カメラの仕様および平面図を使用することを含む(方法についてはコンピュータ・ビジョン・ブック等の従来技術を参照)。方法は、ロボットがジオ・ポリゴン502をナビゲートすることを含む。ロボット・ナビゲーションは、コンピューティング・システムによって制御されるか、例えば、地理位置測定(geo-localization)および平面図を使用して、自律的に動作させることが可能である。方法は、ロボット検出深層学習モデルを使用して、ロボットがカメラ503のシーンにいつ出入りするかを検出することを含む。ブロック504において、方法は、深層学習推論データと、ロボットによって送られた地理位置測定データとの間の時刻同期を実施することを含む。いくつかの実施形態によれば、システムは、ロボットから受け取られた座標(例えば、GPS座標)、およびカメラから受け取られたビデオ・ストリームを含む、2つのデータ・ソースを使用し、これらのデータ・ソースは、検出結果および生成されたモデルの精度を改善するために時刻同期され、例えば、その結果、アラートが生成される正確な時間が、画像内のロボットの外見(例えば、ロボットが完全にシーン内にいる、シーンに入り部分的にシーン内にいる、シーンを出てまだ部分的に見える等)と比較可能になる。方法は、カメラのシーン内の少なくとも1つのポイントをロボットの地理座標にマッピングすることを含み、ロボットの地理座標は、ジオ・ポリゴン505内の位置に平行移動されることが可能であり、これにより、ユーザは、カメラのビデオ・ストリーム上のポイントを選択し、ロボットをこのロケーションに送ることができる。ブロック506において、カメラのシーンについてのデータが記録され、これが、死角の発見を可能にし、カメラの位置を変える。ロボットがシーン内の様々な位置を占有することを伴う、検出されたロボット・ランドマークについてのデータが記録される507。ホモグラフィなどの幾何学的方法を使用して、記録されたデータ(すなわち、検出および記録されたロボット・ランドマーク)は、カメラを較正するために使用可能である。ブロック508において、アラートが構成される。関心領域/無関心領域または仮想トリップワイヤを含むアラートを構成するために508、ユーザは、平面図のデジタル表現/ディスプレイ上に多角形または線を描き、幾何学形状が地理座標にマッピングされ、これにより、ロボットは、ジオ・ポリゴンの縁部に沿って移動することができ、その一方で、ビデオ分析がロボットを検出して軌道をキャプチャし、キャプチャされた軌道は、ビデオ・ストリーム上の関心領域(ROI:region of interest)の表現として使用される。人間型ロボットの使用は、この場合に役立つ。最小数または最大数あるいはその両方のピクセルを含む(コンピューティング・システムによって実行/トリガされることが可能な)アラートを構成するために508、ロボットが関心領域に十字を描き、ビデオ分析がロボットを検出して、そのサイズをピクセルで計算し、最小および最大サイズが、関心領域にわたって計算される。ロボットの寸法が等しくない(例えば、奥行き<幅)場合、ロボットは、異なる方向に複数回、関心領域に十字を描き得る。(例えば、調節可能なフレームワークを使用して)ロボットの寸法を修正する能力があることが、この場合、役立つ可能性がある。ロボットの寸法がわかっている場合、寸法は、環境(例えば人)をナビゲートする必要がある他の物体の最小および最大寸法に推定されることが可能である。特定の環境では、これらの寸法はさらに、カメラによってキャプチャされた画像に現れることが予想される物体の公知の寸法によって限られることが可能である。
【0049】
いくつかの実施形態によれば、コンピューティング・システムは、カメラ位置の示唆を生成する。関心領域または仮想トリップワイヤが部分的にシーンの外側にある場合、アラートが生成され、カメラ位置調節が推奨される。カメラの位置は、静的なものでも、変化する可能性がある。較正ステップ(図5参照)を定期的に実行し直すことによって、コンピューティング・システムは、(例えば、カメラのシーン内のポイントを地理座標と比較することによって)カメラが移動したかどうかを検出することができる。変化を検出すると(例えば、2度の弧など、閾値より大きいと)、コンピューティング・システムは、ユーザにアラートを発行することができる。
【0050】
図7は、本発明のいくつかの実施形態による、カメラ較正を可能にするユーザ・インターフェース(UI)700を示す。UIは、カメラの観点を構成するために、(例えば、ドラッグ・アンド・ドロップによって)境界ボックスの、例えば702といった縁部、または例えば703といった交点をユーザが移動することを可能にする構成ウィンドウ701を含む。UIは、可視化ウィンドウ704を含み、その中に(例えば、検出された物体の周囲のボックス705を含む拡大されたビュー内の)検出された物体、およびそのベクトル(例えばベクトル706参照)が含まれる。
【0051】
いくつかの実施形態によれば、また図6を参照すると、自動テスト方法600は、人間のような形状をロボットに提供すること601、および、ビデオ分析を含むコンピューティング・システムをテストする際にロボットを使用することを含む。人間のような形状は、ビデオ分析パイプラインにおいて使用される深層学習検出モデルによって人として検出可能である。各ビデオ分析アラート定義602のために、ロボットは、対応する関心領域(モニタされ、特定の活動がアラートをトリガすることになる領域)にナビゲートするように命令され603、ロボット604によって、アラート条件(例えば、最小または最大サイズ、方向、スピード等)が満たされる正確なコンテキストおよびロケーションが判定され、コンピューティング・システムは、アラートがトリガされるかどうかを検証することができる605。いくつかの実施形態によれば、ロボットは、関心領域内の人間の行動を模倣するように制御され、模倣された行動は、1つまたは複数のアラート条件をトリガするように構成される。例えば、ロボットは、走っている人間に関連付けられたアラート条件をトリガするスピードで関心領域を通過するように制御されることが可能である。ロボットによってアラートがトリガされない場合、自動的な注釈を有する追加の訓練データが生成される606。ビデオ分析アラート定義を通じて反復することによって、コンピューティング・システムは、様々なロケーション、様々な位置、および様々な寸法でロボットの画像をキャプチャし607、ホモグラフィを使用して、ロボットの周囲の境界ボックスを自動生成することができる608。例えば、608において、ロボットの地理座標およびその物理的寸法を考慮して、カメラを較正しつつ定義されたホモグラフィが、カメラによってキャプチャされた画像内のロボットのピクセル座標を抽出するために適用される。これらのピクセル座標は、カメラ画像と一緒に、新しい訓練データの構成要素となる。
【0052】
いくつかの実施形態によれば、図6のブロック606~608において、ロボットがアラート条件を再現したときにアラートがトリガされなかった場合、検出モデルは、ロボットの検出に失敗した。このような失敗は、モデルを訓練し直すために追加の訓練データが必要であることを指示することになる。追加の訓練データは、前の反復においてモデルによってロボットが検出されたはずの環境内の関心領域のロケーションを識別する境界ボックスが提供されたシーンの画像キャプチャを含むことができる。
【0053】
境界ボックスは、検出された物体の境界となる座標のセットとして格納可能であることを理解されたい。性能のためには、検出された物体の周囲にできるだけ小さい境界ボックスを選ぶことが有益であり得る。
【0054】
図8は、本発明のいくつかの実施形態による、アラート構成を可能にするUI800を示す。UIは、アラートのリスト801、および各アラートを作り出し、修正するための制御のセットを含む。制御は、例えば、パラメータ802、(例えば、アラートがアクティブになる時間をセットするための)スケジュール803、(例えば、テキスト・アラート、オーディオ・アラートを構成するため、例えば照明を制御するようにIoTデバイスを制御するため、ドアをロック/ロック解除するため等の)応答804を含む。各タブ(例えば、802~804)は、その様々な特徴を調節することへの制御を含むことを明らかにすることができる。UIは、アラートのリスト801内で選択された現在のアラートのための、境界ボックス806、仮想トリップワイヤ等がセットされることが可能な、可視化ウィンドウ805を含む。
【0055】
図9は、例えば902といった複数の接続されたカメラを含むコンピューティング・システム901を示しており、コンピューティング・システムおよびカメラは、例えば、イーサネット(R)接続、ワイヤレス接続、同軸ケーブル等を含む、ネットワーク903によって接続される。コンピューティング・システム901は、ビデオ分析パイプラインなどのソフトウェア・モジュール904、およびストレージ設備905(例えば、メモリ、ローカル・データベース、クラウド・ストレージ等)を含む。ビデオ分析パイプラインは、学習モデル906、物体検出モデル907等を含み、これらはコンピューティング・システム901のメモリ905に格納される。1つまたは複数のカメラは、視界を調節するための運動制御サーボ908を含むことができる。ネットワーク903はさらに、アラート等に対応する信号を受け取るIoTデバイス909に、コンピューティング・システム901を接続する。コンピューティング・システム901はさらに、例えば、Bluetoothまたは他のワイヤレス通信機能によって、1つまたは複数のロボット909に接続される。
【0056】
本発明のいくつかの実施形態によれば、検出方法は、背景差分プロセスを使用する。背景差分プロセスは、環境の初期背景画像を提供することと、背景画像と後続の画像を比較することによって、カメラのうちの少なくとも1つによって前景または背景としてキャプチャされた後続の画像内のピクセルを分類することと、以前の背景、後続の画像、および前景検出マスクを使用することによって背景画像をアップデートすることとを含む、背景初期化を含む。このプロセスは、例えば深層学習によって各反復を改善する検出方法を用いて、数回繰り返される。
【0057】
総括
【0058】
本発明のいくつかの実施形態によれば、カメラを含むシステムを較正する方法は、ジオ・ポリゴン空間としてモデル化された環境についてのデータを受け取ること301と、カメラによってキャプチャされた環境のシーンの初期推定を行うこと501と、シーンのロボットの通過を含む環境内を進むロボットを検出すること503と、シーンの画像内のロボットによって占有された複数のポイントをジオ・ポリゴン空間にマッピングすること505と、マッピングについてのデータを記録すること506と、マッピングについての記録されたデータを使用して少なくとも1つのアラートを構成することであって、アラートが、コンピューティング・システムによって実行され、物体がシーンを通過することによってトリガされるように構成される、構成すること508とを含む。
【0059】
1つまたは複数の実施形態によれば、システムは、プロセッサ16およびメモリ28を含むコンピューティング・システム901と、コンピューティング・システムに接続されたネットワーク903と、ネットワークを介してコンピューティング・システムに接続された、例えば902といった複数のカメラであって、各カメラが環境の視界を有する、複数のカメラと、環境内にある少なくとも1つのロボット909と、コンピューティング・システムが環境内のロボットを識別するように構成されたモデルを学習すること、およびコンピューティング・システムによって実行された物体検出モデルによってトリガされる少なくとも1つのアラートの作成を可能にする、コンピューティング・システム上で実行する少なくとも1つのソフトウェア・モジュール904とを備える。
【0060】
本開示の実施形態の方法は、電子デバイスまたは代替システムにおける使用に特によく適し得る。したがって、本発明の実施形態は、一般にすべて本明細書で「プロセッサ」、「回路」、「モジュール」、または「システム」と呼ばれ得る、完全にハードウェア実施形態、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形をしていてもよい。
【0061】
さらに、本明細書で説明された方法のいずれかは、コンピュータ・システムのリソースを編成およびサービスするためのコンピュータ・システムを提供する追加のステップを含むことができることに留意されたい。さらに、コンピュータ・プログラム製品は、別個のソフトウェア・モジュールをシステムに提供することを含む本明細書で説明される1つまたは複数の方法ステップを実行するために、コードが実行されるように適合された有形のコンピュータ可読書込み可能ストレージ媒体を含むことができる。
【0062】
本発明の1つまたは複数の実施形態、またはその要素は、メモリと、メモリに連結され、例示的な方法ステップを実施する動作可能な、少なくとも1つのプロセッサとを含む、装置の形で実行されることが可能である。図10は、本発明の実施形態によるクラウド・コンピューティング・ノードを同様に表す、本発明の1つまたは複数の態様または要素あるいはその両方を実行する際に有益になり得るコンピュータ・システムを描写している。図10をここで参照すると、クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードのただ1つの例であり、本明細書で説明される本発明の実施形態の使用または機能の範囲について何らかの限定を示唆することを意図するものではない。それにもかかわらず、クラウド・コンピューティング・ノード10は、以上で説明された機能のいずれかを実行または実施あるいはその両方を行う能力がある。
【0063】
クラウド・コンピューティング・ノード10には、コンピュータ・システム/サーバ12があり、これは、数多くの他の汎用または専用コンピューティング・システム環境または構成で動作可能である。コンピュータ・システム/サーバ12と共に使用するのに適切であり得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境、ならびに同様のものを含むがこれらに限定されない。
【0064】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明されてもよい。一般に、プログラム・モジュールは、特定のタスクを実施するか、特定の抽象データ型を実行する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。コンピュータ・システム/サーバ12は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが実施される分散クラウド・コンピューティング環境で実践されてもよい。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体に置かれてもよい。
【0065】
図10に示されたように、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム/サーバ12の構成要素は、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、および、システム・メモリ28を含む様々なシステム構成要素をプロセッサ16に連結するバス18を含んでもよいがこれらに限定されない。
【0066】
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、および、様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、バス構造のいくつかのタイプのいずれかのうちの1つまたは複数を表す。例として、また限定ではなく、このようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハントISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。
【0067】
コンピュータ・システム/サーバ12は、典型的には、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ12によってアクセス可能な任意の利用可能な媒体でもよく、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体を含む。
【0068】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:randomaccess memory)30またはキャッシュ・メモリ32あるいはその両方など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12はさらに、他の取外し可能/取外し不能な、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含んでもよい。ほんの一例として、ストレージ・システム34は、取外し不能な不揮発性磁気媒体(図示されていないが、典型的には「ハード・ドライブ」と呼ばれる)を読み書きするために提供可能である。図示していないが、取外し可能な不揮発性磁気ディスク(例えば、「フロッピー(R)・ディスク」)を読み書きするための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取外し可能な不揮発性光ディスクを読み書きするための光ディスク・ドライブが提供されることが可能である。このような事例では、それぞれが、1つまたは複数のデータ媒体インターフェースによってバス18に接続されることが可能である。下記でさらに描写および説明されるように、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
【0069】
例として、また限定ではなく、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データだけでなく、プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40がメモリ28に格納されてもよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそのいくつかの組合せは、ネットワーキング環境の実装形態を含んでもよい。プログラム・モジュール42は一般に、本明細書で説明されるような、本発明の実施形態の機能または方法あるいはその両方を実行する。
【0070】
コンピュータ・システム/サーバ12はまた、キーボード、ポインティング・デバイス、ディスプレイ24などの1つもしくは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つもしくは複数のデバイス、または、コンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデム等)、あるいはその組合せと通信してもよい。このような通信は、入出力(I/O)インターフェース22を介して行われることが可能である。さらに、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの、1つまたは複数のネットワークと通信することができる。描写されたように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他の構成要素と通信する。図示していないが、他のハードウェア構成要素またはソフトウェア構成要素あるいはその両方は、コンピュータ・システム/サーバ12と共に使用可能であることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、ならびに、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム等を含むがこれらに限定されない。
【0071】
したがって、1つまたは複数の実施形態は、汎用コンピュータまたはワークステーション上で動くソフトウェアを使用することができる。図10を参照すると、このような実装形態は、例えば、プロセッサ16と、メモリ28と、ディスプレイ24および(キーボード、ポインティング・デバイス、または同様のものなどの)外部デバイス14への入出力インターフェース22とを採用してもよい。本明細書で使用されるような「プロセッサ」という用語は、例えば、CPU(中央処理ユニット)または処理回路機器の他の形式あるいはその両方を含むものなど、任意の処理デバイスを含むことを意図している。さらに、「プロセッサ」という用語は、2つ以上の個々のプロセッサを指してもよい。「メモリ」という用語は、例えば、RAM(ランダム・アクセス・メモリ)30、ROM(リード・オンリ・メモリ)、固定メモリ・デバイス(例えば、ハード・ドライブ34)、取外し可能メモリ・デバイス(例えば、ディスケット)、フラッシュ・メモリおよび同様のものなど、プロセッサまたはCPUに関連付けられたメモリを含むことを意図している。追加として、本明細書で使用されるような「入出力インターフェース」という句は、例えば、データを処理ユニットに入力するための1つまたは複数のメカニズム(例えば、マウス)、および、処理ユニットに関連付けられた結果を提供するための1つまたは複数のメカニズム(例えば、プリンタ)への、インターフェースを意図することを意図している。プロセッサ16、メモリ28、および入出力インターフェース22は、例えば、データ処理ユニット12の一部としてのバス18を介して、相互接続されることが可能である。例えばバス18を介した適切な相互接続はまた、ネットワーク・カードなどのネットワーク・インターフェース20に提供されることが可能であり、ネットワーク・カードは、コンピュータ・ネットワークとのインターフェースに、および、適切な媒体とのインターフェースに提供可能なディスケットまたはCD-ROMドライブなどの媒体インターフェースに、提供可能である。
【0072】
したがって、本明細書で説明されるような本発明の方法を実施するための命令またはコードを含むコンピュータ・ソフトウェアは、関連付けられたメモリ・デバイス(例えば、ROM、固定または取外し可能メモリ)のうちの1つまたは複数に格納されてもよく、利用される準備ができると、部分的または全体的に(例えば、RAM)にロードされ、CPUによって実行される。このようなソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコード、および同様のものを含んでもよいがこれらに限定されない。
【0073】
プログラム・コードを格納または実行あるいはその両方を行うのに適切なデータ処理システムは、システム・バス18を通じて記憶素子28に直接的または間接的に連結された少なくとも1つのプロセッサ16を含むことになる。記憶素子は、プログラム・コードの実際の実装中に採用されるローカル・メモリ、大容量ストレージ、およびキャッシュ・メモリ32を含むことができ、キャッシュ・メモリ32は、実行中にコードが大容量ストレージから取り出されなければならない回数を低減させるための、少なくともいくつかのプログラム・コードの一時記憶を提供する。
【0074】
入出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス、および同様のものを含むがこれらに限定されない)は、直接的に、または介在するI/Oコントローラを通じて、システムに連結可能である。
【0075】
ネットワーク・アダプタ20はまた、データ処理システムが、介在するプライベートまたはパブリック・ネットワークを通じて、他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに連結された状態になることを可能にするために、システムに連結されてもよい。モデム、ケーブル・モデムおよびイーサネット(R)・カードは、ネットワーク・アダプタの現在利用可能なタイプのうちのほんの少しである。
【0076】
本明細書で使用されるように、特許請求の範囲を含めて、「サーバ」は、サーバ・プログラムを動かす物理的なデータ処理システム(例えば、図10に示されたようなシステム12)を含む。このような物理サーバは、ディスプレイおよびキーボードを含んでも含まなくてもよいことが理解されよう。
【0077】
クラウドまたは仮想マシン環境のコンテキストで、1つまたは複数の実施形態が少なくとも部分的に実行されることが可能であるが、これは、例示的かつ非限定的である。図1図2および添付のテキストへの参照が再び行われる。例えば、層66のデータベース・アプリを考える。
【0078】
本明細書で説明される方法のいずれかは、コンピュータ可読ストレージ媒体上で具体化された別個のソフトウェア・モジュールを備えるシステムを提供する追加のステップを含むことができ、モジュールは、例えば、ブロック図で描写された、または本明細書で説明された、あるいはその両方の、適切な要素のいずれかまたはすべてを含むことができ、例として、また限定ではなく、モジュール/ブロックまたはサブモジュール/サブ・ブロックあるいはその両方のうちのいずれか1つ、いくつか、またはすべてが説明されることに留意されたい。方法ステップは、次いで、16などの1つまたは複数のハードウェア・プロセッサ上で実行する、上記で説明されたような、システムの別個のソフトウェア・モジュールまたはサブモジュールあるいはその両方を使用して実行可能である。さらに、コンピュータ・プログラム製品は、別個のソフトウェア・モジュールをシステムに提供することを含む、本明細書で説明される1つまたは複数の方法ステップを実行するように実装されるように適合されたコードを有する、コンピュータ可読ストレージ媒体を含むことができる。
【0079】
いくつかのケースで採用されるユーザ・インターフェースの1つの例は、サーバまたは同様のものによって、ユーザのコンピューティング・デバイスのブラウザに配信される、ハイパーテキスト・マークアップ・ランゲージ(HTML:hypertext markup language)コードである。HTMLは、グラフィカル・ユーザ・インターフェース(GUI)を作り出すために、ユーザのコンピューティング・デバイス上のブラウザによってパースされる。
【0080】
例示的なシステムおよび製品詳細
【0081】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0082】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの、本質的に一時的な信号であると解釈されるべきではない。
【0083】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといった、ネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0084】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路機器用の構成データ、または、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、または、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、あるいは、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラマブル・ロジック回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化することによって、コンピュータ可読プログラム命令を実行してもよい。
【0085】
本発明の態様は、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照しながら本明細書で説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行可能であることが理解されよう。
【0086】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、機械を生み出すために汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の様式で機能するように指図することができる。
【0087】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップを実施させるために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0088】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表してもよい。いくつかの代替実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時には、含まれる機能に応じて逆の順序で実行されてもよい。ブロック図またはフローチャートあるいはその両方の各ブロック、および、ブロック図またはフローチャートあるいはその両方におけるブロックの組合せは、指定の機能もしくは行為を実施するか、または、専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実行可能であることも指摘される。
【0089】
本発明の様々な実施形態の説明は、例証のために提示されてきたが、網羅的であること、または開示の実施形態に限定されることを意図するものではない。多くの変更形態および変形形態が、説明された実施形態の範囲から逸脱することなく、当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実用的用途、もしくは市場で見つかる技術に対する技術的改善を最も良く説明するように、または、本明細書で開示された実施形態を当業者が理解できるように、選ばれた。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2023-10-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
カメラを含むシステムを較正する方法であって、
前記カメラによってキャプチャされた環境のシーンのロボットの通過を含むジオ・ポリゴン空間としてモデル化された前記環境内を進む前記ロボットを検出することと、
前記シーンの画像内の前記ロボットによって占有された複数のポイントを前記ジオ・ポリゴン空間にマッピングすることと、
前記マッピングについてのデータを記録することと、
前記マッピングについての記録された前記データを使用して少なくとも1つのアラートを構成することであって、前記アラートが、コンピューティング・システムによって実行され、物体が前記シーンを通過することによってトリガされるように構成される、前記構成することと
を含む、方法。
【請求項2】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンを通過する前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされると判定することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記環境内の関心領域のロケーションを前記ロボットに提供することと、
アラート条件を前記ロボットに提供することと、
前記ロボットによって、前記シーンの前記ロボットの前記通過中に前記アラート条件を模倣することと、
前記ロボットによって前記アラート条件が満たされないと判定することと、
前記条件を満たすことができるまで、前記シーン内の前記ロボットについての追加のデータを記録することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記環境内の前記関心領域の前記ロケーションを識別する境界ボックスを備える前記シーンの画像を含む訓練データを前記システムに提供することをさらに含む、請求項3に記載の方法。
【請求項5】
前記ロボットから受け取られた地理位置測定されたデータのタイミング・データと、前記コンピューティング・システムのタイミング・データとを同期することをさらに含む、請求項1に記載の方法。
【請求項6】
前記ロボットの少なくとも1つの寸法を含む前記ロボットについてのデータを受け取ることをさらに含む、請求項1に記載の方法。
【請求項7】
請求項1~6の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項8】
請求項7に記載の前記コンピュータ・プログラムを、コンピュータ可読ストレージ媒体に記録した、ストレージ媒体。
【請求項9】
システムであって、
プロセッサおよびメモリを含むコンピューティング・システムと、
前記コンピューティング・システムに接続されたネットワークと、
前記ネットワークを介して前記コンピューティング・システムに接続された複数のカメラであって、各カメラが環境の視界を有する、前記複数のカメラと、
前記環境内にある少なくとも1つのロボットと、
前記コンピューティング・システムが前記環境内の前記ロボットを識別するように構成されたモデルを学習すること、および前記コンピューティング・システムによって実行された物体検出モデルによってトリガされる少なくとも1つのアラートの作成を可能にする、前記コンピューティング・システム上で実行する少なくとも1つのソフトウェア・モジュールと
を備える、システム。
【請求項10】
前記少なくとも1つのロボットが、少なくとも1つの構成グラフィックを含む、請求項に記載のシステム。
【請求項11】
前記少なくとも1つの構成グラフィックが、既知の寸法の幾何学形状である、請求項に記載のシステム。
【請求項12】
前記ロボットが、前記複数のカメラに可視の検出可能トークンを表示するように構成された少なくとも1つのディスプレイを備える、請求項に記載のシステム。
【国際調査報告】