From 23551902339bec27536f43fb753e58f5a2750e16 Mon Sep 17 00:00:00 2001 From: RohanMac Date: Wed, 17 Apr 2024 20:14:13 -0400 Subject: [PATCH] could be working now --- .../java/object_detection/ObjectDetector.java | 1 + .../object_detection/types/ObjectSet.java | 35 +++++++----------- .../java/object_detection/types/Point.java | 4 +- .../object_detection/ObjectDetector.class | Bin 2394 -> 2441 bytes .../object_detection/types/ObjectSet.class | Bin 6458 -> 5734 bytes .../object_detection/types/Point.class | Bin 2031 -> 2077 bytes 6 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/main/java/object_detection/ObjectDetector.java b/src/main/java/object_detection/ObjectDetector.java index 220c7667..8e2cd2c0 100644 --- a/src/main/java/object_detection/ObjectDetector.java +++ b/src/main/java/object_detection/ObjectDetector.java @@ -58,6 +58,7 @@ public class ObjectDetector { // printing final object set for sanity System.out.println(objSet); + System.out.println("====> Finished Object Mapping"); } /** diff --git a/src/main/java/object_detection/types/ObjectSet.java b/src/main/java/object_detection/types/ObjectSet.java index 2b7898e1..1dccaa7c 100644 --- a/src/main/java/object_detection/types/ObjectSet.java +++ b/src/main/java/object_detection/types/ObjectSet.java @@ -42,24 +42,21 @@ public class ObjectSet { Point[] r1 = this.objects.get(i).getPoints(); Point[] r2 = this.objects.get(j).getPoints(); - // O(n) - Set s = new HashSet<>(); - for(Point r : r1){ - if(r != null){ - s.add(r); - } - } - - // O(n) int count = 0; - for(Point p : r2){ - if(p!=null && s.contains(p)){ - count++; + + // O(n^2) + for (Point point : r1) { + for (Point value : r2) { + if (point.equals(value)) { + // we found point r1[x], now find next, and so on + count++; + break; + } } } - // in this line, if the reps are 80% similar, assume this is the same set. - return (count) > (r1.length*0.8); + // in this line, if the reps are 20% similar, assume this is the same set. + return (count) > (Math.max(r1.length, r2.length)*0.1); } /** @@ -88,7 +85,7 @@ public class ObjectSet { public List> processFrame(File featCsv, File bboxCsv) throws FileNotFoundException { // Print the name of the file being processed - System.out.println("Processing " + featCsv.getName() + " and " + bboxCsv.getName()); + //System.out.println("Processing " + featCsv.getName() + " and " + bboxCsv.getName()); // Read bounding boxes List boundingBoxes = readBoundingBoxes(bboxCsv); @@ -145,7 +142,6 @@ public class ObjectSet { continue; } if (compareObjects(objIdx, j)) { - System.out.println("COMBINING"); combineObjects(j, objIdx); break; } @@ -188,11 +184,6 @@ public class ObjectSet { */ @Override public String toString(){ - StringBuilder res = new StringBuilder("ObjectSet:"); - for(PointSet p : this.objects){ - res.append("\n\t - Object with ").append(p.pset.size()).append(" points"); - } - - return res.toString(); + return "ObjectSet of : " + this.objects.size() + " objects"; } } \ No newline at end of file diff --git a/src/main/java/object_detection/types/Point.java b/src/main/java/object_detection/types/Point.java index 3f80abdf..506cea3c 100644 --- a/src/main/java/object_detection/types/Point.java +++ b/src/main/java/object_detection/types/Point.java @@ -31,7 +31,7 @@ public class Point { * @return true if points are close enough */ public static boolean equals(Point aa, Point bb, float err){ - return (aa.x - bb.x < err) && (aa.y - bb.y < err) && (aa.z - bb.z < err); + return (Math.abs(aa.x - bb.x) < err) && (Math.abs(aa.y - bb.y) < err) && (Math.abs(aa.z - bb.z) < err); } @Override @@ -40,7 +40,7 @@ public class Point { return false; } Point p = (Point) o; - return Point.equals(this, p, (float) 0.05); + return Point.equals(this, p, (float) 2); } @Override diff --git a/target/classes/object_detection/ObjectDetector.class b/target/classes/object_detection/ObjectDetector.class index 24629bf2dab10220a81351c5c3bc78fd41947d4a..8d453240c05f8f3297412c07d90bb3e9a23d91f3 100644 GIT binary patch delta 756 zcmYk4O-~bH6osFcX*;EkD6MEP!5|t<0MqD3qkw`?Enijq;6p?U6c{X}NC9=j+V$-G z1L}^C1dJrOFww*x;KHr{!VvV#py148=DzPe_n!BhJ3r#D6R~f*AGd*K7FT1(t#p)Y zhMHzwEww4P;LcCw#%nX9)48!yZBMpXbPJO<%?4*WyO>S7v&od3&&6osxZkP_bDeq&2+qen#f1);J%(y1{9`ODO2lOTx?A>E)NS1f7P39>(SY4~f#j zS^62!+G2@8hEx}!#3MyU$T?w$#8g3^$BYPdj0v773aMWcPsvJl8&?=rmk493_s_b= zFfN9icFtfe|KAz3m|w!U!I=%y;;kgEF1|VM#A)fT3~Jfn zM)z9|_iT|GY~1Abr-m;?8@AtYXpQQ4m&7-$1a3JTp(^b delta 680 zcmYk3O-~bH6osF+GwqZ*AQq#tP$C*k+M4>cLP14}w1B86SgjuwN*%zKkH)xTZNhGL z?u{-*5-^hB!o-E~7x)wW2O5K(86=vS%$$4gIq$vqyf50mB@p`Bt{8` zF>Vnj$8l~muGpf^1b4)UF-K9zi0N@xC_)QU+>_2?KM%MsWYfzz;fGqik5fF-DKW~@ z2lMT8c&rYS${fS`%}JJ{4pY1Dw8J!PbI>7U%ujKuV%pL^QQv(eg#ts~sHdfWW|Qus zOu4X5@9=AyM>gp%W;Pi3nEp&Wz4ekk?`Tiv*EyPgD{U~xUQK3&4jj>jEHkL&kkWZt zDbTJ4ohqkfWMEB7?Oh3GG`_A)W6a8mNYI?8p*8Ka{jCOTwP24r^!=hqyTl#wYcess m3eKn=3}L@#X!jb=LLxkFTumnayGxsS7DWE%fMHQ_grz@=fn;<5 diff --git a/target/classes/object_detection/types/ObjectSet.class b/target/classes/object_detection/types/ObjectSet.class index 7bd7a712f2cc5b4d5c2952ca6245711f65843f00..1a4a499f1a7cf6b98a659a25cd4ce2957ea7211b 100644 GIT binary patch delta 2819 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 E04u9$n*aa+ delta 933 zcmZuvO-~b16g_X|&4=UE)UhBl;&_vYUF?mg$c^X6sdciQ>-Z~ZfX8t$w* z&ng=BxadPagS~ifWoD_dyv)#3EY%-09yh|J#-qhh6(@PE{_VR18v`zK7+n23zkNUQ z7KU9Ea6l}uqIt+g5hd}IRe0c{ytcvavK@5?bC|bqSsq>yCH)J#CVuI8c2n%+KD#BV ze4LfV3J;9KU>Fgvc)&vOgAc|L$sC12dq0lgD1Bvg3@-J_Xp|yNMPn4{D(XcR9NVNs ziAJ?2)FaO#{{yUm*8Rfs7Z|22MOjK^y_97r%c#uaZ@~3tOhYXqP%3(xB4lf5h&9)@vAgGuVJV=a;>`pRlhC!q50`E3)6Klp4X7Vmx3zNY*jTxoor>~)!#2*Tze7Io sfTAGX`WpQARA3!HPst=R&#TK^z(xAnbbN`{Ra~dcq38w{a2tL90mHp#)&Kwi -- GitLab