0

    Không có sản phẩm nào trong giỏ hàng.

NHẬN DẠNG BIỂN BÁO GIAO THÔNG

GIỚI THIỆU PHƯƠNG PHÁP NHẬN DẠNG BIỂN BÁO GIAO THÔNG

Khái quát phương pháp nhận dạng biển báo giao thông sử dụng trong đề tài

Từ ảnh RGB đầu vào ta xác định vùng ảnh chứa biển báo giao thông nguy hiểm và tách vùng ảnh này ra khỏi ảnh đầu vào. Sau đó trích riêng biển báo và so sánh với cơ sở dữ liệu mẫu trong bộ phân loại để nhận dạng biển báo giao thông nguy hiểm.

Xác định vùng đặc trong chứa biển báo giao thông

Đặc trưng Haar-like

Đặc trưng Haar-like được sử dụng trong việc nhận dạng đối tượng trong ảnh số được phát biểu bởi Viola và Jones gồm 4 đặc trưng cơ bản để xác định một đối tượng trong ảnh. Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối chữ nhật mang giá trị “đen” hoặc “trắng”. Những khối chữ nhật này thể hiện sự liên hệ tương quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể diễn đạt được

Hình 2. 1. Đặc trưng theo cạnh

Dựa theo các đặc trưng trên, giá trị của đặc trưng Haar-like được xây dựng bởi độ chênh lệch giữa tổng các pixel của các vùng đen so với tổng các pixel của các vùng trắng.

f(x) = Tổng vùng đen(các mức xám của pixel) – Tổng vùng trắng (các mức xám của pixel)

 

Như vậy để tính giá trị đặc trưng Haar-like cần phải thực hiện tính toán tổng các vùng pixel trên ảnh. Điều này làm cho chi phí bài toán lớn không thể đáp ứng các tính năng yêu cầu thời gian thực. Do vậy Viola và Jones đã đề xuất ra khái niệm “Integral Image” (ảnh chia nhỏ) để giảm thiểu chi phí cho bài toán tính giá trị của đặc trưng Haar-like để bài toán có thể xử lý với thời gian thực.

Tính “Integral Image” bằng cách sử dụng mảng 2 chiều với kích thước bằng kích thước của ảnh cần tính giá trị đặc trưng Haar-like. Ảnh chia nhỏ ở vị trí (x,y) được tính bằng tổng các giá trị pixel của vùng từ vị trí (0,0) đến vị trí (x-1, y-1). Việc tính toán đơn giản là thực hiện phép cộng số nguyên nên tốc độ thực hiện được tối ưu hóa.

 

Hình 2. 5. Cách tính Integral Image của ảnh

Kết quả có được sau khi tính Integral Image, việc tính tổng giá trị pixel trong vùng cần tính thực hiện như sau:

Gọi vùng cần tính tổng các giá trị pixel là vùng “A4”.

P1(x1,y1) = A1;           P2(x2,y2) = A1+A2;

 

P3(x3,y3) = A1+A3;    P4(x4,y4) = A1+A2+A3+A4;

 

A4 = P4 + P1 – P2 –P3;

  1. Thuật toán tăng tốc Adaboost

Thuật toán tăng tốc Adaboost là thuật toán máy học được cải tiến từ thuật toán Boosting. Với ưu điểm khả năng giải quyết bài toán nhanh chóng, cài đặt đơn giản và dễ dàng, không có các tham số để điều chỉnh và không cần tri thức về bộ học yếu do đó thuật toán tăng tốc Adaboost được sử dụng nhiều trong các ứng dụng về nhận dạng.

  1. Tiếp cận Boosting

Boosting là kĩ thuật nâng cao độ chính xác cho các thuật toán máy học. Năm 1989, Schaire đã đưa ra các chứng minh đầu tiên về thuật toán boosting. Và một năm sau đó Freund đã phát triển thuật toán boosting một cách hiệu quả hơn rất nhiều, mặc dù vẫn còn nhiều hạn chế trong thực tế và chỉ tối ưu trong một số trường hợp. Các thực nghiệm đầu tiên với thuật toán boosting được thực hiện bởi Drucker, Schapire và Simard trong  chương trình  nhận  dạng  ký tự  quang  học (OCR_Optical  Character Recognition). Mãi đến năm 1995 thuật toán AdaBoost mới chính thức được công bố bởi Freund và Schapire.

Nguyên lý cơ bản của thuật toán Boosting là kết hợp các   bộ phân loại yếu (weak classifiers) thành một bộ phân loại mạnh (strong classifier). Trong đó bộ phân loại yếu là các bộ phát hiện đơn giản chỉ cần có độ chính xác trên 50%. Bằng cách này, chúng ta nói bộ phát hiện đã được “boost”.

Xét một bài toán phát hiện 2 lớp (mẫu cần nhận dạng sẽ được phân vào 1 trong 2 lớp) với D là tập huấn luyện gồm có n mẫu. Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra n1 mẫu từ tập D (n1<n) để tạo tập D1. Sau đó, chúng ta sẽ  xây dựng “weak classifier” đầu tiên C1 từ tập D1. Tiếp theo, chúng ta xây dựng tập D2 để huấn luyện bộ phân loại C2. D2 sẽ được xây dựng sao cho một nửa số mẫu của nó được phân loại đúng bởi C1 và nửa còn lại bị phân loại sai bởi C1. Bằng cách này, D2 chứa đựng những thông tin bổ sung cho C1. Bây giờ chúng ta sẽ xây huấn luyện C2 từ D2.

Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả khác nhau. Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả. Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3.

Bây giờ chúng ta đã có một “strong classifier”: sự kết hợp C1, C2 và C3. Khi tiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa thuận của 3 bộ C1, C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này chính là kết quả phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau, C3 sẽ quyết định X thuộc về lớp nào.

  1. AdaBoost

AdaBoost (Adaptive Boost) là một bộ phân loại phi tuyến mạnh cải tiến từ thuật toán Boosting, giúp đẩy nhanh việc tạo ra bộ phân loại mạnh (strong classifier) bằng cách chọn các đặc trưng tốt Haar-Like trong bộ phân loại yếu (weak classifier) và kết hợp chúng lại tuyến tính để hình thành một bộ phân loại mạnh (strong classifier) bằng cách sử dụng các trọng số (Weight) để đánh dấu các mẫu khó nhận dạng.

Cho trước một vài thuật toán học yếu, người ta áp dụng kỹ  thuật tăng cường để tạo ra thuật toán học mạnh hơn. Adaboost là thuật toán cho phép ta có thể làm được điều trên. Gồm có 2 giai đoạn chính như sau:

Giai đoạn 1: Tạo ra các giả định yếu (weak hypotheses) từ các thuật toán học yếu.

Giai đoạn 2: Tạo ra các thuật toán học mạnh từ các giả định yếu.

  1. Giới thiệu phương pháp phân tích thành phần chính (Principle Component Analysis_PCA)
  1. Giới thiệu

Mục đích của phương pháp PCA là loại bỏ đi một số hướng thành phần trong không gian dữ liệu, và chỉ giữ lại các thành phần đặc trưng nhất.

PCA giúp làm giảm số chiều của dữ liệu. Hay nói theo cách khác thay vì sử dụng các trục tọa độ của không gian cũ, PCA xây dựng một không gian mới có số chiều ít hơn, nhưng lại có thể biểu diễn dữ liệu tốt tương đương không gian cũ, nghĩa là đảm bảo độ biến thiên (variability) của dữ liệu trên mỗi chiều mới.

Hình 2.8 là một ví dụ kinh điển hình ảnh của một con lạc đà. Cùng một con nhưng với hai góc nhìn khác nhau thì sẽ có được hai thông tin khác nhau.

Hình 2. 8. Phép chiếu lên các trục tọa độ khác nhau có thể cho cách nhìn khác nhau về cùng một dữ liệu.

Hoặc một ví dụ khác như hình 2.9 với một tập dữ liệu ban đầu (tập điểm màu xanh) được quan sát trong không gian 3 chiều (trục màu đen), ta dễ dàng nhận thấy 3 trục này không mô tả được dữ liệu một cách tốt nhất. PCA sẽ tìm một hệ trục tọa độ mới ( là trục màu đỏ), với không gian mới dữ liệu được mô tả rõ ràng hơn (hình bên phải màu đỏ). Rõ ràng hình bên phải chỉ cần 2 trục tọa độ nhưng cách thể hiện dữ liệu tốt hơn so với hệ trục ban đầu.

 

