CN110706148B - Face image processing method, device, equipment and storage medium - Google Patents

Face image processing method, device, equipment and storage medium Download PDF

Info

Publication number
CN110706148B
CN110706148B CN201910959768.4A CN201910959768A CN110706148B CN 110706148 B CN110706148 B CN 110706148B CN 201910959768 A CN201910959768 A CN 201910959768A CN 110706148 B CN110706148 B CN 110706148B
Authority
CN
China
Prior art keywords
image processing
library
gpu
processing task
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910959768.4A
Other languages
Chinese (zh)
Other versions
CN110706148A (en
Inventor
吴孟晴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201910959768.4A priority Critical patent/CN110706148B/en
Publication of CN110706148A publication Critical patent/CN110706148A/en
Application granted granted Critical
Publication of CN110706148B publication Critical patent/CN110706148B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The embodiment of the invention discloses a face image processing method, a device, equipment and a storage medium, wherein the face image processing method comprises the following steps: acquiring an image processing task instruction; determining target library positions for executing image processing tasks according to running state information of graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment; and sending the image processing task instruction to the target library position, so that each GPU device in the target library position can execute the image processing task instruction in parallel based on the stored image library. The embodiment of the invention selects the proper target library position for the image processing task based on the judgment of the running state information of the graphic processing GPU equipment, ensures that the execution of the image processing task is not influenced when some library positions are in problem, and ensures the execution success rate of the image processing task; and for the image processing task, each GPU device in the target library is executed in parallel, so that the execution efficiency of the image processing task is improved.

Description

Face image processing method, device, equipment and storage medium
Technical Field
The embodiment of the invention relates to the technical field of computers, in particular to a face image processing method, a device, equipment and a storage medium.
Background
With the development of the internet of things, the requirements of people on the response speed of the server are higher. In the face technical field, a user can complete a series of face image processing operations through a graphics processing server deployed with a face algorithm, and a graphics processor (Graphics Processing Unit, GPU) is integrated in the graphics processing server, which may be simply referred to as a GPU server. And the operation response to the face image can be realized faster by uploading the face library to the GPU server.
Typically, for multiple face service requests, the GPU server needs to process sequentially. If a face library in a GPU server is shared by a plurality of face image processing scenes, the processing speed of the service request is slow.
Disclosure of Invention
The embodiment of the invention provides a face image processing method, a device, equipment and a storage medium, which are used for improving the face image processing efficiency and the execution success rate of an image processing task.
In a first aspect, an embodiment of the present invention provides a face image processing method, including:
acquiring an image processing task instruction;
determining target library positions for executing image processing tasks according to running state information of graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment;
and sending the image processing task instruction to the target library bit, so that each GPU device in the target library bit can execute the image processing task instruction in parallel based on the stored image library.
In a second aspect, an embodiment of the present invention further provides a face image processing apparatus, including:
the task instruction acquisition module is used for acquiring an image processing task instruction;
the target library position determining module is used for determining target library positions for executing image processing tasks according to the running state information of the graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment;
and the task instruction execution module is used for sending the image processing task instruction to the target library position so that each GPU device in the target library position can execute the image processing task instruction in parallel based on the stored image library.
In a third aspect, an embodiment of the present invention further provides a computer apparatus, including:
one or more processors;
storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement a face image processing method according to any of the embodiments of the present invention.
In a fourth aspect, an embodiment of the present invention further provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements a face image processing method according to any of the embodiments of the present invention.
Based on the judgment of the running state information of the graphic processing GPU equipment, the embodiment of the invention selects the proper target library position for the image processing task from a plurality of preset library positions, wherein the plurality of library positions can be aimed at the same face logic library, and the content and the position of the plurality of library positions are the same, so that the execution of the image processing task is not influenced when some library positions have problems, and the execution success rate of the image processing task is ensured; and for the image processing task, each GPU device in the target library is executed in parallel, so that the execution efficiency of the image processing task and the execution success rate of the image processing task are improved.
Drawings
Fig. 1 is a flowchart of a face image processing method in a first embodiment of the present invention;
fig. 2 is a flowchart of a face image processing method in the second embodiment of the present invention;
FIG. 3 is an exemplary diagram of a face logical library bit and a page bit in a second embodiment of the present invention;
fig. 4 is a schematic structural diagram of a face image processing apparatus in the third embodiment of the present invention;
fig. 5 is a schematic structural diagram of a computer device in a fourth embodiment of the present invention.
Detailed Description
The invention is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
Fig. 1 is a flowchart of a face image processing method in a first embodiment of the present invention, which is applicable to the face image processing field and improves the task execution efficiency and the task execution success rate of the face image processing. The method may be performed by a facial image processing apparatus, which may be implemented in software and/or hardware, and may be configured in a computer device, such as a background server, for example, having communication and computing capabilities. As shown in fig. 1, the method specifically includes:
step 101, acquiring an image processing task instruction.
The image processing task instruction refers to a task request which is sent to the face image library and requests a job. In this embodiment, one or more image processing task instructions may be obtained according to different image processing requirements, and different image processing task instructions may be aimed at processing requirements under different image processing scenes, where the image processing scenes may be divided according to different image processing requesters, or may be divided according to different image usage scenes. Alternatively, the image processing task instruction may be sent to the computer device for executing the technical solution of the embodiment through a face detection device or an identity discovery device or an interaction device, for example, a camera, a wifi box, a mobile phone Application (APP), an all-in-one machine, or the like.
Optionally, the image processing task instruction includes a face image comparison processing instruction, a face information query instruction, a face image quality detection instruction, and a change operation instruction of a face image stored in each GPU device, where the change includes addition, deletion, and modification. The face image comparison processing instruction may include an image 1 to 1 comparison task instruction, and the change operation instruction of the face image stored in each GPU device may include a face storage operation instruction and the like.
Specifically, the face image comparison processing instruction includes searching a face library for a target face image identical to the comparison face image; the face information inquiry instruction comprises inquiring face information in a face library; the face image quality detection instruction comprises detection of the generation quality of a target face image, and mainly aims to screen unqualified face images, such as face images which cannot be identified by face blurring; the change operation instruction includes operations of adding, deleting, and modifying a face image stored in the GPU device, for example, requesting deletion of a certain face image stored in the GPU device and related information.
Step 102, determining target library bits for executing the image processing task according to the running state information of the graphic processing GPU equipment, wherein each library bit comprises at least one GPU equipment.
The graphic processing GPU equipment is equipment for processing images, wherein a processor is a GPU, the equipment comprises a hardware server integrated with a face algorithm, and the face algorithm comprises a face comparison algorithm, a management method for face images and the like. The running state information refers to parameter information capable of representing the running condition of the GPU equipment, and comprises the online state, the memory size, the cache information and the like of the GPU equipment. The target library bit refers to a library bit which is identified according to the running state information of the GPU device and meets the requirement of executing the task, for example, the target library bit may be an idle library bit, i.e. a library bit which does not currently execute the image processing task, or a library bit which supports that the number of the executed image processing tasks does not reach the upper limit.
Before determining the target library bits, in this embodiment, a plurality of library bits may be preconfigured, where each library bit includes at least one GPU device, and the plurality of library bits may correspond to a face logic library. The face logic library refers to an image library for providing face information for different image processing scenes, and can be stored in different GPU devices in a partitioning manner according to the number of GPU devices in a plurality of library bits, and the face image stored in each GPU device is called a target library. Each library bit has the same position and consistent information, each library bit comprises a plurality of page bits, each page bit refers to a GPU equipment subset obtained by grouping GPU equipment in each library bit, the information of each page bit is different, and the information of all page bits is combined into a complete library bit. These page bits may be sequentially numbered, and may be referred to as page 1 bit, page 2 bit, page 3 bit, and so on, for example. For example, a page bit includes part of the information of a GPU object library, i.e., a face logic library. Determining operating state information for a graphics processing GPU device includes determining the availability of page bits, e.g., the availability of each page bit may be determined by the GPU device's on-line state or memory information, and if the GPU device is not on-line or full of memory, the page bit may not be available. If a page bit is not available, then the bank bit to which it belongs is not available. Each page bit in the determined target bank bit is available. Each library position in the target library positions can be used for guaranteeing the integrity of the target library positions, and further guaranteeing the accuracy of image processing task execution.
In addition, in the embodiment, a corresponding face logic library in a plurality of library bits is supported to be used together in a plurality of scenes, compared with the prior art, the method and the device have the advantages that each face logic library in each image processing scene is not needed to be used in an isolated mode, each library bit can be used for different image processing scenes, the utilization rate of the computing capacity of GPU equipment in different image processing scenes is improved, the waste of the computing capacity of the GPU is reduced, and the GPU equipment is utilized maximally.
And step 103, sending the image processing task instruction to the target library position, so that each GPU device in the target library position can execute the image processing task instruction in parallel based on the stored image library.
After the target library position is determined, an image processing task is issued to the target library position, wherein the target library position comprises a plurality of page positions, each page position can comprise a GPU (graphics processing unit) device, and the GPU device stores the image library content of a part of face logic library corresponding to the target library position. When the target library bit receives the image processing task, all page bits belonging to the target library bit execute the image processing task at the same time, and when the image processing task of a certain target page bit is executed, the execution of the image processing task is considered to be ended, the execution of the rest page bits is stopped, and meanwhile, the target page bit returns an execution result to the computer equipment for realizing the technical scheme of the embodiment.
Taking the obtained image processing task instruction as an example, assume that three library bits correspond to a face logic library, the numbers of the three library bits are respectively a number 1 library bit, a number 2 library bit and a number 3 library bit, and each library bit comprises three page bits which are respectively a number 1 page bit, a number 2 page bit and a number 3 page bit. And when the task instruction for searching the library is issued, the determined target library is the library 3. And executing the instruction for searching the library by using the graph at the same time by three page bits in the No. 3 library bit, namely searching a corresponding image in the GPU target library corresponding to each page bit, and stopping searching the task by the No. 2 page bit and the No. 3 page bit when the No. 1 page bit is searched in the corresponding image, so that the task is completed. The execution efficiency of the image processing task is improved by executing the task in parallel with a plurality of page bits, and the efficient search of the oversized library can be realized by adding page bits to each library bit. When the face logic library is smaller or the time consumption is acceptable, the page bit number can be 1, namely, the single page mode is adopted, the number of GPU equipment is reduced by the single page mode, and the cost can be saved.
For example, when the image processing task instruction is to read and query face information, for each GPU device executing the task, first, the in-heap high-frequency cache of each GPU device is queried, then the distributed cache is queried, and the database in the GPU device, that is, the target database, is queried only when the distributed cache is not queried. The in-pile high-frequency cache comprises face information which is counted according to historical query records and stored in the GPU equipment cache and has high query frequency, and optionally, the in-pile cache can be updated according to the daily query frequency. The distributed cache refers to historical query face information stored in the GPU equipment cache according to historical query record statistics, and optionally, the distributed cache can be updated according to real-time query, latest query information is added in the distributed cache, and information which reaches a time threshold and is not queried is deleted. The database refers to a data storage area for storing the whole face information in the GPU equipment.
Based on the judgment of the running state information of the graphic processing GPU equipment, the embodiment of the invention selects the proper target library position for the image processing task from a plurality of preset library positions, wherein the plurality of library positions can be aimed at the same face logic library, and the content and the position of the plurality of library positions are the same, so that the execution of the image processing task is not influenced when some library positions have problems, and the execution success rate of the image processing task is ensured; and for the image processing task, each GPU device in the target library is executed in parallel, so that the execution efficiency of the image processing task and the execution success rate of the image processing task are improved.
Example two
Fig. 2 is a flowchart of a face image processing method in a second embodiment of the present invention, which is further optimized based on the first embodiment. As shown in fig. 2, the method includes:
step 201, constructing a state tree according to a face logic library to which each library position belongs and the subordinate relation between the library position and the GPU equipment, wherein the face logic library is obtained by classifying face images according to a preset face image classification strategy.
The face logic library may refer to an image face image classification strategy for providing face information for different image processing scenes, which may include classifying face images according to usage scenes of the face images, or classifying face images according to geographic areas to which the face images belong. Specifically, the face image classification policy may be set according to different processing requirements of the face image, which is not specifically limited in this embodiment. The dependency between a bin bit and a GPU device includes a relationship between a page bit and a bin bit, e.g., the current page bit belongs to several bin bits. The state tree is used to monitor the working information of the face logic library, including monitoring the running state information of each GPU device, for example, monitoring the state, maximum capacity, current capacity, GPU type, page bit address, etc. of the face logic library, all library bits, and page bits.
For example, after the face logic library allocates the corresponding library bits and page bit numbers, all the logic libraries, library bits and page bits are registered on the state tree, and then the state, maximum capacity, current capacity, GPU type, page bit address, etc. can be monitored through the state tree. And engineering states, access engineering addresses, management engineering addresses and configuration information can also be monitored through the state tree. The state tree is used for monitoring the states and data of all the modules, so that the cooperative work among the modules can be ensured, the core management of the whole engineering is ensured, and the indirect communication among the modules is connected through the state tree, so that decoupling is facilitated.
Step 202, acquiring an image processing task instruction.
And 203, monitoring the running state information of each GPU device by using the state tree, so that a target library position for executing the image processing task is determined according to the running state information of each GPU device monitored by the state tree.
The running state information of the GPU equipment is obtained through a state tree. For example, the running state information of the GPU device may be determined according to the state, the current capacity and the maximum capacity of the GPU device monitored by the state tree, so as to select the target library, and if the state of the GPU device is displayed as an offline state or the current capacity of the GPU device is close to the maximum capacity, the GPU device is unavailable, i.e. the current page bit is unavailable, so that the library to which the page bit belongs is unavailable.
And step 204, calling a GPU management interface, and sending the image processing task to the target library position, so that each GPU device in the target library position can execute the image processing task instruction in parallel based on the stored image library.
One face logic library corresponds to a plurality of library bits, one library bit comprises at least one GPU device, and a GPU management interface is an interface for uniformly managing the plurality of GPU devices, namely, uniform management of the plurality of GPU devices can be realized by controlling the GPU management interface so as to conveniently send the same image processing task to different GPU devices.
Optionally, each GPU device corresponds to an adapter adapted to the GPU device, and correspondingly, the sending the image processing task instruction to the target library includes:
invoking a GPU management interface and sending the image processing task to the target library;
and transmitting the image processing task to each GPU device through an adapter matched with each GPU device in the target library.
The adapter is an interface for unified definition provided for GPU equipment of different manufacturers and models, can be used for connecting GPU management interfaces, realizes common management of the GPU equipment and the different manufacturers, improves compatibility of the GPU equipment, and realizes connection of the management interfaces and the GPU equipment. The GPU equipment of different manufacturers and versions can be compatible through developing the corresponding adapter, so that the GPU equipment can be shared under different scenes conveniently, development work under different scenes is simplified, resource investment is reduced, and efficiency is improved.
For example, as shown in fig. 3, one face logic library may correspond to three library bits, face information in the three library bits is the same, the No. 1 library bit is composed of 4 page bits, the No. 2 library bit is composed of 3 page bits, the No. 3 library bit is composed of 2 page bits, each page bit may include a GPU device, a target library deployed in each GPU device is used for storing part of face image information in the face logic, and each GPU device corresponds to an adapter adapted thereto. A face logic library can correspond to different numbers of library bits according to the size and the requirement of the library, and different numbers of page bits are developed for different library bits according to the different requirements so as to meet the execution requirement of an image processing task instruction. For example, when the face logic library is a face library of a certain company, storing three corresponding library bits of the face library of the company, wherein four page bits in the 1 # library bit can respectively correspond to a department face target library, a department face target library of a B department, a department face target library of a C department and a remaining department face target library of the company; the number 2 library position can respectively correspond to the face target libraries of all the offices of the company, for example, the number 2 library position, the number 1 page position, the number 2 page position, the number 3 page position and the number 3 page position represent the face target libraries of the x-city office; the 3 # library position can respectively correspond to the face target libraries of different identity information of the staff of the company, for example, the 3 # library position, the 1 # page position, represents the management layer face target library, and the 2 # page position represents the face target libraries of other staff.
Optionally, in the target bin, sending the image processing task to each GPU device through an adapter adapted to each GPU device, including:
and sending the image processing task and a task identifier to each GPU device through an adapter matched with each GPU device, wherein the task identifier is used for each GPU device to authenticate the received image processing task.
The task identifier refers to a mode of identifying an image processing task by the GPU device, and the task identifier includes a message token. For example, each library bit issues a fixed number of message tokens, indicating that a corresponding number of image processing tasks are allowed to be performed in parallel at the same time. When the face comparison is carried out, firstly, the message analysis is carried out on the task instruction of the face comparison, the task can be connected to the GPU service after obtaining the token, and if the token obtaining fails, the task instruction is refused. The token is periodically supplemented to ensure the continuity of GPU service, and the message token is distributed to the image processing task, so that the efficiency of GPU service in the peak period of the task is ensured, and the GPU breakdown caused by a large number of tasks is avoided.
Optionally, receiving task rejection execution feedback sent by the target library, and sending the image processing task rejected by the target library to a candidate library, so that the candidate library executes the image processing task rejected by the target library, where the task rejection execution feedback is generated when the target library reaches a number threshold based on the number of task identifiers received by each GPU device.
For example, after the message token of the bin 1 is issued, the image processing task instruction is refused by the bin 1, and then refusing feedback is sent to the management interface, and the management interface sends the image processing task instruction to the candidate bin with the message token, so that the efficiency of the image processing task can be improved, and the problem that when the task reaches the target bin, the image processing task is delayed because no message token is refused directly is avoided.
Optionally, if the response feedback of the target library bit to the image processing task instruction is not received within a preset response time, determining a candidate library bit for executing the image processing task in other library bits except the target library bit.
The method includes the steps that when an image processing task instruction is sent to a target library position, state information under the target library position is found to be wrong, but when the image processing task instruction is sent to the target library position, the target library position cannot respond to the current image processing task instruction because of the fact that the current library position is unavailable due to sudden failure of a GPU (graphics processing unit), at the moment, the task instruction which does not receive response feedback in preset time is sent to other available candidate library positions, execution of the image processing task instruction is guaranteed, task execution failure caused by sudden change of the state of the GPU is avoided, logic of the image processing task is perfected, the task instruction is prevented from being accumulated, and timely processing is facilitated.
Optionally, after sending the image processing task instruction to the target library bit, the method further comprises:
and if the face images stored in the GPU equipment are added or deleted in the target library bits, updating the image storage capacity of the GPU equipment in the target library bits monitored in the state tree.
For example, when the image processing task instruction is to add or delete a face image stored in the GPU device, state information is updated on the state tree for a corresponding library bit of the GPU device to which the face image information has been updated, including the current storage capacity of the image of the GPU device. The state information on the state tree is updated in real time, so that the accuracy of the state tree information is ensured, the image processing task is conveniently processed according to the state tree information, and data disorder is prevented.
For example, when the image processing task instruction is to add or delete a face image stored in the GPU device, the image processing task is processed in an MQ asynchronous manner. For example, after receiving an increasing instruction of the face image, a task instruction is sent to an MQ queue, and target library bits to be processed are sequentially updated through an application system until all library bits complete execution of the instruction, and then an execution completion signal is fed back to the MQ. And the final consistency of the data of all library bits under the face logic library is ensured by an asynchronous thread mode.
Illustratively, the services of the GPU devices are connected using a connection pool, which is a technique for creating and managing a buffer pool of connections that are ready for use by any thread that requires them. The GPU devices in the face logic library are all arranged in the same connection pool, when one GPU service request is connected, the disconnection operation is not performed after the processing is finished, and the last connection can be directly adopted when the next same GPU service request comes. The setting of the connection pool reduces the time for connection creation, avoids the cost of a connection mode, and if the operation of the connection pool is not adopted, the connection operation needs to be established once for each service request, so that the resource waste is caused.
The embodiment of the invention realizes unified management of information based on the monitoring of the state tree on the face library and the state information of the GPU equipment, is convenient for the connection between the modules and improves the processing efficiency of the image processing task; the adapter which can be uniformly accessed by the management interface is developed for GPU equipment of different types and different manufacturers, so that the control of incompatible GPU equipment of different interfaces can be realized through the management interface, uniform management is realized, and development resources under different scenes are saved; and the face information synchronization is realized in an MQ asynchronous mode, so that the final consistency of face data among a plurality of library positions is ensured.
Example III
Fig. 4 is a schematic structural diagram of a face image processing apparatus according to a third embodiment of the present invention, and the present embodiment is applicable to a case of improving the performance efficiency of a face image processing task. As shown in fig. 4, the apparatus includes:
a task instruction acquisition module 410, configured to acquire an image processing task instruction;
a target bin determining module 420, configured to determine target bins for performing image processing tasks according to running state information of the graphics processing GPU devices, where each bin includes at least one GPU device;
and a task instruction execution module 430, configured to send the image processing task instruction to the target library location, so that each GPU device in the target library location executes the image processing task instruction in parallel based on the respective stored image library.
The embodiment of the invention selects the proper target library position for the image processing task based on the judgment of the running state information of the graphic processing GPU equipment, ensures that the execution of the image processing task is not influenced when some library positions in the preconfigured plurality of library positions have problems, and ensures the execution success rate of the image processing task; and for the image processing task, each GPU device in the target library is executed in parallel, so that the execution efficiency of the image processing task is improved.
Optionally, the apparatus further comprises:
the state tree construction module is configured to construct a state tree according to a face logic library to which each library belongs and a membership relationship between the library and the GPU device before the target library determination module 420 performs an operation of determining a target library for performing an image processing task according to running state information of the GPU device, where the face logic library is obtained by classifying a face image according to a preset face image classification policy;
the running state information detection module is configured to monitor running state information of each GPU device using the state tree before the target bin determination module 420 performs an operation of determining a target bin for performing an image processing task according to the running state information of the GPU device, so that the target bin for performing the image processing task is determined according to the running state information of each GPU device monitored by the state tree.
Optionally, each GPU device corresponds to an adapter adapted thereto;
correspondingly, the task instruction execution module comprises:
the management interface calling unit is used for calling a GPU management interface and sending the image processing task to the target library;
and the image processing task sending unit is used for sending the image processing task to each GPU device through an adapter matched with each GPU device in the target library.
Optionally, the image processing task sending unit is specifically configured to:
and sending the image processing task and a task identifier to each GPU device through an adapter matched with each GPU device, wherein the task identifier is used for each GPU device to authenticate the received image processing task.
Optionally, the apparatus further includes a refusal feedback receiving module, specifically configured to:
and receiving task refusal execution feedback sent by the target library, and sending the image processing task refused to be executed by the target library to a candidate library so that the candidate library executes the image processing task refused to be executed by the target library, wherein the task refusal execution feedback is generated when the number of task identifications received by each GPU device by the target library reaches a number threshold.
Optionally, the apparatus further includes a candidate library position determining module, specifically configured to:
and if the response feedback of the target library bit to the image processing task instruction is not received within the preset response time, determining candidate library bits for executing the image processing task in other library bits except the target library bit.
Optionally, the image processing task instruction includes a face image comparison processing instruction, a face information query instruction, a face image quality detection instruction, and a change operation instruction of a face image stored in each GPU device, where the change includes addition, deletion, and modification.
Optionally, the apparatus further includes a state tree updating module, specifically configured to, after the task instruction execution module executes the image processing task instruction to send the image processing task instruction to the target library, cause each GPU device in the target library to execute the operation of the image processing task instruction in parallel based on the respective stored image library:
and if the face images stored in the GPU equipment are added or deleted in the target library bits, updating the image storage capacity of the GPU equipment in the target library bits monitored in the state tree.
The face image processing device provided by the embodiment of the invention can execute the face image processing method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of executing the face image processing method.
Example IV
Fig. 5 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention. Fig. 5 illustrates a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present invention. The computer device 12 shown in fig. 5 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
As shown in FIG. 5, the computer device 12 is in the form of a general purpose computing device. Components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory device 28, a bus 18 that connects the various system components, including the system memory device 28 and the processing unit 16.
Bus 18 represents one or more of several types of bus structures, including a memory device bus or memory device controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system storage 28 may include computer system readable media in the form of volatile memory such as Random Access Memory (RAM) 30 and/or cache memory 32. The computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 5, commonly referred to as a "hard disk drive"). Although not shown in fig. 5, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In such cases, each drive may be coupled to bus 18 through one or more data medium interfaces. The storage device 28 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of the embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in storage 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 42 generally perform the functions and/or methods of the embodiments described herein.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the computer device 12, and/or any devices (e.g., network card, modem, etc.) that enable the computer device 12 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet, through network adapter 20. As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be appreciated that although not shown in fig. 5, other hardware and/or software modules may be used in connection with computer device 12, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processing unit 16 executes various functional applications and data processing by running a program stored in the system storage device 28, for example, implementing a face image processing method provided by an embodiment of the present invention, including:
acquiring an image processing task instruction;
determining target library positions for executing image processing tasks according to running state information of graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment;
and sending the image processing task instruction to the target library bit, so that each GPU device in the target library bit can execute the image processing task instruction in parallel based on the stored image library.
Example five
The fifth embodiment of the present invention further provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the face image processing method as provided by the embodiment of the present invention, including:
acquiring an image processing task instruction;
determining target library positions for executing image processing tasks according to running state information of graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment;
and sending the image processing task instruction to the target library bit, so that each GPU device in the target library bit can execute the image processing task instruction in parallel based on the stored image library.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.

Claims (10)

1. A face image processing method, wherein each GPU device corresponds to an adapter adapted thereto, comprising:
acquiring an image processing task instruction;
determining a target library position for executing an image processing task according to the running state information of the graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment, and a plurality of library positions correspond to a face logic library;
sending the image processing task instruction to the target library bits, so that each GPU device in the target library bits can execute the image processing task instruction in parallel based on the respective stored image library, wherein the target library bits comprise a plurality of page bits, and each page bit comprises a GPU target library;
each GPU device in the target library bit executes the image task instruction in parallel based on the stored image library, and the method comprises the following steps:
after the target library bit receives the image task, all page bits of the target library bit execute the image processing task simultaneously, and after the image processing task of one target page bit is executed, the execution of the image processing task is finished, and the execution of other page bits is stopped;
the sending the image processing task instruction to the target library bit comprises the following steps:
invoking a GPU management interface and sending the image processing task to the target library;
in the target library, sending the image processing task to each GPU device through an adapter matched with each GPU device;
the adapter refers to an interface which is provided for GPU equipment of different manufacturers and models and is used for carrying out unified definition.
2. The method of claim 1, wherein prior to determining the target bin for performing the image processing task based on the operating state information of the graphics processing GPU device, the method further comprises:
constructing a state tree according to a face logic library to which each library position belongs and the subordinate relation between the library position and the GPU equipment, wherein the face logic library is obtained by classifying face images according to a preset face image classification strategy;
and monitoring the running state information of each GPU device by using the state tree, so that a target library position for executing the image processing task is determined according to the running state information of each GPU device monitored by the state tree.
3. The method of claim 1, wherein in the target library bits, issuing the image processing task to each GPU device through an adapter adapted to each GPU device comprises:
and sending the image processing task and a task identifier to each GPU device through an adapter matched with each GPU device, wherein the task identifier is used for each GPU device to authenticate the received image processing task.
4. A method according to claim 3, characterized in that the method further comprises:
and receiving task refusal execution feedback sent by the target library, and sending the image processing task refused to be executed by the target library to a candidate library so that the candidate library executes the image processing task refused to be executed by the target library, wherein the task refusal execution feedback is generated when the number of task identifications received by each GPU device by the target library reaches a number threshold.
5. The method according to claim 1, wherein the method further comprises:
and if the response feedback of the target library bit to the image processing task instruction is not received within the preset response time, determining candidate library bits for executing the image processing task in other library bits except the target library bit.
6. The method of claim 1, wherein the image processing task instructions include a face image comparison processing instruction, a face information query instruction, a face image quality detection instruction, and a change operation instruction of a face image stored in each GPU device, the change including addition, deletion, and modification.
7. The method of claim 2, wherein after sending the image processing task instruction to the target bin, the method further comprises:
and if the face images stored in the GPU equipment are added or deleted in the target library bits, updating the image storage capacity of the GPU equipment in the target library bits monitored in the state tree.
8. A face image processing apparatus, comprising:
the task instruction acquisition module is used for acquiring an image processing task instruction;
the target library position determining module is used for determining target library positions for executing image processing tasks according to the running state information of the graphic processing GPU equipment, wherein each library position comprises at least one GPU equipment, and a plurality of library positions correspond to a face logic library;
the task instruction execution module is used for sending the image processing task instruction to the target library bit so that each GPU device in the target library bit can execute the image processing task instruction in parallel based on the respective stored image library, wherein the target library bit comprises a plurality of page bits, and each page bit comprises a GPU target library;
the task instruction execution module is specifically configured to:
after the target library bit receives the image processing task, all page bits of the target library bit execute the image processing task simultaneously, and after the image processing task of one target page bit is executed, the execution of the image processing task is finished, and the execution of other page bits is stopped;
the task instruction execution module is specifically configured to:
invoking a GPU management interface and sending the image processing task to the target library;
in the target library, sending the image processing task to each GPU device through an adapter matched with each GPU device;
the adapter refers to an interface which is provided for GPU equipment of different manufacturers and models and is used for carrying out unified definition.
9. A computer device, comprising:
one or more processors;
storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the face image processing method of any of claims 1-7.
10. A computer-readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements a face image processing method as claimed in any one of claims 1-7.
CN201910959768.4A 2019-10-10 2019-10-10 Face image processing method, device, equipment and storage medium Active CN110706148B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959768.4A CN110706148B (en) 2019-10-10 2019-10-10 Face image processing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959768.4A CN110706148B (en) 2019-10-10 2019-10-10 Face image processing method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN110706148A CN110706148A (en) 2020-01-17
CN110706148B true CN110706148B (en) 2023-08-15

Family

ID=69199135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959768.4A Active CN110706148B (en) 2019-10-10 2019-10-10 Face image processing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110706148B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596924B (en) * 2020-12-25 2022-10-21 中标慧安信息技术股份有限公司 Internet of things middlebox server application remote procedure calling method and system
CN113420170B (en) * 2021-07-15 2023-04-14 宜宾中星技术智能***有限公司 Multithreading storage method, device, equipment and medium for big data image
CN114168684B (en) * 2021-12-10 2023-08-08 清华大学 Face modeling warehouse-in service implementation method and device based on asynchronous mechanism

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363623A (en) * 2018-02-27 2018-08-03 郑州云海信息技术有限公司 GPU resource dispatching method, device, equipment and computer readable storage medium
CN109753848A (en) * 2017-11-03 2019-05-14 杭州海康威视数字技术股份有限公司 Execute the methods, devices and systems of face identifying processing
CN109885388A (en) * 2019-01-31 2019-06-14 上海赜睿信息科技有限公司 A kind of data processing method and device suitable for heterogeneous system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678752B (en) * 2017-08-31 2021-09-21 北京百度网讯科技有限公司 Task processing method and device for heterogeneous cluster

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753848A (en) * 2017-11-03 2019-05-14 杭州海康威视数字技术股份有限公司 Execute the methods, devices and systems of face identifying processing
CN108363623A (en) * 2018-02-27 2018-08-03 郑州云海信息技术有限公司 GPU resource dispatching method, device, equipment and computer readable storage medium
CN109885388A (en) * 2019-01-31 2019-06-14 上海赜睿信息科技有限公司 A kind of data processing method and device suitable for heterogeneous system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于GPU的数字图像并行处理方法;盖素丽;《电子产品世界》;20090215(第02期);全文 *

