(57)【要約】      （修正有）【課題】画像をセグメント化するための画像処理方法を提供する。【解決手段】方法は、第１の画像から第１の画像より低い解像度表現である第２の画像を生成することと、第１の特徴マップを生成するために、第１の処理ステージを用いて第１の画像を処理することと、第２の特徴マップを生成するために、第２の処理ステージを用いて第２の画像を処理することと、第１の特徴マップを第２の特徴マップと組み合わせること、によりセマンティックセグメント化された画像を生成する。第１の処理ステージは、少なくとも１つの分離可能な畳み込みモジュールを備える第１のニューラルネットワークを備える。第２の処理ステージは、少なくとも１つの分離可能な畳み込みモジュールを備える第２のニューラルネットワークを備える。さらに、第１のニューラルネットワークにおける層の数は、第２のニューラルネットワークにおける層の数よりも少ない。【選択図】なし【特許請求の範囲】
【請求項１】
画像をセグメント化するための画像処理方法であって、
第１の画像を受け取ることと、
前記第１の画像から、前記第１の画像のより低い解像度表現である第２の画像を生成することと、
第１の特徴マップを生成するために、第１の処理ステージを用いて前記第１の画像を処理することと、
第２の特徴マップを生成するために、第２の処理ステージを用いて前記第２の画像を処理することと、
セマンティックセグメント化された画像を生成するために、前記第１の特徴マップを前記第２の特徴マップと組み合わせることと、
を備え、
前記第１の処理ステージは、分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第１のニューラルネットワークを備え、前記第２の処理ステージは、分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第２のニューラルネットワークを備え、前記第１のニューラルネットワークにおける層の数は、前記第２のニューラルネットワークにおける層の数よりも少ない、
画像処理方法。
【請求項２】
前記第１の特徴マップ及び前記第２の特徴マップは、たった１つのステージで組み合わせられる、請求項１に記載の画像処理方法。
【請求項３】
前記第１の特徴マップ及び前記第２の特徴マップは、加算によって組み合わせられる、請求項２に記載の画像処理方法。
【請求項４】
前記第１の特徴マップ及び前記第２の特徴マップは、融合ステージにおいて組み合わせられ、前記融合ステージは、前記第２の特徴マップをアップサンプリングすることと、前記第１の特徴マップを前記第２の特徴マップに加算することと、を備え、加算することは、前記アップサンプリングされた第２の特徴マップ及び前記第１の特徴マップの対応する値を加算することを備える、請求項２に記載の画像処理方法。
【請求項５】
アップサンプリングされた第２の特徴マップは、前記第１の特徴マップへの加算に先立って深さ方向畳み込みを実施され、前記深さ方向畳み込みは、１よりも大きい拡張係数を用いて実施される、請求項４に記載の画像処理方法。
【請求項６】
アップサンプリングされた第２の特徴マップは、１よりも大きい拡張係数を用いて深さ方向畳み込みを実施されており、前記第１の特徴マップは、加算に先立って２次元畳み込みを実施される、請求項５に記載の画像処理方法。
【請求項７】
前記第２の処理ステージにおける分離可能な畳み込みモジュールは、深さ方向畳み込みモジュールである、請求項１に記載の画像処理方法。
【請求項８】
前記第２の処理ステージにおける分離可能な畳み込みモジュールは、ボトルネックアーキテクチャモジュールである、請求項１に記載の画像処理方法。
【請求項９】
前記第２の処理ステージにおける分離可能な畳み込みモジュールは、ボトルネック残差アーキテクチャモジュールである、請求項１に記載の画像処理方法。
【請求項１０】
前記第２の画像は、前記分離可能な畳み込みモジュールによって処理されることに先立って標準畳み込みを実施される、請求項１に記載の画像処理方法。
【請求項１１】
複数の残差ボトルネックアーキテクチャモジュールが存在する、請求項９に記載の画像処理方法。
【請求項１２】
最終の標準畳み込みモジュールが、前記残差ボトルネックアーキテクチャモジュールの後に提供される、請求項１１に記載の画像処理方法。
【請求項１３】
ピラミッドプーリングモジュールが、前記最終の標準畳み込みモジュールと前記残差ボトルネックアーキテクチャモジュールとの間に提供される、請求項１２に記載の画像処理方法。
【請求項１４】
前記第１の処理ステージは、複数の深さ方向の分離可能な畳み込みモジュールを備える、請求項１に記載の画像処理方法。
【請求項１５】
画像をセグメント化するためのモデルを学習する方法であって、
前記モデルが、
分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える複数の層を有する第１のニューラルネットワークと、
分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える複数の層を有する第２のニューラルネットワークと、
を備え、
前記第１のニューラルネットワークにおける層の数は、前記第２のニューラルネットワークにおける層の数よりも少なく、
前記第１のニューラルネットワークは、第１の解像度で画像を処理するように構成され、前記第２のニューラルネットワークは、より低い解像度で同じ画像を処理するように構成され、
前記第１の及び第２のニューラルネットワークの特徴マップは、単一のステージにおいて加算によって組み合わせられ、
前記学習方法は、
画像と、前記画像に関するセマンティックセグメント化された情報と、を含む学習データを提供することと、
前記画像を入力として使用し、且つ前記セマンティックセグメント化された情報を出力として使用して、前記モデルを学習することと、
を備え、２つのステージは一緒に学習される、
方法。
【請求項１６】
学習の間にフィルタの数を増加させることと、より重要性の低いフィルタを廃棄するためにそれらの数を低減することと、をさらに備える、請求項１５に記載の方法。
【請求項１７】
前記第２の処理ステージにおいて第２の出力を加算するために学習の間に前記モデルを適合させることをさらに備え、前記方法は、前記画像を入力として使用して学習することと、前記出力と前記第２の出力との両方における前記セマンティックセグメント化された情報の両方を比較することによって損失を決定することと、両方の出力から前記決定された損失を使用することによって学習の間に重みを更新することと、をさらに備える、請求項１５に記載の方法。
【請求項１８】
画像をセグメント化するための画像処理システムであって、
前記システムはインタフェース及びプロセッサを備え、
前記インタフェースは、画像入力を有し、第１の画像を受け取るように構成され、
前記プロセッサは、
前記第１の画像から、前記第１の画像のより低い解像度表現である第２の画像を生成することと、
第１の特徴マップを生成するために、第１の処理ステージを用いて前記第１の画像を処理することと、
第２の特徴マップを生成するために、第２の処理ステージを用いて前記第２の画像を処理することと、
セマンティックセグメント化された画像を生成するために、前記第１の特徴マップを前記第２の特徴マップと組み合わせることと、
を行うように構成され、
前記第１の処理ステージは、分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第１のニューラルネットワークを備え、前記第２の処理ステージは、分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第２のニューラルネットワークを備え、前記第１のニューラルネットワークにおける層の数は、前記第２のニューラルネットワークにおける層の数よりも少ない、
画像処理システム。
【請求項１９】
乗物のための検出システムであって、前記検出システムは、請求項１８に記載の画像処理システムを備え、画像を受け取り、前記画像をセグメント化することによって前記画像からオブジェクトを決定するように構成される、検出システム。
【請求項２０】
請求項１に記載の方法をコンピュータに実行させるように適合されたコンピュータ読み取り可能な命令を搬送する、非一時的な搬送媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、コンピュータビジョンシステム及び方法に関する。
【背景技術】
【０００２】
多くのコンピュータビジョンタスク、例えば、オブジェクト認識及び登録は、画像のセグメンテーションを必要とし、セグメンテーションでは画像の複数の領域がラベルを提供される。セマンティックセグメンテーションは、詳細なピクセルレベル基準を提供し、それは特に、障害物検出及び正確な境界検出を頻繁に必要とする用途に適している。そのような用途は、自律走行車及び運転者支援、組み込み及びウェアラブルデバイスを含むが、それらに限定されるわけではない。
【０００３】
現代のセマンティックセグメンテーション方法は、極めて正確な結果を達成するが、それは多くの場合、効率の低下という犠牲を払う。畳み込みニューラルネットワーク（ＣＮＮ）の最近の進歩は、これらのネットワークによって達成される結果に著しい改善を示す。しかしながら、それらの有効性は、モデルに関わるパラメータ及び演算の数に大きく依存する。現代のセマンティックセグメンテーション方法は、ハイエンドグラフィックプロセシングユニット（ＧＰＵ）で処理が実施されたとしても、単一の画像のオブジェクト分類を実施するために１秒より長い時間を必要とする。これらの方法の複雑性は、リアルタイムアプリケーションでのそれらの展開を妨げる。
【０００４】
自律運転は、高精度のオブジェクト検出及び認識だけでなく、オブジェクト分類ニューラルネットワークのリアルタイム演算も必要とする、複雑なタスクである。故に、セマンティックセグメンテーションがオブジェクト分類の精度を損なうことなくリアルタイムで実施される、セマンティックセグメンテーションのための新しいアプローチが必要とされる。
【図面の簡単な説明】
【０００５】
【図１】図１は、乗物に実装される実施形態によるシステムである。
【図２】図２は、各サブネットワーク分岐の責務を特定する、図１のシステム中で使用されることができるニューラルネットワークの簡潔なフロー図である。
【図３】図３は、オブジェクト分類のためのニューラルネットワークの詳細なフロー図である。
【図４】図４は、一実施形態に従って使用されることができるネットワークアーキテクチャの概略図である。
【図５】図５は、ピラミッドプーリングをより詳細に示す概略図である。
【図６】図６は、オブジェクト分類のためにニューラルネットワークを学習するための例示的な処理のフロー図である。
【図７】図７は、パラメータプルーニング処理を示すフロー図である。
【図８】図８は、都市景観検証セットについての視覚的な比較を示し、第１の行が入力ＲＧＢ画像、第２の行がグラウンドトゥルース、第３の行がコンテキスト分岐出力、第４の行が詳細分岐出力、最終行がコンテキスト分岐と詳細分岐との両方を使用した出力である。
【図９】図９は、一実施形態に従って使用されることができるデバイスの概略図である。
【発明を実施するための形態】
【０００６】
一実施形態では、画像をセグメント化するための画像処理方法が提供され、方法は、
第１の画像を受け取ることと、
第１の画像から、第１の画像のより低い解像度表現である第２の画像を生成することと、
第１の特徴マップを生成するために、第１の処理ステージを用いて第１の画像を処理することと、
第２の特徴マップを生成するために、第２の処理ステージを用いて第２の画像を処理することと、
セマンティックセグメント化された（semantic segmented）画像を生成するために、第１の特徴マップを第２の特徴マップと組み合わせることと、
を備え、
第１の処理ステージは、分離可能な畳み込み（separable convolution）を実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第１のニューラルネットワークを備え、第２の処理ステージは、分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える第２のニューラルネットワークを備え、第１のニューラルネットワークにおける層の数は、第２のニューラルネットワークにおける層の数よりも少ない。
【０００７】
開示されるシステムは、コンピュータ技術に関係する及びコンピューティングの分野で生ずる技術的課題、すなわち、リアルタイムのセマンティックセグメンテーションを提供するという技術的課題に対処するものである。開示されるシステムは、２つの分岐のニューラルネットワークアーキテクチャによってこの技術的問題を解決するものであり、そこでは低解像度分岐がコンテキストについて処理され、高解像度分岐が空間精度について処理される。各分岐における畳み込みネットワークブロックの特定の構成によって改善が提供される。
【０００８】
このシステムの例示された実施形態は、ネットワークアーキテクチャを備え、それは、最大解像度のサブネットワーク分岐と低減された解像度のサブネットワーク分岐とを組み合わせる。第２のサブネットワーク分岐は、より低い解像度の画像に関連するものであり、画像又はシーンを構成するオブジェクトを分類するか又はそうでなければ識別することを目的とする。さらに、より低い解像度の分岐は、シーン中に存在するオブジェクトにラベルを割り当てるために説明される。一方、最大解像度サブネットワーク分岐は、主として、高解像度セグメンテーション結果のためにオブジェクト境界を洗練する（refining）ことを担う。
【０００９】
上記の実施形態では、リアルタイムパフォーマンスは、低解像度の深いコンテキスト分岐ネットワークを、高解像度のいくぶん浅い詳細分岐ネットワークと共に使用することによって得られる。したがって、ネットワークは、低解像度でコンテキストを知覚し、それを高解像度の結果で洗練する。
【００１０】
上記の実施形態のアーキテクチャは、低解像度コンテキスト分岐が主に正確なオブジェクトラベルを提供することを担い、一方、高解像度詳細分岐がセグメンテーション境界を洗練することを保証にするように設計される。
【００１１】
上記の実施形態のモデルは、以下の理由により、計算コストを低減する。
ｉ）コンテキスト処理においては、より複雑且つ抽象的な特徴を学習する必要があり、よってより深いネットワークが必要とされる。しかしながら、より高い解像度の入力は必要とされないので、コンテキスト分岐についてより低い解像度の入力を使用することによってモデルコストが低減される。
ｉｉ）境界処理においては、高解像度の入力が必要とされる。しかしながら、広視野を見る必要はないので、詳細分岐において層を少ししか使用しないことで、モデルコストが低減される。
ｉｉｉ）故に、上述されたように、２つの異なる目的のための２つの分岐を動作させることによって、全体的なモデルコストが低減される。
【００１２】
上記の実施形態は、以下を提供する。
低リソース（埋め込み）デバイスに限定されるわけではないが、それに適した２メガピクセル（２０４８ｘ１０２４ピクセル）画像の効率的なリアルタイムセマンティック画像セグメンテーションのための方法
計算コスト（浮遊小数点演算数、メモリ及び電力）を低減するための２つの分岐の深いニューラルネットワークを使用したセマンティック画像セグメンテーションのための方法
シーンの要点（例えば、一般的オブジェクトに関する）及び詳細（境界に関する）が別々に学習される方法
【００１３】
オブジェクト識別及び分類の実施形態では、システムは、ニューラルネットワークを使用した機械学習モジュールとして実現される。このシステムの実施形態では、フィードフォワードニューラルネットワークが使用される。システムは、高解像度画像の形式で入力を受け取り、モデルの内部の重みパラメータの値に従って出力を生成する。ニューラルネットワークの重みは、学習プロシージャの間に決定され、ここでシステムは、多様なサンプル画像を提供され、ターゲット出力に対する生成された出力における誤差に従って重みが調整される。生成される出力とターゲット出力との間の誤差が最小に低減されるように、重みが調整される。
【００１４】
一実施形態では、低解像度分岐と最大解像度分岐との両方が、ニューラルネットワークを使用して実現される。低解像度分岐における層の数は、高解像度分岐における層の数より多い。
【００１５】
一実施形態では、上記のシステムは、１ｘ１ポイント方向畳み込み層（point-wise convolution layer）が後に続く、空間又はチャンネル方向畳み込みとしても知られる深さ方向畳み込み（ＤＷＣｏｎｖ：depth-wise convolution）へと標準畳み込み（Ｃｏｎｖ２ｄ）を分解するために、深さ方向の分離可能な畳み込み（depth-wise separable convolution）を使用する。故にクロスチャンネル及び空間相関が独立して計算され、それはパラメータの数を大幅に低減し、より少ない浮遊小数点演算及び速い実行時間をもたらす。
【００１６】
一実施形態では、第１の特徴マップ及び第２の特徴マップは、たった１つのステージで組み合わせられる。高解像度分岐の出力は、低解像度分岐と１回だけ組み合わせられる、すなわち、第１の特徴マップと第２の特徴マップとが、融合ユニットにおいて組み合わせられる。
【００１７】
一実施形態では、第１の特徴マップ及び第２の特徴マップは、融合ステージにおいて組み合わせられ、融合ステージは、第２の特徴マップをアップサンプリングすることと、第１の特徴マップを第２の特徴マップに加算することと、を備え、加算することは、第１の特徴マップとアップサンプリングされた第２の特徴マップとの対応する値を加算することを備える。
【００１８】
さらなる実施形態では、第１の特徴マップと第２の特徴マップとは加算によって組み合わせられる。一実施形態では、（アップサンプリング後の低解像度からの）サイズａ＊ｂ＊ｃの第２の特徴マップは、両方の数を加算することによって、サイズａ＊ｂ＊ｃの組み合わせられた特徴マップＣを作り出すために、サイズａ＊ｂ＊ｃの第２の特徴マップと組み合わせられる。連結は必要とされず、これによりメモリフットプリントを小さいままになることが可能となる。
【００１９】
アップサンプリングされた第２の特徴マップは、第１の特徴マップへの加算に先立って、深さ方向畳み込みを実施され得、深さ方向畳み込みは、１よりも大きい拡張係数（dilation factor）を用いて実施される。
【００２０】
さらなる実施形態では、１よりも大きい拡張係数を用いて深さ方向畳み込みを実施されたアップサンプリングされた第２の特徴マップ及び第１の特徴マップが、加算に先立って２次元畳み込みを実施される。
【００２１】
一実施形態では、第２の処理ステージにおける深さ方向畳み込みモジュールは、ボトルネックアーキテクチャモジュール（bottleneck architecture modules）である。ボトルネックアーキテクチャモジュールは、特徴拡張を実施し、その後に深さ方向畳み込みが続き、その後にポイント畳み込みが続く。故に、これらはまた、深さ方向の分離可能な畳み込みを実装すると考えられることができる。
【００２２】
一実施形態では、第２の処理ステージにおける深さ方向畳み込みモジュールは、ボトルネック残差アーキテクチャモジュール（bottleneck residual architecture modules）である。複数の残差ボトルネックアーキテクチャモジュールが存在し得る。残差ボトルネックアーキテクチャモジュールからの出力チャンネルの数は、複数の残差ボトルネックアーキテクチャモジュールにおける後続のモジュールにおいて増加し得る。
【００２３】
第２の画像は、深さ方向畳み込みモジュールによって処理されることに先だって、標準畳み込みを実施され得る。最終の標準畳み込みモジュールが、残差ボトルネックアーキテクチャモジュールの後に提供され得る。
【００２４】
一実施形態では、最終の標準畳み込みモジュールと残差ボトルネックアーキテクチャモジュールとの間にピラミッドプーリングモジュール（pyramid pooling module）が提供される。
【００２５】
第１の処理ステージは、複数の深さ方向の分離可能な畳み込みモジュールを備え得る。第１の画像は、深さ方向の分離可能な畳み込みモジュールによって処理することに先立って標準畳み込みを実施され得る。
【００２６】
一実施形態では、画像をセグメント化するためのモデルを学習する方法が提供され、モデルが、
分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える複数の層を有する第１のニューラルネットワークと、
分離可能な畳み込みを実施するように構成される少なくとも１つの分離可能な畳み込みモジュールを備える、複数の層を有する第２のニューラルネットワークと、
を備え、
第１のニューラルネットワークにおける層の数は、第２のニューラルネットワークにおける層の数より少なく、
第１のニューラルネットワークは、第１の解像度で画像を処理するように構成され、第２のニューラルネットワークは、より低い解像度で同じ画像を処理するように構成され、
第１の及び第２のニューラルネットワークの特徴マップは、単一のステージにおいて加算によって組み合わせられ、
この学習方法は、
画像と、画像に関するセマンティックセグメント化された情報と、を含む学習データを提供することと、
画像を入力として使用し、且つセマンティックセグメント化された情報を出力として使用して、モデルを学習することと、
を備え、２つのステージは一緒に学習される。
【００２７】
さらなる実施形態では、パラメータプルーニング（pruning）が、学習の間に実施され得る。
【００２８】
さらなる実施形態では、学習方法は、第２の処理ステージにおいて第２の出力を加算するために学習の間にモデルを適合させることをさらに備え得、方法は、画像を入力として使用して学習することと、出力と第２の出力との両方におけるセマンティックセグメント化された情報の両方を比較することによって損失を決定することと、両方の出力からの決定された損失を使用することによって学習の間に重みを更新することと、をさらに備える。
【００２９】
一実施形態では、画像をセグメント化するための画像処理システムが提供され、
システムはインタフェース及びプロセッサを備え、
前記インタフェースは、画像入力を有し、第１の画像を受け取るように構成され、
前記プロセッサは、
第１の画像から、第１の画像のより低い解像度表現である第２の画像を生成することと、
第１の特徴マップを生成するために、第１の処理ステージを用いて第１の画像を処理することと、
第２の特徴マップを生成するために、第２の処理ステージを用いて第２の画像を処理することと、
セマンティックセグメント化された画像を生成するために、第１の特徴マップを第２の特徴マップと組み合わせることと、
を行うように構成され、
第１の処理ステージは、深さ方向の分離可能な畳み込みを実施するように構成される少なくとも１つのモジュールを備える第１のニューラルネットワークを備え、第２の処理ステージは、深さ方向畳み込みを実施するように構成される少なくとも１つのモジュールを備える第２のニューラルネットワークを備え、第１のニューラルネットワークにおける層の数は、第２のニューラルネットワークにおける層の数よりも少ない。
【００３０】
一実施形態では、システムは、乗物に実装され、システムが実装されることができる乗物は、システムに入力高解像度画像を提供する１つの又は複数の静止デジタルカメラ及び又はビデオデジタルカメラを備える自律及び半自律走行車を含むが、それらに限定されるわけではない。一実施形態では、システムは、乗物に設置されたグラフィックスプロセシングユニット又は中央処理装置において実現される。システムの目的は、乗物を取り囲むオブジェクトを分類し、それの最終目的地に向けた乗物の安全なナビゲーションを容易にすることである。
【００３１】
したがって、さらなる実施形態では、乗物のための検出システムが提供され、この検出システムは上述したような画像処理システムを備えるものであり、この検出システムは、画像を受け取り、画像をセグメント化することによって画像からオブジェクトを決定するように構成される。
【００３２】
したがって、上記の実施形態は、以下を提供することができる。
自律システムのための効率的なリアルタイムセマンティック画像セグメンテーション
自律運転＋運転者支援システム：低リソースデバイス上での高速セマンティック画像セグメンテーション
低電力デバイス、例えばＮｖｉｄｉａ  Ｊｅｔｓｏｎ  ＴＸ２におけるリアルタイムセマンティック画像セグメンテーション
【００３３】
さらなる実施形態では、システムは、コンピュータ上のコンピュータプログラムとして実施されることができ、ここで入力画像は、ソリッドステート記憶ユニットから取得されるか、通信プロトコルによってコンピュータに送信される。
【００３４】
図１は、オブジェクト分類ネットワークの実施形態を例示するために使用され、それは、システムが乗物と共に移動するように、乗物のボード上に設けられている。図１は、車１の概略図を示し、ここで車１は衝突防止システムを搭載している。衝突防止システムは、４つのカメラ３、５、７、９を備えており、ここでカメラ３、５、７、９は車１の各角に設けられている。それらカメラの各々は、カメラが、観察可能な世界を広範囲にわたって見ることを可能にする広い視野（ＦＯＶ：field of view）を有する。一実施形態では、各カメラ３、５、７、９は、非常に広角な魚眼レンズを備えてよく、それはワイドパノラマ画像を生成する。各カメラからの画像は、別々に生成されるが、前方カメラ３及び５のＦＯＶは、オーバーラップし得、車１の前方にビューが遮られるエリアが無いようにする。後方カメラ７及び９のＦＯＶもまたオーバーラップし得、車１の後ろにビューが遮られるエリアが無いようにする。
【００３５】
システムの１つの実施形態では、各カメラ３、５、７、９からの画像は、単一の中央処理装置（ＣＰＵ）又はＧＰＵによって別々に処理される。システムのさらなる実施形態では、各カメラ３、５、７、９は、別々のＣＰＵ又はＧＰＵを提供され、それは画像を処理して、処理された画像を車１の中央ＣＰＵに送る。
【００３６】
図２は、識別及び分類のための、一実施形態によるシステムのフロー図を示す。
【００３７】
ステップＳ２０１において、カメラ３、５、７、９は、シーンの画像をキャプチャし、シーンは、１つ又は複数のオブジェクトを備え得る。一実施形態では、シーンは、都市の街道のシーンである。画像は、オブジェクト分類システムに入力され、ここでオブジェクトが結果として識別され、ニューラルネットワークによってラベルを提供されることになる。
【００３８】
ステップ２０１の後、一実施形態では、画像の経路は、２つの独立したサブネットワーク分岐に枝分かれする。第１の分岐では、画像は、最大解像度で提供され、ステップＳ２０７において、ニューラルネットワークは、シーンのローカルコンテキストを抽出する。第２の分岐は、グローバルコンテキストを抽出することステップＳ２０５を担うものであり、画像のダウンサンプリングされた表現、ステップＳ２０３を備える。
【００３９】
図２では、シーン中のオブジェクトに、適したラベルでラベル付けするための第２のサブネットワーク分岐が説明された。実施形態に従って、どのようにこれが達成されるかが、図３のステップＳ３０３〜Ｓ３０９を参照して説明されることになる。
【００４０】
ステップＳ３０３において、画像寸法である長さｈ及び幅ｗがｎ分の１に縮小される。故に、画像は、低解像度サブネットワーク分岐においてはｎ２分の１にダウンサンプリングされる。システムの計算時間及びオブジェクト分類の達成される正確さは、両方とも係数ｎの値に反比例する。
【００４１】
一実施形態では、係数ｎは、２と８との間の範囲にある。ｎの値が大きければ、低解像度分岐についてより低い解像度がもたらされ、演算数を効率的に低減し、且つより速い分類を達成する。しかしながら、高速演算は、正確さの低減という代償を払う。反対に、ｎの値がより小さければ、低解像度分岐についてより高い解像度がもたらされ、オブジェクト分類の正確さを効率的に増加させるが、処理時間の増加を代償とする。
【００４２】
入力画像は、３次元マトリックスフォーマットで表されることができる。各ピクセルは、３つのチャンネルを備え、ここで各チャンネルは、３つの色、つまり赤、緑及び青（ＲＧＢ）のうちの１つの強度に関連する数値を有する。標準の計算では、２Ｄ畳み込みは、ｈ＊ｗ＊ｃフィルタを用いて使用されることができ、ここでｈは高さであり、ｗは幅であり、ｃはチャンネルである。ｈ＊ｗ＊３（ＲＧＢの画像に対する畳み込み）は、ｈ＊ｗ＊１（ＤＷ畳み込み）と同様なので、ここでは標準畳み込みで構わない。留意されたい点は、通常、特徴チャンネルの数は、ＣＮＮで急激に増加するので、ｈ＊ｗ＊３２／６４／１２８は、特異ではないことである。一実施形態では、深さ方向畳み込みは、チャンネルの数の増加を伴って使用される。
【００４３】
ステップＳ３０５において、畳み込みニューラルサブネットワークの第１の層は、２次元プーリング畳み込み層である。プーリング層は、さらなるダウンサンプリング演算を実施し、ここで、出力された特徴マップの寸法は、層のストライドに対する係数分の１に縮小される。層のストライドは、畳み込みカーネルが、それが画像にわたって走査されるときにどれだけ動くかということであると考えることができる。例えば、ストライド１（１ピクセル）のプーリング畳み込み層は、特徴マップの空間次元に影響を与えないことになり、一方でストライド２のプーリング畳み込み層は、それらの寸法を２分の１にダウンサンプリングすることになる。より小さい特徴マップは、より速い推論をもたらし得るが、予測精度を犠牲にする。
【００４４】
この実施形態では、第１の畳み込み層は、複数のフィルタ又はカーネルを入力ボリュームに適用する。各フィルタがシーンと比較され、２次元特徴マップが生成される。特徴マップは、フィルタとシーン中の特徴又はオブジェクトとの間の一致の結果として生じる活性化の空間配列を表す。全ての特徴マップは、深さ寸法に沿って積み重ねられ、出力ボリュームを生成する。例えば、３２個の出力チャンネルから成る畳み込みニューラルネットワークは、３２個のフィルタを入力ボリュームに適用し、深さ寸法３２の出力ボリュームをレンダリングするために積み重ねられる３２個の特徴マップを生成する。
【００４５】
一実施形態では、オブジェクト分類は、いくつかの深さ方向の分離可能な畳み込み層を利用するニューラルネットワークを用いて実施される。深さ方向畳み込みでは、２次元畳み込みが各入力チャンネルに対して別々に実施され、各入力チャンネルについての特徴マップが生成される。全ての特徴マップは、畳み込みプロシージャの終わりに再度一緒に積み重ねられる。例えば、カメラ３、５、７、９は、ニューラルネットワークにカラーデジタル画像を提供し、ここで、各ピクセルは、１つは赤、１つは緑、及び１つは青の、３つの値のセットを備える。画像が深さ方向の分離可能な畳み込み層で処理されるとき、２次元畳み込みが色ごとに別々に実施される。
【００４６】
一実施形態では、深さ方向畳み込み層はボトルネックブロック内で使用され得る。ボトルネック残差ブロックは、入力を、ｃから、表１に従った非一次関数ｆ、畳み込みタイプカーネルサイズ／ストライドｓ、拡張係数（expansion factor）ｔ、幅ｗ、高さｈを有するｃ’チャンネルへと移す（transfer）。
【００４７】
ボトルネックブロックでは、入力ボリュームが拡張され、次いでそれは深さ方向畳み込み層及びそれに続くポイント方向畳み込みでフィルタされる。
【００４８】
一般に、最初にポイント方向畳み込みが適用される（行１）。次いで深さ方向畳み込み及びポイント方向畳み込み（行２及び３）が適用される。
【００４９】
一実施形態では、以下の処理が成される。
Ｃｏｎｖ２ｄ  １／１
（１×１×ｃ×ｔ＊ｃパラメータ）
（ｈ×ｗ×１×１×ｃ×ｔ＊ｃ演算）
Ｃｏｎｖ２ｄ  ３／ｓ
（３×３×ｔ＊ｃ×ｃ’パラメータ）
（ｈ／ｓ×ｗ／ｓ×３×３×ｔ＊ｃ×ｃ’演算）
【００５０】
しかしながら、代替の実施形態では、以下が使用され得る。
Ｃｏｎｖ２ｄ  １／１
（１×１×ｃ×ｔ＊ｃパラメータ）
（ｈ×ｗ×１×１×ｃ×ｔ＊ｃ演算）
ＤＷＣｏｎｖ３／ｓ
（３×３×１×ｔ＊ｃパラメータ）
（ｈ／ｓ×ｗ／ｓ×３×３×１×ｔ＊ｃ演算）
Ｃｏｎｖ２ｄ  １／１
（１×１×ｔ＊ｃ×ｃ’パラメータ）
（ｈ／ｓ×ｗ／ｓ×１×１×ｔ＊ｃ×ｃ’演算）
【００５１】
上記の代替的な実施形態では、必要とされる計算がより少なく、パラメータがより少ない。
【００５２】
より高解像度で特徴を学習すること及びそれらをより低い解像度に投影することは、特徴学習プロシージャに利益をもたらす。さらに、ボトルネックブロックにおいて深さ方向畳み込みを利用することは、計算効率を提供し、メモリフットプリントを著しく低減する。
【００５３】
さらなる実施形態では、残差接続（residual connections）がボトルネックブロックに組み込まれ得、それはボトルネック残差ブロックを形成する。残差接続は、入力及び出力ボリュームが同じ空間次元及び特徴マップの数を有する場合にのみ、ボトルネックブロック内で使用され得る。残差接続は、ボトルネックブロックの入力からそれの出力に接続される線形層を表す。追加の接続層により、乗算層（multiplier layers）にわたるより効果的な勾配伝搬が可能となり、ニューラルネットワークの学習が改善される。
【００５４】
一実施形態では、オブジェクト分類システムのためにステップＳ３０７で使用されるボトルネック残差ブロックは、表１に示される構造を有する。第１の層は、係数ｔで特徴マップの数を増加させることによって入力ボリュームの寸法を拡張する標準２次元畳み込み層である。
【００５５】
【表１】
2020071862.tif 000002
【００５６】
ボトルネック残差ブロックの第２の層では、深さ方向畳み込みフィルタがシーンから特徴を抽出するために使用される。深さ方向畳み込みは、ストライドｓを有し、故に、特徴マップの出力寸法は、ｓ分の１に空間的に低減されることになる。ストライドが１である畳み込み層では、特徴マップの空間サイズは影響を受けない。空間サイズの低減は、後続のネットワーク層における計算の数を効率的に低減する。畳み込みは各深さにおいて別々に計算されるので、ＤＷｃｏｎｖは標準畳み込みを著しく改善する。空間サイズの低減は、後続のネットワーク層における（パラメータではなく）計算の数を効率的に低減する。
【００５７】
深さ方向畳み込みと、それに続くポイント方向畳み込みは、標準畳み込み層と比較して、オブジェクト検出の正確さを著しく低減しない。情報は、最初にチャンネル方向レベルで計算され、チャンネル方向情報を組み合わせる、よりコストのかからない標準畳み込みが、その後に続く。畳み込みが使用するのはカーネル１ｘ１のみであるので、それはより速く、必要とするパラメータはより少ない。
【００５８】
最後に、ボトルネック残差ブロックでは、深さ方向の分離可能な畳み込み層によって生成される出力ボリュームは、２次元畳み込みの第２の層を使用して、それの元の低次元表現へと戻るように投影され得る。第１の及び第２の２次元畳み込みについて使用される拡張係数ｔは、２つの層について同じである。
【００５９】
一実施形態では、ピラミッドプーリングモジュール（図４には示されていない）が、最終の畳み込み層であるＳ３０９の前に実装される。
【００６０】
ピラミッドプーリングモジュール（図示せず）は、より細かいレベルからより粗いレベルへと複数の部分に画像を区分し、それらにおける局所特徴を集約する。空間ピラミッドプーリングは、試験用の任意のサイズの画像／ウィンドウから表現を生成することを可能にし、学習の間に様々なサイズ又はスケールの画像を供給することを可能にする。
【００６１】
ピラミッドプーリングモジュールは、図５により詳細に示される。ここで、それは４つのカーネルから成り、ここで各カーネルの解像度は、それぞれ３２×６４、１６×３２、８×１６及び４×８である。カーネルは、ステップＳ３０７の特徴マップ出力にわたって等しく分配される。結果的な４つの特徴マップは、バイリニアアップサンプリングされ（bilinearly up-sampled）、まとめて加算されて単一の特徴マップ出力を生成する。特徴マップが加算されることに留意することが重要である。これにより、メモリに全ての解像度を記憶する必要を避けられる。
【００６２】
一実施形態では、より低い解像度のサブネットワーク分岐の最後の層は、標準２次元畳み込み層、ステップＳ３０９である。より低い解像度分岐の終わりにおいて、特徴マップの小さな空間次元は、標準畳み込みの使用を効率的で計算コストが低いものとする。
【００６３】
表２は、一実施形態に従って使用され得る層の詳細を示す。
【００６４】
【表２】
2020071862.tif 000003
【００６５】
これはまた図４にイラスト入りで示されている。図４では、上方の分岐は、画像５０１をより低い解像度で処理する。第１の層５０３は、図３のＳ３０５を参照して説明されたストライド２の標準２次元畳み込み層である。
【００６６】
次に、第１の畳み込み層の出力特徴は、１２個のボトルネック残差層５０５、５０７、５０９、５１１、５１３、５１５、５１７、５１９、５２１、５２３、５２５及び５２７を通過する。
【００６７】
当業者に認識されることになるように、ボトルネック残差演算子は、実際には、表１を参照して説明されたように複数の層によって実施される。しかしながら、簡潔な表現として図４ではそれらは単一の層／演算子として示されている。各ボトルネックで使用される拡張係数は、表２に示される。
【００６８】
第１のボトルネック残差層５０５は、３２個の入力チャンネル、３２個の出力チャンネル、ストライド１及び拡張係数（ｔ）１を有する。
【００６９】
第２のボトルネック残差層５０７は、３２個の入力チャンネル、３２個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７０】
第３の及び第４のボトルネック残差層５０９、５１１は、３２個の入力チャンネル、３２個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７１】
第５のボトルネック残差層５１３は、３２個の入力チャンネル、４８個の出力チャンネル、ストライド２及び拡張係数（ｔ）６を有する。
【００７２】
第６の及び第７のボトルネック残差層５１５、５１７は、６４個の入力チャンネル、６４個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７３】
第８のボトルネック残差層５１９は、４８個の入力チャンネル、６４個の出力チャンネル、ストライド２及び拡張係数（ｔ）６を有する。
【００７４】
第９のボトルネック残差層５２１は、６４個の入力チャンネル、６４個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７５】
第１０のボトルネック残差層５２３は、６４個の入力チャンネル、９６個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７６】
第１１のボトルネック残差層５２５は、９６個の入力チャンネル、９６個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７７】
第１２のボトルネック残差層５２７は、９６個の入力チャンネル、１２８個の出力チャンネル、ストライド１及び拡張係数（ｔ）６を有する。
【００７８】
より低い解像度分岐の最後の層は、標準２次元畳み込み５２９であり、それは図３のＳ３０９を参照して説明されることができ、１２８個の入力チャンネル、１２８個の出力チャンネル、及びストライド１を有する。
【００７９】
したがって、各ボトルネックについて３つの層が使用されるので、グローバルコンテキストを記述するためには３８個の層のみが使用される。
【００８０】
ここに説明される例では、１２×ボトルネックモジュール及び２×畳み込みモジュールの構造が効率及び表現度（正確さ）を兼ね備える。
【００８１】
図２では、第１のサブネットワーク分岐が主として空間詳細を識別するために使用される。これが如何にして達成されるかが、これより図３及び図４に例示されるステップＳ３１１及びＳ３１３を参照して説明される。
【００８２】
一実施形態では、オブジェクト分類ネットワークの第１のサブネットワーク分岐は、最大解像度のデジタル入力画像を受け取る。ステップＳ３１１において、標準２次元畳み込み層が、既に上述したようなより効率的なオブジェクト分類を達成するために、分岐の初めにおいて再度使用される。ネットワークのこの層は、入力ボリュームをダウンサンプリングし、ストライドに従った低減された空間次元を有する出力マップを生成するプーリング畳み込み層である。最大解像度分岐における畳み込み層のパラメータが、表３に提示される。
【００８３】
【表３】
2020071862.tif 000004
【００８４】
一実施形態では、プーリング畳み込み層６５３は、３２個のフィルタを高解像度画像６５１に適用し、３２個の特徴マップを生成する。ステップ３１３では、３×３のカーネルサイズの深さ方向の分離可能な畳み込みの３つの層が使用される。
【００８５】
深さ方向の分離可能な畳み込みブロックは、深さ方向畳み込み層と、それに続く１ｘ１のポイント方向畳み込み層とを備える。図４では、各深さ方向の分離可能な畳み込みの２つの層が単一のブロックとして表されている。
【００８６】
第１の深さ方向の分離可能な畳み込みブロック６５５は、３２個の入力チャンネル、６４個の出力チャンネル及びストライド２を有する。第２の深さ方向の分離可能な畳み込みブロック６５７は、６４個の入力チャンネル、１２８個の出力チャンネル、及びストライド２を有する。第３の深さ方向の分離可能な畳み込み６５９は、１２８個の入力チャンネル、１２８個の出力チャンネル、及びストライド１を有する。
【００８７】
より多くの数の特徴マップにより、２次元畳み込みと比較して、深さ方向の分離可能な畳み込みの使用がシステムにとってより有益となる。
【００８８】
一実施形態では、オブジェクト分類システムの最大解像度の分岐は、主として、より低い解像度の分岐によって抽出されるグローバルコンテキストを洗練することを担う。より高い精度及びより良いオブジェクト分類結果を達成するために、最大解像度の分岐における深さ方向の分離可能な畳み込みブロックは直接的に用いられる。深さ方向の分離可能な畳み込みのボトルネック実装は多くの数の層から成るネットワーク分岐を好み、なおここでは演算の速度が、達成される分類精度よりも重要であり、一方で、直接のアプローチは、動作速度が低減される代償を払ってより高いオブジェクト分類精度を提供する。しかしながら、最大解像度の分岐におけるより少ない数のニューラルネットワーク層は、より多くの数の演算を補償する。
【００８９】
一実施形態では、単一の特徴融合ユニットが、図３のＳ３１５を参照して説明されるように、２つのサブネットワーク分岐の出力ボリュームを結合するために使用される、ステップＳ６６１。特徴マップを結合する処理は、システムメモリに特徴を保持することを含む。単一の特徴融合ユニットは、低リソースデバイス要件に準拠するより効率的な設計を構成する（accounts for）。
【００９０】
一実施形態では、２つの分岐の出力ボリュームが同じ数の特徴マップを備える一方で、２つの分岐の終わりにおける特徴マップは空間次元が異なる。より低い解像度の分岐（分岐４）の特徴マップの空間次元は、最大解像度の分岐（分岐１）の特徴マップの空間次元より小さい。故に、より低い解像度のサブネットワーク分岐の出力は、アップサンプリング層によって処理され、ここで特徴マップは、４倍にアップスケーリングされる、表４。
【００９１】
【表４】
2020071862.tif 000005
【００９２】
さらなる実施形態では、アップサンプリング層の後に、１とは異なる拡張係数を有する深さ方向畳み込み層が続く。拡張畳み込み層は、特徴マップ上のオブジェクト間の間隔を増加させる。深さ方向畳み込みを拡張することは、カーネルのサイズのみに影響を与え、特にカーネルのサイズが指数関数的に増加する。例えば、拡張係数１の深さ方向畳み込みは、元のカーネルサイズ３×３を有することになり、一方拡張係数２の畳み込みは、カーネルサイズ７×７を有することになり、拡張係数４の畳み込みは、カーネルサイズ１５×１５を有することになる。拡張がカーネルサイズ７×７のものであっても、それの計算数は９のみであることに留意されたい。
【００９３】
出力ボリュームの合計（Summation）は、ボリュームが同じ空間次元及び同じ数の特徴マップを備える場合にのみ実施されることができる。故に、２次元畳み込みの層が、２つの分岐の出力を、それらが一緒に加算される前に一般化するために使用される。これらの畳み込み層は、２つの分岐の出力ボリュームが異なる数の特徴マップを備える場合に追加的な対策を提供する。
【００９４】
最終ステップにおいて、特徴マップは単に直接的に一緒に加算される。したがって、メモリに記憶される必要のあるパラメータの数は増加しない。
【００９５】
一実施形態では、特徴融合ユニットの後には、図３のステップＳ３１７を参照して説明されるような、ソフトマックス畳み込み層、ステップ６６３が続き、それは各クラスラベルについての確立スコアを生じさせる。
【００９６】
図６は、オブジェクト分類ニューラルネットワークを学習するための例示的な処理のフローチャートを例示し、それは、入力画像に示されるオブジェクトをラベル付けすることができる。ニューラルネットワークは、多くの学習サンプルを処理することと、全てのサンプルについて、ニューラルネットワークによって生成される出力と学習サンプルに定められたターゲット出力との間の誤差に従って各パラメータの重みを調整することとによって、学習されることができる。一旦学習されると、ニューラルネットワークは、図１のニューラルネットワークシステムを例とするシステムにおいて展開されることができる。学習プロシージャは、１つ又は複数のコンピュータによって実行されることができる。
【００９７】
ステップＳ４０１において、学習システムは学習データのセットを取得する。各データセットは、学習画像とターゲット出力とを備える。入力画像は、１つ又は複数のオブジェクトを示す画像の表現である。例えば、画像は、自律又は半自律走行車の近くに位置するオブジェクトを含み得る。学習データセットによって表される学習画像は、互いに異なり、同様のオブジェクトを含んでも含まなくてもよい。
【００９８】
学習データセットは、有限数のシーンを備え、それらはニューラルネットワークを学習するために使用されることができる。一実施形態では、標準データオーグメンテーション技法が、サンプル画像数を増やすために使用され得る。オーグメンテーション技法は、０．５〜２の範囲のランダムスケール係数、水平フリップ、多様な色合い、彩度、輝度及びコントラストを含むが、それらに限定されるわけではない。
【００９９】
学習データセットの学習ターゲット出力は、ニューラルネットワークによって生成されるべきであるオブジェクト分類ネットワークの所望の出力を表す。ターゲット出力は、ニューラルネットワークの実際の出力と比較され、ターゲット出力と生成される出力との間の誤差が低減されるように重み付けパラメータが調整される。ステップＳ４０３において、ニューラルネットワークは、内部のパラメータの現在の値を使用してサンプル入力画像を処理し、出力画像を生成する。
【０１００】
ステップＳ４０５において、ニューラルネットワークの予測された出力が学習データセットのターゲット出力部分と比較され、予測における誤差が推定される。引き続いて、ステップＳ４０７において、各内部パラメータの重みが、予測された出力とターゲット出力との間の誤差が最小に低減されるように調整される。
【０１０１】
ステップ４０９において、ニューラルネットワークは学習データの異なるセットを提供され、学習は、学習プロシージャを繰り返してニューラルネットワークの内部パラメータを調整するためにステップＳ４０３に戻って、予測された出力とターゲット出力とにおけるより小さな誤差が達成されるようにする。
【０１０２】
図２から図５を参照して説明されたように、アーキテクチャには２つの分岐がある。
【０１０３】
さらなる実施形態では、学習の間、重み付けされた補助的な損失が低解像度分岐について使用される。このような方法で損失に重み付けすることは、セマンティックセグメンテーションについての意味のある特徴がグローバルコンテキストについての分岐によって抽出され、もう一方の分岐からは独立して学習されることを確実にする。一実施形態では、補助的な損失の重みは、０．４に設定される。一実施形態では、これは、学習の間に単に１つの出力を有するのではないことによって達成され、追加的な出力が５２９の後に生成される（すなわち、新しいソフトマックス層がこのステージにおいて導入されて、その分岐から分岐する）。ソフトマックス層の出力が評価される（タスクはまたセグメンテーションである）。両方の層の出力が、重みを更新するために使用される。
【０１０４】
ニューラルネットワークの学習プロセスの一実施形態では、ネットワークプルーニングが実施される。学習の最初のステージにおいて、特徴マップの数が倍にされ、学習は上述したプロシージャを使用して行われる。パラメータの数は、元のサイズの１．７５、１．５、１．２５、及び１倍に漸進的に減少し、ここで学習プロシージャは、パラメータの各低減の後に繰り返される。ネットワークプルーニングは、同じパフォーマンスを保ちながら、ネットワーク中のパラメータの数を効率的に低減する。これは、ニューラルネットワークアーキテクチャで使用されない特徴を削除することによって達成される。さらに、ネットワークプルーニングは、必要とされる特徴のみがネットワークによって学習されるので、より効率的な学習を可能にする。
【０１０５】
したがって、プルーニングは通常、パラメータを低減するために使用される。しかしながら、ここに説明される実施形態では、パラメータの数は受け入れ可能なので、プルーニングは、パフォーマンスを向上させるために実施される。したがって、ネットワークの表現（expressiveness）は倍になる（パラメータの数を倍にする）。するとネットワークは、より多くのフィルタが存在する（数を倍にする）ことで、格段により遅くなる。しかしながら、元のフィルタ数に再度達するためにプルーニングが使用される。ここで、プルーニングは、フィルタの数を増加させ（より多くのフィルタを可能にし）、そして良好なもの選択する。
【０１０６】
したがって、ニューラルネットワークの学習プロセスのこの実施形態では、フィルタの数が学習プロシージャの初めにおいて倍にされる。これをどのように行うかが図７を参照して説明される。ステップＳ８０１において、各層についてのフィルタ数が倍にされる。ステップＳ８０３において、フィルタのチャンネル数が、前の層の出力のチャンネル数に一致させられる。例えば、各層が入力サイズｈ×ｗ及び出力サイズｈ’×ｗ’を有するとする。全てのこれらの層は、使用されるフィルタの数に関する深さ／チャンネルを有する。すなわちｈ×ｗ×ｃを所与とすると、（例えば）サイズ３ｘ３のｃ’のフィルタは、ｈ’×ｗ’×ｃ’を生成するために使用されることができる。ステップＳ８０１にあるように、前の層のフィルタの数が倍にされると、ｈ×ｗ×２ｃの入力が存在し、サイズ３×３×２ｃの２ｃ’のフィルタが使用される。
【０１０７】
ステップＳ８０５において、ネットワークは、図６に関して説明されたように学習される。ステップＳ８０７において、容量に達するかどうか、すなわち、フィルタのターゲット数に達したかどうかが決定される。
【０１０８】
ステップＳ８０９において、（画像入力を有する）第１の層中の最弱のフィルタが識別され、削除される。これらのフィルタが識別され得、多くの異なる測定基準、１つの実施形態では、
【数１】
2020071862.tif 000006
合計が使用される。例えば、上記の寸法を使用して、今度はｈ×ｗ×１．５ｃが入力である。次の層のフィルタは、サイズ３×３×２ｃであり、したがって、ステップＳ８１１において、前の層の削除されたフィルタに関連する重みは削除されてサイズ３×３×１．５ｃのフィルタを得る。すると、ステップＳ８１３において、現在の層における最弱のフィルタが決定され、処理が続行する。
【０１０９】
ステップＳ８１５において、ステップＳ８１１及びＳ８１３におけるフィルタの削除によって影響を受けるさらなる層が存在するかどうかがチェックされる。存在する場合、処理ループはステップＳ８１１に戻る。全ての最弱のフィルタ及び重みが一旦削除されてしまうと、処理は学習ステップＳ８０７に戻る。ネットワークが一旦学習されると、フィルタの数がさらに低減されることになるかがチェックされる（例えばここでは、フィルタの数は２ｘから１．７５ｘへ、そして１．５ｘへ、そして１．２５ｘへ、そして１ｘへ低減される）。さらなる低減が必要な場合、処理は、さらにフィルタを削除するためにステップＳ８０９に移る。そうでなければ、処理は終了し、ネットワークは学習されてプルーニングされる。
【０１１０】
一実施形態では、バッチ正規化が学習の間に全ての層の後に使用される。バッチ正規化により、ニューラルネットワークの各層が他の層からより独立して学習することが可能となる。バッチ正規化は、前の層の特徴マップにおける活性化をスケーリングする。ニューラルネットワーク全体を通じた全ての活性化は所与の範囲内にあるので、高すぎる値や低すぎる値に関連する活性化は存在しない。これにより、より高い学習レート及び改善された特徴学習が可能となる。
【０１１１】
一実施形態では、ニューラルネットワークノードのセットのドロップアウトがソフトマックス層の前に実施される。ドロップアウトは、ネットワーク中のニューロン間の相互依存学習を低減する学習アプローチである。学習の間に、ネットワークの低減されたバージョンが作り出されるように、ノードのランダムなセットがネットワークからドロップアウトされる。ネットワークの低減されたバージョンは、ニューラルネットワークの他のセクションとは独立して学習するので、ニューロンが互いに共依存関係を発展させることを防ぐ。
【０１１２】
上記を明示するために、上記についてのアブレーション調査が都市景観データセット［M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele. The cityscapes dataset for semantic urban scene understanding. In CVPR, 2016］、及び都市景観ベンチマークに対するそれのパフォーマンス報告を使用して成された。
【０１１３】
実験は、Ｎｖｉｄｉａ  Ｔｉｔａｎ  Ｘ（Ｍａｘｗｅｌｌ、３０７２  ＣＵＤＡコア）、ＣＵＤＡ８．０及びｃｕＤＮＮ  Ｖ６を有するワークステーションで実施された。ＲｅＬＵ６が、低精度の計算で使用したときのそれのロバスト性に起因して非線形関数として使用された。学習の間、バッチ正規化が全ての層において使用され、ドロップアウトがソフトマックス層の前だけに使用される。推論の間、バッチ正規化のパラメータは、親層のバイアス及び重みと結合される。深さ方向畳み込み層では、
【数２】
2020071862.tif 000007
正則化が不要であることが分かった。
【０１１４】
ラベル付けされた学習データは限定されていたので、標準データオーグメンテーション技法が全ての実験に適用された：ランダムスケール０．５〜２、水平フリップ、多様な色合い、彩度、輝度及びコントラスト。
【０１１５】
ＣｏｎｔｅｘｔＮｅｔのモデルは、割引係数０．９、運動量０．９、及び１に等しいイプシロンパラメータを有するＲＭＳｐｒｏｐを使用して、ＴｅｎｓｏｒＦｌｏｗで学習される。さらに、ポリ学習レート（a poly learning rate）がベースレート０．０４５及びパワー０．９８で適用された。エポックの最大数は、１０００に設定され、事前学習は使用されない。
【０１１６】
結果は、ｍＩｏＵ（mean intersection-over-union）として報告され、ランタイムは、ＧＰＵからＣＰＵへのメモリ交換、カーネル実行、及び連続的なＣＰＵからＧＰＵへのメモリ転送を伴う単一スレッドのＣＰＵを考慮する。
【０１１７】
都市景観は、ドイツの５０の異なる都市からの街路シーンにおける画像の多様なセットを含むセマンティックセグメンテーションのための大規模なデータセットである。合計で、それは２５，０００の注釈付けられた１０２４  ２０４８ｐｘ画像から構成され、そのうちの５，０００のものは、高ピクセル精度のラベルを有し、２０，０００は、弱く注釈付けられている。ここに提示される実験では、都市景観評価サーバで評価されることができる１，５２５の試験画像、５００の画像の検証セット、及び２，９７５の画像の学習セットである５，０００の画像のみが高ラベル品質で使用された。事前学習は用いられなかった。
【０１１８】
アブレーション調査が実施され、ここでアブレーション調査重みは、もっぱら都市景観学習セットから学習されたものであり、検証セットについてのパフォーマンスが報告される。特に、低解像度分岐の異なる解像度係数に対する影響が報告され、複数の分岐、及びパラメータの数の修正を取り入れる。最後に、２つの分岐が詳細に分析される。
【０１１９】
入力画像解像度は、計算時間についての最も肝心な係数である。この例では、低解像度分岐は、都市景観画像について２５６  ５１２ｐｘである４分の１サイズの画像を取る（ｃｎ１４と示される）。代替的に、半分（ｃｎ１２）又は８分の１（ｃｎ１８）の解像度が使用されることができる。
【０１２０】
表４は、異なるオプションが如何に結果に影響を与えるかを示す。全体的に、より深いコンテキスト分岐におけるより大きな解像度は、より良いセグメンテーション結果を生成する。しかしながら、これらの改善は実行時間を犠牲にして成り立つ。表４では、ＣｏｎｔｅｘｔＮｅｔ（ｃｎ１４）は、都市景観検証セットについて、低解像度分岐における半分の解像度（ｃｎ１２）及び８分の１の解像度（ｃｎ１８）を有する、並びに、４分の１、半分、及び最大解像度（ｃｎ１２４）の複数のレベルを有する、それのバージョンと比較された。より小さいメモリフットプリントを有する実装もまた示される（ｃｎ１４−５００及びｃｎ１４−１６０）。
【０１２１】
表４
【表５】
2020071862.tif 000008
【０１２２】
表５は、ＩｏＵをより詳細に列挙する。ここで、ＣｏｎｔｅｘｔＮｅｔ（ｃｎ１４）の詳細なＩｏＵが、半分（ｃｎ１２）及び８分の１（ｃｎ１８）解像度を有するバージョン、並びにそれのマルチレベルバージョン（ｃｎ１２４）と比較された。小さなサイズのクラス（フェンス、ポール、信号機、交通標識）、細かい詳細を有するクラス（人、ライダー、オートバイ、自転車）、及びサンプルがほとんど無いクラス（トラック、バス、電車）は、高解像度により恩恵を受ける。
【０１２３】
【表６】
2020071862.tif 000009
【０１２４】
小さなサイズクラス（すなわちフェンス、ポール、信号機及び交通標識）、細かい詳細を有するクラス（すなわち人、ライダー、オートバイ及び自転車）及び希少なクラス（すなわちバス、電車及びトラック）の精度は、グローバルコンテキスト分岐における増加した解像度から恩恵を受ける。他のクラスは、しばしばより大きなサイズであり、故により低い解像度でキャプチャされることができる。ｃｎ１４は、１８．３ｆｐｓ（frames per seconds）及びｍＩｏＵ６５．９％で極めてバランスが取れていると結論する。
【０１２５】
一実施形態では、２つの分岐のみが上で説明された。しかしながら、複数の解像度における分岐が用いられることができる。前の結果に加えて、表４及び表５はまた、半分及び最大解像度（ｃｎ１２４）における２つの浅い分岐を有するＣｏｎｔｅｘｔＮｅｔの１つのバージョンも含む。ｃｎ１４と比較して、ｃｎ１２４は１．４％精度を改善する。
【０１２６】
しかしながら実行時間は、１８．３ｆｐｓから７．６ｆｐｓに２倍以上低減される。その上、半分の解像度における深いサブネットワークを有するｃｎ１２は、精度及び速度の観点からｃｎ１２４よりパフォーマンスが優れている。これらの結果は、より高解像度において深いサブネットワークを使用することは、より低い解像度において使用するのと比べてより有益であることを示す。さらに、層の数は、精度には良い影響を与え、実行時間には負の影響を与える。
【０１２７】
したがって、上記の例では、２つの分岐は、リアルタイムで期待できる結果を示す。実行時間はさておき、メモリフットプリントは、埋め込み型デバイス上での実施のために重要な考慮すべき事項である。表４は、ｃｎ１４−５００及びｃｎ１４−１６０と示される、大幅に低減された数のパラメータを有する２つのバージョンのＣｏｎｔｅｘｔＮｅｔを含む。意外にも、都市景観検証セットについて、ただ１５９，３８７及び４９０，４５９のパラメータを有するＣｏｎｔｅｘｔＮｅｔがそれぞれ５７．７％及び６２．１％のｍＩｏＵを達成した。これらの結果は、所与のシステムのメモリ要件及び計算時間に適合するためにＣｏｎｔｅｘｔＮｅｔ設計は充分に柔軟であることを示す。
【０１２８】
独立して学習された詳細分岐及び４分の１の解像度を有するグローバルコンテキストが、それぞれ２５．１％及び６３．３％のｍＩｏＵを得た。コンテキスト分岐は、小さなサイズクラスについてうまく機能しないと分かり、詳細分岐の受容野は、妥当なパフォーマンスのために充分に大きくなかった。コンテキスト及び詳細ネットワークの出力（ソフトマックス）は、ネットワークのアンサンブルを作り出すために平均化された、なおそれらは独立して学習される。両方の分岐のアンサンブルは、６０．３％のｍＩｏＵを得、それはｃｎ１４より６．６％少なく、コンテキスト分岐のみを使用するよりも３％少ない。これは、ＣｏｎｔｅｘｔＮｅｔアーキテクチャがマルチスケールの特徴融合のためのより良い選択肢であることにさらなる証拠を与える。
【０１２９】
さらなる実施形態では、詳細分岐又はコンテキスト分岐のいずれかの出力が、それらの個々の寄与を観察するためにゼロに設定された。結果を図６に示す。図６は、都市景観検証セットについての視覚的な比較を示し、第１の行が入力ＲＧＢ画像、第２の行がグラウンドトゥルース（ground truths）、第３の行がコンテキスト分岐出力、第４の行が詳細分岐出力、最終行がコンテキスト及び詳細分岐の両方を使用したＣｏｎｔｅｘｔＮｅｔ出力である。ＣｏｎｔｅｘｔＮｅｔは６５．９％のｍＩｏＵを得て、一方で、独立して学区週された詳細分岐及び４分の１の解像度を有するグローバルコンテキストは、それぞれ２５．１％及び６３．３％のｍＩｏＵを得た。
【０１３０】
第１の列では、グローバルコンテキスト分岐はより大きなオブジェクト（例えば、空又は木）を正確に検出するが、境界付近や細い領域（thin regions）ではうまくいかないことが分かる。対照的に、詳細分岐は、オブジェクト境界を正確に検出するが、オブジェクトの中央領域ではうまくいかない。１つの例外は、木の中央領域であり、それは、恐らく木のテクスチャの特徴的な性質に起因して正確に分類される。最後に、ＣｏｎｔｅｘｔＮｅｔは、両方の情報を正確に組み合わせて最終行において改善された結果を生成することが分かる。同様に、中央の列において、歩行者のセグメンテーションが、グローバルコンテキスト分岐出力にわたってＣｏｎｔｅｘｔＮｅｔによって洗練されることが分かる。最終列において、例え詳細分岐がポール及び交通標識を検出するとしても、ＣｏｎｔｅｘｔＮｅｔは、グローバルコンテキスト分岐でこれらのうちのいくつかを効率的に組み合わせることができない。全体的に、コンテキスト分岐及び詳細分岐は、相補的な情報を学習することが分かる。
【０１３１】
上記の実施形態からの結果は以下の通りである。
【０１３２】
【表７】
2020071862.tif 000010
【０１３３】
異なる解像度を有する画像についての実行時間が以下に示される。
【０１３４】
【表８】
2020071862.tif 000011
【０１３５】
‘†’が付いた測定値は、もっぱらカーネル実行時間を示す。
【０１３６】
上記の図は、メモリ転送を含む完全なＣＰＵ及びＧＰＵパイプラインを含む。並列メモリ転送及びカーネル実行が用いられる場合、実行時間は２３．２ｆｐｓに改善する。最後に、表７において、ＣｏｎｔｅｘｔＮｅｔは、より小さい入力解像度サイズについてスケーラビリティが高く、故に、目の前のタスク及び利用可能なリソースについて調整されることができることが見てとれる。ＣｏｎｔｅｘｔＮｅｔの結果は、定性分析について図８に表示されている。ＣｏｎｔｅｘｔＮｅｔは、遠距離の小さなオブジェクトさえも適切にセグメント化することができる。
【０１３７】
ネットワークプルーニングは、モデルの精度を向上させるために、「より無駄なくスリムな（skinnier）」ネットワークを取得するためにより広いネットワーク（より多くの数の特徴マップ）をプルーニングするために使用される。最初に、ネットワークは、改善された結果を取得するために特徴マップの２倍の（ターゲット）数で学習される。パラメータの数は、次いで元のサイズの１．５、１．２５及び１倍へとプルーニングすることによって漸進的に減少される。一実施形態では、フィルタは、最も低い
【数３】
2020071862.tif 000012
合計でプルーニングされた。プルーニングによって、ｍＩｏＵは都市景観試験セットについて６４．２％から６６．１％へと改善した。
【０１３８】
上記の実施形態は、低解像度における、しかし大きな受容野を有する深いネットワーク分岐を、浅い、故に効率的な最大解像度の分岐と組み合わせてセグメンテーション詳細を向上させる、リアルタイムセマンティックセグメンテーションモデルに関する。上記のアーキテクチャはさらに、最大メモリ及び実行時間効率のためにボトルネック残差ブロック及び深さ方向畳み込みを広く活用する。
【０１３９】
上記の調査は、アーキテクチャが、優位性のある結果を達成するためにグローバルコンテキストとローカルコンテキストとを効率的に組み合わせることを示す。また、モデルプルーニング（リアルタイムパフォーマンス及びネットワークサイズの所与のターゲットを達成するための）は、セグメンテーション精度の改善をもたらす。単一画像深さ予測のような自律システムに関連する他のタスクのためにアーキテクチャが有益であることを実際に証明することは、将来の研究の一部である。
【０１４０】
図９は、実施形態による方法を実施するために使用されることができるハードウェアの概略図である。これは、単に１つの例であり、他の構成が使用されることができることに留意されたい。
【０１４１】
ハードウェアは、計算セクション７００を備える。この特定の例では、このセクションのコンポーネントは、一緒に説明される。しかしながら、それらは必ずしも同一場所に配置されないことは認識されることになる。
【０１４２】
コンピューティングシステム７００のコンポーネントは、処理ユニット７１３（中央処理装置ＣＰＵのような）、システムメモリ７０１、システムメモリ７０１を含む様々なシステムコンポーネントを処理ユニット７１３に結合するシステムバス７１１に限定されるわけではないが、それらを含み得る。システムバス７１１は、多様なバスアーキテクチャのうちの任意のものを使用した局所バス及び周辺機器バス、メモリバス又はメモリコントローラ等を含む、いくつかのタイプのバス構造のうちの任意のものであり得る。計算セクション７００はまた、バス７１１に接続された外部のメモリ７１５も含む。
【０１４３】
システムメモリ７０１は、読み取り専用メモリのような揮発性／又は不揮発性メモリの形式のコンピュータ記憶媒体を含む。例えばセットアップ中にコンピュータ内の複数の要素間で情報を転送するのに役立つルーチンを含む基本入力出力システム（ＢＩＯＳ）７０３が典型的にシステムメモリ７０１に記憶される。加えて、システムメモリは、ＣＰＵ７１３によって使用されているプログラムデータ７０９、アプリケーションプログラム７０７、及びオペレーティングシステム７０５を含む。
【０１４４】
また、インタフェース７２５がバス７１１に接続される。インタフェースは、さらなるデバイスから情報を受け取るための、コンピュータシステムのためのネットワークインタフェースであり得る。インタフェースはまた、例えばユーザがある特定のコマンドに応答することを可能にするユーザインタフェースであり得る。
【０１４５】
この例では、ビデオインタフェース７１７が提供される。ビデオインタフェース７１７は、グラフィックス処理メモリ７２１に接続されているグラフィックスプロセシングユニット７１９を備える。
【０１４６】
グラフィックスプロセシングユニット（ＧＰＵ）７１９は特に、この複数の並列なコールの動作に起因して、上で説明された方法によく適している。故に、一実施形態では、処理はＣＰＵ７１３とＧＰＵ７１９との間で分割され得る。
【０１４７】
一実施形態では、ＧＰＵはＮＶＩＤＩＡ  Ｊｅｔｓｏｎ  ＴＸ２であり、それは低電力ＧＰＵチップである。
【０１４８】
一実施形態では、各カメラ（図１参照）にリンクされた専用のコンピューティングデバイス７００が提供される。図２から図４に関して上述したアーキテクチャは、浮遊小数点計算が必要となることを避け、故に、コンピューティングデバイスは、乗物上のカメラと組み合わせられる例のような低電力ロケーションによく適している。
【０１４９】
上で説明されたアーキテクチャはまた、ＧＰＵを使用した携帯電話にも適している。
【０１５０】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2020071862.tif 000013
【図２】
2020071862.tif 000014
【図３】
2020071862.tif 000015
【図４】
2020071862.tif 000016
【図５】
2020071862.tif 000017
【図６】
2020071862.tif 000018
【図７】
2020071862.tif 000019
【図８】
2020071862.tif 000020
【図９】
2020071862.tif 000021
【外国語明細書】
2020071862000001.pdf