Truy vấn biểu diễn quan hệ trong IDB

Một phần của tài liệu Cấu trúc dữ liệu đa phương tiện và mô hình cơ sở dữ liệu hình ảnh (Trang 72)

Nếu dữ liệu ảnh đƣợc lƣu trữ trong khuôn mẫu quan hệ, thì phải có khả năng sử dụng SQL để truy vấn trực tiếp các quan hệ này. Hãy xem xét thí dụ truy vấn đơn giản sau “Tìm các ảnh có Jim Hatch” và khảo sát tại sao áp dụng thẳng SQL là không thích hợp. Truy vấn này có thể viết nhƣ sau đây:

SELECT image

FROM images I, name N WHERE I.objid=N.objid AND

N.name = “Jim Hatch”

Không may là truy vấn trên đây không thực hiện đầy đủ nhƣ mong muốn. Trong hầu hết các ứng dụng cỡ lớn, việc suy luận ra nội dung ảnh thƣờng đƣợc thực hiện bởi các giải thuật xử lý ảnh nhƣ đã mô tả tóm tắt trong các phần trƣớc. Cho đến bây giờ, ta chú ý rằng, các giải thuật xử lý ảnh thông thƣờng chỉ đúng đắn một phần. Nhƣ vậy nếu đặc tính NAME kết hợp với ảnh mà đƣợc xác định bởi chƣơng trình xử lý ảnh, thì ta còn phải giả sử rằng các quan hệ này chứa các thuộc tính xác suất.

Để khái quát, ta cho rằng mỗi đối tƣợng có giá trị kết hợp với các đặc tính pProp. Nhƣ vậy, mỗi quan hệ Rp kết hợp với đặc tính mức đối tƣợng/vùng cũng nhƣ các đặc tính mức ảnh chỉ có hai thuộc tính: id của đối tƣợng (vùng) và giá trị cho đặc tính. Do vậy, khi trở lại thí dụ trong hình 3.1 thì quan hệ NAME sẽ có khuôn dạng sau (Bảng 3.5):

ObjiId Name O1 Jim Hatch O2 John Lee O3 John Lee

O4 Jim Hatch O5 Bill Bosco O6 Dave Dashell O7 Ken Yip O8 Bill Bosco O9 Ken Yip Bảng 3.5

Sự cần thiết của xác suất

Một chƣơng trình xử lý ảnh mà đang cố gắng nhận dạng con ngƣời trong các ảnh theo dõi, có thể cho lại nhiều câu trả lời với xác suất khớp ảnh (match) khác nhau. Thí dụ, hai đối tƣợng ảnh đƣợc nhận dạng là “ Jim Hatch” có thể có một vài thuộc tính xác suất kết hợp với khớp ảnh. Do vậy, quan hệ name cần đƣợc mở rộng để chứa thuộc tính xác suất này.

ObjId Name Prop

O1 Jim Hatch 0.8 O1 Dave Fox 0.2 O2 John Lee 0.75 O2 Ken Yip 0.15 O3 John Lee 1 O4 Jim Hatch 1 O5 Bill Bosco 1 O6 Dave Dashell 1 O7 Ken Yip 0.7 O7 John Lee 0.3 O8 Bill Bosco 0.6 O8 Dave Dashell 0.2 O8 Jim Hatch 0.10 O9 Ken Yip 1 Bảng 3.6

Chú ý rằng quan hệ xác suất trên đây cho thấy rằng các bộ (tuples) đã đƣợc gắn các giá trị xác suất. Có thể đọc các bộ trong quan hệ trên đây nhƣ sau: Với bộ thứ nhất:

Xác suất mà Jim Hatch là thuộc tính tên của o1 là 0.8 Với đối tƣợng o2:

Xác suất mà John Lee là thuộc tính tên của o2 là 0,75 Xác suất mà Ken Yip là thuộc tính tên của o2 là 0,15. Trong trƣờng hợp này thiếu 10% xác suất

Hãy xem xét truy vấn phức tạp hơn, thí dụ dƣới dạng “ Tìm ảnh chứa cả Jim Hatch và Ken Yip”. Trong trƣờng hợp này, có hai ảnh là ứng viên kết quả: pic1.gif và pic6.gif. Tại sao lại cả hai ứng viên ?

1. Ảnh pic1.gif có hai đối tƣợng o1 và o2. có khoảng 80% xác suất o1 là Jim Hatch và 15% xác suất o2 là Ken Yip. Do vậy ảnh này có thể là ứng viên.

2. Ảnh pic6.gif có hai đối tƣợng o7 và o8, có khoảng 70% xác suất o7 là Ken Yip và 10% xác suất o8 là Jim Hatch. Do vậy ảnh này có thể là ứng viên.

Các câu hỏi đặt ra bây giờ là”

1. Tìm xác suất của pic1.gif chứa cả Jim Hatch và Ken Yip ? câu trả lời có phải là tích của hai xác suất 0.8x0.15 = 0.12?

2. Tìm xác suất của pic6.gif chứa cả Jim Hatch và Ken Yip? Câu trả lời có phải là tích của hai xác suất 0,7x0,1=0.07?

Giả sử rằng câu trả lời cho các câu hỏi là đúng. Nhƣng vấn đề không phải đơn giản nhƣ vậy. Hãy khảo sát ảnh pic8.gif với hai đối tƣợng o10 và o11, bảng 3.7 trên đây đƣợc mở rộng bằng chèn thêm hai bộ đƣợc biết từ giải thuật xử lý ảnh nhƣ sau:

ObjId Name Prop O10 Ken Yip 0.5 O10 Jim Hatch 0.4 O11 Hatch 0.8 O11 John Lee 0.1 Bảng 3.7

Nếu chúng ta không biết về sự phụ thuộc của các kết quả khác nhau( nhƣ trƣờng hợp trên đây) thì ta phải đối mặt với 4 khả năng sau:

Khả năng 1: o10 là Ken Yip và o11 là Jim Hatch.

Khả năng 2: o10 là Ken Yip và o11 không phải là Jim Hatch

Khả năng 3: o10 không phảilà Ken Yip nhƣng o11 là Jim Hatch

Khả năng 4: o10 không phảilà Ken Yip và o11 không phải là Jim Hatch

Sử dụng dữ liệu xác suất trong bảng trên ta có thể ƣớc lƣợng bốn khả năng liệt kê trên đây và tìm ra xác suấ cho mỗi khả năng này: Vì các khả năng từ 1 đến 4 là không tƣơng thích nhau, xác suất mà pic8,gif là câu trả lời truy vấn giống với tổng các xác suất của khả năng 1.

Gọi pi là xác suất của khả năng i, 1i4. Sau đó ta có thể phát biểu: p1+ p2=0.5

p3+ p4=0.5 p1+ p3=0.5 p2+ p4=0.5 p1+ p2+ p3+ p4=1 (adsbygoogle = window.adsbygoogle || []).push({});

Phƣơng trình thứ nhất từ sự thật rằng o10 là Ken Yip theo khả năng 1 và 2, và từ bảng ta có xác suất của o10 (là Ken Yip) là 0.5.

Phƣơng trình thứ 2 từ sự thật rằng o10 là ai đó không phải là Ken Yip theo các khả năng 3 và 4 và từ bảng trên ta biết rằng xác suất của o11 (không phải là Ken Yip) là 0.5.

Phƣơng trình thứ 3 tự sự thật rằng o10 là Jim Hatch theo các khả năng 1 và 3 và từ bảng trên ta biết rằng xác suất của o11(là Jim Hatch) là 0.8

Cuối cùng, phƣơng trình thứ 4 từ sự thật rằng o11 là ai đó không phải là Jim Hatch theo các khả năng 2 và 4, và từ bảng trên dẫn tới xác suất của o11(không phải là Jim Hatch) là 0.2.

Để xác định đƣợc xác suất mà pic8.gif chứa cả Ken YipJim Hatch, chúng ta phải giải hệ phƣơng trình tuyến tính trên để có p1, chú ý rằng mọi kịch bản xảy ra đều bị ảnh hƣởng bởi 4 khả năng. Kết quả thu đƣợc cho thấy xác suất của p1 là

không duy nhất. Nó có thể nhỏ hơn 0.3 hay lớn hơn 0.5 hay giá trị nào đó giữa chúng. Cụ thể, khi nhân đơn thuần xác suất 0.5 kết hợp với Ken Yip(đối tƣợng o10) và xác suất 0.8 của Jim Hatch(đối tƣợng o11) ta có xác suất 0.4.

Kết quả này mặc dù là đúng nhƣng nó đặt ra vấn đề mới cơ bản. Trong mô hình quan hệ, câu trả lời của bất kỳ truy vấn nào đều có thể lƣu trữ nhƣ quan hệ. Trong trƣờng hợp các quan hệ với các thuộc tính xác suất, các kết quả truy vấn là đƣợc mong muốn là các quan hệ xác suất. Tuy nhiên, quan hệ xác suất có một thuộc tính xác suất để vào truy vấn, nhƣng kết quả lại cho khoảng xác suất, thí dụ [0.3, 0.5] nhƣ suy diễn trên đây.

Thí dụ trên đây cho thấy rằng nếu muốn lƣu trữ thông tin dƣới dạng “Đối tƣợng o hiện diện trong ảnh i là X với xác suất p” thì sẽ gặp khó khăn. Ngƣợc lại, thay thế xác suất điểm bởi khoảng [l,u] cho phép giải quyết đƣợc vấn đề này. Quan điểm này cũng có lợi thế khác. Khi chƣơng trình xử lý ảnh nhận ra đối tƣợng o trong ảnh i là X với xác suất p, thì nếu để ý đến sự tồn tại biên lỗi  trong nhận dạng này, cuối cùng cũng có đƣợc xác suất khoảng [p-, p+].

Tổng quát, quan sát lại bảng kết hợp xác suất của quan hệ name trên đây, mở rộng nó bằng bổ sung pic8.gif và giả sử rằng biên lỗi là 3%. Vậy, nếu có xác suất p trong bảng thì thay thế xác suất này bởi khoảng [max(0,p-0.0.3), min(1, p+0.03)] để có đƣợc bảng 3.8 nhƣ sau:

ObjiId Name Prop(Lower Prop(Upper)

O1 Jim Hatch 0.8 0.83 O1 Dave Fox 0.2 0.23 O2 John Lee 0.75 0.78 O2 Ken Yip 0.15 0.18 O3 John Lee 1 1.00 O4 Jim Hatch 1 1.00 O5 Bill Bosco 1 1.00 O6 Dave Dashell 1 1.00

O7 Ken Yip 0.7 0.73 O7 John Lee 0.3 0.33 O8 Bill Bosco 0.6 0.63 O8 Dave Dashell 0.2 0.23 O8 Jim Hatch 0.10 0.13 O9 Ken Yip 1 1.00 O10 Ken Yip 0.5 0.53 O10 Jim Hatch 0.4 0.43 O11 Hatch 0.8 0.83 O11 John Lee 0.1 0.13 Bảng 3.8

Hãy quay trở lại câu truy vấn “Tìm ảnh chứa cả Ken Yip và Jim Hatch”. Hãy xem xét lại ảnh pic8.gif và thấy đƣợc xác suất của ảnh chứa cả Ken Yip và Jim Hatch. Trong trƣờng hợp này, sử dụng cả suy diễn và chú giải nhƣ đã làm cho xác suất khoảng,có thể viết ra các ràng buộc:

1/ 0.47p1+p20.53 2/ 0.47p3+p40.53 3/ 0.77p1+p30.83 4/ 0.17p2+p40.23 5/ p1+p2+p3+p4 =1

Quan sát bất đẳng thức 3 và 4 trên đây. Bất đẳng thức 3 suy diễn từ tri thức Jim Hatch là đối tƣợng o11 với xác suất giữa 77 và 83%. Trong trƣờng hợp xác suất điểm, có hai khả năng (khả năng 1 và 3) trong đó đối tƣợng o11 đúng là Jim Hatch. Do đó p1+p2 phải ở trong khoảng 77-83%.

Bất đẳng thức thứ 4 đƣợc suy diễn từ tri thức rằng đối tƣợng o11 là ai đó không phải là Jim Hatch với xác suất 17-23% vì 100-83=17 và đối tƣợng o11 không phải là Jim Hatch. Do đó, p2+p2 phải nằm trong khoảng 17-23%.

Giải phƣơng trình tuyến tính trên đây cho giá trị cực tiểu và cực đại của biến p1 là: 0.24 và 0.53.

Xác định quan hệ xác suất lƣợc đồ (A1,…An) là quan hệ thông thƣờng trên lƣợc đồ (A1,…An, LB, UB) trong đó miền của thuộc tính UB và LB là các số thực trong khoảng đơn vị [0,1]. Thí dụ quan hệ name là quan hệ xác suất có ba thuộc tính:

(ImagId, ObjectId, Name)

Quan hệ Name thoả mãn một vài ràng buộc toàn vẹn: (t1, t2) t1.ObjId=t2.ObjId ->t1.ImageId=t2. ImageId

Ràng buộc này cho biết một ObectId chỉ kết hợp với một ảnh, có nghĩa rằng ảnh khác nhau có ObjectId khác nhau. Ràng buộc sau đây cho thấy trƣờng LB của bộ bất kỳ luôn nhỏ hơn hay bằng trƣờng UB.

(t) t.LBUB

Một CSDL ảnh bao gồm quan hệ xác suất gọi là Name của khuôn dạng nói trên, cùng với tập quan hệ thông thƣờng(không xác suất) R1,…Rk tƣơng ứng với đặc tính ảnh.

Truy vấn thành viên trong CSDL ảnh là truy vấn có hình thức “ Tìm ảnh trong CSDL ảnh mà chứa các đối tượng có tên s1,..sn”. Truy vấn này đƣợc biểu diễn trong SQL thông thƣờng nhƣ sau:

SELECT ImageId FROM name T1,…, Tn

WHERE T1.Name=s1AND…ANDTn.Name=snAND

T1.ImageId=T2.ImageId AND… AND T2ImageId= Tn. ImageId Kết quả của truy vấn thành viên là bảng chứa 3 trƣờng: ImageId, LB và UB. (im,l,u) trong kết quả nếu với mỗi 1jn, tồn tại bộ tjname nhƣ sau:

t.ImageId=im,

t.LB=li và t.UB=uivà

[l,u]= [l1,u1] [l2,u2]…[ln,un] trong đó: (adsbygoogle = window.adsbygoogle || []).push({});

Sau một loạt suy diễn, toán tử  cho lại cùng kết quả nhƣ giải chƣơng trình tuyến tính mô tả trƣớc đây. Do vậy, CSDL ảnh phải có cài đặt toán tử .

Việc tăng cƣờng SQL để giải quyết vấn đề trên là đƣa thêm toán tử đặc biệt gọi là HAS. Để tìm mọi ảnh chứa các đối tƣợng tên s1,..sn, ta chỉ đơn thuần viết truy vấn

name HAS s1,..,sn

Ngữ nghĩa của cấu trúc đặc biệt này đƣợc hiện thực thông qua truy vấn SQL phức tạp hơn nhƣ đã mô tả trên.

Cú pháp của SQL thông thƣờng có thể mở rộng để cho phép các điều kiện theo khuôn dạng

name HAS s1,…, sn

nhƣ một phần của câu lệnh WHERE. Thí dụ, truy vấn dƣới đây sử dụng quan hệ bank (bank là bảng thí dụ các thuộc tính FNAME, LNAME, ACCTYPE, TRANS, AMOUT, DAY, MTH, YR) và HAS để “ Tìm mọi người đã gửi 9000USD và đã chụp ảnh với Denis Jones”.

SELECT I.ImageID FROM name i, bank B

WHERE I HAS B.name, “Denis Jones” AND

B.trans=depóit AND B.amount>9000 AND B.name=I.name

Một phần của tài liệu Cấu trúc dữ liệu đa phương tiện và mô hình cơ sở dữ liệu hình ảnh (Trang 72)