<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>machine learning | Yifei Li</title><link>https://liyifei.org/tag/machine-learning/</link><atom:link href="https://liyifei.org/tag/machine-learning/index.xml" rel="self" type="application/rss+xml"/><description>machine learning</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>© 2026 Yifei Li | 君子不器</copyright><lastBuildDate>Wed, 01 Feb 2023 00:00:00 +0000</lastBuildDate><image><url>https://liyifei.org/media/icon_huce83f9d2cff91faab74beee6f515005c_132226_512x512_fill_lanczos_center_3.png</url><title>machine learning</title><link>https://liyifei.org/tag/machine-learning/</link></image><item><title>A Method for Automatically Animating Children’s Drawings of the Human Figure</title><link>https://liyifei.org/publication/animateddrawings/</link><pubDate>Wed, 01 Feb 2023 00:00:00 +0000</pubDate><guid>https://liyifei.org/publication/animateddrawings/</guid><description>&lt;h3 id="code-">Code 💻&lt;/h3>
&lt;p>Follow our Github repository &lt;a href="https://github.com/facebookresearch/AnimatedDrawings" target="_blank" rel="noopener">Animated Drawings&lt;/a> &lt;iframe src="https://ghbtns.com/github-btn.html?user=facebookresearch&amp;amp;repo=AnimatedDrawings&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0" scrolling="0" width="170" height="30" title="GitHub">&lt;/iframe>&lt;/p>
&lt;a href="https://github.com/facebookresearch/AnimatedDrawings" target="_blank" rel="noopener">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100">&lt;img src="https://gh-card.dev/repos/facebookresearch/AnimatedDrawings.svg?fullname=" alt="facebookresearch/AnimatedDrawings - GitHub" loading="lazy" data-zoomable="" class="medium-zoom-image">&lt;/div>
&lt;/div>&lt;/a>
&lt;h3 id="demo">Demo&lt;/h3>
&lt;p>Try animating your own drawing &lt;a href="https://sketch.metademolab.com/canvas" target="_blank" rel="noopener">Here&lt;/a>!&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="animation.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="technical-posts">Technical Posts&lt;/h3>
&lt;ul>
&lt;li>Dataset of 180,000 annotated drawings: &lt;a href="https://ai.facebook.com/blog/ai-dataset-animating-kids-drawings/" target="_blank" rel="noopener">A new, unique AI dataset for animating amateur drawings&lt;/a>&lt;/li>
&lt;li>Meta AI Technical post: &lt;a href="https://ai.facebook.com/blog/using-ai-to-bring-childrens-drawings-to-life/" target="_blank" rel="noopener">Using AI to bring children’s drawings to life&lt;/a>&lt;/li>
&lt;li>Meta AI interview: &lt;a href="https://tech.facebook.com/artificial-intelligence/2021/12/ai-childrens-drawings/" target="_blank" rel="noopener">Meet the researcher using AI to build children’s animations&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="dataset">Dataset&lt;/h3>
&lt;p>We have open sourced our &lt;a href="https://github.com/facebookresearch/AnimatedDrawings#amateur-drawings-dataset" target="_blank" rel="noopener">dataset&lt;/a> of ~180,000 annotated drawings, which you can explore for your own research.&lt;/p>
&lt;h3 id="website">Website&lt;/h3>
&lt;p>Go to &lt;a href="https://fairanimateddrawings.com/site/home" target="_blank" rel="noopener">here&lt;/a>&lt;/p>
&lt;h3 id="video">Video&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/WsMUKQLVsOI" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;div class="video-container">
&lt;iframe src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2FTechatMeta%2Fvideos%2F1228598794216404%2F&amp;show_text=0&amp;width=560" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;h3 id="citation">Citation&lt;/h3>
&lt;pre>&lt;code>@article{10.1145/3592788,
author = {Smith, Harrison Jesse and Zheng, Qingyuan and Li, Yifei and Jain, Somya and Hodgins, Jessica K.},
title = {A Method for Animating Children’s Drawings of the Human Figure},
year = {2023},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issn = {0730-0301},
url = {https://doi.org/10.1145/3592788},
doi = {10.1145/3592788},
abstract = {Children’s drawings have a wonderful inventiveness, creativity, and variety to them. We present a system that automatically animates children’s drawings of the human figure, is robust to the variance inherent in these depictions, and is simple and straightforward enough for anyone to use. We demonstrate the value and broad appeal of our approach by building and releasing the Animated Drawings Demo, a freely available public website that has been used by millions of people around the world. We present a set of experiments exploring the amount of training data needed for fine-tuning, as well as a perceptual study demonstrating the appeal of a novel twisted perspective retargeting technique. Finally, we introduce the Amateur Drawings Dataset, a first-of-its-kind annotated dataset, collected via the public demo, containing over 178,000 amateur drawings and corresponding user-accepted character bounding boxes, segmentation masks, and joint location annotations.},
note = {Just Accepted},
journal = {ACM Trans. Graph.},
month = {apr}
}
&lt;/code>&lt;/pre>
&lt;h3 id="acknowledgement">Acknowledgement&lt;/h3>
&lt;p>We would like to thank FAIR Interfaces, FAIR X, and other members of Meta who helped in the building and release of the demo&lt;/p>
&lt;h3 id="keywords">Keywords&lt;/h3>
&lt;p>graphics, animation, image manipulation, machine learning, drawings, children drawings, non-photorealistic rendering, line drawing, computer graphics, dataset, image dataset&lt;/p></description></item><item><title>DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact</title><link>https://liyifei.org/publication/diffcloth/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://liyifei.org/publication/diffcloth/</guid><description>&lt;!-- &lt;div class="alert alert-note">
&lt;div>
Click the &lt;em>Cite&lt;/em> button above to demo the feature to enable visitors to import publication metadata into their reference management software.
&lt;/div>
&lt;/div>
&lt;div class="alert alert-note">
&lt;div>
Create your slides in Markdown - click the &lt;em>Slides&lt;/em> button to check out the example.
&lt;/div>
&lt;/div>
-->
&lt;!-- Supplementary notes can be added here, including [code, math, and images](https://wowchemy.com/docs/writing-markdown-latex/). -->
&lt;h3 id="keywords">Keywords&lt;/h3>
&lt;p>diffcloth, projective dynamics, jacobi solver, cloth simulation, differentiable simulation, physics simulation, inverse problems&lt;/p>
&lt;h3 id="code-">Code 💻&lt;/h3>
&lt;p>Follow our Github repository &lt;a href="https://github.com/omegaiota/DiffCloth" target="_blank" rel="noopener">Diffcloth&lt;/a> &lt;iframe src="https://ghbtns.com/github-btn.html?user=omegaiota&amp;amp;repo=DiffCloth&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0" scrolling="0" width="170" height="30" title="GitHub">&lt;/iframe>&lt;/p>
&lt;a href="https://github.com/omegaiota/diffcloth" target="_blank" rel="noopener">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100">&lt;img src="https://gh-card.dev/repos/omegaiota/diffcloth.svg?fullname=" alt="omegaiota/diffcloth - GitHub" loading="lazy" data-zoomable="" class="medium-zoom-image">&lt;/div>
&lt;/div>&lt;/a>
&lt;h3 id="demos">Demos&lt;/h3>
&lt;p>For details refer to the paper Sec 6. Applications.&lt;/p>
&lt;h4 id="hat-trajectory-optimization">Hat: Trajectory Optimization&lt;/h4>
&lt;p>Optimize manipulator end effector trajectories to move the hat onto the head. &lt;br>
1737 Dof, h=1/100s, 400 Timesteps, 18 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="hat.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="sock-trajectory-optimization">Sock: Trajectory Optimization&lt;/h4>
&lt;p>Optimize manipulator end effector trajectories to put on the sock. &lt;br>
3165 Dof, h=1/160s, 400 Timesteps, 36 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="sock.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="hat-controller-closed-loop-control">Hat-Controller: Closed-Loop Control&lt;/h4>
&lt;p>We train a &lt;em>generalizable&lt;/em> closed-loop controller that can put on the hat from different initial positions. &lt;br>
1737 Dof, h=1/100s, 400 Timesteps, 117126 Design Parameters&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="hatcontroller.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="dress-inverse-design">Dress: Inverse Design&lt;/h4>
&lt;p>Optimize dress material parameters so that the spinning angle of the dress is 50 degrees. &lt;br>
10902 Dof, h=1/120s, 125 Timesteps, 2 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="dress.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="sphere-system-identification">Sphere: System Identification&lt;/h4>
&lt;p>Optimize the fricitonal coefficient between the sphere and the cloth to match target trajectory. &lt;br>
1875 Dof, h=1/180s, 350 Timesteps, 1 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="sphere.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="t-shirt-system-identification">T-shirt: System Identification&lt;/h4>
&lt;p>Optimize wind model and cloth material parameters to match target trajectory. &lt;br>
4278 Dof, h=1/90s, 250 Timesteps, 6 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="tshirt.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="demo">Demo&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/WWmWuhJcPYY" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;h3 id="presentation">Presentation&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/GH8jLG7UIYQ" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;h3 id="citation">Citation&lt;/h3>
&lt;pre>&lt;code>@article{li2022diffcloth,
author = {Li, Yifei and Du, Tao and Wu, Kui and Xu, Jie and Matusik, Wojciech},
title = {DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact},
year = {2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issn = {0730-0301},
url = {https://doi.org/10.1145/3527660},
doi = {10.1145/3527660},
abstract = {Cloth simulation has wide applications in computer animation, garment design, and robot-assisted dressing. This work presents a differentiable cloth simulator whose additional gradient information facilitates cloth-related applications. Our differentiable simulator extends a state-of-the-art cloth simulator based on Projective Dynamics (PD) and with dry frictional contact&amp;amp;nbsp;[Ly et&amp;amp;nbsp;al. 2020]},
note = {Just Accepted},
journal = {ACM Trans. Graph.},
month = {mar},
keywords = {cloth simulation, differentiable simulation, Projective Dynamics}
}
&lt;/code>&lt;/pre>
&lt;h3 id="acknowledgement">Acknowledgement&lt;/h3>
&lt;p>We thank Marco Renedo for his helpful discussions on the preconditioners, Junbang Liang for his help with
running the baseline comparison code, and the anonymous reviewers for their helpful comments. This work was
supported in part by the Defense Advanced Research Projects Agency (DARPA) under grant No. FA8750-20-C-0075.&lt;/p></description></item><item><title>JoinABLe: Learning Bottom-up Assembly of Parametric CAD Joints</title><link>https://liyifei.org/publication/joinable-learning-bottom-up-assembly-of-parametric-cad-joints/</link><pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate><guid>https://liyifei.org/publication/joinable-learning-bottom-up-assembly-of-parametric-cad-joints/</guid><description>&lt;h3 id="code-">Code 💻&lt;/h3>
&lt;p>Follow our Github repository &lt;a href="https://github.com/AutodeskAILab/JoinABLe" target="_blank" rel="noopener">JoinABLe&lt;/a> &lt;iframe src="https://ghbtns.com/github-btn.html?user=AutodeskAILab&amp;amp;repo=JoinABLe&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0" scrolling="0" width="170" height="30" title="GitHub">&lt;/iframe>&lt;/p>
&lt;a href="https://github.com/AutodeskAILab/JoinABLe" target="_blank" rel="noopener">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100">&lt;img src="https://gh-card.dev/repos/AutodeskAILab/JoinABLe.svg?fullname=" alt="AutodeskAILab/JoinABLe - GitHub" loading="lazy" data-zoomable="" class="medium-zoom-image">&lt;/div>
&lt;/div>&lt;/a>
&lt;h3 id="motivation">Motivation&lt;/h3>
&lt;p>Physical products are often complex assemblies combining a multitude of 3D parts modeled in computer-aided design (CAD) software. CAD designers build up these assemblies by aligning individual parts to one another using constraints called joints. JoinABLe is a learning-based method that assembles parts together to form joints. JoinABLe uses the weak supervision available in standard parametric CAD files without the help of object class labels or human guidance. Our results show that by making network predictions over a graph representation of solid models we can outperform multiple baseline methods with an accuracy (79.53%) that approaches human performance (80%).&lt;/p>
&lt;h3 id="task">Task&lt;/h3>
&lt;p>Given a pair of parts, we aim to create a parametric joint between them, such that the two parts are constrained relative to one another with the same joint axis and pose as defined by the ground truth.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="joinable_task.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="representation">Representation&lt;/h3>
&lt;p>JoinABLe takes as input a pair of parts in the B-Rep format. We represent each part as a graph derived from the B-Rep topology. Graph vertices are either B-Rep faces or edges and graph edges are defined by adjacency.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="joinable_representation.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="architecture">Architecture&lt;/h3>
&lt;p>Our overall architecture is shown in the figure below and consists of an encoder module that outputs per-vertex embeddings for each B-Rep face and edge in our graph representation of the input parts. Using these embeddings we can predict a joint axis and then search for joint pose parameters.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="joinable_architecture.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="citation">Citation&lt;/h3>
&lt;pre>&lt;code> @inproceedings{willis2022joinable,
title = {JoinABLe: Learning Bottom-up Assembly of Parametric CAD Joints},
author = {Willis, Karl DD and Jayaraman, Pradeep Kumar and Chu, Hang and Tian, Yunsheng and Li, Yifei and Grandi, Daniele and Sanghi, Aditya and Tran, Linh and Lambourne, Joseph G and Solar-Lezama, Armando and Matusik, Wojciech},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022}
}
&lt;/code>&lt;/pre></description></item></channel></rss>