vitis::ai::SSD
Base class for detecting position of vehicle, pedestrian, and so on.
Input is an image (cv:Mat).
Output is a struct of detection results, named SSDResult
.
Sample code :
Mat img = cv::imread("sample_ssd.jpg");
auto ssd = vitis::ai::SSD::create("ssd_traffic_pruned_0_9",true);
auto results = ssd->run(img);
for(const auto &r : results.bboxes){
auto label = r.label;
auto x = r.x * img.cols;
auto y = r.y * img.rows;
auto width = r.width * img.cols;
auto heigth = r.height * img.rows;
auto score = r.score;
std::cout << "RESULT: " << label << "\t" << x << "\t" << y << "\t" <<
width
<< "\t" << height << "\t" << score << std::endl;
}
Display of the model results:
Quick Function Reference
The following table lists all the functions defined in the vitis::ai::SSD
class:
Type | Name | Arguments |
---|---|---|
std::unique_ptr< SSD > | create |
|
std::unique_ptr< SSD > | create |
|
vitis::ai::SSDResult | run |
|
std::vector< vitis::ai::SSDResult > | run |
|
std::vector< vitis::ai::SSDResult > | run |
|
create
Factory function to get an instance of derived classes of class SSD
.
Prototype
std::unique_ptr< SSD
> create(const std::string &model_name, bool need_preprocess=true);
Parameters
The following table lists the create
function 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 ofSSD
class. create
Prototype
std::unique_ptr< SSD
> create(const std::string &model_name, xir::Attrs *attrs, bool need_preprocess=true);
run
Function to get running results of the SSD
neuron network.
Prototype
vitis::ai::SSDResult
run(const cv::Mat &image)=0;
Parameters
The following table lists the run
function arguments.
Type | Name | Description |
---|---|---|
const cv::Mat & | image | Input data of input image (cv::Mat). |
Returns
SSDResult
. run
Function to get running results of the SSD
neuron network in batch mode.
Prototype
std::vector< vitis::ai::SSDResult
> run(const std::vector< cv::Mat > &images)=0;
Parameters
The following table lists the run
function arguments.
Type | Name | Description |
---|---|---|
const std::vector< cv::Mat > & | images | Input data of input images (vector<cv::Mat>).The size of input images equals batch size obtained by get_input_batch. |
Returns
The vector ofSSDResult
. run
Function to get running results of the SSD
neuron network in batch mode, used to receive user's xrt_bo to support zero copy.
Prototype
std::vector< vitis::ai::SSDResult
> run(const std::vector< vart::xrt_bo_t > &input_bos)=0;
Parameters
The following table lists the run
function arguments.
Type | Name | Description |
---|---|---|
const std::vector< vart::xrt_bo_t > & | input_bos | The vector of vart::xrt_bo_t. |
Returns
The vector ofSSDResult
.