В рубрике DOU Проекторвсе желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.
Привет, меня зовут Сергей Хламов. Я — Senior Test Engineer (GlobalLogic, Харьков), PhD (математическое моделирование и вычислительные методы). Но, кроме этого, у меня есть необычное увлечение. В качестве Team Lead команды CoLiTec (Collection Light Technology — технология собирания света) я участвую в разработке астрософта — программного обеспечения для обработки астрономических изображений. Почему от этого зависит безопасность Земли и как это может помочь астрономам со всей планеты — далее в моей статье.
Уверен, у вас возникнет вопрос: как моя основная деятельность и хобби связаны? Отвечу просто — никак, но одно не было бы без другого. Навыки, которые помогают мне эффективно заниматься проектом CoLiTec, а именно — основы менеджмента, знание жизненного цикла продукта, бизнес-принципы, международные процессы и работа с клиентами, скиллы для международного сотрудничества — все это я приобрел благодаря почти
Идея
Ни для кого не станет открытием, что существует огромное количество астероидов, комет, метеоров, метеоритов, которые являются объектами Солнечной системы (Solar System Objects, или SSO / ССО). У каждого ССО есть своя орбита и траектория движения. Бывает так, что на определённый момент времени орбита ССО пересекается с орбитой Земли либо проходит очень близко к ней.
Количество известных потенциально опасных объектов, сближающихся с Землёй, очень быстро растёт. Проблема астероидно-кометной опасности в XXI веке стала одной из топ-тем научных конференций, которые проводят ESA, NASA и GAIA, она регулярно рассматривается ООН, правительствами и парламентами ведущих стран мира, влиятельными неправительственными организациями.
Но как мы можем защитить планету от астероидов? Отправить Брюса Уиллиса на астероид как в фильме «Армагеддон»? Нет, это ведь не Голливуд...
Ученые всего мира разрабатывают различные способы предотвращения столкновения космических объектов с Землей. Очень важным является первичный этап борьбы с «летящими на Землю камнями»: генерация предупреждений при обнаружении опасных объектов. Чем раньше будет «аларм», тем больше будет времени на реагирование (отправку Брюса). Именно поэтому всё больше внимания уделяется разработке средств и методов обнаружения и мониторинга объектов, сближающихся с Землёй. В этой связи астероидные обзоры с автоматической обработкой их результатов в настоящее время являются значимым направлением астрономии. И наш проект — CoLiTec — как раз и посвящен этой проблематике.
О проекте
CoLiTecбыл создан 1 марта 2009 года под руководством доктора технических наук, профессора Вадима Евгеньевича Саваневича, члена Международного Астрономического Союза (IAU — International Astronomical Union). Мы — команда разработчиков, которая занимается созданием астрософта. Кроме того, мы занимаемся научной деятельностью, в том числе написанием статей и диссертаций.
Я с детства мечтал о телескопе, поэтому и решил стать частью проекта CoLiTec, как только узнал о нём, а именно в 2012 году. Теперь я наблюдаю небо «глазами» телескопов, находящихся в разных обсерваториях мира.
Команда проекта поставила перед собой две основные задачи:
- Создать универсальное программное обеспечение, которое может максимально упростить работу оператора (астронома) с применением современных IT-технологий за счёт автоматизации процесса.
- Усовершенствовать и разработать новые вычислительные методы обработки различных данных с последующей их инкапсуляцией в наукоемкое ПО.
И мы создали ПО CoLiTec, которое обрабатывает серии цифровых кадров с телескопов различных обсерваторий и автоматизировано обнаруживает астероиды и кометы в режиме реального времени.
ПО CoLiTec обладает способностью обнаруживать на серии цифровых кадров движущиеся объекты в широком диапазоне скоростей. А именно, очень медленные, очень быстрые объекты и объекты, движение которых на серии цифровых кадров незаметно невооруженным глазом.
Работа ПО основана на уникальных вычислительных методах, логике и архитектуре. Более того, нам удалось адаптировать ПО к использованию на широкопольных телескопах. И вот, уже 7 лет наша разработка успешно эксплуатируется в дистанционно управляемых обсерваториях на территориях Украины, Словакии, Чехии, Бельгии, Таиланда, Китая, а также во множестве любительских обсерваторий. С помощью ПО CoLiTec впервые в странах СНГ и Балтии в автоматизированном режиме были открыты первые астероиды и кометы.
Успешная эксплуатация ПО позволила нам сделать более 1500 открытий и чуть меньше чем миллион измерений, отправленных и зарегистрированных в MPC. За 8 лет мы разработали 8 продуктов для астрономических исследований, которые как дополняют друг друга, так и могут использоваться автономно. Более подробно о них и использованных IT-технологиях я расскажу ниже.
Реализация
Теперь давайте рассмотрим, какие входные данные использует ПО CoLiTec. Наблюдение ССО осуществляется с помощью телескопа, оснащенного
Так вот, после формирования «входа» начинается обработка серии цифровых кадров. Само обнаружение движущихся объектов происходит в несколько этапов. Цикл обработки с помощью ПО CoLiTec в виде упрощенной блок-схемы наглядно представлен на рисунке ниже.
Программа вычитывает массив яркостей каждого
Далее следует внутрикадровая обработка: оценка положения объектов в фиксированные моменты времени. И завершающий этап: межкадровая обработка. Она используется для обнаружения и оценки параметров траекторий движения объектов.
Ядром ПО CoLiTec является предварительное обнаружение объектов на основе накопления статистик вдоль траекторий каждого объекта. Диапазон видимых скоростей движения обнаруженных объектов составляет
За счёт уникальных разработанных вычислительных и математических методов наше ПО обеспечивает 100 % достоверность обнаружения в случае наличия хотя бы четырех последовательных кадров, если при этом не было существенных помех. Но даже если на кадрах присутствуют серьезные помехи, то точность снижается обычно до уровня не ниже 70 %. С более подробной информацией о точности измерений ПО CoLiTec можно ознакомиться в статье MNRAS.
Особое значение имеет режим OLDAS (On-line Data Analysis System). Он позволяет оперативно обрабатывать данные и назначать подтверждение наиболее интересных обнаруженных объектов в ночь их предварительного открытия. Это значит, что как только телескоп формирует кадр, наши «бравые клоны» подхватывают его и начинают обработку. Что это за «клоны»? Это специально разработанная программа, которая имеет децентрализованную систему управления и не зависит от основной программы. Она умеет создавать свои копии в соответствии с доступными свободными задачами (на любом из этапов обработки). Технология использует процессы с предотвращением коллизии, т. е. одну свободную задачу сразу 2 «клона» не смогут взять, все они работают параллельно и асинхронно.
Во время создания новой версии ПО CoLiTec были применены новые принципы, переход на кроссплатформенность, а также пересмотрены подходы для качественного контроля выполняемого процесса обработки.
При создании основных модулей с GUI применялась кроссплатформенная технология Java FX 2.0. Такими модулями являются CoLiTec Control Center, редактор настроек ThresHolds.
Основная «шина» для контроля вычислительного процесса и поэтапной обработки реализована на Java 8. В ней также еще используется технология предметного посредника.
Ниже представлены некоторые из подходов для качественного контроля выполняемого процесса обработки:
- Упорядоченное хранение всех необходимых параметров обработки позволяет структурировано извлекать параметры отдельно для каждого модуля. На данный момент применяется XML.
- Мультипоточность, возможность управления отдельными процессами обработки. Внедрена система отслеживания всех запущенных модулей во время обработки. Данная система позволяет корректно, без потерь данных, отследить и по необходимости завершить обработку на любом её этапе.
- Система для принятия решения о результатах обработки позволяет адаптировать пользовательские настройки, а также сообщать пользователю корректные результаты на каждом этапе обработки.
- Усиленный контроль входных и выходных данных, который проводится на каждом этапе обработки, что позволяет точно отследить, какие данные не целостны.
Описанные выше подходы используются не только в редакторе настроек, а еще и на каждом этапе обработки в качестве внутренних проверок основного конвейера обработки.
Для каждого этапа обработки проводится следующая последовательность операций для модулей:
Система мониторинга сообщений с подробным логированием процесса обработки включена в CoLiTec Control Center. Данный подход реализуется за счёт обмена данными с реляционной базой данных. В качестве такой выбрана PostgreSQL, которая может быть применена на любых ОС. Эта БД может разворачиваться как локально у пользователя, так и быть централизованной на сервере.
Просмотр результатов работы осуществляется с помощью удобного вьювера LookSky, который входит в ПО CoLiTec. А для того, чтобы можно было контролировать результаты из любой точки мира, мы разработали мобильную версию вьювера.
Последняя версия LookSky является кроссплатформенной и реализована на Lazarus. Она работает отдельно от основной программы. С помощью LookSky можно независимо просматривать результаты работы ПО CoLiTec, в то время как основная программа продолжает обработку данных. Связь между этими отдельными блоками осуществляется через такие файлы: *.dat — для передачи данных о звёздных каталогах; *.xml — для передачи управляющих паттернов для запускаемых модулей; *.bin — бинарные файлы с изображениями, стробами или метками.
Это реализует идеологию открытой архитектуры и позволяет использовать независимо разработанные программные средства на каждом этапе обработки.
Ниже представлены результаты работы ПО CoLiTec. Слева отображается серия сырых кадров, а справа — их выровненное и отцентрированное изображение, а также обнаруженные движущиеся объекты.
На данный момент важно обрабатывать не только новые данные, получаемые от обсерваторий, но и архивные данные с различных телескопов и МРС. Это позволяет обнаруживать потенциально опасные астероиды и распространять предупреждения заблаговременно.
Первым шагом к созданию такой системы служит разработанное в рамках системы CoLiTec ПО для хранения и публикации кадров. Данное ПО позволяет вести архив кадров и искать кадры по заданным параметрам (координатам). В нём реализован внешний доступ к архиву через собственный веб-интерфейс и сервис Aladin. С использованием Aladin в открытом доступе хранится уже около 50 000 кадров, снятых с 2010 года.
На данный момент разрабатывается масштабный инновационный проект — Виртуальная обсерватория (ВО). В рамках этого проекта будут объединены самые топовые технологии Big Data и Data Mining. С помощью ВО каждый астроном мира сможет иметь доступ к различным данным, а именно кадрам, информации о звёздах, галактиках, объектах, сближающихся с Землёй, известных астероидах, данным из звёздных каталогов, кривым блеска переменных звёзд и многому другому. Этот проект вмещает в себя все существующие продукты CoLiTec, а также множество новых доработок, которые будут работать на серверной стороне. Клиенту же будет предоставлен личный кабинет с большим количеством возможностей.
Также разрабатывается сервис для online-обработки цифровых кадров или видео. В данном случае пользователю не нужно будет ничего устанавливать, а нужен будет лишь доступ в интернет. Вся обработка будет проходить на нашей серверной стороне с использованием разработанных продуктов в соответствии с необходимыми задачами. Пользователю будет отправлено уведомление об успешной обработке его данных и предоставлен доступ к архиву с исходными данными.
Этот проект уже одобрен Космическим Агентством Украины и нашими словацкими коллегами из Vihorlat Observatory in Humenné. Однако финансирование на сегодняшний день отсутствует и разработка проводится на добровольных началах.
Результаты
С использованием ПО CoLiTec проведено 80 % наблюдений в СНГ (86 % в Балтии) и сделано 74 % открытий астероидов в СНГ (75 % в Балтии), а также было открыто 4 кометы из 7, открытых в СНГ и Балтии более чем за 20 последних лет.
Команда CoLiTec получила рекомендацию GAIA (Global Astrometric Interferometer for Astrophysics, Франция), как программа для обнаружения слабых движущихся объектов и стала победителем Международного конкурса инновационных проектов «IT-Kharkiv». Проект уже несколько лет поддерживают такие организации как GAIA, ISON, КАУ, ГАО НАНУ и РИ НАНУ.
На данный момент в нашей команде 7 квалифицированных профессионаловс учёными званиями и огромным опытом работы, которые за годы работы над проектом создали 9 патентов, а также выпустили более 200 научных публикаций и статей.
Самая главная цель для нас — улучшение точности измерений положений космических объектов за счёт резервов современной астрометрии и фотометрии. Мы постоянно развиваем проект и сейчас видим такие дальнейшие направления наших разработок:
- возможность индивидуальной привязки астрометрической и фотометрической редукции к телескопам и повышение за счет этого точности наблюдений;
- создание новых и усовершенствование уже разработанных и внедрённых в ПО CoLiTec вычислительных методов для исследования параметров внутрикадровой и межкадровой обработки с целью улучшения точности измерений.
Также нам интересно расширять ряд обсерваторий, которые используют ПО CoLiTec для получения большего разнообразия специфических входных данных, что позволит улучшать как точностные характеристики, так и потенциал обнаружения.
Конечно, есть и другое ПО для обсерваторий, но, как видно из сравнения с Astrometrica, мы много потрудились, чтобы превзойти аналоги. Также мы в поиске грантов и сотрудничества со спонсорами для повышения эффективности наших исследований и подъема украинской науки до международного уровня. Да, наша команда амбициозна.
Спасибо за уделённое время! Надеюсь, моя статья понравилась и заинтересовала вас. Более подробнее о проекте читайте на сайте.
Если у вас есть вопросы или предложения, буду рад на них ответить на colitec@neoastrosoft.com.