人脸识别活体检测之张张嘴和眨眨眼——readme

简介: 人脸识别活体检测之张张嘴和眨眨眼——readme
人脸检测返回参数详情
————————————————————————————————————————————————————————————————————————————————————————————————
字段 必选 类型 说明

face_num 是 int 检测到的图片中的人脸数量
face_list 是 array 人脸信息列表,具体包含的参数参考下面的列表。
+face_token 是 string 人脸图片的唯一标识
+location 是 array 人脸在图片中的位置
++left 是 double 人脸区域离左边界的距离
++top 是 double 人脸区域离上边界的距离
++width 是 double 人脸区域的宽度
++height 是 double 人脸区域的高度
++rotation 是 int64 人脸框相对于竖直方向的顺时针旋转角,[-180,180]
+face_probability 是 double 人脸置信度,范围【0~1】,代表这是一张人脸的概率,0最小、1最大。
+angel 是 array 人脸旋转角度参数
++yaw 是 double 三维旋转之左右旋转角[-90(左), 90(右)]
++pitch 是 double 三维旋转之俯仰角度[-90(上), 90(下)]
++roll 是 double 平面内旋转角[-180(逆时针), 180(顺时针)]
+age 否 double 年龄 ,当face_field包含age时返回
+beauty 否 int64 美丑打分,范围0-100,越大表示越美。当face_fields包含beauty时返回
+expression 否 array 表情,当 face_field包含expression时返回
++type 否 string none:不笑;smile:微笑;laugh:大笑
++probability 否 double 表情置信度,范围【0~1】,0最小、1最大。
+face_shape 否 array 脸型,当face_field包含faceshape时返回
++type 否 double square: 正方形 triangle:三角形 oval: 椭圆 heart: 心形 round: 圆形
++probability 否 double 置信度,范围【0~1】,代表这是人脸形状判断正确的概率,0最小、1最大。
+gender 否 array 性别,face_field包含gender时返回
++type 否 string male:男性 female:女性
++probability 否 double 性别置信度,范围【0~1】,0代表概率最小、1代表最大。
+glasses 否 array 是否带眼镜,face_field包含glasses时返回
++type 否 string none:无眼镜,common:普通眼镜,sun:墨镜
++probability 否 double 眼镜置信度,范围【0~1】,0代表概率最小、1代表最大。
+race 否 array 人种 face_field包含race时返回
++type 否 string yellow: 黄种人 white: 白种人 black:黑种人 arabs: 阿拉伯人
++probability 否 double 人种置信度,范围【0~1】,0代表概率最小、1代表最大。
+face_type 否 array 真实人脸/卡通人脸 face_field包含face_type时返回
++type 否 string human: 真实人脸 cartoon: 卡通人脸
++probability 否 double 人脸类型判断正确的置信度,范围【0~1】,0代表概率最小、1代表最大。
+landmark 否 array 4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_field包含landmark时返回
+landmark72 否 array 72个特征点位置 face_field包含landmark时返回
+quality 否 array 人脸质量信息。face_field包含quality时返回
++occlusion 否 array 人脸各部分遮挡的概率,范围[0~1],0表示完整,1表示不完整
+++left_eye 否 double 左眼遮挡比例
+++right_eye 否 double 右眼遮挡比例
+++nose 否 double 鼻子遮挡比例
+++mouth 否 double 嘴巴遮挡比例
+++left_cheek 否 double 左脸颊遮挡比例
+++right_cheek 否 double 右脸颊遮挡比例
+++chin 否 double 下巴遮挡比例
++blur 否 double 人脸模糊程度,范围[0~1],0表示清晰,1表示模糊
++illumination 否 double 取值范围在[0~255], 表示脸部区域的光照程度 越大表示光照越好
++completeness 否 int64 人脸完整度,0或1, 0为人脸溢出图像边界,1为人脸都在图像边界内
+parsing_info 否 string 人脸分层结果 结果数据是使用gzip压缩后再base64编码 使用前需base64解码后再解压缩 原数据格式为string
形如0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,
————————————————————————————————————————————————————————————————————————————————————————————————————————————
返回json数据:
{
“timestamp”: 1528371144,
“result”: {
“face_list”: [{
“expression”: {
“probability”: 0.9999684095,
“type”: “none”
},
“face_probability”: 0.9626089931,
“glasses”: {
“probability”: 0.9998494387,
“type”: “common”
},
“location”: {
“height”: 307,
“rotation”: 2,
“width”: 273,
“left”: 296.1046143,
“top”: 163.5777588
},
“landmark72”: [
{
“y”: 241.360199,
“x”: 292.4519043
},
{
“y”: 284.3699341,
“x”: 295.9116211
},
{
“y”: 328.4156189,
“x”: 304.021759
},
{
“y”: 371.3819275,
“x”: 314.0935364
},
{
“y”: 416.5806274,
“x”: 333.3151245
},
{
“y”: 459.6279297,
“x”: 370.47229
},
{
“y”: 476.2438354,
“x”: 412.0462036
},
{
“y”: 469.1072998,
“x”: 457.7119141
},
{
“y”: 435.0166626,
“x”: 501.7189941
},
{
“y”: 390.2756348,
“x”: 532.2461548
},
{
“y”: 345.0927124,
“x”: 548.138916
},
{
“y”: 299.1921692,
“x”: 559.2930298
},
{
“y”: 254.285141,
“x”: 565.3004761
},
{
“y”: 230.1785583,
“x”: 329.6694946
},
{
“y”: 222.2650757,
“x”: 343.285614
},
{
“y”: 220.7796631,
“x”: 356.7460938
},
{
“y”: 223.9135742,
“x”: 371.3406677
},
{
“y”: 233.6182861,
“x”: 385.2095947
},
{
“y”: 235.2540588,
“x”: 370.6172485
},
{
“y”: 236.2314148,
“x”: 356.4389343
},
{
“y”: 234.2461243,
“x”: 341.9369507
},
{
“y”: 227.4796143,
“x”: 355.9927368
},
{
“y”: 193.4365387,
“x”: 313.8055115
},
{
“y”: 170.465332,
“x”: 331.9764404
},
{
“y”: 166.3371429,
“x”: 356.399353
},
{
“y”: 170.4036255,
“x”: 380.4868774
},
{
“y”: 188.2350311,
“x”: 401.4260559
},
{
“y”: 188.1490021,
“x”: 379.4369202
},
{
“y”: 186.7609863,
“x”: 356.0379028
},
{
“y”: 188.6333923,
“x”: 333.6030884
},
{
“y”: 237.4863892,
“x”: 465.0245972
},
{
“y”: 228.826889,
“x”: 479.3971558
},
{
“y”: 228.0735474,
“x”: 494.7539673
},
{
“y”: 231.1828613,
“x”: 509.2977905
},
{
“y”: 239.077301,
“x”: 523.2540283
},
{
“y”: 242.3865967,
“x”: 508.8378296
},
{
“y”: 242.7297668,
“x”: 493.300415
},
{
“y”: 240.5341339,
“x”: 478.2283325
},
{
“y”: 233.886261,
“x”: 491.254364
},
{
“y”: 192.1312256,
“x”: 450.9655762
},
{
“y”: 176.1939087,
“x”: 474.1013794
},
{
“y”: 174.3426819,
“x”: 500.0958252
},
{
“y”: 180.6152649,
“x”: 525.2724609
},
{
“y”: 205.0406799,
“x”: 544.15802
},
{
“y”: 198.3281097,
“x”: 522.0322266
},
{
“y”: 193.9849396,
“x”: 498.171875
},
{
“y”: 193.6101837,
“x”: 474.463501
},
{
“y”: 235.1314545,
“x”: 405.7365417
},
{
“y”: 263.1231384,
“x”: 398.9992065
},
{
“y”: 291.5641174,
“x”: 392.697998
},
{
“y”: 321.401062,
“x”: 382.6131592
},
{
“y”: 322.6088257,
“x”: 400.7704468
},
{
“y”: 323.8301086,
“x”: 443.7107544
},
{
“y”: 324.1907959,
“x”: 464.1107788
},
{
“y”: 293.3712769,
“x”: 453.4411926
},
{
“y”: 264.8468323,
“x”: 448.3047485
},
{
“y”: 236.6197968,
“x”: 443.6154175
},
{
“y”: 305.3646545,
“x”: 421.223877
},
{
“y”: 383.9639282,
“x”: 375.137085
},
{
“y”: 363.3876343,
“x”: 393.6142578
},
{
“y”: 360.5367126,
“x”: 422.6240845
},
{
“y”: 366.1363525,
“x”: 451.1436768
},
{
“y”: 389.2103271,
“x”: 469.8604736
},
{
“y”: 407.2568359,
“x”: 450.6833191
},
{
“y”: 413.2620239,
“x”: 420.4364014
},
{
“y”: 403.9484863,
“x”: 390.8678589
},
{
“y”: 377.3647461,
“x”: 396.2229004
},
{
“y”: 376.8469238,
“x”: 421.9415588
},
{
“y”: 379.1690674,
“x”: 447.9805908
},
{
“y”: 390.7108154,
“x”: 446.4016724
},
{
“y”: 391.1112061,
“x”: 421.5936279
},
{
“y”: 388.0070801,
“x”: 396.4388733
}
],
“face_token”: “05f2d8abe9fb3ff0a7b2e590c3af1b94”,
“face_shape”: {
“probability”: 0.5348426104,
“type”: “oval”
},
“race”: {
“probability”: 0.9990831614,
“type”: “yellow”
},
“angle”: {
“yaw”: 0.9113687873,
“roll”: 2.805583239,
“pitch”: -3.07931757
},
“landmark”: [
{
“y”: 227.4796143,
“x”: 355.9927368
},
{
“y”: 233.886261,
“x”: 491.254364
},
{
“y”: 305.3646545,
“x”: 421.223877
},
{
“y”: 385.065155,
“x”: 421.7819214
}
],
“parsing_info”: “eJzt3NFuG8eaRtEXmotMzvu/24wg8Jim2BKbYnN3VS2sCydAANOo/9sgYif//M8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD+ff/1Z8BoPDvjfrzALyL/gFzebxp+gfM5bZqz6p/HQB7vap/CgmcySMN0j9gRu9rm/4B51IXT/+A491vTF08VQSOV1dM/4BKXTH9Ayp1xfQPeL+6X5oIVOpW6R9QqVulf8C71Y3SP6BSN0oVgUpdI/0DKnWN9A94n7o/Z1C/AdCo23Mu9WsA71QX51zq1wDeoS7NOdWvArxDXZozq98GOFbdmDOr3wY4Rt2WEdRvBByjbssI6jcCjlG3ZTz1iwGvUtdkPPWLAc+r+zG6+v2A59X9GF39fsDz6n7Mon5HYI+6GHOpXxN4XN2L2dTvCTyu7sWc6lcF7vt7oXUp5la/NfC3ugkrqd8a+FvdhJXUbw38rW7CeuoXB5SvUr87oH+V+t0B/avU7w4rq/fPp/oOYEX17vlU3wGsqN49n+o7gBXVu+dDfQWwpnr5XKuvAdZSL55r9TXAWurFc62+BlhDvXR+Vt8IzKreNj+rbwRmVW+bn9U3ArOqt83P6huB2dSbZq/6YmAe9ZrZq74YmEe9ZvaqLwZmUO+Y59R3AzOod8xz6ruBGdQ75jn13cAM6h3znPpuYGT1fnmN+o5gRPVueY36jmBE9W55jfqOYET1bnmN+o5gRPVueaX6mmAs9WJ5pfqaYCz1Ynml+ppgDPVSOUJ9VTCGeqkj+N9N9SfbUl8VjOH929yuyU+qmpzxM32vvio4u2qbR/bvmEbpH8ym2ub7+/fbn3G8/n2qLwzO68jlvbpDj5bmiJ/3qM+qf9AZrX+P1Kbunv7BCI5dXt2fWl0+/YPvKN2R6vLpH3xH/xr6B6XXbqzuyXj0DzqK13pf/1QQbulf6939U0D4Q//ORP/gnZ7vnv69nv7BOz3fP15P/+Cd9O9M9A/e4bcrqkuxAv2DY+je+ekfHEP/zk//4Bj6d37qB8dQvlHoH7ya/o3iiG+BOsja9G8U+gev8vxi6g6sTv/gt3RvVPoHv6V/o9I/+C39G5X+wW/p39j0D56nf2PTP3ie/o1N/2C/55dSL55r+gf76d6M9A8eoX8z8i0QHqF/M9I/eITyzUj/4BH6NzP9g+/o38z0D+7bv4p6zezzbP30j/mp3yr0D27p3yp8C4Rb+rcK/YO/Kd869A/+pn+r0T+40L/V6B9c6N9q9A8u9G81+gcX+rca/QP/3ceq9A/29K9eLK+kf6B/q9M/VqZ/a/M9kJXp39r0j5Xp39r0j5Xp39r0j3Xtuft6qRxB/ViX/q1O/1iX/q1O/1iX/q1tb/30j5no39r0j5Xp3tr0j5XpHx/0jxXpHx/0jxXpHx/0jxXpHx/0jxXpHx8e758OMg/944P+sSL944P+sSL944P+sSL944P+sZI9l15vk+PpHyvRP66pHyvRP67pHyvRP67pHyvRP/7YWz/9Y2z6xx/6x1r0jz/0j7WoH3/oH2vRP/7QP9aif3ylf6xB//hK/1iD8vGV/rEG/eMr/WMN+sdX+sca9I+v9I816B9f6R9r0D++0j/WoH98pX+sQff4Sv9Yg/5x6/H66R9j0z9u6R+r0D9u6R+r0D9u6R+r0D9u6R+r0D9u6R+r0D1u6R9r8L2Pr/SPNegfX+kfa9A/vtI/1qB/fKV+rEH/2KZ/zE3/2KZ8zE3/2KZ/zE3/2KZ/zE3/2KZ/zE3/2OJ3Ppid/rFF/5id/rFF/5id/rFF/5id/rFF/5id/rFF/5id/rFF/5jdbff0jwv1Y3a+97FF/5id/rFF/5id/rFF/5id/rFF/5id/rFF/5id/vET/WNW+sdP9I9Z6R8/0T9mpX98z7//Y176x/f0j9npH1v0j9npH1v0j9npH1v0j9npH1v0j9npH1v0j9mpH1v0j9npH1/dL5/+MZt6aZyR/rGGemmckf6xhnppnJH+MauP+/777+Bv+ses6m1xdt/VT/8YW70u3u0/37j3z+sf86rXyLvpH1zUa+S9vquf/rGWeo28m/7BRb3G0X3XjXP7voPX9I9Z1Sscnf7VFwzPq1c4utX7V98v/Ea9wtHpH4yrXuHo9A/GVa9wdPoH46pXODr9g3HVK+T89I9Z1dvi/L7/8y86yLjqbXF++ses6m1xfvrHrOptMQr9Yz71qhiF/jGfelWMQv+YT70qRqF/zKdeFaPQP2ZVb4vz0z9mVW+L81M/ZlVvi/O7tO76r/WPGdTb4vyu+3ervl/4jXpbnJ/+Mat6W+P5+/8QVX+ad9A/ZlVvazzr9e8R9R3DM+rdjEf/7qnvGJ5R72Y8+ndPfcfwjHo349G/e+o7hmfUuxmP/t1T3zE8o97NePTvnvqO4Rn1bsajf/fUdwzPqHczHv27p75jeEa9m/Ho3z31HcMz6t2MR//uqe8YnlHvZjz6d099x/CMejfj0b9t9TXDPvVixqN/2+prhn3qxYxH/7bV1wz71IsZz3/uqD/TWdTXDPvUixmP/m2rrxn2qRczHv3bVl8z7FMvZlT6d099zbBPvZhR6d899TXDY+qljE7/7qmvGh5TL2V0+ndPfdXwmHopo9O/e+qrhsfUSxmd/m2rbxt+Um9kdPq3rb5t+Em9kdHp37b6tuEn9UZGp3/b6tuGn9QbGZ3+batvG35Sb2R0+retvm34Sb2ROejfPfVtw5Z6G3PRv3vqG4ct9Tbe4X1N0r976huHLfU23kH/WvWNw5Z6G+/w/v753ZBr9Y3Dlnob76B/rfrGYUu9jXfQv1Z947Cl3sY7vL9CKnitvnHYUm/jHfSvVd84bKm3MSf9u1bfOGyptzEn/btW3zhsqbcxM78b8qm+cdhSb2Nm+vepvnHYUm9jZvr3qb5x2FJvYxX6B+dTb2Mdq/avvnDYVq9jHfoHZ1OvYx1r1k//OK96G8yvvnHYUm+D+dU3DlvqbTC/+sZhS70N5lffOGypt8HM6uuG79ULYWb1dcP36oUws/q64Xv1QphZfd3wvXohzKy+bvhevRBmVl83fK9eCPOqbxt+Um+EedW3DY+qt8J86puGR9VbYT71TcOj6q0wn/qm4VH1VphJfc2wR70X5lLfM+xR74W51PcMe9R7YS71PcMe9V6YS33PsEe9F+ZS3zPsUe+FudT3DM+od8Mc6juGZ9S7YQb1FcNz6uUwg/qK4Tn1chhbfb/we/WKGFV9ufB79YoYVX258Hv1ihhVfbnwe/WKGFV9ufBq9aYYR32r8Gr1pjr/7lB/1nOobxVerd5UZ0//1q5gfaNwnHpdFf17VH2hcLR6Y0faXzr1u1bfJhyt3tiRXtO/dTtY3yYcrd7YkfTvOfVNwnvVi3ut13ZP/2Bu9eJeS/9+p75GeK96ca+lf8+q7xAK9e72+65J+ves+g6hUO9uv2Map3+wnnp3++neEeo7hEK9u/3075Xq+4NevcI99O+V6suDXr3CPfTvlerLg169wj0U7xXqi4PzqNe4h/69Qn1xcB71Gp+3p1/690d9cXAe9Rqft2q/fqu+ODiPeo3P07+96luDs6k3+Rr694j61uBs6k3yPvWtwdnUm+R49Y3BWdXb5Hj1jcHZ1RvlOPVtwdnVG+U49W3B2dUb5Tj1bcG51QvlSPV1wbnVC+VI9XXBudUL5Uj1dcG51QvlSPV1wbnVC+VI9XXBudUL5Qj//PdHYFu9VI5QXxWMoV4qR6ivCsZQL5Uj1FcFY6iXyhHqq4Ix1EvlCPVVwRjqpXKE+qpgLPVieaX6mmAs9WJ5pfqaYCz1Ynml+ppgLPVieaX6mmAk9V55rfqeYCT1Xnmt+p5gJPVeea36nmBE9W55jfqOYET1bvmd+n5gZPV++Z36fmBk9X75nfp+YGT1fvmd+n5gZPV++Z36fmBk9X75nfp+YHz1inlWfTkwvnrFPKu+HBhfvWKeVV8OjK9eMc+qLwfGV6+YveqLgXnUa2av+mJgHvWa2au+GJhPvWoeVV8KzKdeNY+qLwVmU2+ax9W3ArOpN83j6luBWdXbZlt9GzC7euNsq28DZldvnG31bcDs6o2zrb4NmF29cbbVtwGzqzfOtvo2YHb1xtlW3wasoV461+prgLXUi+dafQ2wlnrxXKuvAdZSL55r9TXAWurF86m+A1hRvXs+1XcAK6p3z6f6DmBF9e75VN8BrKjePZ/qO4AV1bvnU30HsKJ696v7578/Ao26AuuqXx6oK7Cu+uWBugLrql8eqCuwnvrFgYu6BuupXxy4qGuwnvrFgYu6BuupXxy4qGuwnvrFgYu6BuupXxy4qGuwnvrFgYu6Biup3xr4W92EddQvDdyqq7CO+qWBW3UV1lG/NHCrrsI66pcGbtVVWEf90sCtugrrqF8auFVXYR31SwO36iqso35p4FZdhXXULw3cqquwjvqlgVt1FdZRvzRwq67COuqXBm7VVVhH/dLArboK66lfHLioa7Ce+sWBi7oG66lfHLioa7Ca+r2Bv9VNWEn91sCtugrrqF8auFVXYR31SwO36iqsp35x4KKuwXrqFwcu6hqsp35x4KKuwXrqFwcu6hqsp35x4KKuwXrqFwcu6hqsp35x4KKuwXrqFwcu6hqsqn53QP8q9bsD+lep3x3Qv0r97oD+Vep3B+oKrKt+eaCuwLrqlwcu6hqsp35x4KKuwXrqFwcu6hqsp35x4KKuwarqdwf0r1K/O6B/lfrdAf2r1O8OK7ussO7Aqur3h5XV+19d/f6wsnr/q6vfH1ZW73919fvDiurd86m+A1hRvXs+1XcAK6p3z6f6DmBl9f75VN8BrKjePZ/qO4AV1bvnQ30FsKZ6+XyorwDWVC+fD/UVwJrq5fOhvgJYU718PtRXAGuql8+H+gpgLfXiuVZfA6ylXjzX6muAtdSL51p9DbCWevGrq98fVnbEbuumvLI45/o0wCudabdn7N/Rv5b3fJrT+D/3UlbK”,
“quality”: {
“completeness”: 1,
“occlusion”: {
“left_eye”: 0,
“chin_contour”: 0.2168905884,
“mouth”: 0,
“right_cheek”: 0.02743142098,
“left_cheek”: 0.01728247851,
“nose”: 0.08578856289,
“right_eye”: 0
},
“blur”: 8.371096101E-7,
“illumination”: 54
},
“face_type”: {
“probability”: 0.9988574386,
“type”: “human”
}
}],
“face_num”: 1
},
“cached”: 0,
“error_code”: 0,
“log_id”: 2850674365,
“error_msg”: “SUCCESS”
}
————————————————————————————————————————————————————————————————————————————————————————————————————
思路分析:
1.前台获取图像base64数据,每隔2秒提交一次,进行判断关键点的信息
2.每次的关键点进行比对
3.关键点分析
————————————————————————————————————————————————————————————————————————————————————————————————————
眨眨眼的关键点分析:
左眼中心:21
右眼中心:33
左眼上面:14-15
右眼上面:32-33
左眼下面:19-20
右眼下面:36-37
判断是否已经眨眼,需要判断关键点当前与以前的值
差:
左边:(14-19)(15-20)
右边:(32-36)(33-37)
两次的值进行相减去,看看值是否大于某个值,如果大于的话证明此人眨眼了,否则没有

