本發(fā)明關(guān)于機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域,特別是涉及一種實(shí)時(shí)檢測可移動目標(biāo)物的方法及系統(tǒng)。
背景技術(shù):
增強(qiáng)現(xiàn)實(shí)(Augmented Reality,簡稱AR),是指在真實(shí)場景的基礎(chǔ)上疊加虛擬信息并在終端上顯示出來,以實(shí)現(xiàn)現(xiàn)實(shí)世界與虛擬世界的無縫連接,形成人機(jī)交互,使這兩個(gè)世界在用戶眼中完美的結(jié)合在一起。加入AR技術(shù)的兒童產(chǎn)品的趣味性和互動性都大大提高,可以增強(qiáng)孩子的沉浸感,有利于培養(yǎng)孩子的專注力,有益于培養(yǎng)孩子對現(xiàn)代科學(xué),未知世界的興趣,有利于智力的開發(fā),深受大眾的歡迎。
AR表現(xiàn)的虛擬世界和真實(shí)世界結(jié)合的時(shí)候需要真實(shí)世界的“接口”,這里的“接口”就是現(xiàn)實(shí)中某個(gè)實(shí)際存在的物體的坐標(biāo)。以這個(gè)坐標(biāo)為參考建立AR的虛擬場景。目前的AR產(chǎn)品中,為了保證虛擬場景的穩(wěn)定,作為坐標(biāo)參照物的物體通常是不可移動的,即使有的AR產(chǎn)品的坐標(biāo)參照物可以移動,也因?yàn)榭紤]到參照物體的識別定位,對應(yīng)用的場景或者參照物體的亮度顏色有一定的限制,使產(chǎn)品的設(shè)計(jì)和使用有很大的局限性。
技術(shù)實(shí)現(xiàn)要素:
為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明之目的在于提供一種實(shí)時(shí)檢測可移動目標(biāo)物的方法及系統(tǒng),以實(shí)現(xiàn)將可移動目標(biāo)物作為AR產(chǎn)品的坐標(biāo)參照物,且適用于室內(nèi)室外多種光照下的多種場景。
為達(dá)上述及其它目的,本發(fā)明提出一種實(shí)時(shí)檢測可移動目標(biāo)物的方法,包括如下步驟:
步驟一,根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本,對樣本進(jìn)行分類,獲得分類器;
步驟二,實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像,獲得待檢測圖像;
步驟三,利用一掃描子窗口在待檢測的圖像或待檢測的圖像區(qū)域中不斷滑動,該掃描子窗口每到一個(gè)位置計(jì)算出該區(qū)域的MB-LBP特征,根據(jù)該分類對該特征進(jìn)行分類,判斷出滿足分類器對目標(biāo)物檢測條件的目標(biāo)區(qū)域,獲得目標(biāo)物。
進(jìn)一步地,于步驟三之后,還包括如下步驟:
若步驟三中獲得多個(gè)目標(biāo)物,則利用canny算子從多個(gè)目標(biāo)物中選出最優(yōu)解。
進(jìn)一步地,該利用canny算子從多個(gè)目標(biāo)物中選出最優(yōu)解的步驟進(jìn)一步包括:
采用canny算子特征值對多個(gè)目標(biāo)物進(jìn)行目標(biāo)物的最初篩選;
根據(jù)預(yù)先設(shè)定的目標(biāo)物顏色,選擇對應(yīng)顏色面積比例最大的目標(biāo)物作為最優(yōu)解。
進(jìn)一步地,選擇白色面積比例最大的目標(biāo)物作為最優(yōu)解。
進(jìn)一步地,步驟三進(jìn)一步包括:
步驟S1,判斷上一幀是否檢測到目標(biāo)物;
步驟S2,若上一幀檢測到目標(biāo)物,則根據(jù)上一幀的檢測結(jié)果確定當(dāng)前幀目標(biāo)物的大小及可能出現(xiàn)的位置,確定當(dāng)前幀的掃描子窗口大小及檢測范圍,利用該掃描子窗口于檢測范圍內(nèi)滑動以獲得目標(biāo)物;
步驟S3,若上一幀未檢測到目標(biāo)物,則利用掃描子窗口于當(dāng)前幀圖像區(qū)域中不斷滑動以獲得目標(biāo)物。
進(jìn)一步地,于步驟S2中,利用幀與幀之間的關(guān)聯(lián)性預(yù)測當(dāng)前幀的目標(biāo)物的大小及可能出現(xiàn)的位置。
為達(dá)到上述目的,本發(fā)明還提供一種實(shí)時(shí)檢測可移動目標(biāo)物的系統(tǒng),包括:
目標(biāo)物分類器建立單元,用于根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本,對樣本進(jìn)行分類,獲得分類器;
圖像獲取單元,用于實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像,獲得待檢測圖像;
目標(biāo)跟蹤檢測單元,利用一掃描子窗口在待檢測的圖像或待檢測的圖像區(qū)域中不斷滑動,該掃描子窗口每到一個(gè)位置計(jì)算出該區(qū)域的MB-LBP特征,根據(jù)該分類對該特征進(jìn)行分類,判定出滿足分類器對目標(biāo)物檢測條件的目標(biāo)區(qū)域;
進(jìn)一步地,該系統(tǒng)還包括最優(yōu)目標(biāo)物篩選單元,用于利用canny算子從多個(gè)目標(biāo)物中選出最優(yōu)解。
進(jìn)一步地,所述最優(yōu)目標(biāo)物篩選單元通過如下步驟獲得最優(yōu)解:
采用canny算子特征值對多個(gè)目標(biāo)物進(jìn)行目標(biāo)物的最初篩選;
根據(jù)預(yù)先設(shè)定的目標(biāo)物顏色,選擇對應(yīng)顏色面積比例最大的目標(biāo)物作為最優(yōu)解。
進(jìn)一步地,所述目標(biāo)跟蹤檢測單元對于每一幀待檢測圖像,首先判斷上一幀是否檢測到目標(biāo)物,若上一幀檢測到目標(biāo)物,則根據(jù)上一幀的檢測結(jié)果確定當(dāng)前幀目標(biāo)物的大小及可能出現(xiàn)的位置,確定當(dāng)前幀的掃描子窗口的大小與檢測范圍,并利用該掃描子窗口于檢測范圍內(nèi)滑動以獲得目標(biāo)物,若上一幀未檢測到目標(biāo)物,則利用掃描子窗口于當(dāng)前幀圖像區(qū)域中不斷滑動以檢測到目標(biāo)物。
與現(xiàn)有技術(shù)相比,本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的方法及系統(tǒng)通過采集訓(xùn)練樣本,得到目標(biāo)物分類器,利用目標(biāo)物分類器對實(shí)時(shí)檢測的圖像中的目標(biāo)區(qū)域確定是否為目標(biāo)物,并從多個(gè)目標(biāo)物中篩選出最優(yōu)目標(biāo)物,實(shí)現(xiàn)了實(shí)時(shí)檢測可移動目標(biāo)物的目的,可為AR產(chǎn)品提供可移動的與現(xiàn)實(shí)結(jié)合的坐標(biāo),本發(fā)明利用機(jī)器學(xué)習(xí)技術(shù),可將識別到的目標(biāo)物的位置信息提供給上層軟件做AR場景的建筑處理,本發(fā)明基于機(jī)器學(xué)習(xí)的目標(biāo)物的識別防風(fēng)魯棒性高,適用于室內(nèi)室外多種光照下的多種場景,相比與不可移動及限制背景的同類AR產(chǎn)品更具有靈活性。
附圖說明
圖1為本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的方法的步驟流程圖;
圖2為本發(fā)明具體實(shí)施例中步驟101的細(xì)部流程圖;
圖3為本發(fā)明具體實(shí)施例中步驟S11中選取目標(biāo)物體最小矩形部分的示意圖;
圖4為本發(fā)明具體實(shí)施例中所需的一個(gè)樣本的示意圖;
圖5為本發(fā)明具體實(shí)施例中移動終端獲得的原點(diǎn)坐標(biāo)為左下角的圖像示意圖;
圖6為本發(fā)明具體實(shí)施例中將圖5圖像上下翻轉(zhuǎn)后的圖像示意圖;
圖7為本發(fā)明具體實(shí)施例中檢測到多個(gè)區(qū)域滿足分類器的示意圖;
圖8為本發(fā)明具體實(shí)施例中canny算子邊緣檢測結(jié)果示意圖;
圖9為本發(fā)明具體實(shí)施例中檢測到的目標(biāo)區(qū)域的canny算子邊緣檢測圖的平均值示意圖;
圖10為本發(fā)明具體實(shí)施例中初步篩選后目標(biāo)區(qū)域示意圖;
圖11為本發(fā)明具體實(shí)施例中獲得最優(yōu)解示意圖;
圖12-圖14為本發(fā)明具體實(shí)施例中移動終端提供的視頻圖像的連續(xù)幀;
圖15為本發(fā)明具體實(shí)施例根據(jù)上一幀檢測結(jié)果確定當(dāng)前幀目標(biāo)位置的示意圖;
圖16為本發(fā)明具體實(shí)施例中對目標(biāo)物的檢測過程流程圖;
圖17為本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的系統(tǒng)的系統(tǒng)架構(gòu)圖;
圖18為本發(fā)明具體實(shí)施例中目標(biāo)物分類器建立單元170的細(xì)部結(jié)構(gòu)圖。
具體實(shí)施方式
以下通過特定的具體實(shí)例并結(jié)合附圖說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點(diǎn)與功效。本發(fā)明亦可通過其它不同的具體實(shí)例加以施行或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)亦可基于不同觀點(diǎn)與應(yīng)用,在不背離本發(fā)明的精神下進(jìn)行各種修飾與變更。
圖1為本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的方法的步驟流程圖。如圖1所示,本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的方法,包括如下步驟:
步驟101,根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本,對樣本進(jìn)行分類,獲得訓(xùn)練樣本的分類器。
圖2為本發(fā)明具體實(shí)施例中步驟101的細(xì)部流程圖。如圖2所示,步驟101具體包括:
步驟S11,根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本。在本發(fā)明具體實(shí)施例中,步驟S11進(jìn)一步包括:
Step1,拍攝具有目標(biāo)物的圖像,于所拍攝的具有目標(biāo)物體的圖像中選取可以框住整個(gè)目標(biāo)物體的最小矩形部分,如圖3所示。
Step2,將選取的圖像轉(zhuǎn)換為n×n像素的圖像,轉(zhuǎn)換后的圖像即是所要獲得的一個(gè)樣本。在本發(fā)明具體實(shí)施例中,將選取的圖像(即圖3中的矩形大小的圖像)轉(zhuǎn)換為30×30像素的圖像,如圖4所示,圖4所示的圖像即是所得到的一個(gè)樣本。
Step3,重復(fù)Step 1,Step 2,直至得到所需的樣本數(shù),通常要用2000個(gè)以上的樣本訓(xùn)練才能得到較理想的分類器文件。
步驟S12,對樣本進(jìn)行特征提取,選取用于訓(xùn)練樣本的特征。
由于MB-LBP特征(Muti-Block Local Binary Pattern)具有灰度不變性和旋轉(zhuǎn)不變性的優(yōu)點(diǎn),且訓(xùn)練速度比其他特征(例如Haar和HOG)都要快很多,因此本發(fā)明選擇MB-LBP特征作為訓(xùn)練樣本的特征。
MB-LBP算子是對3×3的大方塊,通過比較其中心子塊的平均灰度gm與該中心子塊周圍八鄰域子塊的平均灰度{g1,g2,...,g8}計(jì)算特征值。具體計(jì)算公式如下:
其中
步驟S13,利用提取的特征進(jìn)行樣本訓(xùn)練,對樣本進(jìn)行分類,獲得目標(biāo)物的分類器。
在本發(fā)明中,選取任一模式分類算法(包括且不限于諸如決策樹、貝葉斯網(wǎng)絡(luò)、人工神經(jīng)網(wǎng)絡(luò)、K-近鄰、支持向量機(jī)、Adaboost算法、Boosting算法等)對樣本進(jìn)行分類。
在本發(fā)明具體實(shí)施例中,選取Adaboost(Adaptive Boosting)算法進(jìn)行說明樣本分類說明,Adaboost算法可以將前一個(gè)基本分類器分錯(cuò)的樣本的權(quán)重加強(qiáng),加權(quán)后的全部樣本再次被用來訓(xùn)練下一個(gè)基本分類器,同時(shí),在每一輪中加入一個(gè)新的弱分類器,直到達(dá)到某個(gè)預(yù)定的足夠小的錯(cuò)誤率或者達(dá)到預(yù)先指定的最大迭代次數(shù)而終止。
假定訓(xùn)練數(shù)據(jù)集為T={(x1,y1),(x2,y2),…(xn,yn)},其中xi是樣本實(shí)例,yi為標(biāo)記,正樣本標(biāo)記為+1,負(fù)樣本標(biāo)記為-1,i=1,2,...,n。其中正樣本為下面Step 1,Step 2中制作的目標(biāo)截圖的樣本,負(fù)樣本為不包含目標(biāo)的任意圖象。具體分類步驟如下:
Step 1,初始化訓(xùn)練樣本的權(quán)值,每一個(gè)訓(xùn)練樣本最開始都被賦予相同的權(quán)重:具體地,
D1(i)=1/n (式3)
Step 2,訓(xùn)練使用按照D1(i)采樣的弱分類器C1。這里的弱分類器C1的輸入為訓(xùn)練樣本,分類器分類結(jié)果為正樣本時(shí)輸出+1,分類器分類結(jié)果為負(fù)樣本時(shí)輸出為-1。
Step 3,計(jì)算C1的誤差。
E1=∑D1(i)I[C1(xi)≠yi] (式4)
Step 4,根據(jù)C1的誤差計(jì)算C1對應(yīng)的權(quán)重
Step 5,更新訓(xùn)練樣本權(quán)重
Step 6,計(jì)算第k次迭代的樣本權(quán)重,弱分類器Ck的誤差,進(jìn)而獲得弱分類器Ck對應(yīng)的權(quán)重。
其中,第k次迭代的樣本權(quán)重為:
弱分類器Ck的誤差為:
Ek=∑Dk(i)I[Ck(xi)≠yi] (式8)
弱分類器Ck對應(yīng)的權(quán)重為:
其中k=1,2,...,m。
Step8,根據(jù)弱分類器Ck及其權(quán)重,獲得分類器。在本發(fā)明具體實(shí)施例中,最終得到分類樣本x的函數(shù):
樣本的分類結(jié)果為:
步驟102,實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像,獲得待檢測圖像。
在本發(fā)明具體實(shí)施例中,利用移動設(shè)備的后置攝像頭實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像。由于移動終端的系統(tǒng)默認(rèn)圖像的原點(diǎn)坐標(biāo)為左下角,而一般圖像識別工具(例如opencv)中圖像的坐標(biāo)原點(diǎn)是左上角,所以在opencv端看到的圖像是圖5所示的上下倒置的樣子,識別前需要將圖5的圖像上下翻轉(zhuǎn)成圖6所示。
步驟103,利用一個(gè)掃描子窗口在待檢測的圖像或待檢測的圖像區(qū)域中不斷地滑動,該掃描子窗口每到一個(gè)位置則計(jì)算出該區(qū)域的MB-LBP特征,然后根據(jù)步驟101訓(xùn)練好的分類器g(x)對該特征進(jìn)行分類,判定該區(qū)域是否滿足分類器對目標(biāo)物的檢測條件。
在本發(fā)明具體實(shí)施例中,掃描子窗口的長寬比和訓(xùn)練樣本的長寬比一致,對應(yīng)從設(shè)置的最小窗口大小到最大窗口大小的每一個(gè)尺寸都要創(chuàng)建相應(yīng)的子窗口,對待檢測圖像區(qū)域進(jìn)行遍歷,因此控制掃描子窗口尺寸范圍及事先判斷目標(biāo)可能出現(xiàn)的區(qū)域會減少掃描次數(shù),提高檢測速度。
步驟104,從多個(gè)目標(biāo)物中選出最優(yōu)解。
如圖7所示,有時(shí)一幅圖像會有多個(gè)區(qū)域滿足分類器對目標(biāo)的檢測條件,而此應(yīng)用中已知只有一個(gè)目標(biāo),所以需要在檢測到的多個(gè)區(qū)域中找出真正要檢測到的目標(biāo)物體。
具體地,步驟104進(jìn)一步包括如下步驟:
Step 1,采用canny算子特征值進(jìn)行目標(biāo)物的最初篩選。
在本發(fā)明具體實(shí)施例中,由于要檢測的目標(biāo)物是絕大部分為白色的類圓形物體,在目標(biāo)所占矩形區(qū)域做canny算子的邊緣檢測而得到的均值會在一個(gè)固定的區(qū)域內(nèi),根據(jù)之前實(shí)驗(yàn)結(jié)果,可以知道,通常此數(shù)值在[30,60]的區(qū)間內(nèi)。如圖8中,j到r分別是a到i的canny算子邊緣檢測結(jié)果。
圖9中顯示的數(shù)字分別是檢測到的目標(biāo)區(qū)域的canny算子邊緣檢測圖的平均值。其中,均值為26.2、60.7、63.7、64.9、85.1的區(qū)域?yàn)槌醪胶Y選中排除掉的區(qū)域。
Step 2,選擇白色面積比例最大的目標(biāo)物作為最優(yōu)解。
經(jīng)過Step 1的篩選之后,還有圖10中所示a,c,e,g四個(gè)區(qū)域。根據(jù)HSV色彩空間中三個(gè)變量對候選區(qū)域做二值化。
v=max (式14)
其中,(r,g,b)是一個(gè)彩色圖像某一個(gè)坐標(biāo)對應(yīng)的RGB色彩空間對應(yīng)的三個(gè)值,max和min分別等價(jià)于r,g,b中的最大值和最小值。(h,s,v)是相對應(yīng)的HSV空間表示顏色的三個(gè)值。上式中r,g,b∈[0,255],h∈[0,360),h,s∈[0,1]。
在opencv中,H∈范圍[0,179],H,S∈[0,255],我們把S值在[0,30],V值在[200,255]之間的部分過濾出來,結(jié)果是b,d,f,h中的白色部分。其中白色區(qū)域所占該區(qū)域的比例分別是0%,25.3%,50.9%,0%。綜上所述,最優(yōu)解是區(qū)域e。即圖11所示的球體實(shí)線框的區(qū)域e。
較佳地,步驟103進(jìn)一步包括如下步驟:
步驟S31,判斷上一幀是否檢測到目標(biāo)物;
步驟S32,若上一幀檢測到目標(biāo)物,則根據(jù)上一幀的檢測結(jié)果確定當(dāng)前幀的掃描子窗口大小及檢測范圍,并利用該掃描子窗口于檢測范圍內(nèi)進(jìn)行滑動檢測,以獲得目標(biāo)物;
步驟S33,若上一幀未檢測到目標(biāo)物,則利用掃描子窗口于當(dāng)前幀圖像區(qū)域中不斷滑動,以獲得目標(biāo)物。
具體地說,該掃描子窗口每掃描到一個(gè)位置計(jì)算出該區(qū)域的MB-LBP特征,根據(jù)該分類對該特征進(jìn)行分類,判斷出滿足分類器對目標(biāo)物檢測條件的目標(biāo)區(qū)域,以獲得目標(biāo)物。
在本發(fā)明具體實(shí)施例中,由于應(yīng)用場景是實(shí)時(shí)場景,如下圖12-14所示為移動終端提供的圖像是視頻的連續(xù)幀,幀與幀之間有很高的相似度,因此可以從上一幀的檢測結(jié)果確定當(dāng)前幀目標(biāo)的大小及可能出現(xiàn)的位置,這樣可以避免在整個(gè)圖像范圍內(nèi)的掃描,降低檢測時(shí)間,實(shí)現(xiàn)目標(biāo)跟蹤。
以圖15為例,假設(shè)檢測到當(dāng)前幀里目標(biāo)的位置是實(shí)線框所示的寬為w,高為h的矩形區(qū)域。考慮到幀與幀之間的關(guān)聯(lián)性,同時(shí)目標(biāo)物體及手持終端會迅速移動,可以把下一幀的檢測范圍設(shè)在以當(dāng)前幀的中心為中心,高為代表當(dāng)前幀檢測到目標(biāo)的矩形區(qū)域高h(yuǎn)的三倍,同樣,寬為此矩形區(qū)域?qū)抴的三倍,如圖15所示的虛線矩形區(qū)域。
這樣,本發(fā)明利用幀與幀之間的關(guān)聯(lián)性預(yù)測下一幀目標(biāo)物體可能出現(xiàn)的位置可以大大的節(jié)省檢測所需要的時(shí)間,提高檢測率。舉例來說,本發(fā)明的掃描子窗口的大小是變化的。例如設(shè)置的最小子窗口大小為20*20,最大為200*200,掃描窗口每次變化的倍數(shù)為2,則對某一待測圖像第一個(gè)窗口掃描時(shí)掃描子窗口大小為20*20,從圖像的左上角掃描到圖像的右下角,若待測圖像大小480*640,則此次掃描次數(shù)為(480-20+1)*(640-20+1)=286281次;第二個(gè)窗口掃描時(shí)窗口大小變?yōu)?0*40,此次掃描次數(shù)為(480-40+1)*(640-40+1)=265041次;第三次窗口大小為80*80……依次類推,最后一次窗口大小為200*200,掃描次數(shù)為(480-200+1)*(640-200+1)=123921,這樣總掃描次數(shù)為286281+265041+…+123921次;而若上一幀檢測出的目標(biāo)大小為80*80,且知道所在位置,則對當(dāng)前幀的掃描可以把最小尺寸設(shè)為40*40,最大尺寸設(shè)為160*160,檢測范圍設(shè)為(80*3)*(80*3),則只需要用40*40,80*80,160*160三個(gè)掃描窗口。40*40窗口時(shí),掃描次數(shù)為(240-40+1)*(240-40+1)=40401;80*80窗口時(shí),掃描次數(shù)為(240-80+1)*(240-80+1)=25921;160*160窗口時(shí),掃描次數(shù)為(240-160+1)*(240-160+1)=6561,這樣總的掃描次數(shù)40401+25921+6561則遠(yuǎn)小于286281+265041+…+123921,大大節(jié)省了檢測所需要的時(shí)間。
圖16為本發(fā)明具體實(shí)施例中對目標(biāo)物的檢測過程流程圖。首先,初始化,加載目標(biāo)分類器,設(shè)置相關(guān)參數(shù),例如包括檢測目標(biāo)的最大尺寸,最小尺寸,掃描窗口每次的變化倍數(shù),分類器文件位置;判斷上一幀是否檢測到了目標(biāo)物;若已檢測到,從上一幀的結(jié)果估算出當(dāng)前幀中目標(biāo)可能出現(xiàn)的位置范圍,并根據(jù)估算結(jié)果確定掃描子窗口的大小和掃描的范圍;利用掃描子窗口在待檢測的圖像或待檢測的圖像區(qū)域中不斷地滑動,該掃描子窗口每到一個(gè)位置則計(jì)算出該區(qū)域的MB-LBP特征,然后根據(jù)訓(xùn)練好的分類器對該特征進(jìn)行分類,判定該區(qū)域是否滿足分類器對目標(biāo)物的檢測條件,以檢測到目標(biāo)物;檢測到的目標(biāo)物是否為多個(gè);若為多個(gè),則篩選符合紋理?xiàng)l件的目標(biāo),選出白色面積最多的目標(biāo),并返回至目標(biāo)位置,直至視頻幀讀取完畢。
圖17為本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的系統(tǒng)的系統(tǒng)架構(gòu)圖。如圖17所示,本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的系統(tǒng),包括:目標(biāo)物分類器建立單元170、圖像獲取單元171、目標(biāo)跟蹤檢測單元172以及最優(yōu)目標(biāo)物篩選單元173。
目標(biāo)物分類器建立單元170,用于根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本,對樣本進(jìn)行分類,獲得訓(xùn)練樣本的分類器。
圖18為本發(fā)明具體實(shí)施例中目標(biāo)物分類器建立單元170的細(xì)部結(jié)構(gòu)圖。如圖18所示,目標(biāo)物分類器建立單元170具體包括:
樣本收集單元1701,用于根據(jù)拍攝的具有目標(biāo)物體的圖像收集制作樣本。在本發(fā)明具體實(shí)施例中,樣本收集單元1701通過如下步驟收集樣本:
Step1,拍攝具有目標(biāo)物的圖像,于所拍攝的具有目標(biāo)物體的圖像中選取可以框住整個(gè)目標(biāo)物體的最小矩形部分。
Step2,將選取的圖像轉(zhuǎn)換為n×n像素的圖像,轉(zhuǎn)換后的圖像即是所要獲得的一個(gè)樣本。在本發(fā)明具體實(shí)施例中,將選取的圖像轉(zhuǎn)換為30×30像素的圖像,即得到所需的一個(gè)樣本。
Step3,重復(fù)Step 1,Step 2,直至得到所需的樣本數(shù),通常要用2000個(gè)以上的樣本訓(xùn)練才能得到較理想的分類器文件。
特征提取單元1702,用于對樣本進(jìn)行特征提取,選取用于訓(xùn)練樣本的特征。
由于MB-LBP特征(Muti-Block Local Binary Pattern)具有灰度不變性和旋轉(zhuǎn)不變性的優(yōu)點(diǎn),且訓(xùn)練速度比其他特征(例如Haar和HOG)都要快很多,因此本發(fā)明選擇MB-LBP特征作為訓(xùn)練樣本的特征。
MB-LBP算子是對3×3的大方塊,通過比較中心子塊的平均灰度gm與其周圍八鄰域子塊的平均灰度{g1,g2,...,g8}計(jì)算特征值。具體計(jì)算公式如下:
其中
分類單元1703,利用提取的特征進(jìn)行樣本訓(xùn)練,對樣本進(jìn)行分類,獲得分類器。
在本發(fā)明中,選取任一模式分類算法(包括且不限于諸如決策樹、貝葉斯網(wǎng)絡(luò)、人工神經(jīng)網(wǎng)絡(luò)、K-近鄰、支持向量機(jī)、Adaboost算法、Boosting算法等)對樣本進(jìn)行分類。
在本發(fā)明具體實(shí)施例中,選取Adaboost(Adaptive Boosting)算法進(jìn)行說明樣本分類說明,Adaboost算法可以將前一個(gè)基本分類器分錯(cuò)的樣本的權(quán)重加強(qiáng),加權(quán)后的全部樣本再次被用來訓(xùn)練下一個(gè)基本分類器,同時(shí),在每一輪中加入一個(gè)新的弱分類器,直到達(dá)到某個(gè)預(yù)定的足夠小的錯(cuò)誤率或者達(dá)到預(yù)先指定的最大迭代次數(shù)而終止。
圖像獲取單元171,用于實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像,獲得待檢測圖像。
在本發(fā)明具體實(shí)施例中,利用移動設(shè)備的后置攝像頭實(shí)時(shí)獲取目標(biāo)區(qū)域的圖像。由于移動終端的系統(tǒng)默認(rèn)圖像的原點(diǎn)坐標(biāo)為左下角,而一般圖像識別工具(例如opencv)中圖像的坐標(biāo)原點(diǎn)是左上角,因此識別前需要將圖像上下翻轉(zhuǎn)成。
目標(biāo)跟蹤檢測單元172,利用一個(gè)掃描子窗口在待檢測的圖像或待檢測的圖像區(qū)域中不斷地滑動,該掃描子窗口每到一個(gè)位置則計(jì)算出該區(qū)域的MB-LBP特征,然后根據(jù)目標(biāo)物分類器建立單元170訓(xùn)練好的分類器對該特征進(jìn)行分類,判定該區(qū)域是否滿足分類器對目標(biāo)物的檢測條件。
在本發(fā)明具體實(shí)施例中,掃描子窗口的長寬比和訓(xùn)練樣本的長寬比一致,對應(yīng)從設(shè)置的最小窗口大小到最大窗口大小的每一個(gè)尺寸都要創(chuàng)建相應(yīng)的子窗口,對待檢測圖像區(qū)域進(jìn)行遍歷,因此控制掃描子窗口尺寸范圍及事先判斷目標(biāo)可能出現(xiàn)的區(qū)域會減少掃描次數(shù),提高檢測速度。
在本發(fā)明具體實(shí)施例中,由于應(yīng)用場景是實(shí)時(shí)場景,幀與幀之間有很高的相似度,因此可以從上一幀的檢測結(jié)果確定當(dāng)前幀目標(biāo)的大小及可能出現(xiàn)的位置,這樣可以避免在整個(gè)圖像范圍內(nèi)的掃描,降低檢測時(shí)間,實(shí)現(xiàn)目標(biāo)跟蹤。因此目標(biāo)跟蹤檢測單元172對于每一幀圖像,首先會判斷上一幀是否檢測到目標(biāo)物,若上一幀檢測到目標(biāo)物,則根據(jù)上一幀的檢測結(jié)果確定當(dāng)前幀目標(biāo)物的大小及可能出現(xiàn)的位置,并確定當(dāng)前幀的掃描子窗口大小及檢測范圍,利用掃描子窗口于當(dāng)前幀圖像區(qū)域中不斷滑動,該掃描子窗口每到一個(gè)位置計(jì)算出該區(qū)域的MB-LBP特征,根據(jù)該分類對該特征進(jìn)行分類,判斷出滿足分類器對目標(biāo)物檢測條件的目標(biāo)區(qū)域。本發(fā)明利用幀與幀之間的關(guān)聯(lián)性預(yù)測下一幀目標(biāo)物體可能出現(xiàn)的位置可以大大的節(jié)省檢測所需要的時(shí)間,提高檢測率。
最優(yōu)目標(biāo)物篩選單元173,用于從目標(biāo)跟蹤檢測單元172檢測出的多個(gè)目標(biāo)物中選出最優(yōu)解。
有時(shí)一幅圖像會有多個(gè)區(qū)域滿足分類器對目標(biāo)的檢測條件,而此應(yīng)用中已知只有一個(gè)目標(biāo),所以需要在檢測到的多個(gè)區(qū)域中找出真正要檢測到的目標(biāo)物體。
具體地,最優(yōu)目標(biāo)物篩選單元173通過如下步驟進(jìn)行最優(yōu)目標(biāo)物篩選:
Step 1,采用canny算子特征值進(jìn)行目標(biāo)物的最初篩選。
在本發(fā)明具體實(shí)施例中,由于要檢測的目標(biāo)物是絕大部分為白色的類圓形物體,在目標(biāo)所占矩形區(qū)域做canny算子的邊緣檢測而得到的均值會在一個(gè)固定的區(qū)域內(nèi),根據(jù)之前實(shí)驗(yàn)結(jié)果,可以知道,通常此數(shù)值在[30,60]的區(qū)間內(nèi)。
Step 2,選擇白色面積比例最大的目標(biāo)物作為最優(yōu)解。
綜上所述,本發(fā)明一種實(shí)時(shí)檢測可移動目標(biāo)物的方法及系統(tǒng)通過采集訓(xùn)練樣本,得到目標(biāo)物分類器,利用目標(biāo)物分類器對實(shí)時(shí)檢測的圖像中的目標(biāo)區(qū)域確定是否為目標(biāo)物,并從多個(gè)目標(biāo)物中篩選出最優(yōu)目標(biāo)物,實(shí)現(xiàn)了實(shí)時(shí)檢測可移動目標(biāo)物的目的,可為AR產(chǎn)品提供可移動的與現(xiàn)實(shí)結(jié)合的坐標(biāo),本發(fā)明利用機(jī)器學(xué)習(xí)技術(shù),可將識別到的目標(biāo)物的位置信息提供給上層軟件做AR場景的建筑處理,本發(fā)明基于機(jī)器學(xué)習(xí)的目標(biāo)物的識別防風(fēng)魯棒性高,適用于室內(nèi)室外多種光照下的多種場景,相比與不可移動及限制背景的同類AR產(chǎn)品更具有靈活性。
上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾與改變。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如權(quán)利要求書所列。