Cũng giống như vector liên kết màu, đặc trưng tương quan màu cũng thể hiện sự phân bố màu sắc của ảnh. Nó thể hiện rõ ràng mật độ phân bố màu trong ảnh hơn. Đặc trưng này cũng nhằm giúp giải quyết việc dư thừa trong truy vấn ảnh, giúp truy vấn những ảnh có ngữ nghĩa gần với ảnh truy vấn hơn nhờ các tính chất sau:
Bao gồm các thông tin về sự tương quan về mặt không gian giữa các màu. Có thể được dùng để mô tả sự phân bố toàn cục của mối quan hệ không gian cục bộ giữa các màu. Kích thước của véctơ đặc trưng có dung lượng lưu trữ nhỏ.
Độ đo tính tương tự về màu sắc giữa đặc trưng tương quan màu của ảnh truy vấn IQ và ảnh trong cơ sở dữ liệu ảnh ID:
∑ ∑
N: là tổng số bin màu.
2.1.2 Truy vấn theo hình thái :
2.1.2.1. Truy vấn theo lược đồ hệ số góc (Edge Direction Histogram)
Đây cũng là đặ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 truy vấn 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ệ truy vấn dựa vào nội dung của ảnh không thể thiếu đặc trưng này.
Độ đo tính tương tự về đặc trưng lược đồ hệ số góc của ảnh truy vấn IQ và ảnh ID trong cơ sở dữ liệu là:
∑
Trong đó: n: 73 phần tử
2.1.2.2. Truy vấn theo vector liên kết hệ số góc :
Cũng như đặc trưng lược đồ hệ số góc, vectơ liên kết hệ số góc là đặc trưng về hình dáng của ảnh. Nó thể hiện rõ ràng hơn về hình dáng của ảnh: 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. Vectơ liên kết hệ số góc còn có thể khắc phục được khuyết điểm của lược đồ hệ số góc đó là: 2 ảnh có lược đồ hệ số góc giống nhau nhưng khác nhau về ngữ nghĩa. Việc truy vấn theo đặc trưng vector liên kết hệ số góc giúp cho kết quả chính xác hơn, ảnh tìm được mang ngữ nghĩa gần ảnh truy vấn hơn.
Với mỗi ô chứa (bin) giả sử số điểm liên kết hệ số góc là α và số điểm không liên kết hệ số góc là β thì vectơ liên kết hệ số góc được xác định: VE=[(α1,β1),(α2,β2),..,(αn,βn)], n là số bin
Độ đo tính tương tự giữa 2 ảnh dựa trên đặc trưng vectơ liên kết hệ số góc:
( ) ∑
Việc chọn đặc trưng vectơ liên kết hệ số góc cho việc truy vấn, giúp ta có thể phân biệt ảnh thiên nhiên và ảnh thành phố. Ảnh thành phố có khuynh hướng tạo các điểm liên kết hệ số góc theo hướng ngang dọc. Ảnh thiên nhiên có khuynh hướng ít tạo các điểm liên kết hệ số góc theo hướng ngang dọc. Vì vậy nó là đặc trưng có ưu điểm hơn lược đồ hệ số góc đối với việc phân lớp ảnh thiên nhiên và thành phố
2.1.3. Truy vấn kết hợp
Thông thường truy vấn theo từng đặc trưng có thể cho ra kết quả khá nhiều, xuất hiện những tấm ảnh không cần thiết nên để nâng cao hiệu quả của việc truy vấn, làm cho việc truy vấn được chính xác hơn thì chúng ta nên kết hợp các đặc trưng lại với nhau. Giả sử khi ta muốn truy vấn “một ngừơi mặc áo màu vàng và dáng đứng thẳng thì ta có thể kết hợp 2 đặc trưng màu và lược đồ hệ số góc lại với nhau thì sẽ loại bỏ đi những tấm ảnh có người đó mà không có dáng đứng thẳng”.
Có 2 cách truy vấn kết hợp: truy vấn kết hợp các đặc trưng với nhau dùng toán tử BOOL; truy vấn kết hợp các đặc trưng với nhau dùng trọng số.
2.1.3.1 Truy vấn kết hợp các đặc trưng với nhau dùng toán tử BOOL :
Đây là truy vấn kết hợp các đặc trưng lại với nhau dùng toán tử BOOL. Ví dụ tìm những ảnh có người mặc áo màu vàng và dáng đứng thẳng dùng toán tử AND nghĩa là: tìm những tấm ảnh sao cho vừa thoả đặc trưng về màu sắc vừa thoả đặc trưng về hình dáng cần tìm.
Hình 2.1.3.1 minh họa 2 ảnh giống nhau về lược đồmàu và lược đồ hệ số góc
Nhận xét: Cách truy vấn này có thể cho ra kết quả rỗng, nghĩa là không có ảnh nào trong cơ sở dữ liệu thoả yêu cầu truy vấn. Nhưng nếu tồn tại ảnh thì phương pháp này cho ra kết quả chính xác hơn.
2.1.3.2 Truy vấn kết hợp các đặc trưng với nhau dùng trọng số :
Đây cũng là phương pháp truy vấn kết hợp các đặc trưng lại với nhau nhưng khác trên là ở đây ta dùng trọng số. Trọng số ở đây được hiểu là mức độ ưu tiên của các đặc trưng cần truy vấn. Ví dụ người dùng cần truy vấn những tấm ảnh có người mặc áo màu vàng và có dáng đứng thẳng thì người dùng có thể kết hợp 2 đặc trưng lược đồ màu (Histogram) và lược đồ hệ số góc (Edge Direction Histogram) lại với nhau. Nhưng ở đây khác với việc kết hợp dùng toán tử BOOL là người dùng muốn ưu tiên cho lược đồ màu hơn thì người dùng có thể chọn độ ưu tiên cho lược đồ màu là 70% còn lược đồ hệ số góc chỉ có 30% thôi. Khi đó việc truy vấn sẽ trả ra kết quả thoả mản yêu cầu truy vấn.
Công thức tính độ đo giữa 2 ảnh:
d ( I Q , I D ) = w1 d1 ( I Q , I D ) + w2 d 2 ( I Q , I D ) + ... + wn d n ( I Q , I D )
Trong đó:
- w1,w2,…,wn là trọng số các đặc trưng tương ứng. w1 + w2 + … + wn=1.
- d1,d2,…,dn: là khoảng cách giữa 2 ảnh về đặc trưng i nào đó i [1,..,n].
trọng số này luôn trả ra kết quả cho người dùng. Việc truy vấn này giúp cho chúng ta có thể sắp hạng tập kết quả dễ dàng, cũng như giúp cho người dùng có thể xem tập kết quả nhanh chóng và hiệu quả hơn.
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM
3.1. BÀI TOÁN
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).
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;
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
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