精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何用人臉識別自動給頭像添加口罩及護目鏡

人工智能 人臉識別
此項目使用人臉識別自動給頭像添加口罩及護目鏡,僅為呼吁大家積極佩戴口罩及護目鏡,為武漢及奮斗在第一線的醫護人員加油!

給頭像添加口罩及護目鏡

項目地址:https://github.com/Evilran/add-mask-and-goggle 

寫在前面

武漢爆發了2020新型冠狀病毒肺炎,大家都紛紛戴上了口罩以預防被傳染。朋友圈也不例外,許多用戶都為自己的頭像戴上了口罩,但是p圖調整口罩的位置浪費了大家很多時間。那么我們如何通過人臉識別自動給頭像添加口罩及護目鏡呢?

此項目使用人臉識別自動給頭像添加口罩及護目鏡,僅為呼吁大家積極佩戴口罩及護目鏡,為武漢及奮斗在第一線的醫護人員加油!

依賴🐍

在開始前,我們需要在python3上安裝以下幾個包:

  •  numpy==1.17.4
  •  Flask>=1.0.0
  •  requests==2.22.0
  •  opencv-python==4.0.0.21
  •  dlib==19.17.99

Flask為我們的項目提供了一個簡單的Web服務器,dlib用以識別人臉及嘴唇和眼睛的部位(提供了口罩所在的位置),opencv庫可以把口罩素材添加到人臉的嘴唇部位上,護目鏡添加到人臉的眼部。

搭建Web服務器

首先,引入flask庫并構造主頁面: 

  1. from flask import Flask  
  2. from flask import request  
  3. from flask import render_template  
  4. @app.route('/', methods=['GET', 'POST'])  
  5. def index():  
  6.     return render_template('index.html')   
  7.     ----------------------  
  8. if __name__ == '__main__':  
  9.     app.run() 

