一、功能介紹
對於輸入的一張車載監控圖片(可正常解碼,且長寬比適宜),識別圖像中是否有人體(駕駛員),若檢測到至少1個人體,則進一步識別屬性行為,可識別使用手機、抽菸、未系安全帶、雙手離開方向盤、視線未朝前方5種典型行為姿態。
圖片質量要求:
1、服務只適用於車載司機場景,請使用駕駛室的真實監控圖片測試,勿用網圖、非車載場景的普通監控圖片、或者乘客的監控圖片測試,否則效果不具備代表性。
2、車內攝像頭硬體選型無特殊要求,解析度建議720p以上,但更低解析度的圖片也能識別,只是效果可能有差異。
3、車內攝像頭部署方案建議:儘可能拍全駕駛員的身體,並充分考慮背光、角度、方向盤遮擋等因素。
4、服務適用於夜間紅外監控圖片,識別效果跟可見光圖片相比可能略微有差異。
5、圖片主體內容清晰可見,模糊、駕駛員遮擋嚴重、光線暗等情況下,識別效果肯定不理想。
具體功能說明,請參考官方說明文檔(駕駛行為分析):https://ai.baidu.com/docs#/Body-API/fd34bf01
二、應用場景
1、營運車輛駕駛監測針對計程車、客車、公交車、貨車等各類營運車輛,實時監控車內情況,識別駕駛員抽菸、使用手機、未系安全帶等危險行為,及時預警,降低事故發生率,保障人身財產安全。2、社交內容分析審核汽車類論壇、社區平臺,對配圖庫以及用戶上傳的UGC圖片進行分析識別,自動過濾出涉及危險駕駛行為的不良圖片,有效減少人力成本並降低業務違規風險。
三、使用攻略
說明:本文採用C# 語言,開發環境為.Net Core 2.1,採用在線API接口方式實現。
(1)、登陸 百度智能雲-管理中心 創建 「人體分析」應用,獲取 「API Key 」和 「Secret Key」:https://console.bce.baidu.com/ai/?_=1566223151105&fromai=1#/ai/body/overview/index
(2)、根據 API Key 和 Secret Key 獲取 AccessToken。
(3)、調用API接口獲取識別結果
1、在Startup.cs 文件 的 Configure(IApplicationBuilder app, IHostingEnvironment env) 方法中開啟虛擬目錄映射功能:
2、 建立BodySearch.cshtml文件
2.1前臺代碼
由於html代碼無法原生顯示,只能簡單說明一下:
主要是一個form表單,需要設置屬性enctype="multipart/form-data",否則無法上傳圖片;
form表單裡面有兩個控制項:
一個Input:type="file",asp-for="FileUpload" ,上傳圖片用;
一個Input:type="submit",asp-page-handler="DriverBehavior" ,提交並返回識別結果。
一個img:src="@Model.curPath",顯示識別的圖片。
最後顯示後臺 msg 字符串列表信息。
2.2 後臺代碼
四、效果測試
1、頁面:
2、識別結果:
2.1
2.2
2.3
2.4
2.5
四、測試結果及建議
從上圖中測試結果可知,百度的駕駛行為分析整體識別效果還是不錯的,可以比較準確的識別使用手機、抽菸、未系安全帶、雙手離開方向盤、視線未朝前方5種典型行為姿態。另外,可以根據不同的駕駛場景/要求,設定不同的閾值,從而達到不同的識別要求。
可以結合【百度語音】技術,採取語音提醒等預警方式,提醒正在駕駛的司機注意自己的不好的駕駛行為,及時預警,可以有效降低事故發生率,保證生命財產安全。
可以結合【人體檢測和屬性識別】技術,識別車內的人員數量,根據設定的閾值判斷車輛是否超載,並根據超載嚴重程序進行不同的預警。
如若能夠識別司機是否疲勞駕駛、是否處於情緒不穩定的狀態,並給出相應的預警提醒就更好了。
不過,個人覺得,最關鍵的,是需要將危險行駛行為識別跟交警部門進行數據互通,及時上傳司機的危險駕駛行為,並根據司機危險形式行為的嚴重程度,做出相應的懲罰,這樣才能真正有效減少事故發生率,因為其實司機能夠考取駕駛證,說明他/她心裡是十分清楚自己的行為是否是危險駕駛行為,但是抱著僥倖心理,所以才會做出危險駕駛行為的,漸漸的讓危險駕駛行為變成了一種常態,單純的預警實際效果是比較差的。