2012-11-30 19 views
7

Tôi đã làm việc trên một dự án nhận diện khuôn mặt bằng cách sử dụng OpenCV's FaceRecognizer, phân biệt giới tính. Các thuật toán hoạt động khá tốt, nhưng tôi muốn thực hiện một số tính năng bổ sung vào chương trình của tôi như sự tự tin của dự đoán.Sự tự tin trong FaceCognizer của OpenCV là gì?

Chức năng dự đoán có thể xuất ra một mức độ tin cậy, nhưng tôi không chắc nó có ý nghĩa gì. Sự tự tin này thực sự đo lường là gì và tôi có thể chuyển đổi nó thành một tỷ lệ phần trăm không?

int predictedLabel = -1; 
double confidence = 0.0; 
model->predict(face_resized, predictedLabel, confidence); 
string result_message = format("Predicted class = %d/Confidence = %d.", predictedLabel, confidence); 
cout << result_message << endl; 

Đây là kết quả đầu ra. https://www.dropbox.com/s/65h1n5180ulz3hl/facerecConfidence%20.jpg

+3

Sẽ tốt hơn nếu thêm hình ảnh trực tiếp vào câu hỏi thay vì liên kết hình ảnh từ nguồn bên ngoài (như hộp kéo thả) không tồn tại nữa –

Trả lời

7

Có một cuộc thảo luận ngắn gọn về khoảng cách này thực sự nằm trong danh sách người dùng OpenCV here.

Để tóm tắt, chức năng họ sử dụng là:

distance = 1.0f - sqrt(distSq/(float)(nTrainFaces * nEigens))/255.0f 

Tuy nhiên, tác giả của hàm nói rằng nó là một hướng dẫn rất gồ ghề và không phải là một dẫn chứng đầy đủ. Xem liên kết đến thảo luận danh sách người dùng để tham chiếu đến bài báo và đề xuất về chỉ số thay thế.