close

Вход

Забыли?

вход по аккаунту

?

Отчёт РО

код для вставкиСкачать
Распознавание жестов рук
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
ВСТУП
Область комп'ютерного зору може бути охарактеризована як молода і
різноманітна. Хоча існують більш ранні роботи, можна сказати, що лише з
кінця 1970-х почалося інтенсивне вивчення цієї проблеми, коли комп'ютери
змогли управляти обробкою великих наборів даних, таких як зображення.
Однак, ці дослідження зазвичай починалися з інших різних областей, і, отже,
немає стандартної формулювання проблеми комп'ютерного зору. Також, і це
навіть більш важливо, немає стандартного формулювання того, як повинна
вирішуватися проблема комп'ютерного зору. Замість цього, існує маса методів
для вирішення різних суворо визначених завдань комп'ютерного зору, де
методи часто залежать від завдань і рідко можуть бути узагальнені для
широкого кола застосування. Багато з методів все ще знаходяться в стадії
фундаментальних досліджень, але все більше число методів знаходить
застосування в комерційних продуктах, де вони часто складають частину
більш великої системи, яка може вирішувати складні завдання (наприклад, в
області медичних зображень або вимірювання та контролю якості у процесах
виготовлення). У більшості практичних застосувань комп'ютерного зору
комп'ютери попередньо запрограмовані для вирішення окремих завдань, але
методи, засновані на знаннях, стають все більш загальними.
На сьогоднішній день розробка і дослідження людино-машинних
інтерфейсів, заснованих на розпізнаванні образів, стає переднім краєм у
розвитку сучасного програмного забезпечення. Серед природних для людини
способів спілкування з комп'ютерами за допомогою жестів, голосу, міміки та
інших засобів, жести є особливо перспективними для побудови інтерфейсів
управління програмним і апаратним забезпеченням комп'ютерів. Жести
виконуються рухом будь-якої частини людського тіла, часто руками. За
допомогою жестів зручно передавати команди управління інтерфейсом, такі
як: вгору, вниз, ліворуч, праворуч.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Цифрові камери тепер інтегровані в персональних комп'ютерах,
мобільних телефонах і комунікаторах. Ці пристрої зазвичай включають
потужний мікропроцесор, здатний виконувати мільйони обчислень в секунду.
З розвитком технологій, стало можливим використовувати ці ресурси для
створення нових інтерфейсів для взаємодії людини з комп’ютером, що
засновані на розпізнаванні жестів користувачів.
Для успішного застосування системи розпізнавання жестів повинні
бути засновані на існуючих та розповсюджених апаратних засобах, таких як
веб-камери або камери мобільного телефону. Також бажано, щоб система
могла бути використана у різних обставинах фона та освітлення. Ще одна
вимога до системи розпізнавання жестів — бути придатною для класифікації
в режимі реального часу, тобто не бути обчислювально інтенсивною.
Основна мета досліджень в області розпізнавання жестів полягає в
тому, щоб створити систему, яка може ідентифікувати певні людські жести і
використовувати їх для передачі інформації або для управління різними
пристроями.
Мета курсового проекту — розглянути та провести аналіз існуючих
засобів відстеження рухів; створити програмний продукт, що призначений
для розпізнавання жестів рук; дослідити здатність системи працювати в
умовах динамічного освітлення.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
1 ОГЛЯД ЛІТЕРАТУРИ
Знаходження рухомих об'єктів на відео послідовності є досить
поширеним інтересом і фундаментальним етапом у більшості програмних
засобів. Цій темі присвячено багато науково-дослідних робіт, однак до цих
пір немає універсального методу, за допомогою якого можна досягти
задовільних результатів у всіх різних ситуаціях.
Аналіз літературних джерел з проблеми розпізнавання жестів показує,
що, незважаючи на свою інтуїтивну зрозумілість, термін «розпізнавання
жестів» трактується по-різному. П
ідходи до проблеми відстеження руху і
розпізнавання жестів можна розділити на дві основні категорії: методи, які
використовують спеціальні технічні засоби і методи, які спираються на
засоби комп'ютерного зору [5]. Перші використовують пристрої введення даних у вигляді рукавички,
що надівається на руку. Датчики на рукавичці відстежують рухи руки і
передають електричні сигнали у комп'ютер. На основі аналізу цих сигналів
можна автоматично визначати показані жести. Очевидна проблема цього
підходу полягає в необхідності спеціальних апаратних засобів, що часто
робить використання таких систем незручним. Деякі дослідники вирішують проблему відстеження за допомогою
кольорових маркерів, що розташовуються на рукавичках або кінчиках
пальців. Такі маркери можна відносно легко простежити на відео, а потім
проаналізувати вектори, які представляють їхні траєкторії.
Б
ільш правильним представляється трактування поняття, що полягає в
тому, що прийом жестів людини здійснюється за допомогою відеокамери
(аналогічно людському зору) і не вимагає застосування спеціальних
пристроїв. Такі т
ехнології є безконтактними, але на їх основі важче
створювати системи розпізнавання. У даному проекті ми зосередимо увагу
саме на таких методах.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Різноманітність задач оцінки руху пов'язано, перш за все, з самими
рухомими об'єктами, характером руху, поведінкою фону, технічними
характеристиками апаратури захоплення відео.
Першим
кроком в системах розпізнавання жестів є виявлення руки і
сегментація відповідних областей зображення. Сегментація має вирішальне
значення, оскільки вона відокремлює об’єкт від фонового зображення перед
передачею його на етапи подальшої обробки.
Отже, при розпізнаванні жестів необхідно виявляти на зображенні руки
людини і простежувати зміну їх стану або форми з плином часу. Для цього
зазвичай використовують або детектування руху, або виявлення областей, що
мають колір шкіри, або обидва ці підходи використовують спільно.
Метод виявлення змін є досить ефективним та діючим засобом для
відстеження положення об’єкта, тому він широко застосовується у обробці і
аналізу відео. Традиційні алгоритми виявлення змін ґрунтуються на оцінці
різниці між двома послідовними кадрами
[6]. Задачу виявлення руху можна виконати з використанням трьох
підходів: порівняння суміжних кадрів, віднімання фону і знаходження
оптичного потоку. Кожен з цих підходів має і переваги, і недоліки.
–
метод порівняння суміжних кадрів є дуже адаптивним до динамічних змін
середовища, але малопридатним для виявлення релевантної інформації
про особливості зображення;
–
метод віднімання поточного кадру від фону забезпечує найбільш повне
розуміння особливостей зображення, проте він надзвичайно чутливий до
таких змін зображення, які обумовлені коливаннями освітленості та
іншими подібними подіями. –
метод оптичного потоку може використовуватися, щоб виявити об'єкти,
що рухаються при русі камери, але в обчислювальному відношенні він
складний і не може бути застосований до повного відео потоку в
реальному часі без спеціалізованих ЕОМ.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Загальна мета задачі розпізнавання — це інтерпретація показаного
жесту, що відповідає певній позиції руки. Вважається, що існує два типи
взаємодії, у яких руки використовуються для зв'язку користувача з
комп
’
ютером:
–
траєкторія переміщення руки переводиться у комп
’ютер у вигляді кривої,
ніби то користувач виконав ці рухи за допомогою маніпулятора. Такий
принцип зручно використовувати у програмах для малювання;
–
положення руки перевіряється на відповідність одному з жестів, що
входять до певного набору позицій. Цей метод здатен замінити традиційні
пульти дистанційного управління, що використовуються для керування
різними пристроями чи виконання деяких функцій.
Пов’язані з першим типом методи зосереджені на виявленні та
відстеження деякої ознаки (будь то кінчик пальця, центр ваги долоні тощо) і
обробленні інформації, щодо відстеження цих ознак.
Серед популярних алгоритмів щодо вирішення проблем відео аналізу
можна виділити приховані Марківські моделі
[9]
. Це статистичні моделі, що
імітують роботу процесу, схожого на марківський процес з невідомими
параметрами, і завданням ставиться розгадування невідомих параметрів на
основі спостережуваних. Отримані параметри можуть бути використані в
подальшому аналізі для розпізнавання образів. ПММ може бути розглянута
як найпростіша Байєсова мережа довіри.
Останнім часом спостерігається зростаючий інтерес до більш
загального класу імовірнісних моделей, які називаються динамічною
Баєсовою мережею
[
7
]
. ДБН є узагальненою версією Баєсової мережі довіри
для набору послідовних результатів спостереження
.
Але з-за високих витрат процесорного часу і оперативної пам'яті,
практичне використання вказаних моделей для розпізнавання жестів у
режимі реального часу стає неможливим.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
2
ОСНОВНА ЧАСТИНА
2
.1 Попередня обробка зображення
Під відніманням кадрів D розуміється модуль різниці інтенсивності
пікселів двох зображень I
1
та I
2
:
(2.1)
Результатом операції віднімання кадрів є зображення, на якому об'єкти,
що змінили положення, відображені білим кольором, а займаючи колишню
позицію — чорним кольором. Для того щоб більш однозначно підкреслити
різницю між кадрами, застосовується бінаризація по граничному значенню.
При бінаризації зображення яскравість кожного пікселя D(x,y)
порівнюється з граничним значенням яскравості T. Якщо значення яскравості
пікселя вище значення яскравості порогу, то на бінарному зображенні
відповідний піксель буде білим, або чорним в іншому випадку.
(2.2)
Слід зазначити, що бінарне зображення неминуче включає області,
зумовлені шумами. Для уникнення подібного шуму варто скористуватися
засобами морфологічної фільтрації, які дозволяють виключити або зменшити
вплив перешкоди.
Морфологія бінарних зображень складається з двох основних операцій:
дилатації (розширення), ерозії (зменшенн
я) і похідних від них операцій,
розмикання і замикання [3, стр. 78].
Вхідними даними для операцій морфології є бінарне зображення f і
структурний елемент b (званий також примітивом), що представляє інше
(менше за розміром) бінарне зображення. Елементи обох множин являють
собою двовимірні
вектори, координати яких вказують на білий елемент
зображення, який дорівнює 1. Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Дилатація зображення f
по примітиву b
визначається як:
{
}
)
,
(
)
,
(
max
)
,
)(
(
y
x
b
y
t
x
s
f
t
s
b
f
+
−
−
=
⊕
(2.3)
Дилатація виконується шляхом перенесення примітиву b в точку t і
подальшої оцінки вихідного значення. Значення елемента вихідного масиву з
координатами t дорівнює 1, якщо поодинокі значення відліків b
t
і f збігаються
хоча б в одному елементі, дорівнює 0 у противному випадку. Значення t
послідовно змінюється відповідно з координатами всіх елементів масиву f.
Таким чином формується множина всіх елементів t, для яких перетин b
t
і f не
є порожньою множиною.
Дилатація розширює пов'язані поодинокі області бінарних зображень.
Вона використовується для розширення областей, для заповнення внутрішніх
«дірок» і усунення заток уздовж межі області.
Е
розія зображення f
по примітиву b
визначається як:
{
}
)
,
(
)
,
(
min
)
,
)(
(
y
x
b
y
t
x
s
f
t
s
b
f
−
+
+
=
⊗
(2.4)
Структурний елемент проходить по всіх елементах вхідного
зображення. Якщо кожен одиничний елемент b збігається з одиничним
елементом f, то елементу вихідного масиву з координатами, відповідними
положенню центру b
t
, присвоюється значення 1. Таким чином формується
множина всіх елементів t, для яких b
t
повністю утримується в f.
Вона може застосовуватися для виключення областей, що мають розмір
менший, ніж розмір примітиву, для зменшення областей та видалення
вузьких «мостів» між областями.
Розмикання являє собою дві послідовно виконані морфологічні
операції ерозію і дилатацію множини f
по примітиву b
:
b
b
f
b
f
⊕
⊗
=
)
(
(2.5)
Замикання являє собою дві послідовно виконані морфологічні
операції дилатацію і ерозію множини f
по примітиву b
: (2.6)
2
.2 Сегментація
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Після виконання так
их операцій над отриманим бінарним зображенням
виконується операція, яка називається селекцією зв'язаних компонентів, що
дозволяє уявити кожен окремий просторово пов'язаний об'єкт номером.
За бінарним зображенням можна визначити і проаналізувати кожну
зв'язну область. На виході формується зображення міток областей. Кожен
відлік зображення має значення номера зв'язної області, якій він належить,
або значення, рівне нулю, якщо елемент належить фону. Операція дозволяє
виключити з розгляду області, які мають площі, що знаходяться поза заданих
меж розмірів об'єктів.
Алгоритм рахування регіонів передбачає, що сканування зображення
проводиться зліва направо і зверху вниз
[8]
:
1.
Для кожного пікселя провести перевірку, чи задовольняють суміжні
пікселі критерію належності до регіону (тобто значенню інтенсивності 1 в
бінарному зображенні).
2.
Якщо жоден із сусідів не відповідає критерію, то призначити регіону
значення мітки та збільшити лічильник.
3.
Якщо під критерій підходить тільки один сусід, то призначити піксель
цьому регіону.
4.
Якщо під критерій підходить декілька сусідів, що належать до одного і
того ж регіону, то призначити піксель цьому регіону.
5.
Якщо під критерій підходить декілька сусідів, що належать до різних
регіонів, то призначити піксель будь-якому з них та вказати, що всі ці
регіони є еквівалентними.
6.
Сканувати зображення знову, призначаючи всім еквівалентним регіонам
однакову мітку.
До геометричних характеристик відносяться: координати центру ваги
об'єкта, площа об'єкта, його периметр, коефіцієнт форми, оцінюваний як
відношення квадрата периметра області об'єкту до її площі.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
За допомогою цього методу можна розрізнити декілька об’єктів, що
присутні на зображенні. По розміру визначених регіонів можна судити, чи
цікавить нас поточне становище у кадрі. Якщо об’єкт досить малий, то його
можна вважати завадою. Якщо ж об’єкт відповідає параметрам людського
тіла, то він підлягає виділенню для подальшої обробки.
2.
3 Обчислення характеристик
Вихідними даними цієї процедури вважається зображення контуру
об’єкта, вписане в прямокутник. Це зображення ми можемо застосувати для
збору статистичних даних щодо фізичних параметрів об’єкта: ширини торсу
та довжини рук.
Використовуючи в якості статистичного параметру кількість пікселів
білого кольору у кожному стовпці зображення, можна побудувати гістограму
розподілу яскравих областей, які відповідають наявності об’єкту. Здебільша
кількість значень буде припадати на область торсу, в той час як руки
займатимуть невелику ділянку.
Якщо розглянути деякі відносні пропорції людського тіла, то можна
сказати, що товщина руки не перевищує 30% росту людини. Таким чином,
застосувавши обробку за граничним значенням, можна цілком однозначно
виділити ділянку, що займає торс. Неважко здогадатися, що відстань від
лівого краю гістограми до торсу відповідає довжині лівої руки, а від торсу до
правого краю — довжині правої руки.
Рисунок 2.1 – Обробка за порогом 30%
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Маючи у розпорядженні такі величини, як ширина торсу та довжина
руки, можна встановити чи піднята рука або ні. Якщо рука опущена, то її
довжина не буде перевищувати ширину торса більш ніж на 30%. Інакше,
вона піднята якимось чином.
2.
4 Визначення положення руки
Встановивши ситуацію, коли рука опущена, нам потрібно довершити
алгоритм визначенням точного положення руки, коли вона піднята. Для
кожної з рук ми беремо до уваги чотири випадки: рука опущена, витягнута в
бік, спрямована вгору, нахилена вниз.
Для цього ми побудуємо ще одну гістограму, взявши за основу не
повне зображення об’єкта, а тільки ту частину, що відповідає ділянці руки. В
якості параметру будемо використовувати кількість пікселів білого кольору у
кожному рядку обрізаного зображення.
Оскільки на зображенні крім самого об
’єкта може бути присутня якась
завада, що викликана умовами освітлення або тінями, то для більш
коректного розпізнавання побудована гістограма потребує застосування
деяких додаткових фільтрів, а саме:
–
по-перше, необхідно видалити з гістограми низькі значення, що не
перевищують 10% від її максимального значення;
–
по-друге, потрібно розглядати лише ту частину гістограми, якої належить
максимальне значення.
Рисунок 2.2
– Гістограма до та після фільтрації
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
2.
5 Прийняття рішення
В залежності від форми отриманої гістограми можна класифікувати
положення руки як один з трьох жестів:
–
в разі якщо рука витягнута в бік, її довжина значно перевищує товщину,
отже гістограма матиме доволі високий, але вузький пік;
–
якщо рука спрямована вгору, то пік гістограми буде зсунений до
верхнього краю;
–
якщо рука нахилена вниз, то пік гістограми буде розташовуватися біля її
центра.
Таким чином, описаний алгоритм в змозі класифікувати шістнадцять
жестів, які є комбінаціями різних положень рук:
1.
ліва рука опущена, права рука опущена;
2.
ліва рука опущена, права рука нахилена вниз;
3.
ліва рука опущена, права рука витягнута в бік;
4.
ліва рука опущена, права рука спрямована вгору;
5.
ліва рука нахилена вниз, права рука опущена;
6.
ліва рука нахилена вниз, права рука нахилена вниз;
7.
ліва рука нахилена вниз, права рука витягнута в бік;
8.
ліва рука нахилена вниз, права рука спрямована вгору;
9.
ліва рука витягнута в бік, права рука опущена;
10.
ліва рука витягнута в бік, права рука нахилена вниз;
11.
ліва рука витягнута в бік, права рука витягнута в бік;
12.
ліва рука витягнута в бік, права рука спрямована вгору;
13.
ліва рука спрямована вгору, права рука опущена;
14.
ліва рука спрямована вгору, права рука нахилена вниз;
15.
ліва рука спрямована вгору, права рука витягнута в бік;
16.
ліва рука спрямована вгору, права рука спрямована вгору.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3 РОЗРОБКА ПРОГРАМИ
3.1 Аналіз та проектування системи
Розроблена в рамках курсового проекту програма спроектована, як
система візуалізації, яка дозволяє відстежити та краще зрозуміти процес
розпізнавання.
Програмний продукт повинен забезпечувати:
–
отримання зображення з веб-камери;
–
можливість завантаження відео із файлу формата .avi;
–
відстеження рухів людини на відео;
–
виконання попередньої обробки зображення;
–
відокремлення об
’єкту від елементів фону;
–
розпізнавання заданого набору жестів.
Реалізацію даної системи вирішено виконувати мовою програмування
Visual
C# 2010. Синтаксис C# близький до С++ і Java. Мова має строгу
статичну типізацію, підтримує поліморфізм, перевантаження операторів,
вказівники, атрибути, події, властивості, винятки. Вона успадкувала від Java
концепції віртуальної машини, байт-коду і більшої безпеки вихідного коду
програм, плюс врахувала досвід використання програм на Java. Технологія
об'єктно-орієнтованого програмування використовує механізм пересилки
повідомлень та класи, що організовані у ієрархію успадкування. Станом на
сьогодні C# визначено флагманською мовою корпорації Microsoft, бо вона
найповніше використовує нові можливості .NET.
Реалізована обробка винятків, що перешкоджає виникненню помилок і
інформує користувача про їх виникнення.
Описи локальних змінних і атрибутів наведені у вигляді коментарів до
коду програми.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3.2 Здобуття відео потоку
Для отримання зображення з веб-камери чи з файлу на диску вирішено
використовувати технологію Video for Windows (VFW). Бібліотека AVICap надає простий інтерфейс на основі повідомлень для
доступу до відео і аудіо обладнання та дозволяє контролювати процес
захоплення потокового відео
[9]
. Усі дії, що стосуються підключення до веб-камери і отримання
відеопотоку, виконуються у класі WebCam
.
cs
. Здобути список пристроїв для
захоплення відео та обрати той, з яким ми будемо працювати дозволяє
функція capGetDriverDescription():
[DllImport("avicap32.dll")]
protected static extern bool capGetDriverDescriptionA(
short wDriverIndex, String lpszName, int cbName, String lpszVer, int cbVer);
Вона приймає п’ять параметрів:
1.
wDriverIndex — індекс драйверу захоплення відео. Значення індексу може
варіюватися від 0 до 9;
2.
lpszName — покажчик на буфер, що містить відповідне ім'я драйверу;
3.
cbName — розмір буфера lpszName (у байтах);
4.
lpszVer — покажчик на буфер, що містить опис певного драйверу;
5.
cbVer — розмір буфера, в якому зберігається опис драйверу (у байтах).
Функція повертає TRUE у випадку успішного виконання і FALSE в разі
помилки.
Для відображення потоку відео з обраної камери служить функція
capCreateCaptureWindow (), яка призначена для створення вікна захоплення
:
[DllImport("avicap32.dll")]
protected static extern int capCreateCaptureWindowA(
string lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, int hWndParent, int nID);
Вона приймає вісім параметрів:
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
1.
lpszWindowName — ім'я вікна захоплення;
2.
dwStyle — стиль вікна;
3.
x — координата X;
4.
y — координата Y;
5.
nWidth — ширина вікна;
6.
nHeight — висота вікна;
7.
hWnd — дескриптор батьківського вікна;
8.
nID — ідентифікатор вікна.
Результатом виконання функції буде дескриптор створеного вікна або
NULL в разі помилки.
Подальші дії з камерою будуть відбуватися шляхом відправки
повідомлень вікну захоплення:
–
з'єднання з драйвером пристрою відео захоплення:
private const int WM_CAP_DRIVER_CONNECT = 0x40a;
–
розрив зв'язку з драйвером відео захоплення:
private const int WM_CAP_DRIVER_DISCONNECT = 0x40b;
–
включення або відключення масштабування:
private const int WM_CAP_SET_SCALE = 0x435;
–
включення або відключення режиму попереднього перегляду:
private const int WM_CAP_SET_PREVIEW = 0x432;
–
швидкість попереднього перегляду:
private const int WM_CAP_SET_PREVIEWRATE = 0x434;
–
копіювання кадру в буфер обміну:
private const int WM_CAP_EDIT_COPY = 0x41e;
–
отримання одиночного кадру з драйвера відео захоплення:
private const int WM_CAP_GRAB_FRAME = 0x43c;
–
збереження кадру з камери у файл:
private const int WM_CAP_SAVEDIB = 0x419.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Бібліотека AVIFile надає засоби та функції, що забезпечують доступ до
потокових мультимедійних файлів на диску, які зберігаються у форматах
WAVE (.wav) чи Audio Video Interleave (.avi) [10].
Для підключення до відео файлу застосовуються наступні методи
, що
реалізовані у класі AviRead
.
cs
:
–
розпочати сеанс роботи з бібліотекою
:
public static extern void AVIFileInit();
–
відкрити файл формату AVI:
public static extern int AVIFileOpen();
–
здобути відеопоток з відкритого файлу:
public static extern int AVIFileGetStream();
–
визначити початкову позицію потоку:
public static extern int AVIStreamStart();
–
визначити довжину поток
у в кадрах:
public static extern int AVIStreamLength();
–
здобути інформацію про відкритий поток:
public static extern int AVIStreamInfo().
Для виділення окремого кадру з відео потоку слід використати:
–
отримати показчик на об’єкт GetFrame:
public static extern int AVIStreamGetFrameOpen();
–
отримати показчик на вказаний кадр:
public static extern int AVIStreamGetFrame().
Після закінчення обробки необхідно звільнити зайняті ресурси:
–
звільнити об’єкт GetFrame:
public static extern int AVIStreamGetFrameClose();
–
звільнити відкритий відеопоток:
public static extern int AVIStreamRelease();
–
завершити сеанс роботи з бібліотекою:
public static extern void AVIFileExit().
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3.3 Формат зображення
Отриманий з веб-камери чи з відео файлу кадр являє собою зображення
у форматі Bitmap
(.
bmp
), що представляється у пам’яті комп’ютера як
структура даних DIB
. Перш за все, необхідно провести перетворення повно
кольорового зображення у півтонове.
Як і всі растрові зображення, півтонове кодується в цифровому вигляді
за допомогою бітової карти — матриці, що зберігає значення елементів
зображення (пікселів). Кожен піксель такого зображення може кодуватися
різною кількістю біт, що визначає кількість можливих півтонів.
Безліч можливих півтонів називають рівнями сірого (англ. grayscale),
незалежно від того, півтони якого кольору або його відтінку передаються.
Таким чином, рівні сірого не відрізняються за спектральним складом
(відтінку кольору), але відрізняються по яскравості. Кількість можливих
півтонів в даному випадку є глибина кольору, яку часто передають не в
кількості самих півтонів, а в кількості біт на піксель (англ. bit per pixel, bpp).
Яке з значень в допустимому діапазоні буде вважатися самим
яскравим, а яке найтемнішим не має значення, тому що число, що є
значенням кожного пікселя — всього лише умовний код яскравості. Досить
вказати напрямок відліку.
Наприклад, може існувати півтоновий растр, де на кожен піксель
відведено 8 біт, зображення має 256 півтонів, пікселі зі значенням 0 є білими,
пікселі зі значенням 255 — абсолютно чорними, а решта півтонів рівномірно
розподілені між даними значеннями.
Палітра може місти
ти послідовність чотирьохбайтових полів по числу
доступних кольорів (256 для 8-бітного зображення). Три молодші байти
кожного поля визначають інтенсивність червоної, зеленої та синьої
компоненти кольору, старший байт не використовується. Кожен піксель
зображення описаний в такому випадку одним байтом, що містить номер
поля палітри, в якому збережений колір цього пікселя.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Формат пікселів визначає кількість біт пам'яті, пов'язаних з даними
однієї точки. Також цей формат визначає порядок колірних складових в
даних однієї точки.
Таблиця 3.1. Формати пікселів
Format8bppIndexed
Вказує, що форматом відводиться 8 біта на точку і
кольори індексовані. Отже, таблиця кольорів містить 256
кольорів.
Format24bppRgb
Вказує, що форматом відводиться 24 біт на точку: по 8
біт на червоний, зелений і синій канали.
Format32bppRgb
Вказує, що форматом відводиться 32 біт на точку: по 8
біт на червоний, зелений і синій канали. Решта 8 біт не
використовуються.
Format32bppArgb
Вказує, що форматом відводиться 32 біти на точку: по 8
біт на червоний, зелений і синій канали, а також альфа-
канал.
У форматі 8 біт на кожен піксел
ь, може використовуватися спеціальний
режим індексованих кольорів. У цьому випадку число, що відповідає
кожному пікселю, вказує не на колір, а на номер кольору в палітрі. Завдяки
використанню палітри є можливість зворотнього перетворення півтонового
зображення у повно кольорове.
Для попіксельної обробки зображення в C
# використовуються методи
LockBits
та UnlockBits
, які дозволяють закріпити частину масиву даних у
пам'яті, одержати доступ до нього безпосередньо і, нарешті, замінити біти в
бітової карті зміненими даними. Метод LockBits повертає клас BitmapData,
який описує структуру і положення даних в закритому масиву.
Клас BitmapData містить такі важливі властивості:
–
Scan0: адреса в пам'яті фіксованого масиву даних;
–
Stride: ширина одного рядка піксельних даних;
–
PixelFormat: формат пікселів оброблюємих даніх;
–
Width: ширина зафіксованого зображення;
–
Height: висота зафіксованого зображення.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3.4 Обробка окремого кадру
Виконання операцій щодо попередньої обробки кадру виконується у
класі Imaging
. До зображення послідовно застосовуються наступні методи:
–
public Bitmap ColorToGrayscale(Bitmap bmp)
конвертація зображення у відтінки сірого;
–
public Bitmap GetDifference(Bitmap bmp, Bitmap overlay)
знахождення різниці між двома кадрами;
–
public Bitmap Dilate(Bitmap bmp)
морфологічна операція дилатації;
–
public Bitmap Erode(Bitmap bmp)
морфологічна операція ерозії.
Засобами класу Segment
.
cs
виконується підрахунок зв'язних областей
та сегментація зображення:
–
public void ProcessImage(BitmapData imageData)
побудова карти міток областей;
–
public Rectangle[] GetRectangles(Bitmap image)
знаходження контурів об’єктів.
Після виділення найбільшого об
’єкту, його зображення обрізується за
контуром та передається для подальшої обробки у клас Recognize
.
cs
:
–
public int[] GetStatisticsH(Bitmap bmp)
збір статистики щодо інтенсивностей пікселей по стовпцях зображення;
–
public int[] GetStatisticsV(Bitmap bmp)
збір статистики щодо інтенсивностей пікселей по рядках зображення;
–
public int[] NotNullable
(int[] values)
знаходження у масиві ненулевого мінімуму та максимуму
;
–
private void FilterLowValues(ref int[] values)
фільтрація низьких значень на гістограмі;
–
private void FilterNoisyPeaks(ref int[] values)
видалення з гістограми усіх піків крім максимального.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Слід більш детальніше зупинитися на наступних методах:
–
public void GetHands(Bitmap bmp)
обчислення фізичних характеристик;
–
public string GetHandPosition(Bitmap bmp)
класифікація положення руки.
Ці методи виконують вирішальну процедуру виявлення положення
руки на зображенні та розпізнавання відповідного жесту. В якості аргументу
для методу GetHands подається виділений контур об’єкту, для которого
збираються статистичні дані щодо інтенсивностей пікселів білого кольору по
стовпцях зображення. Шляхом бінарізаціі гістограми можна визначити
довжину лівої та правої руки, а слідом дізнатися про ширину торсу людини:
bodyWidth = bmpWidth - leftHand – rightHand
, де:
(3.1)
–
bmpWidth
: ширина зображення
;
–
leftHand
: довжина лівої руки;
–
rightHand
: довжина правої руки.
Подальша обробка зображення кожної руки окремо виконується у
методі GetHandPosition. Інформація щодо інтенсивностей пікселів білого
кольору по рядках зображення проходить фільтрацію, під час якої лишається
низьких значень та усіх пиків, крім максимального.
Описану у п.2.5 процедуру прийняття рішення щодо положення руки
математично можна визначити так:
–
при 1
1
1
2
>
+
−
y
y
x
рука витягнута в бік;
–
при 1
1
1
2
<
+
−
y
y
x
та 3
.
0
1
1
2
1
<
+
−
y
y
y
рука спрямована вгору;
–
при 1
1
1
2
<
+
−
y
y
x
та 3
.
0
1
1
2
1
>
+
−
y
y
y
рука нахилена вниз
;
де:
–
x
: висота
гістограми
;
–
y
1: крайня ліва ненульова точка гістограми;
–
y
2: крайня права ненульова точка гістограми.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3.5 Інтерфейс програми
Після запуску програми користувач бачить головне вікно, подібне
тому, що зображене на Рис. 3.1.
Рисунок 3.1 – Головне вікно програми
У правому верхньому кут
і
містяться елементи, які дозволяють керувати
вихідними даними, а саме:
–
кнопка Connect: приєднатися до веб-камери;
–
кнопка Disconnect: розірвати зв’язок;
–
кнопка Snapshot: зробити стоп-кадр;
–
кнопка Play: програти відео файл;
–
кнопка Pause: поставити на паузу;
–
кнопка Stop: зупинити програвання.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Шлях до відео файлу формату .avi, що зберігається на диску, можна
увести вручну або обрати за допомогою кнопки Browse (Рис. 3.2).
Рисунок 3.2 – Вікно
вибору файлу
Окрім елементів керування, на формі розташовані три сектори, в яких
відображаються вихідне зображення, кадр після попередньої обробки,
виділений контур об
’єкту
. На Рис. 3.1 ці сектори пронумеровані цифрами 1,
2, 3 відповідно.
Виділений контур об
’єкту, що підлягає розпізнаванню, оточується
трьома графіками, які показують гістограми інтенсивності по осі абсцис, а
також по осі ординат для кожної руки. На Рис. 3.1 ці сектори пронумеровані
цифрами 4, 5, 6 відповідно.
У лівому нижньому куті знаходиться додаткова інформація, яка
свідчить про час, затрачений на обробку кадру, кількість кадрів в секунду,
кількість кадрів, на яких не зафіксовано руху.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
3.6 Результати тестування
Не є секретом, що надійність систем розпізнавання залежить від умов
використання. Тому слід зазначити, що найкращого результату можна
досягнути, якщо використовувати систему у приміщеннях з однорідним
фоном та яскравим освітленням. Різниця між фоном та одягом людини
мусить бути достатня для виділення контуру тіла. При дотриманні таких умов вірогідність розпізнавання досягає
бажаного рівня не менше 80%. Дещо погіршують результат неоднорідність
фону, наявність у кадрі сторонніх предметів, що рухаються. При невдалому
розташуванні джерела світла, тінь, що відкидається на стіну позаду об’єкта,
може бути прийнята за форму руки та піти в обробку.
Систему було протестовано в умовах статичного та динамічного
освітлення. Результати експерименту наведено у Таблиці 3.2.
Таблиця 3.2 Результати е
ксперименту
Назва файлу
Показано жестів
Класифіковано
коректно
Вірогідність
розпізнавання
static1.avi
10
10
100%
static2.avi
10
9
90%
static3.avi
10
10
100%
dynamic1.avi
10
8
80%
dynamic2.avi
10
9
90%
Середня вірогідність розпізнавання
92%
Всі ці фактори свідчать про те, що така система може бути вдало
використана у домашніх умовах, але не здатна забезпечити належний рівень
надійності на вулиці, в заповнених приміщеннях, в умовах динамічного
освітлення. Додаткові засоби фільтрації вихідного зображення мають
позбавити користувача від завад такого роду.
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
ВИСНОВКИ
У рамках даного курсового проекту було створено систему, яка може
ідентифікувати певні людські жести у режими реального часу
. Програма
здатна отримувати зображення з веб-камери, та підтримує завантаження
відео файлів, що зберігаються на постійному або знімному носії.
Був сформульований перелік основних організаційних і практичних
завдань, що вимагають рішення в процесі досягнення цілей курсового
проекту: огляд літературних джерел; проектування структури програми та
інтерфейсу користувача; розробка сценаріїв застосування системи. Варто зазначити, що на відміну від реалізації даного методу у [
4], в
даній системі не було використано ніяких зовнішніх бібліотек для обробки
зображень, а всі операції виконувались у межах програми.
А
наліз існуючих засобів відстеження рухів показав, що у порівнянні зі
складними алгоритмами на основі нейронних мереж, статистичних або
імовірнісних моделей, реалізований підхід є більш швидкодіючим, але
поступається у питаннях вірогідності розпізнавання.
Застосування об'єктно-орієнтованого програмування надало великий
набір концепцій та ідей, що дозволяють осмислити задачу, яка стоїть при
розробці комп’ютерної програми, а потім знайти шлях до її рішення більш
зрозумілим, а отже i більш ефективним способом.
Серед рекомендацій стосовно можливих галузей застосування системи
можна запропонувати використовувати жести для передачі інформації або
для управління різними пристроями.
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
Iзм
Лист
№ документа
Пiдпис
Дата
Лист
ІС КР 0804 АН064 016 ПЗ
23
232
3
- 23
-C
hu
pa
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
A
U
T
H
O
R
Us
er
ст
. р
23
14.
12.
20
10
Ch
up
a
ст
. р
23
14.
12.
20
10
Сл
уж
еб
но
е
ст
. р
23
14.
12.
20
10
23
23
111
123
242
424
242
4
ПЕРЕЛІК ПОСИЛАНЬ
1.
Р. Гонсалес, Р. Вудс. Цифровая обработка изображений. – М.: Техносфера,
2005. – 1072 с. 2.
Дж. Ту, Р. Гонсалес. Принципы распознавания образов. – М.: Мир,
1978. – 411 с.
3.
В.Т. Фисенко, Т.Ю. Фисенко. Компьютерная обработка и распознавание
изображений: учеб. пособие. – СПб: СПбГУ ИТМО, 2008. – 192 с.
4.
A. Kirillov. Hands Gesture Recognition
http://www.codeproject.com/KB/audio-video/hands_gesture_recognition.aspx
5.
T. Ahmad et al. Tracking and recognizing hand gestures, using statistical
shape models –
Image and Vision Computing 15, 1997. – p. 345-352.
6.
A. Neri et al. Automatic moving object and background separation. –
Signal Processing 66, 1998. – p. 219-232.
7.
Heung-Il Suk et al. Hand gesture recognition based on dynamic Bayesian
network framework. – Pattern Recognition 43, 2010. – p. 3059–3072.
8.
Wikipedia
. Blob extraction. http://en.wikipedia.org/wiki/Blob_extraction
9.
Wikipedia
. Hidden Markov model
http://en.wikipedia.org/wiki/Hidden_Markov_model
10.
MSDN Library. Video Capture
http://msdn.microsoft.com/en-us/library/dd757692(v=VS.85).aspx
11.
MSDN Library. AVIFile Functions and Macros
http://msdn.microsoft.com/en-us/library/dd756805(v=VS.85).aspx
12.
ДСТУ
3008–95. Документація
. Звіти
у
сфері
науки
і
техніки
. Структура і
правила оформлення.
13.
ГОСТ 19.701–90 ЕСПД. Схемы алгоритмов, программ, данных и систем.
Обозначения условные и правила выполнения
.
Автор
Chupa
Chupa14   документов Отправить письмо
Документ
Категория
Информационные технологии
Просмотров
321
Размер файла
291 Кб
Теги
распознавание образов
1/--страниц
Пожаловаться на содержимое документа