前提・実現したいこと
[OpenCVとAmazon Rekognitionでリアルタイムに顔の表情から感情を分析する]
https://qiita.com/G-awa/items/477f2324552cb908ecd0
こちらのサイトを参考にOpenCVで顔を検出した場合にAmazon Recognition API を叩いて
表情を認識するものを作っているのですが、返ってくる値の扱い方がよくわかりません…
Amazon Recognitionから返ってくる "Emotions”のHappyの値が80以上なら分岐する処理をしたいのですが、
どのように記述すれば良いかわかりません...
また、rekognition.detect_faces()の処理が入ると途端に重くなるのですが、なにか改善する方法などがあれば教えていただきたいです。
何卒よろしくお願いいたします。
該当のソースコード
python
1facerect = cascade.detectMultiScale( #openCVで顔検出 2 gray, 3 scaleFactor=1.11, 4 minNeighbors=3, 5 minSize=(40,40) 6) 7 8If len(facerect) != 0: #openCVで顔を検出したら 9 10 faces = rekognition.detect_faces(Image={'Bytes':buf.tobytes()}, Attributes=['ALL'])#Recognitionに画像を送る。 返ってきたjsonの情報がfacesに格納される 11 12 for face in faces['FaceDetails']: #jsonの値を整形する...? 13 smile = face['Smile']['Value'] 14 emothions = face['Emotions'] 15 16 if emothions['Happy']['Confidence'] >= 80 :#ここがよくわからない!!! 17 #処理処理
返ってくる値の例
json
1{ 2 "FaceDetails": [ 3 { 4 "BoundingBox": { 5 "Width": 0.20394515991210938, 6 "Height": 0.4204871356487274, 7 "Left": 0.1556132435798645, 8 "Top": 0.11629478633403778 9 }, 10 "AgeRange": { 11 "Low": 17, 12 "High": 29 13 }, 14 "Smile": { 15 "Value": true, 16 "Confidence": 91.7283706665039 17 }, 18 "Eyeglasses": { 19 "Value": true, 20 "Confidence": 99.88982391357422 21 }, 22 "Sunglasses": { 23 "Value": true, 24 "Confidence": 92.23440551757812 25 }, 26 "Gender": { 27 "Value": "Female", 28 "Confidence": 99.97311401367188 29 }, 30 "Beard": { 31 "Value": false, 32 "Confidence": 99.83840942382812 33 }, 34 "Mustache": { 35 "Value": false, 36 "Confidence": 99.95821380615234 37 }, 38 "EyesOpen": { 39 "Value": true, 40 "Confidence": 99.99461364746094 41 }, 42 "MouthOpen": { 43 "Value": true, 44 "Confidence": 99.51335906982422 45 }, 46 "Emotions": [ 47 { 48 "Type": "HAPPY", 49 "Confidence": 99.58031463623047 50 }, 51 { 52 "Type": "CONFUSED", 53 "Confidence": 0.11641046404838562 54 }, 55 { 56 "Type": "FEAR", 57 "Confidence": 0.004482289310544729 58 }, 59 { 60 "Type": "SAD", 61 "Confidence": 0.003681173315271735 62 }, 63 { 64 "Type": "CALM", 65 "Confidence": 0.1430344581604004 66 }, 67 { 68 "Type": "ANGRY", 69 "Confidence": 0.03304917365312576 70 }, 71 { 72 "Type": "SURPRISED", 73 "Confidence": 0.1008024662733078 74 }, 75 { 76 "Type": "DISGUSTED", 77 "Confidence": 0.018225016072392464 78 } 79 ], 80 以下略
補足情報(FW/ツールのバージョンなど)
python 3.7.3
anaconda3 2019.07
openCV
boto3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/11 03:40
2019/11/11 03:51
2019/11/11 06:36 編集
2019/11/11 07:01
2019/11/13 04:02