[Feature request] video doorbell - set a minimum size for facial recognition

I live on a busy urban street, so my Eufy doorbell sees a lot of passing cars and pedestrians. Despite having motion detection turned off, and sensitivity turned down to a minimum, I still get several (like a dozen) false alerts per day. No combination of activity / exclusion zone seems to fix the problem.

A great and, I expect, simple to implement feature would be the ability to specify a minimum screen size for facial recognition. This would provide an approximation of depth sensor functionality that the doorbell lacks. Essentially, the facial recognition would just test the size of the detected face box against a minimum selected by the user, and only alert and/or record on large faces… effectively screening out people walking by who aren’t actually near the door. (And it wouldn’t require any change to the face detection code - just a simple test made after the fact.)

Thank you for your suggestion. We will pass it to our support time. :blush:

This would be a great implementation

Mathematically you’d alter from a number of false positives to more false negatives.

For any given number of pixels, there is a small % it appears as a face when it isn’t (false positives) and a small % it appears not as a face when it is (false negatives).

As the number of pixels shrinks, both % increase. At a critical size, the probability a pattern is not a face becomes the same as is a face - 50/50.

You are correct a minimum size would lower the error rate. But. You’d be asking for more false negatives as a result.

Rather than pixel count size, you could have a user configurable % probability, so a tunable parameter, where if the % probability is a face, can be put up or down. In your situation, say the facial recognition was currently set to 80%, you’d tune it down to to 70%. You’d then get fewer false positives. You’d also get more false negatives.

Noted, and thanks for the reply. But… be aware that I’m not trying to reduce false positives (non-faces tagged as a face), nor to alter the recognition algorithm in any way - I’m trying to throw away a given subset of the already detected faces: both true and false positives.

I’m suggesting that no changes be made to the “is it a face?” part of the algorithm at all - so the same number of true/false positives/negatives to begin with. Does subsequently throwing away some number of those positives skew the percentages, by leaving fewer overall positives? Sure. But I don’t care about percentages, I just want to ignore a (significant) number of alerts that I don’t care about.

So maybe it goes from 10 TP, 1 FP, 2 FN before to 2 TP, 1 FP, 2 FN after. The error rate may be worse, but I’m still happier, because I’ve shed > 70% of my annoying irrelevant alerts. (And I’m missing no more actual visitors than previously were undetected.)

Also: with my current settings, I’ve noticed I nearly never get false positives. Almost everything I get is a face. And the algorithm is doing a good job of putting tight boxes around them, as evidenced by the photo attachments in the alerts I receive: in almost all cases, they show up as a similar size in the box-thumbnail. So post-culling by the size of the box will indeed target the ones I’m not interested in (the small ones).

“Creating” a new false negative in this scheme would require some small part of a large face to be detected as a whole face. So, say the face box ends up around just an ear, and thus the face is culled as being too small. I’m just not seeing this actually happening.

Again, it’s not for everyone - but for people who have the problem that I’m seeing, characteristic of a specifically-urban location and vantage point, I believe it would be pretty effective. Nothing’s going to be perfect - as evidenced by the fact that none of the current controls work for my situation currently. But it would be super cheap to implement, and potentially very useful as an additional control for some of us.

One additional thought: a size-culling feature might actually improve things in another way, in a location like mine. I’m sure there are currently some number of instances where someone approaches my door, but the camera is already recording due to foot traffic further away on the sidewalk. The alert I get comes with a thumbnail of the far away person, and I swipe it away, as I’ve learned to ignore people based on where they’re looking or how big their heads are relative to the background. I thus miss the fact that there was actually someone peering in my door, by failing to watch the video.

With size culling, the thumbnail would show the person at the door.

(If they ring the bell, that’s a different story. In fact, my doorbell is currently only useful to me as a doorbell. As a security device, it’s more annoying than effective.)

You cannot alter the facial recognition, it is done in hardware, in a step before compression (sampling) when the data is raw.

You can alter what is done about it.

Sounds like what you are seeking is to nibble down the % of probability.

I doubt the software under Eufy’s control is down to the pixel level, that is too electronic load heavy, to make this work in a doorbell the chips they consume do the work in hardware (hardware = more electrically efficient), so they are just joining up the chips in simple software, they probably cannot even “see” pixels, just tune the action.

If it were a custom chip, and you paid $$$ for the product, yes.

Is there a hardware teardown of this doorbell? We can look it up better.