Yet Another Free Extension for Blue Iris Adding AI Object Dectection/Reduction in False Alarms/Enhanced Notification of Activity/On Guard

Ken98045

IPCT Contributor
Aug 3, 2020
219
75
Seattle
I have added a free Windows extension for Blue Iris that uses the DeepStack AI to allow for the identification of objects causing motion alerts. For the lack of anything better I've called it On Guard. This application should dramatically reduce the number of "false alarms". You can detect people, animals and vehicles. You can visually define multiple, potentially overlapping areas of interest to rule in or out motion. You have the option of notifying any web service via URL when motion occurs. The includes the ability to start Blue Iris recordings. You can also send email notifications with attached alarm pictures. You can also notify smart phones via SMS/MMS messages. You can turn on lights or control other smart devices via IFTTT.

Using this program I have reduced the number of motion false alarms on my personal outdoor video cameras to essentially zero. Your mileage may vary.

Here is the link: Ken98045/On-Guard.

Credit where credit is due. The program is a spinoff of the basic concept from the project here: [tool] [tutorial] Free AI Person Detection for Blue Iris. Thanks again to that author!

Let me know if/when you run across any bugs. The project has analyzed for 400,000 potential motion pictures so it should be relatively stable. That said, everyone's Windows installation is a little different, and it is difficult for me to test it on multiple PCs. If there are problems they will more than likely be on the initial setup. I have tried to minimize problems there, but the first users may have issues to overcome. There is a relatively extensive manual at: Ken98045/On-Guard included with the project.

Note that both a Windows executable and the complete source code is available. To get it setup you only need to run the setup.exe application. Don't let the availability of the source code throw you if you are not a software engineer.

If there is general interest I will be extending the capability over time.
 
Last edited:
Sounds interesting. Could you maybe briefly tell us the difference between your approach and those of gentlepumpkin and neile (a docker version)?
 
I have looked closer at your instruction file. It looks impressive and like a lot of good work! But if you can find the time, it would really be useful if you could compare the three deepstack approaches. For instance, if someone has already implemented one of the other two setups, would it then make sense to swap to your solution?
 
The major difference is that there is considerably more emphasis on and integration with a visual definition of Areas of Interest. You can define multiple areas. Each area has different trigger criteria.

Personally, I have 7 areas defined for my front yard camera and 3 for my back yard. Some areas exclude movement. Some areas area specific to animals (one is for bears which we have a lot of). An area ignores parked cars. An area notifies me via email/MMS when a vehicle arrives or departs. Another when cars enter/leave my garage. The most important area is when people approach my front door. That sends me an MMS message between the hours of 11:00pm and 7:00am. Outside of those hours it just starts recording video.

I do not (currently) have integration with with Telegram. I do have close integration with email/MMS/SMS notifications. These notifications can have attached motion images.
 
Thanks, seems attractive. (I just installed neile's docker version which is really good but of course doesn't have the many area facilities of your version).

Maybe slightly off topic, but are you folks not worried about integrity when using Telegram? Isn't it Russian?
 
I installed but could not get it to read the Directory where I am dropping images. No log file generated.
 
I installed but could not get it to read the Directory where I am dropping images. No log file generated.

i haven't seen any problems like that. You might try running the application as an administrator (right click on the application or link should give you that option). I don't think that this is required, but it may be possible. If that works please let me know. If it does then if you don't know how to permanently modify the link to Run as Administrator let me know that too. I'll look into adding a "test directory monitor" (or something like that) button.

Also, make sure that you press "Refresh" to get newly taken photos into the UI. It will only recognize pictures as of the start time of the app or after you press Refresh. This is deliberate.

I've done my best to ensure that the setup is smooth, but the first few user may run into some problems getting started. Hopefully once you get going it will work well for you. I intend to fix any problems I can replicate within a day or two. Those I can't replicate may take a little longer.
 
Thanks, seems attractive. (I just installed neile's docker version which is really good but of course doesn't have the many area facilities of your version).

Maybe slightly off topic, but are you folks not worried about integrity when using Telegram? Isn't it Russian?
I have looked closer at your instruction file. It looks impressive and like a lot of good work! But if you can find the time, it would really be useful if you could compare the three deepstack approaches. For instance, if someone has already implemented one of the other two setups, would it then make sense to swap to your solution?
DeepStack itself is a utility program that my app and Gentle Pumpkins use. There are at least 4 ways to run DeepStack. The first is the original GentlePumpkin used was to run DeepStack within Docker. At the time he wrote his program that was the only option. My gut feel is that this is slightly slower than running the Windows desktop or Windows service version.

DeepStack was modified so that it could run as a Windows application, complete with a user interface/window. I would suggest starting out that way if you have not already installed it as part of Docker. It is just easier to see what is going on. However, the people who wrote DeepStack did not include the capability of minimizing the DeepStack window. It is very annoying to have that window around all the time.

The third option is to run it as a Windows service. I would suggest running it that way AFTER you get On Guard or Gentle Pumpkin's app running. Is seems to be very slightly faster than the windowed version. However, the big advantage is that you don't need to have the DeepStack window always on your desktop.

There at least one more alternative. You can run DeepStack as a LInux application on a Linux based computer. The big advantage of that is that IF you have the correct video card (some most/recent NVidia cards I think) DeepStack makes use of the video card to do a lot of math. That dramatically improves performance. You might also be able to run Linux within a virtual machine on a Windows desktop machine and still get the advantage of the video card boost. I have been unable to determine that. If anyone knows for sure I would like to hear about it.

On Guard doesn't care where DeepStack is run. Again, if you are just starting out try the Windows desktop application. After things are running you can consider another method. If you already have the Docker version running, that is fine too. Just use it.
 
I have been reading and watching the couple of AI threads here in this forum. It seems like this may be the latest and best option for me (as I am a Windows user only - for the most part)

I have yet to “pull the trigger” on an AI plus BI solution, but I still have some newbie questions that nag me.

I was pretty sure that BI has the ability to mask and set set areas of “high interest” to better define when a trigger/snapshot is taken. If that is the case:

1) Do you use any BI masking or trip zones to “hone in” on motion of possible interest? Or rather, do you let OnGuard or Deepstack handle the masking etc.

2) For Masking - if it is some combination between BI and OnGuard, what approach is used to get the best output response (least false positives, least amount of picture analysis delay, etc, etc? What are the trade offs?)

Sorry for these very basic questions...trying to learn from those with experience....and more reading to due.
 
I installed but could not get it to read the Directory where I am dropping images. No log file generated.
I have updated the project to fix the log file problem. I also modified it to turn on directory monitoring by default when you add a new camera. That may save some confusion, because you did need to manually turn it on (tab #3 when adding a camera). Let me know if that fixes your problem(s). Sorry, I've been away from the project a few days.
 
I have been reading and watching the couple of AI threads here in this forum. It seems like this may be the latest and best option for me (as I am a Windows user only - for the most part)

I have yet to “pull the trigger” on an AI plus BI solution, but I still have some newbie questions that nag me.

I was pretty sure that BI has the ability to mask and set set areas of “high interest” to better define when a trigger/snapshot is taken. If that is the case:

1) Do you use any BI masking or trip zones to “hone in” on motion of possible interest? Or rather, do you let OnGuard or Deepstack handle the masking etc.

2) For Masking - if it is some combination between BI and OnGuard, what approach is used to get the best output response (least false positives, least amount of picture analysis delay, etc, etc? What are the trade offs?)

Sorry for these very basic questions...trying to learn from those with experience....and more reading to due.
I personally found Blue Iris masking limited and/or annoying. Your mileage may differ. This program does not use the BI masking. However, you can use BI masking to reduce the load on On Guard. On Guard looks at whatever images BI captures. If BI masking by itself does the job you had in mind that is fine - just use it. If not, then give On Guard a try. Analyzing a picture through the AI is computationally taxing no most computers. If you can reduce the number of images that On Guard needs to process that is a good thing. However, it may be confusing to have two different masking programs going on at once. With On Guard you have a LOT more flexibility when defining areas.

Keep in mind that On Guard is fairly new. There may/will be a few rough spots.
 
  • Like
Reactions: fenderman
@Ken98045 Need some help. I've installed On Guard and DeepStack on my BI Windows 10 PC. On Guard launched initially after install so I could get the settings entered just fine. Now I can't consistently get it launched. I double-click and nothing. I right-click and run as admin and nothing. I've also entered the On Guard folder as an exception in my Windows Security settings. Any thoughts?

I'd love to get this up and running so I can test it out. Thanks!

Here's what Event Viewer reports
Log Name: Application
Source: .NET Runtime
Date: 9/19/2020 5:26:45 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: DESKTOP-4SS4SEQ
Description:
Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+<DetectObjects>d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+<ProcessVideoImageViaAI>d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()


Event Xml:
<Event xmlns="">
<System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2020-09-19T21:26:45.052050400Z" />
<EventRecordID>13998</EventRecordID>
<Channel>Application</Channel>
<Computer>DESKTOP-4SS4SEQ</Computer>
<Security />
</System>
<EventData>
<Data>Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+&lt;DetectObjects&gt;d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+&lt;ProcessVideoImageViaAI&gt;d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()

</Data>
</EventData>
</Event>
 
Last edited:
@Ken98045 Need some help. I've installed On Guard and DeepStack on my BI Windows 10 PC. On Guard launched initially after install so I could get the settings entered just fine. Now I can't consistently get it launched. I double-click and nothing. I right-click and run as admin and nothing. I've also entered the On Guard folder as an exception in my Windows Security settings. Any thoughts?

I'd love to get this up and running so I can test it out. Thanks!

Here's what Event Viewer reports
Log Name: Application
Source: .NET Runtime
Date: 9/19/2020 5:26:45 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: DESKTOP-4SS4SEQ
Description:
Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+<DetectObjects>d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+<ProcessVideoImageViaAI>d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()


Event Xml:
<Event xmlns="">
<System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2020-09-19T21:26:45.052050400Z" />
<EventRecordID>13998</EventRecordID>
<Channel>Application</Channel>
<Computer>DESKTOP-4SS4SEQ</Computer>
<Security />
</System>
<EventData>
<Data>Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+&lt;DetectObjects&gt;d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+&lt;ProcessVideoImageViaAI&gt;d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()

</Data>
</EventData>
</Event>
I'll take a look. Sorry for the delay. I'll respond here if I can spot the problem
 
@Ken98045 Need some help. I've installed On Guard and DeepStack on my BI Windows 10 PC. On Guard launched initially after install so I could get the settings entered just fine. Now I can't consistently get it launched. I double-click and nothing. I right-click and run as admin and nothing. I've also entered the On Guard folder as an exception in my Windows Security settings. Any thoughts?

I'd love to get this up and running so I can test it out. Thanks!

Here's what Event Viewer reports
Log Name: Application
Source: .NET Runtime
Date: 9/19/2020 5:26:45 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: DESKTOP-4SS4SEQ
Description:
Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+<DetectObjects>d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+<ProcessVideoImageViaAI>d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()


Event Xml:
<Event xmlns="">
<System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2020-09-19T21:26:45.052050400Z" />
<EventRecordID>13998</EventRecordID>
<Channel>Application</Channel>
<Computer>DESKTOP-4SS4SEQ</Computer>
<Security />
</System>
<EventData>
<Data>Application: On Guard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: SAAI.AiNotFoundException
at SAAI.AIAnalyzer+&lt;DetectObjects&gt;d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at SAAI.AIAnalyzer+&lt;ProcessVideoImageViaAI&gt;d__12.MoveNext()

Exception Info: System.AggregateException
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at SAAI.MainWindow.ProcessImage(System.IO.Stream, System.String)
at SAAI.MainWindow.LoadImage(System.String)
at SAAI.MainWindow.InitAnalyzer(System.String, System.String)
at SAAI.MainWindow..ctor()
at SAAI.Program.Main()

</Data>
</EventData>
</Event>
What it is saying here is that it cannot find the AI (DeepStack). This usually means that either DeepStack is not running or you have the wrong port number. I think that the application IS running . It did find an image to process. Now that it found an image it needs to find DeepStack. Look Under Application Settings. Look at Location of the DeepStack AI. If DeepStack is on the same machine it should say "localhost". Now, the only thing to check is the port. On Guard defaults to port 8090. This is not the default for DeepStack. So:

1. Make sure DeepStack is running.
2. Make sure that you know the port DeepStack is running on. It typically defaults to port 80, which is usually not the best.
3. If you are running DeepStack in the UI mode make sure that you match the On Guard port setting to the DeepStack port.
4. Open On Guard Application Settings and set the correct port.
5. Stop On Guard and restart it to ensure that it runs with the correct port.

I think that you are 99% of the way there. Once On Guard can communicate with DeepStack you should be good to go.
I will try to ensure that you actually get a "friendly" error message when this happens. I thought that I had, but I obviously failed. I will fix that.

I don't know how technical you are. A port is just a number that is like a mailbox number. For the "letter" (picture processing) to happen the sender and receiver need to agree on the number. Some numbers do have special significance. The port does need to be 80 or above to avoid a lot of problems, so On Guard will only let you start at 80 or above. The On Guard default of 8090 is usually free and OK. Blue Iris and/or other apps may use port 80 for themselves. That is why On Guard does not default to 80.

