Mve: ์กฐ๋ฐ€ํ•œ ์ ์— ๋Œ€ํ•œ ์‹œ์•ผ

์— ๋งŒ๋“  2016๋…„ 04์›” 22์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: simonfuhrmann/mve

๋˜ ๋‹ค๋ฅธ ์กฐ๋ฐ€ํ•œ ์  ํ•„ํ„ฐ๋ง ๋ฐฉ์‹์€ ์‹œ์•ผ ๊ธฐ๋ฐ˜์œผ๋กœ, ๊ฐ ์ ์˜ ์‹œ์•ผ๋ฅผ ๊ด€๋ จ ์นด๋ฉ”๋ผ์— ์‚ฌ์šฉํ•˜์—ฌ ์šฐ์ˆ˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ m์— ์˜ํ•œ ์ถœ๋ ฅ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ์ด ์ •๋ณด๋ฅผ ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ณ ๋ ค๋˜๊ณ  ์ƒˆ๋กœ์šด ๊ณ„ํš์ด ๋ณ‘ํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ถ”์‹ : ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง‘๋‹ˆ๋‹ค~

์ฐธ์กฐ:
https://github.com/cdcseacave/openMVS

Vu HH, Labatut P, โ€‹โ€‹Pons JP, et al. ๋†’์€ ์ •ํ™•๋„์™€ ๊ฐ€์‹œ์„ฑ์ด ์ผ๊ด€๋œ ๊ณ ๋ฐ€๋„ ๋ฉ€ํ‹ฐ๋ทฐ ์Šคํ…Œ๋ ˆ์˜ค[J]. ํŒจํ„ด ๋ถ„์„ ๋ฐ ๊ธฐ๊ณ„ ์ง€๋Šฅ, IEEE ํŠธ๋žœ์žญ์…˜ on, 2012, 34(5): 889-901.

https://www.acute3d.com/

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ฐจ์ด๋Š” ์‹ฌ๊ฐํ•ฉ๋‹ˆ๋‹ค.

1) ํ‘œ๋ฉด ๋ฉ”์‰ฌ๋Š” ๋ฐ˜ ํฌ์†Œ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ๊ตฌ์ถ•๋˜๋Š” ๋ฐ˜๋ฉด MVE(FSSR)๋Š” ์ดˆ๋ฐ€๋„ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ๊ตฌ์ถ•
2) ์‹ค์ œ MVS๋Š” ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ ์ž์ฒด์—์„œ ์ˆ˜ํ–‰๋˜์ง€๋งŒ MVE์—์„œ๋Š” ๊นŠ์ด ๋งต์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” Pierre๊ฐ€ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ „์—ญ ์ตœ์ ํ™”์—์„œ ์‚ฌ๋ฉด์ฒดํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋ฉด์ฒดํ™” ์ž์ฒด๋Š” ์—ฐ๊ฒฐ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™”๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜์ง€๋„ ์•Š๊ณ  ๋งค์šฐ ๋ถˆ์พŒํ•ฉ๋‹ˆ๋‹ค. ์ €์—๊ฒŒ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋„ˆ๋ฌด ๋‹ฌ๋ผ์„œ ๊ฒฐํ˜ผ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์ง€๋„ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์˜คํ”ˆ ์†Œ์Šค ์ฝ”๋“œ๋„ ๋ณด๊ธฐ ํ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๊ฐ€๊นŒ์šด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๊ธฐ ํ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ;-)

๋ชจ๋“  8 ๋Œ“๊ธ€

์ฐธ์กฐ๋œ ์ž‘์—…์€ MVE์™€ ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์žฌ๊ตฌ์„ฑ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ์ž‘ํ’ˆ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ์‹œ์„  ์ •๋ณด๋Š” ์ฃผ๋กœ ํ‘œ๋ฉด ์ตœ์ ํ™”์— ์‚ฌ์šฉ๋˜์ง€๋งŒ MVE๋Š” ํŒŒ์ดํ”„๋ผ์ธ์˜ ์–ด๋–ค ๋‹จ๊ณ„์—์„œ๋„ ์ „์—ญ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋ฌผ๋ก  BA ์ œ์™ธ). ์ด ๊ธฐ์ˆ ์ด MVE์— ํ†ตํ•ฉ๋˜๊ฑฐ๋‚˜ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์˜์‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ๋‚˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅธ๋‹ค.

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ๋‘ ๊ธฐ์ˆ ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 4๋‹จ๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ฐ View์—์„œ Depth Map์„ ์œตํ•ฉํ•˜์—ฌ 1๊ฐœ์˜ Dense Point Cloud ์ƒ์„ฑ
2๊ฐœ์˜ ํ‘œ๋ฉด/๋ฉ”์‰ฌ ์žฌ๊ตฌ์„ฑ(ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ -> ์‚ผ๊ฐํ˜• ๋ฉด)
3 ํ‘œ๋ฉด/๋ฉ”์‹œ ์ตœ์ ํ™”(์ „์—ญ ๋˜๋Š” ๋กœ์ปฌ)
4 ํ…์Šค์ฒ˜๋ง

๋‘ ๊ธฐ์ˆ ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ํ‘œ๋ฉด ์žฌ๊ตฌ์„ฑ, mve์˜ ๊ฒฝ์šฐ fssr, ์ž‘์—…์„ ์œ„ํ•œ ๋ฉด ์„ ํƒ(๋“ค๋กœ๋„ค ์‚ผ๊ฐ ์ธก๋Ÿ‰ + st ์ปท)์ž…๋‹ˆ๋‹ค. ์‹œ์„ ์€ ์ž‘์—…์—์„œ ํ‘œ๋ฉด ์ตœ์ ํ™”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ‘œ๋ฉด ์žฌ๊ตฌ์„ฑ์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. fssr์˜ ๊ฒฐ๊ณผ๋Š” ๋ถ€๋“œ๋Ÿฌ์šด ๊ฒฝํ–ฅ์ด ์žˆ๋Š” ๋ฐ˜๋ฉด ๋ฉด ์„ ํƒ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์€ ๋‚ ์นด๋กœ์šด ๋ชจ์„œ๋ฆฌ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

https://github.com/cdcseacave/openMVS/wiki/Modules

๋˜ ๋‹ค๋ฅธ ์–ด๋ ค์›€์€ ํ—ˆ๊ฐ€๋œ Delaunay ์‚ฌ๋ฉด์ฒดํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
http://doc.cgal.org/latest/Triangulation_3/index.html#Chapter_3D_Triangulations => GPL
http://wias-berlin.de/software/tetgen/ => AGPL
MVE๋Š” ํ—ˆ์šฉ ๋ผ์ด์„ ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

cgal์€ openmvs๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ  openmvs๋Š” ์–ผ๊ตด ์„ ํƒ ์ฒด๊ณ„๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ๊ทธ๋“ค์˜ ์ฝ”๋“œ๋Š” ๋งค์šฐ ์ถ”์•…ํ•ฉ๋‹ˆ๋‹ค~

๋‚˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ถ”ํ•˜๋‹ค๊ณ  ๋งํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ž‘์„ฑ์ž์—๊ฒŒ ๊ทธ๋‹ค์ง€ ์นœ์ ˆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฌด์–ธ๊ฐ€๋ฅผ ์˜คํ”ˆ ์†Œ์Šค๋กœ ๋งŒ๋“ค์–ด ๋ˆ„๊ตฌ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ผ์ž…๋‹ˆ๋‹ค.
์ถ”์‹ : ๋‹ค๋ฅธ "์‹œ์„ " ์˜คํ”ˆ ์†Œ์Šค ๊ตฌํ˜„์ด ์—†๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
OpenMVS๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์‹(๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„ ์ปท ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)์œผ๋กœ ์•ฝํ•œ ํ‘œ๋ฉด ๊ฐ€์‹œ์„ฑ์„ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๋“ค๋กœ๋„ค ์‚ฌ๋ฉด์ฒด ์‚ผ๊ฐ๋ถ„ํ• ์˜ ๊ทธ๋ž˜ ์ปท์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ฐจ์ด๋Š” ์‹ฌ๊ฐํ•ฉ๋‹ˆ๋‹ค.

1) ํ‘œ๋ฉด ๋ฉ”์‰ฌ๋Š” ๋ฐ˜ ํฌ์†Œ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ๊ตฌ์ถ•๋˜๋Š” ๋ฐ˜๋ฉด MVE(FSSR)๋Š” ์ดˆ๋ฐ€๋„ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ๊ตฌ์ถ•
2) ์‹ค์ œ MVS๋Š” ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ ์ž์ฒด์—์„œ ์ˆ˜ํ–‰๋˜์ง€๋งŒ MVE์—์„œ๋Š” ๊นŠ์ด ๋งต์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” Pierre๊ฐ€ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ „์—ญ ์ตœ์ ํ™”์—์„œ ์‚ฌ๋ฉด์ฒดํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋ฉด์ฒดํ™” ์ž์ฒด๋Š” ์—ฐ๊ฒฐ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™”๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜์ง€๋„ ์•Š๊ณ  ๋งค์šฐ ๋ถˆ์พŒํ•ฉ๋‹ˆ๋‹ค. ์ €์—๊ฒŒ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋„ˆ๋ฌด ๋‹ฌ๋ผ์„œ ๊ฒฐํ˜ผ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์ง€๋„ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์˜คํ”ˆ ์†Œ์Šค ์ฝ”๋“œ๋„ ๋ณด๊ธฐ ํ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๊ฐ€๊นŒ์šด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๊ธฐ ํ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ;-)

๋„ค, ์ œ ์ž˜๋ชป์ž…๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค๋Š” ์กด์ค‘๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ MVE๋งŒํผ ์šฐ์•„ํ•˜์ง€ ์•Š๊ณ  ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ต๊ณ  ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด์จŒ๋“  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค~

์ €๋Š” Ia์™€ OpenMVS๋ฅผ ๊ฝค ๋งŽ์ด ๊ฐ€์ง€๊ณ  ๋†€์•˜์Šต๋‹ˆ๋‹ค. @daleydeng ์žฌ๊ตฌ์„ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ์™„์ „ํžˆ ์ฐจ๋‹จํ•˜๊ณ  ๋””๋ฒ„๊น…์ด ํ•„์š”ํ•œ OpenMVS์— ๋ช‡ ๊ฐ€์ง€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” OpenMVS๊ฐ€ ๊ณ ๋ฐ€๋„ํ™” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ํฌ์†Œ ์ž…๋ ฅ์„ ์žฌ๊ตฌ์„ฑํ•œ ๋‹ค์Œ ๊ทธ๊ฒƒ์„ ์ •์ œํ•  ๋•Œ ๊ฝค ์ข‹์€ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. Refine์˜ CUDA ๊ตฌํ˜„์„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์•„์ง ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํ• ์• ํ•  ์ˆ˜ ์—†๋Š” ์—ฐ๊ฒฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ํฌ์†Œ ๊ตฌ๋ฆ„์ด ํ›จ์”ฌ ์ ์€ ํฌ์ธํŠธ๋ฅผ ํฌํ•จํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ํด๋ฆฌ๊ณค ๊ฐœ์ˆ˜๋„ ํฌํ•จํ•˜๋Š” ์ตœ์ข… ๋ฉ”์‹œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.

Densify+Reconstruct+Refine์„ ์‹คํ–‰ํ•˜๋ฉด ํ›จ์”ฌ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋งค์šฐ ํฐ ๋ฉ”์‰ฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฌ์†Œ์„ฑ์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ์˜์—ญ์„ ์ฑ„์šธ ๋•Œ ํ’ˆ์งˆ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

ํ…์Šค์ฒ˜๋ง๋„ ๋งค์šฐ ํ›Œ๋ฅญํ•˜๊ณ  OpenMVS๊ฐ€ ์™„์ „ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์˜คํ”ˆ ์†Œ์Šค๋ผ๋Š” ์ ์— ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์ง€๊ธˆ MVE์— ๊ด€์‹ฌ์ด ์žˆ๊ณ  ๋” ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ๋ฅผ ๊ณ ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

Jus80687 picture Jus80687  ยท  11์ฝ”๋ฉ˜ํŠธ

GustavoCamargoRL picture GustavoCamargoRL  ยท  13์ฝ”๋ฉ˜ํŠธ

HelliceSaouli picture HelliceSaouli  ยท  14์ฝ”๋ฉ˜ํŠธ

HelliceSaouli picture HelliceSaouli  ยท  12์ฝ”๋ฉ˜ํŠธ

MaxDidIt picture MaxDidIt  ยท  30์ฝ”๋ฉ˜ํŠธ