利用现有代码学会自己写程序的智能程序落地

微软和剑桥大学研究人员创建的机器学习系统 DeepCoder 学会了如何自己写代码。它使用的方法让人们在没有掌握必要编程知识的情况下更轻松的构建出简单的应用程序。在不久的将来,非程序员可以通过简单的描述出一个程序的想法,然后让机器学习系统将其构建出来。DeepCoder使用了被称为“程序合成”的技术,将来自现有软件的一行行源代码拼接在一起。给定每一个代码片段的输入和输出列表,DeepCoder 学会要实现预期结果需要使用到哪部分代码。它的一大优势是速度,能在几分之一秒内创建出一个可工作的程序。在了解了哪一部分源代码能工作,哪一部分不能之后,DeepCoder 能改进每一次创建的新程序。相信在不久的将来,大量一般性的程序工作可以由机器取代。其实所有可归纳的逻辑性的工作包括之前报道的文字处理等工作,都可以被机器学习取代。国内的机器学习媒体“机器之心”报道概述了相关内容

有人一直有个误解,说是不是更感性的工作就更有人的意义了,不会被机器学习取代,其实不是的。我已经见过有朋友用机器学习创作音乐,人们难以听出那美妙的旋律是机器的作品。以下梵高风格化作转载自StefanChen的blog,小白法用开源项目组织机器学习创作梵高风格作品

222

后续豆包会把自己相关的实验工作和学习经历陆续免费分享给大家,祝大家工作愉快: )

神秘“Master”被证实就是AlphaGo

1483441940546mmexport1481166423371

Google 子公司 DeepMind 证实,在围棋对弈平台Tygem 和 FoxGo 上接连打败了中日韩顶尖棋手的Master (P)就是它的新版本围棋人工智能AlphaGo。DeepMind CEO Demis Hassabis通过Twitter发表声明(如图所示),称他们在围棋网站上测试了AlphaGo的新原型,如今非正式测试已经结束,它计划在今年晚些时候与围棋组织合作举行正式的比赛。声明引用了古力九段的话称,“人类将与人工智能合作揭开围棋更深层次的奥秘”。AlphaGo在在线的快棋比赛中取得了51连胜,只是在第52场比赛时因为对手下线而被系统判定为和局。在测试结束前它共取得了60场胜利,没有败过一局。

lic4ma2abdco

什么时候我能努力让我家的王破狗像AlphaGo一样给力,我也就满足了哈~

旧版AlphaGo的文章在这里:

Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489.

http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html

简明易懂的说明可以参考这里:

http://blog.csdn.net/songrotek/article/details/51065143

 

基于OpenCV的集群三维重建

文档点击这里下载 → cluster3dreconstruction

文档里给出了系统的详细构建方式,但因整个工程巨大且搭建拼接较为复杂,这里没有上传所有的源代码(即便给出也并没有很大的借鉴意义,因为目前已经有类似需求更好的开源实现)。有兴趣的童鞋完全可以用已有的流行开源项目实现类似的功能(当时常见开源项目文中有列举,更可直接搜索维基百科和谷歌学术)。

以下是本系统基于OpenCV 3.1实现的稀疏三维重建示例:

sp3drcv31

 

Intel今天发布了长达5000页的Haswell开发文档

英特尔在年底向Linux和开源粉丝送出了一份新年礼物:公布了多达5000页的Haswell文档。《开源图形程序员参考手册》涉及了 2013 Haswell HD Graphics、Iris Graphics和Iris Pro Graphics,其内容覆盖模式设置到3D引擎和GPGPU,到性能加速器和视频加速。在显卡制造商中,英特尔的集显驱动对开源最为友好。眼看明年AMD也要出新架构了,nVidia会不会被逼到左右为难,坐等明年的图形开发界的连台好戏。

一种新的单目视觉3D重建算法

