2017-08-18 3 views
0

Ich bin neu bei Affectiva Emotion Recognition SDK. Ich habe Beispiel von Video von this link gefolgt, aber wenn ich einige Bilder fütterte Beispiel this image das Gesicht konnte nicht erkannt werden. Mein Code sieht: -Gesichter können nicht mit Offline Affectiva SDK gefunden werden.

Listener 

    class Listener : public affdex::ImageListener{ 
     void onImageResults(std::map<affdex::FaceId,affdex::Face> faces,affdex::Frame image){ 
      std::string pronoun="they"; 
      std::string emotion="neutral"; 
      for (auto pair : faces){ 
       affdex::FaceId faceId=pair.first; 
       affdex::Face face=pair.second; 
       if(face.appearance.gender==affdex::Gender::Male){ 
        pronoun="Male"; 
       }else if(face.appearance.gender==affdex::Gender::Female){ 
        pronoun="Female"; 
       } 

       if(face.emotions.joy>25){ 
        emotion="Happy :)"; 
       }else if(face.emotions.sadness>25){ 
        emotion="Sad :("; 
       } 

       cout<<faceId<<" : "<<pronoun <<" looks "<< emotion <<endl; 
      } 

     } 
     void onImageCapture(affdex::Frame image){ 
      cout<<"IMage captured"<<endl; 
     } 
    }; 

Hauptcode

Mat img; 
    img=imread(argv[1],CV_LOAD_IMAGE_COLOR); 
    affdex::Frame frame(img.size().width, img.size().height, img.data, affdex::Frame::COLOR_FORMAT::BGR); 
    affdex::PhotoDetector detector(3); 
    detector.setClassifierPath("/home/mitiku/affdex-sdk/data"); 
    affdex::ImageListener * listener(new Listener()); 
    detector.setImageListener(listener); 
    detector.setDetectAllEmotions(true); 
    detector.setDetectAllExpressions(true); 
    detector.start(); 
    detector.process(frame); 
    detector.stop(); 

Wo bin ich machen Fehler Oder ist die sdk nicht Gesichter von einigen Bildern erkennen? Kann mir jemand helfen?

bearbeiten ich verwendet, um die folgenden Bilder

enter image description hereenter image description here

Antwort

2

Manchmal ist das SDK Gesichter in einem Bild nicht erkennen kann. Es gibt keinen Detektor, der ständig alle Gesichter erkennen kann. Hast du das mit verschiedenen Bildern überprüft?

Edit:

Diese beiden Bilder sind 250x250 und 260x194 und wirklich niedrige Qualität. Ich empfehle Ihnen, die App mit Bildern mit höherer Auflösung zu testen. Wie Affectiva auf ihrer Webseite sagt, ist die empfohlene Mindestauflösung 320x240 und die Seiten sollten mindestens 30x30 sein. https://developer.affectiva.com/obtaining-optimal-results/

+0

Ja und die meiste Zeit erkennt der SDK keine Gesichter. – Mitiku

+0

Das ist nicht üblich. Können Sie einige Bilder teilen, bei denen Gesichter nicht erkannt werden? –

Verwandte Themen