Planet9

Planet9

Привет, Пикабу! Мы — независимая исследовательская команда, которая ищет гипотетическую Девятую планету в открытых архивах телескопов. Рассчитываем возможные траектории, совмещаем снимки разных лет и проверяем метод на искусственно добавленных объектах. Здесь простым языком рассказываем о ходе поиска, технических решениях, ошибках и ограничениях результатов. Девятая планета пока не обнаружена. Открыты к сотрудничеству с астрономами, университетами и специалистами по обработке данных. https://planet-9.space/
Пикабушник
Дата рождения: 11 июня
770 рейтинг 79 подписчиков 1 подписка 3 поста 3 в горячем
39

Почему самая яркая точка на кадре не стала кандидатом в Девятую планету

На одном из кадров TESS оказался пиксель, который заметно выделялся среди соседних. Если показать только этот фрагмент, получится почти идеальная завязка для сенсационного поста: вот яркая точка, вот поиски неизвестной планеты — осталось соединить одно с другим.

Но соединять нельзя.

Этот набор данных использовался для проверки предварительной обработки изображений. Поиск кандидатов на нём не запускался. Поэтому яркая точка здесь — повод проверить данные, а не повод придумывать небесное тело.

Реальные фрагменты наблюдений TESS сектора 86. Это диагностический пример обработки данных, а не кандидат в Девятую планету.

Реальные фрагменты наблюдений TESS сектора 86. Это диагностический пример обработки данных, а не кандидат в Девятую планету.

Что именно было на экране

В диагностическую выборку вошли 18 небольших фрагментов изображений: по девять кадров для двух участков неба. Всего программа прочитала 73 728 значений яркости. Эта небольшая выборка нужна для конкретной проверки: одинаково ли обрабатываются кадры и не превращает ли сама подготовка данных случайные всплески в привлекательные «объекты».

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

Самое важное здесь — порядок рассуждений. Программа не спрашивает: «Это Девятая планета?» Сначала она задаёт гораздо более скучный вопрос: «Этому измерению вообще можно доверять?»

Именно на скучных вопросах чаще всего заканчиваются красивые находки.

Почему одной яркой точки недостаточно

Похожий сигнал может появиться по причинам, которые никак не связаны с далёким объектом.

Дефектный пиксель способен регулярно давать неправильное значение в одном месте матрицы. Попавшая в детектор частица оставляет след только на одном кадре. Шум иногда складывается так, что несколько соседних пикселей выглядят как слабая звезда. Есть и более неприятные случаи: фон меняется, изображение немного смещается, а остаток от яркого источника после обработки начинает напоминать движение.

Схема, а не снимок реального кандидата: несколько распространённых способов получить убедительную яркую точку без нового объекта.

Схема, а не снимок реального кандидата: несколько распространённых способов получить убедительную яркую точку без нового объекта.

Поэтому яркость сама по себе почти ничего не решает. Нужно понять, повторяется ли сигнал, совпадает ли его форма с обычными точечными источниками и появляется ли он там, где должен оказаться движущийся объект.

Далёкий объект обязан «явиться на пересдачу»

Если перед нами реальное тело Солнечной системы, его положение на небе со временем меняется. Для заданной возможной орбиты можно рассчитать, где объект должен быть на каждом наблюдении. Затем изображения совмещаются не по неподвижным звёздам, а вдоль этого предполагаемого движения.

На одном кадре слабый объект может быть почти незаметен. При правильном совмещении его сигнал должен складываться, а звёзды и случайные выбросы — вести себя иначе.

Схема проверки по нескольким наблюдениям: положения должны согласоваться с одной траекторией.

Схема проверки по нескольким наблюдениям: положения должны согласоваться с одной траекторией.

Но совпадение с одной рассчитанной позицией ещё не спасает находку. Возможных траекторий много, а на большом изображении всегда найдётся что-нибудь яркое. Нужна повторяемость на независимых наблюдениях. Причём не приблизительная в духе «где-то рядом снова есть точка», а согласованная по положению, яркости и форме изображения.

Что произошло с выбросом из сектора 86

В этой диагностике самое сильное отклонение появилось на одном кадре. Автоматическая проверка отметила его вместе с ещё несколькими пикселями для разбора. На этом история намеренно остановилась.

Программа не вычисляла для этих точек оценки кандидатов. Модуль поиска не запускался. Никаких выводов о наличии или отсутствии Девятой планеты по этой выборке делать нельзя.

Звучит как отсутствие результата, но для системы поиска это вполне конкретный результат: подозрительное измерение не прошло дальше только потому, что выглядело ярким.

Схема последовательной проверки. На каждом шаге должна сохраняться причина, по которой сигнал прошёл дальше или был остановлен.

Схема последовательной проверки. На каждом шаге должна сохраняться причина, по которой сигнал прошёл дальше или был остановлен.

Это важно ещё и для воспроизводимости. Если через месяц изменить способ вычитания фона или совмещения кадров, можно сравнить две версии и увидеть, почему список отмеченных пикселей изменился. Без такого журнала легко получить новый «интересный объект» просто из-за новой настройки программы.

Как проверить, что осторожность не ослепляет поиск

Есть обратная опасность. Если слишком агрессивно отбрасывать всё необычное, вместе с шумом можно отклонить слабый настоящий объект.

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

Схематическая иллюстрация теста с искусственными источниками. Она показывает принцип проверки, а не результат для сектора 86.

Схематическая иллюстрация теста с искусственными источниками. Она показывает принцип проверки, а не результат для сектора 86.

Такой тест не доказывает, что программа найдёт любую возможную Девятую планету. Он отвечает на более узкий и проверяемый вопрос: какие сигналы данная версия обработки на данном наборе изображений действительно способна заметить.

Почему «не стал кандидатом» — полезная новость

Поиск редкого объекта почти неизбежно производит огромное количество правдоподобного мусора. Если рассказывать только о красивых точках, получится коллекция ложных тревог. Гораздо важнее показать причины отказа:

- сигнал встретился только один раз;

- его форма не похожа на изображение точечного источника;

- он привязан к одному месту на детекторе;

- повторные наблюдения не подтверждают рассчитанное движение.

Для сегодняшнего примера вывод короткий: предварительная обработка выделила необычные пиксели, но не получила права превратить их в кандидатов. Сам поиск Девятой планеты на этих 18 фрагментах не проводился.

Следующим я могу подробно разобрать одну из двух проверок: как рассчитывается движение между датами или как программа сравнивает форму слабой точки со звёздами на том же кадре. Что выбрать?

Описание проекта и текущий статус собраны на planet-9.space. Девятая планета пока не обнаружена.

Показать полностью 5
55

Код против Космоса: По каким координатам наш Python ищет Девятую планету

Привет, Пикабу! В прошлом посте мы рассказали, зачем вообще кому-то в здравом уме понадобилось складывать сотни астрономических снимков друг на друга. Вы накидали кучу вопросов в комментарии, и самый частый звучал так: «А откуда вы вообще знаете, куда смотреть?»

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

Код против Космоса: По каким координатам наш Python ищет Девятую планету

Карта охоты: 100 000 виртуальных орбит

Мы не тыкаем телескопом в случайные точки неба. За нас уже поработали лучшие умы планеты.

В 2021 году астрономы Константин Батыгин и Майкл Браун из Калтеха (те самые ребята, которые в 2016 году «убили» Плутон, лишив его статуса планеты) опубликовали модель BB21. Они проанализировали странные орбиты ледяных тел на краю Солнечной системы и рассчитали: невидимая планета массой 5-7 масс Земли должна двигаться по гигантской вытянутой орбите на расстоянии 400-800 астрономических единиц от Солнца. Это в 10-20 раз дальше Плутона.

Они выложили в открытый доступ банк из 100 000 возможных орбит этого объекта. Мы загрузили этот банк в наш конвейер. По сути, у нас есть 100 000 «адресов», по которым планета может находиться. Осталось проверить каждый.

Кстати, по последним данным, мировое сообщество уже проверило и отсеяло около 78% этих вариантов. Мы бьёмся за оставшиеся 22% — самые сложные, самые тусклые, самые интересные участки неба.

Но мы не ставим всё на одну карту. Существует альтернативная модель SCT (Siraj, Chyba & Tremaine — группа из Гарварда и Принстона). Они проанализировали те же странные орбиты астероидов, но пришли к немного другим выводам: их планета может быть легче и ближе, а предпочтительное направление на небе отличается от калтеховского. У них тоже свой банк орбит.

Наш конвейер загружает обе модели и проверяет их параллельно. Это принципиальный момент: мы не фанаты ни одной из команд. Мы просто перебираем варианты и смотрим, что покажут данные.

Трюк №1: Как не убить сервер

Наземные обзорные телескопы (вроде ZTF — Zwicky Transient Facility в Калифорнии) каждую ночь фотографируют огромные куски неба и выкладывают снимки в открытый доступ в формате FITS. Один кадр — сотни мегабайт. Для нашего алгоритма нужны десятки таких кадров одного участка, сделанных за несколько месяцев.

Если загрузить их все в оперативку, сервер мгновенно падает с Out of Memory. Мы это проверили. На собственном опыте. Несколько раз.

Решение оказалось элегантным: мы не грузим снимки целиком. Вместо этого мы вычисляем по модели BB21, в каком именно пикселе каждого кадра должна находиться планета на данную дату, и скачиваем только крошечную вырезку (cutout) вокруг этой точки. Представьте: вместо того чтобы притащить домой весь архив библиотеки, вы берёте только нужные страницы из нужных книг.

В итоге наш сервер жуёт данные медленно (то, что суперкомпьютер сделает за час, у нас занимает неделю), зато он не падает. А для независимого проекта стабильность важнее скорости.

Трюк №2: Как отличить планету от мусора

Допустим, алгоритм сложил 50 кадров и обнаружил яркую точку. Можно открывать шампанское?

Нет. Потому что 99.99% таких точек — это цифровой мусор:

  • Космические лучи (высокоэнергетические частицы, которые влетают в матрицу телескопа и оставляют яркий след на одном кадре)

  • Горячие пиксели (дефекты самой матрицы)

  • Далёкие галактики и переменные звёзды, которые случайно попали в нашу «замочную скважину»

Поэтому половина нашей архитектуры — это система фильтрации. Каждый кандидат проходит через цепочку автоматических проверок. Мы анализируем профиль рассеяния точки (Point Spread Function, PSF) — то, как именно свет от объекта размазывается по соседним пикселям из-за атмосферы и оптики телескопа. У настоящего далёкого объекта этот профиль имеет характерную форму (мы используем модель Моффата). У космического луча или горячего пикселя — совсем другую.

Фильтры настроены жёстко. Мы заранее зафиксировали числовые пороги и не имеем права их снижать после получения результатов. Это как в клинических испытаниях лекарств: протокол утверждается до начала эксперимента, а не после. Иначе любой шум можно «подкрутить» под желаемый результат.

А что если это не планета, а чёрная дыра?

Классный вопрос, который нам часто задают! Существует экзотическая гипотеза, что на окраине Солнечной системы прячется не планета, а первичная чёрная дыра (PBH) — объект размером с грейпфрут, но массой в несколько Земель.

Честный ответ: наш метод её не поймает. Мы ловим отражённый солнечный свет, а у чёрной дыры нет поверхности, которая его отражает. Для поиска PBH нужны совершенно другие инструменты — например, гравитационное микролинзирование (когда чёрная дыра искривляет свет далёких звёзд, проходя перед ними).

Но мы учёные, а не фантасты. Сначала проверяем самую вероятную гипотезу — обычную ледяную планету. Если исключим её, тогда уже можно думать об экзотике.

Что дальше?

Мы продолжаем обрабатывать архивы ZTF и параллельно готовим новые подходы к анализу данных. В следующем посте расскажем, как работает сам процесс «сдвига и сложения» изнутри — с кодом, картинками и примерами того, как выглядит настоящий астрономический шум (спойлер: это красиво).

Подписывайтесь, чтобы не пропустить! 🚀

Показать полностью
474

Как мы ищем Девятую планету с балкона, или зачем нам петабайты данных NASA

Привет, Пикабу! Мы — небольшая команда дата-сайентистов, которая решила в свободное время заняться настоящей гражданской наукой (Citizen Science). Мы ищем гипотетическую Девятую планету на окраинах Солнечной системы, используя данные крупнейших телескопов мира, обычные серверы и немного магии на Python.

Сегодня я расскажу, почему её до сих пор не нашли, и как мы планируем обойти в этом деле суперкомпьютеры.

(Спойлер: всё упирается в память).


