李 淵
(華中科技大學 武漢 430074)
傳統的城市環境評價研究通常采用基于現場調研的方法,這類方法難以在大范圍、精細化的尺度上對城市環境進行有效的評估。隨著信息技術的發展,街景圖像成為城市環境評價研究中新的重要數據源,街景圖像具有覆蓋面廣、信息量涵蓋豐富、采集成本低等優勢,基于街景圖像理解的城市環境評價方法逐漸成為城市環境評價的重要手段[1]。早在1990年,Jack L等就提出用計算機視覺的方法來量化街景的質量[2]。2001年,Oliva A等通過區域生長的方法分割出街景圖像“街道”、“天空”等區域,并人為設定規則,實現對街景圖像的評價[3]。2012年,Goel A等綜合了Geometric Texton、GIST和Color Histograms等特征[4],改進了Kmeans聚類,實現了不同城市街景圖像風格的分類。這類街景圖像評價方法基于人工設定規則,利用人對街景圖像評價時會考慮的因素如“綠化率”、“整潔度”等,通過對街景圖像內容進行相應的分析得出評價。然而這類方法評價規則上帶有規則設計者的主觀色彩,評價方法不客觀且效果不理想。2014年,MIT Media Lab的Nikhil Naik等提出“streetscore”項目[5],Naik等人收集了1萬多張美國的街景圖像,以0到10為安全感的打分范圍,進行了人工標簽,首次通過監督學習的方法實現了對街景圖像的評價。帶有數據監督的方法能從數據中學習到潛在的聯系,相較于傳統方法而言較為客觀,也更有說服力[6~8],使用評分來量化對街景圖像的評價會更加直觀,讓人們更容易接受。
卷積神經網絡在圖像領域的發展帶來了更好的圖像全局特征提取方法,相比傳統的特征提取方法,深度卷積神經網絡提取的特征具有信息損失更少、魯棒性高和泛化性等優點[11]。2015年,Lorenzo Porzi等人使用改進的Alexnet提取特征[7],有效地提高了模型的“打分”能力。在應用層面上,2016年,Edward Glaeser等人通過學習谷歌街景來預測紐約的地區收入水平。隨后,Dubey A,Naik N,Parikh D合作將訓練集規模提升到110,988幅街景圖像,標簽上從安全感變為安全、活潑與無聊等多個屬性,算法上采用了Resnet卷積神經網絡[6],進一步提高了精確度[8,12]。
街景環境評價方法在近些年來取得了長足的進步,主要體現在兩個方面:基于人工設定規則的分類方法逐漸被基于監督學習的分類算法取代[9];傳統的特征提取方法逐漸被卷積神經網絡取代,卷積神經網絡提取的特征具有信息損失更少、魯棒性高和泛化性等優點[10~11]。盡管如此,基于卷積神經網絡的街景評價方法仍存在以下缺陷:用于街景評價的卷積神經網絡結構多借鑒分類任務,而分類任務和街景評價是兩種不同得任務;現階段常用的損失函數能有效地度量錯分類導致的損失,然而難以度量街景錯評價帶來的損失;傳統的街景評價方法將數據集的標簽視作可靠的、有效地,然而街景評價標簽具有標注者較強的主觀性,標簽并不能一定準確地表達街景圖像的實際得分。基于以上缺點,論文從網絡結構的改進、損失函數的修正、訓練方法的優化這三個方向著手,提出了更好的街景評價方法。
基于卷積神經網絡的街景環境評價方法實質上是訓練一個卷積神經網絡,網絡輸入為街景圖像,網絡輸出為對街景圖像的環境評分。因此,設計出一個好的街景評價網絡和如何訓練好網絡是基于卷積神經網絡的街景評價方法的兩大核心問題。
2.1.1 Stem-Block結構
對于街景評價問題而言,起主要作用的是網絡深層提取的語義特征,而淺層網絡提取的像素級特征是深層網絡的基礎。
Stem Block先對輸入圖像做32通道3×3步長為2的卷積,隨后對這32通道特征圖做兩個方向的處理:一方面對其做2×2的Max pooling,使其保留大部分響應較強的特征信息;另一方面先對其做1×1的卷積,后再做32通道3×3步長為2的卷積,獲得更深層的特征信息。最后對獲得的特征圖融合,Stem Block結構使用較少的計算有效地獲得不同感受野的圖像底層級特征,并將輸入的尺寸降低了16倍。

圖1 Stem Block結構簡圖
2.1.2 雙通道特征整合
對于denselayer,采用所示的雙通道結構,雙通道結構借鑒了Inception的優點,使用不同大小的卷積核有利于多尺度特征的學習,相較于傳統的單通道結構,雙通道的特征提取結構具有更好的感受野。另外為了避免計算量的大幅提升,將每個通道的通道數縮減為之前的一半,在降低計算量的同時,損失的信息量也相對較少。

圖2 Two-way Denselayers結構簡圖
2.1.3 網絡結構
本文采用的網絡結構如圖3所示:輸入圖像尺寸為224×224,經過Stem Block結構后,提取了32通道尺寸為56×56的低層次特征圖,后經過4個Dense Block結構不斷地提取更高層級的特征圖,最后為704通道尺寸為7×7的語義特征圖,通過均值操作提取了704維的特征向量。

圖3 網絡結構簡圖
對于分類問題,損失函數只需要衡量網絡錯分類導致的損失,如公式1,使用交叉熵損失函數度量錯分類導致的損失是適用的。其中J(θ)表示損失值,m表示一次梯度下降訓練中所參與的樣本數量,xi,yi分別表示第i個樣本的輸入與標簽的獨熱編碼值(one-hot encode),則=1,其他為0,hθk(xi)表示第i個樣本的分數為k的神經元的概率輸出。
公式1交叉熵損失函數

而對于街景評分而言,錯誤的評分造成損失值不同,損失Jk(θ)應與模型輸出分數和標簽分數差k-si的絕對值成正相關,si表示第i個樣本標簽分數,因此在交叉熵的基礎上修正損失函數為
公式2基于類間距離修正的交叉熵損失函數

傳統的監督學習方法在學習這些不可靠樣本時,會讓模型向有偏差甚至錯誤的方向優化,效果將會大打折扣[12~14]。在含有大量不可靠標簽的數據集里,可以把整個數據集分成一系列子集,將子集按標簽可靠性進行排序,在網絡的訓練過程中,依據樣本子集標簽的可靠性順序,由可靠到不可靠依次對網絡進行訓練,這種學習方法稱為課程學習[15,17~18]。
對于訓練集中的某一樣本,如果它與標簽為同一類別的大部分樣本具有較高的相似度,那么則認為標簽是相對可靠的,如果它與標簽為同一類別的大部分樣本具有較低的相似度,那么則認為標簽是相對不可靠的。
步驟1 使用2.1.3小節的卷積神經網絡提取所有訓練樣本的街景評分特征。
步驟2 對于標簽同為L的m個訓練樣本,計算它們街景評分特征的相似度矩陣
步驟4 αi為第i個樣本與同類別樣本集相似度的衡量,隨后以等分取閾值講訓練樣本分為n類,αi越大則認為其越可靠,由此將訓練樣本劃分為n個不同可靠性的訓練子集。
傳統的街景環境評價方法主要使用了Naik提供的數據集[5],其中包涵了來自于美國各大城市的3214張街景圖像;為了豐富街景圖像來源,本文的street-score數據集圖像還收集了來自國內不同城市的街景圖像,包涵了來自中國5大城市的18672張街景圖像。其評分含義為標注者對街景圖像的綜合感官評價,包括整潔度、舒適度、美感和安全感等主觀感受。標簽為0~10的11個等級的綜合感官評價,其中0代表最低評價,10代表著最高評價。
回歸算法中,常用指標MAE(Mean Absolutely Error)反映了模型評分與標簽評分的平均絕對誤差,MSE(Mean Squared Error)表達模型評分與標簽評分的平均平方誤差。對于街景評分,當網絡輸出評分與標簽評分差不大于1,其輸出可以視為正確,評分正確的概率記作ACC(Accuracy)。在下文的實驗中,將ACC、MAE、MSE作為反映模型性能的指標。
基于卷積神經網絡的街景評分流程如下。
步驟1 使用Place365數據集[12]對2.1.3小節的卷積神經網絡進行預訓練,使用街景評分數據集訓練網絡,直至損失基本不變。
步驟2 使用2.3小節的方法將街景評分數據集劃分為若干個訓練子集。
步驟3 使用標簽最可靠的訓練子集對網絡精調至損失基本不變。向訓練集逐步加入相對不可靠的訓練子集對網絡進行訓練,直至所有的訓練子集均使用為止。
步驟4 對于任意街景圖像,將其歸一化后作為網絡的輸入,即可輸出街景圖像的評分。

