機(jī)器學(xué)習(xí)實(shí)踐——人員越界識(shí)別(基于Aidlux+Yolov5實(shí)現(xiàn))

一依疼、人員越界識(shí)別背景描述

實(shí)際生活中某些場(chǎng)景下需要配合攝像頭自動(dòng)識(shí)別危險(xiǎn)區(qū)域痰腮,并在發(fā)現(xiàn)有人員闖入危險(xiǎn)區(qū)域(禁止進(jìn)入?yún)^(qū)域)時(shí)進(jìn)行報(bào)警,確保員工的人身安全律罢。

二膀值、算法目標(biāo)

識(shí)別指定區(qū)域是否有有人越過(guò)改區(qū)域棍丐,并進(jìn)行生成相應(yīng)報(bào)警邏輯。

三沧踏、Aidlux與yolov5簡(jiǎn)介

3.1?Aidlux平臺(tái)——一個(gè)跨平臺(tái)應(yīng)用的系統(tǒng)

Aidlux是基于ARM架構(gòu)的跨生態(tài)(Android/鴻蒙+Linux)一站式AIoT應(yīng)用開(kāi)發(fā)和部署平臺(tái)歌逢。

Aidlux可以進(jìn)行Python版本的AI模型開(kāi)發(fā)和移植,使得開(kāi)發(fā)者可以基于一臺(tái)安卓手機(jī)或者基于一臺(tái)AidBox邊緣設(shè)備進(jìn)行開(kāi)發(fā)翘狱,并且無(wú)縫銜接秘案,在此基礎(chǔ)上同時(shí)帶來(lái)原生Android和原生Linux使用體驗(yàn)。


即Linux上開(kāi)發(fā)的Python代碼潦匈,可以在安卓手機(jī)阱高、邊緣設(shè)備上轉(zhuǎn)換后使用。

一定程度上說(shuō)茬缩,Aidlux簡(jiǎn)化了Android系統(tǒng)設(shè)備上的算法應(yīng)用開(kāi)發(fā)赤惊。

常規(guī)的方式,應(yīng)用在手機(jī)Android時(shí)凰锡,需要將PC上編寫(xiě)的代碼荐捻,封裝成Android SO庫(kù)(C++)。經(jīng)過(guò)測(cè)試后寡夹,封裝JNI調(diào)用SO庫(kù)处面,最終在Android上使用Java調(diào)用JNI,最終再進(jìn)行測(cè)試發(fā)布菩掏』杲牵可以看到,這樣的流程需要一系列的工作人員參與智绸,比如C++野揪、Java、Python的工程師瞧栗。但是大多數(shù)算法人員可能會(huì)用Python更多一些斯稳,比如上面編寫(xiě)的整套算法。而Aidlux將其中的整個(gè)開(kāi)發(fā)流程迹恐,全部打通挣惰,通過(guò)Aidlux平臺(tái),可以將PC端編寫(xiě)的代碼殴边,快速應(yīng)用到Android系統(tǒng)上憎茂。


Aidlux內(nèi)部一方面內(nèi)置了多種深度學(xué)習(xí)框架,便于快速開(kāi)發(fā)锤岸。另外還對(duì)于多種算子進(jìn)行了優(yōu)化加速竖幔,很多算法的性能,也都能達(dá)到實(shí)時(shí)使用是偷。


目前使用Aidlux主要有兩種方式:

(1)邊緣設(shè)備的方式:阿加犀用高通芯片的S855拳氢,和S865制作了兩款邊緣設(shè)備募逞,一款提供7T算力,一款提供15T算力馋评。

(2)手機(jī)設(shè)備的方式:沒(méi)有邊緣設(shè)備的情況下凡辱,可以使用手機(jī)版本的Aidlux,嘗試邊緣設(shè)備的所有功能栗恩。

這里使用的是手機(jī)設(shè)備的方式透乾,通過(guò)下載安裝手機(jī)Aidlux的APP軟件即可。然后將開(kāi)發(fā)的算法通過(guò)Aidlux即可部署到手機(jī)段磕秤。(因?yàn)橹苯釉谑謾C(jī)上操作編程乳乌,較為麻煩,市咆,因此可以通過(guò)IP的方式汉操,直接映射到電腦上操作。具體操作方式將在后面文章另做詳述蒙兰,在此不做贅述)磷瘤。


3.2 yolov5

關(guān)于yolov5方面,江大白老師有做過(guò)yolo系列的相關(guān)內(nèi)容搜变,強(qiáng)烈推薦參考:

深入淺出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基礎(chǔ)知識(shí)完整講解

深入淺出Yolo系列之Yolov5核心基礎(chǔ)知識(shí)完整講解

四采缚、業(yè)務(wù)邏輯分析及算法實(shí)現(xiàn)

越界識(shí)別的功能實(shí)現(xiàn),主要包括人體目標(biāo)檢測(cè)挠他、人體追蹤及越界識(shí)別判斷三部分

4.1 行人目標(biāo)檢測(cè)

這一部分主要利用YOLOv5算法實(shí)現(xiàn)扳抽。

首先基于YOLOv5目標(biāo)檢測(cè)算法訓(xùn)練一個(gè)檢測(cè)行人(person)的權(quán)重person.pt。

訓(xùn)練得到的pt權(quán)重可用于在PC端進(jìn)行推理測(cè)試殖侵,但是要是在邊緣端Aidlux上進(jìn)行使用贸呢,需要將pt模型轉(zhuǎn)為tflite模型,再將tflite模型移植到Aidlux上使用拢军,并適當(dāng)修改對(duì)應(yīng)推理代碼楞陷,實(shí)現(xiàn)在Aidlux的推理。

(1)利用export.py文件實(shí)現(xiàn)模型轉(zhuǎn)化茉唉,主要修改其中的三個(gè)地方固蛾,如下所示:


(2)Aidlux視頻推理代碼

要將PC段yolov5的推理代碼應(yīng)用到Aidlux上,需要結(jié)合Aidlux平臺(tái)自身的一些專屬函數(shù)接口對(duì)代碼做適當(dāng)調(diào)整赌渣,主要包括三個(gè)部分:

a魏铅、加載相關(guān)的函數(shù)庫(kù)

b、模型初始化及加載

c坚芜、視頻讀取&模型推理代碼

效果圖示:

4.2 目標(biāo)追蹤

目標(biāo)追蹤的實(shí)現(xiàn)主要是在實(shí)現(xiàn)目標(biāo)檢測(cè)的前提下,補(bǔ)充目標(biāo)追蹤功能斜姥,即通過(guò)追蹤并繪制每個(gè)目標(biāo)的track_id信息實(shí)現(xiàn)鸿竖。主要實(shí)現(xiàn)代碼部分如下:


4.3 越界識(shí)別判斷

(1)越界監(jiān)測(cè)區(qū)域繪制

實(shí)現(xiàn)越界識(shí)別沧竟,即檢測(cè)某個(gè)感興趣區(qū)域,是否有人違規(guī)進(jìn)入缚忧。所以首先需要設(shè)置一個(gè)感興趣區(qū)域(監(jiān)測(cè)區(qū)域)悟泵,然后結(jié)合目標(biāo)追蹤判斷是否有人員闖入檢測(cè)區(qū)域內(nèi)。

代碼如下:

(2) 人體檢測(cè)監(jiān)測(cè)點(diǎn)調(diào)整

繪制好監(jiān)測(cè)區(qū)域后闪水,結(jié)合前面目標(biāo)檢測(cè)追蹤部分糕非,便可進(jìn)行越界識(shí)別判斷。這里需要注意的是在實(shí)際業(yè)務(wù)場(chǎng)景中球榆,通常判斷人體越界的點(diǎn)朽肥,主要用的是人體腳部的點(diǎn)。使用yolov5算法得到的是人物檢測(cè)框的四個(gè)點(diǎn)信息[x持钉,y衡招,w,h]每强,即目標(biāo)框的左上角點(diǎn)的x始腾,y坐標(biāo)和寬w、高h(yuǎn)空执,因此需要通過(guò)代碼浪箭,轉(zhuǎn)換成人體下方的點(diǎn),即[左上角點(diǎn)x+1/2*寬w辨绊,左上角點(diǎn)y+高h(yuǎn)]山林。轉(zhuǎn)換代碼如下:

(3) 人體狀態(tài)追蹤判斷

獲取了人體的坐標(biāo)信息,需要結(jié)合繪制的檢測(cè)區(qū)坐標(biāo)邢羔,判斷人體是否在監(jiān)測(cè)區(qū)域內(nèi)驼抹,并將將人體的狀態(tài)進(jìn)行區(qū)分。比如將人體在監(jiān)測(cè)區(qū)域內(nèi)設(shè)置為1拜鹤,不在監(jiān)測(cè)區(qū)域內(nèi)設(shè)置為-1框冀。所以代碼中需要判斷每個(gè)人的運(yùn)動(dòng)狀態(tài),將每個(gè)人運(yùn)動(dòng)軌跡中敏簿,每一幀在圖片上的狀態(tài)統(tǒng)計(jì)下來(lái)明也。

(4)越界行為判斷

基于上面對(duì)行人在視頻中每一幀的移動(dòng)軌跡中狀態(tài)的記錄,便可進(jìn)一步判斷行人是否越界惯裕。比如某個(gè)人當(dāng)前一幀的狀態(tài)是-1温数,后一幀的狀態(tài)變成1時(shí),說(shuō)明剛剛進(jìn)入越界區(qū)域蜻势,此時(shí)就將當(dāng)前的圖片進(jìn)行保存撑刺,留作告警記錄。代碼如下:

4.4 越界識(shí)別&系統(tǒng)告警

一般在實(shí)際應(yīng)用的項(xiàng)目業(yè)務(wù)系統(tǒng)中握玛,需要對(duì)最后檢測(cè)的報(bào)警信息進(jìn)行通知警告够傍,因此可進(jìn)一步將記錄的報(bào)警信息進(jìn)行相應(yīng)處理甫菠。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市冕屯,隨后出現(xiàn)的幾起案子寂诱,更是在濱河造成了極大的恐慌,老刑警劉巖安聘,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痰洒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浴韭,警方通過(guò)查閱死者的電腦和手機(jī)丘喻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)囱桨,“玉大人仓犬,你說(shuō)我怎么就攤上這事∩岢Γ” “怎么了搀继?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)翠语。 經(jīng)常有香客問(wèn)我叽躯,道長(zhǎng),這世上最難降的妖魔是什么肌括? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任点骑,我火速辦了婚禮,結(jié)果婚禮上谍夭,老公的妹妹穿的比我還像新娘黑滴。我一直安慰自己,他們只是感情好紧索,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布袁辈。 她就那樣靜靜地躺著,像睡著了一般珠漂。 火紅的嫁衣襯著肌膚如雪晚缩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天媳危,我揣著相機(jī)與錄音荞彼,去河邊找鬼。 笑死待笑,一個(gè)胖子當(dāng)著我的面吹牛饮怯,可吹牛的內(nèi)容都是我干的亡容。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼幅狮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起姿染,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤膀息,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后我纪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體慎宾,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年浅悉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趟据。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡术健,死狀恐怖汹碱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荞估,我是刑警寧澤咳促,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站勘伺,受9級(jí)特大地震影響跪腹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜飞醉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一冲茸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缅帘,春花似錦轴术、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至铃诬,卻和暖如春祭陷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背趣席。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工兵志, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宣肚。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓想罕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子按价,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 周末惭适,打開(kāi)衡水教育考試院公告:“目前尚在外省的考生需于考前7天前返衡,省內(nèi)市域外考生需考前3天前返衡” 該公告是2...
    彩蝶入夢(mèng)閱讀 273評(píng)論 0 4
  • 臨港新片區(qū)人才住房政策辦事指南 為促進(jìn)臨港新片區(qū)高質(zhì)量發(fā)展楼镐,聚焦區(qū)域發(fā)展需要和人才需求癞志,為新片區(qū)人才提供堅(jiān)強(qiáng)有力的...
    知產(chǎn)圈李老師閱讀 225評(píng)論 0 0
  • 自動(dòng)駕駛與雷達(dá)(二) 超分辨率測(cè)角方法——MUISC算法 姓名:張波; 學(xué)號(hào):22021211233框产; 學(xué)院:電子...
    365度的溫暖c閱讀 802評(píng)論 0 0
  • 劉潤(rùn)老師在《底層邏輯》中講到:藝術(shù)家給人類帶來(lái)自由凄杯。DNA在人體里面世代繁衍,它讓人類在不同情況下分泌不同的物質(zhì)秉宿,...
    夏雨Vivian閱讀 354評(píng)論 0 1
  • 新課伊始戒突,焦雅靜老師就首先提醒到: 同學(xué)們,今天學(xué)習(xí)的數(shù)學(xué)內(nèi)容不是很容易描睦,易錯(cuò)點(diǎn)多膊存,大家務(wù)必認(rèn)真聽(tīng)...
    千里馬會(huì)軍閱讀 229評(píng)論 0 0