找回密码
 注册
楼主: 梧桐树狮子

3D扫描仪diy。

   火.. [复制链接]
发表于 2014-8-3 13:55:45 | 显示全部楼层
谢谢楼主分享.
回复 支持 1 反对 0

使用道具 举报

发表于 2014-8-3 14:04:12 | 显示全部楼层
大有前途。非常佩服楼主。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-8-3 14:33:34 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 15:27 编辑 ) S8 z2 h. t# |1 D; B) j! [$ p

$ q0 \% m5 z. m: N: M1 I+ x5 ~! Q3 i 135924wut31yl8ugr34pc8.jpg 7 D; {. O4 r  \" x2 J
这可能是最简单的一个3D扫描设置,如果你有opencv和openGL基础,实现这个并不难。图是我用鼠标画的,很恶。。大致能看明白就是了。
# D$ _+ b5 Q1 S5 J+ `: L
4 [( {; ]( F4 N) |* Z红框内的部分是一个线性激光器,它投出来的耀斑,打在墙上形成一条细线就是了。淘宝上有卖的,一般几十块到百十块不等。在这个图里,红色的激光器投出一条竖线,竖线投在一个罐子上.形成一条红色的亮线.这个罐子就是我们要扫描的对象.
6 @  B8 [: `& P( S( w" r' e4 n
  Y8 i& ?3 G, p! p* [% @绿框所指的盘子底座,是一个可旋转的底坐,要扫描的罐子就放在上面.7 |- X# s; k6 ?. x' @+ w

5 B# Q0 O  L0 M蓝色的是一相机.; k- P3 k& p7 K9 J& w8 N3 o( i

  Y. i4 K" X! A2 \把相机放在轴线C上,线性激光器放在轴向L上,让被扫描的物体绕R轴旋转.并保证这三条轴线两两垂直.现在可以开始扫描了.
! K4 w1 @* t, J" r' Q) B" z% c$ f; H& [9 v  c0 c+ v2 i! f
把相机设置为曝光度较低,或者最好干脆在一个全黑环境中来拍,拍的结果最好是除了投在罐子上亮线之外什么都是黑的.
6 c! D2 {. {% x, e/ s0 O- K旋转底座每转一度拍一张,最终拍了360张,你就得到了360个罐子的半剖面线.(实际可能360张不够,)
1 W8 {, a8 [  V7 v9 E2 b  P通过opencv识别每一条半剖面线,  y9 E) J7 T9 @. G3 H$ F# R( V8 d
然后在将这些曲线通过loft生成曲面。原理就像下面这个,如果用过maya,这个图应该很眼熟。
. `8 X1 C* j9 ^# h
' a  }& b7 l6 B2 f3 ^9 J6 |; i& t 140725gxii4smdao1dzdwz.jpg
4 O% W; M- a0 ?( s# z8 Y& t. E, _5 W0 r1 X  _" Q0 j- s
只要旋转台转的够匀速,拍的够清楚,这个理论上就能实现3D扫描了。。) a6 J& q9 ]9 L5 F, B! H
事实上。。。。。。。
, y! C* L* ]* ]# k
6 G3 M, T4 a2 u) \2 o终结者2里面那个T2000液体金属人的模型,就是这样的原理扫描的演员,有兴趣的可以找找终结者2的制作花絮看看,本想截个图来的,但这会儿公司把视频网站全掐了。。。
  h+ S. ]: O* Q( M9 u; I- F9 |( [" n. A7 Q
找了一个差不多的图,大家看看:
* @: U: z: L1 ~0 b 3D%20scanner%20setup-500x500.jpg 这个大家可能说摄像头和激光器之间的夹角不是垂直的啊,嗯,其实拍下来在软件里校正成垂直的就完事了。。。。又是三角函数的题目。。。。。。。只要摄像头和激光不在一条直线上,就问题不大。
2 Q# K; n- u- Z& i7 |8 T% K; ^3 n; a) k% }
) f. A1 L! p; n$ ~
另一个比较山寨的同类算法产品。; T0 }7 @! ?( a0 m) R& C! \  P

9 N; D; F' A! j1 M9 j fabscan.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-3 14:51:25 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 14:58 编辑 ! O) N# [5 H* Z4 Y) p% E
8 c. s5 n6 y; w! J6 y
1519.pic.jpg
; b1 J- A( y* d4 ^2 `) u6 `
0 h3 P6 a* D5 m4 ^2 g% R这是david 3d的官方原理示意图。
( p/ \9 C  C# {: B* V
8 D  E3 X% {* \- a大家注意看,头像背面有一个带着圆点斑的图案的直角夹角。
# w  y- n/ X  q. t
. x# u, s/ B% j: e7 ~4 w( |' h! Z这个和上一个原理上差不多,不过计算量要大的多就是了。
" e! O& ^1 j/ q* B$ t* |/ s1 ^( y9 C: ?1 t8 Z; W( i
它是通过背板上的黑点,来确定摄像头和直角背板之前的相对位置,然后再用激光投到扫描物体上形成的亮斑曲线来确定物体截面,最终形成曲面,这个算法其实说白了,也就是一立体解析几何的问题。只不过这是瞬间计算成几十万个点的相对位置罢了。。据我处某位研究opencv的同志说,david的抗干扰的取样算法还是很牛的,取得一个空间点的位置不难,比较难的是取得的点的位置是真实的。反正人家已经作好了,直接拿来用好了。。。不费那个神了。。。0 B. z/ O- m8 R) z5 K

- N) [& s$ M4 W8 P( r7 O此软件我当时买的正版Ukey大约是二百欧元,某宝和谐版么。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-3 15:03:58 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 15:15 编辑
# x! j5 ?" G( [3 t% [  ]9 z2 b" d# v5 i2 ]
http://www.david-3d.com/
# _  w: E1 ~! S  P4 R4 `5 N' j# u/ k2 H' P' ~' w  b8 ~; @
大卫3D的官网,可以看看他们的论坛和画廊,有些真的扫描的挺吓人的。
- Q5 s# s' O. {6 v- x2 t4 ?7 u9 n$ j' y4 a' T" }+ Q0 w
6809812167683d869920e80ba9d80f47.jpg 5 B5 h- \5 H) N
官网的一个很吓人的图,不过我怀疑这货扫的可能不是人指头,而是一个放大模型,或者这货的相机和投影设备都是自己改造过的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-3 15:26:16 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 15:41 编辑 - F; w1 v, i, f# t- e7 ^# E! o6 |
  e, d; h( |( t& E
最后再说的就是结构光了。。。这是david3D提供的一个我觉得可以称为划时代的工具,它确实是实现了把一个高富帅的工具,拉到了屌丝水平的价位。
4 n9 `  F/ R  Y; U  k+ g: m3 F
152016rfkrlkhfqzdo4sdz.jpg 0 M: `6 k" X4 g* W. j9 I/ S
结构光投影在物体表现的样子,所谓结构光,就是用投影仪投出来的一组特定的条带,这个条带是动画的,有特殊的编码规律,用摄像头拍到这组条纹的扭曲和形变以及动画之后,根据投影仪和摄像头之前的夹角关系,就可以快速的重建出来曲面了.(原理某理科同学给我讲了吧啦吧啦的一天,我表示没听明白......好在用起来很简单.)
8 N6 z0 Z% {& {: O* R; F0 r& f) P- A0 G
( d* w( q( c* x" M4 V% z" p: S8 ?, J3 z6 y8 }  i% e! t
151959np8vimoruys1opz4.jpg
3 d  m4 }& J- Q/ E& w9 P4 F  P7 W" l2 h 8a3a6e2a631d06ee215401eb1c0c49a4.jpg
& M  X' v$ {+ R0 d- \) X
3 z8 w3 _, M5 vdavid 3d官网提代的配置图,固定好的投影仪和摄像头。在软件只一次配对以后,只要这两个相对位置不变,就不用再对它们进行配对了。这东西是么子概念累,简单说,就是很多几十上百万的3D扫描仪,其实就是这么个东西,只不过硬件相对来说,更优选更可靠罢了。如果我们能找到合适的硬件,就可以实现一点不逊色于专业扫描仪的效果了。
/ ^4 H+ a/ P) c" s  e( N
  u9 l+ f5 [: V- n7 o9 o, U IB_scan002.jpg
7 ?1 ]. `' d6 \- e结构光扫描的过程截图,(网上找来的。)& R) G% A  |( ^9 n2 Y* @0 ]" [
4 ?7 _+ x; M) _! G7 n9 W0 G) C
IB_scan001.jpg
1 F5 P* [5 N$ H3 P" d
0 H1 t  q+ i) @8 g/ [) W8 c9 }" n相比起其它不靠谱的DIy3D扫描仪来说,目前david 3D这个,已经凑凑合合达到了可以使用的地步,甚至拿来作一些工业逆向可未尝不可了。拿来作工艺品文玩之类,我看已经足足够用了。
' O; B" B  W; h& w
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-3 16:01:23 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 16:04 编辑 & H/ S4 z7 @' g5 E" y- ?

9 u8 T4 n/ Q( H! B6 v* D0 \6 A7 M/ g+ b最后说说影响DAVID3D扫描结果的一些问题。) H( ]- r) x# n8 U
1 t. z8 |) J/ ~. j: E' D. O# q
很多人用david自带的那个天使视频文件,生成的曲面质量相当之好,但自己用激光,就怎么了生成不了那么高质量的曲面。这里有几个问题值得注意一下。8 ~. {) G  e$ `7 s2 O% s/ @, O

9 e- ~$ O0 K/ i  y7 V; v1.首先是环境光线。daivid说到底,还是基于可见光的,它受光线影响很大。特别是在激光扫描时,摄像机和背板对位时,要有较强的环境光线,而在取样激光曲线时,又不能有太高的环境亮度。好在对位也只用作一次。9 p: I/ F* U3 K: V
2是物体表面处理。如果允许,给物体表现喷一层田宫水补土,那种接近中性灰的表现非常理想,表面太白的话,激光在表面形成的条纹会有较大的衍射边缘,会严重影响精度。如果太黑的话,有可能摄像头会捕捉不到表面的激光条纹。
+ h2 c: {9 \8 g: D, `* A4 _( h' r/ d, R8 j+ x- e
3,摄像机的设置,如果使用的iso太高,或者摄像机质量太差,或者太过于自动化,都会造成摄像机本身的燥点过高而影响扫描结果。最好是使用低感光度,手动曝光来拍摄。1 }' c6 i  G5 f+ E
$ I" i5 k: g; J) I
结构光的使用注意点与此类似。% h+ \2 d4 K5 s2 F1 B$ r

/ B" q( d& H2 b) m5 O关于结构光,多说几句,对结果影响比较大的是投影仪,这个真心很无奈。可以说市面上卖的拿来看片的投影都几乎无法直接用。。。。。它倒不要求精度,它对投影的景深要求比较高。。。。。。而大部分的投影,镜头光圈又都是不可调的。。。换镜头这个事儿吧。。。。。。
回复 支持 反对

使用道具 举报

发表于 2014-8-3 16:10:25 | 显示全部楼层
自己DIY一个 要多少钱那
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-3 16:22:18 | 显示全部楼层
本帖最后由 梧桐树狮子 于 2014-8-3 16:24 编辑 7 U/ ~3 x2 V  z# l: p& |  b" s
天信科技 发表于 2014-8-3 16:10 back.jpg # t/ p8 d0 N+ z% {2 [
自己DIY一个 要多少钱那
$ D( B+ H. f: P5 y% w" t
4 I# A# |8 d8 h2 X
最简单的情况,
3 ?3 u' b7 A; ?7 E/ k/ B
+ k. f- I  v; k' I基础套餐:
  ^2 I* S( t" [一套david 3D和谐软件,某宝XX元,一个略好一点的摄像头,推荐罗X的720P的。百多块,一个线性激光器,40-50块,一台电脑,合计不到二百。2 M4 Z. N* F. ^! Q1 T7 Q" l$ s# R
3 V/ \4 X/ f! n* p1 ~7 z
比较复杂一些的情况:基础套餐加自制转盘。一个直线电机加调速加开关加木头盘。。。视木头材质而定,非要用红木那就贵了。
3 B8 c$ F! e( b
6 p# O# J0 o" u6 M3 \: m* {更复杂一些的情况:上一套餐去掉线性激光器,加上国产某品牌800X600投影仪,估计几百块钱吧。7 Z( K- k, s; p

$ @" \4 A# H% P2 j再复杂一些,上一套餐加国产镜头,或自行改动镜头结构,视动手能力而定。。。- x. X" L, x: f1 G$ G' _

! A5 J- \: N0 q再复杂一些,高清投影加定制镜头。。。。7 }+ k2 G* q: i3 Q, x

3 |) O2 ^' a; b: N. _$ J7 p再高大上一些,找点莱卡蔡司什么的镜头。。。。这花费就没数了。。。
9 J9 A" Y4 k: M9 o
7 y  T% A" R/ S2 E0 d' |5 l- D' v对了,忘记摄像头升级了。
- V8 V9 z& s; T
+ W- @, \9 q6 ~8 N& s( G从罗X的摄像头,一直可以用到sony4K配高速采集卡。各有各的玩法。越贵越好。。。* x0 |, R: {& L3 F

" ]$ l& }2 _3 O6 l8 G5 S
0 t3 A7 z- k& g
回复 支持 反对

使用道具 举报

发表于 2014-8-3 16:23:16 | 显示全部楼层
梧桐树狮子 发表于 2014-8-3 16:22 ( }; {2 R6 R; C
最简单的情况,
  c: o8 \* V/ r$ J; ~- S2 N! V# }8 l/ p* C
基础套餐:
# R, _% k1 X+ M3 ~' d9 x) X
可以留个QQ或者加我QQ 20806277 我想DIY一个 希望可以指点指点5 \+ f. \# j8 E) ^- }4 A
回复 支持 反对

使用道具 举报

发表于 2014-8-3 17:05:57 | 显示全部楼层
没研究过,看看了解一下
回复 支持 反对

使用道具 举报

发表于 2014-8-3 19:04:17 | 显示全部楼层

  e! _6 ]) W2 e能扫描2cm的东西吗,精度如何
回复 支持 反对

使用道具 举报

发表于 2014-8-3 20:56:32 | 显示全部楼层
感兴趣,能提供套件吗?
回复 支持 反对

使用道具 举报

发表于 2014-8-3 21:29:11 | 显示全部楼层
高大上啊,有机会学习
回复 支持 反对

使用道具 举报

发表于 2014-8-3 23:39:25 | 显示全部楼层
对逆向工程有了进一步的认识,多谢楼主,有机会做套简易的试试,用OPENGL自己编太麻烦,简单理想模型还行,像复杂的拟合等等问题,还是用专业软件好!会用MACH3不一定要自己编个MACH3
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则


快速回复 返回顶部 返回列表