<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Paul Morel on Medium]]></title>
        <description><![CDATA[Stories by Paul Morel on Medium]]></description>
        <link>https://medium.com/@paul.morel?source=rss-a161faa32e47------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*FlJzQjjmmELcGRug.jpg</url>
            <title>Stories by Paul Morel on Medium</title>
            <link>https://medium.com/@paul.morel?source=rss-a161faa32e47------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 10:04:14 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@paul.morel/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[A social media image is worth a thousand fashion labels…]]></title>
            <link>https://medium.com/heuritech/a-social-media-image-is-worth-a-thousand-fashion-labels-72423e472587?source=rss-a161faa32e47------2</link>
            <guid isPermaLink="false">https://medium.com/p/72423e472587</guid>
            <category><![CDATA[fashion]]></category>
            <category><![CDATA[computer-vision]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Paul Morel]]></dc:creator>
            <pubDate>Thu, 19 Dec 2024 15:49:34 GMT</pubDate>
            <atom:updated>2024-12-19T16:08:27.345Z</atom:updated>
            <content:encoded><![CDATA[<p>At Heuritech we analyze millions of images from social media to understand the adoption of fashion trends of people using visual recognition algorithms. From this, we provide time series, forecasts and many other metrics describing thousands of trends.</p><p>In a recent blogpost, <a href="https://medium.com/u/9335ea9d84a9">Étienne David</a> introduced how it is possible to forecast a fashion trend based on the time series representing its visibility on social media. <a href="https://medium.com/heuritech/is-fashion-predictable-9894d0861f1e">In case you missed it, you can read it here</a>.</p><p>I’m Paul Morel, Data Science Lead at Heuritech. In this article, I will present how we extract meaningful insights from social media images using Deep Learning. Together, we will illustrate the detection of a fashion trend using the example of <strong><em>metal studs jackets for men</em>.</strong></p><h4>Computer Vision at Heuritech</h4><p>Each fashion image on social media contain many layers of valuable insights. At Heuritech, our taxonomy enumerates more than 2,000 clothing attributes (including colors, shapes, types and other attributes) detected on more than 750 million images. By crossing these attributes, we designed a catalog of more than 85,000 fashion trends.</p><p>For our example trend, we need 3 distinct Deep Learning models:</p><ul><li>One detecting the fashion items, including the human and the jacket.</li><li>A second detecting the clothing attributes of the jacket, including the metal studs.</li><li>A third inferring the gender of the human.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/588/1*HzkkdwoWCpUIMwmM5D3NAw.png" /><figcaption>An example of jacket with metal studs. Image courtesy of <a href="https://fr.pinterest.com/pin/64950419616200627/">https://fr.pinterest.com/pin/64950419616200627/</a></figcaption></figure><p>To be able to do that, several considerations are key to understanding how we handle fashion attributes detection, which makes Heuritech unique.</p><h3>Exploring fashion with AI and social media images</h3><h4>Defining and Predicting Specific Classes</h4><p>Let’s focus on how we define and learn to predict a specific class for our clothing attributes detector, such as <em>metal studs. </em>This model performs <strong>image classification</strong>, identifying one or more classes among those it’s been trained to recognize. Most of Heuritech models are doing classification.</p><h4>Acquire the right data, for the right classes</h4><p>The first step is defining classes that make sense for a fashion expert. Keep in mind that these classes will be combined with other ones to define our fashion trends. These classes must be:</p><ul><li><strong>Granular</strong> enough to define and distinguish trends properly, avoiding confusion.</li><li><strong>Exhaustive</strong> to cover all types and attributes of a given clothing while ensuring classes are <strong>mutually exclusive</strong>, i.e. there is no overlap in the classes definition.</li><li>Visible enough to get <strong>decent volumes</strong> of high-quality samples for training.</li></ul><p>One key challenge is avoiding false detections, such as confusing metal studs with rhinestones or pearls. Below are examples of attributes that must not be confused with metal studs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SXOudOAf_rRWgq7uQWZlUw.png" /><figcaption>On the left, an example of rhinestones. On the right, pearls. Both attributes musn’t be confused with metal studs</figcaption></figure><p>One key challenge is avoiding false detections, such as confusing metal studs with rhinestones or pearls. Below are examples of attributes that must not be confused with metal studs.</p><p>We tackle this issue in two ways:</p><ol><li>Learning these classes if they’re useful for detecting other trends.</li><li>Training the model with negative samples of metal studs. However, defining all possible classes a model might “see” is often impractical (too expensive in tagging as there would be too many classes), leading us to rely on open set learning. This field allows models to predict confidently even when encountering unforeseen classes.</li></ol><p>Data quality is king and defining accurately the classes as well as finding the suitable training samples is a long, meticulous job performed by our Fashion experts. Shoutout to them!</p><h4>Building a hierarchy of classes</h4><p>Our classification models don’t simply only pick a single class from the list of trained classes. Many of our models involve both:</p><ul><li><strong>Classifiers</strong> parts detecting single features (e.g., type of top).</li><li><strong>Multilabel </strong>identifying multiple attributes (e.g., sleeve length, neckline shape).</li></ul><p>At the same time. Classes may also have hierarchical relationships. For instance, our clothing attributes model identifies specific denim types (e.g., bleach, tie-dye) while consolidating them under a broader “denim” class. If confidence is low, the model predicts only the broader class.</p><p>For metal studs, no complex hierarchy is required. However, if we wanted a broader trend like “jacket embellishments for men”, we could consolidate predictions of metal studs, pearls, rhinestones, etc., into a parent class.</p><h4>Adjust the training process to fit our need</h4><p>Now that we have the right data for the right model architecture, we train and evaluate the model. A classification model usually predicts a score for every single class between 0 and 1, representing its <em>confidence</em> in detecting the given class. During training, scores above 0.5 are considered detections, and the model is corrected if it makes errors. This threshold is later fine-tuned using a validation set to maximize performance metrics.</p><p>The threshold value impacts 2 important metrics, <strong>precision</strong> and <strong>recall</strong>:</p><ul><li>A higher threshold increases precision but lowers recall.</li><li>A lower threshold improves recall but risks more false positives, harming precision.</li></ul><p>Chosing this threshold value is a tradeoff that needs to be made for each class. The predictions of our models are aggregated to build trend lines, and we want them to be insightful while having enough volume so they can be statistically representative of the given trend.</p><p>At Heuritech, <strong>we value precision twice as much as recall</strong>. To balance this, we use the F-β score, an adjusted harmonic mean of precision and recall where β reflects the weight of recall. For instance, using β = 0.5 prioritizes precision twice as much as recall.</p><figure><img alt="The formula of F-bêta score" src="https://cdn-images-1.medium.com/max/338/1*Wv7Sij5pHvy3KKMQ_vnSFA.png" /><figcaption>The formula of the F-bêta score</figcaption></figure><p>This score is computed for a wide range of possible threshold values, so we can use it to select the threshold that maximizes it.</p><p>Below curve illustrates how precision, recall, F-β and detected volume of <em>metallic</em><strong> </strong><em>studs </em>on clothes evolve with threshold changes, across our valdation set. The optimal threshold maximizes the F-β score while maintaining adequate detected volume.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*ZAdQ5Hz257RDEmG2kZtz8Q.png" /><figcaption>Performance metrics measure for detecting metal studs depending on the threshold value</figcaption></figure><p>Vertical plain and dashed lines represent 2 distinct values of threshold, the one from the model during a previous training (dashed line) and the latest one (plain line). By looking at the intersection with the colored lines, we can find the associated values of the various metrics measured (precision, recall, etc.). Doing so, we see that it is useful to slightly increase the former threshold from ~0.7 to 0.75 to maximize the F-β score.</p><p>We can notice here that the new threshold is the one where the F-β metric is the highest, although we could have better precision by increasing the threshold value. Yet, this would harm too much the predicted volume of detected metallic studs so it is preferrable to keep a non extreme threshold value.</p><p>Provided that we are able to ensure the model has good performance (which is no simple thing, as usual with Deep Learning), we should be good to go to start detection of <em>metal studs</em>.</p><h3>Building a pipeline of model to track fashion trends</h3><p>While we’ve discussed training a single class within a classification model, fashion insights require multiple models working together. Unlike trendy large foundation models, we use a modular pipeline:</p><ul><li><strong>Image-wise models:</strong> Detect fashion objects (e.g., humans, tops, dresses) and classify context (e.g., outdoor vs. indoor, gym).</li><li><strong>Item-specific models:</strong> Analyze detected items for features like attributes, colors, and patterns. For instance, a top classifier detects sleeve length, neckline shape, and type. We also perform regression to spot the color of the clothes.</li><li><strong>Aggregation:</strong> Combine predictions to define trends, such as <em>red V-neck shirts for women</em>.</li></ul><p>By aggregating the images and predictions for a specific geography, we can track a given fashion trends worldwide. Our modular design allows independent updates to specific scopes, such as adding new patterns without retraining unrelated models. Below image showcases the behavior of our deep learning pipeline.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RDj2QDyCxqdrjcWmnq1Z9g.png" /></figure><h3>Conclusion</h3><p>Building deep learning models for fashion involves multiple steps and expertise. This article touched on:</p><ul><li>Training classification models.</li><li>Avoiding common pitfalls like false detections.</li><li>Using modular pipelines for modularity.</li></ul><p>For the sake of simplicity, we didn’t cover many problems that can show up in the detection of trends, even the most obvious ones: <em>how do we ensure the stability and improvement of a given model from one training to an other? How to control the impact of a model on the related trends? Etc.</em></p><p>If you are technical or simply curious about it, please let me know below if you are interested about a detailed article related to this below, by giving it a 👍 or letting me know in the comments below!</p><p>Also, we didn’t tackle the topic of analyzing hundreds of millions of images in reasonable amounts of time and costs, which is a major topic for our solution to work properly. Indeed, <strong>modularity</strong> is one thing, but our approach needs also to be <strong>scalable</strong>. This will be the topic of an upcoming article about <em>Computer Vision Model Serving using NVIDIA AI </em>Triton, stay tuned!</p><p>Last but not least, if you’re passionate about data science and looking for an exciting opportunity, we’re hiring! <a href="https://www.notion.so/heuritech/Data-Scientist-15125e96f2dc809fb503cc98d7ad1591?pvs=4">You can take a look at the job description here</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=72423e472587" width="1" height="1" alt=""><hr><p><a href="https://medium.com/heuritech/a-social-media-image-is-worth-a-thousand-fashion-labels-72423e472587">A social media image is worth a thousand fashion labels…</a> was originally published in <a href="https://medium.com/heuritech">Heuritech, a Luxurynsight Company</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>