Skip to content

Releases: UTokyo-FieldPhenomics-Lab/corepp

Demo dataset

31 Jul 08:03
Compare
Choose a tag to compare

Demo dataset with 5 partial and complete 3D shapes of potato tubers.

1_rgbd

This folder contains 3 subfolders with the camera intrinsic files, the RGB and depth images, and the partial point clouds. The files are named according to this structure: [potato-id]_[data-type]_[ycoord].[extension]. Note that the ycoord is the y-coordinate of the center of the bounding box (bbc) of the annotated potato tuber in reversed order:[img_height - y_bbc].

1_rgbd/
|-- 0_camera_intrinsics
|   |-- realsense_d405_camera_intrinsic.json
|   |-- realsense_d405_settings_harvester.json
|-- 1_image
|   |-- 2R2-8
|   |   |-- 2R2-8_depth_098.png
|   |   |-- 2R2-8_rgb_098.png
|   |   |-- ...
|   |-- ...
|-- 2_pcd
|   |-- 2R2-8
|   |   |-- 2R2-8_pcd_098.ply
|   |   |-- ...
|   |-- ...

Note that the RGB images have an alpha channel with the mask annotation. To extract the RGB and mask channels individually please use this code:

import cv2
rgba = cv2.imread("./1_rgbd/1_image/2R2-8/2R2-8_rgb_098.png", cv2.IMREAD_UNCHANGED)
rgb = rgba[:,:,:-1]
mask = rgba[:,:,-1]

2_sfm

This folder contains 2 subfolders with the reconstructed 3D meshes from the Structure-from-Motion method and the downsampled point clouds of these meshes (containing 10000, 20000, and 30000 points respectively).

2_sfm/
|-- 1_mesh
|   |-- 2R2-8
|   |   |-- 2R2-8.jpg
|   |   |-- 2R2-8.mtl
|   |   |-- 2R2-8.obj
|   |-- ...
|-- 2_pcd
|   |-- 2R2-8
|   |   |-- 2R2-8_10000.ply
|   |   |-- 2R2-8_20000.ply
|   |   |-- 2R2-8_30000.ply
|   |-- ...

The meshes can be visualized in Open3D:

import open3d as o3d
mesh = o3d.io.read_triangle_mesh("./2_sfm/1_mesh/2R2-8/2R2-8.obj", enable_post_processing=True, print_progress=False)
o3d.visualization.draw_geometries([mesh], window_name="mesh")

3_pair

This folder contains 1 subfolder with the transformation matrices to overlay the partial point cloud with the 3D mesh. Please refer to the transform.py file.