Camera orchestration technology to improve the automated identification of individuals

Systems, apparatuses and methods may provide for technology that detects an unidentified individual at a first location along a trajectory in a scene based on a video feed of the scene, wherein the video feed is to be associated with a stationary camera, and selects a non-stationary camera from a plurality of non-stationary cameras based on the trajectory and one or more settings of the selected non-stationary camera. The technology may also automatically instruct the selected non-stationary camera to adjust at least one of the one or more settings, capture a face of the individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

TECHNICAL FIELD

Embodiments generally relate to the automated identification of individuals. More particularly, embodiments relate to camera orchestration technology to improve the automated identification of individuals.

BACKGROUND

The identification of individuals in open spaces (e.g., train stations, airports, stadiums) is often useful for security and/or public safety purposes. Conventional solutions may involve the deployment of a relatively high number of cameras facing in many different directions to increase the likelihood that the faces of individuals will be captured. In such a case, artificial intelligence (AI) modules and/or super resolution techniques may be used to automatically recognize the captured faces. The costs, however, of the equipment and the processing overhead in such configurations may be relatively high. For example, analyzing every frame of the video feeds (e.g., even when the frames contain no useful data) may be very costly from a processing perspective. While other solutions may use pan, tilt, zoom (PTZ) cameras, those solutions typically involve manually intensive operation and/or recognition (e.g., potentially leading to errors) and may suffer from blind spots in the space being monitored.

DESCRIPTION OF EMBODIMENTS

In general, embodiments include one or more fixed high-resolution/wide field of view cameras per area, strategically positioned to reduce occlusions and blind spots of the monitored area. The fixed camera(s) may detect and track individuals/people in the area of interest. In one example, tracking information is sent to a centralized video analytics component that controls a set of deployed PTZ cameras to obtain the best frame (e.g., with higher probabilities of face recognition success) based on the tracked trajectory of each person. All cameras may stream video to the centralized video analytics component via RTSP (Real Time Streaming Protocol), RTMP (Real Time Messaging Protocol) protocols, or any other standard protocol.

In an embodiment, the centralized video analytics component calculates the person position, trajectory, and possibly head direction, which are used to select the best positioned PTZ camera to capture the face of the person, and sends appropriate PTZ configuration signals/actions using standardized protocols such as an ONVIF (Open Network Video Interface Forum) protocol. Each person entering the covered area may be tracked and flagged as unidentified while the system prepares the PTZ cameras to identify a selected person. Once the person is identified, the PTZ camera dedicated to the person in question is freed for the next detection. Accordingly, the number of people that may be identified at the same time is at least proportional to the number of deployed PTZ cameras, considering that one of the PTZ cameras may cover more than one person (e.g., since a group of people may have the same trajectory and position for a good capture). The selection of the person of interest may be done based on various factors such as user preference, activity level, clothes color, size, speed, trajectory smoothness, etc., or any combination thereof.

Turning now toFIG.1, a space10(e.g., train station, airport, stadium, arena, etc.) is monitored by a fixed (e.g., stationary) camera14for the presence of unidentified individuals such as, for example, an individual12. In an embodiment, the individual12is detected at a first location16(e.g., position coordinates 1,1,0) along a trajectory18at a time t1. At the first location16, the individual12may be within the field of view (FoV) of a first pan, tilt, zoom (PTZ, e.g., non-stationary) camera20having a first line of sight (LoS)24to the individual12. In the illustrated example, the first LoS24only provides a profile/side view of the face of the individual12. Accordingly, automated face recognition techniques may be ineffective from the first LoS24. At the first location16, the individual12may also be within the FoV of a second PTZ camera22, where the second PTZ camera22has a second LoS26to the individual12. Although the second LoS26may provide a nearly frontal view of the face of the individual12, the distance between the individual12and the second PTZ camera22may be too great for automated face recognition techniques to be effective from the second LoS26.

