Cómo usar un video como entrada en un algoritmo de aprendizaje automático

Dices que para una imagen, la conviertes en un vector 1D, esto se usa cada vez menos. Las redes de convolución 2D se están convirtiendo en la norma para el procesamiento de imágenes utilizando métodos de “aprendizaje profundo”, usted considera las imágenes 2D como tensores 3D (X, Y, canal de color).

La forma de manejar videos es:

– Connets 3D: considera el tiempo como una dimensión espacial. Terminas con un tensor 4D (X, Y, tiempo, canal).

– Connets 2D multicanal: coloca unos pocos cuadros como canales, al igual que los canales de color RGB, por lo que en lugar de 3 canales (RGB) termina con 15 canales (3x 5 cuadros). Una alternativa es usar “delta” y “deltadelta” como canales, la variación entre cuadros (y la variación de variación).

– LSTM-convnets: espacio 2D + LSTM, algunas personas parecen estar trabajando en esto, no sé si ya se han publicado artículos sobre el tema.


También puede buscar documentos sobre procesamiento de audio con convnets, ya que el audio generalmente se administra como un espectrograma. Terminas con convnets 1D multicanal o convnets 2D, usando frecuencias como la dimensión espacial.

Hay varias formas de convertir videos en funciones.

Uno es el flujo óptico que proporciona la magnitud y la dirección del movimiento en cada píxel de un cuadro de video.

Otro enfoque común es el uso de objetos de seguimiento.

Seguimiento de video

Puede probar otros enfoques, como la representación de la bolsa de palabras de las características SURF o SIFT si no está interesado en el movimiento de objetos.