Descripción
El Nodo Imagen Aleatoria de un Lote (clase RandomImageFromBatch) selecciona una secuencia de cuadros de un lote de imágenes o máscaras dentro de un rango de índices seleccionado. Con randomness = 0 las selecciones están espaciadas uniformemente en el rango; con randomness = 1 son uniformemente aleatorias sin reemplazo; los valores intermedios se mezclan linealmente. La salida siempre está ordenada por índice de lote. Los índices negativos cuentan desde el final (-1 = último cuadro).
Este nodo es útil para generar un subconjunto controlado y reproducible de cuadros de un lote más grande – por ejemplo, para crear una secuencia de cuadros espaciados (skip-frame) o para seleccionar una muestra aleatoria con un espacio mínimo o máximo entre los cuadros elegidos.
Entradas
| Nombre | Tipo | Predeterminado | Mín | Máx | Descripción / Comportamiento |
|---|---|---|---|---|---|
input | MATCHTYPE | – | – | – | Lote de imágenes o máscaras del cual muestrear. |
start_index | ENTERO | 0 | -4096 | 4096 | Inicio inclusivo del rango de muestreo. Los valores negativos cuentan desde el final (ej., -1 es el último cuadro). |
end_index | ENTERO | -1 | -4096 | 4096 | Fin inclusivo del rango de muestreo. -1 significa el último cuadro. |
num_frames | ENTERO | 1 | 1 | 4096 | Cuántos cuadros seleccionar del rango. Debe ser ≤ número de cuadros en el rango. |
randomness | FLOTANTE | 1 | 0.0 | 1.0 | Mezcla entre espaciado uniforme (0) y aleatorio uniforme sin reemplazo (1). Los valores intermedios producen espaciado uniforme con perturbación (jitter). |
min_distance | ENTERO | 0 | 0 | 4096 | Espacio mínimo (en cuadros) entre selecciones consecutivas. 0 = sin mínimo. Las selecciones se empujan hacia adelante para cumplir esta restricción; las selecciones posteriores pueden ajustarse al final del rango. |
max_distance | ENTERO | 0 | 0 | 4096 | Espacio máximo (en cuadros) entre selecciones consecutivas. 0 = sin máximo. Las selecciones se acercan para cumplirlo, lo que puede comprimir la secuencia hacia el inicio. |
seed | ENTERO | 0 | 0 | 2^64-1 | Semilla aleatoria para un muestreo reproducible. Se ignora cuando randomness es 0. |
Salidas
| Tipo | Descripción |
|---|---|
| MATCHTYPE | Los cuadros seleccionados (mismo tipo que la entrada) en orden ordenado por índice de lote. |
Notas de uso
- Definición del rango:
start_indexyend_indexdefinen un rango inclusivo. Sistart_index>end_index, el rango está vacío y no se seleccionará ningún cuadro (la salida será un lote Vacío). Use índices negativos para referirse convenientemente a los últimos cuadros (ej.,-1para el último cuadro). - Número de cuadros:
num_framesno debe exceder el número de cuadros en el rango, de lo contrario el comportamiento no está definido (el nodo puede ajustarlo o dar error; consulte los mensajes en tiempo de ejecución). - Comportamiento de la aleatoriedad:
0.0→ Los cuadros se seleccionan a intervalos iguales (espaciado Lineal) en todo el rango. La primera selección está al inicio, la última al final.1.0→ Cada selección es uniformemente aleatoria sin reemplazo (barajar). Los resultados son reproducibles con unaSemilladada.0.5→ Los cuadros se colocan en posiciones uniformemente espaciadas, luego cada uno se desplaza con un offset aleatorio proporcional al espaciado (mezcla).
- Restricciones de distancia (
min_distance,max_distance):- Estas restricciones se aplican después de la selección inicial (ya sea aleatoria o uniformemente espaciada). Si las restricciones entran en conflicto con
num_framesy la longitud del rango, el nodo ajustará las selecciones para que sean lo más cercanas posible, ajustándose a los límites del rango. - Un
min_distance> 0 asegura que las selecciones estén separadas. El nodo empuja las selecciones posteriores hacia adelante; la última selección puede ser más tarde que elend_indexoriginal? (En realidad, la descripción dice "las selecciones se empujan hacia adelante para satisfacer esto; las selecciones posteriores pueden ajustarse al final del rango", lo que significa que las selecciones no se extenderán más allá del rango.) - Un
max_distance> 0 obliga a que las selecciones permanezcan juntas. El nodo acerca las selecciones hacia el inicio; si el rango es demasiado corto, el espaciado puede reducirse aún más. - Establecer ambos en
0(predeterminado) desactiva las restricciones de distancia por completo.
- Estas restricciones se aplican después de la selección inicial (ya sea aleatoria o uniformemente espaciada). Si las restricciones entran en conflicto con
- Semilla: La
Semillasolo se usa cuandorandomness > 0. Para resultados deterministas entre ejecuciones, mantenga la misma semilla y valor de aleatoriedad. - Ordenamiento de la salida: Independientemente de cómo se realicen las selecciones (aleatorias o secuenciales), el lote devuelto siempre está ordenado por índice de cuadro, por lo que los Nodos posteriores reciben los cuadros en orden.
Ejemplos de uso
- Crear una VISTA PREVIA de baja velocidad de fotogramas: Seleccione cada N cuadros configurando
randomness=0ynum_framesapropiado para la longitud del rango. - Muestrear cuadros aleatoriamente para entrenamiento: Establezca
randomness=1, unnum_framesgrande y opcionalmentemin_distancepara evitar cuadros casi idénticos. - Espaciado uniforme con perturbación: Establezca
randomness=0.3para romper patrones regulares marcados mientras se mantiene un tempo aproximadamente consistente.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.