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

If you have your cameras set up like in my pics you should be able to see the alert videos in BI and BI app.
Can you double check your settings?
 
The only other setting I can think of is this one

other.jpg

Not 100% sure if it will solve your issue - its been a while since I configured AI Tool

Edit - the above setting is for the original camera.
 
Last edited:
The only other setting I can think of is this one

View attachment 51694

Not 100% sure if it will solve your issue - its been a while since I configured AI Tool

Edit - the above setting is for the original camera.
All the same. I have found the only way I get an alert that shows in the app is if I trigger it using the trigger link that we put in the ai software. And the one that triggers is if I use the original camera shortname, but nothing if I use the ai shortname.

Below is a link to where there are no clips except for when I do the trigger via posting the link in Chrome to trigger it. Maybe it will not do that anymore. I want to be able to get notified via telegram that the camera saw a person and then go to the app and see the video. As of right now does not seem to be an option like before where if motion was triggered I was able to go watch a clip, but with lots of alerts to go through. I love the thought of the AI app to say hey there is for sure a person look at this alert.
 

Attachments

  • I5Qe4ZpuMa.png
    I5Qe4ZpuMa.png
    69.3 KB · Views: 127
Last edited:
Ok I am at where if I do the trigger I get Authorization Required. I have set the authentication to Non-Lan only.
 
Last edited:
What version of BI you have?
All my settings are for the latest one 5.0.6.10

For the trigger - assume you are running AI Tool on the same PC as BI? Did you add the BI IP address (with the correct format) so you dont need username and password to trigger? Get it working like that first and then tweak it it if you need username and password.
And yes for the trigger URL you need to use the camera shortname from BI and AI Tool. AI Tool doesn't even has a cameras short name field - only a name filed. If you look again at the photos I posted you will see the shortname is form BI.

With my configuration I get alerts (BI app and Telegram) and I can watch the alert clip/s in BI app.
 
What version of BI you have?
All my settings are for the latest one 5.0.6.10

For the trigger - assume you are running AI Tool on the same PC as BI? Did you add the BI IP address (with the correct format) so you dont need username and password to trigger? Get it working like that first and then tweak it it if you need username and password.
And yes for the trigger URL you need to use the camera shortname from BI and AI Tool. AI Tool doesn't even has a cameras short name field - only a name filed. If you look again at the photos I posted you will see the shortname is form BI.

With my configuration I get alerts (BI app and Telegram) and I can watch the alert clip/s in BI app.
That was it. Something so simple. In the AI software I did not name the camera the same as the ai camera in BI. Must have missed that or thought it was a non issue. Thank you for the all the help.
 
I'm very happy to hear that my software is so helpful to many people, thank you for all the kind words!

Now regarding the several questions:
I've been and I am still very busy. I will try to answer everything thoroughly in a few weeks and maybe even release an update which hopefully fixes some of the mentioned problems (and some unmentioned ones that luckily no one noticed yet :D). The weak explanation of how to set up the Telegram bot is a thorn in the flesh for me too, I'm planning to take care of that aswell.

Meanwhile, I already wish everybody a calm Christmas time!
 
Last edited:
I'm very happy to hear that my software is so helpful to many people, thank you for all the kind words!

Now regarding the several questions:
I've been and I am still very busy. I will try to answer everything thoroughly in a few weeks and maybe even release an update which hopefully fixes some of the mentioned problems (and some unmentioned ones that luckily no one noticed yet :D). The weak explanation of how to set up the Telegram is a thorn in the flesh for me too, I'm planning to take of that aswell.

Meanwhile, I already wish everybody a calm Christmas time!
Don't know the rules of this but you have made something great. Maybe setup a patreon or donation place for people to thank you for your hard work.
 
  • Like
Reactions: GentlePumpkin
Hey everyone!

So I just read through the whole thread and have a few questions.

1. Has anyone tried running the AI in something like a Raspberry Pi and having it watch a folder in your VMS pc? I think I have enough overhead on my VMS to run the AI, but offloading it would be nice for adding more camera's in the future.
1a. If something like a Raspberry Pi doesn't have enough oomph, would a second cheap intel nuc or other lower spec system be ideal?

2. It seems like the original intention was for the AI to only review images saved by BI when motion was detected. As we all know normal motion detection kinda sucks so can I just feed the AI a constant stream of images (like 1/sec or 1 per 4 sec) and let it handle the "motion" detection and alerts?

I think I had more questions, but I can't remember them now so I'll just try things out when I get home today and see what else I come across!

Thanks!
 
Just wanted to say thank you to @GentlePumpkin for this amazing software. I am currently using Sentry for AI, but I set up this tool on my two doorbell cams and it is working flawlessly. I am definitely considering switching from Sentry to this software.
 
  • Like
Reactions: GentlePumpkin
I'm monitoring the street which has some parked cars. Whenever there is a motion detection (let's say falling leafs, rain etc), it always detects the parked cars and sends the trigger to BI (I set to detect all objects including people, cars, cats etc). How do I detect only new passing cars which weren't there before? Can it somehow compare before (let's say 2 parked cars)/after images (2 parked and 1 passing) and if there is a new object (car) then it would send the trigger to BI?
 
  • Like
Reactions: Rob.no
My system has been running flawlessly for some time but last night I did some housekeeping and installed a new disk drive. I was copying all the files from a 500Gb hard drive to a 6T drive and I kept getting the errors you mentioned. Both drives didn't have any of the image files on and neither are the location where they are saved. The CPU was only running at about 40% so not maxed out and I have plenty of available RAM.. As soon as the copy was finished then no more errors.

Together with some other pieces of information this helped to find the reason for this issue, thanks! Forum member @Alan_F and I fixed this and we implemented that it optimally only takes 10ms to load the image. And in case it takes longer, there is no error but instead the software tries several times again. I think that this automatic process is the most user-friendly solution, I generally try to omit overwhelming configuration options in favor of usability, especially if it's something that "should just work".



Thanks for your help, I have tried this with no luck. I can access the deep stack server by typing localhost:port and can accesses it from other computers on the same network so im not quite sure what's going wrong :(
If the problem still exists, please write me a PM so that we try to discover the reason. :)



Fantastic app. Thank you for releasing this!

I have setup this and it is working almost perfectly except for the following error when trying to call a url:

[16.11.2019, 20:40:54]: trigger url: [16.11.2019, 20:40:54]: ERROR: Could not trigger URL 'x', please check if 'x' is correct and reachable.
[16.11.2019, 20:40:54]: -> Trigger URL called.
[16.11.2019, 20:40:54]: -> Trigger URLs called.

Is there something in my URL that isnt supported?

Update: Used a URL shortener to strip out the extra stuff. Not ideal but it works now! :)

Second question: I see in the release notes I can notify based on the type of object detected - what is the syntax for the URL? Sorry if I am blind... :)

regarding the URL: I suspect that AiTool is not able to use the authentication credentials in this case.
regarding the 2nd question: I admittedly don't get the feature you are refering to. You surely know that you can configure what (human, car, truck, bike, etc) can cause an alert for every camera. But I'm certain that you're refering to something else.



Thank you @MnM for the detailed information, your solution to whitelist the BI server itself and the kind support!


Hey everyone!

So I just read through the whole thread and have a few questions.

1. Has anyone tried running the AI in something like a Raspberry Pi and having it watch a folder in your VMS pc? I think I have enough overhead on my VMS to run the AI, but offloading it would be nice for adding more camera's in the future.
1a. If something like a Raspberry Pi doesn't have enough oomph, would a second cheap intel nuc or other lower spec system be ideal?

2. It seems like the original intention was for the AI to only review images saved by BI when motion was detected. As we all know normal motion detection kinda sucks so can I just feed the AI a constant stream of images (like 1/sec or 1 per 4 sec) and let it handle the "motion" detection and alerts?

I think I had more questions, but I can't remember them now so I'll just try things out when I get home today and see what else I come across!

Thanks!

1. I never tried it but here is the documentation on how to install DQAI on a Raspberry https://python.deepstack.cc/raspberry-pi
1a. A lower spec system will certainly work, but the analysis runtime might be longer. If you have a Raspberry at hand, I'm really interested if such a small device maybe even suffices :)
2. Some members do that and it certainly works. The alternative is to set the motion detection to a very sensitive level so that every moving leaf causes an alert image (as we were accustomed to in earlier times ;)).



I'm monitoring the street which has some parked cars. Whenever there is a motion detection (let's say falling leafs, rain etc), it always detects the parked cars and sends the trigger to BI (I set to detect all objects including people, cars, cats etc). How do I detect only new passing cars which weren't there before? Can it somehow compare before (let's say 2 parked cars)/after images (2 parked and 1 passing) and if there is a new object (car) then it would send the trigger to BI?

I've considered such a feature (only alert when something actually changes) months ago and I'm willing to program it, I just lack the time to do it.
 
I did some reading and apparently passing username/password via url is depreciated in browsers, so I found another way around the problem. The BlueIris camera is triggered and then BlueIris sends another trigger onto my HTTP endpoint.

Regarding my second question - I'll try and explain a little better :):
I watch for two things in the front of my house- Dogs and vehicles/people. I do it seperately because I want a specific alert if there is a dog in our front yard - it indicates someone (probably the kids) have left our gate open and the dog has gotten out. I wanted a way to have a custom trigger depending on what object was triggered. e.g.

AI_FrontYard:
If Person, trigger URL If Dog, trigger URL
My workaround was to setup 2 AI cameras for the front yard camera. It doesnt look pretty but it works.
 
I've got this working perfectly, sending messages to Telegram much more rapidly than my previous method (motion, Sentry processes, triggers email to IFTTT, message sent over Telegram). I ended up not creating separate copies of cameras. I do continuous record and added as a second option to save images every 5 seconds while motion is still detected. I didn't want duplicate camera copies and this worked perfectly.

A few questions/requests:

1. I have some cameras I want every motion trigger to always be a positive hit so that they show up in the same Telegram. It would be nice for an option that says "Trigger on any motion". This specific camera keeps triggering on "Chair" but I want every motion to be counted as "real".

2. It would be nice to be able to get some configurable text from the trigger in the Telegram message. Date/time, motion results with percentage, etc. Not a must have, but a nice to have. Any sort of customization here would be great.

3. Configuring masking is a bit tedious and getting an easier way to do this would be convenient.

4. General question: Is there any way to minimize DeepStack to the task bar? I had to install a third party app (RBTray) to be able to minimize the tool. I may end up moving to running it in a VM just cuz it annoys me.

5. Does DeepStack need to see the internet to work?
Answered this one myself. Per DeepStack guide, it only needs to connect for license registration/renewal

6. The log page filtering could be improved. It takes forever to load right now due to the number of hits. Filtering by camera would be convenient to troubleshoot settings.
 
Last edited:
I'm running the last version of BI and the latest update of Windows 10 Pro. I installed AI Tool and the DeepStack server and reconfigured 4 of my 10 cameras to use it. Everything was running great for a number of days, when after a reboot, the AI Tool was unable to connect with the following error:
[09.12.2019, 11:30:48]: Starting analysis of K:\BlueIris\aiinput/aicam1.20191209_112416887.jpg
[09.12.2019, 11:30:48]: (1/6) uploading image to DeepQuestAI Server ...
[09.12.2019, 11:31:16]: ERROR: Processing the image K:\BlueIris\aiinput/aicam1.20191209_111501490.jpg failed. Can't reach DeepQuestAI Server at 127.0.0.1:83.
I then wrote a Python app using the published examples of the DeepStack API running on a number of clients. The "requests.post" hangs indefinitely until the server process is stopped. Monitoring server.exe TCP/IP connections it appears the images are sent to the server process and then hangs. Nothings is reported in the DeepStack monitor windows. Nevertheless, I can connect via a web browser to the key authorization page.

When either AItool connects or my python app, some other TCP/IP apps on that machine have network access. It appears the TCP/IP stack is being corrupted by the DeepStack server software, since the Windows machine absent DeepStack operates flawlessly. The AI implementation is very good, unfortunately I'm stuck without source to attempt to further debug the issue. Would welcome any comments especially if anyone has seen this issue before.
 
  • Like
Reactions: nworbekim
I got this setup last night and it's working great. After I got done setting up the privacy masks for all my cameras, I have a thought. Wouldn't it be more efficient to set up motion zones for the duplicated cameras on Blue Iris? That way, only the motion detected in the relevant areas would get sent to the AItool for processing. This would save on cpu resources and lighten the load on the server. Why use privacy masks over zones? I feel like I'm missing something.
 
I ended up not creating separate copies of cameras. I do continuous record and added as a second option to save images every 5 seconds while motion is still detected. I didn't want duplicate camera copies and this worked perfectly.

I've done away with clones of cameras and it works great. I just fond having a clone wasn't necessary, I could do all the different settings in BI and using profiles. I don't record continuously but still record all the BI motion clips.
 
  • Like
Reactions: sansnil
I've done away with clones of cameras and it works great. I just fond having a clone wasn't necessary, I could do all the different settings in BI and using profiles. I don't record continuously but still record all the BI motion clips.
How did you deal with all the alert thumbnails without clones? Or were you not using that feature?