Sơ đồ khối tổng quát

Một phần của tài liệu Nghiên cứu một số kỹ thuật tra cứu ảnh và ứng dụng vào bài toán kiểm chứng cổ vật (Trang 71)

Đọc ảnh mẫu Trích chđặc điểm ọn Tđặạo Véc tc trưng ơ Đọc ảnh từ cơ sở DL Tạo Véc tơ đặc trưng Tính khoảng cách Thêm vào danh sách ở vị trí thích hợp Trích chọn đặc điểm

Hình 3.1: Sơ đồ khối tổng quát của chương trình

o Đọc ảnh: sử dụng các thư viện chuẩn của Windows để đọc ảnh mẫu hoặc ảnh trong cơ sở dữ liệu vào một cấu trúc DIB.

o Trích chọn đặc điểm: tuỳ thuộc vào đặc điểm cần trích chọn là màu sắc hay hình dạng mà khối này sử dụng các thuật toán trích chọn tương ứng.

o Tạo véc tơ đặc trưng: các đặc điểm được trích chọn ra dưới dạng các véc tơđặc trưng nhiều chiều.

o Tính khoảng cách: dựa vào một trong số những phương pháp tính khoảng cách đã được trình bày ở chương 2 để tính khoảng cách tương

ứng giữa các véc tơđặc trưng của ảnh mẫu và ảnh trong cơ sở dữ liệu.

o Cuối cùng dựa theo khoảng cách đã tính được, chương trình sẽ sắp xếp các kết quả theo chiều giảm dần của độ tương tự giữa các véc tơ đặc trưng. 3.3.2. Tra cu theo hình dng Đọc ảnh mẫu Resample 256x256 FFT Tạo Véc tơ đặc trưng Đọc ảnh từ cơ sở DL Resample 256x256 FFT Tạo Véc tơ đặc trưng Tính k/c Euclide Thêm vào danh sách ở vị trí thích hợp Dò biên Dò biên

Hình 3.2: Sơ đồ khối phần tra cứu ảnh theo hình dạng

o Sử dụng thuật toán dò biên gián tiếp để phân vùng ảnh.

o Thực hiện co/giãn (resample) để chuẩn hoá kích thước (cả hai kích thước đều là luỹ thừa của 2) trước khi sao chép sang một ma trận số phức làm đầu vào của hàm biến đổi Fourier nhanh FFT.

o Hàm FFT trả lại một ma trận số phức.

o Việc tạo véc tơđặc trưng của ảnh được thực hiện trên ma trận số phức này. Véc tơ đặc trưng là một vector có 256 chiều.

o Đọc từng ảnh trong cơ sở dữ liệu, thực hiện các bước giống như với

ảnh mẫu để được vector đặc trưng của ảnh vừa đọc.

o So sánh vector đặc trưng của ảnh mẫu và ảnh đọc từ cơ sở dữ liệu bằng cách tính khoảng cách Euclide của 2 vector đặc trưng bằng hàm

GetShape Distance

o Thêm ảnh vừa đọc vào danh sách ảnh tìm thấy, ảnh có sai khác so với

ảnh mẫu nhỏ hơn được xếp lên trên.

3.2.2.1. Đọc nh

Ảnh được đọc vào cấu trúc DIB và hiển thị bằng thủ tục DisplayImage, đầu vào là tên và đường dẫn đến file cần đọc, nếu đọc ảnh thành công thủ tục DisplayImage hiển thịảnh lên khung ảnh được chỉđịnh.

Việc thao tác với cấu trúc DIB được thực hiện thông qua cấu trúc DIBSection

đã được định nghĩa trong thư viện GDI32 của Windows [15, 16].

3.2.2.2. Dò biên đối tượng nh

Phần dò biên đối tượng ảnh sử dụng thuật toán dò biên gián tiếp bằng cách xác

3.2.2.3. Resample

Chúng ta đã biết là để thực hiện biến đổi Fourier nhanh thì kích thước của dãy số đầu vào phải là luỹ thừa của 2. Tuy nhiên các ảnh cần đọc lại có số điểm ảnh khác nhau và thường là không thoả mãn yêu cầu này, vì vậy thủ tục Resample phải thực hiện một phép nội suy để thêm/bớt điểm ảnh đểđược một ảnh mới có sốđiểm

ảnh thoả mãn yêu cầu mà không làm thay đổi chất lượng ảnh. Các điểm ảnh được thêm vào theo nguyên tắc nội suy.

Màu và mật độ của các điểm ảnh nội suy được tính toán dựa trên giá trị của các điểm ảnh có sẵn ở trong ảnh.

Có nhiều cách để xây dựng thủ tục Resample, trong đó có 3 phương pháp thông dụng nhất [4]:

o Nearest Neighbor: điểm ảnh mới được sinh ra dựa vào thông tin của các điểm ảnh ở một phía của điểm ảnh mới, đây là phương pháp resample nhanh nhất nhưng độ chính xác thấp nhất (trong 3 phương pháp). (adsbygoogle = window.adsbygoogle || []).push({});

o Bilinear: lấy thông tin từ những điểm ảnh phía trên và bên cạnh điểm

ảnh mới. Chất lượng ảnh mới tốt hơn so với phương pháp Nearest Neighbor.

o Bicubic: Là phương pháp chính xác nhất vì thông tin về điểm ảnh mới được suy ra từ 8 điểm ảnh xung quanh.

Trong chương trình này chúng tôi sử dụng phương pháp đơn giản nhất Nearest Neighbor. Kích thước mảng dữ liệu đầu ra là 256×256 phần tử.

3.2.2.4. Biến đổi Fourier nhanh

Hàm biến đổi FFT được cải tiến từ chương trình của Randy Crane liệt kê trong cuốn "A Simplified Approach to Image Processing" [4].

Đầu vào là một ma trận số phức 2 chiều được sinh ra từ ma trận điểm ảnh đã

đọc bằng cách gán phần ảo của tất cả các số phức bằng 0, phần thực được gán bằng giá trị của điểm ảnh.

Đầu ra là ma trận số phức hai chiều biểu diễn khai triển Fourier của ma trận

đầu vào.

Trong hàm FFT 2 chiều (hàm twoD_FFT() ), từng hàng của ma trận đầu vào

được biến đổi Fourier bằng hàm biến đổi 1chiều (hàm oneD_FFT() ), sau đó mới tính FFT 1 chiều cho các cột.

Hai hàm cơ sở để xây dựng oneD_FFT là Scramble() và Butterflies(). Trong

đó Scramble() sử dụng để sắp xếp lại dãy đầu vào theo thứ tự đảo bit, còn hàm Butterflies() là thuật toán cơ sở, được gọi đệ qui để tính FFT.

3.2.2.5. To véc tơ đặc trưng hình dng cho nh

Véc tơđặc trưng của ảnh là một vector 256 chiều, chứa 256 giá trị số double. double* m_Signature;

m_Signature = new double[256]; Hàm sinh chữ ký GenerateSignature():

Đầu vào: Ma trận vuông kích thước 256x256 các số phức (sinh ra do hàm biến

đổi FFT 2 chiều twoD_FFT()) biểu diễn ảnh trong miền tần số.

Đầu ra: vector chữ ký 256 chiều hay là một mảng 256 số double là signature của ảnh.

Thuật toán:

Tính modul (magnitude) của từng phần tử trong mảng hai chiều 256x256 phần tử theo công thức: 2 2 Im(, ) ) , Re( ) , (i j i j i j Magnitude = +

trong đó: Magnitude(i,j) là modul của số phức tại vị trí hàng i, cột j của ma trận, Re(i,j) là phần thực của số phức tại vị trí hàng i và cột j, Im(i,j) là phần áo của số phức tại vị trí hàng i, cột j.

Chia ảnh đầu vào thành những khối kích thước 16x16. Khởi tạo mảng image_Signature[] gồm 256 phần tử

Tính signature cho từng khối theo công thức:

[ ] ∑∑ = = + + = 15 0 15 0 ) ( ), ( _ i j j iBlockCol i iBlockRow Mag Signature block

Trong đó: block_Signature là giá trị signature của khối, iBlockRow (0 - 255) là chỉ số hàng của phần tửđầu tiên trong khối, iBlockCol (0 - 255) là chỉ số cột của phần tửđầu tiên của khối, i là chỉ hàng của phần tử trong khối (i = 0,...,15) , j là chỉ

số cột của phần tử trong khối (j = 0,...,15). Mag[i,j] là modul của số phức tại vị trí hàng i, cột j của ma trận đầu vào.

Lưu chữ ký block_Signature được lưu vào mảng image_Signature[];

Sau khi tính xong signature cho cả 256 khối, tiến hành chuẩn hóa mảng image_Signature[]. (adsbygoogle = window.adsbygoogle || []).push({});

3.2.2.6. So sánh nh bng cách tính khong cách Euclide

Khoảng cách giữa ảnh Query_Image và ảnh Found_Image được định nghĩa là khoảng cách Euclide giữa hai chữ ký query_Signature[] và found_Signature[] theo công thức: ∑ = − = 255 0 2 ]) [ _ ] [ _ ( i i Signature query i Signature found diff

Khoảng cách diff càng nhỏ thì hai ảnh được coi là càng giống nhau.

3.3.3. Tra cu theo màu sc

Hình 3.3: Sơ đồ khối phần tra cứu ảnh theo màu sắc

Sử dụng phương pháp histogram màu như trình bày trong chương 2.

o Ảnh mẫu được đọc vào cấu trúc DIB và hiển thị bằng thủ tục

DisplayImage

o Giảm số lượng bin màu xuống 256 bằng cách chuyển đổi màu thực của mỗi điểm ảnh thành một trong số những màu trong bảng màu chuẩn của Windows bằng hàm GetClosetIndex.

o Tính toán số điểm ảnh của từng bin màu bằng hàm

GenerateColorSignature, thu được một véc tơ 256 chiều chính là véc tơ đặc trưng màu sắc của ảnh.

o Làm các bước tương tự như trên với từng ảnh trong cơ sở dữ liệu.

o Tính khoảng cách Euclide giữa véc tơ đặc trưng của ảnh mẫu và từng

ảnh trong cơ sở dữ liệu bằng hàm GetColorDistance sắp xếp vào trong danh sách với khoảng cách nhỏ nhất được xếp trước tiên.

Đọc ảnh mẫu Tính histogram màu Đọc ảnh từ cơ sở DL Tính k/c Euclide Chuyển đổi 256 màu Chuyển đổi

256 màu Tính histogram màu

Thêm vào danh sách

ở vị trí thích hợp

3.3.4. S dng chương trình QueryImage

o Khởi động chương trình, chọn file ảnh mẫu, ảnh mẫu sẽđược hiển thị

ô khung "Sample Image"

o Chọn phương pháp so sánh: bằng hình dạng hay bằng màu sắc, nhập sốđo khoảng cách tối đa (giá trị ngưỡng) trong hộp Similarity Distance.

o Nhấn nút Find, chương trình sẽ yêu cầu người dùng chọn thư mục chứa các file ảnh cần tìm. Chương trình sau đó sẽ liệt kê tất cả các ảnh có khoảng cách Euclide nhỏ hơn giá trị ngưỡng theo thứ tự tăng dần của khoảng cách Euclide, những ảnh được coi là giống hơn được xếp trước. Khi chọn một ảnh trong danh sách ảnh tìm thấy (Found Image List), chương trình sẽ

hiển thị ảnh đó trong khung Retrieved Image.

Hình 3.4 trong trang sau là kết quả chạy chương trình để tìm kiếm các ảnh tương tự với ảnh mẫu là một bình cổ từđời nhà Minh (Trung Quốc).

3.4. KHẢ NĂNG MỞ RỘNG CỦA CHƯƠNG TRÌNH

3.4.1. Nhng hn chế ca chương trình

o Chương trình được giới thiệu mới chỉ đưa ra một thuật toán khá đơn giản để trích chọn đặc điểm (sinh véc tơ đặc trưng) nên chắc chắn sẽ không thể cho kết quả so sánh tốt.

o Các ảnh ban đầu chưa được xử lý “sơ chế” như lọc nhiễu và yêu cầu ở

một định dạng đơn giản nên phạm vi so sánh bị hạn chế. (adsbygoogle = window.adsbygoogle || []).push({});

o Chương trình thiết lập kích thước cố định cho ảnh trước khi xử lý là 256×256, kích thước các khối là 16×16, số chiều của vector đặc trưng là 256 làm hạn chế tính mềm dẻo của chương trình

3.4.2. Kh năng m rng

o Kỹ thuật “tra cứu ảnh theo nội dung” có rất nhiều hướng nghiên cứu phát triển tạo ra những thuật toán rất hiệu quả làm cho máy tính “hiểu” được nội dung của ảnh. Chúng ta hoàn toàn có thể xây dựng một thuật toán tốt hơn

để trích chọn được những đặc điểm đặc trưng khác như màu sắc, kết cấu, hình dạng của đối tượng ảnh để phát triển cho bài toán nhận dạng vật thể.

o Thuật toán resample trong chương trình sử dụng phương pháp đơn giản nhất để thực hiện nội suy, nếu sử dụng các thuật toán cho độ chính xác cao hơn thì chắc chắn sẽ cải thiện đáng kể chất lượng chương trình.

o Sử dụng các phương pháp làm giảm số chiều của véc tơ đặc trưng sẽ

làm tăng đáng kể tốc độ tra cứu. Đối với các hệ thống máy tính có trang bị

nhiều bộ vi xử lý hoặc có bộ xủ lý lõi kép thì có thể xây dựng các thuật toán cho phép phân phối các tác vụ cho nhiều vi xử lý đồng thời cũng là một giải pháp tốt để tăng tốc độ tra cứu.

o Sử dụng các phương pháp tính toán độ tương tự phù hợp hơn cho từng loại đặc điểm để có được những kết quả so sánh gần với trực giác hơn.

KẾT LUẬN

Bản luận văn đã trình bày một vài kỹ thuật nền tảng của các hệ thống tra cứu

ảnh theo nội dung bao gồm mô tả nội dung trực quan, đánh giá độ tương tự, sơ đồ đánh chỉ số, giao tiếp với người sử dụngđánh giá hiệu năng hệ thống, trong đó nhấn mạnh vào các kỹ thuật mô tả các đặc điểm trực quan.

Các đặc điểm trực quan tổng quát được sử dụng nhiều nhất trong các hệ tra cứu ảnh theo nội dung là màu sắc, kết cấu, hình dạng và thông tin về không gian.

Màu sắc thường được biểu diễn thông quan histogram màu, sơ đồ tương quan màu, véc tơ gắn kết màu và các moment màu trong một không gian màu nhất định.

Kết cấu có thể được biểu diễn thông qua đặc điểm Tamura, phân tích Wold, mô hình SAR, biến đổi Gabor và biến đổi dạng sóng.

Hình dạng có thể biểu diễn thống qua các bất biến moment, các hàm xoay, mô tả Fourier, độ tròn, độ lệch tâm, hướng trục chính và cả biến đổi radon.

Các mối quan hệ không gian giữa các vùng hoặc đối tượng ảnh thường được biểu diễn bằng các chuỗi 2D.

Ngoài ra các đặc điểm trực quan của mỗi điểm ảnh lại có thểđược sử dụng để

phân tách mỗi ảnh thành các vùng đồng nhất hoặc các đối tượng ảnh. Các đặc điểm cục bộ của các vùng ảnh hoặc các đối tượng ảnh có thể dùng trong các hệ thống tra cứu ảnh theo vùng.

Có nhiều cách để đánh giá khoảng cách giữa các đặc điểm trực quan, một số

cách được sử dụng phổ biến như khoảng cách Minkowski, khoảng cách toàn phương, khoảng cách Mahalanobis, độ phân kỳ Kullback-Leibler và độ phân kỳ

Jeffrey. Đến thời điểm này thì phương pháp tính khoảng cách Minkowski và khoảng cách toàn phương được sử dụng rộng rãi nhất trong các hệ thống tra cứu ảnh.

Việc xây dựng được một sơ đồ đánh chỉ số các véc tơ đặc trưng một cách hiệu quả là điều rất quan trọng trong truy vấn ảnh. Để lập được sơ đồ đánh chỉ số trước hết phải tiến hành làm giảm số chiều của véc tơ đặc trưng. Một số phương pháp thường được sử dụng là PCA, ICA và biến đối KL hoặc sử dụng mạng nơ ron. Sau khi đã giảm số chiều của véc tơ đặc trưng thì tiến hành xây dựng cây chỉ số. Các cấu trúc cây chỉ số hay được sử dụng nhất là cây R, cây R*, cây toàn phương, cây K-d-B...

Hiệu quả của các hệ thống tra cứu ảnh dựa rất nhiều vào khả năng tương tác với người sử dụng. Nói một cách khác, kết quả tra cứu phải dựa trên những mô tả

truy vấn của người sử dụng. Trong khi đó các kết quả của truy vấn có thểđược hiệu chỉnh để có thể thu được nhiều kết quả phù hợp hơn dựa vào những phản hồi thích hợp của người sử dụng.

Mặc dù kỹ thuật tra cứu ảnh theo nội dung đưa ra được một giải pháp thông minh và tự động để tìm kiếm ảnh một cách hiệu quả thì vấn đề chính của kỹ thuật này vẫn chỉ dựa trên những đặc điểm ở mức thấp. Nói chung mỗi đặc điểm mức thấp này chỉ có thể phản ánh đựơc một khía cạnh nào đó của ảnh. Không có một đặc

điểm nào có thể phản ánh được ngữ nghĩa của một bức ảnh, kể cả khi sử dụng kết hợp nhiều đặc điểm.

Ngoài ra sự đánh giá độ tương tự giữa các đặc điểm trực quan lại chưa liên quan đến đặc điểm sinh lý về thị giác của con người. Người sử dụng thường quan tâm đến sự giống nhau về ngữ nghĩa nên kết quả truy vấn dựa trên các đặc điểm mức thấp thường không thoả mãn được yêu cầu và nói chung là khó đoán trước. Mặc dù phản hồi thích hợp là một cách để bù đắp vào những khoảng cách giữa tìm kiếm theo ngữ nghĩa và việc xử lý dữ liệu mức thấp nhưng vấn đề này vẫn tồn tại và cần phải có những kỹ thuật khác mới đáp ứng được.

Ngoài ra, người ta cũng có một số hướng tiếp cận mới nhằm giải quyết triệt để

hơn vấn đề ngữ nghĩa của ảnh trong việc tra cứu. (adsbygoogle = window.adsbygoogle || []).push({});

Phương pháp tra cứu ảnh theo bản thể và tra cứu ảnh theo đồ thị là hai trong số

những cách tiếp cận đó. Tuy nhiên kết quảđạt được vẫn còn nhiều hạn chế và việc xây dựng những hệ thống tra cứu ảnh thực sự hiểu được ngữ nghĩa thực của ảnh vẫn là một thách thức lớn đối với chúng ta.

Phần cuối của luận văn đã đưa ra một áp dụng cụ thể cho phương pháp tra cứu

ảnh theo nội dung.

Những vấn đềđã được giải quyết trong luận văn:

o Giới thiệu chi tiết phương pháp tra cứu ảnh theo nội dung.

o Sơ lược về cách đánh giá hiệu năng của một hệ thống tra cứu ảnh.

o Giới thiệu một số cách tiếp cận tra cứu ảnh theo ngữ nghĩa.

Một phần của tài liệu Nghiên cứu một số kỹ thuật tra cứu ảnh và ứng dụng vào bài toán kiểm chứng cổ vật (Trang 71)