Note that I could automatically start DeepStack for you with the correct port already setup. However, since there are 4+ ways to run DeepStack I though it better not to. do know that this would save some confusion, but it does limit flexibility.
 
What it is saying here is that it cannot find the AI (DeepStack). This usually means that either DeepStack is not running or you have the wrong port number. I think that the application IS running . It did find an image to process. Now that it found an image it needs to find DeepStack. Look Under Application Settings. Look at Location of the DeepStack AI. If DeepStack is on the same machine it should say "localhost". Now, the only thing to check is the port. On Guard defaults to port 8090. This is not the default for DeepStack. So:

1. Make sure DeepStack is running.
2. Make sure that you know the port DeepStack is running on. It typically defaults to port 80, which is usually not the best.
3. If you are running DeepStack in the UI mode make sure that you match the On Guard port setting to the DeepStack port.
4. Open On Guard Application Settings and set the correct port.
5. Stop On Guard and restart it to ensure that it runs with the correct port.

I think that you are 99% of the way there. Once On Guard can communicate with DeepStack you should be good to go.
I will try to ensure that you actually get a "friendly" error message when this happens. I thought that I had, but I obviously failed. I will fix that.

I don't know how technical you are. A port is just a number that is like a mailbox number. For the "letter" (picture processing) to happen the sender and receiver need to agree on the number. Some numbers do have special significance. The port does need to be 80 or above to avoid a lot of problems, so On Guard will only let you start at 80 or above. The On Guard default of 8090 is usually free and OK. Blue Iris and/or other apps may use port 80 for themselves. That is why On Guard does not default to 80.

Note that I could automatically start DeepStack for you with the correct port already setup. However, since there are 4+ ways to run DeepStack I though it better not to. I do know that this would save some confusion, but it does limit flexibility.
There is one other possible problem to look out for. Sometimes your anti-virus software will block communication between On Guard and the DeepStack AI. You can verify this by temporarily stopping your anti-virus software. If that is your last trouble shooting step and it does work to stop the anti-virus software maybe I can help you make your anti-virus make an exception for On Guard. Please let me know if this is the case.
 
OK, I updated the application so that there is more error handling when the AI is not found. You should now get an error message and then the Application Settings window will pop up.

Sorry about the problem! Again, let me know if you have issues.
 
So, if your having trouble with Onguard and Deepstack, here is what I found. I have an i5 blue iris box, installed deepstack and Onguard, worked great, never had an issue. Been running over a month without a hiccup. Decided to try duplicating it on another machine I have, which is an i3 processor. No matter what I tried, Onguard would come up blank, then error out saying it can't find deepstack, which is all activated and appears to be running. Then, tried the same thing with a different i3 machine I had laying around. Same issues. Cannot get Onguard to display an image, even though it says it found the images in the folders, then errors out saying it can't find deepstack. Tons of troubleshooting, still no luck. Then, I remembered I had a cloned drive from my BI box because I just converted to an SSD drive. So I put the drive in my i3 machine, so it's the exact same setup as the BI box that is working flawlessly. I turn off the windows 10 auto updates so I know it hasn't been updated with anything. Still the same issue. Onguard comes up blank, shows it finds the images, then an error pops up saying it can't find deepstack. So, what's left? It has to be a hardware issue since I know the blue iris box has been working, and the same exact load of software running on my i3 box. So, it's either a driver issue due to the different hardware, or something that's hardware specific preventing Onguard and Deepstack from communicating. I'm in a bit of a pickle now because I need to upgrade my BI box because with Onguard and Deepstack running I don't have enough processor to keep up, but I'm afraid to go out and buy a new system because who knows if Onguard and Deepstack will be happy. Unless they require an i5 processor or better to run, which I can't find that's the case anywhere, I'm at a loss. I've also seen on deepstack forums that quite a few people are having a similar issue where deepstack and other AI setups aren't working. Even the ones that use Docker for Deepstack, and the ones using AITool were having an issue too, so I'm leaning towards it being an issue with Deepstack, but haven't found a fix for it.
 
Comparing an i5 to an i3 is not really valid. You really need to compare the full processor number. You are right, it probably is the hardware. Your specific i3's probably do not have enough horsepower to do everything you are asking.

What specific Intel processors are you talking about?