BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI =====*****====== NGUYỄN VĂN CÔNG GIẢI PHÁP HẠN CHẾ RỦI RO TÍN DỤNG TẠI CHI NHÁNH NGÂN HÀNG ĐẦU TƯ VÀ PHÁT TRIỂN BẮC HẢI DƯƠNG CHUYÊN NGÀNH: QUẢN TRỊ KINH DOANH LUẬN VĂN THẠC SỸ KINH TẾ NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYỄN MINH DU H NI 2009 Bộ giáo dục đào tạo trường đại học bách khoa hà nội - luËn văn thạc sĩ khoa học Nghiên cứu ứng dụng phương pháp nhận dạng ảnh điều khiển Robot ngành : tự động hoá xncn mà số : nguyễn minh sơn Người hướng dẫn khoa học : TS Nguyễn Văn khang hà nội - 2008 Lời cam đoan Tôi xin cam đoan luận văn thực thân hướng dẫn TS Nguyễn Văn Khang với tài liệu đà trích dẫn phần tài liệu tham khảo phần cuối luận văn Nguyễn Minh Sơn Mục Lục B Trang Trang phụ bìa B Lời cam đoan B Mơc lơc B Danh mơc ký hiƯu chữ viết tắt B Lời mở đầu B 6B ch¬ng I - Tỉng quan vỊ “ ứng dụng phương B pháp nhận dạng ảnh điều khiển Robot nội dung cần nghiên cứu 8B 1.1 Tổng quan ứng dụng phương pháp nhận dạng ảnh B điều khiển Robot 10B 1.1.1 TÝnh thêi sù B 12B 1.1.2 Cơ sở khoa học ứng dụng phương pháp nhận dạng B ảnh điều khiển Robot 14B 1.1.3 TÝnh øng dông B 16B 1.1.4 Tình hình nghiên cứu ứng dụng nhận dạng ảnh điều B khiển Robot giới 18B 1.1.5 Tình hình nghiên cứu, ứng dơng níc B 20B 1.2 C¸c bíc chÝnh hƯ thèng nhËn d¹ng B 2B 1.2.1 Thu nhận hình ảnh B 24B 1.2.2 TiỊn xư lÝ B 26B 1.2.3 Ph©n vïng B 1.2.4 Ph©n tích hình ảnh B 1.2.5 Nhận dạng B 28B 10 B 10 B 1.2.6 Xö lÝ møc cao B 1.3 Néi dung nghiên cứu B 1.4 Mục tiêu nội dung luận văn B 1.4.1 Mục tiªu B 1.4.2 Néi dung B Chương II - phân vùng ảnh B 2.1 Phân vùng ảnh theo ngưỡng biên độ B 2.1.1 Ngưỡng cố định B 2.1.2 Ngưỡng dựa lược đồ B 2.1.2.1 Tuật toán đẳng liƯu 51B 2.1.2.2 Tht to¸n tam gi¸c 53B 2.2 Tht toán gán nhÃn thành phần liên thông B 2.3 Phân vùng theo miền đồng B 2.3.1 Phương pháp tách tứ phân B 2.3.2 Phương pháp cục B 2.3.3 Phương pháp tổng hợp B 2.4 Phân vùng ảnh theo kết cấu bề mặt B 2.4.1 Phương pháp thống kê B 2.4.2 Phương pháp cấu trúc B 2.4.3 TiÕp cËn theo tÝnh kÕt cÊu 71B Chương III - Các phương pháp nhận dạng ảnh B 3.1 Khái quát nhận dạng B 3.1.1 Không gian biểu diễn đối tượng, không gian diễn dịch B 3.1.2 Mô hình chất trình nhận dạng B 3.1.2.1 Mô hình B 3.1.2.2 Bản chất trình nhận dạng B 10 B 11 B 12 B 12 B 12 B 14 B 14 B 15 B 15 B 16 B 16 B 17 B 19 B 19 B 21 B 22 B 23 B 23 B 27 B 27 B 28 B 28 B 28 B 29 B 29 B 31 B 33 B 3.2 Nhận dạng dựa phân hoạch không gian B 3.2.1 Phân hoạch không gian B 3.2.2 Hàm phân lớp hay hàm định B 3.2.3 Nhận dạng thống kê B 3.2.4 Một số thuật toán nhận dạng tiêu biĨu tù häc B 3.2.4.1 Tht to¸n dựa vào khoảng cách lớn 95B 3.2.4.2 Thuật toán K trung bình 97B 3.2.4.3 Thuật toán ISODATA 9B 3.3 NhËn d¹ng theo cÊu tróc B 3.3.1 BiĨu diễn định tính B 3.3.2 Phương pháp định dựa vào cấu trúc B 3.3.2.1 Một số khái niệm 107B 3.3.2.2 Phương pháp nhận dạng 109B 3.4 mạng nơ ron nhân tạo Nhận dạng theo mạng nơ ron B 3.4.1.Bộ nÃo nơ ron sinh học B 3.4.2 Mô hình mạng nơ ron nhân tạo B 3.4.2.1 Mô hình nơ ron nhân tạo 17B 3.4.2.2 Mạng nơ ron 19B 3.4.3 Các mạng nơ ron lớp B 3.4.3.1 M¹ng Hopfield 123B 3.4.3.2 M¹ng kiĨu bé nhớ chiều kết hợp thích nghi 125B 3.4.3.3 Mạng Kohonen 127B 3.4.3.4 Mạng Perceptron 129B 3.4.4 Các mạng nơ ron nhiều lớp B 3.4.4.1 Mạng nơ ron nhiều lớp lan truyền ngược sai số 13B 3.4.4.2 Mạng nơ ron nhiều lớp ngược hướng 135B 33 B 33 B 35 B 36 B 36 B 37 B 38 B 39 B 39 B 39 B 39 B 41 B 41 B 42 B 45 B 46 B 47 B 52 B 52 B 56 B 59 B 64 B 66 B 66 B 71 B 74 B Ch¬ng IV B øng dụng nhận dạng ảnh điều khiển Robot 4.1 ứng dụng nhận dạng ảnh điều khiển chuyển động B Robot 4.2 Xây dựng tham sè cho bé ®iỊu khiĨn camera B 4.2.1 Tính toán tốc độ quay theo phương ngang B 4.2.2 Tính toán tốc độ quay theo phương đứng B 4.3 Xây dựng tham số cho điều khiển robot B 4.3.1 Các tham số ảnh hưởng tới tốc ®é cđa Robot B 4.3.2 TÝnh to¸n tham số điều khiển B Chương V - Mô B 5.1 Mô trình nhận dạng ảnh B 5.1.1 Cơ sở lý thuyết thực trình nhận dạng B 5.1.2 Kết mô B 5.1.3 NhËn xÐt B 5.2 Mô điều khiển Robot, quỹ đạo đuổi bắt đối tượng B 5.2.1 Xây dựng sơ đồ khối B 5.2.2 Kết m« pháng B 5.2.3 NhËn xÐt B Kết luận kiến nghị B Tài liệu tham khảo B Phụ lục B Tóm tắt luận văn B 74 B 75 B 75 B 77 B 78 B 78 B 79 B 83 B 83 B 83 B 85 B 87 B 88 B 88 B 92 B 94 B 95 B Danh mơc ký hiƯu chữ viết tắt Giá trị ngưỡng mức xám Pixel Điểm ảnh X Là đối tượng ảnh X Là không gian đối tượng Không gian diễn dịch Tập rỗng W Ma trận trọng số x , y Tọa độ đối tượng ảnh Góc cđa camera theo ph¬ng ngang ψ Gãc cđa camera theo phương đứng v Vận tốc dài Vận tốc góc e Vector sai lệch vị trí Lời Mở đầu Sự phát triển kỹ thuật điện tử công nghệ thông tin đà kéo theo phát triển loạt ngành liên quan Một ngành ngành xử lý nhận dạng ảnh số Trên giới, công nghệ xử lý nhận dạng ảnh đà phát triển mạnh mẽ có nhiều ứng dụng hầu hết lĩnh vực người Và nay, sản phẩm có ứng dụng công nghệ coi sản phẩm thông minh, có sức cạnh tranh lớn Một lĩnh vực cần trang bị công nghệ nhận dạng ảnh công nghiệp chế tạo Robot Việc ứng dụng công nghệ điều khiển Robot làm tăng khả nhËn thøc cho Robot, lµm cho nã ngµy cµng hoµn thiện giống người nước, môn xử lý ảnh giảng dạy số trường trọng điểm khoa học kỹ thuật Đại học Bách khoa Hà nội, Đại học Quốc gia Hà nội, Đại học Bách khoa thành phố Hồ Chí Minh Và giới hạn ngành công nghệ thông tin, điện tử viễn thông Hiện, chưa có nhiều nghiên cứu để đưa công nghệ vào ứng dụng thực tiễn ngành, lĩnh vực khác Hiện nay, công nghệ xử lý nhận dạng ảnh số nhiều bạn trẻ quan tâm Đặc biệt bạn sinh viên có ý định tham gia trò chơi Robocon quốc tế Bởi hầu hết Robot tự động chủ yếu rò đường theo vạch kẻ sân không phân biệt cấu kiện hay đội bạn Việc trang bị kỹ thuật nhận dạng ảnh cho Robot tự động làm giảm bớt nhược điểm trên, đồng thời làm tăng khả điều khiển linh hoạt cho Robot Xuất phát từ nhu cầu thực tiễn trên, Tôi đà chọn đề tài Nghiên cứu ứng dụng phương pháp nhận dạng ảnh điều khiển Robot Quyển luận văn tài liệu tham khảo, giúp người đọc có hình dung khái niệm nhận dạng ảnh, phương pháp nhận dạng ảnh biết cách ứng dụng công nghệ điều khiển Robot Cụ thể xây dựng phương pháp nhận dạng ảnh để điều khiển Robot việc tìm đuổi bắt mục tiêu di động có phương vận tốc chưa biết Trong khuôn khổ đề tài với quỹ thời gian không cho phép có số khó khăn việc cập nhập tài liệu hạn chế thân, nên chắn luận văn không tránh khỏi thiếu sót Vậy kính mong thầy cô bạn yêu thích công nghệ đóng góp bảo, phê bình để đề tài ngày hoàn thiện Em xin chân thành cảm ơn thầy giáo TS Nguyễn Văn Khang đà tận tình hướng dẫn bảo em thời gian thực đề tài này! Hà nội, 18/ 11/ 2008 Tác giả Nguyễn Minh Sơn 94 Hình 5.18 Trường hợp bóng chuyển động theo đường cong, XY Graph1là quỹ đạo chuyển động Robot, XY Graph2 quỹ đạo chuyển động bóng Hình 5.19 Trường hợp bóng chuyển động theo đường thẳng có lần đổi hướng, XY Graph1là quỹ đạo chuyển động Robot, XY Graph2 quỹ đạo chuyển động bóng 5.2.3 Nhận xét Chương trình mô đà mô trình đuổi bắt bóng Robot Quỹ đạo chuyển động Robot bám theo có dạng gần giống với quỹ đạo bóng 95 Kết luận kiến nghị Nội dung luận văn đà trình bày khái quát tình hình nghiên cứu, ứng dụng công nghệ nhận dạng ảnh điều khiển Robot Đồng thời đà giới thiệu cho người đọc bước trình nhận dạng ảnh số sau sâu nghiên cứu hai bước phân vùng ảnh nhận dạng ảnh Luận văn đà trình bày cách ứng dụng nhận dạng ảnh điều khiển camera để biến camera thành cảm biến vị trí Từ xác định vị trí tương đối đối tượng so với Robot Luận văn đà xây dựng tham số vận tốc dài v tốc độ chuyển hướng việc điều khiển quỹ đạo chuyển động Robot Luận văn đà mô trình nhận dạng đối tượng xác định tham số cần thiết cung cấp cho điều khiển camera Đồng thời luận văn đà mô tham số điều khiển v, quỹ đạo chuyển động Robot đối tượng chuyển động theo quỹ đạo khác Tuy nhiên luận văn chưa thực mô với nhiều phương pháp đà trình bày nên chưa đưa so sánh cần thiết tốc độ, hiệu Bộ điều khiển xây dựng chưa tối ưu, cần phải nghiên cưu thêm Qua tác giả có đưa vài kiến nghị để tiếp tục phát triển đề tài la: - Tối ưu hóa trình điều khiển chuyển động Robot - Tạo thêm chướng ngại vật trình di chuyển Robot - Tạo thêm nhiều đối tượng giống để Robot phân biệt mục tiêu mục tiêu phụ Tài liệu tham khảo [1] Ths Lương Mạnh Bá, PTS Nguyễn Thanh Thủy (1999), Nhập môn xử lý ảnh số, Nhà xuất khoa học kỹ thuật, Hµ néi [2] Francesco Capparella, Luigi Freda, Marco Malagnino, and Giuseppe Oriolo, Visual Servoing of a Wheeled Mobile Robot for Intercepting a Moving Object, Dipartimento di Informatica e Sistemistica Universit` di Roma “La Sapienza” Via Eudossiana 18, 00184 Roma, Italy Tài liệu tham khảo [1] Ths Lương Mạnh Bá, PTS Nguyễn Thanh Thủy (1999), Nhập môn xử lý ảnh số, Nhà xuất khoa học kỹ thuật, Hà nội [2] Francesco Capparella, Luigi Freda, Marco Malagnino, and Giuseppe Oriolo, Visual Servoing of a Wheeled Mobile Robot for Intercepting a Moving Object, Dipartimento di Informatica e Sistemistica Universit` di Roma “La Sapienza” Via Eudossiana 18, 00184 Roma, Italy Phô lục 6.1 Chương trình đọc ảnh ảnh đọc có định dạng Bitmap, 24 bit mầu, không nén ảnh lưu vào mảng anh() dạng đen trắng Private Type BITMAPPalette r As Byte g As Byte b As Byte lngReserved As Byte End Type Dim f As Long Private Type RGBQUAD rgbBlue As Byte rgbGreen As Byte rgbRed As Byte 'rgbReserved As Byte End Type Private Type BITMAPINFOHEADER '40 bytes biSize As Long biWidth As Long biHeight As Long biPlanes As Integer biBitCount As Integer biCompression As Long biSizeImage As Long biXPelsPerMeter As Long biYPelsPerMeter As Long biClrUsed As Long biClrImportant As Long End Type Private Type BITMAPFILEHEADER bfType As Integer '- type ="BM" i.e &H4D42 - bfSize As Long ' - size in bytes of file - bfReserved1 As Integer ' - reserved, must be - bfReserved2 As Integer ' - reserved, must be - 10 bfOffBits As Long ' offset from this structure to the bitmap bits - 14 End Type Sub doc_anh(tenfile As String, anh() As Byte, wi As Long, he As Long) Dim Fi As Integer, Hf As BITMAPFILEHEADER Dim Inf As BITMAPINFOHEADER, C() As Byte Dim i As Integer, j As Integer, k As Integer, offbit As Integer Fi = FreeFile Open tenfile For Binary As Fi Get Fi, 1, Hf Get Fi, 15, Inf wi = Inf.biWidth he = Inf.biHeight offbit = Hf.bfOffBits ReDim anh(1 To he, i To wi) ReDim C(1 To Hf.bfSize - offbit) k = (Hf.bfSize - offbit - he * wi * 3) / he Get Fi, offbit + 1, C() If Inf.biBitCount = 24 Then For i = To he For j = To wi anh(he - i + 1, j) = C(k * (i - 1) + + * (wi * (i - 1) + j - 1)) \ + C(k * (i - 1) + + * (wi * (i - 1) + j - 1)) \ + C(k * (i - 1) + + * (wi * (i - 1) + j - 1)) \ Next j Next i End If Close Fi End Sub 6.2 Chương trình hiển thị ảnh Sub ve_anh(anh() As Byte, ByVal w As Long, ByVal H As Long, x As Variant, y As Variant) Dim i As Integer, j As Integer, co As Byte Form1.CurrentX = x Form1.CurrentY = y For i = To H For j = To w co = anh(i, j) PSet (x + 15 * j, y + 15 * i), RGB(co, co, co) Next Next End Sub 6.3 Ch¬ng trình phân vùng ảnh Function phan_vung(pixel() As Byte, ByVal w As Long, ByVal H As Long, ByVal ng As Integer, sovung As Long) As Variant() Dim nhan() As Variant Dim i As Long, j As Long, d As Long Dim n As Variant, g As Variant Dim t As Variant Dim nh1 As Variant, nh2 As Variant, k As Variant Dim dnh() As Variant ReDim nhan(1 To H, To w) n=1 For i = To H For j = To w If pixel(i, j) < ng Then y=i x=j-1 If x < Then x = j nh1 = nhan(y, x) x=j+1 y=i-1 If y < Then y = i If x > w Then x = w nh2 = nhan(y, x) If nh1 > Then nhan(i, j) = nh1 If (nhan(i, j) > nh2) And (nh2 > 0) Then nhcu = nhan(i, j) nhmoi = nh2 Call doiten(nhan, w, i, nhcu, nhmoi) For k = nhcu + To n - Call doiten(nhan, w, i, k, k - 1) Next k n=n-1 End If If (nhan(i, j) < nh2) And (nhan(i, j) > 0) Then nhcu = nh2 nhmoi = nhan(i, j) Call doiten(nhan, w, i, nhcu, nhmoi) For k = nhcu + To n - Call doiten(nhan, w, i, k, k - 1) Next k n=n-1 End If If nhan(i, j) < Then nhan(i, j) = n n=n+1 End If End If Next Next ReDim dnh(1 To n) For i = To H For j = To w If nhan(i, j) > Then dnh(nhan(i, j)) = dnh(nhan(i, j)) + Next j Next i sovung = n - For k = To n - If dnh(k) < 100 Then If dnh(k) > Then Call doiten(nhan, w, H, k, 0) sovung = sovung - dnh(k) = End If kk = k + Do While ((kk < n) And (dnh(kk) < 100)) kk = kk + Loop If ((dnh(kk) > 99) And (kk < n)) Then Call doiten(nhan, w, H, kk, k) dnh(k) = dnh(kk) dnh(kk) = End If End If Next k phan_vung = nhan End Function 6.4 Tách ảnh từ ảnh phân vùng Sub tachvung(pixel() As Variant, ByVal w As Long, ByVal H As Long, ByVal nhan As Variant, vung() As Byte, wn As Long, hn As Long, x As Long, y As Long) Dim i As Integer Dim j As Integer Dim maxx As Integer, maxy As Integer Dim minx As Integer, miny As Integer If ((x -1) Or (y -1)) Then maxx = 1: maxy = minx = w: miny = H For i = To H For j = To w If pixel(i, j) = nhan Then If j < minx Then minx = j If j > maxx Then maxx = j If i < miny Then miny = i If i > maxy Then maxy = i End If Next Next maxx = maxx + minx = minx - maxy = maxy + miny = miny - wn = maxx - minx + hn = maxy - miny + x = minx y = miny ReDim vung(1 To hn, To wn) For i = To hn For j = To wn vung(i, j) = 255 If (miny + i - >= 1) And (miny + i - = 1) And (minx + j - = 1) And (hangp = 1) And (cotp 255 Then t = 255 If t < Then t = If i = Or i = he Or j = Or j = wi Then t = p(i, j) = CByte(t) Next Next tichchap = p End Function 6.6 Chương trình nhận dạng hình tròn Function kiemtra(pixel() As Byte, wi As Long, he As Long, xo As Long, yo As Long) As Boolean Dim H1(1 To 3, To 3) As Integer H1(1, 1) = 0: H1(1, 2) = -1: H1(1, 3) = 0: H1(2, 1) = -1: H1(2, 2) = 4: H1(2, 3) = -1: H1(3, 1) = 0: H1(3, 2) = -1: H1(3, 3) = Dim anh() As Byte Dim x As Long, y As Long s=0 t = Round(wi / he, 4) If (t > 0.95) And (t < 1.1) Then ReDim anh(1 To he, To wi) For i = To he For j = To wi If pixel(i, j) < 128 Then s = s + Next j Next i anh = tichchap(pixel, wi, he, H1, 3, 3) p=0 x=0 y=0 For i = To he For j = To wi If anh(i, j) > 128 Then p=p+1 x=j+x y=i+y End If Next j Next i t = Round(4 * Atn(1) * * s / (1.2 * p * p), 4) kiemtra = False If (t > 0.96) And (t < 1.07) Then kiemtra = True xo = x \ p + xo yo = y \ p + yo Else: kiemtra = False End If End Function ... vỊ “ ứng dụng phương pháp nhận dạng ảnh điều khiển Robot nội dung cần nghiên cứu 1.1 Tổng quan ứng dụng phương pháp nhận dạng ảnh điều khiển Robot 1.1.1 Tính thời Ngày nay, trước phát triển vượt... nhận dạng 1.1.3 Tính ứng dụng Việc ứng dụng công nghệ nhận dạng ảnh điều khiĨn Robot më mét triĨn väng ph¸t triĨn rÊt lớn cho ngành nghiên cứu chế tạo Robot Việc ứng dụng giúp cho Robot quan sát... thêm nhiều tính giống người Có thể ứng dụng công nghệ Robot nhiỊu lÜnh vùc kh¸c nh: Trong y häc: chÕ tạo Robot dẫn đường giúp người già, người khuyết tật Trong ngành vũ trụ: chế tạo Robot thăm