ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đình Tuấn ROBOT TÁI TẠO VẬT THỂ TỪ ẢNH CHỤP ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Kỹ thuật Robot HÀ NỘI – 2022 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đình Tuấn ROBOT TÁI TẠO VẬT THỂ TỪ ẢNH CHỤP ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Kỹ thuật Robot Cán bộ hướng dẫn: TS. Nguyễn Thế Hoàng Anh HÀ NỘI – 2022 LỜI CẢM ƠN Trong thời gian tập trung nghiên cứu làm đề tài đồ án mình đã chọn, em đã đạt được những thành quả riêng của mình. Để có được những thành quả đó em đã cố gắng nỗ lực rất nhiều, bên cạnh đó em còn nhận được sự hỗ trợ và giúp đỡ của thầy giáo hướng dẫn, bạn bè và gia đình. Em xin được bày tỏ tình cảm và sự biết ơn của mình đối với những hỗ trợ và giúp đỡ này. Đầu tiên em xin chân thành gửi lời cảm ơn đến Ban Giám Hiệu và toàn thể các thầy, các cô trong khoa Điện Tử - Viễn Thông, Trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội đã tạo điều kiện giảng dạy, đào tạo và hướng dẫn cho em được học tập, nghiên cứu về lĩnh vực Điện tử viễn thông, và nâng cao hơn nữa là những kiến thức về chuyên ngành Kỹ thuật Robot, giúp em có cái nhìn tổng quan về ngành của mình. Những kiến thức đó không chỉ là nền tảng, cơ sở để giúp em hoàn thành tốt đồ án tốt nghiệp của mình mà còn là hành trang quý báu, vững chắc giúp em bước ra ngoài một cách tự tin hơn. Và đặc biệt hơn để hoàn thành tốt đồ án tốt nghiệp lần này, em xin gửi lời cảm ơn chân thành nhất đến thầy TS. Nguyễn Thế Hoàng Anh đã nhiệt tình hướng dẫn, hỗ trợ, giúp đỡ em trong suốt quá trình làm đồ án tốt nghiệp. Cuối cùng, em xin chúc toàn thể các thầy, cô luôn vui vẻ, mạnh khỏe để tiếp tục đồng hành với bao thế hệ học trò trên con đường chinh phục tri thức tương lai. Em xin chân thành cảm ơn ! Hà Nội, ngày … tháng … năm 2022 1 LỜI CAM ĐOAN Em xin cam đoan đề tài “Robot tái tạo vật thể từ ảnh chụp” là đề tài đồ án của riêng em dưới sự hướng dẫn của thầy giáo TS. Nguyễn Thế Hoàng Anh. Ngoài ra, không có bất cứ sự sao chép của người khác. Nội dung trong đồ án là các kết quả mà em đã nỗ lực nghiên cứu. Các số liệu, kết quả trong báo cáo là hoàn toàn trung thực. Tất cả các nội dung tham khảo từ các tác giả khác đều đã được trích dẫn cụ thể và rõ ràng tại mục tài liệu tham khảo. Hà Nội, ngày … tháng … năm 2022 Sinh viên Nguyễn Đình Tuấn 2 TÓM TẮT Khoa học và công nghệ của hiện tại đang phát triển không ngừng, cùng theo đó là các ứng dụng của công nghệ 3D mang lại rất nhiều những lợi ích tích cực, nâng cao chất lượng đời sống của con người. Gần đây, trong lĩnh vực công nghệ chụp ảnh 3D đã có nhiều ứng dụng mới đã và sắp triển khai có vai trò quan trọng nhiều ứng dụng quan trọng, có thể khẳng định đây chính là công nghệ của tương lai. Với ứng dụng tái tạo hình ảnh 3D từ ảnh chụp, nhiều mảng công nghệ mới đang dần tích hợp công nghệ chụp ảnh 3D để phổ biến cho mọi người trên thế giới. Do vậy, trong đề tài Đồ án tốt nghiệp này, em mong muốn giới thiệu công nghệ chụp ảnh 3D, ứng dụng tái tạo hình ảnh 3D từ hình ảnh 2D và robot tái tạo vật thể từ ảnh chụp. Nội dung của Đồ án sẽ tập trung trình bày những đặc điểm cơ bản của công nghệ chụp ảnh 3D, tính ưu việt trong ứng dụng tái tạo hình ảnh 3D từ ảnh chụp, và các bước tiến hành thiết kế, chế tạo sản phẩm robot hỗ trợ tái tạo hình ảnh 3D từ ảnh chụp. Từ khóa : Chụp ảnh 3D, Tái tạo vật thể. 3 MỤC LỤC LỜI CAM ĐOAN ..........................................................................................................2 TÓM TẮT ......................................................................................................................3 DANH MỤC TỪ VIẾT TẮT ........................................................................................6 DANH MỤC HÌNH VẼ.................................................................................................7 DANH MỤC BẢNG ......................................................................................................9 LỜI MỞ ĐẦU ..............................................................................................................10 CÔNG NGHỆ CHỤP ẢNH 3D..........................................................12 Tổng quan về công nghệ chụp ảnh 3D ...............................................................12 Giới thiệu về công nghệ chụp ảnh 3D ........................................................12 Các ứng dụng của công nghệ chụp ảnh 3D hiện nay .................................13 Phương pháp photogrammetry trong công nghệ chụp ảnh 3D ..........................14 Photogrammetry là gì ? ..............................................................................14 Các quy trình trong phương pháp đo ảnh ..................................................15 Đặc điểm và phạm vi ứng dụng của phương pháp đo ảnh .........................17 Phép đo ảnh lập thể ....................................................................................18 Kết luận chương .................................................................................................19 TÁI TẠO VẬT THỂ TỪ NHIỀU HÌNH ẢNH ................................20 Tái tạo vật thể từ nhiều hình ảnh ........................................................................20 Các bước trong quy trình tái tạo mô hình 3D ............................................21 Giải thuật biến đổi đối tượng phi tỉ lệ SIFT ...............................................22 Phương pháp tái tạo hình ảnh dựa vào chuyển động (SfM) .......................25 Phương pháp âm thanh nổi đa góc nhìn (MVS) .........................................28 Phần mềm tái tạo mô hình 3D ............................................................................30 Kết luận chương .................................................................................................33 THIẾT KẾ ROBOT HỖ TRỢ TÁI TẠO VẬT THỂ ......................34 Robot tái tạo vật thể ...........................................................................................34 Đặt vấn đề ...................................................................................................34 Đề xuất giải pháp ........................................................................................34 Lên ý tưởng thiết kế.....................................................................................34 4 Thiết kế và chế tạo sản phẩm ......................................................................35 Kết luận chương .................................................................................................40 KẾT QUẢ VÀ PHÂN TÍCH ..............................................................42 Kết quả ...............................................................................................................42 Dữ liệu mẫu từ tập dữ liệu dataset của Colmap .........................................42 Dữ liệu tự tạo từ camera điện thoại ...........................................................44 Một số kết quả khác khi chụp bằng điện thoại ...........................................46 Dữ liệu được chụp tự động từ robot ...........................................................47 Khắc phục lỗi thiết kế cho robot ........................................................................50 Kết luận chương .................................................................................................53 KẾT LUẬN ĐỀ TÀI ...........................................................................54 Tóm lược ............................................................................................................54 Phương hướng phát triển tiếp theo .....................................................................54 Kết luận ..............................................................................................................55 TÀI LIỆU THAM KHẢO...........................................................................................56 5 DANH MỤC TỪ VIẾT TẮT Ký tự Ký tự viết tắt Tiếng anh Tiếng việt A AI Artificial Intelligence Trí tuệ nhân tạo C CNN Convolutional Neural Networks Mạng nơ-ron tích chập D DoG Different-of-Gaussian Sự khác biệt của các đường Gauss M MVS Multi View Stereo Âm thanh nổi đa góc nhìn R RANSAC Random sample consensus Đồng thuận mẫu ngẫu nhiên SfM Structure from Motion Cấu trúc từ chuyển động SIFT Scale-Invariant Feature Transform Biến đổi lượng phi tỉ lệ V VR Virtual Reality Thực tế ảo 2 2D Two Dimension Không gian 2 chiều 3 3D Three Dimension Không gian 3 chiều S 6 DANH MỤC HÌNH VẼ Hình 1.1 : Quá trình thu thập dữ liệu.............................................................................15 Hình 1.2: Quá trình xử lý thông tin ảnh ........................................................................16 Hình 1.3: Một mô hình dữ liệu của phép đo ảnh ...........................................................17 Hình 1.4: Các góc chụp được xác định xung quanh vật thể ..........................................19 Hình 2.1: Hình học của hệ thống lập thể .......................................................................20 Hình 2.2 : Biểu đồ mô phỏng tính toán các ảnh DoG từ các ảnh kề mờ .......................23 Hình 2.3 : Mỗi điểm ảnh được so sánh với 26 điểm láng giềng ...................................24 Hình 2.4 : Biểu diễn các vector đặc trưng .....................................................................25 Hình 2.5: Hình trụ miêu tả SfM.....................................................................................26 Hình 2.6: Ba quá trình chính bên trong của SfM ..........................................................26 Hình 2.7: Cấu trúc từ nguyên lý ảnh chuyển động ........................................................27 Hình 2.8: Gợi ý về độ sâu từ nhiều chế độ xem (bên trái) có thể tổng hợp trên chế độ xem tham chiếu (bên phải) ............................................................................................30 Hình 2.9 : Đám mây điểm thô (bên trái) và đám mây điểm dày đặc (bên phải) ...........32 Hình 2.10 : Lưới đa giác dựng theo phương pháp Poison (trái) và Delaunay (phải) ....32 Hình 2.11 : Lưới đa giác dựng theo phương pháp Poisson (trái) và Delaunay (phải) xem bằng Meshlab .................................................................................................................32 Hình 3.1 : Ý tưởng cho phần cứng mô hình ..................................................................34 Hình 3.2 Kết nối giữa máy tính và thiết bị robot...........................................................35 Hình 3.3 : Mô phỏng mạch trên phần mềm Proteus ......................................................36 Hình 3.4: Mô hình 3D robot được thiết kế trên Solidworks .........................................36 Hình 3.5 : Sản phẩm thực tế loại 1 ................................................................................38 Hình 3.6 : Sản phẩm thực tế loại 2 ................................................................................38 Hình 4.1 : Dữ liệu từ dataset Colmap ............................................................................42 Hình 4.2 : Kết quả đám mây điểm trước (trái )và sau khi xử lý (phải) .........................43 Hình 4.3 : Kết quả lưới thu được trước (trái) và sau khi xử lý (phải) ...........................43 Hình 4.4 : Dữ liệu ảnh chụp đối tượng balo tự tạo ........................................................44 Hình 4.5 : Kết quả đám mây điểm trên Meshlab trước (trái )và sau khi xử lý (phải) ...44 Hình 4.6 : Lưới đối tượng balo khi chưa xử lý..............................................................44 Hình 4.7 : Kết quả đối tượng balo đã được xử lý ..........................................................45 Hình 4.8 : Ảnh chụp thùng bìa carton (bên trái) và kết quả (bên phải).........................46 Hình 4.9 : Ảnh chụp đối tượng đèn học (trái) và kết quả (phải) ...................................46 Hình 4.10 Ảnh chụp đối tượng đồ chơi .........................................................................46 Hình 4.11 : Kết quả đối tượng đồ chơi ..........................................................................47 7 Hình 4.12 : Dữ liệu ảnh chụp tự động từ robot đối tượng giày .....................................47 Hình 4.13 : Kết quả dám mây điểm thu được đối tượng giày .......................................47 Hình 4.14 : Kết quả lưới thu được đối tượng giày ........................................................48 Hình 4.15 : Dữ liệu ảnh chụp khác từ robot đối tượng gấu bông ..................................48 Hình 4.16 : Kết quả đám mây điểm (bên trái) và lưới (bên phải) đối tượng gấu bông .49 Hình 4.17 : Dữ liệu phân tích file database hiển thị trên Colmap .................................49 Hình 4.18 : Sản phẩm robot đã được khắc phục sự cố ..................................................50 Hình 4.19 : Ảnh chụp dữ liệu chiếc giày từ sản phẩm robot mới .................................51 Hình 4.20 : Kết quả đám mây điểm thu được khi chưa xử lý .......................................51 Hình 4.21 : Đám mây điểm sau khi xử lý......................................................................51 Hình 4.22 : Kết quả được tạo lưới khi chưa xử lý .........................................................52 Hình 4.23 Kết quả lưới đối tượng sau khi xử lý ............................................................52 8 DANH MỤC BẢNG Bảng 1.1 : Các đặc trưng trong phương pháp đo ảnh ....................................................16 Bảng 3.1 : Bảng thành phần cấu tạo chính của robot ....................................................35 Bảng 3.2 : Bảng thông tin kích thước tổng quát các chi tiết trong mô hình 3D robot ..37 9 LỜI MỞ ĐẦU Công nghệ 3D – một công cụ tái hiện thế giới thực, với khả năng mô tả lại thế giới thực trong các mô hình 3D, đang phổ biến trên thế giới về tính tiện lợi cũng như hiện thực hóa các ý tưởng của con người vào thực tiễn. Công nghệ 3D mang nhiều thông tin chi tiết hơn hẳn công nghệ 2D truyền thống, công nghệ 3D giúp tạo dựng lại các công trình, bản đồ địa hình lớn trong khoảng thời gian ngắn, hay các ứng dụng giải trí 3D, các bộ phận trong cơ thể con người. Thời điểm hiện tại, ứng dụng công nghệ 3D vào cuộc sống vẫn đang được nghiên cứu để phổ biến rộng rãi trên toàn thế giới. Trong cuộc cách mạng công nghiệp 4.0, công nghệ càng cao sẽ càng dễ nắm bắt được thành công. Trong những năm gần đây, khi mà trên thế giới đang từng bước phát triển công nghệ thông minh AI cho robot, xe tự lái, smart home, thì việc số hóa mô hình 3D rất cần thiết. Không còn là những đoạn video, những hình ảnh 2D nhàm chán, mô hình 3D giúp con người trải nghiệm tối đa các công nghệ đó một cách chân thực nhất. Tiêu biểu cho sự trải nghiệm có thể kể đến công nghệ thực tế ảo VR giúp con người chỉ cần ngồi tại nhà mà vừa tương tác với vật thể 3D, vừa mang lại trải nghiệm thực tế nhất. Kể cả trong y học cũng đang ứng dụng công nghệ chụp ảnh 3D cho các bộ phận cơ thể con người giúp các bác sĩ dễ dàng quan sát và xử lý chính xác nhất. Ở thời điểm hiện tại và trong tương lai, có thể thấy lợi ích mà công nghệ này mang lại thực sự quá là quá to lớn, việc nghiên cứu để phát triển cho công nghệ này chính là điều cần thiết cho tương lai. Phương pháp photogrammetry (phép đo ảnh) được áp dụng trong công nghệ chụp ảnh 3D giúp tạo dựng lại vật thể thông qua những điểm đặc trưng được lặp lại trong ảnh. Giải pháp này được ứng dụng cho mục đích nghiên cứu và học tập, chủ yếu là dùng các phần mềm có sẵn thông qua các bức ảnh chụp xung quanh vật thể để tạo dựng lại mô hình 3D. Việc chụp ảnh có những hạn chế về mặt vật lý khi những hình ảnh đó là của vật thể có bề mặt tối, bóng hoặc trong suốt. Trong những trường hợp đó, mô hình được sản xuất thường vẫn chứa các khoảng trống, do đó, việc dọn dẹp và bổ sung bằng phần mềm như MeshLab, MeshMixer thường vẫn cần thiết. Tuy vậy nhưng đối với các mô hình vật thể khó tiếp cận trực tiếp mà chỉ có thể quan sát thông qua chụp ảnh thì phương pháp photogrammetry vẫn là một phương pháp tốt trong chụp ảnh 3D. Hiện tại, công nghệ chụp ảnh 3D với phép đo ảnh để cho ra kết quả là mô hình 3D thì cần có các bước thu thập dữ liệu, xử lý dữ liệu, tái tạo vật thể. Các bước này khiến người dùng phải tự thao tác rất nhiều trong quá trình tái tạo, đặc biệt là quá trình thu thập dữ liệu, nên việc nghiên cứu để tăng thêm khả năng tự động cho bước này được vận dụng cho đồ án tốt nghiệp mang tên “Robot tái tạo vật thể từ ảnh chụp”. Đồ án 10 nghiên cứu về ứng dụng công nghệ tái tạo hình ảnh 3D từ ảnh chụp và kết hợp với thiết bị robot giúp tự động thu thập dữ liệu sau đó tái tạo lại vật thể từ các bức ảnh chụp được. Trong đồ án tốt nghiệp “Robot tái tạo vật thể từ ảnh chụp” gồm các phần và nội dung chính theo các phần dưới đây: Chương 1: Công nghệ chụp ảnh 3D Trong chương 1, sẽ trình bày một cách tổng quan về công nghệ chụp ảnh 3D và cơ sở lý thuyết của phép đo ảnh đối với tái tạo vật thể từ các bức ảnh. Kết luận chương. Chương 2: Tái tạo vật thể từ nhiều hình ảnh Chương 2 trình bày về quá trình tái tạo vật thể cùng với các phương pháp kèm theo và quy trình thực hiện của phần mềm tái tạo sẽ xử lý dữ liệu các hình ảnh để thu được file kết quả là mô hình 3D. Kết luận chương. Chương 3: Thiết kế robot hỗ trợ tái tạo vật thể Trong chương 3 sẽ trình bày về cách kết hợp các thiết bị và phần mềm để hỗ trợ tự động quá trình tái tạo vật thể từ nhiều hình ảnh 2D thành ảnh 3D. Kết luận chương. Chương 4: Phân tích kết quả và đánh giá Trong chương này sẽ trình bày các kết quả thu được, các phân tích đánh giá đối với các trường hợp của dữ liệu, các kết luận rút ra từ những kết quả nghiên cứu. Kết luận chương. Chương 5: Kết luận Trong chương kết luận cuối cùng sẽ là phần tóm lược các kết quả đạt được, các phương hướng phát triển tiếp theo trong tương lai. Đồ án dựa trên cơ sở lý thuyết kết hợp thiết bị và phần mềm đơn giản mang tính chất nghiên cứu cho sự phát triển của công nghệ và chưa có tính thực tế cao nên vẫn có nhiều sai sót. Em rất mong nhận nhận được những góp ý, ý kiến của tất cả các thầy cô để hoàn thiện đồ án hơn. Những lời góp ý sẽ là kiến thức quý báu cho bản thân, tạo điều kiện giúp bản thân em có thể phát triển tiếp cho công việc và tương lai sau này. Em xin chân thành cảm ơn! 11 CÔNG NGHỆ CHỤP ẢNH 3D Hiện nay, ứng dụng của công nghệ chụp ảnh 3D đang là một lĩnh vực nghiên cứu được phát triển mạnh mẽ trong nhiều lĩnh vực khác nhau như: nghiên cứu và phát triển sản phẩm, y khoa, quảng cáo và giải trí, ngành kiến trúc, thám hiểm đại dương, không gian vũ trụ, …Các nước trên thế giới và ngay tại Việt Nam đều quan tâm đặc biệt tới công nghệ này bởi tính đa dạng trong các ứng dụng của nó, ngoài ra các công nghệ AI kết hợp công nghệ chụp ảnh 3D cho hệ thống robot thông minh, xe tự lái, giải trí thực tế ảo đang được chú ý nhiều trong thời gian gần đây. Tổng quan về công nghệ chụp ảnh 3D Giới thiệu về công nghệ chụp ảnh 3D Công nghệ chụp ảnh 3D là quá trình phân tích một đối tượng hoặc một môi trường trong thế giới thực để thu thập dữ liệu về hình dạng sau đó sẽ tạo ra một mô hình 3D chính xác về hình dạng so với vật thể (hoặc môi trường) đó. Đây là công nghệ giúp người dùng tái tạo lại các vật mẫu chính xác nhất mà không tốn quá nhiều thời gian, công sức. Công nghệ này giúp nắm bắt các thông tin của vật mẫu như hình dạng, kết cấu, màu sắc và một số thông tin khác, từ đó có thể giúp con người thao tác với mô hình 3D dễ dàng trong việc xử lý dữ liệu. Không chỉ vật thể và môi trường mà ngay cả sinh vật sống như con vật và con người cũng được tái tạo thành mô hình 3D thông qua việc chụp ảnh 3D, mô hình 3D còn có thể thêm chuyển động, tương tác trong môi trường ảo giống như tương tác trong thực tế. Công nghệ 3D trên thế giới đã có từ lâu, tuy nhiên, với sự bùng nổ của các công nghệ hiện đại đã kết hợp với công nghệ 3D tạo thành một bước ngoặt mới. Rất nhiều hãng lớn đã đầu tư mạnh cho các nghiên cứu và ứng dụng 3D như máy tính 3D, game 3D, điện ảnh 3D, nhiếp ảnh 3D, hay cả ti vi 3D [5]. Hình ảnh 3D là một phần kết quả của công nghệ 3D, trong đó đồ họa máy tính 3D dựa theo không gian 3 chiều và biểu diễn một đối tượng hình học 3D lưu trữ trong máy tính và được thể hiện cho người xem trong không gian thực, người xem có thể xoay hình ảnh 3D ở tất cả các góc độ để thấy được thông tin chi tiết trong mô hình đó. Hiện nay có rất nhiều định dạng cho phép lưu trữ các file dạng số trong máy tính như dạng PLY, OBJ,VRML,…Tuy nhiên, trong Đồ án này sẽ tập trung thao tác với các hình ảnh 2D và thực hiện chuyển đổi hình ảnh 2D về dạng PLY là hình ảnh 3D. 12 Ảnh 3D được tạo ra bằng cách chụp các bức ảnh trong cùng một cảnh nhưng các góc nhìn và khoảng cách chụp khác nhau. Theo nguyên tắc Stereopsis về nhận thức độ sâu hình ảnh từ hai mắt, khi các hình ảnh được đặt vào cạnh nhau sẽ tạo thành hiện tượng quang học, sự khác biệt nhỏ giữa các ảnh sẽ khiến chúng ta nghĩ rằng một hình ảnh có chiều sâu như 3D, nhưng thực tế đó là ảnh phẳng 2D. Các ứng dụng của công nghệ chụp ảnh 3D hiện nay Công nghệ chụp ảnh 3D đối với AI cho robot thông minh đang được nghiên cứu và phát triển, tiêu biểu đó là các robot phục vụ gia đình, robot sẽ chụp ảnh toàn bộ không gian trong nhà và tạo dựng một hình ảnh 3D trong nhà từ tất cả các căn phòng cho đến từng đồ vật trong nhà. Khi đó robot dễ dàng di chuyển, tương tác với các không gian cũng như vật thể trong nhà, robot sẽ nhận biết được các vật thể trong nhà cực kỳ chính xác bởi dữ liệu đã được lưu khi tạo dựng hình ảnh 3D. Công nghệ này vẫn chưa hoàn toàn được áp dụng bởi chi phí của robot quá cao dẫn đến ít được mọi người quan tâm, tuy nhiên trong tương lai sẽ có nhiều đột phá hơn và công nghệ này sẽ phổ biến tới tất cả mọi người. Công nghệ chụp ảnh 3D tạo ra không gian ảo với góc nhìn 3 chiều được áp dụng cho công nghệ Thực tế ảo (VR), là một thuật ngữ dùng để chỉ một môi trường giả lập được con người tạo ra, môi trường giả lập này được tạo ra bằng các phần mềm chuyên dụng và được điều khiển bởi một thiết bị thông minh. Công nghệ VR sẽ tạo ra một môi trường được mô phỏng bằng cách quét không gian xung quanh và sau đó toàn bộ căn phòng sẽ chính là không gian trong công nghệ VR. Người dùng sử dụng kính 3 chiều và sẽ nhìn thấy hình ảnh được hiển thị trên màn hình kèm với âm thanh để tạo thành một không gian như thật, không những thế người dùng còn có thể tương tác với vật thể ảo trong không gian đó. Theo đó một số công ty lớn trên thế giới đang phát triển mạng xã hội toàn cầu mang tên “Vũ trụ ảo Metaverse”, đây là một vũ trụ kỹ thuật số kết hợp các công nghệ trên thế giới như trò chơi trực tuyến, thực tế ảo VR, thực tế tăng cường AR (Augmented Reality), Internet và tiền điện tử để cho phép người dùng tương tác trong mạng xã hội ảo đó. Trong lĩnh vực y tế, công nghệ chụp ảnh 3D sao chụp và mô phỏng lại cơ thể con người, từng các bộ phận sau khi chụp ảnh 3D sẽ có kết quả chính xác và thực tế hơn rất nhiều so với các mô hình được quét 3D bằng các phương pháp khác, hay mô phỏng được tự thiết kế. Điều này giúp thuận lợi trong việc sản xuất các vật phẩm ý tế như răng giả, chân tay giả, … phù hợp hơn với từng người. Sinh viên y khoa cũng từ đó được nghiên cứu trên mẫu mô phỏng nhiều hơn, giảm chi phí nghiên cứu, học tập. Mới đây, các nhà 13 khoa học tại Viện công nghệ Israel (Technion) phát triển phương pháp chụp ảnh 3D các quá trình nano trong di chuyển các tế bào sống[20]. Thành công này rất quan trọng trong việc tìm hiểu cấu trúc 3D của AND trong các tế bào sống và có thể dẫn đến những phát triển quan trọng trong nghiên cứu sinh học và công nghệ sinh học, chẩn đoán y khoa và tạo ra các phương pháp điều trị y tế mới [1]. Xe tự lái đang là bước đột phá lớn của tương lai, bởi với khả năng tự động điều khiển thì việc tạo bản đồ 3D nhanh chóng sẽ giúp phương tiện nhận ra các vật thể trong môi trường và từ đó điều khiển một cách chính xác. Đây vẫn là công nghệ mới đang được nghiên cứu thêm và sẽ áp dụng phổ biến hơn trong tương lai. Trong kiến trúc và du lịch đã áp dụng thành công công nghệ chụp ảnh 3D giúp con người có thể trải nghiệm toàn bộ không gian cực kỳ chi tiết, phá bỏ rào cản về ngôn ngữ hay khoảng cách, cùng với chi phí rẻ, chỉ cần tại nhà là có thể trải nghiệm không gian trên toàn thế giới. Phương pháp photogrammetry trong công nghệ chụp ảnh 3D Photogrammetry là gì ? Photogrammetry (phép đo ảnh) ra đời trong những năm 50 của thế kỷ XIX với ứng dụng vào công tác đo đạc địa hình, kiến trúc của các nhà khoa học người Pháp A.Lausedat và Meydenbauer (người Đức) [4]. Photogrammetry cũng được biết đến với thuật ngữ quang trắc xuất hiện trong cuốn sách năm 1867 của ông Architekten-Verein [6]. Phương pháp này hiện tại đang là phương pháp viễn thám hiện đại trong lĩnh vực khoa học về Trái Đất. Bản chất của phương pháp đo ảnh là phương pháp đo gián tiếp thông qua hình ảnh với vai trò xác định trạng thái hình học của đối tượng như: vị trí, hình dáng, kích thước, màu sắc và một số đặc điểm khác được khai thác trong thời gian gần đây. Đây là khoa học và công nghệ thu thập thông tin đáng tin cậy về các đối tượng vật lý và môi trường thông qua quá trình ghi, đo và giải thích các hình ảnh chụp ảnh và các mẫu hình ảnh bức xạ điện từ và các hiện tượng khác [23]. Phép đo ảnh thực hành việc xác định các thuộc tính hình học của các vật thể từ các hình nhiếp ảnh, ảnh chụp. Trong ví dụ đơn giản, khoảng cách giữa hai điểm mà nằm trên một mặt phẳng song song với mặt phẳng ảnh chụp có thể được xác định bằng cách đo khoảng cách của chúng trên ảnh [17]. Phép đo ảnh đã chuyển từ một kỹ thuật cơ học, quang học sang các phương pháp phân tích với sự hỗ trợ của công nghệ đó là máy tính, với các thuật toán sau khi xử lý 14 đã tạo ra được mô hình 3D. Phép đo ảnh chủ yếu liên quan đến việc thực hiện các phép đo chính xác đối với các vật thể ba chiều và các đặc điểm từ các bức ảnh hai chiều. Các đặc điểm bao gồm đo tọa độ, định lượng khoảng cách, độ cao, diện tích và thể tích [12] . Quá trình thu thập thông tin của đối tượng đo được chia thành hai phương thức: - Phương pháp chụp ảnh tầm gần đề cập đến các bức ảnh chụp từ khoảng cách ngắn áp dụng cho các đối tượng mặt đất, áp dụng cho việc tái tạo một đến vài vật thể, đối tượng có thể động như các sinh vật sống, con người hay các đối tượng tĩnh từ nhỏ đến lớn. - Phương pháp chụp ảnh trên không, từ xa được chụp từ các vệ tinh nhân tạo, thiết bị điều khiển bay, lặn, phép đo ảnh từ xa áp dụng cho việc lập bản đồ địa hình áp dụng cho khám phá các bề mặt khó bao quát hết hoặc không thể tiến lại gần. Các quy trình trong phương pháp đo ảnh Quá trình thu thập ảnh sau đó xử lý ảnh và các loại thông tin được mô tả ở Hình 1.1 và Hình 1.2 Khi có nguồn sáng chiều tới một đối tượng và ánh sáng từ đối tượng đó truyền tới camera thì mới có thể thu thập được dữ liệu hình ảnh. Hình 1.1 : Quá trình thu thập dữ liệu 15 Hình 1.2: Quá trình xử lý thông tin ảnh Trong Hình 1.2, công nghệ đo ảnh tạo thành mô hình 3D thuộc dạng đồ họa. Ta có Bảng 1.1 thể hiện các đặc trưng của phương pháp đo ảnh Bảng 1.1 : Các đặc trưng trong phương pháp đo ảnh Phương pháp đo ảnh Dữ liệu đầu vào Phương thức thực hiện Thiết bị xử lý Sản phẩm đầu ra Đo ảnh tương tự Ảnh tương tự Chiếu hình quang cơ Máy đo ảnh quang cơ Bản đồ và các đồ thị Đo ảnh giải tích Ảnh tương tự Các công thức toán học Máy đo ảnh giải tích Bản đồ và cơ sở dữ liệu số Đo ảnh số Ảnh số hóa ảnh số Các công thức toán học Trạm ảnh số và phần mềm Bản đồ số, bản đồ ảnh, các sản phầm đồ họa 16 Phép đo ảnh áp dụng cho công nghệ chụp ảnh 3D sử dụng các phương pháp từ nhiều ngành quang học, hình học, vật lý để xử lý những bức ảnh, kết hợp các thông tin từ nhiều bức ảnh cho phép tạo ra các mô hình kỹ thuật số 3D của đối tượng như trong Hình 1.3. Hình 1.3: Một mô hình dữ liệu của phép đo ảnh Thông tin của một bức ảnh bao gồm hướng của nó đối với đối tượng, các tọa độ 3D xác định vị trí từng điểm ảnh so với hướng tương ứng trong không gian. Định hướng bên trong sẽ từ các máy ảnh, chủ yếu là tiêu cự của máy ảnh. Các quan sát bổ sung sẽ đóng vai trò quan trọng đối với tỷ lệ của mô hình. Khoảng cách giữa các điểm trong không gian với các điểm cố định đã biết, kết nối với các đơn vị đo sẽ tạo ra đám mây điểm (point cloud) hình thành nên mô hình 3D. Các thuật toán cho phép chụp ảnh thường cố gắng giảm thiểu tổng bình phương sai số trên tọa độ và chuyển vị tương đối của các điểm tham chiếu. Việc này được gọi là điều chỉnh gói và thường được thực hiện bằng thuật toán Levenberg-Marquardt [17]. Việc điều chỉnh gói sẽ loại bỏ biến dạng hình học khỏi một tập hợp hình ảnh của các điểm ba chiều ở các góc nhìn khác nhau. Quá trình này giảm thiểu lỗi giữa các điểm hình ảnh được quan sát và dự đoán lỗi trong quá trình xử lý. Đặc điểm và phạm vi ứng dụng của phương pháp đo ảnh Với phương thức đo gián tiếp các đối tượng nên phương pháp này có nhiều điểm nổi bật : 17 - Khả năng đo đạc tất cả các đối tượng có ánh sáng chiếu tới và không cần tiếp xúc hay đến gần đối tượng đo nên phạm vi đối tượng của phương pháp này rất đa dạng, từ kích thước rất nhỏ đến kích thước cực lớn. - Nhanh chóng thu thập dữ liệu, thuận tiện cho việc tạo và xử lý dữ liệu, nghiên cứu được ở nhiều môi trường khác nhau. - Đo được nhiều đối tượng cùng lúc, các vật thể tĩnh hay chuyển động đều có khả năng thu được dữ liệu. Có khả năng thu được dữ liệu chuyển động nhanh (quỹ đạo tên lửa, máy bay), hoặc chuyển động chậm (biến dạng công trình xây dựng). - Quy trình của công nghệ phù hợp với việc tự động hóa công tác thu thập và xử lý dữ liệu, nâng cao hiệu suất và lợi ích kinh tế. - Nhược điểm của phương pháp này là cần trang bị công nghệ hiện đại, có hiệu quả thực tế khi sử dụng các trang bị kỹ thuật đắt tiền, nếu không chỉ phục vụ cho nghiên cứu, học tập. Hiện tại, hầu hết các nước trên thế giới đã áp dụng phương pháp đo ảnh cho việc vẽ lại bản đồ địa hình các loại nên được gọi là phương pháp trắc địa ảnh. Ngoài ra còn được ứng dụng trong nhiều ngành khoa học kỹ thuật khác [4]: - Trong công trình xây dựng: Đo biến dạng, quan sát, nghiên cứu các dịch động của công trình lớn. - Trong công nghiệp: Nghiên cứu các phương án thiết kế sản phẩm ở dạng mô hình, từ đó tối ưu cho lắp ráp các chi tiết, chất lượng tạo hình trong công nghiệp chế tạo máy bay, ô tô, tàu thủy,… - Trong lâm nghiệp: Điều tra quy hoạch đất đai, nghiên cứu rừng, bảo vệ rừng, quá trình phát triển các loại động thực vật trong rừng,… - Trong kiến trúc bảo tồn: Giữ gìn và khôi phục các công trình kiến trúc di tích lịch sử - văn hóa. - Ngoài ra còn nhiều ngành khác như: y học, sinh vật học, địa chất, khảo cổ,… Phép đo ảnh lập thể Phép đo ảnh lập thể (tiếng anh: Stereo-photogrammetry), thực hiện ước tính tọa độ ba chiều của các điểm trên một đối tượng bằng cách sử dụng các phép đo được thực hiện trong hai hoặc nhiều ảnh chụp từ các vị trí khác nhau [17]. Điểm chung xác định trên mỗi hình ảnh, và từ đó xây dựng được đường thẳng từ vị trí máy ảnh đến điểm ảnh trên đối tượng. Chính giao điểm của các tia này sẽ xác định được vị trí ba chiều của điểm 18 ảnh, từ đó xác định chính xác được tất cả các điểm thuộc đối tượng đó. Trong Hình 1.2 thể hiện các góc chụp đã được xác định xung quanh đối tượng, cùng với những điểm ảnh bao quanh đối tượng đó. Hình 1.4: Các góc chụp được xác định xung quanh vật thể Từ phép đo ảnh và thuật toán trên, ta có thể tạo ra chương trình thực hiện xử lý dữ liệu hình ảnh được xây dựng để tạo thành mô hình 3D. Sự phổ biến của công nghệ chụp ảnh 3D bằng phép đo ảnh nên đã có rất nhiều phần mềm thực hiện quá trình này. Việc thu dữ liệu hình ảnh rất nhanh, tuy nhiên, quá trình xử lý hình ảnh lại cần khá nhiều thời gian. Đối tượng càng lớn, dữ liệu các điểm ảnh thu được càng nhiều thì dẫn đến càng phải xử lý rất phức tạp. Việc tái tạo vật thể yêu cầu có GPU để có độ chính xác tốt nhất, với các mô hình lớn, cần có thiết bị với cấu hình mạnh mới có thể thực hiện được quá trình tạo lưới từ các điểm ảnh thu được. Kết luận chương Công nghệ chụp ảnh 3D ngày càng được ứng dụng mạnh mẽ và đạt hiệu quả cao trong phát triển công nghệ tương lai qua phần trình bày trên. Các ứng dụng mà công nghệ chụp ảnh 3D mang lại có thể thấy được sự quan trọng của việc nắm bắt công nghệ này đối với sự phát triển của quốc gia. Trong tương lai không xa, nếu có thể sớm áp dụng được công nghệ này vào đời sống sẽ mang lại sự phát triển vượt bậc cho nền kinh tế. Theo đó phép đo ảnh vẫn còn những hạn chế về thời gian cho quá trình xử lý dữ liệu. Trên cơ sở lý thuyết về phép đo sẽ được áp dụng cho các mô tả các phương pháp trong quá trình tái tạo hình ảnh 3D từ các hình ảnh 2D trong chương tiếp theo. 19 TÁI TẠO VẬT THỂ TỪ NHIỀU HÌNH ẢNH Tái tạo vật thể từ nhiều hình ảnh Tái tạo vật thể 3D từ nhiều hình ảnh là việc tạo ra các mô hình ba chiều từ một tập hợp các hình ảnh. Đó là một quá trình ngược để thu lại dữ liệu từ các bức ảnh 2D là các điểm ảnh với tọa độ trong không gian ba chiều, từ đó kết hợp các điểm ảnh lại thành một đám mây điểm bao quanh đối tượng. Bản chất của hình ảnh là phép chiếu từ cảnh 3D lên mặt phẳng 2D, trong quá trình này thì độ sâu sẽ biến mất, điểm 3D tương ứng với một điểm hình ảnh cụ thể bị hạn chế nằm trên đường ngắm. Từ một hình ảnh duy nhất, ta không thể xác định được điểm bị hạn chế này, khi có hai hình ảnh ta sẽ xác định được vị trí của điểm 3D là giao điểm của hai tia chiếu. Quá trình này được gọi là tam giác hóa [24]. Tầm nhìn giữa hai bức ảnh khác nhau sẽ thu được thông tin hình học ba chiều của một đối tượng, thông tin hình học 3D này được sử dụng để tái tạo lại cấu hình và vị trí 3D của đối tượng đó Hình 2.1: Hình học của hệ thống lập thể Hình 2.1 là một sơ đồ đơn giản biểu diễn tọa độ của hai bức ảnh so với điểm ảnh trên mặt phẳng. Ảnh được đặt phía trước quang tâm của thấu kính f, trục u và trục v của hệ tọa độ tương ứng với trục x và trục y của hệ tọa độ máy ảnh. Giả sử có các điểm ảnh tương ứng là P1 ( u1 , v1 ) và P2 (u2 , v2 ) tương ứng trên mặt phẳng bên trái và bên phải. Giả sử hai camera nằm trong cùng một mặt phẳng, khi đó P1 và P2 sẽ cùng tọa độ y. 20 Ta có: v1 = v2 (2.1) Từ đó suy ra: u1 = f u2 = f xp (2.2) zp xp − a (2.3) zp v1 = v2 = f yp zp (2.4) Sự khác biệt về vị trí điểm hình ảnh mà hai máy ảnh thu được như sau: d = u1 − u2 = f a zp (2.5) Dựa vào tọa độ của P và các thông số của hai camera, tọa độ 3D của điểm có thể được xác định: xp = au1 av af ; yp = 1 ; zp = d d d (2.6) Các bước trong quy trình tái tạo mô hình 3D Quá trình tái tạo thành mô hình 3D bao gồm một loạt các bước xử lý sau: - Thu thập hình ảnh: Dữ liệu hình ảnh thu được phải đáp ứng được sự khác biệt giữa các hình ảnh, độ chiếu sáng, hiệu suất của máy ảnh, đặc tính vật lý bề mặt cũng cần được lưu ý. - Hiệu chuẩn máy ảnh: Bao gồm các thông số bên trong và bên ngoài máy ảnh, bước xử lý này sẽ xác định được hướng của các bức ảnh đối với vật thể, một số thông tin về vị trí, số lượng điểm ảnh, độ phân giải, màu sắc khá quan trọng trong việc xác định độ sâu của điểm ảnh. Các thuật toán sẽ dựa vào từng đặc điểm để sắp xếp các vị trí điểm ảnh đúng. - Trích xuất tính năng: Mục đích của trích suất tính năng là thu được các đặc điểm của ảnh, thông qua đó xử lý và kết hợp các đặc điểm giữa các bức ảnh để làm tiền đề cho việc tạo ra vị trí chính xác nhất của điểm ảnh trong không gian ba chiều. Tính năng phát hiện và đối sánh đặc trưng tự động mạnh mẽ như đặc trưng SIFT [9][2] hoặc SURF[11]. 21 - Xác định độ sâu là phần khó nhất trong cả quá trình, vì nó tính toán thành phần 3D bị thiếu trong bất kỳ hình ảnh cụ thể nào, tìm kiếm sự trùng khớp giữa các bức ảnh và tạo ra điểm ảnh. - Khi có nhiều điểm ảnh được tập hợp lại với nhau, bước cuối cùng sẽ là tạo lưới cho chúng, hiệu chuẩn máy ảnh sẽ được sử dụng để xác định mới có thể kết hợp nhiều mắt lưới và tạo thành một lưới 3D hoàn chỉnh. Giải thuật biến đổi đối tượng phi tỉ lệ SIFT Bản chất của giải thuật biến đổi đối tượng phi tỷ lệ là phương pháp trích xuất các đặc trưng biến đổi độ bất biến của ảnh. Các đặc trưng này khi thay đổi tỉ lệ ảnh, xoay, góc nhìn, nhiễu, hay cường độ chiếu sáng sẽ không thay đổi[2]. Các đặc trưng này được trích rút từ các điểm đặc trưng cục bộ (Local Interest Point)[15]. Điểm hấp dẫn (Interest Point (Keypoint)) là vị trí điểm ảnh mà tại đó nó có đặc trưng bất biến với việc xoay ảnh, co dãn hay thay đổi cường độ chiếu sáng. Sự đặc trưng này khi được xác định đủ các điều kiện thì các thuật toán xử lý và kết hợp các điểm có đặc trưng tương tự tại các bức ảnh khác cho việc xây dựng đám mây điểm. Phương pháp trích rút đặc trưng bất biến SIFT được tiếp cận với phương pháp tháp lọc, cụ thể phương pháp thực hiện theo các bước[9]: - Phát hiện các điểm cực trị : Bước đầu tiên này tiến hành tìm kiếm các điểm hấp dẫn trên tất cả các tỉ lệ và vị trí của ảnh bằng hàm Different-of-Gaussian (DoG) để xác định tất cả các điểm hấp dẫn tiềm năng mà bất biến với quy mô và hướng của ảnh. - Xác định các điểm hấp dẫn : Theo đó, một hàm kiểm tra sẽ đưa ra quyết định điểm đó có được lựa chọn hay không. - Xác định hướng cho điểm hấp dẫn đã chọn - Mô tả các điểm hấp dẫn dưới dạng các vector đặc trưng nhiều chiều. Với việc tìm kiếm các điểm cực trị, các điểm hấp dẫn với đặc trưng SIFT sẽ phù hợp với các cực trị của bộ lọc DoG ở các tỉ lệ khác nhau. Khi đó định nghĩa không gian tỉ lệ của một hình ảnh là hàm L( x, y, k ) được mô tả như sau: L( x, y, ) = G ( x, y, k ) * I ( x, y ) Với G ( x, y, k ) : biến tỉ lệ Gaussian I ( x, y ) : Ảnh đầu vào * là phép tích chập giữa x và y 22 (2.7) G ( x, y, k ) = 1 2 2 e−( x 2 + y 2 )/2 2 (2.8) Điểm cực trị của hàm DoG được định nghĩa: D ( x, y, ) = (G ( x, y, k ) − G ( x, y, ) * I ( x, y ) (2.9) D ( x, y, ) = L( x, y, k ) − L( x, y, ) (2.10) Giá trị hàm DoG được tính xấp xỉ dựa vào giá trị Scale-normalized Laplacian of Gaussian ( 2 2G ) thông qua ba phương trình (2.8)(2.9)(2.10) G = 2G (2.11) G G ( x, y, k ) − G ( x, y, ) k − (2.12) G ( x, y, k ) − G ( x, y, ) (k − 1) 2G (2.13) 2G = Như vậy, bước đầu của giải thuật SIFT phát hiện điểm hấp dẫn với bộ lọc Gaussian ở các tỉ lệ khác nhau và các ảnh DoG từ sự khác nhau của các ảnh kề mờ. Hình 2.2 : Biểu đồ mô phỏng tính toán các ảnh DoG từ các ảnh kề mờ Các ảnh cuộn được nhóm thành các octave (mỗi octave tương ứng với giá trị gấp đôi σ). Số lượng ảnh mờ cho mỗi octave là cố định để đảm bảo số lượng các ảnh DoG cho mỗi octave không thay đổi. 23 Qua các tỉ lệ, các điểm hấp dẫn được xác định là các cực đại hoặc cực tiểu. Mỗi điểm ảnh trong DoG được so sánh với 8 điểm ảnh xung quanh nó ở cùng tỉ lệ đó và 9 điểm ảnh láng giềng xung quanh ở phía trước và sau nó. Nếu điểm ảnh đó đạt giá trị cực tiểu hoặc cực đại thì sẽ được chọn làm các điểm hấp dẫn. Hình 2.3 : Mỗi điểm ảnh được so sánh với 26 điểm láng giềng Các điểm đặc trưng dự kiến sẽ được đánh giá, nếu không giữ được tính ổn định khi ảnh bị nhiễu hoặc xoay ảnh thì sẽ bị loại bỏ, và loại bỏ các điểm có độ tương phản thấp. Các điểm hấp dẫn còn lại sẽ được định hướng, ta tính toán biểu đồ hướng Gradient trong vùng láng giềng của điểm hấp dẫn theo công thức: m( x, y) = ( L( x + 1, y) − L( x − 1, y))2 + ( L( x, y + 1) − L( x, y −1)) 2 L( x, y + 1) − L( x, y − 1) L( x + 1, y) − L( x − 1, y) ( x, y) = tan −1 (2.14) (2.15) Điểm hấp dẫn sau khi được xác định hướng sẽ được biểu diễn dưới dạng các vector 4x4x8 = 128 chiều. 24 Hình 2.4 : Biểu diễn các vector đặc trưng Một số độ đo tương đồng cho ảnh sử dụng đặc trưng SIFT[2]. - Độ đo Cosin : d ( x, y ) = xy x y (2.16) - Khoảng cách góc : d ( x, y ) = cos −1 ( xy ) (2.17) - Độ đo Euclide : n x −y d ( x, y ) = i =1 i 2 i (2.18) - Độ đo Jensen-Shannon divergence : M d JSD ( H , H ') = H i log m =1 2H m 2 H 'm + H 'm log H m + H 'm H m + H 'm (2.19) Với H, H’ là 2 biểu đồ biểu diễn các vector đặc trưng SIFT. Phương pháp tái tạo hình ảnh dựa vào chuyển động (SfM) Cấu trúc từ chuyển động là một kỹ thuật tái tạo cấu trúc 3D từ các hình chiếu của nó thành một loạt hình ảnh. Đầu vào là một tập hợp các hình ảnh chồng chéo của cùng một đối tượng, được chụp từ các góc nhìn khác nhau. Đầu ra là bản dựng lại 3D của một đối tượng và các tham số camera bên trong và bên ngoài được dựng lại của tất cả các hình ảnh[10]. Nền tảng đầu tiên của phương pháp tái tạo hình ảnh dựa vào chuyển động SfM được đưa ra bởi S. Ullman. Theo đó, phương pháp tính toán vị trí 3D bằng các hình ảnh 25 2D được sử dụng để xác định SfM[16][17][21]. Hình chiếu phẳng và tọa độ 3D của các điểm ảnh được tính toán, đưa lên màn hình và được lưu lại trong bộ nhớ máy tính. Trong Hình 2.2 khi hình trụ này xoay, các tọa độ và hình chiếu của các chấm đen sẽ được tính toán lại để đưa lên mặt phẳng. Hình 2.5: Hình trụ miêu tả SfM Khi các đối tượng dịch chuyển qua màn hình thì tập điểm ngẫu nhiên đó sẽ di chuyển theo, và khi đó hình dạng, kích thước vẫn được xác định khi góc chiếu thay đổi. Các cấu trúc từ chuyển động SfM được tính toán qua ba giai đoạn chính như Hình 2.6 dưới đây. Hình 2.6: Ba quá trình chính bên trong của SfM Bước đầu tiên của SfM là tìm kiếm các điểm trùng nhau trên các tấm ảnh và xác định các phép chiếu hình trong các cặp ảnh. Kết quả của quá trình này là tập hợp các điểm ảnh trùng nhau và phép chiếu hình của mỗi điểm. Tại mỗi bức ảnh, SfM phát hiện 26 một tập các điểm ảnh của các đối tượng, mỗi đối tượng sẽ có đặc tính hình học và độ xám phù hợp để SfM có thể tìm kiếm chúng trong những bức ảnh khác nhau tạo ra điểm đặc trưng. Hình 2.7: Cấu trúc từ nguyên lý ảnh chuyển động Các nhà khoa học đã đưa ra một số giải thuật để tăng cường hiệu suất kết hợp các đối tượng trên ảnh và áp dụng nó cho các tập ảnh lớn bởi các mô hình lớn thì sẽ cần phải tính toán lâu. Khi xác định các phép chiếu hình học đối với ảnh thường có rất nhiều các nhiễu, do vậy, thuật toán như RANSAC sẽ được các chương trình SfM sử dụng đến để xử lý loại bỏ các nhiễu trong mô hình. Thuật toán RANSAC được ứng dụng khá nhiều, nó được dùng để ước tính quan hệ với các tham số trên trên tập dữ liệu. Thuật toán RANSAC sẽ chia tập dữ liệu thành các giá trị trong và ngoài và tính toán để lấy số lượng nhiễu nhỏ nhất trong tập dữ liệu đó. Bước tiếp theo của SfM là quá trình tăng cường tái cấu trúc bằng cách kết hợp các thông tin từ bước trên, từ các dữ liệu của từng ảnh riêng lẻ để lựa chọn và xác minh các cặp ảnh có đúng hay không. Việc lựa chọn các cặp ảnh là vô cùng quan trọng bởi đây là chất lượng của kết quả mô hình 3D, khi lựa chọn không chính xác thì mô hình 3D sẽ bị hỏng, không thể giữ được tạo hình của vật thể. Các điểm ảnh khi đó có thể sẽ phân tán ra xa hoặc chụm lại thành một cụm. Độ mịn, độ chính xác và hiệu suất của quá trình tái xây dựng phụ thuộc vào vị trí lựa chọn cặp ảnh trong quá trình kết hợp này. Trong quá trình này, các cặp ảnh cũng được đưa vào giải thuật RANSAC để xử lý nhiễu. Giai đoạn cuối của việc tái cấu trúc chuyển động thông qua hiệu chỉnh toàn thể, nếu không có thêm các hiệu chỉnh SfM thì mô hình sẽ đi tới giai đoạn không thể tái xử 27 lý. Hiệu chỉnh toàn thể sẽ hiệu chỉnh tham số của máy ảnh và các tham số điểm ảnh để giảm thiểu các sai số cho định tâm ảnh sử dụng hàm số Pi. Cấu trúc đặc biệt của các tham số sử dụng phương pháp của Schur [22] để hiệu chỉnh toàn thể. Thông thường, phương pháp này hoạt động rất tốt khi số lượng vị trí chụp nhỏ hơn số lượng điểm ảnh. Quá trình hiệu chỉnh toàn thể đến tái cấu trúc chuyển động sẽ tốn rất nhiều thời gian cũng như công suất tính toán cao với các tập ảnh không sắp xếp. Do vậy khi thu thập dữ liệu ảnh nên chụp có quy tắc để việc xử lý dễ dàng và chính xác hơn. Sau khi hiệu chỉnh toàn thể đám mây điểm, việc định vị đám mây điểm theo hệ thống tọa độ cũng được quan tâm, toàn bộ đám mây điểm được quy về chung hệ tọa độ ba chiều sẽ giúp hình dáng của mô hình chính xác hơn, giúp công việc tạo lưới cuối cùng diễn ra thuận lợi. Phương pháp âm thanh nổi đa góc nhìn (MVS) Âm thanh nổi đa góc nhìn (MVS) là một kỹ thuật phổ biến để thu được các bản tái tạo 3D dày đặc của các đối tượng hoặc cảnh trong thế giới thực từ một tập hợp nhiều hình ảnh đã được xử lý. Đây là một trong những vấn đề cơ bản trong thị giác máy tính và đã được nghiên cứu trong nhiều năm, khi mới bắt đầu thì kỹ thuật này phát triển các thuật toán cổ điển và thủ công, với chức năng phù hợp để đo lường tính nhất quán giữa các chế độ xem. Tuy nhiên, nhiều thách thức khiến MVS trở thành một vấn đề mở, chẳng hạn như sự che khuất giữa các khung nhìn, thiếu kết cấu, các bề mặt mờ[19]. Sự ra đời của công nghệ Deep Learning trong thị giác máy tính, đặc biệt là sự ra đời của mạng Convolutional Neural Networks (CNN) đã giúp phát triển nhanh chóng phương pháp MVS giúp khắc phục một số vấn đề nêu trên. Điểm chung của hầu hết các mạng CNN cho công nghệ chụp ảnh 3D là tối ưu kết cấu cho mô hình 3D, theo đó, mạng CNN được xây dựng bằng cách sử dụng mặt phẳng chụp ảnh qua các đặc điểm của điểm ảnh giữa các bức ảnh, từ đó tính toán độ tương tự của chúng và tăng thêm độ dày đặc cho các điểm ảnh. Việc kết hợp các thuật toán MVS, mạng CNN sẽ giúp ước tính độ sâu của tập hợp các đám mây điểm thưa thớt từ đó suy ra các bản đồ độ sâu chính xác hơn, giúp điều chỉnh khối lượng chi phí bên trong mạng và mật độ các điểm ảnh. Điều này giúp tăng hiệu suất của phương pháp MVS và kết quả mô hình 3D sẽ giống thực tế hơn. Các mô hình MVS sẽ học tập theo cùng một khuôn mẫu, một tập hợp N hình ảnh được đưa ra, khi đó một hình ảnh được coi là tham chiếu và N-1 hình ảnh còn lại làm hình ảnh nguồn. Các mạng deep MVS xử lý chúng để dự đoán bản đồ đám mây điểm 28 dày đặc được căn chỉnh với hình ảnh tham chiếu. Với mục đích này, điểm chung cho hầu hết các mạng deep MVS sẽ định nghĩa các khối lượng chi phí, mã hóa các tính năng tương tự giữa các pixel trong hình ảnh tham chiếu và đề xuất một hình ảnh tiềm năng trong các hình ảnh nguồn. Cụ thể với các tham số bên trong và bên ngoài K, E cho bất kỳ máy ảnh nào thu thập N hình ảnh, với giả thuyết độ sâu z [ zmin , zmax ] , các đặc trưng Fi được trích xuất từ một hình ảnh nguồn nhất định I và được chiếu bằng phương pháp dựa trên bản đồ đồng nhất [20] ,ta có công thức: Fi = ( Fi , z, K 0 , E0 , K i , Ei ) (2.20) z Sau đó, để mã hóa sự giống nhau giữa các đặc trưng tham chiếu F0 và Fi một khối lượng dựa trên phương sai đã được xác định như sau: n (F − ) V ( z) = 2 i i =0 (2.21) N n = F z i i =0 (2.22) N Theo đó, đối với một pixel nhất định, điểm phương sai càng thấp thì các tính năng được truy xuất từ các chế độ xem càng giống nhau, và giả thuyết độ sâu z càng chính xác. Tuy nhiên việc thực hiện giải pháp này đòi hỏi bộ nhớ cao và kết quả tính toán phức tạp. Khi đó, một mạng tiên tiến hơn đã thực hiện giải pháp từ dữ liệu thô đến dữ liệu tinh khiết. Cụ thể, một tập hợp khối lượng chi phí dựa trên phương sai được xây dựng như sau: n Vs ( z ) = (F d i =0 (i ,s ) N − )2 (2.23) n = F z (i ,s ) i =0 N (2.24) Với s là một độ phân giải hoặc tỷ lệ cụ thể mà tại đó khối lượng chi phí được tính toán và F(iz, s ) tại hình ảnh i ở độ phân giải s có: 29 F(iz, s ) = ( F(i , s ) , zs , K ( 0, s ) , E0 , K (i , s ) , Ei ) (2.25) Theo đó, với K (i , s ) là thông số của máy ảnh đã điều chỉnh theo z [ zmin , zmax ] sẽ phù hợp với bất kỳ tỉ lệ nào. Hình 2.8: Gợi ý về độ sâu từ nhiều chế độ xem (bên trái) có thể tổng hợp trên chế độ xem tham chiếu (bên phải) Phần mềm tái tạo mô hình 3D Công nghệ chụp ảnh 3D với phương pháp photogrammetry hiện nay rất phổ biến. Nhiều phần mềm miễn phí cho phép người dùng sử dụng để tạo ra các mô hình 3D rất tốt, nếu không cần kỹ năng thiết kế 3D chuyên nghiệp, hay chỉ sử dụng công nghệ này để nghiên cứu học tập thì các phần mềm này rất hữu dụng. Các phần mềm tái tạo hình ảnh 3D từ ảnh 2D hiệu quả như Agisoft PhotoScan, 3DF Zephyr, Autodesk 123D Catch, Visual SFM. Các phần mềm này chỉ cần đưa dữ liệu ảnh vào là hoàn toàn có thể xuất ra các file 3D tùy theo mục đích sử dụng. Ngoài ra, Colmap là một dạng phần mềm kết hợp phương pháp Cấu trúc từ chuyển động SfM và Âm thanh nổi đa góc nhìn MVS[21][22]. Phần mềm Colmap có thể điều khiển theo cả hai phương pháp giao diện đồ họa và các dòng lệnh. Tuy nhiên, trong các phần mềm có sẵn thì việc người dùng phải thao tác để đưa ra được kết quả mô hình 3D mất khá nhiều công sức. Trong đồ án tốt nghiệp này, em nghiên cứu về quy trình để có thể kết hợp với thiết bị giúp tái tạo mô hình 3D tự động. Chính vì vậy, em lựa chọn phần mềm Colmap để có thể điều khiển thông qua môi trường dòng lệnh. Việc cài đặt Colmap rất thuận tiện, Colmap cung cấp nhiều phiên bản cả giao diện và dòng lệnh để người dùng có thể dễ dàng chạy trên các hệ điều hành khác nhau như Windows, Linux, MacOS. Ở phiên bản dòng lệnh, người dùng có thể điều khiển các chức năng và thông số cho mỗi loại dữ liệu. 30 Colmap cung cấp các tính năng để xây dựng lại các bộ sưu tập hình ảnh, với giao diện dòng lệnh có thể dễ dàng truy cập để thiết đặt quá trình xử lý tự động. Colmap xử lý hình ảnh và cho ra file kết quả đám mây điểm, và tạo lưới cho vật thể, tuy nhiên Colmap chỉ có thể xem được file đám mây điểm, còn file tạo lưới phải được hiển thị ở trình xem bên ngoài như Meshlab. Các lưu ý để có một kết quả tái tạo tối ưu: - Chụp ảnh có kết cấu tốt, tránh các hình ảnh hoàn toàn không có kết cấu (như các mặt phẳng trống không có đối tượng) - Chụp ảnh ở điều kiện ánh sáng tốt, tránh các vùng tối, hoặc ánh sáng phản chiếu quá mạnh. - Chụp ảnh có độ chồng hình cao, đảm bảo đối tượng được nhìn thấy trong ít nhất 3 hình ảnh, càng nhiều hình ảnh càng tốt. - Chụp ảnh từ các góc nhìn khác nhau, không chụp ảnh từ cùng một vị trí bằng cách xoay máy ảnh. Các bước thực hiện của phần mềm Colmap: - Phát hiện và trích xuất tính năng. Bước đầu tiên của phần mềm Colmap thực hiện là phát hiện và trích xuất tính năng, các điểm của đối tượng được tìm thấy trong ảnh sẽ được mô tả bằng cách sử dụng bộ mô tả số. Colmap nhập hình ảnh trong một bước để lưu các trích xuất sử dụng trong cả quá trình tái tạo. Bước tiếp theo là so sánh các đặc điểm và xác minh hình học để tìm sự tương ứng giữa các đặc điểm đặc trưng trong các hình ảnh khác nhau. Trong bước này yêu cầu có GPU để có thể khớp các đặc điểm giữa các bức ảnh với nhau và tái tạo các điểm ảnh thành một đám mây điểm. Phần mềm có thể tái tạo lại nhiều lần quét của một đối tượng nhưng sẽ không hợp nhất thành một mô hình duy nhất, mỗi lần tái tạo sẽ lưu trữ các đám mây điểm riêng biệt[10]. Các thuật toán sẽ hợp nhất đám mây điểm lại theo một vài hình ảnh tham chiếu cho phù hợp. Bước cuối cùng sau khi tái tạo các điểm ảnh, đám mây điểm sau khi tạo ở bước trên vẫn ở dạng thô và sẽ được kết hợp với phương pháp MVS để khôi phục hình học cho các điểm ảnh dày đặc hơn. Người dùng có thể xem các file đám mây điểm trên Colmap hoặc chuyển sang phần mềm xem ảnh 3D tiêu chuẩn là Meshlab để xử lý loại bỏ các điểm dư thừa. Cuối cùng Colmap sẽ sử dụng thuật toán tái tạo bề mặt Poisson và 31 trích xuất bề mặt dựa trên đồ thị cắt từ một tam giác Delaunay. Quá trình này sẽ tạo lưới cho vật thể, các thuật toán sẽ giúp bề mặt nhẵn mịn và tối ưu thời gian xử lý cho các bức ảnh. Colmap không hỗ trợ xem phần tạo lưới nên cần có Meshlab để hiển thị nó. Hình 2.9 : Đám mây điểm thô (bên trái) và đám mây điểm dày đặc (bên phải) Hình 2.10 : Lưới đa giác dựng theo phương pháp Poison (trái) và Delaunay (phải) Hình 2.11 : Lưới đa giác dựng theo phương pháp Poisson (trái) và Delaunay (phải) xem bằng Meshlab 32 Kết luận chương Nội dung của chương này chủ yếu là nền tảng lý thuyết về các phương pháp trong quá trình tái tạo vật thể từ nhiều bức ảnh, các phương pháp SfM và MVS đã giúp quá trình tái tạo các đối tượng nhanh và chính xác hơn. Hiện nay, hầu hết công tác xử lý dữ liệu hình ảnh được thực hiện nhiều trên các phần mềm có sẵn và do nước ngoài phát triển, chưa có các giải pháp phần mềm trong nước. Các quy trình xử lý ảnh từ 2D sang 3D khi được tích hợp các công nghệ như SfM, MVS, hay mạng CNN đã được thiết lập để có thể tự động xử lý. Chính vì vậy người sử dụng công nghệ này không nhất thiết phải có kiến thức quá sâu về công nghệ đo ảnh truyền thống. Hơn thế nữa, với khả năng ưu việt của công nghệ phát triển không ngừng, việc nghiên cứu thêm về công nghệ này sẽ làm tiền đề cho sự phát triển trong tương lai. Với việc thu thập dữ liệu từ xa, từ trên không có thể dùng vệ tinh, thiết bị bay không người lái để tự động thu thập. Tuy nhiên khi thu thập dữ liệu trên mặt đất vẫn cần thêm các thao tác để thu thập dữ liệu, chính vì vậy đồ án này đã đề xuất chế tạo thiết bị robot giúp tự động quy trình thu thập dữ liệu. Từ các cơ sở lý thuyết phía trên là nền tảng để tiến hành thiết kế thiết bị robot tự động cho quy trình tái tạo vật thể trong chương tiếp theo. 33 THIẾT KẾ ROBOT HỖ TRỢ TÁI TẠO VẬT THỂ Robot tái tạo vật thể Đặt vấn đề Để tái tạo lại vật thể cần có thiết bị chụp ảnh: máy chụp ảnh, điện thoại với độ sắc nét đủ để phần mềm nhận ra các điểm ảnh tương ứng giữa các bức hình. Ngoài ra còn cần thêm các yếu tố khác như góc độ phù hợp, ánh sáng, và các bức ảnh khi được chụp lần lượt theo thứ tự sẽ giúp các thuật toán xử lý nhanh và chính xác hơn. Đề xuất giải pháp Dựa theo quy trình tái tạo vật thể gồm ba bước chính: thu thập dữ liệu, xử lý dữ liệu, tái tạo vật thể. Giải pháp được đề xuất là chế tạo thiết bị tự động với tên gọi “Robot tái tạo vật thể từ ảnh chụp”. Thiết bị với cấu tạo đơn giản dễ sử dụng, thu thập dữ liệu nhanh và chính xác. Lên ý tưởng thiết kế Ý tưởng thiết kế ban đầu dựa theo bài báo “Design of an Automated Extraoral Photogrammetry 3D Scanner”[20]. Trong Hình 3.1, máy ảnh sẽ được sử dụng để chụp các hình ảnh khi đối tượng xoay tại bàn xoay, đế xoay camera sẽ di chuyển camera tạo ra góc chụp khác. Ý tưởng sẽ tạo một môi trường cho đối tượng không bị ảnh hưởng với không gian xung quanh để giảm các điểm ảnh nhiễu từ bên ngoài, giúp giảm thời gian xử lý, tính toán. Hình 3.1 : Ý tưởng cho phần cứng mô hình Ý tưởng về quy trình hoạt động của robot sẽ tự động, loại bỏ sự can thiệp của con người tới hệ thống. Do đó vi điều khiển Arduino sẽ điều khiển tất cả các thành phần theo trình tự hoạt động của robot. Máy tính laptop sẽ được kết nối với Arduino để thu dữ liệu từ camera chụp được. Khi đó, máy tính sẽ tự động xử lý dữ liệu ảnh thu được trực tiếp hoặc thông qua máy ảo. Động cơ bước sẽ điều khiển sự di chuyển của bàn xoay đối 34 tượng và di chuyển camera, một động cơ khác điều khiển camera lên xuống và động cơ servo điều khiển camera thay đổi góc chụp lên đối tượng. Hình 3.2 Kết nối giữa máy tính và thiết bị robot Thiết kế và chế tạo sản phẩm Robot được đặt cố định với phần camera di chuyển lên xuống, theo đó là giá đỡ vật thể sẽ xoay tròn để camera thu được dữ liệu khắp xung quanh đối tượng. Robot được cấu tạo với các thành phần chính và vai trò của từng thiết bị trong Bảng 3.1 sau: Bảng 3.1 : Bảng thành phần cấu tạo chính của robot Số lượng Tên thiết bị Chức năng 1 Banana Pi Kết nối dữ liệu giữa thiết bị và máy tính 1 Arduino Điều khiển động cơ 1 Camera Thu thập dữ liệu ảnh 2 Động cơ bước Nema17 Di chuyển giá đỡ và camera. 1 Động cơ Servo SG90 Điều khiển hướng của camera 1 Module L239D Điều khiển hai động cơ bước 1 Thẻ nhớ Micro SD Lưu trữ dữ liệu 1 Nguồn pin Cấp nguồn cho robot Ngoài các thành phần trên còn có thêm các linh kiện kèm theo như dây, khung, thanh vít, ốc. 35 Với các linh kiện trên, ta có thể mô phỏng mạch hoạt động trên phần mềm Proteus như trong Hình 3.3 : Vi điều khiển Arduino chịu trách nhiệm điều khiển hai động cơ bước thông qua hai chân 5, chân 6, chân 3 của mạch Arduino sẽ điều khiển động cơ Servo. Hình 3.3 : Mô phỏng mạch trên phần mềm Proteus Khi đó chương trình nạp vào vi điều khiển Arduino được thực hiện trên phần mềm Arduino IDE kết nối với phần mềm Proteus. Trước khi triển khai chế tạo robot, ta sẽ thiết kế mô hình 3D sản phẩm robot để dễ dàng quan sát các chi tiết trong robot. Hình 3.4 là mô hình 3D được được thiết kế trên phần mềm Solidworks. Hình 3.4: Mô hình 3D robot được thiết kế trên Solidworks 36 Bảng 3.2 : Bảng thông tin kích thước tổng quát các chi tiết trong mô hình 3D robot Chi tiết Kích thước (cm) Chất liệu Đế chính Rộng x Dài x Cao = 15 x 20 x 1 Bìa cứng Đế tròn Bán kính mặt đế = 10 Chiều cao = 5 Bìa cứng Giá đỡ camera Rộng x Dài x Cao = 3x9x8 Nhựa Chốt kết nối Bán kính chốt tròn = 1,5 Chiều cao = 0,5 Chiều dài = 4,5 Nhựa Thanh giữ ngang Rộng x Dài x Cao = 2 x 11 x 0,5 Nhựa Thanh giữ đứng Bán kính trục = 0,5 Dài = 50 Sắt 37 Hình ảnh Vitme T8 và đai ốc Bán kính trục = 0,5 Chiều dài trục = 50 Sắt Sau khi có các thông tin chi tiết về sản phẩm, sản phẩm robot được tiến hành xây dựng thực tế. Hình 3.5, Hình 3.6 bên dưới là 2 mô hình robot thực tế được chế tạo: Hình 3.5 : Sản phẩm thực tế loại 1 Hình 3.6 : Sản phẩm thực tế loại 2 38 Sản phẩm thực tế được thiết kế và cải tiến thành hai loại: - Robot loại 1 sẽ sử dụng camera từ điện thoại, điện thoại được thiết lập để tự động chụp ảnh vật thể. + Ưu điểm của loại thiết kế này là tốc độ chụp ảnh nhanh và chính xác, dễ dàng chuyển dữ liệu lên trên máo ảo để xử lý. Vì điện thoại có độ phân giải cao nên khi thực hiện tái tạo sẽ cho ra kết quả chính xác hơn camera của Banana Pi. Ngoài ra điện thoại thông minh mỗi người có sẵn nên chỉ cần vi điều khiển Arduino là đã điều khiển được robot hoạt động và thu được dữ liệu nên chi phí cho loại robot này khá rẻ. + Nhược điểm của loại này là không thể kết nối trực tiếp với robot, phải điều khiển riêng rẽ hai loại thiết bị. Khả năng cải tiến thấp, khó phát triển cho các nghiên cứu trong tương lai. - Robot loại 2 sử dụng camera USB được kết nối trực tiếp với máy tính nhúng Banana Pi. + Ưu điểm của loại thiết bị này là khả năng kết hợp với máy tính nhúng Banana Pi để tạo thành một sản phẩm hoàn chỉnh, có khả năng tạo web-server giúp cải tiến cho robot và phục vụ mục đích nghiên cứu sau này. Các chức năng trong máy tính nhúng khá đa dạng và được rất nhiều người sử dụng để tạo ra các project lớn. + Nhược điểm của loại này là robot cần phải có thêm camera rời và máy tính nhúng với chi phí tương đối. Mô tả hoạt động của robot: - Vi điều khiển Arduino sẽ điều khiển động cơ bước điều khiển thanh Vitme, đai ốc Vitme sẽ theo đó di chuyển lên xuống giúp camera cũng di chuyển lên xuống. Động cơ servo sẽ điều khiển hướng của camera tương ứng với vị trí camera đối với đối tượng. Động cơ bước thứ hai điều khiển đế giữ tròn xoay vật thể. + Đối với robot sử dụng camera từ điện thoại di động, điện thoại sẽ được cài đặt tự động chụp ảnh theo nhu cầu, sau đó sẽ sử dụng laptop kết nối qua mạng chung để truy cập dữ liệu từ điện thoại và thực hiện chuyển dữ liệu từ điện thoại lên Google Drive. 39 + Đối với robot sử dụng camera usb, laptop sẽ truy cập từ xa vào máy tính nhúng Pi và truyền lệnh điều khiển camera tự động chụp ảnh, sau đó sẽ đẩy dữ liệu từ máy tính nhúng Pi lên Google Drive - Sau khi thu được dữ liệu ảnh và chuyển dữ liệu lên Google Drive, bước tiếp theo sẽ xử lý bằng máy ảo Google Colab. Quá trình cài đặt môi trường và các dòng lệnh sẽ được chạy tự động theo cài đặt của người dùng, tuy nhiên sẽ mất một chút thời gian. Sau khi hoàn tất quá trình cài đặt Colmap trên máy ảo Google Colab, sẽ chạy các lệnh tương ứng các bước xử lý như đã đề ra ở chương 2 : + Lệnh : colmap feature_extractor để trích xuất các đặc trưng từ ảnh. + Lệnh : colmap exhaustive_matcher để so sánh và ghép các đặc trưng giống nhau. + Lệnh : colmap mapper để tạo đám mây điểm sparse model. + Lệnh : colmap image_undistorter để lọc nhiễu ảnh. + Lệnh : colmap patch_match_stereo để tìm các nhóm ảnh có nhiều điểm chung. + Lệnh : colmap stereo_fusion để tổng hợp ra file kết quả đám mây điểm của dense model (mô hình dày đặc). + Lệnh : colmap poisson_mesher để tạo lưới với phương pháp Poisson. + Lệnh : colmap delaunay_mesher để tạo lưới với phương pháp Delaunay. Hoặc người dùng có thể chạy tự động các lệnh trên bằng lệnh : colmap automatic_reconstructor. Colmap cung cấp các lệnh có thể tùy chỉnh các thông số cho mô hình tùy thuộc vào tập dữ liệu của người dùng. Sau khi xử lý xong dữ liệu Colmap sẽ xuất ra hai file kết quả, file fused.ply lưu đám mây điểm đối tượng ,và file meshed-poisson.ply lưu lưới của đối tượng. Vì môi trường dòng lệnh không thể quan sát được kết quả, ta sẽ sử dụng phần mềm chuyên dụng để xem hình ảnh 3D là Meshlab. Kết luận chương Trong chương này đã trình bày về quy trình thiết kế, chế tạo và điều khiển hoạt động của robot, phần thiết kế robot khá đơn giản vì yêu cầu bài toán đề ra là robot thu thập dữ liệu tự động. Quá trình từ các bước thu thập dữ liệu, xử lý dữ liệu, và tái tạo vật thể đã được tự động quy trình giúp người sử dụng dễ dàng, thuận tiện 40 Sản phẩm đơn giản với chi phí thấp phù hợp cho việc nghiên cứu, học tập. Sản phẩm có nhiều hướng để nghiên cứu sâu hơn và tiếp tục phát triển thành các dự án lớn đem lại giá trị kinh tế. Phần kết quả thu được sau khi tái tạo vật thể sẽ được trình bày và phân tích, đánh giá trong chương sau. 41 KẾT QUẢ VÀ PHÂN TÍCH Kết quả Yêu cầu đặt ra đối với sản phẩm mô hình 3D: Kết quả phải là hình ảnh 3D có thể xoay để quan sát, file kết quả có thể sử dụng để làm các công việc khác như xem, chỉnh sửa đối với một số ứng dụng liên quan, file kết quả sản phẩm có thể xuất file để tiến hành in 3D hoặc chuyển vào các ứng dụng xử lý hình ảnh 3D chuyên dụng. Các kết quả sau khi tái tạo phải đảm bảo được các tính chất giống với sản phẩm thực tế như cấu trúc, vị trí giữa các thành phần của đối tượng, màu sắc, có khả năng quan sát mọi vị trí xung quanh vật thể. Dữ liệu mẫu từ tập dữ liệu dataset của Colmap Dữ liệu hình ảnh được lấy từ tập dataset được cung cấp bởi Colmap Hình 4.1 gồm 50 bức ảnh độ phân giải rất cao chụp xung quanh một tòa nhà. Vì đây là tập dataset của Colmap nên toàn bộ các yêu cầu đề ra đối với dữ liệu để có kết quả hình ảnh 3D tối ưu, do đó kết quả thu được sau khi tái tạo từ Colmap sẽ chỉ phụ thuộc vào cấu hình của máy ảo. Cấu hình máy ảo với GPU càng tốt sẽ xử lý dữ liệu nhanh và tạo ra được kết quả tối ưu hơn. File kết quả được hiển thị trên phần mềm Meshlab sau đó xử lý để loại bỏ có chi tiết dư thừa. Hình 4.1 : Dữ liệu từ dataset Colmap 42 Hình 4.2 : Kết quả đám mây điểm trước (trái )và sau khi xử lý (phải) Hình 4.3 : Kết quả lưới thu được trước (trái) và sau khi xử lý (phải) Phân tích kết quả: - Mô hình 3D của đối tượng ngôi nhà sau khi tạo lưới khá giống với ngôi nhà trong thực tế và hoàn toàn đáp ứng được yêu cầu đề ra về kết quả các mô hình 3D hiện nay. - Hình 4.2 đám mây điểm xung quanh đối tượng có nhiều điểm bị nhiều xung quanh, đám mây điểm của đối tượng tại phía trước ngôi nhà có một số vị trí như phần cột nhà còn bị thiếu, không chính xác. - Hình 4.3 phần lưới của đối tượng sau khi được tái tạo khá chính xác về mặt cấu trúc, vị trí, màu sắc và đặc điểm. Không thấy sự xuất hiện của nhiễu tại vị trí bề mặt của ngôi nhà, kết quả sau khi xử lý loại bỏ các lưới dư thừa đã gần giống với thực tế Đánh giá : - Sai số trong quá trình tính toán dữ liệu đã ảnh hưởng đến một số phần đám mây điểm phía trước của đối tượng, tuy nhiên kết quả sau khi tạo lưới vẫn khá chính xác, có thể đánh giá đây là một tập dữ liệu tốt, và Colmap xử lý tốt việc tái tạo hình ảnh 3D từ ảnh chụp. - Dữ liệu từ tập dataset của Colmap được chụp với độ phân giải cao, cùng với đó là các góc chụp, ánh sáng đầy đủ nên tạo ra được kết quả mô hình 3D khá giống với thực tế. Sản phẩm có thể mang đi in mô hình 3D trực tiếp hoặc sử dụng để nghiên cứu trong các ứng dụng về mô hình 3D. 43 Dữ liệu tự tạo từ camera điện thoại Đối tượng balo được chụp ảnh xung quanh đối tượng với 66 bức ảnh có độ phân giải cao, quá trình chụp mất một chút thời gian và công sức để di chuyển điện thoại quanh đối tượng. Đối tượng không phản chiếu ánh sáng, các góc chụp đúng, đủ, chất lượng ảnh tốt. Hình 4.4 : Dữ liệu ảnh chụp đối tượng balo tự tạo Hình 4.5 : Kết quả đám mây điểm trên Meshlab trước (trái )và sau khi xử lý (phải) Hình 4.6 : Lưới đối tượng balo khi chưa xử lý 44 Hình 4.7 : Kết quả đối tượng balo đã được xử lý Phân tích kết quả: - Mô hình 3D giống với sản phẩm thực tế, có tính ứng dụng cao đối với các sản phẩm nghiên cứu, học tập. - Hình 4.5 Đám mây điểm của đối tượng ít bị ảnh hưởng nhiều bởi nhiễu và sai số trong quá trình xử lý, một số điểm ảnh xung quanh đối tượng bị nhiễu. - Hình 4.6, Hình 4.7 Lưới của đối tượng hoàn toàn đã đáp ứng được các yêu cầu đề ra, sản phẩm được tái tạo có đầy đủ các tính chất hình dáng, tỷ lệ, vị trí, màu sắc so với sản phẩm thực tế. Kết quả tạo lưới quanh viền của sản phẩm bị mờ và chưa thể khép kín lưới với các thành phần lưới phía trước và phía sau mô hình. Đánh giá: - Với các dữ liệu có chất lượng tốt, phù hợp với các lưu ý mà phía Colmap đã đề ra thì sẽ có mô hình 3D tốt, đáp ứng được yêu cầu đề ra, mô hình 3D được tái tạo giống với sản phẩm thực tế. Tuy nhiên phần đám mây điểm còn nhiều nhiễu và chưa ăn khớp với các điểm ảnh của vật thể, dẫn đến phần lưới xung quanh viền đối tượng chưa hợp nhất với phần lưới phía trước và phía sau vật thể. - Nguyên nhân có thể do phía hai bên rìa của đối tượng bị thiếu ánh sáng nên dẫn đến các thuật toán xử lý không nhận được các điểm ảnh đặc trưng tại khu vực này. Có thể cần tăng thêm chất lượng hình ảnh cho dữ liệu thì sẽ có kết quả đạt được mong muốn áp dụng cho thực tế. 45 Một số kết quả khác khi chụp bằng điện thoại Hình 4.8 : Ảnh chụp thùng bìa carton (bên trái) và kết quả (bên phải) Nhận xét: Với đối tượng ít phản chiếu ánh sáng sẽ thu được kết quả không bị nhiễu trên bề mặt vật thể. Hình 4.9 : Ảnh chụp đối tượng đèn học (trái) và kết quả (phải) Nhận xét: Tập dữ liệu với chất lượng trung bình, ánh sáng yếu và với đối tượng có các chi tiết có tính đối xứng tâm sẽ bị sai số tính toán các điểm ảnh ở phần đối xứng đó dẫn đến mô hình bị khuyết, sai khác so với mô hình thực tế. Hình 4.10 Ảnh chụp đối tượng đồ chơi 46 Hình 4.11 : Kết quả đối tượng đồ chơi Nhận xét: Đối tượng bị mất phần đám mây điểm phía sau dẫn đến khi tạo lưới cho mô hình bị lỗi, sản phẩm không hoàn chỉnh. Nguyên nhân có thể do tập dữ liệu bị mờ, các góc chụp chưa đúng. Dữ liệu được chụp tự động từ robot Dữ liệu được chụp trong lúc robot hoạt động cả trong hai trường hợp sử dụng camera của điện thoại di động và camera usb. Dữ liệu tự động chụp sẽ gồm khoảng 50 bức ảnh cho mỗi đối tượng. Sau khi tiến hành các bước xử lý dữ liệu trên Google Colab tương tự như đã thực hiện với hai loại dữ liệu dataset và ảnh tự chụp từ điện thoại thì ta thu được các kết quả như sau: Hình 4.12 : Dữ liệu ảnh chụp tự động từ robot đối tượng giày Hình 4.13 : Kết quả dám mây điểm thu được đối tượng giày 47 Hình 4.14 : Kết quả lưới thu được đối tượng giày Phân tích kết quả: - Các kết quả đám mây điểm và lưới thu được tại Hình 4.13, Hình 4.14 bị lỗi, mô hình 3D của đối tượng không được tạo. Các điểm ảnh có xu hướng xếp theo đường thẳng hướng tới đối tượng Đánh giá: - Dữ liệu ảnh chụp tự động về cơ bản đã đáp ứng được các tiêu chí về chất lượng của ảnh, tuy nhiên khi tái tạo thành mô hình 3D thì đã bị lỗi không thể tạo được bất kì điểm ảnh nào của đối tượng. Nguyên nhân có thể do các góc chụp được xác định xung quanh đối tượng không phù hợp với các thuật toán Colmap sử dụng dẫn đến không tính toán được các đặc trưng của đối tượng khi đối tượng xoay trong không gian đứng yên. Tuy nhiên, nhiều trường hợp khi tạo dữ liệu gặp phải lỗi gì đó khiến cho quá trình chạy phần mềm Colmap bị lỗi. - Do đó ta tiến hành tái tạo vật thể với đối tượng khác. Kết quả khác khi thực hiện tái tạo với dữ liệu được thu thập từ robot. Hình 4.15 : Dữ liệu ảnh chụp khác từ robot đối tượng gấu bông 48 Hình 4.16 : Kết quả đám mây điểm (bên trái) và lưới (bên phải) đối tượng gấu bông Kết quả hiển thị cho thấy đối tượng Hình 4.15 có kết quả tương tự với dữ liệu Hình 4.12, đám mây điểm bị lỗi không tạo được các điểm đặc trưng của đối tượng. Qua ba trường hợp đã trình bày bên trên, có thể thấy thiết kế robot đã gặp vấn đề về việc thu thập dữ liệu. Ta tiến hành phân tích dữ liệu database của đối tượng sau khi xử lý bằng Colmap với giao diện dòng lệnh trên Google Colab. Để có thể hiển thị dữ liệu phân tích, ta cần sử dụng file database.db được xuất trong quá trình tái tạo vật thể. Khi đó file database.db được đưa vào Colmap phiên bản giao diện để phân tích. Kết quả phân tích được thể hiện trong Hình 4.17 . Hình 4.17 : Dữ liệu phân tích file database hiển thị trên Colmap Từ dữ liệu phân tích có thể thấy được rõ ràng lỗi trong quá trình xử lý dữ liệu, Colmap nhận thấy các tất cả các góc chụp ảnh được chụp tại 3 vị trí gần nhau nên không gian xung quanh đối tượng gần như không thay đổi, trong khi đó đối tượng đang xét đến thì bị xoay dẫn đến lỗi quá trình tái tạo, thuật toán Colmap đã xóa các điểm ảnh thuộc đối tượng cần tái tạo 3D. Từ đó cho ra kết quả lỗi. 49 Ta rút ra kết luận cho việc thực hiện tái tạo hình ảnh 3D từ ảnh chụp được xử lý trên phần mềm Colmap như sau: - Colmap không xử lý được các hình ảnh có vật thể bị chuyển động quá nhiều trong quá trình chụp ảnh. - Việc di chuyển camera nhiều là cần thiết để có một mô hình tốt, Colmap tính toán xác định đám mây điểm của đối tượng dựa vào việc dịch chuyển góc chụp. - Tránh việc di chuyển đối tượng nhiều trong quá trình thu thập dữ liệu. - Dữ liệu ảnh chụp cần có đủ ánh sáng, độ phân giải ảnh. Nhận thấy mô hình robot vừa thực hiện tái tạo vật thể từ ảnh bị lỗi về cách thu thập dữ liệu, cần có giải pháp đề xuất để khắc phục vấn đề. Ta có giải pháp khắc phục được đề xuất như sau: - Cải tiến thiết kế cho mô hình robot, theo đó đối tượng sẽ được đặt cố định và robot điều khiển camera di chuyển xung quanh đối tượng và chụp dữ liệu. Khắc phục lỗi thiết kế cho robot Vẫn tiếp tục với mô hình robot cũ, ta sẽ tiến hành cố định vị trí đặt đối tượng, kết hợp di chuyển camera xung quanh đối tượng và di chuyển góc chụp camera như trong Hình 4.18 Hình 4.18 : Sản phẩm robot đã được khắc phục sự cố Theo đó, động cơ bước tại sản phẩm cũ được đặt để xoay đối tượng sẽ đổi thành động cơ quay bánh xe. Robot sẽ cần không gian thao tác nhiều hơn khi thực hiện di chuyển camera xung quanh đối tượng. 50 Tiến hành phân tích kết quả được thực hiện trên sản phẩm robot mới, ta thu được kết quả và hiển thị trên phần mềm Meshlab như sau: Hình 4.19 : Ảnh chụp dữ liệu chiếc giày từ sản phẩm robot mới Hình 4.20 : Kết quả đám mây điểm thu được khi chưa xử lý Hình 4.21 : Đám mây điểm sau khi xử lý 51 Hình 4.22 : Kết quả được tạo lưới khi chưa xử lý Hình 4.23 Kết quả lưới đối tượng sau khi xử lý Phân tích kết quả : - Kết quả thu được khá tốt, phù hợp với yêu cầu đề ra cho sản phẩm hình ảnh 3D với các tính chất : giống mẫu thật về màu sắc, hình dạng, không bị ảnh hưởng nhiễu từ các điểm ảnh trong không gian xung quanh. - File lưới sau khi được xử lý có phần đầu giày bên phải bị lỗi nhỏ không cùng tông màu với phân màu đen. Nguyên nhân do ngược hướng ánh sáng không chiếu tới điểm đó. Khi đó ta rút ra kinh nghiệm nên chạy robot trong môi trường ngoài trời có đủ ánh sáng để thu được kết quả tối ưu nhất. Đánh giá : - Kết quả được thực hiện trên sản phẩm robot mới đã chứng minh được tính đúng đắn khi thực hiện nghiên cứu khi đã tái tạo hình ảnh 3D được đối tượng. - Các phần đám mây điểm và lưới sau khi xử lý không gặp phải tình trạng nhiễu từ môi trường xung quanh. - Phần thiết kế robot tái tạo vật thể đã đạt được mục tiêu đề ra, qua đó cho thấy hiệu quả trong quá trình nghiên cứu, chế tạo robot hỗ trợ tái tạo vật thể tự động với các 52 ưu điểm như : không cần nhiều thời gian, công sức để thu thập dữ liệu, sản phẩm tốt không bị ảnh hưởng nhiều từ môi trường xung quanh. Kết luận chương Với tập dữ liệu được chụp từ camera điện thoại, kết quả thu được từ quá trình tái tạo vật thể từ ảnh chụp 2D phần lớn đã đáp ứng yêu cầu đề ra về mô hình 3D trong thực tế. Với các bề mặt đối tượng nhẵn, bóng, hoặc đối xứng sẽ khó tái tạo hơn so với các bề mặt lồi lõm, không phản chiếu ánh sáng. Kết quả thu được tốt nhất khi đảm bảo các điều kiện về độ phân giải ảnh, ánh sáng phản chiếu, các góc chụp phù hợp. Với tập dữ liệu thu thập từ robot khi gặp lỗi về phương pháp chế tạo đã khắc phục và cho ra kết quả tốt hơn so với dữ liệu được chụp từ điện thoại. 53 KẾT LUẬN ĐỀ TÀI Tóm lược Các kết quả đạt được trong quá trình nghiên cứu Đồ án tốt nghiệp: - Hiểu thêm về công nghệ chụp ảnh 3D và ứng dụng tái tạo hình ảnh 3D từ ảnh chụp. - Hiểu về các phương pháp trong quá trình thực hiện tái tạo hình ảnh 3D. - Trực tiếp thực hiện tái tạo hình ảnh 3D từ các tập dữ liệu khác nhau, các hướng thiết kế cho sản phẩm robot tự động. - Khắc phục được lỗi gặp phải và thực hiện chế tạo thành công sản phẩm robot tái tạo vật thể từ ảnh chụp. Phương hướng phát triển tiếp theo Sản phẩm được tiếp tục phát triển trong tương lai sẽ tối ưu quy trình tự động các bước thu thập dữ liệu, xử lý dữ liệu, tái tạo vật thể, tiếp theo đó là tối ưu kết quả xử lý với các phương pháp khác giúp kết quả ít bị nhiễu, và chính xác của các điểm ảnh trong mô hình 3D. Sản phẩm robot sẽ tối ưu các góc ảnh chụp đối với vật thể, và có thể thay thế camera với độ phân giải cao hơn để có thể thu được nguồn dữ liệu chính xác. Tự động bổ sung ánh sáng khi thực hiện chụp ảnh đối tượng trong môi trường thiếu ánh sáng. Tối ưu thêm các thuật toán Machine learning, Deep learning cho phép xử lý nhiễu và các điểm ảnh không thuộc đối tượng nghiên cứu. Khi đó, kết quả gần như hoàn chỉnh khi thực hiện xong quá trình tái tạo và có thể sử dụng luôn file kết quả cho việc in mô hình 3D, hay đưa vào các công nghệ khác như robot trong nhà, thực tế ảo, xe tự lái, … Sản phẩm có thể triển khai thành robot di động thực hiện việc chụp ảnh 3D vật thể khi bám theo đối tượng áp dụng cho công nghệ robot thông minh trong gia trình, xe tự lái. Công nghệ chụp ảnh 3D sẽ được kết hợp với tay máy robot giúp thực hiện việc chụp ảnh vật thể và sau đó in 3D trực tiếp để thu được các mô hình 3D áp dụng cho lĩnh vực giải trí, trưng bày. 54 Kết luận Công nghệ chụp ảnh 3D ngày càng thể hiện được tầm quan trọng trong công nghệ của tương lai. Từ những cơ sở lý thuyết đã đưa ra được quy trình hoạt động của công nghệ chụp ảnh 3D và với phép đo ảnh đến các phương pháp Cấu trúc từ chuyển động SfM và phương pháp Âm thanh nổi đa góc nhìn MVS. Các kết quả đã được phân tích từ các tập dữ liệu khác nhau đã chỉ ra được những ưu và nhược điểm của việc tái tạo mô hình 3D từ hình ảnh, với phương pháp đo ảnh còn chịu nhiều ảnh hưởng từ thu thập dữ liệu, ánh sáng, chất lượng ảnh, góc chụp, bề mặt của đối tượng và cấu hình máy tính xử lý trong các mô hình lớn. Thông qua việc nghiên cứu chế tạo robot tái tạo vật thể, rút ra được kinh nghiệm cho bản thân trong công việc nghiên cứu phát triển sản phẩm trong các trường hợp khác. Trong đồ án này đã trình bày về quy trình thiết kế, chế tạo sản phẩm “Robot tái tạo vật thể từ ảnh chụp” với chức năng đơn giản kết hợp với xử lý dữ liệu tự động, mọi nghiên cứu không mang lại giá trị thực tiễn nhưng sẽ làm tiền đề cho việc tiếp tục phát triển các sản phẩm công nghệ trong tương lai, góp phần mang lại giá trị kinh tế đất nước. 55 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Cục thông tin Khoa học và Công nghệ Quốc gia, Các nhà Khoa học Israel phát triển phương pháp chụp ảnh 3D các quá trình di chuyển của các tế bào sống, 2020, Bộ Khoa học và Công nghệ. [2] Nguyễn Đại Đồng, Bùi Ngọc Quý, “Cơ sở khoa học phương pháp đo ảnh chụp từ thiết bị bay không người lái UAV”, Tạp Chí Khoa học Đo đạc Và Bản đồ, số 46, 2020, tr. 19–27. [3] Nguyễn Thị Hoàn, Phương pháp trích chọn đặc trưng ảnh trong thuật toán học máy tìm kiếm ảnh áp dụng vào bài toán tìm kiếm sản phẩm, Đại học quốc gia Hà Nội, Hà Nội, 2010, tr. 16-18. [4] Trương Anh Kiệt, Cơ sở đo ảnh, NXB Giao thông Vận tải, Hà Nội, 2009, tr. 7, tr. 22-26. [5] Chu Anh Tuấn, Nghiên cứu hình thái học vật liệu, linh kiện nanô bằng công nghệ ảnh nổi 3D trên kính hiển vi điện tử quét (3D Stereo Sem Imaging), 2007, Trường Đại học Công nghệ - DDHQG Hà Nội. Tiếng Anh [6] Architekten-verein, Wochenblatt des Architektenvereins zu Berlin, vol. 1, Berlin: Beeliz, 1867, pp. 125-126. [7] C. Caudek and N. Rubin, "Segmentation in structure from motion: Modeling and psychophysics", Vision Research, vol. 41, 2001, pp. 2715-2732. [8] Cong Geng, Xudong Jiang, "Face recognition using sift features", IEEE International Conference on Image Processing (ICIP), vol. 16, 2009. [9] Eric B. Peterson,Matthew Klein, Robert L. Stewart, “Whitepaper on Structure from Motion (SfM) Photogrammetry: Constructing Three Dimensional Models from Photography”, Research and Development Office Science and Technology Program, 2015. [10] Gabriel Taubin, Daniel Moreno, Douglas Lanman, "3D Scanning for Personal 3D Printing", Vancouver Convention Centre, 2014. [11] H. Bay, T. Tuytelaars, and L. van Gool, “SURF: Speeded Up Robust Features”, 2006. 56 [12] Jame S. Aber, Irene Marzolff, Johannes B.Ries, “Small-Format Aerial Photography”, Principles techniques and geoscience applications, Elsevier, 2010, pp. 23-29. [13] Johannes L. Schonberger, Jan-Michael Frahm, "Structure-from-Motion Revisited", Computer Vision Foundation, 2016. [14] Kamarul Hawari Ghazali, "Feature Extraction technique using SIFT keypoints descriptors", The International Conference on Electrical and Engineering and Informatics Institut technology Bandung, 2007, pp. 741. [15] L. David, "Distinctive Image Features from Scale-Invariant Keypoints," International Journal of Computer Vision, 2004. [16] Lucien E. Weiss, Yael Shalev Ezra, Sarah Goldberg, Boris Ferdman, Omer Adir, Avi Schroeder, Onit Alalouf, Yoav Shechtman, “Three-dimensional localization microscopy in live flowing cells”, Nature Nanotechnology, no 15, 2020, pp. 500506. [17] Lowe, "Object Recognition from Local Scale-Invariant Features", in Proceedings of the International Conference on Computer Vision, 1999. [18] L. Schoenberger, "Structure from Motion Software", [Online]. Available: https://colmap.github.io/. [19] Matteo Poggi, Andrea Conti, Stefano Mattoccia, “Multi-View Guided MultiView Stereo”, International Conference on Intelligent Robots and Systems (IROS), 2022. [20] Musa Alyaman , Alaa Abd-Raheem , and Farah AlDeiri, "Design of an Automated Extraoral Photogrammetry 3D Scanner", The International Arab Journal of Information Technology, vol. 16, 2019. [21] Natan Micheletti, Jim H Chandler, Stuart N Lane, "Structure from Motion (SfM) Photogrammetry", 2015. [22] S. Agarwal, N. Snavely, S. M. Seitz, and R. Szeliski, "Bundle Adjustment in the Large Computer Vision", European Conference on Computer Vision, , 2010, pp. 29-42. [23] Wikipedia, "Photogrammetry," [Online], Available: https://en.wikipedia.org/wiki/Photogrammetry. 57 [24] Wikipedia, "3D reconstruction from multiple images", [Online]. Available: https://en.wikipedia.org/wiki/3D_reconstruction_from_multiple_images. 58