魏慧玲,相 偉
(青島艾瑞信息科技有限公司,山東 青島 266100)
隨著車輛保有量的增加,停車成為城市中的一大難題。當前,新型社區和工業園區在建設立項時,對車位配比也做了明確要求,但是仍然難以滿足全部的停車要求,亂停車現象難以避免。一些高端社區為提升業務停車體驗,針對亂停車現象進行針對性的治理,對于停放到他人專用車位的車輛進行聲光電等提示,必要時人工干預,要求其駛離車位。
相比較于地磁傳感器、超聲波雷達等監測機制[1-3],基于車位相機的車位占用告警系統,不但能監測車位是否有車,并且能根據圖像信息,進一步識別是否是非法占用,獲取車型、車色、乘車人員等信息,及時跟進處理。
基于車位相機的車位占用告警系統,可以及時發現并處理車位占用事件,并提供自動化的處理方式。車位占用告警系統通常需要在停車場加裝車位相機,識別停放車輛車牌等信息,并根據車輛與車位的歸屬關系,判斷該車輛是否停放到正確位置。如果發現車輛與車位不匹配,現場自動發出語音、燈光提示告警,并通過軟件后臺及時通知物業或者停車場管理人員,到現場進行干預,減少由于車位占用導致的糾紛,提升業主停車體驗。

圖1 車位占用告警系統Fig.1 Parking space occupation warning system
在實際運行過程中,由于車牌號碼識別誤差,會產生一定的誤報幾率,這不僅會導致工作人員的無效工作增加,還會影響業主的體驗,導致業主投訴。為了減少誤報,可以提高相機的硬件性能來提高識別率,但這會進一步導致硬件成本增加。基于此,本文提出了通過軟件算法減小誤報率的策略和方法,取得了較好的效果。
車位占用告警系統通常由車位相機及管理后臺構成,管理后臺負責維護車位及車牌的綁定關系,接收車位相機上報的車輛駛入事件,根據綁定關系判斷是否授權車輛,對于非授權車輛則需要提示告警,并控制現場車位相機設備通過語音及燈光,提醒駕駛人員正在占用他人車位。車位相機主要是用來檢測停車位上有無泊車以及車輛的車牌信息,并能根據外部指令顯示不同的燈光顏色,指示是否有車及車輛是否授權停放,部分車位相機也可以接收外部指令進行語音播報。
車位及車輛的綁定關系由工作人員錄入,當業主購買、租借車位時,工作人員在管理后臺錄入車位使用人員信息,并登記業主車輛信息。業主所屬的車輛與車位建立綁定關系,授權業主車輛在車位停放,此時業主任一車輛停放到任意業主車位均不需要提示告警。業主還可以預約訪客,授權訪客車輛在指定的時間段內停放到所屬車位,則在預約時間段內訪客車輛停放到業主車位也不會提示車位占用告警。其他車輛停放到業主車位,或者業主車輛停放到其他業主車位,則提示告警。

圖2 車位占用告警過濾Fig.2 Parking space occupation alarm filtering
車輛駛入車位時,車位相機分析視頻流并提取到車牌號碼信息,上報車輛駛入事件到管理后臺。管理后臺判斷車牌號碼是否為授權停放車輛,如果是則忽略車輛駛入事件;否則生成車位占用告警記錄提示工作人員,并下發指令控制現場燈光打開,或者語音提示駕駛員占用他人車位需要盡快離開。當車輛駛離時,車位相機上報車輛駛離事件到管理后臺,管理后臺關閉告警狀態,并下發指令控制現場燈光關閉,告警事件結束。
由于車輛停放位置、光線強度、相機安裝角度、車牌遮擋或者變形等問題,車牌號碼的識別分析存在一定的誤差,導致授權車輛被識別為其他號碼從而產生錯誤告警提示。要消除這種誤差,可以提高車位相機的分辨率并且提高硬件分析能力來提高車牌號碼識別的準確率,以此降低識別誤差導致的錯誤告警比率,但是跟隨硬件能力的提高而來的是成本的增加。
在某些特定的情況下,由于車牌號碼拍攝不完整,比如部分車牌號碼被遮擋,或者由于角度問題車牌的上沿被遮擋導致車牌號碼無法完整拍攝提取,此時無法通過提高識別率的方式來降低誤報。本文針對提出基于軟件算法的告警過濾方式,在不增加硬件成本的前提下通過軟件算法過濾告警降低誤報率的方案。
降低錯誤告警比率可以有多種方式,一種是通過提高相機的分辨率及分析能力提高車牌號碼識別的準確率。這能夠有效降低誤報率,但同時會提高系統的硬件成本。還有一種方式是修改告警算法對告警信息進行過濾,也就是當識別為未授權的車牌號碼時,針對號碼的特性判斷是否為識別錯誤,如果認定為識別錯誤,則忽略告警事件。而由不同原因導致的不同識別錯誤類型可以采用不同的過濾方法,最終降低誤報率。
導致車牌識別錯誤的原因有很多,常見的原因有:車位現場環境比如部分車位光線較暗,相機安裝角度針對車位較大等情況,會導致車牌號碼識別不準確;停放車輛前方的物體會遮擋車牌號碼,導致車牌號碼識別不完整;系統或者環境存在抖動時會導致一定幾率的車牌識別錯誤,此類錯誤往往無法事先預測準確的識別號碼,無法通過人工干預的方式避免。
實際識別的錯誤號碼存在不確定性,但是均與正確號碼相似,比如僅其中的一位存在錯誤。考慮到相似號碼占用車位的情況在現實中較為少見,在判斷車牌號碼是否授權號碼時并不需要車牌號碼完全相同,可以計算識別出車牌號碼與授權號碼的相似度,如果相似度滿足閾值條件,就認為兩個車牌號碼相同。計算車牌號碼的相似度可以通過計算兩個車牌號碼編輯距離的方式實現,如果編輯距離小于閾值,就認為兩個車牌號碼相同,可以過濾掉大部分識別錯誤的車牌號碼從而降低誤報率。
編輯距離是針對兩個字符串(例如英文字母或數字)的差異程度的量化量測[4-6],量測方式是看至少需要多少次的處理才能將一個字符串變成另一個字符串。編輯距離有幾種不同的定義,差異在可以對字符串進行的處理,本文使用了萊文斯坦距離和最長公共子序列兩種方式計算車牌號碼的相似度。
萊文斯坦距離(Levenshtein Distance),由俄羅斯科學家弗拉基米爾·萊文斯坦提出[5,6],指兩個字串之間由一個轉成另一個所需的最少編輯操作次數。允許的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。如果兩個車牌號碼的萊文斯坦距離較小,比如小于等于2,則可以認為兩個車牌號碼相似。萊文斯坦距離的計算方式參考下面說明:
如果分別用|a|和|b|表示a,b兩個字符串的長度,那么他們的萊文斯坦距離為leva,b(|a|, |b|),它符合:
1(ai≠bj)是一個指示函數(indicator function),當ai=bj時,其值為0,其他時候等于1。leva,b(i,j)表示a的前i個字符與b的前j個字符之間的萊文斯坦距離(i和j都是從1 開始的下標)。
匹配車牌號碼時,計算上報車牌號碼與每個授權車牌號碼的萊文斯坦距離,如果字符編輯距離小于閾值,則認為兩個號碼匹配,否則需要進一步判斷是否滿足其他過濾條件。
最長公共子序列(LCS)是一個在一個序列集合中(通常為兩個序列)用來查找所有序列中最長子序列的問題[7,8]。一個數列,如果分別是兩個或多個已知數列的子序列,且是所有符合此條件序列中最長的,則稱為已知序列的最長公共子序列。如果兩個車牌號碼的公共子序列足夠長,比如在7 位車牌號碼中公共子序列長度達到5 位,則兩個車牌號碼相似。其計算公式如下:
設Aa 和Bb 的最長公共子序列為Zz:
1)如果Aa=Bb 則Aa=Bb=Zz,Aa-1 和Bb-1 的最長公共子序列為Zz-1。
2)如果Aa ≠Bb 并且Aa ≠Zz,Aa-1 和Bb 的最長公共子序列為Zz。
3)如果Aa ≠Bb 并且Bb ≠Zz,Aa 和Bb-1 的最長公共子序列為Zz。
根據以上3 條可以使用動態規劃方式解決這個問題,設數組T[a][b]用于存儲最長公共子序列的情況,則T[a][b]的計算方式如下:
匹配車牌號碼時計算兩個車牌號碼的最長公共子序列長度,如果長度大于閾值,則認為兩個號碼匹配。如果小于閾值,則認為兩個車牌號碼不匹配。上報車牌號碼匹配任一授權車牌號碼時忽略告警,否則需要進一步判斷是否滿足其他過濾條件。
除了上述不確定的識別錯誤,還有一類由于車牌外形或者外部環境導致的識別錯誤。這類錯誤與實際的車牌號碼并不相似,無法通過號碼的相似度進行過濾。但是錯誤號碼相對穩定,是可以通過歷史數據進行預測的,可以人工干預對這類錯誤進行針對性的過濾。
車牌由于彎折或者輕微污損,比如部分車牌在撞擊過后產生變形,導致無法正確識別車牌號碼。在識別車牌號碼時可能與實際車牌號碼完全沒有相關性,這就導致業主車輛停放到車位上時,車輛被識別為非業主車輛,車位上方亮燈提示,并語音提示車主停放錯誤,影響業主體驗。在實際識別時,由于車牌的外形是穩定的,雖然號碼與實際號碼并不相關,但是也會表現為一組穩定的互相關聯的號碼。針對此類錯誤,初次識別時無法確認是否需要過濾,但是工作人員確認號碼是業主號碼識別錯誤后,允許手動標記為業主車輛,并記錄實際車牌號碼。后續再次識別到該車牌號碼時,管理后臺查找標記記錄確認為業主車輛及實際號碼,忽略告警。
為了便于尋找及管理車位,通常會在車位前方或者車位中噴涂車位號碼。在提取圖片進行車牌號碼識別時,由于空車位反光會存在一定的幾率把車位號識別為車牌號碼,此時識別出的車牌號碼一般會包含車位號。針對這一特點,可以對全部或者部分車位設置是否過濾車位號碼。如果選擇是,則在識別到占用事件時上報車牌號碼包含車位號碼,忽略告警。
除了車位反光,現場擺放的其他物體也有可能導致識別錯誤,通常會被識別為特定的一個或者一組號碼。這類錯誤需要人工確認后單獨配置過濾號碼,一旦配置后則在指定的車位對于指定的號碼進行告警過濾。
綜合運用上述降低車位占用告警誤報率的策略和方法,如表1 所示,在白天光線充足的情況下,車位占用告警正確率為98.7%;在白天陰雨天時,由于光線不足,車位占用告警正確率為97.6%;在夜間,由于光線不足,攝像頭補光不充分,車位占用告警正確率可達96.2%。配合人工干預,基本可以滿足智慧社區車位占用告警的實際需求。

表1 實際應用結果Table 1 Actual application results
本文針對車位占用告警系統中的識別錯誤提出了告警過濾的方法,針對環境或者系統引起的不確定錯誤通過計算車牌號碼相似度的方式進行過濾,并通過手動確認標記的方式過濾掉由于車牌號碼變形及污損、空車位反光、現場固定環境導致的識別錯誤,進一步提高降低錯誤告警比率。綜合車位占用告警的正確識別率達到98%,可以滿足智慧社區車位占用告警的實際需求,在實際工程應用中取得較好的效果。