Loading pom.xml +0 −12 Original line number Diff line number Diff line Loading @@ -12,19 +12,7 @@ <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <<<<<<< HEAD <!-- <exec.mainClass>top.BackendJava</exec.mainClass> --> <<<<<<< HEAD <!-- <exec.mainClass>yolo.YOLODetector</exec.mainClass> --> <exec.mainClass>vid2frames.Vid2Frames</exec.mainClass> ======= <exec.mainClass>yolo.YOLODetector</exec.mainClass> <!-- <exec.mainClass>vid2frames.Vid2Frames</exec.mainClass> --> >>>>>>> divider ======= <exec.mainClass>top.BackendJava</exec.mainClass> <!-- <exec.mainClass>yolo.YOLODetector</exec.mainClass> --> >>>>>>> 197296f30ca7b0c49c8308bf3194348f11ab6a30 </properties> <build> Loading src/main/java/database/MongoDBInteraction.java +1 −8 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ public class MongoDBInteraction { this.mongoClient = MongoClients.create(settings); this.database = mongoClient.getDatabase("Objects"); this.objectCollection = database.getCollection("objectSets"); System.out.println("MongoDB Connection Established"); } Loading @@ -46,10 +45,8 @@ public class MongoDBInteraction { try { Document doc = objectCollection.find().sort(new Document("index", -1)).first(); if (doc == null) { System.out.println("No document found."); return null; } else { System.out.println("Document found: " + doc.toJson()); return convertDocumentToObjectSet(doc); } } catch (Exception e) { Loading @@ -60,13 +57,11 @@ public class MongoDBInteraction { private ObjectSet convertDocumentToObjectSet(Document doc) { if (doc == null) { System.out.println("Document is null, no conversion possible."); return null; } List<Document> pointSetDocs = doc.getList("objectSets", Document.class); if (pointSetDocs == null || pointSetDocs.isEmpty()) { System.out.println("No point sets found in document."); return new ObjectSet(); } Loading @@ -76,7 +71,7 @@ public class MongoDBInteraction { if (pointSet != null) { objectSet.objects.add(pointSet); } else { System.out.println("Failed to convert point set document: " + pointSetDoc.toJson()); System.out.println("Failed to convert point set document"); } } return objectSet; Loading @@ -84,7 +79,6 @@ public class MongoDBInteraction { private PointSet convertDocumentToPointSet(Document doc) { if (doc == null) { System.out.println("PointSet document is null."); return null; } Loading @@ -99,7 +93,6 @@ public class MongoDBInteraction { List<Document> pointsDocs = doc.getList("points", Document.class); if (pointsDocs == null) { System.out.println("No points found in point set document."); return new PointSet(idx); } Loading src/main/java/object_detection/ObjectDetector.java +14 −21 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package object_detection; import com.opencsv.exceptions.CsvValidationException; import database.MongoDBInteraction; import object_detection.types.*; import org.bytedeco.ffmpeg.avutil.Cmp_Const_Pointer_Const_Pointer; import java.io.File; import java.io.FileNotFoundException; Loading @@ -21,13 +22,22 @@ public class ObjectDetector { public static void startProcess(String dataset) throws IOException, CsvValidationException { // for now, we can just set paths to the directories that hold keyframes and featurepoint CSVs String bbox_dir_pth = "src/main/java/vslam/tum_rgbd/BoundedInfo"; String pose_dir_path = "src/main/java/vslam/rumrgbd/CameraPoses"; String bbox_dir_pth; String pose_dir_path; CameraIntrinsics intrinsics; List<Point> pointCloud; if(dataset.equals("1")){ bbox_dir_pth = "src/main/java/vslam/tum_rgbd/BoundedInfo"; pose_dir_path = "src/main/java/vslam/tum_rgbd/CameraPoses"; intrinsics = new CameraIntrinsics("src/main/java/vslam/tum_rgbd/CameraIntrinsics.csv"); pointCloud = Downsampler.get_voxels("src/main/java/vslam/tum_rgbd/pointcloud.csv", 0.05F); } else{ bbox_dir_pth = "src/main/java/vslam/imperial_london/BoundedInfo"; pose_dir_path = "src/main/java/vslam/imperial_london/CameraPoses"; intrinsics = new CameraIntrinsics("src/main/java/vslam/imperial_london/CameraIntrinsics.csv"); pointCloud = Downsampler.get_voxels("src/main/java/vslam/imperial_london/pointcloud.csv", 0.05F); } // get files Loading @@ -41,8 +51,6 @@ public class ObjectDetector { /* ################################################# In the section below, we create a new ObjectSet, and iterate over each Keyframe ################################################## */ CameraIntrinsics intrinsics = new CameraIntrinsics("src/main/java/vslam/CameraIntrinsics.csv"); List<Point> pointCloud = Downsampler.get_voxels("src/main/java/vslam/pointcloud.csv", 0.05F); ObjectSet os = new ObjectSet(intrinsics, pointCloud); // iterate through each frame, create the frame, then process it Loading @@ -51,19 +59,8 @@ public class ObjectDetector { Frame f = new Frame(bbox_CSVs[i].getPath(), cp); os.processFrame(f); System.out.println("Processed frame " + i); if(i == 5){ break; } } Point[] pp = new Point[pointCloud.size()]; int i = 0; for(Point p : pointCloud){ pp[i] = p; i++; } os.objects.add(new PointSet(0, pp)); // update MongoDB MongoDBInteraction mdbi = new MongoDBInteraction(); mdbi.updateObjectSet(7, os); Loading Loading @@ -91,8 +88,4 @@ public class ObjectDetector { return f_arr; } public static void main(String[] args) throws IOException, CsvValidationException { startProcess(); } } src/main/java/object_detection/types/CameraIntrinsics.java +0 −4 Original line number Diff line number Diff line Loading @@ -46,8 +46,4 @@ public class CameraIntrinsics { float[] ImageSize; DMatrixRMaj K; public static void main(String[] args) throws FileNotFoundException { CameraIntrinsics intrinsics = new CameraIntrinsics("/Users/roku/IdeaProjects/group8/src/main/java/vslam/CameraIntrinsics.csv"); } } src/main/java/object_detection/types/Frame.java +2 −12 Original line number Diff line number Diff line Loading @@ -73,9 +73,9 @@ public class Frame { // check if point is visible in current frame if(projPoint.get(0,2) > 0){ if(x_div <= intrinsics.ImageSize[1] if(x_div < intrinsics.ImageSize[1] && x_div >= 0 && y_div <= intrinsics.ImageSize[0] && y_div < intrinsics.ImageSize[0] && y_div >= 0){ res.put(i, new Point2D((float) x_div, (float) y_div)); } Loading @@ -93,14 +93,4 @@ public class Frame { List<BoundingBox2D> boxes; CameraPose camera; public static void main(String[] args) throws IOException, CsvValidationException { System.out.println("Trying projection:"); CameraIntrinsics ci = new CameraIntrinsics("src/main/java/vslam/CameraIntrinsics.csv"); List<Point> pc = Downsampler.get_voxels("src/main/java/vslam/pointcloud.csv", 0.05F); CameraPose cp = new CameraPose("src/main/java/vslam/CameraPoses/Pose_0002.csv"); Frame f = new Frame("src/main/java/vslam/BoundedInfo/KeyFrame_0002.csv", cp); } } Loading
pom.xml +0 −12 Original line number Diff line number Diff line Loading @@ -12,19 +12,7 @@ <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <<<<<<< HEAD <!-- <exec.mainClass>top.BackendJava</exec.mainClass> --> <<<<<<< HEAD <!-- <exec.mainClass>yolo.YOLODetector</exec.mainClass> --> <exec.mainClass>vid2frames.Vid2Frames</exec.mainClass> ======= <exec.mainClass>yolo.YOLODetector</exec.mainClass> <!-- <exec.mainClass>vid2frames.Vid2Frames</exec.mainClass> --> >>>>>>> divider ======= <exec.mainClass>top.BackendJava</exec.mainClass> <!-- <exec.mainClass>yolo.YOLODetector</exec.mainClass> --> >>>>>>> 197296f30ca7b0c49c8308bf3194348f11ab6a30 </properties> <build> Loading
src/main/java/database/MongoDBInteraction.java +1 −8 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ public class MongoDBInteraction { this.mongoClient = MongoClients.create(settings); this.database = mongoClient.getDatabase("Objects"); this.objectCollection = database.getCollection("objectSets"); System.out.println("MongoDB Connection Established"); } Loading @@ -46,10 +45,8 @@ public class MongoDBInteraction { try { Document doc = objectCollection.find().sort(new Document("index", -1)).first(); if (doc == null) { System.out.println("No document found."); return null; } else { System.out.println("Document found: " + doc.toJson()); return convertDocumentToObjectSet(doc); } } catch (Exception e) { Loading @@ -60,13 +57,11 @@ public class MongoDBInteraction { private ObjectSet convertDocumentToObjectSet(Document doc) { if (doc == null) { System.out.println("Document is null, no conversion possible."); return null; } List<Document> pointSetDocs = doc.getList("objectSets", Document.class); if (pointSetDocs == null || pointSetDocs.isEmpty()) { System.out.println("No point sets found in document."); return new ObjectSet(); } Loading @@ -76,7 +71,7 @@ public class MongoDBInteraction { if (pointSet != null) { objectSet.objects.add(pointSet); } else { System.out.println("Failed to convert point set document: " + pointSetDoc.toJson()); System.out.println("Failed to convert point set document"); } } return objectSet; Loading @@ -84,7 +79,6 @@ public class MongoDBInteraction { private PointSet convertDocumentToPointSet(Document doc) { if (doc == null) { System.out.println("PointSet document is null."); return null; } Loading @@ -99,7 +93,6 @@ public class MongoDBInteraction { List<Document> pointsDocs = doc.getList("points", Document.class); if (pointsDocs == null) { System.out.println("No points found in point set document."); return new PointSet(idx); } Loading
src/main/java/object_detection/ObjectDetector.java +14 −21 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ package object_detection; import com.opencsv.exceptions.CsvValidationException; import database.MongoDBInteraction; import object_detection.types.*; import org.bytedeco.ffmpeg.avutil.Cmp_Const_Pointer_Const_Pointer; import java.io.File; import java.io.FileNotFoundException; Loading @@ -21,13 +22,22 @@ public class ObjectDetector { public static void startProcess(String dataset) throws IOException, CsvValidationException { // for now, we can just set paths to the directories that hold keyframes and featurepoint CSVs String bbox_dir_pth = "src/main/java/vslam/tum_rgbd/BoundedInfo"; String pose_dir_path = "src/main/java/vslam/rumrgbd/CameraPoses"; String bbox_dir_pth; String pose_dir_path; CameraIntrinsics intrinsics; List<Point> pointCloud; if(dataset.equals("1")){ bbox_dir_pth = "src/main/java/vslam/tum_rgbd/BoundedInfo"; pose_dir_path = "src/main/java/vslam/tum_rgbd/CameraPoses"; intrinsics = new CameraIntrinsics("src/main/java/vslam/tum_rgbd/CameraIntrinsics.csv"); pointCloud = Downsampler.get_voxels("src/main/java/vslam/tum_rgbd/pointcloud.csv", 0.05F); } else{ bbox_dir_pth = "src/main/java/vslam/imperial_london/BoundedInfo"; pose_dir_path = "src/main/java/vslam/imperial_london/CameraPoses"; intrinsics = new CameraIntrinsics("src/main/java/vslam/imperial_london/CameraIntrinsics.csv"); pointCloud = Downsampler.get_voxels("src/main/java/vslam/imperial_london/pointcloud.csv", 0.05F); } // get files Loading @@ -41,8 +51,6 @@ public class ObjectDetector { /* ################################################# In the section below, we create a new ObjectSet, and iterate over each Keyframe ################################################## */ CameraIntrinsics intrinsics = new CameraIntrinsics("src/main/java/vslam/CameraIntrinsics.csv"); List<Point> pointCloud = Downsampler.get_voxels("src/main/java/vslam/pointcloud.csv", 0.05F); ObjectSet os = new ObjectSet(intrinsics, pointCloud); // iterate through each frame, create the frame, then process it Loading @@ -51,19 +59,8 @@ public class ObjectDetector { Frame f = new Frame(bbox_CSVs[i].getPath(), cp); os.processFrame(f); System.out.println("Processed frame " + i); if(i == 5){ break; } } Point[] pp = new Point[pointCloud.size()]; int i = 0; for(Point p : pointCloud){ pp[i] = p; i++; } os.objects.add(new PointSet(0, pp)); // update MongoDB MongoDBInteraction mdbi = new MongoDBInteraction(); mdbi.updateObjectSet(7, os); Loading Loading @@ -91,8 +88,4 @@ public class ObjectDetector { return f_arr; } public static void main(String[] args) throws IOException, CsvValidationException { startProcess(); } }
src/main/java/object_detection/types/CameraIntrinsics.java +0 −4 Original line number Diff line number Diff line Loading @@ -46,8 +46,4 @@ public class CameraIntrinsics { float[] ImageSize; DMatrixRMaj K; public static void main(String[] args) throws FileNotFoundException { CameraIntrinsics intrinsics = new CameraIntrinsics("/Users/roku/IdeaProjects/group8/src/main/java/vslam/CameraIntrinsics.csv"); } }
src/main/java/object_detection/types/Frame.java +2 −12 Original line number Diff line number Diff line Loading @@ -73,9 +73,9 @@ public class Frame { // check if point is visible in current frame if(projPoint.get(0,2) > 0){ if(x_div <= intrinsics.ImageSize[1] if(x_div < intrinsics.ImageSize[1] && x_div >= 0 && y_div <= intrinsics.ImageSize[0] && y_div < intrinsics.ImageSize[0] && y_div >= 0){ res.put(i, new Point2D((float) x_div, (float) y_div)); } Loading @@ -93,14 +93,4 @@ public class Frame { List<BoundingBox2D> boxes; CameraPose camera; public static void main(String[] args) throws IOException, CsvValidationException { System.out.println("Trying projection:"); CameraIntrinsics ci = new CameraIntrinsics("src/main/java/vslam/CameraIntrinsics.csv"); List<Point> pc = Downsampler.get_voxels("src/main/java/vslam/pointcloud.csv", 0.05F); CameraPose cp = new CameraPose("src/main/java/vslam/CameraPoses/Pose_0002.csv"); Frame f = new Frame("src/main/java/vslam/BoundedInfo/KeyFrame_0002.csv", cp); } }