1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài nghiên cứu công nghệ tăng tính thực tế ảo augmented reaily và ứng dụng augmanted reality trên ios

46 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 1,26 MB

Nội dung

005.3 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Đ T I NGHI N C U CÔNG NGHỆ T NG T NH TH C T ẢO AUG ENTED EAI V NG D NG AUGMANTED REALITY TRÊN IOS Nghệ An, tháng 12 năm 2014 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Đ T I NGHI N C U CÔNG NGHỆ T NG T NH TH C T ẢO AUG ENTED EAI V NG D NG AUGMANTED REALITY TRÊN IOS Sinh viên thực hiện: Phan Đình ương Mã sinh viên: 1051070460 Lớp: 51k2 Giáo viên hướng dẫn: ThS Trương Trọng Cần Nghệ An, tháng 12 năm 2014 I CẢ N Để hoàn thành đề tài này, nỗ lực cố gắng thân, em nhận giúp đỡ nhiệt tình thầy giáo, giáo khoa CNTT tạo điều kiện cho em thực đồ án tốt nghiệp cuối khóa Em xin bày tỏ lời cảm ơn sâu sắc tới Th.S.Trương Trọng Cần người tận tình hướng dẫn, giúp đỡ bảo suốt trình thực đề tài Em c ng xin chân thành cảm ơn thầy cô giáo tổ môn phương pháp giảng dạy khoa CNTT Trường Đại Học Vinh Đồng thời em c ng xin cảm ơn hỗ trợ công ty Lifetime Technologies nhiệt tình hướng dẫn trưởng nhóm anh Nguyễn Thanh Tùng anh bạn giúp đỡ em q trình hồn thành đồ án Em xin chân thành cảm ơn bạn lớp động viên, đoàn kết, yêu thương nhau, giúp đỡ suốt thời gian học tập Cuối em xin bày tỏ lòng biết ơn gia đình động viên, giúp đỡ em hồn thành đồ án Mặc dù cố gắng tiếp thu ý kiến giảng viên hướng dẫn người xung quanh nỗ lực nghiên cứu, song đề tài chắn khơng thể tránh sai sót Vì vậy, mong góp ý thầy giáo bạn để Em có nhìn sâu sắc vấn đề nghiên cứu, hoàn thiện đề tài, đạt chất lượng cao Mọi đóng góp thảo luận đề tài xin g i đ a email: mrdinhluong@gmail.com Em xin chân thành cảm ơn! Vinh, Ngày 20 tháng 11 năm 2014 Sinh Viên thực Phan Đình Lương Đồ án tốt nghiệp đại học IN IĐ U Với phát triển v bão công nghệ thông tin nay, việc tắt đón đầu cơng nghệ giới để bắt k p đà phát triển cơng nghệ thơng tin giới việc tìm hiểu cơng nghệ cao có sẵn nghiên cứu dựa điều quan trọng cơng nghệ thơng tin nước ta nói chung ngành kỹ sư cơng nghệ thơng tin nói riêng Những năm gần giới chứng kiến đổi cách tương tác thiết b công nghệ đại với người mang lại tiện ích mang tính đột phá Google Glass, hệ thống dẫn đường tự động, game tương tác người máy Với khn khổ đề tài, Em xin trình bày quy trình xây dựng cơng nghệ tăng tính thực tế ảo với áp dụng hệ điều hành iOS dành cho thiết b iPhone, iPod, iPad (Do hãng Apple phát hành phát triển) S dụng kỹ thuật nhận diện ảnh, camera calibration Đề tài em xin trình bày cơng nghệ tăng cường thực tế ảo mà Em nghiên cứu phần Phần : X lý ảnh – Image Processing: Cơ ảnh x lý ảnh Phần 2: Nhận diện vật – Object Detecting Phần 3: Xây dựng thuật toán tạo ứng dụng Augmented Reality Trong trình nghiên cứu đề tài giới hạn thời phạm vi nghiên cứu nên đề tài chưa xây dựng hoàn hảo, cịn tồn số thiếu sót đ nh, nên kính mong q Thầy Cơ bạn góp ý để nghiên cứu Em hồn thiện Sinh Viên Phan Đình Lương Đồ án tốt nghiệp đại học Các thuật ngữ dùng báo cáo: Thuật ngữ Giải th ch OpenCV Open Computer Vision Threshold Lấy ngưỡng ảnh t ngưỡng đ nh Camera calibration Hiệu chỉnh camera, tức lấy thông số camera thông số bên ngồi camera để phục vụ cho việc xây dựng khơng gian 3D Marker Vật nhận dạng s dụng chương trình OpenGL Open Graphics Library Gray Image Ảnh xám Binary Image Ảnh nh phân đen trắng Contours Đường viền Đồ án tốt nghiệp đại học ục ục LỜI CẢM N MỞ ĐẦU CHƯ NG 1: LẤY ẢNH V X L ẢNH T CAMERA .6 1.1 Cấu trúc ảnh số 1.2 Cơ OpenCV framework 11 1.3 X lý ảnh với OpenCV 12 1.3.1 Các kiểu liệu OpenCV 12 1.3.2 Chuyển đổi không gian màu 12 CHƯ NG 2: NH N DI N ẢNH 14 2.1 Nhận diện ảnh s dụng machine learning 14 2.2 Nhận diện ảnh s dụng sở liệu sẵn có 14 CHƯ NG 3: X Y D NG THU T TO N NH N DI N ẢNH S D NG PHƯ NG PH P T M ĐƯỜNG VI N V K T H P V I C C THU T TO N KH C .30 3.1 Lấy khung hình t video stream iOS 31 3.2 Cài đặt thông số cho camera 31 3.3 Xác đinh Marker - Marker Detection 31 3.4 Xác đ nh tọa độ marker 3D – Placing marker in 3D 32 3.5 Render vật 3D ảo 37 K T LU N 43 T I LI U THAM KHẢO .44 Đồ án tốt nghiệp đại học Đầu chọn t i Cơng nghệ tăng tính thực ảo (Augmented Reality) lĩnh vực mẻ nhà phát triên công nghệ phần mềm quan tâm Với tốc độ phát triển không ng ng thiết b phần cứng hỗ trợ cơng nghệ tăng tính thực xác đáp ứng tốt người dùng Công nghệ s dụng kết hợp lĩnh vực công nghệ tiên tiến như: Th giác máy tính( Computer Vision), Học máy( Machine Learning), Đồ họa 3D( 3D Graphics) ục ti u - Nhận diện xác vật cần nhận diện t frames t camera thiết - Tạo khơng gian 3D xác - Vẽ vật 3D với thuộc tính đầy đủ nomals, disfuse, color b Đ nh hư ng v giải pháp - S dụng kỹ thuật computer vision để bóc tách đối tượng t ảnh - Xây dựng không gian 3D s dụng kỹ thuật camera calibration - Render vật 3D ảo lên hình s dụng OpenGL cósẵn Đồ án tốt nghiệp đại học Chương 1: y ảnh v x ảnh t camera Con người thu nhận thông tin qua giác quan, th giác đóng vai trị quan trọng Những năm trở lại với phát triển phần cứng máy tính, x lý ảnh đồ hoạ phát triển cách mạnh mẽ có nhiều ứng dụng sống X lý ảnh đồ hoạ đóng vai trị quan trọng tương tác người máy Quá trình x lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu q trình x lý ảnh ảnh “tốt hơn” kết luận Th giác máy tính (computer vision) lĩnh vực bao gồm phương pháp thu nhận, x lý ảnh kỹ thuật số, phân tích nhận dạng hình ảnh và, nói chung liệu đa chiều t giới thực thông tin số biểu tượng, ví dụ dạng đ nh.Việc phát triển lĩnh vực có bối cảnh t việc chép khả th giác người nhận diện hiểu biết hình ảnh mang tính điện t Sự nhận diện hình ảnh xem việc giải vấn đề biểu tượng thơng tin t liệu hình ảnh qua cách dùng mơ hình xây dựng với giúp đỡ ngành lý thuyết học, thống kê, vật lý hình học Th giác máy tính c ng mô tả tổng thể dải rộng q trình tự động tích hợp thể cho nhận thức th giác Th giác máy tính mơn học khoa học liên quan đến lý thuyết đằng sau hệ thống nhân tạo có trích xuất thơng tin t hình ảnh Dữ liệu hình ảnh nhiều dạng, chẳng hạn chuỗi video, cảnh t nhiều camera, hay liệu đa chiều t máy quét y học Th giác máy tính cịn mơn học kỹ thuật, tìm kiếm việc áp dụng mơ hình lý thuyết cho việc xây dựng hệ thống th giác máy tính Các lĩnh vực th giác máy tính bao gồm tái cấu trúc cảnh, dị tìm kiện, theo d i video, nhận diện bố cục đối tượng, sinh trắc học, mục, đánh giá chuyển động phục hồi ảnh Ảnh tự nhiên t giới thu nhận qua thiết b thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây, với phát triển công nghệ, ảnh màu đen trắng lấy t Camera, sau chuyển trực tiếp thành ảnh số tạo thuận lợi cho x lý (Máy ảnh số thí dụ gần g i) Mặt khác, ảnh c ng tiếp nhận t vệ tinh quét t ảnh chụp máy quét ảnh Trong phạm vi đề tài, Em trình bày việc x lý video stream iOS devices Việc lấy x lý frame t video stream Em xin trình bày nội dung chương Đồ án tốt nghiệp đại học 1.1 C u tr c ảnh Ảnh số cấu tạo t pixels xếp có theo số hàng số cột, giao hàng cột ta điểm ảnh hay gọi pixel Một điểm ảnh( pixel) có hai đặc trưng v trí (x, y) điểm ảnh màu sắc Màu sắc điểm ảnh cường độ sáng gán giá tr sốtại điểm đó.Tùy vào t ng loại màu mà ta có kích thước lưu trữ c ng màu sắc pixel Căn vào màu sắc pixels ảnh mà ta có loại ảnh chính: Ảnh màu, ảnh xám ảnh nh phân đen trắng Hình 1.1: Cấu trúc ảnh số Đối với ảnh xám, điểm ảnh lưu trữ giá tr mức xám byte = 8bit Vậy nên giá tr mức xám có giá tr t – 255 Cịn ảnh nh phân điểm ảnh lưu trữ màu sắc đen trắng tương ứng với 1, nên pixel cần bit để lưu trữ liệu màu Cịn ảnh màu phức tạp hơn, pixel lưu trữ màu sắc theo mã màu theo số kênh màu tương ứng mà ta có kiểu cấu trúc liệu màu sắc khác Đồ án tốt nghiệp đại học -Mơ hình màu RGB s dụng mơ hình bổ sung ánh sáng đỏ, xanh xanh lam tổ hợp với theo nhiều phương thức khác để tạo thành màu khác T viết tắt RGB tiếng Anh có nghĩa đỏ (red), xanh (green) xanh lam (blue), ba màu gốc mô hình ánh sáng bổ sung C ng lưu ý mơ hình màu RGB tự thân khơng đ nh nghĩa "đỏ", "xanh cây" "xanh lam" cách xác, với giá tr RGB mơ tả màu tương đối khác thiết b khác có mơ hình màu Trong chúng chia sẻ mơ hình màu chung, không gian màu thực chúng dao động cách đáng kể Hình 1.2: Mơ hình màu RGB Biểu diễn dạng số 24 bit Khi biểu diễn dạng số, giá tr RGB mơ hình 24 bpp( bit per pixel) thông thường ghi cặp ba số nguyên 255, số đại diện cho cường độ màu đỏ, xanh cây, xanh lam trật tự Số lượng màu tối đa là: 256 x 256 x 256, hay 256^3, hay 2^24 = 16.777.216≈17 triệu màu Ví dụ: Đồ án tốt nghiệp đại học Chương 3: y d ng thuật tốn nhận diện ảnh dụng phương pháp tìm ng vi n v t hợp v i thuật toán hác Đây thuật toán Em xây dựng với kỹ thuật sẵn có s dụng thư viện OpenCV để thao tác tìm vật ảnh có sẵn Cấu trúc ứng dụng : Mỗi ứng dụng iOS có tối thiểu đối tượng lớp UIViewController để điều khiển bắt kiện tương tác ứng dụng Lớp cung cấp view tảng để biểu diễn hay tương tác models khác với ứng dụng iOS Nên ứng dụng Em xây dựng view controller để điều khiển modul khác ứng dụng Có moduls lớn ứng dụng với chức khác  Video source : Cơ việc lấy frame khung hình t camera stream video việc x lý realtime sau  Processing pipeline : X lý pipeline  Visualization engine: Đảm nhiệm việc render 3D object lên hình hiển th Hình 3.1 Mơ hình UML 30 Đồ án tốt nghiệp đại học 3.1 y hình t video tream iOS Việc lấy khung hình t camera iOS có nhiều phương cách để thực dùng thư viện tích hợp sẵn iOS AVFoundation, dùng video camera tích hợp sẵn cho OpenCV Sau phân tích ưu nhược điểm phương án video camera OpenCV c ng xây dựng dựa AVFoundation, việc s dụng video camera OpenCV giống dùng lại AVFoundation lần hạn chế việc tùy biến camera nên em đ nh chọn AVFoundation để hỗ trợ việc lấy khung hình t camera 3.2 C i t th ng cho camera Camera làm việc iOS cần Session để làm việc t lúc khởi tạo đến lúc kết thúc việc lấy video t thiết b camera AVFoundation hỗ trợ thiết b đa phương tiện thiết b chạy hệ điều hành, iOS Hình 3.2 Cấu trúc làm việc AVFoundation Sau frame lấy t camera Nó chuyển tới cho lớp marker detector x lý để tìm marker frame 3.3 ác inh ar er - Marker Detection S dụng sở kiến thức chương để lấy tọa độ marker 2D tiếp tục xây dựng ứng dụng 31 Đồ án tốt nghiệp đại học 3.4 ác nh tọa mar er 3D – Placing marker in 3D Augmented Reality cố gắng để kết hợp đối tượng giới thực với nội dung ảo Để đặt mơ hình 3D scene, cần phải biết v trí camera mà s dụng để có khung hình video sẽs dụng chuyển đổi Euclide hệ thống Cartesian phối hợp để đại diện cho tư Các v trí điểm đánh dấu 3D chiếu tương ứng 2D biểu diễn biến đổi đây: Phương trình: P = A * [R | T] * M; Trong đó: M biểu th điểm khơng gian 3D [R | T] biểu th [3 | 4] ma trận đại diện cho chuyển đổi Euclide Một biểu th ma trận camera ma trận thông số nội P biểu th chiếu M khơng gian hình Sau thực bước phát marker biết v trí bốn góc marker 2D 3.4.1 Camera calibration Mỗi ống kính camera có tham số nhất, chẳng hạn độ dài tiêu cự, điểm yếu, biến dạng ống kínhmơ hình Q trình tìm thơng số camera nội ngoại gọi camera calibration Thông số nội tại(Camera Intrinsic): - Tiêu cự (focal length): Khoảng cách t thấu kính camera đến mặt phắng ảnh - V trí trung tâm ảnh (Center) toa độ pixel - Kích thước điểm ảnh hiệu - Hệ số méo xuyên tâm thấu kính - Hình 3.3 Mơ hình tương quan camera – không gian 3D 32 Đồ án tốt nghiệp đại học Thông số ngoại (Extrinsic): Mô ta tham số liên quan đến không gian thực camera - Ma trận xoay (Rotation matrix): Là mà trận 3x3 thể việc xoay không gian với camera - Véc tơ d ch chuyển (Translate vector): véc tơ x thể việc d ch chuyển t nh tiến không gian so với camera Quá trình điều chỉnh quan trọng cho ứng dụng thực tế augmented reality mơ tả việc chuyển đổi biến dạng ống kính hình ảnh đầu Để đạt thơng tinđể người dung làm việc tốt vớiAugmented Reality, việc visualization đối tượng tăng cường nên thực cách s dụng quan điểm tương tựchiếu Để hiệu chỉnh máy ảnh, cần hình ảnh đặc biệt mơ hình(tấm bàn cờ hình trịn màu đen trắngbackground) Các máy ảnh chỉnh 10-15 ảnh mơ hình t điểm nhìn khác Một thuật tốn hiệu chỉnh sau tìm thông số nội camera tối ưu biến dạngvector Hình 3.4 Bàn cờ dùng để tìm camera calibration Để biểu diễn cho thông số máy ảnh chương trình chúng ta, Em s dụng lớp CameraCalibration: /** * Lớp camera er i r tion ưu gi t t c th ng s ntrinsic v xtrinsic c 33 Đồ án tốt nghiệp đại học class CameraCalibration { public: CameraCalibration(); CameraCalibration(float fx, float fy, float cx, float cy); CameraCalibration(float fx, float fy, float cx, float cy, float distorsionCoeff[4]); void getMatrix34(float cparam[3][4]) const; const Matrix33& getIntrinsic() const; const Vector4& getDistorsion() const; private: Matrix33 m_intrinsic; Vector4 m_distorsion; }; 3.4.2 c ượng v tr mar er - Marker pose estimation Với v trí xác góc marker, ước tính chuyển đổi máy ảnh điểm không gian 3D Hoạt động gọi chuyển đổi 2D-3D Các đặt trình chuyển đổi s dụng d ch chuyển Euclide (bao gồm việc quay d ch chuyển) máy ảnh đối tượng Hình 3.5 Mơ hình chiếu khơng gian 3D Điểm C s dụng để biểu th trung tâm camera Các điểm P1-P4 điểm 3D không gian phối hợp hệ thống điểm p1-p4 điểm chiếu chúng mặt phẳng ảnh camera Mục tiêu tìmchuyển đổi tương đối v trí biết không gian 3D (p1-p4) camera C s dụng ma trận intrinsic tìm điểm biết đến mặt phẳng ảnh (P1-P4) Như marker em luôn 34 Đồ án tốt nghiệp đại học hình vng.và tất đỉnh nằm mặt phẳng, xác đ nh góc chúng sau: Hình 3.6 Tọa độ marker gán Chúng ta đặt marker mặt phẳng XOY (thành phần Z 0) trung tâm marker tương ứng với (0.0, 0.0, 0.0) điểm Trong trường hợp đầu hệ thống phối hợp trung tâm marker (Z trục vng góc với mặt phẳng marker) Việc d ch chuyển điểm t không gian 3D khơng gian 2D tức hình hiển th biểu th công thức: 35 Đồ án tốt nghiệp đại học Để tìm v trí máy ảnh với thơng số chuyển đổi 2D-3D s dụng hàm SolvePnP: void solvePnP(const Mat& objectPoints, const Mat& imagePoints, constMat& cameraMatrix, const Mat& distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess=false); Các mảng objectPoints mảng đầu vào marker không gian std :: vector s dụng Ma trận OpenCV x N N x 3, N số điểm, c ng xem tham số đầu vào Ở s dụng danh sách tọa độ marker khơng gian 3D ta tìm được( Một vector bốn điểm) Các mảng imagePoints mảng điểm ảnh tương ứng (hoặc dự đốn) tìm phần nhận diện ảnh chương Lập luận c ng std :: vector cv :: Mat x N N x 2, N số điểm Ở qua danh sách góc marker tìm thấy  cameraMatrix: Đây x camera ma trận Intrinsic  distCoeffs: Đây đầu vào x 1, x 4, x 1, x vector hệ số biến dạng (k1,  k2, p1, p2, [k3]) Nếu NULL, tất hệ số biến dạng thiết lập  rvec: Đây tham số đầu vector xoay, thể tham số xoay vật so với camera hệ thống camera phối hợp hệ thống điều phối  tvec: Đây vector đầu d ch  useExtrinsicGuess: Nếu đúng, chức s dụng rvec cung cấp vectơ tvec xấp xỉ ban đầu vòng xoay d ch vectơ, tương ứng, tiếp tục tối ưu hóa chúng Các chức tính tốn chuyển đổi camera cách mà giảm thiểu lỗi phép chiếu lại có, tổng khoảng cách bình phương imagePoints chiếu quan sát tìm objectPoints Việc chuyển đổi ước tính xác đ nh vòng quay (rvec) thành phần d ch (tvec) Đây gọi chuyển đổi Euclide Để có ma trận chuyển đổi x t vector quay, chức cv :: Rodrigues s dụng Chức chuyển đổi vòng xoay đại diện vector quay trả ma trận xoay tương đương 36 Đồ án tốt nghiệp đại học Dưới danh sách chức estimatePosition, mà tìm v trí marker phát hiện: void MarkerDetector::estimatePosition(std::vector&detectedMarkers) { for (size_t i=0; i

Ngày đăng: 25/08/2021, 15:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w