BÀI TOÁN

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin nghiên cứu các đặc trưng về hình thái và màu sắc trong truy hồi ảnh (Trang 77 - 92)

Các vấn đề mà đề tài tập trung giải quyết:

 Xây dựng hệ thống truy vấn ảnh theo các đặc trưng sau:

 Lược đồ màu (Histogram);

 Vector liên kết màu (Color Coherence Vector);

 Lược đồ hệ số góc (Edge Direction Histogram);

 Vector liên kết hệ số góc (Edge Direction Coherence Vector);

 Tương quan màu (Correlogram);

 Theo toán tử BOOL.

3.2. PHÂN TÍCH, THIẾT KẾ CHƯƠNG TRÌNH

Khi người dùng có nhu cầu truy vấn những tấm ảnh có sự giống nhau về đặc trưng nào đó trong tòan tấm ảnh so với ảnh truy vấn thì người dùng có thể chọn chức năng truy vấn dựa vào sự phân bố tòan cục. Đây cũng là nền tảng cho các truy vấn cấp cao hơn về sau.

3.2.1 Các đặc trưng sử dụng cho chương trình 3.2.1.1 Đặc trưng lược đồ màu 3.2.1.1 Đặc trưng lược đồ màu

Màu sắc là thông tin gần gũi, trực quan với con người nhất. Qua đặc trưng màu sắc, có thể lọc được rất nhiều lớp ảnh thông qua vị trí, không gian, định lượng của màu trong ảnh. Ví dụ hai ảnh có lược đồ màu giống nhau:

Hình 3.2.1.1 minh họa 2 ảnh có lược đồ màu giống nhau 89%

3.2.1.2 Đặc trưng vector liên kết màu (Color CoherenceVector)

Cũng như đặc trưng lược đồ màu, đặc trưng vector liên kết màu là thông tin quan trọng trong ảnh. Nó thể hiện rõ ràng mật độ phân bố màu trong ảnh. Với 2 ảnh có thể rất giống nhau về lược đồ màu nhưng do khác nhau về sự phân bố màu sắc, nên trong quá trình tìm kiếm theo lược đồ màu có thể cho ra nhiều ảnh

“dư thừa”, khác nhau về ngữ nghĩa. Nếu trong quá trình tìm kiếm trên ta sử dụng vector liên kết màu thì sẽ khắc phục được tình trạng trên. Ví dụ hai ảnh có lược đồ vector liên kết màu giống nhau:

Hình 3.2.1.2 minh họa 2 ảnh có vector liên kết màu giống nhau 75%

3.2.1.3 Đặc trưng tự tương quan màu (AutoCorrelogram)

Đây cũng là đặc trưng cấp cao của ảnh. Nó thể hiện tính phân bố cục bộ về màu. Cũng giống như đặc trưng vector liên kết màu, đặc trưng này giúp ta có thể phân biệt được những ảnh có thể rất giống nhau về lược đồ màu khác nhau về ngữ nghĩa.Ví dụ hai ảnh có đặc trưng correlogram giống nhau:

Hình 3.2.1.3:minh họa 2 ảnh có đặc trưng Correlogram giống nhau 75%

3.2.1.4 Đặc trưng lược đồ hệ số góc (Edge DirectionHistogram)

Đây là cũng đặc trưng quan trọng của ảnh. Nó thể hiện về hình dáng của ảnh. Đối với các ảnh muốn tìm kiếm theo hình dáng thì đặc trưng về màu sắc không thể giải quyết được. Vì vậy trong các hệ tìm kiếm dựa vào nội dung của ảnh không thể thiếu đặc trưng này.Ví dụ hai ảnh có đặc trưng

lược đồ hệ số góc giống nhau

Hình 3.2.1.4 minh họa 2 ảnh có lược đồ hệ số góc giống nhau 88%

3.2.1.5 Đặc trưng Vector liên kết hệ số góc (Edge Direction Coherence Vector)