Hình 2. 9. Tìm các trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất

  1. Thuật toán PCA

Thuật toán PCA được trình bày lần lượt theo các bước dưới đây:

Bước 1: Chuyển đổi ảnh

Biểu diễn M ảnh trong không gian 2D thành 1D. Tạo vector có kích thước N (số

hàng của ảnh xám x số cột của ảnh xám) như mô tả sau:

   

Với: ai là giá trị pixel của ảnh

T là chuyển vị của ma trận Si

Kết quả chuyển cho M ảnh đưa vào ma trận như sau:

Mỗi ảnh là một ma trận cột, ghép M ma trận cột ứng với M ảnh thành một ma

trận có kích thước NxM

Chỉ số đầu là thành phần của vector, chỉ số sau là thứ tự của ảnh

Bước 2: Tính ảnh trung bình

Chi tiết công thức trên:

Bước 3: Trừ mỗi ảnh cho ảnh trung bình

Nhằm mục đích tạo ra sự co giãn tương đối giá trị pixel của các ảnh.

Xây dựng ma trận từ các vừa tìm được:

Đặt:    sẽ được ma trận kích thước NxM

Bước 4: Xây dựng ma trận Covariance

Nhằm mục đích thể hiện sự tương quan của từng vector đối với các vector còn lại trong không gian.

cov = AxAT

Tính trị riêng (eigenvalue: ) và vector riêng (eigenvector: ) của ma trận Covariance này. Đó chính là thành phần đặc trưng thành phần thiết yếu của ảnh.

Trong thực tế, giả sử tồn tại một ảnh có kích thước 200x230 (độ rộng và độ cao của ảnh) thì khi đó kích thước của ma trận cov là 46000x46000 (N2). Kích thước quá lớn do đó không thể tính trực tiếp trị riêng và vector riêng theo cách này. Vì vậy áp dụng lý thuyết đại số tuyến tính: , có thể tính bằng cách giải quyết trị riêng, vector riêng của ma trận ATA (kích thước MxM nhỏ hơn nhiều so với NxN).

Đặt và là các trị riêng và vector riêng của ma trận ATA. Kết quả như sau:

Nhân mỗi vế cho A sẽ được:

 với X= Adi

Các vector riêng là không gian đặc trưng của các biển báo trong cơ sở dữ liệu ảnh ban đầu. Các vector riêng được sắp xếp theo thứ tự từ cao đến thấp theo trị riêng tương ứng. Vector riêng có trị riêng càng cao sẽ mang nhiều đặc trưng thiết yếu nhất trong không gian các biển báo. Ở đây chỉ với M hướng đặc trưng mang giá trị riêng lớn nhất trong không gian NxN không gian đặc trưng.

Bước 5: Phép chiếu

Chiếu lần lượt các ảnh trong cơ sở dữ liệu đến không gian đặc trưng M, để sinh ra các biển báo đặc trưng trong không gian mới này

Với

 Với  là các ma trận đặc trưng các biển báo đã rút
trích ra được (gọi là các eigensignal).

  • là vector ảnh thứ i trừ đi ảnh trung bình.

Bước 6: Ảnh cần nhận dạng

Chuyển đổi ảnh cần nhận dạng thành vector 1 chiều:

Tính sự sai số của ảnh cần nhận dạng với ảnh trung bình của các ảnh trong cơ sở dữ liệu.

Được vector sai số sau:

Chiếu sai số này lên không gian đặc trưng của các biển báo.

Bước 7: Nhận dạng biển báo

Như vậy dựng đặc trưng của ảnh cần nhận dạng và đặc trưng các biển báo trong cơ sở dữ liệu đã được xây dựng.

Phân loại biển báo các đơn giản nhất là dùng khoảng cách Euclide.

  1. Nhận dạng biển báo dùng bộ phân lớp Support Vector Machine (SVM)

Support Vector Machine (SVM) là phương pháp phân lớp dựa trên lý thuyết thống kê của Vapnik và Alexei Chervonenkis xây dựng vào năm 1960[7] . Và được sử dụng nhiều trong các ứng dụng nhận dạng chữ viết tay, nhận dạng khuôn mặt, phân loại tài liệu, tin sinh học…So với các phương pháp phân loại khác, khả năng phân loại của SVM là tương đương hoặc tốt hơn đáng kể [7] . Trong luận văn, nhóm nghiên cứu đã biểu diễn biển báo giao thông nguy hiểm dưới dạng vector và áp dụng phương pháp
phân loại SVM để phân loại nhận diện các biển báo.

  1. Phân lớp tuyến tính (Linear classifier)

