Figure 2: Overview of the calibration process A transformation matrix maps camera space to global space, as presented in the flow diagram in figure 2. System OverviewĪt a high level, this approach constructs corresponding polygons in the camera image and global maps. It is hard for object-detection algorithms to detect objects because of the warped nature of the image. B (right): A sample dewarped image of a region where objects can be easily detected by object-detection images. Image A (left): Snapshot from a 360-degree camera. This dewarped image is then used for car detection. This undistorted image of the car supplies the pixels for translation into a global coordinate. DeepStream first de-warps the original fisheye image to look like image (B), removing object distortion. Before we can actually perform the calibration steps, we need to supply pixels from a corrected image.Ĭonsider image (A) in figure 1 below from a 360-degree camera. The original image from the 360-degree camera has objects appearing in shapes that look distorted. However, if the camera is a 360-degree camera in several use cases similar to ours, simple transformations may not be possible. Note that the calibration phase usually involves estimating the camera’s intrinsic and extrinsic parameters, which transforms each pixel into a global location using geometry operations. We also need access to a global map of the area being watched. This approach is not suitable for cameras mounted on moving objects (e.g., cars) or Pan-Tilt-Zoom cameras.Īdditionally, image size and scaling factors must be the same across all cameras and we must be able to access still images from each camera. That is, the cameras are fixed and are all watching the same geo-region. The approach outlined in this post is suitable for camera systems where cameras are observing a fixed field-of-view (FoV). Equal time and manpower must be spent on each camera, which can be excessive in some cases. No uniform or simple way to automate the process exists. Placement of checkerboards requires populated and frequently active areas to be cleared for calibration work, impractical on public roads and in other crowded spaces. The technique requires creation of custom checkerboards for each application and the checkerboards must be placed at various angles in the camera view. Specifically, the checkerboard approach is: This makes it impractical for smart cities applications like parking garages and traffic intersections that regularly employ hundreds of cameras in concert. While the checkerboard approach is a high-fidelity method for calibration, it’s both labor and resource intensive. From there, a homomorphic transformation (translation from image plane to real-world) can be used to infer global coordinates. One way to do this is to use a “checkerboard” pattern to infer the camera parameters. Global coordinates are then inferred with a simple geometric transformation from camera world to the real world. Several popular methods use a process based on inferring the intrinsic and extrinsic camera parameters. Multiple approaches exist for calibrating cameras to yield global coordinates. #X plane world traffic 3.0 how to#Let’s take a closer look at how to approach calibration for applications built using DeepStream 3.0. Solutions that require multi-camera object tracking, movement summarization, geo-fencing, and other geo-locating for business intelligence and safety can leverage the same technique. Transformations like this are critical to a variety of use cases beyond simple visualization. Technically, this is a transformation from the image plane of the camera (image of the car) to a global geo-location (latitude/longitude coordinate). The car would ideally be placed in an information grid that also projects a live bird’s eye view of the activities in the city for the operator’s use.ĭoing this means translating that camera image into latitude and longitude coordinates corresponding to the car’s location on that intersection. When the camera sees a car, the raw image of the car isn’t useful to a smart cities system on its own. One of the big issues with extracting usable data from video streams is taking an object detected by the camera and translating it into a geo-location. This approach to calibration is meant for complex, scalable environments like these, and does not require a physical presence at the site. The DeepStream SDK is often used to develop large-scale systems such as intelligent traffic monitoring and smart buildings. This post walks through the details of calibration using DeepStream SDK 3.0. Calibration is a key step in this process, in which the location of objects present in a video stream is translated into real-world geo-coordinates. DeepStream exists to make it easier for you to go from raw video data to metadata that can be analyzed for actionable insights. DeepStream SDK 3.0 is about seeing beyond pixels.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |