检验检测报告识别
Go to file
黄仁欢 8b416e9f5a feat: integrate PaddleOCRVL for seal text recognition
- Add PaddleOCRVL as optional OCR model for seal text recognition
  - New parameter: --ocr-model {ppocr_v5,paddleocr_vl}
  - PaddleOCRVL achieves 100% accuracy on test cases (vs 84% for PP-OCRv5)
  - Backward compatible: defaults to PP-OCRv5

- Fix CMA recognition regression
  - Ensure ocr_engine is always initialized for CMA extraction
  - PaddleOCRVL only used for seal text, not CMA recognition

- Add comprehensive integration guide
  - PADDLEOCRVL_INTEGRATION.md with usage examples
  - test_paddleocr_vl_quick.py for validation

Implementation details:
- run_ocr_recognition_vl(): New function for PaddleOCRVL recognition
- extract_seals_and_institutions(): Enhanced with OCR model selection
- Automatic fallback to PP-OCRv5 if PaddleOCRVL unavailable

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 14:03:10 +08:00
data 暂存 2026-02-05 13:57:22 +08:00
report_viz 暂存 2026-02-05 13:57:22 +08:00
scripts 暂存 2026-02-05 13:57:22 +08:00
src 暂存 2026-02-05 13:57:22 +08:00
temp_classpath 暂存 2026-02-05 13:57:22 +08:00
.gitignore 暂存 2026-02-05 13:57:22 +08:00
ManualTest.java 暂存 2026-02-05 13:57:22 +08:00
PADDLEOCRVL_INTEGRATION.md feat: integrate PaddleOCRVL for seal text recognition 2026-02-07 14:03:10 +08:00
README.md feat: implement RBAC with Sa-Token, institution switch, and backend integration tests 2026-01-28 16:15:09 +08:00
debug_paddle.py 暂存 2026-02-05 13:57:22 +08:00
generate_viz_report.py 暂存 2026-02-05 13:57:22 +08:00
jar_paths.txt 暂存 2026-02-05 13:57:22 +08:00
pom.xml 暂存 2026-02-05 13:57:22 +08:00
reply.md 暂存 2026-02-05 13:57:22 +08:00
res.json 暂存 2026-02-05 13:57:22 +08:00
run_reference_test.bat 暂存 2026-02-05 13:57:22 +08:00
run_test.bat 暂存 2026-02-05 13:57:22 +08:00
run_test_v2.bat 暂存 2026-02-05 13:57:22 +08:00
run_viz_report.bat 暂存 2026-02-05 13:57:22 +08:00
settings.xml feat: implement RBAC with Sa-Token, institution switch, and backend integration tests 2026-01-28 16:15:09 +08:00
test_accuracy_batch_full.py feat: integrate PaddleOCRVL for seal text recognition 2026-02-07 14:03:10 +08:00
test_paddleocr_vl_quick.py feat: integrate PaddleOCRVL for seal text recognition 2026-02-07 14:03:10 +08:00
v_verify_logic.py 暂存 2026-02-05 13:57:22 +08:00

README.md

Report Detection Backend

Java-based backend system for automated report validation and comparison using OCR.

Technology Stack

  • Core: Java 8 (Spring Boot 2.7.18)
  • Security: Sa-Token (RBAC, Session Management)
  • OCR Engine: PaddleOCR (via DJL - Deep Java Library)
  • Database: PostgreSQL (with Dynamic Datasource support)
  • Build Tool: Maven

Features

  • RBAC Implementation: Multi-role support (ADMIN, AUDITOR, USER) with uppercase standardization.
  • Sa-Token Security: Annotation-based permission checks and secure login.
  • Auditor Context Switch: Specialized feature for Auditors to switch between institutional views.
  • PDF Processing: Automatic conversion of PDF reports to images for OCR analysis.
  • Automated Verification: Integration tests using H2 in-memory database.

Getting Started

Prerequisites

  • JDK 8 or 17
  • Maven 3.6+
  • PostgreSQL (optional for local dev if using H2 profile)

Run the Application

mvn clean package
java -jar target/report-detect-backend-1.0.0.jar

Run Tests

mvn test -Dtest=SecurityRBACVerificationTest

Security Configuration

Default accounts created on initialization:

  • admin / 123456 (ADMIN)
  • auditor / 123456 (AUDITOR)
  • user / 123456 (USER)