本發(fā)明涉及考勤作弊檢測(cè)領(lǐng)域,具體地,涉及一種基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法。
背景技術(shù):
目前大部分是考勤是采用生物特征識(shí)別技術(shù),它以人體唯一性的生物特征作為識(shí)別依據(jù),通過圖像采集、處理、特征點(diǎn)提取、生物特征搜索以及比對(duì),實(shí)現(xiàn)人的唯一性檢測(cè),目前常用的生物特征識(shí)別技術(shù)主要有指紋識(shí)別、掌紋識(shí)別、虹膜識(shí)別、人臉識(shí)別、聲紋識(shí)別等。
生物特征識(shí)別技術(shù)一般應(yīng)用在作業(yè)之前進(jìn)行考勤,雖然準(zhǔn)確度較高,但是只能確保在識(shí)別的時(shí)候的唯一性,并不能確保在整個(gè)作業(yè)過程中的唯一性。有不少作業(yè)人員考勤之后離開工作場(chǎng)所,造成勞動(dòng)力投入統(tǒng)計(jì)不準(zhǔn)確。
綜上所述,本申請(qǐng)發(fā)明人在實(shí)現(xiàn)本申請(qǐng)發(fā)明技術(shù)方案的過程中,發(fā)現(xiàn)上述技術(shù)至少存在如下技術(shù)問題:
在現(xiàn)有技術(shù)中,現(xiàn)有的基于生物特征識(shí)別技術(shù)的考勤存在不能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法,解決了現(xiàn)有的基于生物特征識(shí)別技術(shù)的考勤存在不能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控的技術(shù)問題,實(shí)現(xiàn)了通過本方法可以有效檢測(cè)出一人帶多卡等重復(fù)多次計(jì)算工作量等考勤作弊行為,能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控,確保工時(shí)統(tǒng)計(jì)的準(zhǔn)確性的技術(shù)效果。
為解決上述技術(shù)問題,本申請(qǐng)?zhí)峁┝艘环N基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法,所述方法包括:
步驟1:定位系統(tǒng)收集并緩存各個(gè)定位卡上傳的定位數(shù)據(jù),解算得到x,y,z三個(gè)通道的位置數(shù)據(jù)以及上傳數(shù)據(jù)的時(shí)間戳信息,并用4元組(x,y,z,t)表示;
步驟2:對(duì)不同定位卡的數(shù)據(jù)進(jìn)行重新采樣到統(tǒng)一時(shí)刻,獲得重采樣數(shù)據(jù);
步驟3:獲得定位卡ci、cj重采樣后數(shù)據(jù),對(duì)兩個(gè)定位卡具有相同采樣時(shí)間點(diǎn)位置差進(jìn)行統(tǒng)計(jì),通過ci或者cj的相鄰兩次定位數(shù)據(jù),判定兩個(gè)定位卡的運(yùn)動(dòng)狀態(tài);
步驟4:對(duì)兩個(gè)定位卡的同時(shí)刻數(shù)據(jù)點(diǎn)進(jìn)行位置比較,獲得ci和cj中x,y,z通道中兩組數(shù)據(jù)相似度
步驟5:當(dāng)?shù)玫降膞,y,z通道中兩組數(shù)據(jù)相似度均大于閾值pthreshold-max時(shí),則認(rèn)定步驟1收集的兩組數(shù)據(jù)ci和cj高度相似,記為s1;若三個(gè)通道有任意一個(gè)通道小于pthreshold-min時(shí),則認(rèn)定上述兩組數(shù)據(jù)高度不相似,記為s2;其余情況為低相似度,記為s3;
步驟6:重復(fù)進(jìn)行上述步驟1-步驟5操作,獲得兩個(gè)定位卡在預(yù)設(shè)時(shí)間段內(nèi)的相似度累積結(jié)果,基于相似度累積結(jié)果判斷出兩個(gè)定位卡ci、cj在預(yù)設(shè)時(shí)間段內(nèi)是否屬于同一人攜帶。
步驟7:獲得多個(gè)一人攜帶兩張定位卡的結(jié)果合集,對(duì)結(jié)果合集進(jìn)行分析,獲得一人帶兩張以上定位卡的結(jié)果。
其中,本方法的原理為通過定位系統(tǒng)采集作業(yè)人員攜帶的定位卡的定位數(shù)據(jù),通過比較系統(tǒng)中任意兩張定位卡的定位數(shù)據(jù),分析兩張卡軌跡相似度,判斷是否為一人帶兩張卡,進(jìn)而通過分析多組一人帶兩張卡的結(jié)果,得到是否有一人帶兩張以上卡的結(jié)果,從而達(dá)到檢測(cè)一人帶任意多卡的作弊行為的目的。
定位系統(tǒng)是指定位精度可以達(dá)到厘米級(jí)別,尤其是采用uwb超寬帶技術(shù)構(gòu)建的定位系統(tǒng)。采用精確定位系統(tǒng)可以有效準(zhǔn)確統(tǒng)計(jì)出相關(guān)人員的工作時(shí)間以及工作區(qū)域,本發(fā)明可以解決精確定位系統(tǒng)中一人帶多卡的考勤作弊行為,確保工時(shí)統(tǒng)計(jì)的準(zhǔn)確性。
進(jìn)一步的,所述步驟6具體包括:
在一段時(shí)間tp內(nèi)重復(fù)步驟1-步驟5,得到ci和cj以周期ta分別計(jì)算的一組數(shù)據(jù)的相似度結(jié)果,最多有
進(jìn)行一人帶兩張卡的判斷,分別得到s1和s3在所有數(shù)據(jù)結(jié)果中的比例使用
如果ps1>ps1-threshold并且ps3<ps3-threshold,則判定ci和cj在tp時(shí)間內(nèi)屬于一人帶兩張卡。
進(jìn)一步的,所述方法還包括:
步驟7具體為:假設(shè)tp時(shí)間內(nèi)具有數(shù)據(jù)的定位卡集合setc={c1,c2,…cn},則兩兩多卡判定結(jié)果最多具有
進(jìn)一步的,所述步驟7具體包括:
步驟7.1:遍歷setr集合,對(duì)于任意元素ri,它是由cl和ck的多卡結(jié)果組成;如果cl和ck是多卡,則進(jìn)行步驟7.2,否則遍歷下一個(gè)元素ri+1;
步驟7.2:判斷cl和ck是否屬于某個(gè)多卡集合,如果都不屬于,則新建一個(gè)setq元素,將cl和ck添加進(jìn)去,setq新增元素{cl,ck};
步驟7.3:如果cl或者ck只有一個(gè)屬于setq的某個(gè)元素,則進(jìn)行如下判斷:假設(shè)ck屬于setq元素qi={ck,cz},而cl不屬于setq中任意一個(gè)元素;
步驟7.4:根據(jù)以上條件,現(xiàn)有set1={cl,ck},set2={ck,cz},將一段工作時(shí)間(tp)分成了一組以周期為ta的連續(xù)時(shí)間集,set1、set2的結(jié)果均是由一個(gè)個(gè)ta時(shí)間內(nèi)的結(jié)果組成。set1time={ta1,ta2…tai…tan},set2time={t`a1,t`a2…t`aj…t`am},如果set1time∩set2time得到的結(jié)果set12time集合元素表示在同一組ta時(shí)間內(nèi)set1和set2均取得到了步驟5的結(jié)果,假設(shè)在同一個(gè)tai=t`aj周期內(nèi),兩組結(jié)果都為s1,則說明cl、ck、cz在這組時(shí)間內(nèi)高度相似,記為set12={cl,ck,cz}在周期tai或者t`aj上擁有s1結(jié)果;如果在此周期內(nèi),任意一個(gè)結(jié)果為s3,則說明set12在周期tai上擁有s3結(jié)果,剩下的判定為s2結(jié)果;最后根據(jù)步驟6計(jì)算set12的ps1和ps3的值,判斷是否為多卡,如果為多卡則進(jìn)行合并,否則不進(jìn)行合并;合并時(shí),qi元素變?yōu)閧cl,ck,cz},不合并時(shí)將在setq中新增元素{cl,ck},同時(shí)qi元素保持不變;
步驟7.5:如果cl和ck分別屬于兩個(gè)不同的setq元素集合qi和集合qj,則同理進(jìn)行步驟7.4,判斷qi和qj是否進(jìn)行合并,合并之后,刪除setq中原有的qi和qj,新增元素{qi∪qj};當(dāng)遍歷完所有的setr集合元素并進(jìn)行7.1-7.5過程后,setq即為目標(biāo)所求,setq中的每一個(gè)元素即為判斷出的多卡的組合。
進(jìn)一步的,所述步驟3具體包括:
設(shè)ci的三個(gè)通道數(shù)據(jù)經(jīng)過重采樣之后定位數(shù)據(jù),x通道(x1,t1),…(xi,ti),…(xnx,tnx),y通道為(y1,t1),…(yi,ti),…(yny,tny),z通道為(z1,t1),…(zi,ti),…(znz,tnz);cj經(jīng)過重采樣之后的定位數(shù)據(jù)為(x`1,t`1),…(x`i,t`i),…(x`nx`,t`nx`),y通道為(y`1,t`1),…(y`i,t`i),…(y`ny`,t`ny`),z通道為(z`1,t`1),…(z`i,t`i),…(z`nz`,t`nz`),ci三個(gè)通道分別具有nx,ny,nz條數(shù)據(jù),cj三個(gè)通道分別具有nx`,ny`,nz`條數(shù)據(jù),均按升序排列;
通過ci或者cj的相鄰兩次定位數(shù)據(jù),判定其運(yùn)動(dòng)狀態(tài),有運(yùn)動(dòng)和靜止兩種狀態(tài);以ci的x通道數(shù)據(jù)為例y、z通道同理,計(jì)算相鄰兩個(gè)時(shí)間點(diǎn)之間數(shù)據(jù)(xi,ti),(xi+1,ti+1)的歐氏距離;
設(shè)定一個(gè)閾值dmov,如果滿足
進(jìn)一步的,所述步驟4具體包括:
步驟4.1:兩個(gè)游標(biāo)ii,ij分別從ci和cj數(shù)據(jù)的頭部開始,以x通道為例;
步驟4.2:假設(shè)ii和ij對(duì)應(yīng)的數(shù)據(jù)為(xia,tia),(x`ib,t`ib),如果tia和t`ib指向同一個(gè)時(shí)刻,則進(jìn)行通道數(shù)據(jù)xia和x`ib的比較,得到在tia和tib時(shí)刻ci和cj的運(yùn)動(dòng)狀態(tài),如果兩者之一有處于運(yùn)動(dòng)狀態(tài)者,則數(shù)據(jù)之差|xia-x`ib|小于給定a0*d,則認(rèn)為這兩個(gè)數(shù)據(jù)點(diǎn)接近,同時(shí)計(jì)數(shù)器countcmp和countclose加1,如果數(shù)據(jù)之差大于a0*d,則只有countcmp加1,countcmp代表具有相同時(shí)刻的數(shù)據(jù)計(jì)數(shù),countclose代表具有相同時(shí)刻并且位置接近的數(shù)量;如果兩者都處于靜止?fàn)顟B(tài),則a0等于1,運(yùn)動(dòng)狀態(tài)下a0大于2;
步驟4.3:如果tia和t`ib指向不是同一個(gè)時(shí)刻,則時(shí)間戳較大的數(shù)據(jù)對(duì)應(yīng)的游標(biāo)不動(dòng),較小的往后移動(dòng);
步驟4.4:當(dāng)ci和cj的任何一個(gè)游標(biāo)遍歷完,則計(jì)算結(jié)果
對(duì)通道y,z重復(fù)4.1-4.4步驟,得到三個(gè)通道的pclose值分別為
進(jìn)一步的,步驟1-步驟2之間,所述方法還包括以下步驟:
步驟a:每個(gè)定位卡均記錄一個(gè)包圍盒,包圍盒將一段時(shí)間內(nèi)定位卡的所有定位數(shù)據(jù)包含其中,每張定位卡每次得到新的數(shù)據(jù)的時(shí)候更新確定包圍盒的6元組(xmin,xman,ymin,ymax,zmin,zmax);當(dāng)緩存時(shí)間超過ta,將各個(gè)定位卡在ta時(shí)間內(nèi)上傳的定位數(shù)據(jù)連同包圍盒添加到后續(xù)步驟進(jìn)行多卡檢測(cè);設(shè)ta時(shí)間內(nèi)具有數(shù)據(jù)的定位卡集合setc={c1,c2,…cn},對(duì)應(yīng)的包圍盒集合setbox={boxc1,boxc2..boxcn},setbox集合元素boxci由6元組構(gòu)成;
步驟b:對(duì)setc中的任意兩張卡ci和cj進(jìn)行處理,有
步驟c:分別對(duì)定位卡定位數(shù)據(jù)的三個(gè)通道的數(shù)據(jù)進(jìn)行壞值剔除和平滑處理。
進(jìn)一步的,所述對(duì)定位卡定位數(shù)據(jù)的三個(gè)通道的數(shù)據(jù)進(jìn)行壞值剔除處理,具體包括:
步驟d:對(duì)于任意兩張定位卡ci和cj,處理步驟a中累積的數(shù)據(jù),由于現(xiàn)場(chǎng)環(huán)境外界因素的影響,導(dǎo)致累積的數(shù)據(jù)并不都是按周期t上傳的,假設(shè)ci和cj累積的數(shù)據(jù)數(shù)量小于一個(gè)閾值n,則將不對(duì)這兩張卡進(jìn)行后續(xù)處理,如果數(shù)據(jù)數(shù)量滿足條件,進(jìn)入步驟e,如果不滿足,繼續(xù)重復(fù)步驟a挑選另外兩組數(shù)據(jù);
步驟e:去壞值之前,ci或者cj任意兩個(gè)連續(xù)的定位數(shù)據(jù)四元組(xi,yi,zi,ti),(xi+1,yi+1,zi+1,ti+1),兩個(gè)數(shù)據(jù)時(shí)間差|ti+1-ti|,定義允許最大時(shí)間差為tmax_delta,如果兩個(gè)連續(xù)的定位數(shù)據(jù)時(shí)間差大于tmax_delta,則需要從這兩個(gè)定位數(shù)據(jù)點(diǎn)之間分開,ti+1后面的選取一段tbad之內(nèi)的數(shù)據(jù)進(jìn)行去壞值處理,同時(shí)保證最少有
步驟f:運(yùn)動(dòng)軌跡包含三個(gè)分量x,y,z,假設(shè)為相對(duì)獨(dú)立事件,對(duì)三個(gè)分量分開研究和處理,以x方向去壞值為例,y,z同理:
假設(shè)定位系統(tǒng)的標(biāo)簽的攜帶者是人,則假設(shè)人運(yùn)動(dòng)的速度在相對(duì)較短的時(shí)間里面tbad是勻速運(yùn)動(dòng),對(duì)于每個(gè)定位值xi,根據(jù)相鄰的兩個(gè)定位點(diǎn)的位置和時(shí)間戳,可以求對(duì)于xi的速度測(cè)量值vi取標(biāo)量,然后得到多組速度的測(cè)量值setv={v1v2v3…vi…vn},然后根據(jù)去壞值的準(zhǔn)則三倍標(biāo)準(zhǔn)差去除vi對(duì)應(yīng)的xi;
在x方向上速度標(biāo)準(zhǔn)差σx定義為
上式中v代表速度的平均值;接著遍歷setv,不滿足不等式條件|vi-v|<3σx的數(shù)據(jù)判定為壞值,y,z方向同理。
進(jìn)一步的,對(duì)數(shù)據(jù)使用savitzky-golay濾波器進(jìn)行平滑濾波處理。
進(jìn)一步的,所述對(duì)不同定位卡的數(shù)據(jù)進(jìn)行重新采樣,具體為使用同一張定位卡的相鄰兩個(gè)數(shù)據(jù)根據(jù)重采樣時(shí)間點(diǎn)線性插值完成。
本申請(qǐng)?zhí)峁┑囊粋€(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
本發(fā)明涉及一種基于精確定位系統(tǒng)的一人帶多卡考勤作弊行為的檢測(cè)方法,確保工業(yè)區(qū)域、建筑工地等作業(yè)區(qū)域內(nèi)相關(guān)作業(yè)人員一人只帶一張精確定位卡進(jìn)行作業(yè)和考勤,解決了現(xiàn)有的基于生物特征識(shí)別技術(shù)的考勤存在不能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控的技術(shù)問題,實(shí)現(xiàn)了通過本方法可以有效檢測(cè)出一人帶多卡等重復(fù)多次計(jì)算工作量等考勤作弊行為,能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控,確保工時(shí)統(tǒng)計(jì)的準(zhǔn)確性的技術(shù)效果。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定;
圖1是本申請(qǐng)中基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法的流程示意圖。
具體實(shí)施方式
本發(fā)明提供了一種基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法,解決了現(xiàn)有的基于生物特征識(shí)別技術(shù)的考勤存在不能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控的技術(shù)問題,實(shí)現(xiàn)了通過本方法可以有效檢測(cè)出一人帶多卡等重復(fù)多次計(jì)算工作量等考勤作弊行為,能夠?qū)φ麄€(gè)作業(yè)過程進(jìn)行監(jiān)控,確保工時(shí)統(tǒng)計(jì)的準(zhǔn)確性的技術(shù)效果。
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在相互不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述范圍內(nèi)的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
請(qǐng)參考圖1,本申請(qǐng)?zhí)峁┝艘环N基于定位系統(tǒng)的考勤作弊行為檢測(cè)方法,精確定位系統(tǒng)提供厘米級(jí)定位,假設(shè)定位精度標(biāo)準(zhǔn)差為σ,定位卡定位數(shù)據(jù)上傳周期為t,相關(guān)作業(yè)人員每人身上佩戴一張定位標(biāo)簽卡進(jìn)入到作業(yè)區(qū)域作業(yè)。
系統(tǒng)收集并緩存各個(gè)定位卡周期上傳的定位數(shù)據(jù),解算得到x,y,z三個(gè)通道的位置數(shù)據(jù)(笛卡爾坐標(biāo)系,可根據(jù)用戶實(shí)際情況設(shè)定)以及上傳數(shù)據(jù)的時(shí)間戳信息用4元組(x,y,z,t)表示。為了減少數(shù)據(jù)計(jì)算量以及優(yōu)化多卡判定效果,進(jìn)行步驟1-5。
1.因?yàn)橐蝗藥Ф嗫ǖ那闆r下,定位系統(tǒng)得到的位置都非常接近,為了減少不必要的計(jì)算量,給每個(gè)定位卡都記錄一個(gè)包圍盒。包圍盒(立方體)將一段時(shí)間內(nèi)定位卡的所有定位數(shù)據(jù)包含其中,每張定位卡每次得到新的數(shù)據(jù)的時(shí)候更新確定包圍盒的6元組(xmin,xman,ymin,ymax,zmin,zmax)。
當(dāng)緩存時(shí)間超過ta,將各個(gè)定位卡在ta時(shí)間內(nèi)上傳的定位數(shù)據(jù)連同包圍盒添加到后續(xù)步驟進(jìn)行多卡檢測(cè)。
設(shè)ta時(shí)間內(nèi)具有數(shù)據(jù)的定位卡集合setc={c1,c2,…cn},對(duì)應(yīng)的包圍盒集合setbox={boxc1,boxc2..boxcn},setbox集合元素boxci由6元組構(gòu)成。
1.1接著對(duì)setc中的任意兩張卡ci和cj進(jìn)行處理,有
在進(jìn)行兩張卡定位數(shù)據(jù)多卡判定之前,可以分別對(duì)兩張卡的定位數(shù)據(jù)的三個(gè)通道的數(shù)據(jù)進(jìn)行壞值剔除,平滑處理,這樣可以優(yōu)化多卡判定效果。2-4為去壞值處理,5為平滑處理。壞值剔除以及平滑處理操作可以得到更好的運(yùn)動(dòng)曲線,但是引入了額外的計(jì)算量,可根據(jù)實(shí)際情況確定是否引入。
2.對(duì)于任意兩張定位卡ci和cj,處理1中累積的數(shù)據(jù)。由于現(xiàn)場(chǎng)環(huán)境的電磁干擾等外界因素的影響,導(dǎo)致累積的數(shù)據(jù)并不都是按周期t上傳的。假設(shè)ci和cj累積的數(shù)據(jù)數(shù)量小于一個(gè)閾值n,那么將不對(duì)這兩張卡進(jìn)行后續(xù)處理。如果數(shù)據(jù)數(shù)量滿足條件,進(jìn)入3,如果不滿足,繼續(xù)重復(fù)1.1挑選另外兩組數(shù)據(jù)。
3.去壞值之前,ci或者cj任意兩個(gè)連續(xù)(按時(shí)間遞增排序)的定位數(shù)據(jù)四元組(xi,yi,zi,ti),(xi+1,yi+1,zi+1,ti+1),兩個(gè)數(shù)據(jù)時(shí)間差|ti+1-ti|不能太大。如果太大,那么速度估算誤差將會(huì)較大。定義允許最大時(shí)間差為tmax_delta,如果兩個(gè)連續(xù)的定位數(shù)據(jù)時(shí)間差大于tmax_delta,那么需要從這兩個(gè)定位數(shù)據(jù)點(diǎn)之間分開,ti+1后面的(包括ti+1)選取一段tbad之內(nèi)的數(shù)據(jù)進(jìn)行去壞值處理,同時(shí)保證最少有
4.接著處理步驟3之后的數(shù)據(jù),運(yùn)動(dòng)軌跡包含三個(gè)分量x,y,z可以假設(shè)為相對(duì)獨(dú)立事件,三個(gè)分量就可以分開研究和處理。以x方向去壞值為例,y,z同理。
假設(shè)精確定位系統(tǒng)的標(biāo)簽的攜帶者是人,那么可以假設(shè)人運(yùn)動(dòng)的速度在相對(duì)較短的時(shí)間里面tbad(比如10s)是勻速運(yùn)動(dòng)。那么對(duì)于每個(gè)定位值xi,根據(jù)相鄰的兩個(gè)定位點(diǎn)的位置和時(shí)間戳,可以求對(duì)于xi的速度測(cè)量值vi(取標(biāo)量)然后得到多組速度的測(cè)量值setv={v1v2v3…vi…vn},然后根據(jù)去壞值的準(zhǔn)則(三倍標(biāo)準(zhǔn)差)去除vi對(duì)應(yīng)的xi。
那么在x方向上速度標(biāo)準(zhǔn)差σx定義為(y,z方向同理):
上式中v代表速度的平均值。
接著遍歷setv,不滿足不等式條件|vi-v|<3σx的數(shù)據(jù)判定為壞值。
在去壞值的過程中還可以考慮加上人運(yùn)動(dòng)速度的限制,比如大部分人行走的速度在vp=1.5m/s左右,如果定位點(diǎn)的速度達(dá)到了5vp,那么可以考慮剔除這個(gè)數(shù)據(jù)。
5.去除壞值之后的數(shù)據(jù)中還包含有噪音數(shù)據(jù),為了得到更接近真實(shí)的定位數(shù)據(jù),可以對(duì)數(shù)據(jù)進(jìn)行平滑濾波處理。平滑濾波法方法很多,這里濾波器使用savitzky-golay濾波器,它是對(duì)局部少量數(shù)據(jù)應(yīng)用最小二乘方法,同時(shí)依次對(duì)所有數(shù)據(jù)做滑動(dòng)窗口處理,根據(jù)現(xiàn)場(chǎng)應(yīng)用情況選定窗口大小和多項(xiàng)式最高次系數(shù),一般窗口可以選5,高次系數(shù)為1。
在經(jīng)過以上步驟(1-5)之后,將進(jìn)入到系統(tǒng)最重要的兩張卡多卡判定階段(6-10.3小節(jié))。首先進(jìn)行步驟6數(shù)據(jù)重采樣。
6.因?yàn)閭鬏斞舆t的影響以及定位上傳數(shù)據(jù)的時(shí)間戳不一樣,所以為了在同一個(gè)時(shí)刻對(duì)不同卡的位置進(jìn)行正確比較,需要對(duì)讓不同定位卡的數(shù)據(jù)進(jìn)行重新采樣到統(tǒng)一時(shí)刻。方法就是使用同一張卡的相鄰兩個(gè)數(shù)據(jù)根據(jù)重采樣時(shí)間點(diǎn)線性插值完成,這里假定短時(shí)間段內(nèi)進(jìn)行勻速運(yùn)動(dòng)。重采樣的時(shí)間點(diǎn)是根據(jù)定位數(shù)據(jù)上傳周期為t來計(jì)算的。比如周期t為0.5s,當(dāng)前時(shí)間戳為1493300310,那么可以重采樣時(shí)間戳為{…1493300310-0.5,1493300310,1493300310+0.5…}
7.步驟6得到ci、cj重采樣之后數(shù)據(jù),然后對(duì)兩張卡具有相同采樣時(shí)間點(diǎn)位置差進(jìn)行統(tǒng)計(jì)。設(shè)ci的三個(gè)通道數(shù)據(jù)分別經(jīng)過去壞值、濾波、重采樣之后定位數(shù)據(jù),x通道(x1,t1),…(xi,ti),…(xnx,tnx),y通道為(y1,t1),…(yi,ti),…(yny,tny),z通道為(z1,t1),…(zi,ti),…(znz,tnz)。cj經(jīng)過經(jīng)過同樣過程之后的定位數(shù)據(jù)為(x`1,t`1),…(x`i,t`i),…(x`nx`,t`nx`),y通道為(y`1,t`1),…(y`i,t`i),…(y`ny`,t`ny`),z通道為(z`1,t`1),…(z`i,t`i),…(z`nz`,t`nz`),ci三個(gè)通道分別具有nx,ny,nz條數(shù)據(jù),cj三個(gè)通道分別具有nx`,ny`,nz`條數(shù)據(jù),均按升序排列。對(duì)三個(gè)通道分別執(zhí)行后續(xù)操作。
7.1通過ci或者cj的相鄰兩次定位數(shù)據(jù),可以判定其運(yùn)動(dòng)狀態(tài),有運(yùn)動(dòng)和靜止兩種狀態(tài)。以ci的x通道數(shù)據(jù)為例,計(jì)算相鄰兩個(gè)時(shí)間點(diǎn)之間數(shù)據(jù)(xi,ti),(xi+1,ti+1)的歐氏距離。
設(shè)定一個(gè)閾值dmov,如果滿足
8在可以判定運(yùn)動(dòng)狀態(tài)之后,接著依次對(duì)兩張卡的同時(shí)刻數(shù)據(jù)點(diǎn)進(jìn)行位置比較。
8.1兩個(gè)游標(biāo)ii,ij分別從ci和cj數(shù)據(jù)的頭部開始(以x通道為例)。
8.2假設(shè)ii和ij對(duì)應(yīng)的數(shù)據(jù)為(xia,tia),(x`ib,t`ib),如果tia和t`ib指向同一個(gè)時(shí)刻,那么進(jìn)行通道數(shù)據(jù)xia和x`ib的比較,通過7.1算法得到在tia和tib時(shí)刻ci和cj的運(yùn)動(dòng)狀態(tài),如果兩者之一有處于運(yùn)動(dòng)狀態(tài)者,那么數(shù)據(jù)之差|xia-x`ib|小于給定a0*d,就認(rèn)為這兩個(gè)數(shù)據(jù)點(diǎn)非常接近,同時(shí)計(jì)數(shù)器countcmp和countclose加1,如果數(shù)據(jù)之差大于a0*d,那么只有countcmp加1,countcmp代表具有相同時(shí)刻的數(shù)據(jù)計(jì)數(shù),countclose代表具有相同時(shí)刻并且位置非常接近的數(shù)量。如果兩者都處于靜止?fàn)顟B(tài),那么a0等于1,運(yùn)動(dòng)狀態(tài)下a0一般大于2。運(yùn)動(dòng)狀態(tài)下,因?yàn)閿?shù)據(jù)傳輸延遲以及數(shù)據(jù)上傳時(shí)間戳的不同,造成普遍情況下ci和cj距離的增大。不同a0的取值可以減少此種影響。
8.3如果tia和t`ib指向不是同一個(gè)時(shí)刻,那么時(shí)間戳較大的數(shù)據(jù)對(duì)應(yīng)的游標(biāo)不動(dòng),較小的往后移動(dòng)。例如,如果tia大于t`ib,那么ij游標(biāo)往后移動(dòng),接著回到步驟8.2繼續(xù)。
8.4當(dāng)ci和cj的任何一個(gè)游標(biāo)遍歷完,那么計(jì)算結(jié)果
8.5對(duì)通道y,z重復(fù)8.1-8.4步驟,得到三個(gè)通道的pclose值分別為
9當(dāng)8.5中得到的三個(gè)通道的pclose值均大于閾值pthreshold-max的時(shí)候,那么我們認(rèn)為步驟1時(shí)間ta內(nèi)收集的兩組數(shù)據(jù)ci和cj高度相似,記為s1。如果三個(gè)通道有任意一個(gè)通道小于pthreshold-min的時(shí)候,那么說明這兩組數(shù)據(jù)高度不相似,記為s2。其余情況為低相似度,記為s3。
10有了兩張卡在某小段時(shí)間內(nèi)的相似度結(jié)果之后就可累積多次數(shù)據(jù)來得到最后的結(jié)果
10.1根據(jù)實(shí)際情況,在一段時(shí)間tp內(nèi)重復(fù)1-9過程(比如在一個(gè)工作班次內(nèi)),得到ci和cj以周期ta分別計(jì)算的一組組數(shù)據(jù)的相似度結(jié)果,最多有
10.2進(jìn)行一人帶多卡的判斷方法,分別得到s1和s3在所有數(shù)據(jù)結(jié)果中的比例使用
10.3如果ps1>ps1-threshold并且ps3<ps3-threshold,那么可以判定ci和cj在tp時(shí)間內(nèi)屬于一人帶兩張卡。
11通過以上過程可以確定ci和cj是由同一個(gè)人佩戴。實(shí)際情況可能一人佩戴更多的定位卡。假設(shè)tp時(shí)間內(nèi)具有數(shù)據(jù)的定位卡集合setc={c1,c2,…cn},那么兩兩多卡判定結(jié)果最多具有
遍歷setr集合。對(duì)于任意元素ri,它是由cl和ck的多卡結(jié)果組成。
11.1遍歷setr集合。對(duì)于任意元素ri,它是由cl和ck的多卡結(jié)果組成。如果cl和ck是多卡,那么進(jìn)行下一步。否則遍歷下一個(gè)元素ri+1
11.2判斷cl和ck是否屬于某個(gè)多卡集合,如果都不屬于,那么新建一個(gè)setq元素,將cl和ck添加進(jìn)去,那么setq新增元素{cl,ck}
11.3如果cl或者ck只有一個(gè)屬于setq的某個(gè)元素,那么進(jìn)行如下判斷:假設(shè)ck屬于setq元素qi={ck,cz},而cl不屬于setq中任意一個(gè)元素;
11.4根據(jù)以上條件,現(xiàn)有set1={cl,ck},set2={ck,cz}。set1,set2的結(jié)果是均由一個(gè)個(gè)ta時(shí)間內(nèi)結(jié)果組成的,就是說set1time={ta1,ta2…tai…tan},set2time={t`a1,t`a2…t`aj…t`am},如果set1time∩set2time得到的結(jié)果set12time集合元素表示在同一組ta時(shí)間內(nèi)set1和set2均取得到了步驟9的結(jié)果,假設(shè)在同一個(gè)tai=t`aj周期內(nèi),兩組結(jié)果都為s1,那么說明cl、ck、cz在這組時(shí)間內(nèi)高度相似,記為set12={cl,ck,cz}在周期tai(或者t`aj)上擁有s1結(jié)果。如果在此周期內(nèi),任意一個(gè)結(jié)果為s3,那么說明set12在周期tai上擁有s3結(jié)果,剩下的判定為s2結(jié)果。最后根據(jù)10.3計(jì)算set12的ps1和ps3的值,判斷是否為多卡,如果為多卡那么就進(jìn)行合并,否則不進(jìn)行合并。合并的話,qi元素變?yōu)閧cl,ck,cz},不合并的話將會(huì)在setq中新增元素{cl,ck},同時(shí)qi元素保持不變。
11.5如果cl和ck分別屬于兩個(gè)不同的setq元素集合qi和集合qj,那么同理進(jìn)行步驟11.4,判斷qi和qj是否進(jìn)行合并,合并之后,刪除setq中原有的qi和qj,新增元素{qi∪qj}
當(dāng)遍歷完所有的setr集合元素并進(jìn)行11.1-11.5過程后,setq即為目標(biāo)所求。setq中的每一個(gè)元素即為判斷出的多卡的組合,然后系統(tǒng)可以根據(jù)組合進(jìn)行報(bào)警。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。