需要注意的是,我們的服務器上只允許上傳圖片類型的文件,并且不緩存圖片(用戶可以選擇其他的口罩重新制作),所以我們要進行如下配置: 

  1. app = Flask(__name__)  
  2. # 取消圖片緩存  
  3. app.config['SEND_FILE_MAX_AGE_DEFAULT'] = timedelta(seconds=1 
  4. ALLOWED_EXTENSIONS = set(['bmp', 'png', 'jpg', 'jpeg'])  
  5. UPLOAD_FOLDER=r'./cache/'  
  6. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER  
  7. def allowed_file(filename):  
  8.     return '.' in filename and \  
  9.            filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS 

我們的Web服務器上包含有兩個路由: 

  1. /url /add 

url 是粘貼圖片的地址,服務器會自動下載圖片,add 則為用戶手動上傳圖片 (如果只需用戶手動上傳圖片,不需要引入requests庫)

add 路由的函數代碼如下: 

  1. @app.route('/add', methods=['GET', 'POST'])  
  2. def search():  
  3.     if request.method == 'POST':  
  4.         file = request.files['image']  
  5.         mode = (int)(request.form['mask'])  
  6.         isGoggle = request.form.get('goggle')  
  7.         if file and allowed_file(file.filename):  
  8.             path = os.path.join(app.config['UPLOAD_FOLDER'], file.filename)  
  9.             file.save(path)  
  10.             output = add(path, file.filename, mode, isGoggle)  
  11.             return render_template('index.html', outputoutput = output)  
  12.         else:  
  13.             return render_template('index.html', alert = '文件類型必須是圖片!' 
  14.     else:  
  15.         return render_template('index.html') 

接著我們配置好 templates 里的 index.html 文件,詳細代碼請移步 Github 項目。

人臉識別

好了,到這里我們已經成功配置好Web服務器了,接著我們開始寫后端處理圖片的代碼。我們引入 dlib 和 opencv 庫: 

  1. import cv2  
  2. import dlib  
  3. import numpy as np  
  4. import os 

利用已經訓練好的 Dlib 正向人臉檢測器 detector = dlib.get_frontal_face_detector() 進行人臉檢測,并用 'models/shapepredictor68facelandmarks.dat' 進行 人臉嘴部 20 個特征點坐標( 40 維特征)的提取: 

  1. def get_mouth(img):  
  2.     img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  
  3.     detector = dlib.get_frontal_face_detector()  
  4.     predictor = dlib.shape_predictor('models/shape_predictor_68_face_landmarks.dat')  
  5.     faces = detector(img_gray, 0)  
  6.     for k, d in enumerate(faces):  
  7.         x = []  
  8.         y = []  
  9.         # 人臉大小的高度  
  10.         height = d.bottom() - d.top()  
  11.         # 人臉大小的寬度  
  12.         width = d.right() - d.left()  
  13.         shape = predictor(img_gray, d)  
  14.         # 49-68 為嘴唇部分  
  15.         for i in range(48, 68):  
  16.             x.append(shape.part(i).x)  
  17.             y.append(shape.part(i).y) 
  18.          # 根據人臉的大小擴大嘴唇對應口罩的區域  
  19.         y_max = (int)(max(y) + height / 3)  
  20.         y_min = (int)(min(y) - height / 3)  
  21.         x_max = (int)(max(x) + width / 3)  
  22.         x_min = (int)(min(x) - width / 3)  
  23.         size = ((x_max-x_min),(y_max-y_min))  
  24.         return x_min, x_max, y_min, y_max, size 

同樣的道理,我們進行 人臉眼部特征 的提取: 

  1. def get_eye(img):  
  2.     img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  
  3.     detector = dlib.get_frontal_face_detector()  
  4.     predictor = dlib.shape_predictor('models/shape_predictor_68_face_landmarks.dat')  
  5.     faces = detector(img_gray, 0)  
  6.     for k, d in enumerate(faces):  
  7.         x = []  
  8.         y = []  
  9.         height = d.bottom() - d.top()  
  10.         width = d.right() - d.left()  
  11.         shape = predictor(img_gray, d)  
  12.         for i in range(36, 48):  
  13.             x.append(shape.part(i).x)  
  14.             y.append(shape.part(i).y)  
  15.         y_max = (int)(max(y) + height / 3)  
  16.         y_min = (int)(min(y) - height / 3)  
  17.         x_max = (int)(max(x) + width / 3)  
  18.         x_min = (int)(min(x) - width / 3)  
  19.         size = ((x_max-x_min),(y_max-y_min))  
  20.         return x_min, x_max, y_min, y_max, size 

識別出嘴唇和眼睛的位置后,我們通過 opencv 處理背景透明的口罩和護目鏡素材 ,把背景變成白色: 

  1. img2 = cv2.imread('masks/goggle.png', cv2.IMREAD_UNCHANGED)  
  2. img2 = cv2.resize(img2,size)  
  3. alpha_channel = img2[:, :, 3]  
  4. _, mask = cv2.threshold(alpha_channel, 220, 255, cv2.THRESH_BINARY)  
  5. color = img2[:, :, :3]  
  6. img2 = cv2.bitwise_not(cv2.bitwise_not(color, maskmask=mask)) 

然后進行圖像融合,把口罩及護目鏡添加到我們剛剛得到的嘴唇位置和眼睛位置: 

  1. x_min, x_max, y_min, y_max, size = get_eye(img1)  
  2. rows,cols,channels = img2.shape  
  3. roi = img1[y_min: y_min + rows, x_min:x_min + cols]  
  4. img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)  
  5. ret, mask = cv2.threshold(img2gray, 254, 255, cv2.THRESH_BINARY)  
  6. mask_inv = cv2.bitwise_not(mask)  
  7. img1_bg = cv2.bitwise_and(roi,roi,maskmask = mask)  
  8. img2_fg = cv2.bitwise_and(img2,img2,mask = mask_inv 
  9. dst = cv2.add(img1_bg,img2_fg)  
  10. img1[y_min: y_min + rows, x_min:x_min + cols] = dst 

到這里,我們人臉識別添加口罩及護目鏡的代碼就已經成功完成了。

演示😷

項目完成后,

僅需一個命令即可簡單地運行Web服務器: 

  1. $ python3 server.py 

然后訪問:127.0.0.1:5000(端口 5000).

這里支持兩種模式,一種是輸入URL地址,另外一種是直接上傳圖片:

目前口罩支持以下幾種類型:

舉個栗子🌰

原圖:

 

添加口罩及護目鏡:

 

原圖:

添加口罩:

感謝🙏

感謝奮斗在第一線的醫護人員,感謝春運中的逆行者! 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2021-07-01 09:32:14

人臉識別AI人工智能

2020-03-05 16:35:06

人臉識別口罩人工智能

2021-08-06 21:16:08

人臉識別AI人工智能

2021-03-10 17:22:01

人臉識別人工智能數據

2020-08-13 11:36:09

人臉識別技術數據

2020-12-07 09:34:20

人臉識別隱私安全

2021-11-03 14:56:15

Facebook 人臉識別技術

2021-08-10 15:52:56

人臉識別AI人工智能

2022-07-15 11:33:01

供應鏈VR虛擬現實

2020-02-22 08:02:07

春節疫情防控口罩

2021-04-07 13:31:36

人臉識別人工智能AI

2020-02-05 16:40:07

面部識別iPhone口罩

2021-07-28 11:44:39

人工智能AI人臉識別

2018-07-02 10:48:20

2020-06-11 16:55:16

TensorRT人臉識別人工智能

2019-10-31 12:40:26

人臉識別AI人工智能

2014-02-14 13:57:22

UbuntuWindowsMac

2021-05-10 11:08:00

人工智能人臉識別

2021-03-31 11:32:39

人臉識別大數據技術

2019-11-06 14:36:07

人臉識別歐美國家歐盟
點贊
收藏

51CTO技術棧公眾號

午夜免费视频在线国产| 国产精品久免费的黄网站| 日韩成人在线一区| 成人av电影免费在线播放| www.日韩欧美| 亚洲国产日韩在线一区| 国产福利在线播放麻豆| 日本伊人精品一区二区三区观看方式| 亚洲精品美女网站| 国内精品小视频在线观看| 999在线观看| 免费观看在线黄色网| 成人黄色大片在线观看| 国产精品久久久久免费a∨| 美国黄色小视频| 精品久久精品| 欧美日韩1区2区| 精品国产一区二区三区四区精华| 国产人妻精品一区二区三区不卡| 国产女人18毛片水真多18精品| 午夜电影久久久| 亚洲欧洲日韩综合二区| 色网站免费观看| 激情欧美一区二区| 欧美国产乱视频| 影音先锋人妻啪啪av资源网站| 白白色在线观看| 免费日韩精品中文字幕视频在线| 亚洲国产精品悠悠久久琪琪| 国产色视频在线播放| 国产欧美久久久精品免费| 国产亚洲第一伦理第一区| 欧美一级在线免费| 三级a三级三级三级a十八发禁止| 草草在线观看| 91理论电影在线观看| 91欧美精品成人综合在线观看| 国产一级18片视频| 色综合蜜月久久综合网| 亚洲美女性视频| 波多野结衣视频播放| 久久电影tv| 亚洲成人一区在线| 日韩免费电影一区二区| 天堂中文在线8| 成人国产一区二区三区精品| 青青精品视频播放| 久久久久久久黄色片| 国产精品xvideos88| 欧美日韩成人网| 久久免费看少妇高潮v片特黄| 欧美午夜18电影| 亚洲第一免费播放区| 亚洲精品激情视频| 超碰在线一区| 亚洲国产成人在线视频| 亚洲成人福利在线| 久久久加勒比| 在线不卡欧美精品一区二区三区| 欧美大片在线播放| 俺来也官网欧美久久精品| 亚洲愉拍自拍另类高清精品| 国产一级不卡视频| 一区二区三区黄| 欧美激情综合色综合啪啪| 麻豆乱码国产一区二区三区| 中文字幕在线有码| 国产精品a级| 性色av一区二区三区免费| 999久久久国产| 97人人做人人爽香蕉精品| 色综合久久六月婷婷中文字幕| 国产综合免费视频| 2020国产在线| 精品日韩中文字幕| 97超碰在线视| 国产片在线观看| 中文一区一区三区高中清不卡| 亚洲欧洲久久| 第一av在线| 日韩欧美亚洲成人| 中文字幕国产免费| 成人精品国产| 欧美日韩视频在线观看一区二区三区 | 欧美成人精品影院| 国产精品99精品| 日韩精品视频网站| 日韩av电影中文字幕| 日韩成人在线免费视频| 欧美激情五月| 日本韩国在线不卡| 国产一区二区三区四区视频| 青青草精品视频| 91香蕉视频在线下载| 少妇精品视频一区二区 | 精品剧情在线观看| 在线观看免费看片| 女人黄色免费在线观看| 中文字幕一区av| 久久国产精品亚洲va麻豆| 超碰在线影院| 国产成人在线观看| 免费亚洲一区二区| 在线看女人毛片| 色爱区综合激月婷婷| 91视频福利网| 精品一区二区三| 国内久久久精品| 国产精品老女人| xxxx视频在线| 欧美性生活一级片| 日韩成人av网| 国产精品久久AV无码| 日韩久久综合| 青青草成人在线| 国产成人无码www免费视频播放| 午夜国产精品视频免费体验区| 久久久免费av| 可以免费在线观看的av| 国产一区在线观看麻豆| 日韩免费中文专区| 蜜桃麻豆av在线| 日韩欧美你懂的| 99久久免费看精品国产一区| 神马久久av| 欧美日本亚洲视频| 国产女18毛片多18精品| 国产欧美一区二区三区沐欲 | 男人的天堂官网| 一本久久综合| 久久手机精品视频| 欧美精品久久久久性色| 国产日本精品| 国产精品12| 精品久久久噜噜噜噜久久图片 | 国产欧美另类| 情事1991在线| 五月婷婷狠狠干| 亚洲高清视频中文字幕| 精品久久久久久无码人妻| 亚洲天堂一区二区| 欧美日韩久久一区| 精品人妻少妇嫩草av无码| 91久久在线| 国产精品久久久久久久久久久久午夜片| 天堂中文在线资| 国产精品久久久久婷婷二区次| aa免费在线观看| 中文字幕伦av一区二区邻居| 欧美一区二三区| 天天干天天插天天操| 天天做天天摸天天爽国产一区| 久久免费精品国产| 欧美xxxx中国| 欧美专区中文字幕| 久久99久久| 一区二区三区四区在线播放| 日本特黄在线观看| 精品一区二区三| 91精品国产综合久久香蕉922| 三级网站在线看| 狠狠躁夜夜躁人人爽天天天天97| 人妻丰满熟妇av无码久久洗澡| 亚洲精品成人无限看| 一本大道亚洲视频| 久久精品国产亚洲av高清色欲| 奇米色777欧美一区二区| 国产精品一区二区三区在线| а√天堂资源官网在线资源| 日韩精品高清视频| www.久久网| 亚洲欧美日韩在线| 欧美大喷水吹潮合集在线观看| 91精品国产91久久综合| 国产精品高潮呻吟久久av无限| 黄色成人一级片| 欧美天天综合色影久久精品| 国产美女永久免费无遮挡| 日韩av二区在线播放| 一本色道久久综合亚洲精品婷婷| 欧美成人精品午夜一区二区| 日韩欧美国产三级电影视频| 国产污视频在线看| 国产91丝袜在线播放0| 日韩jizzz| www久久久| 97超级碰在线看视频免费在线看| 国产黄色一级大片| 午夜视频一区在线观看| 免费看的黄色网| 成人午夜视频网站| 法国空姐在线观看免费| 激情久久一区二区| 欧美黑人狂野猛交老妇| 国产成人精品毛片| 欧美午夜无遮挡| 在线观看福利片| 日本一区二区三区四区五区| 精品一区二区在线免费观看| 中日韩在线视频| 欧美人妖在线观看| 欧美在线www| 免费在线看v| 91国产免费观看| 久久久免费看片| 成人av网址在线观看| 欧美色图色综合| 亚洲女同一区| 色综合久久88色综合天天提莫| 国产成人精品一区二区三区视频| 神马久久桃色视频| 一级淫片免费看| 欧美日韩在线一区| 久久久久久成人网| 韩国av一区二区| 国内自拍视频一区| 亚洲激情另类| 日韩国产伦理| 亚欧日韩另类中文欧美| 99理论电影网| 成人日韩视频| 国产精品直播网红| 污视频网站免费在线观看| 在线观看91久久久久久| 99草在线视频| 欧美日韩成人在线一区| 青青艹在线观看| 一区二区免费在线播放| av黄色免费在线观看| 亚洲国产mv| 久久精品国产精品国产精品污| 精品三级国产| 成人黄色午夜影院| 久久www人成免费看片中文| 精品国产一区av| 99视频在线观看地址| 亚洲视频一区二区| 黄色在线观看网| 日韩欧美国产1| 国内av免费观看| 日本在线播放| 精品视频999| 欧美brazzers| 在线亚洲欧美专区二区| 中文在线第一页| 欧美色道久久88综合亚洲精品| 在线观看黄网址| 国产精品久久久久久久蜜臀| 国产成人av片| 成人免费高清视频| 污污免费在线观看| 99riav一区二区三区| 搡老熟女老女人一区二区| 久久这里只有精品首页| 中文字幕乱妇无码av在线| 三级不卡在线观看| 日韩黄色片在线| 亚洲人成在线影院| 欧美aaa在线观看| 欧美a级一区| 日韩中文字幕在线免费| 天天做天天爱综合| 51蜜桃传媒精品一区二区| 国产精品99久久免费| 国产精品久久久精品| 黄色成人在线观看网站| 亚洲综合自拍一区| 精品国产导航| 26uuu国产精品视频| 波多野结衣亚洲| 久久久久久久电影一区| 麻豆传媒在线免费| 久久久久久九九九| 极品美女一区| 成人中心免费视频| 高清欧美日韩| 国产精品久久久久一区二区| 日韩免费大片| 国产精品成人一区二区三区| 真实原创一区二区影院| 蜜桃视频在线观看91| 欧美亚洲国产精品久久| 国产精品久久久久久久久久久久午夜片 | 色香色香欲天天天影视综合网| 日本熟伦人妇xxxx| 亚洲综合免费观看高清完整版在线| 日韩精品在线不卡| 欧美天天综合网| 亚洲乱码国产乱码精品精软件| 亚洲国产精品尤物yw在线观看| 看片网址国产福利av中文字幕| 欧美在线999| 中文字幕有码视频| 欧美日韩一区在线观看| 亚洲一级特黄毛片| 欧美日韩高清一区二区不卡| 一级久久久久久久| 亚洲国产精品va在线| 97电影在线| 亚州国产精品久久久| av免费在线视| 欧美一级大片在线观看| av在线亚洲一区| 免费日韩电影在线观看| 亚洲一级二级| www.在线观看av| 欧美bbbbb| 国产性生活一级片| 国产在线视视频有精品| 无套内谢丰满少妇中文字幕| 国产日韩精品一区二区浪潮av| 久久老司机精品视频| 欧美日本视频在线| 人操人视频在线观看| 中文字幕精品一区二区精品| 成人免费观看在线观看| 国产99久久精品一区二区永久免费| 日本一区二区电影| 成人免费激情视频| www.爱久久| 日韩av一区二区三区美女毛片| 欧美午夜不卡影院在线观看完整版免费| 男女视频网站在线观看| 国内精品写真在线观看| 无码国产69精品久久久久网站| 中文字幕一区日韩精品欧美| 欧美黄色免费在线观看| 欧美日韩精品一区二区在线播放| 精品人妻一区二区三区含羞草| 中日韩美女免费视频网站在线观看 | 欧美精品中文| 一区二区精品在线观看| 久久亚洲不卡| 熟女俱乐部一区二区| 欧美日韩亚洲国产一区| 一级片免费观看视频| 精品国产91九色蝌蚪| 国产乱视频在线观看| 欧美伦理91i| 日韩一区精品| 国产私拍一区| 亚洲片区在线| 亚洲自拍第三页| 亚洲欧洲日韩在线| 91亚洲国产成人久久精品麻豆| 亚洲精品videossex少妇| 黄色在线看片| 韩国成人av| 一区二区三区网站| 日本少妇激三级做爰在线| 久久综合久久久久88| 天码人妻一区二区三区在线看| 日韩一区二区三区视频在线 | 亚洲夂夂婷婷色拍ww47| 国产小视频一区| 精品国产一区二区三区久久久狼| 狠狠久久伊人中文字幕| 欧美高清视频一区| 黄色亚洲在线| 在线视频观看91| 亚洲精品成人悠悠色影视| 亚洲AV无码一区二区三区性 | 第四色男人最爱上成人网| 国产高清一区二区三区| 51精产品一区一区三区| 日本va中文字幕| 亚洲欧洲日韩综合一区二区| 亚洲伦理在线观看| 欧美又大又硬又粗bbbbb| 开心激情综合| 欧美伦理片在线看| 国产视频一区二区在线观看| 亚洲另类欧美日韩| 日韩视频免费观看高清完整版在线观看 | 国内成人在线| 日韩精品xxx| 欧美日韩黄色大片| www.中文字幕久久久| 国产盗摄xxxx视频xxx69| 欧美aaaa视频| 成人啪啪18免费游戏链接| 亚洲精品综合在线| 香蕉视频免费看| 777国产偷窥盗摄精品视频| 欧美手机在线| 中文字幕18页| 欧美主播一区二区三区美女| 中文字幕在线观看网站| 蜜桃91精品入口| 国产乱码精品1区2区3区| 日韩欧美成人一区二区三区 | 欧美日韩国产观看视频| 国产伦一区二区三区色一情| 天堂在线一区二区| 中文字幕 自拍| 日韩欧美一级片| 成人精品动漫| 国产aaa一级片| 中文字幕免费观看一区| 黄色一级a毛片|