[PYTHON] Es ist schwierig, einen grünen Bildschirm zu installieren, daher habe ich nur das Gesicht ausgeschnitten und es dem Hintergrundbild überlagert

Ich erkannte mein Gesicht von der Webkamera und versuchte, nur das Gesicht auf dem Hintergrundbild zu überlagern. Wenn Sie das Video als Webkamera an die Webkonferenz-App übergeben, können Sie problemlos in der Webkonferenz angezeigt werden. treeman_example.png Sie können auch ein Baumweiser sein, der (?) Sein wollte, als Sie klein waren.

Hinweis) Es gibt keine zusätzliche Funktion für die Augenbinde. Die Augenbinde wurde später für diesen Artikel von Hand zur Schaufel hinzugefügt.

Aufgabe

Seit Anfang März bin ich für Webkonferenzen zu Hause. Der Raum war so schmutzig, dass ich es ohne Video schaffte, nur mit Audio- und Bildschirmfreigabe. Ich bin jedoch der Meinung, dass die Vertrauensersparnisse, die ich bisher hatte, nur durch die Verwendung der Webkonferenz zurückgezogen wurden. Ich bin sehr froh zu sehen, dass mir ab und zu jemand mein Gesicht zeigt. Ich möchte auch auftauchen. Aber das Zimmer ist zu klein und schmutzig!

Normalerweise geben Sie den Raum auf und räumen ihn auf oder installieren einen grünen Bildschirm und machen ein Video mit Chroma-Key-Komposition. Aber ich kann es nicht loswerden. .. ..

Das im Unternehmen weit verbreitete Webkonferenzsystem ist WebEx. Es gibt keine Hintergrundkonvertierungsfunktion wie Zoom, und ich habe keine Lust, sie sofort wie Teams zu entwickeln. .. .. Ich benutze gelegentlich Zoom, aber die Leistung der Maschine reicht nicht aus und ein grüner Bildschirm ist unerlässlich. Es gibt jedoch keinen Platz, um einen Green Screen zu installieren. .. ..

Täuschung

Übrigens schneidet Zoom nicht nur das Gesicht, sondern auch die Hände und den Oberkörper aus dem Hintergrund aus. Ist also eine schwere Verarbeitung notwendig? ?? Wenn Sie es nur durch Gesichtserkennung teilen, sollten Sie es auch auf einem schwachen PC ohne so viel Last tun können! ??

Konzept

So was.

Webkamera-> Gesichtsbereichserkennung mit OpenCV-> Nur Gesichtsbereich extrahieren und auf Hintergrundbild überlagern-> Ausgabe als Webkamerabild-> Wird mit WebEx und Zoom verwendet

Wenn man sich [diesen Blog-Beitrag] ansieht (https://medium.com/analytics-vidhya/facial-landmarks-and-face-detection-in-python-with-opencv-73979391f30e), scheint die Gesichtserkennung mit OpenCV bald möglich zu sein. .. Ich habe in der Python Imaging Library (Pillow) geschnitten und überlagert. Wenn Sie es ungefähr 5 Mal pro Sekunde verarbeiten können, sollte es genug Video für eine Webkonferenz sein. Was kann ich nun tun, um das erstellte Bild als Webkamerabild auszugeben? OpenCV scheint eine solche Funktion nicht zu haben. Ich konnte keine Bibliothek finden, die von Python auf Mac oder Windows verwendet werden kann.

Es ist nicht sehr intelligent, aber mit MacOS scheint es, dass CamTwist einen Teil des Bildschirms erfassen und von anderer Software als Webkamera erkennen und weitergeben kann.

Ich versuchte es

Ich habe den Code auf [GitHub] hochgeladen (https://github.com/aerialist/treeface_cam). Der Teil, den ich geschrieben habe, ist Python, aber ich benutze OpenCV und Qt. Da es in GW ist, wurde es noch nicht in den eigentlichen Kampf versetzt. Ich frage mich, ob es bald die nächste Webkonferenz sein wird.

Recommended Posts

Es ist schwierig, einen grünen Bildschirm zu installieren, daher habe ich nur das Gesicht ausgeschnitten und es dem Hintergrundbild überlagert
Ich möchte mit Python nur das Gesicht aus einem Personenbild ausschneiden und speichern ~ Gesichtserkennung und Zuschneiden mit face_recognition ~
Ich habe versucht, ein Standbild aus dem Video auszuschneiden
Ich habe eine Funktion zum Trimmen des Bildes von Python openCV erstellt. Verwenden Sie sie daher bitte.
Ich möchte ein Histogramm erstellen und die Normalverteilungskurve darauf überlagern. matplotlib edition
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Wie einfach ist es, ein Medikament auf dem Markt zu synthetisieren?
Ich habe ein POST-Skript erstellt, um ein Problem in Github zu erstellen und es im Projekt zu registrieren
Ich habe GhostScript mit Python ausgeführt, das PDF in Seiten aufgeteilt und es in ein JPEG-Bild konvertiert.
Starten Sie die Webkamera, machen Sie ein Standbild und speichern Sie es lokal
Ich habe ein privates Python-Paket, möchte aber pipenv auf GitHub Actions installieren und ein Docker-Image erstellen
Verwenden Sie Pillow, um das Bild transparent zu machen und nur einen Teil davon zu überlagern
Beachten Sie die Lösung, da Django nicht mit pip installiert werden konnte
Ich habe ein Bildklassifizierungsmodell erstellt und versucht, es auf dem Handy zu verschieben
Definieren Sie den Teilungswert in Django und spiegeln Sie ihn einfach auf dem Bildschirm wider
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Der Hintergrund der Zeichen im Textbild ist überbelichtet, um das Lesen zu erleichtern.
Es war ein Leben, das ich auf AWS Lambda OCR wollte, um die Charaktere zu lokalisieren.
[Rails] v1.0 kam auf Google-Cloud-Vision von Gem heraus, also habe ich versucht, es zu unterstützen
Versuchen Sie zu normalisieren Schneiden Sie das Bild mit einem Scikit-Bild aus (obwohl es unterwegs wütend wird)
So finden Sie heraus, welcher Prozess den localhost-Port verwendet, und stoppen ihn
Ich mag es nicht, mit der Veröffentlichung von Pokemon Go frustriert zu sein, deshalb habe ich ein Skript erstellt, um die Veröffentlichung zu erkennen und zu twittern
Die Installation von Polyglot in der Anaconda-Umgebung von Mac dauerte einen halben Tag. Hinterlassen Sie also eine Notiz
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht
Ich habe ein Tool erstellt, mit dem das Erstellen und Installieren eines öffentlichen Schlüssels etwas einfacher ist.
Als ich versuchte, PIL und matplotlib in einer virtuellen Umgebung zu installieren, war ich süchtig danach.
POST das ausgewählte Bild auf der Website mit mehrteiligen / Formulardaten und speichere es in Amazon S3! !!
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert