Review: OpenStreetSLAM

G. Floros, B. van der Zander and B. Leibe, "OpenStreetSLAM: Global vehicle localization using OpenStreetMaps," 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, 2013, pp. ...

0. Introduction

๊ธฐ์กด GPS๋Š” ํ•ญ์ƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒŒ ์•„๋‹ˆ๊ณ (์Œ์˜ ์ง€์—ญ), ์˜ค์ฐจ๋„ ์ˆ˜ ๋ฏธํ„ฐ์— ๋‹ฌํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ตฌ์ž๋“ค์€ ์ด์ „๋ถ€ํ„ฐ ์ฐจ๋Ÿ‰ ์œ„์— ์žฅ์ฐฉ๋œ ์นด๋ฉ”๋ผ๋ฅผ ์ด์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋น„์ „ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. 1) Google Street View data์ฒ˜๋Ÿผ ํŠน์ˆ˜ํ•˜๊ฒŒ ์žฅ์ฐฉ๋œ ํ”Œ๋žซํผ [3]์—์„œ ํš๋“ํ•œ geotagged image corpora๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ localiztion์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ

2) VSLAM ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. VSLAM ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ ์ฃผ์š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” drift๊ฐ€ ๋ˆ„์ ๋˜์–ด ์žฅ๊ฑฐ๋ฆฌ์—์„œ localization์ด ์ž˜ ์•ˆ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ํ•ด๊ฒฐ์ฑ…์œผ๋กœ loop๋กœ ์šด์ „ํ•˜๊ณ  loopclosing์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

geotagged image corpora?

๊ธฐ๋ณธ์ ์ธ ๊ฐ€์ •์€ ๋‹จ๊ฑฐ๋ฆฌ์—์„œ VO๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ •ํ™•ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ์กด VO ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ ์šฉ๋˜๋Š” ์ด ๊ฐ€์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ง€๋„(OpenStreetMap)์„ ์ด์šฉํ•˜์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ •ํ™•ํ•œ ํ˜„์ง€ํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜„์ง€ํ™” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•œ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์˜ ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” ์ฐจ๋Ÿ‰์˜ ๋Œ€๋žต์ ์ธ ์ดˆ๊ธฐ GPS์œ„์น˜๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์ทจํ•˜๊ณ  ์ฃผ๋ณ€ ์ง€์—ญ์˜ ํ•ด๋‹น ์ง€๋„๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ณ  ํŠน์ • ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ์ฃผํ–‰ ํ•œ ํ›„์— ์ฐจ๋Ÿ‰์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ Monte Carlo Localization ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ํ†ตํ•ด VO๋ฅผ motion model์— ๋Œ€ํ•œ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  chamfer matching์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฐจ๋Ÿ‰์˜ ์œ„์น˜๋ฅผ ์ถ”์ ํ•˜์—ฌ ๋งต์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ hypotheses๋ฅผ ์ผ์น˜์‹œํ‚ค๊ณ  ํ‰๊ฐ€ํ•œ๋‹ค. ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด drift ์ถ•์ ๊ณผ ๊ฐ™์€ VO ์‹œ์Šคํ…œ์˜ ๊ธฐ์กด ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๋Š” ์„ฑ๋Šฅ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Monte Carlo Localization framework

VO์ชฝ์—์„œ Global localization์— ๊ด€ํ•œ ๋…ผ๋ฌธ๋“ค ์ค‘ Kitt et al. [5] ์™€ ์ตœ๊ทผ Alcantarilla et al. [6]๋ฅผ ์‚ดํŽด๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•๋“ค์˜ ๊ธฐ๋ณธ ํŒŒ์ดํ”„ ๋ผ์ธ์€ Feature extraction > feature matching > 3D reconstruction of point cloud > estimation of the pose of the vehicle์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. windowed bundle adjustment๋Š” ๋งˆ์ง€๋ง‰์— ์‹คํ–‰ํ•œ๋‹ค. ์ด ๋ฐฉ์‹์˜ ์ฃผ์š” ๋‹จ์ ์€ drift๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ˆ„์ ๋œ๋‹ค๋Š” ๊ฒƒ ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ฒฐ๊ตญ ์ฐจ๋Ÿ‰์ด ์ผ์ • ๊ฑฐ๋ฆฌ๋ฅผ ์ด๋™ ํ•œ ํ›„ localization error๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ์„œ ๋” ๋จผ ๊ฑฐ๋ฆฌ์—์„œ์˜ localization์ด ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

VO ์ ‘๊ทผ๋ฒ•๊ณผ ๋ณ‘ํ–‰ํ•˜์—ฌ VSLAM์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋งŽ๋‹ค [4], [7]. VSLAM ํŒŒ์ดํ”„ ๋ผ์ธ์€ VO ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ฐจ์ด์ ๋„ ์žˆ๋‹ค. ์ „์ž์˜ ๊ฒฝ์šฐ๋Š” ์žฌ๊ตฌ์„ฑ๋œ 3D ํฌ์ธํŠธ๊ฐ€ ๋žœ๋“œ๋งˆํฌ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ ๊ทธ 3D ํฌ์ธํŠธ๋“ค์˜ ์œ„์น˜๊ฐ€ ์นด๋ฉ”๋ผ ํฌ์ฆˆ์™€ ํ•จ๊ป˜ ์ตœ์ ํ™”๋œ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค. drift ๋ˆ„์ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ฐจ๋Ÿ‰์ด ๋ฃจํ”„์—์„œ ์šด์ „ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ฐจ๋Ÿ‰์œผ๋กœ ์ด์ „์— ๋™์ผํ•œ ๊ฒฝ๋กœ๋ฅผ ๋งคํ•‘ํ•ด์•ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋™์ผํ•œ ๋žœ๋“œ๋งˆํฌ๋ฅผ ์ธ์‹ํ•˜์—ฌ localization error๋ฅผ ๋ณด์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฃจํ”„์—์„œ ์šด์ „ํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์€ ์ƒํ™ฉ์ด ์•„๋‹ˆ๊ณ , ์‚ฌ์ „ ๊ณ„์‚ฐ๋œ ๋žœ๋“œ ๋งˆํฌ ์ด๋ฏธ์ง€์˜ feature map๋Š” ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ํฌ๋‹ค.

ํ•œํŽธ, ์ด๋ฏธ 2D (e.g. Google Maps, OpenStreetMaps) ๋˜๋Š” 3D ๊ฑฐ๋ฆฌ๋ทฐ(e.g. Google Maps 3D)์˜ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ์ง€๋„ ์ •๋ณด๋ฅผ Localization์— ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ตฌ๊ฐ€ ์žˆ์—ˆ๋‹ค. Hentschel et al. [8] ๊ฐ€ ๋กœ๋ด‡ ์œ„์น˜ ํŒŒ์•… ๋ฐ ํƒ์ƒ‰์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ์œ„ํ•ด OpenStreetMap์„ ์‚ฌ์šฉํ•œ ์ „๋ก€๊ฐ€ ์žˆ๋‹ค. building footprint๊ฐ€ ์žˆ๋Š” cadastral ์ง€๋„๊ฐ€ ์ถ”์ถœ๋˜๊ณ  Monte Carlo Localization framework๋ฅผ ํ†ตํ•ด ๋กœ๋ด‡์˜ GPS๋ฅผ ์‚ฌ์šฉํ•ด ๋กœ๋ด‡์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ์ตœ๊ทผ Senlet et al. [9], [10]์€ Google Static Maps๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Global localization์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์ œ์‹œํ–ˆ๋‹ค. Stereo depth map์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ๋ฉด์˜ local reconstruction์„ 2D๋งต๊ณผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹ ๋ชจ๋‘ OpenStreetMap์„ ์‚ฌ์šฉํ•˜์—ฌ localization ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ์„ ๋ณด์ธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋“ค์˜ ์‹œ์Šคํ…œ์€ initial localization์„ ์ˆ˜๋™์œผ๋กœ ํ•ด์•ผํ•˜๊ณ  ํ™˜๊ฒฝ์ด ๋น„๊ต์  ๋‹จ์ˆœํ•˜๊ณ  ์ด๋™ ๊ฒฝ๋กœ๊ฐ€ ์งง์€ ๊ต์™ธ ์ง€์—ญ์—์„œ๋งŒ ํ…Œ์ŠคํŠธ ๋˜์—ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฐ ์‹œ์Šคํ…œ์€ stereo depth estimation์ด๋‚˜ local 3D reconstruction์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ์—ฐ์‚ฐ ๋ถ€ํ•˜๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋†’๋‹ค.

์šฐ๋ฆฌ๋Š” street graph ํ˜•ํƒœ์˜ ์œ ์šฉํ•œ ์ง€๋„ ์ •๋ณด์™€ ํ•จ๊ป˜ VO ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜๋Š” ์ƒˆ๋กœ์šด global localization ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ์•ˆํ•œ๋‹ค. ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์€ ๋Œ€๋žต 1km ๋ฐ˜๊ฒฝ์˜ ์ง€๋„์—์„œ ์ฐจ๋Ÿ‰์˜ ์ดˆ๊ธฐ ์œ„์น˜๋ฅผ ์ž๋™์œผ๋กœ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ๋Œ€๋žต์ ์ธ ์ดˆ๊ธฐ GPS ์ถ”์ •๊ฐ’๋งŒ ํ•„์š”๋กœ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MCL ๋‹จ๊ณ„๋Š” chamfer matching์„ ํ†ตํ•ด Global localization ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์œ„์น˜ hypotheses๋ฅผ ๊ฑฐ๋ฆฌ ์ง€๋„์— ์ผ์น˜์‹œํ‚จ๋‹ค.

Visual Odometry pipeline.

์ด ์‹œ์Šคํ…œ์€ MCL ํ”„๋ ˆ์ž„ ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ VO๋Š” ํ”„๋ ˆ์ž„ ๊ฐ„ ์ฐจ๋Ÿ‰์˜ ์›€์ง์ž„์„ ์ถ”์ •ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ VO์˜ ๊ฒฐ๊ณผ๋ฌผ์„ Particle filter ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ Motion model์— ์ž…๋ ฅํ•˜์—ฌ ์—ฌ๋Ÿฌ particle์„ ์ƒ์„ฑํ•œ๋‹ค. ๊ฐ๊ฐ์˜ particle ์€ ์ง€๋„์™€ ์ผ์น˜ํ•˜๋Š” ์ •๋„์— ๋”ฐ๋ผ ํ‰๊ฐ€๋œ๋‹ค. ๋‹ค์Œ ์žฅ์—์„œ๋Š” ํ†ตํ•ฉ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ทธ ์กฐํ•ฉ์„ ์†Œ๊ฐœํ•˜๊ณ  ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

3. Visual Odometry (VO)

VO ๊ตฌ์„ฑ ์š”์†Œ์˜ front-end์—์„œ feature extraction์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€์—์„œ ์‹คํ–‰๋œ๋‹ค. ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์นด๋ฉ”๋ผ ์ด๋ฏธ์ง€์—์„œ Harris corners [11]๋ฅผ ์ถ”์ถœํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์„ธ ๊ฐ€์ง€ ์ด์œ ๋กœ ์ด specific type์˜ ๊ธฐ๋Šฅ์„ ์„ ํƒํ–ˆ๋‹ค. ์ฒซ์งธ, Harris corner๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ ๋ณ€ํ™˜์—์„œ ๋†’์€ ์‘๋‹ต ์•ˆ์ •์„ฑ๊ณผ ๋ฐ˜๋ณต์„ฑ์„ ๊ฐ–๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ์žˆ๋‹ค.[12] ๋‘˜์งธ, ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ real time ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•˜๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์—๋Š” loop closing ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— Scale invariance๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋” ์ •๊ตํ•œ descriptor๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ์šฐ๋ฆฌ๋Š” Nister et al[13] ์ฒ˜๋Ÿผ 10x10 Grid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์„ธ๋ถ„ํ™” ํ•˜์—ฌ 100๊ฐœ์˜ buckets ์— ๊ฐ๊ฐ relative threshold ์ ์šฉํ•˜์—ฌ ์ „์ฒด ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ๊ท ์ผํ•œ feature coverage๋ฅผ ์ ์šฉํ•œ๋‹ค.

relative threshold

http://egloos.zum.com/jinhwanlee/v/10488022

[13] ์˜ ๊ด€๋ จ๋‚ด์šฉ ์ •๋ฆฌ

์ถ”์ถœ๋œ ๊ฐ๊ฐ์˜ harris corner์— ๋Œ€ํ•ด 11x11 pixel patch descriptor๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์™ผ์ชฝ ๋ฐ ์˜ค๋ฅธ ์ชฝ์˜ ์ด๋ฏธ์ง€์˜ descriptor๋Š” normalized cross-correlation์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ํ”„๋ ˆ์ž„๊ณผ ์ผ์น˜์‹œํ‚จ๋‹ค. ์ด๋•Œ, feature๊ฐ€ mutual nearest neighbor์ธ ๊ฒฝ์šฐ๋งŒ ์ผ์น˜ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.[13] ๊ทธ ๋‹ค์Œ ์œ ํšจํ•œ ์ผ์น˜ ํ•ญ๋ชฉ์ด Triangulation ๋˜๊ณ  ํ•ด๋‹น 3D point๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

๋งˆ์ง€๋ง‰ ๋‹จ์—์„œ ์นด๋ฉ”๋ผ ์‹œ์Šคํ…œ์˜ ํฌ์ฆˆ๋Š” ์žฌ๊ตฌ์„ฑ ๋œ ํฌ์ธํŠธ ์ค‘ 3๋กœ๋ถ€ํ„ฐ ์ถ”์ •ํ•œ๋‹ค. ์นด๋ฉ”๋ผ ํฌ์ฆˆ์— ๋Œ€ํ•œ hypothesis๋Š” ๊ฐ triplet์—์„œ ์ƒ์„ฑ๋œ ๋‹ค์Œ RANSAC ํ”„๋ ˆ์ž„์›Œํฌ์— ์ž…๋ ฅ๋˜์–ด back-projection error measure ๊ธฐ๋ฐ˜์œผ๋กœ ํ‰๊ฐ€๋˜๊ณ  ์ตœ์ƒ์˜ hypothesis๋ฅผ ์„ ํƒํ•œ๋‹ค. ์šฐ๋ฆฌ VO ๊ตฌ์„ฑ ์š”์†Œ๋Š” feature-based์ด๋ฏ€๋กœ scene์—์„œ ๋‹ค๋ฅธ ์›€์ง์ด๋Š” ๋ฌผ์ฒด์˜ ์กด์žฌ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ์˜ํ–ฅ์„ ์™„ํ™”ํ•˜๋ ค๋ฉด, ์ผ์ • ์†๋„์˜ ์นผ๋งŒ ํ•„ํ„ฐ๋กœ ์นด๋ฉ”๋ผ ํฌ์ฆˆ๋ฅผ ์ถ”์ ํ•˜์—ฌ, ํฌ์ฆˆ ์ถ”์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ๋งˆ๋‹ค ์นด๋ฉ”๋ผ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ •ํ•œ๋‹ค. [15]

[15] ์‚ดํŽด๋ณด๊ธฐ

4. OpenStreetMap Data Representation

OpenStreetMap (OSM) ๋ฐ์ดํ„ฐ๋Š” ํ•ด๋‹น ์›น ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๊ฒฝ๋„ ๋ฐ ์œ„๋„ ์ธก๋ฉด์—์„œ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค b๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ด€์‹ฌ ์˜์—ญ์˜ ์ง€๋„๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๋‹ค. b=(latmin,lonmin,latmax,lonmax).b = (lat_{min}, lon_{min}, lat_{max}, lon_{max}).

์ง€๋„๋Š” XML ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋˜๋ฉฐ, nodes, ways ๋ฐ relations [16]์˜ ์„ธ ๊ฐ€์ง€ ๊ธฐ๋ณธ entities๋ฅผ ๊ตฌ์กฐ๋กœ ํ•œ๋‹ค. ๋…ธ๋“œ n์€ ์ง€๋„์˜ point ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ GPS ์ขŒํ‘œ, ์œ„๊ฒฝ๋„ n=(lat,lon)n = (lat,lon)๋กœ ์ •์˜๋œ๋‹ค. linear ๋ฐ area ์š”์†Œ๋“ค์€ w={ni}i=1...kw = \{n_{i}\}_{i=1...k} ์™€ ๊ฐ™์€ ํ˜•ํƒœ์˜ ๋…ธ๋“œ ์ง‘ํ•ฉ w๋กœ ํ‘œํ˜„๋œ๋‹ค. ๊ด€๊ณ„ r์€ ์•ž์„œ ์–ธ๊ธ‰ํ•œ geometric entities๊ฐ„์˜ ๋” ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์ธ๋‹ค. ๊ฑฐ๋ฆฌ๋‚˜ ๊ฑด๋ฌผ๊ณผ ๊ฐ™์€ ๊ด€์‹ฌ์˜์—ญ์˜ ๋งต์€ ํ•ด๋‹น ์˜์—ญ์˜ street graph๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด XML ํŒŒ์ผ์—์„œ ๋ฝ‘์•„์„œ ์จ์„œ ๋ชจ๋ธ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ง€๋„ ๊ตฌ์กฐ์— ๊ด€ํ•œ ๋‚ด์šฉ ์ถ”๊ฐ€ [16] ์ •๋ฐ€์ง€๋„๋ž‘ ๋น„๊ตํ•˜๋ฉด ๋” ์ข‹์Œ

