戴口罩人脸数据集和戴口罩人脸生成方法
戴口罩人臉數據集和戴口罩人臉生成方法
目錄
戴口罩人臉數據集和戴口罩人臉生成方法
1.戴口罩人臉數據集
(1)開源數據集-戴口罩人臉數據集
(2)生成戴口罩人臉的數據集
2.戴口罩人臉生成方法
(1)生成戴口罩人臉思路
(2)口罩模板
(3)戴口罩人臉生成Demo
(4)生成戴口罩人臉效果展示
3. 生成戴口罩數據集和源碼下載
4.?戴口罩人臉檢測和戴口罩識別(含Python Android源碼)
目前網上已經開源了很多免費的人臉識別/人臉檢測數據集,比如常見的LFW,FDDB,WIDER FACE,300W等,估計加起來都有好幾個憶了。但這些人臉數據絕大部分都是不戴口罩的人臉,不能直接用于戴口罩識別中。網上也有少許開源的戴口罩人臉數據集,鄙人花了點時間,整理一下目前常見的戴口罩人臉數據集,以及戴口罩人臉數據的合成/生成方法。
項目數據和生成戴口罩人臉源碼下載地址:???????戴口罩人臉數據集和生成戴口罩人臉數據
1.戴口罩人臉數據集
(1)開源數據集-戴口罩人臉數據集
一些開源的,免費的戴口罩人臉數據集,download下來,發現這些開源的數據比較臟,有挺多也是標注錯誤的,需求自己清洗一下哦~
| 數據集 | 說明 |
| virus-mask-dataset |
|
| MaskedFace-Net |
|
| ?Real-World Masked Face Datase |
|
(2)生成戴口罩人臉的數據集
網上絕大部分人臉數據都是不戴口罩的人臉,不能直接用于戴口罩識別中。鑒于此,我們可以考慮自己合成/生成戴口罩的人臉數據,以下是鄙人收藏和整理的戴口罩人臉數據集和合成的數據集,總共約有50000+的數據:
| 數據集 | 說明 |
| facemask-train1 |
|
| facemask-train2 |
|
| facemask-train3 |
|
| synthetic-train1 |
|
| synthetic-train2 |
|
| facemask-test |
|
2.戴口罩人臉生成方法
(1)生成戴口罩人臉思路
一些戴口罩生成代碼參考:
GitHub - sevenHsu/FaceMask_CelebA: Simulated masked face with dataset CelebA
給人臉戴上口罩,Python實戰項目來了_我愛Python數據挖掘的博客-CSDN博客
我測試了目前網上的生成戴口罩代碼,對于已經矯正的人臉,生成效果還是不錯的,但如果原始人臉本身就是傾斜(歪頭),這時直接使用原始代碼,合成的效果就很差了,在此基礎上,我做了優化工作:
| 原始圖片 | 原始代碼生成戴口罩 | 優化后生成戴口罩 |
| 對于已經矯正的人臉,生成效果還是不錯的,但如果原始人臉本身就是傾斜(歪頭),這時直接使用原始代碼,合成的效果就很差了 | ||
(2)口罩模板
口罩模板即口罩Mask圖像(PNG格式),可以通過Photoshop摳圖的方式,把背景去除;目前已經提供了共有29種不同類型的口罩模板,保證了口罩數據的多樣性。
(3)戴口罩人臉生成Demo
安裝好python相關依賴包
pybaseutils opencv-python==4.5.1.48 face_recognition tqdm torch torchvision? ?代碼已經自帶了測試圖片和數據,你也可以更換成自己的人臉數據集:
python create_facemask.py # -*-coding: utf-8 -*- """@Author : panjq@E-mail : pan_jinquan@163.com@Date : 2022-06-25 22:23:11@Brief : 生成戴口罩人臉數據集 """ import os import syssys.path.insert(0, os.getcwd()) sys.path.insert(0, "libs") from tqdm import tqdm from facemask.wearmask import FaceMaskCreator from pybaseutils import file_utils, image_utilsclass FaceMaskDemo(object):def __init__(self):self.mask_creator = FaceMaskCreator(detect_face=True, alignment=False)def create_wear_mask_faces(self, image_dir, out_dir=None, vis=True):"""生成戴口罩人臉數據集:param image_dir: 人臉圖片目錄:param out_dir: 生成戴口罩人臉輸出目錄:param vis: 是否可視化效果:return:"""image_list = file_utils.get_files_lists(image_dir)for image_path in tqdm(image_list):image_id = os.path.basename(image_path).split(".")[0]image = image_utils.read_image(image_path, size=(512, None), use_rgb=True)mask, face_rects = self.mask_creator.create_masks(image, mask_type="random", vis=vis)if out_dir:self.mask_creator.save_image(image, mask, face_rects, out_dir, image_id)if __name__ == '__main__':image_dir = "./facemask/test_image" # 人臉圖片out_dir = "./output" # 生成戴口罩人臉輸出目錄fm = FaceMaskDemo()fm.create_wear_mask_faces(image_dir, out_dir, vis=True)(4)生成戴口罩人臉效果展示
| 原圖 | 合成帶口罩圖 |
3. 生成戴口罩數據集和源碼下載
下載地址包含內容有:???????戴口罩人臉數據集和生成戴口罩人臉數據
4.?戴口罩人臉檢測和戴口罩識別(含Python Android源碼)
準備好人臉數據集和戴口罩人臉數據集,下一步就可以開始訓練戴口罩識別模型,請參考:
https://panjinquan.blog.csdn.net/article/details/125428609https://panjinquan.blog.csdn.net/article/details/125428609
總結
以上是生活随笔為你收集整理的戴口罩人脸数据集和戴口罩人脸生成方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux网络管理员认证考试,红帽认证系
- 下一篇: 深度学习修炼(三)——自动求导机制