- Incremental Learning Algorithms: Use algorithms that support incremental learning, such as some variants of Support Vector Machines (SVM) or neural networks that are designed for online learning. However, MATLAB's built-in fitcecoc does not directly support this.
- Feature Extraction with HOG and KNN: You can use the Histogram of Oriented Gradients (HOG) for feature extraction, which you're already using, and then apply a K-Nearest Neighbors (KNN) classifier. KNN can be updated easily by simply adding new feature vectors (guest images) to the dataset without retraining the entire model.
- Hybrid Approach with Pre-trained Models: Use a pre-trained deep learning model to extract features from images, and then use a simpler classifier like KNN or a small neural network. The feature extraction part remains constant, and you only update the classifier.
- Database and Similarity Search: Store the HOG features of each guest in a database. When a new guest is added, compute their HOG features and store them. For recognition, compute the HOG features of the input image and perform a similarity search in the database using a distance metric (e.g., Euclidean distance) to find the closest match.
- Scalability: KNN is simple and easy to update, but it may not scale well with very large datasets because it needs to compare against all stored samples.
- Accuracy: Ensure that the feature extraction process (HOG in this case) is robust enough to handle variations in lighting, pose, and expression.
- Performance: Depending on the size of your dataset, consider optimizing the feature extraction and classification process to maintain real-time performance.