Opensource general-purpose portable 3D scanner application.
- Idea & realization: Rabit
Please check out the wiki page: Wiki
- Smartphone / Tablet - anything with Android 5+ (Lollipop or better) and usb3 or usb2 host (camera need ~1000mA)
- Linux workstation - Ubuntu LTS, Debian, CentOS…
- Linux SBC - for small boards it also should work
- Intel Realsense D400 - stereo camera with D4 board (right tested D415 and D435i)
- USB-C/USB-C cable - USB3.1 Gen 1 should work properly or you can use usb2 for low speed capture
- Handy 3D Scanner - application piece, binaries published in Android store (paid) and available for workstations (opensource).
- Professional 3d scanners: ~$10’000-$20’000.
- Table laser scanners: ~$70-$500.
With Intel Realsense D415 (~$140) and mobile app you can get a simple solution with the next parameters:
- Resolution: 1Mpix (1280x720)
- Frame-rate: 30-60 fps
- Angle: 63°x40°, 85°x58°
- Range: .16-10m, .11-10m
Basically have just 3 main functions:
- Capture - allow to get shots and records of the environment
- General mode you can take pointclouds capturing your surroundings with a proper positioning of the shots (gyroscope or arcore positioning).
- Record mode (in dev) Useful for experimenting with AI, but consumes alot of memory
- Preview - shows what
- List of the captured
- Show/Hide pointclouds
- Camera controls: rotation, zoom, focus to point
- List of the captured
- Load/Save - when we would like to view or store
- Individual pointclouds - store in PCD format as point of clouds for the further processing
- Export visible - save the whole 3d scene as glTF 2.0 glb file to import it in 3d edit software or share
Also there will be settings, skeletal animation and other stuff.
- VR/AR avatars, objects - scan yourself, your cat or entire house and bring them to VR/AR.
- General purpose portable 3d scanner for 3d printer - if you want to build a copy of object you like.
- Modelling - sometimes it’s much easier to scan and edit in 3d editor (Blender / 3DSMax).
- Measuring - it’s pretty accurate, so you can use it to measure stuff or proportions.
- 3d Instagram - hopefully we will get to this state :)
- Who knows - when such techs are going wild, it’s hard to predict how they will be used.
- Easy capture from Intel Realsense D415/D435
- Full available camera resolution (D415 1280x720 points)
- Preview of the captured point clouds (pc)
- Save captured pc in PCD format and export scene to glTF 2.0
- ARCore-based camera positioning
Here is a couple of examples of the captured objects with available PCD & glb files:
You can find all the data on Google Drive.
As you can see - the position is quite rough, but should be enough for the planned in-app PCL processing.
You can see all the feature requests/bugs on the github page:
But overall we have huge plans to make this application better!
- Prepare version 1.0 - it should be useful for everyday use.
- Kickstarter campaign - customers want to see the complete product - so why not?
- Publish source code - necessary to make sure the project will live it’s long life.
- Reach the top - the market could be bigger, any smartphone should get this feature because AR/VR is coming. So Handy 3D Scanner can help with building the new future where everyone will take not just photos, but capture part of the 3d world and place it in VR.
This is an experimental project. The main goal is to test State of the Art philosophy in practice.
We would love to see independent developers working on the project’s issues: for fun and interest as well as for monetary compensation (say, attached to the tickets).
The repository and its contents are covered by
Apache v2.0, so anyone can use it without any concerns.
If you have any changes you’d like to share, don’t hesitate to make a pull-request and push them into the original repository. Definitely no pressure though.
You can find application sources in the GitHub repository and build your own binaries for workstation/android devices following the README.md build steps.
It’s very important to save user private data and you can be sure: we are working on security of our applications and improving it every day. No data could be sent somewhere without user notification and his direct approval. This application will work standalone without any internet connection and will not collect any user personal data anyway.