Proceedings VCM 2012 33 robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng

9 158 0
Proceedings VCM 2012 33 robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng

Đang tải... (xem toàn văn)

Thông tin tài liệu

robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng

Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 237 Mã bài: 49 Robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng A mail delivery robot based on room number plate recognition Đào Trung Kiên, Lê Thị Lan Viện MICA, HUST - CNRS/UMI 2954 - Grenoble INP, Trường ĐH Bách khoa Hà Nội email: trung-kien.dao@mica.edu.vn, thi-lan.le@mica.edu.vn Tóm tắt Bài báo này trình bày một nghiên cứu ứng dụng nhận dạng biển số phòng trong việc phát triển một robot dịch vụ phục vụ việc chuyển thư giữa các phòng trong một toà nhà. Robot sau nhận lệnh từ người dùng khi được đưa một hình có biển số phòng ra trước camera sẽ di chuyển dọc theo một hành lang. Trong quá trình di chuyển, robot liên tục đọc biển số phòng để tìm phòng được yêu cầu chuyển thư. Khi tìm được đúng phòng yêu cầu, robot sẽ chờ người nhận thư và sau đó di chuyển về vị trí ban đầu. Kết quả thử nghiệm cho thấy robot hoạt động tốt, với tỉ lệ nhận dạng đúng cao trong các điều kiện ánh sáng khác nhau. Nghiên cứu này có thể được ứng dụng với nhiều mục đích khác. Abstract: In this paper, a mail delivery robot based on room number plate recognition is introduced. After the user command is given by showing the number plate of the distination room in front of the camera, the robot moves along a corridor while continuously reading the number plates of the room it passes to find the corresponding room. Once the room is identified, the robot will wait a user to take the mail, then return to the original location. Experiments showed that the introduced robot functions with high correct recognition rate in different lighting conditions. This study can be extendedly utilized in a number of other applications. 1. Giới thiệu Camera số đã trở nên phổ biến trong hai thập kỷ vừa qua với chất lượng ảnh và tốc độ chụp hình ngày càng được nâng cao, khiến cho các bài toán phát hiện và theo dõi đối tượng trở nên được quan tâm hơn. Việc phát hiện và nhận dạng ký tự trên các biển số, biển hiệu có thể được ứng dụng trong nhiều bài toán trong thực tế như theo dõi, giám sát xe tự động, định vị cho robot di động. Bài toán này dựa trên kỹ thuật thị giác máy tính đã được nghiên cứu khá nhiều và đã có một số sản phẩm thương mại, nhưng vẫn đang thu hút được nhiều sự quan tâm nghiên cứu. Bài báo này trình bày việc ứng dụng bài toán nhận dạng biển số phòng để làm robot dịch vụ chuyển thư từ phòng nọ tới phòng kia trong một toà nhà. Trong ứng dụng này, người cần chuyển thư ra lệnh cho robot bằng cách giơ một tấm hình chứa số phòng cần chuyển thư tới trước camera của robot. Robot được lập trình để, sau khi nhận được lệnh, sẽ di chuyển dọc theo một hành lang và liên tục đọc các biển số phòng khi di chuyển qua cho tới khi nhận được phòng tương ứng với lệnh thì sẽ dừng lại để chờ lấy thư. Như được thể hiện trên hình H. 1, về cơ bản bài toán phát hiện và nhận dạng biển số, biển hiệu có thể được chia làm 3 bước:  Phát hiện biển số, biển hiệu: tức phát hiện vị trí và kích thước của vùng chứa biển số từ ảnh đầu vào được thu từ camera.  Phân tách ký tự: tách vùng chứa từng ký tự từ mỗi ảnh tương ứng với vùng có biển số đã được trích ra từ ảnh gốc.  Nhận dạng ký tự: nhận dạng các ảnh của từng ký tự đã được phân tách từ bước trên. H. 1 Các bước xử lý trong nhận dạng biển số, biển hiệu 238 Đào Trung Kiên, Lê Thị Lan VCM2012 Một trong các phương pháp thường được sử dụng để giải quyết bài toán này là đối sánh mẫu (template matching) căn cứ vào các chỉ số tương quan trên toàn bộ ảnh (như tổng độ sai khác tuyệt đối, tổng bình phương sai khác, hệ số tương quan chéo,…). Ưu điểm của phương pháp này là việc tính toán và cài đặt tương đối đơn giản, nhưng phương pháp này chỉ hiệu quả với các mẫu đơn giản và ít biến đổi. Hơn nữa, với CSDL mẫu lớn thì khối lượng tính toán cũng tăng lên tương ứng. Một hướng tiếp cận khác là phương pháp phân vùng ảnh (image segmentation) dựa theo màu sắc và độ sáng, tức phân chia một ảnh thành các vùng có màu sắc tương đồng nhau với mức độ chi tiết được điều chỉnh bởi một số tham số. Nguyên tắc của phương pháp này dựa trên việc các biển hiệu thường là hình chữ nhật đồng màu. Phương pháp này thường có tỉ lệ phát hiện cao và ít phụ thuộc vào các điều kiện ánh sáng, màu sắc, nhưng đòi hỏi nhiều tính toán. Một số nghiên cứu áp dụng phương pháp này trong việc giải quyết bài toán phát hiện biển số, biển hiệu có thể tìm thấy trong [1-4]. Bên cạnh đó, một số phương pháp phức tạp hơn cũng được phát triển. Đầu tiên có thể kể đến các phương pháp máy học (machine learning), trong đó phổ biến nhất bao gồm mạng neural nhân tạo (ANN - artificial neural networks) [8], SVM (support vector machines) [9], logic mờ, bộ suy luận logic mờ (fuzzy inference system – FIS),… Các phương pháp này thường đòi hỏi việc trích chọn các đặc trưng cần thiết, trong đó đặc trưng Haar được nhiều nghiên cứu quan tâm. Ngoài ra, một số nghiên cứu còn sử dụng các phương pháp tìm hình bao (contour), phát hiện cạnh (edge detection) [10]. Tuy nhiên phương pháp này đòi hỏi nhiều tính toán, và cho hiệu quả kém trong trường hợp ảnh đầu vào bao gồm cả cảnh vật và các đối tượng khác. Phương pháp này cũng nhạy cảm với sự thay đổi của độ sáng. Từ vùng ảnh chứa biển số, biển hiệu, sau khi đã được nắn chỉnh thành một ảnh chữ nhật, các ký tự trong đó cần phải được xác định vị trí và kích thước. Phương pháp đơn giản nhất là phân vùng ảnh tĩnh, có thể được áp dụng với các loại biển số, biển hiệu mà định dạng của số hiệu và vị trí cũng như kích thước của các ký tự là cố định, ví dụ như biển số xe. Phương pháp phân vùng động dựa trên việc phân vùng ảnh theo màu, sau đó tìm ra các đường bao tương ứng với các ký tự cần được tách. Tuy nhiên, thông thường số lượng màu trên các biển không nhiều, thường là hai (màu nền và màu chữ) nên việc thực hiện có thể được đơn giản hoá bằng cách nhị phân hoá ảnh trước khi áp dụng phương pháp này. Một số nghiên cứu phát triển thuật toán phức tạp hơn bằng cách sử dụng các thành phần kết nối (connected components) [5]. Phương pháp này trích chọn ra các thành kết nối ở trong bức ảnh nhị phân, tức là tìm kiếm những điểm ảnh tương ứng với ký tự. Ưu điểm của nó là nó không phụ thuộc vào độ nghiêng của bức ảnh và tìm ra các giới hạn biên của ký tự là rất chính xác, nhưng phương pháp này yêu cầu bức ảnh đầu vào là ảnh có chất lượng tốt, ít bị can thiệp bởi nhiễu và sự chuyển đổi tốt từ bức ảnh ban đầu sang ảnh nhị phân, để tránh tình trạng hai hay nhiều ký tự xuất hiện trên một vùng kết nối. Phương pháp dùng các lược đồ chiếu tương tự như phương pháp được dùng để tìm vị trí của biển trong ảnh ban đầu, và đã được áp dụng trong nhiều nghiên cứu [6-8]. Ảnh được áp dụng có thể là ảnh xám hoặc ảnh nhị phân sau khi phân ngưỡng. Trong trường hợp biển có chứa hai hay nhiều hàng chữ, thì trước đó cần sử dụng lược đồ chiếu ngang để tách từng hàng chữ trước. Một điều kiện để áp dụng được phương pháp này là chữ trên biển phải được căn thẳng theo cả chiều ngang và chiều dọc. Nhận dạng ký tự (optical character recognition – OCR) là bài toán đã được bắt đầu nghiên cứu từ khá sớm và được đặt ra ngay từ thời kỳ sơ khai của bộ môn thị giác máy tính. Bản chất của việc nhận dạng ký tự là bài toán phân lớp (classification), nghĩa là mỗi ảnh ký tự cần được xếp vào một trong các lớp tương ứng với các ký tự trong một tập hợp cho trước. Thông thường mỗi loại biển số, biển hiệu chỉ chứa một số ký tự nhất định và được bố trí theo một định dạng nào đó. Do vậy, bằng cách áp dụng thông tin có được từ quy định về định dạng của chữ trên biển, số phần tử của tập hợp ký tự tương ứng với từng vị trí của chuỗi ký tự cần nhận dạng. Một số phương pháp thông dụng để giải quyết bài toán này là đối sánh mẫu [11], máy học sử dụng mạng neural nhân tạo hay SVM [5,7,8], suy nghiệm (heuristic) bằng các đặc trưng hình học và tô-pô [6,12]. Bài báo này trình bày một nghiên cứu ứng dụng phát hiện và nhận dạng biển số phòng để thực hiện một robot dịch vụ. Hiện tại, robot này được phát triển để hoạt động với kịch bản đưa thư, nhưng nó có thể được ứng dụng trong nhiều mục đích khác như vận chuyển đồ, dẫn đường, tìm đường,… hay mở rộng hơn trong việc tương tác người-robot dùng thị giác máy tính. 2. Hoạt động của robot 2.1 Sơ đồ trạng thái hoạt động Sơ đồ trạng thái cho hoạt động của robot được thể hiện trên hình H. 2. Robot bắt đầu ở trạng thái S 0 bằng việc chờ lệnh từ người dùng bằng cách liên tục đọc ảnh từ camera cho đến khi nhận được một Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 239 Mã bài: 49 hình có chứa số phòng cần chuyển thư tới thì di chuyển theo hành lang để tìm phòng được yêu cầu chuyển thư (trạng thái S 1 ). Trong quá trình di chuyển, robot cũng liên tục đọc biển số phòng tại các vị trí nó đi qua (S 2 ). Nếu phát hiện đúng số phòng yêu cầu, robot sẽ di chuyển vào phòng (S 3 ), chờ người lấy thư (S 4 ) và sau đó di chuyển về vị trí ban đầu (S 6 ) để chờ lệnh mới. Nếu biển số phòng không đúng với yêu cầu, robot sẽ tiếp tục lặp lại quá trình di chuyển, hoặc nếu đã hết hành lang (kiểm tra ở trạng thái S 5 ) thì robot cũng kết thúc quá trình tìm phòng để di chuyển về vị trí ban đầu (S 6 ). Như vậy, bài toán phát hiện và nhận dạng biển số phòng sẽ được robot sử dụng trong hai trạng thái là S 0 và S 2 . H. 2 Kịch bản hoạt động của robot đưa thư 2.2 Mô-đun phát hiện biển số phòng Trong nghiên cứu này, phương pháp phân vùng ảnh được áp dụng để phát hiện biển số phòng vì, như đã phân tích ở trên, phương pháp này ít phụ thuộc vào các điều kiện sáng hay màu sắc khi chụp ảnh, cũng như việc ảnh bị bóp méo hay xoay nghiêng so với các phương pháp khác. H. 3 Quá trình phát hiện biển số phòng Do biển có dạng hình chữ nhật có kích thước không lớn nên khi được chụp bởi camera từ các góc khác nhau thì trên ảnh sẽ có dạng gần đúng là hình bình hành. Vì vậy, trong nghiên cứu này, hướng tiếp cận để giải quyết bài toán này là phân vùng ảnh và từ đó phân tích để tìm ra các vùng có dạng hình bình hành, sau đó thực hiện một số kỹ thuật hậu xử lý để loại bỏ các vùng kết quả không tốt dựa trên kích thước, hình dạng,… để đưa ra các kết quả cuối cùng của mô-đun. Quá trình thực hiện của mô-đun này được thể hiện trên hình H. 3, với đầu vào là một ảnh đơn được nhận từ camera, và kết quả sẽ là các vùng có khả năng là biển số phòng. Kết quả có thể là không, một hoặc nhiều vùng được phát hiện. Quá trình này bao gồm các bước sau:  Phân vùng ảnh: mô-đun sử dụng thuật toán phân vùng ảnh để chia ảnh đầu vào thành các vùng dựa trên màu sắc.  Tìm được biên của các vùng. Đường biên này là chuỗi các điểm ảnh nối tiếp nhau tạo thành đường kín bao các vùng đã được phân chia ở bước trên.  Phân tích dạng hình học các đường biên: để tìm ra các vùng có dạng hình bình hành.  Hậu xử lý. Bước này bao gồm các việc (1) loại bớt các vùng hình bình hành đã được phát hiện nhưng có kích thước hay hình dạng không phù hợp để nâng cao chất lượng của kết quả, (2) trích xuất ảnh tương ứng với các vùng kết quả và biến đổi về dạng hình chữ nhật. Việc phân vùng ảnh được giải quyết bằng phương pháp phân hoạch đồ thị [13]. Thuật toán này dựa trên việc lựa chọn các cạnh từ đồ thị, trong đó mỗi điểm ảnh tương ứng với một đỉnh. Trọng số (giá) của mỗi cạnh đánh giá khoảng cách giữa các đỉnh, hay nói cách khác, tương ứng với độ sai khác về màu sắc của các điểm ảnh. Đường biên của các vùng được xác định bằng cách so sánh hai đại lượng: độ sai khác về màu sắc giữa các điểm ảnh ở hai phía khác nhau của đường biên, và độ sai khác giữa các điểm ảnh lân cận ở trong vùng đó. Độ sai khác về màu sắc có thể được định nghĩa là giá trị tuyệt đối của hiệu số của mức xám đối với ảnh xám, hoặc bằng khoảng cách Euclid của hai vector các thành phần màu R, G, B với ảnh màu. Gọi     max ( ) Int C w e  là độ sai khác nội tại bên trong của một vùng C , trong đó ( ) w e là trọng số lớn nhất trong cây khung bé nhất (minimum spanning tree) của vùng C . Độ sai khác giữa hai vùng 1 C và 2 C được định nghĩa là trọng số nhỏ nhất của cạnh nối hai vùng này với nhau. Tức là 240 Đào Trung Kiên, Lê Thị Lan VCM2012     1 2 , min (( , )) i j Dif C C w v v , (1) với i v và j v lần lượt là các điểm ảnh thuộc các vùng 1 C và 2 C . Nếu không có cạnh nào kết nối hai vùng 1 C và 2 C thì   1 2 ,Dif C C   . Đường biên giữa hai vùng được xác định bằng cách kiểm tra độ sai khác giữa hai vùng   1 2 , Dif C C có lớn so với độ sai khác nội tại của ít nhất một trong hai vùng   1 Int C và   2 Int C hay không, thông qua một hàm phân ngưỡng. Ta định nghĩa việc so sánh như sau:       1 2 1 2 1 2 , , , D C C Dif C C MInt C C   , (2) trong đó hàm sai khác nội tại nhỏ nhất MInt được định nghĩa như sau:     1 2 1 1 2 2 , min ( ) ( ), ( ) ( ) , MInt C C Int C C Int C C      (3) với  là hàm phân ngưỡng. Với các vùng nhỏ,   Int C không phải là hàm đánh giá tốt các đặc trưng cục bộ. Hàm phân ngưỡng có thể được định nghĩa bằng nghịch đảo kích thước của vùng   C k C   , với k là hằng số có thể được dùng để điều chỉnh độ chi tiết của các vùng được phân hoạch. Hệ số k càng lớn thì kết quả sẽ có các vùng càng ít chi tiết, hay nói cách khác, sẽ trả về các vùng có kích thước càng lớn. Trong lý thuyết đồ thị, một phân hoạch S là việc chia tập các đỉnh V của đồ thị thành các vùng (tập con) C S  . Thuật toán để thực hiện như sau: 1. Khởi tạo đồ thị vô hướng   , G V E  , trong đó V là tập n đỉnh tương ứng với các điểm ảnh, và E là tập m cạnh. Các cạnh được khởi tạo bằng cách kết nối các điểm ảnh lân cận nhau, với trọng số bằng độ sai khác về màu sắc. 2. Thực hiện việc phân hoạch bằng cách với mỗi vùng C S  tương ứng với một vùng được kết nối trong đồ thị   , G V E    với E E   . 3. Nếu trọng số của một cạnh nối hai đỉnh của hai vùng lân cận nhau là nhỏ so với độ sai khác nội tại của cả hai vùng, thì gộp hai vùng làm một. 4. Lặp lại bước 3 với 1 q m  . 5. Trả về   1 2 , , , r S C C C  là kết quả của việc phân vùng. Để giảm thời gian chạy chương trình, thuật toán này sẽ được xử lý trên một ảnh thu nhỏ của ảnh đầu vào, sau khi tìm được các hình bình hành thì toạ độ các hình đó trong ảnh gốc sẽ được tính bằng cách ánh xạ ngược lại trước khi trích xuất các ảnh biển số phòng. Ngoài ra phương pháp này có tính độc lập ở mỗi bước lặp có thể được chia để xử lý song song trên những máy có bộ vi xử lý nhiều lõi. Sau khi ảnh đầu vào được phân vùng, bước tiếp theo của quá trình phát hiện biển số phòng là trích ra đường biên (contour) của từng vùng này. Các đường biên được biểu diễn dưới dạng chain code, là các mã có giá trị nguyên từ 0 tới 7, thể hiện hướng của điểm tiếp theo trong dãy điểm so với điểm liền trước. Việc phát hiện biển số phòng được quy về việc phát hiện các vùng hình bình hành sau khi đã có các đường biên. Bài toán này được chia thành hai bước nhỏ: (1) Tìm các điểm góc (corners) trên đường biên, là các điểm có nhiều khả năng là góc của các biển; và (2) kết hợp các điểm góc lại để tìm ra hình bình hành. Trong bước thứ nhất, các điểm góc được xác định là các điểm mà đoạn 1 gồm l điểm trước đó và đoạn 2 gồm l điểm sau đó của đường biên tạo thành hai đoạn thẳng, nhưng đoạn 3 gồm toàn bộ các điểm này lại không tạo thành một đoạn thẳng, trong đó l là một tham số có thể điều chỉnh được. Việc xác định dãy các điểm có tạo nên đoạn thẳng hay không được dựa trên việc so sánh hệ số tương quan chéo của các toạ độ x và y với một ngưỡng. Để tìm các điểm góc, toàn bộ các điểm trên đường biên cần được xét, với việc tính các giá trị xy corr cho cả ba đoạn, trong đó đoạn 1 và 2 gồm l điểm, và đoạn 3 gồm 2 1 l  điểm. Bước thứ hai là việc kết hợp các điểm góc và kiểm tra các tiêu chuẩn hình thành một hình bình hành. Với tổ hợp bốn điểm góc bất kỳ, tiêu chuẩn đánh giá là tỉ lệ độ dài hai cạnh đối bất kỳ phải lớn hơn d  , và tỉ lệ độ dài hai cạnh kề bất kỳ phải lớn hơn k  , trong đó d  và k  là các ngưỡng tham số có thể điều chỉnh được. 2.3 Mô-đun phân tách ký tự Sau khi ảnh của vùng chứa biển được trích ra từ ảnh đầu vào và được biến đổi về dạng hình chữ nhật, hệ thống sẽ phân tích từng ảnh này để trích ra từ mỗi ảnh các vùng con tương ứng với các ký tự. Kết quả của quá trình này sẽ là các ảnh con đã được nhị phân hoá. Như được thể hiện trên hình H. 4, quá trình này bao gồm các bước: (1) phân ngưỡng (threshold) mức xám để tạo ra ảnh nhị phân, (2) tìm đường bao từng vùng, qua đó xác định được các vùng chứa ký tự của biển, và (3) hậu xử lý. Phân ngưỡng là bước đầu tiên trong việc phân tách ký tự. Ảnh chứa biển được nhị phân hoá bằng việc phân ngưỡng mức xám. Để giảm ảnh hưởng của nhiễu, ảnh được làm trơn bằng bộ lọc trung bình với các điểm ảnh lân cận. Thuật toán phân ngưỡng Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 241 Mã bài: 49 thích nghi (adaptive threshold) được sử dụng để khắc phục nhược điểm này bằng cách sử dụng một ngưỡng thay đổi theo từng điểm ảnh thay vì một giá trị cố định cho toàn bộ ảnh. Có một số cách tiếp cận khác nhau cho vấn đề chọn ngưỡng động, nhưng đều dựa trên một giả thiết là các vùng nhỏ trên ảnh sẽ có điều kiện chiếu sáng gần giống nhau. Trong nghiên cứu này, các ngưỡng cục bộ được tìm dựa trên hàm nhân (kernel function) dựa trên tổng có trọng số theo phân bố Gauss   i i T G p p c    với c là hằng số. H. 4 Quá trình phân tách ký tự biển số phòng Sau khi phân ngưỡng, ảnh nhị phân sẽ có dạng chữ trắng trên nền đen. Việc tìm các vùng ký tự khi này đơn giản là trích xuất ra các vùng màu trắng từ ảnh nhị phân. Các vùng này về cơ bản sẽ tương ứng với các ký tự chữ trên biển. Việc tách vùng được thực hiện tương tự như thuật toán tìm đường biên trong việc phát hiện biển số ở trên. Các vùng có kích thước không phù hợp như quá nhỏ hoặc quá lớn, hoặc có hình dạng không phù hợp theo tỉ lệ giữa chiều rộng và chiều cao của ký tự, sẽ bị loại bỏ để giảm khối lượng tính toán trong quá trình nhận dạng về sau. Cuối cùng, các ảnh ký tự đã trích xuất được sắp xếp theo vị trí phân bố của chúng trong ảnh biển số. 2.4 Mô-đun nhận dạng ký tự Nhiệm vụ của mô-đun này là từ ảnh các ký tự đã trích xuất từ ảnh đầu vào, hệ thống sẽ quyết định ảnh đó tương ứng với ký tự gì. Kết quả của quá trình này là một chuỗi ký tự chứa biển số phòng tương ứng với các ảnh ký tự được đưa vào với thứ tự đã sắp xếp theo vị trí. Như đã phân tích ở trên, bản chất của việc nhận dạng là một quá trình phân lớp với các lớp tương ứng với các ký tự mẫu. Kết quả nhận dạng mỗi ký tự sẽ là một phần tử của tập mẫu. Lưu ý rằng kết quả có thể là trống nếu không có phần tử nào phù hợp, khi đó ký tự sẽ bị loại. Các biển số phòng chỉ sử dụng chủ yếu ký tự số và một số ít ký tự chữ nên số lớp không nhiều. Vì vậy, trong mô-đun này, phương pháp đối sánh mẫu sẽ được sử dụng để giải quyết bài toán. Chương trình nạp một CSDL các ảnh ký tự mẫu được xây dựng sẵn, sau đó với mỗi ảnh ký tự cần nhận dạng, chương trình sẽ so sánh với từng ảnh mẫu dựa trên hệ số tương quan chéo corr . Ảnh mẫu nào có hệ số tương quan chéo lớn nhất sẽ được lựa chọn. Trong trường hợp hệ số này tương ứng với tất cả các ảnh mẫu đều nhỏ hơn một giá trị ngưỡng đặt trước thì kết quả trống sẽ được trả về để loại ảnh cần nhận dạng. Nhn dng ký t Kt qu Tin x lý Tính corr so vi t ng nh mu Chn ký t ng vi nh có corr ln nht nh ký t Hu x lý H. 5 Quá trình nhận dạng ký tự biển số phòng Quá trình nhận dạng mỗi ảnh ký tự được thể hiện trên hình H. 5, bao gồm các bước như sau:  Tiền xử lý: để có thể so sánh hệ số tương quan chéo, ảnh ký tự cần được chuẩn hoá về cùng kích thước với các ảnh mẫu trong CSDL.  Tính hệ số tương quan chéo corr của ảnh cần nhận dạng so với từng ảnh trong CSDL.  Chọn ký tự: đưa ra kết quả nhận dạng ký tự bằng cách lựa chọn tương ứng với ảnh có hệ số corr lớn nhất. 242 Đào Trung Kiên, Lê Thị Lan VCM2012  Hậu xử lý: thực hiện một số kỹ thuật nâng cao chất lượng nhận dạng, trong đó có (1) loại bỏ kết quả nếu hệ số corr bé hơn một ngưỡng đặt trước, (2) kết nối các ký tự đơn thành chuỗi và xử lý về mặt định dạng của biển số. Để có so sánh hệ số tương quan với các ký tự mẫu trong CSDL, ảnh ký tự cần phải được chuẩn hoá về cùng kích thước chiều rộng và chiều cao so với các ảnh mẫu. Các ảnh mẫu trong CSDL được lưu trữ trong một thư mục và sẽ được chương trình nạp vào bộ nhớ khi khởi tạo. Đây là các ảnh nhị phân tương ứng các ký tự số từ 0 tới 9. Mỗi ký tự có thể có nhiều ảnh tương ứng trong CSDL để thể hiện một số phông chữ khác nhau. Các ảnh ký tự này có thể có kích thước bất kỳ, nhưng sẽ được thu nhỏ để chuẩn hoá về cùng một kích thước, kèm theo nhị phân hoá nếu cần thiết. Quá trình phân lớp được bắt đầu bằng việc chọn ra những ảnh ký tự mẫu phù hợp với vị trí của ảnh ký tự cần nhận dạng, được cho trong bảng cấu hình. Ảnh ký tự cần nhận dạng sẽ được so sánh với từng ảnh mẫu nhỏ bằng hệ số tương quan chéo corr . Nếu giá trị này lớn hơn một ngưỡng nd  thì sẽ so sánh tiếp với ảnh mẫu kích thước chuẩn để tính hệ số tương quan chéo chính xác. Nếu không có ảnh mẫu nào thoả mãn yêu cầu hệ số corr lớn hơn nd  thì kết quả trống sẽ được trả về, nghĩa là ảnh ký tự sẽ bị loại bỏ. Cuối cùng, ký tự có ảnh mẫu tương ứng với hệ số corr lớn nhất sẽ được lựa chọn là kết quả của việc nhận dạng ký tự đơn. Sau bước phân lớp, ta đã có các ký tự được nhận dạng từ các ảnh ký tự đơn. Nhiệm vụ của bước này là kết hợp các ký tự đơn này thành một chuỗi ký tự theo đúng vị trí đã sắp xếp, sau đó tiến hành kiểm tra kế quả có phù hợp với định dạng cho phép hay không. Nếu không thoả mãn thì kết quả này sẽ bị loại bỏ. 3. Kết quả thử nghiệm Trong phần này, một số kết quả chạy chương trình sẽ được trình bày để thể hiện khả năng của các thuật toán đã cài đặt trên robot. Robot được sử dụng là PC-Bot 914 của hãng Frontline Robotics (Canada). Đây là một robot với máy tính gắn trên thân, chạy hệ điều hành Windows, có khả năng lập trình điều khiển di chuyển bằng bánh xe khá thuận tiện, như thấy trên trên hình H. 6. Robot được tích hợp sẵn camera, microphone, loa, cảm biến vật cản. Tuy nhiên, trong nghiên cứu này, robot được gắn thêm một màn hình hiển thị và camera được nâng cao bằng giá đỡ để có thể dễ dàng thu được hình của biển số phòng. H. 6 Robot PC-Bot 914 nguyên gốc của hãng Frontline Robotics Đầu tiên là kết quả phát hiện biển số phòng với các tham số của chương trình được cho trong Bảng 1. Ảnh chụp một biển số phòng bằng camera với ngoại cảnh là cửa và khung cửa được thể hiện trên hình H. 7a. Ảnh được chụp hướng từ dưới lên và từ bên phải của biển số. Hình H. 7b thể hiện kết quả của các quá trình phân vùng màu, phát hiện các điểm góc và phát hiện các vùng có dạng hình bình hành. Trên hình này, hai hình bình hành được phát hiện là các vùng được đánh số 1 và 2. Lưu ý rằng đây là kết quả sau khi đã trải qua bước hậu xử lý để loại các vùng hình bình hành có kích thước và tỉ lệ cạnh không phù hợp. (a) Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 243 Mã bài: 49 (b) (c) H. 7 (a) Kết quả phân vùng màu, (b) phát hiện điểm góc và (c) vùng hình bình hành Bảng 1 Các tham số của mô-đun phát hiện biển số Tham số Ký hiệu Giá trị Kích thước ảnh được chuẩn hoá trước khi phân vùng 640×480 Hệ số điều chỉnh kích thước các vùng khi phân hoạch k 1000 Độ dài xét đoạn thẳng để tìm điểm góc l 50 Ngưỡng dưới xét đoạn thẳng tìm điểm góc low  0,6 Ngưỡng trên xét đoạn thẳng tìm điểm góc hi  0,9 Ngưỡng trên cho tỉ lệ các cạnh đối d  0,8 Ngưỡng dưới cho tỉ lệ các cạnh kề k  0,4 Kích thước vùng (độ dài cạnh) 50÷200 Hình H. 7c thể hiện các ảnh kết quả sau khi đã được trích xuất từ ảnh gốc đầu vào và được biến đổi về dạng hình chữ nhật, tương ứng với hai vùng 1 và 2 đã được phát hiện và đánh dấu ở trên. Do trích xuất từ ảnh gốc nên ảnh vẫn giữ nguyên được độ phân giải từ camera khi chụp. Tổng thời gian xử lý cho bước này là 0,17 giây với máy tính cấu hình CPU 2 lõi, tốc độ 2,66GHz và dung lượng RAM 2GB. Kết quả thử nghiệm cho thấy với CSDL ảnh mẫu, mô-đun phát hiện đúng được 91,8% biển số phòng trên tổng số 6373 ảnh được thu ở nhiều điều kiện khác nhau. Mô-đun cũng phát hiện thừa các vùng trong số 29,5% ảnh, tuy nhiên ở các quá trình tiếp theo, các vùng phát hiện thừa này sẽ tiếp tục bị loại bỏ nếu không tìm thấy ký tự nào trong đó. Chi tiết kết quả được thống kê trong Bảng 2. Với mô-đun phân tách ký tự, các tham số của chương trình được cho trong Bảng 3. Hình H. 8 thể hiện kết quả ảnh được nhị phân hoá từ thuật toán phân ngưỡng, tương ứng với hai ảnh hình bình hành được trích xuất ở bước trên. Sau bước này, ảnh được phân tách ký tự dựa trên việc tìm vùng [14]. Các vùng sinh ra bởi đường viền và mũ đinh gắn biển bị loại bỏ nhờ các yếu tố kích thước. Với ảnh biển số 2, do tất cả các vùng tìm được đều bị lọc bỏ nhờ các yếu tố kích thước và tỉ lệ chiều rộng với chiều cao, nên ảnh này cũng bị loại bỏ trong kết quả cuối cùng. Tổng thời gian thực hiện của bước này là dưới 0,01 giây. Bảng 2 Kết quả mô-đun phát hiện biển số phòng Loại ảnh biển Số ảnh Phát hi ện đúng Phát hi ện thừa Thật, ít ngoại cảnh 3654 351 5 96,2 % 782 21,4 % Thật, nhiều ngoại cảnh 1427 117 9 82,6 % 646 45,3 % Giả lập, ít ngoại cảnh 824 801 97,2 % 138 16,7 % Giả lập, nhiều ngoại cảnh 468 353 75,4 % 311 66,5 % Tổng số 6373 584 8 91,8 % 187 7 29,5 % Mô-đun nhận dạng ký tự được xây dựng với kích thước chuẩn hoá của các ảnh là 64×32. CSDL được xây dựng với 20 ảnh tương ứng với 10 ký tự chữ số từ 0 tới 9, ứng với mỗi ký tự sẽ có hai ảnh thể hiện bằng hai phông chữ khác nhau, với một số ví dụ được thể hiện trong hình H. 9. Các tham số khác được liệt kê trong Bảng 4. Kết quả thử nghiệm cho thấy với CSDL ảnh thử nghiệm đã được xây dựng, tỉ lệ nhận dạng chính xác các ảnh ký tự sau khi đã được phân tách là 99,8%. Các lượt chạy đều được thực hiện với thời gian nhỏ hơn 0,01 giây. 244 Đào Trung Kiên, Lê Thị Lan VCM2012 (a) (b) H. 8 Kết quả phân tách ký tự Bảng 3 Các tham số của mô-đun phân tách ký tự Tham số Ký hiệu Giá trị Hằng số của hàm nhân trong phân ngưỡng thích nghi c 8 Kích thước vùng ký tự nhỏ nhất (diện tích vùng so với diện tích biển) 5% Kích thước vùng ký tự lớn nhất (diện tích vùng so với diện tích biển) 50% Khoảng của tỉ lệ chiều rộng/cao 0,3÷1,0 H. 9 Một số ảnh ký tự mẫu trong CSDL Bảng 4 Các tham số của mô-đun nhận dạng ký tự Tham số Ký hiệu Giá trị Kích thước ảnh chuẩn hoá cỡ nhỏ 16×8 Kích thước ảnh chuẩn hoá 64×32 Ngưỡng corr chấp nhận nd  0,5 H. 10 Thử nghiệm hoạt động của robot đưa thư Một số hình ảnh quá trình hoạt động thử nghiêm của robot được thể hiện trên hình H. 10. Ở hình thứ nhất, robot đang nhận yêu cầu chuyển thư ở trạng thái S 2 . Ở hình thứ hai, robot di chuyển tới phòng tương ứng trong hành lang và chờ nhận thư. 4. Kết luận Bài báo này trình bày việc xây dựng một robot dịch vụ phục vụ việc chuyển thư giữa các phòng trong một toà nhà. Nguyên tắc hoạt động chính của robot dựa trên việc phát hiện và nhận dạng biển số phòng. Các thuật toán xử lý ảnh từ camera cho từng mô-đun chương trình đã được phân tích và lựa chọn hợp lý nhằm đảm bảo tính hiệu quả của chương trình cả trên hai tiêu chí là độ chính xác và tốc độ xử lý. Thử nghiệm các thuật toán trên tập dữ liệu mẫu cho thấy chương trình cho tỉ lệ nhận dạng đúng rất cao với thời gian tính toán nhỏ. Mô hình robot này trên thực tế có thể được ứng dụng vào nhiều mục đích khác như vận chuyển đồ, trợ giúp người tàn tật, dẫn đường, tìm đường, hay trong các ứng dụng có sử dụng tương tác người-robot bằng thị giác máy tính. Lời cảm ơn Công trình trình bày trong bài báo này nằm trong khuôn khổ của đề tài Khoa học và Công nghệ cấp Bộ mã số B2011-01-05 “Nghiên cứu và phát triển hệ thống phát hiện và nhận dạng đối tượng trong môi trường cảm thụ thông minh và di động”. Nhóm tác giả xin chân thành cảm ơn các thành viên trong đề tài đã giúp đỡ trong quá trình thực hiện công trình nghiên cứu này. Tài liệu tham khảo [1] Matas, J., and Zimmermann, K., 2005. Unconstrained licence plate and text localization and recognition, 8th Int. IEEE Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 245 Mã bài: 49 Conf. on Intelligent Transportation Systems, 572-577, Wien, Austria. [2] Deb, K., Gubarev, V.V., and Jo, K.H., 2007. Vehicle license plate detection algorithm based on color space and geometrical properties, J. of Network and Computer Applications, 30(4), 1324-1333. [3] Forssen, P E., and Lowe, D.G., 2007. Shape descriptors for maximally stable extremal regions, IEEE 11th Int. Conf. on Computer Vision, 1-8, Rio de Janeiro. [4] Dao, T K., Le, T L., Tran T H., and Le, T T., 2012. A literature review on license plate recognition and vehicle classification, J. on Information Technologies and Communications, E-2, 5(9). [5] Wroblewski, P., 2005. Recognition of Polish car license plates, Computer Recognition Systems, 30, 893-900. [6] Martinsky, O., 2007. Algorithmic and mathematical principles of automatic number plate recognition systems, B.Sc Thesis, Brno. [7] Kwasnicka, H., and Wawrzyniak, B., 2002. License plate localization and recognition in camera pictures, 3rd Symposium on Methods of Artificial Intelligence, 243-246. [8] Oz, C., and Ercal, F., 2005. A practical license plate recognition system for real-time environments, Computational Intelligence and Bioinspired Systems, 3512, 881-888. [9] Kim, K.I., Jung, K., and Kim, J.H., 2002. Color texture-based object detection: An application to license plate localization, 1st Int. Workshop on Pattern Recognition with Support Vector Machines, 2388, 293-309, Niagara Falls, Canada. [10] Marr, D., and Hildreth, E., 1980. Theory of edge detection, Proceeding of the Royal Society, Series B, 207(1167), 187-217. [11] Lewis, J.P., 1995. Fast Template Matching, Vision Interface 95, Canadian Image Processing and Pattern Recognition Society, Quebec City, Canada, p. 120-123. [12] Zweng, A., and Kampel, M., 2009. High performance implementation of license plate recognition in image sequences, 5th Int. Symp. on Advances in Visual Computing: Part II, 598- 607, Nevada. [13] Felzenszwalb, P.F., and Huttenlocher, D.P., 2004. Efficient graph-based image segmentation, Int. J. of Computer Vision, 59(2). [14] Chow, C.K., and Kaneko, T., 1972. Automatic boundary detection of the left ventricle from cineangiograms, Computers and Biomedical Research, 5, 388-410. Đào Trung Kiên tốt nghiệp ngành Công nghệ thông tin của Trường Đại học Cergy-Pontoise, Pháp vào năm 2004. Anh nhận bằng thạc sĩ về Hệ thống phân tán của Trường Đại học Paris 6 (UPMC), Pháp năm 2006, và bằng tiến sĩ về Cơ khí và Tự động hoá của Trường Đại học Dayeh, Đài Loan năm 2010. Hiện anh là giảng viên, nghiên cứu viên của Phòng nghiên cứu Môi trường Cảm thụ và Tương tác, thuộc Viện nghiên cứu quốc tế MICA, Trường Đại học Bách khoa Hà Nội. Các hướng nghiên cứu chính bao gồm định vị ở môi trường trong nhà, tương tác người-hệ thống đa phương thức, động lực học và điều khiển. Lê Thị Lan nhận bằng tiến sĩ chuyên ngành Tín hiệu, ảnh và truyền thông tại Học viện nghiên cứu về công nghệ thông tin và tự động hóa (INRIA) Sophia Antipolis, Đại học Nice, Cộng hòa Pháp năm 2009. TS. Lê Thị Lan hiện là giảng viên/cán bộ nghiên cứu phòng Thị giác máy tính, Viện nghiên cứu quốc tế MICA, Trường Đại học Bách khoa Hà Nội. Các lĩnh vực nghiên cứu chính của TS. Lê Thị Lan: tìm kiếm thông tin ảnh/video dựa trên nội dung, phân tích và hiểu nội dung ảnh/video, tương tác người - máy. . dụng nhận dạng biển số phòng trong việc phát triển một robot dịch vụ phục vụ việc chuyển thư giữa các phòng trong một toà nhà. Robot sau nhận lệnh từ người dùng khi được đưa một hình có biển số. Hội nghị Cơ điện tử toàn quốc lần thứ 6 237 Mã bài: 49 Robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng A mail delivery robot based on room number plate recognition Đào Trung Kiên,. có chứa số phòng cần chuyển thư tới thì di chuyển theo hành lang để tìm phòng được yêu cầu chuyển thư (trạng thái S 1 ). Trong quá trình di chuyển, robot cũng liên tục đọc biển số phòng tại

Ngày đăng: 18/08/2015, 22:51

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan