Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkChenYutian committed Sep 24, 2024
1 parent 5775781 commit 2aff9b4
Show file tree
Hide file tree
Showing 17 changed files with 19 additions and 18 deletions.
2 changes: 1 addition & 1 deletion docs/404.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/content/ConfigSpec.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/a6220ef7e78918c1.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a6220ef7e78918c1.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-19ed625b73a5d9b2.js" defer=""></script><script src="/_next/static/chunks/framework-93463eef90851a00.js" defer=""></script><script src="/_next/static/chunks/main-b711c843ab90e34b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4f52c8355b1403f0.js" defer=""></script><script src="/_next/static/chunks/459-418143179d8885c3.js" defer=""></script><script src="/_next/static/chunks/pages/content/%5Bid%5D-100f9ba4a70e6d9f.js" defer=""></script><script src="/_next/static/sKG2otVmT-JSWW4yqfmjk/_buildManifest.js" defer=""></script><script src="/_next/static/sKG2otVmT-JSWW4yqfmjk/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main><section class="bg-dark text-gray-300 min-h-screen"><div class="flex flex-row-reverse p-4"><div>Light Mode <button class="group inline-flex items-center rounded-full bg-gray-600 transition data-[checked]:bg-primary-500 h-6 w-11" id="headlessui-switch-:R4m:" role="switch" type="button" tabindex="0" aria-checked="false" data-headlessui-state=""><span class="size-4 group-data-[checked]:translate-x-6 translate-x-1 rounded-full bg-white transition"></span></button></div></div><div class="layout py-12"><div class="layout z-20 relative flex min-h-64 flex-col items-center justify-center py-12 text-center"><h1 class="font-light text-4xl">Modules Config Specification</h1></div><h2 class="py-4">Motion Model</h2>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/a6220ef7e78918c1.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a6220ef7e78918c1.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-19ed625b73a5d9b2.js" defer=""></script><script src="/_next/static/chunks/framework-93463eef90851a00.js" defer=""></script><script src="/_next/static/chunks/main-b711c843ab90e34b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4f52c8355b1403f0.js" defer=""></script><script src="/_next/static/chunks/459-418143179d8885c3.js" defer=""></script><script src="/_next/static/chunks/pages/content/%5Bid%5D-100f9ba4a70e6d9f.js" defer=""></script><script src="/_next/static/M8bGBKrGrPOhF9_vcPPeH/_buildManifest.js" defer=""></script><script src="/_next/static/M8bGBKrGrPOhF9_vcPPeH/_ssgManifest.js" defer=""></script></head><body><div id="__next"><main><section class="bg-dark text-gray-300 min-h-screen"><div class="flex flex-row-reverse p-4"><div>Light Mode <button class="group inline-flex items-center rounded-full bg-gray-600 transition data-[checked]:bg-primary-500 h-6 w-11" id="headlessui-switch-:R4m:" role="switch" type="button" tabindex="0" aria-checked="false" data-headlessui-state=""><span class="size-4 group-data-[checked]:translate-x-6 translate-x-1 rounded-full bg-white transition"></span></button></div></div><div class="layout py-12"><div class="layout z-20 relative flex min-h-64 flex-col items-center justify-center py-12 text-center"><h1 class="font-light text-4xl">Modules Config Specification</h1></div><h2 class="py-4">Motion Model</h2>
<ul>
<li class="list-decimal pb-2 ml-4">
<p>Ground Truth + Random Noise</p>
Expand Down Expand Up @@ -226,4 +226,4 @@ <h2 class="py-4">Frontend</h2>
<span class="hljs-comment"># ...</span>
</code></pre>
</li>
</ul></div></section></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"post":{"id":"ConfigSpec","content":" \r\n\r\n## Motion Model\r\n\r\n- Ground Truth + Random Noise\r\n\r\n ```yaml\r\n motion:\r\n type: \"GTwithNoise\"\r\n args:\r\n noise_std: 0.05\r\n ```\r\n\r\n- TartanVO Motion Net\r\n\r\n ```yaml\r\n motion:\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n ```\r\n\r\n## Key point selector\r\n\r\n- Sparse Gradient\r\n\r\n ```yaml\r\n type: \"RandGradientSparse\"\r\n args:\r\n mask_width: 16 # Margin width to not select KP from\r\n grad_std: 2.0 # Select kp only on grad\u003e+2std position\r\n nms_size: 15 # NMS filter used to ensure sparsity\r\n fix_seed: 1984 # Fixed random seed for experiment\r\n ```\r\n\r\n- Grid\r\n\r\n ```yaml\r\n type: \"Grid\"\r\n args:\r\n mask_width: 32 # Margin width to not select KP from\r\n ```\r\n\r\n- Covariance Aware\r\n\r\n ```yaml\r\n type: CovAwareSelector\r\n args:\r\n mask_width: 32\r\n max_depth: 100.\r\n kernel_size: 7\r\n device: cuda\r\n max_depth_cov: 1e3\r\n max_match_cov: 1e3\r\n ```\r\n\r\n## Covariance Models\r\n\r\n### Observation Covariance\r\n\r\n- Naive Covariance (Depth Only)\r\n\r\n ```yaml\r\n type: NaiveCovariance\r\n kwargs:\r\n depth_cov_min: 0.05\r\n depth_cov_max: 1.\r\n ```\r\n\r\n- Depth Only\r\n\r\n ```yaml\r\n type: DepthCovariance\r\n kwargs:\r\n ```\r\n\r\n- Match Only\r\n\r\n ```yaml\r\n type: MatchCovariance\r\n kwargs:\r\n match_cov_default: 0.25 # default match cov when not available (when KP is just created)\r\n kernel_size: 31 # Local patch size\r\n min_flow_cov: 0.16\r\n ```\r\n\r\n- Depth + Match Covariance\r\n\r\n ```yaml\r\n type: GaussianMixtureCovariance\r\n kwargs: # Same meaning as MatchOnly\r\n match_cov_default: 0.25\r\n kernel_size: 31\r\n min_flow_cov: 0.16\r\n min_depth_cov: 0.05\r\n ```\r\n\r\n### Point Covariance\r\n\r\n- Direct Covariance\r\n\r\n- Weighted Average\r\n\r\n## Depth\r\n\r\n- TartanVO\r\n\r\n ```yaml\r\n depth:\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/95001_StereoCov.pth\" # Checkpoint path\r\n eval_mode: true # If in training/eval mode\r\n usegtcov: true # use RAFT-like estimated cov if false\r\n device: \"cuda\" # must be \"cuda\"\r\n cov_mode: Est # Est | GT | None\r\n ```\r\n\r\n## Outlier Rejection\r\n\r\n- Compose\r\n\r\n ```yaml\r\n outlier:\r\n type: Compose\r\n args:\r\n filter_args:\r\n - Subfilters to compose...\r\n ```\r\n\r\n- Covariance Sanity (filter obs with `nan` and `inf` cov)\r\n\r\n ```yaml\r\n type: CovarianceSanityFilter\r\n args:\r\n ```\r\n\r\n- Depth Filter\r\n\r\n ```yaml\r\n type: DepthFilter\r\n args:\r\n min_depth: 0.05 # Minimum depth to accept\r\n max_depth: 20.0 # Prefered maximum depth to accept\r\n expect_num: 12\r\n # NOTE: actual maximum depth is 100 meter. The filter will increase\r\n # max_depth if less than expect_num kps are remain after filtering.\r\n ```\r\n\r\n## Match\r\n\r\n- TartanVO Match (no Covariance)\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n cov_mode: None\r\n ```\r\n\r\n- TartanVO Match (GT Covariance)\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n cov_mode: GT\r\n ```\r\n\r\n- FlowFormer Match\r\n\r\n ```yaml\r\n type: \"Flowformer\"\r\n args:\r\n weight: \"./Model/Flowformer_sintel.pth\"\r\n eval_mode: true\r\n device: cuda\r\n ```\r\n\r\n- TartanVO + Estimated Cov Match\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/205001_RAFTCov_b.pth\"\r\n eval_mode: true\r\n cov_mode: Est\r\n cfg:\r\n decoder: raft\r\n dim: 64\r\n dropout: 0.1\r\n num_heads: 4\r\n mixtures: 4\r\n gru_iters: 12\r\n kernel_size: 3\r\n ```\r\n\r\n- FlowFormer + Estimated Cov Match\r\n\r\n ```yaml\r\n type: \"FlowformerCov\"\r\n args:\r\n weight: \"./Model/KITTIThings120001.pth\"\r\n eval_mode: true\r\n device: cuda\r\n output_cov: false\r\n ```\r\n\r\n## Frontend\r\n\r\n- FlowFormerCov Frontend\r\n\r\n ```yaml\r\n type: FlowFormerCovFrontend\r\n args:\r\n device: *device\r\n eval_mode: true | false\r\n weight: ./Model/KITTIThings120001.pth\r\n use_jit: true | false\r\n enforce_positive_disparity: true | false\r\n ```\r\n\r\n- Composite Frontend\r\n\r\n ```yaml\r\n type: Composite\r\n args:\r\n depth:\r\n # Depth Config Here\r\n # type: ...\r\n # args:\r\n # ...\r\n match:\r\n # Match Config Here\r\n # type: ...\r\n # args:\r\n # ...\r\n ```\r\n","title":"Modules Config Specification"}},"__N_SSG":true},"page":"/content/[id]","query":{"id":"ConfigSpec"},"buildId":"sKG2otVmT-JSWW4yqfmjk","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
</ul></div></section></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"post":{"id":"ConfigSpec","content":" \r\n\r\n## Motion Model\r\n\r\n- Ground Truth + Random Noise\r\n\r\n ```yaml\r\n motion:\r\n type: \"GTwithNoise\"\r\n args:\r\n noise_std: 0.05\r\n ```\r\n\r\n- TartanVO Motion Net\r\n\r\n ```yaml\r\n motion:\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n ```\r\n\r\n## Key point selector\r\n\r\n- Sparse Gradient\r\n\r\n ```yaml\r\n type: \"RandGradientSparse\"\r\n args:\r\n mask_width: 16 # Margin width to not select KP from\r\n grad_std: 2.0 # Select kp only on grad\u003e+2std position\r\n nms_size: 15 # NMS filter used to ensure sparsity\r\n fix_seed: 1984 # Fixed random seed for experiment\r\n ```\r\n\r\n- Grid\r\n\r\n ```yaml\r\n type: \"Grid\"\r\n args:\r\n mask_width: 32 # Margin width to not select KP from\r\n ```\r\n\r\n- Covariance Aware\r\n\r\n ```yaml\r\n type: CovAwareSelector\r\n args:\r\n mask_width: 32\r\n max_depth: 100.\r\n kernel_size: 7\r\n device: cuda\r\n max_depth_cov: 1e3\r\n max_match_cov: 1e3\r\n ```\r\n\r\n## Covariance Models\r\n\r\n### Observation Covariance\r\n\r\n- Naive Covariance (Depth Only)\r\n\r\n ```yaml\r\n type: NaiveCovariance\r\n kwargs:\r\n depth_cov_min: 0.05\r\n depth_cov_max: 1.\r\n ```\r\n\r\n- Depth Only\r\n\r\n ```yaml\r\n type: DepthCovariance\r\n kwargs:\r\n ```\r\n\r\n- Match Only\r\n\r\n ```yaml\r\n type: MatchCovariance\r\n kwargs:\r\n match_cov_default: 0.25 # default match cov when not available (when KP is just created)\r\n kernel_size: 31 # Local patch size\r\n min_flow_cov: 0.16\r\n ```\r\n\r\n- Depth + Match Covariance\r\n\r\n ```yaml\r\n type: GaussianMixtureCovariance\r\n kwargs: # Same meaning as MatchOnly\r\n match_cov_default: 0.25\r\n kernel_size: 31\r\n min_flow_cov: 0.16\r\n min_depth_cov: 0.05\r\n ```\r\n\r\n### Point Covariance\r\n\r\n- Direct Covariance\r\n\r\n- Weighted Average\r\n\r\n## Depth\r\n\r\n- TartanVO\r\n\r\n ```yaml\r\n depth:\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/95001_StereoCov.pth\" # Checkpoint path\r\n eval_mode: true # If in training/eval mode\r\n usegtcov: true # use RAFT-like estimated cov if false\r\n device: \"cuda\" # must be \"cuda\"\r\n cov_mode: Est # Est | GT | None\r\n ```\r\n\r\n## Outlier Rejection\r\n\r\n- Compose\r\n\r\n ```yaml\r\n outlier:\r\n type: Compose\r\n args:\r\n filter_args:\r\n - Subfilters to compose...\r\n ```\r\n\r\n- Covariance Sanity (filter obs with `nan` and `inf` cov)\r\n\r\n ```yaml\r\n type: CovarianceSanityFilter\r\n args:\r\n ```\r\n\r\n- Depth Filter\r\n\r\n ```yaml\r\n type: DepthFilter\r\n args:\r\n min_depth: 0.05 # Minimum depth to accept\r\n max_depth: 20.0 # Prefered maximum depth to accept\r\n expect_num: 12\r\n # NOTE: actual maximum depth is 100 meter. The filter will increase\r\n # max_depth if less than expect_num kps are remain after filtering.\r\n ```\r\n\r\n## Match\r\n\r\n- TartanVO Match (no Covariance)\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n cov_mode: None\r\n ```\r\n\r\n- TartanVO Match (GT Covariance)\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/43_6_2_vonet_30000.pkl\"\r\n eval_mode: true\r\n cov_mode: GT\r\n ```\r\n\r\n- FlowFormer Match\r\n\r\n ```yaml\r\n type: \"Flowformer\"\r\n args:\r\n weight: \"./Model/Flowformer_sintel.pth\"\r\n eval_mode: true\r\n device: cuda\r\n ```\r\n\r\n- TartanVO + Estimated Cov Match\r\n\r\n ```yaml\r\n type: \"TartanVO\"\r\n args:\r\n weight: \"./Model/205001_RAFTCov_b.pth\"\r\n eval_mode: true\r\n cov_mode: Est\r\n cfg:\r\n decoder: raft\r\n dim: 64\r\n dropout: 0.1\r\n num_heads: 4\r\n mixtures: 4\r\n gru_iters: 12\r\n kernel_size: 3\r\n ```\r\n\r\n- FlowFormer + Estimated Cov Match\r\n\r\n ```yaml\r\n type: \"FlowformerCov\"\r\n args:\r\n weight: \"./Model/KITTIThings120001.pth\"\r\n eval_mode: true\r\n device: cuda\r\n output_cov: false\r\n ```\r\n\r\n## Frontend\r\n\r\n- FlowFormerCov Frontend\r\n\r\n ```yaml\r\n type: FlowFormerCovFrontend\r\n args:\r\n device: *device\r\n eval_mode: true | false\r\n weight: ./Model/KITTIThings120001.pth\r\n use_jit: true | false\r\n enforce_positive_disparity: true | false\r\n ```\r\n\r\n- Composite Frontend\r\n\r\n ```yaml\r\n type: Composite\r\n args:\r\n depth:\r\n # Depth Config Here\r\n # type: ...\r\n # args:\r\n # ...\r\n match:\r\n # Match Config Here\r\n # type: ...\r\n # args:\r\n # ...\r\n ```\r\n","title":"Modules Config Specification"}},"__N_SSG":true},"page":"/content/[id]","query":{"id":"ConfigSpec"},"buildId":"M8bGBKrGrPOhF9_vcPPeH","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
Loading

0 comments on commit 2aff9b4

Please sign in to comment.