嘴巴分析:嘴上边:60/67
嘴下边:70/64
差:(60-70)(67-64)
两次的值进行相减去,看看值是否大于某个值,如果大于的话证明此人张嘴了,否则没有
————————————————————————————————————————————————————6.20——————————————————————————————————
判断上次的和本次的执行方法,通过count来计数,执行完方法之后每次count++,第二次来的时候对比count值是否发生变化,如果发生变化则进行比较,否则继续执行?
——————————————————–6.22—————————————-
眼镜分析:
闭着眼的左眼上边:235.673584
闭着眼的左眼中间:239.9625549
闭着眼的左眼下边:244.9061737
闭着眼的左眼上边与中间的值:-4.288970899999981
闭着眼的左眼下边与中间的值:4.943618800000024
闭着眼的右眼上边:243.1592712
闭着眼的右眼中间:247.2118683
闭着眼的右眼下边:252.1771851
闭着眼的右眼上边与中间的值:-4.052597099999986
闭着眼的右眼下边与中间的值:4.965316800000011
闭着眼的左眼上边:248.9268799
闭着眼的左眼中间:250.9309082
闭着眼的左眼下边:257.3150635
闭着眼的左眼上边与中间的值:2.004028300000016
闭着眼的左眼下边与中间的值:6.384155300000003
闭着眼的右眼上边:252.9154053
闭着眼的右眼中间:255.659668
闭着眼的右眼下边:261.875
闭着眼的右眼上边与中间的值:2.7442627000000073
闭着眼的右眼下边与中间的值:6.215331999999989
闭着眼的左眼上边:250.3865662
闭着眼的左眼中间:253.4219513
闭着眼的左眼下边:259.7618408
闭着眼的左眼上边与中间的值:3.035385099999985
闭着眼的左眼下边与中间的值:6.339889500000027
闭着眼的右眼上边:251.3974152
闭着眼的右眼中间:255.2081299
闭着眼的右眼下边:261.6601562
闭着眼的右眼上边与中间的值:3.810714699999977
闭着眼的右眼下边与中间的值:6.452026300000028
闭着眼的左眼上边:251.8607025
闭着眼的左眼中间:254.4894714
闭着眼的左眼下边:260.9414062
闭着眼的左眼上边与中间的值:2.6287689000000114
闭着眼的左眼下边与中间的值:6.451934800000004
闭着眼的右眼上边:254.2806396
闭着眼的右眼中间:257.3803711
闭着眼的右眼下边:263.6567383
闭着眼的右眼上边与中间的值:3.09973149999999
闭着眼的右眼下边与中间的值:6.2763671999999815
闭着眼的左眼上边:253.8615875
闭着眼的左眼中间:259.0527344
闭着眼的左眼下边:267.1407471
闭着眼的左眼上边与中间的值:5.191146900000007
闭着眼的左眼下边与中间的值:8.088012699999979
闭着眼的右眼上边:255.8417053
闭着眼的右眼中间:262.2324219
闭着眼的右眼下边:270.5016785
闭着眼的右眼上边与中间的值:6.390716600000019
闭着眼的右眼下边与中间的值:8.269256600000006
闭着眼的左眼上边:245.0301208
闭着眼的左眼中间:249.7537384
闭着眼的左眼下边:258.8632812
闭着眼的左眼上边与中间的值:4.723617600000011
闭着眼的左眼下边与中间的值:9.109542800000014
闭着眼的右眼上边:246.4424133
闭着眼的右眼中间:252.6153107
闭着眼的右眼下边:261.8199768
闭着眼的右眼上边与中间的值:6.172897400000011
闭着眼的右眼下边与中间的值:9.204666099999997
闭着眼的左眼上边:248.2448273
闭着眼的左眼中间:256.3608093
闭着眼的左眼下边:267.0386963
闭着眼的左眼上边与中间的值:8.115982000000031
闭着眼的左眼下边与中间的值:10.677886999999998
闭着眼的右眼上边:249.8387146
闭着眼的右眼中间:259.5440979
闭着眼的右眼下边:271.0603027
闭着眼的右眼上边与中间的值:9.705383299999994
闭着眼的右眼下边与中间的值:11.516204800000025
闭着眼的左眼上边:246.5606842
闭着眼的左眼中间:255.3595581
闭着眼的左眼下边:267.4218445
闭着眼的左眼上边与中间的值:8.79887389999999
闭着眼的左眼下边与中间的值:12.062286400000033
闭着眼的右眼上边:247.7977905
闭着眼的右眼中间:258.5551453
闭着眼的右眼下边:270.7169189
闭着眼的右眼上边与中间的值:10.757354800000002
闭着眼的右眼下边与中间的值:12.161773600000004

