Rumah >pembangunan bahagian belakang >Tutorial Python >Analisis Alur Tayar dengan Kepintaran Buatan dalam Python!

Analisis Alur Tayar dengan Kepintaran Buatan dalam Python!

Barbara Streisand
Barbara Streisandasal
2024-11-03 07:30:30457semak imbas

Analisis bunga tayar adalah tugas penting untuk mengenal pasti haus dan memastikan keselamatan, terutamanya dalam kenderaan yang melakukan perjalanan jauh. Menggunakan Kecerdasan Buatan (AI) dan Python, kami boleh mengautomasikan proses ini dengan cepat dan tepat. Di sini, kami menunjukkan cara model rangkaian neural convolutional (CNN), berdasarkan seni bina VGG16, mengklasifikasikan tayar kepada "baharu" atau "terpakai", manakala OpenCV membantu menganalisis imej untuk mengukur kedalaman bunga.

Teknologi Digunakan

  • Python:
    Bahasa pengaturcaraan popular untuk AI dan Pembelajaran Mesin, terutamanya untuk perpustakaan canggihnya.

  • OpenCV:
    Digunakan untuk memproses imej, mengesan kontur dan mengukur kawasan bunga tayar.

  • TensorFlow dan Keras:
    Perpustakaan pembelajaran mendalam. Kami menggunakan Keras untuk bekerja dengan model VGG16, CNN terlatih untuk pengecaman imej.

  • Matplotlib:
    Pustaka untuk visualisasi data dan penciptaan graf, menjadikan hasil klasifikasi lebih boleh ditafsirkan.

Kod:

1. Muatkan dan Pra-proses Imej:
Imej tayar dimuat naik dan diubah saiz kepada format standard (150x150 piksel) yang diperlukan untuk input model. Saiz semula ini mengekalkan nisbah bidang dan menormalkan nilai piksel antara 0 dan 1 untuk memudahkan model diproses.

import cv2
import numpy as np
from tensorflow.keras.applications.vgg16 import preprocess_input

def process_image(image_path, target_size=(150, 150)):
    image = cv2.imread(image_path)
    if image is None:
        print(f"Erro ao carregar a imagem: {image_path}. Verifique o caminho e a integridade do arquivo.")
        return None, None

    image_resized = cv2.resize(image, target_size, interpolation=cv2.INTER_AREA)
    image_array = np.array(image_resized) / 255.0  
    image_array = np.expand_dims(image_array, axis=0)
    image_preprocessed = preprocess_input(image_array)

    return image_resized, image_preprocessed

2. Klasifikasi dengan Model Terlatih:
Kami memuatkan model rangkaian saraf konvolusi yang telah terlatih, yang diperhalusi untuk mengklasifikasikan tayar sebagai "baru" atau "terpakai". Model ini memberikan skor keyakinan yang menunjukkan kebarangkalian bahawa tayar adalah baharu.

from tensorflow.keras.models import load_model

model = load_model('pneu_classificador.keras')
prediction = model.predict(image_preprocessed)

3. Analisis Kontur untuk Kedalaman Alur:
Pengesanan kedalaman alur dilakukan menggunakan teknik penglihatan komputer. Imej skala kelabu melalui penapis kabur dan pengesanan tepi Canny, yang membantu mengenal pasti kontur alur. Kami kemudian mengira jumlah luas kontur, yang membolehkan kami menganggarkan haus.

def detect_tread_depth(image):
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    edges = cv2.Canny(blurred, 30, 100)
    contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    total_area = sum(cv2.contourArea(c) for c in contours if cv2.contourArea(c) > 100)
    return total_area

4. Visualisasi dan Analisis Keputusan:
Selepas mengklasifikasikan dan menganalisis setiap tayar, hasilnya dipaparkan dengan Matplotlib. Kami membandingkan skor keyakinan pengelasan dan kawasan alur yang dikesan dalam setiap imej.

import matplotlib.pyplot as plt

confidence_scores = []
total_area_green_values = []
predicted_classes = []

for image_file in os.listdir(ver_dir):
    image_path = os.path.join(ver_dir, image_file)
    image_resized, image_preprocessed = process_image(image_path)
    if image_preprocessed is not None:
        prediction = model.predict(image_preprocessed)
        confidence_score = prediction[0][0]
        total_area_green = detect_tread_depth(image_resized)

        predicted_class = "novo" if total_area_green > 500 else "usado"
        confidence_scores.append(confidence_score)
        total_area_green_values.append(total_area_green)
        predicted_classes.append(predicted_class)

        plt.imshow(cv2.cvtColor(image_resized, cv2.COLOR_BGR2RGB))
        plt.title(f"Pneu {predicted_class} (Área: {total_area_green:.2f}, Confiança: {confidence_score:.2f})")
        plt.axis('off')
        plt.show()

fig, axs = plt.subplots(2, 1, figsize=(10, 10))

axs[0].bar(os.listdir(ver_dir), confidence_scores, color='skyblue')
axs[0].set_title('Confiança na Classificação')
axs[0].set_ylim(0, 1)
axs[0].tick_params(axis='x', rotation=45)

axs[1].bar(os.listdir(ver_dir), total_area_green_values, color='lightgreen')
axs[1].set_title('Área Verde Detectada')
axs[1].tick_params(axis='x', rotation=45)

plt.tight_layout()
plt.show()

Análise de Sulco de Pneus com Inteligência Artificial em Python!

Análise de Sulco de Pneus com Inteligência Artificial em Python!

Análise de Sulco de Pneus com Inteligência Artificial em Python!

Projek saya ini menunjukkan cara mengautomasikan analisis haus tayar menggunakan AI dan penglihatan komputer, menghasilkan pengelasan yang tepat dan pantas. Seni bina VGG16 dan penggunaan OpenCV adalah kunci untuk menggabungkan ketepatan model rangkaian saraf dengan analisis sulci visual. Sistem ini boleh dikembangkan untuk pemantauan berterusan merentas armada kenderaan, membantu mengurangkan kemalangan dan mengoptimumkan pengurusan tayar.

Atas ialah kandungan terperinci Analisis Alur Tayar dengan Kepintaran Buatan dalam Python!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn