IP Library › Granted Patent US 11,727,200
Granted Patent B2
US 11,727,200 · App. 17/304,624 · Granted Aug 15, 2023

Annotation tool generation method, annotation method, electronic device and storage medium

Inventors: Mingzhi Wei (Beijing, CN); Lijuan Zhu (Beijing, CN)
Assignee: APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECHNOLOGY CO., LTD.
G06F40/169G06F40/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,727,200
App. No.
17/304,624
Granted
Aug 15, 2023
Kind
B2
Abstract

An annotation tool generation method, an annotation method, an electronic device and a storage medium, related to the technical field of artificial intelligence such as automatic driving, intelligent transportation, computer vision, deep learning and the like, are provided. The method includes: acquiring a first function module generated based on a first language, wherein the first function module is configured for acquiring a file to be annotated; acquiring a second function module generated based on a second language; converting the second function module into a third function module in a webpage-oriented binary format, wherein the third function module is configured for presenting the file to be annotated on an annotation page and displaying an annotation result corresponding to the file to be annotated on the annotation page; and generating an annotation tool based on the first function module and the third function module.

Claims (112)

1. An annotation tool generation method, comprising:

acquiring a first function module generated based on a first language, wherein the first function module is configured for acquiring a file to be annotated;

acquiring a second function module generated based on a second language;

converting the second function module into a third function module in a webpage-oriented binary format, wherein the third function module is configured for presenting the file to be annotated on an annotation page and displaying an annotation result corresponding to the file to be annotated on the annotation page, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

generating an annotation tool based on the first function module and the third function module.

2. The method of claim 1 , further comprising:

converting a graphic interface in an open graphic library format into a graphic interface in a webpage graphic library format; and

adding the graphic interface in the webpage graphic library format to the third function module.

3. The method of claim 1 , wherein the first language is JavaScript, and the second language is C++.

4. An annotation method, comprising:

calling an annotation tool;

invoking a file to be annotated from a server by a first function module of the annotation tool, wherein the first function module is generated in a first language;

presenting the file to be annotated on an annotation page based on a third function module of the annotation tool, wherein the third function module is, in a webpage-oriented binary format, converted from a second function module in a second language, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

displaying, in a case where an annotation result for the file to be annotated is acquired, the annotation result for the file to be annotated on the annotation page based on the third function module of the annotation tool.

5. The method of claim 4 , wherein the presenting the file to be annotated on the annotation page based on the third function module of the annotation tool, comprises:

rendering the file to be annotated based on the third function module, to generate a displayable picture of the file to be annotated; and

presenting the displayable picture of the file to be annotated via the annotation page based on a graphic interface of the third function module.

6. The method of claim 5 , wherein the rendering the file to be annotated based on the third function module, to generate the displayable picture of the file to be annotated, comprises:

generating an element tree of the picture of the file to be annotated based on the file to be annotated;

drawing an element of the displayable picture of the file to be annotated based on the element tree of the picture of the file to be annotated; and

generating the displayable picture of the file to be annotated based on the element of the displayable picture of the file to be annotated.

7. The method of claim 6 , wherein the displaying, in the case where the annotation result for the file to be annotated is acquired, the annotation result for the file to be annotated on the annotation page based on the third function module of the annotation tool, comprises:

generating annotation information for the file to be annotated based on an operation event generated on the annotation page by an input device detected by the third function module;

adding the annotation information for the file to be annotated to the element of the displayable picture based on the third function module; and

generating the annotation result for the file to be annotated based on the third function module, according to the element of the displayable picture of the file to be annotated.

8. The method of claim 4 , further comprising:

sending the annotation result to a server side based on the first function module, for storage.

9. An electronic device, comprising:

at least one processor; and

a memory communicatively connected with the at least one processor, wherein

the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform operations of:

acquiring a first function module generated based on a first language, wherein the first function module is configured for acquiring a file to be annotated;

acquiring a second function module generated based on a second language;

converting the second function module into a third function module in a webpage-oriented binary format, wherein the third function module is configured for presenting the file to be annotated on an annotation page and displaying an annotation result corresponding to the file to be annotated on the annotation page, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

generating an annotation tool based on the first function module and the third function module.

10. The electronic device of claim 9 , wherein the instructions are executable by the at least one processor to enable the at least one processor to further perform operations of:

converting a graphic interface in an open graphic library format into a graphic interface in a webpage graphic library format; and

adding the graphic interface in the webpage graphic library format to the third function module.

11. The electronic device of claim 9 , wherein the first language is JavaScript, and the second language is C++.

12. An electronic device, comprising:

at least one processor; and

a memory communicatively connected with the at least one processor, wherein

the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform operations of:

calling an annotation tool;

invoking a file to be annotated from a server by a first function module of the annotation tool, wherein the first function module is generated in a first language;

presenting the file to be annotated on an annotation page based on a third function module of the annotation tool, wherein the third function module is, in a webpage-oriented binary format, converted from a second function module in a second language, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

displaying, in a case where an annotation result for the file to be annotated is acquired, the annotation result for the file to be annotated on the annotation page based on the third function module of the annotation tool.

13. The electronic device of claim 12 , wherein the presenting the file to be annotated on the annotation page based on the third function module of the annotation tool, comprises:

rendering the file to be annotated based on the third function module, to generate a displayable picture of the file to be annotated; and

presenting the displayable picture of the file to be annotated via the annotation page based on a graphic interface of the third function module.

14. The electronic device of claim 13 , wherein the rendering the file to be annotated based on the third function module, to generate the displayable picture of the file to be annotated, comprises:

generating an element tree of the picture of the file to be annotated based on the file to be annotated;

drawing an element of the displayable picture of the file to be annotated based on the element tree of the picture of the file to be annotated; and

generating the displayable picture of the file to be annotated based on the element of the displayable picture of the file to be annotated.

15. The electronic device of claim 14 , wherein the displaying, in the case where the annotation result for the file to be annotated is acquired, the annotation result for the file to be annotated on the annotation page based on the third function module of the annotation tool, comprises:

generating annotation information for the file to be annotated based on an operation event generated on the annotation page by an input device detected by the third function module;

adding the annotation information for the file to be annotated to the element of the displayable picture based on the third function module; and

generating the annotation result for the file to be annotated based on the third function module, according to the element of the displayable picture of the file to be annotated.

16. The electronic device of claim 12 , wherein the instructions are executable by the at least one processor to enable the at least one processor to further perform operations of:

sending the annotation result to a server side based on the first function module, for storage.

17. A non-transitory computer-readable storage medium storing computer instructions for enabling a computer to perform operations of:

acquiring a first function module generated based on a first language, wherein the first function module is configured for acquiring a file to be annotated;

acquiring a second function module generated based on a second language;

converting the second function module into a third function module in a webpage-oriented binary format, wherein the third function module is configured for presenting the file to be annotated on an annotation page and displaying an annotation result corresponding to the file to be annotated on the annotation page, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

generating an annotation tool based on the first function module and the third function module.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the computer instructions are executable by the computer to enable the computer to further perform operations of:

converting a graphic interface in an open graphic library format into a graphic interface in a webpage graphic library format; and

adding the graphic interface in the webpage graphic library format to the third function module.

19. A non-transitory computer-readable storage medium storing computer instructions for enabling a computer to perform operations of:

calling an annotation tool;

invoking a file to be annotated from a server by a first function module of the annotation tool, wherein the first function module is generated in a first language;

presenting the file to be annotated on an annotation page based on a third function module of the annotation tool, wherein the third function module is, in a webpage-oriented binary format, converted from a second function module in a second language, and wherein the third function module is written using C++,

and the third function module comprises:

Open Graphic Library compatibility layer, configured to translate a desktop Open Graphic Library Application Programming Interface into Web Graphic Library,

picture element layer, configured to abstract each picture element in an annotation picture, and organize each picture element in a tree-shaped manner, wherein picture elements comprise point clouds, cubes or annotation boxes, spheres, and/or cylinders,

rendering window component, configured to call, in a depth-first traversal mode, annotation elements organized in a tree form, so as to render a whole picture, receive events of a mouse and/or a keyboard operation of a user, and/or a window size change through a Simple DirectMedia Layer library, and send the events to other components of the third function module,

task management component, configured to provide an external interface to the first function module, and

annotation box creation and adjustment component, configured to create and adjust an annotation box according to instructions of creating a box, adjusting a size of the box, adjusting a position of the box, adjusting an attribute of the box received from the user, and store the annotation box in the picture element layer; and

displaying, in a case where an annotation result for the file to be annotated is acquired, the annotation result for the file to be annotated on the annotation page based on the third function module of the annotation tool.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the presenting the file to be annotated on the annotation page based on the third function module of the annotation tool, comprises:

rendering the file to be annotated based on the third function module, to generate a displayable picture of the file to be annotated; and

presenting the displayable picture of the file to be annotated via the annotation page based on a graphic interface of the third function module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2021
From: WEI, MINGZHI; ZHU, LIJUAN
To: APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECHNOLOGY CO., LTD.
Reel/Frame 056779/0420 →
Priority Claims (1)
CN 202011446312.7 · Dec 11, 2020 · national
Continuity (1)
Related Publication 20210312121A1 · Oct 7, 2021