Usage-based automatic camera mode switching

By inferring scene importance through camera operator behavior analysis, the computing system efficiently applies image processing operations only when needed, improving battery life and reducing latency in computing devices.

WO2025144842A1PCT designated stage expired Publication Date: 2025-07-03GOOGLE LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/061839
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-26
Filing Date
2024-12-24
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Modern computing devices face challenges in efficiently applying computationally intensive image processing operations, which consume high power and cause delays, impacting user experience and battery life, especially when capturing scenes that may not require such extensive processing.

Method used

A computing system that infers the importance of a scene by analyzing camera operator behavior and implicitly triggers image processing operations only when necessary, using background processes to analyze gyroscope, accelerometer, and geolocation data to determine the significance of the scene, thereby reducing unnecessary power consumption and latency.

Benefits of technology

This approach enhances battery life and reduces latency by selectively applying image processing operations only to important scenes, maintaining image quality while optimizing power usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024061839_03072025_PF_FP_ABST
    Figure US2024061839_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The method includes receiving one or more images of a scene from a camera. The method also includes receiving one or more indications of camera operator behavior during image capture of the one or more images. The method further includes implicitly inferring an importance of the scene based on the one or more images or one or more indications of camera operator behavior. The method additionally includes, based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.
Need to check novelty before this filing date? Find Prior Art

Description

Usage-based Automatic Camera Mode SwitchingBACKGROUND

[0001] Many modern computing devices, including mobile phones, personal computers, and tablets, include image capturing devices. Some image capturing devices are configured with telephoto capabilities.SUMMARY

[0002] In an embodiment, a method includes receiving one or more images of a scene from a camera. The method also includes receiving one or more indications of camera operator behavior during image capture of the one or more images. The method additionally includes implicitly inferring an importance of the scene based on the one or more indications of camera operator behavior. The method further includes based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.

[0003] In another embodiment, a computing system includes a control system. The control system is configured to receive one or more images of a scene from a camera. The control system is also configured to receive one or more indications of camera operator behavior during image capture of the one or more images. The control system is additionally configured to implicitly infer an importance of the scene based on the one or more indications of camera operator behavior. The control system is further configured to, based on the implicitly inferred importance of the scene, trigger application of an image processing operation to at least one of the one or more images.

[0004] In a further embodiment, a non-transitory computer readable medium stores program instructions executable by one or more processors to cause the one or more processors to perform operations. The operations include receiving one or more images of a scene from a camera. The operations also include receiving one or more indications of camera operator behavior during image capture of the one or more images. The operations additionally include implicitly inferring an importance of the scene based on the one or more indications of camera operator behavior. The operations further include, based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.

[0005] In another embodiment, a system is provided that includes means for receiving one or more images of a scene from a camera. The system also includes means for receivingone or more indications of camera operator behavior during image capture of the one or more images. The system additionally includes means for implicitly inferring an importance of the scene based on the one or more indications of camera operator behavior. The system further includes means for, based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.

[0006] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the figures and the following detailed description and the accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 illustrates an example computing device, in accordance with example embodiments.

[0008] Figure 2 is a simplified block diagram showing some of the components of an example computing system.

[0009] Figure 3 is a diagram illustrating a training phase and an inference phase of one or more trained machine learning models in accordance with example embodiments.

[0010] Figure 4 is a flow chart of a method, in accordance with example embodiments.

[0011] Figure 5 depicts capturing an image, in accordance with example embodiments.

[0012] Figure 6 depicts a block diagram of camera operator behavior, in accordance with example embodiments.

[0013] Figure 7 depicts a timeline, in accordance with example embodiments.

[0014] Figure 8 depicts an image processing operation, in accordance with example embodiments.DETAILED DESCRIPTION

[0015] Example methods, devices, and systems are described herein. It should be understood that the words “example” and “exemplary” are used herein to mean “serving as an example, instance, or illustration.” Any embodiment or feature described herein as being an “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or features unless indicated as such. Other embodiments can be utilized, and other changes can be made, without departing from the scope of the subject matter presented herein.

[0016] Thus, the example embodiments described herein are not meant to be limiting. It will be readily understood that the aspects of the present disclosure, as generally describedherein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations.

[0017] Throughout this description, the articles “a” or “an” are used to introduce elements of the example embodiments. Any reference to “a” or “an” refers to “at least one,” and any reference to “the” refers to “the at least one,” unless otherwise specified, or unless the context clearly dictates otherwise. The intent of using the conjunction “or” within a described list of at least two terms is to indicate any of the listed terms or any combination of the listed terms.

[0018] The use of ordinal numbers such as “first,” “second,” “third” and so on is to distinguish respective elements rather than to denote a particular order of those elements. For the purpose of this description, the terms “multiple” and “a plurality of’ refer to “two or more” or “more than one.”

[0019] Further, unless context suggests otherwise, the features illustrated in each of the figures may be used in combination with one another. Thus, the figures should be generally viewed as component aspects of one or more overall embodiments, with the understanding that not all illustrated features are necessary for each embodiment. In the figures, similar symbols typically identify similar components, unless context dictates otherwise. Further, unless otherwise noted, figures are not drawn to scale and are used for illustrative purposes only. Moreover, the figures are representational only and not all components are shown. For example, additional structural or restraining components might not be shown.

[0020] Additionally, any enumeration of elements, blocks, or steps in this specification or the claims is for purposes of clarity. Thus, such enumeration should not be interpreted to require or imply that these elements, blocks, or steps adhere to a particular arrangement or are carried out in a particular order.I. Overview

[0021] A computing system, such as a mobile device, may receive a camera operator input to capture an image of a scene. The computing system may receive an image of the scene from a camera, and the computing system may use one or more image processing operations to adjust the image such that the image more closely resembles what a camera operator perceives. For example, the computing system may automatically adjust the exposure of the image to brighten a dark scene. Additionally and / or alternatively, the computing system may adjust other image parameters (e.g., white balance, color, etc.) and / or apply one or more other image processing operations.

[0022] In some examples, the image processing operations may be computationally intensive. A computationally intensive image processing operation may include an operation that involves combining one or more images into a single image such that portions of each of the one or more images are incorporated into the single image, perhaps when an individual image cannot be adequately corrected to more closely resemble what a camera operator perceives. For example, the computing system may obtain one or more images of a person standing in front of a sunrise behind a mountain. Each image may be taken at a different exposure setting, such that the first image includes a person that resembles what the camera operator perceives, the second image includes a mountain that resembles what the camera operator perceives, and the third image includes a sunrise that resembles what the camera operator perceives. The computing system may combine the person in the first image, the mountain in the second image, and the sunrise of the third image into a single image with each region, e.g., the person, the mountain, and the sunrise, resembling what the camera operator perceives.

[0023] In contrast to other image processing operations, computationally intensive image processing operations may cause high amounts of power consumption and delays in capturing an image, which may impact user experience and timely capture of images. For example, in the above example, the computing system may need to obtain multiple images and extract certain portions of each image before continuing with processing the images into a single image. Further, to extract certain portions of each image, the computing system may apply a machine learning model or other similarly computationally intensive operation that may use high amounts of power, which may reduce the battery life of the device. However, applying these computationally intensive image processing operations may cause the images to be of higher quality than images where the computationally intensive processing operations have not been applied. Despite this, image processing operations, including the one described above, may apply to select scenes and / or groups of images, but applying these image processing operations to every scene may be unnecessary and / or excessive.

[0024] Provided herein are methods for selectively applying image processing operations by implicitly inferring the importance of a scene by analyzing obtained images and camera operator behavior or data otherwise collected through the history of previous image captures. In particular, the computing system may be a mobile device or other computing device that includes a camera and perhaps other sensors, which may be used to analyze camera operator behavior. For example, the computing system may obtain gyroscope sensor data,accelerometer sensor data, camera operation parameters, and / or geolocation data, which may indicate camera operator behavior.

[0025] Based on the images and the camera operator behavior, the computing system may implicitly infer the importance of a scene. For example, the computing system may obtain indications of camera operator behavior indicating that the camera is being held at substantially the same position for the capture of each of the images. The computing system may also analyze the images and determine that each image is of substantially the same scene and / or includes the same subject. Based on this analysis, the computing system may infer that the scene is important to the camera operator.

[0026] Additionally and / or alternatively, the computing system may use and / or incorporate one or more other processes of inferring that the scene is important. For example, the computing system may infer that the scene is important based on the camera operator holding the camera at the same position and / or at the same location for over a threshold amount of time. Further, the computing system may infer that the scene is important based on the camera operator taking more than a threshold amount of time to frame the image. The computing system may also infer that the scene is important based on analyzing one or more images taken over a period of time and determining that each image contains a substantially similar scene or subject. Inferring that the scene and / or subject is important might not be based on explicit user input, e.g., user input indicating that a particular portion of the scene is important or user input to zoom into a particular portion of the scene.

[0027] In some examples, the computing system may implicitly infer the importance of a scene based on background processes. For example, background processes may involve operations that are run in the background, while other operations are occurring. Further, background processes may involve processes that are executed routinely as part of capturing an image or otherwise receiving an image. Implicitly inferring the importance of a scene through background processes may help facilitate processing of the image and may help facilitate efficient inference of the importance of a scene. For example, implicitly inferring the importance of a scene may involve inputting each image through one or more image analysis processes, perhaps including facial detection, facial recognition, scene recognition, segmentation, among other examples. Some of these processes may be computationally intensive, occupying computing resources and decreasing battery life. Accordingly, the computing system may use background processes to help facilitate processing of the image. For example, the computing system may apply facial detection as part of categorizing an image that is received. The computing system may use the results of the facial detection to determinewhether there is a face in the image, and based on determining that the image does contain a face, the computing device may implicitly infer that the scene is important.

[0028] The computing system may apply these processes in various ways. For example, the computing system may apply facial recognition to an image, and the computing system may determine that the face is associated with a person identified in the user’s contact list or has otherwise been previously identified. Based on such a determination, the computing system may implicitly infer that the scene is important. As another example, the computing system may detect that the scene is of a natural landscape, and based on the determination, the computing system may request a location from a geolocation module. Based on the location received from the geolocation module, the computing system may determine that the scene is of a national park or other known location, and the computing system may implicitly infer that the scene is important. Other methods may also be possible.

[0029] Based on implicitly inferring that the scene is important, the computing system may trigger application of an image processing operation for at least one of the one or more images. The image processing operation may be a computationally intensive operation. For example, the image processing operation may be an operation that merges images together, perhaps as described above. Additionally and / or alternatively, the image processing operation may involve at least one machine learning model. Other image processing operations are also possible. By selectively applying the image processing operations to images implicitly inferred to be important, the computing system may facilitate increasing battery life, lowering power consumption, and reducing latency, while generating better quality images.II. Example Systems and Methods

[0030] Figure 1 illustrates an example computing device 100. In examples described herein, computing device 100 may be an image capturing device and / or a video capturing device. Computing device 100 is shown in the form factor of a mobile phone. However, computing device 100 may be alternatively implemented as a laptop computer, a tablet computer, and / or a wearable computing device, among other possibilities. Computing device 100 may include various elements, such as body 102, display 106, and buttons 108 and 110. Computing device 100 may further include one or more cameras, such as front-facing camera 104 and at least one rear-facing camera 112. In examples with multiple rear-facing cameras such as illustrated in Figure 1, each of the rear-facing cameras may have a different field of view. For example, the rear facing cameras may include a wide angle camera, a main camera, and a telephoto camera. The wide angle camera may capture a larger portion of the environment compared to the main camera and the telephoto camera, and the telephoto camera may capturemore detailed images of a smaller portion of the environment compared to the main camera and the wide angle camera.

[0031] Front-facing camera 104 may be positioned on a side of body 102 typically facing a user while in operation (e.g., on the same side as display 106). Rear-facing camera 112 may be positioned on a side of body 102 opposite front-facing camera 104. Referring to the cameras as front and rear facing is arbitrary, and computing device 100 may include multiple cameras positioned on various sides of body 102.

[0032] Display 106 could represent a cathode ray tube (CRT) display, a light emitting diode (LED) display, a liquid crystal (LCD) display, a plasma display, an organic light emitting diode (OLED) display, or any other type of display known in the art. In some examples, display 106 may display a digital representation of the current image being captured by front-facing camera 104 and / or rear-facing camera 112, an image that could be captured by one or more of these cameras, an image that was recently captured by one or more of these cameras, and / or a modified version of one or more of these images. Thus, display 106 may serve as a viewfinder for the cameras. Display 106 may also support touchscreen functions that may be able to adjust the settings and / or configuration of one or more aspects of computing device 100.

