2016-01-11 7 views
1

Проблема: есть изображение P из группы звезд. Затем компьютер должен проанализировать (после извлечения) звезды в P и сравнить их с данными о известных звездах, выяснить, какие звезды находятся на фотографии и правильно идентифицировать их. Это усложняется, потому что фотография может иметь произвольное вращение и масштаб, применяемые к нему.Star Matching Algorithm с масштабом и вращением

В астрономии и астрометрии это называется решениями для пластин.

кажется график БД должен обеспечить некоторые естественные преимущества: Легко выразить расстояние между двумя звездами как собственность края, легко хранить данные в нескольких структурах данных, таких, как КД деревьев и т.д.

Есть ли что-нибудь близко к этому? Либо на точку, либо связано с поиском больших совпадений шаблонов внутри GDB?

+0

посмотрите [Возможно ли сделать корреляцию между изображением и созвездием?] (Http://stackoverflow.com/a/28958816/2521214) – Spektre

ответ

0

Я не думаю, что графы-DB полезны для этого. Они могут хорошо разбираться в графических шаблонах, но я полагаю, что шаблоны не совсем понятны, потому что в зависимости от качества изображения может быть любое количество других слабых звезд между ними. Знаете ли вы расстояние между звездами (arc-seconds?)?

Я полагаю, вы могли бы использовать многомерный указатель. Во-первых, выберите звезду (возможно, самую яркую, или самую высокую с красным смещением, или что-то еще, я не астроном). Затем выберите вторую и третью ярчайшие звезды на заданном расстоянии. Это дает вам 6 значений: 3 яркости, 2 расстояния (от 1-й звезды) и один угол между 2-м и 3-м. Вы можете подать это в 6-мерный индекс (R-Tree, kd-tree, quadtree или PH-Tree. Затем вы можете выполнить поиск ближайшего соседа. Вы можете добавить дополнительные размеры, используя классификацию (M-Star, ...) или просто основной цвет каждой звезды. Или вы можете добавить дополнительные звезды и их соответствующее расстояние до звезды №1 и их угол относительно звезды № 2.

Это должно дать вам фиксированный индекс поиска без вращения, который может . запрашиваться с Knn запросов, запросов по диапазону или оконных запросов

Кроме того, вы можете проверить http://astrometry.net/

Отказ от ответственности: РН-Tree моя собственная inven это лучше всего работает, если у вас есть 100 000 записей. Вам также потребуется сначала нормализовать данные.

+0

Спасибо за комментарий. Очень интересно! Несколько вещей: 1-Шум - проблема. Всегда будут какие-то дополнительные звезды и некоторые пропавшие звезды. 2 - Известно угловое разрешение в секундах дуги на пиксель. Проблема «решения о« слепой пластине », когда секунды дуги на пиксель неизвестна, является более сложной проблемой. 3- Я знаком с astrometry.net. 4 - TIlmanZ - Мне нравится ваша идея. Это очень похоже на то, о чем я думал. 5 - Тем не менее, обнаруживается раскол звезд, это будет «Нечеткий». Вот где я думал, что график db может быть полезен, хотя я никогда не использовал gbd таким образом до –

+0

Я думаю, что графические DB более полезны, если вы хотите перемещаться по графику. Диаграмма графа должна быть способна быстро рассказать кратчайший путь между двумя узлами, сколько узлов может быть достигнуто с данного узла с 3 перелетами или, может быть, выяснить, образуют ли множество узлов и ребер несколько несвязанных графов или только один граф , – TilmannZ

+0

Обычно в графе DB нет понятия «шаблоны» (например, 3 узла, образующих треугольник), в лучшем случае вы можете дать «расстояние», поместив свет по краям. Но поскольку также нет понятия (евклидова) пространства, одна «сторона» треугольника может быть, например, равна 100х, а длина двух других сторон объединена. Возможно, можно добавить понятие евклидова пространства, полагая, что использование решения с самой яркой звездой и соседями может быть намного быстрее. – TilmannZ