From c6f9510bcb754afaadfe9477ff85d6c55ffcf43b Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 30 Mar 2021 10:03:01 +0100 Subject: Remove Computer Vision generic interfaces and types Removes: - reference validation routines - CV related types and structures - CV related interfaces Signed-off-by: Georgios Pinitas Change-Id: I3a203da12d9b04c154059b190aeba18a611149a9 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5340 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins --- arm_compute/core/CPP/CPPKernels.h | 5 +- .../core/CPP/kernels/CPPCornerCandidatesKernel.h | 80 ---------------------- .../CPPDetectionWindowNonMaximaSuppressionKernel.h | 77 --------------------- .../CPP/kernels/CPPSortEuclideanDistanceKernel.h | 73 -------------------- 4 files changed, 1 insertion(+), 234 deletions(-) delete mode 100644 arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h delete mode 100644 arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h delete mode 100644 arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h (limited to 'arm_compute/core/CPP') diff --git a/arm_compute/core/CPP/CPPKernels.h b/arm_compute/core/CPP/CPPKernels.h index 7187613488..f6f36596c4 100644 --- a/arm_compute/core/CPP/CPPKernels.h +++ b/arm_compute/core/CPP/CPPKernels.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -26,11 +26,8 @@ /* Header regrouping all the CPP kernels */ #include "arm_compute/core/CPP/kernels/CPPBoxWithNonMaximaSuppressionLimitKernel.h" -#include "arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h" -#include "arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h" #include "arm_compute/core/CPP/kernels/CPPNonMaximumSuppressionKernel.h" #include "arm_compute/core/CPP/kernels/CPPPermuteKernel.h" -#include "arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h" #include "arm_compute/core/CPP/kernels/CPPTopKVKernel.h" #include "arm_compute/core/CPP/kernels/CPPUpsampleKernel.h" diff --git a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h b/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h deleted file mode 100644 index e4fd250a61..0000000000 --- a/arm_compute/core/CPP/kernels/CPPCornerCandidatesKernel.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2017-2020 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H -#define ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H - -#include "arm_compute/core/CPP/ICPPKernel.h" -#include "arm_compute/core/IArray.h" - -#include "support/Mutex.h" - -#include - -namespace arm_compute -{ -class ITensor; -/** Interface for CPP Images. */ -using IImage = ITensor; - -/** CPP kernel to perform corner candidates - */ -class CPPCornerCandidatesKernel : public ICPPKernel -{ -public: - const char *name() const override - { - return "CPPCornerCandidatesKernel"; - } - /** Default constructor */ - CPPCornerCandidatesKernel(); - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPCornerCandidatesKernel(const CPPCornerCandidatesKernel &) = delete; - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPCornerCandidatesKernel &operator=(const CPPCornerCandidatesKernel &) = delete; - /** Prevent instances of this class from being moved (As this class contains non movable objects) */ - CPPCornerCandidatesKernel(CPPCornerCandidatesKernel &&) = delete; - /** Prevent instances of this class from being moved (As this class contains non movable objects) */ - CPPCornerCandidatesKernel &operator=(CPPCornerCandidatesKernel &&) = delete; - /** Default destructor */ - ~CPPCornerCandidatesKernel() = default; - - /** Setup the kernel parameters - * - * @param[in] input Source image (harris score). Format supported F32 - * @param[out] output Destination array of InternalKeypoint - * @param[out] num_corner_candidates Number of corner candidates - */ - void configure(const IImage *input, InternalKeypoint *output, int32_t *num_corner_candidates); - - // Inherited methods overridden: - void run(const Window &window, const ThreadInfo &info) override; - -private: - int32_t *_num_corner_candidates; /**< Number of corner candidates */ - arm_compute::Mutex _corner_candidates_mutex; /**< Mutex to preventing race conditions */ - const IImage *_input; /**< Source image - Harris score */ - InternalKeypoint *_output; /**< Array of NEInternalKeypoint */ -}; -} // namespace arm_compute -#endif /* ARM_COMPUTE_CPPCORNERCANDIDATESKERNEL_H */ diff --git a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h b/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h deleted file mode 100644 index 5275a357b3..0000000000 --- a/arm_compute/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2017-2020 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H -#define ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H - -#include "arm_compute/core/CPP/ICPPKernel.h" -#include "arm_compute/core/IArray.h" -#include "arm_compute/core/IHOG.h" -#include "arm_compute/core/Types.h" - -namespace arm_compute -{ -/** CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray - * - * @note This kernel is meant to be used alongside HOG or other object detection algorithms to perform a non-maxima suppression on a - * IDetectionWindowArray - */ -class CPPDetectionWindowNonMaximaSuppressionKernel : public ICPPKernel -{ -public: - const char *name() const override - { - return "CPPDetectionWindowNonMaximaSuppressionKernel"; - } - /** Default constructor */ - CPPDetectionWindowNonMaximaSuppressionKernel(); - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPDetectionWindowNonMaximaSuppressionKernel(const CPPDetectionWindowNonMaximaSuppressionKernel &) = delete; - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPDetectionWindowNonMaximaSuppressionKernel &operator=(const CPPDetectionWindowNonMaximaSuppressionKernel &) = delete; - /** Allow instances of this class to be moved */ - CPPDetectionWindowNonMaximaSuppressionKernel(CPPDetectionWindowNonMaximaSuppressionKernel &&) = default; - /** Allow instances of this class to be moved */ - CPPDetectionWindowNonMaximaSuppressionKernel &operator=(CPPDetectionWindowNonMaximaSuppressionKernel &&) = default; - /** Default destructor */ - ~CPPDetectionWindowNonMaximaSuppressionKernel() = default; - /** Initialise the kernel's input, output and the euclidean minimum distance - * - * @attention: If @ref IDetectionWindowArray is passed to the kernel, the map() and unmap() methods @ref IDetectionWindowArray must be called respectively before and after - * the run() method of @ref CPPDetectionWindowNonMaximaSuppressionKernel - * - * @param[in, out] input_output Input/Output array of @ref DetectionWindow - * @param[in] min_distance Radial Euclidean distance for non-maxima suppression - */ - void configure(IDetectionWindowArray *input_output, float min_distance); - - // Inherited methods overridden: - void run(const Window &window, const ThreadInfo &info) override; - bool is_parallelisable() const override; - -private: - IDetectionWindowArray *_input_output; - float _min_distance; -}; -} // namespace arm_compute -#endif /* ARM_COMPUTE_CPPDETECTIONWINDOWNONMAXIMASUPPRESSIONKERNEL_H */ diff --git a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h b/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h deleted file mode 100644 index be4076f5ce..0000000000 --- a/arm_compute/core/CPP/kernels/CPPSortEuclideanDistanceKernel.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2017-2019 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H -#define ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H - -#include "arm_compute/core/CPP/ICPPKernel.h" -#include "arm_compute/core/IArray.h" - -#include -#include - -namespace arm_compute -{ -/** CPP kernel to perform sorting and euclidean distance */ -class CPPSortEuclideanDistanceKernel : public ICPPKernel -{ -public: - const char *name() const override - { - return "CPPSortEuclideanDistanceKernel"; - } - /** Default constructor */ - CPPSortEuclideanDistanceKernel(); - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPSortEuclideanDistanceKernel(const CPPSortEuclideanDistanceKernel &) = delete; - /** Prevent instances of this class from being copied (As this class contains pointers) */ - CPPSortEuclideanDistanceKernel &operator=(const CPPSortEuclideanDistanceKernel &) = delete; - /** Allow instances of this class to be moved */ - CPPSortEuclideanDistanceKernel(CPPSortEuclideanDistanceKernel &&) = default; - /** Allow instances of this class to be moved */ - CPPSortEuclideanDistanceKernel &operator=(CPPSortEuclideanDistanceKernel &&) = default; - /** Initialise the kernel's source, destination and border mode. - * - * @param[in,out] in_out Input internal keypoints. Marked as out as the kernel writes 0 in the strength member. - * @param[out] output Output keypoints. - * @param[in] num_corner_candidates Pointer to the number of corner candidates in the input array - * @param[in] min_distance Radial Euclidean distance to use - */ - void configure(InternalKeypoint *in_out, IKeyPointArray *output, const int32_t *num_corner_candidates, float min_distance); - - // Inherited methods overridden: - void run(const Window &window, const ThreadInfo &info) override; - bool is_parallelisable() const override; - -private: - const int32_t *_num_corner_candidates; /**< Number of corner candidates */ - float _min_distance; /**< Radial Euclidean distance */ - InternalKeypoint *_in_out; /**< Source array of InternalKeypoint */ - IKeyPointArray *_output; /**< Destination array of IKeyPointArray */ -}; -} // namespace arm_compute -#endif /* ARM_COMPUTE_CPPSORTEUCLIDEANDISTANCEKERNEL_H */ -- cgit v1.2.1