Selective editing of images
The system generates composite images of faces and license plates using avatars, ensuring detectability for analysis while preventing identification, addressing the challenge of analyzing privacy-protected images.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-15
- Publication Date
- 2026-03-27
AI Technical Summary
Existing image analysis software is unable to analyze images containing identifiable human faces or vehicle license plates due to data privacy regulations, as pixelation or blurring renders faces and plates unrecognizable, preventing effective analysis of face-related or traffic information.
A system that selectively edits detected faces or license plates by generating composite images using avatars or stylized representations, retaining attributes necessary for analysis while preventing identification, utilizing machine learning models and deep learning techniques to ensure detectability without recognizability.
Enables the analysis of images containing faces or license plates for downstream applications without compromising privacy, allowing detection of faces or license plates while preventing individual identification or plate recognition.
Smart Images

Figure 0007836623000001 
Figure 0007836623000002 
Figure 0007836623000003
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the analysis and selective editing of images. More particularly, the present disclosure relates to detecting and selectively editing faces within an image.
Background Art
[0002] Data and privacy protection regulations prohibit the transmission of video or still images containing identifiable human faces and encourage the blurring of faces included in images. Video analysis software enables face detection and obfuscation by pixelating a portion of the image or blurring the detected face. Pixelation or blurring renders the detected face unrecognizable as a face. As a result, since all included faces are unrecognizable as faces, the output of such video analysis software cannot be analyzed for any purpose with respect to the faces. Similarly, analysis software specialized in detecting vehicle license plates for state and county information, or identification badges for company affiliation, may be unable to cope with the complete obfuscation of license plates prior to such analysis.
Summary of the Invention
[0003] To provide a basic understanding of one or more embodiments of the present disclosure, a summary is presented below. This summary is not intended to identify key or essential elements nor to delineate any scope of particular embodiments or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that follows. In one or more embodiments described herein, a system, computer-implemented method, apparatus, or computer program product, or a combination thereof, that enables selective editing of detected face images is described.
[0004] Aspects of the present invention disclose methods, systems, and computer-readable media relating to selectively editing an image by determining a set of attributes to be used by a machine learning model for analysis; receiving image data; detecting a portion of the image data relevant to the analysis by one or more computer processors, wherein the portion comprises at least some of the set of attributes; generating a composite portion from the portion, wherein the composite portion retains at least some of the attributes of the detected portion; replacing the portion with the composite portion to obtain edited image data; and providing the edited image data for analysis.
[0005] The above and other purposes, features, and advantages of this disclosure will become more apparent through a more detailed description of some embodiments of this disclosure in the accompanying drawings. In embodiments of this disclosure, the same reference numerals generally refer to the same components. [Brief explanation of the drawing]
[0006] [Figure 1] This is a schematic diagram of a computing environment according to one embodiment of the present invention. [Figure 2] This flowchart shows the operation sequence according to one embodiment of the present invention. [Figure 3] This figure shows the generation of a composite image using one embodiment of the present invention. [Figure 4] This figure shows a system architecture according to one embodiment of the present invention. [Figure 5] This figure shows a cloud computing environment according to one embodiment of the present invention. [Figure 6] This figure shows an abstraction model layer according to one embodiment of the present invention. [Modes for carrying out the invention]
[0007] Several embodiments of this disclosure will be described in more detail with reference to the accompanying drawings illustrating such embodiments. However, this disclosure can be implemented in various forms and should therefore not be construed as being limited to the embodiments disclosed herein.
[0008] Data regulations prohibit the use of image or video streams containing recognizable facial images to protect individual privacy. For example, video analysis software intended for use including facial mask detection, extensive demographic analysis, and fever detection using IR cameras requires images that are recognizable as faces but not recognizable enough to identify an individual. Typical editing systems pixelate or completely blur detected faces in an image, resulting in previous faces being unrecognizable and undetectable as faces. Analysis of face-related information cannot proceed without recognizable faces. Similarly, traffic analysis software may need the ability to detect various vehicle types but may not need the ability to identify or read vehicle license plate information. The disclosed systems and methods enable video and still images that contain detectable but unrecognizable image portions, such as facial image portions within the image data. The disclosed methods and systems edit recognizable image portions while retaining sufficient image attributes to enable the use of downstream analysis models, but with insufficient attributes to enable the identification of the relevant image content.
[0009] In one embodiment, one or more components of the system employ hardware, software, or both to solve inherently technical problems (e.g., determining a set of attributes to be used by a machine learning model for analysis, receiving image data, detecting portions of the image data relevant to the analysis, generating a composite portion from the detected portion, wherein the composite portion retains a set of attributes of the detected portion, replacing the detected portion with the composite portion to obtain edited image data, providing the edited image for analysis, etc.). These solutions are not abstract and, for example, require processing power to facilitate face detection without identification, and therefore cannot be performed as a series of intelligent actions by humans. Furthermore, some of the processes performed may be carried out by specialized computers to perform predefined tasks related to the selective editing of image data. For example, specialized computers can be used to perform tasks related to providing image portions that are detectable but not identifiable.
[0010] Video analysis software includes machine learning models trained to perform inference and detect specific portions of frames in a video stream or parts of still images. These models may be trained to detect animals, faces, road signs, crosswalks, buses, cars, bicycles, or other objects of interest. The models include weighted attributes associated with the appearance of objects of interest in an image. Appearance attributes may include the shape of the object as a whole and parts of the object, the appearance of the object from various angles, color patterns associated with the type of object, and contextual patterns associated with the object. Smart editing methods enable the identification of an organization from an individual identification badge without simultaneously identifying the individual from that badge. By selectively editing brand images from advertisements, it becomes possible to identify advertisements and product types without identifying the actual brand being advertised. Scene elements, including traffic signs, vehicles, and people, are detected without identifying such people or vehicles.
[0011] Examples of applications of the disclosed embodiments include smart editing of license plates, which can recognize state and county information but not the full license plate number; tracking individuals or vehicles across multiple camera views without enabling identification of individuals or vehicles; and enabling classification of documents after they have been anonymized by smart editing of personal information.
[0012] In one embodiment, the system includes a deep learning model analyzer configured to analyze a downstream analysis model and determine essential attributes necessary for successful downstream image analysis. In this embodiment, the analyzer utilizes a validation data set, either a standalone data set or an active real-time image set such as a video stream. The system further includes a smart editing system that analyzes input image data and outputs edited image data, the edited output image data including edited image portions that are unidentifiable but can be detected by the downstream image analysis model.
[0013] The system may be configured to include a portion detector and smart redactor residing on a smart camera or edge cloud resource, where smart editing is performed as part of camera image processing, and a deep learning model analyzer residing on a cloud resource or a central server where a downstream deep learning image analysis model resides. In such a configuration, the deep learning model on the central server receives edited image data from the cloud or edge cloud resource for further downstream analysis, such as the detection of a face mask. The allocation of system components across the entire computing environment is not essential for the operation of the system as a whole. Various parts may reside on local devices, edge clouds and cloud resources, and on a central server. The disclosed system generally acquires image data, edits the image data according to the requirements of the downstream deep learning model's essential attributes, and outputs edited data that includes the essential attributes but where the identification of individuals or other objects is no longer possible.
[0014] For example, a face detector and smart editor run on an edge cloud resource connected to one or more cameras. The remaining system components run on a central server that receives the edited image data from the edge cloud resource. The system components may be implemented as hardware or firmware to improve performance and prevent tampering with them.
[0015] The following description focuses on editing faces in image data using the disclosed embodiments. Examples of face image editing should not be construed as limiting the scope of the invention. In one embodiment, the method utilizes a validation dataset containing annotated image data. The validation dataset may be a training dataset used to train a deep learning model, in this embodiment a face detection model. The validation dataset may be the output obtained by applying the trained deep learning face detection model to incoming video streams from one or more system cameras. The validation dataset may be the annotated output of the deep learning model for separately supplied video data streams. The validation dataset includes objects detected using the trained deep learning model.
[0016] In one embodiment, the method proceeds by generating an avatar, or a stylized version of a detected object, associated with each detected object (e.g., a face) in a validation data set. The generated avatar may be somewhat similar to the underlying detected object, but not to the extent necessary to identify individual objects. For example, an avatar may be recognizable as a human face, but not identifiable as a specific face or individual. Exemplary avatar generation methods include the use of a face generator trained to generate an avatar when a face image is received, and a generator trained to generate an avatar when image attributes associated with an image (e.g., a face), such as face shape or hair color, are received. In one embodiment, the method generates an avatar by comparing a detected object to a set of possible avatars for that object and selecting the possible avatar with the closest comparableity. For example, each of the underlying object and possible avatars may be represented as a vector, and the comparison includes determining the possible avatar with the vector value closest to the vector value of the underlying detected object. In one embodiment, the method uses the same single stylized representation of the class of possible detected objects for each detected object. The generated avatar can be two-dimensional or three-dimensional.
[0017] In one embodiment, the method generates avatars according to members of a validation data set, and then applies an overlay to each avatar and the corresponding member of the validation data set. In this embodiment, the overlay includes one or more cells, such as rectangular cells of an N×M grid of equal size that cover each avatar and member of the validation set. In one embodiment, the cells have different sizes and shapes and relate to the contours and contrast regions of the underlying detected object. In one embodiment, the method fixes cells to landmarks of the object, such as eyes, nose, and mouth. In one embodiment, the cells do not cover the entire avatar or the underlying object. In one embodiment, the overlay includes a single cell that covers most or all of the avatar and the underlying object. In one embodiment, the method utilizes a single avatar generator and a single overlay or multiple image overlay protocols. In one embodiment, the method uses multiple avatar generators in combination with multiple overlays to generate pairings between the overlaid avatars and the underlying detected object.
[0018] In one embodiment, the method applies object detection to elements of a validation dataset. For example, the method applies face detection analysis to a validation dataset of face images. Face detection as used herein refers to the analysis of images or videos aimed at detecting portions corresponding to human faces, as opposed to face recognition, which analyzes image and video data for the purpose of identifying individuals from the data. Face detection may identify a portion of an image as a human face, whereas face recognition identifies that portion as the face of an individual with a name. Face detection analysis returns attributes for each member of the validation dataset, such as bounding boxes, facial landmarks, pose estimates, and other face attributes. The method then generates avatars for each member of the dataset using one or more avatar generators. In one embodiment, the method uses face attributes such as facial landmarks and pose estimates to adjust or distort the generated avatars to further resemble the underlying detected face image, even if the avatars are already distorted. The method then applies the same image overlay to both the underlying face image and the avatars, respectively. The method then generates one or more composite images by replacing the overlay cells of the avatar with the corresponding overlay cells of the underlying image. In one embodiment, the method overlays the avatar's overlay cells onto the corresponding underlying image's overlay cells with full opacity for the avatar's cells, or by utilizing the opacity ratio between the avatar's cells and the underlying image's cells. In one embodiment, the method generates a set of composite images for each pair of avatars and the underlying image. In this embodiment, the set includes an image having a different set of avatar cells overlaid in place of or on top of the corresponding underlying image cells. For example, in the case of a 3x3 cell overlay grid, using a composite transformation that replaces one or more cells from the avatar with the underlying image, the complete set of possible composite images includes 2^(3*3), or 512 unique composite images. In the case of a 10x10 overlay grid, the complete set of composite images includes approximately 10^30 composite images.
[0019] In one embodiment, the method analyzes a deep learning image analysis model using the set of composite images described above, determines the attributes used by the model, and determines one or more sets of attributes sufficient for detecting a desired object. In this embodiment, the method selects a composite image and its corresponding underlying image from the set, the selection may be performed using one of the other selection methods: a grid search of the set, a random search of the set, or sequential selection of all images in the set. In one embodiment, the method selects a validation set of images, selects possible composite image transformations, and generates a composite image according to the transformation to obtain a pair of underlying and composite images. For each selected composite image / underlying image pair, the method applies the deep learning model's image analysis software and the deep learning model classifier to each image in the pair. The method compares the predictions of the deep learning model for each of the two images. The method determines an accuracy score for each transformation associated with a set of selected image pairs that embody the selected set of composite image transformations. The method determines the accuracy score as the number of correct predictions for the composite image generated using the transformation divided by the number of correct predictions for the underlying image. A higher accuracy indicates that the associated composite image transformation results in a composite image with attributes sufficient to be detectable by a deep learning model. In this embodiment, the method records the composite transformation with the highest accuracy score.
[0020] In one embodiment, the method identifies and filters out accurate synthetic transformations that result in detectable image portions that retain too many attributes of the underlying image, such as a transformation that results in a face that is both detectable and identifiable. In this embodiment, transformations that result in a synthetic image in which only a portion of the underlying image is replaced by the avatar below a threshold level may be filtered out or excluded from further consideration. In this embodiment, the method applies appropriate object recognition analysis, such as face recognition analysis, to the synthetic image and the associated underlying image, and compares the face recognition results, such as face recognition feature vectors, for each of the synthetic image and the underlying image. Transformations with a similarity metric below a threshold that shows a high degree of similarity between the feature vectors of the synthetic image and the feature vectors of the underlying image are filtered out from a set of synthetic image transformations. Such transformations result in synthetic image portions that retain enough attributes to enable recognition in addition to detection of the image portions. In this embodiment, the method selects the most accurate synthetic image transformation from the remaining set of transformations. The transformation thus selected results in synthetic image portions that are detectable by downstream machine learning models but lack enough attributes to enable recognition beyond simple detection of the image portions.
[0021] In one embodiment, the method utilizes one or more of a selection of high-accuracy synthetic image transformations for selective editing of image data. In this embodiment, the method receives image data, applies an appropriate deep learning analysis model to the image data, and detects objects such as faces that are suitable for the model. The method then applies a selection of synthetic image transformations to the detected portion of the image, resulting in an edited synthetic image from the underlying image. In one embodiment, the method then replaces the underlying image with the edited synthetic image and provides the already edited image data as output, either as an edited still image or an edited video stream.
[0022] In one embodiment, the method determines a set of attributes sufficient to enable detection of image portions by a downstream machine learning model. The method embodies this set of attributes as a set of one or more synthetic image generation transformations. The method analyzes the set of transformations to identify those that result in synthetic images that are indistinguishable as the original underlying image portions. These identified transformations are then passed to a smart editor for use in editing incoming image data, resulting in data that retains detectable features that are indistinguishable as the original image data.
[0023] FIG. 1 provides a schematic diagram of exemplary network resources associated with the implementation of the disclosed invention. The present invention may be implemented in any processor of the disclosed elements that processes instruction streams. As shown in the figure, networked client device 110 wirelessly connects to server subsystem 102. Client device 104 wirelessly connects to server subsystem 102 via network 114. Client devices 104 and 110 include a computing resource (processor, memory, network communication hardware) sufficient to execute an image data editing program (not shown). Client devices 104 and 110 may include a user interface device such as a camera, smartphone, tablet, or personal computer, or an edge cloud processing device. As shown in FIG. 1, server subsystem 102 includes server computer 150. FIG. 1 shows a block diagram of the components of server computer 150 within networked computer system 1000 according to one embodiment of the present invention. It should be understood that FIG. 1 merely provides an example of one implementation form and does not imply any limitations regarding the environment in which different embodiments may be implemented. Many changes can be made to the illustrated environment.
[0024] Server computer 150 can include a processor 154, a memory 158, a persistent storage 170, a communication unit 152, an input / output (I / O) interface 156, and a communication fabric 140. Communication fabric 140 provides communication among cache 162, memory 158, persistent storage 170, communication unit 152, and input / output (I / O) interface 156. Communication fabric 140 can be implemented using any architecture designed to pass data or control information or both between a processor (such as a microprocessor, communication and network processor, etc.), system memory, peripheral devices, and any other hardware components within the system. For example, communication fabric 140 can be implemented using one or more buses.
[0025] Memory 158 and persistent storage 170 are computer-readable storage media. In this embodiment, memory 158 includes random access memory (RAM) 160. Generally, memory 158 can include any suitable volatile or non-volatile computer-readable storage media. Cache 162 is a high-speed memory that improves the performance of processor 154 by holding data most recently accessed from memory 158 and data near the most recently accessed data.
[0026] Program instructions and data used to implement embodiments of the present invention, such as an image data processing program 175, are stored in persistent storage 170 for execution or access, or both, via a cache 162 by one or more of the processors 154 of the server computer 150. In this embodiment, persistent storage 170 includes a magnetic hard disk drive. As an alternative to or addition to the magnetic hard disk drive, persistent storage 170 may include a solid-state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0027] The media used by the persistent storage 170 may also be removable. For example, a removable hard drive may be used for the persistent storage 170. Other examples include optical and magnetic disks, thumb drives, and smart cards inserted into the drive for transfer to another computer-readable storage medium, which is also part of the persistent storage 170.
[0028] In these examples, the communication unit 152 provides communication with other data processing systems or devices, including the resources of client computing devices 104 and 110. In these examples, the communication unit 152 includes one or more network interface cards. The communication unit 152 may provide communication using either or both physical communication links and wireless communication links. Software distribution programs, as well as other programs and data used in the implementation of the present invention, may be downloaded via the communication unit 152 to the persistent storage 170 of the server computer 150.
[0029] The I / O interface 156 enables data input and output with other devices that may be connected to the server computer 150. For example, the I / O interface 156 may provide connection to an external device 190 such as a keyboard, keypad, touchscreen, microphone, digital camera, or any other suitable input device or combination thereof. The external device 190 may also include portable computer-readable storage media such as a thumb drive, portable optical or magnetic disk, and memory card. Software and data used to implement embodiments of the present invention, for example, an image data processing program 175 on the server computer 150, may be stored on such portable computer-readable storage media and loaded into persistent storage 170 via the I / O interface 156. The I / O interface 156 also connects to a display 180.
[0030] The display 180 provides a mechanism for displaying data to the user and may be, for example, a computer monitor. The display 180 can also function as a touch screen, such as the display of a tablet computer.
[0031] Figure 2 provides a flowchart 200 illustrating exemplary activities related to the implementation of this disclosure. After the program starts, in block 210, the method determines the attributes to be used by the machine learning model for analysis. In one embodiment, the method processes a validation dataset or live streaming data using a downstream machine learning model to detect portions of interest to the model for analysis. For each detected portion, the model generates one or more composite images using a single transformation or a series of image transformations. The method then evaluates the transformations and identifies transformations that result in image portions that are detectable by the downstream model but do not already contain enough attributes to be recognizable as the underlying subject. For example, the method identifies transformations that result in composite image portions that are still detectable as human faces but are no longer recognizable as the faces of the underlying human subject. The method selects the transformation with the highest accuracy, i.e., the transformation that gives the highest ratio of composite image detection to underlying image detection. The selected transformation embodies the analysis attributes of the downstream machine learning model.
[0032] In block 220, the method receives image data in the form of still images or video from one or more cameras. The received image data includes image portions that can be detected by image analysis by a downstream machine learning model.
[0033] In block 230, the method applies a downstream machine learning model to image data to detect image portions of interest to the model. In block 240, the method generates a composite image portion corresponding to the detected image portion. In one embodiment, the method generates an avatar for each detected image portion and applies a transformation to the pair of the underlying detected portion and the avatar to generate a composite image portion as a transformed combination of the two image portions. In this embodiment, the avatar may be modified according to attributes such as facial landmarks or pose estimation from the underlying image in order to make the composite image more similar to the underlying image.
[0034] In block 250, the method edits the original image data by replacing the detected portion with a composite portion generated using one or more transformations as described above. The editing results in an image data stream, which in block 260 may be provided to a downstream machine learning model to detect the already edited image portion for further analysis without the risk of privacy issues from recognition analysis of the detected portion, and may be analyzed by the downstream machine learning model.
[0035] Figure 3 provides a series of schematic diagrams illustrating the steps of generating a composite image from an underlying detection image portion using an avatar image and transformations. 300A shows the underlying detection portion extracted from the received image data. The underlying detection portion includes a portion of the human face image 310. 300B shows the avatar 320 generated using attributes extracted from the detection portion 300A. 300A and 300B show the human face image portion 310 of 300A and the avatar 320 of 300B, respectively, after the application of the image overlay 315. The image overlay 315 includes multiple cells that cover all or part of the face image portion 310, the avatar 320, and the composite image portion 330. 300C shows the composite image portion 330 generated using a transformation to substitute a portion of the avatar 320 for a corresponding portion of the human face image portion 310.
[0036] Figure 4 shows a schematic diagram 400 of a system architecture according to one embodiment of the present invention. As shown in the figure, the smart camera 410 includes a face detector 412 and a smart face editor 414. The face detector 412 and the smart face editor 414 may comprise hardware or software components of the smart camera 410. As shown in the figure, the smart face editor 414 communicates with a downstream deep learning analyzer 422 located on a remote server 420. The smart face editor 414 passes detected portions, such as faces, to deep learning video analysis software 424 and a deep learning model 426 to determine essential or sufficient attributes to be used by the deep learning model 426. The smart face editor 414 further communicates with the deep learning analyzer 422, also located on the remote server 420, to receive the determined attributes from the deep learning model 426.
[0037] The video analysis software 424 receives edited image data from the smart editor 414 for analysis, such as detecting face masks. The video analysis software 424 and the deep learning analyzer 422 each communicate with the deep learning model 426 and utilize the deep learning model 426 for image data detection and further analysis. The video analysis software 424 passes the output of its detected portion to the deep learning model for further analysis and classification. The deep learning analyzer 422 analyzes the processing and classification of the original image and composite image pairs by the deep learning model 426 to determine the attributes used by the deep learning model 426 and passes the determined attributes to the smart editor 414.
[0038] In one embodiment, the smart face editor 414 receives one or more image data transformations from the deep learning analyzer 422. In this embodiment, the image data transformations are applied to the underlying image portion and the avatar image to generate composite image data by selectively replacing the underlying image data with avatar data.
[0039] While this disclosure includes a detailed description of cloud computing, it should be understood that implementations of the teachings described herein are not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in conjunction with any other type of computing environment currently known or to be developed in the future.
[0040] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0041] The features are as follows:
[0042] On-demand self-service: Cloud consumers can unilaterally provision computing functions such as server time and network storage automatically as needed, without requiring human interaction with service providers.
[0043] Extensive network access: The functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin-client platforms or thick-client platforms (e.g., mobile phones, laptops, and PDAs).
[0044] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated as needed. Consumers generally have no control or knowledge of the exact location of the resources provided, but they can be said to have location independence in that they may be able to pinpoint the location at a higher level of abstraction (e.g., country, state, or data center).
[0045] Rapid Flexibility: Features can be provisioned quickly and flexibly, sometimes automatically, to rapidly scale out, and rapidly release and scale in. To consumers, the features available for provisioning often appear unlimited and can be purchased in any quantity at any time.
[0046] Service Measurement: Cloud systems automatically control and optimize resource usage by leveraging metric capabilities at a certain level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.
[0047] The service model is as follows:
[0048] Software as a Service (SaaS): This refers to the ability provided to consumers to use applications from a provider that run on cloud infrastructure. These applications are accessible from various client devices via thin-client interfaces, such as web browsers (e.g., web-based email). With the expected exception of limited user-specific application configuration settings, consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or individual application functionalities.
[0049] Platform as a Service (PaaS): A feature provided to consumers to deploy applications they have created or acquired, written using programming languages and tools supported by the provider, onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure such as networks, servers, operating systems, or storage, but they control the deployed applications and, in some cases, the applications that host the environment configuration.
[0050] Infrastructure as a Service (IaaS) is a feature provided to consumers to provision processing, storage, networking, and other basic computing resources, enabling them to deploy and run any software, including operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do control the operating system, storage, and deployed applications, and in some cases, have limited control over selected network components (e.g., host firewalls).
[0051] The deployment model is as follows:
[0052] Private Cloud: A cloud infrastructure is operated exclusively for a specific organization. This cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises.
[0053] Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community that shares common interests (e.g., missions, security requirements, policies, and compliance considerations). This cloud infrastructure may be managed by an organization or a third party and may reside on-premises or off-premises.
[0054] Public Cloud: Cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0055] Hybrid Cloud: Cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain independent entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing across clouds).
[0056] Cloud computing environments are service-oriented, emphasizing statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure, including a network of interconnected nodes.
[0057] Referring now to Figure 5, an exemplary cloud computing environment 50 is shown. As illustrated, the cloud computing environment 50 includes one or more cloud computing nodes 10 that can communicate with local computing devices used by cloud consumers, such as a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automotive computer system 54N or a combination thereof. The nodes 10 may communicate with each other. They may be physically or virtually grouped within one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described herein (not shown). This enables the cloud computing environment 50 to provide infrastructure, platforms, or software, or a combination thereof, as a service that does not require cloud consumers to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A to 54N shown in Figure 5 are for illustrative purposes only, and that the computing node 10 and the cloud computing environment 50 can communicate with any type of computerized device via any type of network or network addressable connection or both (for example, using a web browser).
[0058] Referring now to Figure 6, a set of functional abstraction layers provided by the cloud computing environment 50 (Figure 5) is shown. It should be understood that the components, layers, and functions shown in Figure 6 are for illustrative purposes only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0059] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include a mainframe 61, RISC (Reduced Instruction Set Computer) architecture-based servers 62, 63, blade servers 64, storage devices 65, and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0060] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: a virtual server 71, virtual storage 72, a virtual network 73 including a virtual private network, a virtual application and operating system 74, and a virtual client 75.
[0061] For example, the management layer 80 may provide the following functions: Resource provisioning 81 provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are used within the cloud computing environment and billing or invoices for the consumption of these resources. For example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. The user portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources so that the required service levels are met. Service level agreement (SLA) planning and execution 85 provides pre-positioning and procurement of cloud computing resources that are expected to be required in the future in accordance with the SLA.
[0062] The workload layer 90 provides examples of functions that can be utilized in a cloud computing environment. Examples of workloads and functions that can be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom education delivery 93, data analysis processing 94, transaction processing 95, and image data processing programs 175.
[0063] The present invention may be a system, method, or computer program product or combination thereof at any possible level of integration of technical details. The present invention may be advantageously implemented in any single or parallel system that processes instruction streams. The computer program product may include a computer-readable storage medium (or a plurality of computer-readable storage media) having computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0064] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any preferred combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes, namely, portable computer diskettes, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random-access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved raised structures on which instructions are recorded, and any preferred combination thereof. The computer-readable storage media or computer-readable storage devices used herein should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through optical fiber cables), or electrical signals transmitted through wires.
[0065] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and transfers those computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0066] The computer-readable program instructions for performing the operation of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk(R) and C++, and procedural programming languages such as the C programming language or similar programming languages. The computer-readable program instructions may be executed as a standalone software package entirely on the user's computer, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or a server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it may be connected to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, to carry out aspects of the present invention, an electronic circuit including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute a computer-readable program instruction by personalizing the electronic circuit using state information of the computer-readable program instruction.
[0067] This specification describes aspects of the present invention with reference to flowcharts or block diagrams, or both, of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block in the flowchart or block diagram, or both, and combinations of blocks in the flowchart or block diagram, or both, can be implemented by computer-readable program instructions.
[0068] These computer-readable program instructions may be provided to a general-purpose computer, a dedicated computer, or a processor of another programmable data processing device to create a machine, such that instructions executed via the processor of a computer or other programmable data processing device create means for performing functions / operations specified in one or more blocks of a flowchart or block diagram, or both. These computer-readable program instructions may also be stored on a computer-readable storage medium in which the instructions are collectively stored, so as to include a product containing instructions that perform modes of functions / operations specified in one or more blocks of a flowchart or block diagram, or both, and can be used to instruct a computer, a programmable data processing device, or other device or a combination thereof to function in a particular manner.
[0069] Computer-readable program instructions may also be instructions that are loaded into a computer, other programmable device, or other device to create a computer-executed process in which the instructions executed by the computer, other programmable device, or other device perform a function / action specified in one or more blocks of a flowchart or block diagram, or both, causing the computer, other programmable device, or other device to execute a series of operational steps.
[0070] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions described in a block may be performed in an order different from the order shown in the figure. For example, two blocks shown consecutively may actually be executed substantially simultaneously, depending on the functionality involved, or they may be executed in reverse order, depending on the case. It should also be noted that each block in a block diagram or flowchart, or both, and combinations of blocks in a block diagram or flowchart, or both, may be implemented by a dedicated hardware-based system that performs a specified function or operation, or performs a combination of dedicated hardware and computer instructions.
[0071] References in this specification to “one embodiment,” “embodiment,” and “exemplary embodiment” indicate that the embodiments described may include certain features, structures, or characteristics, but not all embodiments necessarily include such features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when certain features, structures, or characteristics are described in relation to one embodiment, it is considered within the knowledge of those skilled in the art that they may affect such features, structures, or characteristics in relation to other embodiments, whether or not they are explicitly described.
[0072] The terms used herein are for the sole purpose of describing specific embodiments and are not intended to limit the invention. The singular forms “a,” “an,” and “the,” as used herein, are intended to include the plural form unless otherwise specified in the context. It will be further understood that the terms “comprises” or “comprising,” as used herein, indicate the presence of a described feature, integer, step, operation, element, or component, or a combination thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof, or combinations thereof.
[0073] The descriptions of various embodiments of the present invention are presented for illustrative purposes only and are not intended to be exhaustive or limitful to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the invention. The terminology used herein has been selected to best describe the principles of the embodiments, practical applications, or technical improvements to the technology available on the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer method for selectively editing images, Receiving image data by one or more computer processors, The detection of a set of portions of the image data related to the analysis by one or more computer processors, wherein each of the sets of portions includes a set of attributes, The generation of a composite portion from the portion by one or more computer processors, wherein the composite portion retains at least some of the set of attributes of the portion, For each of the aforementioned sets of parts, The one or more computer processors generate avatars for the parts, Applying an overlay to each of the avatar and the parts using one or more computer processors, wherein the overlay includes a plurality of cells, The replacement is performed by one or more computer processors, in accordance with the transformation, by replacing the cells of the portion with the cells of the avatar to obtain a set of composite portions, wherein each composite portion of the set of composite portions is associated with one of the transformations in the set of transformations. The one or more computer processors analyze the set of composite parts using a machine learning model, The analysis of the set of parts using the machine learning model by one or more computer processors, The accuracy is determined by one or more computer processors according to the analysis of the set of composite parts and the analysis of the set of parts, The one or more computer processors select a conversion from the set of conversions according to the accuracy, Using the transformation, one or more computer processors generate a composite part from a part, The one or more computer processors replace the portion with the composite portion to obtain edited image data, The edited image data is provided for the analysis by the one or more computer processors. A computer implementation method, including
2. The edited image data is analyzed using a machine learning model by one or more computer processors. The computer implementation method according to claim 1, further comprising:
3. The computer implementation method according to claim 1, wherein the image data includes video data.
4. The one or more computer processors generate avatars for the parts, Applying an overlay to each of the avatar and the parts using one or more computer processors, wherein the overlay includes a plurality of cells, The one or more computer processors replace the cells of the portion with the cells of the avatar to produce the composite portion. The computer implementation method according to claim 1, further comprising:
5. The one or more computer processors detect at least some of the set of attributes of the part, The avatar is adjusted according to at least some of the set of attributes detected by the one or more computer processors. The computer implementation method according to claim 4, further comprising:
6. On the computer, Program instructions for receiving image data, A program instruction for detecting a set of parts of the aforementioned image data that are relevant to the analysis, wherein each of the set of parts includes a set of attributes, A program instruction for generating a composite portion from the aforementioned portion, wherein the composite portion holds at least some of the set of attributes of the aforementioned portion; For each of the aforementioned sets of parts, Program instructions for generating an avatar for the aforementioned part, A program instruction for applying an overlay to each of the avatar and the parts thereof, wherein the overlay includes a plurality of cells, A program instruction for replacing the cells of the part with the cells of the avatar according to the transformation, thereby yielding a set of composite parts, wherein each composite part of the set of composite parts is associated with one of the transformations in the set of transformations, Program instructions for analyzing the set of composite parts using a machine learning model, Program instructions for analyzing the set of parts using the machine learning model, Program instructions for determining accuracy according to the analysis of the set of composite parts and the analysis of the set of parts, A program instruction for selecting a conversion from the set of conversions according to the accuracy, Using the aforementioned transformation, a program instruction for generating a composite part from a part, The above portion is replaced with the above-mentioned composite portion, and a program instruction for obtaining edited image data is provided, Program instructions for providing the edited image data for the analysis and A computer program that executes something.
7. Program instructions for analyzing the edited image data using a machine learning model The computer program according to claim 6, which further executes the following.
8. The computer program according to claim 6, wherein the image data includes video data.
9. To the aforementioned computer, Program instructions for generating an avatar for the aforementioned part, A program instruction for applying an overlay to each of the avatar and the parts thereof, wherein the overlay includes a plurality of cells, The cells in the aforementioned portion are replaced with the cells of the avatar, and the program instructions for producing the composite portion are The computer program according to claim 6, which further executes the following.
10. To the aforementioned computer, A program instruction for detecting at least some of the set of attributes of the aforementioned portion, Program instructions for adjusting the avatar according to at least some of the detected set of attributes and The computer program according to claim 9, which further executes the following.
11. A computer system for selectively editing images, wherein the computer system One or more computer processors, One or more computer-readable storage devices, For execution by the one or more computer processors, a program instruction stored on the one or more computer-readable storage devices, wherein the stored program instruction is Program instructions for receiving image data, A program instruction for detecting a set of parts of the aforementioned image data that are relevant to the analysis, wherein each of the set of parts includes a set of attributes, A program instruction for generating a composite portion from the aforementioned portion, wherein the composite portion holds at least some of the set of attributes of the aforementioned portion; For each of the aforementioned sets of parts, Program instructions for generating an avatar for the aforementioned part, A program instruction for applying an overlay to each of the avatar and the parts thereof, wherein the overlay includes a plurality of cells, A program instruction for replacing the cells of the part with the cells of the avatar according to the transformation, thereby yielding a set of composite parts, wherein each composite part of the set of composite parts is associated with one of the transformations in the set of transformations, Program instructions for analyzing the set of composite parts using a machine learning model, Program instructions for analyzing the set of parts using the machine learning model, Program instructions for determining accuracy according to the analysis of the set of composite parts and the analysis of the set of parts, A program instruction for selecting a conversion from the set of conversions according to the accuracy, Using the aforementioned transformation, a program instruction for generating a composite part from a part, The above portion is replaced with the above-mentioned composite portion, and a program instruction for obtaining edited image data is provided, Program instructions for providing the edited image data for the analysis and A computer system that includes [a specific feature / function].
12. Program instructions for analyzing the edited image data using a machine learning model The computer system according to claim 11, further comprising:
13. The computer system according to claim 11, wherein the image data includes video data.
14. Program instructions for generating an avatar for the aforementioned part, A program instruction for applying an overlay to each of the avatar and the parts thereof, wherein the overlay includes a plurality of cells, The cells in the aforementioned portion are replaced with the cells of the avatar, and the program instructions for producing the composite portion are The computer system according to claim 11, further comprising:
15. A program instruction for detecting at least some of the set of attributes of the aforementioned portion, Program instructions for adjusting the avatar according to at least some of the detected set of attributes and The computer system according to claim 14, further comprising:
16. A computer method for selectively editing image data, Determining, by one or more computer processors, at least one image data transformation that yields a composite image portion from an underlying image portion, wherein the composite image portion is sufficient for detection of the image data portion by a machine learning model, but insufficient for identification of the image data portion, The one or more computer processors detect the underlying image data portion within the image data, The one or more computer processors apply the at least one transformation to the underlying image data portion to produce a composite image portion. The one or more computer processors replace the underlying image portion with the composite image portion to obtain edited image data. The edited image data is provided to the machine learning model by the one or more computer processors. Includes, Determining the at least one image data transformation includes selecting an image data transformation according to the accuracy of the machine learning model. Computerized implementation method.
17. The one or more computer processors generate avatars for the underlying image data portion, The one or more computer processors apply the at least one transformation to the underlying image data portion and the avatar, replacing the data of the underlying image data portion with the data of the avatar to obtain the composite image portion. The computer implementation method according to claim 16, further comprising:
18. The computer implementation method according to claim 16, wherein the image data includes video data.
19. Selecting image data transformations according to the accuracy of the aforementioned machine learning model is, Analyzing the synthesized image portion using a machine learning model, Analyzing the underlying image data portion using the aforementioned machine learning model, The accuracy is determined according to the analysis of the composite image portion and the analysis of the underlying image data portion. The computer implementation method according to claim 16, performed by [the specified method].
20. A computer program that causes one or more computer processors to perform the method described in any one of claims 16 to 19.
21. A computer system for selectively editing images, wherein the computer system is One or more computer processors, One or more computer-readable storage devices and It is equipped with, The computer system, which causes one or more computer processors to execute the computer program according to claim 20 stored on one or more computer-readable storage devices.
22. A method for selectively editing image data, wherein one or more computer processors Determining a set of image data attributes associated with a machine learning model, wherein the set of image data attributes is sufficient for data part detection by the machine learning model, Detecting a set of parts, For each of the aforementioned sets of parts, To generate an avatar for the aforementioned part, Applying an overlay to each of the avatar and the parts thereof, wherein the overlay includes multiple cells, The replacement involves replacing the cells of the part with the cells of the avatar according to the transformation, resulting in a set of composite parts, wherein each composite part of the set of composite parts is associated with one of the transformations in the set of transformations. Analyzing the aforementioned set of composite parts using a machine learning model, Analyzing the set of parts using the aforementioned machine learning model, The accuracy is determined according to the analysis of the set of composite parts and the analysis of the set of parts, Selecting a conversion from the set of conversions according to the accuracy, Using the aforementioned transformation, a composite part is generated from a part, Selectively editing image data according to the aforementioned set of image attributes, and obtaining edited image data, To provide the edited image data to the machine learning model. A method that includes performing [something].
23. The method according to claim 22, wherein the image data includes video data.
24. A computer program that causes one or more computer processors to perform the method described in any one of claims 22 or 23.
25. A computer system for selectively editing images, wherein the computer system comprises: One or more computer processors, One or more computer-readable storage devices and It is equipped with, The computer system, which causes one or more computer processors to execute the computer program according to claim 24 stored on one or more computer-readable storage devices.
Citation Information
Patent Citations
Image processing apparatus, image processing system, image processing method, and computer program
JP2014067131A
Method and system for monitoring driving behavior
JP2018528536A
Image processing apparatus
JP2020086921A
Information output device, camera, information output system, information output method, and program
WO2016114392A1