PeopleNet for infrared images


I updated my detection system with pruned version of “PeopleNet” model on a nano, it works well except when my IP cameras switch to night vision using infrared light, the results are really bad. Witch is normal because it was trained with RGB images at daytime.

What is the best strategy to adopt to manage both cases (day and night) ? having 2 models one for daytime and a custom one for nigh vision dealing with black and white images ?
, so I can switch between them, or having a unique model , retrained by adding night images ?

Best Regards,


• Hardware Platform (Jetson nano / tx2 /xavier NX / xavier)
• DeepStream Version 5.0
• JetPack Version 4.4

DeepStream 5.0 supports “On the Fly Model Update” , please check its doc and sample to see if it meets your requirement


1 Like

How much better is the pruned peoplenet model compared to the standard deepstream resnet10?

The reason I ask is that from my testing the resnet10 actually detects persons very well at night under IR illumination. I was surprised at how good it is. So long as the person is inside the IR illumination zone they are detected almost as good as in daylight.

Where the standard resent is not good is in low light situations - before the IR turns on. Then you get a lot of false positives - especially if cars and bikes.

Could you also fine tune the peoplenet model with your own dataset if nighttime/ir images ?

Yes, agree with jasonpgf2a.
@laurentj6jzo, Please download the unpruned peoplenet model and set it as pretrained model in tlt, then add your own dataset and trigger training for it.


Thank you, I will give a try by using ant train the unpruned version.

“On the Fly Model Update” is also interesting for managing different situations.

Best Regards,


Do you think its possible to do remotely change the model using the ‘on the fly feature’ using iot core shadow mode from the cloud?

of course… you can send any info to the device from AWS IoT (or any other messaging service) via either a message on a topic your app is subscribed to or a shadow update. Once you get the command on the device you will have to follow the logic in the deepstream-test 5 sample app for the OTA updates… I haven’t tried it yet.