姚佳偉 YAO Jiawei 黃辰宇 HUANG Chenyu 劉鵬坤 LIU Pengkun 張永明 ZHANG Yongming
數字化技術在城市規劃領域的應用最早可追溯到20 世紀七八十年代,至今已有40 多年歷史,研究人員希望利用計算機的計算力輔助決策,期望借助計算機實現尋找最優項目選址、提出建筑空間布局等建議[1]。自2016年圍棋界人工智能棋手AlphaGO 戰勝人類世界冠軍,深度學習和機器學習進入了全行業的視野。深度學習、卷積神經網絡以及圖像語義分割識別在計算機視覺領域取得了令人矚目的成就,尤其是圖像識別技術已經被廣泛地應用于各行業,智能技術已經成為國家經濟結構轉型和尋找新一輪增長點的創新驅動力。城市走向“智能化”的政策導向以及智慧城市的發展趨勢提出了創造性應用人工智能和深度學習技術需求[2],同時,建筑規劃領域龐大的圖像數據量和復雜的設計參數也與深度學習有著天然的結合點。到目前為止,人工智能技術在城市規劃領域的應用主要集中在建筑和街道圖像的識別和分析研究方面。2017 年,吳志強院士提出了“人工智能的城市規劃”,指出了人工智能在城市規劃領域的應用場景和潛力[3]。小庫科技實現了利用卷積神經網絡進行建筑風格識別,并可以利用生成式對抗網 絡(GAN,Generative Adversarial Networks )生成數個現代風格的建筑物外觀,在方案設計階段為建筑師提供了極大地幫助[4]。城室科技利用深度學習識別上海市建筑立面色彩情況,結合上海發展歷史和建筑風格,為上海市人居環境的建設提出改善建議[5]。麻省理工大學的李小江利用深度學習對街道圖像進行識別和語義分割,對街谷開闊度進行量化分析,建立了街道圖像和環境指標的聯系[6]。但眾多研究均未提及如何從城市角度做出系統評價。結合我國的城市決策,如何基于以政治、經濟、文化、環境、衛生、科教等為基礎的現代城市評價指標,深入挖掘城市規劃布局內涵,開展探尋城市物質空間和形態與現代城市評價指標耦合關系的研究,對于未來的智能城市規劃有著重要意義。
本文以城市肌理數據為對象,討論通過深度學習識別城市的可能性,并期望通過機器學習,找到建筑規劃與現代城市評價指標的內在關系,以進一步優化建筑布局。
本文以北京、上海、廣州、深圳、西安、吉林、金華、臨沂、洛陽、臺州等10 個城市的肌理數據為例,利用python 爬取百度地圖開放平臺的地圖數據(比例尺1 ∶500 000),通過修改json 文件實現圖底關系的表達(圖1)。
1.2.1 感知哈希算法實現圖像降維
區分城市中的地塊屬性和空間是城市識別的首要工作,在數據收集完畢后,首先對數據進行預處理與標注,將原始數據(1 800×800×N)裁切為5 458 張尺寸為200×200 的元地塊圖像,每個元地塊被視為單一的地塊屬性或布局。
“感知哈希算法”(Perceptual hash algorithm)是Google 與Baidu引擎實現相似圖片搜素的關鍵技術,它的作用是對每張圖片生成一個“指紋”(fingerprint)字符串,即對圖像進行降維,然后比較不同圖片的指紋,結果越接近,則視為圖片越相似。利用感知哈希算法對圖片進行降維,對每張圖片生成特征值,即“指紋”,以便下一步進行圖像聚類。
本文在降維算法的選擇過程中同時比較了三種感知哈希算法,基于低頻的均值哈希算法(aHash)、增強哈希算法(pHash)和差值哈希算法(dHash),分別進行實驗。得出的結論是:平均值哈希算法的速度最快,但精度較差;增強哈希算法精確度較高,速度較慢;差值哈希算法速度快、精度高,但對圖像變換不具有魯棒性。考慮到本文的數據樣本量不需要作額外的圖像變換以擴大數據量,所以選擇差值哈希算法進行圖像降維。
差值哈希算法的主要步驟如下:①縮小圖片:縮小圖片至9×8 像素尺寸,此時有72 位像素點;②轉化為灰度圖:把縮放后的圖片轉化為256 階的灰度圖(具體算法見平均哈希算法步驟);③計算差異值:dHash 算法工作在相鄰像素之間,這樣每行9 個像素之間產生了8 個不同的差異,一共8 行,則產生了64 個差異值;④獲得指紋:如果左邊的像素比右邊的更亮,則記錄為1,否則為0。
利用python 結合openCV 進行編程,計算每行像素的相似情況進行可視化,并計算圖像的哈希算法指紋得出相似程度,以兩張元地塊圖片為例,計算結果如圖2 所示。
計算所有裁切后的元地塊的指紋,準備下一步進行圖像聚類。
1.2.2 K-means 聚類
獲得了各個元地塊的指紋后,應用一種無監督高維聚類算法K-means,將所有元地塊分為五類地塊屬性。

圖1 城市肌理圖像樣式

圖2 差值哈希算法實現圖形相似度計算
K-means 算法是一種簡單的迭代型聚類算法,采用距離作為相似性指標,從而發現給定數據集中的K個類,且每個類的中心是根據類中所有值的均值得到,每個類用聚類中心來描述。對于給定的一個包含n個d 維數據點的數據集x以及要分得的類別k,選取歐式距離作為相似度指標,聚類目標是使得各類的聚類平方和最小,即最小化:

結合最小二乘法和拉格朗日原理,聚類中心為對應類別中各數據點的平均值。
經過算法參數調整和去除噪聲,聚類的結果大致分為五類(表1)。
至此,完成了原始數據的處理和圖像標注,以便下一步進行架構深度學習卷積神經網絡的分類識別器。

表1 五類地塊聚類結果
深度學習(Deep Learning,DL)從狹義上理解,是一種具有一定的結構和訓練方法且含有多個隱含層的神經網絡(圖3);從廣義上理解,可以把具有任何層次結構的機器學習方法稱為深度學習。在深度學習過程中,從輸入圖像,經過無監督的逐層訓練和學習圖像特征,通過有監督的訓練更新整個網絡參數,最小化損失函數,在輸出層實現正確的分類。卷積神經網絡(CNN )是深度學習最受歡迎也是識別準確率最高的網絡結構之一,已經被廣泛地應用在手寫字體識別、人臉識別、自然圖像識別等有監督圖像的識別領域,在本文的研究中有很強的適用性。
前文對圖像特征值的提取只能判斷圖像機械相似度,加入K-means的聚類結果存在較大噪聲和離群值,需要人工剔除,這對于少量數據標注來說并非難事,但一旦數據量增多,聚類的可信度就會下降。卷積神經網絡對圖像的識別并不是計算一張復雜的圖片特征值進行整體判斷,而是將一個完整的圖片分割成許多個部分,對每個部分進行卷積處理提取出特征,再將這些小部分具有的特征匯總,通過數學運算實現機器識別圖像的過程。本文基于python Keras 架構了如圖4 所示的網絡結構。
以某張元地塊的肌理圖像為例,卷積神經網絡的特征提取分為以下三步。
(1)在卷積神經網絡(CNN)中,首先通過輸入層讀取數據集,進入第一個卷積層。卷積運算的性質保留了原圖中像素與像素間的關系,卷積層通過不同尺寸的卷積核對城市肌理數據進行不同尺度的特征提取,帶有不同尺寸的卷積核實現了對圖像的多種操作,例如邊緣檢測、升維、降維以及非線性變換等。以達到從不同的尺寸對肌理圖片進行識別,經過多次的卷積和池化操作,數據到達最后的全連接層。以中密度城區肌理為例子,如圖5 所示,首先卷積神經網絡第一層特征提取的是圖片的整體輪廓信息,第二層以及第三層逐層深入提取圖片的局部特征信息。
(2)將樣本數據的80%設置為訓練集,20%設置為驗證集進行交叉驗證,經過參數調整,訓練出準確率較好的城市地塊屬性分類器,訓練集準確率(Accuracy)可達97.3%,訓練集的損失(Loss)為0.1017,驗證集的準確率稍低為91.0%,驗證集損失為0.489,收斂情況較好。卷積神經網絡中輸出層的上游通常是全連接層,因此,其結構和工作原理與傳統前饋神經網絡中的輸出層相同。對于圖像分類問題,輸出層使用邏輯函數或歸一化指數函數(softmax function)輸出分類標簽,并映射到三維空間。如圖6 所示,可以看出,在三維空間中,卷積神經網絡可以清晰地辨認出五種城市肌理。

圖3 深度學習網絡示意圖
(3)對分類器進行驗證,用訓練好的分類器讀取某張中密度城區圖,測試分類效果,結果見圖7,分類器對輸入圖像的識別效果較好,該圖片被認為有98%的概率為中密度城區,與標注相符。驗證證明分類器能較好分清五類地塊,可以投入后續城市識別過程使用。
訓練好的卷積神經網絡分類器已經能夠識別特定的地塊類型,面臨的問題是如何識別城市整體。受限于數據源平臺以及比例尺,為了最大化城市建筑細節,原始數據的尺寸被確定為1 800×800 像素,每個城市都由若干圖像組成。首先對每張圖像單獨處理,將1 800×800 的圖像分割,把每張切片分別讀入地塊分類器,得到分類結果,返回位置組成矩陣(A:高密度城區;B:中密度城區;C:低密度城區;D:交通干道和立體交通;E:公共建筑和工廠):


圖4 卷積神經網絡分類器結構

圖5 卷積神經網絡提取局部特征信息
統計每類地塊在矩陣中的個數除以總數,即為城市中每類地塊的分布比例,高密度城區土地面積占比CountIF(A) 計算如下:

式中,CountIF(A) —矩陣中A 統計個數,即高密度地塊出現的次數;
M—單張1 800 ×800 的總切片數;
N—某城市1 800×800 肌理圖像個數。
本文將圖像分別分割為200×200、100×100 以 及50×50的切片(圖8),討論切片大小對結果準確度的敏感性,100×100 像素的識別表現最優。
以上海黃浦區局部城市肌理圖像為例,機器識別的結果見圖9。
將切片的圖片數據合并為原始衛星圖并進行判別結果的可視化。從圖中可以看到,對于黃浦區局部城市肌理,機器識別的結果基本與人工認知評價相符。
對于上海市以及其他城市的識別計算結果見表2。
面對城市肌理圖像中豐富多維的數據信息,機器學習技術在挖掘其內部隱藏價值方面具有巨大潛力。諸如經濟、文化、健康等城市評價指標的研究往往建立在政府政策和城市POI 數據的基礎上進行,下文將通過機器學習挖掘出城市肌理圖像,反映出的城市建筑規劃與城市評價指標的隱藏聯系,以指導未來規劃和政府決策。
根據《中國城市統計年鑒》和華頓經濟研究院編制的“2018 中國百強城市排行榜”給出的數據,可以得到表3 數據[7]。
基于MATLAB R2018b 數據分析和機器學習工具箱(Statistics and Machine Learning Toolbox),對比不同的機器學習算法,對于上述數據分別進行擬合的均方根誤差(RMSE)見表4,RMSE 是觀測值與真值偏差的平方和與觀測次數m 比值的平方根,用來衡量觀測值與真值的偏差情況。RMSE 越小說明回歸結果越好,圖像識別與城市指標的相關性越強。

圖6 模型訓練過程及降維可視化結果

圖7 分類器準確性測試

圖8 不同尺度城市肌理圖像分割

圖9 上海黃浦區局部城市肌理識別結果

表2 10 個城市的識別結果即各類地塊比例構成

表3 “2018 中國百強城市排行榜”中各城市的指標得分

表4 不同機器學習算法對城市肌理與指標得分的回歸分析結果
根據表3 中的RMSE 計算結果可以得出結論,經濟總分值、軟經濟總分值、環境分值以及衛生分值與城市肌理的識別結果相關性最大。其中,環境分值與衛生分值的相關性符合城市研究學者的通常認知,而經濟總分值與軟經濟總分值的計算結果則說明城市建筑規劃及布局與城市的經濟情況存在隱藏的相關性,也證明了從圖像識別城市挖掘城市信息并評價的必要性。
從算法角度分析,四種算法在多維回歸的過程中均有不同的表現,其中,支持向量機算法(Support Vector Machines,SVM)的表現出眾,在多種目標值的情況都取得了最小誤差和最優的回歸結果。
首先,本文利用圖像降維、聚類以及卷積神經網絡實現了城市肌理的識別,并能精準地識別出五類地塊屬性,證明了深度學習技術在城市圖像識別中的可能性,其技術方法在城市圖像識別中有很強的通用性。其次,本文利用機器學習算法,將當代城市評價指標與城市肌理圖像做了關聯性分析,以北京、上海、廣州等10 個城市為例,最終得出,在現有評價體系內經濟總分值、軟經濟總分值、環境分值以及衛生分值與城市肌理的識別結果相關性最大,其中,環境分值和衛生分值的相關性符合城市研究學者的通常認知,而經濟總分值和軟經濟總分值的計算結果則說明,城市建筑規劃和布局與城市的經濟情況存在隱藏的相關性,也證明了從圖像識別城市挖據城市信息并評價的必要性。