WO2024011994A1 - Methods and systems for updating an algorithm package - Google Patents

Methods and systems for updating an algorithm package Download PDF

Info

Publication number
WO2024011994A1
WO2024011994A1 PCT/CN2023/089874 CN2023089874W WO2024011994A1 WO 2024011994 A1 WO2024011994 A1 WO 2024011994A1 CN 2023089874 W CN2023089874 W CN 2023089874W WO 2024011994 A1 WO2024011994 A1 WO 2024011994A1
Authority
WO
WIPO (PCT)
Prior art keywords
package
algorithm
scheme
updating
component
Prior art date
Application number
PCT/CN2023/089874
Other languages
English (en)
French (fr)
Inventor
Jia GUO
Xiang Yu
Peng Huang
Boyang CHEN
Jun Yin
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co., Ltd. filed Critical Zhejiang Dahua Technology Co., Ltd.
Publication of WO2024011994A1 publication Critical patent/WO2024011994A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present disclosure relates to a computer technical field, in particular, relates to systems and methods for updating an algorithm package.
  • AI artificial intelligence
  • algorithm components and algorithm models are coupled to a scheme, and thus, a whole algorithm package needs to be updated when adjusting and updating the scheme, which may introduce an updating of the whole algorithm, increase the difficulty and risk of maintenance, and the customization of the scheme is relatively poor.
  • One aspect of the present disclosure may provide a method implemented on at least one machine each of which has at least one processor and at least one storage device for updating an algorithm package including a plurality of portions, the method comprising: determining, based on an updating instruction, a target portion of the plurality of portions of the algorithm package to be updated; generating an updating package of the algorithm package based on the target portion of the algorithm package to be updated; and distributing the updating package to a terminal.
  • the plurality of portions of the algorithm package at least may include one or more components and one or more models; and the plurality of portions of the algorithm package may be generated by decomposing, based on one or more configuration files, the algorithm package, the configuration file including component property information, model property information, and scheme configuration information.
  • the one or more components may include a pre-processing component and a result processing component.
  • the algorithm package may include one or more component packages and one or more scheme packages; and the generating an updating package of the algorithm package based on the target portion of the algorithm package to be updated may include: updating the one or more scheme packages based on the target portion of the algorithm package to be updated; and generating the updating package of the algorithm package based on the one or more updated scheme packages.
  • the generating an updating package of the algorithm package based on the target portion of the algorithm package to be updated may include: updating the scheme configuration information; and generating the updating package based on the updated scheme configuration information.
  • Another aspect of the present disclosure may provide a method implemented on at least one machine each of which has at least one processor and at least one storage device for updating an algorithm package having at least one algorithm scheme, the algorithm package including a plurality of portions, the method comprising: obtaining an updated algorithm package by updating, based on an updating package of the algorithm package, the algorithm package; and loading the at least one algorithm scheme based on the updated algorithm package.
  • the plurality of portions of the algorithm package may at least include one or more components and one or more models; and the plurality of portions of the algorithm package may be generated by decomposing, based on one or more configuration files, the algorithm package, the configuration file including component property information, model property information, and scheme configuration information.
  • the one or more components may include a pre-processing component and a result processing component.
  • the method may further include performing an adaptation verification processing on the updated algorithm package using the pre-processing component.
  • the method may further comprise obtaining a processing result code by processing, using a loaded algorithm scheme of the at least one algorithm scheme, information to be processed; and determining processing result information corresponding to the processing result code using the result processing component.
  • Another aspect of the present disclosure may provide a method implemented on at least one machine each of which has at least one processor and at least one storage device for updating an algorithm package
  • the algorithm package may include component packages and scheme packages corresponding to algorithm schemes
  • the component packages may include a pre-processing component, a result processing component, and one or more algorithm components corresponding to a plurality of algorithm schemes
  • the scheme package may include an algorithm model, a configuration file, and a mapping table
  • the mapping table may be configured to convert a processing result code to processing result information, the processing result code being generated by processing information using an operator including an algorithm component of the one or more algorithm components and an algorithm model corresponding to the algorithm component
  • the method may comprise: in response to an updating instruction relating to the algorithm package, obtaining a configuration file in the scheme package to be adjusted in the algorithm package; adjusting the configuration file according to an adjusting strategy to obtain an adjusted configuration file; obtaining, according to the adjusting strategy, a model file corresponding to the algorithm model for an adjusted algorithm scheme and a mapping table for the adjusted algorithm
  • the generating an updating package at least based on the adjusted configuration file, the obtained model file, and the obtained mapping table may include in response to that the updating package is an updating scheme package, generating the updating scheme package at least based on the adjusted configuration file, the obtained model file, and the obtained mapping table; or in response to that the updating package is an updated algorithm package, generating an adjusted scheme package based on the adjusted configuration file, the obtained model file, and the obtained mapping table; and generating the updated algorithm package based on the adjusted scheme package, the scheme package in the algorithm package, and the component packages.
  • each two of the one or more algorithm components in the component package have different functions.
  • Another aspect of the present disclosure may provide a method implemented on at least one machine each of which has at least one processor and at least one storage device for updating an algorithm package, the method comprising: receiving an updating package from a server; and obtaining an updated algorithm package by updating the algorithm package based on the updating package; wherein: the updated algorithm package or the algorithm package may include a component package, a scheme package corresponding to an algorithm scheme; the component package may include a pre-processing component, a result processing component, and one or more algorithm components corresponding to a plurality of algorithm schemes; the scheme package may include an algorithm model, a configuration file, and a mapping table; the mapping table may be configured to convert a processing result code to processing result information, the processing result code being generated by processing information using an operator including an algorithm component of the one or more algorithm components and an algorithm model corresponding to the algorithm component; and the updating package may be determined by: in response to an updating instruction relating to the algorithm package, obtaining a configuration file in the scheme package to be adjusted in the algorithm package; adjusting the configuration file according to
  • the method may further comprise after obtaining the updated algorithm package and determining an algorithm scheme to be performed, loading the configuration file in the scheme package corresponding to the algorithm scheme to be performed; determining, from the component package, an algorithm component for the algorithm scheme to be performed; and loading the mapping table in the scheme package corresponding to the algorithm scheme to be performed using the result processing component; loading the algorithm model in the scheme package corresponding to the algorithm scheme to be performed using the determined algorithm component; and installing the updated algorithm package based on the determined algorithm component, the loaded algorithm model, the result processing component, and the loaded mapping table.
  • the method may further comprise before loading the algorithm model in the scheme package corresponding to the algorithm scheme to be performed, performing an adaptation verification on the determined algorithm component and the algorithm model in the scheme package corresponding to the algorithm scheme to be performed using the pre-processing component.
  • the determined algorithm component may be defined as a target component
  • the algorithm model in the scheme package corresponding to the algorithm scheme to be performed may be defined as a target model
  • the configuration file may at least include an operator matching relationship between the target component and the target model, identification information of the target component, and identification information of the target model
  • the adaptation verification may include verifying that the identification information of the target component and the identification information of the target model matched as an operator are the same, and for the identification information of the target component and the identification information of the target model matched as the operator, the target model may be applicable for the target component.
  • the method may further comprise obtaining information to be processed after installing the updated algorithm package; obtaining a processing result code by processing the information to be processed based on the determined algorithm component, and the loaded algorithm model; and determining processing result information corresponding to the processing result code using the result processing component based on the loaded mapping table.
  • Another aspect of the present disclosure may provide a system for updating an algorithm package including a plurality of portions, comprising: a determination module configured to determine, based on an updating instruction, a target portion of the plurality of portions of the algorithm package to be updated; a generation module configured to generate an updating package of the algorithm package based on the target portion of the algorithm package to be updated; and a distribution module configured to distribute the updating package to a terminal.
  • Another aspect of the present disclosure may provide a non-transitory computer readable medium storing instructions, the instructions, when performed by at least one processor, causing the at least one processor to implement a method comprising determining, based on an updating instruction, a target portion of the plurality of portions of the algorithm package to be updated; generating an updating package of the algorithm package based on the target portion of the algorithm package to be updated; and distributing the updating package to a terminal.
  • the algorithm component (s) and the algorithm model (s) can be decoupled, and the algorithm package can be divided into the component package and scheme package; when updating the algorithm package, under the condition of maintaining the original component package unchanged, the scheme package needs to be updated, which may simplify the updating process and reduce the updating risks and maintenance difficulties; by transforming the direct processing result into a processing result code based on a mapping relationship between the processing result code (s) and processing result (s) , flexible customization of solutions can be achieved.
  • FIG. 1 is a schematic diagram illustrating an exemplary system for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating an exemplary system for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 3 is a block diagram illustrating an exemplary system for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 4 is a schematic diagram illustrating an exemplary structure of an algorithm package according to some embodiments of the present disclosure
  • FIG. 5 is a schematic diagram illustrating an exemplary structure of an algorithm package according to some embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating an exemplary process for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating an exemplary process for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating another exemplary process for updating an algorithm package according to some embodiments of the present disclosure
  • FIG. 9 is a schematic diagram illustrating an exemplary scheme processing architecture according to some embodiments of the present disclosure.
  • FIG. 10 is a flowchart illustrating another exemplary process for updating an algorithm package according to some embodiments of the present disclosure.
  • system, ” “device, ” “’unit” and/or “module” used in this specification is used for distinguishing different components, elements, parts or assemblies at different levels. However, if other words can achieve the same purpose, the above-mentioned words may be replaced by other expressions.
  • the flowcharts used in the present disclosure illustrate operations that the system implements according to the embodiment of the present disclosure. It should be understood that a previous operation or a subsequent operation of the flowcharts may not be accurately implemented in order. Instead, a plurality of steps may be processed in reverse or simultaneously. Moreover, other operations may further be added to these procedures, or one or more steps may be removed from these procedures.
  • an algorithm package updating system 100 may include a server 110, a network 120, a terminal 130, and a storage device 140.
  • the server 110 may provide data and/or information required by other device (s) or system component (s) , such as an algorithm package, etc.
  • the server 110 may execute the method shown in some embodiments of the present disclosure based on obtained updating instruction (s) to complete one or more functions described in some embodiments of the present disclosure.
  • the server 110 may generate an updating package of the algorithm package based on the updating instruction (s) of the algorithm package.
  • the server 110 may send the updating package to the terminal 130.
  • the server 110 may process obtained data, such as sending the updating package to the storage device 140 for storage.
  • the server 110 may obtain pre-stored data and/or information from the storage device 140, such as the algorithm package, the update instruction (s) , model (s) , etc., for use in executing the updating method of the algorithm package shown in some embodiments of the present disclosure, such as generating the updating package of the algorithm package, etc.
  • the server 110 may include one or more sub-processing devices (e.g., single core processing device (s) or multi-core processing device (s) .
  • the server 110 may include a Central Processing Unit (CPU) , an Application Specific Integrated Circuit (ASIC) , an Application Specific Instruction Processor (ASIP) , a Graphics Processor (GPU) , a Physical Processor (PPU) , a Digital Signal Processor (DSP) , a Field Programmable Gate Array (FPGA) , a Programmable Logic Circuit (PLD) , a controller, a microcontroller unit, a reduced instruction set computer (RISC) , a microprocessor, or the like, or any combination thereof.
  • the server 110 may include one or more storage devices, such as volatile storage devices such as a Dynamic Random Access Memory (DRAM) , a mechanical hard disk, a SSD, and other nonvolatile storage devices.
  • DRAM Dynamic Random Access Memory
  • the network 120 may connect various components of the system and/or the system with external resource part (s) .
  • the network 120 may facilitate exchange of information and/or data by enabling communication between components and with other parts outside the system.
  • one or more components in the system 100 e.g., the server 110, the storage device 140, the terminal 130
  • the network 120 may be any one or more of wired or wireless networks.
  • the terminal 130 may be a user device that can perform data processing based on the algorithm package.
  • the user may execute an algorithm scheme of the algorithm package through the terminal 130 to complete specified operation (s) , such as using artificial intelligence algorithms for data processing.
  • the terminal 130 may execute the updating method for the algorithm package as shown in some embodiments of the present disclosure based on the updating package of the algorithm package.
  • the algorithm package may be updated.
  • the algorithm scheme may be loaded based on the updated algorithm package.
  • the terminal 130 may be one or any combination of devices with processors and memory such as a mobile device 140-1, a tablet computer 140-2, a laptop computer 140-3, a desktop computer 130-4, etc., or any combination thereof.
  • the storage device 140 may store data or information generated by other device (s) .
  • the storage device 140 may store data and/or information before and after processing by the server 110 and/or terminal 130, such as the algorithm package before/after updating, the updating package, or the like.
  • the storage device 140 may include one or more storage components, each of which may be an independent device or a part of other device (s) .
  • the storage device (s) may be local or implemented through the cloud.
  • the server 110 may be implemented based on cloud computing platforms, such as public, private, community, hybrid clouds, or the like.
  • server 110 and terminal 130 may each have its separate storage device (s) or share the storage device.
  • those variations and modifications do not depart from the scope of the present disclosure.
  • FIG. 2 is a block diagram illustrating an exemplary system for updating an algorithm package according to some embodiments of the present disclosure.
  • the algorithm package updating system 200 may include a target portion determination module 210, an updating package generation module 220, and an updating package distribution module 230 of a server.
  • the target portion determination module 210 may be configured to determine, based on an updating instruction, a target portion of the plurality of portions of the algorithm package to be updated.
  • the updating package generation module 220 may be configured to generating an updating package of the algorithm package based on the target portion of the algorithm package to be updated.
  • the algorithm package may include one or more component packages and/or one or more scheme packages.
  • the updating package generation module 220 may be configured to generate an updating package of the algorithm package based on the target portion of the algorithm package to be updated.
  • the updating package generation module 220 may update scheme configuration information and generate the updating package based on the updated scheme configuration information.
  • the updating package distribution module 230 may be configured to distribute the updating package to the terminal.
  • FIG. 3 is a block diagram illustrating an exemplary system for updating an algorithm package according to some embodiments of the present disclosure.
  • the algorithm package updating system 300 may include an algorithm updating module 310 and an algorithm loading module 320 of a terminal side.
  • the algorithm updating module 310 may be configured to obtain an updated algorithm package by updating, based on an updating package of the algorithm package, the algorithm package.
  • the algorithm loading module 320 may be configured to load at least one algorithm scheme based on the updated algorithm package.
  • the updating algorithm package system 300 may further include a pre-processing module (not shown in the figures) .
  • the pre-processing module may use pre-processing component (s) to perform an adaptation verification on the updated algorithm package.
  • the updating system 300 of the algorithm package may further include a processing result determination module (not shown in the figure) .
  • the processing result determination module may obtain obtaining a processing result code by processing, using a loaded algorithm scheme of the at least one algorithm scheme, information to be processed; and determining processing result information corresponding to the processing result code using the result processing component.
  • FIGs. 4 and 5 are schematic diagrams illustrating exemplary structures of an algorithm package according to some embodiments of the present disclosure.
  • An algorithm package 400 shown in FIG. 4 and an algorithm package 500 shown in FIG. 5 may be used as examples to illustrate the algorithm package.
  • An algorithm package may refer to a collection of algorithm scheme (s) and related portion (s) .
  • An algorithm scheme may be an algorithm used to solve a specific problem, such as an AI algorithm.
  • a combination of one or more algorithm schemes may solve a specific problem of the device, for example, in FIG. 4, a worker detection scheme package 420, a work clothes recognition scheme package 430, and a mask recognition scheme package 440 may correspond to three algorithm schemes of worker detection, work clothes recognition, and mask recognition, respectively.
  • the complete scheme package 450 obtained from a combination of the three schemes may correspond to the complete algorithm scheme for detecting whether workers are dressed properly.
  • an algorithm package may include at least one algorithm scheme and at least a portion thereof related to performing the algorithm scheme, such as a pre-processing portion, a result processing portion, or the like.
  • the algorithm package may include a plurality of portions, which may at least include component (s) and/or model (s) .
  • the component (s) also referred to as algorithm component (s)
  • the model (s) may be algorithm model (s) (e.g., a machine learning model, etc. ) .
  • a count of the components and models may be one or more.
  • algorithm component (s) and algorithm model (s) matching the algorithm component (s) may form an operator for information processing.
  • the algorithm package may further include other portion (s) , such as a mapping table, a configuration file, and/or other file (s) related the model (s) .
  • the mapping table may be used to convert a processing code output by the operator into a scheme processing result.
  • at least parts of the components in the algorithm package may be used to form a component package.
  • at least parts of the models and/or the files related to the models may be used to form a scheme package.
  • various portions of the algorithm package may be generated by decomposing the algorithm package.
  • the decomposition may be performed based on one or more configuration files.
  • the configuration file (s) may include component property information, model property information, and scheme configuration information.
  • the component property information may be used to verify the algorithm component (s) and the scheme configuration information (or referred to as an algorithm scheme configuration) .
  • the component property information may include various component identification information, such as a component type, a component version number, an applicable model, or the like.
  • the model property information may be used to verify the algorithm model (s) and the algorithm scheme configuration.
  • the model property information may include various algorithm model identification information, such as a model type, a model version number, a model name, or the like.
  • the scheme configuration information may be used for algorithm scheme verification, to confirm whether the algorithm component (s) and model (s) are consistent with information recorded in the scheme. If the algorithm component (s) and model (s) are consistent with the information recorded in the scheme, it may confirm that the algorithm component (s) and model (s) are required for the scheme.
  • the scheme configuration information may include information of all components of the scheme, such as component identification information, model identification information, a model path, or the like.
  • a component type in the component property information may match a model type of model (s) used by the component.
  • the component type in the component property information may be the same as the model type of the model used by the component.
  • the configuration file may further include other information that may be used to implement practical application of the algorithm package (e.g., explanatory information used to explain a role of each file in the algorithm package, etc. ) , which may be not limited herein.
  • the component (s) may be determined according to the component property information
  • the model (s) may be determined according to the model property information
  • the model (s) and component (s) used in scheme (s) may be determined based on the configuration information of the scheme (s) .
  • all content involved in the scheme may be packaged, that is, component (s) , model (s) , and other related file (s) of the scheme may be packaged into a single package in operator, which may lead to tight coupling between the component (s) and model (s) .
  • the entire package may be updated.
  • an updating frequency of the component (s) may be much lower than an updating frequency of the model (s) , and the component (s) are even not updated. Therefore, updating the entire package may result in a large amount of meaningless data updates.
  • the algorithm package may be classified according to the component (s) and model (s) .
  • the component (s) may be packaged as common portion (s) of each scheme (e.g., packaged as the component package (s) )
  • the model (s) and model related file (s) of each scheme may be packaged as private portion (s) of the scheme (e.g., packaged as scheme package (s) ) .
  • the component (s) can be decoupled from the model (s) , and only the model (s) and related file (s) of the scheme may need to be updated, thereby greatly reducing the amount of updating data and improving updating efficiency.
  • the algorithm package may include one or more component packages and one or more scheme packages.
  • the following descriptions take the detection of whether the workers are dressed properly as an example, which involves three algorithm schemes: a worker detection (i.e., detection of whether they are workers) scheme, a work clothes recognition (i.e., recognition of whether workers wear work clothes) scheme, and a mask recognition (i.e., identification of whether workers wear masks) scheme.
  • the the operators thereof may include a detection operator, a first recognition operator, and a second recognition operator.
  • the detection operator may include a detection component 411 and a detection model 422.
  • the first recognition operator may include a recognition component 412 and a first recognition model 432.
  • the second recognition operator may include a recognition component 412 and a second recognition model 442.
  • the scheme packages and component packages may be obtained based on the above operators.
  • the scheme package may include an algorithm model and portion (s) related to the scheme configuration, such as a configuration file, a mapping table, or the like.
  • the worker detection, the work clothes recognition, and the mask recognition may be considered as three sub-schemes in the complete scheme, and corresponding three sub-scheme packages may be generated, such as a worker detection scheme package 420, a work clothes recognition scheme package 430, and a mask recognition scheme package 440.
  • Each sub-scheme package may include model (s) corresponding to the sub-scheme, a mapping table, and a configuration file.
  • the worker detection scheme package 420 may include a mapping table 421 corresponding to the worker detection scheme, a detection model 422, and a configuration file 423;
  • the work clothes recognition scheme package 430 may include a mapping table 431 corresponding to the work clothes recognition scheme, a first recognition model 432, and a configuration file 433;
  • a mask recognition scheme package 440 may include a mapping table 441 corresponding to the mask recognition scheme, a second recognition model 442, and a configuration file 443.
  • a complete scheme package may be obtained by packaging the complete scheme, such as a complete scheme package 450 and a scheme package 520.
  • a complete scheme package may include model (s) corresponding to the complete scheme, a mapping table, configuration file (s) .
  • the complete scheme package 450 and the scheme package 520 may include a detection model 422, a first recognition model 432, a second recognition model442, a mapping table 451 corresponding to the complete scheme, and a configuration file 452.
  • the scheme package in the algorithm package may include a complete scheme package and a sub-scheme package.
  • the scheme package in the algorithm package 400 may include a complete scheme package 450 and sub-scheme packages 420, 430, and 440.
  • the algorithm package may include four scheme packages corresponding to four schemes. In this way, the corresponding schemes may be implemented according to actual information processing needs, providing more scheme options for user devices.
  • the scheme package corresponding to the complete scheme may be loaded directly to avoid loading the sub-scheme packages and summarizing results of the three sub-schemes, which can improve user experiences; if the scheme to be performed is one of the sub-schemes, the scheme package corresponding to sub-scheme may be directly loaded, thereby providing flexible and variable options for practical applications to meet the needs of different application scenarios.
  • the scheme package in the algorithm may only include a complete scheme package.
  • the scheme package in the algorithm package 500 may include a scheme package 520.
  • the scheme package in the algorithm package may only include sub-scheme packages.
  • the scheme package may include sub-scheme packages 420, 430, and 440.
  • the algorithm models in the algorithm package may be packaged as a model package, and the configuration files of the scheme may be packaged as a configuration package.
  • the models may be packaged as a model package, the configuration files of each scheme may be packaged as an independent configuration package, and thus, in addition to the component package (s) , the algorithm package may further include a model package and at least one configuration package.
  • the models may be packaged as a model package, the configuration files of all the schemes may be packaged as a configuration package, and thus, in addition to the component package (s) , the algorithm package may further include a model package and a configuration package.
  • a most suitable scheme package may be selected based on actual need (s) to meet the needs of different application scenarios, which may improve the design flexibility.
  • the components may at least include a pre-processing component and/or a result processing component.
  • the pre-processing component may include method library file (s) (e.g., a dynamic library file, a static library file, etc. ) used to load, parse, and/or verify files (e.g., parity verifying, MD5 verifying, etc. ) .
  • the result processing component may include method library file (s) used to post-process output result (s) .
  • the components may include algorithm component (s) (e.g., a detection component, an identification component, a scoring component, etc. ) corresponding to at least one algorithm scheme.
  • an algorithm component may include library file (s) (e.g., a dynamic library file, a static library file, etc. ) corresponding to a parsing manner and/or performing manner used by the performed scheme in the information processing.
  • a component package may be formed based on a plurality of components.
  • the component package 410 may include a detection component 411, an identification component 412, a pre-processing component 413, and a result processing component 414.
  • all algorithm components stored on the server may be packaged into the component package.
  • the component package 510 may further include a scoring component 415.
  • a count of the algorithm component with the same functional type in the component package may be one.
  • a first recognition operator and a second recognition operator include the algorithm component for recognition, it may be only necessary to include one recognition component (e.g., the component package 410 only includes one recognition component 412) to achieve reuse of the recognition components by the first recognition operator and the second recognition operator, which can achieve the reuse of algorithm component (s) , reduce development workload, improve maintenance efficiency, and reduce update risk (s) .
  • essential functions of a plurality of algorithm components with the same functional type may be the same.
  • an essential function of the algorithm component may be recognition; in the recognition of the mask, an essential function of the algorithm component may also be recognition. Therefore, the algorithm component for the recognition of the work clothes and the algorithm component for the recognition of the mask may use algorithm components with the same functional type.
  • a count of the algorithm components with the same functional type in the component package may be more than one, and different algorithm components may be used for different schemes.
  • the component package may include a recognition component configured to recognize the work clothes and a recognition component configured to recognize the mask.
  • the component package may include a plurality of algorithm components corresponding to different schemes, so that when updating the scheme package, the component (s) in the component package may not need to be updated, which may reduce the risk (s) in algorithm package updating and reduce maintenance risk (s) when maintaining the component package unchanged during algorithm package updating. Meanwhile, thus configurations may support and satisfy multiple schemes, and the flexibility of algorithm package deployment and application may be improved.
  • decomposition of the algorithm package may also be performed based on other rule (s) .
  • the decomposition may be performed based on the algorithm scheme (s) (e.g., components, models, and files involved in each algorithm scheme may be packaged into a scheme package, and the algorithm package may include a plurality of scheme packages.
  • an artificial intelligence (AI) platform may be used to deploy the algorithm package.
  • the AI platform may be implemented on the server (e.g., the server 110) and/or the terminal used by users of the AI platform, and relevant staff may deploy the algorithm package and/or other operation (s) through the AI platform.
  • the process of deploying the algorithm package may include training the algorithm model (s) , generating the algorithm package, and installing the algorithm package.
  • the users of the AI platform may train the algorithm model (s) on the AI platform to provide the required algorithm model (s) for each scheme.
  • the server may package the trained algorithm model (s) , the pre-processing component, the result processing component, the algorithm component (s) required for each scheme, as well as the preset mapping table and the configuration file (s) in a preset packaging manner on the AI platform to generate the algorithm package.
  • the users of the AI platform may provide feedback to maintenance staff of the AI platform, the maintenance staff may develop, build, and upload relevant component (s) to the server.
  • a terminal e.g., the terminal 130 of the user may download the generated algorithm package from the server and install the generated algorithm package to complete the deployment of the algorithm package.
  • the server in updating the algorithm package, may generate an updating package and distribute the updating package to the terminal of the user based on the algorithm model (s) required for the scheme to be performed, the adjusted configuration file (s) , and/or the mapping table corresponding to the scheme to be performed.
  • the terminal may update an original algorithm package based on the updating package.
  • the server may generate an updated algorithm package and distribute the updated algorithm package to the terminal, and the terminal may directly replace the original algorithm package with the updated algorithm package. More descriptions about how to update the algorithm package may be found in FIGs. 6, 7, 8, and 10, which may not be repeated here.
  • FIG. 6 is a flowchart illustrating an exemplary process for updating an algorithm package according to some embodiments of the present disclosure.
  • the process 600 may include one or more of the following operations.
  • the process 600 may be performed by the server 110.
  • the server 110 may update the algorithm package 400 and/or 500 by performing the operations shown in process 600.
  • a target portion of a plurality of portions of the algorithm package to be updated may be determined based on an updating instruction.
  • operation 610 may be performed by the server 110 or the target portion determination module 210.
  • the target portion of the algorithm package to be updated may refer to a target portion in the algorithm package that needs to be updated, such as model (s) , component (s) , portion (s) related to the scheme configuration, or the like.
  • the target portion of the algorithm package to be updated may include at least content (s) in the scheme package, such as at least one of the algorithm model (s) , the mapping table, and the configuration file (s) , etc.
  • the target portion of the algorithm package to be updated may include at least one scheme package in the algorithm package (e.g., the target portion of the algorithm package to be updated may include any one or more of the sub-schemes 420, 430, and 440 in FIG. 5, and the complete scheme package 450) .
  • the target portion of the algorithm package to be updated may include component (s) , such as at least one component in the component package 410.
  • the updating instruction may be a program instruction that indicates the algorithm package needs to be updated.
  • the updating instruction may be of various forms, such as a user updating instruction, an algorithm package updating notification instruction, or the like.
  • the user i.e., the user of the algorithm package
  • a generator of the algorithm package may send a notification or the updating instruction to the server after iteratively updating the algorithm package, so that the server may update the locally saved algorithm package and/or send the updating notification to the user.
  • the user may select to update or not to update the algorithm package.
  • the updating instruction may include a description of the target portion to be updated, such as an identification of the algorithm package, an identification of the algorithm scheme, or the like.
  • the server 110 may determine the target portion of the algorithm package to be updated based on the updating instruction. Specifically, the server 110 may determine the original algorithm package (i.e., the algorithm package to be updated) based on the updating instruction, and determine, in the original algorithm package, which portion (s) of the component (s) need to be updated (e.g., which model (s) or component (s) have updating version (s) , which model (s) are added or deleted, etc. ) , and determine the updating portion (s) as the target portion (s) to be updated.
  • the server 110 may determine the target portion of the algorithm package to be updated based on the updating instruction. Specifically, the server 110 may determine the original algorithm package (i.e., the algorithm package to be updated) based on the updating instruction, and determine, in the original algorithm package, which portion (s) of the component (s) need to be updated (e.g., which model (s) or component (s) have updating version (s) , which model (s) are added or deleted, etc.
  • the portion (s) related to the target portion (s) to be updated may also be determined as the target portion (s) to be updated.
  • the server 110 may determine a scheme package to be adjusted (e.g., a scheme package including the model (s) to be updated) in the algorithm package based on the updating instruction, and determine the scheme package to be adjusted as the target portion to be updated.
  • the detection model 422 in FIG. 4 may include an updating version, and the server 110 may determine the worker detection scheme package 420 and the complete scheme package 450 as the target portion to be updated.
  • the server 110 may add the component (s) or the component package including the component (s) to the target portion to be updated. For example, if the detection component 411 in FIG. 4 needs to be updated, the server 110 may add the detection component 411 or the component package 410 to the target portion to be updated.
  • the updating package of the algorithm package may be generated based on the target portion to be updated.
  • operation 620 may be performed by the server 110 or the updating package generation module 220.
  • the updating package may be a file or a collection of files used to update the algorithm package.
  • the updating package may include various files, such as algorithm model file (s) , mapping table file (s) , configuration file (s) , component file (s) , etc.
  • the updating package may include the updating content (s) in the target portion to be updated.
  • the target portion to be updated may be the worker detection scheme package 420 and the complete scheme package 450, and the updating package may include the updating content of the worker detection scheme package 420 and the complete scheme package 450.
  • the algorithm package 500 shown in FIG. 5 if the target portion to be updated is the scheme package 520, the updating package may include the updating content of the scheme package 520.
  • the updating package may be determined based on the target portion to be updated. For example, if the target portion to be updated includes the first recognition model 432, the updating package may include a scheme package where the first recognition model 432 is located. As another example, in the algorithm package 400 shown in FIG. 4, the updating package may include the work clothes recognition scheme package 430 and the complete scheme package 450. As a further example, in the algorithm package 500 shown in FIG. 5, the updating package may include a scheme package 520.
  • the server 110 may update the scheme package (s) based on the target portion to be updated.
  • the server 110 may obtain updating content of the algorithm model (s) based on the information of the target portion to be updated, and update the scheme package (s) based on the updating content of the algorithm model (s) .
  • the target portion to be updated includes a first recognition model 432 (i.e., the first recognition model 432 may have updating content) in the algorithm package 400 shown in FIG. 4, the server 110 may update the scheme packages 430 and 450 based on the updating content of the first recognition model 432.
  • the server 110 may adjust the scheme configuration information based on a preset rule.
  • the preset rule may include a preset scheme adjustment strategy, such as scheme replacement, scheme extension, scheme reduction, or the like.
  • the adjusting the scheme configuration information may include adjusting the content of the configuration file (s) in the algorithm package, such as updating the information of the model (s) and/or component (s) involved in the scheme (s) .
  • original content in the scheme package (s) may be replaced with updating content (for example, V1.0 version of a model may be replaced with V2.0 version of the model) .
  • the server 110 may replace original information with updating content, for example, the server 110 may replace the model version number in the configuration file (s) from V1.0 to V2.0.
  • the updating content may be added as a new component of the algorithm package.
  • the algorithm package 400 shown in FIG. 4 if the original detection model 422 is V1.0 version, the target portion to be updated is the detection model 422 with V2.0 version, a new scheme package including the detection model 422 with V2.0 version may be generated, and the new scheme package may be added to the algorithm package 400.
  • a function of detecting whether the worker wears gloves may be added, the target portion to be updated may include a new added third recognition model (configured to detect whether the worker wears gloves) , the algorithm package 400 may include a glove recognition scheme package including the third identification model.
  • the server 110 may generate other file (s) and/or update original file (s) in the new scheme package based on the newly added model (s) .
  • a new configuration file may be added and/or the original configuration file may be updated.
  • a new configuration file matched with the detection model 422 with the V2.0 version may be created, and information of the detection model 422 with the V2.0 version may be added to the configuration file 452.
  • a new mapping table may be added and/or the original mapping table may be updated.
  • a new configuration file and/or a new mapping table matched with the third identification model may be created, and information of the third identification model may be added to the configuration file 452 and the mapping table 451.
  • the original content in the algorithm package may be deleted.
  • the scheme may be adjusted to detect whether the worker is on duty, in the algorithm package 400 shown in FIG. 4, the target portion to be updated may be the second recognition model 442, then the second recognition model 442 in the mask recognition scheme package 440 and in the complete scheme package may be deleted.
  • the server 110 may update the configuration file (s) based on the deleted content in the algorithm package. For example, information relating to the second recognition model 442 in the configuration file 452 may be deleted.
  • the server 110 may adjust other file (s) in the scheme package, such as the mapping table, etc.
  • the server 110 may generate the updating package (s) based on updated scheme package (s) .
  • the server 110 may obtain the updated scheme package from the algorithm package, and package the updated scheme package to generate an updating package. For example, if the updated scheme package in the algorithm package 400 includes a worker detection scheme package 420 and a complete scheme package 450, and the work clothes recognition scheme package 430 and the mask recognition scheme package 440 do not include any updating content, the server 110 may package the scheme packages 420 and 450 to generate an updating package.
  • the server 110 may package all the scheme packages in the algorithm package to generate an updating package. For example, the server 110 may package the scheme packages 420, 430, 440, and 450 to generate an updating package.
  • the server 110 may obtain updating content of the component (s) based on the target portion to be updated. In some embodiments, the server 110 may update the component package based on the component (s) . In some embodiments, the server 110 may add the updating content of the component (s) or updated component package to the updating package. For example, if the detection component 411 has updating content, the server 110 may add the updated detection component 411 or updated component package 410 to the updating package.
  • the server 110 may package the whole algorithm package including the updated scheme package and/or component package as the updating package.
  • the server 110 may package the algorithm package 400 including the updating content to generate the updating package.
  • the updating package may be distributed to the terminal.
  • the operation 630 may be performed by the server 110 or by the updating package distribution module 230.
  • the server 110 may distribute the updating package to the terminal by various manners. For example, pushing the updating notification, sending the updating package directly, or the like.
  • the server 110 may push the updating notification to the terminal, the user may choose to receive or not to receive the updating package after receiving the notification. If the user chooses to receive the updating package, the server may send the updating package to the terminal.
  • the user may send an updating request (e.g., through the updating instruction) to the server 110 through the terminal, and the server 110 may generate the updating package based on the updating request, and send the updating package to the terminal.
  • an updating request e.g., through the updating instruction
  • the server 110 may generate the updating package based on the updating request, and send the updating package to the terminal.
  • the updating package of the algorithm package may be generated based on the updated scheme package, which may greatly reduce the volume of the updating package, reduce the amount of content that the terminal needs to update, save network resources required to transmit updating content, and reduce the storage resources required by the terminal.
  • FIG. 7 is a flowchart illustrating an exemplary process for updating an algorithm package according to some embodiments of the present disclosure.
  • the process 700 may include one or more of the following operations.
  • the process 700 may be performed by the terminal 130.
  • the server 110 may send the updating package of the algorithm package to the terminal 130 (e.g., after the operation 630) , and the terminal 130 may load the algorithm scheme in the algorithm package by performing the operations shown in process 700.
  • an updated algorithm package may be obtained by updating the algorithm package based on an updating package of the algorithm package.
  • the operation 710 may be performed by the terminal 130 or the algorithm determination module 310.
  • the terminal 130 may determine portions of the local algorithm package of the terminal that need to be updated based on the updating package of the algorithm package, and obtain the updated algorithm package by updating the portions using the updating package. For example, as shown in FIG. 4, if the updating package includes the updated scheme packages 420 and 450, the terminal 130 may use the updated scheme packages 420 and 450 to replace the scheme packages 420 and 450 in the local algorithm package of the terminal. As another example, the terminal 130 may add the updated scheme packages 420 and 450 as new scheme packages to the local algorithm package of the terminal.
  • At least one algorithm scheme may be loaded based on the updated algorithm package.
  • the operation 720 may be performed by the terminal 130 or the algorithm loading module 320.
  • the terminal 130 may obtain the algorithm scheme to be performed from the updated algorithm package, and load the algorithm scheme.
  • the updating package includes updating content corresponding to the algorithm scheme to be performed, according to the actual needs of the user, the algorithm scheme to be performed obtained from the updated algorithm package or the original algorithm scheme (i.e., the algorithm scheme before updating) may be designated as the updated algorithm scheme.
  • the preset scheme adjustment strategy is scheme replacement
  • the updating package only includes the updated scheme package, the original scheme package in the updated algorithm package has been replaced by the updated scheme package, thus the algorithm scheme to be performed obtained from the updated algorithm package may be the updated algorithm scheme.
  • the updating package includes the updated scheme package and the original scheme package, original scheme package in the updated algorithm package remains, then the algorithm scheme to be performed obtained from the updated algorithm package may be the updated algorithm scheme or the original algorithm scheme.
  • the updated algorithm package may include one or more versions (e.g., new version and/or old version) of the model.
  • the terminal 130 may determine whether models of different versions are a same model by comparing identification information such as names or IDs of the models and/or input/output of the models. Specifically, if two models have the same identification information and/or the same input/output, the two models may be considered as the same model. In some embodiments, if two models are the same model, the terminal 130 may determine the old version and new version of the model by comparing version number information of the model.
  • the terminal 130 may use the model according to a preset rule.
  • the preset rule may include: using the new model directly, or prompting the user to select from different versions of the model, etc.
  • the terminal 130 may process the updated algorithm package by using the pre-processing component (e.g., extracting information, performing the adaptation verification, etc. ) to load the algorithm scheme.
  • the terminal 130 may determine the component (s) and the corresponding model (s) in the updated algorithm package using the pre-processing component, and performing the adaptation verification on the component (s) and the corresponding model (s) according to the information in the configuration file (s) , to confirm whether the component (s) match with the model (s) . More descriptions of how to process the updated algorithm package using the pre-processing component may be found in FIG. 10 and related descriptions, which may not be repeated here.
  • Information to be processed may refer to information that needs to be processed to obtain a processing result.
  • the information to be processed may include original data collected by the user, intermediate data obtained through preliminary processing, figures, texts, video, etc.
  • the terminal 130 may obtain a processing result by processing the information to be processed of the user.
  • the processing result may be of various forms, such as a result code, direct result description information, etc.
  • a processing result code may be a processing result in a code form, including number, letter, symbol, or any combination thereof, such as 111, 110, A1, B2, C3, or the like.
  • Processing result information may be a direct description of the processing result, including a form of letters, or the like.
  • the processing result code may correspond to specific processing result information. For example, results of detecting whether a detected object is a worker, whether the detected object wears work clothes, and whether the detected object wears a mask may be represented by character (s) and/or number (s) .
  • a corresponding relationship between the processing result code (s) and the processing result information may be saved in the mapping table.
  • a corresponding relationship between the processing results of detecting whether a detected object is a worker, whether the detected object wears work clothes, and whether the detected object wears a mask and the processing result information may be saved in mapping tables 421, 431, and/or 441.
  • the following may be an example of detecting whether the detected object wears work clothes. Assuming that the processing result code is represented by two-digit numbers, the current processing result code is 11, and the mapping table may be shown in Table 1 below.
  • the mapping table shown in Table 1 and the processing code 11 may be decoded as: the worker wears the work clothes, at this time, the decoded information “the worker wears the work clothes” may be referred to as a scheme processing result.
  • mapping table may not be limited to that shown in Table 1, the example above is merely for illustration purposes, as the specific implementation form of the mapping table may be set according to actual needs, which will not be limited in the present disclosure.
  • the terminal 130 may obtain a processing result code by processing the information to be performed using the loaded algorithm scheme.
  • the information to be processed may be input into the corresponding model (s) in the loaded algorithm scheme to obtain the output processing result code.
  • information of the detected object may be input into the detection model 422 to obtain that the processing result code is A1
  • the information of the detected object may be input into the first recognition model 432 to obtain that the processing result code is B1
  • the information of the detected object may be input into the second recognition model 442 to obtain that the processing result code is C0.
  • the terminal 130 may determine processing result information corresponding to the processing result code by using the result processing component.
  • the result processing component may determine the corresponding processing result information of the processing result code by querying the mapping table. For example, if a processing result code of detecting whether the detected object is a worker is A1, the processing result information corresponding to the obtained code “the detected object is a worker” may be obtained by querying the mapping table 421. As another example, if the processing result information of detecting whether the worker wears work clothes and mask is A1B1C1, the processing result information corresponding to the obtained code “the worker wears work clothes and mask” may be obtained by querying the mapping table 451.
  • the terminal 130 may obtain the processing result information directly by processing the information to be processed using the loaded algorithm scheme. Specifically, the information to be processed may be input into the corresponding model in the loaded algorithm scheme to obtain the output processing result information.
  • the specific processing result may be further decoupled from the processing output, and thus, the same code can be used to represent different specific processing results, so that the business may be flexibly customized, and diverse requirements of the user can be satisfied.
  • FIG. 8 is a flowchart illustrating another exemplary process for updating an algorithm package according to some embodiments of the present disclosure.
  • the process 800 may include one or more of the following operations.
  • the process 800 may be performed by the server 110 and the terminal 130.
  • a configuration file in the scheme package to be adjusted in the algorithm package may be obtained.
  • the operation 810 may be performed by the server 110.
  • the updating instruction may be sent by the terminal (i.e., the user device) , such as the terminal 130.
  • the terminal sending the updating instruction may be equipped with an algorithm package or may be used to control the server (i.e., the server 110) .
  • the server 110 may determine a target portion to be updated according to the updating instruction, i.e., the scheme package to be adjusted in the original algorithm package, such as the scheme packages 420 and 450 in FIG. 4.
  • the server 110 may obtain the configuration file in the scheme package to be adjusted, such as the configuration file 423 in the scheme package 420 and the configuration file 452 in the scheme package 450. More description of how to determine the scheme package to be adjusted may be found in the operation 610 and related descriptions, which may not be repeated here.
  • the configuration file may be adjusted according to an adjusting strategy to obtain an adjusted configuration file; and according to the scheme adjusting strategy, a model file corresponding to the algorithm model for an adjusted algorithm scheme and a mapping table for the adjusted algorithm scheme may be obtained.
  • the operation 820 may be performed by the server 110.
  • the preset scheme adjustment strategy may include any one of scheme replacement, scheme extension, and scheme reduction.
  • the preset scheme adjustment may include: replacing the work clothes recognition with glasses identification (i.e., the scheme replacement) ; or adding a glasses identification function (i.e., the scheme extension) ; or deleting the mask recognition function (i.e., the scheme reduction) .
  • the server 110 may adjust the algorithm scheme according to the preset scheme adjustment strategy, and update a corresponding file in the algorithm package, including performing operation (s) such as modifying, adding, and/or deleting on the corresponding portion (s) in the configuration file, to update the configuration file. More descriptions of how to update the configuration file according to the preset scheme adjustment strategy may be found in the operation 620 and related descriptions, which may not be repeated here.
  • the server 110 may obtain the model (s) and related file (s) required for the adjusted scheme according to the scheme adjustment strategy, such as the model file corresponding to the algorithm model, a mapping table corresponding to the model, or the like.
  • the model file and mapping table corresponding to the algorithm model required by the adjusted scheme may be loaded from a model database in the server (e.g., the server 110) .
  • the server in the establishing of the model database, the server may configure a corresponding mapping table for each scheme package according to the package manner.
  • the scheme package 420 may include a mapping table 421
  • the scheme package 430 may include a mapping table 431
  • the scheme package 440 may include a mapping table 441
  • the scheme package 450 may include a mapping table 451.
  • an updating package may be generated at least based on the adjusted configuration file, the obtained model file, and/or the obtained mapping table.
  • the component package in the algorithm package may be maintained unchanged.
  • the operation 830 may be performed by the server 810.
  • the server 110 may generate an updating package of the original algorithm package (i.e., the algorithm package to be updated) according to the updated configuration file, model file, mapping table, and/or related file (s) .
  • the component function (s) included in the component package may be general, and the component package may be not updated frequently. Therefore, in some embodiments, the component package in the original algorithm package may be not updated.
  • the updating package may include an upgraded scheme package, an updated algorithm package, or the like, or a combination thereof.
  • the upgraded scheme package may be an upgrade of the algorithm package including the adjusted scheme package and/or the unadjusted scheme package.
  • the updated algorithm package may include an upgraded scheme package and/or a component package.
  • the server 110 may generate an upgraded scheme package by packaging the updated configuration file, the model file and/or mapping table required by the adjusted scheme.
  • the updating package may be packaged by a portion of data relating to the scheme, which may reduce a data size of the updating package, reduce the resources used for data transmission between the server and the terminal, and improve the transmission efficiency, thereby achieving an improvement in the deployment and upgrade efficiency of the algorithm package.
  • the server 110 may generate the adjusted scheme package by packaging the updated configuration file, the model file and/or the mapping table required by the adjusted scheme. In some embodiments, the server 110 may generate the updated algorithm package by packaging the adjusted scheme package, the unadjusted scheme package and/or component package in the original algorithm package. In this way, the integrity of the algorithm package may be ensured during updating.
  • the upgrade operation may be simplified, the upgraded efficiency may be improved, and the probability of upgrade failure may be reduced.
  • the updating package may be generated using different manners, which may satisfy the needs of different application scenarios and improve the flexibility of design.
  • the server 110 may obtain the adjusted scheme package and/or related scheme package by adjusting the scheme package using different manners.
  • the server 110 may distribute the updating package to the terminal 110. More descriptions of how to distribute the updating package to the terminal may be found in the operation 630 and related descriptions, which may not be repeated here.
  • the original algorithm package may be updated according to the updating package.
  • the operation 840 may be performed by the terminal 130.
  • the terminal 130 may receive the updating package sent by the server 110 and update the local original algorithm package of the terminal according to the received updating package to obtain the updated algorithm package.
  • both the updated algorithm package and original algorithm package may include the component package and the scheme package, the scheme package may correspond to at least one performed scheme. More descriptions of the algorithm package may be found in FIG. 4, FIG. 5, and related descriptions, which may not be repeated here.
  • the terminal 130 may upgrade and/or update the original algorithm package based on the original algorithm package and the upgraded scheme package. In some embodiments, the terminal 130 may replace the corresponding scheme package in the original algorithm package with the upgraded scheme package.
  • the upgraded scheme package may include adjusted scheme packages 420 and 450, and unadjusted packages 430 and 440, the terminal 130 may replace the scheme package (s) in the original algorithm package with the upgraded scheme package (s) (i.e., the scheme packages 420, 430, 440, and 450) , or replace the scheme packages 420 and 450 in the original algorithm package with the adjusted scheme packages 420 and 450.
  • the terminal 130 may add the updating content in the upgraded scheme package to the original algorithm package.
  • the adjusted scheme packages 420 and 450 may include model (s) with new version (s) , the terminal 130 may add the adjusted scheme packages 420 and 450 to the original algorithm package.
  • the terminal 130 may replace the original algorithm package with the updated algorithm package to upgrade and/or update the original algorithm package.
  • FIG. 10 is a flowchart illustrating another exemplary process for updating an algorithm package according to some embodiments of the present disclosure.
  • the process 1000 may include one or more of the following operations.
  • the process 1000 may be performed by the terminal 130.
  • the terminal 130 may install the updated algorithm package by performing the operation (s) shown in the process 1000.
  • the matched algorithm component and algorithm model may be assembled into an operator to facilitate the processing of processing information by each operator.
  • the algorithm components corresponding to the algorithm models with the same functional type may be copied in the scheme package corresponding to the scheme to be performed, and the count of the algorithm components with the same functional type may be the same with the count of the algorithm models with the same functional type in the scheme package after copying.
  • the scheme package 520 may include a first recognition model 432 and a second recognition 442, the functions of the two models may be recognition, since there is only one algorithm component with the same type in the component package, i.e., the component package 510 may include one recognition component 412. Therefore, when assembling the operator, the recognition component 412 may be copied, so that there are two recognition components 412, the number of which is the same as that of the models with recognition function.
  • the algorithm package 400 shown in FIG. 4 or the algorithm package shown in FIG. 5 may be assembled as an operator, a scheme processing architecture shown in FIG. 9 may be obtained.
  • the scheme processing architecture shown in FIG. 9 may include a pre-processing operator 910, a detection operator 920, a first recognition operator 930, a second recognition operator 940, and a result processing operator 950.
  • the pre-processing component 413 and the configuration file may be used to form the pre-processing operator 910; the detection component 411 and the detection model 422 may be used to form the detection operator 920; the identification component 412 and the first recognition model 432 may be used to form the first recognition operator 930; the identification component 412 and the second recognition model 442 may be used to form the second recognition operator 940; and the result processing component 414 and the mapping table 421 be used to form the result processing operator 950.
  • the input information to be processed may be processed by using the detection operator 920, the first recognition operator 930, and/or the second recognition operator 940 shown in FIG. 9; the processing result code may be output; and the scheme processing result (such as a processing result of the worker wearing work clothes and mask) may be obtained by decoding the processing result code using the result processing operator 950 according to the mapping table.
  • the following may explain the process 1000 based on the scheme processing architecture shown in FIG. 9.
  • the pre-processing component and/or the result processing component may be initialized.
  • the terminal 130 may initialize the pre-processing component (e.g., pre-processing component 413) and/or the result processing component (e.g., the result processing component 414) . Specifically, the terminal 130 may obtain the pre-processing component and/or result processing component from the updated algorithm package.
  • pre-processing component e.g., pre-processing component 413
  • result processing component e.g., the result processing component 414.
  • the pre-processing component may load and/or parse the configuration file in the scheme package corresponding to the scheme to be performed.
  • the resulting processing component may load the mapping table in the scheme package corresponding to the scheme to be performed.
  • the terminal 130 may, according to the specific information processing requirement (s) , parse scheme configuration information by loading the configuration file in the scheme package using the pre-processing component. For example, the terminal may load the configuration file 452 using the pre-processing component 413, and parse corresponding scheme configuration information.
  • the terminal may load the configuration file 452 using the pre-processing component 413, and parse corresponding scheme configuration information.
  • the terminal 130 may assemble the pre-processing component and the loaded configuration file into a pre-processing operator.
  • the pre-processing component 413 and the loaded configuration file 452 may be assembled into a pre-processing operator 910.
  • the pre-processing operator may not process the information to be processed, and transmit the information to be processed to the subsequent operator.
  • the algorithm package may include one or more scheme packages while only a portion of the scheme packages are actually used.
  • the pre-processing component may load and/or parse the configuration file (s) in the scheme package required for information processing while the configuration file (s) in the unnecessary scheme package do not need to be loaded and parsed.
  • the terminal may load the mapping table (e.g., a mapping table 952) in the scheme package corresponding to the scheme to be performed using the result processing component (e.g., the result processing component 414) .
  • the mapping table e.g., a mapping table 952
  • the terminal 130 may assemble the result processing component and the loaded mapping table into a result processing operator.
  • the result processing component 414 and the loaded mapping table 421 may be assembled into a result processing operator 950.
  • the result processing operator may decode the processing code output by the previous operator to output a scheme processing result.
  • the pre-processing component may determine, from the component package, the algorithm component (s) required by the scheme to be performed.
  • the pre-processing component may determine the algorithm component (s) and the algorithm model (s) required by the scheme to be performed, and required information such as an operator matching relationship of the algorithm component and algorithm model according to the parsed scheme configuration information.
  • the pre-processing component may perform adaptation verification on the determined algorithm component (s) and model (s) in the scheme package corresponding to the scheme to be performed.
  • the terminal 130 may determine a matching relationship (also be understood as a record relationship) between the algorithm component (s) and the algorithm model (s) recorded in the configuration file (s) of the scheme to be performed and whether the matching relationship is the same as an actual matching relationship between the algorithm component (s) in the component package and the algorithm model (s) in the scheme package corresponding to the scheme to be performed by performing the verification processing. If the matching relationship is the same as the actual matching relationship between the algorithm component (s) in the component package and the algorithm model (s) in the scheme package corresponding to the scheme to be performed, the algorithm model (s) in the scheme package corresponding to the scheme to be performed may be loaded.
  • a matching relationship also be understood as a record relationship
  • the process may be ended. In this way, the error (s) generated during algorithm package installation may be avoided and the accuracy of algorithm package installation may be improved.
  • the pre-processing component may perform the adaptation verification on the algorithm components and the algorithm models.
  • the pre-processing component may define the determined algorithm component as a target component and define the algorithm model in the scheme model corresponding to the scheme to be performed as a target model.
  • the target component and the target model may include at least one, and the configuration file may at least record an operator matching relationship of the target component and the target model, identification information of the target component, and identification information of the target model.
  • the pre-processing component may verify whether the identification information of the algorithm component and the algorithm model is the same, and whether the algorithm model is a model in the applicable model set of the algorithm component. Specifically, the pre-processing component may determine the identification information of the target component and the target model matched as an operator are the same. Further, for the target component and the target model matched as the operator, the target model may be a model in the applicable model set of the target component, the pre-processing component may determine that the adaptation verification performed on the target component and the target model matched as the operator is successful.
  • a correct adaptation of algorithm component and algorithm model can be ensured, and the accuracy of algorithm updates can be ensured.
  • the determined algorithm components may be initialized; the initialized algorithm component (s) may load the corresponding algorithm model (s) in the scheme package corresponding to the scheme to be performed; the initialized algorithm component (s) and the corresponding loaded algorithm model (s) may be assembled into an operator to complete the installation of the algorithm package.
  • the terminal 130 may initialize the algorithm component (s) according to the configuration file (s) . For example, one or more algorithm models with the same functional type may be copied and loaded for algorithm components with the same functional type.
  • the terminal 130 may load the corresponding algorithm model (s) in the scheme package corresponding to the scheme to be performed by the initialized algorithm component (s) .
  • the detection model 422 may be loaded using the detection component 411
  • the first recognition model 432 may be loaded using the identification component 412
  • the second recognition model 442 may be loaded by the identification component 412.
  • the terminal 140 may assemble the initialized algorithm component (s) and the corresponding loaded algorithm model (s) into an operator to complete the installation of the algorithm package.
  • the detection component 411 and the loaded detection model 422 may be assembled into the detection operator 920
  • the identification component 412 and the loaded first recognition model 432 may be assembled into the first recognition operator 930
  • the identification component 412 and the loaded second recognition model 442 may be assembled into the second recognition operator 940.
  • the terminal 130 may further obtain information to be processed; the processing result code may be obtained by processing the information to be processed based on the determined algorithm component (s) and the loaded algorithm model (s) ; the scheme processing result corresponding to the processing result code may be determined using the result processing component according to the loaded mapping table (s) .
  • the information to be processed may be input into the pre-processing operator 910, processed using the detection operator 920, the first recognition operator 930, and/or the second recognition operator 940 to obtain a processing result code, and the obtained processing result code may be input into the result processing operator 950 to obtain a scheme processing result. More descriptions of how to perform the scheme to process the information to be processed may be found in FIG. 7 and related descriptions, which may not be repeated here.
  • the beneficial effects in the embodiments of the present discourse may include but are not limited to: (1) by a special design of the structure of the algorithm package, the algorithm component (s) and the algorithm model (s) can be decoupled, and the algorithm package can be divided into the component package and scheme package; when updating the algorithm package, under the condition of maintaining the original component package unchanged, the scheme package needs to be updated, which may simplify the updating process and reduce the updating risks and maintenance difficulties; (2) by deploying algorithm component (s) , algorithm model (s) , and configuration (s) separately, the flexibility of device deployment can be improved, thereby supporting loading multiple scheme configurations, satisfying more requirements, and enhancing algorithm functionality; (3) by transforming the direct processing result into a processing result code based on a mapping relationship between the processing result code (s) and processing result (s) , flexible customization of solutions can be achieved. It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other possible beneficial effects.
  • aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or contexts including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, all aspects of the present disclosure may be performed entirely by hardware, may be performed entirely by software (including firmware, resident software, microcode, etc. ) , or may be performed by a combination of hardware and software.
  • the above hardware or software may be referred to as “data block” , “module” , “engine” , “unit” , or “component” . or “system” .
  • aspects of the present disclosure may appear as a computer product located in one or more computer-readable media, the product including computer-readable program code.
  • the numbers expressing quantities, properties, and so forth, used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ” Unless otherwise stated, “about, ” “approximate, ” or “substantially” may indicate a ⁇ 20%variation of the value it describes. Accordingly, in some embodiments, the numerical parameters set forth in the description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Although the numerical domains and parameters used in the present application are used to confirm the range of ranges, the settings of this type are as accurate in the feasible range in the feasible range in the specific embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
PCT/CN2023/089874 2022-07-15 2023-04-21 Methods and systems for updating an algorithm package WO2024011994A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210829068.5A CN114924772B (zh) 2022-07-15 2022-07-15 一种算法包的更新方法及设备
CN202210829068.5 2022-07-15

Publications (1)

Publication Number Publication Date
WO2024011994A1 true WO2024011994A1 (en) 2024-01-18

Family

ID=82815860

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/089874 WO2024011994A1 (en) 2022-07-15 2023-04-21 Methods and systems for updating an algorithm package

Country Status (2)

Country Link
CN (1) CN114924772B (zh)
WO (1) WO2024011994A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114924772B (zh) * 2022-07-15 2022-10-25 浙江大华技术股份有限公司 一种算法包的更新方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
CN110308924A (zh) * 2019-05-24 2019-10-08 平安银行股份有限公司 应用程序更新方法、装置、电子设备及存储介质
CN112685433A (zh) * 2021-01-07 2021-04-20 网易(杭州)网络有限公司 元数据更新方法、装置、电子设备及计算机可读存储介质
CN113190254A (zh) * 2021-05-21 2021-07-30 珠海金山网络游戏科技有限公司 一种更新方法及装置
CN114924772A (zh) * 2022-07-15 2022-08-19 浙江大华技术股份有限公司 一种算法包的更新方法及设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496509B2 (en) * 2004-05-28 2009-02-24 International Business Machines Corporation Methods and apparatus for statistical biometric model migration
CN104935618B (zh) * 2014-03-19 2018-01-19 福建福昕软件开发股份有限公司 一种集群部署方法
US9870247B2 (en) * 2014-06-16 2018-01-16 Cyber Reliant Corporation System and method for dynamic provisioning of applications
CA3019911A1 (en) * 2015-07-27 2017-02-02 Datagrid Systems, Inc. Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data
CN107451663B (zh) * 2017-07-06 2021-04-20 创新先进技术有限公司 算法组件化、基于算法组件建模方法、装置以及电子设备
CN107679701B (zh) * 2017-09-08 2021-02-05 广州供电局有限公司 负荷削减并行计算方法及装置
CN109753300B (zh) * 2017-11-03 2022-05-06 阿里巴巴集团控股有限公司 一种算法升级方法、计算任务发送方法及相关装置
CN109743390B (zh) * 2019-01-04 2022-02-22 深圳壹账通智能科技有限公司 任务调度方法、装置、计算机设备和存储介质
CN111831424B (zh) * 2019-04-17 2023-09-05 杭州海康威视数字技术股份有限公司 一种任务处理方法、系统及装置
CN110308910B (zh) * 2019-05-30 2023-10-31 苏宁金融服务(上海)有限公司 算法模型部署以及风险监控的方法、装置和计算机设备
CN112400147A (zh) * 2019-07-10 2021-02-23 深圳市大疆创新科技有限公司 算法配置方法、设备、系统及可移动平台
CN111399860B (zh) * 2020-03-06 2023-07-07 金蝶蝶金云计算有限公司 轻应用部署方法、装置、计算机设备和存储介质
US11145580B1 (en) * 2020-03-25 2021-10-12 International Business Machines Corporation IoT and AI system package with solid-state battery enhanced performance
CN111797969A (zh) * 2020-06-23 2020-10-20 浙江大华技术股份有限公司 神经网络模型的转换方法及相关装置
CN112527281B (zh) * 2020-12-17 2022-03-11 北京百度网讯科技有限公司 基于人工智能的算子升级方法、装置、电子设备及介质
CN114675863B (zh) * 2022-05-27 2022-10-04 浙江大华技术股份有限公司 算法配置文件更新方法及相关方法、装置、设备、介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
CN110308924A (zh) * 2019-05-24 2019-10-08 平安银行股份有限公司 应用程序更新方法、装置、电子设备及存储介质
CN112685433A (zh) * 2021-01-07 2021-04-20 网易(杭州)网络有限公司 元数据更新方法、装置、电子设备及计算机可读存储介质
CN113190254A (zh) * 2021-05-21 2021-07-30 珠海金山网络游戏科技有限公司 一种更新方法及装置
CN114924772A (zh) * 2022-07-15 2022-08-19 浙江大华技术股份有限公司 一种算法包的更新方法及设备

Also Published As

Publication number Publication date
CN114924772A (zh) 2022-08-19
CN114924772B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
US10248537B2 (en) Translation bug prediction classifier
CN104615466B (zh) 一种云平台部署方法和系统
CN107463418B (zh) 一种服务器中间件的配置文件生成方法及装置
US10901804B2 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
CN107301058A (zh) 基于版本号分段控制实施电视系统ota升级的方法
CN111158715B (zh) 灰度发布控制方法及系统
US20190026097A1 (en) Model based upgrade campaign generation
WO2024011994A1 (en) Methods and systems for updating an algorithm package
WO2021212661A1 (zh) 运行系统构建方法、装置、电子设备及存储介质
US10719618B2 (en) Federated configuration of distributed access, authentication, and authorization systems
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
CN113330419A (zh) 一种设备应用安装方法和装置
US7890548B2 (en) Automation process system and method to upgrade from non-unicode transformation support to unicode data transformation support
CN110007994B (zh) 一种软件国际化方法及系统
CN114386853A (zh) 基于通用审核模型的数据审核处理方法、装置及设备
US10929121B2 (en) Method, device and related system for dynamically repairing application
US11349908B2 (en) Generating templates for deployment of system services
CN112395339A (zh) 系统间数据准入校验方法、装置、计算机设备和存储介质
CN105700900A (zh) 一种优化无线局域网功能的方法及装置
CN106487567A (zh) 一种网元模型管理方法及装置
JP2010205068A (ja) ソフトウェア資源移行システム及び同移行方法
CN114493493A (zh) 决策引擎及决策引擎实现方法
CN112035142B (zh) 一种基于软件维护的数据处理方法、装置及设备
CN111984672B (zh) 一种在运维审计系统对命令请求提供规则匹配能力的方法
CN111142934B (zh) 一种可受加载的文件格式设计方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23838495

Country of ref document: EP

Kind code of ref document: A1