在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過深度學習為蒙娜麗莎添加動畫效果

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-11-18 17:29 ? 次閱讀

背景

坊間傳聞,當您在房間里走動時,蒙娜麗莎的眼睛會一直盯著您。

這就是所謂的“蒙娜麗莎效應”。興趣使然,我最近就編寫了一個可互動的數字肖像,通過瀏覽器和攝像頭將這一傳說變成現實。

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

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

接下來,我將從技術層面詳細介紹該項目的設計和實現過程:

通過深度學習為蒙娜麗莎添加動畫效果

圖像動畫是一種調整靜止圖像的技術。使用基于深度學習的方式,我可以生成極其生動的蒙娜麗莎注視動畫。

具體來說,我使用了 Aliaksandr Siarohin 等人在 2019 年發布的一階運動模型 (First Order Motion Model, FOMM)。直觀地講,此方法由兩個模塊構成:一個模塊用于提取運動,另一個模塊用于生成圖像。運動模塊從攝像頭記錄的視頻檢測關鍵點并進行局部仿射變換 (Affine Transformation)。然后,將在相鄰幀之間這些關鍵點的值的差值作為預測密集運動場的網絡的輸入,并且用作遮擋掩模 (Occlusion Mask),遮擋掩模可以指定或根據上下文推斷需要修改的圖像區域。之后,圖像生成網絡會檢測面部特征,并生成最終輸出,即根據運動模塊結果重繪源圖像。

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

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

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

使用 FOMM 生成的幀示例

圖像融合

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

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

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

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

用于確定 alpha 的函數改編自二維 sigmoid,其表達式為:

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

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

通過 BlazeFace 跟蹤觀看者的頭部

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

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

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

BlazeFace 是基于深度學習的目標識別模型,可以檢測人臉和面部特征。它經過專門訓練,可以使用移動相機輸入。它特別適合我的這個項目,因為我預計大部分觀看者都會以類似方式(即頭部位于框內、正面拍攝以及非常貼近相機)使用攝像頭,無論是使用移動設備還是筆記本電腦

但是,在選擇此模型時,我最先考慮到的是它異常快的檢測速度。為了讓這一項目有意義,我必須能夠實時運行整個動畫,包括面部識別步驟。BlazeFace 采用 Single-Shot 檢測 (SSD) 模型,這是一種基于深度學習的目標檢測算法,在網絡的一次正向傳遞中可以同時移動邊界框并檢測目標。BlazeFace 的輕量檢測器能夠以每秒 200 幀的速度識別面部特征。

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

選定模型后,我持續將用戶的攝像頭數據輸入 BlazeFace 中。每次運行后,模型都會輸出一個含有面部特征及其相應二維坐標位置的數組。借助此數組,我計算兩只眼睛之間的中點,從而粗略估算出面部中心的 X 坐標。

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

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2744

    瀏覽量

    47933
  • 圖像處理
    +關注

    關注

    27

    文章

    1311

    瀏覽量

    56992
  • 深度學習
    +關注

    關注

    73

    文章

    5523

    瀏覽量

    121727