圖4 street-score數據集街景圖像展示
為驗證基于類間距離的交叉熵損失函數有利于網絡的街景評分性能,使用交叉熵損失函數對初始化的卷積神經訓練30個epoch,學習率設為0.01,優化器為Adam。再用SGD對分類器訓練20個ep?och,學習率設為0.0002,分類器的損失值基本保持不變。分別使用最大間隔交叉熵損失函數[12,16]、修正的損失函數重復上述步驟。

表1 兩種損失函數的對比
表1為驗證集各指標交叉驗證5次的均值,實驗表明,合適的損失度量將有利于模型擬合性能的提升,本文提出的損失函數使網絡性能提升的幅度較為明顯,street-score數據集上相較于交叉熵損失準確率提升了2.8%,相較于最大間隔交叉熵損失準確率提升了2.0%,平均絕對誤差相較于交叉熵損失下降了11.8%,相較于最大間隔交叉熵損失下降了8.76%。
為了驗證基于課程學習策略的網絡訓練方法使得網絡能有更好的評分效果,論文作出如下對比實驗。
1)監督學習方法,使用基于類間距離的交叉熵損失函數對初始化的卷積神經訓練30個epoch,學習率設為0.01,優化器為Adam。再用SGD對分類器訓練20個epoch,學習率設為0.0002,分類器的損失值基本保持不變。
2)課程學習方法,使用2.3小節的方法將訓練集分為3個訓練子集:“相對可靠”的訓練子集、“一般可靠”的訓練子集、“不可靠”的訓練子集。使用“相對可靠”的訓練子集對初始化的卷積神經訓練20個epoch,學習率設為0.01,優化器為Adam。向訓練集加入“一般可靠”的訓練子集,用SGD對網絡訓練20個epoch,學習率設為0.0002。向訓練集加入“不可靠”的訓練子集,用SGD對網絡訓練20個epoch,學習率設為0.0002。
表2表明,基于課程學習的訓練方法有利于網絡街景評分性能的提升,提升的幅度較為明顯,street-score數據集上準確率提升了6.4%,平均絕對誤差下降了7.76%。

表2 兩種訓練方式的對比
本文將與前人在街景評價的工作進行對比實驗,參與對比有方法如下。
2014年,Naik N等提出,將Geometric Texton、GIST和Color Histograms等多特征融合,最后使用SVM做分類[5]。
2015年,Lorenzo Porzi等使用改進的Alexnet實現街景圖像評分[7]。
2016年,Dubey A等使用Resnet結合Large-Margin Softmax loss實現街景圖像評分[8]。

表3 街景評分方法對比
如表3所示,論文提出的方法相較于前人的方法具有最好的街景評分效果。相較于效果較好Dubey A的方法,準確率提升了9.7%,平均絕對誤差下降了25.8%,本文的方法具有明顯的提升。

圖5 街景評分方法效果示意圖
如圖5所示,論文的街景評分方法相對于前人的方法有著更準確的評分效果,評分結果基本與標注者一致。
本文在網絡淺層使用Stem Block結構,優化了低層次特征提取效果;對于稠密層,采用雙通道denselayer結構,相較于傳統的單通道結構,雙通道的特征提取結構具有更好的感受野[19~20]。論文還在交叉熵的基礎上提出了基于類間距離度量的交叉熵損失函數,更加準確地衡量街景評分與標簽分差帶來的損失,從而使模型向更優的方向優化,使得平均絕對誤差、均方誤差均有下降。論文引用了課程學習的方法有效地解決了訓練樣本標簽不可靠帶來的模型訓練偏離最優化方向問題。在模型訓練過程中,讓模型從可靠的數據集開始學習,再逐漸增加相對不可靠的數據集,使得模型的性能逐步提高。