Biorąc pod uwagę to, że w skali szarości obrazu jako 2D Tensor (wymiar W, H) i tensora współrzędnych C (wymiar. Brak, 2). Chcę interpretować wiersze C jako współrzędne w tych współrzędnych, używając pewnego rodzaju interpolacji (dwuliniowy prawdopodobnie będzie dobrze dla mojego przypadku użycia) i przechowywać wynikowe wartości w nowej tensor P (Wymiar Brak, tzn. 1-wymiarowy z tak wieloma wpisami, jak C ma wiersze).Interpolowana próbkowania punktów obrazu z TensorFlow
Czy to możliwe (sprawnie) z TensorFlow? Wszystko, co mogę znaleźć, to funkcje do zmiany rozmiaru (równomierne ponowne próbkowanie, jeśli chcesz) obrazów. Ale nie mogę znaleźć niczego gotowego do wypróbowania na liście współrzędnych.
tj. Liczyłam znaleźć coś jak tf.interpolate() Funkcja:
I = tf.placeholder("float", shape=[128, 128])
C = tf.placeholder("float", shape=[None, 2])
P = tf.interpolate(I, C, axis=[0, 1], method="linear")
Idealnie będę szuka rozwiązania, które pozwoliłoby mnie do interpolacji w N wymiarowej tensora I wzdłuż wymiarach M używając C z kształtem (brak, M) i wytworzyć wyjście N-M + 1, jak wskazuje parametr "oś" w powyższym kodzie.
("Obraz" w mojej aplikacji nie jest obrazkiem btw., Jest próbkowanymi danymi z modelu fizycznego (gdy jest używany jako symbol zastępczy) lub alternatywnego modelu uczenia się (gdy jest używany jako zmienna) .Teraz ten model fizyczny ma 2 stopnie swobody, więc interpolacja w "obrazie" jest na razie wystarczająca, ale mogę w przyszłości przyjrzeć się modelom o wyższych wymiarach.)
Jeśli coś takiego nie jest możliwe przy istniejących funkcjach TensorFlow: Gdzie powinien Zaczynam, gdy chcę zaimplementować coś takiego, jak ten operator tf.interpolate()? (dokumentacja i/lub prosty przykładowy kod)
Jest skuteczny sposób na najbliższy sąsiad za pomocą interpolacji tf.gather ... nie jestem pewien o interpolacji liniowej –
Jest 'tf.image.resize_bilinear'. Czy tego nie chcesz? – Albert
@Albert No. To zrobiłoby tylko to, co chcę, gdybym chciał wypróbować obrazy źródłowe we wszystkich punktach siatki. Ale wiersze C mogą być dowolnymi współrzędnymi w obrazie źródłowym. – CliffordVienna