System and method for camera control in a surveillance system
First Claim
Patent Images
1. A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
- displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates;
displaying a map of an area, the map being characterized by geospatial coordinates;
allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location;
converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system;
determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix;
after determining the mathematical rotation, allowing the user to select at least one point in the map using the at least one input device;
converting, in a computer process, the geospatial coordinates for the selected point into Cartesian coordinates defined by the first coordinate system;
applying, in a computer process, the rotation to the Cartesian coordinates for the selected point to determine Cartesian coordinates defined by the second coordinate system;
converting, in a computer process, the Cartesian coordinates defined by the second coordinate system into pan and tilt coordinates for the selected point; and
providing orientation instructions to the at least one camera based upon the pan and tilt coordinates for the selected point.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and a system for calibrating a camera in a surveillance system. The method and system use a mathematical rotation between a first coordinate system and a second coordinate system in order to calibrate a camera with a map of an area. In some embodiments, the calibration can be used to control the camera and/or to display a view cone on the map.
64 Citations
14 Claims
-
1. A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
-
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates; displaying a map of an area, the map being characterized by geospatial coordinates; allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location; converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix; after determining the mathematical rotation, allowing the user to select at least one point in the map using the at least one input device; converting, in a computer process, the geospatial coordinates for the selected point into Cartesian coordinates defined by the first coordinate system; applying, in a computer process, the rotation to the Cartesian coordinates for the selected point to determine Cartesian coordinates defined by the second coordinate system; converting, in a computer process, the Cartesian coordinates defined by the second coordinate system into pan and tilt coordinates for the selected point; and providing orientation instructions to the at least one camera based upon the pan and tilt coordinates for the selected point. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
-
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates; displaying a map of an area, the map being characterized by geospatial coordinates; allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location; converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix; after determining the mathematical rotation, receiving coordinates from a sensor for at least one target; if the coordinates for the at least one target are not Cartesian coordinates defined by the first coordinate system, converting, in a computer process, the coordinates into Cartesian coordinates defined by the first coordinate system; applying, in a computer process, the rotation to the Cartesian coordinates defined by the first Cartesian coordinate system for the at least one target to determine Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target; converting, in a computer process, the Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target into pan and tilt coordinates; and providing orientation instructions to the at least one camera based upon the pan and tilt coordinates. - View Dependent Claims (6)
-
-
7. A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
-
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates and wherein the video feed has upper left, upper right, lower left, and lower right corners; displaying a map of an area, the map being characterized by geospatial coordinates; allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location; converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points; determining, in a computer process, effective pan and tilt angles for at least the lower left and lower right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera orientation; converting, in a computer process, the effective pan and tilt angles for at least the lower left and lower right corners of the video feed into Cartesian coordinate defined by the second coordinate system; applying, in a computer process, the rotation to the Cartesian coordinates defined by the second coordinate system to determine Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed; determining, in a computer process, a view cone using the Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed; determining, in a computer process, the view cone based upon the upper left and upper right corners of the video feed; and displaying the view cone on the map. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
-
code for creating an interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein for any of the pairs the first point and the second point correspond to the same geographic location; code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; and code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix; code for converting the geospatial coordinates for a point in the map selected by using the at least one input device into Cartesian coordinates defined by the first coordinate system after the mathematical rotation has been determined; code for applying the rotation to the Cartesian coordinates for the selected point to determine Cartesian coordinates defined by the second coordinate system; code for converting the Cartesian coordinates defined by the second coordinate system into pan and tilt coordinates for the selected point; and code for providing orientation instructions to the at least one camera based upon the pan and tilt coordinates for the selected point.
-
-
13. A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
-
code for creating an interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein for any given pair the first point and the second point correspond to the same geographic location; code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix; code for receiving coordinates from a sensor for at least one target after the mathematical rotation has been determined; code for if the coordinates for the at least one target are not Cartesian coordinates defined by the first coordinate system, said code converting the coordinates into Cartesian coordinates defined by the first coordinate system for the at least one target; code for applying the rotation to the Cartesian coordinates defined by the first Cartesian coordinate system for the at least one target to determine Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target; code for converting the Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target into pan and tilt coordinates; and code for providing orientation instructions to the at least one camera based upon the pan and tilt coordinates.
-
-
14. A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
-
code for creating a user interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein the video feed has upper left, upper right, lower left, and lower right corners, wherein for any given pair the first point and the second point corresponding to the same geographic location; code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system; code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; and code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points; code for determining effective pan and tilt angles for at least the lower left and lower right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera orientation; code for converting the effective pan and tilt angles for at least the lower left and lower right corners of the video feed into Cartesian coordinate defined by the second coordinate system; code for applying the rotation to the Cartesian coordinates defined by the second coordinate system to determine Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed; code for determining a view cone using the Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed; code for determining the view cone based upon the upper left and upper right corners of the video feed; and code for displaying the view cone on the map.
-
Specification