Jiale/test2_ort/build/lite.ai.toolkit/include/lite/models.h

1300 lines
43 KiB
C
Raw Normal View History

2024-05-15 18:06:07 +08:00
//
// Created by DefTruth on 2021/8/8.
//
#ifndef LITE_AI_MODELS_H
#define LITE_AI_MODELS_H
#include "backend.h"
// ENABLE_ONNXRUNTIME
#ifdef ENABLE_ONNXRUNTIME
#include "lite/ort/core/ort_core.h"
#include "lite/ort/core/ort_utils.h"
#include "lite/ort/cv/age_googlenet.h"
#include "lite/ort/cv/glint_arcface.h"
#include "lite/ort/cv/colorizer.h"
#include "lite/ort/cv/deeplabv3_resnet101.h"
#include "lite/ort/cv/densenet.h"
#include "lite/ort/cv/efficientnet_lite4.h"
#include "lite/ort/cv/emotion_ferplus.h"
#include "lite/ort/cv/fast_style_transfer.h"
#include "lite/ort/cv/fcn_resnet101.h"
#include "lite/ort/cv/fsanet.h"
#include "lite/ort/cv/gender_googlenet.h"
#include "lite/ort/cv/ghostnet.h"
#include "lite/ort/cv/hardnet.h"
#include "lite/ort/cv/ibnnet.h"
#include "lite/ort/cv/mobilenetv2.h"
#include "lite/ort/cv/pfld.h"
#include "lite/ort/cv/resnet.h"
#include "lite/ort/cv/resnext.h"
#include "lite/ort/cv/shufflenetv2.h"
#include "lite/ort/cv/ssd.h"
#include "lite/ort/cv/ssd_mobilenetv1.h"
#include "lite/ort/cv/ssrnet.h"
#include "lite/ort/cv/subpixel_cnn.h"
#include "lite/ort/cv/tiny_yolov3.h"
#include "lite/ort/cv/ultraface.h"
#include "lite/ort/cv/vgg16_age.h"
#include "lite/ort/cv/vgg16_gender.h"
#include "lite/ort/cv/yolov3.h"
#include "lite/ort/cv/yolov4.h"
#include "lite/ort/cv/yolov5.h"
#include "lite/ort/cv/glint_cosface.h"
#include "lite/ort/cv/glint_partial_fc.h"
#include "lite/ort/cv/facenet.h"
#include "lite/ort/cv/focal_arcface.h"
#include "lite/ort/cv/focal_asia_arcface.h"
#include "lite/ort/cv/tencent_cifp_face.h"
#include "lite/ort/cv/tencent_curricular_face.h"
#include "lite/ort/cv/center_loss_face.h"
#include "lite/ort/cv/sphere_face.h"
#include "lite/ort/cv/pose_robust_face.h"
#include "lite/ort/cv/naive_pose_robust_face.h"
#include "lite/ort/cv/mobile_facenet.h"
#include "lite/ort/cv/cava_ghost_arcface.h"
#include "lite/ort/cv/cava_combined_face.h"
#include "lite/ort/cv/yolox.h"
#include "lite/ort/cv/mobilese_focal_face.h"
#include "lite/ort/cv/efficient_emotion7.h"
#include "lite/ort/cv/efficient_emotion8.h"
#include "lite/ort/cv/mobile_emotion7.h"
#include "lite/ort/cv/rexnet_emotion7.h"
#include "lite/ort/cv/pfld98.h"
#include "lite/ort/cv/pfld68.h"
#include "lite/ort/cv/mobilenetv2_68.h"
#include "lite/ort/cv/mobilenetv2_se_68.h"
#include "lite/ort/cv/face_landmarks_1000.h"
#include "lite/ort/cv/retinaface.h"
#include "lite/ort/cv/faceboxes.h"
#include "lite/ort/cv/tiny_yolov4_voc.h"
#include "lite/ort/cv/tiny_yolov4_coco.h"
#include "lite/ort/cv/yolor.h"
#include "lite/ort/cv/scaled_yolov4.h"
#include "lite/ort/cv/efficientdet.h"
#include "lite/ort/cv/efficientdet_d7.h"
#include "lite/ort/cv/efficientdet_d8.h"
#include "lite/ort/cv/yolop.h"
#include "lite/ort/cv/rvm.h"
#include "lite/ort/cv/nanodet.h"
#include "lite/ort/cv/nanodet_efficientnet_lite.h"
#include "lite/ort/cv/yolox_v0.1.1.h"
#include "lite/ort/cv/yolov5_v6.0.h"
#include "lite/ort/cv/mg_matting.h"
#include "lite/ort/cv/nanodet_plus.h"
#include "lite/ort/cv/scrfd.h"
#include "lite/ort/cv/yolo5face.h"
#include "lite/ort/cv/faceboxesv2.h"
#include "lite/ort/cv/pipnet98.h"
#include "lite/ort/cv/pipnet68.h"
#include "lite/ort/cv/pipnet29.h"
#include "lite/ort/cv/pipnet19.h"
#endif
// ENABLE_MNN
#ifdef ENABLE_MNN
#include "lite/mnn/core/mnn_core.h"
#include "lite/mnn/core/mnn_utils.h"
#include "lite/mnn/cv/mnn_nanodet.h"
#include "lite/mnn/cv/mnn_nanodet_efficientnet_lite.h"
#include "lite/mnn/cv/mnn_rvm.h"
#include "lite/mnn/cv/mnn_yolox.h"
#include "lite/mnn/cv/mnn_yolop.h"
#include "lite/mnn/cv/mnn_yolov5.h"
#include "lite/mnn/cv/mnn_yolox_v0.1.1.h"
#include "lite/mnn/cv/mnn_yolor.h"
#include "lite/mnn/cv/mnn_yolov5_v6.0.h"
#include "lite/mnn/cv/mnn_glint_arcface.h"
#include "lite/mnn/cv/mnn_glint_cosface.h"
#include "lite/mnn/cv/mnn_glint_partial_fc.h"
#include "lite/mnn/cv/mnn_facenet.h"
#include "lite/mnn/cv/mnn_focal_arcface.h"
#include "lite/mnn/cv/mnn_focal_asia_arcface.h"
#include "lite/mnn/cv/mnn_tencent_curricular_face.h"
#include "lite/mnn/cv/mnn_tencent_cifp_face.h"
#include "lite/mnn/cv/mnn_center_loss_face.h"
#include "lite/mnn/cv/mnn_sphere_face.h"
#include "lite/mnn/cv/mnn_mobile_facenet.h"
#include "lite/mnn/cv/mnn_cava_ghost_arcface.h"
#include "lite/mnn/cv/mnn_cava_combined_face.h"
#include "lite/mnn/cv/mnn_mobilese_focal_face.h"
#include "lite/mnn/cv/mnn_ultraface.h"
#include "lite/mnn/cv/mnn_retinaface.h"
#include "lite/mnn/cv/mnn_faceboxes.h"
#include "lite/mnn/cv/mnn_face_landmarks_1000.h"
#include "lite/mnn/cv/mnn_pfld.h"
#include "lite/mnn/cv/mnn_pfld68.h"
#include "lite/mnn/cv/mnn_pfld98.h"
#include "lite/mnn/cv/mnn_mobilenetv2_68.h"
#include "lite/mnn/cv/mnn_mobilenetv2_se_68.h"
#include "lite/mnn/cv/mnn_fsanet.h"
#include "lite/mnn/cv/mnn_age_googlenet.h"
#include "lite/mnn/cv/mnn_gender_googlenet.h"
#include "lite/mnn/cv/mnn_emotion_ferplus.h"
#include "lite/mnn/cv/mnn_efficient_emotion7.h"
#include "lite/mnn/cv/mnn_efficient_emotion8.h"
#include "lite/mnn/cv/mnn_ssrnet.h"
#include "lite/mnn/cv/mnn_mobile_emotion7.h"
#include "lite/mnn/cv/mnn_rexnet_emotion7.h"
#include "lite/mnn/cv/mnn_efficientnet_lite4.h"
#include "lite/mnn/cv/mnn_shufflenetv2.h"
#include "lite/mnn/cv/mnn_densenet.h"
#include "lite/mnn/cv/mnn_ghostnet.h"
#include "lite/mnn/cv/mnn_hdrdnet.h"
#include "lite/mnn/cv/mnn_ibnnet.h"
#include "lite/mnn/cv/mnn_mobilenetv2.h"
#include "lite/mnn/cv/mnn_resnet.h"
#include "lite/mnn/cv/mnn_resnext.h"
#include "lite/mnn/cv/mnn_deeplabv3_resnet101.h"
#include "lite/mnn/cv/mnn_fcn_resnet101.h"
#include "lite/mnn/cv/mnn_colorizer.h"
#include "lite/mnn/cv/mnn_fast_style_transfer.h"
#include "lite/mnn/cv/mnn_subpixel_cnn.h"
#include "lite/mnn/cv/mnn_mg_matting.h"
#include "lite/mnn/cv/mnn_nanodet_plus.h"
#include "lite/mnn/cv/mnn_scrfd.h"
#include "lite/mnn/cv/mnn_yolo5face.h"
#include "lite/mnn/cv/mnn_faceboxesv2.h"
#include "lite/mnn/cv/mnn_pipnet98.h"
#include "lite/mnn/cv/mnn_pipnet68.h"
#include "lite/mnn/cv/mnn_pipnet29.h"
#include "lite/mnn/cv/mnn_pipnet19.h"
#endif
// ENABLE_NCNN
#ifdef ENABLE_NCNN
#include "lite/ncnn/core/ncnn_core.h"
#include "lite/ncnn/core/ncnn_utils.h"
#include "lite/ncnn/cv/ncnn_nanodet.h"
#include "lite/ncnn/cv/ncnn_nanodet_efficientnet_lite.h"
#include "lite/ncnn/cv/ncnn_nanodet_depreciated.h"
#include "lite/ncnn/cv/ncnn_nanodet_efficientdet_lite_depreciated.h"
#include "lite/ncnn/cv/ncnn_rvm.h"
#include "lite/ncnn/cv/ncnn_yolox.h"
#include "lite/ncnn/cv/ncnn_yolop.h"
#include "lite/ncnn/cv/ncnn_yolov5.h"
#include "lite/ncnn/cv/ncnn_yolox_v0.1.1.h"
#include "lite/ncnn/cv/ncnn_yolor.h"
#include "lite/ncnn/cv/ncnn_yolor_ssss.h"
#include "lite/ncnn/cv/ncnn_yolov5_v6.0.h"
#include "lite/ncnn/cv/ncnn_yolov5_v6.0_p6.h"
#include "lite/ncnn/cv/ncnn_glint_arcface.h"
#include "lite/ncnn/cv/ncnn_glint_cosface.h"
#include "lite/ncnn/cv/ncnn_glint_partial_fc.h"
#include "lite/ncnn/cv/ncnn_facenet.h"
#include "lite/ncnn/cv/ncnn_focal_arcface.h"
#include "lite/ncnn/cv/ncnn_focal_asia_arcface.h"
#include "lite/ncnn/cv/ncnn_tencent_curricular_face.h"
#include "lite/ncnn/cv/ncnn_tencent_cifp_face.h"
#include "lite/ncnn/cv/ncnn_center_loss_face.h"
#include "lite/ncnn/cv/ncnn_sphere_face.h"
#include "lite/ncnn/cv/ncnn_mobile_facenet.h"
#include "lite/ncnn/cv/ncnn_cava_ghost_arcface.h"
#include "lite/ncnn/cv/ncnn_cava_combined_face.h"
#include "lite/ncnn/cv/ncnn_mobilese_focal_face.h"
#include "lite/ncnn/cv/ncnn_ultraface.h"
#include "lite/ncnn/cv/ncnn_retinaface.h"
#include "lite/ncnn/cv/ncnn_faceboxes.h"
#include "lite/ncnn/cv/ncnn_face_landmarks_1000.h"
#include "lite/ncnn/cv/ncnn_pfld.h"
#include "lite/ncnn/cv/ncnn_pfld68.h"
#include "lite/ncnn/cv/ncnn_pfld98.h"
#include "lite/ncnn/cv/ncnn_mobilenetv2_68.h"
#include "lite/ncnn/cv/ncnn_mobilenetv2_se_68.h"
#include "lite/ncnn/cv/ncnn_age_googlenet.h"
#include "lite/ncnn/cv/ncnn_gender_googlenet.h"
#include "lite/ncnn/cv/ncnn_emotion_ferplus.h"
#include "lite/ncnn/cv/ncnn_efficient_emotion7.h"
#include "lite/ncnn/cv/ncnn_efficient_emotion8.h"
#include "lite/ncnn/cv/ncnn_mobile_emotion7.h"
#include "lite/ncnn/cv/ncnn_efficientnet_lite4.h"
#include "lite/ncnn/cv/ncnn_shufflenetv2.h"
#include "lite/ncnn/cv/ncnn_densenet.h"
#include "lite/ncnn/cv/ncnn_ghostnet.h"
#include "lite/ncnn/cv/ncnn_hdrdnet.h"
#include "lite/ncnn/cv/ncnn_ibnnet.h"
#include "lite/ncnn/cv/ncnn_mobilenetv2.h"
#include "lite/ncnn/cv/ncnn_resnet.h"
#include "lite/ncnn/cv/ncnn_resnext.h"
#include "lite/ncnn/cv/ncnn_deeplabv3_resnet101.h"
#include "lite/ncnn/cv/ncnn_fcn_resnet101.h"
#include "lite/ncnn/cv/ncnn_colorizer.h"
#include "lite/ncnn/cv/ncnn_fast_style_transfer.h"
#include "lite/ncnn/cv/ncnn_subpixel_cnn.h"
#include "lite/ncnn/cv/ncnn_nanodet_plus.h"
#include "lite/ncnn/cv/ncnn_scrfd.h"
#include "lite/ncnn/cv/ncnn_yolo5face.h"
#include "lite/ncnn/cv/ncnn_faceboxesv2.h"
#include "lite/ncnn/cv/ncnn_pipnet98.h"
#include "lite/ncnn/cv/ncnn_pipnet68.h"
#include "lite/ncnn/cv/ncnn_pipnet29.h"
#include "lite/ncnn/cv/ncnn_pipnet19.h"
#endif
// ENABLE_TNN
#ifdef ENABLE_TNN
#include "lite/tnn/core/tnn_core.h"
#include "lite/tnn/core/tnn_utils.h"
#include "lite/tnn/cv/tnn_yolox.h"
#include "lite/tnn/cv/tnn_rvm.h"
#include "lite/tnn/cv/tnn_yolop.h"
#include "lite/tnn/cv/tnn_nanodet.h"
#include "lite/tnn/cv/tnn_nanodet_efficientnet_lite.h"
#include "lite/tnn/cv/tnn_yolov5.h"
#include "lite/tnn/cv/tnn_yolox_v0.1.1.h"
#include "lite/tnn/cv/tnn_yolor.h"
#include "lite/tnn/cv/tnn_yolov5_v6.0.h"
#include "lite/tnn/cv/tnn_glint_arcface.h"
#include "lite/tnn/cv/tnn_glint_cosface.h"
#include "lite/tnn/cv/tnn_glint_partial_fc.h"
#include "lite/tnn/cv/tnn_facenet.h"
#include "lite/tnn/cv/tnn_focal_arcface.h"
#include "lite/tnn/cv/tnn_focal_asia_arcface.h"
#include "lite/tnn/cv/tnn_tencent_curricular_face.h"
#include "lite/tnn/cv/tnn_tencent_cifp_face.h"
#include "lite/tnn/cv/tnn_center_loss_face.h"
#include "lite/tnn/cv/tnn_sphere_face.h"
#include "lite/tnn/cv/tnn_mobile_facenet.h"
#include "lite/tnn/cv/tnn_cava_ghost_arcface.h"
#include "lite/tnn/cv/tnn_cava_combined_face.h"
#include "lite/tnn/cv/tnn_mobilese_focal_face.h"
#include "lite/tnn/cv/tnn_ultraface.h"
#include "lite/tnn/cv/tnn_retinaface.h"
#include "lite/tnn/cv/tnn_faceboxes.h"
#include "lite/tnn/cv/tnn_face_landmarks_1000.h"
#include "lite/tnn/cv/tnn_pfld.h"
#include "lite/tnn/cv/tnn_pfld68.h"
#include "lite/tnn/cv/tnn_pfld98.h"
#include "lite/tnn/cv/tnn_mobilenetv2_68.h"
#include "lite/tnn/cv/tnn_mobilenetv2_se_68.h"
#include "lite/tnn/cv/tnn_fsanet.h"
#include "lite/tnn/cv/tnn_age_googlenet.h"
#include "lite/tnn/cv/tnn_gender_googlenet.h"
#include "lite/tnn/cv/tnn_emotion_ferplus.h"
#include "lite/tnn/cv/tnn_efficient_emotion7.h"
#include "lite/tnn/cv/tnn_efficient_emotion8.h"
#include "lite/tnn/cv/tnn_ssrnet.h"
#include "lite/tnn/cv/tnn_mobile_emotion7.h"
#include "lite/tnn/cv/tnn_rexnet_emotion7.h"
#include "lite/tnn/cv/tnn_efficientnet_lite4.h"
#include "lite/tnn/cv/tnn_shufflenetv2.h"
#include "lite/tnn/cv/tnn_densenet.h"
#include "lite/tnn/cv/tnn_ghostnet.h"
#include "lite/tnn/cv/tnn_hdrdnet.h"
#include "lite/tnn/cv/tnn_ibnnet.h"
#include "lite/tnn/cv/tnn_mobilenetv2.h"
#include "lite/tnn/cv/tnn_resnet.h"
#include "lite/tnn/cv/tnn_resnext.h"
#include "lite/tnn/cv/tnn_deeplabv3_resnet101.h"
#include "lite/tnn/cv/tnn_fcn_resnet101.h"
#include "lite/tnn/cv/tnn_colorizer.h"
#include "lite/tnn/cv/tnn_fast_style_transfer.h"
#include "lite/tnn/cv/tnn_subpixel_cnn.h"
#include "lite/tnn/cv/tnn_mg_matting.h"
#include "lite/tnn/cv/tnn_nanodet_plus.h"
#include "lite/tnn/cv/tnn_scrfd.h"
#include "lite/tnn/cv/tnn_yolo5face.h"
#include "lite/tnn/cv/tnn_faceboxesv2.h"
#include "lite/tnn/cv/tnn_pipnet98.h"
#include "lite/tnn/cv/tnn_pipnet68.h"
#include "lite/tnn/cv/tnn_pipnet29.h"
#include "lite/tnn/cv/tnn_pipnet19.h"
#endif
// Default Engine ONNXRuntime
namespace lite
{
namespace cv
{
#ifdef BACKEND_ONNXRUNTIME
typedef ortcv::FSANet _FSANet;
typedef ortcv::PFLD _PFLD;
typedef ortcv::UltraFace _UltraFace;
typedef ortcv::AgeGoogleNet _AgeGoogleNet;
typedef ortcv::GenderGoogleNet _GenderGoogleNet;
typedef ortcv::EmotionFerPlus _EmotionFerPlus;
typedef ortcv::VGG16Age _VGG16Age;
typedef ortcv::VGG16Gender _VGG16Gender;
typedef ortcv::SSRNet _SSRNet;
typedef ortcv::FastStyleTransfer _FastStyleTransfer;
typedef ortcv::GlintArcFace _GlintArcFace;
typedef ortcv::Colorizer _Colorizer;
typedef ortcv::SubPixelCNN _SubPixelCNN;
typedef ortcv::YoloV4 _YoloV4;
typedef ortcv::YoloV3 _YoloV3;
typedef ortcv::YoloV5 _YoloV5;
typedef ortcv::EfficientNetLite4 _EfficientNetLite4;
typedef ortcv::ShuffleNetV2 _ShuffleNetV2;
typedef ortcv::TinyYoloV3 _TinyYoloV3;
typedef ortcv::SSD _SSD;
typedef ortcv::SSDMobileNetV1 _SSDMobileNetV1;
typedef ortcv::DeepLabV3ResNet101 _DeepLabV3ResNet101;
typedef ortcv::DenseNet _DenseNet;
typedef ortcv::FCNResNet101 _FCNResNet101;
typedef ortcv::GhostNet _GhostNet;
typedef ortcv::HdrDNet _HdrDNet;
typedef ortcv::IBNNet _IBNNet;
typedef ortcv::MobileNetV2 _MobileNetV2;
typedef ortcv::ResNet _ResNet;
typedef ortcv::ResNeXt _ResNeXt;
typedef ortcv::GlintCosFace _GlintCosFace;
typedef ortcv::GlintPartialFC _GlintPartialFC;
typedef ortcv::FaceNet _FaceNet;
typedef ortcv::FocalArcFace _FocalArcFace;
typedef ortcv::FocalAsiaArcFace _FocalAsiaArcFace;
typedef ortcv::TencentCifpFace _TencentCifpFace;
typedef ortcv::TencentCurricularFace _TencentCurricularFace;
typedef ortcv::CenterLossFace _CenterLossFace;
typedef ortcv::SphereFace _SphereFace;
typedef ortcv::PoseRobustFace _PoseRobustFace;
typedef ortcv::NaivePoseRobustFace _NaivePoseRobustFace;
typedef ortcv::MobileFaceNet _MobileFaceNet;
typedef ortcv::CavaGhostArcFace _CavaGhostArcFace;
typedef ortcv::CavaCombinedFace _CavaCombinedFace;
typedef ortcv::YoloX _YoloX;
typedef ortcv::MobileSEFocalFace _MobileSEFocalFace;
typedef ortcv::EfficientEmotion7 _EfficientEmotion7;
typedef ortcv::EfficientEmotion8 _EfficientEmotion8;
typedef ortcv::MobileEmotion7 _MobileEmotion7;
typedef ortcv::ReXNetEmotion7 _ReXNetEmotion7;
typedef ortcv::PFLD98 _PFLD98;
typedef ortcv::PFLD68 _PFLD68;
typedef ortcv::MobileNetV268 _MobileNetV268;
typedef ortcv::MobileNetV2SE68 _MobileNetV2SE68;
typedef ortcv::FaceLandmark1000 _FaceLandmark1000;
typedef ortcv::RetinaFace _RetinaFace;
typedef ortcv::FaceBoxes _FaceBoxes;
typedef ortcv::TinyYoloV4VOC _TinyYoloV4VOC;
typedef ortcv::TinyYoloV4COCO _TinyYoloV4COCO;
typedef ortcv::YoloR _YoloR;
typedef ortcv::ScaledYoloV4 _ScaledYoloV4;
typedef ortcv::EfficientDet _EfficientDet;
typedef ortcv::EfficientDetD7 _EfficientDetD7;
typedef ortcv::EfficientDetD8 _EfficientDetD8;
typedef ortcv::YOLOP _YOLOP;
typedef ortcv::RobustVideoMatting _RobustVideoMatting;
typedef ortcv::NanoDet _NanoDet;
typedef ortcv::NanoDetEfficientNetLite _NanoDetEfficientNetLite;
typedef ortcv::YoloX_V_0_1_1 _YoloX_V_0_1_1;
typedef ortcv::YoloV5_V_6_0 _YoloV5_V_6_0;
typedef ortcv::MGMatting _MGMatting;
typedef ortcv::NanoDetPlus _NanoDetPlus;
typedef ortcv::SCRFD _SCRFD;
typedef ortcv::YOLO5Face _YOLO5Face;
typedef ortcv::FaceBoxesV2 _FaceBoxesV2;
typedef ortcv::PIPNet98 _PIPNet98;
typedef ortcv::PIPNet68 _PIPNet68;
typedef ortcv::PIPNet29 _PIPNet29;
typedef ortcv::PIPNet19 _PIPNet19;
#endif
// 1. classification
namespace classification
{
#ifdef BACKEND_ONNXRUNTIME
typedef _EfficientNetLite4 EfficientNetLite4;
typedef _ShuffleNetV2 ShuffleNetV2;
typedef _DenseNet DenseNet;
typedef _GhostNet GhostNet;
typedef _HdrDNet HdrDNet;
typedef _IBNNet IBNNet;
typedef _MobileNetV2 MobileNetV2;
typedef _ResNet ResNet;
typedef _ResNeXt ResNeXt;
#endif
}
// 2. general object detection
namespace detection
{
#ifdef BACKEND_ONNXRUNTIME
typedef _YoloV3 YoloV3;
typedef _YoloV4 YoloV4;
typedef _YoloV5 YoloV5;
typedef _TinyYoloV3 TinyYoloV3;
typedef _SSD SSD;
typedef _SSDMobileNetV1 SSDMobileNetV1;
typedef _YoloX YoloX;
typedef _TinyYoloV4VOC TinyYoloV4VOC;
typedef _TinyYoloV4COCO TinyYoloV4COCO;
typedef _YoloR YoloR;
typedef _ScaledYoloV4 ScaledYoloV4;
typedef _EfficientDet EfficientDet;
typedef _EfficientDetD7 EfficientDetD7;
typedef _EfficientDetD8 EfficientDetD8;
typedef _YOLOP YOLOP;
typedef _NanoDet NanoDet;
typedef _NanoDetEfficientNetLite NanoDetEfficientNetLite;
typedef _YoloX_V_0_1_1 YoloX_V_0_1_1;
typedef _YoloV5_V_6_0 YoloV5_V_6_0;
typedef _NanoDetPlus NanoDetPlus;
#endif
}
// 3. face detection & facial attributes detection
namespace face
{
namespace detect
{
#ifdef BACKEND_ONNXRUNTIME
typedef _UltraFace UltraFace; // face detection.
typedef _RetinaFace RetinaFace;
typedef _FaceBoxes FaceBoxes;
typedef _SCRFD SCRFD;
typedef _YOLO5Face YOLO5Face;
typedef _FaceBoxesV2 FaceBoxesV2;
#endif
}
namespace align
{
#ifdef BACKEND_ONNXRUNTIME
typedef _PFLD PFLD; // facial landmarks detection. 106 points
typedef _PFLD98 PFLD98; // 98 points
typedef _PFLD68 PFLD68; // 68 points
typedef _MobileNetV268 MobileNetV268; // 68 points
typedef _MobileNetV2SE68 MobileNetV2SE68; // 68 points
typedef _FaceLandmark1000 FaceLandmark1000; // 1000 points
typedef _PIPNet98 PIPNet98; // 98 points
typedef _PIPNet68 PIPNet68; // 68 points
typedef _PIPNet29 PIPNet29; // 29 points
typedef _PIPNet19 PIPNet19; // 19 points
#endif
}
namespace pose
{
#ifdef BACKEND_ONNXRUNTIME
typedef _FSANet FSANet; // head pose estimation.
#endif
}
namespace attr
{
#ifdef BACKEND_ONNXRUNTIME
typedef _AgeGoogleNet AgeGoogleNet; // age estimation
typedef _GenderGoogleNet GenderGoogleNet; // gender estimation
typedef _VGG16Age VGG16Age; // age estimation
typedef _VGG16Gender VGG16Gender; // gender estimation
typedef _EmotionFerPlus EmotionFerPlus; // emotion detection
typedef _SSRNet SSRNet; // age estimation
typedef _EfficientEmotion7 EfficientEmotion7;
typedef _EfficientEmotion8 EfficientEmotion8;
typedef _MobileEmotion7 MobileEmotion7;
typedef _ReXNetEmotion7 ReXNetEmotion7;
#endif
}
}
// 4. face recognition
namespace faceid
{
#ifdef BACKEND_ONNXRUNTIME
typedef _GlintArcFace GlintArcFace; //
typedef _GlintCosFace GlintCosFace; //
typedef _GlintPartialFC GlintPartialFC;
typedef _FaceNet FaceNet;
typedef _FocalArcFace FocalArcFace;
typedef _FocalAsiaArcFace FocalAsiaArcFace;
typedef _TencentCurricularFace TencentCurricularFace;
typedef _TencentCifpFace TencentCifpFace;
typedef _CenterLossFace CenterLossFace;
typedef _SphereFace SphereFace;
typedef _PoseRobustFace PoseRobustFace;
typedef _NaivePoseRobustFace NaivePoseRobustFace;
typedef _MobileFaceNet MobileFaceNet;
typedef _CavaGhostArcFace CavaGhostArcFace;
typedef _CavaCombinedFace CavaCombinedFace;
typedef _MobileSEFocalFace MobileSEFocalFace;
#endif
}
// 5. segmentation
namespace segmentation
{
#ifdef BACKEND_ONNXRUNTIME
typedef _DeepLabV3ResNet101 DeepLabV3ResNet101;
typedef _FCNResNet101 FCNResNet101;
#endif
}
// 6. reid
namespace reid
{
#ifdef BACKEND_ONNXRUNTIME
#endif
}
// 7. ocr
namespace ocr
{
#ifdef BACKEND_ONNXRUNTIME
#endif
}
// 8. neural rendering
namespace render
{
#ifdef BACKEND_ONNXRUNTIME
#endif
}
// 9. style transfer
namespace style
{
#ifdef BACKEND_ONNXRUNTIME
typedef _FastStyleTransfer FastStyleTransfer;
#endif
}
// 10. colorization
namespace colorization
{
#ifdef BACKEND_ONNXRUNTIME
typedef _Colorizer Colorizer;
#endif
}
// 11. super resolution
namespace resolution
{
#ifdef BACKEND_ONNXRUNTIME
typedef _SubPixelCNN SubPixelCNN;
#endif
}
// 12. image & face & human matting
namespace matting
{
#ifdef BACKEND_ONNXRUNTIME
typedef _RobustVideoMatting RobustVideoMatting;
typedef _MGMatting MGMatting;
#endif
}
}
namespace asr
{
#ifdef BACKEND_ONNXRUNTIME
#endif
}
namespace nlp
{
#ifdef BACKEND_ONNXRUNTIME
#endif
}
}
// models for mobile device
namespace lite
{
namespace mobile
{
// classification
namespace classification
{
}
// object detection
namespace detection
{
}
// face etc.
namespace face
{
namespace detect
{
}
namespace align
{
}
namespace pose
{
}
namespace attr
{
}
}
// face recognition
namespace faceid
{
}
// segmentation
namespace segmentation
{
}
// reid
namespace reid
{
}
// ocr
namespace ocr
{
}
// matting
namespace matting
{
}
}
}
// ONNXRuntime version
namespace lite
{
#ifdef ENABLE_ONNXRUNTIME
namespace onnxruntime
{
namespace cv
{
typedef ortcv::FSANet _ONNXFSANet;
typedef ortcv::PFLD _ONNXPFLD;
typedef ortcv::UltraFace _ONNXUltraFace;
typedef ortcv::AgeGoogleNet _ONNXAgeGoogleNet;
typedef ortcv::GenderGoogleNet _ONNXGenderGoogleNet;
typedef ortcv::EmotionFerPlus _ONNXEmotionFerPlus;
typedef ortcv::VGG16Age _ONNXVGG16Age;
typedef ortcv::VGG16Gender _ONNXVGG16Gender;
typedef ortcv::SSRNet _ONNXSSRNet;
typedef ortcv::FastStyleTransfer _ONNXFastStyleTransfer;
typedef ortcv::GlintArcFace _ONNXGlintArcFace;
typedef ortcv::Colorizer _ONNXColorizer;
typedef ortcv::SubPixelCNN _ONNXSubPixelCNN;
typedef ortcv::YoloV4 _ONNXYoloV4;
typedef ortcv::YoloV3 _ONNXYoloV3;
typedef ortcv::YoloV5 _ONNXYoloV5;
typedef ortcv::EfficientNetLite4 _ONNXEfficientNetLite4;
typedef ortcv::ShuffleNetV2 _ONNXShuffleNetV2;
typedef ortcv::TinyYoloV3 _ONNXTinyYoloV3;
typedef ortcv::SSD _ONNXSSD;
typedef ortcv::SSDMobileNetV1 _ONNXSSDMobileNetV1;
typedef ortcv::DeepLabV3ResNet101 _ONNXDeepLabV3ResNet101;
typedef ortcv::DenseNet _ONNXDenseNet;
typedef ortcv::FCNResNet101 _ONNXFCNResNet101;
typedef ortcv::GhostNet _ONNXGhostNet;
typedef ortcv::HdrDNet _ONNXHdrDNet;
typedef ortcv::IBNNet _ONNXIBNNet;
typedef ortcv::MobileNetV2 _ONNXMobileNetV2;
typedef ortcv::ResNet _ONNXResNet;
typedef ortcv::ResNeXt _ONNXResNeXt;
typedef ortcv::GlintCosFace _ONNXGlintCosFace;
typedef ortcv::GlintPartialFC _ONNXGlintPartialFC;
typedef ortcv::FaceNet _ONNXFaceNet;
typedef ortcv::FocalArcFace _ONNXFocalArcFace;
typedef ortcv::FocalAsiaArcFace _ONNXFocalAsiaArcFace;
typedef ortcv::TencentCifpFace _ONNXTencentCifpFace;
typedef ortcv::TencentCurricularFace _ONNXTencentCurricularFace;
typedef ortcv::CenterLossFace _ONNXCenterLossFace;
typedef ortcv::SphereFace _ONNXSphereFace;
typedef ortcv::PoseRobustFace _ONNXPoseRobustFace;
typedef ortcv::NaivePoseRobustFace _ONNXNaivePoseRobustFace;
typedef ortcv::MobileFaceNet _ONNXMobileFaceNet;
typedef ortcv::CavaGhostArcFace _ONNXCavaGhostArcFace;
typedef ortcv::CavaCombinedFace _ONNXCavaCombinedFace;
typedef ortcv::YoloX _ONNXYoloX;
typedef ortcv::MobileSEFocalFace _ONNXMobileSEFocalFace;
typedef ortcv::EfficientEmotion7 _ONNXEfficientEmotion7;
typedef ortcv::EfficientEmotion8 _ONNXEfficientEmotion8;
typedef ortcv::MobileEmotion7 _ONNXMobileEmotion7;
typedef ortcv::ReXNetEmotion7 _ONNXReXNetEmotion7;
typedef ortcv::PFLD98 _ONNXPFLD98;
typedef ortcv::PFLD68 _ONNXPFLD68;
typedef ortcv::MobileNetV268 _ONNXMobileNetV268;
typedef ortcv::MobileNetV2SE68 _ONNXMobileNetV2SE68;
typedef ortcv::FaceLandmark1000 _ONNXFaceLandmark1000;
typedef ortcv::RetinaFace _ONNXRetinaFace;
typedef ortcv::FaceBoxes _ONNXFaceBoxes;
typedef ortcv::TinyYoloV4VOC _ONNXTinyYoloV4VOC;
typedef ortcv::TinyYoloV4COCO _ONNXTinyYoloV4COCO;
typedef ortcv::YoloR _ONNXYoloR;
typedef ortcv::ScaledYoloV4 _ONNXScaledYoloV4;
typedef ortcv::EfficientDet _ONNXEfficientDet;
typedef ortcv::EfficientDetD7 _ONNXEfficientDetD7;
typedef ortcv::EfficientDetD8 _ONNXEfficientDetD8;
typedef ortcv::YOLOP _ONNXYOLOP;
typedef ortcv::RobustVideoMatting _ONNXRobustVideoMatting;
typedef ortcv::NanoDet _ONNXNanoDet;
typedef ortcv::NanoDetEfficientNetLite _ONNXNanoDetEfficientNetLite;
typedef ortcv::YoloX_V_0_1_1 _ONNXYoloX_V_0_1_1;
typedef ortcv::YoloV5_V_6_0 _ONNXYoloV5_V_6_0;
typedef ortcv::MGMatting _ONNXMGMatting;
typedef ortcv::NanoDetPlus _ONNXNanoDetPlus;
typedef ortcv::SCRFD _ONNXSCRFD;
typedef ortcv::YOLO5Face _ONNXYOLO5Face;
typedef ortcv::FaceBoxesV2 _ONNXFaceBoxesV2;
typedef ortcv::PIPNet98 _ONNXPIPNet98;
typedef ortcv::PIPNet68 _ONNXPIPNet68;
typedef ortcv::PIPNet29 _ONNXPIPNet29;
typedef ortcv::PIPNet19 _ONNXPIPNet19;
// 1. classification
namespace classification
{
typedef _ONNXEfficientNetLite4 EfficientNetLite4;
typedef _ONNXShuffleNetV2 ShuffleNetV2;
typedef _ONNXDenseNet DenseNet;
typedef _ONNXGhostNet GhostNet;
typedef _ONNXHdrDNet HdrDNet;
typedef _ONNXIBNNet IBNNet;
typedef _ONNXMobileNetV2 MobileNetV2;
typedef _ONNXResNet ResNet;
typedef _ONNXResNeXt ResNeXt;
}
// 2. general object detection
namespace detection
{
typedef _ONNXYoloV3 YoloV3;
typedef _ONNXYoloV4 YoloV4;
typedef _ONNXYoloV5 YoloV5;
typedef _ONNXTinyYoloV3 TinyYoloV3;
typedef _ONNXSSD SSD;
typedef _ONNXSSDMobileNetV1 SSDMobileNetV1;
typedef _ONNXYoloX YoloX;
typedef _ONNXTinyYoloV4VOC TinyYoloV4VOC;
typedef _ONNXTinyYoloV4COCO TinyYoloV4COCO;
typedef _ONNXYoloR YoloR;
typedef _ONNXScaledYoloV4 ScaledYoloV4;
typedef _ONNXEfficientDet EfficientDet;
typedef _ONNXEfficientDetD7 EfficientDetD7;
typedef _ONNXEfficientDetD8 EfficientDetD8;
typedef _ONNXYOLOP YOLOP;
typedef _ONNXNanoDet NanoDet;
typedef _ONNXNanoDetEfficientNetLite NanoDetEfficientNetLite;
typedef _ONNXYoloX_V_0_1_1 YoloX_V_0_1_1;
typedef _ONNXYoloV5_V_6_0 YoloV5_V_6_0;
typedef _ONNXNanoDetPlus NanoDetPlus;
}
// 3. face detection & facial attributes detection
namespace face
{
namespace detect
{
typedef _ONNXUltraFace UltraFace; // face detection.
typedef _ONNXRetinaFace RetinaFace;
typedef _ONNXFaceBoxes FaceBoxes;
typedef _ONNXSCRFD SCRFD;
typedef _ONNXYOLO5Face YOLO5Face;
typedef _ONNXFaceBoxesV2 FaceBoxesV2;
}
namespace align
{
typedef _ONNXPFLD PFLD; // facial landmarks detection. 106 points
typedef _ONNXPFLD98 PFLD98; // 98 points
typedef _ONNXPFLD68 PFLD68; // 68 points
typedef _ONNXMobileNetV268 MobileNetV268; // 68 points
typedef _ONNXMobileNetV2SE68 MobileNetV2SE68; // 68 points
typedef _ONNXFaceLandmark1000 FaceLandmark1000; // 1000 points
typedef _ONNXPIPNet98 PIPNet98; // 98 points
typedef _ONNXPIPNet68 PIPNet68; // 68 points
typedef _ONNXPIPNet29 PIPNet29; // 29 points
typedef _ONNXPIPNet19 PIPNet19; // 19 points
}
namespace pose
{
typedef _ONNXFSANet FSANet; // head pose estimation.
}
namespace attr
{
typedef _ONNXAgeGoogleNet AgeGoogleNet; // age estimation
typedef _ONNXGenderGoogleNet GenderGoogleNet; // gender estimation
typedef _ONNXVGG16Age VGG16Age; // age estimation
typedef _ONNXVGG16Gender VGG16Gender; // gender estimation
typedef _ONNXEmotionFerPlus EmotionFerPlus; // emotion detection
typedef _ONNXSSRNet SSRNet; // age estimation
typedef _ONNXEfficientEmotion7 EfficientEmotion7;
typedef _ONNXEfficientEmotion8 EfficientEmotion8;
typedef _ONNXMobileEmotion7 MobileEmotion7;
typedef _ONNXReXNetEmotion7 ReXNetEmotion7;
}
}
// 4. face recognition
namespace faceid
{
typedef _ONNXGlintArcFace GlintArcFace; //
typedef _ONNXGlintCosFace GlintCosFace; //
typedef _ONNXGlintPartialFC GlintPartialFC;
typedef _ONNXFaceNet FaceNet;
typedef _ONNXFocalArcFace FocalArcFace;
typedef _ONNXFocalAsiaArcFace FocalAsiaArcFace;
typedef _ONNXTencentCifpFace TencentCifpFace;
typedef _ONNXTencentCurricularFace TencentCurricularFace;
typedef _ONNXCenterLossFace CenterLossFace;
typedef _ONNXSphereFace SphereFace;
typedef _ONNXPoseRobustFace PoseRobustFace;
typedef _ONNXNaivePoseRobustFace NaivePoseRobustFace;
typedef _ONNXMobileFaceNet MobileFaceNet;
typedef _ONNXCavaGhostArcFace CavaGhostArcFace;
typedef _ONNXCavaCombinedFace CavaCombinedFace;
typedef _ONNXMobileSEFocalFace MobileSEFocalFace;
}
// 5. segmentation
namespace segmentation
{
typedef _ONNXDeepLabV3ResNet101 DeepLabV3ResNet101;
typedef _ONNXFCNResNet101 FCNResNet101;
}
// 6. reid
namespace reid
{
}
// 7. ocr
namespace ocr
{
}
// 8. neural rendering
namespace render
{
}
// 9. style transfer
namespace style
{
typedef _ONNXFastStyleTransfer FastStyleTransfer;
}
// 10. colorization
namespace colorization
{
typedef _ONNXColorizer Colorizer;
}
// 11. super resolution
namespace resolution
{
typedef _ONNXSubPixelCNN SubPixelCNN;
}
// 12. image & face & human matting
namespace matting
{
typedef _ONNXRobustVideoMatting RobustVideoMatting;
typedef _ONNXMGMatting MGMatting;
}
}
}
#endif
}
// MNN version
namespace lite
{
#ifdef ENABLE_MNN
namespace mnn
{
namespace cv
{
// classification
namespace classification
{
typedef mnncv::MNNEfficientNetLite4 EfficientNetLite4;
typedef mnncv::MNNShuffleNetV2 ShuffleNetV2;
typedef mnncv::MNNDenseNet DenseNet;
typedef mnncv::MNNGhostNet GhostNet;
typedef mnncv::MNNHdrDNet HdrDNet;
typedef mnncv::MNNIBNNet IBNNet;
typedef mnncv::MNNMobileNetV2 MobileNetV2;
typedef mnncv::MNNResNet ResNet;
typedef mnncv::MNNResNeXt ResNeXt;
}
// object detection
namespace detection
{
typedef mnncv::MNNNanoDet NanoDet;
typedef mnncv::MNNNanoDetEfficientNetLite NanoDetEfficientNetLite;
typedef mnncv::MNNYoloX YoloX;
typedef mnncv::MNNYOLOP YOLOP;
typedef mnncv::MNNYoloV5 YoloV5;
typedef mnncv::MNNYoloX_V_0_1_1 YoloX_V_0_1_1;
typedef mnncv::MNNYoloR YoloR;
typedef mnncv::MNNYoloV5_V_6_0 YoloV5_V_6_0;
typedef mnncv::MNNNanoDetPlus NanoDetPlus;
}
// face etc.
namespace face
{
namespace detect
{
typedef mnncv::MNNUltraFace UltraFace;
typedef mnncv::MNNRetinaFace RetinaFace;
typedef mnncv::MNNFaceBoxes FaceBoxes;
typedef mnncv::MNNSCRFD SCRFD;
typedef mnncv::MNNYOLO5Face YOLO5Face;
typedef mnncv::MNNFaceBoxesV2 FaceBoxesV2;
}
namespace align
{
typedef mnncv::MNNFaceLandmark1000 FaceLandmark1000;
typedef mnncv::MNNPFLD PFLD;
typedef mnncv::MNNPFLD68 PFLD68;
typedef mnncv::MNNPFLD98 PFLD98;
typedef mnncv::MNNMobileNetV268 MobileNetV268;
typedef mnncv::MNNMobileNetV2SE68 MobileNetV2SE68;
typedef mnncv::MNNPIPNet98 PIPNet98;
typedef mnncv::MNNPIPNet68 PIPNet68;
typedef mnncv::MNNPIPNet29 PIPNet29;
typedef mnncv::MNNPIPNet19 PIPNet19;
}
namespace pose
{
typedef mnncv::MNNFSANet FSANet;
}
namespace attr
{
typedef mnncv::MNNAgeGoogleNet AgeGoogleNet;
typedef mnncv::MNNGenderGoogleNet GenderGoogleNet;
typedef mnncv::MNNEmotionFerPlus EmotionFerPlus;
typedef mnncv::MNNSSRNet SSRNet;
typedef mnncv::MNNEfficientEmotion7 EfficientEmotion7;
typedef mnncv::MNNEfficientEmotion8 EfficientEmotion8;
typedef mnncv::MNNMobileEmotion7 MobileEmotion7;
typedef mnncv::MNNReXNetEmotion7 ReXNetEmotion7;
}
}
// face recognition
namespace faceid
{
typedef mnncv::MNNGlintArcFace GlintArcFace;
typedef mnncv::MNNGlintCosFace GlintCosFace;
typedef mnncv::MNNGlintPartialFC GlintPartialFC;
typedef mnncv::MNNFaceNet FaceNet;
typedef mnncv::MNNFocalArcFace FocalArcFace;
typedef mnncv::MNNFocalAsiaArcFace FocalAsiaArcFace;
typedef mnncv::MNNTencentCurricularFace TencentCurricularFace;
typedef mnncv::MNNTencentCifpFace TencentCifpFace;
typedef mnncv::MNNCenterLossFace CenterLossFace;
typedef mnncv::MNNSphereFace SphereFace;
typedef mnncv::MNNMobileFaceNet MobileFaceNet;
typedef mnncv::MNNCavaGhostArcFace CavaGhostArcFace;
typedef mnncv::MNNCavaCombinedFace CavaCombinedFace;
typedef mnncv::MNNMobileSEFocalFace MobileSEFocalFace;
}
// segmentation
namespace segmentation
{
typedef mnncv::MNNDeepLabV3ResNet101 DeepLabV3ResNet101;
typedef mnncv::MNNFCNResNet101 FCNResNet101;
}
// reid
namespace reid
{
}
// ocr
namespace ocr
{
}
// matting
namespace matting
{
typedef mnncv::MNNRobustVideoMatting RobustVideoMatting;
typedef mnncv::MNNMGMatting MGMatting;
}
// style transfer
namespace style
{
typedef mnncv::MNNFastStyleTransfer FastStyleTransfer;
}
// colorization
namespace colorization
{
typedef mnncv::MNNColorizer Colorizer;
}
// super resolution
namespace resolution
{
typedef mnncv::MNNSubPixelCNN SubPixelCNN;
}
} // namespace cv
}
#endif
}
// NCNN version
namespace lite
{
#ifdef ENABLE_NCNN
namespace ncnn
{
namespace cv
{
// classification
namespace classification
{
typedef ncnncv::NCNNEfficientNetLite4 EfficientNetLite4;
typedef ncnncv::NCNNShuffleNetV2 ShuffleNetV2;
typedef ncnncv::NCNNDenseNet DenseNet;
typedef ncnncv::NCNNGhostNet GhostNet;
typedef ncnncv::NCNNHdrDNet HdrDNet;
typedef ncnncv::NCNNIBNNet IBNNet;
typedef ncnncv::NCNNMobileNetV2 MobileNetV2;
typedef ncnncv::NCNNResNet ResNet;
typedef ncnncv::NCNNResNeXt ResNeXt;
}
// object detection
namespace detection
{
typedef ncnncv::NCNNNanoDet NanoDet;
typedef ncnncv::NCNNNanoDetEfficientNetLite NanoDetEfficientNetLite;
typedef ncnncv::NCNNNanoDetDepreciated NanoDetDepreciated;
typedef ncnncv::NCNNNanoDetEfficientNetLiteDepreciated NanoDetEfficientNetLiteDepreciated;
typedef ncnncv::NCNNYoloX YoloX;
typedef ncnncv::NCNNYOLOP YOLOP;
typedef ncnncv::NCNNYoloV5 YoloV5;
typedef ncnncv::NCNNYoloX_V_0_1_1 YoloX_V_0_1_1;
typedef ncnncv::NCNNYoloR YoloR;
typedef ncnncv::NCNNYoloRssss YoloRssss;
typedef ncnncv::NCNNYoloV5_V_6_0 YoloV5_V_6_0;
typedef ncnncv::NCNNYoloV5_V_6_0_P6 YoloV5_V_6_0_P6;
typedef ncnncv::NCNNNanoDetPlus NanoDetPlus;
}
// face etc.
namespace face
{
namespace detect
{
typedef ncnncv::NCNNUltraFace UltraFace;
typedef ncnncv::NCNNRetinaFace RetinaFace;
typedef ncnncv::NCNNFaceBoxes FaceBoxes;
typedef ncnncv::NCNNSCRFD SCRFD;
typedef ncnncv::NCNNYOLO5Face YOLO5Face;
typedef ncnncv::NCNNFaceBoxesV2 FaceBoxesV2;
}
namespace align
{
typedef ncnncv::NCNNFaceLandmark1000 FaceLandmark1000;
typedef ncnncv::NCNNPFLD PFLD;
typedef ncnncv::NCNNPFLD68 PFLD68;
typedef ncnncv::NCNNPFLD98 PFLD98;
typedef ncnncv::NCNNMobileNetV268 MobileNetV268;
typedef ncnncv::NCNNMobileNetV2SE68 MobileNetV2SE68;
typedef ncnncv::NCNNPIPNet98 PIPNet98;
typedef ncnncv::NCNNPIPNet68 PIPNet68;
typedef ncnncv::NCNNPIPNet29 PIPNet29;
typedef ncnncv::NCNNPIPNet19 PIPNet19;
}
namespace pose
{
}
namespace attr
{
typedef ncnncv::NCNNAgeGoogleNet AgeGoogleNet;
typedef ncnncv::NCNNGenderGoogleNet GenderGoogleNet;
typedef ncnncv::NCNNEmotionFerPlus EmotionFerPlus;
typedef ncnncv::NCNNEfficientEmotion7 EfficientEmotion7;
typedef ncnncv::NCNNEfficientEmotion8 EfficientEmotion8;
typedef ncnncv::NCNNMobileEmotion7 MobileEmotion7;
}
}
// face recognition
namespace faceid
{
typedef ncnncv::NCNNGlintArcFace GlintArcFace;
typedef ncnncv::NCNNGlintCosFace GlintCosFace;
typedef ncnncv::NCNNGlintPartialFC GlintPartialFC;
typedef ncnncv::NCNNFaceNet FaceNet;
typedef ncnncv::NCNNFocalArcFace FocalArcFace;
typedef ncnncv::NCNNFocalAsiaArcFace FocalAsiaArcFace;
typedef ncnncv::NCNNTencentCurricularFace TencentCurricularFace;
typedef ncnncv::NCNNTencentCifpFace TencentCifpFace;
typedef ncnncv::NCNNCenterLossFace CenterLossFace;
typedef ncnncv::NCNNSphereFace SphereFace;
typedef ncnncv::NCNNMobileFaceNet MobileFaceNet;
typedef ncnncv::NCNNCavaGhostArcFace CavaGhostArcFace;
typedef ncnncv::NCNNCavaCombinedFace CavaCombinedFace;
typedef ncnncv::NCNNMobileSEFocalFace MobileSEFocalFace;
}
// segmentation
namespace segmentation
{
typedef ncnncv::NCNNDeepLabV3ResNet101 DeepLabV3ResNet101;
typedef ncnncv::NCNNFCNResNet101 FCNResNet101;
}
// reid
namespace reid
{
}
// ocr
namespace ocr
{
}
// matting
namespace matting
{
typedef ncnncv::NCNNRobustVideoMatting RobustVideoMatting;
}
// style transfer
namespace style
{
typedef ncnncv::NCNNFastStyleTransfer FastStyleTransfer;
}
// colorization
namespace colorization
{
typedef ncnncv::NCNNColorizer Colorizer;
}
// super resolution
namespace resolution
{
typedef ncnncv::NCNNSubPixelCNN SubPixelCNN;
}
} // namespace cv
}
#endif
}
// TNN version
namespace lite
{
#ifdef ENABLE_TNN
namespace tnn
{
namespace cv
{
// classification
namespace classification
{
typedef tnncv::TNNEfficientNetLite4 EfficientNetLite4;
typedef tnncv::TNNShuffleNetV2 ShuffleNetV2;
typedef tnncv::TNNDenseNet DenseNet;
typedef tnncv::TNNGhostNet GhostNet;
typedef tnncv::TNNHdrDNet HdrDNet;
typedef tnncv::TNNIBNNet IBNNet;
typedef tnncv::TNNMobileNetV2 MobileNetV2;
typedef tnncv::TNNResNet ResNet;
typedef tnncv::TNNResNeXt ResNeXt;
}
// object detection
namespace detection
{
typedef tnncv::TNNYoloX YoloX;
typedef tnncv::TNNYOLOP YOLOP;
typedef tnncv::TNNNanoDet NanoDet;
typedef tnncv::TNNNanoDetEfficientNetLite NanoDetEfficientNetLite;
typedef tnncv::TNNYoloV5 YoloV5;
typedef tnncv::TNNYoloX_V_0_1_1 YoloX_V_0_1_1;
typedef tnncv::TNNYoloR YoloR;
typedef tnncv::TNNYoloV5_V_6_0 YoloV5_V_6_0;
typedef tnncv::TNNNanoDetPlus NanoDetPlus;
}
// face etc.
namespace face
{
namespace detect
{
typedef tnncv::TNNUltraFace UltraFace;
typedef tnncv::TNNRetinaFace RetinaFace;
typedef tnncv::TNNFaceBoxes FaceBoxes;
typedef tnncv::TNNSCRFD SCRFD;
typedef tnncv::TNNYOLO5Face YOLO5Face;
typedef tnncv::TNNFaceBoxesV2 FaceBoxesV2;
}
namespace align
{
typedef tnncv::TNNFaceLandmark1000 FaceLandmark1000;
typedef tnncv::TNNPFLD PFLD;
typedef tnncv::TNNPFLD68 PFLD68;
typedef tnncv::TNNPFLD98 PFLD98;
typedef tnncv::TNNMobileNetV268 MobileNetV268;
typedef tnncv::TNNMobileNetV2SE68 MobileNetV2SE68;
typedef tnncv::TNNPIPNet98 PIPNet98;
typedef tnncv::TNNPIPNet68 PIPNet68;
typedef tnncv::TNNPIPNet29 PIPNet29;
typedef tnncv::TNNPIPNet19 PIPNet19;
}
namespace pose
{
typedef tnncv::TNNFSANet FSANet;
}
namespace attr
{
typedef tnncv::TNNAgeGoogleNet AgeGoogleNet;
typedef tnncv::TNNGenderGoogleNet GenderGoogleNet;
typedef tnncv::TNNEmotionFerPlus EmotionFerPlus;
typedef tnncv::TNNSSRNet SSRNet;
typedef tnncv::TNNEfficientEmotion7 EfficientEmotion7;
typedef tnncv::TNNEfficientEmotion8 EfficientEmotion8;
typedef tnncv::TNNMobileEmotion7 MobileEmotion7;
typedef tnncv::TNNReXNetEmotion7 ReXNetEmotion7;
}
}
// face recognition
namespace faceid
{
typedef tnncv::TNNGlintArcFace GlintArcFace;
typedef tnncv::TNNGlintCosFace GlintCosFace;
typedef tnncv::TNNGlintPartialFC GlintPartialFC;
typedef tnncv::TNNFaceNet FaceNet;
typedef tnncv::TNNFocalArcFace FocalArcFace;
typedef tnncv::TNNFocalAsiaArcFace FocalAsiaArcFace;
typedef tnncv::TNNTencentCurricularFace TencentCurricularFace;
typedef tnncv::TNNTencentCifpFace TencentCifpFace;
typedef tnncv::TNNCenterLossFace CenterLossFace;
typedef tnncv::TNNSphereFace SphereFace;
typedef tnncv::TNNMobileFaceNet MobileFaceNet;
typedef tnncv::TNNCavaGhostArcFace CavaGhostArcFace;
typedef tnncv::TNNCavaCombinedFace CavaCombinedFace;
typedef tnncv::TNNMobileSEFocalFace MobileSEFocalFace;
}
// segmentation
namespace segmentation
{
typedef tnncv::TNNDeepLabV3ResNet101 DeepLabV3ResNet101;
typedef tnncv::TNNFCNResNet101 FCNResNet101;
}
// reid
namespace reid
{
}
// ocr
namespace ocr
{
}
// matting
namespace matting
{
typedef tnncv::TNNRobustVideoMatting RobustVideoMatting;
typedef tnncv::TNNMGMatting MGMatting;
}
// style transfer
namespace style
{
typedef tnncv::TNNFastStyleTransfer FastStyleTransfer;
}
// colorization
namespace colorization
{
typedef tnncv::TNNColorizer Colorizer;
}
// super resolution
namespace resolution
{
typedef tnncv::TNNSubPixelCNN SubPixelCNN;
}
} // namespace cv
}
#endif
}
#endif //LITE_AI_MODELS_H