The present disclosure relates generally to systems and methods for computer vision, and more particularly to applying active learning for object detection using an object detector that considers both localization and classification of an object in an image.
Conventional vision detection approaches have shown that with a large amount of annotated data, convolutional neural networks (CNNs) can be trained to achieve a super-human performance for various visual recognition tasks. However, these conventional vision detection methods have failed to investigate into effective approaches for data annotation, since data annotation is essential and expensive. For example, data annotation is especially expensive for object detection tasks. Compared to annotating image classes, which can be done via a multiple-choice question, annotating object location requires a human annotator to specify a bounding box for an object. Simply dragging a tight bounding box to enclose an object can cost 10-times more time than answering a multiple-choice question. Consequently, a higher pay rate has to be paid to a human labeler for annotating images for an object detection task. In addition to the cost, which is more difficult to monitor and control is the annotation quality.
Accordingly, there is need to achieve better performance with less annotation processes and, hence, less annotation budgets, among other things.
Embodiments of the present disclosure are directed to providing systems and methods for applying active learning for object detection using an object detector that considers both localization and classification of an object in an image.
The present disclosure is based on the recognition that active learning that uses an uncertainty measure of features of objects in an image of a scene, can be an effective approach for annotating data for an image-classification and an image-localization task. Specifically, our realization is based on using a detection metric for active learning for object detection that includes a combination of an uncertainty of the object detector about a semantic class of an object in the image (classification) and an uncertainty of the object detector about a location of an object in the image (localization). However, coining to this realization required a further understanding through experimentation as to what can serve as a metric of uncertainty for object localization.
Specifically, through experimentation we learned using active learning that it is a machine learning procedure useful in reducing an amount of annotated data required to achieve a target performance specific to the aspects of the present disclosure. That, active learning can be applied to various computer-vision problems including object classification and activity recognition. Further, active learning can be used for initial training for a baseline model (classifier) with a small, labeled dataset, wherein the classifier can be applied to the unlabeled data. Such that, for each unlabeled sample, the active learning can estimate whether this sample contains critical information that has not been learned by the baseline model. Thus, once having identified the samples that bring the most critical information and are labeled by human annotators, they can be added to the initial training dataset to retrain the model. When comparing our method(s) to some conventional passive learning methods, which randomly selects samples from the unlabeled dataset, we discovered that our active learning can achieve the same accuracies as some conventional passive learning methods, however, with fewer but more informative labeled samples which are beneficial for many aspects of the present disclosure.
Our experimentation further led us to understand what can serve as a metric of uncertainty for object localization. We realized that the present disclosure algorithm(s) can be based on two quantitative measurements of the localization uncertainty. The first quantitative measurement of the localization uncertainty, includes a Localization Tightness (LT) metric that can estimate how tight the detected bounding boxes can enclose true objects. For example, the tighter the bounding box, the more certain localization. Localization tightness can be estimated based on an amount of adaptation of the initial bounding box, e.g., proposed by region proposal network (RPN), by an object detector. The second quantitative measurement of the localization uncertainty includes a Localization Stability (LS) metric based on whether the detected bounding boxes are sensitive to changes in the input image. Wherein to evaluate the localization stability, the present disclosure algorithm adds different amounts of Gaussian noise to pixel values of the image, and measures how the detected regions vary with respect to the noise. We note that at least one aspect of the present disclosure is that we realized, given an image, we can manipulate the image by adding a noise and measure hose the bounding box varies. Such that, this metric can be applied to all kinds of object detectors, especially those that do not have an explicit proposal stage. Also, that this metric can be applied to applied to video surveillance analysis, obstacle detection and path planning for autonomous driving, etc.
In other words, the present disclosure can analyze measurements on multiple public benchmarks and different object detectors. Which is unique and has innovative aspects, including being able to present different measurements to quantitatively evaluate the localization uncertainty of an object detector. Further that our measurements consider different aspects of object detection in spite that the ground truth of object locations is unknown, making our measurement suited for active learning. Another unique and innovative aspect includes demonstrating that in order to apply active learning for object detection, both the localization and the classification of a detector should be considered when sampling informative images. For example, the systems and methods of the present disclosure can train a detector on PASCAL 2012 benchmark, by non-limiting example, that achieves the same performance of conventional passive learning approaches, but with significantly less of annotated data. These performance levels can be achieved, by non-limiting example, by extending the method works for the classification with localization tightness (LT) and localization stability (LS), respectively, among other things. In other words, if the object detector models involve the adjustment of bounding box's size and location, we can further estimate the tightness.
To better explain the active learning systems and methods of the present disclosure, we provide some process flow steps for at least one method. For example, the method includes an object detector initially taking an image as input, and outputs a set of rectangular bounding boxes. Wherein each bounding box has a location and a scale of its (bounding box) shape, and a probability mass function of all classes. At least one training process step initially begins with a small training set of annotated images to train a baseline object detector. In order to improve the object detector by training with more images, the method continues to collect more images to annotate. Along with annotating all newly collected images, based on different characteristics of the current detector, we also select a subset of them for human annotators to label. Once having been annotated, these selected images can be added to the training set to train a new detector at some later time. Wherein the entire process can continue to collect more images, select a subset with respect to the new detector, annotate the selected ones with humans, re-train the detector and so on and so on. Wherein, we call such a cycle of data collection, selection, annotation, and training as a single round.
At least one key component of the present disclosure, among many key components, is in the selection step, which selects a set of informative images. The informativeness of an image is quantified as an uncertainty score, which specifies how uncertain a detector is toward its labels including the object class and location. An object in an image is specified as a bounding box. If an object bounding box has a high uncertainty score, then the image should be selected. Regarding computing the score, we consider the uncertainty in both classification and localization. The classification uncertainty of a bounding box can be similar to an active learning approach, which is based on the probability mass function of classes. For example, if the probability on a single class is close to 1.0, i.e. meaning that the probabilities for other classes are low, then, the detector is highly certain about its class. In contrast, when multiple classes have similar probabilities, each probability will be low because the sum of probabilities of all classes must be one. Thus, we can use one minus the maximum value of classes' probability mass function as the classification uncertainty.
Further, given an image, we assign a score based on either the inconsistency between the localization and classification, or the stability of detected object locations. Then the unlabeled image with highest score can be sent to human labelers to select the boxes that contain objects and the corresponding object class. These images with their labels can be used to train the initial object detector to improve its performance. This process can be repeated till the performance of the object detector is satisfied.
According to an embodiment of the present disclosure, an active learning system that includes an input interface for receiving a set of images of a scene from a sensor. For example, the sensor(s) may be a video camera or camera like device, that obtains data from the scene including a set of images. The data may also include environmental data such as environmental conditions such as temperature, and the like. Further, a memory can be utilized to store active learning data that includes an object detector trained for detecting objects in images. A processor(s) in communication with the input interface and the memory, can be configured to detect a semantic class and a location of at least one object in an image selected from the set of images using the object detector to produce a detection metric as a combination of an uncertainty of the object detector about the semantic class of the object in the image (classification) and an uncertainty of the object detector about the location of the object in the image (localization). Finally, using an output interface, i.e. display type device, in communication with the processor, to display the image for human labeling when the detection metric is above a threshold.
According to another embodiment of the present disclosure, an active learning system including a memory that receives imaging data. The imaging data includes sets of images of a scene from a sensor via an input interface. Further, the memory includes a storage device with stored active learning data that includes an object detector trained for detecting objects in images. A processor is configured to connect to the memory, the input interface and an output interface. Wherein the processor executes instructions for producing a detection metric using the object detector. Wherein the object detector performs the steps of detecting a semantic class and a location of at least one object in an image selected from at least one set of images of the sets of images using the object detector to produce a detection metric as a combination of an uncertainty of the object detector about the semantic class of the object in the image and an uncertainty of the object detector about the location of the object in the image. Outputting the image using the output interface to an imaging interface connected to an imaging device, for displaying the image on the imaging device for human labeling when the detection metric is above a threshold.
According to another embodiment of the present disclosure, an active learning method for object detection using an object detector that considers both localization and classification of an object in an image. The method including receiving imaging data that includes sets of images of a scene from a sensor via an input interface and storing the imaging data in a memory. Wherein the memory includes a storage device having stored active learning data that includes an object detector trained for detecting objects in images. Using a processor in communication with the input interface and the memory. The processor is configured for executing instructions for producing a detection metric using the object detector. Wherein the object detector performs the steps of detecting a semantic class and a location of at least one object in an image selected from at least one set of images of the sets of images using the object detector to produce a detection metric as a combination of an uncertainty of the object detector about the semantic class of the object in the image and an uncertainty of the object detector about the location of the object in the image. Outputting the image via an output interface to an imaging device, to display the image for human labeling when the detection metric is above a threshold. Wherein the processor is in communication with the output interface and imaging device.
The presently disclosed embodiments will be further explained with reference to the attached drawings. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments.
While the above-identified drawings set forth presently disclosed embodiments, other embodiments are also contemplated, as noted in the discussion. This disclosure presents illustrative embodiments by way of representation and not limitation. Numerous other modifications and embodiments can be devised by those skilled in the art which fall within the scope and spirit of the principles of the presently disclosed embodiments.
The following description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims of the present disclosure.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium. A processor(s) may perform the necessary tasks.
Overview
Embodiments of the present disclosure are directed to systems and methods for applying active learning for object detection using an object detector that considers both localization and classification of an object in an image.
The present disclosure is based on the recognition that active learning that uses an uncertainty measure of features of objects in an image of a scene, can be an effective approach for annotating data for an image-classification and an image-localization task. Specifically, our realization is based on using a detection metric for active learning for object detection that includes a combination of an uncertainty of the object detector about a semantic class of an object in the image (classification) and an uncertainty of the object detector about a location of an object in the image (localization). However, coining to this realization required a further understanding through experimentation as to what can serve as a metric of uncertainty for object localization.
Specifically, we know through experimentation that active learning can be used for initial training for a baseline model (classifier) with a small, labeled dataset, wherein the classifier can be applied to the unlabeled data. Such that, for each unlabeled sample, the active learning can estimate whether this sample contains critical information that has not been learned by the baseline model. Thus, once having identified the samples that bring the most critical information and are labeled by human annotators, they can be added to the initial training dataset to retrain the model.
Further still, the active learning features of the present disclosure address the technological needs required to meet the demands of today's technological applications regarding visual feature description for fast inference methods in the context of autonomous driving applications, along with other applications. Specifically, the present disclosure is able to overcome the data of conventional autonomous driving applications/approaches. Because the scenarios of driving is complicated, ideally, the collected data for driving should have enough volume and cover a wide range of driving scenes. However, annotating all driving images can be extremely expensive. Via active learning, we can reduce the numbers of images to label, which is crucial for applications that require a very large scale of labeled images.
We realized through experimentation what can serve as a metric of uncertainty for object localization, that the present disclosure algorithm(s) can be based on two quantitative measurements of the localization uncertainty. The first quantitative measurement of the localization uncertainty, includes a Localization Tightness (LT) metric that can estimate how tight the detected bounding boxes can enclose true objects. For example, the tighter the bounding box, the more certain localization. Localization tightness can be estimated based on an amount of adaptation of the initial bounding box, e.g., proposed by region proposal network (RPN), by an object detector. The second quantitative measurement of the localization uncertainty includes a Localization Stability (LS) metric based on whether the detected bounding boxes are sensitive to changes in the input image. Wherein to evaluate the localization stability, the present disclosure algorithm adds different amounts of Gaussian noise to pixel values of the image, and measures how the detected regions vary with respect to the noise. Such that, this metric can be applied to all kinds of object detectors, especially those that do not have an explicit proposal stage. Also, that this metric can be applied to applied to video surveillance analysis, obstacle detection and path planning for autonomous driving, etc.
In other words, the present disclosure can analyze measurements on multiple public benchmarks and different object detectors. Which is unique and has innovative aspects, including being able to present different measurements to quantitatively evaluate the localization uncertainty of an object detector. Further that our measurements consider different aspects of object detection in spite that the ground truth of object locations is unknown, making our measurement suited for active learning. Another unique and innovative aspect includes demonstrating that in order to apply active learning for object detection, both the localization and the classification of a detector should be considered when sampling informative images. For example, the systems and methods of the present disclosure can train a detector on PASCAL 2012 benchmark, by non-limiting example, that achieves the same performance of conventional passive learning approaches, but with significantly less of annotated data, i.e. by about 15 to about 20%, and about 20 to about 25% less of annotated data. These performance levels can be achieved, by non-limiting example, by extending the method works for the classification with localization tightness (LT) and localization stability (LS), respectively, among other things.
The active learning system for some embodiments of the present disclosure can include a human machine interface, a storage device including neural networks, a memory, a network interface controller connectable with a network being outside the system. The active learning system can further include an imaging interface connectable with an imaging device, a processor configured to connect to the human machine interface, the storage device, the memory, the network interface controller and the imaging interface, wherein the processor can execute instructions for producing a detection metric using the object detector stored in the storage device. The object detector can perform steps that at least include detecting a semantic class and a location of at least one object in an image selected from at least one set of images of the sets of images. Further, the object detector performs the step of using the object detector to produce a detection metric as a combination of an uncertainty of the object detector about the semantic class of the object in the image and an uncertainty of the object detector about the location of the object in the image. Further still, the object detector performs the step of outputting the image to the imaging device, to display the image for human labeling when the detection metric is above a threshold.
To better explain the active learning systems and methods of the present disclosure, we provide some process flow steps for at least one method. For example, the method includes an object detector initially taking an image as input, and outputs a set of rectangular bounding boxes. Wherein each bounding box has a location and a scale of its (bounding box) shape, and a probability mass function of all classes. At least one training process step initially begins with a small training set of annotated images to train a baseline object detector. In order to improve the object detector by training with more images, the method continues to collect more images to annotate. Along with annotating all newly collected images, based on different characteristics of the current detector, we also select a subset of them for human annotators to label. Once having been annotated, these selected images can be added to the training set to train a new detector at some later time. Wherein the entire process can continue to collect more images, select a subset with respect to the new detector, annotate the selected ones with humans, re-train the detector and so on and so on. Wherein, we call such a cycle of data collection, selection, annotation, and training as a single round.
At least one key component of the present disclosure, among many key components, is in the selection step, which selects a set of informative images. The informativeness of an image is quantified as an uncertainty score, which specifies how uncertain a detector is toward its labels including the object class and location. An object in an image is specified as a bounding box. If an object bounding box has a high uncertainty score, then the image should be selected. Regarding computing the score, we consider the uncertainty in both classification and localization. The classification uncertainty of a bounding box can be similar to an active learning approach, which is based on the probability mass function of classes. For example, if the probability on a single class is close to 1.0, i.e. meaning that the probabilities for other classes are low, then, the detector is highly certain about its class. In contrast, when multiple classes have similar probabilities, each probability will be low because the sum of probabilities of all classes must be one. Thus, we can use one minus the maximum value of classes' probability mass function as the classification uncertainty.
The object detector 142 is processed by the processor(s) 140, such that the object detector 142 can be configured to detect a semantic class and a location of at least one object in an image. For each image, it computes a detection metric based on the classes and locations of the detected object. Step 144 selects image with detection metrics higher than a threshold. Finally, an output interface 195, i.e. display type device, in communication with the processor 145, can be utilized to display the image with the selected images.
For example, the object detector can detect the semantic class of the at least one object in the image (classification) based on numerous machine learning algorithms such as convolution neural networks, support vector machine, etc. Given a classification algorithm, it is applied to the image object to calculate the probability of this object to be each of the pre-defined classes. Such that, the uncertainty of the object detector about the semantic class of the object in the image can be a function of these probabilities of all pre-defined classes. For example, the more classes having a high probability, then there is a less certainty of estimating the classified class.
Further, the object detector can detect the location of the at least one object in the image (localization). To detect the objects, multiple boxes of different scales and aspect ratios are generated over the images. For each box, the similarity from image pixels within to pre-collected patterns of objects of interest (e.g. vehicles, pedestrians, trucks, etc.) is measured. The boxes can be further adjusted to fit the pattern as much as possible. As several boxes can overlap the same object, we can further filter the boxes with highest similarity among others that overlap with it. Although the object detector might adjust the initial box to fir the closest and most possible object, the box can be still loose. As a result, the uncertainty of the object detector about the location of the object in the image is a function of a tightness of a bounding box around the object. Wherein the detection metric can be proportional to inconsistency between certainties of the objector detector about the semantic class of the object and the tightness of the location of the object. Further, the function of the tightness of the bounding box around the object can be determined using a ratio of an intersection of an initial bounding box and a final bounding box to a union of the initial bounding box and the final bounding box. It is possible that the object detector can estimate an initial bounding box surrounding the object and adjust the initial bounding box to produce the final bounding box. Further, it is contemplated that the initial bounding box can be proposed by a region proposal network. Wherein the object detector places a plurality of initial bounding boxes at different locations in the image and selects the initial bounding box with a maximal inclusion of an object of a specific semantic class.
We note that the uncertainty of the object detector about the location of the object can be a function of a stability of a bounding box around the object. Wherein the processor can detect the object in the image modified with noise and determines the stability of the bounding box based on a difference between the bounding box determined for the image and the bounding box determined for the image modified with noise. Further, that the detection metric can be a weighted sum of the uncertainty of the neural network about the class of the object in the bounding box and the stability of the bounding box is based on how much its location and size changes with respect to the added noise. If the location and size can be closed under different degree of noise, this bounding box is said to be stable.
According to some embodiments of the present disclosure, an active learning system includes a human machine interface, a storage device including neural networks, a memory, a network interface controller connectable with a network being outside the system. The active learning system further includes an imaging interface connectable with an imaging device, a processor configured to connect to the human machine interface, the storage device, the memory, the network interface controller and the imaging interface, wherein the processor executes instructions for classifying an object in an image using the neural networks stored in the storage device, in which the neural networks perform steps of determining features of a signal using the neuron network, determining an uncertainty measure of the features for classifying the signal, reconstructing the signal from the features using a decoder neuron network to produce a reconstructed signal, comparing the reconstructed signal with the signal to produce a reconstruction error, combining the uncertainty measure with the reconstruction error to produce a rank of the signal for a necessity of a manual labeling, labeling the signal according to the rank to produce the labeled signal, and training the neuron network and the decoder neuron network using the labeled signal.
The active learning system 200 attempts to efficiently query the unlabeled images for performing annotations through the basic workflow shown in
Further, still referring to
S1—An initial labeled training dataset is provided and the neural network is trained by using the dataset.
S2—By using the trained NN obtained in step S1, each image in the unlabeled dataset is evaluated and a score would be assigned to each image.
S3—Given the score obtained in step S2, images with the top K highest scores are selected for labeling by the annotation device.
S4—The selected images with newly annotated labels are added into the current (latest) labeled training set to get a new training dataset.
S5—The network is refined or retrained based on the new training dataset.
Although a term “image” is used in the specification, another “signal” can be used in the active learning system 200. For instance, the active learning system 200 may process other signals, such as an electroencephalogram (EEG) or an electrocardiogram (ECG). Instead of the images, the EEG or ECG signals can be trained in the active learning system 200. Then the trained active learning system 200 can be applied to determine or judge abnormality with respect to an input signal, which can be a useful assistance for medical diagnosis of relevant symptoms.
The trained NN 220 of
H(x)=Σi=1D−pi log pi (1)
Still referring to
Further, entropy based methods may be defined by
for obtaining an estimate of uncertainty, and an experimental result is shown in
Still referring to
The storage device 430 includes original images 431, a filter system module 432, and a neural network 400. For instance, the processor 420 loads the code of the neural network 400 in the storage 430 to the memory 440 and executes the instructions of the code for implementing the active learning. Further, the pointing device/medium 412 may include modules that read programs stored on a computer readable recording medium.
Referring to
Features
The object detector can detect the location of the at least one object in the image, at least by generating multiple boxes of different scales and aspect ratios over each image for the set of the images. Comparing for each box, pixels within each image in the box to stored patterns of objects of interest of the active learning data in memory, to determine a measurement of similarity for each box of the multiple boxes. Adjusting a location of each box to fit at least one stored pattern of objects, if one or more box overlaps a same stored object pattern. Filtering some of the boxes having the determined similarity measurement amounts above a predetermined overlap threshold from other boxes having the determined measurement similarity amount that overlap.
It is possible the object detector can detect the semantic class of the at least one object in the image at least by comparing for each box, determined patterns within each image in the box to stored image patterns of different semantic classes of the active learning data, to determine a measurement of similarity for each box of the multiple boxes. Wherein the determined patterns within the image in the box is composed of smaller image patterns that are defined image features of different scale/colors/textures in the image selected from the set of images. Normalizing all the classes, based on the determined measured similarities to all classes, such that a sum of the normalized similarity equal 1, and the normalized similarity to each class becomes the class probability.
Further, it is possible that the uncertainty of the object detector about the location of the object in the image can be a function of a tightness of a bounding box around the object. At least one aspect can include the detection metric can be proportional to an inconsistency between certainties of the objector detector about the semantic class of the object and the tightness of the location of the object. At least another aspect can include the function of the tightness of the bounding box around the object is determined using a ratio of an intersection of an initial bounding box and a final bounding box to a union of the initial bounding box and the final bounding box. Wherein the object detector estimates an initial bounding box surrounding the object and adjusts the initial bounding box to produce the final bounding box. Such that, the initial bounding box is specified by users or refined via a region proposal network, and the object detector places a plurality of initial bounding boxes at different locations in the image and selects the initial bounding box with a maximal inclusion of an object of a specific semantic class.
It is contemplated the uncertainty of the object detector about the location of the object can be a function of a stability of a bounding box around the object. Wherein the processor detects the object in the image modified with noise and determines the stability of the bounding box based on a difference between the bounding box determined for the image and the bounding box determined for the image modified with noise. Wherein the detection metric is a weighted sum of the uncertainty of the neural network about the class of the object in the bounding box and the stability of the bounding box is based on how sensitive the bounding box under the noise; if the location and size of an object's bounding box can be close under different degree of noise, this bounding box is stable. Further, the output interface may be a display device.
Contemplated is that the active learning method for object detection uses an object detector that considers both localization and classification of an object in an image. Wherein once the inconsistency, (i.e. the detection metric is proportional to inconsistency between certainties of the objector detector about the semantic class of the object and the tightness of the location of the object), or stability of box, (i.e. the uncertainty of the object detector about the location of the object is a function of a stability of a bounding box around the object, and the processor detects the object in the image modified with noise and determines the stability of the bounding box based on a difference between the bounding box determined for the image and the bounding box determined for the image modified with noise), is computed as the score for each image, we can choose unlabeled image with highest inconsistency or least stability. Such that the chosen images will be sent to human labeler to annotate to select the boxes that contain object and the corresponding class. These images with their labels will be used to train the initial object detector to improve its performance. This process can be repeated till the performance of the object detector is satisfied.
Contemplated is that the memory 612 can store instructions that are executable by the processor, historical data, and any data to that can be utilized by the methods and systems of the present disclosure. The processor 640 can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The processor 640 can be connected through a bus 656 to one or more input and output devices. The memory 612 can include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory systems.
Still referring to
The system can be linked through the bus 656 optionally to a display interface (not shown) adapted to connect the system to a display device (not shown), wherein the display device can include a computer monitor, camera, television, projector, or mobile device, among others.
The computer 611 can include a power source 654, depending upon the application the power source 654 may be optionally located outside of the computer 611. A printer interface 659 can also be connected through bus 656 and adapted to connect to a printing device 632, wherein the printing device 632 can include a liquid inkjet printer, solid ink printer, large-scale commercial printer, thermal printer, UV printer, or dye-sublimation printer, among others. A network interface controller (NIC) 634 is adapted to connect through the bus 656 to a network 636, wherein measuring data or other data, among other things, can be displayed on a third party display device, third party imaging device, and/or third party printing device outside of the computer 611.
Still referring to
The above-described embodiments of the present disclosure can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. Use of ordinal terms such as “first,” “second,” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.