Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/8061
Title: Побудова системи комп’ютерного зору на платформі Raspberry Pi (апаратна реалізація)
Authors: Палагін, Володимир Васильович
Стасько, Дмитро Олександрович
Keywords: Комп'ютерний зір;Машинне навчання;Згорткові нейронні мережі;Raspberry Pi;Апаратна реалізація
Issue Date: 2021
Abstract: Робота присвячена розробці та апаратній реалізації інтелектуальної системи комп'ютерного зору на базі одноплатного комп'ютера Raspberry Pi. У роботі проведено детальний аналіз принципів побудови нейронних мереж (зокрема згорткових) та методів машинного навчання для ідентифікації та відстеження об'єктів у реальному часі. Автором обґрунтовано вибір апаратної платформи Raspberry Pi 3B+ та периферії (камери Sony IMX219 та сервоприводів), розроблено структурну та електричну схеми пристрою, а також налаштовано програмне середовище з використанням бібліотек OpenCV та Face Recognition. Експериментальні дослідження підтвердили ефективність системи у розпізнаванні облич та автоматичному керуванні положенням камери.
URI: https://er.chdtu.edu.ua/handle/ChSTU/8061
Appears in Collections:172 Електронні комунікації та радіотехніка (Радіотехніка та робототехнічні системи)

Files in This Item:
File Description SizeFormat 
М_172_Стасько_Палагін.pdf
  Restricted Access
3.59 MBAdobe PDFView/Open Request a copy


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

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ І РОБОТОТЕХНІКИ 
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ 
ТА КІБЕРБЕЗПЕКИ 
 
 
До захисту допущено  
завідувач кафедри РТСК 
д.т.н., професор  
_______________ В.В. Палагін  
"_____" _____________ 2021 року 
 
 
Пояснювальна записка 
до дипломного проекту (роботи) 
  магістра   
 
(освітньо-кваліфікаційний рівень) 
на тему Побудова системи компютерного зору на платформі Raspberry Pi 
(апаратна реалізація) 
 
Виконав: студент  2  курсу, групи    РТ-005    
напряму підготовки (спеціальності)  
172 – «Телекомунікації та радіотехніка»,  
                       (шифр і назва напряму підготовки, спеціальності) 
освітня програма – «Радіотехніка та 
робототехнічні системи» 
 
  Стасько Д.О.   
(прізвище та ініціали) 
Керівник  Палагін В.В.  
(прізвище та ініціали) 
Рецензент  Гальченко В.Я.  
(прізвище та ініціали) 
 
 
Черкаси – 2021 року 
Форма № Н-9.01 
Черкаський державний технологічний університет 
(назва вузу) 
Факультет електронних технологій і робототехніки 
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки 
Освітній ступінь магістр 
Напрям підготовки  
Спеціальність 172 – Телекомунікації та радіотехніка, освітня програма «Радіотехніка 
та робототехнічні системи» 
 
ЗАТВЕРДЖУЮ 
Завідувач кафедри РТСК     В.В.Палагін 
“_____” ___________________ 2021 року 
 
З  А  В  Д  А  Н  Н  Я 
НА ДИПЛОМНИЙ ПРОЕКТ (РОБОТУ) СТУДЕНТУ 
 
 Стасько Дмитру Олександровичу                            
(прізвище, ім’я, по батькові) 
1. Тема проекту (роботи) Побудова системи компютерного зору на платформі 
Raspberry Pi (апаратна реалізація) 
 
Керівник проекту (роботи)  Палагін Володимир Васильович, д.т.н., професор  
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання) 
затверджені наказом вищого навчального закладу від  21.09.2021 № 289-1/01 
2. Строк подання студентом проекту (роботи)  “ 01 ” грудня 2021 року _________ 
 
3. Вихідні дані до роботи:  застосування методів машинного навчання; реалізувати 
розпізнавання та відстеження обличчя; використання одноплатного комп’ютера 
Raspberry PI; використання бібліотек OpenCV і Face Recognition. 
 
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити) 
Застосування систем комп’ютерного зору; методи побудови систем комп’ютерного зору; 
принципи побудови та функціонування нейронних мереж; технічна реалізація системи 
комп’ютерного зору; побудова та обгрунтування структурної схеми системи 
комп’ютерного зору; cтруктура та принцип функціонування Raspberry PI; вибір та 
налаштування операційної системи для Raspberry PI; підключення та керування 
периферійними пристроями на прикладі застосування сервоприводів; завантаження та 
опис необхідних для роботи бібліотек при використанні Raspberry PI; схемотехнічна 
реалізація системи управління на базі мікрокомп’ютера Raspberry PI; формування та 
опис керуючої програми; експерементальні дослідження та аналіз отриманих рішень. 
 
5.  Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів)  
Схема структурна, Схема електрична принципова. 
.
 
6. Консультанти з проекту (роботи) із зазначенням розділів проекту, що їх стосуються 
  Підпис, дата 
Розділ Прізвище, ініціали та посада  завдання         завдання 
консультанта видав прийняв 
    
    
 
7. Дата видачі завдання 01 вересня 2021 року 
 
 
КАЛЕНДАРНИЙ ПЛАН 
 
№ Назва етапів дипломного проекту  Термін  
з/п (роботи)  виконання етапів Примітка  
проекту (роботи) 
1. Аналіз реалізації та принципів побудови  
систем компютерного зору  21.09.21 – 15.10.21 
    
2. Побудова структурної схеми та реалізація 
початкових налаштувань системи 16.10.21 – 20.10.21  
комп’ютерного зору на базі Raspberry PI 
    
3. Побудова смарт-системи управління при 
застосуванні  комп’ютерного зору на базі 21.10.21 – 01.11.21  
Raspberry PI 
    
4. Формування та опис керуючої програми 02.11.21 – 15.11.21  
    
5. Експерементальні дослідження та аналіз 
отриманих рішень 16.11.21– 25.11.21  
    
6. Оформлення пояснювальної записки 26.11.21 – 01.12.21  
    
7. Оформлення презентації 02.12.21 – 14.12.21  
 
 
Студент        Стасько Д.О.  
 ( підпис ) (прізвище та ініціали) 
 
Керівник проекту (роботи)  Палагін В.В.  
 ( підпис ) (прізвище та ініціали) 
 
АНОТАЦІЯ 
 
Пояснювальна записка 74 с., 49 рис., 1 табл., 17 джерел. 
Тема випускної роботи «Побудова системи комп’ютерного зору на 
платформі Raspberry Pi (апаратна реалізація)». Особливістю даного пристрою 
вважається використання методів машинного навчання, а саме штучних 
нейронних мереж, які дозволяють проектувати новітні роботизовані системи, 
які можуть виконувати певні завдання опираючись на власний досвід, який 
вони здобули в процесі навчання. 
Дипломний проект розроблявся в повній відповідності з методичними 
вказівками з дипломного проектування і включає в себе всі необхідні розділи. 
Розроблена структурна та електрична принципова схема пристрою. 
В першому розділі дипломного проекту розглядаються сфери 
застосування систем комп’ютерного зору та методи їх побудови, принципи 
побудови та функціонування нейронних мереж. 
В другому розділі розглядається структурна схема системи 
комп’ютерного зору, а також Raspberry Pi 3B+, їх налаштування та 
встановлення всіх необхідних для роботи бібліотек. 
Третій розділ дипломного проекту присвячений розгляду 
схемотехнічної реалізація системи управління на базі мікрокомп’ютера 
Raspberry PI, формуванню та опису керуючої програми. В експериментальній 
частині розділу, представлений принцип роботи системи комп’ютерного зору, 
яка розроблялась. 
ЗМІСТ 
 
ВСТУП 5 
РОЗДІЛ 1. АНАЛІЗ РЕАЛІЗАЦІЇ ТА ПРИНЦИПІВ ПОБУДОВИ 6 
СИСТЕМ КОМПЮТЕРНОГО ЗОРУ 
1.1. Застосування систем комп’ютерного зору 6 
1.2. Методи побудови систем комп’ютерного зору 9 
1.3. Принципи побудови та функціонування нейронних мереж 11 
1.4. Технічна реалізація системи комп’ютерного зору 26 
1.5. Висновки 27 
РОЗДІЛ 2. ПОБУДОВА СТРУКТУРНОЇ СХЕМИ ТА РЕАЛІЗАЦІЯ 29 
ПОЧАТКОВИХ НАЛАШТУВАНЬ СИСТЕМИ КОМПЮТЕРНОГО 
ЗОРУ НА БАЗІ RASPBERRY PI  
2.1. Побудова та обґрунтування структурної схеми системи 29 
комп’ютерного зору 
2.2. Структура та принцип функціонування Raspberry PI 32 
2.3. Вибір та налаштування операційної системи для Raspberry PI 39 
2.4. Підключення та керування периферійними пристроями на 45 
прикладі застосування сервоприводів 
2.5. Завантаження та опис необхідних для роботи бібліотек при 51 
використанні Raspberri PI 
2.6. Висновки 56 
РОЗДІЛ 3. ПОБУДОВА СМАРТ-СИСТЕМИ УПРАВЛІННЯ ПРИ 57 
ЗАСТОСУВАННІ  КОМПЮТЕРНОГО ЗОРУ НА БАЗІ RASPBERRI PI 
3.1. Схемотехнічна реалізація системи управління на базі 57 
мікрокомп’ютера  Raspberry PI 
  
РТ-005.20137.248 ПЗ 
Змн. Арк. № докум. Підпис Дата 
 Розроб. Стасько Д.О Побудова системи компютерного Літ. Арк. Акрушів 
 Перевір. Палагін В.В. зору на платформі Raspberry Pi 3 74 
 Реценз.  (апаратна реалізація) 
 Н. Контр.  ЧДТУ 
 Затверд.  
 
3.2. Формування та опис керуючої програми 58 
3.3. Експерементальні дослідження та аналіз отриманих рішень  63 
3.4. Висновки 71 
ВИСНОВОК 72 
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 73 
  
 
  
Лист 
РТ-005.20137.248 ПЗ 4 
Изм. Лист № докум. Подпись Дата 
 
ВСТУП 
 
Поява перших електронно-обчислювальних машин (ЕОМ) в першій 
половині 20 століття, які вміли виконувати різноманітні поставлені перед 
ними завдання, стало початком стрімкого розвитку комп’ютерних систем. 
В наш час майже кожен може дозволити собі користуватись 
мініатюрною версією комп’ютера, який поміщується в кишені. Розмір такого 
комп’ютера не обмежує його функціональних можливостей у роботі зі 
спеціалізованим програмним забезпеченням та має обширний функціонал. 
В 2011 році був представлений перший одноплатний комп’ютер 
Raspberry Pi, на базі якого розробляють новітні «розумні» системи 
використовуючи методи машинного навчання. 
Для машинного навчання використовуються різноманітні методи його 
реалізації. До одного з таких методів можна віднести нейронні мережі. За 
допомогою програмного забезпечення створюються штучні нейрони в 
середині програми, які в свою чергу імітують роботу людського мозку. Для 
вирішення певного завдання, в середину програми завантажується масив 
даних за допомогою якого нейронна мережа самонавчається шляхом 
циклічного аналізу даних та пошуку певних закономірностей. Враховуючи 
результати попередніх циклів аналізу, мережа збільшує точність своїх 
результатів і робить менше помилок. 
Сьогодні продукти машинного навчання застосовуються в багатьох 
галузях: промисловості, медицині, фінансовій сфері, а також робототехніці. 
Для вирішення різноманітних завдань можуть бути запропоновані нові 
підходи та методи їх вирішення з використанням спеціально навчених 
комп'ютеризованих систем. 
До одного з таких продуктів можна віднесни систему комп’ютерного 
зору, яка й буде представлена в даній роботі. 
  
Лист 
РТ-005.20137.248 ПЗ 5 
Изм. Лист № докум. Подпись Дата 
 
РОЗДІЛ 1. АНАЛІЗ РЕАЛІЗАЦІЇ ТА ПРИНЦИПІВ ПОБУДОВИ 
СИСТЕМ КОМПЮТЕРНОГО ЗОРУ 
 
1.1. Застосування систем комп’ютерного зору. 
Тема кваліфікаційної роботи «Побудова системи комп’ютерного зору на 
платформі Raspberry Pi».  
Комп’ютерний зір - це одна з областей штучного інтелекту яка пов’язана 
зі способами виявлення, розпізнавання та відстеження об'єктів, що володіють 
певними властивостями. Інформація, що отримується в результаті обробки 
зображень, за допомогою певних математичних алгоритмів, дозволяє будувати 
логіку роботи різноманітних систем аналізу. 
Такі системи використовуються для автоматизації побутових та 
виробничих процесів, щоб підвищити їх безпеку та надійність, за допомогою 
виключення людського фактору.  
Приклади застосування комп’ютерного зору: 
В першу чергу комп’ютерний зір найбільш необхідний в робототехніці, 
для навчання машин автономним діям в реальному світі. Приклад зображено 
на рис. 1.1[1]. 
 
 
Рисунок 1.1 - Робот навчився грати в Lego, спостерігаючи за людиною. 
 
Застосовується також в охоронних системах, для ідентифікації 
особистості, розпізнавання та відслідковування об’єктів що рухаються, 
Лист 
РТ-005.20137.248 ПЗ 6 
Изм. Лист № докум. Подпись Дата 
 
розпізнавання номерних знаків автомобіля, виявлення та фіксація підозрілих 
або явно злочинних дій. Приклад зображено на рис.1.2[2]. 
 
 
Рисунок 1.2 – Відео аналітика за допомогою технології Video Content 
Analysis. 
 
В сільськогосподарській промисловості, для автоматизації діяльності по 
візуальному контролю та для сортування продуктів зображеному на рисунку 
1.3[3] 
 
 
Рисунок 1.3 - Система автоматичного контролю якості і сортування 
свіжих фруктів і овочів Fresh. 
 
Лист 
РТ-005.20137.248 ПЗ 7 
Изм. Лист № докум. Подпись Дата 
 
В сфері медицини, для полегшення аналізу медичних зображень, таких 
як рентген, томографія та УЗІ. Приклад використання компютерного зору 
зображено на рисунку 1.4[4]. 
 
 
Рисунок 1.4 – Сегментація зображення комп’ютерної томографії за 
допомогою систем комп’ютерного зору. 
 
Застосовується в системах розпізнавання рукописного та друкованого 
тексту. Наприклад, для перекладу тексту зображеному на рисунку1.5[5]: 
 
 
Рисунок 1.5 – Використання програми Google Lens для розпізнавання та 
перекладу тексту з іноземної мови. 
Лист 
РТ-005.20137.248 ПЗ 8 
Изм. Лист № докум. Подпись Дата 
 
 
Технологіях віртуальної та додаткової реальності, для маніпуляції з 
об’єктами простору, зображених на рис.1.6[6]. 
 
 
Рисунок 1.6 – Використання окулярів віртуальної реальності та ігрових 
маніпуляторів. 
 
Застосування комп’ютерного зору дозволяє автоматизувати більшість 
звичних для нас процесів, а також дати можливість активно розвиватись у 
створенні безпілотних транспортних засобів та робототехніці  
 
1.2. Методи побудови систем комп’ютерного зору. 
Комп'ютерний зір - це область науки, яка займається завданнями, 
пов'язаними з аналізом зображень та відео. Можна вважати, що у всіх них 
потрібно відповісти на питання, що показано на зображенні. Незважаючи на 
очевидну тривіальність питання, відповісти на нього не так просто.  
Поглянувши на рис. 1.7. Щоб відповісти на запитання, що на ньому 
зображено, можна описувати сцену загалом [7].  
 
Лист 
РТ-005.20137.248 ПЗ 9 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 1.7 - Система комп'ютерного зору для автономних машин. 
 
Зрозуміло, що зображення зроблено на вулиці. 
Інший підхід - виділяти окремі об'єкти на зображенні. На рис. 1.7 видно 
дорогу, дорожню розмітку, автомобілі, тощо. Можна йти далі і говорити про 
фізичні властивості окремих об'єктів. Наприклад, розмітка біла, автомобіль 
їде, яка полоса руху зайнята, кількість автомобілів, їх індивідуальні ознаки. 
З прикладу вище можна зробити висновок, що для відповіді на питання, 
що зображено на рисунку, використовується весь життєвий досвід. Наприклад, 
знання правил дорожньому руху, що таке транспортний засіб і його 
індивідуальні ознаки. Щоб відповісти на складніші питання, необхідно в них 
розібратися. Відповідно завдання полягає не в тому, щоб дивитися на пікселі, 
а у використанні знань. 
 Візьмемо інший приклад. На питання, що таке стілець, можна 
відповісти перше, що спаде на думку. Наприклад, стілець — це щось із 
чотирма ніжками та спинкою. А як тоді назвати предмет зображений на рис. 
1.8? 
 
 
Рисунок 1.8 - Стілець незвичної форми. 
 
Лист 
РТ-005.20137.248 ПЗ 10 
Изм. Лист № докум. Подпись Дата 
 
Виходить, що навіть таку річ, як стілець, складно описати у термінах 
форм. Стілець – це якесь концептуальне поняття: щось, на чому сидять. 
Можна уявити, як складно пояснити це поняття комусь, хто навіть не знає, що 
таке сидіти, і не вміє це робити. Перш ніж навчити когось знаходити на 
картинках стілець, було б непогано, щоб воно зрозуміло концепцію сидіти. 
Абсолютно те саме відбувається, коли комп'ютер вчать розпізнавати 
зображення. В ідеалі, щоб він відповідав на запитання про стільці так само 
добре, як людина, йому потрібно розуміти концепцію сидіти. 
У науці про штучний інтелект існує поняття «ШІ-складні завдання». Це 
клас завдань, вирішення яких еквівалентне створенню штучного інтелекту. 
Завдання комп'ютерного зору є відповідь на питання про те, що зображено на 
рисунку. 
Для відповіді на запитання про зображення потрібно не просто 
дивитися, а використовувати весь життєвий досвід та знання.  
Для створення систем, які б могли вирішувати такі задачі, 
використовуються машинне навчання. 
Машинне навчання – це область штучного інтелекту, в якій за 
допомогою набору алгоритмів, які використовують для створення машини яка 
навчається на власному досвіді. Для навчання, електронна обчислювальна 
машина, виконує обробку великої кількості вхідних даних для знаходження в 
них закономірності. Зокрема використовуються методи машинного навчання з 
використанням штучних нейронних мереж [8]. 
 
1.3. Принципи побудови та функціонування нейронних мереж 
Штучна нейронна мережа – це послідовність з’єднаних між собою 
нейронів за допомогою синапсів. Сама структура нейронної мережі це 
програмна інтерпретація реальних нейронів, за допомогою програмних та 
апаратних засобів, яка основується на реальній структурі та принципах роботи 
головного мозку. Завдяки використанню штучних нейронних мереж, машина 
може піддаватися навчанню завдяки умінню аналізувати а також 
Лист 
РТ-005.20137.248 ПЗ 11 
Изм. Лист № докум. Подпись Дата 
 
запам’ятовувати різного роду інформацію. Окрім цього, такі мережі, при 
необхідності здатні вирішуючи певне завдання самонавчатися з урахуванням 
попереднього досвіду. В результаті з кожним разом зробивши меншу кількість 
помилок. 
Використовуються нейронні мережі для вирішення складних задач, які 
потребуються аналітичного обчислення а саме: 
Класифікація – поділ об’єктів на класи, в якому кожен клас займає точно 
визначене місце по ряду певних параметрів. Таку роботу можуть виконати 
штучно створені нейронні мережі, за допомогою аналізу інформації про 
приналежність об’єкта досліду  до певного класу. 
Прогнозування – передбачення можливих подій в майбутньому на 
основі аналізу попереднього досвіду. Прикладом прогнозування можна 
назвати зміну вартості нерухомості шляхом аналізу росту цін за останні роки 
на цю нерухомість. 
Розпізнавання в реальному часі. Використовується для визначення 
певних параметрів об’єкта, його положення в просторі, а також його 
унікальних особливостей.  
Для розуміння як працює нейронна мережа потрібно розглянути її 
складові та  їх параметри. 
Нейрон – це обчислювальна одиниця яка отримає інформацію а також 
проводить над нею певні обчислення і передає її далі. Нейрони поділяються на 
такі типи: вхідні нейрони, приховані нейрони а також вихідні нейрони. Якщо 
нейронна мережа має у своєму складі велику кількості нейронів, вводиться 
термін шару. Виходячи з цього існують: вхідний шар, який отримає 
інформацію, певна кількість шарів які приховані в середині мережі, які її 
обробляють, а також вихідний шар, що виводить результат. Кожен з нейронів 
має в своєму складі два типа параметрів, це вхідні та вихідні дані.  У випадку 
вхідного нейрону, інформація із входу співпадає з інформацією на виході. В 
інших випадках на вхід шару надходить інформація з усіх інших нейронів 
Лист 
РТ-005.20137.248 ПЗ 12 
Изм. Лист № докум. Подпись Дата 
 
попереднього шару, яка просумовується, після чого використавши функцію 
активації, вона нормалізується. 
Синапс – це зв'язок який утворюється між двома нейронами, у якого є 
лише один параметр – вага. Завдаки цьому параметру, інформація зі входу 
змінюється, коли передається між нейронами. Для прикладу, якщо є три 
нейрони, що передають інформацію до наступного. Тоді у нас в наявності три 
ваги, що відповідатимуть цим нейронам. Нейрон з найбільшою вагою буде 
домінуючим в наступному нейроні. Завдяки сукупності ваги нейронної 
мережі, або матриці вагів – це своєрідний мозок системи. За допомогою вагів, 
інформація на вході обробляється і перетворюється в результат. 
Для прикладу нейронної мережі: 
 
1) Н 1input = ( I1 ⋅w1 ) + ( I2 ⋅w2 ) ,     (1.1) 
Н
2) 1output = factivation (H1input ) ,     (1.2) 
 
де I – і вхідні нейрони 
H – прихований нейрон 
w – ваги.  
Як видно з формули, інформація на вході – це сума всіх вхідних даних, 
які помножені на ваги, які їм відповідають. Якщо подати на вхід 1 і 0. Нехай 
w1 = 0,2 та w2 = 0,5. Дані на вході нейрона Н1 будуть мати вигляд: 
1⋅0,2+ 0 ⋅0,5 = 0,2  Тепер коли у нас є вхідні дані, підставивши їх значення у 
функцію активації, можна отримати дані на виході.  
Функція активації — це функція яка застосовується, для нормалізації 
даних на вході нейрона. Якщо на вході велике число, застосувавши на ньому 
функцію активації, можна отримати вихід в потрібному діапазоні. Таких 
функцій достатньо багато, але самими основними вважаються: Лінійна 
функція, Гіперболічний тангенс та Логістична функція (Сигмоїда). Головною 
відмінністю яких вважається діапазон значень. 
Лист 
РТ-005.20137.248 ПЗ 13 
Изм. Лист № докум. Подпись Дата 
 
Після отримання вихідних даних, вони передаються далі. І так 
повторюється для всіх шарів, поки не дійде до вихідного нейрона. 
Зостосувавши таку мережу можна побачити, що відповідь отримана в 
результаті її роботи далека від правильної, тому що мережа не достатньо 
навчена. Для покращення результатів, застосовується: 
Тренувальний сет – послідовність даних, які використовує нейронна 
мережа. 
Ітерація – загальна кількість тренувальних сетів, пройдених нейронною 
мережею. 
Епоха – величина яка встановлюється при ініціалізації нейронної мережі 
і має обмеження, які задається вручну. З ростом епох які прошла мережа 
підчас тренування, покращується результати роботи цієї мережі. Епоха 
збільшується кожного разу, при проходжені всього набору тренувальних сетів. 
Помилка – це величина у відсотках, яка відображає відхилення від 
очікуваної та отриманої значення відповіді. Помилка з’являється кожну епоху 
і з ростом епохи її відсоток зменшується. Помилки обчислюються різними 
способами, але найчастіше використовується Root MSE, через найменшу 
кількість помилок. 
 
(i 2 2 2
1 − a1 ) + (i2 − a2 ) + ...+ (in − an ) .
n    (1.3) 
 
За кожен сет, помилка дорівнює різниці ідеального результату від 
отриманого. Далі результат зводиться до квадрату, або обчислюється 
квадратний тангенс цієї різниці. Отримане число ділиться на кількість сетів 
[9]. 
Найкращою в області розпізнавання осіб вважається згорткова нейронна 
мережа або Convolutional Neural Network (далі – ЗНМ). Завдяки можливості 
обліку двовимірної топології зображення. 
Лист 
РТ-005.20137.248 ПЗ 14 
Изм. Лист № докум. Подпись Дата 
 
ЗНМ можуть забезпечити стійкість до змін: масштабу, поворотів, зсувів, 
зміни ракурсу або інших спотворень, але тільки частково. Даний тип 
нейронної мережі поєднує три архітектурні ідеї, що забезпечують  
інваріантності до зміни масштабу, повороту зсуву та просторових спотворень: 
- локальні рецепторні поля (забезпечують локальну двовимірну 
зв’язність нейронів); 
- загальні синаптичні коефіцієнти (забезпечують детектування 
деяких рис в будь-якому місці зображення та зменшують загальну кількість 
вагових коефіцієнтів); 
- ієрархічна організація із просторовими підвибірками. 
Структура згорткової нейронної мережі 
ЗНМ мають в своєму складі декілька видів шарів: згорткові шари, 
субдискретизуючі шари та шари «звичайної» нейронної мережі – персептрону, 
які зображені на рис. 1.9. 
 
 
Рисунок 1.9 – Топологія згорткової нейронної мережі 
 
Згортковий та субдискретизуючий шари, почергово, формують вхідний 
вектор ознак, для багатошарового персептрона. 
Найкращі результати, на сьогоднішній день, у розпізнаванні зображень 
показують згорткові мережі. В більшості випадків точність розпізнавання 
таких мереж перевищує точність розпізнавання стандартних штучних 
нейронних мереж на 10-15%. 
На рис. 1.10 показано візуально як виглядає згортка та підвибірка: 
Лист 
РТ-005.20137.248 ПЗ 15 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 1.10 – Операції згортання + ReLu + підвибірка. 
 
 
Рисунок 1.11 – Модель нейрона. 
 
n
NET =∑wi ⋅ xi +w0,
i=1     (1.4) 
де wi - вага i нейрона; 
xi  - вихід нейрона; 
w0  - допоміжний параметр, зміщення; 
n – кількість синаптичних зв’язків, які надходять до нейрона. 
Топологія згорткової нейронної мережі. 
На вибір топології впливають наступні етапи побудови мережі: 
- визначення задачі, що вирішується нейронною мережею, а саме: 
класифікація, прогнозування або модифікація; 
- визначення обмеження у розв’язуваній задачі а саме: швидкість, 
точність відповіді; 
- визначення типу даних на вході та виході. 
Для розв’язання завдань з класифікації зображень. На нейронну мережу 
накладається обмеження, а саме: час на отримання відповіді не повинен 
Лист 
РТ-005.20137.248 ПЗ 16 
Изм. Лист № докум. Подпись Дата 
 
перевищувати однієї секунди, а також точність розпізнавання повинна бути не 
менше 70%. Загальна топологія такої мережі зображена на рис. 1.12. 
 
 
Рисунок 1.12 – Топологія згорткової нейронної мережі. 
 
Вхідний шар. Дані на вході цього шару представляють собою кольорові 
зображення формату JPEG, розміру 48х48 пікселів. При занадто великому 
розмірі зображення, складність обчислення підвищиться, що в свою чергу 
порушує обмеження в швидкості відповіді. Визначення розміру зображення, 
для цього завдання, вирішується шляхом підбору. При виборі занадто 
маленького розміру, мережа не зможе виявити ключові ознаки. Кожне 
зображення розділяється на три канали: червоний, зелений, синій. На виході 
отримується три зображення з розміром 48х48 пікселів. 
Вхідний шар враховує двовимірну топологію зображень і складається з 
декількох матриць. Матриця може бути одна, якщо зображення представлене 
у відтінках сірого, в іншому випадку цих зображень три, і кожна матриця 
відповідає зображенню з конкретним каналом: червоним, зеленим та синім . 
Вхідні дані кожного конкретного значення пікселя нормалізуються в 
діапазон від 0 до 1 за формулою: 
 
Лист 
РТ-005.20137.248 ПЗ 17 
Изм. Лист № докум. Подпись Дата 
 
f ( p,min,max ) = p −min ,
max−min     (1.5) 
 
де f – функція нормалізації 
р – значення конкретного кольору пікселя від 0 до 255 
min – мінімальне значення пікселя 
max – максимальне значення пікселя - 255 
Згортковий шар - це набір матриць, у кожній з яких є синаптичне ядро.  
Кількість матриць визначається вимогами до завдання, в тому випадку, 
якщо взяти велику кількість матриць, то підвищиться якість розпізнавання, але 
разом з цим збільшиться складність обчислення. Виходячи з аналізу наукових 
статей, у більшості випадків пропонується брати співвідношення один до 
двох, тобто кожна матриця попереднього шару пов'язана з двома матрицями 
згорткового шару, відповідно до рис. 1.13. Кількість матриць дорівнює шести. 
 
Рисунок 1.13 – Організація зв’язків між матрицями згорткового шару і 
попереднього. 
 
Всі матриці згорткового шару мають однаковий розмір і розраховуються 
за наступною формулою: 
Лист 
РТ-005.20137.248 ПЗ 18 
Изм. Лист № докум. Подпись Дата 
 
 
(w,h) = (mW − kW +1,mH − kH +1),    (1.6) 
 
де (w,h) - розрахований розмір згортковох карти; 
mW - ширина попередньої карти; 
mH - висота попередньої карти; 
kW - ширина ядра; 
kH  - висота ядра; 
Ядро це певний фільтр, який шукає по всій області попередньої матриці 
унікальні ознаки об'єктів. Для прикладу, при навчанні мережі на великій 
кількості зображень обличчя, одне з ядер може у процесі навчання видавати 
найбільший сигнал в конкретній області, по типу  рота, брови чи носа, інше 
ядро може бути спрямоване на виявляти інших ознак. При виборі розмірів 
ядра враховується, що при виборі занадто маленького розміру, воно не зможе 
виділяти жодну з ознак, якщо навпаки обраний розмір занадто великий, то 
збільшується кількість зв'язків між нейронами. Зазвичай розмір ядра обирають 
в діапазоні від 3х3 до 7х7. Окрім цього при виборі розмірів враховується 
розмір матриць згорткового шару і обирається таким щоб він був парним, це 
дозволяє зменшити втрати інформації при зменшенні розмірності в під 
вибірковому шарі описаному нижче. 
Ядро представляє собою систему синапсів, що розділяються. Звичайна 
багатошарова нейронна мережа має велику кількість зв'язків між синапсами, 
що сповільнює процес виявлення. Згорткова нейронна мережа – навпаки, за 
допомогою загальних вагів дозволяє скоротити кількість зв'язків і знаходити 
ту саму ознаку по всій області зображення. Приклад зображено на рис. 1.14 та 
1.15. 
Лист 
РТ-005.20137.248 ПЗ 19 
Изм. Лист № докум. Подпись Дата 
 
 
 
1.14 – Приклад ядра з навченою ознакою 
 
1.15 – Вхідне зображення. 
 
В місці обведеному жовтим квадратом на рис. 1.15, виявлено наявність 
цієї ознаки. 
На початку, кожна матриця згорткового шару дорівнює значенню 0. 
Значення ваги ядер задаються випадковим чином, в області від -0.5 до 0.5. 
Ядро переміщується по попередній матриці і здійснює операцію згортки за 
допомогою формули: 
 
( f ⋅ g ) m,n =∑ k .l f m− k,n−1 ⋅ g k,l    (1.7) 
 
де f – вихідна матриця зображення; 
g – ядро згортки. 
Іншими словами цю операцію можна описати так — вікном розміру ядра 
g проходимо по всьму зображенні f із заданим кроком 1, на кожному кроці 
вміст вікна поелементно перемножується на ядро g, результат підсумовується 
і записується в матрицю результату, як на рис. 1.16. 
Лист 
РТ-005.20137.248 ПЗ 20 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 1.16 – Матриця результату. 
 
Після операції згортки, нова матриця виходить того самого розміру, що 
й попередня. При цьому результат може бути меншим від вихідного 
зображення, такого ж або більшого розміру, в залежності від обраного методу 
обробки границь вихідної матриці, відповідно до рис. 1.17. 
 
 
Рисунок 1.17 – Три види згортки вихідної матриці 
 
У спрощеному вигляді цей шар можна описати формулою: 
 
xl = f (xl−1 ⋅kl +bl ) ,      (1.8) 
 
де xl - вихід шару l; 
f - функція активації; 
bl  - коефіцієнт зсуву шару l; 
При цьому за рахунок граничних ефектів розмір матриць на виході 
зменшується за формулою: 
Лист 
РТ-005.20137.248 ПЗ 21 
Изм. Лист № докум. Подпись Дата 
 
xl f  l−1
j = ∑ xi ⋅kl bl 
j + j  ,
 i      (1.9) 
 
де xl
i  - карта ознак j (вихід шару l); 
f – функція активації; 
bl
j  - коефіцієнт зсуву шару l для карти ознак j; 
kl
j  - ядро згортки j карти, шару l; 
Шар підвибірки, так само як і шар згортки, має матриці, але їх кількість 
співпадає з попереднім шаром згортки. Головною метою цього шару є 
зменшення розмірності матриць попереднього шару. Якщо при попередній 
операції згортки вже було виявлено певні унікальні ознаки, то при подальшій 
обробці деталізація зображення зменшується. Крім цього, відсіювання вже 
непотрібних деталей захищає нейронну мережу від перенавчання. 
 
 
Рисунок 1.18 – Формування нової карти шару підвибірки на основі 
попередньої матриці шару згортки. Операція підвибірки. 
 
Цей шар може бути описаний наступною формулою: 
 
xl = f (al ⋅ subsample (xl−1 ) +bl ) ,     (1.10) 
 
де xl  - вихід шару l; 
f – функція активації; 
Лист 
РТ-005.20137.248 ПЗ 22 
Изм. Лист № докум. Подпись Дата 
 
al ,bl  - коефіцієнти зсуву шару l; 
subsample ( )  - операція вибірки максимальних локальних значень. 
Повнозв’язний шар – це шар звичайного багатошарового персептрона. 
Мета цього шару – класифікація, що моделює складну нелінійну функцію, при 
оптимізації якої, покращується якість розпізнавання. 
 
Рисунок 1.19 – Повнозв’язковий шар. 
 
Нейрони кожної матриці попереднього шару підвибірки пов’язані з 
одним прихованим нейроном шару. Таким чином число нейронів прихованого 
шару дорівнює числу матриць шару підвибірки, Обчислення значень нейрона 
описується формулою: 
 
xl
j = f ∑ xl−1
i ⋅wl−1 + bl−1 
i, j j  ,
 i      (1.11) 
 
де xl
j  - карта ознак j (вихідного шару l); 
f – функція активації; 
wl
i, j  - матриця вагових коефіцієнтів шару l; 
Лист 
РТ-005.20137.248 ПЗ 23 
Изм. Лист № докум. Подпись Дата 
 
Вихідний шар. Це завершальний шар  нейронної мережі в якому 
кількість нейронів, дорівнює кількості класів, які потрібно розпізнати або 
спростувати приналежність до цього класу за відсутності певної ознаки. 
Вибір функції активації, це один з основних етапів при розробці 
нейронної мережі. В залежності від вибору функції активації залежать 
функціональні можливості мережі що проектується та метод її навчання.  
Застосування класичних алгоритмів зворотного поширення помилки 
показує хороші результати в двошарових та тришарових мережах, але зі 
збільшенням глибини виникають певні проблеми. До однієї з причин 
виникнення таких проблем можна віднести так зване згасання градієнтів. У 
міру поширення помилки від вихідного шару до вхідного кожного шару 
відбувається до множення поточного результату на похідну функції активації. 
Похідна у традиційної функції активації сигмоїдна менше одиниці по всій 
області визначення, тому після кількох шарів помилка стане близькою до 
нуля. Якщо ж, навпаки, функція активації має необмежену похідну як у 
випадку функції гіперболічного тангенса, помилка може  зростати. 
Найпоширенішими функціями активації, в нейронних мережах 
вважаються: 
Функція активації сигмоїда - це безперервна функція яка приймає на 
вході довільне число, а на виході видає число в інтервалі від 0 до 1. Вихід цієї 
функції інтерпретується як рівень активації нейрона: при відсутності активації 
значення функції дорівнює 0, а при повному насиченні активації дорівнює 1. 
Графік функції зображено на рис. 1.20.  
Сигмоїда виражається формулою: 
 
f (s) = 1
1+ e−s .
    (1.12) 
Лист 
РТ-005.20137.248 ПЗ 24 
Изм. Лист № докум. Подпись Дата 
 
 
1.20 - Графік функції сигмоїда. 
 
При великих значеннях від’ємних чисел на виході функції 
спостерігається 0, а при великих значеннях позитивних чисел це значення 
дорівнює 1. 
Функція активації гіперболічний тангенс. Це скорегована функція 
сигмоїда, яка має ті ж самі характеристики що і сигмоїда, має діапазон значень 
від -1 до 1. Зображена на рис. 1.21. 
 
f (s) = 2
−1.
1+ e−2х     (1.13) 
 
Рисунок 1.21 - Графік функції гіперболічного тангенсу 
 
