CN111126340A - Object identification method and device, electronic equipment and computer readable storage medium - Google Patents

Object identification method and device, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN111126340A
CN111126340A CN201911415215.9A CN201911415215A CN111126340A CN 111126340 A CN111126340 A CN 111126340A CN 201911415215 A CN201911415215 A CN 201911415215A CN 111126340 A CN111126340 A CN 111126340A
Authority
CN
China
Prior art keywords
object recognition
object identification
target
server
result
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.)
Granted
Application number
CN201911415215.9A
Other languages
Chinese (zh)
Other versions
CN111126340B (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.)
Beijing Kuangshi Technology Co Ltd
Original Assignee
Qingdao Guangshi Technology Co Ltd
Beijing Kuangshi Technology Co Ltd
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 Qingdao Guangshi Technology Co Ltd, Beijing Kuangshi Technology Co Ltd filed Critical Qingdao Guangshi Technology Co Ltd
Priority to CN201911415215.9A priority Critical patent/CN111126340B/en
Publication of CN111126340A publication Critical patent/CN111126340A/en
Application granted granted Critical
Publication of CN111126340B publication Critical patent/CN111126340B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)

Abstract

The application provides an object identification method, an object identification device, an electronic device and a computer readable storage medium, wherein the method comprises the following steps: receiving a service request sent by a client, wherein the service request comprises a type identifier of a requested object identification function and corresponding parameter information; determining a target object recognition server corresponding to at least two object recognition algorithms based on the service request; sending the parameter information to a target object recognition server so that the target object recognition server outputs a corresponding first object recognition result; and carrying out duplication removal processing on each first object identification result to obtain a second object identification result, and sending the second object identification result to the client. According to the scheme, the application platform requests the object identification function to send a service request only once and receives the processed identification result once, the object identification function is simple in implementation process and visual in result, and meanwhile, the object identification function is low in expansion cost.

Description

