Published on

๐Ÿ“–STUDY | Overview of SLAM

๋ณธ ํฌ์ŠคํŒ…์€ SLAM์— ๊ฐœ๊ด„์ ์ธ ๊ฒƒ๋“ค์„ ์†Œ๊ฐœ ๋ชฉํ‘œ๋กœ ์ž‘์„ฑ์ด ๋˜์—ˆ๋‹ค. ์˜จ๋ณด๋”ฉ์„ ์œ„ํ•ด ๊ธ‰ํ•˜๊ฒŒ ๋ถ„์•ผ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์กฐ์‚ฌ๋งŒ ์ด๋ฃจ์–ด์ ธ์„œ ์ˆ˜์ •์‚ฌํ•ญ์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ ์•„๋ž˜ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ๊ธธ ๋ฐ”๋žŒ.

Overview

์šฉ์–ด ์ •๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์•ˆ๋˜์–ด ์žˆ์–ด์„œ terminology๋ฅผ ํฌ์ปค์Šค๋กœ ๋‘๊ณ  ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜๋‹ค. ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚ด ์ง€๋‚œ ์—ฐ๊ตฌ๋ฅผ ์†Œ๊ฐœํ•˜๋ฉด ํœด๋จธ๋…ธ์ด๋“œ ๋ชจ๋ธ์„ ๋ชจ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„œ ๊ฐ•ํ™”ํ•™์Šต์„ ํ†ตํ•ด ์›ํ•˜๋Š” task๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ์ œ์˜€๋‹ค. ์—ฐ๊ฒฐ์ ์„ ๊ตณ์ด ์ฐพ์ž๋ฉด, ๋กœ๋ณดํ‹ฑ์Šค์—์„œ๋Š” sim2real์ด๋ผ๊ณ  ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์—ฐ๊ตฌ๋ฅผ ํ•ด์™”๋Š”๋ฐ, ์ด ๋ถ€๋ถ„์ด ์ „์ฒด์ ์ธ SLAM ๋‹จ๊ณ„์—์„œ๋Š” Planning&control ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

์ข€ ๋” ์นœ์ ˆํ•œ ์„ค๋ช…์„ ์œ„ํ•ด์„œ ๋‚ด ๋ฐฉ์‹์œผ๋กœ SLAM์„ ์ ‘๊ทผํ•ด๋ณด๊ฒ ๋‹ค.

๋กœ๋ด‡์˜ ํ–‰๋™์„ ์ค‘์‹ฌ์œผ๋กœ ์šฉ์–ด๋ฅผ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  • Perception(์ธ์ง€): SLAM (Localization & Mapping)
  • Action(ํ–‰๋™): Planning & Control

์š”์•ฝ์„ ํ•˜๋ฉด, ์ธ์ง€ ๋ถ€๋ถ„์—์„œ๋Š” ๋กœ๋ด‡ ์Šค์Šค๋กœ๊ฐ€ ์ „์ฒด์ ์ธ ํ™˜๊ฒฝ์„ buildํ•˜๊ณ  ํ•ด๋‹น ํ™˜๊ฒฝ์—์„œ ์–ด๋””์— ์žˆ๋Š”์ง€ ์Šค์Šค๋กœ ์ธ์ง€๋ฅผ ํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ํ–‰๋™์„ ์ทจํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

What is SLAM?

Simultaneous Localization And Mapping ์˜ ์ค€๋ง์ด๋‹ค. ์ง์—ญํ•˜๋ฉด ๋™์‹œ์— ์œ„์น˜ ์ถ”์ •๊ณผ ๋งตํ•‘์œผ๋กœ ํ’€์–ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์œ„ ์‚ฌ์ง„์€ ์ „ํ˜•์ ์ธ SLAM ํŒŒ์ดํ”„๋ผ์ธ์ธ๋ฐ, ๋ฐ์ดํ„ฐ ์Šต๋“์„ ์ œ์™ธํ•˜๊ณ 

  • Localization: Visual Odometry(VO), Loop closure, Backend optimization
  • Mapping: Map representation

๋กœ๋ณดํ‹ฑ์Šค์—์„œ ์ž์ฃผ ์ถœ์—ฐํ•˜๋Š” ์šฉ์–ด์ธ frontend์™€ backend์˜ ํฐ ์ฐจ์ด์ ์€ ์™ธ๋ถ€ ์„ผ์„œ๋กœ ์ง์ ‘ ์–ป์€ ์ •๋ณด๋ฅผ ์ง์ ‘ ์ฒ˜๋ฆฌ ์œ ๋ฌด๋กœ ๋‚˜๋‰˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

  • Frontend: Data acquisition, VO, Loop closure
  • Backend: Backend optimization, Map representation

๊ฒฐ๋ก ์ ์œผ๋กœ SLAM์€ ๋กœ๋ด‡ ์Šค์Šค๋กœ๊ฐ€ ์ž์‹ ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์ธ์‹(localization) ํ•˜๊ณ  ์ฃผ๋ณ€์— ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ(mapping), ์ด ๋‘ ๊ฐ€์ง€์˜ ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๊ณ ์ž ํ•˜๋Š” ๋ฐฉํ–ฅ์ด ๊ณง SLAM์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Camera Calibration

๐ŸŽฏ ๋ชฉํ‘œ: ์นด๋ฉ”๋ผ์— ๋Œ€ํ•œ ์ž์„ธ(์œ„์น˜ ๋ฐ ๋ฐฉํ–ฅ, pose)๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์‹ค์„ธ๊ณ„ 3์ฐจ์› ์ ๊ณผ ์นด๋ฉ”๋ผ๋กœ ์บก์ณํ•œ ์ด๋ฏธ์ง€์˜ ํ•ด๋‹น ํˆฌ์˜๋œ ํ”ฝ์…€๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ตฌํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์นด๋ฉ”๋ผ์— ๋Œ€ํ•œ initial ์ •๋ณด๋“ค์„ ์„ ํ–‰์ ์œผ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณธ์ธ์€ ์ดํ•ดํ–ˆ๋‹ค..

Preliminary๋กœ ์•Œ์•„์•ผํ•  ์ •๋ณด๋Š” ์ขŒํ‘œ๊ณ„ ๋ณ€ํ™˜์œผ๋กœ ์ด ๊ณผ์ •์—์„œ transformation matrix๋กœ ๊ณ„์‚ฐ์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๋ณดํ†ต์€ ์นด๋ฉ”๋ผ์™€ ์‹ค์„ธ๊ณ„ ์‚ฌ์ด ์ขŒํ‘œ ๊ธฐ์ค€์œผ๋กœ ๋ณ€ํ™˜์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด์™€ ๊ด€๋ จํ•ด์„œ๋Š” ์œ ์‚ฌํ•˜๊ฒŒ ์ปดํ“จํ„ฐ๊ทธ๋ž˜ํ”ฝ์Šค ํŒŒ์ดํ”„๋ผ์ธ์„ ์ดํ•ดํ•˜๋ฉด ํ–‰๋ ฌ๋ณ€ํ™˜ ๋ถ€๋ถ„์— ์žˆ์–ด์„œ๋Š” ์ดํ•ด๊ฐ€ ์ˆ˜์›”ํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค(?)

์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด calibration์€ ๋‘ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋Š”๋ฐ,

  • Intrinsic: ์นด๋ฉ”๋ผ ๋‚ด๋ถ€ ๊ด€๋ จ ์ •๋ณด๋“ค - ์ดˆ์  ๊ฑฐ๋ฆฌ, ๊ด‘ํ•™ ์ค‘์‹ฌ, ์™œ๊ณก ๊ณ„์ˆ˜
  • Extrinsic: ์นด๋ฉ”๋ผ ์™ธ๋ถ€ ๊ด€๋ จ ์ •๋ณด๋“ค - ์นด๋ฉ”๋ผ์˜ ํšŒ์ „ ๋ฐ ์ด๋™
์ขŒํ‘œ๊ณ„ ํ–‰๋ ฌ ๊ณ„์‚ฐ ์ˆœ์„œ์ขŒํ‘œ๊ณ„ ํ–‰๋ ฌ ๊ณต์‹

์ข€ ์ดํ•ด๊ฐ€ ์•ˆ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ๊ฒฐ๊ตญ์—๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ โฌ… ์™ผ์ชฝ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ชจ์–‘์ƒˆ๊ฐ€ ์ขŒํ‘œ๊ณ„ ์ž…์žฅ์—์„œ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ”ํžˆ ํ—ท๊น”๋ฆด์ˆ˜ ์žˆ๋Š” cam2world ๊ฐ™์€ ๋ณ€ํ™˜ ํ–‰๋ ฌ์€ ์นด๋ฉ”๋ผ ์ž์ฒด๋ฅผ world ์ขŒํ‘œ๊ณ„์— ๋†“๋Š”๋‹ค๊ธฐ ๋ณด๋‹จ ์นด๋ฉ”๋ผ์˜ ์ขŒํ‘œ๊ณ„๋ฅผ world ์ขŒํ‘œ๊ณ„ ์ž์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์œ„ ํ•จ์ˆ˜๋Š” world2cam ๋ณ€ํ™˜ ์ขŒํ‘œ๊ณ„๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Œ..!

Distortion

๋ฐ์ดํ„ฐ๋ฅผ ์นด๋ฉ”๋ผ๋ฅผ ํ†ตํ•ด ์Šต๋“์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์นด๋ฉ”๋ผ์˜ ์™œ๊ณก ํ˜„์ƒ์„ ํ’€์–ด์•ผํ•œ๋‹ค. ์ด๋Š” Calibration ๊ณผ์ •์—์„œ ์–ป์€ distortion parameter(์™œ๊ณก ๊ณ„์ˆ˜)๋กœ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค์ฐจ๋“ค์„ ์ตœ์†Œํ™”ํ•˜๊ณ  SLAM์˜ ๋ชจ๋“  ๊ณผ์ •์€ "์นด๋ฉ”๋ผ๊ฐ€ ์ •ํ™•ํ•˜๋‹ค"๋ฅผ ์ „์ œ๋กœ ๊น”๊ณ  ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ•„์ˆ˜๋ถˆ๊ฐ€๊ฒฐํ•œ ๋ถ€๋ถ„์ด๋‹ค.

๋” ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด outlier๋กœ ์ธํ•œ ๋…ธ์ด์ฆˆ ๋ฐ feature detection error ๊ทธ๋ฆฌ๊ณ  ์นด๋ฉ”๋ผ๊ฐ€ ์ •ํ™•ํ•œ parameter๊ฐ€ ์žˆ๋‹ค๋Š” ์ „์ œํ•˜์— ๊ณ„์‚ฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์„ค์ •์ด ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค.

๋ณดํ†ต Calibration ๊ณผ์ •์€ Zhang's method๋ผ๊ณ  ํ•ด์„œ ์™ธ๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๋‚ด๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ calibrationํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 10๋…„์ „ ๋ถ€ํ„ฐ๋Š” ๋”ฅ๋Ÿฌ๋‹๊ณผ ์ ‘๋ชฉํ•ด์„œ intrinsic, extrinsic ๋ถ€๋ถ„์˜ ์™œ๊ณก์„ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žˆ์–ด ์™”๋‹ค.

์ด๋ฅผ undistortion ๊ณผ์ •์œผ๋กœ ์ „์ฒ˜๋ฆฌ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •๋“ค์ด ์žˆ๋‹ค.

Intrinsic Distortion

  • Radial distortion: ๋ Œ์ฆˆ์˜ ๊ตด์ ˆ์— ์˜ํ•œ ์™œ๊ณก
  • Tangential distortion: ๋ Œ์ฆˆ๊ฐ€ ์ด๋ฏธ์ง€์™€ ํ‰ํ–‰ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ์™œ๊ณก

Extrinsic Distortion

๋ณดํ†ต์€ OpenCV์—์„œ ์ œ๊ณตํ•˜๋Š” SolvePNP๋กœ ํ•ด๊ฒฐํ•œ๋‹ค. ์˜์ƒ์„ ํ†ตํ•ด ํš๋“ํ•œ ์นด๋ฉ”๋ผ์˜ ์œ„์น˜ ๋ฐฉํ–ฅ(camera pose)๋ฅผ ํš๋“ํ•œ๋‹ค.

๋‹ค๋ฅธ ๋Œ€์•ˆ์œผ๋กœ PNP์—์„œ ๋ฐœ์ „๋œ ์—ฌ๋Ÿฌ ์—ฐ๊ตฌ๊ฐ€ ์žˆ๋Š”๋ฐ, ๋”ฅ๋Ÿฌ๋‹์œผ๋กœ ํ‘ธ๋Š” ์‹œ๋„๋“ค์ด ์žˆ๋‹ค.

  • EPnP(Efficient PnP): ์†๋„, ์ •ํ™•์„ฑ โฌ†๏ธ, ์‹ค์‹œ๊ฐ„ ํ™œ์šฉ
  • UPnP(Uncalibrated Perspective-n-Point): extrinsic+intrinsic parameter ์ถ”์ •, camera calibration์„ ์ •ํ™•ํžˆ ๋ชจ๋ฅผ ๋•Œ ์œ ์šฉ
  • POSIT(Pose from Orthography and Scaling with Iteration): ์นด๋ฉ”๋ผ๊ฐ€ orthographic์ผ ๋•Œ
  • P3P(Perspective-n-Point with Three Correspondences): 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉ
  • LHM(Linear-iterative Hybrid Method)
  • DSAC(Differentiable Sample Consensus)
  • Deep PnP: EPro-PNP์™€ ๊ฐ™์ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด 2D-3D ๋งค์นญ์Œ์„ ์ฐพ์Œ์œผ๋กœ ์ •ํ™•ํ•œ pose ์ถ”์ • ๊ฐ€๋Šฅ
  • Global PnP: global optimal solution, robust to outliers but higher computational cost

Visual Odometry

๋ฐ์ดํ„ฐ๋ฅผ ์–ป์€ ํ›„์—๋Š” visual odometry๋กœ ๋กœ๋ด‡์ด ์›€์ง์ด๋Š” ์ „์ฒด์ ์ธ ๊ฒฝ๋กœ(odometry, trajectory)๋ฅผ ์ฆ‰, ํšŒ์ „๊ณผ ์ด๋™ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

์ •ํ™•ํžˆ ์ •์˜๋ฅผ ๋‚ด๋ฆฌ๋ฉด, ์นด๋ฉ”๋ผ ์˜์ƒ ์ž…๋ ฅ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์ ‘ํ•œ ์‚ฌ์ด์˜ ์„ผ์„œ ์›€์ง์ž„์„ ์˜ˆ์ธกํ•˜์—ฌ 6DOF(euler+kartesian coord)์„ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์˜์ƒ์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • Monocular VO: ํ•œ ๊ฐœ์˜ ๋น„๋””์˜ค๋กœ ์ธ์‹. ๋ฌผ์ฒด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๊ฒฝ์šฐ ํ˜น์€ ์†Œํ˜• ๋กœ๋ด‡์— ํ™œ์šฉ๋œ๋‹ค.
  • Stereo VO: ์ฃผ๋ณ€ ์‚ฌ๋ฌผ ์ธ์‹์— ์žˆ์–ด์„œ monocular๋ณด๋‹จ ์‹ ๋ขฐ์„ฑ์ด ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด์ด๋‚˜ ๋„ˆ๋ฌด ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์‚ฌ๋ฌผ์˜ ๊ฒฝ์šฐ ์ธ์‹ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ํ•œ๊ณ„๋ฅผ ๋ณด์ธ๋‹ค.

๊ทธ๋ฆฌ๊ณ  VO์˜ ๋‹จ์  ์ค‘ ํ•˜๋‚˜๋กœ๋Š” Drift Error๋กœ ๋™์ผํ•œ ์žฅ์†Œ์— ๋„์ฐฉํ–ˆ์Œ์—๋„ ๋ˆ„์ ๋˜๋Š” ์˜ค๋ฅ˜๋กœ ์‹ค์ œ ๊ถค์ ๊ณผ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” loop closure ์ฆ‰, ๋ฃจํ”„ ํ์‡„ ๊ฒ€์ถœ๋กœ ๋ณด์ •์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

Mapping

SLAM ํŒŒ์ดํ”„๋ผ์ธ์— ์žˆ์–ด์„œ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋กœ ์„ผ์„œ์™€ ๋žœ๋“œ๋งˆํฌ ์ž์„ธ๋ฅผ ์ด์šฉํ•ด ํ™˜๊ฒฝ ๋งต์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด๋‹ค. ์ƒํ™ฉ์ด๋‚˜ ์ •ํ™•์„ฑ, ๊ฐ€์šฉ๊ฐ€๋Šฅ ์ปดํ“จํŒ… ์ž์› ๋“ฑ ์š”์†Œ๋“ค์„ ๊ณ ๋ คํ•˜์—ฌ ์„ ์ •ํ•œ๋‹ค.

์•„๋ž˜๋Š” Map์˜ ์ข…๋ฅ˜

  • Geometric Map: Voxel, Point, Depth, Mesh
    • Depth์˜ ๊ฒฝ์šฐ ์ง€๋„ ํ•™์Šต์œผ๋กœ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด ๊ฒฝ์šฐ depth ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ ์ž…๋ ฅ์˜์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ”๋กœ depth ์˜ˆ์ธก, GT depth ์˜์ƒ ํ™•๋ณด์˜ ์–ด๋ ค์›€์ด ์กด์žฌํ•œ๋‹ค(multi view๋กœ ์–ป์€ ๋ฐ์ดํ„ฐ๋กœ ํ™œ์šฉ์ด ๊ฐ€๋Šฅ์€ ํ•˜๋‹ค)
  • Semantic Map: Object ๋ถ„๋ฆฌ
  • General Map: Neural Model์— ๋“ค์–ด๊ฐ€๋Š” implicitํ•œ ํ‘œํ˜„

Mapping์˜ ๊ฒฝ์šฐ ๊ณ ์ „์ ์ธ, ๊ธฐํ•˜ํ•™์ ์ธ ๋ฐฉ๋ฒ•์„ ์ทจํ•˜์ž๋ฉด ์ตœ๊ทผ ์—ฐ๊ตฌ์—์—ฃ๋Š” depth ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•ด์„œ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

  • Depth Anything(2024)

Volume Reconstruction

3D Reconstruction๊ณผ ๋™์Œ์ด์˜์–ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, ์‹ค์ œ์˜ ๋ฌผ์ฒด์˜ ๋ชจ์Šต์ด๋‚˜ ๋ชจ์–‘์„ ๋ณต์›ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ๋ณต์›์„ ํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” Structure from Motion(SfM)์ด ๋Œ€ํ‘œ์ ์ด๋‹ค.

์›๋ฆฌ๋Š” ์œ„ ์ด๋ฏธ์ง€์ธ Epipolar geometry๋ผ๊ณ  ํ•ด์„œ ์Šคํ…Œ๋ฆฌ์˜ค ๋น„์ „์—์„œ์˜ ๊ธฐํ•˜๋ฅผ triangulation ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.

์ „ํ†ต์ ์œผ๋กœ๋Š” Mesh, Point๋กœ explicitํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.

๋น„๊ต์  ์ตœ๊ทผ ์—ฐ๊ตฌ์ธ NeRF(2020)๋กœ continuousํ•œ scene์„ ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•ด ๋ณต์›์ด ๊ฐ€๋Šฅํ•จ์„ ์‹œ์‚ฌํ•˜์˜€์œผ์Œ, ํ›„์† ์—ฐ๊ตฌ์— ํ•ด๋‹นํ•˜๋Š” 3d gaussian splatting(2023), TRIPS(2024)์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค.

Planning & Control

๊ฒฝ๋กœ๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์ตœ์ ํ™”๋œ ๊ณ„ํšํ•˜ ๋กœ๋ด‡์„ ์ œ์–ดํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. ์ตœ๊ทผ ์—ฐ๊ตฌ๋Š” planning ๋ถ€๋ถ„์„ ์•„์˜ˆ ๋ฐ์ดํ„ฐ๋กœ ์ƒ๋žตํ•˜๊ฑฐ๋‚˜ ๊ฐ•ํ™”ํ•™์Šต์—์„œ ๋ณด์ƒํ•จ์ˆ˜๋กœ ์กฐ๊ธˆ ๋” ๋™์ ์ธ ๊ณ„ํš๊ณผ ์ œ์–ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์—ฐ๊ตฌ๋ฅผ ์ง„ํ–‰ํ•ด์˜ค๊ณ  ์žˆ๋‹ค. ์•„๋ž˜๋Š” ๊ทธ์™€ ๊ด€๋ จ๋œ ์—ฐ๊ตฌ์™€ ๋ชจ๋ธ์ด๋‹ค.

  • Conditional Variational AutoEncoder
  • Adversarial Motion Prior
  • Adversarial Skill Embeddings

๊ฐ๊ฐ์˜ ์ •์˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • Planing: ์‹œ์ž‘ ์ƒํƒœ(start state)์— ๋ชฉํ‘œ ์ƒํƒœ(goal state)๊นŒ์ง€ ์žฅ์• ๋ฌผ๋“ค์„ ํšŒํ”ผํ•˜๋ฉด์„œ ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ• ์ง€์— ๋Œ€ํ•œ ์ตœ์ ์˜ ๊ณ„ํš
  • Control: ์ฃผ์–ด์ง„ task๋ฅผ actuator์—์„œ ํž˜์ด๋‚˜ ํ† ํฌ๋ฅผ ๋ณ€ํ™˜ํ•œ๋‹ค.

Wrapup & Conclusion

์ œ์–ด ๋ถ€๋ถ„์—์„œ ์ด์ œ ์ธ์ง€ํ•˜๋Š” ๋ถ€๋ถ„์„ ์—ฐ๊ฒฐํ•ด์„œ ์ƒํƒœ๊ณ„๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์— ์ข€ ์„ค๋ Œ๋‹ค๊ณ  ํ•ด์•ผํ•˜๋‚˜ ใ…‹ใ…‹ ๋‹คํ–‰ํžˆ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์ง€์‹๋“ค(์ขŒํ‘œ๊ณ„ ๊ณ„์‚ฐ ๋“ฑ๋“ฑ)์€ ๋Œ€ํ•™์› ๋‹ค๋‹ˆ๋ฉด์„œ ์กฐ๊ต๋กœ ์—ฌ๋Ÿฌ๋ฒˆ ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์ด๋ผ ๋ฌด๋ฆฌ๊ฐ€ ํฌ๊ฒŒ๋Š” ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”ผ๋“œ๋ฐฑ ๋ฐ›์€ ๊ฒƒ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ด๋Ÿฌํ•œ ๋‹จ์–ด ํ•˜๋‚˜ํ•˜๋‚˜ ์ •์˜์— ๋งค๋ชฐ๋˜๊ธฐ ๋ณด๋‹ค๋Š” ๊ทธ๋ƒฅ ํ•˜๋‚˜์˜ ์ˆฒ์œผ๋กœ ๋ณด๊ณ  ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ผ.. ๋ผ๊ณ  ๋ฐฉํ–ฅ์„ ์žก์•„์ฃผ์…จ๋‹ค. (์‚ฌ์‹ค ๋‚˜๋„.. ๊ฑฐ์ฐฝํ•˜๊ฒŒ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋กœ ์ •์˜๋‚ด๋ฆฌ๋Š”๊ฑธ ์•ˆ์ข‹์•„ํ•˜๊ธฐ ํ•œ๋‹ค..ใ…‹ใ…‹ใ…‹ใ…‹)

์•”ํŠผ ๋‚˜์˜ ๊ฐœ๊ด„์ ์ธ ๋ถ„์„์„ ํ† ๋Œ€๋กœ ํšŒ์‚ฌ ๋ฌธ์„œ๋ฅผ ์กฐ๊ธˆ ๋” ๊ผผ๊ผผํ•˜๊ฒŒ ๋ด์•ผ๊ฒ ๋‹ค.

Reference

ํ•จ๊ป˜ ์ฝ์œผ๋ฉด ์ข‹์€ ๊ธ€๋“ค ๋ชจ์Œ- Modern Robotics - Chapter 10. Motion Planning, 11. Robot Control - https://arxiv.org/pdf/2103.15279.pdf - https://snacky.tistory.com/96 - https://blog.naver.com/ycpiglet/222139215170 - https://support.zivid.com/ko/latest/academy/applications/multi-camera-calibration/multi-camera-calibration-theory.html

https://cvlearnblog.notion.site/Deep-Visual-SLAM-1-Deep-SLAM-7c0efbacf42c49299f9191f6ac03193d

https://mangastorytelling.tistory.com/entry/IITP-Visual-SLAM-%EA%B8%B0%EC%88%A0%EA%B0%9C%EB%B0%9C-%EB%8F%99%ED%96%A5

Authors