vitis::ai::RetinaFace - 2.5 简体中文

Vitis AI Library 用户指南 (UG1354)

Document ID
UG1354
Release Date
2022-06-15
Version
2.5 简体中文
此基本类用于检测输入图像 (cv::Mat) 中面部的位置、得分和界标。

输入为图像 (cv::Mat)。

输出是输入图像中面部的位置和得分的矢量。

代码样本:

auto image = cv::imread("sample_retinaface.jpg");
auto network = vitis::ai::RetinaFace::create(
               "retinaface",
               true);
auto result = network->run(image);
for (auto i = 0u; i < result.bboxes.size(); ++i) {
   auto score = result.bboxes[i].score;
   auto x = result.bboxes[i].x * image.cols;
   auto y = result.bboxes[i].y * image.rows;
   auto width = result.bboxes[i].width * image.cols;
   auto height = result.bboxes[i].height * image.rows;
   auto landmark = results.landmarks[i];
   for (auto j = 0; j < 5; ++j) {
     auto px = landmark[j].first * image.cols;
     auto py = landmark[j].second * image.rows;
   }
}

显示模型结果:width=\textwidth

图 1. 结果图像

函数快速参考

下表列出了 vitis::ai::RetinaFace 类中定义的所有函数:

表 1. 函数快速参考
类型 成员 实参
std::unique_ptr< RetinaFace > create
  • const std::string & model_name
  • bool need_preprocess
std::unique_ptr< RetinaFace > create
  • const std::string & model_name
  • xir::Attrs * attrs
  • bool need_preprocess
RetinaFaceResult run
  • const cv::Mat & img
std::vector< RetinaFaceResult > run
  • const std::vector< cv::Mat > & imgs
std::vector< RetinaFaceResult > run
  • const std::vector< vart::xrt_bo_t > & input_bos