Ý tưởng của thuật toán SVM là xây dựng một mô hình để phân loại một đối
tượng có thuộc hay không thuộc vào nhóm đối tượng cần quan tâm. Thuật toán SVM
sẽ biểu diễn các điểm trong không gian và xác định ranh giới giữa hai nhóm đối tượng
sao cho khoảng cách giữa tập dữ liệu được huấn luyện tới ranh giới là xa nhất có thể.

Tiến hành xét một bài toán đơn giản là tách hai lớp với tập dữ liệu mẫu đã được
huấn luyện. Và sau đó ta có thể mở rộng phương pháp cho nhiều trường hợp tổng quát
mà dữ liệu thậm chí không thể tách được phân lớp.

Với xi, i = 1, 2 ,.., N là tập các vector đặc trưng của bộ huấn luyện X. Và nó sẽ
thuộc về một trong hai lớp w1,w2 và được giả sử rằng tập dữ liệu sẽ được phân lớp
tuyến tính. Với mục tiêu là sẽ xây dựng mặt siêu phẳng(hyperplane) để tách chính xác
các phân lớp mẫu được huấn luyện được cho bởi phương trình sau:

g(x) = wTx + w0 =0

Trong đó w là vector trọng số, w0 là độ dịch

Với phương trình ta sẽ xác định được mặt siêu phẳng theo như mô tả. Trong trường hợp này mặt siêu phẳng là đường thẳng đậm đen liền nét tách  hai phân lớp tuyến tính. Mặt siêu phẳng giúp dễ dàng tách được hai phân lớp w1,w2. Tuy nhiên trong thực tế mặt siêu phẳng sẽ có nhiều hơn một, ở đây ta có thể dựng được hai mặt siêu phẳng được đánh dấu lần lượt là h1 h2. Vấn đề cần giải quyết được đặt ra là sẽ chọn mặt siêu phẳng nào để dùng làm ranh giới tách hai phân lớp dữ liệu.

Hình 2. 10. Tách hai phân lớp tuyến tính với một mặt siêu phẳng

Hình 2. 11. Tách hai phân lớp tuyến tính với hai mặt siêu phẳng

Trong trường hợp hình 2.11 thuật toán SVM sẽ xác định mặt siêu phẳng dùng
để tách phân lớp dựa theo khoảng cách cực đại giữa hai mẫu dữ liệu đã được huấn
luyện. Theo hình 2.11 có thể dễ dàng thấy được khoảng cách z2 > z1 do đó mặt siêu
phẳng h2 sẽ được SVM chọn dùng làm ranh giới để tách hai bộ phân lớp. Và khoảng
cách cực đại này còn được gọi là lề(margin), mặt siêu phẳng này còn được gọi là mặt
siêu phẳng lề tối đa.

Độ lớn của lề (margin) được cho như sau:

Từ phương trình trên khi thay đổi w w0 hướng và khoảng cách từ gốc tọa
độ tới mặt siêu phẳng. Bộ phân loại SVM được định nghĩa như sau:

f(x) = sign(wTx + w0 )

Nếu f(x) = +1 thì x thuộc về phân lớp đang cần quan tâm, và ngược lại nếu f(x)
= -1 thì x thuộc về lớp khác.

Phương pháp máy học SVM là tập các mặt siêu phẳng phụ thuộc vào các tham số w w0. Mục tiêu của phương pháp SVM là ước lượng hai giá trị này để có thể cực đại hóa lề(margin). Với giá trị của lề càng lớn thì mặt siêu phẳng phân lớp càng tốt.

Theo hình 2.12 thấy được với độ lớn của lề nhỏ hơn thì khả năng cho kết quả sai sẽ cao hơn.

Hình 2. 12. Ví dụ minh họa về độ lớn của lề (margin)

Nếu tập dữ liệu huấn luyện là khả tách tuyến tính ta có các ràng buộc sau:

 

wTxi + w0 ≥  +1 nếu yi = +1   (2. 24) wTxi + w0  ≤ -1 nếu yi = -1               

