Cyclic implementation of image classification based on user familiarity

By classifying images and determining user familiarity, the electronic device optimizes resource use by reducing unnecessary image classification after user familiarity is established, improving efficiency and battery life.

JP7617259B2Active Publication Date: 2025-01-17GOOGLE LLC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023522530
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-10-13
Publication Date
2025-01-17
Estimated Expiration
2040-10-13

AI Technical Summary

Technical Problem

Performing constant image classification on image files to determine which functions can be performed consumes significant computing resources and drains battery power.

Method used

An electronic device performs image classification and determines user familiarity with functions by receiving user selections, generating prompts only when necessary, and terminating classification once user familiarity is established, thereby reducing resource consumption.

Benefits of technology

Reduces computing resource consumption and battery drain by minimizing unnecessary image classification after user familiarity is confirmed, enhancing efficiency and battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007617259000001
    Figure 0007617259000001
  • Figure 0007617259000002
    Figure 0007617259000002
  • Figure 0007617259000003
    Figure 0007617259000003
Patent Text Reader

Abstract

The computing system may perform image classification within the displayed image, determine while performing the image classification that a first object of the object class is present within the displayed image, present a prompt within the displayed image, receive a selection of the first object from the user in response to the prompt, perform a function on the first object in response to receiving the selection of the first object, determine that the user is familiar with the function based on the selection of the first object in response to the prompt, terminate performing image classification within the displayed image based on determining that the user is familiar with the function, and perform a function on the second object in response to the user selecting a second object of the object class within the displayed image.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Technical Field The present description relates to performing functions on images. [Background technology]

[0002] background Various functions can be performed on image files, such as optical character recognition or scanning. Constantly running image classification on these files to determine what functions can be performed can consume computing resources. Summary of the Invention

[0003] overview According to one example, a non-transitory computer-readable storage medium has instructions stored thereon that, when executed by at least one processor, may be configured to cause a computing system to perform image classification within a displayed image, determine while performing the image classification that a first object of an object class is present within the displayed image, generate a prompt, receive a selection of the first object from a user, perform a function on the first object in response to receiving the selection of the first object, determine based on the selection of the first object that the user is familiar with the function, terminate performance of image classification within the displayed image based on determining that the user is familiar with the function, and perform the function on the second object in response to receiving a selection of a second object of the object class within the displayed image.

[0004] According to an example, a computing system may include at least one processor and a non-transitory computer-readable storage medium having instructions stored thereon, which when executed by the at least one processor may be configured to cause the computing system to perform image classification within a displayed image, determine while performing the image classification that a first object of an object class is present within the displayed image, generate a prompt, receive a selection of the first object from a user, perform a function on the first object in response to receiving the selection of the first object, determine based on the selection of the first object that the user is familiar with the function, terminate performance of image classification within the displayed image based on determining that the user is familiar with the function, and perform the function on the second object in response to receiving a selection of a second object of the object class within the displayed image.

[0005] The method may include a computing system performing image classification within a displayed image; determining while performing the image classification that a first object of an object class is present within the displayed image; generating a prompt; receiving a selection of the first object from a user; performing a function on the first object in response to receiving the selection of the first object; determining based on the selection of the first object that the user is familiar with the function; terminating performance of image classification within the displayed image based on determining that the user is familiar with the function; and performing the function on the second object in response to receiving a selection of a second object of the object class within the displayed image.

[0006] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the following description and drawings, and from the claims. [Brief description of the drawings]

[0007] [Figure 1A] FIG. 1 illustrates an electronic device presenting a first object in a display. [Figure 1B] FIG. 1 illustrates an electronic device presenting a prompt associated with a first object. [Figure 1C] FIG. 2 illustrates an electronic device with a user selecting a first object. [Figure 1D] FIG. 2 illustrates an electronic device after a function has been performed on a first object. [Figure 1E] FIG. 1 illustrates an electronic device presenting a second object in the display. [Figure 1F] FIG. 1 illustrates an electronic device with a user selecting a second object. [Figure 1G] FIG. 13 illustrates the electronic device after a function has been performed on a second object. [Diagram 2] FIG. 1 is a block diagram of an electronic device. [Diagram 3] 1 is a flowchart of a method performed by an electronic device. [Figure 4] 1 is a flowchart of a method performed by an electronic device. [Diagram 5] FIG. 1 illustrates an example of a computing device and a mobile computing device that can be used to implement the techniques described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Like reference numbers refer to like elements. Detailed Description An electronic device such as a smartphone, by itself or in communication with a server, can perform functions on objects and / or images displayed by the electronic device. These functions may include, for example, performing Optical Character Recognition (OCR) on text contained in the image, scanning a document contained in the image, identifying a person, animal or monument contained in the image, initiating a communication (such as an email or a phone call) based on contact information contained in the image, or decoding a barcode contained in the image. One or more of these functions can be performed within a visual search application. One or more of these functions can be performed in connection with an augmented reality environment and / or application.

[0009] The user may not initially know what functions the electronic device can perform on an object in an image (e.g., an image captured during an augmented reality interaction and / or session). The electronic device may instruct and / or train the user that the electronic device performs a function on the object by performing image classification on the object, and if the electronic device can perform a function on an object class to which the electronic device determines the object belongs, the electronic device may present a prompt for the user to select the object. The user may interact with either or both the prompt and the object, and / or may select either or both the prompt and the object. The electronic device may perform a function on the object in response to the user selecting the object. One or more of these features above may be performed in association with visual exploration (e.g., augmented reality visual exploration).

[0010] Performing image classification may consume computing resources, such as processor resources, memory resources, and / or drain the battery of the electronic device. To reduce the consumption of computing resources, the electronic device may stop and / or terminate performing image classification when a user becomes familiar with a function. The electronic device may determine that a user is familiar with a function based on a history of receiving a selection of an object by the electronic device and / or a history of presenting a prompt to the user by the electronic device to prompt the electronic device to perform a function. The user may select an object without a prompt and / or without the electronic device performing image classification, and the electronic device may respond to receiving the selection of the object by performing a function corresponding to the object class of the selected object. In some examples, the electronic device may perform image classification on the selected object after receiving the selection of the object.

