如何把照片压缩到20k一下_如何将图像压缩10倍?阿里工程师有个大胆的想法!...
生活随笔
收集整理的這篇文章主要介紹了
如何把照片压缩到20k一下_如何将图像压缩10倍?阿里工程师有个大胆的想法!...
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
小嘰導(dǎo)讀:如何將單張圖片由120k 壓縮到了平均13k?阿里工程師做到了!并且將歐式距離計(jì)算平均耗時(shí)做到9微秒。今天,阿里巴巴技術(shù)專家蕭冷將公開從初步嘗試到優(yōu)化的過程,希望對(duì)你有所幫助。背景在手機(jī)上用戶隨手拍一張衣服的照片,去找類似圖片的需求比較明顯,以圖搜圖項(xiàng)目目的就是滿足用戶的這部分需求。該項(xiàng)目初步預(yù)計(jì)5個(gè)類目,每個(gè)類目500萬圖片用于檢索。經(jīng)過特征提取,每張圖片可以表示為30976維空間中的一個(gè)點(diǎn),即可以用30976個(gè)float值表示,為了便于處理,我們將特征值乘以100000,在不損失float值精度的情況下,用int32_t存儲(chǔ)圖片特征。圖片檢索時(shí)需要計(jì)算query 圖片和索引圖片的歐式距離,圖片之間計(jì)算歐式距離的耗時(shí)為50微秒,經(jīng)過cpu指令集優(yōu)化(sse),歐式距離計(jì)算耗時(shí)減少到13微秒。在壓縮之前,所有圖片的大小為 3T( 4 * 30k * 25000000),每臺(tái)機(jī)器30G內(nèi)存用于存儲(chǔ)圖片,需要100臺(tái)機(jī)器存儲(chǔ)全量圖片。需要在計(jì)算歐式距離效率不降低的情況下,對(duì)圖片進(jìn)行壓縮,大規(guī)模減少機(jī)器的占用。我們的目標(biāo)是壓縮到500G左右,即壓縮之后每張圖片20k左右,歐式距離計(jì)算耗時(shí)為15微秒左右。歐式距離計(jì)算要求耗時(shí)在微秒級(jí)別,已有的壓縮方法,比如p4delta、valgrind壓縮等在性能上不滿足要求,需要我們根據(jù)數(shù)據(jù)特點(diǎn)自己定制壓縮方法。成果? 這么靠譜的成果是如何做到的呢?初步嘗試
目前的壓縮方法單張圖片由120k 壓縮到了平均13k。
歐式距離計(jì)算平均耗時(shí)為9微秒。
- bitmap的方法
- 采用offset的壓縮方式
- 兩個(gè)壓縮圖片計(jì)算 --> 一個(gè)壓縮一個(gè)非壓縮
- 確定采用off_set壓縮方式
- 做法
- 舉例:
- olength += (6 - 0) * (6 - 0) olength += (sqrt[2] - sqrt[0])
- olength += (6 - 4) * (6 - 4)olength += (sqrt[3] - sqrt[3])
- olength += (6 - 0) * (6 - 0)?olength += (sqrt[4] - sqrt[4])
- 效率:20微秒
- 代碼如下:
- 有沒有更優(yōu)化的方法呢?
- 舉例,上面的例子:
- multi += 6 * 0
- multi += 6 * 4
- multi += 6 * 0
- 效率 :11微秒
代碼
- 方法
- 效果
- 舉例
- 方法
- 效果
- 舉例:
- 方法
- 效果
- 舉例
- 方法
- 效果
- 舉例
- 方法
- 效果
- 舉例
多視圖多標(biāo)記算法SIMM
10億節(jié)點(diǎn)異構(gòu)網(wǎng)絡(luò)中,GCN 如何應(yīng)用?
當(dāng)個(gè)不“佛系”的推薦系統(tǒng),CTR 預(yù)估要做哪些?
關(guān)注機(jī)器智能把握未來可能總結(jié)
以上是生活随笔為你收集整理的如何把照片压缩到20k一下_如何将图像压缩10倍?阿里工程师有个大胆的想法!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新风系统风速推荐表_家用新风常用管道规格
- 下一篇: centos7输入shell找不到命令_