Một số kỹ thuật gán nhãn đối tượng trong ảnh và ứng dụng Một số kỹ thuật gán nhãn đối tượng trong ảnh và ứng dụng Một số kỹ thuật gán nhãn đối tượng trong ảnh và ứng dụng Một số kỹ thuật gán nhãn đối tượng trong ảnh và ứng dụng Một số kỹ thuật gán nhãn đối tượng trong ảnh và ứng dụng
Trang 1Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 3Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Trang 4Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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!
Trang 5Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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
Trang 6Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.4.2.Thuật toán Iterative 39
2.4.3.Thuật toán Flow-based 42
2.5.Kỹ thuật gá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
Trang 7Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC KÝ HIỆU, CHỮ CÁI VIẾT TẮT
Trang 8Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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) Gán nhãn của một nút (b) Gán nhãn của một cạnh (c) Gá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ả gá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
Trang 9Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 41Hình 2.13 Đồ thị Flowbased 42Hì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 44Hì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 45Hì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 49Hì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
Trang 10Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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 gá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):
“Gá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 gá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 gá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
Trang 11Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
“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
Tuy nhiên vào đầu những thập niên 80, lượng nghiên cứu về lĩnh vực gá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 gá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 gá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 gá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
Trang 12Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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 gá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 gán nhãn dựa vào hiệu chỉnh đối tượng
Chương 3: Chương trình
Trang 13Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Ở đâ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
Trang 14Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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)
Trang 15Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 “Tốt hơn”
Kết luận
Trang 16Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Trang 17Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Trang 18Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Trang 19Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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ó:
N4((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:
N8((x,y)) = N4((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 (xA,yA) và (xB,yB) thuộc vào R có thể được nối bởi một đường (xA,yB) (xi-1,yi-1), (xi,yi), (xi+1,yi+1) (xB,yB), mà các điểm (x i ,y i) thuộc vào R và bất kỳ điểm (xi,yi) nào đều kề sát với điểm trước (xi-1,yi-1) và điểm tiếp theo (xi+1,yi+1) trên đường đó Một điểm (xk,yk) được gọi là kề với điểm (xl,yl) nếu (xl,yl) thuộc vào láng giềng trực tiếp của (xk,yk)
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…
Trang 20Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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ị
Trang 21Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Do quá trình gá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 để gá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 gá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 để gá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 gá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 gá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 gán nhãn Một giải pháp cho bài toán gán nhãn cho 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
Trang 22Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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ể gá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ể
Trang 23Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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 gá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ị
Trang 24Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
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:
Trang 25Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Λ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
Đị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:
Trang 26Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Trang 27Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 gá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 gá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
Trang 28Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 bản vẽ Γ và tập hợp F của các đối tượng để được gán
nhãn
Đầu ra: Một phép gá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 vị trí 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
Trang 29Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
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 có
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
Trang 30Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
Để 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 O n4/3 K 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à 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
Trang 31Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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
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
Nhãn cho đường (1,2)
Nhãn cho đường (1,3)
Nhãn cho đường (2,3)