[tool] [tutorial] Free AI Person Detection for Blue Iris

I see no one has replied, if you don't want to compile yourself, you may wish to try this version to deal with the masking issue.

Dynamic masking - nothing created · Issue #77 · VorlonCD/bi-aidetection - Dynamic masking - nothing created #77




Solution. Thanks



Is there somewhere a good explanation about these dynamic masks?
I see that it creates them now, but apparently not correct (due to misconfig i think).

So it masks a parked car, but also some car driving across the street. Later the parked car is gone but still driving cars are masked, too.
 
Last edited:
Is it required to be continuously recording on SOME stream (Main stream with flags or sub stream with triggers) in order for this to work? Or is it possible to simply have jpegs taken on motion without any continuous recording and then sent to AI Tool for confirmation and triggering?

1. No it is not required to continuously record.

2. If you ONLY want to record when AITool recognises something of interest you need to operate with a cloned camera configuration. The reason for this is that BI does not have an option to only record when externally triggered. I have asked the developer to add the facility of only recording when receiving an external command but alas he is not receptive to the idea.

3. If you do not use a clone camera, BI will record for the period of time set within the configuration every time the camera triggers no matter what AITool does or does not recognise. AITool's job is to send external flag events to enable you to search through the recordings for those that have been flagged by AITool.

Personally I use clone mode for all my cameras as I fail to understand the merit of recording from false triggers.

I urge everyone that would like to do away with Clone mode to send the developer a request to add an option to only enable recording when an external request is sent.
 
  • Like
Reactions: seth-feinberg
1. No it is not required to continuously record.

2. If you ONLY want to record when AITool recognises something of interest you need to operate with a cloned camera configuration. The reason for this is that BI does not have an option to only record when externally triggered. I have asked the developer to add the facility of only recording when receiving an external command but alas he is not receptive to the idea.

3. If you do not use a clone camera, BI will record for the period of time set within the configuration every time the camera triggers no matter what AITool does or does not recognise. AITool's job is to send external flag events to enable you to search through the recordings for those that have been flagged by AITool.

Personally I use clone mode for all my cameras as I fail to understand the merit of recording from false triggers.

I urge everyone that would like to do away with Clone mode to send the developer a request to add an option to only enable recording when an external request is sent.
Peace of Mind - You really want to go to all the effort of setting up CCTV, Configuring BI, DeepStack and IT Tools only to likely miss a key event. In all seriousness that is the outcome you can expect.

You are entitled to your view, however anyone with experience can only advocate for 24x7 recording,
It's an absolutely terrible feeling to come back after an event to find, that for whatever reason you didn't capture the footage and with the recent sales of 12TB drives, tell me again how storage isn't cheap.
In your proposed case BI + AI Tool + Deepstack all need to be working perfectly without issue. Too many variables.

I don't use clones, just 24x7 recording, with AI flagging events. Then just select the Flag Filter in BI to review the Flagged events. So many times I have then turned off the flag to view what was happening on the other cameras.

That being said I will give you a way to achieve your outcome;
  • Trigger -> Disable Motion Sensor
  • Post -> Maintain Ring of JPEGS say 20, but not too large
Queue an Image Update every x seconds
Suggest changing the filename &CAM.%Y%m%d_%H%M%S%t
Select an appropriate path

Under this approach, the system will create and maintain a ring of constant jpegs per camera, which you can configure AI tool to review and detect and have AI Tool trigger BI.
If you still get motion triggers need to make sure ONVIF \ camera external triggers are disabled (can't remember where, I think video tab)

Suggest using a different folder to one already used by BI
For fast analysis use an SSD, but may shorten the lifespan. Modern SSD's shouldn't be an issue.

Also what is the issue with clones? They don't appear to use any additional measurable resources when I tested them.
 
Last edited:
  • Like
Reactions: seth-feinberg
@spammenotinoz Respectfully you omit to mention the need for mirrored or RAID storage configurations which will be essential if you wish to record 7 x 24 reliably not to mention the waste of power.

Judging from your long post I appear to have touched a nerve! Are you defending the developers stance of not providing an option to only start recording upon receipt of an external command?

My experience within this forum has been that setting up clone cameras is confusing for some members. If the option to only record upon external request was made available it would greatly simplify installations for those of us that do not want 24 x 7 recording or to record upon every triggered event.

I have personally been operating multiple cloned cameras since this project started and have never missed capturing anything of interest. Due to the low storage capacity requirements of operating cloned cameras I am able to take advantage of solid state storage which is inherently more reliable than hard disks and uses considerably less power.
 
  • Like
Reactions: seth-feinberg
@spammenotinoz , @Village Guy This is a great discussion and I thank you each for your POV. I'd like to learn a lot more about these approaches but my grasp of the terminology is insufficient to completely follow the arguments.

My configuration is for each physical camera to be configured as one logical camera with a high definition mainstream and another logical camera with a VGA substream. I record the VGA substream 24/7. The VGA substream also provides motion-generated images to AITOOL/DEEPSTACK which then triggers the mainstream camera for short high-def recordings.

(Note that I have avoided the term "cloned camera" because, ever since beginning this project a couple of months ago, I have been unsure whether what I describe above is a cloned camera or just a second logical camera for BI.)

I'm content with the results but also would welcome any hints on how to improve. I'd be grateful for even some clarification of terms so I can better follow this thread. Thanks to all!
 
  • Like
Reactions: seth-feinberg
@CAL7
I can confirm that you are not using a cloned camera configuration. A cloned camera configuration is required if you want to record events that are ONLY triggered via AITOOL. Presently you are recording 24 x 7 so cloning makes no sense for you unless you wish to change your configuration to only record AITOOL triggered events.

If you are happy to record everything then you have no need to configure a clone setup.

I hope that clarifies the option.
 
I agree with @CAL7 , even if it sounds testy, i greatly appreciate the back and forth on this subject. I've never had a home surveillance system, and personally, it does seem wasteful to record 24x7 BUT I can totally envision the scenario where I'm livid I missed the ONE thing I wanted to catch at a given time.

2. If you ONLY want to record when AITool recognises something of interest you need to operate with a cloned camera configuration. The reason for this is that BI does not have an option to only record when externally triggered. I have asked the developer to add the facility of only recording when receiving an external command but alas he is not receptive to the idea.

Thank YOU! this is exactly what was confusing me so much. After 157 pages I simply couldn't figure out why people were still recording the substream while taking pictures and not just taking pictures on motion. Makes total sense now to find out that Blue Iris simply does allow you to ONLY record on external trigger. What is the best procedure for logging the request with Ken (i think that's the BI guy)? Seems that whatever avenue i go, having that option sure would be nice.

@CAL7 fwiw it also appears to me that you didn't explicitly clone your cameras, just created double instances of each physical camera. I assume this because i believe that you'd need to have explicitly cloned the doubled up cam during creation and then made changes (and thus would've been sure). I also assume this cause it sounds like you followed The Hook Up's video, and that simply creates double instances (I believe).

So in the best of both worlds, would I be able to record 24x7 on the substream for, say, 24 hours, while concurrently recording 4k clips of AI Tool confirmed events for longer term storage? I believe that's what @austwhite suggested to me 10 pages back or so, but haven't had a chance to make all the necessary changes. The question here is if BI is able to simultaneous record 2 of the same stream (the ongoing 24x7 low res record and the AI Tool deemed pertinant 4k clip)?
 
@seth-feinberg

Lets see if I can clarify CLONE operation. Blue Iris has an option for each camera connected that enables it to be cloned by selecting a box in the configuration of the cloned camera NOT to be confused with the master. A clone is made by simply copying a camera configuration using the same IP address but named differently. For example your master camera could be called 'Drive' and the Clone might be named Drive_AI. Initially whatever settings were setup on the Drive camera will be the same as the clone. The reason why BI allows you to mark one of them a clone is so the you do not have the CPU overhead of multiple streams for the same camera.

OK so what will this do for me? It will enable you to configure two different configurations for the same camera. In your case you want to record continuously in low resolution. To do this you can configure the master config to trigger and send images to AITOOL and record low resolution continuously to disk. The clone of this camera should be setup for 4K resolution and to only trigger on external commands via command line from AITOOL. This will afford you the ability to record 24 x 7 in low res and capture periods of interest triggered by AITOOL in 4K.

Contacting the BI author is best done by creating a fault report as it enable the author to see the software is licensed.

I hope this helps and has not confused you further;)
 
Last edited:
Yeah it took me a while but i finally got there! However I'll take all the re-enforcing explanations I can get, so thanks (and def slightly less, not more confused)! My only remaining question regarding the clones is WHERE exactly do I select to make it a clone. I saw a couple screengrabs of where you mark one as "Master" (this post for instance: [tool] [tutorial] Free AI Person Detection for Blue Iris) but if I'm not mistaken nobody shared a screenshot of what to click to initially create the clone. Outside of that small detail, I totally get it now!
 
Yeah it took me a while but i finally got there! However I'll take all the re-enforcing explanations I can get, so thanks (and def slightly less, not more confused)! My only remaining question regarding the clones is WHERE exactly do I select to make it a clone. I saw a couple screengrabs of where you mark one as "Master" (this post for instance: [tool] [tutorial] Free AI Person Detection for Blue Iris) but if I'm not mistaken nobody shared a screenshot of what to click to initially create the clone. Outside of that small detail, I totally get it now!

