Integrate LGM & Update 3DGS to Mesh Conversion Algorithm

This commit is contained in:
MrForExample
2024-02-09 00:14:12 +01:00
parent 47e36cdda3
commit 97afc83395
31 changed files with 4778 additions and 83 deletions
@@ -0,0 +1,627 @@
{
"last_node_id": 16,
"last_link_id": 18,
"nodes": [
{
"id": 3,
"type": "[Comfy3D] MVDream Model",
"pos": [
792,
460
],
"size": {
"0": 405.5999755859375,
"1": 238
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "mvdream_pipe",
"type": "DIFFUSERS_PIPE",
"link": 1
},
{
"name": "reference_image",
"type": "IMAGE",
"link": 2
},
{
"name": "reference_mask",
"type": "MASK",
"link": 5
}
],
"outputs": [
{
"name": "multiview_images",
"type": "IMAGE",
"links": [
6
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] MVDream Model"
},
"widgets_values": [
"",
"ugly, blurry, pixelated obscure, unnatural colors, poor lighting, dull, unclear, cropped, lowres, low quality, artifacts, duplicate",
5,
30,
0
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
177,
479
],
"size": {
"0": 315,
"1": 314
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": [
3
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"Cat_Coffee_rgba.png",
"image"
]
},
{
"id": 5,
"type": "InvertMask",
"pos": [
539,
689
],
"size": {
"0": 210,
"1": 26
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "mask",
"type": "MASK",
"link": 3
}
],
"outputs": [
{
"name": "MASK",
"type": "MASK",
"links": [
5
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "InvertMask"
}
},
{
"id": 2,
"type": "[Comfy3D] Load Diffusers Pipeline",
"pos": [
381,
319
],
"size": {
"0": 375.3948669433594,
"1": 83.33004760742188
},
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "pipe",
"type": "DIFFUSERS_PIPE",
"links": [
1,
8
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Load Diffusers Pipeline"
},
"widgets_values": [
"MVDreamPipeline",
"ashawkey/imagedream-ipmv-diffusers"
]
},
{
"id": 12,
"type": "[Comfy3D] Switch 3DGS Axis",
"pos": [
1554,
460
],
"size": {
"0": 210,
"1": 106
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 12
}
],
"outputs": [
{
"name": "switched_gs_ply",
"type": "GS_PLY",
"links": [
13
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Switch 3DGS Axis"
},
"widgets_values": [
"+x",
"-y",
"-z"
]
},
{
"id": 8,
"type": "Reroute",
"pos": [
1150,
319
],
"size": [
75,
26
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 8
}
],
"outputs": [
{
"name": "",
"type": "DIFFUSERS_PIPE",
"links": [
9
],
"slot_index": 0
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 9,
"type": "[Comfy3D] Save 3DGS",
"pos": [
1798,
459
],
"size": {
"0": 315,
"1": 58
},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 13
}
],
"outputs": [
{
"name": "save_path",
"type": "STRING",
"links": [
11
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Save 3DGS"
},
"widgets_values": [
"LGMTest/FatCat.ply"
]
},
{
"id": 10,
"type": "[Comfy3D] Preview 3DGS",
"pos": [
2309.8418660992434,
768.9263430496216
],
"size": [
600,
500
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "gs_file_path",
"type": "STRING",
"link": 11,
"widget": {
"name": "gs_file_path"
}
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Preview 3DGS"
},
"widgets_values": [
"",
null
]
},
{
"id": 1,
"type": "[Comfy3D] Load Large Multiview Gaussian Model",
"pos": [
879,
752
],
"size": {
"0": 315,
"1": 82
},
"flags": {},
"order": 2,
"mode": 0,
"outputs": [
{
"name": "lgm_model",
"type": "LGM_MODEL",
"links": [
7
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Load Large Multiview Gaussian Model"
},
"widgets_values": [
"model_fp16.safetensors",
"big"
]
},
{
"id": 7,
"type": "[Comfy3D] Large Multiview Gaussian Model",
"pos": [
1270,
460
],
"size": {
"0": 252,
"1": 66
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "multiview_images",
"type": "IMAGE",
"link": 6
},
{
"name": "lgm_model",
"type": "LGM_MODEL",
"link": 7
},
{
"name": "mvdream_pipe",
"type": "DIFFUSERS_PIPE",
"link": 9
}
],
"outputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"links": [
12,
18
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Large Multiview Gaussian Model"
}
},
{
"id": 15,
"type": "[Comfy3D] Preview 3DMesh",
"pos": [
2312,
226
],
"size": [
600,
500
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "mesh_file_path",
"type": "STRING",
"link": 16,
"widget": {
"name": "mesh_file_path"
}
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Preview 3DMesh"
},
"widgets_values": [
"",
null
]
},
{
"id": 16,
"type": "[Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes",
"pos": [
1550,
224
],
"size": [
411.6000061035156,
65.46688079833984
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 18
}
],
"outputs": [
{
"name": "mesh",
"type": "MESH",
"links": [
17
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes"
},
"widgets_values": [
"big"
]
},
{
"id": 14,
"type": "[Comfy3D] Save 3D Mesh",
"pos": [
1980,
225
],
"size": {
"0": 307.8253173828125,
"1": 60.248291015625
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "mesh",
"type": "MESH",
"link": 17
}
],
"outputs": [
{
"name": "save_path",
"type": "STRING",
"links": [
16
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Save 3D Mesh"
},
"widgets_values": [
"LGMTest/FatCat.obj"
]
}
],
"links": [
[
1,
2,
0,
3,
0,
"DIFFUSERS_PIPE"
],
[
2,
4,
0,
3,
1,
"IMAGE"
],
[
3,
4,
1,
5,
0,
"MASK"
],
[
5,
5,
0,
3,
2,
"MASK"
],
[
6,
3,
0,
7,
0,
"IMAGE"
],
[
7,
1,
0,
7,
1,
"LGM_MODEL"
],
[
8,
2,
0,
8,
0,
"*"
],
[
9,
8,
0,
7,
2,
"DIFFUSERS_PIPE"
],
[
11,
9,
0,
10,
0,
"STRING"
],
[
12,
7,
0,
12,
0,
"GS_PLY"
],
[
13,
12,
0,
9,
0,
"GS_PLY"
],
[
16,
14,
0,
15,
0,
"STRING"
],
[
17,
16,
0,
14,
0,
"MESH"
],
[
18,
7,
0,
16,
0,
"GS_PLY"
]
],
"groups": [],
"config": {},
"extra": {},
"version": 0.4
}
@@ -0,0 +1,580 @@
{
"last_node_id": 34,
"last_link_id": 52,
"nodes": [
{
"id": 9,
"type": "InvertMask",
"pos": [
576,
690
],
"size": {
"0": 140,
"1": 26
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "mask",
"type": "MASK",
"link": 10
}
],
"outputs": [
{
"name": "MASK",
"type": "MASK",
"links": [
15
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "InvertMask"
}
},
{
"id": 27,
"type": "ImpactFloat",
"pos": [
915,
-357
],
"size": {
"0": 315,
"1": 58
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "FLOAT",
"type": "FLOAT",
"links": [],
"shape": 3,
"slot_index": 0
}
],
"title": "Camera Fovy",
"properties": {
"Node name for S&R": "ImpactFloat"
},
"widgets_values": [
49.1
]
},
{
"id": 12,
"type": "[Comfy3D] Preview 3DGS",
"pos": [
1590,
800
],
"size": [
600,
500
],
"flags": {
"collapsed": false
},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "gs_file_path",
"type": "STRING",
"link": 13,
"widget": {
"name": "gs_file_path"
}
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Preview 3DGS"
},
"widgets_values": [
"",
null
]
},
{
"id": 14,
"type": "[Comfy3D] Triplane Gaussian Transformers",
"pos": [
767,
631
],
"size": {
"0": 252,
"1": 98
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "reference_image",
"type": "IMAGE",
"link": 14
},
{
"name": "reference_mask",
"type": "MASK",
"link": 15
},
{
"name": "tgs_model",
"type": "TGS_MODEL",
"link": 16
}
],
"outputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"links": [
17
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Triplane Gaussian Transformers"
},
"widgets_values": [
1.9000000000000001
]
},
{
"id": 26,
"type": "[Comfy3D] Preview 3DMesh",
"pos": [
2328,
796
],
"size": [
600,
500
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "mesh_file_path",
"type": "STRING",
"link": 32,
"widget": {
"name": "mesh_file_path"
}
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Preview 3DMesh"
},
"widgets_values": [
"",
null
]
},
{
"id": 11,
"type": "Note",
"pos": [
953,
429
],
"size": {
"0": 347.9384460449219,
"1": 141.6276092529297
},
"flags": {},
"order": 1,
"mode": 0,
"title": "Switch 3DGS Axis Note",
"properties": {
"text": ""
},
"widgets_values": [
"Triplane Gaussian Transformers to Preview:\n axis x to: -y\n axis y to: +z\n axis z to: -x\n\nGaussian Splatting to Preview:\n axis x to: +x\n axis y to: -y\n axis z to: -z"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 13,
"type": "[Comfy3D] Switch 3DGS Axis",
"pos": [
1052,
631
],
"size": {
"0": 210,
"1": 106
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 17
}
],
"outputs": [
{
"name": "switched_gs_ply",
"type": "GS_PLY",
"links": [
12,
51
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Switch 3DGS Axis"
},
"widgets_values": [
"-y",
"+z",
"-x"
]
},
{
"id": 10,
"type": "[Comfy3D] Save 3DGS",
"pos": [
1288,
800
],
"size": {
"0": 275.57391357421875,
"1": 58
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 12
}
],
"outputs": [
{
"name": "save_path",
"type": "STRING",
"links": [
13
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Save 3DGS"
},
"widgets_values": [
"MeshTest\\3DGS_Picacho.ply"
]
},
{
"id": 34,
"type": "[Comfy3D] Switch 3DGS Axis",
"pos": [
1294,
629
],
"size": {
"0": 210,
"1": 106
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 51
}
],
"outputs": [
{
"name": "switched_gs_ply",
"type": "GS_PLY",
"links": [
52
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Switch 3DGS Axis"
},
"widgets_values": [
"+x",
"-y",
"-z"
]
},
{
"id": 33,
"type": "[Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes",
"pos": [
1531,
629
],
"size": {
"0": 411.6000061035156,
"1": 58
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "gs_ply",
"type": "GS_PLY",
"link": 52
}
],
"outputs": [
{
"name": "mesh",
"type": "MESH",
"links": [
50
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes"
},
"widgets_values": [
"big"
]
},
{
"id": 25,
"type": "[Comfy3D] Save 3D Mesh",
"pos": [
1974,
629
],
"size": {
"0": 315,
"1": 58
},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "mesh",
"type": "MESH",
"link": 50
}
],
"outputs": [
{
"name": "save_path",
"type": "STRING",
"links": [
32
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Save 3D Mesh"
},
"widgets_values": [
"MeshTest\\3DMesh_Picacho.obj"
]
},
{
"id": 2,
"type": "[Comfy3D] Load Triplane Gaussian Transformers",
"pos": [
444,
768
],
"size": {
"0": 294,
"1": 58
},
"flags": {},
"order": 2,
"mode": 0,
"outputs": [
{
"name": "tgs_model",
"type": "TGS_MODEL",
"links": [
16
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "[Comfy3D] Load Triplane Gaussian Transformers"
},
"widgets_values": [
"model_lvis_rel.ckpt"
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
52,
632
],
"size": {
"0": 354.32330322265625,
"1": 315.4895935058594
},
"flags": {},
"order": 3,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
14
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": [
10
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"a_pikachu_with_smily_face-removebg.png",
"image"
]
}
],
"links": [
[
10,
4,
1,
9,
0,
"MASK"
],
[
12,
13,
0,
10,
0,
"GS_PLY"
],
[
13,
10,
0,
12,
0,
"STRING"
],
[
14,
4,
0,
14,
0,
"IMAGE"
],
[
15,
9,
0,
14,
1,
"MASK"
],
[
16,
2,
0,
14,
2,
"TGS_MODEL"
],
[
17,
14,
0,
13,
0,
"GS_PLY"
],
[
32,
25,
0,
26,
0,
"STRING"
],
[
50,
33,
0,
25,
0,
"MESH"
],
[
51,
13,
0,
34,
0,
"GS_PLY"
],
[
52,
34,
0,
33,
0,
"GS_PLY"
]
],
"groups": [],
"config": {},
"extra": {},
"version": 0.4
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 781 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB