【贱僧】3D扫描仪DIY(二)——Skanect扫描(史上最详细秘笈)

开源技术
2014
03/17
11:11
分享
评论
    贱僧:第一个发布技术秘笈的南极熊特约工程师,少林派人士,3D江湖人称“虚竹”,抱有一颗颠覆行业的心,却又极其低调,不愿透露更多,是僧人但又不够遵守规矩,武学奇才,大学在读已经精通扫描仪DIY神功。南极熊3D打印特约工程师专栏


       写在前面:本教程适于对DIY能力较强,3D建模技术有一定的基础且英语阅读能力不错的3D爱好者,小白童鞋们要学习本教程要先掌握一定的3D建模基础,英文起码要懂得查单词,或者你可以直接购买国内威森科技的3d扫描仪(我不是威森的托,只是有一个威森的销售姐姐Q2711727303老是骚扰我!!!而且我觉得他们做的3D扫描仪应该还不错)或者国外成熟的EVA 3D扫描仪。
      郑重声明:我特别反感某些懂一点3D扫描DIY的商家,他们把成本价只要700RMB不到的Kinect加上扫描软件DIY成3D扫描仪,然后在网络上暴利销售他们的3D扫描仪,售价1400元到5999元不等,这是一种坑骗消费者的行为,我坚决反对这种流氓行为。同时我也郑重声明,任何人不能把本教程DIY的3D扫描仪商业化暴利销售!!!同时,也希望我的3D扫描仪DIY教程能够给3D爱好者们提供帮助。

      免责声明:Skanect所有权归ManCTL公司所有,国内售价830.27元RMB,我提供的破解版仅供学习交流之用,不得用于任何商业性的活动,如需要,请与软件作者联系购买
      下面进入正题,考虑到大多数人英语能力有限,我这里就先讲Skanect,KScan3D和ReconsttMe相对比较难,我以后再讲,其实Skanect扫描的效果已经很不错了,没有其他特别需求,用它扫描就可以了。(再次提醒:千万不要在同一台计算机上安装Skanect、KScan3D和ReconsttMe,前者和后两者的驱动有冲突,会影响使用,如果要安装另一种软件,请确保前一种的驱动卸载干净!!!)
      百度文库里有一位大神写了一个Skanect教程,个人觉得写的还是不错的,大家可以去看看,但是写的有些笼统,初次接触Skanect的人很难看懂,所以我就写一个详细版的Skanect教程,希望对大家有所帮助。
      当你的计算机已经可以连接Kinect了,你就可以开始下载安装Skanect软件了,你可以在ManCTL官方网站下载免费版,免费版具有专业版的所有功能,就是导出的三维模型没有专业版那么清晰,而且有一些限制,但是还是能够使用的,具体操作也是一样的。
      我这里给大家提供两个破解版Skanect的链接,一个在数码资源网,一个在我的网盘,按照安装说明的步骤安装就行了。
      安装成功后,先连接Kinect(再次提醒记得给Kinect插电源)再打开Skancet。(软件界面的英文我是意译的,没有直译,方便大家理解)
1.png


根据扫描需求设置场景类型、构建尺寸、屏幕横纵比等,路径和配置文件就没必要去动了。人体的话,半身像1×1×1就可以了,全身像2×2×2就可以,太大的话扫描的范围就会很大,扫描速度会很慢,而且文件会很大。具体还是要自己摸索的。
      如果是AMD显卡的计算机,只能用CPU渲染(Skanect只支持NVIDIA CUDA2.0以上的显卡),速度会比GPU渲染慢几何倍(就是GPU渲染速度远远快于CPU);如果是NVIDIA的显卡且支持CUDA2.0以上,要开启GPU加速就要去安装一个CUDA2.0以上的驱动,可以去NVIDIA官网下载,具体操作可以自行脑补(其实我也不清楚,因为我的是AMD显卡,哈哈哈哈)。具体设定根据自我需求决定,可以选择高质量渲染,就是时间比较慢,但是精细。
2.png


现在进入扫描窗口。。。
3.png


      注意扫描距离(Kinect离扫描物体的距离)要大于60厘米小于4米,太近太远会扫描不出来。而且要保证旁边没有其他的东西影响扫描(Kinect会扫描在这个范围内的所有东西),最好是在一个东西少一点,空旷一点的地方扫描(当然构建尺寸要合理,这样就不会扫描一大堆没用的东西,构建尺寸以外的东西Kinect会扫描,但是不会被渲染出模型)。按开始扫描键开始扫描。。。
      现在开始扫描。。。。。。

4.png


      如何扫描才能扫描出比较好的模型呢?这有很多种方法。
      最标准也是效果最好的就是利用旋转台和升降台进行多方位上下扫描,就是让人或物体站在旋转台上,将Kinect固定在一个升降台上(注意与物体的距离),旋转台每旋转一个角度(转多少随意,尽量小一点,转慢一点),升降台上下扫描一次(具体多少次,随意,一次就够了),这样继续扫描一两圈,就可以生成比较好的模型了。
      但是很多3D爱好者根本就没有旋转台和升降台,另一种比较方便方法就是,拿着Kinect围绕着人或物体360度扫描,这也是一种不错的方法,但是很容易扫描的过程中扫描的物体偏离模型位置(手抖了),遇到这种情况时,Skanect扫描窗口不会出现绿色,而是白色,当扫描时窗口扫描的模型颜色变为白色且有提示模型偏离时,你要么找回原来的位置,让模型重新吻合,要么停止扫描删除模型重新扫描。
      还有一种奇葩的方法就是,拿着或放着Kinect不动或上下扫描,扫描的人或物体旋转(够奇葩的,这种方式更容易偏离)。还有其他方法,大家可以自己创新。

6.png


5.png


      当已经扫描到一个比较满意的模型时,就可以开始初步修复了。
7.png


      选好处理器和精确度后点击运行,开始脱机修复(不用连接Kinect进行修复),时间有点久(用GPU会快很多),耐心等待一下。在脱机修复过程中,软件会将记录的扫描场景再次扫描,这个时候,当它扫描到某个干扰物时,可以点击Rest的Run选择忽略它。这样干扰物就不会出现在修复好的模型中。这一步其实就是对关键帧进行再次扫描。
      接下来就是最重要的修复了,点击Process。
     Mesh修复(网格修复)

8.png


      例如,当使用Watertight命令(缝合及光滑修复命令)过度,模型变得非常失真,就可以使用Rest命令撤销Watertight命令。
9.png


      当使用Watertight命令时,注意不要将平滑度调太大,否则就会像上图一样造成模型失真,建议一般情况下选择Low低平滑就行了。
10.png


      而至于Mesh修复下的External Edit,其实是用不上的(其实我觉得是没用的),至少目前对于我是没用的。搞不懂它是要干嘛(说是什么用外部工具对模型进行编辑),个人觉得对模型修复没用。估计是把模型上传到云端进行处理吧!
      Geometry修复(几何修复)
      Simplify简化命令,将模型的面减少,能够使模型文件更小,也能有一定的模型修复效果,我是不太喜欢简化,貌似没必要吧,个人觉得面越多模型越精确。
12.png

      Fill Holes填孔命令
13.png

     根据实际情况自己调节填孔命令,我很难给出一个标准答案,反正就是要去尝试一下。
     很明显,肩膀上的洞被很好的修复了,说明选择得很正确。

14.png


      而且模型已经由一个片体(刚开始扫描出来的是空心的片体)变成一个密闭实体了。
15.png


      Move and Crop命令
16.png


      Remove Paert命令 将小于最大模型部分的其他部分去除。参数自己设置,合适就行。
17.png


Color修复(颜色修复)
      Colorize命令中的Inpait Colorless选择ON模型就会出现颜色。

18.png


      另一个Remove Color命令就是删除带颜色的部分的命令,就是把有颜色的模型部分删除掉。
      Remove Colorless则相反,就是把没有颜色的部分删除。
      当觉得模型已经修复的差不多了(不可能单单靠Skanect就把模型修复得非常完美),j就可以把模型导出了。(为了不被人认出,我的模型是故意没扫描另一边的脸,额,注意隐私啊)
      Share项
      Lcocal是保存到计算机,Wep是上传到网络,3D Print是上传到网络打印(这两个国内基本用不了)。
Local下的Save命令是把扫描的源文件(skn格式)保存在电脑中,方便以后修复和使用(只能在Skanect中软件打开)。
21.png


      Export Model导出模型命令是将扫描形成的模型导出,可以导成ply、obj、stl等格式(建议导成obj格式,这样就方便导入其他的软件中进行编辑),至于Colors命令,如果单单是打印的话,没有其他的什么要求,随便选择一个就行了。如果想要保持精确度Faces命令尽量不要去减少。Scale命令就是衡量模型的单位,米、毫米、英寸,选择毫米会更好一点(我个人习惯毫米)。选择好就可以Export导出了。
      当然,单单用Skanect扫描和修复可能并不能满足打印模型的要求,所以,想要更加精确的修复,还需要运用另 外的修复软件来实现(除非扫描的模型已经非常好了),我这里推荐两款模型修复软件,一个是意大利的开源免费英文软件Meshlab,一个是运用比较多的收费的且有简体中文界面的Geomagic。个人比较喜欢Meshlab ,相比之下,Meshlab比Geomagic更加快速,国外大神都是用Meshlab修复的,界面虽然是英文版的,但是功能很强大,英文不太好的童鞋可以下一个有道词典边翻译边学(我学Skanect的时候也用过有道词典,有些单词很少见而且多种含义,有一种被狂虐的感觉)。Mesh的教程我以后会继续补充。希望这篇教程能给大家提供帮助。

19.png



22.png



回复

使用道具 举报

2014-6-6 14:53:40 | 显示全部楼层
请问下,kinect 2.0扫描效果会好点吗?
回复 支持 1 反对 0

使用道具 举报

2014-3-17 13:25:29 | 显示全部楼层
小伙子干的不错/
回复 支持 反对

使用道具 举报

2014-3-17 14:27:58 | 显示全部楼层
本帖最后由 虎视眈眈 于 2014-3-17 14:29 编辑

写得相当详细啊。准备按照贱僧的自己弄一个。
有不懂的再来问
回复 支持 反对

使用道具 举报

小熊  发表于 2014-3-17 15:38:40
要买3D扫瞄仪多少钱?
回复 支持 反对

使用道具

2014-3-17 17:54:51 | 显示全部楼层
悟__颖 发表于 2014-3-17 13:25
小伙子干的不错/

呵呵,多谢夸奖,你去做一个玩玩咯!有不懂的来问我咯!
回复 支持 反对

使用道具 举报

2014-3-17 17:55:56 | 显示全部楼层
虎视眈眈 发表于 2014-3-17 14:27
写得相当详细啊。准备按照贱僧的自己弄一个。
有不懂的再来问

加油啊,有不懂的欢迎来问我啊!
回复 支持 反对

使用道具 举报

2014-3-17 17:59:51 | 显示全部楼层
QQ_C293CC 发表于 2014-3-17 15:38
要买3D扫瞄仪多少钱?

市场上的好多3D扫描仪都是以Kinect为原理开发的,有些就是加了放大镜将扫描距离缩短而已,价格在3000到10000不等,我觉得单单是扫描人像玩玩没必要去买,自己DIY一个就行了,如果是开3D照相馆的话可以考虑一下去买一个专业的玩玩,个人观点。。。
回复 支持 反对

使用道具 举报

2014-3-17 18:33:00 来自手机 | 显示全部楼层
贱僧 发表于 2014-03-17 17:59:51


市场上的好多3D扫描仪都是以Kinect为原理开发的,有些就是加了放大镜将扫描距离缩短而已,价格在3000到10

kinect zoom效果不行极少采用,kinect360做扫描仪效果不行,你的扫描样本就是例子,kinect for windows不错,但是最好采用primesense Carmine 1.09近距离体感,最近可以探测26厘米。来自: Android客户端
回复 支持 反对

使用道具 举报

2014-3-17 21:53:13 | 显示全部楼层
精度不行啊,看起来差别有点大
回复 支持 反对

使用道具 举报

2014-3-18 16:25:49 | 显示全部楼层
QQ截图20140318162522.png
回复 支持 反对

使用道具 举报

推动3D打印

关注南极熊

通知

联系QQ/微信9:00-16:00

392908259

南极熊3D打印网

致力于推动3D打印产业发展

Copyright © 2024 南极熊 By 3D打印 ( 京ICP备14042416号-1 ) 京公网安备11010802043351
快速回复 返回列表 返回顶部