3
注意:tf.image.non_max_suppression
不符合我的要求!Tensorflow非最大抑制
我在嘗試執行類似於Canny edge detector的非最大抑制(NMS)。具體來說,2D陣列上的NMS將保持一個值,如果它是一個窗口內的最大值,否則將其抑制(設置爲0)。
例如,考慮矩陣
[[3 2 1 4 2 3] [1 4 2 1 5 2] [2 2 3 2 1 3]]
如果我們考慮的3 x 3
的窗口大小,那麼結果應該是
[[0 0 0 0 0 0] [0 4 0 0 5 0] [0 0 0 0 0 0]]
我已搜索周圍,couldn」在tf.image
和tf.nn
中找不到執行此操作的任何內容。有代碼執行NMS嗎?如果不是,我如何在Tensorflow(Python)中有效地實現NMS?
謝謝!
編輯:我想出了一個辦法來解決這個,但我不知道是否有更好的方法:取最大池1個跨度(即無下采樣)和窗口大小,然後用tf.where
檢查該值等於最大池值,如果不是,則設置爲0。有沒有更好的辦法?