(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-11
(54)【発明の名称】アルファチャネルにおけるオートエンコーダに基づくセグメンテーションマスクの生成
(51)【国際特許分類】
G06V 10/82 20220101AFI20230501BHJP
G06T 7/00 20170101ALI20230501BHJP
G06V 10/26 20220101ALI20230501BHJP
【FI】
G06V10/82
G06T7/00 350C
G06V10/26
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022554579
(86)(22)【出願日】2021-03-26
(85)【翻訳文提出日】2022-10-19
(86)【国際出願番号】 EP2021057870
(87)【国際公開番号】W WO2021191406
(87)【国際公開日】2021-09-30
(32)【優先日】2020-03-26
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】522116797
【氏名又は名称】アナザー・ブレイン
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】ピント,ギヨーム
(72)【発明者】
【氏名】ロペス,ニコラ
(72)【発明者】
【氏名】メール,アルチュール
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096GA06
5L096GA10
5L096HA11
5L096KA04
(57)【要約】
本発明は、デジタル画像内のオブジェクトのセグメンテーションマスクを生成することができるデバイスを開示する。そのようにするために、デバイスは、以前に訓練されたオートエンコーダを使用して画像を符号化し、且つ画像を復号し、セグメンテーションマスクを定義する追加的なアルファチャネルを生成するように構成される処理ロジックを含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのオートエンコーダ(420)を訓練するためのコンピュータ実装方法(500)であって、
- 訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、前記参照インスタンスオブジェクトのデジタル画像と、前記参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得するステップ(510)と、
- 前記訓練セットを使用して、参照インスタンスオブジェクトについて、前記オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとの間の差を含む損失関数を最小化するように前記オートエンコーダを訓練するステップ(520)と
を含み、前記損失関数は、
- カルバック-ライブラ(KL)情報量、
- 入力ベクトル及び前記解凍ベクトルのピクセル間の差、
- 前記オートエンコーダの前記出力における前記解凍ベクトルの前記アルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとのピクセル間の前記差
をそれぞれ表す3つの項の加重和である、コンピュータ実装方法(500)。
【請求項2】
前記入力及び解凍ベクトルのピクセル間の前記差は、前記参照アルファチャネルを乗じられる、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記訓練は、前記訓練セットにわたる複数の訓練イテレーションを含み、及び前記解凍ベクトルの前記アルファチャネルと、前記参照アルファチャネルとのピクセル間の前記差を表す前記項の重みは、連続するイテレーションにわたって減少する、請求項1又は2に記載のコンピュータ実装方法。
【請求項4】
- 前記訓練セットの各デジタル画像及びそれぞれの対応する参照アルファチャネルを縮小して、前記訓練セットの各参照インスタンスオブジェクトについて、複数の大きさが変更されたデジタル画像と、複数の大きさが変更された参照アルファチャネルとを複数のそれぞれの解像度で取得するステップ、
- 前記複数のそれぞれの解像度において、前記大きさが変更されたデジタル画像及び大きさが変更された参照アルファチャネルをそれぞれ使用して、複数のオートエンコーダを訓練するステップ
を含む、請求項1~3の何れか一項に記載のコンピュータ実装方法。
【請求項5】
前記オートエンコーダは、変分オートエンコーダである、請求項1~4の何れか一項に記載のコンピュータ実装方法。
【請求項6】
少なくとも1つのオートエンコーダを訓練するためのデバイスであって、
- 訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、前記参照インスタンスオブジェクトのデジタル画像と、前記参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得すること(510)、
- 前記訓練セットを使用して、参照インスタンスオブジェクトについて、前記オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとの間の差を含む損失関数を最小化するように前記オートエンコーダを訓練すること(520)
を行うように構成された少なくとも1つの処理ロジックを含み、前記損失関数は、
- カルバック-ライブラ(KL)情報量、
- 入力ベクトル及び前記解凍ベクトルのピクセル間の差、
- 前記オートエンコーダの前記出力における前記解凍ベクトルの前記アルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとのピクセル間の前記差
をそれぞれ表す3つの項の加重和である、デバイス。
【請求項7】
少なくとも1つのオートエンコーダを訓練するためのコンピュータプログラム製品であって、
- 訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、前記参照インスタンスオブジェクトのデジタル画像と、前記参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得すること(510)、
- 前記訓練セットを使用して、参照インスタンスオブジェクトについて、前記オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとの間の差を含む損失関数を最小化するように前記オートエンコーダを訓練すること(520)
を行うように構成されたコンピュータコード命令を含み、前記損失関数は、
- カルバック-ライブラ(KL)情報量、
- 入力ベクトル及び前記解凍ベクトルのピクセル間の差、
- 前記オートエンコーダの前記出力における前記解凍ベクトルの前記アルファチャネルと、前記参照インスタンスオブジェクトの前記セグメンテーションマスクを定義する前記参照アルファチャネルとのピクセル間の前記差
をそれぞれ表す3つの項の加重和である、コンピュータプログラム製品。
【請求項8】
- 少なくとも1つのカラーチャネルを有するデジタル画像を取得するステップ(710)、
- 前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成するステップ(720)、
- 前記入力ベクトルを圧縮ベクトルに符号化し(730)、且つ前記圧縮ベクトルを解凍ベクトルに復号する(740)ためにオートエンコーダ(420)を使用するステップ、
- 前記デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルの前記アルファチャネルに基づいて取得するステップ(750)
を含むコンピュータ実装方法(700)であって、前記オートエンコーダは、請求項1~5の何れか一項に記載のコンピュータ実装方法を使用して訓練されている、コンピュータ実装方法(700)。
【請求項9】
- 少なくとも1つのカラーチャネルを有するデジタル画像を取得すること(710)、
- 前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成すること(720)、
- 前記入力ベクトルを圧縮ベクトルに符号化し(730)、且つ前記圧縮ベクトルを解凍ベクトルに復号する(740)ためにオートエンコーダ(420)を使用すること、
- 前記デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルの前記アルファチャネルに基づいて取得すること(750)
を行うように構成された少なくとも1つの処理ロジック(410)を含むデバイス(400)であって、前記オートエンコーダは、請求項1~5の何れか一項に記載のコンピュータ実装方法を使用して訓練されている、デバイス(400)。
【請求項10】
- 少なくとも1つのカラーチャネルを有するデジタル画像を取得すること(710)、
- 前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成すること(720)、
- 前記入力ベクトルを圧縮ベクトルに符号化し(730)、且つ前記圧縮ベクトルを解凍ベクトルに復号する(740)ためにオートエンコーダ(420)を使用すること、
- 前記デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルの前記アルファチャネルに基づいて取得すること(750)
を行うように構成されたコンピュータコード命令を含むコンピュータプログラム製品であって、前記オートエンコーダは、請求項1~5の何れか一項に記載のコンピュータ実装方法を使用して訓練されている、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル画像内のオブジェクトのセグメンテーションマスクの生成の分野に関する。より具体的には、本発明は、正常なオブジェクト又は欠陥を含むオブジェクトの何れかを表し得る、画像内のセグメンテーションマスクの生成に関する。
【背景技術】
【0002】
デジタル画像は、今日、一層多くの利用分野の基礎となっている。これらは、多くのソースから撮影されて、風景、物体又は人物等、様々なものを表現し得る。あるオブジェクトが画像上の背景の背後に示される場合、そのオブジェクトを背景から分離して、背景による影響を受けずにそのオブジェクトのみに関する画像解析を行うことが多くの用途にとって有益である。例えば、産業界の品質管理に関する用途がこれに当てはまり、オブジェクト中の欠陥の有無並びに欠陥の特徴付け及び位置特定は、そのオブジェクトの画像に基づいて自動的に実行される。このような場合、欠陥の検出は、そのオブジェクトがまず背景から分離され、背景の内容によって影響を受けずにオブジェクトのみについて検出が実行されるようにされれば、はるかに効率的である。オブジェクト及び背景の分離は、通常、セグメンテーションマスクを定義することによって行われる。セグメンテーションマスクは、画像中において、標的オブジェクトに属するピクセル及びこのオブジェクトに属さないピクセル(例えば、背景ピクセル)を示すマスクである。
【0003】
一般に、自動セグメンテーションは、教師あり機械学習エンジンを、ある種類のオブジェクトのためのセグメンテーションマスクを生成するように、この種類のオブジェクトを含む訓練セット及び対応するマスクを使用して訓練することによって実行される。訓練フェーズの終了時、教師あり機械学習エンジンは、自動的に、この種類のオブジェクトのためのセグメンテーションマスクを新たな画像から生成すること、すなわち未知の画像が提供されたときに標的の種類のオブジェクトを画像の背景から分離することができなければならない。したがって、セグメンテーションマスクの自動生成に関する一般的な課題は、ある種類のあるオブジェクトを画像の背景から適正に分離することである。しかしながら、これは、多くの理由のために困難な作業であり得る。まず、同じ種類のオブジェクトは、異なる条件(照明、方位、ズーム等)下で撮影され、したがって画像上で異なる大きさ、形状又は色で表示され得る。変化する背景もセグメンテーションを困難にし得る。
【0004】
これらの課題は、先行技術によって様々な方法で対応されている。第一の方法は、オブジェクトの画像を詳細に制御される状況で撮影することを含む。例えば、オブジェクトの画像は、オブジェクトが規定の照明の黒い箱内にあるときに撮影でき、それにより、背景は、黒いピクセルによって定義される。この解決策により、オブジェクトと背景との間の効率的な分離が可能であるとしても、これは、高コストであり、管理が難しく、多くの空間を必要とする。したがって、これは、生産ライン中の欠陥検出等、多数の製品の迅速な解析を必要とする産業用途に適応していない。
【0005】
一般に、セグメンテーションマスクを生成するための古典的なアルゴリズム、例えばMcLachlan,G.J.,&Basford,K.E.(1988).Mixture models:Inference and applications to clustering(Vol.38).New York:M.Dekkerによって開示されているもの等は、各ピクセルを前景又は背景ピクセルの何れかとして分類することを含む。この種のアルゴリズムの最も一般的な解決策の1つは、「GrabCut」と呼ばれる解決策であり、Rother,C.,Kolmogorov,V.,&Blake,A.(2004).“GrabCut”interactive foreground extraction using iterated graph cuts.ACM transactions on graphics(TOG).23(3).309-314によって開示されている。しかしながら、これらのアルゴリズムは、複雑な背景をほとんど認識できず、背景がセグメント化対象のオブジェクトから大きく異なっている場合にのみ良好に機能する。加えて、このセグメンテーションソリューションは、専門家による改良が必要な場合が多く、その介入には、時間及びコストがかかる。
【0006】
他の選択肢は、既知の形状の変換を、その変換が画角又はカメラのズームの違いのみによると仮定することによって特定することを含む。この種の解決策は、「SIFT」(スケール不変特徴変換)と呼ばれ、例えばLowe,D.G.(1999,September).Object recognition from local scale-invariant features.In Proceedings of the seventh IEEE international conference on computer vision(Vol.2,pp.1150-1157).Ieeeによって説明されている。しかしながら、これらの方法は、照明の変化又は検出対象オブジェクトのばらつき/変形の場合にオブジェクトを適正にセグメント化することができない。
【0007】
他の方法は、あるシーンをセグメント化するための教師なし深層学習に依拠する。これは、例えば、Eslami,S.A.,Heess,N.,Weber,T.,Tassa,Y.,Szepesvari,D.,&Hinton,G.E.(2016).Attend.infer,repeat:Fast scene understanding with generative models.In Advances in Neural Information Processing Systems(pp.3225-3233)によって開示されている「Attend Infer Repeat」(AIR)又はBurgess,C.P.,Matthey,L.,Watters,N.Kabra,R.,Higgins,I.,Botvinick,M.,&Lerchner,A.(2019).Monet:Unsupervised scene decomposition and representation.arXiv preprint arXiv:1901.11390によって開示されている「MONet」の場合である。しかしながら、これらの方法は、訓練に長い時間がかかり、訓練セットと異なるオブジェクト、例えば生産ラインの異常オブジェクトを検出する能力が非常に限定的であるという欠点を示す。
【0008】
インスタンスセグメンテーションのまた別の解決策は、教師あり深層学習に依拠する。最もよく知られているのは、He,K.,Gkioxari,G.,Dollar,P.,&Girshick,R.(2017).Mask r-cnn.In Proceedings of the IEEE international conference on computer vision(pp.2961-2969)によって開示されている「Mask R-CNN」及びBolya,D.,Zhou,C.,Xiao,F.,&Lee.Y.J.(2019).YOLACT:real-time instance segmentation.In Proceedings of the IEEE International Conference on Computer Vision(pp.9157-9166)によって開示されている「Yolact」である。これらの解決策は、何れの種類の背景、オブジェクトの部分的オクルージョン及び変形に対してもロバストであるという利点を提供する。これらの特性は、各種の状況でのオブジェクトタイプのインスタンスをセグメント化できることにとって極めて重要である。
【0009】
しかしながら、これらの解決策の各々は、オブジェクトの規定のクラスのインスタンスに属するとみなされるピクセルを抽出するように訓練されるため、これらには、欠陥を示すそのクラスのインスタンスの画像と直面したとき、当然のことながら、その欠陥に対応するピクセルの一部又は全部がセグメンテーションマスクから除外されるという欠点がある。この欠点は、これらの欠陥をセグメンテーションマスクから検出することを目的とする、産業界での品質管理等の用途にとって極めて有害であり、これは、その欠点を含むほとんどのピクセルが異常検知のために提供されないからである。訓練セットがオブジェクトのあるクラスの欠陥インスタンスで充実化され得たとしても、先行技術の解決策は、最善の状況において、すでに遭遇したことのある欠陥によって影響を受けるインスタンスのみを適正にセグメント化することができる。これは、重大な欠点を表し、なぜなら、産業界の製造では新しい欠陥が出現し得、製品又は生産ラインの変更により、新しい、現時点では未知の欠陥が生じることになり得るからである。先行技術の方法は、このような以前に未知であった欠陥によって影響を受けるクラスのインスタンスを適正にセグメント化することができないであろう。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】McLachlan,G.J.,&Basford,K.E.(1988).Mixture models:Inference and applications to clustering(Vol.38).New York:M.Dekker
【非特許文献2】Rother,C.,Kolmogorov,V.,&Blake,A.(2004).“GrabCut”interactive foreground extraction using iterated graph cuts.ACM transactions on graphics(TOG).23(3).309-314
【非特許文献3】Lowe,D.G.(1999,September).Object recognition from local scale-invariant features.In Proceedings of the seventh IEEE international conference on computer vision(Vol.2,pp.1150-1157).Ieee
【非特許文献4】Eslami,S.A.,Heess,N.,Weber,T.,Tassa,Y.,Szepesvari,D.,&Hinton,G.E.(2016).Attend.infer,repeat:Fast scene understanding with generative models.In Advances in Neural Information Processing Systems(pp.3225-3233)
【非特許文献5】Burgess,C.P.,Matthey,L.,Watters,N.Kabra,R.,Higgins,I.,Botvinick,M.,&Lerchner,A.(2019).Monet:Unsupervised scene decomposition and representation.arXiv preprint arXiv:1901.11390
【非特許文献6】He,K.,Gkioxari,G.,Dollar,P.,&Girshick,R.(2017).Mask r-cnn.In Proceedings of the IEEE international conference on computer vision(pp.2961-2969)
【非特許文献7】Bolya,D.,Zhou,C.,Xiao,F.,&Lee.Y.J.(2019).YOLACT:real-time instance segmentation.In Proceedings of the IEEE International Confrerence on Computer Vision(pp.9157-9166)
【発明の概要】
【発明が解決しようとする課題】
【0011】
したがって、デジタル画像内のクラスのインスタンスの自動セグメンテーションを実行でき、背景及び撮影条件の変動に対してロバストであり、自動セグメンテーションを訓練するために使用された訓練セットの何れのサンプル中にも存在しなかった欠陥によって影響を受けるクラスのインスタンスについてもセグメンテーションマスクを適正に生成することのできるデバイス、方法又はコンピュータプログラムが求められている。
【課題を解決するための手段】
【0012】
このために、本発明は、少なくとも1つのオートエンコーダを訓練するためのコンピュータ実装方法であって、訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、参照インスタンスオブジェクトのデジタル画像と、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得するステップと、前記訓練セットを使用して、参照インスタンスオブジェクトについて、オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとの間の差を含む損失関数を最小化するようにオートエンコーダを訓練するステップとを含み、損失関数は、カルバック-ライブラ情報量、入力ベクトル及び解凍ベクトルのピクセル間の差、オートエンコーダの出力における解凍ベクトルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとのピクセル間の前記差をそれぞれ表す3つの項の加重和である、コンピュータ実装方法を開示する。
【0013】
有利には、入力及び解凍ベクトルのピクセル間の前記差は、前記参照アルファチャネルを乗じられる。
【0014】
有利には、前記訓練は、訓練セットにわたる複数の訓練イテレーションを含み、及び解凍ベクトルのアルファチャネルと、参照アルファチャネルとのピクセル間の差を表す項の重みは、連続するイテレーションにわたって減少する。
【0015】
有利には、前記コンピュータ実装方法は、訓練セットの各デジタル画像及びそれぞれの対応する参照アルファチャネルを縮小して、訓練セットの各参照インスタンスオブジェクトについて、複数の大きさが変更されたデジタル画像と、複数の大きさが変更された参照アルファチャネルとを複数のそれぞれの解像度で取得するステップ、前記複数のそれぞれの解像度において、大きさが変更されたデジタル画像及び大きさが変更された参照アルファチャネルをそれぞれ使用して、複数のオートエンコーダを訓練するステップを含む。
【0016】
有利には、オートエンコーダは、変分オートエンコーダである。
【0017】
本発明は、少なくとも1つのオートエンコーダを訓練するためのデバイスであって、訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、参照インスタンスオブジェクトのデジタル画像と、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得すること、前記訓練セットを使用して、参照インスタンスオブジェクトについて、オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとの間の差を含む損失関数を最小化するようにオートエンコーダを訓練することを行うように構成された少なくとも1つの処理ロジックを含み、損失関数は、カルバック-ライブラ情報量、入力ベクトル及び解凍ベクトルのピクセル間の差、オートエンコーダの出力における解凍ベクトルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとのピクセル間の前記差をそれぞれ表す3つの項の加重和である、デバイスも開示する。
【0018】
本発明は、少なくとも1つのオートエンコーダを訓練するためのコンピュータプログラム製品であって、訓練セット内のオブジェクトクラスの各参照インスタンスオブジェクトについて、参照インスタンスオブジェクトのデジタル画像と、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得すること、前記訓練セットを使用して、参照インスタンスオブジェクトについて、オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとの間の差を含む損失関数を最小化するようにオートエンコーダを訓練することを行うように構成されたコンピュータコード命令を含み、損失関数は、カルバック-ライブラ情報量、入力ベクトル及び解凍ベクトルのピクセル間の差、オートエンコーダの出力における解凍ベクトルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとのピクセル間の前記差をそれぞれ表す3つの項の加重和である、コンピュータプログラム製品も開示する。
【0019】
本発明は、少なくとも1つのカラーチャネルを有するデジタル画像を取得するステップ、前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成するステップ、入力ベクトルを圧縮ベクトルに符号化し、且つ圧縮ベクトルを解凍ベクトルに復号するためにオートエンコーダを使用するステップ、デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルのアルファチャネルに基づいて取得するステップを含むコンピュータ実装方法であって、オートエンコーダは、本発明によるコンピュータ実装方法を使用して訓練されている、コンピュータ実装方法も開示する。
【0020】
本発明は、少なくとも1つのカラーチャネルを有するデジタル画像を取得すること、前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成すること、入力ベクトルを圧縮ベクトルに符号化し、且つ圧縮ベクトルを解凍ベクトルに復号するためにオートエンコーダを使用すること、デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルのアルファチャネルに基づいて取得することを行うように構成された少なくとも1つの処理ロジックを含むデバイスであって、オートエンコーダは、本発明によるコンピュータ実装方法を使用して訓練されている、デバイスも開示する。
【0021】
本発明は、少なくとも1つのカラーチャネルを有するデジタル画像を取得すること、前記デジタル画像及びアルファチャネルを含む入力ベクトルを形成すること、入力ベクトルを圧縮ベクトルに符号化し、且つ圧縮ベクトルを解凍ベクトルに復号するためにオートエンコーダを使用すること、デジタル画像中のオブジェクトのためのセグメンテーションマスクを前記解凍ベクトルのアルファチャネルに基づいて取得することを行うように構成されたコンピュータコード命令を含むコンピュータプログラム製品であって、オートエンコーダは、本発明によるコンピュータ実装方法を使用して訓練されている、コンピュータプログラム製品も開示する。
【0022】
解説のみを目的として提供される多数の例示的実施形態の以下の説明及びその添付の図から、本発明がよりよく理解され、その各種の特徴及び利点が明らかになるであろう。
【図面の簡単な説明】
【0023】
【
図1】本発明が実装され得る例示的デバイスの図を表す。
【
図2】本発明が実装され得る例示的デバイスの機能図を表す。
【
図3】先行技術のシステムにおける欠陥によって影響を受けているオブジェクトのクラスのあるインスタンスの写真中のセグメンテーションマスクの一例を開示する。
【
図4】本発明の多数の実施形態におけるデバイスの一例を表す。
【
図5】本発明の多数の実施形態における、オートエンコーダを訓練するためのコンピュータ実装方法の一例を表す。
【
図6】本発明の多数の実施形態にオートエンコーダの一例を表す。
【
図7】本発明の多数の実施形態における、オートエンコーダを使用するためのコンピュータ実装方法を表す。
【
図8】欠陥によって影響を受けているオブジェクトのクラスのあるインスタンスの写真中の、本発明によるデバイス又は方法によって生成されるセグメンテーションマスクの一例を表す。
【発明を実施するための形態】
【0024】
図1は、本発明が実装され得る例示的デバイスの図を示す。
【0025】
デバイスは、関節式アーム120を制御するコンピューティングデバイス110にある。関節式アームは、ヘッド121をオブジェクト130の周囲で移動させるために複数の方位及び方向に回転することができる。ヘッドには、オブジェクト130を異なる光の色及び強度で照明できるLED並びに照明されたオブジェクト130の写真を撮影することのできるカメラ123が設けられる。コンピューティングデバイス110もLED及びカメラに接続されて、照明を制御し、画像を撮影し、撮影された画像を受け取る。コンピューティングデバイス110は、したがって、様々な画角及び撮影条件(すなわち照明、カメラのズーム等)によってオブジェクト130の写真を撮影することができる。
【0026】
本発明の多数の実施形態において、コンピューティングデバイスは、
図1に図示されていないが、入力インタフェース(マウス、キーボード等)及び出力インタフェース(ディスプレイ、スクリーン等)も含み、ユーザからのコマンドを受信し、カメラから撮影された写真及び追加情報をユーザに表示する。
【0027】
本発明の多数の実施形態において、コンピューティングデバイス110は、機械学習エンジンを使用して、カメラ123によって撮影された写真内のオブジェクト130のセグメンテーションマスクを生成し、且つ/又はカメラ123によって撮影された画像に従ってオブジェクト130の異常を検知するように構成される。
【0028】
本発明の多数の実施形態において、コンピューティングデバイス110は、機械学習エンジンの訓練セットを充実させ、且つ/又はセグメンテーションマスクを生成し、且つ/又はオブジェクト130と同様のオブジェクトの写真における異常を検知するように機械学習エンジンを訓練するようにも構成され得る。
図2は、このようなデバイスの機能図の一例を示す。
【0029】
当然のことながら、
図1の例示的デバイスは、限定的ではなく、本発明は、他の多くのデバイス内に埋め込まれ得る。例えば、本発明のコンピューティングデバイスは、固定されたカメラからの画像を受信し得る。
【0030】
図2は、本発明が実装され得る例示的デバイスの機能図を表す。
【0031】
デバイス200は、産業プラントの製品中の欠陥の検知、位置特定及び分類を実行するためのコンピューティングデバイスである。これは、したがって、産業プラントの終端における製品の品質管理のために使用されるものである。デバイスは、例えば、
図1に示される物理的形状を有し得る。
【0032】
そのために、デバイス200は、少なくとも1つのデジタルカメラ240から、検証対象の各製品について製品のデジタル画像220を受信する。デジタル画像は、通常、産業プラントの背景の背後の製品を示す。
図2の例では、画像220内に示される製品には、1つの欠陥、すなわち2つのグリススポット230がある。
【0033】
デバイス200は、少なくとも1つの処理ロジック210を含む。本発明の各種の実施形態によれば、処理ロジックは、ソフトウェア命令に従って動作するプロセッサ、プロセッサのハードウェア構成又はその組合せであり得る。本明細書に記載の機能の何れか又は全ては、純粋なハードウェア構成で且つ/又はソフトウェア命令に従って動作するプロセッサによって実装され得ることが理解されるべきである。何れか又は全てのソフトウェア命令は、非一時的コンピュータ可読媒体に記憶され得ることも理解されるべきである。単純にするために、本開示の残りの部分では、1つ又は複数の処理ロジックを「処理ロジック」と呼ぶ。しかしながら、本発明の動作は、1つの処理ロジック又は複数の処理ロジック、例えば複数のプロセッサでも実行され得ることに留意すべきである。
【0034】
処理ロジック210は、セグメンテーションモジュール211を実行するように構成され、これは、画像220からセグメンテーションマスク221を生成する、すなわちオブジェクトを実際に表現するピクセルを取得するように構成される。後にさらに詳細に説明するように、セグメンテーションマスクの特定は、セグメンテーションマスクを定義するアルファチャネルを生成するオートエンコーダを使用して行わる。
【0035】
処理ロジック210は、異常検知モジュール222を実行するようにさらに構成され、これは、マスク221から異常の有無を検出するように構成され、異常は、オブジェクト内の欠陥を表す。異常検知モジュールは、異常の位置を特定し、分類するようにさらに構成され得る。
図2の例において、異常検知モジュール212は、画像が異常を含むことを検知し、この異常232の位置を特定し、且つ異常をグリスに分類し得る。
【0036】
異常検知モジュール212は、生成機械学習エンジン、例えば変分オートエンコーダ又は敵対的生成ネットワーク(GAN)に依存し得る。セグメント化されたオブジェクトは、例えば、変分オートエンコーダによって符号化及び復号され、その後、オブジェクトの入力画像とオブジェクトの復元画像との間のピクセル単位の差が計算される。ピクセル単位の差は、異常の位置の効率的な指標を提供し、これは、欠陥を含むオブジェクトのインスタンスの画像を、いかなる欠陥もない(すなわち「完璧な」)そのオブジェクトのインスタンスの画像を含む変分オートエンコーダに入力として提供すると、オートエンコーダによって生成される解凍出力ベクトルは、原画像からの欠陥の何れも含まないことになるからである。したがって、異常のある位置となる幾つかのピクセルは、入力及び出力画像間で大きく異なる。そのピクセル単位の差が閾値より大きいピクセルは、非類似ピクセルと考えられ、非類似ピクセルのクラスタの存在がテストされる。非類似ピクセルのクラスタは、異常を表すものと考えられる。
【0037】
この誤差検出は、多くの利点を提供する。これは、まず、ピクセルレベルの正確さで誤差検出を提供する。クラスタリングアルゴリズムの使用により、複数の非類似ピクセルが同じエリア内に存在する場合に誤差を検出でき、ピクセルが連続的である必要はない。したがって、ピクセルが非類似ピクセルであると決定するための閾値を微調整できる。追加的に、様々な種類の異常、さらに訓練セット中でそれまでに遭遇しなかった異常も検出できる。追加的に、この方法は、異常サンプルから正常を良好に区別することができ、ユーザからの限定的な監視のみを必要とする。
【0038】
一般に、異常検知の対象であるオブジェクトの正しいセグメンテーションは、異常の正しい検知、位置特定及び分類のために最も重要であり、それは、セグメンテーションが正しく行われなければ、そのオブジェクトに属するピクセルが異常検知に使用されないことがあり得、反対に、背景のピクセルが検知のために考慮され、異常として分類され得、過剰な数の偽陽性検知につながるからである。本発明は、これらの問題を克服し、これについては、後により詳細に説明する。
【0039】
加えて、セグメンテーションモジュール211及び異常検知モジュール212は、何れも同じオートエンコーダに基づき得る。これにより、2つのモジュールの訓練を組み合わせて、2つのモジュール間の動作の一貫性を確保することができる。オートエンコーダは、変分オートエンコーダ(VAE)であり得、これは、それぞれ画像を符号化し、復号するための2つの深層CNNsを使用し得る。したがって、異常のセグメンテーション及び復号の両方に必要であるのは、オートエンコーダによる各画像の1回の符号化及び復号である。さらに、モジュール212の異常検知は、単純に、オートエンコーダによって生成されたアルファチャネルによって規定されるセグメンテーションマスクに属するピクセルのみに関するピクセル非類似性を評価することによって実行できる。
【0040】
デバイス200は、本発明が実装され得るデバイスの例としてのみ提供される。しかしながら、この例は、非限定的であり、本発明は、オブジェクトの正確なセグメンテーションが必要な多くの用途に応用可能である。追加的に、
図2の例示的構造も非限定的である。例えば、計算は、複数の異なるデバイス上で実行され得、計算の幾つかの部分は、リモートサーバ内で行われ得、画像は、瞬間の撮影ではなく、画像のデータベースから取得され得る。
【0041】
図3は、先行技術のシステムにおける欠陥によって影響を受けているオブジェクトのクラスのインスタンスの写真中のセグメンテーションマスクの一例を開示する。
【0042】
図3の例において、写真300は、欠陥320、この例ではグリススポットによって影響を受けているオブジェクト330を示す。
【0043】
セグメンテーションは、この例において、簡単に前述したYolactと呼ばれるアルゴリズムによって行われている。このアルゴリズムは、セグメンテーションマスク310を生成する。しかしながら、このセグメンテーションマスクは、欠陥320のほとんどを除外している。それは、このセグメンテーションアルゴリズムが正常なオブジェクトを認識するように訓練されているからである。したがって、このセグメンテーションアルゴリズムの訓練セットに存在していなかった欠陥320は、そのほとんどがオブジェクトに属さないと考えられる。
【0044】
この状況は、異常検知又は品質管理等の用途にとって非常に有害であり、なぜなら、まさに検出の標的である欠陥が考慮されないからである。同じ問題は、セグメンテーションアルゴリズムの訓練セット内に存在しなかった異常な特徴又は欠陥を含み得るオブジェクトのセグメンテーションを必要とする何れの用途においても生じる。
【0045】
図3は、Yolactと呼ばれるアルゴリズムによって行われたセグメンテーションの出力を表しているが、同じ問題は、先行技術のインスタンスセグメンテーションアルゴリズムの全てについて発生する。
【0046】
図4は、本発明の多数の実施形態におけるデバイスの一例を表す。
【0047】
デバイス400は、コンピューティングデバイスである。
図4では、コンピュータとして表現されているが、デバイス400は、サーバ等、計算能力を備えるあらゆる種類のデバイス又はスマートフォン、タブレット、ラップトップ等、計算能力を備えるモバイルデバイス又は特に専用のタスクを遂行するように適合されたコンピューティングデバイスであり得る。
【0048】
デバイス400は、少なくとも1つの処理ロジック410を含む。
【0049】
処理ロジック400は、デジタル画像を表す入力データサンプル430を表す入力ベクトルを取得するように構成される。デジタル画像は、様々なソースから取得され得る。例えば、デジタルカメラ440によって撮影されるか、又は画像のデータベースから取得され得る。
【0050】
本発明の多数の実施形態において、デバイス400は、産業プラントの終端において品質管理を実行するためのものである。デジタルカメラは、したがって、産業プラントの終端に設置されて、生産ライン終点で各製品の画像を撮影するように構成される。したがって、デバイス400は、画像上の製品を表すオブジェクトをセグメント化し、製品に欠陥が見られるか否かを検出するように構成される。
【0051】
処理ロジック410は、オートエンコーダ420を動作させるように構成される。オートエンコーダは、一種の人工ニューラルネットワークであり、これは、サンプルをある表現に符号化するか、又はより低い次元の符号化を行い、その後、サンプルを復元サンプルに復号することを含み、例えばLiou,C.Y.,Cheng,W.C.,Liou,J.W.,&Liou,D.R.(2014).Autoencoder for words,Neurocomputing,139,84-96に記載されている。オートエンコーダの原理を、
図6を参照してより詳細に説明する。
【0052】
一般に、本発明のデバイスは、オブジェクトのクラスのインスタンスのセグメンテーションマスクを画像のアルファチャネルとして生成しようとするものである。すなわち、アルファチャネルは、ピクセルが背景のオブジェクトに属するかを定義する。これは、様々な方法で実現できる。例えば、アルファ値は、0(完全に透明)~1(完全に不透明)のスケールで定義できる。したがって、アルファ値0は、背景に属するとみなされる何れかのピクセルについて、また値1は、オブジェクトに属するとみなされる各ピクセルについて設定できる。当然のことながら、この方式は、非限定的であり、当業者であれば、アルファチャネルでオブジェクト又は背景に属するピクセルを定義するための何れの方式も規定できるであろう。セグメンテーションは、有利には、規定のクラスのオブジェクトについて特に訓練される。例えば、オートエンコーダは、任意のクラスのオブジェクト、例えば自動車、スプーン、車両用部品のためのセグメンテーションマスクを生成するように訓練できる。オブジェクトのクラスは、例えば、産業プラントの終端で定義される製品等、より正確なクラスでもあり得る。
【0053】
オートエンコーダは、訓練フェーズにおいて、セグメンテーションマスクを生成するように訓練される。このために、訓練セットは、規定のクラスのオブジェクトのインスタンスの参照画像を含む。各参照画像は、参照アルファチャネルに関連付けられ、これは、参照画像内のインスタンスオブジェクトのための参照セグメンテーションマスクを定義する。これらの参照セグメンテーションマスクは、様々な方法で取得できる。例えば、専門家のユーザは、各参照画像について手作業で適当なセグメンテーションマスクを定義できる。参照セグメンテーションマスクは、より効率的な方法でも定義できる。例えば、本出願人は、本願と同日付で「Improved generation of segmentation masks for training a segmentation machine learning engine」という名称の特許出願を行っており、これは、参照画像の訓練セットのための参照セグメンテーションマスクを生成するための効率的な手法を提供している。
【0054】
訓練フェーズ中、オートエンコーダが連続的イテレーションで調整されて、訓練セット全体についての損失関数が最小化される。
【0055】
損失関数は、各参照画像について、復元ベクトルのアルファチャネルと、それに関連するセグメンテーションマスクを表す参照アルファチャネルとの間の差を含む。換言すれば、訓練フェーズ中のオートエンコーダの損失関数の項の1つは、出力ベクトルのアルファチャネルと参照アルファチャネルとの間の差を考慮することを含む。
【0056】
したがって、オートエンコーダは、訓練フェーズ中、そのクラスに属するオブジェクトのインスタンスを符号化し、そのオブジェクトのそのインスタンスのセグメンテーションマスクを表すアルファチャネルを生成することを同時に学習する。訓練フェーズについては、
図5を参照してより詳細に説明する。
【0057】
図7は、1つ又は複数の処理ロジック410によって実行される方法を表す。
【0058】
図5は、本発明の多数の実施形態においてオートエンコーダを訓練するためのコンピュータ実装方法の一例を表す。
【0059】
方法500は、訓練セットのあるオブジェクトクラスの各参照インスタンスオブジェクトについて、そのインスタンスオブジェクトのデジタル画像と、そのインスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとを取得する第一のステップ510を含む。
【0060】
参照画像は、様々な方法で取得できる。例えば、セグメンテーションが産業プラントの終端で製品について実行されるものである場合、参照画像は、例えば、その産業プラントの終端において撮影される同じ種類の製品の写真であり得る。画像は、各種の形態で取得でき、例えば、これらは、RGB又はグレイスケール画像であり得る。
図4に関して説明したように、参照アルファチャネルセグメンテーションマスクは、様々な方法で取得でき、例えば専門家であるユーザによって定義できる。
【0061】
方法500は、次に、訓練セットを使用して、損失関数を最小にするようにオートエンコーダを訓練するステップ520を含む。
【0062】
オートエンコーダの訓練のために、各参照インスタンスオブジェクトの各デジタル画像についての入力ベクトルが形成される。したがって、各入力ベクトルは、対応する画像を表す。入力ベクトルは、そのため、その画像中に当初存在していた成分、例えばピクセルのRGB又はグレイスケール値で形成される。このようにして、オートエンコーダは、画像を圧縮ベクトルに符号化する。しかしながら、復号時、オートエンコーダは、圧縮ベクトルを解凍ベクトルに復号し、これは、画像中に当初存在していた成分だけでなく、追加のアルファチャネルも含む。
【0063】
訓練フェーズ中、入力ベクトルは、圧縮され、その後、解凍され、復元損失が解凍ベクトルに基づいて計算される。一般に、オートエンコーダの訓練は、画像の符号化及び復号、損失の計算並びに損失関数を最小化するためのオートエンコーダのパラメータの調整の複数のイテレーションからなる。
【0064】
損失関数は、オートエンコーダの出力における解凍ベクトルのピクセルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する、対応する参照アルファチャネルとの間の差を含む。すなわち、損失関数は、オートエンコーダの出力における解凍ベクトルのアルファチャネルと、同じインスタンスオブジェクトのためのセグメンテーションを表す、対応する参照アルファチャネルとの間の差に依存する。
【0065】
したがって、訓練フェーズ中、オートエンコーダは、訓練セットの画像に関して、解凍アルファチャネルと、セグメンテーションマスクを表す参照アルファチャネルとの間の差を最小にするためにパラメータ化される。オートエンコーダは、そのため、訓練フェーズの終わりにおいて、そのオブジェクトクラスのインスタンスオブジェクトの画像のカラー又はグレイスケール層から、そのオブジェクトのセグメンテーションマスクを定義するアルファチャネルを生成するように訓練される。
【0066】
この方法を用いて訓練されるオートエンコーダは、多くの理由のために非常に効率的な結果を提供する。
【0067】
オートエンコーダは、画像を画像の基本的特徴を定義する潜在空間に圧縮することから、オートエンコーダは、それが同じオブジェクトクラスのインスタンスオブジェクトの画像で訓練された場合、そのオブジェクトの基本的特徴を自動的に識別するのに好適である。
【0068】
さらに、オートエンコーダは、潜在空間からオブジェクトを復元するため、オートエンコーダは、例えば、オクルージョン、すなわちオブジェクトにおける欠陥の存在に対してロバストである。そのため、本発明のオートエンコーダは、入力として欠陥を含むインスタンスオブジェクトを有する場合でも正確なセグメンテーションマスクを提供する。
【0069】
本発明の同じオートエンコーダが使用されると、
図2の内容等に関して、セグメンテーションモジュール211と異常検知モジュール212との両方において、オートエンコーダは、単独で、同時にオブジェクトのセグメンテーションマスクを提供し、したがって全ての背景情報を除去して、そのオブジェクトの復元を提供することができ、そのため、前記復元及び入力画像間のピクセル単位の非類似性に基づいて異常を検知できる。
【0070】
図6は、本発明の多数の実施形態におけるオートエンコーダの一例を表す。
【0071】
オートエンコーダは、例えば、Liou,Cheng-Yuan:Huang,Jau-Chi;Yang,Wen-Chie(2008).“Modeling word perception using the Elman network”.Neurocomputing.71(16-18)及びLiou,Cheng-Yuan;Cheng,Wei-Chen:Liou,Jiun-Wei;Liou,Daw-Ran(2014).“Autoencoder for words”.Neurocomputing.139:84-96に記載されている。オートエンコーダは、教師なしで効率的なデータコーディングを実行するように訓練される一種のネットワークである。
【0072】
オートエンコーダは、入力ベクトルx
tをz
tで示される圧縮ベクトルに符号化する(tは、繰り返しの指数を表す)第一のニューラルネットワーク620と、圧縮ベクトルz
tを解凍又は復元ベクトル
【数1】
に復号する第二のニューラルネットワーク630とを含む。圧縮ベクトルz
tは、入力ベクトルx
t及び復元ベクトル
【数2】
より低い次元数を有し、潜在変数と呼ばれる変数の集合を使用して表現され、これは、ベクトルの本質的特徴を表すと考えられる。したがって、復元ベクトル
【数3】
は、同様であるが、一般的に入力ベクトルx
tと厳密には等しくない。後述のように、第一のニューラルネットワーク620及び第二のニューラルネットワーク630は、対称ではなく、入力ベクトルx
tは、入力画像のカラー層を表し、他方では、再現(又は解凍)ベクトル
【数4】
は、追加的に画像のアルファチャネルを表す成分を含む。したがって、オートエンコーダは、画像の色成分からアルファチャネルを生成する。本発明の各種の実施形態によれば、第一のニューラルネットワーク620と第二のニューラルネットワーク630との各々は、深層畳み込みニューラルネットワーク(CNN)である。実際、深層CNNは、画像処理において非常に効率的であることが知られている。
【0073】
復号の出力において、復元エラー又は損失関数と損失関数の勾配との両方を計算することができる。
【0074】
前述のように、オートエンコーダの訓練のために、複数のイテレーションが実行され、各々は、訓練セットのサンプルの符号化及び復号、損失関数の計算並びに損失関数を最小化するためのオートエンコーダの適応を含む。そのようにすることにより、圧縮ベクトルの潜在変数pが訓練セットの顕著な高次特徴を表すように訓練される。換言すれば、オートエンコーダの訓練フェーズは、訓練サンプルを、それらを最もよく表すより少ない数の潜在変数に圧縮する教師なし学習を提供する。
【0075】
一般に、符号化及び復号は、フォワードパスと呼ばれ、損失関数の勾配に応じてニューラルネットワークの重み及びバイアスを適応することを含むオートエンコーダの適応は、バックワードパスと呼ばれ、訓練サンプル全部のためのフォワード及びバックワードパス全体は、エポックと呼ばれる。
【0076】
損失関数は、
【数5】
で表される。損失関数の勾配は、
【数6】
で表すことができる。
【0077】
本発明の多数の実施形態において、オートエンコーダは、変分オートエンコーダ(VAE)である。変分オートエンコーダは、例えば、Kingma,D.P.,&Welling,M.(2013).Auto-encoding variational bayers.arXiv preprint arXiv:1312.6114又はDiederik P.Kingma and Volodymyr Kuleshov.Stochastic Gradient Variational Bayers and the Variational Autoencoder.In ICLR,pp.1-4,2014に記載されている。変分オートエンコーダは、有利には、特定のデータセット上の正常及び異常サンプルの区別を極めてよく行う。しかしながら、本発明は、この種のオートエンコーダに制約されず、本発明の過程で他の種類のオートエンコーダも使用され得る。
【0078】
本発明の各種の実施形態によれば、損失関数は、以下の項の1つ又は複数の加重和である:
- カルバック-ライブラ(KL)情報量、
- 入力及び復元ベクトルのピクセル間の差、
- オートエンコーダの出力における解凍ベクトルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとのピクセル間の差。
【0079】
KL差分は、圧縮サンプルの情報量を表す。この項の最小化により、潜在空間がガウス分布を有し、したがって関係する潜在空間が発見されている確率が最適化されることが確実となる。この項は、そのため、確実に潜在空間が最適なガウス分布にできるだけ近くなるようにする。
【0080】
入力及び再現ベクトルのピクセル間の差により、解凍ベクトル中のインスタンスオブジェクトが確実に入力ベクトル内のインスタンスオブジェクトにできるだけ似たものとなり、そのため、潜在空間は、セグメント化されるべきオブジェクトをよりよく表現する。本発明の各種の実施形態によれば、この項は、様々な方法で表現できる。例えば、対応するピクセル間の差は、例えば、ピクセル差分の二次関数を使用して計算できる。例えば、ピクセル差分は、
【数7】
として計算できる。式中、項alphaは、アルファチャネルの値を表し、これは、直交誤差
【数8】
がセグメンテーションマスクに属すると考えられるピクセルのみについて考慮されることを意味する。訓練フェーズ中、参照アルファチャネルが分かっており、項alphaは、グラウンドトゥルース(参照アルファチャネル)を表し、推測中、項alphaは、解凍アルファチャネルである。
【0081】
本発明の各種の実施形態によれば、ピクセル差分は、1つ又は複数の色層について計算できる。例えば、ピクセル差分は、RGB層、グレイスケール層又はYCbCr若しくはYUV色空間のY層について計算できる。ピクセル差分は、PSNR(ピーク信号対ノイズ比)又はSSIM(構造的類似性)等の画像差分メトリクス内で積分することもできる。
【0082】
本発明の多数の実施形態において、ピクセル差分は、ピクセルごとに参照アルファチャネルを乗じられる。すなわち、参照インスタンスオブジェクトに実際に属するピクセルの復元差分のみが考慮される。これにより、損失関数のこの項は、オブジェクトの復元エラーのみを表し、背景の復元エラーを表さない。そのため、ニューラルネットワークは、インスタンスオブジェクトのみに関するピクセル単位の復元エラーを表す項を含むインスタンス関数の最小化を通して、オブジェクトのより効率的な表現を提供するように訓練される。
【0083】
さらに、クラスのインスタンスオブジェクトを効率的に圧縮し、解凍するようにオートエンコーダを訓練することにより、そのオートエンコーダは、オブジェクトセグメンテーションだけでなく、その後の適用にも使用できる。例えば、セグメンテーションが
図2の例のように異常検知に使用され、異常検知自体がオブジェクトを表す画像のオートエンコーディングに依拠する場合、オートエンコーダは、オブジェクトセグメンテーションと異常検知との両方に使用できる。したがって、その適用全体についてオートエンコーダの単独の訓練フェーズが必要とされる。これにより、訓練フェーズに必要な計算が減少する。
【0084】
前述のように、オートエンコーダの出力における解凍ベクトルのアルファチャネルと、参照インスタンスオブジェクトのセグメンテーションマスクを定義する参照アルファチャネルとの間の差を表す項により、オートエンコーダは、同じクラスのインスタンスオブジェクトのセグメンテーションマスクを、そのオブジェクトを表現する画像の色ピクセルからどのように生成するかを学習できる。この差は、例えば、
【数9】
として計算できる。式中、alpha
tは、参照アルファチャネルを表し、
【数10】
は、復元ベクトルのアルファチャネルを表す。
【0085】
したがって、損失関数は、
【数11】
として表すことができる。式中、alpha
tは、参照アルファチャネルを表し、
【数12】
は、復元ベクトルのアルファチャネルを表し、Lambdaは、損失の他の項と比較したアルファチャネルの差分の相対重みを定義するハイパパラメータを表す。
【0086】
本発明の多数の実施形態において、重み係数Lambdaは、連続的な学習イテレーション(又はエポック)にわたり変化する。例えば、KL情報量と、入力及び復元ベクトルとのピクセル間の差の相対重み係数は、第一のイテレーション中にゼロと等しいか、又はより一般的に比較的小さい重みを有し得る(反対に、第一のイテレーション中、アルファチャネル差分
【数13】
の相対重みは、より高い)。
【0087】
これにより、第一のイテレーションは、ニューラルネットワーク620、630のみの重み及びバイアスを適応させるか、又は主として正しいセグメンテーションマスクを生成することができる。その後、連続するイテレーションについて、重み係数は、損失関数の3つの項が同時に最適化されるように設定される。これにより、まずセグメンテーションマスクを生成する一般的な解をニューラルネットワークに学習させ、その後、その解を改良して、さらにはるかに良好なセグメンテーションマスクを生成し、オブジェクトを効率的に表現し、解の分布をよりよくすることができる。この考えは、カリキュラム学習と呼ばれ、それにより解空間の完全に誤った領域への解の収束が回避される。本願の場合、これにより、解の収束が回避され、オブジェクトが良好に表現され、分布が極めて良好であるが、アルファチャネルの全ピクセルがゼロに設定され、セグメンテーションマスクの生成が機能しない。
【0088】
より一般的には、解凍及び参照アルファチャネル間の差の重み係数Lambdaは、第一のイテレーションで高い値に設定でき、後続のイテレーションを経て減少し、それにより、ニューラルネットワークは、まず正しいセグメンテーションマスクを生成することを学習し、その後、そのセグメンテーションマスクを改良し、オブジェクトのよりよい表現を提供し、潜在空間内のよりよい分布を使用することを同時に学習する。
【0089】
本発明の多数の実施形態において、訓練は、複数の解像度で並行して行われる。例えば、入力画像のネイティブ解像度が1920×1080である場合、入力画像は、960×600及び480×300に縮小できる。セグメンテーションマスクを定義する参照アルファチャネルは、相応に縮小でき、それにより3種類の解像度に対応する3つのオートエンコーダを同じ訓練セットで並行して訓練できる。この解像度の例は、当然のことながら、限定的ではなく、より一般的には入力画像及び参照アルファチャネルを縮小して2つ以上の解像度の入力画像及びセグメンテーションマスクを取得することにより、2つ以上のオートエンコーダを並行して訓練でき、解像度はネイティブ解像度及び標的とされる詳細部の大きさの両方に応じて規定できる。
【0090】
これにより、異なる解像度で効率的なセグメンテーションを実行できるようにすることができる。これは、インスタンスオブジェクトのセグメンテーションに依拠する特定の用途にとって有益である可能性がある。例えば、異常検知に関する応用では、異なる解像度により、異なる大きさの異常検知が可能となり得、すなわち、高い解像度は、小さい欠陥の検出にとって効率的であるのに対して、大きい欠陥の検出では効率的でないことがあり得、またその逆である。したがって、複数の解像度のオブジェクトのセグメンテーションにより、異なる解像度でのセグメンテーションの実行が可能となり、応用の出力がセグメンテーションマスクに基づいて改善される。潜在空間(すなわち圧縮ベクトルzt)の大きさも、標的とする解像度に応じて調整できる。例えば、本出願人は、異常検知の応用において、オートエンコーダが、その大きさが潜在空間内の潜在変数の空間受容野の約4分の1である異常の検知に最も適していることを認識した。
【0091】
図7は、本発明の多数の実施形態におけるオートエンコーダを使用するためのコンピュータ実装方法を表す。
【0092】
方法700は、少なくとも1つのカラーチャネルを有するデジタル画像を取得する第一のステップ710を含む。
図4に関して説明したように、画像は、様々な方法で取得され得る。これらは、例えば、カメラで撮影され、データベースから読み出され、通信チャネルを通して受信され得る等であり、デジタル画像は、RGB又はグレイスケール画像等、様々な形態を有することができる。
【0093】
方法700は、前記デジタル画像を含む入力ベクトルを形成する第二のステップ720をさらに含む。
【0094】
方法700は、オートエンコーダ420を使用して入力ベクトルを圧縮ベクトルに符号化し(730)、圧縮ベクトルを、入力画像のカラーチャネルに加えてアルファチャネルも含む復元ベクトルに復号する(740)第三及び第四のステップをさらに含む。
【0095】
オートエンコーダ420は、本発明のある実施形態、例えば
図5に関して説明した実施形態の1つに従って訓練されている。オートエンコーダは、画像内のオブジェクトのセグメンテーションマスクを生成するように訓練されているため、復元ベクトルのアルファチャネルは、デジタル画像内のオブジェクトのためのセグメンテーションマスクを定義する。
【0096】
有利には、オートエンコーダを訓練するために使用される訓練セットは、セグメンテーションを得る必要のあるオブジェクトと同じクラスのオブジェクトと、セグメンテーションマスクを定義する、対応する参照アルファチャネルとを含む。例えば、方法700が、製造ラインの終端における特定の種類の香水瓶のためのセグメンテーションマスクを生成するためのものである場合、オートエンコーダは、有利には、同じ種類の香水瓶の写真で訓練されており、各画像は、画像内の香水瓶のためのセグメンテーションマスクを定義する参照アルファチャネルに関連付けられている。同じ原理は、何れの種類のオブジェクト又は製品のためになされたセグメンテーションマスクを生成するためにも使用できる。
【0097】
最後に、方法700は、デジタル画像内のオブジェクトのためのセグメンテーションマスクを、前記復元ベクトルのアルファチャネルに基づいて取得する第五のステップ750を含む。これは、アルファチャネルに使用された方式に応じて簡単な方法で行うことができる。例えば、1と等しいアルファの値が、あるピクセルがオブジェクトに属することを意味し、0と等しいアルファの値が、あるピクセルが背景に属することを意味する場合、オブジェクトのセグメンテーションマスクは、復元されたアルファチャネルから直接取得できる。
【0098】
前述のように、方法700により、規定の種類のオブジェクトについて、そのオブジェクトが訓練セットで遭遇しなかった欠陥又は異常によって影響を受けていても、正確なセグメンテーションマスクを生成することができる。方法700は、オクルージョン及びオブジェクトの背景の変動に対してロバストでもある。
【0099】
加えて、方法は、セグメンテーションマスクを生成するための計算時間及びリソースが何れの状況でも限定的であることが確実となるという利点を提供する。
【0100】
さらに、オートエンコーダの出力は、セグメンテーションマスクの生成だけでなく、異常検知等のその後の用途にも使用できる。
【0101】
図5に関して説明した実施形態は、全て方法700に適応させることができる。例えば、入力画像を縮小でき、複数の解像度のアルファチャネルを追加でき、入力画像及び対応するアルファチャネルを複数の解像度において、それぞれ複数の解像度でセグメンテーションマスクを生成するように訓練された複数のオートエンコーダに並列して送信できる。
【0102】
図8は、欠陥によって影響を受けているオブジェクトのクラスのインスタンスの斜視内の、本発明によるデバイス又は方法によって生成されるセグメンテーションマスクの一例を表す。
【0103】
写真300は、
図3に示されているものと同様のオブジェクト310を示し、欠陥320、この例ではグリススポットによって影響を受けている。しかしながら、この例では、本発明による方法によってマスク830が生成されており、これは、先行技術のセグメンテーションマスク330よりもオブジェクト310を背景からはるかにより正確にセグメント化する。より具体的には、マスク830は、オブジェクト310の全体的形状を画定し、オブジェクトから欠陥320を表すピクセルを排除しない。
【0104】
この例は、本発明により、特に欠陥又は異常によって影響を受けるオブジェクトについて、先行技術のそれらよりはるかに正確なセグメンテーションマスクを生成できることを実証している。
【0105】
上述の例は、本発明の実施形態の非限定的な例示として提供されている。これらは、以下の特許請求の範囲によって定義される本発明の範囲を決して限定しない。
【国際調査報告】