————————————————————————————————————————————————————————————————————————————————
闭着眼的左眼上边:224.0862427
闭着眼的左眼中间:229.5478973
闭着眼的左眼下边:238.1327515
闭着眼的左眼上边与中间的值:5.461654599999974
闭着眼的左眼下边与中间的值:8.584854200000024
闭着眼的右眼上边:228.3572998
闭着眼的右眼中间:234.6605072
闭着眼的右眼下边:243.0907745
闭着眼的右眼上边与中间的值:6.303207400000019
闭着眼的右眼下边与中间的值:8.430267299999997

闭着眼的左眼上边:230.9443359
闭着眼的左眼中间:234.3552856
闭着眼的左眼下边:242.05513
闭着眼的左眼上边与中间的值:3.4109497000000033
闭着眼的左眼下边与中间的值:7.699844399999989
闭着眼的右眼上边:223.4838867
闭着眼的右眼中间:228.5411987
闭着眼的右眼下边:235.5321198
闭着眼的右眼上边与中间的值:5.057311999999996
闭着眼的右眼下边与中间的值:6.990921100000008

闭着眼的左眼上边:226.1715698
闭着眼的左眼中间:231.822876
闭着眼的左眼下边:240.557785
闭着眼的左眼上边与中间的值:5.651306200000022
闭着眼的左眼下边与中间的值:8.734908999999988
闭着眼的右眼上边:224.5886536
闭着眼的右眼中间:231.2098999
闭着眼的右眼下边:239.3190002
闭着眼的右眼上边与中间的值:6.621246300000024
闭着眼的右眼下边与中间的值:8.109100299999994

