国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python

這篇具有很好參考價值的文章主要介紹了互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 前言

?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是

?? 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn)

該項目較為新穎,適合作為競賽課題方向,學長非常推薦!

??學長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點:4分

?? 更多資料, 項目分享:

https://gitee.com/dancheng-senior/postgraduate文章來源地址http://www.zghlxwxcb.cn/news/detail-828593.html

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

1 課題背景

隨著科技的發(fā)展,現(xiàn)在已經(jīng)沒有朋友會再去買膠卷拍照片了。不過對于很多70、80后來說,他們家中還保存著大量之前拍攝的膠卷和老照片。這些老照片是一個時代的記憶,記錄著我們生活中的點點滴滴。不過時代發(fā)展了,這些老照片的保存和瀏覽也應該與時俱進。在本期文章中,我們就介紹如何將這些老照片轉(zhuǎn)化為數(shù)字照片,更方便大家在電腦或者手機上瀏覽、保存和回憶。

本項目中我們利用生成對抗網(wǎng)絡-GAN和圖像動作驅(qū)動-First Order Motion Model來給老照片上色并使它動起來。

2 GAN(生成對抗網(wǎng)絡)

2.1 簡介

**GANs(Generative adversarial networks,對抗式生成網(wǎng)絡)**可以把這三個單詞拆分理解。

  • Generative :生成式模型
  • Adversarial :采取對抗的策略
  • Networks :網(wǎng)絡(不一定是深度學習)

模型通過框架中(至少)兩個模塊:生成模型(Generative Model)和判別模型(Discriminative
Model)的互相博弈學習產(chǎn)生相當好的輸出。原始 GAN 理論中,并不要求 G 和 D
都是神經(jīng)網(wǎng)絡,只需要是能擬合相應生成和判別的函數(shù)即可。但實用中一般均使用深度神經(jīng)網(wǎng)絡作為 G 和 D 。

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

2.2 基本原理

這里介紹的是原生的GAN算法,雖然有一些不足,但提供了一種生成對抗性的新思路。放心,我這篇博文不會堆一大堆公式,只會提供一種理解思路。

理解GAN的兩大護法G和D,生成對抗網(wǎng)絡(GAN)由2個重要的部分構成:

  • 生成器(Generator ):通過機器生成數(shù)據(jù)(大部分情況下是圖像),負責憑空捏造數(shù)據(jù)出來,目的是“騙過”判別器
  • 判別器(Discriminator ):判斷這張圖像是真實的還是機器生成的,負責判斷數(shù)據(jù)是不是真數(shù)據(jù),目的是找出生成器做的“假數(shù)據(jù)”

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

這樣可以簡單的看作是兩個網(wǎng)絡的博弈過程。在最原始的GAN論文里面,G和D都是兩個多層感知機網(wǎng)絡。首先,注意一點,GAN操作的數(shù)據(jù)不一定非得是圖像數(shù)據(jù),不過為了更方便解釋,用圖像數(shù)據(jù)為例解釋以下GAN:

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

tensorflow實現(xiàn)

?



    import tensorflow as tf


    def load_dataset(mnist_size, mnist_batch_size, cifar_size, cifar_batch_size,):
      """ load mnist and cifar10 dataset to shuffle.
    
      Args:
        mnist_size: mnist dataset size.
        mnist_batch_size: every train dataset of mnist.
        cifar_size: cifar10 dataset size.
        cifar_batch_size: every train dataset of cifar10.
    
      Returns:
        mnist dataset, cifar10 dataset
    
      """
      # load mnist data
      (mnist_train_images, mnist_train_labels), (_, _) = tf.keras.datasets.mnist.load_data()
    
      # load cifar10 data
      (cifar_train_images, cifar_train_labels), (_, _) = tf.keras.datasets.cifar10.load_data()
    
      mnist_train_images = mnist_train_images.reshape(mnist_train_images.shape[0], 28, 28, 1).astype('float32')
      mnist_train_images = (mnist_train_images - 127.5) / 127.5  # Normalize the images to [-1, 1]
    
      cifar_train_images = cifar_train_images.reshape(cifar_train_images.shape[0], 32, 32, 3).astype('float32')
      cifar_train_images = (cifar_train_images - 127.5) / 127.5  # Normalize the images to [-1, 1]
    
      # Batch and shuffle the data
      mnist_train_dataset = tf.data.Dataset.from_tensor_slices(mnist_train_images)
      mnist_train_dataset = mnist_train_dataset.shuffle(mnist_size).batch(mnist_batch_size)
    
      cifar_train_dataset = tf.data.Dataset.from_tensor_slices(cifar_train_images)
      cifar_train_dataset = cifar_train_dataset.shuffle(cifar_size).batch(cifar_batch_size)
    
      return mnist_train_dataset, cifar_train_dataset

3 DeOldify 框架

本項目中用到的上色就用到了DeOldify 框架,DeOldify 創(chuàng)建的目的是為了給黑白照片上色,但讓人驚艷的是它除了能處理圖片外,也可以處理視頻;

DeOldify 的核心網(wǎng)絡框架是 GAN ,對比以前上色技術有以下幾個特點:

  • 1,老照片中的偽影在上色過程中會被消除;
  • 2,老照片的人臉部位來說,處理后皮膚會變得更光滑;
  • 3,呈現(xiàn)更詳細、真實的渲染效果;

實現(xiàn)過程

準備好權重文件

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

相關代碼

?

#部分代碼
def deoldify(self,img,render_factor=35):
        """
        風格化
        """
        # 轉(zhuǎn)換通道
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        pil_img = Image.fromarray(img)
        # 渲染彩圖
        color_img = self.deoldify_model.filter(
            pil_img, pil_img, render_factor=render_factor,post_process=True
        )
        color_img = np.asarray(color_img)
        color_img = cv2.cvtColor(color_img, cv2.COLOR_RGB2BGR)
        # 轉(zhuǎn)為numpy圖
        print('deoldify 轉(zhuǎn)換成功')
        return np.asarray(color_img)

?

實現(xiàn)效果:

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java
互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

4 First Order Motion Model

First Order Motion model的任務是image
animation,給定一張源圖片,給定一個驅(qū)動視頻,生成一段視頻,其中主角是源圖片,動作是驅(qū)動視頻中的動作,源圖像通常包含一個主體,驅(qū)動視頻包含一系列動作。

通俗來說,F(xiàn)irst Order
Motion能夠?qū)⒔o定的驅(qū)動視頻中的人物A的動作遷移至給定的源圖片中的人物B身上,生成全新的以人物B的臉演繹人物A的表情的視頻。

以人臉表情遷移為例,給定一個源人物,給定一個驅(qū)動視頻,可以生成一個視頻,其中主體是源人物,視頻中源人物的表情是由驅(qū)動視頻中的表情所確定的。通常情況下,我們需要對源人物進行人臉關鍵點標注、進行表情遷移的模型訓練。

基本框架

first-order 的算法框架如下圖所示,主要包括三個部分的網(wǎng)絡,keyporint detector
檢測圖像中的關鍵點,以及每個關鍵點對應的jaccobian矩陣;dense motion network 基于前面的結(jié)果生成最終的transform map
以及occulation map;使用transform map 和 occulation map 對編碼后的source feature
做變換和mask處理,再decoder 生成出最終的結(jié)果。

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

本項目相關代碼

?

    def FOM_video(self,driving_video,source_image,result_video):

        # 讀取圖片
        source_image = imageio.imread(source_image)
        # 讀取視頻
        reader = imageio.get_reader(driving_video)
        fps = reader.get_meta_data()['fps']
        driving_video = []
        try:
            for im in reader:
                driving_video.append(im)
        except RuntimeError:
            pass
        reader.close()
        # 預處理
        source_image = resize(source_image, (255, 255))[..., :3]
        driving_video = [resize(frame, (255, 255))[..., :3] for frame in driving_video]
        
        # 推理
        predictions = self.make_animation(source_image, driving_video, self.fom_generator, self.fom_kp_detector, relative=True, adapt_movement_scale=True, cpu=True)
        # 保存
        imageio.mimsave(result_video, [img_as_ubyte(frame) for frame in predictions], fps=fps)
        
driving_video = './images/test2.mp4'
source_image = './images/out2.jpg'
result_video = './putput/result.mp4'
# 圖像動起來
gan.FOM_video(driving_video, source_image,result_video)

運行如下命令,實現(xiàn)表情動作遷移。其中,各參數(shù)的具體使用說明如下:

  • driving_video: 驅(qū)動視頻,視頻中人物的表情動作作為待遷移的對象。本項目中驅(qū)動視頻路徑為 “work/driving_video.MOV”,大家可以上傳自己準備的視頻,更換 driving_video 參數(shù)對應的路徑;
  • source_image: 原始圖片,視頻中人物的表情動作將遷移到該原始圖片中的人物上。這里原始圖片路徑使用 “work/image.jpeg”,大家可以使用自己準備的圖片,更換 source_image 參數(shù)對應的路徑;
  • relative: 指示程序中使用視頻和圖片中人物關鍵點的相對坐標還是絕對坐標,建議使用相對坐標,若使用絕對坐標,會導致遷移后人物扭曲變形;
  • adapt_scale: 根據(jù)關鍵點凸包自適應運動尺度;
  • ratio: 針對多人臉,將框出來的人臉貼回原圖時的區(qū)域占寬高的比例,默認為0.4,范圍為【0.4,0.5】

命令運行成功后會在ouput文件夾生成名為result.mp4的視頻文件,該文件即為動作遷移后的視頻。

實現(xiàn)效果:

,若使用絕對坐標,會導致遷移后人物扭曲變形;

  • adapt_scale: 根據(jù)關鍵點凸包自適應運動尺度;
  • ratio: 針對多人臉,將框出來的人臉貼回原圖時的區(qū)域占寬高的比例,默認為0.4,范圍為【0.4,0.5】

命令運行成功后會在ouput文件夾生成名為result.mp4的視頻文件,該文件即為動作遷移后的視頻。

實現(xiàn)效果:

互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python,算法,python,java

5 最后

?? 更多資料, 項目分享:

https://gitee.com/dancheng-senior/postgraduate

到了這里,關于互聯(lián)網(wǎng)加競賽 基于生成對抗網(wǎng)絡的照片上色動態(tài)算法設計與實現(xiàn) - 深度學習 opencv python的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 互聯(lián)網(wǎng)加競賽 基于設深度學習的人臉性別年齡識別系統(tǒng)

    互聯(lián)網(wǎng)加競賽 基于設深度學習的人臉性別年齡識別系統(tǒng)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 基于深度學習機器視覺的人臉性別年齡識別系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 隨著大數(shù)據(jù)與人工智能逐漸走入人們的生活,計算機視覺應用越

    2024年02月22日
    瀏覽(94)
  • 互聯(lián)網(wǎng)加競賽 基于計算機視覺的身份證識別系統(tǒng)

    互聯(lián)網(wǎng)加競賽 基于計算機視覺的身份證識別系統(tǒng)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 基于機器視覺的身份證識別系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 1.1.1 字符定位 在Android移動端攝像頭拍攝的圖片是彩色圖像,上傳到服務器后為

    2024年02月20日
    瀏覽(22)
  • 互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的股票量化分析與股價預測系統(tǒng)

    互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的股票量化分析與股價預測系統(tǒng)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于大數(shù)據(jù)的股票量化分析與股價預測系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: https://gitee

    2024年02月01日
    瀏覽(23)
  • 互聯(lián)網(wǎng)加競賽 基于機器學習與大數(shù)據(jù)的糖尿病預測

    互聯(lián)網(wǎng)加競賽 基于機器學習與大數(shù)據(jù)的糖尿病預測

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 基于機器學習與大數(shù)據(jù)的糖尿病預測 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-

    2024年01月16日
    瀏覽(18)
  • 互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的社交平臺數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)

    互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的社交平臺數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于大數(shù)據(jù)的社交平臺數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: h

    2024年02月02日
    瀏覽(29)
  • 互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的時間序列股價預測分析與可視化 - lstm

    互聯(lián)網(wǎng)加競賽 基于大數(shù)據(jù)的時間序列股價預測分析與可視化 - lstm

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 畢業(yè)設計 大數(shù)據(jù)時間序列股價預測分析系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gite

    2024年01月15日
    瀏覽(28)
  • 互聯(lián)網(wǎng)加競賽 基于機器視覺的二維碼識別檢測 - opencv 二維碼 識別檢測 機器視覺

    互聯(lián)網(wǎng)加競賽 基于機器視覺的二維碼識別檢測 - opencv 二維碼 識別檢測 機器視覺

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 基于機器學習的二維碼識別檢測 - opencv 二維碼 識別檢測 機器視覺 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 物體檢測就是對數(shù)字圖像中一類特定的物體的

    2024年01月18日
    瀏覽(29)
  • 互聯(lián)網(wǎng)加競賽 大數(shù)據(jù)房價預測分析與可視

    互聯(lián)網(wǎng)加競賽 大數(shù)據(jù)房價預測分析與可視

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 大數(shù)據(jù)房價預測分析與可視 ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/

    2024年02月22日
    瀏覽(18)
  • 互聯(lián)網(wǎng)加競賽 大數(shù)據(jù)疫情分析及可視化系統(tǒng)

    互聯(lián)網(wǎng)加競賽 大數(shù)據(jù)疫情分析及可視化系統(tǒng)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 大數(shù)據(jù)疫情分析及可視化系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ??學長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-seni

    2024年03月16日
    瀏覽(23)
  • 互聯(lián)網(wǎng)加競賽 地鐵大數(shù)據(jù)客流分析系統(tǒng) 設計與實現(xiàn)

    互聯(lián)網(wǎng)加競賽 地鐵大數(shù)據(jù)客流分析系統(tǒng) 設計與實現(xiàn)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 地鐵大數(shù)據(jù)客流分析系統(tǒng) 該項目較為新穎,適合作為競賽課題方向,學長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 使用 Flink 完成數(shù)據(jù)清洗和聚合,使用 Elasticsearch + Kibana 的的技術路線,完成了客流信息

    2024年02月04日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包