Sure. Here are some high level concepts.
In this case, we are talking about processing images to detect objects. There are many other detection models; but this particular node-red-contrib-tfjs-object-detection
gizmo is about object detection.
TensorFlow has created and provides some basic models in their TensorFlow offerings that detect a number of objects classes. When a computer algorithm "detects" an object, it will assign a probability or confidence estimate, for example:
"person" 0.92323232
However, the Google TF model in this case, based on my testing so far, only detects person
and it can, fairly accurately, detect the number of objects in its field of view, in this example person
objects. But the current model does not attempt to detect who
that person is. That requires a different model and / or training the current model (with ML
learning techniques), since we might only want to detect our family members
to distinguish them from strangers
, if we were interested, for example, in getting an alarm or message when a stranger
enters into some space (instead of the coarse object person
).
I advise you not to worry too much about that yet.
First, you need to get up and running
and detecting the objects in the models out-of-the-box
and when you are comfortable with that, then you can decide if you need different models and how deep
you want to detect (how deep you want your models to learn
). Of course it is more coarse
to detect a person
versus detecting male person
or female person
etc. So, we have to crawl before we walk and walk before we run.
In my case, I am trying to detect bird
and that is an object which files and poops on my balcony. At this point, we are not trying to detect if it is a seagull
or a pigeon
; just a bird
which is a less refined object than seagull
obviously.
In this app we are discussing, node-red-contrib-tfjs-object-detection
, the focus is on coarse object detection based on the provide model. Or course, the more refined and less coarse an object model is the bigger and slower the detection process.
So, instead of digressing into discussions about false positives
and false negatives
and so forth and so on about detection theory
, it might help you a bit if you review a paper I wrote this topic a number of years ago, regarding computer and network security. It's fairly high level and easy to read:
https://www.researchgate.net/publication/220420389_Intrusion_Detection_Systems_and_Multisensor_Data_Fusion
Back to node-red-contrib-tfjs-object-detection
....
I think this is a very well designed basic still image detection module for Node-RED
and I like it so far.
Frankly, I am not a huge fan of surveillance capitalism
and commercial applications of surveillance
like the huge tech
companies are doing (don't get me started on that rabbit-hole topic
); but I am interested in home applications
like stopping birds from pooping on my balcony or detecting strangers
in the vicinity of my home.
In addition, I don't use any tech from companies which have surveillance capital
business models; for example Blynk
, Alexa / Amazon
, FB APIs
and the myriad of other tech companies which surveil all online activity and create human behavioral models (for sale to the highest ad bidder) as they offer us "free"
services.
Node-RED is a great platform to build our own instrumentation
and this is good, so people do not depend on third-party
services which are "free"
in theory but the cost is little privacy. The way to resist this surveillance capital
business model is to build our own and manage our own data.
That is why I will never use Alexa
for home automation. I don't use Blynk
either, after reading their TOS (terms of service) where they have the right to share all your data, even your own messaging data, with third-parties.
This is also why I have become a huge Node-RED
fan because we, all of us, can build our own instrumentation
sans the surveillance capitalism
business models of big tech.
Sorry to digress..... LOL
When you get old and long in the tooth, we start to digress often ... because of all those years of tech experience embedded in our brains... haha