• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>

  • DriveWorks SDK Reference
    5.8.83 Release
    For Test and Development only

    All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    FeatureTracker.h
    Go to the documentation of this file.
    1
    2//
    3// Notice
    4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
    5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
    7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
    8//
    9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
    10// information or for any infringement of patents or other rights of third parties that may
    11// result from its use. No license is granted by implication or otherwise under any patent
    12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
    13// expressly authorized by NVIDIA. Details are subject to change without notice.
    14// This code supersedes and replaces all information previously supplied.
    15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
    16// components in life support devices or systems without express written approval of
    17// NVIDIA CORPORATION & AFFILIATES.
    18//
    19// SPDX-FileCopyrightText: Copyright (c) 2018-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
    20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
    21//
    22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
    23// property and proprietary rights in and to this material, related
    24// documentation and any modifications thereto. Any use, reproduction,
    25// disclosure or distribution of this material and related documentation
    26// without an express license agreement from NVIDIA CORPORATION or
    27// its affiliates is strictly prohibited.
    28//
    30
    46#ifndef DW_IMAGEPROCESSING_FEATURE2D_TRACKER_H_
    47#define DW_IMAGEPROCESSING_FEATURE2D_TRACKER_H_
    48
    49#include <dw/core/base/Config.h>
    52#include <dw/core/base/Types.h>
    53#include <dw/image/Image.h>
    55#include <dw/core/system/PVA.h>
    56
    57#include <stdint.h>
    58
    59#ifdef __cplusplus
    60extern "C" {
    61#endif
    62
    64#define DW_FEATURE2D_TRACKER_MAX_WINDOW_SIZE 16
    65
    67typedef struct dwFeature2DTrackerObject* dwFeature2DTrackerHandle_t;
    68
    70typedef struct dwFeature2DTrackerObject const* dwConstFeature2DTrackerHandle_t;
    71
    78
    81
    84
    87
    92{
    95
    99
    102
    105
    110
    112 uint32_t imageWidth;
    113
    115 uint32_t imageHeight;
    116
    124 uint32_t windowSizeLK;
    125
    133
    139
    144
    153
    162
    169
    174
    180
    187
    193
    200
    207
    209
    219
    231// TODO(dwplc): RFD coverity tool claims that first 31 characters of identifiers is same with dwFeature2DTracker_initDefaultParams, which causes ambiguity
    232// coverity[misra_c_2012_rule_5_1_violation]
    235 const dwTransformation3f* cameraToRig,
    236 dwConstCameraModelHandle_t cameraHandle);
    237
    254 const dwFeature2DTrackerConfig* config,
    255 cudaStream_t cudaStream, dwContextHandle_t context);
    256
    267
    282
    317 dwFeatureArray* predictedFeatures,
    318 float32_t* d_normalizedCrossCorrelation,
    319 const dwFeatureArray* featuresToTrack,
    320 const dwVector2f* d_predictedPositions,
    321 const dwPyramidImage* previousPyramid,
    322 const dwPyramidImage* currentPyramid,
    324
    341
    355
    367
    382
    395
    396#ifdef __cplusplus
    397}
    398#endif
    400#endif // DW_IMAGEPROCESSING_FEATURE2D_TRACKER_H_
    NVIDIA DriveWorks API: NvMedia Includes
    NVIDIA DriveWorks API: Core Types
    NVIDIA DriveWorks API: Core Methods
    NVIDIA DriveWorks API: Core Exports
    NVIDIA DriveWorks API: 2D Detector
    struct dwCameraModelObject const * dwConstCameraModelHandle_t
    A pointer to the handle representing a const calibrated camera.
    Definition: CameraModel.h:72
    struct dwContextObject * dwContextHandle_t
    Context handle.
    Definition: Context.h:82
    #define DW_API_PUBLIC
    Definition: Exports.h:54
    void * cupvaStream_t
    Dummy definition for non PVA supported platforms.
    Definition: PVA.h:57
    dwStatus
    Status definition.
    Definition: Status.h:171
    dwProcessorType
    Processor type definitions.
    Definition: Types.h:168
    float float32_t
    Specifies POD types.
    Definition: Types.h:70
    Specifies a 3D rigid transformation.
    Definition: Types.h:536
    Defines a two-element single-precision floating-point vector.
    Definition: Types.h:325
    float32_t nccKillThreshold
    Features will be killed if the Cross Correlation Score is less than this threshold during tracking.
    uint32_t pyramidLevelCount
    Levels of pyramid to track Valid only when algorithm = DW_FEATURE2D_TRACKER_ALGORITHM_EX.
    dwProcessorType processorType
    Processor type which determines on which processor the algorithm should be executed on.
    uint32_t numLevelTranslationOnly
    Number of levels in pyramid that will use translation-only KLT tracking, level [maxPyramidLevel - 1,...
    float32_t displacementThreshold
    If difference of translation prediction between 2 adjacent KLT iteration is less than this value,...
    dwFeature2DDetectorType detectorType
    Type of detector that connects to the tracker, should the be the same value as dwFeature2DDetectorCon...
    uint32_t numIterScaling
    Upper bound on number of 3-DOF translation+scaling KLT iterations per level.
    uint32_t historyCapacity
    Upper bound of history in feature history array.
    float32_t nccUpdateThreshold
    Feature template will be updated if the Cross Correlation Score is less than this threshold during tr...
    bool enableAdaptiveWindowSizeLK
    Enable adaptive window size If enabled, the tracker will use windowSizeLK to track only at the first ...
    uint32_t maxFeatureCount
    Upper bound on number of features handled.
    dwFeature2DTrackerAlgorithm algorithm
    Tracking Algorithm defined by dwFeature2DTrackerAlgorithm.
    uint32_t windowSizeLK
    Window size used in the KLT tracker.
    uint32_t imageHeight
    Height of the images that the tracker runs on.
    uint32_t numIterTranslationOnly
    Upper bound on number of 2-DOF translation-only KLT iterations per level.
    float32_t maxScaleChange
    The maximum allowed scale change for the tracked points across consecutive frames.
    uint32_t enableSparseOutput
    Enable sparse output if set to 1.
    uint32_t imageWidth
    Width of the images that the tracker runs on.
    float32_t largeMotionKillRatio
    Features will be killed if the motion is larger than the template size times the large motion killing...
    bool useHalf
    Set it to true to use half float as intermediate results during tracking It saves register usage and ...
    DW_API_PUBLIC dwStatus dwFeature2DTracker_initialize(dwFeature2DTrackerHandle_t *obj, const dwFeature2DTrackerConfig *config, cudaStream_t cudaStream, dwContextHandle_t context)
    Creates and initializes a feature tracker.
    struct dwFeature2DTrackerObject * dwFeature2DTrackerHandle_t
    Handle representing a feature tracker.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_compact(dwFeatureHistoryArray *featureHistoryArray, dwFeature2DTrackerHandle_t obj)
    Remove invalid features.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_getPVAStream(cupvaStream_t *stream, dwFeature2DTrackerHandle_t obj)
    Gets the cuPVA stream used by the feature tracker.
    struct dwFeature2DTrackerObject const * dwConstFeature2DTrackerHandle_t
    Handle representing a const feature tracker.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_reset(dwFeature2DTrackerHandle_t obj)
    Resets a feature tracker.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_release(dwFeature2DTrackerHandle_t obj)
    Releases the feature tracker.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_trackFeatures(dwFeatureHistoryArray *featureHistoryArray, dwFeatureArray *predictedFeatures, float32_t *d_normalizedCrossCorrelation, const dwFeatureArray *featuresToTrack, const dwVector2f *d_predictedPositions, const dwPyramidImage *previousPyramid, const dwPyramidImage *currentPyramid, dwFeature2DTrackerHandle_t obj)
    Tracks features and store the tracked results to predictedFeatures between the previous and current i...
    DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParams(dwFeature2DTrackerConfig *params)
    Initializes dwFeature2DTracker parameters with default values.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_getCUDAStream(cudaStream_t *stream, dwFeature2DTrackerHandle_t obj)
    Gets the CUDA stream used by the feature tracker.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_setPVAStream(cupvaStream_t stream, dwFeature2DTrackerHandle_t obj)
    Sets the cuPVA stream for PVA related operations.
    DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParamsForCamera(dwFeature2DTrackerConfig *params, const dwTransformation3f *cameraToRig, dwConstCameraModelHandle_t cameraHandle)
    Initializes dwFeature2DTracker parameters with values best suited for the given camera using camera e...
    DW_API_PUBLIC dwStatus dwFeature2DTracker_setCUDAStream(cudaStream_t stream, dwFeature2DTrackerHandle_t obj)
    Sets the CUDA stream for CUDA related operations.
    dwFeature2DTrackerAlgorithm
    Defines different KLT tracking algorithms.
    @ DW_FEATURE2D_TRACKER_ALGORITHM_EX
    3-DOF (dx, dy, dscale) extended KLT tracking.
    @ DW_FEATURE2D_TRACKER_ALGORITHM_STD
    3-DOF (dx, dy, dscale) standard KLT tracking.
    @ DW_FEATURE2D_TRACKER_ALGORITHM_COUNT
    @ DW_FEATURE2D_TRACKER_ALGORITHM_EX_FAST
    3-DOF (dx, dy, dscale) fast extended KLT tracking.
    Holds configuration parameters for a feature tracker.
    Holds pointers to the data exposed by a feature2d list.
    Definition: FeatureList.h:119
    dwFeature2DDetectorType
    Defines different KLT tracking algorithms.
    Pyramid image structure.
    Definition: Pyramid.h:65
    NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
    人人超碰97caoporen国产