(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6989688
(24)【登録日】2021年12月6日
(45)【発行日】2022年1月5日
(54)【発明の名称】セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークを訓練するための方法およびシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20211220BHJP
G06T 7/10 20170101ALI20211220BHJP
G06N 3/08 20060101ALI20211220BHJP
【FI】
G06T7/00 350C
G06T7/10
G06N3/08
【請求項の数】13
【全頁数】19
(21)【出願番号】特願2020-502990(P2020-502990)
(86)(22)【出願日】2017年7月21日
(65)【公表番号】特表2020-527812(P2020-527812A)
(43)【公表日】2020年9月10日
(86)【国際出願番号】EP2017068550
(87)【国際公開番号】WO2019015785
(87)【国際公開日】20190124
【審査請求日】2020年3月23日
【新規性喪失の例外の表示】特許法第30条第2項適用 2017年5月19日 ウェブサイト(http://juxi.net/workshop/deep−learning−robotic−vision−cvpr−2017/papers/)で公開された、CVPR2017(Computer Vision and Pattern Recognition)の論文集にて公開。
【新規性喪失の例外の表示】特許法第30条第2項適用 2017年7月21日 ハワイ コンベンション センター(アメリカ合衆国 ハワイ州 ホノルル カラカウア アべニュ 1801)にて開催された、CVPR(Computer Vision and Pattern Recognition)2017のWorkshop、”Deep Learning for Robotic Vision”にて公開。
(73)【特許権者】
【識別番号】511312997
【氏名又は名称】トヨタ モーター ヨーロッパ
(73)【特許権者】
【識別番号】512278191
【氏名又は名称】カトリーケ ユニベルシテイト ルーベン
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100141162
【弁理士】
【氏名又は名称】森 啓
(72)【発明者】
【氏名】清水 宏明
(72)【発明者】
【氏名】デイビー ネベン
(72)【発明者】
【氏名】ベルト ドゥ ブラバンデレ
(72)【発明者】
【氏名】ルク ファン ホール
(72)【発明者】
【氏名】マルク プロースマンス
(72)【発明者】
【氏名】ニコ コルネリス
【審査官】
松浦 功
(56)【参考文献】
【文献】
特開2002−092611(JP,A)
【文献】
特開2007−087346(JP,A)
【文献】
特表2017−515189(JP,A)
【文献】
特表2018−535491(JP,A)
【文献】
FATHI, A. et al.,Semantic Instance Segmentation via Deep Metric Learning [online],2017年03月30日,インターネット,<URL: https://arxiv.org/pdf/1703.10277.pdf>,[検索日 2021.05.25]
【文献】
WANG, L. et al.,Unsupervised image segmentation based on multidimensional particle swarm optimization,6th International Conference on Wireless, Mobile and Multi-Media (ICWMMN 2015) [online],IEEE,2015年,インターネット,<URL: https://ieeexplore.ieee.org/document/7453902>,[検索日 2021.05.25]
【文献】
WEINBERGER, K.Q. et al.,Distance metric learning for large margin nearest neighbor classification (2006) [online],2006年,インターネット,<URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.5831>,[検索日 2021.05.25]
【文献】
新井康平 外1名,追跡アルゴリズムを考慮した強化学習・競合学習オンラインクラスタリングによる大規模画像の部位検索,画像電子学会誌,画像電子学会,2010年05月25日,第39巻,第3号,pp.301−309
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 − 7/90
G06T 1/00
G06N 3/08
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
セマンティック・インスタンス・セグメンテーションに使用される、ニューラルネットワークを反復して訓練する方法であって、
反復ごとに、前記ニューラルネットワークは、テンプレート画像の各ピクセルに対してベクトル(10、20、30)を出力し、
前記テンプレート画像は、定義済みの要素を含み、それぞれが前記テンプレート画像のピクセルと対応するベクトルに関連付けられ、
要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心(11、12、13)の間の距離が計算され、各要素の前記ベクトルのすべての前記中心の間の距離が計算される損失関数(L)を使用して実行され、
前記損失関数は、少なくとも、
−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および、
−各要素のベクトルのすべての中心の間の距離が増加する場合、
目標値に達するまで減少する
ことを特徴とする方法。
【請求項2】
少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が、あらかじめ定義された第1の距離しきい値(δv)以下となるまで、減少するとき、前記損失関数は、前記目標値に達するまで減少する、請求項1に記載の方法。
【請求項3】
前記損失関数は、少なくとも、各要素の前記ベクトルのすべての中心間の距離が、第2の事前定義された距離しきい値(δd)以上となるまで、増加したとき、前記目標値に達するまで減少する、請求項1または2に記載の方法。
【請求項4】
前記損失関数は、
【数1】
である、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記損失関数は、各要素のベクトルの各中心間と前記ベクトルの空間の原点との距離が減少するとき、少なくとも前記目標値に達するまで減少するように、さらに定義される、請求項1ないし4のいずれか1項に記載の方法。
【請求項6】
前記損失関数は、追加の項、
【数2】
を含む、請求項4および5の組み合わせによる方法。
【請求項7】
画像の各ピクセルの座標が、前記ニューラルネットワークに入力され、このピクセルの座標は前記ニューラルネットワークに入力される、請求項1ないし6のいずれか1項に記載の方法。
【請求項8】
画像に対して、請求項1ないし7のいずれか1項に記載の方法を使用して訓練された前記ニューラルネットワークを使用するステップを含む、セマンティック・インスタンス・セグメンテーションの方法。
【請求項9】
平均シフトアルゴリズムまたはk平均アルゴリズムが、前記ニューラルネットワークによって出力された前記ベクトルに適用される、後処理ステップをさらに含む、請求項7に記載の方法。
【請求項10】
セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークを反復して訓練するためのシステムであって、
反復ごとに、前記ニューラルネットワーク(NN)は、テンプレート画像(TIMG)の各ピクセルのベクトルを出力するように構成され、
該テンプレート画像は、それぞれがテンプレート画像のピクセルと対応するベクトルに関連付けられた定義済みの要素を備え、
前記システムが、要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心の間の距離が計算され、各要素の前記ベクトルのすべての前記中心の間の距離が計算される損失関数であって、
少なくとも、
−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および、
−各要素のベクトルのすべての中心の間の距離が増加する場合、
目標値に達するまで減少する前記損失関数を使用して、損失を算出するモジュール(PR1、INST1)を含む
ことを特徴とする、システム。
【請求項11】
請求項1から7のいずれか1項に記載の方法を使用して訓練された前記ニューラルネットワークを含む画像セマンティック・インスタンス・セグメンテーションのためのシステム。
【請求項12】
コンピュータプログラムがコンピュータによって実行されるとき、請求項1から9のいずれか1項に記載の方法のステップを実行するための命令指示を含むコンピュータプログラム。
【請求項13】
請求項1から9のいずれか1項に記載の方法のステップを実行するための命令を含むコンピュータプログラムを記録している、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セマンティック・インスタンス・セグメンテーションの分野に関する。より正確には、セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークの訓練に関する。
【背景技術】
【0002】
セマンティック・インスタンス・セグメンテーションは、たとえば、カメラで取得した画像内のオブジェクトの種類を決定する方法であり、同じタイプのオブジェクトを区別することができる。
【0003】
従来技術では、インスタンス・セグメンテーション・メソッドとセマンティック・セグメンテーション・メソッドの両方が提案されており、これらの方法はしばしばニューラルネットワークまたはディープニューラルネットワークを使用する。画像にさまざまなタイプがあるオブジェクトを区別するために、セマンティックセグメンテーション・メソッドが使用されている。セマンティックセグメンテーション・メソッドは、同じタイプの2つのオブジェクトを区別できない。例えば、分析対象の画像が、2つの重複する車と2つの重複する歩行者で構成される場合、セマンティックセグメンテーション・メソッドは、車に対応する画像内の領域と歩行者に対応する画像内の領域とを検出する。セマンティックセグメンテーションのさまざまな方法が提案されており、通常、(深い)畳み込みネットワークを使用する。
【0004】
インスタンス・セグメンテーション・メソッドは、タイプに関係なく個別のオブジェクトの識別のみを目的としている。インスタンス・セグメンテーション・メソッドを使用して、上記の画像を分析する場合検出されるものは、4つの別個のオブジェクトである。これを達成するためにさまざまな方法が提案されているが、最も注目すべきなのは、(深い)畳み込みネットワークを使用する方法である。いくつかの特定の方法は、特定のネットワークアーキテクチャを必要とするか、あるいは、オブジェクトの提案に依存している。例えば、一部のメソッドは、オブジェクトの提案(またはバウンディングボックスの生成)の後に、個別のセグメンテーションおよび/または分類ステップが続く、多段(またはカスケード)パイプラインを使用する。これらの方法は、速度(多段計算のため)、および、セグメンテーション品質(特に閉塞に直面した場合)の点で満足されていない。
【0005】
上記から、インスタンス・セグメンテーション・メソッドおよび、セマンティックセグメンテーション・メソッドは、実際に画像に表示されるものについて、完全な答えを提供していない。したがって、セマンティック・インスタンス・セグメンテーション・メソッドが必要である。上記の画像のセマンティック・インスタンス・セグメンテーション・メソッドの望ましい出力は、各車と各歩行者を異なる色で強調するマスクにし、および、たとえば、車1、車2、歩行者1、歩行者2を示すラベル付けすることができる。
【0006】
さまざまなアプローチが提案されているが、最も注目すべきなのは、いくつかのアプローチが、画像をクラスタ化された表現に変換するために、ニューラルネットワークの訓練を提案していることである。また、点の各クラスタは、画像内の(要素と呼ばれることもある)インスタンスに対応する。このクラスタ化された表現は、さまざまな要素を強調する画像の表現を取得するために、その後、処理することができる。
【0007】
ニューラルネットワークの訓練は、それぞれの要素がすでに特定されているテンプレート画像および損失関数を使用して実行できる反復作業であることに留意する。
【0008】
損失関数は、通常、この出力が有効か否か、つまり、この出力が各要素とそのタイプの適切な検出につながるか否かを決定するために、ニューラルネットワークの出力において実行された計算で構成される。損失関数は、一般に、ニューラルネットワークの出力が、予想される出力からどれだけ離れているかを表すスコアである。
【0009】
セマンティック・インスタンス・セグメンテーション・メソッドの損失関数を定義することは、非常に重要であり、既知の損失関数は満足のいくものではない。
【0010】
文献Fathi他「Semantic Instance Segmentation via Deep Metric Learning」(以下「ファティ(Fathi)」と呼ぶ、arXivプレプリントサーバーからダウンロード可能、URL https://arxiv.org/pdf/1703.10277.pdf)は、セマンティック・インスタンス・セグメンテーションの既知の方法を開示している。
【0011】
この文献のメソッドは、同じインスタンスオブジェクトに対応するピクセルがニューラルネットワークの出力(通常、画像内の各ピクセルに対して、ニューラルネットワークはベクトルを出力する)の空間に近いことを保証する損失関数を使用する。この損失関数は、また、異なるオブジェクトに対応するピクセルは、ネットワークの出力表現において、互いに遠く離れたままであることを保証する。したがって、この文献の損失関数は、ニューラルネットワークの出力において、同じオブジェクトのピクセルのベクトルが近い場合および異なるオブジェクトのピクセルのベクトルが遠い場合は、より低い値を有し、それ以外の場合は、より低い値を有する。
【0012】
次に、ニューラルネットワークは、次の反復で損失関数のより低いスコアを取得するために、損失関数の結果を考慮して変更される。
【0013】
この文献の損失関数は不十分である。より正確には、この文献の損失関数は、画像内の各オブジェクトに対して、限られた数のベクトルのランダムな選択に依存し、膨大な計算を必要とする。
【0014】
限られた数のベクトルの選択も、すべてのピクセルが上記の条件を確認するわけではないが、ゼロに等しくすることができる損失関数につながる。これにより、訓練の収束が遅くなる。
【0015】
本発明の主な目的は、現在利用可能なシステムと方法の欠点を克服する方法およびシステムを提供することである。
【発明の概要】
【0016】
本発明は、セマンティック・インスタンス・セグメンテーションに使用されるためのニューラルネットワークを反復して訓練する方法を提案することにより、先行技術の1つ以上の欠陥を克服する。ここで、反復ごとに、ニューラルネットワークは、テンプレート画像の各ピクセルのベクトルを出力し、ここでテンプレート画像は、それぞれがテンプレート画像のピクセルと対応するベクトルに関連付けられている定義済みの要素で構成される。
【0017】
ニューラルネットワークの訓練は、損失関数を使用して実行される。ここで、要素に属する各ベクトルに対して、該ベクトルとこの要素のベクトルの中心の間の距離が計算され、各要素のベクトルのすべての中心間の距離が、計算され、少なくとも、− 要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少する、および、− 各要素のベクトルのすべての中心間距離が増加する場合、目標値(たとえばゼロ)に達するまで損失関数が減少する。
【0018】
目標値は、損失関数に対して、取得することが望ましい値である。損失が目標値に達するか下回るとき、訓練が完了したと考えることができる。オプションとして目標値を事前に設定できる。いくつかの反復において、または、実際の画像で使用される場合、目標値に到達しない可能性がある。要素は、テンプレート画像に表示されるオブジェクトであり得る。テンプレート画像では、同じタイプまたは異なるタイプの複数の要素が存在する。テンプレート画像の各ピクセルには、要素との既知の関連付けがある。
【0019】
ニューラルネットワークによって出力されたベクトルの空間において、
− 要素のベクトルはすべて、ベクトルのクラスタ内で近接したままになる、
− 異なる要素に関連付けられたベクトルのクラスタは、間隔をあけて配置する必要がある、
場合に、適切なセマンティック・インスタンス・セグメンテーションが取得されることが観察されている。
【0020】
好適には、このニューラルネットワークは、すでに、セマンティックセグメンテーションを実行できるニューラルネットワークであり、インスタンス・セグメンテーションも実行するようにネットワークを訓練するために、上記の損失関数が定義されている。本発明は、ニューラルネットワークのアーキテクチャを変更する必要なしに、セマンティックセグメンテーション用に訓練された可能性がある既に利用可能な任意のニューラルネットワークに有利に適用される。
【0021】
本発明の発明者は、すでにセマンティックセグメンテーション用に訓練されたニューラルネットワークを使用することを観察し、セマンティック・インスタンス・セグメンテーションのより良い結果を取得することを可能にした。上記の損失関数により、この結果を取得可能にする。
【0022】
さらに、ファティの上記の文献の損失関数に反して、本発明の損失関数が、すべてのベクトルを考慮に入れるために定義されている(各ベクトル間の距離および対応する中心が計算され、すべての中心間の距離で計算される)。
【0023】
要素のベクトルの中心を使用すると、計算要件を制限しながら、すべてのベクトルを考慮することができる。実際、要素のすべてのベクトルが対応する中心に近い場合、この要素のベクトルはすべて近くにある。
【0024】
また、すべての異なる中心が互いに遠く離れている場合、要素のベクトルは、別の要素のベクトルから遠く離れている。
【0025】
例として、テンプレート画像の同じ要素に属するすべてのベクトルの平均ベクトルとして、要素のベクトルの中心を決定できる。
【0026】
損失関数はすべてのベクトルを計算上効率的な方法で処理するため、目標値に迅速に到達する損失を取得することが可能であり、実際には、すべてのベクトルが期待される要件を満たしていることを意味する。訓練の高速収束が得られる。
【0027】
特定の実施形態によれば、損失関数は、目標値に達するまで減少する。少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離は、この距離が第1の事前定義された距離のしきい値以下になるまで減少する。
【0028】
したがって、訓練が終了または収束したとき(つまり、損失関数が目標値に達したとき)、要素のすべてのベクトルは、この要素のベクトルの中心を中心とする超球面内にあり、この超球は、第1の事前定義された距離のしきい値に等しい半径を持つ。
【0029】
特定の実施形態によれば、損失関数は、各要素のベクトルのすべての中心間の距離が増加したとき、各距離が事前に定義された第2の距離しきい値以上になるまで、少なくとも目標値に達するまで減少する。
【0030】
したがって、訓練が終了または収束するとき(つまり、損失関数が目標値に達したとき)、要素のすべてのベクトルは、少なくとも第2の事前定義された距離しきい値により、別の要素のベクトルから間隔を空けることができる。
【0031】
第1と第2の事前定義された距離のしきい値が使用される場合、要素からのすべてのベクトルは超球面内にあり、これは、他の要素の他の超球から間隔を空けている。
【0032】
この結果は、ファティの文献に開示されている損失関数を使用して取得することはできないことに留意する。
【0033】
特定の実施形態によれば、損失関数は、次のとおりである。
【数1】
【0035】
特定の実施形態によれば、損失関数は、各要素のベクトルの各中心とベクトルの空間の原点との間の距離が減少するとき、少なくとも目標値に達するまでさらに減少するように定義される。
【0036】
これにより、ベクトルの空間の原点からベクトルが離れすぎないようにする。この機能は、数学的エラー(たとえば、当業者に知られている無限大誤差)の発生を防ぐ。
【0037】
特定の実施形態によれば、損失関数は追加の用語で構成され、次のとおりである。
【数2】
【0038】
したがって、Lregは、ベクトルの空間の原点に向かってベクトルを引く用語である。損失関数ではあまり重要ではないので、γは、αまたはβより、好適には非常に少ないことに留意する。たとえば、αまたはβは、1に等しい値を持つことができ、γは、0.0001にすることができる。
【0039】
特定の実施形態、ニューラルネットワークに入力された画像の各ピクセルの座標によれば、このピクセルの座標はニューラルネットワークに入力される。
【0040】
発明者によって観察された要素は、特定の方法で配置された同様の外観を持つ(たとえば、右上隅の要素そして左下隅の同様の要素)2つの別個のインスタンスまたは要素と見なされない場合がある。テンプレート画像のピクセルの座標をニューラルネットワークに入力することにより、ニューラルネットワークは、2つの要素を区別するのに十分な情報を受け取る。
【0041】
本発明はまた、上記で定義した方法を使用して訓練されたニューラルネットワークを使用してセマンティック・インスタンス・セグメンテーションのための方法を提供する。
【0042】
特定の実施形態によれば、この方法は、後処理ステップをさらに含み、その中で、平均シフトアルゴリズムまたはk平均アルゴリズムが、ニューラルネットワークによって出力されたベクトルに適用される。
【0043】
訓練されたネットワークの出力では、ベクトルは、別個の超球に配置される可能性が高く、これにより、平均シフトアルゴリズムまたはk平均アルゴリズムの実装が容易になる。これらのアルゴリズムは、オブジェクトに属するピクセルの識別を容易にする。
【0044】
本発明はまた、セマンティック・インスタンス・セグメンテーションに使用されるニューラルネットワークを反復して訓練するためのシステムを提供する。ここで、反復ごとに、ニューラルネットワークは、テンプレート画像の各ピクセルのベクトルを出力するように構成され、テンプレート画像は定義済みの要素で構成され、それぞれがテンプレート画像のピクセルおよび対応するベクトルに関連付けられている。
【0045】
システムは、反復ごとに損失関数を使用して、損失を計算するためのモジュールを備えている。この損失関数は、少なくとも、−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、および−各要素のベクトルのすべての中心間の距離が増加するときに、目標値に達するまで減少するように定義される。
【0046】
このシステムは、上記で定義したニューラルネットワークの訓練の方法のすべての実施形態を実行するように構成することができる。
【0047】
本発明はまた、上記で定義したネットワークの訓練方法を使用して訓練されたニューラルネットワークを含む画像セマンティック・インスタンス・セグメンテーションのためのシステムを提供する。
【0048】
特定の一実施形態では、ニューラルネットワークを訓練する方法のステップおよび/またはセマンティック・インスタンス・セグメンテーションのためのメソッドのステップは、コンピュータプログラムの命令によって決定される。
【0049】
その結果、本発明はまた、上記のように、このプログラムがコンピュータによって実行されるとき、方法のステップを実行するためのコンピュータプログラムに関する。
【0050】
このプログラムは任意のプログラミング言語を使用でき、ソースコード、オブジェクトコード、または、部分的にコンパイルされたフォーム、またはその他の望ましいフォームなど、ソースコードとオブジェクトコードの間のコード中間体の形式をとることができる。
【0051】
本発明はまた、上記のコンピュータプログラムの命令を含むコンピュータ読み取り可能な情報媒体に関する。
【0052】
この情報媒体は、プログラムを保存できる任意のエンティティまたはデバイスでありことができる。例えば、この媒体には、たとえば、ROM、CD ROMまたは超小型電子回路ROMまたは、磁気記憶手段、たとえば、ディスケット(フロッピー(登録商標)ディスク)またはハードディスクなどストレージ手段を含めることができる。
【0053】
または、情報媒体は、プログラムが組み込まれている集積回路であり得る。この回路は、問題のメソッドを実行したり、そのメソッドの実行に使用したりする。
【図面の簡単な説明】
【0054】
本発明の実施方法を、例として、添付の図面を参照して、これから説明する。
【
図1】
図1は、ニューラルネットワークを訓練するための例示的な方法のブロック図である。
【
図2】
図2は、例示的なセマンティック・インスタンスセグメント化方法のブロック図である。
【
図3】
図3は、ニューラルネットワークを訓練するためのシステムおよびセマンティック・インスタンス・セグメンテーションのためのシステムの概略図である。
【
図4】
図4は、ニューラルネットワークによって出力されたベクトルの表現である。
【
図5】
図5は、ニューラルネットワークの訓練を示している。
【
図6】
図6は、ピクセルの座標をニューラルネットワークに入力する効果を示している。
【発明を実施するための形態】
【0055】
ニューラルネットワークを反復して訓練する方法を
図1に示す。
【0056】
この訓練は、さまざまな要素、たとえば、重複する場合もしない場合もある(たとえば、2台の車が重なっている)同じタイプの要素を含むテンプレート画像1を使用して実行される。
【0057】
テンプレート画像の各要素の位置は事前にわかっているが、このテンプレート画像の各ピクセルには、要素(たとえば、1号車、2号車、背景など)との特定の関連付けがある。
【0058】
第1のステップE01において、訓練されるニューラルネットワークは、テンプレート画像を複数のベクトルに変換し、各ベクトルは、テンプレート画像のピクセルに対応する。この複数のベクトルは、当業者にテンソルと呼ばれることがある。そしてこのテンソルはテンプレート画像と同じ高さと幅を持ち、ただし、異なる深さはベクトルの長さに等しくなる。
【0059】
ベクトルの長さを、訓練するニューラルネットワークに応じて、または、アプリケーションに応じて選択できる。すべてのベクトルは同じ長さで、すべて同じベクトル空間に属する。
【0060】
ニューラルネットワークによって出力されるベクトルは、当業者によってピクセル埋め込みと呼ばれることに留意する。
【0061】
好適には、このニューラルネットワークは、最初、訓練の前に、すでにセマンティックセグメンテーションを実行できるニューラルネットワークである。当業者は、どのニューラルネットワークがセマンティックセグメンテーションを既に実行できるかを知っているであろう。
【0062】
例として、このニューラルネットワークは、「Segnet」という名前で当業者に知られ、文献「画像のセグメンテーションのための深い畳み込みエンコーダ−デコーダ・アーキテクチャ(A deep convolutional encoder−decoder architecture for image segmentation)」(V. Badrinarayanan et al., arXiv preprint arXiv: Claim 1511.00561, 2015. 2) 、または、文献「セマンティックセグメンテーションのための完全な畳み込みネットワーク(Fully convolutional networks for semantic segmentation)」(J. Long et al., CVPR, 2015)に記載されているニューラルネットワークに記載されているニューラルネットワークであり得る。
【0063】
ニューラルネットワークは、
図1の2で参照されるベクトルを出力する。
【0064】
次に、これらのベクトルを使用して、ステップE02で損失を計算する。その損失は、スカラー値を提供する損失関数を使用して計算され、これは正またはゼロであり、損失とも呼ばれる。
【0065】
より正確に、損失関数では、要素に属する各ベクトルに対して、該ベクトルとこの要素のベクトルの中心との間の距離が計算され、各要素のベクトルのすべての中心間の距離が、計算される。
【0066】
これらの計算は、(2つの連続した反復の間)目標値に達するまで減少する損失関数を定義するために使用される。この目標値は、現在の例では、少なくとも、−要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が減少し、そして−各要素のベクトルのすべての中心間の距離が増加する場合、ゼロである。
【0067】
例えば、損失関数Lは、2つの項の線形結合になる。
【数3】
αおよびβは、検証セットで実行される評価によって、グリッド検索またはハイパーパラメーター検索によって選択できる。これは、αおよびβに対して最適な値を選択するために構造化された方法で異なる設定を試すことで実行できる。
【0068】
これらの値は両方とも1に設定できることに留意する。
【0069】
たとえば、少なくとも、要素に属する各ベクトルについて、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が第1の事前定義された距離のしきい値以下になるまで減少するとき、損失関数はゼロに達するまで減少する。
【0070】
したがって、この例は、次のように記述された用語Lvarを使用して実装できまる。
【数4】
【0071】
その距離を、L1またはL2の距離にできることは、当業者には周知であることに留意する。
【0072】
また、例えば、損失関数は、少なくとも、要素に属する各ベクトルについては、該ベクトルとこの要素のベクトルの中心との間の距離が、この距離が第1の事前定義された距離のしきい値以下になるまで減少するとき、ゼロに達するまで減少する。
【0073】
したがって、この例は、Ldistという用語を使用して実装できる。
【数5】
【0074】
上で定義した2つの用語LdistとLvarは、損失がゼロに等しいとき、オブジェクトに関連付けられたすべてのベクトルがδvに等しい超球内部に配置され、そしてすべての超球体の中心は、少なくとも2δd離れていることを保証するように定義されている。
【0075】
好適には、好ましくは、δdは2δvより大きい。
【0076】
例として、損失関数をさらに、ゼロに達するまで減少するように定義できることに留意する。少なくとも、各要素のベクトルの各中心およびベクトルの空間のオリジンとの間の距離が減少する。
【0077】
この例では、損失関数は追加の用語Lregで構成され、次のとおりである。
【数6】
【0078】
損失関数ではあまり重要ではないので、γは、αまたはβより、好適には非常に少ないことに留意する。例えば、αまたはβは、1に等しい値を持つことができ、γは、0.0001にすることができる。
【0079】
たとえば、上記で定義された関数を使用して、ステップE02の損失を計算することが可能である。この損失がゼロに等しい場合、ニューラルネットワークが訓練されたと見なされる。代替的に、損失が事前定義されたしきい値を下回る場合、ニューラルネットワークは訓練されていると考えることができる。
【0080】
損失がゼロを超える(または事前定義されたしきい値を超える)場合、訓練は完了しない。
【0081】
その後、ステップE03が実行され、このステップでは、ステップE02で計算された損失を使用して、パラメータまたは重みまたはニューラルネットワークが調整される。
【0082】
たとえば、確率的勾配降下として当業者に知られている方法を使用してステップE03を実行できる(ステップE03)。
【0083】
次に、調整されたニューラルネットワークで、少なくともステップE01およびE02を実行することで構成される次の反復が実行される(ステップE04)。
【0084】
複数の異なるテンプレート画像の上でニューラルネットワークの訓練を実行できることに留意する。
【0085】
図1に開示されている方法を使用してニューラルネットワークが訓練されると、
図2に示すように、セマンティック・インスタンス・セグメンテーションに使用できる。
【0086】
図2の方法は、3で参照される画像、たとえば、カメラによって取得された画像で実行される。この画像には、たとえば、2つの部分的に重複する車と2つの部分的に重複する歩行者が含まれる。
【0087】
ステップE11において、画像3は、セマンティック・インスタンス・セグメンテーションを実行するために、訓練されたニューラルネットワークに入力される。
【0088】
ベクトル4は、訓練されたニューラルネットワークの出力として取得される。
【0089】
画像のさまざまな要素がセグメント化およびラベル付けされている(例えば第1の色の車のナンバーワン、2号車の2号車、第3の色の歩行者、および4番目の色の歩行者2)表現の下で画像3を表現するために、後処理ステップE12が実行される。
【0090】
ニューラルネットワークが訓練されているため、上記で定義した損失関数を使用して、これらのベクトルは、別々の超球に近接している。ほとんどの場合、実際の画像(テンプレート画像ではない)で使用するとき、通常、損失はゼロをわずかに上回ることに留意する。
【0091】
後処理を容易にするために、クラスタ内で、同じオブジェクトに属している必要があるピクセルをグループ化するために、平均シフトアルゴリズムのK平均がベクトルで使用される、サブステップE120が実行される。これにより、メソッドの堅牢性が向上する。
【0092】
ベクトル(またはピクセル)が個別のクラスタにグループ化されると、その後、クラスタごとに異なる色の画像を出力することが可能であり、後処理は終了する。これは、上記の中心の周囲を、δdにすることができる半径で、しきい値処理することで実行できる。
【0093】
セマンティック・インスタンス・セグメンテーションを含む最終画像5が出力される。
【0094】
図1および
図2を参照して説明した方法のステップは、コンピュータの命令により決定できる。これらの命令は、
図3に示すように、コンピュータのプロセッサで実行できる。
【0095】
この図では、ニューラルネットワークS1を訓練するシステムが示されている。システムS1は、コンピュータであり得るが、プロセッサPR1および不揮発性メモリMEM1を含む。
【0096】
不揮発性メモリMEM1では、
命令INST1のセットが保存される。
INST1の命令セットは、セマンティック・インスタンス・セグメンテーションを実行するためにニューラルネットワークを訓練する方法を実行する命令を備える。たとえば、
図1を参照して説明した方法である。
【0097】
不揮発性メモリMEM1は、ニューラルネットワークNN、および、少なくとも1つのテンプレート画像TIMGをさらに含む。
【0098】
訓練されたら、ニューラルネットワークNNは、セマンティック・インスタンス・セグメンテーションを実行するように構成されている別のシステムS2で使用できる。
【0099】
例として、ニューラルネットワークNNは、インターネットなどの通信ネットワークINTを使用して、システムS2に通信できる。
【0100】
システムS2は、プロセッサPR2と不揮発性メモリMEM2を含む。不揮発性メモリには、
命令INST2のセットが不揮発性メモリMEM2に保存されているイメージIMGを使用して、セマンティック・インスタンス・セグメンテーションを実行するために格納されている。そして訓練されたニューラルネットワークTNNもまた不揮発性メモリMEM2に保存される。
【0101】
図4は、ニューラルネットワークによって出力されたベクトルの概略図である。
【0102】
この例では、使用されたニューラルネットワークが完全に訓練されておらず、損失はゼロに等しくないか、事前定義されたしきい値を下回っていない。また、この例では、簡単にするために、ニューラルネットワークは、長さが2のベクトルを出力する。これにより、2次元表現を使用できる。
【0103】
ニューラルネットワークによって出力されるさまざまなベクトルは、それぞれがニューラルネットワークに入力されたテンプレート画像のピクセルに関連付けられたドット10、20、および30として表される。テンプレート画像の各ピクセルは、テンプレート画像に表示される要素との特定の関連付けがある。したがって、同じことは、ニューラルネットワークによって出力されるベクトルにも当てはまる。
【0104】
図4において、参照されるベクトル10はすべて、第1のオブジェクトに関連付けられており、参照されるベクトル20はすべて、第2のオブジェクトに関連付けられており、参照されるベクトル30はすべて、第3のオブジェクトに関連付けられている。ニューラルネットワークの訓練がまだ実行されている場合でも、ベクトル10、20、30はすでに実質的に、それぞれ、参照するベクトルのクラスタC1、C2、およびC3を形成している。
【0105】
その後、クラスタC1、クラスタC2、クラスタC3のそれぞれの中心11、12、および13を決定できる。
【0106】
これらの中心は、各ベクトル10と中心11との間の距離、各ベクトル20と中心12との間の距離、および、各ベクトル30と中心13との間の距離の計算に使用される。
【0107】
さらに、すべての中心11、12、13の間の距離が計算される。
【0108】
(訓練の各反復後)中心11までベクトル10が近づくように、より正確には、ベクトル10が、中心からの距離内にあるように、損失関数が定義されている。これは、あらかじめ定義された第1の距離しきい値δv未満である。ベクトル10はすべて、半径δvと図に表された中心11とを持つ円の内側にあると予想される。
【0109】
同様に、ベクトル20はすべて、半径δvと図に表される中心12とを持つ円の内側にあると予想され、ベクトル30はすべて、半径δvと図に表される中心13とを持つ円の内側にあると予想される。
【0110】
ベクトルの中心への動きが、図の細い矢印を使用して表されている。
【0111】
損失関数はさらに、中心11、12、13が、(訓練の各反復後)互いに遠く離れるように、より正確には、中心がそれぞれ、2δdに等しい第2に事前定義された距離のしきい値で区切られるように定義される。
【0112】
半径δdおよび中心11、12、13の円は、図にも表されている。クラスタを互いに離すために実行されたベクトルの動きは、図の太い矢印を使用して表される。
【0113】
図5は、さまざまな表現によるニューラルネットワークの訓練を示している。
【0114】
テンプレート画像100が図に表されており、この画像100は、さまざまな葉とセグメント化される背景を持つ植物の写真である。
【0115】
テンプレート画像の各ピクセル100は、特定の葉との特定の関連があり、テンプレート画像100の下に示される最終的なセグメント化画像200として、画像100を表すことが可能である。当業者は、セグメント化された画像200を「グランドトゥルース(ground truth)」と呼ぶ場合がある。
【0116】
図5の300で参照される行は、左から右に連続した順序でのニューラルネットワークの訓練の7つの異なる段階でニューラルネットワークによって出力された(この例では、ネットワークの出力は2次元である)ベクトルの位置を表す。この訓練は、各訓練の反復後にニューラルネットワークを調整するために、確率的勾配降下法を使用して行われる。
【0117】
行300で表される7つの異なるステージは、確率的勾配降下法を使用したニューラルネットワークへの、それぞれ、0、2、4、8、16、32、64の調整に対応する。
【0118】
最後の段階で見られるように、ベクトルはすべて重複しない円に配置される。これらの円の半径は、
図4を参照して説明したδdと同じである。
【0119】
400で示される行は、後処理ステップなしのニューラルネットワークの出力を表す。この行の画像は、2次元のベクターを配信し、各ベクトルの各コンポーネントをそれぞれ赤の値と緑の値として使用するニューラルネットワークの出力を取得することにより、取得される。ここで、青の値は、ゼロに設定されている(図はグレースケールである)。500で参照される行は、半径がδdに等しい状態でしきい値処理が実行される後処理ステップの結果を表す。
【0120】
図6は、ピクセルの座標をニューラルネットワークに入力した結果を示している。
【0121】
この図では、2つの同様の要素(正方形)が左上の位置と右下の位置に配置されている、3つの異なる入力画像が使用されている。2つの正方形の間隔は、3つの入力画像で異なる。
【0122】
これらの図の上において、位置認識の言葉は、ニューラルネットワークへの各ピクセルの座標の入力を指す。
【0123】
ニューラルネットワークの出力(ベクトルと対応する画像)は、次に、位置認識を使用する場合と使用しない場合の2つのケースについて表示する。
【0124】
位置認識なしでは、それぞれが左上隅および右下隅に近い場合、ニューラルネットワークは2つの正方形を区別するのが難しいことを見ることができる。
【0125】
しかしながら、画像のピクセルの座標をニューラルネットワークに入力することにより、ニューラルネットワークは常に2つの正方形を区別できまる。
【0126】
上記の実施形態により、セマンティック・インスタンス・セグメンテーションに使用でき、良好な結果が得られるニューラルネットワークを取得することが可能になる。
【0127】
損失関数はゼロの値に達する可能性があるために、訓練の終了時にはテンプレート画像に見られる間違いはほとんどない。これは、本当に、テンプレート画像の訓練が完了したことを示している。
【0128】
対称ベストダイス(Symmetric Best Dice)など少なくとも当業者に知られているメトリックを使用して、84.2のSBDスコアを取得することが可能である(SBDについては、H. Scharr et al、Machine vision and applications 27(4):585−606)、「植物の表現型解析における葉のセグメンテーション:対照研究(Leaf segmentation in plant phenotyping: a collation study)」を参照)。
【0129】
したがって、上記の実施形態を使用して得られたニューラルネットワークは、良好な結果を提供する。