File size: 3,421 Bytes
347d1a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"""
Constants for confidence scoring module.

This module contains thresholds and weights used in confidence calculation
for card detection, finger detection, and measurement stability.
"""

# =============================================================================
# Card Confidence Constants
# =============================================================================

# Ideal credit card aspect ratio (ISO/IEC 7810 ID-1)
CARD_IDEAL_ASPECT_RATIO = 85.60 / 53.98  # ≈ 1.586

# Maximum acceptable aspect ratio deviation (fraction)
CARD_MAX_ASPECT_DEVIATION = 0.15  # 15%

# Card confidence component weights
CARD_WEIGHT_DETECTION = 0.5    # Detection quality: 50%
CARD_WEIGHT_ASPECT = 0.25      # Aspect ratio: 25%
CARD_WEIGHT_SCALE = 0.25       # Scale calibration: 25%


# =============================================================================
# Finger Confidence Constants
# =============================================================================

# Ideal mask area fraction of total image area
FINGER_IDEAL_MIN_AREA_FRACTION = 0.005  # 0.5% of image
FINGER_IDEAL_MAX_AREA_FRACTION = 0.05   # 5% of image

# Finger confidence component weights
FINGER_WEIGHT_HAND_DETECTION = 0.7  # Hand detection: 70%
FINGER_WEIGHT_MASK_VALIDITY = 0.3   # Mask validity: 30%


# =============================================================================
# Measurement Confidence Constants
# =============================================================================

# Coefficient of variation thresholds
# CV = std_dev / mean
MEASUREMENT_CV_EXCELLENT = 0.05  # CV < 0.05 is excellent
MEASUREMENT_CV_POOR = 0.15       # CV < 0.15 is acceptable

# Median-mean consistency threshold (fractional difference)
MEASUREMENT_CONSISTENCY_THRESHOLD = 0.1  # 10% difference acceptable

# Outlier detection threshold (multiples of std dev)
MEASUREMENT_OUTLIER_STD_MULTIPLIER = 2.0

# Realistic finger width range (cm)
MEASUREMENT_WIDTH_TYPICAL_MIN = 1.4  # Typical minimum
MEASUREMENT_WIDTH_TYPICAL_MAX = 2.4  # Typical maximum
MEASUREMENT_WIDTH_ABSOLUTE_MIN = 1.0  # Absolute minimum (borderline)
MEASUREMENT_WIDTH_ABSOLUTE_MAX = 3.0  # Absolute maximum (borderline)

# Measurement confidence component weights
MEASUREMENT_WEIGHT_VARIANCE = 0.4      # Variance: 40%
MEASUREMENT_WEIGHT_CONSISTENCY = 0.2   # Consistency: 20%
MEASUREMENT_WEIGHT_OUTLIERS = 0.2      # Outliers: 20%
MEASUREMENT_WEIGHT_RANGE = 0.2         # Range: 20%

# Range score values
MEASUREMENT_RANGE_SCORE_IDEAL = 1.0        # Within typical range
MEASUREMENT_RANGE_SCORE_BORDERLINE = 0.7   # Within absolute range
MEASUREMENT_RANGE_SCORE_OUTSIDE = 0.3      # Outside realistic range


# =============================================================================
# Overall Confidence Constants
# =============================================================================

# v0 (Contour method) component weights
V0_WEIGHT_CARD = 0.30          # Card: 30%
V0_WEIGHT_FINGER = 0.30        # Finger: 30%
V0_WEIGHT_MEASUREMENT = 0.40   # Measurement: 40%

# v1 (Sobel method) component weights
V1_WEIGHT_CARD = 0.25          # Card: 25%
V1_WEIGHT_FINGER = 0.25        # Finger: 25%
V1_WEIGHT_EDGE_QUALITY = 0.20  # Edge quality: 20%
V1_WEIGHT_MEASUREMENT = 0.30   # Measurement: 30%

# Confidence level thresholds
CONFIDENCE_LEVEL_HIGH_THRESHOLD = 0.85   # > 0.85 = high
CONFIDENCE_LEVEL_MEDIUM_THRESHOLD = 0.6  # >= 0.6 = medium, < 0.6 = low