Live data from Hacker News

Show HN: I turned my face rec system into a video codec

vertigo.ai

51–60 of 150 posts

Re: Show HN: I turned my face rec system into a video codec

#51

What’s funny is I’ve had this very idea but no AI skills or extra time to pull it off. Bravo!!

That is where I started ~5 years ago :-) Thanks!

Really? Impressive! Can I ask how you went about learning it all then? Any books or online courses you can recommend?

Re: Show HN: I turned my face rec system into a video codec

#52

Really cool idea. Unfortunately I can't try it because app crashes for me. I'm guessing it's because of the HN crowd

From another comment:

> The rooms are hosted on a Raspberry Pi 3 lying on the floor of my office.

Hah, probably :D

Re: Show HN: I turned my face rec system into a video codec

#53
post #48

> 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. Of course, the real killer app for Zoom calls is the opposite of this: some kind of deep fakery that makes it seem we're there when we're not. Yet as it is, this is a fantastic idea. It's surprising video codecs de…

If you have a helmet with a camera pointing at you, this could work.

Then it could look like you are at home in the meeting, but you are out in the forrest walking.

Re: Show HN: I turned my face rec system into a video codec

#54
this is really smart, one of those ideas that seems so obvious but i'd have never thought of it. i think the content moderation angle is pretty interesting to expand upon, a lot of livestream platforms have "if x is detected stop the stream" but this idea of make it impossible to show x in the first place would be much cheaper if it can be expanded enough for the relevant domains.

Re: Show HN: I turned my face rec system into a video codec

#56

Awesome! A thought: now that neural compression is becoming widespread, it could be a good idea to put some kind of indicator or watermark stating the compression is neural (learned/function approximation in general). I think this would avoid liabilities and criticism around the fact that some weird things may appear (incorrect detail generation), maybe giving a wrong semantic idea. It may also be a good idea to put…

> incorrect detail generation

Absolutely. Reminds me of Xerox number mangling:

https://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres...

Re: Show HN: I turned my face rec system into a video codec

#59
One benefit of lower bandwidth is you have the possibility of reducing the glass-to-glass latency, since network queues will be less crowded.

But with this you have the downside of more milliseconds spent compressing and decompressing the frames.

Do you have any indication which effects dominate in typical 4G/wifi environments?

Re: Show HN: I turned my face rec system into a video codec

#60

Eventually, a neural-net approach to video codecs is inevitable, as including high-level semantics is much more dense. I wonder about a few things though: • How much of the 8.7MB of the app are the weights? • Did you measure the energy consumption difference between this and H265? Especially considering Apple has hardware acceleration for this. • Do you plan for a Web port as well? • Is the performance envelope tied…

* The weights are currently around 6MiB uncompressed, but most of the networks can be sparsified to some extent, so that could be reduced somewhat. I also have a very fast sparse inference engine, but that is currently not in use, as the main win is on CPU, whereas I am mostly using GPUs for the NNs at the moment as it draws less power.

* I did not measure it methodically, but am always careful to not overheat the device when testing (XCode allows you to track this). My main testing device is an iPhone 11, and battery drain does not seem to be an issue compared with e.g. Zoom or Facetime. Where H265 currently wins is when you want to run in higher resolutions, but H265 is not available everywhere, say on slightly older iPads and there is no license included on Windows unless the customer pays separately.

* A WebGPU port would be nice, but I am currently waiting for the APIs to stabilize. If I can find some funding this will be a priority.

* I am not using CoreML but writing my own Metal compute shaders, but am using the "neural" parts of the Apple GPU through other APIs (MPS). I also have support for D3D and OpenCL, but have only tested the latter on teensy Mali GPUs, which at the time did not show impressive performance. On Android my approach would be to target Vulkan now that OpenCL is deprecated, I believe I have most of the plumbing in place, and speculate that things would work on modern mid-to-high end devices.

* When not cutting code, I am working on a plan for enterprise markets. Personally I have found the MacOS version really useful for pair-programming style scenarios, so that could be what I will be going after.

(The reason the MacOS version is still only in beta is because I hit a bug in AVFoundation where capturing from the web camera seems to be burning lots of CPU for absolutely no reason, and I don't want people to come away with the impression that it is my app doing that.)

Post reply on HN