闭着眼的左眼上边:250.549469
闭着眼的左眼中间:252.7034607
闭着眼的左眼下边:258.3751831
闭着眼的左眼上边与中间的值:2.153991700000006
闭着眼的左眼下边与中间的值:5.6717224000000215
闭着眼的右眼上边:248.886261
闭着眼的右眼中间:251.9490204
闭着眼的右眼下边:257.2275391
闭着眼的右眼上边与中间的值:3.0627594000000045
闭着眼的右眼下边与中间的值:5.2785187000000064

闭着眼的左眼上边:236.7052612
闭着眼的左眼中间:239.7859192
闭着眼的左眼下边:245.471283
闭着眼的左眼上边与中间的值:3.0806579999999997
闭着眼的左眼下边与中间的值:5.685363800000005
闭着眼的右眼上边:234.837738
闭着眼的右眼中间:238.6846619
闭着眼的右眼下边:244.2976685
闭着眼的右眼上边与中间的值:3.8469239000000073
闭着眼的右眼下边与中间的值:5.613006599999977

闭着眼的左眼上边:245.0596619
闭着眼的左眼中间:246.9369202
闭着眼的左眼下边:252.2763367
闭着眼的左眼上边与中间的值:1.877258299999994
闭着眼的左眼下边与中间的值:5.339416499999999
闭着眼的右眼上边:241.4249573
闭着眼的右眼中间:244.3227234
闭着眼的右眼下边:249.2035217
闭着眼的右眼上边与中间的值:2.8977661000000126
闭着眼的右眼下边与中间的值:4.880798300000009

闭着眼的左眼上边与中间的值:2.843383799999998
闭着眼的左眼下边与中间的值:6.379211400000003
闭着眼的右眼上边与中间的值:3.6415863
闭着眼的右眼下边与中间的值:5.569457999999997
闭着眼的左眼上边与中间的值:7.1395263
闭着眼的左眼下边与中间的值:8.606811599999986
闭着眼的右眼上边与中间的值:7.101028499999984
闭着眼的右眼下边与中间的值:7.526168800000022
闭着眼的左眼上边与中间的值:4.141037000000011
闭着眼的左眼下边与中间的值:7.363510200000007
闭着眼的右眼上边与中间的值:4.587234499999994
闭着眼的右眼下边与中间的值:6.540771500000034
闭着眼的左眼上边与中间的值:2.4197997999999643
闭着眼的左眼下边与中间的值:5.460693300000003
闭着眼的右眼上边与中间的值:2.9811705999999845
闭着眼的右眼下边与中间的值:4.65585329999999

闭着眼:2 5,2 4
睁着眼:5 9,7 8

取值比较:
左眼上边与中间的值 右眼上边与中间的值都>5

左眼下边与中间的值 右眼下边与中间的值都>7
嘴巴分析:

—-闭着嘴巴:
第一次的上嘴唇:361.1332397
第一次的嘴唇中心:378.8190308
第一次的下嘴唇:382.1697388

