(57)【要約】【課題】  色及び視覚的テクスチャに基づいてオブジェクトを抽出する方法及び装置を提供する。【解決手段】  本発明によれば、第一領域と第二領域とをセグメント化する方法及び装置が提供される。デジタル画像の第一領域と第二領域とを分離する境界を画定する方法は、学習マシンを使用して、色配置の１つ又はそれ以上に基づいて、画像のどのピクセルが第一領域と関連するものとしての分類のための基準を満足し且つ画像のどのピクセルが第二領域と関連するものとしての分類のための基準を満足するかを決定する。デジタル画像は第一領域の特性である１つ又はそれ以上の色配置と第二領域の特性である１つ又はそれ以上の色配置とを包含している。本方法は、第一領域又は第二領域のいずれかと関連するものとして分類するための基準を満足するものでないと決定された画像のピクセルを識別することを包含している。本方法は、識別されたピクセルを浄化させて第一領域と第二領域との間の境界を画定することを包含している。【選択図】      図１
2005129065.tif 000002
【特許請求の範囲】
【請求項１】
デジタル画像の第一領域と第二領域とを分離する境界を画定する方法において、前記デジタル画像は前記第一領域の特性である１つ又はそれ以上の色配置及び前記第二領域の１つ又はそれ以上の色配置を包含しており、
前記色配置の１つ又はそれ以上に基づいて、前記画像のどのピクセルが前記第一領域と関連するものとして分類するための基準を満足するか否かを学習マシンを使用して決定し、
前記色配置の１つ又はそれ以上に基づいて、前記画像のどのピクセルが前記第二領域と関連するものとして分類するための基準を満足するかを学習マシンを使用して決定し、
前記第一領域か又は前記第二領域のいずれかと関連するものとして分類するための基準を満足するものではないとして決定される前記画像のピクセルを識別し、
前記第一及び第二領域の間の境界を画定するために前記識別したピクセルを浄化する、
ことを特徴とする方法。
【請求項２】
請求項１において、前記学習マシンにより考慮中のピクセルが複数のピクセルの対応する近傍と関連しており、本方法が、更に、
ピクセルの対応する近傍の色配置を特定する入力情報を前記学習マシンへ供給する、
ことを包含しており、前記学習マシンが、前記第一領域か又は前記第二領域のいずれかと関連するものとして、ピクセルの対応する近傍の色配置に基づいて、前記考慮中のピクセルを分類すべく形態とされている方法。
【請求項３】
請求項２において、色配置が視覚的テクスチャを表わす方法。
【請求項４】
請求項２において、前記学習マシンがサポートベクトルマシンである方法。
【請求項５】
請求項２において、前記学習マシンがニューラルネットワークである方法。
【請求項６】
請求項２において、前記学習マシンが、前記考慮中のピクセルを分類する出力を供給すべく形態とされており、前記出力が、前記ピクセルが前記第一領域と関連している確率及び前記ピクセルが前記第二領域と関連している確率を表わす方法。
【請求項７】
請求項６において、前記出力が低い数と高い数との間の浮動小数点数であり、前記低い数は前記ピクセルが前記第二領域と関連している１００％の確率を表わし、且つ前記高い数は前記ピクセルが前記第一領域と関連している１００％の確率を表わす方法。
【請求項８】
請求項７において、前記低い数が−１であり且つ前記高い数が１である方法。
【請求項９】
請求項７において、更に、
前記浮動小数点数を第一整数と第二整数との間の整数へ変換し、前記第一整数は前記ピクセルが前記第二領域と関連している１００％の確率を表わし、且つ前記第二整数は前記ピクセルが前記第一領域と関連している１００％の確率を表わす方法。
【請求項１０】
請求項９において、前記第一整数が０であり且つ前記第二整数が２５５である方法。
【請求項１１】
請求項９において、
前記第一領域と関連しているものとして分類するための基準が第一スレッシュホールドを超える整数を有することを包含しており、
前記第二領域と関連するものとして分類するための基準が第二スレッシュホールド未満を整数を有することを包含している、
方法。
【請求項１２】
請求項１１において、前記第一スレッシュホールドが１７０であり且つ前記第二スレッシュホールドが８５である方法。
【請求項１３】
請求項１において、更に、ピクセルを分類するために前記学習マシンをトレーニングすることを包含している方法。
【請求項１４】
請求項１３において、トレーニングが、ユーザ入力に基づいて、前記ニューラルネットワークを訓練するために使用されるトレーニング用の組のピクセルを選択することを包含している方法。
【請求項１５】
請求項１４において、前記選択されたトレーニング用の組のピクセルが、前記境界の特定の範囲内に位置しているピクセルを包含している方法。
【請求項１６】
請求項１５において、前記特定の範囲が前記境界のいずれかの側から２０個のピクセルである方法。
【請求項１７】
請求項１において、前記ピクセルの近傍が、ピクセルの３×３正方形、ピクセルの５×５正方形、ピクセルの７×７正方形のうちの１つである方法。
【請求項１８】
請求項１７において、前記考慮中のピクセルが前記ピクセルの近傍の中心に位置している方法。
【請求項１９】
請求項１において、前記学習マシンがニューラルネットワークであり、
前記ニューラルネットワークが隠れノードとゲーティングノードとを包含しており、
ゲーティングノードは対応する隠れノードと関連しており、前記ゲーティングノードは、考慮中のピクセルの位置に基づいて、対応する隠れノードが前記ニューラルネットワークの出力に与える寄与を決定すべく形態とされている、
方法。
【請求項２０】
請求項１において、更に、
前記デジタル画像のどのピクセルが前記識別されたピクセルであるかを表わす境界マスクを前記識別されたピクセルから構築する、
ことを包含している方法。
【請求項２１】
請求項１において、浄化を行うことにより不透明マスクを発生し、本方法が、更に、
前記識別されたピクセルから確率マスクを構築し、
前記不透明マスクと前記確率マスクとを結合させる、
ことを包含している方法。
【請求項２２】
前記不透明マスクと前記確率マスクとを結合することが、前記不透明マスクを前記確率マスクと乗算させることを包含している方法。
【請求項２３】
請求項１において、前記第一領域が前記画像の前景であり且つ前記第二領域が前記画像の背景であり、且つ浄化を行うことが、
前記識別されたピクセルから前景色を有することのないピクセルを排除し、
前記識別されたピクセルが変化された後に前景色のみを包含するように前景色と背景色の両方を包含するピクセルの色を変化させる、
ことを包含している方法。
【請求項２４】
デジタル画像の第一領域と第二領域とを分離する境界を画定する方法において、
ニューラルネットワークの出力に基づいて、前記画像のどのピクセルが前記第一領域と関連するものとして分類するための基準を満足するかを決定し、
前記ニューラルネットワークの出力に基づいて、前記画像のどのピクセルが前記第二領域と関連するものとして分類するための基準を満足するかを決定する、
ことを包含しており、前記ニューラルネットワークが対応する隠れノードと関連するゲーティングノードを包含しており、前記ゲーティングノードが、考慮中のピクセルの位置に基づいて、前記対応する隠れノードが前記ニューラルネットワークの出力に与える寄与を決定すべく形態とされている方法。
【請求項２５】
請求項２４において、前記考慮中のピクセルが色配置を示すピクセルの対応する近傍と関連しており、本方法が、更に、
前記考慮中のピクセルの位置及びピクセルの対応する近傍の色配置を特定する情報を前記ニューラルネットワークへ供給する、
ことを包含しており、前記ニューラルネットワークは、前記考慮中のピクセルが前記第一領域と関連していることの確率及び前記考慮中のピクセルが前記第二領域と関連していることの確率を表わす出力を供給する形態とされている方法。
【請求項２６】
請求項２５において、
前記ピクセルの近傍がピクセルの３×３正方形、ピクセルの５×５正方形、ピクセルの７×７正方形のうちの１つであり、
前記考慮中のピクセルが前記ピクセルの正方形の中心に位置している、
方法。
【請求項２７】
請求項２４において、更に、
前記考慮中のピクセルの位置に基づいて、前記隠れノードが前記ニューラルネットワークの出力へ与える寄与を決定するために前記ゲーティングノードをトレーニングする、
ことを包含している方法。
【請求項２８】
請求項２７において、更に、
ピクセルを前記第一領域と関連しているか又は前記第二領域と関連しているかのいずれかとしてピクセルを分類するために前記隠れノードをトレーニングし、前記隠れノードのトレーニングが前記ゲーティングノードのトレーニング期間中に発生する方法。
【請求項２９】
請求項２４において、前記ニューラルネットワークが、
前記考慮中のピクセルの位置を特定する入力情報を受取り且つ前記入力情報を前記ゲーティングノードへ供給すべく形態とされている入力ノード、
を包含している方法。
【請求項３０】
請求項２４において、前記ニューラルネットワークが、
ピクセルの対応する近傍の色配置を特定する入力情報を受取り且つ前記対応する隠れノードへ前記入力情報を供給すべく形態とされている入力ノード、
を包含している方法。
【請求項３１】
各領域がその領域の特性である１つ又はそれ以上の色配置を包含している第一領域及び第二領域をセグメント化するための機械読取可能な媒体上にタンジブルに格納されているコンピュータプログラムプロダクトにおいて、プロセッサをして、
前記色配置の１つ又はそれ以上に基づいて、前記画像のどのピクセルが前記第一領域と関連するものとしての分類のための基準を満足するかを決定し、
前記色配置の１つ又はそれ以上に基づいて、前記画像のどのピクセルが前記第二領域と関連するものとしての分類のための基準を満足するかを決定し、
前記第一領域又は前記第二領域のいずかに位置しているものとして分類するための基準を満足することのないものと決定された前記画像のピクセルを識別し、
前記境界を画定するために前記識別されたピクセルを浄化させる、
べく動作可能な命令を包含しているコンピュータプログラムプロダクト。
【請求項３２】
各領域が前記領域の特性である１つ又はそれ以上の色配置を包含している第一領域及び第二領域をセグメント化するために機械読取可能な媒体上にタンジブルに格納されているコンピュータプログラムプロダクトにおいて、プロセッサをして、
前記第一領域の一部を選択する入力及び前記第二入力の一部を選択する入力を受取り、
前記入力及び前記第一及び第二領域の色配置に基づいて、前記第一領域内に位置されているピクセルを識別し、
前記入力及び前記第一及び第二領域の色配置に基づいて、前記第二領域内に位置されているピクセルを識別する、
べく動作可能な命令を包含しているコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル画像合成に関するものである。
【背景技術】
【０００２】
デジタル画像は１つ又はそれ以上の領域を包含することが可能である。本明細書において使用されるように、デジタル画像の１つの領域は、その関連性が任意的なものであるかまたはそうでないものとすることが可能な１つのグループのピクセルのことを意味する。ピクセルは、例えば、それらが画定する領域が紙、草、空又は木等の実世界物質を表わすようにグループ化することが可能である。１つの領域は１つ又はそれ以上の実世界物質を表わすことが可能であり且つ異なる領域は異なる実世界物質を表わすことが可能である。１つの領域は連続的なものとすることが可能であるがそうすることが必要なものではなく且つ２個又はそれ以上の不連続な部分から構成することが可能である。１つの領域はその他の領域と関連するピクセルを包含することが可能である。
【０００３】
実世界物質を表わす領域は１つの色のみから構成されるものではない。そうではなく、その領域は、典型的に、複数の色を包含しており、それらはその物質の有様を表わす態様で空間的に配置されている。例えば、草を表わす領域は緑と多分その他の色の種々のシェードを包含することが可能である。葉の領域は緑と茶色の種々のシェードを包含することが可能である。１つ又はそれ以上のピクセルにわたっての色の空間的配置は、本明細書においては、色配置と呼称する。ある物質の様相を特性付けることが可能な色配置は、本明細書においては、視覚的テクスチャと呼称する。
【０００４】
カリフォルニア、サンノゼのアドビシステムズから入手可能なアドビフォトショップ（商標）等のデジタル画像を編集するコンピュータアプリケーションにおいては、単一の実世界物質に対応する１つの領域を選択し且つその周囲のピクセル又は領域とは分離してその選択した領域を修正することが可能であることが極めて有用である場合がある。このような能力を有することは、例えば、デジタル画像内に描写されている人の髪の色のみを変化させ、その髪の周りのピクセルの同一の色又は複数個の色を維持したままとすることを可能とする。実世界物質即ちオブジェクトを表わす領域の選択及び分離は、本明細書においては、オブジェクト抽出と呼称とする。デジタル画像からのオブジェクト抽出は、典型的に、画像を、各々が単一の実世界物質を表わす複数の領域へセグメント化することを包含している。セグメント化は、通常、２つの領域の間の境界を探知することを包含している。セグメント化は、通常、どのピクセルがどの領域に属するかを決定することを包含している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、色及び視覚的テクスチャに基づくオブジェクト抽出のための方法及び装置及びコンピュータプログラムプロダクトを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一般的に、１つの側面においては、本発明は、デジタル画像の第一領域と第二領域とを分離する境界を画定する方法を提供しており、該デジタル画像は該第一領域の特性である１つ又はそれ以上の色配置と該第二領域の特性である１つ又はそれ以上の色配置とを包含している。本方法は、学習マシンを使用して、色配置の１つ又はそれ以上に基づいて、画像のどのピクセルが第一領域と関連するものとしての分類に対する基準を満足するかを決定することを包含している。本方法は、学習マシンを使用して、色配置のうちの１つ又はそれ以上に基づいて、画像のどのピクセルが第二領域と関連するものとしての分類のための基準を満足するかを決定することを包含している。本方法は、第一領域又は第二領域のいずれかと関連するものとしての分類のための基準を満足するものでないことが決定された画像のピクセルを識別することを包含している。本方法は、第一領域と第二領域との間の境界を画定するために該識別されたピクセルを浄化することを包含している。
【０００７】
一般的に、別の側面においては、本発明は、デジタル画像の第一領域と第二領域とを分離する境界を画定する方法を提供する。本方法は、ニューラルネットワークの出力に基づいて、画像のどのピクセルが第一領域と関連するものとしての分類に対する基準を満足するかを決定することを包含している。本方法は、ニューラルネットワークの出力に基づいて、画像のどのピクセルが第二領域と関連するものとして分類するための基準を満足するかを決定することを包含しており、該ニューラルネットワークは、対応する隠れノードと関連するゲーティングノードを包含しており、該ゲーティングノードは、考慮中のピクセルの位置に基づいて、対応する隠れノードがニューラルネットワークの出力に与える寄与を決定する形態とされている。
【０００８】
一般的に、別の側面においては、本発明は、各領域がその領域の特性である１つまたはそれ以上の色配置を包含している第一領域と第二領域とにセグメント化するための機械読取可能な媒体上にタンジブルに格納されているコンピュータプログラムプロダクトを提供する。本プロダクトは、プロセッサをして、色配置の１つ又はそれ以上に基づいて、画像のどのピクセルが第一領域と関連するものとして分類するための基準を満足するかを決定させるべく動作可能な命令を包含している。本プロダクトは、色配置の１つ又はそれ以上に基づいて、画像のどのピクセルが第二領域として関連するものと分類するための基準を満足するかを決定する命令を包含している。本プロダクトは第一領域又は第二領域のいずれかに位置しているものとして分類するための基準を満足するものではないとして決定された画像のピクセルを識別するための命令を包含している。本プロダクトは、境界を画定するためにその識別されたピクセルを浄化させるための命令を包含している。
【０００９】
一般的に、別の側面においては、本発明は、各領域がその領域の特性である１つ又はそれ以上の色配置を包含している第一領域と第二領域とにセグメント化するための機械読取可能な媒体上にタンジブルに格納されているコンピュータプログラムプロダクトを提供する。本プロダクトは、第一領域の一部を選択する入力と第二領域の一部を選択する入力とをプロセッサをして受取らせるべく動作可能な命令を包含している。本プロダクトは、該入力及び第一及び第二領域の色配置に基づいて、第一領域内に位置しているピクセルを識別するための命令を包含している。本プロダクトは、該入力及び第一及び第二領域の色配置に基づいて、第二領域に位置しているピクセルを識別するための命令を包含している。
【００１０】
本発明に基づくシステムは、あるパラメータに基づいて領域間の境界を画定する。これらのパラメータは、各々が類似した色を包含している第一領域と第二領域との間の境界を探知するために色を包含することが可能であるが、色差のみに依存することを必要とするものではない。従って、本発明システムは、２つの領域内に包含される色が類似したものである場合であっても境界を効果的に探知することが可能である。本システムは、又、境界を探知するためにエッジ検知技術のみに依存することを必要とするものではない。本システムは、ピクセル毎にどのピクセルがどの領域に属するかを手作業により決定することをユーザに要求することがないという点において効率的なものである。本システムはユーザ入力に基づいて一貫性を持ってオブジェクトを抽出することが可能である。例えば、本システムはデジタル画像をユーザにより特定された２つ又はそれ以上の領域へセグメント化させ、その結果、適宜のオブジェクト又は複数のオブジェクトを抽出することが可能である。
【００１１】
本発明に基づく学習マシン（機械）は異なる色配置及び異なる視覚的テクスチャを区別することが可能である。ニューラルネットワーク型の学習マシンは、その隠れノードのうちのどれがその出力の決定に寄与するかを決定することが可能である。このようなシステムに対するトレーニングは、色とテクスチャの両方を使用する結合したトレーニングセッションで達成することが可能である。どの隠れセルがその出力の決定に寄与するかを決定するために別個に学習マシンをトレーニングすることは必要ではない。
【発明を実施するための最良の形態】
【００１２】
図１はデジタル画像の２つの領域の間の境界を探知する方法１００を示している。図示したように、方法１００を実施するシステムは第一領域と第二領域とを包含するデジタル画像を受取る（ステップ１１０）。第一領域は第一視覚的テクスチャの特性である１つ又はそれ以上の色配置を示す。例えば、第一領域は第一実世界物質を表わすことが可能である。第二領域は第二視覚的テクスチャの特性である１つ又はそれ以上の色配置を示す。第二領域は第二実世界物質を表わすことが可能である。デジタル画像は、例えば、その他の視覚的テクスチャの特性である色配置を示すような付加的な領域を包含することが可能である。
【００１３】
ここで、第一領域のことを「注目領域」と呼ぶこととする。例えば、その領域はユーザがデジタル画像から抽出せんとするオブジェクトの少なくとも一部を表わすことが可能である。本明細書においては、１つの注目領域はフォアグラウンド即ち前景と呼称し、且つ注目領域ではない第二領域をバックグラウンド即ち背景と呼称する。
【００１４】
本システムは、デジタル画像の第三領域を選択する、例えばユーザからの入力である入力を受取る（ステップ１２０）。この第三領域はデジタル画像の一部である。一方、この第三領域は全体的なデジタル画像である。この第三領域は第一領域と第二領域とにセグメント化されるピクセルのグループである。境界が探知されるのはこの第三領域のピクセルの間においてである。この第三領域は第一領域の少なくとも一部と第二領域の少なくとも一部とを包含している。第三領域の選択は、単に２つの比較的テクスチャの特性である色配置のみを包含すべく構成することが可能である。このタイプの選択は境界探知プロセスを容易なものとさせることが可能である。
【００１５】
本システムは、第一及び第二領域の各々の１つ又はそれ以上の色配置に基づいて、第三領域内のどのピクセルが第一領域内に位置されているものとして分類するために基準を満足するかを決定する（ステップ１３０）。この決定は、第一及び第二領域の色配置、考慮中のピクセルの位置、又は色配置と考慮中のピクセルの位置の両方に基づくものとすることが可能である。この決定を行うために、本システムは、典型的に、境界の近似的な位置を特定するユーザ入力を必要とする。ユーザ入力は、更に、その境界のどちら側に第一領域が位置しているかを特定することを必要とする。１つの実現例においては、境界の近似的な位置は、４０ピクセル幅であるブラシストロークにより特定することが可能である。境界の近似的位置を特定する代わりに、ユーザ入力は第一及び第二入力の位置配置のサンプルを供給することが可能である。１つの実現例においては、該サンプルは、第一領域内に位置されている高い確率を有するピクセル（例えば、第一領域の中心近くに位置しているピクセル）及び第二領域内に位置している高い確率を有するピクセル（例えば、第二領域の中心近くに位置しているピクセル）のユーザ選択により特定することが可能である。
【００１６】
本システムはステップ１３０の決定を実施することが可能な学習マシンを包含することが可能である。一般的に、学習マシンは入力パターンを受取ることが可能であり且つそのパターンをＮが２又はそれ以上としてＮ個のクラスへ分類する出力を供給する。該入力パターンは、例えば、色配置を記述するものである種々のドメインから引き出すことが可能であり且つ通常数のリストとして高度化されている。該リストは、本明細書においては、入力ベクトルと呼称する。学習マシンの出力は、入力パターンが最も高い蓋然性で属する可能性のあるクラスを特定する単一の数とすることが可能である。一方、該出力は各クラスに対して１つづつＮ個の数とすることが可能である。この場合には、各数はその入力パターンが対応するクラスに属する確率を特定する。２つのクラスが存在しており且つ１つのクラスにおけるメンバーシップが他方のクラスのメンバーシップに対して排他的なものである実現例においては、その出力は１つのクラスにおけるメンバーシップの確率を表わす第一数とすることが可能であり且つ他方のクラスにおけるメンバーシップの確率は１−第一数として計算される。
【００１７】
色配置を表わす入力パターンは、典型的に、その色配置を示す１組のピクセルから派生される。この組のピクセルは、通常、互いに近くに位置されている。それから入力パターンが派生される１組のピクセルは、本明細書においては、学習マシン入力組と呼称する。注意すべきことであるが、学習マシン入力組は１個のピクセルのみを包含することが可能であり、更に、連続的なものであることは必要ではない。更に、学習マシン入力組は他の学習マシン入力組に属するピクセルを包含する場合があり、且つ、多分、包含している。即ち、学習マシン入力組はオーバーラップする場合がある。
【００１８】
１つの実現例においては、学習マシンが注目ピクセル及びその近傍のピクセルによって示される色配置に基づいて第一又は第二領域内に位置されているものとして分類する。近傍のピクセルは注目ピクセルの次又は近くに位置しているピクセルである。この場合には、学習マシン入力組は注目ピクセル及びその近傍ピクセル（集約的に、本明細書においては、ピクセルの近傍として言及する）である。ピクセルの近傍は、例えば、複数のピクセルからなる３×３正方形、複数のピクセルからなる５×５正方形、又は複数のピクセルからなる７×７正方形とすることが可能である。その近傍は必ずしも正方形である必要性はない。注目ピクセルは、通常、中央のピクセルであるがそうである必要性はない。一方、ピクセルの近傍の組は第一又は第二領域の特性である色配置を示すピクセルのその他の配置を包含することが可能である。
【００１９】
学習マシンの一般的な特徴は、パターンを分類するために使用される前に、トレーニング組として本明細において呼称される複数のピクセルからなるトレーニング組から派生される１組のサンプル入力パターンに関してトレーニングされることである。該トレーニング組は、通常、Ｎ個のクラスの各々からのサンプルパターンを示す。トレーニング組は、例えば、第一領域に位置していることが知られているピクセル及び第二領域に位置していることが知られているピクセルを包含する。通常、トレーニング組は第一領域の一部と第二領域の一部とを包含している。トレーニング組は、通常、複数の学習マシン入力組を包含している。トレーニング期間中に、学習マシンはトレーニング組の入力パターンをできるだけ多く正確に分類するために、１つ又はそれ以上の分類関数Ｆ１，Ｆ２，．．．，Ｆｎに対して内部調節を行うことが可能である。トレーニングされた後に、学習マシンは、通常、そのトレーニング組により示されることのない新たな入力パターンを正しく分類するために該トレーニング組から一般化することが可能である。ステップ１３０に関して上述したユーザ入力を使用してトレーニング組を特定することが可能である。
【００２０】
１つの実現例においては、分類関数Ｆ１，Ｆ２，．．．，Ｆｎの各々は、入力として、パターンを記述するベクトルを取り且つ、出力として、その入力パターンが属するカテゴリを表わす単一数を出力する。各分類関数はその関数がどのようにしてその出力を計算するかを決定する内部パラメータを包含している。学習マシンはトレーニング組に基づいて分類関数の内部パラメータを調節する手順を包含している。トレーニング組は入力パターン及び分類関数Ｆ１，Ｆ２，．．．，Ｆｎの各々からの所望の出力を包含することが可能である。
【００２１】
学習マシンはサポートベクトルマシン（ＳＶＭ）とすることが可能であり、それは入力パターンを、例えば、第一クラスと第二クラスとの２つのクラスへ分類するためにトレーニングすることが可能である。ＳＶＭの入力パターンは数のリストにより特定することが可能である。該リストは同一の長さ、即ち同一の量の数を包含するものである。該リストは入力ベクトルとすることが可能である。
【００２２】
ＳＶＭが基礎とする原理は、入力ベクトルが特徴ベクトルへマッピングされると言うことである。特徴ベクトルも入力ベクトルと同様に数のリストとすることが可能であるが、特徴ベクトルにおける数は入力ベクトルのある特徴の測度に対応する。例えば、特徴ベクトル数は入力ピクセルの色チャンネル値のプロパティ即ち特性に対応する場合がある。例えば、各ピクセルが３個の色チャンネル（例えば、（ｒ，ｇ，ｂ））を有している複数のピクセルからなる３×３配置の場合に、その３×３配置を特定するために使用される入力ベクトルは入力ピクセルの各々に対し３個の数、即ち２７個の数を必要とする。このシステムは、このような入力ベクトルから以下のことを計算することが可能であり、即ち、配置の平均色、配置内の色の偏差、１つのチャンネルにおける高周波数変化の量（即ち、赤、緑又は青の成分）、１つのチャンネルにおける低周波数変化の量（即ち、赤、緑又は青の成分）、及び実質的に同一の色を有する要素の最大のグループ、である。記述したリストは全てではなく且つ本システムはその他の計算を実施することが可能である。注意すべきことであるが、各特徴は入力ベクトルにおけるある数の要素から計算される。
【００２３】
上述した特徴ベクトルはｎ次元空間における点として考えることが可能であり、尚ｎは特徴の数である。このｎ次元空間は特徴空間と呼ばれる。特徴が良好に選択される場合には、第一クラスの要素を第二クラスの要素から分離する特徴空間内に超平面が存在する。第一クラスの全ての要素は超平面の片側に存在し且つ第二クラスの全ての要素は反対側に存在する。ＳＶＭのトレーニングは超平面を見つけ出すプロセスを包含することが可能である。
【００２４】
ＳＶＭをトレーニングするために使用される入力ベクトルの全ての要素から最大に遠いものであるように位置させることが可能な最適な超平面が存在する場合がある。トレーニング組は不完全なものである場合があるので、２つのトレーニングクラスを分離するものは実際には超平面ではない場合がある。この場合には、エラーバジェット（ｅｒｒｏｒ  ｂｕｄｇｅｔ）が存在する場合があり、その場合には、トレーニング組の幾つかの入力ベクトルは、これらのベクトルからのこれらのエラーの大きさの和がエラーバジェット以下である限り、超平面の誤った側に存在することが許容される。入力ベクトルの超平面の正しい側にある場合にはベクトルに対するエラーの大きさは０であり、且つ、例えば、それが間違った側にある場合には超平面への距離とすることが可能である。上述したように、ＳＶＭをトレーニングするために使用される入力ベクトルのトレーニング組はステップ１３０に関して上述したユーザ入力により特定することが可能である。
【００２５】
ＳＶＭである代わりに、学習マシンはニューラルネットワーク、例えば分類ニューラルネットワークとすることが可能である。一般的に、ニューラルネットワークは、多数の入力、例えば１００個の入力を取り、且つ数個の出力、例えば１個の出力のみを発生する１つ又はそれ以上の関数を包含している。入力は特定の色配置及びその色配置の特定の位置を特定する情報を包含することが可能である。色配置は複数のピクセルからなる学習マシン入力組により示される。出力は考慮中のピクセルが関連している領域を表わす浮動小数点数とすることが可能である。この浮動小数点数は、そのピクセルがその領域と関連する確率を表わす。
【００２６】
ニューラルネットワークは種々の入力に対してその出力を決定する多数の関連するパラメータを包含することが可能である。ニューラルネットワークは、例えば、トレーニング組の入力に対しより正確な出力を与えるためにパラメータを調節することによりトレーニングすることが可能である。その他の学習マシンのトレーニング組の場合のように、ニューラルネットワーク用のトレーニング組はステップ１３０に関して上述したユーザ入力により特定することが可能である。トレーニングは、通常、反復プロセスであり、その場合に、ニューラルネットワークがそのトレーニング入力に対して正しい出力を発生するようにパラメータが収束する。トレーニングした後に、ニューラルネットワークは、通常、一般化し且つそのトレーニング組の外側の入力に対し正しい結果を発生するものと期待される。ニューラルネットワークの１つの実現例を図３を参照して以下に説明する。
【００２７】
ある領域内に位置しているものとして１つのピクセルを分類するための基準は、学習マシンが、そのピクセルがその領域内に維持していることの特定のスレッシュホールド確率を超えることを決定した場合の条件を包含することが可能である。一方、その基準はその他の条件を包含することが可能である。
【００２８】
本システムは、第一及び第二領域の１つ又はそれ以上の色配置に基づいて、第三領域内のどのピクセルが第二領域内に位置されているものとして分類するための基準を満足するかを決定する（図１のステップ１４０）。このステップにおいてなされる決定は学習マシンによって行うことも可能であり且つステップ１３０に対して説明した決定と類似している。学習マシンは、第三領域における各ピクセルに対して、そのピクセルが第二領域に属する確率を決定する形態とすることが可能である。ステップ１３０の場合のように、本システムは、典型的に、ステップ１４０の決定を実施するためにユーザ入力を必要とする。ユーザ入力は境界の近似的な位置を特定するか、又は代替として、第一及び第二領域の色配置のサンプルを提供することが可能である。
【００２９】
第二領域内に位置しているとして分類する基準は、ピクセルが第二領域内に位置していることの特定のスレッシュホールド確率を超えることを学習マシンが決定したという条件を包含することが可能である。一方、その基準はその他の条件を包含することが可能である。
【００３０】
上述した如く、決定ステップ１３０及び１４０の各々はトレーニングセッションを包含することが可能であり、その期間中に、学習マシンがトレーニングされる。一方、その期間中にステップ１３０及び１４０の決定を実施するために学習マシンがトレーニングされる１つのトレーニングセッションが存在する場合がある。
【００３１】
決定ステップ１３０及び１４０は１つの決定ステップとして結合することが可能である。この場合には、学習マシンは、出力として、各注目ピクセル（例えば、考慮中のピクセル）に対して第一数と第二数との間の浮動小数点数を供給することが可能である。第一浮動小数点数は、そのピクセルが第二領域内に位置している１００％の確率及びそのピクセルが第一領域内に位置している０％の確率を表わす。第二数はそのピクセルが第一領域内に位置している１００％の確率及びそのピクセルが第二領域内に位置している０％の確率を表わす。第一数と第二数との間の値は、１００％と０％との間の確率値を表わすために補間することが可能である。
【００３２】
本システムは第一領域内に位置しているとして分類するための基準も第二領域内に位置しているとして分類するための基準も満足することのない第三領域におけるピクセルを識別する（ステップ１５０）。即ち、本システムは第一領域内に位置しているか又は第二領域内に位置しているとしても分類のための基準を満足することのないピクセルを識別する。本システムはマスク、例えば不透明マスクを使用してこれらのピクセルを識別することが可能である。一般的に、マスクは、例えばステップ１１０において受取った画像である考慮中の画像と同一の横方向範囲を有する画像である。マスク内の１個のピクセルに割当てられた不透明値は選択されているピクセルの確率を決定することが可能である。不透明マスク、即ちアルファマスクチャンネルの場合には、本システムは、特定の領域に位置しているとして分類する基準を満足するピクセルを透明なものとさせ且つこの基準を満足することのないピクセルを不透明なものとさせるために不透明値を割当てることが可能である。
【００３３】
オプションとして本システムは第一領域内に位置しているとして分類するための基準及び第二領域内に位置しているとして分類する基準のいずれも満足することのないピクセルの数を減少させるステップ１１０乃至１５０を繰り返すことが可能である。各繰り返しの場合に、トレーニング組は前の繰り返しにおいて使用したものと異なるものとすべきである。
【００３４】
本システムは第三領域のピクセルを浄化する（ステップ１６０）。一般的に、１組のピクセルの浄化は、その組のピクセルを３つのグループへ分割することを包含している。第一グループは前景に位置しているピクセルを包含している。第二グループは背景に位置しているピクセルを包含している。第三グループは前景領域と背景領域との間の境界に位置しているピクセルである境界ピクセルを包含している。本システムは、第一領域に位置しているとして分類するための基準を満足することがステップ１３０において決定されたピクセルを前景グループへ割当てる。本システムは、第二領域に位置しているとして分類するための基準を満足するとしてステップ１４０において決定されたピクセルを背景グループへ割当てる。本システムは、ステップ１５０において識別されたピクセルを境界グループへ割当てる。
【００３５】
浄化プロセスは、第一及び第二領域と相対的なピクセルの位置に基づいて境界グループの１つ又はそれ以上のピクセルの色を変化させることを包含している。浄化プロセスは、例えば、その境界へピクセルが前景に位置しているものと決定される場合には境界ピクセルから背景色を除去することが可能である。
【００３６】
浄化プロセスは、第一及び第二領域と相対的なピクセルの位置に基づいて境界グループの１つ又はそれ以上のピクセルに対する不透明値を決定することを包含している。例えば、第一領域近くに位置している境界ピクセルは、第一領域からより離れて位置している境界ピクセルよりもより大きい不透明値が割当てられる。より大きな不透明値はより大きな不透明な程度を表わす。
【００３７】
浄化プロセスは、通常、画像と不透明マスクとを発生する。その画像は、通常、浄化プロセスが境界ピクセルに対して行った色変化を反映する。不透明マスクは、通常、浄化プロセスにより決定される不透明値を包含している。画像及び不透明マスクの各々は、通常、ピクセルの入力組と同一の横方向範囲を有している。浄化プロセスの１つの実現例を図６を参照して以下に説明する。
【００３８】
本システムは、抽出すべきオブジェクトのその他の部分を背景からセグメント化するために適宜ステップ１２０乃至１６０を繰り返すことが可能である（図１のステップ１７０）。本システムが背景から注目オブジェクトの全ての部分をセグメント化すると、本システムはそれらを結合し且つそのオブジェクトを抽出することが可能である。本システムは浄化により発生した不透明マスクに基づいてセグメント化した部分を結合することが可能である。
【００３９】
本システムは背景とは独立して注目オブジェクトを修正することが可能である（ステップ１８０）。本システムはユーザ入力を受取り且つそれに従ってオブジェクトを修正することが可能である。例えば、本システムは、該オブジェクトの周りのピクセルの色を変化させること無しに抽出したオブジェクトの色を変化させることが可能である。本システムは該オブジェクトを別のデジタル画像内へカットアンドペーストすることが可能である。例えばアドビ（商標）社のフォトショップ（商標）であるデジタル画像を編集するためのアプリケーションは、不透明マスクを画像選択へ変換することが可能である。この画像選択は、例えば、その対応する不透明値があるスレッシュホールド（例えば、０から２５５の範囲における１２７）を超えるピクセルのリストである。選択が画定されると、その選択におけるピクセルはデジタル画像の新たな部分へ又は別のデジタル画像内へ、ピクセル座標の変換及びピクセル色の変換した位置へのコピーにより移動させることが可能である。
【００４０】
図２はデジタル画像から注目オブジェクトを抽出する方法２００を示している。方法２００を実施するシステムは、第一領域と第二領域とを包含するデジタル画像を受取る（ステップ２１０）。本システムは、例えばアドビ（商標）社のフォトショップ（商標）であるデジタル画像を編集するコンピュータアプリケーションを包含することが可能である。第一領域は注目オブジェクトの少なくとも一部を表わすことが可能である。即ち、第一領域は前景を包含することが可能である。第一領域は第一視覚的テクスチャの特性である１つ又はそれ以上の色配置を示す。第一領域は第一実世界物質を表わすことが可能である。第二領域は実世界物質を表わす第二の又は付加的な視覚テクスチャの特性である１つ又はそれ以上の色配置を示す。注意すべきことであるが、この点において、どのピクセルが第一領域に位置しており且つどのピクセルが第二領域に位置しているかを特定する入力リストは存在していない。デジタル画像は、例えば、その他の視覚的テクスチャの特性である色配置を示す付加的な領域を包含することが可能である。
【００４１】
本システムはデジタル画像の第三領域を選択する第一入力を受取る（ステップ２２０）。この第一入力はユーザ入力とすることが可能である。第三領域はセグメント化すべき複数のピクセルからなるグループとすることが可能である。それは境界を探知すべき第三領域のピクセルの中からのものである。第三領域は第一領域の少なくとも一部と第二領域の少なくとも一部とを包含している。第三領域の選択は、単に２つの視覚的テクスチャのみの特性の色配置のみが存在するように行うことが可能である。このような選択の場合には、本システムは例えば前景領域である第一領域の特性である色配置を１つの前景ではない視覚的テクスチャのみの特性の色配置に対して比較することが必要である。このタイプの選択は境界探知プロセスを容易化させることが可能である。
【００４２】
セグメント化及び境界探知はニューラルネットワークの使用を包含することが可能である。本システムは、１つのピクセルが第一領域内に位置していることの確率及びそのピクセルが第二領域内に位置していることの確率を決定する形態とされているニューラルネットワークを包含することが可能である。１つの実現例において、該ニューラルネットワークはゲーティングノードが存在するか否かに依存して、３個又は４個のレイヤーを包含している。ゲーティングノードが存在する場合には、ニューラルネットワークは４つのレイヤーを有している。第一レイヤーは入力ノードを包含している。第二レイヤーは隠れノードとゲーティングノードとを包含している。第三レイヤーは乗算ノードを包含している。第四レイヤーは出力ノードを包含している。ゲーティングノードが存在しない場合には、ニューラルネットワークは３つのレイヤーを有している。その第一レイヤーは入力ノードを包含している。その第二レイヤーは隠れノードを包含しており、且つその第三レイヤーは出力ノードを包含している。
【００４３】
ニューラルネットワークの入力ノードは、入力を受取り且つ入力情報を隠れノードへ、且つ、存在する場合には、ゲーティングノードへ伝達することが可能である。ゲーティングノードは、通常、対応する隠れノードと関連している。隠れノードは入力を区別し且つ出力を発生することが可能である。ゲーティングノードは、それにわたって対応する隠れノードがアクティブである、第三領域全体の場合を包含する第三領域から１つの領域を選択することが可能である。ゲーティングノードは初期的には第三領域全体を選択するが、そうすることがニューラルネットワーク出力の精度を改善する場合には、より小さな領域を選択すべくトレーニングすることが可能である。ゲーティングノードは、入力位置情報に基づいて、対応する隠れノードがニューラルネットワークの出力に与える寄与を決定することが可能である。隠れノードの出力は出力ノードへ送ることが可能である。
【００４４】
ニューラルネットワークへの入力はピクセルの学習マシン入力組の色配置を特定する情報を包含することが可能である。その色配置は、ピクセルの学習マシン入力組と関連する１つ又はそれ以上の色値により特定することが可能である。その１つ又はそれ以上の色値は入力ベクトルにより特定することが可能である。ニューラルネットワークへの入力は、又、そのニューラルネットワークにより考慮中のピクセルの対応する位置を特定する情報を包含することが可能である。その位置は、カーテシアン又はその他の任意の座標系により特定することが可能である。入力ノードの数は、学習マシン入力組内に包含されているピクセルの数により決定することが可能である。即ち、入力ノードの数は、通常、学習マシン入力組の各ピクセルの色チャンネルと関連している色値の数に基づいている。
【００４５】
更に、入力ノードの数も考慮中のピクセルの位置を特定するために必要な座標の数に基づくことが可能である。ピクセルの学習マシン入力組の１つの例はピクセルの３×３組であり、その各々は３つの色チャンネルを包含している（赤色強度に対して１つ、緑色強度に対して１つ、青色強度に対して１つ）。従って、合計で９個の入力ピクセルが考慮される。これら９個の各々は３個の色値を包含している。従って、入力色配置を受取るために、合計で９×３、即ち２７個の入力ノードが存在する。更に、考慮中のピクセルの位置を特定するために入力座標が２つの値を必要とするに過ぎない場合には、入力位置情報を受取るために２つの付加的な入力ノードが存在すべきである。従って、この例においては、ニューラルネットワークは合計で２９個の入力ノードを包含する。
【００４６】
図３はニューラルネットワークの１つの実現例を示している。このニューラルネットワークは、ピクセルの３×３正方形に対して情報を受取る形態とされている。各ピクセルは３個の色チャンネルを有している。注目ピクセルの位置は２パラメータ座標系により特定することが可能である。従って、このネットワークは２７個の入力ノード３０１−３２７（色配置情報を受取る形態とされている）及び２個の入力ノード３２８及び３２９（位置情報を受取る形態とされている）を包含している。隠れノードの各々は入力ノード３０１−３２７から入力を受取る形態とされている。各ゲーティングノードは入力ノード３２８及び３２９から入力を受取る形態とされている。説明したように、ゲーティングノードはそれにわたってそれの対応する隠れノードがアクティブである領域を選択することが可能である。
【００４７】
例えば、ゲーティングノード３３０は、入力ノード３２８及び３２９から受取った入力位置情報に基づいて、それにわたり隠れノード３３１がアクティブである領域を選択する。この選択は、ゲーティングノード及び隠れノードの対応する対から入力を受取る形態とされている乗算ノード３３２−３５８により行われる。例えば、ゲーティングノード３３０はニューラルネットワークの決定に対して出力が与える寄与を減少させる重み係数により乗算ノード３５８をして隠れノード３３１の出力を乗算させることが可能である。
【００４８】
出力ノード３５９は乗算ノードからの出力を受取り且つ第一数と第二数との間、例えば−１と１との間の浮動小数点数を出力する形態とされている。
【００４９】
本システムはトレーニング組を特定する第二入力を受取る（図２のステップ２３０）。第二入力はユーザ選択を包含することが可能である。その入力は第４領域及び第５領域を特定することが可能である。第４領域は、典型的に、前景内に位置していることが位置していることが知られているか又は位置している高い確率を有しているピクセルを包含している。これらのピクセルは前景の特性である色配置のサンプルを与える。第５領域は、典型的に、背景内に位置していることが知られているか又は位置している高い確率を有しているピクセルを包含している。これらのピクセルは背景の特性である色配置のサンプルを与える。一方、入力は境界の近似的な位置、更に、その境界のどちら側に前景が位置しているかを特定することが可能である。
【００５０】
本システムはニューラルネットワークをトレーニングする（ステップ２４０）。本システムはステップ２３０において受取ったトレーニング組を使用してニューラルネットワークをトレーニングする。ニューラルネットワークは後方伝播を介してそのパラメータを自己調節することによって応答し与えられたトレーニング入力に対して正しい出力を発生する。
【００５１】
後方伝播を使用するトレーニング方法４００について以下に説明する。図４に示したように、トレーニング方法４００を実施するシステムは２つのトレーニング組の要素のうちの１つから１つのトレーニング要素をランダムに選択する（ステップ４１０）。本システムは選択したトレーニング要素をその現在の状態でニューラルネットワークへ入力し且つこの入力に対する各ノードの応答を受取る（ステップ４２０）。本システムは後方伝播プロセスを実行する（ステップ４３０）。本システムは、最大繰り返し数に到達するまで、又はニューラルネットワークがトレーニング組に関する充分に正確な応答を与えるまで、ステップ４１０−４３０を繰り返し行う（ステップ４４０）。何が充分に正確であるかを構成するかは任意的に定義することが可能であり且つ、通常、手元のタスクに依存する。１つの実現例においては、本システムは、ニューラルネットワークがトレーニング組からの入力の３％未満の不正確な出力を発生するに過ぎなくなるまで、又は１２０，０００回の繰り返しが実施されるまで、のうちのいずれか一方が最初に発生する場合に繰り返しを停止する。
【００５２】
ニューラルネットワークのノードは、典型的に、その計算において使用される種々の内部パラメータを包含している。これらの内部パラメータは、通常、ニューラルネットワークが正しい応答を発生する方向に向かって移動するようにトレーニングプロセスにおいて調節することが可能である。例えば、１組の内部パラメータは、１つのノードが先行するレイヤー内のノードからその入力の各々に対して与える重みである。これらの重みは、典型的に、更なる処理の前に入っている入力により乗算されるスケーリングファクタである。
【００５３】
後方伝播プロセスは、（１）ニューラルネットへの入力、（２）その入力に対するニューラルネット内の各ノードの実際の応答、（３）ニューラルネットの所望の出力が与えられる場合に、ノードの内部パラメータを調節することが可能である。後方伝播プロセスは、通常、例えば、１，０００乃至１，０００，０００回ニューラルネットに対して多数回繰り返して適用されることを必要とする。
【００５４】
後方伝播プロセスは、通常、ノードが入力を評価する順番と反対の順番でノードに対して適用される。本システムは、最初に、後方伝播プロセスを出力ノード、例えば、最後のレイヤーＬ内のものへ適用し、次いで該プロセスを出力ノードへ供給するノード、例えば、レイヤーＬ−１内のものへ適用し、更に同じく本システムがニューラルネットワークの第一レイヤー内のノードに到達するまで行われる。
【００５５】
図５は出力Ｎから開始する後方伝播プロセス５００の１例を示している。後方伝播プロセス５００はトレーニング方法４００のステップ４３０内に包含させることが可能である。各ノードの出力は、既に、計算されており且つ各ノードで格納されているものと仮定する。
【００５６】
本システムは変数Ｄを計算し、それはノードＮの所望の出力と実際の出力との間の差である（ステップ５１０）。１つの実現例においては、
Ｄ＝＜所望出力＞−＜実際の出力＞
である。ノードＮの内部パラメータｐに対して、本システムはｐに関して出力の偏微分を計算し、他の変数はノードへの現在の入力により設定される（ステップ５２０）。出力をＸとすると、その偏微分はｄＸ／Ｄｐである。本システムはｐに対する増分的変化を計算する（ステップ５３０）。１つの実現例において、その増分的変化は以下の如くに計算される。
【００５７】
ｉｎｃ（ｐ）＝ｇａ・（ｄＸ／ｄｐ）・Ｄ
尚、ｇａは利得パラメータである。利得ｇａは全てのノードに対して同じであり且つトレーニングプロセスの収束割合を決定する。その利得は、典型的に、初期的には０．１に設定される。余り高く設定されると、トレーニングは収束しない場合がある。余りに低く設定されると、トレーニングは収束するのに付加的な繰り返しを必要とする場合がある。
【００５８】
本システムは計算された増分的変化をノードの各内部パラメータへ適用する（ステップ５４０）。本システムは差Ｄを次の上のレイヤーにおけるノードへ伝播させる（ステップ５５０）。ノードＭに対する差がＤ（Ｍ）と指定すると、次式が得られる。
【００５９】
Ｄ（Ｍ）＝Ｄ（Ｎ）・（ｄＸ／ｄＭ）
尚、Ｄ（Ｎ）は出力ノードＮに対して計算された差Ｄであり、且つｄＸ／ｄＭはノードＭからの入力に関してのノードＮの出力の偏微分である。本システムが所望の計算ステップを実施すると、本システムはレイヤーＬ−１上のノードの各々に対する差値を有している。本システムは、ニューラルネットワーク内の全てのノードが処理されるまで、レイヤーＬの上の次のレイヤー上の各ノードに対してステップ５１０−５５０を繰り返し行うことが可能である（ステップ５６０）。例えば、本システムは、レイヤーＬ−１上の各ノードに対してステップ５１０−５５０を繰り返し行うことが可能である。そうする場合に、本システムはレイヤーＬ−２上のノードに対する差値を計算することが可能であり、従って次にこれらのＬ−２ノードを処理することが可能である。本システムは、レイヤー１上のノードを包含するものではないがそれに至るまでの全てのノードを処理するまでこのプロセスを継続する。注意すべきことであるが、偏微分を計算することが可能である限り、ノードが実施する計算に関して何等制限は存在していない。
【００６０】
図３に示した実現例におけるように、ニューラルネットワークが４つのレイヤーを有しており且つゲーティングノードを包含している実現例においては、本システムはゲーティングノードと隠れノードの両方をレイヤー２上のノードと考えることが可能である。上述したように、ゲーティングノードが存在している場合には、ニューラルネットワークは、出力を発生するために、２つの入力、即ち対応する隠れノードからの１つと対応するゲーティングノードからの１つを乗算させる乗算ノードを包含している。ニューラルネットワークは乗算ノードを第３レイヤー上のノードと考えることが可能である。乗算ノードの出力はレイヤー４上である出力ノードへ供給される。
【００６１】
本システムは第一領域に位置しているか又は第二領域に位置しているかのいずれかとして第三領域のピクセルを分類するためにニューラルネットワークを使用する（図２のステップ２５０）。本システムはニューラルネットワークへ入力情報を供給する。その入力情報は、ピクセルの学習マシン入力組の色配置及び注目ピクセルの位置を特定する。ニューラルネットワークはその入力情報を取り且つ注目ピクセルが第一領域に位置していることの確率及び注目ピクセルが第二領域に位置していることの確率を特定する出力を発生する。その出力は第一数と第二数との間、例えば−１と１との間の浮動小数点数とすることが可能である。
【００６２】
本システムはニューラルネットワークにより与えられる分類をマッピングし且つ確率マスクを発生する（ステップ２６０）。マッピングはオフセッティングとスケーリングとを包含することが可能である。−１と１との間の数である出力が与えられると、本システムはその数へ１を加算することによりその数をオフセットさせることが可能である。本システムは、そのオフセットの結果を１２７．５によりスケーリングすることにより０と２５５との間の数を発生する。本システムはニューラルネットワークのマッピングした出力をマスクの対応するピクセルに割当てることにより確率マスクを発生する。
【００６３】
本システムはこの確率マスクから１つ又はそれ以上の境界マスクを画定する（ステップ２７０）。１つの境界マスクは第一領域又は第二領域のいずれかに位置していることのスレッシュホールド確率を満足することのないピクセルを識別する不透明度マスクとすることが可能である。例えば１／３・２５５と２／３・２５５との間の確率値を有するピクセルを識別することが可能である。第二境界マスクは、例えば、第二領域内に位置しているものとして分類することが可能なピクセル、即ち０と１／３・２５５との間の確率値を有するピクセルを識別する不透明度マスクとすることが可能である。第三境界マスクは、例えば第一領域内に位置しているとして分類することが可能なピクセル、即ち２／３・２５５と２５５との間の確率値を有しているピクセルを識別する不透明度マスクとすることが可能である。
【００６４】
本システムは第三領域のピクセルを浄化し且つ第一領域と第二領域との間の境界を鮮明なものとさせる（ステップ２８０）。この浄化手順の１つの実現例について以下に説明する。
【００６５】
浄化プロセスへの入力は、（１）通常浄化されるべきピクセルのグループにより画定される色画像、（２）前景、背景、境界への該色画像におけるピクセルの分類、を包含している。浄化されるピクセルは、ピクセルの二次元格子とすることが可能であるがそうすることが必要なものではなく、尚、各ピクセルはその位置を特定する（ｘ，ｙ）座標を有している。その分類は、ステップ２７０において画定された１つ又はそれ以上の境界マスクにより与えることが可能である。
【００６６】
浄化プロセスの出力は、（１）修正された色画像、（２）不透明度マスクを包含している。この不透明度マスクは、色画像と同一の寸法を有しているが、その代わりに、各位置に格納した色値を有する画像とすることが可能であり、その色画像における対応するピクセルの不透明度として解釈される単一のスカラー値が存在している。不透明度値が可及的に最大値、この場合には２５５である場合には、対応する色ピクセルは全く不透明であると考えられる。その不透明値が可及的に最小、この場合には０である場合には、対応する色ピクセルは全く透明であると考えられる。中間の値は中間の不透明度に対応する。
【００６７】
図６は例示的な浄化プロセス６００を示しており、それはステップ２８０内に包含させることが可能である（図２）。色画像における各位置Ｐに対して、Ｐが前景、背景、境界のどこにあるかに関しての分類を検討する（ステップ６１０）。Ｐが前景内にある場合には、不透明度マスク内の対応するピクセルを可及的に最大の値、例えば２５５へ初期化させる（ステップ６２０）。Ｐが背景内にある場合には、不透明度マスク内の対応するピクセルを可及的に最小の値、例えば０へ初期化させる（ステップ６３０）。その位置が境界内にある場合には、以下のステップを実行する。即ち、（１）背景内にあるＰに最も近い位置を見つけ出し且つこの位置をＢと呼ぶ（ステップ６４０）。（２）前景内にあるＰに最も近い位置を見つけ出しこの位置をＦと呼ぶ（ステップ６５０）。
【００６８】
浄化プロセス期間中、本システムは、以下に説明する色計算を包含する色計算を実施することが可能である。位置Ｘにおける色を示すためにＣ（Ｘ）を使用する。典型的に、Ｃ（Ｘ）は１乃至４個の数を包含することが可能であり、これらの数はその色に対する種々の色チャンネルの値である。例えば、典型的な色は３個のチャンネル｛ｒ，ｇ，ｂ｝から構成されており、それは、夫々、赤色成分、緑色成分、青色成分の強度を与える。以下の例において、色はこれらの３個｛ｒ，ｇ，ｂ｝のチャンネルから構成されているものと仮定する。
【００６９】
本プロセスは任意の数の成分を有する色に対して一般化することが可能である。本システムが実施することが必要となる可能性のある１つの操作は、２つの色、即ちＣ１＝｛ｒ１，ｇ１，ｂ１｝及びＣ２＝｛ｒ２，ｇ２，ｂ２｝の間の差を測定することである。この差は（ｒ１−ｒ２）2＋（ｇ１−ｇ２）2＋（ｂ１−ｂ２）2として計算することが可能であり、それはＤ（Ｃ１，Ｃ２）として示される。本システムが実施することが必要となる場合のある別の操作は、補間定数ａを使用して２つの色Ｃ１及びＣ２の間を線形補間することである。この色補間操作は、以下の入力から３番目の色Ｃ３＝｛ｒ３，ｇ３，ｂ３｝を返すものである。
【００７０】
ｒ３＝ａ・ｒ１＋（１−ａ）・ｒ２
ｇ３＝ａ・ｇ１＋（１−ａ）・ｇ２
ｂ３＝ａ・ｂ１＋（１−ａ）・ｂ２
その結果得られる色はＬＲＢ（Ｃ１，Ｃ２，ａ）として示される。
【００７１】
本システムは、差Ｄ（Ｃ（Ｐ），ＬＲＢ（Ｃ（Ｆ），Ｃ（Ｂ），ａ））を最小とする０と１との間のスカラー値Ａを計算することが可能である（図６のステップ６６０）。
【００７２】
上述した計算は、色をベクトル空間内の点として考え（ベクトル空間座標として色チャンネル値を使用し）且つＣ（Ｐ）に最も近いＣ（Ｂ）からＣ（Ｆ）へのこの色ベクトル空間内の線上の点を見つけ出すことにより直接的に実施することが可能である。このプロセスは、以下の如くにして解析幾何学により説明することが可能である。
【００７３】
（ｉ）Ｃ（Ｆ）とＣ（Ｂ）を介しての無限の線上に垂直にＣ（Ｐ）を投影し且つこの投影した点（色）をＫと呼ぶ。
【００７４】
（ｉｉ）ＫがＣ（Ｆ）からＣ（Ｂ）への線セグメントの端点の間に存在する場合には、ａはＣ（Ｆ）からＣ（Ｂ）へのユークリッド距離に対するＫからＣ（Ｂ）へのユークリッド距離の比である。
【００７５】
（ｉｉｉ）ＫがＣ（Ｆ）の側部上のこの線セグメントの外側に存在する場合にはａは１である。ＫがＣ（Ｂ）により近いセグメントの外側にある場合には、ａは０である。注意すべきことであるが、ユークリッド距離は差Ｄの平方根と同じである。
【００７６】
ステップ６４０，６５０，６６０の計算が完了すると、本システムは以下の如くにして位置Ｐに対する浄化計算を終了することが可能である。新たな色Ｃ（Ｆ）が位置Ｐにおける色画像へ割当てられる（ステップ６７０）。ａ・２５５の値が位置Ｐにおける不透明度マスクへ割当てられる（ステップ６８０）。ａを２５５へ乗算する。何故ならば、説明した実現例においては、マスク内の可能な値の範囲は０から２５５の範囲だからである。上述したものと同様の浄化プロセスは１９９９年４月２６に出願された「不確実なピクセルの領域内の本来的ピクセル色の識別（Ｉｄｅｎｔｉｆｙｉｎｇ  Ｉｎｔｒｉｎｓｉｃ  Ｐｉｘｅｌ  Ｃｏｌｏｒｓ  ｉｎ  ａ  Ｒｅｇｉｏｎ  ｏｆ  Ｕｎｃｅｒｔａｉｎ  Ｐｉｘｅｌｓ）」という名称の本願出願人に譲渡されている米国特許出願第０９／２９８，８７２号に記載されており、尚その特許出願を引用により本明細書に取込む。
【００７７】
説明した浄化方法を改善することが可能である。オリジナルの色画像のコピーを作ることが可能である。このコピーにおいて、前景位置及び背景位置における色を平滑化させる。前景内の各位置Ｐに対し、本システムは色Ｃ（Ｐ）を前景内にあるＰのある固定した距離内の全ての色の平均で置換させることが可能である。この平均は加重平均とすることが可能であり、その場合に、重みはＰにより近い位置に対してより大きい。例えば、加重平均を決定するためにガウス関数を使用することが可能である。本システムは、背景内の各位置Ｐに対して同様の操作を実施することが可能である。Ｃ（ｂ）は背景内にありＰに対してある距離内にある色の加重平均で置換される。上に使用した最大平均距離は、２から１００の範囲内とすることが可能であるが、典型的に、約２０ピクセルである。その結果得られる画像コピーはオリジナル画像の平滑化したものである。
【００７８】
上述した浄化方法を修正することが可能である。境界内の１つの位置を浄化する場合に、本システムは上述したように位置Ｆ及びＢを見つけ出すことが可能である。然しながら、ａを計算する場合に、本システムは、オリジナルの画像からではなく平滑化したコピーからＣ（Ｆ）及びＣ（Ｂ）を取ることが可能である。その結果得られるカラーＣ（Ｆ）は未だにオリジナルの色画像内に格納される。
【００７９】
本システムは浄化から発生されたマスクをステップ２６０において発生された確率マスクと乗算させる（図２のステップ２９０）。この積は、浄化方法の修正した画像に適用された場合に、第一領域の孤立されたものを発生するマスクを発生する。本システムは、注目オブジェクトを抽出するために適宜その他の領域をセグメント化するためにステップ２２０−２９０を繰り返すことが可能である。抽出されると、本システムは、ユーザ入力を受取り且つそのオブジェクトをこれらのユーザ入力に従って修正することが可能である。一方、本システムは、確率マスクを浄化から発生したマスクと乗算させることが可能である。
【００８０】
図７Ａ及び７Ｂは上述した如くに実施される抽出プロセスの１例を例示している。図７Ａは背景に対しての人の色画像を示している。ユーザは上述したシステムを使用して背景からその人を抽出することを所望する。図７Ｂに示したように、ユーザはサンプル領域７０２及び７０４をハイライトさせるために青色ハイライトブラシを使用して前景の色配置のサンプルを与える。２つの前景色配置が存在しており、即ちその人の洋服の豹パターンにより示されるものとその人の皮膚により示される２番目のものである。ユーザはサンプル領域７０６をハイライトさせるために赤色のハイライトブラシを使用することにより背景の色配置のサンプルを与える。この背景の色配置は、図示したシマウマパターンにより示されている。次いで、本システムは前景と背景との間の境界を探知し且つ前景を抽出する。図７Ｃはその抽出結果を示している。
【００８１】
図７Ｄ及び７Ｅは、同一の入力色画像が与えられた場合の別の抽出プロセスを示している（即ち、図７Ａに示したもの）。図７Ｄに示したように、ユーザは境界を包含する領域７０８をハイライトさせるために緑色のハイライトブラシを使用することにより分離されるべき領域の間の境界を粗く表示することが可能である。次いで、ユーザはその境界の一方の側をクリックし、クリックした側が前景であることを表わす。図７Ｅに示したように、クリックされた側は青色のハイライトで充填される。その抽出プロセスの結果を図７Ｃに示してある。
【００８２】
図８及び９はニューラルネットワークの出力を発生する計算プロセスの例を示している。ピクセルの学習マシン入力組はピクセルのｓ×ｓ配置であり、尚ｓは奇数である。画像内のピクセルはＲＧＢ色空間内にあるものと仮定され、従って、各ピクセルは３個の色値を包含している。Ｒ（ｘ，ｙ）は位置（ｘ，ｙ）における画像の赤色成分の値を示している。同様に、Ｇ（ｘ，ｙ）及びＢ（ｘ，ｙ）は、夫々、緑色成分及び青色成分を示している。その画像がより多くの又はより少ない色成分を有している場合には、以下のステップ１を修正して入力ベクトルから値を付加又は除去することが可能である。
【００８３】
図８は、ニューラルネットワークがゲーティングノードを包含するものではない場合に使用される第一計算プロセス８００を示している。この第一計算プロセス８００は４つのステップを包含している。位置（ｕ，ｖ）におけるピクセルに対するニューラルネットワークへの入力は以下の如くである。
【００８４】
ｘ＝ｕ−（ｓ−１）／２乃至ｘ＝ｕ＋（ｓ−１）／２に対して及びｙ＝ｖ−（ｓ−１）・２乃至ｙ＝ｖ＋（ｓ−１）／２に対して、Ｒ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）である。これらの３・ｓ2個の数はＡとして示される入力ベクトル内に集められる。入力ベクトルにおいて３・ｓ2個の数が現れる順番は重要ではない。然しながら、一度確立されると、その順番はその後の計算プロセスに対して維持されるべきである。
【００８５】
入力ベクトルＡにおける値は０乃至１の範囲でスケーリングされる（ステップ８０２）。１つの実現例においては、画像から直接取られた値は０から２５５の範囲にあり、従ってスケーリングステップはＡにおける各値を１．０／２５５．０と乗算する。即ち以下の如くである。
【００８６】
Ａ（ｉ）＝（１／２５５）・Ａ（ｊ）    尚、ｊ＝１乃至３・ｓ2
入力ベクトルＡに対して超球面マッピング変換を適用する（ステップ８０４）。この変換は、長さｍの任意のベクトルＶに対して適用することが可能なサブルーチンとして実現することが可能である（何故ならば、このシステムは以下の如く変換を別意に使用することを必要とするからである）。
【００８７】
超球面マッピング変換は以下の如くに実施される。ベクトルＶを端部において更にこの要素を包含するように拡張し、且つこの付加した要素に１．０の値を与える。次いで、次式に従ってこの新たに増やしたベクトルのユークリッド長さを計算する。
【００８８】
【数１】
2005129065.tif 000003
【００８９】
次いで、その長さの逆数によりベクトルＶの全ての要素をスケーリングする。
【００９０】
Ｖ（ｊ）＝（１／Ｌ）・Ｖ（ｊ）    尚ｊ＝１乃至ｍ＋１
ベクトルＡに対して超球面マッピングステップを適用した結果、ベクトルＡは３・Ｓ2＋１の長さを有している。
【００９１】
各隠れノードに対する出力値を計算する（ステップ８０６）、全ての隠れノードは、それらの内部パラメータの状態を除いて、同一なものであるから、典型的な隠れノードの計算のみについて説明する。隠れノードは１からＨへ番号が付けられており、尚Ｈは隠れノードの総数である。隠れノード番号ｋが与えられる。隠れノードＫはベクトルＷkに包含している３・ｓ2＋１個の内部パラメータ（入力に対応している）及び更にもう１個の内部パラメータｂkを有している。ノード番号ｋの出力は次式のとおりである。
【００９２】
【数２】
2005129065.tif 000004
【００９３】
尚、Ｔａｎｈは双曲線正接関数であり且つＱは全ての隠れノードの出力を表わすベクトルである。
【００９４】
出力ノードの出力を計算する（ステップ８０８）。出力ノードは、それが各隠れノードからの入力を取ることを除いて、隠れノードに類似している。従って、最終的な計算は以下の如くである。
【００９５】
【数３】
2005129065.tif 000005
【００９６】
尚、Ｗ0及びｂ0は出力ノードに対する内部パラメータであり且つＲは最終出力である。
【００９７】
図９は、ニューラルネットワークがゲーティングノードを使用している場合に使用される第二計算プロセス９００を示している。第二計算プロセス９００は６つのステップを包含している。
【００９８】
入力ベクトルＡにおける値は０から１の範囲にスケーリングされる（ステップ９０２）。ステップ９０２は、それが考慮中のピクセルの位置を特定する２つの新しい値を入力ベクトルへ付加することにより修正される点を除いて、ステップ８０２と類似している。これらの値は以下の如くに計算される。
【００９９】
Ｓｘ＝ｘ／ＭａｘＸ
Ｓｙ＝ｙ／ＭａｘＹ
尚、Ｓｘ及びＳｙは２つの新たな位置成分であり且つＭａｘＸは画像内の任意のピクセルの最大ｘ座標であり且つＭａｘＹは入力画像内の任意のピクセルの最大ｙ座標である。この計算はピクセル座標を０から１の範囲へスケーリングさせる。その後のステップに対して、Ｓｘ及びＳｙが入力ベクトルの終わりに付加されることが重要である。
【０１００】
超球面マッピング変換を入力ベクトルＡに対して適用する（ステップ９０４）。ステップ９０４は、以下の点を除いてステップ８０４に類似している。入力ベクトルＡを２つのベクトルへ分解する、即ち、ｓ2個の色値からなるＢで示されるもの及び２個の位置の値からなるＣで示される２番目のものである。次いで、上述した超球面マッピング変換をＢ及びＣの各々へ適用し、夫々に別々に長さｓ2＋１及び３の新たなベクトルを発生する。
【０１０１】
各隠れノードに対する出力値を計算する（ステップ９０６）。ステップ９０６は、入力がＡベクトルからではなくＢベクトルから来る点を除いて、ステップ８０６と類似している。その出力値は以下の如くに定義される。
【０１０２】
【数４】
2005129065.tif 000006
【０１０３】
ゲーティングノードの出力を計算する（ステップ９０８）。ゲーティングノードは、内部Ｗパラメータが長さ３のものである点を除いて、隠れノードに類似している。ｋ番目の隠れノードの内部パラメータと区別するために、ゲーティングノードにおけるＷ及びｂに対してｋ＋Ｈの添え字を使用する。更に、ゲーティングノードはＣベクトルから入力を取る。ｋ番目のゲーティングノードの出力をＳ（ｋ）と呼ぶ。ゲーティングノードの出力に対する計算は以下の如くである。
【０１０４】
【数５】
2005129065.tif 000007
【０１０５】
乗算ノードの出力を計算する（ステップ９１０）。各隠れノード／ゲーティングノードの対に対して１個の乗算ノードが存在している。ｋ番目の乗算ノードの出力をＴ（ｋ）として示すと、
Ｔ（ｋ）＝Ｑ（ｋ）・Ｓ（ｋ）
である。
【０１０６】
出力ノードの出力を計算する（ステップ９１２）。ステップ９１２はステップ８０８に類似している。唯一の差は、その出力ノードが乗算ノードから入力を取ることである。
【０１０７】
【数６】
2005129065.tif 000008
【０１０８】
本発明の方法ステップは、入力データを操作し且つ出力を発生することにより本発明の機能を実施するコンピュータプログラムを実行する１つ又はそれ以上のプログラム可能なプロセッサにより実施することが可能である。方法ステップは、又、特別目的論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＡＳＩＣ（応用特定集積回路）、又はグラフィックス処理ユニットにより実施することが可能であり、且つ本発明装置はそれらのものと実現することが可能である。
【０１０９】
コンピュータプログラムの実行にとって適切なプロセッサは例示として、汎用及び特別目的マイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの１つ又はそれ以上のプロセッサを包含する。通常、プロセッサはリードオンリメモリ又はランダムアクセスメモリ又は両方から命令及びデータを受取る。コンピュータの基本的な要素は、命令を実行するためのプロセッサと、命令及びデータを格納するための１個又はそれ以上のメモリ装置である。通常、コンピュータは、又、例えば磁気的、磁気光学的ディスク、又は光学的ディスク等のデータを格納するための１個又はそれ以上の大量記録装置を包含しているか、またはそれからデータを受取るため又はそれへデータを転送するため、又はその両方のために動作結合される。コンピュータプログラム命令及びデータを実現するのに適した情報担体は、例示として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ装置等の半導体メモリ装置、例えば内部ハードディスク又は着脱自在ディスク等の磁気ディスク、磁気光学的ディスク、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを包含する全ての形態の非揮発性記録装置を包含する。プロセッサ及びメモリは特別目的論理回路により補充されるか又はその中に組込むことが可能である。
【０１１０】
ユーザとの相互作用を与えるために、本発明は、ユーザに対する情報を表示するための例えばＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスクプレイ）モニタ等のディスプレイ装置、及びそれによりユーザがコンピュータへ入力を供給することが可能なキーボード及び例えばマウス又はトラックボール等のポインティング装置を具備するコンピュータ上で実現することが可能である。その種類の装置をユーザとの相互作用を与えるために使用することも可能であり、例えば、ユーザへ与えられるフィードバックは例えば視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバックの任意の形態とすることが可能であり、且つユーザからの入力は音響的、会話的、又は触覚的入力を包含する任意の形態で受取ることが可能である。
【０１１１】
本発明は、例えばデータサーバーとしてバックエンドコンポーネントを包含するか、又は例えばアプリケーションサーバー等のミドルウエアコンポーネントを包含するか、又は例えばグラフィカルユーザインターフェースを具備するクライエントコンピュータ又はそれを介してユーザが本発明の実現例と相互作用することが可能なウエブブラウザ等のフロントエンドコンポーネントを包含するか、又はこのようなバックエンド、ミドルウエア、フロントエンドコンポーネントの任意の組合わせを包含する計算システムにおいて実現することが可能である。本システムのコンポーネントは、例えば通信ネットワーク等のデジタルデータ通信の任意の形態又は媒体により相互接続することが可能である。通信ネットワークの例としては、ローカルエリアネットワーク（ＬＡＮ）及びインターネット等のワイドエリアネットワーク（ＷＡＮ）等がある。
【０１１２】
該計算システムはクライエントとサーバーとを包含することが可能である。クライエント及びサーバーは、通常、互いに離れており且つ典型的に通信ネットワークを介して相互作用を行う。クライエント及びサーバーの関係は夫々のコンピュータ上で稼動するコンピュータプログラム及び互いにクライエント・サーバー関係を有することにより表われる。
【０１１３】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【０１１４】
【図１】デジタル画像の２つの領域の間の境界を探知する方法１００を示したフローチャート。
【図２】デジタル画像からオブジェクトを抽出する方法２００を示したフローチャート。
【図３】ニューラルネットワーク型の学習マシンの実現例を示した概略図。
【図４】ニューラルネットワークをトレーニングするための方法４００を示したフローチャート。
【図５】後方伝播プロセス５００を示したフローチャート。
【図６】浄化用の方法６００を示したフローチャート。
【図７Ａ】本発明のオブジェクト抽出プロセスの１例を示した概略図。
【図７Ｂ】本発明のオブジェクト抽出プロセスの１例を示した概略図。
【図７Ｃ】本発明のオブジェクト抽出プロセスの１例を示した概略図。
【図７Ｄ】本発明のオブジェクト抽出プロセスの１例を示した概略図。
【図７Ｅ】本発明のオブジェクト抽出プロセスの１例を示した概略図。
【図８】ニューラルネットワーク計算プロセス８００を示したフローチャート。
【図９】別のニューラルネットワーク計算プロセス９００を示したフローチャート。
【符号の説明】
【０１１５】
３０１−３２９  入力ノード
３３０  ゲーティングノード
３３１  隠れノード
３５８  乗算ノード
【図１】
2005129065.tif 000009
【図２】
2005129065.tif 000010
【図３】
2005129065.tif 000011
【図４】
2005129065.tif 000012
【図５】
2005129065.tif 000013
【図６】
2005129065.tif 000014
【図８】
2005129065.tif 000015
【図９】
2005129065.tif 000016
【図７Ａ】
2005129065.tif 000017
【図７Ｂ】
2005129065.tif 000018
【図７Ｃ】
2005129065.tif 000019
【図７Ｄ】
2005129065.tif 000020
【図７Ｅ】
2005129065.tif 000021