Top Ad unit 728 × 90

Latest news

recent

Hệ thống nhận diện bảng số xe


Hệ thống tự động nhận diện bảng số xe, Automatic Number Plate Recognition (ANPR), là hệ thống sử dụng camera để thực hiện việc kiểm tra, xác định biển số của phương tiện một cách tự động, từ đó có khả năng hỗ trợ truy vấn các thông tin chi tiết cấp cao hơn như tên chủ phương tiện, thông tin đăng kí, ... Hệ thống này được ứng dụng nhằm giải quyết các vấn đề liên quan tới an ninh, thống kê khảo sát, giám sát và theo vết....
Có rất nhiều giải pháp, thiết kế hệ thống, thiết bị khác nhau để giải quyết các yêu cầu liên quan tới lĩnh vực này tùy theo từng điều kiện áp dụng: ban đêm hay ban ngày, không gian mở hay đóng, ứng dụng chuyên trách (bãi giữ xe, ...) hay ứng dụng kết hợp (giám sát giao thông, hệ thống theo dõi an ninh, ...), ứng dụng cục bộ hay diện rộng trên phạm vị công cộng, tính địa phương ...

Từ những phân loại yêu cầu cụ thể phong phú trên ta có thể rút ra những khó khăn mà một hệ thống ANPR thông thường phải vượt qua để đạt độ chính xác được chấp nhận đó là:
  • Điều kiện tự nhiên của không gian và thời gian áp dụng hệ thống: ánh sáng, thời tiết, ...Điều này rất dễ hiểu vì rỏ ràng nhận diện biển số của một chiếc xe khi trời đang mưa bao giờ cũng khó khăn hơn khi trời nắng ráo. 
  • Điều kiện bối cảnh: Trong một nơi mà phông nền đơn giản chỉ với các mặt phẳng thì bao giờ việc nhận diện cũng dễ hơn là một nơi mà khung cảnh hỗn độn, người xe tấp nập.
  • Điều kiện quy định định dạng của biển số: cái này khác nhau tùy theo quy định mỗi quốc gia, khu vực, nơi thì dùng hệ thống chử tượng hình, nơi thì chử alphabet, nơi chỉ toàn số, nơi áp dụng cả số lẫn chử, và nơi thì biển số hình chử nhật 1 hàng, nơi 2 hàng, rồi màu sắc của biển số ... ôi thôi thì tùm lum tà la loạn hết cả.
  • Điều kiện hiện trạng của biển số: bạn nên nhớ rằng không phải mọi biển số đều có hiện trạng mới ra lò, chúng có thể cong vênh, sơn có thể tróc, bạc màu...
  • Điều kiện về cách thức bố trí thiết bị: cách lắp đặt camera sẽ cho bạn một cơ hội hay thách thức trong quá trình chạy thuật toán. Tốc độ di chuyển của xe, tốc độ bắt hình của camera cũng tạo ra những vấn đề không nhỏ.
Có lẽ bạn sẽ tự hỏi tại sao tôi lại nói quá nhiều về những vấn đề có phần bên lề ở trên như vậy? Thật ra tôi chỉ muốn nhấn mạnh một điều là trước khi bạn xây dựng một hệ thống hãy cố gắng để trả lời các câu hỏi đại lọai như hệ thống sẽ chạy ở đâu, điều kiện thế nào và nó dùng phục vụ cho việc gì một cách cụ thể. Nhờ điều này (prior-knowledge) bạn sẽ loại bỏ bớt các thách thức, tập trung vào giải quyết các vấn đề ảnh hưỡng trực tiếp để có một kết quả tốt. Một lần nữa tôi muốn bạn hãy ghi nhớ là không có một thuật toán, giải thuật, giải pháp nào là tối ưu tốt nhất cho mọi điều kiện ứng dụng.

Quy trình thường thấy của quá trình xử lý nhận diện bảng số xe sẽ thông qua các bước như sau:

Trong đó:
  1. là quá trình capture từng khung hình trong video stream liên tục từ camera. Quá trình bắt hình được thực hiện tự động liên tục, theo chu kì, hay tùy vào sự quyết định của các điều kiện khác.
  2. Tại đây các phép tiền xử lý ảnh như: chuyển đổi không gian màu, khử nhiễu, cân bằng sáng ... được tiến hành nhằm chuẩn bị dữ liệu tốt, phù hợp tùy theo yêu cầu của các thuật toán xử lý ở mức cao hơn.
  3. Thuật toán dò tìm, trích xuất vùng tương ứng với biển số xe trên khung hình (License Plate Detection). Thuật toán này có thể dựa trên các đặc tính về màu sắc, diện tích, độ góc cạnh, đường thẳng để chọn ra vùng có khả năng là biển số xe cao.
  4. Từ vùng biển số xe ta tiếp tục phân vùng từng kí tự trong đó để chuẩn bị tiến hành nhận dạng.
  5. Optical Character recognition (OCR) Bộ nhận diện kí tự nhận đầu vào là các ảnh có kí tự riêng rẽ và cho ra kí tự văn bản tương ứng. Hiện nay mạng Neuron là hệ thống máy học được sử dụng phổ biến cho việc phân loại này, ngoài ra các giải thuật so khớp mẫu (Template Matching) cũng được áp dụng tùy theo tình huống.
    Biển số Xe = 6562718 
  6. Từ kết quả nhận diện của bước 5 ta đã thực hiện việc chuyển đổi từ hình ảnh của biển số sang giá trị văn bản. Dựa vào giá trị văn bản đã có thì việc tạo ra các câu truy vấn để truy xuất thông tin về biển số đó trong cơ sở dữ liệu là xử lý hết sức dễ dàng.
Quá trình xử lý này sẽ được tích hợp trong một hệ thống ứng dụng đầy đủ với nhiều thiết bị, hệ thống khác để làm nên một hệ thống vận hành đáp ứng nhu cầu nào đó, ví dụ như với hệ thống bãi giữ xe thông minh dưới đây.


Bài viết này mong muốn mang lại cho các bạn một cái nhìn mang tính cơ sở về một hệ thống nhận diện bảng số xe. Trình tự xử lý ở trên chỉ ở mức tổng quan và tham khảo cho những người mới, với vị trí là người đọc tôi mong rằng các bạn hãy tiếp nhận những gì đã trình bày ở đây cũng như tất cả các bài viết khác của Bioz thông qua một cách suy nghĩ cởi mở. Thực tiễn triển khai các thuật toán, ứng dụng không tuân theo bước, trình tự một cách thực sự rạch ròi như lý thuyết. Kiến thức hoàn chỉnh cho việc xây dựng ứng dụng thông minh chính là sự tập hợp của tất cả các bài viết của Bioz trên IEEV.


Binh Nguyen - Bioz
Hệ thống nhận diện bảng số xe Reviewed by Bioz Nguyen on 12:14:00 AM Rating: 5

9 comments:

  1. Em chào anh, năm mới em gửi lời chúc sức khỏe tới anh.
    Hiện tại em cũng đang làm đề tài nghiên cứu về hệ thống nhận dạng biển số xe. Em thấy đề tài này rất hay. Ở trong nước cũng có những thành công và đưa vào ứng dụng như: sản phẩm "Bãi đỗ xe thông minh - nhóm Mắt thần".... Em sẽ sử dụng phương pháp so khớp mẫu trong đề tài này. Nên em mong là anh sẽ viết tiếp bài này, thực sự nó rất hữu ích với em.
    Em cảm ơn!

    ReplyDelete
  2. Chào em, anh cũng chúc em sẽ thành công trong nghiên cứu. Bài viết này thật ra không nhằm mục đích đào sâu vào chi tiết mà chỉ muốn đưa ra một mô hình tổng quan, các xử lý cần có của một hệ thống nhận diện bảng số xe. Chi tiết của quá trình xử lý, kiến thức cần nằm rời rạc trong các bài viết khác của blog này. ANW anh sẽ cố gắng dành thời gian để hoàn tất bài viết này vào cuối tuần. Anh cũng hy vọng em sẽ chia sẽ kết quả nghiên cứu của mình cho mọi người.

    ReplyDelete
  3. ồ, thật trùng hợp, em cũng đang làm đề tài tốt nghiệp về nhận dạng biển số xe dựa trên mô hình hóa mờ (phương pháp phân tích phân cụm)... Em đang đi từ giai đoạn đầu tiên là xử lý tín hiệu ảnh biển số xe thành dữ liệu số để làm đầu vào cho mô hình. Mong nhận thêm nhiều hơn nữa các bài viết của anh về đề tài này.

    chúc anh sức khỏe và thành công!

    ReplyDelete
  4. Em chào anh ạ.
    Em đang tìm hiểu về nhận dạng biển số xe sủ dụng thư viện OpenCV với thuật toán AdaBoost.
    Giờ em đang tạo bộ dữ liệu positive để huấn luyện, em sử dụng ObjectMarker.exe để cắt ảnh xuất ra file positive.txt để đưa vào huấn luyện. Em đang mắc khó khăn ObjectMarker.exe chỉ dành cho ảnh bitmap, nên em đã biên dịch lại file ObjectMarker.cpp để cho nó làm việc với cả ảnh .jpg nữa. Nhưng em gặp lỗi về hàm "CvMouseCallback", em có tìm hiểu trên mạng nhưng vẫn chưa khả quan. Anh có biết nhóm hay bạn nào cũng tìm hiểu về vấn đề này thì cho em địa chỉ để em trao đổi thêm ạ.
    Em cảm ơn anh!

    ReplyDelete
  5. anh đoán là chắc em đang định dùng adaboost để thự hiện license plate detection, để xác định vùng có biển số. Anh không thể giúp em với lỗi này vì có thể có rất nhiều lý do tạo lỗi. Tuy nhiên anh khuyên em là vì vấn đề bmp hay jpg chẳng quan trọng và không có liên quan nhiều tới trọng tâm của vấn đề em đang giải quyết. Do đó thay vì tốn thời gian vào sửa lỗi thì em hãy lên google và search: jpg convert to bmp. Em sẽ có rất nhiều công cụ giúp đưa jpg về file có định dạng được hỗ trợ bởi ObjectMarket. Goodluck

    ReplyDelete
  6. Vâng, em cám ơn anh
    Em sử dụng AdaBoost để huấn luyện bộ dữ liệu xuất file .xml, sau đó em dùng chương trình performent trong thư viện OpenCV để kiểm tra kết quả với bộ dữ liệu test. Nhưng tỉ lệ phát hiện sai khá cao. Em định kết hợp mô hình AdaBoost với đặc trưng LBP để giảm tỉ lệ phát hiện sai. Trong thư viện có chương trình traincascade để huấn luyện dữ liệu dựa trên đặc trưng LBP, nhưng em không test được kết quả của file .xml này. Em muốn hỏi anh kết hợp AdaBoost với LBP với nhau như thế nào ạ.
    Em rất cảm ơn anh!

    ReplyDelete
  7. Em chào anh!

    EM đang làm về "Bài toán tìm bao lồi". Thầy giáo đang yêu cầu viết một ứng dụng của bài toán tìm bao lồi trong nhận dạng, cụ thể là nhận dạng biển số xe. Em đã đọc bài của anh thấy anh viết rất rõ ràng, em nghĩ thuật toán tìm bao lồi được ứng dụng trong bước 4. Nhưng em không biết nó ứng dụng như thế nào cả?
    ANh có thể giúp em nói rõ hơn về bươc 4 trong 6 bước trong quá trình xử lý ảnh được không? EM cảm ơn anh rất nhiều!

    ReplyDelete
  8. bao lồi convex hull của một vùng là bài toán tìm ra vùng tối thiểu chứa toàn bộ các điểm thuộc vùng kia sao cho path từ điểm này tới điển kia không nằm ngoài vùng tìm được. Em vui lòng xem sách Digital image processing chương 9, 1 trong những ứng dụng của morphology là tìm bao lồi, còn có nhiều cách khác nhưng hãy thử đọc kỹ cái này.

    http://www.ieev.org/2012/01/digital-image-processing-2nd-edition.html

    http://www.ieev.org/2012/03/quan-he-giua-cac-iem-anh.html

    nếu có thắc mắc về sử dụng resource em coi Q&A trước khi hỏi.

    ReplyDelete

chia sẻ cho chúng tôi ý tưởng hay khó khăn của bạn ...

All Rights Reserved by IEEV © 2009 - 2016
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.