Commit 13490542 authored by Michal Balazia's avatar Michal Balazia
Browse files

experiment config in executor

parent 0d162038
@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-T2.jar > Output-RRPR-T2.csv
\ No newline at end of file
......@@ -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));
......
......@@ -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));
......
......@@ -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 ClassifierLinear(); // Classifier1NN, ClassifierLinear
private final boolean dataType; // true = BoneRotations, false = JointCoordinates
private final Classifier classifier = new Classifier1NN();
private final int length = 150;
public Method_MMC() {
public Method_MMC(boolean dataType) {
this.dataType = dataType;
}
@Override
......
......@@ -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 ClassifierLinear(); // Classifier1NN, ClassifierLinear
private final boolean dataType; // true = BoneRotations, false = JointCoordinates
private final Classifier classifier = new Classifier1NN();
private final int length = 150;
public Method_PCALDA() {
public Method_PCALDA(boolean dataType) {
this.dataType = dataType;
}
@Override
......
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment