Skip to main content

New best story on Hacker News: Show HN: I turned my face rec system into a video codec

Show HN: I turned my face rec system into a video codec
485 by jacobgorm | 138 comments on Hacker News.
Before the pandemic, my tiny startup was doing quite well selling Edge AI systems, based on our own lightweight AI inference engine, with object detection and face recognition for smart city and smart retail & food service applications. When the real world shut down, there was suddenly nothing to monitor on streets and in restaurants, so I set out to try and evolve our real time face recognition system into a video codec for high quality face-to-face online interactions, as I was not satisfied with the quality of Zoom and friends. I got it to work, and the first release for IOS was just approved on Apple's app store, link: https://ift.tt/bfZ39Ks The way it works is that you create a meeting URL, which you can share out-of-band, for instance via slack or text message. You can also share as a QR code which the app can scan to join a call. You then place your device on a surface in front of you so that the front camera can see you, and it will recognize you face and assign you to your own session, which is broadcast to the meeting channel. If more than one person is in view, both of you will be broadcast but with separate session ids, like if you were on separate cameras. Other meeting participants will show up on your screen and you can start talking. It is optimized for eye contact, meaning that the eyes will actually make it through to the other side as more than just dark pixel clouds, so thinks should feel a bit more personal than the standard Zoom/Teams/or Google Meet call. Because it uses face rec, you can ONLY show your face, and if you disappear from view your audio will stop after a while, to avoid situations like when you need to go the the restroom but forget to mute. This also solves dick-pics etc. The CODEC is not based on H26[45], but is pure AI that runs on the GPU. There is a neural network that compresses the video in real time, and another one decompressing on the receiving end. Finding a tight network architecture that would do this in real time with acceptable quality was a major part of the effort. There are several quality settings possible, but right now it is set fairly high and for 20FPS maxes out around 700kbit/s, though typically uses about half. I've demonstrated good results down to around 200kbit/s, so in theory it should work over satellite links or even Bluetooth. The protocol is UDP with no congestion control but with (Wirehair) FEC to protect against mild packet loss, future versions will detect packet loss and adapt to available bandwidth. The audio just uses OPUS and may click a little bit, I blame AudioEngine or the fact that the last time I wrote audio code was for the game I published for the Amiga in 1994. If you don't have a friend around or multiple devices to play with, there is an "echo test" server mode that allows you to be in a meeting with yourself. Traffic will be peer-to-peer if possible, but otherwise you will be relaying through my tiny Raspberry PI server, so YMMV. I plan to try to switch to something like fly.io soon to improve scalability. There is also a MacOS version coming very soon, and the underlying AI engine also runs on Windows & Linux. Android support is planned. Please take a look and let me know what you think.

Comments

Popular posts from this blog

New best story on Hacker News: Launch HN: Electric Air (YC W23) – Heat pump sold directly to homeowners

Launch HN: Electric Air (YC W23) – Heat pump sold directly to homeowners 571 by cmui | 527 comments on Hacker News. Hi HN! I’m Chris Mui, founder of Electric Air ( https://electricair.io ). We’re building a residential heat pump system. This will be an all-electric replacement for your home’s furnace and air conditioner that enables more centrally ducted installs, manages your indoor air quality, and saves you money on monthly energy bills. We also streamline purchase, finance and install by selling directly to homeowners. You can place a preorder today at https://electricair.io . Heat pumps work by using refrigerant and a compressor to move energy against a temperature gradient. If you put 1 kWh of energy into a heat pump, you get 3-5 kWh of heating in your home. But this isn’t breaking the laws of physics because heat pumps don’t make heat, they move it around. The extra 2-4kWh gets absorbed from the outdoors, even when it is cold outside. The low pressure refrigerant in the outdo...