WO2018094533A1 - System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests - Google Patents
System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests Download PDFInfo
- Publication number
- WO2018094533A1 WO2018094533A1 PCT/CA2017/051417 CA2017051417W WO2018094533A1 WO 2018094533 A1 WO2018094533 A1 WO 2018094533A1 CA 2017051417 W CA2017051417 W CA 2017051417W WO 2018094533 A1 WO2018094533 A1 WO 2018094533A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sample object
- hypotheses
- object image
- hypothesis
- refinement
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/196—Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
- G06V30/1983—Syntactic or structural pattern recognition, e.g. symbolic string recognition
- G06V30/1988—Graph matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
Definitions
- the present invention relates generally to the field of image recognition, and more particularly to a system, method and/or computer readable medium for pattern recognition.
- the ability to accurately locate and identify the appearance of specific components of an image may be used to convey information.
- RDTs rapid diagnostic tests
- the correct localization and recognition of these components preferably with a high degree of accuracy and/or with high sensitivity and/or specificity, may be desirable as it may facilitate, among other things, the subsequent interpretation of a diagnosis of a disease state, the presence or absence of a biomarker, the presence or absence of environmental agents and/or other distinctive features by localizing such features for further processing.
- Prior art approaches may also have been limited by cyclic dependency. In order to identify the RDT, the location of the membrane must be known, however, in order to analyze the membrane, the type of RDT must be known. [0006] Prior art solutions may have previously failed to consider using approaches for component localization that interpreted the components of an RDT cassette as being related to each other through a series of transformations and may have previously failed to consider using graphs to model such RDT cassettes.
- the present disclosure provides a system, method and/or computer-readable medium for pattern recognition. More specifically, embodiments of the present invention are directed to a system, method, and/or computer-readable medium for increasing the efficiency of identifying a sample object by comparing a sample object image with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object with one of the plurality of reference objects.
- a plurality of hypotheses that the sample object image corresponds to a particular reference image model for each of the plurality of reference images is also provided, each of the plurality of hypotheses having a confidence measure associated with a probability that the sample object image corresponds to the particular reference image model.
- Successive refinement of each confidence measure for the plurality of hypotheses includes: (i) comparing the sample object image with the hypothesis that the sample object image corresponds to the particular reference image model; and (ii) removing the hypothesis from the refinement if the confidence measure is below a predetermined threshold value.
- the successive refinement and removal of hypotheses increases the efficiency of identifying the match.
- the successive refinement of each confidence measure for the plurality of hypotheses is conducted in a sequence.
- the sequence of refinements is determined by a cost of the refinement for each of the plurality of hypotheses.
- each refinement is conducted by applying an evaluation module to the sample object image and the hypothesis.
- the evaluation module measures a deviation between the sample object image and the particular reference image model.
- FIG. 1 is an image of a prior art RDT
- FIG. 2 is a schematic of an embodiment of the present invention
- FIG. 3 is a schematic of a further embodiment of the present invention.
- FIG. 4 is a schematic of yet another embodiment of the present invention.
- FIG. 5 is a schematic of another embodiment of the present invention.
- FIG. 6 is a schematic of a further embodiment of the present invention.
- FIG. 7 is a flow chart of a further embodiment of the present invention.
- FIGS. 8A-J is a schematic of an example in accordance with a further embodiment of the present invention.
- FIG. 9 is an illustration of a yet another embodiment of the present invention.
- FIG. 10 is an illustration of a yet another embodiment of the present invention.
- FIG. 11 is a flow chart of a further embodiment of the present invention.
- These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
- the present invention can be implemented in numerous ways, including as a process, method, an apparatus, a system, a device, a method, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over a network (e.g. optical or electronic communication links).
- a network e.g. optical or electronic communication links
- these implementations, or any other form that the invention may take, may be referred to as processes.
- the order of the steps of the disclosed processes may be altered within the scope of the invention.
- Preferred embodiments of the present invention can be implemented in numerous configurations depending on implementation choices based upon the principles described herein. Various specific aspects are disclosed, which are illustrative embodiments not to be construed as limiting the scope of the disclosure.
- the present specification describes components and functions implemented in the embodiments with reference to standards and protocols known to a person skilled in the art, the present disclosures as well as the embodiments of the present invention are not limited to any specific standard or protocol.
- Each of the standards for non-mobile and mobile computing including the Internet and other forms of computer network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art.
- Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
- the Internet is a global computer network which comprises a vast number of computers and computer networks which are interconnected through communication links.
- an electronic communications network of the present invention may include, but is not limited to, one or more of the following: a local area network, a wide area network, peer to peer communication, an intranet, or the Internet.
- the interconnected computers exchange information using various services, including, but not limited to, electronic mail, Gopher, web-services, application programming interface (API), File Transfer Protocol (FTP).
- API application programming interface
- FTP File Transfer Protocol
- This network allows a server computer system (a Web server) to send graphical Web pages of information to a remote client computer system. The remote client computer system can then display the Web pages via its web browser.
- Each Web page (or link) of the "world wide web" (“WWW”) is uniquely identifiable by a Uniform Resource Locator (URL).
- URL Uniform Resource Locator
- a client computer system specifies the URL for that Web page in a request (e.g., a HyperText Transfer Protocol ("HTTP") request).
- HTTP HyperText Transfer Protocol
- the request is forwarded to the Web server that supports the Web page.
- the Web server receives the request, it sends the Web page to the client computer system.
- the client computer system When the client computer system receives the Web page, it typically displays the Web page using a browser.
- a web browser or a browser is a special-purpose application program that effects the requesting of web pages and the displaying of web pages and the use of web-based applications.
- Commercially available browsers include Microsoft Internet Explorer and Firefox, Google Chrome among others.
- Web pages are typically defined using HTML.
- HTML provides a standard set of tags that define how a Web page is to be displayed.
- the browser sends a request to the server computer system to transfer to the client computer system an HTML document that defines the Web page.
- the browser displays the Web page as defined by the HTML document.
- the HTML document contains various tags that control the displaying of text, graphics, controls, and other features.
- the HTML document may contain URLs of other Web pages available on that server computer system or other server computer systems.
- a person skilled in the relevant art may generally understand a web-based application refers to any program that is accessed over a network connection using HTTP, rather than existing within a device's memory.
- Web-based applications often run inside a web browser or web portal.
- Web-based applications also may be client-based, where a small part of the program is downloaded to a user's desktop, but processing is done over the Internet on an external server.
- Web-based applications may also be dedicated programs installed on an internet-ready device, such as a smart phone or tablet.
- a person skilled in the relevant art may understand that a web site may also act as a web portal.
- a web portal may be a web site that provides a variety of services to users via a collection of web sites or web based applications.
- a portal is most often one specially designed site or application that brings information together from diverse sources in a uniform way.
- each information source gets its dedicated area on the page for displaying information (a portlet); often, the user can configure which ones to display.
- Portals typically provide an opportunity for users to input information into a system.
- Variants of portals include "dashboards". The extent to which content is displayed in a "uniform way" may depend on the intended user and the intended purpose, as well as the diversity of the content. Very often design emphasis is on a certain "metaphor" for configuring and customizing the presentation of the content and the chosen implementation framework and/or code libraries.
- the role of the user in an organization may determine which content can be added to the portal or deleted from the portal configuration.
- a portable electronic device refers to any portable electronic device that can be used to access a computer network such as, for example, the internet.
- a portable electronic device comprises a display screen, at least one input/output device, a processor, memory, a power module and a tactile man-machine interface as well as other components that are common to portable electronic devices individuals or members carry with them on a daily basis.
- portable devices suitable for use with the present invention include, but are not limited to, smart phones, cell phones, wireless data/email devices, tablets, PDAs and MP3 players, test devices, etc.
- network ready device or “internet ready device” refers to devices that are capable of connecting to and accessing a computer network, such as, for example, the Internet, including but not limited to an IoT device.
- a network ready device may assess the computer network through well-known methods, including, for example, a web-browser.
- Examples of internet- ready devices include, but are not limited to, mobile devices (including smart-phones, tablets, PDAs, etc.), gaming consoles, and smart-TVs. It may be understood by a person skilled in the relevant art that embodiment of the present invention may be expanded to include applications for use on a network ready device (e.g. cellphone).
- the network ready device version of the applicable software may have a similar look and feel as a browser version but that may be optimized to the device. It may be understood that other "smart" devices (devices that are capable of connecting to and accessing a computer network, such as, for example, the internet) such as medical or test devices, including but not limited to smart blood pressure monitors, smart glucometers, IoT devices, etc.
- downloading refers to receiving datum or data to a local system (e.g. mobile device) from a remote system (e.g. a client) or to initiate such a datum or data transfer.
- a remote system or clients from which a download might be performed include, but are not limited to, web servers, FTP servers, email servers, or other similar systems.
- a download can mean either any file that may be offered for downloading or that has been downloaded, or the process of receiving such a file.
- a person skilled in the relevant art may understand the inverse operation, namely sending of data from a local system (e.g. mobile device) to a remote system (e.g.
- a database may be referred to as "uploading".
- the data and/or information used according to the present invention may be updated constantly, hourly, daily, weekly, monthly, yearly, etc. depending on the type of data and/or the level of importance inherent in, and/or assigned to, each type of data.
- Some of the data may preferably be downloaded from the Internet, by satellite networks or other wired or wireless networks.
- computers include a central processor, system memory, and a system bus that couples various system components including the system memory to the central processor.
- a system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the structure of a system memory may be well known to those skilled in the art and may include a basic input/output system ("BIOS") stored in a read only memory (“ROM”) and one or more program modules such as operating systems, application programs and program data stored in random access memory (“RAM”).
- BIOS basic input/output system
- ROM read only memory
- RAM random access memory
- Computers may also include a variety of interface units and drives for reading and writing data.
- a user of the system can interact with the computer using a variety of input devices, all of which are known to a person skilled in the relevant art.
- input devices all of which are known to a person skilled in the relevant art.
- device connections mentioned herein are for illustration purposes only and that any number of possible configurations and selection of peripheral devices could be coupled to the computer system.
- Computers can operate in a networked environment using logical connections to one or more remote computers or other devices, such as a server, a router, a network personal computer, a peer device or other common network node, a wireless telephone or wireless personal digital assistant.
- the computer of the present invention may include a network interface that couples the system bus to a local area network ("LAN").
- LAN local area network
- Networking environments are commonplace in offices, enterprise-wide computer networks and home computer systems.
- a wide area network (“WAN”) such as the Internet, can also be accessed by the computer or mobile device.
- connection contemplated herein are exemplary and other ways of establishing a communications link between computers may be used in accordance with the present invention, including, for example, mobile devices and networks.
- the existence of any of various well-known protocols, such as TCP/IP, Frame Relay, Ethernet, FTP, HTTP and the like, may be presumed, and computer can be operated in a client-server configuration to permit a user to retrieve and send data to and from a web- based server.
- any of various conventional web browsers can be used to display and manipulate data in association with a web based application.
- the operation of the network ready device may be controlled by a variety of different program modules, engines, etc.
- program modules are routines, algorithms, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- program modules may also be practiced with other computer system configurations, including multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCS, personal computers, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- Embodiments of the present invention can be implemented by a software program for processing data through a computer system.
- the computer system can be a personal computer, mobile device, notebook computer, server computer, mainframe, networked computer (e.g., router), workstation, and the like.
- the computer system includes a processor coupled to a bus and memory storage coupled to the bus.
- the memory storage can be volatile or non- volatile (i.e. transitory or non-transitory) and can include removable storage media.
- the computer can also include a display, provision for data input and output, etc. as may be understood by a person skilled in the relevant art.
- FIG. 9 illustrates a more detailed diagram of an example computing device 500 within which a set of instructions, for causing the computing device to perform any one or more of the methods discussed herein, may be executed.
- the computing device 500 may include additional or different components, some of which may be optional and not necessary to provide aspects of the present disclosure.
- the computing device may be connected to other computing device in a LAN, an intranet, an extranet, or the Internet.
- the computing device 500 may operate in the capacity of a server or a client computing device in client- server network environment, or as a peer computing device in a peer-to-peer (or distributed) network environment.
- the computing device 500 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, or any computing device 500 capable of executing a set of instructions (sequential or otherwise) that specify operations to be performed by that computing device 500.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- PDA Personal Digital Assistant
- cellular telephone or any computing device 500 capable of executing a set of instructions (sequential or otherwise) that specify operations to be performed by that computing device 500.
- the term "computing device” shall also be taken to include any collection of computing devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
- Exemplary computing device 500 includes a processor 502, a main memory 504 (e.g., read-only memory (ROM) or dynamic random access memory (DRAM)), and a data storage device 514, which communicate with each other via a bus 526.
- main memory 504 e.g., read-only memory (ROM) or dynamic random access memory (DRAM)
- DRAM dynamic random access memory
- Processor 502 may be represented by one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, processor 502 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. Processor 502 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processor 502 is configured to execute instructions 524 for performing the operations and functions discussed herein.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- DSP digital signal processor
- Computing device 500 may further include a network interface device 506, a image capture device 510, a video display unit 520, a character input device 518 (e.g., a keyboard), and a touch screen input device 516.
- a network interface device 506 may further include a network interface device 506, a image capture device 510, a video display unit 520, a character input device 518 (e.g., a keyboard), and a touch screen input device 516.
- Data storage device 514 may include a computer-readable storage medium 512 on which is stored one or more sets of instructions 524 embodying any one or more of the methodologies, functions or processes described herein. Instructions 524 may also reside, completely or at least partially, within main memory 504 and/or within processor 502 during execution thereof by computing device 500, main memory 504 and processor 502 also constituting computer-readable storage media. Instructions 524 may further be transmitted or received over network 508 via network interface device 506.
- Data storage device 514 may also include a database 522 on which may be stored one or more examination configurations 302.
- Examination configurations 302 may also reside, completely or at least partially, within main memory 504 and/or within processor 502 during manipulation thereof by computing device 500, main memory 504 and processor 502 also constituting computer-readable storage media. Examination configurations 302 may further be transmitted or received over network 508 via network interface device 506.
- a task bar may be preferably positioned at the top of a screen to provide a user interface.
- a textual representation of a task's name is presented in this user interface, preferably as a button, and the task names may be shortened as necessary if display space of the button is constrained.
- the labelled button having the task's name preferably operate as a type of hyperlink, whereby the user/viewer can immediately switch to the activity, view, etc. of each of the tasks by selecting the button containing the applicable name from the task bar. In other words, the user or viewer is redirected by the application to the function represented by the task button by selecting the labelled hyperlink.
- the task entry associated with the currently-displayed work unit view may be shown in a different graphical representation (e.g. , using a different color, font, or highlighting).
- a display having a selectable "X" in the task bar entry for each task if the user clicks on the "X", then its associated task may be ended and the view of its work unit may be removed.
- a user interface may be web-based, application based, or a combination.
- application or "application software” to refer to a program or group of programs designed for end users. While there are system software, typically but not limited to, lower level programs (e.g. interact with computers at a basic level), application software resides above system software and may include, but is not limited to database programs, word processors, spreadsheets, etc. Application software may be grouped along with system software or published alone. Application software may simply be referred to as an "application”. [0066] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
- one or more visual pattern recognition systems, methods, computer-readable media, and/or cooperating environments may be disclosed.
- the invention is contemplated for use in association with one or more cooperating environments, to afford increased functionality and/or advantageous utilities in association with same.
- the invention is not so limited.
- One or more of the disclosed steps, algorithms, processes, features, structures, parts, components, modules, utilities, relations, configurations, and the like may be implemented in and/or by the invention, on their own, and/or without reference, regard or likewise implementation of one or more of the other disclosed steps, algorithms, processes, features, structures, parts, components, modules, utilities, relations, configurations, and the like, in various permutations and combinations, as may be readily apparent to those skilled in the art, without departing from the pith, marrow, and spirit of the disclosed invention.
- instructions 524 may include instructions for process 300, for component localization and identification shown in FIG. 7.
- computer- readable storage medium 512 is shown in the example of FIG. 9 to be a single medium, the term "computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term "computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
- the term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
- the present disclosure also relates to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
- the present invention is adapted to accurately locate and identify the appearance of specific components of an image.
- the present invention is preferably adapted to recognize and/or determine the type of an RDT based on one or more components on the RDT body or cassette.
- the method, system and/or computer readable medium of the present invention may include the application of the invention described in U.S. Provisional Patent Application Serial No. 62/426,515 filed on November 26, 2016 incorporated herein by reference.
- FIG. 1 depicts a prior art RDT typically comprising a prior body 10, a prior label 12, prior art text 14, a prior art membrane 16, and a prior art well 18.
- FIG. 2 depicts an RDT model 100 encoding the relationships between the RDT components using a directed acyclic graph.
- each vertex represents a component, including an image 102, a body 104, a first label 106, a second label 108, a membrane 110, and additional components 112.
- each edge of the acyclic graph represents a transformation (e.g., a transition between RDT components).
- a model for a first RDT (e.g., "RDT I”) is preferably defined as:
- FIG. 3 depicts a multiple RDT model 100a comprising a first RDT 104a and a second RDT 104b modelled as multiple branches from the root vertex 102.
- a multiple RDT model 100a comprising a first RDT 104a and a second RDT 104b modelled as multiple branches from the root vertex 102.
- three or more RDTs would similarly be modelled as multiple branches from the root vertex 102.
- FIG. 3 depicts a multiple RDT model 100a comprising a first RDT 104a and a second RDT 104b modelled as multiple branches from the root vertex 102.
- three or more RDTs would similarly be modelled as multiple branches from the root vertex 102.
- FIG. 1 depicts a multiple RDT model 100a comprising a first RDT 104a and a second RDT 104b modelled as multiple branches from the root vertex 102.
- FIG. 3 comprises the root vertex C 0 102, the first RDT body COO 104a, the second RDT CI O 104b, a first RDT label 0 C01 106a, a first RDT label 1 C02 108a, a first RDT membrane C03 110a, additional first RDT components 112a, a second RDT body CIO 104b, a second RDT strip Cl l 114, a second RDT label 0 C12 106b, a second RDT membrane C13 110b which is localized to the Strip Cl l 1 14 in an alternate manufacture of an RDT, and additional second RDT components 112b.
- a localization of an RDT component can be described as a graph traversal. Skilled readers will understand that a traversal refers to the process of visiting, checking and/or updating each vertex in a graph (for example, as shown in FIGS. 2 and 3).
- the j th component associated with the •th RjjT (represented by Cij) can be localized by applying successive transformations along a path represented by the following equation:
- the components (j) are known a priori.
- the transformation hierarchy is preferably also known a priori so that the graph structure is fixed. The parameters of the individual transformations between components is not known and must be estimated from the image. Depending on the model many of the transformations may be approximately known. In the case of an RDT the transformation between a membrane and the RDT body is relatively fixed within the manufacturing tolerance of the RDT.
- a free variable preferably representing a transformation deviation 9 y for each transformation ⁇ 3 ⁇ 4; may capture misalignment or variations between the approximate model and a specific RDT sample:
- Mi (Ci j , Ti j (),,) (Equation 3.0)
- the parameters of each model may preferably be estimated using an MLE (i.e., maximum likelihood estimation) approach: [0095] argmax p(X ⁇ ⁇ ( ⁇ ⁇ ) (Equation 4.0),
- an identification can preferably be reduced to finding a model which results in the highest probability:
- M] arg max p(X ⁇ M i (3 ⁇ 4 )) (Equation 5.0).
- one approach to identifying an RDT following Equation 5.0 is to estimate 9 y , (using Equation 4.0) for all models Mi and/or calculate ⁇ ( ⁇
- a disadvantage of this approach is that this approach will require the exploration of all possible ⁇ space for each model and is thus costly and time consuming as the computational time scales with 0(NMP), where N is the number of models, M is the number of components per model and P is the number of parameters in a transformation. Even if it is assumed that the number of components and parameters are fixed, skilled readers will understand that the estimate for all models which will scale linearly with the number of models supported should still be performed.
- this allows for independent interrogation of each component and consequently the probability of X being of a given model can rapidly decrease upon finding an unlikely transformation deviation.
- successive approximations to 9 y k may be made where k is the step, and whereupon Equation 6.0 becomes:
- estimation of this model may be terminated at step 1, where the cumulative probability falls below a threshold at which point this model is no longer considered likely.
- an examination module is preferably adapted to calculate the iterative estimate of 9i j k at each step k and estimate the conditional probability of each step k, p(X
- EM examination module
- O k 0 are therefore preferably dependent on all prior hypotheses H. ,... , H. If the hypothesis 3 ⁇ 4 is very far off, EM k (X, H k ) may be underestimated and terminate early.
- an optimal sequence of steps, k, s(k) that ensures the hypothesis is true may be determined: [00116] EM s(k) (X k) ) > EM s(k+l) (X i (k+l) ) (Equation 8.0). [00117] Skilled readers may understand that this sequence ensures that the approximation of p(X I ,- (0* ⁇ )) is approached from the right or positive side and consequently at termination it is ensured that the true value p(X ⁇ ⁇ * ⁇ ) must lie below the termination threshold.
- the optimal sequence can be approximated by careful design of the examination modules and an a priori sequence in which those examination modules should be traversed.
- the process of determining approximating the optimal path given a known set of examination modules and known models can be a time consuming process as the number of permutations scales quadratically with the number of components and number of examination modules.
- this process can preferably be performed offline and stored in the model configuration (database) as shown in FIG. 7 examination configuration 302. Skilled readers may understand that generally a model may have more than one optimal sequence.
- each examination sequence for an RDT 200 is preferably modelled by an acyclic directed graph as shown in FIG. 4.
- "i" represents a reference RDT and "k” represents a step.
- "j" is the ordered EM for s(k).
- the process 200 comprises a root vertex 0 202 with resulting hypothesis H00 representing the base hypothesis for the 0 th RDT, an EMI vertex 204 with resulting hypothesis H01, an EM2 vertex 206 with resulting hypothesis H02, a series of additional EM vertices 208, and a further EM (EMX) vertex 210 with resulting hypothesis ⁇ 0 ⁇ + 1.
- EMX EM
- the examination sequences of RDTs are modelled by a graph as shown in FIG 5.
- an RDT is identified when a traversal arrives at a terminal leaf node with a confidence in the model hypothesis higher than the termination threshold. As depicted in FIG.
- the process 200a comprises: the root vertex 0 202, an EMI vertex 204 a,b; an EM2 vertex 206 a,b,c; an EM3 vertex 212a; an EM4 vertex 214a; and EM5 vertex 216a; a series of additional EM vertices 208 a,b,c; and further EM vertices (EMX) 210 a,b and (EMY) 218a. Skilled readers may also understand that as depicted the EMs are not in cardinal order for each hypothesis chain as the optimal sequence as embodied though s(k) is not necessarily cardinal.
- branching may occur in examination sequence for an RDT, linearly depicted in process 200, as multiple valid paths satisfying Equation 8 may exist and can be traversed separately and converge on a certain EM further in the process, generally depicted by EMY 218a.
- an optimal traversal can preferably be accomplished using: (a) an early termination condition; and/or (b) a priority based traversal. Skilled readers may appreciate such an embodiment as an improvement on the A* search algorithm for the purposes of rapidly localizing RDT components.
- FIG 6. depicts such a modified A* algorithm where the selection of the next traversal is based on the cost of pursuing such a path. Priorities are preferably determined by a cost function, whereby lower costs are assigned a higher priority. Accordingly, the EM with the lowest cost C(i), the cost of the i th EM being represented as C(i), is preferably traversed first:
- C(i) f(c p c d , p(ti)), (Equation 9.0), [00125] where, c f is a fixed cost of using that EM, c d is a dynamic cost of using that EM that may reduce over time, and p(H.) is the current probability of that hypothesis. For instance, there may be a fixed cost associated with the use of an EM related to the computational resources such an examination may entail, and a dynamic cost, which allows prioritization of some EMs at different points in the process. The dynamic cost may reduce over time as a result of operations that when performed once are cached for subsequent executions such as image preprocessing.
- this prioritization of EMs when combined with a termination step will allow a preferred embodiment of the present invention to efficiently invalidate hypotheses which are not probable by invalidating those hypotheses using the most efficient EMs.
- FIG. 6 depicts a graph traversal. Beginning from the root vertex 0 202, the search algorithm determines that the lowest cost is associated with the exploration of the EMI vertex 204a, represented by arrow "A". However, as between the EM2 206a, EM2 206b, and EMI 204b, the next lowest cost is associated with EM2 206b, represented by arrow "B" indicating the next lowest cost traversal, and the search algorithm accordingly traverses from the root vertex 202 to EM2 206b. Skilled readers may appreciate that this traversal includes the prioritization of the same examination module EM2 206b over 206a indicating the dynamic quality of the cost function associated with these traversals C(i).
- FIG. 7 depicts the examination module segmenter process which is an embodiment of the examination pipeline process described thus far.
- the examination process takes two inputs, an examination configuration 302 which may include the costs for each examination module, the model configurations and optimal sequencing of such steps, and an image of an RDT cassette to be analyzed 304.
- the process proceeds by an initial generation of hypothesis 310 by the generator module 306 which are further refined through successive applications of examination modules 308, which also take as an input the examination configuration and the image 304 which is under examination.
- the successive applications of examination modules on the hypothesis 316 results in a set of high confidence hypothesis 312 in which the location of the cassette components 314 are known. Alternatively, an empty set could be produced if none of the hypotheses exceeds the confidence threshold.
- early termination may preferably be defined as occurring when a certain threshold, T 1; is greater than the current hypothesis H; k which due to the optimal sequencing condition of Equation 8 must be greater than P j (X ⁇ M i (0* ⁇ )) . This condition results in the pruning of the subgraph of the current vertex and the elimination of this path from the search.
- FIG. 11 depicts the identification and localization process 700 in accordance with the present invention, comprising of: a step to input the hypothesis Hf" 702, a step to apply EM s(j) on H f " and return H ⁇ 1 , a step to determine if Hi J+1 is less than a certain threshold T 706, a step to prune the node such that no further children will be created 708, a step to determine if Hi J+1 is a terminal node with no further EMs to be applied 710, a step to add the hypothesis to the output queue and remove all other hypothesis refinements from the search tree 712, a step to add child vertices H ⁇ 2 with edges EMsy+i ) to the priority queue by their EM weights 714, a step to select the next hypothesis and EM to process by selecting the traversal with the lowest weight (C(i)) 716.
- the process 700 is repeated until no further hypotheses remain to be refined.
- FIG. 8A depicts a schematic of an example in accordance with an embodiment of the present invention.
- All nodes 402a, 404, 406 extend from the root vertex A 400.
- Each edge represents the refinement of a given hypothesis by an examination module resulting in a refined hypothesis depicted as nodes: B 402a resulting from the refinement of the 1 st hypothesis by EM 1; C 404 resulting from the refinement of the 2 nd hypothesis by EM 2 , and X 406 resulting from the refinement of the N th hypothesis by EM M .
- the priority queue 450 containing the ordered list of all edges sorted from lowest weight (as defined by C(i)) to highest.
- FIG. 8B depicts the selection and processing of the node with the lowest associated weight of traversal.
- the edge HiEMi has the lowest initial weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis B, 402a.
- FIG. 8C depicts the creation and addition of the children to the newly evaluated node 402a Following the evaluation of node B 402a, edges are added representing the examination modules that satisfy the step sequence requirements of Equation 8 for the previously refined hypothesis resulting in possible further refinements of hypothesis 1 , D-F 402b-d, each generated by an optimally sequenced examination module. The edges are then added to the priority queue 450, by their weight.
- FIG. 8D depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8C the edge HiEM 2 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis B, 402b.
- FIG. 8E depicts the creation and addition of the children to the newly evaluated node 402b. Following the evaluation of node D 402b, edges are added representing the examination modules that satisfy the step sequence requirements of Equation 8 for the previously refined hypothesis resulting in possible further refinements of hypothesis 1, G-H 402e-f, each generated by an optimally sequenced examination module. The edges are then added to the priority queue 450, by their weight.
- FIG. 8F depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8E the edge H 3 EM 1 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis I, 408.
- FIG. 8G depicts the pruning of a hypothesis when the termination criteria are satisfied. If the newly processed node's 408 hypothesis' confidence is below a certain threshold, that node is pruned such that no further children will be created.
- FIG. 8H depicts the selection and processing of the node with the lowest associated weight of traversal.
- the edge H 1 EM 3 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis E, 402c.
- FIG. 81 depicts the pruning of a hypothesis when the termination criteria are satisfied. If the newly processed node is the terminal node in an examination chain such that there are no more EMs that may be applied and the confidence is above a certain threshold, that hypothesis is considered validated and the hypothesis is removed from the queue such that all other nodes refining that hypothesis (402d-f) will no longer be traversed and the hypothesis is added to an output queue 460.
- FIG. 8 J depicts the repetition of the process by the selection and processing of the next node with the lowest associated weight of traversal.
- the edge H 2 EM 2 has the lowest initial weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis C, 404.
- a preferred embodiment of the present invention provides a system comprising data storage (e.g. databases 502 in FIG. 9) that may be used to store all necessary data required for the operation of the system.
- data storage e.g. databases 502 in FIG. 9
- a person skilled in the relevant art may understand that a "data store” refers to a repository for temporarily or persistently storing and managing collections of data which include not just repositories like databases (a series of bytes that may be managed by a database management system (DBMS)), but also simpler store types such as simple files, emails, etc.
- a data store in accordance with the present invention may be one or more databases, co-located or distributed geographically.
- the data being stored may be in any format that may be applicable to the data itself, but may also be in a format that also encapsulates the data quality.
- various data stores or databases 522 may interface with the system of the present invention, preferably including, without limitation, proprietary databases 602, epidemiologic databases 604, medical records databases 606, UN and major/international healthcare institution databases 608, healthcare and emergency infrastructure databases 610, education and economic databases 612, news databases 624, demographic databases 616, communication and military infrastructure databases 618, image databases 620, and weather 626, travel 628, topographic databases 630, over a bus 526 directly connected to a data storage device 514 or network interface connected to a LAN 614 or WAN 622.
- a clinical and healthcare database may preferably contain, among other things, diagnostic and medical data (clinical information), such as, for example, one or more of the following, which may or may not be related to medical events: (a) test results from diagnostic devices equipped with remote data transfer systems and/or global positioning or localization features; (b) information from UN databases and major healthcare international institutions; and/or (c) scenarios and knowledge data.
- diagnostic and medical data such as, for example, one or more of the following, which may or may not be related to medical events: (a) test results from diagnostic devices equipped with remote data transfer systems and/or global positioning or localization features; (b) information from UN databases and major healthcare international institutions; and/or (c) scenarios and knowledge data.
- a sociological database may preferably contain, among other things, sociological data (human information), such as, for example, one or more of the following: (a) population information from local and/or international demographic databases; (b) political and/or organization systems in the area and/or from international databases; (c) education and/or economic systems in the area and/or from international databases; and/or (d) information from news and/or newspapers, drawn from the Internet or elsewhere.
- An infrastructure database may preferably contain, among other things infrastructure data or information, such as, for example, one or more of the following: (a) information concerning healthcare infrastructure; (b) information concerning communication infrastructures; and/or (c) information concerning emergency and/or military infrastructure; all preferably drawn from local and/or international databases.
- a geophysics database may preferably contain, among other things, geophysics data or information, such as, for example, one or more of the following: (a) weather and/or climatic information from local databases; and/or (b) topographic information from local and/or international databases.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
The present invention is directed to a system, method and/or computer readable medium for pattern recognition. The efficiency is increased for identifying a sample object by comparing an image of the sample object with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object. Models for each of the reference images and the sample object image are provided along with hypotheses, and associated confidence measures, that the sample object image corresponds to a particular reference image model. Successive refinement of each confidence measure for the plurality of hypotheses results in the removal of hypotheses and increases the efficiency of identifying the match.
Description
SYSTEM, METHOD AND/OR COMPUTER-READABLE MEDIUM FOR
IDENTIFYING AND/OR LOCALIZING ONE OR MORE RAPID DIAGNOSTIC
TESTS
RELATED APPLICATIONS [0001] The present application claims the benefit of the earlier filed United States Patent Provisional Application No. 62/426,494 filed on November 26, 2016.
FIELD OF THE INVENTION
[0002] The present invention relates generally to the field of image recognition, and more particularly to a system, method and/or computer readable medium for pattern recognition. BACKGROUND OF THE INVENTION
[0003] In the field of pattern recognition, the ability to accurately locate and identify the appearance of specific components of an image may be used to convey information. For example, in the medical diagnostics industry, it may be desirable to provide for the recognition of rapid diagnostic tests ("RDTs") based on the location and type of components contained therein. The correct localization and recognition of these components, preferably with a high degree of accuracy and/or with high sensitivity and/or specificity, may be desirable as it may facilitate, among other things, the subsequent interpretation of a diagnosis of a disease state, the presence or absence of a biomarker, the presence or absence of environmental agents and/or other distinctive features by localizing such features for further processing.
[0004] As may be appreciated by persons having ordinary skill in the art, some of the challenges associated with the accurate localization and identification of components may
arise due to variability in designs of RDT cassettes, including the addition, removal, and relocation of components. The relocation of components may have been particularly problematic in prior art RDT analysis as techniques for evaluating a specific component require the localization of such a component. For example, in some instances, it may be critical and/or preferable to be able to automate the detection of a disease state represented by an RDT but such a determination can only be made once the location of the component indicating such a state is known.
[0005] Prior art approaches may also have been limited by cyclic dependency. In order to identify the RDT, the location of the membrane must be known, however, in order to analyze the membrane, the type of RDT must be known. [0006] Prior art solutions may have previously failed to consider using approaches for component localization that interpreted the components of an RDT cassette as being related to each other through a series of transformations and may have previously failed to consider using graphs to model such RDT cassettes.
[0007] Prior art solutions may have also previously failed to identify search techniques allowing for the rapid exploration of a graph where computing resources are limited and a hypothesis about the success of a given path can be generated. These approaches may have explored a graph based on known costs associated with traversing between any two nodes. Popular approaches in the prior art ~ such as the A search algorithm [see, for example Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968). "A Formal Basis for the Heuristic Determination of Minimum Cost Paths" IEEE Transactions on Systems Science and Cybernetics SSC4. 4 (2): 100-107]— may have traversed a graph in search of an optimal solution in which all nodes in the graph would remain viable until such a solution is found. One of the limitations of this prior art approach may have been that when trying to determine component locations, manufacturing tolerance (e.g., variability in the manufacturing of an RDT cassette, which
may affect its position during image capture) and multiple types of RDTs with similar component localizations may make finding a single optimal solution impossible or impractical. For instance, for RDTs with some manufacturing variations, rigid success criteria may lead to a complete graph traversal without a match which is both time consuming and computationally costly. In another instance it may be possible for multiple RDT types (for example Malaria and Legionella) to have identical component localizations and as such termination after a first success would be incomplete.
[0008] Even in view of the above prior art approaches, persons having ordinary skill in the art may have previously failed to consider modeling RDT component localizations as a graph of transformation which can be traversed using a search algorithm with dynamic termination criteria, though it may be desirable to do so. Such a search algorithm may include a method of successively approximating which RDTs are most likely given an input image with the ability to recognize those RDTs in which significant differences in feature localization would suggest further investigation is of little value and remove such RDTs from the search process. [0009] As a result, there may be a need for, or it may be desirable to provide, one or more systems, methods, computer readable media, and/or cooperating environments that overcomes one or more of the limitations associated with the prior art. It may be advantageous to provide a system, method and/or computer readable medium that preferably facilitates the location and identification of components of an object. There may also be some advantage to providing a method, system and/or computer readable medium that preferably provides for the location and identification of components of an object, with a high degree of accuracy and/or with high sensitivity and/or specificity.
[0010] It may be an object of one preferred embodiment according to the invention to model RDT components as a series of transformations.
[001 1] It may be an object of one preferred embodiment according to the invention to model RDT component localization as a graph.
[0012] It may be an object of one preferred embodiment according to the invention to approximate the likelihood of a given hypothesis about a RDTs identity.
[0013] It may be an object of one preferred embodiment according to the invention to identify those RDTs with little similarity to an image efficiently.
[0014] It may be an object of one preferred embodiment according to the invention to identify those RDTs with high similarity to an image efficiently.
[0015] It may be an object of the present invention to obviate or mitigate one or more disadvantages and/or shortcomings associated with the prior art, to meet or provide for one or more needs and/or advantages, and/or to achieve one or more objects of the invention ~ one or more of which may preferably be readily appreciable by and/or suggested to those skilled in the art in view of the teachings and/or disclosures hereof.
SUMMARY OF THE INVENTION
[0016] The present disclosure provides a system, method and/or computer-readable medium for pattern recognition. More specifically, embodiments of the present invention are directed to a system, method, and/or computer-readable medium for increasing the efficiency of identifying a sample object by comparing a sample object image with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object with one of the plurality of reference objects. There is provided models for each of the plurality of reference images and the sample object image. A plurality of hypotheses that the sample object image corresponds to a particular reference image model for each of the plurality of reference images is also provided, each of the plurality of
hypotheses having a confidence measure associated with a probability that the sample object image corresponds to the particular reference image model. Successive refinement of each confidence measure for the plurality of hypotheses is provided and includes: (i) comparing the sample object image with the hypothesis that the sample object image corresponds to the particular reference image model; and (ii) removing the hypothesis from the refinement if the confidence measure is below a predetermined threshold value. The successive refinement and removal of hypotheses increases the efficiency of identifying the match.
[0017] According to an aspect of one preferred embodiment of the invention, the successive refinement of each confidence measure for the plurality of hypotheses is conducted in a sequence. [0018] According to an aspect of one preferred embodiment of the invention, the sequence of refinements is determined by a cost of the refinement for each of the plurality of hypotheses.
[0019] According to an aspect of one preferred embodiment of the invention, the sequence of refinements is ordered according to increasing cost. [0020] According to an aspect of one preferred embodiment of the invention, each refinement is conducted by applying an evaluation module to the sample object image and the hypothesis.
[0021] According to an aspect of one preferred embodiment of the invention, the evaluation module measures a deviation between the sample object image and the particular reference image model.
[0022] Other advantages, features and characteristics of the present invention, as well as methods of operation and functions of the related elements of the system, method and computer readable medium, and the combination of steps, parts and economies of
manufacture, will become more apparent upon consideration of the following detailed description and the appended claims with reference to the accompanying drawings, the latter of which are briefly described herein below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The novel features which are believed to be characteristic of the system, device and methods according to the present invention, as to their structure, organization, use, and method of operation, together with further objectives and advantages thereof, may be better understood from the following drawings in which presently preferred embodiments of the invention may now be illustrated by way of example. It is expressly understood, however, that the drawings are for the purpose of illustration and description only, and are not intended as a definition of the limits of the invention. In the accompanying drawings:
[0024] FIG. 1 is an image of a prior art RDT;
[0025] FIG. 2 is a schematic of an embodiment of the present invention;
[0026] FIG. 3 is a schematic of a further embodiment of the present invention;
[0027] FIG. 4 is a schematic of yet another embodiment of the present invention;
[0028] FIG. 5 is a schematic of another embodiment of the present invention;
[0029] FIG. 6 is a schematic of a further embodiment of the present invention;
[0030] FIG. 7 is a flow chart of a further embodiment of the present invention;
[0031] FIGS. 8A-J is a schematic of an example in accordance with a further embodiment of the present invention;
[0032] FIG. 9 is an illustration of a yet another embodiment of the present invention;
[0033] FIG. 10 is an illustration of a yet another embodiment of the present invention;
[0034] FIG. 11 is a flow chart of a further embodiment of the present invention;
[0035] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] The description that follows, and the embodiments described therein, may be provided by way of illustration of an example, or examples, of particular embodiments of the principles of the present invention. These examples are provided for the purposes of explanation, and not of limitation, of those principles and of the invention. In the description, like parts are marked throughout the specification and the drawings with the same respective reference numerals. The drawings are not necessarily to scale and in some instances proportions may have been exaggerated in order to more clearly depict certain embodiments and features of the invention.
[0037] The present disclosure may be described herein with reference to system architecture, block diagrams and flowchart illustrations of methods, and computer program products according to various aspects of the present disclosure. It may be understood that each functional block of the block diagrams and the flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer program instructions.
[0038] These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in
the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
[0039] Accordingly, functional blocks of the block diagrams and flow diagram illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program instruction means for performing the specified functions. It may also be understood that each functional block of the block diagrams and flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, can be implemented by either special purpose hardware-based computer systems which perform the specified functions or steps, or suitable combinations of special purpose hardware and computer instructions. [0040] The present disclosure may be now described in terms of an exemplary system in which the present disclosure, in various embodiments, would be implemented. This may be for convenience only and may be not intended to limit the application of the present disclosure. It may be apparent to one skilled in the relevant art(s) how to implement the present disclosure in alternative embodiments. [0041] In this disclosure, a number of terms and abbreviations may be used. The following definitions and descriptions of such terms and abbreviations are provided in greater detail.
[0042] As used herein, a person skilled in the relevant art may generally understand the term "comprising" to generally mean the presence of the stated features, integers, steps, or components as referred to in the claims, but that it does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
[0043] It should also be appreciated that the present invention can be implemented in numerous ways, including as a process, method, an apparatus, a system, a device, a method, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over a network (e.g. optical or electronic communication links). In this specification, these implementations, or any other form that the invention may take, may be referred to as processes. In general, the order of the steps of the disclosed processes may be altered within the scope of the invention.
[0044] Preferred embodiments of the present invention can be implemented in numerous configurations depending on implementation choices based upon the principles described herein. Various specific aspects are disclosed, which are illustrative embodiments not to be construed as limiting the scope of the disclosure. Although the present specification describes components and functions implemented in the embodiments with reference to standards and protocols known to a person skilled in the art, the present disclosures as well as the embodiments of the present invention are not limited to any specific standard or protocol. Each of the standards for non-mobile and mobile computing, including the Internet and other forms of computer network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
[0045] As those of ordinary skill in the art would generally understand, the Internet is a global computer network which comprises a vast number of computers and computer
networks which are interconnected through communication links. A person skilled in the relevant art may understand that an electronic communications network of the present invention, may include, but is not limited to, one or more of the following: a local area network, a wide area network, peer to peer communication, an intranet, or the Internet. The interconnected computers exchange information using various services, including, but not limited to, electronic mail, Gopher, web-services, application programming interface (API), File Transfer Protocol (FTP). This network allows a server computer system (a Web server) to send graphical Web pages of information to a remote client computer system. The remote client computer system can then display the Web pages via its web browser. Each Web page (or link) of the "world wide web" ("WWW") is uniquely identifiable by a Uniform Resource Locator (URL). To view a specific Web page, a client computer system specifies the URL for that Web page in a request (e.g., a HyperText Transfer Protocol ("HTTP") request). The request is forwarded to the Web server that supports the Web page. When the Web server receives the request, it sends the Web page to the client computer system. When the client computer system receives the Web page, it typically displays the Web page using a browser. A web browser or a browser is a special-purpose application program that effects the requesting of web pages and the displaying of web pages and the use of web-based applications. Commercially available browsers include Microsoft Internet Explorer and Firefox, Google Chrome among others. It may be understood that with embodiments of the present invention, any browser would be suitable. [0046] Web pages are typically defined using HTML. HTML provides a standard set of tags that define how a Web page is to be displayed. When a provider indicates to the browser to display a Web page, the browser sends a request to the server computer system to transfer to the client computer system an HTML document that defines the Web page. When the requested HTML document is received by the client computer system, the browser displays
the Web page as defined by the HTML document. The HTML document contains various tags that control the displaying of text, graphics, controls, and other features. The HTML document may contain URLs of other Web pages available on that server computer system or other server computer systems.
[0047] A person skilled in the relevant art may generally understand a web-based application refers to any program that is accessed over a network connection using HTTP, rather than existing within a device's memory. Web-based applications often run inside a web browser or web portal. Web-based applications also may be client-based, where a small part of the program is downloaded to a user's desktop, but processing is done over the Internet on an external server. Web-based applications may also be dedicated programs installed on an internet-ready device, such as a smart phone or tablet. A person skilled in the relevant art may understand that a web site may also act as a web portal. A web portal may be a web site that provides a variety of services to users via a collection of web sites or web based applications. A portal is most often one specially designed site or application that brings information together from diverse sources in a uniform way. Usually, each information source gets its dedicated area on the page for displaying information (a portlet); often, the user can configure which ones to display. Portals typically provide an opportunity for users to input information into a system. Variants of portals include "dashboards". The extent to which content is displayed in a "uniform way" may depend on the intended user and the intended purpose, as well as the diversity of the content. Very often design emphasis is on a certain "metaphor" for configuring and customizing the presentation of the content and the chosen implementation framework and/or code libraries. In addition, the role of the user in an organization may determine which content can be added to the portal or deleted from the portal configuration.
[0048] It may be generally understood by a person skilled in the relevant art that the term "mobile device" or "portable device" refers to any portable electronic device that can be used to access a computer network such as, for example, the internet. Typically a portable electronic device comprises a display screen, at least one input/output device, a processor, memory, a power module and a tactile man-machine interface as well as other components that are common to portable electronic devices individuals or members carry with them on a daily basis. Examples of portable devices suitable for use with the present invention include, but are not limited to, smart phones, cell phones, wireless data/email devices, tablets, PDAs and MP3 players, test devices, etc.
[0049] It may be generally understood by a person skilled in the relevant art that the term "network ready device" or "internet ready device" refers to devices that are capable of connecting to and accessing a computer network, such as, for example, the Internet, including but not limited to an IoT device. A network ready device may assess the computer network through well-known methods, including, for example, a web-browser. Examples of internet- ready devices include, but are not limited to, mobile devices (including smart-phones, tablets, PDAs, etc.), gaming consoles, and smart-TVs. It may be understood by a person skilled in the relevant art that embodiment of the present invention may be expanded to include applications for use on a network ready device (e.g. cellphone). In a preferred embodiment, the network ready device version of the applicable software may have a similar look and feel as a browser version but that may be optimized to the device. It may be understood that other "smart" devices (devices that are capable of connecting to and accessing a computer network, such as, for example, the internet) such as medical or test devices, including but not limited to smart blood pressure monitors, smart glucometers, IoT devices, etc.
[0050] It may be further generally understood by a person skilled in the relevant art that the term "downloading" refers to receiving datum or data to a local system (e.g. mobile
device) from a remote system (e.g. a client) or to initiate such a datum or data transfer. Examples of a remote systems or clients from which a download might be performed include, but are not limited to, web servers, FTP servers, email servers, or other similar systems. A download can mean either any file that may be offered for downloading or that has been downloaded, or the process of receiving such a file. A person skilled in the relevant art may understand the inverse operation, namely sending of data from a local system (e.g. mobile device) to a remote system (e.g. a database) may be referred to as "uploading". The data and/or information used according to the present invention may be updated constantly, hourly, daily, weekly, monthly, yearly, etc. depending on the type of data and/or the level of importance inherent in, and/or assigned to, each type of data. Some of the data may preferably be downloaded from the Internet, by satellite networks or other wired or wireless networks.
[0051] Elements of the present invention may be implemented with computer systems which are well known in the art. Generally speaking, computers include a central processor, system memory, and a system bus that couples various system components including the system memory to the central processor. A system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The structure of a system memory may be well known to those skilled in the art and may include a basic input/output system ("BIOS") stored in a read only memory ("ROM") and one or more program modules such as operating systems, application programs and program data stored in random access memory ("RAM"). Computers may also include a variety of interface units and drives for reading and writing data. A user of the system can interact with the computer using a variety of input devices, all of which are known to a person skilled in the relevant art.
[0052] One skilled in the relevant art would appreciate that the device connections mentioned herein are for illustration purposes only and that any number of possible configurations and selection of peripheral devices could be coupled to the computer system.
[0053] Computers can operate in a networked environment using logical connections to one or more remote computers or other devices, such as a server, a router, a network personal computer, a peer device or other common network node, a wireless telephone or wireless personal digital assistant. The computer of the present invention may include a network interface that couples the system bus to a local area network ("LAN"). Networking environments are commonplace in offices, enterprise-wide computer networks and home computer systems. A wide area network ("WAN"), such as the Internet, can also be accessed by the computer or mobile device.
[0054] It may be appreciated that the type of connections contemplated herein are exemplary and other ways of establishing a communications link between computers may be used in accordance with the present invention, including, for example, mobile devices and networks. The existence of any of various well-known protocols, such as TCP/IP, Frame Relay, Ethernet, FTP, HTTP and the like, may be presumed, and computer can be operated in a client-server configuration to permit a user to retrieve and send data to and from a web- based server. Furthermore, any of various conventional web browsers can be used to display and manipulate data in association with a web based application.
[0055] The operation of the network ready device (i.e., a mobile device) may be controlled by a variety of different program modules, engines, etc. Examples of program modules are routines, algorithms, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. It may be understood that the present invention may also be practiced with other computer system configurations, including multiprocessor systems, microprocessor-based or programmable consumer
electronics, network PCS, personal computers, minicomputers, mainframe computers, and the like. Furthermore, the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. [0056] Embodiments of the present invention can be implemented by a software program for processing data through a computer system. It may be understood by a person skilled in the relevant art that the computer system can be a personal computer, mobile device, notebook computer, server computer, mainframe, networked computer (e.g., router), workstation, and the like. In one embodiment, the computer system includes a processor coupled to a bus and memory storage coupled to the bus. The memory storage can be volatile or non- volatile (i.e. transitory or non-transitory) and can include removable storage media. The computer can also include a display, provision for data input and output, etc. as may be understood by a person skilled in the relevant art.
[0057] Some portion of the detailed descriptions that follow are presented in terms of procedures, steps, logic block, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc. is here, and generally, conceived to be a self-consistent sequence of operations or instructions leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer
system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers or the like.
[0058] FIG. 9 illustrates a more detailed diagram of an example computing device 500 within which a set of instructions, for causing the computing device to perform any one or more of the methods discussed herein, may be executed. The computing device 500 may include additional or different components, some of which may be optional and not necessary to provide aspects of the present disclosure. The computing device may be connected to other computing device in a LAN, an intranet, an extranet, or the Internet. The computing device 500 may operate in the capacity of a server or a client computing device in client- server network environment, or as a peer computing device in a peer-to-peer (or distributed) network environment. The computing device 500 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, or any computing device 500 capable of executing a set of instructions (sequential or otherwise) that specify operations to be performed by that computing device 500. Further, while only a single computing device 500 is illustrated, the term "computing device" shall also be taken to include any collection of computing devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0059] Exemplary computing device 500 includes a processor 502, a main memory 504 (e.g., read-only memory (ROM) or dynamic random access memory (DRAM)), and a data storage device 514, which communicate with each other via a bus 526.
[0060] Processor 502 may be represented by one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, processor 502 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW)
microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. Processor 502 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processor 502 is configured to execute instructions 524 for performing the operations and functions discussed herein.
[0061] Computing device 500 may further include a network interface device 506, a image capture device 510, a video display unit 520, a character input device 518 (e.g., a keyboard), and a touch screen input device 516.
[0062] Data storage device 514 may include a computer-readable storage medium 512 on which is stored one or more sets of instructions 524 embodying any one or more of the methodologies, functions or processes described herein. Instructions 524 may also reside, completely or at least partially, within main memory 504 and/or within processor 502 during execution thereof by computing device 500, main memory 504 and processor 502 also constituting computer-readable storage media. Instructions 524 may further be transmitted or received over network 508 via network interface device 506.
[0063] Data storage device 514 may also include a database 522 on which may be stored one or more examination configurations 302. Examination configurations 302 may also reside, completely or at least partially, within main memory 504 and/or within processor 502 during manipulation thereof by computing device 500, main memory 504 and processor 502 also constituting computer-readable storage media. Examination configurations 302 may further be transmitted or received over network 508 via network interface device 506.
[0064] It may be generally understood that in establishing a user interface, a task bar may be preferably positioned at the top of a screen to provide a user interface. Preferably, a
textual representation of a task's name is presented in this user interface, preferably as a button, and the task names may be shortened as necessary if display space of the button is constrained. The labelled button having the task's name preferably operate as a type of hyperlink, whereby the user/viewer can immediately switch to the activity, view, etc. of each of the tasks by selecting the button containing the applicable name from the task bar. In other words, the user or viewer is redirected by the application to the function represented by the task button by selecting the labelled hyperlink. Preferably, the task entry associated with the currently-displayed work unit view may be shown in a different graphical representation (e.g. , using a different color, font, or highlighting). In preferred embodiments, there may be provided a display having a selectable "X" in the task bar entry for each task: if the user clicks on the "X", then its associated task may be ended and the view of its work unit may be removed. A user interface may be web-based, application based, or a combination.
[0065] In accordance with a preferred aspect of the present invention, a person skilled in the relevant art would generally understand the term "application" or "application software" to refer to a program or group of programs designed for end users. While there are system software, typically but not limited to, lower level programs (e.g. interact with computers at a basic level), application software resides above system software and may include, but is not limited to database programs, word processors, spreadsheets, etc. Application software may be grouped along with system software or published alone. Application software may simply be referred to as an "application". [0066] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as "receiving", "creating", "providing", "communicating" or the like refer to the actions
and processes of a computer system, or similar electronic computing device, including an embedded system, that manipulates and transfers 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 memories or registers or other such information storage, transmission or display devices. As used herein, reference to the "transmission", "processing", "interpretation" or the like of data associated with a cloud may refer to advancing through logic contained in the guideline. This may be accomplished, among other methods, by running on a processor one or more computer programs representative of the algorithms, processes, etc.
[0067] According to the invention, one or more visual pattern recognition systems, methods, computer-readable media, and/or cooperating environments may be disclosed.
[0068] The invention is contemplated for use in association with one or more cooperating environments, to afford increased functionality and/or advantageous utilities in association with same. The invention, however, is not so limited.
[0069] Certain novel features which are believed to be characteristic of a visual pattern recognition system, method, computer readable medium, and/or certain features of the system, method, computer readable medium which are novel in conjunction with the cooperating environment, according to the present invention, as to their organization, use, and/or method of operation, together with further objectives and/or advantages thereof, may be better understood from the accompanying disclosure in which presently preferred embodiments of the invention are disclosed by way of example. It is expressly understood, however, that the accompanying disclosure is for the purpose of illustration and/or description only, and is not intended as a definition of the limits of the invention.
[0070] Naturally, in view of the teachings and disclosures herein, persons having ordinary skill in the art may appreciate that alternate designs and/or embodiments of the invention may be possible (e.g., with substitution of one or more steps, algorithms, processes, features, structures, parts, components, modules, utilities, etc. for others, with alternate relations and/or configurations of steps, algorithms, processes, features, structures, parts, components, modules, utilities, etc).
[0071] Although some of the steps, algorithms, processes, features, structures, parts, components, modules, utilities, relations, configurations, etc. according to the invention are not specifically referenced in association with one another, they may be used, and/or adapted for use, in association therewith. [0072] One or more of the disclosed steps, algorithms, processes, features, structures, parts, components, modules, utilities, relations, configurations, and the like may be implemented in and/or by the invention, on their own, and/or without reference, regard or likewise implementation of one or more of the other disclosed steps, algorithms, processes, features, structures, parts, components, modules, utilities, relations, configurations, and the like, in various permutations and combinations, as may be readily apparent to those skilled in the art, without departing from the pith, marrow, and spirit of the disclosed invention.
[0073] In certain implementations, instructions 524 may include instructions for process 300, for component localization and identification shown in FIG. 7. While computer- readable storage medium 512 is shown in the example of FIG. 9 to be a single medium, the term "computer-readable storage medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable storage medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to
perform any one or more of the methodologies of the present disclosure. The term "computer-readable storage medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
[0074] The methods, components, and features described herein may be implemented by discrete hardware components or may be integrated in the functionality of other hardware components such as ASICS, FPGAs, DSPs or similar devices. In addition, the methods, components, and features may be implemented by firmware modules or functional circuitry within hardware devices. Further, the methods, components, and features may be implemented in any combination of hardware devices and software components, or only in software. [0075] In the foregoing description, numerous details are set forth. It will be apparent, however, to one of ordinary skill in the art having the benefit of this disclosure, that the present disclosure may be practiced without these specific details. In some instances, well- known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present disclosure. [0076] The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
[0077] It is to be understood that the above description is intended to be illustrative, and not restrictive. Various other implementations will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. [0078] In a preferred embodiment, the present invention is adapted to accurately locate and identify the appearance of specific components of an image. In particular, the present invention is preferably adapted to recognize and/or determine the type of an RDT based on one or more components on the RDT body or cassette. The method, system and/or computer readable medium of the present invention may include the application of the invention described in U.S. Provisional Patent Application Serial No. 62/426,515 filed on November 26, 2016 incorporated herein by reference.
[0079] FIG. 1 depicts a prior art RDT typically comprising a prior body 10, a prior label 12, prior art text 14, a prior art membrane 16, and a prior art well 18. Persons skilled in the art will understand that the foregoing collection of components have a functional relationship. [0080] In accordance with the present invention, FIG. 2 depicts an RDT model 100 encoding the relationships between the RDT components using a directed acyclic graph. As shown in the figure, each vertex represents a component, including an image 102, a body 104, a first label 106, a second label 108, a membrane 110, and additional components 112. According to a preferred embodiment, each edge of the acyclic graph represents a transformation (e.g., a transition between RDT components). A model for a first RDT (e.g., "RDT I") is preferably defined as:
[0081] Mi = (V, E) = (C, T) (Equation 1.0),
[0082] where V is the set of vertices representing the components C, E is the set of edges traversing those vertices V in a graph, C is the set of components of an RDT, and T is the set of transformations applied on those components to localize them on an RDT.
[0083] FIG. 3 depicts a multiple RDT model 100a comprising a first RDT 104a and a second RDT 104b modelled as multiple branches from the root vertex 102. Persons skilled in the art will understand that three or more RDTs (not shown) would similarly be modelled as multiple branches from the root vertex 102. In the present example, FIG. 3 comprises the root vertex C0 102, the first RDT body COO 104a, the second RDT CI O 104b, a first RDT label 0 C01 106a, a first RDT label 1 C02 108a, a first RDT membrane C03 110a, additional first RDT components 112a, a second RDT body CIO 104b, a second RDT strip Cl l 114, a second RDT label 0 C12 106b, a second RDT membrane C13 110b which is localized to the Strip Cl l 1 14 in an alternate manufacture of an RDT, and additional second RDT components 112b.
[0084] (A) Localization
[0085] According to the present invention, a localization of an RDT component can be described as a graph traversal. Skilled readers will understand that a traversal refers to the process of visiting, checking and/or updating each vertex in a graph (for example, as shown in FIGS. 2 and 3). According to the present invention, the jth component associated with the •th RjjT (represented by Cij) can be localized by applying successive transformations along a path represented by the following equation:
[0086] 0 (Equation 2.0),
[0087] where p(k) is the sequence of components traversed to reach the i component and C0 is the image component. Such that any component can be represented though successive steps p(k).
[0088] In accordance with the present invention, it is assumed that if the transformations are linear the foregoing equation reduces to:
N
[0089] ,v = L i 1■ a · (Equation 2.1)
v k=o y>w 0
[0090] (B) Model Estimation
[0091] In accordance with the present invention, an RDT may be represented by model Mi = (Cij, Tij), where (¾ is the jth component associated with the ith RDT and Ty is the jth transformation associated with the ith RDT for each component and transformation j in the model. Preferably, the components (j) are known a priori. In addition, the transformation hierarchy is preferably also known a priori so that the graph structure is fixed. The parameters of the individual transformations between components is not known and must be estimated from the image. Depending on the model many of the transformations may be approximately known. In the case of an RDT the transformation between a membrane and the RDT body is relatively fixed within the manufacturing tolerance of the RDT.
[0092] Based on the foregoing model, the inclusion of a free variable, preferably representing a transformation deviation 9y for each transformation Τ¾; may capture misalignment or variations between the approximate model and a specific RDT sample:
[0093] Mi = (Cij, Tij (),,) (Equation 3.0) [0094] The parameters of each model may preferably be estimated using an MLE (i.e., maximum likelihood estimation) approach:
[0095] argmax p(X \ Μ(θέ ) (Equation 4.0),
[0096] where X is an observed image of an RDT and we have assumed a uniform distribution for θ„. Such that Θ*- is the Θ which maximizes the probability of the observed image given a transformation deviation. Persons skilled in the art may appreciate that other approaches for estimating the parameters of each model may be used. Skilled readers may also appreciate that exploration of Θ space for this purpose is computationally intensive and consequently a novel approach to the approximation 0*. is required for the efficient traversal of a transformation graph.
[0097] (C) Identification
[0098] In accordance with the present invention, an identification can preferably be reduced to finding a model which results in the highest probability:
[0099] M] = arg max p(X \ Mi (¾ )) (Equation 5.0).
M:
[00100] All Models Algorithm
[00101] In accordance with the present invention, one approach to identifying an RDT following Equation 5.0 is to estimate 9y , (using Equation 4.0) for all models Mi and/or calculate ρ(Χ|Μ;(θ¾ )). A disadvantage of this approach, however, as may be appreciated by persons skilled in the art, is that this approach will require the exploration of all possible Θ space for each model and is thus costly and time consuming as the computational time scales with 0(NMP), where N is the number of models, M is the number of components per model and P is the number of parameters in a transformation. Even if it is assumed that the number of components and parameters are fixed, skilled readers will understand that the estimate for
all models which will scale linearly with the number of models supported should still be performed.
[00102] Simplifications
[00103] In the identification step, many potential reference RDTs can become highly unlikely as a match or reference for an input RDT if even one of the components is not in the expected location. For instance, in the case of a missing label or manufacturers mark. In accordance with the present invention, and wherein the components can be independently identified, p(X|Mi(9y )) can be evaluated as the product of conditional probabilities associated with the image X given some component j of the RDT and the model probability as a function of the jth components transformation deviation associated with that model: [00104] p(X I M. (¾)) = p(X I C0,M. (¾))/ |€λ ,Μ≠Ά))...ρ{Χ | (Equation 6.0),
[00105] In a preferred embodiment, this allows for independent interrogation of each component and consequently the probability of X being of a given model can rapidly decrease upon finding an unlikely transformation deviation. In general, in a preferred embodiment of the invention, successive approximations to 9y k may be made where k is the step, and whereupon Equation 6.0 becomes:
[00106] p(X I f (0*■)) = p(X | Μ. (0° ))/ | f (0* )).../>( \ M. (e ) , (Equation 6.1), [00107] which can be rewritten as :
[00108] p(X \ Mi (eij)) = n Pk (X \ Mi (efj )) (Equation 6.2)
[00109] According to the present invention, estimation of this model may be terminated at step 1, where the cumulative probability falls below a threshold at which point this model is no longer considered likely.
[00110] (E) Examination Module
[00111] In accordance with the present invention, an examination module ("EM") is preferably adapted to calculate the iterative estimate of 9ij k at each step k and estimate the conditional probability of each step k, p(X|Mi(9y k)). In addition, we define the model estimate at step k (Mi(0ijk)) as the model hypothesis Hjk where i is the RDT and k is the kth step:
[00112] EMk(X,H ) ^ pk(X \ Mi (0 - )) (Equation 7.0) [00113] Here the hypothesis is an estimate of the current transformation deviations for a particular model. In accordance with the present invention, the order of examination is significant (and may have an effect on the outcome of the process, as iterative approximations are not commutative in nature). Since ey k+1 is derived from 9y k, skilled k+N readers may understand that there is an order dependence. All subsequent hypotheses H.
O k 0 are therefore preferably dependent on all prior hypotheses H. ,... , H. If the hypothesis ¾ is very far off, EMk(X, H k) may be underestimated and terminate early.
[00114] Optimal sequence
[00115] In accordance with the present invention, an optimal sequence of steps, k, s(k) that ensures the hypothesis is true may be determined: [00116] EMs(k)(X k)) > EMs(k+l) (X i (k+l)) (Equation 8.0).
[00117] Skilled readers may understand that this sequence ensures that the approximation of p(X I ,- (0*■)) is approached from the right or positive side and consequently at termination it is ensured that the true value p(X \ ΜΑΘ*Λ) must lie below the termination threshold.
[00118] In accordance with the present invention, the optimal sequence can be approximated by careful design of the examination modules and an a priori sequence in which those examination modules should be traversed. The process of determining approximating the optimal path given a known set of examination modules and known models can be a time consuming process as the number of permutations scales quadratically with the number of components and number of examination modules. However, this process can preferably be performed offline and stored in the model configuration (database) as shown in FIG. 7 examination configuration 302. Skilled readers may understand that generally a model may have more than one optimal sequence.
[00119] In accordance with the present invention, each examination sequence for an RDT 200 is preferably modelled by an acyclic directed graph as shown in FIG. 4. As depicted in the figure, for ¾, "i" represents a reference RDT and "k" represents a step. As further depicted in the figure, for EMj, "j" is the ordered EM for s(k). As shown in FIG.4, the process 200 comprises a root vertex 0 202 with resulting hypothesis H00 representing the base hypothesis for the 0th RDT, an EMI vertex 204 with resulting hypothesis H01, an EM2 vertex 206 with resulting hypothesis H02, a series of additional EM vertices 208, and a further EM (EMX) vertex 210 with resulting hypothesis Η0Ν+ 1.
[00120] Search Algorithm
[00121] In accordance with the present invention, the examination sequences of RDTs are modelled by a graph as shown in FIG 5. In a preferred embodiment, an RDT is identified when a traversal arrives at a terminal leaf node with a confidence in the model hypothesis higher than the termination threshold. As depicted in FIG. 5, the process 200a comprises: the root vertex 0 202, an EMI vertex 204 a,b; an EM2 vertex 206 a,b,c; an EM3 vertex 212a; an EM4 vertex 214a; and EM5 vertex 216a; a series of additional EM vertices 208 a,b,c; and further EM vertices (EMX) 210 a,b and (EMY) 218a. Skilled readers may also understand that as depicted the EMs are not in cardinal order for each hypothesis chain as the optimal sequence as embodied though s(k) is not necessarily cardinal. Further, skilled readers may also understand that branching may occur in examination sequence for an RDT, linearly depicted in process 200, as multiple valid paths satisfying Equation 8 may exist and can be traversed separately and converge on a certain EM further in the process, generally depicted by EMY 218a.
[00122] Search Algorithm - Traversal
[00123] In accordance with the present invention, an optimal traversal can preferably be accomplished using: (a) an early termination condition; and/or (b) a priority based traversal. Skilled readers may appreciate such an embodiment as an improvement on the A* search algorithm for the purposes of rapidly localizing RDT components. FIG 6. depicts such a modified A* algorithm where the selection of the next traversal is based on the cost of pursuing such a path. Priorities are preferably determined by a cost function, whereby lower costs are assigned a higher priority. Accordingly, the EM with the lowest cost C(i), the cost of the ith EM being represented as C(i), is preferably traversed first:
[00124] C(i) = f(cp cd, p(ti)), (Equation 9.0),
[00125] where, cf is a fixed cost of using that EM, cd is a dynamic cost of using that EM that may reduce over time, and p(H.) is the current probability of that hypothesis. For instance, there may be a fixed cost associated with the use of an EM related to the computational resources such an examination may entail, and a dynamic cost, which allows prioritization of some EMs at different points in the process. The dynamic cost may reduce over time as a result of operations that when performed once are cached for subsequent executions such as image preprocessing. The inclusion of the current probability of a hypothesis may allow for the traversal further into the hypothesis' of some RDTs where the hypothesis indicates a higher likely hood of finding a match, again reducing wasted resources on the exploration of low yield nodes. [00126] In accordance with the present invention, this prioritization of EMs when combined with a termination step will allow a preferred embodiment of the present invention to efficiently invalidate hypotheses which are not probable by invalidating those hypotheses using the most efficient EMs.
[00127] In accordance with the present invention, FIG. 6 depicts a graph traversal. Beginning from the root vertex 0 202, the search algorithm determines that the lowest cost is associated with the exploration of the EMI vertex 204a, represented by arrow "A". However, as between the EM2 206a, EM2 206b, and EMI 204b, the next lowest cost is associated with EM2 206b, represented by arrow "B" indicating the next lowest cost traversal, and the search algorithm accordingly traverses from the root vertex 202 to EM2 206b. Skilled readers may appreciate that this traversal includes the prioritization of the same examination module EM2 206b over 206a indicating the dynamic quality of the cost function associated with these traversals C(i). Following from vertex EM2 206b, the next lowest cost traverse associated with EMI 204b, represented by Arrow "C", and then EM4 214a (arrow
"D") followed by EM2 206c (arrow "E") followed by EM2 216a (arrow "F") and EMY 218A (arrow "G").
[00128] FIG. 7 depicts the examination module segmenter process which is an embodiment of the examination pipeline process described thus far. The examination process takes two inputs, an examination configuration 302 which may include the costs for each examination module, the model configurations and optimal sequencing of such steps, and an image of an RDT cassette to be analyzed 304. The process proceeds by an initial generation of hypothesis 310 by the generator module 306 which are further refined through successive applications of examination modules 308, which also take as an input the examination configuration and the image 304 which is under examination. The successive applications of examination modules on the hypothesis 316 results in a set of high confidence hypothesis 312 in which the location of the cassette components 314 are known. Alternatively, an empty set could be produced if none of the hypotheses exceeds the confidence threshold.
[00129] (F) Summary
[00130] In accordance with the present invention, the following identification algorithm may be defined as:
[00131] * = argmax p{X | - (#*)) (Equation 10.0)
[00132] * Π EMs(k) (X, H- (k) )
k=0 1 '
[00133] And early termination may preferably be defined as occurring when a certain threshold, T1; is greater than the current hypothesis H;k which due to the optimal sequencing
condition of Equation 8 must be greater than Pj (X \ Mi (0*■)) . This condition results in the pruning of the subgraph of the current vertex and the elimination of this path from the search.
[00134] pl {X \ Mi Hi s{k)) < T (Equation 11.0)
[00135] FIG. 11 depicts the identification and localization process 700 in accordance with the present invention, comprising of: a step to input the hypothesis Hf" 702, a step to apply EMs(j) on Hf" and return H^1, a step to determine if HiJ+1 is less than a certain threshold T 706, a step to prune the node such that no further children will be created 708, a step to determine if HiJ+1 is a terminal node with no further EMs to be applied 710, a step to add the hypothesis to the output queue and remove all other hypothesis refinements from the search tree 712, a step to add child vertices H^2 with edges EMsy+i) to the priority queue by their EM weights 714, a step to select the next hypothesis and EM to process by selecting the traversal with the lowest weight (C(i)) 716. The process 700 is repeated until no further hypotheses remain to be refined.
[00136] Detailed Example
[00137] FIG. 8A depicts a schematic of an example in accordance with an embodiment of the present invention. All nodes 402a, 404, 406 extend from the root vertex A 400. Each edge represents the refinement of a given hypothesis by an examination module resulting in a refined hypothesis depicted as nodes: B 402a resulting from the refinement of the 1 st hypothesis by EM1; C 404 resulting from the refinement of the 2nd hypothesis by EM2, and X 406 resulting from the refinement of the Nth hypothesis by EMM. Additionally depicted is the priority queue 450 containing the ordered list of all edges sorted from lowest weight (as defined by C(i)) to highest.
[00138] FIG. 8B depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8A the edge HiEMi has the lowest initial weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis B, 402a.
[00139] FIG. 8C depicts the creation and addition of the children to the newly evaluated node 402a Following the evaluation of node B 402a, edges are added representing the examination modules that satisfy the step sequence requirements of Equation 8 for the previously refined hypothesis resulting in possible further refinements of hypothesis 1 , D-F 402b-d, each generated by an optimally sequenced examination module. The edges are then added to the priority queue 450, by their weight. [00140] FIG. 8D depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8C the edge HiEM2 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis B, 402b.
[00141] FIG. 8E depicts the creation and addition of the children to the newly evaluated node 402b. Following the evaluation of node D 402b, edges are added representing the examination modules that satisfy the step sequence requirements of Equation 8 for the previously refined hypothesis resulting in possible further refinements of hypothesis 1, G-H 402e-f, each generated by an optimally sequenced examination module. The edges are then added to the priority queue 450, by their weight. [00142] FIG. 8F depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8E the edge H3EM1 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis I, 408.
[00143] FIG. 8G depicts the pruning of a hypothesis when the termination criteria are satisfied. If the newly processed node's 408 hypothesis' confidence is below a certain threshold, that node is pruned such that no further children will be created.
[00144] FIG. 8H depicts the selection and processing of the node with the lowest associated weight of traversal. As depicted in FIG. 8G the edge H1EM3 has the lowest weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis E, 402c.
[00145] FIG. 81 depicts the pruning of a hypothesis when the termination criteria are satisfied. If the newly processed node is the terminal node in an examination chain such that there are no more EMs that may be applied and the confidence is above a certain threshold, that hypothesis is considered validated and the hypothesis is removed from the queue such that all other nodes refining that hypothesis (402d-f) will no longer be traversed and the hypothesis is added to an output queue 460.
[00146] FIG. 8 J depicts the repetition of the process by the selection and processing of the next node with the lowest associated weight of traversal. As depicted in FIG. 81 the edge H2EM2 has the lowest initial weight of traversal in the priority queue 450, and consequently that node is selected and processed 452, resulting in the refined hypothesis C, 404.
[00147] Data Store
[00148] A preferred embodiment of the present invention provides a system comprising data storage (e.g. databases 502 in FIG. 9) that may be used to store all necessary data required for the operation of the system. A person skilled in the relevant art may understand that a "data store" refers to a repository for temporarily or persistently storing and managing collections of data which include not just repositories like databases (a series of bytes that may be managed by a database management system (DBMS)), but also simpler store types
such as simple files, emails, etc. A data store in accordance with the present invention may be one or more databases, co-located or distributed geographically. The data being stored may be in any format that may be applicable to the data itself, but may also be in a format that also encapsulates the data quality.
[00149] As shown in FIGS. 9 and 10, various data stores or databases 522 may interface with the system of the present invention, preferably including, without limitation, proprietary databases 602, epidemiologic databases 604, medical records databases 606, UN and major/international healthcare institution databases 608, healthcare and emergency infrastructure databases 610, education and economic databases 612, news databases 624, demographic databases 616, communication and military infrastructure databases 618, image databases 620, and weather 626, travel 628, topographic databases 630, over a bus 526 directly connected to a data storage device 514 or network interface connected to a LAN 614 or WAN 622.
[00150] A clinical and healthcare database may preferably contain, among other things, diagnostic and medical data (clinical information), such as, for example, one or more of the following, which may or may not be related to medical events: (a) test results from diagnostic devices equipped with remote data transfer systems and/or global positioning or localization features; (b) information from UN databases and major healthcare international institutions; and/or (c) scenarios and knowledge data.
[00151] A sociological database may preferably contain, among other things, sociological data (human information), such as, for example, one or more of the following: (a) population information from local and/or international demographic databases; (b) political and/or organization systems in the area and/or from international databases; (c) education and/or economic systems in the area and/or from international databases; and/or (d) information from news and/or newspapers, drawn from the Internet or elsewhere.
[00152] An infrastructure database may preferably contain, among other things infrastructure data or information, such as, for example, one or more of the following: (a) information concerning healthcare infrastructure; (b) information concerning communication infrastructures; and/or (c) information concerning emergency and/or military infrastructure; all preferably drawn from local and/or international databases. [00153] A geophysics database may preferably contain, among other things, geophysics data or information, such as, for example, one or more of the following: (a) weather and/or climatic information from local databases; and/or (b) topographic information from local and/or international databases.
[00154] The foregoing description has been presented for the purpose of illustration and maybe not intended to be exhaustive or to limit the invention to the precise form disclosed. Other modifications, variations and alterations are possible in light of the above teaching and may be apparent to those skilled in the art, and may be used in the design and manufacture of other embodiments according to the present invention without departing from the spirit and scope of the invention. It may be intended the scope of the invention be limited not by this description but only by the claims forming a part of this application and/or any patent issuing herefrom.
Claims
1. A method of increasing the efficiency of identifying a sample object by comparing a sample object image with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object with one of the plurality of reference objects, the method comprising:
(a) a step for generating a model for each of the plurality of reference images;
(b) a step for providing the sample object image;
(c) a step for generating a plurality of hypotheses that the sample object image corresponds to a particular reference image model for each of the plurality of reference images, each of the plurality of hypotheses having a confidence measure associated with a probability that the sample object image corresponds to the particular reference image model;
(d) a step for successive refinement of each confidence measure for the plurality of hypotheses comprising:
(i) comparing the sample object image with the hypothesis that the sample object image corresponds to the particular reference image model; and
(ii) removing the hypothesis from the refinement if the confidence measure is below a predetermined threshold value; whereby, the successive refinement and removal of hypotheses increases the efficiency of identifying the match.
2. The method of claim 1 wherein the successive refinement of each confidence measure for the plurality of hypotheses is conducted in a sequence.
3. The method of claim 2 wherein the sequence of refinements is determined by a cost of the refinement for each of the plurality of hypotheses.
4. The method of claim 3 wherein the sequence of refinements is ordered according to increasing cost.
5. The method of any one of claims 1 to 4 wherein each refinement is conducted by applying an evaluation module to the sample object image and the hypothesis.
6. The method of claim 5 wherein the evaluation module measures a deviation between the sample object image and the particular reference image model.
7. A system for increasing the efficiency of identifying a sample object by comparing a sample object image with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object with one of the plurality of reference objects, the system comprising:
(a) a model for each of the plurality of reference images;
(b) a sample object image;
(c) one or more processors encoded to:
(i) generate a plurality of hypotheses that the sample object image corresponds to a particular reference image model for each of the plurality of reference images, each of the plurality of hypotheses having a confidence measure associated with a probability that the sample object image corresponds to the particular reference image model;
(ii) successively refine each confidence measure for the plurality of hypotheses comprising: (A) comparing the sample object image with the hypothesis that the sample object image corresponds to the particular reference image model; and (B) removing the hypothesis from the refinement if the confidence measure is below a predetermined threshold value;
whereby the system is operative to facilitate successive refinement and removal of hypotheses to increase the efficiency of identifying the match.
8. The system according to claim 7, wherein the successive refinement of each confidence measure for the plurality of hypotheses is conducted in a sequence.
9. The system according to claims 7 to 8, wherein the sequence of refinements is determined by a cost of the refinement for each of the plurality of hypotheses.
10. The system according to claims 7 to 9, wherein the sequence of refinements is ordered according to increasing cost.
11. The system according to claims 7 to 10, wherein each refinement is conducted by applying an evaluation module to the sample object image and the hypothesis.
12. The system according to claim 11, wherein the evaluation module measures a deviation between the sample object image and the particular reference image model.
13. A non-transitory computer-readable medium on which is physically stored executable instructions which, upon execution, will increase the efficiency of identifying a sample object by comparing a sample object image with a plurality of reference images corresponding to a plurality of reference objects to determine a match for the sample object with one of the plurality of reference objects; wherein the executable instructions comprise processor instructions for one or more processors to automatically:
(a) generate a model for each of the plurality of reference images;
(b) provide the sample object image;
(c) generate a plurality of hypotheses that the sample object image corresponds to a particular reference image model for each of the plurality of reference images, each of the
plurality of hypotheses having a confidence measure associated with a probability that the sample object image corresponds to the particular reference image model;
(d) successively refining each confidence measure for the plurality of hypotheses comprising: (i) comparing the sample object image with the hypothesis that the sample object image corresponds to the particular reference image model; and (ii) removing the hypothesis from the refinement if the confidence measure is below a predetermined threshold value; to thus operatively facilitate successive refinement and removal of hypotheses to increase the efficiency of identifying the match.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA3083547A CA3083547A1 (en) | 2016-11-26 | 2017-11-24 | System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662426494P | 2016-11-26 | 2016-11-26 | |
US62/426,494 | 2016-11-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018094533A1 true WO2018094533A1 (en) | 2018-05-31 |
Family
ID=62194584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2017/051417 WO2018094533A1 (en) | 2016-11-26 | 2017-11-24 | System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests |
Country Status (2)
Country | Link |
---|---|
CA (1) | CA3083547A1 (en) |
WO (1) | WO2018094533A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221719A (en) * | 2018-11-23 | 2020-06-02 | 青岛海信网络科技股份有限公司 | Automatic test system and test method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090154778A1 (en) * | 2007-12-12 | 2009-06-18 | 3M Innovative Properties Company | Identification and verification of an unknown document according to an eigen image process |
US20160110596A1 (en) * | 2012-09-28 | 2016-04-21 | Ncr Corporation | Methods of processing data from multiple image sources to provide normalized confidence levels for use in improving performance of a recognition processor |
-
2017
- 2017-11-24 WO PCT/CA2017/051417 patent/WO2018094533A1/en active Application Filing
- 2017-11-24 CA CA3083547A patent/CA3083547A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090154778A1 (en) * | 2007-12-12 | 2009-06-18 | 3M Innovative Properties Company | Identification and verification of an unknown document according to an eigen image process |
US20160110596A1 (en) * | 2012-09-28 | 2016-04-21 | Ncr Corporation | Methods of processing data from multiple image sources to provide normalized confidence levels for use in improving performance of a recognition processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221719A (en) * | 2018-11-23 | 2020-06-02 | 青岛海信网络科技股份有限公司 | Automatic test system and test method |
Also Published As
Publication number | Publication date |
---|---|
CA3083547A1 (en) | 2018-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210248247A1 (en) | Data privacy policy based network resource access controls | |
US11620532B2 (en) | Method and apparatus for generating neural network | |
EP3579124A1 (en) | Method and apparatus for providing search results | |
CN108399150B (en) | Text processing method and device, computer equipment and storage medium | |
CN105677931B (en) | Information search method and device | |
US20210390728A1 (en) | Object area measurement method, electronic device and storage medium | |
CN111260774B (en) | Method and device for generating 3D joint point regression model | |
CN111147431B (en) | Method and apparatus for generating information | |
CN109409419B (en) | Method and apparatus for processing data | |
US11347931B2 (en) | Process for creating a fixed length representation of a variable length input | |
US20180336181A1 (en) | Natural language processing of formatted documents | |
CN115438232A (en) | Knowledge graph construction method and device, electronic equipment and storage medium | |
CN114385918A (en) | Message pushing method and device, computer equipment and storage medium | |
KR20230133808A (en) | Method and apparatus for training roi detection model, method and apparatus for detecting roi, device, and medium | |
CN109582854B (en) | Method and apparatus for generating information | |
CN115132324A (en) | Mental health prediction method and device, electronic equipment and storage medium | |
CN109063059B (en) | Behavior log processing method and device and electronic equipment | |
CN112784189A (en) | Method and device for identifying page image | |
WO2018094533A1 (en) | System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests | |
CN114625658A (en) | APP stability test method, device, equipment and computer readable storage medium | |
CN109857838B (en) | Method and apparatus for generating information | |
CN111526054B (en) | Method and device for acquiring network | |
CN113360460B (en) | Favorites sharing method and device | |
CN115016873B (en) | Front-end data interaction method, system, electronic equipment and readable storage medium | |
CN117291249A (en) | Pruning method of knowledge graph, information recommendation method and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17874449 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17874449 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 3083547 Country of ref document: CA |