AI生成藝術(No.3):Paddle的3D點雲GAN模型

邁向元宇宙, AI 生成藝術之路 ( N o .3 )

** <>**

==1. 說明:簡介 3D 點雲 GAN 模型 ==

⚫ 近幾年,隨著機器學習模型(如 GAN)和大規模 3D 資料集(如 ShapeNet)的出現,三維重建可以不再依賴特徵匹配,而是藉助於 從大數據中學到的形狀先驗知識,來進行重建。
⚫ GAN(生成對抗網路)的潛力在於它可以類比任何資料分配
(Distribution)。由於它是機器學習快速發展的領域之一。例如,在3D ShapeNet 資料集上訓練 GAN 來生成逼真的立體形狀。
⚫ ShapeNet 數據集,是由斯坦福大學、普林斯頓大學和美國芝加哥豐 田技術研究所的研究人員開發的大型 3D CAD 模型存儲庫。該存儲 庫包含超過 3 億個模型,其中 220,000 個模型被分類為使用 WordNet 上位詞-下位詞關係排列的 3,135 個類。 ShapeNet Parts 子集包含 31,693 個網格,分為 16 個常見對像類(即桌子、椅子、 平面等)。每個形狀基本事實包含 2-5 個部分(總共 50 個部分 類)。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第1张图片
⚫ 通常是給定物件的深度圖,然後將其轉換為體積表示並識別觀察到的 表面、自由空間和遮擋空間。3D ShapeNets 可以識別物體類別,完 成完整的 3D 形狀,並在初始識別不確定的情況下預測下一個最佳視 圖。最後,3D ShapeNets 可以整合新的視圖以與所有視圖聯合識別對象。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第2张图片
⚫ 點雲(Point cloud)是 3D 幾何圖形表達的主要資料結構。它圖像和視 頻等其他一般視覺資料並不相同。它使用一群不規則點來描述 3D 物 件(Object)的複雜形狀表徵。於是,對事物形狀表(特)徵的學習成為 點雲模型的主要任務。點雲分析成為 3D 場景理解領域中一個基本但 具有挑戰性的問題。例如,對於同一個物體,不同視角所觀察到的部 位是不同的。對於不可見的部位,它的重建質量會略低於可見的部 位。
⚫ 於是,單圖像 3D 形狀重建的關鍵挑戰是確保深度模型可以泛化到不 屬於訓練集的形狀。這很困難,因為算法必須通過利用訓練數據的形 狀特徵來推斷表面的遮擋部分,因此容易受到過度擬合的影響。這種 對看不見的對像類別的概括是架構設計和訓練方法的功能。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第3张图片
⚫ 近年來,點雲在電力線巡檢、智慧城市、自動駕駛等領域得到廣泛應 用。由於激光掃描技術和機器學習的發展,基於深度學習的點雲處理 方法越來越受到關注。
⚫ 本文的目標是通過 GAN 來處理點雲資料。方法是,基於在大型數據 集(如 ShapeNet)上訓練 GAN 模型。

==2. 準備訓練數據:使用 ShapeNet 數據集 ==
⚫ 將 ShapeNet 數據集的放置於您的工作區
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第4张图片
⚫ 其中的每一個檔案都是一個 3D 圖像。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第5张图片
⚫ 圖像的放大。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第6张图片

程式(1): 讀取點雲 3D 圖像
⚫ 讀取/ShapeNet_data/chair/train/裡的第 1 張圖像,並且繪出來。 ⚫ 程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第7张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第8张图片
⚫ 繪出圖像:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第9张图片
程式(2):使用 PaddlePaddle 的 Dataset
⚫ 與上一個程式相同功能:讀取/ShapeNet_data/chair/train/裡的第 1 張圖 像,並且繪出來。
⚫ 使用了飛槳(Paddle)的 Dataset。
⚫ 程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第10张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第11张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第12张图片
⚫ 讀取一張圖(第8張)圖像,並繪出來:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第13张图片
⚫ 這是繪出於屏幕畫面上。

程式(3):如何寫入點雲 3D 圖像
⚫ 上一個程式是繪出於屏幕畫面上。
⚫ 現在就來看看,如何將所畫(生成)的圖像,儲存於檔案裡。
⚫ 程式碼
在这里插入图片描述
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第14张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第15张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第16张图片
⚫ 讀取一張圖(第0張)圖像。
⚫ 然後把該圖像,寫入(儲存)於檔案裡。例如,此程式將所讀取的(第 0 張)寫入檔案(儲存於/ShapeNet_data/)裡,如下:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第17张图片
⚫ 放大圖像:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第18张图片
⚫ 準備好訓練數據集之後,就可以展開訓練了。

3. 準備訓練數據:使用 ShapeNet 數據集
⚫ 複習 GAN 的兩個角色:生成器(G)和判別器(D)。
⚫ GAN(生成對抗網)是由蒙特利爾大學的 Ian Goodfellow 在 2014 年 提出來的神經網路模型。GAN 通常包含兩個角色,兩者互相較量(對 抗),但又展現出教學相長,共同成長的美好機制和效果。這兩個角 色就是:判別者(Discriminator)與生成者(Generator)。
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第19张图片
其中的判別者(D)是老師角色,而生成者( G)則是學生角色。老師引導 學生創作,兩者互相較量(對抗),但又展現出教學相長的效果。例如,在 圖像渲染的應用上,它們的功能分別是:
⚫ G(學生)負責生成圖片。它接收一個隨機噪音(z),或者其他條件 (如黑白底圖或邊框),然後基于這個噪音或條件來生成新圖片。
⚫ D(老師)負責辨別一張圖片的真或假。它的輸入是一張圖片,進 行辨別之後,輸出其判斷爲真品或假品的概率。如果輸出值愈 接近于 1,代表其爲真品的概率愈大;而當輸出值愈接 0,代表 其爲假品的概率愈大。

在 GAN 模型的訓練過程中,我們會拿真品來輸入給 D,也會拿由 G 生 成的假品來輸入給 D。其目的是要訓練 D,以便提升它判斷圖片真或假 的能力。如果 D 判斷正確,表示 G(學生)生成的新作品(假品),被 D 識破 了,這意味著 G 的作品不够逼真,此時 G 就會依據 D 的反饋而調整其參
數,因而 G 就成長了。反之,如果 D 判斷錯誤,表示 D 的辨別能力不 足,例如被 G 騙了(將假品誤判爲真品),于是 D 就會調整其參數,因而 D 也成長了。這樣的訓練過程,持續重複下去,GAN 裏的兩個角色,互 相較量(對抗),展現出了教學相長的美好效果。最後,G 大幅成長了,繪 製出來非常逼真的作品(假品)了。

程式(4):定義 GAN 的生成器,並進行訓練
⚫ 定義並單獨訓練生成器(G)。
⚫ 暫時不訓練判別器(D)。
⚫ 訓練 300 回合。由生成器(Generator)自己學習重建點雲 3D 圖像。 並且,把訓練過程的圖像(儲存)顯示出來。
⚫ 在訓練過程中,每 60 回合儲存一次。
⚫ 程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第20张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第21张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第22张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第23张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第24张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第25张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第26张图片
⚫ 訓練生成器(G)共 300 回合。
⚫ 在 訓 練 過 程 中 , 每 60 回 合 儲 存 一 次 寫 入 圖 檔 ( 儲 存 於 /ShapeNet_data/裡),如下:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第27张图片
程式(5):設計判別器,並且進行訓練
⚫ 添加另一個角色:判別器(Discriminator)。D 和 G 一起訓練,相互 成長。
⚫ 這是典型的 GAN 訓練模式。此程式也會把典型 GAN 訓練過程的圖 像儲存起來。以便給您觀察 GAN 訓練過程的圖像生成過程。
⚫ 程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第28张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第29张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第30张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第31张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第32张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第33张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第34张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第35张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第36张图片
⚫ 這是典型的 GAN 訓練流程。訓練 150 回合。
⚫ 在訓練過程中,所生成的一系列圖像為:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第37张图片
⚫ 放大圖像:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第38张图片
程式(6):優化 GAN 模型的學習能力
⚫ 添加了兩行程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第39张图片
⚫ 程式碼:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第40张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第41张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第42张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第43张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第44张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第45张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第46张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第47张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第48张图片
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第49张图片
⚫ 生成圖像為:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第50张图片
⚫ 放大圖像:
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第51张图片
⚫ 大功告成。
# END
◆◆◆

神鹰AI团队准备了10支《彩绘GAN模型》,更多paddlepaddle的讨论与知识可关注此公众号,我们一起探索迈向元宇宙,AI生成艺术之路
AI生成藝術(No.3):Paddle的3D點雲GAN模型_第52张图片

你可能感兴趣的:(人工智能,Paddlepaddle,人工智能,生成对抗网络,paddlepaddle,图像处理,3d)