本發(fā)明涉及機(jī)器視覺的檢測(cè),具體為一種基于機(jī)器視覺的3d模型表面檢測(cè)方法。
背景技術(shù):
1、隨著3d打印技術(shù)的飛速發(fā)展,市場(chǎng)上涌現(xiàn)出各種各樣的3d打印模型。然而,3d打印得到的模型的表面通常存在一些瑕疵,比如表面粗糙度較高或平整性不佳。因此通常需要對(duì)3d模型表面進(jìn)行檢測(cè),得到模型表面準(zhǔn)確的瑕疵位置,進(jìn)一步對(duì)這些瑕疵進(jìn)行加工處理,以獲得質(zhì)量更好的3d模型。
2、現(xiàn)有技術(shù)通常根據(jù)圖像處理的方法,利用點(diǎn)云配準(zhǔn)算法對(duì)3d模型表面進(jìn)行檢測(cè),但是傳統(tǒng)的點(diǎn)云配準(zhǔn)算法通常根據(jù)歐氏距離來獲取匹配點(diǎn)對(duì),忽略了3d模型的缺陷結(jié)構(gòu)以及細(xì)節(jié)特征,容易產(chǎn)生一定數(shù)量的錯(cuò)誤點(diǎn)對(duì),導(dǎo)致點(diǎn)云配準(zhǔn)的準(zhǔn)確度較低,從而使得對(duì)3d模型表面瑕疵檢測(cè)的準(zhǔn)確度較低。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供通過待測(cè)3d模型點(diǎn)云圖像與對(duì)應(yīng)的標(biāo)準(zhǔn)3d模型點(diǎn)云圖像之間的3d結(jié)構(gòu)變化強(qiáng)度差異,以及3d模型粗糙程度差異對(duì)點(diǎn)云配準(zhǔn)算法中的度量距離進(jìn)行改進(jìn)的方法,對(duì)應(yīng)點(diǎn)云配準(zhǔn)的準(zhǔn)確度更高,從而使得對(duì)3d模型表面瑕疵檢測(cè)的準(zhǔn)確度更高的一種基于機(jī)器視覺的3d模型表面檢測(cè)方法。
2、本發(fā)明是這樣實(shí)現(xiàn)的:
3、一種基于機(jī)器視覺的3d模型表面檢測(cè)方法,
4、包括:獲取待測(cè)3d模型點(diǎn)云圖像和對(duì)應(yīng)的標(biāo)準(zhǔn)3d模型點(diǎn)云圖像;
5、在3d模型點(diǎn)云圖像中,任選一個(gè)模型點(diǎn)云數(shù)據(jù)點(diǎn)作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn);將目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)及其近鄰的模型點(diǎn)云數(shù)據(jù)點(diǎn),作為參考模型點(diǎn)云數(shù)據(jù)點(diǎn);根據(jù)參考模型點(diǎn)云數(shù)據(jù)點(diǎn)在所有參考模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)擬合曲面上的法向量之間的方向差異,得到至少兩個(gè)法向量夾角;根據(jù)法向量夾角的異常突變情況以及對(duì)應(yīng)的角度值分布情況,得到法向量夾角中的突變夾角;根據(jù)法向量夾角與突變夾角之間的角度差異,得到每個(gè)法向量夾角與所有突變夾角之間的模型夾角相似度;
6、根據(jù)法向量夾角的分布情況以及對(duì)應(yīng)模型夾角相似度的差異分布情況,得到目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)的3d結(jié)構(gòu)變化強(qiáng)度;根據(jù)所有參考模型點(diǎn)云數(shù)據(jù)點(diǎn)的空間位置分布情況以及對(duì)應(yīng)的法向量夾角差異分布情況,得到目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)的3d模型粗糙程度;根據(jù)待測(cè)3d模型點(diǎn)云圖像與對(duì)應(yīng)的標(biāo)準(zhǔn)3d模型點(diǎn)云圖像之間的3d結(jié)構(gòu)變化強(qiáng)度差異,以及3d模型粗糙程度差異對(duì)點(diǎn)云配準(zhǔn)算法中的度量距離進(jìn)行改進(jìn),得到每個(gè)度量距離對(duì)應(yīng)的改進(jìn)度量距離;根據(jù)改進(jìn)度量距離通過點(diǎn)云配準(zhǔn)算法進(jìn)行3d模型表面檢測(cè)。
7、進(jìn)一步地,所述3d結(jié)構(gòu)變化強(qiáng)度的獲取方法包括:
8、將所有突變夾角隨機(jī)排列,得到突變夾角序列;將每個(gè)法向量夾角與所有突變夾角之間的模型夾角相似度以突變夾角序列的順序排列,得到每個(gè)法向量夾角的模型夾角相似度序列;將所有法向量夾角隨機(jī)排列,得到法向量夾角序列;將法向量夾角序列中所有法向量夾角的角度值的變異系數(shù),作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的模型差異特征值;
9、在法向量夾角序列中,將最后一個(gè)法向量夾角作為第一個(gè)法向量夾角的前一個(gè)法向量夾角,根據(jù)每個(gè)法向量夾角與前一個(gè)法向量夾角對(duì)應(yīng)的模型夾角相似度序列之間的動(dòng)態(tài)時(shí)間彎曲距離,得到每個(gè)法向量夾角的模型整體相似指數(shù);將每個(gè)法向量夾角對(duì)應(yīng)的所有模型夾角相似度的負(fù)相關(guān)映射值的均值,作為每個(gè)法向量夾角的模型平均相似指數(shù);將每個(gè)法向量夾角的模型整體相似指數(shù)與模型平均相似指數(shù)的乘積,作為每個(gè)法向量夾角的模型參考相似指數(shù);將所有法向量夾角的模型參考相似指數(shù)的累加值,作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的模型相似特征值;
10、根據(jù)所述模型差異特征值與所述模型相似特征值得到目標(biāo)模型點(diǎn)云數(shù)據(jù)的3d結(jié)構(gòu)變化強(qiáng)度,所述模型差異特征值與所述模型相似特征值均與所述3d結(jié)構(gòu)變化強(qiáng)度呈正相關(guān)。
11、進(jìn)一步地,所述3d模型粗糙程度的獲取方法包括:
12、對(duì)3d模型點(diǎn)云圖像通過sift算法進(jìn)行特征點(diǎn)檢測(cè),得到3d模型點(diǎn)云圖像中的所有特征點(diǎn);
13、若參考模型點(diǎn)云數(shù)據(jù)點(diǎn)中的特征點(diǎn)數(shù)量少于兩個(gè),則根據(jù)角度值最小的法向量夾角與角度值最大的法向量夾角,構(gòu)成目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的特征點(diǎn)夾角序列;若參考模型點(diǎn)云數(shù)據(jù)點(diǎn)中的特征點(diǎn)數(shù)量大于或等于兩個(gè),則根據(jù)其中所有特征點(diǎn)的法向量夾角,構(gòu)成目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的特征點(diǎn)夾角序列;
14、獲取特征點(diǎn)夾角序列的差分序列,將差分序列中所有數(shù)據(jù)的數(shù)據(jù)熵,作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的局部混亂程度;將差分序列中數(shù)值相等的數(shù)據(jù)作為一種數(shù)據(jù),將所有種類數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)數(shù)量的負(fù)相關(guān)映射值的累加值,作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的離散程度;根據(jù)所述離散程度和所述局部混亂程度得到目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的3d模型粗糙程度,所述離散程度和所述局部混亂程度均與所述3d模型粗糙程度呈正相關(guān)。
15、進(jìn)一步地,所述改進(jìn)度量距離的獲取方法包括:
16、在待測(cè)3d模型點(diǎn)云圖像中,任選一個(gè)模型點(diǎn)云數(shù)據(jù)點(diǎn)作為參考待測(cè)模型點(diǎn)云數(shù)據(jù)點(diǎn);在標(biāo)準(zhǔn)3d模型點(diǎn)云圖像中,任選一個(gè)模型點(diǎn)云數(shù)據(jù)點(diǎn)作為參考標(biāo)準(zhǔn)模型點(diǎn)云數(shù)據(jù)點(diǎn);
17、將根據(jù)點(diǎn)云配準(zhǔn)算法得到的參考待測(cè)模型點(diǎn)云數(shù)據(jù)點(diǎn)與參考標(biāo)準(zhǔn)模型點(diǎn)云數(shù)據(jù)點(diǎn)之間的度量距離,作為參考度量距離;將參考待測(cè)模型點(diǎn)云數(shù)據(jù)點(diǎn)與參考標(biāo)準(zhǔn)模型點(diǎn)云數(shù)據(jù)點(diǎn)之間的3d結(jié)構(gòu)變化強(qiáng)度的差異,作為參考3d結(jié)構(gòu)變化強(qiáng)度差異;將參考待測(cè)模型點(diǎn)云數(shù)據(jù)點(diǎn)與參考標(biāo)準(zhǔn)模型點(diǎn)云數(shù)據(jù)點(diǎn)之間的3d模型粗糙程度的差異,作為參考3d模型粗糙程度差異;將所述參考3d結(jié)構(gòu)變化強(qiáng)度差異和所述參考3d模型粗糙程度差異之間的乘積與所述參考度量距離的和值,作為參考度量距離對(duì)應(yīng)的改進(jìn)度量距離。
18、進(jìn)一步地,所述根據(jù)改進(jìn)度量距離通過點(diǎn)云配準(zhǔn)算法進(jìn)行3d模型表面檢測(cè)的方法包括:
19、將改進(jìn)度量距離作為icp點(diǎn)云配準(zhǔn)算法中的度量距離繼續(xù)進(jìn)行點(diǎn)云配準(zhǔn),得到點(diǎn)云配準(zhǔn)結(jié)果;根據(jù)點(diǎn)云配準(zhǔn)結(jié)果中配準(zhǔn)失敗的模型點(diǎn)云數(shù)據(jù)點(diǎn)進(jìn)行3d模型表面檢測(cè)。
20、進(jìn)一步地,所述模型夾角相似度的獲取方法包括:
21、將每個(gè)法向量夾角與每個(gè)突變夾角之間的角度差異的負(fù)相關(guān)映射值,作為每個(gè)法向量夾角與每個(gè)突變夾角之間的模型夾角相似度。
22、進(jìn)一步地,所述法向量夾角的獲取方法包括:
23、將每個(gè)參考模型點(diǎn)云數(shù)據(jù)點(diǎn)在對(duì)應(yīng)擬合曲面上的法向量,作為每個(gè)參考模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)的參考法向量;將任意兩個(gè)參考法向量之間的夾角,作為法向量夾角。
24、進(jìn)一步地,所述突變夾角的獲取方法包括:
25、將所有法向量夾角隨機(jī)排列,得到法向量夾角序列;
26、對(duì)所述法向量夾角序列進(jìn)行突變點(diǎn)檢測(cè),若突變點(diǎn)檢測(cè)結(jié)果中存在突變點(diǎn),則將法向量夾角序列中的突變點(diǎn)對(duì)應(yīng)的法向量夾角作為突變夾角;若突變點(diǎn)檢測(cè)結(jié)果中不存在突變點(diǎn),則將法向量夾角序列中角度值最大的法向量夾角作為突變夾角。
27、進(jìn)一步地,所述根據(jù)所述模型差異特征值與所述模型相似特征值得到目標(biāo)模型點(diǎn)云數(shù)據(jù)的3d結(jié)構(gòu)變化強(qiáng)度的方法包括:
28、將所述模型差異特征值與所述模型相似特征值的乘積向下取整,得到目標(biāo)模型點(diǎn)云數(shù)據(jù)的3d結(jié)構(gòu)變化強(qiáng)度。
29、進(jìn)一步地,所述根據(jù)所述離散程度和所述局部混亂程度得到目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的3d模型粗糙程度的方法包括:
30、將所述離散程度和所述局部混亂程度的乘積的歸一化值,作為目標(biāo)模型點(diǎn)云數(shù)據(jù)點(diǎn)的3d模型粗糙程度。
31、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
32、考慮到3d模型表面出現(xiàn)瑕疵的區(qū)域?qū)?yīng)的結(jié)構(gòu)通常會(huì)發(fā)生變化,例如局部材料過多導(dǎo)致的凸起,對(duì)應(yīng)區(qū)域中的模型點(diǎn)云數(shù)據(jù)對(duì)應(yīng)的法向量夾角之間的相似性會(huì)由于結(jié)構(gòu)發(fā)生變化而減弱,并且對(duì)應(yīng)區(qū)域的法向量夾角會(huì)存在較大的變化,因此本發(fā)明根據(jù)法向量夾角的分布情況以及對(duì)應(yīng)模型夾角相似度的差異分布情況,得到各個(gè)模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)的3d結(jié)構(gòu)變化強(qiáng)度,進(jìn)一步根據(jù)標(biāo)準(zhǔn)3d模型點(diǎn)云圖像與待測(cè)3d模型點(diǎn)云圖像之間的3d結(jié)構(gòu)變化強(qiáng)度差異,對(duì)點(diǎn)云配準(zhǔn)算法中的度量距離進(jìn)行改進(jìn),進(jìn)一步提高點(diǎn)云配準(zhǔn)的準(zhǔn)確度。進(jìn)一步地,考慮到3d模型表面出現(xiàn)瑕疵的區(qū)域通常較為粗糙,對(duì)應(yīng)區(qū)域的模型點(diǎn)云數(shù)據(jù)點(diǎn)的空間位置以及法向量夾角分布通常較為混亂,因此本發(fā)明根據(jù)參考模型點(diǎn)云數(shù)據(jù)點(diǎn)的空間位置分布情況以及對(duì)應(yīng)的法向量夾角差異分布情況,得到各個(gè)模型點(diǎn)云數(shù)據(jù)點(diǎn)對(duì)應(yīng)的3d模型粗糙程度,進(jìn)一步根據(jù)標(biāo)準(zhǔn)3d模型點(diǎn)云圖像與待測(cè)3d模型點(diǎn)云圖像之間的3d模型粗糙程度差異,對(duì)點(diǎn)云配準(zhǔn)算法中的度量距離進(jìn)行改進(jìn),進(jìn)一步提高點(diǎn)云配準(zhǔn)的準(zhǔn)確度。綜上所述,本發(fā)明通過待測(cè)3d模型點(diǎn)云圖像與對(duì)應(yīng)的標(biāo)準(zhǔn)3d模型點(diǎn)云圖像之間的3d結(jié)構(gòu)變化強(qiáng)度差異,以及3d模型粗糙程度差異對(duì)點(diǎn)云配準(zhǔn)算法中的度量距離進(jìn)行改進(jìn)的方法,對(duì)應(yīng)點(diǎn)云配準(zhǔn)的準(zhǔn)確度更高,從而使得對(duì)3d模型表面瑕疵檢測(cè)的準(zhǔn)確度更高。