Launch HN: Visual One (YC W20) – Event recognition for security cameras
People use security cameras (aka IP cams) for various purposes—to monitor their properties, their kids, their pets, for elderly care, as doorbells, etc. But a shortcoming these cameras have is they rely mainly on motion detection to alert users and that leads to too many false alarms.
What led me to work on this problem initially was my personal experience with the IP cameras which I used to watch my dog and also as a doorbell at my house which I rented out on Airbnb sometimes. After trying some of these cameras (Ring, Nest and Wyze), I realized motion alerts are pretty much useless and person detection that some like Nest offer is not broadly useful. For example, for my dog, I only cared to know if/when the dog walker picked her up or if she was doing something bad, like getting into my clothes, chewing my shoes/TV remote, getting on the bed, etc. The motion alerts were completely useless as she is moving all the time obviously--person detection was also not useful for any of these events. For my Airbnb rental use case (doorbell/outdoor cams), the main things I cared to know about were if the guests parked their cars in the wrong location which pissed off my neighbors, or if the garage door was left open, or if there were a lot more people staying at the house than allowed. Again, motion alerts or person detection were not useful at all.
Having a background in machine learning & computer vision, I felt this is a problem that is just starting to become solvable thanks to the powerful deep learning techniques developed in the the last 3-4 years.
Over the last 6 months, we have been building a cloud-based solution addressing this shortcoming for any IP camera without any dependency on the hardware. Our software allows users to create custom alerts for things that matter to them, like their dog chewing on shoes, their kid playing with the stove or their packages being stolen by porch pirates. It also allows them to search for past events after the fact instantly.
Currently, we support four categories of events: - A specific object appeared / disappeared, e.g. dog appeared, bicycle disappeared, package disappeared (coming soon.) - A specific object in a specific location, e.g. a car parked in front of the driveway, elderly person taking medications, dog in the (neighbor’s) lawn, person getting into the garage. - Two objects interacting, e.g. dog getting on the couch, kid playing with the stove, dog chewing on a shoe. - Facial recognition based events, e.g. new person detected, a specific person appeared, max occupancy violated.
Users can create a new event in any of the above categories by providing a few simple inputs, e.g. pick the objects involved and the interaction between them, or specify a zone. Once the event is created, our software can immediately recognize that event with good accuracy. The users can also give a thumbs up/down when they get an alert and their feedback is incorporated back into the models to improve their accuracy over time. Users can adjust the sensitivity for each event (precision and recall trade-off) based on their use case.
In addition to the smart alerts described above, we also index the footage in real time to allow users to query for past events after the fact and get the results instantly instead of having to go through all the past footage to find something they care about. For example: users can query the clips of when a laptop disappeared or a truck appeared.
Our solution can also alleviate privacy concerns since we only store short video clips on the cloud for alerts corresponding to user’s events of interest instead of for every motion detected.
We currently support Nest Cams and also offer our own cameras (same as the cameras sold by Wyze) with indoor and out...
141 comments
[ 4.1 ms ] story [ 68.3 ms ] threadRe your point about user data, we are not planning on monetizing on users data--we currently only store 10-second clips corresponding to the alerts for each users events of interest (not even every detected motion) when they happen so the users can view later.
I'm also surprised by the name they chose, as Visual One is already a software product by Agilysys. I would be surprised if it's not already copyrighted?
It's a tough space.. margins on these hardware devices are thin already, and sometimes negative as they are simply loss leaders hooking in users for long-term saas payments, so in our case, it's cheaper to build it in-house.
Good luck, however!
It seems like it should be straightforward to add, but I haven't had a chance to do so.
They have lots of free applications in their App Gallery, and with minimal effort cheap Chinese cameras can be made to work with the system (since Axis OEMs their cameras from them anyway). https://www.axis.com/en-us/products/camera-applications/appl...
Could you elaborate how the system as a whole is compliant with GDPR and other European privacy laws?
I ask because I explored and eventually decided not launch a computer vision product (in 2014) due to compliance aspects.
Looking at it from the whole system perspective, with a camera pointed at your neighbour's garden or the street in front of your home it is quite difficult to make a compliant system:
First, there are the hurdles of the GDPR (it has to be a legitimate purpose, the subject has rights and must be informed etc....).
Second, there are the broader privacy laws for public spaces, where it is mostly illegal with exceptions for government and some specific use cases for banks etc. (I am familiar with Danish rules, not those of every EU member state).
I did meet a startup some years ago that claimed that their computer vision was not video surveillance since they did the video stream processing on-device and only emitted events (not video) to the network, so perhaps there is a way to do it nowadays.
I would love to hear your perspective on the current compliance concerns for this type of computer vision systems.
I don't need more of my life stored on someone elses network.
Sure, you can push the video to the cloud, but encrypt it on the device. Let me control my data.
I'm basically working on something like this for myself. I have a Nvidia Jetson Nano that I'm trying to train to tell me when my garage door is open without my wife or I present, when my laundry is done, and whether or not the lights are on.
If you want to sell to people who actually care about privacy, then you have to build your systems so that it is impossible to abuse them or use them in any other way. Or, at the very least, it is extremely difficult to abuse them.
Do better: allow the owner to store everything locally instead of in the cloud.
If someone manages to steal one of my cameras I'll have some close-up, HD video of them stored on my hard drive.
Want to store it in some proprietary cloud? That's fine, but it should only be done as an afterthought. SFTP, CIFS, and WebDAV would enable any power user to build and use their own home storage or cloud storage.
Otherwise, you are not materially different from Ring or Google.
There is plenty of academic research done on this stuff (I know, because a group at my department did these things for elderly care). Have you looked into this, or are you making your entirely own thing from scratch?
https://scholar.google.se/citations?user=-mxqfbIAAAAJ&hl=sv&... is his Google Scholar page.
I refuse to trust someone who is using such a flimsy excuse for defaulting to slurping up images of my property.
Here’s a thought: enable it to push the data to a different backup source?
But no no no let’s give in to your pipe dream.
No thanks tech industry.
This comment, though, breaks the site guidelines, and that's not ok. Please read and follow them when posting here: https://news.ycombinator.com/newsguidelines.html.
We detached this subthread from https://news.ycombinator.com/item?id=22560528.
p.s. In addition, could you please stop creating accounts for every few comments you post? We ban accounts that do that, which is also in the site guidelines. You needn't use your real name, but for HN to be a community, users need some identity for others to relate to. Otherwise we may as well have no usernames and no community, and that would be a different kind of forum. https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...
1: https://www.minut.com/product/features/
How are they your cameras when they are Wyze's? I think you may want to correct the language here to eliminate any confusion.
You say you are selling camera hardware, so could selling a RPi or Google Coral board with pre-trained models be feasible? Nicely packaged up with a nice case etc - people don't need to know it is a RPi in a box etc. Store images/video locally with optional "cloud backup" as an paid-for add on?
I have had basically everything in my house shutdown before when my ISP had a "maintenance event" - could not turn lights on, could not use a baby monitor, could not turn the heating on etc etc because everything wanted to talk to the cloud even though my lights and heating are physical things inside my house.
Apart from that, some nice online integration would be good - IFTTT, MQTT (bonus points for local broker support to avoid cloud), and a public API etc so people can wire it up to their home if they want (e.g. unrecognised face at door? => turn on lights, dog on lawn? => turn on sprinklers etc etc)
We actually built our first prototype using RPi, we tried 3-4 different RPi cams, the image quality of all of them was very poor. Also the final cost would much higher than the cameras we are using right now...
Supporting IFTTT is in our near term road map. Appreciate the suggestions!
If you want to sell me an ML-based system, you’re welcome to train the models in the cloud, but they have to run on local-only assets. And you have to give me complete control over downloading new models periodically to a machine of my choice, and the updating my local devices.
My main line if thought was that I built basically your product for spotting when a cat climbed into my plant pots using ML and a RPi3 - the idea was that when it saw the cat, it would squirt a water pistol at it to scare it away - inference on the RPi 3 was too slow (if I was doing this now I'd use a coral accelerator maybe) and by the time it realised a cat had got into the plant pots, the cat had already taken a shit and left. I worry that your product might suffer from similar end to end latency. Niche use-case? Perhaps. I have Amazon Blink cameras here and the IFTTT integration is delayed by about 30 seconds so by the time you get a notification there is someone at your door it is to late to do anything as they will.have already left/kicked the door in by then etc. Doing all this locally would be super fast
My main concern was not really about privacy - you'll need to cover GRPR if someone from the EU happens to walk into frame of one of your customers' cameras one day in the future anyway (Good luck)
- How do I hook up an outdoor camera? Mounting instructions? Does it need power? Wifi based? (guessing it will be: "straightfoward instructions", yes, yes, but would still like details)
- A privacy statement at the very least - and ideally privacy from the ground up - perhaps via differential privacy, or maybe you allow users to pay less if they make their unencrypted photos available to your training models. IMHO privacy concerns are what are really holding back smart home tech and keeps me from adopting it.
To answer your first question, the installation/requirements for our cameras are pretty much the same as the other stand alone security cams in the market (Nest, Ring, Wyze, etc.) Basically, they require power (plug into outlets) and require wifi connection.
FWIW, I've seen a few other companies pop up offering a similar service to that market and are doing well. Lots of security operations centers are still manually run w/ 100s if not 1000s of cameras being monitored by a team of humans (to the best of their ability).
Good luck! This is an awesome idea!