Abstract:
Methods and systems for face clustering include determining a quality score for each of a set of input images. A first subset of the input images is clustered, having respective quality scores that exceed a predetermined threshold, to form an initial set of clusters. A second subset of the input images is clustered, having respective quality scores below the predetermined threshold. An action is performed responsive to the clustered images after the second subset is added to the initial set of clusters.
Abstract:
A method for real-time cross-spectral object association and depth estimation is presented. The method includes synthesizing, by a cross-spectral generative adversarial network (CS-GAN), visual images from different data streams obtained from a plurality of different types of sensors, applying a feature-preserving loss function resulting in real-time pairing of corresponding cross-spectral objects, and applying dual bottleneck residual layers with skip connections to accelerate real-time inference and to accelerate convergence during model training.
Abstract:
Systems and methods for video analytic processing with neuro-symbolic artificial intelligence are provided. These systems and methods include detecting and extracting one or more objects from one or more video frames, and identifying the attributes associated with each of the one or more objects. These further include extracting context from a question, and compiling a series of inquiries to identify the information needed to answer the question and identify missing information. These further include storing intermediate information about the extracted objects and identified attributes, and determining whether the question requires further modeling of data to obtain missing information. These further include mining the one or more video frames for missing information, and compiling the intermediate information from the data storage and missing information based on the context of the question to produce a final answer.
Abstract:
A computer-implemented method for characterizing a crowd that includes recording a video stream of individuals at a location having at least one reference point for viewing; and extracting the individuals from frames of the video streams. The method may further include assigning tracking identification values to the individuals that have been extracted from the video streams; and measuring at least one type classification from the individuals having the tracking identification values. The method may further include generating a crowd designation further characterizing the individuals having the tracking identification values in the location, the crowd designation comprising at least one measurement of probability that the individuals having the tracking identification values in the location view the at least one reference point for viewing.
Abstract:
A computer-implemented method includes obtaining a usecase specification and a usecase runtime specification corresponding to the usecase. The usecase includes a plurality of applications each being associated with a micro-service providing a corresponding functionality within the usecase for performing a task. The method further includes managing execution of the usecase within a runtime system based on the usecase and usecase runtime specifications to perform the task by serving an on-demand query and dynamically scaling resources based on the on-demand query, including using a batch helper server to employ the usecase specification to load dynamic application instances and connect the dynamic application instances to existing instances, and employ a batch helper configuration to load nodes/machines for execution of the on-demand query.
Abstract:
A computer-implemented method includes obtaining a usecase specification and a usecase runtime specification corresponding to the usecase. The usecase includes a plurality of applications each being associated with a micro-service providing a corresponding functionality within the usecase for performing a task. The method further includes determining that at least one instance of the at least one of the plurality of applications can be reused during execution of the usecase based on the usecase specification and the usecase runtime specification, and reusing the at least one instance during execution of the usecase.
Abstract:
Systems and methods for system for source-to-source transformation for optimizing stacks and/or queues in an application, including identifying usage of stacks and queues in the application and collecting the resource usage and thread block configurations for the application. If the usage of stacks is identified, optimized code is generated by determining appropriate storage, partitioning stacks based on determined storage, and caching tops of the stacks in a register. If the identifier identifies usage of queues, optimized code is generated by combining queue operations in all threads in a warp/thread block into one batch queue operation, converting control divergence of the application to data divergence to enable warp-level queue operations, determining whether at least one of the threads includes a queue operation, and combining queue operations into threads in a warp.
Abstract:
Methods and systems for asynchronous offload to many-core coprocessors include splitting a loop in an input source code into a sampling sub-part, a many integrated core (MIC) sub-part, and a central processing unit (CPU) sub-part; executing the sampling sub-part with a processor to determine loop characteristics including memory- and processor-operations executed by the loop; identifying optimal split boundaries based on the loop characteristics such that the MIC sub-part will complete in a same amount of time when executed on a MIC processor as the CPU sub-part will take when executed on a CPU; and modifying the input source code to split the loop at the identified boundaries, such that the MIC sub-part is executed on a MIC processor and the CPU sub-part is concurrently executed on a CPU.
Abstract:
A method for employing a semi-supervised learning approach to improve accuracy of a small model on an edge device is presented. The method includes collecting a plurality of frames from a plurality of video streams generated from a plurality of cameras, each camera associated with a respective small model, each small model deployed in the edge device, sampling the plurality of frames to define sampled frames, performing inference to the sampled frames by using a big model, the big model shared by all of the plurality of cameras and deployed in a cloud or cloud edge, using the big model to generate labels for each of the sampled frames to generate training data, and training each of the small models with the training data to generate updated small models on the edge device.
Abstract:
Systems and methods for demographic determination using image recognition. The method includes analyzing an image with a pre-trained lightweight neural network model, where the lightweight neural network model generates a confidence value, and comparing the confidence value to a threshold value to determine if the pre-trained lightweight neural network model is sufficiently accurate. The method further includes analyzing the image with a pre-trained heavyweight neural network model for the confidence value below the threshold value, wherein the pre-trained heavyweight neural network model has above about one million trainable parameters and the pre-trained lightweight neural network model has a number of trainable parameters below one tenth the heavyweight model, and displaying demographic data to a user on a user interface, wherein the user modifies store inventory based on the demographic data.