SUMMARY Using a subset of images with faces, Digikam fails to recognize any faces. STEPS TO REPRODUCE 1. Digikam detect faces successfully. 2. Assign name tags to some of the Unknown face tags (at least 4 to each person) 3. Let Digikam try to Recognize faces OBSERVED RESULT No faces were recognized. EXPECTED RESULT Faces should have been recognized. SOFTWARE/OS VERSIONS KDE 5.65.0 / Plasma 5.17.4 Qt Version: 5.13.2 ADDITIONAL INFORMATION I used the Appimage: digikam-7.0.0-beta1-20191221T113643-x86-64.appimage I also tried the windows version: digiKam-7.0.0-beta1-20191227T151506-Win64.exe LOG OUTPUT igikam::RecognitionPreprocessor::Private::preprocess: Align face for OpenFace neural network model Digikam::OpenfacePreprocessor::process: type: 16 Digikam::OpenfacePreprocessor::process: Full object detection and landmard computation finished Digikam::OpenfacePreprocessor::process: Align face finished Digikam::DNNFaceExtractor::getFaceEmbedding: Finish aligning face in 14 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Start neural network Digikam::DNNFaceExtractor::getFaceEmbedding: Finish computing face embedding in 224 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Face descriptors size: ( 1 , 128 ) Digikam::DNNFaceRecognizer::predict: m_threshold 1 Digikam::DNNFaceRecognizer::predict: vecdata: 0.0493621 0.0429577 Digikam::OpenCVDNNFaceRecognizer::recognize: 2 0.59324 Digikam::DNNFaceRecognizer::predict: Predicting face image Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage channels: 3 Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage size: ( 254 , 180 ) Digikam::FacePipeline::Private::checkFinished: Check for finish: 4 packages, 0 infos to filter, hasFinished() false Digikam::RecognitionPreprocessor::Private::preprocess: Align face for OpenFace neural network model Digikam::OpenfacePreprocessor::process: type: 16 Digikam::OpenfacePreprocessor::process: Full object detection and landmard computation finished Digikam::OpenfacePreprocessor::process: Align face finished Digikam::DNNFaceExtractor::getFaceEmbedding: Finish aligning face in 10 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Start neural network Digikam::DNNFaceExtractor::getFaceEmbedding: Finish computing face embedding in 269 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Face descriptors size: ( 1 , 128 ) Digikam::DNNFaceRecognizer::predict: m_threshold 1 Digikam::DNNFaceRecognizer::predict: vecdata: 0.0508566 0.0368828 Digikam::OpenCVDNNFaceRecognizer::recognize: 2 0.46771 Digikam::FacePipeline::Private::checkFinished: Check for finish: 3 packages, 0 infos to filter, hasFinished() false Digikam::DNNFaceRecognizer::predict: Predicting face image Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage channels: 3 Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage size: ( 254 , 246 ) Digikam::RecognitionPreprocessor::Private::preprocess: Align face for OpenFace neural network model Digikam::OpenfacePreprocessor::process: type: 16 Digikam::OpenfacePreprocessor::process: Full object detection and landmard computation finished Digikam::OpenfacePreprocessor::process: Align face finished Digikam::DNNFaceExtractor::getFaceEmbedding: Finish aligning face in 13 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Start neural network Digikam::DNNFaceExtractor::getFaceEmbedding: Finish computing face embedding in 181 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Face descriptors size: ( 1 , 128 ) Digikam::DNNFaceRecognizer::predict: m_threshold 1 Digikam::DNNFaceRecognizer::predict: vecdata: 0.0627084 -0.0602348 Digikam::OpenCVDNNFaceRecognizer::recognize: 2 0.514198 Digikam::FacePipeline::Private::checkFinished: Check for finish: 2 packages, 0 infos to filter, hasFinished() false Digikam::DNNFaceRecognizer::predict: Predicting face image Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage channels: 3 Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage size: ( 254 , 164 ) Digikam::RecognitionPreprocessor::Private::preprocess: Align face for OpenFace neural network model Digikam::OpenfacePreprocessor::process: type: 16 Digikam::OpenfacePreprocessor::process: Full object detection and landmard computation finished Digikam::OpenfacePreprocessor::process: Align face finished Digikam::DNNFaceExtractor::getFaceEmbedding: Finish aligning face in 14 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Start neural network Digikam::DNNFaceExtractor::getFaceEmbedding: Finish computing face embedding in 202 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Face descriptors size: ( 1 , 128 ) Digikam::DNNFaceRecognizer::predict: m_threshold 1 Digikam::DNNFaceRecognizer::predict: vecdata: 0.195295 -0.0440654 Digikam::OpenCVDNNFaceRecognizer::recognize: 1 0.647489 Digikam::FacePipeline::Private::checkFinished: Check for finish: 1 packages, 0 infos to filter, hasFinished() false Digikam::DNNFaceRecognizer::predict: Predicting face image Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage channels: 3 Digikam::DNNFaceExtractor::getFaceEmbedding: faceImage size: ( 254 , 174 ) Digikam::RecognitionPreprocessor::Private::preprocess: Align face for OpenFace neural network model Digikam::OpenfacePreprocessor::process: type: 16 Digikam::OpenfacePreprocessor::process: Full object detection and landmard computation finished Digikam::OpenfacePreprocessor::process: Align face finished Digikam::DNNFaceExtractor::getFaceEmbedding: Finish aligning face in 12 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Start neural network Digikam::DNNFaceExtractor::getFaceEmbedding: Finish computing face embedding in 229 ms Digikam::DNNFaceExtractor::getFaceEmbedding: Face descriptors size: ( 1 , 128 ) Digikam::DNNFaceRecognizer::predict: m_threshold 1 Digikam::DNNFaceRecognizer::predict: vecdata: 0.0913226 -0.0140578 Digikam::OpenCVDNNFaceRecognizer::recognize: 1 0.668027 Digikam::FacePipeline::Private::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true Digikam::FacesDetector::slotContinueAlbumListing: false false Digikam::adjustedEnvironmentForAppImage: Adjusting environment variables for AppImage bundle Digikam::DNotificationWrapper: parent is null
You have to start with an empty face database or do the "delete training data" option beforehand. The data of the old algorithm are still available and incompatible with the new one. And 4 new faces are not enough to overwrite the "old" data. Maik
My subset of images were placed in a new folder, and I started a new Digikam database in that folder. So everything was completely new for Digikam. No old databases. I started digikam like this: digikam --database-directory <path_to_my_new_folder_with_subset_of_images>
I experimented a bit, and I think I know what's going on. When I let Digikam detect faces, I set 'Face Accuracy' to 100%, which gives very good results. Then I carry on with Face Recognition, with no recognized faces. But. If I change the 'Face Accuracy' to way less, say 50%, Digikam is starting to recognize. So in short, 100% 'Face Accuracy', no faces will be recognized.