[0011] 1A is a diagram illustrating an electronic device 100 presenting a first object 104A in a display 102. The electronic device 100 may include, for example, by way of non-limiting example, a smartphone, a tablet computer, a phablet, a notebook or laptop computer, or a desktop computer.

[0012] The electronic device 100 may include a display 102. The display 102 may present, display, and / or output graphical output and / or one or more images. In some examples, the display 102 may include a touch screen that receives and / or processes touch input from a user.

[0013] The images displayed and / or presented by the display 102 may include one or more objects 104A. The objects 104A may include, for example and without limitation, text, bar codes and / or Quick Response (QR) codes, documents such as text documents or image documents, people and animals or monuments.

[0014] The electronic device 100 may perform image classification on portions of an image presented by the display 102 and / or on portions of one or more objects, such as the object 104A, included in the image presented on the display 102. The electronic device 100 may determine whether an object, such as the object 104A, is an object of an object class for which the electronic device 100 can perform a function. In some examples, the electronic device 100 may determine whether objects of any of a plurality of object classes are present in the image displayed by the display 102. In some examples, each object class may correspond to a single function that the electronic device 100 can perform on the object. In some examples, one or more functions may be performed on objects of more than one object class. In this example, the electronic device 100 determines that the object 104A is a member of an object class and / or that an object 104 of that object class is present in the image displayed by the display 102.

[0015] 1B illustrates the electronic device 100 presenting a prompt 106 associated with the first object 104A. Presenting a prompt in a display is an example of generating a prompt. Other examples of generated prompts include auditory and / or verbal prompts (such as a voice speaking words instead of and / or in addition to text) and / or haptic feedback from the display 102. The prompt 106 can indicate a function that the electronic device 100 performs on the first object 104A in response to a user selecting the first object 104A. The prompt can be informational and indicates a function that the electronic device 100 can perform. Prompt 106 may indicate, for example, that electronic device 100 initiates a phone call or email to a telephone number or email address included in object 104A, that electronic device 100 scans and / or decodes a barcode or QR code included in object 104A, that electronic device 100 performs optical character recognition (OCR) on text included in object 104A, that electronic device 100 scans a document included in object 104A, that electronic device 100 identifies a person and / or human being included in object 104A, that electronic device 100 identifies a type and / or breed of animal included in object 104A, and / or that electronic device 100 identifies a monument or point of interest included in object 104A.

[0016] The user may respond to the prompt 106 by selecting the object 104A. In examples where the display 102 is a touch screen, the user may select the object 104A by inputting a predefined gesture into the display 102. Examples of predefined gestures include tapping on the portion of the display 102 presenting the object 104A and / or tapping and holding on the portion of the display 102 presenting the object 104A. Examples of selecting the object 104A where an input device such as a computer mouse is available include clicking the mouse when a cursor is positioned over the portion of the display 102 presenting the object 104A and / or double-clicking the mouse.

[0017] FIG. 1C illustrates the electronic device 100 with a user selecting a first object 104A. The user's selection 108A of the object 104A may be performed by the user tapping and / or tapping and holding the portion of the display 102 presenting the object 104A. The selection 108A may help clarify and / or specify the object on which a function is to be performed. The electronic device 100 may receive and / or process the selection 108A. In response to receiving and / or processing the selection 108A, the electronic device 100 may perform a function. The function performed by the electronic device 100 may be based on an object class to which the electronic device 100 determined the object 104A belongs when the electronic device 100 performed image classification. In some examples, the electronic device 100 may transform the object 104A by performing a function.

[0018] 1D is a diagram illustrating the electronic device 100 after a function has been performed on a first object 104A (not shown in FIG. 1D ). The function may convert the first object 104A into a first converted object 110A. In some examples where the object class of the first object 104A was a phone number, the function may include initiating a call to the phone number and the converted object 110A may include a visual indicator that a phone call is being made. In some examples where the object class of the first object 104A was an email address, the function may include initiating a draft email to the email address and the converted object 110A may include a blank email with the email address from the first object 104A in the "to" line. In some examples where the object class of the first object 104A was a barcode or QR code, the functionality may include decoding the barcode or QR code, and the converted object 110A may include a text description of the item identified by the barcode or QR code included in the first object 104A and / or an image of the item identified by the barcode or QR code included in the first object 104A. In some examples where the object class of the first object 104A includes text, the functionality may include performing optical character recognition on the text, and the converted object 110A may include the recognized text from the first object 104A in a different, more readable format. In some examples where the object class of the first object 104A was an indicator of a document, the functionality may include scanning the document, and the converted object 110A may include an indicator that the document from the first object 104A has been scanned.In some examples where the object class of the first object 104A was a person, an animal, or a monument or landmark, the functionality may include identifying the person, animal, monument or landmark, and the converted object 110A may include a text description and / or name of the person, animal, monument or landmark included in the first object 104A.

[0019] After being presented with the prompt 106, performing the selection 108A of the first object 104A, and viewing the results of the function and / or the transformed object 110A, the user may become familiar with the function and may no longer require the prompt 106 to select an object on which the electronic device 100 performs the function. The electronic device 100 may determine that the user is familiar with the function based on receiving the selection 108A of the object 104A included in the object class associated with the function. In one embodiment, the determination of familiarity may depend on the number of selections 108A of the first object 104A, in particular the number of selections 108A of the first object 104A within a predetermined time interval. If the electronic device 100 receives the selection 108A multiple times, the electronic device 100 may determine that the user has a particular familiarity with the selection and / or may assume that the user has a particular familiarity with the selection. Another criterion for determining familiarity may be the time between display of object 104A and selection 108A, which would reflect the user's familiarity. These criteria may be used in combination, and these are examples used in conjunction with the familiarity determiner 210, which is described further below.

[0020] Based on determining that the user is familiar with the functionality, the electronic device 100 may terminate and / or stop performing the image classification and / or may not present the prompt 106 to the user.

[0021] FIG. 1E illustrates the electronic device 100 presenting a second object 104B in the display 102. The image presented by the display 102 in FIG. 1E, including the second object 104B, may be different from the image presented by the display in FIG. 1A. The second object 104B may be an object of the same object class as the first object 104A, and / or the object class of the second object 104B may be associated with the same function as the function performed on the first object 104A. Based on the electronic device 100 determining that the user is familiar with the object class and / or the function performed on the first object 104A, the electronic device 100 may terminate performing the image classification and / or not present a prompt 106 for the user to request a function to be performed on the second object 104B. Based on the user's familiarity with the function, the user may select the object 104B without the prompt 106.

[0022] FIG. 1F illustrates electronic device 100 with a user selecting a second object 104B. The user may enter selection 108B without prompt 106 in a manner similar to the manner in which selection 108A was entered based on the user's familiarity with the functionality. Electronic device 100 may receive the selection of object 104B. Based on receiving the selection of object 104B, electronic device 100 may perform image classification on object 104B and / or determine that object 104B is an object of the same object class as object 104A. Based on determining that object 104B is an object of the object class, electronic device 100 may receive selection 108B and perform a function associated with the object class of object 104B in a manner similar to the function performed with respect to object 104A.

[0023] 1G illustrates electronic device 100 after a function has been performed on second object 104B. Electronic device 100 can perform a function on object 104B to generate transformed object 110B presented by display 102 in FIG. 1G in a manner similar to that described above for performing a function on object 104A to generate transformed object 110A.

[0024] 2 is a block diagram of electronic device 100. Electronic device 100 may include an image presenter 202. Image presenter 202 may generate and / or present images for display 102 to present and / or display. The images may be generated based on data processed by an application running and / or executing on electronic device 100, such as, by way of non-limiting examples, a web browser, a camera application, a video player, or a social media application. Images generated and / or presented by image presenter 202 may include objects, such as objects 104A, 104B and / or transformed objects 110A, 110B.

[0025] The electronic device 100 may include an image classifier 204. The image classifier 204 may classify objects in an image and / or determine whether an object in an image is a member of an object class. In some examples, the image classifier 204 may determine whether an object in each frame of a displayed image is a member of an object class. In some examples, to reduce consumption of computing resources, the image classifier 204 may determine whether an object in every n-th frame, such as every fourth frame of a displayed image, is a member of an object class. The image classifier 204 may determine whether an object in the displayed image is a member of an object class by comparing features of the object in the displayed image with features of the object class. The image classifier 204 may determine whether an object in the displayed image is a member of an object class by performing an on-device machine learning technique, such as, but not limited to, an artificial neural network, a convolutional neural network, a K-nearest neighbor classification, a decision tree, or a support vector machine (SVM). In some examples, the image classifier 204 may determine whether each object in a given displayed image is a member of multiple classes and / or whether multiple portions of a given displayed image are members of multiple classes, hi some examples, the image classifier 204 may sequentially determine whether objects and / or portions of an image are members of multiple different object classes.

[0026] The image classifier 204 may include and / or have access to a class library 206. The class library 206 may include and / or store multiple object classes. The image classifier 204 may compare characteristics of an object presented by the display 102, such as objects 104A, 104B, with characteristics of the object classes stored in the class library 206 to determine whether the object is a member of the object class stored in the class library 206.

[0027] The image classifier 204 may include an image detector 208. The image detector 208 may detect locations on the display 102 of objects that the image classifier 204 determines to be members of an object class. The locations determined by the image detector 208 may be used by the prompt generator 214 to determine a location for presenting a prompt, such as prompt 106.

[0028] The electronic device 100 may include a familiarity determiner 210. The familiarity determiner 210 may determine whether a user is familiar with an object class and / or a function associated with the object class and / or the user's level of familiarity with the object class and / or the object class. The familiarity may be associated with a user and / or with an account that is logged in, active, and / or interacting with the electronic device 100. In some examples, the familiarity determiner 210 may generate a binary value for the user indicating either that the user is not familiar with the object class and / or the associated function and therefore should be prompted to request a function to be performed on an object of the object class, or that the user is familiar with the object class and / or the associated function and therefore should not be prompted to request a function to be performed on an object of the object class. In some examples, the familiarity determiner 210 can generate one of a range of familiarity values ​​for the user, and the electronic device 100 can determine whether to present a prompt to the user based on a combination of the familiarity value and the contextual information.

[0029] The familiarity determiner 210 may determine a familiarity value for the user with respect to each object class and / or function. The familiarity value may be based on the number and / or frequency with which the user has been presented with prompts to perform a function and / or with prompts for objects of a given object class, with the familiarity value increasing as the number and / or frequency of prompts for an object and / or object class increases. The familiarity value may be based on the number of times the user has selected an object of a given object class and / or an object for a given function, with the familiarity value increasing as the user has selected an object for a function to be performed. The familiarity value may be based on the length of time since the user selected an object of a given object class and / or an object for a given function. The longer the length of time since the user selected an object of a given object class and / or an object for a given function, the smaller the familiarity value. In some examples, electronic device 100 may determine that the user is sufficiently familiar with a function and / or object class associated with the function to stop and / or terminate performing image classification for the object class and stop presenting prompts for the function associated with the object class, and then determine that the user is no longer familiar with the function and / or object class associated with the function after the user has not selected an object of the object class and / or a function associated with the object class for a length of time. Based on determining that the user is no longer familiar with the function and / or object class associated with the function, electronic device 100 may resume performing image classification for the image class and presenting prompts for the user to select an object of the object class to perform a function associated with the object class.The familiarity determination unit 210 may control the end of classification when the familiarity value reaches a predetermined first threshold, and may control the resumption of classification when the familiarity value reaches a predetermined second threshold, taking into consideration that a user may become familiar with a certain amount of use, but lose the familiarity if the user does not use the certain amount of use.

[0030] The electronic device 100 may include a context processor 212. The context processor 212 may process context information that the electronic device 100 may combine with the familiarity value to determine whether to perform image classification and / or present a prompt. The context information may include, for example, the state of computing resources such as the charge level of a battery included in the electronic device 100 (other examples of computing resources include memory availability, processor resources, connection strength with a network, or photo modality), the time of day, audio signals received by a microphone included in the electronic device 100, the location of the electronic device 100, and / or a user's interest in images of a particular object class (such as a human or a particular type of animal, such as a dog or cat) being displayed by the user viewing and / or storing images of the object class. If the battery charge level is low, the electronic device 100 may not perform image classification despite the user's lack of familiarity with the function and / or object class in order to conserve battery power. If the time of day is one at which the user may be uninterested in performing certain functions, electronic device 100 may not perform image classification with respect to object classes associated with those particular functions, despite the user's lack of familiarity with those particular functions and / or object classes, unless the familiarity value is very low (in which case electronic device 100 may perform image classification). If the audio signal indicates a particular environment, such as a coffee shop, electronic device 100 may perform image classification of object classes associated with that particular environment, such as coffee or menu, despite the user having a relatively high familiarity value for the object classes associated with that particular environment.If the user is in a particular location, such as a food court, the electronic device may perform image classification of objects of an object class associated with the particular location, such as signs and / or menus, despite the user's relative familiarity with the object class associated with the particular location. If the electronic device 100 determines that the user has a high interest in images of a particular object class, the electronic device 100 may perform image classification of objects of the particular object class, despite the user's relative familiarity with the object class and / or features associated with the object class.

[0031] The electronic device 100 may include a prompt generator 214. The prompt generator 214 may generate a prompt, such as the prompt 106 shown and described in connection with FIG. 1B, for a user to select an object for a function to be performed. The prompt generator 214 may generate a prompt and / or display a prompt on the display 102 based on and / or in response to the image classifier 204 determining that the object is a member of an object class for which the electronic device 100 can perform a function. The prompt generator 214 may generate a prompt at a location on the display 102 proximate to the object based on a location of the object determined by the image detector 208. The prompt may identify and / or describe (such as with text) a function to be performed on the object. The function to be performed may be associated with an object class of the object for which the function is to be performed.

[0032] The electronic device 100 may include a selection processor 216. The selection processor 216 may process a selection, such as one of the selections 108A, 108B, of an object, such as one of the objects 104A, 104B, that is a member of an object class associated with a function. The selection may include a gesture, such as a tap or tap-and-hold gesture on a portion of the display 102 presenting and / or displaying the selected object, or a mouse click or double-click when a cursor is over a portion of the display 102 presenting and / or displaying the selected object, in an example where the display 102 is a touch screen. The selection processor 216 may determine whether an input meets predefined gesture criteria with respect to an object presented and / or displayed by the display 102. If the selection processor 216 determines that an input meets predefined gesture criteria with respect to an object presented and / or displayed by the display 102, the selection processor 216 may determine that the user has selected the object. Based on determining that the user has selected the object, the selection processor may prompt and / or direct the function processor 218 to perform a function on and / or with respect to the object.

[0033] The electronic device 100 may include a feature processor 218. The feature processor 218 may perform a function on an object that the selection processor 216 determines the user has selected. The feature processor 218 may perform and / or select a function based on an object class of which the image classifier 204 determines the object is a member. The feature processor 218 may pass an object as a parameter to a function. The object passed as a parameter to a function may include a portion of an image presented by the display 102. The portion of the image for the feature processor 218 to pass as a parameter may be based on the location of the object as determined by the image detector 208. The function performed and / or selected by the feature processor may include, for example, initiating a phone call to a phone number included in the object, initiating a draft of an email to an email address included in the object, decoding a barcode or QR code included in the object, performing optical character recognition on text included in the object, scanning a document included in and / or identified by the object, or identifying a person and / or human, animal, monument or landmark included in the object. In some examples, function processor 218 may execute a function locally on electronic device 100. In some examples, function processor 218 may execute a function by sending a request (which includes an object) to a server, such as by invoking an application programming interface (API) having an object as a parameter, and receiving a transformed object from the server in response to sending the request. After executing the function, function processor 218 may generate a transformed object, such as transformed object 110A, 110B, for presentation and / or display by display 102.

[0034] The electronic device 100 may include at least one processor 220. The at least one processor 220 may execute instructions, such as instructions stored in at least one memory device 222, to cause the electronic device 100 to perform any combination of the methods, functions and / or techniques described herein.

[0035] Electronic device 100 may include at least one memory device 222. At least one memory device 222 may include a non-transitory computer-readable storage medium. At least one memory device 222 may store data and instructions that, when executed by at least one processor, such as processor 220, are configured to cause a computing system, such as electronic device 100, to perform any combination of the methods, functions, and / or techniques described herein. Thus, in any of the implementations described herein (even if not explicitly mentioned in connection with a particular implementation), software (e.g., processing modules, stored instructions) and / or hardware (e.g., processors, memory devices, etc.) associated with or included in electronic device 100, alone or in combination with electronic device 100, may be configured to perform any combination of the methods, functions, and / or techniques described herein.

[0036] The electronic device 100 may include at least one input / output node 224. The at least one input / output node 224 may receive and / or transmit data and / or receive input from and provide output to a user. The input and output functions may be combined in a single node or may be split into separate input and output nodes. The input / output node 224 may include, for example, a display (which may be a touchscreen display such as the display 102), a camera, a speaker, a microphone, one or more buttons, a motion detector and / or an accelerometer, a thermometer, a light sensor, and / or one or more wired or wireless interfaces for communicating with other computing devices.

[0037] 3 is a flowchart of a method performed by the electronic device 100. FIG. 3 illustrates that the electronic device 100 performs image classification in a cyclical manner depending on whether the user is familiar with a function and / or an object associated with the function. The image presenter 202 may present an image (302). The image presenter 202 may present an image on the display 102. The image may be based on an application running on the electronic device, such as a web browser, a camera, or a social media application.

[0038] The image classifier 204 can classify (304) images and / or portions of images presented by the display 102. The image classifier 204 can classify images while a cycle is on to perform image classification for a particular object class. The portions of the images can be considered to be objects, such as objects 104A, 104B. The image classifier 204 can classify images and / or objects by determining whether the images and / or objects are members of one or more object classes stored in a class library.