Функція активації ReLU. Випрямлена лінійна функцію активації, яка 
зображена на рис. 1.22 та виражається формулою: 
 
f (s) =max (0,s)     (1.14) 
Лист 
РТ-005.20137.248 ПЗ 25 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 1.22 - Графік функції ReLU 
 
Переваги використання ReLU: 
- її похідна дорівнює або одиниці, або нулю, і тому може статися 
розростання чи згасання градієнтів, так як помноживши одиницю на дельту 
помилки ми отримаємо дельту помилки, якщо ми б використовували іншу 
функцію, наприклад, гіперболічний тангенс, то дельта помилки могла, або 
зменшитися, або зрости, або залишитися такою ж, тобто, похідна 
гіперболічного тангенсу повертає число з різним знаком і величиною, що 
може сильно вплинути на згасання чи зростання градієнта. Більш того, 
використання цієї функції призводить до проріджування вагів; 
- обчислення сигмоїда та гіперболічного тангенсу вимагає виконання 
ресурсомістких операцій, таких як зведення у ступінь, у той час як ReLU 
може бути реалізована за допомогою простого порогового перетворення 
матриці активацій у нулі; 
З недоліків можна відзначити, що ReLU не завжди є достатньо надійною 
і в процесі навчання може виходити з ладу. Наприклад, великий градієнт, що 
проходить через ReLU, може призвести до такого оновлення вагів, що даний 
нейрон ніколи більше не активується [10]. 
 
1.4. Технічна реалізація системи комп’ютерного зору 
Для реалізації системи комп’ютерного зору можна використати майже 
будь-яку електронно обчислювальну машину яка відповідатиме параметрам 
які необхідні для виконання поставленого перед нею завданням.  
Лист 
РТ-005.20137.248 ПЗ 26 
Изм. Лист № докум. Подпись Дата 
 
Використання персонального комп’ютера (ПК) під управлінням 
операційної системи Windows або Linux є одним з варіантів технічного 
рішення. Враховуючи те що сучасні ПК мають усі необхідні параметри для 
функціонування будь-яких систем, але мають лише деякі необхідні інтерфейси 
для підключення зовнішніх приладів, вони частково задовольняють можливі 
потреби при використанні такої системи як комп’ютерний зір. Окрім цього 
слід враховувати що використання персонального комп’ютера для таких задач 
може буде економічно не вигідним так як для підтримки його в робочому 
стані використовується значна кількість  електроенергії.  
Для прикладу офісний ПК споживає в межах 150 Вт, що на місяць 
безперервної роботи в разі використання системи комп’ютерного зору буде 
коштувати 150 ⋅24 ⋅30 =108кВт. 
Альтернативою використанню енергозатратного ПК є використання 
одноплатного комп’ютера Raspberry Pi 3, споживча потужність якого 
становить близько 4 Вт. Окрім цього Raspberry Pi 3 має контакти GPIO на 
платі, до цих контактів можна підключити інші технічні пристрої для 
керування їх діями. 
Raspberry Pi використовується для реалізацїї різноманітних проектів за 
рахунок своїх відносно малих розмірів та функціональних можливостей, тому 
в повній мірі підходить для використання в реалізації такої системи як 
компютерний зір.  
 
1.5. Висновки 
Системи комп’ютерного зору мають досить широке застосування, а 
саме: в робототехніці, охоронних системах, фото та відео аналітиці, 
сільськогосподарській промисловості, медицині і технологіях віртуальної та 
додаткової реальності. 
Компютерний зір виконує завдання аналізу фото та відео зображення за 
рахунок виділення певних унікальних властивостей об’єктів, що виділяють 
його поміж інших та відносять до певного класу. Цей аналіз відбувається на 
Лист 
РТ-005.20137.248 ПЗ 27 
Изм. Лист № докум. Подпись Дата 
 
основі такої області штучного інтелекту як машинне навчання, в якому за 
допомогою певних алгоритмів, електронно-обчислювальна машина навчається 
шляхом обробки великого масиву даних, знаходячи в них певну 
закономірність. 
Одним з головних методів машинного навчання являються штучні 
нейронні мережі, що представляють собою певну математичну модель яка 
основується на реальній структурі та принципах роботи головного мозку. 
Використовуються для вирішення задач класифікації, прогнозування та 
розпізнавання.  
Найкращими, в області розпізнавання, вважаються згорткові нейронні 
мережі. Завдяки можливості обліку двовимірної топології зображення. 
Працюють такі мережі на основі фільтрів, які займаються розпізнаванням 
певних характеристик зображення. Це відбувається за рахунок здійснення 
операцій згортки, яка є сумою похідних елементів фільтра і матриці вхідних 
сигналів. 
Для реалізації системи комп’ютерного зору можна використати майже 
будь-яку електронно-обчислювальну машину, яка відповідатиме параметрам 
які необхідні для виконання поставленого перед нею завдання. В даній роботі, 
в якості такої електронно-обчислювальної машини, обрано одноплатний 
комп’ютер Raspberry Pi 3B+, за рахунок його функціональних можливостей 
при досить невеликих розмірах, а також енергоефективності в порівнянні із 
звичайним персональним комп’ютером. 
  
Лист 
РТ-005.20137.248 ПЗ 28 
Изм. Лист № докум. Подпись Дата 
 
РОЗДІЛ 2. ПОБУДОВА СТРУКТУРНОЇ СХЕМИ ТА РЕАЛІЗАЦІЯ 
ПОЧАТКОВИХ НАЛАШТУВАНЬ СИСТЕМИ КОМПЮТЕРНОГО ЗОРУ 
НА БАЗІ RASPBERRY PI  
 
2.1. Побудова та обґрунтування структурної схеми системи 
комп’ютерного зору  
В даному розділі кваліфікаційної роботи магістра розроблена структурна 
схема системи комп’ютерного зору на платформі Raspberry Pi. На цій схемі 
відображено основні функціональні частини, які має система що 
розробляється. Також описано призначення і взаємозв’язок між блоками 
пристрою. Структурна схема зображена на рис. 2.1. 
 
 
Рисунок 2.1 – Структурна схема системи комп’ютерного зору на 
платформі Raspberry Pi. 
 
Структурна схема наведена на рис. 2.1. включає в себе наступні частини: 
- Одноплатний комп’ютер Raspberry Pi 3. Структурна схема зображена 
на рис. 2.2; 
- Сервоприводи; 
Лист 
РТ-005.20137.248 ПЗ 29 
Изм. Лист № докум. Подпись Дата 
 
- Pi Camera; 
- Пристрій віддаленого керування; 
 
Рисунок 2.2 – Структурна схема Raspberry Pi 3. 
 
Одноплатний комп’ютер Raspberry Pi 3 відіграє найголовнішу роль у 
всій системі. Виконує програму по розпізнаванню та відстеженню об’єкта, 
шляхом отримання потокового відео через спеціальний роз’єм CSI-2 (Camera 
Serial Interface), до якого підключається модуль відео камери. 
В процесі обробки відео потоку, Raspberry Pi шляхом виділення 
унікальних ознак ідентифікує особу та її місце розташування відносно центру 
зображення. 
В тому разі якщо об’єкт спостереження переміщається відносно центру 
зображення в довільному напрямку, Raspberry Pi відправляє сигнали на GPIO 
контакти, до яких підключені сервоприводи, та  здійснює поворот модуля 
відео камери в напрямку руху об’єкта спостереження. 
Лист 
РТ-005.20137.248 ПЗ 30 
Изм. Лист № докум. Подпись Дата 
 
Пристрій віддаленого керування призначений для підключення до 
одноплатного комп’ютера Raspberry Pi, щоб при необхідності налаштувати 
або замінити програму що виконується. 
На Raspberry Pi 3 встановлений 64-х бітний процесор Broadcom 
BCM2837 на архітектурі ARM Cortex-A53 з тактовою частотою 1,2 ГГц і 
модулем оперативної пам’яті на 1 ГБ. Процесор и пам’ять розміщені по 
технології «package-on-package» безпосередньо на процесорі. BCM2837 
включають в себе також двох ядерний графичний процесор Video Core IV® 
Multimedia, який забеспечує Open GL ES 2.0, апаратне прискорення Open VG і 
1080p30 H.264 декодування. 
Через роз’єм micro-USB на Raspberry Pi надходить напруга 5В, яка і 
живить Raspberry Pi. 
В роз’єм, для карти пам’яті, поміщується micro-SD з записаним образом 
операційної системи, а також встановленими та налаштованими для роботи 
бібліотеками та програмами. 
WiFi-чіп BCM43438 – використовується, для підключення Raspberry Pi 
до мережі Інтернет за допомогою послідовного синхронного стандарту 
передачі даних в режимі повного дуплекса – SPI/SDIO. Це дозволяє, в 
подальшому, керувати Raspberi Pi  віддалено. 
Роз’єм дисплея (DSI) – призначений для підключення дисплеїв, які 
мають інтерфейс 15PIN DSI, до обчислювальних модулів Raspberry Pi. 
HDMI-порт - інтерфейс для мультимедіа, який дозволяє передавати 
цифрові відео дані у високому розширенні а також багатоканальні цифрові 
аудіо сигнали з захистом від копіювання (HDCP). До цього роз’єму Raspberry 
Pi можнa підключити будь-який екран, що оснащений відповідним портом, 
для комфортної роботи та налаштування. 
Аудіо / Відео вихід - 3,5 мм роз’єм з додатковим виводом на 
композитний відео-вихід для підключення навушників або інших пристроїв 
відтворення звуку і телевізорів. 
Лист 
РТ-005.20137.248 ПЗ 31 
Изм. Лист № докум. Подпись Дата 
 
Чіп LAN9512 — представяє з себе високоскоросний USB2.0 
концентратор і Ethernet контролер. 
Разъёмы 4×USB2.0 - USB-концентратор с чотирма роз’ємами для 
підключення клавіатуры, мишки, флешки, а також інших USB-пристроїв. 
Ethernet-раз’єм - 10/100 Мбіт роз’єм, для підключення до мережі 
Інтернет, через RJ45 патч-корд витої пари. 
Роз’єм камери (CSI-2) - 15-контактний плоский гнучкий роз’єм 
інтерфейса MIPI CSI-2, для підключення камери [11]. 
 
2.2. Структура та принцип функціонування Raspberry Pi 
Raspberry Pi – це  одноплатний комп’ютер невелокого розміру, який з 
легкістю може поміститися на долоні людини. На рис. 2.3 зображено одну з 
популярних плат Raspberry Pi В+ [11]. 
 
Рисунок 2.3 - Плата мікрокомп’ютера Raspberry Pi В+ . 
 
Плата цього мікрокомп’ютера має розміри 85,6×53,98×17 мм, але це не 
заважає йому мати високу продуктивність роботи та бути на одному рівні зі 
звичайним стаціонарним комп’ютером. Спочатку Raspberry Pi розраблялась, 
як бюджетний комп’ютер для навчання інформатики. Але всього за кілька 
років область його застосування значно зросла. З кожною новою моделлю, до 
Raspberry Pi вносились певні модифікації, які відрізняли нову модель від 
Лист 
РТ-005.20137.248 ПЗ 32 
Изм. Лист № докум. Подпись Дата 
 
попередника якимось параметром. Це дозволяло, в залежності від 
користувацьких потреб, регулювати вартість Raspberry Pi, що позитивно 
впливало на популярність приладу. Усі версії Raspberry Pi використовують 
АРМ-архітектуру процесорів, яка в роботі показує хороші результати.  
Найголовнішою особливістю Raspberry Pi яка відрізняє його від 
звичайних компютерів, це наявність портів вводу/виводy GPIO, які можна 
програмувати.  
Завдяки цій можливості до Raspberry Pi можно підключати датчики, 
кнопки, дисплей, реле а також іншу переферію, якою можно керувати на 
власний розсуд. 
GPIO порти представлені у вигляді штирьових колодок які розміщені в 
два ряди з кроком 2,54мм, і знаходяться на краю плати. У нових моделей 
Raspberry Pi  в наявності 40 виводів, на відмінну від попередніх версій, таких 
як В і А, в складі яких їх лише 26. На рис. 2.4 зображу зовнішній вигляд портів 
загального призначення для плати Raspberry Pi 3В+ та вказана нумерація 
виводів. 
 
 
Рисунок 2.4 - Розміщення та нумерація виводів GPIO на платі Raspberry 
Pi 3В+. 
 
Лист 
РТ-005.20137.248 ПЗ 33 
Изм. Лист № докум. Подпись Дата 
 
