14
14
#define mask_recognition 1 // 口罩识别
15
15
#define gender_age_recognition 1 // 性别年龄识别
16
16
#define silnet_face_anti_spoofing 1 // 静默活体检测
17
+ #define show 1 // 显示
17
18
18
19
/* -----------------------------------------
19
20
人脸识别流程
@@ -157,10 +158,11 @@ int main(int argc, char** argv)
157
158
cv::putText (RawImageVec[i], label3, cv::Point (dets[i][j].bbox .xmin , dets[i][j].bbox .ymin ), cv::FONT_HERSHEY_SIMPLEX, 0.8 , cv::Scalar (255 , 255 , 0 ), 2 );
158
159
// std::cout << "yaw angle:" << dets[i][j].YawAngle<< " pitch angle:" << dets[i][j].PitchAngle<<" 瞳距:"<<dets[i][j].InterDis<< std::endl;
159
160
}
161
+ #if show
160
162
cv::imshow (" show" , RawImageVec[i]);
161
- cv::waitKey (1 );
162
- }
163
-
163
+ cv::waitKey (1 );
164
+ # endif
165
+ }
164
166
}
165
167
std::cout<<" face_detect test finash!" <<std::endl;
166
168
#endif
@@ -201,7 +203,7 @@ int main(int argc, char** argv)
201
203
auto start = std::chrono::system_clock::now ();
202
204
Yolov5Face_Detect (RawImageVec,dets);
203
205
auto end = std::chrono::system_clock::now ();
204
- // std::cout<<"time:"<<(std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count())<<"ms"<<std::endl;
206
+ std::cout<<" yolov5 face detect average time:" <<(std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count ())/(config. yolov5face_detect_bs * 1.0 )<<" ms" <<std::endl;
205
207
for (int i = 0 ; i < dets.size (); i++)
206
208
{
207
209
for (size_t j = 0 ; j < dets[i].size (); j++)
@@ -217,8 +219,10 @@ int main(int argc, char** argv)
217
219
cv::putText (RawImageVec[i], label3, cv::Point (dets[i][j].bbox .xmin , dets[i][j].bbox .ymin ), cv::FONT_HERSHEY_SIMPLEX, 0.8 , cv::Scalar (255 , 255 , 0 ), 2 );
218
220
// std::cout << "yaw angle:" << dets[i][j].YawAngle<< " pitch angle:" << dets[i][j].PitchAngle<<" 瞳距:"<<dets[i][j].InterDis<< std::endl;
219
221
}
222
+ #if show
220
223
cv::imshow (" show" , RawImageVec[i]);
221
- cv::waitKey (1 );
224
+ cv::waitKey (1 );
225
+ #endif
222
226
}
223
227
224
228
}
@@ -260,7 +264,7 @@ int main(int argc, char** argv)
260
264
auto start = std::chrono::system_clock::now ();
261
265
Yolov7Face_Detect (RawImageVec,dets);
262
266
auto end = std::chrono::system_clock::now ();
263
- // std::cout<<"time:"<<(std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count())<<"ms"<<std::endl;
267
+ std::cout<<" yolov7face average time:" <<(std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count ())/(config. yolov7face_detect_bs * 1.0 )<<" ms" <<std::endl;
264
268
for (int k = 0 ; k < dets.size (); k++)
265
269
{
266
270
for (size_t f = 0 ; f < dets[k].size (); f++)
@@ -276,8 +280,10 @@ int main(int argc, char** argv)
276
280
cv::putText (RawImageVec[k], label3, cv::Point (dets[k][f].bbox .xmin , dets[k][f].bbox .ymin ), cv::FONT_HERSHEY_SIMPLEX, 0.4 , cv::Scalar (255 , 255 , 0 ), 1 );
277
281
// std::cout << "yaw angle:" << dets[k][f].YawAngle<< " pitch angle:" << dets[k][f].PitchAngle<<" 瞳距:"<<dets[k][f].InterDis<< std::endl;
278
282
}
283
+ #if show
279
284
cv::imshow (" show" , RawImageVec[k]);
280
- cv::waitKey (1 );
285
+ cv::waitKey (1 );
286
+ #endif
281
287
}
282
288
283
289
}
@@ -324,8 +330,10 @@ int main(int argc, char** argv)
324
330
// std::cout << "yaw angle:" << dets[i][j].YawAngle<< " pitch angle:" << dets[i][j].PitchAngle<<" 瞳距:"<<dets[i][j].InterDis<< std::endl;
325
331
}
326
332
}
333
+ #if show
327
334
cv::imshow (" show" , img);
328
335
cv::waitKey (1 );
336
+ #endif
329
337
}
330
338
331
339
}
@@ -411,9 +419,11 @@ int main(int argc, char** argv)
411
419
// step6.计算人脸的相似度
412
420
float simi2=Cal_Score (Face_Grop[0 ].face_feature ,Face_Grop[1 ].face_feature );
413
421
std::cout<<" simi2:" <<simi2<<std::endl;
422
+ #if show
414
423
cv::imshow (" face" ,MatVec[0 ]);
415
424
cv::waitKey (0 );
416
425
#endif
426
+ #endif
417
427
418
428
419
429
#if mask_recognition
0 commit comments