[0033] Front-facing camera 104 may include an image sensor and associated optical elements such as lenses. Front-facing camera 104 may offer zoom capabilities or could have a fixed focal length. In other examples, interchangeable lenses could be used with front-facing camera 104. Front-facing camera 104 may have a variable mechanical aperture and a mechanical and / or electronic shutter. Front-facing camera 104 also could be configured to capture still images, video images, or both. Further, front-facing camera 104 could represent, for example, a monoscopic, stereoscopic, or multiscopic camera. Rear-facing camera 112 may be similarly or differently arranged. Additionally, one or more of front-facing camera 104 and / or rear-facing camera 112 may be an array of one or more cameras.

[0034] One or more of front-facing camera 104 and / or rear-facing camera 112 may include or be associated with an illumination component that provides a light field to illuminate a target object. For instance, an illumination component could provide flash or constant illumination of the target object. An illumination component could also be configured to provide a light field that includes one or more of structured light, polarized light, and light with specific spectral content. Other types of light fields known and used to recover three- dimensional (3D) models from an object are possible within the context of the examples herein.

[0035] Computing device 100 may also include an ambient light sensor that may continuously or from time to time determine the ambient brightness of a scene that cameras104 and / or 112 can capture. In some implementations, the ambient light sensor can be used to adjust the display brightness of display 106. Additionally, the ambient light sensor may be used to determine an exposure length of one or more of cameras 104 or 112, or to help in this determination.

[0036] Computing device 100 could be configured to use display 106 and front-facing camera 104 and / or rear-facing camera 112 to capture images of a target object. The captured images could be a plurality of still images or a video stream. The image capture could be triggered by activating button 108, pressing a softkey on display 106, or by some other mechanism. Depending upon the implementation, the images could be captured automatically at a specific time interval, for example, upon pressing button 108, upon appropriate lighting conditions of the target object, upon moving computing device 100 a predetermined distance, or according to a predetermined capture schedule.

[0037] Figure 2 is a simplified block diagram showing some of the components of an example computing system 200, such as an image capturing device and / or a video capturing device. By way of example and without limitation, computing system 200 may be a cellular mobile telephone (e.g., a smartphone), a computer (such as a desktop, notebook, tablet, server, or handheld computer), a home automation component, a digital video recorder (DVR), a digital television, a remote control, a wearable computing device, a gaming console, a robotic device, a vehicle, or some other type of device. Computing system 200 may represent, for example, aspects of computing device 100.

[0038] As shown in Figure 2, computing system 200 may include communication interface 202, user interface 204, processor 206, data storage 208, and camera components 224, all of which may be communicatively linked together by a system bus, network, or other connection mechanism 210. Computing system 200 may be equipped with at least some image capture and / or image processing capabilities. It should be understood that computing system 200 may represent a physical image processing system, a particular physical hardware platform on which an image sensing and / or processing application operates in software, or other combinations of hardware and software that are configured to carry out image capture and / or processing functions.

[0039] Communication interface 202 may allow computing system 200 to communicate, using analog or digital modulation, with other devices, access networks, and / or transport networks. Thus, communication interface 202 may facilitate circuit-switched and / or packet-switched communication, such as plain old telephone service (POTS) communication and / or Internet protocol (IP) or other packetized communication. For instance, communicationinterface 202 may include a chipset and antenna arranged for wireless communication with a radio access network or an access point. Also, communication interface 202 may take the form of or include a wireline interface, such as an Ethernet, Universal Serial Bus (USB), or High- Definition Multimedia Interface (HDMI) port, among other possibilities. Communication interface 202 may also take the form of or include a wireless interface, such as a Wi-Fi, BLUETOOTH®, global positioning system (GPS), or wide-area wireless interface (e.g., WiMAX or 3GPP Long-Term Evolution (LTE)), among other possibilities. However, other forms of physical layer interfaces and other types of standard or proprietary communication protocols may be used over communication interface 202. Furthermore, communication interface 202 may comprise multiple physical communication interfaces (e.g., a Wi-Fi interface, a BLUETOOTH® interface, and a wide-area wireless interface).

[0040] User interface 204 may function to allow computing system 200 to interact with a human or non-human user, such as to receive input from a user and to provide output to the user. Thus, user interface 204 may include input components such as a keypad, keyboard, touch-sensitive panel, computer mouse, trackball, joystick, microphone, and so on. User interface 204 may also include one or more output components such as a display screen, which, for example, may be combined with a touch-sensitive panel. The display screen may be based on CRT, LCD, LED, and / or OLED technologies, or other technologies now known or later developed. User interface 204 may also be configured to generate audible output(s), via a speaker, speaker jack, audio output port, audio output device, earphones, and / or other similar devices. User interface 204 may also be configured to receive and / or capture audible utterance(s), noise(s), and / or signal(s) by way of a microphone and / or other similar devices.

[0041] In some examples, user interface 204 may include a display that serves as a viewfinder for still camera and / or video camera functions supported by computing system 200. Additionally, user interface 204 may include one or more buttons, switches, knobs, and / or dials that facilitate the configuration and focusing of a camera function and the capturing of images. It may be possible that some or all of these buttons, switches, knobs, and / or dials are implemented by way of a touch-sensitive panel.

[0042] Processor 206 may comprise one or more general purpose processors - e.g., microprocessors - and / or one or more special purpose processors - e.g., digital signal processors (DSPs), graphics processing units (GPUs), floating point units (FPUs), network processors, or application-specific integrated circuits (ASICs). In some instances, special purpose processors may be capable of image processing, image alignment, and merging images, among other possibilities. Data storage 208 may include one or more volatile and / ornon-volatile storage components, such as magnetic, optical, flash, or organic storage, and may be integrated in whole or in part with processor 206. Data storage 208 may include removable and / or non-removable components.

[0043] Processor 206 may be capable of executing program instructions 218 (e.g., compiled or non-compiled program logic and / or machine code) stored in data storage 208 to carry out the various functions described herein. Therefore, data storage 208 may include a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by computing system 200, cause computing system 200 to carry out any of the methods, processes, or operations disclosed in this specification and / or the accompanying drawings. The execution of program instructions 218 by processor 206 may result in processor 206 using data 212.

[0044] By way of example, program instructions 218 may include an operating system 222 (e.g., an operating system kernel, device driver(s), and / or other modules) and one or more application programs 220 (e.g., camera functions, address book, email, web browsing, social networking, audio-to-text functions, text translation functions, and / or gaming applications) installed on computing system 200. Similarly, data 212 may include operating system data 216 and application data 214. Operating system data 216 may be accessible primarily to operating system 222, and application data 214 may be accessible primarily to one or more of application programs 220. Application data 214 may be arranged in a file system that is visible to or hidden from a user of computing system 200.

[0045] Application programs 220 may communicate with operating system 222 through one or more application programming interfaces (APIs). These APIs may facilitate, for instance, application programs 220 reading and / or writing application data 214, transmitting or receiving information via communication interface 202, receiving and / or displaying information on user interface 204, and so on.

[0046] In some cases, application programs 220 may be referred to as “apps” for short. Additionally, application programs 220 may be downloadable to computing system 200 through one or more online application stores or application markets. However, application programs can also be installed on computing system 200 in other ways, such as via a web browser or through a physical interface (e.g., a USB port) on computing system 200.

[0047] Camera components 224 may include, but are not limited to, an aperture, shutter, recording surface (e.g., photographic film and / or an image sensor), lens, shutter button, infrared projectors, and / or visible-light projectors. Camera components 224 may include components configured for capturing of images in the visible-light spectrum (e.g.,electromagnetic radiation having a wavelength of 380 - 700 nanometers) and / or components configured for capturing of images in the infrared light spectrum (e.g., electromagnetic radiation having a wavelength of 701 nanometers - 1 millimeter), among other possibilities. Camera components 224 may be controlled at least in part by software executed by processor 206.

[0048] Histogram processing algorithm(s) 226 may include one or more stored algorithms programmed to process histogram information to facilitate autofocus as described herein. In some examples, histogram processing algorithm(s) 226 may include one or more trained machine learning models. In other examples, histogram processing algorithm(s) 226 may be based on heuristics without the use of machine learning. In further examples, a combination of different types of histogram processing algorithm(s) 226 may be used as well.

[0049] In further examples, one or more remote cameras 230 may be controlled by computing system 200. For instance, computing system 200 may transmit control signals to the one or more remote cameras 230 through a wireless or wired connection. Such signals may be transmitted as part of an ambient computing environment. In such examples, inputs received at the computing system 200 (for instance, physical movements of a wearable device) may be mapped to movements or other functions of the one or more remote cameras 230. Images captured by the one or more remote cameras 230 may be transmitted to the computing system 200 for further processing. Such images may be treated as images captured by cameras physically located on the computing system 200.

[0050] Figure 3 shows diagram 300 illustrating a training phase 302 and an inference phase 304 of trained machine learning model(s) 332, in accordance with example embodiments. Some machine learning techniques involve training one or more machine learning algorithms on an input set of training data to recognize patterns in the training data and provide output inferences and / or predictions about (patterns in the) training data. The resulting trained machine learning algorithm can be termed as a trained machine learning model. For example, Figure 3 shows training phase 302 where one or more machine learning algorithms 320 are being trained on training data 310 to become trained machine learning model 332. Producing trained machine learning model(s) 332 during training phase 302 may involve determining one or more hyperparameters, such as one or more stride values for one or more layers of a machine learning model as described herein. Then, during inference phase 304, trained machine learning model 332 can receive input data 330 and one or more inference / prediction requests 340 (perhaps as part of input data 330) and responsively provide as an output one or more inferences and / or predictions 350. The one or more inferences and / orpredictions 350 may be based in part on one or more learned hyperparameters, such as one or more learned stride values for one or more layers of a machine learning model as described herein

[0051] As such, trained machine learning model(s) 332 can include one or more models of one or more machine learning algorithms 320. Machine learning algorithm(s) 320 may include, but are not limited to: an artificial neural network (e.g., a herein-described convolutional neural networks, a recurrent neural network, a Bayesian network, a hidden Markov model, a Markov decision process, a logistic regression function, a support vector machine, a suitable statistical machine learning algorithm, and / or a heuristic machine learning system). Machine learning algorithm(s) 120 may be supervised or unsupervised, and may implement any suitable combination of online and offline learning.

[0052] In some examples, machine learning algorithm(s) 320 and / or trained machine learning model(s) 332 can be accelerated using on-device coprocessors, such as graphic processing units (GPUs), tensor processing units (TPUs), digital signal processors (DSPs), and / or application specific integrated circuits (ASICs). Such on-device coprocessors can be used to speed up machine learning algorithm(s) 320 and / or trained machine learning model(s) 332. In some examples, trained machine learning model(s) 332 can be trained, reside and execute to provide inferences on a particular computing device, and / or otherwise can make inferences for the particular computing device.

[0053] During training phase 302, machine learning algorithm(s) 320 can be trained by providing at least training data 310 as training input using unsupervised, supervised, semisupervised, and / or reinforcement learning techniques. Unsupervised learning involves providing a portion (or all) of training data 310 to machine learning algorithm(s) 320 and machine learning algorithm(s) 320 determining one or more output inferences based on the provided portion (or all) of training data 310. Supervised learning involves providing a portion of training data 310 to machine learning algorithm(s) 320, with machine learning algorithm(s) 320 determining one or more output inferences based on the provided portion of training data 310, and the output inference(s) are either accepted or corrected based on correct results associated with training data 310. In some examples, supervised learning of machine learning algorithm(s) 320 can be governed by a set of rules and / or a set of labels for the training input, and the set of rules and / or set of labels may be used to correct inferences of machine learning algorithm(s) 320.

[0054] Semi-supervised learning involves having correct results for part, but not all, of training data 310. During semi-supervised learning, supervised learning is used for a portionof training data 310 having correct results, and unsupervised learning is used for a portion of training data 310 not having correct results.

[0055] Reinforcement learning involves machine learning algorithm(s) 320 receiving a reward signal regarding a prior inference, where the reward signal can be a numerical value. During reinforcement learning, machine learning algorithm(s) 320 can output an inference and receive a reward signal in response, where machine learning algorithm(s) 320 are configured to try to maximize the numerical value of the reward signal. In some examples, reinforcement learning also utilizes a value function that provides a numerical value representing an expected total of the numerical values provided by the reward signal over time. In some examples, machine learning algorithm(s) 320 and / or trained machine learning model(s) 332 can be trained using other machine learning techniques, including but not limited to, incremental learning and curriculum learning.

[0056] In some examples, machine learning algorithm(s) 320 and / or trained machine learning model(s) 332 can use transfer learning techniques. For example, transfer learning techniques can involve trained machine learning model(s) 332 being pre-trained on one set of data and additionally trained using training data 310. More particularly, machine learning algorithm(s) 320 can be pre-trained on data from one or more computing devices and a resulting trained machine learning model provided to computing device CD1, where CD1 is intended to execute the trained machine learning model during inference phase 304. Then, during training phase 302, the pre-trained machine learning model can be additionally trained using training data 310. This further training of the machine learning algorithm(s) 320 and / or the pre-trained machine learning model using training data 310 of CDl’s data can be performed using either supervised or unsupervised learning. Once machine learning algorithm(s) 320 and / or the pretrained machine learning model has been trained on at least training data 310, training phase 302 can be completed. The trained resulting machine learning model can be utilized as at least one of trained machine learning model(s) 332.

[0057] In particular, once training phase 302 has been completed, trained machine learning model(s) 332 can be provided to a computing device, if not already on the computing device. Inference phase 304 can begin after trained machine learning model(s) 332 are provided to computing device CD1.

[0058] During inference phase 304, trained machine learning model(s) 332 can receive input data 330 and generate and output one or more corresponding inferences and / or predictions 350 about input data 330. As such, input data 330 can be used as an input to trained machine learning model(s) 332 for providing corresponding inference(s) and / or prediction(s)350. For example, trained machine learning model(s) 332 can generate inference(s) and / or predict! on(s) 350 in response to one or more inference / prediction requests 340. In some examples, trained machine learning model(s) 332 can be executed by a portion of other software. For example, trained machine learning model(s) 332 can be executed by an inference or prediction daemon to be readily available to provide inferences and / or predictions upon request. Input data 330 can include data from computing device CD1 executing trained machine learning model(s) 332 and / or input data from one or more computing devices other than CD1.

[0059] Figure 4 is a flow chart of a method, in accordance with example embodiments. Method 400 may be executed by one or more computing systems (e.g., computing system 200 of Figure 2) and / or one or more processors (e.g., processor 206 of Figure 2). Method 400 may be carried out on a computing system, such as computing system 100 of Figure 1.

[0060] In some examples, method 400 may be executed by a system that includes a mobile device. The mobile device may include one or more cameras and / or one or more computing systems. Additionally and / or alternatively, the mobile device may communicate with one or more sensors and / or one or more cameras remote from the device. The mobile device may receive information transmitted by the sensors and / or cameras, and the mobile device may then use the information for the process described herein.

[0061] At block 402, method 400 may include receiving one or more images of a scene from a camera. The camera may be part of a mobile device, as described above. In some examples, the computing system may include a plurality of cameras, perhaps with various focal lengths. For example, the computing system may include a wide angle lens and / or a zoom lens, and the computing system may transition from using a lens from one focal length to one of another focal length.

[0062] A user may be in an environment and taking one or more images of themselves and / or of the environment. For example, Figure 5 depicts capturing an image, in accordance with example embodiments. A user taking an image of environment 500 may attempt to capture the environment and / or a subject (e.g., a person) in the environment. However, due to camera constraints and / or other constraints, it may be difficult for the user to capture an ideal image. For example, an ideal image in environment 500 may have both the subject and the background in focus.

[0063] To determine such an image, the computing system may apply an image processing operation to merge an image with the background in focus and another image with the subject in focus. However, such image processing operations may take significantprocessing power, reducing the battery life and increasing latency. In particular, merging the two images may involve segmenting the images and overlaying or otherwise replacing the subject in the image with the background in focus. Alternatively, merging the two images may involve transferring the details of the image with the background in focus to the image with the subject in focus. In either case, merging the images may take significant processing power and / or time, causing increased latency and / or reduced battery life.

[0064] Further, such image processing operations may only apply to select images. For instance, in the example above, it may be useful to have the foreground and the background in focus. However, it may be useful for some images to have only the foreground be in focus, whereas the background is blurred, and vice versa. In some images of scenery, a user may wish to revise parts of the image so that one or more subjects in the image no longer appear. An image processing operation doing so may also be power intensive and may apply only to certain images. Accordingly, to reduce power consumption and latency and to facilitate capturing ideal pictures, the computing system may attempt to selectively apply the image processing operations as described herein.

[0065] Referring back to Figure 4, at block 404, method 400 may include receiving one or more indications of camera operator behavior during image capture of the one or more images. These indications may include sensor data and / or data from one or more background processes.

[0066] Figure 6 depicts a block diagram of camera operator behavior, in accordance with example embodiments. As depicted by camera operator behavior block 600 in Figure 6, camera operator behavior 600 may include history of previous captures block 602, sensor data block 604, camera parameters block 606, and face detection block 608. At each block of camera operator behavior 600, the computing system may analyze a stream of images, including one or more images. The computing system may analyze each image for various indications of camera operator behavior. Additionally and / or alternatively, the computing system may analyze and / or deduce camera operator behavior by comparing images in the stream of images with subsequent images or images associated with particular characteristics (e.g., face, location, etc.). Based on the analysis at camera operator block 600, the computing system may determine whether to apply one or more image processing operations.

[0067] At history of previous captured block 602, the computing system may compare a captured image to a subsequent captured image, which may be compared to a subsequent captured image, and so on. The computing system may determine the time between the captures, whether the images are of the same subject matter, whether the images are taken withsimilar camera parameters, whether the images are taken at approximately the same location, and / or whether the images are taken of approximately the same scene.

[0068] At sensor data block 604, the computing system may receive sensor data including gyroscope sensor data, accelerometer sensor data, and / or geolocation data. In some examples, the computing system may include a gyroscope, an accelerometer, and / or a geolocation sensor.

[0069] At camera parameters block 606, the computing system may determine camera parameters with which the images were taken. For example, the computing system may determine that a particular image was taken with a particular area in focus. The computing system may also determine the shutter speed used to capture the image or other exposure settings used to capture the image. Additionally and / or alternatively, the computing system may receive or otherwise determine which camera is being used to capture the image. In some examples, the computing system may determine whether the image is a high dynamic range image, where areas of the image are very bright and / or areas of the image are very dark. Other examples may be possible.

[0070] At face detection block 608, the computing system may detect one or more faces in the image. In some examples, the computing system may determine a number of faces included in the image, which may then be used to infer whether the image is important. Additionally and / or alternatively, the computing system may determine that a face in the image is similar to a face taken in a previous image and deduce that both images are of the same person. Additionally and / or alternatively, the computing system may associate a name or an identifier with the face.

