Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2022, 16:53
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сориентироваться по звездам. Помогите придумать алгоритм
Вопрос не имеет отношения к JavaScript, язык тут не важен.
Есть такая задача - имеется фотография кусочка звездного неба (размер примерно 30 градусов, на которой видны несколько звезд). Нужно программно совместить это изображение с картой звездного неба. Пусть для простоты даже известно примерно что это за участок.
Даже не представляю с какой стороны к задаче подходить. Перебор - невообразимо долго (три угла надо подбирать, склонение, прямое восходжение, и где на картинке север). А как еще? Ведь наверняка эту задачу уже решали, вот только найти ничего не могу.
Буду признателен за любые идеи, или "наводки" на литературу.
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2022, 07:43
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Если не знаешь как решить задачу начни с ее классификации. Практически все задачи уже решали когда то раньше а уникальные задачи крайне редкое исключение.

В данном случае это задача идентификации ну или подвид той же задачи классификации.
Идентифицируют что то по характерным отличительным признакам.
т.е. по признакам которые можно отличить и характеризовать их еще называют метриками это то что можно измерить.

На звездном небе самыми заметными кандидатами для классификации являются звезды а классифицировать и идентифицировать их проще всего наверно по их яркости и их окружению (соседних звездах).

Предлагаю алгоритм когда на снимке находятся самая яркая звезда в центре снимка далее на определенном радиусе от этой звезды ,например радиусе до более яркой звезды не так близко расположенной к центру изображения. Вот в таком радиусе находятся 5-20 наиболее ярких звезд и по часовой стрелке вычисляются углы к этим звездам. вот перечень углов и будет метрикой достаточной приближенной для идентификации наиболее ярких звезд.

Хотя если делать по уму метрик стоит выделить как можно больше и использовать их совместно это позволит многократно увеличить точность и скорость алгоритма.
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2022, 15:05
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Идея интересная. Вот только проблема: Какие звезды будут считаться ближайшими и достаточно яркими, может отличаться в "эталонной" записи и в результате измерений. Пограшности, все таки, есть, и есть то, что находится на самой границе, в какую сторону от границы это попадет, вопрос случая. А лишние или отсутствующие звезды сразу сильно меняют некоторые углы. Хотя, неверно, если более внимательно подумать, можно проблему минимизировать.
Кстати, вопрос по работе форума, почему у меня нет прав нажать на плюсик? И кармы и времени с момента регистрации должно быть достаточно...
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2022, 15:10
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Как вариант, можно смотреть на расстояния, лишняя или пропущенная звезда тут не будет "портить" другие звезды.
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2022, 15:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от rgl
почему у меня нет прав нажать на плюсик?
возможно вы уже плюсовали данный ник, после этого надо проплюсовать других. как-то так)))
Ответить с цитированием
  #6 (permalink)  
Старый 18.10.2022, 16:30
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

В этом весь и фокус что нужно отбирать звезды по яркости т.е. самые яркие. Тогда станет не так важно качество снимков или искажение линзой атмосферы. Думаю достаточно будет подготовить 500 - 10 000 звезд со снятой метрикой и можно подготовить несколько метрик для каждой звезды ориентируясь на пяток ближайших ярких звезд для каждой звезды яркие звезды станут радиусом для алгоритма подготовки метрики. И уже по подготовленной базе полученных метрик искать метрику полученную из снимка.

Точного совпадения конечно же не будет зато зато ближайшая метрика будет опознавать звезду с одной ошибкой на миллион.
Ответить с цитированием
  #7 (permalink)  
Старый 18.10.2022, 17:14
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Цитата:
Как вариант, можно смотреть на расстояния, лишняя или пропущенная звезда тут не будет "портить" другие звезды.
Расстояния очень сильно страдают при изменении масштаба в отличии от углов которые неизменны при любых масштабах.

Так же хорошим алгоритмом должна быть триангуляция пространства по звездам отсортированным по яркости. в результате будут получены треугольники которые так же будут отличной метрикой удобной для поиска. Триангулировать можно очень далеко и глубоко плюсом такого алгоритма будет то что разбиение яркого треугольника на более мелкие треугольники никак не будет влиять на геометрию и пропорции исходного треугольника.

Но такой алгоритм будет требовать более сложных структур данных таких как бинарные деревья где самые крупные треугольники будут содержать ссылки на треугольники на которые он разбивается.

Что гораздо сложнее хранения пятка углов к ярким звездам.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите придумать логику к движению в правую сторону. Alexkor5 Элементы интерфейса 0 30.08.2020 17:02
SCRAM-SHA-1 помогите имплементировать алгоритм на php iNfantry Серверные языки и технологии 6 24.09.2015 01:29
Помогите придумать zasranic Работа 10 07.09.2011 16:12