原來電影裡人臉識別馬賽克技術這麼簡單,只要這樣就可以解決……

2021-03-02 碼書新工場

本文來自CSDN博客專欄《使用PyQt開發圖形界面Python應用》

更多優質博文請點擊閱讀原文

引言


在moviepy官網的案例《Tracking and blurring someone’s face》和CSDN的moviepy大神ucsheep《MoviePy - 中文文檔4-MoviePy實戰案例-追蹤人臉,打馬賽克》都提供了追蹤人臉並給影片中卓別林臉部打馬賽克的樣例,二者代碼完全相同。

但老猿按照同樣的方法實現卻報ImportError錯:

from moviepy.video.tools.tracking import manual_tracking, to_fxfyImportError: cannot import name 'to_fxfy' from 'moviepy.video.tools.tracking' (C:\Program Files\Python37\lib\site-packages\moviepy\video\tools\tracking.py)

查看tracking .py的源碼,確實沒有 to_fxfy方法。

為了解決該問題,老猿到處查找該問題相關資料,在ucsheep大神的QQ群內進行了諮詢,並在moviepy的github項目中進行了諮詢。ucsheep大神可能太忙,沒有就該問題進行答覆,而moviepy開源項目負責人之一tburrows13是這樣答覆的:

"Indeed the examples for some of these advanced tools are out of date or nonexistent (#850, #167). I'm expecting to update them soon.In the meantime, have a look at #1061 or consider the documentation: https://zulko.github.io/moviepy/ref/videotools.html#module-moviepy.video.tools.tracking which looks like it is more up-to-date."

參考了 1061相關答覆,試了下還是報錯:ValueError: assignment destination is read-only 。

沒辦法,老猿只好閱讀原始碼,反覆進行測試,循序漸進,曲折前進,最後實現了三種不同方式的人臉追蹤打馬賽克,下面就為大家介紹第一種解決思路。

背景知識


2.1、headblur簡介

追蹤人臉打馬賽克需要使用headblur函數。

調用語法:

headblur(clip,fx,fy,r_zone,r_blur=None)

說明:

其中參數fx和fy是兩個函數,該函數帶參數t,用於確認t時刻需要模糊化範圍的中心點位置,moviepy將對以中心點為圓心半徑r_zone的圓範圍內的圖像進行模糊化處理,模糊化處理時的卷積核大小由r_blur指定。關於r_blur參數的作用請大家參考《moviepy音視頻剪輯:headblur的參數r_blur卷積核的功能作用及用途》。

2.2、manual_tracking簡介

manual_tracking是moviepy的工具模塊moviepy.video.tools.tracking提供的函數,該模塊還提供了autoTrack函數和findAround,其中findAround是供manual_tracking和autoTrack使用,autoTrack是根據匹配模式自動選擇跟蹤對象,後面再介紹。manual_tracking用於手工選擇要跟蹤的位置。

manual_tracking(clip, t1=None, t2=None, fps=None, nobjects = 1, savefile = None)

說明:

 t1、t2:用於指定需要進行跟蹤的剪輯位置範圍,如果t2為None,則只跟蹤t1位置的幀,如果t1、t2都為None則跟蹤整個剪輯

 fps:該參數不是剪輯本身的fps,而是跟蹤時剪輯的以秒為單位的時間範圍內需要顯示的幀數,即在跟蹤時,每秒的時間長度範圍內需要抽取fps參數設定的幀數圖像來顯示,如t1和t2定義的剪輯跟蹤長度為30秒,fps設置為2,則跟蹤時moviepy會從剪輯中每秒抽取2幀顯示,跟蹤者需要對60幀圖像標記跟蹤位置

 nobjects :每幀中需要跟蹤位置的個數,預設為1,當需要跟蹤多個對象時設置為實際跟蹤對象的個數

 savefile :跟蹤數據需要寫入文件時由該參數指定保存文件的名稱,可以帶路徑。

manual_tracking會根據參數 t1、t2以及fps和nobjects 設定,將剪輯 t1到t2位置的子剪輯逐幀顯示出來,讓操作者通過滑鼠點擊跟蹤對象如人臉的中心,manual_tracking記下點擊位置的xy坐標和對應剪輯的位置t,直到該時間段內所有幀都會,返回值為一個Trajectory對象組成的列表,列表元素的個數為nobjects參數的值指定。

方法一:實現自己的fx、fy方法


從headblur的參數介紹可以獲知,fx、fy是返回二者參數t所在剪輯位置的跟蹤點坐標,因此老猿按照這個目標來實現了這2個函數,由於跟蹤點的手工跟蹤一般不會設置fps很大,如設置為2,因此實際手工跟蹤的幀的數量遠少於實際數量,因此這個函數需要確保沒跟蹤的幀在fx、fy函數中也能返回對應坐標,老猿的處理很簡單粗暴,對這種幀就返回距其最近的跟蹤幀的坐標。

3.1、實現代碼:

if __name__ == '__main__':def main(): movie_in = sys.argv[1] #參數指定的視頻文件名if len(sys.argv) == 3: #是否指定了只加載視頻的前n秒,n為浮點數 subclip_s = float(sys.argv[2])else: subclip_s = None
clip = VideoFileClip(movie_in)if subclip_s is not None: clip = clip.subclip(0, subclip_s)
tracking = moviepy.video.tools.tracking.manual_tracking(clip, fps=2)[0] #取返回的第一個跟蹤對象,實際上nobjects使用的是默認值1,因此也就一個跟蹤對象 trackingInf = list(zip(tracking.tt, tracking.xx, tracking.yy)) #將跟蹤點相關的時間、橫坐標信息、縱坐標保存到列表trackingInf,即列表中每個元素為元組,該元組為(t,x,y)形式
#定義fx和fy函數:def fx(t):nonlocal trackingInf t1 = t2 = Nonefor tc in trackingInf:if t == tc[0]: #t即為跟蹤的幀return tc[1]elif t > tc[0]: #記錄t前面最近的跟蹤幀 t1 = tcelse:#找到t之後最近的跟蹤幀if t1: #前面有跟蹤幀 d1 = t - t1[0] d2 = tc[0] - t d = min(d1, d2)return t1[1] if d == d1 else tc[1]else: #t應該至少前面有個跟蹤幀、後面也有個跟蹤幀,否則為異常數據return 0
return tc[1] #返回x坐標
def fy(t):nonlocal trackingInf t1 = t2 = Nonefor tc in trackingInf:if t == tc[0]:return tc[2]elif t > tc[0]: t1 = tcelse:if t1: d1 = t - t1[0] d2 = tc[0] - t d = min(d1, d2)if d > 0.5: return 0return t1[2] if d == d1 else tc[2]else:return 0
return tc[2]#返回y坐標
clip_blurred = clip.fx(vfx.headblur, fx, fy, 30) #進行模糊化處理,圓半徑設置為30像素 clip_blurred.write_videofile(movie_in + '_blurred_me.mp4', bitrate="3000k") #輸出文件
    main()

3.2、執行效果

啟動參數設置為F:\video\zbl1.mp4 54,對應視頻為卓別林《淘金記》,加載視頻的前4秒,跟蹤設置為整個剪輯跟蹤,fps為2,因此需要選擇8個幀的跟蹤數據。最終輸出後的視頻動畫:

總體效果看起來還不錯,就是當頭部動作幅度比較大時有少許幀會遮不住。

方法二:參考老版本實現的to_fxfy


上面的代碼雖然達到了想要的效果,但一點也不Pythonic,老猿也非常不滿意,但實現這個的同時,老猿想到了一個主意,就是找到以前能夠提供to_fxfy的tracking.py文件對應的moviepy版本,參考老版本的to_fxfy來實現自己的to_fxfy,但這個老版本可不好找。

4.1、查找提供了to_fxfy的moviepy版本

按照ucsheep《MoviePy - 中文文檔4-MoviePy實戰案例-追蹤人臉,打馬賽克》發布的時間是2018年9月,但網上也沒有找到moviepy的版本發布時間,沒辦法只好根據自己的猜測一個個版本安裝查看。

首先使用命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy==3來安裝一個沒有的版本,因為moviepy最新發布正式版本為1.03,指定3的版本是肯定沒有的,此時安裝程序會報錯並列出所有的moviepy版本。相關輸出信息如下:

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting moviepy==3 ERROR: Could not find a version that satisfies the requirement moviepy==3 (from versions: 0.2.1.6.3.linux-i686, 0.2.1, 0.2.1.1, 0.2.1.2, 0.2.1.3, 0.2.1.4, 0.2.1.5, 0.2.1.6, 0.2.1.6.1, 0.2.1.6.2, 0.2.1.6.3, 0.2.1.6.4, 0.2.1.6.5, 0.2.1.6.7,0.2.1.6.8, 0.2.1.6.9, 0.2.1.6.91, 0.2.1.6.92, 0.2.1.6.93, 0.2.1.7, 0.2.1.7.2, 0.2.1.7.3, 0.2.1.7.8, 0.2.1.7.9, 0.2.1.7.10, 0.2.1.7.11, 0.2.1.7.12, 0.2.1.7.13,0.2.1.7.14, 0.2.1.7.15, 0.2.1.7.16, 0.2.1.7.17, 0.2.1.7.18, 0.2.1.7.19, 0.2.1.7.20, 0.2.1.7.21, 0.2.1.7.22, 0.2.1.8, 0.2.1.8.1, 0.2.1.8.2, 0.2.1.8.3, 0.2.1.8.4,0.2.1.8.5, 0.2.1.8.6, 0.2.1.8.7, 0.2.1.8.8, 0.2.1.8.9, 0.2.1.8.10, 0.2.1.8.11,0.2.1.8.12, 0.2.1.9, 0.2.1.9.1, 0.2.1.9.2, 0.2.1.9.3, 0.2.1.9.4, 0.2.1.9.5, 0.2.1.9.7, 0.2.2, 0.2.2.1, 0.2.2.2, 0.2.2.3, 0.2.2.4, 0.2.2.5, 0.2.2.6, 0.2.2.7, 0.2.2.8, 0.2.2.9, 0.2.2.10, 0.2.2.11, 0.2.2.12, 0.2.2.13, 0.2.3.1, 0.2.3.2, 0.2.3.3, 0.2.3.4, 0.2.3.5, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 2.0.0.dev1)ERROR: No matching distribution found for moviepy==3

可以看到moviepy的版本很多,老猿根據大致的時間前後安裝了10個版本,最後確認了0.2.1.8.5是最後一個提供to_fxfy的版本。

4.2、仿照舊版的to_fxfy函數實現自己的to_fxfy函數

老版本中,to_fxfy的函數實現代碼如下:

from scipy.interpolate import interp1d
def to_fxfy(txy_list, **kwargs):""" Transforms a list [ (ti, (xi,yi)) ] into 2 functions (fx,fy) where fx : t -> x(t) and fy : t -> y(t). If the time t is out of the bounds of the tracking time interval fx and fy return the position of the object at the start or at the end of the tracking time interval. Keywords can be passed to decide the kind of interpolation, see the doc of ``scipy.interpolate.interp1d``."""
tt, xx, yy = zip(*txy_list) interp_x = interp1d(tt, xx, **kwargs) interp_y = interp1d(tt, yy, **kwargs) fx = lambda t: xx[0] if (t <= tt[0]) else ( xx[-1] if t >= tt[-1]else ( interp_x(t) ) ) fy = lambda t: yy[0] if (t <= tt[0]) else ( yy[-1] if t >= tt[-1]else ( interp_y(t) ) )return fx,fy

