Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Michal Balážia
GaitRecognition
Commits
13490542
Commit
13490542
authored
Nov 25, 2016
by
Michal Balazia
Browse files
experiment config in executor
parent
0d162038
Changes
6
Hide whitespace changes
Inline
Side-by-side
RRPR-T2.bat
View file @
13490542
@echo
off
echo
Workshop
on
Reproducible
Research
in
Pattern
Recognition
echo
An
Evaluation
Framework
and
Database
for
MoCap
-Based
Gait
Recognition
Methods
echo
Calculating
Table
2
@ECHO
off
ECHO
Workshop
on
Reproducible
Research
in
Pattern
Recognition
ECHO
An
Evaluation
Framework
and
Database
for
MoCap
-Based
Gait
Recognition
Methods
IF
NOT
EXIST
amc302
.0
(
ECHO
Downloading
database
PAUSE
wget
--no-check-certificate
https
://gait.fi.muni.cz/files/extracted
-
302
.0.zip
unzip
extracted
-
302
.0.zip
DEL
extracted
-
302
.0.zip
)
IF
NOT
EXIST
skeleton
.asf
(
ECHO
Downloading
database
PAUSE
wget
--no-check-certificate
https
://gait.fi.muni.cz/files/extracted
-
302
.0.zip
unzip
extracted
-
302
.0.zip
DEL
extracted
-
302
.0.zip
)
ECHO
Calculating
Table
2
PAUSE
#wget
https
://gait.fi.muni.cz/files/extracted
-
302
.0.zip
#unzip
-a
extracted
-
302
.0.zip
#PAUSE
java
-jar
GaitRecognition
-RRPR-T
2
.jar
>
Output
-RRPR-T
2
.csv
\ No newline at end of file
src/executor/Executor.java
View file @
13490542
...
...
@@ -78,23 +78,26 @@ public class Executor {
All implemented MoCap-based gait recognition methods
*/
private
static
final
Method
[]
methods
=
new
Method
[]{
//
new MethodAhmed(),//0
//
new MethodAli(),//1
//
new MethodAndersson(),//2
//
new MethodBall(),//3
//
new MethodDikovski(),//4
new
MethodAhmed
(),
//0
new
MethodAli
(),
//1
new
MethodAndersson
(),
//2
new
MethodBall
(),
//3
new
MethodDikovski
(),
//4
new
MethodGavrilova
(),
//5
// new MethodJiang(),//6
// new MethodKrzeszowski(),//7
// new MethodKumar(),//8
// new MethodKwolek(),//9
// new MethodPreis(),//10
// new MethodSedmidubsky(),//11
// new MethodSinha(),//12
// new Method_MMC(),//13
// new Method_PCALDA(),//14
// new Method_Random(),//15
// new Method_Raw(),//16
new
MethodJiang
(),
//6
new
MethodKrzeszowski
(),
//7
new
MethodKumar
(),
//8
new
MethodKwolek
(),
//9
new
MethodPreis
(),
//10
new
MethodSedmidubsky
(),
//11
new
MethodSinha
(),
//12
new
Method_MMC
(
true
),
//13
new
Method_MMC
(
false
),
//14
new
Method_PCALDA
(
true
),
//15
new
Method_PCALDA
(
false
),
//16
new
Method_Random
(),
//17
new
Method_Raw
(
true
),
//18
new
Method_Raw
(
false
),
//19
};
/*
...
...
@@ -163,26 +166,74 @@ public class Executor {
method
.
setNFoldsEvaluation
(
10
);
// number of folds in evaluation data
method
.
setFineness
(
30
);
// fineness of FAR/FRR, GAR/IAR, RCL/PCN
if
(
evaluateHomogeneous
)
{
// for (int i = 2; i <= 27; i++) {//method.getNumberOfClasses()
int
nClasses
=
numberOfClasses
;
// number of learning and evaluation classes
int
nFoldsLearning
=
3
;
// number of learning folds
int
attempts
=
1
;
// number of evaluation attempts
long
beginning
=
System
.
currentTimeMillis
();
// System.out.print("i=" + i + ",");//
int
nClasses
;
// number of learning and evaluation classes
int
nFoldsLearning
;
// number of learning folds
int
attempts
;
// number of evaluation attempts
long
beginning
;
// time of beginning
// default
nClasses
=
numberOfClasses
;
nFoldsLearning
=
3
;
attempts
=
1
;
beginning
=
System
.
currentTimeMillis
();
method
.
evaluateHomogeneous
(
motions
,
nClasses
,
nFoldsLearning
,
attempts
);
System
.
out
.
print
(
"timeHomogeneous="
+
printTime
(
System
.
currentTimeMillis
()
-
beginning
)
+
"\r\n\r\n"
);
// }//
// S+SSPR Figure 3
// for (int i = 2; i <= numberOfClasses / 2; i++) {
// nClasses = i;
// nFoldsLearning = 3;
// attempts = 1;
// System.out.print("(" + nClasses + "," + nClasses +")\r\n");
// beginning = System.currentTimeMillis();
// method.evaluateHomogeneous(motions, nClasses, nFoldsLearning, attempts);
// System.out.print("timeHomogeneous=" + printTime(System.currentTimeMillis() - beginning) + "\r\n\r\n");
// }
}
if
(
evaluateHeterogeneous
)
{
// for (int i = 2; i <= method.getNumberOfClasses() - 2; i++) {//method.getNumberOfClasses() - 2
int
nClassesLearning
=
2
;
// number of learning classes
int
nClassesEvaluation
=
numberOfClasses
-
2
;
// number of evaluation classes
int
attempts
=
1
;
// number of evaluation attempts
long
beginning
=
System
.
currentTimeMillis
();
// System.out.print("i=" + i + ",");//
int
nClassesLearning
;
// number of learning classes
int
nClassesEvaluation
;
// number of evaluation classes
int
attempts
;
// number of evaluation attempts
long
beginning
;
// time of beginning
// default
nClassesLearning
=
2
;
// number of learning classes
nClassesEvaluation
=
numberOfClasses
-
2
;
attempts
=
3
;
beginning
=
System
.
currentTimeMillis
();
method
.
evaluateHeterogeneous
(
motions
,
nClassesLearning
,
nClassesEvaluation
,
attempts
);
System
.
out
.
print
(
"timeHeterogeneous="
+
printTime
(
System
.
currentTimeMillis
()
-
beginning
)
+
"\r\n\r\n"
);
// }//
// S+SSPR Figure 3
// for (int i = 2; i <= numberOfClasses / 2; i++) {
// nClassesLearning = i;
// nClassesEvaluation = i;
// attempts = 3;
// beginning = System.currentTimeMillis();
// System.out.print("(" + nClassesLearning + ";" + nClassesEvaluation +")\r\n");
// method.evaluateHeterogeneous(motions, nClassesLearning, nClassesEvaluation, attempts);
// System.out.print("timeHeterogeneous=" + printTime(System.currentTimeMillis() - beginning) + "\r\n\r\n");
// }
// S+SSPR Figure 4a
// for (int i = 2; i <= numberOfClasses / 2; i++) {
// nClassesLearning = i;
// nClassesEvaluation = numberOfClasses / 2;
// attempts = 3;
// beginning = System.currentTimeMillis();
// System.out.print("(" + nClassesLearning + ";" + nClassesEvaluation +")\r\n");
// method.evaluateHeterogeneous(motions, nClassesLearning, nClassesEvaluation, attempts);
// System.out.print("timeHeterogeneous=" + printTime(System.currentTimeMillis() - beginning) + "\r\n\r\n");
// }
// S+SSPR Figure 4b
// for (int i = 2; i <= numberOfClasses - 2; i++) {
// nClassesLearning = i;
// nClassesEvaluation = numberOfClasses - i;
// attempts = 3;
// beginning = System.currentTimeMillis();
// System.out.print("(" + nClassesLearning + ";" + nClassesEvaluation + ")\r\n");
// method.evaluateHeterogeneous(motions, nClassesLearning, nClassesEvaluation, attempts);
// System.out.print("timeHeterogeneous=" + printTime(System.currentTimeMillis() - beginning) + "\r\n\r\n");
// }
}
}
System
.
out
.
print
(
"timeTotal="
+
printTime
(
System
.
currentTimeMillis
()
-
beginningTotal
));
...
...
src/methods/Method.java
View file @
13490542
...
...
@@ -266,7 +266,7 @@ public abstract class Method implements Serializable {
}
private
void
printEvaluation
()
{
System
.
out
.
print
(
"DBI,DI,SC,FDR,CCR,EER,AUC,MAP,DCT,TD\r\n"
);
System
.
out
.
print
(
"DBI,DI,SC,FDR,CCR,EER,AUC,MAP,DCT,TD\r\n"
);
// System.out.print("DBI,CCR\r\n"); System.out.print("DBI,DI,SC,FDR,CCR,EER,AUC,MAP,DCT,TD\r\n");
System
.
out
.
print
(
toString
(
scoresDBI
));
System
.
out
.
print
(
toString
(
scoresDI
));
System
.
out
.
print
(
toString
(
scoresSC
));
...
...
src/methods/Method_MMC.java
View file @
13490542
...
...
@@ -20,11 +20,12 @@ import objects.Sample;
public
class
Method_MMC
extends
Method
{
private
final
boolean
dataType
=
false
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier
Linear
();
// Classifier1NN, ClassifierLinear
private
final
boolean
dataType
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier
1NN
();
private
final
int
length
=
150
;
public
Method_MMC
()
{
public
Method_MMC
(
boolean
dataType
)
{
this
.
dataType
=
dataType
;
}
@Override
...
...
src/methods/Method_PCALDA.java
View file @
13490542
...
...
@@ -21,11 +21,12 @@ import objects.Sample;
public
class
Method_PCALDA
extends
Method
{
private
final
boolean
dataType
=
false
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier
Linear
();
// Classifier1NN, ClassifierLinear
private
final
boolean
dataType
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier
1NN
();
private
final
int
length
=
150
;
public
Method_PCALDA
()
{
public
Method_PCALDA
(
boolean
dataType
)
{
this
.
dataType
=
dataType
;
}
@Override
...
...
src/methods/Method_Raw.java
View file @
13490542
...
...
@@ -17,10 +17,11 @@ import objects.Parameter;
public
class
Method_Raw
extends
Method
{
private
final
boolean
dataType
=
false
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier1NN
();
// Classifier1NN, ClassifierLinear
private
final
boolean
dataType
;
// true = BoneRotations, false = JointCoordinates
private
final
Classifier
classifier
=
new
Classifier1NN
();
public
Method_Raw
()
{
public
Method_Raw
(
boolean
dataType
)
{
this
.
dataType
=
dataType
;
}
@Override
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment