829-2026.08.28.给孩子做东西
这个孩子呢绝对是刺激爸妈啊学习和进步的啊无可匹匹敌的动力。
啊这个这两天呢啊我做了一个这个程序对干嘛的呢?
就是帮助孩子恢复魔方的。
恢复魔方
文件未下载,等待下载处理
大概一周前吧,这个呃孩子的妈呢给孩子们买了魔方,对吧?
然后呢,我一看这个东西啊,我不会玩。
因为我小的时候对这个东西不感兴趣,所以呢一直也不会玩,那孩子呢很感兴趣,但是呢两分钟之后呢?
孩子们都很挫拜,为什么呢?
啊你不小心打乱你之后,因为你不会恢复嘛,不会恢复的话呢,就没有下一步了嘛。
。
然后呢呃我就这个啊上网搜了一下啊,看看有没有智能魔方啊,果然有啊,已经做的很厉害了哈啊,国内一个这个比较强的哈叫GAN啊J。
然后呢,我就下单买了一个哈,然买了一个送到了之后呢,啊打开这个包装,然后呢看了说明书,然后呢安装了他们的那个软件,安了之后呢,就是挺失望的啊,他竟然是一个游戏界面。
然后呢,这个是游戏引擎写的啊,然后呢啊操作起来就是就简直没法操作,咱也不知道卖的这么好的这个啊啊啊所谓的智能魔方啊的软件怎么会啊这么差。
然后呢呃经过使用之后呢,发现所谓的智能魔方呢,它只是啊那个轴是智能的,蓝牙是智能的对吧?
然后呢,它呃每一个块本身是没有位置的。
呃,所以呢呃实际操作起来呢,并不像想象的那么呃那么的好。
然后呢,我就这个跟AI聊了聊天哈,然后啊这个这个了解了一下这当前的具体情况。
然后呢啊就发现说哈其实这种蓝牙连接的这个驱动啊,也有社群的开源版,然后呢就自己哈写了个spike,所谓的spike,就是啊最简最简单化的测试实现。
那今天你又学了一个词啊,叫spike。
spike
然后呢发现说哈其实呢就是自己很容易把它连起来,然后呢啊去实现自己的一些想法。
呃,然后接下来呢我就又开始哈去搜索更多的东西,更多的可能性,那也读了几篇关于魔方的论文,然后才意识到说其实呢不需要这个这个智能魔方啊,其实比较好的方法就是用摄像头去识别每个面的这个呃呃布置,对吧?
然后呢就又搜了一下这个开源的实现,对吧?
。
OpenCV
然后就发现一个问题,就是啊现有的解决方案呢都是在这个摄像头打开之后,在屏幕上画一个九宫格,然后呢让用户呢把这个呃魔方啊对准那个九宫格啊,面对摄像头对准那个九宫格。
但实际上哈看起来很简单,你实际上真的用手去拿着魔方对准那个九宫格,你就会发现并不像想象的那么容易,对吧?
啊,第一个呢是你要调成远近啊,第二个是什么呢?
就是摄像头本身是镜像的,所以呢你啊会下意识的走错方向啊,你本来应该向右移,但是你的手呢啊是向右的,但摄像头显示是向左的,所以呢就越错开越远,所以后来发现说这个动作其实是特别恼人的。
。
然后呢,我一想这不对呀,就是今天哈这个这个AI这么强啊,视视觉这个识别啊识别一个这样就是有限大小有限形状啊,有限颜色的东西应该很容易啊,对吧?
啊,所以呢就又去搜索哈,就是说啊啊AI智能识别。
然后搜索完了之后,发现说哈竟然没有人这个实现的比较的好对那有没有相关的AI模型呢?
也有对吧?
呃,有一个叫优o3啊,训练的这个模型,据说准确率很高,但是呢啊没有没有没有可以直接下载的模型啊,没有可以直接下载使用的模型。
人家一般实现完了之后呢,都藏到这个收费服务后面去只提供API。
比如这个:
https://github.com/ThatLinuxGuyYouKnow/rubik-yolo
但是这个怎么可以难倒爸爸嘛?
因为有孩子的这个父亲呢是学习动力很强的对吧?
然后就想说那那那那我自己训练个模型行不行,对吧?
啊,反正咱机器多,对吧?
好了,那么呃就开始又写了一个spike,然后去训练一个简单的模型,然后呢就很快面临下一个问题,就是你的数据集不够啊,你的数据集不够,就是你训练一个小模型,他他参数很少的啊,整个训练过程大概也就是四五个小时啊,但是呢呃训练数据不够,
。
AI给的意见呢很质朴,说你拿着你的魔型,拿着你的魔方哈啊拍很多段录像,然后呢,我给你截图,对吧?
我说这不行啊,因为你只用我的魔方,那到最后呢就只是我能用,那别人就不能用,对吧?
这不扯淡了吗,对吧?
啊,所以呢这个这个呃又在网上搜,对啊,大概几个小时之后呢,找到了几个这个数据集啊,包括VKP列上有大量的这方面的照片,。
然后呢啊我觉得还是不够,那怎么办呢?
啊又这个啊知道AI写了一些爬虫,对吧?
啊,又搜下来这个这个大概啊啊1000张左右的照片吧。
然后呢,我觉得还是不够,对吧?
那怎么办,对吧?
啊,又让AI干了件事啊,把这些照片呢就是啊啊放大缩小剪裁啊扭转,然后呢这个啊贴上别的这个背景啊等等等等吧。
对啊,如此这般啊,到最后我有了一个大概啊啊大概10万张照片的这个数据集?
然后呢呃就再跑一遍这个这个呃训练流程,对吧?
早晨再醒来的时候呢啊小的模型就搭建成了那啊用起来就是准确率可以达到97%啊,这已经就已经是这个这个呃呃很好的标准了,对吧?
很好的啊指标了,对吧?
我能找到的论文也大概也就是97%,对吧?
我这个能达到这个97.
8%啊,那就是已经非常非常的不错了。
然后呢,这个啊发现说速度还是不错的,并且呢可以很智能啊。
理论上来讲哈,你应该按照那个面的方向给他识别。
但是你可以简单的一些算法把它变成什么样呢?
啊,用户随便是用什么样的方向,但总言之到最后如果能解的话呢,他会把方向调整好啊,也可以做成这个样子。
文件未下载,等待下载处理
然后呢呃还有2%左右的呃失败率啊,2%左右不一定正确的情况怎么办呢?
啊,反正这也不是我能解决的,别别人家训练出来的,也就是个97%的正确率,对吧?
那就是可以从这个用户体验上去修改,对吧?
所以呢我又加了个功能,什么功能呢?
就是呃当它不对的时候,对吧?
哪个块不对啊,他就会啊闪亮啊,然后可以手动纠正,。
这样前前后后也就三天吧啊,三天之后呢呃我就这个这个扔给我家小朋友一台电脑,对吧?
然后呢,你们弄乱了的时候呢,你们打开电脑,对吧?
然后呢,自己恢复,对吧?
然后他们就会觉得很好,啊,一点也不耽误接下来的练习,对吧?
。
所以呢我现在哈真的觉得说AI绝对是父母在孩子面前装蛋神器,你知道吗?
啊突然之间在他们眼里哈,我能干的事情实在是太多了,对吧?
有什么问题都能够解决,是的,对吧?
啊,这种这个这个呃装蛋的感觉哈,实在是太好了。
所以我也很理解,为什么有那么多人愿意在公众面前装单了。
当然了啊接下来的哈就是呃一些改变了啊,什么外观上啊,细节上的改变了哈。
包括我最初的时候呢给他们做的是一个桌面版。
然后呢,这个界面设计呢也完全是桌面版的思路,对吧?
后来呢我才把嗯才把这个这个整个啊整个界面呢换成了现在这样哈,基本上就是呃iphone ipad,还有这个安卓版的这个呃界面。
剩下的哈就是大量的细节工程了哈,包括你要设计一个足够好看的logo,对吧?
啊,然后呢,这个呃可能接下来我要这个适配各种各样的平台。
比如说IOS,比如说android甚至windows啊linux啊,买OS对吧?
都要适配一下,然后呢啊全面发行呢,可能还需要很久。
然后呢还有很多需要改进的地方哈,比如说啊解法啊目前呢是只要解法步数小于20就被接受啊啊,不对,目前是小于22就被接受啊,那么呃最近呢我才发现哈,其实我一直用的是这个GP啊浏览器里的这个呃调用模型,所以它只能单CPU运行
。
对啊,那么如果哈我用系统的呃可以多CPU的话,速度就会增加。
嗯,。
然后呢,关于哈嗯不用蓝牙啊,智能魔方只用普通魔方,能不能啊用视觉去识别啊用户的啊转动啊,这件事呢就说已经被证明为暂时不可能。
而后面呢可能需要加各种各样的课程,对吧?
啊,加一些课程,他就比较这个这个有价值了。
对啊,我我我后来才知道啊,就是说这个小朋友上一个模方培训班,一个老师一节课什么的,都要上完课什么的啊,动不动大几千块钱哇,这是个好大的一笔消费啊。
然后呢嗯这些呢就逐步哈写成计划啊,放在一边,每天实间一点点,对吧?
呃,估计做个这个两三个月啊,就可以做的非常的好。
嗯,我还没有把这个细节修好哈,等我把一些细节修好啊,足够的这个最简版能够拿出来的话呢,我也一样会扔到GH上的。
然后呢,大家可以哈拉下去啊,自己做这个当做学习材料,就是去看一看这个东西是怎么做出来的。
那今天给大家啊看这个东西啊,那呃背后呢是讲一件事情。
当然我刚才讲了一个概念哈,叫spike。
你无论干什么哈,你都可以先做一个极简的实现版,然后验证各种各样的可能性啊,这个叫spike。
所以呢你你你你可以跟AI说,那can you make for me对吧?
你你能帮我去做一个spike嘛。
那他就会按照那个速度去做。
因为这是工程师们经常干的事情。
所以那一瞬间呢啊他就会像工程师们去做spike一样去做这个一个简化版的测试,让你够能够啊视觉上可以看得出来。
然而这背后呢就是一个我们正常的哈生产者啊,正常的创造者啊啊走的正常的流程。
第一件事情是什么呢?
就是观察生活啊,然后呢,在观察过程当中呢,发现问题,对吧?
然后呢啊去思考解决问题的方案,对吧?
然后呢再去思考说这个问题是不是univers的,就是哪个问题是大家都想解决的对吧?
值得解决的对吧?
啊,然后呢,你再去实现你这个方案,然后呢,帮更多人解决问题,这个呢就是最基本的哈一个产品设计者的啊工作流程,。
观察、问题、解决方案、测试、分发… 循环
当然了接下来有一天哈啊这个东西我做的觉得说哎值得给别人用了,对吧?
那这时候一旦开始这一步的话,你就会发现说分发就是一个问题,对吧?
啊,分发是很麻烦的,对吧?
比如说你这个上架啊这个呃APP store,对吧?
啊,上架这个呃android的各种各样的商店,对吧?
啊,然后呢,你做不做外部版,啊,我最初呢要做了,对吧?
后来发现说外版的效率很差,啊,因为他只能用一个CPU对吧?
所以只好哈走系统版,对不对?
那这个时候呢就有一系列的细节要要要处理,到最后啊,不管什么东西,它的总工作量当中99%啊,都是编织末节的工作量。
比如说你做一个spike,马上就能用了,这是很容易的对吧?
然后呢,你也不想分发啊,你就那就是大概哈就是说啊模型出来之后呢,大概也就两俩小时啊,扔到浏览器里面啊,孩子们就可以用了,对吧?
但是一旦哈呃你想把它当做一个完整的产品,真的家伙去想的话呢,你就有很多的事情要做,就是首先哈第一件事情就是好看不好看都很重要,对吧?
嗯,那那那调整这个啊界面啊,思考用户的体验啊,然后思考这个实现的细节,对吧?
哪些该藏起来,哪些该拿出来,对吧?
嗯,那你就会发现说工作量哈,就会百倍的倍增,。
所以呢呃今天给大家讲这个实例呢啊这就是真实案例嘛。
那么确是可以让大家体验得到你做一个真的假货出来和你有一个想法而已啊,有究竟有多远啊。
好,那今天的分享呢就到这里哈,我们下次分享再见。