陳晉音,王 楨,鄭海斌
(浙江工業大學 信息工程學院,杭州 310000)
非法流動攤販,是指沒有合法的經營許可證、沒有固定的經營場所,在人流密集的公共場所擺攤設點,擅自進行貨物交易行為的人員[1].流動攤販的存在,有一定的積極作用,但也存在極大的弊端.其好處在于,滿足了城市居民的日常需求,為居民生活提供了便利;另一方面,居民對流動攤販的需求,為外來務工人員以及失業人員提供了一定的就業機會.而其弊端在于,流動攤販往往聚集在城市中人流量較大的路段,嚴重影響了交通秩序和市容市貌;其次,流通攤販售賣的食物、商品基本是未通過衛生與質量監督部門的檢查,存在著極大的安全隱患問題;此外,流動攤販的經營活動產生的噪音、垃圾污染會直接影響周邊的環境與居民日常生活,擾亂了社會秩序[2].因此,城市管理部門需要對流動攤販進行監控、管理.
非法流動攤販管理的難點,在于其流動性.城市管理部門執法人員無法確定流動攤販經營的時間、地點,需要不斷的進行人工巡視,因此存在監管難度大、監管盲區多、管理成本高等問題.
本文結合注意力機制提出了一種基于深度學習模型的非法流動攤販檢測方法.該方法首先對視頻圖像數據進行人工標注建立訓練數據集,然后訓練并使用改進的Faster R-CNN Inception Resnet-v2 attention目標檢測模型(FRIRAM),對非法流動攤位與行人進行檢測,從監控圖像中獲得攤位與行人的位置信息.最后,基于圖像處理技術通過幀間攤販對比對得到的目標位置信息進行處理,確定非法流動攤販,并使用適當數據處理方式進行取證,進一步通知管理人員進行定點監控、管理.
在我國,目前的城市非法流動攤販管理工作中,以人工形式的城管人員現場巡視管理為主導的管理制度的弊端在于[3]:非法流動攤販的反復性強,治理與管理效率低,“城管進,攤販逃;城管撤,攤販進”;同時,如今社會輿論[4]往往偏向于流動攤販經營者,攤販與城管若發生矛盾沖突,網友總是強調攤販的弱勢群體身份,一味指責城管部門的粗暴執法行為,使工作人員的執法處于被動與孤立的地位.造成這一治理困境的主要原因在于,無法及時有效的對流動攤販們的非法經營行為進行取證與預警.
作為計算機視覺領域的一個主要的研究方向,圖像目標檢測成為數字取證的一種關鍵技術.經典的目標檢測方法,指未使用神經網絡的目標檢測方法.此類方法種類較多,如背景差分法[5],混合高斯模型法[6].Shao等人[7]提出了一種基于視頻序列的跟蹤檢測方法用于識別監控中的車輛.He等人[8]提出了一種結合運動邊界和稀疏光流的運動目標檢測方法,可以精確地檢測出完整的運動目標.
深度學習作為新興的機器學習研究領域,最早由多倫多大學的G.E.Hinton等人[9]提出.其特點在于,免去了傳統機器學習中的特征工程步驟,可以自主地從原始數據中獲取有用的特征信息.深度學習在計算機視覺、語音識別、自然語言處理等領域均有廣泛的應用前景.
隨著深度學習的進一步研究,出現了使用深度學習進行目標檢測的技術.R-CNN[10]方法將卷積神經網絡(Convolutional Neural Network,CNN)方法引入目標檢測領域,大大提升了目標檢測的效果.Girshick等人[11]針對R-CNN方法中存在的空間、時間冗余問題進行改進,提出了Fast R-CNN方法,實現了大部分端到端的訓練,加快了目標檢測的運行速度.Faster R-CNN[12]使用區域生成網絡(Region Proposal Network,PRN),相比于Fast R-CNN,擁有更快的速度.YOLO(You Only Look Once)目標檢測模型[13]是一種端到端的神經網絡模型,借鑒了GoogleNet[14]的分類網絡結構.SSD(Single Shot MultiBox Detector)方法[15]與YOLO方法類似,它借鑒了VGG16分類網絡并使用了非模塊化的端到端模型結構,能夠實現統一訓練,SSD模型能夠實現比YOLO更快的處理速度.盡管深度模型具有非常好的目標檢測效果,但是需要有盡可能豐富的訓練數據集.
最近,注意力機制在深度學習中表現出先進性能,能夠捕獲全局依賴性,尤其是處理順序決策任務,例如,具有長短期記憶的時空注意力模型被用于人類行為識別.Xu等人[16]設計了處理視頻字幕的視覺注意力模型,可以密切關注對象的關鍵信息.Yang等人[17]提出了堆疊空間注意力模型,進行文本生成和輿情預測.Bowman等人[18]提出自我關注的生成對抗性網絡進行精細圖像的生成,其中利用注意力機制遍歷特征圖,專注于空間關鍵信息.
現有的基于視頻監控的非法流動攤販檢測和識別方法中,人工檢測方法的人工成本較高且監控人員容易疲勞使得檢測效果較差.傳統的目標識別方法,針對固定的攤位與物體特征進行檢測,檢測準確率低且誤檢率高,并需要人工對誤檢的數據進行篩選.本文針對這一技術現狀提出了基于深度學習模型的非法流動攤販檢測方法,該方法結合注意力機制和Inception Resnet-v2模型改進Faster R-CNN,得到FRIRAM,對非法流動攤位與行人進行檢測.為了使模型具有識別能力,需要從網絡、監控視頻中獲取大量的圖像數據,并進行人工標注,構成訓練數據集,以對模型進行訓練.使用訓練好的目標檢測模型,可以從監控圖像中獲得攤位與行人的位置信息.通過幀間攤販對比對得到的位置信息進行處理,可以確定非法流動攤販,并使用適當的數據處理方式進行取證、后臺預警.其具體的檢測流程如圖1所示.

圖1 非法流動攤販檢測流程圖Fig.1 Flow chart of illegal floating vendor detection
本文基于深度學習算法提出了改進的目標檢測模型FRIRAM,基于Faster R-CNN目標檢測網絡加入Attention注意力機制并采用Inception Resnet-v2網絡作為特征提取網絡,有效提高了模型的精度與計算速度.
本文所設計的目標檢測模型進行目標檢測的主要步驟是:通過Inception Resnet-v2模型提取圖像特征,基于特征圖進行候選區域的選擇與映射,加入注意力機制進行各候選區域參數的計算與優化,并得到各候選區域的特征向量,基于特征向量加入注意力機制計算相關系數進行特征向量的篩選與剔除,最后基于得到的特征向量進行目標分類與邊界回歸以實現對目標物體的檢測.具體檢測流程如圖2所示.

圖2 目標檢測流程圖Fig.2 Flow chart of target detection
本文使用Inception Resnet-v2網絡作為特征提取器,網絡以inception 模塊為主體,其中的殘差連接可以動態調整模型的復雜度,并在一定程度上解決了訓練過程中的梯度爆炸與過擬合問題,增加網絡架構的精確度.本文將原始圖像輸入Inception Resnet-v2網絡,經過一系列卷積、池化與殘差連接等操作后得到特征圖.
候選區域的選擇指從原始圖像中預先找出可能存在目標的位置,也稱為感興趣區域(Region of Interest,RoI).本文使用區域生成網絡(Region Proposal Network,RPN),通過滑動窗口的方式在特征圖上提取候選區域.
本文基于各候選區域增加注意力機制以對每個候選區域在同一特征圖下的不同深度通道進行強化,其過程如圖3所示.對于通道深度l為的特征圖,對每一個候選區域進行上采樣或下采樣操作以得到尺寸為64×64×l的統一候選區域.隨后引入尺寸為64×64×1的卷積核,以步長為1對各候選區域進行卷積計算,得到尺寸為64×64×1的區域特征圖.將區域特征圖與候選區域每一層的對應位置相乘求和并取均值以得到每一層的注意力權重,尺寸為1×l.最后將原始候選區域的每一層與對應的注意力權重相乘實現候選區域不同通道深度的參數更新與強化.

圖3 候選區域注意力機制示意圖Fig.3 Flow chart of attention mechanism in region of interest
隨后通過在RPN網絡后增加RoI池化層將每個候選區域映射為單個固定尺度的特征向量.
本文基于得到的尺度固定的特征向量增加注意力機制以實現對特征向量的篩選與剔除,降低算法復雜度,其過程如圖4所示.以1條特征向量為例,對于各固定尺寸為1×N的特征向量,引入尺寸為1×1的卷積核,以步長為1對各特征向量進行卷積計算,得到尺寸為1×N的目標向量.隨后對目標向量進行轉置操作并與特征向量相乘,計算得到尺寸為1×1的注意力權重.對各注意力權重使用歸一化指數函數(softmax)計算得到相對應的注意力值{βi′,i∈[1,n]}.將各特征向量對應的注意力值進行降序排序得到{βi,i∈[1,n]},選取前k個{βi}值對應的特征向量進行后續計算與操作.k值的選取由原始圖像尺寸,特征向量維度等因素決定.

圖4 特征向量注意力機制示意圖Fig.4 Flow chart of attention mechanism in feature vector
最后,采用奇異值分解(SVD)將上一步選取得到的特征向量經過各自的全連接層計算分別得到兩個輸出向量用于分類與回歸操作.其中,目標分類以輸出向量作為輸入,使用支持向量機(SVM)對目標進行分類,實現目標識別.邊界回歸通過輸出向量對候選區域邊框進行回歸、修正,以獲取與目標圖像位置最為吻合的邊框,實現目標物體的位置信息提取.
根據對實際監控視頻的觀察,流動攤販按圖像特征來區分,大致可以分為三種:地攤攤位、固定攤位與車載攤位.地攤攤位,指直接將貨物擺放在地面上,或在地面上墊布、墊紙后再擺放貨物的攤位,常見的地攤攤位有蔬菜攤、水果攤等;固定攤位,指帶有桌子、架子或頂棚的攤位,常常帶有較大的招牌、海報,常見的固定攤位有燒烤攤、小吃攤等;車載攤位,指利用機動車、電動三輪車運載貨物,并直接在街頭販賣的攤位,常見的有車載水果攤、車載小吃攤等.在實際場景中,流動攤位具有種類多樣、特征復雜、易產生變化等特點,對其進行檢測較為困難.本文將流動攤位大體上分為三類,實際上這三類攤位之間存在一定的共性,比如一個帶招牌的三輪車車載水果攤位,既可能被識別為固定攤位、也可能被識別成車載攤位.對此,本方法在數據處理時,將不區分三類攤位,均將其看成同一類攤位來處理,如圖5所示.

