[3D Vision] Marching Cubes: 3D ๋ณผ๋ฅจ ๋ฐ์ดํ„ฐ๋ฅผ Mesh๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
3D ์Šค์บ”, CT ์ด๋ฏธ์ง€, Neural Radiance Field(NeRF), Signed Distance Function(SDF) ๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” 3D ๋ฐ์ดํ„ฐ๋Š” ๋Œ€๋ถ€๋ถ„ density field ํ˜น์€ scalar field๋กœ ํ‘œํ˜„๋œ๋‹ค. ์ด๋Ÿฌํ•œ volumetric data๋Š” ๊ฐ 3์ฐจ์› ์ขŒํ‘œ์— ์–ด๋–ค ๊ฐ’(์˜ˆ: ๋ฐ€๋„, ๊ฑฐ๋ฆฌ ๋“ฑ)์ด ํ• ๋‹น๋œ ํ˜•ํƒœ์ผ ๋ฟ์ด๋ฉฐ, ๊ฒ‰๋ณด๊ธฐ์—๋Š” ๋‹จ์ˆœํ•œ ์ˆซ์ž๋“ค์˜ ์ง‘ํ•ฉ์— ๋ถˆ๊ณผํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์ด ๊ฐ’๋“ค์˜ ๋ถ„ํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ด๋””๊ฐ€ ๋ฌผ์ฒด์ด๊ณ  ์–ด๋””๊ฐ€ ๋ฐฐ๊ฒฝ์ธ์ง€, ์ฆ‰ surface๊ฐ€ ์–ด๋””์— ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ ์—ฐ์†์ ์ธ ๊ฐ’์˜ ํ•„๋“œ์—์„œ ์˜๋ฏธ ์žˆ๋Š” 3D mesh์„ ์ถ”์ถœํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด๋•Œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ Mar..
[3D Vision] Point Cloud vs. Mesh: ์ฐจ์ด์ , ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
3D ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์ธ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ(Point Cloud)์™€ ๋ฉ”์‹œ(Mesh)์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ๊นŠ๊ฒŒ ์•Œ์•„๋ณด์ž!๐Ÿ“Œ Point Cloud vs. Mesh ๋น„๊ตํŠน์ง•Point CloudMesh๊ธฐ๋ณธ ๊ฐœ๋…3D ๊ณต๊ฐ„์— ์กด์žฌํ•˜๋Š” ์ ๋“ค์˜ ์ง‘ํ•ฉ์ ์„ ์‚ผ๊ฐํ˜•์œผ๋กœ ์—ฐ๊ฒฐํ•œ ํ‘œ๋ฉด ๊ตฌ์กฐ๊ตฌ์„ฑ ์š”์†Œ์ •์ (Vertex)๋งŒ ์กด์žฌ (x, y, z, RGB ๋“ฑ)์ •์ (Vertex) + ๋ฉด(Face)๋ฐ์ดํ„ฐ ํฌ๊ธฐ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ€๋ฒผ์›€๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด ๋ฌด๊ฑฐ์šธ ์ˆ˜ ์žˆ์Œ์‹œ๊ฐ์  ํ‘œํ˜„์ ๋งŒ ์กด์žฌํ•˜๋ฏ€๋กœ ๋น„์–ด ๋ณด์ผ ์ˆ˜ ์žˆ์Œ๋ฉด(Face)๋กœ ์ด๋ฃจ์–ด์ ธ ํ‘œ๋ฉด์ด ๋ช…ํ™•ํ™œ์šฉ ๋ถ„์•ผLiDAR, SfM, 3D ์Šค์บ๋‹, ์ž์œจ์ฃผํ–‰๋ Œ๋”๋ง, AR/VR, 3D ํ”„๋ฆฐํŒ…, ๊ฒŒ์ž„ํŒŒ์ผ ํฌ๋งทPCD, PLY, LAS, XYZ ๋“ฑOBJ, STL, FBX, PLY ๋“ฑPoint Cloud๋Š” 3D..
[3D Vision] 3D ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(Mesh, Point Cloud)์™€ ํฌ๋งท(OBJ, PLY, PCD)
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
Computer Vision ์—…๋ฌด๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด 3D ๋ฐ์ดํ„ฐ๋„ ์ž์ฃผ ๋‹ค๋ฃจ๊ฒŒ ๋œ๋‹ค. ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋””์ง€ํ„ธ ๊ณต๊ฐ„์— ์žฌํ˜„ํ•˜๋ ค๋ฉด 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค. ์ตœ๊ทผ์—๋Š” ์ž์œจ์ฃผํ–‰, ๋กœ๋ณดํ‹ฑ์Šค, AR/VR, 3D ์žฌ๊ตฌ์„ฑ, ์˜๋ฃŒ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ 3D ๋ฐ์ดํ„ฐ๊ฐ€ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. 3D ๋ฐ์ดํ„ฐ๋Š” ์ €์žฅ ๋ฐฉ์‹์— ๋”ฐ๋ผ Mesh, Point Cloud, Voxel ๋“ฑ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด PLY, PCD, OBJ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํฌ๋งท์ด ์กด์žฌํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ํฌ๋งท์€ ํŠน์ •ํ•œ ์šฉ๋„์™€ ์žฅ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ด ๊ธ€์—์„œ๋Š” 3D ๋ฐ์ดํ„ฐ์˜ ์ฃผ์š” ๊ตฌ์กฐ์™€ ํฌ๋งท์„ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค.๐Ÿ“Œ 3D ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ1. Mesh๐Ÿ“ ํŠน์ง•3..
[CV] SFM (Structure From Motion) : ์—ฐ์†๋œ 2D ์ด๋ฏธ์ง€๋“ค๋กœ ์นด๋ฉ”๋ผ ํฌ์ฆˆ์™€ 3D shape ์žฌ๊ตฌ์„ฑํ•˜๊ธฐ
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” Visual Localization์—์„œ ํ•ต์‹ฌ์ด ๋˜๋Š” ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ธ Structure From Motion (SfM) ์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค. SfM์€ 2D ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ 3D ๊ตฌ์กฐ์™€ ์นด๋ฉ”๋ผ์˜ ์œ„์น˜(pose)๋ฅผ ๋ณต์›ํ•˜๋Š” ๊ธฐ์ˆ ๋กœ, ์—ฌ๋Ÿฌ ์žฅ์˜ ์ด๋ฏธ์ง€๋งŒ์œผ๋กœ ์žฅ๋ฉด์˜ 3์ฐจ์› ๊ตฌ์กฐ๋ฅผ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๋ณต์žกํ•œ ์ˆ˜์‹ ์—†์ด, ๊ฐ ๋‹จ๊ณ„์˜ ๋ชฉ์ ๊ณผ ์˜๋ฏธ์— ์ง‘์ค‘ํ•˜์—ฌ SfM์˜ ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์„ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•œ๋‹ค. SfM์€ ์ผ๋ฐ˜์ ์œผ๋กœ COLMAP๊ณผ ๊ฐ™์€ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, COLMAP์€ GUI๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ•๋ ฅํ•œ SfM & MVS ํŒŒ์ดํ”„๋ผ์ธ์ด๋‹ค. ์ •๋ ฌ๋œ ์ด๋ฏธ์ง€๋ฟ ์•„๋‹ˆ๋ผ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์—ฌ๋Ÿฌ ๋ทฐ ์ด๋ฏธ์ง€๋“ค๋งŒ ์ž…๋ ฅํ•ด๋„, ์ž๋™์œผ๋กœ ์นด๋ฉ”๋ผ์˜ ์œ„์น˜์™€ 3D ๊ตฌ์กฐ๋ฅผ ๋ณต์›ํ•ด์ค€๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•๋ถ„์— SfM์€ Visual SLAM,..
[CV] 3D Geometry ์„ค๋ช…
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
*์ž๋ฃŒ ์ถœ์ฒ˜ : ๋‹คํฌํ”„๋กœ๊ทธ๋ž˜๋จธ https://darkpgmr.tistory.com/category/%EC%98%81%EC%83%81%EC%B2%98%EB%A6%AC Coordinate System (์ขŒํ‘œ๊ณ„) ์˜์ƒ geometry ์—์„œ๋Š” ์›”๋“œ(3D), ์นด๋ฉ”๋ผ(3D), ์ •๊ทœ(2D), ํ”ฝ์…€(2D) 4๊ฐœ์˜ ์ขŒํ‘œ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. - ์›”๋“œ ์ขŒํ‘œ๊ณ„ ๊ฐ์ฒด์˜ ์œ„์น˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ๊ธฐ์ค€์œผ๋กœ ์‚ผ๋Š” ์ขŒํ‘œ๊ณ„๋กœ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„์™€ ๋‹จ์œ„๋ฅผ ๋งž์ถฐ์•ผ ํ•˜๊ณ  ์œ„(P)์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„ ์นด๋ฉ”๋ผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ขŒํ‘œ๊ณ„์ด๋ฉฐ, ์•„๋ž˜์ฒจ์ž c ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. - ํ”ฝ์…€ ์ขŒํ‘œ๊ณ„ ์˜์ƒ ์ขŒํ‘œ๊ณ„๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ ์ด๋ฏธ์ง€์˜ ์™ผ์ชฝ ์œ„๋ฅผ ์›์ ์œผ๋กœ ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ์„ x ์ฆ๊ฐ€ ๋ฐฉํ–ฅ, ์•„๋ž˜ ๋ฐฉํ–ฅ์„ y ์ฆ๊ฐ€ ๋ฐฉํ–ฅ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ”ฝ์…€ ์ขŒํ‘œ๊ณ„์˜..
[Graphics] 3D ๋ชจ๋ธ๋ง์„ ์œ„ํ•œ OBJ & MTL ํŒŒ์ผ ๊ตฌ์กฐ์™€ PBR ์žฌ์งˆ ์ •๋ฆฌ
ยท
๐Ÿ“– Fundamentals/3D vision & Graphics
๐Ÿ“Œ PBR(Texture)์™€ 3D ๋ชจ๋ธ์˜ Material ์†์„ฑ PBR(Physically Based Rendering)์€ ๋น›์˜ ๋ฐ˜์‚ฌ, ๊ตด์ ˆ, ํˆฌ๊ณผ ๋“ฑ์˜ ๋ฌผ๋ฆฌ์  ์›๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 3D ๋ชจ๋ธ์˜ ํ‘œ๋ฉด์„ ์‚ฌ์‹ค์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ Œ๋”๋ง ๊ธฐ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ์‹์€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ์žฌ์งˆ๊ณผ ๋น›์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ชจ์‚ฌํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ ๋‹ค. PBR ํ‘œํ˜„์—์„œ ๊ฐ ์žฌ์งˆ์˜ ์†์„ฑ์€ ๋‹ค์–‘ํ•œ ํ…์Šค์ฒ˜ ๋งต(Texture Map)์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ‹€์–ด PBR ํ…์Šค์ฒ˜(PBR Texture)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์•„๋ž˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๋งต๋“ค๊ณผ ๊ทธ ์˜๋ฏธ์ด๋‹ค. 1. Albedo (Base Color, Diffuse)๊ฐ์ฒด์˜ ํ‘œ๋ฉด ์ƒ‰์ƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ๋ณธ ์ปฌ๋Ÿฌ ํ…์Šค์ฒ˜์ด๋‹ค.์กฐ๋ช…, ๊ทธ๋ฆผ์ž, ๋ฐ˜์‚ฌ ๋“ฑ์˜ ์ •๋ณด ์—†์ด โ€˜์ˆœ์ˆ˜ํ•œ ์ƒ‰์ƒโ€™๋งŒ ๋‹ด๊ณ  ์žˆ๋‹ค.Di..