Đối tượng của bài toán là các biển báo giao thông của Việt Nam. Trong luận văn này chỉ xét tới các biển báo giao thông đường bộ. Số lượng biển báo giao thông đường bộ của Việt Nam khoảng hơn 200 biển báo và chia làm nhiều dạng:
Bảng 3.1: Một số loại biển báo giao thông ở Việt Nam
Loại biển Nguy hiểm Cấm Hiệu lệnh
Ý nghĩa Báo sự nguy hiểm. Báo điều cấm, hạn chế. Hiêu lệnh phải thực hiện.
Số loại 46 39 9 Số biển 52 56 18 Số thứ tự 201 → 246 101 → 139 301 → 309 Hình dạng chung
Hình tam giác đều với viền bao xung quanh màu đỏ, nền vàng, trên có hình vẽ màu đen mô tả sự việc nguy hiểm.
Hình tròn với viền bao xung quanh màu đỏ, nền mầu trắng, trên nền có hình vẽ mầu đen cho điều cấm hoặc hạn chế.
Hình tròn với nền màu xanh lam, trên biển có hình vẽ màu trắng đặc trưng cho hiệu lệnh.
Ví dụ
Biển 224: Đường dành cho người đi bộ cắt ngang.
Biển 102: Cấm đi
ngược chiều. Biển 301a: Chỉ được đi thẳng.
Biển 244: Đoạn đường
hay xảy ra tai nạn. Biển 123a: Cấm rẽ trái. Biển 305: Đường dành cho người đi bộ.
Hình dạng ngoại lệ
Một số ít biển báo không phải hình tam giác. Một số ít biển báo không phải hình tròn. Một số biển báo có đường kẻ sọc cắt ngang. Ví dụ về biển ngoại lệ
Biển 242a: Đường sắt
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Đặc điểm hình dạng đặc trưng của 3 loại biển báo:
Bảng 3.2: Hình dạng đặc trưng của một số loại biển báo
Hình dạng Ví dụ Ý nghĩa
Tam giác đều, đỉnh quay xuống dưới. Đại diện cho biển báo nguy hiểm: Giao nhau với đường ưu tiên
Tam giác đều, đỉnh quay lên trên. Đại diện cho biển báo nguy hiểm
Lục giác. Đại diện cho biển báo Dừng lại
Hình tròn màu đỏ. Đại diện cho biển cấm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 3.1: Một số biển báo có hình dạng cá biệt
Trong 3 dạng biển báo trên có những biển báo ngoại lệ cá biệt như hình 3.1 và biển chỉ dẫn hình chữ nhật, biển phụ đường bộ, vạch kẻ đường … Vì tính chất phức tạp của các loại biển báo này mà luận văn sẽ không nghiên cứu đến. Giới hạn luận văn tập trung vào nhận biết 3 loại biển báo phía trên.
Với mục đích là truyền tải nội dung thông báo nhanh nhất đến người dùng nên thông thường mỗi ảnh biển báo giao thông chỉ có một đối tượng trên nền ảnh đồng nhất và có màu sắc tương phản rõ rệt để làm nổi đối tượng ảnh.
Dễ nhận thấy là để so sánh, phân loại biển báo giao thông thì hai đặc điểm quan trọng nhất là hình dạng và màu sắc của đối tượng ảnh biển báo giao thông.
Từ những phân tích trên có thể áp dụng một số giới hạn sau với bài toán tra cứu biển báo giao thông:
Nhiệm vụ của bài toán là xây dựng hệ thống tra cứu ảnh biển báo giao thông có một số các chức năng sau: Khi người sử dụng cung cấp một ảnh mẫu biển báo giao thông cần tra cứu. Hệ thống có nhiệm vụ tìm kiếm trong một cơ sở dữ liệu ảnh đã có sẵn và cho ra một danh sách các ảnh tương tự như ảnh mẫu theo thứ tự ảnh nào được coi là giống với ảnh mẫu hơn thì được xếp phía trên.
Trong khuân khổ đề tài, để đơn giản bài toán chỉ xét với những hạn chế sau:
Chỉ xét những ảnh có một đối tượng ảnh duy nhất trên nền có màu đồng nhất.
Chỉ áp dụng các kỹ thuật trích chọn và đối sánh hình dạng.
Các đối tượng ảnh có hình dạng không quá phức tạp và có đường biên tương đối đơn giản.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Ảnh có định dạng phổ biến JPG, BMP, GIF, PCX, đã qua khâu tiền xử lý để loại bỏ nhiễu.
3.3. Xây dựng chƣơng trình đối sánh biển báo giao thông
3.3.1. Sơ đồ khối
Hình 3.2: Sơ đồ khối phần tra cứu ảnh theo hình dạng
Ảnh mẫu được đọc vào cấu trúc DIB bằng hàm DisplayImage
Sử dụng thuật toán dò biên gián tiếp để phân vùng ảnh.
Thực hiện co/giãn (resample) để chuẩn hoá kích thước (cả hai kích thước đều là luỹ thừa của 2) trước khi sao chép sang một ma trận số phức làm đầu vào của hàm biến đổi Fourier nhanh FFT.
Hàm FFT trả lại một ma trận số phức.
Việc tạo véc tơ đặc trưng của ảnh được thực hiện trên ma trận số phức này. Véc tơ đặc trưng là một vector có 256 chiều.
Đọc từng ảnh trong cơ sở dữ liệu, thực hiện các bước giống như với ảnh mẫu để được vector đặc trưng của ảnh vừa đọc.
So sánh vector đặc trưng của ảnh mẫu và ảnh đọc từ cơ sở dữ liệu bằng cách tính khoảng cách Euclide của 2 vector đặc trưng bằng hàm GetShape Distance
Thêm ảnh vừa đọc vào danh sách ảnh tìm thấy, ảnh có sai khác so với ảnh mẫu nhỏ hơn được xếp lên trên.
Đọc ảnh mẫu Resample 256x256 FFT Tạo Véc tơ đặc trưng Đọc ảnh từ cơ sở DL Resample 256x256 FFT Tạo Véc tơ đặc trưng Tính k/c Euclide Thêm vào danh sách ở vị trí thích hợp Dò biên Dò biên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
3.3.2. Đọc ảnh
Ảnh được đọc vào cấu trúc DIB và hiển thị bằng thủ tục DisplayImage, đầu vào là tên và đường dẫn đến file cần đọc, nếu đọc ảnh thành công thủ tục DisplayImage hiển thị ảnh lên khung ảnh được chỉ định.
Việc thao tác với cấu trúc DIB được thực hiện thông qua cấu trúc DIBSection đã được định nghĩa trong thư viện GDI32 của Windows.
3.3.3. Dò biên đối tƣợng ảnh
Phần dò biên đối tượng ảnh sử dụng thuật toán dò biên gián tiếp bằng cách xác định chu tuyến của đối tượng ảnh như được trình bày ở Chương 2.
3.3.4. Resample
Như đã biết, để thực hiện biến đổi Fourier nhanh thì kích thước của dãy số đầu vào phải là luỹ thừa của 2. Tuy nhiên các ảnh cần đọc lại có số điểm ảnh khác nhau và thường là không thoả mãn yêu cầu này, vì vậy thủ tục Resample phải thực hiện một phép nội suy để thêm/bớt điểm ảnh để được một ảnh mới có số điểm ảnh thoả mãn yêu cầu mà không làm thay đổi chất lượng ảnh. Các điểm ảnh được thêm vào theo nguyên tắc nội suy.
Màu và mật độ của các điểm ảnh nội suy được tính toán dựa trên giá trị của các điểm ảnh có sẵn ở trong ảnh.
Có nhiều cách để xây dựng thủ tục Resample, trong đó có 3 phương pháp thông dụng nhất [4]:
o Nearest Neighbor: điểm ảnh mới được sinh ra dựa vào thông tin của các
điểm ảnh ở một phía của điểm ảnh mới, đây là phương pháp resample nhanh nhất nhưng độ chính xác thấp nhất (trong 3 phương pháp).
o Bilinear: lấy thông tin từ những điểm ảnh phía trên và bên cạnh điểm
ảnh mới. Chất lượng ảnh mới tốt hơn so với phương pháp Nearest Neighbor.
o Bicubic: Là phương pháp chính xác nhất vì thông tin về điểm ảnh mới
được suy ra từ 8 điểm ảnh xung quanh.
Trong chương trình này sử dụng phương pháp đơn giản nhất Nearest Neighbor. Kích thước mảng dữ liệu đầu ra là 256×256 phần tử.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
3.3.5. Biến đổi Fourier nhanh
Đầu vào là một ma trận số phức 2 chiều được sinh ra từ ma trận điểm ảnh đã đọc bằng cách gán phần ảo của tất cả các số phức bằng 0, phần thực được gán bằng giá trị của điểm ảnh.
Đầu ra là ma trận số phức hai chiều biểu diễn khai triển Fourier của ma trận đầu vào.
Trong hàm FFT 2 chiều (hàm twoD_FFT() ), từng hàng của ma trận đầu vào được biến đổi Fourier bằng hàm biến đổi 1chiều (hàm oneD_FFT() ), sau đó mới tính FFT 1 chiều cho các cột.
Hai hàm cơ sở để xây dựng oneD_FFT là Scramble() và Butterflies(). Trong đó Scramble() sử dụng để sắp xếp lại dãy đầu vào theo thứ tự đảo bit, còn hàm
Butterflies() là thuật toán cơ sở, được gọi đệ qui để tính FFT.
3.3.6. Tạo véc tơ đặc trƣng hình dạng cho ảnh
Véc tơ đặc trưng của ảnh là một vector 256 chiều, chứa 256 giá trị số double.
double* m_Signature;
m_Signature = new double[256]; Hàm sinh chữ ký GenerateSignature():
Đầu vào: Ma trận vuông kích thước 256x256 các số phức (sinh ra do hàm biến đổi FFT 2 chiều twoD_FFT()) biểu diễn ảnh trong miền tần số.
Đầu ra: vector chữ ký 256 chiều hay là một mảng 256 số double là signature của ảnh.
Thuật toán:
Tính modul (magnitude) của từng phần tử trong mảng hai chiều 256x256 phần tử theo công thức:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Trong đó: Magnitude(i,j) là modul của số phức tại vị trí hàng i, cột j của ma trận, Re(i,j) là phần thực của số phức tại vị trí hàng i và cột j, Im(i,j) là phần áo của số phức tại vị trí hàng i, cột j.
Chia ảnh đầu vào thành những khối kích thước 16x16. Khởi tạo mảng image_Signature[] gồm 256 phần tử Tính signature cho từng khối theo công thức:
15 0 15 0 ) ( ), ( _ i j j iBlockCol i iBlockRow Mag Signature block
Trong đó: block_Signature là giá trị signature của khối, iBlockRow (0 - 255) là chỉ số hàng của phần tử đầu tiên trong khối, iBlockCol (0 - 255) là chỉ số cột của phần tử đầu tiên của khối, i là chỉ hàng của phần tử trong khối (i = 0,...,15), j là chỉ số cột của phần tử trong khối (j = 0,...,15). Mag[i,j] là modul của số phức tại vị trí hàng i, cột j của ma trận đầu vào.
Lưu chữ ký block_Signature được lưu vào mảng image_Signature[]; Sau khi tính xong signature cho cả 256 khối, tiến hành chuẩn hóa mảng image_Signature[].
3.3.7. So sánh ảnh bằng cách tính khoảng cách Euclide
Khoảng cách giữa ảnh Query_Image và ảnh Found_Image được định nghĩa là khoảng cách Euclide giữa hai chữ ký query_Signature[] và found_Signature[] theo công thức:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
3.4.Sử dụng chƣơng trình
Khởi động chương trình, chọn tệp ảnh mẫu bằng cách bấm vào nút
Chương trình sẽ tìm ra một ảnh có khoảng cách Euclide so với ảnh truy vấn nhỏ nhất và hiển thị.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
3.5.Đánh giá chƣơng trình
3.5.1. Kết quả đạt đƣợc
Chương trình đã đạt được một số kết quả nhất định sau:
Chương trình đã trích xuất các đặc điểm là hình dạng của ảnh.
Chương trình đã nhận dạng được một số các biển báo giao thông.
3.5.2. Hạn chế
Chương trình được giới thiệu mới chỉ đưa ra một thuật toán khá đơn giản để trích chọn đặc điểm (sinh véc tơ đặc trưng) nên chắc chắn sẽ không thể cho kết quả so sánh tốt.
Các ảnh ban đầu phải được tiền xử lý như lọc nhiễu và yêu cầu ở một định dạng đơn giản nên phạm vi so sánh bị hạn chế.
Chương trình thiết lập kích thước cố định cho ảnh trước khi xử lý là 256×256, kích thước các khối là 16×16, số chiều của vector đặc trưng là 256 làm hạn chế tính mềm dẻo của chương trình.
3.5.3. Khả năng mở rộng
Các kỹ thuật tra cứu ảnh có rất nhiều hướng nghiên cứu phát triển tạo ra những thuật toán rất hiệu quả làm cho máy tính “hiểu” được nội dung của ảnh. Hoàn toàn có thể xây dựng một thuật toán tốt hơn để trích chọn được những đặc điểm đặc trưng khác như màu sắc, kết cấu, hình dạng của đối tượng ảnh để phát triển cho bài toán nhận dạng vật thể.
Sử dụng các phương pháp làm giảm số chiều của véc tơ đặc trưng sẽ làm tăng đáng kể tốc độ tra cứu. Đối với các hệ thống máy tính có trang bị nhiều bộ vi xử lý hoặc có bộ xủ lý lõi kép thì có thể xây dựng các thuật toán cho phép phân phối các tác vụ cho nhiều vi xử lý đồng thời cũng là một giải pháp tốt để tăng tốc độ tra cứu.
Sử dụng các phương pháp tính toán độ tương tự phù hợp hơn cho từng loại đặc điểm để có được những kết quả so sánh gần với trực giác hơn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
KẾT LUẬN
Luận văn đã trình bày một vài kỹ thuật trích chọn đặc trưng của ảnh dựa trên đối sánh hình dạng. Hình dạng có thể biểu diễn thống qua các bất biến moment, các hàm xoay, mô tả Fourier, độ tròn, độ lệch tâm, hướng trục chính và cả biến đổi radon.
Ngoài ra các đặc điểm trực quan của mỗi điểm ảnh lại có thể được sử dụng để phân tách mỗi ảnh thành các vùng đồng nhất hoặc các đối tượng ảnh. Các đặc điểm cục bộ của các vùng ảnh hoặc các đối tượng ảnh có thể dùng trong các hệ thống tra cứu ảnh theo vùng.
Có nhiều cách để đánh giá khoảng cách giữa các đặc điểm trực quan, một số cách được sử dụng phổ biến như khoảng cách Minkowski, khoảng cách toàn phương, khoảng cách Mahalanobis, độ phân kỳ Kullback-Leibler và độ phân kỳ Jeffrey. Đến thời điểm này thì phương pháp tính khoảng cách Minkowski và khoảng cách toàn phương được sử dụng rộng rãi nhất.
Mặc dù kỹ thuật tra cứu ảnh theo nội dung đưa ra được một giải pháp thông minh và tự động để tìm kiếm ảnh một cách hiệu quả thì vấn đề chính của kỹ thuật này vẫn chỉ dựa trên những đặc điểm ở mức thấp nên nó chỉ có thể phản ánh đựơc một khía cạnh nào đó của ảnh.
Ngoài ra sự đánh giá độ tương tự giữa các đặc điểm trực quan lại chưa liên quan đến đặc điểm tâm lý học thị giác của con người. Người sử dụng thường quan tâm đến sự giống nhau về ngữ nghĩa nên kết quả truy vấn dựa trên các đặc điểm mức thấp thường không thoả mãn được yêu cầu và nói chung là khó đoán trước.
Phần cuối của luận văn đã đưa ra một áp dụng cụ thể cho phương pháp đối sánh ảnh theo hình dạng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Những vấn đề đã đƣợc giải quyết trong luận văn:
o Giới thiệu các kỹ thuật trích chọn đặc trưng hình ảnh theo hình dạng.
o Sơ lược về cách đánh giá hiệu năng của một hệ thống tra cứu ảnh.
o Trình bày kỹ thuật tra cứu ảnh dựa trên đặc trưng hình dạng.
o Áp dụng phương pháp tra cứu ảnh theo nội dung vào bài toán tìm kiếm biển báo giao thông theo đặc điểm hình dạng.
Những vấn đề còn tồn tại:
Do thời gian tìm hiểu về đề tài chưa được nhiều và những hạn chế về khả năng lập trình đồ hoạ nên một số mục tiêu đặt ra từ khi nghiên cứu chưa thực hiện được trong chương trình chạy thử này bao gồm:
o Chưa có chức năng tra cứu ảnh bằng cách kết hợp nhiều đặc điểm.
o Chưa cài đặt các kỹ thuật đánh chỉ số hiệu quả, tin cậy của chương trình.
o Chưa cài đặt các kỹ thuật tăng hiệu năng của hệ thống bằng cách giảm số chiều các véc tơ đặc trưng.
Trong thời gian tới, tôi hy vọng sẽ có thể giải quyết được những vấn đề còn tồn tại trên để có thể xây dựng được một chương trình thực sự hữu ích, đáp ứng được những yêu cầu của bài toán.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1]Đỗ Năng Toàn, Phạm Việt Bình, Giáo trình môn học Xử lý ảnh, Khoa CNTT - Đại học Thái Nguyên, 2007.
[2]Nguyễn Thanh Thủy, Lương Mạnh Bá, Nhập môn xử lý ảnh số, NXB Khoa học và Kỹ thuật, 2003.
[3] Nguyễn Quang Hoan, Xử lý ảnh, Học Viện Công nghệ Bưu chính Viễn thông Hà