Instructions to use Gertlek/DetectiveSAM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sam2
How to use Gertlek/DetectiveSAM with sam2:
# Use SAM2 with images import torch from sam2.sam2_image_predictor import SAM2ImagePredictor predictor = SAM2ImagePredictor.from_pretrained(Gertlek/DetectiveSAM) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): predictor.set_image(<your_image>) masks, _, _ = predictor.predict(<input_prompts>)# Use SAM2 with videos import torch from sam2.sam2_video_predictor import SAM2VideoPredictor predictor = SAM2VideoPredictor.from_pretrained(Gertlek/DetectiveSAM) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): state = predictor.init_state(<your_video>) # add new prompts and instantly get the output on the same frame frame_idx, object_ids, masks = predictor.add_new_points(state, <your_prompts>): # propagate the prompts to get masklets throughout the video for frame_idx, object_ids, masks in predictor.propagate_in_video(state): ... - Notebooks
- Google Colab
- Kaggle
File size: 3,562 Bytes
7b474fb ae9b6ef a90e147 ae9b6ef 97084f2 a90e147 ae9b6ef 7b474fb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | ---
license: other
library_name: pytorch
pipeline_tag: image-segmentation
tags:
- image-forensics
- image-manipulation-detection
- image-segmentation
- sam2
- pytorch
---
# DetectiveSAM
DetectiveSAM is an inference-only image forgery localization bundle built around SAM2. This release includes bundled checkpoints and a small set of ready-to-run examples for demos.
## What is bundled
- Inference checkpoints under `checkpoints/`
- SAM2 config and weights under `sam2configs/`
- Poster demo pairs under `demo/cocoglide/`, `demo/flux_test/`, and `demo/qwen_test/`
- A drop-in single-image slot at `demo/user_image/demo_input.png`
Built-in checkpoint aliases:
- `detective_sam`
- `detective_sam_sota`
## Setup
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## Hugging Face Usage
```bash
git lfs install
git clone https://huggingface.co/Gertlek/DetectiveSAM
cd DetectiveSAM
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m detectivesam_inference.predict \
--checkpoint detective_sam \
--output-dir outputs/poster_baseline
```
## Poster Demo Flows
### 1. Live single-image demo
Place your image at `demo/user_image/demo_input.png`, then run:
```bash
python -m detectivesam_inference.predict \
--checkpoint detective_sam \
--output-dir outputs/poster_user_image
```
In this mode the CLI reuses the target image as its own source reference so the demo stays runnable with a single image.
### 2. Bundled baseline example
If `demo/user_image/demo_input.png` is absent, the default `predict` command falls back to the bundled CocoGlide sample `banana_28809`.
```bash
python -m detectivesam_inference.predict \
--checkpoint detective_sam \
--output-dir outputs/poster_baseline
```
### 3. Bundled SOTA examples
Flux example:
```bash
python -m detectivesam_inference.predict \
--checkpoint detective_sam_sota \
--source demo/flux_test/source/548.png \
--target demo/flux_test/target/548.png \
--mask demo/flux_test/mask/548.png \
--output-dir outputs/poster_flux
```
Qwen example:
```bash
python -m detectivesam_inference.predict \
--checkpoint detective_sam_sota \
--source demo/qwen_test/source/166.png \
--target demo/qwen_test/target/166.png \
--mask demo/qwen_test/mask/166.png \
--output-dir outputs/poster_qwen
```
### 4. Bundled CocoGlide subset sweep
Use this to evaluate the bundled banana and train CocoGlide demo pairs.
```bash
python -m detectivesam_inference.evaluate \
--checkpoint detective_sam \
--dataset-root demo/cocoglide \
--output-dir outputs/poster_eval_cocoglide \
--num-visualizations 2
```
## Outputs
Each `predict` run writes a compact set of visual artifacts plus a JSON summary:
- `<name>_comparison.png`
- `<name>_probability.png`
- `<name>_pred_mask.png`
- `<name>_pred_overlay.png`
- `<name>_summary.json`
If a ground-truth mask is provided, the run also saves:
- `<name>_gt_mask.png`
- `<name>_gt_overlay.png`
The `evaluate` command writes `summary.json` plus a few visualization examples under `visualizations/`.
## Notes
- The runtime selects `cuda` automatically when available and otherwise runs on CPU.
- Checkpoint settings come from the YAML sidecars in `checkpoints/`; you only need the alias or checkpoint path.
- This repo does not include training code or training-only dependencies.
- License metadata is currently marked `other`: the bundled SAM2 components are Apache-2.0, while DetectiveSAM release terms should be finalized before broader redistribution.
|