ODM icon indicating copy to clipboard operation
ODM copied to clipboard

Improve camera identification

Open originlake opened this issue 1 month ago • 4 comments

Currently the camera id is created by combining camera make, camera model, width, height, projection type, focal length. However, this is not enough to cover the case when there are two or more drones with the same model and the same capture settings, this can happen on a large survey project where one drone's battery is not enough to cover the whole survey. And if not separating data from multiple drones, a single camera model will be used to optimize across all the images, leading worse accuracy.

This PR tries to solve this issue by utilizing serial number exists mostly in the drone image metadata. It will attach the serial number at the end of the camera id. Since there could be multiple tags used to represent the serial number from different drone/camera maker, I don't have enough data to cover all the scenario, my implementation is explained below, please suggest and if any other way to read serial number is missing, let me know.

The serial number will be unknown by default, then, when loading metadata, the following exif and xmp tags will be used with the priority in ascending order, camera/len serial number should always be preferred over drone/body serial number, as some drones allow to change sensors. EXIF BodySerialNumber, EXIF LensSerialNumber, @drone-dji:DroneSerialNumber, @drone-dji:CameraSerialNumber

originlake avatar Nov 07 '25 21:11 originlake

Love this. Do you have a test dataset I could run it with?

smathermather avatar Nov 13 '25 05:11 smathermather

It's tested with some data under NDA :cry: , and has no side effect in normal datasets. If we could ask for some help from the community. Sorry I always have to create PR without actual data, my experience mostly comes from dealing issues with datasets under NDA.

originlake avatar Nov 13 '25 16:11 originlake

my experience mostly comes from dealing issues with datasets under NDA.

Makes perfect sense. Could you take https://github.com/pierotofy/drone_dataset_brighton_beach and modify the tags on half the files to simulate it?

If not, I can do this in a bit, but haven't had the moment to do so yet.

smathermather avatar Nov 25 '25 19:11 smathermather

report.pdf Attached the report here, you can see two different camera models were used in the reconstruction.

You can find the modified images here https://drive.google.com/file/d/1r1sO0zmqtIZ7fG2V2LHWgrqdjW1RV5Wa/view?usp=sharing

originlake avatar Nov 26 '25 19:11 originlake