Trong chương này, chúng tôi đưa ra ba thuật toán 3.1, 3.2, 3.3. Thuật toán 3.2 khai triển bước (3) và thuật toán 3.3 khai triển bước (4) của thuật toán 3.1. Do vậy, chúng tôi sẽ chỉ ra tính hội tụcủa các thuật toán trong chương này theo thứtựthuật toán 3.2, 3.3 và 3.1.
Mệnh đề 3.1: Với các ảnh sọ được chụp bằng cách xoay sọ từng góc α quanh trục cố định và giữ nguyên vị trí máy quay khi chụp ảnh, thuật toán
Tính_Đặc_Trưng_Sọ luôn kết thúc sau hữu hạn bước và cho ra cácđiểmđặc trưng sọ ba chiều mong muốn.
Chứng minh: Trước hết, chụpảnh xoay liên tiếp với thông số máy quay không đổi, các ma trận máy quay(P,P’)tại bước (1), ma trận cơbản Fở bước (2) không suy biến. Tại bước (3), tọa độ ba chiều hoàn toàn xác định theo thuật toán
Tính_Tọa_Độ_Ba_Chiều (The Optimal Triangulation Method) [30]. Đối với thuật toán này, nếu cặp điểm ảnh tương ứng với cặp điểm e-pi-pô thì điểm ba chiều nằm trên đường nối hai tâm máy quay. Trường hợp này, ta không thểxácđịnhđượcđiểm ba chiều. Nếu một trong haiđiểm trùng với mộtđiểm e-pi-pô thìđiểm ba chiều trùng
với tâm máy quay của ảnh còn lại. Các cặp điểm không trùng với các điểm e-pi-pô luôn xác địnhđượcđiểm ba chiều tương ứng vớiđầu vào của thuật toán. Với các ảnh sọ thu nhậnđược bằng cách xoay sọ từng gócα quanh trục cố định và giữ nguyên vị trí máy quay khi chụpảnh,ảnh thu nhậnđược là mặt phẳng giới hạn bởi khung hình chữ nhật không giao với đường cơ bản, nên, điểm e-pi-pô nằm ngoài miền ảnh. Do vậy, vớiđầu vào nêu trên chúng ta luôn thu nhậnđược cácđiểm ba chiều mong muốn. Thuật toánđược chứng minh .
Mệnhđề 3.2:Độphức tạp của thuật toán 3.2 Tính_Đặc_Trưng_Sọlà O(n2) với
n là sốcặpđiểmđặc trưngđầu vào.
Chứng minh: Bước (1) là hai phép nhân ma trận của hai ma trận kích cỡ 3 × 3 và 3 × 4,độ phức tạp là O(1). Bước (2) gồm hai phép chuyển vị, một phép giảnghịch đảo, một phép nhân ma trận và một phép cộng ma trận trên hai ma trận kích cỡ 3×4, do vậyđộ phức tạp cũng là O(1). Bước(3) thuật toán Tính_Tọa_Độ_Ba_Chiều theo
chứng minh trong [30] có độ phức tạp là O(n2) với n là số cặp điểm đặc trưng. Do vậy, thuật toán Tính_Đặc_Trưng_Sọcó độ phức tạp O(n2) với n là số cặpđiểmđặc trưngđầu vào .
Mệnh đề 3.3: Với các ảnh sọ được chụp bằng cách xoay sọ từng góc α quanh trục cố định và giữ nguyên vị trí máy quay khi chụp ảnh và tối thiểu 44 điểm đặc trưng ba chiều tínhđược từ ảnh, thuật toánĐiều_Chỉnh_Đặc_Trưng kết thúc sau hữu
hạn bước và cho ra điểmđặc trưngđiều chỉnh mong muốn.
Chứng minh: Trước hết, chụpảnh xoay liên tiếp với thông số máy quay không đổi, ma trận đồng hình H tại bước (1) không suy biến. Nếu, áp dụng biến đổi đồng hình vào bức ảnh thứ nhất ta có bức ảnh thứ hai chuẩn. Như vậy, áp dụng biếnđổi đồng hình vào cácđiểmđặc trưng {x} trích chọn tự động trênảnh thứnhất thì chúng ta thu được cácđặc trưng tươngứng trên ảnh thứhai. So sánh các đặc trưng này với cácđặc trưng{x’}trên ảnh thứhai thu được lỗi trượt tại bước (2) theođịnh nghĩa lỗi trượt. Tại bước (3), dùng công thức 3.7 đã được chứng minh trong phần 3.2.2.2 để điểu chỉnh cácđiểm ba chiều {X}. Do vậy, tínhđúngđắn của thuật toánđược chứng minh .
Mệnhđề3.4:Độphức tạp của thuật toán 3.3Điều_Chỉnh_Đặc_Trưng là O(n)
với n là sốcặpđiểmđặc trưngđối sánhđầu vào.
Chứng minh: Bước (1) sửdụng năm phép nhân, hai phép chuyển vị, một phép lấy nghịch đảo, một phép cộng, một phép trừtrên các ma trận cỡ 3 × 3 và 3 × 4, vec- tơ 1 × 3 và 3 × 1, do vậy,độ phức tạp là O(1). Tại bước (2), với n là sốcặpđiểmđặc trưng đối sánh, để tính đặc trưng chuẩn trên ảnh hai cần n phép nhân với ma trận H kích cỡ3 × 3. Sauđó,đểtính ra lỗi trượt cần n phép trừ. Do vậy,độ phức tạp là O(n). Tại bước (3), cần n phép cộng để điều chỉnh n điểmđặc trưng. Do vậy,độ phức tạp
là O(n). Vậyđộ phức tạp của thuật toán là O(n) với n là số cặp điểmđặc trưng đối sánhđầu vào .
Mệnh đề 3.5: Với các ảnh sọ được chụp bằng cách xoay sọ từng góc α quanh trục cố định và giữ nguyên vị trí máy quay khi chụp ảnh, thuật toán
Dựng_Sọ_Ba_Chiều kết thúc sau hữu hạn bước và cho ra mô hình ba chiều của sọ
mong muốn.
Chứng minh: Với ảnh đầu vào thu nhậnđược chỉ dùng máy quay với thông số chụpảnh không thayđổi, tại bước (1), ma trận hiệu chỉnh K là duy nhất và không suy biến. Tại bước (2), yêu cầu phải có tối thiểu 44điểmđặc trưng (44điểm mốc trên sọ dùng để dựng lại khuôn mặt ba chiều). Các công cụ trích chọn và đối sánh tự động hiện nay cung cấp số lượng điểm đặc trưng rất lớn. Trong thực nghiệm của mình chúng tôi trích chọn được hơn 500 cặpđiểm đối sánh. Nhưchỉ ra trong chứng minh tínhđúngđắn của thuật toán 3.3ở trên, chúng ta sẽtính được lỗi trượt thông qua ma trậnđồng hình H. Tại bước (3), điểm ba chiềuđược tính ra từcác cặpđặc trưng trích chọn tự động theo thuật toán 3.2. Tại bước (4), việc điều chỉnh điểm ba chiều được thực hiện thông qua thuật toán 3.3 như đã chứng minh trên. Tại bước (5), việc biến đổi mô hình sọmẫu bằng cách huấn luyện mạng RBF dựa trên cácđặc trưng ba chiều đãđiều chỉnh sẽcho ra mô hình ba chiều của sọ như mong muốn.Điều nàyđúng vì, thứ nhất trên mô hình ba chiều của sọ mẫu, chúng tôi xác địnhđược duy nhất bộcác điểm đặc trưng tương ứng với các điểm ba chiều của sọ vừa tính được từ ảnh theo chứng minh phần 3.2.3. Thứhai, việc tạo ra bề mặt ba chiều (hộp sọ) từtậpđiểmđặc trưng ba chiều của sọbiết trước là bài toán nội suy dữliệu rời rạc. Nhưtrình bày trong phần phụlục 2 Biếnđổi bề mặt ba chiều dựa vào hàm bán kính cơ sở, hàm bán kính cơ sở phụthuộc dữ liệu. Trong trường hợp của chúng tôi, dữliệu là tọađộ ba chiều của sọtính được từ ảnh và tọađộ đặc trưng ba chiều tươngứng trên sọ mẫu. Nhưchỉ raở trên, tối thiểu 44 điểmđặc trưng đã bảođảmđược biếnđổi sọmẫu sẽcho chúng ta bềmặt hộp sọmong muốn .
Mệnhđề 3.6:Độ phức tạp của thuật toán 3.1 Dựng_Sọ_Ba_Chiều là O(n3) với n là số đỉnh của hộp sọmẫu.
Chứng minh: Tại bước (1), chúng tôi dùng bộ công cụ hiệu chỉnh dành cho Matlab. Tại bước (2), chúng tôi dùng bộcông cụtrích chọnđặc trưng SIFT và Harris. Bước (3) có độ phức tạp của thuật toán 3.2 với n1là sốcặp các điểmđặc trưng hai chiều. Bước (4) cóđộ phức tạp O(n2) của thuật toán 3.3 với n2là sốcácđặc trưng ba chiều. Tại bước (5) , để tìm ra điểmđặc trưng trên mô hình sọcủa sọ mẫu tương ứng với các đặc trưng tính được từ ảnh, chúng ta phải dùng vòng lặp gồm n2bước. Mỗi vòng lặp này là các phép tính toán giao củađường thẳng và mặt phẳng và tính khoảng cách, do vậy,độphức tạp là O(1). Nhưvậy, bước (5) cóđộ phức tạp O(n2).
Bước (6) biếnđổi sọmẫu cóđộphức tạp O(n3) (giống phân tích biếnđổi khuôn mặt mẫuởchương 4). Vì n1< n và n2< n, nên, thuật toán cóđộphức tạp .
3.3 Thửnghiệm vàđánh giá
3.3.1 Tính lỗi trượt vàđiều chỉnhđặc trưng sọba chiều
Chúng tôi tiến hành thực nghiệm dựng mô hình ba chiều của sọ,đánh giá sai số đặc trưng hai chiều và hiệu chỉnhđặc trưng ba chiều từhộp sọquét ba chiều nhưsau. Ảnh sọ hai chiều thu nhậnđược bằng cách chụp ảnh sọ quét ba chiều khi hiển thịtrong phần mềm MeshLab. Góc nhìn giữa haiảnh liên tiếp là 100(Hình3.14).Ảnh quét ba chiềuđượcđánh dấu thêm các nhãnđể tăng sốlượng điểmảnhđặc trưng khi trích chọn (Hình3.15).