Báo cáo thực tập: " Tìm hiểu bài toán nhận dạng kí tự viết tay và phát triển ứng dụng pptx

64 602 0
Báo cáo thực tập: " Tìm hiểu bài toán nhận dạng kí tự viết tay và phát triển ứng dụng pptx

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án tốt nghiệp: " Tìm hiểu bài toán nhận dạng kí tự viết tay và phát triển ứng dụng”  Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 1 LỜI NÓI ĐẦU Nhận dạng kí tự, đặc biệt kí tự viết tay là bài tốn có nhiều ứng dụng thực tiễn. Về mặt lý thuyết, chưa có phương pháp nào hồn chỉnh cho cho bài tốn này do tính phức tạp, sự biến dạng của dữ liệu đầu vào. Những năm gần đây, cùng vơí sự phát triển của lý thuyết nhận dạng, công nghệ xử lý ảnh, đã có nhiều nghiên cứu mang lại một số kết quả cho bài tốn nhận dạng kí tự viết tay, từ đó mở ra hàng loạt ứng dụng thực tế. Mục tiêu của đồ án nhằm giới thiệu một cách tiếp cận bài tốn nhận dạng chữ viết tay với một số ràng buộc, nhằm từng bước đưa vào ứng dụng thực tiễn. Mặc dù hết sức cố gắng, song do thời gian có hạn và những hạn chế bản thân nên đồ án có thể còn thiếu sót, mong tiếp tục nhận được sự chỉ bảo của Thầy, Cô và ý kiến đóng góp của các bạn sinh viên để đồ án được hồn thiện hơn. Em xin chân thành cảm ơn. Nha Trang Ngày 10 tháng 9 năm 2003 Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 2 NHẬN XÉT CỦA GIÁO VIÊN. Giáo viên nhận xét PHẦN I Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 3 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT TIỀN XỬ LÝ ẢNH KÍ TỰ CHƯƠNG I TỔNG QUAN I. Giới thiệu bài tốn: Nhận dạng kí tự, đặc biệt kí tự viết tay là bài tốn có nhiều ứng dụng thực tế. Máy tính xử lí, nhận dạng các biểu mẫu, phiếu điều tra tự động, bằng cách này ta có thể tiết kiệm được nhiều chi phí về thời gian, công sức cũng như các chi phí khác cho việc nhập dữ liệu. Ngày nay cùng với sự phát triển về mặt lý thuyết, công nghệ, có rất nhiều hướng đi cho việc giải quyết bài tốn này như: nhận dạng kí tự dựa trên cấu trúc hay cách tiếp cận khác như dùng: logic mờ, giải thuật di truyền, mô hình xác suất thống kê, mô hình mạng nơ ron. Đặc biệt trong những năm gần đây mô hình mạng nơron được quan tâm nhiều do khả năng tổng hợp của mô hình và sự phát triển về tốc độ xử lí của máy tính. Trên thế giới hiện nay có nhiều chương trình nhận dạng chữ viết (chữ in và viết tay) bằng các thứ tiếng Anh, Nga, v.v như các hệ OMNIPAGE, READ- WRITE, WORD-SCAN, Ở Việt Nam cũng có một số hệ như WORC của công Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 4 ty 3C, VIET-IN của công ty SEATIC, VNDOCR của Viện Công Nghệ Thông Tin, Image Scon của Trung Tâm Tự Động Hóa Thiết Kế, hệ WINGIS của công ty DolfSoft Nhìn chung, các sản phẩm phần mềm nhận dạng văn bản Tiếng Việt chữ in của nước ta đã thu được kết quả khả quan, đặc biệt phần mềm VNDOCR đã được sử dụng rộng rãi trong các cơ quan nhà nước. Riêng phần nhận dạng kí tự viết tay vẫn đang được nghiên cứu và phát triển nhằm phục vụ cho các yêu cầu khác nhau như đọc và xử lý các biểu mẫu: hố đơn, phiếu điều tra Với mục tiêu tìm hiểu bài tốn nhận dạng ảnh kí tự viết tay không trực tuyến (off-line), đồng thời sử dụng kết quả vào việc xử lí phiếu đăng kí môn học của Trường Đại Học Thuỷ Sản Nha Trang. Nội dung đồ án là sự thử nghiệm xây dựng chương trình nhận dạng ảnh kí tự viết tay nêu trên, bằng cách sử dụng mạng nơron để nhận dạng kí tự, dựa trên tập mẫu kí tự đã được mã hố bởi đặc trưng của đường biên. Trong quá trình tìm hiểu lý thuyết và xây dựng chương trình, em đã tham khảo nhiều nguồn tài liệu, trong đó ý tưởng xác định véc tơ đặc trưng của kí tự viết tay sử dụng trong đồ án này được tham khảo từ luận án thạc sĩ “ Nhận dạng chữ viết tay rời Tiếng Việt”, của tác giả Phạm Đại Xuân, Đại học khoa học tự nhiên Thành Phố Hồ Chí Minh. II. Cấu trúc, nội dung của đồ án: Nội dung của đồ án được chia làm 4 phần: Phần I: Giới thiệu tổng quan và cơ sở lý thuyết tiền xử lí ảnh kí tự, gồm 3 chương: Chương 1: Giới thiệu tổng quan. Chương 2: Giới thiệu cơ sở lí thuyết tiền xử lí ảnh kí tự. Chương 3: Giới thiệu cách xác định đặc trưng của kí tự. Phần II: Giới thiệu các mô hình nhận dạng, gồm 2 chương. Chương 1: Giới thiệu một số kĩ thuật phân lớp: đối sánh, sử dụng hàm thế, phương pháp LDA. Chương 2: Giới thiệu mô hình mạng nơ ron cho bài tốn nhận dạng. Phần III: Giới thiệu một số ứng dụng và đánh giá kết luận gồm 4 chương . Chương 1: Giới thiệu ứng dụng kĩ thuật tách liên thông cho việc tách liên thông kí tự trong văn bản. Chương 2: Xây dựng, đánh giá chương trình nhận dạng kí tự viết tay. Chương 3: Đưa kết quả vào ứng dụng xây dựng chương trình xử lí phiếu đăng kí môn học cho sinh viên ở trường Đại học Thuỷ Sản Nha Trang. Chương 4: Đánh giá kết luận và nêu hướng phát triển của đề tài. Phần IV : Phụ lục giới thiệu giao diện chương trình. Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 5       dvvpvveE j j j     1 2 2 CHƯƠNG II CƠ SỞ LÝ THUYẾT TIỀN XỬ LÍ ẢNH KÍ TỰ I. Lọc mịn ảnh: Lọc mịn ảnh là một lọc thông thấp, giá trị của một điểm ảnh là trung bình trọng số của các điểm ảnh lân cận, hay giá trị điểm ảnh là kết quả của quá trình xoắn (convole) của các điểm ảnh lân cận với một nhân. Nhân có kích thước tuỳ ý 3x3, 5x5, kích thước nhân càng lớn thì càng nhiều điểm lân cận ảnh hưởng vào điểm ảnh kết quả. Ví dụ một số nhân lọc mịn ảnh như sau: Lọc mịn ảnh có tác dụng hạn chế ảnh nhiễu muối tiêu. II. Nhị phân ảnh: Nhị phân ảnh mức xám là tìm giá trị ngưỡng sao cho các điểm ảnh có giá trị lớn hơn ngưỡng được gọi là trắng(nền) và các điểm ảnh có giá trị nhỏ hơn ngưỡng được gọi là đen (đối tượng). Tiêu chuẩn xác định ngưỡng thường sử dụng nhất là sử dụng sai số bình phương trung bình giữa giá trị mẫu v và mức tái thiết r(v). (ký hiệu MSE) Ta có: Trong đó p(v) là hàm mật độ xác suất của biến ngẫu nhiên v, có thể coi xấp xỉ bằng histogram của ảnh. Với một số cho trước L các mức xám MSE được biểu diễn bởi: E   2 e =             dvvpvrvvrvE    0 22 1 1 1 1 1 1 1 1 1 1/9 1 1 1 1 2 1 1 1 1 1/10 1 1 1 1 4 1 1 1 1 1/12 Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 6     1 1 1 1 2 1 1 1          Lj dvvp dvvvp r Lj rr v j j j j v v v v j jj j Do r(v)=r j là hằng số trong đoạn [v j , v j+1 ]. Với p(v) cho trước và số mức tái thiết L cố định, các mức quyết định v j , j= 1…L-1 và các mức tái thiết r j , j=0 L-1 cực tiểu hố MSE tuân theo quan hệ sau: Tuy nhiên, không có cách giải quyết dưới dạng khép kín nào tồn tại trừ khi chấp nhận một số phép xấp xỉ. Bây giờ ta xem xét trường hợp ngoại lệ nhưng quan trọng với L=2. Đó là trường hợp nhị phân hố ảnh. Khi đó MSE trở thành: Giả sử rằng p(v) có thể ước lượng từ histogram và v 0 , v 2 tương ứng với v min , v max . Còn lại ba tham số cần được tính tốn đó là r 0 , r 1 , và v 1 . Tham số v 1 gọi là ngưỡng nhị phân hố. Hơn nữa r 0 (v 1 ) và r 1 (v 1 ) cực tiểu MSE, với một giá trị cho trước của v j , đơn giản là những giá trị trung bình trong đoạn tương ứng: Như vậy đủ để biến đổi v 1 từ v 0 đến v 2 . MSE được tính bằng cách thay r 0 và r 1 bằng r 0 (v 1 ) và r 1 (v 1 ) tương ứng và chọn v l * sao cho MSE là cực tiểu. Otsu đề nghị một cách tương tự nhưng tiêu chuẩn đơn giản hơn về mặt tính tốn dựa trên phân tích biệt số. Trong công thức này, MSE tương đương với phương sai lớp trong  W 2 (v 1 ). Nếu  W 2 (v 1 ) được bổ sung vào phương sai lớp giữa              1 0 2 1 2 1 2 0 2 v v v v dvvprvdvvprveE          1 0 1 0 10 v v v v dvvp dvvvp vr          2 1 2 1 11 v v v v dvvp dvvvp vr Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 7  B 2 (v 1 ), ta được tồn bộ biến đổi  T 2 ( độc lập v 1 ). Như vậy, thay vì cực tiểu MSE, giải thuật của Otsu cực đại phương sai giữa lớp: Trong đó: Và Biểu thức có thể đơn giản thành : Thật ra, còn tồn tại một số tiêu chuẩn lượng hố khác, chẳng hạn entropy, cũng trên histogram của mức xám. Histogram có thể được tính từ tồn bộ ảnh hoặc từ lân cận địa phương giới hạn xung quanh ảnh đang xét. III. Đánh nhãn thành phần liên thông: Khái niệm liên thông trong kí tự có thể xem như tập hợp các điểm ảnh liền nhau tạo nên kí tự, mục tiêu của giải thuật này là lọc ra những kí tự có trong ảnh. 1. Tách liên thông bằng kĩ thuật đệ quy : Để tách liên thông ta nghĩ ngay đến kỹ thuật đệ quy cấp 8 (tại mỗi bước chúng ta có tối đa 8 lựa chọn tiếp theo). Quy ước : Điểm (x, y) : cho biết giá trị điểm tại toạ độ (x, y). =1 màu chữ =0 màu nền Height : Chiều cao ảnh Width : Chiều rộng ảnh Ta có giải thuật như sau: // Đưa tất cả các điểm liên thông với Điểm(x,y) vào liên thông t Procedure Chonvao((x,y) :điểm, t :liênthông) Begin If (Điểm(x, y)=1) AND (NOT đã_xét[x,y]) then Begin Them_vao_lien_thong(t,(x, y));               2 1111 2 1010 * 1 maxarg TT vvpvvpv                         max2 1 1 11 1110 111 110 1 1 vv v v v vvv vvp vvp T T                           1 0 1 0 1 1 v v v v dvvvpv dvvpv                        11 2 11 * 1 1 . maxarg vv vv v T   Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 8 Đã_xét[x, y] :=True ; For i :=x-1 to x+1 do For j:= y-1 to y+1 do If ( i <>x) or (j<>y) then Chonvao((i, j),t); End; End ; // Ta có thủ tục tách liên thông đệ quy như sau : Procedure TáchLiênThôngĐQ(VAR LT: Danh_Sách_Liên_Thông) Begin T:=<danh sách rỗng> t:=<liên thông rỗng> For j:=1 to Height do For i:=1 to Width do đã_xét[i, j]:=False; For j:=1 to Height do For i:=1 to Width do If (Điểm(x, y)=1) AND( NOT Đã_xét[i, j]) then Begin Chonvao( (i, j ),t); Thêm _liên_thông_vào_Danh_Sách(T, t) ; t :=<liên thông rỗng> ; End ; End; Nhận xét: Thuật tốn này chỉ có ý nghĩa minh hoạ bản chất của tách liên thông. Ta không chọn thuật tốn này cài đặt vì chi phí đệ quy quá cao, chưa kể tốc độ thực hiện. 2. Giải thuật cải tiến: Để gán nhãn cho thành phần liên thông ta có thể duyệt theo từng đường chạy. Kỹ thuật này gán cho mỗi thành phần liên thông của ảnh nhị phân một nhãn riêng biệt. Nhãn thường là các số tự nhiên bắt đầu từ một đến tổng số các thành phần liên thông trong ảnh input. Giải thuật phát biểu như sau: Quét ảnh từ trái sang phải và từ trên xuống dưới. Trong dòng thứ nhất chứa pixel đen, một nhãn duy nhất được gán cho mỗi đường chạy liên tục của pixel đen. Với mỗi pixel đen của dòng tiếp theo, các pixel lân cận dòng trước và pixel bên trái được xem xét (hình vẽ a ). Nếu bất kì pixel lân cận nào được gán nhãn, nhãn tương tự được gán cho pixel đen hiện thời; ngược lại, nhãn tiếp theo chưa được sử dụng được chọn. Thủ tục này được sử dụng cho đến dòng cuối của ảnh. Lúc kết thúc tiến trình này, một thành phần liên thông có thể chứa các pixel có các nhãn khác nhau vì khi chúng ta xem xét lân cận của pixel đen, chẳng hạn pixel “?” (trong hình c), pixel đối với lân cận trái và những lân cận trong dòng trước có thể gán nhãn một cách riêng biệt. (Trong ví dụ này, chúng ta sử dụng nhãn của lân cận trái). Một tình huống như vậy phải được xác định và ghi lại. Sau Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường Trang 9 . . . . . . P P P . . L ? . . . . . . . tiến trình quét ảnh, việc gán nhãn được hồn tất bằng cách “thống nhất mâu thuẫn các nhãn” và gán lại các nhãn chưa sử dụng. Để minh hoạ ta có các hình biểu diễn sau: Hình a. lân cận của “?” P= dòng trước; L=lân cận trái IV. Chỉnh nghiêng: Chỉnh nghiêng ảnh là một phép biến đổi tuyến tính của toạ độ điểm ảnh. Trước hết ta phải xác định góc nghiêng tổng thể của đối tượng, và ta dịch chuyển điểm ảnh đối tượng theo phương ngang tuỳ theo giá trị góc nghiêng tổng thể này và giá trị y của điểm này. Hình a Hình b Chuyển gớc toạ độ về trọng tâm ảnh như hình b Góc nghiêng của kí tự được qui ước tính là góc từ trục tung, hướng về bên trái có giá trị dương, hướng về bên phải có giá trị âm. 0 +  - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * * * * . . * * * . . . . . 1 1 1 1 . . 2 2 2 . . . . . . * * * . . * * * * . . . . . 1 1 1 . . 2 2 2 2 . . . . * * * * . * * * * * . . . . 1 1 1 1 . 2 2 2 2 2 . . . . . . * * * * * . . . . . . . . . 1 1 ? * * . . . . . . . . . * * * * * * . * . . .  . . . * * * * * * . * . . . * * . . . . . . . . * * . . * * . . . . . . . . * * . . . * * . . . . . . . * * . . . * * . . . . . . . * * . . . * * . . . . . . . . . . . . * * . . . . . . . . . . . Hình b . Aûnh ban đầu Hình c . Tiến trình gán nhãn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 . . 2 2 2 . . . . . 1 1 1 1 . . 1 1 1 . . . . . . 1 1 1 . . 2 2 2 2 . . . . . 1 1 1 . . 1 1 1 1 . . . . 1 1 1 1 . 2 2 2 2 2 . . . . 1 1 1 1 . 1 1 1 1 1 . . . . . . 1 1 1 1 1 . . . . . . . . . 1 1 1 1 1 . . . . . . . . . 1 1 1 1 1 1 . 3 . . .  . . . 1 1 1 1 1 1 . 2 . . . 4 4 . . . . . . . . 3 3 . . 3 3 . . . . . . . . 2 2 . . . 4 4 . . . . . . . 3 3 . . . 3 3 . . . . . . . 2 2 . . . 4 4 . . . . . . . . . . . . 3 3 . . . . . . . . . . . Hình d . Sau khi quét đầy đủ Hình e .Kết quả sau cùng [...]... Trang 32 Nhận dạng kí tự viết tay và phát triển ứng dụng CHƯƠNG I MINH HỌA ỨNG DỤNG GIẢI THUẬT TÁCH THÀNH PHẦN LIÊN THÔNG TRONG BÀI TỐN NHẬN DẠNG ẢNH VĂN BẢN Trước khi xây dựng chương trình nhận dạng kí tự viết tay, em xin giới thiệu một ứng dụng có liên quan đến nhận dạng kí tự, đó là ứng dụng nhận dạng ảnh văn bản Với cơ sở lí thuyết vừa nêu ta hồn tồn có thể xây dựng được ứng dụng này I Nhận dạng một... chữ và xác định hàng tương đối chính xác, độ chính xác nhận dạng khoảng 93-95% Thực hiện như sau: Nạp ảnh văn bản cần nhận dạng vào, sau đó nhấn nút nhận dạng để xem kết quả Ta có hình minh hoạ kết quả nhận dạng: SVTH : NguyễnĐình Cường Trang 34 Nhận dạng kí tự viết tay và phát triển ứng dụng CHƯƠNG II CHƯƠNG TRÌNH NHẬN DẠNG KÍ TỰ VIẾT TAY I Giới thiệu chương trình: Chương trình nhận dạng các kí tự viết. .. các kí tự viết tay không trực tuyến, ảnh kí tự nhận dạng được thu nhận qua máy quét hoặc viết trực tiếp vào vùng nhận dạng Aûnh có thể chứa nhiều kí tự, được viết trên nhiều hàng khác nhau Tuỳ vào mục đích ứng dụng cần phát triển mà ta xây dựng tập mẫu cho mỗi ứng dụng Bước đầu thử nghiệm em xây dựng bộ nhận dạng cho 2 lớp kí tự gồm: kí tự là chữ cái không có dấu và kí tự là chữ số Lớp kí tự chữ cái:... nhau PHẦN II CÁC MÔ HÌNH NHẬN DẠNG SVTH : NguyễnĐình Cường Trang 17 Nhận dạng kí tự viết tay và phát triển ứng dụng CHƯƠNG I GIỚI THIỆU CÁC MÔ HÌNH PHÂN LỚP, NHẬN DẠNG I Khái quát tình hình nghiên cứu, ứng dụng lý thuyết nhận dạng: Lý thuyết nhận dạng là một lĩnh vực khoa học mới phát triển nhưng đã đạt được nhiều thành tựu đáng kể về lý luận và ứng dụng trong thực tiễn, chứng tỏ khả năng của máy tính... Cường Trang 14 Nhận dạng kí tự viết tay và phát triển ứng dụng Minh hoạ ảnh kí tự sau quá trình tiền xử lý Aûnh ban đầu Ảnh qua tiền xử lý CHƯƠNG III RÚT ĐẶC TRƯNG I Giới thiệu đặc trưng hướng: Hướng các điểm trên đường biên của kí tự mô tả khá đầy đủ về kí tự Đặc trưng của ảnh được xác định là hướng của các điểm ảnh trên biên Việc chọn đặc trưng để nâng cao độ chính xác của bài tốn nhận dạng là hết sức... phần C có kích thước 12x12 điểm ảnh trừ đi phần B và A, và phần D là phần còn lại của ô có kích thước 16x16 trừ đi phần C, B và A Ta có hình minh hoạ các phần A, B, C, D trong mỗi ô vuông 16x16 D C B A SVTH : NguyễnĐình Cường Trang 16 Nhận dạng kí tự viết tay và phát triển ứng dụng Đặc trọng số vùng A, B, C và D tương ứng là 4, 3, 2, và 1 Gọi xj là một loại đặc trưng, xj được tính cho một ô kích thước... rất nhiều thời gian và quyết định rất nhiều đến độ chính xác Hơn nữa, do biến dạng khá lớn trong chữ viết tay nên để hạn chế người ta thường chia ô trên ảnh và SVTH : NguyễnĐình Cường Trang 15 Nhận dạng kí tự viết tay và phát triển ứng dụng đặc trưng được rút trong các ô đó, việc chọn các ô phủ lấp lên nhau cũng không ngồi mục đích trên II.Chia ô: Aûnh kí tự sau khi tiền xử lý kích thước được chuẩn... đường biên pi+1 Đặt d=ci+1-ci và Dabs=|d| nếu |d|4 Và dabs=8-|d| nếu |d|>4 Ta có các trường hợp sau: a dabs1 : Điểm biên trơn b dabs=2 và ci chẵn, ci+1 chẵn : bỏ pi+1 và thay hướng pi như sau: SVTH : NguyễnĐình Cường Trang 13 Nhận dạng kí tự viết tay và phát triển ứng dụng Dabs=2 và ci chẵn , ci+1 chẵn c dabs=2 và ci lẻ , ci+1 lẻ : Bỏ pi+1 và thay hướng pi như hình Dabs=2 và ci lẻ, ci+1 lẻ d dabs=3... Lớp kí tự số : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Do một số kí tự khi viết hoa hay viết thường đều giống nhau, chỉ khác nhau về mặt kích thước, do đó đối với những kí tự này ta có thể xét thêm kích thước của chữ, nếu kích thước lớn hơn một ngưỡng nhất định thì coi là chữ hoa, ngược lại là chữ thường Về mặt kí tự số ta sẽ không phân biệt được số “0” và kí tự chữ “O”, do đó chương trình tách riêng nhận dạng kí. .. số giới hạn nhất định đối với đầu ra, ta sẽ áp dụng một hàm truyền thích hợp cho các nút xuất Khi mạng nơron được ứng dụng cho nhận dạng thì quá trình nhận dạng chính là quá trình ánh xạ của mạng nơron 2 Trạng thái học: Xét mạng MLP có một lớp ẩn với thuật tốn lan truyền ngược SVTH : NguyễnĐình Cường Trang 27 Nhận dạng kí tự viết tay và phát triển ứng dụng Thuật tốn lan truyền ngược là thuật tốn hữu . tốt nghiệp: " Tìm hiểu bài toán nhận dạng kí tự viết tay và phát triển ứng dụng  Nhận dạng kí tự viết tay và phát triển ứng dụng SVTH : NguyễnĐình Cường. TỔNG QUAN I. Giới thiệu bài tốn: Nhận dạng kí tự, đặc biệt kí tự viết tay là bài tốn có nhiều ứng dụng thực tế. Máy tính xử lí, nhận dạng các biểu mẫu, phiếu điều tra tự động, bằng cách này. gian và quyết định rất nhiều đến độ chính xác. Hơn nữa, do biến dạng khá lớn trong chữ viết tay nên để hạn chế người ta thường chia ô trên ảnh và Nhận dạng kí tự viết tay và phát triển ứng dụng

Ngày đăng: 28/07/2014, 00:21

Từ khóa liên quan

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

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

Tài liệu liên quan