Cũng như đặc trưng lược đồ hệ số góc, đặc trưng vector liên kết hệ số góc là đặc trưng cấp cao của ảnh. Nó thể hiện rõ ràng hơn về hình dáng của ảnh. Ngòai ra nó còn thể hiện mối liên kết chặt chẽ giữa các điểm biên cạnh (các điểm biên cạnh có cùng góc độ), cũng như là những điểm không phải là biên cạnh.

Ví dụ hai ảnh có lược đồ vector liên kết hệ số góc giống nhau:

3.2.1.6 Giải thuật và các bước trong modun truy vấn ảnh dựa vào lược đồ màu:

Processing CBIR Using Color Histogram

Input image. Quantize RGB. Compute color histogram. Images Database. Quantize RGB. Compute color histogram. Compare color histogram.

Show candidate images(Out put image). (adsbygoogle = window.adsbygoogle || []).push({});

CBIR on color algorithm Tổng Quát :

Bước 1 : Chọn ảnh đầu vào và ngưỡng cần tìm.

Bước 2 : Kiểm tra tính hợp lệ của ảnh đầu vào, Kiểm tra tính hợp lệ của giá trị ngưỡng cần tìm. Nếu một trong hai điều kiện trên không thỏa mãn, quay lại bước 1.

Input Image(IM) + threshold per(TP)

(Chọn ảnh đầu vào IM và ngưỡng cần tìm) Check - Jpg, Gif, Bmp. (Kiểm tra tính hợp lệ của ảnh.) - Kiểm tra tính hợp lệ của giá trị ngưỡng cần No Yes RGBHistogramdata RGBImage = IM.ProcessBitmap

(Lấy thông tin đặc trưng của ảnh theo lượt đồ màu - RGBImage)

Function string laychuoianhhople() {

Int tylegiong;

String TenAnhHopLe;

For(String Imagefile in FolderImagesData) {

TyLeGiong =

Math.Round(bitmapcp.GetSimilarity(RGBImage,

new Bitmap(Imagefile)), 3); If (tylegiong >= TP)

{

TenAnhHopLe = TenAnhHopLe + RGBImage + “;”; }

}

Return TenAnhHopLe; }

Kết quả trả về là các ảnh được so sánh theo tiêu chí đưa ra. Bước 1

Bước 2

Bước 3

Bước 3 : Lấy thông tin đặc trưng của ảnh theo lượt đồ màu.

Bước 4 : Chạy vòng lặp lần lượt duyệt các file ảnh có trong thư mục ảnh cần tìm FolderImagesData và lấy thông tin ảnh đó(quay về bước 3). So sánh giữa các thông tin ảnh đã duyệt với thông tin ảnh đầu vào IM theo ngưỡng quy định.

ProcessBitmap(Duyệt và lấy thông tin từ ảnh)

Input Image(IM)

Function RGBdata ProcessBitmap(Bitmap IM) {

BitmapData bmpData = IM.LockBits(new Rectangle(0, 0, a.Width, a.Height), ImageLockMode.ReadOnly,

PixelFormat.Format24bppRgb); IntPtr ptr = bmpData.Scan0; RGBdata data = new RGBdata(); unsafe

{

byte* p = (byte*)(void*)ptr; (adsbygoogle = window.adsbygoogle || []).push({});

int offset = bmpData.Stride - a.Width * 3; int width = a.Width * 3;

for (int y = 0; y < a.Height; ++y) {

for (int x = 0; x < width; ++x) { data.r += p[0]; data.g += p[1]; data.b += p[2]; ++p; } p += offset; } } a.UnlockBits(bmpData); return data; }

GetSimilarity(So sánh và tìm điểm giống nhau giữa hai ảnh)

Input Images(IM1, IM2) Ảnh đầu vào là hai ảnh muốn so sánh

Function double GetSimilarity(Bitmap IM1, Bitmap IM2) {

RGBdata dataA = ProcessBitmap(a); RGBdata dataB = ProcessBitmap(b); double result = 0;

int averageA = 0; int averageB = 0; int maxA = 0; int maxB = 0;

maxA = ((a.Width * 3) * a.Height); maxB = ((b.Width * 3) * b.Height);

switch (dataA.GetLargest()) //Find dominant color to compare {

case 1: {

averageA = Math.Abs(dataA.r / maxA); averageB = Math.Abs(dataB.r / maxB); result = (averageA - averageB) / 2; break;

} case 2: {

averageA = Math.Abs(dataA.g / maxA); averageB = Math.Abs(dataB.g / maxB); result = (averageA - averageB) / 2; break;

} case 3: {

averageA = Math.Abs(dataA.b / maxA); averageB = Math.Abs(dataB.b / maxB); result = (averageA - averageB) / 2; break; } } result = Math.Abs((result + 100) / 100); if (result > 1.0) { result -= 1.0; }

3.2.2. Chức năng truy vấn ảnh

Chương trình khi hoàn tất dự kiến gồm 06 modul truy vấn ảnh riêng biệt gồm các đặc trưng như sau:

- Truy vấn dựa vào lược đồ màu (Histogram);

- Truy vấn dựa vào lược đồ hệ số góc (Edge Direction Histogram); - Truy vấn dựa vào Vector liên kết màu (Color Coherence Vector); - Truy vấn dựa vào Vector liên kết hệ số góc(Edge Direcrion Coherence

Vector);

- Truy vấn dựa vào Correlogram;

- Truy vấn dựa vào kết hợp các đặc trưng này lại với nhau dùng tóan tử BOOL.

3.3. CHƯƠNG TRÌNH TRUY VẤN ẢNH CBIR_IMAGE 1.0

Chương trình được viết trên nền Microsoft visual studio 2008 or 2010 vì vậy để chạy chương trình cần phải setup Microsoft visual studio 2008 or 2010. Đồng thời định dạng ảnh mà chương trình có thể tìm được là (*.jpg; *.jpeg; *.gif; *.bmp) với độ phân giải của ảnh là 640 *400.

Khi sử dụng các hệ truy vấn ảnh dựa vào nội dung, con người luôn mong muốn có thể thực hiện được dễ dàng, tương đối đầy đủ nội dung mà họ muốn tìm kiếm. Một cách truyền thống là họ chọn mộ t mà u n ào đó ho ặ c một ảnh truy vấn phù hợp với yêu cầu, tuy nhiên họ có thể không có sẵn bức ảnh truy vấn mà chỉ có một số ý niệm nào đó về bức ảnh (ví dụ họ cần tìm các bức ảnh có màu vàng hay màu đỏ, hoặc nhiều khi có được bức ảnh truy vấn nhưng họ chỉ muốn tìm các ảnh giống một số đối tượng nào đó trong ảnh. Chính vì vậy mà chương trình không cần xây dựng database ( chỉ mục ) cho việc lưu trữ ảnh. Chỉ cần chúng ta chọn đường dẫn đến thư mục lưu trữ ảnh, sau đó chúng ta truy vấn ảnh theo các kỹ thuật truy vấn khác nhau. Ưu điểm của việc này là chúng ta không tốn công sức cho việc xây dựng database (chỉ mục cho ản), tuy nhiên khuyết điểm của chương trình đó là việc truy vấn ảnh tốn nhiều thời gian và độ chính xác trong truy vấn ảnh không cao.

Đầu tiên chúng ta chọn thiết lập đường dẫn đến nơi lưu trữ hình ảnh, sau đó chúng ta “ cập nhật “ đường dẫn cho chương trình.

Hình 3.3c Cập nhật đường dẫn thành công

Sau đây chúng ta sẽ tiến hành truy vấn ảnh . Chương trình gồm có 02 phần truy vấn ảnh chính.

3.3.1. Truy vấn ảnh dựa theo lược đồ màu : 3.3.1.1 Truy vấn theo màu sắc 3.3.1.1 Truy vấn theo màu sắc (adsbygoogle = window.adsbygoogle || []).push({});

Ta chọn cần tìm những ảnh có màu xanh dương (mã màu là 0.0.255) ảnh cần truy vấn ( tức là tìm ảnh theo màu sắc ) như sau :

Kết quả của việc truy vấn ảnh theo màu xanh dương là không có ảnh nào có màu xanh dương trong thư viện ảnh Imagetest2.

Hình 3.3.1.1b Kết quả truy vấn ảnh theo màu xanh dương

Ta chọn cần tìm những ảnh có màu màu vàng (mã màu là 255.255.0) ảnh cần truy vấn ( tức là tìm ảnh theo màu sắc ) như sau :

Ta nhận thấy kết quả trả về là có 04 tấm ảnh chứa màu vàng trong thư viện anh imagetest2.

3.3.1.2 Truy vấn theo lược đồ màu histogram

- Ta tiếp tục chuyển qua truy vấn ảnh theo lược đồ màu histogram và chọn ảnh đồng thời ta chọn ngưỡng từ 1 đến 100 để việc truy vấn ảnh cho chính xác hơn

Hình 3.3.1.2a Kết quả truy vấn ảnh theo lược đồ histogram với ngưởng 70%

Kết quả trả về với tấm ảnh cần tìm là mặt trời hoàng hôn được 52 tấn ảnh. + Tiếp theo ta tăng ngưỡng lên 90%

Hình 3.3.1.2b Kết quả truy vấn ảnh theo lược đồ histogram với ngưởng 90%

Kết quả trả về với tấm ảnh cần tìm là mặt trời hoàng hôn được 32 tấn ảnh. + Tiếp theo ta tăng ngưỡng lên 100%

Hình 3.3.1.2c Kết quả truy vấn ảnh theo lược đồ histogram với ngưởng 100%

PHẦN KẾT LUẬN

Với s ố lượng dữ liệu ảnh đa dạng và phong phú trên Internet, nhu cầu về truy vấn ảnh để phục vụ cho công việc chuyên môn là rất cần thiết. Tuy những nghiên cứu về truy vấn ảnh đã được quan tâm từ lâu, nhưng lĩnh vực này vẫn còn nhiều vấn đề cần phải giải quyết nhất là đối với nước ta trong thời kỳ phát triển. Chính vì vấn đề đó tôi đã tiến hành nghiên cứu một kỹ thuật truy vấn ảnh theo màu sắc và tiến hành áp dụng thử nghiệm trên một kỹ thuật truy vấn ảnh bằng mà sắc và theo lược đồ histogram.

Các kết quả chính đạt được

- Tìm hiểu các kỹ thuật đặc trưng của ảnh như: + Các đặc trưng về màu sắc:

1./ Đặc trưng lược đồ màu (histogram);

2./ Đặc trưng Vector liên kết màu (Color Coherence Vector); 3./ Đặc trưng tự tương quan màu (AutoCorrelogram);

+ Các đặc trưng về hình thái.

1./ Đặc trưng lược đồ hệ số góc (Edge Direction Histogram); 2./ Đặc trưng Vector liên kết hệ số góc (Edge Direction Coherence Vector).

Đồng thời đưa ra mô hình truy vấn ảnh áp dụng thử nghiệm theo đặc trưng lược đồ màu (histogram) đã đề xuất. Mô hình truy vấn này quan tâm đến trạng thái mà sắc của ảnh. Do đó, những nghiên cứu này là rất hữu ích và nền tảng cho việc các nghiên cứu truy vấn ảnh cấp cao thêm. Đồng thời cũng tạo điều kiện để cho người dùng Việt Nam áp dụng vào công việc chuyên môn.

Tiến hành thử nghiệm mô hình với hơn 100 ảnh trong thư viện ảnh để truy vấn. Kết quả của mô hình là khả quan đối với áp dụng thử nghiệm theo đặc trưng lược đồ màu (histogram). Độ chính xác của áp dụng thử nghiệm

theo đặc trưng lược đồ màu (histogram) cao. Từ những kết quả ban đầu đó cho thấy tính đúng đắn của mô hình.

Một số vấn đề cần tiếp tục giải quyết

Tuy mô hình đã bước đầu đạt được một số kết quả khả quan trên tập dữ liệu ảnh đã thử nghiệm, nhưng đối với các truy vấn cấp cao thì chưa áp dụng vào.

Hơn nữa, vấn đề thời gian trong truy vấn ảnh cũng cần được quan tâm khi thư viện ảnh của hệ thống được mở rộng. Cần có một giải pháp thích hợp để vừa có thể lưu trữ được dữ liệu cho càng nhiều câu truy vấn càng tốt, vừa có thể thực hiện xếp hạng lại cho tất cả các câu truy vấn này.

Hướng nghiên cứu tiếp theo

Trong thời gian tới, ngoài việc tiếp tục giải quyết các vấn đề còn tồn tại, tôi định hướng một số nghiên cứu tiếp theo:

- Truy vấn ảnh dựa theo theo vùng, đối. Ảnh gồm tập hợp các vùng hay còn gọi là vần. Đây là đặc trưng cấp cao của ảnh. Với đặc trưng vùng sẽ giúp cho chúng ta có thể giải quyết được một vấn đề lớn đang cản trở bước phát triển việc truy tìm ảnh dựa vào nội dung là dữ liệu nhập chưa được mô phỏng gần gũi hơn với suy nghĩ của con người và ảnh tìm được có thể mang nội dung ngữ nghĩa rất khác so với ảnh truy vấn.

- Với đặc trưng vùng con người có thể tiến thêm một bước trong việc truy tìm ảnh dựa vào nội dung là tìm kiếm dựa vào ngữ nghĩa. Với việc áp dụng mô hình học vào bài toán vùng. Khi đó, mỗi vùng sẽ mang một ngữ nghĩa, từ đó làm cho dữ liệu đầu vào được mô phỏng gần gũi với con người hơn. (adsbygoogle = window.adsbygoogle || []).push({});

- Quá trình phân đoạn vùng của ảnh đòi hỏi phải tốn nhiều thời gian, do đó khi tìm kiếm trên một cơ sở dữ liệu ảnh lớn thì vấn đề thời gian là một trong những vấn đề gây khó khăn cho bài toán, do đó cần phải có biện pháp tổ chức cơ sở dữ liệu hiệu quả giúp cho việc tìm kiếm được nhanh hơn, hiệu quả hơn;

- Truy vấn theo ngữ nghĩa dẫn đến một khả năng truy tìm mới là dựa vào câu truy vấn dạng ngôn ngữ, liên kết giữa các vùng đại diện theo một lý luận để truy tìm ảnhTrong từng nhóm ảnh đã được phân loại bằng tay, trích ra các vùng đặc thù cho nhóm ảnh để khi truy vấn ta có thể diễn dịch từ ngôn ngữ sang vần ảnh. Ví dụ như tìm cảnh bãi biển lúc bình minh, thì liên kết nhóm từ bãi biển với vùng đại diện cho bãi biển và liên kết nhóm từ bình minh với vùng đại diện cho bình minh. Đây có thể xem là hướng truy tìm ảnh theo phương pháp mới. Với phương pháp này ta có thể truy tìm ảnh chỉ bằng những câu chữ mà không cần hình ảnh có sẵn. Việc tìm kiếm này đem đến sự tiện dụng cho người dùng;

- Kết hợp các chức năng màu sắc, vân, hình dạng lại với nhau để giúp việc tìm kiếm được hiệu quả hơn. Sự kết hợp giữa các chức năng này với nhau sẽ mang lại kết quả khả quan hơn nhiều, vì nó làm tăng khả năng tìm kết quả chính xác, theo như mong muốn;

Ngoài ra còn có một vấn đề lớn đó chính là truy vấn ảnh động ( phim ảnh ). Đây cũng là một lĩnh vực rất được quan tân trong nước và trên thế giới. Điều khác biệt giữa ảnh tĩnh và ảnh động đó chính là dung lượng. Chính phần dung lượng đã ảnh hưởng đến thời gian truy vấn ảnh cũng như tiêu tốn chi phí cho phần cứng để quản lý và lưu trữ ảnh tĩnh.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin nghiên cứu các đặc trưng về hình thái và màu sắc trong truy hồi ảnh (Trang 77 - 92)