Just select Add New Camera and choose Copy From Another Camera and select the camera you wish to clone from the drop down box. Then you choose which one you want to be the master. You will probably need to select direct to disk recording! I seem to remember a good while back that not selecting it caused me all sorts of issues.



Add New Camera.png
 
Right on, i'm gonna switch my duplicate camera set up over asap. I assume I should clone first and change all settings in AITool before deleting all the low res dupes i created before. If you can think of any more gotcha's i might encounter I'd love to hear them! Thanks again
 
@spammenotinoz Respectfully you omit to mention the need for mirrored or RAID storage configurations which will be essential if you wish to record 7 x 24 reliably not to mention the waste of power.

Judging from your long post I appear to have touched a nerve! Are you defending the developers stance of not providing an option to only start recording upon receipt of an external command?

My experience within this forum has been that setting up clone cameras is confusing for some members. If the option to only record upon external request was made available it would greatly simplify installations for those of us that do not want 24 x 7 recording or to record upon every triggered event.

I have personally been operating multiple cloned cameras since this project started and have never missed capturing anything of interest. Due to the low storage capacity requirements of operating cloned cameras I am able to take advantage of solid state storage which is inherently more reliable than hard disks and uses considerably less power.
Purely personal opinion, I explained the reasoning, the majority of the post was an attempt to provide the outcomes you required. ie: Have BI record only on external motion, but you did not comment on that part of the post.
I will add though, that the typical HDD used in NVR setups uses <5 watts of power when active compared to 3 watts for an SSD. So power savings in this use case are over rated. If you have 10 drives then this will be material and there are always outlyers.
Far bigger factors come into play;
  • Using CPU encoding over the more efficient Intel Quick Sync (this could save 20 watts+ depending on the CPU)
  • Model of CPU (this alone can account for 70watts) between models at the same load
  • Power Supply Efficiency
  • Ventilation and condition of the PC
  • Not optimising the PC (removing unwanted processes and services)

Again personal opinion only, but I would not recommend raid, given the high reliability of HDD's it's just not required in a typical deployment. As I said, I have been personally impacted by thinking motion could detect all events. I had motion so sensitive the wind would trigger it, but still found it wanting.
Sorry can't help myself, unless you go high-end SSD's are not a good match for NVR usage. Even with record on motion, any sustained footage can flood the buffer, but hey with a small number of cams go for it.
There is no right vs wrong, just learnings and quite honestly although I have a few setups, I am sure I will look back in a few years and think what the hell was I doing.
 
  • Like
Reactions: seth-feinberg
Right on, i'm gonna switch my duplicate camera set up over asap. I assume I should clone first and change all settings in AITool before deleting all the low res dupes i created before. If you can think of any more gotcha's i might encounter I'd love to hear them! Thanks again
Why not setup one camera first and leave the others until you have it working, just a thought.
The order you make the changes is not really important as long as you accept you will not be capturing video during the process of changing the configuration. Once you have the clone configuration working to your satisfaction you may wish to hide the camera that is recording the 4k stream as it is unlikely once it is setup you will need to tinker with it.
The camera that is setup for triggering is probably the best one to be chosen for your main display as you may wish to adjust the trigger sensitivity etc. You can choose either the master or the clone to be your main camera for triggering!
 
  • Like
Reactions: seth-feinberg
Just wondering but are we able to use Face detection with this tool?
At this time it would be a challenge for most people to successfully use this app for face detection. Currently it is not plug n play for that purpose.
 
Last edited:
This makes sense, there would be no difference in how it would display inside Blue Iris right?
Hiding the camera does not effect it's operation within BI, however since you are effectively storing data at two different locations on disk they will need to be referred to individually. One directory for continous SD and one for the trigerred HD.

Please bear in mind I have personally never configured my system to achieve your goals! To some extent I am flying blind ;)
 
  • Like
Reactions: seth-feinberg
I think once I'm comfortable with the configuration i'll def hide one set of them. Just wanted to make sure the one recording on the SD would display in HD (I assume both clones will have both streams)
 
Last edited:
I think once I'm comfortable with the configuration i'll def hide one set of them. Just wanted to make sure the one recording on the SD would display in HD (I assume both clones will have both streams)
Your first logical camera will serve as the SD stream and trigger an HD captured image for aitool. The second logical camera will receive the command from Aitool and only needs to be configured for your 4K stream.
I will try and post the setup for the first logical unit later as it is a little special in as much as it will be recording in SD and then automatically saving captures in HD.
 
  • Like
Reactions: seth-feinberg