Robotic system for performing pattern recognition based inspection of pharmaceutical containers
By employing robotic testing platforms with pattern recognition models, the challenge of accurately distinguishing between defective and non-defective attributes in pharmaceutical containers and samples is addressed, resulting in improved inspection accuracy and reduced costs.
Patent Information
- Application Number
- JP2023164671
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-07-31
- Filing Date
- 2023-09-27
- Publication Date
- 2025-04-07
- Estimated Expiration
- 2039-06-12
AI Technical Summary
Conventional image processing methods in automated inspection systems struggle to achieve high accuracy in distinguishing between defective and non-defective attributes in pharmaceutical containers and samples, particularly when attributes like particles and foam have similar appearances.
The implementation of robotic testing platforms that utilize pattern recognition models, such as deep learning, to inspect pharmaceutical containers and samples, enabling reliable differentiation between particles and bubbles, and facilitating early development and training of these models.
This approach significantly improves the accuracy of inspections, reducing the likelihood of false rejections and approvals, thereby enhancing safety and reducing costs associated with unnecessary product disposal.
Smart Images

Figure 0007657879000001 
Figure 0007657879000002 
Figure 0007657879000003
Abstract
Description
[Technical field]
[0001] This application relates generally to the inspection of pharmaceutical containers, such as syringes or vials, and / or the inspection of samples within such containers. [Background technology]
[0002] In certain situations, such as quality control procedures for manufactured pharmaceutical products, fluid or other (e.g., lyophilized) samples need to be examined for the presence of various attributes, such as particles, bubbles, or dirt. Undesirable particles or other attributes can come from many different sources, such as the environment, mishandling or storage, or by-products / residues of formulation, packaging, or filling. Depending on the situation, certain types of attributes (e.g., bubbles) may be acceptable, while other attributes (e.g., particles, certain types of particles, particles above a certain size and / or number, etc.) may not be acceptable. If an unacceptable attribute is detected in the fluid sample, the fluid sample is rejected.
[0003] Image processing methods traditionally used for defect detection in large commercial inspection machines often struggle to achieve high accuracy when faced with difficult inspection tasks. This is especially true for inspections that require evaluation of samples that have very similar appearances while defect and non-defect attributes may be present at the same time. For example, inspection of liquid-filled syringes may involve discriminating between a particle or dirt on the piston dome (defect) and a harmless bubble on the piston dome (non-defect). In an automated process, this can make it difficult to ensure that bad samples are rejected at an acceptable rate (e.g., 100% of the time or at least 99.99999% of the time, etc.) and that qualified samples are approved (i.e., are not falsely rejected) at an acceptable rate. The former situation can lead to potentially hazardous conditions, while the latter situation can lead to high costs due to unnecessary waste of qualified products. While the poor accuracy of automated systems can sometimes be compensated for by other means (e.g., repeated inspection, manual inspection, etc.), such approaches are generally expensive in terms of both time and cost. Similar drawbacks exist in connection with other quality procedures, such as when inspecting the containers themselves for defects. Summary of the Invention [Means for solving the problem]
[0004] The embodiments described herein relate to systems that improve upon traditional inspection techniques. In particular, the robotic inspection platform can use pattern recognition (e.g., deep learning) models / techniques to inspect pharmaceutical containers (e.g., syringes, vials, cartridges, etc.) and / or inspect samples (e.g., fluids, lyophilized products, etc.) within such containers to address highly challenging inspection tasks. The pattern recognition model may be able to reliably distinguish, for example, between particles and bubbles in a fluid sample, or between a particular type of particle and a particular type of bubble, etc. The robotic inspection platform may also be configured to facilitate initial (pre-production) development or training of the pattern recognition model. In some embodiments and / or circumstances, the platform may be used to perform primary (e.g., single or initial) inspection of containers and / or samples. Alternatively, the platform may be used to reinspect containers and / or samples that have already been identified as rejects or likely rejects by another automated inspection system (e.g., a less reliable / precise conventional automated inspection system).
[0005] In embodiments in which the platform implements a machine learning model, the model may be trained using a large dataset of training images and supervised learning methods. The platform may be used under controlled conditions (e.g., precise and repeatable container orientation and lighting conditions) to capture training images, after which a human analyst may manually label attributes of the training images. For example, the analyst may label / classify objects in the training images as specific object types. To capture the training images, the platform's robotic arm may sequentially pick up each of several containers, present the container in front of an imager, and manipulate (e.g., rotate) the container while images of different angles / or orientations are acquired. The training process may use containers with intentionally introduced defects (and / or hold samples with intentionally introduced defects) to ensure that a sufficiently wide range of defects and / or defect types are encountered when the human analyst performs the classification task.
[0006] Once the model has been trained and incorporated, the platform can be switched to a "production", "runtime", "operational", or "processing" mode. In this mode, the robotic arm picks up a new container (possibly holding a sample) and manipulates the container in front of the imager, just as it did during the training process. Images for each container are stored in memory and can be processed by the computer using the trained pattern recognition model. The computer may also process the output of the model by applying one or more criteria to determine whether the container passes or "fails". If the container is rejected (because the sample in the container is defective and / or the container itself is defective), the robotic arm may place the container in a box or other area specifically reserved for that purpose. The robotic inspection platform may be configured to inspect only the container, only the product sample (e.g., the fluid or lyophilized product in the container), or both the container and the sample, depending on the embodiment and / or situation. In one embodiment, for example, a single robotic inspection platform can perform any of these functions, as long as the appropriate machine learning models are implemented.
[0007] Those skilled in the art will appreciate that the figures described herein are included for illustrative purposes and are not intended to limit the disclosure. The figures are not necessarily to scale, with emphasis instead being placed on illustrating the principles of the disclosure. It should be understood that in some instances, various aspects of the described embodiments may be shown exaggerated or enlarged to facilitate understanding of the described embodiments. In the drawings, like reference numbers in various figures generally refer to functionally similar and / or structurally similar components. [Brief description of the drawings]
[0008] [Figure 1] 1 illustrates an exemplary robotic inspection platform, according to one embodiment. [Diagram 2]A diagram of the plunger of a pre-filled syringe sample is shown as an exemplary syringe that may be inspected using the robotic inspection platform of FIG. [Diagram 3] FIG. 2 is a block diagram of an example control system that may be associated with the robotic inspection platform of FIG. 1 , according to one embodiment. [Figure 4] FIG. 1 is a flow diagram of an exemplary method for performing inspection of a container and / or sample using pattern recognition, according to one embodiment. [Diagram 5] FIG. 5 is a flow diagram of an exemplary method for performing testing of a series of containers and / or samples contained within the containers, which may be used with the method of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The various concepts introduced above and described in more detail below can be implemented in any of numerous ways, and the described concepts are not limited to any particular implementation manner. Example embodiments are provided for illustrative purposes.
[0010] FIG. 1 illustrates a robotic inspection platform 100 according to one embodiment of the present disclosure. The robotic inspection platform 100 includes a plate 102 that houses several containers 104. The containers 104 may be fully or partially transparent or translucent pharmaceutical containers, such as syringes, vials, cartridges, etc., each of which may contain a sample (e.g., a fluid or a lyophilized medical product). Alternatively, in some embodiments and / or circumstances (e.g., when the robotic inspection platform 100 analyzes only the containers and not the samples within them), the containers 104 may be opaque. Each container 104 may be configured to receive any suitable amount of sample, depending on the size and configuration of the plate 102. For example, each container 104 may be capable of holding tens of nanoliters of fluid, or a few milliliters of fluid, etc. The plate 102 may include several cavities or wells (e.g., 80-well, 96-well, etc.) that are dimensioned to securely but removably hold the containers 104.
[0011] The robotic inspection platform 100 also includes an imaging system 106. The imaging system 106 is generally configured to illuminate a container, such as the container 104, and capture an image of the illuminated container. To this end, the imaging system 106 may include a light source, an imager, and possibly one or more mirrors and / or other optical elements for redirecting light from the light source and / or light scattered by the sample (and / or the container itself) in an appropriate manner. The light source may be a light emitting diode (LED) light or any other suitable type of light source, may provide light of any suitable wavelength (or range of wavelengths), and may include lights at one or more locations. The light source may have only fixed or manually adjustable parameters, or may have one or more computer-controlled parameters (e.g., intensity, direction, etc.). Although FIG. 1 shows only a single imager and one mirror, the imaging system 106 may instead include multiple imagers located at different locations, multiple mirrors (or no mirrors), etc. The imager may include any suitable combination of hardware and / or software, such as image sensors, optical stabilizers, image buffers, frame buffers, frame grabbers, charge-coupled devices (CCDs), complementary metal oxide semiconductor (CMOS) devices, etc. In some embodiments, the imager may include imaging devices operating at non-visible wavelengths, such as one or more infrared camera devices. Additionally, in some embodiments, the light source may include several lights having different configurations, orientations, parameters, etc., and the light source may be configured to allow different lights to be strobed. In this manner, different images may be acquired, each image corresponding to a different light. Different ones of the strobe lights may be better suited to expose different attributes of the container and / or sample, for example.
[0012] The robotic inspection platform 100 also includes a robotic arm 110. The robotic arm 110 has multiple articulated segments (e.g., seven segments capable of six degrees of freedom of movement) and an end effector 112. Joints connect the various segments, which may be articulated using controllable stepper motors or other suitable means. The robotic arm 110 may incorporate motion and / or other sensors to provide control feedback to ensure that the robotic arm 110 moves as intended within certain tolerance thresholds.
[0013] 1 shows an end effector 112 holding a container (e.g., a syringe) 114 that has been retrieved by a robotic arm 110 from among the containers 104 in the plate 102. The end effector 112 comprises a material that has a hardness suitable for securely securing (e.g., gripping) the container, while also avoiding breaking fragile (e.g., glass) containers. The end effector 112 may operate by squeezing the container 114 or by inserting an element into the container 114 and expanding it outward. The end effector 112 may incorporate one or more pressure sensors to provide control feedback, ensuring that the end effector 112 provides the intended amount of force within certain tolerance thresholds.
[0014] The robotic arm 110 may include motors or other suitable means for rotational and / or translational manipulation / movement of an object held by the end effector 112. For example, the robotic arm 110 may be capable of adjusting the roll, pitch, and yaw angles of the container 114 by rotating and / or tilting the end effector 112 (for roll and pitch) and / or moving articulated arm segments (for yaw). In some embodiments, the robotic arm 110 is a commercially available device, such as the UR3 robotic arm offered by Universal Robots (UR®).
[0015] The robotic inspection platform 100 also includes a reject bin 120 for discarding defective containers and / or samples. In the embodiment of Figure 1, the reject bin 120 is a simple container with four side walls, a bottom / floor, and an open top. In other embodiments, the reject bin 120 may be constructed differently (e.g., the container includes a top with an open slot, or a plate with wells similar to plate 102, etc.).
[0016] 1, a controller is communicatively coupled to at least a portion of the imaging system 106 and the robotic arm 110. The controller may be a general-purpose computing device specifically programmed according to embodiments described herein, or may be a dedicated controller device (e.g., a dedicated processor integrated within the imaging system 106 and / or the robotic arm 110). One embodiment of a controller is described in more detail below in conjunction with FIG.
[0017] The controller coordinates the operation of the imaging system 106 and the robotic arm 110 during runtime operations. As used herein, the term "runtime" operations refers to the operation of a robotic inspection platform (e.g., platform 100) during production, for example, to apply quality control procedures after manufacturing and packaging of pharmaceutical containers and / or samples and prior to sale or other distribution. In some embodiments, the controller also coordinates the operation of the imaging system 106 and the robotic arm 110 during training of pattern recognition models prior to runtime operations, as described in further detail below.
[0018] During runtime operation, the controller generates and transmits command signals to the imaging system 106 and / or the robotic arm 110. Transmission of command / control signals is further described below in conjunction with FIG.
[0019] The control / operation of the robotic inspection platform 100 according to one embodiment will now be described. Initially, the controller causes the robotic arm 110 to remove the container 114 from the plate 102 by securing (e.g., gripping, sucking, etc.) the container 114 using the end effector 112 and move the container 114 to a position where the container 114 is clearly "seen" by the imager of the imaging system 106 (e.g., as shown in FIG. 1 ). The light source of the imaging system 106 illuminates the container 114 and the sample (if any) within the container 114. The various components of the imaging system 106 (e.g., imager, mirrors, light source) are configured such that light from the light source passes through the container 114, is reflected or refracted or blocked by objects (e.g., particles, bubbles, etc.) within the container 114, and enters the imager. Additionally or alternatively (e.g., if the container 114 does not contain a sample), the light may be reflected or refracted or blocked by various parts of the container 114. For example, the light source may be in an "on" state for an extended period of time, or the controller may turn the light source on at the appropriate time.
[0020] The controller then causes the imager to capture at least one image of the container 114 and possibly also the sample within the container 114. However, in some embodiments and / or applications in which the container 114 holds a sample, the controller may initially cause the robotic arm 110 to agitate (e.g., shake, invert, etc.) the container 114 immediately prior to imaging. After the first image is captured, the controller may cause the robotic arm 110 to manipulate the end effector 112 so that the container 114 is placed in a series of different orientations. For example, the container 114 may be rotated about its longitudinal axis in 20 degree increments (e.g., providing a total of 18 different orientations) and / or tilted at various angles relative to the vertical position shown in FIG. 1. The orientations may be, for example, orientations that correspond exactly to those used to obtain training images that were manually labeled by a human analyst, as described further below. In each orientation, the controller may cause the imager to capture one or more images of the container 114 and the fluid sample within the container 114. That is, the controller may use command signals in a timely manner to synchronize the imaging system 106 and the robotic arm 110. In some embodiments, different lights (e.g., lights having different configurations, orientations, characteristics, etc.) of the imaging system 106 light source strobe for each orientation of the container 114, and at least one image of the container 114 is captured for each light before moving the container 114 to the next orientation. Alternatively, the robotic arm 110 may move the container 114 through all orientations relative to a first light, then move the container 114 through all orientations relative to a second light, etc.
[0021] The controller may then process the captured images and determine whether the container 114 (e.g., the container itself or the sample within the container 114) should be rejected. If so, the robotic arm 110 discards the container 114 by placing it in a reject bin 120. If not, the robotic arm 110 may return the container 114 to the well of the plate 102 from which it was removed, or may place it in another appropriate location. The robotic arm 110 may, for example, repeat this process for each of the containers 104 stored in the plate 102.
[0022] To determine whether a given container should be rejected, the controller may determine several attributes of the container and / or sample. The controller may determine the attributes by analyzing images of the container and / or sample, including images corresponding to different orientations of the container 114, using a pattern recognition model. In some embodiments, the pattern recognition model may be a machine learning model (e.g., trained using supervised learning methods) or may be a fully human-designed model (e.g., a heuristic model). Training of the machine learning model is described in more detail below.
[0023] As used herein, an "attribute" may broadly mean any identifiable quality or characteristic of a sample or a container. For example, and without limitation, an attribute of a fluid sample may be the presence of one or more objects (e.g., particles or bubbles), the presence of one or more particular types of objects (e.g., a particular type of particle or type of bubble, e.g., particles made of a particular material, or particles or bubbles having a particular size or within a particular size range, etc.), the number of objects or a particular type of objects, the size of objects or a particular type of objects, the presence or size of stains, etc. As another example, an attribute of a container may be the presence of one or more chips or cracks, the presence of one or more particular types of chips or cracks (e.g., straight vs. sawtooth cracks, or chips having at least a particular depth, etc.), the presence of one or more deformations in the container (e.g., warping), the presence of deformations in particular parts of the container (e.g., plunger, flange, etc.), etc. Thus, the pattern recognition model may operate by identifying and / or classifying objects, stains, chips, cracks, deformations, etc. By way of example only, in one embodiment, the model may determine that all particular pixels in a digital image captured by an imager of imaging system 106 correspond to a single object, and then classify the identified object as a bubble, a particle, a particular type of particle or bubble, etc. As used herein, the term "particle" refers to objects other than gas-filled bubbles, such as, for example, proteinaceous particulate matter or glass flakes.
[0024] In some embodiments, the controller may be configured to determine only one attribute or several different attributes for a given container or sample. In some embodiments, for example, the pattern recognition model of the controller is trained or designed to determine a first set of attributes (e.g., to identify the presence of particular objects and classify those objects), and then the controller performs further processing to determine a second set of attributes (e.g., to determine the number of objects identified and classified, measure the size of the identified objects, generate a histogram of particle sizes, etc.).
[0025] An example of an attribute of a fluid sample is shown in FIG. 2, which provides a close-up view of the plunger 150 of a liquid-filled syringe. For example, the syringe may be the container 114 of FIG. 1. As seen in FIG. 2, a sidewall 152 surrounds the syringe contents (i.e., the fluid sample) and the piston / dome surface 154 of the plunger 150 is covered by several objects 160, including bubbles 160A-160E and particles 160F. The bubbles 160A-160E may be the result of, for example, agitation and / or chemical reactions. The particles 160F may be contaminants introduced during the manufacture or processing of the fluid sample (or the manufacture of the plunger 150, etc.) and may be harmless or harmful. Other examples of possible defects (not shown in FIG. 2) may include dirt and / or other attributes.
[0026] Referring again now to FIG. 1 , the controller may reject a given container if the container and / or the sample within the container does not meet one or more criteria, which are based, at least in part, on the determined attributes. The criteria may be relatively simple (e.g., the fluid sample is rejected if particles or other non-foam objects are present in the sample) or may be more complex (e.g., the fluid sample is rejected if the “score” of the sample exceeds a threshold, in which case the controller calculates a score based on the number, type, and size of particles in the sample and the number, type, and size of bubbles in the sample). In embodiments in which the controller is capable of inspecting different types of containers and / or samples (and / or different views / perspectives, etc.), the controller may store different sets of criteria for different container and / or sample types (and / or different views / perspectives, etc.).
[0027] An exemplary embodiment of a controller will now be described with reference to Figure 3. As seen in Figure 3, a control system 200 may include a controller 206 (e.g., a controller as described above). The controller 206 is configured to communicate with and control various components of the robotic inspection platform 100 of Figure 1, including the robotic arm 110 and the imaging system 106. In other embodiments, the control system 200 may be used to control a robotic inspection platform different than the platform 100 of Figure 1.
[0028] In one embodiment, the control system 200 is configured to facilitate fully autonomous or semi-autonomous operation of the robotic inspection platform 100. In particular, the control system 200 may support automated manipulation and analysis of a vessel, such as the vessel 104 (e.g., in the manner described above). The controller 206 may be implemented as any suitable combination of hardware and / or software coupled to or otherwise in communication with the robotic arm 110 and the imaging system 106, for example. For example, the controller 206 may be implemented as a device attached to or integrated within a stage to which the robotic arm 110 and / or the imaging system 106 are attached. Alternatively, the controller 206 may be located remotely from the robotic inspection platform 100.
[0029] In any event, the controller 206 may be coupled to the robotic arm 110 and / or the imaging system 106 via a wired link, a wireless link, or any suitable combination thereof. Thus, in Figure 3, link 210 and / or link 212 may each represent one or more wired and / or wireless links for facilitating communication between the controller 206 and one or both of the robotic arm 110 and the imaging system 106. Although two separate links 210 and 212 are shown in Figure 3, it will be understood that the controller 206 may communicate with the robotic arm 110 and the imaging system 106 via any suitable number of links, such as, for example, a single common link or bus.
[0030] To facilitate communication with and control of the robotic arm 110 and the imaging system 106, the controller 206 may include a processing unit 220, a communication unit 222, and a memory unit 224. The processing unit 220 may be implemented as any suitable type and / or number of processors, such as, for example, a host processor of the controller 206. To provide further examples, the processing unit 220 may be implemented as an application specific integrated circuit (ASIC), an embedded processor, a central processing unit (CPU), etc., associated with the controller 206. Although not shown in FIG. 3, the processing unit 220 may be coupled to (and / or otherwise configured to communicate with, control, operate with, and / or affect the operation of) the communication unit 222 and / or the memory unit 224 via one or more wired and / or wireless interconnects, such as, for example, any suitable number of data and / or address buses.
[0031] For example, the processing unit 220 may be configured to retrieve, process, and / or analyze data stored in the memory unit 224 (e.g., images captured by one or more imagers of the imaging system 106), may be configured to store such data in the memory unit 224, may be configured to replace the data stored in the memory unit 224, may be configured to control various functions associated with the robotic arm 110 (e.g., any of the robotic arm functions described herein) and / or the imaging system 106 (e.g., any of the imaging functions described herein), etc.
[0032] The communication unit 222 may be configured to support any suitable number and / or type of communication protocols to facilitate communication between the controller 206 and one or both of the robotic arm 110 and the imaging system 106. The communication unit 222 may be configured to facilitate exchange of any suitable type of information between the controller 206 and one or both of the robotic arm 110 and the imaging system 106 (e.g., via the link 210 and / or the link 212) and may be implemented as any suitable combination of hardware and / or software to facilitate such functionality. For example, the communication unit 222 may implement any number of wired and / or wireless transceivers, modems, ports, input / output interfaces, connectors, antennas, etc. Although not shown in FIG. 3, the robotic arm 110 and / or the imaging system 106 may include a similar type of communication unit to enable communication via the link 210 and / or the link 212.
[0033] According to various embodiments, the memory unit 224 may be one or more computer-readable, non-transitory storage devices including any suitable volatile memory (e.g., random access memory (RAM)), non-volatile memory (e.g., battery-backed RAM, FLASH, etc.), or combinations thereof. The memory unit 224 may be configured to store instructions that may be executed by the processing unit 220. These instructions may include machine-readable instructions that, when executed by the processing unit 220, cause the processing unit 220 to perform various acts described herein. Although various functions of the controller 206 are described herein in terms of execution by the processing unit 220 of instructions stored in the memory unit 224, it will be understood that equivalent functions may instead be realized using only hardware components (e.g., hardware processors). The memory unit 224 may also be configured to store any other suitable data used in conjunction with the robotic inspection platform 100, such as images captured by an imager of the imaging system 106, data indicative of attributes of identified samples and / or containers, etc.
[0034] The control module 230 is a set of instructions in the memory unit 224 that, when executed by the processing unit 220, causes the processing unit 220 to perform various acts according to suitable embodiments described herein. In one embodiment, the control module 230 includes instructions that, when executed by the processing unit 220, cause the processing unit 220 to send one or more commands to the robotic arm 110 to control the operation (e.g., movement) of the robotic arm 110, for example, as described above in connection with FIG. 1. Additionally, the control module 230 may include instructions that, when executed by the processing unit 220, cause the processing unit 220 to send one or more commands to the imaging system 106 to control the operation of the imaging system 106, for example, as described above in connection with FIG.
[0035] For example, the processing unit 220 may send commands to the robot arm 110 via the communication unit 222, causing the robot arm 110 to sequentially remove the containers 104 from the plate 102, place each container 104 within the field of view of one or more imagers of the imaging system 106, and manipulate each container 104 to assume multiple orientations while within the field of view of the imager. Alternatively, the processing unit 220 may send commands to the imaging system 106 via the communication unit 222, causing the imager (or imagers) to move relative to a stationary container (e.g., rotate around the container while facing it so that it remains within the field of view). In either case, over the same time frame, the processing unit 220 may send commands to the imaging system 106 via the communication unit 222, causing the imager to capture images of each container 104 while in each of the above-mentioned relative orientations, and provide these images to the controller 206 and store them in the memory unit 224. In some embodiments, the processing unit 220 also sends commands to the imaging system 106 via the communications unit 222 that cause light sources of the imaging system 106 to be turned on and off at appropriate times (e.g., so that each container 104 is illuminated when an image is captured) and / or other parameters of such light sources (e.g., intensity levels, wavelengths, etc.).
[0036] The reject identification module 232 is a set of instructions in the memory unit 224 that, when executed by the processing unit 220, causes the processing unit 220 to perform various acts in accordance with suitable embodiments described herein. In one embodiment, the reject identification module 232 includes instructions that, when executed by the processing unit 220, cause the processing unit 220 to process container / sample images received from the imaging system 106 using a pattern recognition module 240.
[0037] Pattern recognition module 240 may use any suitable pattern recognition model to process the images (e.g., one per container, one per orientation, or multiple per orientation) and determine one or more attributes of the containers and / or samples corresponding to those images. In some embodiments, pattern recognition module 240 implements a machine learning model trained using supervised learning, as described further below. In general, the pattern recognition model may use any suitable approach, such as parametric or non-parametric classification algorithms, neural networks, support vector machines, etc. Pattern recognition module 240 is trained or designed to identify a particular attribute, such as, for example, any of the attributes described herein (e.g., an object, a particular object type, structural defects, etc.).
[0038] In some embodiments, the pattern recognition module 240 implements a trained machine learning model that accepts input (e.g., one or more images of the container), passes the input through the trained model once, and generates output (e.g., one or more attribute classifications for the container and / or samples within the container), in a process referred to as performing "inference." Any suitable technology or advances in hardware or other processing units (e.g., FPGAs, ASICs, graphic processing units (GPUs), etc.) may be utilized to perform such inference very quickly, resulting in very fast and efficient inspection of the container and / or samples.
[0039] In some embodiments, the pattern recognition module 240 outputs not only a classification / label / category indicative of a particular container and / or sample attribute, but also a confidence score reflecting how likely the classification is correct. For example, the pattern recognition module 240 may output a value [particle, 0.67222] indicating that there is a 67.222% probability that a unique particle is present in the sample, a value [particle A, 0.853] indicating that there is an 85.3% probability that the sample contains a unique particle of type A, or a value [3, particle A, 0.510] indicating that there is a 51% probability that the sample contains exactly three particles of type A, etc.
[0040] In some embodiments, the reject identification module 232 is configured to determine additional attributes not output by the pattern recognition module 240. For example, the reject identification module 232 may determine / measure a size of the objects classified by the pattern recognition module 240, and / or may determine / count the number of objects in a particular class, etc. Regardless of whether the reject identification module 232 determines any additional attributes, the reject identification module 232 may use the determined attributes (and possibly also a corresponding confidence score) to determine whether the container should be rejected, i.e., whether the container and / or sample does not meet one or more criteria.
[0041] For example, the reject identification module 232 may reject a container holding a sample for which the pattern recognition module 240 has identified a threshold number of particles and / or bubbles, a threshold number of a particular type of particles and / or bubbles, or a threshold number of a particular type of bubbles having at least a threshold size in the corresponding image. In some embodiments, the reject identification module 232 calculates a score that is a mathematical function of the attributes and the confidence score. If the score is above (or below) a predefined threshold, the container is rejected. After the reject identification module 232 determines whether a given container should be rejected, the processing unit 220 may send a command via the communication unit 222 to the robotic arm 110 to cause the robotic arm 110 to place the container in the reject bin 120 (if rejected) or return it to the plate 102 or another appropriate position (if not rejected).
[0042] In some embodiments, as described above, the robotic inspection platform 100 may be used not only to analyze samples (and / or the containers themselves) with a trained machine learning model, but also to facilitate training of the model. In such embodiments, the processing unit 220 may implement a process in which images of training containers (i.e., containers holding training samples or empty training containers) are captured and presented to a human analyst for manual labeling, and the labeled images are used in a supervised learning process. In particular, the processing unit 220 may send commands to the robotic arm 110 via the communication unit 222, which cause the robotic arm 110 to sequentially retrieve training containers from a plate (e.g., similar to plate 102) or other suitable source area, place each training container within the field of view of an imager of the imaging system 106, and manipulate each training container to assume multiple orientations while within the field of view of the imager. Over the same time frame, the processing unit 220 may send commands to the imaging system 106 via the communications unit 222 that cause the imager of the imaging system 106 to capture images of each training container while the container (or imager) is in several different orientations and provide these training images to the controller 206 and store them in the memory unit 224. In some embodiments, the processing unit 220 also sends commands to the imaging system 106 via the communications unit 222 that cause the imaging system 106 to turn light sources on and off at the appropriate times (e.g., so that each training container is illuminated when a training image is captured) and / or set other parameters of such light sources (e.g., intensity levels, wavelengths, etc.).
[0043] In general, the processing unit 220 may operate the robotic inspection platform 100 in a similar manner to run-time operations. For example, the training sample containers (or imagers) may be manipulated to assume the same orientation as will be used later during run-time operations, as described above. If the light source has computer-controllable parameters (e.g., intensity, wavelength, etc.), the training process may also include the processing unit 220 sending commands to cause the same light source parameters to be present during training as will be used later during run-time operations. With regard to any parameters or configurations of a manually adjustable light source, it is generally important that the parameters / configuration during both training and run-time operations are the same or at least very similar.
[0044] A human analyst may label training images in a variety of ways, depending on the embodiment. For example, processing unit 220 may store training images in memory unit 224 and generate a graphical user interface (GUI) that presents the stored images for a given training container. Processing unit 220 may also provide various interactive features to aid the analyst in the labeling process. In one such embodiment, the analyst may drag or draw a rectangle or other polygon around an object or other attribute in the image and type (or select from a menu, etc.) a classification for the enclosed attribute. With reference to FIG. 2, for example, an analyst looking at an image of a depicted syringe 150 may draw a rectangle around particle 160F and type or select a type of particle that he or she believes accurately describes particle 160F. As another example, the analyst may draw a rectangle around bubble 160C and type or select "bubble" (or a particular type of bubble) as the label, etc.
[0045] 4 is a flow diagram illustrating an exemplary method 300 for performing inspection of a container (i.e., a sample within the container and / or the container itself) using pattern recognition, according to one embodiment. Method 300 may be performed in whole or in part, for example, by controller 206, robotic arm 110, and / or imaging system 106. In some embodiments, method 300 is performed in its entirety by processing unit 220 of controller 206 upon execution of instructions stored in memory unit 224.
[0046] Method 300 includes having a robotic arm retrieve a container using an end effector of the robotic arm (block 302). The robotic arm may be similar to robotic arm 110 of FIGS. 1 and 3, for example, and the end effector may be similar to end effector 112 of FIG. 1. The container may be a syringe, a vial, a cartridge, or any other type of container that may or may not contain a sample (e.g., a fluid or a lyophilized product), depending on the embodiment. Block 302 may be implemented, for example, by generating one or more command signals and sending the signals to the robotic arm (e.g., a slave controller in the robotic arm).
[0047] The robotic arm is caused to manipulate the container using an end effector such that the container is sequentially positioned in multiple orientations while within the field of view of an imager (e.g., an imager of imaging system 106 of FIG. 1) (block 304). In some embodiments, the container is simultaneously positioned within the field of view of one or more additional imagers (e.g., a total of three imagers, each 120 degrees apart in a two-dimensional plane). Block 304 may be implemented, for example, by generating one or more command signals and sending the signals to the robotic arm (e.g., a slave controller in the robotic arm).
[0048] The imager is caused to capture a number of images (block 306), each image being captured while the container is in a respective one of the orientations. The orientations may include, for example, different rotational positions relative to the container's longitudinal axis (e.g., every 20 degrees or every 90 degrees of a full circle, etc.). Block 306 may be implemented, for example, by generating one or more command signals and sending the signals to the imager (e.g., to a slave controller within the imager). Block 306 may further include receiving the images captured by the imager and storing the images in a memory (e.g., memory unit 224 of FIG. 3).
[0049] In another embodiment, block 304 may instead (or additionally) include moving the imager (or imagers) relative to the container such that the relative orientation between the container and the imager changes without necessarily requiring any additional movement (e.g., rotation) of the container via an end effector of the robotic arm. For example, the container may remain stationary once initially placed in position by the robotic arm, and the imager may move in a circular path around the container (e.g., a full circle in 20 degree increments). In one such embodiment, block 306 may include causing the imager to capture one or more images at each position of the imager.
[0050] One or more attributes of the container and / or sample are determined by analyzing the image captured in block 306 using a pattern recognition model (block 308). The attributes may be determined using a machine learning model, for example, by analyzing the container and / or sample using a model trained to classify attributes of the container and / or sample (e.g., using supervised learning methods). The attributes may include the presence of a general object, the presence of a specific type of object, the presence of dirt or a type of dirt, the presence of cracks or deformations in the container, and / or other attributes.
[0051] Based on the attributes determined in block 308, it is determined whether the container and / or sample meets one or more criteria (block 310). The criteria may include, for example, at least one criterion depending on the type of object (e.g., whether the sample contains particles, bubbles, a particular type of particle or bubble, etc.). The one or more criteria may also take into account a confidence level / score associated with one or more of the attributes.
[0052] Based on whether one or more criteria are met, the robotic arm may place the container in an area reserved for rejected containers and / or samples (e.g., reject bin 120 of FIG. 1 ) or may place the container in an area reserved for non-rejected containers and / or samples (e.g., plate 102 of FIG. 1 ) (block 312). Block 312 may be implemented, for example, by generating one or more command signals and sending the signals to the robotic arm (e.g., a slave controller within the robotic arm).
[0053] In some embodiments, method 300 includes one or more additional blocks not shown in FIG. 4. In some embodiments where a machine learning model is used in block 306, for example, method 300 may include several additional blocks prior to block 302 corresponding to training the machine learning model. For example, method 300 may include an additional block of having the robot arm sequentially retrieve a plurality of training containers using an end effector. For each retrieved training container, the method may include having the robot arm manipulate the container using the end effector such that the container is sequentially positioned in a plurality of orientations while the container is within the field of view of the imager, having the imager capture each training image (each of the training images is captured while the training container is in a respective one of the orientations), and presenting each image to a user via a display to facilitate manual labeling of attributes for the training container and / or samples within the training container. These additional blocks may include, for example, generating command signals and sending signals to appropriate destinations (e.g., a slave controller of the robot arm and a slave controller of the imager).
[0054] 5 is a flow diagram of an example method 350 for performing inspection of a series of containers, according to one embodiment. Method 350 may be performed, in whole or in part, by, for example, controller 206 (e.g., processing unit 220), robotic arm 110, and / or imaging system 106. As described further below, method 350 may be used in conjunction with method 300 of FIG.
[0055] Method 350 may begin by capturing images of a container in different orientations (block 352) and processing the captured images to determine attributes of the container (and / or the sample within the container) and whether one or more criteria are met (block 354). The container may be classified as a reject if the one or more criteria are not met, or as a pass if the one or more criteria are met. For a given container, for example, block 352 may correspond to blocks 302-306 of method 300, and block 354 may correspond to blocks 308 and 310 of method 300.
[0056] Once a given container has been analyzed and classified as either a fail or a pass, method 350 may include determining whether all containers selected for analysis have already been analyzed (block 356). This determination may be made, for example, for a given type of plate having a known number of containers (e.g., 24 or 96), by tracking the total number of containers analyzed and determining whether this number is less than or equal to the total number of containers. Alternatively, the determination may be made, for example, by a user depositing any suitable number of containers for analysis (which may be less than all of the containers in the plate), tracking the total number of containers analyzed, and determining whether this number is less than or equal to the number of containers to be tested that were deposited.
[0057] In any event, if more vessels need to be analyzed, method 350 continues by retrieving the next vessel (block 358). Once the next vessel is properly positioned, method 350 may repeat the process by capturing an image of the vessel and / or the sample within the vessel (block 352). Conversely, if the analyzed vessel was the last vessel to be analyzed, method 350 ends. Upon completion (or in parallel with the repetition of block 354), method 350 may include storing or outputting an analysis report for each vessel (e.g., in memory unit 224 as shown in FIG. 3). Once this report is completed, the user may view the report and / or begin the process for a new plate.
[0058] Some of the figures described herein show example block diagrams having one or more functional components. It will be understood that such block diagrams are for illustrative purposes and that the devices described and illustrated may have more, fewer, or different components than those shown. Furthermore, in various embodiments, the components (and the functionality provided by each component) may be associated or integrated as part of any suitable component.
[0059] The embodiments of the present disclosure relate to a non-transitory computer-readable storage medium having computer code for performing various computer-implemented operations. As used herein, the term "computer-readable storage medium" includes any medium capable of storing or encoding a sequence of instructions or computer code for performing the operations, techniques, and methods described herein. The medium and computer code may be specially designed and constructed for the embodiments of the present disclosure, or may be of a type well known and available to those skilled in the art of computer software technology. Examples of computer-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and holographic devices; magneto-optical media such as optical disks; and hardware devices specially configured to store and execute program code, such as ASICs, programmable logic devices ("PLDs"), and ROM and RAM devices.
[0060] Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code executed by a computer using an interpreter or compiler. For example, embodiments of the present disclosure may be implemented using Java, C++, or other object-oriented programming languages and development tools. Further examples of computer code include encrypted and compressed code. Furthermore, embodiments of the present disclosure may be downloaded as a computer program product, which may be transferred from a remote computer (e.g., a server computer) to a requesting computer (e.g., a client computer or a different server computer) over a transmission channel. Other embodiments of the present disclosure may be implemented in hardwired circuitry in place of or in combination with machine-executable software instructions.
[0061] As used herein, the singular terms "a," "an," and "the" can include plural referents unless the context clearly dictates otherwise.
[0062] As used herein, relative terms such as "above," "below," "up," "left," "right," "down," "top," "bottom," "vertical," "horizontal," "side," "higher," "lower," "upper," "over," "under," "inner," "interior," "outer," "exterior," "front," "back," "upwardly," "downwardly," "vertically," "lateral," "laterally," and the like, refer to the orientation of set components relative to one another, which orientation is according to the drawings but is not required during manufacture or use.
[0063] As used herein, the terms “connect,” “connected,” and “connection” refer to an operative coupling or connection. Components that are connected may be directly coupled to each other or indirectly, for example, through another series of components.
[0064] As used herein, the terms "approximately," "substantially," "substantial," and "about" are used to describe and account for slight variations. When used in conjunction with an event or circumstance, these terms can mean that the event or circumstance occurs precisely, and when the event or circumstance occurs in a close approximation. For example, when used in conjunction with a numerical value, these terms can mean a variation range of ±10% or less of the numerical value, e.g., ±5% or less, ±4% or less, ±3% or less, ±2% or less, ±1% or less, ±0.5% or less, ±0.1% or less, or ±0.05% or less. For example, two numerical values can be considered to be "substantially" the same if the difference between the values is ±10% or less of the mean of the values, e.g., ±5% or less, ±4% or less, ±3% or less, ±2% or less, ±1% or less, ±0.5% or less, ±0.1% or less, or ±0.05% or less.
[0065] Additionally, amounts, ratios, and other numerical values may be presented herein in a range format. It is to be understood that such range format is used for convenience and simplicity and includes the numerical values stated as the limits of the range, but should be interpreted flexibly to include every individual numerical value or subrange subsumed within that range as if each numerical value and subrange were expressly stated.
[0066] Although the present disclosure has been described and illustrated with reference to specific embodiments thereof, such description and illustration are not intended to limit the present disclosure. Those skilled in the art should understand that various changes may be made and equivalents may be substituted without departing from the true spirit and scope of the present disclosure as defined in the appended claims. The figures may not be drawn to scale. Variations may exist between the artistic renditions in the present disclosure and the actual devices due to manufacturing processes and tolerances. There may be other embodiments of the present disclosure not specifically illustrated. The specification and drawings are to be regarded as illustrative rather than restrictive. Modifications may be made to adapt a particular situation, material, composition of matter, method, or process to the objective, spirit and scope of the present disclosure. All such modifications are intended to be within the scope of the claims appended hereto. Although the methods disclosed herein have been described with reference to certain operations performed in a particular order, it will be understood that these operations may be combined, sub-divided, or rearranged to form equivalent methods without departing from the teachings of the present disclosure. Thus, unless expressly stated herein, the order and grouping of the operations is not intended to be a limitation of the present disclosure.
Claims
1. a robotic arm including an end effector and a plurality of articulated segments, the robotic arm configured to manipulate the container with greater than four degrees of freedom of motion; an imaging system including an imager; A controller, having the robotic arm retrieve a container using the end effector; causing the robotic arm to manipulate the container using the end effector such that the container is sequentially positioned in a plurality of orientations while the container is within a field of view of the imager; causing the imager to capture a plurality of images, each of the plurality of images being captured while the container is in a respective one of the plurality of orientations; determining one or more attributes of the container and the sample within the container by analyzing the plurality of images using a pattern recognition model; Based on the one or more attributes of the container and the sample, either (i) cause the robotic arm to place the container in an area reserved for rejected containers and / or samples, or (ii) cause the robotic arm to place the container in an area reserved for non-rejected containers and / or samples. A controller configured to: ,Robotic inspection platform.
2. 2. The robotic inspection platform of claim 1, wherein the controller is configured to determine the one or more attributes of the container and the sample by analyzing the plurality of images using a machine learning model, the machine learning model being trained to classify attributes of the container and / or sample.
3. The controller includes at least causing the robot arm to sequentially retrieve a plurality of training containers using the end effector; For each of the plurality of removed training containers, (i) causing the robot arm to manipulate the training container using the end effector such that the training container is sequentially positioned in the plurality of orientations while the training container is within a field of view of the imager; (ii) causing the imager to capture a respective plurality of training images, each of the respective plurality of training images being captured while the training container is in a respective one of the plurality of orientations; and (iii) presenting each of the respective plurality of images to a user via a display to facilitate manual labeling of attributes related to the training container and / or samples within the training container.
3. The robotic inspection platform of claim 2, configured to facilitate training of the machine learning model by:
4. The robotic inspection platform of any one of claims 1 to 3, wherein the controller is configured to distinguish between different object types by analyzing the plurality of images using the pattern recognition model.
5. The robotic inspection platform of claim 4 , wherein the different object types include bubbles and particles.
6. The robotic inspection platform of claim 4 or 5, wherein the different object types include one or both of: (i) a specific type of bubbles; and (ii) a specific type of particles.
7. The robotic inspection platform of claim 4 , wherein the one or more criteria based on the one or more attributes of the container and the sample include at least one criterion depending on the type of object.
8. The robotic inspection platform of claim 1 , wherein the multiple orientations include multiple rotations about the longitudinal axis of the container.
9. The robotic inspection platform of any one of claims 1 to 8, wherein the area reserved for rejected containers and / or samples is a box.
10. A robotic inspection platform according to any one of claims 1 to 9, wherein the controller is configured to cause the robot arm to remove the container from the plate, and the area reserved for non-rejected containers and / or samples is an area within the plate.
11. the robotic arm is configured to manipulate a container with six degrees of freedom of motion; 11. The robotic inspection platform of claim 1, wherein the container has a first roll angle and a first pitch angle in a first orientation of the plurality of orientations, and the container has (i) a second roll angle different from the first roll angle or (ii) a second pitch angle different from the first pitch angle in a second orientation of the plurality of orientations.
12. 1. A method for performing inspection of a container using pattern recognition, comprising: causing a robotic arm to retrieve a container using an end effector of the robotic arm, the robotic arm being configured to manipulate the container with greater than four degrees of freedom of motion; causing the robotic arm to manipulate the container using the end effector such that the container is sequentially positioned in a plurality of orientations while the container is within a field of view of an imager; causing the imager to capture a plurality of images, each of the plurality of images being captured while the container is in a respective one of the plurality of orientations; determining one or more attributes of the container and the sample within the container by analyzing the plurality of images using a pattern recognition model; Based on the one or more attributes of the container and the sample, either (i) causing the robotic arm to place the container in an area reserved for rejected containers and / or samples, or (ii) causing the robotic arm to place the container in an area reserved for non-rejected containers and / or samples; A method comprising:
13. Determining the one or more attributes of the container and the sample by analyzing the plurality of images using a pattern recognition model includes: determining the one or more attributes of the container and the sample by analyzing the plurality of images using a machine learning model, the machine learning model being trained to classify attributes of the container and / or sample. The method of claim 12, comprising:
14. at least, causing the robot arm to sequentially retrieve a plurality of training containers using the end effector; For each of the plurality of removed training containers, (i) causing the robot arm to manipulate the training container using the end effector such that the training container is sequentially positioned in the plurality of orientations while the training container is within a field of view of the imager; (ii) causing the imager to capture a respective plurality of training images, each of the respective plurality of training images being captured while the training container is in a respective one of the plurality of orientations; and (iii) presenting each of the respective plurality of images to a user via a display to facilitate manual labeling of attributes related to the training container and / or samples within the training container.
14. The method of claim 13, further comprising facilitating training of the machine learning model by:
15. 15. The method of any one of claims 12 to 14, wherein determining the one or more attributes of the container and the sample by analyzing the plurality of images using the pattern recognition model comprises distinguishing between different object types by analyzing the plurality of images using the pattern recognition model, and the one or more criteria based on the one or more attributes of the container and the sample includes at least one criterion depending on the type of object.
16. The method of any one of claims 12 to 15, wherein the multiple orientations include multiple rotations about the longitudinal axis of the container.
17. the robotic arm is configured to manipulate a container with six degrees of freedom of motion; 17. The method of any one of claims 12 to 16, wherein the container has a first roll angle and a first pitch angle in a first orientation of the plurality of orientations, and the container has (i) a second roll angle different from the first roll angle or (ii) a second pitch angle different from the first pitch angle in a second orientation of the plurality of orientations.
18. 1. A method for performing inspection of a container using pattern recognition, comprising: causing a robotic arm to retrieve a container using an end effector of the robotic arm, the robotic arm being configured to manipulate the container with greater than four degrees of freedom of motion; sequentially positioning an imager in a plurality of orientations while the container is within a field of view of the imager; causing the imager to capture a plurality of images of the container, each of the plurality of images being captured while the imager is in a respective one of the plurality of orientations; determining one or more attributes of the container and sample by analyzing the plurality of images using a pattern recognition model; Based on the one or more attributes of the container and the sample, either (i) causing the robotic arm to place the container in an area reserved for rejected containers and / or samples, or (ii) causing the robotic arm to place the container in an area reserved for non-rejected containers and / or samples; A method comprising:
19. Determining the one or more attributes of the container and the sample by analyzing the plurality of images using a pattern recognition model includes: determining the one or more attributes of the container and the sample by analyzing the plurality of images using a machine learning model, the machine learning model being trained to classify attributes of the container and / or sample.
20. The method of claim 18, comprising:
20. at least, causing the robot arm to sequentially retrieve a plurality of training containers using the end effector; For each of the removed training containers, (i) sequentially positioning the imager in the multiple orientations while the training container is within the field of view of the imager; (ii) causing the imager to capture a respective plurality of training images, each of the respective plurality of training images being captured while the imager is in a respective one of the multiple orientations; and (iii) presenting each of the respective plurality of images to a user via a display to facilitate manual labeling of attributes related to the training container and / or samples within the training container.
20. The method of claim 19, further comprising facilitating training of the machine learning model by:
Citation Information
Patent Citations
Visible foreign matter and bubble classification recognition detection method for medical (250ml)
CN105869154A
Surface condition testing method and surface condition testing device
JP2007240434A
Tester for hetero-crystal in unidirectional coagulation and test method
JP2016188844A
Information processing system, information processing method, and program
JP2018077718A
Apparatus and method for high-throughput preparation and spectroscopic classification and characterization of compositions
US20050130220A1