Object identification method and device, electronic equipment and computer readable storage medium
Technical Field
The present application relates to the field of face recognition technologies, and in particular, to an object recognition method, an object recognition device, an electronic device, and a computer-readable storage medium.
Background
With the development of face recognition technology, more and more face recognition technologies are applied to various monitoring application platform systems. In a common application scenario, an application platform is in butt joint with face recognition algorithms of a plurality of algorithm manufacturers, and a user sends service requests for various face recognition functions to a target face recognition server corresponding to each algorithm manufacturer through the application platform, so that the face recognition algorithms of the corresponding algorithm manufacturers are called to realize the requested face recognition functions.
However, in the above application scenario, because the application platform is directly docked with the face recognition algorithms of the algorithm manufacturers, the application platform needs to perform secondary development according to the algorithm capabilities and scheduling manners of the face recognition algorithms of the algorithm manufacturers, when the docked face recognition algorithms are increased or decreased, the operation of the application platform needs to be stopped for performing the secondary development, and the application platform requests the face recognition function, and needs to simultaneously send service requests to the servers of a plurality of algorithm manufacturers, respectively, and simultaneously receive recognition results fed back by the servers of a plurality of algorithm manufacturers, respectively.
Disclosure of Invention
The purpose of this application is to solve at least one of the above technical defects, and the technical solution provided by this application embodiment is as follows:
in a first aspect, an embodiment of the present application provides an object identification method, including:
receiving a service request sent by a client, wherein the service request comprises a type identifier of a requested object identification function and parameter information required by the requested object identification function;
determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function;
sending the parameter information to a target object recognition server so that the target object recognition server outputs a corresponding first object recognition result based on the parameter information and a corresponding object recognition algorithm;
and acquiring each first object identification result, performing deduplication processing on each first object identification result to obtain a second object identification result corresponding to the service request, and sending the second object identification result to the client.
In an optional embodiment of the present application, further comprising:
receiving and storing registration information of at least one object recognition server, wherein the registration information comprises type identifiers of object recognition functions which can be provided by at least one object recognition algorithm corresponding to each object recognition server;
determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function, comprising:
and determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server.
In an optional embodiment of the present application, the determining, by the service request further including indication information of the object recognition server, a target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server includes:
and determining the target object recognition server based on the type identifier of the requested object recognition function, the type identifier corresponding to each object recognition server and the indication information.
In an optional embodiment of the present application, the registration information further includes a server identifier and an arithmetic capability of each object recognition server;
receiving and storing registration information of at least one object recognition server, comprising:
receiving registration information of each object identification server;
for each object recognition server, storing a server identifier of the object recognition server, at least one type identifier corresponding to the object recognition server and the operation capacity margin of the object recognition server in an algorithm capacity list in an associated manner;
determining a target object recognition server based on the type identifier of the requested object recognition function and the type identifiers corresponding to the object recognition servers, comprising:
determining a target object recognition server based on the type identifier of the requested object recognition function, the operation capacity margin of each object recognition server in the algorithm capacity list and at least one corresponding type identifier;
the method further comprises the following steps:
and after receiving a first object identification result returned by the target object identification server, updating the computing capacity margin of the target object identification server.
In an optional embodiment of the present application, the requested object recognition function is an attribute retrieval function of retrieving a target image based on input attribute information, the parameter information includes input attribute information for retrieval, and the first object recognition result includes the target image, an ID of the target image, and an attribute of an object corresponding to the target image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the attribute values of the attributes corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the attribute value of the attribute corresponding to the target image in the object identification results after the duplication is removed.
In an optional embodiment of the present application, the attributes that are averaged or counted do not include the attribute corresponding to the input attribute information.
In an alternative embodiment of the present application, the requested object recognition function is an image retrieval function that retrieves a target image based on an input image, the parameter information includes the input image, and the first object recognition result includes the target image, an ID of the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the similarity corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the similarity corresponding to the target images in the object identification results after the duplication is removed.
In an optional embodiment of the present application, the requested object identification function is an object monitoring function for monitoring a specific object, and the first object identification result includes prompt information, an ID of a target image included in the prompt information;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the prompt information corresponding to any one of the target images with the same ID in each first object identification result as the prompt information in the corresponding de-duplicated object identification result;
and/or the presence of a gas in the gas,
the prompt information also comprises a prompt threshold value of an object identification algorithm corresponding to the prompt information, and the duplicate removal processing is carried out on each first object identification result, and the method comprises the following steps:
and averaging or counting the prompting threshold values corresponding to the prompting information corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the prompting threshold value corresponding to the prompting information in the object identification results after the duplication is removed.
In an optional embodiment of the present application, further comprising:
and after the parameter information is sent to each target object recognition server, the first object recognition result output firstly in each first object recognition result is sent to the client in real time.
In an optional embodiment of the present application, the requested object recognition function is a function of real-naming an object, the parameter information includes an input image of the object to be recognized, and the first object recognition result includes a target image, an ID of the object in the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the target image with the maximum occurrence frequency or the maximum similarity with the input image in the target images corresponding to the same object ID in the first object identification results as the first target image corresponding to the object ID in the object identification results after the duplication is removed;
and averaging or counting the similarity between the first target image in each first object recognition result and the input image, and taking the result obtained by averaging or counting as the similarity between the first target image in the object recognition result after the duplication removal and the input image.
In an optional embodiment of the present application, obtaining each first object recognition result includes:
and acquiring first object identification results output by each target object identification server within a preset time period, wherein the starting time of the preset time period is the time of sending the parameter information to each target object identification server or the time of acquiring the first object identification result output firstly in each first object identification result.
In a second aspect, an embodiment of the present application provides an object recognition apparatus, including:
the service request receiving module is used for receiving a service request sent by a client, wherein the service request comprises a type identifier of a requested object identification function and parameter information required by the requested object identification function;
a server determination module for determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identifier of the requested object recognition function;
the object identification module is used for sending the parameter information to the target object identification server so that the target object identification server outputs a corresponding first object identification result based on the parameter information and a corresponding object identification algorithm;
and the identification result sending module is used for acquiring the identification results of the first objects, performing deduplication processing on the identification results of the first objects to obtain second object identification results corresponding to the service requests, and sending the second object identification results to the client.
In a third aspect, an embodiment of the present application provides an electronic device, including a memory and a processor;
the memory has a computer program stored therein;
a processor configured to execute a computer program to implement the method provided in the embodiment of the first aspect or any optional embodiment of the first aspect.
In a fourth aspect, this application provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method provided in the embodiments of the first aspect or any optional embodiment of the first aspect.
The beneficial effect that technical scheme that this application provided brought is:
the scheme provided by the embodiment of the application adds the algorithm scheduling engine between the application platform and each target object recognition server, respectively butts the application platform and each target object recognition server by using the algorithm scheduling engine, when the application platform requests the object recognition function, only one service request needs to be sent to the algorithm scheduling engine, the algorithm scheduling engine schedules each corresponding target object recognition server according to the service request to realize the corresponding object recognition function, and feeds back the processed recognition result to the application platform after processing each recognition result, the application platform requests the object recognition function to send the service request once and receive the processed recognition result once, the realization process of the object recognition function is simple, the result is visual, and meanwhile, when the object recognition algorithm needs to be increased or decreased, the secondary development is not needed to be carried out on the application platform, the object recognition function is low in expansion cost.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments of the present application will be briefly described below.
FIG. 1 is a schematic diagram of a face recognition system in the prior art;
fig. 2 is a schematic flowchart of an object identification method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an example of a face recognition system in an embodiment of the present application;
FIG. 4 is a schematic diagram of another example of a face recognition system in an embodiment of the present application;
FIG. 5 is a schematic diagram of an example of the result data aggregation module of FIG. 4;
fig. 6 is a block diagram illustrating an object recognition apparatus according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present invention.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
In a current common application scenario, as shown in fig. 1, an application platform is interfaced with face recognition algorithms of N (N ≧ 2) algorithm manufacturers, that is, the application platform is respectively connected to face recognition servers of the N algorithm manufacturers, for example, the application platform is respectively connected to face recognition servers of a face algorithm manufacturer 1, a face algorithm manufacturer 2, a face algorithm manufacturer 3, …, a face algorithm manufacturer N, and the like. When a user has a face recognition requirement, corresponding service requests are respectively sent to N butted personal face recognition servers through an application platform, a plurality of face recognition servers with corresponding face recognition functions in the N personal face recognition servers respectively acquire corresponding face image data through a data access module to complete the face recognition function, corresponding face recognition results are output, and the face recognition results are respectively sent to the application platform, for example, the face recognition servers of a face algorithm manufacturer 1, a face algorithm manufacturer 2, a face algorithm manufacturer 3, … and a face algorithm manufacturer N respectively output the corresponding face recognition results of an algorithm 1 (the result of the algorithm 1 in the figure), the face recognition results of an algorithm 2 (the result of the algorithm 2 in the figure), the face recognition results of an algorithm 3 (the result of the algorithm 3 in the figure) after receiving the service requests, …, and sending the face recognition result of the method 1, the face recognition result of the algorithm 2, the face recognition result of the algorithm 3, … and the face recognition result of the algorithm N to the application platform respectively. And after receiving the plurality of face recognition results, the application platform respectively provides the plurality of face recognition results for the user.
However, since the application platform is directly docked with the face recognition algorithms of the algorithm manufacturers, the application platform needs to perform secondary development according to the algorithm capabilities and the scheduling modes of the face recognition algorithms of the algorithm manufacturers, when the docked face recognition algorithms are increased or decreased, the operation of the application platform needs to be stopped for performing the secondary development, and the application platform requests the face recognition function, which needs to simultaneously send service requests to the servers of a plurality of algorithm manufacturers and simultaneously receive recognition results fed back by the servers of a plurality of algorithm manufacturers, respectively, the face recognition function in the prior art has high expansion cost, and the triggering of the application platform on the algorithms of the algorithm manufacturers and the receiving of the recognition results are independent from each other, so that the face recognition implementation process is complicated, and the result data is redundant. In view of the above problems, an embodiment of the present application provides a face recognition method.
Fig. 2 is a schematic flowchart of an object identification method according to an embodiment of the present application, where an execution subject of the method may be a server with a scheduling function, as shown in fig. 2, the method may include:
step S201, receiving a service request sent by a client, where the service request includes a type identifier of a requested object identification function and parameter information required by the requested object identification function.
It is understood that the object may be a person or an object.
The client may be various terminal devices, including but not limited to a mobile phone, a tablet, a personal computer, and other terminal devices. The client may receive input from a user through a program interface (e.g., an application platform interface) installed thereon, thereby generating a corresponding service request.
The client is connected with a server with a scheduling function (also called an algorithm scheduling engine), the algorithm scheduling engine is connected with object recognition servers of a plurality of algorithm manufacturers, and the object recognition server of each algorithm manufacturer contains a corresponding object recognition algorithm, namely, the connection between the client and the plurality of object recognition algorithms is realized through the algorithm scheduling engine. The interface between the client and the object recognition server is not affected by the interface between the algorithm scheduling engine and the object recognition server, that is, the operation of the application platform program on the client is not affected in the process of adding or reducing the object recognition server.
One object recognition server may carry only one object recognition algorithm, and one object recognition server may carry a plurality of different object recognition algorithms (for example, different GPU cards of the same object recognition server carry different object recognition algorithms).
As shown in fig. 3, an example of a face recognition system is composed of a client, an algorithm scheduling engine, and face recognition servers of various algorithm manufacturers, and as shown in the figure, an application platform is disposed on the client, and a face recognition algorithm manufacturer 1, a face recognition algorithm manufacturer 2, a face recognition algorithm manufacturer 3, …, and a face recognition algorithm manufacturer N respectively represent corresponding face recognition servers (here, one face recognition server only carries one face recognition algorithm for illustration). The algorithm scheduling engine is respectively connected with the application platform and the face recognition servers corresponding to the face algorithm manufacturers, various base libraries and various passerby databases which can be called by the face recognition servers of the algorithm manufacturers are stored in the data storage system, the various base libraries can be existing face image databases and can be real-name base libraries, the various passerby databases are face image databases collected through image collecting equipment, and the IDs of target images corresponding to the face images in the base libraries and the passerby databases are uniquely determined. And each face image in the real-name bottom library corresponds to a face ID.
The object identification is broad, and includes object search or object ID (real name) processing. The object retrieval refers to retrieving the bottom library/passerby images corresponding to the parameter information, and returning the bottom library/passerby images meeting the requirements as retrieval results. The object ID conversion is to search for a base library/passerby image corresponding to the parameter information, and if the base library image is a real name, the ID of the object is obtained, that is, the object is converted into an ID.
The object identification functions comprise multiple types, and the different types of object identification functions are realized by corresponding object identification algorithms according to corresponding parameter information. For example, the object recognition function is an image search function, and the corresponding parameter information may be a search condition input by the user, where the search condition may be an attribute of the object to be recognized (such as sex, age, nationality, whether a mask is worn, whether a hat is worn), or an image of the object to be recognized.
In step S202, a target object recognition server corresponding to at least two different object recognition algorithms is determined based on the type identifier of the requested object recognition function.
Specifically, the client is connected to the plurality of object recognition servers through the algorithm scheduling engine, and only part of object recognition algorithms corresponding to the object recognition servers in the plurality of object recognition servers may be capable of realizing the object recognition function requested by the user.
As can be seen from the foregoing description, one object recognition server may carry only one object recognition algorithm, or multiple different object recognition algorithms may be carried on one object recognition server (for example, different GPU cards of the same object recognition server carry different object recognition algorithms). The target object recognition servers corresponding to at least two different object recognition algorithms may be at least two target object recognition servers, and the two target recognition servers respectively carry one different object recognition algorithm; the target object recognition server may also be provided with at least two computing units (for example, one GPU card is one computing unit), and each computing unit is loaded with a different object recognition algorithm.
Step S203, sending the parameter information to the target object recognition server, so that the target object recognition server outputs a corresponding first object recognition result based on the parameter information and the corresponding object recognition algorithm.
Specifically, after the algorithm scheduling engine determines the target object identification servers, the service requests are respectively sent to the target object identification servers, and since at least two object identification algorithms corresponding to the target object identification servers can realize the object identification function requested by the user, the target object identification servers receive the service requests sent by the algorithm scheduling engine, and then obtain corresponding first object identification results according to parameter information in the service requests.
Step S204, obtaining each first object identification result, carrying out duplication elimination processing on each first object identification result to obtain a second object identification result corresponding to the service request, and sending the second object identification result to the client.
It will be appreciated that since at least two object recognition algorithms are determined, each object recognition algorithm outputting one first object recognition result, there are at least two first object recognition results. When at least two object recognition algorithms are capable of providing the requested type of object recognition function, under the condition that the parameter information in the received service request is the same, if at least two object recognition algorithms have a certain accuracy, it is very probable that at least two first object recognition results contain repeated data, that is, redundant data exists in at least two first object recognition results.
Specifically, in order to avoid redundant data in the second object identification result sent to the client and give better experience to the user, at least two first object identification results need to be subjected to deduplication processing. After the repetition processing, in at least two first object identification results, repeated data are merged into converged data, and the non-repeated data and the converged data after the repetition processing are used as second object identification results.
As shown in fig. 4, which is an example of a face recognition system composed of a client, an algorithm scheduling engine, and algorithm servers of algorithm manufacturers, as shown in the figure, an application platform is provided on the client, and algorithm manufacturer 1, algorithm manufacturer 2, algorithm manufacturers 3, …, and algorithm manufacturer N respectively represent corresponding face recognition servers. The algorithm scheduling engine is respectively connected with the client and the face recognition servers of all algorithm manufacturers and serves as a transfer server. The algorithm scheduling engine can be provided with an algorithm manufacturer management module, an algorithm scheduling module and a result data aggregation module, and particularly, the algorithm manufacturer management module can be used for receiving and storing registration information of at least one face recognition server; the algorithm scheduling module may be configured to determine at least one target face recognition server based on the type identifier of the requested face recognition function and the type identifiers corresponding to the face recognition servers; the result data aggregation module may be configured to perform deduplication processing on each first face recognition result to obtain a second face recognition result if at least two target face recognition servers are determined.
Further, as shown in fig. 5, which is an example of the result data aggregation module in fig. 4, as shown in the figure, algorithm 1, algorithm 2, …, and algorithm N respectively represent algorithm servers corresponding to each algorithm manufacturer, and the data aggregation module includes a data receiving buffer pool, a data aggregation center, and an aggregation result storage. Specifically, the data receiving buffer pool is used for acquiring and caching a first face recognition result output by each face recognition server; the data aggregation center is used for acquiring each first face recognition result from the data receiving buffer pool, and if at least two target face recognition servers are determined, performing duplication removal processing on each first face recognition result; and the convergence result storage is used for storing the converged face recognition result so as to finally obtain a second face recognition result.
Specifically, the algorithm scheduling engine acquires first object identification results obtained by each target object identification server, in order to simplify the object identification process, the client does not need to receive each first object identification result for multiple times, the algorithm scheduling engine processes each first object identification result to obtain a second object identification result, and the second object identification result is sent to the client once again. Then, in the whole object identification process, the client and the algorithm scheduling engine interact only once, namely, the client sends a service request to the algorithm scheduling engine, and the algorithm scheduling engine feeds back the second object identification result to the client.
The scheme provided by the embodiment of the application adds the algorithm scheduling engine between the application platform and each target object recognition server, and respectively butts the application platform and each target object recognition server by using the algorithm scheduling engine, when the application platform requests the object recognition function, only one service request needs to be sent to the algorithm scheduling engine, the algorithm scheduling engine schedules the corresponding target object recognition server according to the service request to realize the corresponding object recognition function, and feeds back the processed recognition result to the application platform after processing each recognition result, the application platform requests the object recognition function to send the service request once and receive the processed recognition result once, the realization process of the object recognition function is simple, the result is visual, and meanwhile, when the object recognition algorithm needs to be increased or decreased, the secondary development is not needed to be carried out on the application platform, the object recognition function is low in expansion cost.
In an optional embodiment of the present application, the method may further comprise:
and receiving and storing the registration information of at least one object recognition server, wherein the registration information comprises the type identification of the object recognition function which can be provided by at least one object recognition algorithm corresponding to each object recognition server.
Specifically, in practical application, the algorithm scheduling engine provides a registration interface for each algorithm manufacturer, the object identification algorithm server of each algorithm manufacturer registers its respective object identification function on the algorithm scheduling engine, and the registration process may be understood as a process in which each algorithm manufacturer sends its respective registration information to the algorithm scheduling engine, and the algorithm scheduling engine stores each registration information, where the registration information includes a type identifier of the object identification function that can be realized by the object identification algorithm in the corresponding object identification server. For example, the object recognition server of the algorithm manufacturer a registers the object monitoring function of the algorithm scheduling engine, that is, the object recognition server of the algorithm manufacturer a sends the type identifier of the object monitoring function to the algorithm scheduling engine, and the object recognition server of the algorithm manufacturer B registers the image retrieval function to the algorithm scheduling engine, that is, the object recognition server of the algorithm manufacturer B sends the type identifier of the image retrieval function to the algorithm scheduling engine. The type identification of the object recognition function which can be provided by each object recognition server and stored by the algorithm scheduling engine is used as a basis for subsequently determining the target object recognition server.
It should be noted that the registration information sent by the object identification server of each algorithm manufacturer further includes an identifier of the object identification server, so that the algorithm scheduling engine stores the type identifier corresponding to the object identification server of each algorithm manufacturer and the corresponding server identifier in an associated manner, and when the target object identification server is determined, the service request is sent to each target object identification server according to the identifier of each target identification server.
Determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function, comprising:
and determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server.
Specifically, the face recognition server having the same type identifier as the type identifier of the requested face recognition function as the type identifier corresponding to each object recognition server is determined as the target face recognition server.
In an optional embodiment of the present application, the determining, by the service request further including indication information of the object recognition server, a target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server includes:
and determining the target object recognition server based on the type identifier of the requested object recognition function, the type identifier corresponding to each object recognition server and the indication information.
The indication information in the service request may be a limiting condition set by the user through the client for the target server for implementing the requested face recognition function.
Specifically, when the service request further includes indication information of the face recognition server, the target face recognition server determined by the type identifier of the requested face recognition function and the type identifier corresponding to each face recognition server may be referred to as an alternative target face recognition server, and the algorithm scheduling engine further screens the alternative face recognition servers according to the indication information to obtain the target face recognition server finally used for implementing the face recognition function requested by the client. For example, the instruction information set by the user may specify face recognition servers of one or several algorithm manufacturers to implement the requested face recognition function, and after the candidate target face recognition server is determined, the algorithm scheduling engine selects the face recognition server of one or several algorithm manufacturers from the candidate target face recognition servers as a final target server according to the instruction information.
In an optional embodiment of the present application, the registration information further includes a server identifier and an arithmetic capability of each object recognition server;
receiving and storing registration information of at least one object recognition server, comprising:
receiving registration information of each object identification server;
for each object recognition server, storing a server identifier of the object recognition server, at least one type identifier corresponding to the object recognition server, and an operation capacity margin association of the object recognition server in an algorithm capacity list.
The operation capability margin of the object recognition server is used for indicating the load condition of the object recognition server, and may be, for example, the number of object recognition tasks being executed on the object recognition server.
Determining a target object recognition server based on the type identifier of the requested object recognition function and the type identifiers corresponding to the object recognition servers, comprising:
and determining the target object recognition server based on the type identifier of the requested object recognition function, the operation capacity margin of each object recognition server in the algorithm capacity list and at least one corresponding type identifier.
Specifically, in the process that the algorithm scheduling engine determines the target face recognition server according to the service request, at least two target object recognition servers are obtained by inquiring the type identifier contained in the service request in the algorithm capability list. In the query process, the operation capacity margin of each object identification server is considered, namely, the object identification servers with more available loads are considered. After at least two target object recognition servers have been determined, the computing power margin of the respective target object recognition server may be updated, for example, by adding +1 to the number of object recognition tasks being performed on the target object recognition server.
The method may further comprise:
and after receiving a first object identification result returned by the target object identification server, updating the computing capacity margin of the target object identification server.
Specifically, the target object recognition server returns the first object recognition result, which means that the object recognition tasks thereon are completely executed, and at this time, the operation capability margin of the target object recognition server can be updated, for example, the number of object recognition tasks currently executed on the target object recognition server is-1.
In an optional embodiment of the present application, the requested object recognition function is an attribute retrieval function of retrieving a target image based on input attribute information, the parameter information includes input attribute information for retrieval, and the first object recognition result includes the target image, an ID of the target image, and an attribute of an object corresponding to the target image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the attribute values of the attributes corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the attribute value of the attribute corresponding to the target image in the object identification results after the duplication is removed.
The attribute retrieval function may be understood as retrieving a target image of an object to be identified, which includes a corresponding attribute value, in the base database and/or the passerby database according to input attribute information input by a user, where the input attribute information is parameter information, the input attribute information includes a type of an attribute and a corresponding attribute value, for example, an attribute category is gender, and a corresponding attribute value is male; or the attribute category is age and the corresponding attribute value is 30-40 years old. The object recognition result of the attribute retrieval function includes the target image, the ID of the target image, and the attribute value of the object corresponding to the target image.
Specifically, in this application scenario, a deduplication process is performed on the first object identification results with the same object image ID, that is, the object image and the attribute information that determine the aggregated object identification result (i.e., the deduplicated object identification result) are obtained. Since the target images having the same ID in each first object recognition result are repeated, any one of the target images having the same ID in each first object recognition result may be optionally used as the target image of the aggregated object recognition image. Because the attribute identification algorithms of different manufacturers are different, the identified attribute values may be different for the same type of attributes of the target images with the same ID, so that the attribute information of the target images corresponding to the ID in each first object identification result may not be completely the same, at this time, the attribute values of the attributes corresponding to the target images with the same ID in each first object identification result may be averaged or counted, and the averaged or counted result is used as the attribute value of the attribute corresponding to the target image in the object identification result after the duplication removal, so that the aggregated object identification result is more accurate.
For example, the input attribute information includes gender: male; coat color: yellow; whether the backpack is adopted: is. The age attribute of the target image with the ID of a1111 among the returned three first object recognition results is 20-30, 20-30, 30-40, respectively, the age attribute of the target image with the ID of a1111 may be determined as 20-30 (statistical result) or 20-3067%, 30-4033%, or 25-35 (average result).
In an optional embodiment of the present application, the attributes that are averaged or counted do not include the attribute corresponding to the input attribute information.
Note that it is only necessary to perform averaging or statistical processing on attribute values of attributes not included in the input attribute information. No averaging or statistical processing is required for the attributes contained in the input attribute information, because each target image in the returned first object recognition result necessarily satisfies the attribute value required in the parameter information.
For example, the age attributes of the target image with the ID of a1111 in the returned three first object identification results are all necessarily male, the color attributes of the jacket are all necessarily yellow, otherwise, the attribute value of the target image with the ID is not satisfactory and is not included in the first object identification results.
In an alternative embodiment of the present application, the requested object recognition function is an image retrieval function that retrieves a target image based on an input image, the parameter information includes the input image, and the first object recognition result includes the target image, an ID of the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the similarity corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the similarity corresponding to the target images in the object identification results after the duplication is removed.
The image retrieval function may be understood as retrieving a corresponding image from the base database and/or the passerby database according to an input image input by a user, where the input image is the parameter information, and an object recognition result of the image retrieval function includes a target image, an ID of the target image, and a similarity between the target image and the input image.
Specifically, in this application scenario, a deduplication process is performed on the first object recognition results having the same target image ID, that is, the target image and the similarity of the converged object recognition results are determined. As with the deduplication of the attribute retrieval function, any one of the target images having the same ID in each first object identification result is a target image of the aggregated object identification images. The similarity between the target image with the same ID in each first object identification result and the input image may be different, so that the similarity corresponding to each target image with the same ID in each first object identification result may be averaged or counted, and the averaged or counted result is used as the similarity corresponding to the target image in the de-duplicated object identification result, so as to make the aggregated object identification result more accurate.
For example, if the input image is a, the three first object recognition results all include the target image B, and the similarity between the image B and the image a in the three first object recognition results is 100%, 98%, and 98%, respectively, then the similarity between the image B and the image a in the deduplication result is 98.67% (average value) or 100% 1 times 98% 2 times (statistical value).
In an optional embodiment of the present application, the requested object identification function is an object monitoring function for monitoring a specific object, and the first object identification result includes prompt information, an ID of a target image included in the prompt information;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the prompt information corresponding to any one of the target images with the same ID in each first object identification result as the prompt information in the corresponding de-duplicated object identification result;
and/or the presence of a gas in the gas,
the prompt information also comprises a prompt threshold value of an object identification algorithm corresponding to the prompt information, and the duplicate removal processing is carried out on each first object identification result, and the method comprises the following steps:
and averaging or counting the prompting threshold values corresponding to the prompting information corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the prompting threshold value corresponding to the prompting information in the object identification results after the duplication is removed.
The object monitoring function can be understood as recognizing a monitored object determined by a user in a specific monitoring range, wherein the specific monitoring range can be determined by an identifier of a front-end monitoring device input by the user and/or a monitoring time period, and when an object image shot by the front-end monitoring device with the identifier in the monitoring time period contains the monitored object, prompt information is sent. The monitored object can be determined by an input image corresponding to the monitored object input by the user, or can be determined by an identifier of a preset base library input by the user, that is, objects corresponding to all object images in the preset base library are monitored objects, the preset base library can be an existing base library or an image database constructed according to the existing images, wherein the parameter information includes a label of the front-end device, an input image corresponding to the monitored object or an identifier of the preset base library, and the parameter information can also include a monitoring time period. The object identification result of the object monitoring function includes prompt information (the prompt information includes the target image and the target image ID), and may further include a prompt threshold of an object identification algorithm in the target object identification server corresponding to the prompt information.
It can be understood that, in this scenario, after receiving the prompt message, the client may display the prompt message to the user and send an audible and visual alarm to remind the user through the audible and visual device of the client. Further, the user may judge the reliability of the corresponding prompt information by using the prompt threshold displayed by the client, and may prioritize the prompt information or take corresponding measures according to the judgment result.
Specifically, in this scenario, a deduplication process is performed on the first object identification results with the same target image ID, that is, the prompt information and the prompt threshold value for determining the aggregated object identification result are obtained.
In an optional embodiment of the present application, the method may further comprise:
and after the parameter information is sent to each target object recognition server, the first object recognition result output firstly in each first object recognition result is sent to the client in real time.
Specifically, in a scene of object monitoring, a user must be immediately notified after prompt information is generated in many cases to take relevant measures for a monitored object in time, and in order to ensure real-time performance in the scene, a first object identification result which is firstly output needs to be sent to a client in real time. If necessary, the more first object recognition results obtained subsequently and the first object recognition result obtained firstly are subjected to de-duplication.
In an optional embodiment of the present application, the requested object recognition function is a function of real-naming an object, the parameter information includes an input image of the object to be recognized, and the first object recognition result includes a target image, an ID of the object in the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the target image with the maximum occurrence frequency or the maximum similarity with the input image in the target images corresponding to the same object ID in the first object identification results as the first target image corresponding to the object ID in the object identification results after the duplication is removed;
and averaging or counting the similarity between the first target image in each first object recognition result and the input image, and taking the result obtained by averaging or counting as the similarity between the first target image in the object recognition result after the duplication removal and the input image.
Among them, a function of real-naming an object, that is, a function of acquiring an object ID based on an input image, for example, if the object is a person, an ID of the person is acquired.
Specifically, in this scenario, the target server compares the input image of the object to be identified with the image in the real-name base library, and takes the base library image with the similarity satisfying the requirement, the ID of the base library image, the object ID corresponding to the base library image, and the similarity between the base library image and the input image as the object identification result. The ID of the object contained in each image in the real-named base library is known (i.e., the object is real-named). Here, since each target image has real-name information, that is, each target image is associated with an object ID, the first object recognition result can be subjected to deduplication processing using the object ID. Then, the target image with the largest occurrence frequency or the largest similarity to the input image in the target images corresponding to the same object ID in the first object identification results may be used as the first target image corresponding to the object ID in the de-duplicated object identification results; and averaging or counting the similarity between the first target image in each first object recognition result and the input image, and taking the result obtained by averaging or counting as the similarity between the first target image in the object recognition result after the duplication removal and the input image. For example, the input image of the object to be recognized is an input image a, and the results of searching the input image a in the real-name base library by using three different object recognition algorithms are respectively an image B of three objects (with 90% similarity to the image a), an image B of three objects (with 94% similarity to the image a), and an image C of lie four (with 89% similarity to the image a). The image B of the third object (which is the object image with the largest occurrence frequency among the object images corresponding to the same object ID and the object image with the largest similarity to the input image) is taken as the first object image, and the similarity between the first object image and the input image a is 92% (obtained by averaging 90% and 94%).
In an optional embodiment of the present application, obtaining each first object recognition result includes:
and acquiring first object identification results output by each target object identification server within a preset time period, wherein the starting time of the preset time period is the time of sending the parameter information to each target object identification server or the time of acquiring the first object identification result output firstly in each first object identification result.
Specifically, in order to control the time used for object identification, only the first object identification result in the preset time period is obtained, and the second object identification result is obtained based on the first object identification result obtained in the preset time period, and the result which is not returned in the preset time period is not used for deduplication processing any more. The preset time period can be set according to actual requirements, and is not specifically limited herein.
It should be noted that, in practical application, the algorithm scheduler adds the acquired first object identification results into the preset queue according to the sequence of the acquisition time, the position of the first object identification result in the queue is closer to the front of the acquisition time, and in order to control the time used for object identification, only the first object identification results within the preset time period are put into the preset queue for aggregation to obtain the second object identification result.
Fig. 6 is a block diagram of a scheduling apparatus for a face recognition algorithm according to an embodiment of the present application, and as shown in fig. 6, the apparatus 600 may include: a service request receiving module 601, a server determining module 602, an object identifying module 603, and an identification result transmitting module 604, wherein,
the service request receiving module 601 is configured to receive a service request sent by a client, where the service request includes a type identifier of a requested object identification function and parameter information required by the requested object identification function;
the server determination module 602 is configured to determine target object recognition servers corresponding to at least two different object recognition algorithms based on the type identifier of the requested object recognition function;
the object identification module 603 is configured to send the parameter information to the target object identification server, so that the target object identification server outputs a corresponding first object identification result based on the parameter information and a corresponding object identification algorithm;
the identification result sending module 604 is configured to obtain each first object identification result, perform deduplication processing on each first object identification result to obtain a second object identification result corresponding to the service request, and send the second object identification result to the client.
The scheme provided by the embodiment of the application adds the algorithm scheduling engine between the application platform and each target object recognition server, and respectively butts the application platform and each target object recognition server by using the algorithm scheduling engine, when the application platform requests the object recognition function, only one service request needs to be sent to the algorithm scheduling engine, the algorithm scheduling engine schedules the corresponding target object recognition server according to the service request to realize the corresponding object recognition function, and feeds back the processed recognition result to the application platform after processing each recognition result, the application platform requests the object recognition function to send the service request once and receive the processed recognition result once, the realization process of the object recognition function is simple, the result is visual, and meanwhile, when the object recognition algorithm needs to be increased or decreased, the secondary development is not needed to be carried out on the application platform, the object recognition function is low in expansion cost.
In an optional embodiment of the present application, further comprising:
receiving and storing registration information of at least one object recognition server, wherein the registration information comprises type identifiers of object recognition functions which can be provided by at least one object recognition algorithm corresponding to each object recognition server;
determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function, comprising:
and determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server.
In an optional embodiment of the present application, the determining, by the service request further including indication information of the object recognition server, a target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server includes:
and determining the target object recognition server based on the type identifier of the requested object recognition function, the type identifier corresponding to each object recognition server and the indication information.
In an optional embodiment of the present application, the registration information further includes a server identifier and an arithmetic capability of each object recognition server;
receiving and storing registration information of at least one object recognition server, comprising:
receiving registration information of each object identification server;
for each object recognition server, storing a server identifier of the object recognition server, at least one type identifier corresponding to the object recognition server and the operation capacity margin of the object recognition server in an algorithm capacity list in an associated manner;
determining a target object recognition server based on the type identifier of the requested object recognition function and the type identifiers corresponding to the object recognition servers, comprising:
determining a target object recognition server based on the type identifier of the requested object recognition function, the operation capacity margin of each object recognition server in the algorithm capacity list and at least one corresponding type identifier;
the method further comprises the following steps:
and after receiving a first object identification result returned by the target object identification server, updating the computing capacity margin of the target object identification server.
In an optional embodiment of the present application, the requested object recognition function is an attribute retrieval function of retrieving a target image based on input attribute information, the parameter information includes input attribute information for retrieval, and the first object recognition result includes the target image, an ID of the target image, and an attribute of an object corresponding to the target image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the attribute values of the attributes corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the attribute value of the attribute corresponding to the target image in the object identification results after the duplication is removed.
In an optional embodiment of the present application, the attributes that are averaged or counted do not include the attribute corresponding to the input attribute information.
In an alternative embodiment of the present application, the requested object recognition function is an image retrieval function that retrieves a target image based on an input image, the parameter information includes the input image, and the first object recognition result includes the target image, an ID of the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
any one of the target images with the same ID in each first object identification result is used as the corresponding target image in the object identification result after the duplication is removed;
and averaging or counting the similarity corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the similarity corresponding to the target images in the object identification results after the duplication is removed.
In an optional embodiment of the present application, the requested object identification function is an object monitoring function for monitoring a specific object, and the first object identification result includes prompt information, an ID of a target image included in the prompt information;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the prompt information corresponding to any one of the target images with the same ID in each first object identification result as the prompt information in the corresponding de-duplicated object identification result;
and/or the presence of a gas in the gas,
the prompt information also comprises a prompt threshold value of an object identification algorithm corresponding to the prompt information, and the duplicate removal processing is carried out on each first object identification result, and the method comprises the following steps:
and averaging or counting the prompting threshold values corresponding to the prompting information corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the prompting threshold value corresponding to the prompting information in the object identification results after the duplication is removed.
In an optional embodiment of the present application, further comprising:
and after the parameter information is sent to each target object recognition server, the first object recognition result output firstly in each first object recognition result is sent to the client in real time.
In an optional embodiment of the present application, the requested object recognition function is a function of real-naming an object, the parameter information includes an input image of the object to be recognized, and the first object recognition result includes a target image, an ID of the object in the target image, and a similarity between the target image and the input image;
and carrying out deduplication processing on each first object identification result, wherein the deduplication processing comprises the following steps:
taking the target image with the maximum occurrence frequency or the maximum similarity with the input image in the target images corresponding to the same object ID in the first object identification results as the first target image corresponding to the object ID in the object identification results after the duplication is removed;
and averaging or counting the similarity between the first target image in each first object recognition result and the input image, and taking the result obtained by averaging or counting as the similarity between the first target image in the object recognition result after the duplication removal and the input image.
In an optional embodiment of the present application, obtaining each first object recognition result includes:
and acquiring first object identification results output by each target object identification server within a preset time period, wherein the starting time of the preset time period is the time of sending the parameter information to each target object identification server or the time of acquiring the first object identification result output firstly in each first object identification result.
Based on the same principle, an embodiment of the present application further provides an electronic device, where the electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the method provided in any optional embodiment of the present application is implemented, and specifically, the following method is implemented:
receiving a service request sent by a client, wherein the service request comprises a type identifier of a requested object identification function and parameter information required by the requested object identification function; determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function; sending the parameter information to a target object recognition server so that the target object recognition server outputs a corresponding first object recognition result based on the parameter information and a corresponding object recognition algorithm; and acquiring each first object identification result, performing deduplication processing on each first object identification result to obtain a second object identification result corresponding to the service request, and sending the second object identification result to the client.
The embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the method shown in any embodiment of the present application.
It is understood that the medium stores a computer program corresponding to the object recognition method.
Fig. 7 is a schematic structural diagram of an electronic device to which the embodiment of the present application is applied, and as shown in fig. 7, an electronic device 700 includes: a processor 701 and a memory 703. The processor 701 is coupled to a memory 703, such as via a bus 702. Further, the electronic device 700 may also include a transceiver 704, and the electronic device 700 may interact with other electronic devices through the transceiver 704. It should be noted that the transceiver 704 is not limited to one in practical applications, and the structure of the electronic device 700 is not limited to the embodiment of the present application.
The processor 701, applied in this embodiment of the present application, may be configured to implement the functions of the service request receiving module, the server determining module, the object identifying module, and the identification result sending module shown in fig. 6.
The processor 701 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 701 may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others.
Bus 702 may include a path that transfers information between the above components. The bus 702 may be a PCI bus or an EISA bus, etc. The bus 702 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 7, but this is not intended to represent only one bus or type of bus.
The memory 703 may be, but is not limited to, ROM or other type of static storage device that can store static information and instructions, RAM or other type of dynamic storage device that can store information and instructions, EEPROM, CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory 703 is used for storing application program codes for executing the present application, and is controlled by the processor 301. The processor 701 is configured to execute application program code stored in the memory 703 to implement the actions of the object recognition apparatus provided by the embodiment shown in fig. 6.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (14)

1. An object recognition method, comprising:
receiving a service request sent by a client, wherein the service request comprises a type identifier of a requested object identification function and parameter information required by the requested object identification function;
determining target object recognition servers corresponding to at least two different object recognition algorithms based on the type identification of the requested object recognition function;
sending the parameter information to the target object recognition server so that the target object recognition server outputs a corresponding first object recognition result based on the parameter information and a corresponding object recognition algorithm;
and acquiring each first object identification result, performing deduplication processing on each first object identification result to obtain a second object identification result corresponding to the service request, and sending the second object identification result to the client.
2. The method of claim 1, further comprising:
receiving and storing registration information of at least one object recognition server, wherein the registration information comprises type identifiers of object recognition functions which can be provided by at least one object recognition algorithm corresponding to each object recognition server;
the determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identifier of the requested object recognition function includes:
and determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server.
3. The method of claim 2, wherein the service request further includes indication information of object recognition servers, and the determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifier corresponding to each object recognition server includes:
and determining the target object recognition server based on the type identifier of the requested object recognition function, the type identifier corresponding to each object recognition server and the indication information.
4. The method according to claim 2, wherein the registration information further includes a server identifier and a computation capability of each object recognition server;
the receiving and storing the registration information of at least one object recognition server comprises:
receiving registration information of each object identification server;
for each object recognition server, storing a server identifier of the object recognition server, at least one type identifier corresponding to the object recognition server and the operation capacity margin of the object recognition server in an algorithm capacity list in an associated manner;
the determining the target object recognition server based on the type identifier of the requested object recognition function and the type identifiers corresponding to the object recognition servers includes:
determining the target object recognition server based on the type identifier of the requested object recognition function, the operation capacity margin of each object recognition server in the algorithm capacity list and at least one corresponding type identifier;
the method further comprises the following steps:
and after receiving a first object identification result returned by the target object identification server, updating the operation capacity margin of the target object identification server.
5. The method according to claim 1, wherein the requested object recognition function is an attribute retrieval function for retrieving a target image based on input attribute information, the parameter information includes input attribute information for retrieval, and the first object recognition result includes the target image, an ID of the target image, and an attribute of an object corresponding to the target image;
the performing of the deduplication processing on each of the first object recognition results includes:
any one of the target images with the same ID in the first object identification results is used as the target image in the corresponding de-duplicated object identification result;
and averaging or counting the attribute values of the attributes corresponding to the target images with the same ID in each first object identification result, and taking the averaged or counted result as the attribute value of the attribute corresponding to the target image in the object identification result after the duplication is removed.
6. The method of claim 5, wherein the averaged or counted attributes do not include attributes corresponding to the input attribute information.
7. The method according to claim 1, wherein the requested object recognition function is an image retrieval function that retrieves a target image based on an input image, the parameter information includes the input image, and the first object recognition result includes a target image, an ID of the target image, and a similarity between the target image and the input image;
the performing of the deduplication processing on each of the first object recognition results includes:
any one of the target images with the same ID in the first object identification results is used as the target image in the corresponding de-duplicated object identification result;
and averaging or counting the similarity corresponding to each target image with the same ID in each first object identification result, and taking the averaged or counted result as the similarity corresponding to the target image in the object identification result after the duplication is removed.
8. The method according to claim 1, wherein the requested object recognition function is an object monitoring function for monitoring a specific object, and the first object recognition result includes prompt information, an ID of a target image included in the prompt information;
the performing of the deduplication processing on each of the first object recognition results includes:
using the prompt information corresponding to any one of the target images with the same ID in each first object identification result as the prompt information in the corresponding de-duplicated object identification result;
and/or the presence of a gas in the gas,
the prompt information further includes a prompt threshold of an object recognition algorithm corresponding to the prompt information, and the performing the deduplication processing on each first object recognition result includes:
and averaging or counting the prompting threshold values corresponding to the prompting information corresponding to the target images with the same ID in the first object identification results, and taking the averaged or counted result as the prompting threshold value corresponding to the prompting information in the object identification results after the duplication is removed.
9. The method of claim 8, further comprising:
and after the parameter information is sent to each target object identification server, the first object identification result output firstly in each first object identification result is sent to the client in real time.
10. The method according to claim 1, wherein the requested object recognition function is a function of real-naming an object, the parameter information includes an input image of the object to be recognized, and the first object recognition result includes a target image, an ID of the object in the target image, and a similarity between the target image and the input image;
the performing of the deduplication processing on each of the first object recognition results includes:
taking the target image with the largest occurrence frequency or the largest similarity with the input image in the target images corresponding to the same object ID in the first object identification results as the first target image corresponding to the object ID in the object identification results after the duplication is removed;
and averaging or counting the similarity between the first target image in each first object recognition result and the input image, and taking the result obtained by averaging or counting as the similarity between the first target image in the object recognition result after the duplication removal and the input image.
11. The method according to any one of claims 1-10, wherein said obtaining each first object identification comprises:
and acquiring first object identification results output by each target object identification server within a preset time period, wherein the starting time of the preset time period is the time when the parameter information is sent to each target object identification server or the time when the first object identification result output firstly in each first object identification result is acquired.
12. An object recognition apparatus, comprising:
a service request receiving module, configured to receive a service request sent by a client, where the service request includes a type identifier of a requested object identification function and parameter information required by the requested object identification function;
a server determination module for determining a target object recognition server corresponding to at least two different object recognition algorithms based on the type identifier of the requested object recognition function;
the object identification module is used for sending the parameter information to the target object identification server so that the target object identification server outputs a corresponding first object identification result based on the parameter information and a corresponding object identification algorithm;
and the identification result sending module is used for acquiring each first object identification result, performing deduplication processing on each first object identification result to obtain a second object identification result corresponding to the service request, and sending the second object identification result to the client.
13. An electronic device comprising a memory and a processor;
the memory has stored therein a computer program;
the processor for executing the computer program to implement the method of any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method of any one of claims 1 to 11.
CN201911415215.9A 2019-12-31 2019-12-31 Object recognition method, device, electronic equipment and computer readable storage medium Active CN111126340B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911415215.9A CN111126340B (en) 2019-12-31 2019-12-31 Object recognition method, device, electronic equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911415215.9A CN111126340B (en) 2019-12-31 2019-12-31 Object recognition method, device, electronic equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111126340A true CN111126340A (en) 2020-05-08
CN111126340B CN111126340B (en) 2023-12-01

Family

ID=70506668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911415215.9A Active CN111126340B (en) 2019-12-31 2019-12-31 Object recognition method, device, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111126340B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553487A (en) * 2020-05-25 2020-08-18 支付宝(杭州)信息技术有限公司 Business object identification method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650693A (en) * 2016-12-30 2017-05-10 河北三川科技有限公司 Multi-feature fusion identification algorithm used for human face comparison
US9760778B1 (en) * 2015-03-11 2017-09-12 Amazon Technologies, Inc. Object recognition and navigation from ongoing video
CN108776768A (en) * 2018-04-19 2018-11-09 广州视源电子科技股份有限公司 Image recognition method and device
CN110334225A (en) * 2019-05-14 2019-10-15 上海韬安信息技术有限公司 A kind of design method for the distributed face basic information middle database service being compatible with more algorithms
CN110489240A (en) * 2019-08-22 2019-11-22 Oppo广东移动通信有限公司 Image-recognizing method, device, cloud platform and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760778B1 (en) * 2015-03-11 2017-09-12 Amazon Technologies, Inc. Object recognition and navigation from ongoing video
CN106650693A (en) * 2016-12-30 2017-05-10 河北三川科技有限公司 Multi-feature fusion identification algorithm used for human face comparison
CN108776768A (en) * 2018-04-19 2018-11-09 广州视源电子科技股份有限公司 Image recognition method and device
CN110334225A (en) * 2019-05-14 2019-10-15 上海韬安信息技术有限公司 A kind of design method for the distributed face basic information middle database service being compatible with more algorithms
CN110489240A (en) * 2019-08-22 2019-11-22 Oppo广东移动通信有限公司 Image-recognizing method, device, cloud platform and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553487A (en) * 2020-05-25 2020-08-18 支付宝(杭州)信息技术有限公司 Business object identification method and device

Also Published As

Publication number Publication date
CN111126340B (en) 2023-12-01

Similar Documents

Publication Publication Date Title
US7392247B2 (en) Method and apparatus for fusing context data
CN111540466B (en) Big data based intelligent medical information pushing method and big data medical cloud platform
CN107146012B (en) Risk event processing method and system
CN114201278B (en) Task processing method, task processing device, electronic equipment and storage medium
CN113722409A (en) Method and device for determining spatial relationship, computer equipment and storage medium
CN111666443A (en) Service processing method and device, electronic equipment and computer readable storage medium
CN110737655A (en) Method and device for reporting data
CN113591580B (en) Image annotation method and device, electronic equipment and storage medium
CN111126340B (en) Object recognition method, device, electronic equipment and computer readable storage medium
CN112784102B (en) Video retrieval method and device and electronic equipment
CN107633080B (en) User task processing method and device
CN117290411A (en) Multimode database query method and device, electronic equipment and storage medium
CN111444253A (en) Data import method and device, computer readable storage medium and computer equipment
CN113609384B (en) Data subscription method, device and computer storage medium
CN115563160A (en) Data processing method, data processing device, computer equipment and computer readable storage medium
JP2019083532A (en) Image processing system, image processing method, and image processing program
CN111552703B (en) Data processing method and device
CN111160800B (en) Emergency resource combination method and device and related equipment
CN114330885A (en) Method, device and equipment for determining target state and storage medium
CN111367955A (en) Target object identification method and device, electronic equipment and storage medium
CN112149627A (en) Method and device for identifying fellow persons, electronic equipment and storage medium
CN112241672B (en) Identity data association method and device, electronic equipment and storage medium
CN112966606B (en) Image recognition method, related device and computer program product
CN110895549B (en) Quantized data retrieval method and system
CN115269397A (en) Software testing method and device, electronic equipment and storage medium

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
TA01 Transfer of patent application right

Effective date of registration: 20230804

Address after: No. 1268, F1, Building 12, Neijian Middle Road, Xisanqi Building Materials City, Haidian District, Beijing 100089

Applicant after: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd.

Address before: 100080 room 1018, 10th floor, 1 Zhongguancun Street, Haidian District, Beijing

Applicant before: BEIJING KUANGSHI TECHNOLOGY Co.,Ltd.

Applicant before: Qingdao Guangshi Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant