剖析廣州「開四停四」交通限行的實現技術

2022-07-03 10:30:11 字數 2458 閱讀 9375

本文由frank 發表於雲+社群專欄

為緩解廣州城區的道路交通緊張狀況,廣州已於2023年7月1日起進行管控區域的「外地牌車」實施「開四停四」管理措施通行規則,執法部門已於8月1日起正式依據規則進行非廣州市籍車輛通行的拍攝取證工作。今天我們就從技術的角度,來剖析一下如何技術上實現「開四停四」的判定執法。

整個「開四停四」限行判定系統主要涉及三大功能模組:

圖1:「開四停四」限行判定系統主要模組

一、電子警察影像採集及儲存

涉及到廣州的外地車牌「開四停四」限行,由於是新法規,這裡很大可能是一整套專門的拍攝採集系統,布局在管控區域內。據網上資訊披露,廣州2018-7-10新增啟用 「170」套裝置用於「開四停四」的說法。不過理論上,任何乙個交通監控攝像頭都可採集用於「開四停四」資料分析處理的影像資料。

由於這塊技術最成熟,我們這裡只列出技術架構圖(見下圖:電子卡口設定示意圖及電子「卡口」抓拍系統架構):

圖2-1:電子卡口設定示意圖

圖2-2:電子「卡口」抓拍系統架構

二、外地車牌識別入庫

圖3:車牌識別系統示意圖

關於車牌識別的程式設計**(python)實現,可以參考文章《用paddlepaddle進行車牌識別》:

從伺服器上傳到 cos 物件儲存後,您可以通過 ti 排程 cpu 和 hpc 集群對資料進行裁剪、格式轉換等資料預處理;接下來採用 faster r-cnn 或其他演算法進行圖象識別的模型訓練,並優化引數直至最優;訓練完畢的模型即可用於其他的影象識別**,以判斷影象物品的基本屬性。

三、違法識別判定

1、符合條件的通行進行編碼

首先,我們先要對符合外地車通行的措施與條件進行編碼。廣州外地車限行的措施見下圖所示:

圖5:「開四停四」管理措施

如果我們將通行標識為「1」,停駛標識為「0」,依圖我們可以得出合規的通行標識碼有8種:

這8種符合條件的bitmap通行碼,可以大大減少我們判定的複雜性。

2、記錄跟蹤外地車在管制區域內的行駛

在管制區域內任一點拍攝識別外地車(非粵a牌車輛),即入庫1條uin為車牌號的記錄addtracerec到traceinfotable表中。當天再有同一輛車的資訊不再入庫。顯然,記錄必須包括有欄位-標識串flagstr,還可以有時間timestamp、違法標記isillegal等字段。首次寫入時:flagstr置為1。

第二天開始,拍攝到有記錄的外地車牌,即update其標識串欄位:flagstr=flagstr.』1』;

另外,還需要起乙個定時任務(如每天23:59:00):對於之前已有記錄,但其他該天未拍攝到的,進行標識串字元補齊,flagstr=flagstr.』0』

3、外地車限行違法判定

使用定時任務來完成(如每天00:00:00);針對flagstr.length>=5,執行判定,判定條件:

1)是否滿足「停四」,是則清除記錄;

if 『0000』 in flagstr:

//flagstr=『』

//isillegal=0

deletetracerec() //清除traceinfotable中記錄

2)在上述1)的條件下,判斷是否滿足「開四」,不是則違法

else:

if flagstr not in (11110,11000,11100,10100,10010,10110,11010,111100,111000,101000,100100,101100,110100,1111000,1001000,1011000,1101000):

isillegal=1

addillegalrec() //在違法資訊illegalinfotable中增加1條記錄

sendbill() //傳送違法罰單

​ flagstr=flagstr[1:] //截去第1位標識串

endif

endif

以上,為大家剖析了一種「開四停四」交通限行管理的實現技術方法,希望對大家解決實際場景問題時如何應用技術有所幫助。

ai開發的語言要求?

教你快速搭建一場發布會直播方案

海量技術實踐經驗,盡在雲加社群!

遊戲引擎剖析(四)

第4部份 模型與動畫,細節級別 角色建模與動畫 你的角色模型在螢幕上看起來怎麼樣,怎樣容易建立它們,紋理,以及動畫對於現代遊戲試圖完成的 消除不可信 因素來說至關重要。角色模型系統逐漸變得複雜起來,包括較高的多邊形數量模型,和讓模型在螢幕上移動的更好方式。如今你需要乙個骨骼模型系統,有骨架和網格細節...

遊戲引擎剖析(四)

第4部份 模型與動畫,細節級別 角色建模與動畫 你的角色模型在螢幕上看起來怎麼樣,怎樣容易建立它們,紋理,以及動畫對於現代遊戲試圖完成的 消除不可信 因素來說至關重要。角色模型系統逐漸變得複雜起來,包括較高的多邊形數量模型,和讓模型在螢幕上移動的更好方式。如今你需要乙個骨骼模型系統,有骨架和網格細節...

執行緒詳細剖析(四)

摘自 c 多核程式設計 6.3 設定執行緒屬性 存在一些可用來確定執行緒上下文的關於執行緒的資訊。這些資訊用於重建執行緒的環境。令對等執行緒相互之間產生區別的是id 定義執行緒狀態的暫存器組 優先順序和它的棧。這些屬性使得執行緒有了自己的身份。posix執行緒庫定義了執行緒屬性物件 attribut...