上中:17
下中:4

第一次的上嘴唇:390.951355
第一次的嘴唇中心:409.0862122
第一次的下嘴唇:414.6711731

上中:19
下中:5

第一次的上嘴唇:402.4402466
第一次的嘴唇中心:417.4428406
第一次的下嘴唇:419.6887207

上中:15
下中:2

第一次的上嘴唇:403.1029358
第一次的嘴唇中心:419.4420166
第一次的下嘴唇:424.0343018

上中:16
下中:5

第一次的上嘴唇:445.7279663
第一次的嘴唇中心:455.8665161
第一次的下嘴唇:457.3482971

上中:10
下中:2

第二次的上嘴唇:454.5872192
第二次的嘴唇中心:462.1132812
第二次的下嘴唇:463.1278381

上中:8
下中:1

第二次的上嘴唇:454.7166748
第二次的嘴唇中心:461.9048462
第二次的下嘴唇:461.8540649
上中:7
下中:0

第二次的上嘴唇:461.6982422
第二次的嘴唇中心:470.1062622
第二次的下嘴唇:471.3254395

上中:9
下中:1

第二次的上嘴唇:455.5452881
第二次的嘴唇中心:463.6194763
第二次的下嘴唇:465.0067139

上中:8
下中:2

第二次的上嘴唇:449.9391479
第二次的嘴唇中心:458.7083435
第二次的下嘴唇:458.4034424

