JP7289918B2 - 物体認識方法及び装置 - Google Patents

物体認識方法及び装置 Download PDF

Info

Publication number
JP7289918B2
JP7289918B2 JP2021538658A JP2021538658A JP7289918B2 JP 7289918 B2 JP7289918 B2 JP 7289918B2 JP 2021538658 A JP2021538658 A JP 2021538658A JP 2021538658 A JP2021538658 A JP 2021538658A JP 7289918 B2 JP7289918 B2 JP 7289918B2
Authority
JP
Japan
Prior art keywords
task
image
box
header
backbone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021538658A
Other languages
English (en)
Other versions
JP2022515895A (ja
Inventor
ジアーン,リーホゥイ
チュイ,ジャン
ジャーン,ウエイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2022515895A publication Critical patent/JP2022515895A/ja
Application granted granted Critical
Publication of JP7289918B2 publication Critical patent/JP7289918B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Description

この出願は、人工知能の分野に関し、特に、物体認識方法及び装置に関する。
コンピュータビジョンは、製造業、検査、文書分析、医学診断及び軍事のような様々な適用分野における様々な知的/自律システムの不可欠な部分である。コンピュータビジョンは、撮影された被写体の必要なデータ及び情報を取得するためにカメラ/ビデオカメラ及びコンピュータをどのように使用するかについての知識である。鮮明にするため、ターゲットを認識して追跡して測定するために人間の目に置き換わる目(カメラ又はビデオカメラ)及び脳(アルゴリズム)がコンピュータに搭載され、それにより、コンピュータが環境を感知できる。感知は、感知信号から情報を抽出するものとして考えられてもよい。したがって、コンピュータビジョンは、人工システムが画像又は多次元データにおいて「感知」を実行することをどのように可能にするかを研究する科学として考えられてもよい。結論として、コンピュータビジョンは、入力情報を取得するために視覚器官を様々なイメージングシステムに置き換え、次いで、入力情報を処理して解釈するために脳をコンピュータに置き換えることである。コンピュータビジョンの究極の研究目的は、人間が行うようなビジョンを通じて、コンピュータが世界を観察して理解することを可能にし、環境に自律的に適応する能力を有することである。
現在、視覚感知ネットワークは、画像分類、2D検出、セマンティックセグメンテーション(Mask)、キーポイント検出、線形物体検出(例えば、自動運転技術における車線境界線又は停止線検出)、及び駆動可能エリア検出を含む、より多くの機能を実現できる。さらに、視覚感知システムは、コスト効率的であり、非接触であり、サイズが小さく、情報量が多い。視覚感知アルゴリズムの精度の継続的な改善によって、視覚感知アルゴリズムは、今日では多くの人工知能システムの重要な技術となっており、ますます広く適用されている。例えば、視覚感知アルゴリズムは、先進運転支援システム(ADAS, Advanced Driving Assistant System)又は自動運転システム(ADS, Autonomous Driving System)において、道路表面上の動的障害物(人物又は車両)又は静的物体(信号機、交通標識又は交通円錐形物体)を認識するために使用される。代替として、視覚感知アルゴリズムは、端末ビジョンの顔面美化機能に使用され、それにより、ダウンサイジングを実現するように人体のmask及びキーポイントが認識される。
現在、ほとんどの主流の視覚感知ネットワークは、2D検出、3D検出、セマンティックセグメンテーション及びキーポイント検出のような1つの検出タスクに集中している。複数の機能を実現するために、通常では異なるネットワークが必要とされる。複数のネットワークを同時に動作させることは、ハードウェアの計算量及び消費電力を劇的に増加させ、モデルの動作速度を低減し、リアルタイム検出を実現することを困難にする。
ハードウェアの計算量及び消費電力を低減し、感知ネットワークモデルの計算速度を改善するために、本発明の実施形態は、複数のヘッダ(Header)に基づく感知ネットワークを提供する。感知ネットワークは、バックボーンと複数の並列Headerとを含む。複数の並列Headerは、バックボーンに接続される。
バックボーンは、入力画像を受信し、入力画像に対して畳み込み処理を実行し、画像に対応する、異なる解像度を有する特徴マップを出力するように構成される。
並列Headerは、バックボーンにより出力された特徴マップに基づいてタスクにおけるタスク物体を検出し、タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するように構成される。各並列Headerは異なるタスク物体を検出する。タスク物体はタスクにおいて検出される必要がある物体である。より高い信頼度はタスクに対応する物体が信頼度に対応する2Dボックスに存在するより高い確率を示す。並列Headerは複数の並列Headerのうちいずれか1つであり、並列Headerの機能は同様である。
任意選択で、各並列ヘッダは、領域提案ネットワーク(RPN)モジュールと、関心領域整列(ROI-ALIGN)モジュールと、領域畳み込みニューラルネットワーク(RCNN)モジュールとを含む。並列ヘッダのRPNモジュールは、他の並列ヘッダのRPNモジュールと独立している。並列ヘッダのROI-ALIGNモジュールは、他の並列ヘッダのROI-ALIGNモジュールと独立している。並列ヘッダのRCNNモジュールは、他の並列ヘッダのRCNNモジュールと独立している。各並列ヘッダについて、
RPNモジュールは、バックボーンにより提供された1つ以上の特徴マップ上で、タスク物体が位置する領域を予測し、領域に一致する候補2Dボックスを出力するように構成され、
ROI-ALIGNモジュールは、RPNモジュールにより予測された領域に基づいて、バックボーンにより提供された特徴マップから候補2Dボックスが位置する領域の特徴を抽出するように構成され、
RCNNモジュールは、ニューラルネットワークを通じて、候補2Dボックスが位置する領域の特徴に対して畳み込み処理を実行し、候補2Dボックスが各物体カテゴリに属する信頼度を取得し、物体カテゴリは並列ヘッダに対応するタスクにおける物体カテゴリであり、ニューラルネットワークを通じて、領域の候補2Dボックスの座標を調整し、それにより、調整された2D候補ボックスは候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスを、領域の2Dボックスとして選択する、ように構成される。
任意選択で、2Dボックスは矩形ボックスである。
任意選択で、この出願のこの実施形態の他の態様では、RPNモジュールは、RPNモジュールが属するタスクに対応する物体のアンカー(Anchor)に基づいて、バックボーンにより提供された1つ以上の特徴マップ上でタスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dボックスを出力するように構成される。アンカーはアンカーが属するタスク物体の統計的特徴に基づいて取得される。統計的特徴は物体の形状及びサイズを含む。
任意選択で、この出願のこの実施形態の他の態様では、感知ネットワークは、少なくとも1つ以上の直列Headerを更に含む。直列Headerは並列Headerに接続される。
直列Headerは、直列Headerに接続された並列Headerにより提供され且つ並列Headerが属するタスクのタスク物体の2Dボックスを通じて、バックボーン上の1つ以上の特徴マップ上で、2Dボックスが位置する領域の特徴を抽出し、2Dボックスが位置する領域の特徴に基づいて、並列Headerが属するタスクのタスク物体の3D情報、Mask情報又はKeypoint情報を予測するように構成される。
任意選択で、RPNモジュールは、異なる解像度を有する特徴マップ上で、異なるサイズを有する物体が位置する領域を予測する。
任意選択で、RPNモジュールは、低解像度特徴上で大きい物体が位置する領域を検出し、高解像度特徴マップ上で小さい物体が位置する領域を検出する。
他の態様によれば、本発明の実施形態は、物体検出方法を更に提供する。当該方法は、
入力画像を受信するステップと、
入力画像に対して畳み込み処理を実行し、画像に対応する、異なる解像度を有する特徴マップを出力するステップと、
異なるタスクについて、特徴マップに基づいて各タスクにおけるタスク物体を独立して検出し、各タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップであり、タスク物体はタスクにおいて検出される必要がある物体であり、より高い信頼度はタスクに対応する物体が信頼度に対応する2Dボックスに存在するより高い確率を示す、ステップと
を含む。
任意選択で、異なるタスクについて、特徴マップに基づいて各タスクにおけるタスク物体を独立して検出し、各タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップは、
1つ以上の特徴マップ上で、タスク物体が位置する領域を予測し、領域に一致する候補2Dボックスを出力するステップと、
タスク物体が位置する領域に基づいて、特徴マップから候補2Dボックスが位置する領域の特徴を抽出するステップと、
候補2Dボックスが位置する領域の特徴に対して畳み込み処理を実行し、候補2Dボックスが各物体カテゴリに属する信頼度を取得するステップであり、物体カテゴリはタスクにおける物体カテゴリである、ステップと、
ニューラルネットワークを通じて、領域の候補2Dボックスの座標を調整し、それにより、調整された2D候補ボックスは候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスを、領域の2Dボックスとして選択するステップと
を含む。
任意選択で、2Dボックスは矩形ボックスである。
任意選択で、1つ以上の特徴マップ上で、タスク物体が位置する領域を予測し、領域に一致する候補2Dボックスを出力するステップは、
タスクに対応する物体のアンカー(Anchor)に基づいて、バックボーンにより提供された1つ以上の特徴マップ上でタスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dボックスを出力するステップであり、アンカーはアンカーが属するタスク物体の統計的特徴に基づいて取得され、統計的特徴は物体の形状及びサイズを含む、ステップである。
任意選択で、当該方法は、
タスクのタスク物体の2Dボックスに基づいて、バックボーン上の1つ以上の特徴マップから、2Dボックスが位置する領域の特徴を抽出し、2Dボックスが位置する領域の特徴に基づいて、タスクのタスク物体の3D情報、Mask情報又はKeypoint情報を予測するステップを更に含む。
任意選択で、大きい物体が位置する領域の検出は低解像度特徴上で完了し、RPNモジュールは、高解像度特徴マップ上で小さい物体が位置する領域を検出する。
他の態様によれば、この出願の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための方法を提供する。感知ネットワークは、バックボーンと、複数の並列ヘッダ(Header)とを含む。当該方法は、
各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するステップであり、各画像は1つ以上のデータタイプでラベル付けされ、複数のデータタイプは全てのデータタイプのサブセットであり、データタイプはタスクに対応する、ステップと、
各画像が属するタスクに基づいて、各画像について訓練される必要があるHeaderを決定するステップと、
各画像について訓練される必要があるHeaderの損失値を計算するステップと、
各画像について、訓練される必要があるHeaderを通じて勾配バックホールを実行し、損失値に基づいて、訓練される必要があるHeader及びバックボーンのパラメータを調整するステップと
を含む。
任意選択で、データバランシングが異なるタスクに属する画像に対して実行される。
本発明の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための装置を更に提供する。感知ネットワークは、バックボーンと複数の並列ヘッダ(Header)とを含む。当該装置は、
各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するように構成されたタスク決定モジュールであり、各画像は1つ以上のデータタイプでラベル付けされ、複数のデータタイプは全てのデータタイプのサブセットであり、データタイプはタスクに対応する、タスク決定モジュールと、
各画像が属するタスクに基づいて、各画像について訓練される必要があるHeaderを決定するように構成されたHeader決定モジュールと、
各画像について、Header決定モジュールにより決定されたHeaderの損失値を計算するように構成された損失値計算モジュールと、
各画像について、Header決定モジュールにより決定されたHeaderに対して勾配バックホールを実行し、損失値計算モジュールにより取得された損失値に基づいて、訓練される必要があるHeader及びバックボーンのパラメータを調整するように構成された調整モジュールと
を含む。
任意選択で、当該装置は、異なるタスクに属する画像に対してデータバランシングを実行するように構成されたデータバランシングモジュールを更に含む。
本発明の実施形態は、感知ネットワークアプリケーションシステムを更に提供する。感知ネットワークアプリケーションシステムは、少なくとも1つのプロセッサと、少なくとも1つのメモリと、少なくとも1つの通信インタフェースと、少なくとも1つの表示デバイスとを含む。プロセッサ、メモリ、表示デバイス及び通信インタフェースは、通信バスを通じて接続され、互いに通信する。
通信インタフェースは、他のデバイス又は通信ネットワークと通信するように構成される。
メモリは、上記の解決策を実行するためのアプリケーションプログラムコードを記憶するように構成され、プロセッサは実行を制御する。プロセッサは、メモリに記憶されたアプリケーションプログラムコードを実行するように構成される。
メモリ2002に記憶されたコードは、上記において提供されるMulti-Headerベースの物体感知方法、又は上記の実施形態において提供される感知ネットワークを訓練するための方法を実行するように実行されてもよい。
表示デバイスは、認識対象の画像と、画像内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報とを表示するように構成される。
この出願の実施形態において提供される感知ネットワークによれば、全ての感知タスクは同じバックボーンを共有し、それにより、計算量がかなり低減され、感知ネットワークモデルの計算速度が改善される。ネットワーク構造は拡張するのが容易であり、それにより、2D検出タイプを拡張するために、1つ又はいくつかのHeaderのみが追加される必要がある。各並列Headerは独立したRPN及びRCNNモジュールを有し、並列Headerが属するタスクの物体のみが検出される必要がある。このように、訓練プロセスにおいて、他のラベルなしタスクの物体への誤った損傷が回避できる。
この出願のこれらの態様又は他の態様は、以下の実施形態の説明において、理解するのがより明確且つ容易になる。
本発明の実施形態又は従来技術における技術的解決策をより明確に説明するために、以下に、実施形態又は従来技術を説明するための添付図面について簡単に説明する。以下の説明における添付図面は、単に本発明のいくつかの実施形態を示しており、当業者は、創造的取り組みなしに、添付図面から他の図面を導出し得ることは明らかである。
この出願の実施形態によるシステムアーキテクチャの概略構造図である。 この出願の実施形態によるCNN特徴抽出モデルの概略図である。 この出願の実施形態によるチップのハードウェア構造の概略図である。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークのアプリケーションシステムフレームワークの概略図である。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークの構造の概略図である。 この出願の実施形態による複数の並列Headerに基づくADAS/AD感知システムの構造の概略図である。 この出願の実施形態による複数の並列Headerに基づくADAS/AD感知システムの構造の概略図である。 この出願の実施形態による基本特徴生成の概略フローチャートである。 この出願の実施形態による他のRPN層の構造の概略図である。 この出願の実施形態による他のRPN層の物体に対応するAnchorの概略図である。 この出願の実施形態による他のROI-ALIGNプロセスの概略図である。 この出願の実施形態による他のRCNNの実現方式及び構造の概略図である。 この出願の実施形態による他の直列Headerの実現方式及び構造の概略図である。 この出願の実施形態による他の直列Headerの実現方式及び構造の概略図である。 この出願の実施形態による他の直列Headerの実現方式及び構造の概略図である。 この出願の実施形態による他の直列Headerの実現方式及び構造の概略図である。 この出願の実施形態による直列Headerの実現方式及び構造の概略図である。 この出願の実施形態による直列Headerの実現方式及び構造の概略図である。 この出願の実施形態によるいくつかのラベル付きデータのための訓練方法の概略図である。 この出願の実施形態によるいくつかのラベル付きデータのための他の訓練方法の概略図である。 この出願の実施形態によるいくつかのラベル付きデータのための他の訓練方法の概略図である。 この出願の実施形態によるいくつかのラベル付きデータのための他の訓練方法の概略図である。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークのアプリケーションの概略図である。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークのアプリケーションの概略図である。 この出願の実施形態による感知方法の概略フローチャートである。 この出願の実施形態による2D検出の概略フローチャートである。 この出願の実施形態による端末デバイスの3D検出の概略フローチャートである。 この出願の実施形態によるMask予測の概略フローチャートである。 この出願の実施形態によるキーポイント座標の予測の概略フローチャートである。 この出願の実施形態による感知ネットワークを訓練する概略フローチャートである。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークの実現構造の概略図である。 この出願の実施形態による複数の並列Headerに基づく感知ネットワークの実現構造の概略図である。 この出願の実施形態に従っていくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための装置の図である。 この出願の実施形態による物体検出方法の概略フローチャートである。 この出願の実施形態に従っていくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するフローチャートである。
まず、この出願の実施形態において使用される頭字語及び略語が以下に列挙される。
Figure 0007289918000001
業界における用語の説明により良く適合させるために、本発明の実施形態におけるいくつかの添付図面は英語で記載されており、対応する日本語の定義も実施形態で提供される点に留意すべきである。以下に、添付図面を参照して、この出願の実施形態について説明する。
この出願の実施形態は、主に、運転支援、自動運転及び携帯電話端末のような、複数の感知タスクが完了する必要がある分野に適用される。本発明のアプリケーションシステムのフレームワークが図4に示されている。単一の画像は、ビデオに対してフレーム抽出を実行することにより取得される。画像は、本発明のMulti-Header感知ネットワークに送信され、画像内の関心物体の2D情報、3D情報、Mask(マスク)情報及びキーポイント情報のような情報を取得する。これらの検出結果は、処理のために後処理モジュールに出力される。例えば、検出結果は、意思決定のために自動運転システム内の計画制御ユニットに送信されるか、或いは、美化された画像を取得するために美化アルゴリズムに従って処理するために携帯電話端末に送信される。以下に、2つの適用シナリオ、すなわち、ADAS/ADS視覚感知システム及び携帯電話の美化機能について簡単に説明する。
適用シナリオ1:ADAS/ADS視覚感知システム
図19に示すように、ADAS又はADSでは、動的障害物(歩行者(Pedestrian)、サイクリスト(Cyclist)、三輪車(Tricycle)、車(Car)、トラック(Truck)、バス(Bus))、静的障害物(交通コーン(TrafficCone)、交通スティック(TrafficStick)、消火栓(FireHydrant)、オートバイ(Motocycle)、自転車(Bicycle)、交通標識(TrafficSign)、誘導標識(GuideSign)、広告掲示板(Billboard)、赤信号(TrafficLight_Red)/黄信号(TrafficLight_Yellow)/青信号(TrafficLight_Green)/黒信号(TrafficLight_Black)及び道路標識(RoadSign))に対する検出を含む、複数のタイプの2Dターゲット検出がリアルタイムで実行される必要がある。さらに、3D空間において動的障害物により占有される領域を正確に取得するために、3D推定が動的障害物に対して更に実行され、3Dボックスを出力する必要がある。レーザレーダのデータと統合するために、動的障害物に当たるレーザ点群をフィルタ除去するために動的障害物のMaskが取得される必要がある。駐車スペースを正確に見つけるために、駐車スペースの4つのキーポイントが同時に検出される必要がある。画像合成位置決めを実行するために、静的ターゲットのキーポイントが検出される必要がある。この出願の実施形態において提供される技術的解決策によれば、全ての上記の機能が1つの感知ネットワークで実現できる。
適用シナリオ2:携帯電話の美化機能
図20に示すように、携帯電話では、人体のMask及びキーポイントは、この出願の実施形態において提供される感知ネットワークを通じて検出され、人体の対応する部分がズームイン又はズームアウトされ、例えば、ウエストシューティング操作及びヒップ美化操作が実行され、美化された画像を出力してもよい。
適用シナリオ3:画像分類シナリオ
分類対象の画像を取得した後に、物体認識装置は、この出願の物体認識方法に従って、分類対象の画像内の物体のカテゴリを取得し、次いで、分類対象の画像内の物体のカテゴリに基づいて、分類対象の画像を分類してもよい。カメラマンは、動物の写真、人物の写真及び植物の写真のように、毎日多くの写真を撮影する。この出願の方法によれば、写真は、写真における内容に基づいて迅速に分類でき、動物を含む写真、人物を含む写真及び植物を含む写真に分類されてもよい。
比較的多数の画像が存在するとき、手動分類の効率は比較的低く、人は同じものを長時間処理するときに疲れやすい。この場合、分類結果はかなりの誤りを有する。しかし、この出願の方法によれば、画像は誤りなく迅速に分類できる。
適用シナリオ4:商品分類
商品画像を取得した後に、物体認識装置は、この出願の物体認識方法に従って、商品画像内の商品のカテゴリを取得し、次いで、商品のカテゴリに基づいて商品を分類する。大型ショッピングモール又はスーパーマーケットにおける様々な商品について、商品がこの出願の物体認識方法に従って迅速に分類でき、時間オーバーヘッド及び人件費を低減する。
この出願の実施形態において提供される方法及び装置は、訓練データベースを拡張するために更に使用されてもよい。図1に示すように、実行デバイス120のI/Oインタフェース112は、実行デバイスにより処理された画像(例えば、物体を含む画像ブロック又は画像)及びユーザにより入力された物体カテゴリを、訓練データペアとしてデータベース130に送信してもよく、それにより、データベース130内に維持されている訓練データがより豊富になる。このように、訓練デバイス130の訓練作業のために、より豊富な訓練データが提供される。
以下に、モデル訓練側及びモデル適用側から、この出願において提供される方法について説明する。
この出願の実施形態において提供されるCNN特徴抽出モデルを訓練するための方法は、コンピュータビジョン処理に関し、データ訓練、機械学習及び深層学習のようなデータ処理方法に具体的に適用され、訓練データ(例えば、この出願における物体の画像又は画像ブロック及び物体のカテゴリ)に対してシンボリック且つフォーマルなインテリジェント情報モデリング、抽出、前処理、訓練等を実行し、訓練されたCNN特徴抽出モデルを最終的に取得してもよい。さらに、この出願の実施形態では、入力データ(例えば、この出願における物体の画像)は、訓練されたCNN特徴抽出モデルに入力され、出力データを取得する(例えば、この出願では、画像内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報が取得される)。
この出願の実施形態は、多数のニューラルネットワークの適用に関する。したがって、理解を容易にするために、この出願の実施形態におけるニューラルネットワークのような関連用語及び関連概念について、最初に以下に説明する。
(1)物体認識:物体認識では、画像処理、機械学習及びコンピュータグラフィックスのような関連する方法が、画像物体のカテゴリを決定するために使用される。
(2)ニューラルネットワーク
ニューラルネットワークは、ニューロンを含んでもよい。ニューロンは、xs及びインターセプト1を入力として使用する演算ユニットでもよく、演算ユニットの出力は、以下の通りでもよい。
Figure 0007289918000002
ここで、s=1、2、...又はnであり、nは1よりも大きい自然数であり、Wsはxsの重みであり、bはニューロンのバイアスである。fはニューロンの活性化関数(activation functions)であり、活性化関数は、非線形特徴をニューラルネットワークに導入し、ニューロンにおける入力信号を出力信号に変換するために使用される。活性化関数の出力信号は、次の畳み込み層の入力として使用されてもよい。活性化関数は、sigmoid関数でもよい。ニューラルネットワークは、多くの単一のニューロンを一緒に接続することにより形成されるネットワークである。具体的には、ニューロンの出力は他のニューロンの入力でもよい。各ニューロンの入力は、局所受容野の特徴を抽出するために、前の層の局所受容野に接続されてもよい。局所受容野は、いくつかのニューロンを含む領域でもよい。
(3)ディープニューラルネットワーク
多層ニューラルネットワークとも呼ばれるディープニューラルネットワーク(Deep Neural Network, DNN)は、多くの隠れ層を有するニューラルネットワークとして理解されてもよい。ここでの「多く」は、特別な測定基準を有さない。DNNは、異なる層の位置に基づいて分割され、DNNにおけるニューラルネットワークは、3つのタイプ、すなわち、入力層、隠れ層及び出力層に分割されてもよい。一般的に、最初の層は入力層であり、最後の層は出力層であり、中間層は隠れ層である。層は完全に接続される。具体的には、i番目の層におけるいずれかのニューロンは(i+1)番目の層におけるいずれかのニューロンと確実に接続される。DNNは複雑に見えるが、DNNは実際には各層における作業に関して複雑ではなく、単に以下の線形関係式、すなわち、
Figure 0007289918000003

として表現され、ここで、
Figure 0007289918000004

は入力ベクトルであり、
Figure 0007289918000005

は出力ベクトルであり、
Figure 0007289918000006

はバイアスベクトルであり、Wは重み行列(係数とも呼ばれる)であり、α()は活性化関数である。各層において、出力ベクトル
Figure 0007289918000007

は、入力ベクトル
Figure 0007289918000008

に対してこのような簡単な演算を実行することにより取得される。DNNに多くの層が存在するので、多くの係数W及びバイアスベクトル
Figure 0007289918000009

も存在する。DNNにおけるこれらのパラメータの定義は以下の通りである。係数Wが例として使用される。3つの層を有するDNNにおいて、2番目の層における4番目のニューロンから3番目の層における2番目のニューロンへの線形係数がW24 3として定義されると仮定される。上付き文字3は、係数Wが位置する層を表し、下付き文字は、出力の3番目の層のインデックス2及び入力の2番目の層のインデックス4に対応する。結論として、(L-1)番目の層におけるk番目のニューロンからL番目の層におけるj番目のニューロンへの係数は、Wjk Lとして定義される。入力層においてパラメータWは存在しない点に留意すべきである。ディープニューラルネットワークでは、より多くの隠れ層は、ネットワークを、現実の世界における複雑な場合をより記述できるようにする。
理論的には、より多くのパラメータを有するモデルは、より高い複雑性及びより大きい「容量」を示し、モデルがより複雑な学習タスクを完了できることを示す。ディープニューラルネットワークを訓練することは、重み行列を学習するプロセスであり、訓練の最終的な目的は、訓練されたディープニューラルネットワークの全ての層の重み行列(多くの層におけるベクトルWを含む重み行列)を取得することである。
(4)畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(CNN, Convolutional Neuron Network)は、畳み込み構造を有するディープニューラルネットワークである。畳み込みニューラルネットワークは、畳み込み層及びサブサンプリング層を含む特徴抽出器を含む。特徴抽出器は、フィルタとして考えられてもよい。畳み込みプロセスは、入力画像又は畳み込み特徴面(feature map)に対して畳み込みを実行するために、訓練可能なフィルタを使用することとして考えられてもよい。畳み込み層は、畳み込みニューラルネットワーク内にあり且つ畳み込み処理が入力信号に対して実行されるニューロン層である。畳み込みニューラルネットワークの畳み込み層において、1つのニューロンは、いくつかの隣接層のニューロンにのみ接続されてもよい。畳み込み層は、通常では複数の特徴面を含み、各特徴面は、矩形の形式に配列されたいくつかのニューロンを含んでもよい。同じ特徴面内のニューロンは、重みを共有する。ここでの共有される重みは畳み込みカーネルである。重み共有は、画像情報抽出方式が位置に無関係であることとして理解されてもよい。ここで暗示される原理は、画像の一部の統計情報が他の部分の統計情報と同じであるということである。これは、或る部分で学習された画像情報が他の部分でも使用できることを意味する。したがって、同じ学習を通じて取得された画像情報は、画像内の全ての位置に使用できる。同じ畳み込み層において、複数の畳み込みカーネルが、異なる画像情報を抽出するために使用されてもよい。通常では、より多数の畳み込みカーネルは、畳み込み演算により反映されるより豊富な画像情報を示す。
畳み込みカーネルは、ランダムなサイズの行列の形式で初期化されてもよい。畳み込みニューラルネットワークを訓練するプロセスにおいて、畳込みカーネルは学習を通じて適切な重みを取得してもよい。さらに、重み共有によりもたらされる直接的な利点は、畳み込みニューラルネットワークの層の間の接続が低減され、過学習リスクが低下することである。
(5)再帰型ニューラルネットワーク(RNN, Recurrent Neural Networks)は、シーケンスデータを処理するために使用される。従来のニューラルネットワークモデルでは、入力層から隠れ層に、そして出力層に、層は完全に接続され、各層におけるノードは接続されない。このような一般的なニューラルネットワークは、多くの難しい問題を解決するが、依然として多くの他の問題を解決することは不可能である。例えば、文中の単語が予測される場合、文中の隣接する単語は独立していないので、通常では、前の単語が使用される必要がある。RNNが再帰型ニューラルネットワークと呼ばれる理由は、シーケンスの現在の出力がシーケンスの前の出力にも関連しているからである。具体的な表現形式は、ネットワークが前の情報を記憶し、前の情報を現在の出力の計算に適用することである。具体的には、隠れ層におけるノードが接続され、隠れ層の入力は入力層の出力を含むだけでなく、前の時点における隠れ層の出力も含む。理論的には、RNNは如何なる長さのシーケンスデータも処理できる。RNNについての訓練は、従来のCNN又はDNNについての訓練と同じである。誤差逆伝搬アルゴリズムも使用されるが、違いが存在する。RNNが拡張される場合、RNNのWのようなパラメータが共有される。これは、上記の例において説明した従来のニューラルネットワークとは異なる。さらに、勾配降下アルゴリズムの使用中に、各ステップにおける出力は、現在のステップにおけるネットワークだけでなく、いくつかの前のステップにおけるネットワーク状態にも依存する。学習アルゴリズムは、通時的逆伝搬(back propagation through time, BPTT)アルゴリズムと呼ばれる。
今や畳み込みニューラルネットワークが存在するのに、なぜ再帰型ニューラルネットワークが必要なのか。理由は簡単である。畳み込みニューラルネットワークでは、要素は互いに独立しており、入力及び出力もネコ及びイヌのように独立していると仮定する。しかし、現実の世界では、多くの要素が相互接続されている。例えば、株式は時間とともに変化する。他の例では、或る人が以下のように言う。私は旅行が好きで、私の好きな場所は雲南です。チャンスがあれば行きます。空欄の記入が存在する場合、人々は、「雲南」が空欄に記入されることを認識すべきである。理由は、人々が文脈の内容に基づいて答えを推論できるからである。しかし、機械はどのようにしてこれを行うことができるのだろうか。RNNが出現している。RNNは、機械を人間のように記憶できるようにすることを意図している。したがって、RNNの出力は、現在の入力情報及び履歴記憶情報に依存する必要がある。
(6)損失関数
ディープニューラルネットワークを訓練するプロセスにおいて、ディープニューラルネットワークの出力が実際に期待される予測値にできるだけ近いことが期待されるので、現在のネットワークの予測値と実際に期待される目標値とが比較されてもよく、次いで、ニューラルネットワークの各層の重みベクトルが、予測値と目標値との間の差に基づいて更新される(明らかに、最初の更新の前に通常では初期化プロセスが存在し、具体的には、パラメータは、ディープニューラルネットワークの全ての層について予め構成される)。例えば、ネットワークの予測値が大きい場合、重みベクトルは、予測値を減少させるように調整され、ディープニューラルネットワークが、実際に予想される目標値又は実際に予想される目標値に非常に近い値を予測できるようになるまで、調整が継続的に実行される。したがって、「比較を通じて予測値と目標値の間の差をどのように取得するか」は予め定義される必要がある。これは損失関数(loss function)又は目的関数(objective function)である。損失関数及び目的関数は、予測値と目標値との間の差を測定するために使用される重要な式である。損失関数が例として使用される。損失関数のより高い出力値(loss)は、より大きい差を示す。したがって、ディープニューラルネットワークの訓練は、損失をできる限り最小化するプロセスである。
(7)逆伝搬アルゴリズム
畳み込みニューラルネットワークは、誤差逆伝搬(back propagation, BP)アルゴリズムに従って訓練プロセスにおける初期超解像度モデルにおけるパラメータの値を訂正してもよく、それにより、超解像度モデルを再構築する誤差損失がより小さくなる。具体的には、誤差損失が出力において発生するまで入力信号が前方に伝達され、初期超解像度モデルにおけるパラメータが逆伝搬誤差損失情報に基づいて更新され、誤差損失を収束させる。逆伝搬アルゴリズムは、最適な超解像度モデルの重み行列のようなパラメータを取得することを意図した誤差損失中心の逆伝搬運動である。
以下に、この出願の実施形態において提供されるシステムアーキテクチャについて説明する。
図1を参照すると、この出願の実施形態は、システムアーキテクチャ110を提供する。システムアーキテクチャ110に示すように、データ収集デバイス170は、訓練データを収集するように構成される。この出願のこの実施形態では、訓練データは、物体の画像又は画像ブロックと、物体のカテゴリとを含む。データ収集デバイス170は、訓練データをデータベース130に記憶する。訓練デバイス130は、CNN特徴抽出モデル101を取得するために、データベース130に維持されている訓練データに基づいて訓練を実行する(説明:ここでのモデル101は、訓練段階における訓練を通じて取得された上記のモデルであり、特徴抽出のために使用される感知ネットワーク等でもよい)。以下に、実施形態1を通じて、訓練デバイス130が訓練データに基づいてCNN特徴抽出モデル101をどのように取得するかについて、より詳細に説明する。CNN特徴抽出モデル101は、この出願のこの実施形態において提供される感知ネットワークを実現するために使用できる。具体的には、関連する前処理の後の認識対象の画像又は画像ブロックは、CNN特徴抽出モデル101に入力され、認識対象の画像又は画像ブロック内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報を取得する。この出願のこの実施形態におけるCNN特徴抽出モデル101は、具体的にはCNN畳み込みニューラルネットワークでもよい。実際のアプリケーションでは、データベース130に維持されている訓練データは、必ずしも全てデータ収集デバイス170により収集されているのではなく、代替として他のデバイスから受信されてもよい点に留意すべきである。さらに、訓練デバイス130は、CNN特徴抽出モデル101を取得するために必ずしもデータベース130に維持されている訓練データに完全に基づいて訓練を実行するのではなく、モデル訓練を実行するためにクラウド又は他の場所から訓練データを取得してもよい点に留意すべきである。上記の説明は、この出願のこの実施形態に対する限定として解釈されないものとする。
訓練を通じて訓練デバイス130により取得されたCNN特徴抽出モデル101は、例えば、図1に示す実行デバイス120に適用される異なるシステム又はデバイスに適用されてもよい。実行デバイス120は、携帯電話端末、タブレットコンピュータ、ノートブックコンピュータ、AR/VR端末又は車載端末のような端末でもよく、或いは、サーバ、クラウド等でもよい。図1において、実行デバイス120は、外部デバイスとデータを交換するように構成されたI/Oインタフェース112を備える。ユーザは、クライアントデバイス150を通じてデータをI/Oインタフェース112に入力してもよい。この出願のこの実施形態における入力データは、認識対象の画像若しくは画像ブロック又はピクチャを含んでもよい。
実行デバイス120が入力データを前処理するプロセスにおいて、或いは、実行デバイス120の計算モジュール111が計算等のような関連処理を実行する(例えば、この出願における感知ネットワークの機能を実現する)プロセスにおいて、実行デバイス120は、対応する処理のためにデータ記憶システム160内のデータ、コード等を呼び出してもよく、対応する処理を通じて取得されたデータ、命令等をデータ記憶システム160に更に記憶してもよい。
最後に、I/Oインタフェース112は、処理結果、例えば、上記の取得された画像若しくは画像ブロック、又は画像内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報をクライアントデバイス150に返信し、それにより、処理結果がユーザに提供される。
任意選択で、クライアントデバイス150は、自動運転システム内の計画制御ユニット又は携帯電話端末内の美化アルゴリズムモジュールでもよい。
訓練デバイス130は、異なる訓練データに基づいて、異なるターゲット又は異なるタスクについて対応するターゲットモデル/ルール101を生成してもよい点に留意すべきである。対応するターゲットモデル/ルール101は、上記のターゲットを実現するか或いは上記のタスクを完了し、ユーザにとって所望の結果を提供するために使用されてもよい。
図1に示す場合、ユーザは、入力データを手動で提供してもよい。手動提供は、I/Oインタフェース112により提供されるスクリーン上で実行されてもよい。他の場合、クライアントデバイス150は、入力データをI/Oインタフェース112に自動的に送信してもよい。クライアントデバイス150が入力データを自動的に送信するためにユーザからの許可を取得する必要があること要求される場合、ユーザは、クライアントデバイス150において対応する許可を設定してもよい。ユーザは、クライアントデバイス150上で、実行デバイス120による結果出力を見てもよい。具体的には、結果は、表示、音、アクション等の形式で提示されてもよい。クライアントデバイス150はまた、図面においてI/Oインタフェース112に入力される入力データ及びI/Oインタフェース112から出力される出力結果を収集し、入力データ及び出力結果を新たなサンプルデータとして使用し、新たなサンプルデータをデータベース130に記憶するためのデータ収集端として使用されてもよい。明らかに、クライアントデバイス150は、代替として収集を実行しなくてもよいが、I/Oインタフェース112は、図面におけるI/Oインタフェース112に入力される入力データ及びI/Oインタフェース112から出力される出力結果を新たなサンプルデータとしてデータベース130に直接記憶する。
図1は、単に本発明のこの実施形態において提供されるシステムアーキテクチャの概略図である点に留意すべきである。図面に示すデバイス、コンポーネント、モジュール等の間の位置関係は、限定を構成しない。例えば、図1において、データ記憶システム160は、実行デバイス120に対する外部メモリであるが、他の場合には、データ記憶システム160は、代替として実行デバイス120に配置されてもよい。
図1に示すように、CNN特徴抽出モデル101は、訓練デバイス130による訓練を通じて取得される。この出願のこの実施形態では、CNN特徴抽出モデル101は、CNN畳み込みニューラルネットワークでもよく、或いは、以下の実施形態で説明する、複数のHeaderに基づく感知ネットワークでもよい。
上記の基本概念で説明したように、畳み込みニューラルネットワークは、畳み込み構造を有するディープニューラルネットワークであり、深層学習(deep learning)アーキテクチャである。深層学習アーキテクチャは、機械学習アルゴリズムに従った異なる抽象レベルにおける複数の層の学習である。深層学習アーキテクチャとして、CNNはフィードフォワード(feed-forward)人工ニューラルネットワークである。フィードフォワード人工ニューラルネットワーク内のニューロンは、入力画像に応答してもよい。
図2に示すように、畳み込みニューラルネットワーク(CNN)210は、入力層220と、畳み込み層/プーリング層230(プーリング層は任意選択である)と、ニューラルネットワーク層230とを含んでもよい。
畳み込み層/プーリング層230:
畳み込み層:
図2に示すように、畳み込み層/プーリング層230は、例えば、層221~226を含んでもよい。例えば、実現方式では、層221は畳み込み層であり、層222はプーリング層であり、層223は畳み込み層であり、層224はプーリング層であり、層225は畳み込み層であり、層226はプーリング層である。他の実施形態では、層221及び222は畳み込み層であり、層223はプーリング層であり、層224及び225は畳み込み層であり、層226はプーリング層である。具体的には、畳み込み層の出力は、後続のプーリング層の入力として使用されてもよく、或いは、畳み込み演算を実行し続けるために、他の畳み込み層の入力として使用されてもよい。
以下に、1つの畳み込み層の内部動作原理を説明するために、畳み込み層221を例として使用する。
畳み込み層221は、複数の畳み込み演算子を含んでもよい。畳み込み演算子はまた、カーネルとも呼ばれる。画像処理において、畳み込み演算子は、入力画像行列から特定の情報を抽出するフィルタとして機能する。畳み込み演算子は、本質的には重み行列でもよく、重み行列は、通常では予め定義される。画像に対して畳み込み演算を実行するプロセスにおいて、重み行列は、通常では、入力画像上の水平方向の1つの画素(又はストライド(stride)の値に依存して2つの画素)の粒度レベルで画素を処理し、画像から特定の特徴を抽出する。重み行列のサイズは、画像のサイズに関係すべきである。重み行列の深度次元(depth dimension)は、入力画像の深度次元と同じである点に留意すべきである。畳み込み演算の間に、重み行列は入力画像の全深度に及ぶ。したがって、単一の重み行列を用いた畳み込みを通じて、単一の深度次元の畳み込み出力が生成される。しかし、ほとんどの場合、単一の重み行列は使用されず、同じサイズを有する複数の重み行列(行×列)、すなわち、複数の同じタイプの行列が適用される。重み行列の出力は、畳み込み画像の深度次元を形成するために積み重ねられる。ここでの次元は、上記の「複数」に基づいて決定されるものとして理解されてもよい。画像から異なる特徴を抽出するために、異なる重み行列が使用されてもよい。例えば、1つの重み行列が画像のエッジ情報を抽出するために使用され、他の重み行列が画像の特定の色を抽出するために使用され、更なる重み行列が画像内の不要なノイズをぼかすために使用される。複数の重み行列(行×列)のサイズは同じである。同じサイズを有する複数の重み行列から抽出された特徴マップのサイズも同じであり、次いで、同じサイズを有する複数の抽出された特徴マップは、畳み込み演算の出力を形成するために結合される。
これらの重み行列における重み値は、実際のアプリケーションにおいて大規模な訓練を通じて取得される必要がある。訓練を通じて取得された重み値を使用することにより形成された各重み行列は、入力画像から情報を抽出し、畳み込みニューラルネットワーク210が正確な予測を実行することを可能にするために使用されてもよい。
畳み込みニューラルネットワーク210が複数の畳み込み層を有するとき、通常では、比較的多数の一般的特徴が初期畳み込み層(例えば、221)において抽出される。一般的特徴はまた、低レベルの特徴とも呼ばれてもよい。畳み込みニューラルネットワーク210の深度が増加するにつれて、後続の畳み込み層(例えば、226)において抽出された特徴は、より複雑になり、例えば、高レベルのセマンティックス特徴になる。より高いセマンティックスを有する特徴は、解決されるべき問題に対してより適用可能になる。
プーリング層:
訓練パラメータの数がしばしば低減される必要がある。したがって、プーリング層は、しばしば、畳み込み層の後に周期的に導入される必要がある。図2における230に示す層221~226について、1つの畳み込み層が1つのプーリング層により後続されてもよく、或いは、複数の畳み込み層が1つ以上のプーリング層により後続されてもよい。画像処理の間に、プーリング層は、画像の空間サイズを低減するためにのみ使用される。プーリング層は、比較的小さいサイズを有する画像を取得するために入力画像に対してサンプリングを実行するための平均プーリング演算子及び/又は最大プーリング演算子を含んでもよい。平均プーリング演算子は、特定の範囲内の画像内の画素値を計算し、平均値を生成するために使用されてもよい。平均値は、平均プーリング結果として使用される。最大プーリング演算子は、特定の範囲内の最大値を有する画素を、最大プーリング結果として選択するために使用されてもよい。さらに、畳み込み層における重み行列のサイズが画像のサイズに関連する必要があるのと同様に、プーリング層における演算子も画像のサイズに関連する必要がある。プーリング層から出力された処理済みの画像のサイズは、プーリング層に入力された画像のサイズよりも小さくてもよい。プーリング層から出力された画像内の各画素は、プーリング層に入力された画像の対応するサブ領域の平均値又は最大値を表す。
ニューラルネットワーク層230:
畳み込み層/プーリング層230において実行された処理の後に、畳み込みニューラルネットワーク210は、必要な出力情報を出力する準備ができていない。この理由は、上記のように、畳み込み層/プーリング層230において、特徴のみが抽出され、入力画像から生じるパラメータが低減されるからである。しかし、最終的な出力情報(要求されるクラス情報又は他の関連情報)を生成するために、畳み込みニューラルネットワーク210は、1つの要求されるタイプ又は要求されるタイプのグループの出力を生成するためにニューラルネットワーク層230を使用する必要がある。したがって、ニューラルネットワーク層230は、複数の隠れ層(図2に示す231、232、...及び23n)及び出力層240を含んでもよい。複数の隠れ層に含まれるパラメータは、特定のタスクタイプの関連する訓練データに基づいて事前訓練を通じて取得されてもよい。例えば、タスクタイプは、画像認識、画像分類及び超解像度画像再構成を含んでもよい。
ニューラルネットワーク層230において、複数の隠れ層は、出力層240、すなわち、全体の畳み込みニューラルネットワーク210の最後の層により後続される。出力層240は、分類交差エントロピーと同様の損失関数を有し、損失関数は、予測誤差を計算するために具体的に使用される。全体の畳み込みニューラルネットワーク210の順伝搬(図2に示すように、220から240への方向の伝搬)が完了すると、上記の各層の重み値及び偏差を更新するために逆伝搬(図2に示すように、240から220への方向の伝搬)が開始され、畳み込みニューラルネットワーク210の損失と、出力層を通じて畳み込みニューラルネットワーク210により出力された結果と理想的な結果との間の誤差とを低減する。
図2に示す畳み込みニューラルネットワーク210は、単に畳み込みニューラルネットワークの例として使用される点に留意すべきである。畳み込みニューラルネットワークは、代替として、特定のアプリケーションにおける他のネットワークモデルの形式で存在してもよい。
以下に、この出願の実施形態によるチップのハードウェア構造について説明する。
図3は、本発明の実施形態において提供されるチップのハードウェア構造を示す。チップは、ニューラル処理ユニット30を含む。チップは、図1に示す実行デバイス120内に配置され、計算モジュール111の計算作業を完了してもよい。チップは、代替として、図1に示す訓練デバイス130内に配置され、訓練デバイス130の訓練作業を完了し、ターゲットモデル/ルール101を出力してもよい。図2に示す畳み込みニューラルネットワーク内の層の全てのアルゴリズムは、図3に示すチップにおいて実現されてもよい。
ニューラル処理ユニットNPU30について、NPUはコプロセッサとして機能し、ホストCPU(Host CPU)に搭載される。Host CPUはタスクを割り当てる。NPUのコア部は、演算回路303であり、コントローラ304は、メモリ(重みメモリ又は入力メモリ)内のデータを抽出して演算を実行するように演算回路303を制御する。
いくつかの実現方式では、演算回路303は、複数のプロセスエンジン(Process Engine, PE)を内部に含む。いくつかの実現方式では、演算回路303は、二次元シストリックアレイである。演算回路303は、代替として、一次元シストリックアレイ又は乗算及び加算のような数学的演算を実行できる他の電子回路でもよい。いくつかの実施形態では、演算回路303は、汎用行列プロセッサである。
例えば、入力行列A、重み行列B及び出力行列Cが存在すると仮定する。演算回路は、重みメモリ302から行列Bに対応するデータを取り出し、演算回路の各PE上のデータをバッファする。演算回路は、入力メモリ301から行列Aのデータを取り出し、行列Bに対して行列演算を実行し、行列の取得された部分的な結果又は取得された最終的な結果をアキュムレータ(accumulator)308に記憶する。
ベクトル計算ユニット307は、演算回路の出力に対して、ベクトル乗算、ベクトル加算、指数演算、対数演算又は値比較のような更なる処理を実行してもよい。例えば、ベクトル計算ユニット307は、ニューラルネットワーク内の非畳み込み/非FC層において、プーリング(Pooling)、バッチ正規化(Batch Normalization)、又は局所応答正規化(Local Response Normalization)のようなネットワーク計算を実行するように構成されてもよい。
いくつかの実現方式では、ベクトル計算ユニット307は、処理された出力ベクトルを統一キャッシュ306に記憶できる。例えば、ベクトル計算ユニット307は、非線形関数を演算回路303の出力に、例えば、累積値のベクトルに適用し、それにより、活性化値を生成してもよい。いくつかの実現方式では、ベクトル計算ユニット307は、正規化値、結合値又はこれらの双方を生成する。いくつかの実現方式では、処理された出力ベクトルは、演算回路303の活性化入力として使用でき、例えば、ニューラルネットワーク内の後続の層において使用できる。
この出願の実施形態において提供される感知ネットワークの動作は、303又は307により実行されてもよい。
統一メモリ306は、入力データ及び出力データを記憶するように構成される。
重みデータについて、ダイレクトメモリアクセスコントローラ(Direct Memory Access Controller, DMAC)305は、外部メモリ内の入力データを入力メモリ301及び/又は統一メモリ306に転送し、外部メモリ内の重みデータを重みメモリ302に記憶し、統一メモリ306内のデータを外部メモリに記憶する。
バスインタフェースユニット(Bus Interface Unit, BIU)310は、バスを通じてホストCPU、DMAC及び命令フェッチバッファ309の間の相互作用を実現するように構成される。
コントローラ304に接続された命令フェッチバッファ(instruction fetch buffer)309は、コントローラ304により使用されるべき命令を記憶するように構成される。
コントローラ304は、命令フェッチバッファ309内にバッファされた命令を呼び出し、演算アクセラレータの作業プロセスを制御するように構成される。
任意選択で、この出願では、ここでの入力データは画像であり、出力データは画像内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報である。
通常では、統一メモリ306、入力メモリ301、重みメモリ302及び命令フェッチバッファ309は、それぞれオンチップ(On-Chip)メモリである。外部メモリはNPUの外部のメモリである。外部メモリは、ダブルデータレート・シンクロナス・ダイナミックランダムアクセスメモリ(Double Data Rate Synchronous Dynamic Random Access Memory、略称DDR SDRAM)、高帯域幅メモリ(High Bandwidth Memory, HBM)又は他の読み取り可能且つ書き込み可能なメモリでもよい。
図1及び図2におけるプログラムアルゴリズムは、ホストCPU及びNPUにより共同で完了する。
図2に示す畳み込みニューラルネットワーク内の様々な層における演算は、演算回路303又はベクトル計算ユニット307により実行されてもよい。
図5は、この出願の実施形態によるマルチヘッダ感知ネットワークの構造の概略図である。図5に示すように、感知ネットワークは、主に2つの部分、すなわち、バックボーン(Backbone)401及び複数の並列Header(Header0~HeaderN)を含む。
バックボーン401は、入力画像を受信し、入力画像に対して畳み込み処理を実行し、画像に対応する、異なる解像度を有する特徴マップを出力するように構成される。言い換えると、バックボーン401は、画像に対応する、異なるサイズを有する特徴マップを出力する。
言い換えると、Backboneは、後続の検出のための対応する特徴を提供するように基本特徴を抽出する。
いずれかの並列ヘッダは、バックボーンにより出力された特徴マップに基づいてタスクにおけるタスク物体を検出し、タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するように構成される。各並列Headerは異なるタスク物体を検出する。タスク物体はタスクにおいて検出される必要がある物体である。より高い信頼度はタスクに対応する物体が信頼度に対応する2Dボックスに存在するより高い確率を示す。
言い換えると、並列Headerは異なる2D検出タスクを完了する。例えば、並列Header0は、車両検出を完了し、Car/Truck/Busの2Dボックス及び信頼度を出力する。並列Header1は、人物検出を完了し、Pedestrian/Cyclist/Tricyleの2Dボックス及び信頼度を出力する。並列Header2は信号機検出を完了し、Red_Trafficlight/Green_Trafficlight/Yellow_TrafficLight/Black_TrafficLightの2Dボックス及び信頼度を出力する。
任意選択で、図5に示すように、感知ネットワークは、複数の直列Headerを更に含んでもよく、感知ネットワークは、少なくとも1つ以上の直列ヘッダを更に含む。直列ヘッダは、1つの並列ヘッダに接続される。より良い提示のために複数の直列Headerが図5に描かれているが、実際には、直列Headerは必須ではないことが、ここで強調されるべきである。2Dボックスのみが検出される必要があるシナリオでは、直列Headerは必要ない。
直列Headerは、直列Headerに接続された並列Headerにより提供され且つ並列Headerが属するタスクのタスク物体の2Dボックスを通じて、バックボーン上の1つ以上の特徴マップ上で、2Dボックスが位置する領域の特徴を抽出し、2Dボックスが位置する領域の特徴に基づいて、並列Headerが属するタスクのタスク物体の3D情報、Mask情報又はKeypoint情報を予測するように構成される。
任意選択で、直列Headerは、並列Headerに直列接続され、検出されているタスクの2Dボックスに基づいて、2Dボックス内の物体の3D/Mask/Keypoint検出を完了する。
例えば、直列3D_Header0は、車両の方向、重心、長さ、幅及び高さを推定し、車両の3Dボックスを出力する。直列Mask_Header0は、車両の細かいマスクを予測し、車両をセグメント化する。直列Keypoint_Header0は、車両のキーポイントを推定する。
直列Headerは必須ではない。3D/Mask/Keypoint検出が必要とされないいくつかのタスクについて、直列Headerは直列接続される必要はない。例えば、信号機検出について、2Dボックスのみが検出される必要があり、それにより、直列Headerは直列接続される必要はない。さらに、いくつかのタスクについて、1つ以上の直列Headerは、具体的なタスク要件に基づいて直列接続されてもよい。例えば、駐車場(Parkinglot)検出について、2Dボックスに加えて、駐車スペースのキーポイントも必要とされる。したがって、このタスクでは、1つの直列Keypoint_Headerのみが直列接続される必要があり、3D及びMaskのHeaderは必要ない。
以下に各モジュールについて詳細に説明する。
Backbone:バックボーンは、異なるスケールを有する特徴マップ(feature map)を取得するために、入力画像に対して一連の畳み込み処理を実行する。これらの特徴マップは、後続の検出モジュールのための基本特徴を提供する。バックボーンは、複数の形式、例えば、VGG(Visual Geometry Group、ビジュアルジオメトリグループ)、Resnet(Residual Neural Network、残差ニューラルネットワーク)又はInception-net(GoogLeNetのコア構造)でもよい。
並列Header:並列Headerは、主に、Backboneにより提供された基本特徴に基づいてタスクの2Dボックスを検出し、タスクにおける物体の2Dボックスと、対応する信頼度とを出力する。
任意選択で、各タスクの並列Headerは、3つのモジュール、すなわち、RPN、ROI-ALIGN及びRCNNを含む。
RPNモジュールは、バックボーンにより提供された1つ以上の特徴マップ上で、タスク物体が位置する領域を予測し、領域に一致する候補2Dボックスを出力するように構成される。
代替として、これは以下のように理解されてもよい。RPNは領域提案ネットワーク(Region Proposal Network)の略称である。RPNは、Backbone上の1つ以上のfeature map上で、タスク物体が存在し得る領域を予測し、これらの領域のボックスを提供する。これらの領域は提案(Proposal)と呼ばれる。
例えば、並列Header0が車両検出を担うとき、並列Header0のRPN層は、車両が存在し得る候補ボックスを予測する。並列Header1が人物検出を担うとき、並列Header1のRPN層は、人物が存在し得る候補ボックスを予測する。明らかに、これらの提案は正確ではない。一方、提案は必ずしもタスクの物体を含むとは限らない。他方、これらのボックスはコンパクトではない。
ROI-ALIGNモジュールは、RPNモジュールにより予測された領域に基づいて、バックボーンにより提供された特徴マップから候補2Dボックスが位置する領域の特徴を抽出するように構成される。
具体的には、ROI-ALIGNモジュールは、主に、RPNモジュールにより提供されたProposalに基づいて、Backbone上のfeature mapから各Proposalが位置する領域の特徴を抽出し、各Proposalの特徴を取得するために、特徴を固定サイズにresizeする。ROI-ALIGNモジュールにより使用される特徴抽出方法は、ROI-POOLING(関心領域プーリング)/ROI-ALIGN(関心領域抽出)/PS-ROIPOOOLING(位置センシティブな関心領域プーリング)/PS-ROIALIGN(位置センシティブな関心領域抽出)を含んでもよいが、これらに限定されないことが理解され得る。
RCNNモジュールは、ニューラルネットワークを通じて、候補2Dボックスが位置する領域の特徴に対して畳み込み処理を実行し、候補2Dボックスが各物体カテゴリに属する信頼度を取得し、物体カテゴリは並列ヘッダに対応するタスクにおける物体カテゴリであり、ニューラルネットワークを通じて、領域の候補2Dボックスの座標を調整し、それにより、調整された2D候補ボックスは候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスを、領域の2Dボックスとして選択する、ように構成される。
言い換えると、RCNNモジュールは、主に、ROI-ALIGNモジュールにより抽出された各Proposalの特徴を改良し、各Proposalが各カテゴリに属する信頼度を取得する(例えば、車両タスクについて、Background/Car/Truck/Busの4つのスコアが提供される)。さらに、Proposalの2Dボックスの座標は、よりコンパクトな2Dボックスを出力するように調整される。これらの2Dボックスは、NMS(Non Maximum Suppression、非最大値抑制)を通じて結合され、最終的な2Dボックスとして出力される。
上記のように、いくつかの実際の適用シナリオでは、感知ネットワークは、直列Headerを更に含んでもよい。直列Headerは、主に並列Headerに直列接続され、検出されている2Dボックスに基づいて3D/Mask/Keypoint検出を更に実行する。従って、3つのタイプの直列Headerが存在する。
直列3D Header:直列3D Headerは、ROI-ALIGNモジュールを通じて、フロントエンド並列Headerにより提供された2Dボックス(この場合、2Dボックスは正確且つコンパクトである)に基づいて、Backbone上のfeature mapから2Dボックスが位置する領域の特徴を抽出する。次いで、小さいネットワーク(図5における3D_Header)が、2Dボックス内の物体の重心、方向角、長さ、幅及び高さの座標を回帰し、完全な3D情報を取得するために使用される。
直列Mask Header:直列Mask Headerは、ROI-ALIGNモジュールを通じて、フロントエンド並列Headerにより提供された2Dボックス(この場合、2Dボックスは正確且つコンパクトである)に基づいて、Backbone上のfeature mapから2Dボックスが位置する領域の特徴を抽出する。次いで、小さいネットワーク(図5におけるMask_Header)が、2Dボックス内の物体のマスクを回帰し、物体をセグメント化するために使用される。
直列Keypoint Header:直列Keypoint Headerは、ROI-ALIGNモジュールを通じて、フロントエンド並列Headerにより提供された2Dボックス(この場合、2Dボックスは正確且つコンパクトである)に基づいて、Backbone上のfeature mapから2Dボックスが位置する領域の特徴を抽出する。次いで、小さいネットワーク(図5におけるKeypoint_Header)が、2Dボックス内の物体のキーポイントの座標を回帰するために使用される。
任意選択で、図29に示すように、本発明の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための装置を更に提供する。感知ネットワークは、バックボーンと複数の並列ヘッダ(Header)とを含む。感知ネットワークの構造は上記の実施形態において詳細に記載されており、詳細はここでは再び説明しない。当該装置は、
各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するように構成されたタスク決定モジュール2900であり、各画像は1つ以上のデータタイプでラベル付けされ、複数のデータタイプは全てのデータタイプのサブセットであり、データタイプはタスクに対応する、タスク決定モジュール2900と、
タスク決定モジュール2900により決定され且つ各画像が属するタスクに基づいて、各画像について訓練される必要があるHeaderを決定するように構成されたHeader決定モジュール2901と、
各画像について、Header決定モジュール2901により決定されたHeaderの損失値を計算するように構成された損失値計算モジュール2902と、
各画像について、Header決定モジュール2901により決定されたHeaderに対して勾配バックホールを実行し、損失値計算モジュール2902により取得された損失値に基づいて、訓練される必要があるHeader及びバックボーンのパラメータを調整するように構成された調整モジュール2903と
を含む。
任意選択で、一実施形態では、図29における破線ボックスに示すように、当該装置は、
異なるタスクに属する画像に対してデータバランシングを実行するように構成されたデータバランシングモジュール2904を更に含んでもよい。
図6A及び図6Bに示すように、以下に、ADAS/AD視覚感知システムを、本発明の実施形態を詳細に説明するための例として使用する。
ADAS/AD視覚感知システムでは、動的障害物(Pedestrian、Cyclist、Tricycle、Car、Truck及びBus)、静的障害物(TrafficCone、TrafficStick、FireHydrant、Motocycle及びBicycle)及び交通標識(TrafficSign、GuideSign及びBillboard)に対する検出を含む複数のタイプの2Dターゲット検出がリアルタイムで実行される必要がある。さらに、3D空間において車両により占有される領域を正確に取得するために、3D推定が動的障害物に対して更に実行され、3Dボックスを出力する必要がある。レーザレーダのデータと統合するために、動的障害物に当たるレーザ点群をフィルタ除去するために動的障害物のMaskが取得される必要がある。駐車スペースを正確に見つけるために、駐車スペースの4つのキーポイントが同時に検出される必要がある。この実施形態において提供される技術的解決策によれば、全ての上記の機能は1つのネットワークで実現できる。以下に、この実施形態について詳細に説明する。
1.各Headerのタスク分割及びネットワークの全体ブロック図
検出される必要がある物体の類似性と、訓練サンプルの豊富さ及び希少性に従って、この実施形態では、表2に示すように、検出される必要がある20タイプの物体が、8つの主なカテゴリに分類される。
Figure 0007289918000010
サービス要件に基づいて、2D車両検出に加えて、Header0は、3D及びMask検出を更に完了する必要があり、2D人物検出に加えて、Header1は、Mask検出を更に完了する必要があり、駐車スペースの2Dボックスの検出に加えて、Header2は、駐車スペースのキーポイントを更に検出する必要がある。
表2におけるタスク分割は、この実施形態における例のみであり、他の実施形態では、異なるタスク分割が実行されてもよく、これは表2におけるタスク分割に限定されない点に留意すべきである。
表2におけるタスク分割に従って、この実施形態における感知ネットワークの全体構造が図6A及び図6Bに示されている。
感知ネットワークは、主に3つの部分、すなわち、Backbone、並列Header及び直列Headerを含む。上記の実施形態において説明したように、直列Headerは必須ではない点に留意すべきである。理由は上記の実施形態に記載されており、詳細はここでは再び説明しない。8つの並列Headerは、同時に表1における8つのカテゴリの2D検出を完了し、いくつかの直列Headerは、3D/Mask/Keypoint検出を完了するために、Header0~2の後ろに直列接続される。図6A及び図6Bから、本発明では、Headerがサービス要件に基づいて柔軟に追加又は削除され、異なる機能構成を実現してもよいことが分かる。
2.基本特徴生成
基本特徴生成プロセスは、図6A及び図6BにおけるBackboneにより実現される。Backboneは、異なるスケールを有するいくつかの畳み込み特徴マップを生成するために、入力画像に対して畳み込み処理を実行する。各特徴マップは、H*W*Cの行列であり、ここで、Hは特徴マップの高さであり、Wは特徴マップの幅であり、Cは特徴マップのチャネルの数である。
Backboneは、VGG16、Resnet50及びInception-Netのような複数の既存の畳み込みネットワークフレームワークを使用してもよい。以下では、基本特徴生成プロセスを説明するために、Resnet18をBackboneとして使用する。このプロセスが図7に示されている。
入力画像の解像度はH*W*3であると仮定する(高さがHであり、幅がWであり、チャネルの数が3であり、言い換えるとR、B及びGのチャネルが存在する)。Resnet18の第1の畳み込みモジュール(いくつかの畳み込み層を含む、図面におけるRes18-Conv1、後続の畳み込みモジュールも同様である)は、FeaturemapC1(特徴マップ)を生成するために、入力画像に対して畳み込み演算を実行する。特徴マップは入力画像に対して2回ダウンサンプリングされ、チャネルの数は64に拡大される。したがって、C1の解像度はH/4*W/4*64である。Resnet18の第2の畳み込みモジュール(Res18-Conv2)は、FeaturemapC2を取得するために、C1に対して畳み込み演算を実行する。特徴マップの解像度は、C1の解像度と同じである。C2は、FeaturemapC3を生成するために、Resnet18の第3の畳み込みモジュール(Res18-Conv3)により更に処理される。特徴マップは、C2に対して更にダウンサンプリングされる。チャネルの数が2倍にされ、C3の解像度はH/8*W/8*128である。最後に、C3は、FeaturemapC4を生成するために、Res18-Conv4により処理される。C4の解像度はH/16*W/16*256である。
図7から、Resnet18は、異なるスケール、すなわち、C1、C2、C3及びC4を有する特徴マップを取得するために、複数のレベルで入力画像に対して畳み込み処理を実行することが分かる。下位層特徴マップの幅及び高さは大きく、チャネルの数は小さい。下位層特徴マップは、主に画像の低レベルの特徴(画像エッジ及びテクスチャ特徴等)を含む。上位層特徴マップの幅及び高さは小さく、チャネルの数は大きい。上位層特徴マップは、主に画像の高レベルの特徴(形状特徴及び物体特徴等)を含む。後続の2D検出プロセスにおいて、これらの特徴マップに基づいて予測が更に実行される。
3.2D提案予測プロセス
2D提案予測プロセスは、図6A及び図6Bにおける各並列HeaderのRPNモジュールにより実現される。RPNモジュールは、Backboneにより提供された特徴マップ(C1/C2/C3/C4)に基づいて、タスク物体が存在し得る領域を予測し、これらの領域の候補ボックス(提案Proposalとも呼ばれてもよい)を提供する。この実施形態では、並列Header0は、車両検出を担い、それにより、並列Header0のRPN層は、車両が存在し得る候補ボックスを予測する。並列Header1は、人物検出を担い、それにより、並列Header1のRPN層は、人物が存在し得る候補ボックスを予測する。他も同様であり、詳細は再び説明しない。
RPN層の基本構造が図8に示されている。特徴マップRPN Hiddenは、C4に対する3*3畳み込みを通じて生成される。続いて、各並列HeaderのRPN層は、RPN HiddenからProposalを予測する。具体的には、並列Header0のRPN層は、2つの1*1畳み込みを通じてRPN Hiddenの各位置におけるProposalの座標及び信頼度を別々に予測する。より高い信頼度は、タスクの物体がProposalに存在するより高い確率を示す。例えば、並列Header0におけるProposalのより大きいscoreは、車両がProposalに存在するより高い確率を示す。各RPN層において予測されるProposalは、Proposal組み合わせモジュールにより結合される必要がある。冗長なProposalは、Proposalの間の重複に基づいて削除される(このプロセスはNMSアルゴリズムに従って実行できるが、これに限定されない)。最高のscoreを有するN(N<K)個のProposalが、残りのK個のProposalから、物体が存在し得るProposalとして選択される。図8から、これらのProposalが正確でないことが分かる。一方、Proposalは必ずしもタスクの物体を含むとは限らない。他方、これらのボックスはコンパクトではない。したがって、RPNモジュールは粗い検出プロセスのみを実行し、RCNNモジュールは続いてサブ分類を実行する必要がある。
RPNモジュールがProposalの座標を回帰するとき、RPNは座標の絶対値を直接回帰しない。代わりに、RPNはAnchorに対する座標を回帰する。これらのAnchorと実際の物体との間のより高い一致は、PRNが物体を検出できるより高い確率を示す。本発明では、複数のHeaderを有するフレームワークが使用され、対応するAnchorは、各RPN層における物体のスケール及びアスペクト比に基づいて設計され、各PRN層のリコール率を改善してもよい。図9に示すように、並列Header1は、人物検出を担い、人物の主な形式は、細長く、それにより、Anchorは細長いタイプとして設計されてもよい。並列Header4は、交通標識検出を担い、交通標識の主な形式は正方形であり、それにより、Anchorは正方形として設計されてもよい。
4.2D提案特徴抽出プロセス
2D提案特徴抽出プロセスは、主に、図6A及び図6Bにおける各並列HeaderのROI-ALIGNモジュールにより実現される。ROI-ALIGNモジュールは、PRN層により提供されたProposalの座標に基づいて、Backboneにより提供された特徴マップ上の各Proposalの特徴を抽出する。ROI-ALIGNプロセスは図10に示されている。
この実施形態では、特徴は、Backboneの特徴マップC4から抽出される。C4上の各Proposalの領域は、図面において矢印により示される暗い領域である。この領域では、固定解像度を有する特徴が補間及びサンプリングを通じて抽出される。N個のProposalが存在し、ROI-ALIGNにより抽出された特徴の幅及び高さが14であると仮定する。この場合、ROI-ALIGNにより出力される特徴のサイズは、N*14*14*256である(ROI-ALIGNにより抽出される特徴のチャネルの数は、C4のチャネルの数、すなわち、256個のチャネルと同じである)。これらの特徴は、サブ分類のためにRCNNモジュールに送信される。
5.2D提案サブ分類
2D提案サブ分類は、主に、図6A及び図6Bにおける各並列HeaderのRCNNモジュールにより実現される。RCNNモジュールは、ROI-ALIGNモジュールにより抽出された各Proposalの特徴に基づいて、よりコンパクトな2Dボックスの座標を更に回帰し、Proposalを分類し、Proposalが各カテゴリに属する信頼度を出力する。
RCNNは複数の実現方式を有し、1つの実現方式が図11に示されている。分析は以下の通りである。
ROI-ALIGNモジュールにより出力される特徴のサイズはN*14*14*256である。当該特徴は、最初にRCNNモジュール内のResnet18の第5の畳み込みモジュール(Res18-Conv5)により処理され、N*7*7*512のサイズを有する特徴が出力される。次いで、当該特徴は、Global Avg Pool(平均プーリング層)を通じて処理され、入力特徴内の各チャネルの7*7の特徴は、N*512の特徴を取得するように平均化される。各1*512次元の特徴ベクトルは、各Proposalの特徴を表す。次に、ボックスの正確な座標(N*4のベクトルが出力され、4つの値はそれぞれ、ボックスの中心点のx/y座標、ボックスの幅及び高さを示す)及びボックスカテゴリの信頼度(Header0では、ボックスがBackground/Car/Truck/Busであるスコアが提供される必要がある)が、それぞれ、2つの全接続FC層を通じて回帰される。最後に、最高のスコアを有するいくつかのボックスがボックス結合演算を通じて選択され、重複したボックスがNMS演算を通じて除去され、コンパクトなボックスの出力を取得する。
6.3D検出プロセス
3D検出プロセスは、図6A及び図6Bにおける直列3D_Header0により完了する。「2D検出」プロセスにおいて提供された2Dボックス及びBackboneにより提供された特徴マップに基づいて、3D検出プロセスにおいて、各2Dボックス内の物体の重心の座標、方向角、長さ、幅及び高さのような3D情報が予測される。直列3D_Headerの可能な実現方式が図12A及び図12Bに示されている。
ROI-ALIGNモジュールは、並列Headerにより提供された正確な2Dボックスに基づいて、C4から各2Dボックスが位置する領域の特徴を抽出する。M個の2Dボックスが存在すると仮定する。この場合、ROI-ALIGNモジュールにより出力される特徴のサイズはM*14*14*256である。当該特徴は、最初にResnet18の第5の畳み込みモジュール(Res18-Conv5)により処理され、N*7*7*512のサイズを有する特徴が出力される。次いで、当該特徴は、Global Avg Pool(平均プーリング層)を通じて処理され、入力特徴内の各チャネルの7*7の特徴は、M*512の特徴を取得するように平均化される。各1*512次元の特徴ベクトルは、各2Dボックスの特徴を示す。次いで、方向角(図面におけるorientation及びM*1ベクトル)、重心の座標(図面におけるcentroid及びM*2ベクトル、2つの値が重心のx/y座標を表す)、並びにボックス内の物体の長さ、幅及び高さ(図面におけるdimension)が、3つの全接続FC層を通じてそれぞれ回帰される。
7.Mask検出プロセス
Mask検出プロセスは、図6A及び図6Bにおける直列Mask_Header0により完了する。「2D検出」プロセスにおいて提供された2Dボックス及びBackboneにより提供された特徴マップに基づいて、Mask検出プロセスにおいて、各2Dボックス内の物体の細かいマスクが予測される。直列Mask_Headerの可能な実現方式が、図13A及び図13Bに示されている。
ROI-ALIGNモジュールは、並列Headerにより提供された正確な2Dボックスに基づいて、C4から各2Dボックスが位置する領域の特徴を抽出する。M個の2Dボックスが存在すると仮定する。この場合、ROI-ALIGNモジュールにより出力される特徴のサイズはM*14*14*256である。当該特徴は、最初にResnet18の第5の畳み込みモジュール(Res18-Conv5)により処理され、N*7*7*512のサイズを有する特徴が出力される。次いで、畳み込みが逆畳み込み層Deconvを通じて更に実行され、M*14*14*512の特徴を取得する。最後に、M*14*14*1のMask信頼度出力が畳み込みを通じて取得される。この出力において、各14*14行列は、各2Dボックス内の物体のマスクの信頼度を表す。各2Dボックスは14*14の領域に等しく分割され、14*14行列は物体が各領域に存在する確率を示す。物体のマスクを取得するために、閾値処理が信頼度行列に対して実行される(例えば、信頼度が閾値0.5よりも大きい場合、1が出力され、そうでない場合、0が出力される)。
8.Keypoint検出プロセス
Keypoint検出プロセスは、図6A及び図6Bにおける直列Keypoint_Header2により完了する。「2D検出」プロセスにおいて提供された2Dボックス及びBackboneにより提供された特徴マップに基づいて、Keypoint検出プロセスにおいて、各2Dボックス内の物体のキーポイントの座標が予測される。直列Keypoint_Headerの可能な実現方式が図14A及び図14Bに示されている。
ROI-ALIGNモジュールは、並列Headerにより提供された正確な2Dボックスに基づいて、C4から各2Dボックスが位置する領域の特徴を抽出する。M個の2Dボックスが存在すると仮定する。この場合、ROI-ALIGNモジュールにより出力される特徴のサイズはM*14*14*256である。当該特徴は、最初にResnet18の第5の畳み込みモジュール(Res18-Conv5)により処理され、N*7*7*512のサイズを有する特徴が出力される。次いで、当該特徴は、Global Avg Poolを通じて処理され、入力特徴内の各チャネルの7*7の特徴は、M*512の特徴を取得するように平均化される。各1*512次元の特徴ベクトルは、各2Dボックスの特徴を示す。次に、ボックス内の物体のキーポイントの座標(図面におけるKeypoint及びM*8ベクトル、8つの値が駐車スペースの4つの角のポイントのx/y座標を示す)が、1つの全接続FC層を通じて回帰される。
表2におけるタスク分割に従って、この出願のこの実施形態において、感知ネットワークの訓練プロセスについて詳細に更に説明する。
A.訓練データの準備
表2におけるタスク分割に従って、ラベル付きデータがタスク毎に提供される必要がある。例えば、Header0訓練のために車両ラベル付きデータが提供される必要があり、Car/Truck/Busの2Dボックス及びクラスラベルがデータセットに対してラベル付けされる必要がある。Header1訓練のために人物ラベル付きデータが提供される必要があり、Pedestrian/Cyclist/Tricycleの2Dボックス及びクラスラベルがデータセットに対してラベル付けされる必要がある。Header3のために信号機ラベル付きデータが提供される必要があり、TrafficLight_Red/Yellow/Green/Blackの2Dボックス及びクラスラベルがデータセットに対してラベル付けされる必要がある。同じルールが他のHeaderにも適用される。
各タイプのデータは、特定のタイプの物体でラベル付けされればよい。このように、ターゲットを絞った方式でデータが収集でき、全ての関心物体が各画像においてラベル付けされる必要はなく、データ収集及びラベル付けのコストを低減する。さらに、この方式のデータ準備は、柔軟な拡張性を有する。物体検出タイプが追加されるとき、1つ以上のHeaderのみが追加される必要があり、新たに追加された物体のラベル付きデータタイプが提供される必要がある。新たに追加された物体は、元のデータに対してラベル付けされる必要はない。
さらに、Header0の3D検出機能を訓練するために、独立した3Dラベル付きデータが提供される必要があり、各車両の3D情報(重心の座標、方向角、長さ、幅及び高さ)がデータセットに対してラベル付けされる。Header0のMask検出機能を訓練するために、独立したMaskラベル付きデータが提供される必要があり、各車両のマスクがデータセットに対してラベル付けされる。特に、Header2におけるParkinglot検出は、キーポイント検出を含む必要がある。このタスクは、駐車スペースの2Dボックス及びキーポイントがデータセットに対して同時にラベル付けされることを必要とする。(実際には、キーポイントのみがラベル付けされる必要がある。駐車スペースの2Dボックスは、キーポイントの座標に基づいて自動的に生成できる。)
一般的に、独立した訓練データのみがタスク毎に提供される必要がある。代替として、ハイブリッドラベル付きデータが提供できる。例えば、Car/Truck/Bus/Pedestrian/Cyclist/Tricycleの2Dボックス及びクラスラベルは、データセットに対して同時にラベル付けされてもよい。このように、データは、Header0及びHeader1の並列Headerを同時に訓練するために使用できる。Car/Truck/Busの2D/3D/Maskデータもまた、データセットに対してラベル付けできる。このように、データは、並列Header0、直列3D_Header0及び直列Mask_Header0を同時に訓練するために使用できる。
ラベルは、画像毎に指定されてもよい。ラベルは、ネットワーク上のどのHeaderが画像に基づいて訓練できるかを決定する。これについて、後続の訓練プロセスにおいて詳細に説明する。
各Headerが等しい訓練機会を取得することを確保するために、データがバランスされる必要がある。具体的には、少量のデータが拡張される。拡張方式は複製拡張を含むが、これに限定されない。バランスが取れたデータは、図15に示すように、ランダムにスクランブルされ、次いで訓練のためにネットワークに送信される。
B.いくつかのラベル付きデータに基づく全機能ネットワークの訓練
いくつかのラベル付きデータに基づく全機能ネットワークの訓練の間に、対応するHeaderのLossは、各入力画像が属するタスクのタイプに基づいて計算され、Lossは勾配バックホールに使用される。さらに、対応するHeader及びBackboneに対するパラメータの勾配が計算される。次いで、対応するHeader及びBackboneは、勾配に基づいて調整される。現在の入力画像のラベル付けタスクにないHeaderは調整されない。
画像が1つのタスクの2Dデータのみでラベル付けされる場合、図16に示すように、画像が訓練のためにネットワークに送信されるとき、対応する1つの並列Headerのみが訓練される。
現在の画像において信号機の2Dボックスのみがラベル付けされる。したがって、訓練の間に、入力画像内の信号機の予測結果は、並列Header3を使用することのみにより取得され、Headerの損失コスト2D_Loss3を取得するために真値と比較される。1つのコスト損失のみが生成されるので、最終的なコスト損失値は、Final Loss=2D_Loss3である。言い換えると、信号機の入力画像は、図16において「X」のない太線の矢印により示すように、Backbone及び並列Header3のみを通過し、他のHeaderは訓練には関与しない。Final Lossが取得された後に、図16において「X」のない太線の矢印の逆方向に沿って、並列Header3及びBackboneの勾配が計算される。次いで、Header3及びBackboneのパラメータは、ネットワークを調整するために勾配に基づいて更新され、それにより、ネットワークは信号機をより良く予測できる。
画像が複数のタスクの2Dデータでラベル付けされる場合、図17に示すように、画像が訓練のためにネットワークに送信されるとき、複数の対応する並列Headerが訓練される。
現在の画像において人物及び車両の2Dボックスがラベル付けさる。したがって、訓練の間に、入力画像内の人物及び車両の予測結果は、並列Header0及び並列Header1を使用することにより取得され、2つのHeaderの損失コスト2D_Loss0/2D_Loss1を取得するために真値と比較される。複数のコスト損失が生成されるので、最終的なコスト損失値は、全ての損失の平均値である。言い換えると、Final Loss=(2D_Loss0+2D_Loss1)/2である。言い換えると、人物及び車両でラベル付けされた入力画像は、図17において「X」のない太線の矢印により示すように、Backbone及び並列Header0/1のみを通過し、他のHeaderは訓練には関与しない。Final Lossが取得された後に、図17において「X」のない太線の矢印の逆方向に沿って、並列Header0/1及びBackboneの勾配が計算される。次いで、Header0/1及びBackboneのパラメータは、ネットワークを調整するために勾配に基づいて更新され、それにより、ネットワークは人物及び車両をより良く予測できる。
直列Headerの訓練は、独立したデータセットを必要とする。以下に、車両の3D訓練を例として使用する。図18に示すように、車両の2D及び3Dの真値は、現在、入力画像においてラベル付けされている。
訓練の間に、データフロー方向は、図面においてXのない太線の矢印により示されており、「X」を有する太線の矢印は、データフローが到達できないHeaderを示している。画像がネットワークに送信された後に、2D及び3Dの損失値が同時に計算され、最終的なFinal Loss=(2D_Loss0+3D_Loss0)/2を取得する。次いで、直列3D Header0、並列Header0及びBackboneの勾配は、「X」のない太線の矢印の逆方向に沿って計算される。次いで、直列3D Header0、並列Header0及びBackboneのパラメータは、ネットワークを調整するために勾配に基づいて更新され、それにより、ネットワークは車両の2D及び3D情報をより良く予測できる。
各画像が訓練のためにネットワークに送信されるとき、対応するHeader及びBackboneのみが、対応するタスクの性能を改善するために調整される。このプロセスにおいて、他のタスクの性能が低下する。しかし、他のタスクの画像が後に使用されるとき、低下したHeaderが調整できる。全てのタスクの訓練データは事前にバランスが取れており、各タスクは同じ訓練機会を取得する。したがって、タスクが過訓練される場合は発生しない。この訓練方法によれば、Backboneは各タスクの共通の特徴を学習し、各HeaderはHeaderのタスクの特定の特徴を学習する。
現在、より多くの機能が感知ネットワークにより実現される必要がある。単一ポイント機能を実現するために複数のネットワークが使用される場合、合計計算量は大きい。本発明の実施形態は、Multi-Headerベースの高性能拡張可能感知ネットワークを提供する。全ての感知タスクは同じバックボーンを共有し、ネットワークの計算量及びパラメータ量をかなり低減する。表3は、Single-Headerネットワークを通じて単一機能を実現するための計算量及びパラメータ量の統計を示す。
Figure 0007289918000011
表から、この実施形態における全ての機能を実現するために8つのネットワークが使用される場合、必要な合計計算量は1648.9GFlopsであり、必要な合計ネットワークパラメータ量は145.49Mであることが分かる。計算量及びネットワークパラメータ量は膨大であり、ハードウェアに大きい圧力をかける。
表4は、Multi-Headerネットワークを通じて、この実施形態における全ての機能を実現するための計算量及びパラメータ量を示す。
Figure 0007289918000012
表から、Multi-Headerネットワークの計算量及びパラメータ量は、Single-Headerネットワークの計算量及びパラメータの1/7及び1/3のみであることが分かる。これは、計算消費量をかなり低減する。
さらに、Multi-Headerネットワークは、Single-Headerネットワークと同じ検出性能を実現し得る。表5は、いくつかのカテゴリにおけるMulti-HeaderネットワークとSingle-Headerネットワークとの間の性能比較を示す。
Figure 0007289918000013
表から、2つのネットワークの性能は同等であることが分かる。したがって、計算量及びメモリが低減されたとき、Multi-Headerネットワークの性能は低下しない。
本発明の実施形態は、同じネットワーク上で異なる感知タスク(2D/3D/キーポイント/セマンティックセグメンテーション等)を同時に実現するための、Multi-Headerベースの高性能拡張可能感知ネットワークを提供する。ネットワーク上の感知タスクは、同じバックボーンを共有し、計算量を低減する。ネットワーク構造は拡張するのが容易であり、それにより、機能を追加するために1つのHeaderのみが追加される必要がある。さらに、本発明の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための方法を更に提供する。各タスクは、独立したデータセットを使用し、同じ画像に対して全タスクのラベル付けを実行する必要はない。異なるタスクの訓練データは便宜的にバランスされ、異なるタスクのデータは互いに抑制しない。
図30に示すように、本発明の実施形態は、物体検出方法を更に提供する。当該方法は以下のステップを含む。
S3001:入力画像が受信される。
S3002:畳み込み処理が入力画像に対して実行され、画像に対応する、異なる解像度を有する特徴マップが出力される。
S3003:異なるタスクについて、各タスクにおけるタスク物体が特徴マップに基づいて独立して検出され、各タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とが出力され、タスク物体はタスクにおいて検出される必要がある物体であり、より高い信頼度はタスクに対応する物体が信頼度に対応する2Dボックスに存在するより高い確率を示す。
任意選択で、実施形態では、S3002は以下の4つのステップを含んでもよい。
1:タスク物体が位置する領域が1つ以上の特徴マップ上で予測され、領域に一致する候補2Dボックスが出力される。
任意選択で、タスクに対応する物体のアンカー(Anchor)に基づいて、タスク物体が存在する領域が、バックボーンにより提供された1つ以上の特徴マップ上で予測され、提案を取得し、提案に一致する候補2Dボックスが出力される。アンカーはアンカーが属するタスク物体の統計的特徴に基づいて取得され、統計的特徴は物体の形状及びサイズを含む。
2:タスク物体が位置する領域に基づいて、候補2Dボックスが位置する領域の特徴が特徴マップから抽出される。
3:畳み込み処理が、候補2Dボックスが位置する領域の特徴に対して実行され、候補2Dボックスが各物体カテゴリに属する信頼度を取得し、物体カテゴリはタスクにおける物体カテゴリである。
4:領域の候補2Dボックスの座標がニューラルネットワークを通じて調整され、それにより、調整された2D候補ボックスは候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスが領域の2Dボックスとして選択される。
任意選択で、2Dボックスは矩形ボックスでもよい。
任意選択で、当該方法は以下のステップを更に含む。
S3004:2Dボックスが位置する領域の特徴が、タスクのタスク物体の2Dボックスに基づいてバックボーン上の1つ以上の特徴マップから抽出され、タスクのタスク物体の3D情報、Mask情報又はKeypoint情報が、2Dボックスが位置する領域の特徴に基づいて予測される。
任意選択で、大きい物体が位置する領域の検出は低解像度特徴上で完了してもよく、RPNモジュールは、高解像度特徴マップ上で小さい物体が位置する領域を検出する。
図31に示すように、本発明の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための方法を更に提供する。当該方法は以下を含む。
S3101:各画像が属するタスクが、各画像のラベル付きデータタイプに基づいて決定され、各画像は1つ以上のデータタイプでラベル付けされ、複数のデータタイプは全てのデータタイプのサブセットであり、データタイプはタスクに対応する。
S3102:各画像について訓練される必要があるHeaderが、各画像が属するタスクに基づいて決定される。
S3103:各画像について訓練される必要があるHeaderの損失値が計算される。
S3104:各画像について、勾配バックホールが、訓練される必要があるHeaderを通じて実行され、訓練される必要があるHeader及びバックボーンのパラメータが損失値に基づいて調整される。
任意選択で、図31の破線ボックスに示すように、ステップS3102の前に、当該方法は以下を更に含む。
S31020:データバランシングが異なるタスクに属する画像に対して実行される。
本発明の実施形態は、Multi-Headerベースの物体感知方法を更に提供する。本発明のこの実施形態において提供される感知方法のプロセスは、2つの部分、すなわち、「推測」プロセス及び「訓練」プロセスを含む。2つのプロセスについて以下のように別々に説明する。
1.感知プロセス
本発明のこの実施形態において提供される感知方法のプロセスが図21に示されている。
ステップS210において、画像がネットワークに入力される。
ステップS220において、「基本特徴生成」プロセスに入る。
このプロセスにおいて、基本特徴抽出が、図5におけるBackboneを使用することにより画像に対して実行され、異なるスケールを有する特徴マップを取得する。基本特徴が生成された後に、図21における破線ボックスが位置するコアプロセスに入る。コアプロセスにおいて、各タスクは、独立した「2D検出」プロセスと、任意選択の「3D検出」、「Mask検出」及び「Keypoint検出」プロセスとを有する。以下に、コアプロセスについて説明する。
1.2D検出プロセス
「2D検出」プロセスにおいて、各タスクの2Dボックス及び信頼度は、「基本特徴生成」プロセスにおいて生成された特徴マップに基づいて予測される。具体的には、図22に示すように、「2D検出」プロセスは、「2D提案予測」プロセス、「2D提案特徴抽出」プロセス及び「2D提案サブ分類」プロセスに更に分割されてもよい。
「2D提案予測」プロセスは、図5におけるRPNモジュールにより実現される。RPNモジュールは、「基本特徴生成」プロセスにおいて提供された1つ以上のfeature map上でタスク物体が存在し得る領域を予測し、これらの領域の提案(Proposal)を提供する。
「2D提案特徴抽出」プロセスは、図5におけるROI-ALIGNモジュールにより実現される。ROI-ALIGNモジュールは、「2D提案予測」プロセスにおいて提供されたProposalに基づいて、「基本特徴生成」プロセスにおいて提供されたfeature mapから、各Proposalが位置する領域の特徴を抽出し、各Proposalの特徴を取得するために、特徴を固定サイズにresizeする。
「2D提案サブ分類」プロセスは、図5におけるRCNNモジュールにより実現される。RCNNモジュールは、ニューラルネットワークを通じて各Proposalの特徴を更に予測し、各Proposalが各カテゴリに属する信頼度を出力し、Proposalの2Dボックスの座標を調整し、よりコンパクトな2Dボックスを出力する。
2.3D検出プロセス
「3D検出」プロセスにおいて、各2Dボックス内の物体の重心の座標、方向角、長さ、幅及び高さのような3D情報は、「2D検出」プロセスにおいて提供された2Dボックスと、「基本特徴生成」プロセスにおいて生成された特徴マップとに基づいて予測される。具体的には、「3D検出」は、図23に示すように、2つのサブプロセスを含む。
サブプロセスは以下のように分析される。
「2D提案特徴抽出」プロセスは、図5におけるROI-ALIGNモジュールにより実現される。ROI-ALIGNモジュールは、2Dボックスの座標に基づいて、「基本機能生成」プロセスにおいて提供されたfeature mapから、各2Dボックスが位置する領域の特徴を抽出し、各2Dボックスの特徴を取得するために、特徴を固定サイズにresizeする。
「3D重心/方向/長さ/幅/高さ予測」プロセスは、図5における3D_Headerにより実現される。3D_Headerは、主に、各2Dボックスの特徴に基づいて、2Dボックス内の物体の重心の座標、方向角、長さ、幅及び高さのような3D情報を回帰する。
3.Mask検出処理
「Mask検出」プロセスにおいて、各2Dボックス内の物体の細かいマスクは、「2D検出」プロセスにおいて提供された2Dボックスと、「基本特徴生成」プロセスにおいて生成された特徴マップとに基づいて予測される。具体的には、「Mask検出」は、図24に示すように、2つのサブプロセスを含む。
サブプロセスは以下のように分析される。
「2D提案特徴抽出」プロセスは、図5におけるROI-ALIGNモジュールにより実現される。ROI-ALIGNモジュールは、2Dボックスの座標に基づいて、「基本機能生成」プロセスにおいて提供されたfeature mapから、各2Dボックスが位置する領域の特徴を抽出し、各2Dボックスの特徴を取得するために、特徴を固定サイズにresizeする。
「Mask予測」プロセスは、図5におけるMask_Headerにより実現される。Mask_Headerは、主に、各2Dボックスの特徴に基づいて、2Dボックス内の物体が位置するMaskを回帰する。
4.Keypoint検出処理
「Keypoint予測」プロセスにおいて、各2Dボックス内の物体のマスクは、「2D検出」プロセスにおいて提供された2Dボックスと、「基本特徴生成」プロセスにおいて生成された特徴マップとに基づいて予測される。具体的には、「Keypoint予測」は、図25に示すように、2つのサブプロセスを含む。
サブプロセスは以下のように分析される。
「2D提案特徴抽出」プロセスは、図5におけるROI-ALIGNモジュールにより実現される。ROI-ALIGNモジュールは、2Dボックスの座標に基づいて、「基本機能生成」プロセスにおいて提供されたfeature mapから、各2Dボックスが位置する領域の特徴を抽出し、各2Dボックスの特徴を取得するために、特徴を固定サイズにresizeする。
「Keypoint座標予測」プロセスは、図5におけるKeypoint_Headerにより実現される。Keypoint_Headerは、主に、各2Dボックスの特徴に基づいて、2Dボックス内の物体のキーポイントの座標を回帰する。
2.訓練プロセス
本発明のこの実施形態における訓練プロセスが図26に示されている。
赤色ボックス内の部分は、コア訓練プロセスである。以下に、コア訓練プロセスについて説明する。
1.タスクの間のデータバランシングプロセス
タスクのデータ量は、非常にバランスが取れていない。例えば、人物を含む画像の数は、交通標識を含む画像の数よりもかなり多い。各タスクのHeaderが等しい訓練機会を取得することを可能にするために、タスクの間のデータがバランスされる必要がある。具体的には、少量のデータが拡張される。拡張方式は、複製拡張を含むが、これに限定されない。
2.画像が属するタスクに基づくLoss計算プロセス
各画像は、画像のラベル付きデータタイプに基づいて、1つ以上のタスクに属してもよい。例えば、画像が交通標識のみでラベル付けされている場合、画像は交通標識のタスクのみに属する。画像が人物及び車両の双方でラベル付けされている場合、画像は人物のタスク及び車両のタスクの双方に属する。Lossが計算されるとき、現在の画像が属するタスクに対応するHeaderのLossのみが計算される。他のタスクのLossは計算されない。例えば、現在の入力訓練画像が人物のタスク及び車両のタスクに属する場合、人物及び車両に対応するHeaderのLossのみが計算される。他の物体(例えば、信号機又は交通標識)のLossは計算されない。
3.画像が属するタスクに基づく勾配バックホールプロセス
Lossが計算された後に、勾配バックホールが必要とされる。この場合、現在のタスクのHeaderのみが勾配バックホールに使用され、現在のタスクにないHeaderは勾配バックホールに使用されない。このように、現在の画像について現在のHeaderが調整でき、それにより、現在のHeaderは現在のタスクをより良く学習できる。タスクのデータはバランスが取れているので、各Headerは等しい訓練機会を取得できる。したがって、この繰り返しの調整プロセスにおいて、各Headerはタスクに関連する特徴を学習し、Backboneはタスクの共通の機能を学習する。
この出願のこの実施形態では、既存の方法の欠点が包括的に考慮され、同じネットワーク上で異なる感知タスク(2D/3D/キーポイント/セマンティックセグメンテーション等)を実行するための、Multi-Headerベースの高性能拡張可能感知ネットワークが提供される。ネットワーク上の感知タスクは同じバックボーンを共有する。これは、計算量をかなり低減する。さらに、ネットワークのネットワーク構造は拡張するのが容易であり、それにより、機能を拡張するために1つ以上のHeaderのみが追加される必要がある。
さらに、本発明の実施形態は、いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための方法を更に提供する。各タスクは、独立したデータセットを使用し、同じ画像に対して全タスクのラベル付けを実行する必要はない。異なるタスクの訓練データは便宜的にバランスされ、異なるタスクのデータは互いに抑制しない。
図5に示す感知ネットワークは、図27における構造を使用することにより実現されてもよい。図27は、感知ネットワークのアプリケーションシステムの概略図である。図面に示すように、感知ネットワーク2000は、少なくとも1つのプロセッサ2001と、少なくとも1つのメモリ2002と、少なくとも1つの通信インタフェース2003と、少なくとも1つの表示デバイス2004とを含む。プロセッサ2001、メモリ2002、表示デバイス2004及び通信インタフェース2003は、通信バスを通じて接続され、互いに通信する。
通信インタフェース2003は、他のデバイス又は通信ネットワーク、例えば、イーサネット、無線アクセスネットワーク(radio access network, RAN)又は無線ローカルエリアネットワーク(wireless local area networks, WLAN)と通信するように構成される。
メモリ2002は、静的情報及び命令を記憶できる読み取り専用メモリ(read-only memory, ROM)若しくは他のタイプの静的記憶デバイス、又は情報及び命令を記憶できるランダムアクセスメモリ(random access memory, RAM)若しくは他のタイプの動的記憶でもよく、或いは、電気的消去可能プログラム可能読み取り専用メモリ(electrically erasable programmable read-only memory, EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)若しくは他のコンパクトディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザディスク、光ディスク、デジタル多用途光ディスク、ブルーレイ光ディスク等を含む)、磁気ディスク記憶媒体若しくは他の磁気記憶デバイス、又は命令若しくはデータ構造の形式で予期されるプログラムコードを搬送若しくは記憶でき且つコンピュータによりアクセスできるいずれかの他の媒体でもよい。これは、これらに限定されない。メモリは、独立して存在し、バスを通じてプロセッサに接続されてもよい。代替として、メモリは、プロセッサと統合されてもよい。
メモリ2002は、上記の解決策を実行するためのアプリケーションプログラムコードを記憶するように構成され、プロセッサ2001は実行を制御する。プロセッサ2001は、メモリ2002に記憶されたアプリケーションプログラムコードを実行するように構成される。
メモリ2002に記憶されたコードは、上記において提供されるMulti-Headerベースの物体感知方法を実行するように実行されてもよい。
表示デバイス2004は、認識対象の画像と、画像内の関心物体の2D情報、3D情報、Mask情報及びキーポイント情報のような情報とを表示するように構成される。
プロセッサ2001は、関連するプログラムを実行するために1つ以上の集積回路を更に使用してもよく、それにより、この出願の実施形態におけるMulti-Headerベースの物体感知方法又はモデル訓練方法を実現する。
代替として、プロセッサ2001は集積回路チップでもよく、信号処理能力を有する。実現プロセスにおいて、この出願における推奨方法のステップは、ハードウェア集積論理回路又はプロセッサ2001内のソフトウェアの形式の命令を使用することにより完了してもよい。実現プロセスにおいて、この出願の実施形態における訓練方法のステップは、ハードウェア集積論理回路又はプロセッサ2001内のソフトウェアの形式の命令を使用することにより実現できる。代替として、プロセッサ2001は、汎用プロセッサ、デジタルシグナルプロセッサ(digital signal processing, DSP)、ASIC、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)若しくは他のプログラム可能論理デバイス、離散ゲート若しくはトランジスタ論理デバイス、又は離散ハードウェアコンポーネントでもよい。プロセッサ2001は、この出願の実施形態において開示される方法、ステップ及びモジュールブロック図を実現又は実行できる。汎用プロセッサはマイクロプロセッサでもよく、或いは、プロセッサは、いずれかの従来のプロセッサ等でもよい。この出願の実施形態に関連して開示される方法のステップは、ハードウェアデコーディングプロセッサにより直接実行されて完了してもよく、或いは、デコーディングプロセッサ内のハードウェア及びソフトウェアモジュールの組み合わせにより実行されて完了してもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラム可能読み取り専用メモリ、電気的消去可能プログラム可能メモリ、レジスタ等のような、当該技術分野における成熟した記憶媒体に位置してもよい。記憶媒体は、メモリ2002に位置する。プロセッサ2001は、メモリ2002内の情報を読み取り、プロセッサ2001のハードウェアと組み合わせて、この出願の実施形態における物体感知方法又はモデル訓練方法を完了する。
通信インタフェース2003は、推奨装置又は訓練装置と他のデバイス又は通信ネットワークとの間の通信を実現するために、トランシーバのようなトランシーバ装置を使用するが、これに限定されない。例えば、認識対象の画像又は訓練データは、通信インタフェース2003を通じて取得されてもよい。
バスは、装置のコンポーネント(例えば、メモリ2002、プロセッサ2001、通信インタフェース2003及び表示デバイス2004)の間で情報を送信するための経路を含んでもよい。可能な実施形態では、プロセッサ2001は、以下のステップ、すなわち、入力画像を受信するステップと、入力画像に対して畳み込み処理を実行するステップと、画像に対応する、異なる解像度を有する特徴マップを出力するステップと、異なるタスクについて、バックボーンにより提供された特徴マップに基づいて、各タスクに対応する物体を独立して検出し、各タスクに対応する物体の提案の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップとを具体的に実行する。
可能な実施形態では、異なるタスクについて、バックボーンにより提供された特徴マップに基づいて、各タスクに対応する物体を独立して検出し、各タスクに対応する物体の提案の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップを実行するとき、プロセッサ2001は、以下のステップ、すなわち、1つ以上の特徴マップ上で、タスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dボックスを出力するステップと、RPNモジュールにより取得された提案に基づいて、特徴マップから提案が位置する領域の特徴を抽出するステップと、各物体カテゴリに対応する提案の信頼度を取得するように提案の特徴を改良するステップであり、物体は対応するタスクにおける物体である、ステップと、第2の候補2Dボックスを取得するように提案の座標を調整するステップであり、第2の候補2Dボックスは候補2Dボックスよりも実際の物体に一致し、信頼度が予め設定された閾値よりも大きい2D候補ボックスを、提案の2Dボックスとして選択するステップとを具体的に実行する。
可能な実施形態では、1つ以上の特徴マップ上で、タスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dフレームを出力するとき、プロセッサ2001は、以下のステップ、すなわち、
タスクに対応する物体のアンカー(Anchor)に基づいて、1つ以上の特徴マップ上でタスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dボックスを出力するステップであり、アンカーはアンカーが属するタスク物体の統計的特徴に基づいて取得され、統計的特徴は物体の形状及びサイズを含む、ステップを具体的に実行する。
可能な実施形態では、プロセッサ2001は、以下のステップ、すなわち、
タスクに対応する物体の2Dボックスに基づいて、バックボーン上の1つ以上の特徴マップから、物体の特徴を抽出し、物体の3D情報、Mask情報又はKeypoint情報を予測するステップを更に実行する。
可能な実施形態では、大きい物体の提案の検出は低解像度特徴マップ上で完了し、小さい物体の提案の検出は高解像度特徴マップ上で完了する。
可能な実施形態では、2Dボックスは矩形ボックスである。
任意選択で、図28に示すように、感知ネットワークの構造はサーバとして実現されてもよく、サーバは、図28における構造を使用することにより実現されてもよい。サーバ2110は、少なくとも1つのプロセッサ2101と、少なくとも1つのメモリ2102と、少なくとも1つの通信インタフェース2103とを含む。プロセッサ2101、メモリ2102及び通信インタフェース2103は、通信バスを通じて接続され、互いに通信する。
通信インタフェース2103は、イーサネット、RAN又はWLANのような他のデバイス又は通信ネットワークと通信するように構成される。
メモリ2102は、静的情報及び命令を記憶できるROM若しくは他のタイプの静的記憶デバイス、又は情報及び命令を記憶できるRAM若しくは他のタイプの動的記憶でもよく、或いは、EEPROM、CD-ROM若しくは他のコンパクトディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザディスク、光ディスク、デジタル多用途光ディスク、ブルーレイ光ディスク等を含む)、磁気ディスク記憶媒体若しくは他の磁気記憶デバイス、又は命令若しくはデータ構造の形式で予期されるプログラムコードを搬送若しくは記憶でき且つコンピュータによりアクセスできるいずれかの他の媒体でもよいが、これらに限定されない。メモリは、独立して存在し、バスを通じてプロセッサに接続されてもよい。代替として、メモリは、プロセッサと統合されてもよい。
メモリ2102は、上記の解決策を実行するためのアプリケーションプログラムコードを記憶するように構成され、プロセッサ2101は実行を制御する。プロセッサ2101は、メモリ2102に記憶されたアプリケーションプログラムコードを実行するように構成される。
メモリ2102に記憶されたコードは、上記において提供されるMulti-Headerベースの物体感知方法を実行するように実行されてもよい。
プロセッサ2101は、関連するプログラムを実行するために1つ以上の集積回路を更に使用してもよく、それにより、この出願の実施形態におけるMulti-Headerベースの物体感知方法又はモデル訓練方法を実現する。
代替として、プロセッサ2101は集積回路チップでもよく、信号処理能力を有する。実現プロセスにおいて、この出願における推奨方法のステップは、ハードウェア集積論理回路又はプロセッサ2101内のソフトウェアの形式の命令を使用することにより完了してもよい。実現プロセスにおいて、この出願の実施形態における訓練方法のステップは、ハードウェア集積論理回路又はプロセッサ2101内のソフトウェアの形式の命令を使用することにより実現できる。代替として、プロセッサ2001は、汎用プロセッサ、DSP、ASIC、FPGA若しくは他のプログラム可能論理デバイス、離散ゲート若しくはトランジスタ論理デバイス、又は離散ハードウェアコンポーネントでもよい。プロセッサ2101は、この出願の実施形態において開示される方法、ステップ及びモジュールブロック図を実現又は実行できる。汎用プロセッサはマイクロプロセッサでもよく、或いは、プロセッサは、いずれかの従来のプロセッサ等でもよい。この出願の実施形態に関連して開示される方法のステップは、ハードウェアデコーディングプロセッサにより直接実行されて完了してもよく、或いは、デコーディングプロセッサ内のハードウェア及びソフトウェアモジュールの組み合わせにより実行されて完了してもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラム可能読み取り専用メモリ、電気的消去可能プログラム可能メモリ、レジスタ等のような、当該技術分野における成熟した記憶媒体に位置してもよい。記憶媒体は、メモリ2102に位置する。プロセッサ2101は、メモリ2102内の情報を読み取り、プロセッサ2101のハードウェアと組み合わせて、この出願の実施形態における物体感知方法又はモデル訓練方法を完了する。
通信インタフェース2103は、推奨装置又は訓練装置と他のデバイス又は通信ネットワークとの間の通信を実現するために、トランシーバのようなトランシーバ装置を使用するが、これに限定されない。例えば、認識対象の画像又は訓練データは、通信インタフェース2103を通じて取得されてもよい。
バスは、装置のコンポーネント(例えば、メモリ2102、プロセッサ2101及び通信インタフェース2103)の間で情報を送信するための経路を含んでもよい。可能な実施形態では、プロセッサ2101は、以下のステップ、すなわち、1つ以上の特徴マップ上で、タスク物体が存在する領域を予測し、提案を取得し、提案に一致する候補2Dボックスを出力するステップと、RPNモジュールにより取得された提案に基づいて、特徴マップから提案が位置する領域の特徴を抽出するステップと、各物体カテゴリに対応する提案の信頼度を取得するように提案の特徴を改良するステップであり、物体は対応するタスクにおける物体である、ステップと、第2の候補2Dボックスを取得するように提案の座標を調整するステップであり、第2の候補2Dボックスは候補2Dボックスよりも実際の物体に一致し、信頼度が予め設定された閾値よりも大きい2D候補ボックスを、提案の2Dボックスとして選択するステップとを具体的に実行する。
この出願は、コンピュータ読み取り可能媒体を提供する。コンピュータ読み取り可能媒体は、デバイスにより実行されるべきプログラムコードを記憶し、プログラムコードは、図21、図22、図23、図24又は図25に示す実施形態における物体感知方法を実行するために使用される関連内容を含む。
この出願は、コンピュータ読み取り可能媒体を提供する。コンピュータ読み取り可能媒体は、デバイスにより実行されるべきプログラムコードを記憶し、プログラムコードは、図26に示す実施形態における訓練方法を実行するために使用される関連内容を含む。
この出願は、命令を含むコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で動作するとき、コンピュータは、図21、図22、図23、図24又は図25に示す実施形態における感知方法の関連内容を実行することが可能になる。
この出願は、命令を含むコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で動作するとき、コンピュータは、図26に示す実施形態における訓練方法の関連内容を実行することが可能になる。
この出願は、チップを提供する。チップは、プロセッサと、データインタフェースとを含む。プロセッサは、データインタフェースを通じてメモリに記憶された命令を読み取り、図21、図22、図23、図24又は図25に示す実施形態における物体感知方法の関連内容を実行する。
この出願は、チップを提供する。チップは、プロセッサと、データインタフェースとを含む。プロセッサは、データインタフェースを通じてメモリに記憶された命令を読み取り、図26に示す実施形態における訓練方法の関連内容を実行する。
任意選択で、実現方式では、チップは、メモリを更に含んでもよい。メモリは、命令を記憶し、プロセッサは、メモリに記憶された命令を実行するように構成される。命令が実行されたとき、プロセッサは、図21、図22、図23、図24若しくは図25に示す実施形態における感知方法の関連内容、又は図26に示す実施形態における訓練方法の関連内容を実行するように構成される。
説明を簡潔にするために、方法の実施形態は一連のアクションとして表現される点に留意すべきである。しかし、本発明によれば、いくつかのステップが他の順序で実行されてもよく或いは同時に実行されてもよいので、当業者は、本発明が記載のアクションの順序に限定されないことを認識すべきである。さらに、当業者はまた、明細書に記載の全ての実施形態が例として使用されており、関連するアクション及びモジュールが必ずしも本発明にとって必須ではないことも認識すべきである。
上記の実施形態では、実施形態の説明はそれぞれの焦点を有する。実施形態において詳細に記載されていない部分については、他の実施形態における関連する説明を参照する。
結論として、この出願の実施形態の有利な効果は、以下のように要約される。
(1)全ての感知タスクは同じバックボーンを共有し、それにより、計算量がかなり低減される。ネットワーク構造は拡張するのが容易であり、それにより、2D検出タイプを拡張するために、1つ又はいくつかのHeaderのみが追加される必要がある。各並列Headerは独立したRPN及びRCNNモジュールを有し、並列Headerが属するタスクの物体のみが検出される必要がある。このように、訓練プロセスにおいて、他のラベルなしタスクの物体への誤った損傷が回避できる。さらに、独立したRPN層が使用され、専用のAnchorが、各タスクの物体のスケール及びアスペクト比に基づいてカスタマイズされ、Anchorと物体との間の重複比を増加させ、物体についてのRPN層のリコール率を更に改善し得る。
(2)3D、Mask及びKeypoint検出機能は、柔軟且つ便宜的な方法で実現できる。さらに、これらの機能拡張は、2D部分と同じバックボーンを共有し、それにより、計算量が大幅に増加しない。1つのネットワークを通じて複数の機能を実現することは、チップ上に実現するのが容易である。
(3)各タスクは独立したデータセットを使用する。全てのタスクが同じ画像にラベル付けされる必要はなく、ラベル付けコストを低減する。タスク拡張は柔軟且つ簡単である。新たなタスクが追加されるとき、新たなタスクのデータのみが提供される必要があり、新たな物体は、元のデータに対してラベル付けされる必要はない。異なるタスクの訓練データは便宜的にバランスされ、それにより、各タスクが等しい訓練機会を取得し、大量のデータが少量のデータを埋もれさせることを防止する。
この出願において提供されるいくつかの実施形態では、開示の装置は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施形態は単なる例である。例えば、ユニットへの分割は単に論理的な機能分割である。実際の実現方式では、他の分割方式が存在してもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく或いは他のシステムに統合されてもよく、或いは、いくつかの特徴は無視されてもよく或いは実行されなくてもよい。さらに、表示又は議論された相互結合又は直接結合又は通信接続は、いくつかのインタフェースを通じて実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電子的又は他の形式で実現されてもよい。
別個の部分として記載されるユニットは、物理的に分離してもよく或いは分離しなくてもよく、ユニットとして表示される部分は、物理的ユニットでもよく或いは物理的ユニットでなくてもよく、1つの場所に位置してもよく、或いは、複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施形態の解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
さらに、本発明の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、或いは、ユニットのそれぞれは、物理的に単独で存在してもよく、或いは、2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いは、ソフトウェア機能ユニットの形式で実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立した製品として販売又は使用されるとき、統合されたユニットは、コンピュータ読み取り可能メモリに記憶されてもよい。このような理解に基づいて、本発明の技術的解決策は本質的に、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェア製品の形式で実現されてもよい。コンピュータソフトウェア製品はメモリに記憶され、本発明の実施形態に記載の方法のステップの全部又は一部を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)に命令するためのいくつかの命令を含む。上記のメモリは、USBフラッシュドライブ、ROM、RAM、取り外し可能ハードディスク、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含む。
当業者は、実施形態における方法のステップの全部又は一部が、関連するハードウェアに命令するプログラムにより実現されてもよいことを理解し得る。プログラムは、コンピュータ読み取り可能メモリに記憶されてもよい。メモリは、フラッシュメモリ、ROM、RAM、磁気ディスク、光ディスク等を含んでもよい。
この出願の実施形態は、上記において詳細に記載されている。この出願の原理及び実現方式は、ここでは具体的な例を通じて記載されている。実施形態に関する説明は、単にこの出願の方法及び中心概念を理解するのを助けるために提供されている。さらに、当業者は、本発明の概念に基づいて、具体的な実施形態及び適用範囲に関して、この出願への変更及び修正を行うことができる。したがって、この明細書の内容は、本発明に対する限定として解釈されないものとする。

Claims (18)

  1. 複数のヘッダに基づく感知ネットワークであり、前記感知ネットワークは、バックボーンと複数の並列ヘッダとを含み、前記複数の並列ヘッダは、前記バックボーンに接続される、感知ネットワークであって、
    前記バックボーンは、入力画像を受信し、前記入力画像に対して畳み込み処理を実行し、前記画像に対応する、異なる解像度を有する特徴マップを出力するように構成され、
    前記複数の並列ヘッダのそれぞれは、前記バックボーンにより出力された前記特徴マップに基づいてタスクにおけるタスク物体を検出し、前記タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するように構成され、各並列ヘッダは異なるタスク物体を検出し、前記タスク物体は前記タスクにおいて検出される必要がある物体であり、より高い信頼度は前記タスクに対応する前記タスク物体が前記信頼度に対応する前記2Dボックスに存在するより高い確率を示し、
    前記感知ネットワークは、いくつかのラベル付きデータに基づいて、
    各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するステップであり、各画像は1つ以上のデータタイプでラベル付けされ、前記1つ以上のデータタイプは全てのデータタイプのサブセットであり、全ての前記データタイプのそれぞれはタスクに対応する、ステップと、
    各画像が属する前記タスクに基づいて、各画像について訓練される必要があるヘッダを決定するステップと、
    各画像について訓練される必要がある前記ヘッダの損失値を計算するステップと、
    各画像について、訓練される必要がある前記ヘッダを通じて勾配バックホールを実行し、前記損失値に基づいて、訓練される必要がある前記ヘッダ及び前記バックボーンのパラメータを調整するステップと
    に従って訓練される、感知ネットワーク。
  2. 各並列ヘッダは、領域提案ネットワーク(RPN)モジュールと、関心領域整列(ROI-ALIGN)モジュールと、領域畳み込みニューラルネットワーク(RCNN)モジュールとを含み、各並列ヘッダの前記RPNモジュールは、他の並列ヘッダのRPNモジュールと独立しており、各並列ヘッダの前記ROI-ALIGNモジュールは、他の並列ヘッダのROI-ALIGNモジュールと独立しており、各並列ヘッダの前記RCNNモジュールは、他の並列ヘッダのRCNNモジュールと独立しており、各並列ヘッダについて、
    前記RPNモジュールは、前記バックボーンにより提供された1つ以上の特徴マップ上で、前記タスク物体が位置する前記領域を予測し、前記領域に一致する候補2Dボックスを出力するように構成され、
    前記ROI-ALIGNモジュールは、前記RPNモジュールにより予測された前記領域に基づいて、前記バックボーンにより提供された特徴マップから前記候補2Dボックスが位置する領域の特徴を抽出するように構成され、
    前記RCNNモジュールは、ニューラルネットワークを通じて、前記候補2Dボックスが位置する前記領域の前記特徴に対して畳み込み処理を実行し、前記候補2Dボックスが各物体カテゴリに属する信頼度を取得し、前記物体カテゴリは前記並列ヘッダに対応する前記タスクにおける物体カテゴリであり、前記ニューラルネットワークを通じて、前記領域の前記候補2Dボックスの座標を調整し、それにより、調整された2D候補ボックスは前記候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスを、前記領域の2Dボックスとして選択する、ように構成される、請求項1に記載の感知ネットワーク。
  3. 前記2Dボックスは矩形ボックスである、請求項1又は2に記載の感知ネットワーク。
  4. 前記RPNモジュールは、前記RPNモジュールが属するタスクに対応する物体のアンカーに基づいて、前記バックボーンにより提供された前記1つ以上の特徴マップ上で前記タスク物体が存在する領域を予測し、提案を取得し、前記提案に一致する候補2Dボックスを出力するように構成され、前記アンカーは前記アンカーが属する前記タスク物体の統計的特徴に基づいて取得され、前記統計的特徴は前記物体の形状及びサイズを含む、請求項2に記載の感知ネットワーク。
  5. 当該感知ネットワークは、1つ以上の直列ヘッダを更に含み、前記直列ヘッダは並列ヘッダに接続され、
    前記直列ヘッダは、前記直列ヘッダに接続された前記並列ヘッダにより提供され且つ前記並列ヘッダが属するタスクのタスク物体の2Dボックスを通じて、前記バックボーン上の前記1つ以上の特徴マップ上で、前記2Dボックスが位置する領域の特徴を抽出し、前記2Dボックスが位置する前記領域の前記特徴に基づいて、前記並列ヘッダが属する前記タスクの前記タスク物体の3D情報、Mask情報又はKeypoint情報を予測するように構成される、請求項1乃至4のうちいずれか1項に記載の感知ネットワーク。
  6. 前記RPNモジュールは、異なる解像度を有する前記特徴マップ上で、異なるサイズを有する物体が位置する領域を予測するように構成される、請求項2又は4に記載の感知ネットワーク。
  7. 前記RPNモジュールは、低解像度特徴マップ上で大きい物体が位置する領域を検出し、高解像度特徴マップ上で小さい物体が位置する領域を検出するように構成される、請求項6に記載の感知ネットワーク。
  8. 感知ネットワークを使用することによる物体検出方法であり、前記感知ネットワークは、バックボーンと複数の並列ヘッダとを含み、前記複数の並列ヘッダは、前記バックボーンに接続される、物体検出方法であって、
    前記バックボーンにより、入力画像を受信するステップと、
    前記バックボーンにより、前記入力画像に対して畳み込み処理を実行し、前記画像に対応する、異なる解像度を有する特徴マップを出力するステップと、
    前記複数の並列ヘッダのそれぞれにより、異なるタスクについて、前記特徴マップに基づいて各タスクにおけるタスク物体を独立して検出し、各タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップであり、前記タスク物体は前記タスクにおいて検出される必要がある物体であり、より高い信頼度は前記タスクに対応する前記タスク物体が前記信頼度に対応する前記2Dボックスに存在するより高い確率を示す、ステップと
    を含み、
    前記感知ネットワークは、いくつかのラベル付きデータに基づいて、
    各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するステップであり、各画像は1つ以上のデータタイプでラベル付けされ、前記1つ以上のデータタイプは全てのデータタイプのサブセットであり、全ての前記データタイプのそれぞれはタスクに対応する、ステップと、
    各画像が属する前記タスクに基づいて、各画像について訓練される必要があるヘッダを決定するステップと、
    各画像について訓練される必要がある前記ヘッダの損失値を計算するステップと、
    各画像について、訓練される必要がある前記ヘッダを通じて勾配バックホールを実行し、前記損失値に基づいて、訓練される必要がある前記ヘッダ及び前記バックボーンのパラメータを調整するステップと
    に従って訓練される、物体検出方法。
  9. 前記複数の並列ヘッダのそれぞれにより、異なるタスクについて、前記特徴マップに基づいて各タスクにおけるタスク物体を独立して検出し、各タスク物体が位置する領域の2Dボックスと、各2Dボックスに対応する信頼度とを出力するステップは、
    1つ以上の特徴マップ上で、前記タスク物体が位置する前記領域を予測し、前記領域に一致する候補2Dボックスを出力するステップと、
    前記タスク物体が位置する前記領域に基づいて、特徴マップから前記候補2Dボックスが位置する領域の特徴を抽出するステップと、
    前記候補2Dボックスが位置する前記領域の前記特徴に対して畳み込み処理を実行し、前記候補2Dボックスが各物体カテゴリに属する信頼度を取得するステップであり、前記物体カテゴリはタスクにおける物体カテゴリである、ステップと、
    ニューラルネットワークを通じて、前記領域の前記候補2Dボックスの座標を調整し、それにより、調整された2D候補ボックスは前記候補2Dボックスよりも実際の物体の形状に一致し、信頼度が予め設定された閾値よりも大きい調整された2D候補ボックスを、前記領域の2Dボックスとして選択するステップと
    を含む、請求項8に記載の物体検出方法。
  10. 前記2Dボックスは矩形ボックスである、請求項9に記載の物体検出方法。
  11. 1つ以上の特徴マップ上で、前記タスク物体が位置する前記領域を予測し、前記領域に一致する候補2Dボックスを出力するステップは、
    タスクに対応する物体のアンカーに基づいて、バックボーンにより提供された前記1つ以上の特徴マップ上で前記タスク物体が存在する領域を予測し、提案を取得し、前記提案に一致する候補2Dボックスを出力するステップであり、前記アンカーは前記アンカーが属する前記タスク物体の統計的特徴に基づいて取得され、前記統計的特徴は前記物体の形状及びサイズを含む、ステップである、請求項9に記載の物体検出方法。
  12. 並列ヘッダに接続された直列ヘッダにより、前記タスクの前記タスク物体の2Dボックスに基づいて、バックボーン上の前記1つ以上の特徴マップから、前記2Dボックスが位置する領域の特徴を抽出し、前記2Dボックスが位置する前記領域の前記特徴に基づいて、前記タスクの前記タスク物体の3D情報、Mask情報又はKeypoint情報を予測するステップを更に含む、請求項8乃至11のうちいずれか1項に記載の物体検出方法。
  13. 大きい物体が位置する領域の検出は低解像度特徴マップ上で完了し、小さい物体が位置する領域の検出は高解像度特徴マップ上で完了する、請求項8乃至12のうちいずれか1項に記載の物体検出方法。
  14. いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための方法であり、前記感知ネットワークは、バックボーンと、複数の並列ヘッダとを含む、方法であって、
    各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するステップであり、各画像は1つ以上のデータタイプでラベル付けされ、前記1つ以上のデータタイプは全てのデータタイプのサブセットであり、全ての前記データタイプのそれぞれはタスクに対応する、ステップと、
    各画像が属する前記タスクに基づいて、各画像について訓練される必要があるヘッダを決定するステップと、
    各画像について訓練される必要がある前記ヘッダの損失値を計算するステップと、
    各画像について、訓練される必要がある前記ヘッダを通じて勾配バックホールを実行し、前記損失値に基づいて、訓練される必要がある前記ヘッダ及び前記バックボーンのパラメータを調整するステップと
    を含む、マルチタスク感知ネットワークを訓練するための方法。
  15. 各画像について訓練される必要がある前記ヘッダの損失値を計算する前に、
    異なるタスクに属する画像に対してデータバランシングを実行するステップを更に含む、請求項14に記載のマルチタスク感知ネットワークを訓練するための方法。
  16. いくつかのラベル付きデータに基づいてマルチタスク感知ネットワークを訓練するための装置であり、前記感知ネットワークは、バックボーンと複数の並列ヘッダとを含む、装置であって、
    各画像のラベル付きデータタイプに基づいて、各画像が属するタスクを決定するように構成されたタスク決定モジュールであり、各画像は1つ以上のデータタイプでラベル付けされ、前記1つ以上のデータタイプは全てのデータタイプのサブセットであり、全ての前記データタイプのそれぞれはタスクに対応する、タスク決定モジュールと、
    各画像が属する前記タスクに基づいて、各画像について訓練される必要があるヘッダを決定するように構成されたヘッダ決定モジュールと、
    各画像について、前記ヘッダ決定モジュールにより決定された前記ヘッダの損失値を計算するように構成された損失値計算モジュールと、
    各画像について、前記ヘッダ決定モジュールにより決定された前記ヘッダに対して勾配バックホールを実行し、前記損失値計算モジュールにより取得された前記損失値に基づいて、訓練される必要がある前記ヘッダ及び前記バックボーンのパラメータを調整するように構成された調整モジュールと
    を含む、マルチタスク感知ネットワークを訓練するための装置。
  17. 異なるタスクに属する画像に対してデータバランシングを実行するように構成されたデータバランシングモジュールを更に含む、請求項16に記載のマルチタスク感知ネットワークを訓練するための装置。
  18. コンピュータ読み取り可能記憶媒体であって、
    当該コンピュータ読み取り可能記憶媒体は命令を記憶し、前記命令がコンピュータ上で実行されたとき、前記コンピュータは請求項8乃至15のうちいずれか1項に記載の方法を実行することが可能になる、コンピュータ読み取り可能記憶媒体。
JP2021538658A 2019-06-06 2020-06-08 物体認識方法及び装置 Active JP7289918B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910493331.6 2019-06-06
CN201910493331.6A CN110298262B (zh) 2019-06-06 2019-06-06 物体识别方法及装置
PCT/CN2020/094803 WO2020244653A1 (zh) 2019-06-06 2020-06-08 物体识别方法及装置

Publications (2)

Publication Number Publication Date
JP2022515895A JP2022515895A (ja) 2022-02-22
JP7289918B2 true JP7289918B2 (ja) 2023-06-12

Family

ID=68027699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021538658A Active JP7289918B2 (ja) 2019-06-06 2020-06-08 物体認識方法及び装置

Country Status (5)

Country Link
US (1) US20220165045A1 (ja)
EP (1) EP3916628A4 (ja)
JP (1) JP7289918B2 (ja)
CN (1) CN110298262B (ja)
WO (1) WO2020244653A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
US11462112B2 (en) * 2019-03-07 2022-10-04 Nec Corporation Multi-task perception network with applications to scene understanding and advanced driver-assistance system
CN110298262B (zh) * 2019-06-06 2024-01-02 华为技术有限公司 物体识别方法及装置
CN110675635B (zh) * 2019-10-09 2021-08-03 北京百度网讯科技有限公司 相机外参的获取方法、装置、电子设备及存储介质
WO2021114031A1 (zh) * 2019-12-09 2021-06-17 深圳市大疆创新科技有限公司 一种目标检测方法和装置
CN112989900A (zh) * 2019-12-13 2021-06-18 深动科技(北京)有限公司 一种精确检测交通标志或标线的方法
CN111291809B (zh) * 2020-02-03 2024-04-12 华为技术有限公司 一种处理装置、方法及存储介质
CN111598000A (zh) * 2020-05-18 2020-08-28 中移(杭州)信息技术有限公司 基于多任务的人脸识别方法、装置、服务器和可读存储介质
CN112434552A (zh) * 2020-10-13 2021-03-02 广州视源电子科技股份有限公司 神经网络模型调整方法、装置、设备及存储介质
WO2022126523A1 (zh) * 2020-12-17 2022-06-23 深圳市大疆创新科技有限公司 物体检测方法、设备、可移动平台及计算机可读存储介质
CN112614105B (zh) * 2020-12-23 2022-08-23 东华大学 一种基于深度网络的3d点云焊点缺陷检测方法
CN112869829B (zh) * 2021-02-25 2022-10-21 北京积水潭医院 一种智能镜下腕管切割器
CN113065637B (zh) * 2021-02-27 2023-09-01 华为技术有限公司 一种感知网络及数据处理方法
FR3121110A1 (fr) * 2021-03-24 2022-09-30 Psa Automobiles Sa Procédé et système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule
WO2022217434A1 (zh) * 2021-04-12 2022-10-20 华为技术有限公司 感知网络、感知网络的训练方法、物体识别方法及装置
CN113191401A (zh) * 2021-04-14 2021-07-30 中国海洋大学 基于视觉显著性共享的用于三维模型识别的方法及装置
CN113255445A (zh) * 2021-04-20 2021-08-13 杭州飞步科技有限公司 多任务模型训练及图像处理方法、装置、设备及存储介质
CN113762326A (zh) * 2021-05-26 2021-12-07 腾讯云计算(北京)有限责任公司 一种数据识别方法、装置、设备及可读存储介质
CN113657486B (zh) * 2021-08-16 2023-11-07 浙江新再灵科技股份有限公司 基于电梯图片数据的多标签多属性分类模型建立方法
CN114723966B (zh) * 2022-03-30 2023-04-07 北京百度网讯科技有限公司 多任务识别方法、训练方法、装置、电子设备及存储介质
CN114596624B (zh) * 2022-04-20 2022-08-05 深圳市海清视讯科技有限公司 人眼状态检测方法、装置、电子设备及存储介质
CN114821269A (zh) * 2022-05-10 2022-07-29 安徽蔚来智驾科技有限公司 多任务目标检测方法、设备、自动驾驶系统和存储介质
CN115661784B (zh) * 2022-10-12 2023-08-22 北京惠朗时代科技有限公司 一种面向智慧交通的交通标志图像大数据识别方法与系统
CN116385949B (zh) * 2023-03-23 2023-09-08 广州里工实业有限公司 一种移动机器人的区域检测方法、系统、装置及介质
CN116543163B (zh) * 2023-05-15 2024-01-26 哈尔滨市科佳通用机电股份有限公司 一种制动连接管折断故障检测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108520229A (zh) 2018-04-04 2018-09-11 北京旷视科技有限公司 图像检测方法、装置、电子设备和计算机可读介质
CN109598186A (zh) 2018-10-12 2019-04-09 高新兴科技集团股份有限公司 一种基于多任务深度学习的行人属性识别方法
CN109784194A (zh) 2018-12-20 2019-05-21 上海图森未来人工智能科技有限公司 目标检测网络构建方法和训练方法、目标检测方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170124409A1 (en) * 2015-11-04 2017-05-04 Nec Laboratories America, Inc. Cascaded neural network with scale dependent pooling for object detection
WO2019028725A1 (en) * 2017-08-10 2019-02-14 Intel Corporation CONVOLUTIVE NEURAL NETWORK STRUCTURE USING INVERTED CONNECTIONS AND OBJECTIVITY ANTERIORITIES TO DETECT AN OBJECT
US10679351B2 (en) * 2017-08-18 2020-06-09 Samsung Electronics Co., Ltd. System and method for semantic segmentation of images
US10223610B1 (en) * 2017-10-15 2019-03-05 International Business Machines Corporation System and method for detection and classification of findings in images
CN109712118A (zh) * 2018-12-11 2019-05-03 武汉三江中电科技有限责任公司 一种基于Mask RCNN的变电站隔离开关检测识别方法
CN109815922B (zh) * 2019-01-29 2022-09-30 卡斯柯信号有限公司 基于人工智能神经网络的轨道交通地面目标视频识别方法
CN110298262B (zh) * 2019-06-06 2024-01-02 华为技术有限公司 物体识别方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108520229A (zh) 2018-04-04 2018-09-11 北京旷视科技有限公司 图像检测方法、装置、电子设备和计算机可读介质
CN109598186A (zh) 2018-10-12 2019-04-09 高新兴科技集团股份有限公司 一种基于多任务深度学习的行人属性识别方法
CN109784194A (zh) 2018-12-20 2019-05-21 上海图森未来人工智能科技有限公司 目标检测网络构建方法和训练方法、目标检测方法