可以看到該函數使用了scipy.interpolate的插值函數interp1d(這讓老猿想起很多年前在大學學習的數值分析的插值算法,畢業後一直沒用過都忘光了),於是老猿仿照該函數結合現在的manual_tracking版本實現了自己的to_fxfy函數,代碼如下:

def to_fxfy(trackingInf, **kwargs): tt, xx, yy = trackingInf interp_x = interp1d(tt, xx, **kwargs) interp_y = interp1d(tt, yy, **kwargs) fx = lambda t: xx[0] if (t <= tt[0]) else (xx[-1] if t >= tt[-1]else (interp_x(t))) fy = lambda t: yy[0] if (t <= tt[0]) else (yy[-1] if t >= tt[-1]else (interp_y(t)))return fx, fy

參數trackingInf為一個三元組,分別對應跟蹤點的時間列表、x坐標列表和y坐標列表。

4.3、結合to_fxfy函數改造方法一的主程序代碼

結合該函數將主程序改為如下代碼:

if __name__ == '__main__': movie_in = sys.argv[1]if len(sys.argv) == 3: #參數指定的視頻文件名 subclip_s = float(sys.argv[2]) #是否指定了只加載視頻的前n秒,n為浮點數else: subclip_s = None
clip = VideoFileClip(movie_in)if subclip_s is not None: clip = clip.subclip(0, subclip_s)

tracking = moviepy.video.tools.tracking.manual_tracking(clip,0,3, fps=2)[0] #取返回的第一個跟蹤對象,實際上nobjects使用的是默認值1,因此也就一個跟蹤對象 trackingInf = (tracking.tt, tracking.xx, tracking.yy)#將跟蹤點相關的時間、橫坐標信息、縱坐標保存到列表trackingInf,即列表中每個元素為元組,該元組為(t,x,y)形式

fx,fy = to_fxfy(trackingInf)
clip_blurred = clip.fx(vfx.headblur, fx, fy, 30) #進行模糊化處理,圓半徑設置為30像素
clip_blurred.write_videofile(movie_in + '_blurred_tofxfy.mp4')

可以看到代碼就很有Python特色、簡潔多了,具體在處理這個視頻的效果上比方法一要好,在頭部動作幅度大點時馬賽克的圓也能跟上。

方法三:使用新版本實現


在方法二實現to_fxfy函數時,老猿想到了兩點,第一點是老版本使用to_fxfy新版本丟棄了,但老版本能支持的功能新版本肯定是有更好的辦法,第二點是看到to_fxfy調用插值函數,而新版本的Trajectory對象就有2個插值對象xi和yi,那麼是否在新版本中將fx和fy使用Trajectory對象的xi和yi代替呢?經驗證測試,最終確認moviepy新版本就是這樣設計的,不過當使用numpy的版本比較高時會遇到另外的問題,可以通過降低numpy版本到1.14.5等辦法來解決。具體的老猿將在另外的文章中介紹。

使用新版本方法的程序代碼與方法二隻有兩點變化,一是無需單獨定義to_fxfy,二是將headblur調用的參數fx、fy換成跟蹤對象的xi和yi。

使用新方法的程序代碼:
if __name__ == '__main__':    movie_in = sys.argv[1]if len(sys.argv) == 3: 


關於自動跟蹤


moviepy除了使用manual_tracking手動追蹤,另外還提供了autoTrack自動追蹤的方式,該方式提供需要匹配的跟蹤對象的圖像數組,自動在剪輯對應幀中去查找跟蹤對象,老猿將在後面的博文中單獨介紹結合手動追蹤一個幀獲得目標對象的圖像數組後自動追蹤該目標對象在其餘幀中的位置。對於一個較長的剪輯來說,自動追蹤可以避免選擇多個幀來手動跟蹤目標對象,但自動追蹤無法精確判斷對應幀中是否有跟蹤對象,如果一個幀無對應跟蹤對象它也會找到一個認為比較匹配的區域,另外有跟蹤對象的幀中也不能完全保障精確匹配,因此精確度比手動跟蹤低很多。

