Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD OF WORKER LOCATION IDENTIFICATION USING RFID AND CAMERA
Document Type and Number:
WIPO Patent Application WO/2021/236089
Kind Code:
A1
Abstract:
Example implementations described herein involve providing a resolution for when multiple Radio Frequency Identifier (RFID) scanners physically detect the same RFID in an environment such as a manufacturing floor. Such example implementations can involve, for more than one of the plurality of RFID scanners detecting a same RFID, taking an image with the camera; executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image; and selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

Inventors:
YUNOKI SHOJI (US)
Application Number:
PCT/US2020/034056
Publication Date:
November 25, 2021
Filing Date:
May 21, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HITACHI AMERICA LTD (US)
International Classes:
G06Q10/08; G06K9/62; G06Q10/06; H04W4/80
Foreign References:
US20120019399A12012-01-26
US20060022800A12006-02-02
US20160026834A12016-01-28
US20120161968A12012-06-28
US20140052555A12014-02-20
US20130307988A12013-11-21
US20070001813A12007-01-04
Attorney, Agent or Firm:
HUANG, Ernest C. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method for a system comprising a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the method comprising: taking an image with the camera; for more than one of the plurality of RFID scanners detecting a same RFID, executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners detecting the same RFID and the same RFID to score the reference images against the image, and selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

2. The method of claim 1, wherein each of the plurality of RFID scanners is associated with a manufacturing process, and wherein each RFID is associated with a worker.

3. The method of claim 1, wherein the system further comprises a database configured to store reference images, each of the reference images associated with a pair of one RFID and one of the plurality of RFID scanners.

4. The method of claim 1, wherein the score on the reference images are weighted based on a how often each of the more than one of the plurality of RFID scanners detected RFIDs together with other ones of the more than one of the plurality of RFID scanners.

5. The method of claim 1, wherein the executing the image recognition on the image against the reference images associated with the pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image comprises: extracting a portion of the image associated with each of the more than one of the plurality of RFID scanners based on a location of a physical coverage area of the each of the more than one of the plurality of RFID scanners; and executing the image recognition on the portion of the image against ones of the reference images associated with the pair of the each of the more than one of the plurality of RFID scanners and the same RFID.

6. The method of claim 1, wherein the taking the image with the camera is conducted when more than one of the plurality of RFID scanners detect the same RFID.

7. A non-transitory computer readable medium, storing instructions for a system comprising a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the instructions comprising: taking an image with the camera; for more than one of the plurality of RFID scanners detecting a same RFID, executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners detecting the same RFID and the same RFID to score the reference images against the image, and selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

8. The non-transitory computer readable medium of claim 7, wherein each of the plurality of RFID scanners is associated with a manufacturing process, and wherein each RFID is associated with a worker.

9. The non-transitory computer readable medium of claim 7, wherein the system further comprises a database configured to store reference images, each of the reference images associated with a pair of one RFID and one of the plurality of RFID scanners.

10. The non-transitory computer readable medium of claim 7, wherein the score on the reference images are weighted based on a how often each of the more than one of the plurality of RFID scanners detected RFIDs together with other ones of the more than one of the plurality of RFID scanners.

11. The non-transitory computer readable medium of claim 7, wherein the executing the image recognition on the image against the reference images associated with the pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image comprises: extracting a portion of the image associated with each of the more than one of the plurality of RFID scanners based on a location of a physical coverage area of the each of the more than one of the plurality of RFID scanners; and executing the image recognition on the portion of the image against ones of the reference images associated with the pair of the each of the more than one of the plurality of RFID scanners and the same RFID.

12. The non-transitory computer readable medium of claim 7, wherein the taking the image with the camera is conducted when more than one of the plurality of RFID scanners detect the same RFID.

13. A server managing a system comprising a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the server comprising: a processor, configured to, for more than one of the plurality of RFID scanners detecting a same RFID: take an image with the camera; execute image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image; and select a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

Description:
SYSTEM AND METHOD OF WORKER LOCATION IDENTIFICATION USING

RFID AND CAMERA

BACKGROUND

Field

[0001] The present disclosure relates generally to factory and manufacturing floors, and more specifically, to worker location identification through using a system involving Radio Frequency Identification (RFID) and one or more cameras.

Related Art

[0002] To optimize factory operation, it can be important to accurately grasp what is happening at the current factory shop floor. For example, it can be important to track who operates what kind of process and how much time is spent by the worker on the process.

[0003] In on related art method, RFIDs are used to track objects. In such related art methods, there are some RFID scanners in the shop floor. When a RFID scanner scans a RFID, the RFID is considered to be around or in proximity to the RFID scanner. If the worker wears a RFID and RFID scanners are associated with the specific process, such related art implementations can thereby determine how much time someone spends operating a given process.

SUMMARY

[0004] However, when such a related art method is deployed on real factory shop floor, the RFID can be scanned by multiple RFID scanners. As a result, it can be impossible to specify who spends what process and how much time.

[0005] Aspects of the present disclosure involve a method for a system involving a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the method involving, taking an image with the camera. For more than one of the plurality of RFID scanners detecting a same RFID, the method involves executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image, and selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

[0006] Aspects of the present disclosure can involve a computer program, storing instructions for a system involving a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the computer instructions involving, taking an image with the camera. For more than one of the plurality of RFID scanners detecting a same RFID, the instructions further involve executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image, and selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID. The instructions for the computer program can be stored in a non-transitory computer readable medium and executed by one or more processors.

[0007] Aspects of the present disclosure involve a system involving a camera and a plurality of Radio Frequency Identifier (RFID) scanners, means for taking an image with the camera; and for more than one of the plurality of RFID scanners detecting a same RFID, means for executing image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image, and means for selecting a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID.

[0008] Aspects of the present disclosure can involve a server managing a system involving a camera and a plurality of Radio Frequency Identifier (RFID) scanners, the server involving a processor, configured to, take an image with the camera. For more than one of the plurality of RFID scanners detecting a same RFID, the processor can be configured to execute image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image; and select a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID. BRIEF DESCRIPTION OF DRAWINGS

[0009] FIG. 1 illustrates the system architecture of the worker location identification system, in accordance with an example implementation.

[0010] FIG. 2 illustrates an example physical placement of RFID scanners and RFIDs, in accordance with an example implementation.

[0011] FIG. 3 illustrates an example structure of the worker process image database, in accordance with an example implementation.

[0012] FIG. 4 illustrates an RFID coverage table, in accordance with an example implementation.

[0013] FIG. 5 illustrates an example image captured by the camera the coverage of each RFID scanner as indicated by the RFID scanners coverage in the image captured by camera.

[0014] FIG. 6 illustrates an example operational flow of RFID based worker process identifier, in accordance with an example implementation.

[0015] FIG. 7 illustrates an example operational flow of the image based worker identifier, in accordance with an example implementation.

[0016] FIG. 8 illustrates another example of the worker process identification server, in accordance with an example implementation.

[0017] FIG. 9 illustrates an RFID scanner relation table, in accordance with an example implementation.

[0018] FIG. 10 illustrates an example operational flow of RFID based worker process identifier, in accordance with an example implementation.

[0019] FIG. 11 illustrates an operational flow of image based worker identifier, in accordance with an example implementation.

[0020] FIG. 12 illustrates an example computing environment with an example computer device suitable for use in some example implementations. DETAILED DESCRIPTION

[0021] The following detailed description provides details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term “automatic” may involve fully automatic or semi-automatic implementations involving user or administrator control over certain aspects of the implementation, depending on the desired implementation of one of ordinary skill in the art practicing implementations of the present application. Selection can be conducted by a user through a user interface or other input means, or can be implemented through a desired algorithm. Example implementations as described herein can be utilized either singularly or in combination and the functionality of the example implementations can be implemented through any means according to the desired implementations.

[0022] Example implementations described herein involve a location identification system which involves not only RFID scanners, but also images captured by one or more cameras installed on a factory shop floor. In example implementations described herein, each RFID is associated with each worker.

[0023] When a RFID is scanned by multiple RFID scanners, the example implementations described herein use image recognition as follows. In the image recognition process, the example implementations use both reference images stored in a database (DB) and real-time images captured by one or more cameras. The DB stores the images for each pair of each RFID(worker) and each RFID scanner(process area) in advance. When a RFID is scanned by multiple RFID scanners, the example implementations pull each reference image which is associated with the RFID(worker) and the RFID scanner(process area).

[0024] For each pair of the RFID and each RFID scanner, the example implementations pull the real-time image from the camera and extract the portions that are associated with the RFID and the RFID scanner. Then, the example implementations calculate the similarity of the reference image and the real-time extracted image applying an image recognition algorithm. The example implementations select an RFID and RFID scanner pair having a highest similarity. The example implementations then recognize that the worker who wears the RFID is working around the RFID scanner and the process associated therewith. [0025] Described herein is a first example implementation.

