欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 基于HTML5 的人臉識別活體認證的實現方法

基于HTML5 的人臉識別活體認證的實現方法

熱門標簽:西寧智能外呼系統加盟 杭州營銷電銷機器人供應商 電視購物電銷外呼系統 百應電銷機器人產業 聯通400電話申請 電話機器人如何 貸款電銷人工和機器人哪個好 飛亞外呼系統 高德地圖標注賓館位置

近幾年,人臉識別技術在身份認證領域的應用已經有了較多應用,例如:支付寶、招行的取款、養老金領取等方面,但在杜絕假冒、認證安全性等方面,目前還是一個比較需要進一步解決的課題,特別是在移動端的活體認證技術方面。

本文介紹了在HTML5 環境下可以采用clmtrackr.js 檢測工具,結合人臉模型,實現人臉的跟蹤檢測。同時采用動作識別實現活體認證。

但本方案只能夠在Firefox 或者Chrome中使用。并且只適合研究學習,實際場景中不太理想,需要進一步優化才能夠應用。

如果有人有相關的技術,可以推薦介紹給我。

JavaScript Code復制內容到剪貼板
  1. <!DOCTYPE html>  
  2. <!--  
  3. Ideally these elements aren't created until it's confirmed that the   
  4. client supports video/camera, but for the sake of illustrating the   
  5. elements involved, they are created with markup (not JavaScript)  
  6. -->  
  7. <html>  
  8. <meta charset="GBK">  
  9. <style>  
  10. #container {  
  11. position : relative;  
  12. }  
  13.  
  14. #canvas {  
  15. position : absolute;  
  16. left : 0;  
  17. top : 0;  
  18. }  
  19. </style>  
  20. <script src="utils.js"></script>  
  21. <script src="clmtrackr.js"></script>  
  22. <script src="./models/model_pca_20_svm.js"></script>  
  23. <script src="numeric.js"></script>  
  24. <script src="ccv.js"></script>  
  25.   
  26. <audio id="media">   
  27. 你的瀏覽器不支持audio標簽。  
  28. </audio>  
  29. <div id="container">  
  30. <video id="video" width="600" height="400" autoplay >   
  31. 您的瀏覽器不支持video標簽  
  32. </video>  
  33. <canvas id="canvas" width="600" height="400"></canvas>  
  34. </div>      
  35.   
  36. <button id="snap">Snap Photo</button>  
  37.   
  38. <button id="start">Start</button>  
  39.   
  40. <button id="showposition">顯示</button>  
  41.   
  42. <button id="hideposition">不顯示</button>  
  43.   
  44. <br/>  
  45.   
  46. <button id="mouse">張嘴驗證</button>   
  47. <button id="head">搖頭驗證</button>   
  48. <button id="eye">眨眼驗證</button>  
  49.   
  50.   
  51. <div id="tip">  
  52. </div>  
  53. <div id="result">  
  54. </div>  
  55. <div id="msg">  
  56. </div>  
  57.   
  58. <div id="positions">  
  59. </div>  
  60.   
  61. <script>  
  62.   
  63. var showpos=false;  
  64. // Put event listeners into place  
  65. //window.addEventListener("DOMContentLoaded", function() {  
  66.   
  67. // Grab elements, create settings, etc.  
  68. var canvas = document.getElementById("canvas"),  
  69. context = canvas.getContext("2d"),  
  70. video = document.getElementById("video"),  
  71. videoObj = { "video"true },  
  72. errBack = function(error) {  
  73. if (error.PERMISSION_DENIED) {  
  74. jAlert('用戶拒絕了瀏覽器請求媒體的權限''提示');  
  75. else if (error.NOT_SUPPORTED_ERROR) {  
  76. jAlert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器''提示');  
  77. else if (error.MANDATORY_UNSATISFIED_ERROR) {  
  78. jAlert('指定的媒體類型未接收到媒體流''提示');  
  79. else {  
  80. jAlert('系統未能獲取到攝像頭,請確保攝像頭已正確安裝?;驀L試刷新頁面,重試''提示');  
  81. }  
  82. };  
  83.   
  84. // Put video listeners into place  
  85. if(navigator.getUserMedia) { // Standard  
  86.   
  87. navigator.getUserMedia(videoObj, function(stream) {  
  88.   
  89. video.src = stream;  
  90. video.play();  
  91.   
  92. }, errBack);  
  93.   
  94. else if(navigator.webkitGetUserMedia) { // WebKit-prefixed  
  95.   
  96. try{  
  97.   
  98. navigator.webkitGetUserMedia(videoObj, function(stream){   
  99. video.src = window.webkitURL.createObjectURL(stream);  
  100. video.play();  
  101. }, errBack);  
  102.   
  103. }catch(error){  
  104. alert(error);  
  105. }  
  106.   
  107. }  
  108. else if(navigator.mozGetUserMedia) { // Firefox-prefixed  
  109. navigator.mozGetUserMedia(videoObj, function(stream){  
  110.   
  111. video.src = window.URL.createObjectURL(stream);  
  112. video.play();  
  113. }, errBack);  
  114. }  
  115.   
  116.   
  117.   
  118. // Trigger photo take  
  119. document.getElementById("snap").addEventListener("click"function() {  
  120. context.drawImage(video, 0, 0, 600, 400);  
  121. });  
  122. document.getElementById("start").addEventListener("click"function() {  
  123. startTrack();  
  124. });  
  125.   
  126.   
  127. document.getElementById("showposition").addEventListener("click"function() {  
  128. showpos=true;  
  129. });  
  130.   
  131. document.getElementById("hideposition").addEventListener("click"function() {  
  132. showpos=false;  
  133. });  
  134.   
  135. document.getElementById("mouse").addEventListener("click"function() {  
  136. alive_mouse();  
  137. });  
  138. document.getElementById("head").addEventListener("click"function() {  
  139. alive_head();  
  140. });  
  141.   
  142. document.getElementById("eye").addEventListener("click"function() {  
  143. alive_eye();  
  144. });  
  145.   
  146.   
  147.   
  148.   
  149. //}, false);  
  150.   
  151.   
  152. </script>  
  153.   
  154. <script>  
  155.   
  156. //////////////////////////////////////////////////////////////////////////////  
  157. //活體  
  158. var last_time=0;//時間因素  
  159. var last_nose_left=0;  
  160. var last_nose_top=0;  
  161.   
  162. //張嘴動作  
  163. var is_mouse_ok=false;   
  164. var is_alive_mouse=false;  
  165. var last_dis_eye_norse=0;  
  166. var last_dis_mouse=0;  
  167. function alive_mouse(){  
  168.   
  169. var media = document.getElementById("media");  
  170. media.src="mp3/alive_mouse.mp3";  
  171. media.play();  
  172.   
  173. document.getElementById("tip").innerHTML="請張合嘴巴";  
  174. document.getElementById('result').innerHTML = "";  
  175.   
  176. is_mouse_ok=false;  
  177. last_dis_mouse=0;  
  178. last_time=0;  
  179. last_dis_eye_norse=100000000;   
  180.   
  181. is_alive_head=false;  
  182. is_alive_mouse=true;  
  183. is_alive_eye=false;  
  184.   
  185. }  
  186. //搖頭動作  
  187. var is_head_ok=false;   
  188. var is_alive_head=false;  
  189. var last_dis_left_right=100000000;   
  190. function alive_head(){  
  191.   
  192. var media = document.getElementById("media");  
  193. media.src="mp3/alive_head.mp3";  
  194. media.play();  
  195.   
  196. document.getElementById("tip").innerHTML="請在水平方向左右搖頭";  
  197. document.getElementById('result').innerHTML = "";  
  198.   
  199. is_head_ok=false;  
  200. last_dis_left_right=100000000;   
  201. last_time=0;   
  202. is_alive_head=true;  
  203. is_alive_mouse=false;  
  204. is_alive_eye=false;  
  205.   
  206. }  
  207.   
  208. //眨眼動作  
  209. var is_alive_eye=false;  
  210. var is_eye_ok = false;  
  211.   
  212. function alive_eye(){  
  213. var media = document.getElementById("media");  
  214. media.src="mp3/alive_eye.mp3";  
  215. media.play();  
  216.   
  217. document.getElementById("tip").innerHTML="請眨眼";  
  218. document.getElementById('result').innerHTML = "";  
  219.   
  220. is_eye_ok=false;  
  221. last_dis_eye_norse=100000000;   
  222.   
  223. last_nose_left=0;  
  224. last_nose_top=0;  
  225.   
  226. last_time=0;   
  227.   
  228. is_alive_head=false;  
  229. is_alive_mouse=false;  
  230. is_alive_eye=true;  
  231. }  
  232.   
  233.   
  234. function startTrack(){  
  235.   
  236. var videoInput = document.getElementById('video');  
  237.   
  238. var ctracker = new clm.tracker();  
  239. ctracker.init(pModel);  
  240. ctracker.start(videoInput);  
  241.   
  242.   
  243. var canvasInput = document.getElementById('canvas');  
  244. var cc = canvasInput.getContext('2d');  
  245. cc.lineWidth=3;  
  246.   
  247. function drawLoop() {  
  248. //requestAnimationFrame(drawLoop);  
  249.   
  250.   
  251. cc.clearRect(0, 0, canvasInput.width, canvasInput.height);  
  252. //ctracker.draw(canvasInput );  
  253. var positions = ctracker.getCurrentPosition();  
  254. if (showpos && positions) {  
  255.   
  256. for (var p = 0;p < positions.length;p++) {  
  257. positionString += "featurepoint "+p+" : ["+positions[p][0].toFixed(2)+","+positions[p][1].toFixed(2) +"]<br/>";  
  258. }  
  259. document.getElementById('positions').innerHTML = positionString;  
  260.   
  261.   
  262. }  
  263. if(positions){  
  264.   
  265. for (var p =0;p < 71;p++) {      
  266. cc.beginPath();  
  267. cc.arc(positions[p][0].toFixed(2), positions[p][1].toFixed(2),2, 0, Math.PI * 2, true);  
  268. cc.closePath();  
  269. cc.fillStyle = '#00FF00';  
  270. cc.fill();  
  271. }  
  272.   
  273.   
  274. //cc.strokeStyle = 'red';  
  275.   
  276. //0-14 輪廓  
  277. //7 下吧,最下  
  278.   
  279. //2 最左邊  
  280. //12 最右邊  
  281.   
  282.   
  283. //15-22 眉毛  
  284.   
  285.   
  286. //23-27 左眼睛五個點  
  287. //27 左眼中間  
  288. //63-66 左眼四個點  
  289.   
  290. //28-32 右眼睛五個點  
  291. //67-70 右眼四個點  
  292.   
  293.   
  294. //33-43 鼻子  
  295. //62 鼻中間  
  296.   
  297.   
  298. //44-61 嘴巴  
  299. //47 嘴巴上  
  300. //53 嘴巴下  
  301.   
  302. ///////////////////////////////////////////////////////////////////////////////////////////////  
  303.   
  304. //左眼中間  
  305. for (var p =27;p <=27;p++) {      
  306. cc.beginPath();  
  307. cc.arc(positions[p][0].toFixed(2), positions[p][1].toFixed(2), 2, 0, Math.PI * 2, true);  
  308. cc.closePath();  
  309. cc.fillStyle = 'red';  
  310. cc.fill();  
  311. }  
  312.   
  313. //鼻子中間  
  314. for (var p =62;p <=62;p++) {      
  315. cc.beginPath();  
  316. cc.arc(positions[p][0].toFixed(2), positions[p][1].toFixed(2), 2, 0, Math.PI * 2, true);  
  317. cc.closePath();  
  318. cc.fillStyle = 'red';  
  319. cc.fill();  
  320. }  
  321. //嘴巴上  
  322. for (var p =57;p <=57;p++) {      
  323. cc.beginPath();  
  324. cc.arc(positions[p][0].toFixed(2), positions[p][1].toFixed(2), 2, 0, Math.PI * 2, true);  
  325. cc.closePath();  
  326. cc.fillStyle = 'red';  
  327. cc.fill();  
  328. }  
  329. //嘴巴下  
  330. for (var p =60;p <=60;p++) {      
  331. cc.beginPath();  
  332. cc.arc(positions[p][0].toFixed(2), positions[p][1].toFixed(2), 2, 0, Math.PI * 2, true);  
  333. cc.closePath();  
  334. cc.fillStyle = 'red';  
  335. cc.fill();  
  336. }  
  337. //////////////////////////////////////  
  338. //head  
  339. if(is_alive_head==true){  
  340. if(last_time==0 || (new Date().getTime()-last_time>500 && new Date().getTime()-last_time<10000 ) ){  
  341. var xdiff_left = positions[62][0] - positions[2][0] ;  
  342. var ydiff_left = positions[62][1] - positions[2][1] ;  
  343. var dis_left = Math.pow((xdiff_left * xdiff_left + ydiff_left * ydiff_left), 0.5);  
  344.   
  345. var xdiff_right = positions[12][0] - positions[62][0] ;  
  346. var ydiff_right = positions[12][1] - positions[62][1] ;  
  347. var dis_right = Math.pow((xdiff_right * xdiff_right + ydiff_right * ydiff_right), 0.5);  
  348.   
  349. var xdiff_side = positions[12][0] - positions[2][0] ;  
  350. var ydiff_side = positions[12][1] - positions[2][1] ;  
  351. var dis_side = Math.pow((xdiff_side * xdiff_side + ydiff_side * ydiff_side), 0.5);  
  352.   
  353.   
  354. var dis_left_right = dis_left - dis_right;  
  355. document.getElementById('result').innerHTML = dis_left_right;  
  356.   
  357.   
  358. if(last_dis_left_right>0 && dis_left_right > dis_side/3){  
  359.   
  360. document.getElementById('result').innerHTML = "通過";  
  361.   
  362. is_head_ok=true;  
  363. is_alive_head=false;  
  364.   
  365. }  
  366.   
  367.   
  368.   
  369. last_dis_left_right=dis_left_right;   
  370. last_time = new Date().getTime();  
  371.   
  372. }  
  373. }  
  374.   
  375. /////////////////////////////////////  
  376. //mouse   
  377. if(is_alive_mouse==true){  
  378. if(last_time==0 || (new Date().getTime()-last_time>500 && new Date().getTime()-last_time<10000 ) ){  
  379.   
  380. //研究和鼻子距離  
  381. var xdiff = positions[62][0] - positions[27][0] ;  
  382. var ydiff = positions[62][1] - positions[27][1] ;   
  383. var dis_eye_norse = Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5);  
  384.   
  385. //上嘴唇 和下嘴唇距離  
  386. var xdiff_mouse = positions[53][0] - positions[47][0] ;  
  387. var ydiff_mouse = positions[53][1] - positions[47][1] ;   
  388. var dis_mouse = Math.pow((xdiff_mouse * xdiff_mouse + ydiff_mouse * ydiff_mouse), 0.5);  
  389.   
  390. //上次的眼鼻距離和這次的眼鼻距離差  
  391. var dn= Math.abs(dis_eye_norse-last_dis_eye_norse);  
  392.   
  393. //上次的嘴距離和本次的嘴距離差  
  394. var dm=Math.abs(dis_mouse - last_dis_mouse);  
  395.   
  396.   
  397.   
  398.   
  399. //鼻子的位置確保變化不大  
  400. if(last_nose_left>0 && last_nose_top>0  
  401. && Math.abs(positions[62][0]-last_nose_left)<5  
  402. && Math.abs(positions[62][1]-last_nose_top)<5  
  403. ){  
  404.   
  405. document.getElementById('msg').innerHTML = dn;  
  406.   
  407. if(last_dis_eye_norse>0 && dn < dis_eye_norse*1/50){   
  408.   
  409. if(last_dis_mouse>0 && dm > dis_mouse/10){  
  410.   
  411. document.getElementById('result').innerHTML = "通過";  
  412.   
  413. is_alive_mouse=false;  
  414. is_mouse_ok=true;  
  415. }  
  416.   
  417. }  
  418. }  
  419.   
  420.   
  421. last_dis_mouse = dis_mouse;  
  422. last_dis_eye_norse = dis_eye_norse;  
  423. last_time = new Date().getTime();   
  424.   
  425. last_nose_left = positions[62][0];  
  426. last_nose_top = positions[62][1];  
  427.   
  428. }  
  429. }  
  430.   
  431. /////////////////////////////////////  
  432. //eye   
  433. if(is_alive_eye==true){  
  434. if(last_time==0 || (new Date().getTime()-last_time>10 ) ){  
  435.   
  436.   
  437. var xdiff1 = positions[62][0] - positions[27][0] ;  
  438. var ydiff1 = positions[62][1] - positions[27][1] ;   
  439. var dis_eye_norse1 = Math.pow((xdiff1 * xdiff1 + ydiff1 * ydiff1), 0.5);  
  440.   
  441. var xdiff2 = positions[62][0] - positions[32][0] ;  
  442. var ydiff2 = positions[62][1] - positions[32][1] ;   
  443. var dis_eye_norse2 = Math.pow((xdiff2 * xdiff2 + ydiff2 * ydiff2), 0.5);  
  444.   
  445. var dis_eye_norse = (dis_eye_norse1 + dis_eye_norse2);  
  446.   
  447.   
  448.   
  449. if(last_nose_left>0 && last_nose_top>0  
  450. && Math.abs(positions[62][0]-last_nose_left)<0.5  
  451. && Math.abs(positions[62][1]-last_nose_top)<0.5  
  452. ){  
  453. document.getElementById('msg').innerHTML = Math.abs(dis_eye_norse - last_dis_eye_norse) - dis_eye_norse*1/20;  
  454.   
  455. if(last_dis_eye_norse>0 && (Math.abs(dis_eye_norse - last_dis_eye_norse) > dis_eye_norse*1/20 ) ){  
  456.   
  457. document.getElementById('result').innerHTML = "通過";  
  458.   
  459. is_alive_eye=false;  
  460. is_eye_ok=true;  
  461.   
  462. }  
  463. }  
  464.   
  465.   
  466. last_nose_left = positions[62][0];  
  467. last_nose_top = positions[62][1];  
  468.   
  469. last_dis_eye_norse = dis_eye_norse;  
  470. last_time = new Date().getTime();   
  471.   
  472. }  
  473.   
  474.   
  475. }  
  476.   
  477.   
  478. }  
  479.   
  480. requestAnimationFrame(drawLoop);  
  481.   
  482. }  
  483.   
  484. drawLoop();  
  485.   
  486. }  
  487.   
  488.    
  489.   
  490. </script>  
  491. </html>  

以上就是小編為大家帶來的基于HTML5 的人臉識別活體認證的實現方法全部內容了,希望大家多多支持腳本之家~

原文地址:http://www.cnblogs.com/lilies/archive/2016/06/21/5604212.html

標簽:撫州 煙臺 內蒙古 邯鄲 安慶 晉中 牡丹江 玉溪

巨人網絡通訊聲明:本文標題《基于HTML5 的人臉識別活體認證的實現方法》,本文關鍵詞  基于,HTML5,的,人臉,識別,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于HTML5 的人臉識別活體認證的實現方法》相關的同類信息!
  • 本頁收集關于基于HTML5 的人臉識別活體認證的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    蜜臀va亚洲va欧美va天堂| 99久久精品一区二区| 中文字幕在线永久| 欧美日韩精品一区二区三区四区| 国产精品的网站| 国产成人免费在线观看| 少妇的滋味中文字幕bd| 久久亚洲精精品中文字幕早川悠里| 偷窥国产亚洲免费视频| 91精品啪在线观看国产| 欧美日韩黄色一区二区| 亚洲五码中文字幕| 亚洲一区和二区| 欧美精品日韩一区| 日韩精品一二三| 97超碰在线免费观看| 26uuu另类欧美| 精品一区二区久久久| 中文字幕第24页| 国产欧美精品一区二区色综合朱莉| 国产乱码精品一区二区三区av | 国产激情一区二区三区| 黄色片网站免费| 国产欧美日韩激情| 成人网页在线观看| 日本高清不卡aⅴ免费网站| 亚洲精品国产高清久久伦理二区| 美女被艹视频网站| 欧美精品久久99久久在免费线| 日韩精品国产欧美| 四虎永久免费在线观看| 国产欧美日本一区二区三区| av电影天堂一区二区在线| 欧美在线三级电影| 日韩国产欧美三级| 摸摸摸bbb毛毛毛片| 国产精品美女一区二区| 男人操女人下面视频| 4438x成人网最大色成网站| 日韩vs国产vs欧美| www.xx日本| 一区二区在线观看视频| 中文字幕第3页| 久久久久99精品国产片| 99精品视频在线观看免费| 欧美电影一区二区三区| 久久99精品国产麻豆婷婷| 在线看的片片片免费| 亚洲一级电影视频| 一色道久久88加勒比一| 国产精品白丝在线| 人妻 日韩 欧美 综合 制服| 久久九九99视频| 91在线高清观看| 日韩免费看的电影| 成人激情电影免费在线观看| 欧美剧情片在线观看| 欧美精品一区二区三区久久久 | 日本aⅴ精品一区二区三区| 西西444www无码大胆| 136国产福利精品导航| 捆绑裸体绳奴bdsm亚洲| 国产精品看片你懂得| 一级黄色免费视频| 亚洲国产精品成人综合| 中文字幕乱视频| 国产欧美一区二区精品忘忧草| 极品白嫩少妇无套内谢| 午夜激情福利网| 91视频免费看片| 欧美精选一区二区| 国产麻豆精品在线| 欧美色视频在线| 欧美色爱综合网| 无码av免费一区二区三区试看| 欧美日韩生活片| 亚洲一区在线电影| 欧美巨胸大乳hitomi| 亚洲高清免费在线| 三级av在线免费观看| 日韩二区在线观看| 日本高清成人免费播放| 国产一区美女在线| 3751色影院一区二区三区| 成人免费视频一区| xnxx国产精品| 北京富婆泄欲对白| 亚洲欧美一区二区视频| 久久亚洲无码视频| 亚洲bt欧美bt精品| 91国产丝袜在线播放| 国产伦精品一区二区三区视频青涩 | 麻豆精品在线看| 欧美午夜一区二区三区| 国产成人啪午夜精品网站男同| 欧美一二三区在线| 91麻豆国产自产在线观看| 欧美极品xxx| 无码人妻aⅴ一区二区三区69岛| 亚洲国产日韩综合久久精品| 亚洲波多野结衣| 精品在线免费观看| 宅男噜噜噜66一区二区66| 欧美色图校园春色| 亚洲天堂av老司机| 亚洲一区电影在线观看| 精品一区二区三区在线播放视频| 91精品国产高清一区二区三区蜜臀| 91免费版pro下载短视频| 国产精品国产自产拍在线| 亚洲天堂精品一区| 久久99精品国产麻豆不卡| 欧美一区二区三区不卡| 国产女人18毛片水真多18| 一区二区三区免费网站| 色老综合老女人久久久| 成人精品视频网站| 亚洲欧洲精品一区二区三区不卡| 天天做夜夜爱爱爱| 国产精一区二区三区| 久久蜜桃av一区精品变态类天堂| 韩国无码一区二区三区精品| 天天综合网 天天综合色| 91精品在线一区二区| 中国xxxx性xxxx产国| 亚洲午夜电影网| 欧美精品1区2区| 麻豆精品国产传媒av| 日韩1区2区日韩1区2区| 在线观看亚洲免费视频| 亚洲影视在线观看| 欧美日韩大陆在线| 高清中文字幕mv的电影| 日韩制服丝袜av| 日韩一区二区三区高清免费看看| jizz日本免费| 精品一区二区免费在线观看| 久久久亚洲高清| 日本免费网站视频| 高清不卡在线观看| 国产精品久久久久久久裸模| 五月天丁香激情| 91麻豆免费在线观看| 香蕉影视欧美成人| 欧美电影免费观看完整版| 日本少妇xxxxx| 高清不卡在线观看| 亚洲精品成人悠悠色影视| 欧美日韩国产精选| 精品人妻一区二区三区日产乱码卜| 麻豆免费看一区二区三区| 久久久久久久久久久电影| 亚洲怡红院在线观看| 无套白嫩进入乌克兰美女| 亚洲va韩国va欧美va精品| 精品久久人人做人人爽| 娇小11一12╳yⅹ╳毛片| 99r国产精品| 天天av天天翘天天综合网| 日韩精品专区在线影院观看| 国产小视频自拍| 成人免费高清视频在线观看| 亚洲综合一区二区精品导航| 欧美一二三区在线| 亚洲欧洲综合网| 国产精品无码自拍| 久久精品国产亚洲a| 国产精品伦理在线| 欧美精品色综合| av片在线免费看| 特种兵之深入敌后| 免费成人av在线| 亚洲欧洲精品天堂一级| 91精品国产日韩91久久久久久| 国内成人自拍视频| 国产精品成人免费在线| 91精品国产91久久综合桃花| 国产麻豆a毛片| 俄罗斯女人裸体性做爰| 久久精品国产精品亚洲综合| 亚洲欧洲日韩在线| 日韩欧美色电影| 色综合久久九月婷婷色综合| 欧美深性狂猛ⅹxxx深喉| 成人性视频免费网站| 偷拍一区二区三区四区| 国产精品每日更新| 日韩丝袜美女视频| 色屁屁一区二区| 老熟妇一区二区| 性生交大片免费看l| 国产一区 二区 三区一级| 亚洲国产色一区| 中文字幕第一区二区| 91精品国产综合久久久久久久| 欧美一级特黄高清视频| 中文字幕在线免费看线人| 91蝌蚪porny| 国产寡妇亲子伦一区二区| 视频一区中文字幕国产|