想和人眼一样拍摄3D立体图像通常需要2个镜头。哈佛大学研究员《光学快讯》上发表的文章通过改变单个镜头焦距拍摄两幅图像,使用数学模型重建3D图像,其效果相当于单眼摇头视物。主要原理是:像素上的光线角度包含了重要信息,通过改变焦距拍摄两幅图像的细微差别推算出每个像素上的光线角度,通过数学计算重建新图像,模拟镜头移动的效果(视频演示)。

迪士尼演示2D照片生成高清3D模型算法

Disney研究院开发出一种算法,可以将2D照片生成高清3D模型。和此前的3D全景技术类似,这项技术也有十多年的历史。但迪士尼的新算法赋予了3D模型更多的细节,能计算每个像素的深度,足以满足视频游戏和电影制作的需要。它的3D模型仍然受限于原始2D照片提供的视觉信息,不能自动填充数据。

Disney Research has developed an algorithm which can generate 3D computer models from 2D images in great detail, sufficient, it says, to meet the needs of video game and film makers. The technology requires multiple images to capture the scene from a variety of vantage points. The 3D model is somewhat limited in that it is only coherent within the field of view encompassed by the original images. It does not appear to fill in data

小车使用的系统平台详细介绍

双目视觉小车使用的是三星处理器s5pv210,s5pv210又名“蜂鸟”(Hummingbird),是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器。s5pv210和s5pc110功能一样,110小封装适用于智能手机,210封装较大,主要用于平板电脑和上网本,苹果的iPad和IPhone4上有的A4处理器(三星制造的),就用的和s5pv210一样的架构(只是3D引擎和视频解码部分不同),该处理器还被用在了Nexus S,魅族M9,三星GT-S8500 Wave,三星P1000(Galaxy Tab),三星i9000(Galaxy S)。s5pv210是旧时的叫法了,2011年2月,三星电子正式将自家基于ARM构架处理器品牌命名为Exynos。Exynos由两个希腊语单词组合而来:Exypnos和Prasinos,分别代表“智能”与“环保”之意。s5pv210获得了新的代号Exynos 3。Exynos 3是Exynos系列中唯一的单核处理器。下面是这款处理器的架构图:

Exynos3110_Diagram3110

 

将这款处理器的平台作为双目视觉小车的主控系统考虑到以下几方面原因:1.优秀的性能功耗比,性能不愁电池也不愁;2.官方提供linux和android的bsp不需要移植,视频传输也可以用以往开发移植的方案;3.我喜欢用消费类电子处理器做自控,因为比较好玩~

小车使用的是改造的三星Exynos 3标板,借鉴的开发板是飞凌的ok210:

63265143

 

 

三星的资料,包括电路原理图、cpu手册等 ok210-downloadfromsamsung

ok210的原理图和器件手册 ok210-schanddatasheet

引导用的uboot ok210-uboot_1.3.4.tar

移植好的linux 2.6.35内核 ok210-linux2.6.35.7.tar

NandFlash使用的Yaffs2文件系统 ok210-Yaffs2.tar

 

小车直流电机驱动L9110H和L298N的选择

L9110H是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片 IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个 TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750~800mA 的持续电流,峰值电流能力可达 1.5~2.0A; 同时它具有较低的输出饱和压降; 内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110H被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上,我所拆卸的遥控车玩具,大多使用L9110H。

当前的小坦克上在电机输入前接了L9110H,所以cpu的gpio可以直接通过74HC244后连接小坦克。我记得很多年前有人曾经问244能不能取代光耦隔离,实际上,如果回灌电流不是很猛,是可以起到隔离作用的,因为244有比arm cpu更大的承受能力,如果244烧不穿,自然也就保护了cpu,但如果244击穿,情况就另当别论了,所以,应该说能够部分取代光耦,并不能完全取代。

11

相比之下,在选择直流电机的情况之下,L298N显得杀鸡用牛刀。L298N主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

L298N驱动小车直流电机的典型模块电路和实现:

 

16059114562605911456

 

 