小結


上面介紹了老猿結合manual_tracking使用headblur實現跟蹤人臉打馬賽克的三個階段過程,可以看到由於缺乏文檔資料,在實現中走了些彎路,但問題的解決過程也是頗有成就感的一個過程。

另外用第三種方法會遇到numpy數組只讀等問題,這些問題也花了老猿一些時間去解決,將在後面付費專欄的博文中介紹,到時將文章連結更新到本文中來。

更多moviepy的介紹請參考《PyQt+moviepy音視頻剪輯實戰文章目錄》或CSDN博客專欄《使用PyQt開發圖形界面Python應用》。

掃碼一鍵解鎖76篇原創博文

Qt是跨平臺的C++圖形界面開發平臺,開發的應用可以跨平臺使用,PyQt是基於Qt基礎之上進行的Python封裝,既能利用Qt圖形界面開發的便捷性和內部實現的高效性,又能利用Python語言的便捷性和優雅特色。本課程介紹基於Qt Designer的圖形設計來實現Python圖形界面開發。 

相關焦點

  • 人臉識別技術解析
    用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關技術,通常也叫做人像識別、面部識別。傳統的人臉識別技術主要是基於可見光圖像的人臉識別,這也是人們熟悉的識別方式。簡單的來說就是一個讓計算機認出你的過程。人臉識別技術主要是通過人臉圖像特徵的提取與對比來進行的。
  • 硬核科普:一文看懂人臉識別技術流程
    接下來,就要對特徵空間裡的數據進行分類了,讓它們眼睛歸眼睛,鼻子歸鼻子,頭髮歸頭髮……基於這些分類好的數據,計算機才可以進行識別判斷和決策。好了,基於以上對計算機視覺模式識別的討論,我們就可以給出人臉識別系統的主要功能模塊了:可能有小夥伴覺得上面這個舉出功能模塊太簡單了,所以我們再精確一些,給出下面的邏輯架構圖,相信不難理解:人臉識別的主流方法在上面一部分,我們主要介紹了人臉識別的基本邏輯流程,其實人臉識別的基本思想是比較類似的,都是要將圖像中的特徵提取出來,轉換到一個合適的子空間裡
  • 詳解蘇寧門店的人臉識別技術
    人臉識別最為關鍵的技術點就是人臉的特徵提取,直到2014年deepface首次將深度學習的引入,這項技術才得到了質的突破,使得人臉識別技術真正走到了商業可用階段。目前的研究主要集中在網絡結構的改進和損失函數的改進上。隨著研究的深入,目前人臉識別技術上的壁壘正在被打破,而人臉資料庫的資源是業內巨頭保持領先的另一個重要武器。
  • iPhone Face ID與其他人臉識別技術有什麼不一樣?
    為了更精準的提高識別率和準確率就要採樣更多的點,部分設備的人臉識別技術採集用戶的 128 個面部識別點,128個點描述一個人的面部特徵也基本夠了。但是這還有一個問題,2D的面部識別只是一個平面,雖然通過算法可以區分出簡單的照片,但是還是有很多方法可以用照片來騙過去的,其實目前這些安卓的人臉識別都有這個問題,包括三星。
  • 人臉識別中的人臉表情識別技術
    隨著人臉識別技術的發展,如今在識別中應用到對人臉的表情進行識別,可以應用在人機互動、安全、機器人製造、醫療、通信和汽車領域等。那麼,暢視智能來告訴人臉識別技術的人臉表情識別要如何進行?圖像獲取:通過人臉識別攝像頭等圖像捕捉工具獲取靜態人臉圖像或動態圖像序列。
  • 兩種AI技術因馬賽克「大打出手」,「隱私」在一旁瑟瑟發抖
    給圖片打碼基本上不存在什麼難度,由於圖片是靜態的,因此選中區域,直接操作就可以。但涉及給動態視頻打碼的時候,技術難度就出來了。視頻是由一幀一幀的圖片組成的,看起來要解決這個問題最直接的方式就是對每一幀圖片都打碼,然後組合在一起,視頻打碼就大功告成。但顯然不太可能。傳統的電影膠片一秒鐘有24幀,即便是處理一個5分鐘的視頻,也要處理上千張圖片,活幹完估計看什麼都成馬賽克了。
  • 人臉識別技術升級 戴著口罩也能刷臉打卡
    在人工智慧技術迅猛發展的當下,人臉識別已經不是一件新鮮事。但新冠肺炎疫情下,在建築工地、學校機關等需要鑑別入場人員身份信息的場所,人員在佩戴口罩、安全帽後,實現人臉快速識別並同步檢測體溫,成為一項全新的技術成果。戴口罩進行人臉識別的技術難點在哪裡?現有成果如何提供「一手抓防疫、一手抓生產」的解決方案?未來該技術還有怎樣的應用空間?
  • 人臉識別技術實現方法全解析
    人臉識別,一種基於人的臉部特徵信息進行身份認證的生物特徵識別技術。近年來,隨著歐美發達國家人臉識別技術開始進入實用階段後,人臉識別迅速成為近年來全球的一個市場熱點。雖然人臉識別技術經常聽,但你知道它是如何實現的嗎?
  • 危險的人臉識別
    當不少人驚嘆於其換臉效果的逼真之時,一些人開始擔憂:倘若這一技術被居心叵測的人利用,同樣「僅需一張照片」,你就可能變成色情電影演員、犯罪事件主角或其他你不想成為的人。而這些以假亂真的素材,極有可能成為新型敲詐或詐騙的趁手工具。就像網友擔心的那樣:視頻欺詐很快會成為最流行的犯罪玩法,對騙術識別能力差的老人有極高殺傷力.卸載ZAO(很多人這麼做了),也許能減少一些你的擔憂。
  • 全新iphoneX面容ID人臉識別技術是什麼?
    蘋果今年的重頭戲十周年紀念版iPhoneX手機搭載Face ID (又稱面容ID技術)面部識別技術,可以用人臉直接解鎖屏幕。這無疑是蘋果的一項重大技術革新,那iPhoneX啟用的Face ID人臉識別技術到底厲害在哪?
  • 關於faceID——近紅外人臉識別技術的分析介紹
    打開APP 關於faceID——近紅外人臉識別技術的分析介紹 發表於 2019-08-23 11:07:37 人臉識別是生物特徵識別領域中最常用的一種模態
  • 這樣做就能騙過「人臉識別」
    說到刷臉支付,這在幾年前還只是一句玩笑話,而現在購物時「刷臉」支付、用手機時「刷臉」解鎖、坐高鐵時「刷臉」進站……如今,越來越多的事情可以「刷臉」,也就是用人臉識別技術來解決。測試中,科研人員先將手機放置在一個三腳架上,再在手機對面放上面具,然後進行光線、色溫以及角度的調節,經過幾次比對,手機被成功解鎖了,這代表手機將面具識別成了人臉。專家表示,這款面具的製作成本並不高,只要不是在極暗或極亮的背景下,通過面具或頭套進行人臉識別的成功率高達3成。
  • 馬賽克也不安全?「大片」中的馬賽克,能被AI一鍵去除了
    馬賽克也不安全了!欸,朋友們好啊,我是極果網最能吃的鍵盤俠極果君。剛才有個朋友問我,極果君發生什麼事啦?我說怎麼回事,給我發了幾張截圖。我一看,哦——原來是上個月,世界最大同性交友平臺GitHub網站火了一個項目,名叫Depix。這個名字很好理解,「反像素」嘛,也就是利用AI技術去除馬賽克。這事有好有壞。
  • 人臉識別除了可以破案,還能製造冤案...
    或者這哥們要是一個白人臉,他們還會不會這樣輕易認錯?這件事時隔許久又在這個敏感時刻被人提起,一方面不由讓人擔心美國的整體社會環境,但是另一方面,也是因為警方過度依賴人臉識別軟體導致。長久以來,人臉識別軟體的批評人士一直認為,人臉識別技術暫時還無法可靠地識別嫌疑人,特別是識別顆粒狀的監控照片。人臉識別技術開發商也曾多次警告,不要將其技術作為逮捕嫌犯的唯一依據,而僅僅作為輔助功能。當然不僅僅是黑人,其實白人也被人臉識別軟體坑過。
  • 美國紐約州籤署法案:禁止人臉識別技術進校園
    紐約州禁止人臉識別技術進校園據當地媒體報導,近日,紐約州州長安德魯·庫莫籤署了一項法案,禁止在學校使用面部識別技術和其他生物識別技術。庫莫表示,面部識別技術能夠使紐約人獲益良多,但它的使用會帶來嚴重和法律層面的隱私擔憂,因此不得不進行檢驗,尤其是在校園裡。
  • 人臉識別技術被攻克,你的臉將不再受你自己控制!
    雖然說諸多科技公司一再宣傳人臉技術識別技術的安全性,但是近期發生的多個案例表明,人臉識別技術的某些漏洞已經被攻破並被大肆應用。近期,警方抓獲了一個人臉識別認證黑產團夥,終結詐騙團隊有幸參與關鍵作案過程的還原工作。下面二弟就為你客觀、真實揭秘這一犯罪過程,並評估風險,提出相關建議。案件的起因很簡單。
  • 「人臉識別」,我們還能承受多少風險?
    在蓋普商店裡識別克魯斯的技術是依賴於嵌入他體內的一塊晶片。在21世紀的前20年,現實世界的技術進步甚至已經超過史匹柏的想像,因為今天已經不需要這樣的晶片。人臉識別技術利用基於人工智慧的計算機視覺與相機,輔以雲數據,可以識別進入商店的顧客面孔,無論他們是上周還是一小時前曾經來過。
  • 對抗人臉識別的一個新方法:隱藏身份、隨機換臉
    雷鋒網 AI 科技評論按:人臉識別技術已經進入了大規模應用,個人數據的隱私問題也得到越來越多關注,針對隱私保護、躲避和攻擊人臉識別系統的研究也陸續出現。:在不改變原來的數據分布的前提下把人臉匿名化,更通俗地說就是模型的輸出還是一張逼真的人臉,姿態和背景也和原圖相同,但完全無法識別出原來的人臉身份,也就是「換了一張臉」。
  • 人臉識別考勤機哪個品牌好_人臉識別考勤機排行榜
    人臉識別考勤機哪種品牌好。人臉識別考勤機,作為一種全新的技術領域,目前在有些企業中已經廣泛得到運用。本文主要介紹了人臉識別考勤機的幾大優秀品牌,一起來看下文。   人臉識別考勤機排行榜——probuck普羅巴克   凱拔(中國)科技有限公司,是KABA集團旗下全資子公司,是國內智能鎖領域的領導企業。
  • 對於人臉識別技術,西方國家為什麼如此糾結?
    人臉識別技術難以有效遏制然而,對這一技術的遏制卻陷入了僵局。在美國和歐洲,監管人臉識別進展緩慢,主要原因有兩個。一方面,出於對安全的考慮,政府並不情願遏制這項技術。「歐洲將有對人臉識別更嚴格的限制」儘管如此,Patrick Breyer 說,他相信相比美國,歐洲最終會有對人臉識別更嚴格的限制,因為歐盟的《基本權利憲章》賦予每個歐洲公民「保護與其有關的個人數據的權利」,這將保護歐洲不會濫用人臉識別,而美國憲法對此隻字未提,更不會這樣做。