P. 1
Ok LuanVan

Ok LuanVan

|Views: 8|Likes:
Published by minhhaivnvnn

More info:

Published by: minhhaivnvnn on Jun 13, 2014
Copyright:Traditional Copyright: All rights reserved

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/13/2014

pdf

text

original

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




Hà Minh Hải




MỘT SỐ KỸ THUẬT GÁN NHÃN ĐỐI TƯỢNG
TRONG ẢNH VÀ ỨNG DỤNG




LUẬN VĂN THẠC SỸ








Thái Nguyên – 2014
ĐẠI HỌC THÁI NGUYÊN
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG



Hà Minh Hải



MỘT SỐ KỸ THUẬT GÁN NHÃN ĐỐI TƯỢNG
TRONG ẢNH VÀ ỨNG DỤNG



Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01


LUẬN VĂN THẠC SỸ


NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS ĐỖ NĂNG TOÀN



Thái nguyên: 2014
LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung bản luận văn này là do tôi tự sưu
tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề tài.
Nội dung luận văn này chưa từng được công bố hay xuất bản dưới bất
kỳ hình thức nào và cũng không sao chép từ bất kỳ một công trình nghiên cứu
nào.
Tất cả phần mã nguồn của chương trình đều do tôi tự thiết kế và xây
dựng, trong đó có sử dụng một số thư viện chuẩn và các thuật toán được các
tác giả xuất bản công khai và miễn phí trên mạng Internet.
Nếu sai tôi xin hoàn toàn chịu trách nhiệm.

Thái Nguyên, ngày 20 tháng 05 năm 2014
Học viên thực hiện


Hà Minh Hải







LỜI CẢM ƠN
Trong suốt thời gian học tập và nghiên cứu tại lớp cao học K11C
trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên
chuyên ngành khoa học máy tính, tôi đã nhận được rất nhiều sự bảo ban, quan
tâm, định hướng, nhiệt tình của các thầy cô trong trường. Các thầy cô giáo
quản lý sau đại học đã luôn giúp đỡ tạo điều kiện giúp tôi có thể học tập cũng
như nghiên cứu một cách tốt trong suốt thời gian học tập tại trường. Nhân dịp
này, tôi xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô trong trường
Đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên.
Tôi xin chân thành cảm ơn sâu sắc tới Thầy PGS.TS Đỗ Năng Toàn đã
cho tôi nhiều sự chỉ bảo quý báu, đã tận tình hướng dẫn và tạo điều kiện cho
tôi hoàn thành tốt luận văn tốt nghiệp này.
Tôi xin cảm ơn các đồng nghiệp và người thân đã động viên, giúp đỡ
tôi trong quá trình nghiên cứu và thực hiện luận văn này.
Quá trình thực hiện đề tài không tránh khỏi các thiếu sót, rất mong tiếp
tục nhận được sự đóng góp ý kiến của các thầy, các cô giáo, các bạn đồng
nghiệp đối với đề tài nghiên cứu của tôi để đề tài được hoàn thiện hơn.
Tôi xin trân trọng cảm ơn!
i

MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC ......................................................................................................... i
DANH MỤC CÁC KÝ HIỆU, CHỮ CÁI VIẾT TẮT ................................ iii
DANH MỤC HÌNH VẼ SỬ DỤNG TRONG LUẬN VĂN ........................ iv
MỞ ĐẦU .......................................................................................................... 1
Chương 1 KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ BÀI TOÁN GÁN NHÃN
ĐỐI TƯỢNG ................................................................................................... 5
1.1. Khái quát về xử lý ảnh ............................................................................ 5
1.1.1. Xử lý ảnh là gì? ............................................................................... 6
1.1.2. Các giai đoạn chính trong xử lý ảnh ............................................... 6
1.1.3. Một số vấn đề cơ bản trong xử lý ảnh ............................................. 9
1.2. Tổng quan về bài toán dán nhãn ........................................................... 11
1.2.1. Giới thiệu bài toán ......................................................................... 11
1.2.2. Mô tả bài toán gán nhãn cho đối tượng ........................................ 12
Chương 2 MỘT SỐ KỸ THUẬT TÍNH TOÁN VÀ HIỂN THỊ NHÃN
ĐỐI TƯỢNG ................................................................................................. 17
2.1. Kỹ thuật GFLP (Graphical Feature Label Placement) ......................... 18
2.1.1. Giới thiệu ....................................................................................... 18
2.1.2. Khái quát thuật toán ...................................................................... 19
2.2. Kỹ thuật ELP (Edge Label Placement) ................................................. 24
2.2.1. Giới thiệu ....................................................................................... 24
2.2.2. Thuật toán Fast ELP ...................................................................... 25
2.3. Kỹ thuật NLP (Node Label Placement) ................................................ 33
2.4. Kỹ thuật MLP (Multiple Label Placement) .......................................... 34
2.4.1. Giới thiệu ....................................................................................... 34
ii

2.4.2. Thuật toán Iterative ....................................................................... 39
2.4.3. Thuật toán Flow-based .................................................................. 42
2.5. Kỹ thuật dán nhãn dựa vào hiệu chỉnh đối tượng ................................. 46
Chương 3 CÀI ĐẶT CHƯƠNG TRÌNH ỨNG DỤNG ............................ 48
3.1. Bài toán ................................................................................................ 48
3.2. Chương trình ........................................................................................ 48
3.3. Kết quả thực nghiệm ............................................................................ 49
KẾT LUẬN .................................................................................................... 51
TÀI LIỆU THAM KHẢO ............................................................................ 53

iii

DANH MỤC CÁC KÝ HIỆU, CHỮ CÁI VIẾT TẮT

GFLP Graphical Feature Label Placement
ELP Edge Label Placement
NLP Node Label Placement
MLP Multiple Label Placement



iv

DANH MỤC HÌNH VẼ SỬ DỤNG TRONG LUẬN VĂN
Hình 1.1. Quá trình xử lý ảnh ........................................................................... 6
Hình 1.2. Quá trình xử lý ảnh ........................................................................... 7
Hình 1.3. (a) Dán nhãn của một nút. (b) Dán nhãn của một cạnh. (c) Dán nhãn
của một khu vực. ............................................................................................. 14
Hình 1.4. (a) Gán nhãn đúng. (b) Gán nhãn gây hiểu nhầm. .......................... 15
Hình 2.1. Bản vẽ hướng nơi nhãn được định vị bằng các kỹ thuật phù hợp cho
kỹ thuật GFLP. Các nhãn được đặt song song với trục ngang. Hộp màu xám
là nút nhãn và hộp trắng cạnh nhãn. ................................................................ 20
Hình 2.2. Vị trí nhãn có thể cho một điểm. ..................................................... 21
Hình 2.3. Một đồ thị với vị trí nhãn được gán cho mỗi cạnh của bản vẽ. ...... 22
Hình 2.4. Khả năng gán các nhãn của hình vẽ ................................................ 26
Hình 2.5. (a) Một bản vẽ đơn giản với các vị trí nhãn cho mỗi cạnh. (b) Các
đồ thị phù hợp tương ứng. ............................................................................... 27
Hình 2.7. Kết quả dán nhãn cạnh cho một bản vẽ trực giao có nhiều cạnh
nằm ngang, áp dụng Fast ELP. Hình được lấy trong [11] .............................. 31
Hình 2.8. Bản vẽ hình tròn với các nhãn cạnh, nơi nhãn được phép chồng lên
các đối tượng hình khác, được sản xuất bằng kỹ thuật ELP ........................... 32
Hình 2.9. (a) Phân nhãn thích hợp hơn. (b) Đặt nhãn gây hiểu nhầm. (c) Xác
định ràng buộc khoảng cách chặt chẽ. (d) Xác định ràng buộc tự do ............. 36
Hình 2.10. (a) Gán nhãn thích hợp hơn. (b) Việc gán nhãn chấp nhận được.
(c) Việc gán nhãn gây hiểu nhầm ................................................................... 38
v

Hình 2.12. Một bản vẽ phân cấp với vị trí hai nhãn mỗi cạnh sự dụng thuật
toán Iterative .................................................................................................... 41
Hình 2.13. Đồ thị Flowbased .......................................................................... 42
Hình 2.14. Bản vẽ với vị trí hai nhãn mỗi cạnh bởi thuật toán Flow-based ... 44
Hình 2.15. Một bản vẽ vòng tròn với ba nhãn cho mỗi cạnh và nút được định
vị bằng thuật toán Flow-based trên. Các ô màu trắng là các nhãn cạnh và các
hộp đen là nút nhãn ......................................................................................... 45
Hình 3.1. Hình ảnh sau khi gán nhãn cho bản đồ trường Cao đẳng Công
nghiệp và Xây dựng ở chể độ phóng to ảnh .................................................... 49
Hình 3.2. Hình ảnh sau khi gán nhãn cho bản đồ trường Cao đẳng Công
nghiệp và Xây dựng ở chể độ thu nhỏ ảnh. ..................................................... 50
1

MỞ ĐẦU
1. Lí do chọn đề tài
Công nghệ thông tin đã mang lại cho con người những thành tựu to lớn
trong nhiều lĩnh vực đời sống như xây dựng kiến trúc, bản đồ (đường đi, dầu
mỏ...). Đặc biệt trong lĩnh vực khoa học, nhiều ngành cần có sự hỗ trợ của
công nghệ thông tin như nghiên cứu địa lí, sinh, hóa học, ...
Một trong những ứng dụng quan trọng, đặc biệt trong địa lí, là việc dán
nhãn cho các loại bản đồ, hay chú thích các loại sơ đồ, đồ thị. Tự động đặt vị
trí nhãn là một lĩnh vực trong trực quan hóa thông tin. Nhãn là các đoạn văn
bản nhằm truyền đạt thông tin, làm rõ ý nghĩa của các cấu trúc phức tạp được
biểu diễn ở dạng đồ họa. Bài toán tự động dán nhãn được xác định là một lĩnh
vực nghiên cứu quan trọng của ACM Computational Geometry Task Force
(Đội tính toán hình học ACM):
“Dán nhãn là nguồn của nhiều bài toán tối ưu hóa hình học. Ngay cả
khi nhãn được đặt vào vị trí cố định tương ứng với một điểm, đây vẫn là bài
toán NP-hard. Các bản đồ cần được dán nhãn, vậy cần có các giải thuật hiệu
quả, giải thuật heuristics để xác định những ràng buộc, vị trí có thể.”
1

Bài toán này có ứng dụng trong nhiều lĩnh vực bao gồm vẽ bản đồ, hệ
thống thông tin địa lý và vẽ đồ thị. Hiện trên thế giới đã có nhiều công trình
nghiên cứu về bài toán dán nhãn tự động. Tuy nhiên ở Việt Nam, bài toán này
còn được đề cập đến một cách hạn chế.
Từ sự định hướng của cán bộ hướng dẫn, căn cứ vào sự phát triển và
những ứng dụng của bài toán này, học viên đã quyết định lựa chọn đề tài:

1
“Label placement is a source of many geometric optimization problems. Even when labels are to be placed
in fixed positions relative to point features these are typically NP-hard. Since maps do need labels, heuristics
and efficient algorithms for identifying constraints and possible positions are needed.” – Application
Challenges to Computational Geometry, CG Impact Task Force Report, pp. 18.
2

“MỘT SỐ KỸ THUẬT GÁN NHÃN ĐỐI TƯỢNG TRONG ẢNH VÀ
ỨNG DỤNG”, bởi đây là một đề tài có mang tính thực tiễn cao và đồng thời
mở ra nhiều hướng phát triển nghiên cứu.
2. Lịch sử nghiên cứu
Tài liệu đầu tiên có liên quan tới bài toán dán nhãn có thể là một bản đồ
địa lí, do bản đồ luôn bao gồm hai yếu tố hình vẽ và chữ viết. Bằng chứng đầu
tiên là một tấm bản đồ ước chừng khoảng 2300 năm trước, với tỉ lệ xích
1
500

của vùng ngày nay là miền nam thị trấn Heibei ở Trung Quốc. Bài báo đầu
tiên về bài toán dán nhãn được công bố năm 1962 bởi Eduard Imhof [4],
người đã đặt ra các nguyên tắc cho chất lượng của bản đồ. Trước đó, những
người vẽ bản đồ đánh giá chất lượng một tấm bản đồ được dán nhãn tốt hay
không tốt hoàn toàn chỉ dựa vào kinh nghiệm. Mười năm sau, Pinhas Yoeli
lần đầu tiên thử xây dựng một hệ thống dán nhãn tự động [11]. Trong khoảng
gần hai thập kỉ sau đó, có rất ít nghiên cứu về bài toán dán nhãn tự động.
Tuy nhiên vào đầu những thập niên 80, lượng nghiên cứu về lĩnh vực
dán nhãn tự động tăng đáng kể, thể hiện qua số lượng các bài báo đã được
công bố. Nhiều nhà khoa học trong các lĩnh vực khác như tính toán hình học
hay vẽ đồ thị cũng quan tâm tới chủ đề này. Độ phức tạp của bài toán dán
nhãn thuộc lớp NP-Hard nên đã có nhiều hướng tiếp cận được đề cập như
trong [10]...
3. Mục đích, đối tượng và phạm vi nghiên cứu
Bài toán dán nhãn đã được đề cập, nghiên cứu nhiều trên thế giới. Tuy
nhiên ở Việt Nam dường như còn chưa chú trọng nhiều tới bài toán này. Vì
vậy, đề tài này được xây dựng với các mục đích: Tìm hiểu về bài toán dán
nhãn, ứng dụng của nó trong các lĩnh vực; Tìm hiểu một số vấn đề, các thuật
3

toán liên quan; Đặt nền tảng cho cá nhân nghiên cứu, tìm hiểu sâu hơn về vấn
đề này. Từ đó thiết kế một chương trình thử nghiệm dán nhãn cho một hình
vẽ cụ thể.
Đối tượng và phạm vi nghiên cứu của đề tài tập chung vào các loại bản
đồ địa lí, đồ thị.
4. Phương pháp nghiên cứu
Trong Luận văn này tôi sử dụng một số các phương pháp sau:
- Phương pháp quan sát, tìm hiểu thực tế.
- Phương pháp lý thuyết.
- Phương pháp phân tích tổng hợp.
Với những mục đích nghiên cứu, phạm vi và đối tượng nghiên cứu đề
ra, trong luận văn này tôi trình bày một số các nội dung được trình bày và
phân bố trong các chương như sau:
Chương 1: Giới thiệu khái quát xử lý ảnh, một số vấn đề cơ bản. Trình
bày tổng quan về bài toán dán nhãn cho đối tượng trong ảnh.
Chương 2: Trình bày một số thuật toán gán nhãn cho bài toán ghi nhãn
tổng hợp hay bài toán vị trí nhãn các đối tượng đồ họa (GFLP: Graphical
Feature Label Placement), một tập hợp các điểm (NLP: Node Label
Placement), gán nhãn cho một tập hợp các đường hoặc cạnh (ELP: Edge
Label Placement), nhiều nhãn trên mỗi đối tượng (MLP: Multiple Label
Placement) và kỹ thuật dán nhãn dựa vào hiệu chỉnh đối tượng.
Chương 3: Chương trình
4

Ở đây, tôi sẽ cài đặt theo thuật toán được trình bày trong chương 2 tìm
vị trí thích hợp nhất khi phóng to và thu nhỏ ảnh để hiển thị nhãn tối đa cho
các đối tượng trong một bức ảnh.
5

Chương 1
KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ BÀI TOÁN GÁN NHÃN ĐỐI TƯỢNG
Trong ngành khoa học máy tính, xử lý ảnh là một dạng của xử lý tín
hiệu cho đầu vào là một ảnh hoặc các frame của phim ảnh. Đầu ra có thể là
một hình ảnh, hoặc tập hợp các ký tự hoặc các tham số liên quan tới hình ảnh.
Thường thì kỹ thuật xử lý ảnh có liên quan tới xử lý tín hiệu hai chiều và
được áp dụng bằng một chuẩn riêng về kỹ thuật xử lý ảnh cho nó. Các khái
niệm cơ bản để xử lý tín hiệu như, khái niệm về tích chập, các biến đổi
Fourier, biến đổi Laplace, các bộ lọc hữu hạn,… Ngoài ra còn cần tới các
công cụ toán học như đại số tuyến tính, thống kê. Và một số kiến thức cần
thiết như trí tuệ nhân tao, mạng nơron nhân tạo cũng được đề cập trong quá
trình phân tích và xử lý ảnh.
1.1. Khái quát về xử lý ảnh
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh là một lĩnh vực của tin
học ứng dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các
ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các
chương trình. Xử lý ảnh bao gồm các phương pháp và kỹ thuật để biến đổi, để
truyền tải hoặc mã hóa các ảnh tự nhiên. Mục đích của xử lý ảnh gồm:
Thứ nhất: biến đổi ảnh và làm đẹp ảnh.
Thứ hai: tự động nhận dạng ảnh hay đoán nhận ảnh và đánh giá các nội
dung của ảnh.
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người
ta muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các
đặc tính chủ yếu của đối tượng. Có hai kiểu mô tả đối tượng:
- Mô tả tham số (nhận dạng theo tham số).
- Mô tả theo cấu trúc (nhận dạng theo cấu trúc).
6

Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình
ảnh thành những phần có nghĩa để phân biệt đối tượng này với đối tượng
khác. Dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu.
Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng
biên của một đối tượng trên ảnh, tách cạnh, phân đoạn hình ảnh,... Kỹ thuật
này được sử dụng nhiều trong y học (xử lý tế bào, nhiễm sắc thể).
Trong thực tế người ta đã áp dụng kỹ thuật nhận dạng khá thành công
với nhiều đối tượng khác nhau như: nhận dạng ảnh vân tay, nhận dạng chữ
(chữ cái, chữ số, chữ có dấu). Nhận dạng chữ in hoặc đánh máy trong văn bản
phục vụ cho việc tự động hoá quá trình đọc tài liệu, tăng nhanh tốc độ và chất
lượng thu nhận thông tin từ máy tính, nhận dạng chữ viết tay (với mức độ
ràng buộc khác nhau về cách viết, kiểu chữ,...).
1.1.1. Xử lý ảnh là gì?
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng
vai trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần
cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có
nhiều ứng dụng trong cuộc sống. Xử lý ảnh và đồ hoạ đóng một vai trò quan
trọng trong tương tác người máy.
Xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra
kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một
ảnh “tốt hơn” hoặc một kết luận.

Hình 1.1. Quá trình xử lý ảnh
1.1.2. Các giai đoạn chính trong xử lý ảnh
Giai đoạn xử lý ảnh được mô tả bằng sơ đồ sau:
Ảnh đầu vào XỬ LÝ ẢNH
Ảnh “Tốt hơn”
Kết luận
7


Hình 1.2. Quá trình xử lý ảnh
 Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với
quá trình xử lý ảnh. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như
camera, sensor, máy quét, vv… và sau đó các tín hiệu này sẽ được số
hóa. Các thông số quan trọng ở bước này là độ phân giải, chất lượng
màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị.
 Tiền xử lý: Ở bước này ảnh sẽ được cải thiện về độ tương phản, khử
nhiễu, khử bóng, khử độ lệch, vv… với mục đích làm cho chất lượng
ảnh trở nên tốt hơn và thường được thực hiện bởi các bộ lọc.
 Phân đoạn ảnh: Phân đoạn ảnh là bước then chốt trong xử lý ảnh, giai
đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất
nào đó, dựa theo biên hay các vùng liên thông. Tiêu chuẩn đễ xác định
các vùng liên thông có thể là cùng màu, cùng mức xám hay cùng độ
nhám, vv… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp
từ nhiều phần tử khác nhau cấu tạo nên ảnh thô. Vì lượng thông tin
chứa trong ảnh rất lớn, trong khi đó trong đa số các ứng dụng chúng ta
chỉ cần trích chọn một vài đặc trưng nào đó, do vậy cần có một quá
trình để giảm lượng thông tin khổng lồ ấy. Quá trình này bao gồm phân
vùng ảnh và trích chọn đặc tính chủ yếu.
Tiền xử lý ảnh
Thu nhận
CƠ SỞ
TRI THỨC
Phân đoạn
Biểu diễn và
mô tả ảnh
Nhận dạng
và giải thích
8

 Biểu diễn và mô tả ảnh: Kết quả của bước phân đoạn ảnh thường được
cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một
vùng ảnh, hoặc tập hợp các điểm ảnh thuộc về chính vùng ảnh đó.
Trong cả hai trường hợp sự chuyển đổi dữ liệu thô này thành một dạng
thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Để chuyển
đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng
ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả
những điểm ảnh thuộc về nó. Biểu diễn dạng biên cho một vùng phù
hợp với những ứng dụng chỉ quan tâm chủ yếu đến các đặc trưng hình
dạng bên ngoài của đối tượng, ví dụ như các góc cạnh và điểm uốn trên
biên. Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác
các tính chất bên trong của đối tượng, ví dụ như vân ảnh hay cấu trúc
xương của nó. Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh
chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một
dạng thích hợp hơn cho những xử lý về sau. Chúng ta còn phải đưa ra
một phương pháp mô tả dữ liệu đã được chuyển đổi đó sao cho những
tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc
xử lý chúng.
 Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình xử lý
ảnh. Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc
gán nhãn cho các đối tượng trong ảnh. Giải thích là công đoạn gán
nghĩa cho một tập các đối tượng đã được nhận biết.
Chúng ta có thể thấy rằng, không phải bất kỳ một ứng dụng xử lý ảnh
nào cũng bắt buộc phải tuân theo các bước xử lý đã nêu ở trên, ví dụ như các
ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý. Một cách
tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích
9

thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động,
được dùng để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các
ứng dụng nhận dạng kí tự quang học, nhận dạng chữ viết tay vv…
1.1.3. Một số vấn đề cơ bản trong xử lý ảnh
1.1.3.1. Điểm ảnh – Pixel
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ
sáng. Để có thể xử lý ảnh bằng máy tính cần phải tiến hành số hoá ảnh. Trong
quá trình số hoá, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông
qua quá trình lấy mẫu (rời rạc hoá về không gian) và lượng hoá thành phần
giá trị mà về nguyên tắc bằng mắt thường không phân biệt được hai điểm kề
nhau. Trong quá trình này người ta sử dụng khái niệm Picture element mà ta
quen gọi là Pixel - phần tử ảnh. Như vậy, một ảnh là một tập hợp các Pixel.
1.1.3.2. Mức xám – Gray level
Mức xám là kết quả của sự mã hóa tương ứng một cường độ sáng của
mỗi điểm ảnh với một giá trị sáng, kết quả của quá trình lượng tử hóa. Cách
mã hóa kinh điển thường dùng là 16, 32 hay 64 mức. Phổ dụng nhất là mã hóa
ở mức 256, ở mức này mỗi Pixel sẽ được mã hóa bởi 8 bít.
1.1.3.3. Biên
Biên là một đặc tính rất quan trọng của đối tượng trong ảnh, nhờ vào
biên mà chúng ta phân biệt được đối tượng này với đối tượng kia. Một điểm
ảnh có thể gọi là điểm biên nếu ở đó có sự thay đổi đột ngột về mức xám. Tập
hợp các điểm biên gọi là biên hay còn gọi là đường bao ảnh.
1.1.3.4. Láng giềng
Trong xử lý ảnh có một khái niệm rất quan trọng, đó là khái niệm láng
giềng. Có hai loại láng giềng: 4 láng giềng và 8 láng giềng.
10

4 láng giềng của một điểm (x,y) là một tập hợp bao gồm láng giềng dọc và
láng giềng ngang của nó:
N
4
((x,y)) = {(x+1,y), (x-1,y), (x,y+1), (x,y-1)} (1.1)
8 láng giềng của (x,y) là một tập cha của 4 láng giềng và bao gồm láng giềng
ngang, dọc và chéo:
N
8
((x,y)) = N
4
((x,y)) {(x+1,y+1), (x-1,y-1), (x+1,y-1), (x-1,y+1)} (1.2)

1.1.3.5. Vùng liên thông
Một vùng R được gọi là liên thông nếu bất kỳ hai điểm (x
A
,y
A
) và
(x
B
,y
B
) thuộc vào R có thể được nối bởi một đường (x
A
,y
B
) ... (x
i-1
,y
i-1
), (x
i
,y
i
),
(x
i+1
,y
i+1
) ... (x
B
,y
B
), mà các điểm (x
i
,y
i
) thuộc vào R và bất kỳ điểm (x
i
,y
i
) nào
đều kề sát với điểm trước (x
i-1
,y
i-1
) và điểm tiếp theo (x
i+1
,y
i+1
) trên đường đó.
Một điểm (x
k
,y
k
) được gọi là kề với điểm (x
l
,y
l
) nếu (x
l
,y
l
) thuộc vào láng
giềng trực tiếp của (x
k
,y
k
).
1.1.3.6. Biểu diễn ảnh
Trong biểu diễn ảnh, người ta dùng các phần tử đặc trưng của ảnh là
pixel. Có thể xem một hàm hai biến chứa các thông tin như biểu diễn của ảnh,
việc xử lý ảnh số yêu cầu ảnh phải được mã hóa và lượng tử hóa. Việc lượng
tử hóa ảnh là chuyển đổi tín hiệu tương tự sang tín hiệu số của một ảnh đã lấy
mẫu sang một số hữu hạn mức xám.
Một số mô hình thường được dùng trong xử lý ảnh, mô hình toán, mô hình
thống kê.
1.1.3.7. Tăng cường và khôi phục ảnh
Tăng cường ảnh là bước quan trọng tạo tiền đề cho xử lý ảnh, gồm một
loạt các kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu…
11

