AisDeployC
Deploy Library for Artificial Intelligence System
|
Go to the source code of this file.
Classes | |
struct | bounding_box |
struct | classification |
Macros | |
#define | AisDeployC_API extern "C" |
Typedefs | |
typedef struct bounding_box | bounding_box |
typedef struct classification | classification |
Functions | |
AisDeployC_API int | check_version () |
检查当前库版本号与头文件版本号是否一致 | |
AisDeployC_API std::string | get_version () |
获得当前库版本号 | |
AisDeployC_API void * | initialize (const char *model_path, int gpu_id, int *state) |
模型初始化 | |
AisDeployC_API int | process_images (void *base, std::vector< cv::Mat > &imgs) |
处理图片 | |
AisDeployC_API int | get_categories (void *base, std::vector< std::string > &out_categories) |
获得类别列表 | |
AisDeployC_API int | get_per_category_binary_masks (void *base, std::vector< std::vector< cv::Mat > > &per_category_masks) |
获得每类别的二值掩模 | |
AisDeployC_API int | get_per_category_score_maps (void *base, std::vector< std::vector< cv::Mat > > &per_category_score_maps) |
获得每类别的置信度图 | |
AisDeployC_API int | get_binary_mask_from_score_map (cv::Mat score_map, cv::Mat &binary_mask, float thresh) |
置信度图阈值处理获得二值掩模 | |
AisDeployC_API int | erode_binary_mask (cv::Mat &binary_mask, int kernel_size, int iter_erode) |
二值掩模腐蚀处理 | |
AisDeployC_API int | dilate_binary_mask (cv::Mat &binary_mask, int kernel_size, int iter_dilate) |
二值掩模膨胀处理 | |
AisDeployC_API int | cal_per_category_instances (void *base, std::vector< std::vector< cv::Mat > > per_category_score_maps, std::vector< std::vector< cv::Mat > > per_category_masks) |
计算每类别的实例 blob(输入掩模和置信度图) | |
AisDeployC_API int | get_per_batch_instance_number (void *base, std::vector< int > &per_batch_instance_number) |
获得每个批次的实例个数 | |
AisDeployC_API int | get_per_batch_instances (void *base, std::vector< std::vector< bounding_box > > &per_batch_instances) |
获得每个批次的实例 | |
AisDeployC_API int | get_per_batch_instance_mask_areas (void *base, std::vector< std::vector< float > > &per_batch_instance_mask_areas) |
获得每个批次的实例掩模面积 | |
AisDeployC_API int | release (void *base) |
释放实例 | |
AisDeployC_API int | update_license (void *base, const char *path) |
更新授权文件信息 | |
AisDeployC_API int | generate_license (void *base) |
生成未授权文件 | |
AisDeployC_API int | py_process_json_str (void *base, const char *input, int input_size) |
python使用的处理json string输入格式的接口 | |
AisDeployC_API int | py_get_json_str_results (void *base, char **output, int *output_size) |
python使用的获取json string输出格式的接口 | |
AisDeployC_API int | py_free_result (char *output) |
python使用的释放返回结果的接口 | |
AisDeployC_API int | get_per_batch_embeddings (void *base, std::vector< std::vector< float > > &per_batch_embeddings) |
获得每个批次的图像特征嵌入 | |
AisDeployC_API int | get_per_batch_embeddings_3d (void *base, std::vector< std::vector< std::vector< std::vector< float > > > > &per_batch_embeddings) |
获得每个批次的图像3D特征嵌入 | |
AisDeployC_API int | process_embedding_3d_prompt (void *base, std::vector< std::vector< std::vector< std::vector< float > > > > batch_embeddings, std::vector< std::vector< std::vector< float > > > point_coords, std::vector< std::vector< float > > point_labels, std::vector< std::vector< std::vector< std::vector< float > > > > batch_mask_input, std::vector< float > has_mask_input, std::vector< std::vector< float > > orig_im_size) |
处理图片 | |
AisDeployC_API int | load_keys_embeddings (void *base, std::vector< std::string > &vec_keys, std::vector< std::vector< float > > &vec_embeddings) |
批量加载 字段 和 特征嵌入 对 | |
AisDeployC_API int | compare_with_ground_embeddings (void *base, std::vector< std::vector< float > > &vec_embeddings, std::vector< std::string > &ground_keys, std::vector< std::vector< float > > &vec_scores) |
将特征嵌入与底库内的特征嵌入进行比较 | |
AisDeployC_API int | py_compare_with_ground_embeddings (void *base, const char *input, int input_size, char **output, int *output_size) |
python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口 | |
AisDeployC_API int | py_process_decoder (void *base, const char *input, int input_size, char **output, int *output_size) |
python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口 | |
AisDeployC_API int | get_per_batch_classification (void *base, std::vector< classification > &per_batch_cls) |
获得每个批次的分类结果 | |
AisDeployC_API int | get_per_batch_pose_estimation (void *base, std::vector< std::vector< std::vector< float > > > &per_batch_pose) |
获得每个批次的姿态估计结果 | |
Variables | |
const std::string | AisDeployCVersion ="v0.3.3b" |
#define AisDeployC_API extern "C" |
Definition at line 13 of file interface.h.
typedef struct bounding_box bounding_box |
typedef struct classification classification |
AisDeployC_API int cal_per_category_instances | ( | void * | base, |
std::vector< std::vector< cv::Mat > > | per_category_score_maps, | ||
std::vector< std::vector< cv::Mat > > | per_category_masks ) |
计算每类别的实例 blob(输入掩模和置信度图)
输入掩模和置信度图,计算每类别的实例 blob
base | initialize返回的模型指针 |
per_category_score_maps | 输入每类别的置信度图,一般是get_per_category_score_maps接收的per_category_score_maps |
per_category_masks | 输入每类别的置信度图,一般是get_per_category_binary_masks接收的per_category_masks,或者是它经过腐蚀膨胀处理后的二值掩模组成 |
AisDeployC_API int check_version | ( | ) |
检查当前库版本号与头文件版本号是否一致
检查当前库版本号与头文件版本号是否一致
AisDeployC_API int compare_with_ground_embeddings | ( | void * | base, |
std::vector< std::vector< float > > & | vec_embeddings, | ||
std::vector< std::string > & | ground_keys, | ||
std::vector< std::vector< float > > & | vec_scores ) |
将特征嵌入与底库内的特征嵌入进行比较
将特征嵌入与底库内的特征嵌入进行比较,获得比较结果(字段与对应的置信度)
base | initialize返回的模型指针 |
vec_embeddings | 批量的特征嵌入,维度记为N维 |
ground_keys | 底库中的字段,维度记为M维 |
vec_scores | 比较的阈值结果,如果比较的vec_embeddings是N维,底库的长度是M维,则输出的vec_scores的维度是NxM |
AisDeployC_API int dilate_binary_mask | ( | cv::Mat & | binary_mask, |
int | kernel_size, | ||
int | iter_dilate ) |
二值掩模膨胀处理
二值掩模膨胀处理
binary_mask | 处理的二值掩模,由于使用的是引用,所以会直接以该变量接收处理结果 |
kernel_size | 膨胀处理的核大小,>1 |
iter_dilate | 膨胀处理迭代次数, >=1 |
AisDeployC_API int erode_binary_mask | ( | cv::Mat & | binary_mask, |
int | kernel_size, | ||
int | iter_erode ) |
二值掩模腐蚀处理
二值掩模腐蚀处理
binary_mask | 处理的二值掩模,由于使用的是引用,所以会直接以该变量接收处理结果 |
kernel_size | 腐蚀处理的核大小,>1 |
iter_erode | 腐蚀处理迭代次数, >=1 |
AisDeployC_API int generate_license | ( | void * | base | ) |
生成未授权文件
生成授权文件
base | initialize返回的模型指针 |
AisDeployC_API int get_binary_mask_from_score_map | ( | cv::Mat | score_map, |
cv::Mat & | binary_mask, | ||
float | thresh ) |
置信度图阈值处理获得二值掩模
置信度图阈值处理获得二值掩模
score_map | 输入置信度图,一般是get_per_category_score_maps接收per_category_score_maps中单个score_map,值域需要控制在[0,1] |
binary_mask | 用来接收处理的二值掩模结果 |
thresh | 处理的阈值,值域(0,1) |
AisDeployC_API int get_categories | ( | void * | base, |
std::vector< std::string > & | out_categories ) |
获得类别列表
获得当前模型的类别列表
base | initialize返回的模型指针 |
out_categories | 用来接收类别列表变量 |
AisDeployC_API int get_per_batch_classification | ( | void * | base, |
std::vector< classification > & | per_batch_cls ) |
获得每个批次的分类结果
在实例计算结束后,获得每个批次的分类结果
base | initialize返回的模型指针 |
per_batch_cls | 获得每个批次的分类结果,分类结果使用结构体classification表达 |
AisDeployC_API int get_per_batch_embeddings | ( | void * | base, |
std::vector< std::vector< float > > & | per_batch_embeddings ) |
获得每个批次的图像特征嵌入
在实例计算结束后,获得每个批次的图像特征嵌入
base | initialize返回的模型指针 |
per_batch_embeddings | 获得每个批次的实例的图像特征嵌入 |
AisDeployC_API int get_per_batch_embeddings_3d | ( | void * | base, |
std::vector< std::vector< std::vector< std::vector< float > > > > & | per_batch_embeddings ) |
获得每个批次的图像3D特征嵌入
在实例计算结束后,获得每个批次的图像特征嵌入
base | initialize返回的模型指针 |
per_batch_embeddings | 获得每个批次的实例的图像特征嵌入 |
AisDeployC_API int get_per_batch_instance_mask_areas | ( | void * | base, |
std::vector< std::vector< float > > & | per_batch_instance_mask_areas ) |
获得每个批次的实例掩模面积
在实例计算结束后,获得每个批次的实例掩模面积
base | initialize返回的模型指针 |
per_batch_instance_mask_areas | 获得每个批次的实例掩模面积 |
AisDeployC_API int get_per_batch_instance_number | ( | void * | base, |
std::vector< int > & | per_batch_instance_number ) |
获得每个批次的实例个数
在实例计算结束后,获得每个批次的实例个数
base | initialize返回的模型指针 |
per_batch_instance_number | 获得每个批次的实例个数,第一层vector代表批次,与process_images中输入imgs对应 |
AisDeployC_API int get_per_batch_instances | ( | void * | base, |
std::vector< std::vector< bounding_box > > & | per_batch_instances ) |
获得每个批次的实例
在实例计算结束后,获得每个批次的实例
base | initialize返回的模型指针 |
per_batch_instances | 获得每个批次的实例,实例使用结构体bounding_box表达 |
AisDeployC_API int get_per_batch_pose_estimation | ( | void * | base, |
std::vector< std::vector< std::vector< float > > > & | per_batch_pose ) |
获得每个批次的姿态估计结果
在实例计算结束后,获得每个批次的姿态估计结果
base | initialize返回的模型指针 |
per_batch_pose | 获得每个批次的姿态估计结果,姿态估计结果结果使用std::vector<float>表示,其中每个float表示一个关键点的坐标{x, y} |
AisDeployC_API int get_per_category_binary_masks | ( | void * | base, |
std::vector< std::vector< cv::Mat > > & | per_category_masks ) |
获得每类别的二值掩模
获得当前模型的处理图像批次(前向推理)后的每类别的二值掩模结果
base | initialize返回的模型指针 |
per_category_masks | 用来接收每类别的二值掩模结果,第一层vector代表类别(与get_categories的接收out_categories对应),第二层vector代表批次(与process_images输入imgs对应) |
AisDeployC_API int get_per_category_score_maps | ( | void * | base, |
std::vector< std::vector< cv::Mat > > & | per_category_score_maps ) |
获得每类别的置信度图
获得当前模型的处理图像批次(前向推理)后的每类别的置信度图
base | initialize返回的模型指针 |
per_category_score_maps | 用来接收每类别的置信度图结果,第一层vector代表类别(与get_categories的接收out_categories对应),第二层vector代表批次(与process_images输入imgs对应) |
AisDeployC_API std::string get_version | ( | ) |
获得当前库版本号
获得当前库的版本号,格式为v0.0.0
AisDeployC_API void * initialize | ( | const char * | model_path, |
int | gpu_id, | ||
int * | state ) |
模型初始化
根据模型路径、GPU ID 初始化模型
model_path | 模型路径 |
gpu_id | 显卡(GPU) ID,0代表0号显卡;-1代表不使用GPU |
state | 执行状态,0代表执行成功 |
AisDeployC_API int load_keys_embeddings | ( | void * | base, |
std::vector< std::string > & | vec_keys, | ||
std::vector< std::vector< float > > & | vec_embeddings ) |
批量加载 字段 和 特征嵌入 对
批量加载 字段 和 特征嵌入 对,形成底库
base | initialize返回的模型指针 |
vec_keys | 批量的字段 |
vec_embeddings | 批量的特征嵌入 |
AisDeployC_API int process_embedding_3d_prompt | ( | void * | base, |
std::vector< std::vector< std::vector< std::vector< float > > > > | batch_embeddings, | ||
std::vector< std::vector< std::vector< float > > > | point_coords, | ||
std::vector< std::vector< float > > | point_labels, | ||
std::vector< std::vector< std::vector< std::vector< float > > > > | batch_mask_input, | ||
std::vector< float > | has_mask_input, | ||
std::vector< std::vector< float > > | orig_im_size ) |
处理图片
使用模型处理3维嵌入和提示词(前向推理)
AisDeployC_API int process_images | ( | void * | base, |
std::vector< cv::Mat > & | imgs ) |
处理图片
使用模型处理图像或图像批次(前向推理)
base | initialize返回的模型指针 |
imgs | 输入图像批次 |
AisDeployC_API int py_compare_with_ground_embeddings | ( | void * | base, |
const char * | input, | ||
int | input_size, | ||
char ** | output, | ||
int * | output_size ) |
python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口
python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口
base | initialize返回的模型指针 |
input | 输入json string (const char *) |
input_size | 输入json string长度 |
output | 输出json string (char **) |
output_size | 输出json string长度 |
AisDeployC_API int py_free_result | ( | char * | output | ) |
python使用的释放返回结果的接口
python使用的释放返回结果的接口
output | 输出json string (char *) |
AisDeployC_API int py_get_json_str_results | ( | void * | base, |
char ** | output, | ||
int * | output_size ) |
python使用的获取json string输出格式的接口
python使用的获取json string输出格式的接口,一般需要先经过initialize, py_process_json_str
base | initialize返回的模型指针 |
output | 输出json string (char **) |
int | 输出json string长度 |
python使用的获取json string输出格式的接口,一般需要先经过initialize, py_process_json_str
base | initialize返回的模型指针 |
output | 输出json string (char **) |
output_size | 输出json string长度 |
AisDeployC_API int py_process_decoder | ( | void * | base, |
const char * | input, | ||
int | input_size, | ||
char ** | output, | ||
int * | output_size ) |
python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口
python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口
base | initialize返回的模型指针 |
input | 输入json string (const char *) |
input_size | 输入json string长度 |
output | 输出json string (char **) |
output_size | 输出json string长度 |
AisDeployC_API int py_process_json_str | ( | void * | base, |
const char * | input, | ||
int | input_size ) |
python使用的处理json string输入格式的接口
python使用的处理json string输入格式的接口,一般需要先经过initialize和process_json_str.argtypes = [ctypes.c_void_p, ctypes.c_char_p, ctypes.c_int]的设定
base | initialize返回的模型指针 |
input | 输入json string (const char *) |
input_size | 输入json string长度 |
AisDeployC_API int release | ( | void * | base | ) |
AisDeployC_API int update_license | ( | void * | base, |
const char * | path ) |
更新授权文件信息
更新授权文件信息
base | initialize返回的模型指针 |
path | 授权文件的路径 |
const std::string AisDeployCVersion ="v0.3.3b" |
Definition at line 8 of file interface.h.