3 Phương pháp nhận dạng biển báo thời gian thực
3.2 Phát hiện biển báo giao thông đường bộ
Phát hiện biển báo là giai đoạn tìm kiếm các ROI trong ảnh thực tế. Các ROI trong bài toán là các hình có xác suất cao là biển báo giao thông theo đặc tính hình học của chúng.
3.2.1 Phát hiện hình tròn
Hướng tiếp cận ban đầu định nghĩa các ROI chính là những vùng có hình dạng tròn trong ảnh thu nhận từ thiết bị ghi hình. Với góc nhìn trực diện thì các biển báo sẽ là các hình tròn trong khung hình. Để tìm ra các ROI này cần tìm được các đường tròn có trong ảnh thu được đã tách cạnh.
Sau bước tiền xử lý ảnh trả về từ thiết bị ghi hình thành ảnh đã tách cạnh theo thuật toán Canny. Bằng cách duyệt qua các điểm của mỗi đường cong để kiểm tra các điểm đó có cùng thuộc một đường tròn hay không dựa trên sự sai khác của các đường tròn ngoại tiếp tam giác tạo bởi ba điểm bất kỳ của đường cong.
Sử dụng định lý tâm đường tròn ngoại tiếp tam giác là giao của ba đường trung trực (đường thẳng vuông góc và cắt mỗi cạnh của tam giác tại trung điểm) để xác định tâm của đường tròn đi qua ba điểm bất kỳ. Các bước xác định tâm đường tròn chi tiết như sau:
• Bước 1:Chọn ba điểm riêng biệt A(x1, y1), B(x2, y2), C(x3, y3) thuộc đường cong
• Bước 2:Kiểm tra xem 3 điểm có thoả mãn tạo thành một tam giác theo công thức tổng chiều dài hai cạnh luôn lớn hơn chiều dài cạnh còn lại hay:
AB+AC>BC (3.2.1)
AB+BC>AC (3.2.2)
AC+BC>AB (3.2.3)
• Bước 3:Xây dựng các phương trình đường thẳng trung trực của mỗi cạnh hay chính là đường thẳng có vector pháp tuyến tạo bởi hai đỉnh và đi qua trung điểm của cạnh đó. Lần lượt các phương trình đường thẳng trung trực của các cạnh như sau: AB:(x1−x2)(x−x1+x2 2 ) + (y1−y2)(y−y1+y2 2 ) =0; (3.2.4) AC:(x1−x3)(x−x1+x3 2 ) + (y1−y3)(y−y1+y3 2 ) =0; (3.2.5) BC:(x2−x3)(x−x2+x3 2 ) + (y2−y3)(y−y2+y3 2 ) =0; (3.2.6) • Bước 4: Tính giao điểm của 2 trong 3 phương trình đường thẳng trên để tìm ra tâm của đường tròn ngoại tiếp tam giác ABC hay chính là đường tròn đi qua ba điểm A, B, C.
Bằng việc liên tiếp ước lượng các đường tròn có thể của đường cong với một sai số phù hợp sẽ kết luận được đâu là các đường tròn có trong ảnh đã tách cạnh. Việc xác định sai số phù hợp được tính toán vào bán kính nhỏ nhất và lớn nhất có thể của đường tròn. Sau khi thử nghiệm với dữ liệu thực về biển báo, phương pháp
Hình 3.2: Ước lượng tâm đường tròn
3.2.2 Phát hiện hình ellipse
Trong trường hợp này các ROI được định nghĩa là những vùng có hình dạng ellipse trong ảnh thu nhận từ thiết bị ghi hình. Cách tiếp cận này được giải quyết bằng việc tìm đường ellipse trong ảnh đã tách cạnh. Chúng tôi sử dụng phương pháp phát hiện nhanh đường ellipse được đề cập bởi Michele Fornaciari và các cộng sự trong [7]. Tư tưởng chính của [7] là sử dụng định lý về các đường thẳng song song cắt qua ellipse: "Trung điểm của các đoạn thẳng tạo bởi các đường thẳng song song cắt qua ellipse sẽ tạo thành một đường thẳng đi qua tâm của ellipse đó". Tổng quan các bước thực hiện như sau:
• Bước 1: Tách cạnh và gán nhóm cạnh: Sau khi tách cạnh bằng phương pháp Canny thì thực hiện gán nhãn các cạnh bằng hai phương pháp đó là gán nhãn dựa theo hướng của cạnh và tính diện tích vùng.
Nếu duyệt từ trái qua phải hay là tăng dần độ lớn giá trị chiều ngang x mà giá trị chiều dọc y tăng thì sẽ là đường cong hướng dương, ngược lại thì sẽ là đường cong hướng âm.
Duyệt từ trái qua phải trong hình chữ nhật tạo bởi giá trị hai đầu một đoạn cong ở bước trên. Chia hình chữ nhật thành hai phần phân chia bởi đường cong, nếu diện tích phần dưới lớn hơn phần trên thì gọi đó là đường cong lồi ngược lại nếu diện tích phần trên lớn hơn thì gọi là đường cong lõm.
Bằng việc phân đoạn đường cong qua hai bước trên ta có 4 loại đường cong tại hình 3.3 là:
– Đường cong hướng dương lồi (I)
Hình 3.3: Các loại đường cong
– Đường cong hướng dương lõm(III)
– Đường cong hướng âm lõm(IV)
Sử dụng giải thuật Sobel để kiểm tra nhanh các đường cong là hướng dương hay hướng âm. Bằng cách nhân chập giá trị tại mỗi điểm đã xác định là cạnh qua phương pháp Canny lần lượt với hai nhân ma trậnGx vàGy
Gx= −1 0 +1 −2 0 +2 −1 0 +1 (3.2.7) Gy = −1 −2 −1 0 0 0 +1 +2 −1 (3.2.8)
• Bước 2: Tìm và mô tả các phần của đường ellipse: Ý tưởng thực hiện phần này là tìm các cặp 2 đường cong có thể cùng thuộc một hình ellipse lại với
Hình 3.4: Ghép hai đường cong thuộc nhóm II và III
hình ellipse tạo bởi 2 đường cong. Thực hiện kẻ đường thẳng song song từ đầu đường cong thứ nhất đến trung điểm của đường cong thứ hai và đường thẳng từ trung điểm của đường cong thứ nhất tới điểm cuối của đường cong thứ hai của một cặp. Lần lượt kẻ các đường thẳng song song với 2 đường trên để tìm được hai đường thẳng đi qua trung điểm của đoạn thẳng tạo bởi giao điểm của các đường song song với hai đường cong. Theo định lý kể trên hai đường thẳng nối các trung điểm này sẽ cắt nhau tại tâm của hình ellipse. • Bước 3: Gộp các phần của đường ellipse: Sau khi mô tả được các phần ellipse
tạo bởi cặp hai đường cong thực hiện việc ghép các cặp cạnh lần lượt bằng cách nối liên tiếp các cặp có chung một đường cong. Cặp (I, II) nối với cặp (II, III), cặp (II, III) nối với cặp (III, VI), cặp (III, VI) nối với cặp (VI, I) và cặp (VI, I) nối với cặp (I, II). Việc nối các cặp cần tính sai số có thể chấp nhận của khoảng cách hai tâm ellipse của mỗi cặp đường cong. Sai số này có thể được dùng là căn cứ để tính độ chính xác của hình ellipse đoán nhận được. • Bước 4: Chọn lọc các ellipse phù hợp bằng cách:
Đưa ra ngưỡng sai số có thể chấp nhận được. Đưa ra ngưỡng độ méo của ellipse.