基于 HTML5 的人脸识别技术

介绍一个网站,演示了通过 HTML5 + JavaScript 技术实现的人脸识别,目前仅适用于 Chrome 浏览器,首先需要在地址栏输入 about:flags ,然后找到“启用 MediaStream” 这一项,点击“启用” 后重启 Chrome 浏览器

然后打开下面地址:

http://neave.com/webcam/html5/face/

浏览器会提示你允许访问摄像头,然后你就能看到下面的效果:

当你摇头晃脑的时候,那副眼镜会跟着移动并帮你戴上眼镜。

你可以查看网页源码来了解具体的实现细节。

备注:你测试时所看到的头像不一定有上图帅!

移动互联网抄袭能走多远 投资人恨铁不成钢

“面对抄袭‘指责’,小型创业公司很‘委屈’:在中国移动互联网市场,抄袭可能会死,但不抄袭一定死。”

美食推荐类应用“食神摇摇”上周因涉嫌抄袭大众点评网被苹果应用商店下架。两商家关于内容“抄袭”争论,再次将中国移动互联网抄袭弊病呈之于众。

业内专家坦言,由于中国的互联网从创始之初就是模仿美国等国际网站,因此业界一直有“模仿”的传统。资料显示,网易、酷狗、盛大、UC、腾讯等 均先后卷入抄袭“口水战”。面对抄袭“指责”,小型创业公司很“委屈”:在中国移动互联网市场,抄袭可能会死,但不抄袭一定死。

投资人对于这样的说辞,虽强调,“创业者应该树立一个观念,抄袭并不能使你成功。”但当今互联网的发展已经进入“运营模式创新”阶段,一个主 意、点子,一个能够吸引网民参与的平台就能够决定整个公司的成败。前有大公司对平台和终端的双控制,后有消费者“薄情寡义”式的浮躁体验,小公司创新之路 并不宽。

苹果将食神摇摇下架

日前,大众点评对外发布声明称,一款名为“食神摇摇”的美食类APP大量抄袭大众点评网站上的商户信息、图片以及用户点评,“食神摇摇”与大众点评内容相似性达到80%以上,为此大众点评向苹果公司提交了相关证据。

5月23日,据多位网友反映,美食推荐类手机应用程序食神摇摇被苹果应用商店下架。记者核实后发现,从itunes页面中进入苹果应用商店显示“您要的产品目前在中国商店不提供”,且在应用商店中搜索不到食神摇摇的产品。食神摇摇至今未对此事做出任何回应。

“食神摇摇”被苹果下架的消息经微博传播,在用户中引起热议,一些用户纷纷留言说,“还好是免费应用,如果是付费应用,那产品下架了,我们的用 户权益该怎么办?”“难怪觉得这么像大众点评。”“一点都不好用!完全是在骗人,摇来摇去只有那几家,摇一摇明显是个噱头,好不好用,还要看线下的资料是 否靠谱。”

“移动互联网,产品为王,只有创新独特、尊重用户、关注用户需求的产品才是我们关注的对象。”一位投资者在与《国际金融报》记者聊天时坦言, “目前国内环境比较浮躁,再加上资本的逐利性,有些团队不惜通过抄袭、炒作以及触犯用户隐私等诸多手段,迅速在App Store等获得较高排名,但这些是昙花一现,很可能随时被淘汰出局。”

互联网成创新“阿斗”

正如该投资者所言,类似“食神摇摇”的抄袭现象在中国互联网业界,并非个案。清科投资总经理叶斌表示,在Instagram大火特火之后,就在国内看到了类Instagram的应用多达十几款,用户规模和产品体验都相差无几,严重的复制抄袭已降低了其被收购的价值。

数据显示,中国移动互联网2011年的投资热度依旧,已跃升为互联网行业中仅次于电子商务的第二大“吸金”领域。

根据China Venture的投融资数据,在披露的中国互联网经济投融资中,移动互联网领域占总笔数的17%,仅次于电子商务的36.8%。其中,披露的天使投资笔数 超过5笔,移动互联网迎来创业热潮。移动互联网领域众多新的概念提出,智能终端、移动网络等基础设施的改善为它们的发展提供了更好的土壤。

“目前发生在移动互联网的复制和抄袭行为,对于处在二线地位的公司来说,无论是获取资本青睐还是高成本的移动互联网人才,都面临着严峻的挑 战。”易观国际分析师齐剑哲分析指出,如果新的资本引不进来,而又无人收购,很大一部分移动互联网公司将会活在“剃刀边缘”——面临被清理出局的危险。

投资人恨铁不成钢

抄袭行为横行已经让投资者望而却步。“抄袭,尤其是抄袭核心模式、核心内容、信息的创业公司是根基不稳的创业公司,一旦投资企业的产品因为抄袭 事件被应用商店下架,这很可能最终演化为一桩失败的投资案例。”前述投资者告诉记者,目前,企业的维权意识越来越高,例如苹果应用商店等第三方软件平台鉴 于用户需求和自身平台的吸引力,在整顿“抄袭”之风上不遗余力。

拉卡拉董事长孙陶然在“首届中国天使投资人大会”时阐述了自己眼中的天使投资“铁律”和创业“军规”。孙陶然认为,中国产品所谓的“山寨”问题一直被外界诟病,主要原因是因为创业者比较急功近利,“许多人都没有觉得模仿和抄袭是可耻的,许多山寨产品竟然会登堂入室。”

孙陶然认为,创业者应该树立一个观念,抄袭并不能使你成功。在孙陶然看来,创业者最需“走正道、坚持创新、放下身段”。他认为,“走正道”是做人之道,也是企业之道;而创业者一定要通过创新来创业,“不要总想着复制和模仿,找市场空档。”

英特尔投资中国区投资总监吴蓉晖也表示,不能急于先做市场用户。而是把技术和产品踏踏实实做好,然后再去推广,比较好地平衡技术和用户、收入的 发展。一些公司急于发展收入,却没有做出收入模式,这样不能长期健康发展。他们希望投高技术、高质量、长期健康发展的公司,而不是为了几年就冲上市,那样 势必会后劲不足。

微软将进行开源的 10 大证据

【编者按:本文作者Richard Turner是曾经在微软工作了十年,罗列了十大证据证明微软已经在往开源的方向前进,究竟已经走了多远,又是否会对Windows 8等移动平台及整个移动开发环境造成多大的影响呢?】

1.鼓励开源的生态系统Windows和.NET开发者社区里面充满了开源的项目和提议,由 Ninject,AutoFac, Castle Windsor 和 StructureMap 等IoC/DI 框架,到nUnit等测试工具,由RavenDB等NOSQL文档数据库,到Orchard和Umbracon那种强大的文件管理系统,这些例子也只 是.NET/Windows 平台里众多开源项目的冰山一角而已。

2.减少无谓的反复“创新”

微软一直坚持自己开发完成别人在开源世界已经存在的技术的微软版本,这点一直让众多开发者不爽。所以当ASP.NET MVC3.0发布的时候还是让开发者们很惊喜的,因为这个微软第一次发布一个包括开源代码的主要项目,而 ASP.NET 4.0也增加了 jQuery Mobile & JSON.NET等更多的开源功能。

3. 和NuGet数据包管理器合作

数据包管理器对于开源生态系统来说非常重要,有了它开发者们才能轻松共享自己的代码, 而在2010年十月发布的NuGet能很好的弥补Windows/.NET 平台开源生态系统在这方面的不足,现在已经容纳了包括 jQuery, Modernizr, JSON.NET, ELMAH, log4net, Ninject等6000多个各大.NET开发者们需要数据包资料,虽然6000这个数字对比其他开源平台来说有点少,但是数据包的数量还在稳定增长中, 现在有的包也都非常有用,相信以后一定会变得更好的。

4. 把Windows系统优化成一个适合开源程序的平台

现在很多热门开源项目都是通过基于Linux的平台进行开发的,Windows想要运行这些项目就需要通过Windows的虚拟机才可以,失分不方 便,而微软已经在这方面做出了努力,2011年11月,微软就宣布通过新版的LibUV可以在Windows系统上稳定的运行node,同时,微软发布 了 IISNode ,让开发者可以在 IIS构建node。而在 LibUV 广受欢迎之后,其他开源项目现在都在都在做Windows系统的本地化。

5. 让接口多元化、规范化

这也是微软的开源社区已经走向成熟的标志,以去年十一月Antirez宣布微软提供了Windows可以本地运行Redis的端口这事为 例,Antirez并没有接受在Redis的核心代码中加入微软补丁的做法,而鼓励微软创建自己的Redis分支接口。而通过开源社区的努力,也成为了今 年开源社区第一个正式完成发布的项目。

6. Windows支持 Apache, PHP 和 Ruby 

从2008年开始,微软已经开始了这方面的努力,而现在不但在Windows 系统上可以构建Apache网络服务器,而且IIS也已经可以搭载Wordpress, Drupal, Joomla等给予PHP技术的网页和服务。

7.Azure支持众多开源平台 

在 Mix09上,微软已经正式宣布Windows Azure会支持 PHP, Java 和 Ruby 这些开源平台 。除了声明本身包含的内容,微软也在努力地提供各大开发环境的API,以求更多的开发者使用Azure服务。而在2011年11月微软宣布Windows 支持Node之后,微软也接着宣布了WindowsAzure与平台也完全支持Node。也预示着Azure会不断地向开源的方向前进。

8.支持 Hadoop

 去年,微软联合HortonWork宣布他们在努力地让Hadoop接入Windows,这是一个很重要的消息,因为这代表这微软宁愿放弃本身有的大数据管理项目而接受Hadoop,也代表着微软接受别人的产品的能力的提高,对所有人来说都是一个很好的消息。

9. 微软成为了Linux kernel 排名前20的资助者

十年河东十年河西,十年前微软的CEO鲍尔默还把Linux称为毒瘤,去年微软就成为了Linux最大的20个资助方之一。微软的资助主要围绕着让微软的的操作系统虚拟技术 Hyper-V能够搭建Linux系统这一个目标。

10. ASP.NET MVC4.0, WebAPI 和Razor引擎的开源化

如果说到微软和开源有关最重要的新闻,以下的声明一定不能不提:

  • ASP.NET MVC4.0, WebAPI 和Razor引擎会开源开发
  • ASP.NET 开发小组会考虑开发者社区提交的修改建议
  • ASP.NET 开发小组会公开地进行开发,将所有未来的更新代码更新到一个对外的服务器上。

小编语:

相信这些证据都足够证明微软正在朝着开源的道路上前进,这样的路线是能否能给Windows Phone带来足够的进步呢,有人说,Windows Phone的销量上不去是因为陷入了一个死循环,应用不多->销量上不去->没有足够用户->吸引不了开发者->应用不多。开源 化能否吸引足够多的开发者,成为打破这个死循环的关键点,大家拭目以待吧

文/雷锋网

Google 图片搜索的原理

针对这个问题,请教了算法组的同事,他分享了基本的思路:

对于这种图像搜索的算法,一般是三个步骤:

1. 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bundling features算法,hash function(散列函数)等。也可以根据不同的图像,设计不同的算法,比如图像局部N阶矩的方法提取图像特征。

2. 将图像特征信息进行编码,并将海量图像编码做查找表。对于目标图像,可以对分辨率较大的图像进行降采样,减少运算量后在进行图像特征提取和编码处理。

3. 相似度匹配运算:利用目标图像的编码值,在图像搜索引擎中的图像数据库进行全局或是局部的相似度计算;根据所需要的鲁棒性,设定阈值,然后将相似度高的图片预保留下来;最后应该还有一步筛选最佳匹配图片,这个应该还是用到特征检测算法。

其中每个步骤都有很多算法研究,围绕数学,统计学,图像编码,信号处理等理论进行研究。

下面是阮一峰的一个最简单的实现:

你输入Google图片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。

卢松松:Google图片搜索的原理

上传后,Google返回如下结果:

卢松松:Google图片搜索的原理

这种技术的原理是什么?计算机怎么知道两张图片相似呢?

根据Neal Krawetz博士的解释,原理非常简单易懂。我们可以用一个快速算法,就达到基本的效果。

这里的关键技术叫做”感知哈希算法”(Perceptual hash algorithm),它的作用是对每张图片生成一个”指纹”(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。

下面是一个最简单的实现:

第一步,缩小尺寸。

将图片缩小到8×8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。

第二步,简化色彩。

将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。

第三步,计算平均值。

计算所有64个像素的灰度平均值。

第四步,比较像素的灰度。

将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。

第五步,计算哈希值。

将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。

卢松松:Google图片搜索的原理

得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算”汉明距离”(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。

具体的代码实现,可以参见Wote用python语言写的imgHash.py。代码很短,只有53行。使用的时候,第一个参数是基准图片,第二个参数是用来比较的其他图片所在的目录,返回结果是两张图片之间不相同的数据位数量(汉明距离)。

这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。

实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。这些算法虽然更复杂,但是原理与上面的简便算法是一样的,就是先将图片转化成Hash字符串,然后再进行比较。

文章来源:卢松松博客

Linux Mint 13 ‘MAYA’值得注意的5件事情

最近备受瞩目的Canonical公司最近发布的Ubuntu Linux12.04“Precise Pangolin”现在有新伙伴了,那就是Linux Mint 13 代号’MAYA’。

就在几个星期前,我们看到了Fedora 17 beta版的发布,最终版将会在半月来临。现在Linux Mint发布了自己的Linux Mint13,或者叫”MAYA”.

1.两个版本

 Mint有全新的Cinnamon桌面,Maya会提供一个基于此桌面的OS。因此用户可以选择成熟和稳定的MATE 1.2或者全新的,令人期待的Cinnamon 1.4。

2.长期支持

Ubuntu Linux 12.04是一个长期支持(LTS)版本,Linux Mint 13也是基于此的,因此也是长期支持的。所有的软件将支持到2017年4月,这对企业用户来说是很有优势的。

3.新的显示管理器(Display Manager)

MDM,一个新的显示管理器,基于GNOME 显示管理器2.20。图形化配置工具,远程,自动,定时登录,事件脚本,语言选择,它比现有的任何显示管理器都要强大。

4.yahoo

对于在美国,加拿大,英国,爱尔兰,德国,法国,意大利和西班牙的用户,雅虎现在是默认的搜索引擎。当然,任何人要使用不同的搜索引擎,可以很容易的自己选择设置。

5.更漂亮的界面

有最新的Mint—X和Mint-Z主题的支持,Linux Mint 13有了一个爱尔兰艺术家优美照片的背景集合。

现在还不确定最终版将会何时发布,届时,它将可以从网站上直接下载。