[0026] FIG. 1 illustrates the system architecture of the worker location identification system, in accordance with an example implementation. RFIDs (101,102, etc.) are worn by workers on the factory shop floor. The RFIDs (101,102, etc.) are scanned by RFID scanners (111, 112, etc.) when the RFIDs are within the scanning range. The RFID scanners 111, 112, the camera 141, and the worker process identification server 131 are connected to the communication network 121. The RFID information scanned by the RFID scanners 111, 112 is sent to the worker process identification server 131. The real-time captured images are sent to the worker process identification server 131. Worker process identification server 131 can include RFID based worker identifier 132, Image based worker identifier 133, worker process image database 134 and RFID coverage table 135. The functions of the work process identification server are described later with their operational flow chart.

[0027] FIG. 2 illustrates an example physical placement of RFID scanners and RFIDs, in accordance with an example implementation. Each worker wears an RFID which is encoded with the worker of the ID. For example, worker 1 wears RFID 1, and worker 2 wears RFID 2. RFID scanners 111, 112, 113, 114, 115, 116, 117 are installed around the area, wherein each ID of the scanner is associated with a process being conducted. For example, RFID scanner 1 (ID=1) is installed around the area where process 1 is being done, RFID scanner 2 (ID=2) is installed the area where process 2 is being done, and so on. In this example, the worker 1 who wears RFID 1 (101) is working around process 5 area and the worker 2 wearing RFID 2 (102) is working around process 4 area.

[0028] FIG. 3 illustrates an example structure of the worker process image database 134, in accordance with an example implementation. The worker process image database 134 stores one or more reference images for each RFID scanner ID and a RFID ID. Each worker process image is a reference image of a worker who wears the RFID corresponding to the worker ID and is working on the process corresponding of a process ID for a RFID scanner. For example, image 3-2 is the reference image which shows the worker 3 who wear RFID 3 is working on process 2 (which is associated with RFID scanner 2). The reference images are taken and stored in advance.

[0029] FIG. 4 illustrates an RFID coverage table, in accordance with an example implementation. This table stores the relationship of each RFID scanner and the coverage area within the image captured by the one or more cameras 141. RFID scanner ID 401 indicates the RFID scanner ID corresponding to the process ID. Selected area of image 402 indicates coordinates to extract a specific part out of the image captured by the camera. Referring to the table regarding RFID scanner ID 1, the top left coordinate, bottom right coordinate, top right coordinate, and bottom right coordinate of the part to be extracted out of the image are (xll,yll), (x21,y21), (x31,y31), (x41,y41). FIG. 5 illustrates an example image captured by the camera the coverage of each RFID scanner as indicated by the RFID scanners coverage in the image captured by camera.

[0030] FIG. 6 illustrates an example operational flow of RFID based worker process identifier, in accordance with an example implementation. At 601, the worker process identification server 131 pulls all of RFID information scanned by RFID scanners (111 — 117). In 602, the worker process identification server 131 identifies each of the corresponding RFID scanner that scanned each RFID. At 603, the worker process identification server 131 inputs pairs of RFID and scanner IDs[] to the Image based worker identifier 133. Here, [] means array to store multiple values.

[0031] FIG. 7 illustrates an example operational flow of the image based worker identifier 133, in accordance with an example implementation. At 701, the server checks if there are any pairs of RFID and scanner IDs being input. If the output of 701 is YES, the server proceeds to 702. In the output of 701 is NO, the server proceeds to 701 again.

[0032] At 702, the system assigns 1 to variable “i”, then proceeds to 703. In 703, the server checks if the RFID ID == i and i < N. If the output of 703 is YES, the server proceeds to 704. If the output of 703 is NO, the server proceeds to 701. In 704, the server assigns 0 to variable j and then proceeds to 705. In 705, the server checks if there is a value (RFID scanner id) stored in the array of the scanner ID[j]. If the output of 705 is YES, then the server proceeds to 706. If the output of 705 is NO, then the server proceeds to 710.

[0033] At 706, the server gets a reference image by searching worker process image database using RFID i and scanner ID[j] as keys, and then proceeds to 707. At 707, the server gets a current image from the camera 141 and extracts the related portion out of the image according to scanner ID[j] coverage are as acquired by searching RFID cover area table using scanner ID[j] as a key. At 708, the server calculates the similarity of the reference image and the extracted current image, stores it in the array of similarity!]], then proceeds to 709. At 709, the server increments] by 1 and then proceeds to 705.

