注:tf.image.non_max_suppression
は私が探しているものではありません!Tensorflow非最大抑制
Canny edge detectorと同様の非最大抑制(NMS)を実行しようとしています。具体的には、2D配列のNMSは、ウィンドウ内で最大値であれば値を保持し、そうでない場合は0に設定します。例えば
、私は「周りに検索しcouldnてきた私たちは3 x 3
のウィンドウサイズを考慮した場合、結果は
[[0 0 0 0 0 0] [0 4 0 0 5 0] [0 0 0 0 0 0]]
あるべき行列に
[[3 2 1 4 2 3] [1 4 2 1 5 2] [2 2 3 2 1 3]]
を考えますこの操作を実行するものはtf.image
とtf.nn
にあります。 NMSを実行するコードがありますか?そうでない場合、Tensorflow(Python)でNMSを効率的に実装するにはどうしたらいいですか?
ありがとうございます!
EDIT:私はこれを解決する方法を考え出しましたが、より良い方法があるかどうかはわかりません:1つのストライド(つまりダウンサンプリングなし)とウィンドウサイズで最大プールをとり、tf.where
値は最大プールされた値に等しく、ゼロでない場合は0に設定されます。より良い方法がありますか?