Skip to content

MareArts/MareArts-ANPR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

146 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MareArts ANPR SDK

PyPI version Python versions Downloads License: Proprietary Live Demo

Python SDK iOS App

ANPR Detection Road Objects Detection Mobile App
ANPR Results
ANPR Results 2
ANPR Results 3
Road Objects Results
Road Objects Results 2
Mobile App

Automatic Number Plate Recognition (ANPR) SDK for multiple regions with GPU acceleration support.

๐Ÿ’Ž One License, All Access: SDK + Mobile App + Road Objects Detection - Use everywhere with a single license.


๐ŸŽ‰ MareArts ANPR Mobile App - v2.0.4

๐Ÿ“ฑ Now available on iOS! Android coming soon.

Fast, accurate, on-device license plate recognition for parking management, security, and vehicle tracking.

Download on App Store

๐Ÿ†• Team Work (v2.0)

One leader, multiple members โ€” shared detections, shared rules, one web dashboard.

โœจ Key Features:

  • ๐Ÿ‘ฅ Team Work - Leader/member collaboration with shared data
  • ๐Ÿš€ Fast on-device AI (~100-160ms)
  • ๐Ÿ”— Webhook (Discord, Slack, custom)
  • ๐Ÿ”„ Cloud sync & ๐ŸŒ Web rules download
  • ๐Ÿ“Š CSV export & ๐Ÿ—บ๏ธ Map view
  • ๐Ÿ”’ 100% offline capable
  • ๐ŸŒ Multi-region (Universal, Europe+, Korea, NA, China)

๐Ÿ“– Read the complete Mobile App Guide โ†’

Use the mobile app as your ANPR license - no additional purchase required.
Get your license at marearts.com/products/anpr


๐ŸŒ NEW: ANPR Management Server

Professional server with REST API and Web Dashboard

Deploy a complete ANPR management system with real-time monitoring, detection history, and visual analytics.

Management Server Dashboard

Quick Start:

cd management_server
pip install -r requirements.txt  # First time only
ma-anpr config                   # Configure credentials
python server.py                 # Start server
# Open http://localhost:8000/

Features: REST API, Web Dashboard, Real-time logs, SQLite database, Live model switching

๐Ÿ“– Full Documentation โ†’



๐ŸŽ‰ MareArts SDK v3.8.x

V15 OCR - Next Generation Recognition โญ

  • ๐ŸŽฏ Improved Accuracy: Enhanced recognition across all regions
  • ๐Ÿ“ Better Multi-line Handling: Improved recognition of plates with multiple text lines
  • ๐Ÿš€ Better Performance: Higher accuracy with strong real-time throughput
  • ๐Ÿ”„ Easy Upgrade to V15: Simple drop-in replacement for V14 OCR
  • โœ… Recommended: V15 OCR is now the default for new projects

Backward Compatible: V14 OCR continues to be fully supported



MareArts ANPR SDK Features

  • ๐ŸŒ Multi-Region Support: Korean, Europe+, North America, China, and Universal license plates
  • ๐Ÿ”„ Dynamic Region Switching: Change regions instantly with set_region() without model reload
  • โšก GPU Acceleration: CUDA, DirectML support for real-time processing
  • ๐ŸŽฏ High Accuracy: Advanced models with regional vocabulary optimization
  • ๐Ÿ“ฆ Batch Processing: Process multiple plates simultaneously
  • ๐Ÿณ Production Ready: Docker API with smart model caching and multi-architecture support

Quick Start

Installation

# CPU Installation
pip install marearts-anpr

# GPU Installation (CUDA, DirectML)
pip install marearts-anpr[gpu]        # NVIDIA CUDA
pip install marearts-anpr[directml]   # Windows GPU (AMD/Intel/NVIDIA)

๐Ÿ“ฆ See complete installation guide

Basic Usage

from marearts_anpr import ma_anpr_detector_v14, ma_anpr_ocr_v15, marearts_anpr_from_image_file

# Initialize V14 Detector
detector = ma_anpr_detector_v14(
    "micro_320p_fp32",
    # 320p models (Fast): pico_320p_fp32/fp16, micro_320p_fp32/fp16, small_320p_fp32/fp16, medium_320p_fp32/fp16, large_320p_fp32/fp16
    # 640p models (High detection): pico_640p_fp32/fp16, micro_640p_fp32/fp16, small_640p_fp32/fp16, medium_640p_fp32/fp16, large_640p_fp32/fp16
    user_name,
    serial_key,
    signature,
    backend="cuda",  # cpu, cuda, directml (auto-selected if "auto")
    conf_thres=0.25,  # Detection confidence threshold (default: 0.25)
    iou_thres=0.5     # IoU threshold for NMS (default: 0.5)
)

# Initialize V15 OCR with regional vocabulary (Recommended - Latest)
ocr = ma_anpr_ocr_v15(
    "small_fp32",       # Model: pico_fp32, micro_fp32, small_fp32, medium_fp32, large_fp32
                        # int8 models available: pico_int8, micro_int8, small_int8, medium_int8, large_int8 (smaller, faster)
    "univ",             # Region: kor/kr, euplus/eup, na, china/cn, univ (choose specific region for best accuracy)
    user_name,
    serial_key,
    signature,
    backend="cuda",  # cpu, cuda, directml (auto-selected if "auto") 
)

# Or use V14 OCR (backward compatible)
# from marearts_anpr import ma_anpr_ocr_v14
# ocr = ma_anpr_ocr_v14("small_fp32", "univ", user_name, serial_key, signature, backend="cuda")

# Or use unified interface with version parameter
# from marearts_anpr import ma_anpr_ocr
# ocr = ma_anpr_ocr("small_fp32", "univ", user_name, serial_key, signature, version='v15', backend="cuda")  # v15: Latest, or version='v14': Stable  

# Process image
result = marearts_anpr_from_image_file(detector, ocr, "image.jpg")
print(result)
# Output: {'results': [{'ocr': 'ABC123', 'ocr_conf': 99, ...}], ...}

๐Ÿ’ก ๐Ÿ”„ Learn more about usage

Dynamic Region Switching

Switch regions without reinitialization (works with both V14 and V15 OCR):

ocr.set_region('euplus')  # Europe+ (or 'eup')
ocr.set_region('kr')   # Korean
ocr.set_region('na')   # North America
ocr.set_region('cn')   # China
ocr.set_region('univ') # Universal (all regions)

๐Ÿ”„ Learn more about dynamic region switching

Multiple Input Formats & CLI

From different image sources:

import cv2
from PIL import Image
from marearts_anpr import marearts_anpr_from_cv2, marearts_anpr_from_pil

result = marearts_anpr_from_cv2(detector, ocr, cv2.imread("image.jpg"))
result = marearts_anpr_from_pil(detector, ocr, Image.open("image.jpg"))
result = marearts_anpr_from_image_file(detector, ocr, "image.jpg")

CLI commands:

ma-anpr image.jpg                    # Process image (V15 OCR is default)
ma-anpr image.jpg --ocr-version v15  # Use V15 OCR (explicit)
ma-anpr image.jpg --ocr-version v14  # Use V14 OCR
ma-anpr test-api image.jpg           # Test API (1000/day limit)
ma-anpr validate                     # Validate license
ma-anpr models                       # List available V14 and V15 models

๐Ÿ”ง See complete usage examples and CLI reference


Model Performance

Detector Performance (V14)

Model Name Detection Rate Speed (GPU) Notes
pico_320p_fp32 96.02% 129 FPS (7.8ms) ๐Ÿ“ฑ Smallest + fast
pico_640p_fp32 98.54% 66 FPS (15.2ms) Balanced
micro_320p_fp32 97.13% 128 FPS (7.8ms) ๐Ÿ† Best overall
micro_320p_fp16 97.13% 56 FPS (17.9ms) ๐Ÿ† Best mobile (50% smaller)
micro_640p_fp32 98.99% 68 FPS (14.6ms) Highest detection
small_320p_fp32 98.00% 142 FPS (7.0ms) โšก Fastest
medium_320p_fp32 98.06% 136 FPS (7.4ms) High detection
large_320p_fp32 98.40% 131 FPS (7.6ms) Strong performance

Note: 320p models are 2ร— faster than 640p. FP16 models are 50% smaller with same detection rate.


OCR Performance (V15)

Average across all regions

Model Name Exact Match Character Accuracy Speed (GPU) Notes
pico_fp32 98.66% 99.74% 235.1 FPS (4.32ms) ๐Ÿ“ฑ Smallest, fast
micro_fp32 99.01% 99.80% 245.8 FPS (4.07ms) Fast with high accuracy
small_fp32 98.66% 99.75% 280.2 FPS (3.57ms) โšก Fastest inference
medium_fp32 99.13% 99.83% 254.5 FPS (3.92ms) ๐ŸŽฏ Best accuracy
large_fp32 98.99% 99.81% 241.5 FPS (4.14ms) High accuracy

int8 Models (smaller files):

  • pico_int8, micro_int8, small_int8, medium_int8, large_int8
  • 75% smaller file size, similar accuracy

Supported Regions: Korea (kor or kr), Europe+ (euplus or eup), North America (na), China (china or cn), Universal (univ)

Note: Both short codes and full names are accepted

๐Ÿ“Š See all models and benchmarks


Regional Support

MareArts ANPR supports license plates from multiple regions with specialized vocabulary optimization:

  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean (kr) - Korean license plates with Hangul characters (best accuracy: 99.56%)
  • ๐Ÿ‡ช๐Ÿ‡บ Europe+ (eup) - EU countries + Albania, Andorra, Bosnia & Herzegovina, Indonesia, and more
  • ๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ‡จ๐Ÿ‡ฆ๐Ÿ‡ฒ๐Ÿ‡ฝ North America (na) - USA, Canada, and Mexico license plates
  • ๐Ÿ‡จ๐Ÿ‡ณ China (cn) - Chinese license plates with province codes
  • ๐ŸŒ Universal (univ) - All regions (default, but choose specific region for best accuracy)

๐Ÿ’ก Dynamic Region Switching: Use ocr.set_region('kr') to switch regions instantly without reloading the model, saving ~180 MB per additional region.

๐ŸŒ See complete regional support and character sets


Documentation

  • ๐Ÿ“ฆ Installation Guide - Detailed installation options and requirements
  • ๐Ÿ”ง Usage Examples - Python SDK, CLI usage, dynamic region switching, and environment variables
  • ๐Ÿ’ป Example Code - Basic, advanced, and batch processing examples
  • ๐Ÿš€ Model Versions - Available models, benchmarks, and performance metrics
  • ๐ŸŒ Regional Support - Supported countries and character sets
  • ๐Ÿณ Docker Deployment - Container setup, API server, and multi-architecture builds
  • ๐Ÿงช Try ANPR - Test our ANPR without license (1000 requests/day)
  • โ“ FAQ - Licensing, regions, features, and troubleshooting

MareArts Ecosystem

Explore our AI toolkit:

  • marearts-anpr - Automatic Number Plate Recognition (GitHub)
  • ๐ŸŽ‰ marearts-anpr Mobile App - ANPR on iOS & Android (App Store | Guide)
  • marearts-road-objects - Road object detection for persons, vehicles, and 2-wheelers (GitHub)
  • marearts-xcolor - Color extraction and similarity analysis (GitHub)
  • marearts-mast - Real-time panoramic stitching (GitHub)
  • marearts-crystal - Encryption and decryption toolkit (PyPI)

Support & Resources

Resource Link
๐Ÿ“ง Contact hello@marearts.com
๐Ÿ  Homepage https://marearts.com
๐Ÿ’ณ License Purchase ANPR Solution
๐ŸŽฎ Live Demo http://live.marearts.com
๐Ÿ“บ Video Examples YouTube Playlist

License

ยฉ 2025 MareArts. All rights reserved.

This software requires a valid license key. Visit MareArts ANPR Solution for licensing options.


Visitor Map