Three-dimensional relief model generation

A computer-implemented method combining depth and detail maps from a basis image using machine learning models efficiently generates high-quality 3D relief models for manufacturing, addressing the inefficiencies of manual CAD processes.

GB2701884APending Publication Date: 2026-05-20CARVECO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
CARVECO LTD
Filing Date
2024-10-29
Publication Date
2026-05-20

AI Technical Summary

Technical Problem

The manual and time-intensive process of generating high-quality 3D relief models in CAD software for use in manufacturing bas relief objects, such as coins and architectural details, is inefficient and requires significant user expertise.

Method used

A computer-implemented method that generates a depth map and a detail map from a basis image, combining them to create a 3D relief model, using machine learning models to infer depth values and process pixel information, thereby reducing user input and computational time.

Benefits of technology

This approach allows for the rapid generation of high-quality 3D relief models suitable for computer-aided manufacturing, with improved resolution and reduced artefacts, significantly streamlining the CAD/CAM process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Disclosed is a computer-implemented method of generating three-dimensional relief models, the method comprising: generating a depth map from a basis image; generating a detail map from the basis image
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field The present invention relates to a computer-implemented method preferably for generating a three-dimensional relief model based on an image, a method of manufacturing an object preferably based on the three-dimensional relief model, and to a method of generating a depth map of an object or a scene. Background A relief, such as a bas relief, refers to a type of object surface containing raised portions and / or depressions produced according to a design, e g. an object projected from a background, and where no part of the surface is undercut. A common example is a coin face. The lack of undercut portions means that bas relief objects are suitable for mass-reproduction using techniques such as stamping, casting, and moulding. Accordingly, bas relief objects are used in a wide variety of applications and products, including but not limited to: coins, moulds (for metal, plastic, or foods), consumer products, signage, printing, machinery components, architectural details (such as corbels, cornices, doors, panelling, beading, architrave etc.), leatherwork, seals, embossed paper and card (e.g. for labels, packaging), and jewellery. Moulds, casts and stamps for producing bas relief objects, and in some small-scale applications the objects themselves, are increasingly being manufactured via computer-aided manufacturing (CAM) techniques, such as computer numerical control (CNC) machining, laser cutting, laser engraving, and additive techniques. Such CAM tools are typically driven using toolpaths calculated from three-dimensional (3D) models of an object generated in computer-aided design (CAD) software. To produce high-quality 3D relief models in CAD software suitable for use in manufacturing, typically several initial drawings are made by a designer, and CAD software is then used to manually draw and construct the digital 3D relief model based on one of the initial drawings. Using such virtual CAD sculpting tools requires user skill, expertise and is time intensive. As a result, producing a high-quality 3D CAD model of a relief object can in some cases take over 100 hours of modelling time, performed by a CAD designer. There is thus a need for improved methods of generating high-quality 3D relief models suitable forCAD / CAM manufacturing of relief objects. Summary of the Disclosure According to a first aspect of the present invention, there is provided a computer-implemented method, comprising: generating a depth map from a basis image; generating a detail map from the basis image; combining the depth map and detail map; and generating a three-dimensional (3D) relief model of the basis image based on the combined depth and detail maps. By generating the depth map and detail map from the same basis image and combining them to produce a 3D relief model, the advantage of improved computational and time efficiency, as well as reduced user input, in generating a high-quality 3D relief model of a relief object suitable for CAM manufacturing is afforded. The 3D relief model may then be output, e.g. a file comprising the 3D relief model may be output, e.g. to a CAM tool or system, and / or the 3D relief model may be output as a visualisation on a display. The basis image may include or depict one or more objects or a scene to be modelled. The detail map may include depth information representing fine surface detail of the object, and preferably is not correlated with real depth information (relative or absolute) of the object or scene, and instead represents surface details corresponding to variations in colour or intensity as represented by pixel values. The depth map may include relatively coarse surface depth detail of the object, and preferably real (relative or metric) depth information. Relative depth information or values indicate which pixels or points in an image are closer or further away without using real-word units of depth such as meters, whereas metric / absolute depth information or values do have real-world units of depth. The depth information may be depth information inferred from the image, such as by using a machine learning model. The object may be a combination of a plurality of distinct entities. For example, the basis image / object may be a scene comprising a plurality of distinct entities. The basis image / object may comprise text. The basis image / object may or may not correspond to a real-world object. For example, the object may be a cartoon object. The detail map preferably comprises depth information representing surface details in the basis image. Preferably, the depth information is related (directly or indirectly) to pixel values of the basis image, such as variations in colour and / or intensity (and so not necessarily a real depth of the surface features). The depth map preferably comprises relative or absolute depth information inferred from the basis image. Generating the depth map preferably comprises: inferring depth values from the basis image; and generating the depth map based on the inferred depth values. Optionally or preferably, the depth map is generated using a (first) machine learning model trained to infer depth values for pixels of the basis image. Generating the depth map using the machine learning model may comprise: extracting unsealed inferred depth values from the machine learning model; and generating the depth map based on the extracted unsealed depth values. In preferred embodiments the generated depth map has a bit depth of more than 8-bit. Preferably, the bit depth of the depth map is 32-bit or 64-bit. Advantageously, using depth values with a bit depth of more than 8 bits may allow a high-quality 3D relief model to be generated, e.g. without stepping artefacts, which is therefore suitable for reproduction and manufacture, such as by computer-aided manufacturing. In embodiments, generating the depth map using a first machine learning model comprises extracting unsealed inferred or predicted depth values from the first machine learning model (i.e. before any re-scaling or linear interpolation operation is performed on the raw / unscaled inferred depth data which would otherwise reduce the resolution), and generating the depth map based on the extracted unsealed inferred depth values. By avoiding a reduction in size of the depth values, a greater bit depth / resolution of the depth values in the depth map is thereby afforded. In embodiments, the depth values may be scaled down after extraction, but may not be scaled down by more than 50% or 25 % in terms of the number of bits for each depth value. Loss of resolution is thereby reduced. In some such embodiments, the first machine learning model does not perform a linear interpolation or other re-scaling operation on (raw) predicted or inferred depth values, e.g. and it is configured to output raw / unscaled inferred depth values. Such raw / unscaled depth values may have a bit-depth of 64 bit or 32 bit. By avoiding a reduction in size of the predicted depth values, a greater bit depth / resolution of the predicted depth values in the depth map is thereby afforded. It should be understood that linear interpolation and / or other re-scaling operations may be performed on pixel values (e.g. the original pixels values of the basis image and / or any intermediate pixels values) as part of the processing pipeline by the first machine learning model prior to the first machine learning model determining or outputting raw / initial predicted depth values, but that it is desirable, once raw / initial depth values have been predicted or inferred, to avoid or minimise re-scaling to preserve bit depth. In some embodiments, linear interpolation or another re-scaling operation may be performed on the predicted depth values but preferably does not scale the predicted depth values down by more than 50% or 25%. Loss of resolution is thereby reduced. The detail map is preferably generated based on pixel values of the basis image. In embodiments, generating the detail map comprises converting pixel values of the basis image to depth values, preferably wherein the pixel values of the basis image are luminance, RGB, or intensity values. ln this way, the depth values of the detail map are related or correlated (directly or indirectly) to the pixel values of the basis image and not an inferred depth, thereby providing a simple and efficient means of capturing fine detail in the basis image. Converting the pixel values may comprise performing a pixel conversion operation, such as applying a predefined function, operator, or image filter to the basis image pixels. The pixel conversion operation may comprise converting the pixels of the basis image to greyscale, and then converting the greyscale pixel values to a depth scale. The relationship between the pixel values and depth values may be linear or non-linear. In some examples, the step of converting may comprise pre-processing the basis image prior to performing a pixel conversion operation, preferably by performing a smoothing operation and / or a derivative operation on the basis image. In embodiments, generating the detail map further comprises masking, or applying a mask to, pixels outside of an area or region of interest. The mask may be applied to the basis image or the detail map. Preferably, the mask is applied to the basis image and the detail map is generated from the masked basis image. Preferably, the mask is determined and / or generated based on the depth map. Preferably, the method comprises determining the area or region of interest based on the depth map. Determining the area or region of interest based on the depth map may comprise segmenting the depth map, e.g. to detect and locate one or more objects in the image. Segmenting may be performed using a histogram of depth values from the depth map, thresholds, one or more neural networks (e.g. convolutional neural networks), classification, edge detection, clustering analysis, or other computer vision algorithms. In some embodiments, determining the area of interest based on the depth map may comprise applying one or more thresholds to the depth values of the depth map. The one or more thresholds may be determined based on a histogram of depth values from the depth map. Preferably the one or more thresholds are determined using an algorithm applied to the depth histogram. Preferably, the one or more thresholds are adjustable by a user. This process may allow certain pixels to be associated with foreground and a ROI, and other pixels to be associated with background for masking. Masking pixels may comprise zeroing the respective pixel values. In some examples, the depth map or the histogram can be processed to compensate for a tilted background depth plane or floor. This may involve a background removal operation, e g. involving determining a floor plane or tilted background plane in the depth map and subtracting the determined floor plane or background plane from the depth map. In some examples, the floor or background plane is determined or calculated using a linear regression operation. In some examples, the floor plane or tilted background depth plane in the depth map is determined or calculated based on two or more user-defined points on the depth map. For example, a GUI may render or display the depth map and be configured to allow the user to select or otherwise define at least two (preferably three) points on the depth map from which a floor plane or tilted background plane can be calculated. Generating the detail map may further comprise removing a background offset from the detail map. In embodiments, combining the depth map and detail map comprises performing an addition or subtraction operation, or a multiplication operation. Preferably, the depth map and detail map each comprise the same pixel size or number of pixels (in other words, the depth and detail maps have pixels with the same dimensions). When the depth map and detail map do not comprise the same pixel size or number of pixels, the method preferably additionally comprises adjusting the depth map and / or the detail map so that the maps comprise the same pixel size or number of pixels, which may simplify their combining. In some embodiments, the combining may comprise a pixel-by-pixel combination. In embodiments, the detail map is scaled to have a depth scale in the range of approximately -10% to + 10 % of a depth scale of the depth map. A scale of-10% may correspond to a negative depth of the detail map compared to the depth map, so that the detail map is subtracted from the depth map. In embodiments, the method further comprises: generating the basis image based on a prompt using a further (second) machine learning model, preferably wherein the prompt comprises text and / or an image. In some such embodiments, the prompt comprises text, and the method further comprises: receiving input text for the prompt; and augmenting the input text, preferably based on one or more predefined criteria, to generate the prompt text, preferably using a yet further (third) machine learning model. This improves the suitability of the basis image for 3D relief model generation. The second and / or third machine learning model may comprise a generative model. In embodiments, the input text is augmented to further specify one or more of the following features for production of a relief object: visible detail; details of a bas relief style; and lack of visual artefacts, such as shadowing, reflection and / or glare. In embodiments, the prompt comprises an image, and the method further comprises: receiving an input image for the prompt; and augmenting the input image to generate the prompt image, preferably using a still yet further (fourth) machine learning model. A basis image may thereby be generated based on a sketch or the user defined / generated input image. Preferably, augmenting the input image comprises processing the input image using a convolution filter and / or a line art filter to generate a processed input, and then inputting the processed input into the fourth machine leaming model. In this way, an input image may be processed to determine outlines of objects depicted in a sketch, and then the fourth machine learning model may be used to produce a basis image following the outlines. By processing an input image in this way, the advantage of generating a 3D relief model that follows desired outlines is thereby afforded. In embodiments, a smoothing filter is applied to the basis image, preferably a smart filter. Additionally or alternatively, a smoothing filter may be applied to the depth map and / or the detail map. In embodiments, the method further comprises receiving a user input to adjust a feature of the three-dimensional relief model, and adjusting the feature or parameters of the three-dimensional relief model. Optionally or preferably, the user input may adjust any one or more of the following parameters: a depth scale of the depth map; a depth scale of the detail map; a level of smoothing applied to any of the basis image, depth map and detail map; and one or more thresholds for applying to the depth map to extract a region of interest (e.g. at least one of the one or more thresholds described above). In embodiments, the method further comprises generating control instructions and / or a toolpath for a computer aided manufacturing tool based on the generated three-dimensional relief model. Alternatively or additionally, the method may further comprise providing the three-dimensional relief model, and / or the generated control instructions and / or a toolpath, to a computer aided manufacturing tool for manufacturing at least a portion of an object based on the three-dimensional relief model. In embodiments, the method further comprises controlling a computer aided manufacturing tool to manufacture at least a portion of the object based at least in part on the three-dimensional model, and / or the generated control instructions and / or toolpath. According to a second aspect of the present disclosure, there is provided a method for generating a depth map of an object, the method comprising: receiving a basis image depicting an object or a scene; using a machine learning model to generate predicted or inferred depth values for pixels of the basis image, the depth values having a bit depth of more than 8-bit; and generating a depth map of the object or scene based on the predicted or inferred depth values. By generating a depth map of an object with depth values having a bit depth of more than 8 bits, the advantage of allowing the generation of a high-quality 3D relief model (e.g. without stepping artefacts) which is suitable for reproduction and manufacture (such as by computer-aided manufacturing) is afforded. ln embodiments, the depth values each have a bit depth of at least 32-bit. Preferably, the depth values each have a bit depth of at least 64-bit. In embodiments, generating the depth map comprises extracting and / or outputting unsealed depth values inferred by the machine learning model and generating the depth map based on the extracted unsealed depth values. In embodiments, the machine learning model does not perform linear interpolation on a plurality of predicted depth values (before extraction). In embodiments, the method further comprises outputting or extracting, from the machine leaning model, the predicted depth values without performing a linear interpolation, or other resolution reducing operation, on the predicted depth values. According to a third aspect of the present disclosure, there is described: a method of manufacturing an object, the method comprising: generating a three-dimensional relief model of at least a portion of an object according to any embodiment of the first and / or second aspect; generating control instructions and / or a tool path for a computer aided manufacturing tool based at least in part on the three-dimensional relief model and / or providing the three-dimensional relief model to a computer-aided manufacture tool; and manufacturing, using the computer-aided manufacture tool, at least a portion of the object based at least in part on the three-dimensional relief model or the control instructions and / or a tool path. By generating a three-dimensional relief model from a basis image according the first aspect and generating control instructions and / or a tool path for a computer aided manufacturing tool based at least in part on the three-dimensional relief model, the advantage of more efficient production of high-quality objects based on a basis image is afforded. In embodiments, the manufactured object is or comprises a mould, stamp, or cast for producing or forming certain products. Manufactured objects such as moulds, casts and stamps may be considered ‘intermediate’ products. In other embodiments, the manufactured object can be the formed of final product itself, which e.g. the product can be machined or otherwise formed directly using subtractive (such as CNC machined parts, wood panelling or other components) or additive CAM tools. In some embodiments, the method further comprises imprinting the object into, or otherwise forming the object from, a blank. In embodiments, the computer-aided manufacture tool is or comprises a subtractive manufacturing tool (such as a CNC machining or cutting tool) or an additive manufacturing tool (such as a 3D printer). ln embodiments, the method further comprises generating control instructions and / or a tool path for the computer-aided manufacture tool based at least in part on the three-dimensional relief model. The control instructions and / or tool path may be generated directly from the 3D relief model or indirectly. In some examples, the method may comprise converting the 3D relief model into, or passing the 3D relief model into, an intermediate file format, and providing the intermediate file format to the CAD tool and / or converting the intermediate file into control instructions and / or tool path for the tool. The intermediate file format may contain one or more of: a pixel width, pixel height, real width, real height, a 3D offset, and a series of height values. An intermediate file format may be suitable for use with certain CAM tools or toolpath generating software, such as certain laser engraving machines, whereby the use of the intermediate file format may provide for a more accurate toolpath to be generated. The method may comprise converting the three-dimensional model into machine commands for controlling at least one computer-aided manufacturing tool, such as a computer-numerical control tool. Preferably, the machine commands comprise G-codes and M-codes. In embodiments, a computer-aided manufacturing tool, or computer-numerical control machine, or computer-aided manufacturing program, receives a file and then converts the file into machine commands for controlling at least one computer-numerical control tool or computer-aided manufacturing tool. In other embodiments, a computer-numerical control machine receives machine commands for controlling at least one computer-numerical control tool. According to a fourth aspect of the present disclosure, there is provided a machine-readable medium comprising computer-readable instructions that, when executed by one or more processing devices, perform the method of any of the preceding aspects. According to a fifth aspect of the present disclosure, there is provided a system comprising one or more processing devices configured with instructions that, when executed by the one or more processing devices, cause the one or more processing devices to perform the method of any previous aspect. According to a sixth aspect of the present disclosure, there is provided an apparatus or system comprising: means for generating a depth map from a basis image; means for generating a detail map from a basis image; means for combining the depth map and the detail map; and means for generating a 3D relief model based on the combined depth and detail maps. The apparatus or system may further comprise a means for outputting the 3D relief model. The means for performing the above functional steps may comprise suitably programmed software or hardware modules, e.g. of a computer program product. Any, some and / or all features in one aspect of the disclosure may be applied to other aspects of the invention, in any appropriate combination or sub-combination. In particular, method aspects may be applied to system or apparatus aspects, and vice versa. Furthermore, features implemented in software may be implemented in hardware, and vice versa. Any reference to software and hardware features herein should be construed accordingly. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure, such as a suitably programmed processor and associated memory. It should also be appreciated that particular combinations of the various features described and defined in any aspects of the disclosure can be implemented and / or supplied and / or used independently. The disclosure also provides a computer program and a computer program product comprising software code adapted, when executed on a data processing apparatus, to perform any of the methods described herein, including any or all of their component steps. The disclosure also provides a computer program and a computer program product having an operating system which supports a computer program for carrying out any of the methods described herein and / or for embodying any of the apparatus features described herein. The disclosure also provides a computer readable medium having stored thereon the computer program as aforesaid. The disclosure also provides a signal carrying the computer program as aforesaid, and a method of transmitting such a signal. The disclosure extends to methods and / or apparatus substantially as herein described with reference to the accompanying drawings. Description of the Drawings The disclosure will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 shows an example method for generating a 3D model; Figure 2a shows example images being processed to produce a 3D model; Figure 2b shows example profiles of an image being processed to produce a 3D model; Figure 3 shows an example method for converting a basis image into a detail map; Figure 4 shows an example method for converting a basis image into a depth map; Figure 5 shows an example method for generating a 3D model from a basis image; Figure 6 shows an example method for generating a basis image; and Figure 7 shows a schematic diagram of an example system for implementing the disclosed methods. Description of the preferred embodiments Referring to Figure 1, there is shown an example computer-implemented method 100 for generating a three-dimensional (3D) relief model according to embodiments of the invention. In a first step 110, a depth map is generated from a basis image, such as a two-dimensional image. In a second step 120, a detail map is generated from the basis image. In a third step 130, the depth map and detail map are combined to form a three-dimensional (3D) relief model. The depth map comprises inferred depth information from the basis image, which can include absolute or relative depth values providing the 3D profile of the objects / entities within the basis image. The depth map thus captures the main 3D volume of the objects in the basis image. For example, where a building is shown in the basis image, the depth map may provide the overall building shape and volume. In another example, where a person’s face is shown, the depth map may provide the overall shape of the face. Such ‘coarse’ or ‘volumetric’ depth features are necessary but not sufficient for generating a representative 3D relief model with sufficient resolution for use in CAD / CAM manufacturing of a bas relief object. For example, some features shown in a basis image may correspond to no or very little volume or change in depth on an object surface, e.g. relative to a background, but may still be visually important features which may need to be included in a 3D relief model for it to appear representative of the object depicted in the basis image. For example, eyebrows on a face are only very slightly raised compared to a brow and so may not be captured in the depth map, but a 3D relief model of a face would appear incomplete if these were not included. Similarly, features on a building such as windows, window sills, or signage may be not raised at all from a building fagade, but may be important identifying features. Such features are referred to herein as ‘fine’ features or ‘detail’. The detail map captures the visible ‘fine’, high frequency and low volume features, which correspond to visible changes in colour, intensity and in some cases contrast, in the basis image, whether or not there is any significant depth change between these features and a background in reality. These fine features captured in the detail map may then be combined with the relatively coarse features of the depth map to provide a high-quality 3D relief model with increased detail and resolution for use in manufacturing a bas relief object. The detail map thus includes depth information associated with the fine visible surface detail of the object, which may not be correlated with real depth information (relative or absolute) of the object or scene, while the depth map includes relatively coarse surface depth information of the object which is correlated with real depth information (relative or absolute). Advantageously, this approach allows both the shape, volume and the details to be accurately represented in a 3D relief model which can then be converted into a toolpath for a computer-aided manufacturing (CAM) tool. In this way, the improved detail generated by the method 100 can allow digital 3D relief models to be rapidly generated from a basis image that are suitable for direct use in CAD / CAM manufacturing, without requiring lengthy and inefficient manual refinements to add fine detail or to adjust the contours, thus significantly reducing modelling time and computing resources and streamlining the overall CAD / CAM process pipeline. The depth map and detail map are each computer generated by running a program or software. In preferred examples, the detail map is generated using an image filter or algorithm applied to the basis image configured to convert the image pixel values to depth values, while the depth map may be generated by applying a machine learning model, such as a neural network, to the basis image. Advantageously, generating the depth and detail map using a program reduces the burden on a user of the program, as automation of these processes removes any requirement for the user to generate these manually, while still providing a high-quality rendering of both the coarse shape and the fine detail features shown in a basis image. State-of-the-art commercially available machine learning depth estimation models, such as ZoeDepth and Marigold, can generate a depth map from a 2D image; however, the level of detail and resolution in such depth maps is insufficient for use in generating a 3D relief model for CAM of a relief object. For example, while such depth estimation models can capture the overall shape (coarse features) of an object depicted in a 2D image they fail to capture fine features of the surface detail, and furthermore the resulting depth maps contain various artefacts such as stepping and pixelation due to poor resolution which, although may not be visually apparent in a grey-scale image format of the depth map, become apparent in a relief object manufactured according to that depth map. By producing separate depth and detail maps from the same basis image and then combining them, the present invention solves the problems in generating 3D relief models using commercially available machine learning depth estimation models. Steps 110 and 120 may occur in any order. For example, steps 110 and 120 may occur simultaneously, or one step may occur before the other. Each of steps 110 and 120 generate their respective map from the same 2D basis image. The depth map and detail map can be combined by adding the depth and detail maps, e.g. adding pixels values of the detail map to corresponding pixels of the depth map. Alternatively, the depth map and detail map can be combined by subtracting one from the other, such as by subtracting the detail map from the depth map, or vice versa. Still further embodiments may combine the depth and detail maps in other ways, and / or further processing steps may be performed on the depth and / or detail map before combining, such as re-scaling, smoothing, etc., e.g. based on various user input to achieve the desired level of relative detail in the 3D relief model. Figure 2a illustrates an example of a depth map 240 and a detail map 250 being generated and combined to generate a bas relief 3D model 270 according to the method 100. The basis image 210 is provided as input into a depth map generator 220 and a detail map generator 230. The depth map generator 220 outputs a depth map 240. The detail map generator 230 outputs a detail map 250. The depth map 240 and detail map 250 are then combined by model generator 260 to generate 3D bas relief model 270. Preferably, the depth map 240 and detail map 250 have the same pixel size and resolution to facilitate combining. The basis image 210 in this example depicts a house. The depth map generator 220 processes the basis image 210 to generate a depth map 240 which captures the volume and shape of the house, without fine surface features or detail, as shown. The detail map generator 230 processes the basis image to generate a detail map which includes fine surface detail, but is missing real depth information and volume. The depth map and detail map are then combined by the model generator 260, e.g. by performing an addition or subtraction operation as described above. In preferred examples, the depth map generator 220, detail map generator 230, and model generator 260 are implemented as software modules in a computer program or software having a graphical user interface (GUI) configured to receive one or more user inputs. For example, model generator 260 may include a GUI configured to display a combination of the generated depth map 240 and the detail map 250, optionally also the basis image, and provide one or more selectable user inputs for a user to modify or adjust one or more parameters of the depth map 240 and / or the detail map 250, such as a relative depth scale and level of smoothing, which affect the resulting 3D relief model produced when these maps are combined. In preferred examples, the GUI displays the resulting combination of the generated depth map and detail map as adjustments are made to the parameters, and displays the results of the adjustments in real-time or in near real-time to provide visual feedback to the user on the adjustments made. For example, a user may wish to recreate a 3D relief model with the same depth as the depth shown in the basis image, or a user may alternatively wish to portray the objects / shapes shown in the basis image with a lower or higher profile than originally depicted in the basis image. For example, where the 3D relief model is of a coin, the depth of the 3D model may be limited by a maximum coin profile thickness, meaning a total height of the 3D relief model, as this may be limited by factors such as material costs as well as the existing infrastructure for coin use. As such, in preferred examples, the model generator 260 can receive a user input (e.g. through the GUI) for a maximum profile value, and automatically adjust the relative contribution of at least the depth map so that the profile of the 3D model does not exceed the maximum profile value. In preferred examples, the model generator 260 can receive a user input (e.g. through the GUI) specifying whether the detail map should be added to, or subtracted from, the depth map. On a coin, for example, dirt gradually accumulates in recesses in the surface, so detail that is lowered appears as black, which may improve the appearance of features such as hairs on a face. For use on a coin face, it may therefore be desired to subtract the detail map from the depth map. It will be appreciated that for other applications and / or when working with different basis images, it may instead be preferable to add the detail map to the depth map. Advantageously, allowing the user to choose whether to add or subtract the detail map from the depth map improves the flexibility of the system. In an example, this input may be provided using a variable scale or slidable scale input, allowing a user to drag upwards to increase the height of the detail map, and downwards to decrease the height of the detail map. In examples, if the height of the detail map on the scale is above a threshold the detail map is added to the depth map and dragging the height of the detail map downwards beyond the threshold allows the detail map to be subtracted from the depth map. In preferred examples, model generator 260 and / or depth map generator 220 is further configured to allow a user to adjust a smoothing applied to the generated depth map. For example, the user may be able to smooth the 3D model to remove visible stepping, where this is an artefact and the surface should in fact be smooth. The model generator 260 and / or detail map generator 230 is preferably further configured to allow a user to adjust a smoothing applied to the detail map. Figure 2b shows an illustration in profile of the method 200. Profile 215 is an idealised height / depth cross-section through the object in the example basis image 210 of figure 2a along its width. The house shown in basis image 210 is raised above its surroundings or background, with one side facing the viewer while a second side slopes away from view (e.g. due to perspective). This is shown in the profile 215 as a raised, generally flat portion, with an angled tail portion corresponding to the second side. The front face of the house shown in image 210 has features such as windows, which extend outwards from the fagade, and a door, which is flush with the fagade. The windows therefore give the profile 215 some surface details extending outwards, while the door does not appear in the profile 215. The depth map generator 220 receives the basis image 210 and outputs a depth map 230 (not shown). The depth map profile 235 shown in figure 2b represents a cross-section through this depth map. As shown, while the depth map profile 235 matches the general shape of the idealised profile 215, it lacks the fine details around the windows. In other words, the depth map is capable of determining the general shapes shown in the image, but is not capable of determining fine details in the profile. The depth map may be generated using machine vision techniques, such as by using an artificial neural network. The detail map generator 240 receives the basis image 210 and outputs a detail map 250 (not shown). The detail map profile 255 shown in figure 2b represents a cross-section through this detail map. As shown, the detail map profile 255 does not capture the general shape or volume of the house as seen in the depth map profile 235, but it does capture the features of the windows, as these appear (in this example) darker in the basis image 210. The detail map profile 255 also shows a detail on the door which is absent in the depth map profile and the idealised profile 215, because, although the door is flush against the house, the detail map 250 comprises distinguishable details (e.g. a change in colour or brightness) which are present in the basis image 210, not all of which need correspond to changes in depth of the object in the basis image 210. The detail map profile 255 also shows as elevations the edges of the wall, where there is a change in colour or brightness, such as due to shadows. In short, regardless of whether the visible details in the basis image 210 are due to variations in height or not, the detail map generator 240 converts these details into depth / height variations in the detail map 250 by processing the pixel values, as will be described in more detail below. In the next step, the model generator 260 combines the depth map 230 and detail map 250 to generate a 3D relief model 270 including both the general shape and volume of the house, and the fine details of the windows and door. Profile 275 represents a cross-section through the 3D model. Figure 3 shows an example method 300 for converting a basis image into a detail map, according to embodiments of the invention. At step 310, the method comprises converting values at each pixel into a respective greyscale value, e.g. using techniques known in the art. For example, RGB values for a pixel may be converted to single greyscale value, by weighting RGB values with respective weights, and then combining the weighted values to generate a greyscale value. Other colour formats for pixel values may be similarly converted, such as YCbCr and HSL. Optionally, the method 300 may therefore comprise determining the colour storage format before converting the pixel values to greyscale values. At step 320, the greyscale values are optionally scaled. In some examples, this comprises linear scaling, by applying a scale factor to the pixel values to adjust the range to within a predefined range. For example, a highest greyscale value may be set to a maximum height value (which may be pre-defined or user defined through the user inputs described above), and the remaining greyscale values may be scaled correspondingly, or the pixels values may be normalised by the maximum greyscale pixel value, and then a (user or pre-defined) depth scale may be applied to achieve the desired depth scale for the detail map. Alternatively or additionally, step 320 can comprise applying one or more filters to the greyscale image. For example, a filter could be applied which is configured to take each pixel greyscale / depth value and calculate its normal vector given the surrounding pixel values in the detail map. The z components of the normal vectors can then be used to produce a filtered detail map. In this way, the filtered detail map preserves detail but lowers the variability in the detail relief. In some examples, a smoothing filter can be applied. In other examples, a derivative filter can be applied where, for example, enhancement of the surface detail is needed. In some implementations, such filters can instead be applied to the basis image before conversion to greyscale. At step 330, the greyscale values are converted to a depth scale, and to produce the detail map. This detail map comprises, for each pixel, a corresponding depth value. In some examples, the conversion is performed by applying a function to the greyscale pixel values. It will be appreciated that, where the basis image is already in greyscale format, step 310 can be omitted. Advantageously, the method 300 provides a fast, efficient and effective means of extracting fine depth details from a basis image for combination with a depth map. Optionally, step 330 comprises inverting at least a portion or region of the converted depth values of the detail map, preferably in response to a user input. For example, inverted regions of the detail map which would have produced depressions (concave portions) in the final 3D relief model will produce elevations (convex portions), and vice versa. In some examples, step 330 may further comprise removing a background offset from the detail map. In some embodiments, step 330 further comprises masking, or applying a mask to, pixels outside of a region of interest (ROI), whereby the mask is generated based on the depth map, as described in more detail below with reference to method 500. Masked pixels are preferably set to zero. It will be appreciated that the mask may instead be applied to the basis image before the detail map produced in step 330. Figure 4 shows an example method 400 for converting a 2D basis image into a depth map, according to embodiments of the invention. At step 410, the method comprises receiving a 2D basis image, such as basis image 210. The 2D basis image may be an image provided by a user, or it may be generated based on a prompt provided by a user, as described in more detail in relation to Figure 6. At step 420, the basis image is input into a machine learning model trained to infer depth values for pixels of the basis image. The machine learning model may include an artificial neural network, such as a convolutional neural network, a latent diffusion model, and / or a transformer. The model may be a discriminative model ora generative model. In an example implementation, the machine learning model comprises a commercially available depth estimation model, such as ZoeDepth or Marigold. At step 430, unscaled / raw depth values for pixels of the basis image are extracted from the depth estimation model. Conventionally, off-the-shelf depth estimation models scale inferred depth values one or more times to produce a depth map as a 24-bit grey-scale image. However, this allows only 8 bits of greyscale detail in the depth map, which is insufficient to render a 3D relief model suitable for manufacture of a bas relief, as the low bit depth results in stepped surfaces along angled portions of objects. Step 430 therefore comprises extracting unscaled / raw depth values generated by the machine learning model, before the depth values are scaled down by the subsequent stages in the processing pipeline of the machine learning model. For example, depth estimation models such as ZoeDepth perform a linear interpolation orsoftmax operation to scale down the inferred depth values. Step 430 may therefore comprise extracting the unsealed depth values before such re-scaling steps are performed. In embodiments, the depth values extracted at step 430 may comprise relative depth values, i.e. depth values on a scale that is not directly correlated to a real-world scale. For example, relative depth values may vary with respect to a reference depth value (e.g. the maximum or minimum depth value in the depth map) and / or have an arbitrary (or even compressed) scale that requires application of a scale factor and / or offset to convert to a real depth scale. Alternatively or additionally, the depth values may comprise absolute, real or metric depth values for the basis image, i.e. with real-world units, such as meters, centimetres, or millimetres. Optionally, step 430 comprises inverting at least a portion of the extracted depth values, preferably in response to a user input. For example, depth values can be inverted to produce a negative relief portion (e.g. depression) of the basis image. Since the product of a mould or stamp is a negative of the surface of the mould or stamp, inverting at least a portion of the depth values to produce a negative relief portion in a 3D model allows a final product to be a non-inverted version of the basis image. For example, when a mould, cast or stamp produced according to the 3D relief model is used, inverted regions of the mould, cast or stamp which would have produced depressions (concave portions) in the final product surface will produce protrusions (convex portions), and vice versa. At step 440, each of the depth values are optionally scaled and resampled to produce a respective 32-bit floating point number (referred to as a ‘float’). At step 450, a new file comprising a header (and later the depth values) and additionally is generated. The file may have the extension .SRF. The header may comprise information on the file format. This allows software to read the format, size and position of depth values from the file. For example, the header may specify one or more of: a pixel width variable type and variable size; a pixel height variable type and variable size; a real width (i.e. metric value) variable type and variable size; a real height variable type and variable size; a real x offset variable type and size; a real y offset variable type and size; a real z offset variable type and size; and information on value ordering. Additionally, the header may specify for some variables whether they are Big-Endian or Little-Endian (i.e. whether the right-most or left-most digits of a number represent the largest power of a base). For example, the pixel width may be a 32-bit integer, and may be Big-Endian. The pixel height may be 32 bits. The real width may be a 64-bit double corresponding to the physical width in mm, and may be Little-Endian. The real height may be a 64-bit double corresponding to the physical height in mm, and may be Little-Endian. The real x, y, and z offsets may each be 64-bit doubles indicating the position of a top-left corner of the basis image in x, y and z respectively. At step 460, the 32-bit float depth values are added to the new file to produce a depth map file. This may be done by appending the depth values in row major order. Alternatively, this may be done by appending the depth values in column major order. In examples, the 32-bit height values are appended as Little Endian floats. At step 470, the depth map file is output. Although the steps of generating the new file with the header and adding the depth values are described above as separate steps, in some examples the new file can be generated comprising the header and the depth values (i.e. in single step). In other examples, the depth values may be saved in an intermediate file format before the header is generated and the depth values are saved to the depth map file. In further examples, the file may not comprise the header at all, and instead a program may be configured to automatically interpret the depth map file correctly regarding the number of rows and columns and the nature of the values contained within the file. For example, a program may determine how to interpret the file based on the extension and / or based on a user’s input. While in some examples, the pixel widths and heights have the bit sizes discussed above, in other examples, the pixel widths and heights may be smaller or larger. Similarly, in examples the real x, y, and z offsets may not be used, or these numbers may have smaller or larger bit sizes compared to those discussed above. For example, in some cases, the 64-bit doubles may be substituted with 32-bit floats, and vice versa. Figure 5 shows a method 500 for processing a basis image to produce a 3D model. The features of method 500 can be applied to methods 300 and / or 400. At step 510, depth values for the basis image are determined, for example by applying a machine learning model to the basis image. The depth values may be extracted from the machine learning model, e.g. by bypassing various final processing stages of the depth estimation model which would re-scale (scale down) the inferred depth values. For example, the depth values may be 64-bit values extracted from the machine learning model before linear interpolation or other scaling operations are performed (which serve to reduce these values to within an 8-bit range), as is conventional for commercially available depth models. The extracted inferred depth values may therefore be unscaled / raw depth value, unlike the conventional outputs of commercially available depth models. At step 520, a region of interest (ROI) in the basis image is determined based on the depth map. For example, the ROI may be or comprise the object(s) in the basis image for which a 3D relief model is to be generated. This step facilitates masking, or the generation of a mask for applying to, the basis image or the detail map to remove background and / or unwanted details outside the ROI in the detail map, as described above. A ROI can be determined by using one or more forms of image segmentation and / or object detection. In some examples, ROI is determined by applying one or more thresholds separating any objects of interest in the image from unwanted background (and optionally foreground). In a preferred implementation, depth values or values of pixels corresponding to a ROI are selected using a depth histogram produced from the depth map, as described in more detail below. In this case, first, a depth histogram is generated from the depth values of the depth map. In some examples, the depth map or histogram is processed to compensate for a tilted background depth plane or floor, e.g. in cases where the floor in the basis image is falling away into the background. This may involve a background removal operation, e.g. involving determining a floor plane or tilted background plane in the depth map and subtracting the determined floor plane or background plane from the depth map. Such a tilt may manifest in the histogram as a background offset. The floor or background plane can be determined or calculated using various techniques, such as linear regression. In some examples, the floor plane or tilted background depth plane in the depth map may be determined based on two or more user-defined points on the depth map, for example, a GUI may present the depth map and be configured to allow the user to select or otherwise define at least two (preferably three) points on the depth map from which a floor plane or tilted background plane can be calculated. Second, depth values of interest are then determined. Preferably, an algorithm is used to determine one or more thresholds separating any objects of interest in the image from unwanted background (and optionally foreground). In some implementations, this algorithm may be based on a flood fill algorithm. The one or more thresholds can then be applied to the depth values or depth map to select or segment a ROI, e.g. whereby pixels with a depth value lower than a threshold depth are determined to be of pixels of interest, while pixels with a depth value higher than the threshold depth are determined to be outside of the ROI. Additional depth thresholds can be used to define intermediate depth ranges of interest for a ROI. Pixels of the depth map that are determined to be outside of the ROI are preferably used to generate a mask for applying to the basis image or the detail map to remove or mask background and / or unwanted details outside the ROI in the detail map. Alternatively or additionally, the one or more thresholds can be user-defined or adjustable, e.g. through user inputs of the GUI. In a preferred example, the GUI is configured to display the one or more threshold depths on the depth histogram and provide input functionality to allow the user to adjust the threshold depth(s), e.g. by moving a slider interface. Optionally, the GUI may be configured to display the basis image together with a visual indication of determined ROI in the basis image and / or the resulting masked detail map. This may improve user selection of a depth threshold by providing real-time visual feedback on the selected areas or regions of interest based on the applied threshold(s) in an intuitive manner. Further optionally, the depth histogram can be concurrently displayed to the user in the GUI for visualising, setting and / or adjusting the one or more thresholds. Instead of or in addition to using a depth histogram to determine the one or more thresholds, image segmentation using a machine learning model or other computer vision technique (e.g. semantic, instance, edge detection or cluster based segmentation) may be used to detect objects and / or ROI from the depth map, which can then be used to determine the one or more thresholds for the mask, e.g. based on the depth values for pixels in these detected ROIs. Alternatively, pixels for the mask can be determined directly from the pixels identified to be outside of the ROI (however it is determined) without explicitly using thresholds. As described above, pixels outside of the ROI, which may be ‘background’ pixels of the depth map, determined in this way can then be used to generate a mask for applying to the detail map. Masked pixels of the detail map can be zeroed, or otherwise flattened or removed, such that the detail map only adds fine detail to the depth map in the selected areas of interest. Instead of or in addition to zeroing or cutting out background pixels, depth values outside the ROI(s) corresponding to unwanted details may also be selected. At step 530, a detail map is generated from the basis image, whereby pixels outside of the ROI(s) are masked, if step 520 has been carried out. At step 540, the depth map and detail map are combined. In examples, the depth map and detail map may be added. Alternatively, the detail map may be subtracted from the depth map. The depth and detail map are overlaid so that a point from the basis image on the depth map will be overlaid over the same point from the basis image on the detail map. Preferably, the depth map and the detail map have the same width and height, i.e. the depth map has the same number of depth values along its length as the detail map has depth values along its length, and the depth map has the same number of depth values along its width as the detail map has depth values along its width. The depth map and detail maps may however have different “sizes” in that the depth values of the depth map may have a greater number of bits compared to the depth values of the detail map, or vice versa. Optionally, if the depth map and detail map do not have the same number of pixels, the depth map and / or the detail map are scaled before combining, so that they each have the same number of pixels. In some examples, before combining the depth map and detail map, the depth map is processed using a bas relief filter configured to compress the depth values in the depth map without reducing the definition of edges. Alternatively or additionally, before combining the depth map and the detail map, the detail map is processed using a smart filter configured to smooth areas of low depth variance, without affecting areas of high depth variance. Optionally, at step 550, the result of the combination of the depth and detail maps is displayed in the GUI. At step 560, a user of the software optionally provides one or more inputs to adjust the relative z-scales of the depth map and detail maps. In preferred examples, the user adjustments may be displayed in real-time or near real-time in the GUI. This allows a user to adjust the resulting 3D model to desired proportions for the relief object to be manufactured. At step 570, a file storing the 3D model is generated and / or output. This file may be stored, so that the 3D model may be disseminated and viewed virtually. Alternatively or additionally, the file may be sent to a CAM device or tool for manufacture of an object / product according to the 3D model. In examples, the 3D model file may comprise a detail level of up to 128 million triangles, or even higher. This allows for a high-quality product to be produced using the 3D model, suitable for use in additive manufacture (e.g. 3D printing) and / or in subtractive manufacture. In preferred examples, the file is used to manufacture an object based on the 3D model. To do this, the method further comprises determining a tool path for a CAM tool based at least in part on the 3D model. In this context, a tool path comprises a series of instructions or X, Y, Z coordinates for the moveable / scannable machine head of the CAM tool to follow during manufacture of the object, such as G-codes and M-codes as are known in the art. For example, the instructions and / or toolpath may tell an additive CAM tool, such as a 3D printer, where material should be deposited in each layer, or the instructions may describe the path that a CNC machine such as a mill, laser cutter, lathe, or other subtractive CAM tool should take to remove material from a blank. It will be appreciated that, in practice, the X, Y path that the CAM tool follows can take various forms depending on the CAM tool and its mode of operation (such as a raster scan, vector scan, boundary offset, spiral, 3D offset, etc ), but in general the Z coordinates or heights are set to conform to the surface depth variations in the 3D relief model. In some examples, a tool path is calculated using a specific computer-aided manufacturing (CAM) program configured for determining or calculating tool paths. The tool path calculations may be performed on the same computer system used to generate the 3D relief model or a remote CAM computer system or server. As such, generating the toolpath may involve sending or providing the 3D model file to the CAM program or CAM system, and the CAM program then converts the file into a toolpath / series of instructions for a CAM tool to follow. In some examples, the method may comprise converting the 3D relief model into, or passing the 3D relief model through, an intermediate file format, and generating the toolpath from the intermediate file. In some cases, such as laser engraving, the use of an intermediate file format may provide for a more accurate toolpath to be generated. Figure 6 shows an example flow diagram 600 illustrating a method for generating a basis image from a user prompt. At step 610, a user prompt is received. The user prompt may comprise text and / or an image. At step 620, it is determined whether the prompt comprises an image. If the prompt comprises text but does not comprise an image, the method 600 may optionally comprise augmenting the text prompt at step 630 to improve subsequent image generation by a machine learning model. This may comprise using an algorithm or a further machine learning model, which may be or comprise a trained artificial neural network. Optionally, the user prompt may be further augmented. For example, the method may comprise augmenting a user prompt according to one or more predefined criteria such that the augmented prompt is better directed towards generating a bas relief image. The prompt may then be further augmented by an image generation model to improve the general image generation. It is observed herein that bas relief training images are often shown in perspective view, typically tilting away from the camera. Such images are often of images of real objects taken from a certain camera angle or perspective, such as images of architectural features or detail on floors, walls or ceilings. Therefore, without instruction to the contrary, a machine learning model will only generate images of bas relief where the bas relief similarly tilts away from a reference point of view (corresponding to a camera point of view). Augmenting the user prompt may therefore comprise inserting a requirement that the image has a front-on-view or is face on. Additionally or alternatively, the prompt may be augmented to specify one or more of the following example requirements: shadows are not present, flat lighting, true transparency, and a plain background, such as a black background. Then, at step 640, the user’s text prompt or the optionally augmented text prompt is provided to a machine learning model trained to generate an image based on a prompt. The optional augmentations may require that the image is generated as an image of a bas relief, and / or may request a lack of visible artefacts in the image (such as shadowing and / or glare), and / or a high level of visible detail. This generated image is then output as the basis image at step 680. If it is determined that the prompt comprises an image, the method proceeds by checking at step 650 whether the image is a drawing or a photo. This may comprises receiving a user input indicating that the image is a drawing or a photo. Alternatively, a machine learning model may detect whether the image is a drawing or a photo. If the image is a drawing, then the method proceeds to step 660, at which point the drawing is simplified to create a control net, such as by using a line art or convolution filter. In this context, a control net is a neural network structure in which a diffusion model is controlled by adding extra conditions. This allows a second image to be generated following outlines of a first image, based on the image outlines and a text prompt. At step 670, an image is generated based on the control net. In preferred examples, the image is generated at step 670 using a machine learning model. In examples, the machine learning model takes text in the prompt as an additional input in order to generate an image. In some examples where the prompt comprises text and an image, the user prompt may comprise suitable text, and so this text may be input alongside the control net into the machine learning model. In other examples, suitable text may not be provided, or may not be adequate. In such cases, the method may further comprise generating suitable text based on the image and / or any input text. Such suitable text may be generated using a further machine learning model. The image generated at step 670 is then output as the basis image at step 680. If, at step 650, it is determined that the image is a photo, then the photo is output as the basis image at step 680. Optionally, the photo may be enhanced by a further machine learning model, and the enhanced image may be output as the basis image. In examples, an additional step of upscaling the resolution may be carried out on the basis image. Preferably, when an innage is generated in stages 640 or 670, the image is generated as a PNG. Advantageously, this reduces the visibility of compression artefacts in comparison with other formats such as JPEG. Optionally, when an image in a JPEG format is provided as a photo, after decision 650 the photo is converted into PNG format. In examples, the image generation at step 670 and / or at step 640 is performed using an artificial neural network. In examples, the artificial neural network comprises a transformer architecture, or other generative machine learning model. Figure 7 shows a schematic diagram of a system 700 for implementing the above-described methods. The system 700 comprises one or more processing devices 1100 configured with instructions that, when executed by the one or more processing devices 1100, cause the one or more processing devices 1100 to perform any of the above-described methods. The system 700 may comprise a computer-readable medium 1200 in communication with the one or more processing devices 1100 storing the instructions. The processing devices 1100 may include a user computing device and / or one or more servers, and optionally a computer-aided manufacturing tool 1300. Accordingly, aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementations that may all generally be referred to herein as a “unit,” “module,” or “system”. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having instructions or computer readable program code embodied thereon. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including wireless, wireline, optical fibre cable, RF, or the like, or any suitable combination of the foregoing. The disclosed methods and / or program code may execute entirely on a user's computing device, partly on a user's computing device, as a stand-alone software package, partly on a user's computing device and partly on a remote computer, or entirely on a remote computer or server. In the latter scenarios, the remote computer / server may be connected to a user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external server / computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment, or offered as a service such as a Software as a Service (SaaS). The computer readable medium 1200 may include a mass storage, a removable storage, a volatile read-and write memory, a read-only memory (ROM), or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, a solid-state drive, etc. Computer program code or instructions for carrying out disclosed methods may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Javascript, NodeJS, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python orthe like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. Alternatives and modifications It will be understood that the present invention has been described above purely by way of example, and modifications of detail can be made within the scope of the invention. Each feature disclosed in the description, and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Any feature described in relation to any one example may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the examples, or any combination of any other of the examples. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims. For example, while in some embodiments the basis image comprises a single object, in other embodiments the basis image may comprise a plurality of objects, or a scene. Similarly, while in some embodiments, text prompts are augmented, in other embodiments text prompts may not be augmented. While in some embodiments, the depth map is generated before the detail map, in other embodiments the detail map may be generated first, or the two may be generated in parallel. In some embodiments, a further map may be combined with the depth and detail maps. For example, a colour map may be used to map colours onto the 3D relief model. Although the appended claims are directed to particular combinations of features, it should be understood that the scope of the disclosure of the present invention also includes any novel feature or any novel combination of features disclosed herein either explicitly or implicitly or any generalisation thereof, whether or not it relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present invention. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.

Claims

1. A computer-implemented method, the method comprising:generating a depth map from a basis image;generating a detail map from the basis image;combining the depth map and detail map; andgenerating a three-dimensional relief model of the basis image based on the combined depth and detail maps.

2. The method of claim 1, wherein the detail map comprises depth information representing surface details in the basis image, preferably wherein the depth information is related to pixel values of the basis image, such as variations in colour and / or intensity.

3. The method of claim 1 or 2, wherein the depth map comprises relative or absolute depth information inferred from the basis image.

4. The method according to any preceding claim, wherein generating the depth map comprises: inferring depth values from the basis image; and generating the depth map based on the inferred depth values; and, optionally or preferably, wherein the depth map is generated using a machine learning model trained to infer depth values for pixels of the basis image.

5. The method according to claim 4, wherein generating the depth map using the machine learning model comprises: extracting unsealed inferred depth values from the machine learning model; and generating the depth map based on the extracted unsealed depth values.

6. The method according to any preceding claim, wherein the generated depth map has a bit depth of more than 8-bit, preferably 32-bit or 64 bit.

7. The method according to any preceding claim, wherein generating the detail map comprises converting pixel values of the basis image to depth values, and more preferably wherein the pixel values are luminance or RGB values.

8. The method according to any preceding claim, wherein generating the detail map further comprises: masking pixels outside of a region of interest, preferably by applying a mask generated based on the depth map.