Also Published As

Publication number Publication date
CN110706148A (en) 2020-01-17

Similar Documents

Publication Publication Date Title
US11570272B2 (en) Provisioning using pre-fetched data in serverless computing environments
CN110706148B (en) Face image processing method, device, equipment and storage medium
CN108513657B (en) Data conversion method and backup server
US10235047B2 (en) Memory management method, apparatus, and system
CN105049268A (en) Distributed computing resource allocation system and task processing method
US20190196875A1 (en) Method, system and computer program product for processing computing task
CN111679911B (en) Management method, device, equipment and medium of GPU card in cloud environment
CN109597640B (en) Account management method, device, equipment and medium for application program
CN111343262B (en) Distributed cluster login method, device, equipment and storage medium
CN109857723B (en) Dynamic data migration method based on expandable database cluster and related equipment
CN112364110A (en) Metadata management method, device and equipment and computer storage medium
CN110825694A (en) Data processing method, device, equipment and storage medium
CN112685148A (en) Asynchronous communication method and device of mass terminals, computer equipment and storage medium
US11947534B2 (en) Connection pools for parallel processing applications accessing distributed databases
CN114356521A (en) Task scheduling method and device, electronic equipment and storage medium
WO2024088026A1 (en) Cloud data migration optimization method and system
CN108696559B (en) Stream processing method and device
US20150149498A1 (en) Method and System for Performing an Operation Using Map Reduce
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform
CN114070889B (en) Configuration method, traffic forwarding device, storage medium, and program product
CN111552740B (en) Data processing method and device
KR101980320B1 (en) Parallel distributed processing method for big data query based on gpu
CN113626869A (en) Data processing method, system, electronic device and storage medium
US11233847B1 (en) Management of allocated computing resources in networked environment
CN113691575A (en) Communication method, device and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220915

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant