A low cost IoT-based Arabic license plate recognition model for smart parking systems
[Link]
s les systèmes de transport intelligents (ITS)
le design proposé repose sur trois traitements d'imageétapes pour obtenir une
identification de plaque d'immatriculation avec une grande précision qui sont le
prétraitement, la segmentation et la reconnaissance des caractères. La méthode
canny edge detection avec different thresholds, contour detection, et les techniques
de masking sont utiliser pour localiser les bords de la plaque . Dans l'expérience
présentée dans cet article, 200 images ont été utilisées pour identifier les plaques de
voitures égyptiennes. Le modèle a identifié avec succès les plaques d'immatriculation
arabes avec une précision de 93 %. Un prototype est implémenté à l'aide de caméras
ESP32 et de Raspberry-Pi pour tester les performances du système. De plus, une base de
données et un site Web sont hébergés sur le RPi pour permettre aux utilisateurs de rechercher
l'emplacement de leur voiture dans le parking à l'aide de la plaque d'immatriculation complète
ou partielle de la voiture qui a été enregistrée dans la base de données lors de la détection.
Introduction :
Cet article propose un système intelligent rentable qui peut réduire le temps passé à
rechercher des véhicules garés dans un garage de centre commercial ou un parking
ainsi qu'aider à localiser le véhicule déjà garé
le système proposé dans cet article utilise des dispositifs IoT à faible coût et faciles à
installer. Ils exécutent un algorithme ORC qui ne nécessite pas une puissance de
traitement élevée. De plus, le texte extrait est placé dans une base de données locale
et les résultats peuvent être recherchés par les utilisateurs de n'importe où sur le
réseau.
le modèle de système proposé qui comprend deux blocs principaux, le bloc de capture
d'image et le bloc de traitement d'image. Le bloc de capture d'image est la première
étape qui est réalisée en utilisant des caméras ESP32 ; tandis que la technique de
traitement d'image est divisée en trois étapes
1.
Prétraitement : modification de l'image capturée de la plaque
d'immatriculation pour qu'elle soit dans un format acceptable afin de
permettre aux étapes suivantes de fonctionner correctement et d'augmenter la
précision de notre modèle.
2.
Segmentation : Fractionnement de l'image modifiée en sous-images d'objets
classifiables (caractères ou chiffres) pour que l'OCR détecte avec succès les
caractères de la plaque d'immatriculation.
3.
OCR : identification de la plaque d'immatriculation en question où la
reconnaissance optique de caractères est utilisée pour identifier les caractères
et les numéros individuels à partir des sous-images obtenues à partir de l'étape
de segmentation.
La sortie texte de ces étapes est stockée dans une base de données avec les détails
supplémentaires relatifs à l'application utilisant notre modèle de système. Par
exemple, dans notre scénario de test, ce modèle de système est utilisé dans un
parking universitaire où l'image de la plaque d'immatriculation de la voiture est
capturée lors du stationnement dans une certaine place de parking. Chaque place de
parking est équipée d'une caméra sans fil qui est étiquetée avec un numéro de place et
identifiée dans le réseau par une adresse IP.
la phase de pré-traitement où les images capturées passent par une série de processus tels
que le redimensionnement, la rotation et la mise à l'échelle. Les images modifiées sont
ensuite converties en niveaux de gris à partir de leur format RVB d'origine. Cette étape est
nécessaire pour ajouter de la rapidité et de la robustesse dans le traitement des images dans
les étapes suivantes. L'image en niveaux de gris est ensuite interpolée à l'aide de la technique
nearest neighbor pour produire une image plus lisse sur laquelle opérer Ensuite, la technique
de détection des contours de Canny est utilisée pour identifier les limites, suivie de la
détection des contours pour localiser la plaque d'immatriculation. La détection des contours
Canny opère sur l'image en plusieurs étapes pour pouvoir réduire le bruit et localiser la
région d'intérêt. La première étape consiste à appliquer Gaussian filter pour supprimer le
bruit haute fréquence susceptible d'affecter la précision de la détection des contours. Ce filtre
produit un flou d'image qui est utile pour une meilleure détection des contours. Dans notre
conception, nous nous sommes appuyés sur un filtre bilatéral qui est un filtre non linéaire
avec des poids distribués gaussiens Ces poids prennent en considération à la fois les
différences radiométriques entre les pixels ainsi que la distance euclidiennede pixels.
Ensuite, une technique de suppression de coupure minimale est appliquée pour détecter les
bords forts Deux étapes supplémentaires sont envisagées pour tenir compte de ces bords
faussement détectés qui sont Double seuil : Deux seuils sont définis, un seuil haut et un
seuil bas sur les valeurs de gradient. Si un pixel de bord a une valeur de gradient supérieure
au seuil haut, il est marqué comme un bord fort. S'il se situe entre les deux seuils choisis, il
est marqué comme un bord faible. Mais s'il tombe en dessous du seuil bas, il est supprimé.
Hystérésis : Il s'agit d'une technique de suivi permettant d'identifier les arêtes faibles qui sont
connectées à au moins une arête forte à l'aide de l'analyse blob (comparaison aux 8 pixels de
son voisinage). Ces pixels sont conservés tandis que les autres sont supprimés.A ce stade, les
bords réels ont été détectés. La détection de contour est ensuite appliquée pour extraire la
plaque d'immatriculation en trouvant un polygone en forme de rectangle. l'étape suivante La
ségmentation Le processus de segmentation est nécessaire pour diviser l'image en
sous-images qui peuvent être facilement classées en caractères et chiffres individuels
Cette segmentation de texte repose sur la technique de profilage de projection pour
l'extraction de caractéristiques. Il existe deux directions pour effectuer la projection
de profil qui sont la projection horizontale et la projection verticale où l'histogramme
de projection compte les valeurs de pixel dans les directions horizontale et verticale
respectivement Dans LPR, seule la projection horizontale est nécessaire pour diviser
les caractères . Après avoir divisé les caractères, l'OCR est utilisé pour identifier chaque
caractère en comparant les formats binaires aux modèles existants.
Dans ce modèle, le Raspberry pi peut également servir de point d'accès, ainsi que les
serveurs Web et de base de données.
Chaque caméra est placée sur une certaine place de parking et porte un numéro
spécifique lié à son emplacement. La distance entre la caméra et la plaque a été fixée
à environ 1 m et la caméra s'est appuyée sur la source lumineuse du parking lui-même
qui est généralement bien éclairé. La caméra est connectée sans fil au RPi qui
demande à la caméra de capturer l'image de la plaque d'immatriculation requise lors
de la détection d'une voiture garée à cet endroit spécifique. Ensuite, l'image est traitée
localement sur le Rpi et la plaque d'immatriculation ainsi que les données nécessaires
sont ajoutées à la base de données. Un site internet hébergé sur le Rpi est conçu pour
permettre à l'utilisateur de rechercher son véhicule en stationnement en saisissant
une plaque d'immatriculation partielle ou complète. Après avoir saisi les données
requises,
image capturée est envoyée au RPi qui prend en charge OCTAVE pour un traitement
ultérieur. Octave est un logiciel gratuit qui offre une programmation de haut niveau et peut
être utilisé sur RPi pour effectuer des calculs numériques complexes. Octave exécute le script
qui utilise l'OCR pour extraire les caractères de la plaque du véhicule.
Accuracy iest utilisée dans cet article pour évaluer la performance de notre système
Une autre prospective à prendre en considération est le temps d'analyse de l'image et
d'extraction des données à ajouter dans la base de données il fallait en moyenne 5,7 s pour
extraire les données et environ 2 s pour que les résultats apparaissent sur le site Web
lorsqu'ils étaient demandés.