irea metodelor pentru a recunoa ș te posturile ș i interac ț iunea dintre persoane în scenele 3D. Szente Teodor-Alexandru [630129]
UNIVERSITATEA POLITEHNICA BUCURE
Ș
TI
FACULTATEA DE AUTOMATIC
Ă
Ș
I CAL CULATOARE
DEPARTAMENTUL CALCULATOARE
PROIECT DE DIPLOM
Ă
Îmbun
ă
t
ă
ț
irea metodelor pentru a recunoa
ș
te posturile
ș
i
interac
ț
iunea
dintre persoane în scenele 3D.
Szente Teodor-Alexandru
Coordonator
ș
tiin
ț
ific:
Conf. dr. ing. Andrei Olaru
BUCURE
Ș
TI
2020
CUPRINS
Sinopsis
2
Abstract
2
Mul
ț
umiri
3
1
Introducere
4
1.1
Context
4
1.2
Problema
4
3
Abord
ă
ri existente
6
3.1
MubyNet
3.2
OpenPose
3.
1.1 Introducere
3.1.2 Re
ț
ea neu ronal
ă
3.1.2 H
ă
r
ț
i term ografice
ș
i P.A.F
4
Solu
ț
ia propus
ă
8
4.1
Prezentare Re
ț
ea Neuronal
ă
– ResNet50
4.2
Antrenarea re
ț
elei
5
Detalii de implementare
9
6
Evaluarea rezultatelor
11
7
Concluzii
13
8
Bibliografie
14
9
Anexe
16
1
S
INOPSIS
O
parte
considerat
ă
indispensabil
ă
a
inteligen
ț
ei
artificiale
este
capacitatea
de
a
întelege
ș
i
analiza
mediul
înconjur
ă
tor.
Din
categoria
problemelor
de
recunoa
ș
tere
a
elementelor
din
scen
ă
una
dintre
cele
mai
grele
probleme
este
recunoa
ș
tere
ș
i
în
ț
elegerea
corpului
uman.
Aceast
ă
lucrare
î
ș
i
propu ne
s
ă
analizeze
modelele
robuste
de
ultima
ora
din
literatura
de
specialitate
pentru
recunoa
ș
terea
scheletului
uman
în
135
de
puncte
cheie
ș
i
s
ă
propun
ă
un
creze model cu un cost computa
ț
ional mult mai mic.
S
INOPSIS
E
NGLEZ
Ă
An
indispensable
part
of
artificial
intelligence
is
the
ability
to
understand
and
analyze
the
environment.
From
the
category
of
perception
problems,
one
of
the
biggest
problems
is
the
recognition
and
understanding
of
the
human
body.
This
paper
aims
to
analyze
the
latest
robust
models
in
the
literature
for
the
recognition
of
the
human
skeleton
in
135
points
and
to propose a model with a much lower computational cost
2
A
BSTRACT
În
urm
ă
toarea
lucrare
vom
arat
ă
cum
este
posibil
s
ă
ob
ț
inem
ș
i
s
ă
proces
ă
m
schelete
umane
din
imagini
pe
ma
ș
ini
cu
resurse
limitate
(laptop-uri
personale,
telefoane,
etc).
Vom
distila
modele
robuste
precum
OpenPose
în
135
de
puncte
cheie,
unde
doar
ponderile
pentru
preantenare
m
ă
soar
ă
aproximativ
1.5
gigabytes
ș
i
vom
ob
ț
ine
modele
mai
pu
ț
in
robuste
care
p
ă
streaz
ă
o
parte
semnificativ
ă
din
acurate
ț
e
dar
în
acela
ș
i
timp
pot
fi
folosite
în
aplica
ț
ii
uzuale
f
ă
r
ă
s
ă
necesite
resurse
computa
ț
ionale
semnificative.
Vom
ar
ă
ta
cum
se
interpreteaz
ă
reprezent
ă
rile
nonparametrice
ale
OpenPose
(Corpuri
de
afinitate
ale
p
ă
r
ț
ilor)
ș
i
cum
se
pot
reface
leg
ă
turile
dintre
punctele
corpului
uman
prin
evaluarea
integralelor
de
linie
peste
corpuri
de
afinitate
ale
p
ă
r
ț
ilor.
Vom
ar
ă
ta
cum
se
pot
grupa
aceste
leg
ă
turi
pentru a identifica multiple persoane în imagini.
A
BSTRACT
E
NGLEZ
Ă
In
the
next
paper
we
will
show
how
it
is
possible
to
obtain
and
process
human
skeletons
from
images
on
machines
with
limited
resources
(personal
laptops,
phones,
etc.).
We
will
distill
rugged
models
like
OpenPose
in
135
points,
where
only
pre-trained
weights
measure
about
1.5
gigabytes
and
we
get
smaller
models
that
retain
a
significant
amount
of
accuracy
but
at
the
same
time
can
be
used
in
common
applications
without
requiring
significant
computational
resources.
We
will
show
how
to
interpret
the
nonparametric
representations
of
OpenPose
(Part
Affinity
Fields)
and
how
the
connections
between
the
points
of
the
human
body
can
be
restored
by
evaluating
the
line
integrals
over
the
part
affinity
fields.
We
will show how these links can be grouped to identify multiple people in images.
3
M
UL
Ț
UMIRI
TBD
4
1
I
NTRODUCERE
Estimarea
posturii
este
partea
din
percep
ț
ie
computa
ț
ional
ă
care
se
ocup
ă
de
identificarea
punctelor
ale
scheletului
uman
ș
i
g
ă
sirea
de
conexiunilor
între
ele,
cu
scopul
final
de
a
recrea
schele
ț
i
umani
pe
baza
unor
poze
statice.
Aceasta
reprezint
ă
un
element
principal
pentru
a
permite
inteligen
ț
ei
artificial
ă
s
ă
înteleaga
mediul
înconjurator.
Cele
mai
cunoscute
solu
ț
ii
din
literatura
de
pentru
estimarea
posturii
se
bazeaz
ă
pe
re
ț
ele
neuronale
adânci,
re
ț
ele
antrenate
superv izat
pentru
a
g
ă
si
punctul
cel
mai
probabil
s
ă
reprezinte
o
încheietur
ă
din
scheletul
uman
ș
i
diverse
informa
ț
ii
despre
acesta
(velocitate,
vectori
pentru
direc
ț
ie,
etc).
Scopul
unui
astfel
de
model
este
s
ă
poate
reproduce
un
model
3D
a
persoanelor din scen
ă
, a
ș
a cum este ar
ă
tat în
Zanfir al. 2018
[1]
:
Figura 1 Exemplu de detectare a scheletului uman în
Zanfir al. 2018
[1]
Diverse
modele
au
fost
propuse
în
literatur
ă
,
precizând
direct
puncte
cheie
în
3
dimensiuni
sau
doar
2D
care
ulterior
vor
fi
trecute
printr-o
re
ț
ea
specializat
ă
pentru
a
efectua
maparea
punctelor în spa
ț
iul tridim ensional.
5
Pentru
modelarea
corpului
uman
se
utilizeaz
ă
un
model
ierarhic
prestabilit.
Acesta
este
reprezentat
sub
forma
unui
arbore
în
care
exist
ă
o
leg
ă
tur
ă
p
ă
rinte-copil
reprezint
ă
faptul
c
ă
exist
ă
acele puncte sunt conectate din punct de vedere anatomic).
Figura 2 Reprezentare ierarhic
ă
a structuri anatomice umane
De regul
ă
arborele ierarhic este reprezentat ca o mul
ț
ime de adiacen
ț
ă
0
,
}
K
∈
{
1
N
x
N
J
j
cu proprietatea c
ă
dac
ă
nodurile
ș
i
sunt elemente pe nivele terminale care
(
i
,
j
)
1
K
=
i
j
formeaz
ă
o muchie în arbore.
1.1
Context
În
ultimi
ani
cre
ș
terea
rapid
ă
a
popularit
ă
ț
ii
dispozitivelor
mob ile
a
adus
o
nou
ă
problem
ă
pentru
dezvoltarea
algoritmilor
de
inteligent
ă
artificial
ă
,
anume
puterea
de
procesare
grafic
ă
redus
ă
existent
ă
pe
majoritatea
dispozitivelor
mobile
folosite
uzual.
De
la
filtrele
de
modificare
ale
tr
ă
s
ă
turilor
faciale
de
pe
Facebook
sau
Instagram
pân
ă
la
modelele
de
navigare
asistat
ă
de
realitate
augmentat
ă
create
de
Google,
nevoia
de
a
rula
modele
robuste de înv
ă
ț
are auto mat
ă
pentru percep
ț
ie pe dispozitive mobile devine acut
ă
.
În
acest
context
conceptul
de
distilare
a
fost
propus
prima
dat
ă
în
Hinton
et
al.
2015
[2].
Distilarea
reprezint
ă
un
metod
ă
prin
care
o
ie
ș
irea
unei
re
ț
ele
adânci
(profesor)
este
înv
ă
ț
at
ă
de
o
re
ț
ea
mai
pu
ț
in
adânc
ă
(student),
cea
din
urm
ă
putând
dup
ă
find
rulata
în
produc
ț
ie pe dispozitive c u resurse limitate.
În
Lugaresi
et
al.
2019
[3]
Google
lanseaz
ă
propria
platform
ă
pentru
integrarea
algoritmilor
de
înv
ă
ț
are
automat
ă
în
aplica
ț
iile
mobile.
Aceasta
ofer
ă
suport
complet
pentru
modele
de
TensorFlow Little dar problema limit
ă
rilor computa
ț
ionale r
ă
mâne deschis
ă
.
6
1.2
Problema
În
condi
ț
iile
descrise
mai
sus
g
ă
sirea
unui
model
mai
pu
ț
in
robust
pentru
detectarea
scheletului
uman
devine
tot
mai
important
ă
.
Un
astfel
de
model
ar
trebui
s
ă
fie
compatibil
cu
Tensorflow
Lite,
u
ș
or
de
folosit
cu
platforma
media
pipe.
S
ă
foloseasc
ă
o
arhitectur
ă
mai
pu
ț
in
fa
ț
ă
de
modele
cunoscute
precum
MubyNet
(
Zanfir
et
al.
2018
[1])
sau
OpenPose
(
Lugaresi
et
al.
2018
[3])
f
ă
r
ă
un
impact
major
asupra
acurate
ț
ei.
Astfel
problema
se
poate
defini în mod formal:
Dată fiind o imagine RGB
să se găsească un program polinomial
a.î
I
=
R
h
×
w
×
3
M
unde P reprezintă setul de persoane vizibile în imaginea I:
(
I
)
P
M
=
{
X
|
x
(
j
,
j
,
l
)
,
j
R
,
j
R
,
P
=
=
p
2
d
p
3
d
p
p
2
d
∈
2
N
×
1
j
p
3
d
∈
3
N
×
1
j
{
(
i
,
j
)
|
K
(
i
,
j
)
1
,
i
,
j
∈
N
,
1
≤
i
,
j
≤
|
j
|
}
}
l
p
=
=
p
unde
reprezintă punctele cheie ale scheletului (joint) în spațiul 2D al persoanei,
j
p
2
d
reprezintă punctele cheie ale scheletului (joint) în spațiul 3D.
j
p
3
d
Astfel încât
, unde
și
(
M
(
i
)
)
t
(
O
p
e
n
p
o
s
e
(
I
)
)
ș
i
m
(
M
(
i
)
)
m
(
O
p
e
n
p
o
s
e
(
I
)
)
t
≪
≪
t
m
reprezintă resursele temporale și spațiale necesare unui program.
2
A
BORD
Ă
RI
EXISTENTE
2.1
MubyNet
Model
introdus
în
Zanfir
et
al.
2018
[1]
recunoa
ș
te
puncte
cheie
în
scene
cu
persoane
multiple
ș
i
le
transform
ă
în
puncte
tridimensionale.
Se
folose
ș
te
de
caracteristici
2D
cât
ș
i
de
caracteristici 3D.
Zanfir et al. 2018
[1]
propun următoarea problemă formală:
Dată fiind o imagine RGB
să se găsească un set de persoane
vizibile în
I
=
R
h
×
w
×
3
P
imagine a.î:
{
x
|
x
(
j
,
,
Θ
,
β
,
t
)
,
j
R
,
j
R
P
=
=
p
2
d
j
p
3
d
p
p
p
p
2
d
∈
2
N
×
1
j
p
3
d
∈
3
N
×
1
j
Θ
,
β
)
R
,
t
R
,
1
P
|
}
(
p
p
∈
8
1
×
1
∈
3
×
1
≤
p
≤
|
unde
reprezintă scheletul în spațiul 2D al persoanei,
reprezintă scheletul în
j
p
2
d
j
p
2
d
spațiul 3D al persoanei,
reprezintă modelul SMPL[2] a formei corpului iar
Θ
,
β
)
(
p
p
t
reprezintă translația persoanei pe scenă.
Se definesc
J mul
ț
imea p unctelor cheie (joints), L mul
ț
imea conexiunilor posibile (limbs).
7
Figura 2 Pipeline-ul modelului MubyNet
Pentru scopul acestei teze ne vom axa pe module Deep Feature Extractor
, Limb Scoring
ș
i
Skeleton Grouping.
2.1.1
Deep Feature Extractor
Arhitectura modelului începe cu un extractor adânc de
caracteristici, acesta se bazeaz
ă
pe
tehnici de transfer learning pentru e prelua caracteristicele cu cele mai mare ponderi dintr-o
reteua VGG-16, modul . Aceste caracteristici se concateneaza împreun
ă
cu ie
ș
irea modului
de Deep Volume Encoding (
,
) în
care este trimis mai
M
2
d
M
3
d
M
⊕
M
⊕
M
V
I
=
I
2
d
3
d
departe modulului de Limb Scoring.
reprezint
ă
activ
ă
riile re
ț
elei pentru puncte în doua dimensiuni iar
analog pentru
M
2
d
M
3
d
punctele în 3 dimensiuni.
2.1.2
Limb Scoring
Volumul
este apoi introdus ca intrare în modulul Limb Scoring. Acesta identific
ă
V
I
punctele cheie pentru persoanele din scen
ă
ș
i le conecteaz
ă
pe cele compatibile (sunt
parinte-copil într-o reprezentare a arborelui cinematic). Pentru fiecare dintre perechiile de
puncte cheie compatibile calculeaza un scoruri care reprezint
ă
cât de probabil este c
ă
acea
conexiune s
ă
fac
ă
parte din scheletul unui persoane date în scen
ă
.
În pasul ini
ț
ial modul extr age un set posibil de conexinuni (joint-uri) din
folosind
M
2
d
algoritmul de suprimare non-maximal
ă
:
8
Figura 2 Pseudocod suprimare non-maximal
ă
Algoritmul de suprimare non-maximal
ă
va folosi
drept hart
ă
de confiden
ț
ă
. Pentru
M
2
d
fiecare element ini
ț
ial va compara confiden
ț
ă
cu toate celelalte elemente din matrice
ș
i va
renun
ț
a la fiecare elemen t care are confiden
ț
ă
mai mic
ă
decât elementul ales ini
ț
ial.
Astfel se calculeaz
ă
mul
ț
imea
ș
i
reprezint
ă
tipul de joint
i
|
1
}
J
=
{
≤
i
≤
N
,
t
(
i
)
t
:
J
→
N
al punctului cheie (ex: genunchi picior stâng, um
ă
r drept, etc).
Lista tuturor conexiunilor posibile din puncte de vedere cinematic este:
{
(
i
,
j
)
|
K
(
i
,
j
)
1
,
i
,
j
∈
N
,
1
≤
i
,
j
≤
|
J
|
}
L
=
=
Nivele adi
ț
ionale de tip C onv+Relu sunt create în re
ț
ea explicit cu scopul de a atribui un scor
pentru fiecare element din L. Ie
ș
irea ultimului nivel este
.
se
M
c
∈
R
w
×
h
×
1
2
8
i
n
M
D
c
e
ș
antioneaz
ă
un num
ă
r fix de puncte pentru fiecare element din L formând matricea
= num
ă
rul de e
ș
antioane.
este trimis unei re
ț
ea multi-nivel
,
N
M
a
∈
R
N
×
N
×
1
2
8
|
L
|
s
s
M
a
dens
ă
urmat
ă
de un nivel soft-max non-liniar pentru produce
.
0
,
]
c
∈
[
1
N
×
1
|
L
|
2.1.3
Skeleton Grouping Binary Integer Programming
Problema
grup
ă
ri
scheletelor
se
poate
define
formal
ca
g
ă
sirea
unei
mul
ț
imi
de
muchii
optime
astfel
încât
graful
are
urm
ă
toarele
propriet
ă
ț
i,
unde
J
este
E
⊆
L
J
,
)
G
=
(
E
mul
ț
imea punctelor cheie (joint) iar L este mul
ț
imea conexiunilor posibile (limbs):
A.
:
ș
i
se afl
ă
pe aceea
ș
i persoan
ă
.
(
j
j
)
∀
1
,
2
∈
E
j
1
j
2
B.
cu
dac
ă
:
(
i
,
i
)
,
(
j
j
)
∀
1
2
1
,
2
∈
E
(
i
)
t
(
i
)
ș
i
t
(
j
)
t
(
j
)
t
1
=
2
1
=
2
a.
atunci
j
j
1
=
2
=
i
1
/
i
2
b.
atunci
i
i
1
=
2
=
j
1
/
j
2
9
C.
este maximal (selecteaz
ă
cât mai multe componente posibil)
E
|
|
Ultima
constrângere
asigur
ă
c
ă
dou
ă
puncte
cheie
de
acela
ș
i
tip
nu
sunt
folosite
în
conexiuni
diferite.
Zanfir
et
al.
2018
[1]
arat
ă
cum
aceste
constrângeri
se
pot
modela
printr-o
problema
programare întreag
ă
binar
ă
:
Calcul
E
este
echivalent
cu
g
ă
sirea
unui
indicator
binar
în
setul
L
care
x
0
,
1
}
∈
{
|
L
|
×
1
codific
ă
constrângerile
din
(B)
iterând
peste
ș
i
g
ă
sind
toate
care
se
p
∀
∈
L
L
q
∈
conecteaz
ă
la
acela
ș
i
tip
de
punct
cheie
precum
ș
i
au
punctul
terminal
al
conexiuni
p
comun.
O
solu
ț
ie
corect
ă
va
alege
pentru
fiecare
astfel
de
un
singur
,
mul
ț
imea
tuturor
p
q
posibilit
ă
ț
ilor
se
poate
modela
ca
o
matrice
sparse
a.
î
unde
b
este
0
,
1
}
A
=
{
|
L
|
×
|
L
|
A
x
≤
b
vectorul unar
.
1
|
L
|
Constrângerile
din
(A)
pot
fi
modelate
cu
ajutorul
vectorului
de
limb
score.
Pentru
oricare
o
m
ă
sur
ă
aproximativ
ă
a
cât
de
probabil
este
ca
l
s
ă
fie
o
conexiune
a
unei
l
c
(
l
)
∀
∈
L
:
persoane cu tipuri specifice de puncte cheie.
Problema g
ă
siri lui E se reduce la o problem
ă
de programare întreag
ă
binar
ă
:
(
c
)
a
r
g
m
a
x
c
x
,
A
x
,
x
0
,
1
}
x
*
=
c
T
≤
b
∈
{
N
L
X
1
)
(
2.2
Open Pose
Open pose detecteaz
ă
doar caracteristici 3d
3
S
OLU
Ț
IA
PROPUS
Ă
4
D
ETALII
DE
IMPLEMENTARE
.
5
C
ONCLUZII
6
B
IBLIOGRAFIE
[1]
Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. 2015. “Distilling the Knowledge in a Neural
Network.”
arXiv [stat.ML]
. arXiv.
http://arxiv.org/abs/1503.02531
.
figura 2
https://www.cs.toronto.edu/~urtasun/courses/ETH10/lecture2.pdf
nms
https://towardsdatascience.com/non-maximum-suppression-nms-93ce178e177c
10
[3] –
https://www.coursera.org/learn/convolutional-neural-networks
11
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: irea metodelor pentru a recunoa ș te posturile ș i interac ț iunea dintre persoane în scenele 3D. Szente Teodor-Alexandru [630129] (ID: 630129)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
