Commit Graph

63 Commits

Author SHA1 Message Date
79b49f122a feat(test): add collect test images notebook and replace BitImageProcessorFast 2026-04-11 15:22:22 +08:00
eb016385f8 refactor(sync): improve topdown rendering and make justfile adapt to windows 2026-04-06 19:55:52 +08:00
2c78f4b662 refactor(verification): improve object creation / matching and image saving 2026-04-06 13:27:02 +08:00
37b4a08398 refactor(pipeline): support multi-object selection in frame processing 2026-04-06 10:27:23 +08:00
3638ffdb8d feat(compressors): refactor pipeline with FramePacket dataclass and unified process_batch
- Add FramePacket dataclass to encapsulate per-image pipeline state
- Rename internal methods with underscore prefix convention
- Replace separate filter_batch/crop_batch with unified process_batch method
- Update notebook to use new HashPipeline API
2026-04-04 20:09:05 +08:00
94ed05a039 feat(compressors): add OWLv2 bbox crop to HashPipeline and refactor image utilities
- Add Owlv2ForObjectDetection and Owlv2Processor imports to model_loader
- Refactor load_dino_model to return tuple of processor and model
- Rewrite generate_proposals_batch to group images by bbox count for efficient batching
- Add _normalize_single_bbox_list helper for bbox normalization
- Update verification.py to use new pipeline architecture with detect/segment/filter/crop steps
2026-04-04 15:27:47 +08:00
5f41cf5794 feat(compressors): add OWLv2 bbox crop to HashPipeline and refactor image utilities
- Add crop_batch method to HashPipeline for cropping images using OWLv2 detection boxes
- Integrate crop_batch into pipeline forward pass (extract_hash and extract_features)
- Move extract_masked_region from compressors/proposal/utils.py to utils/image.py
- Add crop_image_by_bbox utility function in utils/image.py
- Update type annotations to use dict[str, Any] instead of bare dict
- Update .justfile to add memory server command
- Update marimo dependency to >=0.22.0
- Update nvidia CUDA package markers for platform compatibility
2026-04-03 19:43:43 +08:00
4e16e38f32 refactor(compressors): migrate pipeline to OWLv2-based detection with text labels
- Replace bbox-prompted segmentation with OWLv2 text-guided object detection
- Refactor HashPipeline from nn.Module to plain class with modular stage methods
- Add detect_batch, segment_batch, filter_batch for explicit pipeline stages
- Rename forward to forward_batch with text_labels API instead of bboxes
- Add mask_scoring_config, score_threshold, postprocess_threshold configuration
- Update model_loader to expose Dinov2Model type annotation
2026-04-03 18:07:17 +08:00
4918b654e7 refactor(compressors): migrate to centralized model loaders
- Refactor model_loader.py: improve return type annotations from tuple[Any, Any] to tuple[AutoImageProcessor, AutoModel]
- Refactor proposal/core.py: add input validation for mask array dimensionality, handle 2D masks and batch dimensions gracefully
- Refactor proposal_segament.ipynb: replace inline model loading with centralized load_owlv2_model() and load_sam_model() functions, use batched detect_objects_batch() and generate_proposals_batch() APIs
2026-04-03 15:00:14 +08:00
af0531a5eb feat(compressors/proposal): add OWLv2 object detection pipeline and typed results
- switch OWLv2 loader return type to Owlv2ForObjectDetection
- add detect_objects and detect_objects_batch with two-stage score filtering
- add DetectionResult typed dict and conversion helper for post-processed outputs
- export new detection APIs from proposal module
2026-04-02 20:26:13 +08:00
42acb3ee1b refactor(compressors): switch SAM from automatic mask generation to bbox-prompted segmentation
- Replace SAM2AutomaticMaskGenerator pipeline with Sam2Processor+Sam2Model
- Freeze SAM model parameters at load time, removing torch.no_grad() at call sites
- Rewrite proposal/core.py to use bbox prompts instead of automatic point sampling
- Add bboxes parameter to all HashPipeline public methods (forward, forward_dataset, extract_features, extract_features_dataset)
- Extract mask filtering logic (_filter_masks) from proposal into pipeline
- Rename object_score/ to filter/
- Add load_owlv2_model to model_loader
- Rename notebooks/test.py to habitat_sim_setup.py
2026-04-02 16:47:11 +08:00
eaf02cc97a chore: update dev environment and sync workflow
- Add nil LSP package to devenv.nix
- Add datasets and rich.progress imports to feature_retrieval.py
- Update pyproject.toml ty environment config
- Expand .stignore with cache directories
- Update uv.lock dependency lock
- Update AGENTS.md, adding the content of development environment11
2026-04-02 15:02:51 +08:00
cb93d83868 feat(simulator): add image saving utilities for verification 2026-03-30 21:49:51 +08:00
26b00e556a refactor(compressors): reorganize SAM utilities into proposal module 2026-03-30 21:31:47 +08:00
f421b0c56b chore(tests): remove all test files from mini-nav 2026-03-30 21:31:47 +08:00
a809803979 feat(compressors): add object scoring and selection for SAM masks 2026-03-30 16:50:35 +08:00
f6c1a67e88 feat(verification): add batch segmentation and image saving 2026-03-28 21:30:13 +08:00
f604c85a79 feat(pipeline): add batch processing for scene graph construction 2026-03-28 19:37:52 +08:00
3c9a6f6eaf refactor(simulator): extract habitat simulator and visualization modules 2026-03-28 17:05:29 +08:00
817f45b935 feat(scenegraph): add image storage and verification UI 2026-03-28 16:02:31 +08:00
1c9752cf9e refactor(verification): add progress bars and simplify device handling 2026-03-26 20:08:16 +08:00
968819e113 refactor(compressors): consolidate pipeline and improve mask handling 2026-03-26 19:44:48 +08:00
90d5a8f08a refactor(pipeline): integrate SAM segmentation and modularize model loading 2026-03-26 19:44:47 +08:00
d2481684ac feat(scenegraph): add basic scene graph data structures 2026-03-24 19:49:24 +08:00
55750f1087 chore(project): update configuration files and dependencies 2026-03-24 19:49:06 +08:00
f60669cd53 chore(dev): update environment and tooling configuration 2026-03-24 14:19:40 +08:00
2985b68f9a fix(env): environment setup correctly and pass habitat test 2026-03-18 21:08:38 +08:00
5885702bed chore: use micromamba and uv to manage python environment 2026-03-18 20:14:30 +08:00
b39ee74e99 feat(benchmark): add multi-object retrieval benchmark with SAM segmentation 2026-03-12 12:52:51 +08:00
4da08dc3d3 refactor(compressors): Simplify module by removing SAM/DINO separation code
- Remove dino_compressor.py and segament_compressor.py
- Rewrite pipeline.py to inline DINO into HashPipeline
- Maintain backward compatibility: SAMHashPipeline alias
- Update tests and benchmark.py
2026-03-07 22:55:13 +08:00
bf02a05ffc feat(opsx): add OpenSpec workflow commands and skills 2026-03-07 15:02:08 +08:00
e832f9d656 refactor(ui): replace tqdm with rich for enhanced console output 2026-03-06 17:07:59 +08:00
4a6918ce56 refactor(cli): centralize Typer app creation and command registration 2026-03-06 16:07:12 +08:00
7dbd704d6b refactor(cli): migrate from argparse to typer for command-line interface 2026-03-06 11:41:44 +08:00
5be4709acf feat(utils): add feature extraction utilities and tests 2026-03-05 21:42:49 +08:00
a16b376dd7 refactor(benchmarks): modularize benchmark system with config-driven execution 2026-03-02 20:03:38 +08:00
a7b01cb49e feat(compressors): add SAM+DINO+Hash pipeline for object feature extraction 2026-03-02 14:30:40 +08:00
370c4a6588 feat(synthesizer): add CSV export and progress bar for dataset generation 2026-03-02 13:02:27 +08:00
f0479cc69b refactor(configs, data_loading): improve code clarity and add docstrings 2026-03-01 16:22:53 +08:00
88d1d0790d refactor(data-loading): migrate to Hugging Face datasets and reorganize structure 2026-02-28 21:53:28 +08:00
77d715a2cf feat(dataset): add synthetic dataset generation and configuration 2026-02-28 21:51:57 +08:00
f61857feba fix(compressors): fix the wrong usage of loss function in training pipeline 2026-02-28 17:51:14 +08:00
1926cb53e2 feat(compressors): replace float/int compressors with hash-based compression for CAM 2026-02-24 22:54:41 +08:00
5f9d2bfcd8 refactor(benchmarks): overhaul evaluation pipeline with LanceDB integration 2026-02-10 17:39:53 +08:00
7f6732edeb feat(benchmarks): add evaluation framework for DINO-based compressors 2026-02-10 11:19:17 +08:00
3ba3705ba6 refactor(configs): remove unused settings 2026-02-08 23:14:40 +08:00
6c34a3cefb chore(tests): remove obsolete test files for compressor and extractor 2026-02-08 18:19:24 +08:00
76a572ee12 feat(train): add checkpointing and training interruption handling 2026-02-08 17:28:19 +08:00
8f417b674c feat(compressors): add neural compression modules and training pipeline 2026-02-08 16:41:34 +08:00
b93381accc refactor(project): remove feature compressor module and update docs 2026-02-07 15:36:37 +08:00