Проблема: Черная кошка в темной комнате

Вы наверняка слышали про Девятую планету. Это газовый гигант массой примерно в 5-10 раз больше Земли, который прячется где-то очень далеко за орбитой Нептуна. Физически мы её не видели, но мы видим её гравитационную «тень»: она заставляет мелкие астероиды на краю Солнечной системы летать по странным вытянутым орбитам.

Почему её просто не сфотографируют? Представьте, что вы стоите ночью в поле и пытаетесь сфотографировать на смартфон черную кошку, которая бежит в километре от вас. Девятая планета находится так далеко от Солнца, что отражает ничтожно мало света. На одиночном снимке даже самого мощного в мире телескопа она неотличима от теплового шума самой матрицы.

Решение: Метод «Сдвиг и сложение» (Shift-and-Stack)

Астрономы не сдаются. Если на одной фотографии планету не видно, давайте сделаем 100 фотографий одного участка неба за полгода.

Проблема в том, что планета движется. Если мы просто сложим 100 кадров друг на друга, звезды станут ярче, а планета размажется в невидимую тусклую полосу. Поэтому мы используем алгоритм Shift-and-stack.

  1. Мы угадываем (рассчитываем математически) траекторию полета планеты.

  2. Берем первый кадр как базовый.

  3. Второй кадр сдвигаем так, чтобы наша гипотетическая планета оказалась в том же пикселе, что и на первом.

  4. Третий кадр сдвигаем еще сильнее.

  5. И так далее.

Затем мы складываем эти кадры. Звезды при этом смазываются в длинные «макаронины», зато наша невероятно тусклая планета, которая на каждом отдельном кадре была лишь пикселем шума, когерентно складывается сама с собой 100 раз и вспыхивает как яркая точка на итоговом фото!

В чем подвох? (И при чем тут Big Data)

Звучит как задача для студента первого курса, да? Но тут в дело вступает суровая реальность Big Data.

Космические обсерватории (вроде ZTF или DECam) выкладывают в открытый доступ сырые FITS-снимки. Один скан неба весит гигабайты. Возможных орбит у Девятой планеты — сотни тысяч.

Для каждой орбиты вам нужно загрузить гигабайты снимков в память компьютера, учесть параллакс Земли (мы ведь тоже летим вокруг Солнца на огромной скорости), повернуть и сдвинуть изображения с субпиксельной точностью и сложить их. Обычный компьютер просто падает в обморок с ошибкой Out of Memory (нехватка оперативной памяти) на первых же минутах.

Как это решаем мы

Мы не можем арендовать суперкомпьютер за миллионы долларов. Поэтому мы используем инженерную смекалку и суровый Python.

Вместо того чтобы грузить огромные изображения целиком, наш пайплайн использует метод «ленивого чтения» (out-of-core вычисления). Мы точечно скачиваем из баз NASA только крошечные «вырезки» (cutouts) неба размером 180x180 пикселей именно там, где сейчас должна пролетать планета.

Вся тяжелая математика (преобразования небесных координат) переписана на векторизованные операции в NumPy и C-расширения библиотеки Astropy. То, что раньше считало бы часами, теперь вычисляется за секунды. Мы научились потоково переваривать сотни гигабайт астрономических данных, не выходя за лимиты оперативки обычного сервера.

Итоги первого теста

Недавно мы прогнали алгоритм на тестовом участке неба. Пайплайн выкачал 100 снимков, сложил их, и... выдал нам сигнал! Яркую точку там, где ее не должно было быть. Мы провели независимую верификацию, разбили данные пополам и проверили еще раз. Сигнал пропал. Это был всего лишь статистический шум матрицы.

Но знаете что? Это огромный успех. То, что алгоритм не дал нам «ложноположительный» результат, означает, что наша математика подавления шума работает идеально. Мы успешно отсеяли мусор.

Что дальше?

Впереди проверка огромных участков неба. Мы будем регулярно рассказывать на Пикабу о том, как идет наша охота: как мы боремся с астероидами-самозванцами, как спасаем «битые» пиксели и как ищем ту самую точку во тьме.

Если вам интересна астрономия, космос и программирование — подписывайтесь. Будем рады видеть вас на борту нашей маленькой исследовательской станции! 🚀

Показать полностью 2
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества