【論文翻譯】VGG網絡論文中英對照翻譯--(very deep convolutional networks for large-scale image  recognition)

【開始時間】2018.09.23

【完成時間】2018.09.24

【論文翻譯】VGG網絡論文中英對照翻譯--(very deep convolutional networks for large-scale image  recognition)

【中文譯名】 用於大規模圖像識別的甚深卷積網絡

【論文鏈接】https://arxiv.org/abs/1409.1556

目錄

 本文概述

Abstract

1.INTRODUCTION

2.CONVNET CONFIGURATIONS(ConvNet配置)

2.1 ARCHITECTURE(結構)

2.2 CONFIGURATIONS(配置)

2.3 DISCUSSION(討論)

3 CLASSIFICATION FRAMEWORK(分類框架)

3.1 TRAINING(訓練)

3.2 TESTING(測試)

3.3 IMPLEMENTATION DETAILS(實施細則)

​​4 CLASSIFICATION EXPERIMENTS(分類實驗)

4.1 SINGLE SCALE EVALUATION(單尺度評價)

4.2 MULTI -SCALE EVALUATION(多尺度評價)

4.3 MULTI-CROP EVALUATION(多作物評價)

4.4 CONVNET FUSION(ConvNet融合)

4.5 COMPARISON WITH THE STATE OF THE ART(與最前進效果的比較)

5 CONCLUSION(總結)


  本文概述

  本文是對介紹VGG網絡的論文《very deep convolutional networks for large-scale image  recognition》的中英對照翻譯,VGG網絡在 ILSVRC-2014上獲得了第二名,只比GoogleNet差一些,但它的結構基本遵循了傳統的CNN架構。

  翻譯過程中發現了一篇很好的對本論文進行總結的文章,並進行了轉載:https://blog.csdn.net/C_chuxin/article/details/82833028,感興趣的人可以兩文對照起來閱讀以增進理解。    

         題目:用於大規模圖像識別的甚深卷積網絡

 

Abstract

   在本工作中,我們研究了卷積網絡深度對大規模圖像識別設置精度的影響,我們的主要貢獻是使用一種非常小的(3×3)卷積濾波器的結構對增加深度的網絡進行了徹底的評估,這表明通過將深度推進到16-19層,可以實現對現有技術配置的顯著改進。這些發現是我們的ImageNet 2014年挑戰報告的基礎,我們的團隊分別在定位和分類軌道上獲得了第一名和第二名。我們還表明,我們的表示很好地推廣到了其他數據集,在這些數據集中,它們取得了最先進的結果。我們已經將我們的兩種性能最好的ConvNet模型公之於衆,以便進一步研究在計算機視覺中使用深度視覺表示法的問題。

 