Hai mặt siêu phẳng có phương trình wTxi + w0 = ± 1 được gọi là mặt siêu phẳng hỗ trợ. Theo hình 2.11 thì mặt siêu phẳng hỗ trợ chính là những đường thẳng nằm song song với mặt siêu phẳng h1,h2.

Phương pháp có thể tìm được giá trị w w0 để xây dựng được mặt siêu phẳng lề tối ưu là phải giải bài toán tối ưu toàn phương (Quadratic Programming).

Cực đại hóa:

Với các ràng buộc sau:

Trong đó các hệ số Lagrange  là các biến số cần phải tối ưu hóa

Vector w sẽ được tính từ các nghiệm của bài toán toàn phương như sau:


Để xác định độ dịch w0, ta chọn xi sao cho , sau đó sử dụng điều kiện Karush-Kuhn-Tucker (KKT) như sau:

Với là những mẫu nằm gần mặt siêu phẳng nhất và được gọi là các vector hỗ trợ (Support Vector). Theo hình 2.13 những mẫu được gọi là Support Vector là các mẫu xanh hoặc đỏ được khoanh tròn và nằm trên mặt siêu phẳng hỗ trợ (do dấu của bất đẳng thức bằng +1 nếu đây là mẫu cần quan tâm và bằng -1 với các mẫu còn lại).

Hình 2. 13. Minh họa các mẫu được gọi là Support Vector.

  1. Phân lớp phi tuyến (Nonlinear classifier)

Thực tế trong trường hợp tổng quát, mặt phân hoạch có thể là một mặt phi tuyến bất kì (Hình 2.14). Và ta chỉ cần ánh xạ vector dữ liệu vào không gian đặc trưng có số chiều cao hơn nhiều.

Ví dụ theo hình 2.14 giả sử các mẫu xthuộc không gian Rn, không gian này được gọi là không gian giả thiết (hypothesis space). Để tìm mặt phi tuyến trong không gian này, ta ánh xạ các vector mẫu xi  từ Rn vào một không gian Rd có số chiều lớn hơn (d > n, d có thể bằng ). Rd được gọi là không gia đặc trưng (feature space). Sau đó

áp dụng phương pháp SVM tuyến tính để tìm ra một siêu phẳng phân hoạch trong không gian đặc trưng Rd. Siêu phẳng này sẽ là ứng với mặt phi tuyến trong không gian Rd.

Hình 2. 14. Một mặt phân chia phi tuyến có thể trở thành một siêu phẳng trong không gian lớn hơn

 

Trong không gian đặc trưng (feature space) này, các điểm dữ liệu trở thành khả tách tuyến tính, hoặc có thể phân tích với ít lỗi hơn so với trường hợp sử dụng không gian ban đầu. Khi đó, bài toán quy hoạch toàn phương ban đầu trở thành như sau:

Cực đại hóa:

với các ràng buộc sau:

 


Trong đó k là một hàm nhân (kernel function) thỏa mãn:

Với việc sử dùng hàm nhân (kernel function), thì ta không cần quan tâm về ánh xạ . Bằng cách chọn một hàm nhân phù hợp, ta sẽ xây dựng được nhiều bộ phân loại khác nhau. Ví dụ, chọn nhân đa thức dẫn đến bộ phân loại đa thức, nhân Gaussian dẫn đến bộ phân loại RBF (Radial Basis Functions)[1].

CHƯƠNG 3. THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH

  1. Chức năng của chương trình

Chương trình được viết  bằng ngôn  ngữ lập trình python, cùng với sự hỗ trợ của bộ thư viện xử lý ảnh OpenCV.

                                                                                                                                                                                                                                            Chương trình được xây dựng có chức năng chính:

O Phát hiện và nhận dạng biển báo qua video clip quay sẵn với định dạng AVI hoặc mp4

                                                                                                                                                                                                                                            Ngoài ra còn có một số chức năng phụ như:

o Tạo bộ cơ sở dữ liệu cho quá trình học nhận dạng.

o Huấn luyện nhận dạng biển báo cho chương trình.

  1. Xây dựng chương trình
  1. Xây dựng cơ sở dữ liệu ảnh biển báo

 

Ảnh được dùng trong quá trình huấn luyện phát hiện biển báo gồm 2 loại:

Ảnh Positive: là những ảnh có chứa đối tượng cần được phát hiện, cụ thể

là ảnh có chứa biển báo.

Ảnh Negative: là ảnh không chứa đối tượng biển báo.

  1. Nguồn ảnh

Quá trình thu thập ảnh cho mục đích huấn luyện, nhóm đồng thời sử dụng nhiều phương pháp khác nhau để có được bộ dữ liệu ảnh.

Các nguồn ảnh được nhóm sử dụng:

 

Google image.

Ảnh trích xuất từ video clip tự quay hoặc sưu tầm từ YouTube.

Ảnh tự chụp từ thực tế.

Quá trình huấn luyện của máy học đòi hỏi hàng ngàn tấm ảnh ở những điều kiện ánh sáng, tương phản khác nhau, để tạo được bộ ảnh như vậy tốn khá nhiều thời gian nên nhóm đưa ra ý tưởng quay các đoạn video của biển báo sau đó viết một chương trình nhỏ để tách thành các frame ảnh từ đó khiến cho việc sưu tập bộ dữ liệu được nhanh chóng hơn và đặc biệt là có được những tấm ảnh với những đặc trưng đa dạng.

Từ những phương pháp trên nhóm xây dựng được bộ dữ liệu ảnh gồm xxx ảnh

 Positive và yyy ảnh Negative dùng cho việc huấn luyện máy học. Các ảnh được lưu trữ ở định dạng BMP, PPM.

  1. Huấn luyện phát hiện biển báo trong ảnh

Để thực hiện quá trình huấn luyện phát hiện các biển báo trong ảnh, nhóm sử dụng thuật toán SVM

Quá trình huấn luyện trải qua 3 bước:

  • Chuẩn bị dữ liệu ảnh huấn luyện.
  • Lấy mẫu đối tượng từ bộ dữ liệu.
  • Huấn luyện máy học.
  1. Chuẩn bị dữ liệu

Tập ảnh Positive có chứa đối tượng biển báo được đặt tên theo thứ tự và chép vào trong thư mục “dataset”.

Hình 3. 1. Tập ảnh Positive trong thư mục “dataset”

 

  1. Huấn luyện nhận dạng biển báo

 

Quá trình huấn luyện nhận dạng biển báo sử dụng thuật toán  SVM.

 

Bộ ảnh dùng cho huấn luyện nhận dạng được nhóm tận dụng lại một phần ảnh đã sử dụng cho bước huấn luyện phát hiện biển báo ở trên đồng thời bổ sung thêm một số ảnh cho đa dạng. Ảnh dùng trong quá trình này cần có độ đa dạng về điều kiện môi trường, góc chụp, ánh sáng khác nhau nhằm giúp cho việc nhận dạng sau này được tốt hơn.

Bộ ảnh huấn luyện nhận dạng gồm xxx ảnh, với mỗi loại biển báo cần nhận dạng có số lượng tối thiểu là yy ảnh được lưu vào từng thư mục riêng và được đặt tên theo thứ tự.

Hình 3. 2. Một số mẫu huấn luyện nhận dạng.

Sau huấn luyện chúng ta thu được file data_svm.dat lưu trữ thông số huấn luyện như hình sau:

  1. Chương trình nhận dạng.

Sơ đồ hoạt động của chương trình

ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRÌNH

  1. Đánh giá kết quả

Sau khi xây dựng chương trình, nhóm thử nghiệm đánh giá chương trình ở  video clip có kích thước 640x480 pixels, mỗi clip có độ dài từ 5 đến 10 giây. Các môi trường được nhóm thử nghiệm đánh giá là:

Môi trường ánh sáng ban ngày từ 7 giờ đến 17 giờ trong điều kiện thời tiết tốt, không mưa, không bị ngược sáng, biển báo rõ ràng không bị che khuất, tốc độ xe đạt từ 35 đến 45 Km/h, đường bằng phẳng. Trong môi trường này nhóm đã sử dụng một tập dữ liệu thử gồm XX video clip để đánh giá thì kết quả thử nghiệm cho thấy tỉ lệ phát hiện được biển báo là 98,62%, tỉ lệ nhận dạng chính xác là 95,44%. Đây là môi trường được nhóm nghiên cứu đánh giá là môi trường lý tưởng để chương trình có thể phát hiện và nhận dạng với tỉ lệ chính xác cao.

 

 

Sản phẩm gợi ý

Sản phẩm tương tự