上中:9
下中:0

第二次的上嘴唇:444.0313721
第二次的嘴唇中心:455.9846802
第二次的下嘴唇:457.5951538

上中:11
下中:2

第二次的上嘴唇:448.1293945
第二次的嘴唇中心:458.4747009
第二次的下嘴唇:458.9746704

上中:10
下中:0

张开嘴巴:
第一次的上嘴唇:320.0419922
第一次的嘴唇中心:368.8484802
第一次的下嘴唇:404.5977173

上中:48
下中:36

第一次的上嘴唇:319.4178467
第一次的嘴唇中心:370.0383911
第一次的下嘴唇:406.3190918
上中:51
下中:36

第二次的上嘴唇:322.6508179
第二次的嘴唇中心:370.2564087
第二次的下嘴唇:403.9906616
上中:48
下中:33

第二次的上嘴唇:321.2287598
第二次的嘴唇中心:369.5926208
第二次的下嘴唇:404.2380676
上中:48
下中:35

第二次的上嘴唇:322.1592407
第二次的嘴唇中心:370.3101501
第二次的下嘴唇:404.1273499
上中:48
下中:34

第二次的上嘴唇:322.6243896
第二次的嘴唇中心:372.0572815
第二次的下嘴唇:407.5487671

第二次的上嘴唇:330.9266968
第二次的嘴唇中心:348.0892944
第二次的下嘴唇:348.8345947
第二次的上嘴唇:328.5309448
第二次的嘴唇中心:346.5620728
第二次的下嘴唇:347.8430786
第二次的上嘴唇:329.5420532
第二次的嘴唇中心:348.2042847
第二次的下嘴唇:349.2839661
第二次的上嘴唇:325.2203674
第二次的嘴唇中心:371.9185181
第二次的下嘴唇:404.8588257
第二次的上嘴唇:328.3738098
第二次的嘴唇中心:347.7101135
第二次的下嘴唇:350.8613892
第二次的上嘴唇:322.8365784
第二次的嘴唇中心:367.2938232
第二次的下嘴唇:398.3100586

private void face_eye(String img, HttpServletResponse response,
HttpServletRequest request) {
    /*if (dataMap == null) {
        // 第一次请求
        landmark = face_jiance(img);
        dataMap.put(1, landmark);
    } else {*/
        // 不是第一次请求
        Landmark landmark_next = face_jiance(img);
        System.out.println("闭着眼的左眼上边与中间的值:"+((landmark_next.getLeft_eye_zhongxin().get(0))-(landmark_next.getLeft_eye_top().get(0))));
        System.out.println("闭着眼的左眼下边与中间的值:"+((landmark_next.getLeft_eye_bottom().get(0))-(landmark_next.getLeft_eye_zhongxin().get(0))));

        System.out.println("闭着眼的右眼上边与中间的值:"+((landmark_next.getRight_eye_zhongxin().get(0))-(landmark_next.getRight_eye_top().get(0))));
        System.out.println("闭着眼的右眼下边与中间的值:"+((landmark_next.getRight_eye_bottom().get(0))-(landmark_next.getRight_eye_zhongxin().get(0))));


        // 和前一次的数据进行比较
        /*Landmark landmark_pre = (Landmark) dataMap.get(1);
        //左眼和右眼的上边相对于中心进行对比
        if ((landmark_next.getLeft_eye_top().get(0) - landmark_next
                .getLeft_eye_zhongxin().get(0)) > (landmark_pre
                .getLeft_eye_top().get(0) - landmark_next
                .getLeft_eye_zhongxin().get(0))
                || (landmark_next.getRight_eye_top().get(0) - landmark_next
                        .getRight_eye_zhongxin().get(0)) > (landmark_pre
                        .getRight_eye_top().get(0) - landmark_next
                        .getRight_eye_zhongxin().get(0))) {
            //左眼和右眼的下边相对于中心进行对比
            if ((landmark_next.getLeft_eye_bottom().get(0) - landmark_next
                    .getLeft_eye_zhongxin().get(0)) > (landmark_pre
                    .getLeft_eye_bottom().get(0) - landmark_next
                    .getLeft_eye_zhongxin().get(0))
                    || (landmark_next.getRight_eye_bottom().get(0) - landmark_next
                            .getRight_eye_zhongxin().get(0)) > (landmark_pre
                            .getRight_eye_bottom().get(0) - landmark_next
                            .getRight_eye_zhongxin().get(0))) {
            }
        }
        dataMap.put(1, landmark_next); // 放进去 方便下次进行比较

    }*/

}
目录
相关文章
|
2月前
|
JavaScript 计算机视觉
纯js实现人脸识别眨眨眼张张嘴案例——ccv.js
纯js实现人脸识别眨眨眼张张嘴案例——ccv.js
47 0
|
2月前
|
JavaScript 前端开发 Java
纯前端JS实现人脸识别眨眨眼张张嘴案例
纯前端JS实现人脸识别眨眨眼张张嘴案例
53 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
16 0
|
2月前
|
JavaScript 计算机视觉
纯js实现人脸识别眨眨眼张张嘴案例——alive_face.js
纯js实现人脸识别眨眨眼张张嘴案例——alive_face.js
23 0
|
2月前
|
JSON 安全 Java
人脸识别活体检测之张张嘴和眨眨眼
人脸识别活体检测之张张嘴和眨眨眼
22 0
|
2月前
|
JavaScript 计算机视觉
纯js实现人脸识别眨眨眼张张嘴案例——index.html
纯js实现人脸识别眨眨眼张张嘴案例——index.html
19 0
|
2月前
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——login.jsp
人脸识别活体检测之张张嘴和眨眨眼——login.jsp
16 0
|
3月前
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
39 0
|
22天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
45 6
|
3月前
|
算法 安全 搜索推荐
深入浅出:使用Python实现人脸识别系统
在当今数字化时代,人脸识别技术已成为安全验证、个性化服务等领域的关键技术。本文将引导读者从零开始,逐步探索如何利用Python和开源库OpenCV来构建一个基础的人脸识别系统。本文不仅会详细介绍环境搭建、关键算法理解,还会提供完整的代码示例,帮助读者理解人脸识别的工作原理,并在实际项目中快速应用。通过本文,您将能够掌握人脸识别的基本概念、关键技术和实现方法,为进一步深入学习和研究打下坚实的基础。