Thoughts on Word2Vec AI for information retrieval applications

Study 7 min.
It’s been a bit more than one year that I have put Chantal AI online, with now 3 major iterations of design. It’s time to compile what I learned from that. Introduction : information retrieval So you have documents and pages containing information and knowledge (HTML, plain text and PDF) useful to your business. That’s better than not having documents. Problem is, as the number of documents increases, information gets more and more buried… The best place to hide a tree is in a forest.
Lire la suite →

Designing an AI search engine from scratch in the 2020's

Study 19 min.
This is a follow-up on the previous Websites suck, which covered the preliminary information retrieval step. Introduction On the open-source planet, in the 2020’s, information is scattered over many websites : scientific journals for theory, specification sheets for standards and protocols, software documentation for “how to use tool”, blogs and Youtube tutorials for “how to achieve goal”, forums and support for “how to solve problems”, Github for “what is known to break” and “why design (or lack thereof) was done this way”, sourcecode for implementation details, and books for everything considered worthy of paiement for access.
Lire la suite →

Stochastic photographic grain synthesis from crystallographic structure simulation

Study 18 min.
The silver halide film grain has an unique look that introduces some texture in smooth image areas, where digital imagery may look synthetic and too clean. Emulating this effect in digital photography cannot be done by simply adding gaussian or poissonian noise to the image, since silver halide grain has varying shapes and sizes. There are two techniques to do it : overlaying an image of natural grain sampled on scanned negatives, on top of the digital image (typically using soft-light or hard-light blend modes ), synthesizing grain from an a-priori model and the image content.
Lire la suite →

Who are the darktable users in 2020 ?

Study 22 min.
The core basics of design are to know for whom you design, that is who are the users of your solution, what they expect and what they need. It is also necessary to assess if the actual user of your product is the one you designed it for in the first place, that is, who is missing from your user base, to avoid the survivor bias . This is unfortunately overlooked in FLOSS and it is often not well regarded to collect user data.
Lire la suite →

Interpolating (hue) angles

Study 9 min.
In image processing, retouchers may want to apply a saturation boost on specific hues only. Typically, uniform saturation corrections follow a basic linear transfer function $sat_{out} = gain \cdot sat_{in}$, where $gain$ is a real positive constant. To target specific hues, we simply rewrite $sat_{out}(hue) = gain(hue) \cdot sat_{in}$ where $gain$ is then a function. The most common way to declare $gain$ is to provide users with 8 discrete saturation nodes for 8 evenly-spaced hues, and interpolate smoothly between nodes.
Lire la suite →