Luận văn Tóm tắt Kỹ thuật Render Volume trong hiển thị dữ liệu 3D từ hình chiếu
Cùng với phát triển của Đồ họa máy tính và Xử lý ảnh số trong máy tính làm thay
đổi sự tương tác giữa người và máy, khi các kỹ thuật ứng dụng đồ hoạ ngày càng cao hơn
nên nhiều người quan tâm nghiên cứu đến lĩnh vực này. Do đó mà các ứng dụng đồ hoạ
trên máy tính được ra đời như: phim hoạt hình, Game với các hệ thống thực tại ảo đã
đóng góp cho sự phát triển chung của nghành Công nghệ thông tin. Vì vậy đồ hoạ máy tính
trở thành một lĩnh vực hấp dẫn và có nhiều ứng dụng trong thực tế.
Hiển thị dữ liệu 3 chiều (3D) từ hình chiếu được coi là các bước khởi đầu cho hệ
thống mô phỏng thực tại ảo, góp phần tạo nên hệ thống mô phỏng hoàn chỉnh. Một trong
những cách tiếp cận hiển thị dữ liệu 3 chiều phổ biến hiện nay là dựa trên kỹ thuật Render
volume.
Trong quá trình hiển thị dữ liệu 3 chiều ngoài các vấn đề hiển thị dữ liệu đảm bảo
chất lượng còn phải đáp ứng yêu cầu về thời gian hiển thị cho các bước mô phỏng. Hiển thị
hình ảnh ba chiều của các vật thể thực từ hình chiếu là một trong những lĩnh vực thu hút
được sự quan tâm nhiều nhất của giới nghiên cứu trong lĩnh vực công nghệ thông tin trong
mấy chục năm qua. Hình ảnh hiển thị từ máy tính đã được sử dụng hiệu quả trong nhiều
lĩnh vực khác nhau như giáo dục, giải trí, kiến trúc, đặc biệt là chuẩn đoán hình ảnh trong y
tế, . Kỹ thuật Render volume trong hiển thị hình ảnh 3D từ hình chiếu là một đề tài mới
mẻ và có ứng dụng lớn trong trong lĩnh vực tái tạo và phục dựng đối tượng.
lập phƣơng trong thuật toán Marching Cubes Thuật toán MC tạo ảnh có độ phân giải cao. Tuy nhiên cũng như Marching Square, nhược điểm của thuật toán này là có thể tạo ra những lỗ (hole) trong bề mặt. Nguyên nhân là chúng ta có thể xây dựng những mặt khác nhau cho cùng một trường hợp (ambiguous face ). 16 Hình 2.13 Một trƣờng hợp lỗi của Marching Cubes Tuy nhiên, có một số kỹ thuật đ ược đưa ra để khắc phục điều n ày, ví dụ kỹ thuật Asymptotic Decider của G.M.Nielson v à Bernd Hamann (Computer Science Arizona State University) đưa ra năm 1991 . + Marching Tetr ahedra (Marching Tetrahedrons, MT) : đây cũng là một thuật toán được cải tiến từ thuật toán Marching Cubes. Thuật toán Marching Cubes xây dựng một mặt trong khối lập ph ương gồm 8 voxel kế cận, đơn vị thể tích này còn khá lớn. Để giảm các phép tính Doi, Guezie, Treece và một số tác giả khác đã chia khối lập phương thành các đơn v ị thể tích nhỏ hơn là các khối tứ diện. Ví dụ Gauzie đã chia khối lập phương thành 5 khối tứ diện. Phương pháp này giúp bề mặt tạo ra khép kín hơn (tránh những trường hợp ambiguity) và định hướng hơn (to be closed and oriented). Ngoài lí do về kĩ thuật, các tác giả này phát triển thuật toán Marching Tetrehedra còn vì lí do thuật toán Marching Cubes được bảo hộ bản quyền. Mặt khác phương pháp này sẽ tạo ra nhiều tam giác hơn phương pháp Marching Cubes và ta phải xác định cách chia khối lập phương thành các tứ diện. Hình 2.14 Chia khối lập phƣơng thành các khối tứ diện 17 Hình 2.15 Hai trƣờng hợp mặt phẳng đi qua khối tứ diện trong thuật toán Marching Tetrahedra Cả hai thuật toán Marching Cubes và Marching Tetrahedra đều có nhược điểm là tạo ra nhiều đa giác (trong đó có nhiều đa giác không cần thiết) và pooraspect ratio. Trung bình trong thuật toán Marching Cubes mỗi khối lập phương sẽ tạo ra 3 tam giác. V ì vậy một tập dữ liệu 32x32x16 có thể tạo ra 3000 tam giác, một tập dữ liệu 256x256x128 có thể sinh ra tới 820000 tam giác. Có nhiều thuật toán đã được đưa ra nhằm làm giảm số đa giác này. Các thuật toán này được gọi là các thuật toán đơn giản hóa lưới (mesh simplification algorithm). Các thuật toán MC, MT cũng không hiệu quả lắm đối với những tập dữ liệu lớn. Vì khi thực hiện với máy tính thì ,phép tìm kiếm trong các thuật toán này là phép tìm tuyến tính. Với những tập dữ liệu lớn ta phải có những kĩ thuật khác. + Dividing Cubes: Thuật toán này được đưa ra để giải quyết tình trạng thuật toán MC và MT thường tạo ra số đa giác nhiều hơn số pixel và có thể gây ra tình trạng “high rendering ov erhead”. Dividing Cubes được phát minh bởi Cline vào năm 1988 và đư ợc cấp bản quyền. Ý tưởng của Dividing Cubes là không vẽ các đa giác mà chỉ vẽ các điểm. Để vẽ một đường ta tìm các pixel có giao với đường đó, sau đó chia nhỏ pixel này. Hình 2.16 Minh họa thuật toán Dividing Cubes để vẽ đƣơng trong mặt phẳng Để vẽ mặt trong không gian 3 chiều trước hết ta cần tìm các voxel có giao với mặt, 18 sau đó chia nhỏ voxel. Tiếp tục tìm kiếm và chia nhỏ cho đến khi đạt đến độ phân giải cần thiết. Tìm những điểm giữa (mid - points) của voxel đó sau đó dùng phép chiếu để chuyển thành các pixel. Hình 2.17 Minh họa thuật toán Dividing Cubes trong không gian ba chiều Bề mặt tạo bởi kỹ thuật Dividing Cubes trông mịn hơn. Tuy nhiên, nếu các mẫu chia còn lớn hơn độ phân giải màn hình chúng ta s ẽ nhìn thấy cấu trúc của bề mặt. Một số kĩ thuật tăng tốc cho SR: + Surface Decimation : T ối ưu hóa số đa giác dùng để biểu diễn bề mặt như bỏ bớt đỉnh, cạnh. Đây cũng là một trong những thuật toán đơn giản hóa lưới. + Visibility Culling : Không biểu diễn những đa giác mà mắt không nhìn thấy. +Parallel Rendering : Thực hiện công việc song song trên nhiều máy trạm. Kĩ thuật SR thường được dùng với các ảnh có độ t ương phản cao như CT hay MRI vì có thể xác định biên dễ dàng, các ảnh này cũng ít nhiễu.Với những ảnh có độ t ương phản thấp và có độ nhiễu cao như siêu âm, PET, SPECT thì cần có các thuật toán lọc nhiễu và trích biên tốt. 2.3. Kỹ thuật Render Volume tƣơng tác. 2.3.1 Thăm dò và tƣơng tác miền kép 2.2.2 Dữ liệu thăm dò vật dụng 2.2.3 Phân loại vật dụng ( Classifcation Widgets) 2.2.4 Bảng chọn màu sắc. 2.4 Kết luận chƣơng 2 Chương này đã giới thiệu một số kỹ thuật về hiển thị hình ảnh 3D từ các hình ảnh hình chiếu 2D như kỹ thuật Render Volume, kỹ thuật biểu diễn bề mặt. Ta đã đi chi tiết các kỹ thuật như trong kỹ thuật Render Volume ta đã tìm hiểu quy trình và phương pháp bố cục ảnh, trích biên... Trong chương tiếp theo ta sẽ đi thử nghiệm thực tế từ kỹ thuật Render Volume bằng chương trình kết hợp giữa lập trình và một số phần thư viện mở. 19 CHƢƠNG 3 - CHƢƠNG TRÌNH THỬ NGHIỆM Trong chương này ta sẽ đi cài đặt thử nghiệm kỹ thuật hiển thị hình ảnh Render Volumme từ các ảnh 2D của ảnh y tế DICOM 3.1 Bài toán Bài toán đầu vào là dãy các ảnh 2D là các lát cắt của cùng một đối tượng thu nhận bởi bằng máy chụp cắt lớp và được lưu dưới dạng chuẩn Dicom. Đầu ra là hình ảnh 3D của đối tượng ở các góc độ khác nhau. Phương pháp hiển thị sử dụng là kỹ thuật Render Volume. 3.2. Phân tích thiết kế 3.2.1 Các công cụ Trên cơ sở tìm hiểu nhiều bộ công cụ hỗ trợ lập trình đồ họa người viết đã chọn hai bộ công cụ VTK , ITK để xây dựng phần mềm của mình vì những lí do: + VTK,ITK là hai trong những bộ công cụ đ ược sử dụng nhiều nhất trên thế giới. Hầu hết các bài giảng về xử lí ảnh, đồ họa 3D và trực quan hóa của các trường đại học lớn tr ên thế giới đều lấy VTK v à ITK làm ví dụ minh họa, trên thế giới cũng có nhiều phần mềm hay được phát triển từ VTK và ITK. + VTK, ITK đư ợc thiết kế rất chuyên nghiệp: hai bộ toolkit này được viết bằng C++ theo kiểu hướng đối tượng, có thể sử dụng trong nhiều ngôn ngữ khác như Java, Tcl, Python ,.NET ,…; hai bộ toolkit này có mã nguồn mở và liên tục được nâng cấp. +VTK, ITK có nhi ều hỗ trợ cho xử lí ảnh y tế. 3.2.2 Chƣơng trình cài đặt Pipeline Pipeline là chuỗi các bước xử lý dữ liệu và hiển thị thành hình ảnh. Pipeline của chương trình cài đặt như sau 20 Hình 3.7 Pipeline của chƣơng trình cài đặt Hình 3.8 Chu trình biểu diễn dữ liệu thành hình ảnh 3.3. Một số kết quả chƣơng trình Chương trình được viết theo kiểu dialog -based, được thiết kế gồm có một cửa sổ chính và một số trang (tab). Dữ liệu đầu vào của chương trình là tập hợp các lát cắt được lưu theo định dạng DICOM. Chương trình cho phép người sử dụng xem kết quả ảnh ba chiều dưới các góc độ khác nhau bằng cách dùng chuột. Người sử dụng có thể copy màn hình vào clipboard để đưa vào các chương trình khác, lưu màn hình dưới dạng ảnh JPEG hoặc xuất thành một trang HTML. - Một số ảnh chạy chương trình Các hình ảnh sau là kết quả thử nghiệm với dữ liệu CT demo . - Cửa sổ chính và trang duyệt tập ảnh Dicom Hình 3.9 Giao diện màn hình chính - Trang Render volume : Kết quả biểu diễn theo bề mặt. Trong trang này người sử dụng có thể lựa chọn biểu diễn các góc cạnh của hình ảnh 3D được hiển thị. 21 Hình 3.10 Hình ảnh 3D đƣợc hiển thị Hình 3.11 Các góc độ khác nhau của hình ảnh 3D đƣợc hiển thị Hình 3.12 Hiển thị thêm mô mềm - Nhận xét: 22 Chương trình được xây dựng bằng Visual C++ và được đóng gói, do đó có thể cài đặt và sử dụng chương trình trên các máy tính có hệ điều hành Windows 98/2000/XP mà không cần nền (platform) nào khác. Chương trình phải làm việc với lượng dữ liệu lớn nên cấu hình máy phải tương đối mạnh. Tốc độ CPU nên từ 1,8GHz trở lên, RAM từ 256MB trở lên. Giao diện chương trình được thiết kế thân thiện với người sử dụng, các bộ phận được bố trí tương tự các phần mềm đang được sử dụng trong thực tế. Dữ liệu vào của chương trình là kiểu dữ liệu th ường gặp trong thực tế: tập ảnh theo định dạng DICOM. Chương trình đã chạy thử nghiệm với các tập ảnh dữ liệu DICOM của bệnh viện. Chương trình cài đặt đã minh họa được các kỹ thuật tái tạo ảnh ba chiều từ lát cắt song song. Chất lượng hình ảnh tốt đối với dữ liệu CT. 3.4 Kết luận chƣơng 3 Trong chương này ta đã đi cài đặt thử nghiệm kỹ thuật hiển thị hình ảnh Render Volumme từ các ảnh 2D của ảnh y tế DICOM và đưa ra được những điểm đạt được và chưa đạt được của chương trình cài đặt. KẾT LUẬN Những việc đã thực hiện đƣợc : - Tìm hiểu những vấn đề chung liên quan đến việc tái tạo hình ảnh ba chiều của các vật thể từ các hình chiếu. Tìm hiểu tình hình sử dụng các phần mềm xử lý hình ảnh trong y tế tại Việt Nam hiện nay. - Tìm hiểu nguyên lý tái tạo ảnh ba chiều từ các ảnh cắt lớp nói chung và các ảnh cắt lớp song song nói riêng. - Tìm hiểu các vấn đề liên quan đến kỹ thuật tái tạo ảnh nổi. Nắm được kĩ thuật tương ứng theo cường độ. - Tìm hiểu một số lĩnh vực có thể ứng dụng kỹ thuật tái tạo nổi và một số đề tài đã và đang được nghiên cứu trên trên thế giới. - Viết các phần mềm mang tính minh họa, có thể được sử dụng phục vụ đào tạo, nghiên cứu và phát triển các phần mềm ứng dụng trong tương lai . Những hạn chế : Những nghiên cứu mới tập trung v ào lý thuyết và phần mềm, chưa được tích hợp với các phần cứng. Do thời gian nghiên cứu có hạn nên người viết chưa nắm một cách đầy đủ và hệ thống cơ sở lý thuyết của kỹ thuật stereo matching, đặc biệt là về vấn đề hiệu chỉnh camera 23 (camera calibration ) để có thể phát triển tối ưu cho phần mềm ứng dụng, cũng như vấn đề tích hợp hỗ trợ phần cứng. Hƣớng phát triển - Đối với vấn đề tái tạo ảnh ba chiều từ các lát cắt song song : Hướng phát triển là bổ sung thêm các chức năng, tiếp tục tìm hiểu các bộ toolkit VTK và ITK. Tiếp tục tìm hiểu thực tế để phát triển thành một phần mềm có khả năng sử dụng tại Việt Nam. Tiếp tục nghiên cứu các phương pháp tái tạo ảnh ba chiều với các dạng ảnh cắt lớp khác như cắt xuyên tâm, cắt tự do. Nghiên cứu đặc tính của các loại ảnh cắt lớp của siêu âm, MRI, hình ảnh y học hạt nhân từ đó có những phương án tái tạo tốt nhất cho mỗi loại.
File đính kèm:
- Luận văn tóm tắt Kỹ thuật Render Volume trong hiển thị dữ liệu 3D từ hình chiếu.pdf