[陸小慧 劉勇]
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,在掀起第三次人工智能熱潮的同時(shí),也使得計(jì)算機(jī)視覺技術(shù)在目標(biāo)分析,如車輛分析、人臉識(shí)別、人形分析等領(lǐng)域的應(yīng)用成為可能,進(jìn)一步提升了計(jì)算機(jī)視覺應(yīng)用產(chǎn)品的智能化特征。比如:基于車牌的自動(dòng)檢測(cè)和識(shí)別技術(shù)已經(jīng)替代了傳統(tǒng)的停車場(chǎng)出入管理系統(tǒng);人臉識(shí)別也已經(jīng)在金融等領(lǐng)域替代了傳統(tǒng)的身份認(rèn)證方式。
然而,基于深度學(xué)習(xí)的目標(biāo)(人臉、人形、車輛、車牌等)檢測(cè)和識(shí)別技術(shù)存在的一個(gè)缺陷就是對(duì)計(jì)算資源的能力要求非常高。對(duì)于簡(jiǎn)單的深度學(xué)習(xí)網(wǎng)絡(luò)模型計(jì)算,CPU 的時(shí)延可以接受,但是對(duì)復(fù)雜網(wǎng)絡(luò)模型的計(jì)算,CPU 計(jì)算效率極其低下,無(wú)法達(dá)到商用的實(shí)時(shí)性要求。GPU 和FPGA的計(jì)算性能遠(yuǎn)遠(yuǎn)超過(guò)CPU;然而,GPU 成本高昂,F(xiàn)PGA的算法移植實(shí)施周期較長(zhǎng),對(duì)研發(fā)人員的技能要求也比較高。如何高效、充分地利用計(jì)算機(jī)系統(tǒng)的計(jì)算資源,既要滿足商用中不同應(yīng)用場(chǎng)景的實(shí)時(shí)性要求,又要滿足用來(lái)運(yùn)行基于深度學(xué)習(xí)的網(wǎng)絡(luò)計(jì)算服務(wù),是智能視覺相關(guān)產(chǎn)品交付中面臨的一個(gè)重大的挑戰(zhàn)。
本文研究的目的在于,提供一種基于異構(gòu)硬件計(jì)算資源的深度學(xué)習(xí)智能視覺計(jì)算服務(wù)的調(diào)度系統(tǒng)及服務(wù)實(shí)現(xiàn)方法,以便針對(duì)不同應(yīng)用場(chǎng)景的要求、不同的深度學(xué)習(xí)計(jì)算服務(wù),提供滿足性能、時(shí)延和成本要求的綜合的系統(tǒng)部署和運(yùn)行方案。
本文研究采用圖1 所示技術(shù)方案,系統(tǒng)包括:
圖1 智能視覺服務(wù)系統(tǒng)示意圖
智能視覺服務(wù)管理引擎:根據(jù)基于深度學(xué)習(xí)的視覺服務(wù)計(jì)算復(fù)雜度、性能指標(biāo)、實(shí)現(xiàn)模式,來(lái)確定不同類型的服務(wù)是否能夠運(yùn)行在CPU、GPU、FPGA 等不同的異構(gòu)計(jì)算固件上。這些視覺計(jì)算服務(wù)包括但不限于人臉檢測(cè)、人臉特征計(jì)算、人體屬性識(shí)別、車輛識(shí)別、車牌識(shí)別、異常行為檢測(cè)等計(jì)算機(jī)智能視覺服務(wù)。
智能視覺應(yīng)用引擎:實(shí)現(xiàn)基于智能服務(wù)的業(yè)務(wù)應(yīng)用,結(jié)合業(yè)務(wù)場(chǎng)景,定義業(yè)務(wù)實(shí)現(xiàn)流程,通過(guò)對(duì)智能服務(wù)能力的調(diào)用來(lái)實(shí)現(xiàn)智能視覺應(yīng)用功能。
智能視覺服務(wù)調(diào)度引擎:根據(jù)不同的業(yè)務(wù)場(chǎng)景和業(yè)務(wù)性能指標(biāo)要求,將不同的業(yè)務(wù)能力請(qǐng)求下發(fā)到對(duì)應(yīng)的深度學(xué)習(xí)能力引擎上去完成計(jì)算。同時(shí),在批量服務(wù)計(jì)算場(chǎng)景下,可以根據(jù)視覺服務(wù)計(jì)算引擎的忙閑程度、響應(yīng)時(shí)間自適應(yīng)地調(diào)度服務(wù)計(jì)算請(qǐng)求。
智能視覺服務(wù)計(jì)算引擎:基于深度學(xué)習(xí)實(shí)現(xiàn)的服務(wù)能力引擎,支持運(yùn)行 在異構(gòu)計(jì)算單位CPU、GPU 和FPGA等固件之上??梢灾С滞环N深度學(xué)習(xí)服務(wù)能力以多實(shí)例方式同時(shí)運(yùn)行在不同的固件之上。
利用本系統(tǒng)方法的數(shù)據(jù)處理方法包括以下步驟:
步驟(1):智能視覺服務(wù)在異構(gòu)計(jì)算單元上的部署。
智能視覺服務(wù)管理引擎根據(jù)業(yè)務(wù)確定的指標(biāo)要求,結(jié)合各個(gè)視覺服務(wù)的計(jì)算性能指標(biāo),分別在CPU、GPU 和FPGA 上啟動(dòng)多個(gè)相同的或者不同的服務(wù)計(jì)算實(shí)例,并且確保內(nèi)存、顯存等計(jì)算資源可以支撐這些服務(wù)實(shí)例的運(yùn)行資源要求。
步驟(2):在智能視覺服務(wù)部署成功之后,智能視覺應(yīng)用引擎開始對(duì)外提供服務(wù),它負(fù)責(zé)接收業(yè)務(wù)請(qǐng)求,并結(jié)合業(yè)務(wù)場(chǎng)景進(jìn)行業(yè)務(wù)流程的編排和調(diào)度控制。
比如,對(duì)于智能視頻監(jiān)控場(chǎng)景,智能視覺應(yīng)用引擎需要在得到解碼后的視頻幀時(shí),先調(diào)用人臉檢測(cè)服務(wù),再通過(guò)人臉跟蹤算法實(shí)現(xiàn)人臉軌跡跟蹤,接著調(diào)用人臉特征計(jì)算服務(wù)獲取人臉特征值,最終調(diào)用人臉檢索服務(wù)定位人臉對(duì)應(yīng)的人的身份。
當(dāng)然,智能視覺應(yīng)用引擎在調(diào)用后端的智能服務(wù)時(shí),需要通過(guò)智能視覺服務(wù)調(diào)度引擎來(lái)確定將服務(wù)調(diào)用請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)異構(gòu)計(jì)算單元上部署的服務(wù)計(jì)算實(shí)例。
步驟(3):智能視覺服務(wù)調(diào)度引擎在接收到智能視覺應(yīng)用引擎的服務(wù)計(jì)算請(qǐng)求時(shí),根據(jù)該請(qǐng)求所要求的業(yè)務(wù)指標(biāo)(如時(shí)延許可度),結(jié)合各個(gè)異構(gòu)計(jì)算單元上運(yùn)行的服務(wù)實(shí)例計(jì)算能力及其忙閑程度,將服務(wù)計(jì)算請(qǐng)求調(diào)度到后端的智能視覺服務(wù)計(jì)算引擎上,運(yùn)行服務(wù)計(jì)算實(shí)例。
步驟(4):智能視覺服務(wù)計(jì)算引擎上運(yùn)行的服務(wù)計(jì)算實(shí)例,在接收到服務(wù)計(jì)算請(qǐng)求時(shí),完成相應(yīng)的服務(wù)計(jì)算。
視覺服務(wù)計(jì)算引擎需要定時(shí)將各個(gè)異構(gòu)計(jì)算單元的資源使用情況定時(shí)上報(bào)給智能視覺服務(wù)調(diào)度引擎,以便供智能視覺服務(wù)調(diào)度引擎去做服務(wù)調(diào)度決策。此外,智能視覺服務(wù)計(jì)算引擎還具備自動(dòng)的資源更新功能。由于智能視覺計(jì)算服務(wù)在處理不同大小的批量圖片計(jì)算請(qǐng)求之后,隨著時(shí)間的推移,不同的異構(gòu)計(jì)算單元內(nèi)會(huì)存在無(wú)效的資源占用情況,比如內(nèi)存和顯存,如果不采用有效的辦法及時(shí)處理,必將影響計(jì)算引擎的穩(wěn)定性和計(jì)算效率。
為此,本文系統(tǒng)中,實(shí)現(xiàn)了一個(gè)自動(dòng)的智能視覺服務(wù)計(jì)算引擎資源更新功能,當(dāng)檢測(cè)到異構(gòu)計(jì)算單元上的資源占用情況達(dá)到一定的閾值,或者經(jīng)過(guò)一定的時(shí)間間隔之后,計(jì)算引擎會(huì)分批將不同的服務(wù)計(jì)算實(shí)例進(jìn)行資源刷新,使得在不影響系統(tǒng)業(yè)務(wù)功能的情況下,及時(shí)釋放所占用的無(wú)效資源。
與現(xiàn)有技術(shù)相比較,本文系統(tǒng)支持同時(shí)利用異構(gòu)計(jì)算單元GPU、CPU、FPGA 等固件來(lái)運(yùn)行基于深度學(xué)習(xí)實(shí)現(xiàn)的智能視覺服務(wù),有效提升整個(gè)系統(tǒng)的運(yùn)行能力和運(yùn)行效率,也可以有效降低整個(gè)系統(tǒng)的硬件成本。
其次,本文實(shí)現(xiàn)的智能視覺應(yīng)用系統(tǒng),可以進(jìn)行精細(xì)化的智能視覺服務(wù)計(jì)算調(diào)度。可以根據(jù)業(yè)務(wù)場(chǎng)景及其時(shí)延要求,結(jié)合運(yùn)行在異構(gòu)計(jì)算單元上的不同智能視覺服務(wù)計(jì)算的性能指標(biāo),提供匹配的智能視覺計(jì)算實(shí)例為其服務(wù),既不影響用戶體驗(yàn),也能在資源受限的條件下提供最佳業(yè)務(wù)功能保障。
最后,本文提供的方法實(shí)現(xiàn)了異構(gòu)計(jì)算單元的服務(wù)資源更新機(jī)制,可以有效解決智能視覺服務(wù)計(jì)算長(zhǎng)時(shí)間運(yùn)行所產(chǎn)生的無(wú)線資源占用問(wèn)題,進(jìn)一步提升了系統(tǒng)的運(yùn)行效率和運(yùn)行穩(wěn)定性。
為了便于本領(lǐng)域研究人員的理解,下面結(jié)合智能視頻監(jiān)控場(chǎng)景實(shí)例對(duì)本文研究的系統(tǒng)和方法作進(jìn)一步的描述。
同時(shí),我們結(jié)合計(jì)算資源的處理能力和匹配情況,約定FPGA 運(yùn)用于人臉檢測(cè)服務(wù),約定CPU 運(yùn)用于人臉跟蹤服務(wù),約定GPU 運(yùn)用于計(jì)算量最大的人臉特征計(jì)算服務(wù)。當(dāng)然,這個(gè)是系統(tǒng)后臺(tái)可以進(jìn)行配置的,各計(jì)算資源也可以交叉使用,但不是最佳資源分配。
實(shí)例1:智能視頻監(jiān)控場(chǎng)景,下面結(jié)合圖2 對(duì)本系統(tǒng)數(shù)據(jù)處理方法進(jìn)行說(shuō)明。
(1)智能視覺服務(wù)管理引擎,起N 路FPGA 人臉檢測(cè)服務(wù);
(2)智能視覺服務(wù)管理引擎,起N 路CPU 人臉跟蹤服務(wù);
(3)智能視覺服務(wù)管理引擎,起N 路GPU 人臉特征計(jì)算服務(wù);
(4)智能視覺應(yīng)用引擎,解碼出視頻幀;
(5)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉檢測(cè)請(qǐng)求;
(6)智能視覺調(diào)度引擎,從N 路FPGA 人臉檢測(cè)服務(wù)中選一路空閑的做人臉檢測(cè);
(7)智能視覺服務(wù)計(jì)算引擎,選中的某一路FPGA人臉檢測(cè)服務(wù)進(jìn)行人臉檢測(cè)計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(8)智能視覺調(diào)度引擎,將檢測(cè)出的人臉結(jié)果返回給智能視覺應(yīng)用引擎;
(9)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉跟蹤請(qǐng)求;
(10)智能視覺調(diào)度引擎,從N 路CPU 人臉跟蹤服務(wù)中選一路空閑的做人臉跟蹤;
(11)智能視覺服務(wù)計(jì)算引擎,選中的某一路CPU人臉跟蹤服務(wù)進(jìn)行人臉跟蹤計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(12)智能視覺調(diào)度引擎,將跟蹤到的目標(biāo)結(jié)果返回給智能視覺應(yīng)用引擎;
(13)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉特征計(jì)算請(qǐng)求;
(14)智能視覺調(diào)度引擎,從N 路GPU 人臉特征計(jì)算服務(wù)中選一路空閑的人臉特征計(jì)算;
(15)智能視覺服務(wù)計(jì)算引擎,選中的某一路GPU人臉特征計(jì)算服務(wù)進(jìn)行人臉特征計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(16)智能視覺調(diào)度引擎,將計(jì)算的特征值結(jié)果返回給智能視覺應(yīng)用引擎;
(17)智能視覺應(yīng)用引擎,調(diào)用人臉檢索服務(wù)查找到對(duì)應(yīng)人的身份。
實(shí)例2:正臉檢測(cè)場(chǎng)景,下面結(jié)合圖3 對(duì)本系統(tǒng)數(shù)據(jù)處理方法進(jìn)行說(shuō)明。
圖3 正臉檢測(cè)場(chǎng)景
(1)智能視覺服務(wù)管理引擎,起N 路GPU 正臉檢測(cè)服務(wù);
(2)智能視覺服務(wù)管理引擎,起N 路CPU 正臉檢測(cè)服務(wù);
(3)智能視覺應(yīng)用引擎,解碼圖片;
(4)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起正臉檢測(cè)請(qǐng)求;
(5)智能視覺調(diào)度引擎,從N 路GPU 正臉檢測(cè)服務(wù)中選一路空閑的做正臉檢測(cè);
(6)智能視覺服務(wù)計(jì)算引擎,選中的某一路GPU 正臉檢測(cè)服務(wù)進(jìn)行正臉檢測(cè)計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(7)智能視覺調(diào)度引擎,將檢測(cè)出的正臉結(jié)果返回給智能視覺應(yīng)用引擎;
(8)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起正臉檢測(cè)請(qǐng)求;
(9)智能視覺調(diào)度引擎,從N 路CPU 正臉檢測(cè)服務(wù)中選一路空閑的做正臉檢測(cè);
(10)智能視覺服務(wù)計(jì)算引擎,選中的某一路CPU正臉檢測(cè)服務(wù)進(jìn)行正臉檢測(cè)計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(11)智能視覺調(diào)度引擎,將檢測(cè)出的正臉結(jié)果返回給智能視覺應(yīng)用引擎。
實(shí)例3:批量特征提取場(chǎng)景,下面結(jié)合圖4 對(duì)本系統(tǒng)數(shù)據(jù)處理方法進(jìn)行說(shuō)明。
圖4 批量特征提取場(chǎng)景
(1)智能視覺服務(wù)管理引擎,起N 路FPGA 人臉檢測(cè)服務(wù);
(2)智能視覺服務(wù)管理引擎,起N 路GPU 人臉特征計(jì)算服務(wù);
(3)智能視覺服務(wù)管理引擎,起N 路CPU 人臉特征計(jì)算服務(wù);
(4)智能視覺應(yīng)用引擎,解碼圖片;
(5)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉檢測(cè)請(qǐng)求;
(6)智能視覺調(diào)度引擎,從N 路FPGA 人臉檢測(cè)服務(wù)中選一路空閑的做人臉檢測(cè);
(7)智能視覺服務(wù)計(jì)算引擎,選中的某一路FPGA人臉檢測(cè)服務(wù)進(jìn)行人臉檢測(cè)計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(8)智能視覺調(diào)度引擎,將檢測(cè)出的人臉結(jié)果返回給智能視覺應(yīng)用引擎;
(9)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉特征計(jì)算請(qǐng)求;
(10)智能視覺調(diào)度引擎,從N 路GPU 人臉特征計(jì)算服務(wù)中選一路空閑的人臉特征計(jì)算;
(11)智能視覺服務(wù)計(jì)算引擎,選中的某一路GPU人臉特征計(jì)算服務(wù)進(jìn)行人臉特征計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(12)智能視覺調(diào)度引擎,將計(jì)算的特征值結(jié)果返回給智能視覺應(yīng)用引擎;
(13)智能視覺應(yīng)用引擎,存儲(chǔ)圖片的特征值;
(14)智能視覺應(yīng)用引擎,解碼圖片;
(15)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉檢測(cè)請(qǐng)求;
(16)智能視覺調(diào)度引擎,從N 路FPGA 人臉檢測(cè)服務(wù)中選一路空閑的做人臉檢測(cè);
(17)智能視覺服務(wù)計(jì)算引擎,選中的某一路FPGA人臉檢測(cè)服務(wù)進(jìn)行人臉檢測(cè)計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(18)智能視覺調(diào)度引擎,將檢測(cè)出的人臉結(jié)果返回給智能視覺應(yīng)用引擎;
(19)智能視覺應(yīng)用引擎,向智能視覺調(diào)度引擎發(fā)起人臉特征計(jì)算請(qǐng)求;
(20)智能視覺調(diào)度引擎,從N 路CPU 人臉特征計(jì)算服務(wù)中選一路空閑的人臉特征計(jì)算;
(21)智能視覺服務(wù)計(jì)算引擎,選中的某一路CPU人臉特征計(jì)算服務(wù)進(jìn)行人臉特征計(jì)算,將計(jì)算結(jié)果返回給智能視覺調(diào)度引擎。
(22)智能視覺調(diào)度引擎,將計(jì)算的特征值結(jié)果返回給智能視覺應(yīng)用引擎;
(23)智能視覺應(yīng)用引擎,存儲(chǔ)圖片的特征值。
實(shí)例4:資源刷新,在服務(wù)長(zhǎng)期運(yùn)行之后,在資源占用達(dá)到一定閾值或者達(dá)到一定運(yùn)行時(shí)間的情況下,自動(dòng)進(jìn)行資源刷新。下面結(jié)合圖5 對(duì)本系統(tǒng)數(shù)據(jù)處理方法進(jìn)行說(shuō)明。
圖5 資源刷新
(1)智能視覺服務(wù)管理引擎,起N 路FPGA 人臉檢測(cè)服務(wù);
(2)智能視覺服務(wù)管理引擎,起N 路CPU 人臉跟蹤服務(wù);
(3)智能視覺服務(wù)管理引擎,起N 路GPU 人臉特征計(jì)算服務(wù);
(4)智能視覺服務(wù)管理引擎,起N 路GPU 正臉檢測(cè)服務(wù);
(5)智能視覺服務(wù)管理引擎,起N 路CPU 正臉檢測(cè)服務(wù);
(6)智能視覺服務(wù)管理引擎,定時(shí)觸發(fā)清理FPGA上的服務(wù);
(7)智能視覺服務(wù)計(jì)算引擎,釋放空閑的FPGA 服務(wù)占用資源,重新加載服務(wù)。
(8)智能視覺服務(wù)管理引擎,監(jiān)控到FPGA 上資占用達(dá)到閾值,觸發(fā)清理FPGA 上的服務(wù);
(9)智能視覺服務(wù)計(jì)算引擎,釋放空閑的FPGA 服務(wù)占用資源,重新加載服務(wù)。
(10)智能視覺服務(wù)管理引擎,定時(shí)觸發(fā)清理CPU上的服務(wù);
(11)智能視覺服務(wù)計(jì)算引擎,釋放空閑的CPU 服務(wù)占用資源,重新加載服務(wù)。
(12)智能視覺服務(wù)管理引擎,監(jiān)控到CPU 上資占用達(dá)到閾值,觸發(fā)清理CPU 上的服務(wù);
(13)智能視覺服務(wù)計(jì)算引擎,釋放空閑的CPU 服務(wù)占用資源,重新加載服務(wù)。
(14)智能視覺服務(wù)管理引擎,定時(shí)觸發(fā)清理GPU上的服務(wù);
(15)智能視覺服務(wù)計(jì)算引擎,釋放空閑的GPU 服務(wù)占用資源,重新加載服務(wù)。
(16)智能視覺服務(wù)管理引擎,監(jiān)控到GPU 上資占用達(dá)到閾值,觸發(fā)清理FPGA 上的服務(wù);
(17)智能視覺服務(wù)計(jì)算引擎,釋放空閑的GPU 服務(wù)占用資源,重新加載服務(wù)。
實(shí)例5:密集請(qǐng)求服務(wù)場(chǎng)景說(shuō)明
本系統(tǒng)會(huì)根據(jù)已有資源使用情況,動(dòng)態(tài)調(diào)整計(jì)算單元,高速并行地處理密集計(jì)算請(qǐng)求。與現(xiàn)有技術(shù)相比較,本系統(tǒng)同時(shí)利用GPU、CPU、FPGA 等一切可利用的資源進(jìn)行計(jì)算來(lái)提高計(jì)算性能。
每次處理固定數(shù)量的圖片,對(duì)計(jì)算資源優(yōu)化處理,將每個(gè)計(jì)算單元所占用的資源量化可控,以便主進(jìn)程可以根據(jù)各資源的實(shí)際使用情況動(dòng)態(tài)調(diào)整對(duì)應(yīng)資源的圖片處理線程和服務(wù)計(jì)算模塊數(shù)。處理步驟如下:
(1)系統(tǒng)主進(jìn)程是調(diào)度單元,它讀取海量圖片目錄,生成待處理文件列表;
(2)主進(jìn)程根據(jù)GPU 剩余顯存大小,決定起多少個(gè)GPU 圖片處理線程,和對(duì)應(yīng)的GPU 服務(wù)計(jì)算模塊;
(3)主進(jìn)程根據(jù)CPU 空閑核心數(shù),決定起多少個(gè)CPU 圖片處理線程,和對(duì)應(yīng)的CPU 服務(wù)計(jì)算模塊;
(4)主進(jìn)程根據(jù)FPGA 空間可編程器件多少,決定起多少個(gè)FPGA 圖片處理線程,和對(duì)應(yīng)的FPGA 服務(wù)計(jì)算模塊;
(5)各圖片處理線程讀取固定數(shù)量的一批圖片數(shù)據(jù),送給對(duì)應(yīng)的服務(wù)計(jì)算模塊,收到服務(wù)器計(jì)算單元計(jì)算出的特征值進(jìn)行保存,再處理下一批圖片數(shù)據(jù)。以此循環(huán)處理,直至待處理文件全部處理完畢,通知對(duì)應(yīng)的服務(wù)計(jì)算模塊釋放計(jì)算資源;
(6)各服務(wù)計(jì)算模塊,加載各自的算法模型后,處理來(lái)自圖片處理線程的圖片數(shù)據(jù)。因?yàn)楹芏鄨D片的背景復(fù)雜,主體占比通常較小,所以為了減少背景對(duì)特征提取準(zhǔn)確性的干擾,需要將主體從圖片中分離出來(lái)。自然地,圖片特征提取的分為兩步,先用目標(biāo)檢測(cè)算法檢測(cè)出目標(biāo),然后用特征提取算法提取目標(biāo)特征。在目標(biāo)檢測(cè)前,對(duì)計(jì)算資源做優(yōu)化處理,以保證每個(gè)服務(wù)單元的資源占用是可控的。進(jìn)行特征計(jì)算后,將結(jié)果返回給圖片處理線程。如果收到圖片處理線程的計(jì)算完畢的通知,則釋放所占用的計(jì)算單元,并重新加載算法模型;
(7)主進(jìn)程在運(yùn)行過(guò)程中,監(jiān)控系統(tǒng)中的各資源的實(shí)際使用情況,動(dòng)態(tài)創(chuàng)建對(duì)應(yīng)資源的圖片處理線程和服務(wù)計(jì)算模塊。
本文研究并提供了一種智能視覺計(jì)算服務(wù)的調(diào)度系統(tǒng)和實(shí)現(xiàn)方法,是一種用于實(shí)時(shí)或離線狀態(tài)下進(jìn)行視頻圖像分析的圖像結(jié)構(gòu)化大數(shù)據(jù)實(shí)現(xiàn)方法和系統(tǒng)。本文研究并同時(shí)利用GPU、CPU、FPGA 等一切可利用的資源進(jìn)行計(jì)算來(lái)提高計(jì)算性能。每次處理固定數(shù)量的圖片,對(duì)計(jì)算資源優(yōu)化處理,將每個(gè)計(jì)算單元所占用的資源量化可控,以便主進(jìn)程可以根據(jù)各資源的實(shí)際使用情況動(dòng)態(tài)調(diào)整對(duì)應(yīng)資源的圖片處理線程和服務(wù)計(jì)算模塊數(shù)。本文提供的系統(tǒng)和實(shí)現(xiàn)方法可廣泛應(yīng)用于智能視頻監(jiān)控、視頻內(nèi)容分析、圖片檢索等多種應(yīng)用場(chǎng)景之中。