@@ -65,11 +65,7 @@ int main(int argc, char** argv) {
6565 FLAGS_gpu_id,
6666 FLAGS_key,
6767 FLAGS_use_ir_optim);
68-
69- double total_running_time_s = 0.0 ;
70- double total_imread_time_s = 0.0 ;
7168 int imgs = 1 ;
72- auto colormap = PaddleX::GenerateColorMap (model.labels .size ());
7369 std::string save_dir = " output" ;
7470 // 进行预测
7571 if (FLAGS_image_list != " " ) {
@@ -85,7 +81,6 @@ int main(int argc, char** argv) {
8581 }
8682 imgs = image_paths.size ();
8783 for (int i = 0 ; i < image_paths.size (); i += FLAGS_batch_size) {
88- auto start = system_clock::now ();
8984 int im_vec_size =
9085 std::min (static_cast <int >(image_paths.size ()), i + FLAGS_batch_size);
9186 std::vector<cv::Mat> im_vec (im_vec_size - i);
@@ -96,17 +91,7 @@ int main(int argc, char** argv) {
9691 for (int j = i; j < im_vec_size; ++j) {
9792 im_vec[j - i] = std::move (cv::imread (image_paths[j], 1 ));
9893 }
99- auto imread_end = system_clock::now ();
10094 model.predict (im_vec, &results, thread_num);
101- auto imread_duration = duration_cast<microseconds>(imread_end - start);
102- total_imread_time_s += static_cast <double >(imread_duration.count ()) *
103- microseconds::period::num /
104- microseconds::period::den;
105- auto end = system_clock::now ();
106- auto duration = duration_cast<microseconds>(end - start);
107- total_running_time_s += static_cast <double >(duration.count ()) *
108- microseconds::period::num /
109- microseconds::period::den;
11095 // 输出结果目标框
11196 for (int j = 0 ; j < im_vec_size - i; ++j) {
11297 for (int k = 0 ; k < results[j].boxes .size (); ++k) {
@@ -124,23 +109,17 @@ int main(int argc, char** argv) {
124109 // 可视化
125110 for (int j = 0 ; j < im_vec_size - i; ++j) {
126111 cv::Mat vis_img = PaddleX::Visualize (
127- im_vec[j], results[j], model.labels , colormap, FLAGS_threshold);
112+ im_vec[j], results[j], model.labels , FLAGS_threshold);
128113 std::string save_path =
129114 PaddleX::generate_save_path (FLAGS_save_dir, image_paths[i + j]);
130115 cv::imwrite (save_path, vis_img);
131116 std::cout << " Visualized output saved as " << save_path << std::endl;
132117 }
133118 }
134119 } else {
135- auto start = system_clock::now ();
136120 PaddleX::DetResult result;
137121 cv::Mat im = cv::imread (FLAGS_image, 1 );
138122 model.predict (im, &result);
139- auto end = system_clock::now ();
140- auto duration = duration_cast<microseconds>(end - start);
141- total_running_time_s += static_cast <double >(duration.count ()) *
142- microseconds::period::num /
143- microseconds::period::den;
144123 // 输出结果目标框
145124 for (int i = 0 ; i < result.boxes .size (); ++i) {
146125 std::cout << " image file: " << FLAGS_image << std::endl;
@@ -155,19 +134,13 @@ int main(int argc, char** argv) {
155134
156135 // 可视化
157136 cv::Mat vis_img =
158- PaddleX::Visualize (im, result, model.labels , colormap, FLAGS_threshold);
137+ PaddleX::Visualize (im, result, model.labels , FLAGS_threshold);
159138 std::string save_path =
160139 PaddleX::generate_save_path (FLAGS_save_dir, FLAGS_image);
161140 cv::imwrite (save_path, vis_img);
162141 result.clear ();
163142 std::cout << " Visualized output saved as " << save_path << std::endl;
164143 }
165144
166- std::cout << " Total running time: " << total_running_time_s
167- << " s, average running time: " << total_running_time_s / imgs
168- << " s/img, total read img time: " << total_imread_time_s
169- << " s, average read img time: " << total_imread_time_s / imgs
170- << " s, batch_size = " << FLAGS_batch_size << std::endl;
171-
172145 return 0 ;
173146}
0 commit comments