[0071] In some examples, the operations at camera operator behavior block 600 may include data that takes a significant amount of processing power to obtain. Therefore, the computing system may rely on statistics and / or other data determined using one or more background processes. For example, the computing system may automatically associate one or more camera parameters with the image during routine post-processing of the captured image. As another example, the computing system may also detect and / or identify one or more faces in a captured image during routine post processing of the captured images, and the computing system may use data from the routine post-processing of these captured images as an indication of camera operator behavior.

[0072] Further, determining or otherwise receiving indications of camera operator behavior may be facilitated by hardware, including, for example, one or more sensors and / or one or more processors on the computing system. In particular, the computing system mayinclude one or more gyroscopes, one or more accelerometers, and / or one or more geolocation sensors, and the computing system may collect data from these sensors after capturing an image. In some examples, the computing system may also include one or more hardware processors, such as image signal processors (ISPs), designed to execute machine learning models, such as facial recognition and / or segmentation. These hardware processors may execute machine learning models in a more efficient manner than traditional hardware processors, and the computing system may use these hardware processors to determine or otherwise receive indications of camera operator behavior.

[0073] In some examples, the computing system may combine the analysis at camera operator behavior 600 (e.g., history of previous captures block 602, sensor data block 604, camera parameters block 606, and face detection block 608). For example, the computing system may run facial detection and / or facial recognition on images from history of previous captures block 602 to obtain data at face detection block 608.

[0074] Referring back to Figure 4, at block 406, method 400 may include implicitly inferring an importance of the scene based on the one or more indications of camera operator behavior. In particular, implicitly inferring an importance of a scene may involve combining and / or comparing the indications of camera operator behavior, including, for example, a user taking multiple pictures of a similar scene. As provided below, implicitly inferring the importance of a scene may be based on one or more images. In some examples, indications of camera operator behavior may be based on one or more images or otherwise include indications of one or more images.

[0075] Figure 7 depicts timeline 700, in accordance with example embodiments. Timeline 700 includes image 702, image 704, image 706, image 708, and image 710. As shown, image 702 may have been taken at 5:00PM, while images 704, 706, 708, and 710 may have been taken between 5: 10 and 5: 12. The computing system may implicitly infer that the scene depicted by images 704, 706, 708, and 710 is important. In particular, the computing system may determine that during a threshold period of time, the computing system received above a threshold number of images. Receiving above a threshold number of images during a threshold period of time may indicate that the user is attempting to take an important image and / or that an unsatisfactory image is being captured. The computing system may take an action based on such a determination.

[0076] As another example, the computing system may receive images 702, 704, 706, 708, and 710, and the computing system may compare images 702, 704, 706, 708, and 710 to determine whether one or more of them are similar. The computing system may determine thatimages 704, 706, 708, and 710 depict substantially the same scene and / or subject. Based on that determination, the computing system may implicitly infer that the scene and / or subject is important. The computing system may also use one or more indications of camera operator behavior as described above to deduce that images 704, 706, 708, and 710 are of substantially the same scene and / or subject and implicitly infer that the scene and / or subject is important.

[0077] For example, as described above, indications of camera operator behavior may include sensor data, which the computing system may then use to infer the importance of a scene. As described above, sensor data may include gyroscope data, accelerometer data, geolocation data, among other examples. The computing system may determine that the gyroscope data for a particular period of time is relatively similar, that the accelerometer data for a particular period of time is relatively similar, and that the geolocation data for a particular period of time is also relatively similar. Based on these determinations, the computing system may implicitly infer that the scene is important, as the camera stays in relatively the same location and / or orientation for the particular period of time.

[0078] Implicitly inferring that the scene is important may or may not involve capturing images. For example, the computing system may receive images from a camera, and the computing system may display the images to the user without capturing or otherwise storing the images. In particular, the computing system may infer that the scene and / or subject is important when multiple images are captured of a particular scene and / or subject. However, in addition, the computing system may infer that the scene and / or subject is important when the camera is held at a particular orientation and / or in a particular position for a threshold amount of time.

[0079] Further, the computing system may detect user behavior. For example, the computing system may receive gyroscope data and / or accelerometer sensor data with slight variations from each other (e.g., within a threshold standard deviation of an average), and the computing system may determine that the variations are from handheld jitter from a user holding the computing system and / or camera. If the computing system determines that the handheld jitter occurs for at least a threshold amount of time, and the computing system and / or camera is being held at substantially the same location, the computing system may implicitly infer that the scene is important.

[0080] In some examples, the computing system may receive indications of camera operation behavior including geolocation data. Based on the geolocation data, the computing system may determine a location of the user, which the computing system may then use to infer the importance of the scene. For example, based on the geolocation data, the computing systemmay determine that the user is in a national park, which may be a location where extended depth of field is typically useful. The computing system may combine this determination with one or more other indications of camera operator behavior (e.g., determining that the image includes a person) to implicitly infer that the scene is important, and that the computing system should apply extended depth of field processing or other image processing operations.

[0081] In some examples, the computing system may implicitly infer the importance of a scene based on applying a machine learning model to the camera operator behavior. For example, the computing system may input the history of previous captures, sensor data, camera parameters, and / or face detection data into a machine learning model, which may facilitate determining whether an image or a group of images is important.

[0082] The computing system may implicitly infer camera processing behavior in such a way that is not dependent on explicit user interaction with a user interface of the computing system. In particular, a user interface may include a menu option indicating importance, and implicitly inferring the importance of a scene is not based on user interaction with an explicit menu option indicating importance. Further, the user interface may include a graphical user interface through which a user may request a particular image processing operation, and implicitly inferring camera operator behavior may not depend on receiving an indication of such behavior. For example, the computing system may detect that the user is attempting to zoom by a particular amount, and to facilitate capturing an image at that zoom ratio, the computing system may use additional processing power. Accordingly, an advantage of some methods described herein is that a user interface may be uncluttered by menu options of importance or various post processing requests. Rather, the computing system may infer the importance of a scene and selectively apply an image processing operation.

[0083] Referring back to Figure 4, at block 408, method 400 may include, based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images. As mentioned above, the image processing operation may include processes that are power intensive and / or high latency.

[0084] Figure 8 depicts an image processing operation, in accordance with example embodiments. As shown in Figure 8, image 802 may have the person in focus and image 804 may have the background in focus. The computing system may input images 802 and 804 into image processing operation 810, which may merge images 802 and 804 into image 806. Image 806 may thus have the foreground and the background in focus and may be saved and / or displayed to the user.

[0085] Image processing operation 810 may include one or more other operations. For example, image processing operation 810 may include operations that use one or more images captured using different exposure settings or at different frame positions. The images may be captured at different shutter speeds, focal lengths, among other settings, which may affect the exposure of the image. Further, the computing system may capture each of the images using one or more different cameras at different focal lengths or zoom ratios. When the image processing operation is triggered, the computing system may transfer details from one image to another image or otherwise merge the images to create one frame.

[0086] The image processing operations may involve one or more images that were used to infer the importance of user behavior and / or one or more additional images. For example, upon implicitly inferring that the scene is important, the computing system may apply the image processing operations to the images that have already been taken (e.g., images 704, 706, 708, and / or 710 of Figure 7). Additionally and / or alternatively, upon implicitly inferring that the scene is important, the computing system may trigger the image processing operations to the scene that is being displayed while the user is attempting to capture the additional images, and the computing system may save or otherwise capture the post-processed images upon user request. Further additionally and / or alternatively, the computing system may apply the post processing operations to the one or more images that were used to infer the importance of user behavior and one or more additional images.

[0087] In some examples, image processing operation 810 may involve applying a machine learning model to one or more images. For example, to determine an extended depth of field image, the computing system may input an image into a machine learning model, and the machine learning model may output an image where all parts of the image are in focus. Additionally and / or alternatively, the computing system may input additional images into the machine learning model to determine a processed image.

[0088] Further, in some examples, image processing operation 810 may involve a segmentation process. As mentioned above, the segmentation process may involve segmenting one or more images. For example, for images 802 and 804, the computing system may segment a foreground of the image and a background of the image. With the foreground separated from the background, the computing system may overlay a foreground of image 802 with the foreground of image 804. Alternatively, the computing system may replace the background of image 804 with that of image 802. Segmenting the image may involve one or more alternatives and / or one or more additional areas. For example, instead of segmenting the images intoforeground and background, the computing system may segment the image into mountains, trees, people, and sky.

[0089] In some examples, the computing system may select image processing operation 810 from among a plurality of image processing operations based on the one or more captured images, the indications of camera operator behavior, and / or the inferred importance of the scene. For example, each image processing operation from the plurality of image processing operations may be associated with a particular post-processing type, and the computing system may implicitly infer which post-processing type is to be applied to the images. For example, in the case of images 802 and 804 where image 802 has an out of focus background and image 804 has an out of focus foreground, the computing system may implicitly infer that an image processing operation associated with merging two images or otherwise transferring details from one image to another image should be applied.

[0090] To facilitate ideal power consumption and latency, the image processing operation or a particular image processing operation may only occur for less than a threshold percentage of images captured by the camera or less than a threshold amount of time that the camera is being used. Such a limitation would allow for the computing system to apply computationally intensive image processing operations to various images, while limiting power consumption and latency.

[0091] Referring back to Figure 4, in some examples, receiving the one or more indications of camera operator behavior comprises receiving at least one of gyroscope sensor data, accelerometer sensor data, camera operation parameters, geolocation data, face detection data, or history of previous captures.

[0092] In some examples, implicitly inferring the importance of the scene is further based on the one or more images.

[0093] In some examples, receiving the one or more indications of camera operator behavior comprises receiving a plurality of images including the one or more images, wherein implicitly inferring the importance of the scene comprises determining that the plurality of images depict substantially the same scene.

[0094] In some examples, implicitly inferring the importance of the scene further comprises determining that a number of the plurality of images is greater than a threshold number of images.

[0095] In some examples, receiving one or more indications of camera operator behavior comprises receiving an indication of one or more subjects in the image and that theplurality of images depict substantially the same subject based on the indication of the one or more subjects in the images.

[0096] In some examples, receiving one or more indications of camera operator behavior comprises receiving an indication of one or more subjects in the image, wherein implicitly inferring the importance of the scene comprises determining that a plurality of captured images depict a same subject of the one or more subjects.

[0097] In some examples, implicitly inferring the importance of the scene comprises determining one or more statistics using the one or more images as inputs to one or more background processes.

[0098] In some examples, implicitly inferring the importance of the scene is not based on user interaction with an explicit menu option to indicate importance.

[0099] In some examples, the image processing operation comprises a computationally inexpensive image processing operation and a computationally expensive image processing operation, wherein triggering application of the image processing operation comprises triggering application of the computationally expensive image processing operation.

[0100] In some examples, the image processing operation involves at least one machine learning model.

[0101] In some examples, the image processing operation involves a segmentation process.

[0102] In some examples, triggering application of the image processing operation to at least one of the one or more images comprises triggering application of the image processing operation to a plurality of images.

[0103] In some examples, the plurality of images includes at least two images captured using different exposure settings or at different frame positions.

[0104] In some examples, the image processing operation involves merging the plurality of images into a single image.

[0105] In some examples, the plurality of images includes a first image and a second image, wherein the image processing operation involves transferring image details from the first image to the second image.

[0106] In some examples, triggering application of an image processing operation to at least one of the one or more images occurs to less than a threshold percentage of images received from the camera.

[0107] In some examples, triggering application of the image processing operation to at least one of the one or more images comprises selecting an image processing operation fromamong a plurality of image processing operations based on the implicitly inferred importance of the scene, and triggering application of the selected image processing operation to the at least one of the one or more images.

[0108] In some examples, a computing system is configured to carry out the method of Figure 4.

[0109] In some examples, the one or more indications of camera operator behavior during image capture of the one or more images comprises an indication of the orientation of the camera.

[0110] In some examples, the computing system comprises an additional camera, wherein the computing system is further configured to receive one or more additional images from the additional camera, wherein triggering application of the image processing operation comprises applying the image processing operation to the at least one of the one or more images and at least one of the one or more additional images.[OHl] In some examples, a non-transitory computer readable medium comprising program instructions executable by one or more processors to perform operations, the operations comprising the method of Figure 4.III. Conclusion

[0112] The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those described herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims.

[0113] The above detailed description describes various features and operations of the disclosed systems, devices, and methods with reference to the accompanying figures. In the figures, similar symbols typically identify similar components, unless context dictates otherwise. The example embodiments described herein and in the figures are not meant to be limiting. Other embodiments can be utilized, and other changes can be made, without departing from the scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations.

[0114] With respect to any or all of the message flow diagrams, scenarios, and flow charts in the figures and as discussed herein, each step, block, and / or communication can represent a processing of information and / or a transmission of information in accordance with example embodiments. Alternative embodiments are included within the scope of these example embodiments. In these alternative embodiments, for example, operations described as steps, blocks, transmissions, communications, requests, responses, and / or messages can be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved. Further, more or fewer blocks and / or operations can be used with any of the message flow diagrams, scenarios, and flow charts discussed herein, and these message flow diagrams, scenarios, and flow charts can be combined with one another, in part or in whole.

[0115] A step or block that represents a processing of information may correspond to circuitry that can be configured to perform the specific logical functions of a herein-described method or technique. Alternatively or additionally, a block that represents a processing of information may correspond to a module, a segment, or a portion of program code (including related data). The program code may include one or more instructions executable by a processor for implementing specific logical operations or actions in the method or technique. The program code and / or related data may be stored on any type of computer readable medium such as a storage device including random access memory (RAM), a disk drive, a solid state drive, or another storage medium.

[0116] The computer readable medium may also include non-transitory computer readable media such as computer readable media that store data for short periods of time like register memory, processor cache, and RAM. The computer readable media may also include non-transitory computer readable media that store program code and / or data for longer periods of time. Thus, the computer readable media may include secondary or persistent long term storage, like read only memory (ROM), optical or magnetic disks, solid state drives, compactdisc read only memory (CD-ROM), for example. The computer readable media may also be any other volatile or non-volatile storage systems. A computer readable medium may be considered a computer readable storage medium, for example, or a tangible storage device.

[0117] Moreover, a step or block that represents one or more information transmissions may correspond to information transmissions between software and / or hardware modules in the same physical device. However, other information transmissions may be between software modules and / or hardware modules in different physical devices.

[0118] The particular arrangements shown in the figures should not be viewed as limiting. It should be understood that other embodiments can include more or less of each element shown in a given figure. Further, some of the illustrated elements can be combined or omitted. Yet further, an example embodiment can include elements that are not illustrated in the figures.

[0119] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for the purpose of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.

Claims

CLAIMS1. A method comprising: receiving one or more images of a scene from a camera; receiving one or more indications of camera operator behavior during image capture of the one or more images; implicitly inferring an importance of the scene based on the one or more indications of camera operator behavior; and based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.

2. The method of claim 1, wherein implicitly inferring the importance of the scene is further based on the one or more images.

3. The method of claim 1 , wherein receiving the one or more indications of camera operator behavior comprises receiving at least one of gyroscope sensor data, accelerometer sensor data, camera operation parameters, geolocation data, face detection data, or history of previous captures.

4. The method of claim 1, wherein receiving the one or more indications of camera operator behavior comprises receiving a plurality of images including the one or more images, wherein implicitly inferring the importance of the scene comprises determining that the plurality of images depict substantially the same scene and that a number of the plurality of images is greater than a threshold number of images.

5. The method of claim 1, wherein receiving one or more indications of camera operator behavior comprises receiving an indication of one or more subjects in the image, wherein implicitly inferring the importance of the scene comprises determining that a plurality of captured images depict a same subject of the one or more subjects.

6. The method of claim 1, wherein receiving the one or more indications of camera operator behavior comprise receiving sensor data, wherein implicitly inferring the importance of the scene based on the one or more images comprises: based on the sensor data, determining that the camera operator held the camera in substantially the same position for a length of time; anddetermining that the length of time is greater than a threshold length of time.

7. The method of claim 1, wherein implicitly inferring the importance of the scene comprises determining one or more statistics using the one or more images as inputs to one or more background processes.

8. The method of claim 1, wherein implicitly inferring the importance of the scene is not based on user interaction with an explicit menu option to indicate importance.

9. The method of claim 1, wherein the image processing operation comprises a computationally inexpensive image processing operation and a computationally expensive image processing operation, wherein triggering application of the image processing operation comprises triggering application of the computationally expensive image processing operation.

10. The method of claim 1 , wherein the image processing operation involves at least one machine learning model or a segmentation process.

11. The method of claim 1, wherein triggering application of the image processing operation to at least one of the one or more images comprises triggering application of the image processing operation to a plurality of images.

12. The method of claim 11, wherein the plurality of images includes at least two images captured using different exposure settings or at different frame positions.

13. The method of claim 11, wherein the image processing operation involves merging the plurality of images into a single image.

14. The method of claim 11, wherein the plurality of images includes a first image and a second image, wherein the image processing operation involves transferring image details from the first image to the second image.

15. The method of claim 1, wherein triggering application of an image processing operation to at least one of the one or more images occurs for less than a threshold percentage of images received from the camera.

16. The method of claim 1, wherein triggering application of the image processing operation to at least one of the one or more images comprises: selecting an image processing operation from among a plurality of image processing operations based on the implicitly inferred importance of the scene, and triggering application of the selected image processing operation to the at least one of the one or more images.

17. A computing system configured to: receive one or more images of a scene from a camera; receive one or more indications of camera operator behavior during image capture of the one or more images; implicitly infer an importance of the scene based on the one or more indications of camera operator behavior; and based on the implicitly inferred importance of the scene, trigger application of an image processing operation to at least one of the one or more images.

18. The computing system of claim 17, wherein the one or more indications of camera operator behavior during image capture of the one or more images comprises an indication of the orientation of the camera.

19. The computing system of claim 17, wherein the computing system comprises an additional camera, wherein the computing system is further configured to: receive one or more additional images from the additional camera, wherein triggering application of the image processing operation comprises applying the image processing operation to the at least one of the one or more images and at least one of the one or more additional images.

20. A non-transitory computer readable medium comprising program instructions executable by one or more processors to perform operations, the operations comprising: receiving one or more images of a scene from a camera; receiving one or more indications of camera operator behavior during image capture of the one or more images;implicitly inferring an importance of the scene based on the one or more images or the one or more indications of camera operator behavior; and based on the implicitly inferred importance of the scene, triggering application of an image processing operation to at least one of the one or more images.

Citation Information

Patent Citations

  • Method for controlling a camera based on processing an image captured by other camera

    EP3134850B1

  • Wearable Camera for Reporting the Time Based on Wrist-Related Trigger

    US20170024612A1

  • Automatic camera guidance and settings adjustment

    US20210368094A1

  • Object Monitoring System and Methods

    US20220019810A1