A method and device for testing an intelligent camera

CN115516431BActive Publication Date: 2026-10-09HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080100243.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-28
Publication Date
2026-10-09
Estimated Expiration
2040-04-28

AI Technical Summary

Technical Problem

[0005]本申请提供一种智能摄像头的测试方法及装置,解决了现有技术中智能摄像头的测试操作较复杂且不够直观和灵活,测试效率较低的问题

Benefits of technology

[0099] Understandably, any of the smart camera testing devices, computer-readable storage media, and computer program products provided above can be used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115516431B_ABST
    Figure CN115516431B_ABST
Patent Text Reader

Abstract

The application provides a kind of intelligent camera test method and device, it is related to computer technology field, for solving the problem of complex operation in prior art for the test of intelligent camera, test operation is not intuitive and flexible, and test efficiency is low.The method comprises: the first device sends test code stream to the second device, and the test code stream comprises multiple test images;The first device receives the test result code stream sent from the second device, and the test result code stream comprises multiple test result images, the test result image is obtained by superimposing the recognition result information corresponding to the test image on the test result image, and the recognition result information is obtained by the second device by artificial intelligence (AI) recognition on the test image;The first device controls the test code stream and the test result code stream to be displayed on the display together.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a testing method and apparatus for a smart camera. Background Technology

[0002] Currently, the application of intelligent cameras (AI Cameras, AICs) is becoming increasingly widespread. They utilize built-in artificial intelligence (AI) algorithms for computation. For example, AI calculations can detect and identify objects in images or perform image segmentation. Therefore, in the AIC field, after developers complete the parameter training of the AI ​​algorithm and update it into the AIC, they typically need to run the updated AI algorithm within the AIC to test it and confirm whether the updated AI algorithm can accurately identify the photographed objects or whether it solves the intended problem.

[0003] In existing testing technologies, AIC obtains the test bitstream or test video, runs the AI ​​algorithm to identify and calculate the test bitstream or test video frame by frame, superimposes the test video frames with the test results obtained from the AI ​​calculations, and sends them to the test computer frame by frame. The test results are then viewed on the test computer, and compared frame by frame with the original test bitstream or test video to obtain the test conclusions for the AI ​​algorithm.

[0004] The aforementioned testing techniques allow testers to view the test result stream frame by frame on the test computer, but they cannot synchronously compare the test result stream with the test stream, nor can they perform tests by pausing, fast-forwarding, dragging, or positioning by time. The testing operation is complex, not intuitive or flexible, and has low testing efficiency. Summary of the Invention

[0005] This application provides a testing method and apparatus for smart cameras, which solves the problems of complex, unintuitive, and inflexible testing operations and low testing efficiency of smart cameras in the prior art.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] In a first aspect, a testing method for a smart camera is provided, applied to a first device. The method includes: the first device sending a test stream to a second device, the test stream including multiple test images; the first device receiving a test result stream sent from the second device, the test result stream including multiple test result images, the test result images being obtained by superimposing recognition result information onto test images corresponding to the test result images, the recognition result information being obtained by the second device through artificial intelligence (AI) recognition of the test images; and the first device controlling the test stream and the test result stream to be displayed together on a display.

[0008] In the above technical solution, the first device acquires multiple test images and sends them to the second device for AI calculation. After receiving the test result image sent by the second device, the first device actively controls the display of the test stream and the test result stream on the screen. This allows the tester to compare the test stream and the test result stream, making it easier to identify problematic images in the test result stream. This eliminates the need for manual control by the tester, improves the intuitiveness and efficiency of testing smart cameras, and simplifies the testing process.

[0009] In one possible design, the first device sends the test stream to the second device, specifically including: the first device acquiring multi-frame test images of the test stream frame by frame from a first player or decoder, wherein the first player is a player that plays the test stream; and the first device sending the multi-frame test images frame by frame to the second device.

[0010] In the above possible implementations, the first device can acquire multiple test images frame by frame through a player or decoder and then send the acquired test images to the second device. Thus, the first device can receive the test result images obtained by the second device after performing AI recognition on the test images in real time. Furthermore, the first device controls the test bitstream and the test result bitstream to be displayed together on the display for testing, thereby improving the intuitiveness of the technicians in comparing the test images and test result images and improving testing efficiency.

[0011] In one possible design, the first device sends the test stream to the second device, specifically including: when the first player is playing the test stream, the first device obtains a target test image from the first player, the target test image being the test image currently being played by the first player; the first device then sends the target test image to the second device.

[0012] In the aforementioned possible implementations, the first device can send the test image currently being played by the first player to the second device in real time. This allows the second device to perform AI recognition processing on the test image sent by the first device in real time and send the corresponding test result image back to the first device. Alternatively, the first device can send the currently playing test image to the second device, and after the second device performs AI recognition, it can return the test result image to the first device for synchronized playback. There is a certain test delay between the first device sending the test image to the second device and the first device receiving the returned test result image. This delay can be understood as the playback delay between the test image and the test result image. Since the time required to process one frame is very short, this test delay is usually small, allowing for approximately synchronized playback of the test image and the test result image. In one possible scenario, for example, when this test delay is less than the time interval between frame-by-frame playback of the test image by the first player, the playback of the test stream and the test result stream on the first device is strictly synchronized. This allows testers to simultaneously compare and view the test image and its corresponding test result image, significantly improving the intuitiveness and flexibility of intelligent camera comparison testing and increasing testing efficiency.

[0013] In one possible design, the first device acquires multi-frame test images of the test bitstream frame by frame from the first player or decoder. Specifically, the first device acquires multi-frame original test images of the test bitstream, and performs at least one of image compression, format conversion, or resolution adjustment on the original test images frame by frame to obtain multi-frame test images of the test bitstream.

[0014] In the above possible implementations, the first device can compress the acquired original test image, resulting in a smaller storage space occupied by the test image, thereby reducing the transmission delay when the first device sends multiple frames of test images to the second device. Furthermore, the first device can also adjust the resolution of the acquired original test image so that the resolution of the processed test image is compatible with the AI ​​recognition algorithm of the second device; alternatively, the first device can also convert the format of the original test image, for example, adjusting it to a format that the AI ​​recognition algorithm of the second device can process, thus improving the efficiency of synchronous comparison testing.

[0015] In one possible design, the first device controls the test stream and the test result stream to be displayed together on the display, specifically including: the first device controlling the first player to play the test stream; and after the first device receives the test result stream sent from the second device, controlling the second player to play the test result stream.

[0016] In the above possible implementations, while the first device controls the first player to play the test stream, the first device also uses the second player to play the test result stream received in real time. Thus, the first player and the second player can play the test stream and the test result stream simultaneously on the same display interface, which is convenient for testers to compare and view the test stream and the test result stream, and improves the efficiency of synchronous comparison testing.

[0017] In one possible design, the first device controls the test stream and the test result stream to be displayed together on the display, specifically including: the first device controls the test image and the test result image corresponding to the test image to be displayed synchronously.

[0018] In the above possible implementations, the first device controls the synchronous display of the test image and the test result image corresponding to the test image, which can facilitate the tester to perform frame-by-frame comparison tests of the test image and the test result image corresponding to the test image, or locate the test image to compare and view the specified test image with the test result image corresponding to the test image, thereby improving the flexibility of synchronous testing and further improving the testing efficiency of the smart camera.

[0019] In one possible design, the first device controls the synchronous display of the test image and the corresponding test result image, specifically including: the first device controls the second player to play the test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

[0020] In the above possible implementations, the first device controls the test image and the corresponding test result image to be displayed synchronously by adjusting the playback rate of the test bitstream played by the first player, that is, adjusting the time interval between adjacent frames of the multi-frame test image played by the first player. This facilitates the test personnel to synchronously compare and view the test image and the corresponding test result image, thereby improving the efficiency of synchronous comparison testing.

[0021] In one possible design, when the playback rate of the test stream played by the first player makes the playback interval between adjacent frames less than the test delay, the playback rate of the first player is reduced so that the playback interval between adjacent frames is greater than the test delay. The test delay is the time difference between the first device sending the test image to the second device and receiving the test result image returned by the second device.

[0022] In the above possible implementations, when the playback interval between adjacent frames of the test bitstream controlled by the first device to play the first player is greater than the test delay, the playback of the test bitstream and the test result bitstream on the first device is synchronized. That is, the test image and the corresponding test result image are displayed synchronously. Thus, the tester can simultaneously compare and view the test image and the corresponding test result image, which significantly improves the intuitiveness of the comparative test of the smart camera and the flexibility of the test operation, and improves the test efficiency.

[0023] In one possible design approach, the test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

[0024] In the above possible implementations, the test result image received by the first device can also be a stitched image of the test image and the corresponding test result image, so that the first device can simultaneously display the test image and the corresponding test result image based on the stitched image, thereby achieving the effect of synchronous testing and improving testing efficiency.

[0025] In one possible design, the first device controls the test stream and the test result stream to be displayed together on the display. Specifically, the first device displays the mixed image in the test result stream on the display; or, the first device performs image segmentation processing on the mixed image in the test result stream frame by frame to obtain a test image for each frame and a test result image corresponding to each test image; while the first device controls the first player to play the test image, it also controls the second player to play the test result image.

[0026] In the above possible implementations, the first device can play the received mixed image through a player, that is, simultaneously display the test image and the corresponding test result image, to achieve the effect of synchronous testing; in addition, the first device can also use two players to play the test image and the corresponding test result image respectively, both of which can achieve the effect of synchronous testing and improve testing efficiency.

