本發(fā)明涉及人工智能領(lǐng)域,具體涉及一種目標(biāo)跟蹤方法及裝置。
背景技術(shù):
因人臉檢測(cè)的速度較慢,跟蹤的速度較快,在實(shí)時(shí)人臉識(shí)別系統(tǒng)中,往往只抽取來(lái)自攝像機(jī)的部分幀的圖像進(jìn)行人臉檢測(cè),在其他幀的圖像上對(duì)檢測(cè)到的目標(biāo)作跟蹤,在保證實(shí)時(shí)的前提下,可使得系統(tǒng)盡量不出現(xiàn)人臉的漏檢,并將同一人所檢測(cè)到的不同人臉圖像作為同一個(gè)目標(biāo)進(jìn)行存儲(chǔ)。對(duì)每個(gè)監(jiān)控范圍內(nèi)的人員,可選取一張或者少量?jī)?yōu)質(zhì)人臉圖像傳入后臺(tái)處理,防止全部檢測(cè)到的人臉都傳到后臺(tái),增加計(jì)算開(kāi)銷。
目前為了實(shí)現(xiàn)目標(biāo)跟蹤,主要基于光流跟蹤算法來(lái)實(shí)現(xiàn)。較為流行的是使用雙向光流來(lái)保證跟蹤的可靠性,雖然可靠性增加了,但計(jì)算耗時(shí)較多。并且光流跟蹤本身在幀率較高時(shí)(如25fps),對(duì)遮擋不敏感,經(jīng)常會(huì)出現(xiàn)人流交叉穿行導(dǎo)致的跟蹤框漂移的問(wèn)題,當(dāng)跟蹤框漂移后,人臉框也很容易與跟蹤框錯(cuò)配,導(dǎo)致目標(biāo)跟蹤準(zhǔn)確度低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種目標(biāo)跟蹤方法及裝置,以期可以提高目標(biāo)跟蹤速度與準(zhǔn)確度。
第一方面,本發(fā)明實(shí)施例提供一種目標(biāo)跟蹤方法,包括:
獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;
基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);
利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);
基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
第二方面,本發(fā)明實(shí)施例提供一種目標(biāo)跟蹤方法裝置,包括:
獲取模塊,用于獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;
確定模塊,用于基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);
檢測(cè)模塊,用于利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);
更新模塊,用于基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
可以看出,本發(fā)明實(shí)施例所提供的技術(shù)方案中,獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。本發(fā)明實(shí)施例通過(guò)基于匈牙利算法將目標(biāo)跟蹤框與目標(biāo)對(duì)象框進(jìn)行匹配以更新預(yù)設(shè)目標(biāo)跟蹤框集合,從而使得預(yù)設(shè)目標(biāo)跟蹤框能根據(jù)目標(biāo)對(duì)象進(jìn)行更新,提高目標(biāo)跟蹤準(zhǔn)確率。
進(jìn)一步的,通過(guò)使用單向光流跟蹤算法,減少了計(jì)算開(kāi)銷,提高目標(biāo)跟蹤效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤方法的第一實(shí)施例流程示意圖;
圖2示出了本發(fā)明實(shí)施例提供的一種基于光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤的流程示意圖;
圖3是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤方法的第二實(shí)施例流程示意圖;
圖4是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤裝置的第一實(shí)施例的結(jié)構(gòu)示意圖;
圖5示出了本發(fā)明實(shí)施例提供的一種確定模塊的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤裝置的第二實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種目標(biāo)跟蹤方法及裝置,以期可以提高目標(biāo)跟蹤速度與準(zhǔn)確度。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”和“第三”等是用于區(qū)別不同對(duì)象,而非用于描述特定順序。此外,術(shù)語(yǔ)“包括”以及它們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒(méi)有限定于已列出的步驟或單元,而是可選地還包括沒(méi)有列出的步驟或單元,或可選地還包括對(duì)于這些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤方法,包括:
獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
參見(jiàn)圖1,圖1是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤方法的第一實(shí)施例流程示意圖。如圖1所示,本發(fā)明實(shí)施例提供的目標(biāo)跟蹤方法包括以下步驟:
S101、獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象。
其中,目標(biāo)圖像可以是指從視頻流中獲取到的各幀圖像,優(yōu)選地,該圖像包括人臉的圖像。目標(biāo)對(duì)象是指該目標(biāo)圖像中需要關(guān)注的特征,例如,若該目標(biāo)圖像為人臉圖像,該目標(biāo)對(duì)象可以為人臉。
在本發(fā)明實(shí)施例中,通過(guò)在目標(biāo)區(qū)域或位置安裝攝像頭來(lái)獲取視頻流,再對(duì)該視頻流進(jìn)行解碼,以從該視頻流中獲取一幀幀的視頻圖像,也即目標(biāo)圖像,再對(duì)該目標(biāo)圖像進(jìn)行圖像處理。
在本發(fā)明實(shí)施例中,可以在小區(qū)門(mén)口、學(xué)校門(mén)口、進(jìn)出關(guān)口等位置安裝該攝像頭。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,若為了統(tǒng)計(jì)某一關(guān)口的人數(shù)量,可以在關(guān)口位置安裝一攝像頭,然后獲取攝像頭拍攝的視頻流,并對(duì)視頻流進(jìn)行解碼得到目標(biāo)圖像,然后再基于該目標(biāo)圖像中的目標(biāo)對(duì)象,也即人臉對(duì)象進(jìn)行人物計(jì)數(shù),但基于人臉對(duì)象進(jìn)行計(jì)數(shù)的過(guò)程中,由于視頻流中的不同幀可能存在同一人臉對(duì)象,所以為了防止重復(fù)計(jì)數(shù),可以使用本發(fā)明實(shí)施例提供的目標(biāo)跟蹤方法對(duì)目標(biāo)對(duì)象進(jìn)行跟蹤以去重,提高計(jì)數(shù)準(zhǔn)確率。
S102、基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù)。
其中,預(yù)設(shè)目標(biāo)跟蹤框集合是指在該時(shí)刻目標(biāo)圖像之前出現(xiàn)在目標(biāo)圖像中的預(yù)設(shè)目標(biāo)所對(duì)應(yīng)的預(yù)設(shè)目標(biāo)跟蹤框集合。例如,若為了統(tǒng)計(jì)某一關(guān)口的人數(shù)量,在某一時(shí)刻獲取到一幀目標(biāo)圖像,但由于在該時(shí)刻之前的目標(biāo)圖像中可能出現(xiàn)過(guò)目標(biāo)人臉,從而需要對(duì)該幀目標(biāo)圖像中與之前的目標(biāo)人臉重復(fù)的人臉進(jìn)行去重,從而可以使用預(yù)設(shè)人臉跟蹤框來(lái)確定重復(fù)的預(yù)設(shè)人臉并進(jìn)行濾除。
其中,目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框是指利用光流法跟蹤算法跟蹤到目標(biāo)圖像中的目標(biāo),該目標(biāo)跟蹤框是指目標(biāo)圖像中的目標(biāo)對(duì)象的目標(biāo)跟蹤框,例如,若目標(biāo)圖像為人臉圖像,則該目標(biāo)跟蹤框?yàn)槟繕?biāo)人臉圖像跟蹤框。
具體地,參見(jiàn)圖2,圖2示出了本發(fā)明實(shí)施例提供的一種基于光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤的流程示意圖,包括:
S201、在所述目標(biāo)圖像的上一個(gè)目標(biāo)圖像中提取第一目標(biāo)特征點(diǎn)。
其中,第一目標(biāo)特征點(diǎn)是指目標(biāo)圖像的上一個(gè)目標(biāo)圖像中的與目標(biāo)相關(guān)的特征點(diǎn)。
具體地,在上一幀目標(biāo)圖像的目標(biāo)跟蹤框內(nèi),提取易于跟蹤的特征點(diǎn)。
更進(jìn)一步,具體地,可以采用提取網(wǎng)格節(jié)點(diǎn)的方式,也可以計(jì)算每個(gè)像素點(diǎn)的跟蹤性能,再?gòu)闹羞x取一些易于跟蹤的點(diǎn),并保證各點(diǎn)之間有一定的距離。
在本發(fā)明實(shí)施例中,若該目標(biāo)圖像為人臉圖像,則該目標(biāo)特征點(diǎn)可以為人臉特征點(diǎn)。
S202、基于光流獲取所述目標(biāo)特征點(diǎn)在所述目標(biāo)圖像中對(duì)應(yīng)的第二目標(biāo)特征點(diǎn)。
具體地,當(dāng)獲取到目標(biāo)圖像的上一個(gè)目標(biāo)圖像中的第一目標(biāo)特征點(diǎn)后,可以基于該第一目標(biāo)特征點(diǎn),計(jì)算光流,并利用光流信息,即可得到第一目標(biāo)特征點(diǎn)在該目標(biāo)圖像中的第二目標(biāo)特征點(diǎn)。
例如,若上一目標(biāo)圖像中存在3個(gè)人臉目標(biāo)特征點(diǎn),則可以通過(guò)計(jì)算光流,得到該目標(biāo)圖像中這3個(gè)人臉目標(biāo)特征點(diǎn)。
S203、基于所述第二目標(biāo)特征點(diǎn)獲取所述目標(biāo)圖像的目標(biāo)跟蹤框。
其中,目標(biāo)跟蹤框是指為了對(duì)目標(biāo)特征點(diǎn)進(jìn)行跟蹤的一個(gè)具有特征形狀的跟蹤框,以便于對(duì)目標(biāo)進(jìn)行跟蹤。
更進(jìn)一步,具體地,計(jì)算每個(gè)特征點(diǎn)在上一幀與當(dāng)前幀中位置的差值,按差值的大小進(jìn)行排序,取中間的差值作為跟蹤框移動(dòng)的距離。計(jì)算上一幀中每個(gè)特征點(diǎn)之間的距離,同時(shí)計(jì)算當(dāng)前幀中每個(gè)特征點(diǎn)之間的距離,顯然兩幀中由特征點(diǎn)距離構(gòu)成的矩陣的維度是一致的,將兩幀中對(duì)應(yīng)的距離兩兩相除得到商值,將商值按大小排序,取中間的商值作為跟蹤框的縮放比例。
S204、獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。
其中,該相關(guān)度是為了更為準(zhǔn)確地表示預(yù)設(shè)目標(biāo)跟蹤框與目標(biāo)跟蹤框之間相似程度的一個(gè)度量。
具體地,獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度,包括:
將所述目標(biāo)跟蹤框與所述預(yù)設(shè)目標(biāo)跟蹤縮放至相同尺寸;
基于歸一化相似性度量函數(shù)(Normalized cross correlation,簡(jiǎn)稱NCC)計(jì)算所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。
可以理解,通過(guò)以NCC來(lái)評(píng)價(jià)預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度,從而使得相關(guān)度計(jì)算更為準(zhǔn)確,提高跟蹤準(zhǔn)確度。
具體地,該NNC的公式表示如下:
S205、在所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度大于或等于預(yù)設(shè)閾值時(shí),利用所述目標(biāo)跟蹤框替換所述預(yù)設(shè)目標(biāo)跟蹤框集合中相應(yīng)的目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
具體地,當(dāng)利用NCC來(lái)評(píng)價(jià)相似度時(shí),當(dāng)NNC值高于預(yù)設(shè)閾值時(shí),對(duì)預(yù)設(shè)目標(biāo)跟蹤框集合更行更新。
更進(jìn)一步,具體地,可以設(shè)置利用預(yù)設(shè)目標(biāo)跟蹤框集合更新頻率,若處于模板更新幀,則將目標(biāo)跟蹤框的圖像賦值給預(yù)設(shè)目標(biāo)跟蹤框。例如,對(duì)于25幀每秒的視頻,模板更新頻率可以為每3幀1次,從而可以很好的判斷目標(biāo)是否遮擋。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,若在預(yù)設(shè)人臉跟蹤框集合中有3個(gè)人臉跟蹤框,也即3個(gè)不同的人臉圖像,然后在上一幀目標(biāo)圖像中獲取第一人臉特征點(diǎn),并基于該人臉特征點(diǎn)計(jì)算該目標(biāo)圖像的第二人臉特征點(diǎn),并基于該第二人臉特征點(diǎn)得到人臉跟蹤框,然后再計(jì)算得到的3個(gè)人臉跟蹤框與預(yù)設(shè)的3個(gè)人臉跟蹤框的相關(guān)度,當(dāng)相關(guān)度大于一定的閾值時(shí),將該第二特征點(diǎn)對(duì)應(yīng)的人臉跟蹤框更新預(yù)設(shè)人臉跟蹤框集合對(duì)應(yīng)的預(yù)設(shè)人臉跟蹤框。
可以理解,由于當(dāng)相關(guān)度大于一定的閾值時(shí),則證明該預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與當(dāng)前圖像的目標(biāo)跟蹤框匹配,但很顯然當(dāng)前圖像中檢測(cè)到的目標(biāo)跟蹤框相對(duì)預(yù)設(shè)目標(biāo)跟蹤框更為準(zhǔn)確,所以此時(shí)利用當(dāng)前圖像的目標(biāo)跟蹤框去替換預(yù)設(shè)目標(biāo)跟蹤框,將使得后續(xù)對(duì)目標(biāo)的跟蹤更為準(zhǔn)確,提高目標(biāo)跟蹤準(zhǔn)確率。
S103、利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù)。
具體地,該圖像檢測(cè)算法例如可以為Sift特征匹配算法,也可以為其它圖像檢測(cè)算法。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,可以通過(guò)Sift特征匹配算法準(zhǔn)確地檢測(cè)出來(lái)人臉圖像中的3個(gè)目標(biāo)人臉框。
可選地,可以只對(duì)視頻圖像流中的部分幀利用圖像檢測(cè)算法進(jìn)一步進(jìn)行檢測(cè)。例如,對(duì)10幀視頻圖像中選擇一幀視頻圖像進(jìn)行檢測(cè)。從而在提高跟蹤準(zhǔn)確率的同時(shí),也可以減少檢測(cè)時(shí)間。從而當(dāng)當(dāng)前幀為人臉檢測(cè)幀,則進(jìn)行人臉檢測(cè)。
S104、基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
其中,對(duì)N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配時(shí),也即利用如下公式計(jì)算目標(biāo)跟蹤框與目標(biāo)對(duì)象框之間的重疊度:
其中,rface指人臉框,rtracker指跟蹤框。
具體地,當(dāng)利用重疊度構(gòu)建表征人臉框與跟蹤框之間關(guān)系的權(quán)重矩陣,再利用匈牙利算法,找到最大有權(quán)二分圖,此時(shí)目標(biāo)對(duì)象框與目標(biāo)跟蹤框的重疊度總和最大,且一個(gè)目標(biāo)對(duì)象框至多匹配到一個(gè)目標(biāo)跟蹤框,一個(gè)目標(biāo)跟蹤框也至多匹配一個(gè)目標(biāo)對(duì)象框,該匹配可認(rèn)為是目標(biāo)對(duì)象框與目標(biāo)跟蹤框的最佳匹配。
具體地,基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合,包括:
基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以確定所述M個(gè)目標(biāo)對(duì)象框中匹配成功的目標(biāo)對(duì)象框、未匹配成功的目標(biāo)對(duì)象框以及所述預(yù)設(shè)目標(biāo)跟蹤框集合中未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框;
將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除,以及將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,當(dāng)需要跟蹤某個(gè)人臉圖像時(shí),首先利用光流跟蹤法確定出來(lái)該人臉圖像中的人臉對(duì)象框并對(duì)預(yù)設(shè)人臉跟蹤框進(jìn)行更新得到更新后的5個(gè)人臉對(duì)象,然后再利用圖像檢測(cè)算法檢測(cè)出來(lái)該人臉圖像中的準(zhǔn)確的4個(gè)人臉對(duì)象框,并將該4個(gè)人臉對(duì)象框與5個(gè)預(yù)設(shè)人臉跟蹤框利用匈牙利算法進(jìn)行匹配,若該5個(gè)預(yù)設(shè)人臉對(duì)象框中有3個(gè)與這4個(gè)人臉對(duì)象框匹配成功,4個(gè)人臉對(duì)象框中有一個(gè)人臉對(duì)象框在5個(gè)預(yù)設(shè)人臉對(duì)象框中從未出現(xiàn),從而還有2個(gè)預(yù)設(shè)人臉對(duì)象框不能與這4個(gè)人臉對(duì)象框中的任何一個(gè)人臉對(duì)象框匹配,則將匹配成功的這3個(gè)人臉對(duì)象框更新原來(lái)的預(yù)設(shè)人臉對(duì)象框中的3個(gè)預(yù)設(shè)人臉對(duì)象框,將這1個(gè)未在預(yù)設(shè)人臉對(duì)象框中出現(xiàn)的人臉對(duì)象框加入該預(yù)設(shè)人臉對(duì)象框,并將該2個(gè)未匹配成功預(yù)設(shè)人臉對(duì)象框從原來(lái)的預(yù)設(shè)人臉對(duì)象框中刪除,最后這個(gè)預(yù)設(shè)人臉對(duì)象框集合中將包括4個(gè)預(yù)設(shè)人臉對(duì)象框。
可以理解,將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除,以及將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合,從而可以使得后續(xù)對(duì)目標(biāo)的跟蹤更為準(zhǔn)確,以及節(jié)約跟蹤時(shí)間,提高目標(biāo)跟蹤效率。
需要說(shuō)明,對(duì)預(yù)設(shè)目標(biāo)跟蹤框集合進(jìn)行更新的三個(gè)步驟沒(méi)有先后順序。
可以看出,本實(shí)施例的方案中,獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。本發(fā)明實(shí)施例通過(guò)基于匈牙利算法將目標(biāo)跟蹤框與目標(biāo)對(duì)象框進(jìn)行匹配以更新預(yù)設(shè)目標(biāo)跟蹤框集合,從而使得預(yù)設(shè)目標(biāo)跟蹤框能根據(jù)目標(biāo)對(duì)象進(jìn)行更新,提高目標(biāo)跟蹤準(zhǔn)確率。
進(jìn)一步的,通過(guò)使用單向光流跟蹤算法,減少了計(jì)算開(kāi)銷,提高目標(biāo)跟蹤效率。
參見(jiàn)圖3,圖3是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤方法的第二實(shí)施例流程示意圖。圖3所示的方法中,與圖1所示方法相同或類似的內(nèi)容可以參考圖1中的詳細(xì)描述,此處不再贅述。如圖3所示,本發(fā)明實(shí)施例提供的目標(biāo)跟蹤方法包括以下步驟:
S301、獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象。
S302、基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù)。
S303、判斷所述目標(biāo)圖像是否為預(yù)設(shè)檢測(cè)幀。
可選地,若該目標(biāo)圖像為預(yù)設(shè)檢測(cè)幀時(shí),執(zhí)行步驟S304。
可選地,若該目標(biāo)圖像不為預(yù)設(shè)檢測(cè)幀時(shí),執(zhí)行返回執(zhí)行步驟S301。
具體地,可以間隔一定幀數(shù)選擇一幅預(yù)設(shè)檢測(cè)幀用于檢測(cè)進(jìn)一步利用圖像檢測(cè)算法檢測(cè)目標(biāo)。
S304、利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù)。
S305、基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以確定所述M個(gè)目標(biāo)對(duì)象框中匹配成功的目標(biāo)對(duì)象框、未匹配成功的目標(biāo)對(duì)象框以及所述預(yù)設(shè)目標(biāo)跟蹤框集合中未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框。
S306、將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合。
S307、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除。
S308、將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框。
更進(jìn)一步地,當(dāng)執(zhí)行完步驟S308后,也即對(duì)預(yù)設(shè)目標(biāo)跟蹤框進(jìn)行更新后,再轉(zhuǎn)入執(zhí)行步驟S301,從而使得后續(xù)利用該預(yù)設(shè)目標(biāo)跟蹤框進(jìn)行人臉跟蹤得到的效果更優(yōu)。
需要說(shuō)明,上述更新預(yù)設(shè)目標(biāo)跟蹤框的步驟S306、S307以及S308沒(méi)有嚴(yán)格的先后順序。
可以看出,本實(shí)施例的方案中,獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。本發(fā)明實(shí)施例通過(guò)基于匈牙利算法將目標(biāo)跟蹤框與目標(biāo)對(duì)象框進(jìn)行匹配以更新預(yù)設(shè)目標(biāo)跟蹤框集合,從而使得預(yù)設(shè)目標(biāo)跟蹤框能根據(jù)目標(biāo)對(duì)象進(jìn)行更新,提高目標(biāo)跟蹤準(zhǔn)確率。
進(jìn)一步的,通過(guò)使用單向光流跟蹤算法,減少了計(jì)算開(kāi)銷,提高目標(biāo)跟蹤效率。
本發(fā)明實(shí)施例還提供一種目標(biāo)跟蹤裝置,包括:
獲取模塊,用于獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;
確定模塊,用于基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);
檢測(cè)模塊,用于利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);
更新模塊,用于基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
具體地,請(qǐng)參見(jiàn)圖4,圖4是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤裝置的第一實(shí)施例的結(jié)構(gòu)示意圖,用于實(shí)現(xiàn)本發(fā)明實(shí)施例公開(kāi)的一種目標(biāo)跟蹤方法。其中,如圖4所示,本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤裝置400可以包括:
獲取模塊410、確定模塊420、檢測(cè)模塊430和更新模塊440。
其中,獲取模塊410,用于獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象。
其中,目標(biāo)圖像可以是指從視頻流中獲取到的各幀圖像,優(yōu)選地,該圖像包括人臉的圖像。目標(biāo)對(duì)象是指該目標(biāo)圖像中需要關(guān)注的特征,例如,若該目標(biāo)圖像為人臉圖像,該目標(biāo)對(duì)象可以為人臉。
在本發(fā)明實(shí)施例中,通過(guò)在目標(biāo)區(qū)域或位置安裝攝像頭來(lái)獲取視頻流,再對(duì)該視頻流進(jìn)行解碼,以從該視頻流中獲取一幀幀的視頻圖像,也即目標(biāo)圖像,再對(duì)該目標(biāo)圖像進(jìn)行圖像處理。
在本發(fā)明實(shí)施例中,可以在小區(qū)門(mén)口、學(xué)校門(mén)口、進(jìn)出關(guān)口等位置安裝該攝像頭。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,若為了統(tǒng)計(jì)某一關(guān)口的人數(shù)量,可以在關(guān)口位置安裝一攝像頭,然后獲取攝像頭拍攝的視頻流,并對(duì)視頻流進(jìn)行解碼得到目標(biāo)圖像,然后再基于該目標(biāo)圖像中的目標(biāo)對(duì)象,也即人臉對(duì)象進(jìn)行人物計(jì)數(shù),但基于人臉對(duì)象進(jìn)行計(jì)數(shù)的過(guò)程中,由于視頻流中的不同幀可能存在同一人臉對(duì)象,所以為了防止重復(fù)計(jì)數(shù),可以使用本發(fā)明實(shí)施例提供的目標(biāo)跟蹤方法對(duì)目標(biāo)對(duì)象進(jìn)行跟蹤以去重,提高計(jì)數(shù)準(zhǔn)確率。
確定模塊420,用于基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù)。
其中,預(yù)設(shè)目標(biāo)跟蹤框集合是指在該時(shí)刻目標(biāo)圖像之前出現(xiàn)在目標(biāo)圖像中的預(yù)設(shè)目標(biāo)所對(duì)應(yīng)的預(yù)設(shè)目標(biāo)跟蹤框集合。例如,若為了統(tǒng)計(jì)某一關(guān)口的人數(shù)量,在某一時(shí)刻獲取到一幀目標(biāo)圖像,但由于在該時(shí)刻之前的目標(biāo)圖像中可能出現(xiàn)過(guò)目標(biāo)人臉,從而需要對(duì)該幀目標(biāo)圖像中與之前的目標(biāo)人臉重復(fù)的人臉進(jìn)行去重,從而可以使用預(yù)設(shè)人臉跟蹤框來(lái)確定重復(fù)的預(yù)設(shè)人臉并進(jìn)行濾除。
其中,目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框是指利用光流法跟蹤算法跟蹤到目標(biāo)圖像中的目標(biāo),該目標(biāo)跟蹤框是指目標(biāo)圖像中的目標(biāo)對(duì)象的目標(biāo)跟蹤框,例如,若目標(biāo)圖像為人臉圖像,則該目標(biāo)跟蹤框?yàn)槟繕?biāo)人臉圖像跟蹤框。
具體地,參見(jiàn)圖5,圖5示出了本發(fā)明實(shí)施例提供的一種確定模塊的結(jié)構(gòu)示意圖,如圖5所示,該確定模塊420,包括:
提取單元421,用于在所述目標(biāo)圖像的上一個(gè)目標(biāo)圖像中提取第一目標(biāo)特征點(diǎn)。
其中,第一目標(biāo)特征點(diǎn)是指目標(biāo)圖像的上一個(gè)目標(biāo)圖像中的與目標(biāo)相關(guān)的特征點(diǎn)。
具體地,在上一幀目標(biāo)圖像的目標(biāo)跟蹤框內(nèi),提取易于跟蹤的特征點(diǎn)。
更進(jìn)一步,具體地,可以采用提取網(wǎng)格節(jié)點(diǎn)的方式,也可以計(jì)算每個(gè)像素點(diǎn)的跟蹤性能,再?gòu)闹羞x取一些易于跟蹤的點(diǎn),并保證各點(diǎn)之間有一定的距離。
在本發(fā)明實(shí)施例中,若該目標(biāo)圖像為人臉圖像,則該目標(biāo)特征點(diǎn)可以為人臉特征點(diǎn)。
獲取單元422,用于基于光流獲取所述目標(biāo)特征點(diǎn)在所述目標(biāo)圖像中對(duì)應(yīng)的第二目標(biāo)特征點(diǎn)。
具體地,當(dāng)獲取到目標(biāo)圖像的上一個(gè)目標(biāo)圖像中的第一目標(biāo)特征點(diǎn)后,可以基于該第一目標(biāo)特征點(diǎn),計(jì)算光流,并利用光流信息,即可得到第一目標(biāo)特征點(diǎn)在該目標(biāo)圖像中的第二目標(biāo)特征點(diǎn)。
例如,若上一目標(biāo)圖像中存在3個(gè)人臉目標(biāo)特征點(diǎn),則可以通過(guò)計(jì)算光流,得到該目標(biāo)圖像中這3個(gè)人臉目標(biāo)特征點(diǎn)。
所述獲取單元422,還用于基于所述第二目標(biāo)特征點(diǎn)獲取所述目標(biāo)圖像的目標(biāo)跟蹤框。
其中,目標(biāo)跟蹤框是指為了對(duì)目標(biāo)特征點(diǎn)進(jìn)行跟蹤的一個(gè)具有特征形狀的跟蹤框,以便于對(duì)目標(biāo)進(jìn)行跟蹤。
更進(jìn)一步,具體地,計(jì)算每個(gè)特征點(diǎn)在上一幀與當(dāng)前幀中位置的差值,按差值的大小進(jìn)行排序,取中間的差值作為跟蹤框移動(dòng)的距離。計(jì)算上一幀中每個(gè)特征點(diǎn)之間的距離,同時(shí)計(jì)算當(dāng)前幀中每個(gè)特征點(diǎn)之間的距離,顯然兩幀中由特征點(diǎn)距離構(gòu)成的矩陣的維度是一致的,將兩幀中對(duì)應(yīng)的距離兩兩相除得到商值,將商值按大小排序,取中間的商值作為跟蹤框的縮放比例。
所述獲取單元422,還用于獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。
其中,該相關(guān)度是為了更為準(zhǔn)確地表示預(yù)設(shè)目標(biāo)跟蹤框與目標(biāo)跟蹤框之間相似程度的一個(gè)度量。
具體地,所述獲取單元422獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度具體為:
將所述目標(biāo)跟蹤框與所述預(yù)設(shè)目標(biāo)跟蹤縮放至相同尺寸;
基于歸一化相似性度量函數(shù)NCC計(jì)算所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。:
將所述目標(biāo)跟蹤框與所述預(yù)設(shè)目標(biāo)跟蹤縮放至相同尺寸;
基于歸一化相似性度量函數(shù)(Normalized cross correlation,簡(jiǎn)稱NCC)計(jì)算所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。
可以理解,通過(guò)以NCC來(lái)評(píng)價(jià)預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度,從而使得相關(guān)度計(jì)算更為準(zhǔn)確,提高跟蹤準(zhǔn)確度。
具體地,該NNC的公式表示如下:
更新單元423,用于在所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度大于或等于預(yù)設(shè)閾值時(shí),利用所述目標(biāo)跟蹤框替換所述預(yù)設(shè)目標(biāo)跟蹤框集合中相應(yīng)的目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
具體地,當(dāng)利用NCC來(lái)評(píng)價(jià)相似度時(shí),當(dāng)NNC值高于預(yù)設(shè)閾值時(shí),對(duì)預(yù)設(shè)目標(biāo)跟蹤框集合更行更新。
更進(jìn)一步,具體地,可以設(shè)置利用預(yù)設(shè)目標(biāo)跟蹤框集合更新頻率,若處于模板更新幀,則將目標(biāo)跟蹤框的圖像賦值給預(yù)設(shè)目標(biāo)跟蹤框。例如,對(duì)于25幀每秒的視頻,模板更新頻率可以為每3幀1次,從而可以很好的判斷目標(biāo)是否遮擋。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,若在預(yù)設(shè)人臉跟蹤框集合中有3個(gè)人臉跟蹤框,也即3個(gè)不同的人臉圖像,然后在上一幀目標(biāo)圖像中獲取第一人臉特征點(diǎn),并基于該人臉特征點(diǎn)計(jì)算該目標(biāo)圖像的第二人臉特征點(diǎn),并基于該第二人臉特征點(diǎn)得到人臉跟蹤框,然后再計(jì)算得到的3個(gè)人臉跟蹤框與預(yù)設(shè)的3個(gè)人臉跟蹤框的相關(guān)度,當(dāng)相關(guān)度大于一定的閾值時(shí),將該第二特征點(diǎn)對(duì)應(yīng)的人臉跟蹤框更新預(yù)設(shè)人臉跟蹤框集合對(duì)應(yīng)的預(yù)設(shè)人臉跟蹤框。
可以理解,由于當(dāng)相關(guān)度大于一定的閾值時(shí),則證明該預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與當(dāng)前圖像的目標(biāo)跟蹤框匹配,但很顯然當(dāng)前圖像中檢測(cè)到的目標(biāo)跟蹤框相對(duì)預(yù)設(shè)目標(biāo)跟蹤框更為準(zhǔn)確,所以此時(shí)利用當(dāng)前圖像的目標(biāo)跟蹤框去替換預(yù)設(shè)目標(biāo)跟蹤框,將使得后續(xù)對(duì)目標(biāo)的跟蹤更為準(zhǔn)確,提高目標(biāo)跟蹤準(zhǔn)確率。
檢測(cè)模塊430,用于利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù)。
具體地,該圖像檢測(cè)算法例如可以為Sift特征匹配算法,也可以為其它圖像檢測(cè)算法。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,可以通過(guò)Sift特征匹配算法準(zhǔn)確地檢測(cè)出來(lái)人臉圖像中的3個(gè)目標(biāo)人臉框。
可選地,可以只對(duì)視頻圖像流中的部分幀利用圖像檢測(cè)算法進(jìn)一步進(jìn)行檢測(cè)。例如,對(duì)10幀視頻圖像中選擇一幀視頻圖像進(jìn)行檢測(cè)。從而在提高跟蹤準(zhǔn)確率的同時(shí),也可以減少檢測(cè)時(shí)間。從而當(dāng)當(dāng)前幀為人臉檢測(cè)幀,則進(jìn)行人臉檢測(cè)。
更新模塊440,用于基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
其中,對(duì)N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配時(shí),也即利用如下公式計(jì)算目標(biāo)跟蹤框與目標(biāo)對(duì)象框之間的重疊度:
其中,rface指人臉框,rtracker指跟蹤框。
具體地,當(dāng)利用重疊度構(gòu)建表征人臉框與跟蹤框之間關(guān)系的權(quán)重矩陣,再利用匈牙利算法,找到最大有權(quán)二分圖,此時(shí)目標(biāo)對(duì)象框與目標(biāo)跟蹤框的重疊度總和最大,且一個(gè)目標(biāo)對(duì)象框至多匹配到一個(gè)目標(biāo)跟蹤框,一個(gè)目標(biāo)跟蹤框也至多匹配一個(gè)目標(biāo)對(duì)象框,該匹配可認(rèn)為是目標(biāo)對(duì)象框與目標(biāo)跟蹤框的最佳匹配。
具體地,所述更新模塊440包括:
確定單元441,用于基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以確定所述M個(gè)目標(biāo)對(duì)象框中匹配成功的目標(biāo)對(duì)象框、未匹配成功的目標(biāo)對(duì)象框以及所述預(yù)設(shè)目標(biāo)跟蹤框集合中未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框;
更新單元442,用于將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除,以及將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
舉例說(shuō)明,在本發(fā)明的一個(gè)示例中,當(dāng)需要跟蹤某個(gè)人臉圖像時(shí),首先利用光流跟蹤法確定出來(lái)該人臉圖像中的人臉對(duì)象框并對(duì)預(yù)設(shè)人臉跟蹤框進(jìn)行更新得到更新后的5個(gè)人臉對(duì)象,然后再利用圖像檢測(cè)算法檢測(cè)出來(lái)該人臉圖像中的準(zhǔn)確的4個(gè)人臉對(duì)象框,并將該4個(gè)人臉對(duì)象框與5個(gè)預(yù)設(shè)人臉跟蹤框利用匈牙利算法進(jìn)行匹配,若該5個(gè)預(yù)設(shè)人臉對(duì)象框中有3個(gè)與這4個(gè)人臉對(duì)象框匹配成功,4個(gè)人臉對(duì)象框中有一個(gè)人臉對(duì)象框在5個(gè)預(yù)設(shè)人臉對(duì)象框中從未出現(xiàn),從而還有2個(gè)預(yù)設(shè)人臉對(duì)象框不能與這4個(gè)人臉對(duì)象框中的任何一個(gè)人臉對(duì)象框匹配,則將匹配成功的這3個(gè)人臉對(duì)象框更新原來(lái)的預(yù)設(shè)人臉對(duì)象框中的3個(gè)預(yù)設(shè)人臉對(duì)象框,將這1個(gè)未在預(yù)設(shè)人臉對(duì)象框中出現(xiàn)的人臉對(duì)象框加入該預(yù)設(shè)人臉對(duì)象框,并將該2個(gè)未匹配成功預(yù)設(shè)人臉對(duì)象框從原來(lái)的預(yù)設(shè)人臉對(duì)象框中刪除,最后這個(gè)預(yù)設(shè)人臉對(duì)象框集合中將包括4個(gè)預(yù)設(shè)人臉對(duì)象框。
可以理解,將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除,以及將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合,從而可以使得后續(xù)對(duì)目標(biāo)的跟蹤更為準(zhǔn)確,以及節(jié)約跟蹤時(shí)間,提高目標(biāo)跟蹤效率。
可以看出,本實(shí)施例的方案中,目標(biāo)跟蹤裝置400獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;目標(biāo)跟蹤裝置400再基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);并利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);最后目標(biāo)跟蹤裝置400基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。本發(fā)明實(shí)施例通過(guò)基于匈牙利算法將目標(biāo)跟蹤框與目標(biāo)對(duì)象框進(jìn)行匹配以更新預(yù)設(shè)目標(biāo)跟蹤框集合,從而使得預(yù)設(shè)目標(biāo)跟蹤框能根據(jù)目標(biāo)對(duì)象進(jìn)行更新,提高目標(biāo)跟蹤準(zhǔn)確率。
進(jìn)一步的,通過(guò)使用單向光流跟蹤算法,減少了計(jì)算開(kāi)銷,提高目標(biāo)跟蹤效率。
在本實(shí)施例中,目標(biāo)跟蹤裝置400是以單元的形式來(lái)呈現(xiàn)。這里的“單元”可以指特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器和存儲(chǔ)器,集成邏輯電路,和/或其他可以提供上述功能的器件。
可以理解的是,本實(shí)施例的目標(biāo)跟蹤裝置400的各功能單元的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過(guò)程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
參見(jiàn)圖6,圖6是本發(fā)明實(shí)施例提供的一種目標(biāo)跟蹤裝置的第二實(shí)施例的結(jié)構(gòu)示意圖,用于實(shí)現(xiàn)本發(fā)明實(shí)施例公開(kāi)的圖像識(shí)別方法。其中,該目標(biāo)跟蹤裝置600可以包括:至少一個(gè)總線601、與總線601相連的至少一個(gè)處理器602以及與總線601相連的至少一個(gè)存儲(chǔ)器603。
其中,處理器602通過(guò)總線601,調(diào)用存儲(chǔ)器中存儲(chǔ)的代碼以用于獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
可選地,在本發(fā)明的一些可能的實(shí)施方式中,所述處理器602基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合,包括:
基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以確定所述M個(gè)目標(biāo)對(duì)象框中匹配成功的目標(biāo)對(duì)象框、未匹配成功的目標(biāo)對(duì)象框以及所述預(yù)設(shè)目標(biāo)跟蹤框集合中未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框;
將所述未匹配成功的目標(biāo)對(duì)象框加入所述預(yù)設(shè)目標(biāo)跟蹤框集合、將所述未匹配成功的預(yù)設(shè)目標(biāo)跟蹤框從所述預(yù)設(shè)目標(biāo)跟蹤框刪除,以及將所述匹配成功的目標(biāo)對(duì)象框替換與所述匹配成功的目標(biāo)對(duì)象框?qū)?yīng)的預(yù)設(shè)目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
可選地,在本發(fā)明的一些可能的實(shí)施方式中,所述處理器602基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,包括:
在所述目標(biāo)圖像的上一個(gè)目標(biāo)圖像中提取第一目標(biāo)特征點(diǎn);
基于光流獲取所述目標(biāo)特征點(diǎn)在所述目標(biāo)圖像中對(duì)應(yīng)的第二目標(biāo)特征點(diǎn);
基于所述第二目標(biāo)特征點(diǎn)獲取所述目標(biāo)圖像的目標(biāo)跟蹤框;
獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度;
在所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度大于或等于預(yù)設(shè)閾值時(shí),利用所述目標(biāo)跟蹤框替換所述預(yù)設(shè)目標(biāo)跟蹤框集合中相應(yīng)的目標(biāo)跟蹤框,以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。
可選地,在本發(fā)明的一些可能的實(shí)施方式中,所述處理器602獲取所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度,包括:
將所述目標(biāo)跟蹤框與所述預(yù)設(shè)目標(biāo)跟蹤縮放至相同尺寸;
基于歸一化相似性度量函數(shù)NCC計(jì)算所述預(yù)設(shè)目標(biāo)跟蹤框集合中的預(yù)設(shè)目標(biāo)跟蹤框與所述目標(biāo)跟蹤框之間的相關(guān)度。
可選地,在本發(fā)明的一些可能的實(shí)施方式中,所述目標(biāo)對(duì)象為人臉對(duì)象。
可以看出,本實(shí)施例的方案中,目標(biāo)跟蹤裝置600獲取目標(biāo)圖像,所述目標(biāo)圖像中包括至少一個(gè)目標(biāo)對(duì)象;目標(biāo)跟蹤裝置600再基于預(yù)設(shè)目標(biāo)跟蹤框集合利用光流法跟蹤算法對(duì)目標(biāo)圖像進(jìn)行跟蹤以確定所述目標(biāo)圖像中的N個(gè)目標(biāo)跟蹤框,所述N為正整數(shù);并利用圖像檢測(cè)算法檢測(cè)所述目標(biāo)圖像中的M個(gè)目標(biāo)對(duì)象框,所述M為正整數(shù);最后目標(biāo)跟蹤裝置600基于匈牙利算法將所述N個(gè)目標(biāo)跟蹤框與所述M個(gè)目標(biāo)對(duì)象框進(jìn)行匹配以更新所述預(yù)設(shè)目標(biāo)跟蹤框集合。本發(fā)明實(shí)施例通過(guò)基于匈牙利算法將目標(biāo)跟蹤框與目標(biāo)對(duì)象框進(jìn)行匹配以更新預(yù)設(shè)目標(biāo)跟蹤框集合,從而使得預(yù)設(shè)目標(biāo)跟蹤框能根據(jù)目標(biāo)對(duì)象進(jìn)行更新,提高目標(biāo)跟蹤準(zhǔn)確率。
進(jìn)一步的,通過(guò)使用單向光流跟蹤算法,減少了計(jì)算開(kāi)銷,提高目標(biāo)跟蹤效率。
在本實(shí)施例中,目標(biāo)跟蹤裝置600是以單元的形式來(lái)呈現(xiàn)。這里的“單元”可以指特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器和存儲(chǔ)器,集成邏輯電路,和/或其他可以提供上述功能的器件。
可以理解的是,本實(shí)施例的目標(biāo)跟蹤裝置600的各功能單元的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過(guò)程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,該計(jì)算機(jī)存儲(chǔ)介質(zhì)可存儲(chǔ)有程序,該程序執(zhí)行時(shí)包括上述方法實(shí)施例中記載的任何目標(biāo)跟蹤方法的部分或全部步驟。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明的各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。