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 12:48] – wissotsky | tamiwiki:projects:scanning-tami [2025/04/04 18:18] (current) – wissotsky | ||
---|---|---|---|
Line 3: | Line 3: | ||
</ | </ | ||
- | {{tamiwiki: | + | {{tamiwiki: |
< | < | ||
- | flowchart TB | ||
flowchart TB | flowchart TB | ||
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)] | kde --> storergbd[(RGBD Images)] | ||
end | end | ||
Line 28: | Line 105: | ||
storergbd2[(RGBD Images)] | storergbd2[(RGBD Images)] | ||
gpuintgr[" | gpuintgr[" | ||
- | isvram{" | + | isvram{" |
cpuintgr[" | cpuintgr[" | ||
exportmesh[(GLTF Mesh)] | exportmesh[(GLTF Mesh)] | ||
- | storergbd2 | + | storergbd2 |
gpuintgr --> isvram | gpuintgr --> isvram | ||
isvram --Low--> gpuintgr | isvram --Low--> gpuintgr |