vitis::ai::RefineDet - 1.2 Japanese

Vitis AI ライブラリ ユーザー ガイド (UG1354)

Document ID
UG1354
Release Date
2020-07-21
Version
1.2 Japanese
入力イメージ (cv::Mat) 内の歩行者を検出するためのベース クラス。

入力はイメージ (cv::Mat)。

出力は、入力イメージ内の歩行者の位置およびスコアです。

サンプル コード:

auto det = vitis::ai::RefineDet::create("refinedet_pruned_0_8");
auto image = cv::imread("sample_refinedet.jpg");
cout << "load image" << endl;
if (image.empty()) {
  cerr << "cannot load " << argv[1] << endl;
  abort();
}

auto results = det->run(image);

auto img = image.clone();
for (auto &box : results.bboxes) {
    float x = box.x * (img.cols);
    float y = box.y * (img.rows);
    int xmin = x;
    int ymin = y;
    int xmax = x + (box.width) * (img.cols);
    int ymax = y + (box.height) * (img.rows);
    float score = box.score;
    xmin = std::min(std::max(xmin, 0), img.cols);
    xmax = std::min(std::max(xmax, 0), img.cols);
    ymin = std::min(std::max(ymin, 0), img.rows);
    ymax = std::min(std::max(ymax, 0), img.rows);

    cv::rectangle(img, cv::Point(xmin, ymin), cv::Point(xmax, ymax),
                    cv::Scalar(0, 255, 0), 1, 1, 0);
}
auto out = "sample_refinedet_result.jpg";
LOG(INFO) << "write result to " << out;
cv::imwrite(out, img);

モデル結果を次に表示します。

図 1. 結果イメージ
Image sample_refinedet_result.jpg

関数クイック リファレンス

次の表に、vitis::ai::RefineDet クラスに定義されているすべての関数を示します。

表 1. 関数クイック リファレンス
タイプ 名前 引数
std::unique_ptr< RefineDet > create
  • const std::string & model_name
  • bool need_preprocess
RefineDetResult run
  • const cv::Mat & image
std::vector< RefineDetResult > run
  • image
int getInputWidth
  • void
int getInputHeight
  • void
size_t get_input_batch
  • void