我正在學習圖像壓縮和重構方面的矢量量化,我想知道爲什麼我們要從訓練集中形成初始碼書?既然我們只傳輸碼字的索引,那麼爲什麼我們不把這個訓練集作爲最終的碼本。這會導致更準確的重建,對吧?有什麼區別?在矢量量化中的訓練集
1
A
回答
0
碼本不是要傳輸的圖像。碼字是k維碼本中一行的參考點。注意:碼本本質上是一個二維數組,其中行號是碼字。
示例: 1000張訓練圖像的大小均爲512x512。 如果我們想創建一個尺寸爲256的碼本,爲了將512x512圖像壓縮成128x128 VQ(矢量量化)索引表,我們的碼本需要16個維度(即,我們原始圖像中的每個4x4塊(16個值)被壓縮到1的值是一個碼字)。 無論您使用哪種聚類算法(例如LBG),都會在1000個訓練圖像中找到最能代表4x4塊的最接近的16個值。這16個值將被放入碼本。在找到最佳的256個組或16個值的集羣之後,碼簿即可使用。
該碼本需要發送給接收端一次。它是一個256行,16維結構,與1000個512x512訓練圖像相比。您可以向接收方發送一個128x128索引表,然後查找碼本中的位置並重建512x512圖像。這不是確切的,因爲這種類型的壓縮是有損的。
相關問題
- 1. Tensorflow:添加例子來訓練矢量
- 2. MATLAB:矢量化反向傳播(無循環訓練示例)
- 3. 在Python中加載預訓練手套矢量
- 4. 在.mat文件中爲訓練數據集創建特徵矢量
- 5. 矢量化子集()?
- 6. Backpropogation中的標準化訓練集
- 7. 1)從整個訓練集中訓練CNN和2)訓練集中的訓練集,然後是整個訓練集之間的區別是什麼?
- 8. 在Caffe中測量訓練錯誤
- 9. accord.net svm增量訓練
- 10. 如何用TF-IDF構造單詞n-gram的訓練矢量
- 11. 跳過克和跳過克拉克的預訓練矢量
- 12. 矢量初始化矢量
- 13. 訓練數據集
- 14. 正規化無限大訓練集?
- 15. 初始化矢量矢量(外部矢量和內部矢量)
- 16. 支持向量機正在使用訓練集,但不在測試集中R
- 17. 動態設置張量流量的訓練能力變量
- 18. 初始化矢量矢量的C++
- 19. 矢量矢量的初始化?
- 20. AdaBoost算法的訓練集
- 21. 更新ANN的訓練集
- 22. 矢量化:如何才能在向量矢量中只有所有元素集合的集合差異?
- 23. 僅訓練張量流中的一些變量
- 24. 如何選擇適合的預測量訓練數據集?
- 25. 使用支持向量機訓練我的數據集
- 26. 特徵向量:訓練對測試集的權重計算
- 27. Java矢量集
- 28. 初始化對(位集,INT)的矢量
- 29. C++中的矢量集
- 30. 在weka中使用均衡訓練集