2.3.4.1.1. Loại bỏ các đối tƣợng nhỏ và nhiễu
Thuật toán sau khi dò biên trong ở trên, ta nhóm các điểm biên cùng tính chất và liên thông thành một chuỗi. Việc loại biên dựa trên một ngƣỡng
MaxSize đƣa vào, duyệt các chuỗi trong ảnh biên thu đƣợc nếu số điểm biên
trong một chuỗi bé hơn MaxSize thì ta loại chuỗi biên đó. Tập hợp các chuỗi biên còn lại cho ta ảnh biên kết quả.
2.3.4.1.2. Làm mảnh biên và nối nét đứt
Biên sau khi dò biên theo thuật toán Canny thì biên thu đƣợc tƣơng đối là mảnh. Nhƣng có một số trƣờng hợp điểm biên thu đƣợc vẫn chƣa phải là xƣơng, ví dụ các trƣờng hợp sau, với các điểm đƣợc đánh dấu sẽ bị xóa:
Hình 2.13 - Minh họa các điểm đƣợc đánh dấu để xóa [2].
57
Khi thực hiện làm mảnh biên quan trọng nhất là: + Không xóa những điểm cuối.
+ Không làm mất tính liên tục của vùng. + Không làm vùng đang xét bị rỗng quá mức.
Sau đây là một thuật toán quen thuộc dùng để làm mảnh. Không mất tính tổng quát, có thể giả sử rằng các điểm thuộc đối tƣợng đang xét có giá trị bằng 1 và các điểm nền có độ xám bằng 0. Ta gọi một điểm là điểm biên (contour point) nếu điểm đó có giá trị 1 và một trong 8 điểm lân cận của nó có giá trị bằng 0 hình 2.13. Quá trình thực hiện gồm 2 bƣớc:
Bước 1:
(a) 2≤ Np1 ≤ 6 (b) S(p1) = 1
(c) p2 * p4 * p6 = 0 (d) p4 * p6 * p8 = 0
trong đó N(p1) là tổng số điểm lân cận khác 0 của p1: N(p1) = p2 + p3 + … + p8 + p9
Hình 2.14 - Lân cận 8 của điểm p1
Và S(p1) là số lần chuyển từ 0 sang 1 trong chuỗi (theo đúng thứ tự) p2, p3, …, p7, p8, p2.
Bước 2: Ta giữ nguyên 2 điều kiện (a) và (b), nhƣng thay (c) và (d) bằng (c’) và (d’) sau:
P7 P6 P5
P8 P1 P4
58
(c’) p2 * p4 * p8 = 0 (d’) p2 * p6 * p8 = 0
Bƣớc này đƣợc áp dụng cho tất cả mọi điểm biên trong vùng đang xét. Nếu có ít nhất 1 trong 4 điều kiện (a) – (d) bị vi phạm, ta giữ nguyên giá trị điểm ảnh đó. Ngƣợc lại, ta đánh dấu điểm ảnh đó và sau này nó sẽ bị xóa. Lƣu ý rằng ta chỉ xóa điểm ảnh khi tất cả các điểm biên đã đƣợc duyệt qua, nhờ vậy dữ liệu không bị thay đổi trong quá trình xử lý.
Sau khi thực hiện xong bƣớc 1, ta xóa tất cả các điểm đã đánh dấu và thực hiện tiếp bƣớc 2 giống nhƣ đã thực hiện cho bƣớc 1. Nhƣ vậy, quá trình thực hiện là một vòng lặp liên tục gồm các giai đoạn sau:
+ Áp dụng bƣớc 1 để đánh dấu điểm cần xóa. + Xóa các điểm đã đánh dấu.
+ Áp dụng bƣớc 2 để đánh dấu điểm. + Xóa các điểm đã đƣợc đánh dấu.
Thuật toán dừng khi không còn điểm nào đƣợc xóa nữa.
Điều kiện (a) bị vi phạm khi điểm biên p1 có 1 hoặc 7 điểm lân cận có giá trị 1. Trƣờng hợp 1 điểm lân cận đồng nghĩa với việc p1 là điểm cuối, và do đó không thể xóa đƣợc. Tƣơng tự, trong trƣờng hợp p1 có 7 điểm lân cận, nếu ta xóa nó sẽ gây ra lỗ hổng trong vùng đang xét. Điều kiện (b) không thỏa khi điểm đang xét nằm trên vùng biên có độ dày bằng 1, và do đó nếu xóa nó sẽ làm mất tính liên tục của đối tƣợng.
Còn một số trƣờng hợp bị đứt nét thì ta phải nối, nhƣ hình 2.14 các điểm đƣợc đánh sẽ là các điểm nối.
59
Khi đó điểm đứt nét là điểm nền và tồn tại 2 láng giềng của nó nằm ở các vị trị đối ngƣợc nhau nhƣ (1,2,3) và (5,6,7) là các điểm vùng.việc nối đứt thực đƣợc thực hiện dễ ràng thông qua các điểm đứt tìm đƣợc.
2.3.4.2. Lựa chọn các đoạn biên liên thông của đối tƣợng dùng ƣớc lƣợng hƣớng nguồn sáng lƣợng hƣớng nguồn sáng
Ánh sáng chiếu vào đối tƣợng và phản xạ tập trung chủ yếu trên biên, đặc biệt là những đƣờng biên ranh giới ngoài. Chẳng hạn, đƣờng chân trời của trái đất. Việc chọn đƣờng biên để ƣớc lƣợng hƣớng ánh sáng trong báo cáo này đƣợc thực hiện một cách thủ công từ một trong số các đƣờng biên sau khi xử lý biên. Mỗi đoạn biên đƣợc chọn ra bằng 2 điểm bắt đầu và điểm kết thúc, 2 điểm đƣợc chọn là hợp lệ khi chúng liên thông với nhau.
Dựa trên các điểm của các đoạn biên lựa chọn để ƣớc lƣợng hƣớng nguồn sáng ta tìm đƣợc các vector pháp tuyến tƣơng ứng ta thực hiện phƣơng pháp ngoại suy để xác định cƣờng độ điểm ảnh tại các điểm tƣơng ứng.
Để xác định cƣờng độ tại biên ta thực hiện ngoại suy cƣờng độ các điểm ảnh liên tiếp dọc theo một tia trùng với pháp tuyến bề mặt. Nói cách khác, cƣờng độ tại điểm biên (xi,yi) với vector pháp tuyến bề mặt N đƣợc xác định bằng đánh giá cƣờng độ bóng 1-D theo công thức:
P(t)=I(xi-tNx,yi-tNy) (2.17) Tại vị trí t điểm ảnh, với 0.
Trong phƣơng trình (2.17) ta cần tìm P(t) tại t=0 (tại vị trí biên), do cƣờng độ tại biên không đáng tin cậy do đó cần tính một cách gián tiếp thông qua P(t) với t>0. Giả sử rằng cƣờng độ bóng có thể đƣợc mô hình hóa bằng một lũy thừa:
60
Các tham số mô hình và đƣợc xác định thông qua “ước lượng bình phương cực tiểu” theo log(P(t)).
Theo [12]. Các tác giả chuẩn hóa (2.18) thành một phƣơng trình lũy thừa tuyến tính nhƣ sau: ) ( ) ( 72 92 5 2 5 4 2 3 3 2 2 1 1 0 ct c t c t c t ct O t c t P (2.19) Sau đó áp dụng với P t c ct12 c2t 1 0 )
( và sử dụng 3 điểm kế tiếp với điểm biên nằm trên tia trùng với pháp tuyến tại điểm biên theo hƣớng ngƣợc lại sau khi tính cƣờng độ tại biên bằng P(0) (với t=0).
2.3.4.3. Xây dựng thuật toán xác định hƣớng ánh sáng trên mỗi đƣờng biên đƣờng biên
Để xác định hƣớng nguồn sáng lên một đoạn biên ta thực hiện nhƣ sau: Chia các đoạn biên thành các phần liên tiếp nhau, mỗi phần là một cụm 3 điểm biên liên tiếp nhau. Nếu đoạn biên có chiều dài là n thì ta có n3 phần khác nhau.
Ta xác định hƣớng ánh sáng trên mỗi phần sau khi chia: giả sử 3 điểm của một cụm lần lƣợt là (x1,y1),(x2,y2),(x3,y3) ta có : 1 ) , ( ) , ( 1 ) , ( ) , ( 1 ) , ( ) , ( 3 3 3 3 2 2 2 2 1 1 1 1 y x N y x N y x N y x N y x N y x N M y x y x y x ) , ( ) , ( ) , ( 3 3 2 2 1 1 y x I y x I y x I b Từ hệ phƣơng trình ) , , , ( ) ( 1 A L L L v b M M M v z y x T T => vector ánh sáng (Lx,Ly)
Từ đây ta mới xác định đƣợc góc lệnh hƣớng ánh sáng và đƣa ra kết luận là hai hƣớng ánh sáng có cùng một nguồn sáng không.
61
2.3.4.4. Kết quả thực nghiệm
Hình 2.16 - Ảnh minh họa để xem có giả mạo không
Tôi đã cài đặt thử ngiệm thuật toán trên một số ảnh giả mạo và bƣớc đầu cho kết quả khá tốt. Kết quả sai số trung bình có thể chấp nhận đƣợc là 50 là mức sai số nhỏ nhất và lớn nhất lần lƣợt là 10
và 100. Nhƣ vậy việc xác định giả mạo nếu 2 đối tƣợng có hƣớng chiếu sáng lệch nhau một góc lớn hơn 50 có thể kết luận chúng là giả mạo.
1250 800
Hình 2.17 - Ảnh minh họa kết quả xác định hƣớng ánh sáng trên bức ảnh là khác nhau nên đây là ảnh giả mạo dạng cắt/dán
62
Hình 2.17 Minh họa tấm hình giả mạo tự tạo hƣớng nguồn sáng trên tấm hình hoàn toàn khác nhau nhƣ minh họa hình 2.18 tấm hình đƣợc cắt/dán từ một tấm hình khác. Nguồn sáng của tấm hình gốc (hình xe máy) có hƣớng nguồn sáng là 1250 và hƣớng nguồn sáng của hình ngƣời cắt/dán vào là 800
Hình 2.18 – Chỉ ra hƣớng nguồn sáng khác nhau bằng mũi trên
Hình gốc chỉ có chiếc xe máy
63
Hình gốc chƣa cắt/dán chì có hình ngƣời
Hình 2.20 – Hình gốc chƣa cắt/dán, chỉ có 1 nguồn sáng duy nhất 800
1200 620
Hình 2.21 - Minh họa kết quả xác định hƣớng ánh sáng trên bức ảnh giả mạo có sẵn bị lệnh góc hơn 50
64
2.4. Phát hiện ảnh kỹ thuật số giả mạo dạng cắt/dán dựa vào thuật toán SIFT. toán SIFT.
Cách tiếp cận đƣợc đề xuất là dựa trên các thuật toán SIFT để trích xuất các tính năng mạnh mẽ mà có thể cho phép phát hiện ra nếu một phần của một hình ảnh đƣợc sao chép di chuyển. Trong thực tế, phần sao chép đã cơ bản cùng sự xuất hiện của bản gốc, do đó điểm khóa (keypoints) đƣợc chiết xuất trong khu vực giả mạo sẽ khá giống với bản gốc.
Trên cơ sở đó tôi đƣa ra thuật toán tìm ra các điểm khóa và phát hiện ảnh kỹ thuật số giả mạo dạng cắt/dán FImage 0.1, bao gồm các bƣớc sau:
Bước 1: Khai thác các tính năng của thuật toán SIFT và kết hợp với nhiều điểm khóa (keypoint).
Thuật toán SIFT (Scale Invarian Feature Tranorms) [9]
Đây là một trong những phƣơng pháp hiệu quả để trích chọn các điểm bất biến từ các ảnh đƣợc dùng để thực hiện so khớp tin cậy giữa các tầm nhìn khác nhau của cùng một đối tƣợng hoặc quang cảnh. Phƣơng pháp này đƣợc gọi là “Phép biến đổi đặc trƣng bất biến tỷ lệ” (Scale Invariant Feature Transform – SIFT) vì nó biến đổi dữ liệu ảnh thành các tọa độ bất biến tỷ lệ có liên quan tới các đặc trƣng cục bộ. Thuật toán này gồm 4 giai đoạn chính: phát hiện các cực trị trong không gian tỷ lệ, định vị chính xác điểm khóa, gán hƣớng cho các điểm khóa, xây dựng đặc trƣng.
Phát hiện cực trị
Giai đoạn đầu tiên của phát hiện điểm khóa là tìm ra các vị trí và các tỷ lệ có thể đƣợc gán lặp đi lặp lại dƣới các tầm nhìn khác nhau của cùng một đối tƣợng. Việc phát hiện các vị trí bất biến khi có sự thay đổi tỷ lệ của ảnh có thể đƣợc thực hiện bằng việc tìm kiếm các đặc trƣng ổn định qua tất cả các tỷ lệ có thể, sử dụng một hàm liên tục tỷ lệ đƣợc hiểu nhƣ không gian tỷ lệ.
65
Dùng hàm Gaussian làm hàm nhân của không gian tỷ lệ. Vì vậy, không gian tỷ lệ của một ảnh đƣợc xác định bởi hàm L(x,y,), hàm này đƣợc tạo ra từ phép cuộn Gaussian biến thiên tỷ lệ, G(x,y,), với ảnh đầu vào I(x,y):
( , , ) ( , , ) ( , )
L x y G x y I x y
trong đó * là phép toán cuộn theo x và y, và
2 2 2 ( ) / 2 2 1 ( , , ) 2 x y G x y e (2.20)
Để phát hiện hiệu quả các vị trí điểm khóa ổn định trong không gian tỷ lệ, ta sử dụng các cực trị không gian tỷ lệ trong hàm Difference-of-Gaussian
đƣợc cuộn với ảnh đó, D(x,y,), hàm này có thể đƣợc tính từ sự chênh lệch giữa hai tỷ lệ lân cận đƣợc phân biệt bởi thừa số k:
( , , ) ( ( , , ) ( , , )) ( , ) ( , , ) ( , , ) D x y G x y k G x y I x y L x y k L x y (2.21)
Hình 2.22 - Xây dựng một không gian tỷ lệ [9]
Hình 2.22 thể hiện một phƣơng pháp hiệu quả cho việc xây dựng hàm
D(x,y,). Ảnh ban đầu đƣợc cuộn theo kiểu gia tăng với các hàm Gaussian để tạo ra các ảnh đƣợc phân biệt bởi thừa số k trong không gian tỷ lệ, đƣợc xếp
66
thành chồng ở cột bên trái. Ta chia mỗi quãng của không gian tỷ lệ (nghĩa là gấp đôi ) thành s khoảng (s là số nguyên), vì vậy k = 21/s. Chúng ta phải tạo ra
s+3 ảnh trong chồng các ảnh bị làm mờ cho mỗi quãng, để việc phát hiện cực trị cuối cùng bao phủ trọn vẹn một quãng. Các tỷ lệ ảnh gần kề đƣợc trừ với nhau để tạo ra các ảnh Difference-of-Gaussian đƣợc thể hiện ở hình bên phải. Một khi một quãng trọn vẹn đƣợc xử lý, chúng ta tái lấy mẫu ảnh Gaussian gấp đôi giá trị ban đầu và việc xử lý đƣợc lặp lại.
Hình 2.23 - Các giá trị cực đại và cực tiểu của các ảnh DoG đƣợc tìm thấy bằng việc so sánh một điểm ảnh (đánh dấu X) với 26 láng giềng trong các vùng 33 ở các mức hiện thời và các mức gần kề (đƣợc đánh dấu O) [9].
Để tìm giá trị cực đại và cực tiểu địa phƣơng của hàm D(x,y,), mỗi điểm mẫu đƣợc so sánh với 8 láng giềng trong ảnh hiện thời và 9 láng giềng trong tỷ lệ ở trên và ở dƣới (Hình 2.23). Nó đƣợc chọn chỉ khi lớn hơn tất cả các láng giềng này hoặc nhỏ hơn tất cả chúng. Chi phí của sự kiểm tra này là khá nhỏ vì trên thực tế hầu hết các điểm mẫu sẽ bị loại bỏ sau vài lần kiểm tra đầu tiên.
67
Xác định điểm hấp dẫn tiềm năng:
So sánh mỗi điểm ảnh đƣợc xác định bởi hàm DoG với: • 8 điểm ảnh xung quanh ở cùng tỷ lệ
• 9 điểm ảnh xung quanh ở tỷ lệ liền trƣớc • 9 điểm ảnh xung quanh ở tỷ lệ liền sau.
Chọn là điểm hấp dẫn tiềm năng nếu nó đạt giá trị lớn nhất, hoặc nhỏ nhất
Tần số lấy mẫu theo tỷ lệ
Sự xác định thực nghiệm của tần số lấy mẫu làm tăng tối đa tính ổn định của các cực trị. Để xác định tần số lấy mẫu ngƣời ta sử dụng một bộ sƣ tập gồm 32 ảnh thực gồm nhiều loại khác nhau, bao gồm các cảnh ngoài trời, các mặt ngƣời, các bức ảnh trên không và các ảnh kỹ nghệ. Sau đó mỗi ảnh phải chịu một dãy các phép biến đổi, bao gồm phép quay, thay đổi tỷ lệ, thay đổi độ sáng và độ tƣơng phản, và thêm tạp nhiễu ảnh. Bởi vì các thay đổi này là không tự nhiên, nên có thể dự đoán chính xác nơi mà mỗi đặc trƣng trong ảnh gốc sẽ xuất hiện trong ảnh đã biến đổi, chú ý đến phép đo tính lặp lại và độ chính xác vị trí đối với mỗi đặc trƣng. Kết quả là, khả năng lặp lại cao nhất đƣợc đạt đến khi lấy mẫu 3 tỷ lệ cho mỗi quãng.
Thực nghiệm cho thấy khả năng lặp lại của các điểm khóa không tăng khi nhiều tỷ lệ hơn đƣợc lấy mẫu. Lý do là vì có nhiều cực trị địa phƣơng hơn đƣợc phát hiện, nhƣng tính trung bình các cực trị này ít ổn định và vì vậy ít có khả năng đƣợc phát hiện trong ảnh đã bị biến đổi. Số lƣợng các điểm khóa tăng lên cùng với việc lấy mẫu tăng của các tỷ lệ và tổng số lƣợng các so khớp chính xác cũng tăng. Vì sự thành công của việc nhận dạng đối tƣợng thƣờng phụ thuộc nhiều vào số lƣợng các điểm khóa đƣợc so khớp chính xác,
68
chứ không phải tỷ lệ phần trăm so khớp chính xác của chúng, nên đối với nhiều ứng dụng, sẽ tối ƣu hơn khi sử dụng một lƣợng lớn các mẫu tỷ lệ. Tuy nhiên, chi phí tính toán cũng tăng cùng với số lƣợng này, vì vậy qua thực nghiệm chúng ta chỉ cần chọn 3 mẫu tỷ lệ trên mỗi quãng.
Tóm lại, các thí nghiệm cho thấy rằng hàm Difference-of-Gaussian của không gian tỷ lệ có một lƣợng lớn các cực trị và sẽ tốn nhiều chi phí để phát hiện tất cả chúng. May thay, chúng ta có thể phát hiện đƣợc một tập con ổn định và hữu ích nhất thậm chí khi việc lấy mẫu tỷ lệ không tốt.
Tần số lấy mẫu trong một vùng không gian
Vì chúng ta đã xác định tần số lấy mẫu trên mỗi quãng của không gian tỷ