Remove-AI-Watermarks – 이미지에서 AI 워터마크를 제거하기 위한 CLI 및 라이브러리
요약
Remove-AI-Watermarks는 Google Gemini, ChatGPT, Midjourney 등 다양한 AI 모델이 생성한 이미지에서 가시적/비가시적 워터마크와 메타데이터를 제거하는 CLI 및 라이브러리입니다. 확산 기반 재생성 기술과 메타데이터 스트리핑을 통해 SynthID, C2PA, EXIF 라벨 등을 효과적으로 제거하며, AI 분류기 우회를 위한 아날로그 효과 적용 기능도 제공합니다.
핵심 포인트
- 가시적 로고(Gemini 반짝임 등)와 비가시적 워터마크(SynthID, StableSignature 등)를 모두 제거 가능
- C2PA, EXIF, XMP 등 AI 생성 여부를 나타내는 메타데이터 및 'Made with AI' 라벨 삭제
- 확산 기반 재생성(diffusion-based regeneration)을 통해 픽셀 및 주파수 영역의 워터마크 대응
- 필름 그레인 및 색수차를 적용하여 AI 이미지 분류기 탐지를 우회하는 '아날로그 휴머나이저' 기능 포함
- 인간 얼굴 왜곡을 방지하기 위한 스마트 얼굴 보호 및 배치 처리 지원
Remove-AI-Watermarks
Google Gemini (Nano Banana), ChatGPT / DALL-E, Stable Diffusion, Adobe Firefly, Midjourney 및 기타 AI 모델에 의해 생성된 이미지에서 가시적 (visible) 및 비가시적 (invisible) AI 워터마크를 제거합니다.
SynthID, C2PA Content Credentials, EXIF/XMP "Made with AI" 라벨 및 가시적인 반짝임(sparkle) 오버레이를 단 하나의 명령어로 모두 제거합니다.
주요 기능 (Features)
- 가시적 워터마크 제거 (Visible watermark removal) — 역 알파 블렌딩 (reverse alpha blending)을 통한 Gemini / Nano Banana 반짝임 로고 제거 (빠르고, 오프라인이며, 결정론적 (deterministic) 방식)
- 비가시적 워터마크 제거 (Invisible watermark removal) — 확산 기반 재생성 (diffusion-based regeneration)을 통한 SynthID, StableSignature, TreeRing 제거
- AI 메타데이터 제거 (AI metadata stripping) — EXIF, PNG 텍스트 청크, C2PA 출처 매니페스트 (PNG / JPEG / AVIF / HEIF / JPEG-XL), XMP DigitalSourceType 제거
- "Made with AI" 라벨 제거 — Instagram, Facebook, X (Twitter)에서 AI 라벨을 트리거하는 메타데이터를 제거
- 아날로그 휴머나이저 (Analog Humanizer) — AI 이미지 분류기 (classifiers)를 우회하기 위한 필름 그레인 (film grain) 및 색수차 (chromatic aberration) 적용
- 스마트 얼굴 보호 (Smart Face Protection) — AI 왜곡을 방지하기 위한 인간 얼굴의 자동 추출 및 블렌딩
- 배치 처리 (Batch processing) — 전체 디렉토리 처리 가능
- 탐지 (Detection) — 신뢰도 점수 (confidence scoring)를 포함한 3단계 NCC 워터마크 탐지
온라인에서 체험하기 — 설치를 원하지 않으시나요? 이 라이브러리를 기반으로 작동하는 무료 웹 서비스인 raiw.cc를 사용해 보세요.
예시 (Examples)
| 전 (워터마크 포함) | 후 (정리됨) |
|---|---|
지원 모델 (Supported models)
| AI 모델 | 가시적 워터마크 | 비가시적 워터마크 | 메타데이터 | 접근 방식 |
|---|---|---|---|---|
| Google Gemini / Nano Banana / Gemini 3 Pro | ✅ 반짝임 로고 | ✅ SynthID v1 + v2 (기본 SDXL 파이프라인, 네이티브 ~1024 px) | ✅ C2PA + EXIF | 알파 반전 + 확산 + 메타데이터 제거 |
| ... |
가시적 워터마크 (로고 오버레이)는 현재 Google Gemini / Nano Banana에서만 사용됩니다. 다른 서비스들은 비가시적 워터마크 및/또는 메타데이터에 의존합니다. 당사의 확산 기반 재생성 방식은 픽셀 또는 주파수 영역 (frequency domain)에 있는 모든 비가시적 워터마크에 대응하여 작동합니다.
작동 원리 (How it works)
Gemini / Nano Banana 반짝임(sparkle) 워터마크 제거하기
Google Gemini (내부 코드명 Nano Banana)는 알파 블렌딩 (alpha blending)을 사용하여 생성된 이미지에 가시적인 반짝임 로고를 추가합니다:
watermarked = α × logo + (1 − α) × original
우리는 알려진 알파 맵 (순수 검은색 배경에서 추출한 Gemini / Nano Banana 출력물로부터 얻은 것)을 사용하여 이를 역산합니다:
original = (watermarked − α × logo) / (1 − α)
3단계 NCC (정규화된 상호 상관, Normalized Cross-Correlation) 탐지기가 워터마크의 위치와 크기를 동적으로 찾아내므로, 이미지가 크기 조정되거나 잘려나간(cropped) 경우에도 작동합니다. 제거 후에는 잔류하는 반짝임 가장자리 아티팩트 (sparkle-edge artifacts)를 그래디언트 마스크 인페인팅 (gradient-masked inpainting)을 통해 정돈합니다.
속도: 이미지당 약 0.05초. GPU가 필요하지 않습니다.
SynthID 및 기타 비가시적 워터마크 제거하기
Google은 Gemini / Nano Banana가 생성하는 모든 이미지에 SynthID를 삽입합니다. 다른 AI 서비스들은 StableSignature, TreeRing 및 유사한 방식들을 사용합니다. 이러한 인지할 수 없는 주파수 영역 (frequency-domain) 패턴들은 자르기, 크기 조정, JPEG 압축 후에도 유지됩니다.
제거 파이프라인 (기본 프로필, SDXL):
image → ~1024px로 크기 조정 (SDXL 네이티브) → 잠재 공간 (latent space, VAE)으로 인코딩
→ 제어된 노이즈 추가 (순방향 확산, forward diffusion)
→ 디노이징 (역방향 확산, reverse diffusion, 강도 0.05에서 약 50단계)
...
2026년 5월부터 SDXL이 기본값으로 사용됩니다. SDXL은 Gemini 3 Pro 출력물의 SynthID v2를 경험적으로 격파하지만, 768px의 이전 SD-1.5 파이프라인은 이를 처리하지 못했습니다. SD-1.5 경로는 v2를 처리할 수 없음이 확인된 후 제거되었습니다.
얼굴 보호 (Face Protection): 확산 (diffusion) 과정 이전에, YOLO가 이미지 내의 사람을 탐지하고 추출합니다. 확산 이후에는 얼굴 특징의 AI 왜곡을 방지하기 위해 부드러운 타원형 마스크 (elliptical mask)를 사용하여 원래의 얼굴을 다시 합성합니다.
아날로그 휴머나이저 (Analog Humanizer): 선택 사항으로 필름 그레인 (film grain)과 색수차 (chromatic aberration)를 주입하여, 결과물을 화면을 찍은 사진과 구별할 수 없게 만들어 AI 생성 이미지 분류기 (AI-generated image classifiers)를 무력화합니다.
C2PA, EXIF 및 "Made with AI" 메타데이터 제거하기
AI 도구들은 소셜 플랫폼이 "Made with AI" 라벨을 표시하는 데 사용하는 생성 메타데이터 (generation metadata)를 삽입합니다:
- EXIF 태그 (EXIF tags) — 프롬프트 (prompt), 시드 (seed), 모델 해시 (model hash), 샘플러 설정 (sampler settings) (Stable Diffusion, Midjourney)
- XMP DigitalSourceType — Instagram, Facebook, X (Twitter)에서 "Made with AI"를 표시하기 위해 사용하는
trainedAlgorithmicMedia태그 - PNG 텍스트 청크 (PNG text chunks) — ComfyUI 워크플로 (workflows), AUTOMATIC1111 파라미터 (parameters)
- C2PA 콘텐츠 자격 증명 (C2PA Content Credentials) — Google Imagen, OpenAI DALL-E, Adobe Firefly의 암호화된 출처 매니페스트 (cryptographic provenance manifests)
클리너 (cleaner)는 각 레이어를 파싱 (parse)하여 AI 관련 필드를 제거하고, 표준 메타데이터 (Author, Copyright, Title)는 보존합니다.
설치 (Installation)
권장 사항 (Recommended)
격리된 CLI 도구로 설치하세요 — 가상 환경 (virtual environments)을 관리할 필요가 없습니다:
# pipx (https://pipx.pypa.io) 사용
pipx install git+https://github.com/wiltodelta/remove-ai-watermarks.git
...
최신 버전으로 업데이트하려면:
pipx upgrade remove-ai-watermarks
# 또는
...
리포지토리에서 설치 (Install from repository)
전제 조건 (Prerequisites): Python 3.10+ 및 pip (또는 uv).
# 1. 리포지토리 클론 (Clone)
git clone https://github.com/wiltodelta/remove-ai-watermarks.git
cd remove-ai-watermarks
...
설치 후 remove-ai-watermarks 명령어를 시스템 전체에서 사용할 수 있습니다.
참고 (Note): 기본 설치는 가시적인 워터마크 제거 및 메타데이터 스트리핑 (metadata stripping)을 지원합니다.
보이지 않는 워터마크 제거 (SynthID 등)를 위해서는 GPU 종속성 (dependencies)을 설치하세요:
pip install -e ".[gpu]" # 또는: uv pip install -e ".[gpu]"
보이지 않는 워터마크 제거 (Invisible watermark removal)
보이지 않는 워터마크 제거는 적절한 속도를 위해 확산 모델 (diffusion models)과 GPU를 사용합니다.
# 처음 실행 시, 모델 (~2 GB)이 자동으로 다운로드됩니다.
# 장치는 자동으로 감지됩니다: CUDA (Linux/Windows) > MPS (macOS) > CPU.
# 장치를 강제하려면: --device cuda / --device mps / --device cpu
...
개발자 설정 (Developer setup)
# 개발용 종속성 (pytest, ruff, pyright)과 함께 설치
pip install -e ".[dev]"
# 또는 uv 사용 시:
...
사용법 (Usage)
CLI
# 단일 이미지에서 모든 워터마크 제거 (가시적 + 비가시적 + 메타데이터)
remove-ai-watermarks all image.png -o clean.png
...
개별 명령 (Individual commands)
# 가시적 워터마크만 제거 (Gemini / Nano Banana 반짝임) — 빠름, 오프라인
remove-ai-watermarks visible image.png -o clean.png
...
Python API
from remove_ai_watermarks.gemini_engine import GeminiEngine
import cv2
...
메타데이터 제거 (Metadata stripping)
from remove_ai_watermarks.metadata import has_ai_metadata, remove_ai_metadata
from pathlib import Path
...
요구 사항 (Requirements)
- Python ≥ 3.10
- 가시적 제거 (Visible removal) / 메타데이터: CPU 전용, GPU 불필요
- 비가시적 제거 (Invisible removal): GPU 권장 (CUDA 또는 MPS), CPU에서도 작동 가능 (느림)
문제 해결 (Troubleshooting)
SSL 인증서 오류 (CERTIFICATE_VERIFY_FAILED):
# certifi 설치 (도구가 이를 자동으로 감지함)
pip install certifi
...
첫 실행 시 느림 — 이는 예상된 동작입니다. 도구는 첫 실행 시 모델 가중치(weights, 약 2 GB)를 다운로드합니다. 이후 실행 시에는 캐시된 모델을 사용합니다.
크레딧 (Credits)
- noai-watermark (mertizci 제작) — 비가시적 워터마크 제거 엔진
- GeminiWatermarkTool (Allen Kuo (MIT) 제작) — 가시적 워터마크 제거 알고리즘
- CtrlRegen (Liu et al. (ICLR 2025) 제작) — 제어 가능한 재생성 파이프라인 (controllable regeneration pipeline)
- NeuralBleach (MIT) — 아날로그 휴머니저 (analog humanizer) 기술
로드맵 (Roadmap)
추적 중이나 아직 구현되지 않음:
- SynthID-Image v2 자동 회귀 테스트 (automated regression test). 기본 SDXL 프로필은 Gemini 3 Pro 출력물에 대한 Gemini 앱의 "SynthID로 확인 (Verify with SynthID)" 기능과 수동 대조 결과(2026년 5월 기준) v2를 무력화합니다. 자동화된 엔드 투 엔드 (end-to-end) 테스트를 위해서는 SynthID 탐지기 포털 (SynthID Detector portal)에 대한 프로그래밍 방식의 접근 권한(미디어 전문가 및 연구자를 위한 대기 명단 존재) 또는 오프라인 대리 탐지기 (offline surrogate detector)가 필요합니다. 진행 중 (Open).
- AVIF / HEIF / JPEG-XL 탐지 한계. 제거 과정에서 최상위 C2PA
uuid및 JUMBFjumb박스가 삭제됩니다. 이러한 컨테이너 내부의 EXIF/XMP 박스는 아직 제거되지 않았습니다 (PNG 및 JPEG는 완전히 지원됨). - 비디오 파이프라인 (
noai-video): Sora 2의 동적 로고, Veo 3.1 배지, Kling, Runway를 위한 프레임별 인페인팅 (inpainting) 및 트래킹 (tracking). 별도의 패키지로 구성되며, 이 리포지토리 (repo)에 통합되지 않습니다.
수정 계획 없음 (Won't fix):
- Nightshade / Glaze / PhotoGuard 제거. 이것들은 아티스트들이 자신의 작업물이 AI 학습 데이터셋으로 스크래핑되는 것을 방지하기 위해 사용하는 방어적 섭동 (defensive perturbations)입니다. 이를 제거하는 것은 AI 출처 (provenance)가 아닌 아티스트를 공격하는 행위입니다. 범위 외 (Out of scope).
법적 사항 (Legal)
AI 생성 콘텐츠에 대한 워터마킹 및 출처 (provenance)는 현재 여러 관할 구역에서 규제되고 있습니다. 아래 표는 2026년 5월 기준 현황을 요약한 것입니다. 이는 어떠한 법적 조언도 아닙니다.
| 관할 구역 | 법적 도구 (Instrument) | 상태 (2026년 5월) | 관련성 |
|---|---|---|---|
| EU | AI 법 (AI Act), 제50조(2)항 | 2025년 12월 종합 합의에 따라 표시 의무가 2026년 12월 2일로 연기됨. 실무 강령 (Code of Practice)은 2026년 5/6월에 확정 예정. | 기망 의도를 가지고 의무화된 출처 마커를 제거하는 행위는 국가별 시행령에 따라 제재를 받을 수 있음. |
| ... |
위협 모델 (Threat model)
이 도구는 이미 배포된 AI 이미지를 자동 탐지 시스템(소셜 플랫폼의 "Made with AI" 라벨, 제3자 분류기, 콘텐츠 정책 필터)으로부터 방어합니다. 이 도구는 생성 과정을 소급하여 익명화(anonymise)하지는 않습니다.
특히, SynthID-Image v2 (Google, Gemini 3 Pro / Nano Banana Pro / Imagen 4 / Veo와 함께 2025년 10월 배포됨)는 136비트 페이로드 (payload) (arxiv 2510.09263)를 삽입합니다. 이 페이로드는 사용자 또는 세션 식별자 (identifier)를 인코딩하는 것으로 믿어집니다. 만약 워터마크가 포함된 원본 파일이 프롬프트 작성자가 제어하는 시스템(저장된 Gemini 계정 기록, Google 제품에 업로드된 스크린샷, 백업 등)을 통과한 적이 있다면, Google은 해당 원본을 생성 계정과 연결할 수 있는 능력을 보유합니다. 귀하가 소유한 복사본에서 워터마크를 제거한다고 해서 Google의 서버 측 기록이 삭제되지는 않습니다.
위협 모델 (threat model)이 부합하는 사용 사례:
- 본인이 직접 이미지를 생성했으며, 이를 자신의 저작물로 게시하고자 하고
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기