close Icon
Bot Image

summary Close Icon

بناء نظام التعرف على لوحات السيارات

سبتمبر 14, 2024 33 mins read

Artboard – 73-hq1Fbckg0a
 

أصبحت أنظمة التعرف على لوحات السيارات، والمعروفة أيضًا باسم التعرف التلقائي على لوحات الأرقام (ANPR)، أدوات أساسية في إدارة المرور الحديثة، وتطبيق القانون، وحلول مواقف السيارات الذكية. تستخدم هذه الأنظمة تقنيات الرؤية الحاسوبية والتعلم الآلي للتعرف تلقائيًا على لوحات السيارات وقراءتها من الصور أو مقاطع الفيديو. في هذا الدليل، سنقدم لك المفاهيم الرئيسية وراء نظام التعرف على لوحات السيارات وكيفية بنائه باستخدام أدوات مفتوحة المصدر.

ما هو التعرف على لوحات السيارات؟

التعرف على لوحات السيارات هو تقنية تقوم باستخلاص وقراءة أرقام لوحات السيارات من الصور أو لقطات الفيديو. يتم استخدام تقنية التعرف الضوئي على الأحرف (OCR) لتحويل اللوحة المكتشفة إلى نص قابل للقراءة بواسطة الآلة.

تشمل التطبيقات الشائعة لأنظمة التعرف على لوحات السيارات:

  • إدارة المرور: الكشف تلقائيًا عن المركبات التي تنتهك قوانين المرور أو حساب رسوم المرور على الطرق السريعة.
  • حلول مواقف السيارات: السماح للمركبات بالدخول والخروج من مواقف السيارات بدون تدخل يدوي.
  • الأمن والمراقبة: مساعدة جهات إنفاذ القانون في تتبع السيارات المسروقة أو التعرف على الأنشطة المشبوهة.

كيف يعمل نظام التعرف على لوحات السيارات؟

يتكون نظام التعرف على لوحات السيارات النموذجي من الخطوات التالية:

  1. التقاط الصور: يتم التقاط صور للمركبة التي يُراد استخراج لوحتها.
  2. المعالجة الأولية: يتم تنظيف الصورة وتحسينها لزيادة الدقة.
  3. الكشف عن لوحة السيارة: تحديد المنطقة الدقيقة في الصورة التي تحتوي على اللوحة.
  4. تقسيم الأحرف: تقسيم اللوحة المكتشفة إلى أحرف فردية.
  5. التعرف الضوئي على الأحرف (OCR): تحويل الأحرف المجزأة إلى نص.
  6. المعالجة اللاحقة: تحسين الدقة من خلال تصحيح الأخطاء المحتملة أو تطبيق التحقق.

الأدوات والتقنيات لبناء نظام التعرف على لوحات السيارات

تتوفر العديد من الأدوات والمكتبات التي تساعد في بناء نظام التعرف على لوحات السيارات، خاصة في لغة البرمجة بايثون. تشمل التقنيات الرئيسية:

  • OpenCV: مكتبة مفتوحة المصدر للرؤية الحاسوبية تُستخدم في معالجة الصور واكتشاف الميزات.
  • Tesseract OCR: محرك قوي للتعرف الضوئي على الأحرف يمكنه التعرف على النصوص في الصور، بما في ذلك لوحات السيارات.
  • إطارات التعلم الآلي: مكتبات مثل TensorFlow، PyTorch، أو Keras يمكن استخدامها لبناء نماذج مخصصة للكشف عن لوحات السيارات وقراءتها.
  • نماذج التعلم العميق: يمكن استخدام النماذج المدربة مسبقًا مثل YOLO (You Only Look Once) أو SSD (Single Shot Multibox Detector) لاكتشاف لوحات السيارات في الصور.

دليل خطوة بخطوة لبناء نظام التعرف على لوحات السيارات

إليك عملية مبسطة لبناء نظام التعرف على لوحات السيارات باستخدام OpenCV وTesseract OCR.

الخطوة 1: التقاط الصور

الخطوة الأولى هي التقاط صور للمركبات. يمكنك استخدام:

  • كاميرات المراقبة في بيئة حية.
  • كاميرات السيارة المثبتة على المركبات.
  • صور أو فيديوهات مخزنة مسبقًا للمعالجة الدفعة.

بعد التقاط الصور، يتم تمريرها إلى النظام للمعالجة.

الخطوة 2: المعالجة الأولية للصورة

تساعد المعالجة الأولية في تحسين دقة اكتشاف اللوحات من خلال تحسين جودة الصورة. تُستخدم تقنيات مثل تحويل الصور إلى تدرجات الرمادي، وإزالة الضوضاء، وتطبيق تقنيات العتبة.

import cv2

# تحميل الصورة
image = cv2.imread('car_image.jpg')

# تحويل الصورة إلى تدرجات الرمادي
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# تطبيق التمويه الغاوسي لإزالة الضوضاء
blurred = cv2.GaussianBlur(gray_image, (5, 5), 0)

# تطبيق كشف الحواف
edges = cv2.Canny(blurred, 30, 200)

# عرض الصورة المعالجة
cv2.imshow('Preprocessed Image', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

الخطوة 3: اكتشاف لوحة السيارة

تشمل هذه الخطوة الكشف عن المنطقة في الصورة التي تحتوي على لوحة السيارة. يمكنك استخدام تقنيات اكتشاف الكنتور في OpenCV لتحديد المناطق المستطيلة التي تحتوي على اللوحات المحتملة.

# العثور على الكنتورات في الصورة
contours, _ = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# حلقة على الكنتورات
for contour in contours:
    # الحصول على المساحة التقريبية ورسم مربع حول اللوحات المحتملة
    perimeter = cv2.arcLength(contour, True)
    approximation = cv2.approxPolyDP(contour, 0.02 * perimeter, True)
    
    # التحقق من الأشكال المستطيلة (اللوحات عادةً مستطيلة)
    if len(approximation) == 4:
        x, y, w, h = cv2.boundingRect(contour)
        license_plate = gray_image[y:y+h, x:x+w]
        cv2.imshow('License Plate', license_plate)
        cv2.waitKey(0)
        break

الخطوة 4: تقسيم الأحرف

بمجرد اكتشاف اللوحة، تكون الخطوة التالية هي تقسيم كل حرف في اللوحة. يتم ذلك باستخدام الكشف عن الكنتور مرة أخرى داخل منطقة اللوحة المكتشفة لعزل الأحرف الفردية.

الخطوة 5: التعرف الضوئي على الأحرف (OCR)

بعد عزل اللوحة وتقسيم أحرفها، يمكننا استخدام Tesseract OCR للتعرف على الأحرف.

import pytesseract

# استخدام Tesseract OCR لقراءة لوحة السيارة
text = pytesseract.image_to_string(license_plate, config='--psm 8')
print(f"لوحة السيارة المكتشفة: {text.strip()}")

الخطوة 6: المعالجة اللاحقة

بعد التعرف على الأحرف، يمكن تطبيق المعالجة اللاحقة لتحسين الدقة. قد يشمل ذلك:

  • التحقق من قاعدة بيانات للوحة السيارات المعروفة.
  • خوارزميات تصحيح الأحرف للتعامل مع أخطاء OCR الشائعة.
  • تصفية الضوضاء لإزالة الأحرف أو الرموز غير المرغوب فيها.

التحديات في نظام التعرف على لوحات السيارات

  1. تباين ظروف الإضاءة: يمكن أن تجعل أشعة الشمس الساطعة أو الظلال أو الإضاءة السيئة في الليل من الصعب اكتشاف وقراءة اللوحات.
  2. تنوع اللوحات: تختلف اللوحات في التصميم والخط والحجم، مما يجعل من الصعب على أنظمة OCR التعميم.
  3. الطمس الحركي: السيارات التي تتحرك بسرعة عالية يمكن أن تخلق طمسًا حركيًا، مما يصعب عملية التعرف.
  4. اللوحات المتسخة أو التالفة: اللوحات التي تكون متسخة أو مغطاة أو تالفة جزئيًا قد لا يتم اكتشافها بدقة.

تقنيات متقدمة لتحسين الدقة

  • نماذج التعلم العميق: يمكن أن يساعد استخدام نماذج التعلم العميق مثل YOLO في تحسين اكتشاف اللوحات بشكل كبير، خاصة في الظروف الصعبة.
  • زيادة البيانات: يمكن أن تجعل النماذج المدربة على مجموعة متنوعة من السيناريوهات الواقعية النظام أكثر قوة.
  • الحوسبة الطرفية: في التطبيقات الزمنية الحقيقية، يمكن نشر أجهزة الحوسبة الطرفية لمعالجة البيانات محليًا وتقليل التأخير.

تطبيقات واقعية

  1. أنظمة مواقف السيارات الذكية: السماح تلقائيًا للمركبات بالدخول والخروج بناءً على اللوحات المكتشفة.
  2. تطبيق قوانين المرور: اكتشاف انتهاكات المرور مثل تجاوز السرعة أو قطع إشارات المرور.
  3. تحصيل رسوم الطرق الآلي: استخدام LPR لتحصيل الرسوم تلقائيًا للمركبات التي تمر عبر بوابات الرسوم.
  4. أنظمة الأمن: مساعدة وكالات إنفاذ القانون في تتبع ومراقبة المركبات المتورطة في أنشطة إجرامية.

 

صورة أخبار الرسالة
النشرة الإخبارية

اشترك في نشرتنا الإخبارية

بالنقر على الزر، فإنك توافق على الشروط والأحكام الخاصة بنا.