Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Executa uma operação de alinhamento ROI, conforme descrito no artigo Mascarar R-CNN . Em resumo, a operação extrai as culturas do tensor de imagem de entrada e as redimensiona para um tamanho de saída comum especificado pelas duas últimas dimensões de OutputTensor usando o InterpolationMode especificado.
Sintaxe
struct DML_ROI_ALIGN_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ROITensor;
const DML_TENSOR_DESC *BatchIndicesTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_REDUCE_FUNCTION ReductionFunction;
DML_INTERPOLATION_MODE InterpolationMode;
FLOAT SpatialScaleX;
FLOAT SpatialScaleY;
FLOAT OutOfBoundsInputValue;
UINT MinimumSamplesPerOutput;
UINT MaximumSamplesPerOutput;
};
Membros
InputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de entrada com dimensões { BatchCount, ChannelCount, InputHeight, InputWidth }.
ROITensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de ROI (regiões de interesse). As dimensões permitidas de ROITensor são { NumROIs, 4 }, { 1, NumROIs, 4 }ou { 1, 1, NumROIs, 4 }. Para cada ROI, os valores serão as coordenadas de seus cantos superior esquerdo e inferior direito na ordem [x1, y1, x2, y2].
BatchIndicesTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os índices de lote dos quais extrair os ROIs. As dimensões permitidas de BatchIndicesTensor são { NumROIs }, { 1, NumROIs }, { 1, 1, NumROIs }ou { 1, 1, 1, NumROIs }. Cada valor é o índice de um lote de InputTensor. O comportamento será indefinido se os valores não estiverem no intervalo [0, BatchCount).
OutputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de saída. As dimensões esperadas de OutputTensor são { NumROIs, ChannelCount, OutputHeight, OutputWidth }.
ReductionFunction
Tipo: DML_REDUCE_FUNCTION
A função de redução a ser usada ao reduzir todos os exemplos de entrada que contribuem para um elemento de saída (DML_REDUCE_FUNCTION_AVERAGE ou DML_REDUCE_FUNCTION_MAX). O número de exemplos de entrada a serem reduzidos é limitado por MinimumSamplesPerOutput e MaximumSamplesPerOutput.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
O modo de interpolação a ser usado ao redimensionar as regiões.
- DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Usa o algoritmo Vizinho Mais Próximo , que escolhe o elemento de entrada mais próximo do centro de pixels correspondente para cada elemento de saída.
- DML_INTERPOLATION_MODE_LINEAR. Usa o algoritmo Bilinear , que calcula o elemento de saída fazendo a média ponderada dos 2 elementos de entrada vizinhos mais próximos por dimensão. Como apenas duas dimensões são redimensionadas, a média ponderada é calculada em um total de 4 elementos de entrada para cada elemento de saída.
SpatialScaleX
Tipo: FLOAT
O componente X (ou largura) do fator de dimensionamento para multiplicar as coordenadas ROITensor por para torná-las proporcionais a InputHeight e InputWidth. Por exemplo, se ROITensor contiver coordenadas normalizadas (valores no intervalo [0..1]), SpatialScaleX normalmente teria o mesmo valor que InputWidth.
SpatialScaleY
Tipo: FLOAT
O componente Y (ou altura) do fator de dimensionamento para multiplicar as coordenadas ROITensor por para torná-las proporcionais a InputHeight e InputWidth. Por exemplo, se ROITensor contiver coordenadas normalizadas (valores no intervalo [0..1]), SpatialScaleY normalmente teria o mesmo valor que InputHeight.
OutOfBoundsInputValue
Tipo: FLOAT
O valor a ser lido de InputTensor quando os ROIs estiverem fora dos limites de InputTensor. Isso pode acontecer quando os valores obtidos após o dimensionamento de ROITensor por SpatialScaleX e SpatialScaleY são maiores que InputWidth e InputHeight.
MinimumSamplesPerOutput
Tipo: UINT
O número mínimo de exemplos de entrada a serem usados para cada elemento de saída. O operador calculará o número de amostras de entrada fazendo ScaledCropSize / OutputSizee o fixará em MinimumSamplesPerOutput e MaximumSamplesPerOutput.
MaximumSamplesPerOutput
Tipo: UINT
O número máximo de amostras de entrada a serem usadas para cada elemento de saída. O operador calculará o número de amostras de entrada fazendo ScaledCropSize / OutputSizee o fixará em MinimumSamplesPerOutput e MaximumSamplesPerOutput.
Disponibilidade
Esse operador foi introduzido no DML_FEATURE_LEVEL_3_0.
Restrições do Tensor
InputTensor, OutputTensor e ROITensor devem ter o mesmo DataType.
Suporte ao Tensor
DML_FEATURE_LEVEL_5_0 e superior
| Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|
| InputTensor | Entrada | 4 | FLOAT32, FLOAT16 |
| ROITensor | Entrada | 2 a 4 | FLOAT32, FLOAT16 |
| BatchIndicesTensor | Entrada | 1 a 4 | UINT64, UINT32 |
| OutputTensor | Saída | 4 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_3_0 e superior
| Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|
| InputTensor | Entrada | 4 | FLOAT32, FLOAT16 |
| ROITensor | Entrada | 2 a 4 | FLOAT32, FLOAT16 |
| BatchIndicesTensor | Entrada | 1 a 4 | UINT32 |
| OutputTensor | Saída | 4 | FLOAT32, FLOAT16 |
Requisitos
| Cliente mínimo com suporte | Windows 10 Build 20348 |
| Servidor mínimo com suporte | Windows 10 Build 20348 |
| Cabeçalho | directml.h |