BuildingVolumes / LiveScan3D

LiveScan3D is a system designed for real time 3D reconstruction using multiple Azure Kinect or Kinect v2 depth sensors simultaneously at real time speed.
MIT License
16 stars 3 forks source link

The .bin is not complete #1

Closed ERICXUCHI closed 1 year ago

ERICXUCHI commented 1 year ago

Hi, I used two Azure Kinects and two PCs to build 3D construction. I found that my two azure kinects recorded two different view of .bin file and they are not complete in one PC (say, [master] in sync mode). The two PCs' .bin files seem that can be merged together, but we cannot get a complete .bin in one PC. What's more, the .ply files can store a whole frame with two points of view. Do you know how to solve the incomplete .bin file problem?

.bin screenshot: image

.ply frame: 76c8011d319498247984f676afa9405

ChristopherRemde commented 1 year ago

Hey! Thank for opening the issue here! You are right, each sensor will store their data in a seperate .bin file, as the sensors might be attached to different PCs during capture. The .bin file is only meant as a very fast way.way to store data during capture The .bin files are then meant to converted to .ply files, which contain all the data. There are two ways to do that:

  1. As you already discovered, the server stores the .ply files after each capture in the "Saving" phase and merges all the views into one.
  2. You can also load all the .bin files inside of the LiveScanPlayer simultaniously and then check the "Export .ply" button. Hit Play, and the Player will store the merged .ply files inside of the /bin/outPlayer/ directory.

As far as I know, there is not really a use for both a .bin file containing all the sensors data, as it is a proprietary format that can't be loaded into other applications. Would you mind explaining your usecase here, so that I can get a better understanding of what you want to achieve?

You also might want to try the development branch here, which contains a much more improved version of LiveScan.

ERICXUCHI commented 1 year ago

Yeah, thanks for your reply and patience. I just found this issue about '.bin', so there may be currently no such usecase hh~ Moreover, I wonder if you mind providing me with more information about such 3D construction accuracy in estimating the real size of the object. How about the error? Do your team ever validate such matter?

Thanks for your timely response again!

ChristopherRemde commented 1 year ago

We haven't done any such measurements yet. If you use a multiple Kinects, the largest factor that causes inaccuracies is the marker calibration. From my personal experience, the offset error can be anywhere from 0,5-5cm at the position of the marker, and then in increases the further the data is away from the marker.

ERICXUCHI commented 1 year ago

Wow, 5cm is a pretty great error! Is there any way to decrease the error or guarantee the error to a limit interval? We plan to measure the human body size with 2 opposing Azure Kinects~

ChristopherRemde commented 1 year ago

Hey! Just to make it clear, this is just a rough assumption from my side, I have not measured the error! Also the further you go from the position from where you put your calibration marker, the bigger the error! You can decrease the error if you go with a high quality, and large (DinA3) marker, but I don't know by how much.

ERICXUCHI commented 1 year ago

great, your effort really helps us a lot!