As will be discussed in greater detail, embodiments provide for a video analytics subsystem28(e.g., including logic instructions, configurable logic, fixed-functionality hardware logic, etc., or any combination thereof) that uses a fixed video feed30from the fixed camera14to send orchestration signals36and38(e.g., wired and/or wireless) to the first and second PTZ cameras20,22, respectively, where the orchestration signals36,38enable at least one of the PTZ cameras20,22to capture the face of the individual12at an angle that is sufficient effectively perform face recognition. More particularly, the illustrated video analytics subsystem28automatically predicts that the trajectory18will include a second location42at time t2and a third location44(e.g., position coordinates 2,1,0) at a time t3. The video analytics subsystem28may also determine that the first PTZ camera20has a third LoS40to the individual12at the third location44. In the illustrated example, the third LoS40provides no view of the face of the individual12. Accordingly, automated face recognition techniques will be ineffective from the third LoS40.

By contrast, the second PTZ camera22may have a fourth LoS46that provides a nearly frontal and relatively close view of the face of the individual12. In such a case, the video analytics subsystem28uses the orchestration signals38to proactively instruct the second PTZ camera22to adjust one or more internal settings (e.g., pan settings, zoom settings, tilt settings) of the second PTZ camera22so that the second PTZ camera22will capture the face of the individual12at the third location44. In an embodiment, the orchestration signals38also instruct the second PTZ camera22to identify the individual12based on the captured face of the individual12. In one example, the video analytics subsystem28also receives a first PTZ video feed32from the first PTZ camera20and a second PTZ video feed34from the second PTZ camera22.

The illustrated solution reduces equipment costs by eliminating any need for a relatively high number of cameras. For example, because the PTZ cameras20,22are automatically adjustable to different lines of sight, the PTZ cameras20,22may effectively perform the functionality of a large array of stationary cameras. The illustrated solution also reduces processing costs by dedicating the face recognition to video frames that are known to contain useful content. For example, the first PTZ video feed32may be disregarded with respect to the individual12in terms of face recognition. Indeed, the first PTZ video feed32might be used to identify another individual (not shown) moving through the space10while the illustrated individual12is moving through the space10. The illustrated solution also enhances performance at least to the extent that human error is eliminated from the camera operation and/or face recognition process. Performance may be further enhanced through the elimination of blind spots in the space10.

Animals (e.g., rats) are equipped to efficiently learn to search for multiple sources of food or water in a complex environment. For this, they generate increasingly efficient trajectories between reward sites. Such spatial navigation capacity involves mentally replaying short activity sequences of place cells that are spatially and temporally related. Similar to such a biological system, embodiments orchestrate and control the PTZ cameras20,22. The trajectories followed by people traversing the space may form the basis (e.g., for learning and inference) of a trajectory-prediction system. As will be discussed in greater detail, such a system may be modeled with the combination of a camera operation subsystem (e.g., including a set of fixed cameras and a set of PTZ cameras), a space representation stage, a trajectory prediction stage, and a reinforcement stage.

FIG.2shows a video analytics subsystem50(50a-50c) that may be readily substituted for the video analytics subsystem28(FIG.1), already discussed. In the illustrated example, a space representation stage50aproduces a summarized representation of the physical space, which is more detailed around high-reward areas and coarser in other areas. This stage50amay be modelled with a neural network (e.g., first neural network, not shown). In an embodiment, the representation takes the form of a soft-tiling52(52a-52b) of the space into observed place cell activity52aand inactive place cells52b. By soft-tiling, a set of units tile the space while partially and locally overlapping one another. The observed place cell activity52a(e.g., occupied tiles) exhibit activity corresponding to an observed trajectory53, while the inactive place cells52b(e.g., non-occupied tiles) are silent.

Given the partial observed trajectory53through the space, a trajectory prediction stage50bmay use a recurrent neural network (e.g., second neural network, not shown) to predict the subsequent movement of the individual in a trajectory tiling54(54a-54c) that includes predicted place cell activity54ccorresponding to a future trajectory55, in addition to the observed place cell activity54aand the inactive place cells54b. In an embodiment, this neural network learns to predict trajectories so that the person may be successfully identified. This prediction will be steered by the likelihood of successfully identifying a person.

In addition, a reinforcement learning (RL) stage50c(e.g., control system) may operate the cameras through the camera operation system and inform the other stages about the usefulness of the outputs (e.g., predicted trajectories) from those stages based on rewards. The RL stage trains internal one or more policy neural networks (e.g., a third neural network, not shown), the neural network in the space representation stage50aand the neural network in the trajectory prediction stage50bto maximize the likelihood of collecting the largest number of rewards. For example, a reward scheme58might provide the largest number of identifications for each person traversing the space. Moreover, a fourth neural network may perform face detection and provide feedback to the other three neural networks (e.g., indicating whether the system was able to detect the face, that is the reward of the reinforcement learning). In such a case, the other three neural networks may adjust accordingly to achieve better rewards in the future.

In one example, trajectory speeds are implicitly handled by the system, as frame rates are known and constant. As will be discussed in greater detail, all stages may be trained in an end-to-end fashion, by using, for example, temporal difference learning. In such a case, the errors are backpropagated throughout the space representation stage50aand the trajectory prediction stage50b.

FIG.3shows a method60of operating a performance-enhanced computing system. The method60may generally be implemented in a video analytics subsystem such as, for example, the video analytics subsystem28(FIG.1) and/or the video analytics subsystem50(FIG.2), already discussed. More particularly, the method60may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), in fixed-functionality logic hardware using circuit technology such as, for example, application specific integrated circuit (ASIC), complementary metal oxide semiconductor (CMOS) or transistor-transistor logic (TTL) technology, or any combination thereof.

Illustrated processing block62provides for detecting an unidentified individual at a first location along a trajectory in a scene based on a video feed of the scene, wherein the video feed is associated with a stationary (e.g., fixed) camera. In an embodiment, block62includes predicting the trajectory based on the video feed. Block64selects a non-stationary (e.g., PTZ) camera based on the trajectory and one or more settings of the non-stationary camera. In one example, the non-stationary camera is selected from a plurality of non-stationary cameras. The selected non-stationary camera may be automatically instructed at block66to adjust at least one of the one or more settings, capture a face of the individual at a second location along the trajectory, and identify (e.g., recognize) the unidentified individual based on the captured face of the unidentified individual. In an embodiment, the selected non-stationary camera is automatically instructed in response to the face of the unidentified individual being absent from the video feed from the stationary camera. Additionally, the selected non-stationary camera may be instructed to adjust the at least one of the setting(s) prior to the unidentified individual reaching the second location. Additionally, block66may involve automatically instructing the selected non-stationary camera to identify the unidentified individual based on a reduced number of frames containing the captured face of the unidentified individual (e.g., rather than continuously executing face identification procedures on all camera frames). The method60may be repeated and/or parallelized for multiple unidentified individuals moving through the scene.

The illustrated method60enhances performance at least to the extent that coordinating face captures between the stationary camera and the non-stationary camera eliminates human error from the camera operation and/or face recognition process. Performance may be further enhanced through the elimination of blind spots. The illustrated method60also reduces equipment costs by eliminating any need for a relatively high number of cameras. For example, because the non-stationary cameras are automatically adjustable to different lines of sight, the non-stationary cameras may effectively perform the functionality of a large array of stationary cameras. Moreover, the illustrated method60reduces processing costs by dedicating the face recognition to video frames that are known to contain useful content.

FIG.4Ashows a method70of operating a video analytics subsystem. The method70may generally be implemented in a video analytics subsystem such as, for example, the video analytics subsystem28(FIG.1) and/or the video analytics subsystem50(FIG.2), already discussed. More particularly, the method70may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.

Illustrated processing block72gets configuration information (e.g., location, pan, tilt and/or zoom settings) for one or more PTZ cameras, where a fixed camera feed is retrieved at block74. A frame may be retrieved from the fixed camera feed at block76. Block78gets a listing of unidentified individuals captured in the frame, where illustrated block80selects the next unidentified individual in the listing. In an embodiment, tracking information is updated at block82and block84calculates the predicted direction and speed (e.g., trajectory) of the individual. Block86may forecast the best camera at a future moment in time (e.g., time t). In one example, block88schedules the best camera to capture the individual at the future moment in time. The illustrated method70then returns to block80and selects the next unidentified individual in the listing. Once the end of the listing is reached, the method returns to block76and selects another video frame.

FIG.4Bshows a method90of PTZ camera. The method90may generally be implemented in a non-stationary camera such as, for example, the first and second PTZ cameras20,22(FIG.1) in response to execution of block88(FIG.4A), already discussed. More particularly, the method90may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.

Illustrated processing block92pans, tilts and/or zooms to the best position to capture the face of the unidentified individual, where block94identifies the individual. In one example, block96frees the PTZ camera to identify another individual.

Returning toFIG.2, the training process may be specific to each camera topology and sensitive to the environment. Therefore, each deployment of the system undergoes a training process. Training such a system using RL may involve a number of training examples on the order of millions for each case, to address the problem of training time and shorten the time that it takes for the system to reach peak performance. In embodiment, an offline accelerated training module (e.g., including logic instructions, configurable logic, fixed-functionality hardware logic, etc., or any combination thereof) is used. The offline accelerated training module may include a simulator that, given a specific camera topology, produces realistic observations and simulates identification rates for each camera. By using approximate camera models (e.g., parameters from the manufacturer), a rough camera layout (e.g., measured on a blueprint) and multiple people motion models (e.g., Brownian motion, goal directed path planning, straight lines, parametric curves), the simulator generates a trajectory of a person, computes the projection of the person's face on the camera images and determines if the person identification is successful.

To determine if a face projection on a camera is recognizable, a model of the procedure may be used. In one example, the procedure model includes the probability of obtaining a correct identification given the shape of the projected detection on the camera image. Moreover, the model may be built by running the identification algorithm on known datasets with ground truth data and computing a histogram of correct and incorrect detections versus the face bounding box vertical and horizontal sizes.

In an embodiment, the simulator is used to generate millions of training examples of people moving across the area of interest. By using domain randomization techniques on the camera models, camera layouts and adding noise to the generated trajectories, the simulator generates samples that make the RL controller more robust to measurement errors or changes in the camera projection matrices due to aging of the lenses. The usage of the simulator with domain randomization provides a pre-trained system ready to deploy in the real environment. After deployment, the system may re-train the neural networks with real examples (e.g., real-time reinforcement data). The training on simulation data, however, enables the system to start running from day zero and continue increasing performance over time.

FIG.5shows a method100of training neural networks to support camera orchestration. The method100may generally be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.

Illustrated processing block102trains a first neural network (e.g., in a space representation stage) to detect unidentified individuals in the scene based on simulation data. Additionally, block104may train a second neural network (e.g., recurrent neural network in a trajectory prediction stage) to predict trajectories of the unidentified individuals based on the simulation data. In an embodiment, block106trains a third neural network (e.g., policy neural network in a reinforcement learning stage) to select non-stationary cameras based on the predicted trajectories and automatically instruct the selected non-stationary cameras to adjust at least one of the one or more settings based on the simulation data. In one example, blocks102,104and106are conducted offline.

Block108may re-train the first neural network, the second neural network, and the third neural network based on real-time reinforcement data. In the illustrated example, the unidentified individual fromFIG.3is detected at the first location via the first neural network. Additionally, the trajectory may be predicted via the second neural network. In an embodiment, the non-stationary camera is selected via the third neural network and the selected non-stationary camera is automatically instructed via the third neural network. The illustrated method100therefore further enhances performance by enabling accurate identifications to be made upon deployment of the system.

Turning now toFIG.6, a performance-enhanced computing system110is shown. The system110may generally be part of an electronic device/platform having computing functionality (e.g., personal digital assistant/PDA, notebook computer, tablet computer, convertible tablet, server), communications functionality (e.g., smart phone), imaging functionality (e.g., camera, camcorder), media playing functionality (e.g., smart television/TV), wearable functionality (e.g., watch, eyewear, headwear, footwear, jewelry), vehicular functionality (e.g., car, truck, motorcycle), robotic functionality (e.g., autonomous robot), Internet of Things (IoT) functionality, etc., or any combination thereof. In the illustrated example, the system110includes a host processor112(e.g., central processing unit/CPU) having an integrated memory controller (IMC)114that is coupled to a system memory116.

The illustrated system110also includes an input output (10) module118implemented together with the host processor112, an AI accelerator121, and a graphics processor120(e.g., graphics processing unit/GPU) on a semiconductor die122as a system on chip (SoC). In an embodiment, the semiconductor die122also includes a vision processing unit (VPU, not shown). The illustrated IO module118communicates with, for example, a display124(e.g., touch screen, liquid crystal display/LCD, light emitting diode/LED display), a network controller126(e.g., wired and/or wireless), and mass storage128(e.g., hard disk drive/HDD, optical disk, solid state drive/SSD, flash memory). The illustrated computing system110also includes a stationary (e.g., fixed) camera130to generate a video feed of a scene and one or more non-stationary (e.g., PTZ) cameras132. The stationary camera130and the non-stationary camera(s)132may communicate with the rest of the system110via wired and/or wireless links.

In an embodiment, the host processor112, the graphics processor120, the AI accelerator121, the VPU and/or the IO module118execute program instructions134retrieved from the system memory116and/or the mass storage128to perform one or more aspects of the method60(FIG.3), the method70(FIG.4A), the method90(FIG.4B) and/or the method100(FIG.5), already discussed. Thus, execution of the illustrated instructions134may cause the die122to detect an unidentified individual at a first location along a trajectory in the scene based on the video feed and select a non-stationary camera from the non-stationary camera(s)132based on the trajectory and one or more settings (e.g., pan setting, tilt setting, zoom setting) of the selected non-stationary camera. Execution of the instructions134may also cause the die122to automatically instruct the selected non-stationary camera to adjust at least one of the setting(s), capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual. In an embodiment, the selected non-stationary camera is automatically instructed in response to the face of the unidentified individual being absent from the video feed from the stationary camera130. Additionally, the selected non-stationary camera may be proactively instructed to adjust the at least one of the setting(s) prior to the unidentified individual reaching the second location.

The system110is therefore considered to be performance-enhanced at least to the extent that coordinating face captures between the stationary camera130and the selected non-stationary camera eliminates human error from the camera operation and/or face recognition process. Performance may be further enhanced through the elimination of blind spots. Identification effectiveness may be further enhanced through the elimination of blind spots by combining the field of view of stationary and non-stationary cameras. The illustrated system110also has reduced equipment costs through the elimination of any need for a relatively high number of cameras. For example, because the non-stationary camera(s)132are automatically adjustable to different lines of sight, the non-stationary camera(s)132may effectively perform the functionality of a large array of stationary cameras. Moreover, the illustrated system110reduces processing costs by dedicating the face recognition to video frames that are known to contain useful content.

FIG.7shows a semiconductor package apparatus140. The illustrated apparatus140includes one or more substrates142(e.g., silicon, sapphire, gallium arsenide) and logic144(e.g., transistor array and other integrated circuit/IC components) coupled to the substrate(s)142. The logic144may be implemented at least partly in configurable logic or fixed-functionality logic hardware. In one example, the logic144implements one or more aspects of the method60(FIG.3), the method70(FIG.4A), the method90(FIG.4B) and/or the method100(FIG.5), already discussed. Thus, the logic144may detect an unidentified individual at a first location along a trajectory in a scene based on a video feed, wherein the video feed is associated with a stationary camera, and select a non-stationary camera from a plurality of non-stationary cameras based on the trajectory and one or more settings (e.g., pan setting, tilt setting, zoom setting) of the selected non-stationary camera. The logic144may also automatically instruct the selected non-stationary camera to adjust at least one of the setting(s), capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

The apparatus140is therefore considered to be performance-enhanced at least to the extent that coordinating face captures between the stationary camera and the selected non-stationary camera eliminates human error from the camera operation and/or face recognition process. Performance may be further enhanced through the elimination of blind spots. The illustrated apparatus140also reduces equipment costs through the elimination of any need for a relatively high number of cameras. For example, because the non-stationary cameras are automatically adjustable to different lines of sight, the non-stationary cameras may effectively perform the functionality of a large array of stationary cameras. Moreover, the illustrated apparatus140reduces processing costs by dedicating the face recognition to video frames that are known to contain useful content.

In one example, the logic144includes transistor channel regions that are positioned (e.g., embedded) within the substrate(s)142. Thus, the interface between the logic144and the substrate(s)142may not be an abrupt junction. The logic144may also be considered to include an epitaxial layer that is grown on an initial wafer of the substrate(s)142.

FIG.8also illustrates a memory270coupled to the processor core200. The memory270may be any of a wide variety of memories (including various layers of memory hierarchy) as are known or otherwise available to those of skill in the art. The memory270may include one or more code213instruction(s) to be executed by the processor core200, wherein the code213may implement one or more aspects of the method60(FIG.3), the method70(FIG.4A), the method90(FIG.4B) and/or the method100(FIG.5), already discussed. The processor core200follows a program sequence of instructions indicated by the code213. Each instruction may enter a front end portion210and be processed by one or more decoders220. The decoder220may generate as its output a micro operation such as a fixed width micro operation in a predefined format, or may generate other instructions, microinstructions, or control signals which reflect the original code instruction. The illustrated front end portion210also includes register renaming logic225and scheduling logic230, which generally allocate resources and queue the operation corresponding to the convert instruction for execution.

Although not illustrated inFIG.8, a processing element may include other elements on chip with the processor core200. For example, a processing element may include memory control logic along with the processor core200. The processing element may include I/O control logic and/or may include I/O control logic integrated with memory control logic. The processing element may also include one or more caches.

Referring now toFIG.9, shown is a block diagram of a computing system1000embodiment in accordance with an embodiment. Shown inFIG.9is a multiprocessor system1000that includes a first processing element1070and a second processing element1080. While two processing elements1070and1080are shown, it is to be understood that an embodiment of the system1000may also include only one such processing element.

Each processing element1070,1080may include at least one shared cache1896a,1896b. The shared cache1896a,1896bmay store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores1074a,1074band1084a,1084b, respectively. For example, the shared cache1896a,1896bmay locally cache data stored in a memory1032,1034for faster access by components of the processor. In one or more embodiments, the shared cache1896a,1896bmay include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), and/or combinations thereof.

As shown inFIG.9, various I/O devices1014(e.g., biometric scanners, speakers, cameras, sensors) may be coupled to the first bus1016, along with a bus bridge1018which may couple the first bus1016to a second bus1020. In one embodiment, the second bus1020may be a low pin count (LPC) bus. Various devices may be coupled to the second bus1020including, for example, a keyboard/mouse1012, communication device(s)1026, and a data storage unit1019such as a disk drive or other mass storage device which may include code1030, in one embodiment. The illustrated code1030may implement one or more aspects of method60(FIG.3), the method70(FIG.4A), the method90(FIG.4B) and/or the method100(FIG.5), already discussed. Further, an audio I/O1024may be coupled to second bus1020and a battery1010may supply power to the computing system1000.

Note that other embodiments are contemplated. For example, instead of the point-to-point architecture ofFIG.9, a system may implement a multi-drop bus or another such communication topology. Also, the elements ofFIG.9may alternatively be partitioned using more or fewer integrated chips than shown inFIG.9.

Additional Notes and Examples

Example 1 includes a performance-enhanced computing system comprising a stationary camera to generate a video feed of a scene, a plurality of non-stationary cameras, a processor, and a memory coupled to the processor, the memory including a set of executable program instructions, which when executed by the processor, cause the processor to detect an unidentified individual at a first location along a trajectory in the scene based on the video feed, select a non-stationary camera from the plurality of non-stationary cameras based on the trajectory and one or more settings of the selected non-stationary camera, and automatically instruct the selected non-stationary camera to adjust at least one of the one or more settings, capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

Example 2 includes the computing system of Example 1, wherein the selected non-stationary camera is to be automatically instructed in response to the face of the unidentified individual being absent from the video feed and wherein the selected non-stationary camera is to be instructed to adjust the at least one of the one or more settings prior to the unidentified individual reaching the second location.

Example 3 includes the computing system of Example 1, wherein the instructions, when executed, further cause the computing system to predict the trajectory based on the video feed.

Example 4 includes the computing system of Example 3, wherein the instructions, when executed, further cause the computing system to train a first neural network to detect unidentified individuals in the scene based on simulation data, train a second neural network to predict trajectories of the unidentified individuals based on the simulation data, and train a third neural network to select non-stationary cameras and automatically instruct the selected non-stationary cameras to adjust at least one of the one or more settings based on the simulation data.

Example 5 includes the computing system of Example 3, wherein the instructions, when executed, further cause the computing system to re-train a first neural network, a second neural network, and a third neural network based on real-time reinforcement data, wherein the unidentified individual is to be detected at the first location via the first neural network, wherein the trajectory is to be predicted via the second neural network, wherein the non-stationary camera is to be selected via the third neural network, and wherein the selected non-stationary camera is to be automatically instructed via the third neural network.

Example 6 includes the computing system of any one of Examples 1 to 5, wherein the one or more settings are to include one or more of a pan setting, a tilt setting or a zoom setting, and wherein the selected non-stationary camera is to be automatically instructed to identify the unidentified individual based on a reduced number of frames containing the captured face of the unidentified individual.

Example 7 includes a semiconductor apparatus comprising one or more substrates, and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to detect an unidentified individual at a first location along a trajectory in a scene based on a video feed of the scene, wherein the video feed is to be associated with a stationary camera, select a non-stationary camera from a plurality of non-stationary cameras based on the trajectory and one or more settings of the selected non-stationary camera, and automatically instruct the selected non-stationary camera to adjust at least one of the one or more settings, capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

Example 8 includes the apparatus of Example 7, wherein the selected non-stationary camera is to be automatically instructed in response to the face of the unidentified individual being absent from the video feed and wherein the selected non-stationary camera is to be instructed to adjust the at least one of the one or more settings prior to the unidentified individual reaching the second location.

Example 9 includes the apparatus of Example 7, wherein the logic coupled to the one or more substrates is to predict the trajectory based on the video feed.

Example 10 includes the apparatus of Example 9, wherein the logic coupled to the one or more substrates is to train a first neural network to detect unidentified individuals in the scene based on simulation data, train a second neural network to predict trajectories of the unidentified individuals based on the simulation data, and train a third neural network to select non-stationary cameras and automatically instruct the selected non-stationary cameras to adjust at least one of the one or more settings based on the simulation data.

Example 11 includes the apparatus of Example 9, wherein the logic coupled to the one or more substrates is to re-train a first neural network, a second neural network, and a third neural network based on real-time reinforcement data, wherein the unidentified individual is to be detected at the first location via the first neural network, wherein the trajectory is to be predicted via the second neural network, wherein the non-stationary camera is to be selected via the third neural network, and wherein the selected non-stationary camera is to be automatically instructed via the third neural network.

Example 12 includes the apparatus of any one of Examples 7 to 11, wherein the one or more settings are to include one or more of a pan setting, a tilt setting or a zoom setting, and wherein the selected non-stationary camera is to be automatically instructed to identify the unidentified individual based on a reduced number of frames containing the captured face of the unidentified individual.

Example 13 includes at least one computer readable storage medium comprising a set of executable program instructions, which when executed by a computing system, cause the computing system to detect an unidentified individual at a first location along a trajectory in a scene based on a video feed of the scene, wherein the video feed is to be associated with a stationary camera, select a non-stationary camera from a plurality of non-stationary cameras based on the trajectory and one or more settings of the selected non-stationary camera, and automatically instruct the selected non-stationary camera to adjust at least one of the one or more settings, capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

Example 14 includes the at least one computer readable storage medium of Example 13, wherein the selected non-stationary camera is to be automatically instructed in response to the face of the unidentified individual being absent from the video feed and wherein the selected non-stationary camera is to be instructed to adjust the at least one of the one or more settings prior to the unidentified individual reaching the second location.

Example 15 includes the at least one computer readable storage medium of Example 13, wherein the instructions, when executed, further cause the computing system to predict the trajectory based on the video feed.

