最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

1202-1205工作小結(jié)

2022-06-26 22:56 作者:Nofear-wave  | 我要投稿


仍舊是嘗試在隱空間中隨機游動,并嘗試尋找一個子空間,該子空間對應(yīng)所有“笑”的屬性,進(jìn)而對一張圖片笑的狀態(tài)提取情感space;現(xiàn)實意義,生成同一屬性不同情感的圖片,可以達(dá)到對圖片進(jìn)行情感編輯,或者同一段臺詞的不同情感演繹效果

(一)1202工作小結(jié)

1、manipulate.py分析

輸入?yún)?shù)

`distance` is sign sensitive.表示distance這個參數(shù)值對正負(fù)值有不同表現(xiàn)(符號敏感)

參數(shù)含義

編輯部分

首先看懂id_invert中manipulate代碼

np.tile(A, reps)

復(fù)制數(shù)組元素輸入,A是數(shù)組,reps是個list,reps的元素表示對A的各個axis進(jìn)行重復(fù)的次數(shù)

np.where(condition, x, y)

滿足條件(condition),輸出x,不滿足輸出y

key_idea:代入語義邊界和latent_code,定義L插值向量和步長,生成每一步對應(yīng)的code

大概意思能夠get√到,今天暫時只看懂了部分代碼,如何分層操作還沒有很懂;

基于已有語義向量做一些嘗試。

2、manipulate代碼初步修改

首先利用manipulate代碼對圖片語義進(jìn)行線性編輯,效果不是很好,編輯的幅度過大了??

效果真的很差呢(ˉ▽ˉ;)...
#隨機漫步修改插值方式 - 對l進(jìn)行修改即可
l = np.random.uniform(-1,1,step) #左右隨機游動
l = (np.cumsum(l)).reshape([step if axis == 1 else 1 for axis in range(x.ndim)])
results = np.where(is_manipulatable, x + l*b, results)
有點鬼畜,幅度有點大
效果還是不太好

1202嘗試如上,效果都沒有特別好,但是明顯看到上邊這幅圖的溶解現(xiàn)象不那么明顯了!

上邊效果不好的原因是隨機游動左右橫跳間隔時間過短,導(dǎo)致不真實;

下一步工作考慮將l進(jìn)行分段,每一小段上之后只朝著一個方向移動,隨機選擇每段移動的方向(1203實現(xiàn))

3、video

插值方法生成video不逼真的主要原因:插值過程有新數(shù)據(jù)產(chǎn)生,類似像素變換;video變化是幾何變換。

  • 是現(xiàn)有GAN的generater生成圖片不夠真實的問題

  • 不是考慮單純某個部位動而其他部位不動(例如微笑只是嘴動,那是不可能的)

  • 關(guān)鍵在于真實的視頻每一幀之間單純是像素點的移動,而每個個體或事物一旦在視頻中出現(xiàn),以物體為例,它的整體像素是確定的,視頻中的“動”是物體像素進(jìn)行了幾何變換,而不是像素變換的結(jié)果。

像素變換和幾何變換的差異(變換定義域/值域)
  • 利用插值生成video中隨著步長變動,原始個體進(jìn)行了像素變換并非像素整體的幾何變換,所以才會有溶解的效果。(聯(lián)想到stylegan3做的平移旋轉(zhuǎn)不變性,其實它下一步應(yīng)該進(jìn)行的工作就是video生成了)

    -------溶解現(xiàn)象的實質(zhì):對個體的像素進(jìn)行了像素值的變換(以下圖為例,可以看到肩膀部分出現(xiàn)了像素變換,即將原始肩膀?qū)?yīng)像素值變小0對應(yīng)黑色)。

  • 我們希望在插值過程中,發(fā)生的是幾何變換并非像素變換。-還是想試下MH算法,如果不變幀比較多的話是否能緩解這種現(xiàn)象?(1203實現(xiàn))

可以看到有溶解現(xiàn)象存在【-5,5】

(二)1204探路嘗試

1、嘗試分段函數(shù)進(jìn)行語義編輯

(1)思路簡單,就是將step分為幾個小區(qū)間,區(qū)間內(nèi)移動方向相同,相鄰區(qū)間之間符號相反

但首次運行后結(jié)果出現(xiàn)了很大的問題

l = np.ones(step)
temp = [0.35,0.58,0.75,0.85,1]
for i in range(len(temp)):
 ?m = -2*(i%2)+1 
 ?if i == 0:
 ? ?l[0] = m*np.random.uniform(0,0.3)
 ? ?for j in range(int(step*temp[i]-1)):
 ? ? ?l[j+1] = l[j] + m*np.random.uniform(0,0.3)
	else:
 ? ? ?a = int(step*temp[i-1])
 ? ? ?for j in range(int(step*temp[i]-a)):
 ? ? ? ?l[a+j] = l[a+j-1] + m*np.random.uniform(0,0.3)
l0 = l.reshape([step if axis == 1 else 1 for axis in range(x.ndim)])
results = np.where(is_manipulatable, x + l0*b, results)

#我的問題,這段代碼中定義的正負(fù)方向變量b和語義邊界向量b重名導(dǎo)致結(jié)果出錯

#這里其實就對應(yīng)我修改了語義向量b得到的結(jié)果,提供另一種探索路徑,直接修改語義向量b!

圖片語義發(fā)生了很大改變

(2)修正上述錯誤之后,得到如下結(jié)果

 ?l = np.ones(step)
 ?temp = [0.35,0.58,0.75,0.85,1] #擺動列標(biāo)
 ?for i in range(len(temp)):
 ? ?m = -2*(i%2)+1 
 ? ?if i == 0:
 ? ? ?l[0] = m*np.random.uniform(0,0.3) #0.3變動幅度
 ? ? ?for j in range(int(step*temp[i]-1)):
 ? ? ? ?l[j+1] = l[j] + m*np.random.uniform(0,0.3)
 ? ?else:
 ? ? ?a = int(step*temp[i-1])
 ? ? ?for j in range(int(step*temp[i]-a)):
 ? ? ? ?l[a+j] = l[a+j-1] + m*np.random.uniform(0,0.3)
效果好點了

(3)對擺動頻率temp和幅度值0.3進(jìn)行微調(diào)

感覺表情轉(zhuǎn)變還是有點突兀

(4)設(shè)置flag,指定方向{1,-1,0}

(1)中初步想法是設(shè)置相鄰區(qū)間移動方向相反,即flag=[1,-1,1,-1]交替進(jìn)行,進(jìn)一步考慮添加過渡的不變幀 flag = [1,0,-1,0,1,0,-1,1] ,長度與temp對應(yīng)

看著還湊活,牙有點出戲(lll¬ω¬)


(5)蒙娜麗莎圖片嘗試


每一步都可能改變方向 uniform(-0.3,0.3)
初次分段插值 random4
美女微笑 {陰森}
為什么總要露牙齒


2、直接修改邊界向量b - 1205

通過一系列操作,上頭默認(rèn)的邊界向量不會是露牙齒的叭(ˉ▽ˉ;)...

(1)一些問題

ID_invert支持分層語義編輯,可以指定在GAN某些特征層上進(jìn)行操作

--關(guān)于數(shù)據(jù)格式:(這里使用的GAN特征層為14)

首先查看了數(shù)據(jù)格式是(14,512),對應(yīng)GAN的特征層數(shù)為14,每一層的512維向量都不同

b.shape=(14,512)

其次interfacegan中默認(rèn)的語義向量中默認(rèn)分層語義編輯,且包含了具體在哪些層上進(jìn)行編輯

源代碼中GAN的層數(shù)


(2)根據(jù)(1)中分析的數(shù)據(jù)格式,有兩種思路,自定義分層編輯的層數(shù)和指定層數(shù)(或者不分層),直接修改邊界向量b。兩種方向都可以進(jìn)行嘗試。

(3)保持b不變,修改編輯層數(shù)(對應(yīng)code中manipulate.py)

	if isinstance(boundary_file, dict):
 ? ?boundary = boundary_file['boundary']
 ? ?manipulate_layers = boundary_file['meta_data']['manipulate_layers']
 ? ?
 ? ?
	codes = manipulate(latent_codes=latent_codes,
 ? ? ? ? ? ? ? ? ? ? boundary=boundary,
 ? ? ? ? ? ? ? ? ? ? start_distance=args.start_distance,
 ? ? ? ? ? ? ? ? ? ? end_distance=args.end_distance,
 ? ? ? ? ? ? ? ? ? ? step=step,
 ? ? ? ? ? ? ? ? ? ? layerwise_manipulation=True, #進(jìn)行逐層操作
 ? ? ? ? ? ? ? ? ? ? num_layers=generator.num_layers,
 ? ? ? ? ? ? ? ? ? ? manipulate_layers=manipulate_layers, #指定修改的層數(shù)
 ? ? ? ? ? ? ? ? ? ? is_code_layerwise=True, #不進(jìn)行逐層操作
 ? ? ? ? ? ? ? ? ? ? is_boundary_layerwise=True) #不進(jìn)行逐層操作

(a)不逐層操作

layerwise_manipulation=False
is_code_layerwise=False
is_boundary_layerwise=False
[-3,3] step=100 linear

只看變化效果差不多,但不分層圖像背景顏色發(fā)生了變化


[-3,3] step=100 linear

(b)逐層操作指定層數(shù)?

num_layers=[1,2,3,4]


(4)不進(jìn)行逐層語義編輯,直接修改語義向量

首先自定義b向量為512空間的標(biāo)準(zhǔn)正交基-512個,慢慢嘗試

參考

https://ezgif.com/maker/ezgif-5-21a103f5-gif(一鍵生成gif的網(wǎng)址,家人們太好用了)


1202-1205工作小結(jié)的評論 (共 條)

分享到微博請遵守國家法律
玉环县| 舞阳县| 金华市| 图木舒克市| 昆明市| 青浦区| 灌云县| 泗洪县| 南通市| 五大连池市| 龙州县| 赤壁市| 修水县| 辉南县| 临潭县| 凯里市| 垫江县| 兴国县| 扎兰屯市| 茌平县| 浦江县| 汉沽区| 遂川县| 长宁区| 韩城市| 随州市| 贵南县| 潜江市| 中西区| 乌恰县| 基隆市| 法库县| 宝山区| 三都| 都匀市| 确山县| 游戏| 安西县| 松江区| 兰西县| 南漳县|