Indoor trajectory tracking method, electronic equipment and computer readable medium
By receiving and processing multi-camera video streams in real time and generating user tracking video streams, the problems of low efficiency and poor reliability of user tracking in multi-camera environments are solved, and more efficient and reliable user tracking is achieved.
Patent Information
- Application Number
- CN202411938834.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-18
AI Technical Summary
In a multi-camera environment, technicians need to find user tracking in various surveillance video data, resulting in low tracking efficiency and easy tracking failure or error due to obstacles or similar appearance, reducing the reliability of tracking video data and wasting computing resources.
By receiving the surveillance video streams captured by each camera in real time, responding to the user terminal's door opening and exit requests, the target user's location information is generated, and the user's track video stream is generated based on this information to reduce tracking errors caused by obstacles or similar appearances.
It improves the efficiency of user trajectory tracking, enhances the reliability of trajectory video data, and reduces the waste of computing resources.
Smart Images

Figure CN119854452A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to an indoor trajectory tracking method, an electronic device, and a computer-readable medium. Background Art
[0002] Indoor trajectory tracking is a technology that tracks the user's indoor trajectory through various surveillance videos. For example, in an unmanned convenience store, the user's trajectory in the unmanned convenience store can be obtained through the video data captured by the camera. At present, when tracking the user's indoor trajectory, the usual method is: first, determine the time period when the user is indoors through the two door opening request messages sent by the user terminal. Then, the technicians use the surveillance video data corresponding to the above time period to find the surveillance video data corresponding to the user at each time point, and display the various surveillance video data of the user in different time periods to track the user's trajectory.
[0003] However, when the above method is used to track the user's trajectory, the following technical problems often occur:
[0004] When all surveillance cameras are shooting together, technicians need to find the surveillance video data corresponding to the user at each time point in the surveillance video data in order to track the user's trajectory, resulting in low tracking efficiency. At the same time, technicians are prone to failure or error in tracking users due to factors such as users being blocked by obstacles or having similar appearances, which in turn leads to low reliability of trajectory video data generated using computing resources, resulting in a waste of computing resources. Summary of the invention
[0005] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.
[0006] Some embodiments of the present disclosure propose an indoor trajectory tracking method, an electronic device, and a computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.
[0007] In a first aspect, some embodiments of the present disclosure provide an indoor trajectory tracking method, the method comprising: receiving indoor surveillance video streams captured by various cameras in real time; in response to receiving door opening request information sent by various user terminals, for each of the door opening request information, performing the following steps: based on the door opening request information, performing a door opening task corresponding to the door opening request information, wherein the door opening request information includes door opening information, user information and user terminal information; determining a user terminal corresponding to the user terminal information as a target user terminal; based on user terminal signals sent in real time by various user terminals in a preset area, generating target user location information corresponding to the target user terminal; in response to receiving exit request information sent by the target user terminal, performing the following steps: performing an exit task corresponding to the exit request information; generating a user trajectory video stream corresponding to the target user terminal based on the target user location information and the indoor surveillance video streams; in response to receiving video viewing information input by the user, determining the user trajectory video stream corresponding to the video viewing information among the generated user trajectory video streams as the target user trajectory video stream; and displaying the target user trajectory video stream.
[0008] In a second aspect, some embodiments of the present disclosure provide an electronic device, comprising: respective cameras configured to receive respective indoor surveillance video data; one or more processors; and a storage device on which one or more programs are stored, wherein when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.
[0009] In a third aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the first aspect is implemented.
[0010] The above-mentioned various embodiments of the present disclosure have the following beneficial effects: through the indoor trajectory tracking method of some embodiments of the present disclosure, the tracking efficiency can be improved, the reliability of the trajectory video data generated by using computing resources can be improved, and the waste of computing resources can be reduced. Specifically, the reliability of the trajectory video data generated by using computing resources is low and the reason for the waste of computing resources is that: when various surveillance cameras shoot together, technicians need to find the surveillance video data corresponding to the user at each time point in each surveillance video data in order to track the user's trajectory, resulting in low tracking efficiency. At the same time, technicians are prone to failure or tracking errors in user tracking due to factors such as users being blocked by obstacles or similar appearances, which in turn leads to low reliability of the trajectory video data generated by using computing resources, resulting in waste of computing resources. Based on this, the indoor trajectory tracking method of some embodiments of the present disclosure first receives each indoor surveillance video stream shot by each camera in real time. Thus, each indoor surveillance video stream can be obtained. Secondly, in response to receiving each door opening request information sent by each user terminal, for each door opening request information in the above-mentioned door opening request information, the following steps are performed: first, based on the above-mentioned door opening request information, the door opening task corresponding to the above-mentioned door opening request information is performed, wherein the above-mentioned door opening request information includes door opening information, user information and user terminal information. Thus, the user information can be matched with the user terminal information through the door opening request information. Secondly, the user terminal corresponding to the above-mentioned user terminal information is determined as the target user terminal. Thus, the object to be tracked can be determined. Then, based on each user terminal signal sent in real time by each user terminal in the preset area, each target user position information corresponding to the above-mentioned target user terminal is generated. Thus, the location of the user carrying the user terminal can be determined through the user terminal signal sent by the user terminal, and then the user can be tracked. By obtaining the location of the user terminal, the corresponding location of the user can be determined, which can reduce the probability of tracking errors or tracking failures caused by factors such as similar user appearances or users being blocked by obstacles. Then, in response to receiving the exit request information sent by the above-mentioned target user terminal, the following steps are performed: first, the exit task corresponding to the above-mentioned exit request information is executed. Thus, the user's going-out request information and the time of going out can be received. Then, based on the above-mentioned target user location information and each indoor monitoring video stream, a user trajectory video stream corresponding to the above-mentioned target user terminal is generated. Thus, the user's indoor trajectory video can be obtained. Then, in response to receiving the video viewing information input by the user, the user trajectory video stream corresponding to the above-mentioned video viewing information in the generated various user trajectory video streams is determined as the target user trajectory video stream. Thus, the corresponding user trajectory video stream can be found through the input video viewing information. Finally, the above-mentioned target user trajectory video stream is displayed. Thus, the user trajectory video stream can be displayed.Because the user's location can be determined through the received user terminal signal, the user can be tracked, thereby improving the efficiency of user tracking. Also, because the user's indoor location can be determined through the user terminal signal sent by the user terminal carried by the user, the probability of tracking errors or tracking failures caused by factors such as similar user appearances or users being blocked by obstacles can be reduced, and the user's location information can be obtained more accurately. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.
[0012] Figure 1 is a flow chart of some embodiments of the indoor trajectory tracking method according to the present disclosure;
[0013] Figure 2 is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure;
[0014] Figure 3 is a schematic diagram of determining user location information according to the indoor trajectory tracking method disclosed herein;
[0015] Figure 4 It is a schematic diagram of each indoor surveillance video stream captured by each camera. DETAILED DESCRIPTION
[0016] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0017] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.
[0018] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0019] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0020] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0021] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.
[0022] Figure 1 The process 100 of some embodiments of the indoor trajectory tracking method according to the present disclosure is shown. The indoor trajectory tracking method comprises the following steps:
[0023] Step 101, receiving each indoor monitoring video stream captured by each camera in real time.
[0024] In some embodiments, the execution subject (e.g., a computing device) of the indoor trajectory tracking method may receive in real time each indoor surveillance video stream captured by each camera. Among them, the indoor surveillance video stream in the above-mentioned indoor surveillance video stream may be a video stream corresponding to the video data captured by the camera. The above-mentioned execution subject may be a computing device. One of the above-mentioned cameras may be suspended at the center of the ceiling as a reference camera, and each of the above-mentioned cameras except the above-mentioned reference camera may be installed on the wall around the reference camera. And the shooting range corresponding to each of the above-mentioned cameras except the reference camera overlaps with the shooting range of the above-mentioned reference camera.
[0025] Figure 4 It is a schematic diagram of each indoor surveillance video stream captured by each camera.
[0026] like Figure 4 As shown in the figure, "Manual Refresh" can be a control for refreshing each indoor surveillance video stream. "Refresh" can be a control for refreshing the page. "Multi-camera" can be a control for displaying Figure 4 Controls for the indoor surveillance video stream corresponding to the surveillance points 6-9. Figure 4 The five indoor surveillance video streams shown in the figure are indoor surveillance video streams shot by the five cameras installed on the wall among the above-mentioned cameras. The "Instant Replay" in the indoor surveillance video stream corresponding to monitoring point 1 can be a control for replaying the indoor surveillance video stream for 10 seconds. "Smooth" can represent the clarity of the indoor surveillance video stream. The playback speed can be used to adjust the playback speed of the indoor surveillance video stream. The volume control can be used to adjust the volume. The full screen control can be used to display the indoor surveillance video stream in full screen.
[0027] Step 102, in response to receiving each door opening request information sent by each user terminal, for each door opening request information in each door opening request information, perform the following steps:
[0028] Step 1021, based on the door opening request information, execute the door opening task corresponding to the door opening request information.
[0029] In some embodiments, the execution subject may execute the door opening task corresponding to the door opening request information based on the door opening request information. Among them, the user terminal in each of the user terminals may be a terminal device of the user. The door opening request information may be information sent by the user terminal. The door opening request information may include door opening information, user information and user terminal information. The door opening information may be information for requesting door opening. The user information may be the user's personal information. The user information may include a user account and member information. The member information may be information for characterizing whether the user is a member. For example, the member information may be "member" or "non-member". The user terminal information may be information corresponding to the user terminal. The user terminal information may be a terminal identification code of the user terminal. The terminal identification code may be a UUID (Universally Unique Identifier) corresponding to the user terminal. In practice, first, the execution subject may verify the door opening request information with a custom verification function to obtain a verification result. The verification function may be used to verify whether the door opening request information sent by the user terminal is complete. For example, the verification function may be a function written on a data verification framework (Hibernate Validator). When the inspection result is "complete", the preset door opening instruction can be sent to the driving device to perform the door opening task. The door opening instruction can be an instruction for requesting the target terminal to perform the door opening operation. The driving device can be a device installed on the door shaft, which can drive the door body to open or close after receiving the corresponding instruction. For example, the driving device can be an automatic door controller.
[0030] Step 1022: determine the user terminal corresponding to the user terminal information as the target user terminal.
[0031] In some embodiments, the execution entity may determine the user terminal corresponding to the user terminal information as the target user terminal.
[0032] Step 1023: generating target user location information corresponding to the target user terminal based on the user terminal signals sent in real time by the user terminals in the preset area.
[0033] In some embodiments, the execution subject may generate the target user location information corresponding to the target user terminal based on the user terminal signals emitted in real time by the user terminals in the preset area. The preset area may be an area covered by the signal receiving devices placed in advance by the technicians. The signal receiving device in each of the signal receiving devices may be used to receive the signal emitted by the user terminal. For example, the signal receiving device may be a Bluetooth receiver. Each of the user terminal signals may be a signal emitted by the user terminal. The user terminal signal corresponds to the terminal identification code of the user terminal.
[0034] In some optional implementations of some embodiments, the execution subject may generate each target user location information corresponding to the target user terminal based on each user terminal signal sent in real time by each user terminal in a preset area through the following steps:
[0035] The first step is to receive in real time the user terminal signals sent by each user terminal in the preset area. In practice, the execution subject can receive in real time the user terminal signals sent by each user terminal in the preset area through each signal receiving device, and obtain the signal strength information of each user terminal signal in each user terminal signal. The signal strength information can be RSSI (Received Signal Strength Indicator).
[0036] In the second step, each user terminal signal corresponding to the target user terminal in each user terminal signal is determined as each target user terminal signal. Each target user terminal signal in the target user terminal signals corresponds to each signal strength information. In practice, the execution subject may determine each user terminal signal whose terminal identification code included in the target user terminal signal is the same as the terminal identification code of the target user terminal as each target user terminal signal.
[0037] In the third step, for each of the above target user terminal signals, the following steps are performed:
[0038] The first sub-step is to generate each user distance data based on each signal strength information corresponding to the target user terminal signal, wherein the user distance data in the each user distance data may be a straight-line distance between the user terminal and the signal receiving device.
[0039] The second sub-step is to generate user location information based on the above-mentioned distance data of each user, wherein the above-mentioned user location information may be the coordinate position of the user.
[0040] The third sub-step is to store the user location information in a preset data table, wherein the data table may be a pre-set data table for storing user location information.
[0041] The fourth step is to determine the respective user location information corresponding to the respective target user terminal signals in the respective user location information stored in the above data table as the respective target user location information.
[0042] In some optional implementations of some embodiments, the execution subject may generate each user distance data based on each signal strength information corresponding to the target user terminal signal through the following steps:
[0043] In the first step, for each piece of signal strength information corresponding to the target user terminal signal, the following steps are performed:
[0044] The first sub-step is to determine the absolute value of the above signal strength information as signal strength absolute value data.
[0045] The second sub-step is to determine the difference between the above signal strength absolute value data and the preset reference signal strength data as signal difference data. The above reference signal strength data may be a preset value for characterizing the signal strength. Here, the specific setting of the above reference signal strength data is not limited.
[0046] The third sub-step is to determine the ratio of the above signal difference data to the preset loss coefficient as the signal index. The above loss coefficient may be a value used to characterize the attenuation degree of the signal during the propagation process. In practice, the above execution entity may determine the product of the preset path loss index and the preset multiple as the above loss coefficient. The above preset multiple may be a pre-set value. For example, the above preset multiple may be 10.
[0047] The fourth sub-step is to generate user distance data based on the preset value and the signal index. The preset value may be a pre-set value. For example, the preset value may be 10. In practice, the execution subject may determine the product of the signal index and the preset value as the user distance data.
[0048] In some optional implementations of some embodiments, the execution subject may generate user location information based on the above-mentioned distance data of each user through the following steps:
[0049] The first step is to determine the coordinate position of the target user terminal corresponding to the target user terminal signal as the target coordinate position based on the target user terminal signal. In practice, the execution entity can determine the position of any one of the signal receiving devices as the coordinate origin. Then, the horizontal eastward direction of the coordinate origin can be determined as the horizontal coordinate axis, and the horizontal northward direction of the coordinate origin can be determined as the direction of the vertical coordinate axis, to obtain a coordinate system as an indoor coordinate system. In practice, the execution entity can determine the two-dimensional coordinates of the target user terminal signal in the indoor coordinate system as the target coordinate position.
[0050] In the second step, nonlinear optimization information is constructed based on the preset coordinate positions of each receiving device, the above-mentioned user distance data and the above-mentioned target coordinate position. Among them, the receiving device coordinate position in the above-mentioned receiving device coordinate positions can be the two-dimensional coordinates of the signal receiving device in the above-mentioned indoor coordinate system. The above-mentioned nonlinear optimization information can be a set of equations for finding the above-mentioned target coordinate position. In practice, for each receiving device coordinate position in the above-mentioned receiving device coordinate positions, the square of the difference between the horizontal coordinate in the above-mentioned receiving device coordinate position and the horizontal coordinate of the above-mentioned target coordinate position can be determined as the first position data. Then, the square of the difference between the vertical coordinate in the above-mentioned receiving device coordinate position and the vertical coordinate of the above-mentioned target coordinate position can be determined as the second position data. Then, the user distance data corresponding to the above-mentioned receiving device coordinate position in the above-mentioned user distance data can be determined as the target user distance data. Then, the sum of the above-mentioned first position data and the second position data can be made equal to the square of the above-mentioned target user distance data, thereby constructing an equation as nonlinear optimization sub-information. Finally, the constructed nonlinear optimization sub-information can be combined into nonlinear optimization information.
[0051] The third step is to generate user location information based on the nonlinear optimization information. In practice, the execution subject may determine the solution of the nonlinear optimization information as the user location information.
[0052] For example, Figure 3 It is a schematic diagram of determining user location information according to the indoor trajectory tracking method disclosed in the present invention.
[0053] like Figure 3 As shown, Figure 3 The coordinate system in can be the above-mentioned indoor coordinate system. Figure 3The three black dots in can represent the above-mentioned signal receiving devices. (x1, y1), (x2, y2) and (x3, y3) can be the coordinates of the above-mentioned signal receiving devices in the above-mentioned indoor coordinate system, that is, the coordinate positions of the above-mentioned receiving devices. The white dots can represent the position of the user carrying the user terminal. (x4, y4) can be the coordinates of the user in the above-mentioned indoor coordinate system, that is, the above-mentioned target coordinate position. D1, D2 and D3 can be the distance data of the above-mentioned users, which can be used to represent the distance from the user to the corresponding signal receiving device.
[0054] Optionally, before step 1024, the execution entity may perform the following steps:
[0055] In the first step, in response to detecting a click operation performed by a user on a scanning module, the following steps are performed:
[0056] The first sub-step is, in response to receiving user information input by the user, executing the following steps:
[0057] Sub-step 1: Scan each item carried by the user to obtain identification information of each item. The scanning module may be a control for scanning an item. The item identification information in the identification information of each item may be an identification code of the item. In practice, the execution subject may identify the identification code of each item in the items through optical character recognition technology to obtain the identification code corresponding to each item in the items as the item identification information.
[0058] Sub-step 2: for each item identification information in the above-mentioned item identification information, search the item information corresponding to the above-mentioned item identification information from the preset item information database as the target item information. The above-mentioned item information database may be a database for storing each item information. The item information in the above-mentioned item information may be information corresponding to the item. The above-mentioned item information may include an identification code, an item name, a manufacturer and item specifications. In practice, for each item identification information in the above-mentioned item identification information, the above-mentioned execution subject may search the item information including the same identification code as the above-mentioned item identification information from the above-mentioned item information database through a database search function as the target item information. The above-mentioned database search function may be a LIKE operator.
[0059] Sub-step three, for each target item information among the various target item information being searched, generate the item value information corresponding to the above target item information based on the preset item value comparison information. Among them, the above item value comparison information can be a correspondence table between item information and item value. In practice, for each target item information among the various target item information being searched, first, the above execution subject can use a search function to search for the item information corresponding to the above target item information from the above item value comparison information as the item information to be processed. Then, the value information corresponding to the above item information to be processed can be determined as the item value information corresponding to the above target item information. Among them, the above search function can be a find function.
[0060] Sub-step 4: Generate total item value information based on the generated item value information and the user information corresponding to the above user. In practice, first, the execution subject may determine the sum of the above item value information as the total item value. Then, in response to determining that the member information included in the above user information is "member", the product of the total item value and the preset percentage may be determined as the total item value information. In response to determining that the member information included in the above user information is "non-member", the total item value may be determined as the total item value information.
[0061] Sub-step five: displaying the value information of each item and the total value information of the items.
[0062] Step 1024, in response to receiving the exit request information sent by the target user terminal, perform the following steps:
[0063] Step 10241, executing the outgoing task corresponding to the outgoing request information.
[0064] In some embodiments, the execution subject may execute an exit task corresponding to the exit request information. The exit request information may be information sent by a user terminal requesting to exit. The exit request information corresponds to a time point. In practice, in response to receiving the exit request information sent by the target user terminal, the execution subject may send preset door opening information to the drive device to execute the corresponding door opening task. The door opening information may be an instruction for opening the door.
[0065] Step 10242: Based on the location information of each target user and each indoor monitoring video stream, generate a user trajectory video stream corresponding to the target user terminal.
[0066] In some embodiments, the execution subject may generate a user trajectory video stream corresponding to the target user terminal based on the location information of each target user and each indoor monitoring video stream, wherein the user trajectory video stream may be a video data stream corresponding to the user carrying the target user terminal.
[0067] In some optional implementations of some embodiments, the execution subject may generate a user trajectory video stream corresponding to the target user terminal based on the location information of each target user and each indoor monitoring video stream through the following steps:
[0068] The first step is to generate the time range information corresponding to the target user terminal based on the door opening request information and the exit request information. The time range information may be the time period from when the user carrying the target user terminal enters the door to when the user exits the door. In practice, the execution entity may determine the range from the time point corresponding to the door opening request information to the time point corresponding to the exit request information as the time range information.
[0069] The second step is to integrate and process the above-mentioned target user location information to obtain a user trajectory coordinate sequence. Among them, the above-mentioned user trajectory coordinate sequence can be used to characterize the user's movement trajectory from entering the door to leaving the door. Each user trajectory coordinate in the above-mentioned user trajectory coordinate sequence corresponds to a time point. In practice, the above-mentioned execution subject can sort the above-mentioned target user location information in order from early to late according to the various time points corresponding to the above-mentioned target user location information, and obtain the target user location information sequence as the user trajectory coordinate sequence.
[0070] The third step is to determine the various camera point information corresponding to the above-mentioned user trajectory coordinate sequence based on the above-mentioned user trajectory coordinate sequence and the preset camera position information. Among them, the above-mentioned camera position information can be a correspondence table between each camera number and each monitoring area. For example, the above-mentioned camera position information can be "Camera No. 1 corresponds to monitoring area 1, and Camera No. 2 corresponds to monitoring area 2". The camera number in the above-mentioned camera numbers can be the number of the camera. The monitoring area in the above-mentioned monitoring areas can represent the various coordinate positions covered by the camera. In practice, for each user trajectory coordinate in each user trajectory coordinate included in the above-mentioned user trajectory coordinate sequence, the above-mentioned execution subject can use the above-mentioned search function to search the monitoring area corresponding to the above-mentioned user trajectory coordinate from the above-mentioned camera position information as the target monitoring area. Then, the camera number corresponding to the above-mentioned target monitoring area can be determined as the camera point information corresponding to the above-mentioned user trajectory coordinate.
[0071] In the fourth step, each camera corresponding to the above-mentioned camera point information is determined as each target camera.
[0072] In the fifth step, each indoor monitoring video stream captured by each target camera is determined as each target indoor monitoring video stream.
[0073] The sixth step is to preprocess the above-mentioned target indoor monitoring video streams to obtain the preprocessed indoor monitoring video streams. Among them, the preprocessed indoor monitoring video streams in the above-mentioned preprocessed indoor monitoring video streams can be the preprocessed target indoor monitoring video streams. In practice, the above-mentioned execution subject can perform denoising on the above-mentioned target indoor monitoring video streams through a video denoising algorithm to obtain the denoised target indoor monitoring video streams as the preprocessed indoor monitoring video streams. Among them, the above-mentioned video denoising algorithm can be a Gaussian filter.
[0074] The seventh step is to perform video segmentation processing on each of the above-mentioned pre-processed indoor surveillance video streams based on the above-mentioned time range information to obtain each segmented video stream corresponding to the above-mentioned time range information. Among them, the segmented video streams in the above-mentioned segmented video streams can be the pre-processed indoor surveillance video stream within the above-mentioned time range information. In practice, for each of the above-mentioned pre-processed indoor surveillance video streams, the above-mentioned execution entity can use video segmentation software to segment the above-mentioned pre-processed indoor surveillance video stream into the pre-processed indoor surveillance video stream corresponding to the above-mentioned time range information as a segmented video stream. Among them, the above-mentioned video segmentation software can be MP4Tools.
[0075] Step 8: Based on the above segmented video streams, generate a user trajectory video stream corresponding to the above target user terminal. The above user trajectory video stream may be video data corresponding to the user from entering the door to leaving the door.
[0076] In the process of adopting technical solutions to solve the above technical problems, the following problems are often accompanied:
[0077] The technician needs to watch the various surveillance video data displayed at the same time to obtain the user's movement trajectory indoors. When there is a large amount of surveillance video data, it is easy to reduce the efficiency of the technician in obtaining the user's movement trajectory, resulting in a longer time to obtain the movement trajectory, which in turn requires a long time to call display resources to display each surveillance video data, resulting in a waste of display resources.
[0078] Faced with the above technical problems, we decided to adopt the following solutions:
[0079] In some optional implementations of some embodiments, the execution subject may generate a user trajectory video stream corresponding to the target user terminal based on the above-mentioned segmented video streams through the following steps:
[0080] In the first step, a segmented video stream that meets a preset video condition among the above segmented video streams is determined as a reference video stream. The above preset video condition may be a video region where the segmented video stream overlaps with all the segmented video streams other than the above segmented video stream. The above reference video stream includes reference video frames. Each of the above reference video frames corresponds to a time point.
[0081] In the second step, the segmented video streams that do not meet the preset video condition in the segmented video streams are determined as the video streams to be processed. Each of the segmented video streams to be processed includes video frames to be processed. Each of the segmented video frames to be processed corresponds to a time point.
[0082] In the third step, for each reference video frame in the reference video stream, the following steps are performed:
[0083] In the first sub-step, the time point corresponding to the reference video frame is determined as the reference time point.
[0084] The second sub-step is to determine, based on each of the above-mentioned video streams to be processed, a video frame to be processed corresponding to the above-mentioned reference time point among the various video frames to be processed included in the above-mentioned video streams to be processed as a target video frame.
[0085] The third sub-step is to correct each of the determined target video frames based on the reference video frame to obtain each corrected video frame. Among them, the corrected video frame in each of the corrected video frames can be a target video frame after correction processing. In practice, for each of the target video frames, the execution subject can correct the target video frame through an image correction algorithm so that the tilt angle and image size corresponding to the target video frame are the same as the tilt angle and image size corresponding to the reference video frame, and obtain the target video frame corresponding to the corrected video frame.
[0086] The fourth sub-step is to perform feature point extraction processing on the reference video frame and the corrected video frames to obtain a reference feature point group and corrected feature point groups. The reference feature points in the reference feature point group may be feature points in the reference video frame. The corrected feature points in the corrected feature point groups may be feature points in the corrected video frame. Each corrected feature point group in the corrected feature point groups corresponds to a corrected video frame. In practice, the execution subject may perform feature point extraction processing on the reference video frame by a feature point extraction algorithm to obtain a reference feature point group. In practice, for each corrected video frame in the corrected video frames, the execution subject may perform feature point extraction processing on the corrected video frame by the feature point extraction algorithm to obtain a corrected feature point group. The feature point extraction algorithm may be a scale-invariant feature conversion algorithm.
[0087] The fifth sub-step is to match the reference feature points and the correction feature points in the correction feature point groups to obtain matching feature point pairs for each reference feature point in the reference feature point group. The matching feature point pairs in the matching feature point pairs can be feature point pairs consisting of reference feature points and correction feature points that match each other. In practice, for each correction feature point group in the correction feature point groups and for each reference feature point in the reference feature point group, the execution entity can find the correction feature point that is most similar to the reference feature point from the correction feature point group as the target correction feature point through a feature point matching algorithm. Then, the target correction feature point can be combined with the reference feature point to form a matching feature point pair. The feature point matching algorithm can be a SLAM algorithm (Simultaneous Localization and Mapping).
[0088] The sixth sub-step is to screen and process the obtained matching feature point pairs to obtain target matching feature point pairs. Among them, the target matching feature point pairs in the above target matching feature point pairs may be the matching feature point pairs that have passed the screening. In practice, for each correction feature point group in the above correction feature point groups, first, the execution entity may determine the matching feature point pairs consisting of each correction feature point in the above correction feature point group and each reference feature point in the above reference feature point group as the matching feature point pairs to be processed. Then, a preset number of feature point pairs to be processed may be arbitrarily selected from the determined matching feature point pairs to be processed as the target matching feature point pairs. Among them, the preset number of feature point pairs may be a pre-set value. Here, there is no limitation on the specific setting of the preset number of feature point pairs.
[0089] The seventh sub-step is to generate each image change matrix based on the above-mentioned target matching feature point pairs. Among them, the image change matrix in the above-mentioned image change matrix can be a homography matrix. In practice, firstly, the above-mentioned execution subject can group the above-mentioned target matching feature point pairs to obtain each target matching feature point pair group. Among them, each target matching feature point pair group in the above-mentioned target matching feature point pair groups corresponds to a correction feature point group. Secondly, for each target matching feature point pair group in the above-mentioned target matching feature point pair groups, the target matching feature point pair group can be processed by an image processing function to obtain the homography matrix between the correction video frame corresponding to the above-mentioned target matching feature point pair group and the above-mentioned reference video frame as the image change matrix. Among them, the above-mentioned image processing function can be the findHomography function in OpenCV.
[0090] The eighth sub-step is to perform image registration processing on the reference video frame and the corrected video frame based on the above-mentioned image change matrices to obtain the registered video frames. Among them, the above-mentioned registered video frames can be the corrected video frames and reference video frames after registration. In practice, for each of the corrected video frames, the execution subject can input the reference video frame, the corrected video frame, the image change matrix between the corrected video frame and the reference video frame, and the pre-acquired size information into the image registration function to obtain the corrected video frame after registration as the registered video frame. Among them, the image registration function can be the WarpPerspective function. The size information can be the image size corresponding to the reference video frame. Then, the reference video frame can be determined as the registered video frame.
[0091] The ninth sub-step is to perform image fusion processing on the above-mentioned registered video frames to obtain user trajectory video frames. The above-mentioned user trajectory video frames can be video frames obtained by fusing the indoor surveillance video frames at the same time point in the above-mentioned indoor surveillance video streams. The above-mentioned user trajectory video frames correspond to time points. In practice, the above-mentioned execution subject can perform image fusion processing on the above-mentioned registered video frames through an image fusion algorithm to obtain user trajectory video frames. The above-mentioned image fusion algorithm can be Poisson fusion.
[0092] The second step is to generate a user trajectory video stream based on each obtained user trajectory video frame. The user trajectory video stream may be a video stream corresponding to each user trajectory video frame. In practice, the execution subject may encode each user trajectory video frame into a user trajectory video stream in the order from early to late by using an image encoding tool. The image encoding tool may be Ffmpeg.
[0093] The above technical solution and its related contents, as an inventive point of an embodiment of the present disclosure, solve the problem of "waste of display resources". It takes a long time to call display resources to display each monitoring video data. The factors that waste display resources are often as follows: the technician needs to watch each monitoring video data displayed at the same time to obtain the user's movement trajectory in the room. When there is a large amount of monitoring video data, it is easy to reduce the efficiency of the technician in obtaining the user's movement trajectory, resulting in a long time to obtain the movement trajectory, which in turn requires a long time to call display resources to display each monitoring video data, resulting in a waste of display resources. If the above factors are solved, it can be achieved to reduce the waste of display resources. In order to achieve this effect, the present disclosure first determines the segmented video stream that meets the preset video conditions in the above-mentioned segmented video streams as a reference video stream, wherein the above-mentioned reference video stream includes each reference video frame, and each of the above-mentioned reference video frames corresponds to a time point. In this way, the reference video stream can be determined. Secondly, the segmented video streams that do not meet the preset video conditions in the segmented video streams are determined as the video streams to be processed, wherein each of the segmented video streams to be processed includes each of the video frames to be processed, and each of the video frames to be processed corresponds to a time point. Thus, the video streams to be processed can be obtained. Then, for each of the reference video frames included in the reference video stream, the following steps are performed: Then, the time point corresponding to the reference video frame is determined as the reference time point. Then, based on each of the segmented video streams to be processed, the video frames to be processed corresponding to the reference time point in the segmented video streams to be processed included in the segmented video stream are determined as the target video frames. Thus, the video frames to be processed corresponding to the reference time point can be obtained. Then, based on the reference video frames, the determined target video frames are corrected to obtain the corrected video frames. Thus, the target video frames can be corrected. Then, feature point extraction processing is performed on the reference video frame and each corrected video frame to obtain a reference feature point group and each corrected feature point group. Thus, each feature point in the reference video frame and each corrected video frame can be extracted. Then, for each reference feature point in each reference feature point included in the reference feature point group, matching processing is performed on the reference feature point and each corrected feature point included in each corrected feature point group to obtain each matching feature point pair. Thus, each feature point in the reference video frame can be matched with each feature point included in each corrected video frame in each corrected video frame to obtain each matching feature point pair. Then, screening processing is performed on each obtained matching feature point pair to obtain each target matching feature point pair. Thus, each matching feature point pair can be screened, and only each target matching feature point pair is retained for subsequent processing. Then, based on each target matching feature point pair, each image change matrix is generated.Thus, each image change matrix can be obtained. Then, based on the above-mentioned image change matrices, the above-mentioned reference video frame and the above-mentioned each corrected video frame are image registered to obtain each registered video frame. Thus, each corrected video frame can be registered to the above-mentioned reference video frame through the image change matrix. Then, the above-mentioned each registered video frame is image fused to obtain a user trajectory video frame, wherein the above-mentioned user trajectory video frame corresponds to a time point. Thus, each registered video frame can be fused into one video frame. Finally, based on the obtained each user trajectory video frame, a user trajectory video stream is generated. Thus, a video stream composed of all video frames corresponding to the user moving indoors can be obtained. Also, because each monitoring video frame corresponding to the user's movement can be found first, and then the user trajectory video stream corresponding to the user is obtained by fusing each monitoring video frame to track the user's trajectory, there is no need for technical personnel to process each monitoring video data displayed at the same time, thereby improving the efficiency of obtaining the user's movement trajectory, and reducing the probability of display resource waste caused by long-term display of each video monitoring data.
[0094] Step 103 : in response to receiving the video viewing information input by the user, determining the user trajectory video stream corresponding to the video viewing information among the generated user trajectory video streams as the target user trajectory video stream.
[0095] In some embodiments, the execution subject may determine the user trajectory video stream corresponding to the video viewing information among the generated user trajectory video streams as the target user trajectory video stream in response to receiving the video viewing information input by the user. The video viewing information may be information for viewing the user trajectory video stream. For example, the video viewing information may be "view the user trajectory video stream corresponding to the user with account number 123".
[0096] Step 104: Display the target user trajectory video stream.
[0097] In some embodiments, the execution entity may display the target user trajectory video stream.
[0098] The above-mentioned various embodiments of the present disclosure have the following beneficial effects: through the indoor trajectory tracking method of some embodiments of the present disclosure, the tracking efficiency can be improved, the reliability of the trajectory video data generated by using computing resources can be improved, and the waste of computing resources can be reduced. Specifically, the reliability of the trajectory video data generated by using computing resources is low and the reason for the waste of computing resources is that: when various surveillance cameras shoot together, technicians need to find the surveillance video data corresponding to the user at each time point in each surveillance video data in order to track the user's trajectory, resulting in low tracking efficiency. At the same time, technicians are prone to failure or tracking errors in user tracking due to factors such as users being blocked by obstacles or similar appearances, which in turn leads to low reliability of the trajectory video data generated by using computing resources, resulting in waste of computing resources. Based on this, the indoor trajectory tracking method of some embodiments of the present disclosure first receives each indoor surveillance video stream shot by each camera in real time. Thus, each indoor surveillance video stream can be obtained. Secondly, in response to receiving each door opening request information sent by each user terminal, for each door opening request information in the above-mentioned door opening request information, the following steps are performed: first, based on the above-mentioned door opening request information, the door opening task corresponding to the above-mentioned door opening request information is performed, wherein the above-mentioned door opening request information includes door opening information, user information and user terminal information. Thus, the user information can be matched with the user terminal information through the door opening request information. Secondly, the user terminal corresponding to the above-mentioned user terminal information is determined as the target user terminal. Thus, the object to be tracked can be determined. Then, based on each user terminal signal sent in real time by each user terminal in the preset area, each target user position information corresponding to the above-mentioned target user terminal is generated. Thus, the location of the user carrying the user terminal can be determined through the user terminal signal sent by the user terminal, and then the user can be tracked. By obtaining the location of the user terminal, the corresponding location of the user can be determined, which can reduce the probability of tracking errors or tracking failures caused by factors such as similar user appearances or users being blocked by obstacles. Then, in response to receiving the exit request information sent by the above-mentioned target user terminal, the following steps are performed: first, the exit task corresponding to the above-mentioned exit request information is executed. Thus, the user's going-out request information and the time of going out can be received. Then, based on the above-mentioned target user location information and each indoor monitoring video stream, a user trajectory video stream corresponding to the above-mentioned target user terminal is generated. Thus, the user's indoor trajectory video can be obtained. Then, in response to receiving the video viewing information input by the user, the user trajectory video stream corresponding to the above-mentioned video viewing information in the generated various user trajectory video streams is determined as the target user trajectory video stream. Thus, the corresponding user trajectory video stream can be found through the input video viewing information. Finally, the above-mentioned target user trajectory video stream is displayed. Thus, the user trajectory video stream can be displayed.Because the user's location can be determined through the received user terminal signal, the user can be tracked, thereby improving the efficiency of user tracking. Also, because the user's indoor location can be determined through the user terminal signal sent by the user terminal carried by the user, the probability of tracking errors or tracking failures caused by factors such as similar user appearances or users being blocked by obstacles can be reduced, and the user's location information can be obtained more accurately.
[0099] Reference below Figure 2 , which shows a schematic structural diagram of an electronic device (such as a computing device) 200 suitable for implementing some embodiments of the present disclosure. Figure 2 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0100] like Figure 2 As shown, the electronic device 200 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 201, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 202 or a program loaded from a storage device 208 to a random access memory (RAM) 203. In the RAM 203, various programs and data required for the operation of the electronic device 200 are also stored. The processing device 201, the ROM 202, and the RAM 203 are connected to each other via a bus 204. An input / output (I / O) interface 205 is also connected to the bus 204.
[0101] The electronic device 200 may further include various cameras, wherein the various cameras are configured to receive various indoor monitoring video data.
[0102] Typically, the following devices may be connected to the I / O interface 205: an input device 206 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 207 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 208 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 209. The communication device 209 may allow the electronic device 200 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 2 The electronic device 200 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 2 Each block shown in the figure may represent one device, or may represent multiple devices as required.
[0103] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 209, or installed from the storage device 208, or installed from the ROM 202. When the computer program is executed by the processing device 201, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.
[0104] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0105] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0106] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: receives indoor surveillance video streams captured by various cameras in real time; in response to receiving door opening request information sent by various user terminals, for each of the door opening request information, performs the following steps: based on the door opening request information, performs a door opening task corresponding to the door opening request information, wherein the door opening request information includes door opening information, user information and user terminal information; determines the user terminal corresponding to the user terminal information as the target user terminal; based on user terminal signals sent in real time by various user terminals in a preset area, generates target user location information corresponding to the target user terminal; in response to receiving exit request information sent by the target user terminal, performs the following steps: performs an exit task corresponding to the exit request information; generates a user trajectory video stream corresponding to the target user terminal based on the target user location information and the indoor surveillance video streams; in response to receiving video viewing information input by the user, determines the user trajectory video stream corresponding to the video viewing information among the generated user trajectory video streams as the target user trajectory video stream; and displays the target user trajectory video stream.
[0107] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0108] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0109] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0110] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.
Claims
1. An indoor trajectory tracking method, comprising: Receive each indoor surveillance video stream captured by each camera in real time; In response to receiving each door opening request information sent by each user terminal, for each door opening request information in the each door opening request information, the following steps are performed: Based on the door opening request information, executing a door opening task corresponding to the door opening request information, wherein the door opening request information includes door opening information, user information and user terminal information; Determine a user terminal corresponding to the user terminal information as a target user terminal; Based on each user terminal signal sent in real time by each user terminal in a preset area, generating each target user location information corresponding to the target user terminal; In response to receiving the exit request information sent by the target user terminal, performing the following steps: Execute the exit task corresponding to the exit request information; Based on the location information of each target user and each indoor monitoring video stream, generating a user trajectory video stream corresponding to the target user terminal; In response to receiving video viewing information input by a user, determining a user trajectory video stream corresponding to the video viewing information among the generated user trajectory video streams as a target user trajectory video stream; The target user trajectory video stream is displayed.
2. The method according to claim 1, wherein: The generating of each target user location information corresponding to the target user terminal based on each user terminal signal sent in real time by each user terminal in the preset area includes: Receive in real time the signals of each user terminal sent by each user terminal in a preset area; Determining each user terminal signal corresponding to the target user terminal among each user terminal signal as each target user terminal signal, wherein each target user terminal signal among the each target user terminal signal corresponds to each signal strength information; For each of the target user terminal signals, performing the following steps: Generate distance data for each user based on each signal strength information corresponding to the target user terminal signal; Generate user location information based on the distance data of each user; Storing the user location information in a preset data table; The user location information corresponding to the target user terminal signal among the user location information stored in the data table is determined as the target user location information.
3. The method according to claim 2, wherein: The generating each user distance data based on each signal strength information corresponding to the target user terminal signal includes: For each piece of signal strength information corresponding to the target user terminal signal, perform the following steps: Determine the absolute value of the signal strength information as signal strength absolute value data; Determine the difference between the signal strength absolute value data and the preset reference signal strength data as signal difference data; Determine the ratio of the signal difference data to a preset loss coefficient as a signal index; Based on the preset value and the signal index, user distance data is generated.
4. The method according to claim 2, wherein: The generating user location information based on the distance data of each user includes: Based on the target user terminal signal, determining the coordinate position of the target user terminal corresponding to the target user terminal signal as the target coordinate position; Constructing nonlinear optimization information based on the preset coordinate positions of each receiving device, the distance data of each user and the target coordinate position; Based on the nonlinear optimization information, user location information is generated.
5. The method according to claim 1, wherein: Before executing the following steps in response to receiving the exit request information sent by the target user terminal, the method further includes: In response to detecting a click operation performed by the user on the scanning module, the following steps are performed: In response to receiving the user information input by the user, the following steps are performed: Scanning each item carried by the user to obtain identification information of each item; For each item identification information in the individual item identification information, searching a preset item information database for item information corresponding to the item identification information as target item information; For each target item information in each target item information searched, based on the preset item value comparison information, generate item value information corresponding to the target item information; Generate total item value information based on the generated item value information and the user information corresponding to the user; The value information of each item and the total value information of the items are displayed.
6. The method according to claim 1, wherein: The generating, based on the location information of each target user and each indoor monitoring video stream, a user trajectory video stream corresponding to the target user terminal includes: Based on the door opening request information and the exit request information, generating time range information corresponding to the target user terminal; Integrate the position information of each target user to obtain a user trajectory coordinate sequence, wherein each user trajectory coordinate in the user trajectory coordinate sequence corresponds to a time point; Based on the user trajectory coordinate sequence and preset camera position information, determine each camera point position information corresponding to the user trajectory coordinate sequence; Determine each camera among the cameras corresponding to each camera position information as each target camera; Determine each indoor monitoring video stream captured by each target camera as each target indoor monitoring video stream; Preprocessing each of the target indoor monitoring video streams to obtain each preprocessed indoor monitoring video stream; Based on the time range information, performing video segmentation processing on each of the pre-processing indoor monitoring video streams to obtain each segmented video stream corresponding to the time range information; Based on the respective segmented video streams, a user trajectory video stream corresponding to the target user terminal is generated.
7. An electronic device comprising: Each camera is configured to receive each indoor surveillance video data; one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
8. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.