Commit d54dedd1 authored by Rohan  Kumar's avatar Rohan Kumar
Browse files

updating

parent ee59e3a0
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -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>
+1 −8
Original line number Diff line number Diff line
@@ -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");
    }


@@ -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) {
@@ -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();
        }

@@ -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;
@@ -84,7 +79,6 @@ public class MongoDBInteraction {

    private PointSet convertDocumentToPointSet(Document doc) {
        if (doc == null) {
            System.out.println("PointSet document is null.");
            return null;
        }

@@ -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);
        }

+14 −21
Original line number Diff line number Diff line
@@ -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;
@@ -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
@@ -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
@@ -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);
@@ -91,8 +88,4 @@ public class ObjectDetector {
        return f_arr;
    }

    public static void main(String[] args) throws IOException, CsvValidationException {
        startProcess();
    }

}
+0 −4
Original line number Diff line number Diff line
@@ -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");
    }
}
+2 −12
Original line number Diff line number Diff line
@@ -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));
                }
@@ -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