create_dl_layer_roi_poolingT_create_dl_layer_roi_poolingCreateDlLayerRoiPoolingCreateDlLayerRoiPoolingcreate_dl_layer_roi_pooling (Operator)

Name

create_dl_layer_roi_poolingT_create_dl_layer_roi_poolingCreateDlLayerRoiPoolingCreateDlLayerRoiPoolingcreate_dl_layer_roi_pooling — Erstellen eines ROI-Pooling-Layers.

Signatur

create_dl_layer_roi_pooling( : : DLLayerInputImage, DLLayerRoI, DLLayerFeature, DLLayerInstanceIndex, LayerName, Type, GridSize, GenParamName, GenParamValue : DLLayerRoIPooling)

Herror T_create_dl_layer_roi_pooling(const Htuple DLLayerInputImage, const Htuple DLLayerRoI, const Htuple DLLayerFeature, const Htuple DLLayerInstanceIndex, const Htuple LayerName, const Htuple Type, const Htuple GridSize, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DLLayerRoIPooling)

void CreateDlLayerRoiPooling(const HTuple& DLLayerInputImage, const HTuple& DLLayerRoI, const HTuple& DLLayerFeature, const HTuple& DLLayerInstanceIndex, const HTuple& LayerName, const HTuple& Type, const HTuple& GridSize, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerRoIPooling)

HDlLayer HDlLayer::CreateDlLayerRoiPooling(const HDlLayer& DLLayerRoI, const HDlLayerArray& DLLayerFeature, const HDlLayer& DLLayerInstanceIndex, const HString& LayerName, const HString& Type, const HTuple& GridSize, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerRoiPooling(const HDlLayer& DLLayerRoI, const HDlLayer& DLLayerFeature, const HDlLayer& DLLayerInstanceIndex, const HString& LayerName, const HString& Type, const HTuple& GridSize, const HString& GenParamName, const HString& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerRoiPooling(const HDlLayer& DLLayerRoI, const HDlLayer& DLLayerFeature, const HDlLayer& DLLayerInstanceIndex, const char* LayerName, const char* Type, const HTuple& GridSize, const char* GenParamName, const char* GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerRoiPooling(const HDlLayer& DLLayerRoI, const HDlLayer& DLLayerFeature, const HDlLayer& DLLayerInstanceIndex, const wchar_t* LayerName, const wchar_t* Type, const HTuple& GridSize, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   ( Nur Windows)

static void HOperatorSet.CreateDlLayerRoiPooling(HTuple DLLayerInputImage, HTuple DLLayerRoI, HTuple DLLayerFeature, HTuple DLLayerInstanceIndex, HTuple layerName, HTuple type, HTuple gridSize, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerRoIPooling)

HDlLayer HDlLayer.CreateDlLayerRoiPooling(HDlLayer DLLayerRoI, HDlLayer[] DLLayerFeature, HDlLayer DLLayerInstanceIndex, string layerName, string type, HTuple gridSize, HTuple genParamName, HTuple genParamValue)

HDlLayer HDlLayer.CreateDlLayerRoiPooling(HDlLayer DLLayerRoI, HDlLayer DLLayerFeature, HDlLayer DLLayerInstanceIndex, string layerName, string type, HTuple gridSize, string genParamName, string genParamValue)

def create_dl_layer_roi_pooling(dllayer_input_image: HHandle, dllayer_ro_i: HHandle, dllayer_feature: MaybeSequence[HHandle], dllayer_instance_index: HHandle, layer_name: str, type: str, grid_size: Sequence[int], gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Beschreibung

Der Operator create_dl_layer_roi_poolingcreate_dl_layer_roi_poolingCreateDlLayerRoiPoolingCreateDlLayerRoiPoolingcreate_dl_layer_roi_pooling erzeugt einen ROI-Pooling-Layer, dessen Handle in DLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingdllayer_ro_ipooling zurückgegeben wird. Merkmale innerhalb der angegebenen ROIs werden für die Weiterverarbeitung auf eine feste räumliche Ausgabedimension gepoolt. Die räumliche Ausgabedimension ist gegeben durch GridSizeGridSizeGridSizegridSizegrid_size.

Dieser Layer erwartet mehrere zuführende Eingabelayer:

Der Parameter LayerNameLayerNameLayerNamelayerNamelayer_name legt einen individuellen Layernamen fest. Es ist zu beachten, dass beim Erstellen eines Modells mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelcreate_dl_model jeder Layer des erstellten Netzes einen eindeutigen Namen haben muss.

Der ROI-Pooling-Vorgang läuft wie folgt ab: Ein Gitter wird über jede ROI gelegt und die Merkmale innerhalb jeder Gitterzelle werden gepoolt. Wie dies im Einzelnen geschieht, hängt von TypeTypeTypetypetype ab:

'roi_pool'"roi_pool""roi_pool""roi_pool""roi_pool":

Führt ein Max-Pooling durch, weshalb die berechneten Gitterkoordinaten auf pixelgenaue Koordinaten gerundet werden.

'roi_align'"roi_align""roi_align""roi_align""roi_align":

Für jeden Abtastpunkt wird der Wert durch bilineare Interpolation der vier benachbarten Pixel-Werte bestimmt. Der Ausgabewert für jede Gitterzelle ist der Mittelwert aus den Werten der Abtastpunkte. Die Anzahl der gleichmäßig verteilten Abtastpunkte in jeder Ausgabe-Gitterzelle wird durch 'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio" bestimmt.

Die gepoolten Merkmale können zum Beispiel zur Vorhersage von Objektmasken innerhalb der gegebenen ROIs verwendet werden. In diesem Fall kann es sinnvoll sein, von einer etwas größeren ROI zu poolen, um die Wahrscheinlichkeit zu erhöhen, dass das Objekt vollständig in der ROI enthalten ist. Mit den generischen Parametern 'enlarge_box_factor_long'"enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long" und 'enlarge_box_factor_short'"enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short" kann die Skalierung der längeren und kürzeren Boxlängen vor dem Pooling gesteuert werden.

Bei mehreren Merkmalskarten werden die ROIs auf die Merkmalskarten entsprechend ihrer Größe nach der folgenden Formel verteilt:

wobei die ROI-Skalierung ist, berechnet als Quadratwurzel der ROI-Fläche. ist die kanonische FPN-Ebene und ist die kanonische FPN-Skalierung. Die kanonische FPN-Ebene und FPN-Skalierung können über die generischen Parameter 'fpn_roi_canonical_level'"fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level" und 'fpn_roi_canonical_scale'"fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale" eingestellt werden. wird zur Robustheit hinzugefügt und auf 1e-6 gesetzt.

Die folgenden generischen Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und die entsprechenden Werte GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value werden unterstützt:

'enlarge_box_factor_long'"enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long":

Faktor, mit dem die längere Seite der Box vor dem Pooling multipliziert wird.

Default: 1.0.

'enlarge_box_factor_short'"enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short":

Faktor, mit dem die kürzere Seite der Box vor dem Pooling multipliziert wird.

Default: 1.0.

'fpn_roi_canonical_level'"fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level":

FPN-Level, dem die ROIs mit kanonischer Skalierung zugewiesen werden.

Default: 4.

'fpn_roi_canonical_scale'"fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale":

ROIs mit dieser Skalierung werden der kanonischen Ebene zugewiesen.

Default: 224.

'instance_type'"instance_type""instance_type""instance_type""instance_type":

Typ der RoIs. Mögliche Werte:

  • 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1": achsenparallele Rechtecke.

  • 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2": orientierte Rechtecke.

Default: 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1".

'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output":

Bestimmt, ob apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelapply_dl_model die Ausgabe dieses Layers im Dictionary DLResultBatchDLResultBatchDLResultBatchDLResultBatchdlresult_batch zurückgibt, auch ohne den Layer in OutputsOutputsOutputsoutputsoutputs anzugeben ('true'"true""true""true""true"), oder nur falls er angegeben wird ('false'"false""false""false""false").

Default: 'false'"false""false""false""false"

'mode'"mode""mode""mode""mode":

Modus des Layers. Mögliche Werte:

Default: 'feature'"feature""feature""feature""feature".

'num_classes'"num_classes""num_classes""num_classes""num_classes":

Die Anzahl vom Modell vorhergesagter Klassen. Dieser Parameter ist nur für 'mode'"mode""mode""mode""mode" = 'mask_target'"mask_target""mask_target""mask_target""mask_target" verfügbar.

Restriktion: Wird der Wert größer als 1 gesetzt, werden die Masken-Targets klassenspezifisch generiert. Dies wirkt sich auch auf die Ausgabeform des Layers aus, d.h., die Tiefe der Masken-Targets ist gleich 'num_classes'"num_classes""num_classes""num_classes""num_classes".

Default: 1.

'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio":

Anzahl der Abtastpunkte, die über die Zellen-Höhe und -Breite einer Gitterzelle verteilt sind. Wird beispielsweise 'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio" auf zwei gesetzt, gibt es vier Abtastpunkte in jeder Gitterzelle. Wenn 0 eingestellt ist, wird diese Anzahl automatisch berechnet.

Default: 0.

'threshold_value'"threshold_value""threshold_value""threshold_value""threshold_value":

Dieser Wert legt einen Schwellenwert zwischen Null und Eins für die Ausgaben fest. Um den Schwellenwert zu deaktivieren kann dieser Wert auf -1 gesetzt werden.

Restriktion: Nur verfügbar für 'mode'"mode""mode""mode""mode" = 'mask_target'"mask_target""mask_target""mask_target""mask_target" und TypeTypeTypetypetype = 'roi_align'"roi_align""roi_align""roi_align""roi_align".

Default: 0.5.

Folgende Parameter werden von create_dl_layer_roi_poolingcreate_dl_layer_roi_poolingCreateDlLayerRoiPoolingCreateDlLayerRoiPoolingcreate_dl_layer_roi_pooling nicht unterstützt, da sie intern unter Verwendung von DLLayerFeatureDLLayerFeatureDLLayerFeatureDLLayerFeaturedllayer_feature berechnet werden:

'fpn_roi_min_level'"fpn_roi_min_level""fpn_roi_min_level""fpn_roi_min_level""fpn_roi_min_level":

Minimale FPN-Ebene, die für das Pooling verwendet wird.

Restriktion: Gilt nur für 'mode'"mode""mode""mode""mode" 'feature'"feature""feature""feature""feature".

Default: 0.

'fpn_roi_max_level'"fpn_roi_max_level""fpn_roi_max_level""fpn_roi_max_level""fpn_roi_max_level":

Maximale FPN-Ebene, die für das Pooling verwendet wird.

Restriktion: Gilt nur für 'mode'"mode""mode""mode""mode" 'feature'"feature""feature""feature""feature".

Default: 0.

Bestimmte Parameter von Layern, die mit create_dl_layer_roi_poolingcreate_dl_layer_roi_poolingCreateDlLayerRoiPoolingCreateDlLayerRoiPoolingcreate_dl_layer_roi_pooling erzeugt wurden, können mit weiteren Operatoren gesetzt und abgerufen werden. Die folgenden Tabellen geben einen Überblick, welche Parameter mit set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param gesetzt werden können und welche mit get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param oder get_dl_layer_paramget_dl_layer_paramGetDlLayerParamGetDlLayerParamget_dl_layer_param ausgelesen werden können. Es ist zu beachten, dass die Operatoren set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param und get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param ein Modell benötigen, das mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelcreate_dl_model erzeugt wurde.

Layer-Parameter set get
'grid_size'"grid_size""grid_size""grid_size""grid_size" (GridSizeGridSizeGridSizegridSizegrid_size) x
'input_layer'"input_layer""input_layer""input_layer""input_layer" (DLLayerInputImageDLLayerInputImageDLLayerInputImageDLLayerInputImagedllayer_input_image, DLLayerRoIDLLayerRoIDLLayerRoIDLLayerRoIdllayer_ro_i, DLLayerFeatureDLLayerFeatureDLLayerFeatureDLLayerFeaturedllayer_feature, and/or DLLayerInstanceIndexDLLayerInstanceIndexDLLayerInstanceIndexDLLayerInstanceIndexdllayer_instance_index) x
'name'"name""name""name""name" (LayerNameLayerNameLayerNamelayerNamelayer_name) x x
'output_layer'"output_layer""output_layer""output_layer""output_layer" (DLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingdllayer_ro_ipooling) x
'shape'"shape""shape""shape""shape" x
'roi_pooling_type'"roi_pooling_type""roi_pooling_type""roi_pooling_type""roi_pooling_type" (TypeTypeTypetypetype) x x
'type'"type""type""type""type" x
Generische Layer-Parameter set get
'enlarge_box_factor_long'"enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long" x x
'enlarge_box_factor_short'"enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short" x x
'fpn_roi_canonical_level'"fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level" x x
'fpn_roi_canonical_scale'"fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale" x x
'fpn_roi_max_level'"fpn_roi_max_level""fpn_roi_max_level""fpn_roi_max_level""fpn_roi_max_level" x
'fpn_roi_min_level'"fpn_roi_min_level""fpn_roi_min_level""fpn_roi_min_level""fpn_roi_min_level" x
'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output" x x
'instance_type'"instance_type""instance_type""instance_type""instance_type" x
'mode'"mode""mode""mode""mode" x
'num_classes'"num_classes""num_classes""num_classes""num_classes" x
'num_trainable_params'"num_trainable_params""num_trainable_params""num_trainable_params""num_trainable_params" x
'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio" x x
'threshold_value'"threshold_value""threshold_value""threshold_value""threshold_value" x x

Ausführungsinformationen

Parameter

DLLayerInputImageDLLayerInputImageDLLayerInputImageDLLayerInputImagedllayer_input_image (input_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zuführender Layer, der das Eingabebild des Netzwerks enthält.

Default: 'InputImageLayer' "InputImageLayer" "InputImageLayer" "InputImageLayer" "InputImageLayer"

DLLayerRoIDLLayerRoIDLLayerRoIDLLayerRoIdllayer_ro_i (input_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zuführender Layer, der ROI-Koordinaten enthält.

Default: 'RoILayer' "RoILayer" "RoILayer" "RoILayer" "RoILayer"

DLLayerFeatureDLLayerFeatureDLLayerFeatureDLLayerFeaturedllayer_feature (input_control)  dl_layer(-array) HDlLayer, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zuführende Layer, die die Merkmale/Ground-Truth-Instanzmasken enthalten von denen gepoolt wird.

Default: 'FeatureLayers' "FeatureLayers" "FeatureLayers" "FeatureLayers" "FeatureLayers"

DLLayerInstanceIndexDLLayerInstanceIndexDLLayerInstanceIndexDLLayerInstanceIndexdllayer_instance_index (input_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zuführender Layer, der abgestimmte Instanzindizes für jede ROI enthält.

Default: 'InstanceIndexLayer' "InstanceIndexLayer" "InstanceIndexLayer" "InstanceIndexLayer" "InstanceIndexLayer"

LayerNameLayerNameLayerNamelayerNamelayer_name (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Name des Ausgabelayers.

TypeTypeTypetypetype (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Art des ROI-Poolings.

Default: 'roi_pool' "roi_pool" "roi_pool" "roi_pool" "roi_pool"

Werteliste: 'roi_align'"roi_align""roi_align""roi_align""roi_align", 'roi_pool'"roi_pool""roi_pool""roi_pool""roi_pool"

GridSizeGridSizeGridSizegridSizegrid_size (input_control)  number-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Dimensionen des Pooling-Gitters, Ausgabedimensionen.

Default: [7,7]

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Eingabeparameter.

Default: []

Werteliste: 'enlarge_box_factor_long'"enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long""enlarge_box_factor_long", 'enlarge_box_factor_short'"enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short""enlarge_box_factor_short", 'fpn_roi_canonical_level'"fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level""fpn_roi_canonical_level", 'fpn_roi_canonical_scale'"fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale""fpn_roi_canonical_scale", 'instance_type'"instance_type""instance_type""instance_type""instance_type", 'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output", 'mode'"mode""mode""mode""mode", 'num_classes'"num_classes""num_classes""num_classes""num_classes", 'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio", 'threshold_value'"threshold_value""threshold_value""threshold_value""threshold_value"

GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Werte der generischen Eingabeparameter.

Default: []

Wertevorschläge: 'feature'"feature""feature""feature""feature", 'mask_target'"mask_target""mask_target""mask_target""mask_target", 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1", 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2", 'true'"true""true""true""true", 'false'"false""false""false""false", 0.5

DLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingDLLayerRoIPoolingdllayer_ro_ipooling (output_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

ROI-Pooling-Layer.

Beispiel (HDevelop)

* Example for create_dl_layer_roi_pooling.
* This model can be trained to classify multiple
* predefined RoIs in an image.
*
* Create simple model.
create_dl_layer_input ('image', [224,224,3], [], [], DLGraphNodeInput)
create_dl_layer_input ('gt_boxes', [1, 5, 5], [], [], DLGraphNodeGTBoxes)
create_dl_layer_input ('rois', [1, 6, 5], [], [], DLGraphNodeRoIs)
*
* Apply two convolution layer to extract features of the image.
create_dl_layer_convolution (DLGraphNodeInput, 'conv1', 3, 1, 2, 32, 1, \
                             'half_kernel_size', 'relu', [], [], \
                             DLGraphNodeConvolution)
create_dl_layer_convolution (DLGraphNodeConvolution, 'conv2', 3, 1, 2, 32, \
                             1, 'half_kernel_size', 'relu', [], [], \
                             DLGraphNodeConvolution2)
*
* Apply RoI pooling to pool the features for each RoI.
GridSize := [7,7]
create_dl_layer_roi_pooling (DLGraphNodeInput, DLGraphNodeRoIs, \
                             DLGraphNodeConvolution2, [], 'roi_pool', \
                             'roi_pool', GridSize, [], [], \
                             DLGraphNodeRoIPooling)
*
* Classify the RoIs according to the pooled features.
NumClasses := 3
create_dl_layer_dense (DLGraphNodeRoIPooling, 'fc1', 64, [], [], \
                       DLGraphNodeDense)
create_dl_layer_activation (DLGraphNodeDense, 'relu1', 'relu', [], \
                            [], Relu1)
create_dl_layer_dense (Relu1, 'cls_score', NumClasses + 1, [], [], \
                       DLGraphNodeScore)
create_dl_layer_softmax (DLGraphNodeScore, 'cls_prob', [], [], \
                          DLGraphNodeSoftMax)
*
* Append a cross entropy loss to train the classifier.
TargetOutputModes := ['cls_target', 'cls_weight']
TargetOutputNames := TargetOutputModes
create_dl_layer_box_targets (DLGraphNodeRoIs, DLGraphNodeGTBoxes, [], \
                             TargetOutputNames, 'box_proposals', \
                             TargetOutputModes, NumClasses, [], [], \
                             DLGraphNodeClsTarget, DLGraphNodeClsWeight, \
                             _, _, _, _, _)
create_dl_layer_loss_cross_entropy (DLGraphNodeSoftMax, \
                                    DLGraphNodeClsTarget, \
                                    DLGraphNodeClsWeight, 'cls_loss', \
                                    1.0, [], [], \
                                    DLGraphNodeLossCrossEntropy)
*
* Append a box proposal layer to get a detection-like output.
GenParamNameBoxProposal := ['input_mode', 'apply_box_regression', \
                        'max_overlap', 'max_overlap_class_agnostic']
GenParamValueBoxProposal := ['dense', 'false', 1.0, 1.0]
create_dl_layer_box_proposals (DLGraphNodeSoftMax, [], DLGraphNodeRoIs, \
                               DLGraphNodeInput, 'box_output', \
                               GenParamNameBoxProposal, \
                               GenParamValueBoxProposal, \
                               DLGraphNodeGenerateBoxProposals)
*
* Create the model.
create_dl_model ([DLGraphNodeLossCrossEntropy, \
                 DLGraphNodeGenerateBoxProposals], \
                 DLModelHandle)
set_dl_model_param (DLModelHandle, 'type', 'detection')
ClassIDs := [1:NumClasses]
set_dl_model_param (DLModelHandle, 'class_ids', ClassIDs)

Literatur

Tsung-Yi Lin, Piotr Dollàr, Ross B. Girshick, Kaiming He, Bharath Hariharan, and Serge J. Belongie, "Feature Pyramid Networks for Object Detection," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 2017, pp. 936--944, doi: 10.1109/CVPR.2017.106.

Modul

Deep Learning Professional