Commit be893a22dc512327a9a7683a31a27448d4b2c04f

Authored by Hu Chunming
1 parent a74570e1

代码结构优化,未修改逻辑

Showing 23 changed files with 443 additions and 583 deletions
vehicle_structure_platform.git0708-3080-trt-face/linux/VPT/Makefile.qx deleted
1 -CC = gcc  
2 -XX = g++  
3 -AR = ar  
4 -  
5 -NVCC = /usr/local/cuda/bin/nvcc  
6 -  
7 -MNT_HOME = /home/cmhu/Project_VideoStructure  
8 -  
9 -PROJECT_ROOT= $(MNT_HOME)/vehicle_structure_platform.git0708-3080-trt-face  
10 -DEPEND_DIR = $(MNT_HOME)/Linux_3rdparty  
11 -SDK_ROOT = $(MNT_HOME)/SDK  
12 -  
13 -SRC_ROOT = $(PROJECT_ROOT)/src/VPT  
14 -  
15 -UTOOLS_SSD_ROOT = $(DEPEND_DIR)/utools_trt_v1.4.0  
16 -HIDE_MODEL_CAFFE2 = $(PROJECT_ROOT)/model/hidemodel_caffe_1108  
17 -HIDE_MODEL_TRT = $(PROJECT_ROOT)/model/vptModeTrt  
18 -AUTHORITY_DIR = $(DEPEND_DIR)/authority_linux_20200114  
19 -TRT_ROOT = $(DEPEND_DIR)/TensorRT-8.6.1.6  
20 -OPENCV_ROOT = $(DEPEND_DIR)/opencv-4.5.4/release  
21 -FFMPEG_ROOT = $(DEPEND_DIR)/ffmpeg-5.0.1/release  
22 -  
23 -TARGET = $(DEPEND_DIR)/video_structure_sdk_20220512/libmvpt.so  
24 -  
25 -DEFS=-DOS_LINUX -DLOG_INFO2  
26 -  
27 -INCLUDE= -I $(DEPEND_DIR)/include/boost_linux_x86_64/include \  
28 - -I $(DEPEND_DIR)/include \  
29 - -I $(OPENCV_ROOT)/include/opencv4 \  
30 - -I $(OPENCV_ROOT)/include/opencv4/opencv2 \  
31 - -I $(UTOOLS_SSD_ROOT) \  
32 - -I $(SRC_ROOT) \  
33 - -I $(TRT_ROOT)/include \  
34 - -I $(DEPEND_DIR)/include/cairo \  
35 - -I $(SRC_ROOT)/sort \  
36 - -I $(SRC_ROOT)/snapshot_analysis \  
37 - -I $(SRC_ROOT)/../DxDecoder \  
38 - -I /usr/local/cuda/include \  
39 - -I $(HIDE_MODEL_CAFFE2) \  
40 - -I $(HIDE_MODEL_TRT) \  
41 - -I $(AUTHORITY_DIR) \  
42 - -I $(FFMPEG_ROOT)/include \  
43 - -I $(SDK_ROOT)/face_detect2/face_detect \  
44 -  
45 -LIBSPATH= -L ../DxDecoder -l:libDxDecoder.a \  
46 - -L/usr/local/cuda/lib64 -lcuda -lcudart -lcurand -lcublas \  
47 - -L/usr/lib/x86_64-linux-gnu -lnvcuvid \  
48 - -L$(DEPEND_DIR)/video_structure_sdk_20220512 -lSfxDecoder -lSfxStreamHandler -lvpd2 \  
49 - -L$(DEPEND_DIR)/video_structure_sdk_20220512 -lface_detect -lvehicle_brand_cls -lvr_vehicle_type_10cls -lvr5905cls -lvehicle_recognize -lvehicle_color -lhuman_parsing -lhuman_car_parsing -lnon_vehicle_fea_trt -lvehicle_rear_recognition -lvf_int8 -lvp2_yolo\  
50 - -L$(UTOOLS_SSD_ROOT) -l:libutools.so \  
51 - -L$(DEPEND_DIR)/lib -l:liblibjasper.a -l:libIlmImf.a -l:liblibjpeg.a -l:liblibtiff.a -l:liblibpng.a \  
52 - -L $(FFMPEG_ROOT)/lib -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice \  
53 - -L $(OPENCV_ROOT)/lib -lopencv_video -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_imgcodecs\  
54 - -L$(AUTHORITY_DIR) -l:libauthority.a \  
55 - -L $(DEPEND_DIR)/include/boost_linux_x86_64/lib -l:libboost_system.a -l:libboost_thread.a \  
56 -  
57 -  
58 -CFLAGS_LIB=-g -O0 -Wall -Wno-deprecated $(DEFS) -lz -fPIC -fvisibility=hidden -Wl,-Bsymbolic  
59 -CFLAGS = $(CFLAGS_LIB) $(INCLUDE) -std=c++11 -DUSE_CUDNN  
60 - # -DUNICODE -D_UNICODE  
61 -NFLAGS_LIB=-g -c $(DEFS) -shared -Xcompiler -fPIC -Xcompiler -fvisibility=hidden  
62 -NFLAGS = $(NFLAGS_LIB) $(INCLUDE) -std=c++11  
63 -  
64 -LIBS=  
65 -  
66 -SRCS:=$(wildcard $(SRC_ROOT)/*.cpp) \  
67 - $(wildcard ${SRC_ROOT}/sort/*.cpp) \  
68 - $(wildcard $(SRC_ROOT)/MD5/mID.cpp) \  
69 - $(wildcard $(HIDE_MODEL_CAFFE2)/*.cpp) \  
70 - $(wildcard $(HIDE_MODEL_TRT)/*.cpp) \  
71 - $(wildcard $(SRC_ROOT)/snapshot_analysis/*.cpp) \  
72 -  
73 -OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS)))  
74 -  
75 -CU_SOURCES = $(wildcard ${SRC_ROOT}/snapshot_analysis/*.cu)  
76 -CU_OBJS = $(patsubst %.cu, %.o, $(notdir $(CU_SOURCES)))  
77 -  
78 -all:$(TARGET)  
79 -  
80 -$(TARGET):$(OBJS) $(CU_OBJS)  
81 - rm -f $(TARGET)  
82 - $(XX) $(CFLAGS) -shared -o $@ $^ $(LIBSPATH) $(LIBS) -Wl,-rpath=$(DEPEND_DIR)/video_structure_sdk_20220512  
83 - rm -f *.o  
84 -  
85 -%.o:$(SRC_ROOT)/%.cpp  
86 - $(XX) $(CFLAGS) -c $<  
87 -%.o:$(SRC_ROOT)/MD5/%.cpp  
88 - $(XX) $(CFLAGS) -c $<  
89 -%.o:$(SRC_ROOT)/sort/%.cpp  
90 - $(XX) $(CFLAGS) -c $<  
91 -%.o:$(HIDE_MODEL_CAFFE2)/%.cpp  
92 - $(XX) $(CFLAGS) -c $<  
93 -%.o:$(HIDE_MODEL_TRT)/%.cpp  
94 - $(XX) $(CFLAGS) -c $<  
95 -%.o:$(SRC_ROOT)/snapshot_analysis/%.cpp  
96 - $(XX) $(CFLAGS) -c $<  
97 -%.o:$(SRC_ROOT)/snapshot_analysis/%.cu  
98 - @echo "#######################CU_OBJS:$@###############"  
99 - $(NVCC) $(NFLAGS) -o $@ $<  
100 -  
101 -.PHONY:clean  
102 -clean:  
103 - rm -f *.o $(TARGET)  
104 -  
105 -  
vehicle_structure_platform.git0708-3080-trt-face/src/FFNvDecoder/FFNvDecoder.cpp
@@ -311,10 +311,10 @@ void FFNvDecoder::decode_thread() @@ -311,10 +311,10 @@ void FFNvDecoder::decode_thread()
311 void FFNvDecoder::decode_finished(){ 311 void FFNvDecoder::decode_finished(){
312 if (avctx) 312 if (avctx)
313 { 313 {
314 - if (avctx->hw_device_ctx) {  
315 - av_buffer_unref(&avctx->hw_device_ctx);  
316 - avctx->hw_device_ctx = nullptr;  
317 - } 314 + // if (avctx->hw_device_ctx) {
  315 + // av_buffer_unref(&avctx->hw_device_ctx);
  316 + // avctx->hw_device_ctx = nullptr;
  317 + // }
318 avcodec_free_context(&avctx); 318 avcodec_free_context(&avctx);
319 avctx = nullptr; 319 avctx = nullptr;
320 } 320 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/HumanCarParsing.cpp
@@ -63,11 +63,11 @@ int HumanCarParsing::init(int gpuid, char* auth_license) @@ -63,11 +63,11 @@ int HumanCarParsing::init(int gpuid, char* auth_license)
63 param.max_batch = 20; 63 param.max_batch = 20;
64 if (hcp_init(&handle, param) != 0) 64 if (hcp_init(&handle, param) != 0)
65 { 65 {
66 - LOG_ERROR("Init HCP Failed!"); 66 + LOG_ERROR("hcp_init Failed!");
67 return FAILED; 67 return FAILED;
68 } 68 }
69 69
70 - LOG_INFO("HumanCarParsing init success! gpu_id: {}", gpuid); 70 + LOG_INFO("hcp_init success! gpu_id: {}", gpuid);
71 return SUCCESS; 71 return SUCCESS;
72 } 72 }
73 73
@@ -98,6 +98,6 @@ int HumanCarParsing::release() @@ -98,6 +98,6 @@ int HumanCarParsing::release()
98 handle = nullptr; 98 handle = nullptr;
99 } 99 }
100 100
101 - LOG_INFO("HumanCarParsing Release."); 101 + LOG_INFO("hcp_release");
102 return SUCCESS; 102 return SUCCESS;
103 } 103 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/non_vehicle_fea.cpp renamed to vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/HumanFea.cpp
1 -#include "non_vehicle_fea.h" 1 +#include "HumanFea.h"
2 #include "sy_common.h" 2 #include "sy_common.h"
3 #include <iostream> 3 #include <iostream>
4 -int NonVehicleFea_Init(void *&handle, int gpuid, char* auth_license) 4 +
  5 +#include "../../FFNvDecoder/logger.hpp"
  6 +
  7 +HumanFea::HumanFea(/* args */)
