Posted this in the BI forum but it applies to any setup that can write a image files to a directory.
I was inspired by GentlePumkin’s AI Tool to add artificial intelligence to Blue Iris. After experimenting with AI Tool for sometime I found that (although wonderful) on my system it would often miss the event that I was interested in. By the time that BI detected an event, DeepStack identified a target object and AI Tool triggered an alert in BI often the alert missed the action.
As a result of these missed events I decided to write my own tool using C# and Core. Currently the software monitors a folder for new files of a specific type (e.g. *.jpg files) and on creation of a file with a matching extension it will send that file to an endpoint (e.g. deepstack) and evaluate the results against a configurable list of objects and confidence levels. If a matching object is found equal to or greater than the confidence level the image and corresponding evaluation data are passed to a repository for further action.
Currently I have provided implementations for connections to DeepStack as an AI system and MQTT as the repository. These dependencies are abstracted and injected. Integration of other systems should be fairly simple if you’d like to ‘roll your own’. I’m also using BI but only as the instigator for creating images in the source directory. Any logic performed after a discovery is up to the repository (e.g. MQTT) and downstream systems.
My system is configured as depicted below:
BI -> images to folder -> AIGuardian (this software) -> DeepStack -> AIGuardian (this software) [if an object of interest is detected] -> MQTT -> Node Red -> [what ever I want (telegram, lights …)]
You could use the software as it is currently or provide implementations of your own AI tool (IDetectObjects) and repository (IPublishDetections). I’m using NodeRed for ‘what-happens’ when an object is detected rather than trying to build this logic into AIGuardian.
Source code and configuration details can be found at the GitHub repo below. My hope is I can find a few contributors to help me build and expand it’s feature set.
GitHub: johnhinz/AIGatekeeper
Enjoy!
I was inspired by GentlePumkin’s AI Tool to add artificial intelligence to Blue Iris. After experimenting with AI Tool for sometime I found that (although wonderful) on my system it would often miss the event that I was interested in. By the time that BI detected an event, DeepStack identified a target object and AI Tool triggered an alert in BI often the alert missed the action.
As a result of these missed events I decided to write my own tool using C# and Core. Currently the software monitors a folder for new files of a specific type (e.g. *.jpg files) and on creation of a file with a matching extension it will send that file to an endpoint (e.g. deepstack) and evaluate the results against a configurable list of objects and confidence levels. If a matching object is found equal to or greater than the confidence level the image and corresponding evaluation data are passed to a repository for further action.
Currently I have provided implementations for connections to DeepStack as an AI system and MQTT as the repository. These dependencies are abstracted and injected. Integration of other systems should be fairly simple if you’d like to ‘roll your own’. I’m also using BI but only as the instigator for creating images in the source directory. Any logic performed after a discovery is up to the repository (e.g. MQTT) and downstream systems.
My system is configured as depicted below:
BI -> images to folder -> AIGuardian (this software) -> DeepStack -> AIGuardian (this software) [if an object of interest is detected] -> MQTT -> Node Red -> [what ever I want (telegram, lights …)]
You could use the software as it is currently or provide implementations of your own AI tool (IDetectObjects) and repository (IPublishDetections). I’m using NodeRed for ‘what-happens’ when an object is detected rather than trying to build this logic into AIGuardian.
Source code and configuration details can be found at the GitHub repo below. My hope is I can find a few contributors to help me build and expand it’s feature set.
GitHub: johnhinz/AIGatekeeper
Enjoy!