MatAnyone: herramienta de código abierto para extraer el vídeo para especificar el retrato de destino, generar el vídeo de retrato de destino

Introducción general

MatAnyone es un proyecto de código abierto centrado en la codificación de vídeo, desarrollado por un equipo de investigación del S-Lab de la Universidad Tecnológica de Nanyang (Singapur) y publicado en GitHub. Proporciona a los usuarios capacidades de procesamiento de vídeo estables y eficientes mediante técnicas coherentes de propagación de memoria, y es especialmente bueno en el manejo de tareas de keying específicas de objetivos en fondos complejos. Lanzado en 2025 por investigadores como Peiqing Yang, el proyecto combina algoritmos avanzados de visión por ordenador para escenarios que requieren una segmentación de vídeo de alta calidad, como la posproducción de cine y televisión, la sustitución de fondos virtuales, etc. El principal punto fuerte de MatAnyone reside en su módulo de fusión de memoria, capaz de preservar con precisión los detalles de los límites de los objetos al tiempo que mantiene semánticamente estable la región central. El proyecto ha atraído la atención de las comunidades académicas y de código abierto y se publica bajo la licencia 1.0 de NTU S-Lab, que permite a los usuarios descargar, utilizar y modificar el código de forma gratuita.

MatAnyone: 提取视频指定目标人像的开源工具,生成目标人像视频

 

Lista de funciones

  • Codificación de vídeo especificada por destinoAdmite la codificación de objetos específicos especificada por el usuario, lo que resulta adecuado para la segmentación de vídeo de personas u otros objetivos dinámicos.
  • Transmisión de memoria coherente: Garantizar resultados de codificación coherentes entre fotogramas de vídeo mediante la fusión de memoria adaptativa regional.
  • Tratamiento de límites de alta calidad: Conserva los detalles de los bordes de los objetos y mejora la precisión de la incrustación para la edición de vídeo profesional.
  • Predicción de la máscara del primer fotogramaPredice la máscara alfa de los fotogramas siguientes basándose en la máscara de segmentación del primer fotograma, sin datos auxiliares adicionales.
  • Soporte de código abierto: Se proporciona el código completo y la documentación, lo que permite una optimización definida por el usuario o un desarrollo secundario.
  • Compatibilidad multiplataformaFunciona en múltiples sistemas operativos y los desarrolladores pueden integrarlo fácilmente en los flujos de trabajo existentes.

 

Utilizar la ayuda

Proceso de instalación

MatAnyone es un proyecto de código abierto de GitHub que requiere un entorno básico de programación Python y herramientas Git. Estos son los pasos para instalar MatAnyone:

1. Preparación medioambiental

  • sistema operativoCompatible con Windows, Linux y macOS.
  • dependencia del software::
    • Python 3.8 o superior.
    • Git (para clonar código de GitHub).
    • Conda (recomendado para crear entornos virtuales).
  • requisitos de hardwareSe recomienda el uso de una GPU (por ejemplo, una tarjeta gráfica NVIDIA) para acelerar el proceso de inferencia; una CPU puede funcionar, pero es más lenta.

2. Descarga del código

Abra un terminal o línea de comandos e introduzca el siguiente comando para clonar el repositorio MatAnyone:

git clone https://github.com/pq-yang/MatAnyone.git
cd MatAnyone

Esto descargará los archivos del proyecto en un directorio local.

3. Creación de entornos virtuales

Utiliza Conda para crear y activar un entorno Python independiente y evitar conflictos de dependencias:

conda create -n matanyone python=3.8 -y
conda activate matanyone

4. Instalación de dependencias

En el directorio raíz del proyecto, ejecute el siguiente comando para instalar las librerías Python necesarias:

pip install -r requirements.txt

Dependencias requirements.txt Se incluyen todas las bibliotecas necesarias para el proyecto, como PyTorch, OpenCV, etc. Si encuentra problemas de red, intente cambiar la fuente pip (por ejemplo, utilizando pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt).

5. Descarga de modelos preentrenados

MatAnyone requiere archivos de modelo preentrenados para funcionar. Los autores proporcionan un enlace para descargar el modelo en la página del proyecto (normalmente en README.md), que el usuario tiene que descargar manualmente y colocar en una carpeta especificada (p. ej. models/ (Catálogo). Pasos específicos:

  • Visite la página del proyecto en GitHub (https://github.com/pq-yang/MatAnyone).
  • Encuentra el enlace de descarga del modelo en el README (que puede apuntar a Google Drive o Hugging Face).
  • Descargue y descomprima los archivos del modelo en la carpeta MatAnyone/models/ Catálogo.

6. Verificación de la instalación

Ejecute el siguiente comando para comprobar si el entorno se ha configurado correctamente:

python test.py

Si no aparece ningún error, la instalación se ha completado y puede empezar a utilizarla.

Funciones principales

La función principal de MatAnyone es la incrustación de vídeo especificada por objetivo, y aquí tienes los pasos principales para utilizarla:

Función 1: codificación de vídeo dirigida

  1. Preparar la entrada de vídeo::
    • Coloque el archivo de vídeo que desea procesar (por ejemplo input_video.mp4) en el directorio del proyecto bajo el data/ (puede crear esta carpeta manualmente si no existe).
    • Asegúrate de que el formato de vídeo es compatible (por ejemplo, MP4, AVI) y de que la resolución es moderada (demasiado alta puede requerir más recursos informáticos).
  2. Generar la primera máscara de trama::
    • Utilice una herramienta externa como Photoshop o una herramienta de segmentación de código abierto para generar una máscara de segmentación del objeto de destino para el primer fotograma del vídeo (en formato PNG, con blanco para el área de destino y negro para el fondo).
    • Nombre del archivo de máscara mask_frame1.pngponer en data/masks/ Carpeta.
  3. Ejecutar el comando de tecleado::
    Vaya al directorio del proyecto en el terminal y ejecute el siguiente comando:

    python inference.py --video data/input_video.mp4 --mask data/masks/mask_frame1.png --output output/
    
    • --video Especifica la ruta de entrada de vídeo.
    • --mask Especifica la ruta de la primera máscara de trama.
    • --output Especifica la carpeta de salida y el resultado se guardará como un archivo de vídeo con fondo transparente.
  4. Ver resultados::
    • Una vez finalizado el tratamiento, abra el output/ el vídeo de incrustación generado se almacenará como una secuencia de fotogramas o como un vídeo completo (dependiendo de la configuración).

Función 2: Difusión coherente de la memoria

  • teoríaMatAnyone: MatAnyone garantiza que los resultados de la codificación sean coherentes en la dimensión temporal recordando las características del fotograma anterior y fusionándolas en el procesamiento del fotograma actual.
  • plataforma: No se requiere ninguna configuración adicional, esta función está integrada en el proceso de inferencia. Siempre que se proporcione la máscara del primer fotograma, el programa propagará automáticamente la memoria fotograma a fotograma.
  • Consejos de optimización::
    • Si se producen cambios bruscos de iluminación en el vídeo, ajuste los parámetros en el archivo de configuración (p. ej. memory_fusion_rate), para una descripción de los parámetros véase config.yaml Documentación.
    • Ejemplo de orden de ajuste:
      python inference.py --video data/input_video.mp4 --mask data/masks/mask_frame1.png --config config.yaml --output output/
      

Función 3: Tratamiento de límites de alta calidad

  • Método de activación: Activado por defecto, no requiere ninguna acción adicional. El programa optimiza automáticamente los detalles de los bordes.
  • verificar la eficaciaCuando procese vídeos con fondos complejos (por ejemplo, el pelo de un personaje mecido por el viento), observe si los bordes son naturales en el vídeo de salida.
  • efecto de mejoraSi los resultados no son satisfactorios, pruebe a aumentar la resolución de inferencia añadiendo el comando --resolution 1080 Parámetros:
    python inference.py --video data/input_video.mp4 --mask data/masks/mask_frame1.png --resolution 1080 --output output/
    

Precauciones de uso

  • recurso informático: El procesamiento es más rápido en entornos GPU. Si se utiliza una CPU, se recomienda acortar la duración del vídeo (menos de 30 segundos) para reducir el tiempo de espera.
  • Calidad de la máscara del primer fotograma: La precisión de la máscara afecta directamente a los resultados de los fotogramas posteriores, por lo que se recomienda un trazado cuidadoso, especialmente en las regiones de los bordes.
  • referencia documentalEn caso de problemas, consulte README.md O póngase en contacto con el autor en peiqingyang99@outlook.com si necesita ayuda.
  • Apoyo comunitario: La página de problemas de GitHub contiene comentarios y soluciones de los usuarios, y se recomienda consultarla regularmente para ver si hay actualizaciones.

Con los pasos anteriores, los usuarios pueden empezar a utilizar MatAnyone rápidamente y completar todo el proceso, desde la instalación hasta la incrustación de vídeo. Ya sea para edición profesional o para investigación y desarrollo, MatAnyone ofrece un soporte técnico estable.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...