[0039] The familiarity determiner 210, in combination with the context processor 212, can determine whether the user is familiar with the object class of the object and / or the functionality associated with the object (306). The familiarity determiner 210, in combination with the context processor 212, can determine whether the user is familiar with the object class of the object and / or the functionality associated with the object based on one or more combinations of, as non-limiting examples, the number of times a prompt (such as prompt 106) to perform a function on an object of the object class has been presented to the user, how many times the user has selected an object of the object class, how much time has passed since the user selected an object of the object class, the charge level of a battery included in the electronic device 100, the time of day, an audio signal received by a microphone included in the electronic device 100, the location of the electronic device 100, and / or the user's interest in images of a particular object class being displayed by the user viewing images of the object class and / or storing images of the object class.

[0040] If the familiarity determiner 210, in combination with the context processor 212, determines that the user is familiar with the object class and / or function, the electronic device 100 may turn off image classification for the object class and / or function. Based on the familiarity determiner's determination that the user is familiar with the object class and / or function and / or turning off image classification for the object class and / or function, the selection processor 216 may determine whether the electronic device 100 receives a selection of the object (308), as described below. In some examples, if the familiarity determiner 210, in combination with the context processor 212, determines that the user is familiar with the object class and / or function, the image classifier 204 may stop determining whether an object of the familiar object class is present, based on the electronic device 100 turning off image classification for the object class and / or function. If the familiarity determiner 210, in combination with the context processor 212, determines that the user is not familiar with the object class and / or function and / or if image classification for the object class and / or function is turned on, the prompt generator 214 may present a prompt (312) (and / or the electronic device 100 may turn on image classification for the object class and / or function). A prompt, such as prompt 106, may indicate and / or describe a function to be performed on the object. Display of the prompt may be based on the location of the object as determined by the image detector 208 and the object class of the object and / or the function to be performed on the object.

[0041] After presenting 312 the prompt and / or determining that the user is familiar with the object class and / or function, the electronic device 100 and / or the selection processor 216 may determine whether the electronic device 100 has received a selection of the object. The selection processor 216 may determine whether the electronic device 100 has received a selection of the object based on whether the electronic device 100 has received a predetermined gesture, such as a tap or a tap and hold on an area of ​​the display 102 presenting the object, or a mouse click or double click when the cursor is over an area of ​​the display 102 presenting the object.

[0042] If the selection processor 216 determines that the electronic device 100 did not receive a selection of an object, the electronic device 100 may continue to present (302) images. If the selection processor 216 determines that the electronic device 100 received a selection of an object, the function processor 218 may perform (310) a function on the object. After performing (310) the function, the electronic device 100 may continue to present (302) images.

[0043] 4 is a flow chart of a method performed by the electronic device 100. The method may include performing (402) image classification within the displayed image. The method may include determining (404) that a first object 104A of an object class is present within the displayed image while performing image classification. The method may include generating (406) a prompt, such as presenting a prompt 106, within the displayed image. The method may include receiving (408) a selection 108A of the first object 104A from a user, such as in response to the prompt 106. The method may include performing (410) a function on the first object 104A in response to receiving the selection of the first object 104A. The method may include determining (412) that the user is familiar with the function based on a selection of the first object 104A, which may be made in response to the prompt 106. The method may include terminating performance of the image classification within the displayed image based on determining that the user is familiar with the function (414). The method may include performing the function on the second object 104B in response to the user selecting a second object 104B of the object class within the displayed image (416).

[0044] In some examples, performing a function on the first object may include performing a local image recognition function on the displayed image.

[0045] In some examples, performing a function on the first object may include sending the displayed image to a server and receiving the transformed object from the server.

[0046] In some examples, the object class may include text. In some examples, the functionality may include performing optical character recognition on the first object.

[0047] In some examples, the object class may include a barcode. In some examples, the function may include decoding the first object.

[0048] In some examples, the object class may include a human. In some examples, the function may include determining a name associated with the first object.

[0049] In some examples, the method may further include determining the object class based on the location of the computing system.

[0050] In some examples, the method may further include determining the object class based on images previously viewed by the user.

[0051] In some examples, determining that the user is familiar with the function may include determining that the user is familiar with the function with respect to the object class, and terminating performance of image classification within the displayed image may include terminating performance of image classification within the displayed image with respect to the object class.

[0052] In some examples, terminating the performance of image classification within the displayed image may be based on determining and time that the user is familiar with the functionality.

[0053] In some examples, terminating the performance of image classification within a displayed image may be based on determining that a user is familiar with the functionality and the charge level of a battery included in the computing system.

[0054] In some examples, terminating the performance of image classification within the displayed image may be based on determining that the user is familiar with the function and an audio signal received by a microphone included in the computing system.

[0055] In some examples, the method may further include performing image classification on the second object in response to receiving a selection of the second object and determining that the second object is an object of the object class, and the step of performing a function on the second object may be based on determining that the second object is an object of the object class.

[0056] In some examples, the method may further include performing image detection on the first object of the object class after determining that the first object is present in the displayed image. Presenting the prompt in the displayed image may include presenting the prompt at a location in the displayed image based on where the first object was detected in the displayed image.

[0057] In some examples, the method may further include the steps of displaying a plurality of additional images, determining that the user is no longer familiar with the function based on the user not selecting a portion of the displayed plurality of additional images, performing image classification within the subsequently displayed images based on determining that the user is no longer familiar with the function, determining that a subsequent object of the object class is present in the subsequently displayed image while performing image classification within the subsequently displayed image, and presenting a subsequent prompt within the subsequently displayed image.

[0058] In some examples, the object class may include a first object class, the prompt may include a first prompt, and the function may include a first function. The method may further include performing image classification within the subsequently displayed image, and detecting a second object of a second object class within the subsequently displayed image while performing image classification within the subsequently displayed image, where the second object class is different from the first object class, and the method may further include presenting a second prompt within the subsequently displayed image, receiving a selection of the second object from the user, and performing a second function on the second object in response to receiving the selection of the second object, where the second function is different from the first function.

[0059] 5 illustrates an example of a general purpose computing device 500 and a general purpose mobile computing device 550 that may be used with the techniques described herein. Computing device 500 is intended to represent various forms of digital computers, such as laptops, desktops, tablets, workstations, personal digital assistants, televisions, servers, blade servers, mainframes, and other suitable computing devices that may communicate with electronic device 100. Computing device 550 is intended to represent various forms of mobile devices, such as personal digital assistants, mobile phones, smartphones, and other similar computing devices that may be examples of electronic device 100. The components, their connections and relationships, and their functions illustrated herein are intended to be exemplary only and are not intended to limit the implementation of the invention described and / or claimed herein.

[0060] The computing device 500 includes a processor 502, a memory 504, a storage device 506, a high-speed interface 508 that connects to the memory 504 and a high-speed expansion port 510, and a low-speed interface 512 that connects to a low-speed bus 514 and the storage device 506. The processor 502 may be a semiconductor-based processor. The memory 504 may be a semiconductor-based memory. Each of the components 502, 504, 506, 508, 510, and 512 may be interconnected using various buses and implemented on a common motherboard or in other manners as appropriate. The processor 502 may process instructions for execution within the computing device 500, including instructions stored in the memory 504 or on the storage device 506, to display graphical information for a GUI on an external input / output device, such as a display 516 coupled to the high-speed interface 508. In other implementations, multiple processors and / or multiple buses may be used as appropriate with multiple memories and multiple types of memories. Also, multiple computing devices 500 may be connected, each providing a portion of the required operations (eg, as a server bank, as a group of blade servers, or as a multi-processor system).

[0061] The memory 504 stores information within the computing device 500. In one implementation, the memory 504 is one or more volatile memory units. In another implementation, the memory 504 is one or more non-volatile memory units. The memory 504 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.

[0062] The storage device 506 can provide mass storage for the computing device 500. In one implementation, the storage device 506 can be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, or an array of devices, including flash memory or other similar solid-state memory devices, or devices in a storage area network or other configuration. The computer program product can be tangibly embodied in an information carrier. The computer program product can also include instructions that, when executed, perform one or more methods, such as the methods described above. The information carrier is a computer or machine-readable medium, such as the memory 504, the storage device 506, or the memory on processor 502.

[0063] The high-speed controller 508 manages bandwidth-intensive operations for the computing device 500, and the low-speed controller 512 manages less bandwidth-intensive operations. Such an allocation of functions is merely exemplary. In one implementation, the high-speed controller 508 is coupled to the memory 504, the display 516 (e.g., via a graphics processor or accelerator), as well as to a high-speed expansion port 510 that can accept various expansion cards (not shown). In this implementation, the low-speed controller 512 is coupled to the storage device 506 and the low-speed expansion port 514. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices, such as a keyboard, pointing device, scanner, etc., or to a networking device, such as a switch or router, e.g., via a network adapter.

[0064] Computing device 500 may be implemented in a number of different forms, as shown in the figure. For example, computing device 500 may be implemented as a standard server 520, or multiple times within a cluster of such servers. Computing device 500 may also be implemented as part of a rack server system 524. Computing device 500 may also be implemented in a personal computer, such as laptop computer 522. Alternatively, components from computing device 500 may be combined with other components in a mobile device (not shown), such as device 550. Each such device may include one or more of computing devices 500, 550, and the entire system may be made up of multiple computing devices 500, 550 in communication with each other.

[0065] Computing device 550 includes, among other components, a processor 552, a memory 564, an input / output device such as a display 554, a communication interface 566, and a transceiver 568. Device 550 may include a storage device, such as a microdrive or other device, to provide additional storage. Each of components 550, 552, 564, 554, 566, and 568 are interconnected using various buses, and some of the components may be implemented on a common motherboard or in other manners as appropriate.

[0066] The processor 552 can execute instructions within the computing device 550, including instructions stored in the memory 564. The processor may be implemented as a chipset of chips including separate analog and digital processors. The processor may provide for coordination of other components of the device 550, such as, for example, control of a user interface, applications executed by the device 550, and wireless communication by the device 550.

[0067] The processor 552 may communicate with a user via a control interface 558 and a display interface 556 coupled to a display 554. The display 554 may be, for example, a Thin-Film-Transistor Liquid Crystal Display (TFT LCD) or an Organic Light Emitting Diode (OLED) display, or other suitable display technology. The display interface 556 may comprise appropriate circuitry for driving the display 554 to present graphical and other information to the user. The control interface 558 may receive commands from the user and translate and send them to the processor 552. An external interface 562 may also be provided in communication with the processor 552 to enable short-range communication between the device 550 and other devices. The external interface 562 may, for example, provide for wired communication in some implementations or wireless communication in other implementations, and multiple interfaces may also be used.

[0068] The memory 564 stores information within the computing device 550. The memory 564 may be realized as one or more of one or more computer readable media, one or more volatile memory units, or one or more non-volatile memory units. An expansion memory 574 may also be provided and connected to the device 550 via an expansion interface 572, which may include, for example, a Single In Line Memory Module (SIMM) card interface. Such expansion memory 574 may provide additional storage space for the device 550 or may also store applications or other information for the device 550. In particular, the expansion memory 574 may include instructions for performing or supplementing the above processes and may also include secured information. Thus, for example, the expansion memory 574 may be provided as a security module for the device 550 and may be programmed with instructions that enable secure use of the device 550. Also, secured applications may be provided via the SIMM card along with additional information, such as placing identifying information on the SIMM card in an unhackable manner.

[0069] The memory may include, for example, flash memory and / or NVRAM memory, as described below. In one implementation, the computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as the methods described above. The information carrier may be a computer or machine-readable medium, such as memory 564, expansion memory 574, or memory on processor 552, and may be received, for example, via transceiver 568 or external interface 562.

[0070] Device 550 may communicate wirelessly via communication interface 566, which may include digital signal processing circuitry as necessary. Communication interface 566 may provide for communication under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, via radio frequency transceiver 568. Short-range communication may also occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Global Positioning System (GPS) receiver module 570 may also provide device 550 with additional navigation-related and location-related wireless data that may be used as appropriate by applications executing on device 550.

