Вот некоторая настройка для моей проблемы. Я имею дело с изображениями серого с камеры с заглушкой. Подписки находятся в сот -рисунке, которые могут иметь вращение, масштаб и перевод, но небольшими количествами. Прямо сейчас я обнаруживаю центры только выходов справа ~ 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
Установка шаблона сотовой соты в сетку обнаруженных сотовых точек (различное количество точек в каждом) ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Средние расходы клиентов в каждом месяце и количество заказанных товаров в каждом месяце.
Anonymous » » в форуме JAVA - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Различное поведение компилятора в отношении шаблона варидового шаблона - Ошибка C3520 / C3543
Anonymous » » в форуме C++ - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-