(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-15
(45)【発行日】2023-02-24
(54)【発明の名称】障害物検出方法、装置、設備、記憶媒体、及びプログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20230216BHJP
【FI】
G06T7/70 A
(21)【出願番号】P 2021086756
(22)【出願日】2021-05-24
【審査請求日】2021-05-24
(31)【優先権主張番号】202010477558.4
(32)【優先日】2020-05-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521208273
【氏名又は名称】阿波▲羅▼智▲聯▼(北京)科技有限公司
【氏名又は名称原語表記】APOLLO INTELLIGENT CONNECTIVITY(BEIJING)TECHNOLOGY CO.,LTD.
【住所又は居所原語表記】101, 1st Floor, Building 1, Yard 7, Ruihe West 2nd Road, Beijing Economic and Technological Development Zone, Beijing 100176, China
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】シュー,マオ
【審査官】伊知地 和之
(56)【参考文献】
【文献】中国特許出願公開第111079619(CN,A)
【文献】米国特許出願公開第2020/0018994(US,A1)
【文献】Lijie Liu et al.,Deep Fitting Degree Scoring Network for Monocular 3D Object Detection,2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),2019年06月15日,pp.1057-1066
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得することと、
前記障害物の三次元検出枠の位置情報を前記障害物の二次元投影枠の位置情報に変換することと、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、前記障害物の三次元検出枠の位置情報を最適化することとを含
み、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、前記障害物の三次元検出枠の位置情報を最適化することは、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を用いて、前記障害物の三次元検出枠の位置情報に対して少なくとも1つの制約項目を設定することと、
前記制約項目を利用して損失関数を構築することと、
前記損失関数を利用して、前記障害物の三次元検出枠の位置情報を最適化することとを含む、
障害物検出方法。
【請求項2】
前記制約項目は、前記障害物の二次元検出枠及び二次元投影枠の中心点座標に基づいて設定される第1制約項目を含む、
請求項
1に記載の障害物検出方法。
【請求項3】
前記制約項目は、前記障害物の二次元検出枠及び二次元投影枠の左右両辺の座標に基づいて設定される第2制約項目をさらに含む、
請求項
1又は
2に記載の障害物検出方法。
【請求項4】
前記制約項目は、前記障害物の三次元検出枠の投影点座標に基づいて設定される第3制約項目をさらに含む、
請求項
2又は
3に記載の障害物検出方法。
【請求項5】
前記損失関数を利用して、前記障害物の三次元検出枠の位置情報を最適化することは、
障害物の三次元検出枠の初期予測結果及び前記損失関数を利用して、参照損失である初期損失を計算することと、
予測誤差に基づいて初期の解空間範囲を設定することと、
初期の解空間範囲においてm回のランダムサンプリングを行って、サンプル点に含まれる三次元検出枠の1組の位置情報を得ることと、
前記損失関数によってサンプル点に対応する損失を計算することと、
サンプル点に対応する損失と前記参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とすることとを含む、
請求項
1~
4のいずれか1項に記載の障害物検出方法。
【請求項6】
前記損失関数を利用して、前記障害物の三次元検出枠の位置情報を最適化することは、
前回再サンプリングしたm個のサンプル点のうち、損失が参照損失よりも小さいサンプル点の分布範囲を統計し、新たな解空間範囲を得ることと、
新たな解空間範囲においてm回のランダムサンプリングを行って、サンプル点に含まれる障害物の三次元検出枠の1組の位置情報を得ることと、
前記損失関数によってサンプル点に対応する損失を計算することと、
サンプル点に対応する損失と前記参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とすることと、
を含む前記障害物の三次元検出枠の位置情報を最適化することをn-1回繰り返し実行することをさらに含み、
nは、再サンプリング回数である、
請求項
5に記載の障害物検出方法。
【請求項7】
画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得するための取得モジュールと、
前記障害物の三次元検出枠の位置情報を前記障害物の二次元投影枠の位置情報に変換するための変換モジュールと、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、前記障害物の三次元検出枠の位置情報を最適化するための最適化モジュールとを備え
、
前記最適化モジュールは、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を用いて、前記障害物の三次元検出枠の位置情報に対して少なくとも1つの制約項目を設定するための制約項目サブモジュールと、
前記制約項目を利用して損失関数を構築するための損失関数サブモジュールと、
前記損失関数を利用して、前記障害物の三次元検出枠の位置情報を最適化するための最適化サブモジュールとを備える、
障害物検出装置。
【請求項8】
前記制約項目は、前記障害物の二次元検出枠及び二次元投影枠の中心点座標に基づいて設定される第1制約項目を含む、
請求項
7に記載の障害物検出装置。
【請求項9】
前記制約項目は、前記障害物の二次元検出枠及び二次元投影枠の左右両辺の座標に基づいて設定される第2制約項目をさらに含む、
請求項
7又は
8に記載の障害物検出装置。
【請求項10】
前記制約項目は、前記障害物の三次元検出枠の投影点座標に基づいて設定される第3制約項目をさらに含む、
請求項
8又は
9に記載の障害物検出装置。
【請求項11】
前記最適化サブモジュールは、
障害物の三次元検出枠の初期予測結果及び前記損失関数を利用して、参照損失である初期損失を計算することと、
予測誤差に基づいて初期の解空間範囲を設定することと、
初期の解空間範囲においてm回のランダムサンプリングを行って、サンプル点に含まれる三次元検出枠の1組の位置情報を得ることと、
前記損失関数によってサンプル点に対応する損失を計算することと、
サンプル点に対応する損失と前記参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とすることとに用いられる、
請求項
7~
10のいずれか1項に記載の障害物検出装置。
【請求項12】
前記最適化サブモジュールは、
前回再サンプリングしたm個のサンプル点のうち、損失が参照損失よりも小さいサンプル点の分布範囲を統計し、新たな解空間範囲を得ることと、
新たな解空間範囲においてm回のランダムサンプリングを行って、サンプル点に含まれる障害物の三次元検出枠の1組の位置情報を得ることと、
前記損失関数によってサンプル点に対応する損失を計算することと、
サンプル点に対応する損失と前記参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とすることと、
を含む前記障害物の三次元検出枠の位置情報を最適化することをn-1回繰り返し実行することにさらに用いられ、
nは、再サンプリング回数である、
請求項
11に記載の障害物検出装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリとを備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能なコマンドが記憶されており、前記コマンドは、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1~
6のいずれか1項に記載の障害物検出方法を実行させる、
電子設備。
【請求項14】
コンピュータに請求項1~
6のいずれか1項に記載の障害物検出方法を実行させるコマンドが記憶されている非一時的なコンピュータ可読記憶媒体。
【請求項15】
コンピュータにおいて、プロセッサにより実行される場合、請求項1~
6のいずれか1項に記載の障害物検出方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、スマート交通の分野に関し、特に、障害物検出の分野に関する。
【背景技術】
【0002】
スマート交通において路傍検知を行う時には、二次元(2D)物体検出アルゴリズム及び三次元(3D)物体検出アルゴリズムにより、画像における障害物の2D検出枠及び世界座標系における3D位置を得ることができ、3D位置の精度が路傍検知の精度を決める。路側カメラの設置位置、角度及びカメラの内部パラメータが様々であるため、3D検出技術によって予測した障害物の3D位置は精度が低い。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、障害物検出方法、装置、設備及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本開示の第1態様では、
画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得することと、
前記障害物の三次元検出枠の位置情報を前記障害物の二次元投影枠の位置情報に変換することと、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、前記障害物の三次元検出枠の位置情報を最適化することとを含む、障害物検出方法を提供する。
【0005】
本開示の第2態様では、
画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得するための取得モジュールと、
前記障害物の三次元検出枠の位置情報を前記障害物の二次元投影枠の位置情報に変換するための変換モジュールと、
前記画像における前記障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、前記障害物の三次元検出枠の位置情報を最適化するための最適化モジュールとを備える、障害物検出装置を提供する。
【発明の効果】
【0006】
本開示の技術的解決手段によれば、画像における障害物の二次元検出枠の位置情報、三次元検出枠及び二次元投影枠の位置情報を利用して、当該障害物の三次元検出枠の位置情報を最適化することにより、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の正確さを高めることができる。
なお、上述した内容が本開示の実施形態の重要な特徴を示すためではなく、本開示の範囲の限定にもならない。本開示の他の特徴は下記の説明から理解しやすくなる。
【図面の簡単な説明】
【0007】
次に記載の各図面は本開示の理解を促すためのもので、本開示の限定にならない。
【
図1】本開示の一実施形態による障害物検出方法のフローチャートである。
【
図4】本開示の別の実施形態による障害物検出方法のフローチャートである。
【
図5】本開示の別の実施形態による障害物検出方法のフローチャートである。
【
図6】本開示の別の実施形態による障害物検出方法のフローチャートである。
【
図7】本開示の別の実施形態による障害物検出方法の適用例のフローチャートである。
【
図8】本開示の一実施形態による障害物検出装置のブロック図である。
【
図9】本開示の別の実施形態による障害物検出装置のブロック図である。
【
図10】本開示の実施形態による障害物検出方法を実現するための電子設備のブロック図である。
【発明を実施するための形態】
【0008】
次に、図面を参照して本開示の例示的な実施形態を説明し、中には理解を促すために本開示の実施形態の様々な詳細が含まれるが、それが例示的な内容に過ぎない。したがって、当業者が理解したように、本開示の範囲や趣旨から逸脱せずここに記載の実施形態に対し様々な変更や修正を行うことができる。また、次の説明では簡素化の観点上、周知の機能及び構造の説明は省略する。
【0009】
図1は本開示の一実施形態による障害物検出方法のフローチャートである。当該方法はS101~S103を含んでもよい。
S101で、画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得する。
S102で、当該障害物の三次元検出枠の位置情報を当該障害物の二次元投影枠の位置情報に変換する。
S103で、当該画像における当該障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、当該障害物の三次元検出枠の位置情報を最適化する。
【0010】
本開示の実施形態で画像は、ビデオのフレーム画像、撮影写真などであってもよい。例えば、車載カメラ(撮影機とも呼ばれる)で撮影したビデオのフレーム画像、携帯電話で撮影した写真などである。画像には様々なタイプの障害物が含まれてもよい。障害物の検出方法が様々である。例えば、ニューラルネットワークなどでトレーニングして、1種以上の障害物を認識できる検出モデルを得る。検出モデルなどを利用して画像を検出して、障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を得る。二次元検出枠及び三次元検出枠を得る障害物検出モデルは同一のモデルであってもよいし、異なるモデルであってもよい。二次元検出枠の位置情報は当該障害物が位置する二次元検出枠の座標、例えば、左上隅の座標及び右下隅の座標を含んでもよい。三次元検出枠の位置情報は当該障害物が位置する三次元検出枠の座標、サイズ、方向角などを含んでもよい。
【0011】
例えば、
図2に示すとおり、二次元の障害物検出モデルを利用して、画像から障害物Aの二次元検出枠の位置情報[x1,x2,y1,y2]を認識できる。ここで、[x1,y1]は当該障害物の二次元検出枠の左上隅の座標であってもよく、[x2,y2]は当該障害物の二次元検出枠の右下隅の座標であってもよい。また、
図3に示すとおり、三次元の障害物検出モデルを利用して、画像から障害物Aの三次元検出枠の位置情報を認識できる。当該三次元検出枠の中心点のカメラ座標系における座標[x3d,y3d,z3d]、長さ・幅・高さ[w3d,h3d,l3d]、y軸方向角ry3dを含む。
【0012】
三次元検出枠の位置情報の投影によって二次元投影枠の位置情報を得ることができる。例えば、三次元検出枠が直方体である場合に、投影式により当該直方体の8つの頂点に対応する二次元投影点を算出できる。投影式の一例は次のとおりである。
x=KX
ここで、Kとはカメラの内部パラメータ行列であり、xとは二次元投影点の座標[x,y]であり、Xとは三次元点の座標[x,y,z]である。
【0013】
三次元検出枠の各頂点に対し、対応する二次元投影点を算出した後、前記二次元投影点から二次元投影枠を得ることができる。当該二次元投影枠は当該三次元検出枠の全ての二次元投影点を含んでもよい。例えば、三次元検出枠の8つの二次元投影点の座標を利用して、二次元投影枠のx軸における最大値xmaxと最小値xmin、及びy軸における最大値ymaxと最小値yminを得、さらに二次元投影枠の位置情報[xmax,xmin,ymax,ymin]を得る。
【0014】
次に、画像における障害物の二次元検出枠の位置情報、三次元検出枠及び二次元投影枠の位置情報のうちの1つ以上を利用して、損失関数を構築する。当該障害物の三次元検出枠の座標及び軸角などを調整した後、損失関数を利用して損失を計算することにより、当該障害物の三次元検出枠の位置情報を最適化する。
【0015】
本開示では、画像における障害物の二次元検出枠の位置情報、三次元検出枠及び二次元投影枠の位置情報を利用して、当該障害物の三次元検出枠の位置情報を最適化することにより、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の正確さを高めることができる。本開示の実施形態の障害物検出方法は三次元障害物の位置の路傍検知のシーンに適用され、車載カメラや他の監視カメラなどのシーンにも適用される。
【0016】
図4は本開示の別の実施形態による障害物検出方法のフローチャートである。当該実施形態の障害物検出方法は前記実施形態の各ステップを含んでもよい。
【0017】
本実施形態では、S103で、当該画像における当該障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、当該障害物の三次元検出枠の位置情報を最適化するステップは、S201~S203を含んでもよい。
【0018】
S201で、当該画像における当該障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を用いて、当該障害物の三次元検出枠の位置情報に対して少なくとも1つの制約項目を設定する。
S202で、当該制約項目を利用して損失関数を構築する。
S203で、当該損失関数を利用して、当該障害物の三次元検出枠の位置情報を最適化する。
【0019】
予測結果を分析したところ、障害物の二次元検出枠の予測結果の方が真値に近い。障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、少なくとも1つの制約項目を設定することにより、障害物の三次元位置が二次元位置の予測結果に一層マッチングし、障害物の三次元位置の予測結果の正確さを高めることができる。
【0020】
可能な一実施形態では、当該制約項目は第1制約項目を含み、当該第1制約項目は当該障害物の二次元検出枠及び二次元投影枠の中心点座標に基づいて設定される。二次元検出枠及び二次元投影枠の中心点座標を利用して第1制約項目を設定し、第1制約項目を利用して損失関数を構築し、二次元投影枠と二次元検出枠の中心点が最大限に近づき、場合によっては重なることを希望することにより、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の正確さを高める。
【0021】
可能な一実施形態では、当該制約項目は第2制約項目をさらに含み、当該第2制約項目は当該障害物の二次元検出枠及び二次元投影枠の左右両辺の座標に基づいて設定される。二次元検出枠及び二次元投影枠の左右両辺の座標を利用して第2制約項目を設定し、第2制約項目を利用して損失関数を構築し、二次元投影枠と二次元検出枠の左右両辺が最大限に近づき、場合によっては重なることを希望することにより、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の正確さを高める。
【0022】
可能な一実施形態では、当該制約項目は第3制約項目をさらに含み、当該第3制約項目は当該障害物の三次元検出枠の投影点座標に基づいて設定される。三次元検出枠の投影点座標を利用して第3制約項目を設定し、第3制約項目を利用して損失関数を構築することにより、最適化で調整幅が制御しやすくなり、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の精度を高める。
【0023】
前記第1制約項目、第2制約項目及び第3制約項目はいずれか単独で損失関数を構築してもよいし、2つ又はその全てで損失関数を構築してもよい。複数の制約項目を設けることで、最適解が満たすべき条件を充分に検討し、最適解を見逃す確率を低減し、最終的には障害物の三次元位置の予測結果がより正確である。
【0024】
図5は本開示の別の実施形態による障害物検出方法のフローチャートである。当該実施形態の障害物検出方法は前記いずれかの実施形態の各ステップを含んでもよい。
【0025】
本実施形態では、S203で、当該損失関数を利用して、当該三次元検出枠の位置情報を最適化するステップは、S301~S305を含んでもよい。
S301で、障害物の三次元検出枠の初期予測結果及び前記損失関数を利用して、初期損失を計算し、当該初期損失は参照損失である。
【0026】
S302で、予測誤差に基づいて初期の解空間範囲を設定する。例えば、障害物の三次元検出枠の位置情報で調整可能な変数が三次元座標[x3d,y3d,z3d]及び方向角ry3dの4つである場合に、予め真値のあるデータを利用して三次元検出結果を得、真値と予測値の誤差を計算し、誤差の平均値[x3dmean,y3dmean,z3dmean,ry3dmean]を統計し、これを先験的な予測誤差とする。使用する時は、真値のないデータを利用して得た初期の三次元検出結果は[x3d,y3d,z3d,ry3d]である。この場合に、x3dの解空間は[x3dmin=x3d-x3dmean,x3dmax=x3d+x3dmean]であり、他の3つの変数については同様である。
【0027】
y3dの解空間は[y3dmin=y3d-y3dmean,y3dmax=y3d+y3dmean]である。
z3dの解空間は[z3dmin=z3d-z3dmean,z3dmax=z3d+z3dmean]である。
ry3dの解空間は[ry3dmin=ry3d-ry3dmean,ry3dmax=ry3d-ry3dmean]である。
【0028】
S303で、初期の解空間範囲においてランダムサンプリングを行って、サンプル点に含まれる三次元検出枠の1組の位置情報を得、ランダムサンプリングの回数はm回である。
S304で、当該損失関数によってサンプル点に対応する損失を計算する。例えば、前のステップで得たサンプル点の三次元検出枠の1組の位置情報を損失関数式に代入して、当該サンプル点に対応する損失を得る。
S305で、サンプル点に対応する損失と参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とする。1回目にはサンプル点に対応する損失と初期損失を比較し、サンプル点に対応する損失が初期損失よりも小さい場合に、当該サンプル点に対応する損失を新たな参照損失とする。以降は新たにサンプリングして得たサンプル点に対応する損失と新たな参照損失を比較してもよい。サンプル点に対応する損失が初期損失以上である場合に、参照損失は変わらず、次回の比較で当該参照損失を用いる。サンプリングするたびに、サンプリング回数を1増加させ、サンプリング回数がmになると終了し、再サンプリング回数を1増加させる。
本開示の実施形態では三次元検出枠の初期解空間におけるランダムにより検索が最適解のサンプリング率が高められ、最終的には検索結果が初期検出結果より正確さも精度も大幅に向上している。
【0029】
図6は本開示の別の実施形態による障害物検出方法のフローチャートである。当該実施形態の障害物検出方法は前記いずれかの実施形態の各ステップを含んでもよい。
本実施形態では、S203で、S305後に、当該損失関数を利用して、当該障害物の三次元検出枠の位置情報を最適化するステップは、ステップS306からS310までをn-1回繰り返し実行することを含んでもよく、nは再サンプリング回数である。
【0030】
S306で、前回再サンプリングしたm個のサンプル点のうち、損失が参照損失よりも小さいサンプル点の分布範囲を統計して、新たな解空間範囲を得る。例えば、前回再サンプリングしたm個のサンプル点を利用して、三次元位置情報における中心点座標及び方向角の最小値及び最大値を得、予測誤差を利用して新たな解空間範囲を得る。
S307で、新たな解空間範囲においてランダムサンプリングを行って、サンプル点に含まれる障害物の三次元検出枠の1組の位置情報を得、ランダムサンプリングの回数はm回である。
S308で、当該損失関数によってサンプル点に対応する損失を計算する。例えば、前のステップで得たサンプル点の三次元検出枠の1組の位置情報を損失関数式に代入して、当該サンプル点に対応する損失を得る。
S309で、サンプル点に対応する損失と参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とする。
【0031】
S307からS309までは、サンプリングしてサンプル点を得るたびに、当該サンプル点に含まれる障害物の三次元検出枠の1組の位置情報を損失関数に代入して、当該サンプル点に対応する損失を計算してもよい。次に、前の候補結果との比較で候補結果及び参照損失を更新するかどうかを決定する。更新する場合には、更新後の候補結果及び参照損失を、次のサンプル点で比較するための参照値とする。更新しない場合には、変わらない候補結果及び参照損失を、次のサンプル点で比較するための参照値とする。次のサンプル点に含まれる障害物の三次元検出枠の1組の位置情報を損失関数に代入して、当該サンプル点に対応する損失を計算する。引き続き比較して候補結果及び参照損失を決定し、サンプリング回数がmになると終了する。
また、m個のサンプル点をサンプリングするたびに、再サンプリング回数を1増加させ、再サンプリング回数がn以上であるかどうかを判断する。再サンプリング回数がn未満である場合に、S306に戻り、再サンプリング回数がnになると終了する。ここで、nは正整数であり、nの値はニーズに応じて具体的に設定してもよい。一般に、nの値が大きいほど、正確さ及び精度が高い。
【0032】
例えば、S303を実行した後、再サンプリング回数は1であり、1回目のS308の実行後、再サンプリング回数は2である。その後、S308を実行するたびに、再サンプリング回数を1増加させ、再サンプリング回数がnになると終了する。最後の1回に得た候補結果を、障害物の三次元検出枠の最適化の最終的な位置情報としてもよい。
【0033】
本開示の実施形態では障害物の三次元検出枠の解空間に複数回の再サンプリングを行うことにより、最適解のサンプリング率をより一層高め、路傍設備、車載設備又は他の検知設備による障害物の三次元位置の予測結果の正確さ及び精度をより一層高めることができる。
本開示の実施形態の一適用例では、カメラの結像原理を利用して幾何学的制約を構築し、二次元(two Dimension、2D)検出枠予測結果と三次元(three Dimension、3D)検出枠予測結果がマッチングするようにし、バックエンドからの3D検出結果の最適化を実現する。
【0034】
画像から障害物を検出して、障害物の2D検出枠の位置情報及び3D検出枠の位置情報を得た後、前記位置情報を最適化アルゴリズムに入力する。例えば、最適化アルゴリズムの入力は2D検出枠座標[x1,x2,y1,y2]、3D検出枠の中心点のカメラ座標系における座標[x3d,y3d,z3d]、長さ・幅・高さ[w3d,h3d,l3d]、y軸方向角ry3dを含む。また、最適化アルゴリズムの入力はカメラ内部パラメータ行列p2及び基準方程式de_normをさらに含む。最適化の対象はx3d、y3d、z3d、ry3dの4つの自由度である。
【0035】
制約項目1:予測結果を分析したところ、2D検出枠の予測結果の方が真値に近い。3D検出枠の予測結果を利用して、投影関係によって2D投影枠を得る。位置が正しい場合に、長さ・幅・高さ[w3d,h3d,l3d]が最適化の範囲になく、予測誤差の存在で2D検出枠と2D投影枠が完全には重ならないが、2者の中心点が重なることを希望する。よって、一例として制約項目1 err1は次のとおりである。
err1=|(x1pro+x2pro)-(x1+x2)|+|(y1pro+y2pro)-(y1+y2)|
ここで、[x1pro,x2pro,y1pro,y2pro]とは3D検出枠の2D投影枠座標であり、[x1,x2,y1,y2]とは2D検出枠座標である。
制約項目2:中心点が重なった上に、方向角のずれを一層制約するために、制約項目2では2D検出枠と2D投影枠の左右両辺が重なることを希望する。よって、一例として制約項目2 err2は次のとおりである。
err2=|x1pro-x1|+|x2pro-x2|
制約項目3:方向角±ryが生じる2D投影枠は制約項目1及び制約項目2で値が同じであり、且つ、3D検出枠の予測結果のずれが一般に大きくないことを考慮すると、一例として最適化の程度を制約するための制約項目3 err3は次のとおりである。
【0036】
【0037】
前記制約項目によれば、一例として損失関数errは次のとおりである。
err=err1+α×err2+β×err3
ここで、α、βとはハイパーパラメータであり、ハイパーパラメータは予め設定した値であってもよい。
【0038】
【0039】
例えば、
図7に示すとおり、当該最適解の求解手順は次のステップS401~S410を含んでもよい。
S401で、2D検出枠の位置情報[x1,x2,y1,y2]、及び3D検出枠の位置情報[x3d,y3d,z3d,w3d,h3d,l3d,ry3d]、p2、de_normを入力する。
S402で、3D検出枠の位置情報を用いて投影を行うことにより、二次元投影点vを得る。
S403で、予測誤差[x3d
mean,y3d
mean,z3d
mean,ry3d
mean]を利用して初期の解空間範囲を得、例えば、次のとおりである。
x3d
min=x3d-x3d
mean,x3d
max=x3d+x3d
mean
y3d
min=y3d-y3d
mean,y3d
max=y3d-y3d
mean
z3d
min=z3d-z3d
mean,z3d
max=z3d-z3d
mean
ry3d
min=ry3d-ry3d
mean,ry3d
max=ry3d-ry3d
mean。
S404で、初期予測結果([x1,x2,y1,y2],v,[x1
pro,x2
pro,y1
pro,y2
pro])に基づいて、初期損失olを計算する。
【0040】
【0041】
ランダムサンプリングの回数(即ちサンプル点の個数)j<mである場合には、引き続きランダムサンプリングを実行する。サンプリングしてサンプル点を得るたびに、j+1とする。j=mになると、今回の再サンプリングが終了し、i+1とする。
【0042】
【0043】
ここで、nは再サンプリング回数であり、mは毎回サンプリングする個数である。
本実施形態では、複数の制約項目を用いると最適解が満たすべき条件を充分に検討することができ、ランダムに検索すると最適解のサンプリング率を高めることができ、最終的には検索結果は初期解より精度が大幅に向上している。本実施形態の方法は三次元障害物の位置の路傍検知のシーンに適用され、車載カメラや他の監視カメラにも適用される。
【0044】
図8は本開示の一実施形態による障害物検出装置のブロック図である。当該装置は、
画像における障害物の二次元検出枠の位置情報及び三次元検出枠の位置情報を取得するための取得モジュール41と、
当該障害物の三次元検出枠の位置情報を当該障害物の二次元投影枠の位置情報に変換するための変換モジュール42と、
当該画像における当該障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を利用して、当該障害物の三次元検出枠の位置情報を最適化するための最適化モジュール43とを備えてもよい。
【0045】
可能な一実施形態では、
図9に示すとおり、当該最適化モジュール43は、
当該画像における当該障害物の二次元検出枠、三次元検出枠及び二次元投影枠の位置情報を用いて、当該障害物の三次元検出枠の位置情報に対して少なくとも1つの制約項目を設定するための制約項目サブモジュール51と、
当該制約項目を利用して損失関数を構築するための損失関数サブモジュール52と、
当該損失関数を利用して、当該障害物の三次元検出枠の位置情報を最適化するための最適化サブモジュール53とを備える。
【0046】
可能な一実施形態では、当該制約項目は第1制約項目を含み、当該第1制約項目は当該障害物の二次元検出枠及び二次元投影枠の中心点座標に基づいて設定される。
可能な一実施形態では、当該制約項目は第2制約項目をさらに含み、当該第2制約項目は当該障害物の二次元検出枠及び二次元投影枠の左右両辺の座標に基づいて設定される。
可能な一実施形態では、当該制約項目は第3制約項目をさらに含み、当該第3制約項目は当該障害物の三次元検出枠の投影点座標に基づいて設定される。
【0047】
可能な一実施形態では、当該最適化サブモジュールは、具体的には、
障害物の三次元検出枠の初期予測結果及び前記損失関数を利用して、初期損失を計算することであって、当該初期損失は参照損失であることと、
予測誤差に基づいて初期の解空間範囲を設定することと、
初期の解空間範囲においてランダムサンプリングを行って、サンプル点に含まれる三次元検出枠の1組の位置情報を得ることであって、ランダムサンプリングの回数はm回であることと、
当該損失関数によってサンプル点に対応する損失を計算することと、
サンプル点に対応する損失と参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とすることとに用いられる。
【0048】
可能な一実施形態では、当該最適化サブモジュールは、さらに、
前回再サンプリングしたm個のサンプル点のうち、損失が参照損失よりも小さいサンプル点の分布範囲を統計して、新たな解空間範囲を得るステップと、
新たな解空間範囲においてランダムサンプリングを行って、サンプル点に含まれる障害物の三次元検出枠の1組の位置情報を得るステップであって、ランダムサンプリングの回数はm回であるステップと、
当該損失関数によってサンプル点に対応する損失を計算するステップと、
サンプル点に対応する損失と参照損失を比較し、損失が最小であるサンプル点の三次元検出枠の位置情報を候補結果とし、損失が最小であるサンプル点に対応する損失を新たな参照損失とするステップとをn-1回繰り返し実行するために用いられ、nは再サンプリング回数である。
【0049】
本開示の実施形態による装置の各モジュールの機能は、前記方法実施形態での対応の記載を参照できるため、ここで重複を避けるために説明を省略する。
さらに、本開示の実施形態では、電子設備及び可読記憶媒体を提供する。
【0050】
図10は、本開示の実施形態による障害物検出方法を実現するための電子設備のブロック図である。電子設備としては、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバー、ブレードサーバー、大型コンピュータ、他の適切なコンピュータなど、様々な形態のデジタルコンピュータであってもよい。また、パーソナルデジタルアシスタント、セルラーホン、スマートフォン、ウェアラブルデバイス、他の類似の計算設備など、様々な形態の移動設備であってもよい。本明細書に記載のコンポーネント、その接続関係、及びその機能は例示的なものに過ぎず、本開示の実施に関して本明細書に記載及び/又は主張された内容に限定を加えるためではない。
【0051】
図10に示すとおり、当該電子設備は、1つ以上のプロセッサ901と、メモリ902と、各コンポーネントを接続するためのインタフェース(高速インタフェース及び低速インタフェース)とを含む。各コンポーネントは異なるバスによって互いに接続され、共通のマザーボードに取り付けられ、又は所望の方式で取り付けられてもよい。プロセッサは外部の入力/出力装置(例えば、インタフェースによって接続された表示設備)にグラフィカルユーザーインタフェース(GUI)のグラフィック情報を表示するようにメモリに記憶されているコマンドなど、電子設備において実行されるコマンドを処理することができる。他の実施形態では、必要ならば、複数のプロセッサ及び/又は複数のバスと複数のメモリを複数のメモリと一緒に使用してもよい。同様に、複数の電子設備を接続させ、各設備が必要な操作の一部を提供するようにしてもよい(例えば、サーバーアレイ、1群のブレードサーバー、又はマルチプロセッサシステムとする)。
図10では、例示的にプロセッサ901が1つあるものである。
【0052】
メモリ902は、本開示に係る非一時的なコンピュータ可読記憶媒体である。当該メモリには、少なくとも1つのプロセッサが本開示に係る障害物検出方法を実行するように、少なくとも1つのプロセッサによって実行可能なコマンドが記憶されている。本開示に係る非一時的なコンピュータ可読記憶媒体にはコンピュータコマンドが記憶されており、当該コンピュータコマンドはコンピュータに本開示に係る障害物検出方法を実行させる。
メモリ902は非一時的なコンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的なコンピュータ実行可能プログラム及びモジュール、例えば、本開示の実施形態に係る障害物検出方法に対応するプログラムコマンド/モジュール(例えば、
図8に示す取得モジュール41、変換モジュール42及び最適化モジュール43)を記憶するために用いることができる。プロセッサ901はメモリ902に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを動作させることにより、サーバーの様々な機能及びデータ処理を実行し、即ち前記方法実施形態に係る障害物検出方法を実現する。
メモリ902はプログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は障害物検出方法を実現するための電子設備の使用時に作成されたデータ等を記憶することができる。また、メモリ902は高速ランダムアクセスメモリを含んでもよいし、非一時的メモリを含んでもよく、例えば、少なくとも1つの磁気ディスク記憶素子、フラッシュメモリ素子、又は他の非一時的固体記憶素子である。いくつかの実施形態では、任意選択でメモリ902はプロセッサ901に対して遠隔設置されたメモリを含み、当該遠隔メモリはネットワークを介して障害物検出方法を実行する電子設備に接続されてもよい。前記ネットワークの例はインターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、その組み合わせを含むが、これに限定されない。
【0053】
障害物検出方法を実行する電子設備は、入力装置903及び出力装置904をさらに含んでもよい。プロセッサ901、メモリ902、入力装置903及び出力装置904はバス又は他の方式で接続されてもよく、
図10では、例示的にバスによって接続されたものである。
入力装置903は入力されたデジタル又は文字情報を受信し、障害物検出方法を実行する電子設備のユーザー設定や機能制御に関連するキー信号入力を生成することができ、例えば、タッチスクリーン、テンキー、マウス、トラックパッド、タッチパッド、インジケータスティック、1つ以上のマウスボタン、トラックボール、ジョイスティック等入力装置である。出力装置904は表示設備、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モーター)等を含んでもよい。当該表示設備は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイを含むが、これに限定されない。いくつかの実施形態では、表示設備はタッチスクリーンであってもよい。
【0054】
ここに記載のシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はその組み合わせにおいて実施できる。前記実施形態は次のものを含んでもよい。1つ以上のコンピュータプログラムにおいて実施され、当該1つ以上のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行及び/又は解釈されてもよく、当該プログラマブルプロセッサは専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置及び少なくとも1つの出力装置からデータ及びコマンドを受信し、且つデータ及びコマンドを当該記憶システム、当該少なくとも1つの入力装置及び当該少なくとも1つの出力装置に伝送することができる。
前記コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、コードともいう)にはプログラマブルプロセッサ用機械コマンドを含み、且つ高度なプロセス及び/又はオブジェクト指向のプログラミング言語、及び/又はアセンブリ/機械言語を用いて前記コンピュータプログラムを実施することができる。本明細書で、用語「機械可読媒体」及び「コンピュータ可読媒体」とは機械コマンド及び/又はデータをプログラマブルプロセッサに提供するあらゆるコンピュータプログラム製品、設備、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))であり、機械可読信号としての機械コマンドを受信する機械可読媒体を含む。用語「機械可読信号」とは、機械コマンド及び/又はデータをプログラマブルプロセッサに提供するためのあらゆる信号である。
【0055】
ユーザーとのインタラクションを実現するように、コンピュータにおいてここに記載のシステム及び技術を実現することができ、当該コンピュータは、ユーザーに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ))と、キーボードと、ポインティングデバイス(例えば、マウス又はトラックボール)を備え、ユーザーは当該キーボード及び当該ポインティングデバイスによってコンピュータに入力することができる。他にもユーザーとのインタラクションを実現するための装置がある。例えば、ユーザーへのフィードバックは感覚的なフィードバック(例えば、視覚的なフィードバック、聴覚的なフィードバック、触覚的なフィードバック)など任意の形態であってもよく、また任意の方式(声入力、音声入力、触覚入力)でユーザーの入力を受信することができる。
【0056】
ここに記載のシステム及び技術は、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバー)、又は中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザーインタフェース又はウェブブラウザーを備えるパソコンであって、ユーザーは当該グラフィカルユーザーインタフェース又は当該ウェブブラウザーによってここに記載のシステム及び技術の実施形態とインタラクションを行うことができる)、又は前記バックグラウンドコンポーネント、中間コンポーネント、もしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実施することができる。任意の方式又は媒体によるデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを互いに接続させることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットを含む。
【0057】
コンピュータシステムはクライアント及びサーバーを含んでもよい。クライアントとサーバーは一般に遠隔設置され、且つ通信ネットワークによって互いに接続される。コンピュータで実行されるクライアント-サーバー型配置のコンピュータプログラムによってクライアントとサーバーの関係を構成する。
本開示の実施形態の技術的解決手段によれば、画像における障害物の二次元検出枠の位置情報、三次元検出枠及び二次元投影枠の位置情報を利用して損失関数を構築し、当該障害物の三次元検出枠の位置情報を最適化することにより、障害物の三次元位置の予測結果の正確さを高めることができる。本開示の実施形態の障害物検出方法は三次元障害物の位置の路傍検知のシーンに適用され、車載カメラや他の監視カメラなどのシーンにも適用される。
なお、上記の様々なプロセスを踏まえて、ステップを並べ替え、追加、又は削除することができる。例えば、本開示に記載の各ステップは同時に実行されてもよいし、順に実行されてもよいし、他の順番で実行されてもよく、本開示の技術的解決手段の効果を得られるものであれば、本明細書では特に限定しない。
【0058】
上記のいくつかの実施形態は、本開示の保護範囲を限定するものと見なされない。当業者が理解したように、設計上の要件や他の要素に基づいて、様々な修正や、組み合わせ、置き換えを行うことができる。本開示の趣旨においてなされた修正、同等な置き換えや改善等は、いずれも本開示の保護範囲に含まれる。