2016-07-24 19 views
0

これがこの質問をする場所であるかどうかは不明です。PCAを使用した画像圧縮

私はPCAに関してストレージスペースに関して質問があります。

我々は

、画像を圧縮するためにPCAを使用した場合我々は、少なくとも 1を格納しなければならない)主成分 2の数)は、平均がので

抽出したnumpyのアレイ元のイメージアレイサイズと平均減算アレイサイズは同じです。必要とされるストレージの量は同じになります。したがって、圧縮はどこにありますか?

答えて

1

最初に:画像を圧縮するためにPCAを使用することは可能ですが、無駄にすることはできません(意味がありません)。基本的な考え方は、維持された分散を最大にしながら次元の数を最小にすることです。

サイズがx * yのn個の画像があるとします。

次に、保存しなければならないサイズx * yの単一の平均画像を計算します。 さらに、次元kを減らすために、上位k個の固有ベクトル/主成分を使用することができます。これにより、x * y次元からk次元までの各イメージを(どれだけの分散を保つかという選択に基づいて)縮小します。 最後に、サイズk *(x * y)の行列である上位k個の固有ベクトル/主成分を格納する必要があります。

アップ合計する:あなたは

にサイズx * yのn個の画像を減らすことができるA)nがサイズkのアレイ

B)サイズx * yの単一の平均画像

C )kの上位k個の主成分を含むサイズk *(x * y)の行列

これが実際に圧縮を行うかどうかは、kの選択と画像の数によって決まります。

理論的には可能ですが、この圧縮には損失が含まれています。