As discussed in other sections, imported data, such as a point cloud, can be used for control, pinning, or static. Imported as a control object allows for solving of camera position, angles, and internal camera parameters (on one or more photos). Imported as a pinned object is used when the project is already solved and has suitable 3D positions for matching. Lastly, imported as a static is used when the imported object is already in the same coordinate system as the project and no point-by-point matching/assignment is needed to get alignment.
There is a scenario where you want to use multiple import sources that are in different coordinate systems. This is especially true of single photo forensic projects. Typically, one of these imports is used to solve the position, angles, and camera parameters for the single photo – called an Inverse Camera solution – based on control. You then need to import second or third point clouds and match them to objects in the single photograph but these are not in the same coordinate systems as the project. Control import and static import do not work in this case. In a single photo, you cannot mark and reference points to get points for 3D pinning either.
Two examples of this are:
1. Extracting the speed of a vehicle in a single camera image sequence where the scene has been solved by another control import. You import a second scan, this time of the vehicle, and match it to the frames of a sequence to position the vehicle to compute speed.
2. Extracting the position of multiple point clouds (perhaps one scene scan, and two vehicle scans), to get relative position and orientation in a single image. Start by solving the single image using control from the scene scan, and then you use user transform or ray pinning to place the other two vehicle scans. Export the full 3D model to an external CAD or rendering package.
For these applications, for the second and third imported objects, you can use Surface Draw pinning, user-transforms, or ray pinning. You can import a second object and align it with the photo even though the import is not in the solved coordinate system of the project (solved by the first set of control points).
These pinning operations work in projects based on a control-point coordinate system or a coordinate system defined by Scale, Rotate, Translate assignment. See caveat below about scale solutions.
PhotoModeler differentiates between pinning to a light ray (called ‘ray pinning’), pinning to a 3D point, and pinning to a Surface Draw point. A 3D point is a point with two or more referenced marks that has a solved 3D position, whereas a ray is defined by a single mark on a photo with no 3D position. A Surface Draw point is marked on a single photograph but is assigned to a surface which gives it a 3D position. Note that Control and Frozen points (regardless of the number of photo marks) are considered 3D points.
To understand a ‘ray’, consider that the position and angle of the camera and a point on a photo from that camera define a light ray in space shooting out from the camera (see diagram below). The imported object (a point cloud) is fitting to the ray, or rays. If there are not enough ray pins to define the import’s position and angle in space, then user controls provide for adjustment of the import to match the photo position while keeping any ray assignment(s) as ‘constraints’.
A single light ray pin constrains the front of the car to lie somewhere on that ray.
When there are no pinned points, the user has full control over the ‘pin’ import’s position and angles in the project’s 3D space. The matching of the import to the photo then becomes a fully manual process. While the controls for position and angle are adjusted the position of the point cloud updates on the photo to aid in matching.
These adjustments of distance, position, and angles are controlled by the Pinned Import Transform Dialog.
There are some items to consider and watch out for when pinning an import to a photo:
• Do not pin part of the imported object that can move independently – i.e. try to avoid pinning wheels on vehicles, the tractor of a tractor-trailer (if the trailer is of concern), and the working end of a bulldozer or backhoe, etc.
• The imported object must be the same scale as the project (e.g. An import scan of a car should be in real-world coordinates). Similarly, ensure the units of the import (ft, m, etc.) are the same as the project. (note Surface Draw pinning and 3D multi-point pinning do allow solving for scale).
• Pinned Import transformation does not solve for scale (except optional with Surface Draw pinning and 3D multi-point pinning). This is on purpose to help validate solutions. With the typical scenario for photo matching, you do not want the imported object to change size. This leads to some caveats when doing matching and if your coordinate system changes. See further notes below.