# Patent

## Title
Incident reporting

## Abstract

A system for reporting incidents. A receiver for receiving cellular based communication corresponding to an incident, wherein the cellular based communication comprises an image. An incident location determiner for automatically determining a location of the incident based on the image of the cellular based communication. An incident report generator for generating a report of the incident, the report including the location of the incident.

## Background
RELATED U.S. APPLICATION
This application claims priority to the provisional patent application Ser. No. 61/287,148, entitled “INCIDENT REPORTING,” with filing date Dec. 16, 2009, assigned to the assignee of the present application, and hereby incorporated by reference in its entirety.


TECHNICAL FIELD
The present technology relates to reporting of incidents as they are discovered or observed.
BACKGROUND
In the event of an emergency, one is accustomed to call an emergency reporting service. For instance, in the US, 911 can be called from any telephone to report an incident to responders. When calling from a land based telephone, it is possible to determine the address from where the call is being placed based on the phone number of the caller. However, when calling from a cellular telephone, the response center may rely on the caller to provide the location of the incident because the phone number is not tied to a particular location, as with the land based telephone. If the caller is in an unfamiliar area, it can be difficult for the emergency response center to accurately determine where help is needed.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an example image-based georeferencing system, in accordance with an embodiment.
FIG. 2 is an example block diagram of an image database management system, in accordance with an embodiment.
FIG. 3A is an example block diagram of a digital camera, in accordance with various embodiments.
FIG. 3B is an example camera/GNSS receiver alignment system, in accordance with an embodiment.
FIG. 3C is an example camera/GNSS receiver alignment system, in accordance with an embodiment.
FIG. 4A is perspective view of a terrestrial scene, according to an embodiment.
FIG. 4B is an example diagram of a camera taking an image of the terrestrial scene of FIG. 4A, according to an embodiment.
FIG. 4C is an image of the terrestrial scene of FIG. 4A, according to an embodiment.
FIG. 4D is perspective adjusted image produced from the terrestrial scene image of FIG. 4C, according to an embodiment.
FIG. 5 is an aerial image, accessed from an image database, of the terrestrial scene of FIG. 4A, according to an embodiment.
FIG. 6 is a detail view of a portion of the perspective adjusted image of FIG. 4D scaled according to information associated with the aerial image of FIG. 5, according to an embodiment.
FIG. 7 is an augmented version of the terrestrial image of FIG. 4B that has been augmented with georeferenced information, according to an embodiment.
FIG. 8 is a diagram illustrating an example of close-range photogrammetry, according to an embodiment.
FIG. 9 is a pictorial flow diagram of an example method of using an image-based georeferencing service from the perspective of a user, according to an embodiment.
FIG. 10 is a flow diagram of an example method of obtaining geolocation information according to an embodiment.
FIG. 11 is a flow diagram of an example method of obtaining a georeferenced location, according to an embodiment.
FIG. 12 is a flow diagram of an example method of providing position information, according to an embodiment.
FIG. 13 is a flow diagram of an example method of providing georeferenced information regarding a location of capture of an image, according to an embodiment.
FIG. 14 is a flow diagram of an example method of incident reporting, according to an embodiment.
FIG. 15 is a flow diagram of an example method of reporting an incident from a cellular based communication device coupled to a cellular communications network, according to an embodiment.
FIG. 16 is an example block diagram of a visual organizer, in accordance with an embodiment.
FIG. 17 is a block diagram of an example computer system with which, or upon which, various embodiments of the present invention may be implemented.



DETAILED DESCRIPTION
Embodiments of the present technology enable a way to report a variety of incidents as they are discovered or observed in a timely manner. In one embodiment, the reporting of an incident may include providing location data, visual imagery or any other data that may be useful to first responders, news media, repair crews and the like to respond appropriately.
Utility service providers routinely associate phone calls made from landlines with a particular user's address to determine the location/region of any outage or other reported damage. However when calling from a cellular phone, the automated lookup capabilities are not a reliable as with landlines because the phone is not stationary. With the present technology, location specific data that can be used to pin point the location of an incident can be provided when the incident is reported via a cellular phone device. In one embodiment, global positioning data can be used to determine the location of a caller.
In one embodiment, visual data such as an image or video clip can be provided to an incident reporting center via a cellular phone with image capturing capability from a reporting person. Images that are taken at the scene of an incident may be tagged with location information and sent to the incident reporting service. It is appreciated that any number of ways to determine location can be used with the present technology. For example, global positioning data, cellular tower data, signal triangulation, etc. can be used to determine location.
Additionally, in one embodiment, visual and/or audio data can be examined to determine location. For example, image recognition can be used to determine the location of an incident from an image sent to a response center from a reporting device. In another embodiment, voice data can be analyzed to determine the location of an incident. For example, a caller may say “there is car accident southbound highway 280 at Page Mill road” and the present invention would automatically determine the location of the incident based on the audio portion of the call.
It is appreciated that embodiments of the present technology can be useful as a public service to aid in the response to emergencies. In this way, embodiments of the present technology can be integrated with existing emergency response systems such as the 911 emergency service. The present technology can also be useful to services such as police, fire, emergency medical response, mail carriers, bus drivers, cab drivers or any other persons with access to a cell phone.
Embodiments of the present technology could be implemented in any number of ways. For example, in one embodiment, a designated button on a cell phone could be used to initiate reporting of an incident to an incident service center. For example, an existing key on the phone can be programmed to automatically speed dial an incident report center (e.g., emergency call number) when pressed by a caller. In one embodiment, a user could choose the key they want to be the incident reporting key or a designated key may be used.
When selected by the caller, the phone would automatically be connected to an incident report center. The phone would provide incident data to the report center including location information, visual and/or audio data. The incident data can be used at the reporting center to determine the location of the incident and to determine an appropriate response. Audio and/or visual data may be automatically captured and forwarded to the report center during the reporting. In one embodiment, image recognition can be used to determine the location of the incident based on recognizing a captured image from the scene. In one embodiment, a captured image is compared to a database of images to determine a match. A match is then used to determine the location of the incident.
In one embodiment, location can be narrowed down to a particular area using cell tower information. Form a proximate location based on cell tower information, the location can be further narrowed based on image recognition from the scene of the incident. It is appreciated that wireless network information (e.g., WIFI) can be used instead and/or in combination with the cell tower information to determine location information.
In one embodiment, incident reports from multiple reporters are collaborated and aggregated to further enhance the accuracy of the location information. For example, the location information from more than one reporting device can be aggregated to better determine the exact location of the incident.
In one embodiment, a determination is made that an incident has occurred information about the type or scope of the incident is reported. For example, fixed-position cameras may “know” the location and the “normal” scene, but the images can be searched for incidents such as car crashes or forest fires. In these examples the incident was not “reported” but was discovered through constant scene analysis and then reported. Such feature extraction might determine the type of incident and thus what agency to notify. As in the case of a forest fire it could go beyond location and also ascertain the size and direction of the event. Thus the present technology may be used to generate information regarding incident, type, the responding agency, prioritization, size, impact, direction, movement, lifecycle, responders located onsite, and incidence management times.
As provided above, the present technology can be used to automatically identify a location of an incident from an image. Embodiments of the present technology can be used to determine location of an incident from recognizing images at the scene of the incident from a data base of known geo-fenced images. Below is one example of a system that can be use to capture, store and use geo-fenced images.
FIG. 16 is an example visual organizer 1610, in accordance with an embodiment. As shown in FIG. 1, visual organizer 1610 receives input from sat maps 1615, road maps 1620, ag data 1625, plats and drawings 1630, geo pictures 1635, geo videos 1640, files 1645, containers 1650, alert bots 1655, weather feeds 1660, and presencing feeds 1665.
In one embodiment, visual organizer 1610 is received inputs from a variety of sources may include some, all or none of sat maps 1615, road maps 1620, ag data 1625, plats and drawings 1630, geo pictures 1635, geo videos 1640, files 1645, containers 1650, alert bots 1655, weather feeds 1660, and presencing feeds 1665. Visual organizer 1610 may then be employed to make visual imagery or any other data that may be useful to first responders, news media, repair crews and the like so that these entities may respond appropriately.
It should be appreciated that sat maps 1615 may include satellite maps or other images captured by satellites. It should be appreciated that road maps 1620 may include a variety of maps that illustrate and identify various roads, streets, interstates and other roadways. It should be appreciated that ag data 1625, plats and drawings 1630, geo pictures 1635, geo videos 1640, files 1645, containers 1650, alert bots 1655, weather feeds 1660, and presencing feeds 1665 provide visual, electronic or other data that may be relevant to the described incidents and may be compiled and used by visual organizer 1610 in reporting incidents.
FIG. 1 is an example image-based georeferencing system 100, in accordance with an embodiment. As shown in FIG. 1, image-based georeferencing system 100 includes an image database 110 and an image database management system 115. In various embodiments, system 100 is communicatively coupled with one or more of: a camera 120, a feature selection processor 125, a display computer 130, a Global Navigation Satellite System (GNSS) receiver 140, maps 150, photos 155, Geographic Information System (GIS) locations 160, new image data structure(s) 165, third party database software 170, 2D-3D modeling tools 180, the Internet 190, receiver 192, incident location determiner 194, incident report generator 196, and one touch input device 198.
Image database 110 comprises a database of georeferenced images of terrestrial scenes. The images of image database 110 include one or more features within each image that are geolocated to a coordinate system, such as a county GIS grid; World Geodetic System (WGS)-84; a latitude, longitude (and elevation); and the like. The images included in image database 110 include panoramic images; orthophotos (e.g., plan view type aerial and satellite images); facade or street view images (e.g., elevation type images); raster images; models and/or blueprints (e.g., Computer Aided Drafting/Engineering files), among others. Image database 110 also includes georeferenced data, vector data, and attributes that is/are associated with database images. The images are searchable by criteria such as image features, image attributes, camera location, and/or image location, among other search criteria.
Image database management system 115 operates to access, manage, and maintain image database 110. Image database management system 115 receives inputs, queries, and the like to image database 110, processes received/selected images, and provides output and/or access to results of queries, processed images, and the like. Part of this management includes communicating with outside resources such as map repositories (e.g., maps 150); images to be processed (e.g., photos 155); georeferenced terrestrial image repositories/services such as Google EarthTM (by Google®), Virtual EarthTM (by Microsoft®), TerraServer® (by TerraServer®), and the like (e.g., new image data structures 165); and government and commercial GIS information repositories (e.g., GIS locations 160). Georeference data points that encompass GIS locations 160 can be obtained from many sources to include: United States Geological Survey's (USGS) survey reference points and georeferenced images; selected reference points from city public works databases; and Continuously Operating Reference Stations (CORS). These CORS reference points are managed by the US Government under the National Geodetic Survey agency in the National Oceanographic and Atmospheric Administration, using GNSS receivers working with data from the GPS and GLONASS constellations.
Another part of this management includes accessing or allowing access of third party database software 170 which can assist in searching, organizing, or processing image information of image database. Yet another part of this management includes accessing or allowing access to two-dimensional and three-dimensional modeling tools 180 (e.g., software for rectifying images such as RolleiMetric MSR, software for photogrammetric multi-image evaluation such as RolleiMetric CDW, and other digital image manipulation and/or modeling software which may be available via communicative coupling to the Internet).
It is appreciated that, in various embodiments, image database management system 115 may reside at a data center or service facility run by an entity such as a company. In one such embodiment, a user remotely accesses database management system 115 or submits information and/or queries to an interface of image database management system 115. In another embodiment, image database management system 115 may be resident all or in part on a user's computer system (e.g., a personal computer, desktop computer, multi-media device, or the like), thus allowing a user to access image database 110. In one such embodiment, a user's computer system may comprise a thin-client architecture allowing access to functions of image database management system 115 and image database 110 which are maintained elsewhere, such as in a datacenter.
Feature selection processor 125 is a device and/or utility that allows a user to select or annotate a feature in a terrestrial image for which the user desires geolocation information. In one embodiment, annotating a feature in this manner, triggers system 100 to search for geolocation information to describe the annotated feature. In one embodiment, feature selection processor 125 is implemented using a display screen of a digital camera 120 to select, for example, a corner of a building in an image captured by camera 120. In one embodiment, feature selection processor 125 is implemented using a display computer 130 to select, for example, a corner of a building in an image captured by camera 120 or in an image stored in storage such as on a hard disk drive of display computer 130. In one embodiment, an image and the selected feature thereof, are communicated via communication device 135 (e.g., a wired or wireless communication device such as a wired/wireless modem/network interface and/or a cellular telephone) or via communicative coupling (similarly wired or wireless) from display computer 130 to image-based georeferencing system 100 for use in georeferencing or geolocation. It is appreciated that the communicated image may include geolocation information, provided by the user (e.g., a street address, zip code, latitude/longitude, or the like) or geolocation information that has been manually or automatically associated with the image via contemporaneous input from GNSS receiver 140 during capture of the image.
It is appreciated that, in one embodiment, geolocation information may be input automatically during capture of the image and may be stored or appended as part of the image file. Such geolocation information can include the location of camera 120 at time of image capture; date/time of image capture; the source of the geolocation information; an expected level of accuracy of the geolocation information (e.g., number of GNSS satellites in view, type of augmentation used with satellite information, and the like). This georeferenced information can come from a number of sources, including: GNSS receiver 140; Wireless Fidelity (WiFi) signals; GNSS augmentation signals (e.g. WAAS); and/or cellular towers, among others. In one embodiment, such geolocation information is included as a tag associated with the digital file of the image or included in the image file itself, such as in the header of the image file. In one embodiment, all or part of the geolocation information is included in EXIF (exchangeable image file format) location metadata tag of the digital image file of the image.
GNSS receiver 140 is a navigation system that makes use of a constellation of satellites orbiting the earth which provide signals to a receiver that estimates its position relative to the surface of the earth from those signals. Some examples of such satellite systems include the NAVSTAR Global Positioning System (GPS) deployed and maintained by the United States, the GLObal NAvigation Satellite System (GLONASS) deployed by the Soviet Union and maintained by the Russian Federation, and the GALILEO system currently being developed by the European Union (EU), and the Compass system of China. A GNSS receiver 140 may utilize signals from one or more satellite systems and may also utilize signals from other sources. It is appreciated that various enhancements to a GNSS receiver 140 may be employed to increase the positional accuracy of its position determinations. Some examples of enhancements include the Wide Area Augmentation System (WAAS), differential GPS (DGPS) and the like; and Real Time Kinematics (RTK).
It is appreciated that GNSS receivers, such as GNSS receiver 140, are utilized in a variety of applications besides their uses in surveying. As such, GNSS receivers 140 have become less inexpensive over time and fairly ubiquitous in modern society. Cameras 120, and in particular digital cameras, both still and video, are also fairly pervasive in modern society. It is appreciated that digital cameras 120 exist as stand alone devices and are also bundled into a wide variety of multimedia devices and/or mobile communication devices such as mobile telephones, computers, and personal digital assistants. Additionally, some electronic devices bundle together GNSS receivers 140 along with digital cameras 120 and/or other electronic components.
In one embodiment, receiver 192 is capable of receiving cellular based communication corresponding to an incident. In one embodiment, incident location determiner 194 is capable of automatically determining a location of the incident based on the cellular based information. In one embodiment, incident report generator 196 is capable of generating a report of the incident, the report including the location of the incident. The communication may include global positioning data and the incident location determiner is configured to determine the location of the incident from the global positioning data. The communication may include an image and the incident location determiner is configured to determine the location of the incident from the image. The communication may include a text message and the incident location determiner is configured to determine the location of the incident from the text message. The communication may include voice data and the incident location determiner is configured to determine the location of the incident from the voice data.
In one embodiment, one touch input device 198 is capable of automatically calling an incident reporting service coupled to a cellular communications network when selected. In one embodiment, one touch input device 198 is further configured to provide incident reporting data to the incident reporting service.
Image Database Management System
FIG. 2 is an example block diagram of an image database management system 115, in accordance with an embodiment. As depicted, image database management system includes one or more of: image receiver/selector 205, image identification processor 210, reference feature determiner 215, feature locator 220, location of capture determiner 225, output engine 230, registration comparer 235, registration updater 240, coordinate system transformer 245, photogrammetry software 250, image rectifier 255, and augmenter 260. These components may be implemented in one or more of hardware, hardware and firmware, and hardware and software. As depicted in FIG. 1, image database management system 115 is, in one embodiment, a part of image database 110. In other embodiments image database management system 115 is a separate entity from image database 110 and is communicatively coupled with image database 110.
Image receiver/selector 205 operates to receive an image for processing/use in georeferencing (when sent from a remote user) or to allow a local user of image database management system 115 to select an image for processing/use in georeferencing, such as from photos 155 or another storage location. It is appreciated that the received/selected image is a digital file, which can include an image file captured by a digital camera or a digital scan of an analog (i.e., film-based) image.
Image identification processor 210, in one embodiment, operates to identify an image from image database 110 that correlates to the received/selected image being processed for georeferencing. Image identification processor 210 can identify the image from image database 110 based on location information, feature matching/image recognition, or other search criteria. For example, the identified image from image database 110 is, in one embodiment, an aerial image that encompasses or corresponds to a geolocation tagged in an image file of the received/selected image. In an embodiment where the received/selected image includes a user annotated point for which georeferenced information is desired, image identification processor 210 identifies an image that contains the annotated point from image database 110. In one embodiment, the annotated point is annotated (such as by circling, tagging, or the like) by the user via feature selection processor 125. It is appreciated that image identification processor 210 may be implemented as hardware, or a combination of hardware and firmware, or a combination of hardware and software such as an image recognition algorithm.
Reference feature determiner 215, in one embodiment, operates to determine a reference feature common to both the received/selected image and the image identified from image database 110. It is appreciated that a plurality of common reference features may also be determined. Pattern matching, corner detection, and other automated image correlating or matching techniques may be used to perform automated matches of reference features such as, for example, a building corner, that is common to both images. Alternatively, this matching can be done by the user, in one embodiment. In one embodiment, the reference feature is a feature that includes location data that is associated with the image identified from image database 110. Thus, for example, a matched building corner may be a surveyed, georeferenced location in the identified image from image database 110.
In an embodiment, where the reference feature is not already georeferenced in the identified image, feature locator 220 accesses a GIS to identify and obtain geographic location information related to the common reference feature. For example, this can be accomplished by accessing a surveyed map, a county or city GIS database, aerial database, a blueprint of a building, or the like. As the reference feature(s) is/are georeferenced, they serve as reference points for feature locator 220 to use in locating additional features in a field of view of the received/selected image. As will be described herein, the additional features in the received/selected image can be located by feature locator 220 via means such as interpolation, scaling, photogrammetry, triangulation and the like. In one embodiment a user-annotated point of interest/object of interest/feature of interest is located in this manner. It is appreciated that via augmenter 260, the location point of a located feature can then be annotated on the received/selected image or otherwise augmented/associated with an annotated point in the received/selected image.
In one embodiment, feature locator 220 employs an accuracy validator 221 to check for and validate a level of accuracy associated with geographic location information accessed by feature locator 220. This provides a check of the inherent accuracy of the georeferenced position fix that feature locator 220 has retrieved for a determined reference feature. Accuracy validation can include validating the presence of vertical information in the georeferenced position fix. Such vertical information is referred to herein as Z-coordinate information.
In one embodiment, accuracy validation is accomplished to validate whether or not the accuracy of the positioning associated with the received/selected image may already be higher than the accuracy of georeferenced information that is otherwise obtainable from image database 110 or data sources communicatively coupled thereto. In one embodiment, accuracy validator 221 looks for an accuracy metric associated with the surveyed map, a county or city GIS database, aerial database, a blueprint of a building, or the like from which feature locator 220 retrieved the georeferenced position fix. If an accuracy metric is found, in one embodiment accuracy validator 221 notes the accuracy metric in a file associated with the selected/received image. In one embodiment, in absence of a metric, accuracy validator 221 attributes a validated accuracy to a georeferenced position fix based upon a known source of the position fix.
In one embodiment, for example, accuracy validator 221 validates a GPS RTK sourced position fix to have an accuracy of better than 5 cm, as GPS RTK measurements are typically accurate to 0.1-5 cm; validates a PPP (precise point positioning) sourced position fix to have an accuracy in the 5-10 cm range; validates a High-Precision GIS sourced position fix to have an accuracy in the 10-30 cm range; validates a Differentially Corrected GPS sourced position fix to have an accuracy in the 30 cm to 4 m range; and validates an uncorrected GPS-sourced position fix to have an accuracy in the 4-7 m range.
In one embodiment, accuracy validation is accomplished to ensure that enough georeferenced information of accurate enough character is available for performing georeferencing of other points. For example, in one embodiment, if no Z-coordinate information is available from image database 110, this may trigger feature locator 220 to cause output engine 230 to send a real-time request to the supplier of a received image. In one embodiment, such a real-time message advises the image supplier to capture and supply another image from a different location of capture (for use in triangulation) or else to supply any available Z-coordinate information related to the received image or the location of capture of the received image. If this real-time message is received in a timely fashion, it can save an image supplier another trip to the field for additional data collection. In one embodiment, the absence or presence of information related to any validated accuracy of vertical, Z-coordinate information is provided to Z-coordinate accuracy estimator 239. This can be the absence or presence of vertical, Z-coordinate information related to the received/selected image. This can also be the absence or presence of vertical, Z-coordinate information related to a reference feature. This can also be the absence or presence of Z-coordinate information related to an image from image database 110.
Location of capture determiner 225, in one embodiment, operates to determine or refine a location of capture of the received/selected image. For example, by using geographic location information related to a common feature(s) between the identified image and the received/selected image is used to determine a georeferenced location of capture of the received/selected image. This is accomplished, in one embodiment, through triangulation. For example, in one embodiment, a previously unknown point in or relative to the selected/received image (e.g., the location of capture) can be triangulated from at least three non-collinear geolocated points from at least three respective reference features identified in the received/selected image.
In another embodiment, when a GNSS receiver 140 is utilized in conjunction with the capture of a received/selected image, the GNSS receiver denotes the location of capture of a received/selected image. In such an embodiment, location of capture determiner 225 uses a GNSS position relative to a camera 120 used for capturing the received/selected image to determine a location of capture of the received/selected image. The GNSS position relative to camera 120 can be utilized alone to determine the location of capture of the received/selected image. The GNSS position relative to camera 120 can also be used in conjunction with other more accurate georeferenced information (e.g., accessed from image database 110) to further refine the GNSS determined location of capture of the received/selected image.
In yet another embodiment, a camera 120 that is used to capture the received image is positioned such that its image plane is along the gravity vector above a surveyed mark and georeferenced information regarding the surveyed mark and height of camera above the surveyed mark are included with the selected/received image. Location of capture determiner 225 can use this georeferenced information alone to determine the location of capture of the received/selected image, or can use this georeferenced information in conjunction with other more accurate georeferenced information (e.g., accessed from image database 110) to further refine the survey determined location of capture of the received/selected image. In one embodiment, accuracy validator 221 determines the accuracy of georeferenced information, such as location of capture, that is supplied with a received/selected image to determine whether more accurate geolocation information exists that can be used to further refine the supplied location of capture.
Output engine 230, in one embodiment, provides georeferenced information derived and identified from the received/selected image as an output accessible by a user of system 100. Among other output actions, this can include electronically transmitting an augmented georeferenced version of the received/selected image back to the user, or to a location specified by the user (e.g., display computer 130), storing the georeferenced version of the received/selected image in image database 110 for future use by system 100, and/or allowing user access to a stored copy of the georeferenced image received/selected image. Through these and other mechanisms, output engine 230 pushes information to a user or to user selected location or makes such information available for user pull (such as download).
Registration comparer 235, in one embodiment, compares georeferenced registration information that is received in conjunction with a received/selected image to existing georeferenced registration information that is associated with an identified image to determine which is more accurate. In one embodiment, the level of accuracy is determined based upon comparing accuracy of sources used for determining the georeferenced information of the images being compared.
In one embodiment, registration comparer 235 includes a provenance checker 237 to determine a provenance of accuracy for a georeferenced position fix. The provenance of accuracy includes information such as the source of the georeferenced position fix and the level of accuracy associated with the source. Some examples of sources for a georeferenced position fix include, but are not limited to: GPS alone, GPS supplemented with WAAS, differential GPS, GPS-RTK, Google EarthTM, TerraView; or surveyed coordinates. Provenance checker 237 can ascertain the source of a position fix from metadata, when available, that is associated with an image or a position fix. Similarly, accuracy information associated with the position fix source may also be included with the metadata associated with an image or a position fix (e.g., how many GPS satellites were in view and being used when a position fix was taken, expected centimeters of accuracy of a position fix, whether/what type of enhancement/augmentation was utilized with GNSS signals, and the like).
When accuracy data is not included with a position fix or an image, and/or cannot be determined by provenance checker 237, then registration comparer 235, in one embodiment, determines accuracy of a position fix through use of a lookup-type table or list that assigns default accuracies to position fix sources and/or establishes a hierarchy of accuracy from best to least for different types of position fix sources. Consider, as an example, a hierarchy of sources that specifies that GPS-RTK source information has a more accurate registration than Google EarthTM source information. In one embodiment, for example, a received image has registration information and position fixes that were determined using GPS-RTK. In a present day implementation, an image with such registration information and position fixes will be determined to be more accurate than an identified image that derived its registration information from Google EarthTM, as GPS-RTK presently has more accurate position fixing than Google EarthTM, which is sometimes off in registration by up to several meters. A hierarchical ranking or attributed accuracy may be altered over time. For example, as registration accuracy of Google EarthTM improves or degrades, its ranking in a hierarchy can be increased and decreased relative to other types of position fix sources, as is appropriate.
In one embodiment, registration comparer 235 includes a Z-coordinate accuracy estimator 239 to determine the accuracy of a vertical, Z-coordinate of a position fix associated with a point or reference feature in an image. It is appreciated that some images, such as aerial images, may not have any Z-coordinate or height associated with points, and thus do not have any Z-accuracy metric. A comparison of estimated Z-accuracies of like features in a pair of images can be used to determine which has better accuracy and which should be used for registration information in image database 110. It is appreciated that Z-coordinate accuracy estimator 239, in various embodiments, operates in conjunction with feature locator 220, accuracy validator 221, and/or location of capture determiner 225 to collect Z-coordinate information and accuracy information related thereto. In various embodiments, this can comprise z-coordinate accuracy estimator 239 collecting such information for a received/selected image or for a georeferenced position fix information accessed from image database 110 or a resource communicatively coupled thereto.
In one embodiment, for example, a candidate image is selected by or received by image selector/receiver 205. After image identification processor 210 identifies a second image that matches or correlates to the candidate image, and after reference feature determiner 215 determines objects/buildings and/or other reference feature(s) common to the candidate and identified image, feature locator 220 locates and retrieves geographic location information related to the common reference feature (e.g., a building corner). Registration comparer 235 looks for a position fix, like a latitude and longitude (and elevation), either in the aerial view, or elsewhere. In many cases, such a position fix has already been located by feature locator 220 and the accuracy of this position fix has already been vetted by accuracy validator 221.
Registration comparer 235 then compares a camera/GNSS location of capture accuracy (assuming availability) with the accuracy of a triangulated location of capture that has been determined by triangulating at least three non-collinear points accessed from image database 110, or a resource communicatively coupled thereto. Registration comparer 235 decides if the camera/GNSS position fix for the location of capture is more or less accurate than the triangulated fix. If so, registration updater 240 is employed to update any position fixes in the received/selected image by shifting the less accurate coordinates by a value that compensates for the difference between the less accurate and more accurate position. Registration updater 240 next checks to see if there are any other points in the field of view of the received/selected image that have better accuracy of position fix than the accuracy available for like points via access of image database 110 or resources communicatively coupled thereto. When a comparison determines that greater accuracy is available for a position fix of a point, information in image database 110 is updated by registration updater 240 in a similar manner by shifting the less accurate coordinates by a value that compensates for the difference between the less accurate and more accurate position.
When more than one new point is obtained during the course of gathering data with a camera and another method with defined accuracy judged or determined better than what is available from the image-based georeferenced data, an alternate adjustment can be made to the data in the database by registration comparer 235. The general approach to making such an adjustment is often done via the method of least squares. With multiple new control data points, the method is referred to as ‘multiple regression least squares.’ These techniques are well-known in the optimization arts. By one or more of these techniques, the adjustment to the original data points is made via a curve fitting process whereby the error differences between the new high accuracy data points and the points under adjustment are minimized, over the ensemble of all adjusted points. Weighting of the reference data points can enhance the value of the contribution of higher-accuracy newly-found points. Registration updater 240 (described below), then updates image database 110 with the adjusted data.
Registration updater 240, in one embodiment, updates existing geo-registration information with georeferenced registration information from a received/selected image if registration comparer 235 has determined that the geo-registration information for the received/selected image is more accurate than the geo-registration information for identified image. In one embodiment, when a GNSS/camera location of capture includes a Z-coordinate, when none is otherwise available, this Z-coordinate can be promulgated to other X-Y only position fixes by scaling, close range photogrammetry, or other methods described herein. In this manner, Z-coordinate information can be added to X-Y coordinate information for a feature (e.g., a building corner) available from an aerial view (e.g., an image from Google EarthTM). It is also appreciated that if a more accurate Z-coordinate is available from a received/selected image, existing Z-coordinates from image database 110 can be adjusted to reflect improved Z-accuracy. In these manners, georeferenced content of image database 110 is refined when more accurate registration information becomes available.
Coordinate system transformer 245 operates, in one embodiment, to transform GIS information related to one or more common reference features or identified features into a desired coordinate system. This can be a local coordinate system, a coordinate system specified by a user, or a widely used coordinate system such as a global navigation satellite system coordinate system (e.g., WGS-84, North American Datum 1984, or the like). Techniques for transforming coordinates from one coordinate system to another are well-known in the art.
Photogrammetry software 250, in one embodiment, comprises resident software in image database management system 115 or software accessible by image database management system 115. Photogrammetry software is used, in one embodiment, for camera calibration (i.e., precise determination of focal length, field of view, image principal point, optical axis, as well as the ability to correct for optical distortions) of a camera 120 used in capturing a received/selected image. In other embodiments, photogrammetry software is used to adjust image perspective (i.e., to rectify an image) and/or to assist in geolocating items in the fields of view of at least two images. Several photogrammetry software suites are available commercially, e.g., PhotoModeler, iWitness, Topcon's ImageMaster, RolleiMetric's CDW and CDW Graphics and may, by way of example and not of limitation, be utilized as photogrammetry software 250.
Image rectifier 255 “rectifies” or adjusts the perspective of non-perpendicular images to provide precise vertical and horizontal reference features. Image rectifier 255 has the ability to rectify a flat, or nearly flat, region in the image, for example a building façade. This rectification is typically performed by rotating the image content about a vertical axis until lines such as the top edges of buildings, doors, and windows, become perpendicular to the vertical axis in the portion of the image of interest, such as a vertical building edge. It is appreciated that techniques for such rectification are well known in the fields of digital image manipulation. Photorectification can be done for horizontal surfaces, such as a street, by the same methods. In accordance with embodiments of the present invention, image rectification can be executed so that the vertical and horizontal scales are the same such that features in a rectified imaged can be geolocated by scaling from known distances between common points that are supplied from a georeferenced image identified from image database 110.
Augmenter 260 augments location information on or in association with the received/selected image. This location information can include geographic location information regarding common reference information between the received/selected image and the identified image. In this manner a georeferenced image is created from the received/selected image. The annotated georeferenced image, annotated metadata tags, or associated annotation file can then be stored in image database 110 or other storage, and/or output to a user or provided for user access. In an embodiment where augmenter 260 marks up the received/selected image, annotation marks are indicative of identified reference points and other identified features. The annotation marks, when made, may comprise information such as coordinates of a coordinate system being placed in or associated with points in the georeferenced image. It is appreciated that the annotations may be made in a coordinate system that to which the identified image is georeferenced. Likewise, the annotations may be made in another coordinate system (such as a coordinate system requested by a user) by using coordinate system transformer 245 to transform coordinates to a desired coordinate system prior to making annotations.
FIG. 3A is an example block diagram of a digital camera 120, in accordance with various embodiments. As illustrated in FIG. 3A, in one embodiment, a stand alone camera 120A includes components 302 for image capture (e.g., a lens and image sensor), storage 304 (e.g., random access memory); processor and read only memory 306; image viewer 308 (e.g., a liquid crystal display); and external input 312 (e.g., a serial or other bus). As illustrated, in one embodiment a position determination component 140A (e.g., a GNSS receiver/antenna) is coupled to the camera external input 312 of a stand alone camera 120A and/or multimedia device 120B, provided as an integrated component of a stand alone camera 120A, and/or integrated along with the camera in a multimedia device 120B. In one embodiment, an image editor 310 and a communication device 135A (e.g. a wired/wireless modem or network interface) is/are built in to a multimedia device 120B that includes a digital camera. An example of a camera included in a multimedia device 120B includes a cellular phone or personal digital assistant that includes a digital camera. In one embodiment, external image editing/annotating 316 is available, such as on display computer 130 which is communicatively coupled with camera 120A/120B via a wired or wireless communication device 135B.
For high geolocation accuracy, a suggested camera is an advanced amateur system with high resolution with 6 to 24 or more megapixels, preferably with fixed focus. The camera/lens system should be mechanically rigid under reasonable environmental conditions and handling conditions. In one embodiment, the camera will have a port to receive precise GPS location information and record this in EXIF registers, but this is not required. Specialized higher-end, more accurate cameras than these can be used, or a very simple portable digital camera such as a cellular phone camera will be useful as well.
FIG. 3B is an example camera/GNSS receiver alignment system 375, in accordance with an embodiment. Alignment system 375 comprises a digital camera 120 with a lens/imaging sensor 302. A GNSS receiver 140 includes an antenna 315. Both are coupled to camera 120 via a support pole 320. The offset 325 of support pole 320 is known and is figured into calculation of the location of camera 120. Axis 321 goes thru the entrance aperture point of lens/imaging sensor 302, parallel to the image plane of camera 120. The rotational axis 323 of support pole 320 is aligned with the centerline of the phase center 322 of antenna 315 of GNSS receiver 140. It is appreciated that axis 321, associated with the entrance aperture (the point where all the light rays cross) of camera 120, is adjusted so that it is aligned with the rotational axis 323 of pole 320 and with phase center 322 of antenna 315. In one embodiment, an additional mounting pole 330 may also be coupled to camera 120 to steady camera 120 above a surface, such as the ground, while capturing images. As illustrated, the rotational axis 327 of mounting pole 330 is also aligned with axis 321, axis 323, and phase center 322. It is appreciated that location information, such as position fixes, captured by GNSS receiver 140 contemporaneously with the capture of images by camera 120 may be stored in/with the image files of the images, such as in an EXIF metadata tag. It is also appreciated that location information captured from GNSS receiver 140 contemporaneously with the capture of images by camera 120 may be additionally or alternatively be communicatively coupled to another location, such as a GIS/survey data collector 350 and stored therein.
FIG. 3C is an example of environment 380, in accordance with an embodiment. FIG. 3C comprises device 382, image capture device 384, object 386 and location stamped image 388. In one embodiment, device 382 is a mobile user device such as a smart phone and image capture device 384 is a camera. For example, device 382 and image capture device 384 may be an iPhoneTM. Device 382 and image capture device 384 are capable of captures data regarding a object such that the data is location stamped. For example, image capture device 384 may capture a photograph of object 386, the data captured in the photograph may be combined with location data received from a position locating device with is part of device 382. The location data and photographic data combine to form location stamped image 388. In one embodiment, location stamped image may be used in incident reporting systems and methods.
FIG. 4A is perspective view 400 of a terrestrial scene, according to an embodiment. Perspective view 400 includes a building 410, a building 420 and several points of interest (1-8) that have been annotated for purpose of example. Camera location 409 denoted a location of camera 120 at the time of capture of image 405 (FIG. 4B, 4C).
FIG. 4B is an example diagram of a camera 120 taking an image 405 of the terrestrial scene of FIG. 4A, according to an embodiment. For purpose of example, points of interest 1-8 are noted as being captured on the image plane 404. The internal workings of camera 120 are illustrated, including camera entrance pupil/lens 402, focal length 403, and image plane 404. It is appreciated that these internal workings can be calibrated via photogrammetry software 250 to correct for some optical distortions of image 405. In one embodiment, image 405 is provided by a user to system 100 for georeferencing. Then, known photogrammetry techniques can be used to determine the angles from the camera to the reference points as in FIG. 4B, and with this information, a user may locate the position of the entrance pupil of the imager/camera.
FIG. 4C represents an image 405 of the terrestrial scene of FIG. 4A that has been captured by camera 120, according to an embodiment. Again, for purposes of example, points 1-8 are annotated. It is appreciated that one or more of points of interest can be user-annotated. For example, in one embodiment, a user may utilize feature selection processor 125 to annotate one or more points, such as point 6, for which georeferencing information is desired. Likewise, some of these points may be automatically annotated or selected for georeferencing by corner/edge sensing software of feature selection processor 125, reference feature determiner 215, and/or photogrammetry software 250. It is appreciated that in one embodiment, geographic location information regarding camera location 409 is accessed by camera 120 from a GNSS receiver 140 and automatically tagged into the metadata of the image file of image 405. In another embodiment, a user may manually provide similar information by manually tagging image 405 with location information such as the street address of building 410, or known survey point.
FIG. 4D is perspective-adjusted image 405′ produced from the terrestrial scene image 405 of FIG. 4C, according to an embodiment. In one embodiment, this perspective adjustment is accomplished in image database management system 115 by image rectifier 255 rectifying image 405. This perspective-adjusted portion of image 405′ facilitates scaling and distance interpolation from a georeferenced aerial (plan view) image that includes common features to those of image 405.
FIG. 5 is an aerial image 505 of the terrestrial scene of FIG. 4A, according to an embodiment. In one embodiment, image 505 comprises an image that has been identified by image identification processor 210 from an image database 110 by searching on the location information tagged onto the image file of image 405. It is appreciated that in one embodiment, aerial image 505 may come from or be sourced from a public, private, or government image database (e.g., Google EarthTM; Digital Globe; GeoEye; USGS; NGS; a private or public GIS database; or the like) or from image database 110. After being sourced from whatever location, aerial image 505 is maintained in image database 110 for access by image database management system 115. After inclusion in image database 110, georeferenced content of an image, such as image 505, may be updated as additional or more accurate georeferencing data related to the image becomes available.
Typically satellite type aerial imagery is georeferenced with coordinates such as latitude and longitude for at least top left and bottom right pixels in an image. In some instances every identifiable feature in a satellite type aerial image, and possibly every pixel in an image pixel, may be georeferenced. However, georeferencing type and accuracy varies by source. For example an engineering plan drawing or geographic information science drawing/map may georeference only selected surveyed building corners or prominent monuments. Sources of more accurate data than what is available from aerial photography will enable the collected data in the image-based database to better serve the needs of prospective users. For convenience of illustration, points 1-8 are annotated in image 505 and may be considered to be geofeferenced. For purposes of example, it can be assumed that points 1 and 3 are georeferenced, such as by latitude, longitude, and elevation within image 505. Reference feature determiner 215, in one embodiment, notes the overlap of points 1 and 3 between image 405 and image 505 and uses these as common reference points shared between the images. It is appreciated that, in some embodiments, one or more of the functions of reference feature determiner 215 may also be performed by a user or operator. Between these common points, feature locator 220 determines the length of span L1 in image 505 from the georeferenced information (e.g., latitude and longitude) associated with points 1 and 3 in image 505. In one embodiment, feature locator 220 accesses a GIS database, based upon the location information provided with image 405, and discovers surveyed GIS information associated with point 7 (the base of a fire hydrant) and point 8 (the base of a stop light).
In an embodiment where an aerial image with only latitude/longitude georeferencing (and no elevation) can be found, a two-level approach can be utilized. First, the generally available georeferenced aerial imagery is used. This gives a mechanism for determining approximate camera location, during time of image capture, in two dimensions. If image database 110 or another source contains two or more surveyed control points in that fall in the field of view of the selected/received image (e.g., points 1 and 3), then they can be used in accordance with techniques of survey and photogrammetric science (a) to increase the accuracy of the camera location and (b) to enable elevation calculation. Additionally, other façade or elevation views that correlate to the selected/received image can be searched for in order to further refine georeferenced information related to the selected/received image and/or to provide elevation information related to the selected/received image.
FIG. 6 is a detail view 605 of a portion of the perspective adjusted image 405′ of FIG. 4D. Detail view 605 is scaled according to information associated with the aerial image 505 of FIG. 5, according to an embodiment. As shown, known length L1 is scaled as L1′ between points 1 and 3 which were determined as common reference points between image 505 and image 405. Various points of interest, such as the relative (delta) x-axis coordinates of points 2 and 6 can be scaled from distance L1′. These distances are shown as X1 through X8. Following the same scale as L1′ a measuring stick in the z-axis is created to measure various scaled distances, such as measuring relative (delta) z-axis coordinates from point 3 to the delta z-axis coordinates of points 1, 6 and other locations in between. These z-axis distances are shown as Z1 through Z4, relative to a Z-coordinate of point 3, where: Z1 is a height of point 1; Z2 is a height of the upper corner of a window; Z3 is the height of the lower corner of the window; and Z4 is a height of point 6. In one embodiment, feature locator 220 automatically accomplishes such scaling in conjunction with image 405′, to determine coordinate information for points 2, 4, 5, and 6.
In one embodiment, when a Z-coordinate such as for point 3 is known, scaling can be used as previously described. Alternatively, when such a Z-coordinate is not available from any database, or its accuracy is insufficient, a Z-coordinate for scaling can be obtained if a GNSS receiver with desired accuracy is available for use with the camera which captures an image such as image 405. For example, if GNSS receiver 140 is associated with camera 120, and a height measurement of camera 120 is appended to the X and Y coordinate measurements for camera location 409, then this height measurement can serve as the “control point” or anchor for determining additional vertical dimensions. With reference to perspective view 400 of FIG. 4A, this can be accomplished by leveling camera 120 so vertical axis 321 in camera 120 is parallel to the gravity vector. This makes the orientation (see FIG. 4B) of image plane 404 of camera 120 “vertical.” With respect to the line between points 3 and 6, this line is aligned, or substantially aligned with the gravity vector as well, thus allowing it to be used for scaling vertical dimensions.
Following this example, a picture is then taken with camera 120 and the z-coordinate height of camera location 409 is associated with a location on the line between points 3 and 6 that is horizontal to this line and directly (horizontally) in line with the GNSS adjusted height associated with the center of the image plane of camera 120. Next, in some embodiments, image rectification is performed via the rotation method whereby the image is rotated about the axis defined by the line from point 3 to point 6 until the top and bottom front edges of building 410 are perpendicular to the line between points 3 and 6 (as illustrated in FIG. 6). Now, a horizontally determined scale factor L2′, scaled with respect to L1′, may be used for vertical measurements as well. For example, when scaling, start with point 6 (ground level) and measure how high point 3 is above point 6. This measurement is point 3's altitude, or height, which was not previously known. This can be added to image database 110. Scaling then proceeds downward from the horizontal optical axis intersection on the vertical line between point 3 and 6, to find what ground level is, relative to the predetermined vertical height of the optical axis as measured by GNSS receiver 140. This is found by associating the scaled distances to the Z-coordinate height of camera position 409 as determined on the line between points 3 and 6. It is appreciated that similar Z-coordinate determination can be determined without a GNSS receiver, if camera 120 is positioned at a measured height above a surveyed point at camera location 409 when an image, such as image 405, is captured.
In one embodiment, image rectification need not be performed if the points of interest for which Z-dimensions are begin determined are located along a selected vertical edge of an object that is already substantially in line with the gravity vector. By substantially, what is meant is that the vertical edge is within a few degrees of matching the line of the gravity vector. Such a vertical line will have the same scale, or substantially the same scale, for vertical distance as the horizontal scale. An example is the vertical edge between points 4 and 5, or 3 and 6, in FIG. 4D or FIG. 7. Typically only minimal scaling error will be experienced if a vertical edge is only substantially in line with the gravity vector, rather than perfectly in-line. Such minimal error may be acceptable in many circumstances.
It should also be appreciated that where the horizontal and vertical axes of an image have the same scale, image pixels in a captured image can also be used for scaling. For example, in one embodiment when the image pixels have known dimensions and a distance between reference points on a horizontal axis in a selected/received image is known, horizontal and vertical measurements in the selected/received image can be scaled or interpolated from a known geolocated point in the image-based on known pixel dimensions of the selected/received image. Additionally, by counting pixels between known locations in an image and knowing the angular displacement of pixels in an image plane, accurate scaling can be approximated by working from an image of sufficient resolution (e.g. in the range of 8 mega pixels or higher). For example, one or more dimensions of a pixel or plurality of pixels can be established or estimated relative to a known width, length, height, or distance between known geolocated points in an image. Such determined pixel dimensions can then used for scaling (by counting pixels) from a known geolocated point in the image in order to determine locations of other points in the image.
Techniques of close range photogrammetry are well known in the art and can be used for finding dimensions of items in a selected/received image from reference or control points. As but one example, a book called Close Range Photogrammetry, by T. Luhmann, S. Robson, S. Kyle and I. Harley (Whittles Publishing, 2006; ISBN 0-470-10633-6), describes numerous techniques of close-range photogrammetry in great detail. System 100 facilitates finding the reference points related to a selected/received image such that these close-range photogrammetry techniques and other techniques can be utilized for geolocating points of interest within the selected/received image.
FIG. 7 shows image 705, which is an augmented version of the terrestrial image 405 of FIG. 4C. Image 705 has been annotated with georeferenced information at points 1-8, according to an embodiment. In one embodiment, augmenter 260 accomplishes this annotation which comprises annotating or otherwise associating augmented coordinate information with one or more reference points or features of interest within image 405 to create annotated image 705. As shown in annotated image 705, x, y, and z coordinates for points 1-8 have been annotated on image 705. For purposes of example, the annotated coordinates have been represented in the form “x,y,z_point#” in image 705. However, it is appreciated that such annotations would typically be specified in the form of a coordinate system, such as latitude, longitude, and elevation.
FIG. 8 is a diagram illustrating an example of close-range photogrammetry, according to an embodiment. For purposes of clarity of illustration, the example of FIG. 8 describes close-range photogrammetry techniques in two dimensions. However, it is appreciated that photogrammetry systems normally work with three dimensions. In FIG. 8, an object of interest 850 is shown and has been imaged by a single camera 120 from two different image locations. Of the labeled points A, B, C, and D on object of interest 850, three (A, B, and C) are imaged in image 1 taken on image plane 820-1 at camera position 1 and also in image 2 taken on image plane 820-2 at camera position 2. At camera position 1, camera 120 had a focal length 810-1, while at camera position 2, camera 120 had a focal length of 810-2. It is appreciated that these focal lengths would typically be the same for the same camera 120 absent adjustment of a zoom or other alteration of the lens of camera 120. However, they can be different, especially in a situation where different cameras are used. Such a situation can occur, for example, in an embodiment where one of the images is taken by a user and the other is matched to that image and retrieved from image database 110. In one such example, image 1 is taken by a user and submitted to image-based georeferencing system 100, which then uses image 1 to retrieve image 2 from image database 110. It is appreciated that since image 2 exists in image database 110, it will typically have geolocation information associated with one or more points or features in image 2. In one embodiment, for example image 2 has geolocation information in the form of surveyed coordinates associated with points A, B, and C and camera position 2.
As depicted in FIG. 8, a baseline B exists between camera position 1 and camera position 2. In an embodiment where the location of camera positions 1 and 2 are unknowns, a georeferenced aerial image of object of interest 850 can be identified from image database 110, such as by searching for a match based on a general vicinity (e.g., the town) in which object of interest 850 is known to be located. If enough points are common (e.g. A, B, and C or other common points to both images) and georeferenced in the identified image, the locations of camera position 1 and camera position 2 can then be determined via triangulation techniques baseline B can then be inferred from the calculated locations of camera position 1 and camera position 2. Then, by following close-range photogrammetry techniques, distances to any feature visible in both image 1 and image 2 can be determined from camera position 1 or camera position 2.
Additionally, it is appreciated that in many embodiments, baseline B will be known or easily determined. For example, in a case where camera 120 includes GNSS receiver 140 (as illustrated in FIG. 3B) and a user captures image 1 and image 2, baseline B is easily determined from GNSS information captured in conjunction with image 1 and image 2. Likewise, in a situation where a user a user captures only one of image 1 or image 2, GNSS information captured in conjunction with the user captured image can be used in conjunction with geolocation information associated with the other of the two images (which is identified and retrieved from image database 110) in order to determine baseline B. It is appreciated that coordinate system transformer 245 may be employed to transform coordinates of image 1 and image 2 into a common coordinate system. At any rate, once baseline B is determined, close-range photogrammetry techniques can be used to determine geolocations of features common to both image 1 and image 2. For example, in a situation where baseline B is known and camera position 1 and camera position 2 are known, close-range photogrammetry techniques can be used to geolocate points A, B, and C and other points common to both image 1 and image 2.
Alternatively, in one embodiment, if the exact locations of the camera at points A and B are not known via accurate position determination techniques, then the camera location can be determined by triangulation techniques as previously described and shown in FIG. 4B, based on obtaining or deriving a series of reference points from the database.
Such a photogrammetry technique may yield information useful for a tourist or other amateur user, for example, who simply snaps one or two pictures of a building with a camera phone, uploads the images to system 100, and receives in return locations at which each of the images were captured and location information about object of interest 850. This photogrammetry technique also yields information of use to surveyors, geospatial and GIS professionals, who can simply take pictures of an area or object of interest, upload them to system 100 and receive information in return which will establish the locations of camera position 1 and/or camera position 2 and/or also allow the determination of the coordinates of any item visible in the field of both image 1 and image 2, without the use of specialized survey instruments or even a GNSS receiver.
Example Methods of Operation
The following discussion sets forth in detail the operation of some example methods of operation of embodiments. FIG. 9 represents a sequence of images which have been processed according to embodiments previously cited. With reference to FIGS. 10 through 16, flow diagrams 1000, 1100, 1200, 1300, 1400, 1500, and 1600 illustrate example procedures used by various embodiments. Flow diagrams 1000, 1100, 1200, 1300, 1400, 1500, and 1600 include some procedures that, in various embodiments, are carried out by a processor under the control of computer-readable and computer-executable instructions. In this fashion, one or more of flow diagrams 1000, 1100, 1200, 1300, 1400, 1500, and 1600 are implemented using a computer, in various embodiments. The computer-readable and computer-executable instructions can reside in any tangible computer readable storage media, such as, for example, in data storage features such as computer usable volatile memory 1708, computer usable non-volatile memory 1711, peripheral computer-readable storage media 1702, and/or data storage unit 1712 (all of FIG. 17). The computer-readable and computer-executable instructions, which reside on tangible computer readable storage media, are used to control or operate in conjunction with, for example, one or some combination of processors 1706A, 1706B, and 1706C of FIG. 17, or other similar processor(s). Although specific procedures are disclosed in flow diagrams 900, 1000, 1100, 1200, 1300, 1400, 1500, and 1600, such procedures are examples. That is, embodiments are well suited to performing various other procedures or variations of the procedures recited in flow diagrams 1000, 1100, 1200, 1300, 1400, 1500, and 1600. Likewise, in some embodiments, the procedures in flow diagrams 1000, 1100, 1200, 1300, 1400, 1500, and 1600 may be performed in an order different than presented and/or not all of the procedures described in one or more of these flow diagrams may be performed.
Example User Perspective of Using an Image-based Georeferencing Service
Although much has been discussed relative to the functioning of image-based georeferencing system 100, it is appreciated that a user of image-based georeferencing system should typically not be concerned with the details of this functioning. Instead, from a user's perspective, an image is submitted and georeferenced results are received in return.
FIG. 9 is a pictorial flow diagram 900 of an example method of using an image-based georeferencing service from the perspective of a user, according to an embodiment.
At 910 of diagram 900, in one embodiment, an image is captured. This is represented by image 901. It is appreciated that a camera, such as camera 120 is used to capture image 901. In one embodiment, when GNSS receiver 140 is utilized with camera 120, georeferenced information regarding a location of capture of image 901 is included with image 901, such as in metadata of or associated with an electronic file of image 901 (e.g. in the EXIF file).
At 920 of diagram 900, in one embodiment, features for georeferencing are selected in image 901 to create image 902. In one embodiment, feature selection processor 125 is used to select these features. In one embodiment, a user may also label general location information or other tags onto the image, such as an address (e.g., “935 Stewart Drive Sunnyvale, Calif.”), which may be of use in locating georeferenced information related to the image. It is appreciated that such a label of general location information may also be inserted into metadata of the file of image 902 rather than into the view data of image 902. In image 902, seven small arrows point to seven features to be georeferenced (left upper corner of building; bottom left corner of building; left middle corner of building; peak above entranceway of building; top of flag pole; bottom of flagpole; and point in middle of manhole cover in parking lot). These arrows are user-inserted such as through the use of feature selection processor 125. These arrows provide a mechanism for identification of one or more points of interest for which georeferenced information (e.g., position fixes) are desired. It is appreciated that this is not strictly required, and that an image such as image 901 can be submitted without a user selection of features and in such case one or more reference features will be selected and georeferenced by the image-based georeferencing system (e.g., system 100). It is also appreciated that the features can be identified and selected in a similar fashion through other mechanisms besides arrows, such as by encircling features on an image for which a user desires to obtain georeferenced information.
At 930 of diagram 900, in one embodiment, the captured image (either image 901 or image 902) is provided for georeferencing. In one embodiment, this comprises uploading the image, such as via a wireless link from a camera or mobile communication device to image-based georeferencing system 100. In one embodiment, where the image (901 or 902) exists on a computer or system that also includes image-based georeferencing system 100, the image (901 or 902) is submitted to the image-based georeferencing system 100 for georeferencing.
At 940 of flow diagram 900, in one embodiment, a response is returned to the user in which an image is received along with georeferenced position data related to the image. In one embodiment, this comprises image-based georeferencing system 100 returning an image, such as image 903 to the location from which a request for georeferencing was received or else to a location such as an email account that has been specified by a user of image-based georeferencing system 100. As illustrated in FIG. 9, by image 903, in one embodiment, georeferenced points may be labeled (e.g., A1, B1, C1, D1, E1, F1, G1 in FIG. 903) on the returned image. This may include labeling coordinates of a georeferenced point in some format (e.g., latitude, longitude, elevation; Northing and Easting) on image 903. This may alternatively or additionally include providing a listing of the coordinates associated with georeferenced points in the returned image, such as has been illustrated by annotation file 904 which provides geospatial data regarding points A1, B1, C1, D1, E1, F1, G1 in returned image 903. It is appreciated that annotation file 904 can be provided in many formats, such as in metadata of image 903, as a table in a spreadsheet, or as an image, among other formats. For example, image 705 of FIG. 7 illustrates another non-limiting example of providing georeferenced coordinates of points in an image made available for user access.
Example Method of Obtaining Geolocation Information
FIG. 10 illustrates a flow diagram 1000 of an example method of obtaining geolocation information, according to an embodiment. Elements of flow diagram 1000 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1000 represents a method of operation of all or a portion of system 100 from the perspective of a user.
At 1010 of flow diagram 1000, in one embodiment, a first image is captured. This captured image comprises a field of view that includes an object with an identifiable feature. The first image may be captured using a digital or film camera or, by scanning a print of a camera captured image, may be captured using an image scanner coupled with a computer. A digital camera may be a stand-alone camera, or a digital camera integrated as a part of another electronic device such as a mobile communications device (e.g., a mobile telephone, computer, or the like). In some embodiments, image capture can also comprise selecting an image file that exists on or is accessible from a computer or electronic device. An identifiable feature is a feature such as a physical object's peak, corner, base, projection other visible feature in the first image that can be marked and identified by a user via a graphic user interface of feature selection processor 125 or that can be picked out and determined by reference feature determiner 215. It is appreciated that feature selection processor 125 may be resident on a digital camera, on a device that includes a digital camera used for capturing the first image, on a mobile communications device, or on computer system/device with which the captured image can be annotated to select an identifiable feature. For example, a desktop computer with a display (e.g. display computer 130) can be used to access a digital file of the first image and the select an identifiable feature. Image 901 in FIG. 9 is one example of a first image. Arrows shown in image 902 identify a plurality of examples of identifiable features that have been identified.
At 1020 of flow diagram 1000, in one embodiment, the captured first image with the identifiable feature is provided to an image-based georeferencing system. The captured image is provided as a digital file, and the identifiable feature may or may not be identified by a user prior to providing the image to an image-based georeferencing system such as system 100. In one embodiment, for example, a user provides the captured first image from digital camera 120 to system 100 via a wireless transceiver or other communication device 135.
In some embodiments, the first image can be provided along with geographic data associated with the first image. This can be user added geographic data such as an address, zip code, or set of coordinates associated with a general location of the first captured image. Such general location information helps narrow searching requirements of system 100 for identifying a correlating image and/or other location information associated with the captured first mage. The geographic data supplied with the captured first image can also be geographic data that is automatically added to an image by a GNSS receiver coupled with a camera, such as camera 120, used to capture the first image. The geographic data can be added in various ways to include: being denoted in the viewable portion of the first image (e.g., super-imposed on the first image as shown in image 902) and/or being included in metadata of the digital file of the first image. In one embodiment, the geographic data provided with the captured first image includes location of capture of the captured first image as determined by a GNSS receiver. In one embodiment, for example, a GNSS receiver determined location of capture is automatically added to the metadata of the captured first image contemporaneously with image capture and then provided to the image-based georeferencing system as part of the digital file of the first image.
Once system 100 receives the captured image, such as by receiving it with image receiver/selector 205, image database management system 115 operates in the manner previously described herein to geolocate points on physical objects within the captured image. For example, in one embodiment image identification processor 210 identifies a second image from image database 110 that correlates to the first image; reference feature determiner 215 determines a reference feature common to both the first image and second image; and feature locator 220 identifies the georeferenced location of the reference feature. It is appreciated that the reference feature and a user-identified identifiable feature may be one in the same. If not, in one embodiment, enough reference features are located in the first image so that image database management system can geolocate a user-identified feature in the first image. Augmenter 260 annotates the reference feature(s) and any other geolocated identifiable features in the first image. As described, this annotation can occur in the viewable region of the first image or in a separate file from the first image. In this manner, a third image, augmented from the first image by inclusion of georeferenced annotations, may be created. This augmented third image and/or annotation file can be output, such as by output engine 230, for access by a user. By way of example and not of limitation, in one embodiment, image 405 represents a first image; point 6 represents an identifiable feature (which may be user-identified); and points 2 and 3 represent located reference features that are common with a first image 405 and second image 505.
At 1030 of flow diagram 1000, in one embodiment, an augmented version of the first image is received from the image-based georeferencing system. The augmented first image is augmented with location information regarding the location of one or more objects in the field of view of the first image. This can comprise system 100 providing the augmented version of the image along with coordinates of the identifiable feature and/or coordinates of the reference feature. The coordinates may be two-dimensional or three-dimensional coordinates. In one embodiment, system 100 provides the first image augmented with georeferenced location information regarding one or more user-selected points of interest in the field of view of the first image. One or more of these user-selected points of interest may be related to the identifiable object. In one embodiment, system 100 provides the first image augmented with geographic location information associated with one or more reference features that have been determined by system 100 (i.e. by reference feature determiner 215 and feature locator 220) in the field of view of the first image. It is appreciated that a reference feature may also be a user-selected point of interest and that a reference feature may be related to the identifiable object.
The augmentations of the augmented first image may include, among others: annotations that are visible to a user in the viewable region of the first image, such as superposition or overlay of information on the augmented version of the first image; information such as metadata that is not visible when viewing the augmented image; and some combination thereof. The augmentations can include location information related to one or more points that were in the viewable region of the first image. This augmented image may be accompanied by an annotation file or augmented information such as in the metadata of the augmented image, or the augmentation of the image may simply be the inclusion of a reference file/metadata that associates a pixel or pixels in the augmented image with location information. Image 903 of FIG. 9 shows one example of an augmented first image and annotation file 904 shows an example of the contents of one example of an annotation file. It is appreciated that the data in annotation file 904 may be referenced to pixel locations of image 902 rather than labeled points (e.g., A1-G1). Image 705 of FIG. 7 shows another example of an augmented version of a first image. In one embodiment, an augmented version of the first image is received in exchange for payment of a fee. It is appreciated that the number of augmentations provided in the form of location information related to features in an image may vary in accordance with the fee paid.
Example Method of Obtaining a Georeferenced Location
FIG. 11 illustrates a flow diagram 1100 of an example method of obtaining a georeferenced location, according to an embodiment. Elements of flow diagram 1100 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1100 represents a method of operation of all or a portion of system 100 from the perspective of a user.
At 1110 of flow diagram 1100, in one embodiment, a first image is captured with a camera. This captured image comprises a field of view that includes an object with an identifiable feature. The first image may be captured using a digital or film camera or, by scanning a print of a camera captured image, may be captured using an image scanner coupled with a computer. A digital camera may be a stand alone camera, or a digital camera integrated as a part of another electronic device such as a mobile communications device (e.g., a mobile telephone, computer, or the like). In some embodiments, capture can also comprise selecting an image file that exists on or is accessible from a computer or electronic device. An identifiable feature is a feature such as a physical object's peak, corner, base, projection other visible feature in the first image that can be marked and identified by a user via a graphic user interface of feature selection processor 125 or that can be picked out and determined by reference feature determiner 215. It is appreciated that feature selection processor 125 may be resident on a digital camera, on a device that includes a digital camera used for capturing the first image, on a mobile communications device, or on computer system/device with which the captured image can be interacted to select an identifiable feature. For example, a desktop computer with a display (e.g., display computer 130) can be used to access a digital file of the first image and the select an identifiable feature. Image 901 in FIG. 9 is one example of a first image. Arrows shown in image 902 identify a plurality of examples of identifiable features that have been identified.
At 1120 of flow diagram 1100, in one embodiment, the captured first image with the identifiable feature is provided to an image-based georeferencing system. The captured image is provided as a digital file, and the identifiable feature may or may not be identified by a user prior to providing the image to an image-based georeferencing system such as system 100. In one embodiment, for example, a user provides the captured first image from digital camera 120 to system 100 via a wireless transceiver or other communication device 135.
In some embodiments, the first image can be provided along with geographic data associated with the first image. This can be user added geographic data such as an address, zip code, or set of coordinates associated with a general location of the first captured image. Such general location information helps narrow searching requirements of system 100 for identifying a correlating image and/or other location information associated with the captured first mage. The geographic data supplied with the captured first image can also be geographic data that is automatically added to an image by a GNSS receiver coupled with a camera, such as camera 120, used to capture the first image. The geographic data can be added in various ways to include: being denoted in the viewable portion of the first image (e.g., super-imposed on the first image as shown in image 902) and/or being included in metadata of the digital file of the first image. In one embodiment, the geographic data provided with the captured first image includes location of capture of the captured first image as determined by a GNSS receiver. In one embodiment, for example, a GNSS receiver determined location of capture is automatically added to the metadata of the captured first image contemporaneously with image capture and then provided to the image-based georeferencing system as part of the digital file of the first image.
Once system 100 receives the captured image, such as by receiving it with image receiver/selector 205, image database management system 115 operates in the manner previously described herein to geolocate points on physical objects within the captured image. For example, in one embodiment image identification processor 210 identifies a second image from image database 110 that correlates to the first image; reference feature determiner 215 determines a reference feature common to both the first image and second image; feature locator 220 identifies the georeferenced location of the reference feature. It is appreciated that the reference feature and a user-identified feature identifiable feature may be one in the same. If not, in one embodiment, enough reference features are located in the first image so that image database management system 115 can geolocate a user-identified feature in the first image. By way of example and not of limitation, in one embodiment, image 405 represents a first image; point 6 represents an identifiable feature (which may be user-identified); and points 2 and 3 represent located reference features that are common with a first image 405 and second image 505.
In one embodiment, location of capture determiner 225 operates to determine a location of capture of the image. Where a GNSS receiver determined location of capture of the first image has been provided, this may not be required. However, if a received GNSS determined location is of low accuracy, such as can happen in urban canyons and other environments, the GNSS receiver determined location may be refined to greater accuracy. Depending on the type of user (amateur or professional) and/or user specification, the location of captured can be determined with varying levels of accuracy which may vary from an approximate street address in a city to two or three-dimensional coordinates of the location of capture that are triangulated from a plurality of GIS information or other geolocation information of reference features that system 100 geolocates within the image The determined location of capture of the camera during capture of the first image can then be output, such as by output engine 230, for access by a user.
At 1130 of flow diagram 1100, in one embodiment, a georeferenced location of the camera during capture of the first image is received from the image-based georeferencing system. As described above, this georeferenced location is determined by image-based georeferencing system 100 based upon GIS information associated with a plurality of reference features found, by system 100, to be present in the first image. In one embodiment, the georeferenced location of capture of the camera during capture of the first image is received in exchange for payment of a fee for such information.
Example Method of Providing Position Information
FIG. 12 illustrates a flow diagram 1200 of an example method of providing position information, according to an embodiment. Elements of flow diagram 1200 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1200 represents a method of operation of all or a portion of system 100.
At 1210 of flow diagram 1200, in one embodiment, a cataloged second image is identified that correlates to a first image. The second image is identified within or through the use of an image-based georeferencing system. In one embodiment, this comprises image-based georeferencing system 100 identifying the second image from an image database 110 or other accessible store of cataloged images. For example, when the first image is an elevation view of a building, the identified second image may be georeferenced elevation view of the building or a georeferenced aerial/plan view of the building. In one embodiment, the second image is identified through the use of an image recognition algorithm that compares the first image with a plurality of cataloged images in a georeferenced image database, such as image database 110 to identify the second image that correlates to the first image. In one embodiment, image identification processor 210 identifies a second image that correlates to the first image. For example, in an embodiment where image 405 is the first image, image 505 represents one example of a second image that may be identified by image identification processor 210.
It is appreciated that the first image comprises a terrestrial scene that includes at least one physical object with an identifiable feature. The object can be a natural or manmade object. Several examples of such images have been included and/or described previously herein. The first image may be selected by or received from a user of system 100 or some portion thereof. For example, in one embodiment, the first image may be selected from a storage location on a network or on a storage device (e.g., data storage unit 1712 of FIG. 17). In one embodiment, the first image may be received from a user who captures the first image with a digital camera, such as camera 120. In one embodiment, geographic data associated with the first image may be received in conjunction with receipt of the first image. As previously described, this may include geographic location information regarding the location of capture of the first image and/or geographic location information regarding an identifiable feature in the field of view of the first image.
At 1220 of flow diagram 1200, in one embodiment, a reference feature is determined that is common to both the second image and the first image. System 100 and/or image database management system 115 operates in the manner previously described herein to geolocate points on physical objects within first image. For example, in one embodiment, reference feature determiner 215 determines a reference feature common to both the first image and second image. Following the example illustrated by image 405 and image 505, in one embodiment, point 6 represents an identifiable feature (which may be user-identified); and points 2 and 3 represent reference features (as determined by reference feature determiner 215) are common with the first image 405 and the second image 505. Reference feature determiner 215 can operate in a fully automated fashion or involve human assistance where fully automated determination of a common reference feature is not possible.
At 1230 of flow diagram 1200, in one embodiment, geographic information related to the common reference feature or features is accessed. This can comprise accessing a GIS database or other geographic location information database that is related to the second image, which is typically a cataloged image of image database 110 or other image repository, in order to determine geographic information regarding the common reference feature. In one embodiment, feature locator 220 identifies the georeferenced location of the reference feature. It is appreciated that the reference feature and a user-identified identifiable feature may be one in the same. If not, in one embodiment, enough reference features are located in the first image so that image database management system 115 can geolocate a user-identified feature in the first image.
In one embodiment, for example, feature locator 220 accesses a geographic location information repository or database that is related to the common reference feature. If, for example, in one embodiment, the common reference feature is a street sign in Aurora, Nebr., feature locator 220 would access street/road geographic location information related to Aurora, Nebr. from one or more public and/or private geographic location information repository and/or database in order to find geographic location information for the street sign. If the second image happens to include location information regarding the common reference feature, access to geographic location information system may not be required. Following the above example illustrated with image 405 and image 505, in one embodiment this comprises feature locator 220 locating coordinates for points 2 and/or 3 of image 505.
At 1240 of flow diagram 1200, in one embodiment, the geographic location information regarding the common reference feature is provided for access by a user of the image-based georeferencing system. In one embodiment, this comprises output engine 230 providing the geographic location information for access in any of the previously described manners. For example, in one embodiment, this comprises output engine 230 providing a third image that is a georeferenced version of the first image. The georeferencing can comprise the third image including geographic location information that is annotated or otherwise augmented relative to the common reference feature. Image 903 and annotation file 904 describe one example of a method of providing the third image. It is appreciated that, in one embodiment, the georeferenced information can be included in a user visible portion of the third image, such as by superimposition. Image 705 shows one example of superimposed georeferenced location information for points 2 and 3, among others. Additionally, the geographic location information regarding the common reference feature is, in some embodiments, provided for access by a user in exchange for a payment of a fee.
Moreover in one embodiment the third image, with its georeferenced information regarding the common reference feature is stored in a database of georeferenced images, such as image database 110. This “grows” the database and enriches its content constantly through use of system 100.
Example Method of Providing Georeferenced Information Regarding a Location of Capture of an Image
FIG. 13 illustrates a flow diagram 1300 of an example method of providing georeferenced information regarding a location of capture of an image, according to an embodiment. Elements of flow diagram 1300 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1300 represents a method of operation of all or a portion of system 100.
At 1310 of flow diagram 1300, in one embodiment, a first image is received at an image-based georeferencing system. The first image comprises digital image information of a digital image file. In one embodiment, for example, image receiver selector 205 of image-based georeferencing system 100 receives this first image. It is appreciated that the first image comprises a terrestrial scene that includes at least one physical object with an identifiable feature. The object can be a natural or manmade object. Several examples of such images have been included and/or described previously herein. The first image may be selected by or received from a user of system 100 or some portion thereof. For example, in one embodiment, the first image may be selected by a user from a storage location on a network or on a storage device (e.g., data storage unit 1712 of FIG. 17) and then provided to or received by image identification processor 210. In one embodiment, the first image may be received by image receiver/selector 205 from a user who captures the first image with digital camera, such as camera 120. It is appreciated that, in one embodiment, the digital camera may be included in a mobile communications device. In one embodiment, geographic data associated with the first image may be received in conjunction with receipt of the first image. As previously described, this may include geographic location information regarding the location a camera at time of capture of the first image and/or geographic location information regarding an identifiable feature in the field of view of the first image. This may include geographic location information related to a natural or manmade structure that is in a field of view of the first image. It is appreciated that the geographic location information that is provided may vary from very general, such as an address of a building, to very specific such as surveyed coordinates of a base of flagpole.
At 1320 of flow diagram 1300, in one embodiment, a cataloged second image is identified that correlates to the received first image. The second image is identified at an image-based georeferencing system. In one embodiment, this comprises image-based georeferencing system 100 identifying the second image from an image database 110 or other accessible store of cataloged images. For example, when the first image is an elevation view of a building, the identified second image may be georeferenced elevation view of the building or a georeferenced aerial/plan view of the building. In one embodiment, the second image is identified through the use of an image recognition algorithm that compares the first image with a plurality of cataloged images in a georeferenced image database, such as image database 110 to identify the second image that correlates to the first image. In one embodiment, image identification processor 210 performs the identification of the second image that correlates to the first image. In an embodiment where image 405 is the first image, image 505 represents one example of a second image that may be identified by image identification processor 210. If automated identification is not possible, in one embodiment, assistance by a human may be involved in identifying the second image.
At 1330 of flow diagram 1300, in one embodiment, reference features are determined that are common to both the second image and the first image. For example, in one embodiment, system 100 and/or image database management system 115 operates in the manner previously described herein to determine common reference features. This can be a fully automated process or can involve some human involvement where fully automated determination of common reference features is not possible. For example, in one embodiment, reference feature determiner 215 determines a plurality of reference features common to both the first image and second image. With reference to the example illustrated by image 405 and image 505, in one embodiment, reference feature determiner 215 determines that points 1, 2, and 4 are common reference features to both of these images.
At 1340 of flow diagram 1300, in one embodiment, geographic location information related to the common reference features is accessed. This is done in a similar fashion as has been previously described in conjunction with description of 1230 of flow diagram 1200. In one embodiment, this comprises accessing a geographic location information database that is related to the cataloged second image (e.g., image 505 in the ongoing example). If the common reference features are not all represented in a single geographic location information repository, such as GIS locations 160, then a plurality of geographic location information repositories or other geolocation resources such as photos 155 and maps 150 are accessed. In one embodiment, for example, feature locator 220 identifies the georeferenced location of the reference features. In one embodiment, feature locator 220 locates enough of the reference features the first image so that image database management system 115 can geolocate a user-identified feature in the first image and/or a geolocate or refine a location of capture of the first image. When triangulation is being used this typically means that at least three non-collinear reference features common to both the first image and the second image are geolocated for use in triangulation. Following the above example, in one embodiment feature locator 220 locates the coordinates of points 1, 2, and 5 of image 505.
At 1350 of flow diagram 1300, in one embodiment, the GIS information related to the common features is used to determine a georeferenced location of capture of the first image. When the location of capture is already known, such as due to a GNSS receiver being utilized in conjunction with capturing the first image, this may not be required. However, GNSS determined locations may not exhibit optimum accuracy due to poor satellite visibility to the antenna of a GNSS receiver. Thus, in some embodiments, the geographic location information related to the common features is also used to refine accuracy of generally or even fairly accurately known geographic location information related to the location of capture of the first image. In one embodiment, location of capture determiner 225 uses the geographic location information related to the common features (e.g., points 1, 2, and 5 in the ongoing example illustrated by image 405 and image 505) to determine the georeferenced location of capture of the first image (i.e., camera location 409). As previously described this can involve one or more techniques such as triangulation, scaling, or techniques of close-range photogrammetry to determine the location of points in the first image and to use those points/locations to determine and/or refine the location of a camera during capture of the first image.
At 1360 of flow diagram 1300, in one embodiment, the georeferenced location of capture is provided for access by a user of the image-based georeferencing system. In one embodiment, this comprises output engine 230 providing the location of capture for user access in any of the previously described manners. For example, in one embodiment, this comprises output engine 230 emailing or otherwise pushing the location of capture out to a user or else making the location of capture available for download/network access/pull at the user's discretion. The georeferencing can comprise the third image including geographic location information that is annotated relative to the common reference feature. Additionally, the location of capture may be pushed to the user or made available for pull by the user, in some embodiments, in exchange for a payment of a fee.
At 1370 of flow diagram 1300, in one embodiment, the method further comprises providing the geographic location information regarding the common reference features for access by a user of the image-based georeferencing system. In one embodiment, output engine 230 facilitates user access of geographic location information regarding the common reference features and/or other geolocation information that has been determined regarding the first image during the process of determining the location of capture of the first image. In a similar manner as described in 1240 of flow diagram 1200, output engine 230 either pushes such information to the user or a desired user location or made available such information for user pull.
Example Methods of Reporting Incidents
FIG. 14 illustrates a flow diagram 1400 of an example method of reporting incidents, according to an embodiment. Elements of flow diagram 1400 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1400 represents a method of operation of all or a portion of system 100.
At 1410 of flow diagram 1400, in one embodiment, the method comprises receiving cellular based communication corresponding to an incident. For example, devices regularly employed in cellular networks may be employed to practice the present technology.
At 1420 of flow diagram 1400, in one embodiment, the method further comprises automatically determining a location of the incident based on the cellular based information. In various embodiments, the locations of the incident may be determined by global positioning data, image data, a text message, or voice data.
At 1430 of flow diagram 1400, in one embodiment, the method further comprises generating a report of the incident, the report including the location of the incident.
FIG. 15 illustrates a flow diagram 1500 of an example method of reporting an incident from a cellular based communication device coupled to a cellular communications network, according to an embodiment. Elements of flow diagram 1500 are described below, with reference to elements of one or more of FIGS. 1-9. In one embodiment, flow diagram 1500 represents a method of operation of all or a portion of system 100.
At 1510 of flow diagram 1500, in one embodiment, the method comprises determining a selection of a one touch input device associated with the cellular based communication device.
At 1520 of flow diagram 1500, in one embodiment, the method further comprises automatically calling an incident reporting service coupled to a cellular communications network in response to the selection.
At 1530 of flow diagram 1500, in one embodiment, the method further comprises automatically providing incident data to the incident reporting service. In one embodiment, the incident data includes data regarding the location of the incident.
At 1540 of flow diagram 1500, in one embodiment, the method further comprises designating at least one input key of the cellular based communication device as the one touch input device.
Example Computer System Environment
With reference now to FIG. 17, all or portions of some embodiments described herein are composed of computer-readable and computer-executable instructions that reside, for example, in computer-usable/computer-readable storage media of a computer system. That is, FIG. 17 illustrates one example of a type of computer (computer system 1700) that can be used in accordance with or to implement various embodiments which are discussed herein. It is appreciated that computer system 1700 of FIG. 17 is only an example and that embodiments as described herein can operate on or within a number of different computer systems including, but not limited to, general purpose networked computer systems, embedded computer systems, server devices, client devices, stand alone computer systems, mobile communication devices, media centers, handheld computer systems, multi-media devices, databases, database management systems, and the like. Computer system 1700 of FIG. 17 is well adapted to having peripheral computer-readable storage media 1702 such as, for example, a floppy disk, a compact disc, digital versatile disc, universal serial bus “flash” drive, removable memory card, and the like coupled thereto.
System 1700 of FIG. 17 includes an address/data bus 1704 for communicating information, and a processor 1706A coupled to bus 1704 for processing information and instructions. As depicted in FIG. 17, system 1700 is also well suited to a multi-processor environment in which a plurality of processors 1706A, 1706B, and 1706C are present. Conversely, system 1700 is also well suited to having a single processor such as, for example, processor 1706A. Processors 1706A, 1706B, and 1706C may be any of various types of microprocessors. System 1700 also includes data storage features such as a computer usable volatile memory 1708, e.g. random access memory (RAM), coupled to bus 1704 for storing information and instructions for processors 1706A, 1706B, and 1706C. System 1700 also includes computer usable non-volatile memory 1710, e.g. read only memory (ROM), coupled to bus 1704 for storing static information and instructions for processors 1706A, 1706B, and 1706C. Also present in system 1700 is a data storage unit 1712 (e.g., a magnetic or optical disk and disk drive) coupled to bus 1704 for storing information and instructions. System 1700 also includes an optional alphanumeric input device 1714 including alphanumeric and function keys coupled to bus 1704 for communicating information and command selections to processor 1706A or processors 1706A, 1706B, and 1706C. System 1700 also includes an optional cursor control device 1716 coupled to bus 1704 for communicating user input information and command selections to processor 1706A or processors 1706A, 1706B, and 1706C. In one embodiment, system 1700 also includes an optional display device 1718 coupled to bus 1704 for displaying information.
Referring still to FIG. 17, optional display device 1718 of FIG. 17 may be a liquid crystal device, cathode ray tube, plasma display device or other display device suitable for creating graphic images and alphanumeric characters recognizable to a user. Optional cursor control device 1716 allows the computer user to dynamically signal the movement of a visible symbol (cursor) on a display screen of display device 1718 and indicate user selections of selectable items displayed on display device 1718. Many implementations of cursor control device 1716 are known in the art including a trackball, mouse, touch pad, joystick or special keys on alphanumeric input device 1714 capable of signaling movement of a given direction or manner of displacement. Alternatively, it will be appreciated that a cursor can be directed and/or activated via input from alphanumeric input device 1714 using special keys and key sequence commands. System 1700 is also well suited to having a cursor directed by other means such as, for example, voice commands. System 1700 also includes an I/O device 1720 for coupling system 1700 with external entities. For example, in one embodiment, I/O device 1720 is a modem for enabling wired or wireless communications between system 1700 and an external network such as, but not limited to, the Internet.
Referring still to FIG. 17, various other components are depicted for system 1700. Specifically, when present, an operating system 1722, applications 1724, modules 1726, and data 1728 are shown as typically residing in one or some combination of computer usable volatile memory 1708 (e.g., RAM), computer usable non-volatile memory 1710 (e.g., ROM), and data storage unit 1712. In some embodiments, all or portions of various embodiments described herein are stored, for example, as an application 1724 and/or module 1726 in memory locations within RAM 1708, computer-readable storage media within data storage unit 1712, peripheral computer-readable storage media 1702, and/or other tangible computer readable storage media.
As shown, in one embodiment, image database management system (IDMS) 115 is coupled with bus 1704 as a portion of computer system 1700 and controls actions of a processor 1706 and/or other portions of computer system 1700. It is appreciated that, in some embodiments, a portion of image database management system 115 exists as an application 1724 and/or module 1726 in computer-readable storage media (e.g., RAM 1708, data storage unit 1712, peripheral computer readable storage media 1702, or the like) that is a part of or is accessible by computer system 1700. It is also appreciated that, in some embodiments, a portion of image database 110 exists as data 1728 and or an application 1724 in computer readable storage media (e.g., RAM 1708, data storage unit 1712, peripheral computer readable storage media 1702, or the like) that is a part of or is accessible by computer system 1700.
Example embodiments of the subject matter are thus described. Although various embodiments of the subject matter have been described in a language specific to structural features and/or methodological acts, it is to be understood that the appended claims are not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and their equivalents.

## Claims

1. A system for reporting incidents comprising:
a computer-readable medium for storing data and instructions; and
a processor for executing said instructions that perform actions, said instructions comprising:
receiving cellular based communication corresponding to an incident wherein said cellular based communication comprises an image;
automatically determining a location of said incident based on comparing a reference feature of said image of said cellular based communication to a database of known geo-referenced images that are geolocated to a coordinate system;
validating accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image of said cellular based communication, wherein said vertical information includes Z-coordinate information; and
generating a report of said incident, said report including said location of said incident.

2. The system of claim 1 wherein said cellular based communication includes global positioning data and said location of said incident is determined from said global positioning data.

3. The system of claim 1 wherein said cellular based communication includes a text message and said location of said incident is determined from said text message.

4. The system of claim 1 wherein said cellular based communication includes voice data and said location of said incident is determined from said voice data.

5. A method for reporting incidents comprising:
receiving, by a processor, cellular based communication corresponding to an incident wherein said cellular based communication comprises an image;
automatically determining, by said processor, a location of said incident based on comparing a reference feature of said image of said cellular based communication to a database of known geo-referenced images that are geolocated to a coordinate system;
validating, by said processor, accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image of said cellular based communication, wherein said vertical information includes Z-coordinate information; and
generating, by said processor, a report of said incident, said report including said location of said incident.

6. The method of claim 5 wherein said cellular based communication includes global positioning data and said method further includes:
determining said location of said incident based on said global positioning data.

7. The method of claim 5 wherein said cellular based communication includes an image and said method further includes:
determining said location of said incident based on said image.

8. The method of claim 5 wherein said cellular based communication includes a text message and said method further includes:
determining said location of said incident based on said text message.

9. The method of claim 5 wherein said cellular based communication includes voice data and said method further includes:
determining said location of said incident based on said voice data.

10. A portable electronic device for reporting incidents comprising:
a cellular telephone communications system configured to couple to a cellular communications network;
a camera for capturing an image of an incident; and
a one touch input device configured to:
automatically call an incident reporting service coupled to said cellular communications network when selected;
communicate information regarding a type of incident to said incident reporting service, wherein said type of incident is determined by extracting features from the image, and wherein said type of incident comprises a size and direction of said incident and what agency to notify of said incident;
automatically determine a location of said incident based on comparing a reference feature of said image to a database of known geo-referenced images that are geolocated to a coordinate system; and
validate accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image, wherein said vertical information includes Z-coordinate information.

11. The portable electronic device of claim 10, wherein said one touch input device is further configured to provide incident reporting data to said incident reporting service.

12. The portable electronic device of claim 11, wherein incident reporting data comprises said location.

13. A method for reporting an incident from a cellular based communication device coupled to a cellular communications network comprising:
capturing an image of an incident at a camera of said cellular based communication device;
automatically determining a location of said incident based on comparing a reference feature of said image to a database of known geo-referenced images that are geolocated to a coordinate system;
validating accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image, wherein said vertical information includes Z-coordinate information;
determining a type of incident by extracting features from the image;
determining selection of a one touch input device associated with said cellular based communication device;
automatically calling an incident reporting service coupled to a cellular communications network in response to said selection; and
automatically providing incident data to said incident reporting service wherein said incident data comprises information regarding said type of incident wherein said type of incident comprises a size and direction of said incident and what agency to notify of said incident.

14. The method of claim 13 further comprising:
designating at least one input key of said cellular based communication device as said one touch input device.

15. The method of claim 13 wherein said automatically providing incident data to said incident reporting system further comprises said location of said incident.

16. A non-transitory computer-usable storage medium having instructions embodied therein that when executed cause a computer system to perform a method for reporting incidents, said method comprising:
receiving cellular based communication corresponding to an incident wherein said cellular based communication comprises an image;
automatically determining a location of said incident based on comparing a reference feature of said image of said cellular based communication to a database of known geo-referenced images that are geolocated to a coordinate system;
validating accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image of said cellular based communication, wherein said vertical information includes Z-coordinate information; and
generating a report of said incident, said report including said location of said incident.

17. A system for reporting incidents comprising:
a computer-readable medium for storing data and instructions; and
a processor for executing said instructions that perform actions, said instructions comprising:
receiving cellular based communication corresponding to an incident, wherein said cellular based communication comprises an image;
automatically determining a location of said incident based on said cellular based communication and based on comparing a reference feature of said image of said cellular based communication to a database of known geo-referenced images that are geolocated to a coordinate system;
generating a report of said incident, said report including said location of said incident;
compiling data relevant to said incident from a plurality of sources comprising images received from said cellular based communication, road maps, satellite maps, weather feeds and providing said data in a visual manner to a mobile device available to first responders to said incident;
validating accuracy of said location by validating a presence of vertical information in a geo-referenced image that shares said reference feature in common with said image of said cellular based communication, wherein said vertical information includes Z-coordinate information.