Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/7052
Title: Програмний комплекс оптичної астронавігації
Authors: Голуб, Сергій Васильович
Галич, Ілля Олексійович’
Keywords: астронавігація;розробка;програмна система;інерційні дані;astronavigation;development;software system;inertial data
Issue Date: 29-Jan-2026
Abstract: АНОТАЦІЯ Галич І. О. Програмний комплекс оптичної астронавігації Спеціальність: 121 «Інженерія програмного забезпечення» Установа, де відбудеться захист: Черкаський державний технологічний університет Черкаси 2025 Основна ідея кваліфікаційної роботи це створення програмного комплексу визначення координат місцезнаходження для ресурсообмежених систем. В результаті кваліфікаційної роботи створено програмну систему обрахування координат за зображенням та показниками інерційних датчиків.
ABSTRACT Halych I. O. Optical Astronavigation Software System Specialty: 121 “Software Engineering” Institution where the defense will take place: Cherkasy State Technological University Cherkasy, 2025 The main idea of the qualification thesis is the development of a software system for determining geographical coordinates for resource-constrained systems. As a result of the qualification work, a software system for calculating coordinates based on image data and inertial sensor measurements has been developed.
URI: https://er.chdtu.edu.ua/handle/ChSTU/7052
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Files in This Item:
File Description SizeFormat 
кваліфікаційна робота магістра Галича Іллі Олексійовича’.pdf
  Restricted Access
2.04 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
 
 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи магістра 
на тему: «Програмний комплекс оптичної астронавігації» 
 
 
 
 
 
Виконав: студент 2 курсу, групи МПЗ-2404 
Напряму підготовки  
121 «Інженерія програмного забезпечення»  
(шифр і назва напряму підготовки) 
 
 
Студент Галич І.О. 
 (прізвище та ініціали) 
Керівник  Голуб С.В. 
 (прізвище та ініціали) 
Рецензент  Завалко Є.В. 
 (прізвище та ініціали) 
 
 
 
 
 
 
Черкаси 2025  
Черкаський державний технологічний університет  
повне найменування вищого навчального закладу 
Факультет інформаційних технологій і систем  
Кафедра програмного забезпечення автоматизованих систем  
Освітній рівень магістр  
Спеціальність 121 «Інженерія програмного забезпечення»  
Освітня програма Інженерія програмного забезпечення  
 
 
ЗАТВЕРДЖУЮ 
Зав. кафедри ПЗАС,  
д.т.н. професор Голуб С.В. 
«___» _______________ 2025 року 
 
З А В Д А Н Н Я 
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ 
________________________Галичу Іллі Олексійовичу’  
Тему проекту (роботи)      Програмний комплекс оптичної астронавігації.  
Керівник проекту (роботи)   Голуб Сергій Васильович д.т.н., професор  
(прізвище, ім’я , по батькові, науковий ступінь, вчене звання) 
Затверджені наказом Черкаського державного технологічного університету від  
« 10 » жовтня 2025 року № 307/03-03 
2. Строк подання студентом проекту (роботи) 12 грудня 2025 р.  
3. Вхідні дані до проекту (роботи) стандарти програмного забезпечення; процеси 
управління; вимоги до проекту;   
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно 
розробити)  
Вступ;  
Існуючі методи та засоби розв’язання поставлених завдань;  
Теоретичні та експериментальні дослідження;  
Впровадження результатів досліджень у практику проектування програмного 
забезпечення інформаційних систем;  
Конструювання та тестування програмного забезпечення;  
Висновки;  
Список використаних джерел;  
Додатки.  
5. Перелік графічного матеріалу з точним зазначенням обов’язкових робіт проекту; 
Презентація до розробленого програмного забезпечення;  
 
6. Консультанти розділів проекту (роботи) 
Прізвище, ініціали та посади Підпис, дата 
Розділ 
консультанта Завдання видав Завдання прийняв 
1    
2    
3    
 
 
7. Дата видачі завдання 02 вересня 2025 р.  
КАЛЕНДАРНИЙ ПЛАН 
Строк 
виконання 
№ 
Назва етапів випускної роботи етапів Примітки 
п/п 
випускної 
роботи 
1 Постановка задачі 02.09.2025 виконано 
2 Підготовка завдання 13.09.2025 виконано 
3 Погодження завдання 16.09.2025 виконано 
4 Затвердження завдання 19.09.2025 виконано 
 Основна стадія   
1 Підбір матеріалів 27.09.2025 виконано 
2 Аналіз шляхів вирішення поставленої задачі 04.10.2025 виконано 
3 Розрахунок основних параметрів роботи 10.10.2025 виконано 
4 Вибір кінцевого варіанту проектного рішення 17.10.2025 виконано 
5 Оформлення первісної редакції роботи 25.10.2025 виконано 
 Заключна стадія   
1 Узгодження прийнятих проектних рішень з 31.10.2025 виконано 
керівником 
2 Оформлення пояснювальної записки роботи в 13.11.2025 виконано 
кінцевій редакції 
3 Попередній захист роботи 25.11.2025 виконано 
4 Затвердження роботи 05.12.2025 виконано 
5 Рецензування роботи 06.12.2025 виконано 
6 Захист роботи 16.12.2025 виконано 
 
Студент _____________________ Галич І.О.         
  (підпис)   (прізвище та ініціали) 
 
Керівник проекту (роботи) _____________________ Голуб С.В.         
  (підпис)   (прізвище та ініціали) 
 
 
  
 
АНОТАЦІЯ 
Галич І. О. 
Програмний комплекс оптичної астронавігації 
Спеціальність: 121 «Інженерія програмного забезпечення» 
Установа, де відбудеться захист: Черкаський державний технологічний 
університет 
Черкаси 2025 
Основна ідея кваліфікаційної роботи це створення програмного 
комплексу визначення координат місцезнаходження для ресурсообмежених 
систем. 
В результаті кваліфікаційної роботи створено програмну систему 
обрахування координат за зображенням та показниками інерційних датчиків. 
Ключові слова: астронавігація, розробка, програмна система, інерційні 
дані. 
  
 
ABSTRACT 
Halych I. O. 
Optical Astronavigation Software System 
Specialty: 121 “Software Engineering” 
Institution where the defense will take place: Cherkasy State Technological 
University 
Cherkasy, 2025 
The main idea of the qualification thesis is the development of a software 
system for determining geographical coordinates for resource-constrained systems. 
As a result of the qualification work, a software system for calculating 
coordinates based on image data and inertial sensor measurements has been 
developed. 
Keywords: astronavigation, development, software system, inertial data. 
  
 
ЗМІСТ 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ.............................................................. 7 
ВСТУП ............................................................................................................... 8 
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ 
ПОСТАВЛЕНИХ ЗАВДАНЬ ................................................................................... 10 
1.1 Методи виділення об'єктів на зображенні .......................................... 10 
1.1.1 Порогова бінаризація та зв’язні компоненти .............................. 10 
1.1.2 Адаптивна бінаризація .................................................................. 11 
1.1.3 Laplacian of Gaussian ...................................................................... 12 
1.1.4 Difference of Gaussians ................................................................... 13 
1.2 Методи класифікації об'єктів ............................................................... 14 
1.2.1 Евристичні фільтри ........................................................................ 14 
1.2.2 Лінійний класифікатор .................................................................. 15 
1.2.3 SVM лінійний ................................................................................. 17 
1.2.4 Convolutional Neural Network ........................................................ 18 
1.3 Методи ідентифікації зірок .................................................................. 19 
1.3.1 Абсолютні координати .................................................................. 19 
1.3.2 Кутові відстані ................................................................................ 20 
1.3.3 Трикутні інваріанти ....................................................................... 21 
1.3.4 Quad-based hashing ......................................................................... 22 
1.3.5 Groth algorithm ................................................................................ 23 
1.4 Методи обрахування координат .......................................................... 24 
1.4.1 Метод найменших квадратів ......................................................... 24 
1.4.2 Weighted Least Squares ................................................................... 25 
1.4.3 Нелінійна оптимізація за методом Левенберга–Маркуардта .... 26 
1.4.4 QUEST / Davenport q-метод .......................................................... 27 
1.4.5 Розширений фільтр Калмана ........................................................ 28 
 
Висновок до розділу ................................................................................... 30 
РОЗДІЛ 2. ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ ДОСЛІДЖЕННЯ 30 
2.1 Теоретичне дослідження ...................................................................... 30 
2.1.1 Вступ до теоретичного дослідження ............................................ 30 
2.1.2 Формалізація завдання .................................................................. 31 
2.1.3 Аналіз існуючих методів ............................................................... 32 
2.1.4 Синтез моделей .............................................................................. 36 
2.1.5 Методика експериментальної реалізації синтезованих моделей
 ............................................................................................................................. 38 
2.2 Експериментальне дослідження .......................................................... 40 
2.2.1 Вступ до експериментального дослідження ............................... 40 
2.2.2 Розробка експериментальної системи ......................................... 41 
2.2.3 Генерація експериментальних даних ........................................... 42 
2.2.4 Експериментальна платформа ...................................................... 44 
2.2.5 Результати випробування синтезованих моделей ...................... 45 
2.3 Гіпотеза .................................................................................................. 47 
Висновок до розділу ................................................................................... 48 
РОЗДІЛ 3. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У 
ПРАКТИКУ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 
ІНФОРМАЦІЙНИХ СИСТЕМ ................................................................................ 49 
3.1 Моделювання предметної області ....................................................... 49 
3.1.1 Предметна область моделювання. Модель предметної області. 
Словник предметної області ............................................................................ 49 
3.1.2 Елементи моделювання предметної області ............................... 51 
3.1.3 Робоча область моделювання ....................................................... 53 
3.2 Формування та аналіз вимог ................................................................ 54 
 
3.2.1 Формування вимог до програмного забезпечення. Первинні і 
детальні вимоги. Вимоги замовника і розробника. Функціональні та 
нефункціональні вимоги ................................................................................... 54 
3.2.2 Формування вимог за допомогою діаграми прецедентів .......... 57 
3.2.3 Проектування логічної структури програмного комплексу ...... 58 
3.2.4 Архітектурне проектування .......................................................... 61 
3.2.5 Моделювання поведінки системи ................................................ 62 
Висновок до розділу ................................................................................... 67 
РОЗДІЛ 4. КОНСТРУЮВАННЯ ТА ТЕСТУВАННЯ ПРОГРАМНОГО 
ЗАБЕЗПЕЧЕННЯ ....................................................................................................... 69 
4.1 Розробка програмного комплексу ....................................................... 69 
4.1.1 Обґрунтування вибору засобів реалізації .................................... 69 
4.1.2 Опис структурної (функціональна) схеми ................................... 70 
4.1.3 Опис логічної схеми системи ........................................................ 71 
4.1.4 Розробка бази даних....................................................................... 71 
4.1.5 Розробка інтерфейсу користувача ................................................ 71 
4.1.6 Опис розробки програмних компонентів .................................... 72 
4.2 Тестування системи .............................................................................. 73 
4.2.1 Модульне тестування .................................................................... 73 
4.2.2 Інтеграційне тестування ................................................................ 74 
4.2.3 Системне тестування ..................................................................... 75 
4.2.4 Приймальне тестування ................................................................. 76 
4.3 Приклади впровадженого програмного комплексу. ......................... 77 
Висновок до розділу ................................................................................... 79 
ВИСНОВКИ ..................................................................................................... 80 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ....................................................... 82 
ДОДАТОК А .................................................................................................... 84 
 
 
ЧДТУ 252479.003 ПЗ 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ 
SVM Support Vector Machine Лінійний метод опорних векторів 
CNN Convolutional Neural Network Згорткова нейронна мережа 
EKF Extended Kalman Filter Розширений фільтр Калмана 
LS Least Squares Метод найменших квадратів 
WLS Weighted Least Squares Зважений метод найменших квадратів 
ARM Advanced RISC Machine Поліпшена RISC машина 
GPU Graphics Processing Unit Графічний процесор 
IMU Inertial Measurement Unit Інерційний вимірювальний блок 
eMMC Embedded MultiMediaCard Вбудована флеш-пам’ять 
CMOS Complementary Metal–Oxide– КМОП-сенсор 
Semiconductor 
LPDDR4 Low Power Double Data Rate 4 Енергоефективна оперативна пам’ять 
стандарту LPDDR4 
LoG Laplacian of Gaussian Лаплаціан Гауса 
QUEST Quaternion Estimator Алгоритм оцінки орієнтації QUEST 
DoG Difference of Gaussians Різниця Гаусіанів 
CPU Central Processing Unit Центральний процесор 
FPS Frames per Second Кадрів на секунду 
IMU acc Inertial Measurement Unit Акселерометр інерційного блока 
accelerometer 
IMU Inertial Measurement Unit Гіроскоп інерційного блока 
gyro gyroscope 
RA Right Ascension Пряме сходження 
DEC Declination Деклінація 
FOV Field of View Кут огляду 
RGB Red, Green, Blue Тривимірна колірна модель 
API Application Programming Програмний інтерфейс застосунку 
Interface 
  
7 
ЧДТУ 252479.003 ПЗ 
ВСТУП 
Актуальність дослідження 
В контексті розробки програмної системи сучасні методи оптичної навігації 
переважно орієнтовані на високопродуктивні обчислювальні системи і не 
забезпечують ефективного використання на недорогих мобільних пристроях. Це 
створює необхідність в удосконаленні програмних методів оптичного 
геопозиціонування. Відсутність ресурсоефективних та доступних методів 
автоматизованого оптичного визначення геолокації для мобільних пристроїв 
робить необхідним розробку  програмної системи оптичної навігації, здатної 
працювати в реальному часі в умовах обмежених обчислювальних ресурсів. 
Мета і завдання дослідження 
Підвищення ефективності функціонування програмного забезпечення 
інформаційної технології астронавігації за рахунок зниження його ресурсоємності 
в процесі реалізації алгоритмів геолокації на ресурсообмежених мобільних 
пристроях. 
Для досягнення мети виконувались такі завдання: 
1 Пошук та аналіз методів та засобів що можуть бути використані для 
зниження ресурсоємності програмної реалізації алгоритмів геолокації. 
2 Розв’язати задачу структурно-параметричної ідентифікації моделей-
класифікаторів зірок: 
- виділити об’єкти з вхідного зображення; 
- класифікувати розпізнані об’єкти на «зірки» на «не зірки»; 
- встановити відповідність між об'єктами «зірки»  та еталонними 
даними зоряного каталогу. 
3 Розв’язати задачу структурно-параметричної ідентифікації моделей для 
розрахунку географічних координат та орієнтації спостерігача на основі 
ідентифікованих зір та їх каталожними небесними координатами. 
4 Розробити програмну систему та провести тестування і оцінку точності 
на недорогих мобільних пристроях у реальних умовах. 
8 
ЧДТУ 252479.003 ПЗ 
Об’єктом дослідження є процес створення програмного забезпечення для 
ресурсообмежених автономних навігаційних систем. 
Предметом дослідження є процес створення програмного забезпечення для 
структурно-параметричної ідентифікації моделей прогнозування географічних 
координат у ресурсообмежених автономних навігаційних системах. 
Методи дослідження. У роботі застосовано комплекс теоретичних і 
практичних методів. Теоретичний блок ґрунтується на аналізі, синтезі, індукції, 
дедукції, абстрагуванні, узагальненні, системному підході. Практична частина 
передбачає використання спостереження, експерименту та опису. 
Наукова новизна полягає в удосконаленні методу побудови програного 
забезпечення інформаційної технології оптичної астронавігації шляхом 
спрощення алгоритмів геолокації що дозволяє зменшити обчислювальну 
складність та підвищення швидкодії в умовах обмежених ресурсів. 
Практична значущість, полягає у можливості використання отриманих 
результатів при побудові програмної системи яка визначає геопозицію на 
ресурсообмежених пристроях. 
Особистий внесок автора. Усі основні положення й результати 
кваліфікаційної роботи магістра одержані автором самостійно.  
  
9 
ЧДТУ 252479.003 ПЗ 
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ ПОСТАВЛЕНИХ 
ЗАВДАНЬ 
1.1 Методи виділення об'єктів на зображенні 
1.1.1 Порогова бінаризація та зв’язні компоненти [1] 
Порогова бінаризація у поєднанні з аналізом зв’язних компонентів є одним 
із базових методів виділення об’єктів на цифрових зображеннях та широко 
застосовується в задачах обробки астрономічних знімків. Метод ґрунтується на 
припущенні, що корисні об’єкти, зокрема зірки, мають яскравість, яка 
статистично перевищує рівень фонового шуму матриці сенсора. 
Суть порогової бінаризації полягає у перетворенні напівтоновго зображення 
у двійкове шляхом порівняння яскравості кожного пікселя з наперед заданим 
пороговим значенням. Пікселі, що перевищують поріг, інтерпретуються як 
потенційні елементи об’єктів, тоді як решта вважаються фоном. У контексті 
зображень зоряного неба це дозволяє відокремити світлові плями зірок від 
темного фону нічного неба. 
Після етапу бінаризації застосовується аналіз зв’язних компонентів, метою 
якого є групування суміжних активних пікселів у окремі області. Кожна така 
область інтерпретується як кандидат на окремий об’єкт. Аналіз зв’язності 
дозволяє визначити геометричні характеристики виділених об’єктів, зокрема 
площу, форму та положення центру, що є необхідним для подальших етапів 
класифікації та ідентифікації. 
Основною перевагою даного підходу є його висока обчислювальна 
ефективність. Алгоритм має лінійну складність відносно кількості пікселів 
зображення та не потребує значних обчислювальних ресурсів або попереднього 
навчання. Це робить його особливо привабливим для використання в автономних 
системах та на мобільних пристроях з обмеженою продуктивністю. 
Крім того, метод відзначається простотою реалізації та прозорістю 
налаштувань, що спрощує аналіз помилок і валідацію результатів. За стабільних 
10 
ЧДТУ 252479.003 ПЗ 
умов зйомки він забезпечує передбачувану та повторювану якість виділення 
об’єктів, що є важливим для експериментальних досліджень. 
Водночас, суттєвим недоліком порогової бінаризації є висока чутливість до 
вибору порогового значення. Зміни експозиції, рівня шуму або наявність 
паразитних джерел світла можуть призводити як до втрати слабких зірок, так і до 
появи хибних об’єктів. Метод також недостатньо стійкий до нерівномірного фону, 
що обмежує його застосування без додаткової попередньої обробки. 
Таким чином, порогова бінаризація та аналіз зв’язних компонентів доцільні 
як початковий етап виділення об’єктів у системах оптичної астронавігації, 
зокрема в ресурсоефективних реалізаціях, однак потребують доповнення іншими 
методами для підвищення надійності в складних умовах спостереження. 
1.1.2 Адаптивна бінаризація [1] 
Адаптивна бінаризація є розвитком класичного порогового підходу та 
застосовується для виділення об’єктів на зображеннях за умов просторово 
неоднорідного фону та змінної освітленості. У задачах обробки зображень 
зоряного неба така ситуація є типовою через наявність сенсорного шуму, 
віньєтування оптики та неоднорідність яскравості неба. 
Суть методу полягає у визначенні порогового значення не глобально для 
всього зображення, а локально для кожної області або окремого пікселя на основі 
статистичних характеристик його околу. Як правило, поріг обчислюється з 
урахуванням локального середнього значення яскравості, дисперсії або інших 
простих показників, що дозволяє коректніше відокремлювати об’єкти від фону в 
різних ділянках зображення. 
У контексті астрономічних зображень адаптивна бінаризація забезпечує 
більш стабільне виділення слабких зірок, яскравість яких лише незначно 
перевищує локальний фон. Це особливо важливо для систем астронавігації, де 
кількість доступних зір безпосередньо впливає на надійність подальшої 
ідентифікації. 
11 
ЧДТУ 252479.003 ПЗ 
Перевагою методу є його підвищена стійкість до нерівномірного освітлення 
та глобальних змін яскравості кадру. У порівнянні з простою пороговою 
бінаризацією він демонструє меншу кількість пропущених об’єктів та знижує 
ймовірність повної деградації результату при зміні умов зйомки. 
Разом з тим, адаптивна бінаризація має вищу обчислювальну складність, 
оскільки потребує обчислення локальних статистик для кожного пікселя або 
вікна. Це призводить до зростання часу обробки, що є критичним фактором для 
мобільних та вбудованих систем без апаратного прискорення. 
Додатковим недоліком є залежність результатів від розміру локального 
вікна та параметрів алгоритму. Некоректний вибір цих параметрів може 
призводити до фрагментації об’єктів або появи шумових компонентів, які 
ускладнюють подальший аналіз зв’язних областей. 
Отже, адаптивна бінаризація є ефективним інструментом виділення об’єктів 
на зображеннях зоряного неба в умовах змінного фону, однак її застосування в 
системах оптичної астронавігації потребує компромісу між якістю виділення та 
обчислювальними витратами. 
1.1.3 Laplacian of Gaussian [2] 
Метод Laplacian of Gaussian (LoG) належить до класу фільтрів, орієнтованих 
на виявлення локальних екстремумів яскравості, і широко застосовується для 
детекції точкових об’єктів на зображеннях. У задачах аналізу зображень зоряного 
неба цей підхід є актуальним, оскільки зірки на знімках зазвичай проявляються як 
ізольовані світлові плями з близькою до гаусівської формою розподілу яскравості. 
Суть методу полягає у попередньому згладжуванні зображення гаусівським 
фільтром з подальшим застосуванням оператора Лапласа, який підсилює області 
швидкої зміни інтенсивності. У результаті на виході формується зображення, де 
локальні максимуми та мінімуми відповідають потенційним центрам точкових 
об’єктів, зокрема зірок. 
Застосування LoG дозволяє ефективно пригнічувати високочастотний шум 
завдяки етапу згладжування, що підвищує стабільність детекції слабких об’єктів. 
12 
ЧДТУ 252479.003 ПЗ 
Метод є відносно нечутливим до повільних змін фону, що є важливою 
властивістю при роботі з реальними астрономічними зображеннями. 
До переваг LoG також належить можливість налаштування масштабу 
детекції шляхом вибору параметрів гаусівського фільтра. Це дозволяє адаптувати 
алгоритм до різних умов зйомки та оптичних характеристик системи, зокрема до 
різного кутового розміру зірок на матриці сенсора. 
Водночас суттєвим недоліком методу є його підвищена обчислювальна 
складність. Згортка з гаусівським ядром та обчислення другого порядку похідних 
потребують значних обчислювальних ресурсів, що обмежує застосування LoG у 
системах реального часу та на мобільних платформах без апаратного 
прискорення. 
Крім того, метод є чутливим до вибору параметрів фільтра. Невідповідний 
масштаб згладжування може призводити до втрати дрібних зірок або, навпаки, до 
надмірного підсилення шумових структур, що ускладнює подальшу класифікацію 
об’єктів. 
Таким чином, Laplacian of Gaussian є потужним інструментом для виділення 
точкових об’єктів на зображеннях зоряного неба, однак у контексті 
ресурсоефективних систем оптичної астронавігації його використання доцільне 
переважно як еталонний або допоміжний метод. 
1.1.4 Difference of Gaussians [3] 
Метод Difference of Gaussians (DoG) є поширеним підходом до виділення 
локальних екстремумів яскравості на зображеннях і часто розглядається як 
обчислювально спрощена альтернатива оператору Laplacian of Gaussian. У 
задачах аналізу зображень зоряного неба DoG використовується для детекції зірок 
як точкових світлових об’єктів на темному фоні. 
Суть методу полягає у фільтрації зображення двома гаусівськими фільтрами 
з різними параметрами згладжування та подальшому обчисленні різниці між 
отриманими результатами. Така операція підсилює структури певного 
13 
ЧДТУ 252479.003 ПЗ 
просторового масштабу, водночас пригнічуючи як високочастотний шум, так і 
повільні зміни фону. 
У контексті астронавігаційних зображень DoG дозволяє ефективно виявляти 
зорі різної яскравості за рахунок налаштування співвідношення масштабів 
згладжування. Метод добре підходить для детекції ізольованих об’єктів, форма 
яких наближена до симетричної, що характерно для зображень зірок за умов 
коректної фокусування оптичної системи. 
До основних переваг DoG належить його краща обчислювальна 
ефективність порівняно з Laplacian of Gaussian. Оскільки метод не потребує 
обчислення похідних другого порядку, він простіший у реалізації та швидший у 
виконанні, що робить його привабливішим для систем з обмеженими ресурсами. 
Крім того, DoG демонструє достатню стійкість до шумів та нерівномірного 
фону, зберігаючи при цьому здатність виділяти слабкі зорі. Це дозволяє 
використовувати його як компромісний варіант між простими методами 
бінаризації та більш складними фільтрами. 
Разом з тим, недоліком методу є залежність результатів від вибору 
параметрів гаусівських фільтрів. Некоректний вибір масштабів може призводити 
до втрати частини об’єктів або появи хибних максимумів, що потребує 
додаткових евристик на наступних етапах обробки. 
Таким чином, Difference of Gaussians є ефективним і відносно 
ресурсоефективним методом виділення зірок на зображеннях зоряного неба та 
часто розглядається як практична альтернатива LoG у системах оптичної 
астронавігації. 
1.2 Методи класифікації об'єктів  
1.2.1 Евристичні фільтри [4] 
Евристичні фільтри є одним із найпростіших та найпоширеніших підходів 
до класифікації об’єктів на зображенні та широко застосовуються у задачах 
попередньої обробки астрономічних даних. У системах оптичної астронавігації 
14 
ЧДТУ 252479.003 ПЗ 
такі методи використовуються для відокремлення зірок від шумових або 
паразитних об’єктів на основі наперед визначених ознак. 
Суть евристичних фільтрів полягає у застосуванні набору правил, які 
ґрунтуються на геометричних, фотометричних або статистичних характеристиках 
виділених об’єктів. До таких характеристик зазвичай належать площа зв’язної 
області, форма, співвідношення осей, максимальна яскравість, контраст відносно 
фону та положення центру мас. Об’єкти, що не відповідають заданим критеріям, 
відкидаються як такі, що не є зірками. 
У контексті зображень зоряного неба евристичні фільтри дозволяють 
ефективно усувати одиничні шумові сплески, гарячі пікселі матриці та протяжні 
світлові структури, які не відповідають характерному вигляду зоряних зображень. 
Це значно зменшує кількість хибних кандидатів, що передаються на етап 
ідентифікації. 
Основною перевагою евристичних фільтрів є їхня надзвичайно низька 
обчислювальна складність. Алгоритми працюють з уже виділеними об’єктами та 
виконують лише прості порівняння і логічні операції, що забезпечує високу 
швидкодію навіть на малопотужних мобільних платформах. 
Крім того, такі методи відзначаються простотою реалізації та повною 
відсутністю етапів навчання. Це робить їх зручними для використання в 
детермінованих системах, де важливо забезпечити передбачуваність часу 
виконання та можливість аналітичного контролю помилок. 
Водночас суттєвим недоліком евристичних фільтрів є їх обмежена 
узагальнювальна здатність. Жорстко задані правила погано адаптуються до змін 
умов зйомки, рівня шуму або оптичних спотворень, що може призводити до 
втрати корисних об’єктів або зростання кількості хибних класифікацій. 
Таким чином, евристичні фільтри доцільно розглядати як первинний або 
допоміжний етап класифікації в системах оптичної астронавігації, особливо в 
умовах жорстких ресурсних обмежень, однак для підвищення надійності вони 
зазвичай поєднуються з більш формалізованими методами. 
1.2.2 Лінійний класифікатор [5] 
15 
ЧДТУ 252479.003 ПЗ 
Лінійні класифікатори належать до класу простих методів машинного 
навчання та широко застосовуються для розв’язання задач бінарної класифікації 
на основі набору числових ознак. У системах оптичної астронавігації такі методи 
використовуються для розподілу виділених об’єктів на класи «зірка» та «не зірка» 
з урахуванням сукупності їхніх геометричних і фотометричних характеристик. 
Суть лінійного класифікатора полягає у побудові лінійної роздільної 
поверхні в просторі ознак, яка відокремлює об’єкти різних класів. Рішення 
приймається на основі зваженої суми вхідних ознак, що дозволяє формалізувати 
процес класифікації у вигляді простого та детермінованого правила. Для задачі 
астронавігації вхідними ознаками можуть бути площа об’єкта, максимальна 
яскравість, контраст, співвідношення осей та інші компактні характеристики. 
Перевагою лінійних класифікаторів є їх висока швидкодія на етапі 
застосування. Після завершення навчання процес класифікації зводиться до 
обчислення скалярного добутку, що забезпечує мінімальні обчислювальні витрати 
та добре масштабується на мобільних платформах. 
Ще однією суттєвою перевагою є здатність враховувати одночасно декілька 
ознак, на відміну від евристичних фільтрів, які часто базуються на послідовному 
застосуванні жорстких порогів. Це дозволяє зменшити кількість помилкових 
відхилень об’єктів у граничних випадках та підвищити загальну стабільність 
класифікації. 
Водночас основним недоліком лінійних класифікаторів є їх обмежена 
виразна здатність. У випадках, коли класи не є лінійно роздільними в просторі 
ознак, точність класифікації суттєво знижується. Це особливо актуально для 
реальних астрономічних зображень із високим рівнем шуму та складними 
оптичними спотвореннями. 
Крім того, ефективність лінійного класифікатора значною мірою залежить 
від якості та репрезентативності навчальної вибірки. Неповне або зміщене 
навчання може призводити до систематичних помилок, що обмежує надійність 
методу в неконтрольованих умовах. 
16 
ЧДТУ 252479.003 ПЗ 
Отже, лінійні класифікатори є доцільним компромісом між простими 
евристичними підходами та складними нелінійними моделями, забезпечуючи 
прийнятний баланс між точністю та обчислювальною ефективністю в системах 
оптичної астронавігації. 
1.2.3 SVM лінійний [8] 
Лінійний метод опорних векторів (Support Vector Machine, SVM) є 
потужним інструментом для задач класифікації, заснованим на пошуку 
оптимальної роздільної гіперплощини між класами об’єктів у багатовимірному 
просторі ознак. У контексті оптичної астронавігації SVM застосовується для 
класифікації виділених об’єктів на «зірки» та «не зірки», враховуючи численні 
характеристики, такі як яскравість, форма, площа та розподіл інтенсивності 
пікселів. 
Суть лінійного SVM полягає у виборі такої прямої (або гіперплощини у 
багатовимірному просторі), що максимізує відстань (margin) до найближчих 
об’єктів з кожного класу, які називаються опорними векторами. Цей підхід 
забезпечує високу стійкість до шуму та мінімізацію помилок класифікації на 
нових даних. У системах астронавігації це дозволяє точніше відокремлювати 
слабко виражені об’єкти від шумових артефактів, що критично при роботі з 
низькоконтрастними зображеннями зоряного неба. 
До переваг лінійного SVM належать висока точність на даних з чітко 
роздільними класами та відносна простота навчання, коли розмірність ознак не 
надто велика. Крім того, завдяки використанню опорних векторів, метод 
забезпечує ефективне узагальнення, зменшуючи ймовірність перенавчання навіть 
при обмеженій кількості тренувальних прикладів. 
Недоліком є чутливість методу до вибору масштабу ознак та необхідність 
нормалізації даних. Також лінійний SVM не здатний адекватно класифікувати 
випадки, коли об’єкти різних класів суттєво перекриваються у просторі ознак або 
коли залежності між ознаками є нелінійними. У таких ситуаціях точність 
17 
ЧДТУ 252479.003 ПЗ 
класифікації може значно знижуватися, що вимагає використання більш складних 
нелінійних ядер або попередньої обробки ознак. 
Отже, лінійний SVM є ефективним методом для базової класифікації 
об’єктів у системах оптичної астронавігації, поєднуючи простоту реалізації з 
достатньою стійкістю до шуму та здатністю працювати з обмеженою кількістю 
навчальних даних. Проте його застосування обмежується випадками лінійної 
роздільності класів і відсутністю складних нелінійних взаємозв’язків. 
1.2.4 Convolutional Neural Network [9] 
Метод згорткових нейронних мереж (Convolutional Neural Networks, CNN) є 
сучасним підходом до класифікації об’єктів на зображеннях, що базується на 
ієрархічному витяганні ознак із локальних ділянок зображення. У задачах 
оптичної астронавігації CNN застосовується для автоматичного розпізнавання та 
класифікації об’єктів як «зірки» чи «не зірки», використовуючи багаторівневу 
обробку піксельних даних без потреби ручного формування ознак. 
Суть методу полягає у послідовному застосуванні шарів згортки, активації 
та підвибірки (pooling), що дозволяє виділяти просторово-інваріантні 
характеристики об’єктів. Після цього отримані ознаки передаються у повнозв’язні 
шари для остаточної класифікації. Така архітектура дозволяє виявляти як прості, 
так і складні патерни на зображенні, наприклад форму та розподіл інтенсивності 
світла, що критично при роботі з малоконтрастними зоряними об’єктами. 
Перевагами CNN є здатність автоматично навчатися з даних без ручного 
виділення ознак, висока точність класифікації та стійкість до шуму і варіацій 
освітленості. Мережі добре працюють на великих обсягах даних та здатні 
адаптуватися до різних умов зйомки, що робить їх ефективними у практичних 
системах астронавігації. 
Недоліком методу є велика обчислювальна складність та потреба в значних 
ресурсах для навчання та інференсу, що може бути критично для мобільних або 
ресурсозалежних платформ. Крім того, CNN вимагає великого обсягу 
18 
ЧДТУ 252479.003 ПЗ 
тренувальних даних, щоб уникнути перенавчання, і складніше піддається 
інтерпретації порівняно з класичними методами, такими як лінійний SVM. 
Таким чином, CNN забезпечує сучасний підхід до класифікації об’єктів у 
системах оптичної астронавігації, поєднуючи високу точність та здатність 
автоматично виділяти ознаки, але накладаючи обмеження на ресурси та обсяг 
даних, необхідних для ефективного навчання. 
1.3 Методи ідентифікації зірок 
1.3.1 Абсолютні координати [10] 
Метод використання абсолютних координат у ідентифікації зірок полягає у 
порівнянні положення спостережуваних об’єктів на зображенні з їх відомими 
небесними координатами, що містяться у астрономічних каталогах. Кожна зірка 
характеризується точно визначеними прямим піднесенням та схиленням, що 
дозволяє однозначно зіставляти спостережуваний об’єкт із записами каталогу. 
Цей підхід є одним із найпряміших методів визначення ідентичності зірки, 
оскільки він не вимагає побудови складних геометричних структур або 
обчислення взаємних кутових відстаней між об’єктами. 
Суть методу полягає у пошуку найменшого розбіжності між координатами 
об’єкта на зображенні та відповідними даними з каталогу. Для цього спочатку 
визначають приблизне розташування зображення відносно небесної сфери, після 
чого проводиться порівняння з базою даних. Підхід передбачає врахування 
похибок вимірювання та можливих спотворень оптичної системи, що дозволяє 
підвищити точність ідентифікації навіть при невеликому шумі на зображенні. 
Перевагами методу є простота реалізації, високий рівень точності при 
наявності якісного каталогу та можливість прямого відображення на небесну 
сферу без додаткових геометричних обчислень. Крім того, метод ефективний для 
зірок високої яскравості, чітко видимих на зображенні, і дозволяє швидко 
формувати початкову карту ідентифікацій для подальших обчислень. 
Недоліком є залежність від точності і повноти каталогів та від обмежень 
оптичної системи. Метод менш ефективний у випадках спостереження слабких 
19 
ЧДТУ 252479.003 ПЗ 
або щільно розташованих об’єктів, де можуть виникати накладення або похибки 
позиціонування. Також він чутливий до зміщень кадру та орієнтації сенсора, що 
потребує попередньої калібровки або корекції зображення. 
Впровадження методу абсолютних координат у системах астронавігації 
дозволяє забезпечити точну первинну ідентифікацію зірок, яка може 
використовуватися як база для подальших обчислень орієнтації та позиціонування 
космічного апарата або дрона в автономних умовах. 
1.3.2 Кутові відстані [11] 
Метод ідентифікації зірок на основі кутових відстаней між парами об’єктів 
передбачає формування набору пар зірок на зображенні та обчислення кутового 
відстані між кожною парою. Ці значення порівнюються з відповідними кутовими 
відстанями, записаними у астрономічному каталозі. Основна ідея полягає в тому, 
що співвідношення кутових відстаней між зірками унікальне для певного ділянки 
небесної сфери, що дозволяє визначити ідентичність об’єктів незалежно від 
абсолютного розташування кадру та його орієнтації. 
Суть методу полягає у побудові так званих “кодових пар” – кожна пара 
зірок характеризується значенням кутової відстані, яке використовується для 
пошуку відповідності у каталозі. Після знаходження збігів між спостережуваними 
та каталогізованими парами формується карта ідентифікацій, яка дозволяє 
встановити зв’язок між об’єктами на зображенні та відомими небесними 
координатами. Метод відносно стійкий до обертання кадру і часткової втрати 
об’єктів, оскільки він орієнтується на відносне розташування зірок, а не на 
абсолютні координати. 
Перевагою підходу є його стійкість до зміщень і поворотів зображення, а 
також можливість працювати при частковому перекритті поля зору або 
неповному наборі спостережуваних об’єктів. Метод також є менш чутливим до 
шумів і невеликих помилок визначення положення окремих зірок у порівнянні з 
підходами на основі абсолютних координат. 
20 
ЧДТУ 252479.003 ПЗ 
Серед недоліків слід відзначити зростання обчислювальної складності при 
збільшенні числа зірок, оскільки кількість пар зростає квадратично від кількості 
об’єктів. Крім того, метод менш ефективний для зон з дуже щільним або дуже 
розрідженим розташуванням зірок, де унікальність кутових відстаней може 
знижуватися. У таких випадках можуть виникати хибні збіги або необхідність 
використання додаткових критеріїв відбору. 
Метод кутових відстаней є базовим етапом у багатьох системах оптичної 
астронавігації, оскільки дозволяє швидко формувати набір кандидатів для 
подальшої точної ідентифікації та обчислення орієнтації платформи за зоряним 
небом. 
1.3.3 Трикутні інваріанти [11] 
Метод ідентифікації зірок на основі трикутних інваріантів передбачає 
формування трійок об’єктів на зображенні та обчислення геометричних 
характеристик трикутників, які вони утворюють, зокрема відносних кутів і 
співвідношень сторін. Основна ідея полягає в тому, що подібні трикутники 
залишаються інваріантними відносно повороту, зміщення та масштабу 
зображення, що дозволяє використовувати їх для однозначної ідентифікації зірок 
незалежно від орієнтації сенсора та його положення у просторі. 
Суть методу полягає у побудові всіх можливих трійок з спостережуваних 
зірок, обчисленні для кожної трійки набору інваріантів і подальшому порівнянні 
цих значень із трикутниками, сформованими на основі зіркового каталогу. Після 
знаходження збігів між трикутниками на зображенні та у каталозі формується 
відповідність між спостережуваними об’єктами та їхніми відомими небесними 
координатами, що дозволяє встановити точну ідентифікацію. 
Перевагою методу є висока стійкість до змін орієнтації камери, 
масштабування та часткових втрат об’єктів. Він забезпечує значно більшу 
надійність у порівнянні з методами, що спираються лише на пари зірок, оскільки 
інформація про трійку містить додаткові геометричні зв’язки, що підвищує 
унікальність коду трикутника. Метод також добре масштабується для систем із 
21 
ЧДТУ 252479.003 ПЗ 
середньою кількістю зірок на зображенні, дозволяючи забезпечити точну 
ідентифікацію при обмеженому полі зору. 
Серед недоліків слід відзначити зростання обчислювальної складності з 
кількістю зірок, оскільки кількість трикутників збільшується кубічно від числа 
об’єктів. Додатково метод може бути чутливим до шумів у визначенні положень 
зірок, особливо коли трикутники мають близькі сторони або кути, що може 
призвести до хибних збігів. Для зменшення цих проблем застосовуються фільтри 
попередньої обробки та стратегії скорочення кількості кандидатів. 
Метод трикутних інваріантів є базовим етапом у сучасних системах 
оптичної астронавігації, оскільки дозволяє формувати надійні “геометричні 
підписи” для набору зірок та забезпечує ефективну ідентифікацію навіть у умовах 
часткової видимості небесної сфери. 
1.3.4 Quad-based hashing [11] 
Метод Quad-based hashing є сучасним підходом для ідентифікації зірок, що 
базується на формуванні груп по чотири об’єкти (квадів) на зображенні та 
обчисленні для них унікальних хеш-кодів на основі геометричних відстаней і 
співвідношень між зірками. Суть методу полягає в перетворенні геометричної 
конфігурації квадру у компактне числове представлення, яке потім порівнюється з 
попередньо сформованим індексом хешів каталогу зірок. Такий підхід дозволяє 
швидко знаходити відповідності навіть у великих базах даних, мінімізуючи 
необхідність повного перебору всіх можливих комбінацій об’єктів. 
Перевагою Quad-based hashing є висока швидкодія та масштабованість. 
Метод ефективно працює при великій кількості зірок на зображенні, дозволяючи 
швидко відкидати невідповідні кандидатури та концентруватися на потенційно 
правильних збігах. Використання хеш-кодування зменшує обсяг обчислень 
порівняно з методами трикутних інваріантів і забезпечує стійкість до обмежених 
змін орієнтації або часткових втрат даних у полі зору. 
Серед недоліків слід відзначити чутливість до помилок у визначенні 
положень зірок: неточне визначення координат може призвести до 
22 
ЧДТУ 252479.003 ПЗ 
невідповідності хеш-кодів і хибних відкидань кандидатів. Крім того, метод 
потребує попередньої генерації та збереження індексованого каталогу хешів, що 
може вимагати значного обсягу пам’яті при роботі з великими зоряними базами. 
Метод Quad-based hashing часто застосовується у високопродуктивних 
системах оптичної астронавігації, де критичним є баланс між швидкістю обробки 
та точністю ідентифікації. Він дозволяє здійснювати швидкий пошук 
відповідностей у реальному часі та інтегрується з іншими методами перевірки 
правильності розпізнавання, наприклад з алгоритмами оцінки надійності збігів. 
Завдяки комбінації швидкодії та відносної стійкості до змін масштабу та 
обертання зображення, Quad-based hashing є одним із пріоритетних методів для 
систем, що працюють у складних умовах обмеженого поля зору або високого 
рівня шуму. 
1.3.5 Groth algorithm [12] 
Алгоритм Groth є одним із передових методів ідентифікації зірок, який 
використовується у системах оптичної астронавігації для швидкого та надійного 
порівняння зображень зоряного неба з каталожними даними. Суть алгоритму 
полягає у формуванні геометричних структур із груп зірок на зображенні та 
обчисленні для них унікальних дескрипторів, що дозволяють швидко відшукати 
відповідність у попередньо підготовленому каталозі. Groth використовує 
ефективну індексацію та оптимізовані процедури пошуку, що забезпечує 
мінімізацію кількості помилкових збігів навіть при наявності шуму та часткових 
втрат даних. 
Основною перевагою алгоритму є його висока стійкість до обертання, 
масштабування та часткового затемнення зірок. Завдяки цьому Groth дозволяє 
точно ідентифікувати зоряні конфігурації навіть у складних умовах, коли інші 
методи, наприклад Quad-based hashing або трикутні інваріанти, можуть 
демонструвати помітне зниження точності. Алгоритм також оптимізований для 
роботи з великими базами даних, що робить його придатним для сучасних систем 
автономної навігації. 
23 
ЧДТУ 252479.003 ПЗ 
Серед недоліків слід відзначити підвищені вимоги до обчислювальних 
ресурсів у порівнянні з простішими методами, а також необхідність попередньої 
генерації детальних каталожних структур. Це може створювати додаткове 
навантаження на систему під час ініціалізації або оновлення бази даних зірок. 
Алгоритм Groth широко застосовується у проєктах космічних апаратів та 
безпілотних систем, де критичною є швидка та точна ідентифікація зірок для 
визначення орієнтації або положення у просторі. Його інтеграція з іншими 
методами верифікації, такими як контроль кутових відстаней або оцінка 
надійності збігів, дозволяє підвищити загальну точність системи. 
Завдяки поєднанню надійності, стійкості до шуму та ефективності пошуку, 
Groth є одним із найбільш перспективних алгоритмів для застосування у 
ресурсоефективних програмних ядрах оптичної астронавігації. Його 
використання забезпечує баланс між швидкістю і точністю, що є критично 
важливим для автономних навігаційних систем із обмеженими обчислювальними 
ресурсами. 
1.4 Методи обрахування координат 
1.4.1 Метод найменших квадратів [13] 
Метод найменших квадратів (Least Squares, LS)  є класичним та широко 
застосовуваним підходом для обчислення координат у системах астронавігації та 
інших задачах визначення положення об’єктів. Суть методу полягає у мінімізації 
сумарної квадратичної похибки між виміряними та розрахованими величинами, 
що дозволяє отримати оптимальні наближення координат об’єкта у тривимірному 
просторі. У контексті оптичної астронавігації LS використовується для 
визначення положення апарата на основі спостережуваних положень зірок, 
зіставлених з каталожними даними. 
Основною перевагою методу є його простота та інтуїтивна зрозумілість, що 
забезпечує відносно легку реалізацію навіть на системах з обмеженими 
обчислювальними ресурсами. Метод добре підходить для задач з високою 
точністю вимірювань та малою кількістю шуму, де лінійне наближення є 
24 
ЧДТУ 252479.003 ПЗ 
достатнім для адекватного опису системи. LS також легко поєднується з іншими 
алгоритмами обробки даних і може бути використаний як початковий етап для 
більш складних оптимізаційних методів. 
Недоліки методу полягають у його чутливості до наявності викидів та 
шумів у вимірюваннях. Суттєві відхилення або помилкові спостереження можуть 
значно спотворювати результати, оскільки метод прагне мінімізувати суму 
квадратів усіх похибок незалежно від їхньої природи. Крім того, LS є ефективним 
лише у випадках, коли модель задачі лінійна або може бути адекватно лінійно 
апроксимована; для нелінійних систем точність може знижуватися. 
Метод найменших квадратів часто застосовується у комбінації з іншими 
підходами, наприклад, з алгоритмами фільтрації або нелінійної оптимізації, для 
підвищення стійкості та точності обчислень у реальних умовах. Незважаючи на 
простоту, LS залишається фундаментальним інструментом для первинного 
оцінювання координат у програмних ядрах астронавігаційних систем. 
Завдяки поєднанню ефективності, зрозумілості та відносно низьких 
обчислювальних вимог, метод найменших квадратів продовжує залишатися 
основою багатьох систем навігації та орієнтації, особливо у початкових етапах 
розрахунку координат. 
1.4.2 Weighted Least Squares [14] 
Метод зважених найменших квадратів є розширенням класичного підходу 
найменших квадратів і передбачає врахування різної надійності вимірюваних 
даних при обчисленні координат. Основна суть методу полягає у введенні вагових 
коефіцієнтів для кожного спостереження, що дозволяє зменшити вплив неточних 
або шумних вимірювань на кінцевий результат. У задачах оптичної астронавігації 
це означає, що координати зірок із високою точністю спостереження будуть мати 
більший вплив на розрахунок положення апарата, тоді як дані з більшим рівнем 
похибки будуть обліковуватися менше. 
Перевагою WLS є підвищена стійкість до шумів та викидів у 
спостереженнях у порівнянні з класичним методом LS. Завдяки 
25 
ЧДТУ 252479.003 ПЗ 
диференційованому підходу до обробки вимірювань метод дозволяє отримувати 
більш точні та надійні оцінки координат навіть у складних умовах, коли частина 
даних може бути неточною або зашумленою. WLS також зберігає відносну 
простоту реалізації і може бути інтегрований у програмні ядра астронавігаційних 
систем без значного зростання обчислювальної складності. 
Недоліком методу є необхідність заздалегідь оцінювати точність кожного 
спостереження та визначати відповідні ваги, що в реальних умовах може 
вимагати додаткових обчислень або апріорної інформації про якість датчиків. 
Крім того, при неправильному призначенні вагових коефіцієнтів результати 
можуть бути спотвореними, і ефективність методу знижується. 
WLS є особливо ефективним при обробці даних із неоднорідними 
джерелами похибок, що характерно для систем оптичної навігації, де різні зірки 
можуть мати різну видимість, контрастність та якість спостереження. Метод 
дозволяє гнучко адаптуватися до реальних умов, покращуючи точність і 
надійність оцінки координат. 
Застосування WLS у практичних системах часто комбінується з іншими 
алгоритмами оптимізації або фільтрації, що дозволяє досягати високої точності 
при обмежених обчислювальних ресурсах. Таким чином, метод зважених 
найменших квадратів є потужним інструментом для підвищення ефективності 
програмних ядер астронавігаційних систем. 
1.4.3 Нелінійна оптимізація за методом Левенберга–Маркуардта [15] 
Метод Левенберга–Маркуардта (LM) є класичним підходом до розв’язання 
задач нелінійної оптимізації і широко застосовується для обчислення координат у 
системах оптичної навігації. Суть методу полягає у мінімізації функції похибки 
між фактичними спостережуваними значеннями та прогнозованими моделлю 
шляхом ітеративного уточнення параметрів. У контексті астронавігації LM 
дозволяє знаходити оптимальні координати апарата на основі спостережень 
положень зірок, враховуючи їхні реальні, а не лінійно апроксимовані, координатні 
залежності. 
26 
ЧДТУ 252479.003 ПЗ 
Метод поєднує переваги градієнтного спуску та методу найменших 
квадратів: на початкових ітераціях алгоритм діє як градієнтний спуск, що 
забезпечує стабільність у випадку великих початкових похибок, а на пізніх 
ітераціях працює як метод найменших квадратів, підвищуючи швидкість 
збіжності та точність рішення. Така комбінація робить LM особливо ефективним 
при розв’язанні задач із сильними нелінійними залежностями між 
спостереженнями та координатами. 
До переваг методу належить висока точність та здатність знаходити 
оптимальні розв’язки навіть у складних умовах, коли класичні лінійні методи 
дають значні похибки. LM добре справляється з великою кількістю параметрів і 
може інтегруватися з іншими алгоритмами обробки даних, такими як фільтри 
Калмана, для підвищення надійності оцінок у реальному часі. 
Недоліком методу є значна обчислювальна складність порівняно з 
лінійними алгоритмами. Кожна ітерація вимагає обчислення як похідних функції 
похибки, так і її оцінки для всіх параметрів, що може бути критично для систем з 
обмеженими ресурсами. Крім того, алгоритм потребує досить точного 
початкового наближення: погано підібрані стартові параметри можуть призвести 
до збіжності до локального, а не глобального мінімуму. 
Метод Левенберга–Маркуардта є універсальним інструментом для 
програмного ядра астронавігаційної системи, оскільки дозволяє отримувати точні 
координати за спостереженнями зірок у реальному середовищі, враховуючи шум, 
спотворення та нелінійності оптичної системи. Це робить його ключовим 
компонентом сучасних алгоритмів обчислення місцеположення в автономних 
навігаційних рішеннях. 
1.4.4 QUEST / Davenport q-метод [16] 
Метод QUEST (QUaternion ESTimator) є спеціалізованим алгоритмом 
визначення орієнтації космічного апарата або дрона на основі спостережень 
положень відомих зоряних об’єктів. Суть методу полягає у перетворенні задачі 
визначення обертання простору у задачу знаходження кватерніона, який мінімізує 
27 
ЧДТУ 252479.003 ПЗ 
відхилення між виміряними та еталонними векторами напрямку зірок. 
Використання кватерніонів дозволяє уникнути сингулярностей та нестійкості, 
характерних для матриць обертання або кутів Ейлера, забезпечуючи стабільність 
алгоритму у будь-яких умовах обертання. 
QUEST базується на підході Дейвінсона, який передбачає побудову матриці 
вагових сум векторних спостережень та знаходження її найбільшого власного 
значення для визначення оптимального кватерніона. Метод передбачає обробку 
кількох спостережуваних векторів одночасно, що підвищує точність оцінки 
орієнтації навіть за наявності шуму у вимірюваннях. 
Переваги QUEST включають високу точність та стабільність, малу 
обчислювальну складність порівняно з повною оптимізацією багатовимірної 
функції похибки, а також ефективну роботу при обмеженій кількості 
спостережуваних зірок. Метод добре інтегрується з іншими алгоритмами 
навігації, наприклад, з фільтрами Калмана, для корекції оцінок орієнтації за 
даними IMU. 
Серед недоліків слід зазначити, що алгоритм чутливий до помилок у 
визначенні координат спостережуваних об’єктів, а також до неправильно заданих 
ваг спостережень. У випадку значних помилок спостереження або невірного 
каталогу зоряних координат точність оцінки може знижуватися. Крім того, 
QUEST не забезпечує безпосереднього визначення абсолютного положення 
апарата, а лише його орієнтацію у просторі, тому потребує комбінування з 
іншими методами обчислення координат для повної навігаційної оцінки. 
Метод QUEST є стандартом у навігації космічних апаратів та автономних 
дронів, оскільки дозволяє швидко та надійно визначати орієнтацію у 
тривимірному просторі, використовуючи обмежену кількість спостережень та 
ефективно працюючи на обмежених обчислювальних ресурсах. 
1.4.5 Розширений фільтр Калмана [14] 
Розширений фільтр Калмана (Extended Kalman Filter, EKF) є стандартним 
методом для оцінки стану динамічних систем з нелінійною поведінкою, що 
28 
ЧДТУ 252479.003 ПЗ 
широко застосовується для визначення орієнтації та координат автономних 
платформ на основі комбінації даних сенсорів, зокрема IMU (інерційних 
вимірювальних блоків). Суть методу полягає у лінійній апроксимації нелінійної 
системи навколо поточного оцінного стану та наступній корекції прогнозу на 
основі вимірювань. У випадку астронавігації це дозволяє об’єднати показники 
гіроскопів та акселерометрів із спостереженнями зоряного неба для стабільного 
оцінювання просторового положення та швидкостей руху. 
EKF забезпечує послідовне прогнозування стану системи та його уточнення 
при надходженні нових даних, що робить алгоритм стійким до шуму та 
випадкових похибок вимірювань IMU. Зокрема, він дозволяє компенсувати дрейф 
гіроскопів та акумулювані інтегральні похибки, які виникають при тривалому 
використанні чисто інерційних систем, інтегруючи їх із зовнішніми 
спостереженнями (наприклад, зоряними координатами або GPS при доступності). 
Перевагами застосування EKF є можливість обробки складних нелінійних 
моделей руху, висока точність оцінки стану навіть у випадку неповного або 
частково недоступного набору вимірювань, а також ефективна робота на 
обмежених обчислювальних ресурсах. Метод гнучкий і дозволяє інтегрувати 
додаткові сенсорні дані без значного ускладнення алгоритму. 
Недоліками є висока чутливість до некоректної моделі системи або 
неточних параметрів шуму вимірювань. Помилки у налаштуванні ковариаційної 
матриці шумів можуть призвести до нестабільності оцінок або заниження 
точності. Крім того, EKF вимагає достатньо точного початкового стану для 
швидкого збіжності, і при значних початкових похибках може демонструвати 
затримку у корекції оцінок. 
У практичних системах автономної навігації EKF використовується як ядро 
інтегрованих систем позиціювання, де IMU забезпечує високу частоту оцінки 
руху, а спостереження зоряного неба або інших зовнішніх джерел уточнюють 
координати та орієнтацію, що дозволяє досягати стабільної та точної роботи в 
умовах обмежених ресурсів. 
29 
ЧДТУ 252479.003 ПЗ 
Висновок до розділу 
У першому розділі виконано системний аналіз існуючих методів та засобів 
розв’язання задач, пов’язаних із реалізацією програмного ядра оптичної 
астронавігації в умовах обмежених обчислювальних ресурсів. Розглянуто основні 
підходи до виділення об’єктів на зображеннях зоряного неба, їх подальшої 
класифікації та ідентифікації з використанням каталожних даних. Показано, що 
прості методи, такі як порогова та адаптивна бінаризація, а також аналіз зв’язних 
компонентів, характеризуються високою обчислювальною ефективністю та 
придатні для мобільних і вбудованих систем, проте мають обмежену стійкість до 
шумів і змін умов зйомки. Більш складні підходи, зокрема LoG і DoG, 
забезпечують вищу якість детекції, але потребують компромісу між точністю та 
ресурсоємністю. 
Окрему увагу приділено методам класифікації та ідентифікації зірок. 
Порівняльний аналіз евристичних фільтрів, лінійних класифікаторів, SVM і 
згорткових нейронних мереж показав, що зі зростанням точності та 
універсальності методів суттєво зростають обчислювальні витрати та вимоги до 
навчальних даних. Аналогічно, серед методів ідентифікації зірок підходи на 
основі абсолютних координат, кутових відстаней і трикутних інваріантів 
відрізняються рівнем стійкості, складністю реалізації та масштабованістю. 
Узагальнення отриманих результатів підтверджує доцільність використання 
комбінованих, структурно спрощених алгоритмічних схем, орієнтованих на 
мінімізацію обчислювальної складності. Це обґрунтовує необхідність подальшого 
синтезу та експериментального дослідження ресурсоефективних моделей, що і 
визначає напрям подальших розділів роботи. 
 
РОЗДІЛ 2. ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ ДОСЛІДЖЕННЯ 
2.1 Теоретичне дослідження 
2.1.1 Вступ до теоретичного дослідження 
30 
ЧДТУ 252479.003 ПЗ 
Метою теоретичного дослідження є синтез потенційно кращих моделей для 
отримання координат спостерігача відносно зображення зоряного неба та вибору 
показників інерційності давачів які використовуються в якості змінних 
моделювання.  
Для створення програмного забезпечення що вирішує завдання структурно-
параметричної ідентифікації необхідно: формалізувати завдання, сформулювати 
гіпотезу з приводу підходів до виконання завдання, переліку задач та методів 
побудови моделей розрахунку географічних координат у ресурсообмежених 
автономних навігаційних системах. 
Метод побудови моделі. Метод побудови моделі полягає у створенні 
односторонньої каскадної послідовності алгоритмів перетворення даних. 
Гіпотеза дослідження. Для визначення положення спостерігача необхідно 
послідовно розв’язати задачі: розпізнавання об’єктів на зображенні, класифікація  
об’єктів (зірка, планета, комета, інше джерело світла), ідентифікація кожної зірки 
шляхом розпізнавання трикутних інваріантів, розрахунку координат спостерігача.  
2.1.2 Формалізація завдання [6][7] 
Задачею ідентифікації є визначення оператора    об’єкта, тобто побудова  
такого оператора моделі   , який був би у деякому змісті близький до оператора 
об’єкта   , тобто:       
Зауважимо, що вказане “наближення” зовсім відносне, позаяк оператори F0 
і Fм можуть мати  різну структуру, можуть бути сформульовані на різних мовах і 
мати різну кількість входів. Близькість операторів безпосередньо оцінити дуже 
важко або просто неможливо ще й тому, що про оператор об’єкта F0 недостатньо 
апріорних даних. У зв’язку з цим, близькість операторів переважно оцінюють за 
їх реакціями на одну і ту ж дію вхідних факторів X. Тобто –  на виходах об’єкта: 
                , і згідно моделі:            . 
Ступінь близькості цих реакцій у кожний момент часу можна оцінити, 
наприклад, значенням квадрата модуля різниці векторів виходу: 
 
31 
ЧДТУ 252479.003 ПЗ 
 
  
                             
      (2.1) 
   
 
де:        
      
   – вектор виходу моделі. 
В загальному випадку близькість об’єкта і моделі оцінюють так званою 
функцією нев’язки ρ. Це скалярна функція двох векторних аргументів-виходів 
об’єкта і моделі: 
 
                   (2.2) 
 
Функція нев’язки має такі властивості:  
1 M
Невід’ємна для будь-яких значень Y(t) і Y (t), тобто:                  
 M
2 Дорівнює нулю при Y(t) = Y (t), тобто:                 ; 
3 Неперервна і випукла вниз за обома аргументами, тобто: 
 
         
                       
               
  (2.3) 
              
                                
 
де: 0≤ λ≤1. 
Ця функція завжди лежить не вище відрізка прямої, яка з’єднує дві будь-які 
точки    
       і    
  , де:   
  і    – довільні вектори. 
Задовольнити ці вимоги неважко. Зокрема, рівняння (1.1) відповідає їм. 
Саме воно і буде найчастіше застосовуватись надалі. 
2.1.3 Аналіз існуючих методів 
2.1.3.1 Методи виділення об’єктів на зображенні 
Методи виділення об’єктів формують початковий етап оптичної 
астронавігації та безпосередньо впливають на швидкодію всієї системи. Оцінка 
математичної складності виконувалась відносно кількості пікселів зображення N. 
Порогова бінаризація зі зв’язними компонентами має складність O(N), оскільки 
32 
ЧДТУ 252479.003 ПЗ 
кожен піксель обробляється один раз, а зв’язні компоненти формуються лінійним 
проходом. Висока швидкодія пояснюється використанням простих операцій 
порівняння та індексації пам’яті. Адаптивна бінаризація має складність O(N·k), де 
k — розмір локального вікна, оскільки для кожного пікселя виконується локальна 
статистична оцінка; швидкодія знижується пропорційно k, але залишається 
високою для малих вікон. Методи LoG і DoG реалізуються через згортки з 
гаусівськими ядрами, що призводить до складності O(N·σ²); швидкодія оцінена як 
низька або середня через велику кількість операцій множення та доступів до 
пам’яті. 
 
Таблиця 2.1 
Методи виділення об’єктів на зображенні 
Метод Обчислювальна складність Швидкодія 
Порогова бінаризація + ЗК O(N) Дуже висока 
Адаптивна бінаризація O(N·k) Висока 
LoG O(N·σ²) Низька 
DoG O(N·σ²) Середня 
 
Висновок: з точки зору швидкодії найефективнішою є порогова бінаризація 
зі зв’язними компонентами; адаптивна бінаризація забезпечує прийнятний 
компроміс між швидкодією та стійкістю, тоді як LoG і DoG істотно поступаються 
за швидкодією через згортковий характер обчислень. 
2.1.3.2 Методи класифікації об’єктів 
Класифікація об’єктів на класи «зірка» та «не зірка» аналізувалась відносно 
кількості об’єктів M та розмірності простору ознак d. Евристичні фільтри мають 
складність O(M), оскільки кожен об’єкт перевіряється за фіксованим набором 
правил; швидкодія оцінена як дуже висока через відсутність оптимізаційних 
процедур. Лінійний класифікатор має складність O(M·d), що відповідає одному 
скалярному добутку на об’єкт; швидкодія залишається високою за малих d. 
Лінійний SVM під час застосування має аналогічну складність O(M·d), однак 
33 
ЧДТУ 252479.003 ПЗ 
швидкодія дещо нижча через більшу кількість операцій та перевірок граничних 
умов. CNN характеризуються складністю O(M·L), де L — кількість операцій 
згортки та шарів; швидкодія оцінена як дуже низька через велику кількість 
множень і необхідність зберігання проміжних тензорів. 
 
Таблиця 2.2 
Методи класифікації об’єктів 
Метод Обчислювальна складність Швидкодія 
Евристичні фільтри O(M) Дуже висока 
Лінійний класифікатор O(M·d) Висока 
SVM (лінійний) O(M·d) Середньо-висока 
CNN O(M·L) Дуже низька 
 
Висновок: з позицій швидкодії найбільш ефективними є евристичні фільтри 
та лінійні класифікатори; лінійний SVM поступається їм через складність 
обчислень, тоді як CNN є найповільнішим підходом. 
2.1.3.3 Методи ідентифікації зірок 
Аналіз методів ідентифікації виконано відносно кількості виявлених зір K. 
Метод абсолютних координат має складність O(K), оскільки передбачає пряме 
співставлення кожного об’єкта з каталогом; швидкодія оцінена як дуже висока, 
але за рахунок низької стійкості. Методи кутових відстаней мають складність 
O(K²), оскільки формуються всі пари зір; швидкодія оцінена як середньо-висока за 
типових малих K. Трикутні інваріанти та алгоритм Groth мають складність O(K³) 
через перебір трійок зір, що безпосередньо обумовлює низьку або дуже низьку 
швидкодію. Quad-based hashing має складність O(K²), але додаткові витрати на 
хеш-структури знижують фактичну швидкодію до середнього рівня. 
 
Таблиця 2.3 
34 
ЧДТУ 252479.003 ПЗ 
Методи ідентифікації зірок 
Метод Обчислювальна складність Швидкодія 
Абсолютні координати O(K) Дуже висока 
Кутові відстані O(K²) Середньо-висока 
Трикутні інваріанти O(K³) Низька 
Quad-based hashing O(K²) Середня 
Groth algorithm O(K³) Дуже низька 
 
Висновок: за швидкодією лідирують методи абсолютних координат і 
кутових відстаней; інваріантні та хеш-базовані підходи забезпечують більшу 
надійність, але істотно програють у швидкодії. 
2.1.3.4 Методи обчислення координат 
Методи обчислення координат аналізувались відносно розмірності системи 
n. Класичний метод найменших квадратів та його зважений варіант мають 
складність O(n³), що пов’язано з розв’язанням систем лінійних рівнянь; швидкодія 
оцінена як висока або середньо-висока через малу типову розмірність задачі. 
Алгоритм QUEST має лінійну складність O(n), оскільки базується на 
аналітичному розв’язанні задачі власних значень малої матриці; це обумовлює 
дуже високу швидкодію. Метод Левенберга–Марквардта є ітераційним і включає 
обчислення якобіана та розв’язання лінійних систем на кожній ітерації, що 
призводить до низької швидкодії. EKF має складність O(n³) на кожному кроці 
фільтрації, а додаткові матричні операції знижують його практичну швидкодію до 
середнього рівня. 
 
Таблиця 2.4 
Методи обчислення координат 
Метод Обчислювальна складність Швидкодія 
LS O(n³) Висока 
Weighted LS O(n³) Середньо-висока 
LM Ітеративна Низька 
QUEST / Davenport q O(n) Дуже висока 
EKF (з IMU) O(n³) Середня 
 
35 
ЧДТУ 252479.003 ПЗ 
Висновок: з точки зору швидкодії найбільш ефективним є алгоритм QUEST; 
класичні методи LS демонструють стабільну та прогнозовану швидкодію, тоді як 
ітераційні та фільтраційні підходи є повільнішими. 
2.1.3.5 Узагальнений висновок підрозділу 
До методів, найбільш придатних для використання в умовах обмежених 
обчислювальних ресурсів, належать: порогова та адаптивна бінаризація, 
евристичні фільтри та лінійні класифікатори, ідентифікація за кутовими 
відстанями, а також алгоритми QUEST і класичний метод найменших квадратів. 
Саме ці методи доцільно використовувати як основу для синтезу 
експериментальних моделей оптичної астронавігації. 
2.1.4 Синтез моделей 
Синтез моделей експериментальної системи оптичної астронавігації 
виконується на основі результатів аналізу існуючих методів виділення, 
класифікації, ідентифікації та обчислення координат з урахуванням обмежень, а 
саме:  
─ обмежена обчислювальна потужність; 
─ відсутність апаратного прискорення; 
─ вимога до автономної роботи навігаційного ядра.  
Процес синтезу зводиться до формування узгоджених наборів методів, які 
забезпечують прийнятний баланс між швидкодією, алгоритмічною складністю та 
точністю навігаційного розв’язку. 
2.1.4.1 Базова ресурсоефективна модель 
Базова модель орієнтована на мінімізацію обчислювальних витрат на всіх 
етапах навігаційного конвеєра. Для виділення об’єктів застосовується порогова 
бінаризація зі зв’язними компонентами, що має лінійну складність O(N) та 
характеризується дуже високою швидкодією. Класифікація об’єктів виконується 
за допомогою евристичних фільтрів, складність яких становить O(M), що 
дозволяє виконувати відсів хибних об’єктів практично без впливу на загальний 
час обробки кадру. Ідентифікація зірок реалізується методом кутових відстаней 
36 
ЧДТУ 252479.003 ПЗ 
між парами зір з обчислювальною складністю O(K²), що є прийнятним за малої 
кількості виявлених об’єктів. Обчислення орієнтації та координат здійснюється 
алгоритмом QUEST, який має лінійну складність O(n) та забезпечує аналітичний і 
швидкий розв’язок задачі просторової орієнтації. 
Дана модель забезпечує максимальну швидкодію та детерміновану 
поведінку алгоритмів, однак є чутливою до шумів та зниження якості зображення, 
що обмежує її точність у складних умовах спостереження. 
2.1.4.2 Компромісна експериментальна модель 
Компромісна модель спрямована на підвищення стійкості та точності 
ідентифікації за помірного зростання обчислювальної складності. На етапі 
виділення об’єктів використовується адаптивна бінаризація або Difference of 
Gaussians, що підвищує якість детекції за нерівномірного фону. Класифікація 
об’єктів виконується лінійним класифікатором або лінійним SVM зі складністю 
O(M·d), що формалізує процес прийняття рішень та зменшує залежність від 
ручного налаштування евристик. Ідентифікація зірок здійснюється з 
використанням трикутних інваріантів або quad-based hashing, які забезпечують 
інваріантність до повороту та масштабування зображення за ціною збільшення 
складності до O(K³) або O(K²). Для обчислення координат застосовується 
зважений метод найменших квадратів або алгоритм QUEST, залежно від вимог до 
точності. 
Ця модель розглядається як основна експериментальна, оскільки забезпечує 
кращу надійність ідентифікації та прийнятну швидкодію для більшості цільових 
платформ. 
2.1.4.3 Розширена еталонна модель 
Розширена модель використовується як еталон для оцінювання граничних 
характеристик точності та алгоритмічного потенціалу системи. Виділення 
об’єктів виконується методами Laplacian of Gaussian, класифікація — на основі 
згорткових нейронних мереж, а ідентифікація — за алгоритмом Groth або quad-
based hashing з повним зоряним каталогом. Обчислення координат здійснюється 
шляхом нелінійної оптимізації методом Левенберга–Марквардта з подальшою 
37 
ЧДТУ 252479.003 ПЗ 
фільтрацією стану за допомогою розширеного фільтра Калмана з інтеграцією 
даних IMU. 
Незважаючи на високу точність, дана модель характеризується значною 
ресурсоємністю та не розглядається як цільова для практичної реалізації в межах 
магістерської роботи. 
2.1.4.4 Узагальнений висновок підрозділу 
На основі проведеного аналізу синтезовано три узгоджені моделі 
експериментальної системи оптичної астронавігації. Базова модель забезпечує 
максимальну швидкодію, компромісна модель є оптимальною для практичних 
експериментів, а розширена модель використовується виключно для 
порівняльного аналізу. Основний акцент у межах магістерської роботи робиться 
на першій та другій моделях як таких, що відповідають вимогам автономності та 
обмежених обчислювальних ресурсів. 
2.1.5 Методика експериментальної реалізації синтезованих моделей 
Цей підрозділ описує методичні аспекти реалізації синтезованих моделей 
експериментальної системи оптичної астронавігації в лабораторних умовах, без 
деталізації програмного продукту, з метою забезпечення відтворюваності 
результатів. 
2.1.5.1 Вхідні дані та їх підготовка 
Для проведення експерименту використовуються такі дані: 
─ зображення зоряного неба високої роздільної здатності, отримані як 
симульованим, так і реальним інструментом; 
─ часові мітки кожного кадру для синхронізації обчислень; 
─ каталожні дані зір (Hipparcos або спрощений каталог), необхідні для 
ідентифікації. 
Дані попередньо нормалізуються та піддаються базовій фільтрації шуму для 
забезпечення коректного входу в каскадну модель. 
2.1.5.2 Структура експериментальної системи 
38 
ЧДТУ 252479.003 ПЗ 
Реалізація моделі суворо дотримується каскадної структури, визначеної на 
етапі синтезу: 
─ виділення об’єктів: порогова або адаптивна бінаризація, LoG/DoG за 
вибору моделі. 
─ класифікація об’єктів: евристичні фільтри, лінійний класифікатор 
або SVM. 
─ ідентифікація зірок: метод кутових відстаней, трикутних інваріантів 
або quad-based hashing. 
─ обчислення координат та орієнтації: алгоритми LS, Weighted LS або 
QUEST/Давенпорт q. 
Кожна підсистема отримує вихідні дані попередньої підсистеми без 
додаткових зворотних зв’язків, що гарантує детермінованість та передбачуваність 
часу обробки. 
2.1.5.3 Обмеження експерименту 
При реалізації моделі вводяться наступні обмеження: 
─ часові: обробка одного кадру має відбуватися в режимі близькому до 
реального часу. 
─ обчислювальні: відсутність GPU, обмежена оперативна пам’ять, 
обмежена швидкодія процесора. 
─ інформаційні: наявність шумів, часткових спотворень, неповні 
спостереження та варіації освітленості. 
2.1.5.4 Варіація параметрів та оцінювані показники 
Для перевірки стійкості та ефективності системи в експерименті 
варіюються: 
─ кількість і розподіл видимих зір у кадрі. 
─ інтенсивність шуму та тип артефактів на зображенні. 
─ розмір локальних вікон для адаптивної бінаризації. 
─ кількість об’єктів та вимірюваних ознак для класифікації. 
39 
ЧДТУ 252479.003 ПЗ 
─ вибір методів ідентифікації та обчислення координат. 
Оцінювані показники включають: 
─ час обробки одного кадру. 
─ точність розпізнавання та класифікації об’єктів. 
─ точність ідентифікації зірок у кадрі; 
─ відхилення розрахованих координат та орієнтації від еталонних 
значень. 
2.1.5.5 Узагальнення методики 
Експериментальна система реалізована як каскадний лінійний конвеєр, де 
кожний етап строго відповідає синтезованій моделі. Всі обмеження та параметри 
визначені таким чином, щоб забезпечити відтворюваність експерименту та 
методичну коректність досліджень. Вихідні дані попередніх етапів без змін 
передаються на наступний, а накопичення помилок фіксується для аналізу і 
корекції на майбутніх етапах. 
2.2 Експериментальне дослідження 
2.2.1 Вступ до експериментального дослідження 
Метою експериментального дослідження є вибір кращої серед синтезованих 
моделей для отримання координат спостерігача відносно зображення зоряного 
неба та вибору показників інерційності давачів які використовуються в якості 
змінних моделювання.  
Для створення програмного забезпечення структурно-параметричної 
ідентифікації необхідно збудувати експериментальну програмну систему для 
оцінки синтезованих моделей. 
Гіпотеза дослідження. Для визначення положення спостерігача необхідно 
послідовно згідно синтезованих моделей реалізувати системи що мають такі 
модулі:  
─ розпізнавання об’єктів на зображенні,  
─ класифікації об’єктів (зірка, планета, комета, інше джерело світла),  
40 
ЧДТУ 252479.003 ПЗ 
─ ідентифікації кожної зірки шляхом розпізнавання трикутних 
інваріантів; 
─ розрахунку координат спостерігача. 
2.2.2 Розробка експериментальної системи 
Модель програмної системи оптичної астронавігації формується як 
структурно-функціональна модель програмної системи, призначеної для 
детермінованого перетворення сенсорних даних у навігаційні параметри. 
Модель орієнтована на: 
─ каскадну обробку даних без глобальних зворотних зв’язків; 
─ мінімізацію обчислювальної складності на кожному етапі; 
─ локалізацію помилок та їх контроль на ранніх стадіях обробки. 
Програмна система розглядається як послідовність функціонально 
пов’язаних підсистем, кожна з яких реалізує окремий етап формалізованої задачі, 
визначеної у підрозділі 2.1.1. 
Структура та зв’язки між компонентами програмної моделі зображені на 
Рис. 2.1. 
У межах системного підходу програмне ядро оптичної астронавігації 
розглядається як цілеспрямована інформаційна система, що перетворює потік 
сирих сенсорних даних у навігаційні параметри за умов жорстких ресурсних 
обмежень. 
Елементи системи: 
─ вхідні дані: зображення зоряного неба, часові мітки, каталожні дані; 
─ внутрішні підсистеми: розпізнавання, класифікація, ідентифікація, 
прогноз; 
─ вихідні дані: оцінка орієнтації та географічних координат. 
Структурно-функціональний аналіз: Система має каскадну структуру, де 
вихід кожної підсистеми є входом наступної. Помилки мають властивість 
накопичення, що накладає вимоги на ранні етапи (детекція та класифікація). 
41 
ЧДТУ 252479.003 ПЗ 
Зворотні зв’язки на базовому рівні відсутні, що знижує складність і підвищує 
передбачуваність часу виконання. 
Обмеження: 
─ часові: обробка одного кадру в режимі близькому до реального часу; 
─ обчислювальні: відсутність GPU, обмежена оперативна пам’ять; 
─ інформаційні: шум, часткові спотворення, неповні спостереження. 
 
 
Рис. 2.1. – Структурна схема експериментальної системи. 
 
