BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SỸ KHOA HỌC NGÀNH : QUẢN TRỊ KINH DOANH MỘT SỐ GIẢI PHÁP NÂNG CAO CHẤT LƯỢNG ĐÀO TẠO TẠI TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHỆ VÀ NÔNG LÂM NAM BỘ TRONG GIAI ĐOẠN 2009 - 2015 HÀ HUY HUYỀN Người hướng dẫn khoa học: TS NGHIÊM SĨ THƯƠNG HÀ NỘI - 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è : ngun 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 ứ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 cđa ứ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 Thuật toán tam giác 53B 2.2 Thuật 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 Thuật 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 mét líp B 3.4.3.1 M¹ng Hopfield 123B 3.4.3.2 Mạng kiểu 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 chun ®éng B cđa Robot 4.2 Xây dựng tham số cho đ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ô B 5.2.3 NhËn xÐt B KÕt luËn vµ 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 camera theo phương ngang Góc 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 vµ 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 chØ b¶o em thêi gian thùc hiƯn đề tài này! Hà nội, 18/ 11/ 2008 Tác giả Nguyễn Minh Sơn 93 Hình 5.16 Biểu đồ vận tốc v Robot Hình 5.17 Biểu đồ tọa độ (x, y) cđa vector sai lƯch e theo thêi gian 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 ... có trường hợp lúc chạy thử tốt, thi đấu thức lại chạy sai Việt Nam, công nghệ xử lý ảnh công nghệ Công nghệ đà nhắc đến nhiều cộng đồng Robocon suốt năm qua chưa đem vào ứng dụng thi công nghệ. .. không Trong cách tiếp cận này, đối tượng tương đương với câu 3.3.2 Phương pháp định dựa vào cấu trúc 3.3.2.1 Một số khái niệm 40 Thủ tục phân loại nhận dạng gồm giai đoạn: Giai đoạn đầu giai đoạn. .. 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ệ