Khôi phục ảnh là nhằm loại bỏ các suy giảm trong ảnh.
1.1.3.8. Biến đổi ảnh
Trong thuật ngữ biến đổi ảnh thường được dùng để nói đến một lớp các
ma trận đơn vị và các kỹ thuật dùng để biến đổi ảnh. Một số loại biến đổi
được dùng như: biến đổi Fourier, Sin, Cosin, Hadamard, tích Kronecker, biến
đổi Karhumen oeve…
1.1.3.9. Phân tích ảnh
Liên quan đến việc xác định các độ đo định lượng của một ảnh để đưa
ra một mô tả đầy đủ về ảnh. Các kỹ thuật được sử dụng ở đây nhằm mục đích
xác định biên của ảnh.
1.1.3.10. Nhận dạng ảnh
Là quá trình liên quan đến việc mô tả các đối tượng mà người ta muốn
đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tính
chủ yếu của đối tượng.
Có hai kiểu mô tả đối tượng đó là: mô tả tham số (nhận dạng theo tham số) và
mô tả theo cấu trúc (nhận dạng theo cấu trúc).
1.1.3.11. Nén ảnh
Dữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi
trên mạng, lượng thông tin để biểu diễn cho một ảnh là rất lớn. Do đó làm
giảm lượng thông tin hay nén dữ liệu là một nhu cầu cần thiết.
1.2. Tổng quan về bài toán dán nhãn
1.2.1. Giới thiệu bài toán
Đây là bài toán có ứng dụng trong nhiều lĩnh vực bao gồm vẽ bản đồ,
hệ thống thông tin địa lý và vẽ đồ thị.
12

Do quá trình dán nhãn là nhiệm vụ đơn điệu nhưng lại rất cần thiết nên
rất thích hợp cho tự động hóa. Rất khó để định lượng tất cả các đặc tính của
một vị trí tốt để dán nhãn do những vị trí này còn phụ thuộc vào cảm nhận của
con người như trực giác và kinh nghiệm..., đặc biệt là khi những cảm giác,
kinh nghiệm này được hoàn thiện qua nhiều thế kỷ bởi những nhà vẽ bản đồ
và được họ nâng lên thành một nghệ thuật. Vì vậy các vị trí nhãn do các hệ
thống máy tính cung cấp khó có thể có chất lượng tương đương so với làm
thủ công bởi những người làm bản đồ có kinh nghiệm. Tuy vậy vẫn có nhiều
lĩnh vực không có nhiều đòi hỏi cao, nghiêm ngặt về tính thẩm mĩ, các kỹ
thuật tự động dán nhãn có thể được áp dụng trong những trường hợp này. Ví
dụ có thể áp dụng để dán nhãn tức thời cho những hệ thống thông tin địa lý
trực tuyến, tìm kiếm bản đồ trên internet hay một số bản đồ với mục đích đặc
biệt khác như hiển thị điều tra dân số, thăm dò dầu khí, điều tra đất. Hiện tại,
các hệ thống tương tác bán tự động có thể là hướng tiếp cận phổ biến nhất cho
nghiên cứu dán nhãn tự động. Các hệ thống có thể cung cấp các vị trí nhãn,
những vị trí này sau đó được chỉnh sửa thủ công để đạt được kết quả như
mong muốn. Hơn nữa toàn bộ khái niệm của dán nhãn bản đồ tự động có thể
thay đổi phụ thuộc vào khả năng của máy tính. Bản đồ có thể được thể hiện
dưới dạng điện tử, cho phép tương tác với người dùng để hiển thị những
thông tin theo yêu cầu thay vì hiển thị toàn bộ mọi thông tin.
1.2.2. Mô tả bài toán gán nhãn cho đối tượng
Cho Γ là một bản vẽ và F là tập hợp các đối tượng đồ họa của Γ được
dán nhãn. Một giải pháp cho bài toán gán nhãn cho các bản vẽ Γ bằng văn bản
hoặc ký tự cho mỗi thành phần f của F sao cho các thông tin có liên quan
được truyền đạt một cách tốt nhất có thể. Điều này có thể đạt được bằng cách
định vị các nhãn ở các vị trí thích hợp nhất.
13

Vị trí nhãn tốt sẽ hỗ trợ trong việc truyền đạt thông tin và tăng cường
tính thẩm mỹ của bản vẽ. Rất khó để xác định được tất cả các đặc tính của
một vị trí nhãn tốt, bởi vì chúng phụ thuộc vào nhận thức thị giác và trực giác
của con người. Việc dán nhãn sẽ dễ dàng trong trường hợp các đối tượng của
bức vẽ có vị trí độc lập. Khó khăn xảy ra khi vị trí có thể dán nhãn bị hạn chế
bởi sự hiện diện của các đối tượng khác gần đó. Trong trường hợp thường gặp
này, thông thường ta không phải chỉ quan tâm tới đặt vị trí của một nhãn cho
thích hợp với đối tượng của nó mà còn cần chú ý đến cả các nhãn và đối
tượng khác trong khoảng không gian xung quanh đó.
Trong bài toán gán nhãn cho đối tượng thành công, nhãn phải được đặt
sao cho người xem dễ đọc và theo tiêu chuẩn chất lượng thẩm mỹ cơ bản.
Theo như những người chuyên vẽ bản đồ như Imhof [4] và Yoeli [5], những
người đã nghiên cứu rộng rãi chủ đề này, nhãn phải được đặt ở vị trí tốt nhất
có sẵn theo một số quy tắc cơ bản: Nhãn phải được dễ dàng đọc, nhanh chóng
xác định vị trí một nhãn và đối tượng mà nó thuộc về thì nên được dễ dàng
thừa nhận, nhãn phải được đặt rất gần với các đối tượng của chúng, nhãn
không được che khuất các nhãn khác hoặc các đối tượng khác, một nhãn phải
được đặt ở vị trí thích hợp nhất trong số tất cả các vị trí dễ đọc. Tóm tắt các
đánh giá chất lượng gán nhãn trong ba quy tắc cơ bản sau đây:
- Không có sự chồng chéo của một nhãn với các nhãn khác, các đối
tượng đồ họa khác của bản vẽ.
- Mỗi nhãn có thể dễ dàng được xác định là của đối tượng nào trong
hình vẽ.
- Mỗi nhãn phải được đặt ở vị trí tốt nhất có thể (trong số tất cả các
nhãn có vị trí chấp nhận được). Thứ tự hiển thị ưu tiên giữa các vị trí
nhãn có thể thay đổi tùy theo ứng dụng cụ thể.
14

(a)
(b)
(c)
Hình 1.3. (a) Dán nhãn của một nút. (b) Dán nhãn của một cạnh. (c) Dán
nhãn của một khu vực.
Trong việc sản xuất các bản đồ địa lý, việc sắp xếp thứ tự vị trí nhãn
theo nguyên tắc xây dựng qua nhiều năm kinh nghiệm, mà thường nắm bắt
được chất lượng thẩm mỹ của vị trí nhãn. Một nguyên tắc đặc trưng khi dán
nhãn điểm nút là nhãn phải được đặt ở bên phải và bên trên điểm. Ví dụ, trong
hình 1.3 (a) số thứ tự của từng vị trí nhãn cho thấy thứ hạng ưu tiên của nhãn
cho nút này. Ngoài ra, nhãn của một điểm được phép chạm vào nhưng không
chồng chéo lên điểm liên quan hoặc bất kỳ đối tượng đồ họa khác trong bản
vẽ. Trong trường hợp gán nhãn cho đường thẳng (cạnh), một nhãn được chấp
nhận khi chạm vào đường đó, nhưng nó không nên chồng chéo bất kỳ đối
tượng đồ họa khác trong một bản vẽ. Trong hình 1.3 (b), nơi mà đối tượng đồ
họa được dán nhãn là một đoạn thẳng, nhãn như A, B và D có vị trí thích hợp
hơn nhãn C, nhãn được đặt chồng lên cạnh liên quan, nó có thể chấp nhận
được với một số thời gian thích hợp để gán nhãn cho nó. Thực tế được chấp
nhận cho việc đặt một nhãn gắn liền với một khu vực là phải có nhãn trải dài
toàn bộ khu vực và phù hợp với hình dạng của nó, như thể hiện trong hình 1.3
(c).
Khi các đối tượng đồ họa được dán nhãn thuộc về một bản đồ kỹ thuật
hoặc bản vẽ, sau đó là một bộ quy tắc khác nhau của quy định quản lý các vị
15

trí nhãn thích hợp. Những quy định này phụ thuộc vào các ứng dụng cụ thể,
và phải tuân theo thông số kỹ thuật người dùng.

(a)

(b)
Hình 1.4. (a) Gán nhãn đúng. (b) Gán nhãn gây hiểu nhầm.
Ví dụ, nếu các đối tượng đồ họa là một cạnh của một bản vẽ đồ thị,
người sử dụng phải có khả năng xác định rằng vị trí thuận lợi nhất để một
nhãn là gần với các nguồn hoặc nút đích. Ví dụ, một nhãn của một cạnh duy
nhất có liên quan đến nút nguồn của nó phải được đặt gần nút nguồn (xem
hình 1.4 (a)) để tránh cách gán nhãn gây nhầm lẫn (xem hình 1.4(b)). Điều
quan trọng cần nhấn mạnh là người sử dụng phải có khả năng tùy chỉnh các
quy tắc về loại nhãn để đáp ứng nhu cầu cụ thể. Vì vậy, bất kỳ thuật toán ghi
nhãn nào tốt phải tính đến người sử dụng.
Bài toán gán nhãn
Kí hiệu: Cho tập hợp F là tập các đối tượng đồ họa của một bản đồ
hoặc một bản vẽ, để gán nhãn cho chúng thì ta định nghĩa như sau:
16

Λ
f
là tập tất cả các vị trí nhãn cho đối tượng đồ họa f (f ∈ F).
Λ là tập hợp của tất cả các vị trí nhãn cho các đối tượng đồ họa được
gán nhãn.
λ: F → Λ là một hàm gán vị trí nhãn trong Λ cho đối tượng đồ thị f (f ∈
F), hay λ (f) = λ
f
∈ Λ
f.

Bài toán gán nhãn có thể được xem như là một vấn đề tối ưu hóa mà
mục tiêu là để tìm cách gán nhãn với thời gian tối thiểu mà mỗi đối tượng đồ
họa có một vị trí nhãn được gán. Mỗi vị trí nhãn λ
f
là một phần nhiệm vụ để
gán nhãn cuối cùng với thời gian thực. COST: Λ → N là hàm cung cấp cho vị
trí nhãn λ
f
với thời gian ngắn và tối ưu nhất.
Định nghĩa:
Giả thiết: Cho F là tập hợp đối tượng đồ họa được gán nhãn.
Câu hỏi: Tìm cách gán nhãn tối thiểu hóa hàm sau đây:
ì
e eA
¿¿
OS ( ( )) ( , )
i
i F j
C T i P i j

Với
ì ¦
=
´
¹
1, nÕu (i)=j
P(i, j)
0, tr­êng hîp kh¸c


e eA
=
¿¿
( , )
i
i F j
P i j F

Trong đó
eA
= e
¿
( , ) 1, .
i
j
P i j i F

17

Chương 2
MỘT SỐ KỸ THUẬT TÍNH TOÁN VÀ HIỂN THỊ NHÃN ĐỐI TƯỢNG
Phần lớn nghiên cứu giải quyết các bài toán gán nhãn đã được tập trung
vào việc ghi nhãn cho đối tượng của bản đồ địa lý và kỹ thuật. Vấn đề vị trí
nhãn thường được phân chia thành ba nhiệm vụ: (a) ghi nhãn điểm (ví dụ như
thành phố), (b) ghi nhãn đường (ví dụ như con đường hoặc dòng sông), và (c)
ghi nhãn khu vực (ví dụ như hồ hoặc đại dương).
Đã có nhiều nghiên cứu để giải quyết bài toán gán nhãn cho một tập
hợp các điểm hoặc các nút, bài toán vị trí nút nhãn (NLP: Node Label
Placement) [10]. Việc gán nhãn cho một tập hợp các đường hoặc cạnh, cũng
được gọi là Bài toán vị trí cạnh nhãn (ELP: Edge Label Placement) [4]. Bài
toán ghi nhãn tổng hợp, bài toán vị trí nhãn các tính năng đồ họa (GFLP:
Graphical Feature Label Placement) nơi một đặc điểm đồ họa có thể là một
điểm, đường, hoặc khu vực, đã được giải quyết chủ yếu trong khuôn khổ của
ngành bản đồ; Tuy nhiên, nó đã trực tiếp ứng dụng trong lĩnh vực vẽ đồ thị.
Trong nhiều ứng dụng thực tế, mỗi đặc điểm đồ họa có thể có nhiều
hơn một nhãn. Sự cần thiết phải chỉ định nhiều nhãn không chỉ khi các đối
tượng được gán lớn hoặc dài, nhưng cũng khi nó là cần thiết để hiển thị các
thuộc tính khác nhau của một đối tượng. Vấn đề này được gọi là Bài toán vị
trí đa nhãn (MLP: Multiple Label Placement) và đã được giải quyết [5].
Quá trình ghi nhãn không được phép sửa đổi các hình học cơ bản của
địa lý và bản đồ kỹ thuật vì đó là cố định. Tuy nhiên, có thể sửa đổi một bản
vẽ đồ thị để phù hợp với vị trí của nhãn, thuật toán sửa đổi cách bố trí hiện tại
của đồ thị vẽ để nhường chỗ cho các vị trí của nhãn, thuật toán kết hợp bố trí
và quá trình ghi nhãn của các bản vẽ trực giao của đồ thị được trình bày.
18

Một cách tiếp cận khác để hiển thị nhãn cạnh. Mỗi cung được thay thế
bởi nhãn cạnh tương ứng trong bản vẽ. Phông chữ nhãn bắt đầu lớn hơn từ nút
nguồn và thu nhỏ dần dần cho đến khi nó đạt đến đích nút. Các nhãn nhỏ
giảm dần cũng chỉ ra hướng của cạnh.
Cần lưu ý rằng cả hai bài toán NLP và ELP đều là kỹ thuật khó. Bởi vì
tự động ghi nhãn là một vấn đề rất khó khăn, cần dựa vào các giải thuật
heuristic để tìm lời giải cho các bài toán thực tế. Nhiều loại giải thuật đã được
sử dụng để giải bài toán dán nhãn như: Giải thuật tham lam [4], giải thuật tìm
kiếm vét cạn [7], giải thuật mô phỏng [4],...
2.1. Kỹ thuật GFLP (Graphical Feature Label Placement)
2.1.1. Giới thiệu
Hầu hết các giải thuật dán nhãn của GFLP sử dụng thuật toán tìm kiếm
vét cạn [7]. Các thuật toán này hoạt động tốt cho các bài toán số liệu nhỏ.
Những phương pháp này sử dụng kỹ thuật không tối ưu, như chỉ ra. Trên thực
tế, những phương pháp này sử dụng phương pháp tiếp cận dựa trên nguyên
tắc để đánh giá tốt vị trí nhãn và biến thể của tìm kiếm theo chiều sâu để
khám phá các cấu hình ghi nhãn khác nhau. Cách tiếp cận dùng để mô phỏng,
để tìm giải pháp cho bài toán gán nhãn chung, và nó tách biệt các kiến thức về
bản đồ, nó cần thiết để nhận biết các vị trí nhãn tốt nhất từ các quy trình tối ưu
hóa cần thiết để tìm thấy chúng.
Tất cả các kỹ thuật ở trên cho bài toán ghi nhãn tổng hợp đầu tiên tạo ra
một nhãn ban đầu mà trong đó cuộc xung đột giữa các nhãn được phép. Sau
đó chúng được giải quyết bằng định vị được lại gán nhãn cho đến khi tất cả
các cuộc xung đột được giải quyết, hoặc không cải thiện hơn nữa có thể đạt
được. Hơn nữa chúng bắt đầu với một thiết lập ban đầu khá nhỏ của của các
19

vị trí nhãn, vị trí tiềm năng mà từ đó họ lấy để gán nhãn cuối cùng. Việc thực
hiện các kỹ thuật giảm khi số lượng các vị trí các nhãn tiềm năng tăng.
2.1.2. Khái quát thuật toán
Kỹ thuật ghi nhãn được chuyển thành một bài toán tổng hợp. Nội dung
của kỹ thuật này là có thể linh hoạt tùy chỉnh cho yêu cầu ghi nhãn cụ thể.
Trong phần tiếp theo kỹ thuật này được trình bày chi tiết hơn.
* Thuật toán gán nhãn cơ bản GFLP
Đầu vào: Một Γ vẽ và tập hợp F của các đối tượng để được dán nhãn.
Đầu ra: Một phép dán nhãn đảm bảo không bị chồng chéo.
1. Một tập hợp các giải pháp nhãn tốt cho mỗi đối tượng trong F được
chọn lọc.
2. Tập hợp các nhãn được giảm đi bằng cách loại bỏ nhãn rất nhiều
nhãn chồng chéo. Còn lại các nhãn được gán cho các nhóm, chẳng hạn, nếu
hai nhãn chồng lên nhau sau đó chúng thuộc về cùng một nhóm.
3. Nhãn được gán bằng cách giải quyết một biến thể của bài toán tổng
hợp, trong đó tối đa một vị trí nhãn của mỗi nhóm là phần của giải pháp.
Ba bước cơ bản của các thuật toán ghi nhãn được trình bày chi tiết:
Chọn nhãn
Để tìm một tập hợp các vị trí nhãn riêng biệt cho từng đặc điểm đồ họa,
một số chẩn đoán có thể được sử dụng. Cho điểm, một số vị trí nhãn chạm
vào điểm tương ứng của nó đã được xác định. Trong hầu hết các thuật toán
một tập hữu hạn các vị trí nhãn tiềm năng có liên kết với mỗi điểm, điển hình
là số lượng của tập này là bốn hoặc tám như minh hoạ trong hình 2.2.
Nó thường được chấp nhận, đặc biệt là trong khuôn khổ của ngành bản
đồ, nhãn phải tuân theo hình dạng chung của khu vực tương ứng của nó, khu
vực có nhãn phải hiển thị theo các ranh giới bên trong.
20


Hình 2.1. Bản vẽ hướng nơi nhãn được định vị bằng các kỹ thuật phù hợp
cho kỹ thuật GFLP. Các nhãn được đặt song song với trục ngang. Hộp
màu xám là nút nhãn và hộp trắng cạnh nhãn.
Tiếp theo, việc tìm kiếm một tập hợp các ví trí nhãn tương ứng với
cạnh của bản vẽ đồ thị được trình bày. Như hình 2.1 minh hoạ, một số điểm
cách đều nhau trên mỗi cạnh được xác định. Mỗi nhãn được gán vị trí λ
i

liên quan chính xác với một trong các điểm i, như vậy mà một trong các góc
của nhãn λ
i
trùng với điểm i. Ngoài ra, nhãn λ
i
không chồng chéo lên đặc
điểm đồ họa tương ứng của nó hoặc bất kỳ tính năng đồ họa khác (ngoại trừ
các vị trí nhãn khác). Phương pháp tiếp cận cho việc tìm kiếm một thiết lập
ban đầu của trị trí nhãn cho ngang cạnh có thể được tìm thấy trong phần 2.2.
Việc giảm nhãn
Việc thiết lập kích thước ban đầu của vị trí nhãn phải được giữ hợp lý
vì nó ảnh hưởng đến việc thực hiện của bất kỳ thuật toán ghi nhãn.
21

Để làm giảm các thiết lập ban đầu vị trí nhãn của một đồ thị giao, nơi
mỗi vị trí nhãn là một điểm và nếu vị trí hai nhãn giao nhau sau đó sẽ hình
thành một cạnh.
Hình 2.2. Vị trí nhãn có thể cho một điểm.
Kết nối các nút tương ứng của chúng. Nếu vị trí nhãn song song với các
trục sau đó trùng lặp có thể được phát hiện bằng cách sử dụng các kỹ thuật để
phát hiện sự chồng chéo giữa các hình chữ nhật trong thời gian O (n log n +
K) (n là số lượng hình chữ nhật và K là số nút giao). Nếu không, để phát hiện
sự chồng chéo của các nhãn với định hướng tùy ý, các kỹ thuật có thể được sử
dụng để phát hiện nút giao giữa đa giác lồi trong |
.
|

\
|
+
+
K n O
c 3 / 4
thời gian
(n là tổng số số đỉnh của các đa giác, tất cả, K là số lượng các cặp của đa giác
giao nhau, và
c
là hằng số bất kỳ lớn hơn 0).
Sau đó, nhiều nhãn chồng chéo được loại bỏ. Các nhãn còn lại được
gán cho các nhóm, như vậy, nếu hai nhãn chồng lên nhau thì chúng thuộc về
cùng một nhóm. Mục tiêu của bước ba của thuật toán là chọn tối đa một nhãn
từ mỗi nhóm như một phần của giải pháp. Bằng cách này, các thuật toán sẽ
tạo ra một gán nhãn không chồng chéo.
Giải pháp tối ưu sẽ là một với số lượng lớn đồ thị con có kích thước ít
nhất đồ thị giao nhau, với ràng buộc bổ sung mà mỗi đối tượng có một số
lượng lớn các vị trí nhãn như là một phần của các nhóm.
2
3
1
4
2
3
1
4



5
6
8
7
22

Gán nhãn thành công khi mỗi đối tượng có một số lớn vị trí nhãn tiềm
năng liên kết với nó. Trong thực tế mục đích là tìm thấy một tập hợp các vị trí
nhãn của đồ thị con. Điều này có thể được thực hiện bằng cách sử dụng chẩn
đoán dựa trên kỹ thuật giải quyết vấn đề tập hợp độc lập.


Hình 2.3. Một đồ thị với vị trí nhãn được gán cho mỗi cạnh của bản vẽ.
Rất nhiều nhãn chồng chéo được loại bỏ, trong khi duy trì một số lượng
lớn các nhãn khác cho mỗi đối tượng f bằng cách theo dõi số lượng nhãn kết
hợp với f. Mục đích là để làm giảm các đồ thị giao thành một tập hợp các đồ
thị con bị ngắt kết nối.
Đầu tiên, để làm cho quá trình này hiệu quả hơn thì bước tiền xử lý
được áp dụng là loại bỏ nhãn không cần thiết hoặc nhãn được gán trong
trường hợp rõ ràng. Ví dụ, nếu một nhãn vị trí l của một đối tượng f không
Nhãn cho đường (1,2)
Nhãn cho đường (1,3)
Nhãn cho đường (2,3)
23

trùng lặp, sau đó tất cả các vị trí nhãn cho f với thứ hạng thấp hơn l có thể
được gỡ bỏ một cách an toàn.
Tiếp theo, một số thích hợp của các nhãn chồng lên nhau được lấy ra.
Rất đơn giản để loại bỏ các nhãn chồng chéo như sau: Nếu một đồ thị con c
phải được chia, sau đó các nút với mức độ cao nhất được lấy ra từ c, trừ khi
nút tương ứng với vị trí nhãn của một số đối tượng có rất ít vị trí nhãn. Trong
trường hợp đó, nút mức độ tiếp theo cao nhât từ c được lấy ra. Quá trình này
được lặp đi lặp lại cho đến khi hoặc c được chia thành ít nhất hai đồ thị con
rời nhau, hoặc c được hoàn tất.
Kết hợp nhãn vào các đối tượng
Định nghĩa đồ thị kết hợp như sau:
Cho một hình vẽ Γ, tập hợp F là các đối tượng cần được dán nhãn, và
một tập hợp các vị trí Λ nhãn cho F, đồ thị kết hợp G
m
(V
F
, V
c
, E
m
) được định
nghĩa như sau:
- Mỗi nút trong V
F
tương ứng với một đối tượng trong F.
- Mỗi nút trong V
c
tương ứng với một nhóm các nhãn trùng nhau.
- Mỗi cạnh (i, j) trong E
m
nối liền một nút i trong V
F
, với một nút j
trong V
c
, khi và chỉ khi các đối tượng cần dán nhãn i có vị trí nhãn
nằm trong j (j tương ứng với một nhóm các vị trí nhãn trùng nhau)..
Chú ý rằng G
m
là một đồ thị lưỡng phân và chi phí của việc gán nhãn l
cho đối tượng f là trọng số của cạnh (f, l) trong G
m
. Vậy lời giải tối ưu cho bài
toán là một đồ thị con của G
m
sao cho hai cạnh bất kì không chung đỉnh đầu,
cuối, tổng số cạnh là nhiều nhất và tổng trọng số là nhỏ nhất (maximum
cardinality minimum weight matching). Có thể đánh giá được độ khó của bài
24

toán dán nhãn thông qua biểu diễn bài toán bằng một đồ thị lưỡng phân. Xét
trường hợp đơn giản, nếu mỗi đối tượng chỉ có một vị trí có thể dán nhãn, bài
toán trở thành tìm tập con độc lập lớn nhất.
Khi đã thiết lập được các nhóm, việc xây dựng đồ thị kết hợp là hoàn
toàn có thể. Việc tìm phép dán nhãn cuối cùng là tìm đồ thị con của G
m
sao
cho hai cạnh bất kì không chung đỉnh đầu, cuối, tổng số cạnh là nhiều nhất và
tổng trọng số là nhỏ nhất (maximum cardinality minimum weight matching).
Đã có một số giải thuật hiệu quả cho bài toán này [8]. Độ lớn của đồ thị kết
hợp phụ thuộc vào cỡ của hình đầu vào, cỡ tập A của các nhãn và mật độ
chồng chéo. Nhiều nhất chỉ một vị trí nhãn trong mỗi nhóm được lựa chọn
vào lời giải vì vậy một phép kết hợp của đồ thị G
m
sẽ là một cách dán nhãn
không có chồng chéo, giá của mỗi vị trí nhãn sẽ chỉ phụ thuộc vào hạng của
nhãn. Có nghĩa là có thể xác định giá của vị trí nhãn qua một bước tiền xử lý.
2.2. Kỹ thuật ELP (Edge Label Placement)
2.2.1. Giới thiệu
Bài toán dán nhãn cho các đường thẳng, cạnh (ELP) cũng được đề cập
đến trong lĩnh vực vẽ bản đồ địa lý, bản đồ kỹ thuật [10] hay vẽ đồ thị. Các kỹ
thuật giải quyết kỹ thuật GFLP đều có thể sử dụng cho bài toán ELP.
Trong lĩnh vực vẽ bản đồ địa lý, bản đồ kỹ thuật, cạnh là các đường
định tuyến, ví dụ nhãn phải được đặt dọc, song song theo đường bờ sông,
đường đi, đường biên... Nếu những đường này là cong, hình dạng của nhãn
phải theo đường cong của các đặc điểm đó. Vị trí nhãn của địa điểm đó có độ
lớn nhất kể từ khi nhãn có thể được đặt gần như bất cứ nơi nào dọc theo các
đặc tính thẳng, do đó việc vẽ bản đồ đã tập trung về việc tìm kiếm hình dạng
đúng của nhãn thẳng.
25

Tuy nhiên, trong điều kiện của bản vẽ đồ thị, việc đặt nhãn lên cạnh là
một quá trình phức tạp. Cạnh không nhất thiết phải dài, chúng thường có thể
là đường thẳng hoặc một chuỗi đa giác và chúng cần phải theo tùy chọn của
người dùng và chi tiết của kỹ thuật. Ví dụ nhãn một cạnh có thể liên quan đến
các nút nguồn của đường đó, vì vậy nó phải được đặt gần hơn với các nút
nguồn chứ không phải là điểm mục tiêu để tránh gán nhãn gây nhầm lẫn (xem
hình 1.4).
Trong [11], một hệ thống ghi nhãn được giới thiệu bao gồm hệ thống
giao diện tương tác và công cụ ghi nhãn để giải quyết kỹ thuật ELP trong
khuôn khổ một trình soạn thảo vẽ đồ thị. Nó là đáng chú ý rằng giao diện của
hệ thống cho phép người dùng có thể tùy chọn tương tác ghi nhãn.
Sau đây là đề xuất một kỹ thuật nhanh, đơn giản giải quyết bài toán dán
nhãn ở dạng text hay ký tự cho các cạnh của đồ thị. Kỹ thuật này được đề cập
đến lần đầu tiên trong [6].
2.2.2. Thuật toán Fast ELP
Kỹ thuật này được dựa trên các kỹ thuật phù hợp để giải quyết bài toán
ghi nhãn GFLP và được trình bày trong phần 2.1. Kỹ thuật này áp dụng cho
nhãn song song với hai trục, và có xấp xỉ bằng chiều cao và chiều rộng tùy ý.
Để đơn giản hóa các giả thiết sau đây được thực hiện:
- Tất cả nhãn có cùng kích thước.
- Mỗi cạnh chỉ cần gán một nhãn
Mục đích của kỹ thuật này là để gán cho mỗi cạnh một vị trí nhãn sao
cho không chồng chéo và chạm vào cạnh nó được chú thích đến. Ý tưởng
chính của kỹ thuật này là như sau: Trước tiên, một tập hợp các vị trí Λ nhãn
được tạo. Tiếp theo, các vị trí nhãn được nhóm lại sao cho mỗi vị trí nhãn là
một phần của một nhóm vị trí nhãn trùng lặp khác thuộc về cùng một nhóm.
26

Sau đó, cạnh các vị trí nhãn được kết hợp bằng cách cho phép nhiều nhất một
vị trí nhãn của mỗi nhóm là một phần của một nhiệm vụ nhãn bằng cách sử
dụng một kết hợp phỏng đoán nhanh. Để hạn chế kỹ thuật ELP cho một bài
toán kết hợp là tạo ra một thiết lập ban đầu phù hợp của vị trí nhãn.

Hình 2.4. Khả năng gán các nhãn của hình vẽ
Thiết lập ban đầu của vị trí nhãn được tạo ra trong cách sau đây. Ảnh
đầu vào được chia liên tiếp thành dải ngang bằng chiều cao. Chiều cao của
mỗi dải là tương đương với chiều cao của các nhãn. Tiếp theo, một tập hợp
các nhãn vị trí Λ
e
cho mỗi cạnh e được tìm thấy. Mỗi nhãn được đặt bên trong
một dải ngang. Nhãn được bỏ bên trong mỗi dải ngang cho đến khi một nhãn
chạm cạnh của nó. Vị trí nhãn e bao gồm thiết lập Λ
e
nếu nó không trùng lặp
bất kỳ đặc điểm đồ họa khác hoặc chỉ trùng lặp vị trí nhãn của một số cạnh
khác hơn so với e, như minh hoạ trong hình 2.4. Vị trí nút nhãn chồng lên
nhau hoặc cạnh không được bố trí. Vị trí các nhãn không được phép để giao
cắt lên các cạnh liên quan. Vị trí nhãn nằm hoàn toàn bên trong dải ngang. Vì
27

vậy, vị trí nhãn chỉ có thể chồng chéo các nhãn thuộc về cùng dải ngang cùng.
Từ đó ta có những khẳng định sau:
- Một vị trí nhãn của cạnh e không trùng bất kì vị trí nhãn nào khác
của e.
- Nếu hai vị trí nhãn có phần trùng lên nhau thì hai vị trí phải thuộc
cùng một dải băng ngang.
- Mỗi vị trí nhãn chồng lên nhiều nhất là một vị trí nhãn khác.
Nếu hai nhãn có vị trí trùng nhau thì chúng thuộc về cùng một nhóm.
Nếu một vị trí nhãn là không có nhãn trùng lặp thì nó thuộc về một nhóm có
thành viên duy nhất. Cần khởi tạo tập vị trí nhãn tương đối nhỏ vì độ lớn của
tập này ảnh hưởng đến hiệu quả do cách phân vùng không gian. Các phương
pháp trên xác định một tập hợp các các vị trí nhãn khả năng là rất thiết thực
và có hiệu quả bởi vì nó phân vùng không gian tìm kiếm và xác định các vùng
của bản vẽ nơi vị trí nhãn chồng chéo có thể xảy ra.
.
Hình 2.5. (a) Một bản vẽ đơn giản với các vị trí nhãn cho mỗi cạnh. (b) Các
đồ thị phù hợp tương ứng.
Trong hình 2.5 là một ví dụ đơn giản để xây dựng biểu đồ phù hợp
được trình bày. Hình 2.5 (a) đại diện cho một bản vẽ đơn giản với hai cạnh và
hai vị trí nhãn cho mỗi cạnh. Hình 2.5 (b) cho thấy đồ thị phù hợp tương ứng
của nó. nhãn các vị trí mà chồng chéo thuộc cùng một nút trong đồ thị phù
hợp, trong ví dụ này nhãn vị trí A của cạnh 1 trùng lặp nhãn vị trí C của cạnh
2, do đó chúng được đại diện bởi một nút duy nhất trong đồ thị phù hợp.
28


Vì nhiều nhất là một vị trí nhãn từ mỗi nhóm có thể là một phần của
gán nhãn phù hợp của đồ thị G
m
tạo ra nhãn không chồng chéo. Mô tả về các
kỹ thuật ghi nhãn được đưa ra trong các thuật toán sau đây:
Thuật toán ELP:
Đầu vào: Một bản vẽ Γ của đồ thị G (V, E).
Đầu ra: Một nhãn được gán không chồng chéo sao cho
1. Chia Γ thành dải băng ngang
2. Tìm tất cả các vị trí nhãn cho mỗi cạnh và xây dựng các nhóm
của các nhãn chồng chéo.
3. Xây dựng đồ thị kết hợp với G
m
cho Γ.
4. Gán một vị trí nhãn cho mỗi cạnh bằng cách tìm đồ thị con của
G
m
sao cho hai cạnh bất kì không có chung đỉnh đầu, cuối, số
cạnh là nhiều nhất và tổng trọng số là nhỏ nhất.
Kích thước của đồ thị phù hợp phụ thuộc vào kích thước của tập hợp Λ
vị trí nhãn. Thật không may là kích thước của Λ có thể lớn đối với kích thước
của đồ thị G ban đầu này nghĩa là một thuật toán phù hợp điển hình có thể
mất một thời gian dài. Các thuật toán tốt nhất cho việc tìm kiếm một trọng
lượng phù hợp tối thiểu cardinality tối đa của G
m
mất nhiều hơn thời gian bậc
hai đối với kích thước của G
m
. Để giảm độ phức tạp của các kết hợp, trong
phần tiếp theo một phương pháp được trình bày mà tìm thấy một kết hợp
cardinality tối đa với tổng số lượng thấp trong thời gian tuyến tính liên quan
đến kích thước của G
m
bằng cách tận dụng cấu trúc và tính chất của đồ thị G
m
.
Một phương pháp kết hợp nhanh
Ở đây, một phương pháp nhanh được trình bày mà giải quyết các kết
hợp tối đa bài toán cardinality đối với một đồ thị mỗi nút tương ứng với một
nhóm các chồng chéo các nhãn có mức độ nhiều nhất là hai. Phương pháp
29

nhanh giải quyết bài toán kết hợp lợi thế về cấu trúc đơn giản của biểu đồ phù
hợp. Bởi xây dựng, mỗi nút trong V
c
có mức độ tối đa 2 (xem số liệu 2.4 và
2.5). Thuật toán dưới tìm thấy một cardinality tối đa kết hợp cho G
m
.
Thuật toán kết hợp nhanh: (Fast ELP)
Đầu vào: Đồ thị kết hợp G
m

Đầu ra: Đồ thị con của G
m
sao cho hai cạnh bất kì không có chung nút,
tổng số cạnh là nhiều nhất, tổng trọng số thấp.
1. If cạnh có trọng số nhỏ nhất của một đỉnh trong V
f
nối tới một đỉnh
trong V
c
có bậc 1 then
1.1 Gán cạnh này đã được lựa chọn.
1.2 Cập nhật G
m.
2. If đỉnh trong V
f
có bậc 1 then
2.1 Gán cạnh này đã được lựa chọn.
2.2 Cập nhật G
m
3. Lặp bước 1, 2 tới khi không tìm được thêm cạnh mới.
4. Xóa tất cả các nút của mức độ 0 từ G
m
.
5. For each đỉnh f trong V
f
do giữ hai cạnh có trọng số thấp nhất của f,
xóa các cạnh còn lại
6. Đồ thị còn lại bao gồm các vòng hoặc các đường đơn giản.
6.1 Tìm hai phép kết hợp duy nhất sao cho hai cạnh bất kì không
có chung nút, tổng số cạnh là nhiều nhất.
6.2 Chọn phép kết hợp có trọng số nhỏ nhất.
30

Thao tác cập nhật G
m
loại bỏ việc hai nút cho một cạnh phù hợp mới và
hàng có cạnh và các nút liên quan của nó như là một phần của các kết hợp.
Cũng loại bỏ tất cả các cạnh liên quan từ hai nút.
.
Hình 2.6. Một kết quả dán nhãn của thuật toán Fast ELP
Ở bước 1, các cạnh này có mặt trong mọi cấu hình tối ưu. Bước 2, chọn
những đỉnh trong V
f
chỉ có duy nhất 1 cạnh (1 vị trí có thể dán nhãn). Nếu có
2 đỉnh trong V
f
đều có duy nhất 1 cạnh và đều nối tới 1 đỉnh trong V
c
, chọn
cạnh có trọng số nhỏ hơn; điều này đồng nghĩa với có một cạnh không được
dán nhãn. Bước 4, các đỉnh bị loại tương ứng với những cạnh không có vị trí
dán nhãn hoặc những vị trí nhãn không thể được chọn. Bước 5, với những
đỉnh trong V
f
có bậc lớn hơn 2, chỉ giữ lại 2 cạnh có trọng số nhỏ nhất. Đồ thị
lưỡng phân còn lại có cấu trúc đơn giản: chỉ bao gồm những đường hay chu
trình đơn giản (do mỗi đỉnh trong V
f
có bậc 2, đỉnh trong V
c
có bậc cao nhất là
31

2). Với mỗi đường hay chu trình chỉ có hai phép kết hợp duy nhất sao cho hai
cạnh bất kì không có chung nút, tổng số cạnh là nhiều nhất. Có thể chỉ ra 2
phép kết hợp này bằng cách đơn giản là đi theo các đường hay chu trình
(đường zig-zag), chọn lấy các cạnh số chẵn hoặc số lẻ.
Dễ thấy rằng thuật toán kết hợp nhanh chạy trong thời gian định tuyến.
Kết quả cuối cùng có tổng trọng số nhỏ mà không phải tối ưu do ở bước 5 ta
chỉ tính tới 2 cạnh có trọng số nhỏ nhất. Hình 2.6 cho thấy gán nhãn tạo bằng
kỹ thuật ELP nhanh chóng.
Một số cải tiến xa hơn nữa

Hình 2.7. Kết quả dán nhãn cạnh cho một bản vẽ trực giao có nhiều cạnh
nằm ngang, áp dụng Fast ELP. Hình được lấy trong [11]
Các kỹ thuật nhanh chóng và đơn giản trên cho cạnh của bản vẽ đồ thị
đó là rõ ràng là dài hơn và theo chiều dọc nhiều hơn là các cạnh, nhiều khả
năng vị trí nhãn có liên quan với mỗi cạnh. Do đó, khả năng lớn cho các thuật
toán ghi nhãn để gán một nhãn cho mỗi cạnh. Vì vậy, bản vẽ phân cấp là đặc
32

biệt thích hợp cho các thuật toán này từ cạnh này thường kéo dài và gần như
thẳng đứng. Kỹ thuật này thực hiện rất tốt cũng cho bản vẽ đường thẳng. Một
nhược điểm của kỹ thuật ghi nhãn này là nó bỏ qua các cạnh chiều ngang
hoặc các đoạn cạnh.
Vì vậy, như đã trình bày, kỹ thuật này là không thích hợp cho bản vẽ
vuông. Tuy nhiên, người ta có thể sử dụng các kỹ thuật nói chung bằng cách
chia một bản vẽ trực giao thành dải ngang và dọc để tìm ra một tập hợp các vị
trí nhãn, tiếp theo phân cấp của nhãn cho cạnh. Hình 2.7 cho thấy kết quả với
một ví dụ.

Hình 2.8. Bản vẽ hình tròn với các nhãn cạnh, nơi nhãn được phép chồng
lên các đối tượng hình khác, được sản xuất bằng kỹ thuật ELP
Ngoài ra, khi bản vẽ là rất dày đặc hoặc có một số lượng lớn các nhãn
quá cỡ, sự phân nhãn mặc định do hệ thống ghi nhãn có thể không được thỏa
33

đáng. Trong trường hợp này, người dùng có thể tinh chỉnh các thuật toán bằng
cách làm dãn các ràng buộc chất lượng ghi nhãn bằng cách cho phép chồng
chéo (xem hình 2.8).
2.3. Kỹ thuật NLP (Node Label Placement)
Bài toán gán nhãn cho một tập hợp các điểm hoặc các nút, còn được gọi
là kỹ thuật NLP (Node Label Placement), đã được nghiên cứu trong khuôn
khổ của bản đồ tự động và nhiều cách tiếp cận thuật toán thành công. Ngoài
ra, bất kỳ thuật toán để giải quyết bài toán GFLP (xem phần 2.1) đều có thể
được áp dụng cho kỹ thuật NLP.
Các thuật toán dựa trên phương pháp tìm kiếm vét cạn, cục bộ [7] đều
rất thích hợp để giải quyết kỹ thuật NLP. Các kết quả thực nghiệm [4] đã chỉ
ra rằng thuật toán dựa trên mô phỏng vượt trội hơn so với các thuật toán tìm
kiếm. Hơn nữa đây cũng là một trong những thuật toán dễ thực hiện nhất. Các
thuật toán này bắt đầu từ tập vị trí nhãn khởi tạo khá nhỏ, từ đó tìm ra cấu
hình dán nhãn cuối cùng. Điều kiện tiên đề này thích hợp với bài toán NLP, ví
dụ mỗi điểm chỉ được gán cho 4 hay 8 vị trí nhãn (xem hình 2.2).
Các thuật toán ước lượng cho các phiên bản hạn chế của kỹ thuật NLP
được trình bày. Cụ thể, việc gán nhãn bằng nhau cho tất cả các điểm trong khi
cố gắng tối đa hóa kích thước của các nhãn được chỉ định. Công việc cải thiện
kết quả bằng cách sử dụng công nghệ chuẩn đoán tự động. Trong thực tế, việc
tìm kiếm kích thước nhãn tối đa tương đương với việc tìm kiếm những yếu tố
nhỏ nhất mà bản đồ đã được thu nhỏ như vậy mà mỗi điểm có một nhãn được
gán cho nó. Tuy nhiên, nó không phải là làm rõ những kỹ thuật này có thể
được sửa đổi để giải quyết vấn đề thực tế, bao gồm cả việc ghi nhãn các tính
năng đồ họa của bản vẽ, nơi mà các kích thước nhãn thường được xác định
trước và nhãn không nhất thiết phải bằng nhau.
34

Một phương pháp để giải quyết kỹ thuật NLP được dựa trên mô hình
trượt, nơi nhãn có thể được gắn vào bất cứ điểm nào trên đường biên nó thuộc
về. Mô hình này được giới thiệu và đưa ra một thuật toán lặp đi lặp lại sử
dụng cách đẩy lùi giữa các nhãn để cuối cùng tìm thấy một vị trí của nhãn. Hệ
thống đưa ra một thuật toán xấp xỉ sử dụng mô hình trượt để tối ưu số điểm
được dán nhãn, với nhãn là các hình chữ nhật cùng chiều cao, song song với
hai trục.
2.4. Kỹ thuật MLP (Multiple Label Placement)
2.4.1. Giới thiệu
Nhiều thuật toán tồn tại cho bài toán ghi nhãn, tuy nhiên, rất ít công
việc đã được hướng về vị trí nhiều nhãn trên mỗi đối tượng trong một bản đồ
hoặc bản vẽ. Vấn đề này được gọi là kỹ thuật MLP (Multiple Label
Placement).
Hiện tại vị trí tên tự động cho hệ thống kỹ thuật đơn giản bản đồ địa lý
đã được sử dụng để giải quyết cụ thể kỹ thuật MLP, mỗi đối tượng để được
gán nhãn phân chia thành nhiều mảnh như số lượng các nhãn cho các đối
tượng. Sau đó, thuật toán ghi nhãn cho nhãn duy nhất cho mỗi đối tượng đồ
họa có thể được áp dụng cho các thiết lập mới của các phân vùng đối tượng
đồ họa. Trong nhiều ứng dụng, cách tiếp cận đơn giản này đưa ra một số khó
khăn. Ví dụ, nó có thể là cần thiết hoặc thích hợp hơn để vị trí nhãn có liên
quan với các đối tượng đồ họa tương tự gần cạnh nhau (ví dụ, hai nhãn được
gán cho một cạnh phải gần với nút nguồn của đường). Điều này thường là
trường hợp khi nhãn đó mô tả các thuộc tính nhiều hơn một trong những đối
tượng tương tự. Hơn nữa, đối tượng được dán nhãn có thể là một điểm hoặc
một khu vực. Sau đó, chúng ta phải phân vùng và chỉ định một nhãn cho mỗi
phân vùng. Tuy nhiên, phân vùng có hiệu quả các không gian là khó như giải
35

quyết vấn đề ghi nhãn gốc. Ngay cả khi chúng ta cần phải đặt nhiều hơn một
nhãn kết hợp với một đối tượng đồ họa tuyến tính trong khoảng thời gian
thường xuyên với nhau, cách tiếp cận này có vẻ hạn chế. Thông qua việc tách
các đối tượng trước chúng ta loại bỏ khoảng trống khác có thể được sử dụng
để định vị một nhãn.
Ta có thể tránh được những tình huống được mô tả ở đoạn trên bằng
cách cho phép mỗi nhãn phải được đặt ở bất kỳ vị trí nhãn rõ ràng của đối
tượng đồ họa liên quan. Phương pháp tiếp cận lặp đi lặp lại dựa trên thuật
toán ghi nhãn hiện có mà chỉ định một nhãn cho mỗi đối tượng có thể được sử
dụng để tạo một giải pháp. Điều này có thể được thực hiện bằng cách áp dụng
các thuật toán nhiều lần số lượng nhãn mỗi tính năng đồ họa. Lược đồ này là
một thách thức mới: hầu hết các thuật toán ghi nhãn dựa trên tìm kiếm địa
phương và toàn diện. Như vậy, hiệu suất của chúng (thời gian và chất lượng
của các giải pháp hoạt động) là phụ thuộc với các kích thước của các đối
tượng đồ họa được dán nhãn và mật độ của các bản vẽ. Rõ ràng, nếu mỗi đối
tượng đồ họa trong một bản vẽ có liên quan đến i nhãn, sau đó kích thước của
bài toán lớn hơn nhiều lần. Vì vậy, các kỹ thuật nói trên có thể được làm
chậm ngay cả đối với các trường hợp nhỏ.
Quy định chất lượng nhãn
Nhiều nhãn cho mỗi đối tượng đồ họa là cần thiết không chỉ khi đối
tượng là rất dài (ví dụ như đường dài) và sự lặp lại là cần thiết, nhưng cũng có
khi nhiều hơn một thuộc tính mỗi đối tượng đồ thị phải được hiển thị. Vì vậy,
một số cân nhắc thêm phải được đưa vào tính liên quan đến chất lượng của
việc gán nhãn, khi đối tượng đồ họa có nhiều nhãn. Cụ thể, chúng ta phải tính
như thế nào đến nhãn cho các đối tượng đồ họa cùng ảnh hưởng lẫn nhau. Ví
dụ, mỗi nhãn nhiều lần tương ứng với một số thuộc tính của một đối tượng đồ
36

họa và vị trí tương đối của một nhãn đó với nhãn khác của đối tượng đồ họa
cùng thấy thuộc tính đó.
Tiếp theo, chúng tôi giới thiệu một số hạn chế có thể được sử dụng để
đảm bảo rằng mỗi nhãn là rõ ràng, dễ dàng đọc và được công nhận, khi có
nhiều hơn một nhãn có liên quan đến một tính năng đồ họa. Những hạn chế
này có thể được chia thành ba loại chính: (i) khoảng cách, (ii) thứ tự mỗi
phần, và (iii) ưu tiên. Để minh họa cho ba bộ khác nhau của những hạn chế,
chúng tôi sẽ sử dụng một ví dụ về ghi nhãn của một cạnh duy nhất (s, t) với
hai nhãn l
s
và l
t
. Nhãn l
s
được liên kết với nút nguồn và nó được kết hợp với
nút mục tiêu, như trong Hình 2.9 (a).

Hình 2.9. (a) Phân nhãn thích hợp hơn. (b) Đặt nhãn gây hiểu nhầm.
(c) Ràng buộc khoảng cách chặt chẽ. (d) Xác định ràng buộc tự do
Nhãn l
s
phải gần với nút nguồn để tránh sự không rõ ràng. Vì vậy, nó là
cần thiết để xác định khoảng cách tối đa từ nút nguồn nhãn l
s
đó có thể được
định vị. Khi cạnh (s, t) có liên quan chính xác một nhãn, sau đó nhãn có thể
được đặt bất cứ nơi nào trong không gian. Nếu có nhiều hơn một nhãn kết
37

