-
Notifications
You must be signed in to change notification settings - Fork 548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple BBoxes with SSD #19
Comments
Thanks for letting me know your test result on Jetson AGX Xavier. As to NMS, yes. The TRT SSD engine uses the "NMS_TRT" plugin (provided by NVIDIA) for that. Please refer to ssd/build_engine.py for more info. The inference code is exactly the same for live camera feed and image file. If you'd like to try "more aggressive" NMS, you could try to lower nmsThreshold value, to say 0.3, and rebuild the TRT engine. |
Thanks for the recommendation! |
Hi @jkjung-avt I would like to reopen this issue... I still seem to get multiple boxes. Is this because of the multithreading? Is the Xavier too fast? |
@mbufi, This looks like "NMS" does not properly remove duplicated detections. Did you set nmsThreshold too high? Could you set it back to 0.6 and see if the problem persists? |
Hi @jkjung-avt this is actually with the default values from the GitHub. I just reccloned the repo and ran the image object detection on the Huskies with an Xavier and got this. |
I don't see such a problem on either my Jetson Nano DevKit (TensorRT 5 & 6) or x86 PC (TensorRT 5.1.5.0). I still think this is a problem related to NMS. Which version of TensorRT are you using? Do you have a different platform (or a different version of TensorRT) for comparison? |
That is so weird! I will have to try it on multiple jetsons (I have tx2, nano, and Xavier) and let you know the results. I am using jetpack 4.2.2 which I think is tensorrt 5.1 (off the top of my head). |
I also tested the code with JetPack-4.2.2 (TensorRT 5.1.6.0) before and did not see this problem. This might be a silly thing to ask. But did you test with the original huskies picture (without bounding boxes)? Make sure you are not using this picture for testing: huskies.png. |
Yup! This all started because I tested with live webcam and it was producing multiple bounding boxes. I will experiment more and let you know the results. Thanks jk! |
working as intended. Not sure why at first it did not... flashing the jetson and reinstalling all libraries fixed issue... |
@mbufi which example gave you the 130 FPS on the Xavier ? , Also, how much did you get with the non asynchronous version. I am currently running the SSD mobilenet_v2_coco on live camera feed on the Xavier (non-asynchronous) and can only reach as much as 40 FPS for some reason. I am using Jetpack 4.3 + TensorRT 6. |
@Hrayo712 I was using the aysnc version. I believe with the non-async I was averaging ~80ish? I am using jetpack 4.2.2 with tensorRT 5.1 |
Hi guys, Just tested the ssd async version on my Xavier and i'm arround 150~170 FPS which is just amazing. But for the moment I've tested it just with my camera and there is at least 3 boxes around my person... Any advice ? Ps: Working on Jetpack 4.3 with tensortRT 6.0 |
@Kmarconi I had the same issue. Is this on live camera or on a single image? |
On live camera :) |
Upon more thought, I just realized that 130 or 150~170 frames per second is much higher than: (a) frame rate of the camera; and (b) frame rate of the display (unless you're using a very high end industrial camera...)!! I wasn't considering that when developing the code. So what you've seen might be the same camera image gets inferenced and drawn multiple times. To verify whether the optimized TensorRT engine produces correct result on Jetson Xavier, please use the sync version of trt_ssd.py and look at the image frame one by one. You might do that by, say, intentionally increasing delays between image frames. Modify this line of code. From: (1ms)
To: (0.1 second)
|
It is working, yep. With the sync version and with a 25ms delay for the waitKey, I'm at 30 FPS and there is only one box for each object :) Thanks :) |
@Kmarconi Glad this was worked out :) Thanks @jkjung-avt ! |
Hello Jk,
I have confirmed SSD works with Xavier and is running at 130FPS using async!! Amazing.
Question: When running the SSD demo, are using NMS? It seems when I run it with a live camera feed, there are multiple boxes around each object. This isnt the same issue as when using a single image.
Thanks!
The text was updated successfully, but these errors were encountered: