I'm looking to stream my home security camera feed, ideally at 1080p, into Azure and want to implement AI to not just detect a presence but to specifically identify people, like saying 'Peter is home'. Additionally, I'd like to detect potential threats or unusual behavior. I'm uncertain about the best Azure approach or architecture for this. I'm considering two main strategies: a cloud-first method where I stream the live video directly to Azure for processing, or an edge-first method where I could detect people locally and only send clips or frames to save bandwidth. I'm curious about how others would approach this, which method tends to be more realistic in practice, and what might be more privacy-friendly for home use. Any experiences or high-level guidance would be greatly appreciated!
4 Answers
Honestly, you might be better off investing in a CCTV system designed for this kind of work instead of trying to build your own setup from scratch. It could save you a lot of hassle and possibly even money in the long run.
Using Azure AI for image and video analysis is possible, but keep in mind that it's likely to be quite expensive. Also, they don't have a direct feature to identify threats; you'll have to implement that functionality yourself.
Instead of streaming every single frame for analysis, it’s better to extract key frames and send those to Azure's Face API. This service can help find faces in images and identify them based on reference photos you provide. For detecting threats or unusual behavior, it might require a more complex model through Azure AI or similar services. It's definitely doable, but you might want to factor in the costs for that complexity!
You should definitely consider using Azure IoT Edge for your project. It allows for some level of processing at the edge, which could really help with efficiency. You can check their documentation for more details on how that works!

Is there an Azure service specifically for extracting those key frames, or would it be more cost-effective to handle that on-premise?