These past months we have been working on one of the main results of SILKNOW, the Virtual Loom. This groundbreaking Loom acts as a digital memory of silk heritage as it preserves historical weaving techniques which most of them are only known by artisans who have kept alive this ancestral know-how. It conserves and documents several weaving techniques thanks to its 3D visualization, which allows understanding the interlacement between wefts and warps by applying the necessary restrictions for each technique. Therefore, the VL shows those techniques as they are in real life.
The SILKNOW’s Virtual Loom also enables traditional industries to reduce costs by letting them select colours and techniques with just a click, and it encourages designers to create fabrics from historical silk models. Besides, this tool allows the creation of new designs applied to sustainable and recycled materials in 3D printing.
- Virtual Loom website: https://silknow.eu/virtualLoom-v0.91b/
- Windows Standalone version: https://github.com/silknow/virtual-loom/releases/download/v0.91b
What is a VL? We define a Virtual Loom (VL) as an application that can virtually loom fabrics, given an input image with their design. In the scope of the SILKNOW’s project, we are dealing with images of historical fabrics. This means we need to subtract the design form the images before the VL weaves it. The SILKNOW’s VL includes a module on image analysis, to automatically subtract the original design. Once the design is subtracted, and combining this information with a historical technique (e.g. damask, espolín, etc.), the VL can produce an interactive 3D representation of the fabric at the yarn level, that can also be exported for its 3D printing.
As part of the VL, we have integrated a variety of yarns that are needed to produce 3D models with different weaving techniques. We have focused our design in representing silk, cotton and metallic yarns, which were the most commonly used in the historical textiles that we are considering for SILKNOW (15th to 19th centuries). We also added a total of 39 weaves (tabby, twill, sating and their variations). As per the weaving techniques considered for the VL, these are damask and damassé, damassé with metallic weft, lampas, espolín (brocade) and espolín with damassé ground. For all techniques, users can also experiment by changing the colour of the yarns, increasing/decreasing the number of yarns, increasing/decreasing the number of zones (of the design), mirroring an image (with a “symmetry” function) to complete design, etc. The generated 3D models can be downloaded, as well as the design after the posterization of the image. Additionally, the VL allows users to upload any image. Therefore, they can upload their design to virtually weave it and produce a 3D model.
The definition and modelling of such techniques have been possible thanks to a tight collaboration among ICT and SSH partners of the SILKNOW consortium. Additional advice on the weaving techniques has been received by collaborating institutions, such as CDMT. UVEG has also performed an optical study on four silk pieces provided by GARIN, which were weaved with a Jacquard Loom following traditional designs.
Were any VL before? Many applications produce 3D representations of textiles, to visualize them before they can be woven in a (non-virtual, but real) loom. In these applications, the input data is a computer-generated image with the design and the result is a fabric (design-to-3D-to-fabric). However, the SILKNOW’s Virtual Loom is quite different, as we depart from a piece of real fabric and the final product is its 3D representation (fabric-to-design-to-3D). In this sense, the SILKNOW’s Virtual Loom is unique.
How does it work?
- An image is loaded in the Virtual Loom. It might have some perspective distortion.
- The user interactively selects four points, corresponding to the corners of the area of interest. At this point, the image is rectified, so perspective distortion is corrected.
- The user can change the aspect ratio of the image.
- The image is processed to obtain different areas. To that end, we use the kmeans method from OpenCV: In the first place, the user selects the number of colours. Then, the Virtual Loom produces as a result is a posterized image. In the example, the resulting posterized image would contain four plain colours.
- Black and white images are generated, discerning between the background and the pictorial part. Depending on the weaving method (this is selected by the user or provided with the image), different images are derived
Check out the whole explanation on our Video Tutorial