24 #ifndef ARM_COMPUTE_TEST_HOG_DESCRIPTOR_DATASET 25 #define ARM_COMPUTE_TEST_HOG_DESCRIPTOR_DATASET 38 using type = std::tuple<std::string, HOGInfo>;
42 iterator(std::vector<std::string>::const_iterator image_it,
43 std::vector<HOGInfo>::const_iterator hog_info_it)
44 : _image_it{ std::move(image_it) },
45 _hog_info_it{ std::move(hog_info_it) }
52 description <<
"Image=" << *_image_it <<
":";
53 description <<
"HOGInfo=" << *_hog_info_it;
55 return description.str();
60 return std::make_tuple(*_image_it, *_hog_info_it);
72 std::vector<std::string>::const_iterator _image_it;
73 std::vector<HOGInfo>::const_iterator _hog_info_it;
78 return iterator(_image.begin(), _hog_info.begin());
83 return std::min(_image.size(), _hog_info.size());
90 _image.emplace_back(std::move(image));
91 _hog_info.emplace_back(
HOGInfo(cell_size, block_size, detection_window_size, block_stride, num_bins, normalization_type, l2_hyst_threshold, phase_type));
99 std::vector<std::string> _image{};
100 std::vector<HOGInfo> _hog_info{};
111 add_config(
"800x600.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2HYS_NORM, 0.2f,
PhaseType::SIGNED);
112 add_config(
"800x600.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2HYS_NORM, 0.2f,
PhaseType::UNSIGNED);
122 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2HYS_NORM, 0.2f,
PhaseType::SIGNED);
123 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2_NORM, 0.2f,
PhaseType::SIGNED);
124 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L1_NORM, 0.2f,
PhaseType::SIGNED);
126 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2HYS_NORM, 0.2f,
PhaseType::UNSIGNED);
127 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L2_NORM, 0.2f,
PhaseType::UNSIGNED);
128 add_config(
"1920x1080.ppm",
Size2D(8
U, 8
U),
Size2D(16
U, 16
U),
Size2D(64
U, 128
U),
Size2D(8
U, 8
U), 9
U,
HOGNormType::L1_NORM, 0.2f,
PhaseType::UNSIGNED);
L2-norm followed by clipping.
fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)
PhaseType
Phase calculation type.
Store the HOG's metadata.
This file contains all available output stages for GEMMLowp on OpenCL.
iterator(std::vector< std::string >::const_iterator image_it, std::vector< HOGInfo >::const_iterator hog_info_it)
SmallHOGDescriptorDataset()
HOGDescriptorDataset::type operator*() const
LargeHOGDescriptorDataset()
HOGNormType
Normalization type for Histogram of Oriented Gradients (HOG)
Class for specifying the size of an image or rectangle.
void add_config(std::string image, Size2D cell_size, Size2D block_size, Size2D detection_window_size, Size2D block_stride, size_t num_bins, HOGNormType normalization_type, float l2_hyst_threshold, PhaseType phase_type)
std::string description() const
std::tuple< std::string, HOGInfo > type