This commit is contained in:
tunm
2025-05-22 16:07:26 +08:00
parent efb5639ec6
commit 7e25e4e482
168 changed files with 6434 additions and 2527 deletions

View File

@@ -2,19 +2,18 @@
#include <iostream>
#include "settings/test_settings.h"
#include "unit/test_helper/help.h"
#include "feature_hub/feature_hub_db.h"
#include <inspireface/include/inspireface/feature_hub_db.h>
#include "middleware/costman.h"
#include "track_module/face_detect/all.h"
#include "inspireface/initialization_module/launch.h"
#include "track_module/face_track_module.h"
#include "middleware/inspirecv_image_process.h"
#include <inspireface/include/inspireface/frame_process.h>
using namespace inspire;
TEST_CASE("test_FaceDetect", "[track_module") {
DRAW_SPLIT_LINE
TEST_PRINT_OUTPUT(true);
auto archive = INSPIRE_LAUNCH->getMArchive();
auto archive = INSPIREFACE_CONTEXT->getMArchive();
const std::vector<int32_t> supported_sizes = {160, 320, 640};
const std::vector<std::string> scheme_names = {"face_detect_160", "face_detect_320", "face_detect_640"};
for (size_t i = 0; i < scheme_names.size(); i++) {
@@ -22,7 +21,7 @@ TEST_CASE("test_FaceDetect", "[track_module") {
auto ret = archive.LoadModel(scheme_names[i], model);
REQUIRE(ret == 0);
FaceDetectAdapt face_detector(supported_sizes[i]);
face_detector.loadData(model, model.modelType, false);
face_detector.LoadData(model, model.modelType, false);
inspirecv::Image img = inspirecv::Image::Create(GET_DATA("data/bulk/kun.jpg"));
auto result = face_detector(img);
@@ -33,12 +32,12 @@ TEST_CASE("test_FaceDetect", "[track_module") {
TEST_CASE("test_RefineNet", "[track_module") {
DRAW_SPLIT_LINE
TEST_PRINT_OUTPUT(true);
auto archive = INSPIRE_LAUNCH->getMArchive();
auto archive = INSPIREFACE_CONTEXT->getMArchive();
InspireModel model;
auto ret = archive.LoadModel("refine_net", model);
REQUIRE(ret == 0);
RNetAdapt rnet;
rnet.loadData(model, model.modelType, false);
rnet.LoadData(model, model.modelType, false);
inspirecv::Image face = inspirecv::Image::Create(GET_DATA("data/crop/crop.png"));
auto result1 = rnet(face);
@@ -52,13 +51,13 @@ TEST_CASE("test_RefineNet", "[track_module") {
TEST_CASE("test_Landmark", "[track_module") {
DRAW_SPLIT_LINE
TEST_PRINT_OUTPUT(true);
auto archive = INSPIRE_LAUNCH->getMArchive();
auto archive = INSPIREFACE_CONTEXT->getMArchive();
InspireModel model;
auto ret = archive.LoadModel("landmark", model);
REQUIRE(ret == 0);
FaceLandmarkAdapt face_landmark(112);
face_landmark.loadData(model, model.modelType);
face_landmark.LoadData(model, model.modelType);
inspirecv::Image img = inspirecv::Image::Create(GET_DATA("data/crop/crop.png"));
auto result = face_landmark(img);
@@ -68,12 +67,12 @@ TEST_CASE("test_Landmark", "[track_module") {
TEST_CASE("test_Quality", "[track_module") {
DRAW_SPLIT_LINE
TEST_PRINT_OUTPUT(true);
auto archive = INSPIRE_LAUNCH->getMArchive();
auto archive = INSPIREFACE_CONTEXT->getMArchive();
InspireModel model;
auto ret = archive.LoadModel("pose_quality", model);
REQUIRE(ret == 0);
FacePoseQualityAdapt quality;
ret = quality.loadData(model, model.modelType);
ret = quality.LoadData(model, model.modelType);
REQUIRE(ret == 0);
inspirecv::Image img = inspirecv::Image::Create(GET_DATA("data/crop/crop.png"));
@@ -85,7 +84,7 @@ TEST_CASE("test_Quality", "[track_module") {
TEST_CASE("test_FaceTrackModule", "[track_module") {
DRAW_SPLIT_LINE
TEST_PRINT_OUTPUT(true);
auto archive = INSPIRE_LAUNCH->getMArchive();
auto archive = INSPIREFACE_CONTEXT->getMArchive();
SECTION("Test face detect rotate 0") {
auto mode = DetectModuleMode::DETECT_MODE_ALWAYS_DETECT;
@@ -93,7 +92,7 @@ TEST_CASE("test_FaceTrackModule", "[track_module") {
FaceTrackModule face_track(mode, max_detected_faces);
face_track.Configuration(archive);
inspirecv::Image img = inspirecv::Image::Create(GET_DATA("data/bulk/kun.jpg"));
inspirecv::InspireImageProcess image = inspirecv::InspireImageProcess::Create(img.Data(), img.Height(), img.Width(), inspirecv::BGR);
inspirecv::FrameProcess image = inspirecv::FrameProcess::Create(img.Data(), img.Height(), img.Width(), inspirecv::BGR);
face_track.UpdateStream(image);
REQUIRE(face_track.trackingFace.size() == 1);
}
@@ -104,8 +103,8 @@ TEST_CASE("test_FaceTrackModule", "[track_module") {
FaceTrackModule face_track(mode, max_detected_faces);
face_track.Configuration(archive);
inspirecv::Image img = inspirecv::Image::Create(GET_DATA("data/bulk/r90.jpg"));
inspirecv::InspireImageProcess image =
inspirecv::InspireImageProcess::Create(img.Data(), img.Height(), img.Width(), inspirecv::BGR, inspirecv::ROTATION_90);
inspirecv::FrameProcess image =
inspirecv::FrameProcess::Create(img.Data(), img.Height(), img.Width(), inspirecv::BGR, inspirecv::ROTATION_90);
face_track.UpdateStream(image);
REQUIRE(face_track.trackingFace.size() == 1);
}