Erste Tests mit einer KI: Grafische Datenverarbeitung

Erste Tests mit einer KI: Grafische Datenverarbeitung

Ich kann eines mit Sicherheit sagen: Ich bin kein Programmierer!

Meine Expertise liegt ganz klar im Bereich der Netzwerk-Analyse. Aber es ist schon interessant, wie schnell eine KI trainiert werden kann. Gerade in Python gibt es viele unterstützende Module, die man importieren kann.

Ich habe mir eine kleine Aufgabe gestellt, um praktische Erfahrungen zu sammeln: Ich möchte auf meinem Grundstück erkennen, ob sich dort jemand aufhält, der nicht zu den bekannten Personen/Tieren gehört.

Das ging einfacher als erwartet. Hier der von mir verwendete Code:

import cv2

# Load pre-trained model 'haarcascade_frontalface_alt.xml" for face recognition / classification
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')

# Create object for default camera 0
video_capture = cv2.VideoCapture(0)

while True:
    # Get frame from video
    ret, frame = video_capture.read()

    # Define grey for face box
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Detect faces
    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.1,
        minNeighbors=5,
        minSize=(30, 30),
        flags=cv2.CASCADE_SCALE_IMAGE
    )

    # Append rectangle to each face in a frame
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)

    # Show frame as video stream
    cv2.imshow('Video', frame)

    # Run program until user enters 'q'
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# If program exists while loop, release video capture and close all windows
video_capture.release()
cv2.destroyAllWindows()

Bereits nach der Installation von OpenCV sind viele vortrainierte Modelle vorhanden. Auch die Erkennung von Gesichtern.

Hier kann man nun direkt an den Parametern drehen, und schauen wie sich FalsePositives minimieren lassen.

Das Model konnte ich später auch erweitern, sodaß es möglich war auch individuelle Personen zu unterscheiden.

... das geht noch besser...