NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: Is this photo edited? Client-side image forensics (vajba.com)
matherial 3 minutes ago [-]
I would seriously caution against tools like this. The detection of vendor signatures for AI-generated images is legit, but I'd probably rely on vendor software for that.

But most other techniques are more or less quack science with some really questionable history. The "transformer clone check" in this tool produces hilarious results for most images with even a hint of symmetry or repeated features. "Local noise comparison" is basically a bokeh detector, etc.

Yes, in ideal circumstances (in a research paper), you can detect if someone takes a (substantially) compressed JPEG and then pastes some new stuff onto it, and saves it at a higher quality setting without resizing. I think that's called "error level analysis" by the believers. But in practice, most of the blinkenlights on this page do nothing even remotely conclusive.

sebmellen 1 hours ago [-]
> Finds clues worth investigating, not proof that a photo is edited or authentic.

Isn’t this kind of Claudeslop something you could at least remove from the homepage of a product like this? What does this even tell me? Nothing! It tells me the person who created this site had no opinion about what it should actually do, and just let their LLM agent building something that vaguely fits their impression of what could be done to detect image tampering.

fortran77 51 minutes ago [-]
I dropped an image that was color corrected with AI, but otherwise a proper image of myself. I use my own face because it's very easy to see if AI has altered it in a subtle way when dealing with a very familiar subject.

It found the "AI Generated" signature embedded in it by the creator (whatever image model Perplexity decided to use.)

But I wouldn't have called this image AI. So images that have merely been color corrected or other very minor changes may come up as "AI Generated" even if they're essentially real images.

gunalx 44 seconds ago [-]
I would say this is correct behaviour though. Any touchup by ai directly means it is strictly ai generated. Even if it looks almost identical to a nontampered original. This is exactly the kind of things you do want to catch. I also would just assume they simply look for the ai "watermark" for this.
trivsamt 4 days ago [-]
Everything runs in the browser from static files, the heavy parts in a Web Worker. Close to 30 checks per file.

Content Credentials (C2PA) are parsed from the JUMBF boxes and verified with WebCrypto: COSE_Sign1 signature (ECDSA P-256/384/521, RSA-PSS), each assertion hashed against the signed claim, the file hash binding, and the certificate chain walked to a vendored copy of the C2PA trust list. Not checked: revocation, signing-time timestamp, key-usage policy.

Pixel side: quantization tables against the libjpeg standard set, double-quantization periodicity in the DCT histograms, JPEG ghosts, error level analysis, noise map, block-based copy-move. Two heavier ones run on demand. A transformed clone search: FAST-9 corners with Harris ranking spread over 64 px cells, 8-level pyramid, 256-bit steered BRIEF, similarity RANSAC binned by angle and scale, a second pass against the mirrored image, patch correlation after the fit. A local noise comparison: trimmed mean of the Laplacian residual per 32 px tile against tiles of the same brightness and texture class elsewhere in the image. Two versions of a photo can be compared; alignment tries correlation first, then the feature matcher, so crops, resizes and rotations line up.

Limits: no AI detection claims, because without credentials nothing reliable exists. The two on-demand methods are experimental and unscored: tuned on planted edits, not yet measured on a real-photo corpus. Repeated real objects match like clones, and the card says so. 24 MP cap, 16 MP for the noise comparison. Findings are things to look at, not proof either way. Vanilla JS, no framework, no CDN.

One of the client-side tools on vajba.com, built with Claude Code. No ads, no tracking.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 18:44:42 GMT+0000 (UTC) with Wasmer Edge.