如果使用万向轮小车底盘,选用这个驱动模块是合适的,我习惯杀鸡用牛刀,哈哈。

 

小车底盘选型组装完毕,开发板到手,零碎器件到手

双目视觉小车的底盘初步定型为两款。分别是一个橡皮履带的坦克底盘和一个带万向轮的双轮小车底盘(最常用的寻迹小车底盘模型)。

1

第一款是带测速方波和减速直流电机的坦克,准备用210开发板的gpio直接经过74hc244后连接电机驱动L9110或L298,这款速度控制比较好,行驶可以非常慢,有助于第一步目标中各种实验的进行。

2

第二款是我以前非常常用的两个轮子带一个万向轮的小车底盘,这是最常用的寻迹小车的底盘模型,但是这款测试时十分灵活,速度较快,无法很慢的行驶(和电机与减速箱有关),在坦克上充分测试调试,算法足够健壮的情况下,可以使用这款经典的底盘。

3

 

开发板使用的是飞凌嵌入式的ok210,找一款靠谱的210开发板真不容易,难得有这么一款不错的产品,我自己投板的还不知道需要焊到哪年哪月。。初步计划把键盘按键拆了改成gpio经过74hc244增益连接电机驱动控制,在linux直接用字符驱动写方波即可,另外配置两个输入的gpio或者中断,从红外遮挡测速那里把信号读回来(坦克底盘上有现成的测速器,而万向轮双轮小车需要我自己接一下,主要是模具费劲,暂时先用坦克的吧)。

另外,今天去了中海园和中发,状况和当年差不多啊唉,中海园还是那样,周末没什么人,柜台大多数都锁门了,连个人影都看不见。。马路对面的知春电子城还不错,买到了74hc244和需要的零散器件,电池也找到了大容量锂电池排,重量可以接受,不过那卖电池的有点头晕,逆变升压电路参数说不清楚,看了半天我也不知道那个小电路从3.7逆变到5V能承受多大电流,改天再找家靠谱点的。。

先写这么多,组装像样了,驱动写差不多了再继续更新~ 期待吧~

双目视觉小车的前端3D展示放弃xbap+xna,改用webgl或unity3d

如题,在尝试过ie11以后,又考虑到 http://news.xbox.com/2013/06/xbox-one-unity-announcement 的影响,为了后续的兼容性和进一步扩展,不再使用xbap+xna,具体更改为webgl还是直接使用unity3d,有待进一步评估。

有一部分原因是因为xna后续没有版本了,而前几天unity3d对windows用户免费了(可参考先前的链接或搜索相关新闻)。周末除了去中发以外,我还会具体评估unity3d的新版本和ie11所支持的webgl。

双目视觉小车实时重建场景3D模型的娱乐项目今天启动

2013年7月2号是美好的一天。整整8年过去了,历经8年,我终于找到了一位合适的导师,我的热情娱乐终于可以重新开始了。

今天是2013年7月3日,我的双目视觉小车正式开始制作开发,整个系统的第一步的目标结构如下图所示:

MoridaEyes-sysarch

 

系统结构图visio文件下载 MoridaEyes-sysarch

暂定本项目代号为 MoridaEyes (ME.) 意为森田之眼。

 

总有人问我森田幻羽的森田是否和日本话有关系,这里解释一下,部分是的。

森田,一是出自我是极端热爱大自然的人,讨厌钢筋混凝土的世界,喜欢绿树和田野;

二是出自漫画《蜂蜜和四叶草》中的森田忍,具体为什么,一言难尽,相信看过这部漫画又熟知我的朋友会非常清楚。

 

明天开始组装小车的硬件底盘和车身,本周末去中发中海园买缺少的小零部件。

另外需要买244增加io的驱动能力再连接直流电机驱动,懒得投板了先用面包板和飞线凑合吧,

不知道整个系统需要多大功耗,我估计可能需要若干手机电池并联才能玩得转。

Contact Magic Zestination | 联系豆包