Automated inspection system
US-2024420305-A1 · Dec 19, 2024 · US
US9760970B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9760970-B2 |
| Application number | US-201514661173-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 18, 2015 |
| Priority date | Mar 18, 2015 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In some examples, a video analysis framework receives one or more video streams including a plurality of video frames. The framework may perform region detection on the frames, and may perform feature detection/extraction on the regions. Based on the extracted features, the individual video frames may be sent to particular pipelines of a plurality of pipelines designated for performing different video analysis tasks. The framework may determine respective indexed profiles to associate with particular detected regions for indexing the individual video frames or regions thereof. In some cases, resources may be allocated among the pipelines based on a priority definition. For instance, the priorities in the priority definition may be updated dynamically based on context of the received frames. Further, a log of recent video analysis results may be maintained to enable indexing, annotation, augmentation, and searching for related content without having to access information in a storage system.
Opening claim text (preview).
What is claimed is: 1. A system comprising: at least one display; one or more processors coupled to the at least one display; and one or more computer-readable media storing instructions executable by the one or more processors, wherein the instructions program the one or more processors to: receive at least one video stream including a plurality of video frames; present the at least one video stream on the at least one display; calculate a priority associated with a plurality of features in the plurality of video frames based on a frequency of occurrence of the plurality of features in the at least one video stream; perform, using at least one pipeline, at least one video analysis task to analyze the plurality of features in the at least one video stream, wherein the priority is associated with the at least one video analysis task; manage at least one of operations or resources related to the at least one video analysis task based at least in part on the priority associated with the at least one video analysis task; maintain a log data structure, wherein the log data structure includes a plurality of entries corresponding to index information associated with at least some of the plurality of video frames of the at least one video stream, wherein the index information is based at least in part on results of the at least one video analysis task; and determine, at least in part from the log data structure, the frequency of occurrence of the plurality of features in the at least one video stream. 2. The system as recited in claim 1 , wherein each feature of the plurality of features corresponds to at least one mathematical representation that represents, at least in part, visual properties of at least one of: a region of a video frame; an entire image of the video frame; or multiple regions of the video frame. 3. The system as recited in claim 1 , wherein the instructions further program the one or more processors to calculate the priority based at least in part on at least one of: a visual category associated with the plurality of features; or content associated with the plurality of features. 4. The system as recited in claim 1 , wherein the instructions further program the one or more processors to use a plurality of pipelines for performing a plurality of different respective video analysis tasks, and managing the at least one of the operations or resources further comprises: in response to calculating a higher priority for features associated with a first video analysis task, allocating more resources to a first pipeline for performing the first video analysis task than to a second pipeline for performing a second video analysis task associated with features having a lower priority. 5. The system as recited in claim 1 , wherein the instructions further program the one or more processors to use a plurality of pipelines for performing a plurality of different respective video analysis tasks, and managing the at least one of the operations or resources further comprises: in response to calculating a priority for features associated with a first video analysis task that is lower than a threshold priority, at least one of stopping or temporarily skipping the first video analysis task to provide resources to a video analysis task associated with a higher priority. 6. The system as recited in claim 1 , wherein the instructions further program the one or more processors to use a plurality of pipelines for performing a plurality of different respective video analysis tasks, and managing the at least one of the operations or resources further comprises: determining, that a first priority associated with a first video analysis task has changed to be higher than a second priority associated with a second video analysis task; and based at least in part on the change in the first priority, allocating resources from the second video analysis task to the first video analysis task. 7. The system as recited in claim 1 , wherein the instructions further program the one or more processors to: search the log data structure for an indexed profile that corresponds to the plurality of features, the log data structure including a plurality of entries for a plurality of respective regions from the plurality of video frames, wherein individual ones of the entries include index information related to corresponding indexed profiles that have been matched to the respective regions. 8. The system as recited in claim 1 , wherein the instructions further program the one or more processors to: send, to a computing device over a network, at least a portion of the log data structure as metadata indicative of content of the at least some of the plurality of video frames. 9. The system as recited in claim 1 , wherein the instructions further program the one or more processors to: allocate computational resources with respect to at least one of a video processing task, an indexing task, an annotation task, a region detection task, a related material search task, a censorship task, or an augmentation task, wherein allocation of the computational resources is performed based at least in part on a priority associated with at least one of a visual category or a particular index profile. 10. A method comprising: receiving at least one video stream including a plurality of video frames; determining, by one or more processors, a first priority associated with a first plurality of features in the plurality of video frames, and a second priority associated with a second plurality of features in the plurality of video frames, wherein the first priority and the second priority are based, at least in part, on a frequency of occurrence of the first plurality of features and the second plurality of features in the at least one video stream; using a first pipeline to perform a first video analysis task to analyze the first plurality of features, wherein the first priority is associated with the first video analysis task; using a second pipeline, at least partially in parallel with the first pipeline, to perform a second video analysis task to analyze the second plurality of features, wherein the second priority is associated with the second video analysis task; and managing resources related to the first video analysis task and the second video analysis task based at least in part on the first priority and the second priority, wherein the first pipeline and the second pipeline each include a respective series of stages for performing a respective video analysis task, wherein at least one stage in each pipeline is dependent on an output of a predecessor stage in that pipeline. 11. The method as recited in claim 10 , further comprising determining the first priority based at least in part on at least one of: a visual category associated with the first plurality of features; or content associated with the first plurality of features. 12. The method as recited in claim 10 , wherein managing the resources further comprises: in response to determining the first priority is a higher priority than the second priority, allocating more resources to the first pipeline for performing the first video analysis task than to the second pipeline for performing the second video analysis task. 13. The method as recited in claim 10 , wherein managing the resources further comprises: determining, that the first priority associated with a first video analysis task has changed to be higher than the second priority associated with a second video analysis task; and based at least in part on the change in the first priority, allocating resources from the second video analysis task to the
Determination of region of interest [ROI] or a volume of interest [VOI] · CPC title
Physics · mapped topic
Processor architectures; Processor configuration, e.g. pipelining · CPC title
Physics · mapped topic
Hardware or software architectures specially adapted for image or video understanding · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.