HK1081699B - Methods and systems for accessing information on packages - Google Patents
Methods and systems for accessing information on packages Download PDFInfo
- Publication number
- HK1081699B HK1081699B HK06101802.0A HK06101802A HK1081699B HK 1081699 B HK1081699 B HK 1081699B HK 06101802 A HK06101802 A HK 06101802A HK 1081699 B HK1081699 B HK 1081699B
- Authority
- HK
- Hong Kong
- Prior art keywords
- package
- information
- server
- alias server
- user terminal
- Prior art date
Links
Description
The application is a divisional application with the application number of 01823038.5, the application date of a parent application is 1, 18 and 2001, and the invention name of the parent application is 'method and system for reading and decoding information on a package'.
Technical Field
The present invention relates to methods and apparatus for reading and decoding information, and more particularly to systems for imaging and processing information contained on the surface of articles conveyed on a moving conveyor belt.
Background
The competition among package express delivery service organizations worldwide has reached an epoch-making stage. To maintain or even increase their market share, these agencies are under great pressure to process packages more efficiently and to deliver packages to their destinations faster than their competitors. While advances have been made in software and hardware in the area of automated package sorting and delivery, further improvements are desirable to achieve the economic benefits accruing naturally from a fully and fully automated process.
Modern package handling systems today rely on the use of conveyor belts to bring packages into a handling device and carry them through the handling device while they are being imaged by a high resolution camera and processed for ultimate delivery to a destination. One such system is disclosed in U.S. patent No.5770841 to Moed et al, entitled "system and method for reading package information". When reaching the distribution center, the packages are loaded from the delivery trucks onto a conveyor and are arranged in a single file by a singulating processing device. The package height sensor determines the height of each package and this information is passed to the focusing system of the high resolution camera. As each parcel passes under the high resolution camera, an image of the parcel's surface is captured. The digitized image is transmitted to an image processing system for automated analysis of the information. Conventional baggage imaging systems, such as those discussed by Moed et al, typically require that the stream of baggage be at least singulated (singulated) and sometimes even aligned before imaging the baggage because the imaging system has a limited focal object plane and field of view (FOV). Essentially, two adjacent items must be imaged separately when they are in different focal planes (i.e., they are at different distances from the camera), otherwise they do not appear sharp in one image. Similarly, two adjacent items must also be imaged separately when they are in the same focal plane, but laterally separated, otherwise only a portion of the surface of one or both items may be captured in an image. Unfortunately, the process of correctly singulating and aligning packages takes valuable time, severely impacting processing throughput. Furthermore, if the packages must be placed in a single column, the number of packages that can actually be placed on the conveyor at one time for processing is severely limited. If the operating speed of many postal service carousels is constant, the process of focusing, imaging, and then refocusing each parcel that must be handled places a significant burden on even the most advanced imaging systems.
After the imaging system captures an image of the package, experience has shown that the most error prone in this process is the actual recognition of handwritten textual information on the package and the timely determination of the correct destination for the package from that information. The reality that large package delivery companies have reached and are increasing their package throughput to the level of millions of pieces per day has exacerbated what has been a formidable undertaking.
To increase processing throughput without a corresponding increase in human hands, package delivery companies have turned to the use of high speed imaging system optical intelligent character recognition technology to quickly image packages and process print and cursive information contained thereon. Unfortunately, many such conventional character recognition engines can only recognize handwritten characters at a recognition rate of about 98%, which still results in 2-3 errors per parcel.
Accordingly, there is a need in the art for an imaging system that allows more freedom in placing packages on a conveyor. In addition, there is a need for a processing system that has the ability to recognize print and cursive characters faster and more accurately than current systems.
Disclosure of Invention
A method according to the present invention for accessing package routing information on a computer network comprising at least one user terminal and at least one alias server, comprises the steps of: entering information at a user terminal to retrieve package routing information, wherein the entered information includes package identification information required by the at least one alias server to retrieve the package routing information; transmitting the input information from the user terminal to the alias server; and transmitting package routing information from the alias server to the user terminal whenever the alias server has located a database record corresponding to the input information.
A computer system for accessing package routing information on a computer network according to the present invention, said computer network including at least one user terminal and at least one alias server, said system comprising: a memory containing program instructions; and a processor configured to access customer input information using the program instructions to retrieve package routing information, wherein the input information contains package identification information required by the at least one alias server to retrieve the package routing information; transmitting the input information from the user terminal to the alias server; and transmitting package routing information from the alias server to the user terminal whenever the alias server has located a database record corresponding to the input information.
A computer system for accessing package routing information on a computer network according to the present invention, said computer network including at least one user terminal and at least one alias server, said system comprising: means for inputting information at a user terminal to retrieve package routing information, wherein the input information includes package identification information required by the at least one alias server to retrieve the package routing information; means for transmitting the input information form from the user terminal to the alias server; and means for communicating package routing information from the alias server to the user terminal when the alias server has located a database record corresponding to the input information.
A method of capturing and processing information from multiple forms simultaneously according to the present invention, the method comprising the steps of: capturing images of a plurality of forms randomly placed on a moving conveyor belt and visible to an imaging device, each of the forms being associated with a respective one of a plurality of packages; locating at least one of the plurality of forms in the captured image, the at least one form comprising a plurality of information data fields; and decoding at least one of the plurality of information data fields.
A computer system for simultaneously capturing and processing information on a plurality of forms conveyed on a conveyor belt according to the present invention comprises: a memory containing programming instructions; and a processor configured to capture images of the plurality of forms using program instructions, each of the forms being respectively associated with one of a plurality of parcels, locate at least one of the plurality of forms in the captured images, wherein the at least one form includes a plurality of information data fields, and decode information on the at least one of the plurality of forms.
An imaging system according to the present invention for capturing images of a plurality of articles randomly placed on a moving conveyor belt, comprising: a main lens assembly for converging light beams reflected by the surface of the conveyor belt and the objects randomly placed on the surface; an auxiliary lens assembly for converging the light beam from the main lens assembly; a phase mask for altering the beam of light collected by the auxiliary lens assembly to render the imaging system insensitive to short distances between items placed on the conveyor belt and the main lens assembly; and a beam splitter for splitting the changed light beam to a first image detector and a second image detector at an angle of 90 ° to the first image detector; wherein the first image detector generates an output signal of a first portion of the conveyor belt surface; and wherein the second image detector generates an output signal of a second portion of the conveyor belt surface.
Systems and methods according to the present invention provide a means for reading and decoding information extracted from a form. In the system of the present invention, packages are randomly placed on the conveyor belt, except that their labels are visible to the package imaging system. The package imaging cameras capture local images of the conveyor belt at any instant in time as they move along the conveyor belt. The digital image of the package within the field of view of the camera is then transmitted to a processing system for analysis. The processing system identifies individual packages in the image and extracts them, and then analyzes the information written or printed on the package label. The analysis process employs conventional Optical Character Recognition (OCR) and Intelligent Character Recognition (ICR) techniques to evaluate the information written on the package labels, including check boxes. Once the information has been decoded, the system accesses the package record database entry associated with the decoded machine-readable code or creates a new database entry if needed. The retrieved database entry is then filled with information extracted and validated from the package invoice. When an unrecognizable word image is encountered, the field-specific recognition process may utilize customer-specific or installation-specific lexical information to assist in the recognition process. And continuously correcting and optimizing the vocabulary information according to the processed form information. In the preferred embodiment, the verified destination addresses associated with the customer are sorted alphabetically or hierarchically according to frequency of occurrence. Each time an address associated with a client is verified, it is added to the database and the order of the associated destination addresses is modified, if appropriate. Only after the system determines that the originating client is not stored in the database does the system resort to ZIP +4 or similar database to verify the destination address. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate presently preferred embodiments of the invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the invention.
FIG. 1 is a schematic view of a package handling apparatus according to the present invention;
FIG. 2 is a schematic view of a package handling system according to the present invention;
FIG. 3 is an example of a form that may be processed in accordance with the present invention;
FIG. 4 is a detailed block diagram of a primary image capture station according to the present invention;
FIG. 5 is a schematic diagram of an image capture system according to the present invention;
FIG. 6 is a schematic view of a dual camera assembly according to the present invention;
FIG. 7 is a side view of an imaging module according to the present invention;
FIG. 8 is a detailed block diagram of an electronic component module of the image capture system;
FIG. 9 is a schematic illustration of various predetermined pattern patterns that may be recognized by the pattern recognition system of the present invention;
FIGS. 10 and 11 are detailed flowcharts of a field processing method according to the present invention;
FIG. 12 is a detailed block diagram of the user terminal of FIG. 2;
FIG. 13 is a detailed block diagram of the alias server of FIG. 2; and
FIG. 14 is a sample source and destination label.
Detailed Description
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. This embodiment is described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense.
Turning first to the terminology of the present specification, the following detailed description is presented in terms of procedures and symbolic representations of operations that are performed by conventional computer components, including a Central Processing Unit (CPU), a memory device for the CPU, and an associated pixel-oriented display. These operations include data bit operations performed by the CPU and maintaining these bits within data structures residing in one or more memory devices. Such data structures enable the collection of data bits stored in a computer memory to have a certain physical structure and to represent specific electrical or magnetic components. These symbolic representations are tools used by those skilled in the art of computer programming and construction to most effectively convey discussions and discoveries to others skilled in the art.
For the purposes of this discussion, a general process is conceived to be a sequence of computer-executable steps that achieve the desired results. The steps are those generally requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals are often referred to by those skilled in the art as bits, values, elements, symbols, characters, terms, objects, numbers, records, documents, and the like. It should be borne in mind, however, that these and similar terms are to be associated with the appropriate physical quantities used for computer operation and that these terms are merely conventional labels applied to physical quantities that exist during and during computer operation.
It should also be understood that operations within a computer often refer to terms such as add, compare, move, and the like, which are typically associated with manual operations performed by an operator. It must be understood that such intervention by the operator is not necessary or desirable in the present invention. The operations described herein are machine operations performed in association with an operator or user interacting with a computer. The machine used to perform the operations of the present invention comprises a general purpose digital computer or other similar computing device.
Further, it should be understood that the programs, processes, methods, etc. described herein are not related to or limited to any particular computer or device. Rather, various types of general-purpose machines may be used with programs constructed in accordance with the teachings herein. Similarly, the following may prove advantageous: the specific apparatus is constructed from a specific purpose computer system with hardwired logic or a program stored in a non-volatile memory, such as read-only memory, to perform the method steps described herein.
The operating environment in which the invention is employed includes a typical distributed computing system in which general purpose computers, workstations or personal computers are connected through various types of communications links. In a client server setting, programs and data, as well as many objects, are available to members of the system.
According to the present invention, a user at a remote terminal in a network communicates with a server or world Wide Web (Web) site over the network and is able to download data from the server or Web site to the user's client workstation. As with the description of embodiments of the invention in this specification, a web browser program on a client workstation for browsing a network (e.g., the Internet) is referred to as a browser, and a server workstation that communicates with the browser workstation during download is referred to as a server.
The system of the invention comprises a plurality of computer terminals and a server. Various types of computers may be generally similar to one another, including a central processor, a display device, and an operator input device. Also, it should be understood that various types of computers may perform the operations described herein. A distributed system may include any of a wide variety of networks over which client computers and server computers communicate, including Local Area Networks (LANs), Wide Area Networks (WANs), the internet, and any other network that distributes the processing and sharing of data among a number of nodes. Online services generally provide functionality such as electronic mail (email), File Transfer Protocol (FTP), and World Wide Web (WWW) access.
The WWW is a graphical subnet of the internet. Users can easily access internet information and services on the WWW using common "web browser" software, such as mobile or Netscape Navigator. The browser handles the functions of finding and locating information on the internet and displaying information provided by the server. The WWW utilizes a technology called "hypertext" to organize, search, and display information on the internet. Using a browser, a user may select a word ("hypertext word") from a viewed document to link to another document containing information related to the word. These links are located in the web server domain to enable deep level-by-level searching or to form the basis for selection.
In the business world, a service provider may make a hypertext document called a "home page" using an internet address and hypertext editor, which a user may browse by accessing the provider's web server. The home page provides information about the services provided by the provider using graphical images, sounds, hyperlink options, and the like. With this information, the user is guided to browse the homepage in order to select the service and the desired service characteristics.
Turning now to the drawings in more detail, wherein like reference numerals refer to like parts throughout the several views, FIG. 1 shows a typical package dispensing apparatus 5 for handling packages. Each package distribution device 5 includes an image capture station 12, a plurality of control (keying) stations 14, an exception handling station 16, a labeling station 18, and a package loading station 20. The package 25 enters the device near the image capture station 12 at the bottom of the figure, proceeds further, and then proceeds to the left toward the package loading station 20. However, as is known to those skilled in the art, the flow of packages may begin in either direction and the conveyor belt 27 may take any shape. The packages 25 shown in fig. 1 vary in height, weight and size and can be placed in any orientation on the conveyor belt 27. The only location requirement is that the package identification information, mailing label, or processing form must be visible to the imaging system.
Fig. 2 shows a block diagram of the invention partially shown in fig. 1. As shown in fig. 2, the package handling system 10 is designed to communicate over a network 29. The package processing system 10 includes a plurality of interconnected computers and microprocessors running a plurality of operating systems. As an example, the network may include a pentium-based operating system operating on Windows/NT, UNIX, and/or Windows/CE operating systemsTMThe microprocessor of (1). FIG. 2 also shows that the package handling system 10 includes a knowledge-based server 31, a package information server 32, and a profile serverThe name server 33, as explained below, the knowledge-based server 31, the package information server 32, and the alias server 33 contain information that is accessible by a user logged into the system 10 who wishes to retrieve information stored on one of these servers. Each server may be programmed to store knowledge-based information, package information, or tracking information, respectively, for use by a customer at the user terminal 28. For example, a customer who wants to determine the location of their package in transit may access the alias server 33 through a browser running on the user terminal 28, and the alias server 33 may then access the package information server 32 to respond to the customer query. A user at a system user terminal 28 may access the system 10 over the network 29 via a wireless or wired interface from virtually any location. A user terminal 28 that interfaces with the system 10 via a wireless interface communicates with the rest of the user terminals of the system 10 by radio frequency radio waves, while a user connected to the network via a wired interface communicates with other users of the system 10 by a wired or fiber optic medium.
As explained below, when the package handling system 10 identifies a package 25, it either creates a new package record database entry or updates an existing entry, thereby making the status of each package handled by the system accurate. As shown in FIG. 2, the image capture station 12 also includes a lexical database 36, a package record database 37 and an image database 38, a form recognition module 64 and a field processing module 66. The image capture station 12 and its components will be described in more detail below.
Fig. 3 shows a typical form 40 being processed by the package processing system 10. Form 40 includes a source address 42, a destination address 44, a machine-readable code 46a, a reference mark 48, and shipping information 50. The source address 42 and destination address 44 are typically comprised of two to four lines of alphanumeric text, respectively, with the destination address 44 being located below the source address 42. The machine-readable code 46a typically comprises a one-or two-dimensional bar code or other symbol. In the preferred embodiment, the machine-readable code 46a includes a two-dimensional Probability Density Function (PDF)417 bar code. The forms have a plurality of reference marks 48 at predetermined locations to assist the system 10 in identifying and properly decoding the imaged forms. The form 40 also includes shipping information 50 that may be recorded on the form using check boxes. For clarity, the present description assumes that the form includes the information necessary to deliver the form and associated package to a predetermined destination. It should be understood that form 40 may include any type of information that may or may not be related to the package to be delivered.
Referring again to fig. 1, the components and operating principles of the package handling system 10 will be described in additional detail. When packages are placed on the conveyor belt 27, they are first conveyed to the image capture station 12, the function of which is to capture images of each package passing through the image capture station 12 by repeatedly capturing images of the conveyor belt 27 over a predetermined period of time. During the period from when the image capture station 12 captures an image of the package 25 until the package reaches the labeling station 18, the package processing system 10 extracts each form 40 from the captured image, analyzes the information written on the form, and creates a routing label for the package. Because image capture station 12 does not image a single form, processing system 10 first separates individual forms 40 from the captured image before decoding the information on individual forms 40. Once the forms are identified, the system 10 determines which packages have been labeled with a routing label. The routing tag consists of 32-bit special ASCII machine-readable code and optionally a two-dimensional symbol. It identifies the following attributes required by the application: the database associated with the package records the identifier, source and destination addresses, the particular handler of the package, and the form identifier originally associated with the package. The routing label may also include human readable alphanumeric text. A party shipping a large number of packages may be provided with a routing label generation system that allows routing labels to be attached to the packages before they reach the package handling system 10. After determining that the package does not have a routing label, processing system 10 identifies form 40, locates and decodes the information on form 40, and if necessary, creates a package record database entry. If the system is unable to perform any of the aforementioned tasks (due to a location routing tag exception), the exception handling station 16 is alerted and the problem is corrected there. When the package 25 arrives at the labeling station 18, a routing label is created, if necessary, and the package is allowed to proceed to the package loading station 20 after it is applied to the package 25.
The mechanism of operation of each parcel processing station will be described in more detail below. As shown in FIG. 4, image capture station 12 includes an image capture system 60, a pattern recognition system 62, a form recognition system 64, and a field processing system 66. As shown in fig. 5, the image capture station 60 includes an imaging module 100 and an electronics module 200. The imaging module 100 is comprised of a primary lens (or mirror) 102, a secondary lens (or mirror) 104, a phase mask 106, and at least one detector 108. In operation, the imaging module 100 continuously captures high resolution images of a length of conveyor belt 27, including capturing packages 25 that are on the conveyor belt length at any instant in time. Unlike prior art parcel imaging systems, imaging module 100 may simultaneously capture a clear image of the upper surface of a plurality of parcels 25 regardless of parcel height. Packages 25 moving with conveyor belt 27 that have not been previously aligned may also be imaged. The conveyor belt 27 is imaged onto a detector 108 by a main lens 102, an auxiliary lens 104 and a phase mask 106. The phase mask 106 changes the phase of light transmitted therethrough. It includes optical materials that differ in opacity, thickness, or refractive index. The phase mask 106 is used to alter the incoherent optical system (a system that only detects and processes signal strength) so that the system, which is responsive to a point object or Point Spread Function (PSF), is relatively insensitive to the distance of the point from the main lens 102 over a predetermined range of object distances. In addition to having the ability to image multiple packages simultaneously, regardless of their height, this arrangement minimizes distortion of the package label image on curved and tilted surfaces, thereby improving the performance of the algorithms subsequently used to decode bar codes and perform character recognition. The output of the phase mask 106 is sampled by a detector 108, amplified by camera electronics 110 and digitized in a frame grabber 112 for processing by a processor 114.
As is well known to those skilled in the art, character recognition techniques for automation of package routing require high resolution images (at least 200 dots per inch). To capture an image of the entire conveyor belt 27 (typically 3-5 feet wide) at this resolution, the conveyor belt 27 requires 9-15000 pixels. To accomplish this task, the image capture system 60 employs an imaging module 100 comprised of a dual camera assembly 116. As shown in fig. 6, the dual camera assembly 116 is comprised of two high resolution cameras 120 and 120' oriented 90 apart. Each of the high resolution cameras 120 and 120' is preferably a line scan or Time Delay Integration (TDI) camera for continuously imaging the moving conveyor belt 27. As shown in fig. 6, the phase mask 106 is located in an aperture stop behind the auxiliary lens 104. A small beam splitter 122 is placed in the converging beam after the phase mask 106 and sends the image split beam to detectors 108 and 108'. This assembly allows the dual cameras to image the conveyor belt 27 through a common optical path. The fields of view (FOV) of the cameras may be made identical, overlapping to different extents, or completely separated by the beamsplitter 122. In the preferred embodiment, two cameras image both sides (left and back) of conveyor belt 27, respectively, with only a 1% overlap of the camera fields of view. Thus, this approach achieves nearly twice the resolution of the widest high-resolution camera available.
Fig. 7 shows a side view of imaging module 100 (shown in fig. 5). In addition to the components previously discussed, imaging module 100 also includes fold mirrors 202, 204, and 206 for directing the light beam from conveyor 27 to secondary lens 104. As shown in FIG. 7, light reflected by objects on conveyor 27 travels along beam 130 and is first reflected by fold mirror 202 into imaging module 100. The beam 130 then passes to fold mirror 204, primary lens 102, fold mirror 206, and on to dual camera assembly 116.
Fig. 8 illustrates the electronic module 200 (fig. 5). As discussed with reference to fig. 5, the electronic module 200 includes the camera electronics 110, the frame grabber 112, and the processor 114. As shown in fig. 8, the camera electronics 110 includes a band encoder 132, a frame control processor 134, and an illumination control unit 136. The dual cameras 120 and 120 'transmit the images to the frame grabbers 112 and 112', respectively, for digitization. Frame grabbers 112 and 112 'process the images and in response feed camera control signals back to cameras 120 and 120'. A frame control processor 134 is used to perform a frequency doubling operation on the band encoder pulses to maintain a relatively constant scan resolution, thereby synchronizing the camera scan with the conveyor belt motion. The illumination control device 136 maintains a relatively constant image brightness as a function of tape speed, with which the frame control processor 134 also controls the illumination of the cameras 120 and 120'. Imaging processor 114 then performs pixel-by-pixel image correction and analysis and saves the image to image database 38 (shown in fig. 2 and 4) before passing the processed image to pattern recognition system 62 for additional processing. It will be appreciated by those skilled in the art that although described as a system including a single imaging processor 114, any number of imaging processors 114 may be employed. For example, if two imaging processors are employed (for cameras 120 and 120', respectively), they would communicate and coordinate the transmission of the local images to "stitch" together the field images of the images across the two cameras. In any case, the processing of the image decoding operation may be implemented with a two-dimensional convolution operation on the time domain. However, the computational throughput requirements of large two-dimensional convolutions at the high resolution required, especially with the fastest conveyor speeds used in practice, must be considered. For example, a minimum of 1.5 trillion floating point operations (1500000 million floating point operations) are required to perform a 64 x 64 element convolution on a 5 foot wide carousel running at 500 feet/minute. To reduce the computational requirements, the phase mask 106 in the described implementation is encoded with a separable PSF (point spread function) that is decoded with two orthogonal one-dimensional convolutions. In the above example, the reduction factor of the number of calculations is 32.
When the pattern recognition system 62 (shown in fig. 4) receives the digitized image, it analyzes the captured image's luminance data line by line to locate the predetermined pattern. Although any number of patterns may be used, FIG. 9 shows only four examples of patterns that may be used with the present invention. As shown in fig. 9, the pattern 46 may be a machine readable code 46a, text 46b, a repeating pattern 46c, or a picture 46 d. For purposes of this detailed description, the predetermined pattern 46 is assumed to be a machine-readable code 46 a. Because image capture station 60 images a portion of conveyor belt 27 rather than a single package 25, there is always the possibility of capturing a local pattern in a single image. If the pattern recognition system 62 determines that only a portion of the pattern has been captured in the current image, it first ascertains where the remainder of the pattern 46 (top or bottom of the current image) can be found. If the remaining portion is found at the top of the current image (indicating that another portion of the pattern 46 was captured in the previous image), it will retrieve the remaining portion of the pattern 46 from the image database 38 and complete the process. If the pattern recognition system 62 determines that the remainder of the pattern 46 is found at the bottom of the current image (indicating that another portion of the pattern has not been captured), it will defer further processing of the pattern 46 until the remainder is captured. When the pattern recognition system 62 has located all of the images necessary to form the complete pattern 46, it will stitch the separate portions together to create a composite pattern, and processing will continue.
After the pattern recognition system 62 detects the machine-readable code 46a, it determines whether the code corresponds to a routing label and, if appropriate, updates the corresponding record in the package record database 37. As explained previously, when pattern recognition system 62 determines that the machine-readable code 46a is a route label, no further processing is required.
If the machine-readable code 46a is not a routing label, then the wrapping process flow proceeds to the form identification system 64, which locates the reference mark 48 on the form 40 and determines the region of interest (ROI) based on the position and orientation of the machine-readable code 46a and the reference mark 48. The ROI is then extracted from the captured image for further processing. Similar to the case of the pattern recognition system 62, there is the possibility of: although one complete pattern 46 is captured in a single image, the ROI may actually be located in two or more consecutive images. If form recognition system 64 determines that multiple sequential images have captured a single form, processing will proceed as previously discussed with reference to pattern recognition system 62. That is, form recognition system 64 will access image database 38 and retrieve the remainder of the previously stored form or abort the process until the complete form 40 has been captured. In short, the size of the ROI varies with the size of the detected pattern, and is limited to the maximum form size stored in the form database 78.
The operation of the pattern recognition system 62 will be further described by way of example. The form 40 shown in FIG. 3 represents a typical form to be captured by the image capture system 60. When pattern recognition system 62 receives the digital image of form 40, a processor operating in pattern recognition system 62 analyzes the scan data captured from the form image and attempts to locate machine-readable code 46a on form 40. Once the pattern recognition system 62 locates the machine-readable code 46a, it passes the image to the form recognition system 64, which then locates the reference mark 48 on the form, calculates the ROI 49, extracts the region bounded by the ROI 49 from the captured image, and identifies the imaged form.
As shown in fig. 4, the form recognition system 64 accesses the form database 78 to identify the imaged form. Whenever a form is added to form database 78, the location of all fields, the characteristics of the fields, the relationship of the pattern to the reference marks, and the relationship within the fields are stored for access by form recognition system 64. Any form, even of another vendor (e.g., UPS), may be stored in the forms database 78. In operation, form recognition system 64 compares the spatial relationship between observed pattern 46 and reference mark 48 to the pattern-reference mark relationships registered and stored in form database 78 to identify the captured form. Form recognition system 64 includes a general purpose, high performance computer that interfaces with form database 78 to identify imaged forms for further processing by field processing system 66. The form recognition process may utilize any physical characteristic of form 40, such as field location, symbol, or form size, to assist in the identification process. Again, if pattern 46 on form 40 is a machine-readable indicator, its contents may also be used as part of the identification process. If the form recognition process fails, the image is forwarded to the exception handling station 16 for manual processing. Once form 40 has been identified, its identity and associated image data is then communicated to field processing system 66.
In addition to receiving the imaged form and its identity from form recognition system 64, field processing system 66 also receives the location, field characteristics, and intra-field relationships of all data fields on the imaged form to assist in the analysis of the imaged form. The field data may be machine printed, handwritten (print or cursive) but machine readable, check box or a combination of the above. As shown in fig. 4, the field processing system 66 accesses the pre-printed air manifest database 72, the vocabulary database 36, and the address verification database 76 to decode the information written on the imaged form. Basic vocabulary information can be used for both character recognition and field verification processing, and the recognition function is enhanced by using the basic vocabulary information. Once the fields on the form are processed, the system performs a package-record association operation in which package information is associated with existing entries in the package record database 37 or new entries are created. The information stored in the package record database 37 may then be recalled to generate a routing label containing the captured information. A routing label may also be generated that is an identifier that references the captured information, or a combination of the two types described above. The captured label information is then associated with the object (package) containing the form 40 by the presence of the ancillary capture machine readable code 46a on the object (package). This capture operation is performed by the operator of the tag station 18. It locates the information stored in the package record database 37 and generates a routing label.
FIG. 10 is a functional flow diagram of field processing system 66 according to the present invention. One of the elements of this system is that it can supplement specialized OCR/ICR processing with vocabulary analysis to quickly and efficiently identify the best match for an unverified string, or to identify a small number of high frequency candidates for review by an operator at the primary or secondary control station 14a and 14b, respectively. The selection of the recognition engine (OCR/ICR, bar code and 2D symbol decoding engine, etc.) will be driven by the characteristics of the field to be processed. This additional process coordinates the use of contextual information with OCR/ICR analysis to improve the accuracy achieved by the system. The field-specific recognition process is assisted, when necessary, by using installation-specific lexical information that is continually modified and optimized based on the processed form information.
An example of such a vocabulary might be a list of city names in the united states (or other country code) corresponding to frequently identified destinations for packages shipped by a particular user. When the system determines that a package shipped by a user contains an unverified string, instead of accessing the large verification of address (ZIP +4) database 76, the field processing system 66 accesses a fairly small and manageable vocabulary that is customized for that user and contains up to about 1000 valid entries.
As will be described in detail below, the process has two stages: (1) using a database consistent with the recognition engine and vocabulary to dynamically process strings and disambiguate or get a list of short candidate strings to be analyzed by the operator (fig. 10 a); and (2) updating the vocabulary according to the processed form (FIG. 10 b).
Referring to FIG. 10a, field processing system 66 first determines whether the decoded machine-readable code 46a is associated with a shipper that repeats the shipping frequency moderately (step 300). In the preferred embodiment, air manifest numbers are pre-assigned to shippers with repeat shipments at intermediate frequencies, which may be identified by accessing a pre-printed air manifest database 72 (FIG. 4) using the decoded machine readable code 46a as an input parameter. Shippers with intermediate repeat shipping frequencies also have associated data records stored in the lexical database 36 (fig. 4) that correspond to the most common package destinations for that shipper. The field processing system 66 accesses the lexical database 36 to assist in the verification of the decoded information. In some cases (e.g., when the shipper sends packages from a small number of addresses), information from the vocabulary database 36 may be copied directly into the package record database 37 instead of the time consuming process of decoding the form data. If the decoded machine-readable code 46a is not associated with a shipper with an intermediate frequency of repeat shipments, process flow advances to step 306. If, on the other hand, the decoded machine-readable code is associated with a shipper with an intermediate frequency of repeat shipments, process flow advances to step 302 where the system determines whether a single source address 42 is associated with the decoded machine-readable code 46 a. If a single source address 42 is associated with the decoded machine-readable code 46a, process flow advances to step 304 where the source address is extracted from the pre-printed air manifest database 72. If no single source address 42 is associated with the decoded machine-readable code 46a, process flow advances to step 306. At step 306, field processing system 66 decodes the source address 42 using the most appropriate recognition engine (OCR or ICR), depending on the data format to be decoded. Process flow then advances to step 308 where field processing system 66 decodes destination address 44 using the recognition engine at step 308. In step 309, the system determines if there are more fields to decode. If so, process flow advances to step 310 to decode the next field. Otherwise, process flow advances to step 332 (shown in FIG. 10b) where field processing system 66 updates package record database 37 with the information of the decoded form at step 332. Next at step 336, field processing system 66 updates and rearranges the user vocabulary data stored in vocabulary database 36, with the process terminating thereafter.
Fig. 11 illustrates a flowchart of the decoding process performed by field processing system 66 in steps 306, 308, and 310 of fig. 10A. At step 412, the desired fields are read from the imaged form 40. The retrieved data is then processed using the field-specific recognition engine at step 414 to validate the information in the retrieved field. As known to those skilled in the art, conventional recognition engines (I/OCR) analyze input strings only character by character. When the complete word has been analyzed, the processor compares the analyzed word to the spell checker as a way to further validate the character-by-character analysis. Once the recognition engine has analyzed the data, process flow advances to step 416 where field processing system 66 determines if the shipper is the one who repeatedly ships to the same destination at a moderate frequency (step 416). If the shipper is not a shipper shipping packages to the same destination at a medium frequency, the processed information is compared to the information stored in the address verification database 76 (step 420). Otherwise, the information processed in step 414 is compared to the smaller vocabulary database 36 (step 418). Comparing the analyzed data with entries in a suitable database increases the likelihood of correctly analyzing the vocabulary.
Once the information is compared to the appropriate record in lexical database 36 or address verification database 76, field processing system 66 determines whether the processed information constitutes a valid entry (step 422). A valid entry is an entry that is identical to an entry in the selected database or an entry that sufficiently matches an entry to a predetermined degree. If the entry is determined to be valid at step 422, the decoding process is complete.
If the entry evaluated in step 422 is invalid, the process flow advances to step 428 where the system retrieves a similar entry from the appropriate database and then sends a record containing the identified entry to either the primary control station 14a or the secondary control station 14b depending on the nature of the unverified information. As shown in fig. 2, the primary control station 14a is located at the package distribution facility 5, while the secondary control station 14b may be located anywhere that provides network access to the package handling system 10. Data that must be immediately decoded to create a routing label (e.g., source address 42, destination 44, etc.) is routed to the on-site primary control station 14a, while secondary (i.e., data that is not used to create a routing label) is transmitted to the off-site secondary control station 14 b. The primary control station of one device may be a secondary control station of another device. If the operator of the control station 14 is unable to decode the information, the package is unloaded from the conveyor belt 27 and routed to the exception handling station 16 (step 430) for visual inspection of the package. Otherwise, the process flow terminates.
Each processed form is processed as an independent data record. The data record contains processed information and/or image information obtained from the form. If the system detects that multiple forms are applicable to the same package, the record can be supplemented with references to other records. Further, an automatically generated record identifier may be included in the record. This allows the use of standard methods of accessing the captured information and encoding its references in a barcode or 2D machine-readable format. It also allows users who wish to track the status of packages in transit to conveniently use alias server 33 (FIG. 2). As previously described, when the package 25 has been imaged and processed, the data obtained from the surface of the package 25 is populated into entries in the package record database 37. Once an entry for the package record database is created, the user has read-only access to the package routing information contained in the package record database 37 in order to track the progress of the package 25 from the origination to the destination. Because the user accessing alias server 33 is generally unaware of the record identifier of the newly created package record database entry, alias server 33 provides the functionality to locate package 25 using any information retrieved from the surface of package 25. For example, the shipper may retrieve routing information for a particular package from alias server 33 by entering only the source address 42, destination address 44, air manifest 46a, or a combination thereof. Although it is not possible to isolate a particular package by either the source address 42 or the destination address 44 alone, alias server 33 provides the functionality to identify a collection of packages that satisfy the input conditions.
As shown in fig. 12, user terminal 28 preferably includes a main memory 500, a display device 510, an input device 520 such as a keyboard and pointing device such as a mouse, trackball, pen, slide pointer (or the like), a mass storage device 540, and a Central Processing Unit (CPU)530, in addition, user terminal 28 is preferably connected to an internal or external modem 550 or similar means for communicating with network 29, hi addition, user terminal 28 may be connected through an Integrated Services Digital Network (ISDN) adapter and ISDN lines, in order to communicate with the network 29, the mass storage device 540 of the user device 28 maintains an internet browser 560, to instruct the CPU 530 to perform various functions related to retrieving and viewing web pages stored on the internet.
Fig. 13 is a schematic diagram of alias server 33 according to the present invention. As shown in fig. 13, alias server 33 includes a main memory 600, a display device 610, an input device 620, a mass storage device 640, a CPU 630, and an internal or external modem 650. As also shown in fig. 13, the mass storage device 640 maintains a package tracking database 660. Once a package record database entry is created, information is extracted from the entry and copied to the pairing record in package tracking database 660 for access by a user accessing alias server 33. The tracking record database 660 is comprised of information about in-transit packages 25 that is accessible online through a series of associated web pages. Once the user accesses the home page of the package handling system 10, he/she will be able to access all of the package tracking information associated with the home page. The individual pages are typically sent in the form of hypertext markup language (HTML) pages over a communication link to a WEB browser 560 running on the requesting user terminal 28.
To illustrate the use of words in accordance with the preferred embodiment, FIG. 14 shows a sample of origin labels and destination labels. In this simplified field processing example, there are three vocabularies. These words are based on the following information: street level address 700, account specific information 710, preprinted air delivery number 720, shipper information 42 (shown in FIG. 3), consignee information 44 (shown in FIG. 3), and shipper-consignee history 730. As described above, when field processing system 66 receives the form 40 image and the decoded machine-readable code 46a from the form recognition system 64, it accesses the lexical database 36 to determine whether the preprinted air shipping manifest number 720 is associated with a shipper with an intermediate frequency of repeat shipments. If so, field processing system 66 determines whether a single or small number of source addresses 42 are associated with the preprinted air manifest number 720. If a smaller number of addresses are associated with the air manifest number 720, then field processing system 66 extracts the addresses from the preprinted air manifest database 72. Otherwise, it decodes the address using the appropriate recognition engine (O/ICR). Once the source address 42 is decoded, the field processing system again accesses the lexical database 36 to confirm whether a high priority shipper-recipient history 730 exists. In effect, field processing system 66 determines whether the shipper identified in the source address is often shipping to the same address. If so, the recognition engine decodes the destination address 44 using the lexical database. Once this information has been decoded, the system updates the priority in the lexical database 36 to reflect the previously processed forms. In this way, the vocabulary associated with the vocabulary database 36 reflects the latest trends of shippers in terms of package handling. By tracking shipper behavior, it is possible to select an optimized I/OCR-vocabulary combination for each shipper. If the shipper typically sends to a large number of different recipients, a lower priority is placed on the shipper-recipient vocabulary. This illustrates how adaptive reasoning affects the order in which different vocabularies are applied to a particular field or set of records. When applied, information is processed using inter-field or intra-field relationships (if these exist as part of the form registration selection), as well as existing validated data. As previously described, such relationships are identified at the time of form entry and as part of the vocabulary selection process.
There may also be cases where: third party verification of the recorded information is required prior to delivery of the package. This applies to fields relating to billing, such as account numbers and/or credit card information. That is, once the package has been processed by the pattern recognition system 62 and the machine-readable code 46a has been decoded, the package processing system 10 can attempt to secure the authentication/verification of the billing method as a prerequisite for issuing a routing label. Further, there may be cases where: building a record requires additional information not already available on the form. This applies to any recording whose content requires verification to ensure that the information provided meets the application target requirements. One example is verifying that a package containing a hazardous material is properly secured and properly packaged.
As shown in fig. 1, the package 25 continues to move along the conveyor belt 27, next past the labeling station 18, where the operator scans the machine-readable symbol 46a to retrieve the package record database 37 associated with the imaged form. Most require reading a bar code on an item. When the bar code is read, a query is performed on the package record database 37 for the decoded entry. A routing label is then generated if the entry is found and all required information is available. If the entry is found, but there is insufficient information to generate a routing label, an exception label is generated. After the exception label is applied, the item is forwarded to an exception handling station 16. Once the anomaly is corrected, the entries of the package record database 37 are updated and a new routing label is generated and printed using a suitable printer, such as a bar code printer (not shown). The routing labels are applied to the packages and utilized by the operator of the package loading station 20 to properly route each form and its corresponding package to the correct location and track its progress.
Throughout the process, the package handling system 10 constantly monitors the progress of the packages from their placement on the conveyor 30 to their arrival at the labeling station 18 and corrects for possible anomalies using the anomaly handling station 16. The exception handling station 16 is actually a combination of the other three key components (auxiliary image capture, main control 14a, and tag station 18). For these purposes, exceptions include the following situations: indeed, the form (air manifest) image cannot be found, unregistered forms are identified, OCR or ICR software cannot decode the character fields with high confidence, or there is a contradiction (e.g., a non-existent address) in the data decoded with high confidence. Whenever an exception is identified, the operator is notified to provide manual handling, create an exception record, or both.
From the foregoing, it should be appreciated that it should be apparent that the present invention provides an efficient system and method for reading package information. The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware will be suitable for implementing the present invention. For each of the components described above, many alternatives are commercially available, each with different cost and performance characteristics.
Although many aspects of the present invention are described as being stored in memory, those skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer-readable media, such as secondary storage devices, e.g., hard disks, floppy disks, or a CD-ROM, popular network storage (carrier wave from internet), or other forms of RAM or ROM. Similarly, the method of the present invention may be conveniently implemented using program modules based on the flowcharts of FIGS. 10 and 11. No particular programming language has been specified for carrying out the various processes described above because it is considered that the operations, steps and processes described above and shown in the accompanying drawings are sufficiently disclosed to allow those skilled in the art to practice the present invention. Moreover, there are many computers and operating systems that may be used to implement the present invention, and thus, no detailed computer program is provided that is suitable for use with these various systems. Each user of a particular computer should know the languages and tools most useful to that user's needs and purposes.
It will be apparent to those skilled in the art that there are various alternative embodiments without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is defined by the appended claims rather than the foregoing description.
Claims (7)
1. A method of accessing package routing information on a computer network connecting at least one user terminal and at least one alias server, the method comprising the steps of:
entering information at a user terminal to retrieve package routing information, wherein the entered information includes package identification information required by the at least one alias server to retrieve the package routing information;
sending the input information from the user terminal to the alias server; and
transmitting package routing information from the alias server to the user terminal whenever the alias server has located a database record corresponding to the input information.
2. The method of claim 1 wherein said step of communicating package routing information further comprises the step of accessing a package information server by said alias server.
3. The method of claim 1 wherein said step of communicating package routing information further comprises the step of accessing a package tracking database by said alias server.
4. A computer system for accessing package routing information over a computer network connecting at least one user terminal and at least one alias server, the system comprising:
a memory containing program instructions; and
a processor configured to access customer input information using the program instructions to retrieve package routing information, wherein the input information contains package identification information required by the at least one alias server to retrieve the package routing information; sending the input information from the user terminal to the alias server; and transmitting package routing information from the alias server to the user terminal whenever the alias server has located a database record corresponding to the input information.
5. The computer system of claim 4 wherein the instructions for communicating the package routing information further comprise instructions for accessing a package information server by the alias server.
6. The computer system of claim 4 wherein the instructions for communicating package routing information further comprise instructions for accessing a package tracking database by the alias server.
7. A computer system for accessing package routing information over a computer network connecting at least one user terminal and at least one alias server, the system comprising:
means for inputting information at a user terminal to retrieve package routing information, wherein the input information includes package identification information required by the at least one alias server to retrieve the package routing information;
means for sending the input information from the user terminal to the alias server; and
means for transmitting package routing information from the alias server to the user terminal when the alias server has located a database record corresponding to the input information.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2001/001543 WO2002057030A1 (en) | 2001-01-18 | 2001-01-18 | Reading and decoding information on packages |
| CNB2005100524968A CN100363944C (en) | 2001-01-18 | 2001-01-18 | Method and system for accessing information on parcel |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HK04108487.9A Addition HK1065742B (en) | 2001-01-18 | Method and systems for reading and decoding information on packages |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HK04108487.9A Division HK1065742B (en) | 2001-01-18 | Method and systems for reading and decoding information on packages |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1081699A1 HK1081699A1 (en) | 2006-05-19 |
| HK1081699B true HK1081699B (en) | 2008-05-09 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1351781B1 (en) | Reading and decoding information on packages | |
| US7177444B2 (en) | Method and apparatus for reading and decoding information | |
| CN100444187C (en) | Method and device for automatic classification | |
| CA2021664C (en) | System and method for deferred processing of ocr scanned mail | |
| JP3495739B2 (en) | Parcel information reading system and method | |
| JPH0824897B2 (en) | System and method for processing OCR scanned mailpieces | |
| HK1081699B (en) | Methods and systems for accessing information on packages | |
| HK1065742B (en) | Method and systems for reading and decoding information on packages | |
| NZ537879A (en) | A method and a system for accessing package routing information on a computer network | |
| JPH0768222A (en) | System and method for handling parcel | |
| AU2001235944B2 (en) | Automatic location of address information on parcels sent by mass mailers | |
| KR20050047776A (en) | Method and apparatus of generating information of tributary for delivery and invoice therefor | |
| AU2001235944A1 (en) | Automatic location of address information on parcels sent by mass mailers | |
| IL152256A (en) | Automatic location of address information on parcels sent by massmailers |