Intelligente Verkehrszeichenerkennung mit 43 Kategorien basierend auf einer vereinfachten Version von Python+VGG+MiniGoogLeNet – Deep-Learning-Algorithmusanwendung (einschließlich des gesamten Quellcodes des Python-Projekts) + Datensatz + Modell (3)


Fügen Sie hier eine Bildbeschreibung ein

Vorwort

Dieses Projekt konzentriert sich auf die Lösung des Problems der Verkehrszeichenerkennung in spezifischen Szenarien selbstfahrender Touren im Ausland. Mit dem umfangreichen Verkehrszeichendatensatz auf Kaggle haben wir für das Training Faltungs-Neuronale Netzwerkmodelle wie VGG und GoogLeNet verwendet. Durch geschickte Anpassungen der Netzwerkarchitektur und der Netzwerkparameter wollen wir die Genauigkeit des Modells bei der Erkennung verschiedener Arten von Verkehrszeichen verbessern.

Zunächst haben wir einen hochwertigen Verkehrszeichendatensatz auf Kaggle ausgewählt, um die Vielfalt und Reichhaltigkeit der Trainingsdaten sicherzustellen. Als nächstes werden fortschrittliche Faltungs-Neuronale Netzwerkmodelle wie VGG und GoogLeNet verwendet, die bei Bildklassifizierungsaufgaben hervorragende Leistungen erbringen.

Durch eine clevere Netzwerkarchitektur und Parameteranpassung zielt dieses Projekt darauf ab, die Genauigkeit des Modells zu verbessern. Wir führten eine eingehende Untersuchung der Merkmale verschiedener Verkehrszeichen durch, um dem Netzwerk zu ermöglichen, diese Merkmale spezifischer zu lernen und so die Generalisierungsfähigkeit des Modells in komplexen Szenarien zu verbessern.

Letztendlich zielt dieses Projekt darauf ab, Benutzern, die mit dem Auto ins Ausland reisen, ein effizientes und genaues Verkehrszeichenerkennungssystem bereitzustellen, um die Fahrsicherheit und das Benutzererlebnis zu verbessern. Es wird erwartet, dass diese innovative Lösung tiefgreifende Auswirkungen auf Bereiche wie autonomes Fahren und intelligente Navigation haben wird.

Gesamtkonzept

Dieser Teil enthält das Gesamtsystemstrukturdiagramm und das Systemflussdiagramm.

Gesamtsystemstrukturdiagramm

Der Gesamtaufbau des Systems ist in der Abbildung dargestellt.

Fügen Sie hier eine Bildbeschreibung ein

Systemflussdiagramm

Der Systemablauf ist in der Abbildung dargestellt.

Fügen Sie hier eine Bildbeschreibung ein

Betriebsumgebung

Dieser Abschnitt umfasst die Python-Umgebung und die Anaconda-Umgebung.

Weitere Informationen finden Sie im Blog .

Modulimplementierung

Dieses Projekt umfasst 3 Module: Datenvorverarbeitung, Modellkonstruktion, Modelltraining und -speicherung. Die Funktionseinführung und die zugehörigen Codes der einzelnen Module sind unten aufgeführt.

1. Datenvorverarbeitung

Dieses Projekt verwendet den German Traffic Sign Recognition Benchmark Dataset (GTSRB). Dieser Datensatz enthält 50.000 Verkehrszeichenbilder, die in verschiedenen Umgebungen aufgenommen wurden. Die Download-Adresse lautet: https://www.kaggle.com/datasets/meowmeowmeowmeowmeow/gtsrb -german- Verkehrsschild . Nachdem der Datensatz heruntergeladen wurde, importieren Sie die Daten und führen Sie die Vorverarbeitung durch.

Weitere Informationen finden Sie im Blog .

2. Modellbau

Dieser Abschnitt enthält vereinfachte Versionen des VGG-Modells und des GoogLeNet-Modells.

Weitere Informationen finden Sie im Blog .

3. Modellschulung und -speicherung

Weitere Informationen finden Sie im Blog .

Systemtest

Dieser Teil umfasst die Trainingsgenauigkeit und Testergebnisse.

1. Trainingsgenauigkeit

Dieser Abschnitt enthält eine vereinfachte Version des VGG-Modells und des MiniGoogLeNet-Modells.

1) Vereinfachte Version des VGG-Modells

Nach 15 Iterationen erreichte die Genauigkeit 98 %, wie in der Abbildung dargestellt.

Fügen Sie hier eine Bildbeschreibung ein

2) MiniGoogLeNet-Modell

Nach 10 Iterationen erreicht die Genauigkeit 94 %, wie in der Abbildung dargestellt.

Fügen Sie hier eine Bildbeschreibung ein

2. Testeffekt

Finden Sie 10 deutsche Verkehrszeichenbilder im Internet. Nachdem Sie die Bilder mit der gleichen Methode wie in der Trainingsphase vorverarbeitet haben, verwenden Sie das zuvor gespeicherte Modell, um Vorhersagen zu treffen. Der relevante Code lautet wie folgt:

# 导入需要的软件包
from tensorflow.keras.models import load_model
from skimage import transform, exposure, io
import numpy as np
import matplotlib.image as imgplt
import matplotlib.pyplot as plt

# 加载模型
model = load_model('output/testmodel.pb')

# 加载交通标志名称
labelNames = [line.split(",")[2] for line in open("signnamesl.csv").read().strip().split("\n")[1:]]

# 初始化标签列表
labels = []

# 处理测试图片
for i in range(1, 11):
    imagePath = f'C:/Users/Lenovo/Desktop/测试图片/{
      
      i}.png'

    # 加载图片
    image = io.imread(imagePath)

    # 采用与训练阶段相同的方法对图片进行预处理
    image = transform.resize(image, (32, 32))
    image = exposure.equalize_adapthist(image, clip_limit=0.1)
    image = image.astype("float32") / 255.0
    image = np.expand_dims(image, axis=0)

    # 预测
    preds = model.predict(image)
    j = preds.argmax(axis=1)[0]

    # 获得预测类别的具体名称
    label = labelNames[j]
    labels.append(label)

# 在Jupyter中正常显示中文
plt.rc('font', family='SimHei', size=18)

# 绘制图像和标签
fig = plt.figure(figsize=(20, 9))
for i in range(1, 11):
    imagePath = f'C:/Users/Lenovo/Desktop/测试图片/{
      
      i}.png'
    x = imgplt.imread(imagePath)

    # 显示图片和预测的类别
    plt.subplot(2, 5, i)
    plt.imshow(x)
    plt.title(labels[i - 1])

plt.show()

Der Modellvorhersageeffekt ist in der Abbildung dargestellt.

Fügen Sie hier eine Bildbeschreibung ein

Verwandte andere Blogs

Intelligente 43 Arten der Verkehrszeichenerkennung basierend auf einer vereinfachten Version von Python+VGG+MiniGoogLeNet – Deep-Learning-Algorithmusanwendung (einschließlich des gesamten Quellcodes des Python-Projekts) + Datensatz + Modell (1)

Intelligente 43 Arten der Verkehrszeichenerkennung basierend auf einer vereinfachten Version von Python+VGG+MiniGoogLeNet – Deep-Learning-Algorithmusanwendung (einschließlich des gesamten Quellcodes des Python-Projekts) + Datensatz + Modell (2)

Download des Projektquellcodes

Weitere Informationen finden Sie auf meiner Blog-Ressourcen-Download-Seite


Weitere Informationen herunterladen

Wenn Sie weiterhin die Lernrouten und Wissenssysteme im Zusammenhang mit künstlicher Intelligenz verstehen möchten, können Sie gerne meinen anderen Blog „ Schwergewicht | Vollständiges KI-Lernen mit künstlicher Intelligenz – Grundlegende Wissenslernroute“ lesen. Alle Informationen können direkt von der Netzwerkfestplatte heruntergeladen werden ohne irgendwelche Routinen zu befolgen.
Dieser Blog bezieht sich auf Githubs bekannte Open-Source-Plattform, KI-Technologieplattform und Experten in verwandten Bereichen: Datawhale, ApacheCN, AI Youdao und Dr. Huang Haiguang usw. Es gibt fast 100 GB verwandte Informationen. I Ich hoffe, es kann allen meinen Freunden helfen.

Acho que você gosta

Origin blog.csdn.net/qq_31136513/article/details/135146537
Recomendado
Clasificación