compression op• Data kinds: image2d → images
• Call: import fullseye as fs; fs.ledger.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list' (implementation को सीधे call करना हो तो import imgforensics; imgforensics.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list', registry से लेना हो तो opsimgforensics.get("jpeg_ghost_map"))
JPEG ghost (Farid 2009)। quality sweep करके re-compression residual map की श्रृंखला। images।
यदि कोई region एक बार quality q0 पर compress हो चुका है, तो q = q0 पर दोबारा compress करने से उस region का अंतर एक घाटी (valley) बन जाता है। यदि पूरी image का q0 समान है तो valley हर जगह दिखती है, लेकिन यदि अलग quality पर compress किया गया कोई भाग चिपकाया गया है, तो केवल वही region किसी अलग q पर valley बनाता है।
आउटपुट (H, W) के len(qualities) maps हैं (squared differences जिन्हें block-वर्ग box mean से smooth किया गया)। हर pixel के लिए valley की स्थिति पढ़ना jpeg_ghost_quality का काम है।
Pillow आवश्यक (ImportError)। कारण वही है जो error_level_map के लिए है।
मापा गया (tests/test_imgforensics.py::test_jpeg_ghost_finds_the_pasted_quality, 192x192, quality-92 background पर quality 60 पर compress किया गया 64x64 patch चिपकाया गया, sweep 40..95 step 5):
चिपकाए गए region की valley quality 60 पर है (ground truth 60, error 0), background की valley quality 95 पर। background 92 के बजाय 95 के रूप में आता है क्योंकि sweep 5 के steps में चलता है और 92 को शामिल नहीं करता; valleys केवल sweep की गई qualities में ही दिखती हैं —— step से बारीक qualities पढ़ी नहीं जा सकतीं।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• image_forensics_audit — py -3.11 examples/image_forensics_audit.py
• poc_forensics_roc — py -3.11 examples/poc_forensics_roc.py
images को input के रूप में लेते हैं)sensor_fingerprint · jpeg_ghost_quality
compression)error_level_map · jpeg_quality_estimate · jpeg_ghost_quality
*Provenance: imgforensics.py — IMGFORENSICS operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.