社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习帮你做家务:外国小哥10分钟给袜子自动配对

CDA数据分析师 • 3 年前 • 185 次点击  

来源:外媒

编辑:keyu

本文转自:新智元

【导读】打工人下班之后还要为家务发愁?这不,为了摆脱每次都要给洗好的袜子配对的烦恼,一位国外小哥使用机器学习方法,创建了一个可以自动匹配袜子的项目,并且有着神奇的效果。全程操作丝滑,还不快来试试?


你有没有这样的经历?


袜子好不容易洗好了,乱成一团,想好好配对整理时,无论如此都找不到!!!


是不是很心累?


对于那些喜欢积攒袜子并且放在一起洗的人来说,配对袜子简直就是噩梦!



在这一点上,不分国籍,似乎全世界的人都可能有这样的烦恼——

这不,这位国外的小哥也深受困扰:



「我现在又要配对大量的洗过的袜子!图中这还只是其中的一半!上次我花了整整十分钟,来亲手整理这些袜子」



不过,为了改变这种「残酷的现状」,这位小哥随后「化悲愤为力量」,使用机器学习去实现袜子的自动搭配:

 

我决定做一件唯一合理的事,用机器学习来匹配袜子。我只给了自己10分钟的时间来完成项目,所以它不会比亲自动手匹配更昂贵。在这个视频中,我会让机器接管我的家务!」

 

这则用AI帮自己配对袜子的视频已经上传到了YouTube,截至目前,已经收获了千级的观看量:



「头脑风暴」全过程记录:只要找对方法,分分钟消除烦恼

 

这位小哥记录了他在十分钟内完成任务的思考和实践全过程:

 

“在这个项目中,我决定使用机器学习来配对我的袜子。我只给自己十分钟来完成这个项目,因为10分钟就是我手动整理袜子的时间。

 

作为一名高级软件工程师,我应该能够在十分钟内使用机器学习自动完成同样的任务——这才公平。

 

由于我只有十分钟的时间来完成整个项目,我不得不走捷径——

 

我决定不使用像PyTorch或TensorFlow这样的机器学习框架,相反,我只是在谷歌上搜索「图像模式匹配」,然后就发现了OpenCV

 

OpenCV是一个基于各种预训练模型和机器学习算法的计算机视觉库。正如我所发现的,在图像处理和识别方面,它代表着人工智能目前的最高水平。



通过使用OpenCV文档,我设法快速开发出了一个可以成功工作的袜子分类应用程序。

 

在Manjaro Linux上使用OpenCV制作袜子配对应用是一件轻而易举的事,我只用了八分钟就完成了整个项目。

 

我认为使用OpenCV构建一个机器学习移动应用程序也会非常快,我也打算在下次洗完袜子之后尝试一下,我也会把它记录下来,并继续发布到YouTube上!”



官网代码通用性佳,袜子配对效果「惊人」


说到具体做法,这位小哥是这么操作的:

 

在谷歌上搜索「图像模式匹配」时,他发现了热门搜索中的opencv页面。

 

接着,他在opencv上发现了「特征匹配」的文档说明



然后发现实例中的代码正好满足了他的需求:



下面是官网上的结果实例:



所以,他就直接下载了opencv相关安装包,并将代码直接用到了自己的袜子配对问题上:



在把单只袜子自身遮挡住之后,他发现,算法可以很好帮他完成袜子配对的问题:



小哥还改了代码中的一行,之后就实现了匹配所有相同袜子对的操作



是不是很神奇?

 

而到了这个阶段,项目已经算完成了,而从开始构思到最后整个实现,他只花了8分钟的时间!

 

下面是他用到的Opencv库地址:

* https://opencv.org 

* https://github.com/opencv/opencv 

 

如果你也想试试看,那么就可以遵循下面的步骤,即可解决自己的袜子配对问题:

 

1、打开

https://docs.opencv.org/master/d5/d6f/tutorial_feature_flann_matcher.html,这个网页记录了「特征匹配」的实例

2、使用包管理器,安装这些包:opencv, opencv-contrib, cmake, make

3、创建一个叫“Matcher”的目录

4、将1中的代码复制粘贴到该目录中名为Matcher.cpp的文件中

5、在Matcher目录下,执行下面命令:cmake . && make && ./Matcher

6、完成,你现在已经有了一个可以工作的图像匹配app

 

在这里需要提醒的是,这个实例代码用的是尺度不变特征变换的蛮力匹配法,当然,你也可以试着用OpenCV里的深度学习模块,这样,你可以实现更好的效果。


 

参考链接:

https://www.reddit.com/r/programming/comments/lastj4/ai_socks_matching_app_in_10_minutes/



 

推荐阅读


 

CDA课程咨询

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108321
 
185 次点击