[CVPR 2025 Best Paper Award] VGGT: Visual Geometry Grounded Transformer
This report presents the forensic synthetic code analysis of facebookresearch/vggt, a Python project with 14,121 GitHub stars. SynthScan v2.0 examined 16,113 lines of code across 81 source files, recording 288 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 29.8 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 288 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | demo_gradio.py | 100 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | demo_gradio.py | 102 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 41 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 43 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 168 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 170 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 183 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 185 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 256 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 258 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 329 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 331 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 343 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 345 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | demo_gradio.py | 542 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | demo_gradio.py | 548 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | demo_gradio.py | 568 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | demo_gradio.py | 570 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | demo_gradio.py | 677 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | demo_gradio.py | 679 | # ------------------------------------------------------------------------- | STRING |
| MEDIUM | training/train_utils/checkpoint.py | 25 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | training/train_utils/checkpoint.py | 27 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | training/train_utils/freeze.py | 13 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | training/train_utils/freeze.py | 15 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | training/train_utils/freeze.py | 58 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | training/train_utils/freeze.py | 60 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 29 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 31 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 59 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 61 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 222 | # ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 224 | # ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 229 | # ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | training/train_utils/optimizer.py | 231 | # ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 16 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 18 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 82 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 84 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 156 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 158 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 203 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | training/train_utils/optimizer.py | 205 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | vggt/dependency/projection.py | 29 | # 1. perspective divide ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | vggt/dependency/projection.py | 34 | # 2. optional distortion ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | vggt/dependency/projection.py | 39 | # 3. homogeneous coords then K multiplication ───────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo_viser.py | 12 | CODE | |
| LOW | demo_colmap.py | 21 | CODE | |
| LOW | visual_util.py | 8 | CODE | |
| LOW | training/launch.py | 9 | CODE | |
| LOW | training/launch.py | 9 | CODE | |
| LOW | training/trainer.py | 40 | CODE | |
| LOW | training/train_utils/logging.py | 9 | CODE | |
| LOW | training/train_utils/distributed.py | 9 | CODE | |
| LOW | training/train_utils/distributed.py | 10 | CODE | |
| LOW | training/train_utils/optimizer.py | 9 | CODE | |
| LOW | training/train_utils/gradient_clip.py | 9 | CODE | |
| LOW | training/train_utils/general.py | 13 | CODE | |
| LOW | training/train_utils/general.py | 18 | CODE | |
| LOW | training/train_utils/general.py | 18 | CODE | |
| LOW | training/data/base_dataset.py | 11 | CODE | |
| LOW | training/data/dynamic_dataloader.py | 12 | CODE | |
| LOW | training/data/dynamic_dataloader.py | 12 | CODE | |
| LOW | training/data/dynamic_dataloader.py | 13 | CODE | |
| LOW | training/data/track_util.py | 15 | CODE | |
| LOW | training/data/composed_dataset.py | 16 | CODE | |
| LOW | training/data/composed_dataset.py | 17 | CODE | |
| LOW | training/data/datasets/co3d.py | 10 | CODE | |
| LOW | training/data/datasets/co3d.py | 18 | CODE | |
| LOW | training/data/datasets/vkitti.py | 7 | CODE | |
| LOW | training/data/datasets/vkitti.py | 16 | CODE | |
| LOW | vggt/layers/attention.py | 10 | CODE | |
| LOW | vggt/layers/attention.py | 11 | CODE | |
| LOW | vggt/layers/attention.py | 12 | CODE | |
| LOW | vggt/layers/swiglu_ffn.py | 8 | CODE | |
| LOW | vggt/layers/__init__.py | 7 | CODE | |
| LOW | vggt/layers/__init__.py | 8 | CODE | |
| LOW | vggt/layers/__init__.py | 9 | CODE | |
| LOW | vggt/layers/__init__.py | 9 | CODE | |
| LOW | vggt/layers/__init__.py | 10 | CODE | |
| LOW | vggt/layers/__init__.py | 11 | CODE | |
| LOW | vggt/layers/rope.py | 17 | CODE | |
| LOW | vggt/layers/block.py | 10 | CODE | |
| LOW | vggt/layers/block.py | 11 | CODE | |
| LOW | vggt/layers/block.py | 13 | CODE | |
| LOW | vggt/dependency/track_predict.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 9 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 11 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 12 | CODE | |
| LOW | vggt/dependency/__init__.py | 1 | CODE | |
| LOW | vggt/dependency/__init__.py | 2 | CODE | |
| LOW | vggt/dependency/__init__.py | 2 | CODE | |
| LOW | vggt/dependency/__init__.py | 3 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 8 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 12 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 13 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 14 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 14 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 15 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 15 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 17 | CODE | |
| LOW | vggt/dependency/vggsfm_tracker.py | 18 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | visual_util.py | 29 | Converts VGGT predictions to a 3D scene represented as a GLB file. Args: predictions (dict): Dictionar | STRING |
| HIGH | training/data/base_dataset.py | 76 | Abstract method to retrieve data for a given sequence. Args: seq_index (int, optional): In | STRING |
| HIGH | training/data/base_dataset.py | 238 | TODO: add the function to sample the ids by pose similarity ranking. Sample a set of IDs from a sequen | STRING |
| HIGH | training/data/augmentation.py | 16 | Create a composition of image augmentations. Args: color_jitter: Dictionary containing color jitter paramet | STRING |
| HIGH | training/data/composed_dataset.py | 215 | Retrieves an item using either an integer index or a tuple index. Args: idx (int or tuple) | STRING |
| HIGH | training/data/dataset_util.py | 29 | TODO: some names of width and height seem not consistent. Need to check. Crops the given image and de | STRING |
| HIGH | training/data/dataset_util.py | 172 | Resizes the given image and depth map (if provided) to slightly larger than `target_shape`, updating the intrin | STRING |
| HIGH | training/data/dataset_util.py | 654 | Reads a depth map from disk in either .exr or .png format. The .exr is loaded using OpenCV with the environment | STRING |
| HIGH | vggt/layers/rope.py | 155 | Applies 2D rotary position embeddings to input tokens. Args: tokens: Input tensor of shape (batch_s | STRING |
| HIGH | vggt/utils/load_fn.py | 14 | Load and preprocess images by center padding to square and resizing to target size. Also returns the position i | STRING |
| HIGH | vggt/utils/load_fn.py | 98 | A quick start function to load and preprocess images for model input. This assumes the images should have the s | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo_colmap.py | 254 | def rename_colmap_recons_and_rescale_camera( | CODE |
| LOW | visual_util.py | 218 | def integrate_camera_into_scene(scene: trimesh.Scene, transform: np.ndarray, face_colors: tuple, scene_scale: float): | CODE |
| LOW | visual_util.py | 287 | def get_opengl_conversion_matrix() -> np.ndarray: | CODE |
| LOW | training/loss.py | 370 | def gradient_loss_multi_scale_wrapper(prediction, target, mask, scales=4, gradient_loss_fn = None, conf=None): | CODE |
| LOW⚡ | training/trainer.py | 182 | def _setup_torch_dist_and_backend(self, cuda_conf: Dict, distributed_conf: Dict) -> None: | CODE |
| LOW | training/trainer.py | 198 | def _load_resuming_checkpoint(self, ckpt_path: str): | CODE |
| LOW | training/trainer.py | 289 | def _setup_ddp_distributed_training(self, distributed_conf: Dict, device: str): | CODE |
| LOW | training/trainer.py | 638 | def _run_steps_on_batch_chunks( | CODE |
| LOW | training/trainer.py | 823 | def chunk_batch_for_accum_steps(batch: Mapping, accum_steps: int) -> List[Mapping]: | CODE |
| LOW | training/trainer.py | 829 | def is_sequence_of_primitives(data: Any) -> bool: | CODE |
| LOW | training/train_utils/distributed.py | 12 | def get_machine_local_and_dist_rank(): | CODE |
| LOW | training/train_utils/freeze.py | 91 | def _check_every_pattern_used(matched_names: set[str], patterns: List[str]): | CODE |
| LOW⚡ | training/train_utils/optimizer.py | 41 | def _validate_optimizer_schedulers(self): | CODE |
| LOW⚡ | training/train_utils/optimizer.py | 64 | def validate_param_group_params(param_groups: List[Dict], model: nn.Module): | CODE |
| LOW | training/train_utils/optimizer.py | 100 | def get_module_cls_to_param_names(model: nn.Module) -> Dict[type, Set[str]]: | CODE |
| LOW | training/train_utils/optimizer.py | 111 | def unix_param_pattern_to_parameter_names(filter_param_names: Union[List[str], None], | CODE |
| LOW | training/train_utils/optimizer.py | 125 | def unix_module_cls_pattern_to_parameter_names(filter_module_cls_names: Union[List[str], None], | CODE |
| LOW | training/train_utils/optimizer.py | 142 | def _unix_pattern_to_parameter_names(scheduler_cfg, | CODE |
| LOW | training/train_utils/optimizer.py | 180 | def name_constraints_to_parameters(param_constraints: List[Set[str]], | CODE |
| LOW | training/train_utils/optimizer.py | 186 | def map_scheduler_cfgs_to_param_groups(all_scheduler_cfgs: Iterable[List[dict]], | CODE |
| LOW | training/train_utils/normalization.py | 27 | def normalize_camera_extrinsics_and_points_batch( | CODE |
| LOW | training/train_utils/general.py | 243 | def is_dist_avail_and_initialized(): | CODE |
| LOW | training/data/worker_fn.py | 22 | def is_dist_avail_and_initialized(): | CODE |
| LOW | training/data/track_util.py | 281 | def get_track_colors_by_position( | CODE |
| LOW | training/data/track_util.py | 335 | def visualize_tracks_on_images( | CODE |
| LOW | training/data/dataset_util.py | 26 | def crop_image_depth_and_intrinsic_by_pp( | CODE |
| LOW | training/data/dataset_util.py | 161 | def resize_image_depth_and_intrinsic( | CODE |
| LOW | training/data/dataset_util.py | 317 | def depth_to_world_coords_points( | CODE |
| LOW | training/data/dataset_util.py | 369 | def depth_to_cam_coords_points( | CODE |
| LOW | vggt/layers/vision_transformer.py | 214 | def prepare_tokens_with_masks(self, x, masks=None): | CODE |
| LOW | vggt/layers/vision_transformer.py | 273 | def _get_intermediate_layers_not_chunked(self, x, n=1): | CODE |
| LOW | vggt/layers/vision_transformer.py | 285 | def _get_intermediate_layers_chunked(self, x, n=1): | CODE |
| LOW | vggt/layers/rope.py | 86 | def _compute_frequency_components( | CODE |
| LOW | vggt/layers/block.py | 101 | def drop_add_residual_stochastic_depth( | CODE |
| LOW | vggt/layers/block.py | 175 | def drop_add_residual_stochastic_depth_list( | CODE |
| LOW | vggt/dependency/track_predict.py | 232 | def _augment_non_visible_frames( | CODE |
| LOW | vggt/dependency/vggsfm_utils.py | 189 | def initialize_feature_extractors(max_query_num, det_thres=0.005, extractor_method="aliked", device="cuda"): | CODE |
| LOW | vggt/dependency/np_to_pycolmap.py | 12 | def batch_np_matrix_to_pycolmap( | CODE |
| LOW | vggt/dependency/np_to_pycolmap.py | 148 | def pycolmap_to_batch_np_matrix(reconstruction, device="cpu", camera_type="SIMPLE_PINHOLE"): | CODE |
| LOW | vggt/dependency/np_to_pycolmap.py | 201 | def batch_np_matrix_to_pycolmap_wo_track( | CODE |
| LOW | vggt/utils/visual_track.py | 37 | def get_track_colors_by_position(tracks_b, vis_mask_b=None, image_width=None, image_height=None, cmap_name="hsv"): | CODE |
| LOW | vggt/utils/visual_track.py | 80 | def visualize_tracks_on_images( | CODE |
| LOW | vggt/utils/load_fn.py | 13 | def load_and_preprocess_images_square(image_path_list, target_size=1024): | CODE |
| LOW | vggt/utils/load_fn.py | 97 | def load_and_preprocess_images(image_path_list, mode="crop"): | CODE |
| LOW | vggt/utils/pose_enc.py | 11 | def extri_intri_to_pose_encoding( | CODE |
| LOW | vggt/utils/pose_enc.py | 62 | def pose_encoding_to_extri_intri( | CODE |
| LOW | vggt/utils/geometry.py | 15 | def unproject_depth_map_to_point_map( | CODE |
| LOW | vggt/utils/geometry.py | 47 | def depth_to_world_coords_points( | CODE |
| LOW | vggt/utils/geometry.py | 87 | def depth_to_cam_coords_points(depth_map: np.ndarray, intrinsic: np.ndarray) -> tuple[np.ndarray, np.ndarray]: | CODE |
| LOW | vggt/utils/geometry.py | 175 | def project_world_points_to_camera_points_batch(world_points, cam_extrinsics): | CODE |
| LOW | vggt/utils/geometry.py | 204 | def project_world_points_to_cam( | CODE |
| LOW | vggt/utils/helper.py | 33 | def create_pixel_coordinate_grid(num_frames, height, width): | CODE |
| LOW | vggt/models/aggregator.py | 291 | def _process_global_attention(self, tokens, B, S, P, C, global_idx, pos=None): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | demo_viser.py | 126 | # Create the main point cloud handle | COMMENT |
| MEDIUM⚡ | demo_gradio.py | 112 | # Create a unique folder name | COMMENT |
| MEDIUM | visual_util.py | 294 | # Create an identity matrix | COMMENT |
| MEDIUM | training/data/base_dataset.py | 290 | # Create the valid range of indices | COMMENT |
| MEDIUM | training/data/composed_dataset.py | 254 | # Create the tuple to pass to the underlying dataset | COMMENT |
| MEDIUM | vggt/layers/rope.py | 9 | # This module provides a clean implementation of 2D Rotary Position Embeddings, | COMMENT |
| MEDIUM | vggt/utils/visual_track.py | 212 | # Create a grid of images | COMMENT |
| MEDIUM | vggt/utils/load_fn.py | 73 | # Create a new black square image and paste original | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | visual_util.py | 18 | CODE | |
| LOW | visual_util.py | 326 | CODE | |
| LOW | training/trainer.py | 60 | CODE | |
| LOW | vggt/layers/attention.py | 22 | CODE | |
| LOW | vggt/layers/vision_transformer.py | 43 | CODE | |
| LOW | vggt/layers/block.py | 28 | CODE | |
| LOW | vggt/layers/drop_path.py | 23 | CODE | |
| LOW | vggt/dependency/track_predict.py | 12 | CODE | |
| LOW | vggt/dependency/np_to_pycolmap.py | 12 | CODE | |
| LOW | vggt/dependency/track_modules/blocks.py | 160 | CODE | |
| LOW | vggt/dependency/track_modules/blocks.py | 307 | CODE | |
| LOW | vggt/dependency/track_modules/base_track_predictor.py | 16 | CODE | |
| LOW | vggt/utils/rotation.py | 103 | CODE | |
| LOW | vggt/heads/track_head.py | 18 | CODE | |
| LOW | vggt/heads/camera_head.py | 26 | CODE | |
| LOW | vggt/heads/dpt_head.py | 43 | CODE | |
| LOW | vggt/heads/dpt_head.py | 291 | CODE | |
| LOW | vggt/heads/dpt_head.py | 456 | CODE | |
| LOW | vggt/heads/track_modules/blocks.py | 24 | CODE | |
| LOW | vggt/heads/track_modules/blocks.py | 228 | CODE | |
| LOW | vggt/heads/track_modules/base_track_predictor.py | 18 | CODE | |
| LOW | vggt/models/aggregator.py | 52 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | visual_util.py | 18 | CODE | |
| LOW | training/trainer.py | 838 | CODE | |
| LOW | training/trainer.py | 501 | CODE | |
| LOW | training/train_utils/gradient_clip.py | 40 | CODE | |
| LOW | training/train_utils/general.py | 137 | CODE | |
| LOW | training/data/dynamic_dataloader.py | 151 | CODE | |
| LOW | training/data/track_util.py | 335 | CODE | |
| LOW | training/data/datasets/co3d.py | 68 | CODE | |
| LOW | vggt/dependency/vggsfm_utils.py | 189 | CODE | |
| LOW | vggt/dependency/np_to_pycolmap.py | 12 | CODE | |
| LOW | vggt/dependency/track_modules/modules.py | 44 | CODE | |
| LOW | vggt/dependency/track_modules/blocks.py | 26 | CODE | |
| LOW | vggt/dependency/track_modules/blocks.py | 91 | CODE | |
| LOW | vggt/heads/head_act.py | 38 | CODE | |
| LOW | vggt/heads/head_act.py | 61 | CODE | |
| LOW | vggt/heads/track_modules/modules.py | 44 | CODE | |
| LOW | vggt/models/aggregator.py | 187 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | vggt/dependency/track_modules/utils.py | 0 | this function generates a 1d positional embedding from a given grid using sine and cosine functions. args: - embed_dim: | STRING |
| HIGH | vggt/heads/utils.py | 0 | this function generates a 1d positional embedding from a given grid using sine and cosine functions. args: - embed_dim: | STRING |
| HIGH | vggt/heads/track_modules/utils.py | 0 | this function generates a 1d positional embedding from a given grid using sine and cosine functions. args: - embed_dim: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | vggt/dependency/projection.py | 127 | # Step 1: Apply extrinsic parameters | COMMENT |
| LOW⚡ | vggt/dependency/projection.py | 134 | # Step 2: Apply intrinsic parameters and (optional) distortion | COMMENT |
| LOW⚡ | vggt/utils/geometry.py | 235 | # Step 1: Apply extrinsic parameters | COMMENT |
| LOW⚡ | vggt/utils/geometry.py | 244 | # Step 2: Apply intrinsic parameters and (optional) distortion | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | vggt/dependency/projection.py | 127 | # Step 1: Apply extrinsic parameters | COMMENT |
| LOW⚡ | vggt/dependency/projection.py | 134 | # Step 2: Apply intrinsic parameters and (optional) distortion | COMMENT |
| LOW⚡ | vggt/utils/geometry.py | 235 | # Step 1: Apply extrinsic parameters | COMMENT |
| LOW⚡ | vggt/utils/geometry.py | 244 | # Step 2: Apply intrinsic parameters and (optional) distortion | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | demo_gradio.py | 281 | # If it's an example click, skip as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo_viser.py | 199 | def update_point_cloud() -> None: | CODE |
| LOW⚡ | training/trainer.py | 175 | def _setup_env_variables(self, env_variables_conf: Optional[Dict[str, Any]]) -> None: | CODE |
| LOW⚡ | training/trainer.py | 182 | def _setup_torch_dist_and_backend(self, cuda_conf: Dict, distributed_conf: Dict) -> None: | CODE |
| LOW | vggt/models/aggregator.py | 19 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | visual_util.py | 457 | print(f"Error downloading file: {e}") | CODE |
| LOW | training/loss.py | 638 | except Exception: | CODE |
| LOW | training/train_utils/general.py | 208 | except Exception as e: | CODE |
| LOW | training/data/datasets/vkitti.py | 133 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | visual_util.py | 114 | # Check if mask already exists | COMMENT |
| LOW | vggt/utils/load_fn.py | 196 | # Check if we have different shapes | COMMENT |
| LOW | vggt/utils/geometry.py | 140 | # Check if se3 is a numpy array or a torch tensor | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | training/loss.py | 583 | # Too few elements, just return as-is | COMMENT |
| LOW | vggt/dependency/track_modules/base_track_predictor.py | 128 | # (In my trials, it is also okay to just add the flows_emb instead of concat) | COMMENT |
| LOW | vggt/heads/track_modules/base_track_predictor.py | 139 | # (In my trials, it is also okay to just add the flows_emb instead of concat) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vggt/dependency/track_modules/track_refine.py | 61 | # For example, if the query point xy is (128.16, 252.78), | COMMENT |
| LOW | vggt/dependency/track_modules/track_refine.py | 201 | # but it takes too much memory. | COMMENT |
| LOW | vggt/dependency/track_modules/track_refine.py | 221 | # for the detailed explanation of unfold() | COMMENT |
| LOW | vggt/heads/track_modules/__init__.py | 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | training/config/default.yaml | 8 | accum_steps: 2 # We did not use gradient accumulation in our training, while if you suffer from OOM, you can try to u | CODE |