Abstract:
In general terms, the present invention provides a method of automatically scanning an inventory field to allow the selection of a desired item for retrieval. A camera is positioned in the crane trolley located above the field. The camera continuously performs a scan of the field displaying an image to the operator of the items being scanned. This real-time image allows the operator to distinguish between items scanned in the field. The operator can subsequently choose the desired item triggering the camera system to automatically capture desired information from the item which is in turn communicated to an inventory control system. The camera system mitigates the requirement of a second individual to communicate information between the field and the operator.

Description:
This application claims priority from U.S. patent application Ser. No. 60/601,183 filed on Aug. 13, 2004. 

   FIELD OF THE INVENTION 
   The present invention relates to a method and apparatus for remotely reading an identifier on an object. 
   BACKGROUND OF THE INVENTION 
   Items produced in a manufacturing environment will typically be stored in a warehouse for shipping at a later date. A shipping warehouse will typically house a plurality of products, which are made by differing processes or have different characteristics. This collection of warehouse items may be referred to as the ‘field’. The field can be substantially large and therefore may be organized into a set of defined locations resembling a ‘grid’. The warehouse items are placed at appropriate locations within the grid and these locations are recorded, creating a mapping of the items for subsequent rearrangement or retrieval. A shipping order will typically comprise a combination of dissimilar items from this field requiring this combination of items to be located and collected to complete the shipping order. This shipping order is sometimes referred to as a shipping manifest or lift ticket. Further to gathering items for a shipping order, it may be necessary or beneficial to rearrange or move around the items in the field to optimize floor space or to enable a more efficient arrangement of the items. 
   When the items manufactured are of substantial dimension and weight, it is typically necessary to retrieve the items from the field using an overhead crane or similar device capable of lifting and transporting items of such dimension and weight. The use of an overhead crane requires the operator of the crane to either be placed at a remote location relative to the field (in the cab of a crane for example) or to operate the crane with a remote control device at field level. 
   When the operator is at a remote distance, the operator may be unable to distinguish between items in the field that are required for a given shipping order. This situation is of particular concern where items are of similar shape but different characteristics, such as in the steel industry where coils of stock that are produced with differing specifications appear similar, especially when viewed from a distance. If the operator uses a remote control device to operate the crane, navigating the field while moving the crane, and reading and scanning the items becomes quite cumbersome for one person. Furthermore, the use of one person at the field level to control the crane, identify the items of interest and scan the item becomes cumbersome due the need for multiple devices to both control the crane and scan the item. 
   If the crane operator is remotely located relative to the field, a second individual is required to identify the existence and position of the desired items at the field level, to scan the desired items and communicate this information to the operator. The communication between the two individuals is required to identify the item of interest for rearrangement or shipping purposes. 
   The use of two individuals to gather items in a shipping order tends to be both inefficient and labour intensive given the task to be completed. In the steel industry where the items in the field are of substantial size and weight, the individual assigned to track the appropriate items at the field level would find the method of scanning to be not only time consuming but also dangerous. The inadvertent movement of large items on the field poses a threat to the safety of the individual at the field level and the large area of the field does not lend itself to an efficient method for identifying the desired items in the shipping order. 
   In the steel industry where the items in the field are large coils, typically the individual at the field level manually scans a barcode found on a tag affixed to the coil. This introduces a possibility for human error. The human error can lead to the processing of incorrect coils, which could possibly generate an incorrect shipment to the customer. Further to the time-related inefficiencies and inherent safety risk, the use of a field level individual requires additional floor space for the above-mentioned navigation of the field. By eliminating the use of a floor operator, less floor space would be required. This is due to a reduction in the required size of the lane ways between adjacent coils. Space is then only required to accommodate the jaws of the crane&#39;s picker. This requires an apparatus capable of viewing the field from a distance. 
   To remotely view labels and barcodes, it has been known to use a camera mounted in a fixed position whereby movement of an item into the field-of-view of the camera allows for remote viewing of a label. This method however requires the position of the labels to be known and the correct item to have been picked by the crane in advance of the camera scan. 
   Another method of reading labels and barcodes remotely involves a moveable camera capable of tilting, panning and zooming to focus on a desired label or barcode. This method however, requires additional operations to be manually executed by the operator of the crane to identify not only the item of interest but also to correctly centre and zoom in on the label for reading. These additional operator interactions impose an additional opportunity for human error. 
   It is therefore an object of the present invention to provide a method and apparatus to obviate or mitigate the above disadvantages. 
   SUMMARY OF THE INVENTION 
   In general terms, one aspect of the present invention provides a method for remotely scanning objects including the steps of using an imaging system to display an image of the objects on an interface, receiving a location input related to an identification tag which is attached to a desired object based on a location in the image, using the location input to orient the imaging system towards the identification tag, magnifying the identification tag, and reading information identifying characteristics of the desired object provided by the identification tag. 
   In another aspect, the present invention provides a system for remotely scanning objects comprising an imaging system positioned remotely from the objects and arranged to image the objects. The imaging system has an adjustable lens for magnifying the image. The system also comprises an interface for displaying an image of the objects and is adapted for receiving a location input for an identification tag attached to a desired object based on a location in the image. The system also comprises a processor connected to the imaging system and the interface. The processor uses the location input to orient the imaging system towards the tag, commands the adjustable lens to magnify the tag, and reads information identifying characteristics of the desired object provided by the tag. 
   In yet another aspect, the present invention provides a method for aligning a tag in an image, the tag being affixed to an object and having indicia thereon. The method has the steps of obtaining an image of the object having at least a portion of the tag visible in the image; arranging at least one sensor on said image; identifying at least one marking on the tag using the at least one sensor, the at least one marking indicative of the position of the tag in the image, and indicative of a respective region of interest in the image corresponding to at least a portion of indicia on the tag, each of the respective regions of interest intersecting one of the at least one sensor; computing an average position of the at least one marking to determine a deviation of the average position from a preferred position; and aligning the tag in the image according to the deviation. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Embodiments of the invention will now be described by way of example only with reference to the appended drawings wherein: 
       FIG. 1  is a schematic representation of a remote crane barcode scanning system. 
       FIG. 2  is a schematic representation of a scanning camera. 
       FIG. 3  is a view of the operator control interface within a crane cab. 
       FIG. 4  is an enlarged view of the touchscreen transmitting an image of the field to the operator via the camera of  FIG. 2 . 
       FIG. 5   a  shows an inventory tag. 
       FIG. 5   b  is a representative schematic of the items identified by the camera system during an image analysis procedure. 
       FIG. 6  is a schematic representation of the system. 
       FIG. 7  is a flow chart representing one embodiment of the field scanning process. 
       FIG. 8  is an alternative embodiment of the remote crane barcode scanning system of  FIG. 1  utilising two cameras. 
       FIGS. 9   a - 9   d  are diagrams pictorially showing steps in a tag alignment procedure. 
       FIG. 10  is a flowchart illustrating the steps performed in the tag alignment procedure of  FIG. 9 . 
       FIG. 11  is a flowchart illustrating steps that continue from the flowchart of  FIG. 10 . 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Referring therefore to  FIG. 1 , an overhead crane system  10  is positioned above a field of inventory  20 , the inventory in this embodiment being coils  22  of steel varying in specification. The coils  22  are initially placed in the field  20  and the respective positions of the coils  22  in the field  20  recorded using a range finder  13  or other means. Each position may then be correlated to its respective coil  22  using the system  10  or other suitable methods. The correlation of position to coil  22  enables an operator of the system  10  to at a later time target a particular area of the field in order to locate and scan the coil  22  to determine if it remains at its recorded position. 
   The overhead crane system  10  includes a trolley  12  mounted upon a bridge  26  and has a communication connection to an operator cab  18 , preferably over a festoon cable to accommodate movement of the trolley  12  relative to the cab  18 . The cab  18  is situated in a fixed position at one end of the bridge  26 . An inventory control system  24  includes coordinates of objects and also has a communication connection with the operator cab  18 . The trolley  12  includes a set of motors  28  to facilitate translation of the trolley  12  along the bridge  26 . Typically the bridge  26  is mounted on rails  25  transverse to the bridge  26  allowing the bridge  26  to translate fore and aft along the rails  25 . 
   Translation of the bridge  26  and the trolley  12  in the directions indicated allows the trolley  12  to access objects located anywhere in the field  20 . The trolley  12  furthermore includes a picker  16  for vertically hoisting coils  22  from the field  20 , a camera system  14 , and the range finder system  13  having separate range finders for locating the trolley&#39;s position along each axis of the field  20 . 
   The camera system  14  can be seen in greater detail when referring to  FIG. 2 . The camera system&#39;s components are housed within a casing  36  and this casing  36  is mounted to the underside of the trolley  12 . A zoom lens  32  of a camera  34  protrudes beyond the lower surface of the casing  36 , which is partially open and covered by a transparent acrylic enclosure  30 . The camera  34  is preferably a “smart” camera, which is a camera having a microprocessor capable of processing image data. This functionality enables the camera  34  to process information related to the coils  22 , that are acquired in an image. 
   The processing may also be done remotely from the camera  34  in a separate processor. The acrylic enclosure  30  allows movement of the zoom lens  32  within its volume and is transparent, allowing the lens  32  to capture images. The camera  34  is controlled by a pan/tilt mechanism  40 . The pan/tilt mechanism  40  can orient the camera  34  using various pan and tilt operations in order to point the camera  34  towards a desired area of the field  20 . A motor  38  is incorporated within the pan/tilt mechanism  40  and controls its movements. The motor  38  is controlled by an electronic controller  33  which has a communication connection to the smart camera  34  or other system control computer (not shown). 
   The interface located within the operator cab  18  is shown in  FIG. 3 . The cab  18  contains a computer interface  50  which includes a touchscreen  54 . A control console  52  allows the operator to control manually, the movements of the trolley  12 . 
   Making reference now to  FIG. 4 , the touchscreen  54  displays the images acquired by the camera system  14 . These images show objects in the field  20  and in this particular example are coils of steel  22 . The coils  22  are of differing specifications, and information pertaining to the coil  22  is stored on a tag  60 . The tags  60  are intended to be affixed to the upward facing surfaces of the coils  22  typically in an unspecified manner and therefore do not appear at consistent locations on the upward facing surfaces of the coils  22  or in consistent orientations thereon. The information found on the tag  60  is unreadable from the distance that the operator is located and therefore must be magnified by the camera system  14 . A tag  60  is shown in  FIG. 5   a . The tag  60  includes a barcode  64 , a numerical code  66  and a set of alignment markers  62 . An alignment marker  62  is located in the proximity of each of the four corners of the barcode  64 . One alignment marker  62   a  is dissimilar to the other alignment markers  62   b ,  62   c ,  62   d . The dissimilar alignment marker  62   a  is used by the camera system  14  to determine the orientation of the tag  60  in the image. The orientation of the tag  60  allows the camera system  14  to choose the appropriate direction to perform the barcode scan. 
   In  FIG. 5   a , the dissimilar marker  62   a  is located in the top-left portion of the image with respect to the other markers  62   b ,  62   c ,  62   d . The dissimilar marker  62   a  includes a triangular notch which points towards the centre of the barcode  64 . The remaining three markers are triangular in shape and are rotated 90° with respect to each other such that they each point towards the centre of the barcode  64 . The alignment markers  62  are located at substantially equal distances from the centre of the barcode  64 . These distances are known proportions of the tag&#39;s size (for instance a proportion of the width). These proportions and the tag size itself are programmed into the camera system  14 . The camera system  14  can use the width of the tag  60  seen in the image to establish scale. Distances can be measured from the alignment markers  62  based on the established scale, the known proportions and the resolution of the camera system  14 . The barcode  64  and the numerical code  66  contains identification information pertaining to the coil  22  to which the tag  60  is affixed. 
   The communication connections are schematically shown in  FIG. 6 . The electronic controller  33  includes a zoom controller  82  operating the zoom lens  32  and a pan/tilt controller  84  operating the pan/tilt mechanism  40 . The controller  82  commands the motors  38  (not shown) facilitating the movement of the zoom lens  32  (or  32   b  in a two camera system—explained later). The controller  84  commands the motors  38  facilitating the movement of the pan/tilt mechanism  40 . In this particular embodiment, the inventory control system  24  is connected to the operator interface  50  via a wireless Ethernet link  80 . It will be appreciated that any of the communication connections described herein may be hard wired or wireless. It will also be appreciated that the touchscreen  50  and operator interface may alternatively be located away from the crane at a remote location, and operated via the communication link  80 . In such an arrangement, control of the crane and the picker  16  can be performed from any location. 
   Referring to  FIG. 7 , an automatic scanning process  100  involves a continuous scan of the coil field  102 . Referring also to  FIG. 1 , the camera system  14  is mounted on the underside of the trolley  12  and therefore scans the field  20  below as the operator navigates the trolley  12 . Images captured are displayed to the operator  104  as shown in  FIG. 4 . Coils  22  are observed during this scanning process  100  and the operator must decide whether the coil  22  shown is of interest for reading  106 . If the coil  22  is not of interest to the operator, the operator will continue to monitor the image  104  until a coil  22  does appear that is of interest for reading. When a coil  22  appears that is of interest, the operator first indicates whether the coil  22  is situated at a relative far position such as on the floor or at a relative near position such as being mounted in a secured and elevated position on a truck bed. This is done by selecting a “Near” setting or “Far” setting on the touchscreen  54 . The settings represent the nominal magnifications required by the camera system  14  to be able to read a tag  60  at the corresponding distance. It will be appreciated that there may be any number of magnification levels that can be chosen and should not be limited to only “Near” and “Far” settings. The operator then selects the coil  108  by touching the image of the particular coil  22  at the position which its tag  60  appears on the touchscreen  54 . 
   It will be appreciated that the camera system  14  may also use the range finder system  13  to determine where the trolley  12  is in the building and whether it is over a floor area or a loading bay (truck mounted coils) to automatically adjust the magnification and focus to appropriate settings without operator input. 
   At this point, the camera system  14  begins an identification process  109 . To begin, the camera system  14  is given a set of co-ordinates from the touchscreen  54  representing the position selected by the operator. These co-ordinates are measured relative to a datum wherein the scale of the image is known based on the wide view magnification used by the camera system  14  and the data provided by the range finder system  13 . The datum represents the centre of the field-of-view of the camera system  14 . The pan/tilt controller  84  then moves the camera system  14  aligning the datum with the given co-ordinates  110  which places the tag  60  substantially within the centre of the field-of-view of the camera system  14 . The camera system  14  also uses the data from the range finder system  13  to map the trolley&#39;s position within the field  20  to the given co-ordinates. This provides the inventory control system  24  with a floor grid location to be associated with the tag&#39;s information. 
   This first movement  110  by the pan/tilt mechanism  40  provides a coarse adjustment for centring the tag  60 . Following this pan/tilt operation  110 , the camera system  14  commands the zoom controller  82  to perform a zoom operation  112 , providing an enlarged image of the tag  60 . The zoom controller  82  has two predetermined magnifications, one for the “Near” option and one for the “Far” option. Since the tags  60  are presumably affixed to the coils  22  on the upward facing surface, tags  60  with similar designation (specifically “Near” or “Far”) will be at a substantially similar distance from the camera system  14 . If the operator had selected “Far”, the zoom controller  82  magnifies the image to its “Far” setting. If the operator had selected “Near”, the zoom controller  82  magnifies the image to its “Near” setting which requires less magnification than the “Far” setting since the coils  22  are positioned closer to the camera system  14 . Due to curvature of the upward facing surface of the coils  22 , tags  60  of similar designation may be affixed at slightly varying distances. The zoom controller  82  performs minor focusing at this point if necessary to provide adequate sharpness of the image. 
   It will be appreciated that the camera system  14  may also use a depth measurement device such as an ultrasonic range finder to determine the distance between the tag  60  and the camera system  14 . This would allow the zoom controller  82  to choose specific magnifications for each tag  60 . This may be necessary in situations where the dimensions of the objects being selected vary substantially. 
   Following the zoom operation  112 , the camera system  14  performs an alignment adjustment operation  114 . Referring now to  FIG. 5   b , the camera system  14  analyses the image and identifies the location and orientation of each of the alignment markers  62  on the tag  60  using an object-finding routine built into the software used by the imaging system, e.g. smart camera software, and previously programmed to identify markers  62  having a particular size and shape. 
   The camera system  14  determines the position of the dissimilar marker  62   a  relative to the other markers and this position dictates the relative orientation of the tag  60  and subsequently the barcode scan direction. If the dissimilar marker  62   a  is the upper-leftmost of the markers  62  (as shown in  FIG. 5   a  and  5   b ) the camera system  14  determines that a left-right horizontal scan is required. If the dissimilar marker  62   a  is the upper-rightmost of the markers  62  the camera system  14  determines that a top-bottom vertical scan is required. If the dissimilar marker  62   a  is the lower-leftmost of the markers  62  the camera system  14  determines that a bottom-top vertical scan is required. If the dissimilar marker  62   a  is the lower-rightmost of the markers  62  the camera system  14  determines that a right-left horizontal scan is required. 
   Using the locations of the markers  62 , the camera system  14  then approximates the centre of the barcode  64 . Firstly, since the relative orientation of the tag  60  has been determined, the camera system can measure the width of the tag  60  along the appropriate direction in the image  70 . Furthermore, since the actual width of the tag  60  and the camera system&#39;s resolution is known, the camera system  14  can correlate pixel width in the image to the actual width on the tag  60 . Each marker is a particular distance from the centre of the barcode  64  and is a proportion of the tag&#39;s width. The distance is measured along a line in the direction that the marker  62   b  is pointing and is typically perpendicular to the outermost edge of the marker  62   b  relative to the barcode  64 . Based on the proportion of the tag&#39;s width, the actual distance on the tag  60  is converted to a number of pixels in the image. This pixel length is then converted to a set of pixel co-ordinates relative to the marker  62   b . Using these relative pixel co-ordinates, the centre of the barcode  64  is approximated and a mark  74  is recorded by the camera system  14 . This process is repeated for the other three alignment marks  62   a,c,d  and the average position  72  of the four marks  74  is calculated and its position is recorded by the camera system  14 . These markings are shown in  FIG. 5   b.    
   The camera system  14  uses the position of the average centre mark  72  to determine whether the centre mark  72  lies within a window  76  of acceptable positions surrounding the centre of the image  70 . If the average centre mark  72  is within the acceptable window  76 , the barcode  64  can be read. If the average centre mark  72  is not within this window  76 , the pan/tilt controller  84  commands the pan/tilt mechanism  40  to adjust the camera system  14  thereby placing the average centre mark  72  within the acceptable window  76  of the analysed image  70 . This alignment of the average centre mark  72  ensures the entire barcode  64  is visible in the image  70  and therefore can be properly scanned. 
   With the tag  60  magnified  112 , properly aligned (per step  114 ), and its orientation known, a barcode string is generated by the camera system  14  by scanning the bar code  116 . The direction of the scan is based on the determined orientation of the tag  60 . This barcode string is sent to the operator interface  50  for comparison with the lift ticket  118 . If the information acquired does not match an item on the lift ticket, the coil  22  is rejected and the system  100  returns to the field level image for the operator to make another selection. If the barcode  64  does match an item on the lift ticket, the camera system  14  returns to a wider view to allow the coil  22  to be grabbed and lifted by the operator  119  using the crane&#39;s picker  16 . The automatic scanning process  100  is reinitialised  120  once a coil has been lifted  119  and resumes scanning the coil field  102  until the next operator selection. The system  10  may then interface with the inventory control system  24  to update the stock of coils  22  and process a shipping ticket for delivery of an order of coils  22 . 
   Therefore, the system  10  enables the identification, scanning and retrieval of objects in a field of inventory from a remote location requiring only a single input from an operator. The operator may remotely scan a collection of the objects and select an object of interest based on a predetermined location for that object. This can be done through an input such as touching the image on a touchscreen to indicate the location of an identifier on the object. The imaging system  14  may then automatically magnify the identifier based on the input, and automatically perform an alignment procedure to orient the identifier according to a desired orientation. The system  14  then automatically reads the identifier, e.g. by scanning a barcode  64 , and uses information provided by the identifier to confirm the location of the object for processing shipping orders, and update an inventory system  24  accordingly. Only a single operator input using a touch or point of a mouse is needed to execute the above procedure. This effectively replaces a manual pan/tilt/focus/zoom operation with a single initial input. 
   In a further embodiment of the present invention, the camera system  14  utilises two smart cameras  32   a ,  32   b  as shown in  FIG. 8 . The pair of cameras  32   a ,  32   b  are mounted together on the pan/tilt mechanism  40  similar to the apparatus shown in  FIG. 2 . The first camera  32   a  is at a fixed magnification and provides a constant overall image of the coils  22  as they are being scanned. The second camera  32   b  is equipped with a motorised zoom lens similar to the camera lens  32  in the previous embodiment. In this configuration, the second camera  32   b  maintains a magnification close to the level at which a tag  60  can be read and requires only minor magnification adjustments once the pan/tilt mechanism  40  aligns the second camera  32   b  with the selected tag  60 . 
   The use of two smart cameras  32   a ,  32   b  eliminates the delay time caused by the long zoom stroke being required to increase the magnification from a wide view of the field  20  to a zoomed view of a barcode  64 . While the camera system  14  scans the field  20 , the touchscreen  54  displays an image of the field from the fixed camera  32   a . When the operator selects a tag  60  on the touchscreen  54 , the touchscreen  54  then displays an image from the second camera  32   b  while it centres the tag  60 . Since the tags  60  may be affixed at varying distances, the second camera  32   b  will make necessary minor adjustments to achieve the desired magnification while centering takes place. Both cameras  32   a ,  32   b  are mounted on the pan/tilt mechanism  40 , and thus move together to maintain a constant relationship of the location of the tag view within the field of view of the fixed camera  32   b.    
   During operation, one camera (e.g.  32   a ) is designated as a field camera, and the other camera (i.e.  32   b ) is used at the tag camera for reading barcodes. The field camera  32   a  has a fixed focal length, aperture and focus settings. The image size, and depth of field are set so that all coils  22 , no matter what height, are in focus. The overview image is provided to the operator, so that they can select the location (i.e. barcode tag) to enable the tag camera  32   b  to locate the tag  60  for reading the barcode  64 . The field camera  32   a  monitors the output of the user interface touchscreen  50 , looking for tag identification “touches” or other suitable commands to indicate such identification. 
   Once the barcode  64  has been identified by the operator, the camera  32   a  attempts to identify the barcode  64  and locate its center, to thereby increase the accuracy of the pointing instruction to the pan/tilt mechanism  40 . If the attempt fails, the pan/tilt command defaults to the exact position that the operator touched. Once the pointing operation is complete, the field camera  32   a  flags the tag camera  32   b  to begin the tag reading process. 
   The tag camera  32   b  has a motorized zoom lens, which is capable of adjusting image size, aperture (brightness and depth of field), and focus (object height). Image size is set by the operator, who may specify whether the coil is on the floor or on a truck bed as explained above. The aperture is held constant, and focus may be scanned to optimize image sharpness for the barcode read. 
   The tag image may be provided to the operator for manual centering using the touchscreen  50 , or to be able to read the tag number in case the barcode is unreadable. The tag camera  32   b  operates to execute the identification process  109  described above. It will be appreciated that the camera  32   b  may process the image with an internal processor or may send images to an off-camera processor for processing. 
   It will be appreciated that the second embodiment described herein includes all of the features of the previous embodiment with an increased zoom speed imparted by use of a pair of smart cameras  32   a ,  32   b  shown in  FIG. 8 , and described above. 
   The identification process  109 , particularly the alignment step  114  described above is most accurate when reading tags  60  that are affixed to objects have a substantially planar upwardly facing surface, or when the tags  60  are more or less ensured to be affixed such that their alignment is substantially parallel to the floor  20 . When tags  60  are affixed to rolls of steel  22 , the inherent curvature of the upward facing surface of the roll often places the tag  60  at a difficult angle for viewing the alignment markers  62  described above, e.g. when the tags are positioned on a sloping surface of the roll  22 . 
   An alternative procedure for aligning a tag  160  is shown in  FIGS. 9   a - 9   d  and  10 - 11 , which is most suitable for centering tags  160  that are likely to be affixed to an object having a sloping surface. In this embodiment, like elements are given like numerals with the prefix “1”. 
   An image  154  may be obtained according to steps  102 - 112  shown in  FIG. 7 , using either the one-camera or two-camera system. The following description is directed towards a two-camera system, but should hold true for a single camera system with different zoom levels, since different zoom levels are inherently at different resolutions. In a two-camera system, when the field camera  32   a  sends instructions to the pan/tilt mechanism  40  to center the tag camera  32   b  on a barcode, it is common for the tag  160  to be off-center in the tag camera&#39;s field of view. This occurs because the resolution of the tag camera  32   b  is typically much greater than that of the field camera  32   a , and thus, a single pixel shift (horizontal or vertical) command to the pan/tilt mechanism  40  from the field camera  32   a , translates to a several pixel shift in the field of view of the tag camera  32   b.    
   As shown in  FIGS. 9   a - 9   c , a portion of the barcode  64  may be cut-off in the image  154 , as well as some of the alignment markers  62 . The alternative procedure shown in  FIGS. 9   a - 9   d  enable the tag camera  32   b  to be repositioned in order to orient the barcode  64  such that it is visible for subsequent scanning (i.e. in a desired orientation). Preferably, the centering operation is executed for each scan, regardless of the accuracy of the coarse adjustment caused by the “touch” of the operator. When a tag  160  is accurately centered after the coarse adjustment, only a minor additional time overhead is required, however, when the tag  160  is substantially off-center, the procedure can save several seconds from the read operation when compared to having the operator initiate a manual re-centering. 
   The alternative procedure for aligning tags  160  uses a series of virtual sensors implemented in a software routine to conduct scans along defined paths in the image  154  to identify or “sense” segments. Segments are regions of similar intensity, differentiated from other regions by an intensity gradient, which is preferably user selectable. Each scan effectively causes a “soft” sensor to interrogate the image and mark or identify segments that it intersects. Preferably, three concentric sensors are used. In the embodiment shown in  FIG. 9   a , three sensors each scan an oval path (inner  202 , mid  204 , outer  206 ) to define concentric zones arranged from the center of the image  200  out to the edges of the image field. A marker  208  is placed on the image within each segment identified by a sensor. The number of these points in the image is indicative of distribution of segments in the image. 
   A well centered tag  160  should produce an equal distribution of segments, and thus markers  208 , about the center of the image  154 , such as that shown in  FIG. 9   d . In such a case, the segment positions would then cancel each other out, to produce an average position of the segments, near center  200 . A tag  160  that is towards one side of the image field, e.g.  FIGS. 9   a - 9   c , will cause an imbalance in the number of segments on that side, resulting in the average segment position being shifted towards that half of the image  154 . In  FIGS. 9   a - 9   c , the barcode  164  is located towards the bottom right portion of the image  154 , and reports a large number of small segments in that area. Small segments are segments that are of a particular size, measured in pixels, e.g. &lt;10 pixels, and are likely to indicate the presence of a barcode bar (white or black). An average  215  of the position of these small segments, measured from the center  200  computes a vector  214  (see  FIG. 9   b ). 
   Referring to  FIG. 9   c , a horizontal sensor  210  and vertical sensor  212  can also be used to provide greater accuracy. These sensors scan along the image at the average position  215  as shown in  FIG. 9   c , and are used to adjust the average position  215 , to determine a second average position  217 , that better represents the centre of the barcode  164 . A second vector  216  is then produced that more accurately reflects the offset of the barcode  164 . For a horizontal barcode, e.g.  FIGS. 9   a - 9   c , the oval segmentation sensors  202 - 206  would provide the vertical offset, and the horizontal sensor  210 , the horizontal offset. Similarly, for a vertical barcode (not shown), the oval sensors would provide the horizontal offset, and the vertical sensor  212 , the vertical offset. 
   The following describes the alternative procedure for aligning the tag  160 , in greater detail, making reference to  FIGS. 9   a - 9   c ,  10  and  11 . In the image  154  shown in  FIGS. 9   a , the three oval sensors  202 - 206  are configured to mark segments that are at least 5 pixels in size, which is the typical width of the smallest barcode bar. It will be appreciated that this procedure may be used for aligning other indicia such as an alpha-numeric string, wherein the threshold of 5 pixels may be adjusted to recognize, e.g., the smallest possible character width. 
   An edge contrast may be used to identify barcode segments, and is determined through experimentation during an initial calibration. A suitable range is 7-15%, which is high enough to ignore minor noisy segments, but low enough to pick as many valid barcode segments at a relatively poor focus as possible. 
   As shown in  FIG. 10 , when the alignment procedure is executed, a script examines each segmentation sensor  202 - 206  in turn, and determines the number of segments identified by each sensor. First, the sensor of interest is chosen, e.g. starting with sensor  202 , and the number of segments is then determined and compared to a threshold, e.g. 10. If the number of segments is less than 10, chances are that there is no barcode intersecting the sensor  202 , just background noise. In  FIG. 9   a , it can be seen that sensor  202  has only 1 segment, and would therefore be ignored in calculating the offset of the tag  160 . However, the next sensor, e.g.  204 , clearly has more than 10 segments, and would therefore be used to calculate the average segment position  215  (shown in  FIG. 9   b ). 
   Since segments on a barcode  164  should not, ideally, be larger than a certain threshold, e.g. approximately 10 pixels, those that are larger than the threshold are ignored, eliminating stray segments, background segments etc. This ignores the curvature of the path in which the sensors may perform their scan. An oval path may report a larger segment width since the path in which it travels may not traverse the segment along the shortest path. This would result in a measured segment width that is larger than that of the segment&#39;s true size. Segments can also be identified as larger than they truly are, if adjacent barcode bars are missed due to poor focus etc. The threshold is chosen to accommodate operational variations. 
   Turning to  FIGS. 9   a  and  10  specifically, since sensor  202  has been ignored, sensor  204  is next analysed. There are greater than 10 segments according to the image  154  in  FIG. 9   a , therefore, the first segment is selected, and its size determined. If the segment selected is smaller than the threshold, i.e., 10 pixels or less, its coordinates are saved to include in the average position. This is repeated until each segment has been analysed. As long as at least one of the segments has not been determined as “bad”, i.e., above threshold, an average horizontal and vertical position are determined based on all coordinates saved during the analysis. 
   The above process is repeated for each sensor, which in the example shown in  FIG. 9   a  would involve one more iteration to evaluate sensor  206 . If it was determined that all sensors were ignored, the aggregate average position is set to the center  200 . If at least one of the segments has not been ignored, an aggregate average position  215  using all included sensors (these are shown in isolation in  FIG. 9   b ), and all included segment positions is found. This calculation produces vector  214  shown in  FIG. 9   b.    
   Once all sensors have been analysed, the horizontal and vertical segmentation sensors may be used, as shown in isolation in  FIG. 9   c . It will be appreciated that using the horizontal  210  and vertical  212  sensors may be an optional procedure, however, the use thereof does provide a more accurate determination of the center of the barcode  164 . 
   The steps in using the horizontal  210  and vertical sensors  212  is shown in  FIG. 11 , making reference to  FIG. 9   c . The horizontal sensor  210  is placed along the image  154  at the average vertical position (i.e. Y coordinate of  215 ) determined according to  FIG. 10 . Similarly, the vertical sensor  212  is placed along the image  154  at the average horizontal position (i.e. X coordinate of  215 ). A script will determine which line sensor ( 210  or  212 ) has a greater number of segments, to decide whether the barcode  164  is oriented vertically or horizontally. It is clear from  FIG. 9   c  that the horizontal sensor  210  has a greater number of segments, and the barcode  164  is clearly oriented in a horizontal fashion. 
   In this example, since the horizontal sensor  210  has a greater number of segments, the process continues on the right hand path shown in  FIG. 11 . Once the proper sensor has been chosen, the number of segments identified by that sensor is determined, and if there are fewer segments than a particular threshold, the process is bypassed. In  FIG. 11 , that threshold is three (3) segments. If the horizontal sensor  210  has identified three or more segments, which in  FIG. 9   c  is true, a loop commences that measures the size of each segment, and if the segment is smaller than a threshold, e.g., 15 pixels, then the coordinates of that segment are to be included in the second average position  217 . Similar to the oval sensors, this process is repeated for each segment until all have been analysed. 
   If all segments were bad, the average X position is set to the X coordinate of center  200 , and if not, an average X position is computed for all included segments. Differential X and Y measurements are then calculated by subtracting the X coordinate of center  200  from the average X position and the Y coordinate of the center  200  from the average Y position. In this example, the average Y value remains the one calculated by the oval sensors. The differential measurements are then compared to respective thresholds, and if the differential measurements are not above those thresholds then the barcode  164  is within the suitable limits and a move is not required. If however at least one of the X or Y differential measurements are greater than its respective threshold, a second vector  216  extending from center  200  to the position dictated by the X differential and Y differential measurements, i.e.  217 , is computed. This vector  216  provides a better estimate of the center of the barcode in the horizontal direction, as shown in  FIG. 9   c.    
   It will be appreciated that the steps taken for measuring a vertical barcode are similar to those that have been described above, and therefore, need not be reiterated. 
   As long as at least one of the differential measurements is greater than its respective threshold, a pan/tilt operation will be performed by the pan/tilt mechanism  40 , which aligns the tag  160  within the image as shown in  FIG. 9   d . At this point, the imaging system  14  will analyse the image and determine if further adjustment is needed, or if a particular scan direction is needed. For example, the tag  160  is oriented “upside-down”, and thus the barcode scan operation would need to take this into account. The imaging system  14  may then determine the up-down/left-right orientation and scan accordingly. 
   To achieve the most accurate results: a reasonable focus should be used so that the maximum number of barcode segments may be encountered; a reasonably consistent background is preferred, which is difficult to control, however should be considered; and if possible, having no other tags within the field of view of the cameras  32   a ,  32   b  is also preferred, to minimize confusion with the background. 
   It will be appreciated that the above alternative alignment procedure can be used in place of the procedure shown in  FIGS. 5   a  and  5   b , and the choice of which procedure to use, is dependent on the application. For instance, in an application where the objects being scanned are rectangular, e.g., shipping containers, either alignment procedure is suitable. On the other hand, in applications where the objects are curved, e.g., rolls of steel, the alternative alignment procedure is more appropriate. 
   Although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention as outlined in the claims appended hereto. The entire disclosures of all references recited above are incorporated herein by reference.