1.INTRODUCTION

  卷積網絡(卷積網)最近在大規模即時識別和視頻識別方面取得了很大的成功(如 (Krizhevsky et al., 2012; Zeiler & Fergus, 2013; Sermanet et al., 2014;Simonyan & Zisserman, 2014)),這已經成爲可能,因爲大型的公共圖像存儲庫,如ImageNet(鄧等人,2009年)和高性能的系統,如GPU或大規模分佈式集羣(Dean等人,2012年)。特別是,大尺度圖像識別挑戰(ILSVRC(russakovsky等人,2014)爲幾代大規模圖像分類系統提供了實驗平臺,它在深化視覺識別體系的發展中發揮了重要作用,從高維淺特徵編碼(perronnin等人,2010年)(ILSVRC-2011的獲勝者)到深卷積網(Krizhevsky等人,2012年)(ILSVRC-2012的獲獎者)。

 

  隨着凸網成爲計算機視覺領域的一種商品,人們對Krizhevsky等人的原有體系結構進行了大量的改進以爲提高準確性。例如,向ILSVRC-2013提交的最佳表現((Zeiler & Fergus, 2013; Sermanet et al., 2014)使用了較小的接收窗口大小和第一卷積層的較小步幅。另一個改進的方法是在整個圖像和多個尺度上密集地訓練和測試網絡( (Sermanet et al.,

2014; Howard, 2014))。在本文中,我們討論了convnet架構設計的另一個重要方面---它的深度。爲此,我們確定了該體系結構的其他參數,並通過增加更多的卷積層來穩定地增加網絡的深度,這是可行的,因爲在所有層中都使用了非常小的(3×3)卷積濾波器。

 

   因此,我們提出了更加精確的ConvNet體系結構,它不僅在ILSVRC分類和定位任務上實現了最先進的精度,而且還適用於其他圖像識別數據集,即使作爲相對簡單的管道的一部分(例如,不經過微調的線性svm分類的深層特徵),它們也可以獲得優異的性能。爲了便於進一步研究,我們已經發布了兩款性能最好的模型【1】。

 

   論文的其餘部分按以下方式組織。在section2描述了我們的ConvNet配置。在Section3給出了圖像分類、訓練和評價的細節,並且在Section4對ILSVRC分類任務的配置進行了比較。在Section5總結了本論文。爲了完整起見,我們還在附錄A中描述和評估了我們的ILSVRC-2014對象定位系統,並在附錄B中討論了將非常深層次的特性推廣到其他數據集。最後,附錄c載有主要文件修訂清單。

 

2.CONVNET CONFIGURATIONS(ConvNet配置)

 

   爲了測量增加的ConvNet深度在一個公平的設置下帶來的改進,我們所有的ConvNet層配置都是使用相同的原則設計的,這一原理受到ciresan等人的啓發。(2011年);Krizhevsky等人。(2012年)。在本節中,我們首先描述ConvNet配置的一般佈局((Sect.2.1),然後詳細說明評估中使用的特定配置(Sect.2.2)。在Sect.2.3討論我們的設計選擇,並與現有的技術進行比較。

 

2.1 ARCHITECTURE(結構)

 

  在訓練過程中,我們的凸網的輸入是一個固定大小的224×224 rgb圖像。我們所做的唯一的預處理是從每個像素中減去平均rgb值,在訓練集上計算。圖像通過一堆卷積(conv.)層,在這裏我們使用一個非常小的接收場:3×3的濾波器(它是捕捉左/右、上/下、中的概念的最小大小)。在其中一種配置中,我們還使用了1×1卷積濾波器,這可以看作是輸入通道的線性變換(隨後是非線性)。

卷積步幅固定在1像素,卷積層的空間填充使卷積後的空間分辨率保持不變,即3×3層的填充爲1像素。空間池化由五個最大池化層執行,它們跟隨在一些卷積層之後(不是所有的卷積層都跟隨有最大池化層)。最大池在2×2像素窗口上執行,步幅爲2。

 

   一個卷積層(在不同的體系結構中有不同的深度)由三個完全連接(FC)層組成:前兩個層每個有4096個通道,第三個層執行1000路ILSVRC分類,因此包含1000個通道(每個類一個)。最後一層是軟最大( soft-max)層。在所有網絡中,完全連接層的配置是相同的。

 

  所有隱藏層都配有整流非線性單元(relu(Krizhevsky等人,2012年)。我們注意到,我們的網絡(除一個外)沒有一個網絡包含局部相應歸一化(LRN)(Krizhevsky等人,2012年),如將在節4中所示,這種規範化不會提高ILSVRC數據集的性能,但會增加內存佔用和計算時間。在適用的情況下,LRN層的參數爲論文中的設置(Krizhevsky等人,2012年)。

 

2.2 CONFIGURATIONS(配置)

 

   本文評估的ConvNet配置見表1,每列一個。下面我們將參考網名(A—E)。所有配置遵循SeCT提出的通用設計。2.1,並且僅在深度上不同:從網絡a中的11個權重層(8個conv.和3個fc層)到網絡e中的19個權重層(16個conv.和3個fc層)。連接層的寬度(信道的數量)相當小,從第一層的64開始,然後在每個最大匯聚層之後增加2倍,直到達到512。

 

 

  在表2中,我們報告了每個配置的參數。儘管有很大的深度,但我們網中的權重數並不比有較大層數和接收場的較淺的網中的重量數目大(144M weights in (Sermanet et al., 2014))。

 

 

2.3 DISCUSSION(討論)

 

   我們的ConvNet配置與ILSVRC-2012(Krizhevsky等人,2012年)和ILSVRC-2013競賽中表現最好的作品中使用的配置非常不同。不是在第一個卷積層中使用相對較大的接受場(例如,11×11步長爲4(Krizhevsky等人,2012年),或7×7步幅爲2),我們在整個網絡中使用非常小的3×3接收域(步幅1),它們與每個像素上的輸入相結合。很容易看出,兩層3×3的卷積層(之間沒有空間池化)的有效接收場爲5×5;3個這樣的層有一個7×7的有效接收場。那麼,通過使用三層3×3的卷積層而不是單一的7×7層,我們得到了什麼呢?首先,我們採用了三個非線性校正層而不是單一的一個校正層,使得決策函數更具判別力。其次,我們減少了參數:假設三層3×3卷積堆棧的輸入和輸出都有c通道,則堆棧參數爲,同時,一個7×7的卷積層需要個參數,相比多了81%。這可以被看作是對7×7卷積型濾波器施加了正則化,迫使它們通過3×3濾波器進行分解(在兩者之間注入非線性)。

 

  1×1卷積層的加入(配置c,表1)是一種在不影響卷積層的接收場的情況下增加決策函數的非線性的方法。即使在我們的情況下,1×1卷積實質上是在相同維數(輸入和輸出通道數相同)的空間上的線性投影,但通過校正函數引入了額外的非線性。得注意的是,最近在LIN等人的“網絡中的網絡”體系結構中使用了1×1卷積層。(2014年)。

 

   CyrSon等人以前曾使用過小尺寸的卷積濾波器。(2011),但它們的網比我們的深度要小得多,並且沒有在大規模ILVRC數據集上進行評價。古德費羅等人(2014年)將深度卷積網(11層重量層)應用於街道號碼識別任務,並表明深度的增加導致了更好的性能。googlenet(szegedy等人,2014)是ilsvrc-2014分類任務中性能最好的條目,它是獨立於我們的工作開發的,但相似之處在於它基於非常深的ConvNets(22個重量層)和小卷積濾波器(除了3×3之外,它們還使用1×1和5×5卷積)。然而,它們的網絡拓撲比我們的要複雜得多,而且在第一層中,特徵映射的空間分辨率被更積極地減少,以減少計算量。如將在4.5節中展示的,我們的模型優於Szegedy等人的模型。(2014),在單網絡分類的準確性上。

 

3 CLASSIFICATION FRAMEWORK(分類框架)

    在前面的章節中,我們詳細介紹了我們的網絡配置,在這一部分中,我們描述了分類ConvNet的訓練和評估的細節。

3.1 TRAINING(訓練)

 

    卷積神經網絡的訓練過程一般遵循KrZevSkyet等。(2012)(除了從多尺度訓練圖像中採樣輸入作物之外,如後面所解釋的)。也就是說,在訓練過程中,採用帶動量的最小批量梯度下降(基於反向傳播(Le村等人,1989)對多項式Logistic迴歸目標進行優化。批次大小設爲256,動量爲0.9。訓練按重量衰減(L2懲罰乘子設置爲5·10^−4)和前兩個完全連接層(dropout的概率爲0.5)的Dropout正則化。學習率最初設置爲10^−2,當驗證集精度停止提高時,學習率下降了10倍。經370 k迭代(74個週期)後,學習率下降3次,學習停止。我們猜想,儘管我們的網的參數數目更多,深度也更深(Krizhevsky等人,2012年),但由於(A)較大深度和較小的卷積核所施加的隱式正則化;(B)某些層的預初始化,這些網需要較少的時間才能收斂。

 

   網絡權值的初始化是很重要的,因爲由於深度網中梯度的不穩定性,錯誤的初始化會阻礙學習。爲了避免這個問題,我們開始訓練配置a(表1),足夠淺,可以通過隨機初始化進行訓練。然後,在培訓深度架構時,我們初始化了前四個卷積層和最後三個完全連接的層和neta層(中間層是隨機初始化的)。然後,在培訓深度架構時,我們初始化了前四個卷積層和最後三個完全連接的層與netA中的一致(中間層是隨機初始化的)。我們沒有降低預初始化層的學習速率,允許它們在學習過程中發生變化。對於隨機初始化(在適用的情況下),我們從正態分佈抽樣的權重爲零均值和10^−2方差。這些偏差是用零初始化的。值得注意的是,在提交論文後,我們發現可以通過使用glorot的隨機初始化過程,不進行預訓練就可以初始化權重。

 

  爲了獲得固定大小的224×224的神經網絡輸入圖像,將它們從重新縮放的訓練圖像中隨機裁剪下來(每一次SGD迭代每張圖像一次)。爲了進一步擴大訓練集,作物進行了隨機水平翻轉和隨機RGB色移(Krizhevsky等人,2012年)。培訓圖像重新標度說明如下。

  

訓練圖像大小。設s是各向同性重新縮放的訓練圖像的最小邊,從中裁剪convnet輸入(我們還將s稱爲訓練標度)。當作物大小固定在224×224時,原則上s可以取任何不小於224的值:當s=224時,作物將捕獲整個圖像統計數據,完全跨越訓練圖像的最小邊;對於s≫224,裁剪將對應於圖像的一小部分,其中包含一個小對象,一個對象部分。

 

  我們考慮了兩種設置培訓規模S的方法。第一種是固定s,它對應於單尺度的培訓(注意,採樣作物中的圖像內容仍然可以表示多尺度圖像統計數據)。在我們的實驗中,我們評估了在兩個固定尺度上訓練的模型:s=256(這在現有技術中已經廣泛使用了)(Krizhevsky等人,2012年)以及S=384。在給定一個convnet配置的情況下,我們首先使用s=256對網絡進行了訓練,爲了加快s=384網絡的訓練速度,我們用s=256的預訓練權值初始化了該網絡,並使用了較小的初始學習速率(10^−3)。

 

   第二種設置s的方法是多尺度訓練,通過從一定範圍內隨機採樣s[smin,smax](我們使用smin=256和smax=512)對每個訓練圖像進行個別重標度。因爲圖像中的對象可以是不同大小的,在培訓過程中考慮這一點是有益的。這也可以被看作是通過規模抖動來增強訓練集,其中一個模型被訓練來識別範圍很廣的對象。由於速度上的原因,我們通過微調具有相同配置的單尺度模型的所有層來訓練多尺度模型,並使用固定的s=384進行預先訓練。

3.2 TESTING(測試)

 

  在測試時,給定一個經過訓練的ConvNet和一個輸入圖像,按以下方式對其進行分類。首先,它是同向重新標度到一個預定義的最小圖像邊,表示爲q(我們也稱它爲測試標度)。我們注意到Q不一定等於訓練尺度S(正如我們將在SeCT 4中所示),對每個S使用多個Q值可以提高性能。然後,以類似於sermanet al.(sermanet al.,2014)的方式在重標度的測試圖像上密集地應用網絡。.即,完全連接的層首先轉換爲卷積層(第一層FC層爲7×7卷積層,最後兩層FC層爲1×1卷積層)。生成的完全卷積網絡然後應用於整個(未裁剪)圖像。結果是一個類別分數圖,其通道數等於類數,空間分辨率隨輸入圖像大小而變化。最後,爲了獲得圖像的固定大小的分類分數向量,對類得分映射進行空間平均(和-池化)。最後,爲了獲得圖像的固定大小的分類分數向量,對類得分映射進行空間平均(和-集合)。對原始圖像和翻轉圖像的軟最大類後驗值進行平均處理,以獲得圖像的最終得分。

 

  由於全卷積網絡應用於整個圖像,因此不需要在測試時取樣多個作物(krizhevsky等人,2012年),這是低效率的,因爲它需要對每一種作物進行網絡重新計算。同時,使用大量的作物,如Szegedy等人所做的。(2014),它可以提高精度,因爲與全卷積網相比,它可以使輸入圖像的採樣更精細。此外,由於不同的卷積邊界條件,多重值也是稠密評價的補充:當將ConvNet應用於作物時,將卷積的特徵映射用零填充,而在密集評估的情況下,同一作物的填充自然來自圖像的鄰近部分(由於卷積和空間池),這大大增加了整個網絡接收字段,因此捕獲了更多的上下文。雖然我們認爲在實踐中,多作物計算時間的增加並不能證明精確性的潛力,作爲參考,我們還是評估了每標度50種作物(5×5規則網格,2次翻轉),在3個尺度上總共有150種作物,相當於Szegedy等人在4個尺度上使用的144種作物。(2014年)。

 

3.3 IMPLEMENTATION DETAILS(實施細則)

 

我們的實現來源於公開提供的c caffe工具箱(賈,2013年)(2013年12月分支),但包含了一些重要的修改,允許我們在多尺度上執行訓練和評估,以及對全尺寸(未裁剪的)圖像進行訓練和評估(如上文所述)。多GPU訓練利用數據並行性,將每一批訓練圖像分割成多個GPU批次,在每個GPU上並行處理。在計算GPU批處理梯度後,對它們進行平均,得到整個批處理的梯度。梯度計算在GPU上是同步的,因此與在單個GPU上進行訓練時的結果完全相同。

 

   儘管最近提出了更復雜的加速ConvNet培訓的方法(Krizhevsky,2014),這種方法對網絡的不同層使用了模型和數據並行性,但我們發現,與使用單個gpuo相比,我們的概念簡單得多的方案已經在現成的4 GPU系統上提供了3.75倍的加速比。在一個配備了四塊黑色GPU(NVIDIATitan Black GPUs)的系統上,根據體系結構訓練一個單一的網絡需要花費2-3周。

4 CLASSIFICATION EXPERIMENTS(分類實驗)

  數據集。在本節中,我們介紹了描述的ConvNet體系結構在ILSVRC-2012數據集(用於ILSVRC 2012-2014Chal-Lenges)上所取得的圖像分類結果。該數據集包含1000個類的圖像,並分爲三組:培訓(130萬張圖像)、驗證(50k圖像)和測試(100 k圖像保留類標籤)。採用兩種衡量標準:前1位誤差和前5位誤差對克隆化性能進行評估。前者是一種多類分類錯誤,即錯誤分類圖像的比例;後者是ILSVRC中使用的主要評價標準,被計算爲圖像的比例,使得地面真相類別超出了前5個預測類別。+

 

  對於大多數實驗,我們使用驗證集作爲測試集,某些實驗也在測試集上進行,並作爲“vgg”團隊進入ILSVRC-2014競賽(russakovsky等人,2014年)提交給正式的ILSVRC服務器。

4.1 SINGLE SCALE EVALUATION(單尺度評價)

 

  我們首先評估單個ConvNet模型的性能,並在Sect2.2中描述了層的配置。測試圖像大小設置爲:對於固定s爲q=s,對於抖動。結果見表3。

  首先,我們注意到使用局部響應規範化(a-lrn網絡)在沒有任何標準化層的模型a上沒有改進。因此,我們不在更深的體系結構中使用規範化(B-E)。

  其次,我們觀察到,分類誤差隨着ConvNet深度的增加而減小:從a中的11層下降到e中的19層。值得注意的是,儘管深度相同,配置c(包含三個1×1卷積層)的性能不如配置d,配置d在整個網絡中使用3×3卷積層。這表明,雖然附加的非線性確實有幫助(c比b好),但是通過使用具有非平凡接收字段的conv.濾波器捕獲空間上下文也很重要(d比c好)。當深度達到19層時,我們的體系結構的錯誤率會達到飽和,但是更深的模型可能對較大的數據集有好處。我們還將網b與5層5×5卷積層的淺網進行了比較,即用5×5卷積層代替每對3×3卷積層,得到5×5卷積層,如2.3節中所示。測得淺層網的頂1誤差比b(中心作物)高7%,這證實了小濾波器的深網優於較大濾波器的淺網。

 

  最後,訓練時的尺度抖動(s∈[256;512])比固定最小邊(s=256或s=384)的圖像上的訓練結果要好得多,即使在測試時使用單一尺度。最後,訓練時的尺度抖動(s∈[256;512])比固定最小邊(s=256或s=384)的圖像上的訓練結果要好得多,即使在測試時使用單一尺度。

 

4.2 MULTI -SCALE EVALUATION(多尺度評價)

 

  在對ConvNet模型進行單尺度評估之後,我們現在評估了測試時尺度抖動的影響。它包括運行一個模型(對應於不同的Q值),然後對得到的類後驗值進行平均。考慮到訓練和測試尺度之間的巨大差異導致性能下降,用固定s訓練的模型在三個測試圖像大小上被評估,接近於訓練圖像的Q={s−32,s,s 32}。同時,訓練時的尺度抖動允許網絡在測試時間應用於更大範圍的尺度,因此在較大的的較大範圍內,對變量訓練的模型進行了評估。

 

  表4所示的結果表明,測試時的標度抖動會帶來更好的性能(與表3所示的在單標度下評估同一模型相比)。和以前一樣,最深的配置(d和e)表現最好,規模抖動優於固定最小側的訓練。我們在驗證集上的最佳單網絡性能是24.8%/7.5% Top-1/Top-5錯誤(在表4中用粗體突出顯示)。在測試集上,配置達到7.3%個前5錯誤率。

 

 

4.3 MULTI-CROP EVALUATION(多作物評價)

 

在表5中,我們比較了密集ConvNet評價和多作物評價(詳見第3.2節)。我們還通過對這兩種評估技術的軟最大輸出進行平均來評估它們的互補性。可以看出,使用多種作物的效果略好於密集評價,這兩種方法確實是相輔相成的,因爲它們的組合優於每一種方法。如上所述,我們假設這是由於對卷積邊界條件的不同處理。

【補充:】 預測方式:作者考慮了兩種預測方式:

 方法1: multi-crop,即對圖像進行多樣本的隨機裁剪,然後通過網絡預測每一個樣本的結構,最終對所有結果平均 

 方法2: densely, 利用FCN的思想,將原圖直接送到網絡進行預測,將最後的全連接層改爲1x1的卷積,這樣最後可以得出一個預測的score map,再對結果求平均。.

 

4.4 CONVNET FUSION(ConvNet融合)

 

   到目前爲止,我們對個性化凸網模型的性能進行了評價。在這一部分中,我們結合了幾種模型的輸出,平均它們的軟-最大類後驗。由於模型的互補性,這提高了性能,並在2012年(Krizhevsky等人,2012年)和2013年(Zeiler)提交的最高ILSVRC文件中使用。

  結果如表6所示。在ILSVRC提交時,我們只訓練了單尺度網絡,以及多尺度模型d(只對完全連接的層進行微調,而不是對所有層進行微調)。在提交後,我們只考慮了兩個性能最好的多尺度模型(配置d和e)的集成,從而將密集評估的測試誤差降低到7.0%,採用密集和多作物聯合評估將測試誤差降至6.8%。作爲參考,我們最好的單一模型的誤差爲7.1%(模型e,表5)。

 

4.5 COMPARISON WITH THE STATE OF THE ART(與最前進效果的比較)

 

   最後,我們將我們的結果與表7中的最新情況進行了比較。在ILSVRC-2014挑戰(Russakovsky等人,2014年)的分類任務中,我們的“VGG”團隊使用7種模型組合,以7.3%的測試誤差獲得了第二名。提交後,通過兩個模型的集成,我們將誤差率降低到6.8%。

   從表7可以看出,我們非常深的卷積網絡明顯優於以前的模型分類,在ILSVRC-2012和ILSVRC-2013能力方面取得了最好的結果。我們的結果在分類任務獲獎者(錯誤6.7%的谷歌網)方面也具有競爭力,並且大大超過了ILSVRC-2013獲獎提交的Clarifai,後者通過外部培訓數據獲得11.2%的成績,在沒有它的情況下達到11.7%。他是了不起的,考慮到我們最好的結果是通過合併兩個模型-明顯少於大多數ILSVRC提交的使用。在單網性能方面,我們的架構獲得了最好的結果(7.0%的測試錯誤),比單一的Google網高出0.9%。值得注意的是,我們並沒有偏離經典的ConvNet的Le村等人的體系結構。(1989),但通過大幅度增加深度來改進它。

 

 

5 CONCLUSION(總結)

  

   在本工作中,我們對大規模圖像分類的深度卷積網絡(多達19層)進行了評估。結果表明,表示深度有利於分類精度,並且使用傳統的卷積網絡體系結構(Le村等人,1989年;Krizhevsky等人,2012年),可以在ImageNet挑戰數據集上獲得最先進的性能(Le村等人,1989;Krizhevsky等人,2012年)。在附錄中,我們還展示了我們的模型能夠很好地概括到廣泛的任務和數據集,匹配或優於構建在較低深度圖像表示上的更復雜的識別管道。我們的結果再次證實了深度在視覺表現中的重要性。

 

ACKNOWLEDGEMENTS(致謝)

這項工作得到ERC贈款228180號(ERC grant VisRec no. 228180)的支持。我們感謝NVIDIA公司捐贈用於這項研究的GPU。

 

REFERENCES(參考文獻)

詳見原論文

 

APPENDIX(附錄)

之後補充

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章