hợp với (s, t), sau đó mỗi nhãn phải được đặt bên trong một khu vực mà là
một tập hợp con của không gian đó.
Trong hình 2.9, chúng tôi minh họa cho tầm quan trọng của những hạn
chế về khoảng cách. Ví dụ như việc gán nhãn trong hình 2.9 (a) là một nhiệm
vụ thích hợp hơn. Việc gán trong hình 2.9 (b) không truyền đạt rõ ràng ý
nghĩa của nhãn, bởi vì chúng rất gần với nút mục tiêu, vì vậy bằng cách quan
sát các hình ảnh chúng tôi không thể tùy chỉnh một cách chắc chắn rằng các
nhãn nguồn được liên kết với nút nguồn. Trong hình 2.9 (c) hạn chế sự gần là
khoảng cách giữa nút nguồn và nhãn phải có ít nhất một nửa chiều dài của
cạnh. Điều này cho thấy nhãn phải được bên trong khu vực nguồn. Các ràng
buộc khoảng cách quy định tại Hình 2.9 (c) là quá hạn chế, kể từ khi khu vực
được xác định không giao nhau. Người ta có thể xác định ràng buộc gần thoải
mái hơn, như thể hiện trong hình 2.9 (d), nơi giao nhau của các vùng khác
nhau cho phép. Trong thực tế sau này là thích hợp hơn vì nó làm tăng không
gian để ghi nhãn và cải thiện khả năng cho việc tìm kiếm cách ghi nhãn, đặc
biệt là trong trường hợp bản vẽ có mật độ lớn nhiều đối tượng.
Thứ tự một bộ phận
Một nhãn liên quan đến nút nguồn phải được gần với nguồn hơn bất kỳ
nhãn khác để tránh nhầm lẫn. Như vậy, trong nhiều trường hợp, nó thích hợp
để xác định thứ tự từng phần giữa nhãn của các đối tượng đồ họa cùng theo
một số bất biến (ví dụ, trục x hoặc trục y, khoảng cách từ một điểm cố định).
Trong hình 2.10 (c) chúng tôi giới thiệu một ví dụ mà trường hợp
không có một quy tắc thứ tự từng phần nên tạo ra một nhãn gây nhầm lẫn, vì
bằng cách đơn giản nhìn vào bức ảnh chúng kết hợp các nhãn mục tiêu vào
nút nguồn. Trong hình 2.10 (a) và 2.10 (b) các điều kiện bổ sung mà một nhãn
gắn liền với nút nguồn phải gần hơn đến nút nguồn so với nhãn liên quan nút
38

mục tiêu đảm bảo cách giải thích chính xác của sự phân nhãn này. Nếu chúng
ta xác định ràng buộc hạn chế khoảng cách như trong hình 2.9 (c), sau đó ràng
buộc thứ tự từng phần là không cần thiết. Tuy nhiên, nếu chúng ta nới lỏng
ràng buộc về khoảng cách giữa các nhãn, như thể hiện trong hình 2.9 (d), sau
đó chúng ta cần phải xác định ràng buộc thứ tự từng phần để tránh nhiệm vụ
ghi nhãn sai lệch.

Hình 2.10. (a) Gán nhãn thích hợp hơn. (b) Việc gán nhãn chấp nhận
được. (c) Việc gán nhãn gây hiểu nhầm
Ưu tiên
Trong nhiều trường hợp, việc không thể chỉ định tất cả các nhãn liên
quan một đặc điểm đồ họa, do mật độ của bản vẽ. Sau đó, người sử dụng có
thể thích có nhãn quan trọng được hiển thị đầu tiên, sau đó chỉ định phần còn
lại của các nhãn khi có chỗ trống.
39

Trong ba tập hợp ràng buộc trình bày một khuôn khổ ngắn gọn cho một
nhiệm vụ nhãn gán tốt đối với kỹ thuật MLP. Trong các phần sau chúng ta tập
trung vào giới thiệu hai nhóm chẩn đoán, Iterative và Flowbased để giải quyết
kỹ thuật MLP.
2.4.2. Thuật toán Iterative
Đầu tiên một phương pháp lặp đơn giản để giải quyết bài toán gán
nhiều nhãn cho mỗi đối tượng đồ họa của một bản vẽ được trình bày. Để đơn
giản, chúng ta hãy giả sử rằng mỗi đối tượng đồ họa có liên quan cùng một số
vị trí nhãn. Ý tưởng chính là như sau: các thuật toán giải quyết vấn đề ghi
nhãn đối với nhãn duy nhất cho mỗi tính năng đồ họa. Vì vậy, một trong
những cách có thể giải quyết vấn đề MLP bằng cách áp dụng các thuật toán
này nhiều lần số lượng các nhãn cho đối tượng. Phương pháp này bao gồm
một vòng lặp chính, và thực hiện vòng lặp nhiều lần như số lượng nhãn cho
mỗi tính năng đồ họa. Đặc biệt, lúc thực hiện thứ i của vòng lặp, chúng ta gán
nhãn thứ i cho mỗi tính năng đồ họa. Kỹ thuật này có thể tính đến tất cả ba
nhóm ràng buộc: (a) gần (bằng cách xem xét chỉ các vị trí nhãn tuân theo các
quy tắc khoảng cách), (b) thứ tự từng phần (bằng cách loại bỏ từ tập hợp các
vị trí khả năng của nhãn, sau mỗi lần thực hiện vòng lặp, các vị trí nhãn
không tuân theo trật tự từng phần) và (c) ưu tiên (bằng cách chọn nếu có thể,
vị trí nhãn ưu tiên cao nhất trong số các vị trí nhãn có sẵn). Ta có thể tinh
chỉnh kỹ thuật này bằng cách, đầu tiên tìm kiếm một tập hợp các vị trí nhãn
trước khi vào vòng lặp, và sau đó thực hiện bên trong vòng lặp chỉ là bước
định vị nhãn. Sàng lọc công việc này bởi vì các thuật toán ghi nhãn tạo trích
dẫn một nhãn từ một tập hợp hữu hạn ban đầu của các khả năng vị trí của
nhãn rời rạc. Các thuật toán được thể hiện dưới đây.
Thuật toán Iterative
40

Đầu vào: Một bản vẽ Γ, một tập hợp các đối tượng đồ họa F trong Γ
cần được gán nhãn, một số n các nhãn cho mỗi tính năng đồ họa f của F.
Đầu ra: Nhãn được gán
1. Tìm một thiết lập ban đầu của vị trí nhãn L.
2. For i = 1 to N do:
2.1. Gán nhãn thứ i cho mỗi đối tượng đồ họa trong F từ tập L của
các khả năng của nhãn được sử dụng các thuật toán ghi nhãn hiện có.
2.2. Loại bỏ các vị trí nhãn từ L mà chồng chéo nhãn đã được gán.

Hình 2.11. Một bản vẽ trực giao với vị trí hai nhãn mỗi cạnh sự dụng thuật
toán Iterative
Mặc dù kỹ thuật này là rất hấp dẫn, đặc biệt là bởi vì nó có thể được
thực hiện bằng cách sử dụng các thuật toán ghi nhãn hiện có, nó đưa ra một số
thách thức mà phải được giải quyết. Kỹ thuật ghi nhãn dựa trên tìm kiếm cục
41

bộ hoặc toàn diện đầu tiên tạo ra một phân vùng nhãn ban đầu, nơi xung đột
giữa nhãn được cho phép. Sau đó xung đột được giải quyết bằng cách tái định
vị vị trí nhãn chỉ cho đến khi tất cả các cuộc xung đột được giải quyết, hoặc
không có cải thiện hơn nữa có thể đạt được. Khi áp dụng các kỹ thuật này
trong khuôn khổ của thuật toán lặp lại có thể chỉ áp dụng tái định vị cho các
nhãn được giao trong thời gian hiện tại của vòng lặp hoặc cho bất kỳ nhãn
giao (ngay cả trong lần chạy trước của vòng lặp). Trong mỗi trường hợp kỹ
thuật như vậy là chậm.
Phương pháp lặp lại này đặc biệt phù hợp với các thuật toán ghi nhãn
hiện có, bởi vì lần đầu tiên tìm thấy một tập hợp các vị trí nhãn, và sau đó họ
tạo ra một phân vùng nhãn trong một bước duy nhất mà không có bất kỳ tái
định vị nhãn (xem hình 2.11và 2.12 ).

Hình 2.12. Một bản vẽ phân cấp với vị trí hai nhãn mỗi cạnh sự dụng thuật
toán Iterative
42

2.4.3. Thuật toán Flow-based
Kỹ thuật này phù hợp với trình bày trong phần 2.1 có thể được tiếp tục
mở rộng để hỗ trợ vị trí của nhiều nhãn mỗi đối tượng đồ họa của một bản vẽ
đồ thị. Các thuật toán trình bày ở đây chỉ định vị trí nhãn trong một trang
không lặp lại. Nó giải quyết vấn đề MLP.
Đồ thị đầu tiên phù hợp với G
m
được tạo ra (xem phần 2.1 để biết thêm
chi tiết).
Tiếp theo, các biểu đồ phù hợp G
m
được chuyển thành một đồ thị
Flowbased G
flow
(s, t, V
f
, V
c
, E
f
).
G
m
được chuyển đổi sang một đồ thì st bằng cách giới thiệu hai nút s và
t. Nút s được kết nối với mỗi nút trong V
f
, và nút t được kết nối với mỗi nút
trong V
c
, được thể hiện trong hình 2.13.

Hình 2.13. Đồ thị Flowbased
43

Sau cùng năng lực để mỗi cạnh của đồ thị dòng G
flow
được gán theo
cách sau:
- Mỗi cạnh biểu đồ phù hợp có chứa ban đầu.
- Mỗi cạnh (c, t) của G
flow
đến nút mục tiêu có sức chứa
- Mỗi cạnh (s, v) đến nút nguồn có số lượng tương đương với số lượng
nhãn gắn liền với các tính năng đồ họa của đồ thị đầu vào được đại diện
bởi nút v trong G
m
.
Rõ ràng là một luồng lớn nhất của đồ thị G
flow
sẽ tạo ra một phân nhãn
cardinality tối đa đối với các bộ nhãn được mã hóa trong đồ thị phù hợp. Kỹ
thuật phức tạp có thể giải quyết vấn đề luồng cực đại trong O(nmlog n) thời
gian, trong đó n là số đỉnh và m là số cạnh của đồ thị luồng. Kỹ thuật này
được tóm tắt trong thuật toán dưới.
Thuật toán Flow-based
Đầu vào: Một bản vẽ Γ, một tập hợp các đối tượng đồ họa F trong Γ
được dán nhãn, một số M (f) nhãn cho mỗi đối tượng đồ họa vào f trong F.
Đầu ra: Nhãn được gán không chồng chéo
1. Tìm thấy một tập hợp các vị trí nhãn cho mỗi tính năng đồ họa
trong các bản vẽ.
2. Sắp xếp vị trí nhãn chồng lên nhau thành các nhóm.
3. Tạo ra các đồ thị phù hợp G
m
.
4. Cải thiện đồ thị G
m
xuống mức thấp biểu đồ luồng G
flow
.
5. Gán các năng lực để mỗi cạnh của G
flow
.
6. Đánh giá tới cạnh của G
flow
.
44

7. Tìm các chi phí thấp nhất luồng cực đại của đồ thị G
flow
.
8. Gán nhãn theo kết quả của Bước 7.
Hầu hết các bước tốn thời gian của thuật toán trên là việc phát hiện sự
chồng chéo giữa các vị trí nhãn và phù hợp tạo bằng cách chạy một thuật toán
chi phí thấp nhất luồng cực đại trên đồ thị dòng chảy. Rõ ràng thời gian cần
thiết cho hai bước tùy thuộc nhiều vào kích thước của các cài đặt ban đầu của
các vị trí nhãn. Vì vậy, việc thực hiện các thuật toán ở trên có liên quan chặt
chẽ đến kích thước của tập ban đầu của các vị trí nhãn.

Hình 2.14. Bản vẽ với vị trí hai nhãn mỗi cạnh bởi thuật toán Flow-based
Một điểm quan trọng cần nhấn mạnh là khung vừa miêu tả có thể tính
chi phí của một nhiệm vụ liên quan đến nhãn ưu tiên, gần với tiêu chuẩn thẩm
45

mỹ. Tư khi gán nhãn cuối cùng không chồng chéo, ta có thể giả định rằng
không có chi phí gắn liền với vị trí tương đối của bất kỳ cặp nhãn được gán.
Mỗi cạnh trong đồ thị song phương G
m
kết nối một đối tượng đồ họa cho một
vị trí nhãn của đối tượng mà thuộc về một số nhóm. Chi phí cho vị trí nhãn l
của đối tượng đồ họa f được bao gồm như trọng số của cạnh (f, l) trong đồ thị
phù hợp. Sau đó, bằng cách gán cho các cạnh của nút nguồn và nút mục tiêu
cân bằng không, người ta có thể tìm thấy một phân nhãn cardinality chi phí
thấp nhất lượng tối đa cho sự giảm vấn đề MLP bằng cách giải quyết vấn đề
chi phí thấp nhất luồng cực đại cho đồ thị luồng G
flow
. Hình 2.14 và 2.15 cho
thấy nhãn được gán bởi thuật toán Flow-based.

Hình 2.15. Một bản vẽ vòng tròn với ba nhãn cho mỗi cạnh và nút được
định vị bằng thuật toán Flow-based trên. Các ô màu trắng là các nhãn
cạnh và các hộp đen là nút nhãn
46

2.5. Kỹ thuật dán nhãn dựa vào hiệu chỉnh đối tượng
Tự động ghi nhãn là một vấn đề rất khó khăn, vì vậy dựa trên chẩn
đoán để giải quyết nó, có những trường hợp các phương pháp tốt nhất hiện có
không phải luôn luôn tạo ra một giải pháp chấp nhận được hoặc đọc được
ngay cả nếu có. Hơn nữa, có những trường hợp không có giải pháp khả thi tồn
tại. Cho một bản vẽ và nhãn có kích thước cố định cụ thể, sau đó nó có thể là
không thể gán nhãn mà không vi phạm bất kỳ quy tắc cơ bản của gán nhãn tốt
(ví dụ, dán nhãn chồng lên nhau, mức độ dễ đọc, phân rõ ràng). Những trường
hợp này xuất hiện thường xuyên trong các ứng dụng thực tế khi bản vẽ là dày
đặc, nhãn là quá khổ, hoặc sự phân nhãn phải đáp ứng yêu cầu tối thiểu của
người sử dụng (ví dụ như cỡ chữ hoặc tùy chọn của việc đặt nhãn).
Để giải quyết vấn đề ghi nhãn mà giải pháp tốt nhất chúng ta có thể có
hoặc là không đầy đủ hoặc không chấp nhận được người ta phải chỉnh sửa các
bản vẽ. Phương pháp này không thể được áp dụng vào bản vẽ đại diện cho
bản đồ địa lý hoặc kỹ thuật mà các hình học cơ bản là cố định theo định
nghĩa. Tuy nhiên, cách bố trí của một đồ thị vẽ được có thể được thay đổi kể
từ khi nó là kết quả của các thuật toán được sử dụng để vẽ đồ thị.
Nói chung, có thể có hai cách tiếp cận thuật toán trong việc sửa đổi
cách bố trí của một bản vẽ đồ thị:
- Sửa đổi cách bố trí hiện có của một bản vẽ đồ thị để nhường chỗ cho
các vị trí nhãn.
- Tạo một cách bố trí mới của một bản vẽ đồ thị có tích hợp bố trí và
quá trình ghi nhãn.
Các thuật toán chỉnh sửa một cách bố trí hiện có của một đồ thị vẽ để
làm cho vị trí đặt nhãn được hiển thị. Các thuật toán thay đổi một bản vẽ trực
47

giao hiện có bằng cách chèn thêm không gian để thích ứng với vị trí của các
nhãn cạnh đó sao cho không chồng chéo. Đầu tiên, một phân nhãn cạnh được
tính toán, nơi sự chồng chéo được cho phép, bằng cách sử dụng kỹ thuật hiện
có. Sau đó, các bản vẽ được sửa đổi bằng cách áp dụng một thuật toán thời
gian đa thức dựa trên kỹ thuật lưu lượng tối thiểu để tìm thêm không gian cần
thiết để loại bỏ sự chồng chéo nhãn, trong khi vẫn giữ sự biểu diễn trực giao
của các bản vẽ. Nhãn chồng chéo được giải quyết bằng cách áp dụng một
thuật toán dựa trên các kỹ thuật được sử dụng để tạo ra các bản vẽ bố trí lực
lượng hướng. Nó lặp đi lặp lại di chuyển nhãn để loại bỏ chồng chéo, trong
khi vẫn giữ các vị trí tương đối giữa chúng càng gần những người trong bố trí
ban đầu càng tốt, và cạnh càng thẳng càng tốt.
48

Chương 3
CÀI ĐẶT CHƯƠNG TRÌNH ỨNG DỤNG
3.1. Bài toán
Luận văn sẽ tập trung vào vấn đề gán nhãn cho các đối tượng trên ảnh
tĩnh. Các ảnh này phải tương đối phong phú, có hơn hai đối tượng trong một
ảnh. Để củng cố phần lý thuyết đã đề cập, chương trình được cài đặt minh họa
cho thuật toán dán nhãn đã nêu ở chương II, áp dụng cho đối tượng cụ thể, là
ảnh bức ảnh bản đồ trường Cao đẳng Công nghiệp và Xây dựng. Bài toán
được đặt ra như sau:
- Đầu vào: Một ảnh bản đồ của trường Cao đẳng công nghiệp và xây
dựng, với các các nhãn được đánh dấu cho từng khu vực.
- Đầu ra: Vị trí nhãn hiển thị cho từng đối tượng sao cho mỗi nhãn
phải được đặt ở vị trí tốt nhất có thể (trong số tất cả các nhãn có vị trí
chấp nhận được).
3.2. Chương trình
Để giải quyết bài toán gán nhãn cho bản đồ trường Cao đẳng Công
nghiệp và Xây dựng thì luận văn đã sử dụng các kỹ thuật GFLP và NLP để
thực hiện việc gán nhãn cho các đối tượng trong hình vẽ. Các thí nghiệm
trong luận văn này được tiến hành trên máy tính với cấu hình Core 2 Duo 2.4
GHz, 2Gb RAM, chương trình được viết trên ngôn ngữ Visual C# phiên bản
2010 của hãng Microsoft.
Về cơ bản thuật toán dán nhãn cho một đối tượng trong bản đồ bao
gồm các bước cơ bản sau:
Bước 1 : Một tập hợp các nhãn cho mỗi đối tượng trong bức ảnh được
chọn lọc. Một số vị trí nhãn chạm vào đối tượng tương ứng của nó đã được
49

xác định. Trong hầu hết các thuật toán một tập hữu hạn các vị trí nhãn tiềm
năng có liên kết với mỗi điểm, điển hình là số lượng của tập này là bốn hoặc
tám như minh hoạ trong hình 2.2.
Bước 2 : Loại bỏ bớt vị trí, kích thước của tập vị trí nhãn khởi tạo cần
phải ở mức tương đối nhỏ do nó tác động đến hiệu quả của mọi thuật toán dán
nhãn. Mỗi nhãn được bao quanh 1 hình chữ nhật, vì vậy việc phát hiện các
nhãn giao nhau có thể hiểu là sự phát hiện chồng chéo của các hình chữ nhật.
Các vị trí nhãn song song với các trục x, y, có thuật toán thời gian đa thức để
phát hiện chồng chéo, độ phức tạp O(nlogn + K) (n là số các hình chữ nhật, K
là số các vùng giao). Sau đó các nhãn bị chồng chéo nhiều sẽ được loại bỏ
hoặc sẽ hiển thị ở vị trí thích hợp khác trong tập các nhãn tiềm năng.
Bước 3: lặp lại bước hai cho tới khi các nhãn được định vị trí sao cho
không có sự chồng chéo nhau. Chọn vị trí cho nhãn bằng cách giải quyết biến
thể của bài toán kết hợp, trong đó nhiều nhất chỉ một vị trí nhãn trong mỗi
nhóm được lựa chọn.
3.3. Kết quả thực nghiệm
Dưới đây là hình ảnh chạy thử nghiệm thuật toán gán nhãn

Hình 3.1. Hình ảnh sau khi gán nhãn cho bản đồ trường Cao đẳng Công
nghiệp và Xây dựng ở chế độ phóng to ảnh
50



Hình 3.2. Hình ảnh sau khi gán nhãn cho bản đồ trường Cao đẳng Công
nghiệp và Xây dựng ở chế độ thu nhỏ ảnh.
51

KẾT LUẬN
Xây dựng hệ thống tự động dán nhãn có nhiều ứng dụng trong các lĩnh
vực như: nghiên cứu, vẽ bản đồ địa lí, đồ thị, nhận dạng chữ.... Trên thế giới
đã có nhiều công trình nghiên cứu, đề xuất thuật toán và xây dựng hệ thống
đưa vào ứng dụng thực tế. Tuy nhiên, ở Việt Nam đây là một vấn đề vẫn còn
đang được nghiên cứu, và còn nhiều vấn đề cần quan tâm.
Với mục tiêu nghiên cứu một số thuật toán của bài toán dán nhãn, luận
văn đã đạt được một số các kết quả sau :
Trình bày một số tư tưởng để giải quyết bài toán dán nhãn tổng quát, áp
dụng cho dán nhãn riêng cho cạnh, riêng cho điểm, cho cả cạnh và điểm, đối
tượng có nhiều nhãn.
Trình bày một số thuật toán dãn nhãn bên trong bản đồ hay hình vẽ
hình chữ nhật sử dụng đường dẫn, một số giải thuật heuristic để chọn tập các
vị trí tiềm năng, thuật toán kết hợp để loại bỏ bớt các vị trí nhãn chồng chéo.
Cài đặt thử nghiệm chương trình cho thuật toán dán nhãn đối tượng
trong một bức ảnh bản đồ, hình vẽ.
Tự thiết kế một chương trình demo sử dụng một trong các kĩ thuật đã
nghiên cứu để kiểm chứng và thể hiện các kiến thức đã nghiên cứu, tìm hiểu.
Kiến nghị và hướng nghiên cứu tiếp theo
Trên cơ sở lí thuyết đã tìm hiểu, nghiên cứu và quá trình chạy thử
nhiệm chương trình minh họa cho thuật toán gán nhãn đối tượng trong bức
ảnh, luận văn đã đạt được một số kết quả nhất định. Tuy nhiên để đáp ứng
được yêu cầu đưa vào ứng dụng, thuật toán gán nhãn được trình bày trong
luận văn này còn cần nhiều cải tiến để xử lí ảnh thực tế. Do đó, tôi có một số
kiến nghị và hướng nghiên cứu tiếp theo như:
52

Phát triển các thuật dán nhãn cho điểm, cạnh trong một số trường hợp
cụ thể, ví dụ dán nhãn có hình dạng cong (trường hợp dán nhãn cho một cùng
diện tích). Tìm hiểu dán nhãn ngoài biên của bản đồ hình chữ nhật.
Xử lí nhiễu ảnh. Ảnh được scan hay ảnh chụp có thể bị nhiễu hay xoay
ảnh. Tuy nhiên thuật toán chưa tính toán tới nhiễu ảnh cũng như chưa xác
định được hướng xoay của ảnh.
Phát triển các thuật toán dán nhãn biên để xây dựng ứng dụng cho vẽ
bản đồ, đồ thị, tính toán đến các trường hợp như dán đa nhãn cho một đối
tượng, đường dẫn có thể chạy theo phương chéo.




53

TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Phạm Việt Bình, Đỗ Năng Toàn, Giáo trình xử lý ảnh, Khoa Công
nghệ thông tin - Đại học Thái Nguyên, 2007.
[2] Đỗ Năng Toàn, Nghiên cứu một số phương pháp biểu diễn hình dạng
và ứng dụng trong nhận dạng ảnh, Luận án tiến sĩ, 2001.
[3] Phạm Việt Bình, Phát triển kỹ thuật dò biên, phát hiện biên và ứng
dụng, Luận án tiến sĩ khoa học, 2006.

Tiếng Anh
[4] J. Christensen, J. Marks, and S. Shieber, 1995. An empirical study of
algorithms for Point Feature Label Placement. ACM Trans. on
Graphics, 4(3):203–232.
[5] K. G. Kakoulis and I. G. Tollis, 2006. Algorithms for the Multiple
Label Placement Problem. Computational Geometry, 35(3):143–161.
[6] K. G. Kakoulis and I. G. Tollis, 1998. An Algorithm for Labeling
Edges of Hierarchical Drawings. In G. Di Battista, editor, Graph
Drawing (Proc. GD’97), volume 1353 of Lecture Notes in Computer
Science, pages 169–180. Springer-Verlag.
[7] L. R. Ebinger and A. M. Goulete, 1990. Noninteractive automated
names placement for the 1990 decennial census. Cartography and
Geographic Information Systems, 17(1):69–78.
[8] R. E. Tarjan,1983. Data Structures and Network Algorithms, volume
44 of CBMS-NSF Regional Conference Series in Applied
Mathematics. Society for Industrial and Applied Mathematics,
Philadelphia, PA.
54

[9] S. Doddi, M. V. Marathe, A. Mirzaian, B. M. Moret, and B. Zhu,
1997. Map Labeling and Its Generalizations. In Proc. 8th ACM-
SIAM Sympos. Discrete Algorithms, pages 148–157.

[10] S. Zoraster, 1990. The solution of large 0-1 integer programming
problems encountered in automated cartography. Operation
Research, 38(5):752–759.
[11] U. Dogrusoz, K. G. Kakoulis, B. Madden, and I. G. Tollis, 2007.
On Labeling in Graph Visualization. Special Issue on Graph Theory
and Applications, Information Sciences Journal, Vol. 177/12, 2459-
2472, 22.
[12] Tollis, Kakoulis,
http://cs.brown.edu/~rt/gdhandbook/chapters/labeling.pdf.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->