fabio galicia Computational design portfolio 2016.
contents
motivations. curriculum vitae.
A Creative Evolutionary Design System. Intelligent Building Management Systems. A Solar Simulation Without Raytracing. Eave / An Experiment On Local Networking. Custom Tessellation & Control: NURBS Surfaces. Self Organizing Feature Maps. Sound And Emergent Behaviour. Image Processing & Comparison Software. Particle Systems & Dynamic Relaxation. L-Systems & Recursion.
Contact.
i am a computational designer
I hold a MSc. from University College London in Computational Design (Distinction MSc. Adaptive Architecture and Computation, The Bartlett UCL). I am also an Architect (Diploma, UPM). I was born and raised in Madrid, and have worked as Project Manager in Germany and collaborated with several practices in Spain. I believe in the potential of computer science to enhance the way we understand design and conceive architecture, aiming to shift the traditional artistic and product-oriented approach into a bottom-up, human-centered, adaptive system. My major professional interest lies in the growing field of Internet-of-Things, within which I have developed prototypes for SelfRegulated Building Management Systems. I rely on Machine Learning as a key tool for working with underlying patterns in Big Data. I have developed the social experiment ‘eave’, a mobile app to explore the societal implications of Ubicomp, which was presented in the International Symposium ‘Responsive Cities’ 2016 in Barcelona, and several software pieces for simulation and optimization regarding generative design, computer creativity, evolutionary computation and morphogenetic programming. I feel specially appealed by visual aesthetics, and I strive to generate a meaningful communication with the observer through powerful images and compositions in my work. This normally involves my main hobby (photography) , data visualization and graphic design. As side projects, I have collaborated with game developers -level design concepts-, musicians -photography, graphic design- and professionals from various fields -graphic design & marketing-.
languages
tools
german / full professional competence. english / full professional competence. spanish / mother tongue. french / basic understanding.
processing. java. c#. m (matlab). python. other (arduino, vvvv).
grasshopper+rhino. adobe suite. cad+bim. ms office.
cv / Professional Work
12-2K14 / 08-2K15
Project Manager JSWD Architekten GmbH & CO. KG · jswd-architekten.de · Köln
2015 07-2K14 / 11-2K14
>
Children’s Hospital and Clinic at Universitätsklinikum Freiburg
(with TSJ Lübeck & RMP Hamburg) 13.000m2
>
Photo Exhibition and Architectural Showcase ‘hautnah’ (built, on tour)
Architekturgalerie München, Club Rotonda Cologne, Raumgalerie Stuttgart, AITH.
>
New Headquarters GAG + 175 Dwellings (1st Prize -in execution phase)
Cologne, 30.000m2
Project Architect JSWD Architekten GmbH & CO. KG · jswd-architekten.de · Köln Private International Competitions LP 1-4 >
Südspidol new Hospital 56.000m2
>
New Headquarters Bilfinger Mannheim 30.000m2 (3rd Prize)
>
New Headquarters Austrocontrol Wien (High-rise building) 45.000m2
>
Adapted Integrative School Schweich 8.000m2
Freelancer · International Competition: Urban regeneration in Bilbao Team: Galicia + Merino + Pardo 03-2K14 / 07-2K14
Project Architect · RS-Associated Architects · RS-AA.de Köln >
02-2K14 / 03-2K14
2014 08-2K13 / 11-2K13
2013 02-2K12 / 06-2K12
Execution Phase LP 1-5 for Dwellings’ Complex in Mongolia
Freelancer PKMN + Langarita&Navarro + Extudio · Madrid >
Competition: Spain’s Pavilion for Milan’s Expo 2015
Freelancer Extudio · extudio.es · Madrid
Trainee v-architekten · v-architekten.de · Köln
2012
Research Fellow Universidad Politécnica de Madrid · upm.es CAM Grant for Excellent Academic results
cv / Academic Speaker at International Symposium Responsive Cities (Barcelona, 09/2016) F. Galicia & D. Szemerey (UCL) · ‘Eave - A project on local networking’ SHARE - open innovation | citizen participation | ethical cities | sharing economies
MSc. Thesis:· Integrating Machine Learning for self-regulated Building Management Systems Dr. Sean Hanna & Martha. Tsigkari · University College London Matlab, Java -Eclipse IDE, Processing.
MSc. Adaptive Architecture and Computation ( Distinction )
2016
2015
The Bartlett School of Architecture University College London >
Morphogenetic programming: Creative Evolutionary Design Systems
Processing, Java.
>
eave · A project on local networking (Android app)
C#, Unity, Android,Processing, Java.
>
Robotics & Projection Mapping Workshop
Universal Robots, vvvv, Grasshopper
>
An analysis of sound as a mean to inform spatial design
Processing (minim), Kinect
>
Physical Computing Workshop
Microprocessors, transmiters and bitwise communication. Arduino, Processing
Speaker at kreativtreffen.de Sustainable urban interventions in Madrid
Level Design Spatial concepts for level design with GameLab Cologne
2014
Arquitecto (Diploma, Architect) Universidad Politécnica de Madrid
Local Intervention Neuland’s Community Garden (Cologne) neuland-koeln.de · Team: Galicia + Lacour + Terán
2011
MSc. Restoration and Conservation TH-Koeln Cologne University of Applied Sciences (2 Semesters) Erasmus EU Scholarship
2016 / fabio galicia
a creative evolutionary design system java / processing
morphogenetic programming
evolutionary computation
A hold on creativity Workflow: ◊ Genome Encoding Random numerical values pertaining to predefined domains are encoded as genes and translated into phenotypical representations to be visualized and selected by the user.
The aim of this project is to implement a Creative Evolutionary Design System, as described by P. J. Bentley and U. O’Reilly in their paper Ten steps to make a perfect creative evolutionary design system (2001). This program is about creativity. It deliberately excludes any kind of objective hardwired fitness measures. It is conceived as a generic experiment to explore the vast search space defined by the project’s degrees of freedom and design constraints. For this reason, an abstract topic is chosen, a one that serves no particular function. The generated Individuals respond properly to subjective evaluation, but are not entirely open to objective measurements.
◊ Selective Breeding The selected parents are elegible for breeding. The user can decide which individuals to breed. ◊ Direct Intervention The selected individual is visualized, along with an interface that allows the user to modify every parameter that affects the phenotype, now entirely open to inquiry and custom modification. ◊ Encapsulation Every parameter is likely to be protected from mutation, i.e. the gene it represents will be encapsulated.
The possibility of evaluation and optimization of certain features is nonetheless not ruled out. A graphical measure of curvature, solar incidence or area is available to the user in an intuitive and visual way. That means that any of these parameters are potentially subject to optimization by a ‘classical’ GA. A number of mathematical transformations are applied to the periodic functions of sinus and cosinus. The parametric definition of a sphere is the starting point.
◊ Direct Intervention The second gene represents the threedimensional pattern that will be applied to the obtained geometry. Phenotype can be altered on a sample. ◊ Genome Decoding & Solar Simulation The final level shows the whole piece. A solar simulation is provided, the skin can react to the sun or be applied equally. A custom shaded wireframe visualization was also implemented to give a feeling of depth and a sense of solar incidence. Along the whole process, DNA can be exported as .txt for statistical evaluation.
A surface genome is designed which encompasses a pair of chromosomes, each one composed of 10 genes that represent 14 mathematical transformations, which in turn result in 14 phenotypical features. This diploid organism results into greater phenotypical complexity. By providing two sets of information that can be decoded the same way, two sets of features can be implemented and combined. In this case, the first chromosome defines the basis geometry and the second provides a three dimensional texture mapping for the skin, applied onto the surface using the previously calculated normals and solar incidence as an attractor.
◊ Digital Amber & Learning The program allows the user to store binary DNA to be reviewed later by loading a stack of designs, analyzing trends and using previously generated Individuals. Provided a relative large set of data, it would be easy to encode a notion of ‘taste’ in the computer.
11
2016 / fabio galicia
13
2016 / fabio galicia
15
Fig.: BMS prototype software: Readings from weather station, forecasts, sleeping systems policies, deferrable tasks and thermal comfort.
Sleeping Systems
A
Deferrable Tasks 010 110 011 001
Ć’(x)
BMS
Thermal Comfort HVAC Air Quality Light Comfort, etc...
B Input
Few sensors (A) User’s Input (B)
Sensor-based ML modelling
Data collection & learning
Integration with existing systems
Fig.: General overview & workflow
2016 / fabio galicia
Output
Adaptive Control Policies
intelligent building management systems M (matlab)
machine learning big data domotics internet of things
Towards self regulation by means of Machine Learning, sensor-based modelling and data-based simulation. UCL MSc. Dissertation / supervised by Dr. Sean Hanna & Martha Tsigkari-
Abstract: This project approaches the field of Internet of Things and adaptive Building Management Systems (BMS) in residential units. It aims to implement sensor-based modelling in conjunction with Machine Learning (ML) to generate a data-based model of the working cycles of a standard house. This way, several control policies regarding thermal comfort and energy consumption could be simulated, tested and optimized without the need of a complex physics-based model. It also approaches the determination of the most relevant inputs for the estimation of several variables that have implications in energy demands and user’s comfort in dwellings, in an attempt to reduce the number of necessary sensors to instrument a house with an Intelligent BMS. As an ideal study case, and drawing from previous research, the experiments were realized on a dataset gathered in a house equipped with over 100 sensors collecting data during a year in a 15 minute timestamp with simulated occupancy patterns. The determination of the most relevant inputs was performed by means of a Least-Squares Support Vector Machine model and Automatic Relevance Determination.
The results showed that generally, interesting variables can be predicted with a reduced number of inputs, -in most cases weather and temporal. This implies that a heavy instrumentation is not necessary to implement an intelligent BMS. The thesis also presents alternative ML models for specific variables, and proposes several practical applications prototyped in different pieces of software: A BMS able to evaluate behavioural patterns and program the activation of several devices according to expected usage (e.g. water heater), the estimation of energy generation in the next hours by reading online weather forecasts to shift energy-demanding tasks to surplus times, and a simulation of an intelligent thermostat. The results show that a model based only on data and virtual human input can effectively bypass the need for physics-based models for management and optimization of residential unit’s control policies. Simpler and more affordable sensor installations are possible in new and already existing spaces to incorporate such a system. The presented models not only allow for energy savings and adaptiveness, but also fit in the SmartGrid framework, presenting in turn a potential for collective implementation.
local weather station (on house) Correction
weather (online feed) variable estimation
time Historical data - Model build -
Weather Forecast - Simulation -
t
Fig.: Estimation principle with weather and temporal inputs
17
10-16/12 Estimation: 144698.47Wh, Real: 167271.70Wh (86.51%)
4000
80 HP Estimation
HP Actual
Polyfit
Ext. T
70
60
2000
50
Ext. T (ºF)
Heat Pump Energy (Wh)
3000
40 1000 30
0
0
24
48
72
96
120
144
20 168
120
144
168
Interior Temperature Evolution
80
(ºF)
75
70
65
0
24
48
72
96
Fig.: Comparison of real data (dashed, black) vs. learning model’s estimation (blue)
5-11/2GA Estimation: 13610.70Wh, Real: 24442.60Wh (38.64%)
4000
GA Estimation
80 HP Actual
HP Static Estimation for 72ºF
Ext. T
70
60
2000
50
40 1000 30
0
0
6
12
20 24
18
Interior Temperature Evolution
80 70.00
70.00
70.00
70.00
70.00
70.00
70.00
70.00
70.00
70.00
71.21
71.58
70.24
70.39
71.53
71.22
71.51
70.49
70.41
70.20
71.09
70.75
72.49
72.91
(ºF)
75
70
65
0
6
12
Fig.: HVAC Activation optimized by a Genetic Algorithm. Comparison.
2016 / fabio galicia
18
24
Ext. T (ºF)
Heat Pump Energy (Wh)
3000
Intelligent Thermostats: Behaviour Adaptiveness and optimization The intelligent thermostat software combines two learning models (heat transfer & energy consumption) to estimate energetic needs given a goal temperature and heat loss if off. Provided an online weather feed, it can read for the next hours and actuate the heating accordingly.
Heat Transfer
Linear Regression Model
Temperature
Dynamic thresholds (e.g. depending on detected behavioural patterns) and prediction depth (nr. of steps to look in advance, so to anticipate potential solar gains of heat losses) allow for greater flexibility. A Genetic algorithm is able to optimize the configuration for the next hours to yield maximum savings.
Energy
Energy Needs Polynomial Regression Model
Fig.: Intelligent Thermostat GUI: 3 Days view
19
A Least Squares Support Vector Machine ς2
ƒ(x) CVRMSE BME MAPE MASE
LS-SVMlab
Load Database
Select Inputs
Select Output
Shuffle Entries
Training Set & Test Set
Tune parameters Estimate Function
Simulate with ƒ(x) & Plot over true data
Calculate Error
Export Files
Fig.: LS-SVM Workflow
LSSVM-Lab is a Matlab toolbox that allows the user to build a LSSVM model on a set of data, providing a wide number of options to perform classification, regression and automatic relevance determination. It was used in for several tasks, including the determination of
the most relevant inputs for several variables. A piece of software was developed to allow the user to intuitively visualize personalized configurations of inputs and outputs, and to be able to get estimations based on the found model with custom variables.
1
2
4
3
5
6
7
Fig.: LS-SVM GUI
2016 / fabio galicia
Implications & Contribution One of the major potential advantages of this study is the ability to inform not only future developments, but also already existing units. The proposed systems do not require a heavy or highly specialised equipment, but a rather simple and accessible one, and the policies can be set up offline and fed to the system externally. The most relevant and practical implications this thesis yields can be summarized as follows:
model could not only be incorporated in new developments equipped with BMS, but also be fed to already installed programmable thermostats. This would imply a boost in adaptiveness and efficiency in existing units without needing to entirely replace current installations. ◊ Despite relying on further sensors to monitor usage, the designed Sleeping systems and Deferrable tasks routines offer a way to override fixed schedules and work responsively, being their software-architecture potentially scalable to other tasks like irrigation, and opening the door to further energymanagement policies (collective installations, SmartGrid, etc.).
◊ The necessary instrumentation of residential units to incorporate Intelligent BMSs can be significantly reduced, making future implementations of this kind of systems simpler and more affordable. ◊ The suggested model of the HVAC system allows for an efficient programming which does not only work in a action-reaction fashion or fixed schedule, but that is capable to take into account user’s real needs and environmental conditions, look ahead in time and optimize its working cycle for the next 12-24 hours, yielding substantial energy savings. Such a
◊ The integration of all the proposed models in a single software piece is feasible and in conjunction with real human input and occupancy data, could result in intelligent and adaptive BMS, presented in this dissertation as different standalone Graphical User Interfaces.
Custom intervals with standard deviation for 5ºF subdomains Dynamic Temperature References for Polynomial Fit
8000
Data Upper bound 2 Std Lower Bound 1 Std Fit 10 Degree Polynomial Fit upper Bound 3 Degree Polynomial Fit lower Bound
7000
6000
HP Energy (Wh)
5000
72.6
72.7
72.3
70.9
71.3
70.4
70.5
70.4
70.3
70.5
70.9
71.4
72.7
73.6
74.3
74.7
74.9
74.9
75.0
75.1
4000
3000
2000
1000
0 -10
0
10
20
30
40
50
60
70
80
90
100
External Temp ºF
Fig.: Polynomial Regression and custom mapping for the energy needs’ model
21
2016 / fabio galicia
A Solar simulation without raytracing processing
morphogenetic programming
Fast solar simulation for parametric equations. The program allows for a fast solar simulation for parametric equations without raytracing. It uses the normals and evaluates the changes in concavity.
23
Fig.: Early stage: first sounds left in London. Below: User interface: Welcome and interaction screens.
2016 / fabio galicia
eave / an experiment on local networking C# / java / Processing / Android / unity
big data advanced urbanism interaction mobile app
“Can cities hack technology?” -S.
Sassen
Presented & published in ‘Responsive Cities: Urbanism in the Experience Age’ International Symposium. Barcelona, September 2016. w. D. Szemerey • Reattachment of the physical realm to the digital one. Foster awareness and regain meaning of loci via their inherent attached experiences and interactions. • Challenge the trending way of generating, sharing and revisiting data: not anywhere, not anytime, not anyhow.
This project approaches the issue of ubiquitous computation as a phenomenon that informs the perception of the built environment and interpersonal relationships. It challenges mainstream social media by proposing a novel way to foster social exchange: Eave is an android app that allows the user to share opinions on crowd-sourced topics with her local community.
Sound was found to be the most adequate mean to fit our needs for several reasons: • Availability: It is present and well implemented in mobile devices. • Non-invasive: We rejected a visuallydemanding interface in favor of a more complete experience of the city. • Personal & Anonym: Speech holds a strong semantic component. Anonym yet intimate.
Eave is a box of anonym reflections on crowdsourced topics. Eave stores audio-messages in the place where they were created, which will be audible by other users if they are close enough. Short sounds are left by the users at certain locations, and they can be geo-activated by other users if they are close enough. Eave was raised as a critical instrument to reflect on the way we generate and interact with this data, and how it influences the way we interact with each other and with their ‘virtual dimension’, i.e. their avatars in social media. Eave draws from three main concepts:
In order to find a way to draw the limits of eave and define its interaction methods, we reflected on mainstream networking and content-based opinion platforms: • Unfiltered: The content that the user can access isn’t chosen by any person, organization or algorithm. • Anonym: None of these platforms provide an option for anonymity. Users are required to provide personal information as well as email address and -in some cases- mobile phone numbers. • Constrained: Most existing platforms store and provide information indefinitely both in space and in time. • Limited Publicity: Messages are constrained spatially and temporarily. Half-publicity allows for a more localized, neighbourhood-driven communication. ...
• Loss of meaning of space, as the digital space seems to demote the physical space when it comes to establishing relationships among citizens. • Pervasiveness of ubiquitous computation and its implications on the quality of the data generated by social media abuse. • Reconquest of the public space for their inhabitants, drawing from the ongoing privatization of public space in the UK, a phenomenon that silently articulates a switch over the general understanding of public space into publicly accessible space. The main goals of the resulting product define a theoretical framework that guided the process from beginning to end and that could be resumed as follows:
——— fgalicia.com/eave
25
2016 / fabio galicia
Discussion
On Networking (vs.?) Anonymity:
perfectly logical if one understands networking as a direct connection, again as an id-based and arguably reward-based system when it comes to social media. Eave defines networking as a dynamic connection, in which the interest of the user lies de facto on the anonymity of the mean. It is an ever-changing network fed by uninterested opinions of its users. A personal connection is not desired, but rather an overall view of the local community’s concerns and views. Engagement in conversation can be easily achieved, but shall not be pinpointed as such to the users. Conversations are likely to occur between different actors, even if they are not aware of them. Data are open-ended, nonlinear, public, accessible and revisitable. At this point, time plays a main role, allowing for very different configurations in the way actors relate, whether human (someone responding to a message she just listened) or non-human (the algorithm generating spontaneous conversations audible to the user in a non-linear fashion).
The theoretical starting point of this project was to provide dwellers with a tool to freely express their concerns about different matters, and to decide which topics should be subject of discussion by their local community. Our hypothesis is that a non-anonym way of generating content does not allow in the majority of cases for a free and unbiased speech. As commented before, social media provides a platform normally driven by figures, in which popularity and readers (or ‘followers’) are the standard measure of success or acceptation (this concept is underpinned by the model of unlimited publicity followed by most of this networks). On the one hand, we propose that by having a fix (and generally non-changing) number and most importantly profile of readers, all of them perfectly identifiable, the user can modify or avoid to show her opinion on delicate topics, so as not to disappoint her community. On the other hand, freedom of expression in the social media is nowadays a subject of great controversy in the western culture. Some countries like Spain are undertaking restrictive legislation against free speech in the name of security and protective surveillance, enforcing the suppression of certain trends of thought by means of prosecution and even imprisonment. This deprivation of freedom of expression and assembly leads to the alienation of ‘non-mainstream’ mindsets, a fact that should be a matter of main concern in the self-called ‘free democracies’. Eave is intended to provide a channel for free, anonym but nevertheless personal self-expression. Although becoming a tool for political activism is not the goal of this project, its potential to challenge rules that directly attempt against basic rights takes the social implications of this project one step further. This stance allows however a number of issues to arise, the central one potentially conflicting one of the main ideas of the project: local networking. And this is
Conclusion: Eave was born as a tool for a novel way of social exchange. In her rather young life, it has proven to involve a number of aspects ranging from the ways in which the built environment is understood in conjunction with the digital world / social media to political activism. By involving a great number of testers, eave has been able to gather feedback that questions some of her key conceptual features. It has to be acknowledged that the fact that this software reverts most of the key functioning schemes and conceptual features of established social media has its implications on the way users first understand and experience the application. Further research on finding the right balance between providing an alternative path to local social exchange while maintaining an interesting degree of interaction is the future aim of this project.
27
2016 / fabio galicia
Custom Tessellation & control: nurbs surfaces processing
morphogenetic programming
The algorithm allows the user to customly generate a tessellation pattern that will populate the surface. There is a curvature analysis that controls the extrusion along the normals, and several available views. Control points are easily
tweakable by selecting from the right-bottom grid and dragging the mouse. A minimal interface is intended. ——— fgalicia.com/nurbssrf
29
Experiments with linear mapping and diffrent window sizes
2016 / fabio galicia
self organizing feature maps java / processing
machine learning
data analysis
A Self Organizing Feature Map (SOM) or Kohonen Net is a kind of Artificial Neural Network to perform unsupervised learning. They are normally used for dimensionality reduction, classification and data visualization. In a a SOM, data are not labelled, but instead they naturally form clusters in a lower dimensional space (normally 2D or 3D) A very interesting fact about this maps is that they preserve the topological properties of the input space. This is especially attractive for architecture and design,
since although every time the map is different, the topology is maintained. These maps have been widely used for feature extraction -the so called ‘Architectural Archteypes’-, analyze spatial qualities together with Space Syntax techniques, and classify high dimensional data. This example was written in Java and organizes data in 3 dimensions (rgb) into a 2d and 1D (linearly) maps. Provided higher dimensional data, the algorithm would be able to extract patterns in a similar way.
1 iteration
3 iterations
15 iterations
50 iterations
31
2016 / fabio galicia
sound & emergent behaviour kinect / processing
experience
data analysis
A number of research projects have considered static environments in order to study the influence of sound in human navigation. They have proved to have a direct effect in the way the participants find paths in space. This project aims to expand this research field by analyzing dynamic sound environments and their effects in the way participants explore and perceive the space. By ‘auralizing’ E. Hall’s personal bubbles, behavioral patterns are examined. Participants are aware of spatial properties such as distance, direction, orientation, proximity, linkage and association (Golledge). Data was collected (sound and position) for every participant, being later analyzed and visualized using Processing. Responsive Quadrafonic sound was achieved with a depth camera (Kinect), 2 external soundcards and 4 speakers. Participants were tracked and data was gathered. Data analysis is crucial to understand the results of the experiment. In these visualizations, each color represents one participant. Different variables like virtual boundaries’ tresspasing, hands movement or collisions helped to identify several patterns in the way participants navigated the space with and without sound. A soundreactive visualization attemps to show how their movement interacted with the sound source, modifying the balance, sources and tempo. Participants were masked, so sound was their only way to navigate the space. ——— fgalicia.com/soundinstallation
33
2016 / fabio galicia
particle systems java / processing
morphogenetic programming
Form-finding: Dynamic Relaxation Particle system algorithm to simulate gravity. The configuration of the nodes can be easily changed by drag-and-drop. Nodes can be locked by clicking, and height can be also changed using a slider. A color-coded visualization of the forces is available.
35
2016 / fabio galicia
l-systems: recursion java / processing
morphogenetic programming
‘A simple recursive tree using a proto-L-System’
- A. Turner
the parameters of the tree-like body: Effects of the branching angle and the branch length on the shape of the tree-like body. Journal of Theoretical Biology, 31:331–338, 1971. More information can be found in: Prusinkiewicz, P. & Lindenmayer, A. - The algorithmic beauty of plants. Springer Verlag 2004. Chapters 1 and 2.
The algorithm proposes the gradual and recursive growth of a structure (in this case, a tree). Recursion can be useful in a number of fields, ranging from Facility Management to Space Syntax and Urban Planning. In this example, the growing rules follow Honda’s interpretation of L-Systems for tree modeling: H. Honda: Description of the form of trees by
37
2016 / fabio galicia
image processing & comparison software java / processing
data analysis
This program is intended to compare a stack of images to extract the most similar to a given one. It includes several methods that can be activated simultaneously by the user. The visualization is designed so the results from different techniques can be quickly evaluated visually. The different methods are targeted to measure different parameters, and each method has a color Id: the program renders closer results stronger and fades bad matchings. This way, it is possible to visually compare the winners of all methods or combine them as desired. A visualization of highlights and shadows is also provided. Brightness: Manhattan Distance • Manhattan distance was measured with previously extracted brightness values. This method is more precise evaluating composition, but disregards hue changes.
Preprocessing • The preprocessing was approached with bitwise procedures. This proved to be less computationally demanding. Resizing & Color Averaging • A cropped copy was reduced: A sampling distance was defined and the color was averaged for each ‘sampling region’. The method does not evaluate adjacent pixels but complete areas, so no edge or wraparound problems were encountered. This bitwise method proved to be 4 times faster than one based on the built-in color extraction functions from Processing. Averaged images rendered smoother results than with an averaging method based on adjacent pixels, with less ‘odd’ pixels.
Color: Euclidean Distance • Builds a 3D-vector array from previously extracted RGB components for each pixel. Since this method relies on color and composition, it is slightly more accurate than brightnessbased Manhattan distance and offers a good comparison in terms of composition of color in the canvas. Brightest Pixel method • This method is the result of weighing several factors: Percentage of highlights, RGB Euclidean distance from the brightest pixels and location of the brightest pixel in the canvas (idea of shooting time/weather).
Histogram Method • Having a different number of pixels, normalized values are compared. This method proved to be very efficient in terms of speed, experiencing no significant differences when applied 20px and 40px reductions (~1500millis.) and performing fast at 160px (~2200millis.). This method can be applied to images of different sizes and proportions, and is reliable in terms of color comparison. However, similar images with moderate changes in hue can be rendered as different. Because the values are normalized, there is no notion of composition.
Highlights & Shadows • Amount and differences with the target image can be analyzed. This method is quantitative and should only be used to supplement the others or when there is no clear winner. Conclusion: Some images perform well in all tests, despite not winning in any. This is useful to determine a consistent matching.
39
fabio galicia. 79 warham road, n41as london fabioggs89@gmail.com 00447492016515 | 0034653569606.
fgalicia.com.
thanks.