Для використання GPIO, потрібно орієнтуватися в призначенні кожного 
виводу, тому знати лише їх нумерацію недостатньо. Необхідно розуміти де 
розміщено той або інший вивід, його назву та призначення. На рис. 2.5 – 2.6 
продемонстрована повна розпіновка виводі GPIO для різних модифікацій 
Raspberry Pi. 
 
 
Рисунок 2.5 - Розпіновка виводі GPIO для моделей А і В. 
 
 
Рисунок 2.6 - Розпіновка виводі GPIO для моделей А+,В+ і новіших. 
Лист 
РТ-005.20137.248 ПЗ 34 
Изм. Лист № докум. Подпись Дата 
 
Як видно з рис. 2.5 та 2.6 на штирьових колодках окрім самих GPIO 
виведені штирьки з напругами 3,3V, 5V, а такрож виводи GND. Деякі GPIO 
альтернативне призначення, вказане в синіх блоках. Крім цього  перевищення 
максимально допустимого навантаження порту GPIO може вивести Raspberry 
Pi з ладу. Щоб не допустити помилки та не спалити пристрій, слід помятати, 
що порти GPIO працюють с напругою 3,3V и максимальним струмом 
навантаження 50 mA на один вивід. При перевищенні параметрів указаних 
вище, пристрій може працювати не коректно або вийде з ладу. Що цього не 
сталося потрібно використовувати гальванічну развязку між портами GPIO і 
виконавчим простриєм. Та ж вимога до вхідних кіл в яких використовуються 
резистивні дільники та перетворювачі рівнів. На рис. 2.7 зображено приклад 
підключення базових елементів. 
 
 
Рисунок 2.7 - Приклад підключення базових елементів. а) – правильне 
підключення, б) – неправильне підключення. 
 
При неправильному підключенні, яке показано на рис. 2.7 - б). Пряме 
підключення світлодіода призведе до перевищення максимально допустимого 
струму, а саме: 50mA. Що, в свою чергу, виведет GPIO10 з ладу. 
Лист 
РТ-005.20137.248 ПЗ 35 
Изм. Лист № докум. Подпись Дата 
 
Використання обмежувального резистора на рис. 2.7 – а), буде утримувати 
струм в допустимих межах. Використовуючи кнопку може виникнути 
ситуація, коли GPIO10 помилково буде сконфігуроований як вхід, і її 
натискання призведе до прямого з’єднання  3,3V и GND. Якщо додати 
резистори R2 і R3 то всі виводи будуть захищені від перевантаження.  
З інформації наведеної вище можна зробити висновок, що елементи 
захисту це необхідна складова при роботі з GPIO [12]. 
Оригінальна, компактна камера для Raspberry Pi яка використовується в 
проектах охоронних систем, робототехніці та інших проектах з використанням 
Raspberry Pi. Зображена на рис. 2.8. 
 
Рисунок 2.8 - Raspberry Pi Camera Board v2.1. 
 
Оснащена восьмимегапіксельним сенсором Sony IMX219 Exmor, 
режими роботи якого показані в таблиці 2.1 та на рис. 2.9. Цей сенсор 
дозволяє записувати та транслювати відео в форматах 720p, 1080p і VGA. 
Розмір кадрів, для фотографій складає 3280×2464 пікселів. 
Для підключення модуля до Raspberry Pi використовується спеціальний 
відеовхід CSI (Camera Serial Interface), таке рішення значно зменшує 
навантаження центрального процесора у порівнянні з використанням USB 
портів. Модуль сумісний з моделями Raspberry Pi 1, 2 и 3 [13]. 
  
Лист 
РТ-005.20137.248 ПЗ 36 
Изм. Лист № докум. Подпись Дата 
 
Таблиця 2.1 – Режими роботи сенсора 
 Розширення  Відношення Частота кадрів Використання 
№ зображення сторін сенсора 
1. 1920×1080 16:9 0.1-30 fps частково 
2. 3280×2464 4:3 0.1-15 fps повністю 
3. 1640×1232 4:3 0.1-40 fps повністю 
4. 1640×922 16:9 0.1-40 fps частково 
5. 1280×720 16:9 40-60 fps частково 
6. 640×480 4:3 40-90 fps частково 
  
 
Рисунок 2.9 – Площа сенсора, яка використовується в кожному кадрі. 
 
Характеристики: 
• Тип сенсора: Sony IMX 219 PQ CMOS, ¼ дюйма 
• Максимальное розширення: 8 Мп (3280×2464) 
• Відеоформати які підтримуються: 640×480p (90fps), 720p (60fps), 
1080p (30fps). 
Лист 
РТ-005.20137.248 ПЗ 37 
Изм. Лист № докум. Подпись Дата 
 
• Еквівалентна фокусна відстань: 33 мм 
• Світлопропускна здатність об'єктива: f/2 
• Розміры: 2592×1944 
• Вага: 3 г 
 
Сервопривод EM08MDII зображений на рис. 2.10. 
 
Рисунок 2.10 – Аналоговий сервопривод EM08MDII. 
 
Аналогова сервомашинка Emax ES08MD II мікро розміру із зусиллями 
1,6 - 2,0 кг, та вагою 12 г. Шестерні редуктора металеві. Швидкість руху (60°) 
- 0,1 сек (6В). Використовується для механізмів кермування на моделях 
радіокерованих машинок, літаків, вертольотів [14]. 
Характеристики: 
• Типорозмір: мікро; 
• Управління: аналогове; 
• Напруга живлення: 4,8-6,0 В; 
• Швидкість: 0,1-0,12 сек / 60°; 
• Зусилля: 1,6-2,0 кг/м; 
• Висота валу: 4.5 мм; 
• Діаметр валу: 4.5 мм (21Т); 
• Матеріал редуктора: метал; 
• Розміри: 24x12x29 мм; 
• Вага: 12.5 г; 
 
Лист 
РТ-005.20137.248 ПЗ 38 
Изм. Лист № докум. Подпись Дата 
 
2.3. Вибір та налаштування операційної системи для Raspberry PI 
Одноплатний комп’ютер Raspberry Pi 3 як і звичайний стаціонарний 
комп’ютер, працює під управлінням спеціалізованої операційної системи. В 
залежності від сфери застосування та необхідного функціоналу, операційну 
систему можна обрати із списку наведеному нижче, де підібрані найбільш 
популярні та сумісні з даним типом комп’ютера системи: 
1) Raspbian – це офіційна операційна система, для Raspberry Pi. Вона 
спеціально розроблена та оптимізована для роботи з процесорами які мають 
АРМ-архітектуру. За основу даної операційної системи було взято  систему з 
відкритим вихідним кодом, а саме Debian GNU/Linux. Середовище робочого 
столу складається з LXDE – середовища для UNIX та інших POSIX-сумісних 
систем типу Linux, а також менеджера вікон Openbox. До даного 
дистрибутива входять наступні програми: програма системи компьютернї 
алгебри Mathematica; веб-браузер Chromium; інтегроване середовище 
розробки, Thonny Python IDE; термінал Linux. 
2) Debian – операционная система з відкритим вихідним кодом. 
Система використовує ядро Linux або FreeBSD. До складу системи входить 
середовище робочого столу GNOME, в якому зібрані найбільш популярні 
програми, а саме: Firefox, LibreOffice, Evolution, а також деякі програми для 
роботи з мультимедіа. 
3) Ubuntu – найбільш популярна операційна система серед 
користувачів дистрибутивів Linux, яка заснована на відкритому коді Debian 
GNU/Linux. В складі операційної системи програми а саме: Firefox, 
LibreOffice, та деякі програми для комунікації. 
4) Fedora – операційна система заснована на дистрибутиві Linux від 
американської компанії Red Hat. До складу системи входить веб-браузер 
Mozilla Firefox, LibreOffice. 
5) Arch Linux – операційна система на базі GNU/Linux. 
6) Gentoo Linux – популярний дистрибутив GNU/Linux з технологіями 
для більш гнучкого управляння пакетами. Окрім цього в даній операційній 
Лист 
РТ-005.20137.248 ПЗ 39 
Изм. Лист № докум. Подпись Дата 
 
системі є можливості оптимізацїї під конкретні апаратні рішення. 
Застосовуючи певні алгоритм керування пакетами ця система дозволяє легко 
створити рабочу станцію або сервер. 
7) RISC OS – ще одна операційна система яка розроблялась спеціально 
для використання з процесорами які мають АРМ-архітектуру. До 
особливостей даної системи можна віднести те, що ядро RISC OS 
зберігається в постійному запам'ятовуючому пристрії, що дозволяє 
виконувати швидкий запуск системи [12]. 
В якості операційної системи, для платформи Raspberry Pі, буде 
використовуватись «Rasbian» яка є офіційним дистрибутивом та має 
підтримку з боку компанії. 
Для інсталювання операційної системи застосовується офіційне 
програмне забезпечення, а саме «Raspberry Pi Imager», за допомогою якого 
виконується підготовка MicroSD карти пам’яті та подальший запис системи на 
неї. 
Алгоритм дій при встановленні операційної системи: 
1) За допомогою перехідника з MicroSD на USB, до комп’ютера 
під'єднується карта пам’яті для форматування її файлової системи в формат 
FAT32.  
Форматування можна здійснити за допомогою таких програм як: SD 
Card Formatter, HP USB Disk Storage Format Tool,  або за допомогою Raspberry 
Pi Imager, яка надає таку можливість. 
2) У вікні програми Raspberry Pi Imager на комп’ютері обирається 
завчасно завантажений образ операційної системи, далі обирається носій 
інформації з файловою системою FAT32 на який буде проводитись запис 
системи. 
3) Після завершення інсталяції операційної системи на карту пам’яті в 
програмі Raspberry Pi Imager, останню можна використовувати під’єднавши її 
у відповідний роз’єм на платі, для подальшого налаштування та використання. 
Лист 
РТ-005.20137.248 ПЗ 40 
Изм. Лист № докум. Подпись Дата 
 
Для налаштування платформи Raspberry Pі зі встановленою 
операційною системою необхідно підключити наступне обладнання: 
- Блок живлення 5B/2A; 
- USB клавіатура; 
- USB Комп'ютерна миша; 
- Монітор з HDMI портом; 
- Модуль камери для Raspberry Pі; 
Після підключення блока живлення до електромережі, Raspberry Pі 
запуститься самостійно так-як не має кнопки включення. 
При першому запуску встановленої операційної системи її повинно буде 
вперше налаштувати, а саме обрати країну, мову, часовий пояс, встановити 
пароль. При необхідності налаштувати точку доступу WiFi 
В разі відсутності можливості підключити монітор або інші керуючі 
пристрої, можна налаштувати віддалений доступ. 
Для того щоб підключитись до Raspberry Pі з іншого пристрою, потрібно 
дізнатись IP адресу Raspberry Pі 
У веб-браузері потрібно перейти до IP-адресі маршрутизатора, 
наприклад http://192.168.1.1, яка зазвичай надрукована на етикетці 
маршрутизатора; це дасть доступ до панель управління. Потім потрібно 
авторизуватися, використовуючи свої облікові дані, які зазвичай також 
надруковані на маршрутизаторі або знаходяться у супровідній документації. В 
налаштуваннях можна переглянути список підключених пристроїв. У цьому 
спискі відображаються комп’ютери, ноутбуки, планшети, телефони, принтери 
та інші пристрої яким для функціонування потрібен доступ до мережі, тому 
слід розпізнати та виявити, яка з  IP-адрес належить Raspberry Pi. 
Ще одним способов дізнатись IP-адреси є використання додатоку Fing - 
це безкоштовний мережевий сканер для смартфонів. Він доступний для 
Android та iOS . 
Ваш телефон і ваш Raspberry Pi повинні бути в одній мережі, тому 
підключіть телефон до правильної бездротової мережі. 
Лист 
РТ-005.20137.248 ПЗ 41 
Изм. Лист № докум. Подпись Дата 
 
Коли ви відкриваєте додаток Fing, торкніться кнопки оновлення у 
верхньому правому куті екрана. Через кілька секунд ви отримаєте список усіх 
пристроїв, підключених до вашої мережі. Прокрутіть униз до запису з 
виробником "Raspberry Pi". У нижньому лівому куті ви побачите IP-адресу, а 
MAC-адресу-у нижньому правому куті запису. 
Після того, як IP-адреса була визначена, до Raspberry Pi можна 
підключитись використовуючи мережевий протокол, а саме SSH, який 
виконує віддалене керування операційною системoю. 
У версіях OS Raspbian Jessie with Pixel, і новіших, цей протокол 
вимкнений за замовчуванням  в цілях безпеки. Для увімкнення даного 
протоколу можна використати два способи: підключивши до Raspberry Pi 
монітор використовуючи при цьому графічний інтерфейс операційної 
системи, або якщо немає такої можливості то потрібно створити в корні 
microSD-карти пустий файл без розширення з назвою «ssh». 
Підготовка Raspberry Pi.  
1) MicroSD-карту з встановленою операційною системою Raspbian 
потрібно помістити у відповідний слот який знаходиться на платі Raspberry 
Pi.  
2) Підключити живлення та мережевий кабель. 
Підключення по SSH до терміналу Raspberry Pi відбувається за 
допомогою спеціалізованого програмного забезпечення, в даному випадку 
використовується програма PuTTY 
Порядок дій при встановленні з’єднання між обладнанням: 
1) Запуск програми PuTTY. 
2) У відкрившійся програмі, в полі «Имя хоста» потрібно записати IP-
адресу Raspberry Pi, яку можна дізналтись використавши один із способів 
наведених вище, і натиснути кнопку «Соединиться». 
3) У відкрившомусь вікні консолі Raspberry Pi необхідно 
авторизуватись. За замовчуванням логін — pi, а пароль — raspberry. 
Лист 
РТ-005.20137.248 ПЗ 42 
Изм. Лист № докум. Подпись Дата 
 
4) Якщо авторизація виконана успішно то в терміналі з’явиться рядок 
-  pi@raspberrypi:~ $ 
Після виконання усіх перерахованих дій, можно користуватись 
терміналом Raspbian віддалено. 
 
Для підключення Raspberry Pi до мережі Wi-Fi, потрібно виконати 
наступні дії: 
1) Підключитись до Raspberry Pi за допомогою SSH. 
2) Просканувати усі доступні мережі Wi-Fi за допомогою команди: 
$ sudo iwlist wlan0 scan | grep ESSID 
Та запам’ятати назву необхідно точки доступа. 
3) Після цього потрібно внести інформацію про дану Wi-Fi мережу за 
допомогою команди: 
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 
4) У відкрившомуся вікні потрібно перейти в кінець файлу та додати 
наступну конфігурацію: 
network={ 
        ssid= «назва точки доступу» 
        psk= «пароль» 
        key_mgmt=«тип шифрування» 
} 
5) Після внесення інформації потрібно перезапустити Raspberry Pi, для 
набуття змін чинності, за допомогою команди: 
$ sudo reboot 
6) Повторно авторизуватись по SSH. 
7) Перевірити підключення до Wi-Fi можна за допомогою команди: 
$ iwconfig 
Якщо підключення виконано вдало, то інформація про точку доступу 
буде відображена у вікні терміналу [15]. 
 
Лист 
РТ-005.20137.248 ПЗ 43 
Изм. Лист № докум. Подпись Дата 
 
Для віддаленого доступу до графічного інтерфейсу, операційної системи 
Raspberry Pi, можна використати VNC сервер.  
Для створення та налаштування VNC сервера, потрібно підключитися за 
допомогою протоколу SSH або підключити монітор, клавіатура та мишку до 
Raspberry Pi. 
У першому варіанті, встановлення та налаштування буде відбуватись за 
допомогою терміналу операційної системи за наступним алгоритмом: 
1) Підключення до Raspberry Pi через SSH. 
2) Встановлення VNC сервера на Raspberry Pi за допомогою команди: 
$ sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer 
3) Перехід в меню налаштування Raspberry Pi за допомогою команди: 
$ sudo raspi-config 
4) У відкрившомуся вікні перейти на вкладу Interfaces і знайти пункт 
меню VNC. Вибрати Enabled и натиснути кнопку OK. 
5) Для запуску VNC сервера, в терміналі потрібно ввести наступну 
команду:  
$ vncserver 
Після чого на екрані буде сповіщення про успішний запуск сервера а 
також його IP-адреса та номер порта. 
У варіанті налаштування за допомогою графічного інтерфейсу 
безпосередньо в Raspberry Рі, алгоритм виглядає наступним чином: 
1) Запуск Raspberry Pi. 
2) Відкрити термінал на рабочому столі Raspbian. 
3) Встановити VNC сервер на Raspberry Pi за допомогою команди: 
$ sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer 
4) Перейти в меню налаштування: Menu > Preferences > Raspberry Pi 
Configuration. У відкритому вікні перейти на вкладу Interfaces і знайти пункт 
меню VNC. Вибрати Enabled і натиснути кнопку OK. 
5) У вікні термінала запустити VNC-сервер за допомогою команди. 
$ vncserver 
Лист 
РТ-005.20137.248 ПЗ 44 
Изм. Лист № докум. Подпись Дата 
 
Після чого на екрані буде сповіщення про успішний запуск сервера а 
також його IP-адреса та номер порта. 
Після створення та налаштування VNC сервера на Raspberry Pi потрібно 
зробити налаштування на стороні користувача. 
Для підключения до віддаленого рабочогоу столу Raspberry Pi потрібно 
встановити та налаштувати VNC-клиент. 
1) Для цього на сайті розробників «REALVNC», потрібно обрати 
версію операційної системи в якій ви працюєте, та завантажити відповідно до 
неї програму встановлення. 
2) Після встановлення VNC-клиент. В адресній строкі потрібно задати 
IP-адресу, яка була видана при створенні VNC-сервера та натиснути Enter. 
3) Далі потрібно авторизуватись. За замовчуванням логін - pi, пароль 
— raspberry. 
Тепер можна керувати Raspberry Pi з будь-якого ПК [16]. 
«Rasbian» розроблена на базі системи Linux, тому подальші 
налаштування та встановлення бібліотек відбувається через робочий термінал 
операційної системи. 
 
2.4. Підключення та керування периферійними пристроями на 
прикладі застосування сервоприводів 
Так як у Raspberry Pi немає аналогового виходу, буде використовуватись 
широтно-імпульсна модуляція. У цифровому сигналі з фіксованою частотою, 
буде змінюватись ширина послідовних імпульсів. Від ширини послідовних 
імпульсів залежить середній рівень вихідної напруги, як показано на рис. 2.13. 
 
Рисунок 2.13 – Вплив ширини послідовних імпульсів на середній рівень 
вихідної напруги. 
Лист 
РТ-005.20137.248 ПЗ 45 
Изм. Лист № докум. Подпись Дата 
 
 
У прикладі зображеному на рис. 2.14, встановлення середнього рівня 
вихідної напруги використовується для зміни яскравості світло діода. 
 
 
Рисунок 2.14 - Зміна яскравості світло діода за допомогою ШИМ. 
 
При використанні широтно-імпульсної модуляції, головним параметром 
є не частота, а «рабочий цикл», тобто звязок між часом, коли імпульс високого 
рівня ділиться на період хвилі. Припустимо, що при генеруванні частоти 
імпульсів 50 Гц на одному з контактів GPIO. Період (Т) буде зворотнім по 
частоті або 20 мс  (1 / f). Для того, щоб світлодіод був на половину яскравим, 
потрібно щоб робочий цикл був рівним 50%, це означає що імпульс, буде на 
високому рівні на протязі 10 мс. 
 Такий принцип дозволяє контролювати сервопривод. За рахунок 
збільшення або зменшення робочого циклу, визначається положення 
сервопривода, як показано на рис. 2.15. 
Лист 
РТ-005.20137.248 ПЗ 46 
Изм. Лист № докум. Подпись Дата 
 
.  
Рисунок 2.15 – Зміна положення сервопривода за допомогою ШИМ. 
 
Підключення сервоприводів до Raspberry Pi 3B+ зображено на рис. 2.16. 
 
Рисунок 2.16 – Підключення сервоприводів до Raspberry Pi. 
 
Сервоприводи підключаються до зовнішнього джерела живлення 5В, 
контакти для передачі даних, підключаться до Raspberry Pi GPIO, як показано 
нижче: 
GPIO 17 ==> Tilt Servo 
GPIO 27 ==> Pan Servo 
Лист 
РТ-005.20137.248 ПЗ 47 
Изм. Лист № докум. Подпись Дата 
 
Для гальванічної развязки між сервоприводами та Raspberry PI, їх 
потрібно підключити до спільної землі, а саме на порт GND GPIO. 
Калібрування сервоприводів 
В першу чергу потрібно враховувати характеристики сервоприводів  
У випадку Emax ES08MD: 
Діапазон: 180о; 
Напруга живлення: 4.8-6 В; 
Робоча частота: 50 Гц (период: 20 мс); 
Ширина імпульса: від 1 мс до 2 мс; 
Теоретично: 
При подачі імпульсу 1мс, початкове положення буде дорівнювати 0 
градусів 
При подачі імпульсу 1,5мс, положення буде дорівнювати 90 градусам. 
Це нейтральне положення сервопривода. 
При подачі імпульсу 2мс, положення сервопривода буде дорівнювати 
180 градусам.  
Для програмування сервопривода за допомогою Python потрібно знати 
«Рабочий цикл» для вище вказаних положень: 
Для 0 градусів - ширина імпульса ==> 1ms ==> робочий цикл = 1 мс / 20 
мс ==> 2,0% 
Для 30 градусів - ширина імпульса 1,5 мс ==> робочий цикл = 1,5 мс / 20 
мс ==> 7,5%; 
Для 60 градусів - ширина імпульса 3 мс ==> робочий цикл = 2 мс / 20 мс 
==> 10%; 
Таким чином, робочий цикл повинен бути в діапазоні від 2 до 10%. 
Для перевірки сервоприводів, можна використати наступний код: 
1. # Импорт модуля RPI.GPIO і зміна його назви на GPIO: 
2. import RPi.GPIO as GPIO 
3. GPIO.setmode(GPIO.BOARD) 
Лист 
РТ-005.20137.248 ПЗ 48 
Изм. Лист № докум. Подпись Дата 
 
4. # Вказати пін до якого сервопривід підключений (в даному випадку 
GPIO 17 = Pin 11): 
5. tiltPin = 11 
6. # Вказати, що даний вивід буде «вихідним»: 
7. GPIO.setup(tiltPin, GPIO.OUT) 
8. # Вказати частоту, яка генерується на виводі ( в даному випадку 50 
Гц): 
9. tilt = GPIO.PWM(tiltPin, 50) 
10. # Генерування ШИМ сигнала, з початковим робочим циклом: 
11. tilt = start(0) 
12. # При зміні значення робочого цикла, змінюється положення 
сервопривода.  
13. tilt.ChangeDutyCycle(5) 
При робочому циклі 2% сервопривод переходить в положення 0 грасів. 
В діапазоні від 2 до 10%, сервопривод показав наступні результати: 
0 градусов ==> рабочий цикл 3% 
90 градусов ==> рабочий цикл 8% 
180 градусов ==> рабочий цикл 13% 
Післе завершения тестів потрібно зупинити ШИМ та очистити GPIO: 
tilt= stop() GPIO.cleanup() 
 
Створення скрипта на Python 
 
Рисунок 2.17 – Пропорційна схема робочих циклів та кута повороту. 
Лист 
РТ-005.20137.248 ПЗ 49 
Изм. Лист № докум. Подпись Дата 
 
DC −3 α − 0
=
13−3 180− 0
DC −3 α
=
10 180
DC 1
= α + 3
18  
Діапазон робочих циклів знаходиться в межах від 3% до 13% що 
еквівалентно кутам, які знаходяться в діапазоні від 0 до 180 градусів. Крім 
цього, ці варіації лінійні, тому ми можемо побудувати пропорційну схему, як 
показано на рис. 2.17, враховуючи кут, ми можемо мати відповідний робочий 
цикл: 
dutycycle = angle/18 + 3 
Скрипт Python для виконання тестів: 
1. from time import sleep 
2. import RPi.GPIO as GPIO 
3. GPIO.setmode(GPIO.BCM) 
4. GPIO.setwarnings(False) 
5. def setServoAngle(servo, angle): 
6. pwm = GPIO.PWM(servo, 50) 
7. pwm.start(12) 
8. dutyCycle = angle / 18. + 3. 
9. pwm.ChangeDutyCycle(dutyCycle) 
10. sleep(0.3) 
11. pwm.stop() 
12. if __name__ == '__main__': 
13. import sys 
14. servo = int(sys.argv[1]) 
15. GPIO.setup(servo, GPIO.OUT) 
16. setServoAngle(servo, int(sys.argv[2])) 
17. GPIO.cleanup(). 
Приведений вище код базується на функції setServoAngle (серво, кут). 
Ця функція приймає в якості аргументів, номер GPIO сервопривода і 
Лист 
РТ-005.20137.248 ПЗ 50 
Изм. Лист № докум. Подпись Дата 
 
значення кута, в якому повинен бути встановлений сервопривод. Коли вхід 
функції являєтся «кутом», потрібно перетворити його в робочий цикл у 
відсотках, використавши формулу, приведену раніше. 
Коли скрипт виконується, потрібно ввести його кут та GPIO контакт до 
якого він підключений. 
Наприклад: 
sudo python3 angleServoCtrl.py 17 15 
Вказана команда буде позиціонувати сервопривід, підключений до GPIO 
17, з кутом 15 градусів. 
 
