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

mirceab

n3wb
Joined
Jan 22, 2021
Messages
3
Reaction score
0
Location
Romania
If there are 4 alerts in a row, separated by 2 seconds each, only the first alert is being sent to Telegram, for the other 3 alerts it fails with ERROR sending image to Telegram error, no further details. Chat id and telegram token are correct since at least one image is sent to telegram. Cooldown is set to 0.033. Should I just try different values for caption and/or filename or any other parameter? Does someone have the "magic" settings that really work?
FYI, I migrated to vorloncd from the original aitool. Aitool used to to be able to send all the images to telegram.
 

mirceab

n3wb
Joined
Jan 22, 2021
Messages
3
Reaction score
0
Location
Romania
If there are 4 alerts in a row, separated by 2 seconds each, only the first alert is being sent to Telegram, for the other 3 alerts it fails with ERROR sending image to Telegram error, no further details. Chat id and telegram token are correct since at least one image is sent to telegram. Cooldown is set to 0.033. Should I just try different values for caption and/or filename or any other parameter? Does someone have the "magic" settings that really work?
FYI, I migrated to vorloncd from the original aitool. Aitool used to to be able to send all the images to telegram.
After playing a while with the settings, I managed to fix the issue myself, therefore the ERROR sending image to Telegram error no longer shows up if check the Queue actions setting:
1612775791463.png
 

spammenotinoz

Getting comfortable
Joined
Apr 4, 2019
Messages
345
Reaction score
274
Location
Sydney
I took the lastest versions of AITool and the Fork.
Maybe i can get a confirmation of somebody running the same software versions?! Or any non-self-compiled one :)

Also maybe there is a short manual how it should work. Whatever i try, i dont get any dynamic mask
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

 

JL-F1

Getting the hang of it
Joined
Jun 12, 2020
Messages
115
Reaction score
71
Location
USA
I have the cameras and the Server time synced with nettime

Everytime I look at Aitools history the time on the first motion event jpg is about 4 seconds behind the aitools history listed time, every jpg after the first are all in the same second.

The jpg time is the same second as the file timestamp

AMD 3700
64GB ram
NVME for OS and aitools and blueiris
SSD for jpgs
Hardwired camera
Nvidia 1660 super

deepstack GPU 2021.02.1
same issue with previous two betas as well

AiTools 2.0.627.7696
but it's been the same time gap with the previous versions as well

Any ideas why the time gap or how I can improve it?
 

seth-feinberg

Young grasshopper
Joined
Aug 28, 2020
Messages
87
Reaction score
15
y'all, i did it! 157 pages read. It took a month (did it when I had a sec here and there), and I'm not sure it was worth it (over a more targeted approach that is) but I def have a much better understanding of how everything works together and where the project has gone. Little embarrassed about some earlier questions (thanks for your patience @Village Guy and @austwhite !). I put links to the posts of everything I thought might be useful into an email draft as I went, and I'm currently making a 2nd pass but I did have 1 clarification before i get too far:

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?
 

Saargebeat

n3wb
Joined
Oct 28, 2020
Messages
15
Reaction score
3
Location
Germany
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:

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
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.
 

spammenotinoz

Getting comfortable
Joined
Apr 4, 2019
Messages
345
Reaction score
274
Location
Sydney
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:

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
@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.
 

CAL7

Getting the hang of it
Joined
Nov 26, 2020
Messages
64
Reaction score
26
Location
Florida
@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!
 

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
@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.
 

seth-feinberg

Young grasshopper
Joined
Aug 28, 2020
Messages
87
Reaction score
15
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)?
 

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
@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:

seth-feinberg

Young grasshopper
Joined
Aug 28, 2020
Messages
87
Reaction score
15
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!
 

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
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
 

seth-feinberg

Young grasshopper
Joined
Aug 28, 2020
Messages
87
Reaction score
15
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

Getting comfortable
Joined
Apr 4, 2019
Messages
345
Reaction score
274
Location
Sydney
@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.
 

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
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!
 

Village Guy

Pulling my weight
Joined
May 6, 2020
Messages
291
Reaction score
161
Location
UK
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:
Top