自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何構(gòu)建自己的臉部模糊工具

人工智能 人臉識別
去身份是指將數(shù)據(jù)匿名化的過程。隨著歐洲聯(lián)盟的GDPR和其他國家的類似措施的實施,保護PII(個人身份信息)成為準(zhǔn)備數(shù)據(jù)集或任何個人信息處理的必要步驟。

如何使用OpenCV自定義去識別面

[[412851]]

去身份是指將數(shù)據(jù)匿名化的過程。隨著歐洲聯(lián)盟的GDPR和其他國家的類似措施的實施,保護PII(個人身份信息)成為準(zhǔn)備數(shù)據(jù)集或任何個人信息處理的必要步驟。當(dāng)然,一個人(™)的臉是一個人(™)身份最突出的特征之一,因此有很多解決方案可以檢測和匿名化面孔。但是,它們很難定制和自動化。這是一份DIY指南,面向那些想要使用開放源碼自己做這件事的人。整個代碼示例可以在Colab中運行,并可在此處獲得。 GDPR here:https://github.com/changsin/DL/blob/main/notebooks/deidentify_faces_opencv.ipynb

自動匿名化人臉?biāo)婕暗牟襟E包括:

1.人臉檢測

由于人臉檢測是對象檢測的一種類型,因此我們可以使用深度學(xué)習(xí)網(wǎng)絡(luò)來實現(xiàn)這一目的。OpenCV包含一個深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)經(jīng)過預(yù)先訓(xùn)練,可以使用公開可用的數(shù)據(jù)集檢測人臉。它使用Caffe深度學(xué)習(xí)框架,您可以下載模型定義和預(yù)先訓(xùn)練的權(quán)重文件。下載后,加載它們以創(chuàng)建深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)現(xiàn)在可以檢測圖像中的人臉。 Caffe Deep Learning framework

現(xiàn)在,我們只需要加載圖像并將其傳遞給DNN以檢測人臉,如以下代碼片段所示:

每個預(yù)測結(jié)果包含類別ID(索引=1)、置信度(索引=2)和檢測到的面部坐標(biāo)。

  1. # a sample prediction output from DNN 
  2. array([0.        , 1.        , 0.8745881 , 0.683759570.47576728,        0.753100160.62532324], dtype=float32) 

因為我們只對人臉檢測感興趣,所以我們可以只關(guān)注置信概率,并使用它來接受或拒絕預(yù)測。

現(xiàn)在讓?euro™處理一個示例圖像。我之所以選擇這張公開發(fā)布的圖片,是因為它有不同角度和膚色的People-uro™的面孔。

[[412852]]

當(dāng)置信度閾值設(shè)置為0.5(即50%確信這是一張臉)時,它只檢測到一張臉:面向前面的人。

這是可以理解的,也是所有人臉檢測算法的共同問題。解決這個問題的正確方法是添加更多種類的包含側(cè)面輪廓和其他角度的圖像。一種簡單而廉價的方法就是簡單地降低信心。例如,當(dāng)置信度設(shè)置為0.12時,結(jié)果會好得多。

然而,引入了一個新的問題。在如此低的置信閾值下,預(yù)計會有更多的假陽性和假陰性。你可以在左邊看到三個標(biāo)有標(biāo)簽的盒子。好消息是,您可以在一定程度上控制模型預(yù)測。

2.人臉匿名化

一旦檢測到人臉,下一步就是如何對其進行匿名化/去身份識別。存在不同的技術(shù)。我將展示三種方法:即兩種模糊技術(shù)和一種像素化方法。

a.矩形中的模糊處理

最簡單的方法是使用OpenCVâuro™的模糊方法,該方法通過對卷積內(nèi)核內(nèi)的像素值進行平均來實現(xiàn)。換句話說,卷積的作用相當(dāng)于平滑的過濾。通過調(diào)整內(nèi)核大小,可以獲得或多或少的粗粒度模糊效果。由于圖像是作為多維整數(shù)數(shù)組處理的,因此您只需在一行代碼中將感興趣區(qū)域替換為模糊像素即可: OpenCV’s blur

  1. image[startY:endY, startX:endX] = cv2.blur(image[startY:endY, startX:endX], kernel_size) 

以下是使用kernel_size(20,20)時的結(jié)果:

b.省略號中的模糊處理

雖然在矩形中進行模糊可以實現(xiàn)所需的匿名化,但生成的圖像看起來相當(dāng)不和諧。使用較小的核大小,可以平滑不一致的模糊,但另一種方法是在橢圓中進行模糊,因為People?uro™的臉是橢圓形的。要做到這一點,需要通過創(chuàng)建掩碼和執(zhí)行一些按位操作來完成一些工作。以下是(10,10)內(nèi)核大小的結(jié)果:

c.像素化

另一種流行的去識別人臉的方法是使用œ像素化。在像素化中,感興趣的區(qū)域被分成幾個小塊。-euro�在像素化中,感興趣的區(qū)域被分成幾個小塊。對于每個擋路,將計算平均RGB值并將其應(yīng)用于整個擋路。如您所見,生成的圖像看起來非常自然:

結(jié)論

取消人臉識別是保護隱私的第一步。雖然有許多現(xiàn)成的解決方案可用,但本文展示了使用OpenCV進行自定義和自動化的簡單DIY步驟。整個源代碼都在Jupyter筆記本上,可以在這里找到。https://github.com/changsin/DL/blob/main/notebooks/deidentify_faces_opencv.ipynb

參考文獻

  • 使用OpenCV和Python模糊和匿名化人臉
  • 基于OpenCV和深度學(xué)習(xí)的人臉檢測

 

 

責(zé)任編輯:張燕妮 來源: 磐創(chuàng)智能
相關(guān)推薦

2018-04-23 13:10:01

2016-09-18 10:08:38

Linux發(fā)行版SUSE Studio

2025-02-10 12:00:00

圖像分類OpenCVPython

2020-02-24 11:11:10

IT企業(yè)技術(shù)

2022-06-23 09:44:01

LinuxLive CD

2017-02-09 09:30:18

UbuntuDokuWikiApache

2017-05-11 09:10:31

CAN-bus應(yīng)用層協(xié)議

2024-05-16 09:20:29

OllamaLlama3框架

2018-07-27 16:18:30

PythonTwitter機器人

2024-08-12 16:42:50

二進制工具系統(tǒng)

2013-11-20 09:26:21

AngularJSJavaScript

2011-09-09 10:49:18

2023-07-30 17:34:53

KV存儲ChunkPosit

2014-07-30 09:35:36

DockerPaaS

2012-11-13 11:29:51

Ubuntu

2015-10-26 13:41:41

Aleax查詢服務(wù)

2015-09-06 10:58:36

PHP框架搭建結(jié)構(gòu)

2021-05-21 05:22:52

腳手架工具項目

2018-08-15 08:34:26

開發(fā)Java代碼

2020-04-23 08:55:01

LinuxGradle工具
點贊
收藏

51CTO技術(shù)棧公眾號