توسعه ی یک سیستم پلاک خوان به مجموعه ای از نرم افزارها و سخت افزارها و تخصص در زمینه های بینایی ماشین، پردازش تصویر و یادگیری ماشین نیاز دارد. پیاده سازی سیستم پلاک خوان پیچیده است و نیازمند ترکیبی از مهارت ها در علوم هوش مصنوعی است.
به طور کلی دو روش برای توسعه ی پلاک خوان وجود دارد. در روش اول از مدل های آماده استفاده می شود و داده ها را با استفاده از این مدل آموزش می دهند. در روش دوم از ابتدا تا انتهای فرایند بدون استفاده از مدل های آماده انجام می شود. در این روش مدل توسط توسعه دهنده ایجاد می شود و آموزش داده می شود. در ادامه به بررسی مراحل مختلف توسعه ی یک سیستم پلاک خوان می پردازیم.
مراحل ایجاد سیستم پلاک خوان
برای توسعه ی پلاک خوان روش های مختلفی وجود دارد و هر روش ممکن است از الگوریتم های خاصی استفاده کند. اما به طور کلی می توان مراحل زیر را برای توسعه ی یک سیستم پلاک خوان در نظر گرفت.
جمع آوری دیتاستی از پلاک ها
اولین گام در توسعه ی نرم افزار پلاک خوان، جمع آوری مجموعه ای عظیم از پلاک خودروهاست. از این دیتاست برای آموزش مدل یادگیری ماشین که در واقع قلب پلاک خوان است استفاده می شود. دیتاست پلاک باید شامل تعداد بسیار بالایی از پلاک در شرایط نوری، پس زمینه و زاویه های مختلف باشد. برای داشتن مجموعه ای از تصاویر پلاک می توان از دیتاست های آماده استفاده کرد. همچنین امکان جمع آوری تصاویر و تگ زدن آن ها نیز وجود دارد.
پیش پردازش تصاویر
این مرحله به منظور افزایش دقت و کارایی سیستم پلاک خوان انجام می شود. تصاویر مختلفی که در دیتاست وجود دارند ممکن است دارای کیفیت پایینی باشند. تکنیک های افزایش کیفیت، کاهش نویز و بهبود نور تصویر همگی در مرحله ی پیش پردازش و به منظور بهبود کیفیت تصویر انجام می شوند.
توسعه ی مدل پلاک خوان
الگوریتم های مختلفی وجود دارند که می توان در سیستم پلاک خوان مورد استفاده قرار داد. از جمله ی این الگوریتم ها شبکه های عصبی کانولوشن (CNN)، ماشین های بردار پشتیبان (SVM) و مدل های یادگیری عمیق هستند. انتخاب مدل بستگی به نیاز سیستم پلاک خوان دارد. این مدل باید توانایی یافتن پلاک خودرو در تصویر و همچنین یافتن حروف و اعداد رو در روی پلاک داشته باشد. همچنین مدل باید شامل الگوریتمی برای خواندن حروف و اعداد پلاک باشد و بتواند آن ها را تشخیص دهد.
آموزش الگوریتم یادگیری ماشین
هنگامی که مدل مناسب برای پلاک خوانی انتخاب و توسعه داده شد، باید آن را با استفاده از دیتاست آموزش داد. تمامی تصاویر به همراه پلاک هوای خوانده شده وارد مدل می شوند و مدل را آموزش می دهند.
تست و ارزیابی مدل پلاک خوان
بعد از آموزش سیستم باید به منظور بررسی دقت و عملکرد آن را آزمایش کرد. برای این منظور تعدادی تصویر که در مرحله ی آموزش وجود نداشته اند به سیستم داده می شود و سیستم شروع به تولید خروجی می کند. با بررسی خروجی دقت نرم افزار مشخص می گردد. علاوه بر این باید بررسی کنیم که آیا سیستم توسعه داده شده توانایی برآورده کردن نیازهای مشخص شده را دارد.
انتخاب سخت افزار مناسب
برای گرفتن تصویر مناسبی از پلاک خودرو به دوربینی نیاز است که بتواند در شرایط مختلف نوری و فاصله های مختلف تصویری با کیفیت بگیرد. همچنین دوربین باید فریم ریت بالایی داشته باشد تا بتواند هنگام حرکت خودرو حتی با سرعت بالا نیز تصویر مناسبی از پلاکش بگیرد. علاوه بر دوربین به سخت افزارهایی دیگری مانند لنز و منبع تغذیه نیز نیاز است.
ترکیب با پایگاه داده
وقتی که پلاک خودرو از تصویر استخراج می شود می توان این پلاک را با پلاک های موجود در پایگاه داده مقایسه کرد تا مجوز آن ها بررسی شود و یا اگر پلاکی در لیست پلاک های ممنوعه قرار دارد شناسایی شود.
آزمایش و بهینه سازی
سیستم پلاک را باید در شرایط نوری و آب و هوایی مختلف آزمایش کرد تا بتوان دقت و سرعت آن را بهبود داد.