Es gibt 17 Antworten in diesem Thema, welches 12.163 mal aufgerufen wurde. Der letzte Beitrag (11. Juni 2012 um 22:03) ist von sdima.

  • Bin mal wieder in den Weiten des Internets auf ein interessantes Programm gestoßen.
    Es nennt sich Vi3DiM und ist ein 3d Scanner für den man nur eine Webcam benötigt, keinen Laser.

    Eine Demoversion ist auf der Homepage zu finden: https://www.3d-board.de/www.vi3dim.com

    Hier ist ein Youtube-Video, welches den Scanvorgang zeigt:
    <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/tjosgepaGbQ&hl=de_DE&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tjosgepaGbQ&hl=de_DE&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

    Muss aber dazu sagen, dass es bei mir nicht funktioniert hat. Wahrscheinlich ist meine Webcam einfach zu schlecht (unscharf) oder zu wenig Licht.

    Dennoch finde ich das Programm recht interessant, vor allem kostet die Vollversion gerade mal ca. 20,00 $.

    Falls jemand ne gute Webcam hat und es mal testet, bitte hier einen kurzen Erfahrungsbericht posten.

    Gruß

    Mike

  • Siri hatte im AoI Board das hier gepostet:
    http://en.myinventions.pl/index.php?page=3Dscanner

    -> außerdem wahrscheinlich den Vorläufer des Produktes:
    http://www.youtube.com/watch?v=vEOmzjImsVc&amp;feature
    http://mi.eng.cam.ac.uk/~qp202/

    Obgleich hier kein Schachbrett zur Kalibrierung benötigt wird.

    Und das dies hier...
    http://homes.esat.kuleuven.be/~visit3d/webservice/v2/

    ..funktioniert, kann ich selber beweisen:

    Wenn Du die Methoden unterteilen willst, gibt es
    1.) structured light (SL)
    (m.E. *die* Methode überhaupt für Geometrie - wird von fast allen prof. Messsystemen genutzt, Textur interessiert dabei nicht,
    aber es gibt Systeme von Minolta und Kodak die das können.)
    2.) Laser scanning wie eben von DAVID vorgestellt (obgleich die Software auch SL unterstützt) - günstige Methode - teils gute Ergebnisse.

    3.) Photometrisches Scanning wie vom Arc 3D Service oder das was Du hier gepostet hast. - Vorteil: Sehr günstig.

    3.a.) Sachen wie der Milkscanner - Hauptvorteil: Ebenfalls sehr günstig - Hauptnachteil: Texturen bekommt man schlecht.

    4.) Abtastscanner - absolut genau(er) als die anderen Methoden (~ ± 0,005mm) - sehr teuer, aber gut und leicht bedienbar.
    Arbeiten heute mit Laserscannern Hand in Hand , - da alle Lichtsysteme auch Schatten haben -d.h. Sie kommen nicht in tiefere Löcher,
    weder zum Messen, noch für Texturen. (s. den Ganzkörper -Laser Scan).

    Vid

    PS: Geeignete Suchworte für Google sind "Homebrew 3D Scanner" und "Structured Light 3D Scanner"

  • Mike312 - Hello,I'm programmer of "vi3dim".
    It works unfortunatelly only with relative good cameras with 2 Mpixel sensors like TEAC MX-10 ($15) or better.
    I'm working on this issue but i don't think will have good result with cheap cameras.Ask somebody for better camera for sometime.
    Currently our program generate relative good point cloud from wide class of objects but we have bad triangulation and realtive bad texturing- I continue to work on this problem. It is very complicate problems :) ...

    vidiot
    QiPan program based on openCV program-it must have calibration on checkboard before scan anyway.It based on features detection and it does'n suitable for weak structured objects.


  • QiPan program based on openCV program-it must have calibration on checkboard before scan anyway.It based on features detection and it does'n suitable for weak structured objects.

    Hello sdima,

    cool that you´ve found this thread and forum so fast...
    You assume that it must be calibrated somehow because it is partly based on an open CV tool?

    All I can read in here
    http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/BMVC09.pdf
    is, that PROFORMA uses motion tracking to achieve that without the typical calibration.
    In their tests they seemed to have used a camera with 640 x 480 pixel res. - and their results look quite good.

    But as long as it is not available - whether free of commercial - it´s vapor ware for me - but interesting anyway.
    A system that calibrates "inline" during the process w/o user interaction -> best of best!
    A bunch of user errors less.

    Btw: How about using a better for your software - my old canon ixus v3 (3.1 Mp) can be used as a webcam.
    Thus it should be enough to test your software.

    Cheers
    Vid


  • Currently our program generate relative good point cloud from wide class of objects but we have bad triangulation and realtive bad texturing- I continue to work on this problem. It is very complicate problems :) ...


    How about looking into Meshlab resources for converting point clouds to tris?
    Or does that collide because of the comercial character of your software (I just guess so).

  • Camera has internal parameters - like optical distortion etc , and external - like camera position,orientation etc.
    QiPan program use calibration of internal parameters before scan and calculate external on the fly.
    BTW - on the image ("http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/BMVC09.pdf" ) we can see Logitech webcam pro 9000 - HD camera which cost $100.("http://www.logitech.com/en-us/webcam_communications/webcams/")

    I have no problem with implementation of any algorithm,which described clear enought.
    the problem - point cloud is very unregular and known algos don't work well :(
    In development version we have CDT (constrained delaunay tetrahedralization),PB (Pivot ball) etc...
    You can use meshlab for reconstruction of mesh - but it is only half automated(need work by hand).I think about option to export point cloud to file in demo version.

  • Hi sdima,

    welcome to this forum and many thanks for your work on that cool program. ^^ :thumbup:

    I have a Logitech Pro 9000, so I could see what results can be achieved as soon as my time will allow so...
    (Didn`t know about this checkerboard method before...)

    cheers
    space

    Geist ist geil!

  • Hello
    Thanks to all for the interest to our program and cool response.
    Several word about QiPan program:
    1.It seems very cool !!!
    2.It is very clever algorithm !!!.
    3.It cannot work with weak textured objects :( . I was rejected this way some time ago, as unperspective to reconstruct objects like attached images.

    About ARC 3D Webservice.
    Using cluster of 5-15 Chinaman's can reconstruct any mesh from the photos :)
    Seriously , i think they use human assisted mesh reconstruction (may be with very convenient program) ,if they have some software for recon, why impossible to buy it?

  • quote:"...why impossible to buy it?"

    Guess they`re going to keep their business... ;) Looks quite well so far, but the folks out there are searching for real free solutions, respectively the hobbyists.

    Fiddled around with DAVID a while ago, they have clever solution for grabbing a texture while scanning (though it`s a bit rough with the free edition, but seems to work great in commercial version).

    Geist ist geil!

  • Hello sdima!

    Thanks for this great software! And yes, I have a really, really cheap webcam :( . The images are not sharp enough to recognize the checkerboard.
    Perhaps I could get my video camera with a higher resolution working as a webcam and try again.

    Here's something that you could perhaps use for Vi3DiM:
    There's software like "3dsom" or "3D-Snapper". It is possible to take still images of an objekt from different viewpoints.
    The object has to be placed on a patterned paper (like the checkerboard in your software).
    Perhaps you could implement something like this into your software. So it's possible to use images with higher resolution and the textures would be much better too.

  • Mike, many many thanks for the links,I don't known them...
    I've analyzed the links:

    1.3d-snapper - site doesn't exist unfortunately.(I haven't found it,only old version on tucows )

    2."3dsom" - very interesting and good quality mesh.I think ,I understand their technics:
    a. Find outline of the object by high contrast background.(include internal insertions like cap handle)
    b. Project them on 3d space
    c. Make mesh by marching cubes (or some similar method)
    d. Blended Texture into the mesh from images

    Very nice 3d objects.
    Cons:
    1.Cannot make internal cavities like on tee cap.:( (automatically )
    2.Crazy, crazy, crazy price.
    3.Not so fast process (taking photos,move them to comp ,etc..)

    From some point of view "vi3dim" it is some mix between "QiPan" and "3dsom" methods.I think in the "Pro" version we can get comparable quality of objects for wider (relative to both "QiPan" and "3dsom") class of objects , but I have to do a lot of work for it :(.
    This project ("vi3dim") currently is the more my hobby,I'm working in the medical imaging division of very big company < :) > , and I do "vi3dim" in my free hours.
    I want to it completely free , but i have to pay for site,testing hardware,etc...
    Open source it is problematic too,because complexity of project (It is hard to divide this program to isolated elements),and a lack of GPGPU programmers in the world. I have more then 30 years of programming experience and i know how hard to organize work of several programmers on research code.
    So...

  • Just tried another webcam. But still with a resolution of 640x480 :S but sharper pictures.
    This time the checkerboard gets recognized! But sadly not constantly while turning it around :(
    Because of that the reconstructed 3d object has several errors and deformations.

    Still need to get a much better webcam :D

    So keep up the good work! :thumbup:

  • tomorrow evening i will put new version on the site (version 1.2) (I have already it on linux,today evening i will compile it for win32 with minor functionality check )
    New in the version 1.2:
    1.Constrained delaunay tetrahedralizatiion ,instead of modified convex in meshing step in old one
    2.Ability to export points cloud into "obj" file in demo version!!! (You can triangulate it with several programs like meshlab,etc)
    3.Split meshing and texturing into independents steps.

  • If I could get my old canon to work as a webcam I´ll try that on Wednesday.
    One thing that came to my mind:
    Due to the fact that you need many black and white squares (how many do one need at least?) - the object size has to be much smaller
    than the resolution of the camera, which obviously leads to the biggest drawback here.
    So the question is: How close can the object be? Is it possible to have different sheet sizes for the checkerboard? (How about ISO A0? - For scanning humans?)

    Cheers
    Vid

  • @vid

    I agree , in the current version we loss a lot of resolution from the camera.
    "How close can the object be?" - i don't know,detection module can trace some time quads , but if it loss them it must view all checkboard for synchronize..

    I'm working on better detection module for better usage of camera resolution...

    You can use any size of the paper,only restriction is the number of quad on the paper(must be 8x13 ), so You can print it on A0 for example,or simple paint them on the road :) ,metrics on the mesh and point cloud in the quads (one quad - is the 1.0)

    Einmal editiert, zuletzt von sdima (7. Juni 2010 um 21:13)

  • Hi, sdima !

    The program seems to be very good, but before I try it: - is it a must to print the checkerbord or can I use one, which I've made by myself ?
    Because, if I have to print it, I fear my ink-printer will be empty afterwards.

    Honi soit, qui mal y pense.

  • Ghostpanther

    It must be 8x13 black-white board with exactly same quads (each quad is the same size as another quad),You can draw it with black color pencil by hands or ask somebody print doc file (which program can make) on some printer. You can reuse this page after scan :) , for another scan for example...