Screen model merging method, device, electronic device and storage medium

Through the automated screen model merging method, screen groups are divided using screen direction vectors and vertex coordinates, and the pose adjustment amount is calculated, the problem of misalignment or gaps of adjacent screen models is solved, and efficient and accurate screen model merging is achieved.

CN117391932BActive Publication Date: 2025-07-08DIVINE VISION (SHENZHEN) CULTURE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311381563.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-23
Publication Date
2025-07-08
Estimated Expiration
2043-10-23

AI Technical Summary

Technical Problem

In virtual shooting technology, misalignment or gaps between adjacent LED screen models are difficult to automatically correct, resulting in low accuracy and efficiency when merging screen models, and existing manual correction methods are time-consuming and labor-intensive.

Method used

Automatically divide screen groups by obtaining the screen model orientation vector and vertex coordinates in the screen candidate set, and calculate the pose adjustment amount between each two adjacent screen models, including rotation amount and displacement amount, to achieve automatic merge of screen models.

Benefits of technology

The rapid and accurate screen model merging is achieved, which improves the continuity of the screen model without manual intervention and significantly improves efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117391932B_ABST
    Figure CN117391932B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method, apparatus, electronic device, and storage medium for screen model merging. The method includes: obtaining a set of screen candidates, where the set of screen candidates includes multiple screen models and respective direction vectors corresponding to the multiple screen models; determining at least one screen group according to the respective direction vectors corresponding to the multiple screen models and the vertex coordinates of the multiple screen models, and the main directions of the screen models in the same screen group are the same and belong to the same row or the same column; determining the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group; and adjusting the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group to merge the screen models in the screen group. Thus, it is possible to automatically and efficiently correct the misalignment and gaps between adjacent screen models, which is beneficial to quickly and accurately merge screen models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of virtual shooting technology, and particularly to a method, apparatus, electronic device and storage medium for merging screen models. Background Art

[0002] In traditional film and television production, in order to meet the shooting requirements, a large amount of time and manpower are required to select shooting locations, produce props, and build shooting scenes. However, virtual shooting (or virtual production) technology can use virtual scenes rendered by a rendering engine to replace real sets, reducing the dependence of film and television shooting on locations and sets, and greatly reducing the shooting cost. At the same time, with the ability of real-time rendering, for some special effects that originally required post-production, virtual shooting can see the finished film effect during the shooting stage, bringing post-production forward and improving the production efficiency.

[0003] In virtual shooting technology, it is usually necessary to place a virtual camera in the virtual scene to simulate the displacement and rotation of a physical camera, and there is also a screen model that restores the real-world LED screen 1:1. The image within the field of view of the virtual camera is projected onto the screen model after three-dimensional projection transformation, and then mapped onto the LED screen in the real world. In this way, the physical camera can not only capture real sets and actors, but also capture virtual scenes, creating an augmented reality experience of overlapping virtual and real elements.

[0004] In this process, the image projected on the screen model determines the image on the LED screen in the real world. Therefore, when there are misalignments or gaps between adjacent screen models in the virtual scene, there will also be tearing or missing situations in the image on the LED screen in the real scene. This poses relatively high requirements for the measurement accuracy of the relative position relationship required for screen modeling of the LED screen. However, whether it is manual measurement, laser scanning or related algorithms to measure the relative position relationship between LED screens to generate screen models, errors will inevitably occur. Especially when there are multiple closely adjacent LED screens in the real scene, these errors may cause gaps or misalignments between multiple adjacent screen models obtained by modeling, making it difficult to fully align when merging the screen models. Currently, when there are misalignments or gaps between adjacent screen models, manual correction is usually adopted, which is time-consuming and laborious, and the correction accuracy and efficiency are also low. Summary of the Invention

[0005] In view of this, the present disclosure proposes a method, apparatus, electronic device and storage medium for merging screen models, which can automatically and efficiently correct misalignments and gaps between adjacent screen models, facilitating fast and accurate merging of screen models, ensuring the continuity of screen models, without manual intervention, with high efficiency and high accuracy.

[0006] According to one aspect of the present disclosure, a method for merging screen models is provided, including: obtaining a set of screen candidates, where the set of screen candidates includes multiple screen models and respective direction vectors corresponding to the multiple screen models, and the multiple screen models are in the same coordinate system; determining at least one screen group according to the respective direction vectors corresponding to the multiple screen models and the respective vertex coordinates of the multiple screen models, where one screen group includes at least two screen models, the main directions of the screen models in the same screen group are the same and belong to the same row or the same column, and the main direction of a screen model is the direction of the coordinate axis corresponding to the maximum component of the direction vector of the screen model on the three coordinate axes of the coordinate system; for each screen group, determining the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group, where the pose adjustment amount includes a rotation amount and / or a displacement amount; adjusting the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group to merge the screen models in the screen group.

[0007] In a possible implementation, the determining at least one screen group according to the respective direction vectors corresponding to the multiple screen models and the respective vertex coordinates of the multiple screen models includes: selecting any one screen model from the set of screen candidates as a reference screen model and adding it to an empty screen group; judging whether the main direction of the s-th screen model is the same as that of the reference screen model according to the direction vectors of the reference screen model and the other S screen models in the set of screen candidates, where S≥1 and s≤S; when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located only contains the reference screen model, judging whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes except the coordinate axis corresponding to the main direction according to the vertex coordinates of the s-th screen model and the reference screen model; when there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, determining that the s-th screen model and the reference screen model are screen models belonging to the same row or the same column, and adding the s-th screen model to the screen group where the reference screen model is located.

[0008] In a possible implementation, determining whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on two other coordinate axes except the coordinate axes corresponding to the main direction according to the vertex coordinates of the s-th screen model and the reference screen model includes: determining the degree of overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes according to the vertex coordinates of the s-th screen model and the reference screen model; when the degree of overlap in the coordinate range of the s-th screen model and the reference screen model on any other coordinate axis is greater than a preset threshold, determining that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and taking the coordinate axis with the largest degree of overlap as the main coordinate axis of the screen group where the reference screen model is located.

[0009] In a possible implementation, determining at least one screen group according to the respective direction vectors and the respective vertex coordinates of the multiple screen models further includes: when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located already includes two or more screen models, determining the degree of overlap in the coordinate range of the s-th screen model and the reference screen model on the main coordinate axis according to the vertex coordinates of the s-th screen model and the reference screen model, where the main coordinate axis is the coordinate axis with the largest degree of overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes; when the degree of overlap in the coordinate range of the s-th screen model and the reference screen model on the main coordinate axis is greater than a preset threshold, determining that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and adding the s-th screen model to the screen group where the reference screen model is located.

[0010] In a possible implementation, adding the s-th screen model to the screen group where the reference screen model is located includes: determining the minimum distance between the s-th screen model and each screen model currently included in the screen group where the reference screen model is located according to the vertex coordinates of the s-th screen model and each screen model currently included in the screen group where the reference screen model is located; when the minimum distance between the s-th screen model and each screen model currently included in the screen group where the reference screen model is located is less than or equal to a preset distance threshold, adding the s-th screen model to the screen group where the reference screen model is located.

[0011] In a possible implementation, determining the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of each screen model in the screen group includes: sorting each screen model in the screen group according to the vertex coordinates of each screen model in the screen group, and determining the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model, where i ∈ [2, I], and I is the total number of screen models in the screen group; wherein, adjusting the pose of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group includes: adjusting the pose of the i-th screen model according to the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model.

[0012] In a possible implementation, determining the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model includes: determining the respective reference vectors and reference points of the i-th screen model and the (i - 1)-th screen model based on the main coordinate axis corresponding to the screen group; wherein, the main coordinate axis corresponding to the screen group is the coordinate axis with the largest overlapping degree of the coordinate ranges of the screen models in the screen group; when the main coordinate axis is the horizontal axis or the vertical axis, the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the row vectors of the screen model, the reference point of the i-th screen model is the lower vertex or the upper vertex, and the reference point of the (i - 1)-th screen model is the upper vertex or the lower vertex; when the main coordinate axis is the vertical axis, the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the column vectors of the screen model, the reference point of the i-th screen model is the left vertex or the right vertex, and the reference point of the (i - 1)-th screen model is the right vertex or the left vertex; determining the rotation amount of the i-th screen model relative to the (i - 1)-th screen model according to the respective reference vectors of the i-th screen model and the (i - 1)-th screen model; determining the displacement amount of the i-th screen model relative to the (i - 1)-th screen model according to the three-dimensional coordinates of the respective reference points of the i-th screen model and the (i - 1)-th screen model.

[0013] According to another aspect of the present disclosure, there is provided a screen model merging device, including: an acquisition module configured to acquire a screen candidate set, where the screen candidate set includes a plurality of screen models and respective direction vectors corresponding to the plurality of screen models, and the plurality of screen models are in the same coordinate system; a screen group determination module configured to determine at least one screen group according to the respective direction vectors corresponding to the plurality of screen models and the respective vertex coordinates of the plurality of screen models, where one screen group includes at least two screen models, the main directions of the screen models in the same screen group are the same and belong to the same row or the same column, and the main direction of a screen model is the direction of the coordinate axis corresponding to the maximum component of the direction vector of the screen model on the three coordinate axes of the coordinate system; a pose adjustment amount determination module configured to, for each screen group, determine the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group, where the pose adjustment amount includes a rotation amount and / or a displacement amount; and an adjustment module configured to adjust the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group, so as to merge the screen models in the screen group.

[0014] According to another aspect of the present disclosure, there is provided an electronic device, including: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.

[0015] According to another aspect of the present disclosure, there is provided a non-volatile computer-readable storage medium, on which computer program instructions are stored, where the computer program instructions implement the above method when executed by a processor.

[0016] According to another aspect of the present disclosure, there is provided a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code, where when the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.

[0017] According to an embodiment of the present disclosure, by dividing the screen models in the screen candidate set into screen groups with the same main direction and belonging to the same row or the same column according to the direction vectors and vertex coordinates of the respective screen models in the screen candidate set, and then determining the pose adjustment amount between every two adjacent screen models in each screen group according to the vertex coordinates of the screen models in the screen group, it is equivalent to automatically calculating the adjacency relationship and pose relationship between the respective screen models, and then adjusting the poses of the screen models according to the pose adjustment amount between every two adjacent screen models, which can automatically and efficiently correct the misalignment and gaps between adjacent screen models, that is, can quickly and accurately merge the screen models, is beneficial to the continuity of the screen models, does not require manual intervention, and has higher efficiency and higher accuracy.

[0018] Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings, which are included in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0020] Figure 1 A flowchart showing a screen model merging method according to an embodiment of the present disclosure.

[0021] Figure 2 A schematic diagram showing multiple screen models in the same coordinate system according to an embodiment of the present disclosure.

[0022] Figure 3 A schematic diagram showing multiple screen models in the same coordinate system according to an embodiment of the present disclosure.

[0023] Figure 4 A flowchart showing the determination process of a screen group according to an embodiment of the present disclosure.

[0024] Figure 5 A schematic diagram showing multiple screen models after adjusting the pose according to an embodiment of the present disclosure.

[0025] Figure 6 A block diagram showing a screen model merging device according to an embodiment of the present disclosure.

[0026] Figure 7 A block diagram showing an electronic device 1900 according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the drawings denote elements having the same or similar functions. Although various aspects of the embodiments are shown in the drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0028] As used herein, the term "exemplary" means "serving as an example, embodiment, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as superior to or better than other embodiments.

[0029] In addition, for a better understanding of the present disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that the present disclosure may be practiced without some of these specific details. In some instances, well-known methods, means, elements, and circuits have not been described in detail so as to highlight the gist of the present disclosure.

[0030] As described above, currently, the method of manually correcting the misalignment or gap between adjacent screen models is generally adopted, but the manual correction method is not accurate enough and has low efficiency. In view of this, the embodiments of the present disclosure provide a screen model merging method, which can be applied to the merging of multiple screen models in a virtual shooting system, can automatically determine the adjacency relationship and pose relationship of the screen models, and perform serial merging on the adjacent screen models, which is beneficial to the continuity of the screen models, does not require manual intervention, greatly reduces the cost of manual operations, and has a stable merging effect, being faster and more convenient.

[0031] The screen model merging method of the embodiments of the present disclosure can be deployed on various terminal devices through software or hardware transformation. The terminal devices involved in the embodiments of the present disclosure may refer to devices with wireless connection functions and / or wired connection functions. The wireless connection function means that it can be connected to other devices through wireless connection methods such as Wi-Fi and Bluetooth. The terminal devices involved in the embodiments of the present disclosure can also communicate with other devices through the wired connection function. The terminal devices involved in the embodiments of the present disclosure can be touch-screen, non-touch-screen, or without a screen. Touch-screen devices can be controlled by clicking, swiping, etc. on the display screen with fingers, styluses, etc. Non-touch-screen devices can be connected to input devices such as mice, keyboards, and touch panels to control the terminal devices. Devices without a screen can be, for example, Bluetooth speakers without a screen. For example, the terminal devices of the present application may include, but are not limited to, user equipment (UE), mobile devices, user terminals, terminals, handheld devices, tablet computers, laptop computers, palmtop computers, computing devices, etc.

[0032] The screen model merging method of the embodiments of the present disclosure can also be deployed on a server. The server can be located in the cloud or locally, can be a physical device, or can be a virtual device such as a virtual machine or a container, and has a wireless communication function. Among them, the wireless communication function can be set in the chip (system) or other components or assemblies of the server. It can refer to a device with a wireless connection function. The wireless connection function means that it can be connected to other electronic devices through wireless connection methods such as Wi-Fi and Bluetooth. The server involved in the embodiments of the present disclosure can also have the function of communicating through a wired connection. The embodiments of the present disclosure do not limit the execution entity of the screen model merging method.

[0033] Figure 1 The flowchart showing the screen model merging method according to an embodiment of the present disclosure is as follows Figure 1 As shown, the screen model merging method includes: step S11 to step S14.

[0034] In step S11, a screen candidate set is obtained. The screen candidate set includes multiple screen models and the respective direction vectors corresponding to the multiple screen models. The multiple screen models are in the same coordinate system.

[0035] It should be understood that before executing the screen model merging method of the embodiments of the present disclosure, those skilled in the art can adopt known modeling techniques in the art, such as manual measurement modeling, 3D scanning modeling, etc., to construct the screen models corresponding to multiple LED screens in the real scene in a virtual engine. The screen models mentioned in the embodiments of the present disclosure can be three-dimensional models. Among them, constructing the screen model includes both modeling the size, shape, etc. of each LED screen, and determining the relative position relationship between each LED screen. Then, according to the relative position relationship, the multiple screen models are transformed into the same coordinate system, or in other words, into the same three-dimensional space, so as to realize the merging of the multiple screen models.

[0036] In practical applications, if multiple screen models with global position information (that is, relative position relationship) are obtained, or in other words, if multiple screen models that are not in the same coordinate system are obtained, the multiple screen models can be transformed into the same coordinate system according to the relative position relationship between the multiple screen models first, and then the direction vector of each screen model is calculated. Among them, the multiple screen models that are already in the same coordinate system can be added to the screen candidate set.

[0037] Among them, the direction vector of the screen model can represent the orientation of the screen model in the three-dimensional space. The direction vector of the screen model can include the normal vector of the plane where the screen model is located. Thus, the direction vector of the screen model can be calculated by using the three-dimensional coordinates of any three points in the screen model. For example, the three-dimensional coordinates of three vertices P0, P1, P2 (such as the lower left vertex, the upper left vertex, and the upper right vertex) of each screen model can be used to calculate the difference vector P 1-0 =P1 - P0 and the difference vector P 2-0 =P2 - P0 of P2 to P0, and then calculate P 1-0 and P 2-0 The vector product of, and after obtaining the product vector, perform normalization. The normalized product vector is the direction vector of the screen model.

[0038] Exemplarily, Figure 2Four screen models (021, 022, 024, 025) that are already in the same coordinate system are shown. Among them, screen models 021 and 022 can be the screen models corresponding to two vertical screens perpendicular to the ground, and screen models 024 and 025 can be the screen models corresponding to two floor screens set on the ground. The two vertical screens in the real scene are closely adjacent to each other, and the two floor screens are also closely adjacent to each other. However, due to modeling errors, after transforming each screen model into the same coordinate system, there may be misalignments or gaps such as Figure 2 the misalignment or gap between screen models 021 and 022 of the two vertical screens, and the misalignment or gap between screen models 024 and 025 of the two floor screens. Thus, the pose of the screen models can be adjusted using subsequent steps S12 to S14 to correct the misalignment or gap between the screen models.

[0039] In step S12, at least one screen group is determined based on the direction vectors corresponding to the respective multiple screen models and the vertex coordinates of the respective multiple screen models. Among them, one screen group includes at least two screen models. The main directions of the screen models in the same screen group are the same and belong to the same row or the same column. The main direction of a screen model is the direction of the coordinate axis corresponding to the maximum component of the direction vector of the screen model on the three coordinate axes of the above coordinate system.

[0040] Considering that the number, types, and layouts of LED screens in the real world are diverse. For example, there may be multiple rows or columns of vertical screens, and there may also be multiple rows or columns of floor screens. For example, Figure 3 shows the screen models of a two-row and three-column vertical screen; thus, in order to more effectively correct the misalignment or gap between the screen models, the multiple screen models in the screen candidate set can be grouped, and the screen models with the same main direction and belonging to the same row or the same column are divided into the same screen group. Among them, the same main direction of the screen models can be understood as the same coordinate axis that the screen models mainly face. For example, Figure 2 the main directions of screen models 021 and 022 of the three vertical screens in are the direction of the same Z-axis, and the main directions of screen models 024 and 025 of the two floor screens are the direction of the same Y-axis. Furthermore, since screen models 021 and 022 are screen models in the same row, they can be divided into the same screen group, and screen models 024 and 025 are also screen models in the same row, so they can be divided into the same screen group; as Figure 3 shown, the screen models may have multiple rows or columns. There may be misalignments or gaps between the screen models in the row direction, and there may also be misalignments or gaps between the screen models in the column direction. Therefore, the screen models with the same main direction and belonging to the same row or the same column can be further divided into the same screen group. For example, Figure 3The middle screen models 031, 032, and 033 can be screen models with the same main direction and belonging to the same row, that is, the screen models 031, 032, and 033 can be a group of screen models. 031 and 034 can be screen models with the same main direction and belonging to the same column, that is, the screen models 031 and 034 can be a group of screen models.

[0041] It should be understood that at least two screen models in the same screen group may be screen models in the same row or screen models in the same column; the real scenario may also include a floor screen or a standing screen, etc., that is, there may be only one screen model in one main direction. Therefore, when grouping screen models, there may also be a situation where a screen group includes one screen model in a certain main direction. In this case, there is no need to perform subsequent steps on one screen model in this screen group.

[0042] In a possible implementation manner, the above step S12, determining at least one screen group according to the direction vectors corresponding to the multiple screen models and the vertex coordinates of the multiple screen models, may include:

[0043] Step S121, select any screen model from the screen candidate set as the reference screen model and add it to the blank screen group G;

[0044] Step S122, according to the direction vectors of the reference screen model and the other S screen models in the screen candidate set, determine whether the main direction of the s-th screen model is the same as that of the reference screen model, S≥1, s≤S;

[0045] Step S123, when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group G where the reference screen model is located only contains the reference screen model, according to the vertex coordinates of the s-th screen model and the reference screen model, determine whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes except the coordinate axis corresponding to the main direction;

[0046] Step S124, when there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, determine that the s-th screen model P_s and the reference screen model are screen models in the same row or the same column, and add the s-th screen model P_s to the screen group G where the reference screen model is located.

[0047] In step S121, any screen model selected from the screen candidate set can be selected randomly or in sequence. The embodiments of the present disclosure do not limit this. After adding any selected screen model as the reference screen model P_base to the blank screen group G, at this time, the screen group G only includes the reference screen model P_base, that is, G={P_base}.

[0048] In step S122, by traversing the other S screen models in the screen candidate set, for the s-th screen model traversed, it can be determined whether the main direction of the s-th screen model is the same as that of the reference screen model. Specifically, it can be determined whether the main direction of the s-th screen model is the same as that of the reference screen model according to the maximum components of the direction vectors of the s-th screen model and the reference screen model on the three coordinate axes. For example, assuming that the main direction of the reference screen model is the direction of the Z axis, that is, the component of the direction vector of the reference screen model on the Z axis is the largest. If the main direction of the s-th screen model is the direction of the Y axis, it is considered that the main direction of the s-th screen model is different from that of the reference screen model. If the main direction of the s-th screen model is the direction of the Z axis, it is considered that the main direction of the s-th screen model is the same as that of the reference screen model. It can be understood that if the main direction of the s-th screen model is different from that of the reference screen model, the next screen model is continued to be traversed to determine whether the main direction of the next screen model is the same as that of the reference screen model. On the contrary, if the main directions are the same, step S123 is executed.

[0049] In step S123, the fact that the main direction of the s-th screen model is the same as that of the reference screen model means that the s-th screen model may be a screen model in the same row or the same column as the reference screen model, or it may be a screen model in a different row and a different column. At the same time, since the screen group G where the reference screen model is located only contains one reference screen model at this time, it is impossible to determine whether the screen models added to the screen group G later are in the same row or the same column as the reference screen model. Therefore, it can be determined whether the s-th screen model and the reference screen model are screen models in the same row or the same column, and specifically whether they are screen models in the same row or the same column, by determining whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes except the coordinate axis corresponding to the main direction. Among them, the main direction is usually perpendicular to the front view of the row and column distribution of the screen model. Therefore, it can be determined whether two screen models are in the same row or the same column by determining whether there is an overlap in the coordinate ranges of the two other coordinate axes except the coordinate axis corresponding to the main direction. It should be understood that based on the vertex coordinates of the screen model, the coordinate range of the screen model on any coordinate axis can be determined. For example, the coordinate range of the screen model on the X axis can be determined by using the maximum and minimum values of the vertex coordinates of the screen model on the X axis.

[0050] Exemplarily, assume Figure 3The middle screen model 031 is the reference screen model, and the main direction is the direction of the Z-axis. Thus, by determining whether there is an overlap in the coordinate ranges of other screen models and the screen model 031 on the X-axis and Y-axis, it can be judged whether other screen models and the screen model 031 are screen models in the same row or the same column. For example, if the coordinate range of the screen model 032 and the reference screen model 031 overlaps on the Y-axis, then the screen model 032 and the reference screen model 031 are screen models in the same row. If the coordinate range of the screen model 034 and the reference screen model 031 overlaps on the X-axis, then the screen model 034 and the reference screen model 031 are screen models in the same column. If the coordinate ranges of the screen model 035 and the reference screen model 031 do not overlap on both the Y-axis and the X-axis, then the screen model 035 and the reference screen model 031 are neither in the same row nor in the same column.

[0051] It can be understood that if the coordinate ranges of the s-th screen model and the reference screen model do not overlap on the other two coordinate axes, it means that the s-th screen model and the reference screen model are neither in the same row nor in the same column, and the process can return to step S122 to continue traversing the next screen model. Conversely, if the coordinate range of the s-th screen model and the reference screen model overlaps on any other coordinate axis, then step S124 is executed to determine that the s-th screen model and the reference screen model belong to screen models in the same row or the same column, and the s-th screen model is added to the screen group G where the reference screen model is located. At this time, the screen group G contains two screen models, that is, G = {P_base, P_s}. Then, it is determined whether the two screen models in the screen group G are in the same row or the same column. To ensure that the subsequent screen models added to the screen group G are in the same row or the same column as the two existing screen models in the screen group G, the coordinate axis where the coordinate ranges of the s-th screen model and the reference screen model overlap can be determined as the main coordinate axis of the screen group G. For the subsequent screen models traversed, it can be directly judged whether there is an overlap in the coordinate range on the main coordinate axis. For example, assume Figure 3 the screen group G where the reference screen model 031 is located includes {031, 032}. Then, the main coordinate axis of the screen group G can be the Y-axis. When subsequently judging whether other screen models and the reference screen model 031 are screen models in the same row or the same column, it can be judged only whether there is an overlap in the coordinate range on the Y-axis. If the coordinate range of a certain screen model and the reference screen model 031 overlaps on the Y-axis, then this screen model can be added to the screen group G where the reference screen model 031 is located.

[0052] Considering that each screen model with the same main direction may not be exactly in the same plane, and there may be an included angle between adjacent screen models in the three-dimensional space, which makes the coordinate ranges of the two screen models overlap in the other two coordinate axes. Therefore, the embodiments of the present disclosure propose that it is possible to determine whether there is an overlap between the coordinate ranges of the two screen models and determine the main coordinate axes corresponding to the two screen models by judging the overlap degree of the coordinate ranges of the two screen models in the other two coordinate axes. Based on this, in a possible implementation manner, in step S123, according to the vertex coordinates of the s-th screen model and the reference screen model, it is judged whether the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes except the coordinate axis corresponding to the main direction overlap, including:

[0053] According to the vertex coordinates of the s-th screen model and the reference screen model, determine the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes;

[0054] When the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on any other coordinate axis is greater than the preset threshold, it is determined that there is an overlap between the coordinate ranges of the s-th screen model and the reference screen model, and the coordinate axis with the largest overlap degree is used as the main coordinate axis of the screen group where the reference screen model is located.

[0055] Optionally, it is possible to determine the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes by calculating the size of the intersection of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes. That is, the size of the intersection of the coordinate ranges can be used to represent the overlap degree of the coordinate ranges. Among them, the larger the intersection, the greater the overlap degree. And it can be considered that when the size of the intersection of the coordinate ranges on any other coordinate axis is greater than the preset threshold, it is determined that there is an overlap between the coordinate ranges of the s-th screen model and the reference screen model. Furthermore, the coordinate axis with the largest intersection can be used as the main coordinate axis of the screen group where the reference screen model is located. It should be understood that those skilled in the art can customize the specific value of the preset threshold according to actual needs, and the embodiments of the present disclosure do not limit this.

[0056] For example, if the intersection of the coordinate ranges of the s-th screen model and the reference screen model on the X axis is [1, 10], the intersection of the coordinate ranges on the Y axis is [5.0, 5.1], and the size of the intersection of the s-th screen model and the reference screen model on the X axis exceeds the preset threshold, it is considered that there is an overlap between the coordinate ranges of the s-th screen model and the reference screen model on the X axis. And since the size of the intersection on the X axis is greater than the size of the intersection on the Y axis, the X axis can be used as the main coordinate axis of the screen group where the reference screen model is located.

[0057] It should be understood that if the overlapping degrees of the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes are both less than or equal to the preset threshold, it is considered that there is no overlap between the s-th screen model and the reference screen model, that is, the s-th screen model and the reference screen model are neither in the same row nor in the same column. At this time, the process can return to step S122 to continue traversing the next screen model. It should be noted that the above calculation method of the overlapping degree provided in the embodiments of the present disclosure is a possible implementation. In fact, those skilled in the art can customize the calculation method of the overlapping degree under the inspiration of the embodiments of the present disclosure, as long as the calculated overlapping degree is used to determine whether the coordinate ranges of two screen models overlap on the coordinate axes, it should be within the protection scope of the embodiments of the present disclosure, and the embodiments of the present disclosure do not limit this.

[0058] As described above, after determining the main coordinate axis of the screen group where the reference screen model is located, subsequently, it can be determined whether the s-th screen model and the reference screen model belong to the same row or the same column by directly judging whether there is an overlap in the coordinate ranges on the main coordinate axis. Thus, in a possible implementation, the above step S12, according to the direction vectors corresponding to the multiple screen models and the vertex coordinates of the multiple screen models, to determine at least one screen group, further includes:

[0059] Step S125, when the main directions of the s-th screen model and the reference screen model are the same and there are two or more screen models in the screen group where the reference screen model is located, determine the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis according to the vertex coordinates of the s-th screen model and the reference screen model, where the main coordinate axis is the coordinate axis with the largest overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes;

[0060] Step S126, when the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is greater than the preset threshold, determine that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and add the s-th screen model to the screen group where the reference screen model is located.

[0061] Among them, when there are already two or more screen models in the screen group where the reference screen model is located, the main coordinate axis of the screen group where the reference screen model is located has been determined. Therefore, when the s-th screen model traversed has the same main direction as the reference screen model and there are already two or more screen models in the screen group where the reference screen model is located, the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis can be directly calculated, and when the overlapping degree is greater than the preset threshold, the s-th screen model is added to the screen group where the reference screen model is located. Among them, the overlapping degree of the coordinate ranges of the screen models on the main coordinate axis can be calculated by referring to the overlapping degree of the coordinate ranges of the above screen models on other coordinate axes, which will not be elaborated here.

[0062] It should be understood that when the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is less than or equal to the preset threshold, it can be considered that there is no overlap in the coordinate ranges of the s-th screen model and the reference screen model, or in other words, the s-th screen model and the reference screen model do not belong to the same row or the same column. At this time, step S122 can be returned to continue traversing the next screen model.

[0063] Considering that in actual situations, it may also occur that the LED screens in the same row or the same column are not adjacent, or in other words, not contiguous. To facilitate subsequent adjustment of the poses of adjacent screen models to correct the misalignment or gaps between adjacent screen models, in a possible implementation manner, in the above steps S124 and S126, adding the s-th screen model to the screen group where the reference screen model is located may include:

[0064] According to the vertex coordinates of the s-th screen model and each screen model currently included in the screen group where the reference screen model is located, determine the minimum distance between the s-th screen model and each screen model in the screen group where the reference screen model is located;

[0065] When the minimum distance between the s-th screen model and each screen model in the screen group where the reference screen model is located is less than or equal to the preset distance threshold, add the s-th screen model to the screen group where the reference screen model is located.

[0066] Among them, given the vertex coordinates of the s-th screen model and each screen model currently included in the screen group where the reference screen model is located, the distances between all vertices of the s-th screen model and all vertices of each screen model in the screen group where the reference screen model is located can be calculated to obtain the minimum distance between the s-th screen model and each screen model in the screen group where the reference screen model is located.

[0067] It should be understood that those skilled in the art can set the specific value of the preset distance threshold according to actual needs, and the embodiments of the present disclosure do not limit this. For example, it can be set to the box length of the LED box that makes up the LED screen. When the minimum distance between the screen models of two LED screens is less than or equal to the box length of the LED box, it can be considered that the two LED screens are adjacent, and the two screen models corresponding to the two LED screens are also adjacent. That is, the preset distance threshold can be used to determine whether two screen models are adjacent screen models.

[0068] Based on this, if the minimum distance between the s-th screen model and each screen model in the screen group where the reference screen model is located is less than or equal to the preset distance threshold, it can be considered that there is a screen model adjacent to the s-th screen model in the screen group where the reference screen model is located, and then the s-th screen model can be added to the screen group where the reference screen model is located. On the contrary, if the minimum distance between the s-th screen model and each screen model in the screen group where the reference screen model is located is greater than the preset distance threshold, it is considered that the s-th screen model is not adjacent to each screen model in the screen group where the reference screen model is located. At this time, the above step S122 can be returned to continue traversing the next screen model until all the screen models in the screen candidate set are traversed.

[0069] It should be understood that after traversing the S screen models in the screen candidate set for any reference screen model, a screen group where the reference screen model is located can be obtained. The screen models in this screen group may be in the same row or the same column as the reference screen model; since the screen models may be in multiple rows and multiple columns, therefore, according to actual needs, the screen candidate set can be traversed twice for the same reference screen model. In the second round, the screen models that have not been added to a screen group with the reference screen model in the screen candidate set can be traversed, so that one or two screen groups where the reference screen model is located can be obtained, that is, the screen group composed of the screen models in the same row as the reference screen model and / or the screen group composed of the screen models in the same column as the reference screen model can be obtained.

[0070] In practical applications, after obtaining one or two screen groups where a certain reference screen is located, if there are still remaining screen models in the screen candidate set that have not been grouped, a new reference screen model can be selected from the screen candidate set to re-execute the above steps S121 to S126 until all the screen models in the screen candidate set have been grouped.

[0071] Exemplarily, Figure 4 A flowchart showing the determination process of a screen group according to an embodiment of the present disclosure is shown in Figure 4 As shown, the determination process of the screen group may include:

[0072] Step S41: Select any screen model from the screen candidate set as the reference screen model and add it to the blank screen group G;

[0073] Step S42: Traverse the other S screen models in the screen candidate set, and determine whether the main direction of the s-th screen model in the screen candidate set is the same as that of the reference screen model; if not, traverse the next screen model in the screen candidate set; if the main directions are the same and the number of screen models in the screen group G is 1, that is, the screen group G contains only one reference screen model, then execute Step S43; if the main directions are the same and the number of screen models in the screen group G is greater than 1, that is, the screen group G already contains two or more screen models, then execute Step S44;

[0074] Step S43: Determine whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes except the coordinate axis where the main direction is located, that is, determine whether the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes is greater than the preset threshold; if there is an overlap (that is, the overlap degree of the coordinate range of any other coordinate axis is greater than the preset threshold), then execute Step S45; if there is no overlap (that is, the overlap degrees of the coordinate ranges on the two other coordinate axes are both less than or equal to the preset threshold), then return to Step S42 to traverse the next screen model in the screen candidate set;

[0075] Step S44: Determine whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis, that is, determine whether the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is greater than the preset threshold; if there is an overlap (that is, the overlap degree of the coordinate range on the main coordinate axis is greater than the preset threshold), then execute Step S45; if there is no overlap (that is, the overlap degrees of the coordinate ranges on the main coordinate axis are both less than or equal to the preset threshold), then return to Step S42 to traverse the next screen model in the screen candidate set;

[0076] Step S45: Determine whether the minimum distance between the s-th screen model and each of the currently included screen models in the screen group where the reference screen model is located is less than or equal to the preset distance threshold; if there is a situation where it is less than or equal to the preset distance threshold and the screen group G contains only one reference screen model, then execute Step S46; if there is a situation where it is less than or equal to the preset distance threshold and the screen group G already contains two or more screen models, then execute Step S47; if there is no situation where it is less than or equal to the preset distance threshold, that is, the minimum distance between the s-th screen model and each of the currently included screen models in the screen group where the reference screen model is located is greater than the preset distance threshold, then return to Step S42 to traverse the next screen model in the screen candidate set;

[0077] Step S46: Take the coordinate axis with the largest overlap degree as the main coordinate axis of the screen group where the reference screen model is located, and execute Step S47;

[0078] Step S47: Add the s-th screen model to the screen group where the reference screen model is located;

[0079] Step S48: If the screen candidate set is not empty, that is, there are still screen models whose grouping has not been determined in the screen candidate set, then go back to Step S41 to select the reference screen model again, and determine the screen group of the reference screen model selected again.

[0080] Through the screen group determination process of the above Steps S41 to S48, it is possible to automatically and efficiently determine the screen groups composed of adjacent screen models with the same main direction and belonging to the same row or the same column in the screen candidate set, thereby facilitating the subsequent adjustment of the poses of adjacent screen models in the screen group to correct the misalignment or gaps between adjacent screen models.

[0081] In Step S13, for each screen group, according to the vertex coordinates of each screen model in the screen group, determine the pose adjustment amount between every two adjacent screen models in the screen group, and the pose adjustment amount includes a rotation amount and / or a displacement amount.

[0082] As described above, the screen models in the same screen group are adjacent, but at this time, the arrangement order, or rather, the adjacency order, of the screen models in the same screen group cannot be determined. In order to facilitate the determination of the pose adjustment amount between every two adjacent screen models in the screen group, in a possible implementation manner, the above-mentioned determination of the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of each screen model in the screen group may include:

[0083] Sort the screen models in the screen group according to the vertex coordinates of each screen model in the screen group, and determine the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model, where i ∈ [2, I], and I is the total number of screen models in the screen group. By this method, the arrangement order of each screen model in the same screen group can be effectively determined.

[0084] As described above, the screen models in the same screen group may belong to the same row or the same column. Therefore, it is possible to determine whether to sort in the row direction or the column direction based on the main coordinate axis corresponding to the screen group. Specifically, if the main coordinate axis of the screen group is the X-axis or the Z-axis, the screen models can be sorted in descending or ascending order according to the coordinate values of the vertex coordinates on the Y-axis. If the main coordinate axis of the screen group is the Y-axis, the screen models can be sorted in descending or ascending order according to the coordinate values of the vertex coordinates on the X-axis. Furthermore, the i-th screen model can be determined in descending or ascending order. It should be understood that those skilled in the art can use the sorting methods known in the art to sort the screen models in the same screen group, and the embodiments of the present disclosure do not limit this.

[0085] In a possible implementation manner, the pose adjustment amount of the i-th screen model relative to the (i - 1)-th screen model after the above determination of sorting may include:

[0086] Based on the main coordinate axis corresponding to the screen group, determine the respective reference vectors and reference points of the i-th screen model and the (i - 1)-th screen model; wherein, the main coordinate axis corresponding to the screen group is the coordinate axis with the largest overlap degree of the coordinate ranges of the screen models in the screen group; in the case where the main coordinate axis is the horizontal axis (X-axis) or the vertical axis (Z-axis), the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the row vectors of the screen model, the reference point of the i-th screen model is the lower vertex or the upper vertex, and the reference point of the (i - 1)-th screen model is the upper vertex or the lower vertex; in the case where the main coordinate axis is the vertical axis (Y-axis), the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the column vectors of the screen model, the reference point of the i-th screen model is the left vertex or the right vertex, and the reference point of the (i - 1)-th screen model is the right vertex or the left vertex;

[0087] According to the respective reference vectors of the i-th screen model and the (i - 1)-th screen model, determine the rotation amount of the i-th screen model relative to the (i - 1)-th screen model;

[0088] According to the three-dimensional coordinates of the respective reference points of the i-th screen model and the (i - 1)-th screen model, determine the displacement amount of the i-th screen model relative to the (i - 1)-th screen model.

[0089] Among them, the row vector of the screen model can be the normalized vector of the difference vector between two vertices in the row direction of the screen model (for example, the lower left vertex and the lower right vertex), that is, the vector obtained by normalizing the vector difference between the vertex coordinates of the left and right vertices; the column vector of the screen model can be the normalized vector of the difference vector between two vertices in the column direction of the screen model (for example, the upper left vertex and the lower left vertex), that is, the vector obtained by normalizing the difference vector between the vertex coordinates of the upper and lower vertices.

[0090] It should be understood that in order to closely merge two adjacent screen models, the reference points of the i-th screen model and the (i - 1)-th screen model should be adjacent vertices that can be merged. Thus, when the reference point of the i-th screen model is the lower vertex (such as the lower left vertex), the reference point of the (i - 1)-th screen model should be the upper vertex (such as the upper left vertex); when the reference point of the i-th screen model is the upper vertex (such as the upper right vertex), the reference point of the (i - 1)-th screen model should be the lower vertex (such as the lower right vertex); when the reference point of the i-th screen model is the left vertex (such as the lower left vertex), the reference point of the (i - 1)-th screen model is the right vertex (such as the lower right vertex); when the reference point of the i-th screen model is the right vertex (such as the upper right vertex), the reference point of the (i - 1)-th screen model is the left vertex (such as the upper left vertex).

[0091] In practical applications, the rotation amount can be expressed using quaternions, i.e., quat = (w, x, y, z), where x, y, z are the three components of the cross product of two reference vectors of the two screen models on the three coordinate axes, and w is the square root of the sum of the inner product of the two reference vectors and the product of the magnitudes of the two reference vectors; the displacement amount can be expressed using ternions, and the displacement amount is the difference between the three-dimensional coordinates of the two reference points of the two screen models, i.e., the displacement amount can be expressed as t = (a, b, c).

[0092] In step S14, according to the pose adjustment amounts between every two adjacent screen models in the screen group, adjust the poses of the screen models in the screen group to merge each screen model in the screen group.

[0093] As described above, what is determined in step S13 is the pose adjustment amount of the i-th screen model relative to the (i - 1)-th screen model. Based on this, the adjustment of the poses of the screen models in the screen group according to the pose adjustment amounts between every two adjacent screen models in the screen group can include: adjusting the pose of the i-th screen model according to the sorted pose adjustment amount of the i-th screen model relative to the (i - 1)-th screen model. Through this method, the serialization of adjusting the poses of the screen models can be achieved.

[0094] Among them, adjusting the pose of the i-th screen model according to the sorted pose adjustment amount of the i-th screen model relative to the (i - 1)-th screen model can be understood as rotating and displacing the vertex coordinates of each vertex of the i-th screen model according to the sorted rotation amount and displacement amount of the i-th screen model relative to the (i - 1)-th screen model. For example, assuming that the vertex coordinates of the i-th screen model are represented as K, then the rotation and displacement of the vertex coordinates of each vertex of the i-th screen model can be expressed as: K·quat + t. For example, by Figure 3 adjusting the pose of the shown screen model, we can obtain Figure 5 the adjustment result shown, such as Figure 5As shown, there is a tight connection between adjacent screen models.

[0095] According to an embodiment of the present disclosure, by using the direction vectors and vertex coordinates of each screen model in the screen candidate set, each screen model in the screen candidate set is divided into screen groups with the same main direction and belonging to the same row or the same column. Then, according to the vertex coordinates of the screen models in each screen group, the pose adjustment amount between every two adjacent screen models in the screen group is determined. This is equivalent to automatically calculating the adjacency relationship and pose relationship between each screen model. Furthermore, based on the pose adjustment amount between every two adjacent screen models, the pose of the screen model is adjusted, which can automatically and efficiently correct the misalignment and gaps between adjacent screen models, that is, achieve rapid and accurate merging of screen models, facilitate the continuity of screen models, without manual intervention, and has higher efficiency and higher precision.

[0096] Figure 6 The block diagram of a screen model merging device according to an embodiment of the present disclosure is shown, as Figure 6 shown. The device includes:

[0097] An acquisition module 601, configured to acquire a screen candidate set, where the screen candidate set includes a plurality of screen models and the direction vectors respectively corresponding to the plurality of screen models, and the plurality of screen models are in the same coordinate system;

[0098] A screen group determination module 602, configured to determine at least one screen group according to the direction vectors respectively corresponding to the plurality of screen models and the vertex coordinates of the plurality of screen models, where one screen group includes at least two screen models, the screen models in the same screen group have the same main direction and belong to the same row or the same column, and the main direction of the screen model is the direction of the coordinate axis corresponding to the maximum component of the direction vector of the screen model on the three coordinate axes of the coordinate system;

[0099] A pose adjustment amount determination module 603, configured to, for each screen group, determine the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group, where the pose adjustment amount includes a rotation amount and / or a displacement amount;

[0100] An adjustment module 604, configured to adjust the pose of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group, so as to merge the screen models in the screen group.

[0101] In a possible implementation, determining at least one screen group according to the direction vectors corresponding to the respective multiple screen models and the vertex coordinates of the respective multiple screen models includes: selecting any screen model from the screen candidate set as a reference screen model and adding it to an empty screen group; judging whether the main direction of the s-th screen model is the same as that of the reference screen model according to the direction vectors of the reference screen model and the other S screen models in the screen candidate set, where S≥1 and s≤S; when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located only contains the reference screen model, judging whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes except the coordinate axis corresponding to the main direction according to the vertex coordinates of the s-th screen model and the reference screen model; when there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, determining that the s-th screen model and the reference screen model belong to the screen models in the same row or the same column, and adding the s-th screen model to the screen group where the reference screen model is located.

[0102] In a possible implementation, judging whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes except the coordinate axis corresponding to the main direction according to the vertex coordinates of the s-th screen model and the reference screen model includes: determining the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes according to the vertex coordinates of the s-th screen model and the reference screen model; when the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on any other coordinate axis is greater than a preset threshold, determining that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and taking the coordinate axis with the largest overlap degree as the main coordinate axis of the screen group where the reference screen model is located.

[0103] In a possible implementation, the determining of at least one screen group according to the direction vectors respectively corresponding to the multiple screen models and the vertex coordinates of the multiple screen models further includes: when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located already includes two or more screen models, determining, according to the vertex coordinates of the s-th screen model and the reference screen model, the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis, where the main coordinate axis is the coordinate axis with the largest overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the other two coordinate axes; when the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is greater than a preset threshold, determining that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and adding the s-th screen model to the screen group where the reference screen model is located.

[0104] In a possible implementation, the determining of at least one screen group according to the direction vectors respectively corresponding to the multiple screen models and the vertex coordinates of the multiple screen models further includes: when the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located already includes two or more screen models, determining the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis according to the vertex coordinates of the s-th screen model and the reference screen model; when the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is greater than the preset threshold, determining that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and adding the s-th screen model to the screen group where the reference screen model is located.

[0105] In a possible implementation, the determining of the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group includes: sorting the screen models in the screen group according to the vertex coordinates of the screen models in the screen group, and determining the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model, where i ∈ [2, I], and I is the total number of screen models in the screen group; wherein, the adjusting of the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group includes: adjusting the pose of the i-th screen model according to the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model.

[0106] In a possible implementation, determining the pose adjustment amount of the i-th screen model relative to the (i-1)-th screen model after sorting includes: determining the respective reference vectors and reference points of the i-th screen model and the (i-1)-th screen model based on the main coordinate axis corresponding to the screen group; wherein, the main coordinate axis corresponding to the screen group is the coordinate axis with the largest overlapping degree of the coordinate ranges of the screen models in the screen group; when the main coordinate axis is the horizontal axis or the vertical axis, the reference vectors of the i-th screen model and the (i-1)-th screen model are both the row vectors of the screen model, the reference point of the i-th screen model is the lower vertex or the upper vertex, and the reference point of the (i-1)-th screen model is the upper vertex or the lower vertex; when the main coordinate axis is the vertical axis, the reference vectors of the i-th screen model and the (i-1)-th screen model are both the column vectors of the screen model, the reference point of the i-th screen model is the left vertex or the right vertex, and the reference point of the (i-1)-th screen model is the right vertex or the left vertex; determining the rotation amount of the i-th screen model relative to the (i-1)-th screen model according to the respective reference vectors of the i-th screen model and the (i-1)-th screen model; determining the displacement amount of the i-th screen model relative to the (i-1)-th screen model according to the three-dimensional coordinates of the respective reference points of the i-th screen model and the (i-1)-th screen model.

[0107] According to the embodiments of the present disclosure, by dividing the screen models in the screen candidate set into screen groups with the same main direction and belonging to the same row or the same column according to the direction vectors and vertex coordinates of the screen models in the screen candidate set, and then determining the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in each screen group, it is equivalent to automatically calculating the adjacency relationship and pose relationship between the screen models. Furthermore, by adjusting the pose of the screen models according to the pose adjustment amount between every two adjacent screen models, it is possible to automatically and efficiently correct the misalignment and gaps between adjacent screen models, that is, to quickly and accurately merge the screen models, which is beneficial to the continuity of the screen models, without manual intervention, and has higher efficiency and higher accuracy.

[0108] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0109] The embodiments of the present disclosure also propose a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above methods are implemented. The computer-readable storage medium can be a volatile or non-volatile computer-readable storage medium.

[0110] An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.

[0111] An embodiment of the present disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code runs in the processor of an electronic device, the processor in the electronic device executes the above method.

[0112] Figure 7 The block diagram of an electronic device 1900 according to an embodiment of the present disclosure is shown. For example, the electronic device 1900 may be provided as a server or a terminal device. Referring to Figure 7 , the electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by a memory 1932 for storing instructions executable by the processing component 1922, such as application programs. The application programs stored in the memory 1932 may include one or more modules each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0113] The electronic device 1900 may further include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output interface 1958 (I / O interface). The electronic device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM or the like.

[0114] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as the memory 1932 including computer program instructions. The above computer program instructions can be executed by the processing component 1922 of the electronic device 1900 to complete the above method.

[0115] The present disclosure may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.

[0116] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example—but not limited to—an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device, such as a punched card or raised structures in grooves storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage medium used herein is not construed as being a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0117] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computing / processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include a copper transmission cable, an optical fiber transmission, a wireless transmission, a router, a firewall, a switch, a gateway computer, and / or an edge server. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.

[0118] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine - related instructions, microcode, firmware instructions, state - setting data, or source code or object code written in any combination of one or more programming languages, including object - oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer - readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as a stand - alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through 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., through the Internet using an Internet service provider). In some embodiments, by using the state information of the computer - readable program instructions to customize an electronic circuit, such as a programmable logic circuit, a field - programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer - readable program instructions to implement various aspects of the present disclosure.

[0119] Aspects of the present disclosure are described herein with reference to the flowchart and / or block diagram of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer - readable program instructions.

[0120] These computer - readable program instructions can be provided to a processor of a general - purpose computer, a special - purpose computer, or other programmable data - processing apparatus to produce a machine such that the instructions, when executed by the processor of the computer or other programmable data - processing apparatus, create a means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer - readable program instructions can also be stored in a computer - readable storage medium, which causes a computer, a programmable data - processing apparatus, and / or other devices to operate in a particular manner, so that the computer - readable medium storing the instructions includes a manufacture comprising instructions for implementing various aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0121] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, causing a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process such that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in one or more boxes of the flowchart and / or block diagram.

[0122] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of code, or a portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or acts, or by a combination of dedicated hardware and computer instructions.

[0123] The embodiments of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the market, or to enable other ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for merging screen models, characterized in that, Including: Obtain a set of screen candidates, where the set of screen candidates includes multiple screen models and the direction vectors corresponding to the multiple screen models respectively, and the multiple screen models are in the same coordinate system; Determine at least one screen group according to the direction vectors corresponding to the multiple screen models respectively and the vertex coordinates of the multiple screen models respectively, where one screen group includes at least two screen models, the main directions of the screen models in the same screen group are the same and belong to the same row or the same column, and the main direction of a screen model is the direction of the coordinate axis corresponding to the largest component of the direction vector of the screen model on the three coordinate axes of the coordinate system; For each screen group, determine the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group, and the pose adjustment amount includes a rotation amount and / or a displacement amount; Adjust the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group, so as to combine the screen models in the screen group.

2. The method according to claim 1, characterized in that The determining at least one screen group according to the direction vectors corresponding to the multiple screen models respectively and the vertex coordinates of the multiple screen models respectively includes: Select any screen model from the set of screen candidates as a reference screen model and add it to an empty screen group; According to the direction vectors of the reference screen model and other S screen models in the set of screen candidates, determine whether the main direction of the s-th screen model is the same as that of the reference screen model, where S≥1 and s≤S; When the main direction of the s-th screen model is the same as that of the reference screen model and the screen group where the reference screen model is located only contains the reference screen model, according to the vertex coordinates of the s-th screen model and the reference screen model, determine whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes except the coordinate axis corresponding to the main direction; When there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, determine that the s-th screen model and the reference screen model are screen models in the same row or the same column, and add the s-th screen model to the screen group where the reference screen model is located.

3. The method according to claim 2, characterized in that The determining whether there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes except the coordinate axis corresponding to the main direction according to the vertex coordinates of the s-th screen model and the reference screen model includes: Determine the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes respectively according to the vertex coordinates of the s-th screen model and the reference screen model; When the overlap degree of the coordinate ranges of the s-th screen model and the reference screen model on any other coordinate axis is greater than a preset threshold, determine that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and use the coordinate axis with the largest overlap degree as the main coordinate axis of the screen group where the reference screen model is located.

4. The method according to claim 2, characterized in that, Determining at least one screen group according to the direction vectors corresponding to the respective multiple screen models and the vertex coordinates of the respective multiple screen models further includes: When the main direction of the s-th screen model is the same as that of the reference screen model and the reference screen model's screen group already contains two or more screen models, determine the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis according to the vertex coordinates of the s-th screen model and the reference screen model, where the main coordinate axis is the coordinate axis with the largest overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the two other coordinate axes; When the overlapping degree of the coordinate ranges of the s-th screen model and the reference screen model on the main coordinate axis is greater than a preset threshold, determine that there is an overlap in the coordinate ranges of the s-th screen model and the reference screen model, and add the s-th screen model to the screen group where the reference screen model is located.

5. The method according to any one of claims 2 to 4, characterized in that, The adding the s-th screen model to the screen group where the reference screen model is located includes: Determine the minimum distance between the s-th screen model and each of the screen models currently included in the screen group where the reference screen model is located according to the vertex coordinates of the s-th screen model and each of the screen models in the screen group where the reference screen model is located; When the minimum distance between the s-th screen model and each of the screen models in the screen group where the reference screen model is located is less than or equal to a preset distance threshold, add the s-th screen model to the screen group where the reference screen model is located.

6. The method according to claim 1, characterized in that The determining the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group includes: Sort the screen models in the screen group according to the vertex coordinates of the screen models in the screen group, and determine the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model, where i ∈ [2, I] and I is the total number of screen models in the screen group; Among them, the adjusting the poses of the screen models in the screen group according to the pose adjustment amount between every two adjacent screen models in the screen group includes: Adjust the pose of the i-th screen model according to the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model.

7. The method according to claim 6, characterized in that, The determining the pose adjustment amount of the i-th screen model after sorting relative to the (i - 1)-th screen model includes: Based on the main coordinate axis corresponding to the screen group, determine the respective reference vectors and reference points of the i-th screen model and the (i - 1)-th screen model; wherein, the main coordinate axis corresponding to the screen group is the coordinate axis with the largest overlapping degree of the coordinate ranges of the screen models in the screen group; in the case where the main coordinate axis is the horizontal axis or the vertical axis, the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the row vectors of the screen model, the reference point of the i-th screen model is the lower vertex or the upper vertex, and the reference point of the (i - 1)-th screen model is the upper vertex or the lower vertex; in the case where the main coordinate axis is the vertical axis, the reference vectors of the i-th screen model and the (i - 1)-th screen model are both the column vectors of the screen model, the reference point of the i-th screen model is the left vertex or the right vertex, and the reference point of the (i - 1)-th screen model is the right vertex or the left vertex; Determine the rotation amount of the i-th screen model relative to the (i - 1)-th screen model according to the respective reference vectors of the i-th screen model and the (i - 1)-th screen model; Determine the displacement amount of the i-th screen model relative to the (i - 1)-th screen model according to the three-dimensional coordinates of the respective reference points of the i-th screen model and the (i - 1)-th screen model.

8. A screen model merging device, characterized in that, Includes: An acquisition module, configured to acquire a screen candidate set, where the screen candidate set includes a plurality of screen models and the respective direction vectors corresponding to the plurality of screen models, and the plurality of screen models are in the same coordinate system; A screen group determination module, configured to determine at least one screen group according to the respective direction vectors corresponding to the plurality of screen models and the respective vertex coordinates of the plurality of screen models, where one screen group includes at least two screen models, the main directions of the screen models in the same screen group are the same and belong to the same row or the same column, and the main direction of the screen model is the direction of the coordinate axis corresponding to the largest component of the direction vector of the screen model on the three coordinate axes of the coordinate system; A pose adjustment amount determination module, configured to, for each screen group, determine the pose adjustment amount between every two adjacent screen models in the screen group according to the vertex coordinates of the screen models in the screen group, where the pose adjustment amount includes a rotation amount and / or a displacement amount; An adjustment module, configured to adjust the poses of the screen models in the screen group according to the pose adjustment amounts between every two adjacent screen models in the screen group, so as to merge the screen models in the screen group.

9. An electronic device, characterized in that, Includes: A processor; A memory for storing instructions executable by the processor; Wherein, the processor is configured to implement the method according to any one of claims 1 to 7 when executing the instructions stored in the memory.

10. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that, The computer program instructions, when executed by the processor, implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Monomer rendering method of massive three-dimensional models, storage medium and electronic equipment

    CN115393530A

  • Screen model generation method and device, electronic equipment and storage medium

    CN116433848A