EyeTracking has the same result of the original Java version.
authoryeom <yeom>
Fri, 16 Sep 2011 23:29:02 +0000 (23:29 +0000)
committeryeom <yeom>
Fri, 16 Sep 2011 23:29:02 +0000 (23:29 +0000)
Robust/src/Benchmarks/SSJava/EyeTracking/Deviation.java
Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java
Robust/src/Benchmarks/SSJava/EyeTracking/EyeDetector.java
Robust/src/Benchmarks/SSJava/EyeTracking/LEA.java
Robust/src/Benchmarks/SSJava/EyeTracking/LEAImplementation.java
Robust/src/Benchmarks/SSJava/EyeTracking/output [new file with mode: 0644]

index ff10c62c3ca43b7ece2a7dd50460bcf9a52cbfd4..41e3c7a59ad96860db85794f7c4e1b035204018f 100644 (file)
@@ -52,4 +52,8 @@ public class Deviation {
     return false;
   }
 
+  public String toString() {
+    return direction;
+  }
+
 }
index 456e3d1262deeae3a64b870a05f1988f64dfa146..dfabadeef9697f3729db5f8c0b5a7271ae3317fb 100644 (file)
@@ -30,15 +30,15 @@ public class DeviationScanner {
   // RIGHT(-1, 0), LEFT_DOWN(\r
   // +1, +1), DOWN(0, +1), RIGHT_DOWN(-1, +1);\r
 \r
-  private static final Deviation LEFT_UP = new Deviation("NONE", +1, -1);\r
+  private static final Deviation LEFT_UP = new Deviation("LEFT_UP", +1, -1);\r
   private static final Deviation UP = new Deviation("UP", 0, -1);\r
   private static final Deviation RIGHT_UP = new Deviation("RIGHT_UP", -1, -1);\r
   private static final Deviation LEFT = new Deviation("LEFT", +1, 0);\r
   private static final Deviation NONE = new Deviation("NONE", 0, 0);\r
-  private static final Deviation RIGHT = new Deviation("NONE", -1, 0);\r
-  private static final Deviation LEFT_DOWN = new Deviation("NONE", +1, +1);\r
-  private static final Deviation DOWN = new Deviation("NONE", 0, +1);\r
-  private static final Deviation RIGHT_DOWN = new Deviation("NONE", -1, +1);\r
+  private static final Deviation RIGHT = new Deviation("RIGHT", -1, 0);\r
+  private static final Deviation LEFT_DOWN = new Deviation("LEFT_DOWN", +1, +1);\r
+  private static final Deviation DOWN = new Deviation("DOWN", 0, +1);\r
+  private static final Deviation RIGHT_DOWN = new Deviation("RIGHT_DOWN", -1, +1);\r
 \r
   private int size;\r
 \r
@@ -49,10 +49,10 @@ public class DeviationScanner {
 \r
   public void addEyePosition(EyePosition eyePosition) {\r
 \r
-    for (int i = eyePositions.length - 2; i >= 0; i--) {\r
-      eyePositions[i + 1] = eyePositions[i];\r
+    for (int i = 1; i < eyePositions.length; i++) {\r
+      eyePositions[i - 1] = eyePositions[i];\r
     }\r
-    eyePositions[0] = eyePosition;\r
+    eyePositions[eyePositions.length - 1] = eyePosition;\r
 \r
     if (size < eyePositions.length) {\r
       size++;\r
@@ -72,7 +72,6 @@ public class DeviationScanner {
       EyePosition lastEyePosition = null;\r
       for (int i = 0; i < 3; ++i) {\r
         EyePosition eyePosition = this.eyePositions[i];\r
-        System.out.println("lastEyePosition=" + lastEyePosition);\r
         if (lastEyePosition != null) {\r
           deviationX += (eyePosition.getX() - lastEyePosition.getX());\r
           deviationY += (eyePosition.getY() - lastEyePosition.getY());\r
@@ -98,6 +97,7 @@ public class DeviationScanner {
         deviationAbsoluteY = -1;\r
 \r
       deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY);\r
+\r
       if (deviation != NONE) {\r
         eyePositions = new EyePosition[3];\r
         size = 0;\r
index faf53f73bd6a8fe1441b3d9109488a385c38c4c3..22171742a2da3b6cb8a79b219c84b29b121ae37d 100644 (file)
@@ -41,13 +41,6 @@ class EyeDetector {
     height = (int) faceRect.getHeight() / 2;
     pixelBuffer = new int[width * height];
 
-    // System.out.println("eye w=" + width + " h=" + height);
-    // System.out
-    // .println("faceRect.getX()=" + faceRect.getX() + " faceRect.getY()=" +
-    // faceRect.getY());
-    // System.out.println("image w=" + image.getWidth() + " h=" +
-    // image.getHeight());
-
     int startX = (int) faceRect.getX();
     int startY = (int) faceRect.getY();
 
@@ -78,8 +71,6 @@ class EyeDetector {
       }
     }
 
-    System.out.println("eyePosition=" + eyePosition);
-
     return eyePosition;
   }
 
index fed080cfd6394da2a731af520faef76dd9b30c4f..3aad7e86138a027b995ff44f1f0e8b4719504b58 100644 (file)
@@ -172,13 +172,13 @@ public class LEA {
 
   public void doRun() {
 
-    int maxCount = 1;
+    int maxCount = 37;
     int i = 0;
 
     ImageReader reader = new ImageReader();
 
     while (i < maxCount) {
-      Image image = reader.readImage("data/e" + i + ".bmp");
+      Image image = reader.readImage("data/b" + i + ".bmp");
       i++;
       if (image == null) {
         break;
@@ -198,7 +198,7 @@ public class LEA {
       deviationScanner.addEyePosition(positions.getEyePosition());
       Deviation deviation = deviationScanner.scanForDeviation(positions.getFacePosition());// positions.getEyePosition().getDeviation(lastPositions.getEyePosition());
       if (deviation != DeviationScanner.NONE) {
-        System.out.println("DEVICATION=" + deviation);
+        System.out.println("deviation=" + deviation);
         // notifyEyeMovementListenerEyeMoved(deviation);
       }
     }
index 50e6d0160811ab61dc85a02cad4aec53ff64ea2e..fe81654e32e310cbf5b1cd007d9eb9c965fc50b8 100644 (file)
@@ -37,18 +37,16 @@ public class LEAImplementation {
       return null;
 
     Rectangle2D faceRect = classifierTree.locateFaceRadial(image, lastRectangle);
-    System.out.println("FACE RECT=" + faceRect);
     EyePosition eyePosition = null;
     if (faceRect != null) {
-
       lastRectangle = faceRect;
       Point point = readEyes(image, faceRect);
       if (point != null) {
         eyePosition = new EyePosition(point, faceRect);
       }
     }
-    System.out.println("eyePosition="+eyePosition);
-    
+    System.out.println("eyePosition=" + eyePosition);
+
     return new FaceAndEyePosition(faceRect, eyePosition);
   }
 
@@ -72,7 +70,6 @@ public class LEAImplementation {
     classifierTree = new ClassifierTree();
 
     int numClassifier = Integer.parseInt(inputFile.readLine());
-    System.out.println("numClassifier=" + numClassifier);
     for (int c = 0; c < numClassifier; c++) {
 
       int numArea = Integer.parseInt(inputFile.readLine());
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/output b/Robust/src/Benchmarks/SSJava/EyeTracking/output
new file mode 100644 (file)
index 0000000..6fcc5d6
--- /dev/null
@@ -0,0 +1,44 @@
+eyePosition=(89,72)
+eyePosition=(91,75)
+eyePosition=(91,70)
+eyePosition=(91,70)
+eyePosition=(98,79)
+eyePosition=(100,79)
+eyePosition=(98,77)
+eyePosition=(98,77)
+eyePosition=(117,84)
+deviation=LEFT
+eyePosition=(120,78)
+eyePosition=(121,79)
+eyePosition=(121,76)
+eyePosition=(119,78)
+eyePosition=(120,79)
+eyePosition=(119,77)
+eyePosition=(119,77)
+eyePosition=(121,79)
+eyePosition=(72,80)
+deviation=RIGHT
+eyePosition=(105,84)
+eyePosition=(73,82)
+eyePosition=(120,81)
+deviation=LEFT
+eyePosition=(119,78)
+eyePosition=(119,78)
+eyePosition=(119,78)
+eyePosition=(121,81)
+eyePosition=(121,81)
+eyePosition=(71,81)
+deviation=RIGHT
+eyePosition=(71,81)
+eyePosition=(121,81)
+eyePosition=(121,81)
+deviation=LEFT
+eyePosition=(119,80)
+eyePosition=(119,81)
+eyePosition=(97,81)
+deviation=RIGHT
+eyePosition=(92,80)
+eyePosition=(92,81)
+eyePosition=(92,80)
+eyePosition=(92,80)
+Done.