[0071] Device 550 may also communicate voice-recognizably using voice codec 560, which may receive verbal information from a user and convert it into usable digital information. Voice codec 560 may also generate audible sounds for the user, such as through a speaker in a handset of device 550. Such sounds may include sounds from a voice telephone call, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications running on device 550.

[0072] Computing device 550 may be implemented in a number of different forms, as shown in the figure. For example, computing device 550 may be implemented as a mobile phone 580. Computing device 550 may also be implemented as part of a smartphone 582, personal digital assistant, or other similar mobile device.

[0073] Various implementations of the systems and techniques described herein may be realized in digital electronic circuitry, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special purpose or general purpose, coupled to transmit and receive data and instructions from / to a storage system, at least one input device, and at least one output device.

[0074] These computer programs (also known as programs, software, software applications or code) contain machine instructions for a programmable processor and may be implemented in high level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. The term "machine-readable medium" and "computer-readable medium" as used herein refers to any computer program product, apparatus and / or device used to provide machine instructions and / or data to a programmable processor (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)), including a machine-readable medium that receives the machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0075] To provide for user interaction, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) by which the user can provide input to the computer. Other types of devices can also be used to provide for user interaction. For example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0076] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), middleware components (e.g., an application server), front-end components (e.g., a client computer having a graphical user interface or web browser through which a user can interact with an implementation of the systems and techniques described herein), or any combination of such back-end, middleware, or front-end components. These components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.

[0077] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of clients and servers arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0078] Several embodiments have been described. However, it will be understood that various modifications can be made without departing from the spirit and scope of the invention.

[0079] Some examples are given below. Example 1: A non-transitory computer-readable storage medium having instructions stored thereon, the instructions, when executed by at least one processor, causing a computing system to: performing image classification within the displayed image; determining, while performing said image classification, that a first object of an object class is present within said displayed image; presenting a prompt within said displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on a determination that the user is familiar with the functionality, terminating performance of image classification within the displayed image; and in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object.

[0080] Example 2: The non-transitory computer-readable storage medium of Example 1, wherein performing the function on the first object includes performing a local image recognition function on the displayed image.

[0081] Example 3: Performing the function on the first object includes: transmitting said displayed image to a server; and receiving the transformed object from the server.

[0082] Example 4: The non-transitory computer-readable storage medium of at least one of the preceding examples, wherein the object class includes text.

[0083] Example 5: The non-transitory computer-readable storage medium of Example 4, wherein the functionality includes performing optical character recognition on the first object.

[0084] Example 6: The non-transitory computer-readable storage medium according to at least one of the preceding examples, wherein the object class includes a barcode.

[0085] Example 7: The non-transitory computer-readable storage medium of Example 6, wherein the function includes decrypting the first object.

[0086] Example 8: The non-transitory computer-readable storage medium of at least one of the preceding examples, wherein the object class includes a human.

[0087] Example 9: The non-transitory computer-readable storage medium of Example 8, wherein the function includes determining a name associated with the first object.

[0088] Example 10: A non-transitory computer-readable storage medium according to at least any one of the preceding examples, wherein the instructions are further configured to cause the computing system to determine the object class based on a location of the computing system.

[0089] Example 11: A non-transitory computer-readable storage medium according to at least any one of the preceding examples, wherein the instructions are further configured to cause the computing system to determine the object class based on images previously viewed by the user.

[0090] Example 12: A non-transitory computer-readable storage medium according to at least any one of the preceding examples, wherein whether an object is an object of an object class on which the electronic device can perform a function is determinable by the electronic device.

[0091] Example 13: A non-transitory computer-readable storage medium described in at least one of the preceding examples, wherein the determination of familiarity by the familiarity determination unit depends on the number of selections of an object, in particular the number of selections of an object within a predetermined time interval and / or the time between the display and the selection of the object, and in particular a familiarity value is generated.

[0092] Example 14: A non-transitory computer-readable storage medium as described in Example 13, wherein the familiarity determination unit controls the termination of the classification when the familiarity value reaches a predetermined first threshold, and controls the resumption of the classification when the familiarity value reaches a predetermined second threshold.

[0093] Example 15: A non-transitory computer-readable storage medium as described in Example 13 or 14, wherein a context processor processes context information that the electronic device can combine with the familiarity value to determine whether to perform image classification and / or whether to present a prompt, the context information being, inter alia, a charge level of a battery included in the electronic device, a time of day, an audio signal received by a microphone included in the electronic device, a location of the electronic device, and / or a user's interest in images of a particular object class being displayed by the user viewing and / or storing images of the object class.

[0094] Example 16: Determining that the user is familiar with the functionality includes determining that the user is familiar with the functionality with respect to the object class; The non-transitory computer-readable storage medium of at least any one of the preceding examples, wherein completing image classification within the displayed image includes completing image classification within the displayed image with respect to the object class.

[0095] Example 17: A non-transitory computer-readable storage medium as described in at least any one of the preceding examples, wherein the instructions are configured to cause the computing system to terminate performance of image classification within the displayed image based on determining that the user is familiar with the function and based on the time of day.

[0096] Example 18: A non-transitory computer-readable storage medium as described in at least any one of the preceding examples, wherein the instructions are configured to cause the computing system to terminate performance of image classification within the displayed image based on determining that the user is familiar with the function and based on a charge level of a battery included in the computing system.

[0097] Example 19: A non-transitory computer-readable storage medium as described in at least any one of the preceding examples, wherein the instructions are configured to cause the computing system to terminate performance of image classification within the displayed image based on determining that the user is familiar with the function and based on an audio signal received by a microphone included in the computing system.

[0098] Example 20: The instructions are further configured to cause the computing system to perform image detection on the first object of the object class after determining that the first object is present in the displayed image; The non-transitory computer-readable storage medium of at least any one of the preceding examples, wherein presenting the prompt within the displayed image includes presenting a prompt at a location within the displayed image based on a location within the displayed image where the first object is detected.

[0099] Example 21: The instructions further include: Displaying a plurality of additional images; and determining that the user is no longer familiar with the functionality based on the user not selecting a portion of the displayed plurality of additional images; Based on a determination that the user is no longer familiar with the functionality, performing image classification within the subsequently displayed image; determining that subsequent objects of the object class are present in the subsequently displayed images while performing the image classification in the subsequently displayed images; and presenting a subsequent prompt within the subsequently displayed image.