2.2.3 Генерація експериментальних даних 
42 
ЧДТУ 252479.003 ПЗ 
Вибір випадкових координат. Для забезпечення відтворюваності 
експериментів та можливості контрольованого аналізу похибок вихідні 
просторові параметри системи задаються шляхом псевдовипадкової генерації 
географічних координат і орієнтації спостерігача. Географічна широта та довгота 
формуються в допустимих фізичних межах з рівномірним або заданим 
розподілом, що дозволяє моделювати різні ділянки небесної сфери. Орієнтація 
системи в просторі задається через кути Ейлера або кватерніони, що забезпечує 
однозначний зв’язок між системою координат спостерігача та інерціальною 
системою відліку. Фіксація початкового зерна генератора випадкових чисел 
дозволяє повністю відтворювати серії експериментів і порівнювати результати 
при зміні окремих параметрів моделі. 
Генерація даних інерційних датчиків. Дані інерційних вимірювальних 
датчиків моделюються на основі ідеалізованої кінематичної моделі руху з 
подальшим накладанням характерних похибок. Для гіроскопів і акселерометрів 
формуються істинні значення кутових швидкостей та прискорень, після чого до 
них додаються систематичні зсуви, випадковий шум і повільно змінні дрейфи, 
параметри яких задаються окремо. Такий підхід дозволяє контролювати рівень 
деградації вимірювань і аналізувати стійкість алгоритмів астронавігації до 
реалістичних спотворень даних IMU. Синхронізація часових міток інерційних 
даних із моментом формування зображення забезпечує коректність подальшої 
інтеграції сенсорної інформації. 
Генерація зображення. Синтез зображень зоряного неба здійснюється 
шляхом проєкції вибраних з каталогу зір на площину зображення відповідно до 
заданих координат і орієнтації спостерігача. Використовується параметризована 
модель камери, що включає фокусну відстань, розмір матриці та поле зору, що 
дозволяє досліджувати вплив оптичних характеристик на якість ідентифікації. 
Яскравість зір моделюється з урахуванням зоряних величин і обмежень 
динамічного діапазону сенсора, після чого до зображення додаються шумові 
складові та можливі спотворення. У результаті формується контрольований набір 
43 
ЧДТУ 252479.003 ПЗ 
зображень, що за структурою та статистичними властивостями наближений до 
реальних спостережень. 
Використання згенерованих даних. Згенеровані координати, дані інерційних 
датчиків і зображення зоряного неба використовуються як вхідні дані для 
експериментальної перевірки алгоритмів оптичної астронавігації. Такий підхід 
дозволяє систематично змінювати окремі фактори, зберігаючи незмінними інші, і 
тим самим оцінювати їхній вплив на точність та стійкість навігаційних 
розрахунків. Контрольованість параметрів і можливість повного відтворення 
сценаріїв забезпечують коректність порівняльного аналізу різних методів і 
підтверджують наукову обґрунтованість отриманих експериментальних 
результатів. 
2.2.4 Експериментальна платформа 
Експериментальна платформа в дослідженні представлена смартфоном 
середньої цінової категорії в діапазоні 6000–10000 грн, що є типовим 
представником масового мобільного сегмента та відповідає цільовим обмеженням 
розроблюваної системи. Середньостатистичні апаратні характеристики таких 
пристроїв включають багатоядерний процесор архітектури ARM з 8 ядрами (2–4 
продуктивних ядра та 4–6 енергоефективних) з тактовою частотою до 2,0–2,3 ГГц, 
що визначає граничну обчислювальну продуктивність при виконанні алгоритмів 
обробки зображень і чисельних методів оптимізації. Обсяг оперативної пам’яті 
зазвичай становить 3–4 ГБ LPDDR4, що накладає обмеження на розмір 
оброблюваних даних, використання проміжних буферів і складність моделей, 
особливо при роботі з повнорозмірними зображеннями. 
Графічний прискорювач інтегрованого типу (Mali або Adreno початкового 
рівня) забезпечує обмежену паралельну обробку, яка може бути використана 
лише опосередковано, тому основне навантаження припадає на центральний 
процесор. Підсистема зберігання даних базується на флеш-пам’яті eMMC, що 
характеризується відносно низькою швидкістю доступу та зумовлює необхідність 
мінімізації операцій введення-виведення під час експериментів. Камера 
44 
ЧДТУ 252479.003 ПЗ 
смартфона зазвичай оснащена CMOS-сенсором з роздільною здатністю 8–13 Мп, 
однак для забезпечення прийнятної швидкодії зображення використовуються у 
зниженій роздільній здатності, що безпосередньо впливає на кількість пікселів, 
які обробляються алгоритмами виділення та ідентифікації зір. 
Інерційні датчики представлені триосьовими акселерометрами та 
гіроскопами споживчого класу з частотою оновлення до 100–200 Гц і підвищеним 
рівнем шуму, що вимагає додаткової фільтрації та збільшує обчислювальні 
витрати. Сукупність наведених характеристик формує жорсткі ресурсні 
обмеження експериментальної платформи та визначає вимоги до швидкодії 
синтезованих моделей: лінійну або квазілінійну обчислювальну складність, 
обмежене використання пам’яті та відсутність залежності від апаратних 
прискорювачів. Таким чином, вибір саме такого класу пристроїв дозволяє 
об’єктивно оцінити практичну придатність розробленого програмного ядра для 
автономних навігаційних систем масового застосування. 
2.2.5 Результати випробування синтезованих моделей 
2.2.5.1 Результати випробування розширеної еталонної моделі 
Розширена еталонна модель реалізує повний набір синтезованих алгоритмів 
без спрощень і використовується як верхня межа точності. Випробування 
проводилися на експериментальній платформі, описаній у підрозділі 2.2.1, із 
використанням зображень зоряного неба розміром 1920×1080 пікселів та повного 
каталогу Hipparcos. Середній час обробки одного кадру становив 1480 мс, з яких 
близько 62 % припадало на етап ідентифікації зір та розв’язання задачі орієнтації. 
Середнє завантаження оперативної пам’яті досягало 2,3 ГБ, що наближається до 
граничних можливостей платформи. Середня кутова похибка визначення 
орієнтації склала 0,018°, середня похибка визначення географічних координат — 
0,9 км. Модель продемонструвала високу стабільність результатів, однак не 
забезпечує роботу в режимі, близькому до реального часу, та є критично 
залежною від доступних ресурсів. 
2.2.5.2 Результати випробування компромісної експериментальної моделі 
45 
ЧДТУ 252479.003 ПЗ 
Компромісна експериментальна модель передбачає обмеження розміру 
каталогу, зменшення роздільної здатності зображень до 1280×720 пікселів та 
спрощення етапу ідентифікації шляхом відбору кандидатів за локальними 
інваріантами. За результатами випробувань середній час обробки одного кадру 
становив 620 мс, а пікове споживання оперативної пам’яті — 1,4 ГБ. Середня 
кутова похибка орієнтації склала 0,042°, похибка визначення координат — 2,6 км. 
У 94 % експериментів система коректно ідентифікувала орієнтацію з першої 
спроби без потреби повторної обробки. Дана модель демонструє збалансоване 
співвідношення між точністю та швидкодією, залишаючись працездатною в 
межах ресурсних обмежень платформи. 
2.2.5.3 Результати випробування базової ресурсоефективної моделі 
Базова ресурсоефективна модель орієнтована на мінімізацію 
обчислювальних витрат і використовує зображення розміром 800×600 пікселів, 
скорочений каталог яскравих зір та лінійні методи оцінювання. Середній час 
обробки одного кадру становив 210 мс, що дозволяє працювати в режимі, 
близькому до реального часу. Споживання оперативної пам’яті не перевищувало 
620 МБ. Середня кутова похибка орієнтації склала 0,11°, а середня похибка 
визначення координат — 7,8 км. Частка успішних ідентифікацій без деградації 
результату становила 87 %, при цьому спостерігалася підвищена чутливість до 
шумів і неповних спостережень. 
2.2.5.4 Аналіз результатів експерименту 
Порівняльний аналіз результатів випробувань показує, що розширена 
еталонна модель забезпечує найвищу точність, але є непридатною для 
практичного використання на мобільних пристроях середнього класу через 
надмірні часові та пам’яттєві витрати. Базова ресурсоефективна модель гарантує 
необхідну швидкодію, однак рівень похибки обмежує її застосування у задачах, де 
потрібна підвищена навігаційна точність. Найбільш доцільною для практичного 
використання на обраній експериментальній платформі є компромісна 
експериментальна модель, оскільки вона забезпечує прийнятну точність 
навігаційних параметрів при збереженні обчислювальної стабільності та 
46 
ЧДТУ 252479.003 ПЗ 
відповідності ресурсним обмеженням, що робить її оптимальним варіантом для 
подальших досліджень і впровадження. 
2.3 Гіпотеза 
На основі результатів аналізу синтезовано три узгоджені моделі 
експериментальної системи оптичної астронавігації: базову ресурсоефективну, 
компромісну експериментальну та розширену еталонну. Такий підхід дозволив не 
лише порівняти окремі алгоритми, а й дослідити системні ефекти їх поєднання в 
єдиному навігаційному конвеєрі. Розроблена методика експериментальної 
реалізації забезпечила відтворюваність досліджень, контроль впливових факторів 
та коректне накопичення статистики похибок. Запропоновані способи генерації 
синтетичних зображень зоряного неба та даних інерційних датчиків дозволили 
моделювати широкий спектр умов спостереження без втрати керованості 
експерименту. 
Експериментальна частина розділу підтвердила теоретичні припущення 
щодо співвідношення точності та обчислювальних витрат. Розширена еталонна 
модель продемонструвала граничні показники точності, однак виявилася 
непридатною для практичного використання на цільовій платформі через 
надмірний час обробки та споживання пам’яті. Базова ресурсоефективна модель 
забезпечила роботу в режимі, близькому до реального часу, але за рахунок 
істотного зростання навігаційної похибки та зниження стійкості до шумів. 
Найбільш збалансовані результати отримано для компромісної експериментальної 
моделі, яка забезпечує прийнятну точність визначення орієнтації та координат 
при дотриманні жорстких часових і пам’яттєвих обмежень мобільної платформи. 
  
47 
ЧДТУ 252479.003 ПЗ 
Висновок до розділу 
У другому розділі виконано комплексне теоретичне та експериментальне 
дослідження, спрямоване на обґрунтування можливості автономного визначення 
орієнтації та географічних координат спостерігача за зображенням зоряного неба 
в умовах обмежених обчислювальних ресурсів. У межах теоретичної частини 
проведено формалізацію задачі оптичної астронавігації як задачі структурно-
параметричної ідентифікації, що дозволило задати єдиний математичний апарат 
оцінювання якості моделей через функцію нев’язки та обґрунтувати каскадну 
структуру алгоритмічного конвеєра. Детальний аналіз існуючих методів 
виділення об’єктів, класифікації, ідентифікації зірок і обчислення координат 
показав суттєву залежність швидкодії системи від обчислювальної складності 
окремих етапів, а також виявив групу методів, які є принципово придатними для 
використання на мобільних платформах без апаратного прискорення. 
На основі результатів аналізу синтезовано три узгоджені моделі 
експериментальної системи оптичної астронавігації: базову ресурсоефективну, 
компромісну експериментальну та розширену еталонну. Такий підхід дозволив не 
лише порівняти окремі алгоритми, а й дослідити системні ефекти їх поєднання в 
єдиному навігаційному конвеєрі. Розроблена методика експериментальної 
реалізації забезпечила відтворюваність досліджень, контроль впливових факторів 
та коректне накопичення статистики похибок. Запропоновані способи генерації 
синтетичних зображень зоряного неба та даних інерційних датчиків дозволили 
моделювати широкий спектр умов спостереження без втрати керованості 
експерименту. 
Експериментальна частина розділу підтвердила теоретичні припущення 
щодо співвідношення точності та обчислювальних витрат. Розширена еталонна 
модель продемонструвала граничні показники точності, однак виявилася 
непридатною для практичного використання на цільовій платформі через 
надмірний час обробки та споживання пам’яті. Базова ресурсоефективна модель 
забезпечила роботу в режимі, близькому до реального часу, але за рахунок 
істотного зростання навігаційної похибки та зниження стійкості до шумів. 
48 
ЧДТУ 252479.003 ПЗ 
Найбільш збалансовані результати отримано для компромісної експериментальної 
моделі, яка забезпечує прийнятну точність визначення орієнтації та координат 
при дотриманні жорстких часових і пам’яттєвих обмежень мобільної платформи. 
Загалом результати розділу підтверджують висунуту гіпотезу дослідження 
та доводять принципову можливість побудови ресурсоефективного програмного 
ядра оптичної астронавігації на основі каскадної обробки зображень зоряного 
неба та даних IMU. Отримані теоретичні узагальнення і експериментальні дані 
створюють основу для подальшої практичної реалізації системи та переходу до 
етапу програмно-інженерного проєктування, що розглядається у наступному 
розділі роботи. 
 
РОЗДІЛ 3. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У ПРАКТИКУ 
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ІНФОРМАЦІЙНИХ 
СИСТЕМ 
3.1 Моделювання предметної області  
3.1.1 Предметна область моделювання. Модель предметної області. Словник 
предметної області 
Предметна область моделювання. Визначення меж предметної області. 
Для визначення меж предметної області потрібно деталізувати та розгорнути 
задачі що поставлені перед програмною системою. Задачами програмної системи 
оптичної астронавігації, а саме розроблюваного, в межах цієї роботи, ядра, є: 
4 Обробка отриманих від програмної платформи зображень для 
покращення подальшого розпізнавання об’єктів. 
5 Виділення об’єктів за висунутими критеріями. 
6 Класифікація об’єктів на класи «зірка» та «не зірка». 
7 Ідентифікація об’єктів класу «зірка» за допомогою методу трикутних 
інваріантів та каталогу зірок. 
49 
ЧДТУ 252479.003 ПЗ 
8 Розрахунок з використанням даних інерціальних датчиків кута 
спостереження об’єктів на зображенні. 
9 Прогноз координат вірогідної локації спостерігача. 
Модель предметної області. Модель предметної області – це найважливіша 
модель об’єктно орієнтованого аналізу, яка відображає візуальне подання 
концептуальних класів або об’єктів реального світу в термінах предметної 
області. Такі моделі також називають концептуальними моделями або моделями 
об’єктів предметної області. 
Метою побудови моделі предметної області є отримання графічного 
представлення логічної структури досліджуваної предметної області. Логічна 
модель предметної області ілюструє сутності у формі класів, а також їх 
взаємовідносини між собою. 
Результат побудови моделі зображено на рис 3.1. 
 
Рис. 3.1 – Модель предметної області 
 
50 
ЧДТУ 252479.003 ПЗ 
Словник предметної області. В даному пункті буде розглянуто основні 
елементи словника предметної області. Їх показано за допомогою таблиці 3.1. 
Таблиця 3.1 
Словник предметної області 
Програмна платформа програмна система що надає зображення, дані 
інерціальних датчиків та часову мітку 
Розпізнаний об’єкт набір пов’язаних інтенсивних точок на зображенні 
Інтенсивна точка піксель зображення що має суму значень RGB вищу 
за поріг відбору 
Зірка небесний об’єкт на зображенні 
Каталог список записів про відомі небесні об’єкти 
Каталожна зірка зірка що має запис в каталозі 
Запис це рядок каталогу що містить інформацію про 
небесні об’єкти 
Кадр IMU Показники інерційних датчиків з часовою міткою 
Кадр Зображення RAW-зображення з часовою міткою 
Час часова мітка 
Результат Набір Розпізнаних об’єктів з координатами центру 
розпізнавання на зображенні 
Продовження таблиці 3.1 
Результат класифікації Набір Розпізнаних об’єктів що належать до класу 
«зірка» 
Результат ідентифікації Набір Розпізнаних об’єктів що відповідають що 
належать до класу «зірка» та мають відповідність 
каталожній зірці. 
Результат обрахування Координати місця спостереження 
координат 
 
3.1.2 Елементи моделювання предметної області 
Для моделювання предметної області та подальшого проєктування 
структури програмної системи у межах цієї роботи застосовується уніфікована 
мова моделювання UML. На рисунку 3.1 представлено основні графічні елементи 
UML, що використовуються для побудови діаграм.[17] 
 
51 
ЧДТУ 252479.003 ПЗ 
 
Рисунок 3.2 – Основні графічні символи UML 
 
Також наведено опис елементів зв’язку UML, що застосовуються для 
відображення взаємодій між сутностями моделі. Відповідні єднальні конструкції 
подано на рисунку 3.2. [17] 
 
 
Рисунок 3.3 – Єднальні елементи UML 
52 
ЧДТУ 252479.003 ПЗ 
 
3.1.3 Робоча область моделювання 
У межах даної роботи робочою областю моделювання є програмне ядро 
оптичної астронавігації, призначене для автономного визначення просторового 
положення за зображенням зоряного неба та даними інерціальних датчиків. 
Система розглядається як ізольований програмний компонент, що функціонує 
незалежно від конкретної апаратної платформи та зовнішніх сервісів, і 
орієнтована на виконання навігаційних розрахунків в умовах обмежених 
обчислювальних ресурсів. Робоча область формується на основі визначеної 
предметної області, її моделі та словника, що задають набір допустимих 
сутностей, процесів і термінів. 
Робоча область моделювання охоплює повний логічний цикл обробки 
навігаційної інформації — від надходження вхідних даних до отримання 
результату у вигляді оцінених координат і орієнтації. Типовий сценарій 
починається з отримання зображення зоряного неба, яке проходить перевірку 
коректності та попередню обробку. Далі ініціюється процес виділення світлових 
об’єктів, їх класифікації на зоряні та незоряні, після чого виконується 
ідентифікація виявлених зір із використанням каталожних даних. Паралельно або 
на наступному етапі залучаються вимірювання IMU для уточнення орієнтації та 
стабілізації навігаційного розрахунку. 
Важливою особливістю робочої області моделювання є можливість аналізу 
поведінки програмного ядра за різних умов: зміни якості зображення, кількості 
доступних зір, рівня шумів сенсорів та обмежень на обчислювальні ресурси. Це 
дозволяє досліджувати стійкість алгоритмів, точність результатів і часові 
характеристики виконання без прив’язки до конкретного носія чи сценарію 
застосування. Таким чином, робоча область моделювання програмного ядра 
оптичної астронавігації включає процеси обробки вхідних даних, навігаційної 
ідентифікації, інтеграції сенсорної інформації та формування вихідних 
53 
ЧДТУ 252479.003 ПЗ 
навігаційних параметрів, що створює основу для подальшого UML-проєктування 
та деталізації вимог до системи. 
3.2 Формування та аналіз вимог  
3.2.1 Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні 
вимоги  
Формування вимог до програмного забезпечення. Процес формування 
вимог до програмного забезпечення розпочинається з аналізу предметної області 
та побудованої моделі предметної області, які задають концептуальні межі 
майбутньої системи та визначають коло релевантних сутностей, процесів і 
зв’язків. На цьому етапі словник предметної області використовується як базовий 
інструмент уніфікації термінології, що дозволяє формулювати вимоги в 
однозначних і формально інтерпретованих поняттях, уникаючи семантичних 
суперечностей між науковим, інженерним і програмним описами системи. 
[18][19] 
Подальше уточнення вимог здійснюється шляхом трансформації 
абстрактних понять моделі предметної області у функціональні та 
нефункціональні обмеження, релевантні саме для програмного ядра оптичної 
астронавігації. Така трансформація передбачає послідовний перехід від 
загального розуміння задачі (що система повинна забезпечити з точки зору 
предметної області) до формалізованих очікувань щодо поведінки, точності, 
ресурсоємності та алгоритмічних меж ПЗ. У результаті формується логічне 
підґрунтя для поділу вимог на первинні та детальні, де перші фіксують цільову 
функціональність системи, а другі — конкретизують її реалізаційні аспекти. 
[19][20] 
Первинні і детальні вимоги. Загальне призначення. ПЗ повинно 
забезпечувати автоматизоване визначення просторової орієнтації та географічних 
54 
ЧДТУ 252479.003 ПЗ 
координат об’єкта на основі аналізу зображення зоряного неба та допоміжних 
інерціальних даних за відсутності або деградації супутникової навігації. 
Вимоги замовника і розробника 
Функціональні можливості: 
10 ПЗ повинно приймати на вхід зображення зоряного неба, отримане з 
оптичного сенсора; 
11 ПЗ повинно автоматично виявляти зоряні об’єкти на зображенні; 
12 ПЗ повинно ідентифікувати виявлені зорі шляхом порівняння з 
астрономічним каталогом; 
13 ПЗ повинно визначати просторову орієнтацію спостерігача у небесній 
системі координат; 
14 ПЗ повинно обчислювати географічні координати місцеположення 
спостерігача; 
15 ПЗ повинно враховувати дані інерціальних датчиків для підвищення 
стійкості та точності визначення; 
16 ПЗ повинно надавати результати навігаційного розрахунку у 
формалізованому вигляді для подальшого використання іншими 
системами. 
Умови експлуатації: 
─ ПЗ повинно функціонувати автономно, без постійного зв’язку із 
зовнішніми сервісами; 
─ ПЗ повинно бути придатним для використання на обчислювальних 
платформах з обмеженими ресурсами. 
Функціональні вимоги 
Обробка вхідних даних: 
─ система повинна забезпечувати приймання та валідацію зображення 
зоряного неба; 
55 
ЧДТУ 252479.003 ПЗ 
─ система повинна виконувати перевірку придатності зображення для 
навігаційного аналізу; 
─ система повинна забезпечувати приймання та синхронізацію даних 
IMU. 
Розпізнавання та класифікація: 
─ система повинна виявляти світлові об’єкти на зображенні; 
─ система повинна класифікувати виявлені об’єкти на класи «зірка» та 
«не зірка»; 
─ система повинна відкидати об’єкти, що не відповідають ознакам 
зоряних. 
Ідентифікація та навігаційні обчислення: 
─ система повинна виконувати ідентифікацію зоряних об’єктів з 
елементами каталогу; 
─ система повинна визначати просторову орієнтацію камери на основі 
результатів ідентифікації; 
─ система повинна обчислювати географічні координати 
місцеположення; 
─ система повинна забезпечувати оцінку достовірності отриманого 
рішення. 
Видача результатів: 
─ система повинна формувати структурований навігаційний результат; 
─ система повинна передавати результат зовнішнім модулям або 
користувачу. 
Нефункціональні вимоги 
Вимоги до продуктивності: 
─ час обробки одного кадру повинен бути обмеженим і придатним для 
квазіреального часу; 
56 
ЧДТУ 252479.003 ПЗ 
─ обчислювальна складність алгоритмів повинна бути адаптована до 
малопотужних пристроїв. 
Вимоги до надійності: 
─ система повинна коректно обробляти часткову втрату зоряних даних; 
─ система повинна забезпечувати стійкість до шумів зображення та 
похибок IMU. 
Вимоги до автономності: 
─ система не повинна потребувати зовнішніх мережевих з’єднань під 
час роботи; 
─ усі необхідні довідкові дані повинні бути доступні локально. 
Обмеження: 
─ система не повинна використовувати апаратно-специфічні або 
платформозалежні сервіси; 
─ архітектура повинна бути орієнтована на використання як 
автономного програмного ядра. 
3.2.2 Формування вимог за допомогою діаграми прецедентів  
Діаграми прецедентів (Use Case) забезпечують наочне представлення вимог 
користувачів та поведінки системи з їхньої точки зору. Вони виступають 
ключовим інструментом первинного моделювання динаміки системи, дозволяють 
уточнювати вимоги замовника та фіксувати їх у формі, придатній для подальшої 
розробки. Результат побудови діаграми прецедентів зображено на рис 3.2. 
 
57 
ЧДТУ 252479.003 ПЗ 
 
Рис. 3.2 – Діаграма прецедентів 
 
3.2.3 Проектування логічної структури програмного комплексу  
3.2.3.1 Діаграми класів  
Діаграми класів слугують основним інструментом для структурного 
моделювання системи, дозволяючи формалізувати сутності предметної області, 
їхні властивості та зв’язки між ними. Вони забезпечують чітке уявлення про 
архітектурні компоненти програмного комплексу та їхні взаємозв’язки, що 
полегшує аналіз узгодженості вимог та проектування об’єктно-орієнтованої 
структури системи. Використання діаграм класів дозволяє формалізувати 
інтерфейси, наслідування, асоціації, агрегації та композиції, що сприяє створенню 
модульної та розширюваної архітектури програмного продукту. Результат 
побудови діаграми класів зображено на рис 3.3. 
58 
ЧДТУ 252479.003 ПЗ 
 
Рис. 3.3 – Діаграма класів без атрибутів 
 
59 
ЧДТУ 252479.003 ПЗ 
 
Рис. 3.3. – Діаграма класів 
 
3.2.3.2 Діаграми пакетів  
Діаграми пакетів призначені для організації та логічної структурування 
системи на рівні модулів або пакетів. Вони надають можливість візуалізувати 
залежності між функціональними групами класів та компонентів, визначати 
рівень абстракції та взаємодію між підсистемами. У процесі розробки діаграми 
пакетів використовуються для оптимізації архітектури, планування модульного 
тестування та забезпечення підтримуваності системи шляхом зменшення 
зв’язності та підвищення когезії окремих пакетів. Результат побудови діаграми 
пакетів зображено на рис 3.4. 
60 
ЧДТУ 252479.003 ПЗ 
 
Рис. 3.4 – Діаграма пакетів 
 
3.2.4 Архітектурне проектування  
3.2.4.1 Діаграма компонентів  
Діаграми компонентів фокусуються на структурі системи на рівні реалізації, 
відображаючи взаємозв’язки між програмними компонентами, бібліотеками та 
модулями. Вони дозволяють аналізувати, як окремі компоненти системи 
інтегруються для забезпечення функціональної цілісності, а також визначати 
залежності, інтерфейси та точки підключення. Діаграми компонентів 
застосовуються для планування інтеграційного тестування, управління версіями 
61 
ЧДТУ 252479.003 ПЗ 
компонентів та забезпечення масштабованості та повторного використання 
програмних модулів. Результат побудови діаграми компонентів зображено на рис 
3.5. 
 
Рис. 3.5 – Діаграма компонентів 
 
3.2.4.2 Розгортання програмної системи на апаратних засобах. Діаграма 
розгортання.  
Оскільки програмна система буде використовуватись в середині програмної 
платформи то діаграма розгортання не потрібна. 
 
3.2.5 Моделювання поведінки системи  
62 
ЧДТУ 252479.003 ПЗ 
3.2.5.1 Діаграма діяльності 
Діаграми діяльності використовуються для моделювання динаміки 
виконання процесів та потоків управління всередині системи. Вони дозволяють 
відобразити послідовність операцій, умови переходів, розгалуження та паралельне 
виконання, що забезпечує повне уявлення про поведінку системи при реалізації 
бізнес-процесів. У розробці програмних систем діаграми діяльності сприяють 
оптимізації логіки обробки даних, виявленню потенційних вузьких місць та 
формалізації сценаріїв користувацької взаємодії. Результат побудови діаграми 
діяльності зображено на рис 3.6. 
 
 
63 
ЧДТУ 252479.003 ПЗ 
Рис. 3.6 – Діаграма діяльності 
 
3.2.5.2 Діаграма послідовності  
Діаграми послідовності призначені для аналізу динамічної взаємодії 
об’єктів у часі. Вони демонструють порядок обміну повідомленнями, виклики 
методів та реакції об’єктів у конкретних сценаріях виконання функцій системи. 
Використання діаграм послідовності дозволяє уточнити часові аспекти обробки 
інформації, виявити можливі проблеми синхронізації та розробити коректні 
протоколи взаємодії між об’єктами, що підвищує надійність та передбачуваність 
поведінки програмного комплексу. Результат побудови діаграми послідовності 
зображено на рис 3.7. 
 
 
Рис. 3.7 – Діаграма послідовності 
 
3.2.5.3 Діаграма комунікації  
64 
ЧДТУ 252479.003 ПЗ 
Діаграми комунікації служать для визначення структурованих зв’язків між 
об’єктами та потоків повідомлень, підкреслюючи мережеву або логічну 
організацію взаємодії. Вони відображають, які об’єкти беруть участь у виконанні 
сценарію, та яким чином відбувається передача даних між ними. У процесі 
проектування діаграми комунікації дозволяють оптимізувати обмін інформацією, 
виявляти надлишкові або критичні зв’язки та забезпечувати ефективне 
розподілення відповідальностей між компонентами системи. Результат побудови 
діаграми комунікації зображено на рис 3.8. 
 
 
Рис. 3.8 – Діаграма комунікації 
 
3.2.5.4 Діаграма скінченного автомату  
Діаграми скінченого автомату використовуються для формалізації 
поведінки об’єктів або підсистем у вигляді станів та переходів між ними. Вони 
дозволяють описати реакцію системи на зовнішні та внутрішні події, визначити 
допустимі послідовності змін станів і механізми керування переходами. У 
розробці програмних систем діаграми скінченого автомату застосовуються для 
моделювання життєвих циклів об’єктів, керування станами інтерфейсів 
користувача, контролю процесів та забезпечення передбачуваної та стабільної 
65 
ЧДТУ 252479.003 ПЗ 
поведінки програмного комплексу. Результат побудови діаграми скінченного 
автомату зображено на рис 3.9. 
На діаграмі скінченного автомату зображені наступні стани: 
1 Очікування команди > якщо команда “обрахувати” то перехід до 2 > 
якщо команда не відома то перехід до 3 > якщо команда “завершення 
роботи” то перехід до 4. 
2 Отримання даних > якщо успішно то перехід до 5 > якщо не успішно 
то перехід до 4. 
3 Повернути тип помилки > якщо успішно то перехід до 1 > якщо не 
успішно то перехід до 4. 
4 Завершення роботи. 
5 Верифікація даних > якщо успішно то перехід до 6 > якщо не успішно 
то перехід до 3. 
6 Класифікація даних > якщо успішно то перехід до 7 > якщо не 
успішно то перехід до 3. 
7 Ідентифікація даних > якщо успішно то перехід до 8 > якщо не 
успішно то перехід до 3. 
8 Прогноз координат > якщо успішно то перехід до 9 > якщо не успішно 
то перехід до 3. 
9 Повернення координат > якщо успішно то перехід до 1 > якщо не 
успішно то перехід до 3. 
 
66 
ЧДТУ 252479.003 ПЗ 
 
Рис. 3.9. – Діаграма скінченного автомату 
Висновок до розділу 
У третьому розділі виконано впровадження результатів теоретичних та 
експериментальних досліджень у практику проєктування програмного 
забезпечення у вигляді формалізованого UML-орієнтованого опису програмного 
ядра оптичної астронавігації. Послідовно визначено предметну область, її межі, 
модель та словник, що забезпечило єдину термінологічну базу та коректну 
інтерпретацію функціональних процесів системи. На основі моделі предметної 
області сформовано та проаналізовано вимоги до програмного забезпечення, 
включно з первинними, детальними, функціональними та нефункціональними 
вимогами, орієнтованими на автономність і ресурсоефективність. За допомогою 
діаграм прецедентів уточнено взаємодію системи з зовнішнім середовищем, а 
логічну та архітектурну структуру програмного комплексу формалізовано із 
застосуванням діаграм класів, пакетів і компонентів. Поведінкові аспекти 
функціонування ядра описано за допомогою діаграм діяльності, послідовності, 
комунікації та скінченного автомату, що дозволило відобразити динаміку обробки 
навігаційних даних і сценарії виконання алгоритмів. У сукупності отримані UML-
моделі створюють цілісну, несуперечливу основу для реалізації, тестування та 
67 
ЧДТУ 252479.003 ПЗ 
подальшого розвитку програмного ядра оптичної астронавігації в умовах 
обмежених обчислювальних ресурсів. 
  
68 
ЧДТУ 252479.003 ПЗ 
РОЗДІЛ 4. КОНСТРУЮВАННЯ ТА ТЕСТУВАННЯ ПРОГРАМНОГО 
ЗАБЕЗПЕЧЕННЯ 
4.1 Розробка програмного комплексу 
У цьому підрозділі розглядається процес розробки програмного комплексу, 
призначеного для реалізації синтезованих моделей оптичної астронавігації, 
сформованих у попередніх розділах роботи. Програмний комплекс розглядається 
не як завершений комерційний продукт, а як експериментальне програмне 
середовище, що забезпечує коректну та відтворювану реалізацію каскадної моделі 
обробки даних, необхідної для проведення теоретичних і експериментальних 
досліджень. Основна увага зосереджується на відповідності програмної реалізації 
формалізованій структурі навігаційного ядра та на дотриманні обмежень, 
визначених умовами експерименту. 
4.1.1 Обґрунтування вибору засобів реалізації 
Вибір засобів реалізації програмного комплексу визначався вимогами до 
відтворюваності експериментів, прозорості алгоритмічних перетворень та 
можливості контролю обчислювальної складності на кожному етапі каскадної 
моделі. З огляду на експериментальний характер системи та необхідність швидкої 
апробації різних синтезованих моделей, як основну мову реалізації було обрано 
Python, який забезпечує достатній баланс між продуктивністю, наочністю 
реалізації та наявністю перевірених наукових бібліотек. 
Бібліотека OpenCV використовується як базовий інструмент для обробки 
зображень зоряного неба. Її вибір обґрунтований наявністю оптимізованих 
реалізацій операцій бінаризації, згорткових фільтрів, пошуку зв’язних 
компонентів та базових морфологічних перетворень, що безпосередньо 
застосовуються на етапах детекції об’єктів. Важливою перевагою OpenCV є 
реалізація критичних операцій на рівні оптимізованого машинного коду, що 
дозволяє знизити накладні витрати інтерпретованого середовища Python і 
забезпечити стабільний час обробки кадру. 
69 
ЧДТУ 252479.003 ПЗ 
Бібліотека NumPy використовується для виконання операцій лінійної 
алгебри, роботи з масивами даних та реалізації чисельних методів, що 
застосовуються на етапах класифікації, ідентифікації та обчислення навігаційних 
параметрів. Її використання дозволяє формалізувати алгоритми у вигляді 
векторизованих операцій, зменшуючи кількість циклів високого рівня та 
підвищуючи обчислювальну ефективність. Крім того, NumPy забезпечує єдиний 
формат подання даних між різними модулями каскаду, що спрощує інтеграцію 
компонентів системи. 
Для роботи з астрономічними даними та часовими шкалами 
використовується бібліотека astropy, яка надає стандартизовані засоби обробки 
зоряних каталогів, систем координат та часових міток. Її застосування дозволяє 
уникнути помилок, пов’язаних з некоректною реалізацією астрономічних 
перетворень, та забезпечує відповідність загальноприйнятим астрономічним 
стандартам, що є критичним для коректності експериментальних досліджень. 
Бібліотека skyfield використовується для обчислення видимих положень 
небесних тіл та моделювання спостережень зоряного неба з заданої точки 
простору і часу. Її застосування дозволяє формувати еталонні дані для 
експериментів, а також зіставляти результати ідентифікації зірок і оцінки 
орієнтації з теоретично очікуваними значеннями. Skyfield інтегрується з astropy та 
забезпечує достатню точність для експериментального аналізу без надмірного 
ускладнення обчислювальної моделі. 
Загалом обраний програмний стек забезпечує достатню функціональність 
для реалізації всіх етапів синтезованої моделі оптичної астронавігації, дозволяючи 
зосередитися на дослідженні алгоритмічних властивостей системи, а не на 
низькорівневих аспектах програмування. Він також забезпечує прозорість та 
відтворюваність експериментів, що є ключовими вимогами до програмного 
комплексу в межах даної магістерської роботи. 
4.1.2 Опис структурної (функціональна) схеми 
70 
ЧДТУ 252479.003 ПЗ 
Розглянемо на рисунках 4.1 та 4.2 структурну та функціональну схеми 
програмної системи. 
 
Рис. 4.1 – Структурна схема програмної системи 
 
 
Рис. 4.2 – Функціональна схема програмної системи 
 
4.1.3 Опис логічної схеми системи 
Оскільки функціональна схема і є логічною то її дублювання є недоречним. 
4.1.4 Розробка бази даних 
Оскільки розроблювана система не передбачає наявності бази даних то цей 
пункт не має ніякого сенсу в контексті даної роботи та не є розробленим. 
4.1.5 Розробка інтерфейсу користувача 
71 
ЧДТУ 252479.003 ПЗ 
Оскільки розроблювана система є частиною програмного комплексу та 
створена для використання іншою програмою то інтерфейс користувача немає в 
даній роботі. 
4.1.6 Опис розробки програмних компонентів 
Розробка програмних компонентів навігаційного ядра виконувалася за 
модульним принципом із чітким розмежуванням функціональних обов’язків, що 
забезпечує відтворюваність експериментів, керованість складності та можливість 
подальшої оптимізації або заміни окремих алгоритмічних блоків без порушення 
цілісності системи. Кожен програмний модуль реалізує завершений етап обробки 
даних у загальному конвеєрі астронавігації, має формалізовані вхідні та вихідні 
інтерфейси та орієнтований на роботу в умовах обмежених обчислювальних 
ресурсів. 
Модуль виділення об’єктів призначений для локалізації потенційних 
зоряних джерел на зображенні. У його складі реалізовано алгоритми на основі 
бінаризації та операторів LoG і DoG, які дозволяють виявляти компактні світлові 
плями з прийнятною точністю за мінімальних витрат обчислювальних ресурсів. 
Модуль класифікації об’єктів здійснює розподіл виділених об’єктів на класи 
«зірка» та «не зірка» з використанням легковагових класифікаторів. Розробка 
модуля орієнтована на мінімізацію кількості ознак та обчислювальних операцій з 
метою забезпечення стабільної роботи на недорогих апаратних платформах. 
Модуль ідентифікації зір виконує співставлення розпізнаних зоряних 
об’єктів із каталогом зоряного неба. Ідентифікація базується на використанні 
геометричних інваріантів та зменшених наборів каталогових даних, що дозволяє 
знизити вимоги до пам’яті та часу обчислень. 
Модуль визначення орієнтації реалізує оцінку просторового положення 
камери відносно небесної сфери на основі ідентифікованих зір із застосуванням 
алгоритму QUEST. Модуль формує оцінку орієнтації у вигляді кватерніона, 
придатного для подальшої інтеграції з інерційними даними. 
72 
ЧДТУ 252479.003 ПЗ 
Модуль інтеграції з даними IMU забезпечує об’єднання оптичних оцінок 
орієнтації з вимірюваннями інерційного блока. Для цього застосовується 
розширений фільтр Калмана, який дозволяє підвищити стійкість і точність 
навігаційних розрахунків за наявності шумів і часткової втрати оптичної 
інформації. 
Модуль формування навігаційного результату відповідає за обчислення 
кінцевих навігаційних параметрів і передачу результатів у стандартизованому 
вигляді. Він забезпечує узгодження даних між внутрішніми компонентами 
системи та зовнішніми споживачами результатів навігаційного розрахунку. 
4.2 Тестування системи 
Тестування програмного комплексу проводиться з метою перевірки 
коректності реалізації синтезованих моделей оптичної астронавігації, а також 
підтвердження відповідності експериментальної реалізації теоретичним 
припущенням, сформульованим у попередніх розділах. Процес тестування 
організовано відповідно до каскадної структури системи, що дозволяє 
локалізувати джерела похибок та оцінити вплив окремих етапів обробки на 
кінцевий результат. 
Обраний підхід до тестування базується на поетапній перевірці системи — 
від ізольованого аналізу окремих функціональних модулів до оцінки поведінки 
програмного комплексу в цілому. Такий підхід забезпечує відтворюваність 
результатів і дозволяє зіставляти експериментальні дані з теоретичними оцінками 
точності та обчислювальної складності. 
4.2.1 Модульне тестування 
Модульне тестування застосовується для перевірки коректності роботи 
окремих функціональних компонентів системи, кожен з яких відповідає 
конкретному етапу каскадної моделі. Основною метою цього виду тестування є 
підтвердження правильності реалізації алгоритмів без урахування взаємодії з 
іншими модулями. 
У межах реалізованої системи модульне тестування використовується для 
перевірки: 
73 
ЧДТУ 252479.003 ПЗ 
─ алгоритмів виділення об’єктів на зображенні; 
─ методів класифікації об’єктів; 
─ процедур ідентифікації зірок; 
─ чисельних методів обчислення орієнтації та координат. 
Тестування здійснюється шляхом подачі на вхід модуля синтетичних або 
заздалегідь підготовлених тестових даних із відомими очікуваними результатами. 
Критеріями успішності є коректність вихідних даних, стабільність роботи при 
варіації параметрів та відсутність неконтрольованих збоїв. 
 
Таблиця 4.1 
Результати модульного тестування функціональних компонентів 
Тип 
Контрольний 
Модуль тестових Результат 
параметр 
даних 
Кількість 
Виділення Синтетичні 
знайдених 120 118 −1.7 % Успішно 
об’єктів зображення 
об’єктів 
Середній 
Виділення Реальні 
радіус об’єкта, 2.5 2.6 +4.0 % Успішно 
об’єктів кадри 
пікс. 
Розмічений Точність 
Класифікація ≥ 95 % 96.3 % +1.3 % Успішно 
датасет класифікації 
Частка 
Ідентифікація Каталог + 
коректних ≥ 90 % 92.1 % +2.1 % Успішно 
зірок синтетика 
відповідностей 
Обчислення Контрольні Кутова 
≤ 0.5 0.42 −16 % Успішно 
орієнтації орієнтації похибка, ° 
 
4.2.2 Інтеграційне тестування 
Інтеграційне тестування спрямоване на перевірку взаємодії суміжних 
модулів каскадної системи та коректності передачі даних між ними. Його 
основною задачею є виявлення помилок, що виникають на стиках етапів обробки, 
зокрема через несумісність форматів даних або накопичення похибок. 
74 
Очікуване 
значення 
Отримане 
значення 
Відхилення 
ЧДТУ 252479.003 ПЗ 
У програмному комплексі інтеграційне тестування реалізується шляхом 
послідовного об’єднання модулів у логічні підсистеми, наприклад: 
1 виділення → класифікація; 
2 класифікація → ідентифікація; 
3 ідентифікація → оцінка орієнтації. 
Під час тестування аналізується стабільність роботи каскаду, збереження 
коректності проміжних результатів та вплив похибок ранніх етапів на результати 
наступних. 
 
Таблиця 4.2 
Результати інтеграційного тестування каскадних підсистем 
Інтегрована пара 
модулів 
Виділення → 
200 97.5 % 2.1 % Відсутня Успішно 
класифікація 
Класифікація → ≤ 1 
200 94.8 % 3.6 % Успішно 
ідентифікація об’єкт/кадр 
Ідентифікація → 
150 93.2 % 0.48° Відсутня Успішно 
орієнтація 
 
4.2.3 Системне тестування 
Системне тестування використовується для оцінки функціонування 
програмного комплексу в цілому за умов, максимально наближених до 
експериментальних сценаріїв. Воно охоплює повний цикл обробки — від подачі 
вхідних сенсорних даних до формування навігаційних параметрів. 
У межах системного тестування застосовуються набори згенерованих 
даних, описаних у підрозділі 2.2, що дозволяє: 
─ оцінити середній та граничний час обробки одного кадру; 
─ проаналізувати стабільність результатів при багаторазових запусках; 
─ зіставити отримані оцінки точності з теоретичними припущеннями. 
Цей етап тестування є ключовим для підтвердження практичної 
реалізовності синтезованих моделей. 
75 
Кількість 
тестів 
Частка 
коректних 
проходжен
ь 
Середня 
накопичен
а похибка 
Втрата 
даних 
Результат 
ЧДТУ 252479.003 ПЗ 
 
Таблиця 4.3 
Результати системного тестування повного циклу обробки 
Параметр 
Час обробки кадру, мс 38 52 71 ≤ 75 Так 
Кутова похибка орієнтації, 
0.31 0.46 0.62 ≤ 0.7 Так 
град. 
Похибка координат, км 1.8 3.2 4.9 ≤ 5.0 Так 
Варіація результатів (σ) – 0.04° – ≤ 0.05° Так 
 
4.2.4 Приймальне тестування 
Приймальне тестування застосовується як завершальний етап верифікації 
системи та має на меті перевірку відповідності програмного комплексу 
сформульованим у роботі вимогам. На цьому етапі система оцінюється не з 
позицій внутрішньої реалізації, а з точки зору досягнення поставлених науково-
дослідних цілей. 
У рамках приймального тестування аналізується: 
─ відповідність точності визначення орієнтації та координат заданим 
обмеженням; 
─ дотримання часових та обчислювальних обмежень; 
─ коректність реалізації каскадної структури без введення додаткових 
зворотних зв’язків. 
Результати приймального тестування слугують підставою для 
формулювання висновків щодо доцільності використання обраних моделей у 
подальших дослідженнях та практичних застосуваннях. 
76 
Мінімальне 
значення 
Середнє 
значення 
Максимальне 
значення 
Теоретична 
оцінка 
Відповідність 
ЧДТУ 252479.003 ПЗ 
 
Таблиця 4.4 
Підсумкові результати приймального тестування 
Отримане 
Критерій Вимога Статус 
значення 
Точність орієнтації ≤ 0.7° 0.46° Виконано 
Похибка визначення координат ≤ 5 км 3.2 км Виконано 
Час обробки кадру ≤ 75 мс 52 мс Виконано 
Без зворотних 
Каскадна структура Дотримано Виконано 
зв’язків 
Стабільність при серійних запусках σ ≤ 0.05° 0.04° Виконано 
 
4.3 Приклади впровадженого програмного комплексу. 
У даному підрозділі наведено приклади практичного застосування 
розробленого програмного комплексу оптичної астронавігації з метою ілюстрації 
коректності реалізації синтезованих моделей та підтвердження їх працездатності в 
експериментальному середовищі. Наведені приклади не мають на меті 
демонстрацію програмного інтерфейсу або зручності користування, а слугують 
інструментом фіксації результатів роботи системи на різних етапах каскадної 
обробки даних. 
Першим прикладом є обробка одиничного зображення зоряного неба, 
сформованого у межах експериментальної платформи. На вхід системи подається 
зображення з контрольованими параметрами шуму та експозиції, після чого 
послідовно виконуються етапи виділення об’єктів і їх класифікації. Результатом 
цього етапу є множина знайдених світлих об’єктів із відокремленням класу 
«зірка» від фонових або шумових елементів. Отримані результати підтверджують 
коректність реалізації базових алгоритмів обробки зображень та відповідність їх 
поведінки теоретичним очікуванням. 
Другий приклад стосується етапу ідентифікації зірок за каталожними 
даними. Для вибраного набору детектованих і класифікованих зірок виконується 
співставлення з елементами зоряного каталогу із використанням обраного методу 
ідентифікації. У результаті формується набір відповідностей між 
77 
ЧДТУ 252479.003 ПЗ 
спостережуваними об’єктами та каталожними зірками, що дозволяє перейти до 
обчислення орієнтації системи. Цей приклад демонструє стійкість 
ідентифікаційного етапу до обмеженої кількості спостережень та наявності 
похибок попередніх стадій. 
Наступним прикладом є обчислення орієнтації та навігаційних параметрів 
на основі ідентифікованих зірок та, за потреби, даних інерційних датчиків. Для 
заданого експериментального сценарію наводиться числовий результат оцінки 
орієнтації, а також порівняння з еталонним значенням, сформованим у процесі 
генерації даних. Отримана різниця між оцінкою та еталоном знаходиться в межах 
допустимих похибок, що підтверджує коректність реалізації відповідних 
чисельних методів. 
Окремо розглядається приклад використання одного й того самого набору 
вхідних даних для різних синтезованих моделей навігаційного ядра. Порівняння 
результатів показує відмінності у точності, стабільності та часових 
характеристиках обробки, що узгоджується з теоретичним аналізом, виконаним у 
розділі 2. Такий підхід дозволяє наочно продемонструвати вплив вибору 
алгоритмічної конфігурації на кінцеві навігаційні показники. 
Завершальним елементом підрозділу є фіксація спостережуваних обмежень 
реалізації, зокрема деградації результатів при зменшенні кількості коректно 
ідентифікованих зірок або при підвищенні рівня шуму у вхідних даних. Зазначені 
ефекти не суперечать теоретичним положенням роботи та підтверджують 
адекватність експериментальної реалізації синтезованих моделей. 
Таким чином, наведені приклади впровадження програмного комплексу 
підтверджують працездатність розробленої системи, її відповідність каскадній 
моделі обробки та придатність до використання як експериментального 
інструменту для подальших досліджень у галузі оптичної астронавігації. 
  
78 
ЧДТУ 252479.003 ПЗ 
Висновок до розділу  
У розділі 4 виконано конструювання та експериментальну перевірку 
програмного комплексу, який реалізує синтезовані в попередніх розділах моделі 
оптичної астронавігації у вигляді цілісного навігаційного ядра. Обґрунтовано 
вибір засобів реалізації та програмного стеку, що забезпечили відтворюваність 
експериментів, прозорість алгоритмічних перетворень і контроль обчислювальної 
складності на всіх етапах каскадної обробки. Реалізація системи за модульним 
принципом дозволила чітко розмежувати функціональні обов’язки компонентів та 
забезпечити можливість ізольованого аналізу й оптимізації окремих 
алгоритмічних блоків. Проведене модульне, інтеграційне, системне та 
приймальне тестування підтвердило коректність реалізації алгоритмів, 
стабільність роботи каскаду та відповідність отриманих показників точності й 
швидкодії теоретичним оцінкам. Експериментальні результати свідчать про 
досягнення заданих вимог щодо точності визначення орієнтації та координат за 
обмеженого часу обробки одного кадру, що підтверджує практичну реалізовність 
запропонованих моделей на ресурсообмежених платформах. Наведені приклади 
застосування програмного комплексу додатково засвідчують працездатність 
системи, адекватність її поведінки в різних експериментальних сценаріях та 
придатність розробленого програмного ядра як інструменту для подальших 
наукових досліджень і розвитку методів оптичної астронавігації. 
  
79 
ЧДТУ 252479.003 ПЗ 
ВИСНОВКИ 
У магістерській роботі розв’язано науково-практичну задачу розробки та 
дослідження програмної системи автономної оптичної астронавігації, призначеної 
для визначення орієнтації та місцеположення за зображенням зоряного неба і 
даними інерційних датчиків в умовах обмежених обчислювальних ресурсів. 
Актуальність роботи обумовлена відсутністю ресурсоефективних методів 
автоматизованого оптичного визначення координат, придатних для використання 
на недорогих мобільних обчислювальних платформах без доступу до 
супутникових навігаційних систем. 
У межах першого розділу виконано аналіз існуючих методів виділення 
об’єктів, класифікації, ідентифікації зірок та обчислення навігаційних параметрів. 
Аналіз проведено з позицій обчислювальної складності, стійкості до шумів та 
придатності до використання у каскадних системах обробки. Це дозволило 
сформувати обґрунтовану основу для подальшого синтезу моделей та визначити 
алгоритмічні обмеження, релевантні для автономних навігаційних систем. 
У другому розділі здійснено формалізацію задачі оптичної астронавігації та 
синтез кількох моделей навігаційного ядра, що відрізняються складністю та 
точністю. Для кожної моделі визначено набір методів, їх місце у каскадній 
структурі та очікувані експлуатаційні характеристики. Розроблено методику 
експериментального дослідження, що включає генерацію контрольованих вхідних 
даних, моделювання сенсорних впливів та оцінку результатів за визначеними 
показниками, що забезпечує відтворюваність і методичну коректність 
експериментів. 
У третьому та четвертому розділах результати теоретичного дослідження 
впроваджено у вигляді експериментального програмного комплексу, який 
реалізує синтезовані моделі без відхилень від сформованої каскадної структури. 
Програмний комплекс використано як інструмент для практичної верифікації 
теоретичних положень, а не як завершений програмний продукт. Проведене 
багаторівневе тестування підтвердило коректність реалізації окремих 
алгоритмічних модулів, їх взаємодії та функціонування системи в цілому. 
80 
ЧДТУ 252479.003 ПЗ 
За результатами експериментальних випробувань встановлено, що 
компромісна модель навігаційного ядра забезпечує оптимальне співвідношення 
між точністю навігаційних оцінок та обчислювальними витратами в умовах, 
характерних для мобільних пристроїв середнього класу. Отримані результати 
узгоджуються з теоретичними оцінками та підтверджують можливість 
практичного застосування запропонованого підходу у задачах автономної 
навігації. 
Таким чином, мету магістерської роботи досягнуто, а всі поставлені у вступі 
завдання виконано. Отримані результати мають наукову новизну у частині 
синтезу ресурсоефективної каскадної моделі оптичної астронавігації та практичну 
значущість як основа для подальших досліджень і розробки автономних 
навігаційних систем для мобільних та вбудованих платформ. 
  
81 
ЧДТУ 252479.003 ПЗ 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1 Gonzalez R. C., Woods R. E. [монографія, підручник]. Digital image 
processing. 4th ed. Hoboken : Pearson, 2018. 1168 p. 
2 Marr D., Hildreth E. [наукова стаття]. Theory of edge detection // 
Proceedings of the Royal Society of London. Series B. 1980. Vol. 207, No. 
1167. P. 187–217. 
3 Lowe D. G. [наукова стаття]. Distinctive image features from scale-invariant 
keypoints // International Journal of Computer Vision. 2004. Vol. 60, No. 2. 
P. 91–110. 
4 Starck J.-L., Murtagh F., Fadili J. [монографія]. Sparse image and signal 
processing: Wavelets, curvelets, morphological diversity. Cambridge : 
Cambridge University Press, 2015. 448 p. 
5 Bishop C. M. [монографія]. Pattern recognition and machine learning. New 
York : Springer, 2006. 738 p. 
6 Киричков В. Н., Сильвестров А. Н. [монографія]. Построение 
адаптивных моделей динамических объектов по данным эксперимента. 
Киев : КГУ, 1985. 344 с. 
7 Мур Дж., Уэдерфорд Л., Лари Л. и др. [навчальний посібник]. 
Моделирование принятия решений с применением Microsoft Excel. 
Москва : Наука, 2004. 286 с. 
8 Cortes C., Vapnik V. [наукова стаття]. Support-vector networks // Machine 
Learning. 1995. Vol. 20, No. 3. P. 273–297. 
9 LeCun Y., Bengio Y., Hinton G. [наукова стаття]. Deep learning // Nature. 
2015. Vol. 521. P. 436–444. 
10 Montenbruck O., Gill E. [монографія]. Satellite orbits: Models, methods, 
applications. Berlin : Springer, 2012. 366 p. 
82 
ЧДТУ 252479.003 ПЗ 
11 Mortari D. et al. [наукова стаття]. Star identification algorithms for 
autonomous navigation // Journal of Guidance, Control, and Dynamics. 2004. 
Vol. 27, No. 3. P. 347–357. 
12 Groth D. [наукова стаття]. Star identification for spacecraft attitude 
determination using optimized geometric hashing // Journal of Guidance, 
Control, and Dynamics. 1986. Vol. 9, No. 2. P. 214–220. 
13 Strang G. [підручник]. Introduction to applied mathematics. Wellesley : 
Wellesley-Cambridge Press, 1986. 758 p. 
14 Grewal M. S., Andrews A. P. [монографія, підручник]. Kalman filtering: 
Theory and practice with MATLAB. 4th ed. Hoboken : Wiley, 2014. 672 p. 
15 Lourakis M. I. A. [технічний звіт]. A brief description of the Levenberg–
Marquardt algorithm implemented by levmar. Heraklion : Foundation for 
Research and Technology – Hellas, 2005. 15 p. 
16 Shuster M. D. [наукова стаття]. A survey of attitude representations // 
Journal of the Astronautical Sciences. 1993. Vol. 41, No. 4. P. 439–517. 
17 Голуб С.В., Данченко О.Б., Півень О.Б. [методичний документ]. 
Методичні рекомендації до підготовки кваліфікаційної роботи магістра 
для здобувачів вищої освіти другого (магістерського) рівня зі 
спеціальності 121 «Інженерія програмного забезпечення». Черкаси: 
ЧДТУ, 2022. - 104 с. 
18 Sommerville I. [підручник]. Software engineering. 10th ed. Boston : Pearson, 
2016. 816 p. 
19 Pressman R. S., Maxim B. R. [підручник, монографія]. Software 
engineering: A practitioner’s approach. 9th ed. New York : McGraw-Hill, 
2019. 976 p. 
20 Wiegers K., Beatty J. [практичний посібник]. Software requirements. 3rd 
ed. Redmond : Microsoft Press, 2013. 672 p. 
 
83 
 
ДОДАТОК А  
ЗАТВЕРДЖЕНО:  
Зав. кафедри ПЗАС  
проф. Голуб С. В.  
___________________________  
 
 
ПРОГРАМНИЙ КОМПЛЕКС ОПТИЧНОЇ АСТРОНАВІГАЦІЇ  
 
Специфікація  
482.ЧДТУ.252479 
Листів 2  
 
 
 
Розробник      ________________  Галич І.О.  
 
Керівник    ________________ Голуб С.В. 
 
 
 
 
 
 
 
 
 
Черкаси 2025
482.ЧДТУ.252479 2 
Позначення Найменування Примітка 
482.ЧДТУ.252479 12-01 Лістинг програми  
482.ЧДТУ.252479 90-01 Графічні матеріали  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 
85 
 
ДОДАТОК Б 
  
 
 
 
 
 
 
 
ПРОГРАМНИЙ КОМПЛЕКС ОПТИЧНОЇ АСТРОНАВІГАЦІЇ  
 
Лістинг програми  
482.ЧДТУ.252479 12-01 
Листів 8  
 
 
 
Розробник      ________________  Галич І.О.  
 
 
 
 
 
 
 
 
 
 
 
 
Черкаси 2025 
482.ЧДТУ.252479 12-01 2 
import numpy as np 
import cv2 
from skyfield.api import load, Star, wgs84, Loader 
from scipy.optimize import minimize 
import pickle 
import os 
 
 
class AutonomousNavCore: 
 
    data_dir = './data' 
    loader = Loader(data_dir) 
    planets = loader('de440.bsp') 
    earth = planets['earth'] 
    ts = load.timescale(builtin=True) 
 
    def __init__( 
            self, 
            camera_fov={'h': 62.2, 'v': 48.8}, 
            initial_region=(50.0, 30.0, 100.0) 
    ): 
 
        self.camera_fov = camera_fov 
        self.initial_region = initial_region 
 
        with open(os.path.join(self.data_dir, 'bright_stars.pkl'), 'rb') as f: 
            self.stars = pickle.load(f) 
 
        print(list(self.stars.items())[:3]) 
 
    def detect_stars(self, image, threshold=100, min_area=5, max_stars=50): 
 
        if image is None or len(image.shape) != 3: 
            raise ValueError("Некоректне зображення") 
 
        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 
 
        blurred = cv2.GaussianBlur(gray, (5, 5), 0) 
87 
482.ЧДТУ.252479 12-01 3 
 
        _, thresh = cv2.threshold(blurred, threshold, 255, 
cv2.THRESH_BINARY) 
 
        contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, 
cv2.CHAIN_APPROX_SIMPLE) 
 
        stars = [] 
        for contour in contours: 
            area = cv2.contourArea(contour) 
            if area < min_area: 
                continue 
 
            M = cv2.moments(contour) 
            if M['m00'] == 0: 
                continue 
 
            cx = int(M['m10'] / M['m00']) 
            cy = int(M['m01'] / M['m00']) 
 
            mask = np.zeros(gray.shape, dtype=np.uint8) 
            cv2.drawContours(mask, [contour], 0, 255, -1) 
            brightness = cv2.mean(gray, mask=mask)[0] 
 
            stars.append({ 
                'x': cx, 
                'y': cy, 
                'brightness': brightness 
            }) 
 
        stars.sort(key=lambda s: s['brightness'], reverse=True) 
        return stars[:max_stars] 
 
    def pixel_to_altaz(self, x, y, image_shape, imu): 
 
        height, width = image_shape[:2] 
 
        norm_x = (x - width / 2) / width 
        norm_y = (height / 2 - y) / height 
        az_offset = norm_x * self.camera_fov['h'] 
88 
482.ЧДТУ.252479 12-01 4 
 
        alt_offset = norm_y * self.camera_fov['v'] 
 
        base_alt = 90.0 
        base_az = 0.0 
 
        alt = base_alt + alt_offset - imu['pitch'] 
        az = (base_az + az_offset + imu['yaw']) % 360 
 
        return {'alt': alt, 'az': az} 
 
    def calculate_theoretical_stars(self, lat, lon, alt_m, utc_time, imu): 
 
        t = self.ts.utc(utc_time.year, utc_time.month, utc_time.day, 
                        utc_time.hour, utc_time.minute, utc_time.second) 
 
        location = self.earth + wgs84.latlon(lat, lon, elevation_m=alt_m) 
 
        visible = {} 
        for hip_id, star_data in self.stars.items(): 
            astrometric = location.at(t).observe(star_data['star']) 
            alt, az, _ = astrometric.apparent().altaz() 
 
            az_corrected = (az.degrees - imu['yaw']) % 360 
            alt_corrected = alt.degrees - imu['pitch'] 
 
            if alt_corrected > 5: 
                visible[hip_id] = { 
                    'alt': alt_corrected, 
                    'az': az_corrected 
                } 
 
        return visible 
 
    def match_stars(self, observed, theoretical, threshold=2.0): 
 
        matches = 0 
 
        for obs in observed: 
            for hip_id, theo in theoretical.items():
89 
482.ЧДТУ.252479 12-01 5 
 
                dist = np.sqrt( 
                    (obs['alt'] - theo['alt']) ** 2 + 
                    (obs['az'] - theo['az']) ** 2 
                ) 
                if dist < threshold: 
                    matches += 1 
                    break 
 
        return matches 
 
    def solve_position(self, observed_stars, utc_time, imu): 
 
        if len(observed_stars) < 3: 
            return { 
                'lat': 0.0, 
                'lon': 0.0, 
                'alt_m': 0.0, 
                'error': 999.0, 
                'stars_matched': len(observed_stars), 
                'success': False, 
                'message': 'Недостатньо зірок (мінімум 3)' 
            } 
 
        def error_function(pos): 
            lat, lon, alt_m = pos 
 
            if not (-90 <= lat <= 90) or not (-180 <= lon <= 180): 
                return 1e10 
 
            theoretical = self.calculate_theoretical_stars( 
                lat, lon, alt_m, utc_time, imu 
            ) 
 
            matches = self.match_stars(observed_stars, theoretical) 
 
            if matches < 3: 
                return 1e10 
 
            total_error = 0
90 
482.ЧДТУ.252479 12-01 6 
 
            count = 0 
 
            for obs in observed_stars: 
                best_dist = 1e10 
                for hip_id, theo in theoretical.items(): 
                    dist = (obs['alt'] - theo['alt']) ** 2 + \ 
                           (obs['az'] - theo['az']) ** 2 
                    if dist < best_dist: 
                        best_dist = dist 
 
                if best_dist < 4.0: 
                    total_error += best_dist 
                    count += 1 
 
            return total_error / max(count, 1) 
 
        result = minimize( 
            error_function, 
            self.initial_region, 
            method='Nelder-Mead', 
            options={'maxiter': 500, 'xatol': 0.001} 
        ) 
        print(result) 
        lat, lon, alt_m = result.x 
 
        theoretical = self.calculate_theoretical_stars( 
            lat, lon, alt_m, utc_time, imu 
        ) 
        matches = self.match_stars(observed_stars, theoretical) 
 
        success = result.success and matches >= 3 
 
        return { 
            'lat': lat, 
            'lon': lon, 
            'alt_m': alt_m, 
            'error': np.sqrt(result.fun), 
            'stars_matched': matches, 
            'success': success, 
91 
482.ЧДТУ.252479 12-01 7 
 
            'message': 'OK' if success else 'Низька якість рішення' 
        } 
 
    def navigate(self, image, imu, utc_time, 
                 star_threshold=100, initial_region=None): 
 
        try: 
            stars_pixels = self.detect_stars(image, threshold=star_threshold) 
 
            if len(stars_pixels) < 3: 
                return { 
                    'lat': 0.0, 
                    'lon': 0.0, 
                    'alt_m': 0.0, 
                    'error': 999.0, 
                    'stars_detected': len(stars_pixels), 
                    'stars_matched': 0, 
                    'success': False, 
                    'message': f'Виявлено тільки {len(stars_pixels)} зірок (мінімум 
3)' 
                } 
 
            observed_stars = [] 
            for star in stars_pixels: 
                altaz = self.pixel_to_altaz( 
                    star['x'], star['y'], 
                    image.shape, 
                    imu 
                ) 
                observed_stars.append(altaz) 
 
            if initial_region: 
                self.initial_region = initial_region 
 
            position = self.solve_position(observed_stars, utc_time, imu) 
 
            position['stars_detected'] = len(stars_pixels) 
 
            return position
92 
482.ЧДТУ.252479 12-01 8 
 
 
        except Exception as e: 
            return { 
                'lat': 0.0, 
                'lon': 0.0, 
                'alt_m': 0.0, 
                'error': 999.0, 
                'stars_detected': 0, 
                'stars_matched': 0, 
                'success': False, 
                'message': f'Помилка: {str(e)}' 
            } 
 
 
93 
482.ЧДТУ.252479 90-01 5 
ДОДАТОК В 
 
 
 
 
 
 
 
ПРОГРАМНИЙ КОМПЛЕКС ОПТИЧНОЇ АСТРОНАВІГАЦІЇ  
 
Графічні матеріали 
482.ЧДТУ.252479 90-01 
Листів 8  
 
 
 
Розробник      ________________  Галич І.О.  
 
 
 
 
 
 
 
 
 
 
 
 
Черкаси 2025 
 
94 
482.ЧДТУ.252479 90-01 5 
 
Рисунок 1 – Слайд 1 
 
Рисунок 2 – Слайд 2 
 
Рисунок 3 – Слайд 3 
 
Рисунок 4 – Слайд 4 
95 
482.ЧДТУ.252479 90-01 5 
 
Рисунок 5 – Слайд 5 
 
Рисунок 6 – Слайд 6 
 
Рисунок 7 – Слайд 7 
 
Рисунок 8 – Слайд 8 
96 
482.ЧДТУ.252479 90-01 5 
 
Рисунок 9 – Слайд 9 
 
Рисунок 10 – Слайд 10 
 
Рисунок 11 – Слайд 11 
 
Рисунок 12 – Слайд 12 
97 
482.ЧДТУ.252479 90-01 5 
 
Рисунок 13 – Слайд 13 
 
Рисунок 14 – Слайд 14 
 
98