With the scan data, we tried to do registration using Cyclone, the
software of Lecia scanner. However, Cyclone can only provide a
quite rigid registration. The slight movement of the model during
the scan (we can discuss it in more details in Section 5), causes
serious unmatch problems. The registered model using Cyclone is
shown in Figure 4. We can see obvious unmatch at the elbows and
legs.
So first we exported the data to a PTX file from Cyclone and converted
it to a PLY file using the software Meshlab. Unfortunately
the ply files from Meshlab were not able to be used. When we exported
the PTX files from Cyclone, Cyclone put all of the scans into
the same coordinate system and put the camera overhead. So when
we tried to use VRip to resolve the surface from the point cloud,
it would not get proper weights to assign to vertices. VRip uses
the dot product between the view direction and the normal for the
surface to get a weight. This weight represents the confidence that
the algorithm has in this point. But since the view direction in these
PLY files did not correspond to the original orientation or camera
position, we received erroneous results.
Therefore, to solve this problem each surface was pulled back into
Meshlab and rotated back to the original orientation by hand. Also,
it was noticed that the model had moved slightly during one of the
scans and his right arm was significantly forward, in order to get
a good surface we deleted all of the points on the arm in that scan.
Then these new PLY files were re-registered using Scanalyze, a program
for aligning range image data distributed by Stanford, who
also distribute VRip. Using Scanalyze, we registered the data and
exported it for VRip, a function within the program which saved
the transformation matrices to get each scan into a single coordinate
system. This method did not destroy the original view direction
and allowed VRip to extract a surface from the points and fill
all the smaller holes using space carving.The resulting meshes were too large to actually work with, containing
over 3 and a half million polygons. Therefore, we needed to
decimate the mesh using PlyCrunch, a simplification program included
with VRip. This was run three separate times to simplify
the mesh to under 10000 polygons. The resulting mesh was full
of holes because the triangles had been deleted but the points were
accurate and part of the surface created within VRip. So this decimated
mesh was brought back into Meshlab and resurfaced from
the points and smoothed. See Figure 5.
Finally the mesh was brought into 3dsMax, where using an incredibly
simple hole filling method was used to fill any remaining holes.
This method just identifies the holes and connects the vertices from
one edge to their closest neighbor on the other edge. Following
hole filling, the mesh was smoothed again, the scanned points on
the models head were removed and the head from Facegen was at-tached to the mesh. See Figure 6. Then using 3ds Max’s biped
object and stock motion capture data, the mesh was rigged and animated.
Then using Mental Ray, a skin shader was applied to mesh
which implements Sub-surface scattering for realism. Several snapshots
of our animation are shown in Figure 1.
ด้วยการสแกนข้อมูลที่เราพยายามที่จะทำการลงทะเบียนการใช้ไซโคลน ,
lecia ซอฟต์แวร์ของสแกนเนอร์ อย่างไรก็ตาม ไซโคลนสามารถให้
ค่อนข้างแข็ง การลงทะเบียน เล็กน้อยในการเคลื่อนไหวของโมเดล
สแกน ( เราสามารถหารือในรายละเอียดเพิ่มเติมในส่วนที่ 5 ) ,
/ YES สาเหตุปัญหาร้ายแรง การลงทะเบียนรูปแบบการใช้ไซโคลนคือ
แสดงในรูปที่ 4 เราสามารถเห็นชัดเจน / YES ที่ข้อศอกและขา
.ดังนั้นก่อนอื่นเราส่งออกข้อมูลไปยังแฟ้มอีกจากพายุไซโคลนและแปลงมันเป็นเร่
ไฟล์โดยใช้ซอฟต์แวร์ meshlab . ขออภัย
ใช้ไฟล์จาก meshlab ไม่สามารถที่จะใช้ เมื่อเราส่งออก
ไฟล์อีกจากพายุไซโคลน , พายุหมุนใส่ทั้งหมดของการสแกนลงในระบบพิกัดเดียวกัน
และใส่ในกล้อง ดังนั้นเมื่อ
เราพยายามจะใช้ vrip เพื่อแก้ปัญหาผิวจากจุดเมฆ
มันอาจจะไม่ได้รับน้ำหนักที่เหมาะสมให้กับจุด . vrip ใช้
จุดผลิตภัณฑ์ระหว่างมุมมองทิศทางและปกติ
ผิวเพื่อรับน้ำหนัก น้ำหนักนี้แสดงถึงความมั่นใจที่
อัลกอริทึมได้ในจุดนี้ แต่มุมมองทิศทางเหล่านี้
เพียงไฟล์ไม่สอดคล้องกับแนวเดิมหรือตำแหน่งกล้อง
เราได้รับผลลัพธ์ที่ไม่ถูกต้อง ดังนั้นไปแก้ปัญหาแต่ละพื้นผิวถูกดึงกลับเข้ามา
meshlab และหมุนกลับทิศทางเดิมโดยมือ นอกจากนี้
พบว่าแบบจำลองได้ย้ายเล็กน้อยในช่วงหนึ่งของ
สแกนและแขนข้างขวาของเขาอย่างรอคอย เพื่อที่จะได้รับการพื้นผิวที่ดีเราลบทุกจุดบนแขนที่สแกน .
แล้วเหล่านี้ใหม่ใช้ไฟล์ได้อีก scanalyze ลงทะเบียนโดยใช้ โปรแกรม
สำหรับการจัดเรียงภาพช่วงข้อมูลแบบกระจายโดย Stanford ที่
ยังกระจาย vrip . การใช้ scanalyze เราลงทะเบียนข้อมูลและ
ส่งออกสำหรับ vrip ฟังก์ชันภายในโปรแกรมซึ่งช่วยให้การแปลงเมทริกซ์
แต่ละสแกนลงในระบบพิกัดเดียว วิธีนี้จะไม่ทำลายต้นฉบับดูทิศทาง
และอนุญาต vrip สกัดพื้นผิวจากจุดและกรอก
ทั้งหมดเล็กลงหลุมใช้แกะสลักพื้นที่ ส่งผลให้ China มีขนาดใหญ่เกินไปจริง ทำงานกับ ประกอบด้วย
3 และครึ่งล้านรูปหลายเหลี่ยม ดังนั้นเราจึงต้องทำลายตาข่ายที่ใช้ plycrunch
กับ โปรแกรมการรวม vrip . นี้ถูกเรียก 3 ครั้ง แยก ลด
ตาข่ายภายใต้ 10 , 000 รูปหลายเหลี่ยม ส่งผลให้เต็ม
ตาข่ายของหลุมเพราะสามเหลี่ยมได้ถูกลบ แต่จุดคือ
ส่วนที่ถูกต้องและของพื้นผิวที่สร้างขึ้นภายใน vrip . ดังนั้นนี้ทำลาย
ตาข่ายถูกนำกลับไป meshlab และเข้ามาจาก
จุดและเรียบ . เห็นรูปที่ 5 .
ในที่สุดตาข่ายถูกพามาที่ 3 ที่ใช้ง่ายอย่างไม่น่าเชื่อ
ช่องกรอกเป็นวิธีเติมหลุมที่เหลือใด ๆ .
วิธีนี้เพียงแค่ระบุหลุมและเชื่อมต่อจุดจาก
หนึ่งขอบกับเพื่อนบ้านของพวกเขาใกล้บนขอบอื่น ๆ ต่อไปนี้
ช่องกรอก , ตาข่ายคือเรียบอีกครั้ง สแกนจุดบน
รุ่นหัวถูกถอดออกและหัวจาก facegen อยู่ tached กับตาข่าย ดูรูปที่ 6 แล้วใช้ 3ds Max เป็นสัตว์สองเท้า
วัตถุและข้อมูลจับหุ้นเคลื่อนไหว , ตาข่ายถูก
และภาพเคลื่อนไหวแล้วใช้จิต เรย์ ผิว shader ที่ใช้เป็นตาข่าย
ซึ่งใช้ย่อยพื้นผิวกระเจิงเพื่อความสมจริง . หลายภาพรวม
ภาพเคลื่อนไหวของเราจะแสดงในรูปที่ 1
การแปล กรุณารอสักครู่..
