Mạng thần kinh nhân tạo cho phân lớp màu sắc part 3
Số trang: 11
Loại file: pdf
Dung lượng: 282.02 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Hành động này sẽ làm dời đi rất nhiều điểm tuỳ theo bạn chọn (bắt đầu từ điểm cuối cùng) từ biểu đồ màu và lưu trong mảng. Khi bạn ấn ESC, con trỏ sẽ xuất hiện trên màn hình VGA. Đưa con trỏ vào sơ đồ màu vẽ trên màn hình VGA, bằng cách kích lại nút trái chuột ta sẽ thu được dữ liệu cho một lớp màu khác.
Nội dung trích xuất từ tài liệu:
Mạng thần kinh nhân tạo cho phân lớp màu sắc part 3 return; } else if(dx==0) { if(y1>y2) { y_end=y1; y=y2; } else y_end=y2 ; y=y1; } while(yy) ind=1; else ind=0; p=2*dy-dx; const1=2*dy; 277 const2=2*(dy-dx); set_pixel(x,y,color); while((x < x_end)) { x++; if(py2) { x_end=x1; y_end=y1; x=x2; y=y2; } else { x_end=x2; y_end=y2; x=x1; y=y1; } if(x_end>x) ind=1; else ind=0; p=2*dx-dy ; const1=2*dx; const2=2*(dx-dy); set_pixel(x,y,color); while((y < y_end)) { y++; 278 if(p p+=4*(x-y)+10; y--; } x++; } if (x==y) { set_pixel(x_centre+x,y_centre+y,color); set_pixel(x_centre-x,y_centre+y,color); set_pixel(x_centre+x,y_centre-y,color); set_pixel(x_centre-x,y_centre-y,color); set_pixel(x_centre+y,y_centre+x,color); set_pixel(x_centre-y,y_centre+x,color); set_pixel(x_centre+y,y_centre-x,color); set_pixel(x_centre-y,y_centre-x,color); } } /* Routine to set a pixel on the VGA screen to any of the standard colors.*/ void set_pixel(int x,int y, int color) { union REGS reg; reg.h.ah=0x0c; reg.h.al=color; reg.h.bh=0; reg.x.cx=x; reg.x.dx=y: int86(0x10,®,®); } /* Routine to turn on cursor mouse on the VGA screen. */ void mouse_cursor_on(void) { union REGS reg; reg.x.ax=0x01; int86(0x33,®,®); } 280 /* Routine to turn off cursor mouse on the VGA screen.*/ void mouse_cursor_off(void) { union REGS reg; reg.x.ax=0x02; int86(0x33,®,®); } /* Routine to read mouse row and column location. It also provides mouse button status.*/ void read_mouse( int *row, int *col, int *button ) { union REGS reg: reg.x.ax=0x03; int86(0x33,®,®); *button=reg.x.bx; *col=reg.x.cx; *row=reg.x.dx; } /* Routine to set vertical range for mouse. */ void mouse_vrange(int min, int max) { union REGS reg; reg.x.ax=0x08; reg.x.cx=min; reg.x.dx=max; int86(0x33,®,®); } /* Routine to set horizontal range for mouse. */ void mouse_hrange(int min, int max) 281 { union REGS reg; reg.x.ax=0x07; reg.x.cx=min; reg.x.dx=max; int86(0x33,®,®); } /* Routine to move mouse cursor to a specified location. */ void set_mouse(int row, int col) { union REGS reg; reg.x.ax=0x04; reg.x.cx=col; reg.x.dx=row; int86(0x33,®,®); } /* Routine to draw the chromaticity diagram on the VGA screen. */ #define xxp(x) (int)((x)*400.0+200.0) #define yyp(y) (int)(400.0-(y)*250.0) float xx[]={ 0.7347, 0.2757, 0.1661 }; float yy[]={ 0.2653, 0.7147, 0.0094 }; struct coord { float xc; float yc; }; struct coord p[7]={ { 0.408, 0.585 }, {0.479, 0.517}, {0.532, 282 0.465},{ 0.501, 0.160 }, {0.337, 0.086}, {0.208, 0.285}, {0.229, 0.424 }}; struct coord w={0.333, 0.333}; void CIE(void) { float x1,Y1,x2,y2; int i,radius; x1=xxp(xx[0]); y1=yyp(yy[0]); x2=xxp(xx[1]); y2=yyp(yy[1]); draw_line(x1,y1,x2,y2,LIGHTGRAY); x1=x2; y1=y2; x2=xxp(xx[2]); y2=yyp(yy[2]); draw_line(x1,y1,x2,y2,LIGHTGRAY); x1=x2; y1=y2; x2=xxp(xx[0]); y2=yyp(yy[0]); draw_line(x1,y1.x2,y2,LIGHTGRAY); x1=xxp(w.xc); y1=yyp(w.xc); for(i=0;i12.5 D¹y nhËn biÕt b»ng ph¬ng ph¸p tèi thiÓu ho¸ hµm sai lÖch tæng Quy t¾c delta nh chóng ta ®· chøng kiÕn, lµ s¬ ®å lÆp héi tô rÊt chËm. Sù lùa chän gi¸ trÞ cña vµ quyÕt ®Þnh tèc tèc ®é héi tô. PhÐp héi tô nµy chËm, ®ßi hái hµng tr¨m phÐp lÆp, vµ ®Ó gi¶i quyÕt hÕt c¸c vÊn ®Ò th× sè phÐp lÆp lªn ®Õn hµng ngh×n. Mét perceptron cã hai ®Çu vµo vµ v× vËy cã hai träng sè cã thÓ thay ®æi ®îc, phÇn tö mµ tù nã cã thÓ chia ®îc hai líp mµu riªng biÖt nhau, ®ßi hái mét sè lîng phÐp tÝnh nh trong trêng hîp ph©n chia líp mµu trong file TINT.DAT. NÕu tÊt c¶ c¸c phÐp tÝnh nµy cÇn tho¶ m·n cho mét bµi to¸n ®¬n gi¶n nh vËy, th× b¹n tëng tîng ®iÒu g× sÏ x¶y ra nÕu chóng ta dïng ph¬ng ph¸p nµy ®Ó d¹y cho mét cÊu tróc thÇn kinh ®a chøc n¨ng. VÊn ®Ò cÊp thiÕt ®Æt ra lµ ph¶i t×m c¸ch ®Ó ®¶m b¶o sù héi tô x¶y ra víi tèc ®é nhanh h¬n. Yªu cÇu thùc tÕ b©y giê lµ ph¶i tèi thiÓu ho¸, vµ ®ßi hái cho sù tèi thiÓu ho¸ nµy lµ hµm sai lÖch tæng: 1 M 1 ( d yi ) 2 (12.5) E 2 i 0 i ë ®©y di lµ ®¸p øng ra mong muèn cho c¸c mÉu Xi = [ x0, x1,..., xN-1], vµ yi lµ ®¸p øng ra thùc sù cho cïng c¸c mÉu ®Çu vµo nµy. NÕu yi lµ mét hµm phi tuyÕn cña träng sè cã thÓ thay ®æi ®îc : W = [ w0 , w1, ... , wN], vÊn ®Ò trë thµnh bµi to¸n tèi thiÓu ho¸ mét hµm phi tuyÕn. V× vËy, chóng ta sÏ t×m kiÕm c¸c ph¬ng ph¸p tõ ph¹m vi phi tuyÕn ®· ®îc chøng minh ®Ó cã kÕt qu¶ trong viÖc gi¶i quyÕt c¸c vÊn dÒ t¬ng tù. 12.5.1 Ph¬ng ph¸p t×m kiÕm bÊt biÕn Mét ph¬ng ph¸p hay dïng nhÊt ®Ó rót ra gi¸ trÞ nhá nhÊt cña mét hµm ®¬n biÕn lµ ph¬ng ph¸p tû lÖ vµng (Golden Section). Ph¬ng ph¸p nµy dùa trªn mét gi¶n ®å lo¹i trõ miÒn, vµ gi¶ thiÕt r»ng hµm chØ cã mét gi¸ trÞ nhá 284 nhÊt trong mét miÒn x¸c ®Þnh tríc. Hµm nh thÕ gäi lµ hµm ®¬n ®iÖu. Gi¶n ®å lo¹i trõ miÒn trong trêng hîp tæng qu¸t cã thÓ gi¶i thÝch b»ng biÓu ®å nh trong h×nh 12.7. H×nh 12.7 S¬ ®å lo¹i trõ miÒn. Trong h×nh 12.7, nÕu hai ®iÓm ®îc chän trong miÒn gi÷a w0 vµ w1, vµ nÕu y2 > y1 th× râ rµng gi¸ trÞ cùc tiÓu n»m gi÷a w1 vµ a2. V× vËy, miÒn [a2, w2] cã thÓ lo¹i trõ khái vïng t×m kiÕm. NÕu hai ®iÓm kh¸c ®îc lùa chän trong miÒn nhá h¬n vµ phÐp xö lý ®îc lÆp l¹i, miÒn t×m kiÕm s ...
Nội dung trích xuất từ tài liệu:
Mạng thần kinh nhân tạo cho phân lớp màu sắc part 3 return; } else if(dx==0) { if(y1>y2) { y_end=y1; y=y2; } else y_end=y2 ; y=y1; } while(yy) ind=1; else ind=0; p=2*dy-dx; const1=2*dy; 277 const2=2*(dy-dx); set_pixel(x,y,color); while((x < x_end)) { x++; if(py2) { x_end=x1; y_end=y1; x=x2; y=y2; } else { x_end=x2; y_end=y2; x=x1; y=y1; } if(x_end>x) ind=1; else ind=0; p=2*dx-dy ; const1=2*dx; const2=2*(dx-dy); set_pixel(x,y,color); while((y < y_end)) { y++; 278 if(p p+=4*(x-y)+10; y--; } x++; } if (x==y) { set_pixel(x_centre+x,y_centre+y,color); set_pixel(x_centre-x,y_centre+y,color); set_pixel(x_centre+x,y_centre-y,color); set_pixel(x_centre-x,y_centre-y,color); set_pixel(x_centre+y,y_centre+x,color); set_pixel(x_centre-y,y_centre+x,color); set_pixel(x_centre+y,y_centre-x,color); set_pixel(x_centre-y,y_centre-x,color); } } /* Routine to set a pixel on the VGA screen to any of the standard colors.*/ void set_pixel(int x,int y, int color) { union REGS reg; reg.h.ah=0x0c; reg.h.al=color; reg.h.bh=0; reg.x.cx=x; reg.x.dx=y: int86(0x10,®,®); } /* Routine to turn on cursor mouse on the VGA screen. */ void mouse_cursor_on(void) { union REGS reg; reg.x.ax=0x01; int86(0x33,®,®); } 280 /* Routine to turn off cursor mouse on the VGA screen.*/ void mouse_cursor_off(void) { union REGS reg; reg.x.ax=0x02; int86(0x33,®,®); } /* Routine to read mouse row and column location. It also provides mouse button status.*/ void read_mouse( int *row, int *col, int *button ) { union REGS reg: reg.x.ax=0x03; int86(0x33,®,®); *button=reg.x.bx; *col=reg.x.cx; *row=reg.x.dx; } /* Routine to set vertical range for mouse. */ void mouse_vrange(int min, int max) { union REGS reg; reg.x.ax=0x08; reg.x.cx=min; reg.x.dx=max; int86(0x33,®,®); } /* Routine to set horizontal range for mouse. */ void mouse_hrange(int min, int max) 281 { union REGS reg; reg.x.ax=0x07; reg.x.cx=min; reg.x.dx=max; int86(0x33,®,®); } /* Routine to move mouse cursor to a specified location. */ void set_mouse(int row, int col) { union REGS reg; reg.x.ax=0x04; reg.x.cx=col; reg.x.dx=row; int86(0x33,®,®); } /* Routine to draw the chromaticity diagram on the VGA screen. */ #define xxp(x) (int)((x)*400.0+200.0) #define yyp(y) (int)(400.0-(y)*250.0) float xx[]={ 0.7347, 0.2757, 0.1661 }; float yy[]={ 0.2653, 0.7147, 0.0094 }; struct coord { float xc; float yc; }; struct coord p[7]={ { 0.408, 0.585 }, {0.479, 0.517}, {0.532, 282 0.465},{ 0.501, 0.160 }, {0.337, 0.086}, {0.208, 0.285}, {0.229, 0.424 }}; struct coord w={0.333, 0.333}; void CIE(void) { float x1,Y1,x2,y2; int i,radius; x1=xxp(xx[0]); y1=yyp(yy[0]); x2=xxp(xx[1]); y2=yyp(yy[1]); draw_line(x1,y1,x2,y2,LIGHTGRAY); x1=x2; y1=y2; x2=xxp(xx[2]); y2=yyp(yy[2]); draw_line(x1,y1,x2,y2,LIGHTGRAY); x1=x2; y1=y2; x2=xxp(xx[0]); y2=yyp(yy[0]); draw_line(x1,y1.x2,y2,LIGHTGRAY); x1=xxp(w.xc); y1=yyp(w.xc); for(i=0;i12.5 D¹y nhËn biÕt b»ng ph¬ng ph¸p tèi thiÓu ho¸ hµm sai lÖch tæng Quy t¾c delta nh chóng ta ®· chøng kiÕn, lµ s¬ ®å lÆp héi tô rÊt chËm. Sù lùa chän gi¸ trÞ cña vµ quyÕt ®Þnh tèc tèc ®é héi tô. PhÐp héi tô nµy chËm, ®ßi hái hµng tr¨m phÐp lÆp, vµ ®Ó gi¶i quyÕt hÕt c¸c vÊn ®Ò th× sè phÐp lÆp lªn ®Õn hµng ngh×n. Mét perceptron cã hai ®Çu vµo vµ v× vËy cã hai träng sè cã thÓ thay ®æi ®îc, phÇn tö mµ tù nã cã thÓ chia ®îc hai líp mµu riªng biÖt nhau, ®ßi hái mét sè lîng phÐp tÝnh nh trong trêng hîp ph©n chia líp mµu trong file TINT.DAT. NÕu tÊt c¶ c¸c phÐp tÝnh nµy cÇn tho¶ m·n cho mét bµi to¸n ®¬n gi¶n nh vËy, th× b¹n tëng tîng ®iÒu g× sÏ x¶y ra nÕu chóng ta dïng ph¬ng ph¸p nµy ®Ó d¹y cho mét cÊu tróc thÇn kinh ®a chøc n¨ng. VÊn ®Ò cÊp thiÕt ®Æt ra lµ ph¶i t×m c¸ch ®Ó ®¶m b¶o sù héi tô x¶y ra víi tèc ®é nhanh h¬n. Yªu cÇu thùc tÕ b©y giê lµ ph¶i tèi thiÓu ho¸, vµ ®ßi hái cho sù tèi thiÓu ho¸ nµy lµ hµm sai lÖch tæng: 1 M 1 ( d yi ) 2 (12.5) E 2 i 0 i ë ®©y di lµ ®¸p øng ra mong muèn cho c¸c mÉu Xi = [ x0, x1,..., xN-1], vµ yi lµ ®¸p øng ra thùc sù cho cïng c¸c mÉu ®Çu vµo nµy. NÕu yi lµ mét hµm phi tuyÕn cña träng sè cã thÓ thay ®æi ®îc : W = [ w0 , w1, ... , wN], vÊn ®Ò trë thµnh bµi to¸n tèi thiÓu ho¸ mét hµm phi tuyÕn. V× vËy, chóng ta sÏ t×m kiÕm c¸c ph¬ng ph¸p tõ ph¹m vi phi tuyÕn ®· ®îc chøng minh ®Ó cã kÕt qu¶ trong viÖc gi¶i quyÕt c¸c vÊn dÒ t¬ng tù. 12.5.1 Ph¬ng ph¸p t×m kiÕm bÊt biÕn Mét ph¬ng ph¸p hay dïng nhÊt ®Ó rót ra gi¸ trÞ nhá nhÊt cña mét hµm ®¬n biÕn lµ ph¬ng ph¸p tû lÖ vµng (Golden Section). Ph¬ng ph¸p nµy dùa trªn mét gi¶n ®å lo¹i trõ miÒn, vµ gi¶ thiÕt r»ng hµm chØ cã mét gi¸ trÞ nhá 284 nhÊt trong mét miÒn x¸c ®Þnh tríc. Hµm nh thÕ gäi lµ hµm ®¬n ®iÖu. Gi¶n ®å lo¹i trõ miÒn trong trêng hîp tæng qu¸t cã thÓ gi¶i thÝch b»ng biÓu ®å nh trong h×nh 12.7. H×nh 12.7 S¬ ®å lo¹i trõ miÒn. Trong h×nh 12.7, nÕu hai ®iÓm ®îc chän trong miÒn gi÷a w0 vµ w1, vµ nÕu y2 > y1 th× râ rµng gi¸ trÞ cùc tiÓu n»m gi÷a w1 vµ a2. V× vËy, miÒn [a2, w2] cã thÓ lo¹i trõ khái vïng t×m kiÕm. NÕu hai ®iÓm kh¸c ®îc lùa chän trong miÒn nhá h¬n vµ phÐp xö lý ®îc lÆp l¹i, miÒn t×m kiÕm s ...
Tìm kiếm theo từ khóa liên quan:
kỹ thuật xử lý ảnh công nghệ xử lý ảnh phương pháp xử lý ảnh hướng dẫn xử lý ảnh kinh nghiệm xử lý ảnhGợi ý tài liệu liên quan:
-
Giáo trình Khai thác phần mềm ứng dụng
247 trang 111 0 0 -
65 trang 87 3 0
-
51 trang 79 0 0
-
21 trang 61 0 0
-
8 trang 48 0 0
-
Ứng dụng phương pháp xử lý ảnh bằng Matlab để phân tích ảnh chuyển động của một vật thể
8 trang 47 0 0 -
393 trang 47 0 0
-
Đồ án tốt nghiệp: Thiết kế, thi công bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
85 trang 44 0 0 -
Xây dựng hệ thống nhận dạng lỗi tự động của tấm pin năng lượng mặt trời
3 trang 40 0 0 -
Bài giảng Xử lý ảnh: Chương 6 - Ths. Trần Thúy Hà
38 trang 40 0 0