91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過深度學(xué)習(xí)為蒙娜麗莎添加動畫效果

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-11-18 17:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

坊間傳聞,當(dāng)您在房間里走動時(shí),蒙娜麗莎的眼睛會一直盯著您。

這就是所謂的“蒙娜麗莎效應(yīng)”。興趣使然,我最近就編寫了一個(gè)可互動的數(shù)字肖像,通過瀏覽器和攝像頭將這一傳說變成現(xiàn)實(shí)。

這個(gè)項(xiàng)目的核心是利用 TensorFlow.js、深度學(xué)習(xí)和一些圖像處理技術(shù)??傮w思路如下:首先,我們必須為蒙娜麗莎的頭部以及從左向右注視的眼睛生成一系列圖像。從這個(gè)動作池中,我們根據(jù)觀看者的實(shí)時(shí)位置連續(xù)選擇并顯示單個(gè)幀。

TensorFlow.js
https://tensorflow.google.cn/js

接下來,我將從技術(shù)層面詳細(xì)介紹該項(xiàng)目的設(shè)計(jì)和實(shí)現(xiàn)過程:

通過深度學(xué)習(xí)為蒙娜麗莎添加動畫效果

圖像動畫是一種調(diào)整靜止圖像的技術(shù)。使用基于深度學(xué)習(xí)的方式,我可以生成極其生動的蒙娜麗莎注視動畫。

具體來說,我使用了 Aliaksandr Siarohin 等人在 2019 年發(fā)布的一階運(yùn)動模型 (First Order Motion Model, FOMM)。直觀地講,此方法由兩個(gè)模塊構(gòu)成:一個(gè)模塊用于提取運(yùn)動,另一個(gè)模塊用于生成圖像。運(yùn)動模塊從攝像頭記錄的視頻中檢測關(guān)鍵點(diǎn)并進(jìn)行局部仿射變換 (Affine Transformation)。然后,將在相鄰幀之間這些關(guān)鍵點(diǎn)的值的差值作為預(yù)測密集運(yùn)動場的網(wǎng)絡(luò)的輸入,并且用作遮擋掩模 (Occlusion Mask),遮擋掩??梢灾付ɑ蚋鶕?jù)上下文推斷需要修改的圖像區(qū)域。之后,圖像生成網(wǎng)絡(luò)會檢測面部特征,并生成最終輸出,即根據(jù)運(yùn)動模塊結(jié)果重繪源圖像。

一階運(yùn)動模型
http://papers.nips.cc/paper/8935-first-order-motion-model-for-image-animation.pdf

我之所以選擇 FOMM 是因?yàn)樗子谑褂?。此領(lǐng)域以前使用的模型都“針對特定目標(biāo)”:需要提供詳細(xì)的特定目標(biāo)數(shù)據(jù)才能添加動畫效果,而 FOMM 則不需要知道這些數(shù)據(jù)。更為重要的是,這些作者發(fā)布了開箱即用的開源實(shí)現(xiàn),其中包含預(yù)先訓(xùn)練的面部動畫權(quán)重。因此,將該模型應(yīng)用到蒙娜麗莎的圖像上就變得十分簡單:我只需將倉庫克隆到 Colab Notebook,生成一段我眼睛四處觀看的簡短視頻,并將其與蒙娜麗莎頭部的屏幕截圖一起傳進(jìn)模型。得到的影片超級棒。我最終僅使用了 33 張圖片就完成了最終的動畫的制作。

源視頻和 FOMM 生成的圖像動畫預(yù)測示例

使用 FOMM 生成的幀示例

圖像融合

雖然我可以根據(jù)自己的目的重新訓(xùn)練該模型,但我決定保留 Siarohin 得到的權(quán)重,以免浪費(fèi)時(shí)間和計(jì)算資源。但是,這意味著得到的幀的分辨率較低,且輸出僅有主體的頭部。介于我希望最終圖像包含整個(gè)蒙娜麗莎,即包括手部、軀干和背景,我選擇將生成的頭部動畫疊加到油畫圖像上。

頭部幀疊加到基礎(chǔ)圖像上的示例:為了說明問題,此處顯示的版本來自項(xiàng)目的早期迭代,其中頭部幀存在嚴(yán)重的分辨率損失

然而,這帶來了一系列難題。查看上述示例時(shí),您會發(fā)現(xiàn),模型輸出的分辨率較低(由于經(jīng)過了 FOMM 的扭曲程序,背景附帶有一些細(xì)微的更改),從而導(dǎo)致頭部幀在視覺上有突出的效果。換句話說,很明顯這是一張照片疊加在另一張照片上面。為了解決這個(gè)問題,我使用 Python 對圖像進(jìn)行了一些處理,將頭部圖像“融合”到基礎(chǔ)圖像中。

首先,我將頭部幀重新 resize 到其原始分辨率。然后,我構(gòu)造一個(gè)新的幀,該幀的每個(gè)像素值由原圖像素和模型輸出的像素求均值后加權(quán) (alpha) 求得,離頭部中心越遠(yuǎn)的像素權(quán)值越低。

用于確定 alpha 的函數(shù)改編自二維 sigmoid,其表達(dá)式為:

其中,j 確定邏輯函數(shù)的斜率,k 為拐點(diǎn),m 為輸入值的中點(diǎn)。以下是函數(shù)的圖形表示:

我將上述過程應(yīng)用到動畫集中的所有 33 個(gè)幀之后,得到的每個(gè)合成幀都會讓人深信不疑這就是一個(gè)圖像:

通過 BlazeFace 跟蹤觀看者的頭部

此時(shí),剩下的工作就是確定如何通過攝像頭來跟蹤用戶并顯示相應(yīng)的幀。

當(dāng)然,我選擇了 TensorFlow.js 來完成此工作。這個(gè)庫提供了一組十分可靠的模型,用于檢測人體,經(jīng)過一番研究和思考后,我選擇了 BlazeFace。

BlazeFace
https://github.com/tensorflow/tfjs-models/tree/master/blazeface

BlazeFace 是基于深度學(xué)習(xí)的目標(biāo)識別模型,可以檢測人臉和面部特征。它經(jīng)過專門訓(xùn)練,可以使用移動相機(jī)輸入。它特別適合我的這個(gè)項(xiàng)目,因?yàn)槲翌A(yù)計(jì)大部分觀看者都會以類似方式(即頭部位于框內(nèi)、正面拍攝以及非常貼近相機(jī))使用攝像頭,無論是使用移動設(shè)備還是筆記本電腦。

但是,在選擇此模型時(shí),我最先考慮到的是它異??斓臋z測速度。為了讓這一項(xiàng)目有意義,我必須能夠?qū)崟r(shí)運(yùn)行整個(gè)動畫,包括面部識別步驟。BlazeFace 采用 Single-Shot 檢測 (SSD) 模型,這是一種基于深度學(xué)習(xí)的目標(biāo)檢測算法,在網(wǎng)絡(luò)的一次正向傳遞中可以同時(shí)移動邊界框并檢測目標(biāo)。BlazeFace 的輕量檢測器能夠以每秒 200 幀的速度識別面部特征。

BlazeFace 在給定輸入圖像時(shí)的捕獲內(nèi)容演示:包圍人體頭部以及面部特征的邊界框

選定模型后,我持續(xù)將用戶的攝像頭數(shù)據(jù)輸入 BlazeFace 中。每次運(yùn)行后,模型都會輸出一個(gè)含有面部特征及其相應(yīng)二維坐標(biāo)位置的數(shù)組。借助此數(shù)組,我計(jì)算兩只眼睛之間的中點(diǎn),從而粗略估算出面部中心的 X 坐標(biāo)。

最后,我將此結(jié)果映射到介于 0 與 32 之間的某個(gè)整數(shù)。您可能還記得,其中的每一個(gè)值分別表示動畫序列中的一個(gè)幀,0 表示蒙娜麗莎的眼睛看向左側(cè),32 表示她的眼睛看向右側(cè)。之后,就是在屏幕上顯示結(jié)果了。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2838

    瀏覽量

    53318
  • 圖像處理
    +關(guān)注

    關(guān)注

    29

    文章

    1342

    瀏覽量

    59575
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5599

    瀏覽量

    124434

原文標(biāo)題:“來自蒙娜麗莎的凝視”— 結(jié)合 TensorFlow.js 和深度學(xué)習(xí)實(shí)現(xiàn)

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    穿孔機(jī)頂頭檢測儀 機(jī)器視覺深度學(xué)習(xí)

    ,能適用惡劣工況,在粉塵、高溫、氧化皮等惡劣環(huán)境中均可正常工作。 測量原理 利用頂頭與周圍的物質(zhì)(水、空氣、導(dǎo)盤等)紅外輻射能量的差異,用熱成像相機(jī)拍攝出清晰的圖片,再通過深度學(xué)習(xí)短時(shí)間內(nèi)深度優(yōu)化,判斷
    發(fā)表于 12-22 14:33

    如何深度學(xué)習(xí)機(jī)器視覺的應(yīng)用場景

    檢測應(yīng)用 微細(xì)缺陷識別:檢測肉眼難以發(fā)現(xiàn)的微小缺陷和異常 紋理分析:對材料表面紋理進(jìn)行智能分析和缺陷識別 3D表面重建:通過深度學(xué)習(xí)進(jìn)行高精度3D建模和檢測 電子行業(yè)應(yīng)用 PCB板復(fù)雜缺陷檢測:連焊、虛焊、漏焊等焊接質(zhì)量問題 芯片
    的頭像 發(fā)表于 11-27 10:19 ?232次閱讀

    影像儀AI自動尋邊技術(shù)精準(zhǔn)捕捉邊界測量,檢測效率翻倍!

    【智能制造測量】影像測量儀的AI自動尋邊技術(shù)是通過深度學(xué)習(xí)模型,實(shí)現(xiàn)對工件特征的自主識別與邊緣精準(zhǔn)提取。能解決質(zhì)檢環(huán)節(jié)中多重邊界提偏、刀紋干擾、對比度低等測量痛點(diǎn)。
    發(fā)表于 11-18 10:16

    智能顯示模塊可以播放動畫嗎?動畫功能怎么實(shí)現(xiàn),在哪可以添加

    智能顯示模塊可以播放動畫嗎?動畫功能怎么實(shí)現(xiàn),在哪可以添加?
    發(fā)表于 11-08 08:57

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測可定位已訓(xùn)練的目標(biāo)類別,并通過矩形框(邊界框)對其進(jìn)行標(biāo)識。 在討論人工智能(AI)或深度學(xué)習(xí)時(shí),經(jīng)常會出現(xiàn)“
    的頭像 發(fā)表于 09-10 17:38 ?920次閱讀
    如何在機(jī)器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    分享---儲能UI界面能量流動動畫實(shí)現(xiàn)方法

    本文分享 工商業(yè)儲能設(shè)備的UI界面中如何實(shí)現(xiàn) 能量流動的動畫效果。 本例子效果 基于拓普微工業(yè)級 7寸屏電容串口屏(HMT070ETA-D型號)實(shí)現(xiàn): 第1步:建立工程和頁面 使用SGTools新建
    發(fā)表于 09-02 18:22

    深度學(xué)習(xí)對工業(yè)物聯(lián)網(wǎng)有哪些幫助

    深度學(xué)習(xí)作為人工智能的核心分支,通過模擬人腦神經(jīng)網(wǎng)絡(luò)的層級結(jié)構(gòu),能夠自動從海量工業(yè)數(shù)據(jù)中提取復(fù)雜特征,工業(yè)物聯(lián)網(wǎng)(IIoT)提供了從數(shù)據(jù)感知到智能決策的全鏈路升級能力。以下從技術(shù)賦能
    的頭像 發(fā)表于 08-20 14:56 ?1050次閱讀

    行業(yè)龍頭企業(yè)家深度走訪達(dá)實(shí)智能與金蝶集團(tuán)

    此前,2025年7月19至20日,“新形勢、新決策、新未來”潤澤1000企業(yè)家(深圳)學(xué)習(xí)會在達(dá)實(shí)智能大廈隆重召開。來自全國各地約170位企業(yè)家通過深度參訪、互動課堂、圓桌訪談等形式,共同探尋企業(yè)穩(wěn)健發(fā)展的底層邏輯與實(shí)踐路徑。
    的頭像 發(fā)表于 07-28 14:17 ?942次閱讀

    【EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】使用Linux posix文件讀取接口和LVGL的animimg(圖像動畫)控件實(shí)現(xiàn)動畫播放以及

    , LV_EVENT_ALL, NULL); // 添加事件回調(diào) 可以通過api改變播放時(shí)每幀的間隔: lv_animimg_set_duration(animimg1 , 5000); 看看播放效果:(置頂視頻
    發(fā)表于 07-22 00:34

    通過易于使用的相機(jī)模組快速應(yīng)用添加機(jī)器視覺

    ) 的神經(jīng)科學(xué)家就發(fā)現(xiàn),大腦只需 13 毫秒 (ms) 就能根據(jù)眼睛看到的東西形成完整的圖像。 視覺如此重要,因此許多人都希望在機(jī)器上添加視覺傳感器就不足奇了。產(chǎn)品添加機(jī)器視覺,可
    的頭像 發(fā)表于 05-25 14:48 ?886次閱讀
    <b class='flag-5'>通過</b>易于使用的相機(jī)模組快速<b class='flag-5'>為</b>應(yīng)用<b class='flag-5'>添加</b>機(jī)器視覺

    提高IT運(yùn)維效率,深度解讀京東云AIOps落地實(shí)踐(異常檢測篇)

    基于深度學(xué)習(xí)對運(yùn)維時(shí)序指標(biāo)進(jìn)行異常檢測,快速發(fā)現(xiàn)線上業(yè)務(wù)問題 時(shí)間序列的異常檢測是實(shí)際應(yīng)用中的一個(gè)關(guān)鍵問題,尤其是在 IT 行業(yè)。我們沒有采用傳統(tǒng)的基于閾值的方法來實(shí)現(xiàn)異常檢測,而是通過深度學(xué)
    的頭像 發(fā)表于 05-22 16:38 ?1042次閱讀
    提高IT運(yùn)維效率,<b class='flag-5'>深度</b>解讀京東云AIOps落地實(shí)踐(異常檢測篇)

    深度解析安森美iToF方案

    深度感知是實(shí)現(xiàn) 3D 測繪、物體識別、空間感知等高級認(rèn)知功能的基礎(chǔ)技術(shù)。對于需要精確實(shí)時(shí)處理環(huán)境與物體的形狀、位置和運(yùn)動的領(lǐng)域,這項(xiàng)技術(shù)不可或缺。通過深度感知技術(shù),可以準(zhǔn)確獲取目標(biāo)物體的位置
    的頭像 發(fā)表于 05-21 17:44 ?1340次閱讀
    <b class='flag-5'>深度</b>解析安森美iToF方案

    如何通過SFL設(shè)備添加Flash編程支持

    SEGGER Flash Loader(SFL)是J-Link設(shè)備支持套件(DSK)的一部分,通過SFL,用戶可以為自己的新設(shè)備添加Flash編程支持。
    的頭像 發(fā)表于 05-19 16:35 ?1497次閱讀
    如何<b class='flag-5'>通過</b>SFL<b class='flag-5'>為</b>設(shè)備<b class='flag-5'>添加</b>Flash編程支持

    深度學(xué)習(xí)賦能:正面吊車載箱號識別系統(tǒng)的核心技術(shù)

    支撐。 深度學(xué)習(xí)驅(qū)動的智能識別 傳統(tǒng)OCR技術(shù)易受光線、污損或箱體圖案干擾,而新一代識別系統(tǒng)通過深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)和注意力機(jī)制,實(shí)現(xiàn)了復(fù)雜場景下的高精度動態(tài)識別: - 抗干擾優(yōu)化:系統(tǒng)可自適應(yīng)處理反光、陰影、油漆剝落等復(fù)
    的頭像 發(fā)表于 05-07 10:10 ?585次閱讀

    用Manim動畫生動演示勾股定理

    用Manim這一專業(yè)的數(shù)學(xué)動畫引擎,我們可以將抽象的數(shù)學(xué)概念轉(zhuǎn)化為生動的視覺呈現(xiàn),大幅提升教學(xué)效果。 二,Manim動畫的優(yōu)勢 1. 動態(tài)可視化:通過
    的頭像 發(fā)表于 04-27 16:36 ?947次閱讀