marearts-anpr 3.7.3__cp310-cp310-macosx_10_9_universal2.whl → 3.7.6__cp310-cp310-macosx_10_9_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- marearts_anpr/_version.py +1 -1
- marearts_anpr/cli.py +77 -29
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/METADATA +19 -8
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/RECORD +8 -8
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/LICENSE +0 -0
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/WHEEL +0 -0
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/entry_points.txt +0 -0
- {marearts_anpr-3.7.3.dist-info → marearts_anpr-3.7.6.dist-info}/top_level.txt +0 -0
marearts_anpr/_version.py
CHANGED
marearts_anpr/cli.py
CHANGED
|
@@ -623,33 +623,77 @@ def cmd_test_api(args):
|
|
|
623
623
|
# List models option
|
|
624
624
|
if hasattr(args, 'list_models') and args.list_models:
|
|
625
625
|
print("Available Test API Models (Public Cloud Service):")
|
|
626
|
-
print("=" *
|
|
626
|
+
print("=" * 70)
|
|
627
627
|
|
|
628
|
-
print("\n
|
|
629
|
-
print("-" *
|
|
630
|
-
print("
|
|
631
|
-
print(" -
|
|
632
|
-
print("
|
|
633
|
-
print(" -
|
|
634
|
-
print("
|
|
635
|
-
print(" -
|
|
628
|
+
print("\n🚀 V14 DETECTOR MODELS (Recommended):")
|
|
629
|
+
print("-" * 70)
|
|
630
|
+
print(" 640p FP32 (Standard Precision):")
|
|
631
|
+
print(" • v14_pico_640p_fp32 - Fastest, good for real-time")
|
|
632
|
+
print(" • v14_micro_640p_fp32 - Balanced speed/accuracy")
|
|
633
|
+
print(" • v14_small_640p_fp32 - Good accuracy")
|
|
634
|
+
print(" • v14_medium_640p_fp32 - ⭐ Best overall (DEFAULT)")
|
|
635
|
+
print(" • v14_large_640p_fp32 - Highest accuracy")
|
|
636
636
|
|
|
637
|
-
print("\n
|
|
638
|
-
print("
|
|
639
|
-
print("
|
|
640
|
-
print("
|
|
641
|
-
print("
|
|
642
|
-
print("
|
|
643
|
-
print(" v13 Series (Recommended):")
|
|
644
|
-
print(" - v13_eu, v13_euplus, v13_kr, v13_cn, v13_univ")
|
|
637
|
+
print("\n 640p FP16 (Half Precision - Faster on GPU):")
|
|
638
|
+
print(" • v14_pico_640p_fp16")
|
|
639
|
+
print(" • v14_micro_640p_fp16")
|
|
640
|
+
print(" • v14_small_640p_fp16")
|
|
641
|
+
print(" • v14_medium_640p_fp16")
|
|
642
|
+
print(" • v14_large_640p_fp16")
|
|
645
643
|
|
|
646
|
-
print("\n
|
|
647
|
-
print("
|
|
648
|
-
print("•
|
|
649
|
-
print("•
|
|
650
|
-
print("•
|
|
651
|
-
print("•
|
|
652
|
-
|
|
644
|
+
print("\n 320p FP32 (Lower Resolution - Faster):")
|
|
645
|
+
print(" • v14_pico_320p_fp32")
|
|
646
|
+
print(" • v14_micro_320p_fp32")
|
|
647
|
+
print(" • v14_small_320p_fp32")
|
|
648
|
+
print(" • v14_medium_320p_fp32")
|
|
649
|
+
print(" • v14_large_320p_fp32")
|
|
650
|
+
|
|
651
|
+
print("\n 320p FP16:")
|
|
652
|
+
print(" • v14_pico_320p_fp16")
|
|
653
|
+
print(" • v14_micro_320p_fp16")
|
|
654
|
+
print(" • v14_small_320p_fp16")
|
|
655
|
+
print(" • v14_medium_320p_fp16")
|
|
656
|
+
print(" • v14_large_320p_fp16")
|
|
657
|
+
|
|
658
|
+
print("\n🔤 V14 OCR MODELS:")
|
|
659
|
+
print("-" * 70)
|
|
660
|
+
print(" FP32 (Standard Precision):")
|
|
661
|
+
print(" • v14_pico_fp32")
|
|
662
|
+
print(" • v14_micro_fp32")
|
|
663
|
+
print(" • v14_small_fp32 - ⭐ Good balance (DEFAULT)")
|
|
664
|
+
print(" • v14_medium_fp32 - Better accuracy")
|
|
665
|
+
print(" • v14_large_fp32 - Highest accuracy")
|
|
666
|
+
|
|
667
|
+
print("\n🌍 REGIONS (Required for V14 OCR):")
|
|
668
|
+
print("-" * 70)
|
|
669
|
+
print(" • kr - Korean plates")
|
|
670
|
+
print(" • eup - European+ plates (EU countries + more)")
|
|
671
|
+
print(" • na - North American plates")
|
|
672
|
+
print(" • cn - Chinese plates")
|
|
673
|
+
print(" • univ - Universal (all regions)")
|
|
674
|
+
|
|
675
|
+
print("\n💡 RECOMMENDED COMBINATIONS:")
|
|
676
|
+
print("-" * 70)
|
|
677
|
+
print(" European plates: --detector v14_medium_640p_fp32 --ocr v14_small_fp32 --region eup")
|
|
678
|
+
print(" Korean plates: --detector v14_medium_640p_fp32 --ocr v14_small_fp32 --region kr")
|
|
679
|
+
print(" Fast processing: --detector v14_micro_640p_fp32 --ocr v14_micro_fp32 --region eup")
|
|
680
|
+
print(" Best accuracy: --detector v14_large_640p_fp32 --ocr v14_large_fp32 --region eup")
|
|
681
|
+
|
|
682
|
+
print("\n📝 USAGE NOTES:")
|
|
683
|
+
print("-" * 70)
|
|
684
|
+
print(" • Daily limit: 1000 requests (resets at midnight UTC)")
|
|
685
|
+
print(" • No authentication required (public test API)")
|
|
686
|
+
print(" • V14 models with region-specific vocabulary")
|
|
687
|
+
print(" • FP16 models faster on GPU, FP32 better for CPU")
|
|
688
|
+
print(" • 320p faster but may miss distant/small plates")
|
|
689
|
+
print(" • 640p recommended for best detection")
|
|
690
|
+
|
|
691
|
+
print("\n📚 EXAMPLES:")
|
|
692
|
+
print("-" * 70)
|
|
693
|
+
print(" ma-anpr test-api image.jpg")
|
|
694
|
+
print(" ma-anpr test-api image.jpg --region kr")
|
|
695
|
+
print(" ma-anpr test-api *.jpg --detector v14_small_640p_fp32 --region eup")
|
|
696
|
+
print(" ma-anpr test-api image.jpg --json results.json")
|
|
653
697
|
return
|
|
654
698
|
|
|
655
699
|
# Check if input files are provided
|
|
@@ -687,7 +731,8 @@ def cmd_test_api(args):
|
|
|
687
731
|
'x-api-key': PUBLIC_API_KEY,
|
|
688
732
|
'user-id': PUBLIC_USER_ID,
|
|
689
733
|
'detector_model_version': args.detector,
|
|
690
|
-
'ocr_model_version': args.ocr
|
|
734
|
+
'ocr_model_version': args.ocr,
|
|
735
|
+
'region': args.region
|
|
691
736
|
}
|
|
692
737
|
|
|
693
738
|
# Make API request with security settings
|
|
@@ -907,10 +952,13 @@ def main():
|
|
|
907
952
|
# Test API command
|
|
908
953
|
test_api_parser = subparsers.add_parser('test-api', help='Test ANPR using public API (no credentials required)')
|
|
909
954
|
test_api_parser.add_argument('input', nargs='*', help='Input image file(s)')
|
|
910
|
-
test_api_parser.add_argument('--detector', default='
|
|
911
|
-
help='Detector model (default:
|
|
912
|
-
test_api_parser.add_argument('--ocr', default='
|
|
913
|
-
help='OCR model (default:
|
|
955
|
+
test_api_parser.add_argument('--detector', default='v14_medium_640p_fp32',
|
|
956
|
+
help='Detector model (default: v14_medium_640p_fp32)')
|
|
957
|
+
test_api_parser.add_argument('--ocr', default='v14_medium_fp32',
|
|
958
|
+
help='OCR model (default: v14_medium_fp32)')
|
|
959
|
+
test_api_parser.add_argument('--region', default='eup',
|
|
960
|
+
choices=['kr', 'eup', 'na', 'cn', 'univ'],
|
|
961
|
+
help='Region for OCR (default: eup)')
|
|
914
962
|
test_api_parser.add_argument('--list-models', action='store_true',
|
|
915
963
|
help='List available models for test API')
|
|
916
964
|
test_api_parser.add_argument('--json', help='Save results to JSON file')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: marearts-anpr
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.6
|
|
4
4
|
Summary: MareArts ANPR (Automatic Number Plate Recognition) library
|
|
5
5
|
Home-page: https://www.marearts.com
|
|
6
6
|
Author: MareArts
|
|
@@ -16,7 +16,6 @@ Classifier: Operating System :: OS Independent
|
|
|
16
16
|
Requires-Python: <3.13,>=3.9
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: numpy>=1.21.0
|
|
20
19
|
Requires-Dist: opencv-python>=4.5.0
|
|
21
20
|
Requires-Dist: requests>=2.25.0
|
|
22
21
|
Requires-Dist: imageio>=2.10.0
|
|
@@ -26,6 +25,10 @@ Requires-Dist: PyYAML>=5.0.0
|
|
|
26
25
|
Requires-Dist: dotmap>=1.3.0
|
|
27
26
|
Requires-Dist: marearts-crystal>=2.0.0
|
|
28
27
|
Requires-Dist: tqdm>=4.0.0
|
|
28
|
+
Requires-Dist: numpy<2.0,>=1.23.0; python_version == "3.10"
|
|
29
|
+
Requires-Dist: numpy<2.0,>=1.23.0; python_version == "3.11"
|
|
30
|
+
Requires-Dist: numpy<2.0,>=1.21.6; python_version == "3.9"
|
|
31
|
+
Requires-Dist: numpy<2.0,>=1.26.0; python_version >= "3.12"
|
|
29
32
|
Provides-Extra: cuda
|
|
30
33
|
Requires-Dist: onnxruntime-gpu>=1.15.0; extra == "cuda"
|
|
31
34
|
Provides-Extra: directml
|
|
@@ -45,6 +48,9 @@ Requires-Dist: nvidia-cuda-runtime-cu12; platform_system == "Linux" and extra ==
|
|
|
45
48
|
[](https://www.marearts.com/products/anpr)
|
|
46
49
|
[](http://live.marearts.com)
|
|
47
50
|
|
|
51
|
+
[](https://pypi.org/project/marearts-anpr/)
|
|
52
|
+
[](https://apps.apple.com/app/marearts-anpr/id6753904859)
|
|
53
|
+
|
|
48
54
|
<div align="center">
|
|
49
55
|
|
|
50
56
|
| ANPR Detection | Road Objects Detection | Mobile App |
|
|
@@ -112,15 +118,14 @@ pip install marearts-anpr[directml] # Windows GPU (AMD/Intel/NVIDIA)
|
|
|
112
118
|
|
|
113
119
|
### Basic Usage
|
|
114
120
|
|
|
115
|
-
💡 **Recommended:** `micro_320p_fp32` (best overall) or `micro_320p_fp16` (best mobile). [See all models](https://github.com/MareArts/MareArts-ANPR/blob/main/docs/models.md)
|
|
116
121
|
|
|
117
122
|
```python
|
|
118
123
|
from marearts_anpr import ma_anpr_detector_v14, ma_anpr_ocr_v14, marearts_anpr_from_image_file
|
|
119
124
|
|
|
120
125
|
# Initialize detector
|
|
121
126
|
detector = ma_anpr_detector_v14(
|
|
122
|
-
"micro_320p_fp32",
|
|
123
|
-
# 320p models (
|
|
127
|
+
"micro_320p_fp32",
|
|
128
|
+
# 320p models (Fast): pico_320p_fp32/fp16, micro_320p_fp32/fp16, small_320p_fp32/fp16, medium_320p_fp32/fp16, large_320p_fp32/fp16
|
|
124
129
|
# 640p models (High detection): pico_640p_fp32/fp16, micro_640p_fp32/fp16, small_640p_fp32/fp16, medium_640p_fp32/fp16, large_640p_fp32/fp16
|
|
125
130
|
user_name,
|
|
126
131
|
serial_key,
|
|
@@ -145,6 +150,7 @@ result = marearts_anpr_from_image_file(detector, ocr, "image.jpg")
|
|
|
145
150
|
print(result)
|
|
146
151
|
# Output: {'results': [{'ocr': 'ABC123', 'ocr_conf': 99, ...}], ...}
|
|
147
152
|
```
|
|
153
|
+
💡 🔄 [Learn more about usage](https://github.com/MareArts/MareArts-ANPR/blob/main/docs/usage.md#dynamic-region-switching)
|
|
148
154
|
|
|
149
155
|
#### Dynamic Region Switching
|
|
150
156
|
|
|
@@ -188,8 +194,6 @@ ma-anpr validate # Validate license
|
|
|
188
194
|
|
|
189
195
|
### Detector Performance
|
|
190
196
|
|
|
191
|
-
*Tested on 33% validation set (12,583 images) with NVIDIA RTX 4090*
|
|
192
|
-
|
|
193
197
|
| Model Name | Detection Rate | Speed (GPU) | Notes |
|
|
194
198
|
|------------|----------------|-------------|-------|
|
|
195
199
|
| **micro_320p_fp32** | **97.13%** | **128 FPS** (7.8ms) | 🏆 Best overall |
|
|
@@ -218,7 +222,7 @@ ma-anpr validate # Validate license
|
|
|
218
222
|
|
|
219
223
|
**Supported Regions**: Korean (`kr`), Europe+ (`eup`), North America (`na`), China (`cn`), Universal (`univ`)
|
|
220
224
|
|
|
221
|
-
📊 [See all
|
|
225
|
+
📊 [See all models and benchmarks](https://github.com/MareArts/MareArts-ANPR/blob/main/docs/models.md)
|
|
222
226
|
|
|
223
227
|
<br>
|
|
224
228
|
|
|
@@ -282,4 +286,11 @@ Explore our AI toolkit:
|
|
|
282
286
|
|
|
283
287
|
This software requires a valid license key. Visit [MareArts ANPR Solution](https://www.marearts.com/products/anpr) for licensing options.
|
|
284
288
|
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
<div align="center">
|
|
292
|
+
|
|
293
|
+
<a href='https://clustrmaps.com/site/1c8t6' title='Visit tracker'><img src='https://clustrmaps.com/map_v2.png?cl=080808&w=600&t=t&d=I-__iZrXFcHfzEXPbD_E0f9ipSE8cNnANPUFRBu-c2Q&co=ffffff&ct=808080' alt='Visitor Map' width='300'/></a>
|
|
294
|
+
|
|
295
|
+
</div>
|
|
285
296
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
marearts_anpr/__init__.py,sha256=YzrK3DFACnJ-JOQjHnV0Lj0YTzeWpHGAqTIWhptuudg,845
|
|
2
|
-
marearts_anpr/_version.py,sha256=
|
|
3
|
-
marearts_anpr/cli.py,sha256=
|
|
2
|
+
marearts_anpr/_version.py,sha256=zGNGpkQjSytGALD5hcAdD8jzB1hkyGf8rY7GMtr8uwA,75
|
|
3
|
+
marearts_anpr/cli.py,sha256=JzIF-nYSjbWrm6fzWYZ6H9V1pI71CqcxQj9JvKFpJCA,40663
|
|
4
4
|
marearts_anpr/image_processor.cpython-310-darwin.so,sha256=6JF_rqIj4awJfs-ppw6FO2HBh7x9QuBKQ6DPpeS0C7s,272968
|
|
5
5
|
marearts_anpr/license.cpython-310-darwin.so,sha256=usXQp6ZjECwKmxrfILmawmXLhSHgb6iTWm4Ryit8Icg,224800
|
|
6
6
|
marearts_anpr/marearts_anpr.py,sha256=OSSOZnODYscVPGLcw6Qw4btE_b_6qCbeWOUZA2vi150,3308
|
|
@@ -12,9 +12,9 @@ marearts_anpr/marearts_anpr_r_v14.cpython-310-darwin.so,sha256=nQ2o2xWGVw29q9HXX
|
|
|
12
12
|
marearts_anpr/secret.cpython-310-darwin.so,sha256=G-Nbe6BNHM9W_s_aDjrQvZnx5DNGFDFolZqDZn1dy-U,257776
|
|
13
13
|
marearts_anpr/tokenizer.cpython-310-darwin.so,sha256=1tBdh0bUSH_oNepyhRAQsiyuKCR8z_pPLMGzEL_SkZA,239504
|
|
14
14
|
marearts_anpr/utils.cpython-310-darwin.so,sha256=E8v-4RMrPnxUeKV__ag-FE16DFSFBAkF7CqDAVxJyew,340296
|
|
15
|
-
marearts_anpr-3.7.
|
|
16
|
-
marearts_anpr-3.7.
|
|
17
|
-
marearts_anpr-3.7.
|
|
18
|
-
marearts_anpr-3.7.
|
|
19
|
-
marearts_anpr-3.7.
|
|
20
|
-
marearts_anpr-3.7.
|
|
15
|
+
marearts_anpr-3.7.6.dist-info/LICENSE,sha256=-QowWRBizXxzIyeIKvORInIIG3pjTHtImpvy4alJ9H4,1693
|
|
16
|
+
marearts_anpr-3.7.6.dist-info/METADATA,sha256=s0FQAvYCtmu11bb0PuZsQ9s7C2g_JRyCSIK1I2DrhPc,13375
|
|
17
|
+
marearts_anpr-3.7.6.dist-info/WHEEL,sha256=Sooupui5EnBW-HNXjQU0OJoerPN0TT-a4xxlvmpUy2g,115
|
|
18
|
+
marearts_anpr-3.7.6.dist-info/entry_points.txt,sha256=hLIURtN8fSxpadtPdl8TZ0C_nY6DL2ua0sXEIACQxRs,91
|
|
19
|
+
marearts_anpr-3.7.6.dist-info/top_level.txt,sha256=DX3y7nst7V7YBYS7dHQIIZxROhrheWGRsl2aCOLErEA,14
|
|
20
|
+
marearts_anpr-3.7.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|