Установка шаблона сотовой соты в сетку обнаруженных сотовых точек (различное количество точек в каждом)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Установка шаблона сотовой соты в сетку обнаруженных сотовых точек (различное количество точек в каждом)

Сообщение Anonymous »

Вот некоторая настройка для моей проблемы. Я имею дело с изображениями серого с камеры с заглушкой. Подписки находятся в сот -рисунке, которые могут иметь вращение, масштаб и перевод, но небольшими количествами. Прямо сейчас я обнаруживаю центры только выходов справа ~ 1/3 изображения. Я получаю почти все центры, и, хотя они не совсем прямо в центре облигации, все они находятся в ходе ячеины, может быть, некоторые немного отключены от точного центра. Следующим шагом я делаю предварительно определенную шаблон сетки. Этот шаблон использует диапазон максимума в x и y (выходы), чтобы покрыть обнаруженные центры заглушки с предыдущего шага. Он также использует фактическое горизонтальное и вертикальное расстояние отколов, и это получается от самой камеры. Таким образом, поскольку фактическая пластина изображения представляет собой сотовую сетку из оборудования, этот предварительно определенный шаблон шаблонов, сделанный с использованием того же расстояния, должен поместиться над ней. Это позволило бы мне изучить каждую тонус. Br />def mahalanobis_distance_matrix(template, found):
cov_matrix = np.cov(found.T) # Shape (2,2)

# Invert covariance matrix
inv_cov_matrix = np.linalg.inv(cov_matrix)

# Compute Mahalanobis distances efficiently
diff = template[:, None, :] - found[None, :, :] # Shape (N, M, 2)
cost_matrix = np.einsum('nmk,kk,nmk->nm', diff, inv_cov_matrix, diff) # Vectorized Mahalanobis distance

return np.sqrt(cost_matrix) # Take the square root for final distance

# return cost_matrix

def hungarian_matching_cost(params, template, found):

transformed_template = transform_points(template, params)

# Compute pairwise distance matrix
# cost_matrix = np.linalg.norm(transformed_template[:, None, :] - found[None, :, :], axis=2)
cost_matrix = mahalanobis_distance_matrix(transformed_template, found)

# Solve optimal assignment problem
row_ind, col_ind = linear_sum_assignment(cost_matrix)

# return np.sum(cost_matrix[row_ind, col_ind] ** 2) # Sum of squared distances
return np.median(cost_matrix[row_ind,col_ind]**2)
< /code>
Моя основная проблема сейчас кажется функцией стоимости, поскольку это направляет подгонок. Я просто не могу найти минимум, который выровняет точки. После окончания оптимизатора выровненный шаблон вроде подходит для обнаруженных центров заглушки, но только в местных регионах. Есть несколько мест, где шаблон идеально выстраивается, но когда вы переходите наружу от этой области, точки не выравниваются. Если у кого -то есть идеи или информация о более высоких функциях затрат, возможно, для периодических данных сетки, это будет очень ценится. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/794 ... rent-numbe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»