5 { 8 {
  9 +}
6 10
7 - int ret = SUCCESS; 11 +HumanFea::~HumanFea()
  12 +{
  13 + LOG_INFO("~HumanFea");
  14 +}
8 15
  16 +int HumanFea::init(int gpuid, char* auth_license)
  17 +{
9 human_fea_param fea_param; 18 human_fea_param fea_param;
10 fea_param.mode = DEVICE_GPU; 19 fea_param.mode = DEVICE_GPU;
11 fea_param.gpuid = gpuid; 20 fea_param.gpuid = gpuid;
12 fea_param.thres = 0.6; 21 fea_param.thres = 0.6;
13 fea_param.engine = ENGINE_TENSORRT; 22 fea_param.engine = ENGINE_TENSORRT;
14 23
15 - //δ��Ч  
16 fea_param.max_batch = 20; 24 fea_param.max_batch = 20;
17 fea_param.serialize_file = "./serialize_file/HF"; 25 fea_param.serialize_file = "./serialize_file/HF";
18 fea_param.auth_license = auth_license; 26 fea_param.auth_license = auth_license;
19 - if (human_fea_init(&handle, fea_param) != SUCCESS) 27 +
  28 + int ret = human_fea_init(&handle, fea_param);
  29 + if (ret != SUCCESS)
20 { 30 {
21 - printf("sy_human_parsing_fea_init(error): init end. (ret = %d)\n", ret);  
22 - ret = HUMANPARSING_INIT_ERROR; 31 + LOG_ERROR("human_fea_init failed:{}", ret);
  32 + return FAILED;
23 } 33 }
24 34
  35 + LOG_INFO("human_fea_init success! gpu_id: {}", gpuid);
25 return SUCCESS; 36 return SUCCESS;
26 -  
27 } 37 }
28 38
29 -int NonVehicleFea_Process(void * handle, sy_img * batch_img, int batch_size, human_fea_result*& result) 39 +int HumanFea::process(sy_img * batch_img, int batch_size, human_fea_result*& result)
30 { 40 {
31 - for (int i = 0; i < batch_size; i++)  
32 - {  
33 - if (batch_img[i].data_ == NULL)  
34 - std::cout << i << " NonVehicleFea data null" << std::endl; 41 + for (int i = 0; i < batch_size; i++) {
  42 + if (batch_img[i].data_ == NULL) {
  43 + LOG_ERROR("data null!");
  44 + return FAILED;
  45 + }
35 } 46 }
36 47
37 return human_fea_batch(handle, batch_img, batch_size, result); 48 return human_fea_batch(handle, batch_img, batch_size, result);
38 -  
39 } 49 }
40 50
41 -int NonVehicleFea_Release(void *& handle) 51 +int HumanFea::release()
42 { 52 {
43 - human_fea_release(&handle);  
44 - handle = NULL; 53 + if(handle) {
  54 + human_fea_release(&handle);
  55 + handle = nullptr;
  56 + }
  57 +
  58 + LOG_INFO("human_fea_release");
45 return SUCCESS; 59 return SUCCESS;
46 } 60 }
47 \ No newline at end of file 61 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/HumanFea.h 0 → 100644
  1 +#pragma once
  2 +#include "non_vehicle_fea_trt.h"
  3 +#include "utools.h"
  4 +
  5 +
  6 +class HumanFea {
  7 +public:
  8 + HumanFea(/* args */);
  9 + ~HumanFea();
  10 +
  11 + int init(int gpuid, char* auth_license);
  12 + int process(sy_img * batch_img, int batch_size, human_fea_result*& result);
  13 + int release();
  14 +
  15 +private:
  16 + void* handle{nullptr};
  17 +};
0 \ No newline at end of file 18 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/HumanParsing.cpp
1 #include "HumanParsing.h" 1 #include "HumanParsing.h"
2 2
3 #include <opencv2/opencv.hpp> 3 #include <opencv2/opencv.hpp>
4 -//static string head[] = { "³¤·¢", "¶Ì·¢", "ÆäËû" };  
5 -//static string head_color[] = { "ºÚ", "°×", "ÆäËû" };  
6 -//static string eye[] = { "δ´÷ÑÛ¾µ", "´÷ÑÛ¾µ" };  
7 -//static string mouth[] = { "δ´÷¿ÚÕÖ", "´÷¿ÚÕÖ" };  
8 -//static string up[] ={ "TÐô/±³ÐÄ", "³ÄÉÀ", "ëÒÂ"," ÍâÌ×" , "Á¬ÒÂȹ", "ÆäËû" };  
9 -//static std::string up_color[] = { "ºÚ", "°×", "»Ò", "ºì", "À¶", "»Æ", "ÂÌ", "¶àÉ«", "ÆäËû" };  
10 -//static string clothing_text[] = { "´¿É«", "Ë黨", "ÌõÎÆ/¸ñ×Ó", "ÆäËû" };  
11 -//static string down[6] = { "³¤¿ã", "¶Ì¿ã", "³¤È¹", "¶Ìȹ", "Á¬ÒÂȹ", "ÆäËû" };  
12 -//static std::string down_color[] = { "ºÚ", "°×", "»Ò", "ºì", "À¶", "»Æ", "ÂÌ", "¶àÉ«", "ÆäËû" };  
13 -//static string bao[5] = { "ÎÞ°ü", "Óаü" };  
14 -//static std::string sex[] = { "ÄÐ", "Å®", "²»Ã÷" };  
15 -//static std::string age[] = { "Сº¢", "³ÉÈË", "²»Ã÷" };  
16 -//static std::string viewpoint[] = { "ÕýÃæ","±³Ãæ", "²àÃæ" };  
17 -//static string dasan[2] = { "δ´òÉ¡", "´òÉ¡" };  
18 -//static string child[2] = { "δ±§Ð¡º¢", "±§Ð¡º¢" };  
19 -//static string personstate[5] = { "ÐÐ×ß/Õ¾Á¢", "±¼ÅÜ", "¶×/×ø", "ÍÆ³µ", "ÆäËû" }; 4 +
  5 +#include "../../FFNvDecoder/logger.hpp"
  6 +
  7 +
  8 +//static string head[] = { "é•¿å‘", "短å‘", "å…¶ä»–" };
  9 +//static string head_color[] = { "黑", "白", "å…¶ä»–" };
  10 +//static string eye[] = { "未戴眼镜", "戴眼镜" };
  11 +//static string mouth[] = { "未戴å£ç½©", "戴å£ç½©" };
  12 +//static string up[] ={ "Tæ¤/背心", "衬衫", "毛衣"," 外套" , "连衣裙", "å…¶ä»–" };
  13 +//static std::string up_color[] = { "黑", "白", "ç°", "红", "è“", "黄", "绿", "多色", "å…¶ä»–" };
  14 +//static string clothing_text[] = { "纯色", "碎花", "æ¡çº¹/æ ¼å­", "å…¶ä»–" };
  15 +//static string down[6] = { "长裤", "短裤", "长裙", "短裙", "连衣裙", "å…¶ä»–" };
  16 +//static std::string down_color[] = { "黑", "白", "ç°", "红", "è“", "黄", "绿", "多色", "å…¶ä»–" };
  17 +//static string bao[5] = { "无包", "有包" };
  18 +//static std::string sex[] = { "ç”·", "女", "䏿˜Ž" };
  19 +//static std::string age[] = { "å°å­©", "æˆäºº", "䏿˜Ž" };
  20 +//static std::string viewpoint[] = { "æ­£é¢","背é¢", "ä¾§é¢" };
  21 +//static string dasan[2] = { "未打伞", "打伞" };
  22 +//static string child[2] = { "未抱å°å­©", "抱å°å­©" };
  23 +//static string personstate[5] = { "行走/站立", "奔跑", "è¹²/å", "推车", "å…¶ä»–" };
20 24
21 25
22 const int FIR_INDEX_SIZE = 16; 26 const int FIR_INDEX_SIZE = 16;
23 const int SEC_INDEX_SIZE[FIR_INDEX_SIZE] = { 3, 3, 2, 2, 6, 9, 4, 6, 9, 2, 3, 3, 3, 2, 2, 5 }; 27 const int SEC_INDEX_SIZE[FIR_INDEX_SIZE] = { 3, 3, 2, 2, 6, 9, 4, 6, 9, 2, 3, 3, 3, 2, 2, 5 };
24 28
25 29
  30 +HumanParsing::HumanParsing(/* args */)
  31 +{
  32 +}
  33 +
  34 +HumanParsing::~HumanParsing()
  35 +{
  36 + LOG_INFO("~HumanParsing");
  37 +}
