This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tamiwiki:projects:scanning-tami [2025/04/04 11:16] – wissotsky | tamiwiki:projects:scanning-tami [2025/04/04 18:18] (current) – wissotsky | ||
---|---|---|---|
Line 3: | Line 3: | ||
</ | </ | ||
- | {{tamiwiki: | + | {{tamiwiki: |
< | < | ||
Line 9: | Line 9: | ||
subgraph sg1[" | subgraph sg1[" | ||
direction LR | direction LR | ||
- | fd[" | + | |
+ | | ||
+ | |||
+ | subgraph | ||
+ | direction LR | ||
+ | curframe@{ shape: circle, label: "Frame t" } | ||
+ | lcpairs[(" | ||
+ | mne[" | ||
+ | islcp{" | ||
+ | mlcp[" | ||
+ | findtransitivepairs[" | ||
+ | imgpairs[(Successfully Matched Image Pairs)] | ||
+ | |||
+ | curframe --> mne | ||
+ | lcpairs -..- islcp | ||
+ | mne --> islcp | ||
+ | mlcp --> findtransitivepairs | ||
+ | islcp --Yes--> mlcp | ||
+ | islcp -->|No| findtransitivepairs | ||
+ | findtransitivepairs --> imgpairs | ||
+ | end | ||
+ | |||
+ | |||
+ | imgpairs | ||
+ | subgraph ComputeEssentialMatrix[" | ||
+ | direction LR | ||
+ | |||
+ | imgpair --> ransacLoop[" | ||
+ | |||
+ | subgraph RANSACProcess[" | ||
+ | direction LR | ||
+ | ransacLoop --> randomSample[" | ||
+ | randomSample --> computeE[" | ||
+ | computeE --> countInliers[" | ||
+ | countInliers --> updateBest[" | ||
+ | updateBest --> checkIteration{" | ||
+ | reached?" | ||
+ | checkIteration -->|No| ransacLoop | ||
+ | end | ||
+ | |||
+ | checkIteration -->|Yes| output[(" | ||
+ | end | ||
+ | |||
+ | output | ||
end | end | ||
+ | |||
| | ||
subgraph sg2[" | subgraph sg2[" | ||
direction LR | direction LR | ||
- | pm["Patchmatch"] --RANSAC | + | pm["PatchMatch Multi-View Depth Estimation"] |
+ | nde[" | ||
+ | pm & nde --> preprocessing | ||
+ | |||
+ | subgraph ConfidenceWeightedDepthCorrection[" | ||
+ | direction LR | ||
+ | |||
+ | preprocessing[" | ||
+ | |||
+ | subgraph RANSACProcessPolyfit[" | ||
+ | ransacLoopPolyfit | ||
+ | sampleSelection["Random sample selection | ||
+ | from depth maps"] --> weightSamples | ||
+ | |||
+ | weightSamples[" | ||
+ | confidence map values" | ||
+ | |||
+ | fitModel[" | ||
+ | to weighted samples" | ||
+ | |||
+ | evaluateModel[" | ||
+ | |||
+ | checkConvergence{" | ||
+ | |||
+ | checkConvergence -->|Yes| bestModel[" | ||
+ | offset model" | ||
+ | end | ||
+ | |||
+ | bestModel --> applyCorrection[" | ||
+ | |||
+ | applyCorrection --> outputPolyfit[" | ||
+ | end | ||
+ | |||
+ | outputPolyfit --> rgbdpcd[" | ||
+ | gsd --> kde[" | ||
+ | kde --> storergbd[(RGBD Images)] | ||
end | end | ||
subgraph sg3[" | subgraph sg3[" | ||
direction LR | direction LR | ||
- | tsdf["RGBD TSDF Integration" | + | tsdf --> |
end | end | ||
subgraph tsdf[" | subgraph tsdf[" | ||
direction LR | direction LR | ||
- | gpuintgr[" | + | |
+ | | ||
+ | | ||
+ | cpuintgr[" | ||
+ | exportmesh[(GLTF Mesh)] | ||
+ | |||
+ | storergbd2 -.- gpuintgr | ||
+ | gpuintgr --> isvram | ||
isvram --Low--> gpuintgr | isvram --Low--> gpuintgr | ||
- | isvram --High--> | + | isvram --High--> |
- | gpuintgr --o cpuintgr | + | cpuintgr |
+ | gpuintgr -.Move Data.-o cpuintgr | ||
+ | |||
+ | cpuintgr --> exportmesh | ||
end | end | ||