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

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

▶ 日本電気株式会社の特許一覧

特許7392707画像処理の方法、デバイス及びコンピュータ可読記憶媒体
<>
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図1
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図2
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図3
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図4
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図5
  • 特許-画像処理の方法、デバイス及びコンピュータ可読記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】画像処理の方法、デバイス及びコンピュータ可読記憶媒体
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231129BHJP
   G06T 7/11 20170101ALI20231129BHJP
   G06V 10/82 20220101ALI20231129BHJP
【FI】
G06T7/00 350B
G06T7/11
G06V10/82
【請求項の数】 12
【外国語出願】
(21)【出願番号】P 2021209889
(22)【出願日】2021-12-23
(65)【公開番号】P2022103136
(43)【公開日】2022-07-07
【審査請求日】2022-04-22
(31)【優先権主張番号】202011563588.3
(32)【優先日】2020-12-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】リー ヤン
(72)【発明者】
【氏名】ジャン ニー
【審査官】大塚 俊範
(56)【参考文献】
【文献】特表2020-534594(JP,A)
【文献】米国特許出願公開第2020/0294242(US,A1)
【文献】中国特許出願公開第111275080(CN,A)
【文献】米国特許出願公開第2019/0392268(US,A1)
【文献】特開2010-262350(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06V 10/82-10/98
(57)【特許請求の範囲】
【請求項1】
各画像が初期セマンティックセグメンテーションラベルを有する複数の画像を取得することと、
前記複数の画像に対応する複数の画像マスクを取得することと、
前記複数の画像マスクと、前記複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、前記複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成することと、
前記複数の画像と、新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と、前記混合画像のセマンティックセグメンテーションラベルとを生成することと、
を備え、
前記初期セマンティックセグメンテーションラベルは、前記各画像における画素のセマンティッククラスを示し、
各画像マスクは、前記複数の画像のうち対応する画像における対象領域を選択するために用いられ、
前記複数の画像に対応する複数の画像マスクを取得することは、
前記複数の画像のうち第1画像について、前記第1画像における複数の画素の対応する予測セマンティッククラスを決定することと、
前記複数の画素の対応する予測セマンティッククラスに基づいて、前記複数の画素の対応するスコアを決定することと、
前記複数の画素の対応するスコアに基づいて、前記第1画像の第1画像マスクを決定することと、
を備え、
各画素のスコアは、前記各画素と、前記第1画像における対象領域との関連度を示し、
前記第1画像マスクは、前記複数の画素においてより高いスコアを有する少なくとも一部の画素を選択するために用いられる、
画像処理の方法。
【請求項2】
前記第1画像における複数の画素の対応する予測セマンティッククラスを決定することは、
画像セマンティックセグメンテーションモデルを用いて、前記第1画像における前記複数の画素の対応する予測セマンティッククラスを決定することを備える、
請求項に記載の方法。
【請求項3】
前記第1画像における複数の画素の対応するスコアを決定することは、
前記複数の画素のうち第1画素について、前記第1画素の予測セマンティッククラスと前記第1画素のセマンティッククラスとの差に基づいて前記第1画素のスコアを決定することを備え、
前記第1画素のセマンティッククラスは、前記第1画像のセマンティックセグメンテーションラベルによって示される、
請求項に記載の方法。
【請求項4】
前記第1画像における複数の画素の対応するスコアを決定することは、
前記複数の画素のうち第2画素について、前記第2画素の予測セマンティッククラスの不確実性に基づいて、前記第2画素のスコアを決定することを備える、
請求項に記載の方法。
【請求項5】
前記第1画像における複数の画素の対応するスコアを決定することは、
前記複数の画素のうち第3画素について、前記第3画素の予測セマンティッククラスの乱雑さの程度に基づいて、前記第3画素のスコアを決定することを備える、
請求項に記載の方法。
【請求項6】
前記複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成することは、
前記複数の画像マスクにおける各画像マスクと、前記複数の画像のうち対応する画像の初期セマンティックセグメンテーションラベルとにマスキング操作を行うことで、前記対応する画像のセマンティックセグメンテーションラベルを新たに生成することを備える、
請求項1に記載の方法。
【請求項7】
混合画像と、前記混合画像のセマンティックセグメンテーションラベルとを生成することは、
前記複数の画像の対応する重みに基づいて前記複数の画像を重み付けし加算することで、前記混合画像を生成することと、
新たに生成された対応するセマンティックセグメンテーションラベルを、前記複数の画像の対応する重みに基づいて重み付けし加算することで、前記混合画像のセマンティックセグメンテーションラベルを生成することと、
を備える、
請求項1に記載の方法。
【請求項8】
請求項1~のいずれか1項に記載の方法により生成された混合画像及び前記混合画像のセマンティックセグメンテーションラベルを含むトレーニングデータを取得することと、
対象画像のセマンティックセグメンテーションラベルの生成に用いるために、前記トレーニングデータに基づいて、画像セマンティックセグメンテーションモデルに学習させることと、
を備える、
モデル学習方法。
【請求項9】
入力画像を取得することと、
請求項に記載の方法を用いて学習させた画像セマンティックセグメンテーションモデルを使用して、前記入力画像のセマンティックセグメンテーションラベルを生成することと、
を備える、
画像処理の方法。
【請求項10】
請求項1~のいずれか1項に記載の方法を実行する手段を備える、
コンピューティングデバイス。
【請求項11】
求項1~のいずれか1項に記載の方法により生成された混合画像及び前記混合画像のセマンティックセグメンテーションラベルを含むトレーニングデータを取得する手段と
対象画像のセマンティックセグメンテーションラベルの生成に用いるために、前記トレーニングデータに基づいて、画像セマンティックセグメンテーションモデルに学習させる手段と、
を備える、
コンピューティングデバイス。
【請求項12】
入力画像を取得する手段と、
請求項9に記載の方法を用いて学習させた画像セマンティックセグメンテーションモデルを使用して、前記入力画像のセマンティックセグメンテーションラベルを生成する手段と、
を備える、
コンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は画像処理分野に関し、より具体的には、画像処理の方法、デバイス及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
画像のセマンティックセグメンテーションは、画像処理及びコンピュータビジョンの分野で重要な技術であり、画像理解の基礎となるものである。画像のセマンティックセグメンテーションとは、画像内の各画素を分類し、各画素のセマンティッククラス(例えば、背景、人物又は車両に属するか等)を決定し、その結果、異なるセマンティッククラスに応じて画像領域を分割するものである。
【0003】
一般的に、画像のセマンティックセグメンテーションを実施するためには、トレーニングデータセットに基づいて画像セマンティックセグメンテーションモデル(例えば、ディープニューラルネットワーク)に学習させることができる。ディープニューラルネットワークは高い非線形適合の能力を有し、複雑なタスクを処理するように学習させることができる。しかし、ディープニューラルネットワークのこの特徴は、過剰適合の問題につながりやすい。つまり、学習させたモデルがトレーニングデータセットに過剰に適合し、他のデータセットではパフォーマンスが低くなる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の実施形態は、画像処理の方法、デバイス及びコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本開示の第1の態様では、画像処理の方法が提供される。当該方法は、複数の画像を取得することを備える。ここで、各画像は、当該画像における画素のセマンティッククラスを示す初期セマンティックセグメンテーションラベルを有する。また、当該方法は、複数の画像に対応する複数の画像マスクを取得することと、複数の画像マスクと複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成することと、複数の画像と新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と当該混合画像のセマンティックセグメンテーションラベルとを生成することと、を備える。各画像マスクは、前記複数の画像のうち対応する画像における対象領域を選択するために用いられる。
【0006】
本開示の第2の態様では、モデル学習方法が提供される。当該方法は、対象画像のセマンティックセグメンテーションラベルの生成に用いるために、本開示の第1の態様により生成された混合画像及び当該混合画像のセマンティックセグメンテーションラベルをトレーニングデータとすることにより、画像セマンティックセグメンテーションモデルに学習させることを備える。
【0007】
本開示の第3の態様では、画像処理の方法が提供される。当該方法は、入力画像を取得することと、本開示の第2の態様により学習させた画像セマンティックセグメンテーションモデルを使用して、入力画像のセマンティックセグメンテーションラベルを生成することとを備える。
【0008】
本開示の第4の態様では、コンピューティングデバイスが提供される。当該コンピューティングデバイスは少なくとも1つのプロセッサを備える。前記少なくとも1つのプロセッサは、複数の画像を取得するように設定される。ここで、各画像は、当該画像における画素のセマンティッククラスを示す初期セマンティックセグメンテーションラベルを有する。また、少なくとも1つのプロセッサは、複数の画像に対応する複数の画像マスクを取得し、複数の画像マスクと複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成し、複数の画像と新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と当該混合画像のセマンティックセグメンテーションラベルとを生成するように設定される。各画像マスクは、複数の画像のうち対応する画像における対象領域を選択するために用いられる。
【0009】
本開示の第5の態様では、コンピューティングデバイスが提供される。当該コンピューティングデバイスは少なくとも1つのプロセッサを備える。前記少なくとも1つのプロセッサは、対象画像のセマンティックセグメンテーションラベルの生成に用いるために、本開示の第1の態様により生成された混合画像及び当該混合画像のセマンティックセグメンテーションラベルをトレーニングデータとすることにより、画像セマンティックセグメンテーションモデルに学習させるように設定される。
【0010】
本開示の第6の態様では、コンピューティングデバイスが提供される。当該コンピューティングデバイスは少なくとも1つのプロセッサを備える。前記少なくとも1つのプロセッサは、入力画像を取得し、本開示の第2の態様により学習させた画像セマンティックセグメンテーションモデルを使用して、入力画像のセマンティックセグメンテーションラベルを生成するように設定される。
【0011】
本開示の第7の態様では、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体には、マシンが実行可能な命令が記憶されており、当該マシンが実行可能な命令は、デバイスにより実行された場合に、当該デバイスに、本開示の第1の態様、第2の態様又は第3の態様に記載の方法の任意のステップを実行させる。
【0012】
本開示の第8の態様では、コンピュータプログラム製品が提供される。当該コンピュータプログラム製品はコンピュータ可読記憶媒体に有形記憶され、マシンが実行可能な命令を含む。当該マシンが実行可能な命令は、デバイスにより実行された場合に、当該デバイスに、本開示の第1の態様、第2の態様又は第3の態様に記載の方法の任意のステップを実行させる。
【0013】
発明の概要部分は、一連の概念を簡略化して紹介するためのものである。これらについては、以下の実施形態においてさらに説明を行う。発明の概要部分の記述は、本開示の重要又は必要な特徴を標記することを意図したものではなく、本開示の範囲を限定することも意図していない。本開示のその他の特徴は、以下の説明により容易に理解できるはずである。
【図面の簡単な説明】
【0014】
本発明の目的、利点、及びその他の特徴は、以下の開示内容及び請求項から、より明らかになるはずである。ここでは、あくまで例示を目的として、図面を参照して好ましい実施形態の非限定的な説明を行う。
【0015】
図1】本開示の実施形態にかかる画像処理システムの概略ブロック図を示す。
【0016】
図2】本開示の実施形態にかかる画像処理の模式図を示す。
【0017】
図3】本開示の実施形態にかかる、画像処理に用いられる例示的方法のフローチャートを示す。
【0018】
図4】本開示の実施形態にかかる例示的モデル学習方法のフローチャートを示す。
【0019】
図5】本開示の実施形態にかかる、画像処理に用いられる例示的方法のフローチャートを示す。
【0020】
図6】本開示の実施形態を実施可能な例示的なコンピューティングデバイスの概略ブロック図を示す。
【0021】
各図において、同一又は対応する図面符号は、同一又は対応する部分を示す。
【発明を実施するための形態】
【0022】
以下、図面を参照しつつ、本開示の実施形態についてより詳細に説明する。図には本開示のいくつかの実施形態が示されているが、本開示は様々な形式で実現することが可能であり、ここに記載された実施形態に限定されると解釈すべきではなく、これら実施形態は本開示を、より徹底的且つ完全に理解するために提供されるものである。この点は理解されなければならない。また、本開示の図面及び実施形態は例示的なものにすぎず、本開示の保護範囲を限定するためのものではない点も、理解されなければならない。
【0023】
本開示の実施形態の説明において、「含む」及び類似の用語は開放的なもの、すなわち「…を含むが、これらに限定されない」と理解されるべきである。用語「…に基づいて」は、「少なくとも部分的に基づく」と理解されるべきである。用語「1つの実施形態」又は「当該実施形態」は、「少なくとも1つの実施形態」と理解されるべきである。用語「第1」、「第2」等は、異なるか又は同一の対象を示すことができる。以下の文中ではさらに、その他の明確な定義及び暗黙の定義が含まれる可能性がある。
【0024】
文中で用いられる「回路」という用語は、ハードウェア回路、及び/又は、ハードウェア回路とソフトウェアとの組合せを指すことができる。例えば、当該回路は、アナログ及び/又はデジタルのハードウェア回路とソフトウェア/ファームウェアとの組合せであってもよい。別の例として回路は、ソフトウェアを備えたハードウェアプロセッサ(デジタル信号処理器を含む)、ソフトウェア、及びメモリの任意の部分であってもよい。それらは、デバイスに様々な機能を実行させるために協働する。さらに別の例で回路は、マイクロプロセッサ又はマイクロプロセッサの一部等のハードウェア回路及び/又はプロセッサであってもよく、操作のためにソフトウェア/ファームウェアを必要とするが、操作にソフトウェアが必要とされない場合には当該ソフトウェアはなくてもよい。文中で用いられる「回路」という用語には、ハードウェア回路又はプロセッサのみの実装、又は、ハードウェア回路又はプロセッサの一部にそれ(又はそれら)に付随するソフトウェア及び/又はファームウェアを加えた実装も含まれる。
【0025】
上述したように、画像のセマンティックセグメンテーションを実施するためには、通常、トレーニングデータセットに基づいて画像セマンティックセグメンテーションモデル(例えば、ディープニューラルネットワーク)に学習させる。ディープニューラルネットワークは高い非線形適合の能力を有し、複雑なタスクを処理するように学習させることができる。しかし、ディープニューラルネットワークのこの特徴は、過剰適合の問題につながりやすい。つまり、学習させたモデルがトレーニングデータセットに過剰に適合し、他のデータセットではパフォーマンスが低くなる。
【0026】
通常、正則化の操作によって、モデルによるトレーニングデータセットへの過剰適合や、その予測結果に対する過信を防ぐことができる。例えば、混合(mixup)操作は、コンピュータビジョンで画像を補強するための一般的な方法である。この操作では、異なる画像を混合してトレーニングデータセットを拡充することができる。混合(mixup)操作は正則化操作とみなすことができ、データ補強の形でモデルに正規化項を追加するか、又はモデルの刈り込みを行う。しかし、画像のセマンティックセグメンテーションのような画素単位の予測の問題では、標準的な正則化操作では大きな改善が見られない。これは、画素単位の予測の問題では複雑な特徴空間が要求されることから、モデル学習の効率が低下し、容易に収束しなくなるためである。
【0027】
上述の問題及び/又は他の潜在的問題を解決するために、本開示の実施形態は、画像処理に用いられる解決手段を提供する。当該解決手段では、複数の画像を取得する。各画像は、当該画像における画素のセマンティッククラスを示すセマンティックセグメンテーションラベルを有する。当該解決手段では、複数の画像に対応する複数の画像マスクを取得する。各画像マスクは、複数の画像のうち対応する画像における対象領域を選択するために用いられる。当該解決手段では、複数の画像マスクと、複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成する。当該解決手段では、その後、複数の画像と、新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と、当該混合画像のセマンティックセグメンテーションラベルとを生成する。
【0028】
このようにして、当該解決手段では複数の画像から貢献度の高い画素を選択して混合することができる。生成された混合画像とそのセマンティックセグメンテーションラベルをトレーニングデータとし、画像セマンティックセグメンテーションモデルに学習させることで、簡単なトレーニングサンプルでのモデルの冗長な学習を削減することができる。トレーニングサンプルに摂動を導入することで、モデルの過剰適合の問題を改善することができ、その結果、モデルの性能が向上する。
【0029】
以下、図面を参照して本開示の実施形態について詳細に説明する。本開示の実施形態では、「モデル」という用語は、入力を処理し、対応する出力を提供することができる。ニューラルネットワークモデルを例とすると、通常は入力層、出力層、及び入力層と出力層との間にある1つ又は複数の隠れ層を含む。ディープラーニングのアプリケーションで使用されるモデル(「ディープラーニングのモデル」とも呼ばれる)は通常、隠れ層を多く含むことで、ネットワークの深さを拡張する。ニューラルネットワークモデルの各層は、前の層の出力が次の層の入力として使用されるように順次接続されており、入力層はニューラルネットワークモデルへの入力を受け取り、出力層の出力はニューラルネットワークモデルの最終出力となる。ニューラルネットワークモデルの各層は、1つ又は複数のノード(処理ノード又はニューロンとも称される)を含み、各ノードは前の層からの入力を処理する。文中では、「ニューラルネットワーク」、「モデル」、「ネットワーク」、及び「ニューラルネットワークモデル」という用語を互換的に使用することができる。
【0030】
図1は、本開示の実施形態にかかる画像処理システム100の概略ブロック図を示す。図1に示すように、システム100は、画像収集装置110、画像アノテーション装置120、画像処理装置130、モデル学習装置140、及びモデル適用装置150を備えることができる。いくつかの実施形態では、上述の複数の装置はそれぞれ、異なる物理デバイスに実装することができる。選択的に、上述の複数のデバイスのうち少なくとも一部は、同じ物理的デバイスに実装されてもよい。図1に示すシステム100は、本開示の実施形態を実施可能な1つの例示に過ぎず、本開示の範囲を限定することを意図していないことを理解されたい。本開示の実施形態は、他のシステム又はアーキテクチャにも同様に適用される。
【0031】
画像収集装置110は、モデルに学習させるための画像コレクション101を収集することができる。画像コレクション101内の画像は、任意のフォーマットの画像であってもよいことを理解されたい。さらに、画像収集装置110は、既知の又は将来開発される任意の方法を使用して画像コレクション101を収集することができる。本開示の範囲はこの点において限定されない。
【0032】
画像アノテーション装置120は、各画像101に対して、当該画像内の各画素のセマンティッククラスを示すために、セマンティックセグメンテーションラベルを生成することができる。画素のセマンティッククラスとは、画像内のその画素に対応するオブジェクトのタイプを指す。画像内のオブジェクトは、背景、人物、動物、車両等を含むことができるがこれらに限定されない。例えば、生成されるセマンティックセグメンテーションラベルは、各画素の真のセマンティッククラスを示すベクトル又は配列であってもよいし、図1に示すように可視化された画像であってもよい。異なるセマンティッククラスの画素は、異なる色を用いて標記することができる。理解すべき点として、画像のアノテーションは手動で行ってもよい。この場合、画像アノテーション装置120は、各画像101の各画素に対してアノテーションするように手動で制御される装置又はデバイスであってもよい。
【0033】
画像コレクション101及びその対応するセマンティックセグメンテーションラベル102は、画像処理装置130に提供することができる。画像処理装置130は、画像コレクション101から複数の画像101を取得することができる。各画像101には、対応するセマンティックセグメンテーションラベル102がアノテーションされている。本明細書では、「セマンティックセグメンテーションラベル102」は「初期セマンティックラベル」とも称される。画像処理装置130は、複数の画像101に対応する複数の画像マスクを取得することができる。各画像マスクは、対応する画像101における対象領域の選択に用いることができる。対象領域は、当該画像101においてそのセマンティッククラスの予測がより困難な複数の画素、すなわち、画像セマンティックセグメンテーションモデルに対する学習貢献度が比較的高い画素を含むことができる。画像処理装置130は、複数の画像マスクと複数の画像の初期セマンティックセグメンテーションラベル102とに基づいて、複数の画像101のセマンティックセグメンテーションラベルを新たに生成することができる。例えば、各画像101に対応する初期セマンティックセグメンテーションラベル102に対し、画像処理装置130は、画像マスクと、初期セマンティックセグメンテーションラベル102とにマスキング操作(すなわち、ドット積)を行うことにより、初期セマンティックセグメンテーションラベル102において対象領域のそれらの画素に対応する部分を選択し、非対象領域のそれらの画素の部分を無視することができる。そして、画像処理装置130は、当該複数の画像101と、新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と、当該混合画像のセマンティックセグメンテーションラベルとを生成して、トレーニングデータセット103のトレーニングサンプルとすることができる。追加で又は選択的に、画像処理装置130は、オリジナルの各画像101及びその対応する初期セマンティックセグメンテーションラベル102を、トレーニングデータセット103の1つのトレーニングサンプルとして使用してもよい。このようにして、画像処理装置130は、複数のトレーニングサンプルを含むトレーニングデータセット103を生成することができる。理解すべき点として、トレーニングデータセット103は、混合画像とそのセマンティックセグメンテーションラベルからなるトレーニングサンプルのみを含んでもよいし、オリジナルの画像とそのセマンティックセグメンテーションラベルからなるトレーニングサンプルのみを含んでもよいし、上述の両方を含んでいてもよい。
【0034】
トレーニングデータセット103は、画像セマンティックセグメンテーションモデル104の学習に使用するために、モデル学習装置140に提供することができる。画像セマンティックセグメンテーションモデル104は、それに入力された画像の各画素が属するセマンティッククラスを予測するように学習させることができる。例えば、モデル学習装置140は、トレーニングデータセット103に基づいてモデルに学習させ、画像セマンティックセグメンテーションモデル104のモデルパラメータを決定することができる。学習させた画像セマンティックセグメンテーションモデル104(例えば、決定されたモデルパラメータ)は、モデル適用装置150に提供することができる。モデル適用装置150は、入力画像105を取得し、学習させた画像セマンティックセグメンテーションモデル104を使用して、当該入力画像105内の各画素のセマンティッククラスを予測することができる。モデル適用装置150は、予測結果に基づいて、入力画像105を示すセマンティックセグメンテーションラベル106を生成することができる。例えば、生成されるセマンティックセグメンテーションラベル106は、入力画像105の各画素のセマンティッククラスを示すベクトル又は配列であってもよいし、図1に示すように可視化された画像であってもよい。異なるセマンティッククラスの画素は、異なる色で充填することができる。
【0035】
画像セマンティックセグメンテーションモデル104は、様々な分野に適用することができる。医療分野では、画像セマンティックセグメンテーションモデルは、入力された様々な医用画像に対してセマンティックセグメンテーションを行うことで、病変部を識別・理解して、医師の病気診断を支援することができる。例えば、医用画像を処理する方法は、入力された医用画像を取得することと、学習させた画像セマンティックセグメンテーションモデルを使用して、当該医用画像のセマンティックセグメンテーションラベルを生成することと、当該セマンティックセグメンテーションラベルに基づいて、医用画像内の病変を識別することとを備えることができる。ここでセマンティックセグメンテーションラベルは、当該医用画像内の画素のセマンティッククラスを示す。例えば自動運転の分野では、画像セマンティックセグメンテーションモデルは、走行中の車両が取得した画像に対してセマンティックセグメンテーションを行い、その中のストリートシーンを認識・理解して、自動運転システムの運転判断を支援することができる。例えば、自動運転方法は、走行中の車両によって撮影された画像を取得することと、学習させた画像セマンティックセグメンテーションモデルを使用して、当該画像のセマンティックセグメンテーションラベルを生成することと、当該セマンティックセグメンテーションラベルに基づいて、画像内のストリートシーンを認識することと、認識結果に基づいて自動運転の判断を生成することと、を備えることができる。ここでセマンティックセグメンテーションラベルは、当該画像における画素のセマンティッククラスを示す。
【0036】
以下、図2を参照して、図1に示す画像処理装置130が実行する操作について、さらに詳細に説明する。図2は、画像コレクション101から取得された複数の画像101-1及び101-2を示す。画像101-1は、アノテーションされた初期セマンティックセグメンテーションラベル102-1を有し、画像101-2は、アノテーションされた初期セマンティックセグメンテーションラベル102-2を有している。図2では画像コレクション101から一対の画像を取得して処理することしか示されていないが、理解すべき点として、これらは単に例示を目的としており、本開示の範囲に対する何らかの限定を暗示するものではない。いくつかの実施形態において画像処理装置130は、画像コレクション101から2つより多い画像を取得して処理してもよい。
【0037】
いくつかの実施形態において、図2に示すように、複数の画像101-1及び101-2の各画像に対し、画像処理装置130は画像セマンティックセグメンテーションモデル210を使用して、当該画像における複数の画素の対応するセマンティッククラスを予測することができる。画像セマンティックセグメンテーションモデル210は、画像セマンティックセグメンテーションモデル104と同じモデルであってもよいし、異なるモデルであってもよい。例えば、画像セマンティックセグメンテーションモデル210は、事前に学習させた画像セマンティックセグメンテーションモデル、初歩的な学習をさせた画像セマンティックセグメンテーションモデル、又は、学習させたことがない画像セマンティックセグメンテーションモデルであってもよい。すなわち、画像セマンティックセグメンテーションモデル210は、予測精度の低いセマンティックセグメンテーションモデルを用いて実現してもよいし、セマンティックセグメンテーション機能を実現できる他のアルゴリズム又はデバイスを用いて実現してもよい。
【0038】
画像処理装置130はさらに、各画像に対するセマンティック予測結果に基づいて、当該画像における複数の画素の対応するスコアを決定することができる。各画素のスコアは、当該画素と、当該画像における対象領域との関連度を示すことができる。言い換えれば、各画素のスコアは、画像セマンティックセグメンテーションモデルの学習に対する当該画素の貢献度を示すことができる。図2に示すように、画像101-1の複数の画素の対応スコアは、ヒートマップ220-1で表すことができ、画像101-2の複数の画素の対応スコアは、ヒートマップ220-2で表すことができる。
【0039】
いくつかの実施形態では、各画像の各画素について、画像処理装置130は、当該画素の予測セマンティッククラスと当該画素の真のセマンティッククラスとの差に基づいて、当該画素のスコアを決定することができる。ここで、当該画素の真のセマンティッククラスは、当該画像のセマンティックセグメンテーションラベル102によって示される。例えば、画像セマンティックセグメンテーションモデル210は、各画像の各画素が、異なるセマンティッククラスに属する対応する確率を予測することができ、一方で当該画像のアノテーションされたセマンティックセグメンテーションラベルは、各画素が属する真のセマンティッククラスを示すことができる。画像処理装置130は、画像セマンティックセグメンテーションモデル210が予測した各画素がその真のセマンティッククラスに属する確率と、所定の確率値(例えば、100%)との間の損失を、各画素のスコアとして算出することができる。つまり、画素のスコアが高いほど、当該画素の予測セマンティッククラスと、その真のセマンティッククラスとの差が大きいということになる。
【0040】
選択的に、いくつかの実施形態では、画像処理装置130は各画像の各画素について、当該画素の予測セマンティッククラスにおける不確実性又は乱雑さの程度(例えば、エントロピー)に基づいて、当該画素のスコアを決定してもよい。例えば、画像セマンティックセグメンテーションモデル210は、各画像の各画素が、異なるセマンティッククラスに属する対応する確率を予測することができる。画像処理装置130は、既知の又は開発予定の任意の適切なアルゴリズムを使用して、各画素に対して予測された異なるセマンティッククラスに属する対応する確率に基づいて、当該画素の予測セマンティッククラスの不確実性又は乱雑さの程度を決定して、当該画素のスコアとしてもよい。つまり、ある画素のスコアが高いほど、当該画素の予測セマンティッククラスの不確実性又は乱雑さの程度が高いことということになる。
【0041】
いくつかの実施形態では、図2に示すように、画像処理装置130は、画像101-1内の複数の画素の対応スコアを示すヒートマップ220-1に基づいて、画像101-1に対応する画像マスク230-1を決定することができる。同様に、画像処理装置130は、画像101-2内の複数の画素の対応スコアを示すヒートマップ220-2に基づいて、画像101-2に対応する画像マスク230-2を決定することができる。
【0042】
いくつかの実施形態では、画像処理装置130は、各画像における複数の画素のスコアを大きいものから小さいものへと順位付けし、順位が前のN%の画素を選択するか、又はスコアが閾値スコアnを超える画素を選択することができる。例えば、N%又はnの数値は検証実験から決定することができる。画像処理装置130は、選択された画素に対応する位置のマスク値を1に設定し、他の位置のマスク値を0に設定することで、当該画像の画像マスクを生成することができる。選択的に、いくつかの実施形態では、画像処理装置130は、一連の画像の全ての画素のスコアを大きいものから小さいものへと順位付けし、順位が前のN%の画素を選択するか、又はスコアが閾値スコアnを超える画素を選択してもよい。例えば、N%又はnの数値は検証実験から決定することができる。画像処理装置130は、選択された画素に対応する位置のマスク値を1に設定し、他の位置のマスク値を0に設定することで、当該一連の画像の各画像の画像マスクを生成することができる。選択的に、他の実施形態では、画像処理装置130は、各画像における複数の画素の対応スコアを示すヒートマップを直接、当該画像の画像マスクとしてもよい。
【0043】
いくつかの実施形態では、図2に示すように、画像処理装置130は、画像マスク230-1と、画像101-1の初期セマンティックセグメンテーションラベル102-1とに、マスキング操作(すなわち、ドット積)を行うことで、画像101-1のセマンティックセグメンテーションラベル240-1を新たに生成することができる。同様に、画像処理装置130は、画像マスク230-2と、画像101-2の初期セマンティックセグメンテーションラベル102-2とにマスキング操作(すなわち、ドット積)を行うことで、画像101-2のセマンティックセグメンテーションラベル240-2を新たに生成することができる。図2から理解できるように、新たに生成されたセマンティックセグメンテーションラベル240-1及び240-2はそれぞれ、初期セマンティックセグメンテーションラベル102-1及び102-2における、対象領域のそれらの画素に対応するセマンティックセグメンテーションラベルを保持し、非対象領域におけるそれらの画素のセマンティックセグメンテーションラベルを無視する。
【0044】
いくつかの実施形態では、図2に示すように、画像処理装置130は、複数の画像101-1及び101-2と、新たに生成されたセマンティックセグメンテーションラベル240-1及び240-2とに基づいて、混合画像250及びそのセマンティックセグメンテーションラベル260をさらに生成することができる。いくつかの実施形態では、画像処理装置130は、複数の画像101-1及び101-2の対応する重みに基づいて、複数の画像101-1及び101-2を重み付けし加算することで、混合画像250を得ることができる。画像処理装置130は、複数の画像101-1及び101-2の対応する重みに基づいて、セマンティックセグメンテーションラベル240-1及び240-2を重み付けし加算することで、混合画像250のセマンティックセグメンテーションラベル260を得ることができる。理解すべき点として、画像処理装置130は、他の方法を使用して混合画像250及びそのセマンティックセグメンテーションラベル260を生成してもよい。混合画像250及びそのセマンティックセグメンテーションラベル260は、図1に示すようなトレーニングデータセット103の1つのトレーニングサンプルとして、画像セマンティックセグメンテーションモデル104に学習させるために用いることができる。
【0045】
図3は、本開示の実施形態にかかる、画像処理に用いられる例示的方法300のフローチャートを示す。例えば、方法300は、図1に示す画像処理装置130により実行することができる。以下、図1及び図2を参照して方法300を説明する。理解すべき点として、方法300はさらに、図示されていない付加的ブロックを含むことができ、且つ/又は示されたいくつかのブロックを省略することができる。本開示の範囲は、この点において限定されない。
【0046】
ブロック310において、複数の画像(例えば、図2に示す画像101-1及び101-2)を取得する。ここで各画像は、当該画像における画素のセマンティッククラスを示す初期セマンティックセグメンテーションラベル(例えば図2に示すセマンティックセグメンテーションラベル102-1及び102-2)を有する。
【0047】
ブロック320では、複数の画像に対応する複数の画像マスク(例えば、図2に示すような画像マスク230-1及び230-2)を取得する。各画像マスクは、複数の画像のうち対応する画像における対象領域を選択するために用いられる。
【0048】
いくつかの実施形態において、複数の画像に対応する複数の画像マスクを取得することは、複数の画像のうち第1画像(例えば、図2に示す画像101-1又は101-2)について、第1画像の複数の画素の対応する予測セマンティッククラスを決定することと、複数の画素の対応する予測セマンティッククラスに基づいて、複数の画素の対応スコア(例えば図2に示すヒートマップ220-1又は220-2)を決定することと、複数の画素の対応スコアに基づいて、第1画像の第1画像マスク(例えば図2に示す画像マスク230-1又は230-2)を決定することと、を備える。各画素のスコアは、当該画素と、第1画像における対象領域との関連度を示す。第1画像マスクは、複数の画素においてより高いスコアを有する少なくとも一部の画素を選択するために用いられる。
【0049】
いくつかの実施形態において、第1画像における複数の画素の対応する予測セマンティッククラスを決定することは、画像セマンティックセグメンテーションモデル(例えば図2に示す画像セマンティックセグメンテーションモデル210)を用いて、第1画像における複数の画素の対応する予測セマンティッククラスを決定することを備える。
【0050】
いくつかの実施形態において、第1画像における複数の画素の対応するスコアを決定することは、複数の画素の第1画素について、第1画素の予測セマンティッククラスと第1画素のセマンティッククラスとの差に基づいて、第1画素のスコアを決定することを備える。ここで、第1画素のセマンティッククラスは、第1画像のセマンティックセグメンテーションラベルによって示される。
【0051】
いくつかの実施形態において、第1画像における複数の画素の対応するスコアを決定することは、複数の画素の第2画素について、第2画素の予測セマンティッククラスの不確実性に基づいて、第2画素のスコアを決定することを備える。
【0052】
いくつかの実施形態において、第1画像における複数の画素の対応するスコアを決定することは、複数の画素の第3画素について、第3画素の予測セマンティッククラスの乱雑さの程度に基づいて、第3画素のスコアを決定することを備える。
【0053】
ブロック330では、複数の画像マスクと複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、複数の画像の対応するセマンティックセグメンテーションラベル(例えば、図2に示すセマンティックセグメンテーションラベル240-1及び240-2)を新たに生成する。
【0054】
いくつかの実施形態において、複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成することは、複数の画像マスクにおける各画像マスクと、複数の画像のうち対応する画像の初期セマンティックセグメンテーションラベルとにマスキング操作を行うことで、当該対応する画像のセマンティックセグメンテーションラベルを新たに生成することを備える。
【0055】
ブロック340において、複数の画像と、新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像(例えば、図2に示す混合画像250)と、当該混合画像のセマンティックセグメンテーションラベル(例えば、図2に示すセマンティックセグメンテーションラベル260)とを生成する。
【0056】
いくつかの実施形態において、混合画像と、当該混合画像のセマンティックセグメンテーションラベルとを生成することは、複数の画像の対応する重みに基づいて複数の画像を重み付けし加算することで、混合画像を生成することと、新たに生成された対応するセマンティックセグメンテーションラベルを、複数の画像の対応する重みに基づいて重み付けし加算することで、当該混合画像のセマンティックセグメンテーションラベルを生成することとを備える。
【0057】
図4は、本開示の実施形態にかかる例示的モデル学習方法400のフローチャートを示す。例えば、方法400は、図1に示すモデル学習装置140によって実行することができる。以下、図1及び図2を参照して方法400を説明する。理解すべき点として、方法400はさらに、図示されていない付加的ブロックを含むことができ、且つ/又は示されたいくつかのブロックを省略することができる。本開示の範囲は、この点において限定されない。
【0058】
ブロック410において、トレーニングデータを取得する。例えば、モデル学習装置140は、図1に示すトレーニングデータセット103からトレーニングデータを取得することができる。いくつかの実施形態では、取得されたトレーニングデータは、方法300に従って生成された混合画像と、そのセマンティックラベル(例えば図2に示す混合画像250及びそのセマンティックラベル260)とを含む。追加で又は選択的に、いくつかの実施形態では、取得されたトレーニングデータはさらに、オリジナルの画像及びその対応する初期セマンティックセグメンテーションラベル(例えば図1に示す画像101及びその対応する初期セマンティックセグメンテーションラベル102)を含んでもよい。
【0059】
ブロック420において、対象画像のセマンティックセグメンテーションラベルの生成に用いるために、トレーニングデータに基づいて、画像セマンティックセグメンテーションモデル(例えば、図1及び図2に示す画像セマンティックセグメンテーションモデル104)に学習させる。いくつかの実施形態において、モデル学習装置140は、取得したトレーニングデータに基づいてモデルに学習させ、画像セマンティックセグメンテーションモデル104のモデルパラメータを決定することができる。
【0060】
図5は、本開示の実施形態にかかる、画像処理に用いられる例示的方法500のフローチャートを示す。例えば、方法500は、図1に示すモデル適用装置150によって実行することができる。以下、図1及び図2を参照して方法500を説明する。理解すべき点として、方法500はさらに、図示されていない付加的ブロックを含むことができ、且つ/又は示されたいくつかのブロックを省略することができる。本開示の範囲は、この点において限定されない。
【0061】
ブロック510において、入力画像(例えば、図1に示す入力画像105)を取得する。ブロック520において、画像セマンティックセグメンテーションモデルを使用して、当該入力画像のセマンティックセグメンテーションラベル(例えば図1に示すセマンティックセグメンテーションラベル106)を生成する。当該セマンティックセグメンテーションラベルは、入力画像内の画素のセマンティッククラスを示す。例えば、生成されるセマンティックセグメンテーションラベル106は、入力画像105の各画素のセマンティッククラスを示すベクトル又は配列であってもよいし、図1に示すように可視化された画像であってもよい。異なるセマンティッククラスの画素は、異なる色で充填することができる。
【0062】
表1は、異なるスキームの処理に基づき学習させた画像セマンティックセグメンテーションモデルの性能比較を示す。表1は、同じトレーニングデータセットに基づいて、スキーム1~4をそれぞれ用いて学習させた画像セマンティックセグメンテーションモデルの精度を示す。
【表1】
【0063】
表1において、「スキーム1」はベースラインのスキームを表す。つまり、オリジナルの画像とその標準的なセマンティックセグメンテーションラベルを用いて、画像セマンティックセグメンテーションモデルに学習させたものである。「スキーム2」は、従来の混合(mixup)操作のスキームを表す。「スキーム3」及び「スキーム4」は、本開示の実施形態にかかるスキームである。「スキーム3」では、画素の予測セマンティッククラスとその真のセマンティッククラスとの間の損失に基づいて、対象領域を選択するための画像マスクを生成し、「スキーム4」では、画素の予測セマンティッククラスの乱雑さの程度(すなわち「エントロピー」)に基づいて、対象領域を選択するための画像マスクを生成した。表1は、20の所定のセマンティッククラスに対し画像セグメンテーションを行った場合の各スキームの平均精度を示す。表1に示す実験データにより、本開示の実施形態のスキームが、学習させる画像セマンティックセグメンテーションモデルの性能向上に有効であることを証明することができる。例えば、20の所定のセマンティッククラスのそれぞれセマンティッククラスについて、精度を1%~2%向上させることができる。
【0064】
本開示の実施形態は、セマンティックセグメンテーションタスクに適用するだけでなく、インスタンスセグメンテーション(instance segmentation)タスクにも適用することができる。上述したように、セマンティックセグメンテーションタスクの目的は、画像の各画素が属するセマンティッククラスを識別することである。セマンティックセグメンテーションタスクと異なり、インスタンスセグメンテーションタスクの目的は、画像の各画素が属するインスタンスのクラスを識別することである。例えば、セマンティックセグメンテーションタスクでは、画像の中の人物に属する画素を同じクラスに分類するが、インスタンスセグメンテーションタスクでは、画像の中の異なる人物に属する画素を異なるクラスに分類する。
【0065】
本開示の実施形態をインスタンスセグメンテーションタスクに適用するためには、各画像101にアノテーションされた初期セマンティックラベル102が、当該画像における各画素が属するインスタンスクラスを示す必要がある。例えば、2つの画素のセマンティッククラスがともに人物であるが、それぞれ異なる人に対応している場合、この2つの画素は異なるインスタンスクラスに属するものとしてアノテーションされる。その後の処理は、上述のセマンティックセグメンテーションタスクで説明した処理プロセスと同様であるため、ここでは詳述を繰り返さない。
【0066】
図6は、本開示の実施形態を実施可能な例示的コンピューティングデバイス600の概略ブロック図を示す。例えば、図1に示すシステム100の1つ又は複数の装置は、デバイス600によって実施することができる。デバイス600の例として、任意の汎用コンピュータ、専用コンピュータ、サーバ、仮想マシン、及び計算能力を有する他の任意の電子機器(例えば、ユーザ端末(UE)、移動電話、携帯電話、スマートフォン、携帯情報端末(PDA)、画像取込デバイス(例えばデジタルカメラ)、ゲーム機器、音楽保存再生装置、又は無線若しくは有線によるインターネットへのアクセス・閲覧を可能にするインターネットデバイス等)を含むことができる。
【0067】
図に示すように、デバイス600は、中央処理ユニット(CPU)601(「プロセッサ601」とも称する)を備える。CPU601は、リードオンリーメモリ(ROM)602に記憶されたコンピュータプログラムの命令、又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムの命令に基づき、各種の適切な動作及び処理を実行することができる。RAM603にはさらに、デバイス600の操作に必要な各種プログラム及びデータを記憶することができる。CPU601、ROM602及びRAM603はバス604を介して互いに接続されている。入力/出力(I/O)インタフェース605もバス604に接続されている。
【0068】
デバイス600における複数のコンポーネントは、I/Oインタフェース605に接続されている。複数のコンポーネントには、キーボード、マウス等の入力ユニット606、様々な種類のディスプレイ、スピーカ等の出力ユニット607、磁気ディスク、光ディスク等の記憶ユニット608、及びネットワークインタフェースカード、モデム、無線通信送受信機等の通信ユニット609が含まれる。通信ユニット609によって、デバイス600は、インターネットのようなコンピュータネットワーク及び/又は各種電信ネットワークを介して、他のデバイスと情報/データを交換することができる。
【0069】
処理ユニット601は、例えば方法300、400及び/又は500のような上述した各プロセス及び処理を実行するように設定することができる。例えば、いくつかの実施形態において、方法300、400及び/又は500は、コンピュータソフトウェアプログラムとして実現可能であり、記憶ユニット608のようなマシン可読媒体に、有形記憶されている。いくつかの実施形態において、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を経由してデバイス600にロード及び/又はインストールすることができる。コンピュータプログラムがRAM603にロードされCPU601により実行されると、上述した方法300、400及び/又は500の一つ又は複数のステップを実行することができる。
【0070】
いくつかの実施形態において、コンピューティングデバイスは少なくとも1つの回路を備え、少なくとも1つの回路は、複数の画像を取得するように設定される。ここで、各画像は、前記各画像における画素のセマンティッククラスを示す初期セマンティックセグメンテーションラベルを有する。また、少なくとも1つの回路は、前記複数の画像に対応する複数の画像マスクを取得し、前記複数の画像マスクと前記複数の画像の初期セマンティックセグメンテーションラベルとに基づいて、前記複数の画像の対応するセマンティックセグメンテーションラベルを新たに生成し、前記複数の画像と新たに生成された対応するセマンティックセグメンテーションラベルとに基づいて、混合画像と前記混合画像のセマンティックセグメンテーションラベルとを生成するように設定される。各画像マスクは、前記複数の画像のうち対応する画像における対象領域を選択するために用いられる。
【0071】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画像のうち第1画像について、前記第1画像の複数の画素の対応する予測セマンティッククラスを決定し、前記複数の画素の対応する予測セマンティッククラスに基づいて、前記複数の画素の対応するスコアを決定し、前記複数の画素の対応するスコアに基づいて、前記第1画像の第1画像マスクを決定するように設定される。各画素のスコアは、前記各画素と、前記第1画像における対象領域との関連度を示す。前記第1画像マスクは、前記複数の画素においてより高いスコアを有する少なくとも一部の画素を選択するために用いられる。
【0072】
いくつかの実施形態において、前記少なくとも1つの回路は、画像セマンティックセグメンテーションモデルを用いて、前記第1画像における前記複数の画素の対応する予測セマンティッククラスを決定するように設定される。
【0073】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画素のうち第1画素について、前記第1画素の予測セマンティッククラスと前記第1画素のセマンティッククラスとの差に基づいて前記第1画素のスコアを決定するように設定される。前記第1画素のセマンティッククラスは、前記第1画像のセマンティックセグメンテーションラベルによって示される。
【0074】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画素のうち第2画素について、前記第2画素の予測セマンティッククラスの不確実性に基づいて、前記第2画素のスコアを決定するように設定される。
【0075】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画素のうち第3画素について、前記第3画素の予測セマンティッククラスの乱雑さの程度に基づいて、前記第3画素のスコアを決定するように設定される。
【0076】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画像マスクにおける各画像マスクと、前記複数の画像のうち対応する画像の初期セマンティックセグメンテーションラベルとにマスキング操作を行うことで、前記対応する画像のセマンティックセグメンテーションラベルを新たに生成するように設定される。
【0077】
いくつかの実施形態において、前記少なくとも1つの回路は、前記複数の画像の対応する重みに基づいて前記複数の画像を重み付けし加算することで、前記混合画像を生成し、新たに生成された対応するセマンティックセグメンテーションラベルを、前記複数の画像の対応する重みに基づいて重み付けし加算することで、前記混合画像のセマンティックセグメンテーションラベルを生成するように設定される。
【0078】
いくつかの実施形態において、コンピューティングデバイスは少なくとも1つの回路を備え、当該少なくとも1つの回路は、トレーニングデータを取得するように設定され、また、対象画像のセマンティックセグメンテーションラベルの生成に用いるために、前記トレーニングデータに基づいて、画像セマンティックセグメンテーションモデルに学習させるように設定される。前記トレーニングデータは、混合画像と、前記混合画像のセマンティックセグメンテーションラベルとを含む。
【0079】
いくつかの実施形態において、コンピューティングデバイスは少なくとも1つの回路を備え、当該少なくとも1つの回路は、入力画像を取得し、学習させた画像セマンティックセグメンテーションモデルを使用して、前記入力画像のセマンティックセグメンテーションラベルを生成するように設定される。
【0080】
本開示は、システム、方法、及び/又はコンピュータプログラム製品として実現することができる。本開示がシステムとして実現される場合、文中に記載されているコンポーネントは、単一のデバイスで実装できることに加えて、クラウドコンピューティングアーキテクチャとして実装することができる。クラウドコンピューティング環境では、これらのコンポーネントはリモート配置することができ、本開示に記載されている機能を実現するために協働することができる。クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供することができる。こうしたサービスを提供するシステム又はハードウェアの物理的な場所や設定は、エンドユーザが知る必要はない。クラウドコンピューティングでは、適切なプロトコルを使用して、ワイドエリアネットワーク(インターネット等)を介してサービスを提供することができる。例えば、クラウドコンピューティングプロバイダは、ワイドエリアネットワークを介してアプリケーションを提供する。それらは、ブラウザ又はその他の任意のコンピューティング・コンポーネントを介してアクセスすることが可能である。クラウドコンピューティングのコンポーネント及び対応データは、リモートのサーバに保存することができる。クラウドコンピューティング環境のコンピューティングリソースは、リモートのデータセンターに集約してもよいし、こうしたコンピューティングリソースを分散させてもよい。クラウドインフラは、ユーザにとっては単一のアクセスポイントとして提示されていても、共有データセンターを通じてサービスを提供することができる。したがって、文中で説明した様々な機能は、クラウドコンピューティングアーキテクチャを使用して、リモートのサービスプロバイダから提供することができる。任意で、通常のサーバから提供してもよいし、クライアント端末に直接又はその他の方法でインストールしてもよい。また、本開示はコンピュータプログラム製品として実現することができる。当該コンピュータプログラム製品は、本開示の各態様を実行するための、コンピュータが読み取り可能なプログラム命令が格納されたコンピュータ可読記憶媒体を備えることができる。
【0081】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持し記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置又は上述の任意の適切な組合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例として(全てではない)、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去・書き込み可能なリードオンリーメモリ(EPROM又はフラッシュメモリ)、スタティックRAM(SRAM:Static Random Access Memory)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的エンコーダディスク、例えば命令が記憶されているパンチカード又は溝内の突起構造、及び上述の任意の適切な組合せが含まれる。ここで使用されるコンピュータ可読記憶媒体は、例えば無線電波若しくは他の自由伝播する電磁波、導波若しくは他の送信媒体を介して伝播する電磁波(例えば、光ケーブルを介する光パルス)、又は電線で送信される電気信号のような、瞬時の信号そのものであるとは解釈されない。
【0082】
ここで説明されるコンピュータが読み取り可能なプログラム命令は、コンピュータ可読記憶媒体から各計算/処理デバイスにダウンロードすることができ、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/若しくは無線ネットワークを介して外部のコンピュータ若しくは外部記憶装置にダウンロードすることができる。ネットワークは、銅線送信ケーブル、光ケーブル送信、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含むことができる。各計算/処理デバイスにおけるネットワークインタフェースカード又はネットワークインタフェースは、コンピュータが読み取り可能なプログラム命令をネットワークから受信し、当該コンピュータが読み取り可能なプログラム命令を転送し、各計算/処理デバイスのコンピュータ可読記憶媒体に記憶されるようにする。
【0083】
本開示の操作を実行するためのコンピュータプログラム命令は、アセンブラ指示文、命令セットアーキテクチャ(ISA:Instruction Set Architecture)、機械語命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、一種類若しくは複数種類のプログラミング言語の任意の組合せで記述されたソースコード若しくはオブジェクトコードであり得る。前記プログラミング言語は、Smalltalk、C++等のオブジェクト指向のプログラミング言語、及び、「C」言語又は類似のプログラミング語言のような一般的なプロセス式プログラミング言語を含む。コンピュータが読み取り可能なプログラム命令は、全てユーザコンピュータ上で実行することができ、部分的にユーザコンピュータ上で実行することができ、1つの独立したソフトウェアパッケージとして実行することができ、ユーザコンピュータ上で部分的に実行するとともにリモートコンピュータ上で部分的に実行することができ、又は全てリモートコンピュータ若しくはサーバ上で実行することができる。リモートコンピュータにかかる状況において、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザコンピュータに接続することができるか、又は、外部のコンピュータに接続することができる(例えばインターネットサービスプロバイダを利用しインターネットを介して接続する)。いくつかの実施形態では、コンピュータが読み取り可能なプログラム命令のステータス情報を利用して、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)のような電子回路をパーソナライズすることができる。当該電子回路は、コンピュータが読み取り可能なプログラム命令を実行することで、本開示の各態様を実現することができる。
【0084】
ここでは、本開示の実施形態にかかる方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本開示の各態様を説明した。理解すべき点として、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図の各ブロックの組合せは、いずれも、コンピュータが読み取り可能なプログラム命令により実現可能である。
【0085】
これらのコンピュータが読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットに提供されて、マシンを生成することができ、これらの命令がコンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットにより実行された場合、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する装置が生成される。これらのコンピュータが読み取り可能なプログラム命令は、コンピュータ可読記憶媒体に記憶されてもよい。これらの命令によって、コンピュータ、プログラミング可能なデータ処理装置及び/又はその他のデバイスは特定の方法で動作を行う。したがって、命令が記憶されているコンピュータ可読媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令が含まれている製品を含む。
【0086】
コンピュータが読み取り可能なプログラム命令を、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスにロードして、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイス上で一連の操作ステップを実行させ、コンピュータが実施するプロセスを生成してもよい。こうすることで、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスで実行される命令に、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現させる。
【0087】
図中のフローチャート及びブロック図は、本開示の複数の実施形態にかかるシステム、方法、コンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を表している。この点において、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を示すことができ、前記モジュール、プログラムセグメント又は命令の一部は、規定されたロジック機能を実現するための1つ又は複数の実行可能な命令を含む。代替としてのいくつかの実現形態において、ブロック内に表記された機能は、図中の表記と異なる順序で発生してもよい。例えば、2つの連続するブロックは実際には基本的に並行して実行することができるが、場合によっては反対の順序で実行されてもよい。これは、関係する機能によって定められる。また、注意すべき点として、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートのブロックの組合せは、規定された機能又は動作を実行する、ハードウェアに基づく専用システムで実現することができ、又は、専用のハードウェアとコンピュータ命令との組合せにより実現することができる。
【0088】
以上、本開示の各実施形態を説明したが、上述した説明は、例示的なもので、全て網羅したものではなく、開示された各実施形態に限定されない。説明した各実施形態の範囲及び精神から逸脱しない状況において、当業者が複数の修正及び変更を行うことができることは明らかである。ここで使用された用語は、各実施形態の原理、実際の応用又は市場での技術改良について最適な説明を行うこと、又は当業者に本明細書で開示された各実施形態を理解させることを意図して、選択したものである。
図1
図2
図3
図4
図5
図6