(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】リアルタイムオブジェクト検出及び語意分割の同時行いシステム及び方法及び非一時的なコンピュータ可読媒体
(51)【国際特許分類】
G06T 7/00 20170101AFI20230523BHJP
G06T 7/11 20170101ALI20230523BHJP
G06V 10/82 20220101ALI20230523BHJP
G06N 3/08 20230101ALI20230523BHJP
G06N 3/0464 20230101ALI20230523BHJP
【FI】
G06T7/00 350C
G06T7/11
G06V10/82
G06N3/08
G06N3/0464
(21)【出願番号】P 2022547758
(86)(22)【出願日】2021-02-19
(86)【国際出願番号】 CN2021076914
(87)【国際公開番号】W WO2021169852
(87)【国際公開日】2021-09-02
【審査請求日】2022-08-04
(32)【優先日】2020-02-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517156872
【氏名又は名称】北京京東尚科信息技術有限公司
【氏名又は名称原語表記】Beijing Jingdong Shangke Information Technology Co., Ltd.
【住所又は居所原語表記】8th floor of building No. 76, Zhichun Road,Haidian District, Beijing 100086 China
(73)【特許権者】
【識別番号】521108663
【氏名又は名称】ジェイ・ディー・ドット・コム アメリカン テクノロジーズ コーポレーション
【氏名又は名称原語表記】JD.com American Technologies Corporation
【住所又は居所原語表記】675 E Middlefield Rd, Mountain View, CA 94043, USA
(74)【代理人】
【識別番号】110001771
【氏名又は名称】弁理士法人虎ノ門知的財産事務所
(72)【発明者】
【氏名】マオ フォンダ
(72)【発明者】
【氏名】シアン ウエイ
(72)【発明者】
【氏名】ルゥー チュモン
(72)【発明者】
【氏名】チャン ウエイドン
【審査官】伊知地 和之
(56)【参考文献】
【文献】米国特許出願公開第2019/0057507(US,A1)
【文献】米国特許出願公開第2019/0050667(US,A1)
【文献】Wei XIANG et al.,ThunderNet: A Turbo Unified Network for Real-Time Semantic Segmentation,2019 IEEE Winter Conference on Applications of Computer Vision (WACV),IEEE,2019年01月,pp.1789-1796
【文献】Hengshuang ZHAO et al.,Pyramid Scene Parsing Network,Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),IEEE,2017年,pp. 2881-2890
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 3/12
G06N 7/08 - 99/00
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
プロセッサ及びコンピュータ実行可能なコードを記憶した不揮発性メモリを含む計算装置を含み、ここで、前記コンピュータ実行可能なコードは前記プロセッサで実行される時に以下のように構成され、
シーンの画像を受信し、
ニューラルネットワークバックボーンを用いて前記画像を処理して、特徴図を取得し、
オブジェクト検出モジュールを用いて前記特徴図を処理して、前記画像のオブジェクト検出結果を取得し、
語意分割モジュールを用いて前記特徴図を処理して、前記画像の語意分割結果を取得し、
ここで、同一の損失関数を用いて前記オブジェクト検出モジュールと前記語意分割モジュールをトレーニングし、前記損失関数はオブジェクト検出コンポーネント及び語意分割コンポーネントを含み、
ここで、前記ニューラルネットワークバックボーンはResNet18バックボーンを含み、前記ResNet18バックボーンはその第4のブロックから切断される
オブジェクト検出及び語意分割システム。
【請求項2】
前記オブジェクト検出モジュール及び前記語意分割モジュールに対するトレーニングデータは、トレーニング画像、前記トレーニング画像に限定された少なくとも一つのバウンディングボックス、前記少なくとも一つのバウンディングボックスのラベル、及び前記トレーニング画像のマスクを含む
請求項1に記載のシステム。
【請求項3】
前記オブジェクト検出モジュールは単回検出器SSDである
請求項1に記載のシステム。
【請求項4】
前記オブジェクト検出モジュールは、順に、
五つの畳み込み層と、
検出層と、
非極大値抑制NMS層と、を含む
請求項1に記載のシステム。
【請求項5】
512×512解像度の画像に対して、前記ニューラルネットワークバックボーンは、前記検出層に64×64情報及び32×32情報を畳み込んで添加し、前記五つの畳み込み層は、それぞれ前記検出層に16×16情報、8×8情報、4×4情報、2×2情報及び1×1情報を添加する
請求項4に記載のシステム。
【請求項6】
前記語意分割モジュールはピラミッドプーリングモジュールである
請求項1に記載のシステム。
【請求項7】
前記語意分割モジュールは、順に、
前記特徴図をプーリングして異なる大きさのプーリング特徴を取得するプーリングモジュールと、
各畳み込み層が前記異なる大きさのプーリング特徴のうちの一つのプーリング特徴を畳み込んで異なる大きさの畳み込み特徴を取得する複数の畳み込み層と、
前記異なる大きさの畳み込み特徴を受信してアップサンプリング特徴を取得するアップサンプリングモジュールと、
前記アップサンプリング特徴及び前記ニューラルネットワークバックボーンからの特徴を受信して接合特徴を取得する接合層と、
前記接合特徴を畳み込んで前記語意分割結果としての画素ごとの予測を取得する畳み込み層と、を含む
請求項1に記載のシステム。
【請求項8】
前記プーリング特徴の大きさは1×1、2×2、3×3及び6×6である
請求項7に記載のシステム。
【請求項9】
前記コンピュータ実行可能なコードは、さらに、前記オブジェクト検出結果と前記語意分割結果に基づいて前記シーンにおける操作装置を制御するように構成される
請求項1に記載のシステム。
【請求項10】
計算装置によりシーンの画像を受信することと、
前記計算装置によりニューラルネットワークバックボーンを用いて前記画像を処理して、特徴図を取得することと、
前記計算装置によりオブジェクト検出モジュールを用いて前記特徴図を処理して、前記画像のオブジェクト検出結果を取得することと、
前記計算装置により語意分割モジュールを用いて前記特徴図を処理して、前記画像の語意分割結果を取得することと、を含み、
ここで、同一の損失関数を使用して前記オブジェクト検出モジュールと前記語意分割モジュールをトレーニングし、前記損失関数はオブジェクト検出コンポーネント及び語意分割コンポーネントを含み、
ここで、前記ニューラルネットワークバックボーンはResNet18バックボーンを含み、前記ResNet18バックボーンはその第4のブロックから切断される
オブジェクト検出及び語意分割方法。
【請求項11】
前記オブジェクト検出モジュール及び前記語意分割モジュールに対するトレーニングデータは、トレーニング画像、前記トレーニング画像に限定された少なくとも一つのバウンディングボックス、前記少なくとも一つのバウンディングボックスのラベル、及び前記トレーニング画像のマスクを含む
請求項10に記載の方法。
【請求項12】
前記オブジェクト検出モジュールは単回検出器である
請求項10に記載の方法。
【請求項13】
前記オブジェクト検出モジュールは、順に、
五つの畳み込み層と、
検出層と、
非極大値抑制NMS層と、を含む
請求項10に記載の方法。
【請求項14】
512×512解像度の画像に対して、前記ニューラルネットワークバックボーンは前記検出層に64×64情報及び32×32情報を畳み込んで添加し、前記五つの畳み込み層は、それぞれ前記検出層に16×16情報、8×8情報、4×4情報、2×2情報及び1×1情報を添加する
請求項13に記載の方法。
【請求項15】
前記語意分割モジュールは、ピラミッドプーリングモジュールである
請求項10に記載の方法。
【請求項16】
前記語意分割モジュールは、順に、
前記特徴図をプーリングして異なる大きさのプーリング特徴を取得するプーリングモジュールと、
各畳み込み層が前記異なる大きさのプーリング特徴のうちの一つのプーリング特徴を畳み込んで異なる大きさの畳み込み特徴を取得する複数の畳み込み層と、
前記異なる大きさの畳み込み特徴を受信してアップサンプリング特徴を取得するアップサンプリングモジュールと、
前記アップサンプリング特徴及び前記ニューラルネットワークバックボーンからの特徴を受信して接合特徴を取得する接合層と、
前記接合特徴を畳み込んで前記語意分割結果を取得する畳み込み層と、を含む
請求項10に記載の方法。
【請求項17】
前記オブジェクト検出結果及び前記語意分割結果に基づいて前記シーンにおける操作装置を制御することをさらに含む
請求項10に記載の方法。
【請求項18】
コンピュータ実行可能なコードを記憶した非一時的なコンピュータ可読媒体であって、
ここで、前記コンピュータ実行可能なコードは計算装置のプロセッサで実行される時に以下のように構成され、
シーンの画像を受信し、
ニューラルネットワークバックボーンを用いて前記画像を処理して、特徴図を取得し、
オブジェクト検出モジュールを用いて前記特徴図を処理して、前記画像のオブジェクト検出結果を取得し、
語意分割モジュールを用いて前記特徴図を処理して、前記画像の語意分割結果を取得し、
ここで、同一の損失関数を使用して前記オブジェクト検出モジュールと前記語意分割モジュールをトレーニングし、前記損失関数はオブジェクト検出コンポーネント及び語意分割コンポーネントを含み、
ここで、前記ニューラルネットワークバックボーンはResNet18バックボーンを含み、前記ResNet18バックボーンはその第4のブロックから切断される
非一時的なコンピュータ可読媒体。
【請求項19】
前記オブジェクト検出モジュールは、順に、
五つの畳み込み層と、
検出層と、
非極大値抑制NMS層と、を含む
請求項18に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記語意分割モジュールは、順に、
前記特徴図をプーリングして異なる大きさのプーリング特徴を取得するプーリングモジュールと、
各畳み込み層が前記異なる大きさのプーリング特徴のうちの一つのプーリング特徴を畳み込んで異なる大きさの畳み込み特徴を取得する複数の畳み込み層と、
前記異なる大きさの畳み込み特徴を受信してアップサンプリング特徴を取得するアップサンプリングモジュールと、
前記アップサンプリング特徴及び前記ニューラルネットワークバックボーンからの特徴を受信して接合特徴を取得する接合層と、
前記接合特徴を畳み込んで前記語意分割結果としての画素ごとの予測を取得する畳み込み層と、を含む
請求項18に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全体として、コンピュータビジョンに関し、具体的には、リアルタイムオブジェクト検出及び語意分割を同時に行うシステム及び方法に関する。
【背景技術】
【0002】
ここで提供される背景記述は、本開示の文脈を概略的に示すためである。本背景部分に記載された範囲内において、発明者の作業及び出願の提出時に従来技術の説明に適合しない可能性があり、本開示に対して既存のものであると明確的に又は暗黙的に承認されない。
【0003】
自動運転車両にとって、その周囲環境、例えば自動車、歩行者、交通信号灯、交通標識及び利用可能な空間などをタイムリーに理解することは重要である。この目標を実現するために、自動運転システムは一般的に視覚に基づく複数のタスク、例えばオブジェクト検出、語意分割、動き推定及び3D再構成を実行する必要があり、ここで、オブジェクト検出及び語意分割は二つの最も重要なタスクである。しかしながら、自動車の計算能力が限られることに鑑み、各タスクを実行する計算コストが非常に高い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、本分野において上記欠陥及び不足を解決する必要がある。
【課題を解決するための手段】
【0005】
いくつかの態様において、本開示はオブジェクト検出及び語意分割システムに関する。いくつかの実施例において、前記システムは計算装置を含む。前記計算装置は、プロセッサと、コンピュータ実行可能なコードを記憶した不揮発性メモリとを有する。前記コンピュータ実行可能なコードは前記プロセッサで実行される時に、以下のように構成される。シーンの画像を受信する;ニューラルネットワークバックボーンを用いて前記画像を処理して、特徴図を取得する;オブジェクト検出モジュールを用いて前記特徴図を処理して、前記画像のオブジェクト検出結果を取得する;及び語意分割モジュールを用いて前記特徴図を処理することにより、前記画像の語意分割結果を取得する。同一の損失関数を使用して前記オブジェクト検出モジュールと前記語意分割モジュールをトレーニングし、前記損失関数はオブジェクト検出コンポーネント及び語意分割コンポーネントを含む。
【0006】
いくつかの実施例において、前記オブジェクト検出モジュール及び前記語意分割モジュールに対するトレーニングデータは、トレーニング画像、前記トレーニング画像に限定された少なくとも一つのバウンディングボックス、前記少なくとも一つのバウンディングボックスのラベル、及び前記トレーニング画像のマスクを含む。
【0007】
いくつかの実施例において、前記ニューラルネットワークバックボーンはResNet18バックボーンを含み、前記ResNet18バックボーンは、その第4のブロックから切断される。
【0008】
いくつかの実施例において、前記オブジェクト検出モジュールは単回検出器(SSD)である。
【0009】
いくつかの実施例において、前記オブジェクト検出モジュールは、五つの畳み込み層、検出層、及び非極大値抑制(NMS)層を順に含む。いくつかの実施例において、512×512解像度の画像に対して、前記ニューラルネットワークバックボーンは、前記検出層に64×64情報及び32×32情報を畳み込んで添加し、前記五つの畳み込み層はそれぞれ前記検出層に16×16情報、8×8情報、4×4情報、2×2情報及び1×1情報を添加する。
【0010】
いくつかの実施例において、前記語意分割モジュールはピラミッドプーリングモジュールである。
【0011】
いくつかの実施例において、前記語意分割モジュールは、順に、前記特徴図をプーリングして異なる大きさのプーリング特徴を取得するプーリングモジュールと、各畳み込み層が前記異なる大きさのプーリング特徴のうちの一つのプーリング特徴を畳み込んで異なる大きさの畳み込み特徴を取得する複数の畳み込み層と、前記異なる大きさの畳み込み特徴を受信してアップサンプリング特徴を取得するアップサンプリングモジュールと、前記アップサンプリング特徴及び前記ニューラルネットワークバックボーンからの特徴を受信して接合特徴を取得する接合層と、前記接合特徴を畳み込んで前記語意分割結果としての画素ごとの予測を取得する畳み込み層と、を含む。いくつかの実施例において、前記プーリング特徴の大きさは1×1、2×2、3×3及び6×6である。
【0012】
いくつかの実施例において、前記コンピュータ実行可能なコードはさらに前記オブジェクト検出結果と前記語意分割結果に基づいて前記シーンにおける操作装置を制御するように構成される。
【0013】
いくつかの態様において、本開示はオブジェクト検出及び語意分割方法に関する。いくつかの実施例において、前記方法は、計算装置によりシーンの画像を受信することと、前記計算装置によりニューラルネットワークバックボーンを使用して前記画像を処理し、特徴図を取得することと、前記計算装置によりオブジェクト検出モジュールを使用して前記特徴図を処理し、前記画像のオブジェクト検出結果を取得することと、前記計算装置により語意分割モジュールを使用して前記特徴図を処理し、前記画像の語意分割結果を取得することと、を含み、同一の損失関数を使用して前記オブジェクト検出モジュール及び前記語意分割モジュールをトレーニングし、前記損失関数はオブジェクト検出コンポーネント及び語意分割コンポーネントを含む。
【0014】
いくつかの実施例において、前記オブジェクト検出モジュール及び前記語意分割モジュールに対するトレーニングデータは、トレーニング画像、前記トレーニング画像に限定された少なくとも一つのバウンディングボックス、前記少なくとも一つのバウンディングボックスのラベル、及び前記トレーニング画像のマスクを含む。
【0015】
いくつかの実施例において、前記ニューラルネットワークバックボーンは、ResNet18のバックボーンを含み、前記ResNet18のバックボーンはその第4のブロックから切断される。
【0016】
いくつかの実施例において、前記オブジェクト検出モジュールは単回検出器(SSD)である。
【0017】
いくつかの実施例において、前記オブジェクト検出モジュールは、順に、五つの畳み込み層、検出層、及び非極大値抑制(NMS)層を含む。いくつかの実施例において、512×512解像度の画像に対して、前記ニューラルネットワークバックボーンは前記検出層に64×64情報及び32×32情報を畳み込んで添加し、前記五つの畳み込み層はそれぞれ前記検出層に16×16情報、8×8情報、4×4情報、2×2情報及び1×1情報を添加する。
【0018】
いくつかの実施例において、前記語意分割モジュールはピラミッドプーリングモジュールである。
【0019】
いくつかの実施例において、前記語意分割モジュールは、順に、前記特徴図をプーリングして異なる大きさのプーリング特徴を取得するプーリングモジュールと、前記異なる大きさのプーリング特徴のうちの一つのプーリング特徴を畳み込んで異なる大きさの畳み込み特徴を取得する複数の畳み込み層と、前記異なる大きさの畳み込み特徴を受信してアップサンプリング特徴を取得するアップサンプリングモジュールと、前記アップサンプリング特徴及び前記ニューラルネットワークバックボーンからの特徴を受信して接合特徴を取得する接合層と、前記接合特徴を畳み込んで前記語意分割結果を取得する畳み込み層と、含む。
【0020】
いくつかの実施例において、前記方法は、前記オブジェクト検出結果と前記語意分割結果に基づいて前記シーンにおける操作装置を制御することをさらに含む。
【0021】
いくつかの態様において、本開示は、コンピュータ実行可能なコードを記憶する非一時的なコンピュータ可読媒体に関する。コンピュータ実行可能なコードは、計算装置のプロセッサで実行される場合に、上述した方法を実現するように構成される。
【0022】
本開示のこれら及び他の態様は、以下の図面及びその説明を参照する好ましい実施形態の説明から明らかになり、その中の変化及び修正は影響を受ける可能性があるが、本開示の新規てきな概念の精神及び範囲から逸脱することはない。
【図面の簡単な説明】
【0023】
本開示は、詳細な説明及び添付図面からより十分に理解されるであろう。添付図面は、本開示の一つ又は複数の実施例を示し、かつ書面の説明と共に本開示の原理を説明する。可能な場合に、図面全体を貫通し、同じ参照符号を使用して実施例の同一又は類似の要素を指す。
【0024】
【
図1】
図1は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割を同時に行うモデルの構造を概略的に示す。
【
図2】
図2は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割システムを概略的に示す。
【
図3】
図3は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割モデルのトレーニング方法を概略的に示す。
【
図4】
図4は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割モデルの使用方法を概略的に示す。
【
図5】
図5は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割モデルの例示的な構成を概略的に示す。
【発明を実施するための形態】
【0025】
以下の例示において本開示をより具体的に説明し、これらの実施例は単に説明するためのものであり、そのうちの多くの修正及び変更は当業者にとって明らかであるためである。以下、本開示の各実施例について詳細に説明する。図面を参照し、図面全体を貫通し、同じ数字は同じコンポーネントを示す。また、本明細書で使用されるいくつかの用語は以下により具体的に定義される。
【0026】
本明細書において使用される用語は、本分野において、本開示の文脈および用語を用いた特定の文脈において、通常、それらの一般的な意味を有するものとする。本開示を説明するいくつかの用語は、以下又は明細書における他の部分に説明され、これにより、事業者に本開示の説明に関連する追加の指導を提供する。理解できるように、同様のことは一つ以上の方式で表現することができる。したがって、代替言語及び同義語は本明細書に記載されたいかなる一つ又は複数の用語に用いられてもよく、かつ本明細書に詳細に説明されたか又は議論された用語にいかなる特別な意味がない。本開示はいくつかの用語の同義語を提供する。一つ又は複数の同義語の使用は他の同義語を使用することを排除しない。本明細書における任意の箇所の例示的な使用は、本明細書に記載されたいかなる用語の例示を含み、説明的なものであり、本開示の内容又は任意の例示的な用語の範囲及び意味を限定するものではない。同様に、本開示は本明細書に示された様々な実施例に限定されない。
【0027】
特別な定義がない限り、本開示が使用する全ての技術用語及び科学的用語は本開示の属する分野の当業者が一般的に理解するのと同じ意味を有する。衝突がある場合、本開示(定義を含む)を基準とする。
【0028】
文脈が明確に規定されない限り、本明細書の記述及び請求項全体に使用された「一つ」、「一」及び「前記」の意味は複数を含む。また、本開示の説明及び特許請求の範囲に使用されるように、文脈が明確に規定されない限り、“にある”の意味は「……の中にある」及び「……の上にある」を含む。かつ、明細書において読者の便宜上、タイトル又はサブタイトルを使用することができ、本開示の範囲に影響を与えない。
【0029】
本明細書に記載するように、「複数」は二つ以上を指す。本明細書に記載されるように、用語「含む」、「含める」、「携帯」、「有する」、「含有」、「に関する」等は開放式であると理解すべきであり、すなわち含むがこれらに限定されるものではない、ということを意味しています。
【0030】
本明細書に記載のように、「A、B及びCのうちの少なくとも一つ」というフレーズは、論理(A又はB又はC)を表すと解釈すべきであり、非排他的論理あるいは(OR)を使用する。理解すべきことは、本開示の原理を変更しない場合、方法内の一つ又は複数のステップは異なる順序(又は同時に)で実行することができる。
【0031】
本明細書に記載のように、「モジュール」という用語は例えばオンシートシステムにおける、専用集積回路(Application Specific Integrated Circuit、ASIC);電子回路;組み合わせ論理回路;フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA);コードを実行する(共有、専用の)プロセッサ又はプロセッサグループ;記述された機能を提供する他の適切なハードウェアコンポーネント;又は以上の部分又は全ての組み合わせを含む。「モジュール」という用語は、プロセッサにより実行されたコードを記憶する(共有、専用の)メモリ又はメモリグループを含むことができる。
【0032】
本明細書で使用される「コード」という用語は、ソフトウェア、ファームウェア及び/又はマイクロコードを含むことができ、かつプログラム、ルーチン、関数、クラス及び/又はオブジェクトを指すことができる。ここで、「共有」とは、単一の(共有の)プロセッサを用いて、複数のモジュールからのいくつかのコード又は全てのコードを実行することができることを意味する。また、複数のモジュールからのいくつかのコード又は全てのコードを単一(共有の)メモリに記憶することができる。ここで、「グループ」とは、プロセッサグループを用いて単一のモジュールからのいくつかのコード又は全てのコードを実行することができることを意味する。また、メモリグループを使用して単一のモジュールからのいくつかのコード又は全てのコードを記憶することができる。
【0033】
本明細書に記載のように、「インタフェース」という用語は一般的にコンポーネント間のインタラクションポイントでコンポーネント間のデータ通信を実行するための通信ツール又は装置を指す。一般的には、インタフェースはハードウェアレベル及びソフトウェアレベルにいずれも適用することができ、インタフェースは一方向インタフェース又は双方向インタフェースであってもよい。物理的なハードウェアインタフェースとしては、例えば、電気コネクタ、バス、ポート、ケーブル、端子、その他のI/O機器、コンポーネント等が挙げられる。インタフェースと通信する手段は、例えばコンピュータシステムの複数のコンポーネントや周辺機器であってもよい。
【0034】
本開示は、コンピュータシステムに関する。図面に示すように、コンピュータコンポーネントは、実線枠として示される物理的ハードウェアコンポーネントと、破線枠として示される仮想ソフトウェアコンポーネントと、を含む。当業者として理解されるように、特に説明しない限り、これらのコンピュータコンポーネントはソフトウェア、ファームウェア又はハードウェアコンポーネント又はそれらの組み合わせの形式で実現することができるが、これらの形式に限定されない。
【0035】
本明細書に記載の装置、システム及び方法は、一つ又は複数のプロセッサによって実行される一又は複数のコンピュータプログラムによって実現されてもよい。コンピュータプログラムは、非一時的な有形のコンピュータ可読媒体に格納されたプロセッサが実行可能な命令を含む。コンピュータプログラムは、記憶されたデータをさらに含んでもよい。非一時的な有形のコンピュータ可読媒体の非限定的な例示は、不揮発性メモリ、磁気記憶、光記憶である。
【0036】
以下に図面を参照しながら本開示をより全面的に説明し、ここで本開示の実施例を示す。しかしながら、本開示は多くの異なる形態で体現することができ、かつ本明細書に説明された実施例に限定して解釈されるべきではない;逆に、これらの実施例を提供することは本開示を徹底的かつ完全にし、かつ本開示の範囲を当業者に十分に伝えるためである。
【0037】
いくつかの態様において、本開示は、リアルタイム方式でオブジェクト検出及び語意分割を同時に行うための、計算効率が高いフレームに関する。該フレームは、新規な軽量型深層ニューラルネットワークである。
図1に示すように、フレーム100は、ニューラルネットワークバックボーン104、オブジェクト検出モジュール106及び語意分割モジュール108を含む。オブジェクト検出モジュール106と語意分割モジュール108は同一のニューラルネットワークバックボーン104を共有する。シーン102の画像が入力として用いられる場合、ニューラルネットワークバックボーン104は該画像を処理して特徴図を取得する。この特徴図は、オブジェクト検出モジュール106および語意分割モジュール108の入力として用いられる。オブジェクト検出モジュール106は、該特徴図を処理して画像110を取得し、ここで検出されたオブジェクトは、画像110におけるバウンディングボックスによって限定しオブジェクトの名称を用いてマークする。語意分割モジュール108は、該特徴図を処理してマスク112を取得し、ここで画像における画素が種別に応じて分類される。
【0038】
オブジェクト検出モジュール106及び語意分割モジュール108は、使用前に予めトレーニングされ、トレーニング期間にオブジェクト検出モジュール106及び語意分割モジュール108の両方に対して混合損失関数を定義する。混合損失関数を定義することにより、オブジェクト検出モジュール106及び語意分割モジュール108のトレーニングがより迅速で正確である。
【0039】
さらに、ニューラルネットワークバックボーン104を共有しかつオブジェクト検出モジュール106及び語意分割モジュール108の構造が簡単であるため、トレーニングされたシステム全体の演算速度が非常に速くかつ低い計算能力を必要とする。したがって、オブジェクト検出及び語意分割をリアルタイムで行うことは、NVIDIA(登録商標) Jetson(登録商標) TX2のような低計算能力機器で実現することができる。また、マルチタスクネットワークにより、この二つのタスクは、正確性方で互いに促進することができる。
【0040】
図2は、本開示のいくつかの実施例に係るリアルタイムオブジェクト検出及び語意分割を同時に行うためのシステムを概略的に示す。
図2に示すように、システム200は、計算装置210、画像採集装置250及び操作装置270を含む。画像採集装置250と操作装置270とは、例えば、同一又は異なるシステムインタフェース又はネットワーク240を介して、計算装置210と通信を行う。いくつかの実施例において、計算装置210は、汎用コンピュータ、専用コンピュータ、スマートフォン、タブレットコンピュータ、コントローラ又は例えば自動運転車両に位置する組み込み装置であってもよい。計算装置210は、同一の画像又は同一の画像セットに基づいて、同時のオブジェクト検出及び語意分割サービスを提供する。
【0041】
いくつかの実施例において、システムインタフェース240は様々なバス、記憶装置、他のI/O装置、又はUSBインタフェースであってもよい。インタフェースがネットワークである場合、ネットワーク240は様々な形式の有線ネットワーク又は無線ネットワークであってもよい。ネットワークの例示は、ローカルエリアネットワーク(Local Area Network、LAN)、インターネットを含むワイドエリアネットワーク(Wide Area Network、WAN)、又は任意の他のタイプのネットワークを含むが、それらに限定されない。いくつかの実施例において、システムインタフェース240は、計算装置210と画像採集装置250及び操作装置270を通信接続する任意の他のタイプのインタフェースであってもよい。
【0042】
いくつかの実施例において、画像採集装置250は、ビデオカメラ、グレーカメラ、RGBカメラ、RGB深度カメラ、深度カメラ、LIDAR又はそれらの組み合わせであってもよい。画像採集装置250は、環境又はシーンの画像を採集するために用いられ、好ましくはビデオの形式で画像を連続的に採集する。
【0043】
いくつかの実施例において、操作装置270は自動運転車両又はオブジェクト検出及び語意分割情報に基づく指令を必要とする任意の他の装置であってもよい。計算装置210が画像採集装置250から画像又はビデオを受信し、リアルタイムオブジェクト検出及び語意分割を行う場合、計算装置210は、取得されたリアルタイム情報を用いて操作装置270の操作を指示することができる。いくつかの実施例において、計算装置210以外のコントローラにより操作装置270を制御することができ、該コントローラは、計算装置210からオブジェクト検出及び語意分割情報を受信し、該情報を用いて操作装置270の動作を指示するために用いられる。
【0044】
いくつかの実施例において、
図2に示すように、計算装置210は、プロセッサ212、メモリ214及び記憶装置216を含むがそれらに限定されない。いくつかの実施例において、計算装置210は、他のハードウェアコンポーネント及びソフトウェアコンポーネント(図示せず)を含むことにより相応的なタスクを実行することができる。これらのハードウェアコンポーネント及びソフトウェアコンポーネントの例示は、他に必要なメモリ、インタフェース、バス、入出力(Input/Output、I/O)モジュール、装置、ネットワークインタフェース、周辺機器等を含むが、これらに限定されない。
【0045】
プロセッサ212は、中央処理ユニット(Central Processing Unit、CPU)であってもよく、計算装置210の操作を制御するために用いられる。プロセッサ112は、計算装置210のオペレーティングシステム(Operating System、OS)又は他のアプリケーションを実行することができる。いくつかの実施例において、サーバ計算装置210は、一つ以上のCPUをプロセッサとして有してもよく、例えば二つのCPU、四つのCPU、八つのCPU又は任意の適切な数のCPUである。
【0046】
メモリ214は揮発性メモリであってもよく、例えばランダムアクセスメモリ(Random-Access Memory、RAM)であって、計算装置210の動作期間にデータ及び情報を記憶するために用いられるもの。いくつかの実施例において、メモリ214は揮発性メモリアレイであってもよい。いくつかの実施例において、計算装置210は一つ以上のメモリ214で運行することができる。
【0047】
記憶装置216は、在庫割付け計算装置210のオペレーティングシステム(図示せず)やその他のアプリケーションを記憶するための不揮発性のデータ記憶媒体である。記憶装置216の例示は、フラッシュメモリ、メモリカード、USBドライブ、ハードディスクドライブ、フレキシブルディスク、光ドライブ等の不揮発性メモリ、又は任意の他のタイプのデータ記憶装置を含む。いくつかの実施例において、計算装置210は、複数の記憶装置216を有してもよく、これらの記憶装置216は、同じ記憶装置又は異なるタイプの記憶装置であってもよく、計算装置210のアプリケーションは、計算装置210の一つ以上の記憶装置216に記憶されてもよい。
【0048】
記憶装置216は、オブジェクト検出および語意分割アプリケーション218と、(選択的には)トレーニングデータ232および制御アプリケーション234とを含む。オブジェクト検出及び語意分割アプリケーション218は、オブジェクト検出モデル及び語意分割モデルを用いて採集された画像を処理することにより、採集された画像におけるオブジェクト及び採集された画像における画素を分類するために用いられる。トレーニングデータ232を用いて、オブジェクト検出および語意分割アプリケーション218をトレーニングする。いくつかの実施例において、オブジェクト検出及び語意分割アプリケーション218のオブジェクト検出モデル及び語意分割モデルは、記憶装置216にインストールする前に予めトレーニングされてもよく、記憶装置216はトレーニングデータ236を有する必要がない。いくつかの実施例において、記憶装置216は語意分割をトレーニングして実行するために必要な他のモジュールを含むことができる。制御アプリケーション234は、オブジェクト検出及び語意分割アプリケーション218からオブジェクト検出結果及び語意分割結果を受信した場合、これらの結果と結果に対応する操作コマンドに基づいて操作装置270の操作を制御するために用いられる。操作コマンドとその結果との対応関係は、制御アプリケーション234に予め記憶されていてもよい。
【0049】
図2に示すように、オブジェクト検出及び語意分割アプリケーション218は画像採集モジュール220、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224、語意分割モジュール226、トレーニングモジュール228及び混合損失関数モジュール230を含む。いくつかの実施例において、オブジェクト検出及び語意分割アプリケーション218をリアルタイムに実行し、かつ識別されたオブジェクト及び分類された画素をリアルタイムに使用して操作装置270を制御する。いくつかの実施例において、オブジェクト検出及び語意分割アプリケーション218は画像採集モジュール220、トレーニングモジュール228及び混合損失関数モジュール230のうちの一つ又は複数を含まなくてもよいが、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226を少なくとも含む。オブジェクト検出及び語意分割の両者を考慮した混合損失関数を用いてニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226に対して好ましく事前トレーニングを行い、ここで混合損失関数は混合損失関数モジュール230により定義される。
【0050】
画像採集モジュール220は、画像採集装置250がシーン又は環境の画像又はビデオをリアルタイムに採集するように指示するために用いられる。いくつかの実施例において、画像採集モジュール220は画像採集装置250により採集された画像を受動的に受信してもよい。画像採集モジュール220は、画像を取得した後、さらに画像を事前処理することができる。事前処理は画像の光バランスを調整し、画像を再フォーマットし、画像サイズを調整し、(選択的に)異なるリソース(例えば画像採集装置250の複数のカメラ)からの画像を同期すること等を含むことができる。その後、画像採集モジュール220は、処理された画像をニューラルネットワークバックボーン222に送信する。
【0051】
ニューラルネットワークバックボーン222は、画像採集モジュール220から一つ又は複数の画像を受信した後、該画像を処理して特徴図を取得することに用いられる。いくつかの実施例において、ニューラルネットワークバックボーン222はResNet18バックボーンである。いくつかの実施例において、取得された特徴図は複数の画素を含み、各画素は該画素の特徴を表す値又はベクトルを有する。各ベクトルは、長さ又はCの次元を有し、アプリケーション218のトレーニング期間にCの値を学習することができる。一例において、入力画像の大きさは512×512(高Hと幅W)であり、ニューラルネットワークバックボーン222を介して畳み込みた後、出力は64×64特徴図と32×32特徴図を含むことができる。ニューラルネットワークバックボーン222は、64×64特徴図と32×32特徴図をオブジェクト検出モジュール224に送信し、64×64特徴図を語意分割モジュール226に送信するために用いられる。
【0052】
オブジェクト検出モジュール224はニューラルネットワークバックボーン222から特徴図を受信した後、該特徴図を処理して画像からオブジェクトを識別するために用いられる。いくつかの実施例において、オブジェクト検出モジュール224は、単回検出器(Single Shot Detector、SSD)、デコンボリューション単回検出器(Deconvoluting Single Shot Detector、DSSD)、ライトヘッダ領域畳み込みニューラルネットワーク(Light-head Region-convoluting Neural Network、R-CNN)、Faster R-CNN、領域に基づく全畳み込みネットワーク(Region-based Fully Convolutional Network、R-FCN)、特徴ピラミッドネットワーク(Feature Pyramid Network、FPN)、RetinaNet、又はオブジェクト検出用の一見(You Only Look Once、Yolo)を使用することができる。一例では、単回検出器(SSD)はオブジェクト検出に用いられる。
【0053】
語意分割モジュール226は、ニューラルネットワークバックボーン222から特徴図を受信した後、該特徴図を処理して画像の複数の画素を分類するために用いられる。いくつかの実施例において、語意分割モジュール226は、ピラミッドシーン解析ネットワーク(Pyramid Scene Parsing Network、PSPNet)又はFCNを用いて語意分割を行うことができる。一例において、PSPNetは語意分割に用いられる。
【0054】
トレーニングモジュール228は、トレーニングデータ232と混合損失関数モジュール230により提供された混合損失関数を用いて、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226をトレーニングするために用いられる。
【0055】
混合損失関数モジュール230は、混合損失関数を提供してニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226をトレーニングするために用いられる。混合損失関数は、オブジェクト検出と語意分割の両方に用いられるコンポーネントを含む。混合損失関数及びトレーニングデータ222を提供することにより、トレーニング過程がオブジェクト検出及び語意分割が互いに促進することができることによって効率が高くなることができる。
【0056】
トレーニングデータ232は、オブジェクト検出および語意分割の両方をトレーニングするためのデータを含む。具体的には、トレーニングデータ232におけるデータエントリに対して、トレーニングデータ232は、画像、画像におけるオブジェクトのバウンディングボックス、バウンディングボックスにおけるオブジェクトのラベル(例えばオブジェクトの名称)及び画像における画素の種別ラベルを提供する。
【0057】
いくつかの態様において、本開示は、オブジェクト検出及び語意分割アプリケーション218のトレーニング方法に関し、具体的には、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226のトレーニング方法に関する。いくつかの実施例において、
図3に示す方法は、
図2に示すようなシステムで実現することができる。特に説明すべきものとして、本開示が特に説明しない限り、該方法のステップは異なる順序で配列されてもよく、そのため、
図3に示す順序に限定されない。
【0058】
図3に示すように、ステップ302において、トレーニングモジュール228はトレーニングデータ232を検索し、トレーニングデータをニューラルネットワークバックボーン222に送信する。トレーニングデータ232の各トレーニングエントリは、画像、画像におけるオブジェクトのバウンディングボックス、バウンディングボックスにおけるオブジェクトのラベル、画像における各画素の種別ラベルとを含む。
【0059】
ステップ304において、ニューラルネットワークバックボーン222は、トレーニングデータ232を受信した後、画像を特徴図に変換し、特徴図をそれぞれオブジェクト検出モジュール224及び語意分割モジュール226に送信する。ステップ304を実行することに、画像を使用し、画像のバウンディングボックス、バウンディングボックス/オブジェクトラベル及び画素ラベルを使用しない。画像のバウンディングボックスおよびラベルをトレーニングして、後から使用することができる。
【0060】
ステップ306において、オブジェクト検出モジュール224はニューラルネットワークバックボーン222から特徴図を受信した後、該特徴図に基づいてオブジェクトを検出する。検出結果は、画像におけるバウンディングボックスと、異なるオブジェクトのバウンディングボックスを示すラベルとを含んでいてもよい。ラベルは、例えば、自動車、自転車、人、交通信号灯等を含んでもよい。
【0061】
ステップ308において、語意分割モジュール226は、ニューラルネットワークバックボーン222から特徴図を受信した後、画像を分割し、特徴図に基づいて各画素に種別ラベルを提供する。各画素に対するラベルは、道路、人、歩道、建物、自動車等を含むことができる。
【0062】
ステップ310において、オブジェクト検出モジュール224のオブジェクト検出及び語意分割モジュール226の語意分割が完了した後、トレーニングモジュール228はオブジェクト検出結果及び語意分割結果とトレーニング画像に対する元のラベルとを比較し、予測結果とトレーニングデータにおけるラベルとの間の差分を取得し、混合損失関数モジュール230により提供された損失関数を検索し、かつ損失関数及び差分を用いてニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226のパラメータ又は重みを調整する。
【0063】
ステップ312において、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226のパラメータ又は重みが収束するまでに、ステップ302~ステップ310を複数回繰り返して実行する。
【0064】
いくつかの態様において、本開示は、
図3に記載のような良好なトレーニングを経たアプリケーション218の使用方法に関する。
図4は、本開示のいくつかの実施例に係るリアルタイムオブジェクト検出及び語意分割を同時に行う方法を模式的に示す。いくつかの実施例において、
図4に示す方法は、
図2に示すようなシステムで実現することができる。特に説明すべきものとして、本開示が特に説明されない限り、該方法のステップは、異なる順序で配列されてもよく、そのため、
図4に示す順序に限定されない。いくつかの実施例において、
図4に示す方法は、
図3に示す方法と類似し、入力画像がリアルタイムに採集された画像でありラベル付きのトレーニング画像ではなく、予測されたオブジェクト検出結果と語意分割結果を比較する必要がないこと、を区別とする。
【0065】
図4に示すように、ステップ402において、画像採集装置250は、シーンの画像を撮影し画像を画像採集モジュール220に送信する。画像採集モジュール220は、画像を受信し、画像をニューラルネットワークバックボーン222に送信する。いくつかの実施例において、画像採集モジュール220は、画像を送信してさらなる処理に用いられる前に、画像に事前処理を行うことができ、例えば画像を再フォーマットするか又は画像サイズを調整してニューラルネットワークバックボーン222の要求を満たす。
【0066】
ステップ404において、ニューラルネットワークバックボーン222は、採集された画像を受信した後、採集された画像を特徴図に変換し、かつ特徴図をそれぞれオブジェクト検出モジュール224及び語意分割モジュール226に送信する。
【0067】
ステップ406において、オブジェクト検出モジュール224は、ニューラルネットワークバックボーン222から特徴図を受信した後、該特徴図に基づいてオブジェクトを検出する。検出結果は、採集された画像におけるバウンディングボックスと異なるオブジェクトのバウンディングボックスを示すラベルとを含むことができる。ラベルは、例えば、自動車、自転車、人、通信信号灯等を含んでもよい。
【0068】
ステップ408において、語意分割モジュール226は、ニューラルネットワークバックボーン222から特徴図を受信する時に、画像を分割し、かつ特徴図に基づいて各画素に種別ラベルを提供する。各画素のラベルは、道路、人、歩道、建物、自動車等を含んでいてもよい。
【0069】
いくつかの実施例において、該方法はさらにステップ410を含むことができる。ステップ410において、制御アプリケーション234は、オブジェクト検出モジュール224からのオブジェクト検出結果と語意分割モジュール226からの語意分割結果を使用し、これらの結果に基づいて操作装置270の操作を指示する。
【0070】
図5は、本開示のいくつかの実施例に係るオブジェクト検出及び語意分割モデルの例示を示す。いくつかの実施例において、該モデルは、ニューラルネットワークバックボーン222、オブジェクト検出モジュール224及び語意分割モジュール226に対応し、該モデルはさらにオブジェクト検出コンポーネント及び語意分割コンポーネントを含む混合損失関数を使用して限定する。
【0071】
図5に示すように、モデル500は共有ResNet18バックボーン、オブジェクト検出サブモデル及び語意分割サブモデルを含む。共有ResNet18バックボーンは、画像を特徴図に変換する。特徴図は、オブジェクト検出サブモデル及び語意分割サブモデルに入力される。いくつかの実施例において、オブジェクト検出サブモデルはSSDを用いて実現され、語意分割サブモデルはピラミッドプーリングを用いて実現される。
【0072】
オブジェクト検出サブモデルは、複数の異なる大きさの畳み込み層を用いてResNet18バックボーンからの特徴図を処理する。畳み込み層からの結果は、ResNet18バックボーンからの情報と結合してオブジェクト検出を行う。さらに、非極大値抑制(Non-maximum Suppression、NMS)を利用して該検出を処理することにより、最終的なオブジェクト検出結果を取得する。
【0073】
語意分割サブモデルは異なる大きさの特徴図をプーリングし、異なるHおよびWの大きさの特徴図に畳み込みを行う。畳み込みの後、語意分割サブモデルは畳み込みの結果を同じHとWサイズとしてアップサンプリングし、かつアップサンプリングされた特徴図を接合して、接合されたせた特徴図を得る。その後、接合された特徴図に畳み込みを行って最終的な語意分割結果を取得する。結果において、種別を利用して採集された画像における各画素を予測し、これらの種別は地面、人、建物、電柱及び樹木を含むことができる。
【0074】
いくつかの実施例において、モデルは、
図5に示すような精密な積層構造及び次元を有する。いくつかの実施例において、モデルは、
図5に示すような精密な積層構造を有し、次元HとWの大きさは、比例的に変化するか又は変更することができる(次元Cが同じであることを保持する)。いくつかの実施例において、モデルは、
図5に示すような精密な積層構造を有し、次元H及びWの大きさは、比例的に変化するか又は変更することができる(次元Cは変化することができるが、H及びWの変化に比例しない)。いくつかの実施例において、モデルは、
図5に示すような精密な積層構造を有するが、次元H、W及びCの大きさは、比例的に変化するか又は変更することができる。いくつかの実施例において、
図5に示すモデルにおける層の大きさは、説明のみに用いられ、本開示の範囲を限定することを意図していない。処理しようとするデータタイプに応じて、様々な大きさの次元H、W、Cを使用することができる。
【0075】
いくつかの態様において、本開示は、コンピュータ実行可能なコードを記憶する非一時的なコンピュータ可読媒体に関する。いくつかの実施例において、コンピュータ実行可能なコードは上記のような不揮発性記憶装置216に記憶されたソフトウェアであってもよい。コンピュータ実行可能なコードは、実行された場合に、上述した方法のいずれかを実行することができる。いくつかの実施例において、非一時的なコンピュータ可読媒体は上記のような計算装置210の記憶装置216、又は計算装置210の任意の他の記憶媒体を含むがそれらに限定されない。
【0076】
それ以外に、本開示のいくつかの実施例は、同時に行われたリアルタイムオブジェクト検出及び語意分割を提供する。本開示のいくつかの実施例の利点は以下のとおりである:(1)共有の軽量型バックボーンネットワークにより、モデルをより迅速にする;(2)少なくとも共有のResNet18バックボーン及び混合損失関数によりSSDと特徴ピラミッドのプーリングとの間のインタラクションを行い、それにより予測がより効率的で正確である;(3)オブジェクト検出及び分割を同時に実現して自動運転車両のような操作装置を制御することに役立つ。
【0077】
本開示の例示的な実施例の前述の記述は説明及び記述の目的のみで示され、網羅的に、又は本開示を開示された正確な形式に限定することを意図していない。上記教示によれば、多くの修正及び変更が可能である。
【0078】
実施例を選択して説明することは、本開示の原理及びその実際の応用を説明するためであり、それにより当業者は本開示及び様々な実施例及び所望の特定用途に適する様々な修正を利用することができる。本開示の精神及び範囲から逸脱することなく、代替実施例は、本開示の属する分野の当業者にとって明らかになる。したがって、本開示の範囲は、上記説明及び説明した例示的な実施例ではなく、添付の特許請求の範囲によって限定される。