Also Published As

Publication number Publication date
CN110298262A (zh) 2019-10-01
EP3916628A4 (en) 2022-07-13
US20220165045A1 (en) 2022-05-26
CN110298262B (zh) 2024-01-02
EP3916628A1 (en) 2021-12-01
WO2020244653A1 (zh) 2020-12-10
JP2022515895A (ja) 2022-02-22

Similar Documents

Publication Publication Date Title
JP7289918B2 (ja) 物体認識方法及び装置
CN110378381B (zh) 物体检测方法、装置和计算机存储介质
CN110070107B (zh) 物体识别方法及装置
EP3923233A1 (en) Image denoising method and apparatus
US20220215227A1 (en) Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium
WO2021218786A1 (zh) 一种数据处理系统、物体检测方法及其装置
CN111401517B (zh) 一种感知网络结构搜索方法及其装置
CN111291809B (zh) 一种处理装置、方法及存储介质
WO2021147325A1 (zh) 一种物体检测方法、装置以及存储介质
WO2022001805A1 (zh) 一种神经网络蒸馏方法及装置
WO2021164750A1 (zh) 一种卷积层量化方法及其装置
US20220130142A1 (en) Neural architecture search method and image processing method and apparatus
US20220157041A1 (en) Image classification method and apparatus
EP4006777A1 (en) Image classification method and device
CN110222718B (zh) 图像处理的方法及装置
CN112529904A (zh) 图像语义分割方法、装置、计算机可读存储介质和芯片
CN115375781A (zh) 一种数据处理方法及其装置
WO2022217434A1 (zh) 感知网络、感知网络的训练方法、物体识别方法及装置
US20230401826A1 (en) Perception network and data processing method
CN114764856A (zh) 图像语义分割方法和图像语义分割装置
CN111833363B (zh) 图像边缘和显著性检测方法及装置
EP4293628A1 (en) Image processing method and related apparatus
CN116258176A (zh) 一种数据处理方法及其装置
CN114972182A (zh) 一种物体检测方法及其装置
CN115731530A (zh) 一种模型训练方法及其装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230531

R150 Certificate of patent or registration of utility model

Ref document number: 7289918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150