当前位置:网站首页>Ensemble de données sur les visages masqués et méthode de génération des visages masqués
Ensemble de données sur les visages masqués et méthode de génération des visages masqués
2022-06-29 00:39:00 【Pan Jinquan】
Ensemble de données sur les visages masqués et méthode de génération des visages masqués
Table des matières
Ensemble de données sur les visages masqués et méthode de génération des visages masqués
1.Ensemble de données faciales masquées
(1)Ensemble de données open source-Ensemble de données faciales masquées
(2)Générer un ensemble de données pour les visages masqués
2. Méthode de génération de visages avec masque
(1) Générer une pensée faciale masquée
(4) Générer une présentation faciale masquée
3. Générer un ensemble de données masquées et télécharger le code source
4. Détection faciale et reconnaissance du port d'un masque (Y comprisPython AndroidCode source)
Il y a beaucoup de reconnaissance faciale gratuite sur le Web /Ensemble de données de détection faciale,Comme souventLFW,FDDB,WIDER FACE,300WAttendez., Je pense qu'il y a plusieurs souvenirs . Mais la plupart de ces données faciales sont des visages sans masque , Ne peut pas être utilisé directement pour l'identification du port d'un masque . Il y a aussi un petit ensemble de données ouvertes sur les visages masqués en ligne , Ça m'a pris du temps. , Organisez les ensembles de données sur les visages masqués qui sont courants aujourd'hui , Et la synthèse des données faciales avec masque /Méthode de construction.
- Contient5Ensembles de données: facemask-train1, facemask-train2,facemask-train3, synthetic-train1,synthetic-train2 ,facemask-test ,Au total, il y a environ50000+Données:
- Générer un code Facial masqué : python create_facemask.py
Données du projet et génération de masques faciaux Code source Télécharger l'adresse : Ensemble de données sur les visages masqués et génération de données sur les visages masqués
1.Ensemble de données faciales masquées
(1)Ensemble de données open source-Ensemble de données faciales masquées
Quelques sources ouvertes, Ensemble gratuit de données sur les visages masqués ,downloadDescends., J'ai trouvé ces données open source sales , Beaucoup sont mal étiquetés , J'ai besoin de me laver. ~
| Ensemble de données | Description |
| virus-mask-dataset |
|
| MaskedFace-Net |
|
| Real-World Masked Face Datase |
(2)Générer un ensemble de données pour les visages masqués
La plupart des données sur les visages en ligne sont des visages sans masque , Ne peut pas être utilisé directement pour l'identification du port d'un masque .Compte tenu de ce qui précède,, Nous pourrions envisager de synthétiser nous - mêmes / Générer des données faciales masquées , Voici les ensembles de données faciales masquées et les ensembles de données synthétiques que j'ai recueillis et organisés ,Au total, il y a environ50000+Données:
| Ensemble de données | Description |
| facemask-train1 |
|
| facemask-train2 |
|
| facemask-train3 |
|
| synthetic-train1 |
|
| synthetic-train2 |
|
| facemask-test |
|
2. Méthode de génération de visages avec masque
(1) Générer une pensée faciale masquée
- Tout d'abord, la détection faciale et la détection des points clés faciaux
- Selon les touches faciales , Calculer les informations de position telles que la largeur de la joue et la position du nez ,Même chose., La taille du modèle de couvercle de sortie doit être calculée 、Orientation et emplacement;
- Enfin, collez le masque à la position du visage , Attendez une image synthétique du visage masqué
Certains codes de génération de masques se réfèrent à :
GitHub - sevenHsu/FaceMask_CelebA: Simulated masked face with dataset CelebA
J'ai testé la génération actuelle de codes de port de masques en ligne , Pour les visages corrigés , Les résultats sont bons , Mais si le visage original lui - même est incliné (Tête tordue.), Le code original est alors utilisé directement , La synthèse ne fonctionne pas très bien ,Sur cette base, J'ai fait l'optimisation. :
- Modèle de masque ajouté ,Total29 Différents types de masques , Fournir une variété de données sur les masques synthétiques
- L'angle d'inclinaison du masque est optimisé , Incliner le visage (Tête tordue.)Heure, La synthèse fonctionne aussi bien.
- Optimisation de la détection des visages , Détection faciale légère , Vitesse de génération accélérée
| Image originale | Le code original génère un masque | Générer un masque après optimisation |
![]() | ![]() | ![]() |
| Pour les visages corrigés , Les résultats sont bons , Mais si le visage original lui - même est incliné (Tête tordue.), Le code original est alors utilisé directement , La synthèse ne fonctionne pas très bien | ||
(2) Modèle de masque
Le modèle de masque est le masque MaskImages(PNGFormat),Peut passerPhotoshop La façon de tirer , Supprimer l'arrière - plan ; La copropriété est maintenant disponible 29 Différents types de masques , La diversité des données sur les masques est garantie .