2.5. Завантаження та опис необхідних для роботи бібліотек при 
використанні Raspberri PI  
OpenCV — це бібліотека з відкритим вихідним кодом яка має функції 
машинного зору, застосування яких дозволяє розпізнавати обєкти 
навколишнього світу. До сфери застосування OpenCV відноситься навігація, 
виявлення перешкод, розпізнавания облич жестів. 
Встановлюється OpenCV на одноплатний комп’ютер Raspberry Pi 3 за 
наступним алгоритмом:  
1) Розширення файлової системи. 
OpenCV а також інші допоміжні пакети займають досить великий обсяг 
пам’яті, тому рекомендується використовувати microSD-карту p розміром не 
менше як 16 Гб. 
В першу чергу, перед встановленням OpenCV, потрібно розширити 
файлову систему на весь об’єм microSD-карти. Робиться це наступним 
чином: 
В терминалі потрібно виконати команду: 
$ sudo raspi-config 
У відкрившомуся меню, обирається пункт «Expond Filesystem», після 
чого натискається Enter і кнопка <Finish>.  
Лист 
РТ-005.20137.248 ПЗ 51 
Изм. Лист № докум. Подпись Дата 
 
Далі необхідно перезапустити систему щоб нові налаштування вступили 
в силу. Це можна зробити за допомогою команди: 
$ sudo reboot 
2) Оновлення системи та пошук допоміжних пакетів. 
Перед встановлення OpenCV потрібно оновити вже існуючі пакети, а 
також встановити деякі нові. Пошук та оновлення виконуються командами: 
$ sudo apt-get update 
$ sudo apt-get upgrade 
Після завершення оновлень, необхідно встановити в систему утиліту для 
автоматичної збірки програми з вихідного коду – cmake, а також ще декілька 
корисних пакетів: 
$ sudo apt-get install build-essential cmake pkg-config 
2.1) Пакети для работи з різними форматами зображень: 
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev 
2.2) Пакети для работи  відео: 
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-
dev 
$ sudo apt-get install libxvidcore-dev libx264-dev 
2.3) Пакети для створення екранних форм: 
$ sudo apt-get install libgtk2.0-dev 
2.4) Пакети прискорених операцій над матрицями: 
$ sudo apt-get install libatlas-base-dev gfortran 
2.5) Файли заголовків мови програмування python 3: 
$ sudo apt-get install python2.7-dev python3-dev 
3) Завантаження OpenCV. 
Для цього потрібно перейти в папку /home/pi/Downloads, за допомогою 
команди: 
$ cd ~/Downloads 
3.1) Завантажити архів за допомогою wget і розпакувати за допомогою 
команд: 
Лист 
РТ-005.20137.248 ПЗ 52 
Изм. Лист № докум. Подпись Дата 
 
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip 
$ unzip opencv.zip 
3.2) Завантажити та розпакувати додаткові модулі - opencv_contrib: 
$ wget -O opencv_contrib.zip 
https://github.com/opencv/opencv_contrib/archive/master.zip 
$ unzip opencv_contrib.zip 
4) Створення віртуального середовища. 
Створення віртуального середовища, захистить операційну систему від 
подальших експериментів. Це корисно, якщо виникне необхідність видалити 
поточну версію opencv для встановлення нової. 
4.1) Спочатку необхідно встановити менеджер пакетів pip: 
$ wget https://bootstrap.pypa.io/get-pip.py 
$ sudo python get-pip.py 
4.2) Після цього встановити менеджер віртуального середовища: 
$ sudo pip install virtualenv virtualenvwrapper 
$ sudo rm -rf ~/.cache/pip 
4.3) В профіль користувача, який зберігається в файлі ~/.profile, 
необхідно внести додаткову інформацію: 
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile 
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile 
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile 
Виконавши всі дії перечислені вище, необхідно: 
1. закрити всі вікна терміналів 
2. вийти з облікового запису користувача 
3. заново авторизуватися 
4. відкрити термінал і ввести команду: 
$ source ~/.profile 
4.4) Створити віртуальне середовище з іменем «cv»: 
$ mkvirtualenv cv -p python3 
Лист 
РТ-005.20137.248 ПЗ 53 
Изм. Лист № докум. Подпись Дата 
 
Щоб перевірити чи вдалося правильно встановити віртуальне 
середовище, потрібно перезавантажити Raspberry Pi: 
$ sudo reboot 
Відкрити терминал і зайти в віртуальне середовище: 
$ source ~/.profile 
$ workon cv 
Якщо встановлення пройшло успішно, то ознакою того що ми 
знаходимся у віртуальному середовищі буде префікс (cv) на початку 
командного рядка. 
Перед компіляцією OpenCV, залишилось встановити математичний 
пакет NumPy: 
$ pip install numpy 
5)  Компіляція та встановлення OpenCV 
В створеному віртуальному середовищі, потрібно зайти в папку с 
вихідними кодами OpenCV та виконати команди: 
$ cd ~/Downloads/opencv-master 
$ mkdir build 
$ cd build 
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
 -D CMAKE_INSTALL_PREFIX=/usr/local \ 
 -D INSTALL_PYTHON_EXAMPLES=ON \ 
 -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-
master/modules 
 -D BUILD_EXAMPLES=ON .. 
В конці процедури в терміналі з’явиться список компонентов OpenCV, 
готових до встановлення. 
Не виходячи з поточної папки, виконуєм команду: 
$ make -j 
Після завершення компіляції, залишилось встановити зібраний бінарний 
код в папку з python: 
Лист 
РТ-005.20137.248 ПЗ 54 
Изм. Лист № докум. Подпись Дата 
 
$ sudo make install 
$ sudo ldconfig 
В рабочій папкі python повинен з’явитися  файл cv2.cpython-34m.so, 
який потрібно переіменувати, для простоти користування: 
$ cd /usr/local/lib/python3.4/site-packages/ 
$ sudo mv cv2.cpython-34m.so cv2.so 
Для використання OpenCV знаходячись у віртуальному середовищі, 
потрібно зробити посилання на одержаний cv2.so: 
$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/ 
$ ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so 
6) Перевірка встановленого opencv. 
Для перевірки, необхідно зайти у віртуальне середовище, запустити 
інтерпретатор мови python 3 та імпортувати модуль cv2: 
$ source ~/.profile  
$ workon cv 
$ python 
>>> import cv2 
>>> cv2.__version__ 
Якщо команда «cv2.__version__» видала версію встановленого opencv, 
то операція встановлення OpenCV пройшла успішно [17]. 
 
2.6. Висновки 
Основною функціональною частиною системи комп’ютерного зору є 
одноплатний комп’ютер Raspberry Pi 3В, до якого підключаються: Pi Camera, 
сервоприводи, а також пристрій віддаленого керування, для налаштування та 
заміни програми що виконується. 
Так як і стаціонарний комп’ютер, Raspberry Pi може працювати під 
управлінням різноманітних операційних система на базі Linux. В якості 
операційної системи, для реалізації системи комп’ютерного зору, було 
Лист 
РТ-005.20137.248 ПЗ 55 
Изм. Лист № докум. Подпись Дата 
 
обрано «Raspbian», яка задовольняє всі необхідні потреби в програмному 
забезпеченні та є офіційним дистрибутивом і має підтримку з боку компанії. 
Також в даному розділі кваліфікаційної роботи описані алгоритми дій, 
для встановлення та налаштування операційної системи, а також всіх 
необхідних для роботи бібліотек. 
Крім цього, описано як виконується підключення та керування 
периферійними пристроями на прикладі застосування сервоприводів, а також 
як виконується калібрування цих сервоприводів. 
  
Лист 
РТ-005.20137.248 ПЗ 56 
Изм. Лист № докум. Подпись Дата 
 
РОЗДІЛ 3. ПОБУДОВА СМАРТ-СИСТЕМИ УПРАВЛІННЯ ПРИ 
ЗАСТОСУВАННІ  КОМПЮТЕРНОГО ЗОРУ НА БАЗІ RASPBERRI PI 
 
3.1. Схемотехнічна реалізація системи управління на базі 
мікрокомп’ютера на базі мікрокомп’ютера  Raspberry PI. 
Розглянемо принципову схему пристрою, зображену на рис. 3.1. 
 
Лист 
РТ-005.20137.248 ПЗ 57 
Изм. Лист № докум. Подпись Дата 
Рисунок 3.1 – Схема електрична принципова системи 
комп’ ютерного зору. 
 
На вхід Raspberry Pi, через порт microUSB, надходить напруга 5 В, яка і 
запускає мікрокомп’ютер.  
Після завантаження операційної системи. Через порт Ethernet, або по 
WiFi-з’єднанню. Raspberry Pi підключається до локальної мережі. В цій 
мережі, до Raspberry Pi можна підключитись віддалено, використовуючи 
мережевий протокол SSH, для подальшого налаштування та запуску системи 
комп’ютерного зору. 
Через СSI(Camera Serial Interface), до Raspberry Pi підключається 
Raspberry Pi Camera Board v2.1. Яка використовується, для захоплення відео 
кадру, та подальшої його обробки мікрокомп’ютером Raspberry Pi. 
В процесі обробки відео даних. За допомогою критеріїв ідентифікації 
обличчя, які були одержані при виконанні другого етапу формування 
керуючої програми. Ця програма розпізнає особу, та її координати відносно 
центру зображення. 
Raspberry Pi формує ШИМ-сигнал, на основі кординат які були отримані 
під час виконання програми та використовуючи інтерфейси вводу/виводу 
GPIO17, GPIO27, змінює кут повороту сервоприводів M1і M2, щоб 
забезпечити відслідковування особи в русі. 
Резистори R1, R2 використовуються для захисту інтерфейсу 
вводу/виводу GPIO17, GPIO27 від перевантаження. 
 
3.2. Формування та опис керуючої програми 
Для роспізнавання обличчя на Raspberry Pi, використовуються 
встановлені бібліотеки OpenCV, face_recognition та imutils, за допомогою яких 
наша система буде навчатись на основі зображень використаних в якості 
dataset.  
Формування програми ділиться на три етапи: 
Етап №1 
В першу чергу необхідно зібрати dataset, який буде використовуватись 
для навчання: 
Лист 
РТ-005.20137.248 ПЗ 58 
Изм. Лист № докум. Подпись Дата 
 
1) В каталозі проекту необхідно створити папку з назвою «dataset». 
2) В папці «dataset» додатково створити папку з іменем особи, обличчя 
якої буде в подальшому розпізнаватись. 
3) Заповнити папку, з іменем особи, зображеннями її обличчя, для 
навчання моделі. Це можна зробити використовуючи програму зображену на 
рис. 3.2. 
 
Рисунок 3.2 – Програма для збору даних в dataset. 
 
Лист 
РТ-005.20137.248 ПЗ 59 
Изм. Лист № докум. Подпись Дата 
 
Після виконання коду в інтерпретаторі Python, відриється вікно 
програми в якому буде отримане зображення з підключеної веб-камери. 
Для того щоб зробити фото, достатньо натиснути клавішу «пробіл» на 
підключеній клавіатурі. З кожним натисканням клавіші «пробіл» буде 
створено нове фото. Рекомендується зробити не менше 10 фотографій обличчя 
з різним ракурсом. 
По завершенню фотосессії необхідно натиснути клавішу «Esc», для 
закриття програми. 
Етап №2 
Після створення та заповнення папки «dataset», необхідно виконати код 
для аналізу зображень, який створить в цій папці файл «encodings.pickle», в 
якому зберігаються критерії ідентифікації обличчя які необхідні для 
наступного етапу. 
Графічне представлення програми зображено на рис. 3.3. 
Лист 
РТ-005.20137.248 ПЗ 60 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 3.3 – Програма навчання системи на зібраному dataset. 
 
Етап №3 
Після завершення попереднього етапу, необхідно запустити код для 
ідентифікації обличчя, структура якого зображена на рис. 3.4. 
Лист 
РТ-005.20137.248 ПЗ 61 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 3.4 – Програма для ідентифікації особи та керування 
сервоприводами. 
 
Лист 
РТ-005.20137.248 ПЗ 62 
Изм. Лист № докум. Подпись Дата 
 
Після виконання коду, веб-камера увімкнеться. При наведенні її на 
обличчя, навколо нього з’явиться  жовта рамка поверх якої буде зображено 
надпис з іменем особи яку розпізнано, або надпис «Unknown», якщо цієї особи 
немає в базі. 
 
3.3. Експерементальні дослідження та аналіз отриманих даних 
В даній частині кваліфікаційної роботи, розглядається практична 
реалізація системи комп’ютерного зору на платформі Raspberry Pi 3 B+. 
1. Для навчання системи комп’ютерного зору, необхідно зробити 
певну кількість фотографій з різних ракурсів щоб зібрати dataset на якому 
буде навчатись система. Підготовку dataset зображено на рис. 3.5. та рис. 3.6. 
 
 
Рисунок 3.5 - Запуск коду, та початок збору даних. 
 
Лист 
РТ-005.20137.248 ПЗ 63 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 3.6 – Зібрані дані. 
 
 
Рисунок 3.7 – Завершення збору даних та роботи програми. 
 
Для адекватного розпізнавання особи, необхідно зробити близько 10 
фронтальних фотографій, а також 20 фото в профіль на кожну сторону 
обличчя. Це дозволить системі виявити певні особливості обличчя особи в 
різних ракурсах. 
2. Щоб використати зібрані дані при розпізнаванні особи, спочатку 
потрібно виділити певні ознаки і зберегти їх в спеціальну базу даних, в 
Лист 
РТ-005.20137.248 ПЗ 64 
Изм. Лист № докум. Подпись Дата 
 
окремому файлі – «encodings.pickle» . Процес навчання на зібраному dataset 
зображено на рис. 3.8. 
Створення бази даних осіб займає певний час, який залежить від 
кількості фотографій які потрібно обробити. Так для однієї особи, в папці 
якої збережено 30 фотографій, потрібно витратити близько 2-х хвилин. 
Обробка одного зображення займає 4 секунди. 
 
 
Рисунок 3.8 – Навчання системи на зібраному dataset. 
 
3. В результаті навчання, на зібраному dataset, та створенні бази даних 
в файлі – «encodings.pickle». Цей файл можна використовувати для 
розпізнавання обличчя. 
На розпізнавання обличчя впливають різні фактори, які можуть 
зменшити точність розпізнавання, або стати причиною хибного 
розпізнавання. Тому, навіть досконало підібраний та оброблений dataset не 
гарантує 100% результату. 
Лист 
РТ-005.20137.248 ПЗ 65 
Изм. Лист № докум. Подпись Дата 
 
В систему розпізнавання можуть надходити зображення з камери в 
різних умовах освітлення, які впливають на якість розпізнавання. Часто такі 
системи працюють в умовах природного освітлення, яке змінюється на 
протязі дня. 
Для прикладу, медична маска закриваеє  близько 40-50% обличчя, але 
50-60% які залишились, не завжди сприяють успішній ідентифікації, але це 
можливо.  Окрім маски можуть бути одягненні додаткові аксесуари, що 
зменшує відсоток доступної для розпізнавання області обличчя.  
Кут нахилу та повороту  голови відносно камери також впливають на 
якість розпізнавання по тим же причинам, що описані раніше. 
Робота програми з розпізнавання обличчя зображено на рис 3.9. 
 
  
Рисунок 3.9 – Розпізнавання обличчя. 
 
Лист 
РТ-005.20137.248 ПЗ 66 
Изм. Лист № докум. Подпись Дата 
 
4. Налаштування сервоприводів в механізмі повороту. 
В системі компютерного зору, яка розглядається в даній роботі, 
реалізовано не тільки розпізнавання, а і відстеження руху обєкту. Це 
досягається шляхом використання механізму повороту камери, за допомогою 
керування кутом нахилу сервоприводів. Основною задачею цього механізму є 
збереження позиції обєкту в центрі зображення, яке отримується з камери. 
 На основі координат (x, y) зображення, генеруються команди позиції 
сервоприводів, за допомогою функції positionServo (servo, angle). Початкове 
положення, кута повороту сервоприводу, дорівнює 90 градусів. 
Для прикладу, якщо обєкт  знаходитья в точці х = 400, це означає що він 
знаходиться в крайній правій частині зображення. Для того щоб обєкт 
спостереження опинився в центрі, потрібно змінити кут повороту 
сервоприводу в положення 140 градусів або, якщо обєкт знаходиться в точці х 
= 100, то позицію сервоприводу потрібно змінити в положення 20 градусів. 
Таким чином, регулюючи кут повороту сервоприводу, ми можемо змінювати 
положення камери та відстежувати обєкт який рухається. Механізм повороту 
зображений на рис. 3.10. 
 
Лист 
РТ-005.20137.248 ПЗ 67 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 3.10 – Позиції сервоприводів в механізмі повороту. а) - 90 
градусів, б) – 30 градусів, в) – 150 градусів. 
 
Виявлення обличчя та визначення координат, для керування 
сервоприводами зображено на рис. 3.11. 
Лист 
РТ-005.20137.248 ПЗ 68 
Изм. Лист № докум. Подпись Дата 
 
 
Рисунок 3.11 – Керування позицією сервоприводів в залежності від отриманих 
координат. 
 
Комбінування програми розпізнавання обличчя та керування 
сервоприводами зображено на рис. 3.12. 
Лист 
РТ-005.20137.248 ПЗ 69 
Изм. Лист № докум. Подпись Дата 
 
 
 
 
Рисунок 3.12 – Розпізнавання обличчя та відстеження. 
  
Лист 
РТ-005.20137.248 ПЗ 70 
Изм. Лист № докум. Подпись Дата 
 
3.4. Висновки 
В даному розділі кваліфікаційної роботи, була розглянута схемотехнічна 
реалізація системи комп’ютерного зору на базі мікрокомп’ютера Raspberry Pі. 
Описано принцип роботи та призначення кожного елементу схеми. 
В пункті формування та опису керуючої програми, були наведені етапи 
які необхідно виконати, для функціонування системи комп’ютерного зору. 
Процес створення dataset, на якому в подальшому була навчена система. Опис 
коду, для навчаня системи, а також керуючої програми. 
В пункті експерементальних досліджень було наведено практичну 
демонстрацію роботи системи комп’ютерного зору. Розглянуто, які саме дані 
потрібно збирати до dataset, та їх об’єм. Кількість затраченого часу на одну 
особу, при навчанні системи, для розпізнавати обличчя за унікальними 
ознаками. Розглянуті фактори, які можуть зменшити точність розпізнавання.  
Також було розглянуто принцип роботи механізму відстеження об’єкта, 
за допомогою зміни кута нахилу сервоприводів. 
  
Лист 
РТ-005.20137.248 ПЗ 71 
Изм. Лист № докум. Подпись Дата 
 
ВИСНОВОК 
 
Системи комп’ютерного зору мають досить широке застосування. Вони 
виконують завдання аналізу фото та відео зображення за рахунок виділення 
певних унікальних властивостей об’єктів. Цей аналіз відбувається за 
допомогою певних алгоритмів, при яких ЕОМ навчається та знаходить певну 
закономірність між даними на яких навчаєтья. 
Одним з головних методів машинного навчання являються штучні 
нейронні мережі, що представляють собою певну математичну модель яка 
основується на реальній структурі та принципах роботи головного мозку.  
Для реалізації системи комп’ютерного зору обрано одноплатний 
комп’ютер Raspberry Pi 3B+, за рахунок його функціональних можливостей 
при досить невеликих розмірах, а також енергоефективності в порівнянні із 
звичайним персональним комп’ютером. 
В другому розділі кваліфікаційної роботи було побудовано структурну 
схему системи комп’ютерного зору на платформі Raspberry Pi 3B+, та 
розглянуто структурну схему саме мікрокомп’ютера, до якого підключаються 
усі необхідні для роботи периферійні пристрої.  
Було розглянуто більшість доступних, для роботи на Raspberry Pi, 
операційних систем, та обрано найбільш оптимальну з них. Описано процес 
встановлення та налаштування цієї системи. Процес завантаження та 
встановлення усіх необхідних для роботи бібліотек. 
В третьому розділі була розглянута схемотехнічна реалізація системи 
комп’ютерного. Описані етапи формування виконавчої програми. 
В пункті експерементальних досліджень було наведено практичну 
демонстрацію роботи системи комп’ютерного зору. Розглянуто, які саме дані 
потрібно збирати до dataset, та їх об’єм. Кількість затраченого часу на одну 
особу, при навчанні системи. Розглянуті фактори, які можуть зменшити 
точність розпізнавання.  
  
Лист 
РТ-005.20137.248 ПЗ 72 
Изм. Лист № докум. Подпись Дата 
 
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 
 
1. Робот научился играть в Lego, наблюдая за человеком 
[Електронний ресурс]: Хабр - Режим доступу: https://habr.com/ru/post/398751/ 
- назва з екрану 
2. Видеоаналитика термины, сферы применения, технологи Video 
Content Analysis [Електронний ресурс]: TADVISER - Режим доступу: 
https://www.tadviser.ru/index.php/Статья:Видеоаналитика_(термины,_сферы_п
рименения,_технологии) - назва з екрану 
3. Система контроля качества и сортировка с/х продукции 
[Електронний ресурс]: mallenom system - Режимдоступу: 
https://www.mallenom.ru/vnedrenia/pmz/agroindustry1/ - назва з екрану 
4. «Искусственный интеллект — это помощник»: информационные 
технологии на службе у врачей [Електронний ресурс]: mos.ru - 
Режимдоступу: https://www.mos.ru/news/item/84702073/ - назва з екрану 
5. Английские стихи про ЖИВОТНЫХ (Animals) [Електронний 
ресурс]: OK English – Режим доступу: https://ok-english.ru/angliyskie-stihi-pro-
zhivotnyih-animals/ - назва з екрану 
6. Лучшие игры VR 2018 для очков бесплатные топ обзор (как играть 
на Андроид Пк ps4 playstation скачать) [Електронний ресурс]: USER LIFE – 
Режим доступу: https://user-life.com/programs/igry/1659-luchshie-igry-vr-2018-
dlya-ochkov-besplatnye-top-obzor-kak-igrat-na-android-pk-skachat.html - назва з 
екрану. 
7. Sécurité routière : La voiture du futur pourra éviter des obstacles 
[Електронний ресурс]: TARABAZA – Режим доступу: 
https://www.tarabaza.com/lyfestyle/automobile/securite-routiere-la-voiture-du-
futur-pourra-eviter-des-obstacles/ - назва з екрану. 
8. Как работает компьютерное зрение. Изучаем основные алгоритмы, 
чтобы овладеть data science [Електронний ресурс]: Хакер - Режим доступу: 
https://xakep.ru/2019/01/14/yandex-ds/ - назва з екрану 
Лист 
РТ-005.20137.248 ПЗ 73 
Изм. Лист № докум. Подпись Дата 
 
9. Нейронные сети для начинающих. Часть 1 [Електронний ресурс]: 
Хабр - Режим доступу: https://habr.com/ru/post/312450/ - назва з екрану 
10. Сверточная нейронная сеть, часть 1: структура, топология, функции 
активации и обучающее множество [Електронний ресурс]: Хабр - Режим 
доступу: https://habr.com/ru/post/348000/- назва з екрану 
11.  Raspberry Pi 3 Model B: подключение, настройка и начало работы 
[Електронний ресурс]: АМПЕРКА - Режим доступу: 
http://wiki.amperka.ru/rpi:raspberry-pi-3-model-b/ - назва з екрану 
12.  Raspberry Pi [Електронний ресурс]: 3d-diy - Режим доступу: 
https://3d-diy.ru/wiki/arduino-platy/obzor-plat-raspberry-pi/ - назва з екрану 
13.  Raspberry Pi Camera Board v2.1 [Електронний ресурс]: АМПЕРКА - 
Режим доступу: https://amperka.ru/product/raspberry-pi-camera-board-v2/- назва 
з екрану 
14.  Сервопривод EM08MDII аналоговий 12г [Електронний ресурс]: 
ARDUINO.UA - Режим доступу: https://arduino.ua/prod4925-servoprivod-emax-
em08mdii-analogovii-12g/- назва з екрану 
15. Подключение по SSH [Електронний ресурс]: АМПЕРКА - Режим 
доступу: http://wiki.amperka.ru/rpi:installation:ssh/ - назва з екрану 
16.  Настройка удалённого рабочего стола VNC на Raspberry Pi 
[Електронний ресурс]: АМПЕРКА - Режим доступу: 
http://wiki.amperka.ru/rpi:installation:vnc/ - назва з екрану 
17.  Установка OpenCV 3 на Raspberry Pi 3/4 [Електронний ресурс]: 
АМПЕРКА - Режим доступу: https://robotclass.ru/articles/raspberrypi-3-opencv-
3-install/ - назва з екрану. 
 
 
Лист 
РТ-005.20137.248 ПЗ 74 
Изм. Лист № докум. Подпись Дата