cb38d413ad771f3719e8fd7cb4eca92537154b0b
Pre-emptively address the three residual points from a hostile GPT-5.5 reviewer pass that rev8 had not fully closed (the rest of that review matched the already-applied fusion revision): - Sensitivity surface (Major 5): new Figure 6 maps the deployed rule over the full (cosine cut x dHash cut) plane - clean-group flag rate and the Firm A-minus-B/C/D contrast. Shows no cliff at (0.95, dHash<=5), contrast >45pp across a broad region (58pp at 0.97/dHash<=3), and that extending to the MC bound (dHash<=15) halves the contrast - so the thresholds are not cherry-picked and the weaker MC band is shown, not hidden. Reproducible via make_fig6_sensitivity.py (DB columns only). - Soften "reuse-dominated" (Major 1): the assertion that Firm A "is" a reuse-dominated population now reads "behaves in the screen as," explicitly resting on interviews + byte-identity rather than per-signature ground truth; two other uses made conditional/generic. - Shared-pipeline contamination of ICCR (Major 2): Sec III-E now names the shared within-firm imaging pipeline (scanners, PDF assembly, red-stamp removal) as a channel that can lift the inter-CPA rate above true chance, distinct from "shared template," supported by the Sec V-B pipeline audit; bias direction (higher floor) keeps the Firm-A contrast conservative. rev9 docx rebuilt (6 figures embedded). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qn59FdF9JMyfFg3sjcUNNG
PDF Signature Extraction System
Automated extraction of handwritten Chinese signatures from PDF documents using hybrid VLM + Computer Vision approach.
Quick Start
Step 1: Extract Pages from CSV
cd /Volumes/NV2/pdf_recognize
source venv/bin/activate
python extract_pages_from_csv.py
Step 2: Extract Signatures
python extract_signatures_hybrid.py
Documentation
- PROJECT_DOCUMENTATION.md - Complete project history, all approaches tested, detailed results
- README_page_extraction.md - Page extraction documentation
- README_hybrid_extraction.md - Hybrid signature extraction documentation
Current Performance
Test Dataset: 5 PDF pages
- Signatures expected: 10
- Signatures found: 7
- Precision: 100% (no false positives)
- Recall: 70%
Key Features
✅ Hybrid Approach: VLM name extraction + CV detection + VLM verification
✅ Name-Based: Signatures saved as signature_周寶蓮.png
✅ No False Positives: Name-specific verification filters out dates, text, stamps
✅ Duplicate Prevention: Only one signature per person
✅ Handles Both: PDFs with/without text layer
File Structure
extract_pages_from_csv.py # Step 1: Extract pages
extract_signatures_hybrid.py # Step 2: Extract signatures (CURRENT)
README.md # This file
PROJECT_DOCUMENTATION.md # Complete documentation
README_page_extraction.md # Page extraction guide
README_hybrid_extraction.md # Signature extraction guide
Requirements
- Python 3.9+
- PyMuPDF, OpenCV, NumPy, Requests
- Ollama with qwen2.5vl:32b model
- Ollama instance: http://192.168.30.36:11434
Data
- Input:
/Volumes/NV2/PDF-Processing/master_signatures.csv(86,073 rows) - PDFs:
/Volumes/NV2/PDF-Processing/total-pdf/batch_*/ - Output:
/Volumes/NV2/PDF-Processing/signature-image-output/
Status
✅ Page extraction: Tested with 100 files, working ✅ Signature extraction: Tested with 5 files, 70% recall, 100% precision ⏳ Large-scale testing: Pending ⏳ Full dataset (86K files): Pending
See PROJECT_DOCUMENTATION.md for complete details.
Description
Automated extraction of handwritten Chinese signatures from PDF documents using hybrid VLM + Computer Vision approach. 70% recall, 100% precision.
Languages
Python
100%