(57)【特許請求の範囲】
【請求項１】
セマンティック・インスタンス・セグメンテーションに使用される、ニューラルネットワークを反復して訓練する方法であって、
反復ごとに、前記ニューラルネットワークは、テンプレート画像の各ピクセルに対してベクトル（１０、２０、３０）を出力し、
前記テンプレート画像は、定義済みの要素を含み、それぞれが前記テンプレート画像のピクセルと対応するベクトルに関連付けられ、
要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心（１１、１２、１３）の間の距離が計算され、各要素の前記ベクトルのすべての前記中心の間の距離が計算される損失関数（Ｌ）を使用して実行され、
前記損失関数は、少なくとも、
−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および、
−各要素のベクトルのすべての中心の間の距離が増加する場合、
目標値に達するまで減少する
ことを特徴とする方法。
【請求項２】
少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が、あらかじめ定義された第１の距離しきい値（δｖ）以下となるまで、減少するとき、前記損失関数は、前記目標値に達するまで減少する、請求項１に記載の方法。
【請求項３】
前記損失関数は、少なくとも、各要素の前記ベクトルのすべての中心間の距離が、第２の事前定義された距離しきい値（δｄ）以上となるまで、増加したとき、前記目標値に達するまで減少する、請求項１または２に記載の方法。
【請求項４】
前記損失関数は、
【数１】
0006989688.tif 000008
である、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記損失関数は、各要素のベクトルの各中心間と前記ベクトルの空間の原点との距離が減少するとき、少なくとも前記目標値に達するまで減少するように、さらに定義される、請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
前記損失関数は、追加の項、
【数２】
0006989688.tif 000009
を含む、請求項４および５の組み合わせによる方法。
【請求項７】
画像の各ピクセルの座標が、前記ニューラルネットワークに入力され、このピクセルの座標は前記ニューラルネットワークに入力される、請求項１ないし６のいずれか１項に記載の方法。
【請求項８】
画像に対して、請求項１ないし７のいずれか１項に記載の方法を使用して訓練された前記ニューラルネットワークを使用するステップを含む、セマンティック・インスタンス・セグメンテーションの方法。
【請求項９】
平均シフトアルゴリズムまたはｋ平均アルゴリズムが、前記ニューラルネットワークによって出力された前記ベクトルに適用される、後処理ステップをさらに含む、請求項７に記載の方法。
【請求項１０】
セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークを反復して訓練するためのシステムであって、
反復ごとに、前記ニューラルネットワーク（ＮＮ）は、テンプレート画像（ＴＩＭＧ）の各ピクセルのベクトルを出力するように構成され、
該テンプレート画像は、それぞれがテンプレート画像のピクセルと対応するベクトルに関連付けられた定義済みの要素を備え、
前記システムが、要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心の間の距離が計算され、各要素の前記ベクトルのすべての前記中心の間の距離が計算される損失関数であって、
少なくとも、
−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および、
−各要素のベクトルのすべての中心の間の距離が増加する場合、
目標値に達するまで減少する前記損失関数を使用して、損失を算出するモジュール（ＰＲ１、ＩＮＳＴ１）を含む
ことを特徴とする、システム。
【請求項１１】
請求項１から７のいずれか１項に記載の方法を使用して訓練された前記ニューラルネットワークを含む画像セマンティック・インスタンス・セグメンテーションのためのシステム。
【請求項１２】
コンピュータプログラムがコンピュータによって実行されるとき、請求項１から９のいずれか１項に記載の方法のステップを実行するための命令指示を含むコンピュータプログラム。
【請求項１３】
請求項１から９のいずれか１項に記載の方法のステップを実行するための命令を含むコンピュータプログラムを記録している、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セマンティック・インスタンス・セグメンテーションの分野に関する。より正確には、セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークの訓練に関する。
【背景技術】
【０００２】
セマンティック・インスタンス・セグメンテーションは、たとえば、カメラで取得した画像内のオブジェクトの種類を決定する方法であり、同じタイプのオブジェクトを区別することができる。
【０００３】
従来技術では、インスタンス・セグメンテーション・メソッドとセマンティック・セグメンテーション・メソッドの両方が提案されており、これらの方法はしばしばニューラルネットワークまたはディープニューラルネットワークを使用する。画像にさまざまなタイプがあるオブジェクトを区別するために、セマンティックセグメンテーション・メソッドが使用されている。セマンティックセグメンテーション・メソッドは、同じタイプの２つのオブジェクトを区別できない。例えば、分析対象の画像が、２つの重複する車と２つの重複する歩行者で構成される場合、セマンティックセグメンテーション・メソッドは、車に対応する画像内の領域と歩行者に対応する画像内の領域とを検出する。セマンティックセグメンテーションのさまざまな方法が提案されており、通常、（深い）畳み込みネットワークを使用する。
【０００４】
インスタンス・セグメンテーション・メソッドは、タイプに関係なく個別のオブジェクトの識別のみを目的としている。インスタンス・セグメンテーション・メソッドを使用して、上記の画像を分析する場合検出されるものは、４つの別個のオブジェクトである。これを達成するためにさまざまな方法が提案されているが、最も注目すべきなのは、（深い）畳み込みネットワークを使用する方法である。いくつかの特定の方法は、特定のネットワークアーキテクチャを必要とするか、あるいは、オブジェクトの提案に依存している。例えば、一部のメソッドは、オブジェクトの提案（またはバウンディングボックスの生成）の後に、個別のセグメンテーションおよび／または分類ステップが続く、多段（またはカスケード）パイプラインを使用する。これらの方法は、速度（多段計算のため）、および、セグメンテーション品質（特に閉塞に直面した場合）の点で満足されていない。
【０００５】
上記から、インスタンス・セグメンテーション・メソッドおよび、セマンティックセグメンテーション・メソッドは、実際に画像に表示されるものについて、完全な答えを提供していない。したがって、セマンティック・インスタンス・セグメンテーション・メソッドが必要である。上記の画像のセマンティック・インスタンス・セグメンテーション・メソッドの望ましい出力は、各車と各歩行者を異なる色で強調するマスクにし、および、たとえば、車１、車２、歩行者１、歩行者２を示すラベル付けすることができる。
【０００６】
さまざまなアプローチが提案されているが、最も注目すべきなのは、いくつかのアプローチが、画像をクラスタ化された表現に変換するために、ニューラルネットワークの訓練を提案していることである。また、点の各クラスタは、画像内の（要素と呼ばれることもある）インスタンスに対応する。このクラスタ化された表現は、さまざまな要素を強調する画像の表現を取得するために、その後、処理することができる。
【０００７】
ニューラルネットワークの訓練は、それぞれの要素がすでに特定されているテンプレート画像および損失関数を使用して実行できる反復作業であることに留意する。
【０００８】
損失関数は、通常、この出力が有効か否か、つまり、この出力が各要素とそのタイプの適切な検出につながるか否かを決定するために、ニューラルネットワークの出力において実行された計算で構成される。損失関数は、一般に、ニューラルネットワークの出力が、予想される出力からどれだけ離れているかを表すスコアである。
【０００９】
セマンティック・インスタンス・セグメンテーション・メソッドの損失関数を定義することは、非常に重要であり、既知の損失関数は満足のいくものではない。
【００１０】
文献Ｆａｔｈｉ他「Ｓｅｍａｎｔｉｃ  Ｉｎｓｔａｎｃｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｖｉａ  Ｄｅｅｐ  Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ」（以下「ファティ（Ｆａｔｈｉ）」と呼ぶ、ａｒＸｉｖプレプリントサーバーからダウンロード可能、ＵＲＬ  ｈｔｔｐｓ：／／ａｒｘｉｖ．ｏｒｇ／ｐｄｆ／１７０３．１０２７７．ｐｄｆ）は、セマンティック・インスタンス・セグメンテーションの既知の方法を開示している。
【００１１】
この文献のメソッドは、同じインスタンスオブジェクトに対応するピクセルがニューラルネットワークの出力（通常、画像内の各ピクセルに対して、ニューラルネットワークはベクトルを出力する）の空間に近いことを保証する損失関数を使用する。この損失関数は、また、異なるオブジェクトに対応するピクセルは、ネットワークの出力表現において、互いに遠く離れたままであることを保証する。したがって、この文献の損失関数は、ニューラルネットワークの出力において、同じオブジェクトのピクセルのベクトルが近い場合および異なるオブジェクトのピクセルのベクトルが遠い場合は、より低い値を有し、それ以外の場合は、より低い値を有する。
【００１２】
次に、ニューラルネットワークは、次の反復で損失関数のより低いスコアを取得するために、損失関数の結果を考慮して変更される。
【００１３】
この文献の損失関数は不十分である。より正確には、この文献の損失関数は、画像内の各オブジェクトに対して、限られた数のベクトルのランダムな選択に依存し、膨大な計算を必要とする。
【００１４】
限られた数のベクトルの選択も、すべてのピクセルが上記の条件を確認するわけではないが、ゼロに等しくすることができる損失関数につながる。これにより、訓練の収束が遅くなる。
【００１５】
本発明の主な目的は、現在利用可能なシステムと方法の欠点を克服する方法およびシステムを提供することである。
【発明の概要】
【００１６】
本発明は、セマンティック・インスタンス・セグメンテーションに使用されるためのニューラルネットワークを反復して訓練する方法を提案することにより、先行技術の１つ以上の欠陥を克服する。ここで、反復ごとに、ニューラルネットワークは、テンプレート画像の各ピクセルのベクトルを出力し、ここでテンプレート画像は、それぞれがテンプレート画像のピクセルと対応するベクトルに関連付けられている定義済みの要素で構成される。
【００１７】
ニューラルネットワークの訓練は、損失関数を使用して実行される。ここで、要素に属する各ベクトルに対して、該ベクトルとこの要素のベクトルの中心の間の距離が計算され、各要素のベクトルのすべての中心間の距離が、計算され、少なくとも、−  要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少する、および、−  各要素のベクトルのすべての中心間距離が増加する場合、目標値（たとえばゼロ）に達するまで損失関数が減少する。
【００１８】
目標値は、損失関数に対して、取得することが望ましい値である。損失が目標値に達するか下回るとき、訓練が完了したと考えることができる。オプションとして目標値を事前に設定できる。いくつかの反復において、または、実際の画像で使用される場合、目標値に到達しない可能性がある。要素は、テンプレート画像に表示されるオブジェクトであり得る。テンプレート画像では、同じタイプまたは異なるタイプの複数の要素が存在する。テンプレート画像の各ピクセルには、要素との既知の関連付けがある。
【００１９】
ニューラルネットワークによって出力されたベクトルの空間において、
−  要素のベクトルはすべて、ベクトルのクラスタ内で近接したままになる、
−  異なる要素に関連付けられたベクトルのクラスタは、間隔をあけて配置する必要がある、
場合に、適切なセマンティック・インスタンス・セグメンテーションが取得されることが観察されている。
【００２０】
好適には、このニューラルネットワークは、すでに、セマンティックセグメンテーションを実行できるニューラルネットワークであり、インスタンス・セグメンテーションも実行するようにネットワークを訓練するために、上記の損失関数が定義されている。本発明は、ニューラルネットワークのアーキテクチャを変更する必要なしに、セマンティックセグメンテーション用に訓練された可能性がある既に利用可能な任意のニューラルネットワークに有利に適用される。
【００２１】
本発明の発明者は、すでにセマンティックセグメンテーション用に訓練されたニューラルネットワークを使用することを観察し、セマンティック・インスタンス・セグメンテーションのより良い結果を取得することを可能にした。上記の損失関数により、この結果を取得可能にする。
【００２２】
さらに、ファティの上記の文献の損失関数に反して、本発明の損失関数が、すべてのベクトルを考慮に入れるために定義されている（各ベクトル間の距離および対応する中心が計算され、すべての中心間の距離で計算される）。
【００２３】
要素のベクトルの中心を使用すると、計算要件を制限しながら、すべてのベクトルを考慮することができる。実際、要素のすべてのベクトルが対応する中心に近い場合、この要素のベクトルはすべて近くにある。
【００２４】
また、すべての異なる中心が互いに遠く離れている場合、要素のベクトルは、別の要素のベクトルから遠く離れている。
【００２５】
例として、テンプレート画像の同じ要素に属するすべてのベクトルの平均ベクトルとして、要素のベクトルの中心を決定できる。
【００２６】
損失関数はすべてのベクトルを計算上効率的な方法で処理するため、目標値に迅速に到達する損失を取得することが可能であり、実際には、すべてのベクトルが期待される要件を満たしていることを意味する。訓練の高速収束が得られる。
【００２７】
特定の実施形態によれば、損失関数は、目標値に達するまで減少する。少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離は、この距離が第１の事前定義された距離のしきい値以下になるまで減少する。
【００２８】
したがって、訓練が終了または収束したとき（つまり、損失関数が目標値に達したとき）、要素のすべてのベクトルは、この要素のベクトルの中心を中心とする超球面内にあり、この超球は、第１の事前定義された距離のしきい値に等しい半径を持つ。
【００２９】
特定の実施形態によれば、損失関数は、各要素のベクトルのすべての中心間の距離が増加したとき、各距離が事前に定義された第２の距離しきい値以上になるまで、少なくとも目標値に達するまで減少する。
【００３０】
したがって、訓練が終了または収束するとき（つまり、損失関数が目標値に達したとき）、要素のすべてのベクトルは、少なくとも第２の事前定義された距離しきい値により、別の要素のベクトルから間隔を空けることができる。
【００３１】
第１と第２の事前定義された距離のしきい値が使用される場合、要素からのすべてのベクトルは超球面内にあり、これは、他の要素の他の超球から間隔を空けている。
【００３２】
この結果は、ファティの文献に開示されている損失関数を使用して取得することはできないことに留意する。
【００３３】
特定の実施形態によれば、損失関数は、次のとおりである。
【数１】
0006989688.tif 000002
【００３４】
この損失関数は効率的に計算できる。
【００３５】
特定の実施形態によれば、損失関数は、各要素のベクトルの各中心とベクトルの空間の原点との間の距離が減少するとき、少なくとも目標値に達するまでさらに減少するように定義される。
【００３６】
これにより、ベクトルの空間の原点からベクトルが離れすぎないようにする。この機能は、数学的エラー（たとえば、当業者に知られている無限大誤差）の発生を防ぐ。
【００３７】
特定の実施形態によれば、損失関数は追加の用語で構成され、次のとおりである。
【数２】
0006989688.tif 000003
【００３８】
したがって、Ｌｒｅｇは、ベクトルの空間の原点に向かってベクトルを引く用語である。損失関数ではあまり重要ではないので、γは、αまたはβより、好適には非常に少ないことに留意する。たとえば、αまたはβは、１に等しい値を持つことができ、γは、０．０００１にすることができる。
【００３９】
特定の実施形態、ニューラルネットワークに入力された画像の各ピクセルの座標によれば、このピクセルの座標はニューラルネットワークに入力される。
【００４０】
発明者によって観察された要素は、特定の方法で配置された同様の外観を持つ（たとえば、右上隅の要素そして左下隅の同様の要素）２つの別個のインスタンスまたは要素と見なされない場合がある。テンプレート画像のピクセルの座標をニューラルネットワークに入力することにより、ニューラルネットワークは、２つの要素を区別するのに十分な情報を受け取る。
【００４１】
本発明はまた、上記で定義した方法を使用して訓練されたニューラルネットワークを使用してセマンティック・インスタンス・セグメンテーションのための方法を提供する。
【００４２】
特定の実施形態によれば、この方法は、後処理ステップをさらに含み、その中で、平均シフトアルゴリズムまたはｋ平均アルゴリズムが、ニューラルネットワークによって出力されたベクトルに適用される。
【００４３】
訓練されたネットワークの出力では、ベクトルは、別個の超球に配置される可能性が高く、これにより、平均シフトアルゴリズムまたはｋ平均アルゴリズムの実装が容易になる。これらのアルゴリズムは、オブジェクトに属するピクセルの識別を容易にする。
【００４４】
本発明はまた、セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークを反復して訓練するためのシステムを提供する。ここで、反復ごとに、ニューラルネットワークは、テンプレート画像の各ピクセルのベクトルを出力するように構成され、テンプレート画像は定義済みの要素で構成され、それぞれがテンプレート画像のピクセルおよび対応するベクトルに関連付けられている。
【００４５】
システムは、反復ごとに損失関数を使用して、損失を計算するためのモジュールを備えている。この損失関数は、少なくとも、−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および−各要素のベクトルのすべての中心間の距離が増加するときに、目標値に達するまで減少するように定義される。
【００４６】
このシステムは、上記で定義したニューラルネットワークの訓練の方法のすべての実施形態を実行するように構成することができる。
【００４７】
本発明はまた、上記で定義したネットワークの訓練方法を使用して訓練されたニューラルネットワークを含む画像セマンティック・インスタンス・セグメンテーションのためのシステムを提供する。
【００４８】
特定の一実施形態では、ニューラルネットワークを訓練する方法のステップおよび／またはセマンティック・インスタンス・セグメンテーションのためのメソッドのステップは、コンピュータプログラムの命令によって決定される。
【００４９】
その結果、本発明はまた、上記のように、このプログラムがコンピュータによって実行されるとき、方法のステップを実行するためのコンピュータプログラムに関する。
【００５０】
このプログラムは任意のプログラミング言語を使用でき、ソースコード、オブジェクトコード、または、部分的にコンパイルされたフォーム、またはその他の望ましいフォームなど、ソースコードとオブジェクトコードの間のコード中間体の形式をとることができる。
【００５１】
本発明はまた、上記のコンピュータプログラムの命令を含むコンピュータ読み取り可能な情報媒体に関する。
【００５２】
この情報媒体は、プログラムを保存できる任意のエンティティまたはデバイスでありことができる。例えば、この媒体には、たとえば、ＲＯＭ、ＣＤ  ＲＯＭまたは超小型電子回路ＲＯＭまたは、磁気記憶手段、たとえば、ディスケット（フロッピー（登録商標）ディスク）またはハードディスクなどストレージ手段を含めることができる。
【００５３】
または、情報媒体は、プログラムが組み込まれている集積回路であり得る。この回路は、問題のメソッドを実行したり、そのメソッドの実行に使用したりする。
【図面の簡単な説明】
【００５４】
本発明の実施方法を、例として、添付の図面を参照して、これから説明する。
【図１】図１は、ニューラルネットワークを訓練するための例示的な方法のブロック図である。
【図２】図２は、例示的なセマンティック・インスタンスセグメント化方法のブロック図である。
【図３】図３は、ニューラルネットワークを訓練するためのシステムおよびセマンティック・インスタンス・セグメンテーションのためのシステムの概略図である。
【図４】図４は、ニューラルネットワークによって出力されたベクトルの表現である。
【図５】図５は、ニューラルネットワークの訓練を示している。
【図６】図６は、ピクセルの座標をニューラルネットワークに入力する効果を示している。
【発明を実施するための形態】
【００５５】
ニューラルネットワークを反復して訓練する方法を図１に示す。
【００５６】
この訓練は、さまざまな要素、たとえば、重複する場合もしない場合もある（たとえば、２台の車が重なっている）同じタイプの要素を含むテンプレート画像１を使用して実行される。
【００５７】
テンプレート画像の各要素の位置は事前にわかっているが、このテンプレート画像の各ピクセルには、要素（たとえば、１号車、２号車、背景など）との特定の関連付けがある。
【００５８】
第１のステップＥ０１において、訓練されるニューラルネットワークは、テンプレート画像を複数のベクトルに変換し、各ベクトルは、テンプレート画像のピクセルに対応する。この複数のベクトルは、当業者にテンソルと呼ばれることがある。そしてこのテンソルはテンプレート画像と同じ高さと幅を持ち、ただし、異なる深さはベクトルの長さに等しくなる。
【００５９】
ベクトルの長さを、訓練するニューラルネットワークに応じて、または、アプリケーションに応じて選択できる。すべてのベクトルは同じ長さで、すべて同じベクトル空間に属する。
【００６０】
ニューラルネットワークによって出力されるベクトルは、当業者によってピクセル埋め込みと呼ばれることに留意する。
【００６１】
好適には、このニューラルネットワークは、最初、訓練の前に、すでにセマンティックセグメンテーションを実行できるニューラルネットワークである。当業者は、どのニューラルネットワークがセマンティックセグメンテーションを既に実行できるかを知っているであろう。
【００６２】
例として、このニューラルネットワークは、「Ｓｅｇｎｅｔ」という名前で当業者に知られ、文献「画像のセグメンテーションのための深い畳み込みエンコーダ−デコーダ・アーキテクチャ（Ａ  ｄｅｅｐ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｅｎｃｏｄｅｒ−ｄｅｃｏｄｅｒ  ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ｉｍａｇｅ  ｓｅｇｍｅｎｔａｔｉｏｎ）」（Ｖ．  Ｂａｄｒｉｎａｒａｙａｎａｎ  ｅｔ  ａｌ．，  ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：  Ｃｌａｉｍ  １５１１．００５６１，  ２０１５．  ２）  、または、文献「セマンティックセグメンテーションのための完全な畳み込みネットワーク（Ｆｕｌｌｙ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｓｅｍａｎｔｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ）」（Ｊ．  Ｌｏｎｇ  ｅｔ  ａｌ．，  ＣＶＰＲ，  ２０１５）に記載されているニューラルネットワークに記載されているニューラルネットワークであり得る。
【００６３】
ニューラルネットワークは、図１の２で参照されるベクトルを出力する。
【００６４】
次に、これらのベクトルを使用して、ステップＥ０２で損失を計算する。その損失は、スカラー値を提供する損失関数を使用して計算され、これは正またはゼロであり、損失とも呼ばれる。
【００６５】
より正確に、損失関数では、要素に属する各ベクトルに対して、該ベクトルとこの要素のベクトルの中心との間の距離が計算され、各要素のベクトルのすべての中心間の距離が、計算される。
【００６６】
これらの計算は、（２つの連続した反復の間）目標値に達するまで減少する損失関数を定義するために使用される。この目標値は、現在の例では、少なくとも、−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、そして−各要素のベクトルのすべての中心間の距離が増加する場合、ゼロである。
【００６７】
例えば、損失関数Ｌは、２つの項の線形結合になる。
【数３】
0006989688.tif 000004
αおよびβは、検証セットで実行される評価によって、グリッド検索またはハイパーパラメーター検索によって選択できる。これは、αおよびβに対して最適な値を選択するために構造化された方法で異なる設定を試すことで実行できる。
【００６８】
これらの値は両方とも１に設定できることに留意する。
【００６９】
たとえば、少なくとも、要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が第１の事前定義された距離のしきい値以下になるまで減少するとき、損失関数はゼロに達するまで減少する。
【００７０】
したがって、この例は、次のように記述された用語Ｌｖａｒを使用して実装できまる。
【数４】
0006989688.tif 000005
【００７１】
その距離を、Ｌ１またはＬ２の距離にできることは、当業者には周知であることに留意する。
【００７２】
また、例えば、損失関数は、少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が第１の事前定義された距離のしきい値以下になるまで減少するとき、ゼロに達するまで減少する。
【００７３】
したがって、この例は、Ｌｄｉｓｔという用語を使用して実装できる。
【数５】
0006989688.tif 000006
【００７４】
上で定義した２つの用語ＬｄｉｓｔとＬｖａｒは、損失がゼロに等しいとき、オブジェクトに関連付けられたすべてのベクトルがδｖに等しい超球内部に配置され、そしてすべての超球体の中心は、少なくとも２δｄ離れていることを保証するように定義されている。
【００７５】
好適には、好ましくは、δｄは２δｖより大きい。
【００７６】
例として、損失関数をさらに、ゼロに達するまで減少するように定義できることに留意する。少なくとも、各要素のベクトルの各中心およびベクトルの空間のオリジンとの間の距離が減少する。
【００７７】
この例では、損失関数は追加の用語Ｌｒｅｇで構成され、次のとおりである。
【数６】
0006989688.tif 000007
【００７８】
損失関数ではあまり重要ではないので、γは、αまたはβより、好適には非常に少ないことに留意する。例えば、αまたはβは、１に等しい値を持つことができ、γは、０．０００１にすることができる。
【００７９】
たとえば、上記で定義された関数を使用して、ステップＥ０２の損失を計算することが可能である。この損失がゼロに等しい場合、ニューラルネットワークが訓練されたと見なされる。代替的に、損失が事前定義されたしきい値を下回る場合、ニューラルネットワークは訓練されていると考えることができる。
【００８０】
損失がゼロを超える（または事前定義されたしきい値を超える）場合、訓練は完了しない。
【００８１】
その後、ステップＥ０３が実行され、このステップでは、ステップＥ０２で計算された損失を使用して、パラメータまたは重みまたはニューラルネットワークが調整される。
【００８２】
たとえば、確率的勾配降下として当業者に知られている方法を使用してステップＥ０３を実行できる（ステップＥ０３）。
【００８３】
次に、調整されたニューラルネットワークで、少なくともステップＥ０１およびＥ０２を実行することで構成される次の反復が実行される（ステップＥ０４）。
【００８４】
複数の異なるテンプレート画像の上でニューラルネットワークの訓練を実行できることに留意する。
【００８５】
図１に開示されている方法を使用してニューラルネットワークが訓練されると、図２に示すように、セマンティック・インスタンス・セグメンテーションに使用できる。
【００８６】
図２の方法は、３で参照される画像、たとえば、カメラによって取得された画像で実行される。この画像には、たとえば、２つの部分的に重複する車と２つの部分的に重複する歩行者が含まれる。
【００８７】
ステップＥ１１において、画像３は、セマンティック・インスタンス・セグメンテーションを実行するために、訓練されたニューラルネットワークに入力される。
【００８８】
ベクトル４は、訓練されたニューラルネットワークの出力として取得される。
【００８９】
画像のさまざまな要素がセグメント化およびラベル付けされている（例えば第１の色の車のナンバーワン、２号車の２号車、第３の色の歩行者、および４番目の色の歩行者２）表現の下で画像３を表現するために、後処理ステップＥ１２が実行される。
【００９０】
ニューラルネットワークが訓練されているため、上記で定義した損失関数を使用して、これらのベクトルは、別々の超球に近接している。ほとんどの場合、実際の画像（テンプレート画像ではない）で使用するとき、通常、損失はゼロをわずかに上回ることに留意する。
【００９１】
後処理を容易にするために、クラスタ内で、同じオブジェクトに属している必要があるピクセルをグループ化するために、平均シフトアルゴリズムのＫ平均がベクトルで使用される、サブステップＥ１２０が実行される。これにより、メソッドの堅牢性が向上する。
【００９２】
ベクトル（またはピクセル）が個別のクラスタにグループ化されると、その後、クラスタごとに異なる色の画像を出力することが可能であり、後処理は終了する。これは、上記の中心の周囲を、δｄにすることができる半径で、しきい値処理することで実行できる。
【００９３】
セマンティック・インスタンス・セグメンテーションを含む最終画像５が出力される。
【００９４】
図１および図２を参照して説明した方法のステップは、コンピュータの命令により決定できる。これらの命令は、図３に示すように、コンピュータのプロセッサで実行できる。
【００９５】
この図では、ニューラルネットワークＳ１を訓練するシステムが示されている。システムＳ１は、コンピュータであり得るが、プロセッサＰＲ１および不揮発性メモリＭＥＭ１を含む。
【００９６】
不揮発性メモリＭＥＭ１では、命令ＩＮＳＴ１のセットが保存される。ＩＮＳＴ１の命令セットは、セマンティック・インスタンス・セグメンテーションを実行するためにニューラルネットワークを訓練する方法を実行する命令を備える。たとえば、図１を参照して説明した方法である。
【００９７】
不揮発性メモリＭＥＭ１は、ニューラルネットワークＮＮ、および、少なくとも１つのテンプレート画像ＴＩＭＧをさらに含む。
【００９８】
訓練されたら、ニューラルネットワークＮＮは、セマンティック・インスタンス・セグメンテーションを実行するように構成されている別のシステムＳ２で使用できる。
【００９９】
例として、ニューラルネットワークＮＮは、インターネットなどの通信ネットワークＩＮＴを使用して、システムＳ２に通信できる。
【０１００】
システムＳ２は、プロセッサＰＲ２と不揮発性メモリＭＥＭ２を含む。不揮発性メモリには、命令ＩＮＳＴ２のセットが不揮発性メモリＭＥＭ２に保存されているイメージＩＭＧを使用して、セマンティック・インスタンス・セグメンテーションを実行するために格納されている。そして訓練されたニューラルネットワークＴＮＮもまた不揮発性メモリＭＥＭ２に保存される。
【０１０１】
図４は、ニューラルネットワークによって出力されたベクトルの概略図である。
【０１０２】
この例では、使用されたニューラルネットワークが完全に訓練されておらず、損失はゼロに等しくないか、事前定義されたしきい値を下回っていない。また、この例では、簡単にするために、ニューラルネットワークは、長さが２のベクトルを出力する。これにより、２次元表現を使用できる。
【０１０３】
ニューラルネットワークによって出力されるさまざまなベクトルは、それぞれがニューラルネットワークに入力されたテンプレート画像のピクセルに関連付けられたドット１０、２０、および３０として表される。テンプレート画像の各ピクセルは、テンプレート画像に表示される要素との特定の関連付けがある。したがって、同じことは、ニューラルネットワークによって出力されるベクトルにも当てはまる。
【０１０４】
図４において、参照されるベクトル１０はすべて、第１のオブジェクトに関連付けられており、参照されるベクトル２０はすべて、第２のオブジェクトに関連付けられており、参照されるベクトル３０はすべて、第３のオブジェクトに関連付けられている。ニューラルネットワークの訓練がまだ実行されている場合でも、ベクトル１０、２０、３０はすでに実質的に、それぞれ、参照するベクトルのクラスタＣ１、Ｃ２、およびＣ３を形成している。
【０１０５】
その後、クラスタＣ１、クラスタＣ２、クラスタＣ３のそれぞれの中心１１、１２、および１３を決定できる。
【０１０６】
これらの中心は、各ベクトル１０と中心１１との間の距離、各ベクトル２０と中心１２との間の距離、および、各ベクトル３０と中心１３との間の距離の計算に使用される。
【０１０７】
さらに、すべての中心１１、１２、１３の間の距離が計算される。
【０１０８】
（訓練の各反復後）中心１１までベクトル１０が近づくように、より正確には、ベクトル１０が、中心からの距離内にあるように、損失関数が定義されている。これは、あらかじめ定義された第１の距離しきい値δｖ未満である。ベクトル１０はすべて、半径δｖと図に表された中心１１とを持つ円の内側にあると予想される。
【０１０９】
同様に、ベクトル２０はすべて、半径δｖと図に表される中心１２とを持つ円の内側にあると予想され、ベクトル３０はすべて、半径δｖと図に表される中心１３とを持つ円の内側にあると予想される。
【０１１０】
ベクトルの中心への動きが、図の細い矢印を使用して表されている。
【０１１１】
損失関数はさらに、中心１１、１２、１３が、（訓練の各反復後）互いに遠く離れるように、より正確には、中心がそれぞれ、２δｄに等しい第２に事前定義された距離のしきい値で区切られるように定義される。
【０１１２】
半径δｄおよび中心１１、１２、１３の円は、図にも表されている。クラスタを互いに離すために実行されたベクトルの動きは、図の太い矢印を使用して表される。
【０１１３】
図５は、さまざまな表現によるニューラルネットワークの訓練を示している。
【０１１４】
テンプレート画像１００が図に表されており、この画像１００は、さまざまな葉とセグメント化される背景を持つ植物の写真である。
【０１１５】
テンプレート画像の各ピクセル１００は、特定の葉との特定の関連があり、テンプレート画像１００の下に示される最終的なセグメント化画像２００として、画像１００を表すことが可能である。当業者は、セグメント化された画像２００を「グランドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ）」と呼ぶ場合がある。
【０１１６】
図５の３００で参照される行は、左から右に連続した順序でのニューラルネットワークの訓練の７つの異なる段階でニューラルネットワークによって出力された（この例では、ネットワークの出力は２次元である）ベクトルの位置を表す。この訓練は、各訓練の反復後にニューラルネットワークを調整するために、確率的勾配降下法を使用して行われる。
【０１１７】
行３００で表される７つの異なるステージは、確率的勾配降下法を使用したニューラルネットワークへの、それぞれ、０、２、４、８、１６、３２、６４の調整に対応する。
【０１１８】
最後の段階で見られるように、ベクトルはすべて重複しない円に配置される。これらの円の半径は、図４を参照して説明したδｄと同じである。
【０１１９】
４００で示される行は、後処理ステップなしのニューラルネットワークの出力を表す。この行の画像は、２次元のベクターを配信し、各ベクトルの各コンポーネントをそれぞれ赤の値と緑の値として使用するニューラルネットワークの出力を取得することにより、取得される。ここで、青の値は、ゼロに設定されている（図はグレースケールである）。５００で参照される行は、半径がδｄに等しい状態でしきい値処理が実行される後処理ステップの結果を表す。
【０１２０】
図６は、ピクセルの座標をニューラルネットワークに入力した結果を示している。
【０１２１】
この図では、２つの同様の要素（正方形）が左上の位置と右下の位置に配置されている、３つの異なる入力画像が使用されている。２つの正方形の間隔は、３つの入力画像で異なる。
【０１２２】
これらの図の上において、位置認識の言葉は、ニューラルネットワークへの各ピクセルの座標の入力を指す。
【０１２３】
ニューラルネットワークの出力（ベクトルと対応する画像）は、次に、位置認識を使用する場合と使用しない場合の２つのケースについて表示する。
【０１２４】
位置認識なしでは、それぞれが左上隅および右下隅に近い場合、ニューラルネットワークは２つの正方形を区別するのが難しいことを見ることができる。
【０１２５】
しかしながら、画像のピクセルの座標をニューラルネットワークに入力することにより、ニューラルネットワークは常に２つの正方形を区別できまる。
【０１２６】
上記の実施形態により、セマンティック・インスタンス・セグメンテーションに使用でき、良好な結果が得られるニューラルネットワークを取得することが可能になる。
【０１２７】
損失関数はゼロの値に達する可能性があるために、訓練の終了時にはテンプレート画像に見られる間違いはほとんどない。これは、本当に、テンプレート画像の訓練が完了したことを示している。
【０１２８】
対称ベストダイス（Ｓｙｍｍｅｔｒｉｃ  Ｂｅｓｔ  Ｄｉｃｅ）など少なくとも当業者に知られているメトリックを使用して、８４．２のＳＢＤスコアを取得することが可能である（ＳＢＤについては、Ｈ．  Ｓｃｈａｒｒ  ｅｔ  ａｌ、Ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ  ２７（４）：５８５−６０６）、「植物の表現型解析における葉のセグメンテーション：対照研究（Ｌｅａｆ  ｓｅｇｍｅｎｔａｔｉｏｎ  ｉｎ  ｐｌａｎｔ  ｐｈｅｎｏｔｙｐｉｎｇ：  ａ  ｃｏｌｌａｔｉｏｎ  ｓｔｕｄｙ）」を参照）。
【０１２９】
したがって、上記の実施形態を使用して得られたニューラルネットワークは、良好な結果を提供する。
【図１】
0006989688.tif 000010
【図２】
0006989688.tif 000011
【図３】
0006989688.tif 000012
【図４】
0006989688.tif 000013
【図５】
0006989688.tif 000014
【図６】
0006989688.tif 000015