gbanyan 4cf21a64b2 Add Scripts 44 + 45: firm-matched-pool regression + full 5-way doc FAR
Spike checkpoint addressing codex round-31 review of Script 43:

- 44 (firm-matched-pool regression): logistic hit ~ firm + log(pool_size)
  refutes the "Firm A excess is pool-size confound" reviewer attack.
  After controlling for log(pool_size), Firm B/C/D ORs are 0.053 /
  0.010 / 0.027 vs Firm A reference (z = 62 / 60 / 42 sigma). Cross-
  firm hit matrix shows 98-100% of any-pair hits have candidates
  from the SAME firm (different CPA), confirming within-firm cross-
  CPA template sharing as the dominant collision mechanism.

- 45 (full 5-way doc FAR): per-signature and per-document FAR for
  three alarm definitions (HC / HC+MC / HC+MC+HSC). Per-document
  HC alarm FAR=17.97%, HC+MC alarm FAR=33.75% (operational rule),
  per-firm doc FAR for Firm A 62%, B/C/D 9-16%.

Together these resolve codex round-31's three main concerns:
firm/pool confound, documentation completeness on MC band, and
the operational specificity ceiling. Companion artefacts in
reports/v4_big4/{firm_matched_pool, doc_level_far_full}/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 14:16:30 +08:00

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

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

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.

S
Description
Automated extraction of handwritten Chinese signatures from PDF documents using hybrid VLM + Computer Vision approach. 70% recall, 100% precision.
Readme 6.9 MiB
Languages
Python 100%