public virtual void DetectAndIdentifyPeople(MediaItem item, string db, List <string> groupIdSet) { var analysis = SearchService.GetImageAnalysisItem(item.ID.ToShortID().ToString(), item.InnerItem.Language.Name, db); if (analysis == null) { return; } if (FaceService.ValidateFaceImage(item).Any()) { return; } var detection = FaceService.Detect(item.GetMediaStream(), true, true, new List <FaceAttributeType> { FaceAttributeType.Age, FaceAttributeType.FacialHair, FaceAttributeType.Gender, FaceAttributeType.Glasses, FaceAttributeType.HeadPose, FaceAttributeType.Smile, FaceAttributeType.Emotion }); if (detection == null || !detection.Any()) { return; } DataWrapper.UpdateFields(analysis, new Dictionary <ID, string> { { Settings.FacialAnalysisFieldId, JsonConvert.SerializeObject(detection) } }); SearchService.UpdateItemInIndex(analysis, db); var faceIds = detection.Select(a => a.FaceId).ToArray(); if (!faceIds.Any()) { return; } IdentifyPeople(analysis, faceIds, db, groupIdSet); }