[go: up one dir, main page]

CN110209849B - Method and device for marking key points - Google Patents

Method and device for marking key points Download PDF

Info

Publication number
CN110209849B
CN110209849B CN201910482007.4A CN201910482007A CN110209849B CN 110209849 B CN110209849 B CN 110209849B CN 201910482007 A CN201910482007 A CN 201910482007A CN 110209849 B CN110209849 B CN 110209849B
Authority
CN
China
Prior art keywords
data
amount
marking
labeled
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910482007.4A
Other languages
Chinese (zh)
Other versions
CN110209849A (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910482007.4A priority Critical patent/CN110209849B/en
Publication of CN110209849A publication Critical patent/CN110209849A/en
Application granted granted Critical
Publication of CN110209849B publication Critical patent/CN110209849B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the disclosure discloses a method and a device for marking key points. One embodiment of the method comprises: sending a first amount of data for labeling to a first user end, wherein the data for labeling comprises an image to be labeled and coordinate information to be labeled, so that the first user end executes the following labeling steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data; receiving a first amount of labeled data returned by a first user end; and sending a second quantity of labeled data selected from the first quantity of labeled data to a second user end. The implementation method simplifies the process of labeling key points of a large number of images to be labeled.

Description

Method and device for marking key points
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a method and a device for marking key points.
Background
In various application scenarios, a large number of images to be labeled need to be labeled with key points to obtain labeled data, and then the obtained labeled data is used to achieve the corresponding purpose. At present, the annotation of a large number of key points of an image to be annotated is mainly completed in a manual mode.
Disclosure of Invention
The embodiment of the disclosure provides a method and a device for marking key points.
In a first aspect, an embodiment of the present disclosure provides a method for labeling a keypoint, the method including: sending a first amount of data for labeling to a first user end, wherein the data for labeling comprises an image to be labeled and coordinate information to be labeled, so that the first user end executes the following labeling steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data; receiving a first amount of labeled data returned by a first user end; and sending a second quantity of labeled data selected from the first quantity of labeled data to a second user end.
In some embodiments, before sending the first amount of the marking data to the first user terminal, the method further comprises: receiving a third amount of marking data sent by a second user end; and the sending of the first amount of data for tagging to the first user end includes: and sending the first quantity of marking data selected from the third quantity of marking data to the first user terminal.
In some embodiments, before sending the first amount of the marking data to the first user terminal, the method further comprises: receiving account information and password information sent by a first user terminal; and the sending of the first amount of data for tagging to the first user end includes: and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
In some embodiments, the sending the first amount of data for tagging to the first user end includes: receiving acquisition operation information sent by a first user end; and sending the first quantity of marking information indicated by the acquisition operation information to the first user terminal.
In some embodiments, the sending the second amount of labeled data selected from the generated first amount of labeled data to the second user end includes: receiving selection operation information sent by a second user end; and selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to a second user end.
In some embodiments, the above method further comprises: and generating prompt information and controlling the target equipment to execute target operation in response to the fact that the difference between the current time and the time of sending the second amount of labeled data to the second user end is larger than or equal to the preset time length.
In a second aspect, an embodiment of the present disclosure provides an apparatus for labeling keypoints, the apparatus including: a sending unit, configured to send a first amount of data for annotation to a first user end, where the data for annotation includes an image to be annotated and coordinate information to be annotated, so that the first user end performs the following annotation steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data; the first receiving unit is configured to receive a first amount of labeled data returned by the first user terminal; and the selecting unit is configured to send a second quantity of labeled data selected from the first quantity of labeled data to the second user terminal.
In some embodiments, the above apparatus further comprises: a second receiving unit, configured to receive a third amount of data for labeling sent by a second user end; the above-mentioned sending unit is further configured to: and sending the first quantity of marking data selected from the third quantity of marking data to the first user terminal.
In some embodiments, the above apparatus further comprises: the third receiving unit is configured to receive the account information and the password information sent by the first user terminal; the above-mentioned sending unit is further configured to: and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
In some embodiments, the transmitting unit is further configured to: receiving acquisition operation information sent by a first user end; and sending the first quantity of marking information indicated by the acquisition operation information to the first user terminal.
In some embodiments, the selecting unit is further configured to: receiving selection operation information sent by a second user end; and selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to a second user end.
In some embodiments, the above apparatus further comprises: a control unit configured to generate a prompt message in response to determining that a difference between a current time and a time at which the second amount of labeled data is sent to the second user is greater than or equal to a preset time length, and control the target device to perform the target operation.
In a third aspect, an embodiment of the present disclosure provides a server, including: one or more processors; a storage device having one or more programs stored thereon; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any implementation of the first aspect.
In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, which when executed by a processor implements the method as described in any of the implementations of the first aspect.
The method and the device for labeling the key points, provided by the embodiment of the disclosure, may first send a first amount of data for labeling to the first user end, so that the first user end performs the labeling step, may then receive a first amount of data after labeling returned by the first user end, and may then send a second amount of data after labeling selected from the first amount of data after labeling to the second user end. Therefore, the process of labeling key points of a large number of images to be labeled is simplified.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present disclosure may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for labeling keypoints, according to the present disclosure;
FIG. 3 is a schematic diagram of an application scenario of a method for labeling keypoints, according to an embodiment of the present disclosure;
FIG. 4 is a flow diagram of yet another embodiment of a method for labeling keypoints according to the present disclosure;
FIG. 5 is a timing diagram of a method for labeling keypoints according to the present disclosure;
FIG. 6 is a schematic block diagram illustrating one embodiment of an apparatus for labeling keypoints according to the present disclosure;
FIG. 7 is a schematic structural diagram of an electronic device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary architecture 100 to which the disclosed method for labeling keypoints or apparatus for labeling keypoints may be applied.
As shown in fig. 1, system architecture 100 may include a server 101, a terminal device 102, and a terminal device 103. The server 101 and the terminal device 102 and the terminal device 103 interact with each other via a network to receive or transmit messages and the like. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
Various communication client applications, such as a web browser application, a key point labeling application, a search application, a browser application, etc., may be installed on the terminal device 102 and the terminal device 103. In practice, the terminal device 102 may be a user side for providing the data for annotation, and the terminal device 103 may be a user side for performing annotation processing on the data for annotation.
The terminal device 102 and the terminal device 103 may be hardware or software. When the terminal device is hardware, it may be various electronic devices having a display screen and supporting the key point labeling, including but not limited to a smart phone, a tablet computer, a laptop portable computer, a desktop computer, and the like. When the terminal device is software, the terminal device can be installed in the electronic devices listed above. It may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 101 may be a server providing various services, such as a background server for the web page version labeling tool on the terminal device 102 and the terminal device 103. As an example, after the terminal device 102 sends a certain amount of data for labeling to the background server of the webpage version labeling tool thereon, the terminal device 103 may obtain a plurality of data for labeling from the background server, perform labeling processing on the obtained data for labeling to obtain a plurality of data after labeling, and then store the obtained plurality of data after labeling to the background server, so that the background server may feed back the received plurality of data after labeling to the terminal device 102.
The server 101 may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be noted that the method for labeling the keypoints provided by the embodiments of the present disclosure is generally performed by the server 101, and accordingly, the apparatus for labeling the keypoints is generally disposed in the server 101.
It should be understood that the number of servers and terminal devices in fig. 1 is merely illustrative. There may be any number of servers and terminal devices, as desired for implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for annotating keypoints according to the present disclosure is illustrated. The method for labeling the key points comprises the following steps:
step 201, sending a first amount of data for labeling to the first user end, so that the first user end executes the following labeling steps: and for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data.
In this embodiment, an execution subject (such as the server 101 shown in fig. 1) of the method for labeling the keypoints may send a first amount of data for labeling to the first user side.
The data for labeling may include an image to be labeled and coordinate information to be labeled. The image to be annotated can be various images suitable for annotating key points, such as a face image. The coordinate information to be labeled may include various information related to the keypoints to be labeled, and may include, for example, coordinates of the keypoints to be labeled.
The first user end is generally a user end capable of performing annotation processing on the data for annotation. The first amount is generally the amount of marking data to be processed by the first user. In practice, the first number may be preset or may be determined according to the selection of the first user terminal.
In this embodiment, after receiving the first amount of data for labeling, the first user end may perform a labeling step on each piece of data for labeling to obtain the first amount of data for labeling.
Specifically, for each piece of data for labeling, the first user end may label, based on the coordinate information to be labeled included in the piece of data for labeling, the image to be labeled included in the piece of data for labeling, so as to obtain corresponding data after labeling. As an example, the first user end may label a key point indicated by the coordinate information to be labeled in the image to be labeled, and then adjust the position of the labeled key point to obtain the labeled image. As yet another example, after adjusting the position of the labeled keypoint, the first user end may generate coordinates of the position where the adjusted keypoint is located. As another example, after adjusting the position of the labeled key point, the first user end may further label the visibility of the adjusted key point to obtain identification information for identifying the visibility of the adjusted key point. It is understood that the annotation process described above may include, but is not limited to: and marking key points in the image to be marked, adjusting the marked key points, generating coordinates of the adjusted key points, and marking the visibility of the adjusted key points. Accordingly, annotated data may include, but is not limited to: the marked image, the coordinates of the adjusted key points and identification information for identifying the visibility of the adjusted key points. Optionally, the annotated data may further include an image to be annotated.
In some optional implementation manners of this embodiment, before sending the first amount of data for annotation to the first user end, the execution main body may receive a third amount of data for annotation sent by a second user end.
The second user end is usually the user end which can provide the marking data. The third amount is generally the amount of the marking data to be provided by the second user. In practice, the third number may be preset or may be determined according to the selection of the second user terminal.
In these implementations, the sending the first amount of data for tagging to the first user end may include: and sending the first quantity of marking data selected from the third quantity of marking data to the first user terminal.
Specifically, after receiving the third amount of the data for labeling sent by the second user, the execution main body may select the first amount of the data for labeling from the third amount of the data for labeling, and then send the selected first amount of the data for labeling to the first user.
Therefore, in a scene that a large amount of marking data needs to be marked, the second user side can serve as a provider of the marking data, the large amount of marking data to be processed is uploaded to the server side, and then a certain amount of marking data is selected from the large amount of marking data through the server side and sent to the first user side, so that the first user side can process the marking data to obtain marked data. In practice, the to-be-processed data for labeling can be distributed to the plurality of first user ends through the server end, the data for labeling is labeled together, manual distribution of the data for labeling is not needed, and therefore the processing flow is simplified.
In some optional implementation manners of this embodiment, before sending the first amount of data for labeling to the first user end, the executing main body may further receive account information and password information sent by the first user end.
The account information may include various information related to a login account of a tagging tool on which the first user terminal logs, and may include the login account, for example. Accordingly, the password information may include various information related to a login password of a tagging tool on which the first user terminal logs, and may include a login password, for example.
In these implementations, the sending the first amount of data for tagging to the first user end may include: and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
In practice, the execution main body stores a large amount of account information and password information, and the account information and the password information correspond to each other one to one. Therefore, after the account information and the password information sent by the first user terminal are received, the execution main body matches the received account information and the received password information with the account information and the password information which are pre-selected and stored, and then determines whether the login account indicated by the received account information corresponds to the login password indicated by the password information. If the two are corresponding, it can be determined that the received account information and the password information are matched. Further, the execution body may send a first amount of data for tagging to the first user terminal.
Therefore, in a scene that a plurality of second user terminals provide the to-be-processed data for labeling to the server terminal, on the premise that the received account information is matched with the password information, the server terminal can distribute the data for labeling to the corresponding first user terminal according to the login account indicated by the account information. And further can satisfy the demand of a plurality of clients providing data for marking.
In some optional implementation manners of this embodiment, the sending the first amount of data for tagging to the first user end may include: receiving acquisition operation information sent by a first user end; and sending the first quantity of marking information indicated by the acquisition operation information to the first user terminal.
The obtaining operation information may include various information related to the first user-side obtaining tagging data. For example, at least one of the following may be included, but not limited to: the number of the data for marking to be acquired; the label of the data for labeling to be acquired, and the like.
As an example, after receiving the obtaining operation information sent by the first user, the executing entity may randomly obtain the to-be-obtained amount of the marking data from the first amount of the marking data, and then send the obtained to-be-obtained amount of the marking data to the first user.
As another example, after receiving the operation information sent by the first user, the execution main body may obtain the labeling data indicated by the label from the first amount of labeling data, and then send the obtained labeling data to the first user.
In these implementation manners, the server may send corresponding data for labeling to the first user according to the obtaining operation of the first user, thereby implementing flexible distribution of the data for labeling to be processed.
Step 202, receiving a first amount of labeled data returned by the first user.
In this embodiment, after obtaining the first amount of post-labeling data, the first user end may send the obtained first amount of post-labeling data to the execution main body, so that the execution main body may receive the first amount of post-labeling data returned by the first user end.
Step 203, sending a second amount of labeled data selected from the first amount of labeled data to a second user end.
In this embodiment, after receiving the first amount of labeled data returned by the first user, the execution main body may select a second amount of labeled data from the first amount of labeled data, and then send the selected second amount of labeled data to the second user.
The second quantity is generally the quantity of the labeled data to be selected by the second user. In practice, the second number may be preset or may be determined according to the selection of the second user terminal.
As an example, the execution body may randomly select a second amount of the labeled data from the first amount of the labeled data, and then send the selected second amount of the labeled data to the second user end.
In some optional implementations of this embodiment, the executing entity may obtain a time when the second amount of the annotated data is sent to the second user terminal. Therefore, after the second amount of labeled data is sent to the second user end, the execution main body can also acquire the current time. And then, determining whether the difference between the current time and the time of sending the second quantity of labeled data to the second user end is greater than or equal to a preset time length. In response to determining that a difference between the current time and the time of sending the second amount of labeled data to the second user is greater than or equal to a preset time, the execution subject may generate a prompt message and control the target device to execute the target operation.
The prompt message may include various information related to the second user. For example, the following items may be included, but are not limited to: the login account of the second user end, and the quantity of the marked data to be sent to the second user end. The target device may be an alarm lamp or an alarm connected in communication with the execution main body, and correspondingly, the target operation may be an alarm lamp flashing or an alarm alarming.
As an example, after determining that a difference between the current time and the time of sending the second amount of labeled data to the second user end is greater than or equal to a preset time length, the execution main body may control an alarm lamp of the communication connection to flash, or control an alarm of the communication connection to alarm.
In the implementation modes, the alarm lamp is controlled to flash or the alarm is controlled to give an alarm, so that the prompting effect can be achieved, namely, the post-labeling data which is not sent to the second user end for a long time is stored in the prompting technician server.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of the method for labeling keypoints according to the present embodiment. In the application scenario of fig. 3, an annotation tool for annotating the image key points is running on the terminal device 302 and the terminal device 303, and the server 301 is a background server of the annotation tool. The terminal device 302 is a user side for providing data for annotation, and the terminal device 303 is a user side for performing annotation processing on the data for annotation. The data for annotation may include an image to be annotated and coordinate information to be annotated.
First, alternatively, the terminal apparatus 302 may transmit the third amount of the data for annotation 304 to the server 301, and after receiving the third amount of the data for annotation 304, the server 301 may select the first amount of the data for annotation 305 from the third amount of the data for annotation 304 and transmit the selected data to the terminal apparatus 303.
Then, after receiving the first amount of data for labeling 305, the terminal device 303 may perform labeling processing on the image to be labeled included in each piece of data for labeling based on the coordinate information to be labeled included in the data for labeling, and further generate a first amount of data 306 after labeling.
The terminal device 303 may then return the first quantity of annotated data 306 to the server 301.
Further, after receiving the first amount of labeled data 306, the server 301 may select a second amount of labeled data 307 from the first amount of labeled data 306 and feed back the second amount of labeled data 307 to the terminal device 307.
At present, when a large number of images to be annotated are subjected to key point annotation, one of the prior art generally distributes the images to be annotated to a plurality of user terminals in a manual manner, and then the plurality of user terminals label the key points of the received images to be annotated. After the annotation is completed, the annotated data obtained by the plurality of user terminals usually needs to be manually summarized. In the whole labeling process, a long time is needed, and errors such as missed sending of the image to be labeled, data loss after labeling and the like are easily caused. This increases the complexity of the process. The method provided by the above embodiment of the present disclosure implements the distribution of the data to be labeled by the server by sending the first amount of data for labeling to the first user end to perform the labeling step on the received data for labeling to obtain the first amount of labeled data, and implements the feedback of the labeled data by the server by sending the second amount of labeled data selected from the first amount of labeled data to the second user end, thereby simplifying the process of labeling a large number of images to be labeled with key points.
With further reference to FIG. 4, a flow 400 of yet another embodiment of a method for labeling keypoints is illustrated. The process 400 of the method for labeling keypoints comprises the following steps:
step 401, sending a first amount of data for tagging to the first user end, so that the first user end executes the following tagging steps: and for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data.
Step 402, receiving a first amount of labeled data returned by a first user.
Step 401 and step 402 are the same as step 201 and step 202, and the above description for step 201 and step 202 also applies to step 401 and step 402, which is not described herein again.
Step 403, receiving the selection operation information sent by the second user end.
In this embodiment, after receiving the first amount of labeled data returned by the first user, an execution main body (for example, the server 101 shown in fig. 1) of the method for labeling the keypoint may receive the selection operation information sent by the second user.
The selection operation information includes various information related to the second user terminal selecting the labeled data. For example, at least one of the following may be included, but not limited to: selecting the quantity to be selected of the marked data; the label of the data to be selected after labeling; uploading time of the marked data to be selected; and uploading information (such as an account) of the user side of the to-be-selected marked data, and the like.
Step 404, selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to the second user.
In this embodiment, after receiving the selection operation information sent by the second user, the execution main body may select a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and send the selected second amount of labeled data to the second user.
As an example, the execution main body may randomly obtain the number of labeled data to be selected from the first number of labeled data, and then send the selected number of labeled data to be selected to the second user side.
As another example, the execution body may select the labeled data indicated by the label from the first number of labeled data, and then send the selected labeled data to the second user end
As another example, the execution main body may select the labeled data indicated by the upload time from the first number of labeled data, and then send the selected labeled data to the second user.
As another example, the execution main body may select the labeled data indicated by the information of the user terminal from the first amount of labeled data, and then send the selected labeled data to the second user terminal.
As can be seen from fig. 4, compared with the embodiment corresponding to fig. 2, the process 400 of the method for labeling the keypoints in this embodiment embodies a step of receiving the selection operation information sent by the second user end, and also embodies a step of sending the second amount of labeled data indicated by the selection operation information to the second user end. Therefore, according to the scheme described in this embodiment, corresponding labeled data can be sent to the second user end according to the selection operation of the second user end, and flexible feedback of the labeled data is further achieved.
With continued reference to FIG. 5, a timing sequence of a method for labeling keypoints is illustrated. The time sequence of the method for marking the key points comprises the following steps:
step 501, the second user terminal sends a third amount of data for labeling to the server terminal.
Step 502, the server receives a third amount of marking data sent by the second user.
The descriptions in the optional implementation manners in step 501, step 502, and step 201 are similar, and are not described again here.
In step 503, the first user side obtains the first amount of data for labeling in the third amount of data for labeling from the server side, and executes the following labeling steps: and for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data.
In this embodiment, the first user side may obtain the first amount of data for labeling from the third amount of data for labeling obtained in advance by the server side, and then perform the labeling step to obtain the first amount of data for labeling. Regarding the method for the first user end to obtain the third amount of data for labeling and the process of executing the labeling step, there is a related description in step 201, and details are not repeated here.
In step 504, the first user returns the obtained first amount of labeled data to the server.
In this embodiment, after obtaining the first amount of labeled data, the first user side may return the obtained first amount of labeled data to the server side.
And 505, the second user terminal selects a second amount of labeled data in the first amount of labeled data from the server terminal.
In this embodiment, after the first user returns the obtained first amount of labeled data to the server, the second user may select a second amount of labeled data from the first amount of labeled data obtained by the server. The method for the second user to select the second amount of labeled data corresponds to the description in step 404, and is not further described here.
With further reference to fig. 6, as an implementation of the method shown in the above-mentioned figures, the present disclosure provides an embodiment of an apparatus for labeling a keypoint, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 6, the apparatus 500 for labeling keypoints provided in the present embodiment includes a sending unit 601, a first receiving unit 602, and a selecting unit 603. Wherein the sending unit 601 may be configured to: sending a first amount of data for labeling to a first user end, wherein the data for labeling comprises an image to be labeled and coordinate information to be labeled, so that the first user end executes the following labeling steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data; the first receiving unit 602 may be configured to: receiving a first amount of labeled data returned by a first user end; the selecting unit 603 may be configured to: and sending a second quantity of labeled data selected from the first quantity of labeled data to a second user end.
In the present embodiment, in the apparatus 600 for labeling the keypoints: the specific processing of the sending unit 601, the first receiving unit 602, and the selecting unit 603 and the technical effects thereof can refer to the related descriptions of step 201, step 202, and step 203 in the corresponding embodiment of fig. 2, which are not described herein again.
In some optional implementations of this embodiment, the apparatus 600 may further include: a second receiving unit (not shown in the figure). Wherein the second receiving unit may be configured to: and receiving a third amount of marking data sent by the second user terminal. At this time, the transmitting unit 601 may be further configured to: and sending the first quantity of marking data selected from the third quantity of marking data to the first user terminal.
In some optional implementations of this embodiment, the apparatus 600 may further include: a third receiving unit (not shown in the figure). Wherein the third receiving unit may be configured to: and receiving account information and password information sent by the first user terminal. At this time, the transmitting unit 601 may be further configured to: and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
In some optional implementations of this embodiment, the sending unit 601 may be further configured to: receiving acquisition operation information sent by a first user end; and sending the first quantity of marking information indicated by the acquisition operation information to the first user terminal.
In some optional implementations of the present embodiment, the selecting unit 603 may be further configured to: receiving selection operation information sent by a second user end; and selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to a second user end.
In some optional implementations of this embodiment, the apparatus 600 may further include: a control unit (not shown in the figure). Wherein the control unit may be configured to: and generating prompt information and controlling the target equipment to execute target operation in response to the fact that the difference between the current time and the time of sending the second amount of labeled data to the second user end is greater than or equal to the preset time length.
The apparatus provided in the foregoing embodiment of the present disclosure may first send a first amount of labeled data to a first user end through the sending unit 601, so that the first user end performs a labeling step, then receive a first amount of labeled data returned by the first user end through the first receiving unit 602, and then send a second amount of labeled data selected from the first amount of labeled data to a second user end through the selecting unit 603. Therefore, the process of labeling key points of a large number of images to be labeled is simplified.
Referring now to FIG. 7, a block diagram of an electronic device (e.g., the server of FIG. 1) 700 suitable for use in implementing embodiments of the present disclosure is shown. The server shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 may include a processing means (e.g., central processing unit, graphics processor, etc.) 701 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from storage 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are also stored. The processing device 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Generally, the following devices may be connected to the I/O interface 705: input devices 707 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 707 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 708 including, for example, magnetic tape, hard disk, etc.; and a communication device 709. The communication means 709 may allow the electronic device 700 to communicate wirelessly or by wire with other devices to exchange data. While fig. 7 illustrates an electronic device 700 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 7 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via the communication means 709, or may be installed from the storage means 708, or may be installed from the ROM 702. The computer program, when executed by the processing device 701, performs the above-described functions defined in the methods of embodiments of the present disclosure. It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the server; or may exist separately and not be assembled into the server. The computer readable medium carries one or more programs which, when executed by the server, cause the server to: sending a first amount of data for labeling to a first user end, wherein the data for labeling comprises an image to be labeled and coordinate information to be labeled, so that the first user end executes the following labeling steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data; receiving a first amount of labeled data returned by a first user end; and sending a second quantity of labeled data selected from the first quantity of labeled data to a second user end.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a transmitting unit, a first receiving unit, and a selecting unit. Where the names of the units do not in some cases constitute a limitation of the units themselves, for example, the first receiving unit may also be described as a "unit that receives the first amount of labeled data returned by the first user".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept as defined above. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (12)

1. A method for labeling key points is applied to a server and comprises the following steps:
receiving a third amount of marking data sent by a second user end;
sending a first amount of marking data selected from the third amount of marking data to a first user end;
sending a first amount of data for labeling to a first user end, wherein the data for labeling comprises an image to be labeled and coordinate information to be labeled, so that the first user end executes the following labeling steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data;
receiving the first quantity of labeled data returned by the first user end;
sending a second amount of labeled data selected from the first amount of labeled data to a second user end, and acquiring the time for sending the second amount of labeled data to the second user end;
and in response to determining that the difference between the current time and the time of sending the second amount of labeled data to the second user end is greater than or equal to a preset time length, alarming to prompt that labeled data which are not sent to the second user end exist.
2. The method of claim 1, wherein prior to said sending the first amount of marking data to the first user terminal, the method further comprises:
receiving account information and password information sent by the first user terminal; and
the sending of the first amount of data for labeling to the first user end includes:
and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
3. The method of claim 2, wherein said sending a first amount of marking data to the first user terminal comprises:
receiving acquisition operation information sent by the first user terminal;
and sending a first amount of marking information indicated by the acquisition operation information to the first user terminal.
4. The method according to any one of claims 1 to 3, wherein the sending a second amount of the labeled data selected from the generated first amount of labeled data to a second user side comprises:
receiving selection operation information sent by the second user end;
and selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to the second user terminal.
5. The method according to any one of claims 1-3, wherein the method further comprises:
and generating prompt information and controlling target equipment to execute target operation in response to the fact that the difference between the current time and the time of sending the second quantity of labeled data to the second user end is larger than or equal to preset time length.
6. A device for marking key points is applied to a server and comprises the following components:
a second receiving unit, configured to receive a third amount of data for labeling sent by a second user end;
a sending unit configured to send a first amount of marking data selected from the third amount of marking data to the first user terminal
The sending unit is further configured to send a first amount of data for annotation to a first user end, wherein the data for annotation includes an image to be annotated and coordinate information to be annotated, so that the first user end executes the following annotation steps: for the marking data in the first quantity of marking data, marking the image to be marked in the marking data based on the coordinate information to be marked in the marking data to obtain a first quantity of marked data;
a first receiving unit, configured to receive the first amount of post-labeling data returned by the first user end;
a selecting unit configured to send a second amount of labeled data selected from the first amount of labeled data to a second user end, and to acquire a time at which the second amount of labeled data is sent to the second user end;
a control unit configured to, in response to determining that a difference between a current time and a time at which the second amount of labeled data is sent to the second user is greater than or equal to a preset time period, alarm to indicate that there is labeled data that has not been sent to the second user.
7. The apparatus of claim 6, wherein the apparatus further comprises:
a third receiving unit, configured to receive account information and password information sent by the first user;
the sending unit is further configured to:
and sending a first amount of data for marking to the first user terminal in response to determining that the account information is matched with the password information.
8. The apparatus of claim 7, wherein the transmitting unit is further configured to:
receiving acquisition operation information sent by the first user terminal;
and sending a first amount of marking information indicated by the acquisition operation information to the first user terminal.
9. The apparatus according to any of claims 6-8, wherein the selecting unit is further configured to:
receiving selection operation information sent by the second user end;
and selecting a second amount of labeled data indicated by the selection operation information from the first amount of labeled data, and sending the selected second amount of labeled data to the second user terminal.
10. The apparatus of any of claims 6-8, wherein the apparatus further comprises:
a control unit configured to generate a prompt message and control a target device to perform a target operation in response to determining that a difference between a current time and a time at which the second amount of labeled data is sent to the second user terminal is greater than or equal to a preset time length.
11. A server, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
12. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201910482007.4A 2019-06-04 2019-06-04 Method and device for marking key points Active CN110209849B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910482007.4A CN110209849B (en) 2019-06-04 2019-06-04 Method and device for marking key points

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910482007.4A CN110209849B (en) 2019-06-04 2019-06-04 Method and device for marking key points

Publications (2)

Publication Number Publication Date
CN110209849A CN110209849A (en) 2019-09-06
CN110209849B true CN110209849B (en) 2022-03-25

Family

ID=67790711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910482007.4A Active CN110209849B (en) 2019-06-04 2019-06-04 Method and device for marking key points

Country Status (1)

Country Link
CN (1) CN110209849B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400581B (en) * 2020-03-13 2024-02-06 京东科技控股股份有限公司 System, method and apparatus for labeling samples

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462738A (en) * 2013-09-24 2015-03-25 西门子公司 Method, device and system for labeling medical images
CN108268575A (en) * 2017-01-04 2018-07-10 阿里巴巴集团控股有限公司 Processing method, the device and system of markup information
CN109035187A (en) * 2018-07-10 2018-12-18 杭州依图医疗技术有限公司 A kind of mask method and device of medical image
CN109492549A (en) * 2018-10-24 2019-03-19 杭州睿琪软件有限公司 A kind of processing of training sample set, model training method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300678B1 (en) * 2015-08-03 2016-03-29 Truepic Llc Systems and methods for authenticating photographic image data
JP6367168B2 (en) * 2015-09-18 2018-08-01 富士フイルム株式会社 Image processing apparatus, image processing method, program, and recording medium
CN106294707A (en) * 2016-08-08 2017-01-04 乐视控股(北京)有限公司 A kind of countdown information output intent and device
CN108829652B (en) * 2018-04-28 2021-06-08 河海大学 Picture labeling system based on crowdsourcing
CN109471710B (en) * 2018-10-25 2021-05-25 网易(杭州)网络有限公司 Task request processing method and device, processor, terminal and server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462738A (en) * 2013-09-24 2015-03-25 西门子公司 Method, device and system for labeling medical images
CN108268575A (en) * 2017-01-04 2018-07-10 阿里巴巴集团控股有限公司 Processing method, the device and system of markup information
CN109035187A (en) * 2018-07-10 2018-12-18 杭州依图医疗技术有限公司 A kind of mask method and device of medical image
CN109492549A (en) * 2018-10-24 2019-03-19 杭州睿琪软件有限公司 A kind of processing of training sample set, model training method and system

Also Published As

Publication number Publication date
CN110209849A (en) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110708346B (en) Information processing system and method
CN109981787B (en) Method and device for displaying information
CN109255337B (en) Face key point detection method and device
CN110069919B (en) Information acquisition method and device
US20230239546A1 (en) Theme video generation method and apparatus, electronic device, and readable storage medium
CN110007936B (en) Data processing method and device
CN110618768B (en) Information presentation method and device
CN110046000B (en) Small program running method and device
CN108549586B (en) Information processing method and device
CN113050942A (en) Page generation method and device, readable medium and electronic equipment
CN111324470A (en) Method and device for generating information
CN110209849B (en) Method and device for marking key points
CN111278085A (en) Method and device for acquiring target network
CN110673886B (en) Method and device for generating thermodynamic diagrams
CN110704760A (en) Data processing method and device
CN111400581B (en) System, method and apparatus for labeling samples
CN115495175A (en) Picture display method and device, terminal equipment and computer medium
CN114253520B (en) Interface code generation method and device
CN111626802A (en) Method and apparatus for processing information
CN111367592B (en) Information processing method and device
CN113407229B (en) Method and device for generating offline scripts
CN109428919B (en) Webpage processing request processing method and device and electronic equipment
CN111163156A (en) Data processing method, device and storage medium based on block chain
CN112468849A (en) Method, apparatus, electronic device and medium for video information transmission
CN112905254B (en) Method and device for sending request

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.