自律走行ロボットの道なり走行のための消失点検出方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[太田研 公開用Wiki]]
*自律走行ロボットの道なり走行のための消失点検出方法 [#o23...
#contents
*はじめに [#j05b81c6]
自律走行ロボットは主に,LiDARやカメラ、GNSSなどの外界セン...
しかしながら遮蔽物があった場合などにそれらのセンサを用い...
それに対し、人間は目で見て道路の状況を確認し、道なりに歩...
本研究では、このような道なり走行をロボットに行わせるため...
提案手法としては、始めにカメラ画像からエッジ情報を取得す...
直線を出力し、出力した直線の交点を求める。求めた交点が多...
平均化した座標を消失点として設定するよう設計した。
*消失点 [#b2f505e1]
消失点とは3次元的に見て本来路面に対して平行な建造物の屋根...
この点は理論的には無限遠法である。また、消失点は遠近法に...
消失点は立体を描く際にも描く指標となる。消失点を一つ設定...
消失点は建造物に囲まれている道では正面に現れる。
そのためそのような道を道なりに進む場合、消失点が進行方向...
ゆえに消失点検出を行うことで自律走行ロボットに道なり走行...
*提案手法 [#d93ccc79]
はじめにカメラ画像からエッジ検出を行う。
まずカメラ画像をグレー画像に変換する。
エッジ検出を行う場合、画像中に含まれ明るさなどが急に変化...
カメラ画像に含まれる色情報は不要となる。
そのためエッジ検出を行う前にグレー画像に変換することで、
不要な色情報を削除する。
CENTER:#ref(bg.jpg,center,20%)
CENTER:&size(14){図1:グレースケール};
次に変換されたグレー画像にCanny法を行う。
なお、今回は影の影響を抑えるためヒストグラム平坦化を行い...
エッジ情報を所得する。
CENTER:#ref(result000000_0_g.jpg,center,20%)
CENTER:&size(14){図2:平坦化したグレースケール};
CENTER:#ref(result000000_0_c.jpg,center,20%)
CENTER:&size(14){図3:エッジ画像};
**直線検出 [#aea9969c]
次に直線検出を行う。
今回は自律走行ロボットに搭載することを想定して計算量の少...
取得したエッジ画像に確率的Hough変換を行い、求めた直線を元...
求めた直線は赤で出力した。
CENTER:#ref(result000000_0_bl.jpg,center,20%)
CENTER:&size(14){図4:直線検出};
また、消失点検出を行う際に3次元的に路面に水平な直線を用い...
路面の模様や建造物の壁の縁や窓枠の縦部分などは削除する。
そのため直線の角度を計算し、直線を区別する必要がある。
直線を区別するため、Hough変換で求められるθを復元する必要...
そのため2点(x_1 , y_1),(x_2 , y_2)を通る直線の方程式を用...
確率的Hough変換では直線の両端点の座標が分かっているため、...
3角形の高さと底辺が分かることで求める角度θは次の式で求め...
CENTER:θ = atan(β/α)
θの値が0に近い、すなわち画像に対して水平に近い直線を緑、
θの値が1.25より大きい、または-1.25より小さい場合は画像に...
その他、消失点検出に必要な直線を赤でそれぞれ示した。
CENTER:#ref(result000000_0_l.jpg,center,20%)
CENTER:&size(14){図5:色分けした直線};
**交点検出 [#x88526e0]
求めた2直線の方程式を連立して解いて交点の座標を求める数式...
2直線の通る点をそれぞれ(x_1 , y_1) , (x_2 , y_2)と(x_3 , ...
として2直線の方程式を解く。
a_1 = (y_2 - y_1)/(x_2 - x_1) , a_3 = (y_4 - y_3)/(x_4 - ...
CENTER:x = (a_1*x_1-a_3*x_3-y_1+y_3)/a_1-a_3
CENTER:y = a_1*{((x_1-x_3)*a_3-y_1+y_3)/(a_1-a_3)} + y_1
で表すことができる。
交点の検出には区別した赤線のみを使用した。以下の画像では...
CENTER:#ref(result000000_0_x.jpg,center,20%)
CENTER:&size(14){図6:交点検出};
**消失点検出 [#s2a6dca1]
求めた交点から消失点を求める。
まず求めた交点の一つを選択し、その交点を中心として±10画素...
その範囲内にある交点の数をカウントする。
この動作を求めた交点すべてを中心として行い、範囲内の交点...
最も多くの交点が含まれる範囲を選択し、範囲内の交点の座標(...
平均化し、得た値を消失点の座標(x_v , y_v)とする。
求めた消失点を以下の画像に緑色の円の中心として設定してい...
CENTER:#ref(result000000_0_v.jpg,center,20%)
CENTER:&size(14){図7:消失点検出};
*実験 [#q9a8ae70]
今回実験に使用する画像群として実際に自律走行ロボットのカ...
群馬大学桐生キャンパス構内の画像を使用した。
実際に使用した画像として3号館裏の通路10枚、6号館横の通路1...
ファイルの容量上添付はしていない。
結果画像として3枚ずつ添付する
#ref(result000000_0_v.jpg,center,20%)
#ref(result000001_0_v.jpg,center,20%)
#ref(result000002_0_v.jpg,center,20%)
CENTER:&size(14){図8:結果画像群1};
図8から3枚の連続した画像の出力した消失点の位置はおよそ同...
#ref(result000050_0_v.jpg,center,20%)
#ref(result000051_0_v.jpg,center,20%)
#ref(result000052_0_v.jpg,center,20%)
CENTER:&size(14){図9:結果画像群2};
図9の画像を見ても図8と同じようにおよそ同じ位置に消失点が...
*考察 [#g4cceadc]
結果画像から今回の手法を用いて消失点を検出することが可能...
また消失点が正面でない場合、すなわち実験画像群2の場合でも...
このことから今回の手法は消失点を検出する上で効果的な手法...
しかし、画像ごとにズレがあることも分かる。
このズレの原因といては、消失点検出を行う上で必要のない直...
直線検出を行うタイミングで水平線と垂直線は除外しているが...
結果画像から考えられる必要のない赤線は短い直線が多い。
そのため、直線を検出するタイミングで今回設定したパラメー...
しかし、短い直線を除外すると消失点検出に必要な直線も除外...
そのため、今回の手法で求めた消失点の信頼度が下がると考え...
また、実際に自律走行ロボットに搭載する場合、リアルタイム...
ズレが走行中に大きなズレを生み出すことが考えられる。
自律走行ロボットに搭載する場合、消失点が常にカメラ画像の...
そのため検出した消失点が正面からずれるとそのズレを修正し...
向きを変えた後にも消失点検出を行うためさらにロボットの向...
このことから画像上では小さなズレが実際に走行させると大き...
この解決策として、消失点の表示する位置を画像の中心に近い...
しかし、この解決策を実行すると消失点が検出されず、ロボッ...
そのため消失点の検出を常に行うのではなく、ロボットが数メ...
今後、実際に自律走行ロボットに搭載し、そのような走行を行...
走行の制御中に解決するか決定する必要があると考えられる。
*まとめ [#c4d637d2]
本論文では自律走行ロボットの走行補助のため消失点検出を行...
提案手法では直線検出を行う手法としてHough変換を用いた。
自律走行ロボットに搭載することを考え、その中でも計算量の...
求めた直線の方程式をたて、この方程式から交点を求める。
求めた交点が最も多く集中している範囲を選択し、範囲内にあ...
平均化した座標を消失点とした。
実験として、実際に自律走行ロボットのカメラで撮影した画像...
提案手法を実行した。
今回使用した画像群として、まっすぐに進んだ画像と、右にず...
結果画像からまっすぐに進んだ場合だけでなく、カメラの向き...
正常に検出が行われていることを確認した。
今後の課題として、実際に自律走行ロボットに搭載し、走行実...
実験を行った結果を確認し、見つかった問題点に対する解決策...
また、今回は直線道路を走行することを想定しており、曲がり...
そのため、今回の手法以外に曲がり角を正常に走行する手法が...
*参考文献 [#rdd7df62]
{1}コンピュータ画像処理・田村秀行編著
{2}平成23年度修士論文 路面パターンと画像直線を用いた自律...
{3}建築画像の消失点検出手法の開発とそれに基づく3次元建築...
{4}C言語で学ぶ実践画像処理 井上誠喜 八木信行 林正樹 ...
{5}https://opencv.org/
{6}A Mobility Aid System with Image Sencers for Blind:Det...
終了行:
[[太田研 公開用Wiki]]
*自律走行ロボットの道なり走行のための消失点検出方法 [#o23...
#contents
*はじめに [#j05b81c6]
自律走行ロボットは主に,LiDARやカメラ、GNSSなどの外界セン...
しかしながら遮蔽物があった場合などにそれらのセンサを用い...
それに対し、人間は目で見て道路の状況を確認し、道なりに歩...
本研究では、このような道なり走行をロボットに行わせるため...
提案手法としては、始めにカメラ画像からエッジ情報を取得す...
直線を出力し、出力した直線の交点を求める。求めた交点が多...
平均化した座標を消失点として設定するよう設計した。
*消失点 [#b2f505e1]
消失点とは3次元的に見て本来路面に対して平行な建造物の屋根...
この点は理論的には無限遠法である。また、消失点は遠近法に...
消失点は立体を描く際にも描く指標となる。消失点を一つ設定...
消失点は建造物に囲まれている道では正面に現れる。
そのためそのような道を道なりに進む場合、消失点が進行方向...
ゆえに消失点検出を行うことで自律走行ロボットに道なり走行...
*提案手法 [#d93ccc79]
はじめにカメラ画像からエッジ検出を行う。
まずカメラ画像をグレー画像に変換する。
エッジ検出を行う場合、画像中に含まれ明るさなどが急に変化...
カメラ画像に含まれる色情報は不要となる。
そのためエッジ検出を行う前にグレー画像に変換することで、
不要な色情報を削除する。
CENTER:#ref(bg.jpg,center,20%)
CENTER:&size(14){図1:グレースケール};
次に変換されたグレー画像にCanny法を行う。
なお、今回は影の影響を抑えるためヒストグラム平坦化を行い...
エッジ情報を所得する。
CENTER:#ref(result000000_0_g.jpg,center,20%)
CENTER:&size(14){図2:平坦化したグレースケール};
CENTER:#ref(result000000_0_c.jpg,center,20%)
CENTER:&size(14){図3:エッジ画像};
**直線検出 [#aea9969c]
次に直線検出を行う。
今回は自律走行ロボットに搭載することを想定して計算量の少...
取得したエッジ画像に確率的Hough変換を行い、求めた直線を元...
求めた直線は赤で出力した。
CENTER:#ref(result000000_0_bl.jpg,center,20%)
CENTER:&size(14){図4:直線検出};
また、消失点検出を行う際に3次元的に路面に水平な直線を用い...
路面の模様や建造物の壁の縁や窓枠の縦部分などは削除する。
そのため直線の角度を計算し、直線を区別する必要がある。
直線を区別するため、Hough変換で求められるθを復元する必要...
そのため2点(x_1 , y_1),(x_2 , y_2)を通る直線の方程式を用...
確率的Hough変換では直線の両端点の座標が分かっているため、...
3角形の高さと底辺が分かることで求める角度θは次の式で求め...
CENTER:θ = atan(β/α)
θの値が0に近い、すなわち画像に対して水平に近い直線を緑、
θの値が1.25より大きい、または-1.25より小さい場合は画像に...
その他、消失点検出に必要な直線を赤でそれぞれ示した。
CENTER:#ref(result000000_0_l.jpg,center,20%)
CENTER:&size(14){図5:色分けした直線};
**交点検出 [#x88526e0]
求めた2直線の方程式を連立して解いて交点の座標を求める数式...
2直線の通る点をそれぞれ(x_1 , y_1) , (x_2 , y_2)と(x_3 , ...
として2直線の方程式を解く。
a_1 = (y_2 - y_1)/(x_2 - x_1) , a_3 = (y_4 - y_3)/(x_4 - ...
CENTER:x = (a_1*x_1-a_3*x_3-y_1+y_3)/a_1-a_3
CENTER:y = a_1*{((x_1-x_3)*a_3-y_1+y_3)/(a_1-a_3)} + y_1
で表すことができる。
交点の検出には区別した赤線のみを使用した。以下の画像では...
CENTER:#ref(result000000_0_x.jpg,center,20%)
CENTER:&size(14){図6:交点検出};
**消失点検出 [#s2a6dca1]
求めた交点から消失点を求める。
まず求めた交点の一つを選択し、その交点を中心として±10画素...
その範囲内にある交点の数をカウントする。
この動作を求めた交点すべてを中心として行い、範囲内の交点...
最も多くの交点が含まれる範囲を選択し、範囲内の交点の座標(...
平均化し、得た値を消失点の座標(x_v , y_v)とする。
求めた消失点を以下の画像に緑色の円の中心として設定してい...
CENTER:#ref(result000000_0_v.jpg,center,20%)
CENTER:&size(14){図7:消失点検出};
*実験 [#q9a8ae70]
今回実験に使用する画像群として実際に自律走行ロボットのカ...
群馬大学桐生キャンパス構内の画像を使用した。
実際に使用した画像として3号館裏の通路10枚、6号館横の通路1...
ファイルの容量上添付はしていない。
結果画像として3枚ずつ添付する
#ref(result000000_0_v.jpg,center,20%)
#ref(result000001_0_v.jpg,center,20%)
#ref(result000002_0_v.jpg,center,20%)
CENTER:&size(14){図8:結果画像群1};
図8から3枚の連続した画像の出力した消失点の位置はおよそ同...
#ref(result000050_0_v.jpg,center,20%)
#ref(result000051_0_v.jpg,center,20%)
#ref(result000052_0_v.jpg,center,20%)
CENTER:&size(14){図9:結果画像群2};
図9の画像を見ても図8と同じようにおよそ同じ位置に消失点が...
*考察 [#g4cceadc]
結果画像から今回の手法を用いて消失点を検出することが可能...
また消失点が正面でない場合、すなわち実験画像群2の場合でも...
このことから今回の手法は消失点を検出する上で効果的な手法...
しかし、画像ごとにズレがあることも分かる。
このズレの原因といては、消失点検出を行う上で必要のない直...
直線検出を行うタイミングで水平線と垂直線は除外しているが...
結果画像から考えられる必要のない赤線は短い直線が多い。
そのため、直線を検出するタイミングで今回設定したパラメー...
しかし、短い直線を除外すると消失点検出に必要な直線も除外...
そのため、今回の手法で求めた消失点の信頼度が下がると考え...
また、実際に自律走行ロボットに搭載する場合、リアルタイム...
ズレが走行中に大きなズレを生み出すことが考えられる。
自律走行ロボットに搭載する場合、消失点が常にカメラ画像の...
そのため検出した消失点が正面からずれるとそのズレを修正し...
向きを変えた後にも消失点検出を行うためさらにロボットの向...
このことから画像上では小さなズレが実際に走行させると大き...
この解決策として、消失点の表示する位置を画像の中心に近い...
しかし、この解決策を実行すると消失点が検出されず、ロボッ...
そのため消失点の検出を常に行うのではなく、ロボットが数メ...
今後、実際に自律走行ロボットに搭載し、そのような走行を行...
走行の制御中に解決するか決定する必要があると考えられる。
*まとめ [#c4d637d2]
本論文では自律走行ロボットの走行補助のため消失点検出を行...
提案手法では直線検出を行う手法としてHough変換を用いた。
自律走行ロボットに搭載することを考え、その中でも計算量の...
求めた直線の方程式をたて、この方程式から交点を求める。
求めた交点が最も多く集中している範囲を選択し、範囲内にあ...
平均化した座標を消失点とした。
実験として、実際に自律走行ロボットのカメラで撮影した画像...
提案手法を実行した。
今回使用した画像群として、まっすぐに進んだ画像と、右にず...
結果画像からまっすぐに進んだ場合だけでなく、カメラの向き...
正常に検出が行われていることを確認した。
今後の課題として、実際に自律走行ロボットに搭載し、走行実...
実験を行った結果を確認し、見つかった問題点に対する解決策...
また、今回は直線道路を走行することを想定しており、曲がり...
そのため、今回の手法以外に曲がり角を正常に走行する手法が...
*参考文献 [#rdd7df62]
{1}コンピュータ画像処理・田村秀行編著
{2}平成23年度修士論文 路面パターンと画像直線を用いた自律...
{3}建築画像の消失点検出手法の開発とそれに基づく3次元建築...
{4}C言語で学ぶ実践画像処理 井上誠喜 八木信行 林正樹 ...
{5}https://opencv.org/
{6}A Mobility Aid System with Image Sencers for Blind:Det...
ページ名: