Camera Alert Image Details

Feb 1, 2022
5
2
Redmond
Hello All,
I thought I was finally understanding BI's Triggers and Alerts until recently. I have a camera set up for ALPR set to only send images to the CodeProject AI ALPR service if a vehicle has been detected. I have one trigger zone set up so that I ignore motion on the main road and only look for cars coming down my driveway. I didn't realize until reviewing the AI .DAT file that only the area in the motion zone is sent to the AI for processing. This is problematic as vehicle moves into the excluded zone eventually meaning the AI images I send for analysis aren't capturing the full image. I have it set up to send 15 progressive images which gives me 5.25 seconds of coverage which is enough to get a full vehicle through the zone. Additionally, according to the manual, BI makes a decision as to which AI image to use for an alert. "An attempt is made to choose the image with the best confidence and highest number of confirmed or canceled objects when deciding whether to confirm or cancel the alert. Additional preference is given to images with more faces. If you have selected a large number of post-trigger images, processing may be terminated early if object confidence declines or the trigger ends." The result of this is I occasionally have half of a car entering the zone before a plate comes into view - presumable because the confidence of the Vehicle had decreased since a prior image.

Given this, my question is - How can I allow the full number of AI images to be processed before confirming the alert and exiting the effort? This would ensure I have all images analyzed before sending an alert that should contain vehicle + plate and prevent alerts that only include a vehicle without a plate. Also, how can I process the full image for the Alert while still only looking for motion within a zone? I've attached images and a video of my problem. The one where I have both the vehicle and plate confirmation was created by running AI processing on my recording.

Thank you all in advance!
 

Attachments

  • Driveway.20241202_083824.19774282.3-1.jpg
    Driveway.20241202_083824.19774282.3-1.jpg
    338.4 KB · Views: 13
  • Driveway.20241202_083824_1.mp4
    Driveway.20241202_083824_1.mp4
    16.2 MB
  • Driveway.20241202_140758090.6.jpg
    Driveway.20241202_140758090.6.jpg
    400.1 KB · Views: 13
  • Screenshot 2024-12-02 230942.png
    Screenshot 2024-12-02 230942.png
    259.1 KB · Views: 12
  • Screenshot 2024-12-02 233524.png
    Screenshot 2024-12-02 233524.png
    449.8 KB · Views: 13
Last edited:
You don't want to make too many changes at once, but I would change your motion detection to be vertical like the red box:

1733267948100.png


Here is mine where I have a zone drawn such that cars going right to left I get the front plate, and the cars going left to right I get the back plate. You can see in my alert images that the vehicles are all centered in the frame doing this approach.

1722660830139.png



It just takes a little bit of trial and error based on typical vehicle speed and angle/distance of camera to vehicle, but I think just changing your orientation of the motion area will help tremendously.
 
This seems to still give the same problem where the vehicle confidence peaks before the plate is in view causing the Alert to exit early. Is there not a way to have the Alert process all images sent before exiting based on AI confidence decline? Or how can I have the smaller zone be used for just the trigger and then the full image be sent to the AI for processing. That seems like a very useful setting to have - trigger off one zone but analyze the full image or other zones.

Thanks!
 
What is your object size and min make time? Make both larger.

Post screen shots of your AI settings
 
I'm not using Object Detection on the Trigger settings since the objects will be verified with AI. I still think the bigger issue is that only the area covered by the motion zone mask is being sent to AI for analysis which typically doesn't contain the full vehicle and plate. I can verify this by checking the .DAT file on the alerts... I'm actually curious what your DAT files look like as your motion zone is quite the small sliver so is AI picking up both the vehicle and plate or do you just check for the Plate?

Ideally one zone would set the trigger and then the full image would be sent to the AI for analysis, my problem is that the Alert processing is terminating early because the AI confidence goes down before the plates are in view. I can probably fix with by making a much larger motion zone and then increasing make time, but then I'm capturing a lot of alerts from the main road which will be giving us false alarms.

3 images attached. First is AI settings, second is DAT results where you can see the 3rd image is what was identified as the Alert image indicated by the asterisks and the following 2 images have declining confidence (from 77% to 68% to 52%) which terminates the Alert process. The plate comes into frame on subsequent images which I could try to catch by increasing the time between images, but again, ideally I would process ALL 15 images sent before exiting the Alert. The last image is a manual AI analysis showing it would have caught the vehicle and plate had it either waited long enough, or analyzed the full image rather than just the motion zone mask.
 

Attachments

  • AI_Miss.png
    AI_Miss.png
    160.5 KB · Views: 5
  • AI_Settings.png
    AI_Settings.png
    91.2 KB · Views: 5
  • Ideal.png
    Ideal.png
    607 KB · Views: 5
Change to this for the first 4 options so that it analyzes all of the plates and doesn't use the other models:

1733416836238.png
 
As a test, you might want to experiment with having one zone that essentially covers the entire field of view (or nearly all), with smaller zones acting as the trigger area. BI does track objects moving across zones, and this may be needed to insure that the AI can process the larger field of view, otherwise it will see the region that is not covered by any zone as a mask (blocking it from any analysis). Yes, I know you are trying to prevent triggers from an outer road, so adjust as needed.