圖5 常見的幾類流動攤位Fig.5 Common types of floating vendor
在實際處理過程中,發現易混淆的物體有4種,分別為三輪車、垃圾桶、電瓶車、自行車.其中,垃圾桶容易被識別為固定攤位,三輪車、電瓶車、自行車容易被識別為車載攤位.為了提高模型的辨識能力,降低誤判率,本文在數據集的構建過程中,為這幾類容易產生誤判的目標進行標記.
由自制數據集進行訓練的基于FRIRAM的目標檢測模型可檢測出監控圖像中的流動攤販與行人并確定其位置信息.基于幀間攤販對比與圖像處理技術確定非法流動攤販并進行取證報警.
3.3.1 幀間攤位對比
通過使用改進的FRIRAM模型,可以從單幀圖像中獲取到所有流動攤販與行人的信息,但是無法獲取到前后幀之間攤販的關聯信息,需要使用幀間攤位對比的方法,對具體的流動攤販進行識別.幀間攤位對比可以有兩種方法:攤位特征比對和攤位位置比對.
攤位特征比對,指使用一定的特征提取網絡,提取每個攤位的特征信息.這里的特征提取網絡可以直接使用Faster R-CNN網絡結構中已訓練好的特征提取部分.將提取到的特征圖轉化為一維向量,作為攤位特征信息.對每一幀中檢測出的所有攤位,進行特征提取,將第n+1幀的所有攤位,與第n幀所有攤位進行特征比對,使用歐氏距離度量攤位特征的相似性.歐氏距離計算定義為公式(1):
(1)
其中,F(n,i,x)指第n幀圖像中,第i個攤位的第x個特征的值.人為給定距離閾值TL,若L≤TL,則認為兩攤位是同一攤位;若L>TL,則認為是不同的兩攤位.該方法使用了攤位圖像的信息特征,來判斷前后幀中出現的兩攤位是否是同一攤位,其優點在于:1)適用范圍廣泛,在前后幀攤位位置發生變化的情況下,也能進行正確判斷;2)對于外觀不同的攤位,識別準確率高.但是在實際應用中,我們發現其缺陷在于:1)運算速度慢,需要使用額外的深度神經網絡對每一攤位進行特征提取,需要耗費大量的時間;2)對于外觀相似的攤位容易發生誤判.
攤位位置比對,指使用攤位的位置信息,通過前后幀攤位位置坐標、覆蓋情況,來判斷是不是同一輛車.該方法參考了RPN網絡訓練過程中使用的GTB(ground true box)方法.首先判斷前后兩幀中,是否存在位置重疊的攤位.假設A、B兩攤位存在重疊,兩攤位所在矩形區域面積分別為SA、SB,其重疊面積SC=SA∩SB.對于存在位置重疊情況的攤位,計算兩攤位矩形區域的交集面積,即重疊面積SC,然后計算兩矩形區域的并集面積SD=SA∪SB=SA+SB-SC.相似度定義為公式(2):
(2)
IOU的取值在0到1之間,數值越高,代表兩攤位的重合度越高.給定閾值TIOU,若IOU≥TIOU,則認為是同一攤位;若IOU 綜合考慮實際的非法流動攤販檢測應用場景,當流動攤販存在經營行為時,攤位往往是靜止不動的,此時需要城市管理部門進行相應的處理;而當流動攤位在道路中運動時,并沒有進行經營行為,此時城市管理部門并不需要對其進行處理.因此,流動攤販檢測只需檢測靜止的攤位,本文使用攤位位置比對方法即可得到較好的檢測效果. 3.3.2 流動攤販處理及報警取證 流動攤販處理方式由不同的報警取證方法而定,報警取證可以有三種方法:流動攤位預警、流動攤位取證記錄、流動攤販取證記錄. 第一種,流動攤位預警,指僅使用流動攤位的信息,對其進行過濾,篩除可能存在的誤判情況,保留可能正在經營的非法流動攤販信息,給出一個流動攤位預警值.若該流動攤位預警值超過一定閾值,則記錄存在流動攤位、攤販的監控場景圖像,并提醒城市管理部門對其相關處理.該方法較為簡單,僅進行場景照片取證與實時報警,具體的攤位、攤販記錄,對流動攤販的處罰、管理,需要城市管理部門進行相應操作. 第二種,流動攤位取證記錄,類似于幀間攤位對比中的攤位特征對比方法,指使用一定的深度學習特征提取網絡,提取流動攤位的特征,并使用攤位特征進行取證的方法.該方法使用流動攤位的圖像特征信息作為取證的對象,將攤位信息存儲到數據庫中,同時提醒城市管理部門進行相關處理.并且每當檢測到一個新的攤位時,將其特征與數據庫中的攤位信息進行比對,可以判斷該流動位是否已多次進行非法經營行為.該方法可以實時檢測城市道路中流動攤販的情況,同時可以記錄一定的流動攤位信息,為城市管理部門的取證、管理提供了方便.當然,該方法也有一些比較明顯的局限性:首先,流動攤位目標較為復雜多變,比如攤販僅僅改變其銷售商品的種類,或者改變招牌,就能在一定程度上改變其流動攤位特征,因此攤位的特征并不是固定的,對攤位進行取證不一定會有較好的效果;其次,對流動攤位、攤販的處理,最終應以人為目標,而不應以攤位為目標;最后,由于該方法引入了額外的深度神經網絡,不可避免地會增加計算的時間開銷.綜上所述,流動攤位取證記錄方法,不是一個較好的數據處理以及報警取證方法. 流動攤販取證記錄,與流動攤位取證記錄類似,而不同之處在于,該方法以流動攤販的人物圖像特征信息作為取證的對象,而不是攤位的圖像特征.要獲取攤販的人物圖像特征信息,首先要將攤販與普通的行人區分出來,其次是使用一定的特征提取方法,比如人臉識別、行人重識別方法,提取流動攤販的圖像特征信息,并將該特征信息保存到數據庫中,同時提醒城市管理部門進行相關處理.每當檢測到一個新的攤販時,將其特征與數據庫中的攤販信息進行對比,可以判斷該流動攤販是否已多次進行非法經營行為.該方法在對城市管理部門發出實時提醒的同時,能夠對違法攤販的個人信息進行記錄取證,大大地方便了城市管理部門的工作.該方法的優點在于:第一,以個人信息為對象進行存儲取證,方便城市管理部門進行監管;其次,行人、人臉信息的區分度較高,特征比對的準確率高.而該方法也有一定的局限性,具體表現為:第一,該方法引入了額外的深度神經網絡,不可避免地會增加計算的時間開銷;其次,行人、人臉信息的特征信息提取,對圖像的要求較高,僅適用于監控探頭像素較高,或者具備縮放功能的條件下.綜上所述,該方法適用于處理設備、監控探頭等硬件條件較好的情況下,并且能夠獲得較好的效果. 本文使用了德清縣城市道路監控視頻數據,從其中選取部分作為測試數據,對本文的非法流動攤販檢測方法進行測試.具體測試分為兩部分,第一部分對改進的FRIRAM檢測模型的檢測效果進行測試,第二部分對流動攤販取證預警效果進行測試.本文方法實際上是對視頻中的每一幀進行單獨處理的,因此在輸入時,要將視頻拆成單幀圖像來處理.目標檢測模型每運行一次,在不同的物理設備上所需的時間是不同的.因此,給定可變參數N,每N秒從視頻中提取一幀圖像進行處理,N的取值需要根據具體物理設備而定.本文使用了Nvidia Titan X的GPU對該模型進行實驗,每處理一幀大約需要4秒,因此給定N值為5.檢測的對象為流動攤位與攤販,雖然攤位具有流動性,但是正在經營的攤位往往是固定不動的,因此不考慮運動的攤位,只考慮正在經營的固定攤位,5秒/次的處理速度完全能夠滿足應用需求. 本文使用的流動攤販識別數據集,包含8種類標.其中3種流動攤位類標,1種行人類標,另4種類標為易混淆的物體. 表1為流動攤販數據集.流動攤販對象較為特殊,網絡中常見的公共數據集中都不包含此類標注,因此需要自行構建數據集,才能使目標檢測模型具備同時檢測流動攤位與行人的能力. 表1 流動攤販識別訓練數據集中包含的類標及其對應對象Table 1 Objects and labels in the training dataset 本文選取了幾個流動攤位較多的場景,測試了流動攤位檢測模型的檢測效果,結果如表2所示.由于視頻中不存在預先的標注,本文采用人工辨別的方式進行數據統計. 表2 流動攤位檢測模型的識別效果統計Table 2 Statistical result of floating vendor detection model in test videos 從測試后數據表3來看,整體上的準確率達到了87.99%,召回率達到了79.95%,可以看出該模型的誤判數量較低,漏判數量較高.該模型已經具有了一定的流動攤位識別能力,但是識別準確率還有待提高. 表3 流動攤位檢測模型總體檢測效果Table 3 Result of floating vendor detection model 此外,本文使用COCO數據集[19]與測試視頻對各類目標檢測模型以及本文提出的FRIRAM檢測模型進行檢測效果的對比測試與模型的預訓練,具體實驗結果記錄如表4所示.從COCO數據集的預訓練結果中可以看出,總體上SSD模型擁有較高的運行速度,視頻處理的實時性較強,而Faster R-CNN模型具有較高的目標識別準確率,識別精度較好,而本文提出的FRIRAM目標檢測模型實現了最高的mAP準確率,但運行耗時相對較長.在監控視頻數據集的目標檢測效果對比中,FRIRAM目標檢測模型相較于對比算法模型實現了最高的流動攤販識別準確率,體現了本文提出方法的可行性與優勢. 非法流動攤販檢測的測試視頻中,出現流動攤販的數量較少.因此,本節選取具有代表性的測試效果進行分析.測試視頻選取了視頻3,在該測試視頻中,僅存在一個流動攤販.視頻一開始該攤販就已處于違法設攤狀態,過一段時間后該攤販離開.該測試視頻記錄了從“存在攤販”到“不存在攤販”的狀態變化,能清楚地展示算法效果. 表4 各類目標檢測模型在COCO數據集與測試視頻上的檢測效果平均值Table 4 Statistical result of different detection models in CoCo and test videos 圖6為測試視頻初始幀的圖像.此時已有流動攤販處于擺攤的狀態,并且目標檢測模型已經將其檢測了出來.左上角顯示的是預警值,其大小與攤位的數量以及每個攤位的計數值有關,當該值超過100%時,則進行預警.由于該幀是初始幀,計數值較低,因此預警值也較低,攤位均使用虛線框標注,而非實線框.隨著時間累積,攤位的計數值將增大,預警值也將隨之增大,預警值較高的攤位將使用實線框標注出來. 圖6 測試視頻10:41:47Fig.6 Test video 10:41:47 圖7為初始幀之后1分04秒的圖像,此時攤位的累計值已較高,攤位使用實線框標注出來,并且左上角的預警值超過了100%,此時應向城市管理部門發出報警,并進行一定的截圖、錄像取證. 圖7 測試視頻10:42:51Fig.7 Test video 10:42:51 圖8為初始幀之后9分56秒的圖像.在初始幀之后1分鐘到9分鐘的時間內,場景中的攤位均能夠被識別出來,并且發出預警.圖8中的車輛將部分攤位遮擋,以至于目標檢測模型無法正確地檢測出流動攤位的位置,沒有框定區域,此時無法正確識別. 圖8 測試視頻10:51:43Fig.8 Test video 10:51:43 圖9為初始幀之后12分08秒的圖像.此時圖6中的車輛駛離,本文方法再次正確地識別出流動攤位,并進行重新框定,但是車輛駛離時間較短,流動攤位的累計值較低,此時的預警值也較低,框定為虛線,還未報警.由于此時攤販正在收拾攤位,準備離開,部分商品轉移到了攤販的三輪車上,目標檢測模型將三輪車檢測為車載攤位. 圖9 測試視頻10:53:55Fig.9 Test video 10:53:55 圖10為初始幀之后13分20秒的圖像.此時流動攤販正在離開,原本攤販販賣的物品已轉移到三輪車上.從圖中可以看出,原擺攤的位置不再檢測出攤位,而將攤販的三輪車檢測為車載攤位. 圖10 測試視頻10:55:07Fig.10 Test video 10:55:07 綜合之上的測試數據可以看出,本文提出的非法流動攤販檢測方法,具有一定的檢測效果,但其存在一定的誤判、漏判現象,在目標被遮擋的情況下,識別率有所下降. 隨著城鎮化的快速發展,城區流動攤販正成為考量城市政府統籌“繁榮與市容、發展與穩定、民生與秩序”宏觀決策能力和城市治理能力的晴雨表,社會和媒體對此也高度關注.流動攤販作為市場經濟發展階段的產物,雖然一定程度上迎合人們的消費心理,卻給城市交通與環境帶來了負面影響并存在較大的食品安全衛生隱患以及商品質量問題. 本文使用改進的FRIRAM目標檢測模型,對街道及制定路段上的非法流動攤位與行人進行檢測.為了使模型具有識別能力,本文從網絡、監控視頻中獲取了大量的圖像數據,并進行人工標注,構成訓練數據集,以對模型進行訓練.使用訓練好的目標檢測模型,從監控圖像中獲得攤位與行人的位置信息.通過幀間攤位對比對得到的位置信息進行處理確定非法流動攤販,并使用適當的數據處理方式進行報警、取證.由實驗結果可見,本文提出的基于深度學習模型的非法流動攤販檢測方法在實際視頻數據上取得了較好的效果,能夠為流動擺攤現象的管理與整治提供技術幫助與支持.在本文方法的研究過程中也發現了不足之處,該方法識別效果下降的原因,在于自制數據集中的數據較少.COCO數據集中,車輛類的標注數據有將近10萬條,訓練出的目標檢測模型能夠達到超過90%的識別準確率.而本文使用的自制訓練集中,僅包含約4000張圖片,可能由于標注數量較少,訓練后無法達到較高的準確率.因此,在未來的研究中將進行進一步的改進. 同時,基于本文方法的應用效果,對于未來的研究方向,將深度學習模型與圖像檢測模型應用于其他城市管理領域如違停車輛的檢測、店外擺攤的檢測等,都是具有極大理論與實踐意義的.4 實驗結果與分析
4.1 數據集介紹

4.2 流動攤位檢測與算法對比


4.3 流動攤販取證預警






5 總 結