Business processing method, device, equipment and medium
By directly acquiring and processing data streams in live broadcast services and using interface automated testing to identify and make decisions about business models, the problem of low testing efficiency in existing technologies is solved, and efficient model testing and performance optimization are achieved.
Patent Information
- Application Number
- CN202110780207.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-09
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2041-07-09
AI Technical Summary
In the existing technology, the testing efficiency of network models is low, the test link is long, and it is difficult to efficiently evaluate its recognition performance.
By obtaining the target live data stream from the live broadcast business, calling the business model for identification and decision-making processing, and using interface automation testing to directly pull the data stream from the live broadcast business for testing, the test link is shortened and test efficiency is improved.
It achieves efficient testing of business models, shortens the test link length, improves test efficiency, and quickly locates and optimizes model recognition performance through decision results.
Smart Images

Figure CN113824950B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, in particular to the field of artificial intelligence, and specifically to a business processing method, apparatus, device, and medium. Background Art
[0002] Many business scenarios (such as live streaming and music playback) require the recognition of multimedia data (such as video, images, and audio) and the tagging of these data based on the recognition results. For example, in a live streaming scenario, a live video stream can be recognized and tagged with dance, singing, exercise, and other tags based on the recognition results.
[0003] The recognition of multimedia data relies on the network model (also known as the service model), and the recognition performance of the network model has a significant impact on the recognition results. Existing techniques test the recognition performance of network models by manually playing test material and observing whether the labels are accurately displayed on the terminal. This results in a long test link and low test efficiency. Improving network model testing efficiency has become a hot research topic. Summary of the Invention
[0004] The embodiments of the present application provide a business processing method, apparatus, device, and medium, which can improve the testing efficiency of business models.
[0005] In one aspect, an embodiment of the present application provides a service processing method, the method comprising:
[0006] Obtain the target live data stream in the live broadcast service;
[0007] Calling the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream, the identification result including a decision value of whether the target live data stream belongs to the target category;
[0008] Perform decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and
[0009] Test the business model based on the decision results.
[0010] On the other hand, an embodiment of the present application provides a service processing device, the device comprising:
[0011] An acquisition unit, used to acquire a target live data stream in a live broadcast service;
[0012] A processing unit, configured to call a business model to perform identification processing on a target live data stream, and obtain an identification result of the target live data stream, wherein the identification result includes a decision value indicating whether the target live data stream belongs to a target category;
[0013] The processing unit is further configured to perform decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and
[0014] The processing unit is also used to test the business model based on the decision results.
[0015] In one implementation, the live broadcast service is connected to the microservice interface; and the processing unit is configured to, when obtaining a target live broadcast data stream in the live broadcast service, specifically:
[0016] Call the microservice interface to receive the target live data stream of the live broadcast business.
[0017] In one implementation, the processing unit is configured to, when calling the service model to perform identification processing on the target live data stream and obtaining an identification result of the target live data stream, specifically:
[0018] Performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream;
[0019] Call the business model to perform recognition processing on each image frame to obtain the recognition sub-result of each image frame;
[0020] The recognition result of the target live data stream is calculated based on the recognition sub-result of each image frame.
[0021] In one implementation, the decision result includes a first decision result; and the processing unit is configured to perform decision processing on the label display of the target live data stream according to the recognition result, and when the decision result is obtained, specifically to:
[0022] Compare the decision value to the decision threshold of the target class;
[0023] If the decision value is greater than the decision threshold, a first decision result is obtained, and the first decision result is used to indicate the category label of the target category to be displayed in the playback interface of the target live data stream.
[0024] In one implementation, the decision result includes a second decision result; and the processing unit is further configured to:
[0025] If the decision value is not greater than the decision threshold, a second decision result is obtained, and the second decision result is used to indicate that the category label of the target category is not displayed in the playback interface of the target live data stream.
[0026] In one implementation, the live broadcast service includes N stream segments, where N is an integer greater than 1, and the target live broadcast data stream is any one of the N stream segments; the processing unit is further configured to:
[0027] Calling the business model to identify and process N-1 stream segments other than the target live data stream among the N stream segments, and obtaining identification results of the N-1 stream segments;
[0028] A recognition result curve graph is generated based on the recognition results of the N-1 stream segments and the recognition result of the target live data stream.
[0029] In one implementation, the processing unit is configured to, when testing the business model based on the decision result, specifically:
[0030] Obtaining a reference annotation of a target live data stream, where the reference annotation indicates whether a category label of a target category should be displayed or not displayed in a playback interface of the target live data stream;
[0031] Compare the decision results with the reference annotations;
[0032] If the decision result matches the reference annotation, it is determined that the recognition performance of the business model meets the test requirements;
[0033] If the decision result does not match the reference annotation, it is determined that the recognition performance of the business model cannot meet the test requirements.
[0034] In one implementation, the target live data stream is a stream segment in a test set, the test set includes M stream segments and a reference label corresponding to each stream segment, where M is an integer greater than 1; the test set is used to test the service model; and the processing unit is used to, when testing the service model based on the decision result, specifically:
[0035] Calling the business model to identify and process M-1 stream segments other than the target live data stream among the M stream segments, and obtaining identification results of the M-1 stream segments;
[0036] Performing decision processing on each of the M-1 stream segments according to the recognition results of the M-1 stream segments to obtain decision results for the M-1 stream segments;
[0037] Compare the decision results of the M-1 stream segments and the decision results of the target live data stream with the corresponding reference annotations;
[0038] A target number of flow segments whose decision results match the reference annotations is counted, and a performance test result for the service model test is generated based on the target number and the M flow segments.
[0039] In one implementation, the processing unit is further configured to:
[0040] If the performance test result is greater than the test result threshold, it is confirmed that the recognition performance of the business model meets the test requirements;
[0041] If the performance test result is not greater than the test result threshold, it is determined that the recognition performance of the business model does not meet the test requirements.
[0042] In one implementation, if the recognition performance of the service model does not meet the test requirements, the processing unit is further configured to:
[0043] Add the flow segments whose decision results do not match the reference annotations to the training set, which is used to train the business model;
[0044] The business model is trained using the training set to obtain an optimized business model.
[0045] On the other hand, the present application provides a service processing device, the device comprising:
[0046] a processor for loading and executing computer programs;
[0047] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the above-mentioned business processing method.
[0048] On the other hand, the present application provides a computer-readable storage medium, which stores a computer program. The computer program is suitable for being loaded by a processor and executing the above-mentioned business processing method.
[0049] In another aspect, the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a service processing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the service processing device to perform the above-described service processing method.
[0050] In the embodiment of the present application, the target live data stream in the live broadcast business can be obtained, and the business model can be called to perform identification processing and decision processing on the target live data stream, so as to test the business model according to the decision results of the decision processing. In the above scheme, the target live data stream can be directly pulled from the live broadcast business for identification processing and decision processing, without the need for the tester to manually start the broadcast; and the decision results of the target live data stream are used to test the business model. This method of directly pulling the target live data stream from the live broadcast business to test the business model shortens the test link length of the business model and improves the test efficiency of the business model. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0052] Figure 1a A schematic diagram showing material information for training and testing a business model provided by an exemplary embodiment of the present application is shown;
[0053] Figure 1b A schematic diagram of the architecture of a business processing system provided by an exemplary embodiment of the present application is shown;
[0054] Figure 1c A flowchart of a business processing solution provided by an exemplary embodiment of the present application is shown;
[0055] Figure 1d A schematic diagram of a business processing system provided by an exemplary embodiment of the present application is shown;
[0056] Figure 1e A schematic diagram of a mainstream architecture for testing a business model provided by an exemplary embodiment of the present application is shown;
[0057] Figure 2 A flowchart of a business processing method provided by an exemplary embodiment of the present application is shown;
[0058] Figure 3 A schematic diagram showing a method of displaying a dance tag in a playback interface of a target live data stream provided by an exemplary embodiment of the present application is shown;
[0059] Figure 4 A schematic diagram of determining a category label displayed in a playback interface provided by an exemplary embodiment of the present application is shown;
[0060] Figure 5 A flowchart of a business processing method provided by an exemplary embodiment of the present application is shown;
[0061] Figure 6 A schematic diagram of generating a recognition result curve graph provided by an exemplary embodiment of the present application is shown;
[0062] Figure 7 A schematic diagram showing a recognition result curve diagram composed of decision values of a positive stream segment provided by an exemplary embodiment of the present application is shown;
[0063] Figure 8A schematic structural diagram of a service processing device provided by an exemplary embodiment of the present application is shown;
[0064] Figure 9 A structural diagram of a business processing device provided by an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION
[0065] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0066] The following is a brief description of the technical terms and concepts involved in the embodiments of the present application, wherein:
[0067] 1) Artificial Intelligence (AI).
[0068] Artificial intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive field within computer science that seeks to understand the essence of intelligence and create new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making. AI technology is an interdisciplinary discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0069] The embodiments of the present application relate to machine learning / deep learning and other directions included in artificial intelligence technology. Among them, machine learning (ML) is a multi-disciplinary interdisciplinary subject involving probability theory, statistics, approximation theory, convex analysis, algorithmic complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their own performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning generally include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and learning by teaching. Machine learning can be seen as a task, the goal of which is to allow machines (computers in a broad sense) to acquire human-like intelligence through learning. For example, humans can play Go, and computer programs (AlphaGo or AlphaGo Zero) are designed to master Go knowledge and play Go. Among them, a variety of methods can be used to implement machine learning tasks, such as neural networks, linear regression, decision trees, support vector machines, Bayesian classifiers, reinforcement learning, probabilistic graphical models, clustering and other methods.
[0070] 2) Label.
[0071] Tags are symbols (or identifiers) used to label products or multimedia data (such as videos, images, audio, etc.). Specifically, tags often contain keywords that are highly relevant to the multimedia data (or product). By tagging multimedia data, the characteristics of the multimedia data can be indicated through the tags, thereby enabling classification of the multimedia data, which helps users easily view, search, and share the multimedia data. For example, during a live broadcast, a tag can be displayed on the playback interface of the live data stream (or video stream) associated with the host. The tag can be used to mark the category of the host's actions, thereby categorizing the live data stream. For example, if the host is singing during the live broadcast, the tag displayed on the playback interface can be a singing tag (such as the singing tag containing the string "sing"); for another example, if the host is dancing during the live broadcast, the tag displayed on the playback interface can be a dancing tag (such as the dancing tag containing the string "dance"), and so on. This allows users (such as the host or viewers watching the live broadcast) to quickly understand the characteristics or categories of the live data stream through the tags, thereby helping users select their preferred live data streams for viewing.
[0072] For ease of explanation, the following introduction will be made using multimedia data as a live data stream in a live business scenario, and the label as a category label of the live data stream as an example, which is specially explained here.
[0073] At present, a business model can be used to identify live data streams to determine the category and corresponding category label to which the live data stream belongs based on the identification results; the business model can be obtained by training a machine learning model (such as a neural network model) using a sample data stream (or called sample data). The trained business model has functions such as image recognition and audio recognition. Therefore, the recognition performance of the business model directly affects the accuracy of the recognition of the category and category label to which the live data stream belongs, and how to test the performance of the business model to understand the performance of the business model is particularly important. Among them, an exemplary material information for training and testing the business model can be found in Figure 1a ,like Figure 1a As shown in the first figure, the training set for training the business model to identify the singing category may include 5000 sample data streams; among them, 1000 sample data streams in the 5000 sample data streams belong to the singing category, and 4000 sample data streams belong to the non-singing category; the test set for testing the recognition performance of the business model in identifying the singing category may include 1000 test data streams, among which 200 test data streams in the 1000 test data streams belong to the singing category, and 800 test data streams belong to the non-singing category. Similarly, the material information used to train or test the business model to identify the dancing category can be found in Figure 1a The specific implementation method of the second figure shown can be found in Figure 1a It is worth noting that the number and types of the sample data streams and test data streams given above are exemplary, and the embodiments of the present application do not limit the number and types of the sample data streams and test data streams.
[0074] The embodiment of the present application proposes a business processing solution for testing a business model. The architecture diagram of the solution can be found in Figure 1b ;like Figure 1bAs shown, the embodiment of the present application adds an intermediate service at a position between the recognition module and the background server. The intermediate service can refer to the flask service. The flask service is a lightweight framework that can be used to develop websites or web services. In other words, the recognition service provided by the embodiment of the present application is implemented based on the flask service, that is, the various functions provided by the recognition service (such as the function of splitting the live data stream into image frames, the function of identifying image frames, etc.) are all deployed on the flask service, which reduces the workload of developing the recognition service to a certain extent, and is easier to do interface automation testing based on the flask service; the so-called interface automation testing can refer to directly obtaining the live data stream (or test data stream) through the interface for automatic identification, so as to realize the testing of the business model, without the need for manual broadcasting of the live data stream (or test data stream) (such as triggering the video to play) to realize the test.
[0075] Specifically, after adding an intermediate service to the identification service, the background server can actively access the test data stream in the test set (or the live data stream in the live broadcast business) through the interface provided by the intermediate service, without the need for the identification service to actively request the test data stream from the background server every time it is identified. Moreover, through the interface automation test method, the identification of invalid live data streams can be prevented in time, which improves the recognition speed and efficiency to a certain extent; the so-called invalid live data stream may refer to a live data stream whose recognition processing has been cancelled. For example, when the background server detects that the test data stream currently identified by the identification module is an invalid data stream, the background server can actively send the next test data stream to enable the identification module to stop the recognition task of the currently identified test data stream, and receive and start executing the recognition task of the next test data stream. Moreover, only one recognition thread can be created for each live data stream identified, and the previous recognition result can be reused, resulting in better recognition performance.
[0076] based on Figure 1b The schematic diagram of the architecture shown in FIG. 1 and the flowchart of the business processing solution proposed in the embodiment of the present application can be found in FIG. Figure 1c ; The following combination Figure 1b and Figure 1cThe schematic diagram shown briefly introduces the process of the business processing solution proposed in the embodiment of the present application: First, obtain the target live data stream (such as any live data stream) from the live broadcast business; secondly, call the business model to identify and process the target live data stream, and make a decision on the label display of the target live data stream based on the identification result of the business model to obtain a decision result, which indicates whether to display or not display the label in the playback interface of the target live data stream; finally, test the business model based on the decision result of the decision processing. The above process can directly pull the target live data stream from the live broadcast business without the need for the tester to manually start the broadcast; and, the decision result of the target live data stream is used to test the business model, which shortens the link length of the test business model and improves the testing efficiency of the business model.
[0077] The following describes the business processing solutions involved in the embodiments of this application in combination with actual business processing scenarios. Figure 1d , Figure 1d FIG. 1 shows an architecture diagram of a business processing system provided by an exemplary embodiment of the present application; FIG. Figure 1d As shown, the business processing system includes a terminal 101, a terminal 102 and a server 102; wherein, the embodiment of the present application does not limit the naming and number of each terminal (such as terminal 101, terminal 102), and the naming and number of the server. Terminal 101 is a terminal device that can be used to collect images (or videos) of the environment in which the anchor is located. The terminal can be any device with the function of collecting images. Terminal 102 is a terminal used by users who watch live broadcasts (or simply viewers). The terminal 102 can be used to receive and display live data streams. Terminal 101 or terminal 102 may include but is not limited to: smart phones, tablet computers, portable personal computers, mobile Internet devices, smart TVs, car-mounted devices, head-mounted devices, and other smart devices that can be touched. Applications (or simply applications) can be run in both terminal 101 and terminal 102 to realize the function of live broadcast or watching live broadcasts.
[0078] The server 103 may be the background server mentioned above, or the server 103 may be a graphics processing unit (GPU) deployed with an identification service; for ease of explanation, the following description will be made using the server as an example of a device deployed with an identification service. Specifically, the server 103 may be a background server of the terminal 101 or the terminal 102, or the server 103 may be a background server of an application running in the terminal 101 or an application running in the terminal 102, and is used to interact with a terminal running an application (such as the terminal 101 or the terminal 102) to provide computing and application service support for any application. The server 103 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. The terminal (including the payment terminal and the user terminal) and the server may be directly or indirectly connected in communication via wired or wireless means, and the embodiment of the present application does not limit the connection method between the terminal and the server.
[0079] Combine Figure 1d , the overall process of the business processing scenario involved in the embodiment of the present application may include: First, when the anchor opens and uses the terminal 101 for live broadcast, the terminal 101 can collect images of the anchor's environment to obtain a live data stream composed of multiple frames of images. Secondly, the server 103 can pull the live data stream from the terminal 101, and perform identification processing and decision processing on the live data stream to obtain a decision result. Finally, the server 103 tests the business model based on the decision result to test the recognition performance of the business model. Of course, the server 103 also sends the decision result to the terminal 102 used by the viewer, so that the terminal 102 can determine whether to display labels in the playback interface of the live data stream and what category of labels to display based on the decision result. Continue to see Figure 1d After the server 103 processes the live data stream and obtains a decision result, if the decision result indicates that the category label of the target category to which the live data stream belongs is displayed in the playback interface of the live data stream, the category label 104 of the target category is displayed on the playback interface of the live data stream displayed on the terminal 102 used by the viewer; this helps to help viewers quickly understand the actions performed by the anchor and enrich the display content of the playback interface.
[0080] It should be noted that after obtaining the decision result on the live data stream, the server 103 can also return the decision result to the terminal 101 used by the anchor, so that the terminal 101 can determine whether to display the label of the live data stream on the terminal screen and which category of label to display based on the decision result; in this way, the anchor can understand in real time whether the actions he performs are correctly identified by the recognition service, and can provide feedback on problems that arise during the live broadcast more quickly.
[0081] Practice has found that the solution of the embodiment of the present application has significant advantages when testing the business model. The following is an example of comparing the solution of the present application with the existing mainstream solution. The schematic diagram of the architecture of the existing mainstream solution for testing the business model can be found in Figure 1e .like Figure 1e As shown, each time the existing recognition service performs a recognition operation, the tester is required to manually broadcast the test data stream, and then test the business model by observing whether the label is displayed on the terminal screen; making the test link longer, it will consume a lot of test manpower and the test efficiency is not high. The advantages of adopting the solution of the present application are as follows: the business processing solution proposed in the embodiment of the present application adds the flask service in the recognition service, which makes it easier to implement interface automation testing. Compared with the mainstream tester manually broadcasting the test data stream, it is possible to import batches of test data streams into the recognition service through the interface for identification, shortening the test link length of the business model and improving the test efficiency of the business model. In addition, the flask service has also been made into a scoring platform. When there is a live data stream with an error in the feedback of the anchor or operator, the live data stream (or playback data stream, etc.) can be directly input into the scoring platform. The decision value on the scoring platform is used to judge whether the business model accurately identifies the live data stream, thereby achieving rapid problem location, reducing the time for troubleshooting, and reducing the cost of solving the problem.
[0082] Based on the business processing solution described above, the embodiment of the present application proposes a more detailed business processing method. The business processing method proposed in the embodiment of the present application will be described in detail below with reference to the accompanying drawings.
[0083] Figure 2 A flowchart of a business processing method provided by an exemplary embodiment of the present application is shown; the business processing method may be executed by a server, and the business processing method may include but is not limited to steps S201-S204:
[0084] S201: Acquire a target live data stream in a live broadcast service.
[0085] In a specific implementation, the embodiment of the present application supports connecting the live broadcast service to the microservice interface, so as to call the microservice interface to receive the target live broadcast data stream of the live broadcast service. The target live broadcast data stream may refer to any live broadcast data stream contained in the live broadcast service, such as a video stream of a target time period (such as 10 seconds) generated during the live broadcast process. The microservice may include a flask service, and the microservice interface may refer to an interface developed based on the flask service for receiving the target live broadcast data stream. Among them, the live broadcast service can be provided by any application with a live broadcast function. An application refers to a computer program for completing one or more specific tasks. According to the operation mode of the application, the application may include but is not limited to: ① Applications installed and running in the terminal. ② Installation-free applications, that is, applications that can be used without downloading and installing. Such applications are also commonly known as mini-programs, which usually run as sub-programs in the client. ③ Web applications opened through a browser; and so on. The embodiment of the present application does not limit the types of applications that provide live broadcast services, and this is specifically explained here.
[0086] S202: Calling the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream.
[0087] The identification result of the target live data stream may include a decision value indicating that the target live data stream belongs to a target category. The target category corresponds to a business model, i.e., the business model can be used to identify the target category (e.g., dance category, sports category, gymnastics category, etc.). The decision value indicating that the target live data stream belongs to the target category can be used to represent the probability that the target live data stream belongs to the target category. For example, if the decision value indicating that the first target live data stream belongs to the target category is 50%, and the decision value indicating that the second target live data stream belongs to the target category is 70%, then it can be determined that the probability that the second target live data stream belongs to the target category is greater than the probability that the first target live data stream belongs to the target category.
[0088] Among them, the implementation method of calling the business model to perform recognition processing on the target live data stream may include: first, performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream; as described above, the recognition service provided by the embodiment of the present application is implemented based on the Flask service, then the framing processing of the target live data stream can be automatically implemented based on the Flask service, thereby improving the framing speed and efficiency, and thus improving the recognition efficiency. Secondly, calling the business model to perform recognition processing on each image frame to obtain the recognition sub-result of each image frame; the recognition sub-result of any image frame can be used to indicate the probability that any image frame belongs to the target category. Finally, the recognition result of the target live data stream is obtained based on the recognition sub-result of each image frame; specifically, the recognition sub-results of one or more image frames contained in the target live data stream can be weighted and calculated to obtain the recognition result of the target live data stream.
[0089] For example, the target live data stream includes 5 image frames, where the decision value included in the recognition sub-result of image frame 1 is 20%, the decision value included in the recognition sub-result of image frame 2 is 60%, the decision value included in the recognition sub-result of image frame 3 is 50%, the decision value included in the recognition sub-result of image frame 4 is 60%, and the decision value included in the recognition sub-result of image frame 5 is 50%. Then, the decision values included in the recognition sub-results of the 5 image frames are averaged to obtain the recognition result of the target live data stream as (20% + 60% + 50% + 60% + 50%) / 5 = 46%. Of course, in addition to using percentages to express the decision values, decimals, fractions, etc. can also be used to express the decision values of the target live data stream, and this embodiment of the application is not limited to this.
[0090] In addition, the business model mentioned in the embodiment of the present application can support the identification of one category, or support the simultaneous identification of multiple categories. In one implementation, the business model can support the identification of one category. Specifically, assuming that the business model can be used to identify the target category, the business model is used to identify the target live data stream, and the obtained identification result may include a decision value that the target live data stream belongs to the target category. In this implementation, if there is a need to identify multiple categories of the target live data stream, multiple business models that support the identification of different categories can be used simultaneously to identify the target live data stream separately, and obtain the decision value that the target live data stream belongs to each category. For example, assuming that the first business model supports the identification of the first target category and the second business model supports the identification of the second target category, then the first business model is used to identify the target live data stream, and the decision value that the target live data stream belongs to the first target category can be obtained; similarly, the second business model is used to identify the target live data stream, and the decision value that the target live data stream belongs to the second target category can be obtained.
[0091] In other implementations, the business model can support the identification of multiple categories. Specifically, assuming that the business model can support the identification of the first target category and the second target category, then after the business model is used to identify the target live data stream, the identification result obtained may include the decision value that the target live data stream belongs to the first target category and the decision value that the target live data stream belongs to the second target category. For example, the business model can be used to identify the dance category and the singing category, then after the business model is used to identify the target live data stream, the identification result obtained may include the decision value that the target live data stream belongs to the dance category and the singing category. The embodiment of the present application does not limit the types of categories that the business model supports identification, and is explained here.
[0092] S203: Decision processing is performed on the label display of the target live data stream according to the recognition result to obtain a decision result.
[0093] The decision result can be used to indicate whether to display the category label of the target category in the playback interface of the target live data stream. The decision result may include a first decision result, and the first decision result is used to indicate that the category label of the target category is displayed in the playback interface of the target live data stream, that is, the target live data stream belongs to the target category; the decision result may also include a second decision result, and the second decision result is used to indicate that the category label of the target category is not displayed in the playback interface of the target live data stream, that is, the target live data stream does not belong to the target category. In a specific implementation, the decision value contained in the recognition result can be compared with the decision threshold of the target category; if the decision value is greater than the decision threshold, the first decision threshold is obtained, indicating that the target live data stream belongs to the target category; conversely, if the decision value is not greater than (i.e., less than or equal to) the decision threshold, the second decision result is obtained, indicating that the target live data stream does not belong to the target category. Among them, the decision threshold corresponding to each category may not be the same, and the decision threshold can be pre-set by business personnel according to business needs. The embodiment of the present application does not limit the specific value and setting method of the decision threshold, which is explained here.
[0094] For example, suppose a business model is called to identify a target live data stream, and the identification result indicates that the target live data stream belongs to the dance category with a decision value of 80, while the decision threshold of the dance category is 70; then a decision is made on the label display of the target live data stream based on the identification result, and the decision result obtained is the first decision result, that is, the dance label needs to be displayed in the playback interface of the target live data stream. An exemplary schematic diagram of displaying a dance label in the playback interface of the target live data stream can be seen in Figure 3 ,like Figure 3 As shown, a dance tag 3011 is displayed in the playback interface 301 of the target live data stream, which can help viewers quickly understand the category of the target live data stream without the need for viewers to start broadcasting the target live data stream.
[0095] As described in step S202, if different business models are used simultaneously to identify and process the target live data stream, or a business model capable of identifying multiple categories is used to identify and process the target live data stream, then multiple identification results of the target live data stream are obtained, and each identification result corresponds to a category. In this implementation, a decision is made on the label display of the target live data stream based on the multiple identification results. The implementation method for obtaining the decision result may include: assuming that the identification results corresponding to the target live data stream include identification result 1, identification result 2, and identification result 3, and identification result 1 corresponds to the first category, identification result 2 corresponds to the second category, and identification result 3 corresponds to the third category; then the decision value contained in each identification result is compared with the decision threshold of the corresponding category, such as comparing the decision value contained in identification result 1 with the decision threshold of the first category to obtain three decision results; in this way, according to the number of the first decision results and the number of the second decision results included in the three decision results, it can be determined whether to display the category label in the playback interface of the target live data stream, and which category label to display.
[0096] The following takes the number of decision results of the target live data stream as an example, and describes several optional implementation methods for determining which category of category label to display in the playback interface of the target live data stream based on the three decision results. Among them: (1) If each of the three decision results is the second decision result, that is, the target live data stream does not belong to any of the first category, the second category, and the third category, then it is determined that no category label is displayed in the playback interface of the target live data stream. (2) If any of the three decision results is the first decision result, that is, the target live data stream belongs to any of the first category, the second category, and the third category, if the target live data stream belongs to the first category, then it is determined that the category label of the first category is displayed in the playback interface of the target live data stream. (3) If at least two of the three decision results are the first decision results, that is, the target live data stream belongs to at least two categories of the first category, the second category, and the third category, then the category labels of the at least two categories are determined to be displayed in the playback interface of the target live data stream; or, the category labels of one or more categories are randomly selected from the at least two categories for display; or, the target decision value (such as the decision value with the largest value) is selected from the decision values corresponding to the at least two decision results according to the weight, and the category label of the category corresponding to the target decision value is displayed in the playback interface of the target live data stream. The embodiment of the present application does not limit which specific implementation method described above is used to display the category label, and this is explained here.
[0097] Combine Figure 4Taking the example of selecting the category corresponding to the decision value with the largest weight from multiple decision values for label display, a brief explanation of displaying labels in the playback interface of the target live data stream under multiple recognition results is given. Figure 4 , assuming that there is a business model 1 with audio recognition function and a recognition model 2 with video recognition function; wherein, business model 1 can recognize singing category, chat category, music category, etc., and business model 2 can recognize dancing category, sports category, show category, etc. After using business model 1 to identify and process the target live data stream 1, the decision value of the target live data stream 1 belonging to the singing category is 70, and after using business model 2 to identify and process the target live data stream 1, the decision value of the target live data stream 1 belonging to the show is 50; assuming that the decision threshold of the singing category is 60 and the decision threshold of the show category is 40, then it can be determined that the target live data stream belongs to both the singing category and the show category, but because the decision value 70 of the target live data stream belonging to the singing category is greater than the decision value 50 of the target live data stream belonging to the show category, it is determined to display the category label of the singing category in the playback interface of the target live data stream. The category label of the singing category can be as follows Figure 4 The category label 401 shown. Similarly, assuming that the target live data stream 2 is identified and processed using business model 1 and business model 2, the decision value of the target live data stream 2 belonging to the music category is 60 (such as the decision threshold of the music category is 50), and the decision value of the target live data stream 2 belonging to the sports category is 70 (such as the decision threshold of the sports category is 50). It is determined that the target live data stream belongs to both the music category and the dance category. However, since the decision value 70 of the target live data stream belonging to the sports category is greater than the decision value of the target live data stream belonging to the music category, it is determined that the category label of the sports category is displayed in the playback interface of the target live data stream. The category label of the sports category can be as shown below. Figure 4 Category label 402 is shown.
[0098] S204: Testing the business model based on the decision result.
[0099] It is not difficult to understand that the decision result of the target live data stream is obtained by using the business model to identify and process the target live data stream. Therefore, the business model can be tested based on the decision result to measure the recognition performance of the business model. Specifically, the decision result can be compared with the actual label display of the target live data stream (or the expected label display) to obtain a comparison result; if the comparison result indicates that the decision result matches (or is the same as) the expected label display of the target live data stream, then it is determined that the business model correctly identifies the target live data stream; if the comparison result indicates that the decision result does not match the expected label display of the target live data stream, then it is determined that the business model incorrectly identifies the target live data stream; therefore, the decision result of the target live data stream can be used to test the recognition performance of the business model. For example, suppose the business model performs identification and decision processing on the target live data stream, and the decision result obtained indicates that the category label of the dance category is not displayed in the playback interface of the target live data stream; but the category to which the target live data stream actually belongs is the dance category, that is, the dance label should be displayed in the playback interface of the target live data stream, then it is determined that the business model incorrectly identifies the target live data stream, and then it is determined that the business model needs to be optimized. Among them, the expected label display situation of the target live data stream can be fed back by the anchor, or observed by the tester after the target live data stream is broadcast. The embodiment of the present application does not limit the method for determining the expected label display situation of the target live data stream.
[0100] Based on the above description, the embodiment of the present application can also help testers quickly locate problems reported by anchors or operators. For example, assuming that the anchor feedback: no dance tag is displayed in the playback interface of the live data stream, that is, the anchor actually performed a dance move, but no dance tag is displayed in the playback interface of the live data stream, then the live data stream can be input into the recognition service, and the business model performs recognition processing and decision processing on the live data stream. If the decision result indicates that the dance tag of the dance category is displayed in the playback interface of the live data stream, then it is determined that the business model accurately identifies the live data stream, that is, the recognition of the business model is not wrong; at this time, the problem can be located to the link that transmits the decision result to the terminal, that is, there is a problem in the link that returns the decision result to the terminal, resulting in the inability to display the category tag of the dance category in the playback interface of the live data stream. If the decision result indicates that the dance tag of the dance category is not displayed in the playback interface of the live data stream, then it is determined that the business model incorrectly identifies the live data stream (or the recognition effect is poor), and the problem is located to the recognition service so that the business model is optimized. The above process can help quickly locate the problems reported by anchors or operators and improve the efficiency of problem troubleshooting.
[0101] In summary, the embodiment of the present application can obtain the target live data stream in the live broadcast business, and call the business model to perform identification processing and decision processing on the target live data stream, so as to test the business model according to the decision results of the decision processing. In the above scheme, the target live data stream can be directly pulled from the live broadcast business for identification processing and decision processing, without the need for the tester to manually start the broadcast; and the decision results of the target live data stream are used to test the business model. This method of directly pulling the target live data stream from the live broadcast business to test the business model shortens the test link length of the business model and improves the testing efficiency of the business model.
[0102] Figure 5 A flowchart of a business processing method provided by an exemplary embodiment of the present application is shown; the business processing method may be executed by a server, and the business processing method may include but is not limited to steps S501-S507:
[0103] S501: Acquire a target live data stream in a live broadcast service.
[0104] S502: Calling the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream.
[0105] It should be noted that the specific implementation of steps S501-S502 can be found in Figure 2 The relevant description of the specific implementation method of steps S201-S202 in the illustrated embodiment is not repeated here.
[0106] In addition, the live broadcast service may include N stream segments, where N is an integer greater than 1, and the target live broadcast data stream is any one of the N stream segments. The live broadcast service mentioned in the embodiment of the present application may be a service generated when any anchor broadcasts live through an application. In this implementation, the N stream segments included in the live broadcast service are generated when the same anchor broadcasts live (or through the terminal used by the same anchor); or the live broadcast service may also be a service generated when different anchors broadcast live through applications. In this implementation, the N stream segments included in the live broadcast service may be generated when different anchors broadcast live (or through the terminals used by different anchors).
[0107] The categories to which the N stream segments included in the live broadcast service belong may be the same or different. For example: the live broadcast service is generated by a live broadcast by a host. When the host performs dancing movements in the first time period, the category to which the stream segments generated based on the first time period belong is the dancing category; when the host performs singing movements in the second time period, the category to which the stream segments generated based on the second time period belong is the singing category; the first time period and the second time period are different time periods. Another example: the live broadcast service is generated by two hosts. When the movements performed by the two hosts are both dancing, the categories to which the two stream segments generated based on the live broadcasts of the two hosts belong are both the dancing category; when the movements performed by the two hosts are dancing and singing respectively, the categories to which the stream segments generated based on the live broadcasts of the two hosts belong are the dancing category and the singing category respectively. The embodiment of the present application does not limit the categories to which the N stream segments included in the live broadcast service belong.
[0108] The embodiment of the present application supports visual output of the identified recognition results. Specifically, the N stream segments contained in the live broadcast service can be identified and processed to obtain N recognition results of the N stream segments; then, a recognition result curve graph is obtained based on the N recognition results of the N stream segments, so as to realize visual output of the recognition results, and facilitate the testers to directly use the N recognition results; of course, when the live broadcast service only contains the target live broadcast data stream, the recognition result curve graph can also be generated based on the recognition result of the target live broadcast data stream, but the recognition result curve graph at this time only contains the decision value that the target live broadcast data stream belongs to the target category. In the specific implementation, the business model can be called to identify and process the N-1 stream segments other than the target live broadcast data stream in the N stream segments, and obtain the recognition results of the N-1 stream segments; and a recognition result curve graph is generated based on the recognition results of the N-1 stream segments and the recognition results of the target live broadcast data stream. It can be understood that the process of calling the business model to identify and process the N-1 stream segments is the same as Figure 2 The process of calling the business model to identify and process the target live data stream described in the illustrated embodiment is similar and will not be described in detail here.
[0109] The following is combined with Figure 6 An example of generating a recognition result curve chart is given. It is assumed that the business model supports identifying target categories and supports identifying live data streams with a playback length of 10 seconds. The playback time of the live data stream to be identified in the live broadcast business is 120 seconds. The 120-second live data stream can be divided into 12 stream segments with a playback time of 10 seconds, and the target live data stream is any one of the 12 stream segments; and the business model is called to identify and process the 12 stream segments in sequence according to the playback timing of the 12 stream segments, and the 12 recognition results obtained are marked in sequence on the recognition result curve chart to obtain a recognition result curve chart of the 12 stream segments.
[0110] like Figure 6 As shown, assuming that the first stream segment of the data stream (i.e., the playback time period is 00:00-00:10) is identified and processed, the identification result of the first stream segment includes a decision value of 28 for the first stream segment belonging to the target category; the second stream segment of the data stream (i.e., the playback time period is 00:10-00:20) is identified and processed, and the identification result of the second stream segment includes a decision value of 50 for the second stream segment belonging to the target category; and the decision value of the third stream segment (i.e., the playback time period is 00:20-00:30) is 80, the decision value of the fourth stream segment (i.e., the playback time period is 00:30-00:40) is 92, and the decision value of the fifth stream segment (i.e., the playback time period is 00:40-00:50) is 93. The decision value is 91, the decision value of the sixth stream segment (i.e., the playback time period is 00:50-01:00) is 72, the decision value of the seventh stream segment (i.e., the playback time period is 01:00-01:10) is 40, the decision value of the eighth stream segment (i.e., the playback time period is 01:10-01:20) is 44, the decision value of the ninth stream segment (i.e., the playback time period is 01:20-01:30) is 78, the decision value of the tenth stream segment (i.e., the playback time period is 01:30-01:40) is 89, the decision value of the eleventh stream segment (i.e., the playback time period is 01:40-01:50) is 89, and the decision value of the twelfth stream segment (i.e., the playback time period is 01:50-02:00) is 89. Assuming that the decision threshold of the target category is 60, the flow segments with decision values greater than the decision threshold can be quickly determined on the recognition result curve graph, that is, the flow segments corresponding to the decision values above the decision threshold 60. Figure 6 The flow segments whose decision values are greater than the decision threshold include: a third flow segment, a fourth flow segment, a fifth flow segment, a sixth flow segment, a ninth flow segment, a tenth flow segment, an eleventh flow segment, and a twelfth flow segment.
[0111] If the feedback information received from the anchor is: the category label of the target category is not displayed in the playback time period 01:20-01:30, that is, the anchor performed the target category action in the playback time period 01:20-01:30, but did not display the category label of the target category in the playback interface of the stream segment. Then the tester can directly find the decision value of the ninth stream segment corresponding to the playback time period 01:20-01:30 based on the recognition result curve chart, and eliminate the problem based on the comparison result of the decision value of the ninth stream segment and the decision threshold. For example, if the decision value of the ninth stream segment is 74, which is greater than the decision threshold of 60, it is determined that the business model correctly identifies the ninth stream segment, that is, the business model correctly identifies that the ninth stream segment belongs to the target category, and it can be determined that the problem occurs in the link where the decision result is returned to the terminal. In summary, the recognition result curve chart can help testers better locate problems and improve the efficiency of problem troubleshooting.
[0112] It should be noted that Figure 6 This is just an exemplary recognition result curve. In actual applications, the representation of the recognition result curve can also be adaptively changed; for example, the specific data of the decision value can be displayed at the adjacent position of each decision value on the recognition result curve; etc. The embodiment of the present application does not limit the representation of the recognition result curve. In addition, Figure 6 The 12 stream segments included in the live broadcast service are obtained by splitting a complete live broadcast data stream, but it can be understood that the N stream segments included in the live broadcast service can also be separate stream segments themselves. The embodiment of the present application does not limit the method for determining the stream segments included in the live broadcast service.
[0113] S503: Decision processing is performed on the label display of the target live data stream according to the recognition result to obtain a decision result.
[0114] It should be noted that the specific implementation of step S503 can be found in Figure 2 The description of the specific implementation of step S203 in the illustrated embodiment is omitted here.
[0115] S504: Obtain a reference annotation of the target live data stream.
[0116] The reference annotation of the target live data stream can be used to indicate whether the category label of the target category should be displayed or not displayed in the playback interface of the target live data stream; in other words, the reference annotation of the target live data stream includes the correct decision result of the target live data stream. Among them, the reference annotation of the target live data stream can come from the anchor, such as the anchor actively providing feedback on the category of the action they performed; or the reference annotation can be annotated by the tester after the target live data stream is broadcast; etc. The embodiment of the present application does not limit the method for determining the reference annotation of the target live data stream, which is explained here.
[0117] S505: Compare the decision result with the reference annotation.
[0118] S506: If the decision result matches the reference annotation, it is determined that the recognition performance of the business model meets the test requirements.
[0119] S507: If the decision result does not match the reference annotation, it is determined that the recognition performance of the business model does not meet the test requirements.
[0120] In steps S505-S507, after obtaining the reference annotation of the target live data stream, the decision result of the identified target live data stream can be compared with the reference annotation to determine whether the business model accurately identifies the target live data stream. If the decision result obtained after calling the business model to perform identification processing and decision processing on the target live data stream matches the reference annotation (if the same), that is, the business model accurately identifies the target category to which the target live data stream belongs, then it is determined that the recognition performance of the business model meets the test requirements. Conversely, if the decision result obtained after calling the business model to perform identification processing and decision processing on the target live data stream does not match the reference annotation (if the same), that is, the business model incorrectly identifies the category to which the target live data stream belongs, then it is determined that the recognition performance of the business model does not meet the test requirements.
[0121] In addition to testing the business model based on the decision results of the target live data stream as shown in steps S505-S507, embodiments of the present application also support testing the business model using a test set. In a specific implementation, the test set is used to test the business model, the target live data stream is a stream segment in the test set, and the test set includes M stream segments and reference labels corresponding to each stream segment, where M is an integer greater than 1. The implementation method of testing the business model using the test set may include:
[0122] ① Call the business model to identify and process M-1 stream segments among the M stream segments except the target live data stream, and obtain the identification results of the M-1 stream segments; the identification result of any stream segment includes the decision value that the any stream segment belongs to the target category. ② Perform decision processing on each stream segment among the M-1 stream segments based on the identification results of the M-1 stream segments, and obtain the decision results of the M-1 stream segments. The decision result of any stream segment indicates whether the category label of the target category is displayed in the playback interface of the any stream segment. ③ Compare the decision results of the M-1 stream segments and the decision results of the target live data stream with the corresponding reference annotations; in other words, compare the decision results of each stream segment with the corresponding reference annotation to obtain whether the decision results of each stream segment match the corresponding reference annotation. ④ Count the target number of stream segments whose decision results match the reference annotations, and generate a performance test result for the business model test based on the target number and M stream segments; if the performance test result is greater than the test result threshold, it is determined that the recognition performance of the business model meets the test requirements; if the performance test result is not greater than the test result threshold, it is determined that the recognition performance of the business model does not meet the test requirements. The performance test result is obtained by dividing the target number of stream segments whose decision results match the reference annotations by the total number of stream segments contained in the test set (i.e., M). This performance test result can reflect the accuracy of business model recognition.
[0123] For example, suppose the test set contains 6 (i.e., M = 6) stream segments, the business model supports target category recognition, and the decision threshold for the target category is 50. The business model is invoked to perform recognition processing on each stream segment in the test set, resulting in 6 recognition results. Based on the 6 recognition results, a decision is performed on each stream segment, resulting in 6 decision results. The 6 recognition results and the corresponding decision results for each stream segment are shown in Table 1.
[0124] Table 1
[0125] Stream fragments Recognition result (decision value) Decision results Reference Marking Stream fragment 1 20 Do not display category labels Do not display category labels Stream fragment 2 55 Display category labels Do not display category labels Stream fragment 3 60 Display category labels Display category labels Stream segment 4 46 Do not display category labels Do not display category labels Stream segment 5 70 Display category labels Display category labels Stream segment 6 80 Display category labels Display category labels
[0126] As shown in Table 1, the six flow segments whose decision results match the corresponding reference annotations include: flow segment 1, flow segment 3, flow segment 4, flow segment 5, and flow segment 6. The process of calculating the performance test results (or accuracy) of the business model can be seen in Table 2.
[0127] Table 2
[0128]
[0129] Assuming the test result threshold is 80%, then if the performance test result of the business model is determined to be 83.33% greater than the test result threshold of 80%, it is determined that the recognition performance of the business model meets the test requirements, indicating that the recognition performance of the business model is good. The test result threshold can be pre-set by business personnel based on business needs. The test result threshold for each business model may be different. This embodiment of the application does not limit the method for determining the test result threshold or the specific value. This is explained here.
[0130] In addition, after determining that the recognition performance of the business model does not meet the test requirements, the embodiment of the present application also supports optimizing the business model to improve the recognition performance of the business model. Specifically, the business model can be trained with a training set to obtain an optimized business model; wherein the training set is used to train the business model, and the training set may include at least one training stream segment and a preset label for each training stream segment, and at least one training stream segment may include: a stream segment whose decision result in the test set does not match the corresponding reference label. That is, after the business model is tested with the test set, the test stream segment whose decision result does not match the corresponding reference label can be added to the training set. This not only enriches the number of training stream segments in the training set, but also enables targeted training of the business model. For example, during the test process, it is found that the business model has a poor recognition effect on a certain type of test data stream (such as a test data stream that includes a motion animation cartoon played by the anchor), then this type of test data stream is added to the training set for training, so that the optimized business model can better recognize this type of data stream.
[0131] Among them, an implementation method for finding stream segments in the test set that can be added to the training set as training stream segments may include: first, filtering out stream segments from the test set whose reference annotations indicate that category labels should be displayed in the playback interface. In the embodiment of the present application, the stream segments that should display category labels in the playback interface are called positive stream segments, and the stream segments that should not display category labels in the playback interface are called negative stream segments; secondly, using the business model to identify and process these filtered positive stream segments, obtain the identification results of each positive stream segment, and further obtain the identification result curve corresponding to the positive stream segments in the test set; finally, detecting the positive stream segments whose decision values in the identification result curve are lower than the decision threshold, wherein the positive stream segments whose decision values are lower than the decision threshold are stream segments whose categories cannot be identified by the business model, and then adding the positive stream segments whose decision values are lower than the decision threshold to the training set. Through the above process, it is convenient for testers to quickly find stream segments that can be used to train business models based on the identification result curve. Compared with analyzing a large number of identification results one by one, the rate of finding stream segments for training business models can be improved.
[0132] Combined with attachment Figure 7The above implementation is introduced as follows: Figure 7 As shown, assuming the test set contains 12 positive stream segments, and the business model supports identifying the target category, with a decision threshold of 50 for the target category; then, after identifying and processing the 12 positive stream segments, 12 recognition results are obtained, which form a curve in the recognition result curve graph; among them, the positive stream segments with decision values lower than the decision threshold include positive stream segment 2, positive stream segment 5, and positive stream segment 8. In other words, if it is determined that the business model cannot accurately identify the categories to which positive stream segment 2, positive stream segment 5, and positive stream segment 8 belong, then positive stream segment 2, positive stream segment 5, and positive stream segment 8 are determined to be training stream segments added to the training set. This method of searching for training stream segments used to train the business model from the recognition result curve graph improves the speed of finding training stream segments.
[0133] In the embodiment of the present application, the target live data stream can be directly pulled from the live broadcast business for identification processing and decision processing, without the need for the tester to manually start the broadcast; and the decision result of the target live data stream is used to test the business model. This method of directly pulling the target live data stream from the live broadcast business to test the business model shortens the test link length of the business model and improves the testing efficiency of the business model. Alternatively, a test set can be used to test the business model, and the test set includes the target live data stream. In this way, the accuracy of the business model can be obtained through more test data streams, and the recognition performance of the business model can be determined. In addition, the test data streams that the business model in the test set cannot recognize can also be added to the training set for secondary training optimization of the business model, which not only enriches the number of sample data streams in the training set, but also enables targeted testing of the business model.
[0134] The above describes in detail the method of the embodiment of the present application. In order to facilitate better implementation of the above scheme of the embodiment of the present application, the device of the embodiment of the present application is provided below accordingly.
[0135] Figure 8 A schematic diagram of the structure of a business processing device provided by an exemplary embodiment of the present application is shown; the business processing device can be used as a computer program (including program code) running on a server; the business processing device can be used to execute Figure 2 as well as Figure 5 Some or all of the steps in the method embodiment shown. Figure 8 , the service processing device includes the following units:
[0136] An acquisition unit 801 is configured to acquire a target live data stream in a live broadcast service;
[0137] The processing unit 802 is configured to call the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream, wherein the identification result includes a decision value indicating whether the target live data stream belongs to a target category;
[0138] The processing unit 802 is further configured to perform decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and
[0139] The processing unit 802 is further configured to test the business model based on the decision result.
[0140] In one implementation, the live broadcast service is connected to the microservice interface; the processing unit 802 is configured to, when obtaining the target live broadcast data stream in the live broadcast service, specifically:
[0141] Call the microservice interface to receive the target live data stream of the live broadcast business.
[0142] In one implementation, the processing unit 802 is configured to, when calling the service model to perform identification processing on the target live data stream and obtaining an identification result of the target live data stream, specifically:
[0143] Performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream;
[0144] Call the business model to perform recognition processing on each image frame to obtain the recognition sub-result of each image frame;
[0145] The recognition result of the target live data stream is calculated based on the recognition sub-result of each image frame.
[0146] In one implementation, the decision result includes a first decision result; the processing unit 802 is configured to perform decision processing on the label display of the target live data stream according to the recognition result, and when the decision result is obtained, specifically to:
[0147] Compare the decision value to the decision threshold of the target class;
[0148] If the decision value is greater than the decision threshold, a first decision result is obtained, and the first decision result is used to indicate the category label of the target category to be displayed in the playback interface of the target live data stream.
[0149] In one implementation, the decision result includes a second decision result; and the processing unit 802 is further configured to:
[0150] If the decision value is not greater than the decision threshold, a second decision result is obtained, and the second decision result is used to indicate that the category label of the target category is not displayed in the playback interface of the target live data stream.
[0151] In one implementation, the live broadcast service includes N stream segments, where N is an integer greater than 1, and the target live broadcast data stream is any one of the N stream segments; the processing unit 802 is further configured to:
[0152] Calling the business model to identify and process N-1 stream segments other than the target live data stream among the N stream segments, and obtaining identification results of the N-1 stream segments;
[0153] A recognition result curve graph is generated based on the recognition results of the N-1 stream segments and the recognition result of the target live data stream.
[0154] In one implementation, the processing unit 802 is configured to, when testing the business model based on the decision result, specifically:
[0155] Obtaining a reference annotation of a target live data stream, where the reference annotation indicates whether a category label of a target category should be displayed or not displayed in a playback interface of the target live data stream;
[0156] Compare the decision results with the reference annotations;
[0157] If the decision result matches the reference annotation, it is determined that the recognition performance of the business model meets the test requirements;
[0158] If the decision result does not match the reference annotation, it is determined that the recognition performance of the business model cannot meet the test requirements.
[0159] In one implementation, the target live data stream is a stream segment in a test set, the test set includes M stream segments and a reference label corresponding to each stream segment, where M is an integer greater than 1; the test set is used to test the service model; and the processing unit 802 is configured to, when testing the service model based on the decision result, specifically:
[0160] Calling the business model to identify and process M-1 stream segments other than the target live data stream among the M stream segments, and obtaining identification results of the M-1 stream segments;
[0161] Performing decision processing on each of the M-1 stream segments according to the recognition results of the M-1 stream segments to obtain decision results for the M-1 stream segments;
[0162] Compare the decision results of the M-1 stream segments and the decision results of the target live data stream with the corresponding reference annotations;
[0163] A target number of flow segments whose decision results match the reference annotations is counted, and a performance test result for the service model test is generated based on the target number and the M flow segments.
[0164] In one implementation, the processing unit 802 is further configured to:
[0165] If the performance test result is greater than the test result threshold, it is confirmed that the recognition performance of the business model meets the test requirements;
[0166] If the performance test result is not greater than the test result threshold, it is determined that the recognition performance of the business model does not meet the test requirements.
[0167] In one implementation, if the recognition performance of the service model does not meet the test requirements, the processing unit 802 is further configured to:
[0168] Add the flow segments whose decision results do not match the reference annotations to the training set, which is used to train the business model;
[0169] The business model is trained using the training set to obtain an optimized business model.
[0170] According to one embodiment of the present application, Figure 8 The various units in the business processing device shown can be individually or completely combined into one or several other units to form a whole, or one (or some) of the units can be further divided into multiple functionally smaller units to form a whole, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above-mentioned units are divided based on logical functions. In actual applications, the functions of one unit can also be realized by multiple units, or the functions of multiple units can be realized by one unit. In other embodiments of the present application, the business processing device may also include other units. In actual applications, these functions can also be implemented with the assistance of other units and can be implemented by the collaboration of multiple units. According to another embodiment of the present application, the following can be executed by running on a general-purpose computing device such as a computer that includes processing elements and storage elements such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM). Figure 2 as well as Figure 5 A computer program (including program code) for each step of the corresponding method shown in FIG. Figure 8 The business processing device shown in and the business processing method of the embodiment of the present application are implemented. The computer program can be recorded on a computer-readable recording medium, for example, and loaded into the above-mentioned computing device through the computer-readable recording medium and run therein.
[0171] In the embodiment of the present application, the acquisition unit 801 can be used to obtain the target live data stream in the live broadcast business, and the processing unit 802 calls the business model to perform identification processing and decision processing on the target live data stream, so as to test the business model according to the decision result of the decision processing. In the above scheme, the target live data stream can be directly pulled from the live broadcast business for identification processing and decision processing, without the need for the tester to manually start the broadcast; and the decision result of the target live data stream is used to test the business model. This method of directly pulling the target live data stream from the live broadcast business to test the business model shortens the test link length of the business model and improves the test efficiency of the business model.
[0172] Figure 9 A schematic diagram of the structure of a business processing device provided by an exemplary embodiment of the present application is shown. Figure 9 , the business processing device at least includes a processor 901, a communication interface 902 and a computer-readable storage medium 903. The processor 901, the communication interface 902 and the computer-readable storage medium 903 can be connected via a bus or other means. The communication interface 902 is used to receive and send data. The computer-readable storage medium 903 can be stored in the memory of the business processing device. The computer-readable storage medium 903 is used to store computer programs. The computer programs include program instructions. The processor 901 is used to execute the program instructions stored in the computer-readable storage medium 903. The processor 901 (or CPU (Central Processing Unit)) is the computing core and control core of the business processing device, which is suitable for implementing one or more instructions, and is specifically suitable for loading and executing one or more instructions to implement the corresponding method flow or corresponding function.
[0173] The embodiment of the present application also provides a computer-readable storage medium (Memory), which is a memory device in a business processing device for storing programs and data. It can be understood that the computer-readable storage medium here can include both built-in storage media in the business processing device and, of course, extended storage media supported by the business processing device. The computer-readable storage medium provides a storage space that stores the processing system of the business processing device. In addition, one or more instructions suitable for being loaded and executed by the processor 901 are also stored in the storage space. These instructions can be one or more computer programs (including program codes). It should be noted that the computer-readable storage medium here can be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage; optionally, it can also be at least one computer-readable storage medium located away from the aforementioned processor.
[0174] In one embodiment, the service processing device may be the graphics processor mentioned in the aforementioned embodiment; the computer-readable storage medium stores one or more instructions; the processor 901 loads and executes the one or more instructions stored in the computer-readable storage medium to implement the corresponding steps in the aforementioned service processing method embodiment; in a specific implementation, the processor 901 loads the one or more instructions in the computer-readable storage medium and executes the following steps:
[0175] Obtain the target live data stream in the live broadcast service;
[0176] Calling the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream, the identification result including a decision value of whether the target live data stream belongs to the target category;
[0177] Perform decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and
[0178] Test the business model based on the decision results.
[0179] In one implementation, the live broadcast service is connected to the microservice interface; one or more instructions in the computer-readable storage medium are loaded by the processor 901 and are specifically used to perform the following steps when obtaining the target live broadcast data stream in the live broadcast service:
[0180] Call the microservice interface to receive the target live data stream of the live broadcast business.
[0181] In one implementation, one or more instructions in the computer-readable storage medium are loaded by the processor 901 and are used to perform the following steps when the service model is called to identify and process the target live data stream and obtain an identification result of the target live data stream:
[0182] Performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream;
[0183] Call the business model to perform recognition processing on each image frame to obtain the recognition sub-result of each image frame;
[0184] The recognition result of the target live data stream is calculated based on the recognition sub-result of each image frame.
[0185] In one implementation, the decision result includes a first decision result; one or more instructions in the computer-readable storage medium are loaded by the processor 901 and are used to perform decision processing on the label display of the target live data stream based on the recognition result. When the decision result is obtained, the processor 901 is specifically used to execute the following steps:
[0186] Compare the decision value to the decision threshold of the target class;
[0187] If the decision value is greater than the decision threshold, a first decision result is obtained, and the first decision result is used to indicate the category label of the target category to be displayed in the playback interface of the target live data stream.
[0188] In one implementation, the decision result includes a second decision result; and the one or more instructions in the computer-readable storage medium are loaded by the processor 901 and further configured to perform the following steps:
[0189] If the decision value is not greater than the decision threshold, a second decision result is obtained, and the second decision result is used to indicate that the category label of the target category is not displayed in the playback interface of the target live data stream.
[0190] In one implementation, the live broadcast service includes N stream segments, where N is an integer greater than 1, and the target live broadcast data stream is any one of the N stream segments; one or more instructions in the computer-readable storage medium are loaded by the processor 901 and further configured to execute the following steps:
[0191] Calling the business model to identify and process N-1 stream segments other than the target live data stream among the N stream segments, and obtaining identification results of the N-1 stream segments;
[0192] A recognition result curve graph is generated based on the recognition results of the N-1 stream segments and the recognition result of the target live data stream.
[0193] In one implementation, one or more instructions in the computer-readable storage medium are loaded by the processor 901 and are specifically used to perform the following steps when testing the business model based on the decision result:
[0194] Obtaining a reference annotation of a target live data stream, where the reference annotation indicates whether a category label of a target category should be displayed or not displayed in a playback interface of the target live data stream;
[0195] Compare the decision results with the reference annotations;
[0196] If the decision result matches the reference annotation, it is determined that the recognition performance of the business model meets the test requirements;
[0197] If the decision result does not match the reference annotation, it is determined that the recognition performance of the business model cannot meet the test requirements.
[0198] In one implementation, the target live data stream is a stream segment in a test set, the test set includes M stream segments and a reference label corresponding to each stream segment, where M is an integer greater than 1; the test set is used to test the service model; and one or more instructions in the computer-readable storage medium are loaded by the processor 901 and are specifically used to perform the following steps when testing the service model based on the decision result:
[0199] Calling the business model to identify and process M-1 stream segments other than the target live data stream among the M stream segments, and obtaining identification results of the M-1 stream segments;
[0200] Performing decision processing on each of the M-1 stream segments according to the recognition results of the M-1 stream segments to obtain decision results for the M-1 stream segments;
[0201] Compare the decision results of the M-1 stream segments and the decision results of the target live data stream with the corresponding reference annotations;
[0202] A target number of flow segments whose decision results match the reference annotations is counted, and a performance test result for the service model test is generated based on the target number and the M flow segments.
[0203] In one implementation, one or more instructions in the computer-readable storage medium are loaded by the processor 901 and further configured to perform the following steps:
[0204] If the performance test result is greater than the test result threshold, it is confirmed that the recognition performance of the business model meets the test requirements;
[0205] If the performance test result is not greater than the test result threshold, it is determined that the recognition performance of the business model does not meet the test requirements.
[0206] In one implementation, if the recognition performance of the business model does not meet the test requirements, one or more instructions in the computer-readable storage medium are loaded by the processor 901 and further configured to perform the following steps:
[0207] Add the flow segments whose decision results do not match the reference annotations to the training set, which is used to train the business model;
[0208] The business model is trained using the training set to obtain an optimized business model.
[0209] In an embodiment of the present application, the communication interface 902 can obtain the target live data stream in the live broadcast business, and the processor 901 calls the business model to perform identification processing and decision processing on the target live data stream, so as to test the business model according to the decision results of the decision processing. In the above scheme, the target live data stream can be directly pulled from the live broadcast business for identification processing and decision processing, without the need for the tester to manually start the broadcast; and the decision results of the target live data stream are used to test the business model. This method of directly pulling the target live data stream from the live broadcast business to test the business model shortens the test link length of the business model and improves the test efficiency of the business model.
[0210] The present application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a service processing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the service processing device to perform the above-described service processing method.
[0211] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0212] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0213] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A business processing method, characterized in that: The method is applied to a server, wherein an identification service is deployed in the server, and a flask service is added to the identification service; the flask service is used to implement interface automation testing, and the interface automation testing refers to importing the target live data stream in the live broadcast business into the identification service for identification through the microservice interface; the method includes: Calling the microservice interface to actively obtain the target live data stream in the live broadcast business; the microservice interface is developed based on the flask service and is used to receive the target live data stream; Sending the target live data stream to the identification service, causing the identification service to call a business model to perform identification processing on the target live data stream, and obtaining an identification result of the target live data stream, wherein the identification result includes a decision value indicating that the target live data stream belongs to a target category; Performing decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and testing the business model based on the decision result; Invoking a service model to perform identification processing on N-1 stream segments other than the target live data stream among the N stream segments included in the live service, to obtain identification results of the N-1 stream segments; N is an integer greater than 1, and the target live data stream is any one of the N stream segments; Generate a recognition result curve graph based on the recognition results of the N-1 stream segments and the recognition result of the target live data stream; If feedback information is received from the anchor, the decision value of the stream segment corresponding to the playback time period included in the feedback information is searched from the recognition result curve chart according to the feedback information, and the problem of the live broadcast service is eliminated based on the comparison result of the decision value of the stream segment and the decision threshold.
2. The method according to claim 1, wherein The calling of the business model to perform identification processing on the target live data stream to obtain an identification result of the target live data stream includes: Performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream; Calling the business model to perform recognition processing on each image frame to obtain a recognition sub-result of each image frame; The recognition result of the target live data stream is calculated based on the recognition sub-result of each image frame.
3. The method according to claim 2, wherein The decision result includes a first decision result; the decision processing of the label display of the target live data stream according to the recognition result to obtain a decision result includes: comparing the decision value with a decision threshold for the target class; If the decision value is greater than the decision threshold, the first decision result is obtained, and the first decision result is used to indicate that the category label of the target category is displayed in the playback interface of the target live data stream.
4. The method according to claim 3, wherein The decision result includes a second decision result; and the method further includes: If the decision value is not greater than the decision threshold, the second decision result is obtained, and the second decision result is used to indicate that the category label of the target category is not displayed in the playback interface of the target live data stream.
5. The method according to claim 1, wherein The testing of the business model based on the decision result includes: Obtaining a reference annotation of the target live data stream, the reference annotation indicating whether a category label of the target category should be displayed or not displayed in a playback interface of the target live data stream; comparing the decision result with the reference mark; If the decision result matches the reference annotation, it is determined that the recognition performance of the business model meets the test requirements; If the decision result does not match the reference annotation, it is determined that the recognition performance of the business model cannot meet the test requirements.
6. The method according to claim 1, wherein The target live data stream is a stream segment in a test set, and the test set includes M stream segments and a reference annotation corresponding to each stream segment, where M is an integer greater than 1; The test set is used to test the business model; The testing of the business model based on the decision result includes: Calling the business model to perform identification processing on M-1 stream segments other than the target live data stream among the M stream segments, to obtain identification results of the M-1 stream segments; performing decision processing on each of the M-1 stream segments according to the recognition results of the M-1 stream segments to obtain decision results of the M-1 stream segments; Comparing the decision results of the M-1 stream segments and the decision result of the target live data stream with corresponding reference annotations; A target number of flow segments whose decision results match the reference annotation is counted, and a performance test result of the service model test is generated based on the target number and the M flow segments.
7. The method according to claim 6, wherein The method further comprises: If the performance test result is greater than the test result threshold, it is determined that the recognition performance of the business model meets the test requirements; If the performance test result is not greater than the test result threshold, it is determined that the recognition performance of the business model does not meet the test requirements.
8. The method according to any one of claims 5 or 6, wherein: If the recognition performance of the business model does not meet the test requirements, the method further includes: adding the flow segments whose decision results do not match the reference annotations to a training set, wherein the training set is used to train the business model; The business model is trained using the training set to obtain an optimized business model.
9. A service processing device, characterized in that: The device is mounted on a server, an identification service is deployed in the server, and a flask service is added to the identification service; the flask service is used to implement interface automation testing, and the interface automation testing refers to importing the target live data stream in the live broadcast business into the identification service for identification through the microservice interface; The device comprises: An acquisition unit is configured to call the microservice interface to actively acquire a target live data stream in a live broadcast service; the microservice interface is developed based on the flask service and is configured to receive the target live data stream; a processing unit, configured to send the target live data stream to the identification service, so that the identification service calls a business model to perform identification processing on the target live data stream, and obtain an identification result of the target live data stream, wherein the identification result includes a decision value indicating that the target live data stream belongs to a target category; The processing unit is further configured to perform decision processing on the label display of the target live data stream according to the recognition result to obtain a decision result; and The processing unit is further configured to test the business model based on the decision result; Invoking a service model to perform identification processing on N-1 stream segments other than the target live data stream among the N stream segments included in the live service, to obtain identification results of the N-1 stream segments; N is an integer greater than 1, and the target live data stream is any one of the N stream segments; Generate a recognition result curve graph based on the recognition results of the N-1 stream segments and the recognition result of the target live data stream; If feedback information is received from the anchor, the decision value of the stream segment corresponding to the playback time period included in the feedback information is found from the recognition result curve chart based on the feedback information, and the problem of the live broadcast service is eliminated based on the comparison result of the decision value of the stream segment and the decision threshold.
10. The device according to claim 9, wherein The processing unit is used to call the business model to identify the target live data stream and obtain the identification result of the target live data stream, and is used to: Performing frame processing on the target live data stream to obtain one or more image frames of the target live data stream; Calling the business model to perform recognition processing on each image frame to obtain a recognition sub-result of each image frame; The recognition result of the target live data stream is calculated based on the recognition sub-result of each image frame.
11. A business processing device, characterized in that: include: a processor adapted to execute a computer program; A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by the processor, the business processing method according to any one of claims 1 to 8 is implemented.
12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor and executing the service processing method according to any one of claims 1 to 8.
13. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to implement the service processing method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Picture annotation data acquiring method and system
CN107832662A
Video data transmission method and device, server and computer readable storage medium
CN111711801A
Target identification method and apparatus, and electronic device
CN112101156A