I think Rekognition is cloud based. I'm not sure about TensorFlow.
I'm hoping for something that's free and can run on a modest desktop. It would really only need to detect one type of object, but then differentiate the individual objects within that type (sort of like facial recognition).
I have no idea if my project is even feasible, but I want to see what software is out there so that I'll know if I should give up the idea or keep looking into it.
To self-host just run
npx @roboflow/inference-server
Then you can POST an image at any of the models to localhost:9001 eg
base64 yourImage.jpg | curl -d @- "http://localhost:9001/some-model/1?api_key=xxxx"
And you get back JSON predictions.
There are also client libs[2] and sample code[3] for pretty much any language you might want to use it in. You can also run any of the models directly in a browser with WebGL[4], in a native mobile app[5], or on an edge device[6].
[1] https://universe.roboflow.com
[2] https://github.com/roboflow-ai/roboflow-python
[3] https://github.com/roboflow-ai/roboflow-api-snippets
[4] https://docs.roboflow.com/inference/web-browser
[5] https://docs.roboflow.com/inference/mobile-ios-on-device
[6] eg https://docs.roboflow.com/inference/luxonis-oak