.~9})...
│ │ │ +000035f0: 479a 7a56 c2d3 bd81 c20e 0e5c 6ec7 8ca2 G.zV.......\n...
│ │ │ +00003600: 5daf fd5a 10df 00e1 d437 7663 f2ab 9d8d ]..Z.....7vc....
│ │ │ +00003610: 3a9b 1601 15f7 daf6 8bec 4dda a3eb 2c1a :.........M...,.
│ │ │ +00003620: 7d50 c559 98ef b2e7 c604 c3d5 4d92 a63c }P.Y........M..<
│ │ │ +00003630: 3b24 6a9f 2cae 76d4 2cbf 4e82 f1f6 da0f ;$j.,.v.,.N.....
│ │ │ +00003640: aae9 4f4e d228 5791 835f e35b 914c c60f ..ON.(W.._.[.L..
│ │ │ +00003650: 9b4a 3e81 433e c189 b5c9 03c9 689e 5f78 .J>.C>......h._x
│ │ │ +00003660: bccd 7796 1ea9 01a4 3d54 636f f258 5fe4 ..w.....=Tco.X_.
│ │ │ +00003670: d75b 91a5 47d2 60b4 c7d1 b653 8f22 3776 .[..G.`....S."7v
│ │ │ +00003680: d01f 217f 6d5d 86f4 5a60 9861 f963 5693 ..!.m]..Z`.a.cV.
│ │ │ +00003690: c221 d399 3e8b 1139 83d3 9a4e 32ad b81d .!..>..9...N2...
│ │ │ +000036a0: fc7a 93c4 8f3c ddaa 7720 471e 62c4 83d0 .z...<..w G.b...
│ │ │ +000036b0: 05c2 1b56 0d32 c73f d327 5664 d917 fe94 ...V.2.?.'Vd....
│ │ │ +000036c0: a3ca c128 0ee6 195a 6678 edbf c843 4e56 ...(...Zfx...CNV
│ │ │ +000036d0: 220b 3eb3 f49f 054b 83dc e811 cee1 304f ".>....K......0O
│ │ │ +000036e0: 726e 8d7f a0cf faa8 0093 87d0 1018 e1da rn..............
│ │ │ +000036f0: 022f 16dd 780c 4160 c4c2 1a8d bb9b 7bb3 ./..x.A`......{.
│ │ │ +00003700: bada 0f30 2cb4 3ffd 94cc 7b31 5ffb 343d ...0,.?...{1_.4=
│ │ │ +00003710: ffeb b719 1653 2701 f34f c711 0fdb 0174 .....S'..O.....t
│ │ │ +00003720: 0c44 160f 27fe 5d4d dba9 8ab4 3550 974e .D..'.]M....5P.N
│ │ │ +00003730: 0c56 371d b635 6c07 5034 10c4 359c 989e .V7..5l.P4..5...
│ │ │ +00003740: 538d 3550 172c a7f4 764e 66b5 6f10 6358 S.5P.,..vNf.o.cX
│ │ │ +00003750: e9a0 c9a4 ded6 8faf 3c2b 224c 1f72 6e3c ........<+"L.rn<
│ │ │ +00003760: a2f0 2ced 94b4 6f29 8b33 bd4b 80f8 f953 ..,...o).3.K...S
│ │ │ +00003770: 9657 c797 c005 0e41 0ccb 1cb2 a08a 5501 .W.....A......U.
│ │ │ +00003780: 71df 927b f5fd a7b9 f036 1cfe 21da d6a6 q..{.....6..!...
│ │ │ +00003790: 0fa4 bed1 b4f7 40f2 1ffa 03c9 7fa6 1ea8 ......@.........
│ │ │ +000037a0: 9ab0 6f0e 9b1d 6c95 60d2 7c58 705f ea29 ..o...l.`.|Xp_.)
│ │ │ +000037b0: 81fc 9145 853e 3d89 e432 e8b5 1f96 d89b ...E.>=..2......
│ │ │ +000037c0: 7c4a a30c bd08 e3fa 4d74 a22f 5a6e df0c |J......Mt./Zn..
│ │ │ +000037d0: 211b 0a39 fc24 5084 c987 d35b a3c0 3fdb !..9.$P....[..?.
│ │ │ +000037e0: 9bb2 1e91 7c9e 784a 5dfb 875f 6dac 507d ....|.xJ].._m.P}
│ │ │ +000037f0: 3e0e 9338 0431 ac73 c802 2556 6dc6 b892 >..8.1.s..%Vm...
│ │ │ +00003800: d375 5ffe eadb 4a91 a07f 1c15 f848 e320 .u_...J......H.
│ │ │ +00003810: a8a7 3478 15f0 5780 cd7a d96e b275 f384 ..4x..W..z.n.u..
│ │ │ +00003820: eb8e 2785 aa77 1c15 f828 e320 464f 69ab ..'..w...(. FOi.
│ │ │ +00003830: 884d e112 9f14 50cc 8a3c 8cc2 7cc2 6d5d .M....P..<..|.m]
│ │ │ +00003840: 26ea a828 af0d 435e dd26 c52a 020d 9cfb &..(..C^.&.*....
│ │ │ +00003850: 2cfa c83a 0946 98ef e21c 435b 27ef e5ac ,..:.F....C['...
│ │ │ +00003860: ef8e 107e 561d c1bb 00c3 dab5 e9a5 ee26 ...~V..........&
│ │ │ +00003870: 19e1 d709 de86 18fe ae4d 2f7f 37c9 24ff .........M/.7.$.
│ │ │ +00003880: 7580 e7bf 0e26 f9af a1cf 7f4d 78fe ebe9 u....&.....Mx...
│ │ │ +00003890: e7bf 863e ff3b 02ff bb69 fe77 10fe 7495 ...>.;...i.w..t.
│ │ │ +000038a0: 64e2 2fe9 1c8b a0fc 6d9b 01fe 7692 117e d./.....m...v..~
│ │ │ +000038b0: 756c 7495 d88f e022 7a0c 7b95 f4a4 1b91 ult...."z.{.....
│ │ │ +000038c0: 9351 e564 4039 1948 cef9 4e4b 8302 ceb7 .Q.d@9.H..NK....
│ │ │ +000038d0: 565a f6dd 9922 519f 49aa b557 88d3 70d4 VZ..."Q.I..W..p.
│ │ │ +000038e0: 7458 c469 4a90 a887 1d0b 384d 54cb 7442 tX.iJ.....8MT.tB
│ │ │ +000038f0: 542b e5a4 a87b 752a 3c60 7639 6836 22a6 T+...{u*<`v9h6".
│ │ │ +00003900: 956a 5a88 fa92 8df6 ce4e 6dc7 249d 249d .jZ......Nm.$.$.
│ │ │ +00003910: d4f5 55ed 3a8a d7d4 b61b d1d3 4e36 a9a5 ..U.:.......N6..
│ │ │ +00003920: 3e9d f75e 9fe9 0909 a086 208c e8eb 3758 >..^...... ...7X
│ │ │ +00003930: 4c9f 2dcc 9fd4 4778 4984 91d7 321b d1d4 L.-...GxI...2...
│ │ │ +00003940: 4ab5 801f 728c d351 598d caa8 122d 7047 J...r..QY....-pG
│ │ │ +00003950: 2dff 549e c34b 12d4 0200 696b a547 cafc -.T..K....ik.G..
│ │ │ +00003960: 991f 6faa b395 c952 5b20 60b9 2d9b 85d1 ..o....R[ `.-...
│ │ │ +00003970: 21d6 74d9 7da7 612f f176 0be4 d9c1 18c1 !.t.}.a/.v......
│ │ │ +00003980: 7d87 682f 2129 1796 8ec6 3610 3b7a daf6 }.h/!)....6.;z..
│ │ │ +00003990: d204 6161 e574 6de3 47eb 3dae 7b49 b75f ..aa.tm.G.=.{I._
│ │ │ +000039a0: 989c d26d fc34 7cb2 bd19 335b 989f ea6d ...m.4|...3[...m
│ │ │ +000039b0: fc04 e767 842f 89c6 0b2b c781 1b3f 50ef ...g./...+...?P.
│ │ │ +000039c0: f9e2 4bba fdc2 e854 71cc e34c 1f4f bec4 ..K....Tq..L.O..
│ │ │ +000039d0: dbb5 e4fb 3dfb 45b6 ce4b 2a8f 8214 093d ....=.E..K*....=
│ │ │ +000039e0: 9db0 dc3a f2fd fddd e2f4 7080 a973 0ac7 ...:......p..s..
│ │ │ +000039f0: 8e14 2879 7ace 272c 099b 230a 5396 156f ..(yz.',..#.S..o
│ │ │ +00003a00: 7ffc f12f f0fd 5365 5ec8 ad68 7bbf 1640 .../..Se^..h{..@
│ │ │ +00003a10: 9c2a 59e2 781a c76b 70d4 2ee1 e576 99cd .*Y.x..kp....v..
│ │ │ +00003a20: e701 156d b33d 3495 b0d9 f859 5335 db3d ...m.=4....YS5.=
│ │ │ +00003a30: 0b92 f6a6 d27e a676 95c6 6c40 dd7a d95d .....~.v..l@.z.]
│ │ │ +00003a40: 2caf c4ea 5a2d f5d5 7e5e bf5a 580a 63d1 ,...Z-..~^.ZX.c.
│ │ │ +00003a50: 96c1 f69f ee15 556f ad7d b233 76af 42af ......Uo.}.3v.B.
│ │ │ +00003a60: 3aed b364 856c 89dc 2f9f 7084 7569 9988 :..d.l../.p.ui..
│ │ │ +00003a70: 16e2 510c b4c7 6456 e8d5 7159 d5a9 d5fd ..Q...dV..qY....
│ │ │ +00003a80: 5a80 673a 59c8 beb3 439f ee59 983e 8519 Z.g:Y...C..Y.>..
│ │ │ +00003a90: ef3d 6baa 5fed 2e79 92bb 06a7 45ec e73b .=k._..y....E..;
│ │ │ +00003aa0: f9ad c781 ebf3 ce9c e4a4 6093 7b09 0b36 ..........`.{..6
│ │ │ +00003ab0: 4fb0 7935 db7f 17a1 1a68 b174 2857 abcf O.y5.....h.t(W..
│ │ │ +00003ac0: 5eb9 9fad 394e df89 e998 be3a a9a7 59ee ^...9N.....:..Y.
│ │ │ +00003ad0: aadf 4bf5 7b40 5b77 2b78 d34d e4fb 9575 ..K.{@[w+x.M...u
│ │ │ +00003ae0: b796 d7db eed7 3f41 ba44 9d96 e111 b3e8 ......?A.D......
│ │ │ +00003af0: f32a 2e1d 9231 24b0 2a32 8e4a 5b0d af4d .*...1$.*2.J[..M
│ │ │ +00003b00: 97d5 ef01 35fa 480a 83a6 efcc 7c4c 9c4e ....5.H.....|L.N
│ │ │ +00003b10: de6d f2be aa6b 906a 7bde 50b8 6b66 ea63 .m...k.j{.P.kf.c
│ │ │ +00003b20: 0c1a aefa fc82 7611 2cbb 6f68 f7fe b5ba ......v.,.oh....
│ │ │ +00003b30: b0a8 4fbc f1b3 fc38 71b0 51cf aef4 b5b9 ..O....8q.Q.....
│ │ │ +00003b40: a7cd bfb6 0e7e 3aca fdb5 4f4f 0ca1 9d30 .....~:...OO...0
│ │ │ +00003b50: a2fb f216 8aee cc5b 9b38 28bb f858 4c8f .......[.8(..XL.
│ │ │ +00003b60: 16d4 1020 fb41 a46d 614b cb2f 7fff ade9 ... .A.maK./....
│ │ │ +00003b70: 5ece be34 c18c 4024 626d aca4 d65f 93a8 ^..4..@$bm..._..
│ │ │ +00003b80: e429 0f9e 9224 006b 2dd3 b7d0 2b84 afe5 .)...$.k-...+...
│ │ │ +00003b90: bf1d dd59 1183 a145 da16 acb4 7cf8 ed4b ...Y...E....|..K
│ │ │ +00003ba0: 172e 2ff6 6038 91b6 0527 2dbf fdf6 b981 ../.`8...'-.....
│ │ │ +00003bb0: 2bb2 30fe 2e5a 8170 fd22 46a3 8873 1532 +.0..Z.p."F..s.2
│ │ │ +00003bc0: b5f9 6237 bdbe a687 f37a 7346 d109 8bd1 ..b7.....zsF....
│ │ │ +00003bd0: 5d16 462b 9eee 59fc f6c7 376f 1114 49bc ].F+..Y...7o..I.
│ │ │ +00003be0: 1516 7f42 58e4 3c8c 57a2 c67e e729 ee98 ...BX.<.W..~.)..
│ │ │ +00003bf0: 0831 f34e e581 21fc 4947 b360 ab9d b2f7 .1.N..!.IG.`....
│ │ │ +00003c00: a47d 7936 c083 bcb0 540d aeba b090 2dc9 .}y6....T.....-.
│ │ │ +00003c10: 1e99 0185 9e91 c4ea f30b 9f77 a3f3 a637 ...........w...7
│ │ │ +00003c20: e12f ed3d 6def b5ec 1ff4 9da5 beb3 6cee ./.=m.........l.
│ │ │ +00003c30: 2cf2 2cd8 94f3 2bf3 5642 8279 1aac d358 ,.,...+.VB.y...X
│ │ │ +00003c40: c83d 3a96 e52c b2dd 660c 1c6e 32ba d137 .=:..,..f..n2..7
│ │ │ +00003c50: d4a6 3af0 5edc 1303 86c3 b21d f1bd 409f ..:.^.........@.
│ │ │ +00003c60: aa02 5030 7124 cbf4 612b f073 d227 d48c ..P0q$..a+.s.'..
│ │ │ +00003c70: 9dae 3e7c 88fa f441 bae3 b4bd c7ee 9e9f ..>|...A........
│ │ │ +00003c80: b20b 3f57 769c 6ef4 34da e143 6741 8777 ..?Wv.n.4..CgA.w
│ │ │ +00003c90: 8d33 0f92 7e02 f10d 9cd1 3848 3770 365e .3..~.....8H7p6^
│ │ │ +00003ca0: df71 8c7d c723 9d1c 6538 90a4 3c92 aebc .q.}.#..e8..<...
│ │ │ +00003cb0: b640 9cb3 3405 3e76 3cd3 c839 7ac0 5371 .@..4.>v<..9z.Sq
│ │ │ +00003cc0: c6d9 870f d219 9860 634e 051a a79e 384d .......`cN....8M
│ │ │ +00003cd0: 68ec c820 ccb1 2fe3 2226 8e8b 193d 1466 h.. ../."&...=.f
│ │ │ +00003ce0: bacd 1fe7 eeed 21ce 878d 279d 197b 91de ......!...'..{..
│ │ │ +00003cf0: 0391 29a2 ade8 c53f 4f56 165d 7965 f9b3 ..)....?OV.]ye..
│ │ │ +00003d00: 3694 decf ea78 c4fe 3308 47b0 dba7 14d6 6....x..3.G.....
│ │ │ +00003d10: 2741 4f9c 2034 02d7 7bd8 d0f9 21a7 a756 'AO. 4..{...!..V
│ │ │ +00003d20: 83f5 b675 5f43 a90b 8bfe e311 4710 da07 ...u_C......G...
│ │ │ +00003d30: 280e 1c9f d87b 54e2 0864 eb2c c5ea 24c5 (....{T..d.,..$.
│ │ │ +00003d40: 9eb1 ca08 40b3 1384 dae4 74f0 4ca5 1188 ....@.....t.L...
│ │ │ +00003d50: 9383 973a c72e 4df8 74c7 50fb dcbf e74e ...:..M.t.P....N
│ │ │ +00003d60: de91 71f9 d40b 3d4b dbae 2fea f262 7c2e ..q...=K../..b|.
│ │ │ +00003d70: 05c4 ae66 5d9d c9d6 f4cc 0788 de9e 279d ...f].........'.
│ │ │ +00003d80: 4d8d c627 4140 866a bad4 9925 8dcf 8780 M..'A@.j...%....
│ │ │ +00003d90: c8d5 cca9 3361 1a9b 6b4e e176 f73a e8ce ....3a..kN.v.:..
│ │ │ +00003da0: 42c7 6618 23b8 3d1d c968 953d 3ffb 7c04 B.f.#.=..h.=?.|.
│ │ │ +00003db0: 7ce0 a0f4 e5df f475 ddaa eab3 cf9b d38a |......u........
│ │ │ +00003dc0: fff8 c7be 938a 7b59 a64e 365e 0ab0 beca ......{Y.N6^....
│ │ │ +00003dd0: d4eb c559 b383 7234 1f93 22f5 93a7 b8e3 ...Y..r4..".....
│ │ │ +00003de0: 053f 6546 2194 5af4 dda5 bcbb 1477 cf4b .?eF!.Z......w.K
│ │ │ +00003df0: c4f0 ba04 5c43 bba6 f72e 58a0 9cbb 18de ....\C....X.....
│ │ │ +00003e00: 73af f099 bf17 e31d 8553 f778 554f 1dba s........S.xUO..
│ │ │ +00003e10: 6857 239c 7dc8 4fd9 eb7d c4fa 1131 327a hW#.}.O..}...12z
│ │ │ +00003e20: 7d90 7dae 4594 4318 aea0 cf93 7ce6 2aae }.}.E.C.....|.*.
│ │ │ +00003e30: 2104 e477 9e96 ff78 db22 ec25 3a4b a551 !..w...x.".%:K.Q
│ │ │ +00003e40: 6fd5 efe5 a7df ee86 0073 9ee5 0044 99ac o........s...D..
│ │ │ +00003e50: 0329 2f9c 610e 57c1 7682 36ce e2dc 29d3 .)/.a.W.v.6...).
│ │ │ +00003e60: 6bdf 75d9 b47c b855 8a89 65e9 2a59 b928 k.u..|.U..e.*Y.(
│ │ │ +00003e70: fdad fcb9 904e b9ad bf2a 4231 2589 fd1d .....N...*B1%...
│ │ │ +00003e80: 8f0e fea6 88d7 939e 9ffe 4569 85e6 9568 ..........Ei...h
│ │ │ +00003e90: 9e44 f36a b4df e4bd a5ba 2744 2ce5 cd65 .D.j......'D,..e
│ │ │ +00003ea0: 7573 5186 0be0 bc4f a707 5d6a 901e 1794 usQ....O..]j....
│ │ │ +00003eb0: 8e9a eaf1 4041 0e69 1df4 c3fd e1a4 ffab ....@A.i........
│ │ │ +00003ec0: 9270 ff3a f011 87fa d676 de75 a00f 37af .p.:.....v.u..7.
│ │ │ +00003ed0: 63be 96d7 b74b b5ff 5883 ede2 c4de 46c1 c....K..X.....F.
│ │ │ +00003ee0: e929 bd7f 156f 4914 f66e 3e35 6fad 5675 .)...oI..n>5o.Vu
│ │ │ +00003ef0: e631 a31d 31db 08e9 0036 f9d1 f9c0 aea1 .1..1....6......
│ │ │ +00003f00: a79e 3edb f0b5 4fa0 6de8 daa7 d036 6c80 ..>...O.m....6l.
│ │ │ +00003f10: 85aa b1c3 5e1b d20e 1034 abe9 c111 2de2 ....^....4....-.
│ │ │ +00003f20: 263c a279 d8b3 23b1 f546 7481 1881 64d2 &<.y..#..Ft...d.
│ │ │ +00003f30: 9136 bca4 3e90 b9d2 dceb 98eb f321 da97 .6..>........!..
│ │ │ +00003f40: 1603 c3c4 2192 8181 e2bf 95d7 3d79 ddd3 ....!.......=y..
│ │ │ +00003f50: 303d 63c7 975d 52bc fdf1 cd3b b85f bcb4 0=c..]R....;._..
│ │ │ +00003f60: f833 dce2 ff03 b742 6a0f .3.....Bj.
│ │ ├── ./usr/share/doc/open3d-doc/python/html/tutorial/Advanced/color_map_optimization.html
│ │ │ @@ -216,15 +216,15 @@
│ │ │ 50 o3d.color_map.color_map_optimization(mesh, rgbd_images, camera, option)
│ │ │ 51 o3d.visualization.draw_geometries([mesh])
│ │ │ 52 o3d.io.write_triangle_mesh(
│ │ │ 53 os.path.join(path, "scene", "color_map_before_optimization.ply"), mesh)
│ │ │
│ │ │
│ │ │ To visualize how the camera poses are not good for color mapping, this script intentionally set the iteration number as 0, which means no optimization. color_map_optimization
paints a mesh using corresponding RGBD images and camera poses. Without optimization, the texture map is blurred.
│ │ │ -
│ │ │ +
│ │ │
│ │ │
│ │ │
│ │ │ Rigid Optimization
│ │ │ The next step is to optimize camera poses to get a sharp color map.
│ │ │ 55 # Optimize texture and save the mesh as texture_mapped.ply
│ │ │ 56 # This is implementation of following paper
│ │ ├── ./usr/share/doc/open3d-doc/python/html/tutorial/Advanced/colored_pointcloud_registration.html
│ │ │ @@ -203,15 +203,15 @@
│ │ │ 24 # draw initial alignment
│ │ │ 25 current_transformation = np.identity(4)
│ │ │ 26 draw_registration_result_original_color(source, target,
│ │ │ 27 current_transformation)
│ │ │
│ │ │
│ │ │ This script reads a source point cloud and a target point cloud from two files. An identity matrix is used as initialization.
│ │ │ -
│ │ │ +
│ │ │
│ │ │
│ │ │
│ │ │ Point-to-plane ICP
│ │ │ 29 # point to plane ICP
│ │ │ 30 current_transformation = np.identity(4)
│ │ │ 31 print("2. Point-to-plane ICP registration is applied on original point")
│ │ │ @@ -221,15 +221,15 @@
│ │ │ 35 o3d.registration.TransformationEstimationPointToPlane())
│ │ │ 36 print(result_icp)
│ │ │ 37 draw_registration_result_original_color(source, target,
│ │ │ 38 result_icp.transformation)
│ │ │
│ │ │
│ │ │ We first run Point-to-plane ICP as a baseline approach. The visualization below shows misaligned green triangle textures. This is because geometric constraint does not prevent two planar surfaces from slipping.
│ │ │ -
│ │ │ +
│ │ │
│ │ │
│ │ │
│ │ │ Colored point cloud registration
│ │ │ The core function for colored point cloud registration is registration_colored_icp
. Following [Park2017], it runs ICP iterations (see Point-to-point ICP for details) with a joint optimization objective
│ │ │
│ │ │ \[E(\mathbf{T}) = (1-\delta)E_{C}(\mathbf{T}) + \delta E_{G}(\mathbf{T}),\]
│ │ ├── ./usr/share/doc/open3d-doc/python/html/tutorial/Advanced/global_registration.html
│ │ │ @@ -219,15 +219,15 @@
│ │ │ 47 source_down, source_fpfh = preprocess_point_cloud(source, voxel_size)
│ │ │ 48 target_down, target_fpfh = preprocess_point_cloud(target, voxel_size)
│ │ │ 49 return source, target, source_down, target_down, source_fpfh, target_fpfh
│ │ │ 50
│ │ │
│ │ │
│ │ │ This script reads a source point cloud and a target point cloud from two files. They are misaligned with an identity matrix as transformation.
│ │ │ -
│ │ │ +
│ │ │
│ │ │