PKUZHOU / MTCNN_FaceDetection_TensorRT

MTCNN C++ implementation with NVIDIA TensorRT Inference accelerator SDK
202 stars 57 forks source link

core dump from detect function #14

Open yaira24 opened 5 years ago

yaira24 commented 5 years ago

I get opencv Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in GpuMat, file cuda_gpu_mat.cpp, line 152

I see that the assertion can be from all the places we create a new image with Rect temp((it).y1, (it).x1, (it).y2-(it).y1, (it).x2-(it).x1) but opencv rectangle get Rect_ (_Tp _x, _Tp _y, _Tp _width, _Tp _height) why the x and y are fliped? how can I fix this core?

yaira24 commented 5 years ago

any help suggestions on what to do? I see that when this error start the detector insert a loop that he can't recover if I catch the exception

yaira24 commented 5 years ago

I was able to catch the exception and print the opencv rectangle
cuda_gpu_mat.cpp:152: error: (-215) 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows in function GpuMat

Rect: [-1 x 313 from (1095, 0)] image rows: 2160 image cols: 1920 It look like the width of the rectangle is negative -1. if I will protect this, we will get Rect with width 0 will this affect the calculation of the next network? or how can I remove Rect that has 0 widths?