This is a general or more conceptual questions about biometric classification models, based on deep learning neural networks.
The goal of the system is to take a set of features (e.g. voice recording, face photo) and identify to which person (enrolled in the system's database) it belongs. For example: if we have Alice and Bob in the system and the input is the voice of Alice, the model should return "Alice".
One of the more common approaches to this problem is to take the input (e.g. voice recording, face photo) and create a vector of features, called "embedding". It creates an embedding for each person stored in the database, the process of adding a person to the database and creating an embedding for him is called "enrolling".
In most system, the deep learning model part takes a set of features and returns an embedding. Then the embedding is compared to all the embeddings stored in the database, and returns the person with the "closest" embedding. "Closest" may be by Euclidean distance, cosine similarity or other method.
The shortcoming of this process, is that it always returns one person from the database and doesn't know how to handle an unknown person (not in the database). An idea is to add a class of "other"/"unknown" and return it when unknown person is checked by the system.
The problem is how do I determine for a certain embedding, that it belongs to the class unknown? The naive answer is to threshold the distance/similarity to the closest embedding. However, in some or many models (including the specific model we are working with) it is very hard to find a good threshold, without getting substantial false rejection rate (FRR).
Is there another approach to produce a biometric system that can classify unknown speakers as "other"?