[0027] In one possible design, the method further includes: the first device sending Hypertext Transfer Protocol (HTTP) request information to the second device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation, and the control operation is used to instruct the second device to control the test image to be processed.

[0028] In the above possible implementations, the first device can send a URL corresponding to a specific control operation to the second device, instructing the second device to process the current test image according to the control operation. This improves the flexibility of the test operation and increases test efficiency.

[0029] In one possible design, the control operation may include at least one of the following: pausing, starting, jumping to a specified test image, or adjusting the frame rate.

[0030] In the above possible implementations, the first device sends information about specific control operations for playing the test image to the second device, such as starting playback, pausing playback, adjusting the playback frame rate, fast forwarding, rewinding, or jumping to a specified frame. This allows the second device to process the test image to be processed according to the control operation, thereby controlling the display of the test image and the test result image according to the test requirements, improving the flexibility and efficiency of the test operation.

[0031] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0032] In the above possible implementations, the request information may also include the frame sequence number or timestamp of the test image corresponding to the control operation, which is used by the second device to locate the specific test image corresponding to the control operation based on the frame sequence number or timestamp, so that the second device can return the test result image corresponding to the test image specified by the first device, thereby improving the flexibility and efficiency of the test operation.

[0033] In one possible design, the first device controls the test stream and the test result stream to be displayed together on the display. Specifically, the first device receives server-sent event (SSE) information from the second device. The SSE information includes the position information or time information of the test image currently being processed by the second device. The first device controls the currently displayed test image and test result image based on the position information or time information.

[0034] In the above possible implementations, the position information refers to the position information of the test image corresponding to the playback progress bar of the test bitstream, and the time information can refer to the timestamp corresponding to the test image. The first device can control the currently displayed test image and test result image through the test image position information or time information reported by the second device, thereby improving the flexibility and efficiency of the test operation.

[0035] In one possible design, the test stream originates from the storage system of the first device, or the network file system (NFS) of the first device, or the storage system of the third device.

[0036] In the above possible implementations, the test bitstream acquired by the first device can come from the first device, or the NFS system, or other devices, and the source of the test bitstream can be flexibly configured.

[0037] Secondly, a testing method for a smart camera is provided. The method includes: a second device receiving test images sent by a first device frame by frame, wherein the test images are currently processed test images obtained by the first device from a first player or decoder; the second device performing artificial intelligence (AI) recognition on the test images frame by frame to obtain a test result image corresponding to each frame of the test images, wherein the test result image includes the test image and recognition result information obtained by performing AI recognition on the test images; and the second device sending a test result stream to the first device, wherein the test result stream includes multiple frames of test result images.

[0038] In the above technical solution, the second device acquires the test image currently being processed by the player or decoder of the first device in real time. After the second device performs AI recognition on the test image frame by frame to obtain the corresponding test result image, it sends it to the first device in real time. This allows the first device to control the test stream and the test result stream to be displayed on the display for testing, thereby improving the intuitiveness of the technicians in comparing the test image and the test result image and improving the testing efficiency.

[0039] In one possible design, before the second device performs AI recognition on the test images in the test bitstream frame by frame, the method further includes: the second device acquiring multiple frames of original test images in the test bitstream; and the second device performing at least one of decompression, format conversion, or resolution adjustment on the original test images frame by frame to obtain multiple frames of test images in the test bitstream.

[0040] In the above possible implementations, after the second device decompresses, converts, or adjusts the resolution of the test image frame by frame, it can obtain a format that the AI ​​recognition algorithm of the second device can process. At the same time, since the test image received by the second device has been compressed by the first device, the latency of the second device receiving multiple test images can be reduced, thereby improving the efficiency of synchronous comparison testing.

[0041] Thirdly, a testing method for a smart camera is provided. The method includes: a second device acquiring a test stream, the test stream including multiple test images; the second device performing AI recognition on the test images in the test stream frame by frame to obtain a test result image corresponding to each test image, the test result image being obtained by superimposing the test image and the recognition result information; the second device stitching the test image and the corresponding test result image frame by frame to obtain a mixed image corresponding to the test image; and the second device sending the test result stream to a first device, the test result stream including multiple mixed images.

[0042] In the above technical solution, the test result image sent by the second device can also be a stitched image of the test image and the corresponding test result image, so that the first device can simultaneously display the test image and the corresponding test result image based on the stitched image, thereby achieving the effect of synchronous testing and improving testing efficiency.

[0043] In one possible design, the second device stitches the test image and the corresponding test result image frame by frame. Specifically, the second device may stitch the test image and the corresponding test result image vertically or horizontally to obtain a mixed image corresponding to the test image.

[0044] In the above possible implementations, the second device stitches the test image and the corresponding test result image into a single image by stitching them together vertically or horizontally, and then sends the image to the first device so that the first device can display it synchronously, thereby improving the testing efficiency of the testers.

[0045] In one possible design, before the second device performs AI recognition on the test images in the test bitstream frame by frame, the method further includes: the second device performing decoding and / or decapsulation processing on the test bitstream to obtain multiple frames of test images.

[0046] In one possible design, the method further includes: a second device receiving Hypertext Transfer Protocol (HTTP) request information sent from a first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation; and the second device controlling the test image to be processed based on the control operation.

[0047] In the above possible implementations, the second device receives HTTP request information sent by the first device and can obtain the corresponding control operation based on the URL in the request information. Thus, the second device can process the current test image to be processed according to the control operation, which can improve the flexibility of the first device in controlling the test operation and improve the test efficiency.

[0048] In one possible design, the control operation may include at least one of the following: pausing, starting, jumping to a specified test image, or adjusting the frame rate.

[0049] In the above possible implementations, the second device determines the specific control operation by receiving the HTTP request information sent by the first device, such as start, pause, adjust the playback frame rate, or jump to a specified frame. This allows the second device to process the test image to be processed according to the control operation, thereby controlling the display of the test image and test result image according to the test needs, improving the flexibility and efficiency of the test operation.

[0050] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0051] In the above possible implementations, the request information may also include the frame sequence number or timestamp of the test image corresponding to the control operation, which is used by the second device to locate the specific test image corresponding to the control operation based on the frame sequence number or timestamp, so that the second device can return the test result image corresponding to the test image specified by the first device, thereby improving the flexibility and efficiency of the test operation.

[0052] In one possible design, the method further includes: the second device sending event SSE information to the first device's server, the SSE information including the position information or time information of the test image currently being processed by the second device, the position information or time information being used to instruct the first device to control the display of the test image and the test result image.

[0053] In the above possible implementations, the position information refers to the position information of the test image corresponding to the playback progress bar of the test bitstream, and the time information can refer to the timestamp corresponding to the test image. The second device reports the test image position information or time information to the first device, thereby controlling the currently displayed test image and test result image on the first device, improving the flexibility and efficiency of the test operation.

[0054] In one possible design, the test stream originates from the storage system of the first device, or the network file system (NFS) of the second device, or the storage system of the third device.

[0055] In the above possible implementations, the test bitstream acquired by the second device can come from the first device, the NFS system, or other devices, and the source of the test bitstream can be flexibly configured.

[0056] Fourthly, a testing device for a smart camera is provided, comprising: a transmitting module for transmitting a test stream to a second device, the test stream including multiple test images; a receiving module for receiving a test result stream transmitted from the second device, the test result stream including multiple test result images, the test result images being obtained by superimposing recognition result information onto test images corresponding to the test result images, the recognition result information being obtained by the second device through artificial intelligence (AI) recognition of the test images; and a control module for controlling the test stream and the test result stream to be displayed together on a display.

[0057] In one possible design, the testing device further includes: an acquisition module for acquiring multi-frame test images of the test stream frame by frame from a first player or decoder, wherein the first player is a player that plays the test stream; and a sending module specifically for sending the multi-frame test images frame by frame to a second device.

[0058] In one possible design, when the first player is playing a test stream, the acquisition module is specifically used to: acquire a target test image from the first player, the target test image being the test image currently being played by the first player; and the sending module is specifically used to send the target test image to the second device.

[0059] In one possible design, the acquisition module is specifically used to: acquire multiple frames of original test images of the test bitstream from a first player or decoder; and perform at least one of image compression, format conversion, or resolution adjustment on the original test images frame by frame to obtain multiple frames of test images of the test bitstream.

[0060] In one possible design, the control module is specifically used to: control the first player to play the test stream; and after receiving the test result stream sent from the second device, control the second player to play the test result stream.

[0061] In one possible design, the control module is specifically used to control the synchronous display of the test image and the corresponding test result image.

[0062] In one possible design, the control module is specifically used to: control the second player to play the test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

[0063] In one possible design approach, the test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

[0064] In one possible design, the control module is further configured to: display the mixed image in the test result bitstream on the display; or, perform image segmentation processing on the mixed image in the test result bitstream frame by frame to obtain each frame of test image and the test result image corresponding to each frame of test image; and control the first player to play the test image while controlling the second player to play the test result image.

[0065] In one possible design, the sending module is further configured to: send Hypertext Transfer Protocol (HTTP) request information to the second device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation, and the control operation is used to instruct the second device to control the test image to be processed.

[0066] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0067] In one possible design, the receiving module is further configured to: receive server-sent event SSE information from the second device, the SSE information including the position information or time information of the test image currently being processed by the second device; and the control module is further configured to: control the currently displayed test image and test result image according to the position information or time information.

