Wie kann ich eine saubere Transkriptionslösung (KI) bei mir installieren und in das Tagesgeschäft einbauen? (Whisper – OpenAI)

Vorraussetzung: installiertes Python oder Anaconda.

  1. Anaconda-Prompt starten
  2. pip install -U openai-whisper
  3. pip install setuptools-rust
  4. FFmpeg installieren (Anleitung: https://www.geeksforgeeks.org/how-to-install-ffmpeg-on-windows/)
  5. Anaconda-Prompt zu und im Administrator-Modus starten
  6. setx /m PATH „C:\ffmpeg\bin;%PATH%“ da eintragen und bestätigen

Befehle für für diese Lösung

  1. whisper datei.mp4 –model medium
  2. whisper datei.mp4 –model large
  3. whisper datei.mp4 –device cuda –task translate

Vorteil: diese Offline-KI-Lösung erkennt die Sprache automatisch und beinhaltet eine optionale Übersetzungsfunktion. Stapeltranskriptionen lassen sich mittels eigener Scripte lösen und für 20 Minuten Videotranskript inkl. Übersetzung werden etwas um die 2 Minuten benötigt.

Weiter lesen: https://github.com/openai/whisper

Wie kann ich eine saubere ÜbersetzungsKI bei mir installieren, bedienen und in das Tagesgeschäft implementieren?

Viele Anwendungsfälle und diverse aktuelle Datensicherheitsdebatten zwingen zur Prüfung selbstgehosteter Systeme und wir verwenden „Argos-Translate“ für 2 Szenarien:

(A) Einzelübersetzungen

(B) Stapelübersetzungen: große Datenbanken und Dokumente (DocX, PPTX etc.)

Installation:

Vorraussetzung: installiertes Python oder Anaconda.

Installationsweg bei der Anaconda-Variante

  1. Anaconda Prompt starten
  2. pip install argostranslate // -> Kernsystem
  3. pip install argostranslategui // -> GUI
  4. pip install argos-translate-files // -> Übersetzungssystem für Dateien
  5. Rechtsklick auf Desktop + Neu -> Verknüpfung + „%windir%\System32\cmd.exe „/K“ C:\Users\user\anaconda3\Scripts\activate.bat C:\Users\user\anaconda3″ (User entsprechend austauschen) eintragen und alles bestätigen // -> Anaconda-Prompt
  6. (5) wiederholen und da „%windir%\System32\cmd.exe „/K“ C:\Users\user\anaconda3\Scripts\activate.bat C:\Users\user\anaconda3 && python c:\users\user\anaconda3\scripts\argos-translate-gui “ eintragen (User entsprechend austauschen)
  7. Die Anaconda-GUI starten.
  8. In der GUI auf „Manage Packages“ klicken und alle Sprachdateien downloaden + installieren (der Installprozess läuft automatisch)

Wenn alles fertig ist, lassen sich Texte problemlos über die GUI übersetzen. Die Qualität ist „nahebei“ Deepl und wir haben das System auf die Sprachrichtungen RU -> EN, RU -> DE getestet. Spannend sind auch FS -> EN.

Tensorflow unter Windows mit GPU-Unterstützung laufen lassen

(1) https://www.dll-files.com/cudnn64_8.dll.html, die DLL downloaden

(2) die DLL in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin speichern

(3) pip install tensorflow[and-cuda] (linux)

(4) https://www.tensorflow.org/install/pip#windows-native

(5) https://discuss.tensorflow.org/t/tensorflow-2-13-0-does-not-find-gpu-with-cuda-12-1/18939

conda install -c conda-forge -y zlib-wapi

Gesichts- und Mimikenerkennung mit Python

Vorbereitung

  1. Installation v. cv2, numpy und imutils
  2. Download der xml-Dateien
  3. Organisation der zu analysierenden Videofiles

Code-Anpassungen

  1. „minSize“ beschreibt die Mind.-Gesichtsgröße in Pixel
  2. „minNeighbors“ & „scaleFactor“ beschreibt div. Tuningmetriken
  3. „cv2.VideoCapture“ beschreibt die Quelle. cv2.VideoCapture(0) -> Webcam

Code

import cv2
import numpy as np
import imutils
from tensorflow.keras.models import load_model
# Gesichtserkennungs-Modell laden
# face_detector = cv2.CascadeClassifier(cv2.data.haarcascades + ‚haarcascade_profileface.xml‘)
face_detector = cv2.CascadeClassifier(cv2.data.haarcascades + ‚haarcascade_frontalface_default.xml‘)
# Mimik-Erkennungs-Modell laden
# emotion_classifier = load_model(“, compile=True)
emotion_classifier = load_model(‚fer_model.h5‘, compile=True)
emotion_labels = {0: ‚Angry‘, 1: ‚Disgust‘, 2: ‚Fear‘, 3: ‚Happy‘, 4: ‚Sad‘, 5: ‚Surprise‘, 6: ‚Neutral‘}
# Video-Stream initialisieren
cap = cv2.VideoCapture(„Dateiname“)
while True:
ret, frame = cap.read()
if not ret:
break
# Gesichtserkennung
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_detector.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=1, minSize=(150, 150), flags=cv2.CASCADE_SCALE_IMAGE)
for (x, y, w, h) in faces:
# Gesichtsausschnitt extrahieren
face = gray[y:y + h, x:x + w]
face = cv2.resize(face, (48, 48))
face = face.astype(„float“) / 255.0
face = np.expand_dims(face, axis=0)
face = np.expand_dims(face, axis=-1)
# Mimik erkennen
predictions = emotion_classifier.predict(face)[0]
emotion_probability = np.max(predictions)
label = emotion_labels[np.argmax(predictions)]
# Rechteck um das Gesicht zeichnen
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# Text mit der erkannten Mimik hinzufügen
cv2.putText(frame, label, (x, y – 10), cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 255, 0), 2)
cv2.imshow(‚frame‘, frame)
if cv2.waitKey(1) & 0xFF == ord(‚q‘):
break
cap.release()
cv2.destroyAllWindows()