Chapter 08

๐Ÿš€ใ‚ขใƒฉใ‚คใƒกใƒณใƒˆ ๅ†™็œŸ็ทจ

้พ lilea
้พ lilea
2024.10.29ใซๆ›ดๆ–ฐ

ใ‚ขใƒฉใ‚คใƒกใƒณใƒˆ (ๅ†™็œŸไฝ็ฝฎๆŽจๅฎš)

Reality Captureใ‚’็ซ‹ใกไธŠใ’ใ€ๅ†™็œŸใฎ่ชญใฟ่พผใฟ่จญๅฎšใ‚’่ชฟๆ•ดใ™ใ‚‹ใ€‚

  • Group calibration by Exif
    Yes
    ใ“ใ‚Œใซใ‚ˆใ‚Šๅ†™็œŸใŒExifๆƒ…ๅ ฑใ‚’ๅ…ƒใซใ‚ฐใƒซใƒผใƒ—ๅŒ–ใ•ใ‚Œใ€ๅ‡ฆ็†ใŒ้ซ˜้€ŸๅŒ–ใ™ใ‚‹ใ€‚
    โ€ปๅพŒ่ฟฐใ™ใ‚‹ใŒใ“ใ‚ŒใฏๅพŒใปใฉใ‚ฐใƒซใƒผใƒ—่งฃ้™คใ™ใ‚‹

  • Ignore GPS Exif
    Yes
    ๅ†™็œŸใซGPSๆƒ…ๅ ฑใŒๅซใพใ‚Œใฆใ„ใ‚‹ๅ ดๅˆใใฎๆƒ…ๅ ฑใŒๅ†™็œŸไฝ็ฝฎๆŽจๅฎšๆ™‚ใซ็”จใ„ใ‚‰ใ‚Œใ‚‹ใŒใ€ๆญฃ็ขบใชGPSๆƒ…ๅ ฑใงใชใ„้™ใ‚Šๆ‚ชๅฝฑ้Ÿฟใ‚’ๅŠใผใ™ใฎใงYesใซใ—ใฆใŠใใ€‚
    โ€ปcm็ฒพๅบฆใŒๅฏ่ƒฝใชRTK-GNSSใ‚’ๅˆฉ็”จใ—ๆ’ฎๅฝฑใ—ใŸๅ†™็œŸใฎๅ ดๅˆใฏ้ฉๅฎœๅˆฉ็”จใ™ใ‚‹ใ‹ใฉใ†ใ‹ใฏๅˆคๆ–ญใ™ใ‚‹

Alignmentใฎ่จญๅฎšใ‚’่ชฟๆ•ดใ™ใ‚‹ใ€‚

  • Image overlap
    Low
    ๅ‡ฆ็†ใ™ใ‚‹ๅ†™็œŸใฎใ‚ชใƒผใƒใƒผใƒฉใƒƒใƒ—็އใฎๆŒ‡ๅฎšใ€‚
    ๅๅˆ†ใชใ‚ชใƒผใƒใƒผใƒฉใƒƒใƒ—ใงๆ’ฎๅฝฑใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏNormalใ‚„Highใ‚’ไฝฟใ†ใ“ใจใงๅ‡ฆ็†ใŒ้ซ˜้€ŸๅŒ–ใ™ใ‚‹ใŒใ€ๅ†™็œŸใŒ็น‹ใŒใ‚‰ใชใใชใ‚‹ (CompornetใŒใƒใƒฉใ‘ใ‚‹) ใƒชใ‚นใ‚ฏใŒใ‚ใ‚‹ใฎใงLowใจใ™ใ‚‹ใจๅฎ‰ๅฟƒใ€‚

ใใฎไป–ใฎ่จญๅฎšใฏใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๆŽจๅฅจใ€‚
ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ่จญๅฎšใงใฎๅ‡ฆ็†ใŒๆœ€ใ‚‚่‰ฏๅฅฝใช็ตๆžœใจใชใ‚‹ใ€‚

ใ‚‚ใ—ๅ†™็œŸใŒ็น‹ใŒใ‚‰ใชใ„(ComponentใŒใƒใƒฉใ‘ใฆใ—ใพใ†)ๅ ดๅˆใฏไปฅไธ‹ใฎใ‚ˆใ†ใซ่จญๅฎšใ™ใ‚‹ใ€‚

Max features per image: 160,000
Preselector features: 80,000

ใ“ใ‚Œใซใ‚ˆใ‚Šๅ†™็œŸไฝ็ฝฎๆŽจๅฎšๆ™‚ใซไฝฟ็”จใ™ใ‚‹็‰นๅพด็‚นใŒๅข—ใˆใ‚‹ใŸใ‚็น‹ใŒใ‚Šใ‚„ใ™ใใชใ‚‹ใ€‚
ใŸใ ใ—็น‹ใŒใ‚Œใฐ่‰ฏใ„ใจใ„ใ†ใ‚‚ใฎใงใฏใชใใ€็ฒพๅบฆใฎไฝŽใ„็‰นๅพด็‚นใ‚‚ๆ‹พใฃใฆใ—ใพใ†ใƒชใ‚นใ‚ฏใŒ้ซ˜ใพใ‚‹ใŸใ‚ใ€ใ“ใฎ่จญๅฎšใ‚’ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใจใ—ใฆใฏไฝฟใ‚ใชใ„ๆ–นใŒ่‰ฏใ„ใ€‚
(็น‹ใŒใฃใฆใฏใ„ใ‚‹ใŒใ‚บใƒฌใฆใ„ใ‚‹ใจใ„ใ†็ŠถๆณใŒ็™บ็”Ÿใ™ใ‚‹)

Alignmentใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ€‚

ใ‚บใƒฌใŒใชใ„ใ“ใจใ‚’็ขบ่ชใ™ใ‚‹ใ€‚

ใ“ใฎๅพŒๅ†ๅบฆAlignmentใ‚’ๅฎŸ่กŒใ™ใ‚‹ไบ‹ใงๅ†™็œŸไฝ็ฝฎๆŽจๅฎš็ตๆžœใŒใ‚ˆใ‚Šๆ•ดใ†ใŒใ€ใใฎๅ‰ใซใพใšๅ†™็œŸใฎใ‚ฐใƒซใƒผใƒ—ๅŒ–ใ‚’่งฃ้™คใ™ใ‚‹ใ€‚

ใ‚ฐใƒซใƒผใƒ—ๅŒ–ใ•ใ‚Œใฆใ„ใ‚‹ใจExifๆƒ…ๅ ฑใ‚’ใƒ™ใƒผใ‚นใจใ—ใฆๅ‡ฆ็†ใŒ้ซ˜้€ŸๅŒ–ใ•ใ‚Œใฆใ„ใ‚‹ใŸใ‚ๅ†™็œŸไธ€ๆžšไธ€ๆžšใฎๅŽณๅฏ†ใชไฝ็ฝฎ่ชฟๆ•ดใŒใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใฆใ—ใพใฃใฆใ„ใ‚‹ใฎใงใ€ๅ…จไฝ“ใŒ็น‹ใŒใฃใŸใฎใ‚’็ขบ่ชๅ‡บๆฅใŸใ‚‰ใ“ใ“ใงใ‚ฐใƒซใƒผใƒ—ๅŒ–ใ‚’่งฃ้™คใ—ใ€ๅ†ๅบฆAlignmentใ‚’ๅฎŸ่กŒใ—ๅ†™็œŸไฝ็ฝฎๆŽจๅฎš็ตๆžœใ‚’ๆ•ดใˆใ‚‹ใ€‚

ๆœ€ๅพŒใซใ‚‚ใ†ไธ€ๅบฆAlignmentใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ€‚

MeshใจTexture (3Dใƒขใƒ‡ใƒซ็”Ÿๆˆ)

็Šถๆณใ‚’็ขบ่ชใ™ใ‚‹ใŸใ‚ใซNormalๅ“่ณชใงไธ€ๆ—ฆใƒกใƒƒใ‚ทใƒฅๅŒ–ใ‚’่กŒใ†ใ€‚
(ๆœฌ็•ชใงใฏHighใง็”Ÿๆˆใ™ใ‚‹)

็”ŸๆˆๅพŒใฏใƒใƒชใ‚ดใƒณๆ•ฐใŒๅคšใใ‚ฐใƒฉใƒœใซใ‚ˆใฃใฆใฏใƒกใƒƒใ‚ทใƒฅใŒ่กจ็คบใ•ใ‚Œใชใ„ใฎใงSimplify Toolใ‚’ไฝฟใ„ใƒชใƒ€ใ‚ฏใ‚ทใƒงใƒณใ‚’่กŒใ†ใ€‚

ใ‚ใ‚‹็จ‹ๅบฆใƒใ‚คใƒใƒชใฎใพใพ็ขบ่ชใ‚’่กŒใ„ใŸใ„ใฎใง5,000,000ใƒใƒชใ‚ดใƒณใ‚’ใ‚ฟใƒผใ‚ฒใƒƒใƒˆใจใ™ใ‚‹ใ€‚

ใƒใƒชใ‚ดใƒณใฎ็Šถๆ…‹ใงใƒกใƒƒใ‚ทใƒฅใซใ‚บใƒฌใŒ็„กใ„ใ“ใจใŒ็ขบ่ชๅ‡บๆฅใŸใ‚‰ใ€็ถšใ„ใฆใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’็”Ÿๆˆใ™ใ‚‹ใŸใ‚ใซใพใšUVใ‚’็”Ÿๆˆใ™ใ‚‹ใ€‚

ใ“ใ“ใงใฏใƒ—ใƒฌใƒ“ใƒฅใƒผ็”จใจใ—ใฆ8kใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’1ๆžšใฎ่จญๅฎšใจใ—ใŸใ€‚
(ๆœ€็ต‚็‰ˆใงใฏ8kใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’่ค‡ๆ•ฐๆžšไฝฟใ†ใŒใ“ใ“ใงใฏ็ขบ่ชใฎใฟใชใฎใงๆ™‚้–“็ฏ€็ด„ใฎใŸใ‚1ๆžšใจใ—ใŸ)

่จญๅฎšใ—ใŸใ‚‰Unwrapใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ€‚

Unwarp(UV็”Ÿๆˆ)ใŒ็ต‚ใ‚ใฃใŸใ‚‰Textureใƒœใ‚ฟใƒณใ‚’ๆŠผใ—ใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’็”Ÿๆˆใ™ใ‚‹ใ€‚

ใƒ†ใ‚ฏใ‚นใƒใƒฃใŒ็”Ÿๆˆใ•ใ‚ŒใŸใ‚‰็Šถๆณใ‚’็ขบ่ชใ™ใ‚‹ใ€‚
Sweetใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ใจใƒ†ใ‚ฏใ‚นใƒใƒฃไป˜ใใงๆ็”ปใ•ใ‚Œใ‚‹ใ€‚

ๆœ€ๅพŒใซRegistrationใ‹ใ‚‰ใ“ใฎไฝœๆˆใ—ใŸComponent(ๅ†™็œŸไฝ็ฝฎๆŽจๅฎš็ตๆžœ)ใ‚’.rcalignใƒ•ใ‚กใ‚คใƒซใธๆ›ธใๅ‡บใ™ใ€‚

โ€ปใ“ใ“ใพใงใฎๅทฅ็จ‹ใง็”Ÿๆˆใ—ใŸใƒกใƒƒใ‚ทใƒฅใ‚„ใƒ†ใ‚ฏใ‚นใƒใƒฃใฏ็Šถๆณ็ขบ่ชใฎใŸใ‚ใซ็”Ÿๆˆใ—ใŸใ‚‚ใฎใชใฎใงไฝฟ็”จใ—ใชใ„

ๆ›ธใๅ‡บใ—ใŸๅ†™็œŸใฎ.rcalignใƒ•ใ‚กใ‚คใƒซ(ๅ†™็œŸไฝ็ฝฎๆŽจๅฎš็ตๆžœ)ใจใ€ๆฌกใฎๅทฅ็จ‹ใงๆ›ธใๅ‡บใ™ใƒฌใƒผใ‚ถใƒผใ‚นใ‚ญใƒฃใƒณใฎ.rcalingใƒ•ใ‚กใ‚คใƒซใ‚’ๅˆไฝ“(Merge Components)ใ—ใŸใ‚‚ใฎใ‚’ไฝฟใฃใฆใ€ๆœฌ็•ช็”จใฎใƒกใƒƒใ‚ทใƒฅๅŒ–ใจใƒ†ใ‚ฏใ‚นใƒใƒฃ็”Ÿๆˆใ‚’่กŒใ†ใ€‚

ใ‚นใ‚ฑใƒผใƒซ่ชฟๆ•ด (ใƒฌใƒผใ‚ถใƒผใ‚นใ‚ญใƒฃใƒณใƒ‡ใƒผใ‚ฟใจใฎๅˆไฝ“ใ‚’่กŒใ‚ใชใ„ๅ ดๅˆ)

ๅ†™็œŸใฎใฟใ‹ใ‚‰็”Ÿๆˆใ™ใ‚‹ๅ ดๅˆใ€ใƒ•ใ‚ฉใƒˆใ‚ฐใƒฉใƒกใƒˆใƒชใฏใ‚นใ‚ฑใƒผใƒซใฎๆญฃใ—ใใชใ„ใƒขใƒ‡ใƒซใซใชใ‚‹ใฎใงๆ‰‹ๅ‹•ใงใ‚นใ‚ฑใƒผใƒซใ‚’ๅˆใ‚ใ›ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚
โ€ปใƒฌใƒผใ‚ถใƒผใ‚นใ‚ญใƒฃใƒณใƒ‡ใƒผใ‚ฟใจใฎๅˆไฝ“ใ‚’่กŒใ†ๅ ดๅˆใฏใƒฌใƒผใ‚ถใƒผใ‚นใ‚ญใƒฃใƒณใƒ‡ใƒผใ‚ฟใŒๆญฃใ—ใ„ใ‚นใ‚ฑใƒผใƒซใ‚’ๆŒใฃใฆใ„ใ‚‹ใฎใงใ“ใฎๅทฅ็จ‹ใฏไธ่ฆ

Control Pointใ‚’ไฝฟ็”จใ—ใ€2็‚น้–“ใฎ่ท้›ขใ‚’ๆŒ‡ๅฎšใ™ใ‚‹ใ“ใจใงใ‚นใ‚ฑใƒผใƒซใ‚’่จญๅฎšใ™ใ‚‹ใ“ใจใŒๅ‡บๆฅใ‚‹ใ€‚

ๅฎŸ้š›ใฎ่ท้›ขใŒใ‚ใ‹ใ‚Šใ€็‰นๅพด็š„ใช้ƒจๅˆ†ใซใ‚ณใƒณใƒˆใƒญใƒผใƒซใƒใ‚คใƒณใƒˆใ‚’่จญๅฎšใ™ใ‚‹ใ€‚

ใƒฌใƒผใ‚ถใƒผใ‚นใ‚ญใƒฃใƒณใ‚’่กŒใ‚ใชใ„ๅ ดๅˆใฏ็พๅœฐใงๅฏธๆณ•ใ‚’ๆธฌใฃใฆใŠใใ€‚

Control Pointใ‚’่จญๅฎšใ—ใŸใ‚‰Define Distanceใƒขใƒผใƒ‰ใซใ™ใ‚‹ใ€‚

2ใคใฎControl Point้–“ใ‚’ใƒ‰ใƒฉใƒƒใ‚ฐใ™ใ‚‹ใ€‚

1Dsใƒ“ใƒฅใƒผใซConstraintsใŒไฝœใ‚‰ใ‚Œใ‚‹ใฎใงDefined distanceใฎๆฌ„ใซๅฎŸ้š›ใฎ่ท้›ขใ‚’ๅ…ฅๅŠ›ใ™ใ‚‹ใ€‚ๅ˜ไฝใฏmใ€‚
ๆธฌๅฎšใ—ใŸๅฎŸ้š›ใฎ่ท้›ขใฏ9.658mใ ใฃใŸใฎใงใ€9.658ใ‚’ๅ…ฅๅŠ›ใ€‚

ๅ…ฅๅŠ›ๅพŒUpdateใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ใจใ‚นใ‚ฑใƒผใƒซใŒๅๆ˜ ใ•ใ‚Œใ‚‹ใ€‚

2Dใƒ“ใƒฅใƒผๅŠใณ3Dใƒ“ใƒฅใƒผใง่ท้›ขใŒๅๆ˜ ใ•ใ‚Œใฆใ„ใ‚‹ใฎ็ขบ่ชใงใใ‚‹ใ€‚