[0068] In one possible design, the test stream originates from the storage system of the test device, or from the network file system (NFS) of the test device, or from the storage system of a third device.

[0069] Fifthly, a testing device for a smart camera is provided, comprising: a receiving module for receiving test images sent from a first device frame by frame, wherein the test images are currently processed test images obtained by the first device from a first player or decoder; an AI recognition module for performing artificial intelligence (AI) recognition on the test images frame by frame to obtain a test result image corresponding to each frame of the test images, wherein the test result image includes the test image and recognition result information obtained by performing AI recognition on the test images; and a sending module for sending a test result bitstream to the first device, wherein the test result bitstream includes multiple frames of test result images.

[0070] In one possible design, the testing device further includes a processing module, which performs at least one of the following processing steps on the multi-frame original test images acquired by the receiving module: decompression, format conversion, or resolution adjustment, to obtain a multi-frame test image of the test bitstream.

[0071] Sixthly, a testing device for a smart camera is provided, comprising: an acquisition module for acquiring a test stream, the test stream including multiple frames of test images; an AI recognition module for performing AI recognition on the test images in the test stream frame by frame to obtain a test result image corresponding to each frame of test images, the test result image including the test image and recognition result information obtained by performing AI recognition on the test image; a processing module for stitching the test image and the test result image corresponding to the test image frame by frame to obtain a mixed image corresponding to the test image; and a sending module for sending the test result stream to a first device, the test result stream including multiple frames of mixed images.

[0072] In one possible design, the test apparatus further includes a decoding module for: decoding and / or decapsulating the test bitstream to obtain multiple test images.

[0073] In one possible design, the testing device further includes: a receiving module for receiving Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to the control operation; and an AI recognition module, specifically used to control the test image to be processed based on the control operation.

[0074] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0075] In one possible design, the sending module is further configured to: send event SSE information to the server of the first device, the SSE information including the position information or time information of the test image currently being processed by the second device, the position information or time information being used to instruct the first device to control the display of the test image and the test result image.

[0076] In one possible design, the test stream originates from the storage system of the first device, or the network file system (NFS) of the second device, or the storage system of the third device.

[0077] In a seventh aspect, a testing apparatus for a smart camera is provided, the apparatus including a processor and a transmission interface, the processor being configured to execute instructions stored in a memory to perform:

[0078] The test stream is sent to the second device through the transmission interface. The test stream includes multiple frames of test images. The test result stream sent from the second device is received through the transmission interface. The test result stream includes multiple frames of test result images. The test result images are obtained by superimposing recognition result information on the test images corresponding to the test result images. The recognition result information is obtained by the second device through artificial intelligence (AI) recognition of the test images. The test stream and the test result stream are displayed together on the display.

[0079] In one possible design, the processor is specifically used to perform: acquiring multi-frame test images of the test bitstream frame by frame from a first player or decoder, wherein the first player is a player that plays the test bitstream; and sending the multi-frame test images frame by frame to a second device.

[0080] In one possible design, the processor is specifically used to perform the following: when the first player is playing a test stream, obtain a target test image from the first player, the target test image being the test image currently being played by the first player; and send the target test image to the second device.

[0081] In one possible design, the processor is specifically configured to perform: acquiring multiple frames of original test images of the test bitstream, and performing at least one of image compression, format conversion, or resolution adjustment on the original test images frame by frame to obtain the multiple frames of test images of the test bitstream.

[0082] In one possible design, the processor is specifically configured to: control a first player to play the test stream; and, upon receiving the test result stream sent from the second device, control a second player to play the test result stream.

[0083] In one possible design, the processor is specifically used to perform: controlling the synchronous display of the test image and the test result image corresponding to the test image.

[0084] In one possible design, the processor is specifically configured to: control the second player to play a test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

[0085] In one possible design, the test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

[0086] In one possible design, the processor is specifically configured to: display the mixed image in the test result bitstream on a display; or, perform image segmentation processing on the mixed image in the test result bitstream frame by frame to obtain a test image for each frame and a test result image corresponding to each test image; and control the first player to play the test image while controlling the second player to play the test result image.

[0087] In one possible design, the processor is also configured to: send Hypertext Transfer Protocol (HTTP) request information to the second device via the transmission interface, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation, the control operation being used to instruct the second device to control the test image to be processed.

[0088] In one possible design, the HTTP request information further includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. The input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0089] In one possible design, the processor is also configured to: receive server-sent event SSE information from the second device via the transmission interface, the SSE information including position information or time information of the test image currently being processed by the second device; and control the currently displayed test image and test result image based on the position information or the time information.

[0090] In one possible design, the test stream originates from the storage system of the test device, or from the network file system (NFS) of the test device, or from the storage system of a third device.

[0091] Eighthly, a testing apparatus for a smart camera is provided, the apparatus including a processor and a transmission interface, the processor being configured to execute instructions stored in a memory to perform the test methods of the second aspect or any possible design of the second aspect:

[0092] Ninth aspect, a testing apparatus for a smart camera is provided, the apparatus including a processor and a transmission interface, the processor being configured to execute instructions stored in a memory to perform a test method in the third aspect or any possible design of the third aspect.

[0093] In a tenth aspect, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when executed by a computer or processor, enable the computer or processor to perform a testing method for a smart camera as described in any one of the first aspects.

[0094] Eleventhly, a computer program product is provided, which, when run on a computer or processor, causes the computer or processor to execute the testing method for a smart camera as described in any one of the first aspects.

[0095] In a twelfth aspect, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when executed by a computer or processor, enable the computer or processor to perform a testing method for a smart camera as described in any one of the second aspects.

[0096] In a thirteenth aspect, a computer program product is provided that, when run on a computer or processor, causes the computer or processor to perform a testing method for a smart camera as described in any one of the second aspects.

[0097] In a fourteenth aspect, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when executed by a computer or processor, enable the computer or processor to perform a testing method for a smart camera as described in any third aspect.

[0098] In a fifteenth aspect, a computer program product is provided that, when the computer program product is run on a computer or processor, causes the computer or processor to perform a testing method for a smart camera as described in any one of the third aspects.

[0099] Understandably, any of the smart camera testing devices, computer-readable storage media, and computer program products provided above can be used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here. Attached Figure Description

[0100] Figure 1 A schematic diagram illustrating an application scenario of a testing method for a smart camera provided in an embodiment of this application;

[0101] Figure 2 A flowchart illustrating a testing method for a smart camera provided in an embodiment of this application;

[0102] Figure 3 A schematic diagram illustrating an AI-based image processing effect provided in an embodiment of this application;

[0103] Figure 4 A schematic diagram illustrating the processing steps of a testing method for a smart camera provided in an embodiment of this application;

[0104] Figure 5 A flowchart illustrating another testing method for a smart camera provided in an embodiment of this application;

[0105] Figure 6 A schematic diagram illustrating the processing steps of another smart camera testing method provided in this application embodiment;

[0106] Figure 7 A schematic diagram of a testing device for a smart camera provided in an embodiment of this application;

[0107] Figure 8 A schematic diagram of another testing device for a smart camera provided in an embodiment of this application;

[0108] Figure 9 A schematic diagram of another testing device for a smart camera provided in an embodiment of this application;

[0109] Figure 10This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0110] Figure 11 This is a schematic diagram of a chip provided in an embodiment of this application. Detailed Implementation

[0111] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0112] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0113] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0114] First, a brief introduction will be given to the implementation environment and application scenarios of the embodiments of this application.

[0115] This application provides a testing method and apparatus for a smart camera, which can be applied to the testing of smart camera devices, such as smart cameras and other devices or electronic devices configured with smart camera components. Exemplary application scenarios of this embodiment include... Figure 1 As shown.

[0116] The first device refers to a test console, which is a device or electronic device for performing test operations, viewing test results, and recording test results. Specifically, the first device can be a computer, a personal computer (PC), a laptop computer, or an ultra-mobile personal computer (UMPC), or at least one of a server, multiple servers, a cloud computing platform, and a virtualization center. For example, the following embodiments of this application use a test PC as an example for illustration.

[0117] The first device can establish a connection with the second device through a universal serial bus (USB) network channel or a USB virtual serial port channel, so that the first device and the second device can transmit control information and / or bitstream data through the connection. The USB channel is the standard communication port for the first device to connect to external devices, and the USB virtual serial port is a serial port virtualized by the first device through a USB communication device class, used to provide communication transmission for the first device 101.

[0118] The second device refers to an AI-enabled smart camera (AIC) with built-in AI algorithms, or other devices or electronic devices equipped with an AIC. An AIC is a camera with AI computing capabilities, capable of using its built-in AI algorithms to calculate and identify the target object or detect objects in the image. The second device can communicate and interconnect with the first device via a configured USB interface to transmit audio and video data. Alternatively, the second device can also interact with the first device via Bluetooth, a wireless network, or a wired network, for example, by transmitting video streams based on the Internet Protocol (IP). For instance, video streams can be transmitted via the Hypertext Transfer Protocol (HTTP) or WebSocket protocols within the IP protocol. HTTP is a one-way communication protocol, where the client initiates an HTTP request and the server returns data; WebSocket is a two-way communication protocol, where both the client and server can actively send or receive data after establishing a connection.

