王夢梅
(江蘇師范大學(xué)科文學(xué)院,江蘇徐州 221116)
隨著攝像設(shè)備廣泛應(yīng)用于視頻監(jiān)控領(lǐng)域,目標(biāo)追蹤技術(shù)應(yīng)用需求不斷增大。目標(biāo)追蹤的主要目的是通過圖像序列尋找到標(biāo)記目標(biāo),目標(biāo)追蹤通過攝像設(shè)備獲取數(shù)字圖像信息,利用算法建立相對應(yīng)的模型,代替人腦,人眼解析處理追蹤目標(biāo)的數(shù)碼信息[1]。目前人圖像識別發(fā)展的技術(shù)能夠與數(shù)字監(jiān)控系統(tǒng)進(jìn)行融合,在高校實(shí)驗(yàn)室日常的業(yè)務(wù)處理之中,對于人流量信息,部署在視頻服務(wù)之中的算法能夠快速進(jìn)行比對分析,將人流量處理分析結(jié)果反饋到前端,從而提升整個高校實(shí)驗(yàn)室的處理效率。
對目標(biāo)跟蹤算法進(jìn)行分類后能夠發(fā)現(xiàn),其主要分為兩類,第一類是生成模型方法,第二類是判別模型方法。這兩類算法的共同點(diǎn)都在于能夠?qū)δ繕?biāo)對象模型進(jìn)行匹配與檢索操作;主要區(qū)別在于后者判別式跟蹤算法首先需要對目標(biāo)提取關(guān)鍵特征,后續(xù)對此目標(biāo)匹配的位置進(jìn)行搜索操作,而生成式跟蹤算法會針對新圖像幀進(jìn)行檢索,以此確定最匹配的位置[2]。
YOLOv5 是一種單階段目標(biāo)檢測算法,該算法在YOLOv4 的基礎(chǔ)上添加了一些新的改進(jìn)思路,使其速度與精度都得到了極大的性能提升。YOLOv5目標(biāo)檢測算法作為單階段目標(biāo)檢測算法,與同時期的其他算法相比,準(zhǔn)確率以及檢測速度都有一定優(yōu)勢,在特殊情況下整個處理量級相比YOLOv4 而言能夠小近九成,在模型的快速部署上具有極強(qiáng)優(yōu)勢[3]。所以本文選擇基于PyTorch 的YOLOv5 算法完成目標(biāo)檢測工作。YOLOv5 在結(jié)構(gòu)上接近上一代YOLOv4。在官方給出的代碼中,目標(biāo)檢測網(wǎng)絡(luò)的版本數(shù)量有四種,對應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)也分為四個部分,依次包括頭部輸出端、骨干段、輸入端與頸部端。
之前的版本YOLOv3和YOLOv4是在獨(dú)立的程序中通過聚類算法計(jì)算錨點(diǎn)框大小。YOLOv5的創(chuàng)新在于輸入端中加入了自適應(yīng)錨框計(jì)算。YOLOv5是將錨框的計(jì)算嵌入到訓(xùn)練中,不再通過獨(dú)立程序計(jì)算錨點(diǎn)框,整個預(yù)測框的輸出經(jīng)過設(shè)定好的錨框,通過Loss函數(shù)完成與真值之間的對比計(jì)算,后續(xù)需要進(jìn)行更新操作,從而不斷更新錨點(diǎn)框大小。通過這種方法,YOLOv5 能夠進(jìn)行自適應(yīng)的計(jì)算操作,此操作主要在不同訓(xùn)練集上進(jìn)行,以此獲取最佳的錨框值,通過算法中的自適應(yīng)處理使得圖片縮放后要填充的黑邊,避免了信息冗余,計(jì)算量大大減少,提升了推理速度,即目標(biāo)檢測速度更快[4]。
對于視頻圖像數(shù)據(jù)而言,采用卡爾曼濾波進(jìn)行分析與處理之后,能夠得到運(yùn)動目標(biāo)的預(yù)測軌跡邊界框[6]。之后結(jié)合目標(biāo)檢測器的分析,能夠?qū)㈩A(yù)測的邊界框與檢測進(jìn)行數(shù)據(jù)信息的關(guān)聯(lián)處理,若檢測數(shù)據(jù)與預(yù)測的邊界框保持一致,此時需要將更新預(yù)測結(jié)果,之后需要對下一視頻幀進(jìn)行跟蹤處理,以此反復(fù)操作完成整個邊界框的預(yù)測與更新操作。
圖像處理是目標(biāo)檢測的基礎(chǔ)與關(guān)鍵,由于計(jì)算機(jī)無法通過人類的視角觀察和處理事物的圖像,所以需要將圖片進(jìn)行一定加工處理從而使計(jì)算機(jī)更好地理解,后續(xù)對圖像進(jìn)行灰度化、縮放、歸一化等處理,處理之后使得圖片改善圖像的視覺效果,轉(zhuǎn)換為更適合于人或機(jī)器分析處理的形式;突出對人或機(jī)器分析有意義的信息并抑制無用信息,提高圖像的使用價值。
對高校實(shí)驗(yàn)室監(jiān)控視頻的圖像進(jìn)行處理之后,需要綜合考慮清晰度與平滑度,以此完成圖像大小的調(diào)整。對圖像進(jìn)行縮小操作的時候,此時圖像的清晰度與平滑度會得到增強(qiáng),反之圖像大小增加之后,對應(yīng)可見度雖然會增高,但是其清晰度與平滑度會降低。
對圖像縮放與灰度化操作之后,后續(xù)需要進(jìn)行歸一化處理。整個處理過程需要遵循一系列的標(biāo)準(zhǔn),從而完成圖像的轉(zhuǎn)化處理,最后獲取歸一化的圖像。在歸一化處理中,需要將原始圖像進(jìn)行多層次處理,每一次處理獲取相應(yīng)副本的圖像。在這一系列變換之中,采用圖像的不變矩來對參數(shù)進(jìn)行處理,以此消除其他變換函數(shù)的影響,從而完成原始圖像的處理,獲取歸一化的圖像。歸一化圖像是對應(yīng)唯一標(biāo)準(zhǔn)形式的圖像,再進(jìn)行縮放、平移與旋轉(zhuǎn)等操作,此時整個圖像都具備不變的特性。在整個歸一化處理過程之中,需要將旋轉(zhuǎn)、縮放、坐標(biāo)與x-shearing四個方面進(jìn)行歸一化操作。通過圖像歸一化的處理,能夠確定圖像之中的不變量,使得圖像能夠抵御幾何變換的處理。
由于圖像的預(yù)處理工作已經(jīng)完成得到了統(tǒng)一的輸入圖像,在輸入端的主要工作是將處理好的圖像進(jìn)行訓(xùn)練,以此豐富數(shù)據(jù)集,提高效率。隨后通過自適應(yīng)錨框計(jì)算,在進(jìn)行交叉比較計(jì)算時候,需要將真實(shí)框與預(yù)測框進(jìn)行對比分析,以此完成偏移量的計(jì)算,最后通過反向迭代計(jì)算之后,獲取最匹配數(shù)據(jù)集的錨框。
在骨干端中主干網(wǎng)絡(luò)由Focus結(jié)構(gòu)和CSP結(jié)構(gòu)組成。Focus結(jié)構(gòu)負(fù)責(zé)在圖像進(jìn)入主干網(wǎng)絡(luò)之前對圖像進(jìn)行切片,之后將數(shù)據(jù)信息進(jìn)行切分處理,獲取的數(shù)量是4份,采樣的數(shù)據(jù)相當(dāng)于這份數(shù)據(jù)信息的二分之一,然后縱向通道完成拼接并進(jìn)行卷積運(yùn)算。對于YOLOv5s算法來說,原始數(shù)據(jù)錄入的尺寸為640×640×3,之后需要進(jìn)行到Focus 結(jié)構(gòu)進(jìn)行相應(yīng)的處理,處理結(jié)果獲取相應(yīng)的特征圖,特征圖尺寸為320×320×12,接著需要進(jìn)行卷積運(yùn)算,最終獲取到對應(yīng)卷積核的特征圖,對應(yīng)尺寸為320×320×32。在特征生成部分,則沿用YOLOv3的SPP網(wǎng)絡(luò)來完成。整個算法的具體處理過程如圖1所示。
圖1 YOLOv5目標(biāo)檢測算法流程圖
如圖1 所示,在整個目標(biāo)檢測算法處理中,整個SPP 處理結(jié)構(gòu)中采用的運(yùn)算方式為最大值池化運(yùn)算,通過此計(jì)算的目標(biāo)是完成信息的提取操作,同時將區(qū)域內(nèi)部的信息進(jìn)行壓縮,最重要的是通過池化運(yùn)算確定整個尺度的不變性,因此在對池化運(yùn)算過程進(jìn)行處理的時候,需要減少丟失特征圖中的映射信息,簡化運(yùn)算過程。
許多國際爭端的產(chǎn)生都是起源于不同類型法律的交叉。在現(xiàn)有國際投資法和文化遺產(chǎn)法理論基礎(chǔ)上,筆者認(rèn)為,需要回溯考察國家對于全球化市場的貿(mào)易規(guī)制層次,并通過引入全球多邊貿(mào)易體制的規(guī)制模式,以此為理論依據(jù)構(gòu)建國際投資爭端中文化遺產(chǎn)保護(hù)的規(guī)制模式,為在國際投資糾紛中更為有效地保護(hù)文化遺產(chǎn)提供制度選擇。
對于Deep Sort 算法的前身而言,主要應(yīng)用的是Sort算法,此算法采用匈牙利算法與卡爾曼濾波算法,以此提升多目標(biāo)跟蹤的處理效率,此方法基于Faster R-CNN 方法進(jìn)行目標(biāo)追蹤處理。因此對于Deep-SORT 算法,整個處理的核心同Sort 算法一樣是匈牙利算法、卡爾曼濾波。
在對多目標(biāo)進(jìn)行跟蹤處理常用的算法為卡爾曼濾波算法,此算法具備較好的容錯能力,能夠?qū)Σ粶?zhǔn)確的觀測值及含有噪聲的數(shù)據(jù)參數(shù)進(jìn)行預(yù)測,從而完成狀態(tài)的最優(yōu)估計(jì)業(yè)務(wù)的處理。其次是由于卡爾曼濾波算法的預(yù)測步驟較為全面,能夠滿足對動態(tài)目標(biāo)系統(tǒng)狀態(tài)值的最優(yōu)估計(jì)。卡爾曼濾波算法在通過目標(biāo)當(dāng)前的運(yùn)動軌跡可以在目標(biāo)跟蹤中預(yù)測其未來狀態(tài),所以在DeepSORT算法中,卡爾曼濾波是其不可或缺的重要部分。
在整個卡爾曼濾波算法的處理之中,核心工作分為兩個方面:第一個是預(yù)測,第二個是更新。針對目標(biāo)物體的運(yùn)動狀態(tài)而言,算法初步將其分為多個正態(tài)分布的向量,總體數(shù)量為8個。結(jié)合上一幀視頻之中的速度、目標(biāo)框這些參數(shù)信息,能夠?qū)σ苿幽繕?biāo)進(jìn)行預(yù)測,確定當(dāng)前幀的速度與目標(biāo)框位置;對上述參數(shù)進(jìn)行更新,之后對觀測值、預(yù)測值進(jìn)行線性加權(quán)處理,以此確定系統(tǒng)預(yù)測的狀態(tài)。
在整個算法的處理之中,評價指標(biāo)主要是用于評估跟蹤器在不同參數(shù)上的性能的框架,包括評估對象檢測、定位和跟蹤的性能。目前常用的指標(biāo)類型包括多目標(biāo)跟蹤精度(MOTP)與多目標(biāo)跟蹤精度(MOTA),這些指標(biāo)有助于評估跟蹤器的整體優(yōu)勢并判斷其總體性能。
在整個高校人流量檢測與預(yù)警之中,主要基于MOTA 評估算法性能,以此確定跟蹤器的準(zhǔn)確度,MOTA(多目標(biāo)跟蹤準(zhǔn)確度)計(jì)算公式為:
其中,F(xiàn)N是誤報(bào)的數(shù)量,F(xiàn)P是誤報(bào)的數(shù)量,IDS是時間t的身份轉(zhuǎn)換數(shù)量,GT是基本事實(shí)。
在基于YOLOv5+DeepSORT的實(shí)驗(yàn)室監(jiān)控視頻人流量檢測及預(yù)警研究之中,主要的算法處理步驟包括:
1)檢測
這是跟蹤模塊的第一步,在此步驟中,對象檢測器檢測幀中要跟蹤的對象。然后將這些檢測傳遞到下一步,主要采用YOLO 算法的檢測器。
2)估計(jì)
在這一步中,將檢測從當(dāng)前幀傳播到下一幀,使用恒速模型估計(jì)下一幀中目標(biāo)的位置。當(dāng)檢測與目標(biāo)相關(guān)聯(lián)時,檢測到的邊界框用于更新目標(biāo)狀態(tài),其中速度分量通過卡爾曼濾波器框架得到最優(yōu)解。
3)數(shù)據(jù)關(guān)聯(lián)
現(xiàn)在有了目標(biāo)邊界框和檢測到的邊界框。因此,成本矩陣被計(jì)算為每個檢測與來自現(xiàn)有目標(biāo)的所有預(yù)測邊界框之間的交并比(IOU)距離。分配是使用匈牙利算法優(yōu)化解決的。如果檢測和目標(biāo)的IOU 小于稱為IOUmin 的某個閾值,則該分配被拒絕。該技術(shù)解決了遮擋問題并有助于維護(hù)ID。
4)跟蹤目標(biāo)ID的創(chuàng)建與刪除
該模塊負(fù)責(zé)ID的創(chuàng)建和刪除,根據(jù)IOUmin 創(chuàng)建和銷毀唯一身份。如果檢測和目標(biāo)的重疊小于IOUmin,則表示未跟蹤目標(biāo)。如果沒有為TLost 幀檢測到軌道,則會終止軌道,然后可以指定TLost 的幀數(shù)。如果一個對象重新出現(xiàn),跟蹤將隱含地在一個新的身份下恢復(fù)。
5)YOLOv5算法實(shí)現(xiàn)
通過YOLOv5算法存儲庫完成訪問功能和預(yù)訓(xùn)練的權(quán)重的計(jì)算。
在具體高校實(shí)驗(yàn)室視頻數(shù)據(jù)信息的分析之中,對視頻分辨率設(shè)置為1920×1080。同時完成處理腳本參數(shù)的設(shè)置,包括:
--seqmap:指定要進(jìn)行評估的視頻文件名。
--track:指定跟蹤結(jié)果文件夾的路徑。
--gt:指定ground truth文件路徑。
對7 天的高校實(shí)驗(yàn)室人員流量進(jìn)行實(shí)際分析,對比結(jié)果如表1所示。
表1 實(shí)驗(yàn)室人流量結(jié)果分析表
從表1 能夠看出,整個計(jì)算準(zhǔn)確率在98%以上,符合業(yè)務(wù)處理的需要。
對于實(shí)驗(yàn)室監(jiān)控視頻人流量檢測及預(yù)警研究而言,本文主要采用YOLOv5+DeepSORT 的算法共同進(jìn)行處理,確定算法的主要工作場景與工作業(yè)務(wù),圍繞需求分析的內(nèi)容,第一步需要進(jìn)行技術(shù)選型工作,目前經(jīng)過技術(shù)分析采用深度學(xué)習(xí)框架進(jìn)行,主要原因在于此技術(shù)具備良好的安全性與開源性特點(diǎn),后續(xù)根據(jù)系統(tǒng)處理需要進(jìn)行整個系統(tǒng)的可維護(hù)性方面的升級與優(yōu)化工作。
在整個業(yè)務(wù)分析的基礎(chǔ)上,對YOLOv5+deepsort的算法處理過程進(jìn)行闡述,按照標(biāo)準(zhǔn)化的設(shè)計(jì)方式對算法進(jìn)行實(shí)現(xiàn),之后需要測試編碼實(shí)現(xiàn)的功能。整個算法的實(shí)現(xiàn)過程滿足了高校實(shí)驗(yàn)室的處理需要,后面主要的工作就是對系統(tǒng)的處理性能、安全性等進(jìn)行性能判斷與分析。