9. The method of claim 8, comprising: determining the region of interest based on the depth map; and, optionally or preferably, wherein determining the region of interest comprisessegmenting the depth map, preferably based on a histogram of depth values from the depth map.

10. The method according to any preceding claim, wherein combining the depth map and detail map comprises combining the depth map and detail map pixel by pixel; preferably by performing an addition or subtraction operation.

11. The method according to any preceding claim, wherein generating the detail map comprises scaling the detail map to have a depth scale in the range of approximately -10% to +10 % of a depth scale of the depth map.

12. The method according to any preceding claim, wherein the method further comprises: generating the basis image based on a prompt using a further machine learning model, preferably wherein the prompt comprises text and / or an image.

13. The method according to claim 12, wherein the prompt comprises text, and the method further comprises: receiving input text for the prompt; and augmenting the input text to generate the prompt text based on one or more predefined criteria, preferably using a yet further machine learning model.

14. The method according to claim 13, wherein the input text is augmented to further specify one or more of the following features for production of a relief: visible detail; details of a bas relief style; and lack of visual artefacts.

15. The method according to any of claims 12 to 14, wherein the prompt comprises animage, and the method further comprises: receiving an input image for the prompt; and augmenting the input image to generate the prompt image, preferably using a still yet further machine learning model; and, optionally or preferably, wherein augmenting the input image comprises processing the input image using a convolution filter and / or a line art filter to generate a processed input, and then inputting the processed input into the still yet further machine learning model.

16. The method according to any preceding claim, wherein the method further comprises receiving a user input to adjust a feature of the three-dimensional relief model, and adjusting the feature of the three-dimensional relief model; and, optionally or preferably, wherein the feature comprises any one or more of the following: a depth scale of the depth map; a depth scale of the detail map; a level of smoothing; and one or more depth thresholds for use in extracting a region of interest.

17. The method according to any preceding claim, wherein the method further comprises generating control instructions and / or a tool path for a computer aided manufacturing tool based at least in part on the three-dimensional relief model18. The method of any preceding claim, further comprising outputting or providing the three-dimensional relief model to a computer aided manufacturing tool for use in manufacturing at least a portion of an object based on the three-dimensional relief model; and / or controlling a computer aided manufacturing tool to manufacture at least a portion of the object based at least in part on the three-dimensional relief model.

19. A method of manufacturing an object, the method comprising:generating a three-dimensional relief model of at least a portion of an object according to the method of any of claims 1 to 18;generating control instructions and / or a tool path for a computer-aided manufacture tool; andmanufacturing, using the computer-aided manufacture tool, at least a portion of the object based at least in part on the control instructions and / or tool path.

20. The method of claim 19, wherein the object is or comprises a mould, stamp, or cast for forming a product, or wherein the object is or comprises a formed product; and / or wherein the computer-aided manufacture tool is or comprises a subtractive manufacturing tool or an additive manufacturing tool.

21. A method of generating a depth map of an object or scene, the method comprising: receiving a basis image depicting an object or scene;using a machine learning model to generate predicted depth values for pixels of the basis image, wherein the depth values each have a bit depth of more than 8 bits; andgenerating a depth map of the object or scene based on the predicted depth values.

22. The method according to claim 21, wherein the depth values each have a bit depth of at least 32-bit or 64-bit.

23. The method according to claim 21 or 22, wherein generating the depth map comprises: extracting and / or outputting, from the machine leaning model, unsealed depth values; and generating the depth map based on the extracted unsealed depth values.

24. A machine-readable medium comprising computer-readable instructions that, when executed by one or more processing devices, perform the method of any of claims 1 to 23.

25. A system, comprising one or more processing devices configured with instructions that, 5 when executed by the one or more processing devices, cause the one or more processing devices to perform the method of any of claims 1 to 23.