ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THÚY NGA
TÌM KIẾM ĐỐI TƯỢNG VÙNG
TRONG GIS VÉC TƠ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2017
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THÚY NGA
TÌM KIẾM ĐỐI TƯỢNG VÙNG TRONG GIS VÉC TƠ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS ĐẶNG VĂN ĐỨC
THÁI NGUYÊN - 2017
i
LỜI CAM ĐOAN
Tôi xin cam đoan tất cả các nội dung của luận văn này hoàn toàn được
hình thành và phát triển từ quan điểm của chính cá nhân tôi, dưới sự hướng
dẫn chỉ bảo của PGS.TS Đặng Văn Đức. Các số liệu kết quả có được trong
luận văn tốt nghiệp là hoàn toàn trung thực.
Học viên
Nguyễn Thị Thúy Nga
ii
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS.ĐặngVăn Đức, Viện Công
nghệ thông tin – Viện Hàn lâm Khoa học và Công nghệ Việt Nam,Thầy đã tận
tình chỉ bảo giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn.
Xin chân thành cảm ơn quý Thầy Cô và cán bộ nhân viên Phòng Đào
Trường Đại học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên
đã nhiệt tình giảng dạy, trang bị cho tôi những kiến thức quý báu và giúp đỡ về
mọi mặt trong suốt thời gian học tập tại trường.
Xin cảm ơn các bạn cùng lớp và đồng nghiệp nơi tôi công tác đã tạo
điều kiện cho tôi hoàn thành luận văn này.
Xin gửi lời cảm ơn tới gia đình tôi đã động viên tôi trong suốt quá trình
học tập và hoàn thành luận văn.
iii
MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
MỤC LỤC ........................................................................................................ iii
MỤC CÁC HÌNH VẼ, ĐỒ THỊ ....................................................................... iv
MỞ ĐẦU ........................................................................................................... 1
CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG TÌM KIẾM NỘI DUNG VÀ
DỮ LIỆU KHÔNG GIAN VECTƠ .................................................................. 4
1.1.Mô hình tổng quát hệ thống tìm kiếm trên cơ sở nội dung ......................... 5
1.2. Biểu diễn và cấu trúc dữ liệu không gian vectơ ...................................... 11
CHƯƠNG 2: MỘT SỐ KỸ THUẬT TÌM KIẾM ĐỐI TƯỢNG VÙNG
TRONG BẢN ĐỒ VECTƠ ............................................................................ 19
2.1 Khái quát về tìm kiếm đối tượng trên cơ sở hình dạng............................. 19
2.2 Đặc trưng hình dạng đơn giản ................................................................... 21
2.3 Moment bất biến ....................................................................................... 22
2.4. Phương pháp bộ mô tả Fourier ................................................................. 25
2.5.Biểu diễn hình dạng trên cơ sở lưới vùng ................................................. 30
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM................... 40
3.1 Quy trình tổng quan .................................................................................. 40
3.2.Trích xuất các vùng từ CSDL địa lý ......................................................... 42
3.3.Hiển thị dữ liệu địa lý ................................................................................ 43
3.4.Hiển thị vùng đầu vào được chọn ............................................................. 44
3.5.Tìm kiếm vùng tương tự ........................................................................... 45
3.6.Thử nghiệm với một số vùng đầu vào ...................................................... 46
TÀI LIỆU THAM KHẢO ............................................................................... 56
PHỤ LỤC ........................................................................................................ 57
iv
MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình1.1: Mô hình tổng thể hệ thống tìm kiếm thông tin .................................. 5
Hình1.2: Kiến trúc tổng thể của hệ thống tìm kiếm ảnh ................................... 6
Hình 1.3: Đánh giá hiệu năng hệ thống .......................................................... 10
Hình 1.4: Ví dụ biểu diễn vị trí nước bị ô nhiễm ............................................ 12
Hình 1.5: Ví dụ biểu diễn đường..................................................................... 13
Hình 1.6: Ví dụ biểu diễn khu vực hành chính ............................................... 14
Hình 1.7: Ví dụ về biểu diễn các Feature trên bản đồ..................................... 16
Hình 1.8: Đối tượng point trên bản đồ. ........................................................... 17
Hình 1.9: Đối tượng Line trên bản đồ ............................................................ 17
Hình 1.10: Đối tượng polyon trên bản đồ ..................................................... 17
Hình 2.1: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng momet hình
dạng ............................................................................................................. 24
Hình 2.2: Hàm dấu hiệu của hình dạng .......................................................... 25
Hình 2.3: Hàm góc tích lũy ............................................................................ 26
Hình 2.4: Hàm tính diện tích .......................................................................... 26
Hình 2.5: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng bộ mô tả
Fourier ............................................................................................................. 29
Hình 2.6:Ví dụ xếp chồng .............................................................................. 30
Hình 2.7: Ví dụ chuẩn hóa co giãn ................................................................. 32
Hình 2.8: Ví dụ về đo độ tương tự ................................................................. 34
Hình 2.9: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng lưới vùng ... 37
Hình 2.10: Lưu đồ thuật toán tìm kiếm vùng tương tự ................................ 40
Hình 3.1: Sơ đồ hệ thống. ............................................................................... 41
Hình 3.2: Màn hình chính chương trình ......................................................... 42
Hình 3.3: Bản đồ các vùng tỉnh Quảng Ninh ................................................. 44
v
Hình 3.4: Các vùng đầu vào ........................................................................... 45
Hình 3.5: Dữ liệu hình học vùng đầu vào ...................................................... 45
Hình 3.6: Hiển thị vùng đầu vào được chọn ................................................... 46
Hình 3.7: Kết quả tìm vùng tương tự với vùng 13. ........................................ 47
Hình 3.8: Kết quả tìm vùng tương tự với vùng 2. .......................................... 48
Hình 3.19: Kết quả tìm vùng tương tự với vùng 3. ........................................ 49
Hình 3.10: Kết quả tìm vùng tương tự với vùng 6. ........................................ 50
Hình 3.11: Kết quả tìm vùng tương tự với vùng 1. ........................................ 51
Hình 3.12: Kết quả tìm vùng tương tự với vùng 15. ...................................... 52
Hình 3.13: Kết quả tìm vùng tương tự với vùng 16. ...................................... 53
Hình 3.14: Kết quả tìm vùng tương tự với vùng 20. ...................................... 54
Hình 3.15: Kết quả tìm vùng tương tự với vùng 22. ...................................... 55
Hình P-1: Ví dụ một đa giác gồm hai vành. ................................................... 64
Hình P-2: Lưu trữ đa giác trong shapefile. ..................................................... 65
vi
DANH MỤC BẢNG BIỂU
Bảng P-1. Mô tả của Main file header .......................................................... 58
Bảng P-2. Các giá trị của shape type. ........................................................... 59
Bảng P-3. Mô tả header bản ghi. .................................................................. 60
Bảng P-4. Nội dung bản ghi biểu diễn điểm. ................................................ 61
Bảng P-5. Nội dung bản ghi biểu diễn đa điểm ........................................... .62
Bảng P-6. Nội dung bản ghi chi tiết đa đoạn. ............................................... 63
Bảng P-7. Nội dung bản ghi đa giác. ............................................................ 65
1
MỞ ĐẦU
1. Đặt vấn đề
Hệ thống thông tin địa lý (GIS - Geograpgic Information System) đã bắt
đầu được sử dụng rộng rãi ở các nước phát triển từ nhiều thập niên qua, đây là
một dạng ứng dụng công nghệ thông tin nhằm mô tả thế giới thực (Real World)
mà loài người đang sống-tìm hiểu-khai thác. Với những tính năng ưu việt của
mình, kỹ thuật GIS ngày nay đang được ứng dụng trong nhiều lãnh vực nghiên
cứu và quản lý, đặc biệt trong quản lý và quy hoạch sử dụng-khai thác các
nguồn tài nguyên một cách bền vững và hợp lý. GIS được chia làm hai loại
chính: GIS véc tơ và GIS raster. GIS véc tơ ngày nay được sử dụng nhiều hơn
cả. Nền tảng của GIS là bản đồ véc tơ. Các bản đồ này được hình thành từ các
đối tượng cơ bản như điểm, đường vùng. Dạng vùng thường được biểu diễn các
đơn vị hành chính, ao hồ, thửa ruộng, các hòn đảo trên biển… Số lượng các đối
tượng này thường rất lớn trong một bản đồ của hệ thống GIS.
Một bài toán đặt ra cho người sử dụng GIS trong thực tế là: Hãy tìm
kiếm theo nội dung các đối tượng dạng vùng trên bản đồ tương tự với đối tượng
dạng vùng cho trước trên cơ sở topo, hướng, khoảng cách [9].
Như vậy bài toán này tương tự với bài toán tìm kiếm ảnh theo nội dung.
Luận văn sử dụng các phương pháp, thuật toán đã được nghiên cứu cho tìm
kiếm kiếm ảnh trên cơ sở vùng [2-5] trong CSDL ảnh để giải quyết bài toán tìm
kiếm đối tượng địa lý dạng vùng trên bản đồ tương tự với hình dạng đối tượng
cho trước. Đối tượng cho trước có thể được sinh ra bằng phác họa trên màn
hình máy tính hay một tệp chứa ảnh, vùng bản đồ cần tìm.
Vậy, nội dung nghiên cứu chính của luận văn “Tìm kiếm đối tượng vùng
trong GIS véc tơ” bao gồm:
- Một số vấn đề cơ bản về GIS véc tơ để thấy rõ cấu trúc dữ liệu các đối
2
tượng dạng vùng trong CSDL cần tìm kiếm,
- Kiến trúc hệ thống tìm kiếm ảnh theo nội dung,
- Các thuật toán tìm kiếm ảnh theo nội dung trên cơ sở vùng,
- Xây dựng chương trình thử nghiệm.
2. Đối tượng và phạm vi nghiên cứu
- Mô hình tổng quát hệ thống tìm kiếm trên cơ sở nội dung
- Biểu diễn và cấu trúc dữ liệu không gian vectơ
- Các lớp thuật toán đảm bảm tính nhất quán dữ liệu để từ đó nghiên cứu,
đề xuất thuật toán tối ưu đảm bảo nhất quán dữ liệu.
- Một số kỹ thuật ứng dụng tìm kiếm đối tượng vùng trong bản đồ vectơ
3. Hướng nghiên cứu của đề tài
- Nghiên cứu kỹ thuật liên quan đến tìm kiếm ảnh trên cơ sở hình dạng.
- Nghiên cứu phương pháp biểu diễn hình dạng và các đặc trưng hình
dạng
- Nghiên cứu giải pháp công nghệ cài đặt chương trình thử nghiệm.
4. Những nội dung nghiên cứu chính
Ngoài phần mở đầu giới thiệu bài toán cần giải quyết của luận văn,
phương pháp nghiên cứu và phần kết luận trình vày các kết quả thu được và
các nghiên cứu tiếp theo để giải quyết các hạn chế của chúng, nội dung luận
văn được chia thành ba chương như sau:
Chương 1: Trình bày tổng quan về hệ thống tìm kiếm ảnh theo nội dung và
dữ liệu không gian véc tơ. Bao gồm: mô hình hệ thống tìm kiếm thông tin
theo nội dung, biểu diễn và cấu trúc dữ liệu không gian trong GIS.
Chương 2: Trình bày một số kỹ thuật tìm kiếm ảnh trên cơ sở vùng áp dụng
trong việc tìm kiếm đối tượng dạng vùng trong GIS vec tơ. Bao gồm thuật
toán tìm kiếm đối tượng trên cơ sở biểu diễn vùng, thuật toán bộ mô tả
3
Fourier, mô ment ảnh.
Chương 3: Trình bày chương trình thử nghiệm, bao gồm: dữ liệu bản đồ
hành chính tỉnh Quảng Ninh, kiến trúc hệ thống thử nghiệm, đánh giá kết
quả thử nghiệm.
5. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: thu thập, tổng hợp các tài liệu đã
công bố, so sánh để tìm ra vấn đề phù hợp để nghiên cứu học hỏi và đề
xuất các phương pháp cài đặt trên ngôn ngữ lập trình Matlab, C #
- Liên hệ thường xuyên với giáo viên hướng dẫn và các chuyên gia để
thực hiện luận văn cho đúng hướng, đúng tiến độ
- Phương pháp thực nghiệm để minh chứng hiệu quả của giải pháp lựa
chọn thông qua các nhận xét, phân tích đánh giá kết quả thử nghiệm.
6. Ý nghĩa khoa học của đề tài
- Luận văn nghiên cứu kỹ thuật tìm kiếm đối tượng vùng trong GIS
vectơ
- Cài đặt thử nghiệm các kỹ thuật tìm kiếm đối tượng vùng trong bản đồ
vectơ
- Giải quyết bài toán tìm kiếm đối tượng vùng trong GIS vectơ
4
CHƯƠNG 1
TỔNG QUAN VỀ HỆ THỐNG TÌM KIẾM NỘI DUNG VÀ DỮ LIỆU
KHÔNG GIAN VECTƠ
1.1.Mô hình tổng quát hệ thống tìm kiếm trên cơ sở nội dung
Chúng ta đang đối mặt với sự bùng nổ thông tin đa phương tiện. Thí dụ
tồn tại một số lượng lớn ảnh và video trên Internet. Rất nhiều tranh vẽ, ảnh
chụp đang được chuyển sang dạng số để dễ xử lý và phân tán, bảo quản. Các
bức ảnh từ bản tin TV và trên báo cũng đang được chuyển sang dạng số để dễ
dàng quản lý. Lượng lớn ảnh y tế, ảnh vệ tinh đang được thu thập hàng ngày.
Xu thế này thúc đẩy phát triển công nghệ số lưu trữ và trình diễn. Không thể
sử dụng nhanh và hiệu quả các thông tin đa phương tiện này nếu chúng không
được tổ chức tốt để truy tìm nhanh.
Các hệ thống tự động truy tìm thông tin (IR-InformationRetrieval) đã
được phát triển ban đầu để quản lý khối lượng lớn tài liệu khoa học từ những
năm 40 của thế kỷ XX [7].Chức năng chính của hệ thống IR là lưu trữ và
quản trị khối lượng văn bản lớn theo cách sao cho dễ dàng truy vấn (query)
tài liệu mà người sử dụng quan tâm.
Hệ thống tự động tìm kiếm thông tin đã được mở rộng về sau để có thể lưu
trữ, chỉ mục và tìm kiếm theo nội dung các loại dữ liệu văn bản, hình ảnh, âm
thanh và video.
Các thao tác của một hệ thống tìm kiếm đa phương tiện nói chung và
hệ thống tìm kiếm ảnh nói riêng được mô tả khái quát trên hình 1.1 [7].
Hệ thống bao gồm hai nửa: Hoạt động offline (bên phải) và hoạt động online
(phần bên trái hình). Bên offline, các mục thông tin(Information Item) được
tiền xử lý để trích chọn đặc trưng và nội dung ngữ nghĩa để lưu vào CSDL.
Sau đó chúng được chỉ số hóa trên cơ sở đặc trưng và ngữ nghĩa này.
5
Queries
Information Items
Processing and feature extraction
Preprocessing and indexing
Indexed
Query
information items
features
Similarity computation
Retrieval of similar items
Hình 1.1 Mô hình tổng thể hệ thống tìm kiếm thông tin đa phương tiện
Trong pha tìm kiếm thông tin (online), câu truy vấn của người sử dụng
được xử lý và các đặc trưng của nó được trích chọn. Đối với hệ thống tìm
kiếm ảnh, câu truy vấn có thể là ảnh phác họa hay một ảnh chụp làm ví dụ
(query by example). Các đặc trưng vừa trích chọn sau đó được so sánh (đối
sánh) với các đặc trưng hay chỉ mục dữ liệu trong CSDL. Các mục thông tin
nào có đặc trưng gần giống nhất với các đặc trưng của câu truy vấn thì được
tìm ra và trình diễn cho người sử dụng làm kết quả.
Mô hình trên đây cho thấy rất nhiều nhiệm vụ phải thực hiện trong một
hệ thống tìm kiếm dữ liệu đa phương tiện theo nội dung, thí dụ:
Trích chọn đặc trưng từ các dữ liệu đa phương tiện này như thế nào?
Các đặc trưng được lưu trữ và cấu trúc như thế nào để truy tìm hiệu
quả?
Đo tính “tương tự” giữa hai đối tượng đa phương tiện như thế nào?
Thiết kế giao diện như thế nào để nó có thể chấp nhận các câu truy vấn
phức tạp, mờ và mềm dẻo?
So sánh hiệu năng giữa các hệ thống tìm kiếm đa phương tiện bằng
6
cách nào?
Các vấn đề trên đây cần được quan tâm nghiên cứu để phát triển hệ
Xây dựng cơ sở dữ liệu ảnh
Ảnh kết quả
Cơ sở dữ liệu ảnh
Dữ liệu ảnh
Trích chọn các đặc trưng ảnh
Cơ sở dữ liệu đặc trưng
Đo mức độ tương tự
Truy vấn
Ảnh mẫu truy vấn
Trích chọn các đặc trưng
Các đặc trưng đã được trích chọn
thống đa phương tiện.
Hình 1.2 Kiến trúc tổng thể của hệ thống tìm kiếm ảnh
Kiến trúc của một hệ thống tìm kiếm ảnh theo nội dung được mô tả trên
hình 1.2. Ảnh là một loại dữ liệu đa phương tiện được thu thập, quản lý, xử lý
nhiều nhất. Đã có nhiều công trình công bố liên quan đến tìm kiếm ảnh trong
CSDL [7]. Ảnh có thể trong khuôn mẫu raster hay khuôn mẫu véc tơ. Ảnh có
thể thu thập từ chụp ảnh, sinh ra từ máy tính hay một dạng của bản đồ trong
hệ thống thông tin địa lý.
Hệ thống tìm kiếm ảnh cơ bản gồm hai pha: Pha xây dựng CSDL ảnh
thực hiện offline và pha truy vấn ảnh thực hiện online.
Trong pha Offline người sử dụng thu thập ảnh (bản đồ) để lưu trữ trong
CSDL. Ảnh đầu vào được trích chọn đặc trưng ví dụ trích chọn biểu đồ màu,
hình dạng đối tượng, bộ mô tả Fourier… để đối sánh sau này. Các đặc trưng
7
có kích thước nhỏ hơn nhiều so với dữ liệu ảnh gốc để đối sánh cho nhanh.
Có nhiều nghiên cứu về việc lựa chọn và kỹ thuật trích chọn đặc trưng được
công bố. Đặc trưng nào được sử dụng trong hệ thống ảnh phụ thuộc vào loại
ảnh được quản lý trong CSDL [7]. Trong luận văn này, đầu vào là các đối
tượng dạng vùng của một bản đồ véc tơ như đơn vị hành chính (ví dụ cấp xã),
ao, hồ, các đảo ngoài khơi… Các đặc trưng có thể phù hợp cho loại ảnh véc
tơ này là bộ mô tả Fourier, moment ảnh, lưới vùng… Dữ liệu ảnh gốc đầu vào
và các đặc trưng tương ứng được lưu trữ trong CSDL ảnh. Thông thường các
đặc trưng ảnh được biểu diễn dưới dạng véc tơ đa chiều. Số lương dữ liệu là
rất lớn, do vậy, chúng phải được lưu trữ trong CSDL theo cách nào đó để truy
vấn nhanh. Các cấu trúc dữ liệu dạng cây được lựa chọn để giảm thiểu thời
gian xâm nhập đĩa, tránh tìm kiếm tuyến tính để đối sánh trong CSDL. Các
cấu trúc dữ liệu như cây đa chiều, hay cây R là phù hợp hơn cả [7].
Trong pha online (pha truy vấn), người sử dụng tạo ra câu truy vấn để
tìm kiếm ảnh mong muốn trong CSDL. Kỹ thuật hay được sử dụng là “tìm
kiếm theo ví dụ” (Query by example). Đầu vào pha tìm kiếm là một ảnh mẫu
làm ví dụ để tìm kiếm theo nó. Ảnh mẫu có thể được phác họa trên máy tính
bằng thiết bị nào đó như bút ánh sáng, thậm chí bằng con chuột máy tính.
Ảnh đầu vào cũng có thể là một ảnh có sẵn trong máy để tìm ra ảnh tương tự
trong CSDL. Ảnh mẫu này được trích chọn đặc trưng để hình thành các véc tơ
đặc trưng. Đặc trưng được sử dụng tương ứng với các đặc trưng được trích
chọn trong pha offline. Véc tơ đặc trưng của ảnh mẫu được đối sánh với các
đặc trưng trong CSDL. Do các véc tơ đặc trưng đã được lưu trữ trong cấu trúc
dạng cây nên việc đối sánh không cần tuần tự, làm tăng hiệu năng hệ thống.
8
Đo mức độ tương tự giữa các ảnh
Đây là nhiệm vụ quan trọng trong hệ thống tìm kiếm ảnh. Đối sánh
trong CSDL ảnh không phải là đối sánh chính xác như trong CSDL truyền
thống. Ở đây là đối sánh tương tự để xác định mức độ tương tự của véc tơ
truy vấn với các véc tơ đặc trưng trong CSDL, sau đó xếp hạng để người sử
dụng quyết định ảnh kết quả mong muốn. Các độ đo khác nhau được lựa chọn
để sử dụng như độ đo cosine, khoảng cách Lp (Minkowski),…
Khoảng cách cosine: Với ảnh trong CSDL Di và ảnh mẫu truy vấn Qj
(1.1)
được biểu diễn như các véctơ n-chiều của các trọng số
Mức độ tương tự của hai ảnh được xác định bởi cosine của góc giữa hai
véc tơ này. Khoảng cách này được gọi là khoảng cách cosine. Góc càng nhỏ
(1.2)
hay cosine càng lớn thì hai ảnh càng tương tự nhau.
(1.3)
Độ đo khoảng cách Lp (Minkowski): Ví dụ cho trước hai véc tơ n-chiều
(1.4)
Khoảng cách Minkowski được tính theo công thức sau:
Trong CSDL ảnh có thể sử dụng giá trị p như sau:
(1.5)
Nếu p=1 ta có khoảng cách Manhattan hay khoảng cách City block:
9
(1.6)
Với p=2 ta có khoảng cách Euclid:
Đánh giá hiệu năng hệ thống
Bất cứ hệ thống thông tin nào được xây dựng cũng cần được đánh giá
hiệu năng để khuyến cáo sử dụng. Đánh giá hiệu năng một hệ thống thông tin
bằng nhiều độ đo khác nhau, có thể là đánh giá theo các chức năng, đánh giá
theo các yêu cầu phi chức năng của hệ thống (ví dụ với các ứng dụng Web).
Trong hệ thống tìm kiếm ảnh, thông thường hệ thống được đánh giá theo ba
tiêu chí sau:
a. Tốc độ xử lý: Hệ thống chạy càng nhanh thì hiệu năng càng cao.
Tốc độ xử lý có thể được xác định bằng độ phức tạp của thuật toán
hay kiến trúc hệ thống được xây dựng
b. Độ trung thực (Recall): Tính toán (đo) công suất tìm kiếm các ảnh
trong CSDL liên quan đến ảnh mẫu đầu vào truy vấn. Chúng được
xác định bởi tỷ lệ giữa tổng số ảnh liên quan được tìm ra và toàn bộ
số các ảnh liên quan trong CSDL. Recall càng cao thì hiệu năng
càng cao.
c. Độ chính xác (Precision): Một tiêu chuẩn nữa của hiệu năng hệ
thống là đo độ chính xác tìm kiếm trong CSDL. Độc chính xác được
xác định bởi tỷ lệ giữa số ảnh được tìm ra mà người sử dụng thỏa
mãntrên tổng số ảnh được hệ thống tìm thấy. Độ chính xác càng cao
thì hiệu năng hệ thống càng cao.
Tính toán độ trung thực và độ chính xác như sau:
10
Giả sử ta có một tập ảnh để test (tập mẫu), đã biết trước tổng số ảnh và
số lượng ảnh phù hợp với yêu cầu của người sử dụng như trên hình 1.3.
Pert – Tập con ảnh phù hợp trong thực tế, người sử dụng mong muốn
Retr - Tập con ảnh mà hệ thống tìm ra
(1.7)
Độ trung thực được tính như sau:
(1.8)
Tậpảnh phù hợp đối với users
Tậpảnhdo hệ thống tìm thấy
Tập ảnh thử nghiệm
Độ chính xác được tính bởi công thức:
Hình 1.3 Đánh giá hiệu năng hệ thống
Khi đánh giá hiệu năng hệ thống thông tin, cần đánh giá đồng thời hai
tiêu chí này. Nếu độ trung thực và độ chính xác càng cao thì hiệu năng hệ
thống càng cao.
Ba tiêu chí đánh giá hiệu năng hệ thống trên đây, bao gồm, tốc độ thực
hiện, độ trung thực (độ nhạy) và độ chính xác được áp dụng trong luận văn
này. Các ảnh mô tả trên đây được xem như các đối tượng dạng vùng trên bản
đồ véc tơ.
11
1.2. Biểu diễn và cấu trúc dữ liệu không gian vectơ
Hệ thống thông tin địa lý (GIS) được xem như hệ thống thông tin có
khả năng mã hóa, lưu trữ, chuyển đổi, phân tích và hiển thị dữ liệu địa lý (dữ
liệu có tham chiếu không gian) [1]. Nền tảng hoạt động của GIS là bản đồ.
Các đối tượng trên bản đồ (ví dụ như sông ngòi, các đơn vị hành chính,
đất trồng trọt,…) có thể được được biểu diễn bới các giá trị khác nhau của
điểm ảnh (hay còn gọi là tế bào). Mỗi tế bào gắn theo giá trị thuộc tính của
đối tượng trên bản đồ. GIS trên cơ sở bản đồ như vậy được gọi là GIS raster.
Các đối tượng trên bản đồ cũng có thể được biểu diễn bới các đối tượng
hình học cơ bản: điểm, đường, vùng. Mỗi đối tượng hình học cơ bản này
được biểu diễn bới các tọa độ hay véc tơ trong hệ tọa độ qui chiếu sử dụng
trong hệ thống. GIS được xây dựng trên cơ sở dữ liệu bản đồ véc tơ được gọi
là GIS véc tơ.
Cả hai trong phạm vi luận văn này, bản đồ có cấu trúc véctơ. Phần này
trình bày phương pháp biểu diễn và cấu trúc dữ liệu không gian véc tơ. Trên
cơ sở đó, các thuật toán tìm kiếm hình dạng trên bản đồ được tìm hiểu và thử
nghiệm.
*. Biểu diễn dữ liệu không gian vectơ
Thành phần dữ liệu không gian hay còn gọi là dữ liệu bản đồ, là dữ liệu
về đối tượng mà vị trí của nó được xác định trên bề mặt trái đất. Dữ
liệu không gian sử dụng trong hệ thống địa lý luôn được xây dựng trên một
hệ thống tọa độ, bao gồm tọa độ, quy luật và các ký hiệu dùng để xác định
một hình ảnh bản đồ cụ thể trên mỗi bản đồ.
Hệ thống GIS dùng thành phần dữ liệu không gian để tạo ra bản đồ hay
hình ảnh bản đồ trên màn hình hoặc trên giấy thông qua thiết bị ngoại vi. Mỗi
hệ thống GIS có thể dùng các mô hình khác nhau để mô hình hóa thế giới
12
thực sao cho giảm thiểu sự phức tạp của không gian nhưng không mất đi các
dữ liệu cần thiết để mô tả chính xác các đối tượng trong không gian. Hệ thống
GIS hai chiều 2D dùng ba kiểu dữ liệu cơ sở sau để mô tả hay thể hiện các đối
tượng trên bản đồ vector, đó là:
Ðiểm (Point)
Điểm được xác định bởi cặp giá trị tọa độ (x, y). Các đối tượng đơn với
thông tin về địa lý chỉ bao gồm vị trí thường được mô tả bằng đối tượng điểm.
Các đối tượng biểu diễn bằng kiểu điểm thường mang đặc tính chỉ có
tọa độ đơn (x, y) và không cần thể hiện chiều dài và diện tích. Ví dụ, trên bản
đồ, các vị trí của bệnh viện, các trạm rút tiền tự động ATM, các cây xăng,…
có thể được biểu diễn bởi các điểm.
Hình 1.3 là ví dụ về vị trí nước bị ô nhiễm. Mỗi vị trí được biểu diễn
bởi 1 điểm gồm cặp tọa độ (x, y) và tương ứng với mỗi vị trí đó có thuộc tính
độ sâu và tổng số nước bị nhiễm bẩn. Các vị trí này được biểu diễn trên bản
đồ và lưu trữ trong các bảng dữ liệu.
Hình 1.4 Ví dụ biểu diễn vị trí nước bị ô nhiễm
13
Ðường – Cung (Line - Arc)
Đường được xác định bởi dãy các điểm hoặc bởi 2 điểm đầu và điểm
cuối (Hình 1.4). Đường dùng để mô tả các đối tượng địa lý dạng tuyến như
đường giao thông, sông ngòi, tuyến cấp điện, cấp nước…
Hình 1.5 Ví dụ biểu diễn đường
Các đối tượng được biểu diễn bằng kiểu đường thường mang đặc điểm
là có dãy các cặp tọa độ, các đường bắt đầu và kết thúc hoặc cắt nhau bởi
điểm, độ dài đường bằng chính khoảng cách của các điểm. Ví dụ, bản đồ hệ
thống đường bộ, sông, đường biên giới hành chính, … thường được biểu diễn
bởi đường và trên đường có các điểm (vertex) để xác định vị trí và hình dáng
của đường đó.
14
Vùng (Polygon)
Vùng được xác định bởi ranh giới các đường, có điểm đầu trùng với
điểm cuối. Các đối tượng địa lý có diện tích và được bao quanh bởi đường
thường được biểu diễn bởi vùng.
Các đối tượng biểu diễn bởi vùng có đặc điểm là được mô tả bằng tập
các đường bao quanh vùng và điểm nhãn (label point) thuộc vùng để mô tả,
xác định cho mỗi vùng. Ví dụ, các khu vực hành chính, hình dạng các công
viên, … được mô tả bởi kiểu dữ liệu vùng. Hình 1.5 mô tả ví dụ cách lưu trữ
một đối tượng vùng.
Hình 1.6 Ví dụ biểu diễn khu vực hành chính
Một đối tượng có thể biểu diễn bởi các kiểu khác nhau tùy thuộc vào
tỷlệ của bản đồ đó. Ví dụ, đối tượng công viên có thể được biểu diễn bởi
điểm trong bản đồ có tỷ lệ nhỏ, và bởi vùng trong bản đồ có tỷ lệ lớn.
Trong mô hình vector, thông tin về điểm, đường và vùng được mã hoá và lưu
dưới dạng tập hợp các toạ độ (x,y). Vị trí của đối tượng điểm, như lỗ khoan,
15
có thể được biểu diễn bởi một toạ độ đơn x,y. Ðối tượng dạng đường, như
đường giao thông, sông suối, có thể được lưu dưới dạng tập hợp các toạ độ
điểm. Ðối tượng dạng vùng, như khu vực buôn bán hay vùng lưu vực sông,
được lưu như một vòng khép kín của các điểm toạ độ.
*. Cấu trúc dl không gian vecto
Mô hình dữ liệu vector xem các sự vật, hiện tượng là tập các thực thể
không gian cơ sở và tổ hợp của chúng. Trong mô hình 2D thì các thực thể cơ
sở bao gồm: điểm (point), đường (line), vùng (polygon). Các thực thể sở
đẳng được hình thành trên cở sở các vector hay toạ độ của các điểm trong
một hệ trục toạ độ nào đó.
Loại thực thể cơ sở được sử dụng phụ thuộc vào tỷ lệ quan sát hay
mức độ khái quát. Với bản đồ có tỷ lệ nhỏ thì thành phố được biểu diễn
bằng điểm (point), đường đi, sông ngòi được biểu diễn bằng đường (line).
Khi tỷ lệ thay đổi kéo theo sự thay đổi về thực thể biểu diễn. Thành phố lúc
này sẽ được biểu diễn bởi vùng có đường ranh giới. Khi tỷ lệ lớn hơn, thành
phố có thể được biểu diễn bởi tập các thực thể tạo nên các đối tượng nhà
cửa, đường sá, các trình tiện ích,… Nói chung mô hình dữ liệu vector sử
dụng các đoạn thẳng hay các điểm rời rạc để nhận biết các vị trí của thế giới
thực.
Trong mô hình vector người ta trừu tượng hoá các sự vật hiện tượng
và gọi chúng là các feature. Các feature được biểu diễn bằng các đối tượng
hình học: point, line, polygon. Các biểu diễn này áp dụng cho những đối
tượng đơn có hình dạng và đường bao cụ thể.
16
Hình 1.7 Ví dụ về bểu diễn các Feature trên bản đồ
Trong cách biểu diễn này, người ta định nghĩa:
Feature là một đối tượng trên bản đồ có hình dạng và vị trí xác định, có các
thuộc tính cùng với hành vi cụ thể.
Feature Class là một tập các feature có cùng kiểu tức là tập các point, line,
hay polygon. Các feature class tương đương với một lớp trên bản đồ.
Polygons: được dùng để biểu diễn các feature có miền bao xác định: ruộng
đất, ao, hồ hay các đơn vị hành chính…
hệ toạ độ. Feature dataset tương đương với một bản đồ.
Các thành phần dữ liệu
Trong feature dataset, mỗi point được lưu dưới một toạ độ đơn tương
ứng, line được lưu dưới một chuỗi các điểm có toạ độ (x, y) cho trước,
polygon được lưu thành một tập các điểm có toạ độ (x, y) xác định những
đoạn thẳng và đóng kín.
Points : biểu diễn các feature không có miền bao hay độ dài, nhiều khi nó
biểu diễn các feature có kích thước quá nhỏ so với tỷ lệ của bản đồ.
17
Hình 1.8: Đối tượng point trên bản đồ.
Lines: dùng để biểu diễn các feature có chiều dài xác định nhưng không có
miền bao hay những feature rất hẹp so với tỷ lệ bản đồ
Hình 1.9: Đối tượng line trên bản đồ.
Polygons: được dùng để biểu diễn các feature có miền bao xác định: ruộng
đất, ao, hồ hay các đơn vị hành chính…
Hình 1.10: Đối tượng polyon trên bản đồ.
18
Chương I đã trình bày tổng quan về hệ thống tìm kiếm đối tượng ảnh
theo nội dung. Các vấn đề cần giải quyết chính là kiến trúc hệ phống, các pha
hoạt động của hệ thống, vần đề trích chọn đặc trưng, đối sánh tương tự giữa
các đối tượng và các tiêu chí đánh giá hiệu năng hệ thống. Sau đó luận văn
đã trình bày nguyên lý cơ bản biểu diễn bản đồ vaesc tơ trong GIS. Phạm vi
quan tâm của luận văn là các vùng trong bản đồ véc tơ. Các kiến thức trình
bày trong chương này là cơ sở khoa học cho việc xây dựng hệ thống tìm
kiếm vùng trên bản đồ có hình dạng tương tự với ảnh véc tơ đầu vào.
Chương tiếp theo trình bày các kỹ thuật cơ bản trong việc đối sánh tương tự
giữa các vùng.
19
CHƯƠNG 2
MỘT SỐ KỸ THUẬT TÌM KIẾM ĐỐI TƯỢNG VÙNG TRONG
BẢN ĐỒ VECTƠ
Như đã trình bày ở Chương I, việc tìm kiếm ra các vùng mong muốn
trên cơ sở đối sánh các véc tơ đặc trưng của vùng. Nội dung chương này sẽ
trình bày các kỹ thuật trích chọn đặc trưng vùng, bao gồm: bộ mô tả Fourier,
Momen bất biến, lưới vùng…
2.1 Khái quát về tìm kiếm đối tượng trên cơ sở hình dạng
Có nhiều kỹ thuật chỉ số hóa và truy tìm ảnh, bao gồm (1) trên cơ sở
thuộc tính có cấu trúc của ảnh, (2) nhận dạng đối tượng trên ảnh, (3) văn bản
mô tả ảnh và (4) các đặc trưng ảnh mức thấp như lược đồ cấp xám, bộ mô tả
Fourier của ảnh. Với tiệm cận thứ nhất, dựa trên cơ sở thuộc tính ảnh, có thể
sử dụng các hệ DBMS truyền thống để chỉ số hóa và truy tìm ảnh. Tiệm cận
thứ hai chưa được chín muồi, nó phụ thuộc vào tự động nhận dạng đối tượng.
Tiệm cần thứ 3 có thể sử dụng các hệ thống tìm kiếm văn bản để tìm kiếm
ảnh. Luận văn này tập trung vào tiệm cận thứ tư.
Màu sắc và kết cấu là những thuộc tính có khái niệm toàn cục
trong một ảnh. Trong khi đó, hình dạng không phải là một thuộc tính
của ảnh. Nói tới hình dạng không phải là nhắc đến hình dạng của một
ảnh. Thay vì vậy, hình dạng có khuynh hướng chỉ đến một khu vực đặc
biệt trong ảnh, hay hình dạng chỉ là biên của một đối tượng nào đó trong ảnh.
Trong tìm kiếm ảnh theo nội dung, hình dạng là một cấp cao hơn so với màu
sắc và kết cấu. Nó đòi hỏi sự phân biệt giữa các vùng để tiến hành xử lý
về độ đo của hình dạng.
Tiệm cận trên cơ sở nội dung mức thấp đòi hỏi trích chọn đặc trưng ảnh
mức thấp. Các đặc trưng chung được sử dụng là màu, hình dạng đối tượng và
20
texture. Luận văn này giới hạn nghiên cứu khảo sát một số kỹ thuật tìm kiếm
ảnh dựa trên hình dạng đối tượng trên ảnh.
Hình dạng đối tượng chứa trong ảnh là đặc trưng mức thấp quan trọng.
Với tìm kiếm trên cơ sở hình dạng, các ảnh phải được phân đoạn thành các
đối tượng riêng rẽ nhờ phương pháp nào đó. Mặc dù phân đoạn ảnh là chủ đề
quan trọng, nhưng không được tập trung trao đổi ở phần này. Sau khi phân
đoạn, nhiệm vụ chủ yếu của truy tìm hình ảnh trên cơ sở hình dạng là biểu
diễn hình dạng và đo mức tương đồng giữa các biểu diễn hình dạng. Luận văn
này tập trung tìm kiếm đối tượng trên cơ sở bản đồ véc tơ nên không cần quan
tâm đến phân đoạn.
Biểu diễn hình dạng và đo mức tương đồng tốt cho mục đích nhận dạng
và tìm kiếm thì cần phải có hai đặc tính quan trọng sau:
Mỗi hình dạng cần có đại diện duy nhất, bất biến khi chúng biến đổi
như dịch chuyển, xoay và co dãn. Đặc tính này cho phép nhận biết đối tượng
với kích thước khác nhau và ở vị trí, hướng khác nhau.
Các hình dạng tương tự cần phải có đại diện tương tự sao cho truy tìm
thực hiện được trên cơ sở khoảng cách giữa các đại diện hình dạng.
Tìm kiếm đối tượng trên bản đồ véc tơ tương tự các hệ thống tìm kiếm
ảnh thông thường, sử dụng các kỹ thuật đối sánh tốt nhất thay cho đối sánh
chính xác. Trong quá trình tìm kiếm, người sử dụng chọn đối tượng làm mẫu
“thí dụ” hay phác họa hình dạng mà họ quan tâm. Sau đó nhập đối tượng này
vào hệ thống tìm kiếm. Hệ thống tìm kiếm ra các đối tượng có hình dạng
tương tự để trình diễn cho người sử dụng theo thứ tự tính tương đồng giảm
dần. Do vậy, quan trọng là các đối tượng tương tự phải có số đo tương tự;
khoảng cách giữa hai hình dạng tương tự phải nhỏ hơn khoảng cách giữa hai
hình dạng không tương tự. Nói cách khác, thước đo tương tự giữa hai đại diện
hình dạng phải phù hợp với cảm nhận của con người.
21
Các hệ thống tìm kiếm ảnh theo nội dung thường khai thác hai nhóm
biểu diễn hình dạng sau :
Biểu diễn hình dạng theo đường biên (cotour-based descriptor): Biểu
diễn các đường biên bao bên ngoài
Biểu diễn theo vùng (region-based descriptor): Biểu diễn một vùng
toàn vẹn
Sau đây là mô tả một vài tiệm cận đến biểu diễn hình dạng và thước đo tính
tương tự trong hệ thống tìm kiếm đối tượng trong ảnh có thể áp dụng cho bản
đồ véc tơ.
2.2 Đặc trưng hình dạng đơn giản
Bất kỳ đối tượng nào trên ảnh hay bản đồ, ta đều có thể tìm ra các đặc
trưng sau đây [7]:
Trục chính: Đoạn thẳng nối hai điểm trên biên xa nhất của đối tượng
Trục phụ: Đoạn thẳng vuông góc với trục chính. Chữ nhật mà nó có các cạnh
song song với trục chính và song song với trục phụ, độ dài cạnh của nó bằng
độ dài trục chính và độ dài trục phụ sẽ là chữ nhật bao biên hình dạng.
Chữ nhật cơ sở: Chữ nhật nói trên được hình thành bởi trục chính và trục
phụ gọi là chữ nhật cơ sở.
Độ lệch tâm (Eccentricity) của biên: Là tỷ lệ giữa trục chính và trục phụ.
Các thước đo hình dạng trên đây cho ta khả năng trình diễn hình dạng thô. Nó
có thể được sử dụng vào chỉ mục và tìm kiếm hình dạng đối tượng trên bản
đồ. Tuy nhiên, vì nó không mô tả chi tiết hình dạng cho nên nó thường được
sử dụng kết hợp với cách biểu diễn hình dạng khác để tăng độ chính xác tìm
kiếm. Thí dụ, hệ thống QBIC (Query by Image Content) của IBM sử dụng
diện tích, chu vi, hướng của trục chính và bất biến moment của hình dạng để
chỉ mục và tìm kiếm ảnh.
22
2.3 Moment bất biến
Các moment được sử dụng để nhận ra ảnh và được sử dụng trong nhiều hệ
thống tìm kiếm ảnh. Với ảnh số f(x, y), moment bậc (p+q) được định nghĩa
như sau:
(2.1)
trong đó, x, y là vị trí pixel trong ảnh, f(x, y) là cường độ pixel.
Nếu và được định nghĩa là trọng tâm ảnh, như sau:
(2.2)
thì các moment trọng tâm được biểu diễn bởi:
(2.3)
Các moment trọng tâm bậc 3 được định nghĩa như sau:
(2.4)
Ký hiệu moment trọng tâm chuẩn hóa bậc (p+q) là Eta ŋpq và được định nghĩa
như sau:
(2.5)
23
gamma trong đó là:
(2.6) với p+q=2, 3,...
Bảy moment sau đây đã được chứng minh là bất biến với các phép biến đổi
ảnh như dịch chuyển, quay và co dãn ảnh:
(2.7)
Bảy moment này được sử dụng để mô tả hình dạng. Khoảng cách giữa
hai mô tả hình dạng được sử dụng làm khoảng cách giữa hai hình. Tuy nhiên,
các moment tương đồng không đảm bảo hình dạng tương tự. Do vậy, hiệu
năng của chỉ mục và truy tìm hình dạng trên cơ sở moment không cao.
24
Bắt đầu
Đầu vào: Ảnh chứa đối tượng tìm kiếm
Tính trọng tâm ảnh theo
công thức (2.2)
Tính moment trọng tâm theo công thức (2.3)
Tính moment trọng tâm bậc 3 theo công thức (2.4)
Tính 7 moment theo công thức (2.7)
Đầu ra: 7 giá trị moment (là vectơ đặc trưng của ảnh để đối sánh)
Kết thúc
Hình 2.1: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng momet hình dạng
25
2.5 Phương pháp bộ mô tả Fourier
Trong phương pháp trên cơ sở mô tả Fourier[3][7,8], hình dạng trước
hết được biểu diễn bởi hàm đặc trưng gọi là dấu hiệu (signature) hình dạng.
Biến đổi Fourier rời rạc được áp dụng để có được bộ mô tả Fourier(Fourier
descriptors - FD) của hình dạng. Các FD này được sử dụng để chỉ mục hình
dạng và tính toán mức độ tương đồng hình dạng.
Biến đổi Fourier rời rạc của dấu hiệu hình dạng f(i) được cho bởi:
(2.8)
với u=0 đến N-1, trong đó N là tổng số mẫu f(i).
Có nhiều loại dấu hiệu hình dạng. Các loại dấu hiệu hình dạng hay sử
dụng là trên cơ sở độ cong, bán kính, tọa độ biên hình dạng (Hình 2.1). Hiệu
năng phân lớp hình dạng trên cơ sở ba loại dấu hiệu này không khác nhau
nhiều. Dấu hiệu trên cơ sở bán kính là đơn giản và dễ cài đặt nhất.
Hình 2.2 Hàm dấu hiệu của hình dạng
Trên hình 2.2 là hàm đặc trưng góc tích lũy mô tả đường biên hình
dạng. Với t là tham số, góc tích lũy được tính như sau:
26
(t)
(2.9)
y
z(t)
z(0)
(t)
(0)
x
Hình 2.3 Hàm góc tích lũy
Hình 2.4 Hàm tính diện tích
Trên hình 2.3 là hàm tính diện tích của đối tượng. Với t là tham số, hàm tính
diện tích của quả táo như sau:
27
(2.10)
Dấu hiệu trên cơ sở bán kính bao gồm một số khoảng cách theo thứ tự từ tâm
hình dạng đến các điểm trên biên (gọi là radii - các bán kính). Radii được
định nghĩa như sau:
(2.11)
trong đó, (xc, yc) là tọa độ tâm ảnh, (xi, yi) với i=0 đến 63 là tọa độ của 64
điểm mẫu theo biên hình dạng. Các điểm biên được lấy mẫu sao cho tổng số
điểm ảnh theo biên giữa hai điểm láng giềng là như nhau.
Radii hình dạng và biến đổi giữa chúng là bất biến dịch chuyển. Chú ý
rằng các hình dạng không chuẩn hóa hướng trước khi sử dụng radii hình
dạng.
Khi biến đổi Fourier, ta thực hiện chuẩn hóa bằng cách bỏ qua các giá
trị pha của FD. Xoay hình dạng được phản ánh trong thông tin pha của Fu và
độ lớn của Fu, hay |Fu| là bất biến với quay. |F0| phản ánh năng lượng của
radii hình dạng, vậy |Fu|/|F0| sẽ bất biến co dãn. Do vậy, ta sử dụng véctơ đặc
trưng sau (nó bất biến với dịch chuyển, quay, và co dãn) để chỉ mục hình
dạng:
(2.12)
Khoảng cách gữa các hình dạng được tính toán bằng khoảng cách
Euclid giữa các véc tơ đặc trưng của chúng.
Tại sao ta sử dụng FD để chỉ mục hình dạng thay cho trực tiếp radii? Lý do
chính là biểu diễn trực tiếp là rất nhạy với thay đổi nhỏ và nhiễu, dẫn tới hiệu
năng truy tìm rất thấp. Nếu 64 độ dài bán kính sử dụng trực tiếp làm chỉ mục,
28
có thể sẽ rất khó co dãn và chuẩn hóa quay. Có thể thực hiện chuẩn hóa quay
bằng nhận ra bán kính ngắn nhất (hay dài nhất) và thực hiện chuẩn hóa co dãn
bằng cố định độ dài của bán kính ngắn nhất. Nhưng chuẩn hóa này không ổn
định vì với thay đổi nhỏ trên đường biên sẽ ảnh hưởng đến vị trí bán kính nhỏ
nhất và các vị trí của điểm mẫu, dẫn tới chỉ mục rất khác nhau và khoảng cách
rất lớn giữa các hình dạng do thay đổi nhỏ. Mục tiêu sử dụng FD là chuyển
đổi độ dài bán kính nhạy cảm vào miền tần số nơi dữ liệu bền vững hơn với
thay đổi nhỏ và nhiễu.
29
Bắt đầu
Đầu vào: Ảnh (đã xử lý để có biên đối tượng)
Lựa chọn hàm đặc trưng hình dạng (hàm bán kính, hàm tính diện tích) Chọn 64 giá trị
Biến đối Fourier hàm đặc trưng hình
dạng (Có 64 hệ số Fourier)
Tính toán bộ mô tả Fourier theo công thức (2.12)
Đầu ra: FD= [f1, f2, …, f63] (là vectơ đặc trưng của ảnh để đối sánh)
Kết thúc
Hình 2.5: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng bộ mô tả Fourier
30
2.6 Biểu diễn hình dạng trên cơ sở lưới vùng
Tổng quát thì việc đo hình đồng dạng trên cơ sở biểu diễn hình dạng
mô tả trên đây không phù hợp với cảm nhận của con người [7]. Các nghiên
cứu đã so sánh đo tính tương tự hình dạng bằng moment đại số, khoảng cách
đường cong spline, góc quay tích lũy, dấu độ cong, khoảng cách Hausdorff
với kết luận đồng dạng của con người. Đã chứng minh rằng đồng dạng tính
toán trên cơ sở các thước đo này không phù hợp hoàn toàn với đánh giá của
con người.
Sau đây sẽ mô tả biểu diễn hình dạng trên cơ sở vùng và thước đo
đồng dạng. Phương pháp này được xem là có hiệu năng truy tìm cao.
Ý tưởng chính của biểu diễn hình dạng trên cơ sở vùng
x
y
Cho trước hình dạng, hãy xếp chồng lưới trên chúng như hình 2.6.
Hình 2.6. Ví dụ xếp chồng
lưới Không gian lưới bao gồm các tế bào vuông kích thước cố định, nó đủ lớn để
phủ hoàn toàn hình dạng. Một vài tế bào lưới phủ hoàn toàn hay phủ một
phần một vài tế bào khác không phủ hình dạng. Gán giá trị 1 cho tế bào có ít
nhất 25% điểm ảnh bị phủ và giá trị 0 cho các tế bào còn lại. Sau đó đọc các
giá trị 1 và 0 từ góc trên trái của hình dạng để có trình tự nhị phân cho hình
dạng. Thí dụ, hình 2.6 được biểu diễn bởi dãy 11100000 11111000 01111110
01111111.
31
Rõ ràng rằng, tế bào càng nhỏ thì độ chính xác biểu diễn hình dạng càng cao
nhưng đòi hỏi tính toán, lưu trữ càng lớn. Kích thước tế bào thích hợp là
10x10 đến 20x20 pixel qua thực nghiệm [7].
Biểu diễn trên đây đảm bảo hướng duy nhất nhưng co dãn và xoay là không
bất biến. Do vậy, dãy nhị phân được chuẩn hóa cho co dãn và quay nếu chúng
ta muốn sử dụng nó để biểu diễn hình dạng.
Chuẩn hóa quay
Mục đích của chuẩn hóa quay là đặt hình dạng vào hướng chung duy
nhất. Chúng ta quay hình dạng sao cho trục chính của nó song song với trục x.
Còn hai khả năng đặt hình dạng: một trong các điểm xa nhất đặt bên trái hay
bên phải. Điều này đòi hỏi quay 1800. Thí dụ hình 2.6 có thể đặt vào 1 trong
hai vị hướng như trên hình 2.7
32
A
A
B
y
B
A
Hình 2.7: Ví dụ về chuẩn hóa co dãn
Biểu diễn hai hướng hình dạng như hình vẽ 2.7 cần hai dãy nhị phân
khác nhau. Vì các dãy nhị phân được sử dụng để chỉ mục các dãy trong hệ
thống truy tìm dẫn tới việc lưu trữ cho mỗi hình dạng cần gấp đôi không gian
lưu trữ. Để tiết kiệm không gian lưu trữ, ta chỉ cần có và lưu trữ một trong hai
dãy nhị phân. Sử dụng dãy nào là không quan trọng, nó được xác định khi cài
đặt. Hai hướng được quan tâm khi truy tìm bằng cách biểu diễn nó trong câu
truy vấn hình dạng bằng hai dãy nhị phân, chúng được so sánh với từng chỉ
mục hình dạng lưu trữ trong CSDL.
33
Chuẩn hóa co dãn
Để đạt được chuẩn hóa co dãn, chúng ta co dãn mọi hình dạng sao
cho các trục chính của chúng có cùng độ dài cố định. Thí dụ, độ dài cố định
có thể là 192 pixel [7].
Biểu diễn hình dạng duy nhất - Chỉ mục hình dạng
Sau khi chuẩn hóa quay và co dãn, chọn lựa kích thước lưới tế bào,
chúng ta có được dãy nhị phân duy nhất cho hình dạng với giả sử rằng mỗi
dãy có trục chính duy nhất. Dãy nhị phân này được sử dụng để biểu diễn hay
chỉ mục hình dạng. Thí dụ, chỉ mục hình dạng trên hình 2.7 (đã chuẩn hóa
theo hình 2.6) sẽ là 11111111 01111110 00011000 hay 00111110 111111111
11111111.
Vì ta sử dụng lưới tế bào đủ lớn để bao trùm hình dạng chuẩn hóa, khi
quyết định kích thước tế bào, tổng số tế bào lưới theo trục x là cố định. Tổng
số tế bào theo hướng y phụ thuộc vào độ lệch tâm của hình dạng. Giá trị cực
đại là cùng giá trị với trục x. Thí dụ khi kích thước lưới tế bào là 24x24 pixel,
tổng số tế bào theo trục x là 8, tổng số tế bào theo trục y từ 1 đến 8, phụ thuộc
vào độ lệch tâm.
Đo độ tương tự
Nhiệm vụ tiếp theo là đo độ tương tự giữa các hình dạng trên cơ sở
chỉ mục của chúng như thế nào. Vì chỉ mục chỉ ra vị trí của tế bào bao phủ
hình dạng, khoảng cách giữa hai hình dạng được xác định bằng số các vị trí
các tế bào không cùng bao phủ hai hình dạng này. Quay 1800 và các thao tác
hình dạng khác được xem xét sau. Trên cơ sở độ lệch tâm, có ba cách tính
toán độ tương tự như sau:
Nếu hai hình dạng chuẩn hóa có cùng chữ nhật cơ sở, chúng ta so sánh từng
bit các chỉ mục của hai hình dạng, khoảng cách giữa chúng sau đó sẽ bằng
34
tổng vị trí có giá trị khác nhau. Thí dụ, hình dạng A và B có cùng độ lệch tâm
là 4 và dãy nhị phân là 11111111 11100000 và 11111111 11111100 thì
khoảng cách giữa A và B là 3.
Nếu hai hình dạng chuẩn hóa có các chữ nhật rất khác nhau (chúng có
độ dài trục bé rất khác nhau), chúng ta không cần tính toán độ tương tự của
chúng vì ta có thể kết luận rằng hai hình dạng này rất khác nhau. Thí dụ, nếu
độ lệch tâm của A là 8 và của B là 2, thì ta có thể kết luận hai hình dạng này
khác nhau và không có ý nghĩa khi tiếp tục truy tìm hình dạng. Ngưỡng khác
nhau giữa các trục nhỏ phụ thuộc vào từng ứng dụng và kích thước tế bào.
Thông thường, nếu hiệu số độ dài các trục nhỏ của hai hình lớn hơn 3 thì hai
x
H
ìn
h
6.
7
#
1
9
y
x
B
A
y
hình được xem là khác nhau.
Hình 2.8. Ví dụ về đo độ tương tự
35
Nếu hai hình dạng chuẩn hóa có hình chữ nhật cơ sở không khác nhau nhiều
thì có khả năng cảm giác chúng là tương tự. Ta bổ sung các số 0 vào chỉ mục
hình dạng của trục bé ngắn hơn sao cho chỉ mục có cùng độ dài với hình kia.
Khoảng cách giữa hai hình dạng được tính toán như trường hợp thứ nhất. Thí
dụ, nếu độ dài của trục nhỏ và dãy nhị phân của hình A là 2 và 11111111
11110000 và độ dài và dãy nhị phân của hình B là 3 và 11111111 111111000
11100000, thì ta kéo dài số nhị phân của hình A thành 11111111 11110000
00000000. Khoảng cách giữa A và B sẽ là 4.
Để dễ dàng tính toán khoảng cách khi truy tìm, độ lệch hình dạng được
lưu trữ cùng với dãy nhị phân duy nhất. Chúng hình thành nên cái gọi là chỉ
mục của hình dạng.
Các thao tác hình dạng khác
Để bổ sung vào quay hình dạng 1800, hai thao tác khác là flip ngang và
dọc. Hình 2.8 chỉ ra hai hình kết quả của hai thao tác trên hình dạng có từ hình
2.7. Hai hình dạng này cảm nhận tương tự với hình dạng trên hình 2.6.
Để sử dụng hai thao tác này và vẫn tiết kiệm lưu trữ, ta chỉ cần lưu một
chỉ mục cho mỗi hình nhưng ta sẽ sinh ra bốn dãy nhị phân cho mỗi hình
dạng trong câu truy vấn khi truy tìm. Trong trường hợp này, hình dạng cảm
giác tương tự được tìm ra từ kết quả của quay 1800, lật (flip) ngang và lật dọc.
Quản lý đa trục chính
Trên đây ta giả sử rằng mỗi hình dạng chỉ có một trục chính. Thực tế,
hình dạng có thể có nhiều trục chính với cùng độ dài. Có thể sinh ra các số nhị
phân khác nhau từ cùng hình dạng, nó phụ thuộc vào trục chính nào được sử
dụng để chuẩn hóa quay.
Để giải quyết vấn đề này, chuẩn hóa quay được thực hiện theo từng trục
và các số nhị phân cho mỗi trục được sử dụng làm chỉ mục hình dạng.
36
Khoảng cách giữa hai hình dạng là khoảng cách tối thiểu giữa mỗi cặp số nhị
phân của hai hình dạng này.
37
Bắt đầu
Đầu vào: Ảnh
Tính trục chính của
đối tượng trên ảnh
Chuẩn hóa: Xoay ảnh để trục chính song song với trục tọa độ Ox Co /dãn ảnh sao cho trục chính có độ dài 192 pixel
Phủ lưới tế bào hình vuông
(chọn kích thước tế bào16 x16)
Biểu diễn tế bào bằng các giá trị 0/1 (Nếu hình dạng chiếm 25% thì gán giá trị 1. ngược lại gán giá trị 0)
Đầu ra: Ma trận 0/1 lưới tế bào phủ lên hình dạng
Kết thúc
Hình 2.9: Lưu đồ thuật toán tìm ra đặc trưng của ảnh sử dụng lưới vùng
38
Tóm tắt về tiến trình truy tìm và chỉ mục
Trên đây là mô tả về biểu diễn hình dạng trên cơ sở vùng bất biến với các
thao tác dịch chuyển, co dãn, quay và lấy phản chiếu và thước đo tương tự của
chúng. Trong hệ thống truy tìm, mọi hình dạng trong CSDL đều được chỉ
mục. Trong khi truy tìm, hình dạng truy vấn cũng được chỉ mục. Sau đó so
sánh chỉ mục truy vấn với chỉ mục hình dạng trong CSDL để tìm ra các hình
dạng tương tự.
Mỗi hình dạng trong CSDL được xử lý và chỉ mục như sau (với giả sử
mỗi hình dạng chỉ có một trục chính):
Tìm kiếm trục chính, trục con và độ lệch tâm của hình dạng.
Quay hình dạng để đặt trục chính theo chiều x, hình dạng được co
dãn sao cho trục chính có độ dài chuẩn cố định.
Không gian lưới với kích thước tế bào cố định được xếp trên đỉnh
của hình dạng đã chuẩn hóa.
Gán giá trị 1 cho các tế bào phủ trên hình và giá trị 0 cho các tế bào
còn lại. Bằng cách đọc giá trị 1 và 0 từ trái sang phải và từ trên
xuống dưới dể có dãy nhị phân của hình.
Dãy nhị phân của trục chính được lưu trữ làm chỉ mục của hình
dạng.
Trong khi truy tìm, các bước sau đây được sử dụng để biểu diễn hình dạng
truy tìm và thực hiện so sánh tính tương tự.
Hình dạng truy vấn được biểu diễn bằng độ dài cố định của trục
chính và các dãy nhị phân sử dụng cùng thủ tục như trong tiến trình
chỉ mục hóa nói trên. Nhưng chú ý rằng có bốn dãy nhị phân cho mỗi
truy vấn để có quay 1800 và các thao tác flip theo chiều đứng và
chiều ngang.
39
Vì lý do hiệu quả, bốn dãy nhị phân này được so sánh với dãy nhị
phân của hình dạng trong CSDL với cùng độ lệch tâm tương tự.
Khoảng cách giữa truy vấn và hình dạng trong CSDL được tính toán
như tổng số các vị trí với các giá trị khác nhau trong dãy nhị phân
của nó.
Các hình dạng tương tự được hiển thị hay truy tìm theo thứ tự tăng
dần của khoảng cách hình dạng.
Trên đây là tiệm cận đơn giản và tương tự với cách so sánh hình dạng
thông thường. Để so sánh hai hình dạng, ta muốn chúng có cùng hay kích
thước tương tự (chuẩn hóa co dãn). Sau đó ta quay một trong các hình sao cho
chúng có cùng hướng (chuẩn hóa quay). Cuối cùng, ta xác định chúng khác
bao nhiêu trên cơ sở chúng có bao nhiêu không phủ lấp.
*) Thuật toán tìm kiếm vùng tương tự dựa trên cơ sở momet hình dang,
bộ mô tả Fourier, lưới vùng
- Input: CSDL danh sách vùng, vùng được chọn để tìm kiếm.
- Output: Vùng tương tự với vùng đầu vào.
- Thuật toán:
40
Hình 2.10: Lưu đồ thuật toán tìm kiếm vùng tương tự
41
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM
3.1 Quy trình tổng quan
Hình 3.1: Sơ đồ hệ thống.
Nhiệm vụ chính: Từ vùng đầu vào, hệ thống duyệt trong CSDL địa lý tập
các vùng đã có, tính độ tương đồng và lấy ra vùng tương tự.
42
Hình 3.2: Màn hình chính chương trình.
CSDL địa lý: shape file tỉnh Quảng Ninh
Các tính năng tính của chương trình:
- Hiển thị các vùng từ CSDL địa lý.
- View danh sách vùng đầu vào.
- Hiển thị vùng đầu vào được chọn.
- Tìm kiếm và đánh dấu vùng đầu vào tương tự.
43
3.2.Trích xuất các vùng từ CSDL địa lý
Dữ liệu địa lý về tỉnh Quảng Ninh chứa trong tập các file:
DuongDiaGioi_Clip.cpg
DuongDiaGioi_Clip.dbf
DuongDiaGioi_Clip.prj
DuongDiaGioi_Clip.sbn
DuongDiaGioi_Clip.sbx
DuongDiaGioi_Clip.shp
DuongDiaGioi_Clip.shp.xml
DuongDiaGioi_Clip.shx
Dữ liệu lưu trong thư mục “data”
Nhiệm vụ: trích xuất dữ liệu thông tin (địa giới hành chính) và dữ liệu
hình học và hiển thị trên màn hình
Thư viện sử dụng: EGIS
Mã truy xuất thông tin địa lý vùng:
44
3.3.Hiển thị dữ liệu địa lý
Bản đồ các vùng tỉnh Quảng Ninh
Hình 3.3: Bản đồ các vùng tỉnh Quảng Ninh.
45
3.4.Hiển thị vùng đầu vào được chọn
Các vùng đầu vào được được lưu sẵn trong mỗi file trong thư mục
“input”:
Hình 3.4: Các vùng đầu vào.
Nội dung file đầu vào là dữ liệu hình học của vùng đầu vào:
Hình 3.5: Dữ liệu hình học vùng đầu vào.
46
Hiển thị vùng đầu vào được chọn:
Hình 3.6: Hiển thị vùng đầu vào được chọn.
3.5.Tìm kiếm vùng tương tự
Phát biểu bài toán;
- Đầu vào: CSDL danh sách vùng, vùng được chọn để tìm kiếm.
- Đầu ra: Vùng tương tự với vùng đầu vào.
Các nhiệm vụ cần thực hiện như sau:
Tính ma trân 0..1 sử dụng thuật toán phủ lưới
Tính độ tương tự giữa hai ma trận 0..1
Tìm vùng tương tự với vùng đầu vào
47
3.6.Thử nghiệm với một số vùng đầu vào
*) Mô tả phần mềm sử dụng
B1: Chọn vùng DL từ danh sách vùng (cột bên trái), vùng DL này sẽ hiển
thị trên màn hình phía dưới bên phải.
B2: Nháy chuột vào nút “Tìm vùng tương tự”
B3: Kết quả: Vùng tương tự với vùng đầu vào sẽ hiển thị trên màn hỉnh
phía trên, bên phải, đồng thời thông tin hành chính về vùng này sẽ
được hiển thị phía nút “Tìm vùng tương tự”
Hình 3.7: Kết quả tìm vùng tương tự với vùng 13.
48
Hình 3.8: Kết quả tìm vùng tương tự với vùng 2.
49
Hình 3.9: Kết quả tìm vùng tương tự với vùng 3.
50
Hình 3.10: Kết quả tìm vùng tương tự với vùng 6.
51
Hình 3.11: Kết quả tìm vùng tương tự với vùng 1.
52
Hình 3.12: Kết quả tìm vùng tương tự với vùng 15.
53
Hình 3.13: Kết quả tìm vùng tương tự với vùng 16.
54
Hình 3.14: Kết quả tìm vùng tương tự với vùng 20.
55
Hình 3.15: Kết quả tìm vùng tương tự với vùng 22.
56
3.7.Kết chương
Trong chương 3, luận văn đã trình bày quy trình thử nghiệm cho bài toán
tìm kiếm đối tượng vùng. Trước hết, chương 3 trình bày sơ đồ xử lý của bài
toán với hai nhiệm vụ chính. Một là, truy cập dữ liệu địa lý lấy ra thông tin
chung và thông tin hình dạng để đưa vào cơ sở dữ liệu. Hai là, tìm kiếm trong
cơ sở dữ liệu đối tượng vùng có hình dạng tương tự với vùng đầu vào. Ngoài
ra, chương trình thử nghiệm còn cho phép hiển thị bản đồ các vùng từ cơ sở
dữ liệu liệu địa lý, vùng đầu vào và vùng tương tự tìm thấy trên bản đồ.
Chương trình thử nghiệm sử dụng thuật toán phủ lưới (đã trình bày trong
chương 2) để kiểm tra độ tượng tự giữa các vùng. Các kết quả thử nghiệm cho
thấy chương trình làm việc tốt, tìm kiếm được vùng tương tự và hiển thị lên
màn hình.
57
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Đặng Văn Đức (2001), Hệ thống thông tin địa lý, NXB Khoa học và Kỹ
Thuật, Hà Nội.
Tiếng Anh
[2] Adrijit Basu (2015), Shape Based Image Representation and Retrieval,
International Journal of Emerging Research in Management &Technology
[3] Aratrika Sarkar, PallabiBhatttacharjee (2014), A Shape Based Image Search
Technique, International Journal of Advanced Computer Science and
Applications.
[4] Arvind M. Bhave (2016), Shape Based Descriptors for Image Retrieval, [
IOSR Journal of Computer Engineering.
[5] Arulmozhi P., S.Abirami (2014), Shape Based Image Retrieval: A Review, [
International Journal on Computer Science and Engineering (IJCSE)
[6] Jhansi Rani S. and V. Vallikumari (2016),Survey on Content Based Image [
Retrieval Techniques, International Journal of Trend in Research and
Development.
[7] Guojun Lu (1999), Multimedia Database Management Systems, Artech [
House, Boston – London.
[8] Santhosh P Mathew, Philip Samuel (2010), A Novel Image Retrieval [
System Using an Effective RegionBased Shape Representation Technique,
International Journal of Image Processing (IJIP).
[9] Shashi Shekhar, Sanjay Chawla (2001), A Tour Of Spatial Databases,
Department of Computer Science, University of Minnesota.
58
PHỤ LỤC: Cấu trúc file Shapefile
1. Main file header
Main file header có độ dài 100 bytes. ... chỉ ra các trường trong file header với
vị trí byte, giá trị, kiểu và thứ tự byte của chúng. Trong bảng này, vị trí được
là tương đối tính từ vị trí bắt đầu file.
Bảng P-1. Mô tả của Main file header
Position Field Value Type Byte
Order
Byte 0 File Code 9994 Integer Big
Byte 4 Unused 0 Integer Big
Byte 8 Unused 0 Integer Big
Byte 12 Unused 0 Integer Big
Byte 16 Unused 0 Integer Big
Byte 20 Unused 0 Integer Big
Big Byte 24 File Length File Length Integer
Byte 28 Version 1000 Integer Little
Byte 32 Shape Type Shape Type Integer Little
Byte 36 Bounding Box Xmin Double Little
Byte 44 Bounding Box Ymin Double Little
Byte 52 Bounding Box Xmax Double Little
Byte 60 Bounding Box Ymax Double Little
Byte 68* Bounding Box Zmin Double Little
Byte 76* Bounding Box Zmax Double Little
Byte 84* Bounding Box Mmin Double Little
Byte 92* Bounding Box Mmax Double Little
59
* Không dùng nếu có giá trị 0.0, nếu không thì là độ đo hoặc kiểu Z.
Giá trị của độ dài file là tổng độ dài của file theo đơn vị là các từ 16-bit, trong
đó bao gồm 50 từ (tức là 100 byte) của file header. Tất cả các hình dạng
không null trong một shapefile phải có cùng kiểu shape. Các giá trị của kiểu
được cho trong
Bảng P-2. Các giá trị của shape type.
Giá trị Kiểu Shape
0 Null Shape
1 Point
3 PolyLine
5 Polygon
8 MultiPoint
11 PointZ
13 PolyLineZ
15 PolygonZ
18 MultiPointZ
21 PointM
23 PolyLineM
25 PolygonM
28 MultiPointM
31 MultiPatch
Hộp biên (Bounding Box) trong main file header chứa phạm vi thực sự của
các shape trong file: Hình chữ nhật bé nhất phủ toàn bộ các shape có cạnh
song song với trục X và Y (và có khả năng mở rộng với trục M và Z). Nếu
shapefile là rỗng (không có bản ghi nào) thì giá trị của Xmin, Ymin, Xmax,
và Ymax không được xác định.
60
2. Các header bản ghi
Header cho mỗi bản ghi chứa số hiệu bản ghi và độ dài nội dung của
bản ghi đó. Các header bản ghi có độ dài cố định là 8 byte. Bảng P- mô tả các
trường của header bản ghi, với vị trí được tính từ đầu của bản ghi tương ứng.
Bảng P-3. Mô tả header bản ghi.
Position Field Value Type Byte Order
Byte 0 Record Số hiệu bản ghi Integer Big
Number
Byte 4 Content Length Độ dài nội dung Integer Big
Số hiệu bản ghi bắt đầu từ 1. Độ dài nội dung bản ghi là độ dài của phần
nội dung bản ghi theo đơn vị từ 16-bit. Do đó, mỗi bản ghi sẽ đóng góp số
lượng từ 16-bit là (4 + độ dài nội dung) vào tổng độ dài của file (được chứa ở
Byte 24 trong file header).
PL3.3. Nội dung bản ghi
Nội dung bản ghi shapefile bao gồm một kiểu shape, theo sau bởi dữ liệu
hình học của shape đó. Độ dài của nội dung bản ghi phụ thuộc vào số thành
phần và số đỉnh trong shape.
Tiếp sau đây trình bày một số nội dung bản ghi theo các kiểu shape trong
hệ quy chiếu X, Y.
Kiểu Point (điểm). Một điểm bao gồm một cặp tọa độ kiểu double-
precision theo thứ tự X, Y.
Point
{
Double X // X coordinate
Double Y // Y coordinate
}
61
Bảng P-4. Nội dung bản ghi biểu diễn điểm.
Position Field Value Type Number Byte Order
Byte 0 Shape Type 1 Integer 1 Little
Byte 4 X X Double 1 Little
Byte 12 Y Y Double 1 Little
Kiểu MultiPoint (đa điểm). Biểu diễn một tập các điểm, như sau:
MultiPoint
{
Double[4] Box // Bounding Box
Integer NumPoints // Number of Points
Point[NumPoints] Points // The Points in the Set
}
Hộp Biên (Bounding Box) được lưu theo thứ tự Xmin, Ymin, Xmax, Ymax.
Bảng P-5. Nội dung bản ghi biểu diễn đa điểm.
Position Field Value Type Number Byte Order
Byte 0 Shape 8 Integer 1 Little
Type
Byte 4 Box Box Double 4 Little
Byte 36 NumPoints NumPoints Integer 1 Little
Byte 40 Points Points Point NumPoints Little
Kiểu PolyLine (đa đoạn). Một PolyLine là một tập có thứ tự các đỉnh bao
gồm một hoặc nhiều thành phần. Một phần là một thành phần liên thông gồm
ít nhất hai đỉnh. Các phần có thể hoặc không liên thông với phần khác. Các
62
phần có thể hoặc không cắt nhau với phần khác. Do là đặc tả này không cấm
các điểm liên tục với các tọa độ trùng nhau, nên khi đọc shapefile phải kiểm
soát được các trường hợp như vậy. Việc dẫn tới các phần thoái hóa có độ dài
bằng không là không được phép.
PolyLine
{
Double[4] Box // Bounding Box
Integer NumParts // Number of Parts
Integer NumPoints // Total Number of Points
Integer[NumParts] Parts // Index to First Point in Part
Point[NumPoints] Points // Points for All Parts
}
Các trường của một PolyLine được mô tả chi tiết sau đây:
Box: Hộp Biên cho PolyLine được lưu theo thứ tự Xmin, Ymin, Xmax,
Ymax.
NumParts: Số các phần trong PolyLine.
NumPoints: Tổng số các điểm trong tất cả các phần của PolyLine.
Parts: Một mảng có độ dài NumParts chứa chỉ số của điểm đầu tiên của
nó trong mảng các điểm. Các chỉ số mảng được đánh từ 0.
Points: Một mảng cú độ dài NumPoints.
...
63
Bảng P-6. Nội dung bản ghi chi tiết đa đoạn.
Position Field Value Type Number Byte
Order
Byte 0 Shape 3 Integer 1 Little
Type
Byte 4 Box Box Double 4 Little
Byte 36 NumParts NumParts Integer 1 Little
Byte 40 NumPoints NumPoints Integer 1 Little
Little Byte 44 Parts Parts Integer NumParts
Byte X Points Points Point NumPoints Little
Chú ý: X = 44 + 4 * NumParts.
Kiểu Polygon (Đa giác)
Một đa giác bao gồm một hoặc hơn một vành. Một vành là một chuỗi
đóng liên thông của ít nhất 4 điểm, không tự cắt. Một đa giác có thể chứa
nhiều vành ngoài. Thứ tự của các định hoặc hướng của một vành chỉ ra mặt
nào của vành là phía trong của đa giác. Lân cận bên phải của người quan sát
đi dọc theo vành theo thứ tự đỉnh là thuộc vùng phía trong của đa giác. Các
đỉnh của các vành định nghĩa lỗ rỗng trong đa giác theo hướng ngược chiều
kim đồng hồ. Các đỉnh của vành đơn do đó luôn có thứ tự thuận chiều kim
đồng hồ. Các vành của một đa giác được cho bởi các part (phần) của nó.
Lưu ý là các điểm liên tiếp không nhất thiết phải phân biệt, nên khi đọc
shapefile phải xử lý tình huống này. Cấu trúc của đa giác cũng giống như cấu
trúc đa đoạn, như sau
64
Polygon
{
Double[4] Box // Bounding Box
Integer NumParts // Number of Parts
Integer NumPoints // Total Number of Points
Integer[NumParts] Parts // Index to First Point in Part
Point[NumPoints] Points // Points for All Parts
}
Các trường của một đa giác được mô tả chi tiết như sau:
Box: Hộp biên của đa giác theo thứ tự Xmin, Ymin, Xmax, Ymax.
NumParts: Số vành trong đa giác.
NumPoints: Tổng số điểm trong tất cả các vành.
Parts: Một mảng gồm NumParts phần tử, chứa chỉ số điểm đầu tiên của
mỗi vành trong mảng Points.
Points: Một mảng gồm NumPoints phần tử. Các điểm cho vành 2 nối
tiếp các điểm của vành 1 và cứ như vậy.
Một ví dụ về đa giác gồm 2 vành và 10 điểm như sau:
Hình P-1. Ví dụ một đa giác gồm hai vành.
65
Thứ tự các đỉnh được lưu trữ trong shape file được minh họa bởi Hình P-.
Hình P-2. Lưu trữ đa giác trong shapefile.
Bảng P-7. Nội dung bản ghi đa giác.
Position Field Value Type Number Byte
Order
Byte 0 Shape Type 5 Integer 1 Little
Byte 4 Box Box Double 4 Little
Byte 36 NumParts NumParts Integer 1 Little
Byte 40 NumPoints NumPoints Integer 1 Little
Byte 44 Parts Parts Integer NumParts Little
Byte X Points Points Point NumPoints Little
Chú ý: X = 44 + 4 * NumParts.
Ngoài ra shapefile còn có các cấu trúc shape khác như: PointM, MultiPointM,
PolyLineM, PolygonM (M là độ đo), PointZ, MultiPointZ, PolyLineZ,
PolygonZ (trong hệ quy chiếu X, Y, Z) và cấu trúc MultiPatch (đa mảnh).