A method of modeling and a computer device

CN122966872APending Publication Date: 2026-10-23HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510518807.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-23
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

但雷达或3D街景等数据具有极高的获取门槛,不具有普适性

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122966872A_ABST
    Figure CN122966872A_ABST
Patent Text Reader

Abstract

The application provides a stereoscopic modeling method and a computer device, which can be applied to the field of modeling and comprises the following steps: acquiring a first image, determining attribute information (such as shooting time and the geographic position of a target object) of the first image, the first image containing a target object and a shadow of the target object formed under sunlight, determining the distance between at least one target anchor point on the target object and at least one shadow anchor point on the shadow of the target object, the shadow anchor point being the position of the shadow formed by the target anchor point under sunlight, then determining the height between the target anchor point and the actual ground according to the distance and the sunlight incidence angle, the sunlight incidence angle being determined based on the attribute information, and finally modeling the target object according to the height. The application directly stretches the modeling based on the selected target anchor point and the corresponding shadow anchor point in the image, does not need to use radar or 3D street view to obtain high threshold data, and is beneficial to expanding the sales market.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of modeling, and more particularly to a modeling method and a computer device. Background Technology

[0002] Solar panels are installed on rooftops to convert sunlight into electrical energy for storage. Users typically purchase a certain number of panels based on their annual or monthly electricity needs. However, due to factors such as panel placement and the relative position of the sun to the panels, solar panels cannot operate at peak power all day; in fact, they may not even reach peak power for most of the day. Therefore, solar panel designs must be tailored to the specific conditions of the house and roof to meet user needs.

[0003] However, actually collecting annual solar radiation data from various locations on a roof is an enormous and difficult task. This problem is typically addressed during the photovoltaic (PV) design phase by using building modeling. Specifically, after modeling, solar radiation is simulated to determine the number of PV panels on the user's roof, as well as their placement and arrangement. One of the main challenges in the modeling phase is accurately recreating the building's height.

[0004] The commonly used method is to reconstruct roof height using data from radar or three-dimensional (3D) street views. However, radar or 3D street view data has a very high acquisition threshold and is not universally applicable. Summary of the Invention

[0005] This application provides a modeling method and computer device for restoring the height of a target object (e.g., a house) without acquiring high-threshold data: modeling is performed directly based on the target anchor point and the corresponding shadow anchor point selected in the first image, which has universality.

[0006] Based on this, the embodiments of this application provide the following technical solutions:

[0007] Firstly, this application provides a method for stereo modeling, which specifically includes: First, acquiring a first image and determining the attribute information of the first image, wherein the first image contains a target object and the shadow formed by the target object under sunlight. The shadow of the target object can be realized by means of grayscale recognition, etc. Next, determining the distance between at least one target anchor point and at least one shadow anchor point, wherein the shadow anchor point is the location of the shadow formed by the target anchor point under sunlight, wherein the target anchor point is a point located on the target object in the first image, specifically any point on the target object; the shadow anchor point is a point located on the shadow of the target object in the first image. The target anchor point and the shadow anchor point are in one-to-one correspondence, that is, one target anchor point corresponds to one shadow anchor point, and one target anchor point and its corresponding shadow anchor point constitute a pair of anchor points. For example, assuming there are n target anchor points, there are also n corresponding shadow anchor points, forming n pairs of anchor points. The distance between a target anchor point and a shadow anchor point can be calculated for each pair of anchor points, thus a total of n distances can be calculated. Then, based on the calculated distance between the target anchor point and the shadow anchor point (if there are n pairs of anchor points, there are n distance values) and the angle of sunlight incidence, the height between each target anchor point and the actual ground is determined (i.e., the heights corresponding to the n target anchor points, for a total of n heights). The angle of sunlight incidence can be determined based on the attribute information of the first image mentioned above. Finally, the target object is stretched and modeled according to this height.

[0008] In the above embodiments of this application, modeling is performed based on the target anchor point selected in the first image and the corresponding shadow anchor point, thereby restoring the height of the target object (e.g., a house) without needing to obtain high-threshold data such as radar or 3D street view, which has universality.

[0009] In one possible implementation of the first aspect, after modeling the target object based on its height, the method may further include: modeling obstacles located on the surface of the target object to obtain an obstacle model, wherein the obstacle is a fixed object (e.g., a chimney on a roof) whose shadow, after being illuminated by sunlight, lies within a first region, the first region being the area occupied by the target object. Then, shadow analysis is performed based on the obstacle model to obtain a year-round shadow map of the obstacle, wherein the year-round shadow map characterizes the extent to which the obstacle blocks sunlight during a preset period (e.g., throughout the year); finally, the arrangement of photovoltaic panels on the surface of the target object (e.g., the roof) is determined based on the year-round shadow map.

[0010] In the above embodiments of this application, the arrangement of photovoltaic panels is also taken into account the shading relationship of obstacles on the surface of the target object to sunlight, which is more in line with the actual working conditions of photovoltaic panel deployment, making the final photovoltaic design scheme more in line with user needs and increasing professional trust.

[0011] In one possible implementation of the first aspect, determining the arrangement of photovoltaic panels on the surface of a target object based on an annual shading map could be achieved by: first, adjusting the irradiance distribution on the surface of the target object based on the annual shading map to obtain an adjusted irradiance distribution; and finally, determining the arrangement of photovoltaic panels on the surface of the target object based on the adjusted irradiance distribution.

[0012] In the above embodiments of this application, it is specifically explained that the year-round shading map is used to adjust the irradiance distribution on the surface of the target object. The adjusted irradiance can truly reflect the solar radiation on the surface of the target object, making the deployment of photovoltaic panels more reasonable.

[0013] In one possible implementation of the first aspect, the annual shadow map includes at least one (e.g., m) shadow regions, where m ≥ 1. One implementation for adjusting the irradiance distribution of the target object surface based on the annual shadow map is as follows: First, determine the m shadow rates of the m shadow regions. These shadow rates characterize the proportion of time the shadow region is blocked by obstacles during a preset period. For example, assuming that a location in a certain shadow region is in shadow for 60 days a year, the shadow rate corresponding to that shadow region is 60 / 365. For each of the m shadow regions, their respective shadow rates can be obtained in a similar manner, resulting in a total of m shadow rates. Finally, adjust the irradiance distribution of the target object surface based on the m shadow rates.

[0014] In the above embodiments of this application, it is specifically described that the irradiance is adjusted according to the shading rate, thereby quantifying the situation of obstacles blocking sunlight, and the quantification result is reflected in the irradiance, which is feasible.

[0015] In one possible implementation of the first aspect, determining the distance between at least one target anchor point and at least one shadow anchor point can be achieved as follows: First, determine the coordinates of the pixels of at least one target anchor point in the screen coordinate system; these coordinates can be called target coordinates, with one pixel of each target anchor point corresponding to one target coordinate. Furthermore, determine the coordinates of the pixels of the shadow anchor point corresponding to the target anchor point in the screen coordinate system; these coordinates can be called shadow coordinates, with one pixel of each shadow anchor point corresponding to one shadow coordinate. Finally, calculate the distance between the target coordinates and the shadow coordinates using the Pythagorean theorem. If there are n pairs of anchor points, then for each pair, the distance between each pair can be calculated based on the above-described method, resulting in a total of n distance values.

[0016] In the above embodiments of this application, it is specifically explained that the distance between the target anchor point and the shadow anchor point can be calculated using the Pythagorean theorem, and this calculation method is simple.

[0017] In one possible implementation of the first aspect, the target coordinates can be the coordinates of the center pixel of the target anchor point in the screen coordinate system. For example, assuming the target anchor point occupies 10 pixels on the screen, the target coordinates are taken as the coordinates of the pixel closest to the center (i.e., the center pixel). Alternatively, the target coordinates can be the average of p (p≥1) coordinates of the p pixels contained in the target anchor point in the screen coordinate system. For example, assuming the target anchor point occupies 10 pixels on the screen, the average of the coordinates of these 10 pixels is taken as the target coordinates. Similarly, the shadow coordinates can be the coordinates of the center pixel of the shadow anchor point in the screen coordinate system, or the average of q (q≥1) coordinates of the q pixels contained in the shadow anchor point in the screen coordinate system. See the examples of target coordinates above for details. This application does not limit the method of determining the target coordinates and shadow coordinates; the appropriate method can be chosen based on the actual application scenario.

[0018] In the above embodiments of this application, the target coordinates and shadow coordinates can be selected as the coordinates of the center pixel or the average of the coordinates of multiple pixels based on the actual application scenario, which provides flexibility.

[0019] In one possible implementation of the first aspect, at least one target anchor point may include: at least one first target anchor point located on a first boundary, the first boundary being the boundary of a target object identified in the first image, and a shadow anchor point (which may be referred to as a first shadow anchor point) corresponding to the first target anchor point located on a second boundary, the second boundary being the boundary of the shadow of the target object identified in the first image.

[0020] In the above embodiments of this application, one type of target anchor point can be a first target anchor point, which is selected from the first boundary formed by the target object, and the corresponding shadow anchor point is located on the second boundary line. The first target anchor point is used to construct the overall height of the target object (e.g., the height of a house).

[0021] In one possible implementation of the first aspect, if the first boundary and the second boundary constitute a closed polygon, then the first target anchor point is contained in the vertex of the first polygon formed by the first boundary, the shadow anchor point corresponding to the first target anchor point (i.e. the first shadow anchor point) is contained in the vertex of the second polygon formed by the second boundary, and the first shadow anchor point is close to the vertex of the first polygon.

[0022] In the above embodiments of this application, when the first boundary and the second boundary are polygons, the first target anchor point and the corresponding first shadow anchor point are both located at the vertices of their respective boundaries, and the first shadow anchor point is close to the vertex of the first polygon. Such anchor point pairs are easy to construct and easy to find mapping relationships.

[0023] In one possible implementation of the first aspect, at least one target anchor point may further include: at least one second target anchor point located within the area enclosed by a first boundary, the first boundary being the boundary of the target object identified in the first image, and a shadow anchor point (which may be referred to as a second shadow anchor point) corresponding to the second target anchor point located on a second boundary, the second boundary being the boundary of the shadow of the target object identified in the first image.

[0024] In the above embodiments of this application, one of the types of target anchor points can also be a second target anchor point. The second target anchor point is selected from inside the first boundary formed by the target object (located in the middle part of the target object surface and at a higher position), and the corresponding shadow anchor point is located on the second boundary line. The second target anchor point is used to establish a rough roof model, and subsequent roof modeling is based on this for precise modeling, which can improve the accuracy of roof modeling.

[0025] In one possible implementation of the first aspect, when the first boundary and the second boundary are polygons, the second target anchor point is contained inside the first polygon formed by the first boundary, and the shadow anchor point (i.e. the second shadow anchor point) corresponding to the second target anchor point is contained in the vertex of the second polygon formed by the second boundary, and the second shadow anchor point is far away from the vertex of the first polygon.

[0026] In the above embodiments of this application, when the first boundary and the second boundary are polygons, the second target anchor point is located inside the first boundary, and the corresponding second shadow anchor point is located at the vertex of the second boundary and far away from the first polygon. Such anchor point pairs are easy to construct and easy to find mapping relationships.

[0027] In one possible implementation of the first aspect, the second target anchor point can be determined based on image depth recognition. This includes, but is not limited to, determining the second target anchor point through depth-of-field algorithm analysis, color analysis, and other methods.

[0028] In the above embodiments of this application, a means for determining the second target anchor point is specifically described, which is feasible.

[0029] In one possible implementation of the first aspect, one way to model the target object based on its height is to first perform edge recognition on the target object to obtain the edge contour line of the target object, and then model the target object based on the edge contour line and at least one calculated height.

[0030] In the above embodiments of this application, it is specifically described that modeling is mainly accomplished by stretching, and the stretching distance is equal to the height value of the target object. This stretching method is easy to operate.

[0031] In one possible implementation of the first aspect, the attribute information includes at least one of the following: the time when the first image was captured, and the geographical location of the target object.

[0032] In the above embodiments of this application, the contents of the attribute information of the first image are specifically described for calculating the angle of incidence of sunlight.

[0033] In one possible implementation of the first aspect, the first image includes at least one of the following: a satellite image taken by a satellite, an image taken by a flying device (e.g., a drone), wherein the flying device (e.g., a camera mounted on the flying device, or the flying device itself has a shooting function) is positioned above the target object when taking the first image, preferably on the same straight line as the geometric center point of the target object, and in actual shooting, the smaller the offset distance, the better.

[0034] In the above embodiments of this application, it is specifically explained that the sources of the first image can be diverse and have wide applicability.

[0035] In one possible implementation of the first aspect, the target object includes at least one of the following: buildings (such as factories, buildings), carports, sunshades, railway station roofs, and subway station roofs.

[0036] In the above embodiments of this application, several typical types of target objects described in this application are specifically illustrated. Specifically, they can be any target object for deploying photovoltaic panels on a surface, possessing flexibility and universality.

[0037] A second aspect of this application provides a computer device having the function of implementing the method of the first aspect or any possible implementation thereof. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function.

[0038] A third aspect of this application provides a computer device that may include a memory, a processor, and a bus system. The memory is used to store a computer program (also referred to as a program or computer-readable instructions), and the processor is used to invoke the program stored in the memory to execute the method of the first aspect of the embodiments of this application or any possible implementation of the first aspect.

[0039] A fourth aspect of this application provides a computer-readable storage medium storing instructions that, when executed on a computer, enable the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0040] The fifth aspect of this application provides a computer program or a computer program product containing instructions that, when the computer program or computer program product is run on a computer, causes the computer to perform the method described in the first aspect or any possible implementation of the first aspect.

[0041] A sixth aspect of this application provides a chip including at least one processor and at least one interface circuit coupled to the processor. The interface circuit performs transceiver functions and sends instructions to the at least one processor. The at least one processor runs a computer program or instructions, having the functionality to implement the methods described in the first aspect or any possible implementation of the first aspect. This functionality can be implemented in hardware, software, or a combination of hardware and software, including one or more modules corresponding to the described functions. Furthermore, the interface circuit is used to communicate with other modules outside the chip.

[0042] In some implementations of this application, some of the one or more processors may implement some steps of the above method through dedicated hardware.

[0043] The method provided in this application embodiment can be implemented by a single chip or by multiple chips working together. Attached Figure Description

[0044] Figure 1 A schematic diagram of an application scenario for the system architecture provided in this application embodiment;

[0045] Figure 2 A flowchart illustrating the method for stereoscopic modeling provided in this application embodiment;

[0046] Figure 3 An exemplary interface diagram of the photovoltaic design system provided in this application embodiment;

[0047] Figure 4 A schematic diagram illustrating an example of a target object and its shadow provided in an embodiment of this application;

[0048] Figure 5 A schematic diagram illustrating an example of determining the correspondence between the second target anchor point and the second shadow anchor point, provided in an embodiment of this application.

[0049] Figure 6A schematic diagram illustrating the principle of calculating the angle of incidence of sunlight provided in this application embodiment;

[0050] Figure 7 A schematic diagram illustrating the principle of calculating obstacle height provided in this application embodiment;

[0051] Figure 8 A schematic diagram illustrating an example of determining a year-round shading map provided in this application embodiment;

[0052] Figure 9 A schematic diagram of a computer device provided in an embodiment of this application;

[0053] Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0054] This application provides a modeling method and computer device for restoring the height of a target object (e.g., a house) without acquiring high-threshold data such as radar or 3D street view data: modeling is performed directly based on the target anchor point selected in the first image and the corresponding shadow anchor point, which has universality.

[0055] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0056] To better understand the solutions of the embodiments of this application, the relevant terms and concepts that may be involved in the embodiments of this application will be introduced below. It should be understood that the explanation of the relevant concepts may be limited due to the specific circumstances of the embodiments of this application, but it does not mean that this application can only be limited to that specific situation. The specific circumstances of different embodiments may also differ, and no specific limitation is made here.

[0057] (1) Photovoltaic design system

[0058] Photovoltaic design systems are the core tools for photovoltaic project development. Through digital means, photovoltaic design systems help engineers or designers complete the entire design process from system configuration to power generation prediction, ensuring the optimal performance of photovoltaic projects in terms of technology, economy, and environment.

[0059] (2) Screen Coordinate System

[0060] The screen coordinate system is a two-dimensional coordinate system used to locate pixels on a computer screen, monitor, or graphical user interface (GUI). It defines the position of each point on the screen and is commonly used in scenarios such as graphics rendering, user interface (UI) design, game development, and image processing.

[0061] (3) Angle of incidence of sunlight

[0062] The angle of incidence of sunlight is the angle between the sunlight and the normal to a point on the Earth's surface, that is, the angle between the sunlight and a reference line perpendicular to the Earth's surface at that point. It can be represented by α, where 0°≤α≤90°. α=0° means that the sunlight shines perpendicularly to the Earth's surface, such as at noon in the equatorial region during the spring / autumn equinox; α=90° means that the sunlight is parallel to the ground, such as at sunrise / sunset.

[0063] (4) Anchor point

[0064] An anchor point is a positioning marker, used in this embodiment to indicate a specific location. Specifically, the target anchor point in this embodiment is a point located on a target object in the first image, used to indicate a specific location on the target object (which may be called the target location), and the shadow anchor point is a point located on a shadow in the first image, used to indicate a specific location on the shadow (which may be called the shadow location). The shadow anchor point indicates the location of the shadow cast by sunlight on the target anchor point.

[0065] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0066] First, the system architecture and overall process applied in the methods of the embodiments of this application will be described. For details, please refer to [link / reference needed]. Figure 1 , Figure 1 This is a schematic diagram of an application scenario for the system architecture provided in the embodiments of this application. The system architecture can be a computer device equipped with a photovoltaic design system (i.e., Figure 1 001 in Figure 1 The computer device shown is a personal computer (PC), when the user (i.e. Figure 1 When user requirements are input into the photovoltaic design system (002), the photovoltaic design system can automatically model to obtain a photovoltaic panel layout scheme that meets the user's requirements.

[0067] It should be noted that, in the application embodiments, the user can be either a salesperson of photovoltaic products or a customer who purchases photovoltaic products. If the user is a salesperson, they need to inquire about the customer's needs and input those needs into the photovoltaic design system.

[0068] It should also be noted that the above embodiments of this application use a laptop computer as an example of a computer device. In practical applications, the computer device can be a smart terminal (e.g., a mobile phone), a laptop computer, a tablet computer, a tablet PC, an ultrabook, a wearable device (e.g., a smart bracelet, a smartwatch), etc., or various foldable terminal devices, such as foldable mobile phones, foldable personal computers, foldable tablet computers, etc. This application does not impose any restrictions on the specific form of the computer device.

[0069] The following describes the stereoscopic modeling method provided in the embodiments of this application. Please refer to the following for details. Figure 2 , Figure 2 A flowchart illustrating the method for stereoscopic modeling provided in this application embodiment specifically includes the following steps:

[0070] 201. Obtain the first image and determine the attribute information of the first image. The first image contains the target object and the shadow formed by the target object under sunlight.

[0071] First, a first image is acquired, and its attribute information is determined. This first image includes the target object and the shadow cast by the target object under sunlight. The shadow of the target object can be achieved through methods such as grayscale recognition. Within the display boundary of the target object, the shadow area and the display area of ​​the target object must share at least one boundary line.

[0072] It should be noted that in some embodiments of this application, the target object can be any type of surface energy photovoltaic panel deployment target object. For example, the target object can be various types of buildings, such as factories, buildings, etc.; the target object can also be carports, sunshades, railway station roofs, subway station roofs, etc. Specifically, this application does not limit the type of target object. For ease of explanation, the target object will be illustrated as a building in the following examples, and will not be elaborated further.

[0073] Furthermore, regarding the arrangement of photovoltaic panels, since the panels are deployed on the surface of the target object (e.g., a rooftop), and a top-down view can reveal more surface details, the first image is preferably a top-down view of the target object. However, it should be noted that the top-down view described in this application can be a strictly defined top-down view, i.e., taken vertically downwards from the center point of the target object; or it can be a generalized top-down view, meaning the camera is positioned above the highest point of the target object. This is because in reality, it is difficult to obtain a strictly defined top-down view; therefore, any first image taken in a generally vertical direction is acceptable.

[0074] It should be noted that, in some embodiments of this application, the first image may include, but is not limited to, the following:

[0075] a. Satellite images taken by a satellite.

[0076] b. Images taken by flying equipment (e.g., drones). In this case, the flying equipment (e.g., a camera mounted on the flying equipment, or the flying equipment itself has a shooting function) is positioned above the target object when taking the first image, ideally on the same straight line as the geometric center point of the target object. In actual shooting, the smaller the offset distance, the better.

[0077] It should also be noted that, in this embodiment, whether the image is captured by a satellite or by a flying device, some image attributes (i.e., the attribute information) are recorded synchronously during the capture process, such as the capture time, capture location, and capture parameters. In this embodiment, the attribute information of the first image includes at least one of the following: the capture time of the first image and the specific geographical location of the target object. As an example, the capture time may specifically include the date and time of capture, for example, the capture date is October 29, 2024, and the capture time is 16:21.

[0078] Specifically, if the first image is a satellite image, its attribute information includes the time of capture, because the satellite takes the image from outer space, and the satellite position cannot reflect the actual location of the house. When using satellite imagery for modeling, the target object (e.g., the user's house) is usually selected through a satellite map, requiring real-time location input. In this case, the photovoltaic design system can obtain the geographical location of the target object based on the input. If the first image is taken by the user (e.g., by a drone), the capturing device is usually at the same geographical location as the target object. In this case, it is neither necessary nor possible to locate the target object on the first image by inputting the location. Therefore, the photovoltaic design system can directly obtain the specific geographical location information of the target object from the attribute information carried by the target image.

[0079] To facilitate understanding of this process, a specific example will be used below for illustration. For details, please refer to [link / reference needed]. Figure 3 , Figure 3 An exemplary interface of a photovoltaic design system is shown, in which a minimalist house model A1 and its shadow S1 are shown in the first image B. When the first image B is a satellite image, the photovoltaic design system embeds a satellite map. In the basic information stage, the user inputs location information, and the photovoltaic design system locates the target object in the satellite map based on the input location information. The user then selects the target object in the map. It can be understood that the satellite map is composed of multiple satellite images stitched together. When the user selects a target object, the satellite image corresponding to the target object's location becomes the first image. At this time, the geographical location of the target object can be directly obtained through the satellite map; only the time when the first image was taken needs to be obtained. Correspondingly, when the first image B is a self-taken image (e.g., an image taken by a flying device), in the basic information stage, the user selects the first image and uploads it to the photovoltaic design system. After obtaining the first image, the photovoltaic design system analyzes it to obtain information such as the time and location of the first image from the information it carries. The location of the first image is the geographical location of the target object.

[0080] After receiving the first image, the photovoltaic design system can automatically perform modeling. Before starting automatic modeling, some preprocessing can be performed on the first image. Specifically, firstly, object recognition is performed on the first image to identify all objects in the image. Since this embodiment is for the arrangement of photovoltaic panels, the identified objects can be limited to fixed objects such as trees and buildings. Figure 3 Objects such as vehicles in the data do not need to be identified.

[0081] After identifying objects, they can be visually marked so that users can select one as the target object. For example, the identified objects can be outlined and highlighted, and the highlighted object becomes the target object for later use. After marking objects, users can select them using a mouse / mobile phone, etc. When interacting with an object by hovering the mouse over it / long-pressing a gesture (or other interactions), a [visible text appears]... Figure 3 The automatic modeling control shown is used to automatically model based on the currently selected object.

[0082] It should be noted that in some embodiments of this application, when selecting a target object for automatic modeling, modeling may be performed only on the target object. In other embodiments of this application, when selecting a target object for automatic modeling, obstacles indicated by the target object may be simultaneously considered as second objects. In subsequent automatic modeling processes, both the target object and the second object are modeled simultaneously. In the embodiments of this application, the first step of automatic modeling is to identify the shadow of the target object. The shadow of the target object can be achieved through grayscale recognition or other means. Within the display boundary of the target object, the shadow area and the display area of ​​the target object must have at least one boundary line adjacent to each other.

[0083] 202. Determine the distance between at least one target anchor point and at least one shadow anchor point. The target anchor point is a point located on the target object in the first image, and the shadow anchor point is a point located on the shadow in the first image. The shadow anchor point is the location of the shadow formed by the target anchor point under sunlight.

[0084] Next, the distance between at least one target anchor point and at least one shadow anchor point is determined. A target anchor point is a point located on the target object in the first image, specifically any point on the target object; a shadow anchor point is a point located on the shadow of the target object in the first image. Furthermore, since shadow anchor points indicate the location of the shadow cast by sunlight on the target anchor point, there is a one-to-one correspondence between target anchor points and shadow anchor points; that is, one target anchor point corresponds to one shadow anchor point, and one target anchor point and its corresponding shadow anchor point constitute a pair of anchor points. For example, assuming there are n target anchor points, there are also n corresponding shadow anchor points, forming n pairs of anchor points. Each pair of anchor points can calculate the distance between one target anchor point and one shadow anchor point, thus yielding n distances. It should be noted that these n distances can have the same value (meaning the target anchor points are at the same height from the actual ground in subsequent calculations) or different values ​​(meaning the target anchor points are at different heights from the actual ground in subsequent calculations), depending on the actual calculation results.

[0085] Specifically, for ease of explanation, the following example uses a pair of anchor points to illustrate how to calculate the distance between the target anchor point and the shadow anchor point: First, determine the coordinates of the pixel of the target anchor point (let's call it anchor point X) in the screen coordinate system. This coordinate can be called the target coordinate, let's call it (x, y). One pixel of the target anchor point corresponds to one target coordinate. In addition, determine the coordinates of the pixel of the shadow anchor point (let's call it anchor point X', which is a pair with anchor point X) in the screen coordinate system. This coordinate can be called the shadow coordinate, let's call it (x', y'). One pixel of the shadow anchor point corresponds to one shadow coordinate. Finally, calculate the distance between the target coordinate (x, y) and the shadow coordinate (x', y') using the Pythagorean theorem. If there are n pairs of anchor points, then for each pair, the distance between each pair can be calculated using the method illustrated above, resulting in n distance values. The specific details are not elaborated here.

[0086] It should be noted that in some embodiments of this application, the target coordinates can be the coordinates of the center pixel of the target anchor point in the screen coordinate system. For example, assuming the target anchor point occupies 10 pixels on the screen, the coordinates of the pixel closest to the center (i.e., the center pixel) among these 10 pixels are taken as the target coordinates. Alternatively, the target coordinates can be the average of p (p≥1) coordinates of the p pixels contained in the target anchor point in the screen coordinate system. For example, assuming the target anchor point occupies 10 pixels on the screen, the average of the coordinates of these 10 pixels is taken as the target coordinates. This application does not limit the specific method for determining the target coordinates; it can be chosen based on the actual application scenario.

[0087] Similarly, the shadow coordinates mentioned above can be the coordinates of the center pixel of the shadow anchor point in the screen coordinate system, or the average of the q (q≥1) coordinates of the q pixels contained in the shadow anchor point in the screen coordinate system. For details, please refer to the example of target coordinates above. This application does not limit the method of determining shadow coordinates, and you can choose according to the actual application scenario.

[0088] To further understand the process of determining the distance between the target coordinates and the shadow coordinates, a specific example is given below. Please refer to [link / reference needed]. Figure 4 , Figure 4This is a schematic diagram illustrating an example of a target object and its shadow provided in an embodiment of this application. The house model is identified by a closed image composed of vertices ABCD, and the shadow area is identified by a polygon composed of vertices EFGHLMN. A and C are two vertices on the boundary of the house, and E and H are two points on the edge of the shadow. After the sunlight passes through point A, it intersects the ground at point E. Therefore, the shadow anchor point corresponding to target anchor point A is E. Similarly, the shadow anchor point corresponding to target anchor point C is H. After obtaining the target anchor points and their corresponding shadow anchor points, the distance between each pair of anchor points can be calculated. For example, according to the Pythagorean theorem, defining the distance between two pixels as a unit distance of 1, the distance between the target anchor point and its corresponding shadow anchor point can be calculated based on the screen coordinates of the anchor point's pixel (e.g., the center pixel). As an example, suppose... Figure 4 The center pixel of target anchor point A in the screen coordinate system has coordinates (x1, y1), and the center pixel of shadow anchor point E has coordinates (x2, y2). Therefore, the distance between target anchor point A and shadow anchor point E is:

[0089] The above process only describes how to calculate the distance between the target anchor point and the corresponding shadow anchor point. Before calculating the distance, it is necessary to find a suitable anchor point from the target object in the first image as the target anchor point. The process of determining the target anchor point will be described next. It should be noted that, in the embodiments of this application, although the target anchor point can be any point on the target object, reasonably determining the target anchor point can better determine the correspondence between the target anchor point and the shadow anchor point. This is because, although there is a correspondence between the target anchor point and the shadow anchor point, the photovoltaic design system cannot directly determine the correspondence between the target anchor point and the shadow anchor point, but needs to analyze it to determine it. Therefore, for the photovoltaic design system, the first step is to determine several target anchor points and their corresponding shadow anchor points, and only then can the mapping relationship between the target anchor point and the shadow anchor point be determined.

[0090] In this embodiment, target anchor points can be divided into two categories based on their function: a first target anchor point and a second target anchor point. The first target anchor point is used to determine the overall height of the building, and the second target anchor point is used for roof modeling. The following describes these two cases separately:

[0091] a) The case where the target anchor point includes the first target anchor point.

[0092] The first target anchor point is used to determine the overall height of the house. When the above-mentioned at least one target anchor point includes at least one first target anchor point, the first target anchor point is located on a first boundary, which is the boundary of the target object identified in the first image. The shadow anchor point (which may be called the first shadow anchor point) corresponding to the first target anchor point is located on a second boundary, which is the boundary of the shadow of the target object identified in the first image.

[0093] Specifically, if the first boundary and the second boundary constitute a closed polygon, then the first target anchor point is contained in the vertex of the first polygon formed by the first boundary, the shadow anchor point corresponding to the first target anchor point (i.e. the first shadow anchor point) is contained in the vertex of the second polygon formed by the second boundary, and the first shadow anchor point is close to the vertex of the first polygon.

[0094] To facilitate understanding of the process of determining the first target anchor point and the first shadow anchor point described above, the following will still use... Figure 4 For example, in Figure 4 In this process, the boundaries of the shadow region (i.e., the polygon composed of vertices EFGHLMN) and the boundaries of the target object (i.e., the polygon composed of vertices ABCD) have been identified. Therefore, the first target anchor point and the first shadow anchor point with a corresponding relationship can be identified on the boundaries. In this embodiment, for better textual description, the boundary lines of the shadow region can be divided into three categories:

[0095] Overlapping boundary lines: These are the portions where the shadow area overlaps with the target object area; this portion usually doesn't truly represent the shadow's boundary. Figure 4 For example, if the shaded area and the edge of the house are defined by two lines, AB (line segment MN) and BC (line segment LM), then these two line segments are overlapping boundary lines.

[0096] Cast boundary line: This is the boundary line that directly reflects the relationship of sunlight projection. Typically, one vertex of the cast boundary line lies on the boundary line of the target object, while the other vertex does not. The two vertices of the cast boundary line are usually related as anchor points and shadow anchor points. For example, in... Figure 4 In the diagram, the two boundary lines, line segment NE and line segment HL, are the projected boundary lines.

[0097] Distant boundary line: As the name suggests, this is the boundary line furthest away. The distant boundary line is usually located on the side of the shaded area furthest from the target object. There are no points on the distant boundary line that intersect with the edge line of the target object. For example, Figure 4 Line segments EF, FG, and GH are the distant boundary lines.

[0098] In this embodiment of the application, the projection boundary line is first identified, such as, Figure 4Given line segments NE and HL, determine the vertices of the boundary lines, such as... Figure 4 The vertices N(A), E, ​​L(C), and H are shown. The relationship between two vertices of the projection boundary line is that the first target anchor point and the first shadow anchor point correspond to each other, as shown below. Figure 4 Vertices N(A) and E form one anchor point pair, and vertices L(C) and H form another anchor point pair; vertices located on the boundary of the target object are the first target anchor points, such as... Figure 4 In the diagram, vertices N(A) and L(C) are the first target anchor points, and vertices far from the target object boundary are the first shadow anchor points, such as... Figure 4 Vertices E and H in the diagram are the first shadow anchor points.

[0099] b. The case where the target anchor point includes a second target anchor point.

[0100] The second target anchor point is used for roof modeling. When the aforementioned at least one target anchor point also includes at least one second target anchor point, the second target anchor point is located within the area enclosed by a first boundary, which is the boundary of the target object identified in the first image. The shadow anchor point corresponding to the second target anchor point (which may be referred to as the second shadow anchor point) is located on a second boundary, which is the boundary of the shadow of the target object identified in the first image. It should be noted that in some embodiments of this application, the second target anchor point can be determined based on image depth recognition, including but not limited to: determining the second target anchor point through depth-of-field algorithm analysis, color analysis, and other means.

[0101] Specifically, if the first boundary and the second boundary form a closed polygon, then the second target anchor point is contained inside the first polygon formed by the first boundary, and the shadow anchor point (i.e. the second shadow anchor point) corresponding to the second target anchor point is contained in the vertex of the second polygon formed by the second boundary, and the second shadow anchor point is far away from the vertex of the first polygon.

[0102] To facilitate understanding of the process of determining the second target anchor point and the second shadow anchor point described above, the following will still use... Figure 4 Let's take an example to illustrate, by Figure 4 As can be seen, the vertices of the distant boundary lines serve as shadow anchor points, and their corresponding target anchor points are selectable and definite. These target anchor points are located in the middle part of the roof and are at a relatively high position. When the roof modeling algorithm is sufficiently accurate, this data is not essential and can be used to assist in roof modeling. The building height mentioned in this embodiment typically refers to the part obscured by the roof from a vertical perspective (i.e., the height of the part below the roof). Therefore, determining the height of the highest / highest point of the building is not the focus of this embodiment, but a rough roof model can be established using the method of this embodiment. Subsequent roof modeling can then be based on this rough model for more precise modeling, thus improving the accuracy of the roof modeling.

[0103] Based on the identification of the projection boundary lines, the vertices on the far-distance boundary lines are located between the vertices of the two projection boundary lines that are far from the target object. Therefore, points at the top of the roof (called high points) can be identified using image depth recognition methods (such as depth-of-field algorithm analysis and color analysis). Then, using the direction of the line connecting the two vertices of the two projection boundary lines that are far from the target object as the reference direction, the projection relationship between the vertices on the far-distance boundary lines and the high points (projection from the target anchor point to the shadow anchor point) is determined based on the reference direction.

[0104] Specifically, according to the projection direction, connect the vertices of the projection boundary line on the target object with the highest points to form a broken line (referred to as a virtual broken line for ease of description). No segments within the virtual broken line intersect. Thus, the virtual broken line, the projection boundary line, and the distant boundary line form a closed figure. On this closed figure, if two vertices of the projection boundary line are known to be the first target anchor point and the first shadow anchor point respectively, then according to the reference direction, the vertex on the distant boundary line closest to the first shadow anchor point and the vertex on the virtual broken line closest to the first target anchor point are projected onto each other. See [reference needed] for details. Figure 5 ,exist Figure 5 In the diagram, the dashed line EH represents the reference direction, and the thickened closed shape is formed by the dashed polyline AKZL, the projected boundary line AE, and the distant boundary line EFGHL. Following the reference direction, given that E is the first shadow anchor point and A / N is the first target anchor point, the vertex F closest to the first shadow anchor point E and the vertex K closest to the first target anchor point A are mutually projected. Therefore, when vertex K is the second target anchor point, the corresponding second shadow anchor point is vertex F. Similarly, when vertex Z is the second target anchor point, the corresponding second shadow anchor point is vertex G.

[0105] It should be noted that the above method has certain limitations and has certain requirements for the first image. If the projection of the high point in the first image is within the shadow of the target object, it will be difficult to model the roof. When the target anchor point needs to include the second target anchor point, it is necessary to ensure that the first image meets the corresponding requirements.

[0106] It should also be noted that in the above embodiments, the definition of three boundary lines is for better textual description. In actual operation, the photovoltaic system can directly determine the target anchor point and shadow anchor point according to this correspondence, which will not be elaborated upon in this application.

[0107] 203. Determine the height between the target anchor point and the actual ground based on this distance and the angle of incidence of sunlight. The angle of incidence of sunlight is determined based on attribute information.

[0108] Then, based on the calculated distance between the target anchor point and the shadow anchor point (if there are n pairs of anchor points, there are n distance values) and the angle of sunlight incidence, the height between each target anchor point and the actual ground is determined (i.e., the heights corresponding to each of the n target anchor points, for a total of n heights).

[0109] It should be noted that, in this embodiment, the solar incidence angle can be determined based on the attribute information of the first image. Once the shooting time of the first image and the geographical location of the target object are determined, the solar incidence angle can be calculated according to the physical laws of Earth's revolution and rotation. The solar incidence angle can be directly found in a relevant database or calculated in real time using a preset algorithm. The height of the target object is calculated based on the solar incidence angle and the distance between the target anchor point and the corresponding shadow anchor point. Since there are several possible distances between the target anchor point and the shadow anchor point (such as the n distance values ​​mentioned above), there are also several possible heights of the target object. Therefore, the height of the target object here is actually the height of the target anchor point on the target object. Figure 6 A simplified calculation model for the angle of incidence of sunlight is shown. L1 is the distance between the target anchor point and the shadow anchor point, and α is the angle of incidence of sunlight. Given that both α and L1 are known, the height h of the target anchor point on the target object can be calculated using the formula h = L1 * tanα. If there are multiple target anchor points, the heights of all target anchor points on the target object can be calculated based on this.

[0110] 204. Model the target object based on this height.

[0111] Modeling is primarily accomplished through extrusion, with the extrusion distance equal to the height of the target object. Therefore, after calculating at least one height h of at least one target anchor point on the target object, the target object can be extruded and modeled based on this height h. Before extrusion, edge recognition of the target object is also required to identify the edge contour of the roof.

[0112] Specifically, the target object is first identified by edge recognition to obtain the edge contour line of the target object. Then, the target object is extruded and modeled based on the edge contour line and at least one calculated height h.

[0113] To further understand the stretching process described above, a detailed explanation is provided below: For ease of description, the contour lines here are distinguished as edge contour lines (e.g., Figure 5 (ABCD boundaries) and internal contour lines (such as...) Figure 5The AKZC boundary and BKZD boundary are defined as follows: the edge contour line is the outermost contour line of the target object, which is a closed geometric shape that indicates the outer contour of the target object in the top view; while the inner contour line is located inside the geometric shape of the edge contour line and usually indicates the ridge, fault, etc. of a house, with the highest point located on the inner contour line.

[0114] In real-world environments, sunlight illuminates a building from only one side, casting shadows on the other. This results in at least one vertex (the point facing the sunlight) where the shadow anchor point cannot be determined (because it is obscured by the building). Therefore, the model below the roof can be obtained by directly stretching the edge contour line (for the part below the roof, architectural details have no impact on the arrangement of the photovoltaic panels). There is at least one target anchor point on the edge contour line (a vertex of the projection boundary line lies on the edge contour line), and the stretching height is the height of that target anchor point. If the stretching heights of multiple target anchor points on the edge contour line are inconsistent, the average value can be calculated and stretched using that average value, or any other height can be stretched; the impact is minimal because the error value is usually very small.

[0115] For internal contour lines, they can be further divided into first internal contour lines and second internal contour lines, depending on whether they connect to edge contour lines. The first internal contour line is defined as not connecting to the edge contour line, while the second internal contour line is connected to the edge contour line. The first internal contour line is treated similarly to the edge contour line, directly extruded, and the extruded height is the height of the highest point. The extruded direction is consistent with the edge contour line, usually vertically downwards. For the second internal contour line, firstly, the highest point of the second internal contour line is identified. Then, based on the model obtained by extruded from the second highest point, the first internal contour line, and the edge contour line, modeling is performed from point (highest point) to surface (top plane of the model obtained by extruded from the edge contour line) according to the second internal contour line, thus obtaining the complete model.

[0116] 205. Model the obstacle on the surface of the target object to obtain the obstacle model. The obstacle is a fixed object whose shadow is formed after being illuminated by sunlight and is located within the first area. The first area is the area occupied by the target object.

[0117] In some embodiments of this application, after modeling the target object based on the height, obstacles located on the surface of the target object can be further modeled. The shadow of an obstacle located on the surface of the target object (e.g., a chimney on a roof) is not projected onto a plane, but onto the surface of the target object (e.g., the roof). When the roof is sloping, it cannot be modeled in the above manner; in this case, additional obstacle modeling is required to obtain an obstacle model. This obstacle is a fixed object whose shadow, formed after being illuminated by sunlight, is located within a first region, which is the area occupied by the target object.

[0118] To facilitate understanding of the obstacle modeling process, a specific example is used below for illustration. Please refer to [link / reference needed]. Figure 7 ,exist Figure 7 In this scenario, the obstacle height h1 cannot be calculated based on the distance L2 between the target anchor point and the shadow anchor point and the angle of incidence α of sunlight. In this case, the angle β is needed, and then L3 and h2 are calculated based on it. Then, within the large right triangle, the value of h1 + h2 is calculated based on the angle α, and finally h1 is calculated. The calculation principle is described below:

[0119] 1) Determining the β angle: The β angle is the tilt angle of the roof plane where the obstacle is located. Modeling of roof obstacles can be done after the overall modeling is complete, so it can be directly measured after modeling. First, determine the target object plane where the obstacle is located, and then determine the angle between the target object plane and the horizontal plane based on the model; this is the β angle.

[0120] 2) Calculate h2 and L3: After obtaining the angle β, h2 = L2 * sinβ; L3 = L2 * cosβ.

[0121] 3) Calculate h1+h2 in the large triangle. There is a mathematical relationship, tanα=(h1+h2) / L3, so (h1+h2)=L3*tanα.

[0122] 4) Finally, calculate h1: h1=L3*tanα-h2=L2*cosβ*tanα-L2*sinβ.

[0123] 206. Based on the obstacle model, perform shadow analysis to obtain the annual shadow map of the obstacle. This annual shadow map is used to characterize the situation of the obstacle blocking sunlight throughout the year.

[0124] After obtaining the obstacle model, shadow analysis is performed based on the model to obtain the obstacle's annual shadow map. Specifically, multiple time points can be selected throughout the year to obtain multiple shadow maps, and then the annual shadow map is obtained from these multiple shadow maps. This annual shadow map is used to characterize how much sunlight the obstacle blocks throughout the year.

[0125] It should be noted that, in some embodiments of this application, the annual shading map may include m (m≥1) shading regions, each with its own corresponding shading rate. The shading rate is used to characterize the proportion of time the corresponding shading region is blocked by obstacles during a preset period (e.g., within a year). For example, if a location in the corresponding shading region is in shadow for 80 days a year, then the corresponding shading rate is 80 / 365.

[0126] To facilitate understanding of the concepts of year-round shadow map and shadow area, a specific example is used below. In this application example, shadow analysis is performed on four solar terms: the spring equinox, summer solstice, autumn equinox, and winter solstice, resulting in shadow maps for these four solar terms. These shadow maps are then superimposed. After superposition, the vertices of the four shadow maps are connected to form a closed figure that completely encloses all four shadow maps. This closed figure is the year-round shadow map. Alternatively, the summer solstice and winter solstice can be used. Theoretically, these two solar terms represent the minimum and maximum distances between the target anchor point and the corresponding shadow anchor point, respectively. Figure 8 A schematic diagram of the year-round shadow map (c) obtained by superimposing the shadow of the winter solstice (a) and the shadow of the summer solstice (b) is shown, in which... Figure 8 The black squares in the diagram represent obstacles. After superimposing the shadows of the winter solstice (a) and summer solstice (b), connecting vertices M1 and M4, and M2 and M3, yields a closed figure that completely includes both the winter and summer solstice shadows—the year-round shadow map. Within this year-round shadow map, based on the superposition of the two shadow maps, it can be divided into six regions: Y1 to Y6. Y1 is the region where both shadow maps are superimposed, thus having the highest shadow rate. Y2 contains only the winter solstice shadow, while Y3 and Y4 contain only the summer solstice shadow, resulting in the next highest shadow rates. Y5 and Y6 have the lowest shadow rates.

[0127] It should be noted that, in some embodiments of this application, the shading rate can be calculated in addition to according to... Figure 8 In addition to calculating the shading rate for the divided areas, it can also be calculated at individual points. In the case of single-point calculation, the closer to the obstacle, the smaller the shading rate value. For example, under an obstacle, the value is assigned -100. The farther away, the higher the shading rate value gradually becomes. For example, at the point M1 or M2, which is farthest from the obstacle, the shading rate is assigned 0. Further away, beyond the annual shading map, the value is positive +1. It should be noted that the shading rate assignment under this single-point calculation is only illustrative, and this application does not limit the specific operation of the assignment.

[0128] 207. Determine the arrangement of photovoltaic panels on the surface of the target object based on the annual shading map.

[0129] Finally, the arrangement of photovoltaic panels on the target object's surface is determined based on the year-round shading map. Specifically, this can be achieved by adjusting the irradiance distribution on the target object's surface based on the year-round shading map to obtain an adjusted irradiance distribution; and then, the arrangement of photovoltaic panels on the target object's surface is determined based on the adjusted irradiance distribution.

[0130] It should be noted that, in some embodiments of this application, if the annual shading map includes the aforementioned m shading regions, the irradiance distribution on the surface of the target object can be adjusted according to the corresponding m shading rates.

[0131] Specifically, after obtaining the year-round shadow map of the obstacle, the year-round shadow maps that intersect with the obstacle surface are selected, and then the irradiance (i.e., illuminance value) of the intersection area is recalculated. For example, when recalculating the illuminance value of the intersection area, the percentage of the intersection area to the zone is first calculated, then the shadow rate of the intersection area is calculated, and finally, when adjusting the year-round illuminance value, the year-round illuminance value of the intersection area is subtracted from the shadow rate. Figure 8 For example, suppose the area of ​​the intersection region is exactly 1 / 2. Figure 4 If the shading rate is y, then the shading rate of the intersection region is 0.5y. When simulating the illuminance of the target object model, the illuminance value of the intersection region is z, then the adjusted illuminance value = z - 0.5y. Once the illuminance value is determined, the photovoltaic panels can be arranged based on the illuminance value.

[0132] It's important to note that the above example only illustrates an easily understandable algorithm model; actual implementations are far more complex. For instance, dividing the intersection region into smaller units for computation might be a more straightforward approach, which will not be elaborated upon here.

[0133] Based on the above embodiments, in order to better implement the above solutions of this application, related equipment for implementing the above solutions is also provided below. See details. Figure 9 , Figure 9 This is a schematic diagram of a computer device 900 provided in an embodiment of this application. The computer device 900 may specifically include: an acquisition module 901, a distance determination module 902, a height determination module 903, and a modeling module 904. The acquisition module 901 is used to acquire a first image and determine the attribute information of the first image. The first image includes a target object and the shadow cast by the target object under sunlight. The distance determination module 902 is used to determine the distance between at least one target anchor point and at least one shadow anchor point. The target anchor point is a point located on the target object in the first image, and the shadow anchor point is a point located on the shadow in the first image. The shadow anchor point indicates the location of the shadow cast by the target anchor point under sunlight. The height determination module 903 is used to determine the height between the target anchor point and the actual ground based on the distance and the angle of incidence of sunlight, where the angle of incidence of sunlight is determined based on the attribute information. The modeling module 904 is used to model the target object based on the height.

[0134] In one possible design, the modeling module 904 is further configured to: after modeling the target object according to the height, model the obstacles located on the surface of the target object to obtain an obstacle model, wherein the obstacle is a fixed object whose shadow is located within a first region after being illuminated by sunlight, the first region being the area occupied by the target object; perform shadow analysis based on the obstacle model to obtain an annual shadow map of the obstacle, the annual shadow map being used to characterize the situation of the obstacle blocking sunlight throughout the year; and finally determine the arrangement of photovoltaic panels on the surface of the target object based on the annual shadow map.

[0135] In one possible design, the modeling module 904 is specifically used to: adjust the irradiance distribution on the surface of the target object according to the annual shading map to obtain the adjusted irradiance distribution; and determine the arrangement of photovoltaic panels on the surface of the target object according to the adjusted irradiance distribution.

[0136] In one possible design, the year-round shading map includes at least one shading region. The modeling module 904 is further used to: determine at least one shading rate for the at least one shading region, the shading rate being used to characterize the duration of sunlight blocked by the obstacle in the shading region within a preset time period, with one shading region corresponding to one shading rate; and adjust the irradiance distribution of the target object surface according to the at least one shading rate.

[0137] In one possible design, the distance determination module 902 is specifically used to: determine at least one target coordinate of the pixel of at least one target anchor point in the screen coordinate system, wherein the pixel of one target anchor point corresponds to one target coordinate; determine at least one shadow coordinate of the pixel of at least one shadow anchor point in the screen coordinate system, wherein the pixel of one shadow anchor point corresponds to one shadow coordinate; and calculate the distance between the at least one target coordinate and the at least one shadow coordinate according to the Pythagorean theorem.

[0138] In one possible design, the target coordinates include: the coordinates of the center pixel of the target anchor point in the screen coordinate system, or the average of the coordinates of at least one pixel contained in the target anchor point in the screen coordinate system; the shadow coordinates include: the coordinates of the center pixel of the shadow anchor point in the screen coordinate system, or the average of the coordinates of at least one pixel contained in the shadow anchor point in the screen coordinate system.

[0139] In one possible design, at least one target anchor point includes: at least one first target anchor point located on a first boundary, and a shadow anchor point corresponding to the first target anchor point located on a second boundary, wherein the first boundary is the boundary of the target object identified in the first image, and the second boundary is the boundary of the shadow identified in the first image.

[0140] In one possible design, where the first boundary and the second boundary form a polygon, the first target anchor point is contained in the vertex of the first polygon formed by the first boundary, the shadow anchor point corresponding to the first target anchor point is contained in the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the first target anchor point is close to the vertex of the first polygon.

[0141] In one possible design, at least one target anchor point further includes: at least one second target anchor point located within the area enclosed by the first boundary, the shadow anchor point corresponding to the second target anchor point located on the second boundary, the first boundary being the boundary of the target object identified in the first image, and the second boundary being the boundary of the shadow identified in the first image.

[0142] In one possible design, where the first boundary and the second boundary are polygons, the second target anchor point is contained within the first polygon formed by the first boundary, the shadow anchor point corresponding to the second target anchor point is contained at the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the second target anchor point is far away from the vertex of the first polygon.

[0143] In one possible design, the second target anchor point is determined based on image depth recognition.

[0144] In one possible design, the modeling module 904 is further used to: perform edge recognition on the target object to obtain the edge contour line of the target object; and model the target object based on the edge contour line and the height.

[0145] In one possible design, the attribute information includes at least one of the following: the time when the first image was captured, and the geographical location of the target object.

[0146] In one possible design, the first image includes at least one of the following: a satellite image taken by a satellite, or an image taken by a flight device, wherein the flight device is positioned above the target object when taking the first image.

[0147] In one possible design, the target object includes at least one of the following: a house, a carport, a sunshade, a railway station roof, or a subway station roof.

[0148] It should be noted that the information interaction and execution process between the modules / units in the computer device 900 are based on the same concept as the method embodiments described above in this application. For details, please refer to the description in the method embodiments shown above in this application, which will not be repeated here.

[0149] Next, we will introduce another computer device provided in the embodiments of this application. Please refer to [link / reference]. Figure 10 , Figure 10 This is a schematic diagram of a computer device provided in an embodiment of this application. The computer device 1000 may be equipped with... Figure 9 The module described in the corresponding embodiment is used to implement Figure 9 Corresponding to the functionality of the computer device 900 in the embodiment, specifically, the computer device 1000 is implemented by one or more servers. The computer device 1000 can vary significantly due to differences in configuration or performance, and may include one or more central processing units (CPUs) 1022 and memory 1032, and one or more storage media 1030 (e.g., one or more mass storage devices) for storing application programs 1042 or data 1044. The memory 1032 and storage media 1030 can be temporary or persistent storage. The program stored in the storage media 1030 may include one or more modules (not shown in the figure), each module including a series of instruction operations on the computer device 1000. Furthermore, the CPU 1022 may be configured to communicate with the storage media 1030 and execute the series of instruction operations in the storage media 1030 on the computer device 1000.

[0150] Computer device 1000 may also include one or more power supplies 1026, one or more wired or wireless network interfaces 1050, one or more input / output interfaces 1058, and / or one or more operating systems 1041, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0151] In this embodiment, the central processing unit 1022 is used to execute... Figure 2The steps performed by the computer device in the corresponding embodiment are as follows. For example, the central processing unit 1022 can be used to: First, acquire a first image and determine the attribute information of the first image, wherein the first image contains a target object and the shadow formed by the target object under sunlight. The shadow of the target object can be realized by means of grayscale recognition, etc. Then, determine the distance between at least one target anchor point and at least one shadow anchor point, wherein the target anchor point is a point located on the target object in the first image, specifically any point on the target object; the shadow anchor point is a point located on the shadow of the target object in the first image. The shadow anchor point is used to indicate the location of the shadow formed by the target anchor point under sunlight. Then, determine the height between each target anchor point and the actual ground according to the calculated distance between the target anchor point and the shadow anchor point (if there are n pairs of anchor points, there are n distance values) and the angle of incidence of sunlight (i.e., the heights corresponding to each of the n target anchor points, for a total of n heights), wherein the angle of incidence of sunlight can be determined based on the attribute information of the first image. Finally, model the target object according to the height.

[0152] It should be noted that the specific manner in which the central processing unit 1022 executes the above steps is different from that described in this application. Figure 2 The corresponding method embodiments are based on the same concept, and the technical effects they bring are the same as those in the above embodiments of this application. For details, please refer to the description in the method embodiments shown above in this application, which will not be repeated here.

[0153] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0154] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0155] In the above embodiments, the implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, in the form of a computer program product.

[0156] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

Claims

1. A modeling method, characterized in that, include: Acquire a first image and determine the attribute information of the first image, wherein the first image contains a target object and the shadow cast by the target object under sunlight; Determine the distance between at least one target anchor point and at least one shadow anchor point, wherein the target anchor point is a point located on a target object in the first image, and the shadow anchor point is a point located on a shadow in the first image, and the shadow anchor point is used to indicate the location of the shadow formed by the target anchor point under sunlight; The height between the target anchor point and the actual ground is determined based on the distance and the angle of sunlight incidence, wherein the angle of sunlight incidence is determined based on the attribute information. The target object is modeled based on the height.

2. The method according to claim 1, characterized in that, After modeling the target object based on the height, the method further includes: An obstacle model is obtained by modeling the obstacle located on the surface of the target object. The obstacle is a fixed object whose shadow is located within a first region after being illuminated by sunlight. The first region is the area occupied by the target object. Shadow analysis is performed based on the obstacle model to obtain the annual shadow map of the obstacle. The annual shadow map is used to characterize the extent to which the obstacle blocks sunlight throughout the year. The arrangement of photovoltaic panels on the surface of the target object is determined based on the annual shading diagram.

3. The method according to claim 2, characterized in that, The step of determining the arrangement of photovoltaic panels on the surface of the target object based on the annual shading map includes: The radiation intensity distribution on the surface of the target object is adjusted based on the annual shadow map to obtain the adjusted radiation intensity distribution; The arrangement of photovoltaic panels on the surface of the target object is determined based on the adjusted irradiance distribution.

4. The method according to claim 3, characterized in that, The year-round shading map includes at least one shading area, and adjusting the irradiance distribution of the target object surface based on the year-round shading map includes: Determine at least one shadow rate for the at least one shadow region, wherein the shadow rate is used to characterize the duration for which sunlight is blocked by the obstacle within a preset time period, and one shadow region corresponds to one shadow rate; The irradiance distribution on the surface of the target object is adjusted according to the at least one shading rate.

5. The method according to any one of claims 1-4, characterized in that, Determining the distance between at least one target anchor point and at least one shadow anchor point includes: Determine at least one target coordinate in the screen coordinate system for the pixel of at least one target anchor point, where a pixel of one target anchor point corresponds to one target coordinate. Determine at least one shadow coordinate of the pixel of at least one shadow anchor point in the screen coordinate system, wherein a pixel of one shadow anchor point corresponds to one shadow coordinate; Calculate the distance between the at least one target coordinate and the at least one shadow coordinate using the Pythagorean theorem.

6. The method according to claim 5, characterized in that, The target coordinates include: The coordinate value of the center pixel of the target anchor point in the screen coordinate system, or the average value of the coordinate values ​​of at least one pixel contained in the target anchor point in the screen coordinate system. The shadow coordinates include: The coordinates of the center pixel of the shadow anchor point in the screen coordinate system, or the average of the coordinates of at least one pixel contained in the shadow anchor point in the screen coordinate system.

7. The method according to any one of claims 1-6, characterized in that, The at least one target anchor point includes: At least one first target anchor point, the first target anchor point being located on a first boundary, and a shadow anchor point corresponding to the first target anchor point being located on a second boundary, the first boundary being the boundary of the target object identified in the first image, and the second boundary being the boundary of the shadow identified in the first image.

8. The method according to claim 7, characterized in that, When the first boundary and the second boundary form a polygon, the first target anchor point is contained in the vertex of the first polygon formed by the first boundary, the shadow anchor point corresponding to the first target anchor point is contained in the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the first target anchor point is close to the vertex of the first polygon.

9. The method according to any one of claims 1-8, characterized in that, The at least one target anchor point also includes: At least one second target anchor point, the second target anchor point being located within a region enclosed by a first boundary, and a shadow anchor point corresponding to the second target anchor point being located on a second boundary, the first boundary being the boundary of the target object identified in the first image, and the second boundary being the boundary of the shadow identified in the first image.

10. The method according to claim 9, characterized in that, When the first boundary and the second boundary are polygons, the second target anchor point is contained inside the first polygon formed by the first boundary, the shadow anchor point corresponding to the second target anchor point is contained at the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the second target anchor point is far away from the vertex of the first polygon.

11. The method according to any one of claims 9-10, characterized in that, The second target anchor point is determined based on image depth recognition.

12. The method according to any one of claims 1-11, characterized in that, The step of modeling the target object based on the height includes: Edge recognition is performed on the target object to obtain the edge contour line of the target object; The target object is modeled based on the edge contour and the height.

13. The method according to any one of claims 1-12, characterized in that, The attribute information includes at least one of the following: The time when the first image was captured and the geographical location of the target object.

14. The method according to any one of claims 1-13, characterized in that, The first image includes at least one of the following: Satellite images taken by a satellite, images taken by a flight device, wherein the flight device was positioned above the target object when taking the first image.

15. The method according to any one of claims 1-14, characterized in that, The target object includes at least one of the following: Houses, carports, sunshades, railway station roofs, subway station roofs.

16. A computer device, characterized in that, include: An acquisition module is used to acquire a first image and determine the attribute information of the first image, wherein the first image contains a target object and the shadow cast by the target object under sunlight; A distance determination module is used to determine the distance between at least one target anchor point and at least one shadow anchor point, wherein the target anchor point is a point located on a target object in the first image, and the shadow anchor point is a point located on a shadow in the first image, and the shadow anchor point is used to indicate the location of the shadow formed by the target anchor point under sunlight; A height determination module is used to determine the height between the target anchor point and the actual ground based on the distance and the angle of sunlight incidence, wherein the angle of sunlight incidence is determined based on the attribute information; A modeling module is used to model the target object based on the height.

17. The device according to claim 16, characterized in that, The modeling module is also used for: After modeling the target object according to the height, the obstacles located on the surface of the target object are modeled to obtain an obstacle model. The obstacle is a fixed object whose shadow is located within a first region after being illuminated by sunlight. The first region is the area occupied by the target object. Shadow analysis is performed based on the obstacle model to obtain the annual shadow map of the obstacle. The annual shadow map is used to characterize the extent to which the obstacle blocks sunlight throughout the year. The arrangement of photovoltaic panels on the surface of the target object is determined based on the annual shading diagram.

18. The device according to claim 17, characterized in that, The modeling module is specifically used for: The radiation intensity distribution on the surface of the target object is adjusted based on the annual shadow map to obtain the adjusted radiation intensity distribution; The arrangement of photovoltaic panels on the surface of the target object is determined based on the adjusted irradiance distribution.

19. The device according to claim 18, characterized in that, The year-round shaded map includes at least one shaded area, and the modeling module is further specifically used for: Determine at least one shadow rate for the at least one shadow region, wherein the shadow rate is used to characterize the duration for which sunlight is blocked by the obstacle within a preset time period, and one shadow region corresponds to one shadow rate; The irradiance distribution on the surface of the target object is adjusted according to the at least one shading rate.

20. The device according to any one of claims 16-19, characterized in that, The distance determination module is specifically used for: Determine at least one target coordinate in the screen coordinate system for the pixel of at least one target anchor point, where a pixel of one target anchor point corresponds to one target coordinate. Determine at least one shadow coordinate of the pixel of at least one shadow anchor point in the screen coordinate system, wherein a pixel of one shadow anchor point corresponds to one shadow coordinate; Calculate the distance between the at least one target coordinate and the at least one shadow coordinate using the Pythagorean theorem.

21. The device according to claim 20, characterized in that, The target coordinates include: The coordinate value of the center pixel of the target anchor point in the screen coordinate system, or the average value of the coordinate values ​​of at least one pixel contained in the target anchor point in the screen coordinate system. The shadow coordinates include: The coordinates of the center pixel of the shadow anchor point in the screen coordinate system, or the average of the coordinates of at least one pixel contained in the shadow anchor point in the screen coordinate system.

22. The device according to any one of claims 16-21, characterized in that, The at least one target anchor point includes: At least one first target anchor point, the first target anchor point being located on a first boundary, and a shadow anchor point corresponding to the first target anchor point being located on a second boundary, the first boundary being the boundary of the target object identified in the first image, and the second boundary being the boundary of the shadow identified in the first image.

23. The device according to claim 22, characterized in that, When the first boundary and the second boundary form a polygon, the first target anchor point is contained in the vertex of the first polygon formed by the first boundary, the shadow anchor point corresponding to the first target anchor point is contained in the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the first target anchor point is close to the vertex of the first polygon.

24. The device according to any one of claims 16-23, characterized in that, The at least one target anchor point also includes: At least one second target anchor point, the second target anchor point being located within a region enclosed by a first boundary, and a shadow anchor point corresponding to the second target anchor point being located on a second boundary, the first boundary being the boundary of the target object identified in the first image, and the second boundary being the boundary of the shadow identified in the first image.

25. The device according to claim 24, characterized in that, When the first boundary and the second boundary are polygons, the second target anchor point is contained inside the first polygon formed by the first boundary, the shadow anchor point corresponding to the second target anchor point is contained at the vertex of the second polygon formed by the second boundary, and the shadow anchor point corresponding to the second target anchor point is far away from the vertex of the first polygon.

26. The device according to any one of claims 24-25, characterized in that, The second target anchor point is determined based on image depth recognition.

27. The device according to any one of claims 16-26, characterized in that, The modeling module is further used for: Edge recognition is performed on the target object to obtain the edge contour line of the target object; The target object is modeled based on the edge contour and the height.

28. The device according to any one of claims 16-27, characterized in that, The attribute information includes at least one of the following: The time when the first image was captured and the geographical location of the target object.

29. The device according to any one of claims 16-28, characterized in that, The first image includes at least one of the following: Satellite images taken by a satellite, images taken by a flight device, wherein the flight device was positioned above the target object when taking the first image.

30. The device according to any one of claims 16-29, characterized in that, The target object includes at least one of the following: Houses, carports, sunshades, railway station roofs, subway station roofs.

31. A computer device comprising a processor and a memory, the processor being coupled to the memory, characterized in that, The memory is used to store programs; The processor is configured to execute a program in the memory, causing the computer device to perform the method as described in any one of claims 1-15.

32. A computer storage medium, characterized in that, The device stores computer-readable instructions, which, when executed by a processor, implement the method as described in any one of claims 1-15.

33. A computer program product, characterized in that, The computer program product includes computer-readable instructions that, when executed by a processor, implement the method as described in any one of claims 1-15.

34. A chip, the chip comprising a processor and a data interface, characterized in that, The processor reads instructions stored in the memory through the data interface and executes the method as described in any one of claims 1-15.