I've merged my previous work on a Google Vision plugin into a generalized plugin for Image Analysis. The new plugin supports both Google Vision and AWS Rekognition.
The reason I've introduced different image analysis cloud services is that they are each different. This article talks about some of the pros and cons (https://engineering.musefind.com/we-com ... 54cff5ae62). For me, I found better person detection using the AWS API, and better scene/object detection with the Google Vision API.
In the future, I may attempt to build in support for AWS Rekognition's face recognition features. Google Vision only supports face detection. As of 1.0.4, face detection is the only thing implemented.
If you are interested in how it works, I recommend taking a snapshot using your own security camera and sending it to the service using the above site.
The plugin allows you to create dynamic events of four different types:
- Face Detection - Looks for faces in the image. You can configure the level of certainty that Google returns back to the plugin. Also supported is a flag to look for "no faces detected". Google and AWS both support things like the likelihood that the face is showing joy, anger, sorrow, etc. I have not implemented those and this information is stored but ignored for now.
- Label (Object) Detection - Looks for objects in photos. Easiest way to understand Google and Amazon's dictionary is test with your own images and see what results typically come back. Typical use cases is to detect the presence of a person, automobile, pet.
- OCR (Google Vision only) - I haven't tested this thoroughly, but the plugin can trigger an event if Google is able to OCR text in a image and you are looking for a particular substring.
- Logo Detection (Google Vision only) - Detects logos!
Note: This plugin does not require to create any devices.
Once you create the events, you can create triggers for those events in Indigo.
Finally, you trigger the processing of the events by sending an image to Google Vision or AWS Rekgonition, Actions that the plugin supports. Images can be local to your Indigo Server or via HTTP protocol. The location/URL can be set statically or via Indigo variable.
For me, I'm using the plugin to occasionally analyze images from my home security cameras. This works well with SecuritySpy's feature to upload a web camera image to a remote server.
Plugin can be downloaded here: https://github.com/mlamoure/Indigo-Image-Analysis