Biểu diễn CSDL ảnh với R-Trees

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 79)

CSDL ảnh là có thể đƣợc biểu diễn nhƣ cây R. Nếu quan sát mọi thí dụ cho đến thời điểm này, ta thấy rằng các đối tƣợng thƣờng đƣợc biểu diễn bởi chữ nhật. Do vậy CSDL ảnh có thể biểu diễn nhƣ sau:

1. Tạo ra quan hệ gọi là occursin với hai thuộc tính (ImageId, ObjId) để xác định đối tƣợng nào trong ảnh nào.

2. Tạo ra cây R để lƣu trữ các chữ nhật. Nếu cùng chữ nhật (thí dụ XLB=5, XUB =15, YLB=20 và YUB=30) nằm trong hai ảnh, thí ta có danh sách tràn kết hợp với nút trong cây R.

3. Mỗi chữ nhật có tập trƣờng kết hợp để chỉ ra đặc tính mức đối tƣợng/vùng của chữ nhật. Các trƣờng này chứa thông tin về “ nội dung” chữ nhật..

Để thấy rõ cách biểu diễn này hoạt động ra sao, ta mô tả CSDL mặt ngƣời trong hình 3.1 đƣợc lƣu trữ nhƣ thế nào nhờ kỹ thuật cây R.

Trƣớc hết quan hệ occursin đƣợc mô tả trong bảng 3.9 sau: Pic1.gif 01 Pic1.gif 02 Pic2.gif 03 Pic3.gif 04 Pic4.gif 05 Pic5.gif 06 Pic6.gif 07 Pic6.gif 08 Pic7.gif 09 Bảng 3.9

Các nút trong biểu diễn cây R kết hợp với CSDL có cấu trúc nhƣ sau: facenode=record

Rec1, Rec2, Rec3: rectangle; P1, P2, P3: rtnodetype end

rectangle=record

XLB, XUL, YLB, YUB: interger; objlist: objnode;

day, mth, yr: interger; camera_type: string;

other_info: data_record;(*lƣu trữ thông tin về chữ nhật*) place:string

end

objid:string;

data: infotype(*Lƣu trữ thông tin tuỳ ý về đối tƣợng *) nxt: objnode

end

infoype=record

objname: string;

objdata: objdata_record;

Lp, Up: real; (*Biên trên, dƣới của xác suất*) Next: infotype

end

Trong định nghĩa của objnode trên đây, Lp và Up ký hiệu biên trên và biên dƣới của xác suất mà sự nhận diện này là đúng.

Khi xem xét CSDL ảnh đơn giản đã mô tả ở đầu chƣơng, chỉ bao gồm các ảnh pic1.gif, pic2.gif và pic3.gif trong hình 3.1. Giả sử các ảnh này chứa đối tƣợng o1, o2, o3 và o4 với khoảng xác suất chỉ ra trên đây trong phiên bản xác suất khoảng của quan hệ name. Hình 3.12 cho thấy cây R đƣợc sử dụng để biểu diễn ba ảnh này và bốn đối tƣợng trên đó. Cây R trên hình 3.12 đƣợc xây dựng theo các bƣớc:

1. Lấy chữ nhật: Trƣớc hết ta xây dựng bảng (Bảng 3.10) con mô tả các chữ nhật và ảnh. Hình 3.13 chỉ ra bốn chữ nhật o1, o2, o3 và o4. Chú ý rằng mặc dù các

chữ nhật này có đƣợc từ các ảnh khác nhau, chúng có thể chồng chúng lên trong cùng một ảnh.

2. Tạo ra cây R: Tạo cây R biểu diễn các chữ nhật trên (hình 3.12). Tại bƣớc này các nút đối tƣợng trong cây R vẫn chƣa đƣợc làm đầy.

ObjId Image XLB XUB YLB YUB

01 Pic1.gif 10 60 5 50

02 Pic1.gif 80 120 20 55

03 Pic2.gif 20 65 20 75

04 Pic3.gif 25 75 10 60 (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3.10

3. Bổ sung đối tượng: Chúng ta bổ sung đối tƣợng và làm đầy các trƣờng tƣơng ứng của đối tƣợng khác nhau trong cây R. Hình 3.14 chỉ ra nội dung của các nút khác nhau khi đối tƣợng mới đƣợc bổ sung vào hệ thống, và đối tƣợng mới này cùng các trƣờng XLB, XUB, YLB và YUB nhƣ đối tƣợng o1. Chỉ có một sự khác biệt giữa đối tƣợng o1 và đối tƣợng mới o là ở chỗ đối tƣợng mới o xuất hiện trong ảnh khác.[17,14]

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 79)