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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7498863異常の検出および位置特定を行うための自己教師あり学習
<>
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図1
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図2
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図3
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図4
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図5
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図6
  • 特許-異常の検出および位置特定を行うための自己教師あり学習 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-04
(45)【発行日】2024-06-12
(54)【発明の名称】異常の検出および位置特定を行うための自己教師あり学習
(51)【国際特許分類】
   G06V 10/774 20220101AFI20240605BHJP
   G06T 7/00 20170101ALI20240605BHJP
   G06V 10/82 20220101ALI20240605BHJP
【FI】
G06V10/774
G06T7/00 350C
G06V10/82
【請求項の数】 11
(21)【出願番号】P 2023528523
(86)(22)【出願日】2021-11-11
(65)【公表番号】
(43)【公表日】2023-11-28
(86)【国際出願番号】 US2021059030
(87)【国際公開番号】W WO2022103993
(87)【国際公開日】2022-05-19
【審査請求日】2023-07-26
(31)【優先権主張番号】63/113,780
(32)【優先日】2020-11-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ソン,キヒョク
(72)【発明者】
【氏名】リー,チュン-リィアン
(72)【発明者】
【氏名】ユン,ジンソン
(72)【発明者】
【氏名】フィスター,トーマス・ジョン
【審査官】村山 絢子
(56)【参考文献】
【文献】特開2020-061066(JP,A)
【文献】米国特許出願公開第2020/0117953(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/00-10/98
G06T 7/00-7/90
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習モデルを訓練するための方法であって、前記方法は
データ処理ハードウェアにおいて、訓練サンプルのセットを取得することと、
1つ以上の訓練反復の各訓練反復中に、前記訓練サンプルのセット内の各訓練サンプルに対して、
前記データ処理ハードウェアが、前記訓練サンプルをトリミングすることによって、第1のトリミング画像を生成することと、
前記データ処理ハードウェアが、前記訓練サンプルをトリミングすることによって、前記第1のトリミング画像とは異なる第2のトリミング画像を生成することと、
前記データ処理ハードウェアが、前記第2のトリミング画像の第1の部分を複製することと、
前記データ処理ハードウェアが、前記第2のトリミング画像の前記複製された第1の部分を前記第2のトリミング画像の第2の部分に重ねることによって、増強された第2のトリミング画像を形成することとを含み、前記第1の部分は、前記第2の部分とは異なり、前記方法はさらに、
前記データ処理ハードウェアが、前記第1のトリミング画像および前記増強された第2のトリミング画像を用いて前記機械学習モデルを訓練することを含む、方法。
【請求項2】
前記第2のトリミング画像の前記複製された第1の部分は、可変の長さおよび可変の幅を有する矩形の形状を有する、請求項1に記載の方法。
【請求項3】
前記第2のトリミング画像の前記複製された第1の部分を前記第2のトリミング画像の前記第2の部分に重ねることは、
前記第2のトリミング画像の前記第2の部分に対して前記第2のトリミング画像のランダムな位置を選択することと、
前記選択されたランダムな位置で、前記第2のトリミング画像の前記複製された第1の部分を重ねることとを含む、請求項1または2に記載の方法。
【請求項4】
前記第1のトリミング画像および前記増強された第2のトリミング画像を用いて前記機械学習モデルを訓練することは、
前記第1のトリミング画像の第1の交差エントロピー損失を決定することと、
前記増強された第2のトリミング画像の第2の交差エントロピー損失を決定することと、
前記第1の交差エントロピー損失および前記第2の交差エントロピー損失に基づいて、総交差エントロピー損失を決定することとを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
前記総交差エントロピー損失は、前記第1の交差エントロピー損失と前記第2の交差エントロピー損失との合計を含む、請求項4に記載の方法。
【請求項6】
前記訓練サンプルのセット内の各訓練サンプルは、ラベル付けされていない、請求項1から5のいずれかに記載の方法。
【請求項7】
前記機械学習モデルは、畳み込みニューラルネットワークを含む、請求項1から6のいずれかに記載の方法。
【請求項8】
前記機械学習モデルは、画像データ内の異常パターンを検出するように構成されている、請求項1から7のいずれかに記載の方法。
【請求項9】
前記第2のトリミング画像の前記複製された第1の部分を前記第2のトリミング画像の前記第2の部分に重ねる前に、前記データ処理ハードウェアが、前記第2のトリミング画像の前記複製された第1の部分を回転させることをさらに含む、請求項1から8のいずれかに記載の方法。
【請求項10】
前記第2のトリミング画像の前記複製された第1の部分を前記第2のトリミング画像の前記第2の部分に重ねる前に、前記データ処理ハードウェアが、カラージッタを前記第2のトリミング画像の前記複製された第1の部分に適用することをさらに含む、請求項1から9のいずれかに記載の方法。
【請求項11】
データ処理ハードウェアと
前記データ処理ハードウェアと通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに請求項1から10のいずれか1項に記載の方法を実行させる命令を記憶する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、異常の検出および位置特定を行うための自己教師あり学習に関する。
【発明の概要】
【発明が解決しようとする課題】
【0002】
背景
機械学習モデルを用いた異常検出は、正常なインスタンスで見られるものとは異なる異常パターンおよび欠陥パターンを含むインスタンスを検出することを目的とする。製造欠陥の検出、医用画像の解析およびビデオ監視を含む異常検出に対して、コンピュータビジョンの異なる応用領域からの多くの問題が存在している。典型的な教師あり分類問題とは異なり、異常検出問題は、いくつかの特別な課題に直面している。第1に、問題の性質によって、ラベルされたまたはラベルされていない大量の異常データを得ることが困難である。第2に、高解像度の画像において欠陥部分が小さく、微妙であり得るため、正常パターンと異常パターンとの違いは、しばしば微小である。
【課題を解決するための手段】
【0003】
概要
本開示の一態様は、機械学習モデルを訓練するための方法を提供する。方法は、データ処理ハードウェアにおいて、訓練サンプルのセットを取得することを含む。方法は、1つ以上の訓練反復の各訓練反復中に、訓練サンプルのセット内の各訓練サンプルに対して、データ処理ハードウェアが、訓練サンプルをトリミングすることによって、第1のトリミング画像を生成することを含む。また、方法は、データ処理ハードウェアが、訓練サンプルをトリミングすることによって、第1のトリミング画像とは異なる第2のトリミング画像を生成することと、データ処理ハードウェアが、第2のトリミング画像の第1の部分を複製することとを含む。また、方法は、データ処理ハードウェアが、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねることによって、増強された第2のトリミング画像を形成することを含む。第1の部分は、第2の部分とは異なる。また、モデルは、データ処理ハードウェアが、第1のトリミング画像および増強された第2のトリミング画像を用いて機械学習モデルを訓練することを含む。
【0004】
本開示の実装形態は、以下の任意選択の特徴のうちの1つ以上を含むことができる。いくつかの実装形態において、第2のトリミング画像の複製された第1の部分は、可変の長さおよび可変の幅を有する矩形の形状を有する。いくつかの実装形態において、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねることは、第2のトリミング画像の第2の部分に対して第2のトリミング画像のランダムな位置を選択することと、選択されたランダムな位置で、第2のトリミング画像の複製された第1の部分を重ねることとを含む。
【0005】
いくつかの例において、第1のトリミング画像および増強された第2のトリミング画像を用いて機械学習モデルを訓練することは、第1のトリミング画像の第1の交差エントロピー損失を決定することと、増強された第2のトリミング画像の第2の交差エントロピー損失を決定することと、第1の交差エントロピー損失および第2の交差エントロピー損失に基づいて総交差エントロピー損失を決定することとを含む。総交差エントロピー損失は、第1の交差エントロピー損失と第2の交差エントロピー損失との合計を含むことができる。
【0006】
必要に応じて、各訓練サンプルは、ラベルされていなくてもよい。いくつかの実装形態において、機械学習モデルは、畳み込みニューラルネットワークを含む。いくつかの実装形態において、機械学習モデルは、画像データ内の異常パターンを検出するように構成されている。方法は、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねる前に、データ処理ハードウェアが、第2のトリミング画像の複製された第1の部分を回転させることをさらに含むことができる。いくつかの実装形態において、方法は、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねる前に、データ処理ハードウェアが、カラージッタを第2のトリミング画像の複製された第1の部分に適用することをさらに含む。
【0007】
本開示の別の態様は、機械学習モデルを訓練するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を記憶する。動作は、訓練サンプルのセットを取得することを含む。1つ以上の訓練反復の各訓練反復中に、訓練サンプルのセット内の各訓練サンプルに対して、動作は、訓練サンプルをトリミングすることによって第1のトリミング画像を生成することと、訓練サンプルをトリミングすることによって、第1のトリミング画像とは異なる第2のトリミング画像を生成することとを含む。また、動作は、第2のトリミング画像の第1の部分を複製することと、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねることによって、増強された第2のトリミング画像を形成することとを含む。第1の部分は、第2の部分とは異なる。また、動作は、第1のトリミング画像および増強された第2のトリミング画像を用いて機械学習モデルを訓練することを含む。
【0008】
本開示の実装形態は、以下の任意選択の特徴のうちの1つ以上を含むことができる。いくつかの実装形態において、第2のトリミング画像の複製された第1の部分は、可変の長さおよび可変の幅を有する矩形の形状を有する。いくつかの例において、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねることは、第2のトリミング画像の第2の部分に対して第2のトリミング画像のランダムな位置を選択することと、選択されたランダムな位置で、第2のトリミング画像の複製された第1の部分を重ねることとを含む。
【0009】
必要に応じて、第1のトリミング画像および増強された第2のトリミング画像を用いて機械学習モデルを訓練することは、第1のトリミング画像の第1の交差エントロピー損失を決定することと、増強された第2のトリミング画像の第2の交差エントロピー損失を決定することと、第1の交差エントロピー損失および第2の交差エントロピー損失に基づいて総交差エントロピー損失を決定することとを含むことができる。総交差エントロピー損失は、第1の交差エントロピー損失と第2の交差エントロピー損失との合計を含むことができる。
【0010】
いくつかの実装形態において、各訓練サンプルは、ラベルされていない。いくつかの実装形態において、機械学習モデルは、畳み込みニューラルネットワークを含む。いくつかの実装形態において、機械学習モデルは、画像データ内の異常パターンを検出するように構成されている。動作は、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねる前に、データ処理ハードウェアが、第2のトリミング画像の複製された第1の部分を回転させることをさらに含むことができる。いくつかの実装形態において、動作は、第2のトリミング画像の複製された第1の部分を第2のトリミング画像の第2の部分に重ねる前に、データ処理ハードウェアが、カラージッタを第2のトリミング画像の複製された第1の部分に適用することをさらに含む。
【0011】
本開示の1つ以上の実装形態の詳細は、添付の図面および以下の詳細な説明に記載されている。他の態様、特徴、および利点は、詳細な説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0012】
図1】異常の検出および位置特定を行うためのモデルを訓練するためのシステムを示す概略図である。
図2】異常の検出および位置特定を行うための学習方法を示す概略図である。
図3】異常の検出および位置特定を行うためのモデルを訓練するための別のシステムを示す概略図である。
図4】傷痕(scar)技術を用いて異常の検出および位置特定を行うための学習方法を示す概略図である。
図5】異常の検出および位置特定を行うためのモデルを訓練する方法の動作の例示的な構成を示すフローチャートである。
図6】傷痕技術を使用して異常の検出および位置特定を行うためのモデルを訓練する方法の動作の例示的な構成を示すフローチャートである。
図7】本明細書に記載されたシステムおよび方法を実装するために使用され得る例示的なコンピューティング装置を示す概略図である。
【発明を実施するための形態】
【0013】
様々な図面おいて、同様の参照符号は、同様の要素を示す。
詳細な説明
機械学習モデルを用いた異常検出は、正常なインスタンスで見られるものとは異なる異常パターンおよび欠陥パターンを含むインスタンスを検出することを目的とする。製造欠陥の検出、医用画像の解析およびビデオ監視を含む異常検出に対して、コンピュータビジョンの異なる応用領域からの多くの問題が存在している。典型的な教師あり分類問題とは異なり、異常検出問題は、いくつかの特別な課題に直面している。第1に、問題の性質によって、ラベルされたまたはラベルされていない大量の異常データを得ることが困難である。第2に、高解像度の画像において欠陥部分が小さく、微妙であり得るため、正常パターンと異常パターンとの違いは、しばしば微小である。
【0014】
異常データへのアクセスが限られているため、異常検出器の構築は、正常データのみ(すなわち、非異常データ)を用いて、半教師ありまたは1クラス分類設定の下で行われることが多い。一般的には異常パターンの分布が事前に知られていないため、モデルは、正常なインスタンスのパターンを学習し、試験サンプルがこれらのモデルによってうまく表現されていないときに異常を検出するように訓練されることが多い。例えば、正常なデータを再構成するように訓練されたオートエンコーダは、データの再構成誤差が大きいときに異常を宣言するように使用されている。生成モデルは、確率密度が特定の閾値を下回るときにサンプルが異常であることを宣言する。しかしながら、ピクセルごとの再構成誤差の集合体または負の確率密度として定義されている異常スコアは、高レベルの意味情報を捕捉することができない。
【0015】
本明細書の実装形態は、異常の検出および位置特定を行うために構成された機械学習モデルのロバストな訓練を提供するモデル訓練器に関する。モデル訓練器は、大量の異常データを必要としない半教師あり学習技術を使用する一方で、きめ細かい異常領域の正確な検出を提供する。
【0016】
図1を参照して、いくつかの実装形態において、例示的なシステム100、100Aは、処理システム10を含む。処理システム10は、固定または拡張可能な/順応性のある計算リソース12(例えば、データ処理ハードウェア)および/または記憶リソース14(例えば、メモリハードウェア)を有する単一のコンピュータ、複数のコンピュータ、または分散システム(例えば、クラウド環境)であってもよい。処理システム10は、モデル訓練器110を実行する。モデル訓練器110は、入力データに基づいて予測を行う機械学習モデル150(例えば、ディープニューラルネットワーク(DNN))を訓練する。例えば、モデル訓練器110は、機械学習モデル150の畳み込みニューラルネットワーク(CNN)を訓練する。モデル訓練器110は、訓練サンプル112のセットを用いて機械学習モデル150を訓練する。いくつかの実装形態において、訓練サンプル112のセットは、記憶リソース14に記憶されている。訓練サンプル112の各訓練サンプルは、通常パターン(すなわち、異常を含まないパターン)の画像を含むことができる。例えば、通常パターンの画像は、256×256ピクセルの解像度を有する。以下でより詳細に説明するように、モデル訓練器110は、いくつかの実装形態に従って、正常パターンの画像に基づいて、異常を有する1つ以上の増強画像を生成するように構成されている。モデル訓練器110によって生成された1つ以上の異常画像は、機械学習モデル150の訓練を強化または改善するための増強入力データとして提供されてもよい。
【0017】
いくつかの実装形態において、モデル訓練器110は、記憶リソース14または訓練サンプル112を記憶するのに適した他の装置から訓練サンプル112を取得する。訓練サンプル112は、ラベルされていなくてもよい。言い換えれば、訓練サンプル112のセット内の1つ以上の訓練サンプル(画像)または各訓練サンプルは、対応する訓練サンプル112内の異常または欠陥を示すラベルを含まなくてもよい。
【0018】
いくつかの実装形態において、モデル訓練器110は、画像トリミング部120を含む。画像トリミング部120は、(元の画像のピクセルの一部を除去することによって)訓練サンプル112の各画像をより小さいサイズの画像にトリミングする。いくつかの実装形態において、画像トリミング部120は、256×256画像(すなわち、256行および256列のピクセルを有する画像)を64×64画像または32×32画像にトリミングするように構成されている。画像トリミング部120は、訓練サンプル112を1つ以上のトリミング画像にトリミングすることができる。例えば、画像トリミング部は、各訓練サンプル112を第1のトリミング画像140Aおよび第2のトリミング画像140Bにトリミングすることができる。第1のトリミング画像140Aは、第2のトリミング画像140Bとは異なってもよい。例えば、画像トリミング部120は、2つの異なる部分を第1トリミング画像140Aおよび第2トリミング画像140Bにそれぞれトリミングする。以下でより詳細に説明するように、画像トリミング部120がトリミングするために選択した画像の部分は、擬似ランダムまたはランダムであってもよい。第1のトリミング画像140Aと第2のトリミング画像140Bとは、同じサイズであってもよく、異なるサイズであってもよい。
【0019】
いくつかの実装形態において、モデル訓練器110は、サンプル増強部200を含む。サンプル増強部200は、訓練サンプル112の各訓練サンプルの第2のトリミング画像140Bを受信し、増強された第2のトリミング画像140BAを生成する。いくつかの実装形態において、サンプル増強部200は、増強された第2のトリミング画像140BAを生成するために、第2のトリミング画像140Bの第1の部分210を複製(すなわち、コピー)し、第2のトリミング画像140Bの複製された第1の部分210を第2のトリミング画像140Bの第2の部分220に重ねることによって、増強された第2のトリミング画像140BAを形成する(図2)。
【0020】
図2を参照して、サンプル増強部200は、第2のトリミング画像140Bの第1の部分210を「カット」またはコピーまたは複製し、コピーされた第1の部分210を同じ第2のトリミング画像140Bの異なる第2の部分220の上に「貼り付ける」ことによって、元の第2のトリミング画像140Bの増強された第2のトリミング画像140BAを生成することができる。いくつかの実装形態において、第2のトリミング画像140Bのコピーまたは複製された第1の部分210は、特定の形状または予め選択された形状を有する。第2のトリミング画像140Bの複製された第1の部分210のサイズおよび形状は、変更されてもよい。例えば、第2のトリミング画像140Bの複製された第1の部分210は、矩形の形状を有する。矩形の長さおよび幅は、サンプル112またはモデル150のユーザ設定および/またはパラメータに基づいて変更されてもよい。いくつかの実装形態において、矩形の形状は、以下でより詳細に説明する「傷痕」部分と同様である。
【0021】
いくつかの例において、増強された第2のトリミング画像140BAを生成するために、サンプルオーガ入力200は、第2のトリミング画像140B上の第1のランダムな位置で第1の部分210を選択し、第2のトリミング画像140Bの第1の部分210を複製し、第2のトリミング画像140B上の第2のランダムな位置で第2のトリミング画像140Bの複製された第1の部分210を第2の部分220に重ねるか、または配置する。第2のトリミング画像140Bを増強するために、2つのランダムな位置は、第2のトリミング画像140B上の異なる位置であってもよい。その結果、増強されていない訓練サンプル112のみで訓練されたものと比較して、増強された第2のトリミング画像140BAは、機械学習モデル150の訓練を強化または改善するために提供されている。
【0022】
再び図1を参照して、いくつかの例において、モデル訓練器110は、第1のトリミング画像140Aと増強された第2のトリミング画像140BAの両方を用いて、機械学習モデル150を訓練する。いくつかの実装形態において、機械学習モデル150は、交差エントロピー損失を用いて訓練されている。例えば、機械学習モデル150の訓練目標は、以下のように表現されてもよい。
【0023】
【数1】
【0024】
【数2】
【0025】
再び図2を参照して、いくつかの実装形態において、サンプル増強部200は、第2のトリミング画像140Bに基づいて、増強された第2のトリミング画像140BAを生成する。図2に示す例において、第1トリミング画像140Aおよび第2トリミング画像140Bの各々は、メッシュパターンを含む。増強部200は、第2のトリミング画像140Bの第1の部分210(すなわち、第2トリミング画像140Bの右下隅の矩形部分)を「カット」または複製し、複製された第1の部分210を第2のトリミング画像140Bの第2の部分220(すなわち、第2トリミング画像140Bの左上隅の矩形部分)に重ねるか、または配置することによって、第2のトリミング画像140Bの第2の部分220に「貼り付けられた」第1の部分210によって引き起こされた不整合メッシュパターンを含む増強された第2のトリミング画像140BAを形成または生成する。
【0026】
第2のトリミング画像140Bの第1の部分210および第2のトリミング画像140Bの第2の部分220の場所(位置または向き)は、本明細書に記載された特定の場所(位置または向き)に限定されない。例えば、サンプル増強部200は、第2のトリミング画像140B上のランダムな位置(例えば、中央部分)で第1の部分210をコピーまたは複製し、複製された第1の部分210を第2のトリミング画像140B上のランダムな位置(例えば、右上隅)に位置する第2の部分220に重ねるか、または配置することによって、増強された第2のトリミング画像140BAを生成する。いくつかの実装形態において、第1の部分210および第2の部分220は、機械学習モデル150を訓練するために使用され得る増強された第2のトリミング画像140BAを生成するために、第2のトリミング画像140B内の異なるランダムな位置で選択されている。いくつかの実装形態において、矩形(すなわち、第1の部分および第2の部分)の長さおよび幅は、変更されてもよい。図2の例において、第1の部分210および第2の部分220のサイズは同じであるが、いくつかの実装形態において、第1の部分210および第2の部分220のサイズは異なる。図2に示すように、増強された第2のトリミング画像140BAに含まれる複製された第1の部分210は、第2のトリミング画像140BAのメッシュパターンに異常(すなわち、不整合メッシュパターン)を与える。
【0027】
追加的にまたは代替的に、モデル訓練器110は、増強された第2のトリミング画像140BAをさらに増強することによって、機械学習モデル150に貴重な訓練をさらに提供することができる。いくつかの実装形態において、モデル訓練器110のサンプル増強部200は、第2のトリミング画像140Bの複製された第1の部分210を第2のトリミング画像140Bの第2の部分220に重ねる前に、予め選択された回転度(すなわち、時計回りまたは反時計回り方向)またはランダムな回転度(すなわち、時計回りまたは反時計回り方向)で、複製された第1の部分210を回転させる。追加的にまたは代替的に、モデル訓練器110の増強部200は、第2のトリミング画像140Bの複製された第1の部分210を第2のトリミング画像140Bの第2の部分220に重ねる前に、カラージッタを複製された第1の部分210に適用する。例えば、モデル訓練器110の増強部200は、第2トリミング画像140Bの複製された第1の部分210の輝度、コントラスト、または彩度の少なくとも1つをランダムに変更することによって、カラージッタを適用する。カラージッタおよび回転を適用することは、単に複製および被覆技術からの増強に抵抗するパターンを含み、貴重な訓練を提供するためにさらなる増強を必要とするいくつかの画像にとって有用である。
【0028】
いくつかの実装形態において、モデル訓練器110のサンプル増強部200は、予め選択された回転度(時計回りまたは反時計回り方向)またはランダムな回転度(時計回りまたは反時計回り方向)で第2のトリミング画像140Bの複製された部分を回転させた後、第2のトリミング画像140Bの複製された第1の部分を第2のトリミング画像140Bの第2の部分に重ねる前に、カラージッタを複製された第1の部分に適用することができる。いくつかの実装形態において、モデル訓練器110のサンプル増強部200は、カラージッタを第2のトリミング画像140Bの複製された第1の部分に適用した後、複製された第1の部分を第2のトリミング画像140Bの第2の部分に重ねる前に、予め選択された回転度(時計回りまたは反時計回り方向)またはランダムな回転度(時計回りまたは反時計回り方向)で第2のトリミング画像140Bの複製された部分を回転させることができる。
【0029】
複製および被覆技術は、(カラージッタおよび/または回転特徴と共に)空間的な不規則性を導入する。例えば、異なるサイズ、アスペクト比および回転角度の「矩形パッチ」(例えば、第2のトリミング画像140Bの第1の部分210)を第2のトリミング画像140Bの第2の部分220に重ねることによって、機械学習モデル150の訓練を強化するための増強データは、より多様化になる。
【0030】
図3を参照して、いくつかの実装形態において、例示的なシステム100、100Bは、1つ以上の訓練サンプル112の画像を、第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cを含む複数のトリミング画像にトリミングするための画像トリミング部120、120Bを含む。第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cの各々は、互いに異なってもよい。すなわち、画像トリミング部120は、元の画像の3つの異なる部分を第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cにトリミングする。画像トリミング部120がトリミングするために選択した訓練サンプル112内の画像の部分は、擬似ランダムまたはランダムであってもよい。第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cは、同じサイズであってもよく、または異なるサイズであってもよい。
【0031】
モデル訓練器110は、サンプル増強部200、200Bを含むことができる。サンプル増強部200Bは、第3のトリミング画像140Cに基づいて、増強された第2のトリミング画像140BAと増強された第3のトリミング画像140CAとを生成するように構成されている。上述したように、いくつかの例において、画像トリミング部120は、訓練サンプル112内の各画像に対して、訓練サンプル112の画像を第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cを含む複数のトリミング画像にトリミングする。サンプル増強部200Bは、他の数のトリミング画像140を生成してもよい。
【0032】
図4を参照して、いくつかの実装形態において、サンプル増強器200は、各訓練サンプル112の第3のトリミング画像140Cを受信し、増強された第3のトリミング画像140CAを生成する。必要に応じて、増強された第3のトリミング画像140CAを生成するために、サンプル増強部200は、部分210、220と同様に、第3のトリミング画像140Cの第1の部分230を複製(すなわち、コピー)し、第3のトリミング画像140Cの複製された第1の部分230を第3のトリミング画像140Cの第2の部分240に重ねることによって、増強された第3のトリミング画像140CAを形成する。すなわち、サンプル増強部200は、第3のトリミング画像140Cの部分230を「カット」またはコピーし、コピーされた部分230を同じ第3のトリミング画像140Cの異なる部分240上に「貼り付ける」ことによって、元の第3のトリミング画像140Cを増強することができる。具体的には、第3のトリミング画像140Cのコピーまたは複製された部分230は、細長い矩形の形状を有し、これは、「傷痕」部分230と呼ばれてもよい。いくつかの実装形態において、「傷痕」部分230は、増強された第2のトリミング画像140BAに含まれる第1の部分210(すなわち、「矩形パッチ」)よりも小さい。
【0033】
いくつかの例において、増強された第3のトリミング画像140CAを生成するために、サンプル増強部200は、第3のトリミング画像140C上のランダムな位置で第1の部分230(すなわち、細長い矩形の第1の部分230)を選択して複製し、第3のトリミング画像140Cの複製された部分230を第3のトリミング画像140C上のランダムな位置に位置する第2の部分240に重ねるか、または配置する。いくつかの実装形態において、第1の部分230および第2の部分240は、異なる位置に位置している。その結果、「傷痕」部分230を有する増強された第3のトリミング画像140CAは、機械学習モデル150の訓練を強化または改善するために提供されている。
【0034】
追加的にまたは代替的に、モデル訓練器110のサンプル増強部200は、第2のトリミング画像140BAと同じまたは同様の方法で、増強された第3のトリミング画像140CAをさらに増強することによって、機械学習モデル150にさらなる貴重な訓練を提供することができる。いくつかの実装形態において、モデル訓練器110のサンプル増強部200は、第3のトリミング画像140Cの複製された第1の部分230を第3のトリミング画像140Cの第2の部分240に重ねる前に、予め選択された回転度(時計回りまたは反時計回り方向)またはランダムな回転度(時計回りまたは反時計回り方向)で、複製された第1の部分230(例えば、「傷痕」部分)を回転させる。いくつかの実装形態において、モデル訓練器110は、第3のトリミング画像140Cの複製された第1の部分230を第3のトリミング画像140Cの第2の部分240に重ねる前に、カラージッタを複製された第1の部分230(例えば、「傷痕」部分)に適用してもよい。
【0035】
例えば、モデル訓練器110のサンプル増強部200は、第3のトリミング画像140Cの複製された第1の部分230の輝度、コントラスト、または彩度の少なくとも1つをランダムに変更することによって、カラージッタを適用する。いくつかの実装形態において、モデル訓練器110のサンプル増強部200は、第3のトリミング画像140Cの複製された第1の部分230を第3のトリミング画像140Cの第2の部分240に重ねる前に、予め選択された回転度(時計回りまたは反時計回り方向)またはランダムな回転度(時計回りまたは反時計回り方向)で、第3のトリミング画像140Cの複製された第1の部分230(例えば、「傷痕」部分)を回転させ、カラージッタを第3のトリミング画像140Cの複製された第1の部分230に適用することができる。カラージッタおよび回転を適用することは、単に複製および被覆技術からの増強に抵抗するパターンを含み、貴重な訓練を提供するためにさらなる増強を必要とするいくつかの画像にとって有用である。重複および被覆技術は、(カラージッタおよび/または回転特徴と共に)空間不規則性を導入する。例えば、サンプル増強器200は、異なるサイズ、アスペクト比、および回転角度の細長い矩形の「傷痕」(すなわち、第3のトリミング画像140Cの第1の部分)を第3のトリミング画像140Cのランダムな第2の部分に重ねることによって、多様な増強データを生成する。
【0036】
引き続き図4を参照して、いくつかの実装形態において、サンプル増強部200は、第2のトリミング画像140Bおよび第3のトリミング画像140Cに基づいて、増強された第2のトリミング画像140BAおよび増強された第3のトリミング画像140CAをそれぞれ生成する。上述したように、第1のトリミング画像140Aおよび増強された第2のトリミング画像140BAは、追加の訓練画像を機械学習モデル150(図2および図4)に提供するために生成されている。概略図400に示すように、第1のトリミング画像140Aおよび増強された第2のトリミング画像140BAに加えて、増強された第3のトリミング画像140CAは、さらに追加の訓練画像を機械学習モデル150に提供する。
【0037】
ここで、第1トリミング画像140A、第2トリミング画像140Bおよび第3トリミング画像140Cの各々は、メッシュパターンを含む。図4に示すように、増強部200は、第3のトリミング画像140Cの第1の部分230(例えば、第3のトリミング画像140Cの右下隅に約1:6の幅対長さの比を有する細長い矩形部分)を「カット」またはコピーし、複製された第1の部分230を第3のトリミング画像140Cの第2の部分240(すなわち、第3のトリミング画像140Cの左上隅に約1:6の幅対長さの比を有する細長い矩形部分)に重ねるか、または配置することによって、第3のトリミング画像140Cの第1の部分230の「貼り付け」によって引き起こされた不整合メッシュパターンを含む増強された第3のトリミング画像140CAを形成または生成する。第3のトリミング画像140Cの第1の部分230および第3のトリミング画像140Cの第2の部分240の場所(または位置)は、上述した特定の場所(または位置)に限定されない。
【0038】
例えば、サンプル増強部200は、第3のトリミング画像140C上のランダムな位置(例えば、中央部分)で第1の部分230をコピーまたは複製し、複製された第1の部分230を第3のトリミング画像140C上のランダムな位置(例えば、右上隅)に位置する第2の部分240に重ねるか、または配置することによって、増強された第3のトリミング画像140CAを生成する。いくつかの実装形態において、ランダムな位置は、機械学習モデル150を訓練するために使用され得る増強された第3のトリミング画像140CAを生成するための第3のトリミング画像140C内の異なる位置である。いくつかの実装形態において、細長い矩形の幅対長さの比(例えば、約1:6以上)は、変更されてもよい。この例において、増強された第3のトリミング画像140CAに含まれる複製された第1の部分203は、第3のトリミング画像140CAのメッシュパターンに「傷痕」のような異常(すなわち、「傷痕」メッシュパターン)を与える。いくつかの実装形態において、「傷痕」部分は、増強された第2のトリミング画像140BAに含まれる第1の部分210よりも小さい。
【0039】
図5は、異常の検出および位置特定を行うためのモデル150を訓練するための方法500の動作の例示的な構成を示すフローチャートである。方法500は、動作502において、データ処理ハードウェア12が、訓練サンプル112のセットを取得することを含む。上述したように、機械学習モデル150(例えば、畳み込みニューラルネットワーク(CNN))は、訓練サンプル112のセットで訓練されている。訓練サンプル112の各々は、正常パターン(すなわち、異常を含まないパターン)の画像を含むことができる。例えば、通常パターンの画像は、256×256画像である。
【0040】
動作504において、方法500は、1つ以上の訓練反復の各訓練反復中に、データ処理ハードウェア12が、訓練サンプル112内の訓練サンプル(画像)をトリミングすることによって、第1のトリミング画像140Aを生成することを含む。方法500は、動作506において、データ処理ハードウェア12が、訓練サンプル112内の訓練サンプル(画像)をトリミングすることによって、第1のトリミング画像140Aとは異なる第2のトリミング画像140Bを生成することを含む。上述したように、訓練サンプル112からの各画像は、より小さいサイズの画像にトリミングされる。いくつかの実装形態において、訓練サンプル112内の各256×256画像は、64×64画像または32×32画像にトリミングされる。第1のトリミング画像140Aは、第2のトリミング画像140Bとは異なってもよい。すなわち、画像トリミング部120は、異なる2つの部分を第1トリミング画像140Aおよび第2トリミング画像140Bにトリミングする。トリミングするために訓練サンプル112から選択された訓練サンプル(画像)の部分は、擬似ランダムまたはランダムであってもよい。第1のトリミング画像140Aと第2のトリミング画像140Bとは、同じサイズであってもよく、または異なるサイズであってもよい。
【0041】
動作508において、方法500は、データ処理ハードウェア12が、第2のトリミング画像140Bの第1の部分210を複製することと、動作510において、データ処理ハードウェア12が、第2のトリミング画像140Bの複製された第1の部分210を第2のトリミング画像140Bの第2の部分220に重ねることによって、増強された第2のトリミング画像140BAを形成することとを含む。第1の部分210は、第2の部分220とは異なる。上述したように、いくつかの実装形態において、第2のトリミング画像140Bのコピーまたは複製された第1の部分は、特定の形状または予め選択された形状を有する。第2のトリミング画像140Bの複製された第1の部分のサイズおよび形状は、変更されてもよい。例えば、第2トリミング画像140Bの複製された第1の部分は、矩形である。矩形の長さおよび幅は、いくつかの実装形態に従って変更されてもよい。いくつかの実装形態において、増強された第2のトリミング画像140BAを生成するために、第2のトリミング画像140Bの第1の部分210の位置および第2のトリミング画像140Bの第2の部分220の位置は、ランダムに決定されている。いくつかの実装形態において、方法500は、データ処理ハードウェア12が第2のトリミング画像140Bの複製された第1の部分210を回転させること、またはデータ処理ハードウェア12がカラージッタを第2のトリミング画像140Bの複製された第1の部分210に適用することのうち、少なくとも1つをさらに含む。
【0042】
動作512において、方法500は、データ処理ハードウェア12が、第1のトリミング画像140Aおよび増強された第2のトリミング画像140BAを用いて機械学習モデル150を訓練することを含む。
【0043】
図6は、異常の検出および位置特定を行うためのモデル150を訓練するための方法600の動作の例示的な構成を示すフローチャートである。方法600は、図5を参照して上記で詳細に説明した動作502~510(図5)と一致する動作602~610を含むいくつかの動作を含むため、それらの詳細な説明がここでは繰り返さない。動作612から開始して、方法600は、データ処理ハードウェア12が、訓練サンプル112内の訓練サンプル(画像)をトリミングすることによって、第1のトリミング画像140Aと第2のトリミング画像140Bとは異なる第3のトリミング画像140Cを生成することを含む。上述したように、訓練サンプル112からの各画像は、より小さいサイズの画像にトリミングされる。いくつかの実装形態において、任意の解像度画像は、任意のより小さい解像度画像部分にトリミングされてもよいが、訓練サンプル112内の各256×256画像は、64×64画像または32×32画像にトリミングされる。第1のトリミング画像140A、第2のトリミング画像140Bおよび第3のトリミング画像140Cは、互いに異なってもよい。すなわち、画像トリミング部120は、3つの異なる部分を第1トリミング画像140A、第2トリミング画像140Bおよび第3トリミング画像140Cにトリミングする。トリミングするために訓練サンプル112から選択された訓練サンプル(画像)の部分は、擬似ランダムまたはランダムであってもよい。第1のトリミング画像140Aと第2のトリミング画像140Bと第3のトリミング画像140Cとは、同じサイズであってもよく、または異なるサイズであってもよい。
【0044】
動作614において、方法600は、データ処理ハードウェア12が、第3のトリミング画像140Cの第1の部分230を複製することと、動作616において、データ処理ハードウェア12が、第3のトリミング画像140Cの複製された第1の部分230を第3のトリミング画像140Cの第2の部分240に重ねることによって、増強された第3のトリミング画像140CAを形成することとを含む。第1の部分230は、第2の部分240とは異なる。上述したように、いくつかの実装形態において、第3のトリミング画像140Cのコピーまたは複製された第1の部分230は、細長い矩形の形状を有する。いくつかの実装形態において、第1の部分230および第2の部分240は、機械学習モデル150をさらに訓練するために使用され得る増強された第3のトリミング画像140CAを生成するために、第3のトリミング画像140C内の異なるランダムな位置で選択される。いくつかの実装形態において、細長い矩形の幅対長さの比(例えば、約1:6以上)は、変更されてもよい。例えば、図4に示すように、増強された第3のトリミング画像140CAに含まれる複製された第1の部分230は、第3のトリミング画像140CAのメッシュパターンに「傷痕」のような異常(すなわち、「傷痕」メッシュパターン)を与える。いくつかの実装形態において、「傷痕」部分は、増強された第2のトリミング画像140BAに含まれる第1の部分よりも小さい。いくつかの実装形態において、方法600は、データ処理ハードウェア12が第3のトリミング画像140Cの複製された部分を回転させること、またはデータ処理ハードウェア12がカラージッタを第3のトリミング画像140Cの複製された部分に適用することのうち、少なくとも1つをさらに含む。
【0045】
動作618において、方法600は、データ処理ハードウェア12が、第1のトリミング画像140A、増強された第2のトリミング画像140BA、および増強された第3のトリミング画像140CAを用いて、機械学習モデル150を訓練することを含む。
【0046】
図7は、本明細書に記載のシステムおよび方法を実装するために使用され得る例示的なコンピューティング装置700を示す概略図である。コンピューティング装置700は、ラップトップ、デスクトップ、ワークステーション、PDA(Personal Digital Assistant)、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図されている。図示された要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または請求された発明の実施を限定するものではない。
【0047】
コンピューティング装置700は、プロセッサ710と、メモリ720と、記憶装置730と、メモリ720および高速拡張ポート750に接続する高速インターフェイス/コントローラ740と、低速バス770および記憶装置730に接続する低速インターフェイス/コントローラ760とを含む。要素710、720、730、740、750および760は、様々なバスを使用して相互に接続され、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。プロセッサ710は、メモリ720または記憶装置730に記憶された命令を含むコンピューティング装置700内に実行される命令を処理することによって、外部入力/出力装置のグラフィカルユーザインターフェイス(GUI)に、例えば高速インターフェイス740に接続されたディスプレイ780にグラフィック情報を表示することができる。他の実施態様において、複数のプロセッサおよび/または複数のバスは、複数のメモリおよび複数種類のメモリと共に、適切に使用されることができる。また、各装置が(例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)必要な動作の一部を実行するように、複数のコンピューティング装置700を接続することができる。
【0048】
メモリ720は、情報をコンピューティング装置700に非一時的に格納する。メモリ720は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ720は、コンピューティング装置700によって使用されるように、プログラム(例えば、一連の命令)またはデータ(例えば、プログラム状態情報)を一時的または永続的に格納するための物理装置であってもよい。不揮発性メモリの例として、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/(通常ブートプログラムなどのファームウェアに使用される)電子的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)を含むが、これらに限定されない。揮発性メモリの例として、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)およびディスクまたはテープを含むが、これらに限定されない。
【0049】
記憶装置730は、コンピューティング装置700に大容量の記憶を提供することができる。いくつかの実現形態において、記憶装置730は、コンピュータ可読媒体である。様々な異なる実現例において、記憶装置730は、例えば、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、テープディスク装置、フラッシュメモリまたは他の同様の固体メモリ装置、または記憶エリアネットワークまたは他の構成内の装置を含むアレイ記憶装置などのコンピュータ可読媒体を含むことができる。追加の実現例において、コンピュータプログラム製品は、情報担体に有形的に具体化される。また、コンピュータプログラム製品は、命令を含むことができる。これらの命令は、実行されると、上述したような1つ以上の方法を実行することができる。情報担体は、例えば、メモリ720、記憶装置730、またはプロセッサ710上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0050】
高速コントローラ740は、コンピューティング装置700の高速の帯域幅集約動作を管理し、低速コントローラ760は、低速の帯域幅集約動作を管理する。このような機能の割り当ては、例示に過ぎない。いくつかの実現例において、高速コントローラ740は、メモリ720に、(例えば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ780に、および様々な拡張カード(図示せず)を挿入できる高速拡張ポート710に連結される。いくつかの実現例において、低速コントローラ760は、記憶装置730および低速拡張ポート790に連結される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポート790は、例えば、キーボード、ポインティング装置、スキャナなどの1つ以上の入出力装置に連結されてもよく、またはネットワークアダプタを介して、スイッチまたはルータなどのネットワーキング装置に連結されてもよい。
【0051】
図示のように、コンピューティング装置700は、いくつかの異なる形態で実装されてもよい。例えば、コンピューティング装置700は、標準サーバ700aとして実装されてもよく、またはラップトップコンピュータ700bとしてまたはラックサーバシステム700cの一部として一群の標準サーバ700aに複数回実装されてもよい。
【0052】
本明細書に記載されたシステムおよび技術の様々な実装は、デジタル電子および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、記憶システムからデータおよび命令を受信し、データおよび命令を記憶システムに送信するように記憶システムに連結された少なくとも1つのプログラム可能な専用または汎用のプロセッサ、少なくとも1つの入力要素、および少なくとも1つの出力装置を含む。
【0053】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指してもよい。いくつかの例において、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と称されることもある。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含むが、これらに限定されない。
【0054】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および/または高度な目標物指向プログラミング言語で実装することができ、および/またはアセンブリ言語/機械言語で実装することができる。「機械可読媒体」および「コンピュータ可読媒体」という用語は、本明細書に使用された場合、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用された機械可読信号としての機械命令を受け取る機械可読媒体を含む任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、機械および/または装置(例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能な論理装置(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用された任意の信号を指す。
【0055】
本明細書に記載のプロセスおよびロジックフローは、データ処理ハードウェアとも呼ばれる1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって、入力データを処理して出力を生成する機能を実行することによって実行されてもよい。プロセスおよびロジックフローは、専用ロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよい。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサ、専用マイクロプロセッサ、およびあらゆる種類のデジタルコンピュータの1つ以上のプロセッサを含む。一般的に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリもしくはその両方から、命令およびデータを受け取る。コンピュータの重要な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリ装置である。一般的に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、例えば磁気ディスク、光磁気ディスクまたは光ディスクを含むまたはデータを受信または転送するように動作可能に結合される。しかしながら、コンピュータは、このような装置を備えなくてもよい。コンピュータプログラム命令およびデータの格納に適したコンピュータ可読媒体は、例として、例えばEPROM、EEPROMおよびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、CD ROMおよびDVD-ROMディスクを包括する全ての不揮発性メモリ、媒体およびメモリ装置を含む。プロセッサおよびメモリは、専用ロジック回路によって補足されてもよく、または専用ロジック回路に組み込まれてもよい。
【0056】
ユーザとの情報交換を行うために、本開示の1つ以上の態様は、例えばCRT(ブラウン管)モニタ、LCD(液晶ディスプレイ)モニタ、またはタッチ画面などの、ユーザに情報を表示するためのディスプレイ素子、および必要に応じて、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティング装置(例えば、マウスまたはトラックボール)を含むコンピュータ上で実装することができる。他の種類の装置を使用して、ユーザと情報交換を行うこともできる。例えば、ユーザに与えるフィードバックは、任意の形の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザから受け入れる入力は、音響入力、音声入力、または触覚入力を含む任意の形態であってもよい。さらに、コンピュータは、ユーザが使用している装置との間で文書を送受信することによって、例えば、Webブラウザから受信した要求に応答して、ユーザのクライアント装置上のWebブラウザにWebページを送信することによって、ユーザと情報交換することができる。
【0057】
いくつかの実装形態を説明した。これにもかかわらず、本開示の精神および範囲から逸脱することなく、様々な変更をなし得ることが理解されるであろう。したがって、他の実装形態は、以下の特許請求の範囲内に含まれる。
図1
図2
図3
図4
図5
図6
図7