`Dieser Artikel wird auch hier vorgestellt. `` https://cloud.flect.co.jp/entry/2020/03/31/162537
Hallo zusammen.
Gegenwärtig arbeitet unser Unternehmen auf Ersuchen des Gouverneurs von Tokio grundsätzlich von zu Hause aus, um die Ausbreitung einer neuen Coronavirus-Infektion zu verhindern. Es gibt viele Leute, die ähnliche Maßnahmen ergreifen, und ich denke, es gibt verschiedene Schwierigkeiten, aber ich würde gerne zusammenarbeiten, um dieses schwierige Lied zu überwinden.
Übrigens, wenn Sie längere Zeit von zu Hause aus arbeiten, können Sie in der Regel gestresst sein, z. B. wenn Sie nicht in der Lage sind, gelegentliche Gespräche zu führen, die täglich geführt werden. In einer solchen Situation möchte ich eine Situation schaffen, in der man lachen und eine Pause machen kann, also möchte ich eine kleine Geschichte vorstellen.
Der Inhalt ist eine Methode zum Einbinden, Verarbeiten und Bereitstellen einer Webcam in Videokonferenzen wie Microsoft Teams und Zoom. Da ich ein Linux-Benutzer bin, werde ich es dieses Mal in Linux einführen. Ich denke, andere Plattformen werden irgendwo eingeführt.
Außerdem wähle ich die Zeit und den Fall, um "eine Situation zu schaffen, in der sogar jemand lachen und eine Pause machen kann", also bitte auf eigenes Risiko (^ _ ^) /.
Ich denke, es funktioniert gut auf den meisten Linux-Systemen, aber die Umgebung, mit der ich gearbeitet habe, ist Debian Buster.
$ cat /etc/debian_version
10.3
Wenn Python3 nicht enthalten ist, installieren Sie es bitte.
$ python3 --version
Python 3.7.3
Dieses Mal werden wir ein virtuelles Webcam-Gerät namens v4l2loopback verwenden. https://github.com/umlaeute/v4l2loopback
Wir müssen das virtuelle Webcam-Gerät anhand der tatsächlichen Webcam identifizieren. Überprüfen Sie daher zuerst die Gerätedatei auf die tatsächliche Webcam. Im folgenden Beispiel scheinen video0 und video1 der eigentlichen Webcam zugeordnet zu sein.
$ ls /dev/video*
/dev/video0 /dev/video1
Lassen Sie uns nun den v4l2-Loopback einführen. Zuerst git klonen, machen und installieren.
$ git clone https://github.com/umlaeute/v4l2loopback.git
$ cd v4l2loopback
$ make
$ sudo make install
Laden Sie dann das Modul. Derzeit scheint es notwendig zu sein, exklusive_caps = 1 hinzuzufügen, um dies insbesondere bei Chrome zu erkennen. [https://github.com/umlaeute/v4l2loopback/issues/78]
sudo modprobe v4l2loopback exclusive_caps=1
Nachdem das Modul geladen ist, überprüfen wir die Gerätedatei. Im folgenden Beispiel wurde video2 hinzugefügt.
$ ls /dev/video*
/dev/video0 /dev/video1 /dev/video2
ffmpeg Der einfachste Weg, Daten an ein virtuelles Webcam-Gerät zu senden, ist die Verwendung von ffmpeg. Bitte installieren Sie es schnell mit apt-get etc.
Wenn diesmal ein Lächeln erkannt wird, werde ich versuchen, das Bild zu verarbeiten. Wenn ein Lächeln erkannt wird, wird im Video eine Lächelnmarke angezeigt.
Klonen Sie zunächst die Dateien im folgenden Repository, um das Modul zu installieren.
$ git clone https://github.com/dannadori/WebCamHooker.git
$ cd WebCamHooker/
$ pip3 install -r requirements.txt
Holen Sie sich die Kaskadendatei von hier. Einzelheiten zur Kaskadendatei finden Sie in der opencv-Formel. https://github.com/opencv/opencv/tree/master/data/haarcascades
$ wget https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml -P models/
$ wget https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_smile.xml -P models/
Lassen Sie uns das Lächeln von Mr. Toya ausleihen.
$ wget https://4.bp.blogspot.com/-QeM2lPMumuo/UNQrby-TEPI/AAAAAAAAI7E/cZIpq3TTyas/s160/mark_face_laugh.png -P images/
Es wäre schön, eine solche Ordnerstruktur zu haben.
$ ls -1
haarcascade_frontalface_default.xml
haarcascade_smile.xml
mark_face_laugh.png
webcamhooker.py
Die Ausführung ist wie folgt. Geben Sie die tatsächliche Webcam-Gerätenummer in --input_video_num ein. Geben Sie für / dev / video0 die nachfolgende 0 ein. Geben Sie für --output_video_dev die Gerätedatei des virtuellen Webcam-Geräts an. Verwenden Sie außerdem Strg + C, um den Vorgang zu beenden.
$ python3 webcamhooker.py --input_video_num 1 --output_video_dev /dev/video2
Wenn Sie den obigen Befehl ausführen, wird ffmpeg ausgeführt und das Video wird an das virtuelle Kameragerät gesendet.
Wenn Sie einen Video-Chat durchführen, wird in der Liste der Videogeräte so etwas wie Dummy ~ ~ angezeigt. Wählen Sie ihn daher aus. Dies ist ein Beispiel für Teams. Stellen Sie sich links und rechts die Bildschirme jedes Teilnehmers vor. Der Benutzer auf der linken Seite verwendet dieses virtuelle Kameragerät. Die rechte Seite ist die Empfangsseite. Wenn Sie lächeln, sehen Sie ein Lächeln. Großer Erfolg (^ _ ^) /.
Jetzt, da die Kommunikation von Angesicht zu Angesicht schwierig ist, hoffe ich, dass Sie sie mit Video-Chat noch mehr genießen können. Dieses Mal habe ich ein Beispiel für das Erkennen eines Lächelns und das Verarbeiten des Bildes gezeigt, aber ich denke, dass verschiedene Verarbeitungen je nach Gerät mit opencv und anderen Tools durchgeführt werden können. Bitte probieren Sie verschiedene Dinge aus!
Ich habe hier auf die Erkennung von Lächeln mit opencv verwiesen. https://qiita.com/fujino-fpu/items/99ce52950f4554fbc17d
Informationen zum Einfügen von Bildern mit opencv finden Sie hier. https://qiita.com/a2kiti/items/9672fae8e90c2da6f352
Recommended Posts