Vizy, an AI Camera for the Pi
vizycam.com
vizycam.com
Edit: there is a market! https://news.ycombinator.com/reply?id=26916974&goto=item%3Fi...
Edit: Found the treasure! https://www.kaggle.com/mikian/dog-poop
Beautiful sunset? Let me know. Strange car parked in front of my house? Let me know. Neighbours house on fire. Backyard intruder. Flooding. Etc. Anything sufficiently new that the camera hasn’t seen before.
Is there anything for that?
But if you could accept portions of it, you could build a detector for unusual vehicles (would yield a lot of false alarms). And a detector for beautiful sunsets. A system that would recognize individuals by gait and be trained by you for specific authorized persons. A detector for water on the ground.
It's possible to just detect any movement or significant change in the scene, but that would yield quite a few events that were actually not interesting. Like birds landing.
One of my pandemic projects was a Pi4 with HQ camera to detect/ID helicopters flying by my building, and also create sunrise/sunset videos and post them to twitter (https://twitter.com/dcskycam).
I set up the camera and used an OOB object detection model which works well enough. Also trained custom classifiers for helicopters after I had enough training data (work in progress for some aircraft types).
Also consider that some of the things you mention, a camera is not the best sensor for the task.
https://www.nvidia.com/en-us/autonomous-machines/embedded-sy...
The Vizy has a custom high resolution camera special built for this platform that runs at 120 frames a second, not that it can detect things that fast. It also has a USB C port to connect a Google Coral device.
[Edit: oh, I missed that the Vizy has an outdoor enclosure available. Still, it's extra $60 and is huge/ugly. The off-the-shelf IP camera + separate computer for analysis should be cheaper and IMHO better.]
I'm working on a Free Software security camera NVR system. [2] I have a pretty solid core recording engine now and am just thinking about what the API for on-NVR analytics plugins should look like. I'm imagining a Python API where you write some coroutine that can iterate through decoded video frames (either live or backlogged) and make calls to your favorite ML frameworks; add events, object detection tracks, and other metadata to the database; instruct that MQTT messages be sent; etc. If you're interested in using this kind of thing, I'd love to talk more.
[1] I used to recommend Dahua or Hikvision, but it seems they're actively supporting the Uyghur genocide via custom software, eg <https://www.latimes.com/business/technology/story/2021-02-09...>. I won't be buying any more cameras from them; I'm sure my boycott will devastate their business and cause them to reconsider their position immediately. As far as I know, Reolink is uninvolved, despite also being a Chinese company.
That is true. Doing that in a secure and responsible way is really hard.
> Vizy’s software makes it really easy — it creates connections with public servers and provides you with a public URL that you can share with friends, family and colleagues.
...what if I don’t want my camera feed to be public?
> Access to the servers doesn’t require sign-up or monthly fees. Simple! You can then access your Vizy from practically anywhere with practically any device.
Mmm... so a free one click service that puts your video stream live on the internet?
What could go wrong?
Doing this properly is a hard problem, but I get zero confidence from reading this that they a) have the competence to do it or b) will continue to maintain it as a free service.
Given that big name companies get hacked when they’re trying very hard not to be, I think there some cause to think this is a an anti-feature for this product.
Sure worrying is a thing but this is to build what you want; private or public!
> DO NOT RUN THIS VERSION OF NGROK (1.X) IN PRODUCTION. Both the client and server are known to have serious reliability issues including memory and file descriptor leaks as well as crashes
Guess what?
Turns out doing this is harder than it looks.
So like... I get the point your were trying to make, but it’s actually harder than it looks, and Vizy hasn’t convinced me their service is secure.
Don’t advertise your product as having every feature under the sun like, it’s so easy, we did everything!
All it shows is you went features > quality in your product.
I don't see that anywhere. Even if it is somewhere, it's not ironic. Ngrok is used for all sorts of stuff. Stream redirection to hosted services is a thing for ease of use to get going with play of a product.
The point is that making it easy makes it public sometimes, which is fine if the use cases aren't arbitrary made up to justify a worrisome argument. It it very unlikely an agent is going to penetrate and exploit one of these cameras through such a service. Squirrels don't need to be secured. Other things do, so reconfigure!
If you have a use case...a real one...then run this locally. The inventor and I are both privacy advocates. Your argument is cherry picked and overlooks the obvious on-premise use of a Raspberry Pi! :)
In all seriousness, I get what you are talking about, but being adamant dog poop use cases must be secured is pointless. Seriously, if you have a secure use case for this it does NOT have to be streamed to some service. The service is there for squirrels, not secure deployments.
> The inventor and I are both privacy advocates.
...
Well, you've certainly sold me on avoiding your product with that.
> I don't see that anywhere.
I didn't find it on the website, but I did find it on the GitHub:
Not quite as long as my Mycroft kickstarter which shipped a full 2.5 years after expected shipping (but they DID ship so kudos to them) but yeah, hardware etc seems to always hit way more snags then expected
EDIT: Actually I just saw an article that I believe says 244 fps for Tiny YOLO on R Pi.
If you want AI you'd better consider Jetson or figure out some other DNN accelerator.
The same can also be accomplished for $4 with an old iPhone and the AirBeam app by Appologics. Just point an AI capable device to the video feed or auto sync snapshots with the dropbox feature.
The app has some quirks though. Vizy seems like it might be more reliable.
Naive motion detection doesn't work, as their total volume within an image is tiny. From what little I can find of people trying to do this, AI/ML struggles, as snakes tend to move slowly and look an awful lot like a stick.
Any pointers would be fantastic.
Bastards. /s
https://www.amazon.com/Victure-Activated-Waterproof-Detectio...
arducam makes a cute little accessory board and sells kits with sensors pre-installed, and will also quote the more uncommon sensors for you if you send an email. https://www.arducam.com/docs/camera-breakout-board/
you can also find quotes from other suppliers. sony does full-frame and medium format sensors wholesale, and they’re available through distributors. https://www.sony-semicon.co.jp/e/products/IS/camera/product....
but of course, in most cases, these manufacturers would prefer that you buy a finished camera. there is really not much you can do with a bare sensor that isn’t easier with a consumer product, especially if you want to put a lens on it.
Does it use specific hardware, or does it run on the generic ARM cpu of the RPi?