openCV 2.4.3 で SIFT を使用していましたが、openCV 2.4.6 にアップグレードすることにしました。アップグレード後、openCV 2.4.6 ではメモリ使用量が約 (150MB) から 1.2GB に跳ね上がりました。
これがバグなのか、今すぐ設定する必要があるのか 誰かが知っていますか?
画像のサイズは 1.4MB です。この動作は iOS で確認されました。この問題は、Linux (CentOs) でも発生しているようです。
Tks
これらのバージョンの 1 つにキーポイント抽出に関するバグがあったことを覚えています。ORBで見たので、ここで同じ問題かどうかわかりませんが、参考になればと思います。
問題は、キーポイント エクストラクタが新しいキーポイントを抽出する前に出力ベクトルをクリアしなかったことです。
vector<cv::KeyPoint> keys;
cv::Mat descs;
cv::ORB orb;
for(...)
{
orb(image, mask, keys, descs); // bug: keypoints were accumulated in "keys"
}
次のようにパッチを当てる必要がありました。
for(...)
{
keys.clear();
descs.release();
orb(image, mask, keys, descs);
}
OpenCVのバグレポートを提出しました。今、ただ待って見てください...