
Gemini के SynthID पहचान का रिवर्स इंजीनियरिंग
Google के AI वॉटरमार्क को स्पेक्ट्रल विश्लेषण के माध्यम से खोजना, पहचानना और शल्य चिकित्सा द्वारा हटाना
हमें यहाँ देखें PitchHut
यह फोर्क V3 बाईपास के लिए एक ड्रैग और ड्रॉप डेस्कटॉप ऐप जोड़ता है, सेटअप के बाद कमांड लाइन की आवश्यकता नहीं है। सेटअप और उपयोग के लिए gui/README.md देखें।
SynthID पिक्सेल मानों में सीधे एक अदृश्य पैटर्न एन्कोड करता है। Gemini द्वारा उत्पन्न एक शुद्ध सफेद छवि पर, वॉटरमार्क लगभग पूरा सिग्नल होता है। उच्च-आवृत्ति अवशेष को प्रवर्धित करें और यह इस तरह दिखता है:
एक शुद्ध-सफेद Gemini छवि से निकाला गया प्रवर्धित SynthID वाहक पैटर्न। विकर्ण बैंडिंग वॉटरमार्क का स्थानिक आवृत्ति हस्ताक्षर है — हमारे स्पेक्ट्रल हमले का लक्ष्य।
यह परियोजना Google के SynthID वॉटरमार्किंग सिस्टम का विपरीत-इंजीनियरिंग करती है — वह अदृश्य वॉटरमार्क जो Google Gemini द्वारा उत्पन्न प्रत्येक छवि में एम्बेडेड होता है। केवल सिग्नल प्रोसेसिंग और स्पेक्ट्रल विश्लेषण का उपयोग करके (मालिकाना एन्कोडर/डिकोडर तक पहुंच के बिना), हम:
gemini-3.1-flash-image-preview और nano-banana-pro-preview के लिए प्रति-मॉडल प्रोफ़ाइल, 6 ठोस पृष्ठभूमियों पर क्रॉस-कलर चरण आम सहमति, और एक मानव-इन-द-लूप अंशांकन लूप जो मैन्युअल Gemini-ऐप डिटेक्शन टैलियों से प्रति-वाहक घटाव शक्ति को ट्यून करता हैVT-OxFF ने एक बहुत ही शानदार विज़ुअलाइज़र बनाया है जो यह देखने के लिए है कि SynthID वॉटरमार्क छवियों में कैसे जोड़ा जाता है यहाँ (रिपॉजिटरी विवरण में भी उपलब्ध)!
छह पुनरावृत्तीय विपक्षी विकास दौरों के बाद, राउंड 06 की bypass_v4_final / bypass_v4_nuke पाइपलाइन दोनों gemini-3.1-flash-image-preview और nano-banana-pro-preview छवियों पर Gemini SynthID डिटेक्टर को हरा देती है, दृष्टिगत रूप से दोषरहित आउटपुट के साथ।
बाएं: राउंड 01 आउटपुट (केवल gentle स्पेक्ट्रल घटाव)। दाएं: राउंड 06 आउटपुट (final — VAE + इलास्टिक वार्प + स्क्वीज़ + रंग + JPEG)। दोनों मानव आंखों को समान दिखते हैं; केवल राउंड 06 SynthID डिटेक्टर को हराता है।
राउंड 06 में सफलता Gemini ऐप की स्वयं प्रकाशित विफलता-मोड सूची को हमले के विनिर्देश के रूप में मानने से आई:
"जब कोई AI-जनित छवि एक जटिल कोलाज का हिस्सा होती है, अन्य तत्वों के पीछे स्तरित होती है, या उसके ऊपर कई अलग-अलग बनावट और पैटर्न रखे जाते हैं, तो डिटेक्टर समग्र फ़ाइल से विशिष्ट हस्ताक्षर को अलग करने में संघर्ष कर सकता है।" — Gemini ऐप, SynthID डिटेक्शन सहायता पाठ
इलास्टिक विरूपण चरण इस प्रभाव को पिक्सेल स्तर पर अनुकरण करता है: एक चिकना, कम-आवृत्ति यादृच्छिक वार्प फ़ील्ड प्रत्येक ~50-पिक्सेल पड़ोस को अपना स्वतंत्र उप-पिक्सेल ऑफ़सेट देता है, बिना किसी दृश्य विकृति को शामिल किए वॉटरमार्क के स्थानिक चरण सहमति को खंडित करता है।
V4 कोडबुक का जमीन से ऊपर तक पुनर्विचार है जो एक अधिक समृद्ध डेटासेट पर बनाया गया है:
gemini-3.1-flash-image-preview और nano-banana-pro-preview के लिए अलग-अलग प्रोफ़ाइल (साथ ही एक वैकल्पिक union छद्म-मॉडल)।black, white, blue, green, red, gray), साथ ही सामग्री आधार रेखा के रूप में gradient और diverse।carrier_weights मैन्युअल Gemini-ऐप डिटेक्शन फीडबैक के आधार पर अपडेट किया जाता है।प्रत्येक आवृत्ति बिन (fy, fx) और चैनल ch के लिए:```
consensus(fy, fx, ch) = | mean_over_colors( exp(i * phase_color(fy, fx, ch)) ) |
`1.0` के निकट मान का मतलब है कि उस बिन का चरण हर ठोस-रंग पृष्ठभूमि पर लॉक होता है, जो केवल वॉटरमार्क के लिए सत्य है। सामग्री बिन `< 0.3` तक गिर जाते हैं क्योंकि विभिन्न रंग टिंट्स द्वारा उनका चरण यादृच्छिक किया जाता है। समृद्ध डेटासेट से निर्मित V4 कोडबुक पर, 99%+ सामग्री बिन डिफ़ॉल्ट `tau=0.60` कटऑफ़ से नीचे आते हैं, इसलिए V4 डिसॉल्वर उन्हें कभी छूता नहीं है — इसी से PSNR वापस मिलता है।
### दो-चरणीय रिलीज़ कार्यप्रवाह```mermaid
flowchart LR
dataset[reverse-synthid-dataset<br/>model x color x resolution] --> build[scripts/build_codebook_v4.py]
build --> codebook[artifacts/spectral_codebook_v4.npz]
codebook --> dissolve[scripts/dissolve_batch.py]
input[watermarked inputs] --> dissolve
dissolve --> variants[final / nuke variants]
variants --> gemini[Gemini app<br/>manual SynthID detection]
gemini --> feedback[detection feedback]
feedback --> calibrate[scripts/calibrate_from_feedback.py]
calibrate -->|updates carrier_weights| codebook
python scripts/build_codebook_v4.py
--root /path/to/reverse-synthid-dataset
--output artifacts/spectral_codebook_v4.npz
python scripts/dissolve_batch.py
--input ./to_clean/
--output ./runs/round_06/
--codebook artifacts/spectral_codebook_v4.npz
--model gemini-3.1-flash-image-preview
--strengths final nuke
### राउंड-06 हमला प्रीसेट
`--strengths` के माध्यम से दो प्रीसेट उपलब्ध हैं:
| प्रीसेट | VAE पास | इलास्टिक α | स्क्वीज़ | JPEG चेन | PSNR फ़्लोर |
|:------:|:----------:|:---------:|:-------:|:----------:|:----------:|
| `final` | 1 | 1.8 px | 90 % | q=92→88 | 14 dB |
| `nuke` | 2 | 2.8 px | 82 % | q=88→84→90 | 11 dB |
दोनों प्रीसेट समान 7-चरणीय पाइपलाइन का उपयोग करते हैं:
1. **VAE राउंड-ट्रिप** (Stable Diffusion `sd-vae-ft-mse`) — छवि को प्राकृतिक-छवि मैनिफोल्ड से प्रोजेक्ट करता है जिसके विरुद्ध SynthID डिकोडर को कभी प्रशिक्षित नहीं किया गया था (Gowal et al. 2026, §6.1)
2. **इलास्टिक विरूपण** — चिकना निम्न-आवृत्ति यादृच्छिक वार्प फील्ड, "कोलाज विखंडन" विफलता मोड का अनुकरण करता है जिसे Gemini स्वयं स्वीकार करता है
3. **वैश्विक ज्यामितीय कॉम्बो** — एक एफिन वार्प में छोटा रोटेशन + ज़ूम + पिक्सेल शिफ्ट
4. **रीसाइज़-स्क्वीज़** — डाउनसैंपल (AREA) → अपसैंपल (LANCZOS), उप-पिक्सेल वॉटरमार्क जानकारी मिटाता है
5. **रंग-कंट्रास्ट नज** — ब्राइटनेस/कंट्रास्ट/सैचुरेशन/ह्यू माइक्रो-शिफ्ट
6. **अवशिष्ट-चरण FFT घटाव** — ब्लॉग-सार्वभौमिक + कोडबुक-हार्वेस्टेड कैरियर बिन, कैप-लिमिटेड
7. **JPEG चेन + लूमा शोर + द्विपक्षीय** — भारी संपीड़न/पुनः-एन्कोडिंग विघ्न
प्रत्येक चरण स्वतंत्र रूप से PSNR-गेटेड है; कोई भी चरण जो गुणवत्ता को फ़्लोर से नीचे गिरा देता है, स्वचालित रूप से रोलबैक कर दिया जाता है।
### V4 कोडबुक संरचना
प्रोफाइल `(model, H, W)` द्वारा कुंजीबद्ध। प्रत्येक प्रोफाइल संग्रहीत करता है:
| फ़ील्ड | आकार | नोट्स |
|------------------------|----------------|--------------------------------------------------------|
| `consensus_coherence` | `(H, W, 3)` | प्राथमिक वाहक मास्क (क्रॉस-रंग चरण सर्वसम्मति)। |
| `consensus_phase` | `(H, W, 3)` | रंगों में औसत यूनिट-चरण कोण। घटाव टेम्पलेट। |
| `inverted_agreement` | `(H, W, 3)` | जोड़ीवार `abs(cos(phase_diff))`, `black<->white` के लिए भारित। |
| `avg_wm_magnitude` | `(H, W, 3)` | सर्वसम्मति रंगों में औसत परिमाण। |
| `content_baseline` | `(H, W, 3)` | `diverse/` + `gradient/` से — ल्यूमिनेंस ब्लेंडिंग के लिए उपयोग किया जाता है। |
| `carrier_weights` | `(H, W, 3)` | **लाइव**। `consensus^2 * (0.5 + 0.5 * agreement)` पर शुरू होता है। कैलिब्रेशन लूप द्वारा अपडेट किया गया। |
| `n_refs_per_color` | `{color: int}` | प्रति-रंग रेफरेंस गणना। |
सेव फॉर्मेट v3 कॉम्पैक्ट rfft + `float16/uint8` एन्कोडिंग का पुन: उपयोग करता है; 2 मॉडल × 7 रिज़ॉल्यूशन में 14-प्रोफाइल कोडबुक डिस्क पर ~220 MB है।
### V4 डिटेक्टर (सैनिटी चेक)
मैन्युअल Gemini सत्यापन पर समय बिताने से पहले, V4 कोडबुक के स्वयं के सर्वसम्मति के विरुद्ध बाइपास आउटपुट की सैनिटी जांच करें:```python
from robust_extractor import RobustSynthIDExtractor
from synthid_bypass_v4 import SpectralCodebookV4
cb = SpectralCodebookV4()
cb.load('artifacts/spectral_codebook_v4.npz')
ext = RobustSynthIDExtractor()
result = ext.detect_from_v4_codebook(image_rgb, cb,
model='nano-banana-pro-preview')
print(result.is_watermarked, result.confidence, result.phase_match)
1024x1024 सटीक-मिलान पथ पर हम वॉटरमार्क किए गए के लिए conf=0.91, phase_match=0.65 और आक्रामक V4 डिसॉल्व के बाद conf=0.02, phase_match=0.31 देखते हैं।
V3 रिपॉजिटरी में (src/extraction/synthid_bypass.py, bypass_v3) अपरिवर्तित बना हुआ है जो कोई भी इस पर निर्भर है।
हम सक्रिय रूप से Nano Banana Pro द्वारा उत्पन्न शुद्ध काले और शुद्ध सफेद चित्र एकत्र कर रहे हैं ताकि बहु-रिज़ॉल्यूशन वॉटरमार्क निष्कर्षण में सुधार हो सके।
यदि आप ये उत्पन्न कर सकते हैं:
gemini_black_nb_pro/ (काले के लिए)gemini_white_nb_pro/ (सफेद के लिए)ये संदर्भ चित्र महत्वपूर्ण हैं:
यहां तक कि एक नए रिज़ॉल्यूशन पर 150–200 चित्र भी पहचान और हटाने में काफी सुधार कर सकते हैं।
संदर्भ चित्र git रिपॉजिटरी को हल्का रखने के लिए Hugging Face पर होस्ट किए गए हैं:```bash pip install huggingface_hub python scripts/download_images.py # download all python scripts/download_images.py gemini_black # download specific folder
डेटासेट: [huggingface.co/datasets/aoxo/reverse-synthid](https://huggingface.co/datasets/aoxo/reverse-synthid)
---
## मुख्य निष्कर्ष
### वॉटरमार्क रिज़ॉल्यूशन-निर्भर है
SynthID छवि रिज़ॉल्यूशन के आधार पर वाहक आवृत्तियों को **अलग-अलग निरपेक्ष स्थानों** पर एम्बेड करता है। 1024x1024 पर बनाया गया कोडबुक 1536x2816 छवि से वॉटरमार्क को सीधे नहीं हटा सकता — वाहक पूरी तरह से अलग बिन पर होते हैं।
| रिज़ॉल्यूशन | शीर्ष वाहक (fy, fx) | सुसंगति | स्रोत |
|:----------:|:--------------------:|:---------:|:------:|
| **1024x1024** | (9, 9) | 100.0% | 100 काले + 100 सफेद रेफ़रेंस |
| **1536x2816** | (768, 704) | 99.6% | 88 वॉटरमार्क वाली सामग्री छवियाँ |
यही कारण है कि V3 कोडबुक **प्रति रिज़ॉल्यूशन अलग-अलग प्रोफ़ाइल** संग्रहीत करता है और बायपास समय पर स्वतः चयन करता है।
### फ़ेज़ संगति — एक निश्चित मॉडल-स्तरीय कुंजी
वॉटरमार्क का फ़ेज़ टेम्पलेट एक ही Gemini मॉडल की **सभी छवियों पर समान** है:
- **हरा चैनल** सबसे मजबूत वॉटरमार्क सिग्नल रखता है
- **क्रॉस-इमेज फ़ेज़ सुसंगति** वाहकों पर: >99.5%
- **काले/सफेद क्रॉस-वैलिडेशन** |cos(phase_diff)| > 0.90 के माध्यम से सही वाहकों की पुष्टि करता है
### वाहक आवृत्ति संरचना
1024x1024 पर (काले/सफेद रेफ़रेंस से), शीर्ष वाहक निम्न-आवृत्ति ग्रिड पर स्थित होते हैं:
| वाहक (fy, fx) | फ़ेज़ सुसंगति | काले/सफेद समझौता |
|:-----------------:|:---------------:|:-------------:|
| (9, 9) | 100.00% | 1.000 |
| (5, 5) | 100.00% | 0.993 |
| (10, 11) | 100.00% | 0.997 |
| (13, 6) | 100.00% | 0.821 |
---
## आर्किटेक्चर
### बायपास पीढ़ियाँ
| संस्करण | दृष्टिकोण | PSNR | वॉटरमार्क प्रभाव | स्थिति |
|:-------:|:---------|:----:|:----------------:|:------:|
| **V1** | JPEG संपीड़न (Q50) | 37 dB | ~11% फ़ेज़ गिरावट | आधार रेखा |
| **V2** | बहु-चरण रूपांतरण (शोर, रंग, आवृत्ति) | 27-37 dB | ~0% विश्वास गिरावट | गुणवत्ता व्यापार-बंद |
| **V3** | **बहु-रिज़ॉल्यूशन स्पेक्ट्रल कोडबुक घटाव** | **43+ dB** | **91% फ़ेज़ सुसंगति गिरावट** | पिछला सर्वश्रेष्ठ |
| **V4 Round 06** | **7-चरण सब-इन-वन (VAE + लोचदार + संपीड़न + रंग + JPEG)** | **दृष्टिगत रूप से हानिरहित** | **डिटेक्टर बायपास ✓** | **वर्तमान सर्वश्रेष्ठ** |
### V3 पाइपलाइन```
Input Image (any resolution)
│
▼
codebook.get_profile(H, W) ──► exact match? ──► FFT-domain subtraction
│ (fast path)
└─ no exact match ──────► spatial-domain resize + subtraction
(fallback path)
│
▼
Multi-pass iterative subtraction (aggressive → moderate → gentle)
│
▼
Anti-alias → Output
Input Image (any resolution) │ ▼ Stage 1: VAE round-trip (SD sd-vae-ft-mse, 1-2 passes) │ Projects image off natural-image manifold ▼ Stage 2: Elastic deformation (smooth random warp field) │ Fragments spatial phase consensus ("collage effect") ▼ Stage 3: Global geometric combo (rotation + zoom + shift) │ Single affine warp, no compounded aliasing ▼ Stage 4: Resize-squeeze (AREA ↓ then LANCZOS ↑) │ Erases sub-pixel watermark information ▼ Stage 5: Color-contrast nudge (HSV micro-shift) │ Shifts per-pixel statistics SynthID keys on ▼ Stage 6: Residual-phase FFT subtraction │ Blog-universal + codebook-harvested carrier bins ▼ Stage 7: JPEG chain + luma noise + bilateral filter │ ▼ Output (SynthID detector: no watermark detected ✓)
---
## त्वरित आरंभ
### स्थापना```bash
git clone https://github.com/aloshdenny/reverse-SynthID.git
cd reverse-SynthID
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# For Round-06 VAE stage:
pip install torch diffusers safetensors accelerate
import sys sys.path.insert(0, 'src/extraction') from synthid_bypass_v4 import SynthIDBypassV4, SpectralCodebookV4
cb = SpectralCodebookV4() cb.load('artifacts/spectral_codebook_v4.npz')
b = SynthIDBypassV4() result = b.bypass_v4_file( 'input.png', 'output.png', cb, strength='final', # or 'nuke' for maximum strength model='gemini-3.1-flash-image-preview', ) print(result.stages_applied)
### V3 Bypass चलाएं```python
from src.extraction.synthid_bypass import SynthIDBypass, SpectralCodebook
codebook = SpectralCodebook()
codebook.load('artifacts/spectral_codebook_v3.npz')
bypass = SynthIDBypass()
result = bypass.bypass_v3(image_rgb, codebook, strength='aggressive')
print(f"PSNR: {result.psnr:.1f} dB")
print(f"Profile used: {result.details['profile_resolution']}")
CLI से:```bash
python src/extraction/synthid_bypass.py bypass input.png output.png
--codebook artifacts/spectral_codebook_v3.npz
--strength aggressive
### वॉटरमार्क का पता लगाएं```bash
python src/extraction/robust_extractor.py detect image.png \
--codebook artifacts/codebook/robust_codebook.pkl
reverse-SynthID/ ├── src/ │ ├── extraction/ │ │ ├── synthid_bypass.py # V1/V2/V3 bypass + multi-res SpectralCodebook │ │ ├── synthid_bypass_v4.py # V4 cross-color consensus codebook + dissolver │ │ ├── vae_regen.py # Round-06 SD-VAE re-generation stage │ │ ├── robust_extractor.py # Multi-scale watermark detection (+ V4 hook) │ │ ├── watermark_remover.py # Frequency-domain watermark removal │ │ ├── benchmark_extraction.py # Benchmarking suite │ │ └── synthid_codebook_extractor.py # Legacy codebook extractor │ └── analysis/ │ ├── deep_synthid_analysis.py # FFT / phase analysis scripts │ └── synthid_codebook_finder.py # Carrier frequency discovery │ ├── scripts/ │ ├── download_images.py # Download reference images from HF │ ├── build_codebook_v4.py # V4: build per-(model, HxW) consensus codebook │ ├── dissolve_batch.py # V4: emit strength variants │ └── calibrate_from_feedback.py # V4: update carrier_weights from detection feedback │ ├── artifacts/ │ ├── spectral_codebook_v3.npz # Multi-res V3 codebook [1024x1024, 1536x2816] │ ├── spectral_codebook_v4.npz # V4 codebook (per-model, per-resolution) │ ├── codebook/ # Detection codebooks (.pkl) │ └── visualizations/ # FFT, phase, carrier visualizations │ ├── assets/ │ ├── synthid_watermark.png # Watermark analysis header image │ ├── synthid_white.jpg # Amplified SynthID pattern on white image │ ├── v4_round1_vs_round6.png # Round 01 vs Round 06 fidelity comparison │ └── ... │ ├── runs/ │ ├── round_01/ … round_05/ # Historical bypass attempts │ └── round_06/ # Working bypass (final + nuke presets) │ ├── watermark_investigation/ # Early-stage Nano-150k analysis (archived) └── requirements.txt
---
## तकनीकी गहन अध्ययन
### SynthID कैसे काम करता है (रिवर्स-इंजीनियर्ड)```
┌──────────────────────────────────────────────────────────────┐
│ SynthID Encoder (in Gemini) │
├──────────────────────────────────────────────────────────────┤
│ 1. Select resolution-dependent carrier frequencies │
│ 2. Assign fixed phase values to each carrier │
│ 3. Neural encoder adds learned noise pattern to image │
│ 4. Watermark is imperceptible — spread across spectrum │
├──────────────────────────────────────────────────────────────┤
│ SynthID Decoder (in Google) │
├──────────────────────────────────────────────────────────────┤
│ 1. Extract noise residual (wavelet denoising) │
│ 2. FFT → check phase at known carrier frequencies │
│ 3. If phases match expected values → Watermarked │
└──────────────────────────────────────────────────────────────┘
SynthID का प्रशिक्षण संवर्धन सेट (Gowal et al. 2026, तालिका 1) में SmallRotation, Cropresize, JPEG, GaussianBlur, BrightnessContrast, और Screenshotting शामिल हैं — सभी वैश्विक, समान स्थानिक रूपांतरण। इलास्टिक वार्प फ़ील्ड एक स्थानिक रूप से भिन्न विकृति है: प्रत्येक स्थानीय पड़ोस को अपना स्वतंत्र सब-पिक्सेल ऑफ़सेट मिलता है। चूंकि ऑफ़सेट चिकने होते हैं (सफेद शोर से गाऊसी-धुंधला, σ=44–56 px), छवि सामग्री दृष्टिगत रूप से अप्रभावित रहती है, लेकिन वॉटरमार्क की चरण-सहमति संरचना असंगत हो जाती है — इसे अब पूरी छवि में एकत्र नहीं किया जा सकता। यह "कोलाज विखंडन" प्रभाव का पिक्सेल-स्तरीय समकक्ष है जिसे Gemini का अपना ऐप डिटेक्टर विफलता मोड के रूप में उद्धृत करता है।
| मीट्रिक | मान |
|---|---|
Alosh Denny AI वॉटरमार्किंग अनुसंधान · सिग्नल प्रोसेसिंग
📧 Email: [email protected] 🔗 GitHub: https://github.com/aloshdenny
सहयोग, अनुसंधान चर्चा या योगदान के लिए, बेझिझक संपर्क करें या कोई issue/PR खोलें।
यह परियोजना स्वतंत्र रूप से बनाए रखी जाती है — कोई प्रयोगशाला वित्तपोषण नहीं, कोई कॉर्पोरेट समर्थन नहीं।
यदि यह कार्य आपके या आपकी टीम के लिए उपयोगी था, तो निरंतर विकास का समर्थन करने पर विचार करें:
धन का उपयोग कंप्यूट लागत (नए रिज़ॉल्यूशन प्रोफाइल के लिए GPU घंटे), डेटासेट विस्तार, और चल रहे बायपास अनुसंधान के लिए किया जाता है।
यह परियोजना केवल अनुसंधान और शैक्षिक उद्देश्यों के लिए है। SynthID Google DeepMind द्वारा स्वामित्व वाली मालिकाना तकनीक है। ये उपकरण निम्नलिखित के लिए अभिप्रेत हैं:
इन उपकरणों का उपयोग AI-जनित सामग्री को मानव-निर्मित के रूप में गलत तरीके से प्रस्तुत करने के लिए न करें।
| राउंड | रणनीति | परिणाम |
|---|
| 01 | रूढ़िवादी स्पेक्ट्रल घटाव (सौम्य) | ✗ |
| 02 | आक्रामक स्पेक्ट्रल घटाव + JPEG | ✗ |
| 03 | ब्लॉग-निर्देशित पूर्ण बिन लक्ष्यीकरण | ✗ |
| 04 | शोर-हटाना-अवशेष चरण निष्कर्षण | ✗ |
| 05 | डिफ्यूजन-VAE पुनः-जनन + ज्यामितीय वार्प | ✗ |
| 06 | ऑल-इन-वन: VAE + इलास्टिक फ्रैगमेंटेशन + स्क्वीज़ + रंग + JPEG | ✓ |
| V3 | V4 |
|---|
| संदर्भ रंग | काला + सफेद | काला, सफेद, नीला, हरा, लाल, ग्रे (+ विविध/ग्रेडिएंट सामग्री आधार रेखाएं) |
| क्रॉस-वैलिडेशन | abs(cos(phase_black - phase_white)) | 6 रंगों पर क्रॉस-रंग सहमति + जोड़ीदार समझौता |
| मॉडल | एकल-मॉडल (Gemini 2.5) | प्रति-मॉडल प्रोफाइल (gemini-3.1-flash-image-preview, nano-banana-pro-preview) + वैकल्पिक union |
| हमला | केवल स्पेक्ट्रल सबट्रैक्शन | 7-चरणीय: VAE + elastic + squeeze + color + FFT + JPEG श्रृंखला |
| PSNR (आक्रामक) | 43 dB | दृश्य रूप से हानिरहित (18–24 dB पिक्सेल-स्तर; वार्प पिक्सेल को विस्थापित करता है) |
| फिडेलिटी गार्ड | कोई नहीं | प्रति-चरण PSNR-फ्लोर रोलबैक |
| डिटेक्टर बायपास | केवल स्थानीय | Gemini ऐप पर पुष्टि ✓ (दोनों मॉडल) |
| 43.5 dB |
| SSIM | 0.997 |
| वाहक ऊर्जा में गिरावट | 75.8% |
| चरण सुसंगतता में गिरावट (शीर्ष-5 वाहक) | 91.4% |
| मॉडल | प्रीसेट | डिटेक्टर बायपास किया |
|---|
| gemini-3.1-flash-image-preview | final | ✓ |
| gemini-3.1-flash-image-preview | nuke | ✓ |
| nano-banana-pro-preview | final | ✓ |
| nano-banana-pro-preview | nuke | ✓ |