DeepLabCut 使用 二 (use su propia fecha)

directorio

  • Crear un proyecto utilizando sus propios datos
  • marco de la formación de extracción
  •  El cuadro clave de marcador de zona de entrenamiento
  •  Compruebe la etiqueta
  •   Crear un conjunto de entrenamiento
  •   Red de Formación
  •   Red de evaluación
  •   Análisis de un nuevo video
  •   Creación de un video etiquetado automático
  •    dibujar pista

(En adelante, el paso es opcional)

  • Extracción del marco de valores atípicos
  • ficha Soluciones
  • El conjunto de datos combinado
  • Red de Formación

Crear un proyecto utilizando sus propios datos

directorio de archivos inicial Primera Prueba-wumingna-DLC de la siguiente manera: Sólo esta carpeta una carpeta de vídeos, archivos de vídeo en los videos de la carpeta única que ser entrenados.

Activar el entorno, citando la biblioteca relevante

#激活环境
source activate deeplabcut-py36
#进入pathon交互环境
python
#引用相关库
import deeplabcut
import tensorflow as tf
import os
from libpath import Path

Crear un nuevo proyecto

# 自定义项目名称
task = 'Test-wumingna-DLC'
#自定义实验者
exprimenter = 'wumingna'
#视频路径
video =['/home/wumingna/Test-wumingna-DLC/videos/mytest.mp4'] 
#创建新项目  
deeplabcut.create_new_project(task,experimenter,video,working_directory='/home/wumingna/Test-wumingna-DLC/videos',copy_videos=True)

estructura de archivos es la siguiente:

marco de la formación de extracción

detector característica clave exitosa es para seleccionar un marco diferente, que es típico del comportamiento de los marcadores. Esta función de selección de manera uniforme muestrea N tramas (algo == 'uniforme') a partir de un video en particular (o carpeta). Nota: Si el comportamiento escasamente (tenga en cuenta las kmeans) y / o manualmente seleccionar el marco y similares. Al tiempo que garantiza el acceso a los datos seleccionados (si éstos varían significativamente de) (para entrenar a los detectores de características invariables) de una diferente (comportamiento) y sesiones de diferentes animales. Ni una sola imagen es demasiado grande (es decir, <850 x 850 píxeles). Aunque esto también puede ser manejada en el futuro, pero sugirió marco de cortar, retirar parte innecesaria de la estructura tanto como sea posible. Compruebe siempre el recorte de producción. Si está satisfecho con los resultados, seguirá marcado.

#设置文件配置变量,以便下面使用
path_config_file=deeplabcut.create_new_project(task,experimenter,video,copy_videos=True) 
#提取训练帧的时候有两种选择,根据需要选择不同的方式
deeplabcut.extract_frames(config_path,‘automatic/manual’,‘uniform/kmeans’,crop=True/False, userfeedback=True/False)
#(1)自动提取训练帧
deeplabcut.extract_frames(path_config_file)  #自动提取
#(1)手动提取训练帧,在“Do you want to crop the frames? ” 选择 “No”,否则无法捕获图像。
deeplabcut.extract_frames(path_config_file,'manual') #手动提取

Modo (Uniform) distribuye de manera uniforme en el tiempo, o se selecciona manualmente por la selección del modo de la trama de vídeo basado agrupación apariencia visual (kmeans). uniforme el más adecuado para cambiar la actitud de una manera independiente el tiempo durante todo el comportamiento de vídeo. Sin embargo, un cierto comportamiento puede ser escasa, por ejemplo, en el caso de alcance y mango muy rápido, en este caso, si los elige de usuario para utilizar kmeans ser marco de clúster, se debe usar la información visual para seleccionar diferentes marcos, a continuación, esta función se realiza un muestreo de fotogramas de vídeo y el siguiente clúster. A continuación, seleccione un fotograma de diferente clúster. Este proceso asegura que el marco a un aspecto diferente y es generalmente deseable. Sin embargo, unos grandes y largos vídeos, ya que la complejidad computacional, este código es muy lento.

Después de mando automático de extracción, una pantalla pop-up ventana, entre sí extraído al azar de los fotogramas de vídeo. Si el vídeo múltiple, respectivamente, serán almacenados en varios archivos en un archivo llamado después del video.

estructura de archivos es la siguiente (todas algunas fotos)

El cuadro clave de marcador de zona de entrenamiento

deeplabcut.label_frames(path_config_file)

movimiento de izquierda, la marca de la derecha. Después de que se complete el etiquetado, haga clic en "Guardar". Después genera CollectedData_wumingna.csv, CollectedData_wumingna.h5 en la etiqueta de datos / / archivo mytest. Nota: "seleccionar una parte del cuerpo a la etiqueta" está determinada por las partes del cuerpo de archivos config.yaml de parámetros. Puede modificar el número de marcas.

Compruebe la etiqueta

deeplabcut.check_labels(path_config_file)

La siguiente es una lista de archivos, añadir una carpeta para guardar las imágenes etiquetadas test_labeled. (Dos archivos bajo la carpeta de datos etiquetados y almacenados mytest_labeled imagen mi prueba es el mismo, la única diferencia es si la etiqueta)

Creación de un conjunto de datos

deeplabcut.create_training_dataset(path_config_file)
# 可以通过可选参数  num_shuffles = n 创建多个训练子集(默认为1),可以改变参数选择不同的网络,默认是Resnet-50
# deeplabcut.create_training_dataset(path_config_file, num_shuffles = n,resnet_101)

Función interrumpirá conjuntos de datos etiquetados, dividiéndola para crear un conjunto de entrenamiento y un conjunto de prueba. subdirectorio conjuntos de datos 'iteración #' almacenado Catálogo de formación de datos y meta-información, # representa el valor de la variable de iteración que almacena el archivo de configuración en el proyecto. Si desea comparar el rendimiento DeepLabCut, puede crear múltiples subconjunto de formación mediante la especificación de un valor entero en el parámetro num_shuffles.

Cada iteración crear un conjunto de datos de entrenamiento creará un archivo y una .mat un archivo .pickle, .mat archivo contiene la dirección y las imágenes de la postura de destino, los archivos .pickle contienen meta-información sobre el conjunto de datos de entrenamiento. Este paso también crea un modelo para el directorio, incluyendo los subdirectorios DLC dos modelos llamados de prueba y de tren, y cada subdirectorio tiene un archivo de configuración llamado pose_cfg.yaml. Si lo desea, entre el inicio de la formación, puede modificar el archivo pose_cfg.

Después de la ejecución, la estructura de archivos es la siguiente:

la formación de inicio

deeplabcut.train_network(path_config_file,shuffle=1,displayiters=300,saveiters=10,)

# 此函数有很多可选参数,学会基本操作后,可以慢慢学习其他参数的使用。

#完整函数如下:
train_network(config_path,shuffle=1,trainingsetindex=0,gputouse=
None,max_snapshots_to_keep=5, displayiters=1000,saveiters=20000,
maxiters=200000)

El entrenamiento durante unos 30 minutos, CTRL + C para la formación de parada.

Nueva estructura de archivos es la siguiente:

Red de evaluación

 #将plotting设置为True将手工和预测的标签绘制在出所有的测试集和训练集上
deeplabcut.evaluate_network(config_path, plotting=True)

Nueva estructura de archivos:

Análisis de un nuevo vídeo (aquí todavía el análisis de vídeo en bruto)

deeplabcut.analyze_videos(config_path,video,videotype=‘.mp4’)

Panda variable de matriz almacenada en más de un índice en el que incluye un nombre de red, el nombre del elemento de cuerpo, la probabilidad de cada trama (x, y) la posición de la etiqueta (en píxeles) y para cada parte del cuerpo.

Los nuevos documentos:

Creación de un video etiquetado automático

Esta función es crear un video etiqueta .mp4 con predicción. Este video no está etiquetado con los restos de vídeo en un directorio

deeplabcut.create_labeled_video(path_config_file,videofile_path, draw_skeleton=True)

Dibujar la ruta:

deeplabcut.plot_trajectories(config_path,video)

Los nuevos documentos:

Si el resultado es satisfactorio, puede parar aquí, pero si el resultado no es satisfactorio, a continuación, puede realizar los siguientes pasos:

Extracción del marco de valores atípicos

deeplabcut.extract_outlier_frames(config_path,video)

Nuevo catálogo:

cambiar manualmente la etiqueta: este paso es permitir al usuario corregir el Marco de la etiqueta de extracción

deeplabcut.refine_label(path_config_file)

Los datos combinados establecen:

deeplabcut.merge_datasets(path_config_file)

Crear una nueva iteración de la formación conjunto de datos, comprobar y formación ... (Ahora el resto del paso es repetir los pasos anteriores, la formación en el nuevo conjunto de datos) 

Publicado 16 artículos originales · ganado elogios 1 · vistas 3976

Supongo que te gusta

Origin blog.csdn.net/Wu_whiteHyacinth/article/details/104819860
Recomendado
Clasificación