¡Contra 996! Qi Jian Liver monitorea la cara del jefe y corta automáticamente el programa de escritorio

Hace dos días, mientras navegaba por github, el sitio de redes sociales homosexuales más grande del mundo, encontré un programa antiguo. Este es un programa de captura de peces escrito por un hermano japonés en 2017 para monitorear al jefe.

El programa es muy simple, ejecute este programa, puede usar la cámara para monitorear al jefe, cuando se encuentra el jefe, cambiará automáticamente el escritorio.

El siguiente video es una simulación, el efecto es demasiado realista, no lo imites.

Deje que el jefe se llene de alegría cada vez que lo vea, el código fuente está disponible y todos pueden modificarlo por sí mismos.

Más tarde se descubrió que este programa también estaba en las principales noticias.

1. Modificación del programa

Hoy compartiré con ustedes el programa de este búnker.

Debido a que el tiempo es demasiado largo, muchas funciones han quedado obsoletas.Después de reparar el programa CherryPick, ahora puede ejecutarse normalmente.

La configuración y el funcionamiento también son muy sencillos, para configurar el entorno solo es necesario ejecutar las siguientes instrucciones:

conda crear -n venv python=3.5
fuente activar venv
conda instalar -c https://conda.anaconda.org/menpo opencv3
conda instalar -c conda-forge tensorflow
pip instalar -r requisitos.txt

Después de configurar el entorno, primero entrena la cara del jefe:

python jefe_tren.py

Entonces puedes comenzar a monitorear al jefe:

python camera_reader.py

El procedimiento es muy simple

2. Sui Sui Nian - ¿Por qué no usa Python para encontrar un trabajo sin una maestría?

Leíste bien, el lenguaje python se usa aquí para desarrollar.

Si decide estudiar su código fuente más adelante, también encontrará que el código fuente tiene solo 500 líneas.

También se puede ver desde aquí que el significado de un artículo que escribí una vez "¿Por qué te recomiendo que aprendas Python, pero no que uses Python para encontrar un trabajo?" "

Python es demasiado simple. Nunca he tocado un programa como este reconocimiento de retratos, pero puedo modificarlo simplemente revisando la documentación API de los módulos utilizados. La duración total es solo sábado y un día.

Como dice el refrán, el éxito también es Xiao He, y el fracaso también es Xiao He.

Una API demasiado simple inevitablemente no requerirá que los usuarios entiendan sus principios internos.

Por ejemplo, puedes usar una oración para entrenar la cara del jefe, ¿sabes cómo entrenarla?

Simplemente aprender a usar la API no es competitivo para Python, y los únicos que son competitivos son aquellos que realmente pueden implementar estas API.

Esta es la razón por la que los requisitos de contratación para puestos como el aprendizaje automático y el reconocimiento de imágenes son todos maestros.

Puede realizar el reconocimiento facial con solo una oración, pero si desea optimizar y mejorar la tasa de éxito del reconocimiento facial, estará ciego. Y lo que necesitan estos puestos es precisamente gente que optimice y cree algoritmos.

3. Se acabó el tiempo de descarga

Aunque el programa es simple, aún se encontrarán muchos problemas durante todo el proceso de configuración y ejecución. Mis registros durante la configuración y el funcionamiento se colocarán en la cuarta parte para su referencia.

Puedes ir a mi GitHub para descargar el código fuente que he reparado:

https://github.com/harvic/BossSensor

También puede escanear el código QR a continuación, ir a mi trompeta [Qi Jian Za Tan] y responder [013] para obtener el código fuente y la colección de precauciones de configuración

(Responda [013], obtenga la colección de documentos de código fuente/precauciones)

4. Precauciones para la configuración/operación

Esta parte está escrita en sintaxis MarkDown, que se incluye en las notas obtenidas de la respuesta 013 anterior.

El contenido está escrito en detalle. Se recomienda que lo lea detenidamente al configurar\ejecutar. Si lo lee ahora, solo se confundirá.

1. Proceso de configuración

1. Instalar Anaconda

(1) Vaya a https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ para descargar la versión Anaconda3-4.1.0

Aviso:

  • ¡Comienza con Anaconda3, no con Anaconda2! ! ! ! La versión de Python correspondiente a esta versión es la 3.5.1.

  • Durante el proceso de instalación, preste atención para marcar la casilla de verificación para instalar y configurar automáticamente Python 3.5.1. Asegúrese de marcarlo, de lo contrario, puede ser diferente del entorno en este artículo y causar problemas desconocidos.

2. Ejecutar en cmd 

conda create -n venv python=3.5

(1), primero corte el directorio de ejecución de cmd al directorio raíz del BossSensor que descargó:

(2), ejecución conda create -n venv python=3.5 

Le preguntará si desea continuar, ingrese y para continuar con el programa. Los artículos subsiguientes tendrán este tipo de consulta, simplemente ingrese y directamente

3. Ejecución activate venv

4. Ejecución
 conda install -c https://conda.anaconda.org/menpo opencv3

5. Ejecución
 conda install -c conda-forge tensorflow

6. Ejecución 
pip install -r requirements.txt

Hasta ahora, no he informado ningún error. Estoy en un entorno win10. Si informa un error, puede estar relacionado con su entorno. Debe encontrar una solución por sí mismo.

2. Colección de imágenes del jefe de entrenamiento

1. Poner la foto de perfil de la persona a capturar

(1) Para el primer intento, se recomienda que primero pruebe con sus propias imágenes y realice primero todo el proceso. Coloque la imagen en la carpeta 1. BossSensor\data\boss

Nota: el nombre del archivo no puede contener chino; de lo contrario, informará el error "AttributeError: 'NoneType' object have no atributo 'shape'"

(2), coloque al menos 10 imágenes, si desea cambiar la cantidad de imágenes de capacitación, puede ir a boss_train.py, establecer train(self, dataset, batch_size=10, nb_epoch=40, data_augmentation=True), batch_size = 10 de 10 se modifica, este 10 es el número predeterminado de imágenes de entrenamiento, por supuesto, cuantas más imágenes, mayor será la precisión

Nota: Si el error "'ProgbarLogger' sin atributo 'log_values'" todavía se informa durante la ejecución, significa que la cantidad de imágenes no es suficiente, puede intentar agregar algunas imágenes más.

2. Después de que todo esté listo, ejecute python boss_train.py

Después de una ejecución exitosa, el resultado es el siguiente:

3. Captura al jefe

El comando para capturar al jefe es que python camera_reader.pylos siguientes pasos de instalación se deben al proceso de solución de problemas paso a paso después de ejecutar directamente el comando e informar un error.

Por supuesto, también puede ejecutar directamente el comando para capturar al jefe sin leer los pasos a continuación para ver si se informa un error. Es mejor si se puede ejecutar directamente. Si no se puede ejecutar directamente, puede usar mi proceso de solución de problemas e instalación como referencia para ver si se puede resolver.

1. Instale PyQt5 primero, ejecute
 conda install pyqt=5

(1), ejecutar  conda install pyqt=5 e instalar PyQt5

La versión PyQt4 utilizada por el autor original, debido a que la versión es demasiado antigua, la modifiqué a la versión PyQt5 aquí y modifiqué las funciones originales para garantizar un funcionamiento normal, por lo que si la compara con la versión original del autor, encontrará allí son cambios aquí.

2. Instalar openCV y ejecutar
conda install py-opencv=3.4.2

En este momento, si ejecuta el comando para capturar el programa jefe, encontrará un error:

Es por la falta de opencv, entonces necesitamos instalar opencv2

implementar conda install py-opencv=3.4.2

3. Actualizar scikit-learn y ejecutar
conda update scikit-learn

Si vuelve a ejecutar el programa de entrenamiento del jefe, encontrará un error:

Ejecutar  conda update scikit-learnactualización scikit-learn

4. Instala keras y ejecuta 
pip install keras==2.2.4

Ejecute el comando del jefe de monitoreo nuevamente y  se informará ImportError: No module named 'keras'un error

Instale la versión keras2.2.4,pip install keras==2.2.4

¡Asegúrate de prestar atención, la versión de keras no puede estar equivocada! ! ! ! Después de cometer un error, surgirán otros problemas debido al uso inconsistente de la función.

5. Instalar tensorflow,
conda install tensorflow

Cuando ejecute el comando del jefe de monitoreo nuevamente,  se informará ImportError: No module named 'tensorflow'un error

Instalar tensorflow,
ejecutar conda install tensorflow

6. Ejecuta el comando del jefe de monitoreo, ¡éxito! ! !

Ejecutar python camera_reader.py, comenzar a monitorear al jefe

(1) Supervisar continuamente al jefe

Después de ejecutar el comando, la interfaz es la siguiente:

Para que todos sepan, el programa actual está monitoreando, por lo que sigue imprimiendo el registro "Está monitoreando".

En este momento, encontrará que su cámara está encendida porque su luz está encendida

(2) Llega el jefe

Cuando llegue el jefe, el escritorio se cortará instantáneamente a la imagen preestablecida s_pycharm.jpg y se mostrará en pantalla completa

En este punto, el código se detiene:

En este punto, todo el programa ha terminado de ejecutarse. A continuación, hablaré sobre cómo modificar el código. Algunos amigos que no han tocado Python pueden ayudarlo a investigar.

7. Modificar el código

(1) Modificar la imagen de visualización

Si desea modificar la imagen que aparece cuando aparece el jefe, es muy simple, solo necesita mantener el nombre del archivo s_pycharm.jpg sin cambios y reemplazar la imagen original.

(2) ¿Por qué el programa solo se ejecuta una vez, se puede ejecutar en un bucle?

¿Por qué el programa se ejecuta una sola vez? La razón todavía depende del código.

Cuando se encuentra una versión anterior, se llamará al método show_image()

El método show_image() está en image_show.py:

Se puede ver en este código que después de ejecutar la visualización de la imagen, el autor llama sys.exit(app.exec_())para salir de todo el programa principal.

Ahora que sabe dónde está el motivo, ¿puede hacer que continúe ejecutándose nuevamente después de que el jefe desaparezca?

Pruébalo y deja tarea.

 


Seleccioné cuidadosamente los cursos en video y los libros electrónicos en todas las direcciones de la computadora, desde el combate inicial, avanzado y real. ¡Para aprender! ! !

Solo preste atención a la cuenta pública de WeChat [Qijian Zatan] y responda a las palabras clave que necesita, como "Android", "java", "ReactNative", "H5", "javaweb", "Entrevista", "Aprendizaje automático" ", "interfaz web", "patrón de diseño" y otras palabras clave para obtener la información correspondiente. (Todos los materiales se envían gratis, el reenvío y la publicidad depende de la voluntad de cada uno)

Supongo que te gusta

Origin blog.csdn.net/harvic880925/article/details/109717216
Recomendado
Clasificación