5. Chamfer Matching

Chamfer matching์€ homogeneous ๋ณ€ํ™˜ H=(ฮธ,tx,ty)H=(\theta, t_x, t_y), HโˆˆSE(2)H \in SE(2)์„ ์ฐพ์•„์„œ query edge map Q={qi}Q =\{q_i\}์„ template edge map T={ti}T = \{t_i\} ์™€ ๋งค์น˜์‹œํ‚ค๊ณ  ์ •๋ ฌํ•˜๋Š” ์ธ๊ธฐ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋Œ€์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ตœ์†Œํ™” ๋ฌธ์ œ๋กœ ๊ณต์‹ํ™” ๋  ์ˆ˜ ์žˆ๋‹ค.

chamfer matching ์ž์„ธํ•˜๊ฒŒ ๊ณต๋ถ€

Chamfer matching ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‘ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ๋‹ค. ์ฒซ์งธ, query๊ฐ€ templete์— ์ •ํ™•ํžˆ ๋งž์ง€ ์•Š๋”๋ผ๋„ ๊ฐ€์žฅ ์ผ์น˜ํ•˜๋Š” ์ •๋ ฌ์„ ์ฐพ์Œ์œผ๋กœ์จ ์ž‘์€ ์ •๋ ฌ ๋ถˆ๋Ÿ‰ ๋ฐ ๋ณ€ํ˜•์— ๊ฐ•ํ•˜๋‹ค. ๋‘˜์งธ, distance transform image๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค์นญ cost๋ฅผ ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ์—ฐ์‚ฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ, distance transform์˜ ์—ฐ์‚ฐ์€ ์ด๋ฏธ์ง€๋ฅผ ๋‘ ๋ฒˆ ํ†ต๊ณผํ•ด์•ผํ•˜๋ฉฐ [18] linear complexity O(n)O(n)์—์„œ (3)์˜ ํ‰๊ฐ€๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ์ ‘๊ทผ๋ฒ•[19], [20]์€ ๊ฐ€์žฅ์ž๋ฆฌ ๋ฐฉํ–ฅ์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ chamfer matching ์˜ robustness๋ฅผ ๋†’์ด๋ ค ํ–ˆ๋‹ค. ์ด๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•ด edge๋ฅผ ์—ฌ๋Ÿฌ ๋ฐฉํ–ฅ์˜ ํ‰๋ฉด์œผ๋กœ quantize ํ•˜๊ฑฐ๋‚˜, ๋”ฐ๋กœ ์ถ”์ •ํ•˜๊ฑฐ๋‚˜, ์ถ”๊ฐ€ ๋ฐฉํ–ฅ term์„ ํฌํ•จํ•˜๋„๋ก matching cost function๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹๋“ค์€ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ•˜์ง€๋งŒ ์—ฐ์‚ฐ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

์ตœ๊ทผ Liu et al. ์˜ FDCM (Fast Directional Chamfer Matching) [21]์€ edge orientation ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„์ž…ํ–ˆ์œผ๋ฉฐ ๋™์‹œ์— ๋‹ค๋ฅธ Chamfer ๋งค์นญ ๋ณด๋‹ค 45๋ฐฐ ๋น ๋ฅด๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ edge map์ด ์ผ๋ จ์˜ 2D point ์—์„œ line segment๋กœ ๋ณ€ํ™˜๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ด์šฉํ–ˆ๋‹ค. ์ด ๋ณ€ํ™˜์€ mโ‰ชnm\ll n์ผ ๋•Œ, edge set์˜ cardinality๋ฅผ nn๊ฐœ์˜ ์ ์—์„œ mm๊ฐœ์˜ ์„ ๋ถ„์œผ๋กœ ์ค„์ธ๋‹ค.

์—์ง€ ๋ฐฉํ–ฅ ์ •๋ณด๊ฐ€ ๋งค์นญ ๋น„์šฉ ํ•จ์ˆ˜์— ์ถ”๊ฐ€๋˜๊ณ  3D ๊ฑฐ๋ฆฌ ๋ณ€ํ™˜์ด ๊ณ„์‚ฐ๋˜์–ด ๋งค์นญ ๋น„์šฉ ํ•จ์ˆ˜๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Last updated

Was this helpful?