CN114911601A - Algorithm using method, ECN, client and algorithm using system - Google Patents

Algorithm using method, ECN, client and algorithm using system Download PDF

Info

Publication number
CN114911601A
CN114911601A CN202110169872.0A CN202110169872A CN114911601A CN 114911601 A CN114911601 A CN 114911601A CN 202110169872 A CN202110169872 A CN 202110169872A CN 114911601 A CN114911601 A CN 114911601A
Authority
CN
China
Prior art keywords
algorithm
client
ecn
application layer
analysis
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.)
Pending
Application number
CN202110169872.0A
Other languages
Chinese (zh)
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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN202110169872.0A priority Critical patent/CN114911601A/en
Publication of CN114911601A publication Critical patent/CN114911601A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the application discloses an algorithm using method, an ECN, a client and an algorithm using system, wherein the method is applied to an Edge Computing Node (ECN) side, and the ECN comprises the following steps: a device application layer; the method comprises the following steps: receiving the algorithm program package through the equipment application layer, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package; the algorithm program package is provided by an algorithm manufacturer according to a preset unified standard, is connected with the ECN at a client and is imported into the ECN by calling a standard Software Development Kit (SDK) interface through the client; and performing algorithm analysis on the acquired video frame data through the algorithm application APP. By the scheme of the embodiment, an algorithm manufacturer does not need to modify the existing algorithm interface, and can directly import the algorithm program package when different algorithms are docked without secondary development.

Description

