一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

背景

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

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

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

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

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

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

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

具體來說,我使用了 Aliaksandr Siarohin 等人在 2019 年發(fā)布的一階運動模型 (First Order Motion Model, FOMM)。直觀地講,此方法由兩個模塊構成:一個模塊用于提取運動,另一個模塊用于生成圖像。運動模塊從攝像頭記錄的視頻中檢測關鍵點并進行局部仿射變換 (Affine Transformation)。然后,將在相鄰幀之間這些關鍵點的值的差值作為預測密集運動場的網絡的輸入,并且用作遮擋掩模 (Occlusion Mask),遮擋掩??梢灾付ɑ蚋鶕舷挛耐茢嘈枰薷牡膱D像區(qū)域。之后,圖像生成網絡會檢測面部特征,并生成最終輸出,即根據運動模塊結果重繪源圖像。

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

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

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

使用 FOMM 生成的幀示例

圖像融合

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

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

然而,這帶來了一系列難題。查看上述示例時,您會發(fā)現,模型輸出的分辨率較低(由于經過了 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 是基于深度學習的目標識別模型,可以檢測人臉和面部特征。它經過專門訓練,可以使用移動相機輸入。它特別適合我的這個項目,因為我預計大部分觀看者都會以類似方式(即頭部位于框內、正面拍攝以及非常貼近相機)使用攝像頭,無論是使用移動設備還是筆記本電腦

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

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

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

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

責任編輯:lq

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

    關注

    7

    文章

    2788

    瀏覽量

    50462
  • 圖像處理
    +關注

    關注

    27

    文章

    1329

    瀏覽量

    58088
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122825

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    通過易于使用的相機模組快速應用添加機器視覺

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

    如何通過SFL設備添加Flash編程支持

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

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

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

    軍事應用中深度學習的挑戰(zhàn)與機遇

    人工智能尤其是深度學習技術的最新進展,加速了不同應用領域的創(chuàng)新與發(fā)展。深度學習技術的發(fā)展深刻影響了軍事發(fā)展趨勢,導致戰(zhàn)爭形式和模式發(fā)生重大變化。本文將概述
    的頭像 發(fā)表于 02-14 11:15 ?542次閱讀

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

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

    NPU在深度學習中的應用

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

    pcie在深度學習中的應用

    深度學習模型通常需要大量的數據和強大的計算能力來訓練。傳統(tǒng)的CPU計算資源有限,難以滿足深度學習的需求。因此,GPU(圖形處理單元)和TPU(張量處理單元)等專用硬件應運而生,它們
    的頭像 發(fā)表于 11-13 10:39 ?1361次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發(fā)表于 10-28 14:05 ?668次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法

    GPU深度學習應用案例

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

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發(fā)展 深度學習是機器學習的一個分支,它
    的頭像 發(fā)表于 10-27 10:57 ?1076次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度學習模型的案例: 一、基于FPGA的AlexNet卷積運算加速 項目名稱
    的頭像 發(fā)表于 10-25 09:22 ?1248次閱讀

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

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

    AI深度噪音抑制技術

    AI深度噪音抑制技術通過深度學習算法實現了對音頻中噪聲的智能消除,它在音頻清晰度提升、環(huán)境適應性、實時性和自然音質保留等方面展現了巨大的優(yōu)勢。隨著AI技術的不斷進步,它將在更多領域和場景中發(fā)揮關鍵作用,幫助用戶在嘈雜環(huán)境中享受高
    的頭像 發(fā)表于 10-17 10:45 ?1535次閱讀
    AI<b class='flag-5'>深度</b>噪音抑制技術

    深度學習GPU加速效果如何

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

    FPGA做深度學習能走多遠?

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