圖像視頻相似度算法

背景與原理

前段時(shí)間公司項(xiàng)目用到了語(yǔ)音識(shí)別,圖像識(shí)別,視頻識(shí)別等,其實(shí)不能說(shuō)是識(shí)別,應(yīng)該說(shuō)是相似度對(duì)比吧,畢竟相似度對(duì)比還上升不了到識(shí)別哈,等以后有了更深的理解再來(lái)討論修改下!這次就當(dāng)做一個(gè)總結(jié)吧!

其實(shí)它的原理就是一個(gè)把需要的特征總結(jié)在一個(gè)指紋碼里面,進(jìn)行降維成指紋碼,假如個(gè)指紋碼一模一樣,那兩張圖片就想似了.下面有寫(xiě)怎么編譯成唯一標(biāo)識(shí),再用漢明距離計(jì)算兩個(gè)指紋碼的相似度.


圖像相似度算法:

圖片是采用phash算法,一共分為四步吧.

1.將圖片縮放到16*16大小,這是我們選擇的合適的大小,假如寬高不一樣,直接將其壓到16*16,去掉細(xì)節(jié),只保留宏觀;

2.圖片一共是16*16的,共256個(gè)像素,我們將圖片進(jìn)行灰度化,灰度化就是只有黑白灰三種,從白到黑,一共分了255層;

3.灰度化之后將圖片進(jìn)行DCT轉(zhuǎn)換(離散余弦變化),因?yàn)闉榱俗R(shí)別有的圖片旋轉(zhuǎn),這個(gè)DCT轉(zhuǎn)換是將圖片進(jìn)行了一種壓縮算法;

4.我們對(duì)這個(gè)算法進(jìn)行了優(yōu)化,因?yàn)橹笆怯?jì)算像素的均值,我們?yōu)榱烁鼫?zhǔn)確,我們?nèi)GB,rgb一共分為255個(gè)像素,我們將255個(gè)像素分為16段,如果像素大于0-16記為0,17到32記為1,直到255,這樣就得到255位的二進(jìn)制,這就是這張圖片的指紋碼.

得到唯一標(biāo)識(shí)的指紋碼之后怎么去計(jì)算像素度呢?

通過(guò)漢明距離比較兩個(gè)二進(jìn)制距離,如果距離小于<10的話,我們就判定兩張圖片相似.如果兩個(gè)指紋碼(二進(jìn)制)一模一樣,我們就判定兩個(gè)是一張圖片,或者類(lèi)似;


視頻相似度算法:

視頻的話我們是通過(guò)ffmpeg(ff am pig),它是一個(gè)專門(mén)處理視頻的框架,可以從視頻中按針提取圖片.然后就按照?qǐng)D片的相似度取對(duì)比了...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容