[0034] At 710, the server selects a ‘k’ which satisfies similarity[k]=max(similarity[m] (m=l,2,.. ,n), stores scanner ID[k] as the correct corresponding scanner for RFID=i, and then proceeds to 711. At 711, the server increments I by 1, and then proceeds to 703.

[0035] A concrete example is described below using FIGS. 2-7.

[0036] In the operational flow of RFID based worker process identifier 132 shown in FIG. 6, the server pulls all of the RFID information scanned by RFID scanner and identifies which scanner each RFID is scanned by at 601, 602. In this case, assume that RFID 1 is scanned by RFID scanner 4, 5, 7 and RFID 2 is scanned by RFID scanner 1, 4, 5. In 303, the server inputs pairs of RFID and RFID scanner IDs as follows, to the image based worker identifier 133.

• RFID: 1, RFID scanner IDs[]:IDs[0]=4,IDs[l]=5,IDs[2]=7

• RFID: 2, RFID scanner IDs[]:IDs[0]=l,IDs[l]=4,IDs[2]=5

[0037] In the operational flow of image based worker identifier in FIG. 7, the server checks if there are any RFID and scanner IDs being input, at 701. In this case, the output at 701 is YES, therefore, the server proceeds to 702. At 702, the server assigns 1 to variable i, then proceeds to 703. At 703, the server checks if RFID i is scanned and i < N. Here, N is defined as the maximum number of workers, wherein N is 7 in this example. Here, i equals to 1, therefore, the server proceeds to 704.

[0038] At 704, the server assigns 0 to j and proceeds to 705. At 705 the server checks if a value is stored in RFID scanner IDs[]]. Now, RFID scanner IDs[0] has 1 as a value, therefore, the output of 705 is YES, and then the server proceeds to 706. At 706, the server gets reference image by searching worker process image database using RFID I and scanner ID [j] as keys. Now, RFID i is RFID 0, and RFID scanner ID[j] is 4, therefore reference image 1-4 is pulled by referring to worker process image database, and then the server proceeds to 707.

[0039] At 707, the server gets a current image from the camera and extracts the related part out of the image according to the coverage area of RFID[j] as acquired by searching the RFID coverage table using RFID scanner åD[j] as a key. Now, RFID scanner ID[j] is 4. Therefore, referring to the RFID scanner coverage table, the part defined by coordinates (xl4,yl4), (x24,y24), (x34,y34), (x44, y44) is extracted from the image captured by camera. Then the server proceeds to 708.

[0040] At 708, the server calculates the similarity of the reference image and the extracted current image and stores it in similarity!]] by applying any desired image recognition algorithm as known in the art, such as perceptual hash. In this example, the calculated similarity [0]=0.5.

[0041] At 709, the server increments] by 1 and then the server proceeds to 705, again. In this example, the same process (705, 706, 707, 708, 709) for i=l is repeated, and the calculated similarities for RFID 1 are similarity [0]=0.5, similarity [1]=0.7, similarity [2]=0.6. Now, at 705, output is NO, so then the server proceeds to 710. At 710, the server selects a 'k' which meets similarity[k]=max(similarity[m] (m=l,2,...n)) and stores RFID scanner ID[k] as a correct scanner for RFID=i. Now, RFID i is RFID 1, and similarity[] for RFID 1 are similarity [0]=0.5, similarity [1]=0.7, similarity[2]=0.6. Therefore, similarity[l]=0.7 is the maximum of the three, and RFID scanner ID[1] is RFID scanner 4 is stored as a correct scanner for RFID 1.

[0042] In this first example implementation, it is thereby possible to identify the RFID location more accurately than in related art implementations, even when multiple RFID scanners scan the same RFID.

[0043] In a second example implementation, the work process identification server can also include a RFID scanner relation table. The RFID scanner relation table indicates the physical locational relations between the RFID scanners. When a RFID is scanned by multiple RFID scanners, the server weighs the similarity of the images according to the RFID scanner relation table.

[0044] FIG. 8 illustrates another example of the worker process identification server, in accordance with an example implementation. The worker process identification server 131 additionally includes an RFID scanner relation table 801.

[0045] FIG. 9 illustrates an RFID scanner relation table, in accordance with an example implementation. The RFID scanner relation table shows the physical locational relation between RFID scanners. This table involves RFID scanner ID and Neighbor RFID scanner IDs. Based on the example of FIG. 2 which shows the physical location of each RFID scanner, the neighboring RFID scanner of RFID scanner 1 is RFID scanner 4, and neighboring RFID scanners of RFID scanner 4 is RFID scanner 1 and 5. As illustrated in FIG. 9, the weights are determined between RFID scanners, wherein the weight is based on a value regarding how many times the RFIDs were triggered together when it is supposed to be a particular RFID scanner for a particular RFID.

[0046] In an example, RFID scanner 4 has detected an RFID together with neighboring RFID scanners 1 and 5. Suppose RFID scanners 4, 5 and 7 detect the same RFID. In such a case, RFID scanner 4 has an extra weight value (e.g., +1) based on historically detecting together with RFID scanner 5. Similarly, RFID scanner 5 will have an extra weight value (e.g., +2) based on historically being detected together with RFID scanners 4 and 7.

[0047] FIG. 10 illustrates an example operational flow of RFID based worker process identifier, in accordance with an example implementation. In 1001, the server input pairs of RFID, scanner IDs[] and scanner ID weights[] calculated by referring to RFID scanner relation table, to the Image based worker identifier. Assuming that RFID 1 is scanned by RFID scanner 4,5,7, the RFID ID and RFID scanner IDs to be input to the image based worker identifier are as follows.

• RFID: 1, RFID scanner IDs[]:IDs[0]=4,IDs[l]=5,IDs[2]=7

[0048] In addition, RFID scanner ID weights[] are calculated by referring to the RFID scanner relation table as shown in FIG. 9. When calculating the RFID scanner ID weight, the server refers to the columns whose RFID scanner ID is stored in RFID scanner IDs[] and counts how many times each of those RFID scanner IDs[] appears in the columns. In this case, RFID scanner IDs[] are IDs[0]=4,IDs[l]=5,IDs[2]=7, therefore the server counts how many times each of RFID scanner ID 4, 5, 7 appears in the columns whose RFID scanner IDs are 4, 5, 7. As a result, the count of 4, 5 and 7 are 2, 3 and 2 respectively. Then, the server converts counts into weights. In this case, an example conversion rule is as follows.

• If count is 1, weight is 1.

• If count is 2, weight is 1.1

• If count is 3, weight is 1.3.

[0049] Following the conversion rule above, the RFID ID, RFID scanner IDs, and RFID scanner ID weights are calculated as follows. • RFID:1, RFID scanner IDs[]:IDs[0]=4,IDs[l]=5,IDs[2]=7, RFID scanner ID weights[] :weights[0]=l .1, weights[l]=l 3,weights[2]=l .1.

[0050] FIG. 11 illustrates an operational flow of image based worker identifier, in accordance with an example implementation. In 1101, the server calculates weighted similarity of the reference image and the extracted current image referring to scanner ID weights[] and store it in similarity!]]. Here, in the example, the calculated similarity for RFID:1, RFID scanner ID:4 is 0.5. In order to calculate weighted similarity, the server multiplies weight for the RFID scanner ID to the original similarity. Now the original similarity for RFID:1 and scanner ID:4 is 0.5, and the RFID scanner 4 weight for RFID:1 is 1.1. Therefore, calculated weighted similarity is 0.5*1.1=0.55.

[0051] The execution of the second example implementations makes it possible to identify the RFID location accurately even when multiple RFID scanners scan the same RFID.

[0052] FIG. 12 illustrates an example computing environment with an example computer device suitable for use in some example implementations, such as the server 131 managing the system involving a camera and a plurality of Radio Frequency Identifier (RFID) scanners as illustrated in FIG. 1 and FIG. 2. Computer device 1205 in computing environment 1200 can include one or more processing units, cores, or processors 1210, memory 1215 (e.g., RAM, ROM, and/or the like), internal storage 1220 (e.g., magnetic, optical, solid state storage, and/or organic), and/or IO interface 1225, any of which can be coupled on a communication mechanism or bus 1230 for communicating information or embedded in the computer device 1205. IO interface 1225 is also configured to receive images from cameras or provide images to projectors or displays, depending on the desired implementation.

[0053] Computer device 1205 can be communicatively coupled to input/user interface 1235 and output device/interface 1240. Either one or both of input/user interface 1235 and output device/interface 1240 can be a wired or wireless interface and can be detachable. Input/user interface 1235 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 1240 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 1235 and output device/interface 1240 can be embedded with or physically coupled to the computer device 1205. In other example implementations, other computer devices may function as or provide the functions of input/user interface 1235 and output device/interface 1240 for a computer device 1205.

[0054] Examples of computer device 1205 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).

[0055] Computer device 1205 can be communicatively coupled (e.g., via IO interface 1225) to external storage 1245 and network 1250 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. Computer device 1205 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.

[0056] IO interface 1225 can include, but is not limited to, wired and/or wireless interfaces using any communication or IO protocols or standards (e.g., Ethernet, 802.1 lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all the connected components, devices, and network in computing environment 1200. Network 1250 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).

[0057] Computer device 1205 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.

[0058] Computer device 1205 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).

[0059] Processor(s) 1210 can execute under any operating system (OS) (not shown), in a native or virtual environment. One or more applications can be deployed that include logic unit 1260, application programming interface (API) unit 1265, input unit 1270, output unit 1275, and inter-unit communication mechanism 1295 for the different units to communicate with each other, with the OS, and with other applications (not shown). The described units and elements can be varied in design, function, configuration, or implementation and are not limited to the descriptions provided. Processor(s) 1210 can be in the form of hardware processors such as central processing units (CPUs) or in a combination of hardware and software units.

[0060] In some example implementations, when information or an execution instruction is received by API unit 1265, it may be communicated to one or more other units (e.g., logic unit 1260, input unit 1270, output unit 1275). In some instances, logic unit 1260 may be configured to control the information flow among the units and direct the services provided by API unit 1265, input unit 1270, output unit 1275, in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 1260 alone or in conjunction with API unit 1265. The input unit 1270 may be configured to obtain input for the calculations described in the example implementations, and the output unit 1275 may be configured to provide output based on the calculations described in example implementations.

[0061] As illustrated in FIGS. 1, 2 6, 7, 10 and 11, processor(s) 1210 can be configured to, take an image with the camera. For more than one of the plurality of RFID scanners detecting a same RFID, processor(s) 1210 can be configured to execute image recognition on the image against reference images associated with a pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image, and select a highest scored reference images from the reference images scored by the image recognition to identify the RFID scanner from the more than one of the plurality of RFID scanners to associate with the same RFID. Through such an example implementation, the image recognition is conducted only when the same RFID is detected by more than one of the RFID scanners to eliminate the need to conduct image recognition continuously, thereby reducing the number or reference images needed to be used for the recognition to save processing power, and also narrowing the image recognition of the reference images to those associated with the corresponding RFID scanners, thereby improving the image recognition accuracy and efficiency. Depending on the desired implementation, the taking the image with the camera can occur continuously, or can also be triggered such that the camera only takes images when the same RFID is detected by more than one of the RFID scanners.

[0062] As illustrated in FIG. 2 and FIG. 3, each of the plurality of RFID scanners can be associated with a manufacturing process, and wherein each RFID in the database is associated with a worker.

[0063] As illustrated in FIG. 3, memory 1215 and processor(s) 1210 can be configured to manage a database configured to store reference images for pairs involving an RFID and an RFID scanner from the plurality of RFID scanners.

[0064] As illustrated in FIGS. 9-11, the score on the reference images can be weighted based on a how often each of the more than one of the plurality of RFID scanners detected RFIDs together with other ones of the more than one of the plurality of RFID scanners.

[0065] Through the example implementations described herein, the system can determine which worker is working on which process in a real time manner with RFID scanners, while resolving duplicate detections from RFID scanners.

[0066] Processor(s) 1210 can be configured to execute the image recognition on the image against the reference images associated with the pair of the more than one of the plurality of RFID scanners and the same RFID to score the reference images against the image by extracting a portion of the image associated with each of the more than one of the plurality of RFID scanners based on a location of a physical coverage area of the each of the more than one of the plurality of RFID scanners; and executing the image recognition on the portion of the image against ones of the reference images associated with the pair of the each of the more than one of the plurality of RFID scanners and the same RFID as illustrated at FIGS. 4, 5, 7, and 11.

[0067] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In example implementations, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.

[0068] Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system’s registers and memories into other data similarly represented as physical quantities within the computer system’s memories or registers or other information storage, transmission or display devices.

[0069] Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium. A computer-readable storage medium may involve tangible mediums such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of tangible or non-transitory media suitable for storing electronic information. A computer readable signal medium may include mediums such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.

[0070] Various general-purpose systems may be used with programs and modules in accordance with the examples herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the example implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the example implementations as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers.

[0071] As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application. Further, some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.

[0072] Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings of the present application. Various aspects and/or components of the described example implementations may be used singly or in any combination. It is intended that the specification and example implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims.