The disclosed subject matter relates to methods, systems, and media for generative urban design with user-guided optimization features.
Development teams can be highly unique in their desires and/or preferences. For example, a development team or developer may hone their competitive advantage by specializing in specific building types with particular geometric characteristics. In another example, a development team or developer may hone their competitive advantage by specializing in specific building types that are optimized for unique priority outcomes—e.g., some developers may specialize in vertical mixed use development in which commercial and/or retail spaces are configured on lower floors of buildings while residential units are reserved for higher floors of buildings in order to improve walkability between housing, workplaces, and other amenities, while other developers may specialize in horizontal mixed use development in which some single-use buildings are reserved for residential units and other single-use buildings are reserved for commercial and/or retail spaces also in order to improve walkability between housing, workplaces, and other amenities. Each approach has its benefits and drawbacks, but a developer may be inclined to stick with the same approach. This also typically requires many subcontractors to create these models. Additionally, as a development team hones their approach, the models that they build can begin to lack variety.
Thus, it is useful to automatically generate additional recommended designs that reflect the desires of the development team and create additional options and/or a variety of different options based on those preferences.
Accordingly, it is desirable to provide new methods, systems, and media for generative urban design with user-guided optimization features.
Methods, systems, and media for generative urban design with user-guided optimization features are provided.
In accordance with some embodiments of the disclosed subject matter, a method for evaluating design variants of proposed districts is provided, the method comprising: generating, by a hardware processor, a first plurality of district designs using a genetic algorithm of a generative design system; causing, by the hardware processor, the first plurality of district designs to be presented in a grid representation for evaluation by a user of a computing device, wherein each region of the grid representation is associated with one of the first plurality of district designs and wherein each region of the grid representation is selectable by the user of the computing device; receiving, from the user of the computing device, a selected region corresponding to a district design from the first plurality of district designs being presented in the grid representation; and, in response to receiving the selected region, inputting, by the hardware processor, the selected district design as a seed to the genetic algorithm of the generative design system to generate a second plurality of district designs and replacing the first plurality of district designs in the grid representation with the second plurality of district designs for evaluation by the user of the computing device.
In some embodiments, the method further comprises: determining a score for each district design in the first plurality of district designs; selecting a first subset of the first plurality of district designs based on the determined score; and mutating, using the genetic algorithm of the generative design system, the first subset of the first plurality of district designs to generate a second subset of the first plurality of district designs, wherein the first subset of the first plurality of district designs are presented in the grid representation. In some embodiments, the score is based on open space percentage, daylight percentage, and total gross floor area of a district design.
In some embodiments, in response to receiving the selected region corresponding to the district design from the first plurality of district designs being presented in the grid representation, a user interface that includes an enlarged view of the design district is presented, wherein a plurality of views of the design district are available. In some embodiments, the enlarged view of the design district highlights a portion of the district design that was modified by the genetic algorithm of the generative design system in comparison with the selected district design.
In some embodiments, a plurality of selected regions corresponding to a subset of the district designs is received and, in response to receiving the plurality of selected regions, the subset of district designs is input as seeds to the genetic algorithm of the generative design system to generate the second plurality of district designs and the first plurality of district designs in the grid representation is replaced with the second plurality of district designs for evaluation by the user of the computing device.
In some embodiments, in response to receiving the selected region corresponding to the district design from the first plurality of district designs being presented in the grid representation, a thumbnail representation of the selected district design is presented in a window region that is adjacent to the grid representation.
In some embodiments, in response to receiving the selected region corresponding to the district design from the first plurality of district designs being presented in the grid representation, the selected district design is positioned in a central region of the grid representation. In some embodiments, the grid representation is associated with axes that each correspond to a parameter and each of the second plurality of district designs is positioned within the grid representation based on a parameter value of one of the second plurality of district designs in relation to the parameter value of the selected district design in the central region of the grid representation. In some embodiments, the parameter associated with each axis is selectable by the user of the computing device.
In accordance with some embodiments of the disclosed subject matter, a system for evaluating design variants of proposed districts is provided, the system comprising a hardware processor that is configured to: generate a first plurality of district designs using a genetic algorithm of a generative design system; cause the first plurality of district designs to be presented in a grid representation for evaluation by a user of a computing device, wherein each region of the grid representation is associated with one of the first plurality of district designs and wherein each region of the grid representation is selectable by the user of the computing device; receive, from the user of the computing device, a selected region corresponding to a district design from the first plurality of district designs being presented in the grid representation; and, in response to receiving the selected region, input the selected district design as a seed to the genetic algorithm of the generative design system to generate a second plurality of district designs and replacing the first plurality of district designs in the grid representation with the second plurality of district designs for evaluation by the user of the computing device.
In accordance with some embodiments of the disclosed subject matter, a non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for evaluating design variants of proposed districts is provided, the method comprising: generating a first plurality of district designs using a genetic algorithm of a generative design system; causing the first plurality of district designs to be presented in a grid representation for evaluation by a user of a computing device, wherein each region of the grid representation is associated with one of the first plurality of district designs and wherein each region of the grid representation is selectable by the user of the computing device; receiving, from the user of the computing device, a selected region corresponding to a district design from the first plurality of district designs being presented in the grid representation; and, in response to receiving the selected region, inputting the selected district design as a seed to the genetic algorithm of the generative design system to generate a second plurality of district designs and replacing the first plurality of district designs in the grid representation with the second plurality of district designs for evaluation by the user of the computing device.
In accordance with some embodiments of the disclosed subject matter, a system for evaluating design variants of proposed districts is provided, the system comprising: means for generating a first plurality of district designs using a genetic algorithm of a generative design system; means for causing the first plurality of district designs to be presented in a grid representation for evaluation by a user of a computing device, wherein each region of the grid representation is associated with one of the first plurality of district designs and wherein each region of the grid representation is selectable by the user of the computing device; means for receiving, from the user of the computing device, a selected region corresponding to a district design from the first plurality of district designs being presented in the grid representation; and means for inputting the selected district design as a seed to the genetic algorithm of the generative design system to generate a second plurality of district designs and means for replacing the first plurality of district designs in the grid representation with the second plurality of district designs for evaluation by the user of the computing device in response to receiving the selected region.
Various objects, features, and advantages of the disclosed subject matter can be more fully appreciated with reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, in which like reference numerals identify like elements.
In accordance with various embodiments, mechanisms (which can include methods, systems, and media) for generative urban design with user-guided optimization features are provided.
In many generative design systems, genetic algorithms, such as nondominated sorting genetic algorithms, can be used to optimize or otherwise improve the performance of districts and other designs. For example, genetic algorithms can be used to generate a batch of districts from a random seed of input data, select the top scoring districts in that batch according to some set of criteria (e.g., the designs having the best possible features for reproducing in future districts), and slightly modify or mutate the districts to create a set of possible design solutions for the district. That is, in genetic algorithms for generating districts or other designs, the fittest solutions from a population of possible solutions can be selected for reproduction, where their genes or parameters are passed on to generate future districts or future designs.
In some embodiments, the mechanisms described herein can be used to continuously generate designs (sometimes referred to herein as “variants”) based on user feedback in which one or more user-selected designs can be used by the genetic algorithm to generate a new batch or set of variants by mutating the one or more user-selected designs. For example, the genetic algorithm can be used to mutate or otherwise make modifications to the user-selected variant to generate a new batch or set of variants or design alternatives for evaluation by the user. In another example, rather than simply repeating this process with the genetic algorithm over and over, the genetic algorithm can use the user-selected variant as an input to generate a new batch of variants and can continue to generate new batches of variants by continuing to receive user input as to preferred variants from each generated batch of variants.
This can, for example, prioritize the discovery of new designs that more closely match the preferences of a user using a generative design system by generating batches of variants that match the characteristics of preferred variants that were selected by the user.
It should be noted that, although the embodiments described herein may describe the use of a generative design system to generate districts or district plans, this is merely illustrative and the user-guided optimization features described herein can be used to generate any suitable design (e.g., a building floorplan, a building configuration, an apartment mix on one or more floors, a street grid, etc.).
These and other features for generative urban design with user-guided optimization features are described in connection with
Turning to
For example, as shown in
Although
It should also be noted that, although
Turning back to
Upon evaluating district designs 112-128, the generative design system can receive a selected variant from the user. For example, as shown in
It should be noted that, in some embodiments, multiple variants can be selected by the user. For example, as shown in
In some embodiments, the genetic algorithm of the generative design system can use the selected variant or variants as seeds to generate a next set of variants. For example, in response to receiving the selected variant or variants, the genetic algorithm of the generative design system can mutate or otherwise make modifications to the user-selected variant to generate a new batch or set of variants or design alternatives for evaluation by the user. In another example, the genetic algorithm can use the user-selected variant as an input to generate a new batch of variants and can continue to generate new batches of variants by continuing to receive user input as to preferred variants from each generated batch of variants.
For example, as shown in
The generative design system can continue to receive user feedback while continuing to generate new variants. It should be noted that, in some embodiments, the generative design system can allow the user to select variants from different iterations of the genetic algorithm.
Accordingly, the generative design system can allow the user to continue to generate, evaluate, and select preferred designs. This can, for example, prioritize the discovery of new designs that more closely match the preferences of a user using a generative design system by generating batches of variants that match the characteristics of preferred variants that were selected by the user.
It should be noted that, although the user-selected variant is shown in 130 in
In some embodiments, grid 400 can include axes that correspond to particular parameters. Such parameters can be user-selected based on preferences by the user. For example, as shown in
It should be noted that the parameters in grid 400 can be selected in any suitable manner. For example, the parameters can be randomly selected from a number of parameters that are used to generate variants or design alternatives (e.g., amount of sunlight or daylight access, amount of open space, amount of gross floor area, etc.). In another example, the parameters can be selected by a user that is using the generative design system (e.g., by receiving an input on parameters that are important to the user).
In some embodiments, the design variant within each region (e.g., regions 422-436) can be highlighted to show particular portions of the design that were mutated or were otherwise changed from the user-selected variant in region 410. For example, in response to selecting the design variant in region 422, an enlarged view of the selected district design can be presented in which the user can manipulate the enlarged view to view different perspectives of the proposed district. In continuing this example, the enlarged view of the district design can present highlighted portions of the design that were mutated or were otherwise changed from the user-selected variant in region 410 (e.g., a portion of the design that was converted to additional green space, a portion of the design that contributes to an increase in density, etc.).
Referring back to
In some embodiments, as noted above, multiple variants can be selected by the user. For example, as shown in
Generally speaking, in response to selecting multiple design variants (e.g., selected design variant (A) 510 and selected design variant (B) 520), the generative design system can use the genetic algorithm to mutate or otherwise make modifications to design variants 510 and 520 to generate a new batch or set of variants or design alternatives for evaluation by the user. For example, as shown in
Similar to
In some embodiments, portions of the generated design variant within each region in the 9×9 grid can be highlighted to show particular portions of the design that were mutated or were otherwise changed from the user-selected variant. For example, in response to selecting multiple design variants, an enlarged view of a selected district design can be presented in which the user can manipulate the enlarged view to view different perspectives of the proposed district. In continuing this example, the enlarged view of the district design can present portions of the design highlighted in one color that were mutated or were otherwise changed from a first user-selected variant (e.g., a portion of the design that was converted to additional green space, a portion of the design that contributes to an increase in density, etc.) and can present portions of the design highlight in another color that were mutated or were otherwise changed from a second user-selected variant. In further continuing this example, the enlarged view of the district design can illustrate portions of the design that were mutated or were otherwise changed based on an intersection of the first user-selected variant and the second user-selected variant.
It should be noted that, in some embodiments, the user can select any suitable design variant and can indicate any suitable reason to associate with the selected design variant. For example, the user of the generative design system can select a preferred design variant and a design variant that is not preferred (e.g., too much open space, not enough daylight access, etc.). In generating design alternatives based on the selected variants, the generative design system can use the genetic algorithm to mutate or otherwise make modifications to the selected design variants to generate a new batch or set of variants or design alternatives for evaluation by the user. For example, as shown in
Turning to
In some embodiments, server 602 can be any suitable server for storing data and/or programs, executing programs (e.g., executing a genetic algorithm in a generative design system to generate multiple variants based on user-selected feedback, as described above in connection with
Communication network 604 can be any suitable combination of one or more wired and/or wireless networks in some embodiments. For example, communication network 604 can include any one or more of the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), and/or any other suitable communication network. User devices 606 can be connected by one or more communications links to communication network 604 that can be linked via one or more communications links to server 602. The communications links can be any communications links suitable for communicating data among user devices 606 and server 602, such as network links, dial-up links, wireless links, hard-wired links, any other suitable communications links, or any suitable combination of such links.
User devices 606 can include any one or more user devices suitable for storing data or programs, executing programs, transmitting input parameters or instructions to server 602, transmitting user-selected variants and corresponding information, presenting user interfaces that provide a user-selected variant along with a grid of newly mutated variants (e.g., as shown in and described above in connection with
Although server 602 is illustrated as one device, the functions performed by server 602 can be performed using any suitable number of devices in some embodiments. For example, in some embodiments, multiple devices can be used to implement the functions performed by server 602.
Although two user devices 608 and 610 are shown in
Server 602 and user devices 606 can be implemented using any suitable hardware in some embodiments. For example, in some embodiments, server 602 and user devices 606 can be implemented using any suitable general purpose computer or special purpose computer. For example, a mobile phone may be implemented using a special purpose computer. Any such general purpose computer or special purpose computer can include any suitable hardware. For example, as illustrated in example hardware 700 of
Hardware processor 702 can include any suitable hardware processor, such as a microprocessor, a micro-controller, digital signal processor(s), dedicated logic, and/or any other suitable circuitry for controlling the functioning of a general purpose computer or a special purpose computer in some embodiments. In some embodiments, hardware processor 702 can be controlled by a server program stored in memory and/or storage of a server, such as server 502. In some embodiments, hardware processor 702 can be controlled by a computer program stored in memory and/or storage 704 of user device 506.
Memory and/or storage 704 can be any suitable memory and/or storage for storing programs, data, and/or any other suitable information in some embodiments. For example, memory and/or storage 704 can include random access memory, read-only memory, flash memory, hard disk storage, optical media, and/or any other suitable memory.
Input device controller 706 can be any suitable circuitry for controlling and receiving input from one or more input devices 708 in some embodiments. For example, input device controller 706 can be circuitry for receiving input from a touchscreen, from a keyboard, from one or more buttons, from a voice recognition circuit, from a microphone, from a camera, from an optical sensor, from an accelerometer, from a temperature sensor, from a near field sensor, from a pressure sensor, from an encoder, and/or any other type of input device.
Display/audio drivers 710 can be any suitable circuitry for controlling and driving output to one or more display/audio output devices 712 in some embodiments. For example, display/audio drivers 710 can be circuitry for driving a touchscreen, a flat-panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices.
Communication interface(s) 714 can be any suitable circuitry for interfacing with one or more communication networks (e.g., computer network 504). For example, interface(s) 714 can include network interface card circuitry, wireless communication circuitry, and/or any other suitable type of communication network circuitry.
Antenna 716 can be any suitable one or more antennas for wirelessly communicating with a communication network (e.g., communication network 504) in some embodiments. In some embodiments, antenna 716 can be omitted.
Bus 718 can be any suitable mechanism for communicating between two or more components 702, 704, 706, 710, and 714 in some embodiments.
Any other suitable components can be included in hardware 700 in accordance with some embodiments.
In some embodiments, at least some of the above described blocks of the processes of
In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as non-transitory forms of magnetic media (such as hard disks, floppy disks, and/or any other suitable magnetic media), non-transitory forms of optical media (such as compact discs, digital video discs, Blu-ray discs, and/or any other suitable optical media), non-transitory forms of semiconductor media (such as flash memory, electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or any other suitable semiconductor media), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
Accordingly, methods, systems, and media for generative urban design with user-guided optimization features as provided.
Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention. Features of the disclosed embodiments can be combined and rearranged in various ways.
This application claims the benefit of U.S. Provisional Patent Application No. 63/089,692, filed Oct. 9, 2020, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63089692 | Oct 2020 | US |