26 38
27 -int HumanParsing_Init(void *&handle, int gpuid, char* auth_license) 39 +int HumanParsing::init(int gpuid, char* auth_license)
28 { 40 {
29 hp_param param; 41 hp_param param;
30 param.mode = DEVICE_GPU; 42 param.mode = DEVICE_GPU;
@@ -33,30 +45,25 @@ int HumanParsing_Init(void *&amp;handle, int gpuid, char* auth_license) @@ -33,30 +45,25 @@ int HumanParsing_Init(void *&amp;handle, int gpuid, char* auth_license)
33 param.max_batch = 20; 45 param.max_batch = 20;
34 param.serialize_file = "./serialize_file/HP"; 46 param.serialize_file = "./serialize_file/HP";
35 param.auth_license = auth_license; 47 param.auth_license = auth_license;
36 - if (hp_init(&handle, param) != 0)  
37 - {  
38 - cout << "Init HP Failed!" << endl; 48 + if (hp_init(&handle, param) != 0) {
  49 + LOG_ERROR("hp_init failed!");
39 return FAILED; 50 return FAILED;
40 } 51 }
41 52
  53 + LOG_INFO("hp_init success! gpu_id: {}", gpuid);
42 return SUCCESS; 54 return SUCCESS;
43 } 55 }
44 56
45 -  
46 -  
47 -  
48 -#include <fstream>  
49 -int HumanParsing_Process(void * handle, sy_img * batch_img, int batch_size, hp_analysis_res*& result) 57 +int HumanParsing::process(sy_img * batch_img, int batch_size, hp_analysis_res*& result)
50 { 58 {
51 -  
52 -  
53 for (int i = 0; i < batch_size; i++) 59 for (int i = 0; i < batch_size; i++)
54 { 60 {
55 - if (batch_img[i].data_ == NULL)  
56 - cout << i << " data null" << endl; 61 + if (batch_img[i].data_ == NULL) {
  62 + LOG_ERROR("data null!");
  63 + return FAILED;
  64 + }
57 } 65 }
58 66
59 - //cout << "begin HumanParsingProcessBatch" << endl;  
60 hp_batch(handle, batch_img, batch_size, result); 67 hp_batch(handle, batch_img, batch_size, result);
61 68
62 for (int b = 0; b < batch_size; b++) 69 for (int b = 0; b < batch_size; b++)
@@ -73,90 +80,16 @@ int HumanParsing_Process(void * handle, sy_img * batch_img, int batch_size, hp_ @@ -73,90 +80,16 @@ int HumanParsing_Process(void * handle, sy_img * batch_img, int batch_size, hp_
73 } 80 }
74 } 81 }
75 82
76 - //cout << "end HumanParsingProcessBatch" << endl;  
77 -  
78 -  
79 - //for (int b = 0; b < batch_size; b++)  
80 - //{  
81 - // ctools_result &cur_result = result[b];  
82 - // int big_class_count = cur_result.obj_count_;  
83 - // ctools_obj_result &index_score = cur_result.obj_results_[big_class_count];  
84 -  
85 - // if (index_score.data_count_ != FIR_INDEX_SIZE * 2)  
86 - // {  
87 - // printf("wrong result.\n");  
88 - // break;  
89 - // }  
90 -  
91 - // //for (int i = 0; i < FIR_INDEX_SIZE; i++)  
92 - // //{  
93 - // // //int resIndex = result[j][i].index;  
94 - // // int resIndex = index_score.data_[i * 2];  
95 -  
96 - // // switch (i)  
97 - // // {  
98 - // // case 0:  
99 - // // cout << head[resIndex] << " ";  
100 - // // break;  
101 - // // case 1:  
102 - // // cout << head_color[resIndex] << " ";  
103 - // // break;  
104 - // // case 2:  
105 - // // cout << eye[resIndex] << " ";  
106 - // // break;  
107 - // // case 3:  
108 - // // cout << mouth[resIndex] << " ";  
109 - // // break;  
110 - // // case 4:  
111 - // // cout << up[resIndex] << " ";  
112 - // // break;  
113 - // // case 5:  
114 - // // cout << up_color[resIndex] << " ";  
115 - // // break;  
116 - // // case 6:  
117 - // // cout << clothing_text[resIndex] << " ";  
118 - // // break;  
119 - // // case 7:  
120 - // // cout << down[resIndex] << " ";  
121 - // // break;  
122 - // // case 8:  
123 - // // cout << down_color[resIndex] << " ";  
124 - // // break;  
125 - // // case 9:  
126 - // // cout << bao[resIndex] << " ";  
127 - // // break;  
128 - // // case 10:  
129 - // // cout << sex[resIndex] << " ";  
130 - // // break;  
131 - // // case 11:  
132 - // // cout << age[resIndex] << " ";  
133 - // // break;  
134 - // // case 12:  
135 - // // cout << viewpoint[resIndex] << " ";  
136 - // // break;  
137 - // // case 13:  
138 - // // cout << dasan[resIndex] << " ";  
139 - // // break;  
140 - // // case 14:  
141 - // // cout << child[resIndex] << " ";  
142 - // // break;  
143 - // // case 15:  
144 - // // cout << personstate[resIndex] << " ";  
145 - // // break;  
146 - // // default:  
147 - // // break;  
148 - // // }  
149 -  
150 - // //}  
151 - // //cout << endl << endl;  
152 - //}  
153 -  
154 return SUCCESS; 83 return SUCCESS;
155 } 84 }
156 85
157 -int HumanParsing_Release(void *& handle) 86 +int HumanParsing::release()
158 { 87 {
159 - if(handle)  
160 - hp_release(&handle); 88 + if(handle) {
  89 + hp_release(&handle);
  90 + handle = nullptr;
  91 + }
  92 +
  93 + LOG_INFO("hp_release");
161 return SUCCESS; 94 return SUCCESS;
162 } 95 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/HumanParsing.h
@@ -8,7 +8,16 @@ @@ -8,7 +8,16 @@
8 using namespace std; 8 using namespace std;
9 9
10 10
  11 +class HumanParsing
  12 +{
  13 +public:
  14 + HumanParsing(/* args */);
  15 + ~HumanParsing();
11 16
12 -int HumanParsing_Init(void *&handle, int gpuid, char* auth_license);  
13 -int HumanParsing_Process(void * handle, sy_img * batch_img, int batchsize, hp_analysis_res*& result);  
14 -int HumanParsing_Release(void *& handle); 17 + int init(int gpuid, char* auth_license);
  18 + int process(sy_img * batch_img, int batchsize, hp_analysis_res*& result);
  19 + int release();
  20 +
  21 +private:
  22 + void *handle {nullptr};
  23 +};
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/SnapShotFrameCache.cpp deleted
1 -#include <cuda_runtime.h>  
2 -#include "SnapShotFrameCache.h"  
3 -  
4 -void SnapShotFrameCache::init_cache(unsigned int cache_len, unsigned int cache_count)  
5 -{  
6 - this->cache_len = cache_len;  
7 - this->cache_count = cache_count;  
8 - alloc();  
9 -}  
10 -  
11 -bool SnapShotFrameCache::alloc()  
12 -{  
13 - for (size_t i = 0; i < cache_count; i++)  
14 - {  
15 - void * frame = NULL;  
16 - auto cudaStatus = cudaMalloc((void**)&frame, cache_len);  
17 - if (cudaStatus != cudaSuccess)  
18 - {  
19 - return false;  
20 - }  
21 - cache.push(frame);  
22 - }  
23 - return true;  
24 -}  
25 -  
26 -void * SnapShotFrameCache::get_frame()  
27 -{  
28 - if (cache.empty())  
29 - {  
30 - alloc();  
31 - if (!cache.empty())  
32 - {  
33 - void * frame = cache.front();  
34 - cache.pop();  
35 - return frame;  
36 - }  
37 - else  
38 - {  
39 - return nullptr;  
40 - }  
41 - }  
42 - else  
43 - {  
44 - void * frame = cache.front();  
45 - cache.pop();  
46 - return frame;  
47 - }  
48 -}  
49 -  
50 -void SnapShotFrameCache::release(void * frame)  
51 -{  
52 - cache.push(frame);  
53 -}  
54 -  
55 -void SnapShotFrameCache::free()  
56 -{  
57 - while (!cache.empty())  
58 - {  
59 - void * frame = cache.front();  
60 - cudaFree(frame);  
61 - cache.pop();  
62 - }  
63 -}  
64 \ No newline at end of file 0 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/SnapShotFrameCache.h deleted
1 -#pragma once  
2 -#include "../FFNvDecoder/DxDecoderWrap.h"  
3 -#include <queue>  
4 -#define SHOT_CACHE_SIZE  
5 -#define VEHICLE_WIDTH 320  
6 -class SnapShotFrameCache  
7 -{  
8 -public:  
9 - void init_cache(unsigned int cache_len, unsigned int cache_count);  
10 - void * get_frame();  
11 - void release(void * frame);  
12 - void free();  
13 -private:  
14 - bool alloc();  
15 - std::queue<void *> cache;  
16 - unsigned int cache_len;  
17 - unsigned int cache_count;  
18 -};  
19 \ No newline at end of file 0 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleColor.cpp
1 #include "VehicleColor.h" 1 #include "VehicleColor.h"
2 2
3 -static char colorLabel[14][8] = { "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��" };  
4 -int VehicleColor_Init(void *&handle, int gpuid, char* auth_license) 3 +#include "../../FFNvDecoder/logger.hpp"
  4 +
  5 +
  6 +static char colorLabel[14][8] = { "棕", "橙", "灰", "白", "粉", "紫", "红", "绿", "蓝", "金", "银", "青", "黄", "黑" };
  7 +
  8 +VehicleColor::VehicleColor(/* args */)
  9 +{
  10 +}
  11 +
  12 +VehicleColor::~VehicleColor()
  13 +{
  14 + LOG_INFO("~VehicleColor");
  15 +}
  16 +
  17 +
  18 +int VehicleColor::init(int gpuid, char* auth_license)
5 { 19 {
6 vc_param params; 20 vc_param params;
7 params.mode = DEVICE_GPU; 21 params.mode = DEVICE_GPU;
@@ -13,58 +27,36 @@ int VehicleColor_Init(void *&amp;handle, int gpuid, char* auth_license) @@ -13,58 +27,36 @@ int VehicleColor_Init(void *&amp;handle, int gpuid, char* auth_license)
13 int ret = vc_init(&handle, params); 27 int ret = vc_init(&handle, params);
14 if (ret != 0) 28 if (ret != 0)
15 { 29 {
16 - cout << "Init Ret Failed!" << endl; 30 + LOG_ERROR("vc_init failed!");
17 return FAILED; 31 return FAILED;
18 } 32 }
19 33
  34 + LOG_INFO("vc_init success! gpu_id: {}", gpuid);
20 return SUCCESS; 35 return SUCCESS;
21 } 36 }
22 37
23 -#include <fstream>  
24 -int VehicleColor_Process(void * handle, sy_img * batch_img, int batch_size, vc_result *&result) 38 +int VehicleColor::process(sy_img * batch_img, int batch_size, vc_result *&result)
25 { 39 {
26 for (int i = 0; i < batch_size; i++) 40 for (int i = 0; i < batch_size; i++)
27 { 41 {
28 - if (batch_img[i].data_ == NULL)  
29 - cout << i << " data null" << endl; 42 + if (batch_img[i].data_ == NULL) {
  43 + LOG_ERROR("data null");
  44 + return FAILED;
  45 + }
30 } 46 }
31 47
32 - // ctools_result *result=NULL;  
33 - //cout << "begin vc ProcessBatch" << endl;  
34 -  
35 vc_batch(handle, batch_img, batch_size, result); 48 vc_batch(handle, batch_img, batch_size, result);
36 - //cout << "end vc ProcessBatch" << endl;  
37 -  
38 - //for (int b = 0; b < batch_size; b++)  
39 - //{  
40 -  
41 - // ctools_result &cur_result = result[b];  
42 - // int big_class_count = cur_result.obj_count_;  
43 -  
44 - // for (int i = 0; i < cur_result.obj_count_ + 1; i++)  
45 - // {  
46 - // ctools_obj_result &index_score_1 = cur_result.obj_results_[i];  
47 -  
48 - // /* for (int j = 0; j < index_score_1.data_count_; j++)  
49 - // printf("%.2f ", index_score_1.data_[j]);  
50 - // printf("\n");*/  
51 - // }  
52 -  
53 -  
54 - // ctools_obj_result &index_score = cur_result.obj_results_[big_class_count];  
55 - // float *index_score_data = index_score.data_;  
56 - // int index_count = index_score_data[0];  
57 - // float score = index_score_data[1];  
58 - // printf("%d-%d, %s, index = %d, score = %.2f\n", b, batch_size, colorLabel[index_count], index_count, score);  
59 - // //cudaFree(images[j].data);  
60 - //}  
61 49
62 return SUCCESS; 50 return SUCCESS;
63 } 51 }
64 52
65 -int VehicleColor_Release(void *& handle) 53 +int VehicleColor::release()
66 { 54 {
67 - if (handle)  
68 - vc_release(&handle); 55 + if (handle) {
  56 + vc_release(&handle);
  57 + handle = nullptr;
  58 + }
  59 +
  60 + LOG_INFO("release.");
69 return SUCCESS; 61 return SUCCESS;
70 } 62 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleColor.h
@@ -8,7 +8,16 @@ @@ -8,7 +8,16 @@
8 using namespace std; 8 using namespace std;
9 9
10 10
  11 +class VehicleColor
  12 +{
  13 +public:
  14 + VehicleColor(/* args */);
  15 + ~VehicleColor();
11 16
12 -int VehicleColor_Init(void *&handle, int gpuid, char* auth_license);  
13 -int VehicleColor_Process(void * handle, sy_img * batch_img,int batchsize, vc_result *&result);  
14 -int VehicleColor_Release(void *& handle); 17 + int init(int gpuid, char* auth_license);
  18 + int process(sy_img * batch_img,int batchsize, vc_result *&result);
  19 + int release();
  20 +
  21 +private:
  22 + void* handle {nullptr};
  23 +};
15 \ No newline at end of file 24 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/vehicle_features.cpp renamed to vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleFeature.cpp
1 -#include "vehicle_features.h" 1 +#include "VehicleFeature.h"
2 #include <iostream> 2 #include <iostream>
3 #include "sy_errorinfo.h" 3 #include "sy_errorinfo.h"
  4 +
  5 +#include "../../FFNvDecoder/logger.hpp"
  6 +
4 using namespace std; 7 using namespace std;
5 8
6 -void RectboundCheck(int Width, int Height, int &left, int &top, int &width, int &height);  
7 9
8 -int vhd_features_init(void *&handle, char*dbpath, int gpuid, char* auth_license) 10 +VehicleFeature::VehicleFeature(/* args */)
  11 +{
  12 +}
  13 +
  14 +VehicleFeature::~VehicleFeature()
  15 +{
  16 + LOG_INFO("~VehicleFeature");
  17 +}
  18 +
  19 +int VehicleFeature::init_vpd(char*dbpath, int gpuid, char* auth_license)
9 { 20 {
10 vehicle_pendant_det_param params; 21 vehicle_pendant_det_param params;
11 params.gpuid = gpuid; 22 params.gpuid = gpuid;
@@ -13,16 +24,16 @@ int vhd_features_init(void *&amp;handle, char*dbpath, int gpuid, char* auth_license) @@ -13,16 +24,16 @@ int vhd_features_init(void *&amp;handle, char*dbpath, int gpuid, char* auth_license)
13 params.serialize_file = "./serialize_file/VPD"; 24 params.serialize_file = "./serialize_file/VPD";
14 params.thresld = 0.6; 25 params.thresld = 0.6;
15 params.auth_license = auth_license; 26 params.auth_license = auth_license;
16 - if (vpd2_init(&handle, params) !=0) {  
17 - cout << "Init vhd Failed!" << endl; 27 + if (vpd2_init(&vpd_handle, params) !=0) {
  28 + LOG_ERROR("vpd2_init failed!");
18 return FAILED; 29 return FAILED;
19 } 30 }
20 31
  32 + LOG_INFO("vpd2_init success! gpu_id: {}", gpuid);
21 return SUCCESS; 33 return SUCCESS;
22 } 34 }
23 35
24 -  
25 -int vf_features_init(void *&handle, char*dbpath, int gpuid, char* auth_license) 36 +int VehicleFeature::init_vf(char*dbpath, int gpuid, char* auth_license)
26 { 37 {
27 vf_param params; 38 vf_param params;
28 params.gpuid = gpuid; 39 params.gpuid = gpuid;
@@ -31,26 +42,25 @@ int vf_features_init(void *&amp;handle, char*dbpath, int gpuid, char* auth_license) @@ -31,26 +42,25 @@ int vf_features_init(void *&amp;handle, char*dbpath, int gpuid, char* auth_license)
31 params.max_batch = 20; 42 params.max_batch = 20;
32 params.serialize_file = "./serialize_file/VF"; 43 params.serialize_file = "./serialize_file/VF";
33 params.auth_license = auth_license; 44 params.auth_license = auth_license;
34 - // params.db_path = dbpath;  
35 - if (vf_init(&handle, params) !=0)  
36 - {  
37 - cout << "Init VF Failed!" << endl; 45 + if (vf_init(&vf_handle, params) !=0) {
  46 + LOG_ERROR("vf_init failed!");
38 return FAILED; 47 return FAILED;
39 -  
40 } 48 }
  49 +
  50 + LOG_INFO("vf_init success! gpu_id: {}", gpuid);
41 return SUCCESS; 51 return SUCCESS;
42 } 52 }
43 53
44 -  
45 -  
46 -int vhd_features_process(void * handle, sy_img * batch_img, int batch_size, vpd2_result*& result) 54 +int VehicleFeature::process_vpd(sy_img * batch_img, int batch_size, vpd2_result*& result)
47 { 55 {
48 for (int i = 0; i < batch_size; i++) 56 for (int i = 0; i < batch_size; i++)
49 { 57 {
50 - if (batch_img[i].data_ == NULL)  
51 - cout << i << " data null" << endl; 58 + if (batch_img[i].data_ == NULL) {
  59 + LOG_ERROR("data null!");
  60 + return FAILED;
  61 + }
52 } 62 }
53 - vpd2_process(handle, batch_img, batch_size, result); 63 + vpd2_process(vpd_handle, batch_img, batch_size, result);
54 64
55 for (int b = 0; b < batch_size; b++) 65 for (int b = 0; b < batch_size; b++)
56 { 66 {
@@ -64,17 +74,13 @@ int vhd_features_process(void * handle, sy_img * batch_img, int batch_size, vpd @@ -64,17 +74,13 @@ int vhd_features_process(void * handle, sy_img * batch_img, int batch_size, vpd
64 return SUCCESS; 74 return SUCCESS;
65 } 75 }
66 76
67 -  
68 -#include <cuda.h>  
69 -#include <cuda_runtime.h>  
70 -#include <opencv2/opencv.hpp>  
71 -  
72 -int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8**& result) 77 +int VehicleFeature::process_vf( sy_img * batch_img, int batch_size, int8**& result)
73 { 78 {
74 for (int i = 0; i < batch_size; i++) 79 for (int i = 0; i < batch_size; i++)
75 { 80 {
76 - if (batch_img[i].data_ == NULL)  
77 - cout << i << " data null" << endl; 81 + if (batch_img[i].data_ == NULL){
  82 + LOG_ERROR("data null!");
  83 + }
78 } 84 }
79 85
80 int **fea = new int*[batch_size]; 86 int **fea = new int*[batch_size];
@@ -83,7 +89,7 @@ int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8 @@ -83,7 +89,7 @@ int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8
83 fea[i] = new int[FEATURESIZE]; 89 fea[i] = new int[FEATURESIZE];
84 } 90 }
85 91
86 - vf_feature_batch(handle, batch_img, batch_size, fea); 92 + vf_feature_batch(vf_handle, batch_img, batch_size, fea);
87 93
88 for (int i = 0; i < batch_size; i++) 94 for (int i = 0; i < batch_size; i++)
89 { 95 {
@@ -111,27 +117,34 @@ int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8 @@ -111,27 +117,34 @@ int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8
111 return SUCCESS; 117 return SUCCESS;
112 } 118 }
113 119
114 -int vhd_feature_release(void *& handle) 120 +int VehicleFeature::release_vpd()
115 { 121 {
116 - if (handle)  
117 - vpd2_release(&handle);  
118 - return SUCCESS; 122 + if (vpd_handle){
  123 + vpd2_release(&vpd_handle);
  124 + vpd_handle = nullptr;
  125 + }
  126 +
  127 + LOG_INFO("release_vpd");
  128 + return SUCCESS;
119 } 129 }
120 130
121 131
122 -int vf_feature_release(void *& handle) 132 +int VehicleFeature::release_vf()
123 { 133 {
124 - if (handle)  
125 - vf_release(&handle);  
126 - return SUCCESS; 134 + if (vf_handle) {
  135 + vf_release(&vf_handle);
  136 + vf_handle = nullptr;
  137 + }
  138 +
  139 + LOG_INFO("release_vf");
  140 + return SUCCESS;
127 } 141 }
128 142
129 -void RectboundCheck(int Width, int Height, int &left, int &top, int &width, int &height) 143 +void VehicleFeature::RectboundCheck(int Width, int Height, int &left, int &top, int &width, int &height)
130 { 144 {
131 #ifdef _DEBUG 145 #ifdef _DEBUG
132 - printf("img: Width = %d Height = %d\n",  
133 - Width, Height);  
134 - printf("Src: width = %d height = %d, x = %d, y =%d\n", Width, Height, left, top); 146 + printf("img: Width = %d Height = %d\n", Width, Height);
  147 + printf("Src: width = %d height = %d, x = %d, y =%d\n", width, height, left, top);
135 #endif 148 #endif
136 if (left <= 0) 149 if (left <= 0)
137 left = 0; 150 left = 0;
@@ -153,6 +166,11 @@ void RectboundCheck(int Width, int Height, int &amp;left, int &amp;top, int &amp;width, int @@ -153,6 +166,11 @@ void RectboundCheck(int Width, int Height, int &amp;left, int &amp;top, int &amp;width, int
153 height = Height - 1 - top; 166 height = Height - 1 - top;
154 if (height <= 0) 167 if (height <= 0)
155 height = 0; 168 height = 0;
  169 +
  170 +#ifdef _DEBUG
  171 + printf("img: Width = %d Height = %d\n", Width, Height);
  172 + printf("Src: width = %d height = %d, x = %d, y =%d\n", width, height, left, top);
  173 +#endif
156 } 174 }
157 175
158 176
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleFeature.h 0 → 100644
  1 +
  2 +
  3 +#ifndef _VEHICLEFEATURES_H_
  4 +#define _VEHICLEFEATURES_H_
  5 +#include "vehicle_fea_int8.h"
  6 +#include "vpd.h"
  7 +
  8 +#ifndef __INT8__
  9 +#define __INT8__
  10 +typedef unsigned char int8;
  11 +#endif
  12 +
  13 +class VehicleFeature {
  14 +public:
  15 + VehicleFeature(/* args */);
  16 + ~VehicleFeature();
  17 +
  18 + int init_vpd(char*dbpath, int gpuid, char* auth_license);
  19 + int process_vpd(sy_img * batch_img, int batch_size, vpd2_result*& result);
  20 + int release_vpd();
  21 +
  22 + int init_vf(char*dbpath, int gpuid, char* auth_license);
  23 + int process_vf( sy_img * batch_img, int batch_size, int8**& result);
  24 + int release_vf();
  25 +
  26 +private:
  27 + void RectboundCheck(int Width, int Height, int &left, int &top, int &width, int &height);
  28 +
  29 +private:
  30 + void* vpd_handle {nullptr};
  31 + void* vf_handle {nullptr};
  32 +};
  33 +
  34 +#endif
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehiclePlate.cpp
@@ -2,9 +2,18 @@ @@ -2,9 +2,18 @@
2 #include <cuda_runtime.h> 2 #include <cuda_runtime.h>
3 3
4 #include "../../FFNvDecoder/logger.hpp" 4 #include "../../FFNvDecoder/logger.hpp"
5 -//static string type[69] = { "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "³", "ԥ", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "��", "ѧ", "ʹ", "��" };  
6 5
7 -int VehiclePlateDetectRecog_Init(void *&handle, int gpuid, char* auth_license) 6 +
  7 +VehiclePlate::VehiclePlate(/* args */)
  8 +{
  9 +}
  10 +
  11 +VehiclePlate::~VehiclePlate()
  12 +{
  13 + LOG_INFO("~VehiclePlate");
  14 +}
  15 +
  16 +int VehiclePlate::init(int gpuid, char* auth_license)
8 { 17 {
9 vp_detect_param param; 18 vp_detect_param param;
10 param.gpuid = gpuid; 19 param.gpuid = gpuid;
@@ -20,43 +29,39 @@ int VehiclePlateDetectRecog_Init(void *&amp;handle, int gpuid, char* auth_license) @@ -20,43 +29,39 @@ int VehiclePlateDetectRecog_Init(void *&amp;handle, int gpuid, char* auth_license)
20 param.auth_license = "sy_va_sub_sdk_2023"; 29 param.auth_license = "sy_va_sub_sdk_2023";
21 30
22 int ret = vpdr_init(&handle, param, rparam); 31 int ret = vpdr_init(&handle, param, rparam);
23 -  
24 - if (ret != 0)  
25 - {  
26 - cout << "vpdr_init Failed!" << endl; 32 + if (ret != 0){
  33 + LOG_ERROR("vpdr_init Failed!");
27 return FAILED; 34 return FAILED;
28 } 35 }
29 36
  37 + LOG_INFO("vpdr_init success! gpu_id: {}", gpuid);
30 return SUCCESS; 38 return SUCCESS;
31 } 39 }
32 40
33 -int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img, int batchsize, vehicle_plate_result *&result) 41 +int VehiclePlate::process(sy_img * batch_img, int batchsize, vehicle_plate_result *&result)
34 { 42 {
35 sy_img cpu_batch_img[batchsize]; 43 sy_img cpu_batch_img[batchsize];
36 for (int i = 0; i < batchsize; i++) 44 for (int i = 0; i < batchsize; i++)
37 { 45 {
38 - if (batch_img[i].data_ == NULL)  
39 - { 46 + if (batch_img[i].data_ == NULL) {
40 LOG_ERROR("data null "); 47 LOG_ERROR("data null ");
41 return FAILED; 48 return FAILED;
42 } 49 }
43 - cpu_batch_img[i].data_ = (unsigned char *)malloc(batch_img[i].w_ *batch_img[i].h_ * batch_img[i].c_ * sizeof(unsigned char));  
44 - cudaMemcpy(cpu_batch_img[i].data_, batch_img[i].data_, batch_img[i].w_ *batch_img[i].h_ * batch_img[i].c_ * sizeof(unsigned char), cudaMemcpyDeviceToHost);  
45 - cpu_batch_img[i].w_ = batch_img[i].w_;  
46 - cpu_batch_img[i].h_ = batch_img[i].h_;  
47 - cpu_batch_img[i].c_ = batch_img[i].c_; 50 + // cpu_batch_img[i].data_ = (unsigned char *)malloc(batch_img[i].w_ *batch_img[i].h_ * batch_img[i].c_ * sizeof(unsigned char));
  51 + // cudaMemcpy(cpu_batch_img[i].data_, batch_img[i].data_, batch_img[i].w_ *batch_img[i].h_ * batch_img[i].c_ * sizeof(unsigned char), cudaMemcpyDeviceToHost);
  52 + // cpu_batch_img[i].w_ = batch_img[i].w_;
  53 + // cpu_batch_img[i].h_ = batch_img[i].h_;
  54 + // cpu_batch_img[i].c_ = batch_img[i].c_;
48 } 55 }
49 56
50 vehicle_plate_results * all_result = new vehicle_plate_results[batchsize] {}; 57 vehicle_plate_results * all_result = new vehicle_plate_results[batchsize] {};
51 - for (int i = 0; i<batchsize; i++)  
52 - {  
53 - for (int j = 0; j < MAXPLATECOUNT; j++)  
54 - { 58 + for (int i = 0; i<batchsize; i++) {
  59 + for (int j = 0; j < MAXPLATECOUNT; j++) {
55 memset(&all_result[i].vehicle_plate_infos[j].rect, -1, sizeof(sy_rect)); 60 memset(&all_result[i].vehicle_plate_infos[j].rect, -1, sizeof(sy_rect));
56 } 61 }
57 } 62 }
58 63
59 - int index_count = vpdr_batch(handle, cpu_batch_img, batchsize, all_result); 64 + int index_count = vpdr_batch(handle, batch_img, batchsize, all_result);
60 cudaDeviceSynchronize(); 65 cudaDeviceSynchronize();
61 66
62 for (int b = 0; b < batchsize; b++) 67 for (int b = 0; b < batchsize; b++)
@@ -80,12 +85,12 @@ int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img, int batc @@ -80,12 +85,12 @@ int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img, int batc
80 memcpy(&result[b], &all_result[b].vehicle_plate_infos[best_index], sizeof(vehicle_plate_result)); 85 memcpy(&result[b], &all_result[b].vehicle_plate_infos[best_index], sizeof(vehicle_plate_result));
81 } 86 }
82 87
83 - for (int i = 0; i < batchsize; i++) {  
84 - if(cpu_batch_img[i].data_ != nullptr) {  
85 - free(cpu_batch_img[i].data_);  
86 - cpu_batch_img[i].data_ = nullptr;  
87 - }  
88 - } 88 + // for (int i = 0; i < batchsize; i++) {
  89 + // if(cpu_batch_img[i].data_ != nullptr) {
  90 + // free(cpu_batch_img[i].data_);
  91 + // cpu_batch_img[i].data_ = nullptr;
  92 + // }
  93 + // }
89 94
90 if (all_result != NULL) 95 if (all_result != NULL)
91 delete [] all_result; 96 delete [] all_result;
@@ -93,11 +98,13 @@ int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img, int batc @@ -93,11 +98,13 @@ int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img, int batc
93 return SUCCESS; 98 return SUCCESS;
94 } 99 }
95 100
96 -int VehiclePlateDetectRecog_Release(void *& handle) 101 +int VehiclePlate::release()
97 { 102 {
98 if (handle) { 103 if (handle) {
99 vpdr_release(&handle); 104 vpdr_release(&handle);
  105 + handle = nullptr;
100 } 106 }
101 107
  108 + LOG_INFO("release");
102 return SUCCESS; 109 return SUCCESS;
103 } 110 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehiclePlate.h
@@ -11,6 +11,18 @@ @@ -11,6 +11,18 @@
11 using namespace std; 11 using namespace std;
12 12
13 13
14 -int VehiclePlateDetectRecog_Init(void *&handle, int gpuid, char* auth_license);  
15 -int VehiclePlateDetectRecog_Process(void * handle, sy_img * batch_img,int batchsize, vehicle_plate_result *&result);  
16 -int VehiclePlateDetectRecog_Release(void *& handle); 14 +class VehiclePlate
  15 +{
  16 +public:
  17 + VehiclePlate(/* args */);
  18 + ~VehiclePlate();
  19 +
  20 + int init(int gpuid, char* auth_license);
  21 + int process(sy_img * batch_img,int batchsize, vehicle_plate_result *&result);
  22 + int release();
  23 +
  24 +private:
  25 + void* handle {nullptr};
  26 +};
  27 +
  28 +
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleRearRecg.cpp
1 #include "VehicleRearRecg.h" 1 #include "VehicleRearRecg.h"
  2 +
  3 +#include "../../FFNvDecoder/logger.hpp"
  4 +
2 using namespace std; 5 using namespace std;
3 -int VehicleRearRecg_Init(void *&handle, char*dbpath, int gpuid, char* auth_license) 6 +
  7 +VehicleRearRecg::VehicleRearRecg(/* args */)
  8 +{
  9 +}
  10 +
  11 +VehicleRearRecg::~VehicleRearRecg()
  12 +{
  13 + LOG_INFO("~VehicleRearRecg");
  14 +}
  15 +
  16 +int VehicleRearRecg::init(char*dbpath, int gpuid, char* auth_license)
4 { 17 {
5 vrr_param params; 18 vrr_param params;
6 params.gpuid = gpuid; 19 params.gpuid = gpuid;
@@ -12,29 +25,35 @@ int VehicleRearRecg_Init(void *&amp;handle, char*dbpath, int gpuid, char* auth_licen @@ -12,29 +25,35 @@ int VehicleRearRecg_Init(void *&amp;handle, char*dbpath, int gpuid, char* auth_licen
12 params.auth_license = auth_license; 25 params.auth_license = auth_license;
13 26
14 int ret = vrr_init(&handle, params); 27 int ret = vrr_init(&handle, params);
15 - if (ret != 0)  
16 - {  
17 - cout << "VRR Init Failed!" << endl; 28 + if (ret != 0){
  29 + LOG_ERROR("vrr_init failed!");
18 return FAILED; 30 return FAILED;
19 } 31 }
20 32
  33 + LOG_INFO("vrr_init success! gpu_id: {}", gpuid);
21 return SUCCESS; 34 return SUCCESS;
22 } 35 }
23 -int VehicleRearRecg_Process(void * handle, sy_img * batch_img, int batchsize, vehicle_rear_result *&vr_result) 36 +int VehicleRearRecg::process(sy_img * batch_img, int batchsize, vehicle_rear_result *&vr_result)
24 { 37 {
25 for (int i = 0; i < batchsize; i++) 38 for (int i = 0; i < batchsize; i++)
26 { 39 {
27 - if (batch_img[i].data_ == NULL)  
28 - cout << i << " data null" << endl; 40 + if (batch_img[i].data_ == NULL) {
  41 + LOG_ERROR("data null ");
  42 + return FAILED;
  43 + }
29 } 44 }
30 45
31 vrr_batch(handle, batch_img, batchsize, vr_result); 46 vrr_batch(handle, batch_img, batchsize, vr_result);
32 47
33 return SUCCESS; 48 return SUCCESS;
34 } 49 }
35 -int VehicleRearRecg_Release(void *& handle) 50 +int VehicleRearRecg::release()
36 { 51 {
37 - if (handle)  
38 - vrr_release(&handle); 52 + if (handle) {
  53 + vrr_release(&handle);
  54 + handle = nullptr;
  55 + }
  56 +
  57 + LOG_INFO("release");
39 return SUCCESS; 58 return SUCCESS;
40 } 59 }
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleRearRecg.h
@@ -4,10 +4,21 @@ @@ -4,10 +4,21 @@
4 #include <iostream> 4 #include <iostream>
5 #include "utools.h" 5 #include "utools.h"
6 #include <vector> 6 #include <vector>
  7 +
  8 +
7 using namespace std; 9 using namespace std;
8 10
9 11
  12 +class VehicleRearRecg
  13 +{
  14 +private:
  15 + void* handle{nullptr};
  16 +
  17 +public:
  18 + VehicleRearRecg(/* args */);
  19 + ~VehicleRearRecg();
10 20
11 -int VehicleRearRecg_Init(void *&handle, char*dbpath, int gpuid, char* auth_license);  
12 -int VehicleRearRecg_Process(void * handle, sy_img * batch_img, int batchsize, vehicle_rear_result *&vr_result);  
13 -int VehicleRearRecg_Release(void *& handle); 21 + int init(char*dbpath, int gpuid, char* auth_license);
  22 + int process(sy_img * batch_img, int batchsize, vehicle_rear_result *&vr_result);
  23 + int release();
  24 +};
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleRecognition.cpp
1 -#include "vehicle_recognition.h" 1 +#include "VehicleRecognition.h"
2 #include <iostream> 2 #include <iostream>
3 #include "sy_errorinfo.h" 3 #include "sy_errorinfo.h"
4 -#include "vehicle_features.h" 4 +
  5 +#include "../../FFNvDecoder/logger.hpp"
  6 +
  7 +
5 using namespace std; 8 using namespace std;
6 -int VehicleRecognition_Init(void *&handle, char*dbpath, int gpuid, char* auth_license) 9 +
  10 +
  11 +VehicleRecognition::VehicleRecognition(/* args */)
  12 +{
  13 +}
  14 +
  15 +VehicleRecognition::~VehicleRecognition()
  16 +{
  17 + LOG_INFO("~VehicleRecognition");
  18 +}
  19 +
  20 +int VehicleRecognition::init(char*dbpath, int gpuid, char* auth_license)
7 { 21 {
8 vr_param params; 22 vr_param params;
9 params.gpuid = 0; 23 params.gpuid = 0;
@@ -16,20 +30,22 @@ int VehicleRecognition_Init(void *&amp;handle, char*dbpath, int gpuid, char* auth_li @@ -16,20 +30,22 @@ int VehicleRecognition_Init(void *&amp;handle, char*dbpath, int gpuid, char* auth_li
16 params.auth_license = "sy_va_sub_sdk_2023"; 30 params.auth_license = "sy_va_sub_sdk_2023";
17 31
18 int ret = vr_init(&handle, params); 32 int ret = vr_init(&handle, params);
19 - if (ret != 0)  
20 - {  
21 - cout << "VR Init Failed!" << endl; 33 + if (ret != 0) {
  34 + LOG_ERROR("vr_init failed!");
22 return FAILED; 35 return FAILED;
23 } 36 }
  37 +
  38 + LOG_INFO("vr_init success! gpu_id: {}", gpuid);
24 return SUCCESS; 39 return SUCCESS;
25 } 40 }
26 41
27 -int VehicleRecognition_Process(void * handle, sy_img * batch_img, int batchsize, vehicle_recog_result *&vrresult) 42 +int VehicleRecognition::process(sy_img * batch_img, int batchsize, vehicle_recog_result *&vrresult)
28 { 43 {
29 - for (int i = 0; i < batchsize; i++)  
30 - {  
31 - if (batch_img[i].data_ == NULL)  
32 - cout << i << " data null" << endl; 44 + for (int i = 0; i < batchsize; i++) {
  45 + if (batch_img[i].data_ == NULL) {
  46 + LOG_ERROR("data null ");
  47 + return FAILED;
  48 + }
33 } 49 }
34 50
35 vr_batch(handle, batch_img, batchsize, vrresult); 51 vr_batch(handle, batch_img, batchsize, vrresult);
@@ -37,9 +53,13 @@ int VehicleRecognition_Process(void * handle, sy_img * batch_img, int batchsize @@ -37,9 +53,13 @@ int VehicleRecognition_Process(void * handle, sy_img * batch_img, int batchsize
37 return SUCCESS; 53 return SUCCESS;
38 } 54 }
39 55
40 -int VehicleRecognition_Release(void *& handle) 56 +int VehicleRecognition::release()
41 { 57 {
42 - if (handle)  
43 - vr_release(&handle); 58 + if (handle) {
  59 + vr_release(&handle);
  60 + handle = nullptr;
  61 + }
  62 +
  63 + LOG_INFO("release");
44 return SUCCESS; 64 return SUCCESS;
45 -} 65 +}
46 \ No newline at end of file 66 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VehicleRecognition.h
@@ -9,7 +9,19 @@ @@ -9,7 +9,19 @@
9 using namespace std; 9 using namespace std;
10 10
11 11
  12 +class VehicleRecognition
  13 +{
  14 +public:
  15 + VehicleRecognition(/* args */);
  16 + ~VehicleRecognition();
  17 +
  18 + int init(char*dbpath, int gpuid, char* auth_license);
  19 + int process(sy_img * batch_img,int batchsize, vehicle_recog_result*&vr_result);
  20 + int release();
  21 +
  22 +private:
  23 + void* handle{nullptr};
  24 +};
  25 +
  26 +
12 27
13 -int VehicleRecognition_Init(void *&handle, char*dbpath, int gpuid, char* auth_license);  
14 -int VehicleRecognition_Process(void * handle, sy_img * batch_img,int batchsize, vehicle_recog_result*&vr_result);  
15 -int VehicleRecognition_Release(void *& handle);  
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/non_vehicle_fea.h deleted
1 -#pragma once  
2 -#include "non_vehicle_fea_trt.h"  
3 -#include "utools.h"  
4 -  
5 -int NonVehicleFea_Init(void *&handle, int gpuid, char* auth_license);  
6 -int NonVehicleFea_Process(void * handle, sy_img * batch_img, int batch_size, human_fea_result*& result);  
7 -int NonVehicleFea_Release(void *& handle);  
8 \ No newline at end of file 0 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.cpp
1 #include "opencv2/opencv.hpp" 1 #include "opencv2/opencv.hpp"
2 #include "opencv2/highgui/highgui.hpp" 2 #include "opencv2/highgui/highgui.hpp"
3 #include "snapshot_helper.h" 3 #include "snapshot_helper.h"
4 -#include "HumanParsing.h"  
5 -#include "VehiclePlate.h"  
6 -#include "VehicleRecognition.h"  
7 -#include "VehicleColor.h"  
8 -#include "non_vehicle_fea.h"  
9 -//#include "HumanFeatures.h"  
10 -#include "vehicle_features.h"  
11 -#include "VehicleRearRecg.h"  
12 #include "CropImg.h" 4 #include "CropImg.h"
13 5
14 #include <chrono> 6 #include <chrono>
@@ -114,7 +106,7 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c @@ -114,7 +106,7 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c
114 106
115 if (hp_analysis_cf == SY_CONFIG_OPEN || hf_recg_cf == SY_CONFIG_OPEN) 107 if (hp_analysis_cf == SY_CONFIG_OPEN || hf_recg_cf == SY_CONFIG_OPEN)
116 { 108 {
117 - HumanParsing_Init(hp_handle, gpuid, auth_license); 109 + m_human_parsing.init(gpuid, auth_license);
118 } 110 }
119 111
120 if (hcp_analysis_cf == SY_CONFIG_OPEN || hcf_recg_cf == SY_CONFIG_OPEN) 112 if (hcp_analysis_cf == SY_CONFIG_OPEN || hcf_recg_cf == SY_CONFIG_OPEN)
@@ -124,25 +116,24 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c @@ -124,25 +116,24 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c
124 116
125 if (hf_recg_cf == SY_CONFIG_OPEN || hcf_recg_cf == SY_CONFIG_OPEN) 117 if (hf_recg_cf == SY_CONFIG_OPEN || hcf_recg_cf == SY_CONFIG_OPEN)
126 { 118 {
127 - NonVehicleFea_Init(nvf_handle, gpuid, auth_license); 119 + m_human_fea.init(gpuid, auth_license);
128 } 120 }
129 121
130 -  
131 if (vehicle_analysis_cf == SY_CONFIG_OPEN) 122 if (vehicle_analysis_cf == SY_CONFIG_OPEN)
132 { 123 {
133 - VehicleColor_Init(vc_handle, gpuid, auth_license);  
134 - VehiclePlateDetectRecog_Init(vp_handle, gpuid, auth_license);  
135 - VehicleRecognition_Init(vr_handle, dbpath_utf8, gpuid, auth_license);  
136 - VehicleRearRecg_Init(vrr_handle, dbpath, gpuid, auth_license); 124 + m_vehicle_color.init(gpuid, auth_license);
  125 + m_vehicle_plate.init(gpuid, auth_license);
  126 + m_vehicle_recognition.init(dbpath_utf8, gpuid, auth_license);
  127 + m_vehicle_rear_recog.init(dbpath, gpuid, auth_license);
137 } 128 }
138 - if (vehicle_analysis_cf == SY_CONFIG_OPEN || vcf_recg_cf == SY_CONFIG_OPEN)  
139 - {  
140 - vhd_features_init(vhd_handle, dbpath_utf8, gpuid, auth_license); 129 +
  130 + if (vehicle_analysis_cf == SY_CONFIG_OPEN || vcf_recg_cf == SY_CONFIG_OPEN) {
  131 + m_vehicle_feature.init_vpd(dbpath_utf8, gpuid, auth_license);
141 } 132 }
142 133
143 if (vcf_recg_cf == SY_CONFIG_OPEN) 134 if (vcf_recg_cf == SY_CONFIG_OPEN)
144 { 135 {
145 - vf_features_init(vf_handle, dbpath_utf8, gpuid, auth_license); 136 + m_vehicle_feature.init_vf(dbpath_utf8, gpuid, auth_license);
146 } 137 }
147 138
148 139
@@ -174,15 +165,15 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c @@ -174,15 +165,15 @@ void snapshot_helper::snapshot_helper_init(int gpuid, double gpu_total_memory, c
174 void snapshot_helper::snapshot_helper_release() 165 void snapshot_helper::snapshot_helper_release()
175 { 166 {
176 m_bExit = true; 167 m_bExit = true;
177 - HumanParsing_Release(hp_handle); 168 + m_human_parsing.release();
178 m_human_car_parsing.release(); 169 m_human_car_parsing.release();
179 - VehicleColor_Release(vc_handle);  
180 - VehiclePlateDetectRecog_Release(vp_handle);  
181 - VehicleRecognition_Release(vr_handle);  
182 - VehicleRearRecg_Release(vrr_handle);  
183 - vhd_feature_release(vhd_handle);  
184 - vf_feature_release(vf_handle);  
185 - NonVehicleFea_Release(nvf_handle); 170 + m_vehicle_color.release();
  171 + m_vehicle_plate.release();
  172 + m_vehicle_recognition.release();
  173 + m_vehicle_rear_recog.release();
  174 + m_vehicle_feature.release_vpd();
  175 + m_vehicle_feature.release_vf();
  176 + m_human_fea.release();
186 177
187 if (batch_hp != NULL) 178 if (batch_hp != NULL)
188 { 179 {
@@ -515,16 +506,12 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -515,16 +506,12 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
515 if (hp_analysis_cf == SY_CONFIG_OPEN) 506 if (hp_analysis_cf == SY_CONFIG_OPEN)
516 { 507 {
517 result = new hp_analysis_res[hp_batch_count]{}; 508 result = new hp_analysis_res[hp_batch_count]{};
518 - //TimeCounting t("HumanParsing_Process");  
519 - HumanParsing_Process(hp_handle, finish_hp_img, hp_batch_count, result); 509 + m_human_parsing.process(finish_hp_img, hp_batch_count, result);
520 } 510 }
521 511
522 - if (hf_recg_cf == SY_CONFIG_OPEN)  
523 - { 512 + if (hf_recg_cf == SY_CONFIG_OPEN) {
524 result_f = new human_fea_result[hp_batch_count]{}; 513 result_f = new human_fea_result[hp_batch_count]{};
525 -  
526 - //TimeCounting t("NonVehicleFea_Process");  
527 - NonVehicleFea_Process(nvf_handle, finish_hp_img, hp_batch_count, result_f); 514 + m_human_fea.process(finish_hp_img, hp_batch_count, result_f);
528 } 515 }
529 int resIndex = 0; 516 int resIndex = 0;
530 for (int k = 0; k < hp_batch_count; k++) 517 for (int k = 0; k < hp_batch_count; k++)
@@ -621,11 +608,9 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -621,11 +608,9 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
621 m_human_car_parsing.process(finish_hcp_img, hcp_batch_count, result); 608 m_human_car_parsing.process(finish_hcp_img, hcp_batch_count, result);
622 } 609 }
623 610
624 - if (hcf_recg_cf == SY_CONFIG_OPEN)  
625 - { 611 + if (hcf_recg_cf == SY_CONFIG_OPEN) {
626 result_f = new human_fea_result[hcp_batch_count]{}; 612 result_f = new human_fea_result[hcp_batch_count]{};
627 - //TimeCounting t("NonVehicleFea_Process");  
628 - NonVehicleFea_Process(nvf_handle, finish_hcp_img, hcp_batch_count, result_f); 613 + m_human_fea.process(finish_hcp_img, hcp_batch_count, result_f);
629 } 614 }
630 int resIndex = 0; 615 int resIndex = 0;
631 616
@@ -720,11 +705,8 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -720,11 +705,8 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
720 vehicle_plate_result *vp_result = new vehicle_plate_result[det_batch_size]{}; 705 vehicle_plate_result *vp_result = new vehicle_plate_result[det_batch_size]{};
721 vr_result *vrresult = new vr_result[det_batch_size]{}; 706 vr_result *vrresult = new vr_result[det_batch_size]{};
722 if (vehicle_analysis_cf == SY_CONFIG_OPEN) { 707 if (vehicle_analysis_cf == SY_CONFIG_OPEN) {
723 - if(det_batch_size == 3) {  
724 - printf("batchsize: %d \n", det_batch_size);  
725 - }  
726 - VehicleColor_Process(vc_handle, finish_vehicle_img, det_batch_size, vcresult);  
727 - VehiclePlateDetectRecog_Process(vp_handle, finish_vehicle_img, det_batch_size, vp_result); 708 + m_vehicle_color.process(finish_vehicle_img, det_batch_size, vcresult);
  709 + m_vehicle_plate.process(finish_vehicle_img, det_batch_size, vp_result);
728 VehicleRecog_Process(finish_vehicle_img, det_batch_size, vrresult, det_vehicle_keys.data()); 710 VehicleRecog_Process(finish_vehicle_img, det_batch_size, vrresult, det_vehicle_keys.data());
729 } 711 }
730 712
@@ -735,7 +717,7 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -735,7 +717,7 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
735 fea[ii] = new int8[FEATURESIZE]{}; 717 fea[ii] = new int8[FEATURESIZE]{};
736 } 718 }
737 719
738 - vf_features_process(vf_handle, finish_vehicle_img, det_batch_size, fea); 720 + m_vehicle_feature.process_vf(finish_vehicle_img, det_batch_size, fea);
739 } 721 }
740 722
741 int feaIndex = 0; 723 int feaIndex = 0;
@@ -885,18 +867,14 @@ void snapshot_helper::hp_analysis() @@ -885,18 +867,14 @@ void snapshot_helper::hp_analysis()
885 } 867 }
886 868
887 //算法分析 869 //算法分析
888 - if (hp_analysis_cf == SY_CONFIG_OPEN)  
889 - { 870 + if (hp_analysis_cf == SY_CONFIG_OPEN) {
890 result = new hp_analysis_res[obj_batch_count]{}; 871 result = new hp_analysis_res[obj_batch_count]{};
891 - //TimeCounting t("HumanParsing_Process");  
892 - HumanParsing_Process(hp_handle, batch_hp, obj_batch_count, result); 872 + m_human_parsing.process(batch_hp, obj_batch_count, result);
893 } 873 }
894 874
895 - if (hf_recg_cf == SY_CONFIG_OPEN)  
896 - { 875 + if (hf_recg_cf == SY_CONFIG_OPEN) {
897 result_f = new human_fea_result[obj_batch_count]{}; 876 result_f = new human_fea_result[obj_batch_count]{};
898 - //TimeCounting t("NonVehicleFea_Process");  
899 - NonVehicleFea_Process(nvf_handle, batch_hp, obj_batch_count, result_f); 877 + m_human_fea.process(batch_hp, obj_batch_count, result_f);
900 } 878 }
901 879
902 //删除已经进行保存和二次属性分析的目标 880 //删除已经进行保存和二次属性分析的目标
@@ -1003,11 +981,9 @@ void snapshot_helper::hcp_analysis() @@ -1003,11 +981,9 @@ void snapshot_helper::hcp_analysis()
1003 m_human_car_parsing.process(batch_hcp, obj_batch_count, result); 981 m_human_car_parsing.process(batch_hcp, obj_batch_count, result);
1004 } 982 }
1005 983
1006 - if (hcf_recg_cf == SY_CONFIG_OPEN)  
1007 - { 984 + if (hcf_recg_cf == SY_CONFIG_OPEN) {
1008 result_f = new human_fea_result[obj_batch_count]{}; 985 result_f = new human_fea_result[obj_batch_count]{};
1009 - //TimeCounting t("NonVehicleFea_Process");  
1010 - NonVehicleFea_Process(nvf_handle, batch_hcp, obj_batch_count, result_f); 986 + m_human_fea.process(batch_hcp, obj_batch_count, result_f);
1011 } 987 }
1012 988
1013 int resIndex = 0; 989 int resIndex = 0;
@@ -1113,10 +1089,7 @@ bool snapshot_helper::vehicle_color_analysis() @@ -1113,10 +1089,7 @@ bool snapshot_helper::vehicle_color_analysis()
1113 } 1089 }
1114 1090
1115 vc_result *vcresult = new vc_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{}; 1091 vc_result *vcresult = new vc_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{};
1116 - {  
1117 - //TimeCounting t("VehicleColor_Process");  
1118 - VehicleColor_Process(vc_handle, batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vcresult);  
1119 - } 1092 + m_vehicle_color.process(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vcresult);
1120 1093
1121 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1094 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
1122 { 1095 {
@@ -1195,7 +1168,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis() @@ -1195,7 +1168,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis()
1195 batch_vehicle[i].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 1168 batch_vehicle[i].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
1196 } 1169 }
1197 vehicle_plate_result *vp_result = new vehicle_plate_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{}; 1170 vehicle_plate_result *vp_result = new vehicle_plate_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{};
1198 - VehiclePlateDetectRecog_Process(vp_handle, batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vp_result); 1171 + m_vehicle_plate.process(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vp_result);
1199 1172
1200 int resIndex = 0; 1173 int resIndex = 0;
1201 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1174 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
@@ -1242,7 +1215,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr @@ -1242,7 +1215,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr
1242 { 1215 {
1243 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT]; 1216 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT];
1244 } 1217 }
1245 - vhd_features_process(vhd_handle, batch_img, batchsize, vhd_res); 1218 + m_vehicle_feature.process_vpd(batch_img, batchsize, vhd_res);
1246 1219
1247 for (int vc_idx = 0; vc_idx < batchsize; vc_idx++) 1220 for (int vc_idx = 0; vc_idx < batchsize; vc_idx++)
1248 { 1221 {
@@ -1323,7 +1296,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr @@ -1323,7 +1296,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr
1323 { 1296 {
1324 LOG_DEBUG("index_head : {}", index_head); 1297 LOG_DEBUG("index_head : {}", index_head);
1325 vehicle_recog_result *vrresult = new vehicle_recog_result[index_head]{}; 1298 vehicle_recog_result *vrresult = new vehicle_recog_result[index_head]{};
1326 - VehicleRecognition_Process(vr_handle, batch_vehicle_head, index_head, vrresult); 1299 + m_vehicle_recognition.process(batch_vehicle_head, index_head, vrresult);
1327 1300
1328 1301
1329 int resIndex = 0; 1302 int resIndex = 0;
@@ -1339,7 +1312,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr @@ -1339,7 +1312,7 @@ void snapshot_helper::VehicleRecog_Process(sy_img * batch_img, int batchsize, vr
1339 if (index_rear != 0) 1312 if (index_rear != 0)
1340 { 1313 {
1341 vehicle_rear_result *vrresult = new vehicle_rear_result[index_rear]{}; 1314 vehicle_rear_result *vrresult = new vehicle_rear_result[index_rear]{};
1342 - VehicleRearRecg_Process(vrr_handle, batch_vehicle_rear, index_rear, vrresult); 1315 + m_vehicle_rear_recog.process(batch_vehicle_rear, index_rear, vrresult);
1343 1316
1344 int resIndex = 0; 1317 int resIndex = 0;
1345 for (auto & item : mp_rear) 1318 for (auto & item : mp_rear)
@@ -1447,7 +1420,8 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1447,7 +1420,8 @@ bool snapshot_helper::vehicle_recg_analysis()
1447 { 1420 {
1448 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT]; 1421 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT];
1449 } 1422 }
1450 - vhd_features_process(vhd_handle, batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vhd_res); 1423 +
  1424 + m_vehicle_feature.process_vpd(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vhd_res);
1451 1425
1452 for (int vc_idx = 0; vc_idx < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; vc_idx++) 1426 for (int vc_idx = 0; vc_idx < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; vc_idx++)
1453 { 1427 {
@@ -1528,7 +1502,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1528,7 +1502,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1528 if (index_head != 0) 1502 if (index_head != 0)
1529 { 1503 {
1530 vehicle_recog_result *vrresult = new vehicle_recog_result[index_head]{}; 1504 vehicle_recog_result *vrresult = new vehicle_recog_result[index_head]{};
1531 - VehicleRecognition_Process(vr_handle, batch_vehicle_head, index_head, vrresult); 1505 + m_vehicle_recognition.process(batch_vehicle_head, index_head, vrresult);
1532 1506
1533 int resIndex = 0; 1507 int resIndex = 0;
1534 for (auto & item : mp_head) 1508 for (auto & item : mp_head)
@@ -1549,7 +1523,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1549,7 +1523,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1549 if (index_rear != 0) 1523 if (index_rear != 0)
1550 { 1524 {
1551 vehicle_rear_result *vrresult = new vehicle_rear_result[index_rear]{}; 1525 vehicle_rear_result *vrresult = new vehicle_rear_result[index_rear]{};
1552 - VehicleRearRecg_Process(vrr_handle, batch_vehicle_rear, index_rear, vrresult); 1526 + m_vehicle_rear_recog.process(batch_vehicle_rear, index_rear, vrresult);
1553 1527
1554 int resIndex = 0; 1528 int resIndex = 0;
1555 for (auto & item : mp_rear) 1529 for (auto & item : mp_rear)
@@ -1609,10 +1583,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1609,10 +1583,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1609 memset(fea[i], 0, sizeof(int8) * FEATURESIZE); 1583 memset(fea[i], 0, sizeof(int8) * FEATURESIZE);
1610 } 1584 }
1611 1585
1612 - {  
1613 - //TimeCounting t("vf_features_process");  
1614 - vf_features_process(vf_handle, batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, fea);  
1615 - } 1586 + m_vehicle_feature.process_vf(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, fea);
1616 1587
1617 int resIndex = 0; 1588 int resIndex = 0;
1618 1589
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.h
@@ -11,6 +11,14 @@ @@ -11,6 +11,14 @@
11 #include <condition_variable> 11 #include <condition_variable>
12 #include "ImageSaveCache.h" 12 #include "ImageSaveCache.h"
13 #include "HumanCarParsing.h" 13 #include "HumanCarParsing.h"
  14 +#include "HumanParsing.h"
  15 +#include "HumanFea.h"
  16 +#include "VehicleFeature.h"
  17 +#include "VehiclePlate.h"
  18 +#include "VehicleColor.h"
  19 +#include "VehicleRearRecg.h"
  20 +#include "VehicleRecognition.h"
  21 +
14 using namespace std; 22 using namespace std;
15 23
16 #define EDGESIZE 4 24 #define EDGESIZE 4
@@ -33,9 +41,6 @@ using namespace std; @@ -33,9 +41,6 @@ using namespace std;
33 #define FALSE 0 41 #define FALSE 0
34 #endif 42 #endif
35 43
36 -  
37 -  
38 -  
39 #define Sleep(a) usleep((a)*1000) 44 #define Sleep(a) usleep((a)*1000)
40 //typedef int BOOL; 45 //typedef int BOOL;
41 #define BOOL bool 46 #define BOOL bool
@@ -182,7 +187,6 @@ private: @@ -182,7 +187,6 @@ private:
182 int save_snapshot(bool is_image, bool on_image_display, OBJ_KEY obj_key, char* filename, char* mode, unsigned char* imgData, int width, int height, int taskID, int objID, int recFlag, int left, int top, int right, int bottom); 187 int save_snapshot(bool is_image, bool on_image_display, OBJ_KEY obj_key, char* filename, char* mode, unsigned char* imgData, int width, int height, int taskID, int objID, int recFlag, int left, int top, int right, int bottom);
183 int save_snapshot(OBJ_KEY obj_key); 188 int save_snapshot(OBJ_KEY obj_key);
184 int save_face_snapshot(OBJ_KEY obj_key); 189 int save_face_snapshot(OBJ_KEY obj_key);
185 -  
186 void save_without_analysis(OBJ_KEY obj_key); 190 void save_without_analysis(OBJ_KEY obj_key);
187 191
188 //针对车拆开的二次属性分析 192 //针对车拆开的二次属性分析
@@ -190,6 +194,13 @@ private: @@ -190,6 +194,13 @@ private:
190 194
191 private: 195 private:
192 HumanCarParsing m_human_car_parsing; 196 HumanCarParsing m_human_car_parsing;
  197 + HumanParsing m_human_parsing;
  198 + HumanFea m_human_fea;
  199 + VehicleFeature m_vehicle_feature;
  200 + VehicleColor m_vehicle_color;
  201 + VehiclePlate m_vehicle_plate;
  202 + VehicleRearRecg m_vehicle_rear_recog;
  203 + VehicleRecognition m_vehicle_recognition;
193 204
194 queue<OBJ_KEY> count_person; 205 queue<OBJ_KEY> count_person;
195 queue<OBJ_KEY> count_bike; 206 queue<OBJ_KEY> count_bike;
@@ -203,15 +214,7 @@ private: @@ -203,15 +214,7 @@ private:
203 sy_img * batch_hcp = nullptr; 214 sy_img * batch_hcp = nullptr;
204 sy_img * batch_vehicle = nullptr; 215 sy_img * batch_vehicle = nullptr;
205 sy_img * batch_vehicle_vf = nullptr; 216 sy_img * batch_vehicle_vf = nullptr;
206 -  
207 - void * hp_handle = nullptr;  
208 - void * vc_handle = nullptr;  
209 - void * vp_handle = nullptr;  
210 - void * vr_handle = nullptr;  
211 - void * vrr_handle = nullptr;  
212 - void * nvf_handle = nullptr;  
213 - void * vhd_handle = nullptr;  
214 - void * vf_handle = nullptr; 217 +
215 sy_command hp_analysis_cf; 218 sy_command hp_analysis_cf;
216 sy_command hcp_analysis_cf; 219 sy_command hcp_analysis_cf;
217 sy_command vehicle_analysis_cf; 220 sy_command vehicle_analysis_cf;
@@ -222,9 +225,6 @@ private: @@ -222,9 +225,6 @@ private:
222 sy_command vehicle_plate_det_recg_cf; 225 sy_command vehicle_plate_det_recg_cf;
223 sy_command face_detect_cf; 226 sy_command face_detect_cf;
224 227
225 - void * hf_handle = nullptr;  
226 - void * hcf_handle = nullptr;  
227 -  
228 int count_vehivle_finishanalysis = 0; 228 int count_vehivle_finishanalysis = 0;
229 int OBJ_SCALE = 2; 229 int OBJ_SCALE = 2;
230 int OBJ_BATCH_COUNT = 0; 230 int OBJ_BATCH_COUNT = 0;
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/vehicle_features.h deleted
1 -  
2 -  
3 -#ifndef _VEHICLEFEATURES_H_  
4 -#define _VEHICLEFEATURES_H_  
5 -#include "vehicle_fea_int8.h"  
6 -#include "vpd.h"  
7 -  
8 -#ifndef __INT8__  
9 -#define __INT8__  
10 -typedef unsigned char int8;  
11 -#endif  
12 -  
13 -int vhd_features_init(void *&handle, char*dbpath, int gpuid, char* auth_license);  
14 -  
15 -int vf_features_init(void *&handle, char*dbpath, int gpuid, char* auth_license);  
16 -  
17 -int vhd_features_process(void * handle, sy_img * batch_img, int batch_size, vpd2_result*& result);  
18 -  
19 -int vf_features_process(void * handle, sy_img * batch_img, int batch_size, int8**& result);  
20 -  
21 -int vhd_feature_release(void *& handle);  
22 -  
23 -int vf_feature_release(void *& handle);  
24 -  
25 -#endif