Tổng quan về google image search
Trang 1Lời nói đầu
Tìm kiếm bằng hình ảnh không phải là một đề tài mới mẻ song cũng chưa có nhiều báo cáo về vấn đề này Bài báo cáo về công cụ Google Images search hay tìm kiếm hình ảnh của Google
có mục đích giới thiệu chung về cách thức hoạt động cũng như mô tả về một số giải thuật sử dụng trong bộ máy tìm kiếm hình ảnh của Google Trong các giải thuật được Google sử dụng, chúng em xin trình bày kĩ hơn về giải thuật SIFT (Scale-Invarian Feature Transform, David Lowe 1999 và 2004) Giải thuật được đánh giá khá cao trong việc tìm ra các điểm đặc trưng của một bức ảnh, từ đó nâng cao hiệu quả tìm kiếm và làm cho các kết quả truy vấn được chính xác hơn Tuy rằng giải thuật trên không phải là giải thuật chính và vẫn còn nhiều nhược điểm cần khắc phục, nhưng nó là một giải thuật khá quan trọng được Google Images search sử dụng
và kết hợp với các giải thuật khác để đáp ứng được nhu cầu tìm kiếm hình ảnh của người dùng như hiện nay.
Trang 2và kèm theo link website chứa nó Từ đó thì người dùng có thể truy nhập vào websitechứa hình ảnh đang tìm kiếm và thấy được kích cỡ thật của hình ảnh đó.
2. Lịch sử của Google Images search.
- Năm 2001, 250 hình ảnh được đánh chỉ mục Năm 2005, con số đó đã tăng tới mộttriệu và tới năm 2010 thì đã là 10 triệu hình ảnh
- Vào 27/10/2009, Google Images đã thêm vào một tính năng cho công cụ tìm kiếmhình ảnh : tìm kiếm hình ảnh tương tự
- 6/2011, Google Images bắt đầu cho phép tìm kiếm hình ảnh trực tiếp trong thanh tìmkiếm Với chức năng này, người dùng có thể tải hình ảnh từ máy tính cá nhân hoặcđưa vào thanh tìm kiếm một địa chỉ URL của hình ảnh để thực hiện quá trình tìmkiếm
Trang 3- Vào 11/12/2012, công cụ Google Images search một lần nữa thay đổi các giải thuậttìm kiếm với hi vọng ngăn chặn các hình ảnh khiêu dâm Tất nhiên những hình ảnhnày sẽ vẫn có thể xuất hiện khi các từ khóa tìm kiếm có chứa nội dung khiêu dâm.
3. Google Images search làm việc như thế nào?
Ở đây có thể phân chia thành 2 loại : tìm kiếm hình ảnh bằng text và tìm kiếm hình ảnhbằng hình ảnh
Đối với tìm kiếm hình ảnh bằng text (keyword – từ khóa) : khi chúng ta gõ từ khóa vàothanh tìm kiếm thì bộ máy tìm kiếm của Google sẽ thực hiện truy vấn với các siêu dữ liệuđược đánh chỉ mục trong cơ sở dữ liệu Từ đó hiển thị các kết quả cho người dùng Sau đây
là cụ thể hóa các công việc để thực hiện truy vấn
- Google sử dụng các bot hoặc các spider (là những chương trình tự động hóa) để tìmkiếm trong các website Các bot hoặc spider này tự động dò tìm và phân tích cáctrang web với mục đích tìm kiếm thông tin của các hình ảnh trong đó Và quá trìnhnày được lặp đi lặp lại với mục đích bổ sung dữ liệu hoặc cập nhật dữ liệu cho hìnhảnh đó Tần suất của việc cập nhật có thể là mỗi giờ, mỗi ngày hoặc thậm chí là vài
Trang 4tháng Việc lặp lại như thế phụ thuộc vào việc website đó có thường xuyên được cậpnhật hay không.
- Công cụ tìm kiếm của Google tìm kiếm như một người mù Vì rõ ràng các bot hayspider không thể biết nội dung của bức ảnh mà chúng tìm được Chúng chỉ có thể dòtìm và cập nhật nội dung của bức ảnh thông qua các nội dung các thẻ như <alt> hayqua tên file và qua nội dung văn bản mô tả cho bức ảnh Từ đây chúng đưa các thôngtin vào cơ sở dữ liệu và lưu như meta data Trong đó có lưu các thông tin về ảnh, vềwebsite chứa ảnh, liên kết… cần thiết cho việc truy vấn
- Sau khi truy vấn thì với hàng trăm nghìn hoặc có thể lên tới hàng triệu kết quả, thìGoogle sử dụng bộ lọc và Page rank checker để hiển thị các kết quả theo một thứ tựnhất định
Tuy nhiên, đó là thực hiện tìm kiếm với từ khóa, công cụ của Google sẽ không phảiquan tâm đến màu sắc hay kết cấu của ảnh Bắt đầu với tìm hình ảnh tương tự và chođến bây giờ là tìm hình ảnh bằng địa chỉ URL hay upload một file hình ảnh lên thìGoogle đã thêm vào các giải thuật để phân tích hình ảnh như SURF, SIFT, PCA-SIFT,FAST, BRIEF… để tìm kiếm theo nội dung của ảnh hay còn gọi là truy vấn theo nộidung ảnh
Để phân tích được hình ảnh thì cần nắm rõ hình ảnh có những đặc trưng nào Ta có thểliệt kê một số đặc trưng như : màu sắc, kết cấu, hình dạng, các đặc trưng cục bộ
- Đặc trưng màu sắc : Màu sắc là một đặc trưng nổi bật và được sử dụng phổ biến nhấttrong tìm kiếm ảnh theo nội dung Mỗi một điểm ảnh (thông tin màu sắc) có thểđược biểu diễn như một điểm trong không gian màu sắc ba chiều Các không gianmàu sắc thường dùng là: RGB, CIE, HSV Tìm kiếm ảnh theo màu sắc tiến hành tínhtoán biểu đồ màu cho mỗi ảnh để xác định tỉ trọng các điểm ảnh của ảnh mà chứacác giá trị đặc biệt (màu sắc) Các nghiên cứu gần đây đang cố gắng phân vùng ảnhtheo các màu sắc khác nhau và tìm mối quan hệ giữa các vùng này
- Đặc trưng kết cấu : Trích xuất nội dung ảnh theo kết cấu nhằm tìm ra mô hình trựcquan của ảnh và cách thức chúng được xác định trong không gian Kết cấu được biểu
Trang 5diễn bởi các texel mà sau đó được đặt vào một số các tập phụ thuộc vào số kết cấuđược phát hiện trong ảnh Các tập này không chỉ xác định các kết cấu mà còn chỉ rõ
vị trí các kết cấu trong ảnh Việc xác định các kết cấu đặc biệt trong ảnh đạt đượcchủ yếu bằng cách mô hình các kết cấu như những biến thể cấp độ xám 2 chiều
- Đặc trưng hình dạng : Hình dạng của một ảnh hay một vùng là một đặc trưng quantrong trong việc xác định và phân biệt ảnh trong nhận dạng mẫu Mục tiêu chính củabiểu diễn hình dạng trong nhận dạng mẫu là đo thuộc tính hình học của một đốitượng được dùng trong phân lớp, so sánh và nhận dạng đối tượng
- Đặc trưng cục bộ bất biến : mỗi ảnh đều có những đặc trưng cục bộ như là điểm nhô
ra (salient points) hay các điểm hấp dẫn Haris (interest points) và những điểm này sẽthể hiện đặc điểm chính hay nội dung chính của bức ảnh
Khi tìm kiếm theo nội dung ảnh như trên thì với mỗi ảnh được upload lên, bộ máy làmviệc của Google sẽ dùng các giải thuật để tìm các keypoints trong ảnh và so sánh nó vớisiêu dữ liệu trong cơ sở dữ liệu đã được đánh chỉ mục trước đó Việc đánh chỉ mục chocác hình ảnh trong cơ sở dữ liệu được các bot và spider thực hiện trước đó bao gồm cảviệc phân tích trực tuyến các ảnh trên các website và lưu trữ các keypoints vào các fileXML Quá trình thu thập thông tin này được thực hiện trong khoảng thời gian dài vàđược lặp đi lặp lại, bất kể người dùng có truy vấn đến bức ảnh hay không thì quá trìnhnày vẫn xảy ra, đảm bảo cho hiệu năng tìm kiếm được nâng cao Sau đó thì quá trình lọckết quả và hiển thị hình ảnh tới người dùng thì y hệt như tìm kiếm hình ảnh theo text
Trang 6II. Giới thiệu chung về thuật toán thường sử dụng trong Search by Image.
1. SIFT(Scale Invariant feature transform).
Một thuật toán tiêu biểu và có hiệu quả khá cao là dựa theo các đặc trưng cục bộbất biến trong ảnh: SIFT (Scale-invariant Feature Transform) do David Lowe đưa ra từnăm 2004 và đến nay đã có nhiều cải tiến trong thuật toán Đặc trưng được trích chọntrong SIFT là các keypoint Key point là một điểm hoặc một vùng trong ảnh chứa rấtnhiều thông tin cục bộ và không bị thay đổi bới các hoạt động nhiễu toàn cục hay địaphương, như là: biến đổi hình học affine, tỉ lệ, quay, độ chiếu sáng…
SIFT bao gồm bốn bước chính :
- Phát hiện các điểm cực trị Scale-Space (Scale-Space extrema detection):Bước đầu tiên này tiến hành tìm kiếm các keypoint trên tất cả các tỉ lệ và
vị trí của ảnh Nó sử dụng hàm different-of-Gaussian để xác định tất cảcác keypoint tiềm năng mà bất biến với quy mô và hướng của ảnh
Trang 7- Định vị các keypoint (keypoint localization): Một hàm kiểm tra sẽ đượcđưa ra để quyết định xem các keypoint tiềm năng có được lựa chọn haykhông?
- Gắn hướng cho các keypoint (Orientation assignment): Xác định hướngcho các điểm hấp dẫn được chọn
- Mô tả các keypoint (Keypoint descriptor): Các keypoint sau khi đượcxác định hướng sẽ được mô tả dưới dạng các vector đặc trưng nhiềuchiều
Hình 1 Minh họa các bước trong thuật toán SIFT.
Tập các keypoint thu được thường phụ thuộc rất ít vào các phép biến đổi cơbản như xoay, phóng to, thu nhỏ, tăng giảm cường độ sáng, vì vậy có thể xem đây
là các đặc trưng mang tính cục bộ của ảnh Để đối sánh và nhận dạng hai ảnh thì tatìm tập keypoint giống nhau trong hai ảnh, dựa vào hướng và tỉ lệ để có thể biếtđối tượng trong ảnh gốc đã xoay, thu phóng bao nhiêu so với ảnh đem đối sánh.Thuật toán này dựa vào điểm bất biến cục bộ của ảnh, chúng được trích xuất ra,được định hướng và mô tả sao cho hai keypoint ở hai vùng khác nhau thì khácnhau Tuy nhiên một yếu tố ảnh hưởng không nhỏ đến tốc độ thuật toán là sốlượng các keypoint được lấy ra là không nhỏ Trung bình một ảnh kích thước 500
x 500 pixels thì sẽ trích xuất được khoảng 1000 điểm (số lượng điểm này phụ
Trang 8thuộc vào tùy từng ảnh và tham số lọc khác nhau) Số lượng các keypoint có mộttầm quan trọng trong vấn đề nhận dạng đối tượng Để nhận dạng một đối tượngnhỏ trong một ảnh chứa tập hợp các đối tượng hỗn độn thì cần ít nhất ba keypointgiống nhau để phát hiện và và bóc tách đối tượng.
Đối với vấn đề xây dựng một cơ sở dữ liệu ảnh và thực hiện nhận dạng đốitượng bất kì thì ban đầu thường sử dụng SIFT để tạo một hệ dữ liệu các đặc trưng(keypoints) được trích xuất từ dữ liệu ảnh gốc Sau đó với mỗi ảnh đối tượng đemnhận dạng ta dùng giải thuật SIFT trích xuất tập đặc trưng từ ảnh và đem đối sánhvới hệ dữ liệu đặc trưng để tìm ra tập keypoint giống nhau, từ đó nhận dạng đốitượng trong cơ sở dữ liệu ảnh ban đầu Tuy nhiên việc đối sánh này cần chi phí đốisánh rất lớn đối với cơ sở dữ liệu ảnh có số lượng lớn do số lượng các đặc trưng ởmỗi ảnh là lớn
2. PCA- SIFT (Principal Component Analysis – SIFT )
PCA (Principal Component Analysis) là một giải thuật đưa dữ liệu nhiềunhiều chiều về không gian có số chiều nhỏ hơn Nói cách khác mục tiêu của PCA
là tìm một không gian mới (với số chiều nhỏ hơn không gian cũ) PCA gồm cócác đặc tính sau :
- Giúp giảm số chiều của dữ liệu
- Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng mộtkhông gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt
tương đương không gian cũ, đảm bảo độ biến thiên (variability) của dữliệu trên mỗi chiều mới
- Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của khônggian cũ, do đó về mặt ngữ nghĩa, PCA xây dựng đặc trưng (feature)
Trang 9mới dựa trên các đặc trưng đã quan sát được Điểm hay là những đặctrưng này vẫn biểu diễn tốt dữ liệu ban đầu.
- Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể đượckhám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn, hoặcnhững liên kết như thế không thể hiện rõ
PCA- SIFT là một phương pháp mở rộng của SIFT Giải thuật này kết hợpvới PCA với mục đích để giảm các chiều (high dimemtionally) của vector đặctrưng
3. SURF ( Speeded Up Robust Feature).
SURF là một phương pháp tìm kiếm đặc trưng cục bộ mạnh mẽ, được đưa
ra bởi Herbert Bay vào năm 2006 SURF được sử dụng để nhận dạng đối tượng Phương pháp phát hiện đặc trưng của SURF hoạt động dựa trên phương pháp pháthiện Hessian Blob
Đặc trưng SIFT có một khuyết điểm là thời gian tính toán chậm nên khôngthể áp dụng cho những ứng dụng thực tế thời gian thực Đặc trưng SURF tối ưu cảhai giai đoạn phát hiện đặc trưng (detector) và mô tả đặc trưng (descriptor) về mặtthời gian tính toán nhưng vẫn giữ được tính bền vững của đặc trưng Bộ phát hiệnđặc trưng của SURF sử dụng phép xấp xỉ trên ma trận Hessian và Integral Image( hay còn gọi là bảng tổng diện tích - summed area table) để làm giảm thời gian tínhtoán một cách đáng kể Bộ mô tả đặc trưng tương tự như đặc trưng SIFT, sử dụngvector 64 chiều chứa thông tin biến thiên trên ảnh dựa trên sự phân phối bậc nhấtHaar wavelet tác động trên trục x và y, kết hợp với ảnh tích lũy làm tăng tốc độ tínhtoán SURF được mô tả bởi vector có số chiều ít hơn SIFT nên tốc độ so khớpnhanh hơn, tuy nhiên độ bền vững vẫn được đảm bảo Hơn thế nữa, bằng việc đánhchỉ mục dựa trên dấu của Laplacian, đặc trưng SURF không chỉ tăng tính bền vữngcho đặc trưng mà còn làm tăng tốc độ so khớp (tăng gấp 2 trong trường hợp tốtnhất)
Trang 10xỉ việc tính đạo hàm cấp 2 của hàm Gaussian bằng các hộp lọc (box filters) Dướiđây là một ví dụ của việc tính xấp xỉ đạo hàm cấp hai của hàm Gaussian với hệ số tỉ
lệ thấp nhất bằng hộp lọc:
Hình 3.1 Xấp xỉ đạo hàm cấp 2 hàm Gaussian bằng hộp lọc
Trong hình 3.1, ảnh thứ nhất là đạo ma trận đạo hàm cấp 2 Gaussian theotrục y, ảnh thứ hai theo trục x và trục Ảnh thứ ba và thứ tư lần lượt là các hộp lọcxấp xỉ với hai trường hợp của ảnh một và hai Phép tích chập xoắn của ảnh với cáchộp lọc này được thực hiệc rất nhanh bằng việc sử dụng kết hợp với ảnh tích lũy
Ta xác định vị trí và hệ số tỉ lệ tương ứng của điểm đặc trưng dựa trên địnhthức của ma trận Hessian Công thức tính xấp xỉ định thức ma trận Hessian:
Trang 11Trong đó là trọng số cần bằng của biểu thức định thức ma trận Hessian tùythuộc vào hệ số tỉ lệ là các hộp lọc xấp xỉ Gaussian như đã nói ở trên Đối với tỉ
lệ , kích thước hộp lọc là 9x9 thì giá trọng số được tính bằng:
Vị trí, tỉ lệ và không gian ảnh mà điểm đặc trưng được xác định bằng cách ápdụng thuật toán non-maximum suppression 3x3x3 neigbourhood Error: Referencesource not found]
3.2 Mô tả đặc trưng
Đầu tiên là xác định vùng hình trong xung quanh điểm đặc trưng vừa tìmđược, gán một giá trị hướng duy nhất cho điểm đặc trưng Kích thước của hình trònphụ thuộc và hệ số tỉ lệ tương ứng trong không gian ảnh mà điểm đặc trưng tìmđược Ở đây các tác giả chọn bán kính của hình tròn là , trong đó là tỉ lệ mà tại đóđiểm đặc trưng được tìm thấy Hướng của đặc trưng được tính bằng Haar wavelettác động theo hai hướng x và y (Hình) Kích thước của wavelet cũng phụ thuộc vào
hệ số tỉ lệ , ở đây các tác giả chọn Haar wavelet có thể được tính một cách nhanhchóng bằng cách sử dụng ảnh tích lũy, một kỹ thuật khá hiệu quả được sử dụng phổbiến sau bài báo của Viola và Jones, tương tự như hộp lọc xấp xỉ của đạo hàm cấp 2hàm Gaussian Vector hướng nào trội nhất sẽ được ước lượng và gắn vào thông tincủa điểm đặc trưng Hình 3.2 mô tả hướng và vùng ảnh hưởng của đặc trưng
Trang 12Hình 3.2 Vùng hình tròn xung quanh và hướng đại diện cho điểm đặc trưng.
Hình 3.3 Lọc Haar wavelet để tính sự ảnh hưởng trên hai hướng x và
y Vùng tối có trọng số là -1, vùng sáng là +1
Bước tiếp theo, xây dựng các vùng hình vuông xung quanh điểm đặc trưngmen theo vector hướng vừa ước lượng được ở bước trước đó Vùng hình vuông nàyđược chia nhỏ thành 4x4 hình vuông con để ghi nhận thông tin của trên miền khônggian ảnh lân cận Haar wavelet được rút trích trên toàn bộ không gian điểm ảnh.Wavelet tác động trên hai hướng ngang và dọc được cộng dồn các giá trị và trênmỗi hình vuông con Hơn thế nữa, các giá trị tuyệt đối và cũng được cộng dồn đểlấy thông tin về độ lớn của sự thay đổi cường độ sáng trên ảnh Như vậy mỗi hìnhvuông con sẽ được mô tả bởi một vector 4 chiều Như vậy vector mô tả cho tất cả4x4 hình vuông con là một vector 64 chiều (4x4x4) (Hình 3.3) Đây cũng chính là
Trang 13phiên bản khác dựa trên cách chia hình vuông con như SURF-36, SURF-128… Tuynhiên thực nghiệm của các tác giả cho thấy rằng SURF-64 cho tốc độ tính toán tốtnhất mà vẫn đảm bảo tính bền vững của đặc trưng Haar wavelet bất biến với sựthay đổi của ánh sáng và sự tương phản khi ta chuẩn hóa vector mô tả đặc trưng vềchiều dài đơn vị.
Hình 3.4 4x4 hình vuông con xung quanh điểm đặc trưng Error: Reference source
not found]
Đặc điểm quan trọng của đặc trưng SURF là quá trình rút trích đặc trưngnhanh do sử dụng kỹ thuật ảnh tích lũy và thuật toán non-maximum suppression.Quá trình so khớp đặc trưng cũng nhanh hơn rất nhiều chỉ bằng một bước đánh chỉmục đơn giản dựa trên dấu của Laplacian (trace của ma trận Hessian) Ta khôngphải tốn chi phí tính toán trong bước này do trong quá trình phát hiện đặc trưng đãđược tính sẵn Dấu của Laplacian giúp phân biệt đốm (blob) sáng trên nền tối vàđốm tối trên nền sáng Điểm đặc trưng sáng chỉ có thể khớp với điểm đặc trưngsáng khác, tương tự cho đặc trưng tối (Hình 3.5) Kỹ thuật này có thể giúp cho quátrình so khớp nhanh gấp đôi trong trong trường hợp tốt nhất do không phải tốn chiphí tính toán dấu của Laplacian