Algorithm using method, ECN, client and algorithm using system
Technical Field
The present disclosure relates to algorithm application technologies, and in particular, to an algorithm using method, an ECN, a client, and an algorithm using system.
Background
In recent years, monitoring systems have moved from the traditional analog era to the digital era to today's everything intelligent era. Intelligent analysis algorithms such as face recognition algorithms are fully applied in monitoring systems. Nowadays, there are more and more vendors developing intelligent analysis algorithms, but these algorithms require a suitable carrier. The monitoring system is used as a system capable of naturally acquiring various scenes, and is combined with an intelligent analysis algorithm, so that intelligent monitoring under various scenes is realized.
At present, intelligent analysis algorithms of different algorithm manufacturers do not have a unified standard on an external interface. The monitoring system wants to integrate a set of intelligent analysis algorithms, needs to understand the SDK (Software Development Kit) of an algorithm manufacturer and develops the corresponding SDK; moreover, aiming at the intelligent analysis algorithms of different manufacturers, software needs to be re-developed and replaced, and the intelligent analysis algorithms of different algorithm manufacturers cannot be quickly replaced by one set of equipment, so that the development cost of the monitoring system is increased.
The current solution is that an algorithm manufacturer or an association sets a uniform algorithm protocol standard, and the algorithm manufacturer realizes an interface according to the protocol standard. And finally, developing the monitoring equipment meeting the protocol standard by a monitoring manufacturer and connecting an intelligent analysis algorithm of an algorithm manufacturer. However, in the prior art, algorithm manufacturers are required to actively cooperate with protocols for realizing the unified standard, but the unified protocol standard cannot take the difference of each algorithm manufacturer into consideration. The interface provided by the protocol can not meet the requirements of all algorithm manufacturers, and meanwhile, the protocol is determined by a protocol maker and the timeliness and the accuracy of protocol updating can not be ensured.
Disclosure of Invention
The embodiment of the application provides an algorithm using method and an algorithm using system, so that an algorithm manufacturer does not need to modify an existing algorithm interface, an algorithm program package can be directly imported when different algorithms are docked, and secondary development is not needed.
The embodiment of the application provides an algorithm using method, which is applied to an Edge Computing Node (ECN) side, wherein the ECN can comprise: a device application layer; the method can comprise the following steps:
receiving an algorithm program package through the equipment application layer, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package; the algorithm program package is provided by an algorithm manufacturer according to a preset unified standard, is connected with the ECN at a client and is imported into the ECN by calling a standard Software Development Kit (SDK) interface through the client;
and performing algorithm analysis on the acquired video frame data by the algorithm application APP.
In an exemplary embodiment of the present application, before the algorithm package is imported into the ECN through the client call standard software development kit SDK interface, the method may further include:
and providing a standard SDK interface and a standard method for packaging the algorithm program package to an algorithm manufacturer by an ECN equipment manufacturer, so that the algorithm manufacturer packages the respective algorithms according to the standard method to obtain the corresponding algorithm program package, and providing the algorithm program package through the standard SDK interface.
In an exemplary embodiment of the present application, the ECN may further include: driving the equipment; before performing algorithm analysis on the acquired video frame data by applying the APP through the algorithm, the method further includes:
the device application layer starts streaming according to the URL address of the video code stream uniform resource locator and sends code stream data obtained after streaming starting to the device driver; the URL address of the video code stream is input through an input window of the client;
and communicating with the client through the equipment application layer, enabling the equipment driver to decode the code stream data according to a decoding service issued by the client according to a communication result, and acquiring an algorithm analysis instruction which is sent by the client and used for instructing the algorithm application APP to perform algorithm analysis.
In an exemplary embodiment of the present application, the communicating with the client through the device application layer, and enabling the device driver to decode the code stream data according to the decoding service delivered by the client according to the communication result may include:
acquiring a decoding service issued by the client through the device application layer, and notifying the device driver to decode according to the decoding service;
and decoding the code stream data through the equipment driver to obtain video frame data.
The communicating with the client through the device application layer and obtaining, according to a communication result, an algorithm analysis instruction sent by the client for instructing the algorithm application APP to perform algorithm analysis may include:
after the algorithm analysis task is successfully created, returning a task handle to the client through the equipment application layer; the task handle is used for distinguishing different analysis tasks and indicating that a decoding channel is established;
receiving an algorithm analysis instruction returned by the client according to the task handle through the equipment application layer; the algorithm analysis instruction comprises an instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
In an exemplary embodiment of the present application, the performing, by the algorithm application APP, an algorithm analysis on the acquired video frame data may include:
calling one or more video frame data corresponding to the instruction handle directly from the device driver by the algorithm application APP through a standard SDK interface;
and performing algorithm analysis on the called one or more video frame data through the algorithm application APP according to the algorithm configuration parameters.
In an exemplary embodiment of the present application, after performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method may further include:
assembling an algorithm analysis result through the algorithm application APP according to an algorithm protocol customized by an algorithm manufacturer, and sending the assembled algorithm analysis result to the equipment application layer;
and carrying out secondary assembly on the algorithm analysis result through the equipment application layer according to a standard signaling, and then sending the result to the client.
In an exemplary embodiment of the present application, the method may further include: and when the algorithm analysis result is assembled for the second time through the equipment application layer, the algorithm analysis result is in a black box state.
In an exemplary embodiment of the application, the device application layer and the algorithm application APP communicate with each other via a message bus;
the device application layer and the device driver are communicated through a message bus;
direct communication between the device driver and the algorithm application APP;
the message bus carries out message transmission in a message transparent transmission mode;
the algorithm package may further comprise any one or more of: the algorithm model, the algorithm library and the corresponding description file of the algorithm.
The embodiment of the present application further provides an algorithm using method, which is applied to a client side, where the method may include:
the method comprises the steps of connecting a client side with an edge computing node ECN, guiding an algorithm program package provided by an algorithm manufacturer according to a preset unified standard into the ECN by calling a standard SDK interface through the client side, receiving the algorithm program package through an equipment application layer of the ECN, analyzing the algorithm program package, obtaining an algorithm application APP contained in the algorithm program package, and carrying out algorithm analysis on obtained video frame data through the algorithm application APP.
In an exemplary embodiment of the present application, before performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method may further include:
acquiring a video code stream Uniform Resource Locator (URL) address of video shooting equipment input on an input window of the client through the client, starting streaming by the equipment application layer according to the URL address of the video code stream, and sending code stream data obtained after the streaming is started to the equipment driver;
communicating with the equipment application layer through the client, and issuing a decoding service to the equipment application layer so that the equipment application layer informs an equipment driver of the ECN to decode the code stream data according to the decoding service; and sending an algorithm analysis instruction for instructing the algorithm application APP to perform algorithm analysis to the device application layer.
In an exemplary embodiment of the present application, the sending, by the client communicating with the device application layer, an algorithm analysis instruction for instructing the algorithm application APP to perform algorithm analysis to the device application layer may include:
after the device driver is decoded, receiving a task handle returned by the device application layer through the client; the task handle comprises information of decoding completion;
the client returns an algorithm analysis instruction to the device application layer according to the task handle; the algorithm analysis instruction comprises an instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
In an exemplary embodiment of the present application, after performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method may further include:
receiving an algorithm analysis result after the equipment application layer is secondarily assembled according to a standard signaling through the client; and before the algorithm analysis result is subjected to secondary assembly, performing primary assembly through the algorithm application APP according to an algorithm protocol customized by an algorithm manufacturer, and sending the algorithm analysis result to the equipment application layer.
The embodiment of the present application further provides an edge computing node ECN, which may include: a first processor and a first computer readable storage medium; the first processor is capable of implementing functions of a device application layer and a device driver; the first computer readable storage medium stores first instructions, and when the first instructions are executed by the first processor, the method for using the ECN side algorithm is realized.
An embodiment of the present application further provides a client, which may include: a second processor and a second computer readable storage medium; a second computer readable storage medium has second instructions stored therein which, when executed by the second processor, implement the client-side algorithm usage method of any of the above.
The embodiment of the application also provides an algorithm using system, which can comprise a client and an edge computing node ECN; the ECN includes: a first processor and a first computer readable storage medium; the first processor is capable of implementing functions of a device application layer and a device driver; the client side comprises the following steps: a second processor and a second computer readable storage medium; the first computer readable storage medium stores first instructions, and the second computer readable storage medium stores second instructions, and when the first instructions are executed by the first processor and the second instructions are executed by the second processor after the client and the ECN are connected, the method for using the algorithm is implemented.
Compared with the related art, the embodiment of the application is applied to the edge computing node ECN side, and the ECN can comprise: a device application layer; the method can comprise the following steps: receiving an algorithm program package through the equipment application layer, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package; the algorithm program package is provided by an algorithm manufacturer according to a preset unified standard, is connected with the ECN at a client and is imported into the ECN by calling a standard Software Development Kit (SDK) interface through the client; and performing algorithm analysis on the acquired video frame data by using the APP through the algorithm. By the scheme of the embodiment, an algorithm manufacturer does not need to modify the existing algorithm interface, and can directly import the algorithm program package when different algorithms are docked without secondary development.
Additional features and advantages of the present application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the present application. Other advantages of the present application may be realized and attained by the instrumentalities and combinations particularly pointed out in the specification and the drawings.
Drawings
The drawings are intended to provide an understanding of the present disclosure, and are to be considered as forming a part of the specification, and are to be used together with the embodiments of the present disclosure to explain the present disclosure without limiting the present disclosure.
FIG. 1 is a flow chart of a method for using an ECN side algorithm according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a frame structure of an ECN apparatus according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an ECN software framework according to an embodiment of the present application;
FIG. 4 is a schematic diagram of an algorithm analysis starting method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a method for returning an algorithm analysis result according to an embodiment of the present application;
FIG. 6 is a flow chart of a method for using a client-side algorithm in accordance with an embodiment of the present application;
FIG. 7 is a block diagram of an ECN in accordance with an embodiment of the present application;
FIG. 8 is a block diagram of a client in accordance with an embodiment of the present application;
FIG. 9 is a block diagram of an algorithm using system in accordance with an embodiment of the present application;
fig. 10 is a flowchart of an algorithm using system executing an algorithm using method according to an embodiment of the present application.
Detailed Description
The present application describes embodiments, but the description is illustrative rather than limiting and it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the embodiments described herein. Although many possible combinations of features are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are possible. Any feature or element of any embodiment may be used in combination with, or instead of, any other feature or element in any other embodiment, unless expressly limited otherwise.
The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive concept as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive aspects to form yet another unique inventive aspect, as defined by the claims. Thus, it should be understood that any of the features shown and/or discussed in this application may be implemented alone or in any suitable combination. Accordingly, the embodiments are not limited except as by the appended claims and their equivalents. Further, various modifications and changes may be made within the scope of the appended claims.
Further, in describing representative embodiments, the specification may have presented the method and/or process as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. Other orders of steps are possible as will be understood by those of ordinary skill in the art. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. Furthermore, the claims directed to the method and/or process should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the embodiments of the present application.
The embodiment of the application provides an algorithm using method, which is applied to an Edge Computing Node (ECN) side, wherein the ECN can comprise: a device application layer; as shown in fig. 1, the method may include steps S101-S102:
s101, receiving an algorithm program package through the equipment application layer, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package; the algorithm program package is provided by an algorithm manufacturer according to a preset unified standard, is connected with the ECN at a client and is imported into the ECN by calling a standard Software Development Kit (SDK) interface through the client;
and S102, performing algorithm analysis on the acquired video frame data through the algorithm application APP.
In an exemplary embodiment of the application, a set of standard operating environments for intelligent analysis algorithm operation and quick replacement are provided, and secondary development work of video shooting equipment (such as monitoring equipment, live broadcast equipment and the like) for connecting different algorithms is eliminated.
In exemplary embodiments of the present application, the ecn (edge Computing node): the edge computing node is an intelligent analysis embedded device which can be quickly accessed to the video shooting device.
In the exemplary embodiment of the application, the ECN device is a complete embedded device, and can be installed in any existing video shooting device, and the accessed video code stream can be used; the ECN equipment can be accessed to the video code stream by providing the video code stream URL (uniform resource locator) address which can be accessed by the video shooting equipment to the ECN equipment.
In an exemplary embodiment of the present application, as shown in fig. 2, which is a framework structure diagram of an ECN device, hardware of the ECN device may include: processors and peripheral circuits (e.g., Haesi's), which may be system On a chip (SOC) (System On chip), may also include, but are not limited to: a memory, an EMMC (embedded Multimedia controller), a USB (Universal Serial Bus) Interface, an HDMI (High Definition Multimedia Interface), an SATA (Serial advanced technology attachment) Interface, a hard disk Interface, and a network Interface. In an exemplary embodiment of the present application, the ECN device may be connected to a video capture device, such as a monitoring system, through a network. The input of the ECN is a video stream, the ECN equipment can be used as long as the video stream address can be provided, and the ECN equipment is convenient to use and wide in application range.
In an exemplary embodiment of the present application, the ECN device may be compatible with algorithm packages provided by different algorithm vendors, and in order to be compatible with different algorithm packages, the ECN device may provide standard interfaces for interfacing with algorithm applications APP, and the algorithm applications APP passing through the interfaces can be enabled in the ECN device.
In the exemplary embodiments of the present application, the algorithm package may further include, but is not limited to, any one or more of the following: the algorithm model, the algorithm library and the corresponding description file of the algorithm.
In an exemplary embodiment of the present application, the scheme of the embodiment of the present application provides an ECN device, so that through cooperation between the ECN device and a client, the problem that vendors such as a monitoring device and the like replace different algorithm vendors to intelligently analyze an algorithm is difficult and that an algorithm vendor or an SDK interface needs to be provided according to a unified standard is solved, and quick replacement of an algorithm (for example, a face recognition algorithm, a temperature detection algorithm, an illegal recognition algorithm and the like in the monitoring device) can be realized. An algorithm manufacturer does not need to modify an existing algorithm interface, only needs to provide an algorithm library, an algorithm model and the like according to standards, and can dock ECN equipment after developing an algorithm program (such as the algorithm application APP) by itself or by the algorithm manufacturer. The ECN equipment manufacturer can directly import the algorithm program package when docking different algorithms without secondary development.
In exemplary embodiments of the present application, the client may include, but is not limited to: demo (example code/complete project code) programs, WEB (WEB page) clients, third party device platforms, and PC (personal computer) clients (e.g., cell phones, smart wearable devices, smart robots, tablets, etc.), and the like.
In an exemplary embodiment of the present application, before the algorithm package is imported into the ECN through the client call standard software development kit SDK interface, the method may further include:
and providing a standard SDK interface and a standard method for packaging the algorithm program package for an algorithm manufacturer by an ECN equipment manufacturer, so that the algorithm manufacturer can package respective algorithms according to the standard method to obtain corresponding algorithm program packages, and provide the algorithm program packages through the standard SDK interface.
In an exemplary embodiment of the present application, a manner of accessing the ECN device by the new algorithm may include: and providing an algorithm program package by an algorithm manufacturer according to a unified standard, and analyzing and storing algorithm information by an equipment application layer after the algorithm program package is introduced into the ECN equipment.
In an exemplary embodiment of the present application, ECN device vendors may provide a standard SDK interface and a method of packing smart analytics algorithms (based on the standard method described above). An algorithm manufacturer can pack the algorithm application APP, the algorithm model, the algorithm library and the description file corresponding to the algorithm according to the standard method to form the algorithm program package. And the algorithm program package is imported into the ECN equipment through a standard SDK interface so as to analyze the algorithm program package through the ECN equipment and record corresponding information of the algorithm program package. And the corresponding algorithm can be used in the ECN equipment by starting the corresponding algorithm application APP through the standard SDK interface.
In an exemplary embodiment of the present application, the software framework of the ECN may be as shown in fig. 3.
In exemplary embodiments of the present application, the device application layer may be a pure software program, may provide algorithmic package management services (e.g., including, but not limited to, algorithm import, parsing, start, stop, etc.), algorithmic analysis task management (analysis task start, stop, etc.), and the like.
In an exemplary embodiment of the present application, the ECN may further include: and driving the equipment. The device driver is special software for driving hardware, and the device driver can be used for providing a necessary decoding interface and a necessary encoding interface in the ECN (for example, a video stream needs to be decoded after being accessed into the ECN, picture information in a reported algorithm analysis result needs to be encoded, and the picture information can be packaged into a standard SDK interface by an ECN device manufacturer for being called by an algorithm application APP). The device driver layer can ensure that hardware (including and not limited to a core processor, a hard disk, a USB, a network card and the like) on the ECN device works normally. The core processor provides a coding and decoding service interface required by the ECN, and the device driver layer can provide a basic service interface for the device application layer and the algorithm application APP to use.
In an exemplary embodiment of the present application, the device application layer and the algorithm application APP communicate with each other through a message bus;
the device application layer and the device driver are communicated through a message bus;
direct communication between the device driver and the algorithm application APP;
the message bus carries out message transmission in a message transparent transmission mode.
In the exemplary embodiment of the present application, the ECN ensures that the communication between the device application layer and the device driver, and the communication between the device application layer and the algorithm application APP use a unified message bus. The message bus defines a standard signaling interface that can start and stop algorithmic analysis, while providing a means for message pass-through for passing custom messages, such as algorithmic results, from the algorithm or device application layer.
In an exemplary embodiment of the present application, the device application layer and the device driver interact through a message bus, and when the ECN operates, the device application layer acquires decoding resources from the device driver through the message bus and performs video decoding. The method comprises the following steps that an algorithm application APP obtains video frame data from a device driver (without a message bus) through a standard SDK interface provided by a device manufacturer and analyzes the video frame data; after the analysis result is obtained, the algorithm application APP reports the result to the device application layer through a packaged standard SDK interface (through a message bus).
In the exemplary embodiment of the present application, after a video code stream in any video shooting device is accessed to the ECN, the ECN may use an existing algorithm application APP inside the device to analyze the accessed video code stream.
In the exemplary embodiment of the present application, details of how to decode the video after the algorithm package is imported into the device application layer, how to start algorithm analysis on the decoded video, and how to return the analysis result are described below.
In an exemplary embodiment of the present application, before performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method further includes:
the device application layer starts streaming according to the URL address of the video code stream uniform resource locator and sends code stream data obtained after streaming starting to the device driver; the URL address of the video code stream is input through an input window of the client;
and communicating with the client through the equipment application layer, enabling the equipment driver to decode the code stream data according to a decoding service issued by the client according to a communication result, and acquiring an algorithm analysis instruction which is sent by the client and used for instructing the algorithm application APP to perform algorithm analysis.
In an exemplary embodiment of the present application, that is, a user may input a video code stream URL address through an input window of a client, where the client acquires the video code stream URL address of a video shooting device input on the input window; and the device application layer starts the stream according to the URL address of the video code stream and sends the code stream data obtained after the stream is started to the device driver.
In an exemplary embodiment of the present application, the communicating with the client through the device application layer, and enabling the device driver to decode the code stream data according to the decoding service delivered by the client according to the communication result may include:
acquiring a decoding service issued by the client through the equipment application layer, and informing the equipment driver to decode according to the decoding service;
and decoding the code stream data through the equipment driver to obtain video frame data.
In the exemplary embodiment of the application, a video code stream URL address (video uniform resource locator URL) is provided to the device application layer, the device application layer starts streaming through the video URL, and decodes code stream data through a device driver, and generates video frame data after decoding, so that the algorithm application APP calls through a standard SDK interface to obtain the video frame data.
In the exemplary embodiment of the present application, the video URL is a simple address, and if video stream data needs to be acquired from the address, the streaming start operation is required, and the streaming start operation may be performed by a standard rtsp (real-time streaming protocol) protocol.
In an exemplary embodiment of the present application, as shown in fig. 4, communicating with the client through the device application layer, and obtaining, according to a communication result, an algorithm analysis instruction sent by the client and used for instructing the algorithm application APP to perform algorithm analysis may include:
after the algorithm analysis task is successfully created, returning a task handle to the client through the equipment application layer; the task handle is used for distinguishing different analysis tasks and indicating that a decoding channel is established;
receiving an algorithm analysis instruction returned by the client according to the task handle through the equipment application layer; wherein the algorithmic analysis instructions comprise: instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
In an exemplary embodiment of the present application, the task handle may be any custom handle.
In an exemplary embodiment of the present application, the process of the client-initiated algorithmic analysis may include: the client adds a path of decoding service to the ECN, acquires a task handle returned by the equipment application layer, issues the algorithm configuration parameter and the instruction handle to the ECN equipment application layer through a standard signaling, and the ECN equipment application layer informs the algorithm application APP to start and starts to execute the algorithm analysis task.
In an exemplary embodiment of the present application, the instruction handle may be an integer, and may be used to distinguish which video stream is specific. One video URL may correspond to one instruction handle, and the ECN may support the simultaneous establishment of multiple algorithmic analysis tasks.
In an exemplary embodiment of the present application, the algorithm configuration parameter may be provided by an algorithm vendor, and the algorithm configuration parameter may contain different contents according to different algorithms, and is not limited in detail herein. For example, for a face recognition algorithm, the algorithm configuration parameters may include: area coordinates, sensitivity, pupil distance, minimum face size, maximum face size, and the like.
In an exemplary embodiment of the present application, the performing, by the APP through the algorithm, algorithm analysis on the acquired video frame data may include:
calling one or more video frame data corresponding to the instruction handle directly from the device driver by the algorithm application APP through a standard SDK interface;
and performing algorithm analysis on the called one or more video frame data through the algorithm application APP according to the algorithm configuration parameters.
In the exemplary embodiment of the present application, since the ECN can support the simultaneous establishment of multiple algorithm analysis tasks, it is possible to obtain corresponding multiple sets of video frame data (each instruction handle corresponds to one set of video frame data) according to the multiple provided instruction handles, and perform algorithm analysis on the multiple sets of video frame data simultaneously.
In an exemplary embodiment of the present application, the content of the algorithm analysis is different for different algorithms, for example, for a face recognition algorithm, the algorithm analysis may analyze different faces, for some behavior recognition algorithms, the algorithm analysis may include recognition of some behaviors, such as smoking behavior, area intrusion, non-mask inspection, motion detection, and the like.
In an exemplary embodiment of the present application, as shown in fig. 5, after performing algorithm analysis on the obtained video frame data by the algorithm application APP, the method may further include:
assembling an algorithm analysis result through the algorithm application APP according to an algorithm protocol customized by an algorithm manufacturer, and sending the assembled algorithm analysis result to the equipment application layer;
and carrying out secondary assembly on the algorithm analysis result through the equipment application layer according to a standard signaling, and then sending the result to the client.
In an exemplary embodiment of the present application, the process of sending the algorithm result by the algorithm APP may include: and the algorithm program assembles an algorithm result according to an algorithm protocol customized by an algorithm manufacturer and then sends the algorithm result to the equipment application layer through the message bus, and the equipment application layer secondarily assembles the algorithm result according to a standard signaling and sends the algorithm result to a specified client.
In the exemplary embodiment of the present application, there may be multiple clients connected to the ECN device, and the algorithms provided by multiple algorithm vendors may be updated and applied at the same time, so that when an analysis result is returned, different analysis results are returned to the corresponding clients.
In an exemplary embodiment of the present application, the method may further include: and when the algorithm analysis result is assembled for the second time through the equipment application layer, the algorithm analysis result is in a black box state.
In an exemplary embodiment of the present application, the principle that ECN messages can be blackboxed includes: the ECN device message bus provides a message transparent transmission mode, so that the device application layer of the ECN does not need to analyze messages in the process of transmitting messages between the client and the algorithm application APP. The assembly and parsing of messages of algorithm configuration parameters and messages of algorithm analysis results may be performed by the client and the algorithm application APP, so the ECN does not need to parse the above parameters in this process.
In an exemplary embodiment of the present application, the algorithm configuration parameter message is blackboxed: and the configuration parameters of the self-defined algorithm of the supporting algorithm manufacturer are transmitted to the ECN equipment application layer from the client through standard signaling. The device application layer does not process the interior of the algorithm configuration parameter message, transmits the message to the algorithm application APP through a message bus, and the message is analyzed by the algorithm application APP.
In an exemplary embodiment of the present application, the algorithmic analysis results message blackboxes: and after the algorithm application APP analyzes the code stream to obtain an algorithm analysis result, the result is sent to an equipment application layer through a message bus, and the equipment application layer does not process the algorithm analysis result and sends the algorithm analysis result to a specified client.
In exemplary embodiments of the present application, at least the following advantages are included:
1. an algorithm manufacturer does not need to modify an existing algorithm interface, and only needs to provide an algorithm library and an algorithm model according to the standard. Then the ECN equipment can be butted after an algorithm manufacturer develops an algorithm and applies the APP;
2. and when different algorithms are docked by an ECN equipment manufacturer, algorithm programs can be directly imported, and secondary development is not needed.
The embodiment of the present application further provides an algorithm using method, which is applied to a client side, as shown in fig. 6, the method may include step S201:
s201, connecting the client side with an edge computing node ECN, importing an algorithm program package provided by an algorithm manufacturer according to a preset unified standard into the ECN by calling a standard SDK interface through the client side, receiving the algorithm program package through an equipment application layer of the ECN, analyzing the algorithm program package, obtaining an algorithm application APP contained in the algorithm program package, and performing algorithm analysis on obtained video frame data through the algorithm application APP.
In an exemplary embodiment of the present application, before performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method may further include:
acquiring a video code stream Uniform Resource Locator (URL) address of video shooting equipment input on an input window of the client through the client, starting streaming by the equipment application layer according to the video code stream URL address, and sending code stream data obtained after streaming starting to the equipment driver;
communicating with the equipment application layer through the client, and issuing a decoding service to the equipment application layer so that the equipment application layer informs an equipment driver of the ECN to decode the code stream data according to the decoding service; and sending an algorithm analysis instruction for instructing the algorithm application APP to perform algorithm analysis to the device application layer.
In an exemplary embodiment of the present application, sending, by the client to communicate with the device application layer, an algorithm analysis instruction to instruct the algorithm application APP to perform algorithm analysis to the device application layer may include:
after the device driver is decoded, receiving a task handle returned by the device application layer through the client; the task handle comprises information of decoding completion;
the client returns an algorithm analysis instruction to the device application layer according to the task handle; the algorithm analysis instruction comprises an instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
In an exemplary embodiment of the present application, after performing the algorithm analysis on the acquired video frame data by the algorithm application APP, the method may further include:
receiving an algorithm analysis result after the equipment application layer is secondarily assembled according to a standard signaling through the client; and before secondary assembly, the algorithm analysis result is firstly assembled through the algorithm application APP according to an algorithm protocol customized by an algorithm manufacturer and is sent to the equipment application layer.
In the exemplary embodiment of the present application, any embodiment of the algorithm using method for ECN device test is applicable to the embodiment of the algorithm using at the client side, and details are not repeated here.
The embodiment of the present application further provides an edge computing node ECN 1, as shown in fig. 7, which may include: a first processor 11 and a first computer readable storage medium 12; the first processor 11 is capable of implementing functions of a device application layer and a device driver; the first computer readable storage medium 12 has stored therein first instructions which, when executed by the first processor 11, implement the algorithm using method of any one of the above.
In the exemplary embodiment of the present application, any embodiment of an algorithm using method for ECN device testing is applicable to the embodiment of the ECN device, and details are not repeated here.
An embodiment of the present application further provides a client 2, as shown in fig. 8, which may include: a second processor 21 and a second computer-readable storage medium 22; the second computer readable storage medium 22 stores second instructions, and when the second instructions are executed by the second processor 21, the method for using the ECN equipment test algorithm is implemented as described in any one of the above.
In the exemplary embodiment of the present application, any embodiment of an algorithm using method for ECN device measurement is applicable to the embodiment of the client, and details are not described herein.
The embodiment of the present application further provides an algorithm using system 3, as shown in fig. 9, which may include a client 2 and an edge computing node ECN 1; the ECN includes: a first processor and a first computer readable storage medium; the first processor is capable of implementing functions of a device application layer and a device driver; the client side comprises the following steps: a second processor and a second computer readable storage medium; the first computer readable storage medium stores first instructions, and the second computer readable storage medium stores second instructions, and when the first instructions are executed by the first processor and the second instructions are executed by the second processor after the client and the ECN are connected, the method for using the client-side algorithm is implemented.
In an exemplary embodiment of the present application, as shown in fig. 10, the performing step of the system may include S301-S303:
s301, connecting the client with the ECN, and importing an algorithm program package provided by an algorithm manufacturer according to a preset unified standard into the ECN by calling a standard SDK interface through the client;
s302, receiving the algorithm program package through an equipment application layer of the ECN, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package;
and S303, performing algorithm analysis on the acquired video frame data through the algorithm application APP.
In the exemplary embodiment of the present application, any embodiment of an algorithm using method for ECN device test is applicable to the system embodiment, and details are not repeated here.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.

Claims (12)

1. An algorithm using method, applied to an Edge Computing Node (ECN) side, the ECN comprising: a device application layer; the method comprises the following steps:
receiving an algorithm program package through the equipment application layer, analyzing the algorithm program package, and acquiring an algorithm application APP contained in the algorithm program package; the algorithm program package is provided by an algorithm manufacturer according to a preset unified standard, is connected with the ECN at a client and is imported into the ECN by calling a standard Software Development Kit (SDK) interface through the client;
and performing algorithm analysis on the acquired video frame data by the algorithm application APP.
2. The method for using algorithms according to claim 1, wherein before said algorithm package is imported into said ECN through said client call standard software development kit SDK interface, said method further comprises:
and providing a standard SDK interface and a standard method for packaging the algorithm program package for an algorithm manufacturer by an ECN equipment manufacturer, so that the algorithm manufacturer can package respective algorithms according to the standard method to obtain corresponding algorithm program packages, and provide the algorithm program packages through the standard SDK interface.
3. The method of using the algorithm of claim 1, wherein the ECN further comprises: driving the equipment; before performing algorithm analysis on the acquired video frame data by applying the APP through the algorithm, the method further includes:
the device application layer starts streaming according to the URL address of the video code stream uniform resource locator and sends code stream data obtained after streaming starting to the device driver; the URL address of the video code stream is input through an input window of the client;
and communicating with the client through the equipment application layer, enabling the equipment driver to decode the code stream data according to a decoding service issued by the client according to a communication result, and acquiring an algorithm analysis instruction which is sent by the client and used for instructing the algorithm application APP to perform algorithm analysis.
4. The method for using the algorithm according to claim 3, wherein the communicating with the client through the device application layer and the decoding of the code stream data by the device driver according to the decoding service delivered by the client according to the communication result includes:
acquiring a decoding service issued by the client through the device application layer, and notifying the device driver to decode according to the decoding service;
decoding the code stream data through the equipment driver to obtain video frame data;
the method for obtaining the algorithm analysis instruction which is sent by the client and used for instructing the algorithm application APP to perform algorithm analysis according to the communication result comprises the following steps:
after the algorithm analysis task is successfully created, returning a task handle to the client through the equipment application layer; the task handle is used for distinguishing different analysis tasks and indicating that a decoding channel is established;
receiving an algorithm analysis instruction returned by the client according to the task handle through the equipment application layer; the algorithm analysis instruction comprises an instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
5. The method for using the algorithm according to claim 4, wherein the applying APP through the algorithm to perform algorithm analysis on the obtained video frame data comprises:
calling, by the algorithm application APP through a standard SDK interface, one or more video frame data corresponding to the instruction handle directly from the device driver;
and performing algorithm analysis on the called one or more video frame data through the algorithm application APP according to the algorithm configuration parameters.
6. The method for using the algorithm according to any one of claims 1-5, wherein after performing algorithm analysis on the acquired video frame data by applying the APP through the algorithm, the method further comprises:
assembling an algorithm analysis result through the algorithm application APP according to an algorithm protocol customized by an algorithm manufacturer, and sending the assembled algorithm analysis result to the equipment application layer;
and carrying out secondary assembly on the algorithm analysis result through the equipment application layer according to a standard signaling, and then sending the result to the client.
7. An algorithm using method, applied to a client side, the method comprising:
the method comprises the steps of connecting a client side with an edge computing node ECN, guiding an algorithm program package provided by an algorithm manufacturer according to a preset unified standard into the ECN by calling a standard SDK interface through the client side, receiving the algorithm program package through an equipment application layer of the ECN, analyzing the algorithm program package, obtaining an algorithm application APP contained in the algorithm program package, and carrying out algorithm analysis on obtained video frame data through the algorithm application APP.
8. The method for using the algorithm according to claim 7, wherein before applying the APP through the algorithm to perform the algorithm analysis on the obtained video frame data, the method further comprises:
acquiring a video code stream Uniform Resource Locator (URL) address of video shooting equipment input on an input window of the client through the client, starting streaming by the equipment application layer according to the video code stream URL address, and sending code stream data obtained after streaming starting to the equipment driver;
communicating with the equipment application layer through the client, and issuing a decoding service to the equipment application layer so that the equipment application layer informs an equipment driver of the ECN to decode the code stream data according to the decoding service; and sending an algorithm analysis instruction for instructing the algorithm application APP to perform algorithm analysis to the device application layer.
9. The method for using the algorithm according to claim 8, wherein the sending, by the client communicating with the device application layer, an algorithm analysis instruction to the device application layer for instructing the algorithm APP to perform algorithm analysis comprises:
after the device driver is decoded, receiving a task handle returned by the device application layer through the client; the task handle comprises information of decoding completion;
the client returns an algorithm analysis instruction to the device application layer according to the task handle; the algorithm analysis instruction comprises an instruction handle and algorithm configuration parameters provided by an algorithm manufacturer; the instruction handles are used for indicating the identity of code stream data needing algorithm analysis, and the number of the instruction handles is one or more.
10. An edge compute node, ECN, comprising: a first processor and a first computer readable storage medium; the first processor can realize the functions of a device application layer and a device driver; a first computer readable storage medium having stored therein first instructions which, when executed by the first processor, implement the method of using the algorithm of any of claims 1-6.
11. A client, comprising: a second processor and a second computer readable storage medium; a second computer readable storage medium having stored therein second instructions which, when executed by said second processor, implement the method of using the algorithm of any of claims 7-9.
12. An algorithm using system is characterized by comprising a client and an Edge Computing Node (ECN); the ECN includes: a first processor and a first computer readable storage medium; the first processor is capable of implementing functions of a device application layer and a device driver; the client side comprises the following steps: a second processor and a second computer readable storage medium; a first computer readable storage medium having stored therein first instructions and a second computer readable storage medium having stored therein second instructions which, when executed by the first processor and the second processor, implement the algorithm use method of any of claims 1-6 and any of claims 7-9 upon connection of the client with the ECN.
CN202110169872.0A 2021-02-08 2021-02-08 Algorithm using method, ECN, client and algorithm using system Pending CN114911601A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110169872.0A CN114911601A (en) 2021-02-08 2021-02-08 Algorithm using method, ECN, client and algorithm using system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110169872.0A CN114911601A (en) 2021-02-08 2021-02-08 Algorithm using method, ECN, client and algorithm using system

Publications (1)

Publication Number Publication Date
CN114911601A true CN114911601A (en) 2022-08-16

Family

ID=82762264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110169872.0A Pending CN114911601A (en) 2021-02-08 2021-02-08 Algorithm using method, ECN, client and algorithm using system

Country Status (1)

Country Link
CN (1) CN114911601A (en)

Similar Documents

Publication Publication Date Title
CN111309279B (en) Multi-screen interactive display method and device
US11360737B2 (en) Method and apparatus for providing speech service
CN108228444B (en) Test method and device
CN105335132B (en) Method, device and system for customizing application program function
CN110297944B (en) Distributed XML data processing method and system
CN109391843B (en) Online video speed doubling playing method, device, medium and intelligent terminal
CN111314646B (en) Image acquisition method, image acquisition device, terminal device and readable storage medium
CN110177300B (en) Program running state monitoring method and device, electronic equipment and storage medium
CN114996134A (en) Containerized deployment method, electronic equipment and storage medium
CN107517188A (en) A kind of data processing method and device based on Android system
CN108023905B (en) Internet of things application system and method
CN105227351A (en) Log acquisition system, journal obtaining method and electronic equipment
CN110677443A (en) Data transmitting and receiving method, transmitting end, receiving end, system and storage medium
CN114911601A (en) Algorithm using method, ECN, client and algorithm using system
EP4180942A1 (en) Screen projection method and apparatus, electronic device, and computer readable storage medium
CN113656091B (en) Method for realizing independent open program process, related device and equipment
CN107342981B (en) Sensor data transmission method and device and virtual reality head-mounted equipment
CN115658500A (en) Vue-based front-end error log uploading method and system in hybrid development
CN113099270B (en) File storage method, decoding method, device, storage medium and electronic device
CN111367592B (en) Information processing method and device
CN113296984A (en) Compatibility parameter determining method and device, electronic equipment and storage medium
CN110209581A (en) Trigger action analysis method and device based on application program
CN117998061B (en) Video remote screen-throwing device and video remote screen-throwing method
CN113965778B (en) Pseudo live broadcast method, device and equipment for online education and readable medium
CN114095781B (en) Multimedia data processing 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