文科生是否也可以成为人工智能领域里的创客?答案是肯定的!
素为是一名在司法系统里工作的法律工作者,本科就读于法律专业。同时,他还是一名计算机爱好者,作为智能硬件的创客,平时他喜欢用电子硬件做一些有趣的项目。
几年前,alpha go 对战围棋大师李世石的画面令世界赞美人工智能的发展速度,但是素为却觉得“这还不够酷”!alpha go 是通过它的研发者黄士杰来执棋的,直播画面看起来还是两个人在对弈,怎么能说是人机大战呢?
“加个机械臂执棋,很难吗?”从那时起,素为就决定要做一个真正的象棋机器人,还向朋友夸下了海口。为了让正在一天天长大的孩子少看电子屏幕,通过下象棋锻炼思维能力,素为觉得必须加快制作出真正的象棋机器人。
硬件的选择和系统框架的搭建
之前素为准备用 pc 电脑来实现这个想法,后来发现 nvidia jetson nano 开发套件可为全桌面 linux 给予开箱即用支持,并且与许多常见的外部设备和配件兼容,相关的开发教程也很丰富。
“这个小小的板子功耗不高,而且树莓派能做的它基本都能实现,关键是还具备 ai 功能,这可以满足我的需要,”素为表示。
很快,素为就规划出了一个系统框架:
素为的目标就是要做一款名副其实的“人机对战”中国象棋机器人。在制作过程中,他以 jetson nano 为中控主机,利用其边缘计算能力,无需联网即可实现对棋盘的视觉识别和棋步策略计算,再运用一部 xyz 三轴滑台加气泵吸盘即可挪动棋子,实现真正的“人机对战”。
使用这个系统进行人机对弈的流程如下:
人类下一步棋;
人类点击 gpio 按钮,jetson nano 启动指令;
棋盘上方的摄像头对着棋盘拍摄 1 张照片;
运用 opencv 对照片进行四角对齐、裁切边缘等处理;
将棋盘部分裁切为 9×10 个小图片;
运用事先训练好的图片分类模型在 jetson nano 上进行推理,该模型可分辨 15 种情况(7 种红方棋子、7 种黑方棋子、无棋子);
将识别结果拼接为棋盘状态,以 fen 规范格式进行表达;
将 fen 文本传递给开源中国象棋引擎 elephantfish,在 nano 上进行计算,获取机器决定走的下一步棋;
生成并执行 gcode 指令控制滑台模组和气泵,将某个棋子在棋盘上挪动;
机器执行完毕,进入等候状态,等待人类发出下一步棋及按钮指令
从以上流程中,我们可以看到 nano 作为主控机,除了指挥全过程运转,在第 4 至第 8 步骤为图片预处理、棋盘识别和计算下棋策略均提供了必不可少的算力。
图1:步骤4(a)
图2:步骤4(b)
克服深度学习的挑战
作为一名专业学习法律的文科生,素为表示对深度学习其实是一知半解的,“就是能够把开源代码 debug 跑起来那种水平。”为了把象棋机器人做出来,素为在 jetson nano 上先后用 tensorflow 尝试了 vgg、resnet 和 inception。
“要么调参数总是调不好,要么准确度不高,”素为说,“曾经一度很沮丧。”
然而,功夫不负有心人,一个偶然的机会,素为看到 nvidia 与百度合作的 easydl 平台,在该平台上,可以零代码训练,并将模型一键部署在 nvidia jetson 设备上。于是素为手工准备和标注了 4000 张训练素材图片,这些图片有的清晰,有的模糊,有的用光照亮、有的故意制造阴影,还有不同的旋转角度。之后在此基础上,对素材图片进行批量加噪点处理,一共生成了 5 万张图片数据用于深度学习训练。经过 easydl 的训练,生成了“图像分类”模型(因为运用场景有限可控,因此该模型不怕过拟合,准确率 100%),之后一键部署在 jetson nano 上,再配合素为写的主代码(https://gitee.com/lawup/chess-robot.git),象棋机器人终于运转起来了!
成为 jetson 百万开发者一员
开心地看着自己的孩子和老父亲与机器鏖战几盘,欢声笑语无疑是这一路艰辛的最好补偿!
2022 年年底,素为带着这个项目,参加了 nvidia 举办的 jetson edge ai 开发者大赛,荣获特别奖。
“很高兴能成为 nvidia jetson 百万开发者的一员。最关键的是,我是用 nvidia jetson nano 套件做出来的,而且充分发挥了 nano 的性能和效用。不得不说,人生就是这么神奇,虽然我一度都绝望了,但自己夸下的海口就自己去实现!”素为谈到这个项目,依旧一脸自豪。
素为用自己的开发经历对广大 nvidia jetson 开发者提出建议:“定下了目标就一定要去实现。因为是嵌入式环境,很多东西需要编译,这是一个比较漫长的过程,一定要有耐心。在经历反复的尝试和漫长的等待后,终于成功的那一刻就会有一种‘山穷水尽疑无路,柳暗花明又一村’的欣喜感,让你觉得’人间值得’ 。”
联发科技与微软联手打造高性价比多媒体智能型手机平台
CES上出现的一款超轻薄的迷你手机Card Keitai KY-01L
AMD官方否认RX5700公版显卡停售
激光诱导退火(LIA)技术可快速碳化导电衬底上的MOF
关于电阻器提高放大器的性能分析和应用
Jetson 百万开发者故事 | 为了孩子的健康成长,他用 NVIDIA Jetson 做了一个象棋机器人
创想三维3D打印机 穿越中国 只为聆听您内心真实声音
扬尘污染自动监控系统防控扬尘污染
5G+终端AI =万物互联的时代正在到来
电动机烧坏但热继电器不动作什么原因
如何实现一个智能控制开关电源的设计
基于HID规范的智能遥控器中的设计
分接箱有几种规格 低压分接箱是什么 低压分接箱作用
物联网背后的功臣,位置服务何时走向幕前?
荣耀Play3极光蓝色正式开售外观如流星划过夜空留下的流光一样
适用于DCM、QR的同步整流ic U7710SG介绍
拓维信息携手开鸿智谷重磅发布教育在鸿OS发行版
CAN介绍 CAN协议有哪些特点
华为手机最新消息:华为P10闪存门之后,华为Nova2再次被爆偷工减料阉割WiFi 5Ghz频段?
物联网安全问题严重:美国国会政府推动立法