[0119] For example, the AIC involved in this application embodiment can support the USB Video Class (UVC) protocol and supports video encoding and decoding capabilities. UVC is a protocol standard defined for electronic devices that capture USB video; generally, camera devices providing USB interfaces can support the application and implementation of this standard.

[0120] The application scenario of this application is based on testing the intelligent recognition function of the second device. By testing the calculation results of the AI ​​recognition algorithm built into the second device, it is determined whether the AI ​​recognition algorithm can accurately identify the photographed object, or whether the AI ​​algorithm solves the expected problem. The input data for the test includes video data or a set of images. The second device can overlay the AI ​​recognition results onto the input video data or set of images to obtain a test result image. That is, the test result image can be the output video data or set of images overlaid with the AI ​​recognition results. The test result image can include the test image and the AI ​​information obtained by performing AI recognition on the test image.

[0121] The testing principle in this embodiment is as follows: a pre-acquired video stream or image set is used as the test stream. The AI-powered identification and calculation (AIC) performs AI recognition calculations on the test stream frame by frame, and the recognition result corresponding to each frame of the test image is obtained in real time, which is the test result image. The test PC synchronously compares the real-time generated test result image with the original test image to complete the synchronous test and draw a test conclusion.

[0122] This application provides a testing method for a smart camera, such as... Figure 2 As shown, the method may specifically include the following steps:

[0123] S201: The first device sends the test stream to the second device. The test stream includes multiple test images.

[0124] The first device can obtain test streams from a test stream library. The test stream library is a storage system that stores test streams. It can be a file system deployed on the first device, a file system stored on the first device or another server and shared with the second device via a network file system (NFS), or it can be the storage system of a third device. Therefore, the test streams can originate from the storage system of the first device, NFS, or a third device; this embodiment does not specifically limit this.

[0125] NFS, or NFS for application systems based on User Datagram Protocol (UDP) or Internet Protocol (IP), primarily utilizes Remote Procedure Call (RPC) mechanisms. RPC provides a set of operations for accessing remote files that are independent of the machine, operating system, and underlying transport protocols. NFS is a network abstraction on top of a file system. Electronic devices using NFS can access the file systems of remote clients over a network, and the access operations are implemented in a manner similar to accessing the local file system of the same electronic device.

[0126] A test stream can be a collection of images or a video stream that has undergone encoding and compression. Video refers to a continuous sequence of images, composed of consecutive frames, each frame representing an image. Due to the persistence of vision, when the frame sequence is played at a certain rate, we see continuous motion in the video. Because the images between consecutive frames are highly similar, the original video can be encoded and compressed to remove redundancy for easier storage and transmission. Video encoding refers to the method of converting a file in one video format to another using compression technology. A video stream is the data transmitted after encoding the original video file. For example, an H.264 video frame stream generated according to the ITU's H.264 encoding and decoding standard, or an H.266 video frame stream generated according to the H.266 encoding and decoding standard.

[0127] In one implementation, the first device can acquire each frame of the test image from the test stream from a video player or decoder, and send the test images frame by frame to the second device.

[0128] For example, the first device can directly acquire each frame of the test image from a video player playing the test stream, such as a first player. Alternatively, it can acquire each frame of the test image from a decoder decoding the test stream. Specifically, the first device can choose to acquire multiple frames of test images from the video player or the decoder based on the interface provided by the video player or the decoder.

[0129] After acquiring each frame of the test image frame by frame, the first device sends it to the second device frame by frame. For example, the original format of each frame of the test image in the test bitstream acquired by the first device can be an image in RGB or YUV format, or it can be a video frame stream that has been encoded and compressed, such as an H.264 video frame stream.

[0130] In another embodiment, the first device acquires each frame of the test stream from a video player or decoder, and sends each frame of the test stream to the second device frame by frame. This may further include:

[0131] The first device acquires multiple frames of original images of the test bitstream frame by frame, encodes and compresses each frame of original image, and then sends each compressed frame of test image to the second device.

[0132] Optionally, the first device can also adjust the resolution of multiple frames of original images and then send them to the second device.

[0133] Optionally, the first device can also convert the format of multiple frames of original images and then send them to the second device.

[0134] Among them, the test image obtained after encoding and compressing the original image, adjusting the image resolution, or converting the format is an image that can be received and processed by the AI ​​algorithm in the second device.

[0135] The image compression format is based on the image format supported by the second device. For example, the test image can be compressed into the JPEG image format developed by the Joint Photographic Experts Group (JPEG), or the portable network graphics (PNG) format, etc. When the second device supports the JPEG format, the first device can choose to compress each captured original image frame into a JPEG before sending it to the second device; when the second device supports the PNG format, the first device can choose to compress each captured original image frame into a PNG before sending it to the second device.

[0136] It should be noted that whether to compress the test images can be determined based on the USB bandwidth resources available for transmitting the test images between the first and second devices. When the USB bandwidth is sufficient to transmit the original images, the first device does not compress the multiple frames of test images and directly sends the original test images to the second device. When the USB bandwidth is insufficient, the first device can compress the multiple frames of test images before sending the compressed test images to the second device, thereby saving bandwidth resources and reducing the latency caused by transmitting test images.

[0137] In another embodiment, the first device acquires multiple frames of test images from the test bitstream and sends each frame of the test image to the second device, and may further include:

[0138] The first device acquires multiple frames of original images of the test bitstream frame by frame, adjusts the resolution of each frame of original image, and generates each frame of test image of the test bitstream.

[0139] When the image resolution that the second device can process is inconsistent with the multi-frame test images acquired by the first device, the first device can adjust the resolution of each frame of the test image before sending it to the second device frame by frame. For example, if the resolution of the multi-frame test images acquired by the first device is 1280×800, while the image resolution that the second device can process is 1024×600, then the first device can adjust the resolution of the test images to 1024×600 frame by frame before sending them to the second device.

[0140] S202: The second device receives multiple test images sent from the first device.

[0141] S203: The second device performs AI recognition on the test images frame by frame to obtain the test result image corresponding to each frame of the test image.

[0142] The second device receives test images sent from the first device frame by frame, processes them according to a pre-configured AI recognition algorithm, and obtains a test result image corresponding to each frame of the test image. The test result image corresponds one-to-one with the test image, and this correspondence can be determined by information such as the same frame sequence number, video playback progress bar information, or frame timestamps.

[0143] The test result image can be an image superimposed with AI information, which is the recognition result information obtained by calculating the test image using an AI algorithm. Therefore, the test result image can include the test image and the AI ​​information obtained by AI recognition of the test image. The AI ​​information can be represented graphically or by labels, etc.

[0144] For example, for AI recognition algorithms that detect objects, after AI recognition and calculation, rectangular boxes can be added to the image to enclose the detected objects, forming a test result image. For AI recognition algorithms that identify objects, after AI recognition and calculation, a test result image with added object labels can be obtained, for example... Figure 3 As shown, the test result image output by the second device after recognizing image 1 is the result of adding the label "house" to image 1, and the test result image output by the second device after recognizing image 2 is the result of adding the labels "person 1" and "person 2" to image 2.

[0145] The AI ​​recognition algorithm in this application embodiment can be implemented by a neural network model or a support vector machine algorithm. This application does not limit the specific AI recognition algorithm, nor does it limit the representation method of the test result image. Those skilled in the art can select and set it according to actual needs.

[0146] S204: The second device sends a test result stream to the first device. The test result stream includes multiple frames of test result images.

[0147] The second device sends the test result image obtained above to the first device frame by frame.

[0148] In one embodiment, in order to reduce the transmission delay of the test result image and reduce the bandwidth usage of data transmission, the second device can encode and compress the test result image frame by frame to generate a test result bitstream, and then the second device sends the test result bitstream frame by frame to the first device.

[0149] S205: The first device receives the test result bitstream sent from the second device.

[0150] In one embodiment, the first device receives the result bitstream sent by the second device, and obtains the test result image for each frame after decoding.

[0151] S206: The first device controls the test stream and the test result stream to be displayed together on the display.

[0152] Upon receiving the first frame of the test result image, the first device can automatically open another video player, such as a second player, to play the test result image frame by frame.

[0153] The first device controls the test stream and the test result stream to be displayed together on the display. Specifically, the first device controls the first player to play the test stream, and at the same time, after the first device receives the test result stream sent from the second device, the first device controls the second player to play the test result stream.

[0154] For example, when the first device is a test PC and the second device is a smart camera AIC, when the test PC receives the first frame of the test result image sent by the AIC, the test PC plays the first frame of the test result image through the second player, and plays the received test result stream frame by frame.

[0155] like Figure 4 As shown, taking a test PC as the first device and an AIC as the second device as an example, when the test PC starts testing, the first player on the test PC obtains the test video to be played from the test stream library, and acquires each frame of the test video as a test image. After encoding and compression, the player sends each frame to the AIC. After decoding and acquiring the test images, the AIC performs AI recognition on each frame of the test images, obtains each frame of the test result image, encodes it, and sends it to the test PC. When the test PC receives the test result image sent by the AIC, the second player on the test PC plays the test result video frame by frame. This test result video includes multiple frames of test result images.

[0156] In this application embodiment, the first player and the second player can be web-based video players or client-based video players installed on the first device. This application does not make any specific limitations on this.

