HivisionIDPhotos: Ein leichtgewichtiges KI-Tool zur Erstellung von Ausweisfotos
HivisionIDPhotos: ein leichtes und effizientes KI-Tool für ID-Fotos. KI.
Auf einen Blick
- Was ist das?
- Ein Open-Source-Projekt auf Python-Basis, das KI-Modelle für das Freistellen von Porträts, Größenanpassung und Layout-Erstellung nutzt und Offline-Inferenz auf der CPU unterstützt.
- Für wen ist es gedacht?
- HivisionIDPhotos wird unter der Apache-2.0-Lizenz veröffentlicht, die die freie Nutzung und Änderung des Kerncodes erlaubt, aber das Projekt selbst bietet keinen kommerziellen Support oder Sicherheitsgarantien; die tatsächliche Bereitstellung und Leistung hängen von der Umgebung und der offiziellen Dokumentation ab.
- Darf ich es kommerziell nutzen?
- Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 75 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Projektpositionierung: Ein KI-Workflow für Ausweisfotos
HivisionIDPhotos ist ein in Python geschriebenes KI-Tool, das die Fotosituation des Benutzers erkennt, das Porträt freistellt und Ausweisfotos generiert, die bestimmten Größenanforderungen entsprechen. Die Repository-Beschreibung definiert es als einen leichten und effizienten KI-Algorithmus für Ausweisfotos. Das Repository hat derzeit über 20.000 Sterne und mehr als 2.000 Forks, aber das Projekt wird aktiv weiterentwickelt und ist nicht archiviert. Die README listet vier Kernfunktionen auf: leichtes Freistellen, Generierung von Standard-Ausweisfotos und Sechs-Zoll-Layout-Fotos basierend auf verschiedenen Größen, Unterstützung für vollständig offline oder Edge-Cloud-Inferenz sowie Beauty-Effekte und intelligenten Wechsel der formellen Kleidung, die noch ausstehen. Die letzten beiden sind in der README als wartend markiert und wurden nicht implementiert. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Modelle und Gewichte: Drei optionale Freistellungsmodelle
Das Projekt ist für das Freistellen auf externe vortrainierte Modelle angewiesen. Die README listet drei optionale Gewichtedateien auf. Die MODNet-Porträt-Freistellungsgewichte und eine projekttrainierte MODNet-Variante, die für den Ersatz von Volltonhintergründen optimiert ist, sind beide 24,7 MB groß und können direkt von der GitHub-Releases-Seite des Projekts heruntergeladen werden. Das dritte Modell basiert auf RMBG-1.4 von BRIA AI, ist 176,2 MB groß und muss von Hugging Face heruntergeladen und umbenannt werden. Diese Gewichtedateien müssen manuell im Verzeichnis hivision/creator/weights platziert werden; das Projekt bietet kein Skript zum automatischen Herunterladen aller Gewichte, sondern nur einen Befehl zum Herunterladen bestimmter Modelle. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Inferenzablauf: Vom Eingabefoto zum Ausweisfoto
Der Python-Inferenz-Einstiegspunkt ist das Skript inference.py, mit Kernparametern wie Eingabe- und Ausgabepfad, Inferenztyp und Modellauswahl. Es gibt vier Inferenztypen: idphoto, human_matting, add_background und generate_layout_photos, die der Ausweisfoto-Generierung, dem Freistellen von Porträts, dem Hinzufügen von Hintergründen und der Layout-Generierung entsprechen. Die Ausweisfoto-Generierung gibt ein Standard-Ausweisfoto und ein hochauflösendes transparentes PNG mit vier Kanälen aus. Der Freistellungsmodus gibt ein transparentes PNG mit vier Kanälen aus, der Hintergrundmodus akzeptiert ein transparentes PNG und gibt ein Bild mit drei Kanälen und farbigem Hintergrund aus, und der Layout-Modus generiert ein Sechs-Zoll-Layout-Foto. Die README erwähnt auch einen Typ idphoto_crop, der jedoch nicht in den Kernparametern aufgeführt ist und verifiziert werden muss. Alle Befehlsbeispiele verwenden python inference.py, aber die genauen Parameterkombinationen müssen in der Dokumentation überprüft werden. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Gesichtserkennungsmodelle: Drei Optionen
Das Projekt unterstützt drei Gesichtserkennungsmodelle, um das Gesicht zu lokalisieren und das Freistellen sowie die Größenanpassung zu unterstützen. MTCNN ist das Standardmodell, läuft offline, bietet hohe CPU-Inferenzleistung, aber relativ geringere Genauigkeit. RetinaFace ist ebenfalls offline, hat CPU-Inferenzzeiten im Sekundenbereich, bietet höhere Genauigkeit und erfordert das Herunterladen einer zusätzlichen Gewichtedatei. Face++ ist eine Online-API von Megvii mit höherer Erkennungsgenauigkeit, erfordert jedoch einen API-Schlüssel und Netzwerkverbindung. Die README enthält einen Link zur Face++-Dokumentation, erklärt aber nicht, wie der Schlüssel konfiguriert wird; der Docker-Bereitstellungsabschnitt erwähnt die Umgebungsvariablen FACE_PLUS_API_KEY und FACE_PLUS_API_SECRET. Die Wahl eines anderen Gesichtserkennungsmodells beeinflusst Inferenzgeschwindigkeit und Genauigkeit, wobei die genauen Leistungsunterschiede in der Leistungstabelle der README dokumentiert sind. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Bereitstellung: Lokal, Docker und API-Dienst
Das Projekt bietet mehrere Bereitstellungspfade. Für die lokale Ausführung ist Python 3.7 oder höher erforderlich, wobei Python 3.10 empfohlen wird; unterstützt werden Linux, Windows und macOS. Nach der Installation der Abhängigkeiten und dem Herunterladen der Gewichtedateien startet python app.py die Gradio-Demo-Oberfläche, oder python deploy_api.py startet den API-Backend-Dienst. Die Docker-Bereitstellung unterstützt das Ziehen des Images linzeyi/hivision_idphotos von Docker Hub, das Erstellen aus dem Dockerfile oder die Verwendung von Docker Compose. Bei Docker-Ausführungen können Portzuordnungen angegeben werden, z. B. Port 7860 für den Gradio-Dienst und Port 8080 für die API. Die README erwähnt auch die Umgebungsvariable RUN_MODE; wenn sie auf beast gesetzt ist, geben die Gesichtserkennungs- und Freistellungsmodelle den Speicher nicht frei, was die nachfolgende Inferenz beschleunigt, aber mindestens 16 GB RAM erfordert. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Gradio-Demo und Anpassung
Die Gradio-Demo-Oberfläche ist der interaktive Einstiegspunkt des Projekts; durch Ausführen von python app.py wird eine lokale Webseite generiert. Das README-Änderungsprotokoll zeigt, dass zwischen September und November 2024 Funktionen hinzugefügt wurden, darunter Drucklayout-Optionen, Beauty-Parameter, Base64-Bild Eingabe, Layout-Zuschnittlinien, Beast-Modus, DPI-Parameter, Teilen von Vorlagenfotos, amerikanische Hintergründe, benutzerdefinierte Hintergrundfarbe in HEX, Gesichtsrotationsausrichtung, Millimetergrößen Eingabe und Anpassungen von Helligkeit, Kontrast und Schärfe. Die meisten dieser Funktionen sind direkt in die Gradio-Oberfläche integriert und erfordern keine Codeänderungen. Benutzerdefinierte Größen und Farben können durch Ändern von CSV-Dateien definiert werden, wobei die genauen Pfade im Q&A-Abschnitt der README erläutert werden. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Community-Ökosystem und Lizenz
Die Projektseite listet mehrere von der Community beigesteuerte Erweiterungen auf, darunter einen ComfyUI-Workflow, ein WeChat-Mini-Programm, ein Uniapp-Frontend, eine C++-Version, eine Windows-GUI und ein Synology-NAS-Bereitstellungs-Tutorial, die alle in separaten GitHub-Repositories gehostet werden. Das Projekt selbst ist unter Apache-2.0 lizenziert. Gemäß dem Lizenztext wird den Benutzern eine unbefristete, weltweite, nicht-exklusive, kostenlose, lizenzgebührenfreie, unwiderrufliche Urheberrechtslizenz gewährt, um den Code zu reproduzieren, abgeleitete Werke zu erstellen, öffentlich anzuzeigen, aufzuführen, zu unterlizenzieren und zu verbreiten. Die Lizenz enthält auch eine Patentgewährung, besagt jedoch, dass die Patentlizenz endet, wenn ein Benutzer ein Patentverfahren gegen das Projekt einleitet. Die Lizenz bietet keine Garantie- oder Support-Zusagen, und die README erwähnt keine Sicherheitsupdates oder Prozesse zur Behandlung von Schwachstellen. HivisionIDPhotos ist im Repository Zeyi-Lin/HivisionIDPhotos dokumentiert. Die README nennt den Standard-Branch master, die verwendete Sprache Python und die Lizenz Apache-2.0. Die veröffentlichten Angaben beziehen sich auf den Stand der eingelesenen Projektdatei.
Redaktionelles Fazit
HivisionIDPhotos wird unter der Apache-2.0-Lizenz veröffentlicht, die die freie Nutzung und Änderung des Kerncodes erlaubt, aber das Projekt selbst bietet keinen kommerziellen Support oder Sicherheitsgarantien; die tatsächliche Bereitstellung und Leistung hängen von der Umgebung und der offiziellen Dokumentation ab.
Community-Notizen