原文標題:“來自蒙娜麗莎的凝視”— 結合 TensorFlow.js 和深度學習實現

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BP神經網絡與深度學習的關系

    ),是一種多層前饋神經網絡,它通過反向傳播算法進行訓練。BP神經網絡由輸入層、一個或多個隱藏層和輸出層組成,通過逐層遞減的方式調整網絡權重,目的是最小化網絡的輸出誤差。 二、深度學習
    的頭像 發表于 02-12 15:15 ?205次閱讀

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之一,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門深度
    的頭像 發表于 11-14 15:17 ?1105次閱讀

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是深度學習
    的頭像 發表于 10-27 11:13 ?580次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度
    的頭像 發表于 10-23 15:25 ?1677次閱讀

    深度學習GPU加速效果如何

    圖形處理器(GPU)憑借其強大的并行計算能力,成為加速深度學習任務的理想選擇。
    的頭像 發表于 10-17 10:07 ?302次閱讀

    FPGA做深度學習能走多遠?

    支持不同的數據精度、量化和激活函數等。這種靈活性使其能夠適應各種深度學習任務,不同的應用場景提供定制化的解決方案。 ? 低功耗:FPGA 是可編程的,可以在設計中僅使用所需的計算資源,從而避免不必要
    發表于 09-27 20:53

    深度學習與nlp的區別在哪

    方法,它通過模擬人腦的神經網絡結構,實現對數據的自動特征提取和學習深度學習的核心是構建多層的神經網絡結構,每一層都包含大量的神經元,這些神經元通過
    的頭像 發表于 07-05 09:47 ?1121次閱讀

    深度學習常用的Python庫

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度
    的頭像 發表于 07-03 16:04 ?771次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,它涉及大量的數據、計算資源和精心設計的算法。訓練一個深度學習模型,本質上是通過優化算法調整模型參數,
    的頭像 發表于 07-01 16:13 ?1671次閱讀

    深度學習與傳統機器學習的對比

    在人工智能的浪潮中,機器學習深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器
    的頭像 發表于 07-01 11:40 ?1620次閱讀

    HarmonyOS開發案例:【自定義下拉刷新動畫

    主要介紹組件動畫animation屬性設置。當組件的某些通用屬性變化時,可以通過屬性動畫實現漸變效果,提升用戶體驗。
    的頭像 發表于 04-29 16:06 ?1081次閱讀
    HarmonyOS開發案例:【自定義下拉刷新<b class='flag-5'>動畫</b>】

    OpenHarmony實戰開發-如何實現組件動畫

    ArkUI組件提供了通用的屬性動畫和轉場動畫能力的同時,還為一些組件提供了默認的動畫效果。例如,List的滑動動效,Button的點擊動效
    的頭像 發表于 04-28 15:49 ?700次閱讀
    OpenHarmony實戰開發-如何實現組件<b class='flag-5'>動畫</b>。

    HarmonyOS開發案例:【動畫

    使用動畫樣式,實現幾種常見動畫效果:平移、旋轉、縮放以及透明度變化。
    的頭像 發表于 04-25 15:13 ?552次閱讀
    HarmonyOS開發案例:【<b class='flag-5'>動畫</b>】

    深度學習檢測小目標常用方法

    深度學習效果在某種意義上是靠大量數據喂出來的,小目標檢測的性能同樣也可以通過增加訓練集中小目標樣本的種類和數量來提升。
    發表于 03-18 09:57 ?844次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b>檢測小目標常用方法

    為什么深度學習效果更好?

    導讀深度學習是機器學習的一個子集,已成為人工智能領域的一項變革性技術,在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應用中取得了顯著的成功。深度
    的頭像 發表于 03-09 08:26 ?725次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的<b class='flag-5'>效果</b>更好?
    主站蜘蛛池模板: 午夜激情啪啪 | 99久久99久久久99精品齐 | 天天做天天干 | 人成电影免费观看在线 | 国产一区二区三区美女在线观看 | 久久精品视频5 | 成人午夜亚洲影视在线观看 | 欧美18videosex性欧美1819 | 网站在线观看视频 | 国产小视频网站 | 欧美综合色 | 在线午夜影院 | 深夜视频在线免费 | 国产成人亚洲毛片 | 亚洲黄色三级视频 | 亚洲成人免费观看 | 天天操天天干天天 | www.天天操| 天堂黄网| 五月欧美激激激综合网色播 | 国产小视频在线高清播放 | 高清色黄毛片一级毛片 | 天天在线天天在线天天影视 | 国内自拍 亚洲系列 欧美系列 | 久久国产精品久久久久久 | 天天爱夜夜爽 | 性网站视频 | 欧美成人午夜 | 午夜无遮挡怕怕怕免费视频 | 精品欧美 | 日韩欧美一卡二区 | 手机看片99 | 色视频观看| 天天搞天天干 | 俺要操 | 34pao强力打造免费永久视频 | 精品国产成人系列 | 精品久久香蕉国产线看观看亚洲 | 在线亚洲精品中文字幕美乳 | 最近高清在线视频观看免费 | 欧美线人一区二区三区 |