カノジョできないエンジニア Advent Calendar 2017 【初夜】
今年もやってきました!!
彼女できないエンジニアの諸君!!
エンジニアの仕事とは何か!!
今一度問いたい。
君たちの仕事はなんなのかと!!
- プログラムを書くこと?
- 仕様の通りにシステムを作る事?
ばかやろう!お客さんや社会、世の中の課題を解決することじゃねぇか!!
「彼女できない」という課題を解決せずして何を解決できるというんだ!!!
行くぞまずは分析からだ!!
## 男と女の好み分析
以下は僕のbigdataをグラフ化したもの
男はどんな女性が好きなのか
そう!!男なんて顔が可愛けりゃ正直誰でもいいと思ってるだろ!!
(俺はそうは思わない)
グラフにも現れてるけど、ブスを好んで好きになる人なんていない!!
(俺はそうは思わないけどね)
性格とか、フィーリングとかから徐々に好きになることはあっても、ファーストイメージが占める割合が高い!
(そんな単純じゃないと思う俺は)
一方女子はどうだろうか
お分り頂けただろうか。
男はかわいい女の子が好きというシンプルなものだったが(僕は例外)、
女子の好みは細分化されている!!!!
決してイケメンがモテるワケではない!!!!
つまり、自分がどのタイプに属するか理解すること。
これがお前の武器になるんだ!!!
ではどうするか
自分の顔がこれらのどの部類に入るか分析しよう。
まず膨大な教師データを集めて。。
特徴点をちゅうsh。。。。
クリスマスまで時間がないのでRekognitionを使おう
S3バケットに自分の画像つっこんで、Lambdaでこんな感じに買いて
print('Loading function')
import boto3
def lambda_handler(event, context):
reko_client = boto3.client('rekognition','us-east-1')
r = reko_client.detect_faces(
Image={
'S3Object': {
'Bucket': 'onda-test-1234',
'Name': '俺の顔.jpg'
}
},
Attributes=['ALL']
)
print(r)
実行すればでデータが取れる!
{
"FaceDetails": [{
"BoundingBox": {
"Width": 0.10499999672174454,
"Height": 0.18666666746139526,
"Left": 0.4312500059604645,
"Top": 0.057777777314186096
},
"AgeRange": {
"Low": 23,
"High": 38
},
"Smile": {
"Value": True,
"Confidence": 57.108856201171875
},
"Eyeglasses": {
"Value": False,
"Confidence": 99.96912384033203
},
"Sunglasses": {
"Value": False,
"Confidence": 99.87023162841797
},
"Gender": {
"Value": "Female",
"Confidence": 100.0
},
"Beard": {
"Value": False,
"Confidence": 99.96233367919922
},
"Mustache": {
"Value": False,
"Confidence": 99.77082824707031
},
"EyesOpen": {
"Value": True,
"Confidence": 99.99246215820312
},
"MouthOpen": {
"Value": False,
"Confidence": 99.9146728515625
},
"Emotions": [{
"Type": "CALM",
"Confidence": 82.83368682861328
}, {
"Type": "HAPPY",
"Confidence": 15.994048118591309
}, {
"Type": "SAD",
"Confidence": 3.979891538619995
}],
"Landmarks": [{
"Type": "eyeLeft",
"X": 0.4645110070705414,
"Y": 0.1398819535970688
}, {
"Type": "eyeRight",
"X": 0.5005732178688049,
"Y": 0.13559408485889435
}, {
"Type": "nose",
"X": 0.48266592621803284,
"Y": 0.17239990830421448
}, {
"Type": "mouthLeft",
"X": 0.47122448682785034,
"Y": 0.20362448692321777
}, {
"Type": "mouthRight",
"X": 0.4979352056980133,
"Y": 0.1986924409866333
}, {
"Type": "leftPupil",
"X": 0.46497994661331177,
"Y": 0.13870377838611603
}, {
"Type": "rightPupil",
"X": 0.5003837943077087,
"Y": 0.13453131914138794
}, {
"Type": "leftEyeBrowLeft",
"X": 0.45106732845306396,
"Y": 0.12510329484939575
}, {
"Type": "leftEyeBrowUp",
"X": 0.46162354946136475,
"Y": 0.1195397600531578
}, {
"Type": "leftEyeBrowRight",
"X": 0.4728100895881653,
"Y": 0.12344556301832199
}, {
"Type": "rightEyeBrowLeft",
"X": 0.4925210475921631,
"Y": 0.1216742992401123
}, {
"Type": "rightEyeBrowUp",
"X": 0.5035019516944885,
"Y": 0.11563356220722198
}, {
"Type": "rightEyeBrowRight",
"X": 0.5140520334243774,
"Y": 0.11972268670797348
}, {
"Type": "leftEyeLeft",
"X": 0.4573439657688141,
"Y": 0.1410721391439438
}, {
"Type": "leftEyeRight",
"X": 0.4719408452510834,
"Y": 0.14020104706287384
}, {
"Type": "leftEyeUp",
"X": 0.46427008509635925,
"Y": 0.1344168335199356
}, {
"Type": "leftEyeDown",
"X": 0.46462056040763855,
"Y": 0.14459241926670074
}, {
"Type": "rightEyeLeft",
"X": 0.4931148886680603,
"Y": 0.13775958120822906
}, {
"Type": "rightEyeRight",
"X": 0.5079139471054077,
"Y": 0.1350509226322174
}, {
"Type": "rightEyeUp",
"X": 0.5002275705337524,
"Y": 0.1299990564584732
}, {
"Type": "rightEyeDown",
"X": 0.5009776949882507,
"Y": 0.140377938747406
}, {
"Type": "noseLeft",
"X": 0.47677117586135864,
"Y": 0.1822502166032791
}, {
"Type": "noseRight",
"X": 0.48997604846954346,
"Y": 0.17978978157043457
}, {
"Type": "mouthUp",
"X": 0.4844018518924713,
"Y": 0.19528257846832275
}, {
"Type": "mouthDown",
"X": 0.48532187938690186,
"Y": 0.21053189039230347
}],
"Pose": {
"Roll": -4.027588367462158,
"Yaw": -3.790987253189087,
"Pitch": -4.375948905944824
},
"Quality": {
"Brightness": 37.62503433227539,
"Sharpness": 99.9980239868164
},
"Confidence": 99.99703979492188
}],
"OrientationCorrection": "ROTATE_0",
"ResponseMetadata": {
"RequestId": "7272b9b3-d692-11e7-a999-51ef28f1d5b1",
"HTTPStatusCode": 200,
"HTTPHeaders": {
"content-type": "application/x-amz-json-1.1",
"date": "Fri, 01 Dec 2017 12:23:34 GMT",
"x-amzn-requestid": "7272b9b3-d692-11e7-a999-51ef28f1d5b1",
"content-length": "2766",
"connection": "keep-alive"
},
"RetryAttempts": 0
}
}
注)なぜかFemale
の値が100
になってるけど、これは僕がエマワトソン
が好きすぎて、俺の顔.jpg
といつわってエマワトソンの画像を使ったからである。
こんな感じで簡単にデータが取れる!!
幸せとか悲しいとか穏やかとかそんな感じだけどなんとかなる!!
気になる女の子のタイプの顔を分析し、自分と比較しよう!!
もし、数値が近ければワンチャンあるぞ!!
女の子の好きなタイプとか調査する術もない場合はもうね。
直接聞こう!!
\def\textlarge#1{%
{\rm\Large #1}
}
\def\textsmall#1{%
{\rm\scriptsize #1}
}
\textlarge{どんなタイプの人が好きですか?}
\textlarge{JSONで教えて??}