Nắn chỉnh sách

Một phần của tài liệu Nghiên cứu một số kỹ thuật nắn chỉnh và ứng dụng (Trang 58)

3.1.1. Bài toán

Đối tượng cần xử lý là ảnh của một cuốn sách (đối tượng có dạng hình hộp) được chụp vào sao cho nhìn thấy được ba mặt của nó.

Công việc cần làm:

 Nắn chỉnh các mặt của cuốn sách sao cho sau khi nắn chỉnh các mặt của cuốn sách không bị cong (có dạng hình bình hành), các mép không bị nhăn và hình ảnh của các nặt nhìn rõ hơn.

 Sau khi nắn chỉnh các mặt, áp dụng các kỹ thuật làm đẹp ảnh để thu được ảnh có mầu sắc, đường nét rõ và đẹp hơn.

3.1.2. Tạo mẫu sách

Ảnh ban đầu của cuốn sách đã có nhưng ảnh mong muốn nhận được sau khi nắn chỉnh thì chưa biết hình dạng cần nắn lại như thế nào? Mà ta mong muốn các mặt của sách sau khi nắn chỉnh sẽ là các hình bình hành.Vì thế phải có nột mẫu ảnh làm khung để biến đổi ảnh ban đầu về hình dạng như mẫu đã chọn. Mẫu ảnh làm khung này là một hình hộp có hình dạng gần với hình dạng hình hộp của cuốn sách, được chụp vào ở tư thế nhìn thấy ba mặt tương ứng với ba mặt của cuốn sách, có kích thước không sai khác nhiều với kích thước của cuốn sách.

Ví dụ:

3.1.3. Thuật toán nắn chỉnh khung đối tượng

Thuật toán nắn chỉnh khung đối tượng gồm các bước cơ bản sau: Bước 1: Lựa chọn các điểm điều khiển

Thực tế việc lựa chọn các điểm điều khiển sao cho bảo toàn hình dạng của đối tượng. Vì vậy, các điểm điều khiển được chọn phải nằm trên các đường mà tạo nên khung đối tượng. Số lượng các điểm điều khiển cần chọn phụ thuộc vào độ biến dạng của khung. Nếu độ biến dạng nhỏ thì số điểm điều khiển phải chọn ít và ngược lại. Mặt khác, việc chọn các điểm điều khiển là chỉ ra đường cong biến dạng trên khung đối tượng. Chính vì thế nếu số lượng điểm điều khiển tăng lên thì càng biểu diễn được gần chính xác đường cong đó. Và do đó nắn chỉnh cấu trúc khung đối tượng sẽ chính xác hơn. Bước 2: Tìm hàm nắn chỉnh

Với các điểm điều khiển đã xác định, ta tìm hàm nắn chỉnh F từ phương pháp bình phương tối thiểu đã trình bầy trong mục 2.1. Khi đó, mỗi điểm Pi sẽ được ánh xạ sang Pi’=F(Pi) mà không phải là Qi ta đã chọn.

Ảnh ban đầu Khung (mẫu) mong muốn Hình 3.1. Ví dụ ảnh gốc và ảnh đích mong muốn

3.1.4. Thuật toán biểu diễn bề mặt

Công việc tiếp theo sau khi hiệu chỉnh khung đối tượng là hiệu chỉnh bề mặt. Ở đây ta sử dụng thuật toán biểu diễn bề mặt dựa trên kỹ thuật phân vùng ảnh ở phần 2.3.1, thực hiện hiệu chỉnh từng phần một cách riêng biệt. Ứng với mỗi phần, trên cơ sở khung đích đã tạo được trong phần trên, chia độ dài các cạnh theo một tỷ lệ nào đó tuỳ thuộc vào độ biến dạng của bề mặt để tạo ra lưới bao phủ lên bề mặt ảnh. Các mắt lưới sẽ là các điểm điều khiển. Có thể dịch chuyển điểm điều khiển trên ảnh gốc để miêu tả sự biến dạng bề mặt. Bề mặt biến dạng càng nhiều thì tỷ lệ chia càng lớn nhằm phân ảnh thành các vùng nhỏ hơn để tăng độ chính xác của quá trình nắn chỉnh. Hình 3.3 là ví dụ tạo lưới cho ảnh đích và ảnh gốc:

Pi Qi

P’i

Ảnh thu nhận Khung mẫu

Sau đó, ứng với mỗi điểm ảnh M ở ảnh đích thuộc vùng ảnh đang xét, thực hiện công việc sau để tìm điểm M’ tương ứng với nó bên ảnh gốc:

 Tìm 3 điểm điều khiển:

Điểm M sẽ thuộc vào một trong các tứ giác của lưới vừa tạo. Nghĩa là điểm M sẽ chịu tác động của 4 điểm điều khiển như mô tả trên hình 3.3. Tuy nhiên vì vùng ảnh cần nắn chỉnh tương đối nhỏ nên nếu dùng nội suy tứ giác thì chất lượng nắn chỉnh sẽ không tốt bằng nội suy tam giác. Hơn nữa điểm nào gần M nhất thì ảnh hưởng của nó tới M sẽ là lớn nhất. Trên cơ sở đó ta tìm 3 điểm thỏa mãn:

+ Tổng khoảng cách từ 3 điểm này tới M là nhỏ nhất. + M thuộc tam giác tạo bởi 3 điểm này.

Gọi 3 điểm vừa tìm được là A, B, C và 3 điểm này tương ứng với 3 điểm A’, B’, C’ ở ảnh gốc.

 Tìm M’ thuộc tam giác A’B’C’ tương ứng với điểm M trong tam giác ABC dựa vào phép nội suy tam giác ABC thành tam giác A’B’C’ đã trình bầy trong mục 2.3.1.

 Gán giá trị mầu của M’ cho M.

Hình 3.3. Lưới trên một mặt của ảnh gốc và ảnh đích

M M’

Hình 3.4 là một trong những kết quả thử nghiệm của chương trình BookMorphing tôi đã cài đặt.

3.2. Nắn chỉnh răng 3.2.1. Bài toán 3.2.1. Bài toán

Cho một ảnh X quang và một ảnh thường tương ứng với ảnh X quang đó, các ảnh này chụp toàn bộ khuôn mặt của một người nào đó ở cùng một vị trí. Ảnh X quang dùng để xác định cấu tạo của bộ răng, ảnh thường dùng để xác định sự thay đổi trên khuôn mặt. Dùng các kỹ thuật nắn chỉnh biến dạng để xác định sự thay đổi trên khuôn mặt khi chỉnh sửa hàm răng. Mức độ chỉnh sửa hàm răng có thể là: dịch chuyển vị trí của răng, cắt bỏ răng, nắn hàm v.v..

3.2.2. Cấu tạo mặt người a) Các cơ mặt a) Các cơ mặt

Bộ phân chính làm cho mồm chuyển động chính là các cơ xung quanh mồm. Dưới đây là hình ảnh chứa tất cả các cơ có ảnh hưởng lớn đến sự

chuyển động của môi và xương hàm dưới.

Tất cả các cơ đã chỉ ra ở trên đều phải được cài đặt để phục vụ cho sự chuyển động thực sự của mồm. Môi được hình thành từ các cơ vòng oris. Chức năng của cơ này được chỉ ra ở trên môi.

b) Các điểm điều khiển cho mồm

Ta nên cài đặt tất cả các cơ mồm bằng các vectơ. Hai điểm của vectơ xác định 2 vị trí, trong đó cơ được gán trên môi và trên sọ. Điểm đầu tiên là di động và có thể điều khiển các điểm này. Điểm thứ 2 bất động. Sự co dãn của

Hình 3.6.. Các cơ xung quanh mồm và hướng cơ Hình 3.5. Cơ và hướng di chuyển của xương hàm dưới

các cơ tương ứng với việc tăng hay giảm khoảng các giữa 2 điểm của vectơ. Để thực hiện tăng giảm khoảng cách giữa 2 điểm của vectơ ta sử dụng các điểm điều khiển. Đồng thời phải xác định được giới hạn của độ dài vectơ nhằm hạn chế sự co dãn của cơ.

Để tạo sự chuyển động cho môi thông qua các cơ ta sử dụng 12 điểm điều khiển. 12 điểm đó được chỉ ra ở hình dưới.

c) Phân chia các phần của khuôn mặt

Trong quá trình phân tích mô hình ta thấy rằng sự di chuyển của các

Hình 3.7. Các điểm điều khiển của mồm

điểm điều khiển chỉ ảnh hưởng đến một phần của lưới đa giác. Vì thế phân chia mặt người thành các phần sẽ rất thuận lợi cho quá trình xác định sự thay đổi. Và khi các điểm điều khiển di chuyển ta chỉ cần tạo lại những vùng bị thay đổi trên khuôn mặt. Các vùng còn lại không thay đổi nên không phải tạo lại. Các vùng đó được phân chia theo hình dưới.

d) Các loại cơ sinh học

Các mô hình cơ sinh học chia làm 3 loại: hệ thống đàn hồi theo khối, biểu diễn vector và các mạng lưới đàn hồi được phân tầng.

Cơ mạng lưới đàn hồi:

Các bó cơ được ứng dụng để co dãn mạng lưới thông qua các cung của cơ để tạo ra biểu diễn khuôn mặt thực. Đối với mô hình khuôn mặt, các cơ được biểu diễn như là tập hợp các khối chức năng trong các vùng đã được định nghĩa của cấu trúc khuôn mặt. Mô hình mặt người bao gồm 38 khối cơ vùng liên kết với nhau bởi mạng đàn hồi. Các đơn vị hành vi được tạo ra bằng cách sử dụng các bó cơ để làm biến đổi mạng đàn hồi.

Cơ vector:

Cơ vector mô phỏng hoạt động của cơ nhờ vào lớp da. Mỗi cơ gồm 3 thành phần: hướng phạm vi hoạt động của vector, gốc của vector, và điểm di động (hình 3.9). Phạm vi hoạt động do các hàm cosine định nghĩa, phạm vi hoạt động này sẽ làm giảm bớt các yếu tố để tạo ra hình nón khi quan sát từ đỉnh của cơ. Cơ vòng miệng là hình ellipoid với các tham số đã được đơn giản hoá. Cơ vòng hình thành xung quanh trung tâm của ellipsoid và đảm nhận việc biến đổi của vùng mồm. Trong FACs người ta xây dựng các trạng thái tình cảm của con người như giận dữ, sợ hãi, ngạc nhiên, thất vọng, hào hứng, và hạnh phúc bằng cách sử dụng vector dựa trên các cơ vòng và cơ tuyến tính. Hình 3.10 cho thấy các cơ gắn với lưới mặt.

Việc định vị vị trí đúng trong bộ xương của các cơ là một nhiện vụ khó khăn. Hiện nay vẫn chưa có cách nào xác định vị trí cho các cơ của một loài hay một mạng lưới của một người xác định nào đó một cách tự động. Việc này được thực hiện một cách thủ công và không đảm bảo hiệu quả hoặc không tìm được vị trí tối ưu. Và việc xác định sai vị trí của cơ sẽ làm cho mạng lưới chuyển động không được tự nhiên hoặc không như mong muốn. Tuy nhiên, mô hình cơ vector được sử dụng rộng rãi do sự biểu diễn bền chặt và sự độc lập của cấu trúc mạng lưới mặt. Ví dụ cụ thể là nhân vật Billy trong bộ phim “Tin Toy”, nhân vật này có 47 cơ trên mặt.

Cơ mạng lưới đàn hồi được phân tầng:

Ba tầng của mạng lưới có thể biến đổi là da, hệ mỡ, và các cơ gắn với xương. Các phần tử đàn hồi kết nối mỗi nút mạng lưới với mỗi tầng. Các bó cơ lan truyền thông qua hệ thống mạng lưới để tạo ra chuyển động. Mô hình này thu được độ chân thực lớn. Tuy nhiên, việc mô phỏng biến đổi không gian của các mắt lưới trong không gian ba chiều cần mức độ tính toán lớn.

Mô hình khuôn mặt bao gồm 3 phần: lớp mô sinh học có các thuộc tính chuyển đổi phi tuyến, lớp cơ gắn dưới lớp da, và cấu trúc sọ cứng chắc ở dưới

lớp cơ. Người ta sử dụng các phần tử hình lăng trụ tam giác để mô phỏng các mô sinh học, các phần tử này được chia thành bề mặt biểu bì, bề mặt mỡ và bề mặt sọ đầu. Các phần tử đàn hồi kết nối các tầng biểu bì và tầng mỡ để mô phỏng khả năng đàn hồi của lớp da. Các phần tử đàn hồi mà có ảnh hưởng lên các bó cơ thì được dùng để kết nối tầng mỡ và tầng sọ đầu. Mô hình này thu được hình ảnh đẹp và trung thực, tuy nhiên với mô hình này đòi hỏi tính toán rất lớn và cần điều chỉnh nhiều để mô hình được một khuôn mặt cụ thể hoặc một nhân vật nào đó.

3.2.3. Hệ thống mã hóa các hành vi của khuôn mặt

Hình 3.11. Phần tử hình trụ tam giác biểu diễn cơ sinh học

Bảng 3.1. (trái) Các đơn vị hành vi của khuôn mặt

FACs hệ thống miêu tả về sự dịch chuyển của các cơ mặt và hàm/lưỡi thu được từ việc phân tích bộ xương mặt. FACs bao gồm 44 AU. Kết hợp các hành vi độc lập trên sẽ tạo ra biểu diễn khuôn mặt. Ví dụ, kết hợp AU1, AU4, AU15 và AU23 sẽ tạo ra khuôn mặt buồn.

Phương thức chuyển động sử dụng cơ đã khắc phục được những khó khăn của kỹ thuật nội suy và morphing. Mô hình cơ sinh học mô tả một cách toán học các đặc trưng và cách hoạt động của hệ thống da, xương và cơ của con người. Ngược lại, mô hình cơ mô phỏng (cơ giả) bắt chước động lực học của mô người cùng với việc biến đổi hình học. Cách tiếp cận này thường thực hiện song song với FACs và AU do Ekman và Friesen phát triển.

3.2.4. Chương trình nắn chỉnh răng a) Xác định đặc trưng để nắn chỉnh răng a) Xác định đặc trưng để nắn chỉnh răng

Phần trên đã mô tả cấu tạo khuôn mặt về các phần bên ngoài, các cơ bên trong và tác động giữa các cơ đến khuôn mặt. Để tạo ra sự thay đổi chân thực cần phải cài đặt tất cả các ràng buộc của lớp da, cơ, xương. Tuy nhiên xác định được tất cả các ràng buộc trong thực tế không phải dễ dàng tìm ra được. Phần này chỉ cài đặt các đặc trưng trên bề mặt. Ta thực hiện xác định các đặc trưng trên ảnh X quang của người muốn nắn chỉnh răng. Mỗi đặc trưng là một đường cong được xác định thông qua tập điểm điều khiển do người dùng tự chọn. Từ tập điểm đó, dùng nội suy Lagrange [13] để tìm ra đường cong đi qua tập điểm đó. Nếu không nội suy thì đường cong thu được sẽ không trơn và tạo ra hiện tượng răng cưa khi nắn chỉnh tại biên giữa hai vùng tạo bởi đường cong. Như đã giới thiệu trong phần 3.2.2, khi sửa một bộ phần nào đó thì chỉ một số phần trên khuôn mặt thay đổi còn những phần khác vẫn giữ nguyên. Vì thế khi nắn chỉnh răng, tuỳ thuộc vào loại hình chỉnh sửa để xác định đặc trưng tương ứng cho vùng có sự tác động. Ví dụ, nắn răng cửa thì phần môi và căm hàm dưới thay đổi nên cần xác định đặc trưng

cho môi và căm hàm dưới, nắn răng giữa thì phần má thay đổi nên cần xác định đặc trưng cho vùng má v.v… Hình 3.12 thể hiện một số đặc trưng trong trường hợp nắn chỉnh răng cửa của hàm dưới.

b) Sự thay đổi các đường cong khi điều chỉnh răng [14]

Để nắn chỉnh răng ta chỉ việc điều chỉnh vị trí của một điểm bất kì trên đường cong biểu thị cái răng đó. Tất nhiên chỉ có thể nắn chỉnh lại tư thế đứng chứ khó mà dịch chuyển được vị trí chân răng. Vì thế dù nắn chỉnh thế nào thì chân răng luôn là trụ, nghĩa là không thay đổi vị trí. Từ vị trí của điểm được điều chỉnh, lấy chân răng làm trụ sẽ tìm ra được góc xoay và từ đó tìm ra vị trí mới cho toàn bộ răng.

Khi răng thay đổi, tùy thuộc loại đường cong để tìm ra sự thay đổi chính xác của một điểm trên các đường cong còn lại. Ví dụ, khi răng cửa hàm dưới thay đổi ta sẽ tìm ra được sự thay đổi của điểm trên cùng của môi dưới vì sự thay đổi của điểm này bằng sự dịch chuyển của điểm có cùng tung độ trên đường cong biểu diễn cái răng mà có sự thay đổi. Vậy những điểm còn

lại của đường cong sẽ thay đổi thế nào? Ta sẽ dùng phương trình của đường cong B-spline để giải quyết vấn đề này.

Chú ý, đường cong B-spline không nội suy qua tất cả các điểm điều khiển nhưng nó xấp xỉ hình dạng của đường cong đó. Và khi một điểm điều khiển thay đổi, B-spline dễ dàng điều khiển sự thay đổi của các điểm còn lại để tìm ra đường cong mới. B-spline nói trong phần này gồm các đoạn đường cong mà các hệ số của đa thức chỉ phụ thuộc vào một vài điểm điều khiển. Đó là các điểm điều khiển cục bộ. Như vậy di chuyển một điểm điều khiển sẽ chỉ ảnh hưởng tới một phần nhỏ của đường cong. Hơn thế nữa thời gian tính toán sẽ giảm đi rất nhiều.

B-spline bậc ba xấp xỉ qua m+1 điểm điều khiển P0,P1,...,Pm, m3, bao gồm m-2 đoạn đường cong đa thức bậc ba Q3, Q4, ...,Qm. Mặc dù các đoạn đường cong này chỉ xác định trong khoảng 0t<1 nhưng ta có thể điều chỉnh

Một phần của tài liệu Nghiên cứu một số kỹ thuật nắn chỉnh và ứng dụng (Trang 58)