(3) Masque facial Demo
Installez - le.pythonPaquets dépendants connexes
pybaseutils
opencv-python==4.5.1.48
face_recognition
tqdm
torch
torchvisionLe Code est livré avec des images et des données de test , Vous pouvez également remplacer votre propre ensemble de données faciales :
python create_facemask.py# -*-coding: utf-8 -*-
"""
@Author : panjq
@E-mail : [email protected]
@Date : 2022-06-25 22:23:11
@Brief : Générer un ensemble de données faciales masquées
"""
import os
import sys
sys.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_utils
class 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):
"""
Générer un ensemble de données faciales masquées
:param image_dir: Catalogue d'images faciales
:param out_dir: Générer un répertoire de sortie faciale masqué
:param vis: Si les effets visuels
: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" # Image du visage humain
out_dir = "./output" # Générer un répertoire de sortie faciale masqué
fm = FaceMaskDemo()
fm.create_wear_mask_faces(image_dir, out_dir, vis=True)
(4) Générer une présentation faciale masquée
| Image originale | Masque à bande synthétique |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
3. Générer un ensemble de données masquées et télécharger le code source
L'adresse de téléchargement contient :
https://mp.weixin.qq.com/s/4dtC9CeP50M-3nn3xel1Ow
- Contient5Ensembles de données: facemask-train1, facemask-train2,facemask-train3, synthetic-train1,synthetic-train2 ,facemask-test ,Au total, il y a environ50000+Données:
- Générer un code Facial masqué : python create_facemask.py

4. Détection faciale et reconnaissance du port d'un masque (Y comprisPython AndroidCode source)
Préparez l'ensemble de données sur les visages des gentils et l'ensemble de données sur les visages masqués , L'étape suivante consiste à commencer à former des modèles de reconnaissance du port de masques ,Voir:
边栏推荐
猜你喜欢

How to guarantee the delivery quality through the cloud effect test plan

手下两个应届生:一个踏实喜欢加班,一个技术强挑活,怎么选??
![[Gym 102423]-Elven Efficiency | 思维](/img/cf/b65f3db1580a83478f8351cea22040.png)
[Gym 102423]-Elven Efficiency | 思维
![User login (remember the user) & user registration (verification code) [using cookie session technology]](/img/31/c84c1e15aa1c73814c4ad643e3dd36.png)
User login (remember the user) & user registration (verification code) [using cookie session technology]

Report on the convenient bee Lantern Festival: the first peak sales of pasta products this year; prefabricated wine dumplings became the winners
How does the JVM bottom layer implement synchronized
![[gym 102423]-elven efficiency | thinking](/img/cf/b65f3db1580a83478f8351cea22040.png)
[gym 102423]-elven efficiency | thinking

Go1.18 new feature: discard strings Title Method, a new pit!

每日一练:删除有序数组中的重复项

滑环电机是如何工作的
随机推荐
Typescript-- section 4: Functions
【leetcode】153. Find the lowest value in the rotation sort array
MNIST handwritten numeral recognition demo based on pytorch framework
MySQL high availability dual master synchronization
SCP copy folder
Résumé de Manon, 25 ans, diplômé en trois ans
畢業三年的25歲碼農總結
由背景图缓存导致的canvas绘图跨域问题
Mapbox GL loading local publishing DEM data
小白创业做电商,选对商城系统很重要!
2022_ 2_ 16 the second day of learning C language_ Constant, variable
Technology sharing | software development process that you must understand if you want to get started with testing
Nodejs安装和下载
Notes on the infrastructure of large websites
Haskell configuring vs code development environment (june2022)
[Gym 102423]-Elven Efficiency | 思维
oracle 去掉html标签
12. object detection mask RCNN
Windows平台下安装MySQL(附:Navicat Premium 12 “使用” 教程)
6.28 学习内容











https://panjinquan.blog.csdn.net/article/details/125428609