精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

四虎影院观看视频在线观看| 中文字幕乱伦视频| 人人精品视频| 一本到三区不卡视频| 亚洲v国产v在线观看| 国产高清在线免费| 久久精品一区二区三区中文字幕| 中文字幕九色91在线| 久久久久中文字幕亚洲精品 | 欧美成人免费网| 日韩av无码一区二区三区不卡 | 免费人成在线观看播放视频| 成人爽a毛片一区二区免费| 国产va免费精品高清在线| 日本老熟俱乐部h0930| 国产精品欧美三级在线观看| 日韩一区二区三区视频在线| 干日本少妇首页| av免费网站在线观看| 久久精品一区二区三区不卡| 成人在线免费观看一区| 中文无码精品一区二区三区| 亚洲小说区图片区| 日韩视频一区在线| 国产肥白大熟妇bbbb视频| 视频欧美一区| 555www色欧美视频| 国产又大又黄又粗又爽| 国产美女精品写真福利视频| 亚洲人妖av一区二区| 日韩欧美一区二区三区四区五区| 日韩中文字幕免费在线观看| 国产麻豆日韩欧美久久| 国产精品久久久久久网站| 天天操天天爽天天干| 欧美伊人久久| 久久综合伊人77777蜜臀| 黄色正能量网站| 精品午夜电影| 欧美精品一区二区三区久久久 | 在线视频成人| 精品视频1区2区3区| 日韩中文字幕二区| 英国三级经典在线观看| 亚洲福利电影网| 国产精品自拍合集| 香蕉成人app免费看片| 亚洲欧美欧美一区二区三区| 亚洲最新免费视频| 色网站在线看| 中文字幕视频一区二区三区久| 亚洲v国产v在线观看| 超碰在线影院| 国产精品久久看| 亚洲一区三区视频在线观看 | 久久免费福利视频| 成人免费看片98| 伊人久久综合| 97av视频在线| 男人天堂av在线播放| 欧美资源在线| 国产精品久久久久高潮| 国产成人av免费| 久久精品久久99精品久久| 国产精品综合不卡av| 国产欧美日韩综合精品一区二区三区| 久色婷婷小香蕉久久| 91在线直播亚洲| 性生活免费网站| hitomi一区二区三区精品| 精品免费日产一区一区三区免费| 午夜小视频在线播放| 久久久综合网站| 亚洲黄色一区二区三区| 免费看美女视频在线网站| 依依成人精品视频| www..com日韩| 欧美电影免费观看网站| 欧美视频在线观看一区二区| 色91精品久久久久久久久| 欧美中文高清| 日韩精品视频中文在线观看| 亚洲AV无码成人精品区明星换面| 97久久夜色精品国产| 欧美超级免费视 在线| 国产成人在线观看网站| 日本不卡视频在线观看| 亚洲自拍偷拍福利| 五月色婷婷综合| 欧美韩国一区二区| 久久人妻无码一区二区| 最新日韩精品| 日韩三级视频在线看| 日本丰满少妇裸体自慰 | 久久精品小视频| 国产无遮挡又黄又爽在线观看| 久久久久久穴| 亚洲在线一区二区| 美女毛片在线看| 亚洲欧美偷拍三级| 青青草原av在线播放| 国产精品日韩精品在线播放| 精品偷拍各种wc美女嘘嘘| 午夜国产小视频| 亚洲综合社区| 91免费人成网站在线观看18| 久草在线青青草| 亚洲综合图片区| 亚洲污视频在线观看| 激情av综合| 久久影视电视剧免费网站| 亚洲欧美一区二区三区在线观看| 国产揄拍国内精品对白| 免费在线观看一区二区| 50度灰在线| 欧美日韩一区久久| 国产吞精囗交久久久| 国内精品久久久久久久影视麻豆 | www.com毛片| 视频精品国内| 精品国产欧美成人夜夜嗨| 国产又黄又猛又粗又爽| 成人精品视频网站| 日韩精品福利片午夜免费观看| 成人不卡视频| 亚洲欧美激情一区| 一级片免费网址| 国产91色综合久久免费分享| 福利在线小视频| 亚洲日本免费电影| 中文欧美日本在线资源| 亚洲欧美偷拍视频| 波多野结衣在线一区| 日本高清视频免费在线观看| 成人污污视频| 久久伊人色综合| 国产伦精品一区二区三区免.费| 欧美国产精品久久| 成人在线观看a| 久久99国内| 奇门遁甲1982国语版免费观看高清| 国产小视频免费观看| 一区二区三区中文免费| 韩国三级在线播放| 午夜精品久久99蜜桃的功能介绍| 91丨九色丨国产在线| 岛国成人毛片| 日韩欧美一区二区视频| 国产精品九九九九九九| 国产成人免费视频精品含羞草妖精| 黄色一级片av| 亚洲网一区二区三区| 久久99精品久久久久久琪琪| 亚洲av无码一区二区乱子伦| 亚洲线精品一区二区三区八戒| 老女人性生活视频| 韩国欧美一区| 久久综合一区二区三区| xxx欧美xxx| 中文字幕日韩高清| 国产精品久久婷婷| 亚洲免费在线观看视频| 久久无码专区国产精品s| 亚洲经典自拍| 欧美一区观看| 亚洲视频资源| 欧美激情一区二区久久久| 天天干天天操av| 欧美在线观看视频一区二区三区| 五月天婷婷丁香网| 国产高清久久久| 老太脱裤子让老头玩xxxxx| 欧美猛男男男激情videos| 国产日本欧美一区| 污污影院在线观看| 精品在线小视频| 中文字幕乱码一区二区| 自拍偷拍欧美精品| 性活交片大全免费看| 亚洲综合日韩| 四虎免费在线观看视频| 国产精品久久久久久久久久白浆| 日本国产精品视频| 免费日本一区二区三区视频| 亚洲国产成人av在线| 国产精品欧美综合| 一区二区三区日韩在线观看| 91精彩刺激对白露脸偷拍| 激情国产一区二区| 国产av麻豆mag剧集| 精品免费视频| 国产 高清 精品 在线 a| 日本在线精品| 隔壁老王国产在线精品| av在线播放av| 亚洲国产日韩欧美在线动漫| 中文在线免费看视频| 亚洲成年人网站在线观看| 激情五月深爱五月| 97se亚洲国产综合在线| 欧美性猛交xxxx乱大交91| 噜噜噜久久亚洲精品国产品小说| 综合国产精品久久久| 校园春色另类视频| 99re视频在线播放| av久久网站| 奇米四色中文综合久久| 超碰在线免费播放| 亚洲区免费影片| 丰满人妻一区二区| 欧美日韩国产高清一区| 亚洲黄色激情视频| 亚洲一区二区高清| 97精品在线播放| 国产日本欧美一区二区| 男男做爰猛烈叫床爽爽小说| 国产综合久久久久影院| 国产视频在线视频| 欧美在线综合| 2018国产在线| 国产精品v亚洲精品v日韩精品| 亚洲欧洲国产精品久久| 国产欧美日韩视频在线| 精品欧美一区二区精品久久| 伊人久久大香线蕉av超碰| 91在线免费看网站| 国产成人精选| 国产精品对白刺激| av资源亚洲| 97在线视频观看| caoporn-草棚在线视频最| 久久成人av网站| 麻豆传媒免费在线观看| 中文字幕精品久久久久| 国产专区在线| 亚洲人成五月天| 日本大臀精品| 亚洲男女自偷自拍图片另类| 日韩电影免费| 精品亚洲一区二区三区| 三级在线观看| 亚洲天堂av电影| 毛片免费在线观看| 亚洲一区二区福利| 电影av一区| 精品国产一区二区三区在线观看| av网在线观看| 日韩亚洲欧美成人| 免费在线观看av片| 美女久久久久久久| 欧美色图天堂| 国内精品伊人久久| 涩涩涩在线视频| 国产ts一区二区| 精品123区| 国产欧美日韩免费| av一级久久| 超碰97在线人人| 日韩美女毛片| 视频三区二区一区| 国产精品久久久久久久| 欧洲美女和动交zoz0z| 国内精品久久久久久久97牛牛| 玩弄中年熟妇正在播放| 久久一日本道色综合久久| 天天操天天爽天天射| 久久精品噜噜噜成人av农村| 91丨porny丨九色| 成人性生交大片免费看中文网站| a视频免费观看| 亚洲国产精品二十页| av激情在线观看| 午夜精品123| 国产免费a视频| 91麻豆精品91久久久久同性| 丰满人妻av一区二区三区| 亚洲精品有码在线| 天堂а√在线资源在线| 国语自产精品视频在线看| 日本欧美日韩| 亚洲一区二区三区乱码aⅴ| 欧美人妖视频| 一区精品在线| 日韩午夜在线| 污网站在线免费| 99久久精品费精品国产一区二区| 精品无码人妻一区二区免费蜜桃| 亚洲视频免费看| 日韩人妻精品中文字幕| 91精品久久久久久久91蜜桃| 日本天堂在线| 美女少妇精品视频| 三级成人黄色影院| 99在线影院| 欧美综合另类| 欧美日韩一道本| 国产一区999| 亚洲码无人客一区二区三区| 一区二区三区**美女毛片| 自拍偷拍精品视频| 亚洲第一福利在线观看| 免费在线观看av网站| 秋霞av国产精品一区| 一级毛片精品毛片| 亚洲狠狠婷婷综合久久久| 亚洲视频二区| jjzz黄色片| 《视频一区视频二区| chinese国产精品| 亚洲精品99久久久久中文字幕| 国产原创视频在线观看| 国产精品第七十二页| 日本国产精品| 蜜臀精品一区二区| 韩国理伦片一区二区三区在线播放| 国产高潮呻吟久久| 欧美日韩国产在线| 日本黄色不卡视频| 欧美日本亚洲视频| 国产欧美视频在线| 伊人色综合久久天天五月婷| 日韩 欧美一区二区三区| www.久久国产| 午夜欧美在线一二页| www.污视频| 欧美床上激情在线观看| 一区二区三区日本视频| 亚洲精品一区二区三| 久久在线精品| 魔女鞋交玉足榨精调教| 欧美日韩国产页| 神马久久久久久久久久| 欧美激情在线观看视频| 麻豆国产一区| 亚洲第一综合网站| 美女视频黄a大片欧美| 战狼4完整免费观看在线播放版| 色噜噜狠狠色综合中国| 国产中文字幕在线看| 日本不卡免费高清视频| 先锋影音国产精品| 国产无套内射久久久国产| 99re热视频精品| 日韩一区二区视频在线| 日韩精品视频免费| 欧美××××黑人××性爽| 欧美男人的天堂| 日本欧美韩国一区三区| 国产传媒在线看| 欧美老女人在线| 国产写真视频在线观看| 亚洲va码欧洲m码| 禁久久精品乱码| 国产二级一片内射视频播放| 午夜不卡在线视频| 日本一区高清| 国产美女直播视频一区| 婷婷综合社区| 女同性αv亚洲女同志| 亚洲成a人v欧美综合天堂| 头脑特工队2免费完整版在线观看| 青青在线视频一区二区三区| 狠狠做六月爱婷婷综合aⅴ| 欧美wwwwwww| 亚洲综合精品久久| 天堂网www中文在线| 国产精品福利在线| 婷婷伊人综合| 性欧美丰满熟妇xxxx性久久久| 91精品福利在线| 成人免费观看视频大全| 亚洲成人激情av| 国产农村老头老太视频| 欧美二区乱c黑人| 久久亚洲道色| 婷婷丁香激情网| 亚洲乱码国产乱码精品精可以看| 好吊色在线观看| 国产精品久久久久久久久久久久| 希岛爱理一区二区三区| 中国av免费看| 欧美精选一区二区| missav|免费高清av在线看| 欧美精品在线一区| 韩国成人在线视频| 亚洲欧美精品一区二区三区| 久久韩国免费视频| 美女网站色精品尤物极品姐弟| 浓精h攵女乱爱av| 亚洲一区在线视频| av在线免费播放网站| 99re在线观看| 男人操女人的视频在线观看欧美| 国产一级久久久| 在线观看国产精品91| 精品精品国产毛片在线看| 亚洲美女性囗交| 欧美午夜精品久久久久久人妖| 激情在线小视频| 人偷久久久久久久偷女厕|