<address id="japib"><nav id="japib"></nav></address>

<cite id="japib"></cite>

        基于特征向量變換GAN的多域圖像轉換方法

        王思明 李昭坊

        引用本文:
        Citation:

        基于特征向量變換GAN的多域圖像轉換方法

          通訊作者: 王思明, 1040676572@qq.com
        • 中圖分類號: TP391.41

        Multi-domain image conversion method based on feature vector transformation GAN

          Corresponding author: WANG Si-ming, 1040676572@qq.com ;
        • CLC number: TP391.41

        • 摘要: 生成對抗網絡(Generative Adversarial Nets,GAN)在圖像翻譯及多域圖像轉換方向已取得顯著成功,但現有用于多域間圖像轉換的GAN大部分使用了多個生成器G及判別器D,導致網絡訓練參數量過大,數據集不能充分利用. 針對以上問題,基于StarGAN和多模態無監督圖像轉換方法,提出基于特征向量變換的GAN模型. 首先,將源圖像編碼成內容向量加特征向量的形式;然后將提取到的特征向量從源域轉換到目標域而保持內容向量不變;最后完成圖像重構. 該模型僅使用一對生成器G和判別器D,有效地解決了上述問題. 相較于現有模型,新模型不僅適用于多域圖像轉換,還可以從噪聲生成指定圖像. 在CelebA數據集上的實驗結果表明新模型與現有模型相比在多域人臉屬性轉換方面表現出更好的效果.
        • 圖 1  條件生成對抗網絡模型

          Figure 1.  The model of conditional Generative Adversarial Nets

          圖 2  圖像轉換任務中生成器的結構示意圖

          Figure 2.  Schematic diagram of generator in the image conversion task

          圖 3  判別器模型示意圖

          Figure 3.  Schematic diagram of discriminator

          圖 4  循環一致損失示意圖

          Figure 4.  Schematic diagram of cycle consistency loss

          圖 5  本文模型在單一人臉屬性上的轉換效果

          Figure 5.  The conversion effect of this model on a single face attribute

          圖 6  本文模型用于同時轉換兩個面部屬性的轉換效果

          Figure 6.  The conversion effect of this model used in simultaneous conversion two face attributes

          圖 7  本文模型用于風景圖像多域轉換的實驗效果

          Figure 7.  Experimental results of our model used in multi-domain transformation of landscape images

          圖 8  生成任務中本文模型與IcGAN的實驗對比

          Figure 8.  Experimental comparison between our model and IcGAN in image generation task

          圖 9  本文模型與對比模型在多域圖像轉換任務中的對比

          Figure 9.  Comparison of ours and comparative models in multi-domain image conversion task

          表 1  本文模型與對比模型的分類錯誤率評測結果

          Table 1.  Classification error rate evaluation results of ours and comparative models %

          模型發色性別年齡
          CycleGAN4.1614.2610.81
          StarGAN3.514.175.72
          ModularGAN3.863.246.20
          本文模型3.433.464.58
          下載: 導出CSV

          表 2  本文模型與對比模型在AMT上的評測結果

          Table 2.  The evaluation results of ours and the comparative models on AMT %

          模型發色性別年齡發色+性別發色+年齡
          CycleGAN9.6711.632.527.852.08
          StarGAN23.8525.4527.3120.7926.04
          ModularGAN31.7131.9725.4831.5328.17
          本文模型34.7730.9544.6939.8343.71
          下載: 導出CSV
          幸运快三
        • [1] Hinton G E, Osinder S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1 527-1 554. DOI:  10.1162/neco.2006.18.7.1527.
          [2] Ricci F, Rokach L, Shapira B. Recommender systems handbook[M]. Berlin: Springer, 2011: 1-35.
          [3] Goodfellow I J, Pouget A J, Mirza M, et al. Generative adversarial nets[C]//Proceedings of the International Conference on Neural Information Processing Systems, Montreal, Canada, 2014: 2 672-2 680.
          [4] 王星, 杜偉, 陳吉, 等. 基于深度殘差生成式對抗網絡的樣本生成方法[J]. 控制與決策, 2020, 35(8): 1 887-1 894. Wang X, Du W, Chen J, et al. Sample generation based on residual generative adversarial network[J]. Control and Decision, 2020, 35(8): 1 887-1 894.
          [5] Mirza M ,Osindero S. Conditional generative adversarial nets[J]. 2014, arXiv: 1411.1784.
          [6] Odena A, Olah C, Shlens J. Conditional image synthesis with auxiliary classifier GANs[C]//International Conference on Machine Learning, Sydney, Australia, 2017: 2 642-2 651.
          [7] Yan X, Yang J, Sohn K, et al. Attribute 2 image: conditional image generation from visual attributes[C]//European Conference on Computer Vision, Springer, Berlin, Germany, 2016: 776-791.
          [8] Reed S, Akata Z, Yan X, et al. Generative adversarial text to image synthesis[C]// Proceedings of the 33rd International Conference on Machine Learning, New York, USA, 2016, arXiv: 1605. 05396.
          [9] Reed S, Akata Z, Mohan S, et al. Learning what and where to draw[C]//Proceedings of the 30th Conference on Neural Information Processing Systems, Barcelona, 2016,arXiv: 1610.02454.
          [10] Xu T, Zhang P, Huang Q, et al. Attngan: Fine-grained text to image generation with attentional generative adversarial networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City,USA, 2018: 1 316-1 324.
          [11] Zhang H, Xu T, Li H, et al. StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision, Venice Italy, 2017: 5 907-5 915.
          [12] Zhao B, Wu X, Cheng Z Q, et al. Multi-view image generation from a single-view[C]//Proceedings of the 26th ACM International Conference on Multimedia. Seoul ,Korea, 2018: 383-391.
          [13] Isola P, Zhu J Y, Zhou T H, et al. Image-to-image translation with conditional adversarial networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, USA, 2017: 1 125-1 134.
          [14] Karacan L, Akata Z, Erdem A, et al. Learning to generate images of outdoor scenes from attributes and semantic layouts[J]. 2016, arXiv: 1612.00215.
          [15] Sangkloy P, Lu J, Chen F, et al. Scribbler: Controlling deep image synthesis with sketch and color[C]//Proceedings of the IEEE Conference on Computer Vision & Pattern Recognition, Hawail, USA, 2017, arXiv: 1612.00835.
          [16] Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision, Venice, Italy, 2017: 2 223-2 232.
          [17] 常佳, 王玉德, 吉燕妮. 基于改進的U-Net生成對抗網絡的圖像翻譯算法[J]. 通信技術, 2020, 53(2): 327-334. DOI:  10.3969/j.issn.1002-0802.2020.02.011. Chang J, Wang Y D, Ji Y N. Image translation algorithm based on modified U-Net generative adversarial network[J]. Communications Technology, 2020, 53(2): 327-334.
          [18] 胡麟苗, 張湧. 基于生成對抗網絡的短波紅外-可見光人臉圖像翻譯[J]. 光學學報, 2020, 40(5): 75-84. Hu L M, Zhang Y. Facial image translation in short-wavelength infrared and visible light based on generative adversarial network[J]. Acta Optica Sinica, 2020, 40(5): 75-84.
          [19] 顏貝, 張建林. 基于生成對抗網絡的圖像翻譯現狀研究[J]. 國外電子測量技術, 2019, 38(6): 130-134. Yan B, Zhang J L. Research the status of image translation based on generative adversarial networks[J]. Foreign Electronic Measurement Technology, 2019, 38(6): 130-134.
          [20] 吳少乾, 李西明. 生成對抗網絡的研究進展綜述[J]. 計算機科學與探索, 2020, 14(3): 377-388. DOI:  10.3778/j.issn.1673-9418.1909058. Wu S Q, Li X M. Survey on research progress of generating adversarial networks[J]. Journal of Frontiers of Computer Science and Technology, 2020, 14(3): 377-388.
          [21] 彭晏飛, 王愷欣, 梅金業, 等. 基于循環生成對抗網絡的圖像風格遷移[J]. 計算機工程與科學, 2020, 42(4): 699-706. DOI:  10.3969/j.issn.1007-130X.2020.04.017. Peng Y F, Wang K X, Mei J Y, et al. Image style migration based on cycle generative adversarial networks[J]. Computer Engineering & Science, 2020, 42(4): 699-706.
          [22] Choi Y, Choi M, Kim M, et al. StarGAN: Unified generative adversarial networks for multi-domain image-to-image translation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City,USA, 2018: 8 789-8 797.
          [23] Huang X, Liu M Y, Belongie S, et al. Multimodal unsupervised image-to-image translation[C]//Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 2018: 172-189.
          [24] Zhao B, Chang B, Jie Z, et al. Modular generative adversarial networks[C]//Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 2018: 150-165.
          [25] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. Computer Science, 2015, arXiv: 1511.06434v2.
          [26] Arjovsky M, Chintala S, Bottou L. Wasserstein GAN[C]//Proceedings of the 34th International Conference on Machine Learning, Sydney, Australia, 2017: 214-223.
          [27] Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of wasserstein GANs[C]//Advances in Neural Information Processing Systems, Long Beach, USA, 2017: 5 767-5 777.
          [28] 吳華明, 劉茜瑞, 王耀宏. 基于生成對抗網絡的人臉圖像翻譯[J]. 天津大學學報: 自然科學與工程技術版, 2019, 52(3): 306-314. Wu H M, Liu Q R, Wang Y H. Face image translation based on generative adversarial networks[J]. Journal of Tianjin University: Science and Technology, 2019, 52(3): 306-314.
          [29] Perarnau G, Joost V D W, Raducanu B. Invertible conditional GANs for image editing[J]. 2016, arXiv: 1611.06355.
          [30] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, USA, 2016: 770-778.
        • [1] 趙海英徐丹彭宏 . 基于綜合特征的圖像檢索. 云南大學學報(自然科學版), 2007, 29(4): 349-354.
          [2] 李斌劉寧張洪彬焦存仙 . HSVECs血管生成模型和HUVECs血管生成模型的比較. 云南大學學報(自然科學版), 2005, 27(5): 457-460.
          [3] 張勇耿國華 . 基于條件數約束的秦俑圖像特征點匹配. 云南大學學報(自然科學版), 2017, 39(4): 547-553. doi: 10.7540/j.ynu.20160568
          [4] 蔡娜王俊英劉惟一 . 一種基于小數據集的貝葉斯網絡學習方法. 云南大學學報(自然科學版), 2007, 29(4): 359-363,370.
          [5] 施心陵王逍張榆鋒汪源源 . 基于實時聯想的醫學診斷報告書語言生成器. 云南大學學報(自然科學版), 2003, 25(3): 217-220.
          [6] 楊麗云周冬明趙東風張紹堂 . 基于DPCNN的無向賦權圖的最小生成樹的求解. 云南大學學報(自然科學版), 2008, 30(2): 142-147.
          [7] 賈時銀周冬明聶仁燦趙東風 . 脈沖耦合神經網絡模型參數優化及圖像分割. 云南大學學報(自然科學版), 2010, 32(5): 521-525 .
          [8] 胡芳周冬明聶仁燦趙東風 . 脈沖耦合神經網絡模型參數估計及其圖像分割. 云南大學學報(自然科學版), 2010, 32(6): 652-656 .
          [9] 劉玉明周冬明趙東風 . 基于細胞神經網絡超混沌特性的圖像加密. 云南大學學報(自然科學版), 2007, 29(4): 355-358.
          [10] 楊雨薇張亞萍 . 一種改進的SIFT圖像檢測與特征匹配算法. 云南大學學報(自然科學版), 2017, 39(3): 376-384. doi: 10.7540/j.ynu.20160731
          [11] 和睿孫永奇 . Canny特征在基于內容的圖像檢索中的應用. 云南大學學報(自然科學版), 2011, 33(6): 651-657.
          [12] 楊繼婷文樂吳俊孫亮汪源源徐丹羅華友舒若 . 基于改進型八叉樹分解的三維超聲圖像數據抽樣方法. 云南大學學報(自然科學版), 2020, 42(3): 444-451. doi: 10.7540/j.ynu.20190222
          [13] 丁齋生周冬明聶仁燦侯瑞超劉棟劉琰煜 . 基于視覺顯著性與殘差網絡的紅外-可見光圖像融合方法. 云南大學學報(自然科學版), 2019, 41(6): 1108-1117. doi: 10.7540/j.ynu.20180692
          [14] 梅禮曄郭曉鵬張俊華郭正紅肖佳 . 基于空間金字塔池化的深度卷積神經網絡多聚焦圖像融合. 云南大學學報(自然科學版), 2019, 41(1): 18-27. doi: 10.7540/j.ynu.20170670
          [15] 張艷劉兵 . 抗剪裁的盲圖像水印算法. 云南大學學報(自然科學版), 2005, 27(3): 206-210.
          [16] 李肖肖聶仁燦周冬明謝汝生 . 圖像增強的拉普拉斯多尺度醫學圖像融合算法. 云南大學學報(自然科學版), 2019, 41(5): 908-917. doi: 10.7540/j.ynu.20180840
          [17] 黃振柏正堯莫禹鈞 . 調制寬帶轉換器與多陪集采樣在稀疏多頻帶信號采樣中的應用. 云南大學學報(自然科學版), 2014, 36(4): 477-483. doi: 10.7540/j.ynu.20130600
          [18] 楊紅衛童小華吳星 . 基于"雙模結構"思想和SVG的異構空間數據轉換方法. 云南大學學報(自然科學版), 2011, 33(1): 27-32 .
          [19] 趙偉偉張俊華王逍龔軍輝劉慧敏 . 改進能量函數的Seam carving圖像縮放方法. 云南大學學報(自然科學版), 2014, 36(2): 181-186. doi: 10.7540/j.ynu.20130195
          [20] 陳祥望鄭松和睿徐丹 . 基于圖像的水波動畫建模和實時繪制. 云南大學學報(自然科學版), 2013, 35(S2): 18-. doi: 10.7540/j.ynu.2013b52
        • 加載中
        圖(9)表(2)
        計量
        • 文章訪問數:  391
        • HTML全文瀏覽量:  412
        • PDF下載量:  12
        • 被引次數: 0
        出版歷程
        • 收稿日期:  2019-12-02
        • 錄用日期:  2020-03-23
        • 網絡出版日期:  2020-08-28
        • 刊出日期:  2020-11-10

        基于特征向量變換GAN的多域圖像轉換方法

          通訊作者: 王思明, 1040676572@qq.com
        • 蘭州交通大學 自動化與電氣工程學院, 甘肅 蘭州 730070

        摘要: 生成對抗網絡(Generative Adversarial Nets,GAN)在圖像翻譯及多域圖像轉換方向已取得顯著成功,但現有用于多域間圖像轉換的GAN大部分使用了多個生成器G及判別器D,導致網絡訓練參數量過大,數據集不能充分利用. 針對以上問題,基于StarGAN和多模態無監督圖像轉換方法,提出基于特征向量變換的GAN模型. 首先,將源圖像編碼成內容向量加特征向量的形式;然后將提取到的特征向量從源域轉換到目標域而保持內容向量不變;最后完成圖像重構. 該模型僅使用一對生成器G和判別器D,有效地解決了上述問題. 相較于現有模型,新模型不僅適用于多域圖像轉換,還可以從噪聲生成指定圖像. 在CelebA數據集上的實驗結果表明新模型與現有模型相比在多域人臉屬性轉換方面表現出更好的效果.

        English Abstract

        • 近年來,隨著深度自動編碼器[1]、變分自動編碼器[2]和生成對抗網絡(Generative Adversarial Nets, GAN)[3]的提出,圖像生成及圖像?圖像的域間轉換得到了廣泛研究. 這是因為基于深度神經網絡的生成模型與傳統生成模型相比是端到端的學習方式,無需得到生成分布的顯式表達,省去了傳統生成模型中的復雜數學推理[4]. 本文研究基于圖像生成的任務,包括指定屬性圖像生成[5-7]、文本到圖像的生成[8-10]、漸進式圖像生成[11]、多視角圖像生成[12]、圖像翻譯[13]、虛擬場景構建[14]和圖像轉換[15-19]等. 這些都是基于2014年Mirza提出的conditional Generative Adversarial Nets(cGAN)[5]而進行的,分別以屬性向量、文本描述或圖像等作為條件輸入,輸出圖像. 大多數現有的圖像生成模型使用神經網絡學習來自輸入的直接映射,其輸入包括圖像或隨機噪聲向量以及目標條件,輸出為包含目標屬性的圖像.

          用于人臉屬性變換的圖像翻譯是多域間圖像轉換的一個典型例子,在CelebA數據集上進行訓練并評判轉換效果. 該數據集的每張人臉圖像都有特定的屬性(如:發色、性別、年齡等),并已有標簽進行了標注. 對于一個具體的圖像轉換任務,研究者希望能夠控制生成圖像的更多屬性(如:將一個男性黑發年輕人的圖像轉換成一張女性棕發年長者的圖像,并保持人臉基本內容不變). 現有的大部分用于圖像轉換的生成對抗網絡[13, 15-21]只能完成從一個域到另一個特定域的轉換,若完成多域轉換則需要多對生成器G和判別器D. 然而運用多對生成器G和判別器D在進行多域圖像轉換時,訓練周期長且需要數量巨大的參數,在進行某兩個域間的轉換訓練時其他域的數據無法參與其中,造成可利用的數據量較少,實驗效果也不理想. 本文基于StarGAN[22]與多模態無監督圖像轉換方法[23],提出了一種僅需要一對生成器G與判別器D的基于特征向量變換的生成對抗網絡,其既不局限于只在兩個域間的數據集上進行訓練,又沒有使模型變得復雜,可以有效解決以上問題.

          本文提出的基于特征向量變換的生成對抗網絡由兩大部分組成:一部分是用于圖像轉換的生成器G;另一部分是用于判別圖像真假及預測輸入圖像域分類的判別器D. 其中生成器G的構成較為復雜,其由編碼器E、特征轉換器T以及圖像重構器R組成[24].

          本文的主要貢獻如下:

          (1) 提出了基于特征向量變換的圖像轉換生成對抗網絡,該網絡僅需要一對生成器G及判別器D就可以完成多域間圖像轉換的任務,與現有模型相比所需訓練數據量及訓練參數較少;

          (2) 提出的網絡可以表達出轉換過程中代表源域圖像及目標域圖像屬性的特征向量,損失函數增加了一項特征損失;

          (3) 提出的網絡可以利用相同圖像的不同屬性多次進行不同域間轉換的訓練,從而使數據得以充分利用;

          (4) 提出的網絡可通過指定特征向量的維度任意選取所要變換的圖像屬性;

          (5) 由于提出的網絡能顯式表達出代表圖像屬性的特征向量,所以其不僅能實現多域間圖像轉換的任務,還可用于根據指定屬性(特征向量)從隨機噪聲中生成指定特征的圖像.

          • 2006年,Hinton等[1]運用無監督逐層貪心訓練算法和BP算法分別對隱藏層和整個神經網絡進行訓練,有效地改善了訓練參數陷入局部最優解的問題. 2014年,Goodfellow等[3]基于深度神經網絡的BP算法提出了一種包含有生成器G及判別器D進行“極大?極小”博弈的GAN,避免了在極大似然估計和相關算法中出現的許多難以處理的概率計算,利用對抗的方式將生成數據概率模型逐步拉近于真實數據概率分布[20-21]. 2015年,Radford等[25]將擅長于圖像特征提取的卷積神經網絡(Convolutional Neural Networks,CNN)引入GAN中提出DCGAN,并將此用于大規模無標記數據集的非監督學習,在圖像生成方面取得了巨大成功,但還是存在與原始GAN一樣的訓練不穩定、訓練困難、生成器和判別器的loss無法指示訓練進程、生成樣本缺乏多樣性等問題. 2017年,Arjovsky等[26]提出WGAN,用Wasserstein距離代替之前衡量生成分布與真實分布的Kullback–Leibler(KL)散度和Jensen-Shannon(JS)散度. 同年,其又與Gulrajani等[27]共同提出WGAN-GP,在判別器的損失函數中添加一項梯度懲罰項,使每次神經網絡的權重參數更新時變化不太劇烈,梯度不至于彌散或爆炸,從而比較徹底地解決了各種GAN的訓練困難、生成樣本缺乏多樣性等問題.

            利用GAN進行圖像翻譯或圖像轉換的研究正處于較快的發展階段中,其中作為基石的是由Mirza等[5]提出的cGAN,其將GAN的輸入加入了條件限制,即在生成器G和判別器D的輸入中均引入了條件信息v,v對網絡模型進行束縛以指導生成數據的過程(見圖1),這樣就使原始GAN的完全無監督學習變成了條件的監督學習,解決了原始GAN在生成數據時完全取決于輸入的隨機噪聲、生成樣本不可控等問題[28].

            圖  1  條件生成對抗網絡模型

            Figure 1.  The model of conditional Generative Adversarial Nets

            以cGAN為基礎進行圖像翻譯任務中最典型的是Isola等[13]提出的pix2pix生成對抗網絡模型,在給定輸入圖像的情況下,每個輸出像素被視為與所有其他像素有條件地獨立. 該模型以噪聲為輸入,一種照片類型為條件,輸出為另一種類型的照片,并且使用了結構化的損失函數使得生成的圖像更加真實清晰. 但是pix2pix在訓練時需要大量的配對數據,且通常這些數據較難獲得,比如要將白天的圖片轉換成夜晚的圖片,那么就需要將同一個地方的白天和夜晚的圖片作為一對訓練數據對模型進行訓練,且每對訓練數據除了要轉換的屬性外其他內容要盡可能做到完全不變,所以很大程度上限制了其應用領域.

            在域間圖像轉換領域,配對的訓練數據難以獲取,于是Zhu等[16]提出CycleGAN,可以在兩個不配對的域間圖像轉換中取得比較好的效果. CycleGAN以源域圖像作為輸入、目標域圖片作為條件,輸出為轉換后的圖像. 其主要貢獻是在一個模型中應用了兩對生成器G和判別器D,并引入了循環一致的概念[16],使得不同風格的圖像可以非常自然地轉換. 但缺點是,若完成N個域間圖像的轉換則需要NN?1)個相互獨立的生成器G,則造成訓練參數過于龐大,不同域間的圖像即使有相同的屬性也不能相互參與訓練,導致數據浪費. 針對CycleGAN的缺點, Choi等[22]構建了StarGAN模型,該模型僅需要一對生成器G和判別器D即可實現多域間圖像的轉換,其使模型訓練的參數量大大減少,其還利用掩碼向量實現了不同數據集間的同時訓練. 由于StarGAN可以用相對簡單的網絡架構即可實現自然地多域間圖像的轉換,所以其相較于之前模型擴展性更強,生成圖像的質量也更高. 但StarGAN在圖像轉換時轉換的是圖像經過若干卷積層后的特征圖,而非確切的、可人為指定的向量,這使得其無法在網絡中將此轉換進行固定的顯式表達,從而也不能進行指定圖像生成的任務.

            本文基于IcGAN[29], ModularGAN[24]及多模態無監督圖像轉換方法[23]對圖像進行編碼. 其中IcGAN將圖像通過編碼器映射到噪聲 z 與條件 y ,并通過對 y 的修改來控制生成圖像. ModularGAN將網絡模型模塊化的思想對本文將生成器模塊化為編碼器E、特征轉換器T和圖像重構器R的做法起到了啟發性作用. 多模態無監督圖像轉換的網絡模型將圖像可以編碼為一個具有域不變性的內容碼和一個能刻畫域特有性質的風格碼,這對本文將圖像編碼為內容向量與特征向量的網絡結構提供了模型基礎.

          • 對于多域間圖像轉換問題,建立的模型不是學習固定的轉換(例如,將黑頭發變成棕色頭發),而是將圖像和域的特征信息作為輸入,學習將輸入的圖像靈活地轉換到相應的域. 在訓練過程中,隨機生成一個目標域的特征向量,并訓練模型將輸入圖像轉換到目標域. 這樣,我們可以控制目標域特征向量并在測試階段將圖像轉換到任何想要的域. 輸入源域圖像為 $x$,目標域條件信息為 ${{ v}}$,生成圖像為 $x'$,則轉換過程為:$\left( {x,{{v}}} \right) \to x'$.

            提出的網絡模型是在cGAN的基礎上以圖像的屬性標簽(特征向量)作為條件輸入進網絡并通過卷積下采樣的方式提取源域圖像特征得到特征圖,然后將特征圖展開成向量的形式,再連接兩層全連接層,加入全連接層的目的就是讓網絡學習到如何將向量分成內容向量與特征向量[24, 29],這樣就可以使特征向量的特定位置控制圖像特定的屬性,圖像特征就能在網絡中顯式表達出來. 網絡中的特征向量變換是通過由一系列全連接層組成的殘差塊串聯起來的殘差網絡完成的,殘差網絡學習并完成特征向量從源域到目標域的轉換. 之后將轉換后特征向量連同內容向量一起進行轉置卷積上采樣操作,從而完成圖像的重構. 在此問題中涉及到了圖像的編碼、轉換與重構,本文為此設計了編碼器E、特征轉換器T和圖像重構器R組成的生成器G.

            對于生成指定屬性圖像的問題,網絡模型的生成器僅需保留圖像重構器R即可,用從正態分布隨機采樣的噪聲 $z$ 代替原內容向量部分,特征向量部分則輸入要生成圖像的條件信息 ${v}$,網絡其余部分功能和結構不變. 其生成過程為:$\left( {z,{v}} \right) \to x'$.

          • 設計的基于特征向量變換的生成對抗網絡可完成多域圖像間轉換和指定圖像生成任務. 兩種任務的模型均由一對生成器G和判別器D組成,對其結構與功能分析如下.

          • 圖像轉換任務模型結構分為生成器G和判別器D兩大部分,受ModularGAN[24]思想的啟示將生成器G模塊化為編碼器E、特征轉換器T和圖像重構器R. 編碼器E的作用是將輸入的圖像和條件信息 ${v}$ (特征向量)進行編碼,最終編碼成可劃分為內容向量和特征向量的一列向量;特征轉換器T的作用是將編碼后的源域特征向量轉換成目標域的特征向量;圖像重構器R的作用是根據內容向量與轉換后的特征向量進行圖像的重構,以生成目標圖像. 判別器先進行預訓練,預訓練好的判別器可進行判別圖像的真偽以及預測真假圖像的域分類. 生成器G與判別器D模型的結構及原理見圖2、圖3. 其中E的輸出、T的輸入輸出、R的輸入都具有相同的維度以便于網絡連接及向量轉換.

            圖  2  圖像轉換任務中生成器的結構示意圖

            Figure 2.  Schematic diagram of generator in the image conversion task

            圖  3  判別器模型示意圖

            Figure 3.  Schematic diagram of discriminator

          • 圖像生成任務是轉換任務中的一部分,完成生成任務無需再次單獨訓練網絡模型,直接調用轉換任務網絡中的重構器R即可,無需重復訓練,且僅有從噪音到圖像的正向生成過程而無逆向編碼過程. 若僅完成圖像生成的任務,則只需要訓練生成部分的網絡即可. 其模型結構由一對生成器G及判別器D組成,其中生成器為轉換任務模型中的R,其作用是將隨機生成的噪聲向量與指定的特征向量結合以生成指定特征圖像,其完成的操作為R(z,v). 判別器的作用同樣是判別圖像的真偽及預測生成圖像的域分類. 該模型生成器結構如圖1中cGAN的生成器所示,判別器結構如圖3所示. R的輸入維度也與上述網絡一致,其中特征向量維度指定,其余為隨機生成的內容向量. 維度的一致性可以更好地實現網絡的復用性.

            圖2以人臉屬性轉換為例,特征向量選取人臉的5個屬性(黑發、金發、棕發、性別、年齡),輸入為一黑發年輕女性圖像,要轉換為特征向量v指定的棕發年輕男子圖像. 將源域圖像與指定特征向量同時輸入到編碼器E, E學習將輸入編碼成內容向量和顯式表達的特征向量E(x,v),具體是將卷積后得到的特征圖進行打平操作,后接全連接層以讓網絡學習正確的特征向量表達;T學習將源域的特征向量轉換為目標域的特征向量T(E(x,v)),其轉換網絡由一系列全連接層構成的殘差塊串聯而成,可學習到如何將特征向量進行轉換;R學習利用內容向量及轉換后的特征向量進行重構以生成目標圖像R(T(E(x,v))),重構圖像由多個轉置卷積進行上采樣完成. 最終G可生成既與真實圖像無法區分,又能被D分類為屬于目標域的圖像. 生成后的圖像結合給定的源域特征向量再進行一次上述轉換后轉回源域圖像,這將為下一節要分析的循環一致損失提供模型基礎.

            圖3中D的輸入為真實圖像與生成圖像,其輸出判別圖像的真偽及預測相應圖像的域分類. 在整體網絡訓練之前,先用真實圖像數據預訓練D,使其具備辨別真偽及分類域標簽的能力. 對于轉換任務,其要對真實數據及生成數據都要預測域分類,在生成任務中僅需對生成圖像預測域分類即可. 其功能可表示為 $D:x \to \left\{ {{D_{{\rm{src}}}}\left( x \right),{D_{{\rm{cls}}}}\left( x \right)} \right\}$,其中 ${D_{{\rm{src}}}}\left( x \right)$ 表示D判別圖像真假的置信分值,${D_{{\rm{cls}}}}\left( x \right)$ 表示域分類的概率分布.

          • 為證明所提模型在多域圖像轉換應用中的泛化能力,本文將兩個用于雙域間圖像轉換的數據集(冬夏季風景圖像集與梵高風格風景圖像集[16])進行了篩選整合并適當重新標注,從而合并為一個新數據集(共約12000張圖像)用于風景圖像領域的多域轉換實驗. 其轉換原理與圖2所示的多域人臉屬性轉換相同,同樣是向網絡模型中輸入源域圖像與目標域的特征向量,編碼器將輸入圖像編碼為內容向量與特征向量,不同的是風景轉換時的特征向量分別代表夏季、冬季、梵高風格. 之后亦與人臉屬性轉換相同,用轉換器將源域特征向量轉換到目標域,并通過重構器實現目標圖像的生成. 其中梵高風景圖像生成時,把輸入的目標域特征向量中代表梵高風格的值設置為1即可.

          • 本文采用多種損失函數的組合訓練模型. 對抗損失可使生成器產生的圖像與真實圖像無異;域分類損失可衡量真實圖像與生成圖像的域分類準確度;循環一致損失保證了目標圖像與源域圖像在內容上基本保持一致;特征損失保證了特征向量顯式表達的準確度,也保證了對轉換的特征屬性的可控度,從而保證圖像轉換的準確性達到更高.

          • (1)對抗損失[3] 應用對抗損失使生成的圖像看起來真實,其目標函數為 ${L_{{\rm{adv}}}}\left( {{{E}},{{T}},{{R}},{{D}}} \right)$

            $\begin{split} &{L_{{\rm{adv}}}}\left( {{{E}},{{T}},{{R}},{{D}}} \right) = {M_{ {p_{{\rm{data}}}}\left( y \right)}}\left[ {\log {D_{{\rm{src}}}}\left( y \right)} \right] + \\ &{M_{ {p_{{\rm{data}}}}\left( x \right)}}\left[ {\log \left( {1 - {D_{{\rm{src}}}}\left( {R\left( {T\left( {{{E}}\left( {x,{{v}}} \right)} \right)} \right)} \right)} \right)} \right], \\ \end{split} $

            其中,M為數學期望,x、y均為真實圖像,pdata(x)、pdata(y)表示x、y分別在訓練數據的分布中隨機抽取. D的目標是區分出在輸入圖像x和條件信息v下生成的圖像 ${R\left( {T\left( {{{E}}\left( {x,{{v}}} \right)} \right)} \right)}$ 與真實圖像y. E、T、R盡量使此目標函數最小化而D盡量使此目標函數最大化,即形成“極大?極小”博弈:${\max _{\rm{D}}}{\min _{\rm{G}}}{L_{{\rm{adv}}}} \left( {{{E}},{{T}},{{R}},{{D}}} \right)$,下標D和G表示判別器和生成器.

            (2)域分類損失[22] D除了進行分辨圖像的真偽之外,還要對輸入的圖像進行域分類的預測. 對于給定的輸入圖像x和目標域的條件信息v,我們的目標是將x轉換為輸出圖像R(T(E(x))),并將其正確地分類到目標域. 分類損失包含兩部分:真實圖像分類損失 $L_{{\rm{cls}}}^{\rm{r}}$ 和生成圖像分類損失 $L_{{\rm{cls}}}^{\rm{f}}$. 對于輸入的真實性圖像x及源域特征向量 ${{v}}'$

            $L_{{\rm{cls}}}^{\rm{r}}{\rm{ = }}{{ M}_{x,{{v}}'}}\left[ { - \log {D_{{\rm{cls}}}}\left( {{{v}}'|x} \right)} \right],$

            其中,${D_{{\rm{cls}}}}\left( {{{v}}'|x} \right)$D預測 ${{v}}'$ 的每個屬性值與x相應屬性概率分布的相似度,D的目標是將此目標函數最小化以將真實圖像正確分類,即:${\min _{\rm{D}}}L_{{\rm{cls}}}^{\rm{r}}$. 對于輸入的生成圖像R(T(E(x)))及代表目標域特征向量的條件信息v

            $L_{{\rm{cls}}}^{\rm{f}} = {{ E}_{x,{{v}}}}\left[ { - \log {D_{{\rm{cls}}}}\left( {{{v}}|{R\left( {T\left( {{{E}}\left( x \right)} \right)} \right)}} \right)} \right]$

            其中,模塊E、TR的目標是盡量最小化此目標函數,即:${\min _{{\rm{E}},{\rm{T}},{\rm{R}}}}L_{{\rm{cls}}}^{\rm{f}}$,以使生成圖像盡量歸類為正確的目標屬性.

            (3)循環一致損失[16] 本文引入循環一致損失以保證圖像在轉換時除特定屬性外其他內容保持基本不變. 編碼器E與圖像重構器R完成的是一對可逆任務, R(E(x))與x應該內容相同,轉換任務中要求圖像從源域到目標域轉換后再轉換回源域后應與源域輸入圖像基本一致(見圖4),故循環一致損失定義為:

            圖  4  循環一致損失示意圖

            Figure 4.  Schematic diagram of cycle consistency loss

            ${L_{{\rm{cyc}}}} = {{ E}_x}\left[ {{{\left\| {{R\left( {{{T}}\left( {{{E}}\left( {{{R}}\left( {{{T}}\left( {{{E}}\left( x \right)} \right)} \right)} \right)} \right)} \right)} - x} \right\|}_1}} \right].$

            (4)特征損失 本文提出了特征損失,以實現網絡中特征向量的顯式表達,且增強了輸入特征對轉換屬性的可控性. 其保證從源域到目標域的正向轉換時經過T后的特征向量與輸入的目標域輸入向量完全一致;從目標域到源域的逆向轉換時經過T后的特征向量與源域圖像的屬性標簽完全一致. 且正向轉換時經過E的特征向量應與逆向轉換時經過T的特征向量相同;正向轉換時經過T的特征向量應與逆向轉換時經過E的特征向量相同. 故特征損失定義為:

            $\begin{split} {L_{{\rm{fea}}}} =& \displaystyle\sum\limits_{i = 1}^n {\left( {{{\left\| {{{{v}}_i} - {{{v}}_{2i}}} \right\|}_1} + {{\left\| {{{{u}}_i} - {{{u}}_{2i}}} \right\|}_1}} \right.} {\rm{ + }}\\ &{\left. {{{\left\| {{{{v}}_{1i}} - {{{u}}_{2i}}} \right\|}_1} + {{\left\| {{{{v}}_{2i}} - {{{u}}_{1i}}} \right\|}_1}} \right)},\end{split} $

            其中,i表示特征向量中n個特征的第i個值,v表示正向過程中代表目標域特征向量的條件信息,vi為輸入的目標域特征向量中相應的第i個值,v1iv2i分別為正向過程經過E和T之后的特征向量中相應的第i個值;u表示逆向過程的特征向量,ui為輸入的目標域特征向量中相應的第i個值,u1iu2i分別為逆向過程經過E和T之后的特征向量中相應的第i個值.

            (5)總損失函數 對于判別器D,其總的損失函數為:

            ${L_{\rm{D}}} = - {L_{{\rm{adv}}}} + {\lambda _{{\rm{cls}}}}L_{{\rm{cls}}}^{\rm{r}}.$

            對于生成器G中的E、T和R,其總的損失函數為:

            ${L_{\rm{G}}}\left( {{{E}},{{T}},{{R}}} \right) = {L_{{\rm{adv}}}} + {\lambda _{{\rm{cls}}}}L_{{\rm{cls}}}^{\rm{f}} + {\lambda _{{\rm{cyc}}}}{L_{{\rm{cyc}}}} + {L_{{\rm{fea}}}},$

            其中,${\lambda _{{\rm{cls}}}}$${\lambda _{{\rm{cyc}}}}$ 分別是控制域分類損失和循環一致損失權重的超參數.

          • 若網絡只完成生成指定圖像的任務而不進行轉換,則應該在訓練時僅訓練用于生成任務的R網絡. 生成任務中沒有逆向過程且正向過程中沒有編碼和特征轉換的部分,僅保留圖像重構部分,故其損失函數僅有對抗損失及生成圖像的域分類損失.

            (1)對抗損失 與轉換任務中一樣,都是為了生成更加逼真的圖像,達到以假亂真的目的,其損失函數為:

            $\begin{split} {L_{{\rm{adv}}}}\left( {{{R}},{{D}}} \right) =& {{ E}_{{p_{{\rm{data}}}}\left( y \right)}}\left[ {\log {D_{{\rm{src}}}}\left( y \right)} \right] + \\ &{{E}_{{p_{{\rm{data}}}}\left( x \right)}}\left[ {\log \left( {1 - {D_{{\rm{src}}}}\left( {R\left( {x,v} \right)} \right)} \right)} \right], \\ \end{split} $

            其中,DR的目標與轉換任務中一致:${\max _{\rm{D}}}{\min _{\rm{G}}}{L_{{\rm{adv}}}}\left( {R,D} \right)$.

            (2)域分類損失 生成任務中僅對生成圖像進行計算域分類損失,以達到生成指定域屬性圖像的目的,其損失函數為:

            $L_{{\rm{cls}}}^{\rm{f}} = {{E}_{x,{{v}}}}\left[ { - \log {D_{{\rm{cls}}}}\left( {v|R\left( x \right)} \right)} \right].$

            (3)總損失函數 對于判別器D,其總的損失函數為:

            ${L_{\rm{D}}} = - {L_{{\rm{adv}}}},$

            對于生成器G,也就是R,其總的損失函數為:

            ${L_{\rm{G}}} = {L_{{\rm{adv}}}} + {\lambda _{{\rm{cls}}}}L_{{\rm{cls}}}^{\rm{f}},$

            其中,${\lambda _{{\rm{cls}}}}$ 是控制域分類損失權重的超參數.

          • 在本文提出的基于特征向量變換的多域間圖像轉換網絡模型中生成器G包含E、T和R. 在具體實現中,將 $C \times H \times W $ 的圖像及固定維度的條件信息v輸入E中,E的結構為4個連續的卷積下采樣結構串聯再加上兩個全連接層組成,將輸入的圖像與特征向量編碼成僅有一列的內容向量加特征向量的形式. T是由一系列輸入輸出維度相同的殘差塊串聯而成的,其用于完成特征向量的轉換. R的結構與E的結構對稱,由兩個全連接層和4個轉置卷積串聯而成,進行上采樣操作完成圖像的重構. D的輸入層為一個卷積層進行下采樣,隱含層由5個卷積層構成以進行下采樣操作,其輸出有兩個:一個輸出用于判別圖像真假的置信度得分,另一個輸出圖像的域分類.

            該模型輸入的特征向量及之后網絡中可以顯式表達的特征向量的維度均為人為設定的,其維度可以根據需要進行添加或刪除,但必須是固定的位置表示固定的屬性特征.

            該模型在訓練時所要變換的域的選取是隨機的,還要做到數據集隨機打亂,不同域交替訓練,以防止發生模型坍塌現象[26].

          • 為了使訓練過程穩定,生成高質量的圖像,本文使用了WGAN-GP中提出的梯度懲罰項[27]. 用以下損失函數代替式(1):

            $\begin{split} {L_{{\rm{adv}}}}\left( {{{E}},{{T}},{{R}},{{D}}} \right) =& {{E}_x}\left[ {{D_{{\rm{src}}}}\left( x \right)} \right] - \\ &{{E}_x}\left[ {{D_{{\rm{src}}}}\left( {R\left( {T\left( {E\left( x \right)} \right)} \right)} \right)} \right]- \\ & {\lambda _{{\rm{gp}}}}{{E}_{\tilde x}}\left[ {{{\left( {{{\left\| {{\nabla _{\tilde x}}{D_{{\rm{src}}}}\left( {\tilde x} \right)} \right\|}_2} - 1} \right)}^2}} \right], \\ \end{split} $

            其中,$\tilde x$ 為真實數據分布于生成數據分布之間的隨機采樣,${\lambda _{{\rm{gp}}}}$ 為梯度懲罰項權重,$\nabla $為梯度運算符. 實驗中設置[23]式(12)中的 ${\lambda _{{\rm{gp}}}}=10$,式(6)和式(7)中的 ${\lambda _{{\rm{cls}}}}$${\lambda _{{\rm{cyc}}}}$ 分別設置為1和10. 優化器采用Adam優化器,訓練時每次輸入圖像的批次值設置為16,所有網絡的初始學習率均為0.0001,保持20輪訓練不變后線性衰減到0.

          • 用實驗展示了基于特征變換的多域間圖像轉換生成對抗網絡的效果.與當前主流GAN模型進行了圖像轉換實驗效果對比,并用轉換任務訓練好的網絡完成了圖像生成的實驗. 實驗的數據集選擇為CelebA人臉屬性數據集,其包含有202 599張人臉圖像,每個圖像都帶有40個二進制屬性標簽. 首先將原始178×218大小的圖像剪裁成178×178,然后調整其大小到128×128. 隨機選擇2 000幅圖像作為測試集,并使用所有剩余的圖像作為訓練數據. 實驗中使用以下屬性構造7個域:頭發顏色(黑色、金色、棕色)、性別(男性、女性)和年齡(年輕、年長)[22],然后整合了一個風景圖像數據集(共12 845張圖像),并將提出的模型推廣到了風景圖像的多域轉換領域.

          • (1) CycleGAN 其循環算法同時學習兩個互逆映射,$ G:x \to y$$F:y \to x$,運用循環一致損失迫使F(G(x))≈x以及G(F(y))≈y.

            (2) StarGAN 其只訓練一個生成器G將輸入圖像x轉換到目標標簽c為條件的圖像y,即 $ G:\left( {x,c} \right) $. 在c中設置多個屬性,則StarGAN可以完成多域間圖像轉換.

            (3) ModularGAN 其將生成器部分模塊化,由編碼器E、轉換器T、重構器R組成. 其將圖像編碼成特征圖f, $E:x \to f$,然后訓練若干個T以完成向每個單一目標域的轉換,${T_i}:f \to f'$,最后進行目標圖像重構,$ R:f' \to y $. 在測試時僅需將相應的多個T進行串聯即可完成多域轉換.

          • 與其他多域圖像轉換模型類似,圖5圖6分別是本文運用基于特征向量變換的生成對抗網絡在多域圖像轉換任務中完成一個人臉屬性和兩個人臉屬性同時變換的實驗結果.

            圖  5  本文模型在單一人臉屬性上的轉換效果

            Figure 5.  The conversion effect of this model on a single face attribute

            圖  6  本文模型用于同時轉換兩個面部屬性的轉換效果

            Figure 6.  The conversion effect of this model used in simultaneous conversion two face attributes

            為證明提出模型的泛化推廣能力,本文將該模型推廣到了風景圖像轉換的領域. 圖7為將所提模型推廣到風景圖像多域轉換的實驗結果.

            圖  7  本文模型用于風景圖像多域轉換的實驗效果

            Figure 7.  Experimental results of our model used in multi-domain transformation of landscape images

            提出的基于特征向量變換的GAN顯式表達特征向量的好處在于其可在圖像多域轉換時減少重復的編碼過程,同一張圖像僅需一次編碼,若要得到多張不同屬性的圖像,僅需更改顯式表達出來的特征向量即可.

            該網絡可以顯式表達特征向量的優點還在于能夠完成從噪音生成指定圖像的任務. 圖8顯示了本文模型用于圖像生成任務的實驗效果,并與可完成同樣任務的IcGAN進行了實驗對比.

            圖  8  生成任務中本文模型與IcGAN的實驗對比

            Figure 8.  Experimental comparison between our model and IcGAN in image generation task

            圖5分別為任意輸入測試集中的某一女性和男性圖像,輸出為選擇的特定屬性域上的目標圖像,分別是變換到黑發域、金發域、棕發域、男性域、女性域、年輕域和年長域上的圖像. 若是目標域與輸入圖像源域一致,則幾乎不進行變換(如第一行輸出女性圖像時基本無變化).

            圖6為任意輸入一女性或男性照片,輸出的圖像可同時改變多個屬性域,例如:輸入一張棕發年輕女性圖像,可轉換為黑發男性和黑發年長女性圖像等.

            風景圖像轉換的輸入為夏季或冬季風景圖像,該網絡可以完成對輸入風景圖像的季節轉換,也可同時轉換為梵高畫作風格的圖像. 圖7的輸入分別為夏季和冬季的風景圖像,輸出是將輸入的圖像分別轉換到夏季域、冬季域、夏季梵高風格域和冬季梵高風格域.

            圖8 中的對比實驗為利用提出模型和IcGAN從噪聲向量中生成一位黑發年輕女性和一位金發年長男性的圖像,可以看出本文模型在進行圖像生成任務中可以生成比IcGAN更清晰、自然的圖像.

          • 將提出模型與對比模型做了實驗結果比較(圖9),并用客觀指標生成圖像分類錯誤率和主觀指標Amazon Mechanical Turk (AMT)進行了實驗結果評測.

            圖  9  本文模型與對比模型在多域圖像轉換任務中的對比

            Figure 9.  Comparison of ours and comparative models in multi-domain image conversion task

          • 分類錯誤率[24]是一種客觀定量的評價,本文使用一個ResNet-18網絡[30]的分類結果來計算轉換圖像上每個屬性的分類誤差,該網絡被訓練用于對所轉換的圖像按照屬性進行分類. 所有對比模型和本文模型都采用相同的分類網絡進行效果評價. 越低的分類誤差意味著轉換后的圖像具有更準確的目標屬性. 表1為分類錯誤率的評價結果.

            模型發色性別年齡
            CycleGAN4.1614.2610.81
            StarGAN3.514.175.72
            ModularGAN3.863.246.20
            本文模型3.433.464.58

            表 1  本文模型與對比模型的分類錯誤率評測結果

            Table 1.  Classification error rate evaluation results of ours and comparative models %

          • 本文在AMT上對轉換任務中所有模型轉換后的圖像進行了主觀評測,在每個人臉的每個屬性或混合屬性中都挑選出一張最佳圖像. 表2是在AMT上的測評結果,百分值越大說明相應模型生成的圖像質量越好.

            模型發色性別年齡發色+性別發色+年齡
            CycleGAN9.6711.632.527.852.08
            StarGAN23.8525.4527.3120.7926.04
            ModularGAN31.7131.9725.4831.5328.17
            本文模型34.7730.9544.6939.8343.71

            表 2  本文模型與對比模型在AMT上的評測結果

            Table 2.  The evaluation results of ours and the comparative models on AMT %

            圖9可以看出CycleGAN在性別和年齡屬性上的變換嚴重失真, StarGAN在發色轉換時出現了噪點, ModularGAN在性別轉換時嘴部痕跡明顯,本文模型在整體上的表現相對較好,尤其在年齡轉換方面表現出色.

          • 提出了基于特征向量變換的生成對抗網絡.相較于現有的大多數多域圖像轉換模型,該網絡僅使用了一對生成器G與判別器D,訓練時除轉換特征外其他特征也一并訓練,使得訓練時間與訓練參數減少. 相較于只能進行圖像轉換的模型,由于特征向量的顯式表達,本文模型使得圖像轉換更方便、準確,同時兼具了生成指定圖像的能力. 在實驗效果上,本文模型相較于現有模型在多域圖像轉換方面取得了較為出色的表現. 接下來的工作將嘗試把“Self-Attention”機制引入到該模型中,以進一步提高圖像轉換的質量.

        參考文獻 (30)

        目錄

          /

          返回文章
          返回