vitis::ai::Classification

Base class for detecting objects in the input image (cv::Mat).

Input is an image (cv::Mat).

Output is index and score of objects in the input image.

Sample code:

auto image = cv::imread("sample_classification.jpg");
auto network = vitis::ai::Classification::create(
               "resnet50");
auto result = network->run(image);
for (const auto &r : result.scores) {
   auto score = r.score;
   auto index = result.lookup(r.index);
}

Quick Function Reference

The following table lists all the functions defined in the vitis::ai::Classification class:

Table 1. Quick Function Reference
TypeNameArguments
std::unique_ptr< Classification >create
  • const std::string & model_name
  • bool need_preprocess
vitis::ai::ClassificationResultrun
  • const cv::Mat & image
std::vector< vitis::ai::ClassificationResult >run
  • const std::vector< cv::Mat > & images
std::vector< vitis::ai::ClassificationResult >run
  • const std::vector< vart::xrt_bo_t > & input_bos

create

Factory function to get an instance of derived classes of class Classification.

Prototype

std::unique_ptr< Classification > create(const std::string &model_name, bool need_preprocess=true);

Parameters

The following table lists the create function arguments.

Table 2. create Arguments
Type Name Description
const std::string & model_name Model name.
bool need_preprocess Normalize with mean/scale or not, default value is true.

Returns

An instance of Classification class.

run

Function to get running results of the classification neuron network.

Prototype


            vitis::ai::ClassificationResult run(const cv::Mat &image)=0;

Parameters

The following table lists the run function arguments.

Table 3. run Arguments
Type Name Description
const cv::Mat & image Input data of input image (cv::Mat).

Returns

ClassificationResult.

run

Function to get running results of the classification neuron network in batch mode.

Prototype

std::vector< vitis::ai::ClassificationResult > run(const std::vector< cv::Mat > &images)=0;

Parameters

The following table lists the run function arguments.

Table 4. run Arguments
Type Name Description
const std::vector< cv::Mat > & images Input data of batch input images (vector<cv::Mat>). The size of input images equals batch size obtained by get_input_batch.

Returns

The vector of ClassificationResult.

run

Function to get running results of the classification neuron network in batch mode , used to receive user's xrt_bo to support zero copy.

Prototype

std::vector< vitis::ai::ClassificationResult > run(const std::vector< vart::xrt_bo_t > &input_bos)=0;

Parameters

The following table lists the run function arguments.

Table 5. run Arguments
Type Name Description
const std::vector< vart::xrt_bo_t > & input_bos The vector of vart::xrt_bo_t.

Returns

The vector of ClassifcationResult.