Example 16 includes the at least one computer readable storage medium of Example 15, wherein the instructions, when executed, further cause the computing system to train a first neural network to detect unidentified individuals in the scene based on simulation data, train a second neural network to predict trajectories of the unidentified individuals based on the simulation data, and train a third neural network to select non-stationary cameras and automatically instruct the selected non-stationary cameras to adjust at least one of the one or more settings based on the simulation data.

Example 17 includes the at least one computer readable storage medium of Example 15, wherein the instructions, when executed, further cause the computing system to re-train a first neural network, a second neural network, and a third neural network based on real-time reinforcement data, wherein the unidentified individual is to be detected at the first location via the first neural network, wherein the trajectory is to be predicted via the second neural network, wherein the non-stationary camera is to be selected via the third neural network, and wherein the selected non-stationary camera is to be automatically instructed via the third neural network.

Example 18 includes the at least one computer readable storage medium of any one of Examples 13 to 17, wherein the one or more settings are to include one or more of a pan setting, a tilt setting or a zoom setting, and wherein the selected non-stationary camera is to be automatically instructed to identify the unidentified individual based on a reduced number of frames containing the captured face of the unidentified individual.

Example 19 includes a method of operating a performance-enhanced computing system, the method comprising detecting an unidentified individual at a first location along a trajectory in a scene based on a video feed of the scene, wherein the video feed is associated with a stationary camera, selecting a non-stationary camera from a plurality of non-stationary cameras based on the trajectory and one or more settings of the selected non-stationary camera, and automatically instructing the selected non-stationary camera to adjust at least one of the one or more settings, capture a face of the unidentified individual at a second location along the trajectory, and identify the unidentified individual based on the captured face of the unidentified individual.

Example 20 includes the method of Example 19, wherein the selected non-stationary camera is automatically instructed in response to the face of the unidentified individual being absent from the video feed and wherein the selected non-stationary camera is instructed to adjust the at least one of the one or more settings prior to the unidentified individual reaching the second location.

Example 21 includes the method of Example 19, further including predicting the trajectory based on the video feed.

Example 22 includes the method of Example 21, further including training a first neural network to detect unidentified individuals in the scene based on simulation data, training a second neural network to predict trajectories of the unidentified individuals based on the simulation data, and training a third neural network to select non-stationary cameras based on the predicted trajectories and automatically instruct the selected non-stationary cameras to adjust at least one of the one or more settings based on the simulation data.

Example 23 includes the method of Example 21, further including re-training a first neural network, a second neural network, and a third neural network based on real-time reinforcement data, wherein the unidentified individual is detected at the first location via the first neural network, wherein the trajectory is predicted via the second neural network, wherein the non-stationary camera is selected via the third neural network, and wherein the selected non-stationary camera is automatically instructed via the third neural network.

Example 24 includes the method of any one of Examples 19 to 23, wherein the one or more settings include one or more of a pan setting, a tilt setting or a zoom setting, and wherein the selected non-stationary camera is automatically instructed to identify the unidentified individual based on a reduced number of frames containing the captured face of the unidentified individual.

Example 25 includes means for performing the method of any one of Examples 19 to 24.

Thus, technology described herein provides a cost-efficient solution for the automated identification of individuals. Additionally, fewer cameras are required on the “scene”, which reduces CAPEX (Capital Expenditure, e.g., for purchasing and deploying cameras) and OPEX (Operational Expense, e.g., reducing the need for operators of the computer vision infrastructure). The technology also reduces the compute capacity required for identification since the cameras will be proactively set on the correct position to capture faces, meaning less frame processing. Additionally, the technology enables the selective execution of face identification procedures on specific camera frames instead of continuously executing the procedures on all camera frames. In a certain situation, the system prepares a PTZ camera to point to a specific position at a specific time. Once reached, the identification process can be executed for a window of time, but the process is not continuously running.

Moreover, the technology is highly efficient on identification without relying on the attention of human operators. Even more, the work of the operator is automated, reducing OPEX. The technology is also highly efficient on identification being able to monitor many different video feeds in parallel, compared with human monitoring that may be able to check only a few video feeds.