[0157] In the above embodiments of this application, sending test images, AI calculations, and receiving test result images are all performed frame by frame, and the playback of test videos and test result videos is performed frame by frame in the sequence of image frames. Therefore, the first device plays the test stream and the test result stream frame by frame through two players, and the first player and the second player can play the test stream and the test result stream simultaneously on the same display interface, which is convenient for testers to compare and view the test stream and the test result stream, and improves the efficiency of synchronous comparison testing.

[0158] In one embodiment, the first device can obtain the currently playing test image from the first player as the target test image while the first player is playing the test stream, and send the target test image to the second device.

[0159] The target test image is the test image currently being played by the first player, acquired by the first device. Specifically, the first device can send the currently playing test image to the second device in real time, enabling the second device to perform AI recognition processing based on the test image sent by the first device and send the corresponding test result image back to the first device in real time. The first device displays each frame of the test result image frame by frame, and simultaneously displays the test image corresponding to that test result image.

[0160] It should be noted that when the delay between the first device sending each frame of test image, the second device performing AI recognition on each frame of test image, and the first device receiving each frame of test result image is negligible, or when the aforementioned delay is less than the playback interval between adjacent frames of the test image played frame by frame by the first player, it can be considered that the playback of the test stream and the test result stream on the first device is synchronous. That is, the test image and the corresponding test result image are displayed synchronously. Thus, testers can simultaneously compare and view the test image and the corresponding test result image, significantly improving the intuitiveness of the comparative test of the smart camera and the flexibility of the test operation, thereby increasing test efficiency.

[0161] Therefore, the first device can control the playback of the test result image on the second player by controlling the playback of the test image on the first player. Technicians can control the image processing of the second device by operating the player running on the first device, such as pausing, playing, fast-forwarding, or adjusting the frame rate, thereby achieving real-time synchronization between the test video and the test result video.

[0162] For example, when the test PC receives a video pause playback operation clicked by the technician, the test PC stops sending test images to the AIC, and the AIC pauses image processing. When the video playback operation is clicked, the AIC continues to receive test images, processes the images, and sends the test results back to the test PC, achieving synchronized playback. The technician sets the playback speed on the test PC, for example, setting the frame rate to 15Hz. The AIC then receives test images at 15 frames per second, so the playback speed of the test video set on the test PC is the playback speed of the test result video.

[0163] In one possible implementation, the first device can control the synchronous display of the test image and the test result image corresponding to the test image in the following specific way: the first device controls the second player to play the test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

[0164] Specifically, the first device can control the playback rate of the test stream played by the first player, such that when the playback interval between adjacent frames of the test stream played by the first player is less than the aforementioned test delay, the first device can reduce the playback rate of the first player. The method by which the first device reduces the playback rate of the first player can be manually controlled, or it can automatically adjust the playback rate according to preset conditions.

[0165] For example, if the initial playback rate of the first player on the test PC is 30 frames per second (meaning the time interval between adjacent frames of the test stream played by the first player is 0.33 seconds), and the latency from sending a test frame to receiving the corresponding test result image is determined to be 1 second, then to perform a synchronous comparison test between the test stream and the test result stream on the test PC, the playback rate of the first player can be reduced. For instance, by adjusting the first player to play the test stream frame by frame at a slow speed with a time interval between adjacent frames of 15 seconds, the playback interval between adjacent frames of the test stream played by the first player is much greater than the test latency. In this case, the test image played by the first player and the test result image played by the second player are synchronized.

[0166] In the above possible implementations, when the playback interval between adjacent frames of the test stream controlled by the first device to play the first player is greater than the test delay, the playback of the test stream and the test result stream on the first device is synchronized. That is, the test image and the corresponding test result image are displayed synchronously. Thus, the tester can simultaneously compare and view the test image and the corresponding test result image, which significantly improves the intuitiveness of the intelligent camera comparison test and the flexibility of the test operation, and improves the test efficiency.

[0167] This application embodiment also provides another testing method for smart cameras, namely, in step S203 above, after the second device performs AI recognition on the test image to obtain the test result image corresponding to the test image, as shown below... Figure 5 As shown, the test method may also include:

[0168] S501: The second device stitches the test image and the corresponding test result image frame by frame to obtain the mixed image corresponding to the test image.

[0169] In one embodiment, the image stitching can be done by stitching the images vertically. The second device can sequentially stitch each test image frame and its corresponding test result image vertically to obtain a composite image of each test image frame. For example, the test image is displayed on top, and the corresponding test result image is displayed below, resulting in a composite image. Alternatively, the test result corresponding to the test image is displayed below, and the test image is displayed below.

[0170] In another embodiment, the second device can stitch each test image frame and its corresponding test result image side-by-side to obtain a composite image of each test image frame. For example, the test image is displayed on the left, and the corresponding test result image is displayed on the right, resulting in a composite image. Alternatively, the test result corresponding to the test image is displayed on the left, and the test image is displayed on the right.

[0171] S502: The second device sends a test result stream to the first device. The test result stream includes a multi-frame mixed image.

[0172] The second device can send the mixed image obtained from the above processing to the first device frame by frame, or it can encode and compress multiple frames of mixed image and send them to the first device together.

[0173] Based on the above implementation method, in step S206, the first device controls the test bitstream and the test result bitstream to be displayed together on the display, which may further include the following two display methods:

[0174] Method 1:

[0175] The first device displays the mixed image from the test result bitstream on the monitor.

[0176] In this implementation, the first device can play the received multi-frame mixed image frame by frame. That is, the first device displays the multi-frame mixed image from the test result bitstream frame by frame. This mixed image includes test images and test result images, and the test images and test result images are in one-to-one correspondence. Testers can perform synchronous comparison tests frame by frame, completing real-time synchronous comparison between the test video and the test result video. Since each frame of the test image and its corresponding test result image are stitched together in one image, it facilitates simultaneous comparison tests by technicians, improving testing efficiency.

[0177] For example, such as Figure 6 As shown, taking the first device as the test PC and the second device as the AIC as an example, the AIC obtains the test bitstream from the test bitstream library, and after decapsulation or decoding, obtains the original test image. The test image is then subjected to AI recognition to obtain the test result image. The AIC stitches the test image and the test result image frame by frame to obtain a mixed image. The AIC sends the multi-frame mixed image to the test PC, allowing the test PC to play back the received mixed image frame by frame, completing a real-time comparison test.

[0178] Method 2:

[0179] Step 1: The first device performs image segmentation processing on the mixed image in the test result bitstream frame by frame to obtain each frame of test image and the test result image corresponding to each frame of test image.

[0180] In this embodiment, the first device can also process the received multi-frame mixed image to obtain each frame of test image and the test result image corresponding to each frame of test image, and then play the test video and the test result video frame by frame to compare the test results. It should be understood that the test video includes multiple frames of test images, and the test result video includes multiple frames of test result images.

[0181] For example, the first device can perform image segmentation according to the above image stitching method, and further split each frame of the mixed image into each frame of test image and test result image. If the mixed image is stitched left and right (test image on the left and test result image on the right), the first device can crop the left half of the mixed image to generate the test image and the right half to generate the test result image, and then play them separately to achieve synchronous testing.

[0182] Step 2: While the first device controls the first player to play the test image, it also controls the second player to play the test result image.

[0183] The first device controls two players to play the test images and corresponding test result images obtained from the segmentation process. Simultaneously, while the first player plays a test image, the second player plays the corresponding test result image. This allows testers to perform real-time synchronous comparison tests, providing a highly intuitive testing experience, enabling immediate identification of test problems, and improving testing efficiency.

[0184] In one implementation, if the test stream obtained by the second device from the test stream library is in a containerized format, and the second device cannot directly process the containerized data, it is necessary to perform a de-containment operation on the test stream before obtaining each frame of test image.

[0185] For example, if the test stream obtained from the test stream library is in Moving Picture Experts Group 4 (MP4) format, and MP4 is a standard for encapsulating audio and video information, then the second device needs to decapsulate the MP4 format test stream to obtain the image portion, for example, to obtain the H.264 raw stream. If the test stream itself is in H.264 raw stream format, then decapsulation is not required, and each frame of the test image can be obtained based on the H.264 raw stream.

[0186] In one embodiment, the test stream obtained by the second device from the test stream library is in an encoded and compressed format. Before obtaining each frame of test image, the test stream needs to be decoded to obtain each frame of test image.

[0187] For example, if the test stream itself is in H.264 raw stream format, no decoding processing is required, and each frame of the test image can be obtained based on the H.264 raw stream. If the stream is in JPEG or PNG format, it needs to be decompressed according to compression rules to obtain each frame of the test image.

[0188] In one possible implementation, during real-time synchronous testing, technicians need to control the playback speed and progress of the test video. For example, they can operate the video player on the first device to pause, play, fast forward, rewind, drag, or perform frame-by-frame slow-motion testing. Therefore, the first device can establish communication with the second device and transmit control information through a predefined control protocol, thereby controlling the processing of the second device and further controlling the synchronization of the playback of the test video and the test result video on the first device. For example, controlling the second device to start and pause processing video frames, controlling the processing frame rate of the second device, or locating the currently processed video frame of the second device. Therefore, this testing method may also include:

[0189] The first device sends an HTTP request to the second device. The request may include a Uniform Resource Locator (URL), which the second device uses to obtain specific control operations based on the URL in order to control the test image to be processed.

[0190] After receiving the HTTP request information, the second device can control the test image to be processed based on the control operation.

[0191] For example, the first device can perform operations such as pause, play, fast forward, rewind, control playback speed, jump to a specified video frame, or adjust the frame rate on the first player. In response to the technician's control over video playback, the first device can send corresponding HTTP request information to the second device to control the image processing of the second device, thereby achieving playback control of the mixed bitstream. Technicians can flexibly control the video testing progress by operating the test PC, thus providing strong intuitiveness for real-time comparative testing and effectively improving testing efficiency.

[0192] The first and second devices each have a built-in web server, such as an HTTP server. The first and second devices can communicate over the network using the HTTP protocol to transmit control signaling. The HTTP protocol can be used to transmit web page information from World Wide Web (WWW) services, and it transmits data in plaintext.

[0193] For example, a test PC can send an HTTP request to the AIC, using control signaling included in the HTTP request to control the video frames processed on the AIC. Specifically, different Uniform Resource Locators (URLs) can be used to identify specific control operations, such as play, pause, frame rate adjustment, or skipping. The request information can include the URL corresponding to the specific control operation, which the AIC uses to retrieve the control operation and thus control the playback of the resulting bitstream. The request information can also include input parameters to identify the test image information corresponding to the aforementioned control operation.

[0194] For example, the test PC can send a request message in JavaScript object notation (JSON) format to the AIC. This request message may include a URL for a control operation and input parameters, such as the test image information requested by the test PC for the next frame to be played. For instance, the input parameters may include a frame sequence or a frame timestamp. Upon receiving the request message, the AIC determines the control operation based on the URL in the request message and the test image information requested by the test PC based on the input parameters. Then, it returns a JSON-formatted response message to the test PC. This response message may include output parameters, indicating whether the AIC successfully received the control information sent by the test PC or if reception failed. Thus, based on the received control operation, the AIC adjusts the currently processed test image and sends the test result image to the test PC, thereby adjusting the current playback frame of both the test video and the test result video, enabling real-time synchronous comparison and viewing of the two videos.

[0195] JSON is a standard specification for data transmission, and it is a lightweight data storage and transmission format that is independent of the programming language.

[0196] For example, if the HTTP request information sent by the test PC to the AIC includes a control operation to jump to a specified test image, the HTTP request information may also include the frame sequence number of the specified test image to be processed corresponding to the control operation. After receiving the HTTP request information, the AIC can determine the frame sequence number of the specified test image based on the control operation and input parameters, and adjust the currently processed test image to the specified test image.

[0197] In the above possible implementations, the request information may also include the frame sequence number or timestamp of the test image corresponding to the control operation, which is used by the second device to locate the specific test image corresponding to the control operation based on the frame sequence number, or to determine the specific test image based on the timestamp and the total duration of the test stream, so that the second device can return the test result image corresponding to the test image specified by the first device, thereby improving the flexibility and efficiency of the test operation.

[0198] In another possible implementation, network communication between the first device and the second device can also use server-sent svent (SSE) as the bearer protocol.

[0199] The second device can send event SSE information to the server of the first device. The SSE information may include the location information or time information of the test image currently being processed by the second device. Then the first device receives the SSE information sent by the second device and controls the currently displayed test image and test result image according to the location information or time information.

[0200] SSE, based on the HTTP protocol, pushes information to web browsers via streaming information. SSE is a one-way transmission channel from the server to the receiving browser. Instead of sending one-time data packets, SSE sends a data stream that can be continuously transmitted. While the sending electronic device is sending the data stream, the receiving electronic device does not close the connection and continues to receive new data streams from the sending electronic device (such as a server). For example, video playback involves continuously sending a sequence of video frames.

[0201] The position information of the test image refers to the position of the specified test image within the playback progress bar during the playback of the test stream. The time information refers to the timestamp corresponding to the test image.

[0202] Furthermore, the second device can be configured to report the currently processed test image information to the first device at preset intervals, i.e., the second device periodically reports the currently processed test image information to the first device.

[0203] For example, the AIC can periodically report the location information of the currently processed test image, or the sequence number or timestamp of the test image in the frame sequence, to the test PC. The test PC can then determine the information of the currently processed test image based on the timestamp reported by the AIC and the pre-configured total duration of the test video, or based on the frame sequence number and the total number of frames, or based on the location information of the test image and the overall progress of the test stream. This allows the test PC to adjust the currently playing video frame on the video player, achieving real-time synchronous testing.

[0204] In the above implementation, the first device establishes a communication connection with the second device and periodically acquires the test image position information or time information processed by the second device to control the test image and test result image currently displayed by the first device. That is, the video frames played by the first device and the video frames used for AI calculations by the second device are synchronized through a control protocol. This allows technicians to flexibly adjust the playback progress according to testing needs, making synchronous comparison testing more intuitive and improving the flexibility and efficiency of testing operations.

[0205] It is understood that the aforementioned first or second device, etc., includes hardware structures and / or software modules corresponding to the execution of each function in order to achieve the above-described functions. Those skilled in the art should readily recognize that, in conjunction with the unit and algorithm operations of the various examples described in the embodiments herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art 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.

[0206] This application embodiment can divide the first device or the second device into functional modules according to the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0207] For example, when dividing the functional modules using an integrated approach. Figure 7 A schematic diagram of a testing device for a smart camera is shown. This testing device can be a first device, a chip or system-on-a-chip within the first device, or other combined devices or components capable of implementing the functions of the first device described above. This testing device can be used to perform the functions of the first device involved in the above embodiments.

[0208] As one possible implementation, such as Figure 7 As shown, the testing apparatus 700 may include:

[0209] The sending module 701 is used to send the test bitstream to the second device, and the test bitstream includes multiple frames of test images.

[0210] The receiving module 702 is used to receive the test result bitstream sent from the second device. The test result bitstream includes multiple frames of test result images. The test result images are obtained by superimposing recognition result information on the test images corresponding to the test result images. The recognition result information is obtained by the second device performing artificial intelligence (AI) recognition on the test images.

[0211] The control module 703 is used to control the test bitstream and the test result bitstream to be displayed together on the display.

[0212] In one possible design, the testing device 700 may further include:

[0213] The acquisition module is used to acquire multi-frame test images of the test bitstream frame by frame from the first player or decoder. The first player is the player that plays the test bitstream.

[0214] The sending module 701 is specifically used to send multiple frames of test images to the second device frame by frame.

[0215] In one possible design, when the first player is playing a test stream, the acquisition module is specifically used to: acquire a target test image from the first player, the target test image being the test image currently being played by the first player. The sending module 701 is specifically used to send the target test image to the second device.

[0216] In one possible design, the acquisition module is specifically used to: acquire multiple frames of original test images of the test bitstream from a first player or decoder; and perform at least one of image compression, format conversion, or resolution adjustment on the original test images frame by frame to obtain multiple frames of test images of the test bitstream.

[0217] In one possible design, the control module 703 is specifically used to: control the first player to play the test stream; and after receiving the test result stream sent from the second device, control the second player to play the test result stream.

[0218] In one possible design, the control module 703 is specifically used to control the synchronous display of the test image and the test result image corresponding to the test image.

[0219] In one possible design, the control module 703 is specifically used to: control the second player to play the test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

[0220] In one possible design approach, the test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

[0221] In one possible design, the control module 703 is further configured to: display the mixed image in the test result bitstream on the display; or, perform image segmentation processing on the mixed image in the test result bitstream frame by frame to obtain each frame of test image and the test result image corresponding to each frame of test image; and control the first player to play the test image while controlling the second player to play the test result image.

[0222] In one possible design, the sending module 701 is further configured to: send Hypertext Transfer Protocol (HTTP) request information to the second device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation, and the control operation is used to instruct the second device to control the test image to be processed.

[0223] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0224] In one possible design, the receiving module 702 is further configured to: receive server-sent event SSE information from the second device, wherein the SSE information includes the position information or time information of the test image currently being processed by the second device; and the control module is further configured to: control the currently displayed test image and test result image according to the position information or time information.

[0225] In one possible design, the test stream originates from the test device's storage system, or the test device's network file system (NFS), or the storage system of a third device.

[0226] This application also provides another testing device for smart cameras, such as... Figure 8 As shown, the testing apparatus 800 may include:

[0227] The receiving module 801 is used to receive test images sent by the first device frame by frame, wherein the test images are currently processed test images obtained by the first device from the first player or decoder.

[0228] The AI ​​recognition module 802 is used to perform AI recognition on the test image frame by frame to obtain the test result image corresponding to each frame of the test image. The test result image includes the test image and the recognition result information obtained by performing AI recognition on the test image.

[0229] The sending module 803 is used to send a test result bitstream to the first device. The test result bitstream includes multiple frames of test result images.

[0230] In one possible design, the test apparatus 800 further includes:

[0231] The processing module is used to perform at least one of the following processing steps on the multiple frames of original test images acquired by the receiving module: decompression, format conversion, or resolution adjustment, to obtain the multi-frame test images of the test bitstream.

[0232] This application also provides another testing device for smart cameras, such as... Figure 9 As shown, the testing apparatus 900 may include:

[0233] The acquisition module 901 is used to acquire the test bitstream, which includes multiple frames of test images.

[0234] The AI ​​recognition module 902 is used to perform AI recognition on the test images in the test bitstream frame by frame to obtain the test result image corresponding to each frame of the test image. The test result image includes the test image and the recognition result information obtained by AI recognition of the test image.

[0235] The processing module 903 is used to stitch the test image and the corresponding test result image frame by frame to obtain the mixed image corresponding to the test image.

[0236] The sending module 904 is used to send a test result bitstream to the first device. The test result bitstream includes a multi-frame mixed image.

[0237] In one possible design, the testing device 900 may further include:

[0238] The decoding module is used to decode and / or decapsulate the test bitstream to obtain multiple test images.

[0239] In one possible design, the testing device 900 may further include:

[0240] The receiving module is used to receive Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to the control operation; the AI ​​recognition module is further used to control the test image to be processed based on the control operation.

[0241] In one possible design approach, the HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. These input parameters are used to indicate the test image to be processed corresponding to the control operation.

[0242] In one possible design, the sending module 904 is further configured to: send event SSE information to the server of the first device, the SSE information including the position information or time information of the test image currently being processed by the second device, the position information or time information being used to instruct the first device to control the display of the test image and the test result image.

[0243] In one possible design, the test stream originates from the storage system of the first device, or from the network file system (NFS) of the test device 900, or from the storage system of the third device.

[0244] Understandably, when the test device is an electronic device, the aforementioned transmitting module can be a transmitter, which may include an antenna and radio frequency circuits, etc., and the processing module can be a processor, such as a baseband chip. When the test device is a component with the functions of the aforementioned first or second device, the transmitting module can be a radio frequency unit, and the processing module can be a processor. When the device is a chip system, the transmitting module can be the output interface of the chip system, and the processing module can be the processor of the chip system, such as a central processing unit (CPU).

[0245] It should be noted that the specific execution process and embodiments of the above-mentioned device 700 can refer to the steps and related descriptions of the first device in the above-mentioned method embodiments, and the specific execution process and embodiments of the above-mentioned device 800 or device 900 can refer to the steps and related descriptions of the second device in the above-mentioned method embodiments. The technical problems solved and the technical effects brought about can also refer to the content described in the foregoing embodiments, and will not be repeated here.

[0246] In this embodiment, the testing apparatus is presented in an integrated manner, divided into various functional modules. Here, "module" can refer to a specific circuit, a processor and memory executing one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the aforementioned functions. In a simple embodiment, those skilled in the art will recognize that the testing apparatus can adopt the following... Figure 10 As shown in the figure.

[0247] Figure 10 This is a schematic diagram illustrating the structure of an exemplary electronic device 1000 according to an embodiment of this application. The electronic device 1000 can be either the first device or the second device described in the above embodiments, used to execute the testing method for the smart camera described in the above embodiments. Figure 10 As shown, the electronic device 1000 may include at least one processor 1001, a communication line 1002, and a memory 1003.

[0248] The processor 1001 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits.

[0249] The communication line 1002 may include a path for transmitting information between the aforementioned components, and the communication line may be, for example, a bus.

[0250] The memory 1003 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory may exist independently and be connected to the processor via communication line 1002. The memory may also be integrated with the processor. The memory provided in this application embodiment is generally non-volatile memory. The memory 1003 is used to store computer program instructions involved in executing the scheme of this application embodiment and is controlled by the processor 1001 for execution. The processor 1001 is used to execute computer program instructions stored in the memory 1003, thereby implementing the method provided in the embodiments of this application.

[0251] Optionally, the computer program instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.

[0252] In a specific implementation, as one example, the processor 1001 may include one or more CPUs, for example... Figure 10 CPU0 and CPU1 in the CPU.

[0253] In a specific implementation, as one example, the electronic device 1000 may include multiple processors, for example... Figure 10 Processors 1001 and 1007 are mentioned. These processors can be single-core (CPU) processors or multi-core (CPU) processors. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0254] In a specific implementation, as one embodiment, the electronic device 1000 may further include a communication interface 1004. The electronic device can send and receive data through the communication interface 1004, or communicate with other devices or communication networks. The communication interface 1004 may be, for example, an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, or a USB interface, etc.

[0255] In a specific implementation, as one embodiment, the electronic device 1000 may further include an output device 1005 and an input device 1006. The output device 1005 communicates with the processor 1001 and can display information in various ways. For example, the output device 1005 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 1006 communicates with the processor 1001 and can receive user input in various ways. For example, the input device 1006 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0256] In specific implementations, the electronic device 1000 can be a desktop computer, a portable computer, a network server, a handheld digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, an embedded device, a smart camera, or something similar. Figure 10 Devices with similar structures. This application does not limit the type of electronic device 1000. For example, if used to implement the method of the second device in the above embodiments, the electronic device 1000 needs to be equipped with a smart camera.

[0257] In some embodiments, Figure 10 The processor 1001 in the memory can call the computer program instructions stored in the memory 1003 to cause the electronic device 1000 to execute the method in the above method embodiment.

[0258] For example, Figure 7 , Figure 8 or Figure 9 The functions / implementation processes of each processing module in the process can be accessed through... Figure 10 The processor 1001 in the memory calls computer program instructions stored in the memory 1003 to implement the function. For example, Figure 7 The functions / implementation process of the control module 703 and the acquisition module can be achieved through... Figure 10The processor 1001 in the memory calls computer execution instructions stored in the memory 1003 to achieve this. Figure 8 The functions / implementation process of the AI ​​recognition module 802 and the processing module can be obtained through Figure 10 The processor 1001 in the memory calls computer execution instructions stored in the memory 1003 to achieve this. Figure 9 The functions / implementation processes of the acquisition module 901, AI recognition module 902, processing module 903, or decoding module can be obtained through... Figure 10 The processor 1001 in the memory calls computer execution instructions stored in the memory 1003 to achieve this.

[0259] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, which can be executed by the processor 1001 of the electronic device 1000 to complete the testing method of the smart camera described in the above embodiment. Therefore, the technical effects obtained can be referred to the above method embodiments, and will not be repeated here.

[0260] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, it can be implemented, in whole or in part, as a computer program product. This 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 according to the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.

[0261] Figure 11 This is a schematic diagram of a chip structure provided in an embodiment of this application. Chip 1100 includes one or more processors 1101 and interface circuits 1102. Optionally, chip 1100 may also include a bus 1103.

[0262] The processor 1101 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed through integrated logic circuits in the processor 1101 or through software instructions. The processor 1101 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods and steps disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor.

[0263] The interface circuit 1102 is used for sending or receiving data, instructions, or information. The processor 1101 can process the data, instructions, or other information received by the interface circuit 1102, and can send the processed information out through the interface circuit 1102.

[0264] Optionally, chip 1100 also includes memory, which may include read-only memory and random access memory, and provides operation instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).

[0265] Optionally, the memory stores executable software modules or data structures, and the processor can execute corresponding operations by calling the operation instructions stored in the memory (which may be stored in the operating system).

[0266] Optionally, chip 1100 can be used in the testing apparatus (including the first apparatus and the second apparatus) involved in the embodiments of this application. Optionally, interface circuit 1102 can be used to output the execution result of processor 1101. For communication methods provided in one or more embodiments of this application, please refer to the foregoing embodiments, which will not be repeated here.

[0267] It should be noted that the functions of the processor 1101 and the interface circuit 1102 can be implemented through hardware design, software design, or a combination of hardware and software; no restrictions are imposed here.

[0268] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0269] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A testing method for a smart camera, characterized in that, The method includes: The first device sends a test stream to the second device, the test stream comprising multiple frames of test images; The first device receives a test result stream sent from the second device. The test result stream includes multiple frames of test result images. The test result images are obtained by superimposing recognition result information on the test images corresponding to the test result images. The recognition result information is obtained by the second device performing artificial intelligence (AI) recognition on the test images. The first device controls the test stream and the test result stream to be displayed together on the display; The first device sends an HTTP request message to the second device, wherein the HTTP request message includes a Uniform Resource Locator (URL) corresponding to a control operation, and the control operation is used to instruct the second device to control the test image to be processed.

2. The method according to claim 1, characterized in that, The first device sends the test bitstream to the second device, specifically including: The first device acquires multi-frame test images of the test bitstream frame by frame from the first player or decoder, wherein the first player is a player that plays the test bitstream; The first device sends multiple frames of the test images to the second device frame by frame.

3. The method according to claim 1 or 2, characterized in that, The first device sends the test bitstream to the second device, specifically including: When the first player plays the test stream, the first device obtains a target test image from the first player, and the target test image is the test image currently being played by the first player; The first device sends the target test image to the second device.

4. The method according to claim 2, characterized in that, The first device acquires multi-frame test images of the test bitstream frame by frame from the first player or decoder, specifically including: The first device acquires multiple frames of original test images from the test bitstream. The first device performs at least one of the following processing steps on the original test image frame by frame: image compression, format conversion, or resolution adjustment, to obtain the multi-frame test image of the test bitstream.

5. The method according to claim 1 or 2, characterized in that, The first device controls the test stream and the test result stream to be displayed together on the display, specifically including: The first device controls the first player to play the test stream; After the first device receives the test result stream sent from the second device, it controls the second player to play the test result stream.

6. The method according to claim 1 or 2, characterized in that, The first device controls the test stream and the test result stream to be displayed together on the display, specifically including: The first device controls the synchronous display of the test image and the test result image corresponding to the test image.

7. The method according to claim 6, characterized in that, The first device controls the synchronous display of the test image and the corresponding test result image, specifically including: The first device controls the second player to play a test result image corresponding to the test image played by the first player by adjusting the playback rate of the test bitstream played by the first player.

8. The method according to claim 1, characterized in that, The test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

9. The method according to claim 8, characterized in that, The first device controls the test stream and the test result stream to be displayed together on the display, specifically including: The first device displays the mixed image in the test result bitstream on the display; or, The first device performs image segmentation processing on the mixed image in the test result bitstream frame by frame to obtain a test image for each frame and a test result image corresponding to each test image; While the first device controls the first player to play the test image, it also controls the second player to play the test result image.

10. The method according to claim 1 or 2, characterized in that, The HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. The input parameters are used to indicate the test image to be processed corresponding to the control operation.

11. The method according to claim 1 or 2, characterized in that, The first device controls the test stream and the test result stream to be displayed together on the display, specifically including: The first device receives server-sent event SSE information from the second device, the SSE information including the location information or time information of the test image currently being processed by the second device; The first device controls the currently displayed test image and test result image based on the location information or the time information.

12. The method according to claim 1 or 2, characterized in that, The test stream originates from the storage system of the first device, or the network file system (NFS) of the first device, or the storage system of the third device.

13. A testing method for a smart camera, characterized in that, The method includes: The second device receives test images sent by the first device frame by frame, wherein the test images are currently processed test images obtained by the first device from the first player or decoder; The second device performs AI recognition on the test image frame by frame to obtain a test result image corresponding to each frame of the test image. The test result image includes the test image and the recognition result information obtained by performing AI recognition on the test image. The second device receives Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation; The second device controls the test image to be processed based on the control operation; The second device sends a test result stream to the first device, the test result stream including multiple frames of test result images.

14. The method according to claim 13, characterized in that, Before the second device performs AI recognition on the test image frame by frame, the method further includes: The second device acquires multiple frames of original test images from the test bitstream; The second device performs at least one of the following processes on the original test image frame by frame: decompression, format conversion, or resolution adjustment, to obtain a multi-frame test image of the test bitstream.

15. A testing method for a smart camera, characterized in that, The method includes: The second device acquires a test stream, which includes multiple frames of test images. The second device performs AI recognition on the test images in the test stream frame by frame to obtain a test result image corresponding to each frame of the test image. The test result image is obtained by superimposing the test image and the recognition result information. The second device receives Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation; The second device controls the test image to be processed based on the control operation; The second device stitches the test image and the corresponding test result image frame by frame to obtain the mixed image corresponding to the test image; The second device sends a test result stream to the first device, the test result stream comprising multiple frames of the mixed image.

16. The method according to claim 15, characterized in that, Before the second device performs AI recognition on the test images in the test bitstream frame by frame, the method further includes: The second device performs decoding and / or decapsulation processing on the test bitstream to obtain multiple test images.

17. The method according to claim 15 or 16, characterized in that, The HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. The input parameters are used to indicate the test image to be processed corresponding to the control operation.

18. The method according to claim 17, characterized in that, The method further includes: The second device sends event SSE information to the server of the first device. The SSE information includes the location information or time information of the test image currently being processed by the second device. The location information or the time information is used to instruct the first device to control the display of the test image and the test result image.

19. The method according to claim 15 or 16, characterized in that, The test stream originates from the storage system of the first device, or the network file system (NFS) of the second device, or the storage system of the third device.

20. A testing device for an intelligent camera, characterized in that, The testing apparatus includes: A sending module is used to send a test stream to a second device, the test stream comprising multiple frames of test images; The receiving module is used to receive a test result stream sent from the second device. The test result stream includes multiple frames of test result images. The test result images are obtained by superimposing recognition result information on the test images corresponding to the test result images. The recognition result information is obtained by the second device performing artificial intelligence (AI) recognition on the test images. The sending module is further configured to send Hypertext Transfer Protocol (HTTP) request information to the second device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation, and the control operation is used to instruct the second device to control the test image to be processed. The control module is used to control the test stream and the test result stream to be displayed together on the display.

21. The testing apparatus according to claim 20, characterized in that, The testing apparatus also includes: The acquisition module is used to acquire multi-frame test images of the test bitstream frame by frame from the first player or decoder, wherein the first player is a player that plays the test bitstream; The sending module is specifically used to send multiple frames of the test image to the second device frame by frame.

22. The testing apparatus according to claim 20 or 21, characterized in that, When the test stream is played by the first player, the acquisition module is specifically used for: The target test image is obtained from the first player, and the target test image is the test image currently being played by the first player; The sending module is specifically used to send the target test image to the second device.

23. The testing apparatus according to claim 21, characterized in that, The acquisition module is specifically used for: Obtain multiple frames of original test images of the test stream from the first player or the decoder; After performing at least one of the following processes on the original test image frame by frame: image compression, format conversion, or resolution adjustment, the multi-frame test image of the test bitstream is obtained.

24. The testing apparatus according to claim 20 or 21, characterized in that, The control module is specifically used for: Control the first player to play the test stream; After receiving the test result stream sent from the second device, the second player is controlled to play the test result stream.

25. The testing apparatus according to claim 20 or 21, characterized in that, The control module is specifically used for: The test image and the corresponding test result image are displayed synchronously.

26. The testing apparatus according to claim 25, characterized in that, The control module is specifically used for: By adjusting the playback rate of the test stream played by the first player, the second player is controlled to play the test result image corresponding to the test image played by the first player.

27. The testing apparatus according to claim 20, characterized in that, The test result stream includes a composite image, which is a stitched image of the test image and the test result image corresponding to the test image.

28. The testing apparatus according to claim 27, characterized in that, The control module is also specifically used for: Display the mixed image in the test result stream on the monitor; or, The mixed image in the test result bitstream is segmented frame by frame to obtain a test image for each frame and a test result image corresponding to each test image; While controlling the first player to play the test image, control the second player to play the test result image.

29. The testing apparatus according to claim 20 or 21, characterized in that, The HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. The input parameters are used to indicate the test image to be processed corresponding to the control operation.

30. The testing apparatus according to claim 29, characterized in that, The receiving module is also used for: Receive server-sent event SSE information from the second device, wherein the SSE information includes the location information or time information of the test image currently being processed by the second device; The control module is further configured to: control the currently displayed test image and test result image based on the location information or the time information.

31. The testing apparatus according to claim 20 or 21, characterized in that, The test stream originates from the storage system of the test device, or the network file system (NFS) of the test device, or the storage system of a third device.

32. A testing device for an intelligent camera, characterized in that, The testing apparatus includes: The receiving module is used to receive test images sent by the first device frame by frame, wherein the test images are currently processed test images obtained by the first device from the first player or decoder; The AI ​​recognition module is used to perform AI recognition on the test image frame by frame to obtain a test result image corresponding to each frame of the test image. The test result image includes the test image and the recognition result information obtained by performing AI recognition on the test image. The receiving module is further configured to receive Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation; The AI ​​recognition module is also used to control the test image to be processed based on control operations; The sending module is used to send a test result stream to the first device, the test result stream including multiple frames of test result images.

33. The testing apparatus according to claim 32, characterized in that, The testing apparatus also includes: The processing module is used to perform at least one of the following processing steps on the multiple frames of original test images acquired by the receiving module: decompression, format conversion, or resolution adjustment, to obtain a multi-frame test image of the test bitstream.

34. A testing device for an intelligent camera, characterized in that, The testing apparatus includes: The acquisition module is used to acquire the test bitstream, which includes multiple frames of test images; The AI ​​recognition module is used to perform AI recognition on the test images in the test stream frame by frame to obtain a test result image corresponding to each frame of the test image. The test result image includes the test image and the recognition result information obtained by performing AI recognition on the test image. The receiving module is further configured to receive Hypertext Transfer Protocol (HTTP) request information sent from the first device, wherein the HTTP request information includes a Uniform Resource Locator (URL) corresponding to a control operation. The AI ​​recognition module is also used to control the test image to be processed based on control operations; The processing module is used to stitch the test image and the test result image corresponding to the test image frame by frame to obtain the mixed image corresponding to the test image; The sending module is used to send a test result stream to the first device, the test result stream comprising multiple frames of the mixed image.

35. The testing apparatus according to claim 34, characterized in that, The testing device further includes a decoding module for: The test bitstream is decoded and / or decapsulated to obtain multiple test images.

36. The testing apparatus according to claim 34 or 35, characterized in that, The HTTP request information also includes input parameters, which include the frame sequence number or timestamp of the test image to be processed. The input parameters are used to indicate the test image to be processed corresponding to the control operation.

37. The testing apparatus according to claim 36, characterized in that, The sending module is also used for: The first device sends event SSE information to the server. The SSE information includes the location information or time information of the test image currently being processed by the test device. The location information or the time information is used to instruct the first device to control the display of the test image and the test result image.

38. The testing apparatus according to claim 34 or 35, characterized in that, The test stream originates from the storage system of the first device, or the network file system (NFS) of the test device, or the storage system of the third device.

39. A testing device for an intelligent camera, characterized in that, include: Processor and transmission interface; The processor is configured to execute instructions stored in a memory to implement the testing method for the smart camera as described in any one of claims 1-12, 13-14, or 15-19.

40. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed by a computer or processor, enable the computer or processor to perform the testing method for the smart camera as described in any one of claims 1-12, 13-14, or 15-19.

41. A computer program product, characterized in that, When the computer program product is run on a computer or processor, it causes the computer or processor to perform the testing method for the smart camera as described in any one of claims 1-12, 13-14, or 15-19.

Citation Information

Patent Citations

  • Intelligent analytical algorithm test system and method

    CN104063313A