We discover ideas, create meaning, and grow together.
Abstract
문서 이미지의 미세 조작 여부를 판별하고, 조작된 영역을 시각적으로 식별하는 딥러닝 기반 진위 판별 시스템을 제안한 프로젝트입니다. Xception 및 Inception 아키텍처 기반의 Two-Stream 네트워크를 활용한 기존 연구(Document image forgery localization using a two‐stream network, 2021)을 개선하여 설계된 AI 기반 문서 위조 탐지 및 시각화 시스템입니다.
기존 연구가 문서 내 위조 영역을 macro-level에서 탐지하는 데 중점을 두었다면, 본 프로젝트는 실사용 환경에서의 적용 가능성을 고려하여 patch-level 단위의 고정밀 탐지 및 시각화에 초점을 맞추어 다음과 같이 모델을 개선하였습니다.
- 각 패치를 독립적인 학습 단위로 간주하여 패치별 위조 여부를 이진 분류
- 실사용 기준에서 필요한 세밀한 패치 크기(10~15픽셀 단위)로 문서를 분할
- 최종적으로 전체 문서에 대한 위조 여부 판단뿐만 아니라, 위조 의심 영역을 heatmap 형태로 시각화

Problem Formulation
본 프로젝트는 공문서, 계약서 등 다양한 이미지 문서 내에서의 위조 및 조작 탐지 문제를 다룹니다. 문서 위변조는 이미지의 매우 국소적인 단위에서 발생할 수 있으며, 이는 글자 한 자, 심지어 획 단위로도 이루어집니다.
기존의 위조 탐지 방식은 대부분 전역적 특징(global features) 또는 일정 수준 이상의 조작 크기를 전제로 설계되어, 실제 위조 탐지에 한계가 있었습니다. 특히 OCR 기반의 단순 텍스트 추출 방식이 아닌, 이미지 자체에 대한 픽셀 기반 판별 접근 방식을 도입함으로써 다음과 같은 특성을 해결하였습니다:
- 조작이 매우 국소적(글자 수준)으로 이루어지는 고정밀 문제
- 사람이 육안으로 식별하기 어려운 시각적 조작 패턴 존재
- 문서 전체의 판별뿐 아니라 조작된 영역을 시각적으로 추정 가능해야 하는 과제
Architectural Design and Algorithm
Two-Stream Network 기반 구조 개선
- 기존 논문에 사용된 Xception, Inception 기반 Two-Stream 구조를 유지하되, 실사용 중심으로 다음과 같은 보완을 적용하였습니다:
1. 텍스처 스트림 (Texture Stream)
- 이미지의 시각적 질감, 압축 아티팩트, 잉크 번짐, 노이즈 등 미세한 왜곡을 감지
- Xception 기반 특성 추출기로 local inconsistency 탐지 성능 강화
2. 구조 스트림 (Structural Stream)
- Inception 모듈 기반 다중 스케일 구조 인식
3. Patch-wise Classification 전략
- 문서 전체를 고해상도 오버랩 패치(10~15px 단위)로 분할
- 각 패치를 독립적인 classification target으로 처리하여 조작 여부를 지도 학습
- 전체 문서를 하나의 이진 결과로 판별하는 것이 아닌, patch-level mask를 생성하여 조작 영역을 시각적으로 출력
4. Explainable Output
- 각 패치의 예측 결과를 조합하여 문서 전체의 heatmap을 생성
- 사용자는 문서 전체의 진위 여부뿐 아니라, 의심 영역까지 직관적으로 확인 가능
Tech Stack
- Language & Framework
- Python, Pytorch, OpenCV
- Algorithm & Models
- Xception, Inception