[0100] Example 22: The object class includes a first object class, The prompts include a first prompt, The above function includes a first function, The instructions further include: performing image classification within the subsequently displayed image; and detecting a second object of a second object class in the subsequently displayed image while performing the image classification in the subsequently displayed image, the second object class being different from the first object class, the instructions further comprising: presenting a second prompt within the subsequently displayed image; and receiving a selection of the second object from the user; and in response to receiving the selection of the second object, performing a second function on the second object, the second function being different from the first function.

[0101] Example 23: A computing system, comprising: At least one processor; A computing system comprising: a non-transitory computer-readable storage medium according to any one of Examples 1 to 22.

[0102] Example 24: A method comprising: A computing system performing image classification within the displayed image; determining, while performing said image classification, that a first object of an object class is present in said displayed image; presenting a prompt within the displayed image; receiving said first selection from a user; in response to receiving said selection of said prompt, performing a function on said first object; determining that the user is familiar with the functionality based on the selection of the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; and in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object.

[0103] Additionally, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Additionally, other steps may be provided or removed from the flows described, and other components may be added to or removed from the systems described. Accordingly, other embodiments are within the scope of the following claims.

Claims

1. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; responsive to a function being performed on the first object, presenting a visual indicator indicating that a function has been performed on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; and in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; the selection of the first object includes a gesture on a portion displaying the first object; The method, wherein the visual indicator is presented in the portion.

2. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; The method, wherein performing the function on the first object includes performing a local image recognition function on the displayed image.

3. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; Performing the function on the first object includes: transmitting the displayed image to a server; and receiving the transformed object from the server.

4. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; The object class includes text.

5. The method of claim 4 , wherein the function includes performing optical character recognition on the first object.

6. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; The object class includes a barcode.

7. The method of claim 6 , wherein the function includes decrypting the first object.

8. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; The object classes include humans.

9. The method of claim 8 , wherein the function includes determining a name associated with the first object.

10. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; The method further includes the computing system determining the object class based on a location of the computing system.

11. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; determining the object class based on images previously viewed by the user.

12. The method of any one of claims 1 to 11, further comprising determining whether the object is an object of an object class on which the computing system can perform a function.

13. determining that the user is familiar with the feature is contingent on a familiarity value; A method according to any one of claims 1 to 12, wherein the familiarity value is generated based on the number of selections of an object, in particular the number of selections of an object within a predetermined time interval and / or the time between the display and the selection of the object.

14. determining that the user is familiar with the feature includes determining that the familiarity value reaches a first predetermined threshold; The method of claim 13 , further comprising controlling a restart of the image classification when the familiarity value reaches a second predetermined threshold.

15. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; determining that the user is familiar with the feature is contingent on a familiarity value; the familiarity value is generated based on a number of selections of an object, in particular a number of selections of an object within a predetermined time interval and / or a time between the display and the selection of the object, The method, wherein determining that the user is familiar with the feature is further dependent on contextual information, the contextual information including a charge level of a battery included in the computing system, a time of day, an audio signal received by a microphone included in the computing system, a location of the computing system, and / or a user's interest in a particular object class image being displayed by the user viewing and / or storing images of the object class.

16. determining that the user is familiar with the functionality includes determining that the user is familiar with the functionality with respect to the object class; The method of any one of claims 1 to 15, wherein completing the performance of image classification within the displayed image comprises completing the performance of image classification within the displayed image with respect to the object class.

17. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; and terminating performance of image classification within the displayed image based on determining that the user is familiar with the functionality and based on a time of day.

18. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; and terminating performance of image classification within the displayed image based on determining that the user is familiar with the functionality and a charge level of a battery included in the computing system.

19. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; determining that the user is familiar with the feature and terminating performance of image classification within the displayed image based on an audio signal received by a microphone included in the computing system.

20. performing image detection on the first object after determining that the first object of the object class is present in the displayed image; 20. The method of claim 1, wherein presenting the prompt within the displayed image comprises presenting a prompt at a location within the displayed image based on a location within the displayed image where the first object is detected.

21. 1. A method implemented by a computing system, comprising: performing image classification within the displayed image; determining, while performing the image classification, that a first object of an object class is present within the displayed image; presenting a prompt within the displayed image; and receiving a selection of the first object from a user in response to the prompt; in response to receiving the selection of the first object, performing a function on the first object; determining that the user is familiar with the functionality based on the selection of the first object in response to the prompt; based on determining that the user is familiar with the functionality, terminating performance of image classification within the displayed image; in response to the user selecting a second object of the object class within the displayed image, performing the function on the second object; Displaying a plurality of additional images; and determining that the user is no longer familiar with the functionality based on the user not selecting a portion of the displayed plurality of additional images; based on determining that the user is no longer familiar with the functionality; performing image classification within the subsequently displayed image; determining that subsequent objects of the object class are present in the subsequently displayed images while performing the image classification in the subsequently displayed images; and presenting a subsequent prompt within the subsequently displayed image.

22. the object classes include a first object class; The prompts include a first prompt; The functions include a first function, performing image classification within the subsequently displayed image; detecting a second object of a second object class in the subsequently displayed image while performing the image classification in the subsequently displayed image, the second object class being different from the first object class; presenting a second prompt within the subsequently displayed image; and receiving a selection of the second object from the user; 22. The method of claim 1, further comprising: in response to receiving the selection of the second object, performing a second function on the second object, the second function being different from the first function.

23. A program comprising instructions which, when executed by at least one processor, cause a computer system to carry out the method of any one of claims 1 to 22.

24. 1. A computing system comprising: At least one processor; A computing system comprising: a non-transitory computer readable storage medium storing the program of claim 23.

Citation Information

Patent Citations

  • Image forming apparatus

    JP2013082538A

  • Data input device, display device, data input method, and data input program

    JP2013161406A

  • Printing control unit, control method and program

    JP2019181866A

  • Display device, display processing system, and program

    JP2020021354A

  • Product identification in image with multiple products

    US20190318405A1