此基本类用于检测输入图像 (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
类中定义的所有函数:
类型 | 成员 | 实参 |
---|---|---|
std::unique_ptr<
RetinaFace
> |
create |
|
std::unique_ptr<
RetinaFace
> |
create |
|
RetinaFaceResult
|
run |
|
std::vector<
RetinaFaceResult
> |
run |
|
std::vector<
RetinaFaceResult
> |
run |
|