ĐƠN GIẢN HÓA ĐƯỜNG CONG TRONG XỬ LÝ ẢNH Trong đề tài này có đề cập đến một số phương pháp cơ bản để đơn giản hóa đường cong, cụ thể là các phương pháp: DouglasPeucker, Bandwidth (dải băng) và phương pháp góc đo. Các phương pháp làm trơn đường cong nhằm làm giảm dữ liệu lưu trữ cũng như làm tăng hiệu quả hiển thị.
Trang 1-
NGUYỄN TUẤN ANH
ĐƠN GIẢN HÓA ĐƯỜNG CONG TRONG XỬ LÝ ẢNH
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2014
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS Ngô Quốc Tạo
Phản biện 1: PGS.TS.Đỗ Năng Toàn
Phản biện 2: PGS.TS Lương Chi Mai
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 9 giờ 45 ngày 15 tháng 02 năm 2014
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Công nghệ thông tin là một ngành khoa học đang phát triển rất mạnh và được áp dụng trong rất nhiều ngành khoa học khác, giúp cho con người xử lý công việc một cách nhanh hơn, chính xác hơn và hiệu quả hơn
Việc tổng quát hóa những đường cong trong bản đồ cũng là một công việc đòi hỏi cần tự động hóa, một trong nhiều phương pháp quan trọng để tổng quát một đường cong phải kể đến là đơn giản hóa đường cong Ta biết rằng một đường cong nói chung là tập hợp của nhiều điểm, đường cong các phức tạp thì số điểm cũng như cấu trúc của chúng càng phức tạp
Đơn giản hóa một đường cong tức là loại đi bớt số điểm không cần thiết và chỉ giữ lại một số ít hơn các điểm “quan trọng”, điều đó sẽ giúp cho việc biểu diễn cũng như phân tích
xử lý chúng được dễ dàng
Trong đề tài này có đề cập đến một số phương pháp cơ bản để đơn giản hóa đường cong, cụ thể là các phương pháp: Douglas-Peucker, Bandwidth (dải băng) và phương pháp góc
đo Các phương pháp làm trơn đường cong nhằm làm giảm dữ liệu lưu trữ cũng như làm tăng hiệu quả hiển thị
Trang 4CHƯƠNG 1 TỔNG QUAN VỀ TỔNG QUÁT HÓA ĐƯỜNG CONG
TRONG XỬ LÍ ẢNH 1.1 Tổng quan về xử lý ảnh
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à đồ họa
đó 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à đồ họa đóng một vai trò quan trọng trong tương tác người máy
Cùng với ngôn ngữ, các thông tin dưới dạng hình ảnh đóng một vai trò rất quan trọng trong việc trao đổi thông tin Chính vì vậy những năm gần đây đã có sự kết hợp rất chặt chẽ giữa ảnh và đồ họa trong lĩnh vực xử lý thông tin Trong công nghệ thông tin, xử lý ảnh chiếm một vị trí rất quan trọng, bởi các ứng dụng đa dạng và phong phú của nó trong nhiều lĩnh vực khoa học
Cũng như xử lý dữ liệu bằng đồ họa, xử lý ảnh số 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 trình Xử lý ảnh số 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:
Trang 5Thứ nhất, biến đổi ảnh (image transformation) và làm đẹp ảnh (image enhancement)
Thứ hai, tự động nhận dạng ảnh (pattern recognition) hay đoán nhận ảnh (image understanding ) và đánh giá các nội dung của ảnh
1.2 Tổng quát hóa đường cong
Tổng quát hóa đường cong (hay đường cong) là một phép toán tiền xử lý quan trong trong hệ thống bản đồ số hóa
Đã có nhiều phương pháp tổng quát hóa được đưa ra trong đó các phương pháp phổ biến là phương pháp đơn giản hóa, làm trơn, loại bỏ điểm và pha trộn đặc tính của nhiều đường cong Một đường cong là tập hợp của nhiều điểm, đường cong càng phức tạp thì số điểm cũng như cấu trúc của nó càng phức tạp Đơn giản hóa một đường cong, làm trơn đường cong và một số thao tác khác tức là loại đi bớt số điểm không cần thiết, thay đổi vị trí các điểm và chỉ giữ lại một số ít hơn các điểm “quan trọng”, điều đó sẽ giúp cho việc lưu trữ dữ liệu, làm sạch dữ liệu và nâng cao hiệu quả trong biểu diễn cũng như phân tích
xử lý chúng được dễ dàng
Trang 61.3 Ứng dụng đơn giản hóa đường cong trong xử lý ảnh 1.3.1 Ảnh nhị phân
Việc đơn giản hóa các đường cong trong các ảnh bản đồ thường được áp dụng đối với những ảnh nhị phân, vì vậy, mặc
dù như trên đã nói là không đi sâu về xử lý ảnh nhưng ở đây ta cũng giới thiệu qua về ảnh nhị phân
Trong quá trình xử lý ảnh, một ảnh thu nhập vào máy tính phải được mã hóa Hình ảnh khi lưu trữ dưới dạng tập tin phải được số hóa Tiêu chuẩn đặt ra là ảnh phải được lưu trữ thế nào sao cho các ứng dụng khác nhau có thể thao tác trên các loại dữ liệu này Một số dạng ảnh đã được chuẩn hóa như GIF, BMP, PCX
1.3.2 Đơn giản hóa xương của ảnh
Từ những ảnh nhị phân, sau khi dùng các công cụ của
xử lý ảnh, ta trích chọn ra được các đường trung vị, xương hoặc biên của của ảnh, đó chính là những đường mà ta quan tâm ở đây Vì sau khi nhận được các đường đó, số điểm tạo nên các đường đó thường là rất lớn và thường là rất phức tạp vì vậy ta phải tiến hành đơn giản hóa và làm trơn nó
Trang 7CHƯƠNG 2 CÁC PHƯƠNG PHÁP ĐƠN GIẢN HÓA ĐƯỜNG CONG
TỰ ĐỘNG VÀ CÁC THUẬT TOÁN LÀM TRƠN 2.1 Phương pháp đơn giản hóa đuờng cong tự động
2.1.1 Đặt vấn đề
Tất cả các phương pháp số hóa theo một qui tắc tổng quát là lưu lại các đường, để sau đó tái tạo lại đường đó hoặc phân tích bằng máy tính một cách chính xác Thuật toán rút gọn bớt số điểm không cần thiết của đường để sau đó thu được một đường đại diện cho đường ban đầu, giúp cho việc lưu trữ
và xử lý chúng được dễ dàng hơn đặc biệt ứng dụng trong các chuyên ngành địa lý học Thuật toán này gọi tắt là rút gọn đường (line reduction), nó được trình bày và so sánh với các phương pháp có nhiều triển vọng khác và nó sẽ là một phần chủ yếu trong việc tổng quát hóa tự động
Tất cả các phương pháp số hóa, ngoại trừ khả năng loại
bỏ các điểm số hóa trên bộ chuyển đổi tọa độ số Việc ghi lại như một quy luật chung, đó là cần càng nhiều điểm cho việc tái tạo lại đường (line) trên hầu hết các thiết bị vẽ, thậm chí ngay
cả tỷ lệ và độ phân giải của đường ban đầu Việc loại bớt dữ liệu để đại diện cho những điểm không cần thiết chẳng hạn như những điểm bị lặp lại hay những điểm nằm dọc trên một đường
Trang 8thẳng thì chỉ cần giữ lại một số điểm quan trọng như hai điểm đầu và cuối của đoạn thẳng, điều đó sẽ làm đơn giản các quá trình lưu trữ cần thiết Hơn nữa, tốc độ thực hiện của nhiều chương trình phân tích và tốc độ vẽ của nhiều thiết bị được kết hợp một cách trái ngược với số điểm được vẽ
2.1.2 Giải quyết vấn đề
Đã có nhiều cách tiếp cận được đề xuất và nhiều thuật toán được chương trình hóa, làm đơn giản số điểm cần thiết để đại diện cho đường đã được số hóa Một trong số chúng đã được dùng trong việc quy họach các ứng dụng trong phục vụ
vẽ bản đồ (cartographicgraphic) Không phải mọi phương pháp đều đã được kiểm nghiệm một cách toàn diện để đo đạc hay đánh giá tính khả thi của chúng Các phương pháp có thể được phân loại một cách rõ ràng thành các dạng khác nhau sau: Loại bớt số điểm của một đường bởi một hay nhiều tiêu chuẩn; Xấp
xỉ đường bằng các hàm toán học; Đại diện đường bằng cách xóa bớt những đối tượng đặc biệt
Trong số các phương pháp loại bớt số điểm có một vài phương pháp tập trung vào các điểm sẽ bị xóa, một số thì chú trọng việc lựa chọn các điểm cần được xóa Các phương pháp xóa điểm thường đơn giản nhất Phương pháp này có thể được
mở có thể được mở rộng vào mục đích tăng cường độ phân giải
Trang 9(resolution) bằng cách thiết lập một khoảng ngưỡng quanh vùng được đã được đánh dấu
Phương pháp đơn giản thường được sử dụng nhất là phương pháp rút gọn đường (line reduction), nó sẽ đi tất cả N những điểm dọc theo đường, với N là một số nguyên cho trước dựa vào độ giảm được yêu cầu Phương pháp này không đòi hỏi phải tính toán nhiều và nó dễ chấp nhận trong trường hợp quá trình số hóa thực hiện với số điểm rất dày đặc (dense) Những thuận lợi chủ yếu là thường xuyên hiện lên các đối tượng đáng quan tâm dọc theo đường, như các mũi đất các vùng có hình dạng không xác định, các góc nhọn.v.v Hạn chế của nó là các đường hay bị hiển thị tràn (over-represented)
Một phương pháp khác được T.Lang mô tả năm 1969 Phương pháp này đã được công bố và đã cho những kết quả khả quan, nhưng trên thực tế nó lại bị một số người bác bỏ, họ coi đó là một phương pháp với mục đích chung chung Dựa trên lý do là nó đòi hỏi quá nhiều thời gian tính toán đối với một hệ thống xử lý trực tuyến được thực hiện trong cùng một một thời gian hạn chế Mục đích của phương pháp này là xóa
đi những điểm nếu phát hiện thấy nó nằm đưới một khoảng sai
số cho trước (tolerance) trong phạm vi một phần nhỏ của đường, tức đoạn thẳng đang được xét
Trang 102.1.2.1 Phương pháp dải băng (bandwidth- Tolerance)
2.1.2.1.1 Ý tưởng
Những phương pháp trình bày trong này được dựa trên khái niệm giống ý tưởng sai số tiền định (pre-set tolerance) được T.lang mô tả nhưng nó tập trung hơn vào việc lựa chọn các điểm hơn là việc xóa chúng Các bước tiếp cận một giải pháp tính toán được xử lý bằng máy tính cho nhiều bài toán đều khởi đầu bằng việc kiểm tra xem nó có được giải quyết một cách chủ quan hay không
Nó có thể chọn những điểm được khoanh tròn làm đại diện cho điểm ban đầu tuỳ theo độ chính xác và các yêu cầu
Lý do lựa chọn những điểm này mà không chọn những điểm khác có thể được sáng tỏ bằng việc xét một tình huống đơn giản hơn
Mục đích chính của các phương pháp này là làm giảm bớt số điểm không cần thiết để đại diện cho một đường cartographic, các thủ tục thực hiện còn rất mơ hồ Trong nhiều trường hợp chúng có thể được xem xét một cách hoàn hảo hơn, với phạm vi đề tài này chỉ mới đưa ra được vấn đề cần giải quyết chứ chưa đi sâu vào nghiên cứu một cách đúng mức
Trang 112.1.2.2 Phương pháp đo góc (angularity tolerance)
2.1.2.2.1 Ý tưởng
Phương pháp góc đo bắt nguồn từ phương pháp Bandwidth, nhưng thay vì làm việc với khoảng cách nó thực hiện với các góc Điểm đầu tiên gọi là điểm chốt, điểm thứ ba gọi là điểm động còn điểm thứ hai là điểm trung gian Từ ba điểm đó dựng lên một góc, đỉnh tương ứng với điểm trung gian Sau đó so sánh giá trị của góc này với một giá trị ngưỡng cho trước, nếu nó lớn hơn thì điểm trung gian sẽ bị loại bỏ, đồng thời điểm động chuyển tới điểm tiếp theo, còn điểm trung gian được gán bởi điểm động, điểm chốt giữ nguyên Nếu góc này nhỏ hơn ngưỡng thì điểm trung gian được giữ nguyên, điểm trung gian và điểm động được gán như trên, riêng điểm chốt được gán tới điểm trung gian chứ không cố định như trước
Trang 12hơn sẽ là những phân lớp kết quả chung Sự phân ấp nhị phân
đã “ghép” các thành phần của cùng một nhóm thuộc phân loại N-nhóm (N-classification) phải là những thành phần của cùng nhóm thuộc phân loại (N-1)-nhóm
Có hai cách tiếp cận cơ bản để phân cấp: phương pháp chia và phương pháp hợp nhất (Burrough 1986 chương 7;Johnson 1976) Phương pháp chia (tiếp cận từ trên xuống dưới), lúc đầu giả sử rằng tất cả các đối tượng đều là những thành phần của cùng một nhóm, tại mỗi một giai đoạn phân cấp, nhóm lớn hơn này sẽ bị chia thành nhiều nhóm con kế tiếp nhỏ hơn cho đến khi chúng chỉ chứa một phần tử giữ liệu duy nhất Quá trình này có thể minh họa qua biểu đồ cây (hình 2.4), tại những nốt cuối ở phía dưới cây là những nhóm đơn trị tương ứng với những phần tử dữ liệu riêng biệt, ở những nút cao hơn đại diện cho những nhóm mà có thể phân rã thành những nhóm con Tại mỗi nút của cây cũng có những phép đo đạc tương tự được dùng để xác định xem những đối tượng nào
sẽ được chia thành hai nhóm theo thứ tự nhỏ hơn
Đối với những phương pháp hợp thành (tiếp cận từ dưới lên trên) bắt đầu từ mỗi giá trị coi là những nhóm riêng biệt Tại mỗi giai đoạn phân cấp, hai nhóm nhỏ hơn hợp lại với nhau thành một nhóm lớn hơn
Trang 132.1.2.4 Phương pháp Douglas-Peucker
2.1.2.4.1 Ý tưởng
Thuật toán đơn giản hóa đường thẳng Douglas-Peucker được biết đến như một thuật toán đưa ra các đặc trưng dễ nhận thấy tốt nhất của các đường thẳng gốc Nó được sử dụng cho cả đồ họa máy tính và hệ thống thông tin địa lý Có hai phương pháp biến đổi của thuật toán:
Phương pháp 0(m.n) gốc, trong đó n chỉ ra số đỉnh đầu vào và m là số phân đoạn đầu ra Phương pháp này thực hiện được với bất kỳ chiều nào
Phương pháp 0(nlogn) được thực hiện cho hệ thống đường thẳng hai chiều 2-D đơn giản
Ở cả hai phép biểu diễn, một đường thẳng được đơn giản hóa tự đứt đoạn có thể được tạo ra nếu phần xấp xỉ được chấp nhận không phù hợp
Thuật toán Douglas-Peucker rất thuận lợi cho việc cài đặt chương trình và được thực hiện theo bất cứ chiều nào, nó chỉ phụ thuộc vào khoảng cách giữa các điểm và các đường thẳng Ý tưởng của thuật toán là sử dụng độ đánh giá gần giống qua việc bảo toàn hai đầu mút của đường cong và xấp
xỉ các phần cung của đường cong bởi các đoạn thẳng qua một ngưỡng cho trước
Trang 142.2 Các thuật toán làm trơn
2.2.1 khái quát
Khác với quá trình đơn giản hóa ,cần cho việc lưu trữ ,thao tác hình học,làm trơn tuyến tính ngoài việc sử dụng để xóa nhiễu nó là một thao mang tính thẩm mỹ.Những nhà nghiên cứu tính hiệu quả của các thuật toán làm trơn đã chỉ ra 3 cách tiếp cận đang tồn tại:
Kỹ thuật trung bình cơ bản
Kỹ thuật lọc epsilon
Xấp xỉ toán học
Kỹ thuật trung bình cơ bản bao gồm :
Dịch chuyển ước lượng trung bình
Ước lượng khoảng cách trung bình
Trượt trung bình
Trong phương pháp này sử dụng một số điểm điều kiển trung bình ( thường là 3,5 hoặc7 ) để điều kiển độ trơn của đường cong
Trang 152.2.2 Các phương pháp làm trơn
2.2.2.1 Kỹ thuật ước lượng khoảng cách
Kỹ thuật này sử dụng khoảng cách thực giữa các tọa độ điểm để tính độ trơn của điểm P3 Sử dụng phương pháp này 4 khoảng cách được tính toán giữa (p3-p1: p3-p2:p3-p4:p3-p5) Giá trị ước lượng của điểm ban đầu là 0.5
Và tổng của các điểm ước lượng khoảng cách (pt/d) được ước lượng là 0.5
Hai đIều khiển được sử dụng trong phương pháp này là: Công thức ước lượng khoảng cách (1/d,1/d2 ,1/d4 , ) Ước lượng cho điểm làm trơn và tổng ước lượng khoảng cách
P3new=0.5*p3+0.5*[p1*(1/d1)+ +p5*(1/d5)]
2.2.2.2 kỹ thuật dịch chuyển ước lượng trung bình
Thuật toán trung bình đơn giản hay dịch chuyển ước lượng trung bình thực hiện việc tính toán cho mỗi điểm trên đường cong bằng một vị trí khác dựa vào lân cận các điểm ( n-k,n+k ).Các kết quả ban đầu thu được chỉ ra rằng ước lượng ( 0.2 : 0.2 : 0.4 : 0.2 : 0.1 ) cho 5 điểm ước lượng dịch chuyển trung bình tạo ra một mẫu đường cong rất vừa ý