(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-17
(45)【発行日】2022-06-27
(54)【発明の名称】運動物体検出およびスマート運転制御方法、装置、媒体、並びに機器
(51)【国際特許分類】
G06T 7/215 20170101AFI20220620BHJP
G06T 7/262 20170101ALI20220620BHJP
G06T 7/55 20170101ALI20220620BHJP
G06T 7/00 20170101ALI20220620BHJP
G08G 1/16 20060101ALI20220620BHJP
G01B 11/00 20060101ALI20220620BHJP
【FI】
G06T7/215
G06T7/262
G06T7/55
G06T7/00 650B
G08G1/16 C
G01B11/00 B
G01B11/00 H
(21)【出願番号】P 2020567917
(86)(22)【出願日】2019-10-31
(86)【国際出願番号】 CN2019114611
(87)【国際公開番号】W WO2020238008
(87)【国際公開日】2020-12-03
【審査請求日】2020-12-04
(31)【優先権主張番号】201910459420.9
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520291939
【氏名又は名称】北京市商▲湯▼科技▲開▼▲發▼有限公司
【氏名又は名称原語表記】BEIJING SENSETIME TECHNOLOGY DEVELOPMENT CO.,LTD.
【住所又は居所原語表記】Room 1101-1117,11th Floor No.58 Northwest 4th Ring Road, Haidian District Beijing 100080 China
(74)【代理人】
【識別番号】110000729
【氏名又は名称】特許業務法人 ユニアス国際特許事務所
(72)【発明者】
【氏名】姚 ▲興▼▲華▼
(72)【発明者】
【氏名】▲劉▼ ▲潤▼涛
(72)【発明者】
【氏名】▲曾▼ 星宇
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2016-81108(JP,A)
【文献】特開2011-209070(JP,A)
【文献】特開2010-204805(JP,A)
【文献】中国特許出願公開第104902246(CN,A)
【文献】中国特許出願公開第104318561(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/215
G06T 7/262
G06T 7/55
G06T 7/00
G08G 1/16
G01B 11/00
(57)【特許請求の範囲】
【請求項1】
運動物体検出方法であって、
処理待ち画像中のピクセルの深度情報を取得するステップと、
前記処理待ち画像と参考画像との間の光流情報を取得するステップであって、前記参考画像と前記処理待ち画像とは、撮影装置の連続撮影によって得られた、時系列関係を有する2つの画像であるステップと、
前記深度情報および光流情報に基づいて、前記処理待ち画像中のピクセルの前記参考画像に対する3次元モーションフィールドを取得するステップと、
前記3次元モーションフィールドに基づいて、前記処理待ち画像中の運動物体を確定するステップと、を含
み、
前記処理待ち画像と参考画像との間の光流情報を取得するステップは、
前記処理待ち画像と前記参考画像とを撮影する撮影装置のポーズ変化情報を取得するステップと、
前記ポーズ変化情報に基づいて、前記処理待ち画像中のピクセルのピクセル値と前記参考画像中のピクセルのピクセル値との間の対応関係を構築するステップと、
前記対応関係に基づいて、参考画像に対して変換処理を実行するステップと、
前記処理待ち画像および前記変換処理後の参考画像に基づいて、前記処理待ち画像と参考画像との間の光流情報を計算するステップと、を含む
ことを特徴とする運動物体検出方法。
【請求項2】
前記処理待ち画像中のピクセルの深度情報を取得するステップは、
処理待ち画像の第1視差マップを取得するステップと、
前記第1視差マップに基づいて、前記処理待ち画像中のピクセルの深度情報を取得するステップと、を含む
ことを特徴とする請求項1に記載の運動物体検出方法。
【請求項3】
前記処理待ち画像は、単眼画像を含み、
前記処理待ち画像の第1視差マップを取得するステップは、
処理待ち画像を畳み込みニューラルネットワーク中に入力し、前記畳み込みニューラルネットワークを利用して視差分析処理を実行し、前記畳み込みニューラルネットワークの出力に基づいて、前記処理待ち画像の第1視差マップを得るステップを含み、
ここで、前記畳み込みニューラルネットワークは、両眼画像サンプルを利用してトレーニングして得られたものであり、
前記処理待ち画像の第1視差マップを取得するステップは、
前記処理待ち画像の第1水平ミラー画像の第2視差マップの第2水平ミラー画像を取得するステップであって、前記処理待ち画像の第1水平ミラー画像は、前記処理待ち画像に対して水平方向のミラー処理を実行して形成されたミラー画像であり、前記第2視差マップの第2水平ミラー画像は、前記第2視差マップに対して水平方向のミラー処理を実行して形成されたミラー画像であるステップと、
前記第1視差マップの重み分布マップおよび前記第2水平ミラー画像の重み分布マップに基づいて、前記第1視差マップに対して視差調整を実行して、最終に、前記処理待ち画像の第1視差マップを得るステップと、をさらに含む
ことを特徴とする請求項2に記載の運動物体検出方法。
【請求項4】
前記処理待ち画像の第1水平ミラー画像の第2視差マップの第2水平ミラー画像を取得するステップは、
処理待ち画像の第1水平ミラー画像を畳み込みニューラルネットワーク中に入力し、前記畳み込みニューラルネットワークを利用して視差分析処理を実行し、前記畳み込みニューラルネットワークの出力に基づいて、前記処理待ち画像の第1水平ミラー画像の第2視差マップを得るステップと、
前記第2視差マップに対してミラー処理を実行して、前記第2水平ミラー画像を得るステップと、を含む
ことを特徴とする請求項3に記載の運動物体検出方法。
【請求項5】
前記重み分布マップは、第1重み分布マップと第2重み分布マップとの中の少なくとも1つを含み、
前記第1重み分布マップは、複数の処理待ち画像に対して統一的に設定した重み分布マップであり、
前記第2重み分布マップは、互いに異なる処理待ち画像に対して個別的に設定した重み分布マップであり、
前記第1重み分布マップは、少なくとも2つの左右に分列された領域を含み、互いに異なる領域は、互いに異なる重み値を有する
ことを特徴とする請求項3又は4に記載の運動物体検出方法。
【請求項6】
前記処理待ち画像が左眼画像とされる場合、
前記第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きく、
前記第2水平ミラー画像の第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きく、
前記第1視差マップの第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の左側部分の重み値が、当該領域中の右側部分の重み値以下であり、
前記第2水平ミラー画像の第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の左側部分の重み値が、当該領域中の右側部分の重み値以下であり、
前記処理待ち画像が右眼画像とされる場合、
前記第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きく、
前記第2水平ミラー画像の第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きく、
前記第1視差マップの第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の右側部分の重み値が、当該領域中の左側部分の重み値以下であり、
前記第2水平ミラー画像の第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の右側部分の重み値が、当該領域中の左側部分の重み値以下である
ことを特徴とする請求項5に記載の運動物体検出方法。
【請求項7】
前記第1視差マップの第2重み分布マップの設定方式は、
前記第1視差マップに対して水平ミラー処理を実行して、ミラー視差マップを形成することと、
前記ミラー視差マップ中の任意の1つのピクセル点の場合、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数よりも大きいと、前記第1視差マップの第2重み分布マップ中の当該ピクセル点の重み値を第1値に設定し、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数未満であると、第2値に設定することと、を含み、
ここで、前記第1値は、第2値よりも大きく、
前記ピクセル点に対応する第1変数は、前記第1視差マップ中の当該ピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数である
ことを特徴とする請求項5又は6に記載の運動物体検出方法。
【請求項8】
前記第2水平ミラー画像の第2重み分布マップの設定方式は、
前記第2水平ミラー画像中の任意の1つのピクセル点の場合、前記第1視差マップ中の当該ピクセル点の視差値が当該ピクセル点に対応する第2変数よりも大きいと、前記第2水平ミラー画像の第2重み分布マップ中の当該ピクセル点の重み値を第1値に設定し、前記第1視差マップ中の当該ピクセル点の視差値が当該ピクセル点に対応する第2変数未満であると、第2値に設定することを含み、
ここで、前記第1値は、第2値よりも大きく、
前記ピクセル点に対応する第2変数は、前記第1視差マップの水平ミラー画像中の該当するピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数である
ことを特徴とする請求項5から7の何れか一項に記載の運動物体検出方法。
【請求項9】
前記ポーズ変化情報に基づいて、前記処理待ち画像中のピクセルのピクセル値と前記参考画像中のピクセルのピクセル値との間の対応関係を構築するステップは、
前記深度情報および撮影装置の所定のパラメータに基づいて、前記処理待ち画像中のピクセルの、処理待ち画像に対応する撮影装置の3次元座標系における第1座標を取得するステップと、
前記ポーズ変化情報に基づいて、前記第1座標を、前記参考画像に対応する撮影装置の3次元座標系における第2座標に変換するステップと、
2次元画像の2次元座標系に基づいて、前記第2座標に対して投影処理を実行して、前記処理待ち画像の投影の2次元座標を得るステップと、
前記処理待ち画像の投影2次元座標および前記参考画像の2次元座標に基づいて、前記処理待ち画像中のピクセルのピクセル値と前記参考画像中のピクセルのピクセル値との間の対応関係を構築するステップと、を含む
ことを特徴とする請求項
1に記載の運動物体検出方法。
【請求項10】
前記3次元モーションフィールドに基づいて、前記処理待ち画像中の運動物体を確定するステップは、
前記3次元モーションフィールドに基づいて、前記処理待ち画像中のピクセルの3次元空間における運動情報を取得するステップと、
前記ピクセルの3次元空間における運動情報に基づいて、前記ピクセルに対してクラスタリング処理を実行するステップと、
前記クラスタリング処理の結果に基づいて、前記処理待ち画像中の運動物体を確定するステップと、を含む
ことを特徴とする請求項1から
9の何れか一項に記載の運動物体検出方法。
【請求項11】
前記3次元モーションフィールドに基づいて、前記処理待ち画像中のピクセルの3次元空間における運動情報を取得するステップは、
前記3次元モーションフィールド、および、前記処理待ち画像と前記参考画像との間の撮影の時間差に基づいて、前記処理待ち画像中のピクセルの、処理待ち画像に対応する撮影装置の3次元座標系の3つの座標軸方向上の速度を計算するステップを含む
ことを特徴とする請求項
10に記載の運動物体検出方法。
【請求項12】
前記ピクセルの3次元空間における運動情報に基づいて、前記ピクセルに対してクラスタリング処理を実行するステップは、
前記ピクセルの3次元空間における運動情報に基づいて、前記処理待ち画像の運動マスクを取得するステップと、
前記運動マスクに基づいて、処理待ち画像中の運動領域を確定するステップと、
運動領域中のピクセルの3次元空間位置情報と運動情報とに基づいて、前記運動領域中のピクセルに対してクラスタリング処理を実行するステップと、を含み、
前記ピクセルの3次元空間における運動情報は、ピクセルの3次元空間における速度大きさを含み、
前記ピクセルの3次元空間における運動情報に基づいて、前記処理待ち画像の運動マスクを取得するステップは、
所定の速度閾値に基づいて、前記処理待ち画像中のピクセルの速度大きさに対してフィルタリング処理を実行して、前記処理待ち画像の運動マスクを形成するステップを含む
ことを特徴とする請求項
10又は11に記載の運動物体検出方法。
【請求項13】
前記運動領域中のピクセルの3次元空間位置情報と運動情報とに基づいて、前記運動領域中のピクセルに対してクラスタリング処理を実行するステップは、
前記運動領域中のピクセルの3次元空間座標値を所定の座標区間に転換するステップと、
前記運動領域中のピクセルの速度を所定の速度区間に転換するステップと、
転換後の3次元空間座標値および転換後の速度に基づいて、前記運動領域中のピクセルに対して密度クラスタリング処理を実行して、少なくとも1つのクラスクラスタを得るステップと、含み、
前記クラスタリング処理の結果に基づいて、前記処理待ち画像中の運動物体を確定するステップは、
任意の1つのクラスクラスタに対して、当該クラスクラスタ中の複数のピクセルの速度大きさと速度方向とに基づいて、運動物体の速度大きさと速度方向とを確定するステップを含み、
ここで、1つのクラスクラスタが、処理待ち画像中の1つの運動物体とされる
ことを特徴とする請求項
12に記載の運動物体検出方法。
【請求項14】
スマート運転制御方法であって、
車両に設けられた撮影装置を通じて前記車両が位置している道路のビデオストリームを取得するステップと、
請求項1から
13の何れか一項に記載の方法を使用して、前記ビデオストリームに含まれた少なくとも1つのビデオフレームに対して、運動物体検出を実行して、当該ビデオフレーム中の運動物体を確定するステップと、
前記運動物体に基づいて前記車両の制御命令を生成して出力するステップと、を含む
ことを特徴とするスマート運転制御方法。
【請求項15】
運動物体検出装置であって、
処理待ち画像中のピクセルの深度情報を取得するための第1取得モジュールと、
前記処理待ち画像と参考画像との間の光流情報を取得するための第2取得モジュールであって、前記参考画像と前記処理待ち画像とは、撮影装置の連続撮影によって得られた、時系列関係を有する2つの画像である第2取得モジュールと、
前記深度情報および光流情報に基づいて、前記処理待ち画像中のピクセルの前記参考画像に対する3次元モーションフィールドを取得するための第3取得モジュールと、
前記3次元モーションフィールドに基づいて、前記処理待ち画像中の運動物体を確定するための運動物体確定モジュールと、を備え
、
前記処理待ち画像と参考画像との間の光流情報を取得することは、
前記処理待ち画像と前記参考画像とを撮影する撮影装置のポーズ変化情報を取得するステップと、
前記ポーズ変化情報に基づいて、前記処理待ち画像中のピクセルのピクセル値と前記参考画像中のピクセルのピクセル値との間の対応関係を構築するステップと、
前記対応関係に基づいて、参考画像に対して変換処理を実行するステップと、
前記処理待ち画像および前記変換処理後の参考画像に基づいて、前記処理待ち画像と参考画像との間の光流情報を計算するステップと、を含む
ことを特徴とする運動物体検出装置。
【請求項16】
スマート運転制御装置であって、
車両に設けられた撮影装置を通じて前記車両が位置している道路のビデオストリームを取得するための第4取得モジュールと、
前記ビデオストリームに含まれた少なくとも1つのビデオフレームに対して、運動物体検出を実行して、当該ビデオフレーム中の運動物体を確定するための、請求項
15に記載の運動物体検出装置と、
前記運動物体に基づいて前記車両の制御命令を生成して出力するための制御モジュールと、を備える
ことを特徴とするスマート運転制御装置。
【請求項17】
電子機器であって、
コンピュータプログラムを記憶するためのメモリと、
前記メモリに記憶されているコンピュータプログラムを実行し、前記コンピュータプログラムが実行されるときに、請求項1から
14の何れか一項に記載の方法が実現されるプロセッサと、を備える
ことを特徴とする電子機器。
【請求項18】
コンピュータ可読記憶媒体であって、
前記コンピュータ可読記憶媒体には、コンピュータプログラムが記憶されており、
当該コンピュータプログラムがプロセッサによって実行されるときに、請求項1から
14の何れか一項に記載の方法が実現される
ことを特徴とするコンピュータ可読記憶媒体。
【請求項19】
コンピュータプログラムであって、
前記コンピュータプログラムは、コンピュータ命令を含み、
前記コンピュータ命令が機器のプロセッサで運行されるときに、請求項1から
14の何れか一項に記載の方法が実現される
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータビジョン技術に関し、特に、運動物体検出方法、運動物体検出装置、スマート運転制御方法、スマート運転制御装置、電子機器、コンピュータ可読記憶媒体、および、コンピュータプログラムに関する。
<関連出願の互いに引用>
本発明は、2019年5月29日に中国専利局へ提出された、出願番号がCN201910459420.9であり、発明名称が「運動物体検出およびスマート運転制御方法、装置、媒体、並びに機器」である中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が援用により本願に組み入れられる。
【背景技術】
【0002】
スマート運転およびセキュリティ監視などの技術分野で、運動物体およびその運動方向を感知する必要がある。感知された運動物体およびその運動方向は、方策決定層に提供されて、方策決定層が感知結果に基づいて方策決定を実行するようにする。たとえば、スマート運転システムにおいて、道路の隣にある運動物体(たとえば、人または動物などである)が道路の中心に近づくことが感知されると、方策決定層は、車両が、減速して走行するかさらには停車するように制御して、車両の安全な走行を保障する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施形態は、運動物体検出技術案を提供する。
【課題を解決するための手段】
【0004】
本発明の実施形態の第1態様によると、運動物体検出方法を提供し、当該方法は、処理待ち画像中のピクセルの深度情報を取得するステップと、前記処理待ち画像と参考画像との間の光流情報を取得するステップであって、前記参考画像と前記処理待ち画像とは、撮影装置の連続撮影によって得られた、時系列関係を有する2つの画像であるステップと、前記深度情報および光流情報に基づいて、前記処理待ち画像中のピクセルの前記参考画像に対する3次元モーションフィールドを取得するステップと、前記3次元モーションフィールドに基づいて、前記処理待ち画像中の運動物体を確定するステップと、を含む。
【0005】
本発明の実施形態の第2態様によると、スマート運転制御方法を提供し、当該方法は、車両に設けられた撮影装置を通じて前記車両が位置している道路のビデオストリームを取得するステップと、上記の運動物体検出方法を使用して、前記ビデオストリームに含まれた少なくとも1つのビデオフレームに対して、運動物体検出を実行して、当該ビデオフレーム中の運動物体を確定するステップと、前記運動物体に基づいて前記車両の制御命令を生成して出力するステップと、を含む。
【0006】
本発明の実施形態の第3態様によると、運動物体検出装置を提供し、当該装置は、処理待ち画像中のピクセルの深度情報を取得するための第1取得モジュールと、前記処理待ち画像と参考画像との間の光流情報を取得するための第2取得モジュールであって、前記参考画像と前記処理待ち画像とは、撮影装置の連続撮影によって得られた、時系列関係を有する2つの画像である第2取得モジュールと、前記深度情報および光流情報に基づいて、前記処理待ち画像中のピクセルの前記参考画像に対する3次元モーションフィールドを取得するための第3取得モジュールと、前記3次元モーションフィールドに基づいて、前記処理待ち画像中の運動物体を確定するための運動物体確定モジュールと、を備える。
【0007】
本発明の実施形態の第4態様によると、スマート運転制御装置を提供し、当該装置は、車両に設けられた撮影装置を通じて前記車両が位置している道路のビデオストリームを取得するための第4取得モジュールと、前記ビデオストリームに含まれた少なくとも1つのビデオフレームに対して、運動物体検出を実行して、当該ビデオフレーム中の運動物体を確定するための上記の運動物体検出装置と、前記運動物体に基づいて前記車両の制御命令を生成して出力するための制御モジュールと、を備える。
【0008】
本発明の実施形態の第5態様によると、電子機器を提供し、当該電子機器は、プロセッサと、メモリと、通信インターフェースと、通信バスと、を備え、前記プロセッサ、前記メモリ、および、前記通信インターフェースは、前記通信バスを介して互いに間の通信を完成し、前記メモリは、少なくとも1つの実行可能命令を記憶し、前記実行可能命令は、前記プロセッサが上記の方法を実行するようにする。
【0009】
本発明の実施形態の第6態様によると、コンピュータ可読記憶媒体を提供し、当該コンピュータ可読記憶媒体には、コンピュータプログラムが記憶されており、当該コンピュータプログラムがプロセッサによって実行されるときに、本発明の任意の1つの方法の実施形態が実現される。
【0010】
本発明の実施形態の第7態様によると、コンピュータプログラムを提供し、当該コンピュータプログラムは、コンピュータ命令を含み、前記コンピュータ命令が機器のプロセッサで運行されるときに、本発明の任意の1つの方法の実施形態が実現される。
【発明の効果】
【0011】
本発明によって提供される運動物体検出方法、スマート運転制御方法、装置、電子機器、コンピュータ可読記憶媒体、および、コンピュータプログラムによると、処理待ち画像中のピクセルの深度情報、および、処理待ち画像と参考画像との間の光流情報を利用して、処理待ち画像中のピクセルの参考画像に対する3次元モーションフィールドを得ることができ、3次元モーションフィールドが運動物体を反映できるため、本発明は3次元モーションフィールドを利用して処理待ち画像中の運動物体を確定できる。これからわかるように、本発明によって提供される技術案は、運動物体の感知の正確性を改善するに有益であり、したがって車両のスマート走行の安全性を改善するに有益である。
【0012】
以下、図面および実施形態によって、本発明の技術案をさらに詳細に説明する。
【図面の簡単な説明】
【0013】
明細書の一部を構成する図面は、本発明の実施例を記述し、且つ記述とともに本発明の原理の解釈に用いられる。
【0014】
図面を参照し、以下の詳細な記述に基づいて、本発明をより明瞭に理解できる。
【
図1】本発明の運動物体検出方法の一実施形態のフローチャートである。
【
図3】
図2に示す処理待ち画像の第1視差マップの一実施形態の模式図である。
【
図4】本発明の処理待ち画像の第1視差マップの一実施形態の模式図である。
【
図5】本発明の畳み込みニューラルネットワークの一実施形態の模式図である。
【
図6】本発明の第1視差マップの第1重み分布マップの一実施形態の模式図である。
【
図7】本発明の第1視差マップの第1重み分布マップのもう一実施形態の模式図である。
【
図8】本発明の第1視差マップの第2重み分布マップの一実施形態の模式図である。
【
図9】本発明の第3視差マップの一実施形態の模式図である。
【
図10】
図9に示す第3視差マップの第2重み分布マップの一実施形態の模式図である。
【
図11】本発明の処理待ち画像の第1視差マップに対して最適化調整を実行する実施形態の模式図である。
【
図12】本発明の3次元座標系の一実施形態の模式図である。
【
図13】本発明の参考画像およびWarp処理後の画像の一実施形態の模式図である。
【
図14】本発明のWarp処理後の画像、処理待ち画像、および、処理待ち画像の、参考画像に対する光流図の一実施形態の模式図である。
【
図15】本発明の処理待ち画像およびその運動マスクの一実施形態の模式図である。
【
図16】本発明形成の運動物体検出枠の一実施形態の模式図である。
【
図17】本発明の畳み込みニューラルネットワークトレーニング方法の一実施形態のフローチャートである。
【
図18】本発明のスマート運転制御方法の一実施形態のフローチャートである。
【
図19】本発明の運動物体検出装置の一実施形態の構成の模式図である。
【
図20】本発明のスマート運転制御装置の一実施形態の構成の模式図である。
【
図21】本発明の実施形態を実現する例示的な機器のブロック図である。
【発明を実施するための形態】
【0015】
現在、図面を参照して本発明の各種の例示的な実施例を詳細に記述する。注意すべきことは、別途詳細に説明しない限り、これらの実施例に記述された部品とステップの相対的な配置、数値条件式及び数値が本発明の範囲を制限しない。
【0016】
同時に、理解できるように、記述の便宜上、図面に示される各部分の寸法が実際の縮尺に応じて描かれるとは限らない。以下では、少なくとも1例示的な実施例の記述が実に説明的なものに過ぎず、決して本発明及びその応用や使用に対する如何なる制限にもならない。当業者にとって既知の技術、方法及び機器について詳細に議論しないが、適切な場合には、前記技術、方法及び機器が明細書の一部と見なされるべきである。注意すべきことは、類似する符号及びアルファベットが後の図面において類似する要素を示すため、ある要素が、1つの図面で定義されると、後の図面においてさらに議論される必要がない。
【0017】
本発明の実施例は、端末機器、コンピュータシステム、および、サーバなどの電子機器に適用可能であり、他の大量の汎用または専用の計算システム環境又は配置とともに操作され得る。端末機器、コンピュータシステム、および、サーバなどの電子機器とともに使用される周知の端末機器、計算システム、環境、および/または、配置に適用される例は、パソコンシステム、サーバコンピュータシステム、薄クライアント、厚クライアント、ハンドヘルド若しくはラップトップデバイス、マイクロプロセッサによるシステム、セットトップボックス、プログラム可能消費電子製品、ネットワークパソコン、小型コンピュータシステム、大型コンピュータシステム、及び上記何れかのシステムを含む分散型クラウド計算技術環境等を含むが、それらに限定されない。
【0018】
端末機器、コンピュータシステム、および、サーバなどの電子デバイスは、コンピュータシステムで実行されるコンピュータシステム実行可能指令(例えば、プログラムモジュール)の一般的な文脈において記述されてもよい。一般的に、プログラムモジュールは、ルーチン、プログラム、ターゲットプログラム、ユニット、ロジック、データ構造等を含んでもよく、それらは、特定のタスクを実行し、又は特定の抽象データ型を実現する。コンピュータシステム/サーバは、分散型クラウド計算環境において実施されてもよい。分散型クラウド計算環境において、タスクは、通信ネットワークを介して接続された遠隔処理機器が実行するものである。分散型クラウド計算環境において、プログラムモジュールは、記憶機器を含むローカル又は遠隔計算システム記憶媒体に位置してもよい。
【0019】
<例示的な実施例>
【0020】
図1は、本発明の運動物体検出方法の1実施例のフローチャートである。
図1に示すように、当該実施例の方法は、ステップS100、ステップS110、ステップS120、および、ステップS130を含む。以下、各ステップを詳細に説明する。
【0021】
S100において、処理待ち画像中のピクセルの深度情報を取得する。
【0022】
オプションの1例において、本発明は、処理待ち画像の視差マップを利用して、処理待ち画像中のピクセル(たとえば、すべてのピクセル)の深度情報を得ることができる。すなわち、まず、処理待ち画像の視差マップを取得し、その後、処理待ち画像の視差マップに基づいて、処理待ち画像中のピクセルの深度情報を取得する。
【0023】
オプションの1例において、説明を明確にするために、以下、処理待ち画像の視差マップを処理待ち画像の第1視差マップと呼ぶ。本発明の第1視差マップは、処理待ち画像の視差を記述するために用いられる。視差とは、一定の距離がある2つの点の位置から同一の目標対象を観察した場合に発生された目標対象の位置の差異を意味すると見なすことができる。処理待ち画像の1例は、
図2に示したようである。
図2に示す処理待ち画像の第1視差マップの1例は、
図3に示したようである。オプションとして、本発明の処理待ち画像の第1視差マップは、さらに、
図4に示す形式に表されることができる。
図4中の各数字(たとえば、0、1、2、3、4および5など)は、それぞれ、処理待ち画像中の(x、y)位置のピクセルの視差を表す。特に説明する必要があるのは、
図4では1つの完全な第1視差マップを示していないことである。
【0024】
オプションの1例において、本発明の処理待ち画像は、一般的に、単眼画像である。つまり、処理待ち画像は、一般的に、単眼撮影装置を利用して撮影して得られた画像である。処理待ち画像が単眼画像である場合、本発明は両眼撮影装置を設ける必要なしに、運動物体検出を実現できるから、運動物体検出のコストの削減に有益である。
【0025】
オプションの1例において、本発明は、予めトレーニングできた畳み込みニューラルネットワークを利用して、処理待ち画像の第1視差マップを得ることができる。たとえば、処理待ち画像を畳み込みニューラルネットワーク中に入力し、当該畳み込みニューラルネットワークを利用して処理待ち画像に対して視差分析処理を実行し、当該畳み込みニューラルネットワークによって視差分析処理結果が出力されることによって、本発明は、視差分析処理結果に基づいて処理待ち画像の第1視差マップを得ることができる。畳み込みニューラルネットワークを利用して処理待ち画像の第1視差マップを得ることによって、2つの画像を使用して1ピクセルずつ視差計算を実行しなく、また撮影装置の標定を実行する必要なしに、視差マップを得ることができる。視差マップを得る便利性とリアルタイム性の改善に有益である。
【0026】
オプションの1例において、本発明の畳み込みニューラルネットワークは、一般的に、複数の畳み込み層(Conv)、および、複数の逆畳み込み層(Deconv)を含むが、これらに限定されない。本発明の畳み込みニューラルネットワークは、符号化部分と復号化部分との2つの部分に分けることができる。畳み込みニューラルネットワーク中に入力された処理待ち画像(
図2に示す処理待ち画像)は、符号化部分によって当該画像に対して符号化処理(すなわち、特徴抽出処理)を実行し、符号化部分の符号化処理結果は復号化部分に提供され、復号化部分によって符号化処理結果に対して復号化処理を実行し、復号化処理結果を出力する。本発明は、畳み込みニューラルネットワークによって出力された復号化処理結果に基づいて、処理待ち画像の第1視差マップ(
図3に示す視差マップ)を得ることができる。オプションとして、畳み込みニューラルネットワーク中の符号化部分は、複数の畳み込み層を含み、複数の畳み込み層は直列に接続されるが、これらに限定されない。畳み込みニューラルネットワーク中の復号化部分は、複数の畳み込み層と複数の逆畳み込み層とを含み、複数の畳み込み層と複数の逆畳み込み層とは互いに間隔を置いて設けられ、直列に接続されるが、これらに限定されない。
【0027】
本発明の畳み込みニューラルネットワークの1例は、
図5に示したようである。
図5において、左側の1番目の長方形は、畳み込みニューラルネットワーク中に入力された処理待ち画像を表し、右側の1番目の長方形は、畳み込みニューラルネットワークによって出力された視差マップを表す。左側の2番目の長方形から15番目の長方形の中の各長方形は、いずれも、畳み込み層を表し、左側の16番目の長方形から右側の2番目の長方形の中のすべての長方形は、互いに間隔を置いて設けた逆畳み込み層と畳み込み層とを表し、たとえば、左側の16番目の長方形は逆畳み込み層を表し、左側の17番目の長方形は畳み込み層を表し、左側の18番目の長方形は逆畳み込み層を表し、左側の19番目の長方形は畳み込み層を表し、…、右側2番目の長方形は逆畳み込み層を表す。
【0028】
オプションの1例において、本発明の畳み込みニューラルネットワークは、スキップ接続(Skip Connect)の方式によって、畳み込みニューラルネットワーク中の低層情報と高層情報とを融合させる。たとえば、符号化部分中の少なくとも1つの畳み込み層の出力を、スキップ接続の方式によって、復号化部分中の少なくとも1つの逆畳み込み層に提供する。オプションとして、畳み込みニューラルネットワーク中のすべての畳み込み層の入力は、一般的に、前の1層(たとえば、畳み込み層または逆畳み込み層)の出力を含み、畳み込みニューラルネットワーク中の少なくとも1つの逆畳み込み層(たとえば、一部の逆畳み込み層またはすべての逆畳み込み層)の入力は、前の1畳み込み層の出力のアップサンプル(Upsample)結果と、当該逆畳み込み層スキップと接続された符号化部分の畳み込み層の出力と、を含む。たとえば、
図5の右側の畳み込み層の下部から引出した実線矢印が指す内容は、前の1畳み込み層の出力を表し、
図5中の点線矢印は、逆畳み込み層に提供するアップサンプル結果を表し、
図5中の左側の畳み込み層の上部から引出した実線矢印は、逆畳み込み層とスキップ接続された畳み込み層の出力を表す。本発明は、スキップ接続の数および畳み込みニューラルネットワークのネットワーク構成に対して、限定しない。本発明は、畳み込みニューラルネットワーク中の低層情報と高層情報とを融合させることによって、畳み込みニューラルネットワークによって生成される視差マップの正確性の改善に有益である。オプションとして、本発明の畳み込みニューラルネットワークは、両眼画像サンプルを利用してトレーニングして得られたものである。当該畳み込みニューラルネットワークのトレーニング過程は、下記の実施形態中の説明を参照すればよい。ここでは再度詳細に説明しない。
【0029】
オプションの1例において、本発明は、さらに、畳み込みニューラルネットワークを利用して得た処理待ち画像の第1視差マップに対して、最適化調整を実行することによって、もう一層正確な第1視差マップを得ることができる。オプションとして、本発明は、処理待ち画像の水平ミラー画像(たとえば、左ミラー画像または右ミラー画像)の視差マップを利用して、処理待ち画像の第1視差マップに対して最適化調整を実行できる。説明の便利のために、以下、処理待ち画像の水平ミラー画像を第1水平ミラー画像と呼び、第1水平ミラー画像の視差マップを第2視差マップと呼ぶ。本発明は、第1視差マップに対して最適化調整を実行する具体的な1例は、以下のようである。
【0030】
ステップAにおいて、第2視差マップの水平ミラー画像を取得する。
【0031】
オプションとして、本発明の第1水平ミラー画像は、当該ミラー画像が、処理待ち画像に対して水平方向のミラー処理を実行して(鉛直方向のミラー処理ではない)形成されたミラー画像であることを、意味する。説明の便利のために、以下、第2視差マップの水平ミラー画像を、第2水平ミラー画像と呼ぶ。オプションとして、本発明の第2水平ミラー画像とは、第2視差マップに対して水平方向のミラー処理を実行した後に形成されたミラー画像を指す。第2水平ミラー画像は、依然として、視差マップである。
【0032】
オプションとして、本発明は、まず、処理待ち画像に対して左ミラー処理または右ミラー処理を実行して(左ミラー処理結果と右ミラー処理結果とが同一であるため、本発明は、処理待ち画像に対して、左ミラー処理を実行してもよいし、右ミラー処理を実行してもよい)、第1水平ミラー画像を得、その後、第1水平ミラー画像の視差マップを取得し、最後に、当該第2視差マップに対して左ミラー処理または右ミラー処理を実行することによって(第2視差マップの左ミラー処理結果と右ミラー処理結果とが同一であるため、本発明は、第2視差マップに対し、左ミラー処理を実行してもよいし、右ミラー処理を実行してもよい)、第2水平ミラー画像を得る。説明の便利のために、以下、第2水平ミラー画像を第3視差マップと呼ぶ。
【0033】
上記の説明からわかるように、本発明は、処理待ち画像に対して水平ミラー処理を実行する場合に、処理待ち画像を、左眼画像としてミラー処理を実行するか、右眼画像としてミラー処理を実行するかを考慮しないでもよい。つまり、処理待ち画像を、左眼画像とするか、右眼画像とするかに関わらず、本発明は、いずれも、処理待ち画像に対して左ミラー処理または右ミラー処理を実行することにより、第1水平ミラー画像を得ることができる。同様に、本発明は、第2視差マップに対して水平ミラー処理を実行する場合にも、当該第2視差マップに対して左ミラー処理を実行すべきか、当該第2視差マップに対して右ミラー処理を実行すべきかを考慮しなくてもよい。
【0034】
説明する必要があるのは、処理待ち画像の第1視差マップを生成するための畳み込みニューラルネットワークをトレーニングする過程において、両眼画像サンプル中の左眼画像サンプルを入力として、畳み込みニューラルネットワークに提供してトレーニングを実行すると、トレーニングできた後の畳み込みニューラルネットワークは、テストおよび実際の適用において、入力された処理待ち画像を左眼画像とすることになり、つまり、本発明の処理待ち画像を処理待ち左眼画像とする。両眼画像サンプル中の右眼画像サンプルを入力として、畳み込みニューラルネットワークに提供して、トレーニングを実行すると、トレーニングできた後の畳み込みニューラルネットワークは、テストおよび実際の適用において、入力された処理待ち画像を右眼画像とすることになり、つまり、本発明の処理待ち画像を処理待ち右眼画像とする。
【0035】
オプションとして、本発明は、同様に、上記の畳み込みニューラルネットワークを利用して、第2視差マップを得ることができる。たとえば、第1水平ミラー画像を畳み込みニューラルネットワーク中に入力し、当該畳み込みニューラルネットワークを利用して第1水平ミラー画像に対して視差分析処理を実行し、畳み込みニューラルネットワークによって視差分析処理結果を出力することによって、本発明は、出力された視差分析処理結果に基づいて、第2視差マップを得ることができる。
【0036】
ステップBにおいて、処理待ち画像の視差マップ(すなわち第1視差マップ)の重み分布マップ、および、第2水平ミラー画像(すなわち第3視差マップ)の重み分布マップを取得する。
【0037】
オプションの1例において、第1視差マップの重み分布マップは、第1視差マップ中の複数の視差値(たとえば、すべての視差値)それぞれ対応する重み値を記述するために用いられる。第1視差マップの重み分布マップは、第1視差マップの第1重み分布マップ、および、第1視差マップの第2重み分布マップを含んでもよいが、これらに限定されない。
【0038】
オプションとして、上記の第1視差マップの第1重み分布マップは、複数の互いに異なる処理待ち画像の第1視差マップに対して統一的に設定した重み分布マップであり、すなわち、第1視差マップの第1重み分布マップは、複数の互いに異なる処理待ち画像の第1視差マップに向けることができ、つまり、互いに異なる処理待ち画像の第1視差マップが同一の第1重み分布マップを使用し、したがって、本発明は、第1視差マップの第1重み分布マップを第1視差マップのグローバル重み分布マップと呼んでもよい。第1視差マップのグローバル重み分布マップは、第1視差マップ中の複数の視差値(たとえば、すべての視差値)それぞれに対応するグローバル重み値を記述するために用いられる。
【0039】
オプションとして、上記の第1視差マップの第2重み分布マップは、単一の処理待ち画像の第1視差マップに対して設定した重み分布マップであり、すなわち、第1視差マップの第2重み分布マップは、単一の処理待ち画像の第1視差マップに向け、つまり、互いに異なる処理待ち画像の第1視差マップが異なる第2重み分布マップを使用し、したがって、本発明は、第1視差マップの第2重み分布マップを、第1視差マップのローカル重み分布マップと呼んでもよい。第1視差マップのローカル重み分布マップは、第1視差マップ中の複数の視差値(たとえば、すべての視差値)それぞれに対応するローカル重み値を記述するために用いられる。
【0040】
オプションの1例において、第3視差マップの重み分布マップは、第3視差マップ中の複数の視差値それぞれに対応する重み値を記述するために用いられる。第3視差マップの重み分布マップは、第3視差マップの第1重み分布マップおよび第3視差マップの第2重み分布マップを含んでもよいが、これらに限定されない。
【0041】
オプションとして、上記の第3視差マップの第1重み分布マップは、複数の互いに異なる処理待ち画像の第3視差マップに対して統一的に設定した重み分布マップであり、すなわち、第3視差マップの第1重み分布マップは、複数の互いに異なる処理待ち画像の第3視差マップに向け、つまり、互いに異なる処理待ち画像の第3視差マップが同一の第1重み分布マップを使用し、したがって、本発明は、第3視差マップの第1重み分布マップを、第3視差マップのグローバル重み分布マップと呼んでもよい。第3視差マップのグローバル重み分布マップは、第3視差マップ中の複数の視差値(たとえば、すべての視差値)それぞれに対応するグローバル重み値を記述するために用いられる。
【0042】
オプションとして、上記の第3視差マップの第2重み分布マップは、単一の処理待ち画像の第3視差マップに対して設定した重み分布マップであり、すなわち、第3視差マップの第2重み分布マップは、単一の処理待ち画像の第3視差マップに向け、つまり、異なる処理待ち画像の第3視差マップが異なる第2重み分布マップを使用し、したがって、本発明は、第3視差マップの第2重み分布マップを、第3視差マップのローカル重み分布マップと呼んでもよい。第3視差マップのローカル重み分布マップは、第3視差マップ中の複数の視差値(たとえば、すべての視差値)それぞれに対応するローカル重み値を記述するために用いられる。
【0043】
オプションの1例において、第1視差マップの第1重み分布マップは、少なくとも2つの左右に分列された領域を含み、互いに異なる領域は、互いに異なる重み値を有する。オプションとして、左側に位置する領域の重み値と右側に位置する領域の重み値との大きさ関係は、一般的に、処理待ち画像が処理待ち左眼画像とされるか、処理待ち右眼画像とされるかに、関連される。
【0044】
たとえば、処理待ち画像が左眼画像とされる場合、第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きい。
図6は、
図3に示す視差マップの第1重み分布マップであり、当該第1重み分布マップは、5つの領域に分割され、すなわち、
図6に示す領域1、領域2、領域3、領域4、および、領域5に分割される。領域1の重み値は、領域2の重み値よりも小さく、領域2の重み値は、領域3の重み値よりも小さく、領域3の重み値は、領域4の重み値よりも小さく、領域4の重み値は、領域5の重み値よりも小さい。また、第1視差マップの第1重み分布マップ中の任意の1つの領域は、同一の重み値を有してもよいし、異なる重み値を有してもよい。第1視差マップの第1重み分布マップ中の1つの領域が異なる重み値を有する場合、領域内の左側の重み値は、一般的に、当該領域内の右側の重み値よりも大きくない。オプションとして、
図6に示す領域1の重み値は、0であってもよく、すなわち、第1視差マップにおいて、領域1に対応する視差は、完全に信頼できなく、領域2の重み値は、左側から右側に向かって0から徐々に増加されて0.5に接近されてもよく、領域3の重み値は、0.5であり、領域4の重み値は、左側から右側に向かって0.5よりも大きい数値から徐々に増加して1に接近されてもよく、領域5の重み値は、1であり、すなわち、第1視差マップにおいて、領域5に対応する視差は、完全に信頼できる。
【0045】
さらに、たとえば、処理待ち画像が右眼画像とされる場合、第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きい。
図7は、処理待ち画像を右眼画像とする場合の第1視差マップの第1重み分布マップを示し、第1重み分布マップは、
図7中の領域1、領域2、領域3、領域4、および、領域5の5つの領域に分割されている。領域5の重み値は、領域4の重み値よりも小さく、領域4の重み値は、領域3の重み値よりも小さく、領域3の重み値は、領域2の重み値よりも小さく、領域2の重み値は、領域1の重み値よりも小さい。また、第1視差マップの第1重み分布マップ中の任意の1つの領域は、同一の重み値を有してもよいし、異なる重み値を有してもよい。第1視差マップの第1重み分布マップ中の1つの領域が異なる重み値を有する場合、当該領域内の右側の重み値は、一般的に、当該領域内の左側の重み値よりも大きくない。オプションとして、
図7中の領域5の重み値は、0であってもよく、すなわち、第1視差マップにおいて、領域5に対応する視差は、完全に信頼できなく、領域4の重み値は、左側から右側に向かって0から徐々に増加されて0.5に接近されてもよく、領域3の重み値は、0.5であり、領域2の重み値は、左側から右側に向かって0.5よりも大きい数値から徐々に増加して1に接近されてもよく、領域1の重み値は、1であり、すなわち、第1視差マップにおいて、領域1に対応する視差は、完全に信頼できる。
【0046】
オプションとして、第3視差マップの第1重み分布マップは、少なくとも2つの左右に分列された領域を含み、互いに異なる領域は、互いに異なる重み値を有する。左側に位置する領域の重み値と右側に位置する領域の重み値との大きさ関係は、一般的に、処理待ち画像が処理待ち左眼画像とされるか、処理待ち右眼画像とされるかに、関連される。
【0047】
たとえば、処理待ち画像が左眼画像とされる場合、第3視差マップの第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きい。また、第3視差マップの第1重み分布マップ中の任意の1つの領域は、同一の重み値を有してもよいし、異なる重み値を有してもよい。第3視差マップの第1重み分布マップ中の1つの領域が異なる重み値を有する場合、当該領域内の左側の重み値は、一般的に、当該領域内の右側の重み値よりも大きくない。
【0048】
さらに、たとえば、処理待ち画像が右眼画像とされる場合、第3視差マップの第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きい。また、第3視差マップの第1重み分布マップ中の任意の1つの領域は、同一の重み値を有してもよいし、異なる重み値を有してもよい。第3視差マップの第1重み分布マップ中の1つの領域が異なる重み値を有する場合、当該領域内の右側の重み値は、一般的に、当該領域内の左側の重み値よりも大きくない。
【0049】
オプションとして、第1視差マップの第2重み分布マップの設定方式は、下記のステップを含んでもよい。
【0050】
まず、第1視差マップに対して水平ミラー処理を実行して(たとえば、左ミラー処理または右ミラー処理)、ミラー視差マップを形成する。説明の便利のために、以下、第4視差マップと呼ぶ。
【0051】
次に、第4視差マップ中の任意の1つのピクセル点の場合、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数よりも大きいと、処理待ち画像の第1視差マップの第2重み分布マップ中の当該ピクセル点の重み値を第1値に設定し、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数未満であると、当該ピクセル点の重み値が第2値に設定される。本発明の第1値は、第2値よりも大きい。たとえば、第1値は、1であり、第2値は、0である。
【0052】
オプションとして、第1視差マップの第2重み分布マップの1例は、
図8に示したようである。
図8中の白色領域の重み値は、いずれも、1であり、当該位置の視差値が完全に信頼できることを表す。
図8中の黒色領域の重み値は、0であり、当該位置の視差値が完全に信頼できないことを表す。
【0053】
オプションとして、本発明のピクセル点に対応する第1変数は、第1視差マップ中の該当するピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数であってもよい。たとえば、第1視差マップ中の該当するピクセル点の視差値とゼロよりも大きい定数値との積を、第4視差マップ中の該当するピクセル点に対応する第1変数としてもよい。
【0054】
オプションとして、第1視差マップの第2重み分布マップは、下記の式(1)を使用して表すことができる。
【数1】
【0055】
上記の式(1)において、Llは、第1視差マップの第2重み分布マップを表し、dl
flip’は、第4視差マップの該当するピクセル点の視差値を表し、dlは、第1視差マップ中の該当するピクセル点の視差値を表し、thresh1は、ゼロよりも大きい定数値を表し、thresh1の値の範囲は、1.1~1.5であってもよく、たとえばthresh1=1.2またはthresh2=1.25などである。
【0056】
オプションの1例において、第3視差マップの第2重み分布マップの設定方式は、第1視差マップ中の任意の1つのピクセル点の場合、第1視差マップ中の当該ピクセル点の視差値が当該ピクセル点に対応する第2変数よりも大きいと、第3視差マップの第2重み分布マップ中の当該ピクセル点の重み値を第1値に設定し、大きくないと、第2値に設定することであってもよい。オプションとして、本発明の第1値は、第2値よりも大きい。たとえば、第1値は、1であり、第2値は、0である。
【0057】
オプションとして、本発明のピクセル点に対応する第2変数は、第4視差マップ中の該当するピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数であってもよい。たとえば、まず、第1視差マップに対して左/右ミラー処理を実行して、ミラー視差マップすなわち第4視差マップを形成し、その後、第4視差マップ中の該当するピクセル点の視差値とゼロよりも大きい定数値との積を、第1視差マップ中の該当するピクセル点に対応する第2変数とする。
【0058】
オプションとして、本発明は、
図2の処理待ち画像に基づいて形成した第3視差マップの1例は、
図9に示したようである。
図9に示す第3視差マップの第2重み分布マップの1例は、
図10に示したようである。
図10中の白色領域の重み値は、いずれも、1であり、当該位置の視差値を完全に信頼できることを表す。
図10中の黒色領域の重み値は、0であり、当該位置の視差値を完全に信頼できないことを表す。
【0059】
オプションとして、第3視差マップの第2重み分布マップは、下記の式(2)を使用して表すことができる。
【数2】
【0060】
上記の式(2)において、Ll’は、第3視差マップの第2重み分布マップを表し、dl
flip’は、第4視差マップの該当するピクセル点の視差値を表し、dlは、第1視差マップ中の該当するピクセル点の視差値を表し、thresh2は、ゼロよりも大きい定数値を表し、thresh2の値の範囲は、1.1~1.5であってもよく、たとえばthresh2=1.2またはthresh2=1.25などである。
【0061】
ステップCにおいて、処理待ち画像の第1視差マップの重み分布マップ、および、第3視差マップの重み分布マップに基づいて、処理待ち画像の第1視差マップに対して最適化調整を実行し、最適化調整後の視差マップが最終に得られる処理待ち画像の視差マップである。
【0062】
オプションの1例において、本発明は、第1視差マップの第1重み分布マップおよび第2重み分布マップを利用して第1視差マップ中の複数の視差値に対して調整を実行して、調整後の第1視差マップを得、第3視差マップの第1重み分布マップおよび第2重み分布マップを利用して、第3視差マップ中の複数の視差値に対して調整を実行して、調整後の第3視差マップを得、その後、調整後の第1視差マップと調整後の第3視差マップとに対して合併処理を実行することによって、最適化調整後の処理待ち画像の第1視差マップを得ることができる。
【0063】
オプションとして、最適化調整後の処理待ち画像の第1視差マップを得る1例は、以下のとおりである。
【0064】
まず、第1視差マップの第1重み分布マップおよび第1視差マップの第2重み分布マップに対して合併処理を実行して、第3重み分布マップを得る。第3重み分布マップは、下記の式(3)を使用して表すことができる。
【数3】
【0065】
式(3)において、Wlは、第3重み分布マップを表し、Mlは、第1視差マップの第1重み分布マップを表し、Llは、第1視差マップの第2重み分布マップを表し、その中の0.5は、他の定数値に変換されてもよい。
【0066】
次に、第3視差マップの第1重み分布マップおよび第3視差マップの第2重み分布マップに対して合併処理を実行して、第4重み分布マップを得る。第4重み分布マップは、下記の式(4)を使用して表すことができる。
【数4】
【0067】
式(4)において、Wl’は、第4重み分布マップを表し、Ml’は、第3視差マップの第1重み分布マップを表し、Ll’は、第3視差マップの第2重み分布マップを表し、その中の0.5は、他の定数値に変換されてもよい。
【0068】
再度、第3重み分布マップに基づいて第1視差マップ中の複数の視差値を調整して、調整後の第1視差マップを得る。たとえば、第1視差マップ中の任意の1つのピクセル点の視差値の場合、当該ピクセル点の視差値を、当該ピクセル点の視差値と第3重み分布マップ中の該当する位置のピクセル点の重み値との積に置換する。第1視差マップ中のすべてのピクセル点に対して、いずれも、上記の置換処理を実行した後に、調整後の第1視差マップを得る。
【0069】
その後、第4重み分布マップに基づいて第3視差マップ中の複数の視差値を調整して、調整後の第3視差マップを得る。たとえば、第3視差マップ中の任意の1つのピクセル点の視差値の場合、当該ピクセル点の視差値を、当該ピクセル点の視差値と第4重み分布マップ中の該当する位置のピクセル点の重み値との積に置換する。第3視差マップ中のすべてのピクセル点に対して、いずれも、上記の置換処理を実行した後、調整後の第3視差マップを得る。
【0070】
最後に、調整後の第1視差マップと調整後の第3視差マップとを合併して、最終に処理待ち画像の視差マップ(すなわち最終の第1視差マップ)を得る。最終に得た処理待ち画像の視差マップは、下記の式(5)を使用して表すことができる。
【数5】
【0071】
式(5)において、d
finalは、最終に得た処理待ち画像の視差マップ(
図11中の右側の1番目のイメージに示したようである)を表し、W
lは、第3重み分布マップ(
図11中の左上の1番目のイメージに示したようである)を表し、W
l’は、第4重み分布マップ(
図11中の左下の1番目のイメージに示したようである)を表し、d
lは、第1視差マップ(
図11中の左上の2番目のイメージに示したようである)を表し、d
l
flip’は、第3視差マップ(
図11中の左下の2番目のイメージに示したようである)を表す。
【0072】
説明する必要があるのは、本発明は、第1重み分布マップおよび第2重み分布マップに対して合併処理を実行する2つのステップの実行順序を限定しなく、たとえば、2つの合併処理のステップを同時に実行してもよいし、前後に実行してもよい。また、本発明は、第1視差マップ中の視差値に対する調整の実行および第3視差マップ中の視差値に対する調整の実行の前後実行順序を限定しなく、たとえば、2つの調整のステップを同時に実行してもよいし、前後に実行してもよい。
【0073】
オプションとして、処理待ち画像が左眼画像とされる場合、一般的に、左側視差が失われたり、物体の左側エッジが遮られたりする現象が存在することになり、これら現象は、処理待ち画像の視差マップ中の該当する領域の視差値の不正確をもたらすことになる。同様に、処理待ち画像が処理待ち右眼画像とされる場合、一般的に、右側視差が失われたり、物体の右側エッジが遮られたりする現象が存在することになり、これら現象は、処理待ち画像の視差マップ中の該当する領域の視差値の不正確をもたらすことになる。本発明は、処理待ち画像に対して左/右ミラー処理を実行し、当該ミラー画像の視差マップに対してミラー処理を実行し、さらに、ミラー処理後の視差マップを利用して処理待ち画像の視差マップを最適化調整することによって、処理待ち画像の視差マップ中の該当する領域の視差値が不正確である現象を弱めるのに有益であり、したがって運動物体検出の精度の改善に有益である。
【0074】
オプションの1例において、処理待ち画像が両眼画像である適用シーンにおいて、本発明の処理待ち画像の第1視差マップを得る方式は、ステレオマッチングの方式を利用して処理待ち画像の第1視差マップを得ることを含むが、これらに限定されない。たとえば、BM(Block Matching、ブロックマッチング)アルゴリズム、SGBM(Semi-Global Block Matching、セミグローバルブロックマッチング)アルゴリズム、または、GC(Graph Cuts、グラミカット)アルゴリズムなどのステレオマッチングアルゴリズムを利用して、処理待ち画像の第1視差マップを得る。さらに、たとえば、両眼画像の視差マップを取得するための畳み込みニューラルネットワークを利用して、処理待ち画像に対して視差処理を実行することによって、処理待ち画像の第1視差マップを得る。
【0075】
オプションの1例において、本発明は、処理待ち画像の第1視差マップを得た後、下記の式(6)を利用して処理待ち画像中のピクセルの深度情報を得ることができる。
【数6】
【0076】
上記の式(6)において、Depthは、ピクセルの深度値を表し、fxは、既知値であり、撮影装置の水平方向(3次元座標系におけるX軸方向)における焦点距離を表し、bは、既知値であり、視差マップを得る畳み込みニューラルネットワークによって使用される両眼画像サンプルのベースライン(baseline)を表し、両眼撮影装置の標定パラメータに属し、Disparityは、ピクセルの視差を表す。
【0077】
S110において、処理待ち画像と参考画像との間の光流情報を取得する。
【0078】
オプションの1例において、本発明の処理待ち画像と参考画像は、同一の撮影装置の連続撮影(たとえば、複数の連続的な撮影または録画)過程で形成された時系列関係が存在する2つの画像であってもよい。2つの画像を形成する時間間隔は、一般的に、より短く、2つの画像の画面の内容のほとんどが同一になるように保証する。たとえば、2つの画像を形成する時間間隔は、隣接する2つのビデオフレームとの間の時間間隔であってもよい。さらに、たとえば、2つの画像を形成する時間間隔は、撮影装置の連続撮影モードの隣接する2つの写真同士の間の時間間隔であってもよい。オプションとして、処理待ち画像は、撮影装置によって撮影されたビデオ中の1つのビデオフレーム(たとえば、現在ビデオフレーム)であってもよく、処理待ち画像の参考画像は、当該ビデオ中のもう1つのビデオフレームであってもよく、たとえば、参考画像は、現在ビデオフレームの直前の1つのビデオフレームである。本発明は、参考画像が現在ビデオフレームの後の1つのビデオフレームの場合を除外しない。オプションとして、処理待ち画像は、撮影装置が連続撮影モードに従って撮影した複数の写真の中の1つの写真であってもよく、処理待ち画像の参考画像は、複数の写真の中のもう1つの写真であってもよく、たとえば処理待ち画像の直前の1つの写真または後の1つの写真などである。本発明の処理待ち画像と参考画像は、いずれも、RGB(Red Green Blue、赤緑青)画像などであってもよい。本発明の撮影装置は、移動物体上に装着された撮影装置であってもよく、たとえば、車両、列車、および、飛行機などの交通手段上に装着された撮影装置である。
【0079】
オプションの1例において、本発明の参考画像は、一般的に、単眼画像である。つまり、参考画像は、一般的に、単眼撮影装置を利用して撮影して得られた画像である。処理待ち画像と参考画像がいずれも単眼画像である場合、本発明は、両眼撮影装置を設ける必要なしに、運動物体検出を実現でき、したがって運動物体検出のコストの削減に有益である。
【0080】
オプションの1例において、本発明の処理待ち画像と参考画像との間の光流情報は、処理待ち画像と参考画像中のピクセルの2次元モーションフィールドであると見なしてもよく、光流情報は、ピクセルの3次元空間における本当の運動を表すことができない。本発明は、処理待ち画像と参考画像との間の光流情報を取得する過程において、撮影装置が処理待ち画像と参考画像を撮影するときのポーズ変化を導入することができ、すなわち、本発明は、撮影装置のポーズ変化情報に基づいて、処理待ち画像と参考画像との間の光流情報を取得することにより、得られた光流情報中の、撮影装置のポーズ変化による干渉の排除に有益である。本発明の撮影装置のポーズ変化情報に基づいて処理待ち画像と参考画像との間の光流情報を取得する方式は、以下のステップを含むことができる
【0081】
ステップ1において、撮影装置が処理待ち画像および参考画像を撮影するときのポーズ変化情報を取得する。
【0082】
オプションとして、本発明のポーズ変化情報とは、撮影装置が処理待ち画像を撮影するときのポーズと、参考画像を撮影するときのポーズと、の間の差異を示す。当該ポーズ変化情報は、3次元空間に基づくポーズ変化情報である。当該ポーズ変化情報は、撮影装置の平行移動情報と、撮影装置の回転情報と、を含む。その中の撮影装置の平行移動情報は、撮影装置の3つの座標軸(
図12に示す座標系)それぞれにおける変位量を含んでもよい。その中の撮影装置の回転情報は、Roll、Yaw、および、Pitchに基づく回転ベクトルであってもよい。つまり、撮影装置の回転情報は、Roll、Yaw、および、Pitchこの3つの回転方向の回転成分ベクトルであってもよい。
【0083】
たとえば、撮影装置の回転情報は、以下の式(7)で表すことができる。
【数7】
上記の式(7)において、
Rは、回転情報を表し、3×3のマトリックスであり、R
11は、cosαcosγ-cosβsinαsinγを表し、
R
12は、-cosβcosγsinα-cosαsinγを表し、R
13は、sinαsinβを表し、
R
21は、cosγsinα+cosαcosβsinγを表し、R
22は、cosαcosβcosγ-sinαsinγを表し、
R
23は、sinαsinβを表し、R
31は、sinβsinγを表し、R
32は、cosγsinβを表し、R
33は、cosβを表し、
オイラー角度(α,β,γ)は、Roll、Yaw、および、Pitchに基づく回転角を表す。
【0084】
オプションとして、本発明は、ビジョン技術を利用して、撮影装置が処理待ち画像および参考画像を撮影するときのポーズ変化情報を取得でき、たとえば、SLAM(Simultaneous Localization And Mapping、即時位置決めおよび地図構築)方式を利用して、ポーズ変化情報を取得する。さらに、本発明は、オープンソースORB(Oriented FAST and Rotated BRIEF、配向高速および回転ブリーフであり、記述子の一種である)-SLAMフレームワークのRGBD(Red Green Blue Detph)モデルを利用して、ポーズ変化情報を取得できる。たとえば、処理待ち画像(RGB画像)、処理待ち画像の深度図、および、参考画像(RGB画像)を、RGBDモデルに入力し、RGBDモデルの出力に基づいてポーズ変化情報を得る。また、本発明は、他の方式を利用してポーズ変化情報を得ることができ、たとえば、GPS(Global Positioning System、グローバルポジショニングシステム)と角速度センサとを利用して、ポーズ変化情報などを得る。
【0085】
オプションとして、本発明は、下記の式(8)に示す4×4の均質なマトリックスで、ポーズ変化情報を表すことができる。
【数8】
【0086】
上記の式(8)において、T
l
cは、撮影装置が処理待ち画像(たとえば、現在ビデオフレームc)と参考画像(たとえば、現在ビデオフレームcの直前の1つのビデオフレームl)とを撮影するときのポーズ変化情報を表し、たとえばポーズ変化マトリックスを表し、Rは、撮影装置の回転情報を表し、3×3のマトリックスであり、すなわち
であり、tは、撮影装置の平行移動情報を表し、すなわち平行移動ベクトルであり、tは、t
x、t
y、および、t
zの3つの平行移動成分を利用して表すことができ、t
xは、X軸方向における平行移動成分を表し、t
yは、Y軸方向における平行移動成分を表し、t
zは、Z軸方向における平行移動成分を表す。
【0087】
ステップ2において、ポーズ変化情報に基づいて、処理待ち画像中のピクセルのピクセル値と参考画像中のピクセルのピクセル値との間の対応関係を構築する。
【0088】
オプションとして、撮影装置が運動状態にある場合、撮影装置が処理待ち画像を撮影するときのポーズと参考画像を撮影するときのポーズは、一般的に、同一でなく、したがって、処理待ち画像に対応する3次元座標系(すなわち撮影装置が処理待ち画像を撮影するときの3次元座標系)と参考画像に対応する3次元座標系(すなわち撮影装置が参考画像を撮影するときの3次元座標系)は、同一ではない。本発明は、対応関係を構築するとき、まず、ピクセルの3次元空間位置に対して変換を実行して、処理待ち画像中のピクセルと参考画像中のピクセルとが同一の3次元座標系に位置するようにすることができる。
【0089】
オプションとして、本発明は、まず、上記の得られた深度情報および撮影装置のパラメータ(既知値)に基づいて、処理待ち画像中のピクセル(たとえば、すべてのピクセル)の、処理待ち画像に対応する撮影装置の3次元座標系における第1座標を取得できる。すなわち、本発明は、まず、処理待ち画像中のピクセルを3次元空間中に変換することによって、ピクセルの3次元空間における座標(すなわち3次元座標)を得ることができる。たとえば、本発明は、下記の式(9)を利用して処理待ち画像中の任意の1つのピクセルの3次元座標を得ることができる。
【数9】
【0090】
上記の式(9)において、Zは、ピクセルの深度値を表し、X、Y、および、Zは、ピクセルの3次元座標(すなわち第1座標)を表し、fxは、撮影装置の水平方向(3次元座標系におけるX軸方向)における焦点距離を表し、fyは、撮影装置の鉛直方向(3次元座標系におけるY軸方向)における焦点距離を表し、(u,v)は、ピクセルの処理待ち画像における2次元座標を表し、cx,cyは、撮影装置のイメージメイン点座標を表し、Disparityは、ピクセルの視差を表す。
【0091】
オプションとして、処理待ち画像中の任意の1つのピクセルがpi(ui,vi)で表され、複数のピクセルがいずれも3次元空間に変換された後、任意の1つのピクセルがでPi(Xi,Yi,Zi)表されると想定すると、3次元空間中の複数のピクセル(たとえば、すべてのピクセル)によって形成される3次元空間点セットは、{Pi
c}で表されることができる。ここで、Pi
cは、処理待ち画像中のi番目のピクセルの3次元座標を表し、すなわちPi(Xi,Yi,Zi)であり、cは、処理待ち画像を表し、iの値の範囲は、複数のピクセルの数と関連される。たとえば、複数のピクセルの数がN(Nは、1よりも大きい整数である)であると、iの値の範囲は、1からNまたは0からN-1であってもよい。
【0092】
オプションとして、処理待ち画像中の複数のピクセル(たとえば、すべてのピクセル)の第1座標を得た後、本発明は、上記のポーズ変化情報に基づいて、複数のピクセルの第1座標それぞれを、参考画像に対応する撮影装置の3次元座標系中に変換させて、複数のピクセルの第2座標を得ることができる。たとえば、本発明は、下記の式(10)を利用して処理待ち画像中の任意の1つのピクセルの第2座標を得ることができる。
【数10】
【0093】
上記の式(10)において、P
i
lは、処理待ち画像中のi番目のピクセルの第2座標を表し、T
l
cは、撮影装置が処理待ち画像(たとえば、現在ビデオフレームc)と参考画像(たとえば、現在ビデオフレームcの直前の1つのビデオフレームl)を撮影するときのポーズ変化情報を表し、たとえば、ポーズ変化マトリックス、すなわち
であり、P
i
cは、処理待ち画像中のi番目のピクセルの第1座標を表す。
【0094】
オプションとして、処理待ち画像中の複数のピクセルの第2座標を得た後、本発明は、2次元画像の2次元座標系に基づいて、複数のピクセルの第2座標に対して投影処理を実行することによって、参考画像に対応する3次元座標系に変換された処理待ち画像の投影2次元座標を得ることができる。たとえば、本発明は、下記の式(11)を利用して投影2次元座標を得ることができる。
【数11】
【0095】
上記の式(11)において、(u,v)は、処理待ち画像中のピクセルの投影2次元座標を表し、fxは、撮影装置の水平方向(3次元座標系におけるX軸方向)における焦点距離を表し、fyは、撮影装置の鉛直方向(3次元座標系におけるY軸方向)における焦点距離を表し、cx,cyは、撮影装置のイメージメイン点座標を表し、(X,Y,Z)は、処理待ち画像中のピクセルの第2座標を表す。
【0096】
オプションとして、処理待ち画像中のピクセルの投影2次元座標を得た後、本発明は、投影2次元座標および参考画像の2次元座標にもとづいて、処理待ち画像中のピクセルのピクセル値と参考画像中のピクセルのピクセル値との間の対応関係を構築することができる。当該対応関係は、投影2次元座標によって形成された画像中と参考画像中との同一位置上の任意の1つのピクセルの場合、当該ピクセルの処理待ち画像中のピクセル値、および、当該ピクセルの参考画像中のピクセル値を表すことができる。
【0097】
ステップ3において、上記の対応関係に基づいて、参考画像に対して変換処理を実行する。
【0098】
オプションとして、本発明は、上記の対応関係を利用して、参考画像に対してWarp(ワープ)処理を実行することによって、参考画像を処理待ち画像中に変換することができる。参考画像に対してWarp処理を実行する1例は、
図13に示したようである。
図13中の左側のイメージは、参考画像であり、
図13中の右側のイメージは、参考画像に対してWarp処理を実行した後に形成された画像である。
【0099】
ステップ4において、処理待ち画像と変換処理後の画像とに基づいて、処理待ち画像と参考画像との間の光流情報を計算する。
【0100】
オプションとして、本発明の光流情報は、高密度光流情報を含むが、これらに限定されない。たとえば、画像中のすべてのピクセル点に対して、いずれも、光流情報を計算する。本発明は、ビジョン技術を利用して、光流情報を取得でき、たとえば、OpenCV(Open Source Computer Vision Library、オープンソースコンピュータビジョンライブラリ)方式を利用して、光流情報を取得できる。さらに、本発明は、処理待ち画像と変換処理後の画像をOpenCVに基づくモデルに入力でき、当該モデルが、入力した2つの画像同士の間の光流情報を出力することによって、処理待ち画像と参考画像との間の光流情報を得ることができる。当該モデルが利用する光流情報を計算するアルゴリズムは、Gunnar Farneback(人の名前である)アルゴリズムを含むが、これらに限定されない。
【0101】
オプションとして、本発明によって得された処理待ち画像中の任意の1つのピクセルの光流情報がI
of(Δu,Δv)で表されると想定すると、当該ピクセルの光流情報は、一般的に、下記の式(12)に符合される。
【数12】
【0102】
上記の式(12)において、It(ut,vt)は、参考画像中の1ピクセルを表し、I(t+1)(u(t+1),v(t+1))は、処理待ち画像中の該当する位置のピクセルを表す。
【0103】
オプションとして、Warp処理後の参考画像(たとえば、Warp処理後の直前の1つのビデオフレーム)、処理待ち画像(たとえば、現在ビデオフレーム)、および、計算し得た光流情報は、
図14に示したようである。
図14中の上部のイメージは、Warp処理後の参考画像であり、
図14中の中部のイメージは、処理待ち画像であり、
図14中の下部のイメージは、処理待ち画像と参考画像との間の光流情報であり、すなわち処理待ち画像の参考画像に対する光流情報である。
図14中の縦線は、詳細な比較を便利にするために、後で追加したものである。
【0104】
S120において、深度情報および光流情報に基づいて、処理待ち画像中のピクセルの参考画像に対する3次元モーションフィールドを取得する。
【0105】
オプションの1例において、本発明は、深度情報および光流情報を得た後、深度情報および光流情報に基づいて、処理待ち画像中のピクセル(たとえば、すべてのピクセル)の参考画像に対する3次元モーションフィールド(処理待ち画像中のピクセルの3次元モーションフィールドと略称することができる)を取得ることができる。本発明の3次元モーションフィールドは、3次元空間中のシーン運動によって形成された3次元モーションフィールドであると見なすことができる。言い換えれば、処理待ち画像中のピクセルの3次元モーションフィールドは、処理待ち画像中のピクセルの、処理待ち画像と参考画像との間の3次元空間変位であると見なすことができる。3次元モーションフィールドは、シーンフロー(Scene Flow)を使用して表すことができる。
【0106】
オプションとして、本発明は、下記の式(13)を使用して処理待ち画像中の複数のピクセルのシーンフローを得ることができる。
【数13】
【0107】
上記の式(13)において、(ΔX,ΔY,ΔZ)は、処理待ち画像中の任意の1つのピクセルの、3次元座標系の3つの座標軸方向上の変位を表し、ΔIdepthは、当該ピクセルの深度値を表し、(Δu,Δv)は、当該ピクセルの光流情報を表し、すなわち当該ピクセルの、処理待ち画像と参考画像との間の2次元画像中の変位を表し、fxは、撮影装置の水平方向(3次元座標系におけるX軸方向)における焦点距離を表し、fyは、撮影装置の鉛直方向(3次元座標系におけるY軸方向)における焦点距離を表し、cx,cyは、撮影装置のイメージメイン点座標を表す。
【0108】
S130において、3次元モーションフィールドに基づいて、処理待ち画像中の運動物体を確定する。
【0109】
オプションの1例において、本発明は、3次元モーションフィールドに基づいて、処理待ち画像中の物体の3次元空間における運動情報を確定できる。物体の3次元空間における運動情報は、当該物体が運動物体であるか否かを表すことができる。オプションとして、本発明は、まず、3次元モーションフィールドに基づいて、処理待ち画像中のピクセルの3次元空間における運動情報を取得し、その後、ピクセルの3次元空間における運動情報に基づいて、ピクセルに対してクラスタリング処理を実行し、最後に、クラスタリング処理の結果に基づいて、処理待ち画像中の物体の3次元空間における運動情報を確定することによって、処理待ち画像中の運動物体を確定することができる。
【0110】
オプションの1例において、処理待ち画像中のピクセルの3次元空間における運動情報は、処理待ち画像中の複数のピクセル(たとえば、すべてのピクセル)の3次元空間における速度を含んでもよいが、これらに限定されない。ここでの速度は、一般的に、ベクトルの形式であり、すなわち、本発明のピクセルの速度は、ピクセルの速度大きさとピクセルの速度方向とを反映することができる。本発明は、3次元モーションフィールドを利用して、処理待ち画像中のピクセルの3次元空間における運動情報を便利に得ることができる。
【0111】
オプションの1例において、本発明の3次元空間は、3次元座標系に基づく3次元空間を含む。その中の3次元座標系は、処理待ち画像を撮影する撮影装置の3次元座標系であってもよい。当該3次元座標系のZ軸は、一般的に、撮影装置の光軸であり、すなわち深度方向である。撮影装置を車両上に装着する適用シーンの場合、本発明の3次元座標系のX軸、Y軸、Z軸、および、原点の1例は、
図12に示したようである。
図12の車両自身の角度の場合(すなわち車両の前方を向かう角度の場合)、X軸は、水平の右方を向き、Y軸は、車両の下方を向き、Z軸は、車両の前方を向き、3次元座標系の原点は、撮影装置の光学中心位置に位置する。
【0112】
オプションの1例において、本発明は、3次元モーションフィールド、および、撮影装置が処理待ち画像と参考画像とを撮影する時間の間の時間差Δtに基づいて、処理待ち画像中のピクセルの、処理待ち画像に対応する撮影装置の3次元座標系の3つの座標軸方向上の速度を計算することができる。さらに、本発明は、下記の式(14)によって速度を得ることができる。
【数14】
【0113】
上記の式(14)において、vx、vy、および、vzは、それぞれ、処理待ち画像中の任意の1つのピクセルの、処理待ち画像に対応する撮影装置の3次元座標系の3つの座標軸方向上の速度を表し、(ΔX,ΔY,ΔZ)は、処理待ち画像中の当該ピクセルの、処理待ち画像に対応する撮影装置の3次元座標系の3つの座標軸方向上の変位を表し、Δtは、撮影装置が処理待ち画像と参考画像とを撮影する時間の間の時間差を表す。
【0114】
上記の速度の速度大きさ|v|は、下記の式(15)に示す形式で表すことができる。
【数15】
【0115】
上記の速度の速度方向
は、下記の式(16)に示す形式で表すことができる。
【数16】
【0116】
オプションの1例において、本発明は、まず、処理待ち画像中の運動領域を確定し、運動領域中のピクセルに対してクラスタリング処理を実行することができる。たとえば、運動領域中のピクセルの3次元空間における運動情報に基づいて、運動領域中のピクセルに対してクラスタリング処理を実行する。さらに、たとえば、運動領域中のピクセルの3次元空間における運動情報、および、ピクセルの3次元空間における位置に基づいて、運動領域中のピクセルに対してクラスタリング処理を実行する。オプションとして、本発明は、運動マスクを利用して処理待ち画像中の運動領域を確定することができる。たとえば、本発明は、ピクセルの3次元空間における運動情報に基づいて、処理待ち画像の運動マスク(Motion Mask)を取得ることができる。
【0117】
オプションとして、本発明は、所定の速度閾値に基づいて、処理待ち画像中の複数のピクセル(たとえば、すべてのピクセル)の速度大きさに対してフィルタリング処理を実行することによって、フィルタリング処理の結果に基づいて、処理待ち画像の運動マスクを形成することができる。たとえば、本発明は、下記の式(17)を利用して処理待ち画像の運動マスクを得ることができる。
【数17】
【0118】
上記の式(17)において、Imotionは、運動マスク中の1つのピクセルを表し、当該ピクセルの速度大きさ|v|が所定の速度閾値v_thresh以上であると、当該ピクセルの値は、1であり、当該ピクセルが処理待ち画像中の運動領域に属することを表し、以上ではないと、当該ピクセルの値は、0であり、当該ピクセルが処理待ち画像中の運動領域に属しないことを表す。
【0119】
オプションとして、本発明は、運動マスク中の値が1であるピクセルから構成された領域を運動領域と呼ぶことができ、運動マスクの大きさと処理待ち画像の大きさとが同一である。したがって、本発明は、運動マスク中の運動領域に基づいて処理待ち画像中の運動領域を確定することができる。本発明の運動マスクの1例は、
図15に示したようである。
図15の下部のイメージは、処理待ち画像であり、
図15上部のイメージは、処理待ち画像の運動マスクであり。上部のイメージ中の黒色部分は、非運動領域であり、上部のイメージ中の灰色部分は、運動領域である。上部のイメージ中の運動領域と下部のイメージ中の運動物体とは、基本的に符合される。また、深度情報、ポーズ変化情報、および、計算光流情報を取得する技術の向上に伴い、本発明の処理待ち画像中の運動領域を確定する精度も向上されることになる。
【0120】
オプションの1例において、本発明は、運動領域中のピクセルの3次元空間位置情報と運動情報とに基づいて、クラスタリング処理を実行するとき、まず、運動領域中のピクセルの3次元空間位置情報および運動情報に対してそれぞれ標準化処理を実行することによって、運動領域中のピクセルの3次元空間座標値が所定の座標区間(たとえば、[0、1])に転換され、運動領域中のピクセルの速度が所定の速度区間(たとえば、[0、1])に転換されるようにする。その後、転換後の3次元空間座標値および速度を利用して、密度クラスタリング処理を実行することによって、少なくとも1つのクラスクラスタを得る。
【0121】
オプションとして、本発明の標準化処理は、min-max(最小-最大)標準化処理、および、Z-score(スコア)標準化処理などを含むが、これらに限定されない。
【0122】
たとえば、運動領域中のピクセルの3次元空間位置情報に対してmin-max標準化処理を実行することは、下記の式(18)によって表され、運動領域中のピクセルの運動情報に対してmin-max標準化処理を実行することは、下記の式(19)によって表されることができる。
【数18】
【0123】
上記の式(18)において、(X,Y,Z)は、処理待ち画像中の運動領域中の1ピクセルの3次元空間位置情報を表し、(X
*,Y
*,Z
*)は、当該ピクセルの標準化処理後のピクセルの3次元空間位置情報を表し、(X
min,Y
min,Z
min)は、運動領域中のすべてのピクセルの3次元空間位置情報中の最小X座標、最小Y座標、および、最小Z座標を表し、(X
max,Y
max,Z
max)は、運動領域中のすべてのピクセルの3次元空間位置情報中の最大X座標、最大Y座標、および、最大Z座標を表す。
【数19】
【0124】
上記の式(19)において、(vx,vy,vz)は、運動領域中のピクセルの3次元空間における3つの座標軸方向の速度を表し、(vx
*,vy
*,vz
*)は、(vx,vy,vz)に対してmin-max標準化処理を実行した後の速度を表し、(vxmin,vymin,vzmin)は、運動領域中のすべてのピクセルの3次元空間における3つの座標軸方向の最小速度を表し、(vxmax,vymax,vzmax)は、運動領域中のすべてのピクセルの3次元空間における3つの座標軸方向の最大速度を表す。
【0125】
オプションの1例において、本発明は、クラスタリング処理で利用するクラスタリングアルゴリズムは、密度クラスタリングアルゴリズムを含むが、これらに限定されない。たとえば、DBSCAN(Density-Based Spatial Clustering of Applications with Noise、ノイズを有する密度に基づくクラスタリング方法)などを含むが、これらに限定されない。クラスタリングによって得られた各クラスクラスタは、1つの運動物体の実例に対応し、すなわち、各クラスクラスタをいずれも処理待ち画像中の1つの運動物体とすることができる。
【0126】
オプションの1例において、任意の1つのクラスクラスタの場合、本発明は、当該クラスクラスタ中の複数のピクセル(たとえば、すべてのピクセル)の速度大きさと速度方向とに基づいて、当該クラスクラスタに対応する運動物体の実例の速度大きさと速度方向とを確定することができる。オプションとして、本発明は、当該クラスクラスタ中のすべてのピクセルの平均速度大きさおよび平均方向を利用して、当該クラスクラスタに対応する運動物体の実例の速度大きさと方向を表すことができる。たとえば、本発明は、下記の式(20)を使用して1つのクラスクラスタに対応する運動物体の実例の速度大きさと方向を表すことができる。
【数20】
【0127】
上記の式(20)において、|v
o|は、クラスタリング処理によって得られた1つのクラスクラスタに対応する運動物体の実例の速度大きさを表し、|v
i|は、当該クラスクラスタ中のi番目のピクセルの速度大きさを表し、nは、当該クラスクラスタに含まれたピクセルの数を表し、
は、1つのクラスクラスタに対応する運動物体の実例の速度方向を表し、
は、当該クラスクラスタ中のi番目のピクセルの速度方向を表す。
【0128】
オプションの1例において、本発明は、さらに、同一のクラスクラスタに属する複数のピクセル(たとえば、すべてのピクセル)の2次元画像における位置情報(すなわち処理待ち画像中の2次元座標)に基づいて、当該クラスクラスタに対応する運動物体の実例の処理待ち画像における運動物体検出枠(Bounding-Box)を確定することができる。たとえば、1つのクラスクラスタの場合、本発明は、当該クラスクラスタ中のすべてのピクセルの処理待ち画像における最大列座標umaxおよび最小列座標uminを計算し、当該クラスクラスタ中のすべてのピクセルの最大行座標vmaxおよび最小行座標vmin(画像座標系の原点が画像の左上の角部に位置すると想定する)を計算する。本発明によって得られた運動物体検出枠の処理待ち画像における座標は、(umin、vmin、umax、vmax)で表すことができる。
【0129】
オプションとして、本発明によって確定された処理待ち画像中の運動物体検出枠の1例は、
図16中の下図に示したようである。運動マスク中で運動物体検出枠を反映すると、
図16中の上図に示したようである。
図16の上部のイメージと下部のイメージ中の複数の長方形枠は、いずれも、本発明によって得られた運動物体検出枠である。
【0130】
オプションの1例において、本発明は、さらに、同一のクラスクラスタに属する複数のピクセルの3次元空間における位置情報に基づいて、運動物体の3次元空間における位置情報を確定することができる。運動物体の3次元空間における位置情報は、運動物体の水平方向座標軸(X座標軸)における座標、運動物体の深度方向座標軸(Z座標軸)における座標、および、運動物体の鉛直方向における高さ(すなわち運動物体の高さ)などを含むが、これらに限定されない。
【0131】
オプションとして、本発明は、まず、同一のクラスクラスタに属するすべてのピクセルの3次元空間における位置情報に基づいて、当該クラスクラスタ中のすべてのピクセルと撮影装置との間の距離を確定し、その後、距離が一番近いピクセルの3次元空間における位置情報を、運動物体の3次元空間における位置情報とすることができる。
【0132】
オプションとして、本発明は、下記の式(21)を利用して1つのクラスクラスタ中の複数のピクセルと撮影装置との間の距離を計算し、最小距離を選択することができる。
【数21】
【0133】
上記の式(21)において、dminは、最小距離を表し、Xiは、1つのクラスクラスタ中のi番目のピクセルのX座標を表し、Ziは、1つのクラスクラスタ中のi番目のピクセルのZ座標を表す。
【0134】
最小距離が確定された後、当該最小距離を有するピクセルのX座標とZ座標とを、当該運動物体の3次元空間における位置情報とすることができ、下記の式(22)に示したようである。
【数22】
【0135】
上記の式(22)において、OXは、運動物体の水平方向座標軸における座標を表し、すなわち運動物体のX座標を表し、OZは、運動物体の深度方向座標軸(Z座標軸)における座標を表し、すなわち運動物体のZ座標を表し、Xcloseは、上記の計算された最小距離を有するピクセルのX座標を表し、Zcloseは、上記の計算された最小距離を有するピクセルのZ座標を表す。
【0136】
オプションとして、本発明は、下記の式(23)を利用して運動物体の高さを計算することができる。
【数23】
【0137】
上記の式(23)において、OHは、運動物体の3次元空間における高さを表し、Ymaxは、1つのクラスクラスタ中のすべてのピクセルの3次元空間における最大Y座標を表し、Yminは、1つのクラスクラスタ中のすべてのピクセルの3次元空間における最小Y座標を表す。
【0138】
本発明のトレーニング畳み込みニューラルネットワークの一実施形態の流れは、
図17に示したようである。
【0139】
S1700において、両眼画像サンプル中の一眼画像サンプルをトレーニング待ちの畳み込みニューラルネットワーク中に入力する。
【0140】
オプションとして、本発明は、畳み込みニューラルネットワーク中に入力する画像サンプルは、常に、両眼画像サンプルの左眼画像サンプルであってもよいし、常に、両眼画像サンプルの右眼画像サンプルであってもよい。畳み込みニューラルネットワーク中に入力する画像サンプルが常に両眼画像サンプルの左眼画像サンプルである場合、トレーニングできた後の畳み込みニューラルネットワークは、テストまたは実際の適用シーンにおいて、入力された処理待ち画像を処理待ち左眼画像とすることになる。畳み込みニューラルネットワーク中に入力する画像サンプルが常に両眼画像サンプルの右眼画像サンプルである場合、トレーニングできた後の畳み込みニューラルネットワークは、テストまたは実際の適用シーンにおいて、入力された処理待ち画像を処理待ち右眼画像とすることになる。
【0141】
S1710において、畳み込みニューラルネットワークを利用して視差分析処理を実行し、当該畳み込みニューラルネットワークの出力に基づいて、左眼画像サンプルの視差マップおよび右眼画像サンプルの視差マップを得る。
【0142】
S1720において、左眼画像サンプルおよび右眼画像サンプルの視差マップに基づいて右眼画像を再構築する。
【0143】
オプションとして、本発明右眼画像を再構築する方式は、左眼画像サンプルおよび右眼画像サンプルの視差マップに対して再投影計算を実行することによって、再構築された右眼画像を得ることを含むが、これらに限定されない。
【0144】
S1730において、右眼画像サンプルおよび左眼画像サンプルの視差マップに基づいて左眼画像を再構築する。
【0145】
オプションとして、本発明左眼画像を再構築する方式は、右眼画像サンプルおよび左眼画像サンプルの視差マップに対して再投影計算を実行することによって、再構築された左眼画像を得ることを含むが、これらに限定されない。
【0146】
S1740において、再構築した左眼画像と左眼画像サンプルとの間の差異、および、再構築した右眼画像と右眼画像サンプルとの間の差異に基づいて、畳み込みニューラルネットワークのネットワークパラメータを調整する。
【0147】
オプションとして、本発明は、差異を確定するときに、使用する損失関数は、L1損失関数、smooth損失関数、および、lr-Consistency損失関数などを含むが、これらに限定されない。また、本発明は、計算された損失を逆方向伝播して、畳み込みニューラルネットワークのネットワークパラメータを調整する(たとえば、畳み込みカーネルの重み値)ときに、畳み込みニューラルネットワークの連鎖導出によって計算された勾配に基づいて、損失を逆方向伝播することによって、畳み込みニューラルネットワークのトレーニング効率の改善に有益である。
【0148】
オプションの1例において、畳み込みニューラルネットワークに対するトレーニングが所定の反復条件に達すると、今回のトレーニング過程が終了される。本発明の所定の反復条件は、畳み込みニューラルネットワークによって出力された視差マップに基づいて再構築した左眼画像と左眼画像サンプルとの間の差異、および、畳み込みニューラルネットワークによって出力された視差マップに基づいて再構築した右眼画像と右眼画像サンプルとの間の差異が、所定の差異要求を満たすことを含んでもよい。当該差異が要求を満たす場合、今回の畳み込みニューラルネットワークに対するトレーニングが正常に完成される。本発明の所定の反復条件は、畳み込みニューラルネットワークに対してトレーニングを実行するのに使用された両眼画像サンプルの数が所定の数要求に達したことなどを含んでもよい。使用された両眼画像サンプルの数が所定の数要求に達したが、畳み込みニューラルネットワークによって出力された視差マップに基づいて再構築した左眼画像と左眼画像サンプルとの間の差異、および、畳み込みニューラルネットワークによって出力された視差マップに基づいて再構築した右眼画像と右眼画像サンプルとの間の差異が、所定の差異要求を満たさない場合、今回の畳み込みニューラルネットワークに対するトレーニングが正常に完成されなかった。
【0149】
図18は、本発明のスマート運転制御方法の1実施例のフローチャートである。本発明のスマート運転制御方法は、自律運転(たとえば、完全に人によって支援されていない自律運転)環境または支援運転環境に適用されるが、これらに限定されない。
【0150】
S1800において、車両に設けられた撮影装置を通じて車両が位置している道路のビデオストリームを取得する。当該撮影装置は、RGBに基づく撮影装置などを含むが、これらに限定されない。
【0151】
S1810において、ビデオストリームに含まれた少なくとも1つのビデオフレームに対して運動物体検出を実行して、ビデオフレーム中の運動物体を得、たとえば、ビデオフレーム中の物体の3次元空間における運動情報を得る。本ステップの具体的な実現過程は、上記の方法の実施形態中の
図1に対する説明を参照することができ、ここでは再度詳細に説明しない。
【0152】
S1820において、ビデオフレーム中の運動物体に基づいて車両の制御命令を生成して出力する。たとえば、ビデオフレーム中の物体の3次元空間における運動情報に基づいて車両の制御命令を生成して出力することによって、車両を制御する。
【0153】
オプションとして、本発明の生成される制御命令は、速度維持制御命令、速度調整制御命令(たとえば、減速走行命令、加速走行命令など)、方向維持制御命令、方向調整制御命令(たとえば、左操舵命令、右操舵命令、左車線合流命令、または、右車線合流命令など)、ホイッスル命令、警告プロンプト制御命令、または、運転モード切替制御命令(たとえば、自動巡航運転モードへの切り替えなど)を含むが、これらに限定されない。
【0154】
特に説明する必要があるのは、本発明の運動物体検出技術は、スマート運転制御分野に加えて、たとえば、工業製造での運動物体検出、スーパーマーケットなどの室内の分野での運動物体検出、および、セキュリティ分野での運動物体検出などの、他の分野にも適用され得、本発明は運動物体検出技術の適用シーンに対して限定しない。
【0155】
本発明によって提供される運動物体検出装置は、
図19に示したようである。
図19に示す装置は、第1取得モジュール1900と、第2取得モジュール1910と、第3取得モジュール1920と、運動物体確定モジュール1930と、を備える。オプションとして、当該装置は、トレーニングモジュールをさらに備えてもよい。
【0156】
第1取得モジュール1900は、処理待ち画像中のピクセルの深度情報を取得する。オプションとして、第1取得モジュール1900は、第1サブモジュールと第2サブモジュールとを備えてもよい。第1サブモジュールは、処理待ち画像の第1視差マップを取得する。第2サブモジュールは、処理待ち画像の第1視差マップに基づいて、処理待ち画像中のピクセルの深度情報を取得する。オプションとして、本発明の処理待ち画像は、単眼画像を含む。第1サブモジュールは、第1ユニットと、第2ユニットと、第3ユニットと、を備える。その中の第1ユニットは、処理待ち画像を畳み込みニューラルネットワーク中に入力し、畳み込みニューラルネットワークを利用して視差分析処理を実行し、畳み込みニューラルネットワークの出力に基づいて、処理待ち画像の第1視差マップを得る。ここで、前記畳み込みニューラルネットワークは、トレーニングモジュールが両眼画像サンプルを利用してトレーニングして得たものである。その中の第2ユニットは、処理待ち画像の第1水平ミラー画像の第2視差マップの第2水平ミラー画像を取得し、処理待ち画像の第1水平ミラー画像は、処理待ち画像に対して水平方向のミラー処理を実行して形成されたミラー画像であり、第2視差マップの第2水平ミラー画像は、第2視差マップに対して水平方向のミラー処理を実行して形成されたミラー画像である。その中の第3ユニットは、処理待ち画像の第1視差マップの重み分布マップ、および、第2視差マップの第2水平ミラー画像の重み分布マップに基づいて、処理待ち画像の第1視差マップに対して視差調整を実行して、最終に、処理待ち画像の第1視差マップを得る。
【0157】
オプションとして、第2ユニットは、処理待ち画像の第1水平ミラー画像を畳み込みニューラルネットワーク中に入力し、畳み込みニューラルネットワークを利用して視差分析処理を実行し、ニューラルネットワークの出力に基づいて、処理待ち画像の第1水平ミラー画像の第2視差マップを得ることができ、第2ユニットは、処理待ち画像の第1水平ミラー画像の第2視差マップに対してミラー処理を実行して、処理待ち画像の第1水平ミラー画像の第2視差マップの第2水平ミラー画像を得ることができる。
【0158】
オプションとして、本発明の重み分布マップは、第1重み分布マップと第2重み分布マップとの中の少なくとも1つを含み、第1重み分布マップは、複数の処理待ち画像に対して統一的に設定した重み分布マップであり、第2重み分布マップは、互いに異なる処理待ち画像に対して個別的に設定した重み分布マップである。第1重み分布マップは、少なくとも2つの左右に分列された領域を含み、互いに異なる領域は、互いに異なる重み値を有する。
【0159】
処理待ち画像を左眼画像として利用される場合、処理待ち画像の第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きく、第2視差マップの第2水平ミラー画像の第1重み分布マップ中の任意の2つの領域の場合、右側に位置する領域の重み値が、左側に位置する領域の重み値よりも大きい。処理待ち画像の第1視差マップの第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の左側部分の重み値が、当該領域中の右側部分の重み値以下であり、第2視差マップの第2水平ミラー画像の第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の左側部分の重み値が、当該領域中の右側部分の重み値以下である。
【0160】
処理待ち画像を右眼画像として利用される場合、処理待ち画像の第1視差マップの第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きく、第2視差マップの第2水平ミラー画像の第1重み分布マップ中の任意の2つの領域の場合、左側に位置する領域の重み値は、右側に位置する領域の重み値よりも大きい。処理待ち画像の第1視差マップの第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の右側部分の重み値が、当該領域中の左側部分の重み値以下であり、第2視差マップの第2水平ミラー画像の第1重み分布マップ中の少なくとも1つの領域の場合、当該領域中の右側部分の重み値が、当該領域中の左側部分の重み値以下である。
【0161】
オプションとして、第3ユニットは、さらに、処理待ち画像の第1視差マップの第2重み分布マップを設定し、たとえば、第3ユニットは、処理待ち画像の第1視差マップに対して水平ミラー処理を実行して、ミラー視差マップを形成し、ミラー視差マップ中の任意の1つのピクセル点の場合、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数よりも大きいと、処理待ち画像の第2重み分布マップ中の当該ピクセル点の重み値第1値に設定し、当該ピクセル点の視差値が当該ピクセル点に対応する第1変数未満であると、第2値に設定し、ここで、第1値は、第2値よりも大きい。ここで、ピクセル点に対応する第1変数は、処理待ち画像の第1視差マップ中の当該ピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数である。
【0162】
オプションとして、第3ユニットは、さらに、第2視差マップの第2水平ミラー画像の第2重み分布マップを設定し、たとえば、第2視差マップの第2水平ミラー画像中の任意の1つのピクセル点の場合、処理待ち画像の第1視差マップ中の当該ピクセル点の視差値が当該ピクセル点に対応する第2変数よりも大きいと、第3ユニットは、第2視差マップの第2水平ミラー画像の第2重み分布マップ中の当該ピクセル点の重み値を第1値に設定し、処理待ち画像の第1視差マップ中の当該ピクセル点の視差値が当該ピクセル点に対応する第2変数未満であると、第3ユニットは、第2視差マップの第2水平ミラー画像の第2重み分布マップ中の当該ピクセル点の重み値を第2値に設定し、ここで、第1値は、第2値よりも大きい。ここで、ピクセル点に対応する第2変数は、処理待ち画像の第1視差マップの水平ミラー画像中の該当するピクセル点の視差値、および、ゼロよりも大きい定数値に基づいて、設定された変数である。
【0163】
オプションとして、第3ユニットは、さらに、まず、処理待ち画像の第1視差マップの第1重み分布マップおよび第2重み分布マップに基づいて、処理待ち画像の第1視差マップ中の視差値を調整し、その後、第2視差マップの第2水平ミラー画像の第1重み分布マップおよび第2重み分布マップに基づいて、第2視差マップの第2水平ミラー画像中の視差値を調整し、最後に、視差値調整後の第1視差マップと視差値調整後の第2水平ミラー画像とを合併して、最終に、処理待ち画像の第1視差マップを得ることができる。第1取得モジュール1900および当該モジュールが備える各サブモジュールとユニットの具体的に実行する操作は、上記のS100に対する説明を参照すればよく、ここでは再度詳細に説明しない。
【0164】
第2取得モジュール1910は、処理待ち画像と参考画像との間の光流情報を取得する。その中の参考画像と処理待ち画像は、撮影装置の連続撮影によって得られた、時系列関係を有する2つの画像である。たとえば、処理待ち画像は、撮影装置によって撮影されたビデオ中の1つのビデオフレームであり、処理待ち画像の参考画像は、ビデオフレームの直前の1つのビデオフレームを含む。
【0165】
オプションとして、第2取得モジュール1910は、第3サブモジュールと、第4サブモジュールと、第5サブモジュールと、第6サブモジュールと、を備えてもよい。その中の第3サブモジュールは、撮影装置によって撮影された処理待ち画像と参考画像とのポーズ変化情報を取得し、第4サブモジュールは、ポーズ変化情報に基づいて、処理待ち画像中のピクセルのピクセル値と参考画像中のピクセルのピクセル値との間の対応関係を構築し、第5サブモジュールは、上記の対応関係に基づいて、参考画像に対して変換処理を実行し、第6サブモジュールは、処理待ち画像および変換処理後の参考画像に基づいて、処理待ち画像と参考画像との間の光流情報を計算する。その中の第4サブモジュールは、まず、深度情報および撮影装置の所定のパラメータに基づいて、処理待ち画像中のピクセルの、処理待ち画像に対応する撮影装置の3次元座標系における第1座標を取得し、その後、ポーズ変化情報に基づいて、第1座標を、前記参考画像に対応する撮影装置の3次元座標系における第2座標に変換し、その後、2次元画像の2次元座標系に基づいて、第2座標に対して投影処理を実行して、処理待ち画像の投影2次元座標を得、最後に、処理待ち画像の投影2次元座標および参考画像の2次元座標に基づいて、処理待ち画像中のピクセルのピクセル値と参考画像中のピクセルのピクセル値との間の対応関係を構築することができる。第2取得モジュール1910および当該モジュールが備える各サブモジュールとユニットの具体的に実行する操作は、S110に対する説明を参照すればよく、ここでは再度詳細に説明しない。
【0166】
第3取得モジュール1920は、深度情報および光流情報に基づいて、処理待ち画像中のピクセルの参考画像に対する3次元モーションフィールドを取得する。第3取得モジュール1920の具体的に実行する操作は、上記のS120に対する説明を参照すればよく、ここでは再度詳細に説明しない。
【0167】
運動物体確定モジュール1930は、3次元モーションフィールドに基づいて、処理待ち画像中の運動物体を確定する。オプションとして、運動物体確定モジュールは、第7サブモジュールと、第8サブモジュールと、第9サブモジュールと、を備えてもよい。第7サブモジュールは、3次元モーションフィールドに基づいて、処理待ち画像中のピクセルの3次元空間における運動情報を取得する。たとえば、第7サブモジュールは、3次元モーションフィールド、および、撮影処理待ち画像と参考画像との間の時間差に基づいて、処理待ち画像中のピクセルの、処理待ち画像に対応する撮影装置の3次元座標系の3つの座標軸方向上の速度を計算することができる。第8サブモジュールは、ピクセルの3次元空間における運動情報に基づいてピクセルに対してクラスタリング処理を実行する。たとえば、第8サブモジュールは、第4ユニットと、第5ユニットと、第6ユニットと、を備える。第4ユニットは、ピクセルの3次元空間における運動情報に基づいて、処理待ち画像の運動マスクを取得する。その中のピクセルの3次元空間における運動情報は、ピクセルの3次元空間における速度大きさを含み、第4ユニットは、所定の速度閾値に基づいて、処理待ち画像に対して中のピクセルの速度大きさフィルタリング処理を実行して、処理待ち画像の運動マスクを形成することができる。第5ユニットは、運動マスクに基づいて、処理待ち画像中の運動領域を確定する。第6ユニットは、運動領域中のピクセルの3次元空間位置情報と運動情報とに基づいて、運動領域中のピクセルに対してクラスタリング処理を実行する。たとえば、第6ユニットは、運動領域中のピクセルの3次元空間座標値を所定の座標区間に転換し、その後、運動領域中のピクセルの速度を所定の速度区間に転換し、最後に、転換後の3次元空間座標値および転換後の速度に基づいて、運動領域中のピクセルに対して密度クラスタリング処理を実行して、少なくとも1つのクラスクラスタを得ることができる。第9サブモジュールは、クラスタリング処理の結果に基づいて、処理待ち画像中の運動物体を確定する。たとえば、任意の1つのクラスクラスタに対して、第9サブモジュールは、当該クラスクラスタ中の複数のピクセルの速度大きさと速度方向とに基づいて、運動物体の速度大きさと速度方向とを確定することができ、ここで、1つのクラスクラスタが、処理待ち画像中の1つの運動物体とされる。第9サブモジュールは、さらに、同一のクラスクラスタに属するピクセルの空間位置情報に基づいて、処理待ち画像中の運動物体検出枠を確定する。運動物体確定モジュール1930および当該モジュールが備える各サブモジュールとユニットの具体的に実行する操作は、上記のS130に対する説明を参照すればよく、ここでは再度詳細に説明しない。
【0168】
トレーニングモジュールは、両眼画像サンプル中の一眼画像サンプルをトレーニング待ちの畳み込みニューラルネットワーク中に入力し、畳み込みニューラルネットワークを利用して視差分析処理を実行し、畳み込みニューラルネットワークの出力に基づいて、左眼画像サンプルの視差マップおよび右眼画像サンプルの視差マップを得、左眼画像サンプルおよび右眼画像サンプルの視差マップに基づいて右眼画像を再構築し、右眼画像サンプルおよび左眼画像サンプルの視差マップに基づいて左眼画像を再構築し、再構築した左眼画像と左眼画像サンプルとの間の差異、および、再構築した右眼画像と右眼画像サンプルとの間の差異に基づいて、畳み込みニューラルネットワークのネットワークパラメータを調整する。トレーニングモジュールが実行する具体的な操作は、上記の
図17に対する説明を参照すればよく、ここでは再度詳細に説明しない。
【0169】
本発明によって提供されるスマート運転制御装置は、
図20に示したようである。
図20に示す装置は、第4取得モジュール2000と、運動物体検出装置2010と、制御モジュール2020と、備える。その中の第4取得モジュール2000は、車両に設けられた撮影装置を通じて車両が位置している道路のビデオストリームを取得する。運動物体検出装置2010は、ビデオストリームに含まれた少なくとも1つのビデオフレームに対して運動物体検出を実行して、当該ビデオフレーム中の運動物体を確定する。運動物体検出装置2010の構成、および、各モジュール、サブモジュール、及びユニットの具体的に実行する操作は、上記の
図19に対する説明を参照すればよく、ここでは再度詳細に説明しない。制御モジュール2020は、運動物体に基づいて車両の制御命令を生成して出力する。制御モジュール2020が生成して出力する制御命令は、速度維持制御命令、速度調整制御命令、方向維持制御命令、方向調整制御命令、警告プロンプト制御命令、運転モード切替制御命令を含むが、これらに限定されない。
【0170】
例示的な機器
【0171】
図21は、本発明を実現するに適した例示的な機器2100を示し、機器2100は、自動車に設けられた制御システム/電子システム、移動端末(たとえば、スマート移動電話など)、パーソナルコンピュータ(PC、たとえば、デスクトップコンピュータまたはノートブックコンピュータなど)、タブレットコンピュータ、および、サーバなどであり得る。
図21において、機器2100は、1つのまたは複数のプロセッサ、通信部などを備え、前記1つのまたは複数のプロセッサは、1つのまたは複数の中央処理ユニット(CPU)2101、および/または、1つのまたは複数のニューラルネットワークを利用して視覚追跡を実行する画像プロセッサ(GPU)2113などであり得、プロセッサは、読み取り専用メモリ(ROM)2102に記憶されている実行可能命令、または、記憶部分2108からランダムアクセスメモリ(RAM)2103にロードした実行可能命令に従って、各種の適当な動作と処理を実行することができる。通信部2112は、ネットワークカードを含んでもよいが、これに限定されなく、前記ネットワークカードは、IB(Infiniband)ネットワークカードを含んでもよいが、これに限定されない。プロセッサは、読み取り専用メモリ2102、および/または、ランダムアクセスメモリ2103と通信して実行可能命令を実行でき、バス2104を介して通信部2112と接続され、通信部2112を介して他の目標機器と通信することによって、本発明の該当するステップを完成する。
【0172】
上記の各命令によって実行される操作は、上記の方法の実施例中の関連する説明を参照すればよく、ここでは再度詳細に説明しない。なお、RAM2103には、さらに、装置の操作に必要な各種のプログラムおよびデータが記憶されていてもよい。CPU2101、ROM2102、および、RAM2103は、バス2104を介して互いに接続される。
【0173】
RAM2103がある場合、ROM2102はオプションのモジュールである。RAM2103は、実行可能命令を記憶し、運行のときにROM2102に実行可能命令を書き込む。実行可能命令は、中央処理ユニット2101が、上記の運動物体検出方法またはスマート運転制御方法に含まれたステップを実行するようにする。入力/出力(I/O)インターフェース2105も、バス2104に接続される。通信部2112は、統合して設けられてもよいし、複数のサブモジュール(たとえば、複数のIBネットワークカード)を有し、当該複数のサブモジュールがそれぞれバスと接続されるように、設けられてもよい。
【0174】
キーボード、マウスなどを含む入力部分2106、カソード光線管(CRT)、液晶ディスプレイ(LCD)などおよびスピーカーなどを含む出力部分2107、ハードディスクなどを含む記憶部分2108、および、LANカード、モデムなどのネットワークインターフェースカードを含む通信部分2109のようなコンポーネントが、I/Oインターフェース2105に接続される。通信部分2109は、インターネットなどのネットワークを介して通信処理を実行する。ドライバ2110も、必要に応じてI/Oインターフェース2105に接続される。必要に応じて、磁気ディスク、光ディスク、磁気光学ディスク、半導体メモリなどの取り外し可能媒体2111がドライバ2110に装着されて、当該取り外し可能媒体2111から読み取られたコンピュータプログラムを、必要に応じて、記憶部分2108にインストールする。
【0175】
特に説明する必要があるのは、
図21に示すアーキテクチャは、オプションの1実現形態に過ぎず、具体的な実施過程において、上記の
図21の部品数とタイプは、実際の要件に応じて、選択、削除、増加、または、切替することができる。異なる機能部品の配置については、分離配置および統合配置などの実現形態を採用でき、たとえば、GPUとCPUを分離可能に配置するか、または、GPUをCPUに統合可能な配置し、通信部を分離可能な配置するか、または、CPUやGPUに統合可能な配置してもよい。これらの切り替え可能な実施形態は、いずれも本発明の保護範囲内に入る。
【0176】
特に、本発明の実施形態によれば、上記のフローチャートを参照して説明した過程は、コンピュータソフトウェアプログラムとして実現されてもよい。たとえば、本発明の実施形態は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械読取可能媒体に有形に含まれるコンピュータプログラムを含み、コンピュータプログラムは、フローチャートに示すステップを実行するためのプログラムコードを含み、プログラムコードは、本発明の実施形態によって提供される方法のステップを実行するステップに対応する命令を含むことができる。
【0177】
このような実施形態において、当該コンピュータプログラムは、通信部分2109を介してネットワークからダウンロードしてインストールされるか、および/または、取り外し可能媒体2111からインストールされる。当該コンピュータプログラムが中央処理ユニット(CPU)2101によって実行されるときに、本発明に記載の上記の該当するステップを実現する命令が実行される。
【0178】
オプションの1つ又は複数の実施形態において、本発明の実施例は、コンピュータ可読命令を記憶するためのコンピュータプログラム製品をさらに提供し、前記命令が実行されるときに、コンピュータが上記の任意の実施例に記載の運動物体検出方法またはスマート運転制御方法を実行するようにする。当該コンピュータプログラム製品は、具体的に、ハードウェア、ソフトウェア、または、その組み合わせの方式によって実現できる。オプションの1例において、前記コンピュータプログラム製品は、具体的に、コンピュータ記憶媒体として具現され、オプションのもう1例において、前記コンピュータプログラム製品は、具体的に、ソフトウェア開発キット(Software Development Kit、SDK)などのソフトウェア製品として具現される。
【0179】
オプションの1つ又は複数の実施形態において、本発明の実施例は、もう1種の運動物体検出方法またはスマート運転制御方法、及びそれに対応される装置および電子機器、コンピュータ記憶媒体、コンピュータプログラム、並びにコンピュータプログラム製品をさらに提供し、その中の方法は、第1装置が、第2装置に、第2装置が上記の任意の1つの可能の実施例中の運動物体検出方法またはスマート運転制御方法を実行するようにするための、運動物体検出指示またはスマート運転制御指示を、送信するステップと、第1装置が、第2装置によって送信された運動物体検出結果またはスマート運転制御結果を、受信するステップと、を含む。
【0180】
いくつかの実施例において、当該運動物体検出指示またはスマート運転制御指示は、具体的に、呼び出し命令であってもよく、第1装置は、呼び出し方式によって、第2装置が運動物体検出操作またはスマート運転制御操作を実行するように指示し、これに応じて、第2装置は、呼び出し命令が受信されたことに応答して、上記の運動物体検出方法またはスマート運転制御方法中の任意の実施例中のステップおよび/または流れを実行できる。
【0181】
理解すべきなのは、本発明の実施例中の「第1」、「第2」などの用語は、区分するためのもので過ぎず、本発明の実施例に対する限定として理解してはいけない。さらに理解すべきなのは、本発明において、「複数」は、2つ以上を表し、「少なくとも1つ」は、1つまたは2つの以上を表すことができる。さらに理解すべきなのは、本発明で言及された任意の1つの部品、データ、または、構成は、明確に限定されなかったか、または、前後の記述で反対の示唆がない場合、一般的に、1つまたは複数に理解され得る。さらに理解すべきなのは、本発明は、各々の実施例の説明に対して、主に各々の実施例同士の間の差異を強調し、同一または類似な部分は互いに参考でき、簡素化のために、1つずつ繰り返して説明しない。
【0182】
本発明の方法および装置、電子機器、並びにコンピュータ可読記憶媒体は、たくさんの方式で実現され得る。本発明の方法および装置、電子機器、並びにコンピュータ可読記憶媒体は、たとえば、ソフトウェア、ハードウェア、ファームウェア又はソフトウェア、ハードウェア、ファームウェアの如何なる組み合わせで実現され得る。前記方法のステップに用いられる上記順番は、単に説明用であり、本発明の方法のステップは、他の方式で特別に説明しない限り、上記具体的に記述された順番に限定されない。また、幾つかの実施例において、本発明を記録媒体に記録されたプログラムとして実施してもよい。これらのプログラムは、本発明の方法を実施するための機器読み取り可能な指令を含む。したがって、本発明は、更に、本発明の方法を実行するためのプログラムを記憶する記録媒体もカバーする。
【0183】
本発明の記述は、例示及び説明のために提示されたものであり、網羅的なものでありもしくは開示された形式に本開示を限定するというわけでない。当業者にとっては多くの修正及び変形を加えることができるのは明らかであろう。実施形態は、本発明の原理及び実際応用をより明瞭に説明するためのものであり、また、当業者が本開示を理解して特定用途に適した各種の修正を加えた各種の実施例を設計可能にするように、選択され説明されたものである。