1. Introduction
There are many apps for iPhone LiDAR for 3D measurement. This article will briefly explain how to use Dot3D provided by DotProduct. Dot3D can be downloaded from the following App Store page.
A smart phone of iPhone 13 Pro Max was used in this article.
2. How to Use Dot3D
2.1. Select New Scan
Select New Scan
highlighted in red box to start the 3D scanning.
2.2. Confirm the Settings
Select the gear icon as shown in the figure below.
You can see the parameters below. With Max.Depth
, you can determine the maximum range to be scanned. With iPhone LiDAR, you can scan objects up to about 5m away.
Also, by enabling Detect: AprilTags
, you can automatically detect AprilTags as mentioned in the section 2.4.
2.3. Start Scanning
By clicking on the cube icon in the middle bottom, you can start the 3D scanning. Red blocks indicates unscanned areas. As the scan progresses, the value of Mapping: active
increases.
2.4. Automatic Detection of AprilTags
Dot3D can automatically detect AprilTags. By obtaining the positional information (i.e. exact value of XYZ) of AprilTag in advance by using Total Station (TS), you can give accurate coordinates to the point cloud as post-processing. The positional information of AprilTag should be prepared in advance in CSV format, which will be explained in 2.6.
2.5. Checking the Results
When you finish scanning, tap the icon in the middle bottom again. This will generate a 3D point cloud like the one below. For example, the ground could be scanned accurately. The color would be shown as it is.
Also, the annotation function works as follows:
When you hold down a selected point, an enlarged view is displayed, which is useful, for example, when you want to select the center of the marker. You can also select the position of the point when measuring distance between two arbital points.
2.6. Importing Targets
As mentioned in 2.4, AprilTags are automatically detected. Next, import the coordinate information of each AprilTag. This allows you to correct the XYZ coordinates of the point cloud.
Open the menu from the right tab and select Targets
.
Select Load Control File
.
Then select Open Control File
.
Here, please import the CSV file prepared in advance as previously mentioned. Enter the AprilTag ID in the first column and specify the XYZ coordinates next to it. The CSV file used here is shown below. Note that if the file name contains Japanese text, an error may occur. It is desirable to save the file in English.
After completing the CSV file import, the screen will look like this. The imported file name is displayed in the red frame. Also, check that the units are correct (in this case, meters) as shown in the blue rectangle.
After importing, select Optimize
to complete the correction of the point cloud. As shown below, the ID is shown at the center of the AprilTag, suggesting that the import and correction were successful.
2.7. Exporting the Point Cloud
Export the obtained point cloud file and display it with other softwares. Select Export
from the menu on the right.
Select the file extension. Many formats are available including LAS and LAZ. I sent it to myself in a direct message on SLACK so that I could download it on my PC.
For example, the PTS format is explained in the following article.
Finally, you can specify the export options. Note that the unit was in mm in my app by default. However I selected meter for exporting it to read the point cloud file as explained in the section 3 and 4.
In addition, in the Options
on the right, you can determine the downsampling ratio. If you export it without reducing the points, the file size of the point cloud may be very large, and the export may not proceed smoothly. In that case, reducing the value of % here will reduce the file size significantly. However, it is necessary to confirm whether the required point cloud density and accuracy are made. It seems that random sampling is performed here.
3. Importing to ScanX
Next, I would like to try importing the point cloud obtained in Dot3D into another point cloud processing software. Here, I would like to use an online-based software called ScanX. I will upload the point cloud file saved in LAZ format to ScanX.
Here is a summary of importing it into ScanX.
3.1. RGB
Basemap:
It seems to fit well on the map.
Zoomed in:
It looked even better when I zoomed in.
3.2. Result of surface extraction
The surface is automatically extracted in ScanX and shown in brown.
3.3. Result of GCP (Ground Control Point) import
I imported the CSV file into ScanX as explained earlier. The XYZ information in the point cloud has been corrected based on the position embeded in AprilTag. It can be seen that the coordinate points and the position of AprilTag match well as shown by point8
in the figure below.
4. Importing to QGIS
Next, I would also like to import it into QGIS, a GIS software. LAS files and LAZ files can be imported by drag and drop into QGIS.
It is necessary to enter the EPSG code in QGIS to visualize the point cloud on OpenStreetMap
. This time, I specified EPSG code 6677.
Let’s check the meta information.
CRS
: I entered it manually.
LAS version
: It was 1.3 (While Dot3D says 1.2).
Scale
: It was 0.01mm. If it was measured accurately on Dot3D, the accuracy should be maintained when exporting to LAS/LAZ.
Color information
: It was saved in 16 bits.
5. Summary
In this article, I described how to scan a target using Dot3D with an iPhone with LiDAR. The UI/UX was great to understand and very easy to use. In addition, the automatic detection of AprilTag was accurate, and it was easy to correct the XYZ position of the Dot3D point cloud.