<?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 Charles Ollion on Medium]]></title>
        <description><![CDATA[Stories by Charles Ollion on Medium]]></description>
        <link>https://medium.com/@CharlesOllion?source=rss-736a7799caa3------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*5YuX6r2j4l6ncNIp3RKUTg.png</url>
            <title>Stories by Charles Ollion on Medium</title>
            <link>https://medium.com/@CharlesOllion?source=rss-736a7799caa3------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 09:39:50 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@CharlesOllion/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[What's easy/hard in AI & Computer Vision these days?]]></title>
            <link>https://medium.com/@CharlesOllion/whats-easy-hard-in-ai-computer-vision-these-days-e7679b9f7db7?source=rss-736a7799caa3------2</link>
            <guid isPermaLink="false">https://medium.com/p/e7679b9f7db7</guid>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[computer-vision]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Charles Ollion]]></dc:creator>
            <pubDate>Thu, 02 Aug 2018 09:08:11 GMT</pubDate>
            <atom:updated>2018-08-02T09:08:11.855Z</atom:updated>
            <content:encoded><![CDATA[<h3>What’s easy/hard in AI &amp; Computer Vision these days?</h3><p>When talking about AI (particularly about Computer Vision), I spend half of my time saying how much the field has progressed in the last few years, and the other half <em>debunking</em> and <em>diminishing</em> what’s possible today.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/267/1*wUZiI2Mg2cncuMWWXIiBgQ.png" /><figcaption>Xkcd nailed it a few years ago. It changed. A bit.</figcaption></figure><p>Recently, I came accross <a href="https://petewarden.com/2018/07/06/what-image-classifiers-can-do-about-unknown-objects/">an article by Pete Warden</a> showing a <a href="https://plantvillage.psu.edu/">plant disease classifier</a>. It seems very accurate at detecting different types of diseases the human eye would have trouble to; however it has spectacular failures when used on random pictures (non plant), that a human would never make.</p><p>It seems that capabilities of Computer Vision systems are usually very different from our human intelligence, and this is what I decided to illustrate with a little quiz.</p><blockquote>Here are 5 different Computer Vision problems, try and guess which ones are easily solvable. Can you guess what are current AI systems good at today?</blockquote><h4>Detect Diabetic Retinopathy</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/632/0*P1cTJHTa7IWEfzXQ.png" /><figcaption>Diabetic Retinopathy, a diabetes complication that affects eyes. Source: <a href="https://ai.googleblog.com/2016/11/deep-learning-for-detection-of-diabetic.html">https://ai.googleblog.com/2016/11/deep-learning-for-detection-of-diabetic.html</a></figcaption></figure><p><em>Input</em>: Well-constrained picture of the retina<br><em>Output</em>: 5 classes (healthy, and different stages / forms of the disease)</p><h4>Webcam gesture recognition</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*FBANbKtnhAWPPM6pei913A.gif" /><figcaption>Jester Webcam gesture recognition Source: TwentyBN <a href="https://medium.com/twentybn/building-a-gesture-recognition-system-using-deep-learning-video-d24f13053a1">https://medium.com/twentybn/building-a-gesture-recognition-system-using-deep-learning-video-d24f13053a1</a></figcaption></figure><p><em>Input</em>: Short video sequence taken from a Webcam<br><em>Output</em>: most probable action among 25 classes</p><p><em>Note: since then TwentyBN has released much richer datasets</em></p><h4>Handbag detection on Instagram</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/458/1*LpG45w5LTijHtqFVEgqXAg.jpeg" /></figure><p><em>Input</em>: Picture from Instagram<br><em>Output</em>: Bounding box around the handbag(s)</p><h4>Pedestrian Detection</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*iM9baO7ZlEo87RVmBHDWmg.jpeg" /><figcaption>Pedestrian Detection. Source: Wikipedia</figcaption></figure><p><em>Input</em>: Fixed Camera taking pictures<br><em>Output</em>: Bounding boxes around pedestrians</p><h4>Robotic Object Grasping</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/793/1*9Q81jA1HGHpD4HtzNxfpQw.png" /><figcaption>Left: objects to grasp. The robot has a fixed camera, and has to correctly learn how to grasp objects. Source: <a href="https://ai.googleblog.com/2017/10/closing-simulation-to-reality-gap-for.html">https://ai.googleblog.com/2017/10/closing-simulation-to-reality-gap-for.html</a></figcaption></figure><p><em>Input</em>: Two images (see above) from fixed camera<br><em>Output</em>: Robot Control Policy</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSdC_yRSuQwL0zGlwPJUGxtpUJAHtyyq6QUJ0A8A4IslMv86MQ%2Fviewform%3Fembedded%3Dtrue&amp;url=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLSdC_yRSuQwL0zGlwPJUGxtpUJAHtyyq6QUJ0A8A4IslMv86MQ%2Fviewform%3Fusp%3Dsf_link&amp;image=https%3A%2F%2Flh4.googleusercontent.com%2Ff1VrhIX1Mif0urmARDBQZDNWhmz5fps-ZwxPLuwApSnewgdgGWI8RB_tdILfAekcRiQ%3Dw1200-h630-p&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=google" width="760" height="500" frameborder="0" scrolling="no"><a href="https://medium.com/media/6559707e5988407cce7e13adfc6e654e/href">https://medium.com/media/6559707e5988407cce7e13adfc6e654e/href</a></iframe><h3>Quiz solutions</h3><p><em>Disclaimer: If you disagree with the answer I provide to this question, I’m happy to discuss as there is still plenty to learn in that field and I don’t think I have all the answers as of now!</em></p><p><strong>Diabetic Retinopathy</strong>: Classification should be fairly<strong> Easy </strong>as the problem is well constrained in terms of input and output (Google claim really good performance in their blogpost). Difficulties arise when putting such a system into production, UX &amp; the way you handle the interaction with the doctor is key, as there could be huge imbalance between the different classes.</p><p><strong>Webcam Gesture Recognition</strong>: The problem is rather well defined, but the variability makes it quite hard: webcam videos have people with varying distance, gesture duration, etc… Furthermore, natural difficulties arise from the analysis of video which bring more engineering problems for training. I’d say this problem is <strong>Quite Hard </strong>but solvable.</p><p><strong>Handbag detection on Instagram</strong>: The problem seems easy and solved, but the input domain is open/unconstrained (instagram) and the class definition is wide (handbag could mean practically anything, there are no clear visual patterns associated with handbags). This make this problem unexpectedly <strong>Very Hard</strong>, see by yourself…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/976/1*MJzgpCIiDKMEccps_ucoPg.png" /><figcaption>Images which come up as very confident predictions after a successful first training of the model for handbag detection. Creepy! Source: Heuritech</figcaption></figure><p>If you try to fit into the model’s shoes, this is absolutely legitimate and expected: Our training data obviously does not include “axe” pictures as negative handbag images; and the axe’s head fits quite well with the representation of a handbag that the model must have learnt. It is brownish, has a coherent handbag shape and size, and worn by the hand.</p><p>Are we doomed? No, it’s possible to solve this by active learning, which means relabeling the model’s incorrect predictions and feeding these examples back into training. But it’s a hell of a challenge to make current techniques work perfectly in open domains such as instagram.</p><p>To us humans, diabetes sounds really difficult while the axe vs handbag seems obvious. That’s mainly because the axe thing is a common knowledge about the world we all share, and that is beyond the data presented to the system.</p><p><em>Disclaimer: that’s part of what I do at </em><a href="http://www.heuritech.com/"><em>Heuritech</em></a><em>!</em></p><p><strong>Pedestrian Detection from Camera</strong>: The problem is rather <strong>Easy</strong>: The input domain is quite constrained (fixed camera), and the class (pedestrian) is quite standard. There will be problems related to occlusions, but globally the problem is easilly solvable (you could even do it without Deep Learning). However, modify slightly the problem scope and it can become much harder: if the Camera is moving (in a robot, in a car…) ; or has several points of view, angles, scale — the problem becomes more and more open and difficult.</p><p><strong>Robotic Object Grasping:</strong> This problem is <strong>Very Hard</strong>. It goes beyond a standard classification or regression problem as the output is a robotic policy, usually trained using reinforcement learning, which is much <a href="https://www.alexirpan.com/2018/02/14/rl-hard.html">less mature than supervised learning</a>. Moreover, objects vary in size, shape, and the way you have to grasp them may require semantic understanding. So even though this problem is solved by a 2-year old child in a much less restrictive setting (the camera here is fixed and the background is always the same), it’s still a long way before we solve this problem!</p><h3>Expectations in Computer Vision &amp; AI</h3><blockquote>The notion of “difficulty” is very different for a Computer Vision system or us humans. This is one of the main points which leads to wrong expectations in the field of AI.</blockquote><p>Engineers and researchers have to be realistic and educational about the performance of systems in open domains.</p><p>We showed that there are problems in understanding the progress of AI systems today. Take <strong>Autonomous Driving</strong> for instance: there is a vast difference between being able to drive in well constrained definitions (i.e. motorways) versus driving in open domain, under any condition (i.e. within cities, small roads, …). Most of the industry today evaluate autonomous driving progress based of the number of miles driven without alerting the driver. This creates an incentive on putting the cars in easy conditions, while we should instead have metrics which focus on broadening the scope in which they can operate correctly. More generally,</p><blockquote>I think it’s time we stop saying generic non-sense such as “computer vision is solved”.</blockquote><p>Very narrow problems may be solved provided you have enough labeled data, well defined and constrained classes. But incorporating commonsense knowledge of the world to computer vision systems is still a complete challenge.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/706/1*DdPoANoCarYfvxDfZx0czg.png" /><figcaption>ClevR, a dataset for evaluation Visual Question Answering and Visual Reasoning</figcaption></figure><p>Plenty of researchers acknoledge this and several interesting research fields are booming these days, such as Visual Reasoning &amp; Grounding, Laws of Physics Discovery, Representation learning through unsupervised/self-supervised learning, or even reinforcement learning tasks starting from raw pixels (if interested, see references below).</p><p>Finally, this was about Computer Vision as this is where I have most experience, but I believe the same reasonning applies to any Machine Learning, especially Deep/Machine learning based NLP.</p><p><em>Charles Ollion is CoFounder &amp; Head of AI at </em><a href="http://www.heuritech.com/"><em>Heuritech</em></a><em>. Also teaches Deep Learning at Master Datascience (Ecole Polytechnique/Paris Saclay) and EPITA. Thanks to Hedi Ben Younes and Alexandre Ramé for helpful comments!</em></p><h3>Bonus: Evaluate the complexity of Computer Vision problem!</h3><p><em>Answer 6 questions and count your complexity points! Disclaimer: Points allowed are arbitrary and based on my experience, I simplified a lot. More accurate for simple CV tasks.</em></p><p><a href="https://fr.surveymonkey.com/r/9353B2S">Computer Vision Evaluation Survey</a></p><ul><li>Between 1 and 20 points: Doable! Includes <strong>Diabetic Retinopathy</strong> <strong>(18)</strong> and <strong>Pedestrian detection (14)</strong></li><li>20 and 30 points: Will require strong tinkering and good amount of work to put into production. Includes <strong>Webcam Gesture detection (29)</strong></li><li>30 and 45 : Will require a strong team including both engineers, research engineers, huge datasets and a lot of time. <strong>Includes Handbag detection on Instagram (42)</strong></li><li>45 to 60 : An open research problem and/or a real engineering challenge. For instance <strong>Robotic Grasping,</strong> <strong>Visual Reasoning or hard VQA problems could score &gt; 45</strong></li><li>More than 60 : Wait a few years before expecting to put a good system into production. Typically <strong>Fully autonomous driving would score &gt; 80</strong></li></ul><h3>References</h3><p><a href="http://johnson_clevr_a_diagnostic_cvpr_2017_paper/">CLEVR: A diagnostic dataset for compositional language and elementary visual reasoning</a><em> Johnson, Justin, et al. CVPR, 2017.</em></p><p><a href="http://openaccess.thecvf.com/content_cvpr_2017/papers/Lopez-Paz_Discovering_Causal_Signals_CVPR_2017_paper.pdf">Discovering causal signals in images</a> <em>Lopez-Paz, David, et al. CVPR 2017.</em></p><p><a href="http://papers.nips.cc/paper/6417-interaction-networks-for-learning-about-objects-relations-and-physics">Interaction networks for learning about objects, relations and physics</a>, <em>Peter Battaglia, et al. NIPS 2016.</em></p><p><a href="https://arxiv.org/abs/1803.11189">Iterative Visual Reasoning Beyond Convolutions</a>, <em>Xinlei Chen, et al. arxiv preprint 2018.</em></p><p><a href="https://arxiv.org/pdf/1603.09246.pdf">Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles</a>, <em>Mehdi Noroozi, Paolo Favaro ECCV 2016.</em></p><p><a href="https://arxiv.org/pdf/1803.10122.pdf">World Models</a>, <em>David Ha, Jürgen Schmidhuber</em> <em>2018.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e7679b9f7db7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why computer vision APIs won’t do the trick for verticalized applications.]]></title>
            <link>https://medium.com/serena-capital/why-computer-vision-apis-wont-do-the-trick-for-verticalized-applications-93abe59fb021?source=rss-736a7799caa3------2</link>
            <guid isPermaLink="false">https://medium.com/p/93abe59fb021</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[computer-vision]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[fashion]]></category>
            <dc:creator><![CDATA[Charles Ollion]]></dc:creator>
            <pubDate>Tue, 06 Mar 2018 17:03:03 GMT</pubDate>
            <atom:updated>2018-03-06T17:03:03.639Z</atom:updated>
            <content:encoded><![CDATA[<h3>Why computer vision APIs won’t do the trick for verticalized applications. Heuritech’s take in Fashion</h3><p>Beyond the AI hype, significant new possibilities in the world of computer vision have arisen in the last few years. However, deploying computer vision solutions still requires expert vision knowledge, business understanding, solid engineering and smart processes. I’ll expose the challenges of computer vision applied to a vertical such as fashion, and how we solved them at Heuritech.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*c01smV7D0UmOMpZdrGHxoA.png" /><figcaption>Artificial Intelligence for Fashion</figcaption></figure><h3>The Fashion World: social media is a game-changing</h3><p>The Fashion Industry has been undergoing a major transformation:</p><blockquote>A few years ago, fashion trends would come from the top of the pyramid, while now, millions of people can potentially influence a brand’s reputation.</blockquote><p>It has resulted in trends continuously popping up from everywhere, millions of new products being launched everyday and even more contents posted online… in the form of images.</p><p><strong>This has put an extra pressure on Fashion teams</strong>. Their eye &amp; intuition is their superpower but with millions of new insights everyday, we feel <strong>they need an extra help to spot only relevant waves &amp; catch them on time.</strong></p><p>That is where the need for solid and tailored technology comes in to make sense of all that content posted everyday in a relevant and actionable way. This is why we decided to fuel our energy into building a powerful Computer Vision technology that perfectly matches this precise need.</p><p>Could we have done it using today’s offers? Let’s dive into current offers.</p><h3><strong>Diving into the world of computer vision</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/680/1*vd1ujv76AGBdbM8tctGeCQ.gif" /><figcaption>Source: Mask-RCNN open srouceapplication on 4K video by Karol Majek</figcaption></figure><p>There are generally 3 ways to go to tackle any computer vision problem at a business scale:</p><blockquote>1. Use a generic API such as Google Cloud Vision, Amazon rekognition, Clarifai, etc.</blockquote><blockquote>2. Build your own system, starting from Open Source algorithms and your own dataset;</blockquote><blockquote>3. Use a domain-specific service trained specifically for your problem.</blockquote><p>It’s difficult today to realize the power and weaknesses of the 3 solutions — mainly because <strong>these solutions are overly advertised compared to what they actually do.</strong></p><p>Most importantly, no solution suits all problems, rather you should consider each solution with regards to the nature of your problem. We developed a very thorough methodology to understand precisely the nature of a problem, and find the most relevant solution — stay tuned <a href="https://medium.com/@heuritech">here</a> as we’ll release the full methodology soon.</p><p>Let’s apply it to our problem: the analysis of Fashion Images and videos.</p><h3><strong>Computer vision for Fashion</strong></h3><p>Here is the list of technical criteria to understand the inputs and outputs of our system, as well as the technical constraints.</p><h3><em>Qualifying inputs (images/videos) and outputs (elements we want to detect):</em></h3><p><strong>1. Class Granularity</strong>: In computer vision, we define a “Class” as an element or attribute to detect in an image. Here, we want to detect precise elements of Fashion: Identify each cloth, accessory, shape, attribute, color, pattern, style and even the exact product when it is identifiable.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aaLI2iGK5jt0gge4hmyA2g.png" /><figcaption>Typical tags needed for Heuritech Fashion application. Our system successfully produces these tags</figcaption></figure><p><strong>2. Image diversity:</strong> Images/Videos may come from any user, and in that way are not normalized. There are plenty of contexts, zooms &amp; resolutions, lighting conditions, etc. This makes the problem much, much more difficult than if it was on standardized pictures.</p><p><strong>3. Class (think object) variability</strong>: Many of the classes we want to detect, “handbag”, “floral texture”, etc. may take several forms: a handbag might be a tote bag or a backpack, which are very different visually.</p><p><strong>4. Class (think object) deformations:</strong> All the objects we are detecting may be seen under many different angles, deformations, occlusions (i.e. the handbag is worn and partially hidden).</p><p><strong>5. Class Evolvability:</strong> We have a very large set of classes, organised hierarchically, and constantly evolving, as we want to detect new products or new attributes.</p><h3><em>What are our constraints in tech terms</em></h3><p><strong>6. Precision / recall: </strong>The output of our product and attributes detection should always be relevant (we need a near perfect <a href="https://en.wikipedia.org/wiki/Precision_and_recall">precision</a>), but it is ok if a few items are missed (we need a good <a href="https://en.wikipedia.org/wiki/Precision_and_recall">recall</a>). To be able to track trends and to compare the performance of one product compared to another, we need to control precisely the recall (= have the same level of recall, for instance 90% for each product).</p><p>Keep in mind that this could be very different for another problem. In image moderation for instance it shouldn’t miss any transgressive image (near perfect recall), but it’s ok if we reject a bit too many images (good precision).</p><p><strong>7. Dataset availability and quality: </strong>There is no available good quality dataset corresponding to the different classes we want to detect. Unfortunately, this is almost always how it goes with Machine Learning.</p><p><strong>8. Scaling, speed and deployment:</strong></p><ul><li>We need to analyse 1M-10M images / videos a day.</li><li>We don’t need to be realtime (we can process images each day and have the results the day after).</li></ul><p>This analysis is necessary to have a much better assessment of our problem.</p><h3><strong>Is our problem solved by current offers?</strong></h3><p>As Images may come from any source, we absolutely need to use solutions which can handle large <strong>2.</strong> <strong>Image diversity</strong>. We may then turn to APIs, but we encounter the following problems:</p><ul><li>Not a good <strong>1.</strong> <strong>Class Granularity</strong> and <strong>5.</strong> <strong>Class evolvability</strong> — this makes these solutions irrelevant for fashion trends spotting: knowing there’s a “dress” and a “tree” in a picture doesn’t bring any value. The business value only when we get to domain-specific (here Fashion, including specific styles, brands, patterns…) tagging.</li><li>The <strong>6. precision and recall </strong>for coarse grained classes is good, but recall is lacking for finer grained classes. By the way, if you want to know more about the actual performance of these APIs, <a href="https://goberoi.com/comparing-the-top-five-computer-vision-apis-98e3e3d7c647">here is an excellent article about them</a>.</li><li>APIs operate at the full image level — we want to operate at the level of each clothes and qualify them precisely. If an API gives ‘denim’ ‘jacket’ and ‘pants’, we wouldn’t know if it’s the jacket or the jeans that have the ‘denim’ fabric.</li><li>Super expensive — when we get to large scale analysis of images, such as a few millions per day, it’s easy to climb up to a few 100K$ monthly bills.</li></ul><p>To illustrate these points, we’ve made the following tests using public APIs from Clarifai, Google, Microsoft and Amazon. We report only the most confident scores provided by these APIs, and exclude colors, as they only provide colors analysis at a global image scale, and not on each object.</p><h3><strong>Comparison of general purpose APIs and Heuritech’s solution</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8BTfhh2iB4j2GDmGfaM2Yw.png" /><figcaption><em>Note that the images were not cherry picked, we’d have similar results for most fashion images.</em></figcaption></figure><h3><strong>Building your own system</strong></h3><blockquote>As the public APIs do not match our needs, we might want to turn to open sources tools and quickly deploy a solution using them.</blockquote><p>Open-Source tools are blossoming, and we hear about them as they are well advertised by internet giants. <strong>It’s now possible to quickly build a nice looking demo with pretrained networks</strong>. If you have a competent team, it’s also becoming easier to train your own model specific to your problem. You’d need to create a high quality dataset, usually with <strong>~1000 images per class,</strong> and the output could be a nice looking demo tailored to your problem.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*W8mBlhCrCgLx63cj." /><figcaption>Facebook’s recently open-sourced framework Detecron [2]</figcaption></figure><p>However, this is <strong>strongly deceptive.</strong></p><blockquote>Once you’ve played with the open source tool provided by Facebook and built a nice demo, you only did 1% of the work required to actually have a system that works in production at scale.</blockquote><p>In addition to the engineering and research skills required to build such a system, major hindrances will come from <strong>5.</strong> <strong>Class evolvability,</strong> <strong>7. Dataset availability and quality </strong>and<strong> 8. Scaling, speed and deployment.</strong></p><p>At Heuritech, we went through this hassle, and built a solution from scratch, specialized in Fashion, which identifies each part of the image with very high accuracy, and characterizes precisely these objects.</p><h3><strong>Technology at Heuritech</strong></h3><p>Our technology relies on a whole pipeline of deep learning algorithms more advanced than tagging, known as object detection and segmentation. This is critical to deal with the <strong>2. Image diversity </strong>and<strong> 4. Class deformations.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*vYcTyE9g4K-k-ieG." /><figcaption>Modern Visual Understanding Pipeline: Beyond Classification <em>from [3]</em></figcaption></figure><p><strong>State-of-the-art algorithms</strong> — we developed our own set of algorithms (both training methods and neural network architectures) which achieve superior performance in pre-training, open domain, and hierarchically structured outputs. This mainly improves the point <strong>6. Precision / recall.</strong> We started to publish our methods in international conferences (ICCV 2017 [4, 5]), expect more to come!</p><p><strong>Domain-specific dataset</strong> — defining accurately the different classes to detect, such as the different fabric of clothes, textures, shapes, styles, and gathering data to train the models is a difficult task which requires both expert domain knowledge and computer vision knowledge. We built a whole process enabling experts to quickly reach agreement. This enabled us to achieve <strong>5.</strong> <strong>Class evolvability </strong>by<strong> </strong>growing our library of recognised attributes and products to 2000+, and adding more than 500 a month.</p><p><strong>Active learning and knowledge distillation </strong>— The selection of relevant images to send to manual labeling is critical for good training performances. Rather than having armies of people labeling thousand of random images, we automatically select the images in which the current model is the most uncertain, and will give the most information during the training. This is coupled with several methods to make use of other available training information (weak labeling [4], knowledge distillation [1]).</p><p><strong>Engineering and deploying</strong> — Our whole system is designed to scale: models are re-trained on a daily basis, new classes are added every week, and the whole process is versioned (training datasets, testing datasets, models, parameters, set of classes). The vision pipeline is deployed at scale, processing 2M+ images a day.</p><p>These are the main features enabling Heuritech to build a production ready visual analysis system.</p><blockquote>We are also conducting cutting edge applied research focused on detection of trends (clustering of similar visual styles), detecting style influence, integrating both textual and visual information for detection.</blockquote><p>If you’re interested in knowing more, please get in touch!</p><h3><strong>Takeaways</strong></h3><p>While generic APIs seem to be the future of AI for computer vision, today’s Computer vision API offer <strong>has limited use cases with strong value added</strong>. In fact, it’s probably going to remain that way, because<strong> specific problems call for tailored solutions,</strong> where the business value comes from the adequation between the computer vision system and the business needs.</p><p>Building your own solutions, even when relying on open source frameworks, takes a considerable amount of time, talents, and coordination between business and technical teams. Well, if you can afford 3 years of 15 engineers, 8 PhD in machine learning, this might be your best bet ;)</p><p>At Heuritech, we believe that only domain-specific solutions will bring a lot of value to businesses. In that light, <strong>we believe several strong tech teams will arise and tackle different domains, while it’s unlikely that generic APIs will become experts at all specific fields</strong>. Today, our domain is Fashion, and envision to build the best vision system for Fashion. Only then, we’ll apply all our technology and processes to other, related domains.</p><p>Some of the world leaders in Fashion already use Heuritech to predict trends and to measure the performance of their products in the market.</p><blockquote>Tomorrow, we will empower them to predict demand for their products, including, for the first time, what’s happening outside, beyond their own perspective.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*y7ga5DvNTx3rJadQJaBpLw.png" /></figure><p><strong>The Author</strong><em> Charles Ollion, Co-Founder and research director at </em><a href="https://www.heuritech.com/"><em>Heuritech</em></a><em>. Lecturer in Deep Learning ParisSaclay, Polytechnique and EPITA. Big thanks to Charlotte Fanneau for helpful insights. Please feel free to comment and notify me at </em><a href="/service/mailto:ollion@heuritech.com"><em>ollion@heuritech.com</em></a><em>. Follow </em><a href="https://medium.com/@heuritech"><em>Heuritech</em></a><em> here.</em></p><h3><strong>References</strong></h3><blockquote>[1] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. “Distilling the Knowledge in a Neural Network.” <em>stat</em> 1050 (2015): 9.</blockquote><blockquote>[2] He, Kaiming, et al. “Mask r-cnn.” International Conference on Computer Vision (ICCV), 2017. <a href="https://research.fb.com/facebook-open-sources-detectron/">https://research.fb.com/facebook-open-sources-detectron/</a></blockquote><blockquote>[3] Ollion Charles &amp; Grisel Olivier, open source deep learning lectures and code labs, 2017. <em>Polytechnique / ParisSaclay Datascience</em> <a href="https://m2dsupsdlclass.github.io/lectures-labs/">https://m2dsupsdlclass.github.io/lectures-labs/</a></blockquote><blockquote>[4] Corbiere, Charles, et al. “Leveraging Weakly Annotated Data for Fashion Image Retrieval and Label Prediction.” Workshop Fashion at International Conference on Computer Vision (ICCV), 2017<em>.</em></blockquote><blockquote>[5] Ben-younes, Hedi, et al. “Mutan: Multimodal tucker fusion for visual question answering.” The IEEE International Conference on Computer Vision (ICCV), 2017.</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=93abe59fb021" width="1" height="1" alt=""><hr><p><a href="https://medium.com/serena-capital/why-computer-vision-apis-wont-do-the-trick-for-verticalized-applications-93abe59fb021">Why computer vision APIs won’t do the trick for verticalized applications.</a> was originally published in <a href="https://medium.com/serena-capital">Serena</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>