Description
Le nœud Random Image From Batch (classe RandomImageFromBatch) sélectionne une séquence d'images d'un lot d'images ou de masques dans une plage d'indices donnée. Avec randomness = 0, les sélections sont réparties uniformément sur la plage ; avec randomness = 1, elles sont aléatoires uniformes sans remplacement ; les valeurs intermédiaires se mélangent linéairement. La sortie est toujours triée par indice de lot. Les indices négatifs comptent à partir de la fin (-1 = dernière image).
Ce nœud est utile pour générer un sous-ensemble contrôlé et reproductible d'images à partir d'un lot plus grand – par exemple, pour créer une séquence clairsemée de sauts d'images, ou pour sélectionner un échantillon aléatoire avec un écart minimum ou maximum entre les images choisies.
Entrées
| Nom | Type | Défaut | Min | Max | Info-bulle / Comportement |
|---|---|---|---|---|---|
input | MATCHTYPE | – | – | – | Lot d'images ou de masques à échantillonner. |
start_index | ENTIER | 0 | -4096 | 4096 | Début inclusif de la plage d'échantillonnage. Les valeurs négatives comptent à partir de la fin (par ex., -1 est la dernière image). |
end_index | ENTIER | -1 | -4096 | 4096 | Fin inclusive de la plage d'échantillonnage. -1 signifie la dernière image. |
num_frames | ENTIER | 1 | 1 | 4096 | Combien d'images sélectionner dans la plage. Doit être ≤ au nombre d'images dans la plage. |
randomness | FLOTTANT | 1 | 0.0 | 1.0 | Mélange entre espacement uniforme (0) et aléatoire uniforme sans remplacement (1). Les valeurs intermédiaires produisent un espacement uniforme avec gigue. |
min_distance | ENTIER | 0 | 0 | 4096 | Écart minimum (en images) entre les sélections consécutives. 0 = pas de minimum. Les sélections sont poussées vers l'avant pour respecter cette contrainte ; les sélections ultérieures peuvent être bloquées à la fin de la plage. |
max_distance | ENTIER | 0 | 0 | 4096 | Écart maximum (en images) entre les sélections consécutives. 0 = pas de maximum. Les sélections sont rapprochées pour respecter cette contrainte, ce qui peut compresser la séquence vers le début. |
seed | ENTIER | 0 | 0 | 2^64-1 | Graine aléatoire pour un échantillonnage reproductible. Ignorée lorsque randomness est 0. |
Sorties
| Type | Description |
|---|---|
| MATCHTYPE | Les images sélectionnées (même type que l'entrée) dans l'ordre trié par indice de lot. |
Notes d'utilisation
- Définition de la plage :
start_indexetend_indexdéfinissent une plage inclusive. Sistart_index>end_index, la plage est vide et aucune image ne sera sélectionnée (la sortie sera un lot vide). Utilisez des indices négatifs pour vous référer commodément aux dernières images (par ex.,-1pour la dernière image). - Nombre d'images :
num_framesne doit pas dépasser le nombre d'images dans la plage, sinon le comportement est indéfini (le nœud peut limiter ou générer une erreur ; consultez les messages d'exécution). - Comportement de l'aléatoire :
0.0→ Les images sont sélectionnées à intervalles égaux (espacement linéaire) sur la plage. La première sélection est au début, la dernière à la fin.1.0→ Chaque sélection est aléatoire uniforme sans remplacement (mélange). Les résultats sont reproductibles avec uneseeddonnée.0.5→ Les images sont placées à des positions uniformément espacées, puis chacune est décalée par un décalage aléatoire proportionnel à l'espacement (mélange).
- Contraintes de distance (
min_distance,max_distance) :- Ces contraintes sont appliquées après la sélection initiale (qu'elle soit aléatoire ou uniformément espacée). Si les contraintes entrent en conflit avec
num_frameset la longueur de la plage, le nœud ajustera les sélections pour être aussi proches que possible, en les limitant aux bornes de la plage. - Un
min_distance> 0 garantit que les sélections sont réparties. Le nœud pousse les sélections ultérieures vers l'avant ; la dernière sélection peut être plus tardive que l'end_indexd'origine ? (En réalité, la description dit « les sélections sont poussées vers l'avant pour satisfaire cette contrainte ; les sélections ultérieures peuvent être bloquées à la fin de la plage » – ce qui signifie que les sélections ne dépasseront pas la plage.) - Un
max_distance> 0 force les sélections à rester proches les unes des autres. Le nœud rapproche les sélections vers le début ; si la plage est trop courte, l'espacement peut être encore réduit. - Régler les deux à
0(défaut) désactive les contraintes de distance.
- Ces contraintes sont appliquées après la sélection initiale (qu'elle soit aléatoire ou uniformément espacée). Si les contraintes entrent en conflit avec
- Graine : La
seedn'est utilisée que lorsquerandomness > 0. Pour des résultats déterministes d'une exécution à l'autre, conservez la même graine et la même valeur d'aléatoire. - Tri de la sortie : Quelle que soit la méthode de sélection (aléatoire ou séquentielle), le lot renvoyé est toujours trié par indice d'image, de sorte que les nœuds ultérieurs reçoivent les images dans l'ordre.
Cas d'utilisation exemple
- Créer un aperçu faible fréquence d'images : Sélectionnez toutes les N images en réglant
randomness=0et unnum_framesapproprié pour la longueur de la plage. - Échantillonner aléatoirement des images pour l'entraînement : Réglez
randomness=1, unnum_framesimportant, et éventuellementmin_distancepour éviter des images quasi identiques. - Espacement uniforme avec gigue : Réglez
randomness=0.3pour briser les motifs réguliers tout en conservant un rythme approximativement cohérent.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.