بایگانی برچسب برای: پلاک خوان

مسئله چند وزیر یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید n وزیر شطرنج در یک صفحه n×n شطرنج به‌گونه‌ای قرار داده شوند که هیچ‌یک زیر ضرب دیگری نباشند. با توجه به اینکه وزیر به‌صورت افقی، عمودی و اُریب حرکت می‌کند، باید هر وزیر را در طول، عرض و قطر متفاوتی قرار داد.

اولین و مشهورترین شکل این مسئله معمای هشت وزیر است که برای حل آن باید ۸ وزیر را در یک صفحهً معمولی (۸×۸) شطرنج قرار داد. این مسئله ۹۲ جواب دارد که ۱۲ جواب آن منحصر به‌فرد است یعنی بقیه جواب‌ها از تقارن جواب‌های اصلی به‌دست می‌آید.

مسئله n وزیر در صورتی جواب دارد که n مساوی ۱ یا بیشتر از ۳ باشد. یعنی مسئله دو وزیر و سه وزیر راه حلی ندارند.

تاریخچه

این مسئله در سال ۱۸۴۸ توسط شطرنج بازی به نام Max Bezzel عنوان شد و ریاضی دانان بسیاری ازجمله Gauss و Georg Cantor بر روی این مسئله کار کرده و در نهایت آن را به n وزیر تعمیم دادند. اولین راه حل توسط Franz Nauck در سال ۱۸۵۰ ارائه شد که به همان مسئله n وزیر تعمیم داده شد. پس از آن Gunther راه حلی با استفاده از دترمینان ارائه داد که J.W.L. Glaisher آن را کامل نمود. در سال ۱۹۷۹، Edsger Dijkstra Nauck این مسئله را با استفاده از الگوریتم عقب‌گرد حل کرد.

حل مسئله

هشت وزیر را می‌توان با الگوریتم‌های مختلفی مانند تپه نوردی و روش ارضای محدودیت(csp) حل کرد که در زیر روش ارضای محدودیت را بررسی می‌کنیم. هر وزیری در هر ستونی هدفی دارد که همان مکانش در هرستون می‌شود یک گره .در کد زیر تعریف مکان‌ها را داریم:

Variables: { Q1, Q2, Q3, Q4 }

Domain: { (1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4) }

Constraints: Alldifferent( Q1, Q2, Q3, Q4 ) and 
for i = 0...n and j = (i+1)...n, k = j-i, Q[i] != Q[j] + k and Q[i] != Q[j] - k

و این الگوریتم که برای جواب هر خانه‌است به دست می‌آید که یک csp است

min-conflicts(csp, max):
initial := complete assignment ;jamiyate avaliye
for 1..max do: ;az 1 .. akharin khane
if initial is a solution: ;if jamiyate tolide javab bod 
return initial ;barmigardanad
var := nextVar() ;da ghire indorat yek motaghair be jelo
value := leastConflicts( var ) ;taeein meghdar
var := value in initial ;gharar dadan meghdar dar motaghair
return failure ;bargash be ebtedaye algoritm

صورت مسئله

هدف از مسئله n وزیر، چیدن n مهره وزیر در یک صفحه شطرنج(n*n) است، به‌طوری‌که هیچ دو وزیری یکدیگر را گارد ندهند، یعنی هیچ دو مهره‌ای نباید در یک سطر، ستون یا قطر یکسان باشند. وزیر در خانه‌های شطرنج به صورت عرضی، طولی و قطری می‌تواند حرکت کند. مسئله n وزیر از جمله مسائل NP در هوش مصنوعی است که روش‌های جستجوی معمولی قادر به حل آن‌ها نخواهد بود

شمردن تعداد جواب‌ها

جدول زیر تعداد راه حل‌ها برای قرار دادن n وزیر بر روی صفحه n × nنشان می‌دهد. هر دو منحصر به فرد و متمایز، برای تعداد ۱-۱۴،۲۴-۲۶ است.

مسئله ی چند وزیر

  • توجه:

حالت شش وزیر جواب‌های کمتری نسبت به پنج وزیر دارد و فرمول صریحی برای یافتن تعداد جواب‌ها وجود ندارد.

روش‌های حل مسئله

الگوریتم عقبگرد

از تکنیک عقبگرد Backtracking برای حل مسائلی استفاده می‌شود که در آن‌ها دنباله‌ای از اشیاء از یک مجموعه مشخص انتخاب می‌شود، به‌طوری‌که این دنباله، ملاکی را در بر می‌گیرد. عقبگرد حالت اصلاح شدهٔ جستجوی عمقی یک درخت است. این الگوریتم همانند جستجوی عمقی است، با این تفاوت که فرزندان یک گره فقط هنگامی ملاقات می‌شوند که گره امید بخش باشد و در آن گره حلی وجود نداشته باشد. با توجه به اینکه هیچ ۲ وزیری نباید همدیگر را گارد کنند و در یک سطر نمی‌توانند باشند، تعداد کل حالت‌ها برای n=۴ برابر ۴*۴*۴*۴=۲۵۶ است. در شطرنج یک وزیر می‌تواند به مهره‌هایی که در خانه‌های عمود یا مورب به وی قرار دارند حمله کند. یا به عبارت ریاضی، اگر ردیفها و ستونهای شطرنج را از یک تا هشت شماره‌گذاری کنیم و وزیر در خانه (i، j) قرار داشته باشد، مهره‌هایی که در خانه‌های (i، m) یا (m، j) یا (i ± m، j ± m) قرار دارند توسط وزیر تهدید می‌شوند.

برای سادگی تشریح این مسئله با استفاده از روش بازگشت به عقب، فرض می‌کنیم که خانه‌های شطرنج ۴x۴ و تعداد وزیرها نیز ۴ باشد. سپس بعد از یافتن راه حل برای این مسئله ساده شده، اقدام به نوشتن الگوریتم برای مسئله اصلی می‌کنیم.

مراحل جستجو برای یافتن جواب را به این صورت دنبال می‌کنیم که: وزیر اول را در ردیف اول و ستون اول قرار می‌دهیم.

در ردیف دوم از اولین ستون به جلو رفته و به دنبال خانه‌ای می‌گردیم که مورد تهدید وزیر اول نباشد و وزیر دوم را در این خانه قرار می‌دهیم.

همانند قبل، در ردیف سوم از اولین ستون به جلو رفته و به دنبال خانه‌ای می‌گردیم که مورد تهدید وزیران اول و دوم نباشد. می‌بینیم که چنین خانه‌ای موجود نیست. پس به عقب یعنی ردیف دوم برگشته و وزیر دوم را به خانه‌ای دیگر از ردیف دوم منتقل می‌کنیم که مورد تهدید وزیر اول نباشد.

دوباره در ردیف سوم اولین خانه‌ای را میابیم که مورد تهدید دو وزیر قبلی نباشد. این بار خانه را می‌یابیم و وزیر سوم را در آن قرار می‌دهیم.

همانند قبل، در ردیف چهارم به دنبال اولین خانه‌ای می‌گردیم که مورد تهدید وزیران پیشین نباشد. چنین خانه‌ای موجود نیست. به ردیف قبل یعنی ردیف سوم باز می‌گردیم تا خانه‌ای دیگر برای وزیر سوم بیابیم. خانه دیگری وجود ندارد. به ردیف قبل یعنی ردیف دوم بر می‌گردیم تا خانه دیگری برای وزیر دوم پیدا کنیم. به آخرین ستون رسیده‌ایم و خانه دیگری نیست. به ردیف قبل یعنی ردیف اول بر می‌گردیم و وزیر اول را یک ستون به جلو می‌بریم.

در ردیف دوم اولین خانه‌ای را میابیم که مورد تهدید وزیر اول نباشد و وزیر دوم را در آن خانه قرار می‌دهیم.

در ردیف سوم اولین خانه‌ای را میابیم که مورد تهدید وزیران اول و دوم نباشد و وزیر سوم را در آن خانه می‌گذاریم.

در ردیف چهارم اولین خانه‌ای را میابیم که مورد تهدید وزیران پیشین نباشد. این بار خانه را می‌یابیم و وزیر چهارم را در آن خانه قرار می‌دهیم.

به یک جواب می‌رسیم. حال اگر فرض کنیم که این خانه جواب نیست و به مسیر خود ادامه دهیم، احتمالاً” می‌توانیم جوابهای دیگری نیز بیابیم.

شبه کد پیاده‌سازی الگوریتم عقبگرد برای مسئله n وزیر

void queens (index i)
{
	index j;
	if (promising(i))
		if (i == n)
			cout << col[1] through col[n];
		else
			for (j = 1; j <= n; j++) {
				col[i + 1] = j;
				queens(i + 1);
			}
}
bool promising (index i)
{
	index k;
	bool Switch;
	k = 1;
	Switch = true ;
	while (k < i && switch) {
		if (col[i] == col[k] || abs(col[i] – col[k] == i - k))
			switch = false;
		k++;
	}
	return Switch;
}

برنامه زبان C به صورت غیر بازگشتی

# include <stdio.h>

int b[8];

inline static int unsafe(int y) {
        int i, t, x;
        x = b[y];
        for (i = 1; i <= y; i++) {
                t = b[y - i];
                if ((t == x) ||
                     (t == x - i) ||
                     (t == x + i)) {
                        return 1;
               }
       }

        return 0;
}

static void putboard(void) {
        static int s = ۰;
        int x, y;
        printf("\n\nSolution #٪i\n", ++s);
        for (y = 0; y < 8; y++) {
                for (x = 0; x < 8; x++) {
                        printf((b[y] == x) ? "|Q": "|_");
               }
                printf("|\n");
       }
}

int main(void) {
        int y = ۰;
        b[۰] = -۱;
        while (y >= ۰) {
                do {
                        b[y]++;
               } while ((b[y] < 8) && unsafe(y));
                if (b[y] < 8) {
                        if (y < 7) {
                                b[++y] = -۱;
                       } else {
                                putboard();
                       }
               } else {
                        y--;
               }
       }

        return 0;
}

برنامه زبان ++C به صورت بازگشتی

  • برنامه زیر برای هشت وزیر نوشته شده‌است با انتخاب اعداد دیگر به جای هشت در define MAXSIZE 8 # می‌توان برای تعداد دیگری وزیر نیز استفاده کرد.
# include <assert.h>
# include <stdio.h>

# define MAXSIZE 8
class EightQueens
{
    int m_size;				
    int m_solution_count;		
    int m_attempt_count;		
    int m_queen[MAXSIZE];		
    bool m_row_inuse[MAXSIZE]; 		
    bool m_diag_rise[MAXSIZE*2];	
    bool m_diag_fall[MAXSIZE*2];	

public:

    EightQueens(int size, bool is_alt) {

	assert(size <= MAXSIZE);

	m_size = size;
	m_solution_count = 0;
	m_attempt_count = 0;

	for (int i = 0; i < m_size; i++) {
	    m_queen[i] = i;
	    m_row_inuse[i] = 0;
	}

	for (int j = 0; j < m_size*2; j++) {
	    m_diag_rise[j] = 0;
	    m_diag_fall[j] = 0;
	}

	if (is_alt) SearchAlt(0);
	else        Search(0);

   }

    int GetSolutionCount() {
	return m_solution_count;
   }

    int GetAttemptCount() {
	return m_attempt_count;
   }

private:

    void SearchAlt(int col){

	if (col == m_size) {
	    m_solution_count++;
	    return;
	}

	for (int row = 0; row < m_size; row++) {
	    m_attempt_count++;
	    if (m_row_inuse[row] == 0 && IsDiagValid(col, row)) {
		m_queen[col] = row;
		m_row_inuse[row] = 1;
		SetDiags(col, 1);
		SearchAlt(col+1);
		SetDiags(col, 0);
		m_row_inuse[row] = 0;
		m_queen[col] = -1;
	   }
	}

   }

    void Search(int col) {
	if (col == m_size) {
	    m_solution_count++;
	    return;
	}

	for (int i = col; i < m_size; i++) {
	    if (SwapQueenIfDiagValid(col, i)) {
		Search(col+1);
		UnSwapQueen(col, i);
	   };
	}
   }

    void SwapQueenBasic(int i, int j) {
	    int hold = m_queen[i];
	    m_queen[i] = m_queen[j];
	    m_queen[j] = hold;
   }

    void SetDiags(int col, int val) {
	assert(m_diag_rise[m_queen[col] + col]!= val);
	       m_diag_rise[m_queen[col] + col] =  val;
	assert(m_diag_fall[m_queen[col] - col + m_size]!= val);
	       m_diag_fall[m_queen[col] - col + m_size] =  val;
   }

    bool IsDiagValid(int col, int row) {
	return (m_diag_rise[row + col] == 0 &&
		m_diag_fall[row - col + m_size] == 0);
   }

    bool SwapQueenIfDiagValid(int i, int j) {
	m_attempt_count++;
	if (IsDiagValid(i, m_queen[j])) {
	    SwapQueenBasic(i, j);
	    SetDiags(i, 1);
            return true;
	}
        return false;
   }

    void UnSwapQueen(int i, int j) {
	SetDiags(i, 0);
	SwapQueenBasic(i, j);
   }

};

void
do_work(bool is_alt)
{
    int size = 8;

    EightQueens puzzle(size, is_alt);
    int soln = puzzle.GetSolutionCount();
    int attempt = puzzle.GetAttemptCount();
    assert(size!= 8 || soln == 92);
    const char* style = is_alt ? "cartesian": "permutation";
    printf("EightQueens[%d] has %d solutions found in %5d attempts using %s search. \n", size, soln, attempt, style);
}

int main()
{
    printf("We should have 92 solutions for 8x8. \n");
    do_work(0);
    do_work(1);
}

انیمیشن روش بازگشتی

 

مسئله چند وزیر

 

الگوریتم مونت کارلو

از الگوریتم مونت کارلو برای برآورد کردن کارایی یک الگوریتم عقبگرد استفاده می‌شود. الگوریتم‌های مونت کارلو، احتمالی هستند، یعنی دستور اجرایی بعدی گاه به‌طور تصادفی تعیین می‌شوند. در الگوریتم قطعی چنین چیزی رخ نمی‌دهد. الگوریتم مونت کارلو مقدار مورد انتظار یک متغیر تصادفی را که روی یک فضای ساده تعریف می‌شود، با استفاده از مقدار میانگین آن روی نمونه تصادفی از فضای ساده بر آورد می‌کند. تضمینی وجود ندارد که این برآورد به مقدار مورد انتظار واقعی نزدیک باشد، ولی احتمال نزدیک شدن آن، با افزایش زمان در دسترس برای الگوریتم، افزایش می‌یابد.

شبه کد پیاده‌سازی الگوریتم مونت کارلو برای الگوریتم عقبگرد مسئله n وزیر

  int ostimate _ n_ queens (int n)
   {
          index i , j , col [1..n];
          int m , mprod , numnodes ;
          set _of_ index  prom _children;
          i = ۰;
          numnodes =۱ ;
          m = ۱;

        mprod  = ۱ ;
        while  (m!= 0 && i!= n) {
        mprod = mprod * m ;
        numnodes  = numnodes + mprod * n;
        i ++;
        m = ۰ ;
        prom_childern  = Ø;
        for (j = 1 ; j ≤ n ; j++;) {
                col [i]  = j ;
                if (promising(i)) {

         m++;
         prom_children = prom _ children U {i};
                }
            }
             if (m!= ۰)  {
                 j = random selection from prom _childeren;
                 col [i];
             }
        }
         return numnodes;
     }

روش مکاشفه‌ای

برای حل این مسئله که دارای ۹۲ جواب است، باید تکنیکهایی جهت کاهش حالات، روش Brute Force یا امتحان تک تک جواب‌ها انجام شود. تعداد همه حالاتی که می‌تواند در روش Brute Force چک شود برابر ۱۶٬۷۷۷٬۲۱۶ یا هشت به توان هشت است! یکی از روش‌های حل این مسئله برای n>=4 یا n=1 استفاده از روش مکاشفه‌ای ( heuristic)است:

1- عدد n را بر عدد ۱۲ تقسیم کن و باقی‌مانده را یادداشت کن

۲- به ترتیب اعداد زوج ۲ تا n را در لیستی بنویس

۳- اگر باقی‌مانده ۳ یا ۹ بود، عدد ۲ را به انتهای لیست انتقال بده.

۴- به لیست اعداد فرد ۱ تا n را به ترتیب اضافه کن، اما اگر باقی‌مانده ۸ بود اعداد را دو به دو باهم عوض کند (مثلاً ۱و۳و۵و۷و۹ تبدیل به ۳و۱و۷و۵و۹ میشه)

۵- اگر باقی‌مانده ۲ بود جای ۱ و۳ را با هم عوض کن و ۵ را به انتهای لیست ببر.

۶- اگر باقی‌مانده ۳ یا ۹ بود، اعداد ۱ و ۳ را به انتهای لیست ببر.

۷- حال با استفاده از لیست بدست آمده وزیرها در صفحه شطرنج چیده می‌شوند، به‌طوری‌که جای وزیر ستون اول، اولین عدد لیست، جای وزیر ستون دوم، دومین عدد لیست و…

این الگوریتم یک راه حل برای حل این مسئله‌است، برای بدست آوردن همه حالات از روش‌های دیگری می‌توان استفاده کرد. روش حل مسئله ۱۲ راه حل یکتا دارد که با در نظرگیری تقارن و چرخش به ۹۲ حالت قابل تبدیل است.

روش‌های جستجوی محلی

می‌توان به مسئله ۸ وزیر به عنوان یک مسئله بهینه‌سازی نیز نگریست که در آن هدف بهینه کردن تعداد گاردهای جفت وزیرها می‌باشد.

به عنوان مثال فرض کنید در صفحه شطرنج معمولی، ۸ وزیر را به دو روش زیر قرار دهیم:

مسئله ی چند وزیرمسئله ی چند وزیر

در روش چینش سمت چپ ۳ وزیر و در روش چینش سمت راست ۴ وزیر همدیگر را گارد می‌دهند. بنابراین روش چینش قبلی بهینه تر از روش چینش فعلی است. در واقع می‌توان مسئله بهینه‌سازی را به صورت زیر تعریف کرد. فرض کنید S مجموعه همه جواب‌های ممکن برای مسئله باشد. در صورتی S* می‌تواند جواب مسئله باشد که به ازای همه جواب‌های موجود در S، S* بهینه تر از دیگر جواب‌ها باشد. در مسئله ۸ وزیر دیدیم که جوابی بهینه‌است که تعداد گاردهای جفت وزیر آن کمتر باشد.

روش‌های جستجوی محلی همگی حالت‌های همسایه حالت فعلی را برای رسیدن به بهینه‌ترین جواب بررسی می‌کنند. از این رو وجود دو تابع در همه این روش‌های جستجو الزامی است. اولین تابع میزان بهینگی جواب مسئله ارزیابی می‌کند و تابع دوم یکی از حالت‌های همسایه حالت فعلی را انتخاب می‌کند.

نحوه پیاده‌سازی و طراحی الگوریتم برای انتخاب حالت هسایه در این روش‌های جستجو از اهمیت ویژه‌ای برخوردار است. به عنوان مثال برای مسئله ۸ وزیر می‌توان به شکل‌های زیر حالت‌های همسایگی را تولید کرد:

۱) دو وزیر به تصادف انتخاب شده و جای آن دو باهم عوض گردد.

۲) یکی از وزیرها به تصادف انتخاب شده و شماره سطر آن به تصادف تغییر کند.

۳) ویزیری به تصادف انتخاب شده و یک خانه به سمت بالا یا پایین حرکت کند

مسئله چند وزیر قسمت 1
مسئله چند وزیر قسمت 2
مسئله چند وزیر قسمت 3
مسئله چند وزیر قسمت 4

9.آشکار سازی صورت با استفاده فیلترهای گابور و شبکه های عصبی

ﭼﻜﻴﺪه: در این مقاله، روشی قدرتمند برای آشکارسازی صورت از زوایای مختلف با استفاده از ترکیب فیلترهای گابور و شبکه ی عصبی بیان می شود. در ابتدا رابطه ی ریاضی تولید فیلتر گابور ورد بررسی قرار می گیرد و در مرحله بعد با برسسی 75 بانک فیلتر مختلف، محدوده مقادیر پارامترهای مؤثر در تولید فیلتر گابور مشخص شده و سپس بهترین مقدار برای آنها به دست می آید. شبکه ی عصبی مورد استفاده در این نوع مقاله از نوع پیش خور با روش بازگشتی است و بردار ورودی این شبکه عصبی از کانوالو تصویر با تنها یک فیلتر گابور با زاویه  و فرکانس  در خوزه فرکانس به دست می آید. الگوریتم پیشنهادی در این مقاله روی 550 تصویر از 2 پایگاه تصویر فرت با پس زمینه ساده و مارکوس وبر با پس زمینه پیچیده آزمایش شده و دقت آشکارسازی آن به ترتیب 98/4% و 95% است. همچنین به کمک الگوریتم ویولا جونز ناحیه صورت را در 550 نمونه تصویر به دست آورده و مقایسه ای بین نتایج به دست آمده از الگوریتم ویولاجونز و آلگوریتم پیشنهادی آورده می شود.
کلمات کلیدی: آشکار سازی صورت، شبکه عصبی، فیلتر گابور، ویژگی های گابور

فایل PDF – در 13 صفحه- نویسنده : ﻣﺤﻤﻮد ﻣﺤﻠﻮﺟﻲ و رضا محمدیان

آشکار سازی صورت با استفاده فیلترهای گابور و شبکه های عصبی

پسورد فایل : behsanandish.com


10.بهبود روش های ناحیه بندی تصاویر MRI مغز انسان با استفاده از عملگر گابور

 

فایل PDF – در 15 صفحه- نویسنده : فرزاد فلاحی

بهبود روش های ناحیه بندی تصاویر MRI مغز انسان با استفاده از عملگر گابور

پسورد فایل : behsanandish.com


11. بهبود سیستم های ایمنی برای تشخیص اجسام در تصویرهای پرتونگاری بار

 

چکیده: بازرسی چشمی بار در فرودگاهها و مراکز حساس مستلزم صرف زمان زيادی است و اجسام در بسياری از موارد خصوصاً زمانی که در موقعيت و زاويههای خاصی قرار گرفته باشند قابل شناسايی با بازرسیهای سريع چشمی نيستند. امروزه از دستگاههای تصويربرداری پرتو ايکس برای تشخيص اجسام در بار استفاده میشود. تصاوير پرتونگاری حاصل به علت پراکندگی فوتونی دارای ميزانی از مهآلودگی هستند و گاهی تشخيص دقيق اجسام با مشکل مواجه میشود. روشهای پردازش تصوير میتوانند به بهبود کنتراست و در نتيجه بهتر شدن قابليت تشخيص اجسام کمک کنند. در پرتونگاری بار سطح نويز و پراکندگی در تصويرهای مختلف با هم تفاوت زيادی دارند که اين موضوع ضرورت استفاده از روشهای پردازش تصوير خودکار را ايجاب میکند. در اين پژوهش از دو روش موجک و صافی گابور با سطح آستانهی خودکار استفاده شده است. نتايج حاصل نشان میدهد تصويرهای بازسازی شده اگرچه در جزييات دارای اختلافاتی هستنند ولی در ميزان تشخيص اجسام توسط افراد تفاوت زيادی ندارند. در هر دو روش کنتراست و قابليت تشخيص اجسام نسبت به تصويرهای اوليه بهبود قابل ملاحظهای يافته است. زمان اجرای الگوريتم موجک گسسته حدود يک هشتم زمان اجرای صافی گابور است که با توجه به اهميت سرعت پردازش تصوير در بازرسی بار برتری قابل ملاحظهای است.

کلید واژهها: پرتونگاری بار،سیستم بازرسی بار،پرتو ایکس، روش موجک گسسته، فیلتر گابور

 

فایل PDF – در 13 صفحه- نویسندگان : سمانه شیخ ربیعی، بهروز رکرک، عفت یاحقی، بهنام آرضابک

بهبود سیستم های ایمنی برای تشخیص اجسام در تصویرهای پرتونگاری بار

پسورد فایل : behsanandish.com


12. ﺑﻬﺒﻮد کیفیت تصویر اﺛﺮاﻧﮕﺸﺖ ﺑﺎ اﺳﺘﻔﺎده از فیلتر بانک ﮐﻤﺎﻧﯽ گابور

ﭼﮑﯿﺪه: ﺗﺄﯾﯿﺪ و ﺷﻨﺎﺳﺎﯾﯽ ﻫﻮﯾﺖ از روی ﺗﺼﻮﯾﺮ اﺛﺮاﻧﮕﺸﺖ ارﺗﺒﺎط ﻣﺴﺘﻘﯿﻤﯽ ﺑﺎ ﮐﯿﻔﯿﺖ اﯾﻦ ﺗﺼـﻮﯾﺮ دارد. در اﯾـﻦ ﻣﻘﺎﻟـﻪ روش ﺟﺪﯾـﺪی ﺑﺮای ﺑﻬﺒﻮد ﮐﯿﻔﯿﺖ ﺗﺼﻮﯾر اﺛﺮ اﻧﮕﺸﺖ ﺑﺎ اﺳﺘﻔﺎده از ﻓﯿﻠﺘﺮ ﺑﺎﻧﮏ اﺳـﺖ ﮐﻤﺎﻧﯽ ﮔـﺎﺑﻮر اراﺋـﻪ ﺷـﺪه است. ﻓﯿﻠﺘـﺮ ﺑﺎﻧـﮏ ﮐﻤـﺎﻧﯽ ﮔـﺎﺑﻮر در ﺣﻘﯿﻘﺖ ﻧﻮﻋﯽ ﻓﯿﻠﺘﺮ ﺑﺎﻧﮏ ﮔﺎﺑﻮر اﺳﺘﺎﻧﺪارد ﻣﺘﺒﺤﺮ ﺷﺪه ﺑﺮای اﺳﺘﻔﺎده روی ﺗﺼﺎوﯾﺮ اﺛﺮ اﻧﮕﺸﺖ می ﺑﺎﺷﺪ. ارزﯾﺎﺑﯽ ﻣﯿـﺰان ﺗﻮﻓﯿـﻖ روش در بهبود ﮐﯿﻔﯿﺖ ﺗﺼﺎوﯾﺮ اﺛﺮ اﻧﮕﺸﺖ ﺑﻪ دو روش اﻧﺠﺎم ﺷﺪه است. در روش اول، ﻣﻘﺎﯾﺴﻪ ﺑﯿﻦ ﺗﺼﺎوﯾﺮ اﺻـﻠﯽ و ﺗﺼـﺎوﯾﺮ ﺑﻬﺒﻮد ﯾﺎﻓﺘﻪ ﺑﺮاﺳﺎس ﻧﺘﺎﯾﺞ ﺑﺪﺳﺖ آﻣﺪه از ارزﯾﺎﺑﯽ ﺗﺄﯾﯿﺪ و ﺷﻨﺎﺳﺎﯾﯽ ﻫﻮﯾﺖ ﺻﻮرت ﭘﺬﯾﺮﻓﺘﻪ اﺳﺖ که ﺳﯿﺴﺘﻢ ﺗﺸﺨﯿﺺ ﻫﻮﯾـﺖ ﭘﯿﺸﻨﻬﺎدی ﻣﺒﺘﻨﯽ ﺑﺮ معیار ﻫﻤﺒﺴﺘﮕﯽ ﻫﯿﺴﺘﻮﮔﺮام ﻧﺮﻣﺎﻟﯿﺰه ﺷﺪه ویژگی های تصویر آماری باینری شده (BSIF) است. در روش دوم، از ﻣﻌﯿﺎر ﻧﺴﺒﺖ ﺳﯿﮕﻨﺎل ﺑﻪ ﻧﻮﯾﺰ ﺑﯿﺸﯿﻨﻪ (PSNR) به منظور ارزﯾﺎﺑﯽ میزان بهبود ﮐﯿﻔﯿﺖ، اﺳﺘﻔﺎده ﺷـﺪه است. دو ﭘﺎﯾﮕـﺎه DBI و DBII برای اجرای روش و ارزیابی نتایج مورد استفاده ﻗﺮار گرفته اﻧﺪ .ﻧﺮخ ﺗﺴﺎوی ﺧﻄﺎی (EER) ﺗﺄﯾﯿﺪ ﻫﻮﯾـﺖ ﺑﺮای ﺗﺼﺎوﯾﺮ اﺻﻠﯽ از (ﺑﻪ ترتیب % ۱۵/۸۹ و  ۱۱/۷۰%) به ( % ۱۱/۳۵ و  ۸/۰۰%) ﺑـﺮای ﺗﺼـﺎوﯾﺮ ﺑﻬﺒـﻮد ﯾﺎﻓﺘـﻪ کاهش ﯾﺎﻓﺘﻪ اﺳﺖ .ﺑﺮای ﺗﺸﺨﯿﺺ ﻫﻮﯾﺖ ﻧﯿﺰ ﻧﺮخ ﻣﺮﺗﺒﻪ اول ﻣﯿﺰان ﺑﺎزﺷﻨﺎﺳـﯽ ﺻـﺤﯿﺢ ﺑـﺮای ﺗﺼـﺎوﯾﺮ اصلی از مقادیر( ۶۹/۲۸% و ۷۱/۱۶ %) به (۷۸/۸۰% و ۸۱/۷۰ %) ﺑﺮای ﺗﺼﺎوﯾﺮ ﺑﻬﺒﻮد ﯾﺎﻓﺘﻪ اﻓﺰاﯾﺶ ﯾﺎﻓﺘﻪ است.  ﻣﯿﺰان متوسط PSNR ﻣﺮﺑﻮط ﺑﻪ ﺗﺼﺎوﯾﺮ ﺑﻬﺒﻮد ﯾﺎﻓﺘﻪ ﻧﯿﺰ از ﻣﻮرد ﻣﺸﺎﺑﻪ ﺑﺮای ﺗﺼﺎوﯾﺮ اﺻﻠﯽ ﺑﯿﺸﺘﺮ اﺳﺖ.

ﮐﻠﯿﺪ واژهﻫﺎ: ﮐﯿﻔﯿﺖ ﺗﺼﻮﯾﺮ، ﻓﯿﻠﺘﺮﺑﺎﻧﮏ اﺛﺮاﻧﮕﺸﺖ، ﺑﻬﺒﻮد ﮐﻤﺎﻧﯽ ﮔﺎﺑﻮر

 

فایل PDF – در 17 صفحه- نویسندگان : مهران تقی پور گرجی کلایی، سید محمد رضوی و ناصر مهرشاد

ﺑﻬﺒﻮد کیفیت تصویر اﺛﺮاﻧﮕﺸﺖ ﺑﺎ اﺳﺘﻔﺎده از فیلتر بانک ﮐﻤﺎﻧﯽ گابور

پسورد فایل : behsanandish.com


13. تشخیص چهره با استفاده از PCA و فیلتر گابور

 

فایل PDF – در 8 صفحه- نویسندگان : حمیدرضا قجر، محسن سریانی و عباس کوچاری

تشخیص چهره با استفاده از PCA و فیلتر گابور

پسورد فایل : behsanandish.com


14. تعیین توزیع دانه بندی سنگ دانه های بتن و آسفالت با استفاده از استخراج ویژگی های گابور و شبکه های عصبی

چکیده: توزیع ابعادی سنگدانه های تشکیل دهنده بتن و آسفالت، از مهمترین پارامترها در کنترل طرحهای اختلاط بتن و آسفالت است که میتواند بر کیفیت نهایی، مقاومت و دوام بتن و آسفالت تاثیر گذار باشد. بهمنظور ارزیابی درصد اختلاط سنگدانه ها، روش پردازش تصویری دیجیتال یک روش غیر مستقیم، سریع و قابل اعتماد است. در این تحقیق بر پایه یکی از روشهای استخراج ویژگیهای دیداری تصویر (فیلترهای گابور) و استفاده از شبکه های عصبی، الگوریتمی جهت تعیین توزیع دانه بندی تصاویر سنگدانه های تشکیل دهنده بتن و آسفالت ارائه شده است. تعداد 100 تصویر از سنگدانه های تشکیل دهنده بتن و آسفالت برای آموزش شبکه عصبی به کار برده شد. سپس نتایج حاصله با نتایج تخمین خودکار دانه بندی سنگدانه ها در نرم افزار Split-Desktop و همچنین تجزیه سرندی مقایسه شد.نتایج به دست آمده بیانگر یک بهبود کلی در ارزیابی توزیع اندازه سنگدانه های تشکیل دهنده بتن و آسفالت و کاهش خطای 67% با استفاده از روش پیشنهادی نسبت به تخمین خودکار نرم افزار Split-Desktop است. همچنین در ارزیابی اندازه های F10 تا F100، روش پیشنهادی بهبود 62% را نشان داد.

واژه های کلیدی: توزیع دانه بندی، سنگدانه های بتن و آسفالت، استخراج ویژگی تصویر، فیلترهای گابور، شبکه های عصبی.

 

فایل PDF – در 14 صفحه- نویسندگان : هادی یعقوبی، حمید منصوری، محمد علی ابراهیمی فرسنگی و حسین نظام آبادی پور

تعیین توزیع دانه بندی سنگ دانه های بتن و آسفالت با استفاده از استخراج ویژگی های گابور و شبکه های عصبی

پسورد فایل : behsanandish.com


15. خوشه بندی سبک نگارش دست نوشته برون خط فارسی

 

چکیده– ﻫﺪﻑ ﺍﻳﻦ ﭘﺎﻳﺎﻥ ﻧﺎﻣﻪ، ﻳﺎﻓﺘﻦ ﻭ ﺍﺳﺘﺨﺮﺍﺝ ﻭﻳﮋﮔﻲ ﻫﺎﻳﻲ ﺍﺳﺖ ﮐﻪ ﺑﺮ ﻣﺒﻨﺎﻱ ﺁﻥ ﺑﺘﻮﺍﻥ ﺩﺳﺖ ﺧﻂ ﻓﺎﺭﺳﻲ ﺭﺍ ﺧﻮﺷﻪ ﺑﻨﺪﻱ ﮐﺮﺩ .ﺩﺭ ﺍﻳﻦ ﮐﺎﺭ، ﺩﺭ ﺍﺑﺘﺪﺍ ﺑﺮ ﺭﻭﻱ ﻭﻳﮋﮔﻲ ﻫﺎﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﺑﺎﻓﺖ، ﺗﻤﺮﮐﺰ ﺷﺪﻩ ﺍﺳﺖ .ﺍﻳﻦ ﻭﻳﮋﮔﻲ ﻫﺎ ﺷﺎﻣﻞ ﺩﻭ ﺩﺳﺘﻪ ﻭﻳﮋﮔﻲ ﺁﻣﺎﺭﻱ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻫﻢ ﺁﻳﻲ ﻭ ﻭﻳﮋﮔﻲ ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﺒﺪﻳﻞ ﮔﺎﺑﻮﺭ ﺍﺳﺖ .ﺑﺮﺍﻱ ﺍﺳﺘﺨﺮﺍﺝ ﺍﻳﻦ ﻭﻳﮋﮔﻲﻫﺎ، ﻳﮏ ﺑﺎﻓﺖ ﻣﻨﺎﺳﺐ ﺩﺭ ﺍﺑﻌﺎﺩ ۱۰۲۴×۱۰۲۴ ﻣﺴﺘﻘﻞ ﺍﺯ ﻣﺤﺘﻮﺍﻱ ﺳﻨﺪ، ﺍﺯ ﺗﺼﻮﻳﺮ ﺩﺳﺘﻨﻮﺷﺘﻪ ﺍﻳﺠﺎﺩ ﻣﻲ ﺷﻮﺩ .ﺍﺯ ﻭﻳﮋﮔﻲ ﻫﺎﻱ ﺩﻳﮕﺮﻱ ﮐﻪ ﺩﺭ ﺍﻳﻦ ﮐﺎﺭ ﺍﺯ ﺁﻥ ﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺍﺳﺖ، ﺗﻌﺪﺍﺩﻱ ﻭﻳﮋﮔﻲ ﺳﺎﺧﺘﺎﺭﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻨﺤﻨﻲ ﭘﻴﺮﺍﻣﻮﻧﻲ ﺍﺳﺖ .ﺍﻳﻦ ﻭﻳﮋﮔﻲ ﻫﺎ ﺭﺍ ﺍﺯ ﻫﺮ ﻳﮏ ﺍﺯ ﺗﺼﺎﻭﻳﺮ ﻣﻮﺟﻮﺩ ﺩﺭ ﻳﮏ ﻣﺠﻤﻮﻋﻪ ﺩﺍﺩﻩ ﺍﺯ 97 ﺩﺳﺘﻨﻮﺷﺘﻪ ﻓﺎﺭﺳﻲ ﮐﻪ ﺩﺍﺭﺍﻱ ﻣﺘﻮﻥ ﻣﺘﻔﺎﻭﺗﻲ ﺑﻮﺩﻧﺪ، ﺍﺳﺘﺨﺮﺍﺝ ﮐﺮﺩﻳﻢ ﻭ ﺍﺯ ﺍﻟﮕﻮﺭﻳﺘﻢ k ﻣﻴﺎﻧﮕﻴﻦ ﻭ ﺷﺒﮑﻪ ﻋﺼﺒﻲ ﻧﮕﺎﺷﺖ ﻭﻳﮋﮔﻲ ﺧﻮﺩ ﺳﺎﻣﺎﻥ، ﺑﺮﺍﻱ ﺧﻮﺷﻪ ﺑﻨﺪﻱ ﺍﻳﻦ ﻭﻳﮋﮔﻲ ﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺍﺳﺖ.

ﺑﺮﺍﻱ ﺍﺭﺯﻳﺎﺑﻲ ﺍﻳﻦ ﻭﻳﮋﮔﻲ ﻫﺎ، ﻳﮏ ﺭﻭﺵ ﺍﺭﺯﻳﺎﺑﻲ ﺑﺮ ﻣﺒﻨﺎﻱ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺧﻮﺷﻪ ﺑﻨﺪﻱ k ﻣﻴﺎﻧﮕﻴﻦ، ﻃﺮﺍﺣﻲ ﮐﺮﺩﻩ ﺍﻳﻢ .ﺩﺭ ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺍﺯ ﻣﻌﻴﺎﺭ ﻣﻘﺎﻳﺴﻪ ﺑﺎﻳﻨﺮﻱ ﮊﺍﮐﺎﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩﻩ ﺍﻳﻢ، ﻫﻢ ﭼﻨﻴﻦ ﺑﺮﺍﻱ ﻣﺤﺎﺳﺒﻪ ﻣﺮﺍﮐﺰ ﺧﻮﺷﻪ ﺩﺭ ﻫﺮ ﺩﻭﺭﻩ ﺗﮑﺮﺍﺭ ﺍﺯ ﺍﻟﮕﻮﺭﻳﺘﻢ k ﻣﻴﺎﻧﮕﻴﻦ، ﺍﺯ ﺭﻭﺵ ﺍﻧﺘﺨﺎﺏ ﺩﺍﺩﻩ ﭼﺮﺥ ﺭﻭﻟﺖ، ﺑﻬﺮﻩ ﮔﺮﻓﺘﻪﺍﻳﻢ.

ﻧﺘﺎﻳﺞ ﺑﺪﺳﺖ ﺁﻣﺪﻩ، ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ ﺑﺎ ﺗﺮﮐﻴﺐ ﺩﻭ ﻧﻮﻉ ﺍﺯ ﻭﻳﮋﮔﻲ ﻫﺎﻱ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻨﺤﻨﻲ ﭘﻴﺮﺍﻣﻮﻧﻲ، ﻧﺮﺥ ﺧﻮﺷﻪ بندی 75 ﺩﺭﺻﺪ ﺍﺳﺖ ﮐﻪ ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﻳﺮ ﺭﻭﺵﻫﺎﻱ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺩﺭ ﺍﻳﻦ ﮐﺎﺭ، ﻧﺮﺥ ﺑﻬﺘﺮﻱ ﺭﺍ ﺩﺭ ﺑﺮﺩﺍﺷﺘﻪ ﺍﺳﺖ .

ﮐﻠﻴﺪ ﻭﺍﮊﻩ: ﺳﺒﮏ ﻧﮕﺎﺭﺵ، ﺧﻮﺷﻪ ﺑﻨﺪﻱ، ﺑﺎﻓﺖ، ﻓﻴﻠﺘﺮ ﮔﺎﺑﻮﺭ، ﻣﺎﺗﺮﻳﺲ ﺑﺎ ﻫﻢ ، ﺁﻳﻲ، ﻣﻨﺤﻨﻲ ﭘﻴﺮﺍﻣﻮﻧﻲ، ﮊﺍﮐﺎﺭﺩ ﭼﺮﺥ ﺭﻭﻟﺖ

فایل PDF – در 20 صفحه- نویسنده : فاطمه ولایتی

خوشه بندی سبک نگارش دست نوشته برون خط فارسی

پسورد فایل : behsanandish.com


16. شاخص گذاری بر روی تصاویر با استفاده از موجک های گابور و ممان های لژاندر

 

چکیده- در این مقاله، یک سیستم جدید شاخص گذاری و بازیابی تصاویر (CBIR) با استفاده از موجک های گابور و ممان های لژاندار پیشنهاد گردیده است. از انجائیکه موجک های گایور قادر به استخراج مطلوب اطلاعات خطوط و لبه های تصاویر در مقیاس ها و درجات تفکیک مختلف می باشند و از طرف دیگر، این تبدیل تنها تابعی است که می تواند حد تئوری دقت تفکیک توأم اطلاعات در هر حوزه مکان و فرکانس را حاصل نماید، در اینجا از آن به منظور تشخیص محتوای بصری تصاویر به کار گرفته شده است. هم چنین ممانهای لژاندار جهت بهبود نتایج حاصل از عمل بازیابی الگوریتم استفاده شده اند. کوچکی نسبی طول بردار ویژگی (58)، از مزایای این روش می باشد که عمل بازیابی را تسریع می بخشد. همچنین به دلیل آنکه اطلاعات رنگ تصاویر مورد استفاده قرار نمی گیرند، الگوریتم قادر به تشخیص تصاویر مشابه با رنگ های متفاوت نیز خواهد بود. نتایج حاصل از اجرای این سیستم، راندمان بالای آن را در تشخیص تصاویر مشابه مورد تأییید قرار می دهد.

واژگان کلیدی: شاخص گذاری و بازیابی تصاویر، فیلترهای گابور، ممانهای لژاندار، سیستم های مستقل از رنگ، پردازش تصویر.

 

فایل PDF – در 8 صفحه- نویسندگان : اسماعیل فرامرزی، ابوالقاسم صیادیان، علیرضا احمدیان

شاخص گذاری بر روی تصاویر با استفاده از موجک های گابور و ممان های لژاندر

پسورد فایل : behsanandish.com


17. طراحی بخش دریافت و پردازش تصویر برای یک پروتز بینایی

 

ﭼﮑﯿﺪه ﺗﻼش ﻫﺎ ﺑﺮاي ﺗﺤﻘﻖ ﭘﺮوﺗﺰﻫﺎي ﺑﯿﻨﺎﯾﯽ از دﻫﻪ ﮔﺬﺷﺘﻪ آﻏﺎز ﺷﺪه اﺳﺖ. ﭘﺮوﺗﺰﻫﺎي ﺑﯿﻨﺎﯾﯽ ﺟﺎﻧﺸﯿﻨﯽ ﺑﺮاي ﺳﯿﺴﺘﻢ ﺑﯿﻨﺎﯾﯽ ﻣﻌﯿﻮب ﻫﺴﺘﻨﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﺑﯿﻨﺎﯾﯽ را ﺑﻪ اﻓﺮاد ﻧﺎﺑﯿﻨﺎ ﺑﺎزﮔﺮداﻧﻨﺪ. ﺑﺎ وﺟﻮد اﯾﻦ ﺗﻼش ﻫﺎ، داﻧﺸﻤﻨﺪان ﻣﻮﻓﻖ ﺑﻪ ﺳﺎﺧﺖ ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ ﮐﻪ ﺑﺘﻮاﻧﺪ ﺟﺎﻧﺸﯿﻦ ﻣﻨﺎﺳﺒﯽ ﺑﺮاي ﺳﯿﺴﺘﻢ ﺑﯿﻨﺎﯾﯽ ﺷﻮد، ﻧﺸﺪه اﻧﺪ.
ﭘﺮدازش ﺗﺼﻮﯾﺮ در ﭘﺮوﺗﺰﻫﺎي ﺑﯿﻨﺎﯾﯽ ﺑﺮاي اﻓﺰاﯾﺶ درك ﺗﺼﻮﯾﺮي ﻓﺮد ﻧﺎﺑﯿﻨﺎ از ﻣﺤﯿﻂ اﻃﺮاف ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ ﮐﺎرﺑﺮد دارد. در اﯾﻦ رﺳﺎﻟﻪ ﯾﮏ روش ﺟﺪﯾﺪ ﺑﺮ ﻣﺒﻨﺎي ﻓﯿﻠﺘﺮ ﮔﺎﺑﻮر و ﺗﺒﺪﯾﻞ ﮐﺴﯿﻨﻮﺳﯽ ﮔﺴﺴﺘﻪ ﺑﺮاي اﺳﺘﻔﺎده درﯾﮏ ﺳﯿﺴﺘﻢ ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ ﻣﻌﺮﻓﯽ ﺷﺪه اﺳﺖ. در اداﻣﻪ اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﺟﺪﯾﺪ و ﭘﺮدازش ﺗﺼﻮﯾﺮ ﭘﯿﺸﻨﻬﺎد ﺷﺪه در اﯾﻦ رﺳﺎﻟﻪ ارزﯾﺎﺑﯽ و ﻣﻘﺎﯾﺴﻪ ﺷﺪه اﻧﺪ و اﻟﮕﻮرﯾﺘﻢ ﭘﯿﺸﻨﻬﺎد ﺷﺪه ﺑﺎ 78 % ﻧﺮخ ﺑﺎزﺷﻨﺎﺳﯽ، ﮐﺎراﯾﯽ ﺑﻬﺘﺮي ﻧﺴﺒﺖ ﺑﻪ دﯾﮕﺮ روش ﻫﺎ داﺷﺘﻪ اﺳﺖ. ﺑﻪ ﻣﻨﻈﻮر ارزﯾﺎﺑﯽ اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﭘﯿﺸﻨﻬﺎدي و ﻫﻤﭽﻨﯿﻦ ﺑﺮاي ﺑﻪ ﮐﺎر ﮔﯿﺮي در ﻧﻤﻮﻧﻪ اوﻟﯿﻪ ﺳﯿﺴﺘﻢ ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ، اﯾﻦ ﭘﺮدازش ﻫﺎ ﺑﻪ ﺻﻮرت ﺳﺨﺖ اﻓﺰاري ﭘﯿﺎده ﺳﺎزي و آزﻣﺎﯾﺶ ﺷﺪه اﻧﺪ. ﺑﺮاي ﭘﯿﺎده ﺳﺎزي ﺳﺨﺖ اﻓﺰاري اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﭘﺮدازﺷﯽ از ﺑﺮد MINI2440 اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. ﺑﺮاي آزﻣﺎﯾﺶ ﻫﺎي ﻣﺮﺑﻮﻃﻪ، ﻣﺠﻤﻮﻋﻪ اي از اﻧﻮاع ﻣﺨﺘﻠﻒ ﺗﺼﺎوﯾﺮ ﺛﺎﺑﺖ و ﻫﻤﭽﻨﯿﻦ ﺗﺼﺎوﯾﺮ متحرک درﯾﺎﻓﺖ ﺷﺪه ﺗﻮﺳﻂ ﯾﮏ دورﺑﯿﻦ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ. تصاویر ﺑﺎ ﻧﺮخ 15 ﻓﺮﯾﻢ در ثانیه درﯾﺎﻓﺖ، ﭘﺮدازش و ﺑﺎ ﭘﺮوﺗﮑﻞ ﻣﻌﺮﻓﯽ ﺷﺪه و ﮐﺪﯾﻨﮓ ﻣﻨﭽﺴﺘﺮ ﺑﻪ ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ ارﺳﺎل ﻣﯽ ﺷﻮﻧﺪ.

ﮐﻠﻤﺎت ﮐﻠﯿﺪي: ﭘﺮوﺗﺰ ﺑﯿﻨﺎﯾﯽ، ﭘﺮدازش ﺗﺼﻮﯾﺮ، ﻓﯿﻠﺘﺮ ﮔﺎﺑﻮر، ﺗﺒﺪﯾﻞ ﮐﺴﯿﻨﻮﺳﯽ ﮔﺴﺴﺘﻪ، MINI2440

 

فایل PDF – در 20 صفحه- نویسنده : علی شاکر

طراحی بخش دریافت و پردازش تصویر برای یک پروتز بینایی

پسورد فایل : behsanandish.com

مجموعه مقالات فیلتر گابور (Gabor Filter) قسمت 1
مجموعه مقالات فیلتر گابور (Gabor Filter) قسمت 2

تاريخچه

الگوريتم SVM اوليه در ۱۹۶۳ توسط Vladimir Vapnik ابداع شد و در سال ۱۹۹۵ توسطVapnik و Corinna Cortes براي حالت غيرخطي تعميم داده شد.

ماشين بردار پشتيباني (Support vector machines) يکي از روش‌هاي يادگيري بانظارت(Supervised learning) است که از آن براي طبقه‌بندي و رگرسيون استفاده مي‌کنند.

اين روش از جمله روش‌هاي نسبتاً جديدي است که در سال‌هاي اخير کارايي خوبي نسبت به روش‌هاي قديمي‌تر براي طبقه‌بندي از جمله شبکه‌هاي عصبي پرسپترون نشان داده است. مبناي کاري دسته‌بنديکنندة SVM دسته‌بندي خطي داده‌ها است و در تقسيم خطي داده‌ها سعي مي‌کنيم خطي را انتخاب کنيم که حاشيه اطمينان بيشتري داشته باشد. حل معادلة پيدا کردن خط بهينه براي داده‌ها به وسيله روش‌هايQP (Quadratic Programming) که روش‌هاي شناخته شده‌اي در حل مسائل محدوديت‌دار هستند صورت مي‌گيرد.

SVM از يک تکنيک که kernel trick ناميده مي شود، براي تبديل داده هاي شما استفاده مي کند و سپس بر اساس اين تبديل، مرز بهينه بين خروجي هاي ممکن را پيدا مي کند. به عبارت ساده تبديلات بسيار پيچيده را انجام مي دهد، سپس مشخص مي کند چگونه داده هايتان را بر اساس برچسب ها يا خروجي هايي که تعريف کرده ايد، جدا کنيد.

يکي از روش هايي که در حال حاضر به صورت گسترده براي مسئله دسته بندي (Classification) مورد استفاده قرار مي گيرد، روش ماشين بردار پشتيبان (SVM) است. شايد به گونه اي بتوان محبوبيت کنوني روش ماشين بردار پشتيبان را با محبوبيت شبکه هاي عصبي در دهه گذشته مقايسه کرد. علت اين قضيه نيز قابليت استفاده اين روش در حل مسائل گوناگون مي باشد، در حاليکه روش هايي مانند درخت تصميم گيري را نمي توان به راحتي در مسائل مختلف به کار برد.

کاربردهاي SVM

الگوريتم  SVM، جز الگوريتم هاي تشخيص الگو دسته بندي مي شود. از الگوريتم SVM، در هر جايي که نياز به تشخيص الگو يا دسته بندي اشيا در کلاس هاي خاص باشد مي توان استفاده کرد. در ادامه به کاربرد هاي اين الگوريتم به صورت موردي اشاره مي شود:

سيستم آناليز ريسک، کنترل هواپيما بدون خلبان، رديابي انحراف هواپيما، شبيه سازي مسير، سيستم راهنمايي اتوماتيک اتومبيل، سيستمهاي بازرسي کيفيت، آناليز کيفيت جوشکاري، پيش بيني کيفيت، آناليز کيفيت کامپيوتر، آناليز عملياتهاي آسياب، آناليز طراحي محصول شيميايي، آناليز نگهداري ماشين، پيشنهاد پروژه، مديريت و برنامه ريزي، کنترل سيستم فرايند شيميايي و ديناميکي، طراحي اعضاي مصنوعي، بهينه سازي زمان پيوند اعضا، کاهش هزينه بيمارستان، بهبود کيفيت بيمارستان، آزمايش اتاق اورژانس، اکتشاف روغن و گاز، کنترل مسير در دستگاههاي خودکار، ربات، جراثقال، سيستمهاي بصري، تشخيص صدا، اختصار سخن، کلاسه بندي صوتي، آناليز بازار، سيستمهاي مشاوره اي محاسبه هزينه موجودي، اختصار اطلاعات و تصاوير، خدمات اطلاعاتي اتوماتيک، مترجم لحظه اي زبان، سيستمهاي پردازش وجه مشتري، سيستمهاي تشخيص ترمز کاميون، زمانبندي وسيله نقليه، سيستمهاي مسيريابي، کلاسه بندي نمودارهاي مشتري/بازار، تشخيص دارو، بازبيني امضا، تخمين ريسک وام، شناسايي طيفي، ارزيابي سرمايه، کلاسه بندي انواع سلولها، ميکروبها و نمونه ها، پيش بيني فروشهاي آينده، پيش بيني نيازهاي محصول، پيش بيني وضعيت بازار، پيش بيني شاخصهاي اقتصادي، پيش بيني ملزومات انرژي، پيش بيني واکنشهاي دارويي، پيش بيني بازتاب محصولات شيميايي، پيش بيني هوا، پيش بيني محصول، پيش بيني ريسک محيطي، پيش بيني جداول داوري، مدل کردن کنترل فرآيند، آناليز فعاليت گارانتي، بازرسي اسناد، تشخيص هدف، تشخيص چهره، انواع جديد سنسورها، دستگاه کاشف زير دريايي بوسيله امواج صوتي، رادار، پردازش سيگنالهاي تصويري شامل مقايسه اطلاعات، پيگيري هدف، هدايت جنگ افزارها، تعيين قيمت وضعيت فعلي، جلوگيري از پارازيت، شناسايي تصوير /سيگنال، چيدمان يک مدار کامل، بينايي ماشين، مدل کردن غير خطي، ترکيب صدا، کنترل فرآيند ساخت، آناليز مالي، پيش بيني فرآيندهاي توليد، ارزيابي بکارگيري يک سياست، بهينه سازي محصول، تشخيص ماشين و فرآيند، مدل کردن کنترل سيستمها، مدل کردن ساختارهاي شيميايي، مدل کردن سيستمهاي ديناميکي، مدل کردن سيگنال تراکم، مدل کردن قالبسازي پلاستيکي، مديريت قراردادهاي سهام، مديريت وجوه بيمه، ديريت سهام، تصويب چک بانکي، اکتشاف تقلب در کارت اعتباري، ثبت نسيه، بازبيني امضا از چکها، پيش بيني ارزش نسيه، مديريت ريسک رهن، تشخيص حروف و اعدا، تشخيص بيماري و…..

ايده اصلي SVM

l      با فرض اينکه دسته ها بصورت خطي جداپذير باشند، ابرصفحه هائي با حداکثر حاشيه(maximum margin)  را بدست مي آورد که دسته ها را جدا کنند.

l      در مسايلي که داده ها بصورت خطي جداپذير نباشند، داده ها به فضاي با ابعاد بيشتر نگاشت پيدا مي کنند تا بتوان آنها را در اين فضاي جديد بصورت خطي جدا نمود.

l      در يک فرايند يادگيري که شامل دو کلاس مي­باشد، هدف SVM پيدا کردن بهترين تابع براي طبقه­بندي مي­باشد به نحوي که بتوان اعضاي دو کلاس را در مجموعه داده­ها از هم تشخيص داد. معيار بهترين طبقه­بندي به­صورت هندسي مشخص مي­شود، براي مجموعه داده­هايي که به­صورت خطي قابل تجزيه هستند. به­طور حسي آن مرزي که به­صورت بخشي از فضا تعريف مي­شود يا همان تفکيک بين دو کلاس بوسيله hyperplane تعريف مي­شود. همين تعريف هندسي به ما اجازه مي­دهد تا کشف کنيم که چگونه مرزها را بيشينه کنيم ولو اينکه تعداد بيشماري hyperplane داشته باشيم و فقط تعداد کمي، شايستگي راه حل براي SVM دارند.

مسئله جداسازي خطي: Linear Discrimination

اگر دو دسته وجود داشته باشند که بصورت خطي از هم جداپذير باشند، بهترين جدا کننده اين دو دسته چيست؟

الگوريتم هاي مختلفي از جمله  پرسپترون ميتوانند اين جداسازي را انجام دهند.

آيا همه اين الگوريتمها بخوبي از عهده اين کار بر مي آيند؟

 

آشنايي با مفاهيم ابتدايي

خط يا ابر صفحه جدا کننده:

هدف: پيدا کردن بهترين خط ( ابر صفحه) که دو دسته را از هم جدا کند. در حالت دو بعدي معادله اين خط بصورت زير است:

در حالت n  بعدي خواهيم داشت:

حداکثر حاشيه (maximum margin)

بر طبق قضيه اي در تئوري يادگيري اگر مثالهاي آموزشي بدرستي دسته بندي شده باشند، از بين جداسازهاي خطي، آن جداسازي که حاشيه داده هاي آموزشي را حداکثر مي کند، خطاي تعميم را حداقل خواهد کرد.

چرا حداکثر حاشيه؟

¢     به نظر مي رسد که مطمئن ترين راه باشد.

¢     تئوري هائي برمبناي VC dimension وجود دارد که مفيد بودن آنرا اثبات مي کند.

¢     بطور تجربي اين روش خيلي خوب جواب داده است.

¢     دليل اينکه SVM روي بزرگ­ترين مرز براي hyperplane پافشاري مي­کند اين­ست که قضيه قابليت عموميت بخشيدن به الگوريتم را بهتر تامين مي­کند. اين نه تنها به کارايي طبقه­بندي و دقت  آن روي داده­هاي آزمايشي کمک مي­کند، فضا را نيز براي طبقه­بندي بهتر داده­هاي آتي مهيا مي­کند.

بردار پشتيبان

نزديکترين داده هاي آموزشي به ابر صفحه هاي جدا کننده بردار پشتيبان ناميده مي شوند.

ماشين بردار پشتيبان خطي

ماشين بردار پشتيبان يک روش يادگيري نسبتا جديد است که اغلب براي کلاسبندي باينري مورد استفاده واقع مي شود. فرض کنيد L مشاهده داريم که هر مشاهده مشتمل بر زوج هاي است که در آن . بردار ورودي و  يک مقدار دو وضعيتي (1- يا 1+) است. ايده ي ماشين بردار پشتيبان مي کوشد، ابرصفحاتي در فضا رسم کند که عمل تمايز نمونه هاي کلاس هاي مختلف داده ها را بطور بهينه انجام دهد. مي توان يک ابرصفحه را از طريق رابطه زير نشان داد:

براي يک بردار خطي b با وزن w ، حاشيه جداسازي عبارتست از فاصله ي بين ابرصفحه تعريف شده توسط رابطه ي فوق و نزديکترين ويژگي به آن. هدف ماشين بردار پشتيبان يافتن ابرصفحه اي ست که بيشترين حاشيه ي جداسازي را داشته باشد. مهمترين وظيفه SVM ، يافتن پارامترهاي w0 و b0 بر اساس بردارهاي آموزشي داده شده، براي اين ابرصفحه بهينه است. براي يک بردار ويژگي X، فاصله تا ابرصفحه بهينه به صورت زير است:

از رابطه بالا نتيجه مي شود که ماکزيموم کردن حاشيه جداسازي بين الگوها و ابرصفحه، معادلست با مينيموم کردن فرم اقليدسي بردار وزن w. بنابراين مساله بهينه سازي مقيد را مي توان به صورت زير تعريف کرد:

براي حل اين مساله، تابع لاگرانژ زير را تشکيل داده و حل مي کنيم:

لاگرانژين L بايد نسبت به متغيرهاي اوليه  bو w مينيموم و نسبت به متغيرهاي دوگان ماکزيموم شود. با مساوي صفر قراردادن مشتق L نسبت به b،w:

به معادلات زير خواهيم رسيد:

مجموعه جواب، بسطي از نمونه هاي آموزشي است که مقدار  متناظر با آن ها، يک مقدار غير صفر است. اين نمونه هاي آموزشي خاص به بردارهاي پشتيبان مشهورند. بردارهاي پشتيبان روي مرز حاشيه قرار دارند. مابقي نمونه هاي آموزشي در اين قسمت نقشي ندارند.

تمايز نمونه هاي دو کلاس با ابرصفحه ي بهينه

با قرار دادن 7 و 8 در  به مساله دوگان ولف زير خواهيم رسيد:

حل اين مساله دوگان ضرايب لاگرانژ را به ما مي دهد. تابع ابرصفحه متمايز کننده را مي توان به صورت زير نوشت:

ماشين بردار پشتيبان براي بردارهاي ورودي جدايي ناپذير:

اغلب در عمل، يافتن يک ابرصفحه متمايز کننده به راحتي امکان پذير نيست. زيرا مثلا يک نويز قوي مي تواند باعث ايجاد رويهم افتادگي کلاس ها شود. در اين حالت از متغير هايي به نام متغيرهاي کمبود(Slack Variables) استفاده مي کنيم. به گونه اي که شرايط زير برقرار باشند:

حال يک تعميم خوب براي ابرصفحه ي متمايز کننده، با کنترل ظرفيت کلاسبند (از طريق ) و همچنين تعداد خطاهاي مرحله آموزش بدست مي آيد. مساله بهينه سازي به صورت زير تعريف خواهد شد:

مساله دوگان به فرم زير خواهد بود:

ماشين بردار پشتيبان غيرخطي:

ابرصفحه جداکننده بهينه اولين بار توسط Vapnik در سال ۱۹۶۳ ارائه شد که يک دسته کننده خطي بود. در سال ۱۹۹۲ ،Bernhard Boser ،  Isabelle GuyonوVapnik راهي را براي ايجاد دسته بند غيرخطي، با استفاده قرار دادن هسته براي پيدا کردن ابرصفحه با بيشتر حاشيه، پيشنهاد دادند. الگوريتم نتيجه شده ظاهرا مشابه است، به جز آنکه تمام ضرب هاي نقطه اي با يک تابع هسته غيرخطي جايگزين شده اند. اين اجازه مي دهد، الگوريتم، براي ابرصفحه با بيشترين حاشيه در يک فضاي ويژگيِ تغييرشکل داده، مناسب باشد. ممکن است، تغييرشکل غيرخطي باشد و فضاي تغيير يافته، داراي ابعاد بالاتري باشد. به هر حال دسته کننده، يک ابرصفحه در فضاي ويژگي با ابعاد بالا است، که ممکن است در فضاي ورودي نيز غيرخطي باشد.

در حالت غيرخطي، مي توان با اعمال پيش پردازش داده ها، مساله را به فضايي برد که در آن جا با يک ابرصفحه ساده قابل حل باشد. براي اين منظور يک نگاشت  تعريف مي کنيم که بردار ورودي d بعدي x را به بردار d’ بعدي z تبديل مي کند.

بايد به گونه اي انتخاب شود که بردارهاي فضاي ويژگي جديد جدايي پذير باشند. در حالت کلي مي توان گفت که اگر  بردارهاي ورودي را به فضايي ببرد که تعداد ابعاد آن به اندازه کافي بزرگ باشد (

منبع


منابع

1.https://fa.wikipedia.org

2.http://www.bigdata.ir

3.www.barjoueian.com

4.http://fumblog.um.ac.ir

ماشین بردار پشتیبان (svm) قسمت 1
ماشین بردار پشتیبان (svm) قسمت 2
ماشین بردار پشتیبان (svm) قسمت 3

ماشین بردار پشتیبانی

ماشین بردار پشتیبان (Support vector machines – SVMs) یکی از روش‌های یادگیری بانظارت است که از آن برای طبقه‌بندی و رگرسیون استفاده می‌کنند.

این روش از جملهٔ روش‌های نسبتاً جدیدی است که در سال‌های اخیر کارایی خوبی نسبت به روش‌های قدیمی‌تر برای طبقه‌بندی از جمله شبکه‌های عصبی پرسپترون نشان داده است. مبنای کاریدسته‌بندی کنندۀ SVM دسته‌بندی خطی داده‌ها است و در تقسیم خطی داده‌ها سعی می‌کنیم خطی را انتخاب کنیم که حاشیه اطمینان بیشتری داشته باشد. حل معادله پیدا کردن خط بهینه برای داده‌ها به وسیله روش‌های QP که روش‌های شناخته شده‌ای در حل مسائل محدودیت‌دار هستند صورت می‌گیرد. قبل از تقسیمِ خطی برای اینکه ماشین بتواند داده‌های با پیچیدگی بالا را دسته‌بندی کند داده‌ها را به وسیلهٔ تابعِ phi به فضای با ابعاد خیلی بالاتر می‌بریم. برای اینکه بتوانیم مسئله ابعاد خیلی بالا را با استفاده از این روش‌ها حل کنیم از قضیه دوگانی لاگرانژ برای تبدیلِ مسئلهٔ مینیمم‌سازی مورد نظر به فرم دوگانی آن که در آن به جای تابع پیچیدهٔ phi که ما را به فضایی با ابعاد بالا می‌برد، تابعِ ساده‌تری به نامِ تابع هسته که ضرب برداری تابع phi است ظاهر می‌شود استفاده می‌کنیم. از توابع هسته مختلفی از جمله هسته‌های نمایی، چندجمله‌ای و سیگموید می‌توان استفاده نمود.

یکی از معروفترین خودآموزها مربوط به است.

کاربردهای SVM

الگوریتم SVM، جز الگوریتم‌های تشخیص الگو دسته بندی می‌شود.از الگوریتم SVM، در هر جایی که نیاز به تشخیص الگو یا دسته بندی اشیا در کلاس‌های خاص باشد می‌توان استفاده کرد.در ادامه به کاربردهای این الگوریتم به صورت موردی اشاره می‌شود:

سیستم آنالیز ریسک، کنترل هواپیما بدون خلبان، ردیابی انحراف هواپیما، شبیه‌سازی مسیر، سیستم راهنمایی اتوماتیک اتومبیل، سیستم‌های بازرسی کیفیت، آنالیز کیفیت جوشکاری، پیش‌بینی کیفیت، آنالیز کیفیت کامپیوتر، آنالیز عملیاتهای آسیاب، آنالیز طراحی محصول شیمیایی، آنالیز نگهداری ماشین، پیشنهاد پروژه، مدیریت و برنامه‌ریزی، کنترل سیستم فرایند شیمیایی و دینامیکی، طراحی اعضای مصنوعی، بهینه‌سازی زمان پیوند اعضا، کاهش هزینه بیمارستان، بهبود کیفیت بیمارستان، آزمایش اتاق اورژانس، اکتشاف روغن و گاز، کنترل مسیر در دستگاه‌های خودکار، ربات، جراثقال، سیستم‌های بصری، تشخیص صدا، اختصار سخن، کلاسه بندی صوتی، آنالیز بازار، سیستم‌های مشاوره‌ای محاسبه هزینه موجودی، اختصار اطلاعات و تصاویر، خدمات اطلاعاتی اتوماتیک، مترجم لحظه‌ای زبان، سیستم‌های پردازش وجه مشتری، سیستم‌های تشخیص ترمز کامیون، زمانبندی وسیله نقلیه، سیستم‌های مسیریابی، کلاسه بندی نمودارهای مشتری/بازار، تشخیص دارو، بازبینی امضا، تخمین ریسک وام، شناسایی طیفی، ارزیابی سرمایه، کلاسه بندی انواع سلول‌ها، میکروبها و نمونه ها، پیش‌بینی فروشهای آینده، پیش‌بینی نیازهای محصول، پیش‌بینی وضعیت بازار، پیش‌بینی شاخصهای اقتصادی، پیش‌بینی ملزومات انرژی، پیش‌بینی واکنش‌های دارویی، پیش‌بینی بازتاب محصولات شیمیایی، پیش‌بینی هوا، پیش‌بینی محصول، پیش‌بینی ریسک محیطی، پیش‌بینی جداول داوری، مدل کردن کنترل فرایند، آنالیز فعالیت گارانتی، بازرسی اسناد، تشخیص هدف، تشخیص چهره، انواع جدید سنسورها، دستگاه کاشف زیر دریایی بوسیله امواج صوتی، رادار، پردازش سیگنالهای تصویری شامل مقایسه اطلاعات، پیگیری هدف، هدایت جنگ افزارها، تعیین قیمت وضعیت فعلی، جلوگیری از پارازیت، شناسایی تصویر /سیگنال، چیدمان یک مدار کامل، بینایی ماشین، مدل کردن غیر خطی، ترکیب صدا، کنترل فرایند ساخت، آنالیز مالی، پیش‌بینی فرایندهای تولید، ارزیابی بکارگیری یک سیاست، بهینه‌سازی محصول، تشخیص ماشین و فرایند، مدل کردن کنترل سیستم‌ها، مدل کردن ساختارهای شیمیایی، مدل کردن سیستم‌های دینامیکی، مدل کردن سیگنال تراکم، مدل کردن قالب‌سازی پلاستیکی، مدیریت قراردادهای سهام، مدیریت وجوه بیمه، دیریت سهام، تصویب چک بانکی، اکتشاف تقلب در کارت اعتباری، ثبت نسیه، بازبینی امضا از چکها، پیش‌بینی ارزش نسیه، مدیریت ریسک رهن، تشخیص حروف و اعدا، تشخیص بیماری و…..

تاریخچه

الگوریتم SVM اولیه در ۱۹۶۳ توسط Vladimir Vapnik ابداع شدو در سال ۱۹۹۵ توسط Vapnik و Corinna Cortes برای حالت غیرخطی تعمیم داده شد.

خلاصه استفاده عملی از SVM

ماتریس الگو را آماده می کنیم. تابع کرنلی را برای استفاده انتخاب می کنیم. پارامتر تابع کرنل و مقدار C را انتخاب می کنیم. برای محاسبه ی مقادیرα_i الگوریتم آموزشی را با استفاده از حل‌کننده‌های QP اجرا می کنیم. داده‌های جدید با استفاده از مقادیرα_i و بردارهای پشتیبان می‌توانند دسته بندی شوند.

مزایا و معایب SVM

آموزش نسبتاً ساده است برخلاف شبکه‌های عصبی در ماکزیمم‌های محلی گیر نمی‌افتد. برای داده‌های با ابعاد بالا تقریباً خوب جواب می‌دهد. مصالحه بین پیچیدگی دسته بندی‌کننده و میزان خطا به‌طور واضح کنترل می‌شود. به یک تابع کرنل خوب و انتخاب پارامتر C نیاز دارد.

ماشین بردار پشتیبان خطی

شکل 1

ما مجموعه داده‌های آزمایش {\displaystyle {\mathcal {D}}} شامل n عضو(نقطه)را در اختیار داریم که به صورت زیر تعریف می‌شود:

{\displaystyle {\mathcal {D}}=\left\{(\mathbf {x} _{i},y_{i})\mid \mathbf {x} _{i}\in \mathbb {R} ^{p},\,y_{i}\in \{-1,1\}\right\}_{i=1}^{n}}

جایی که مقدار y برابر ۱ یا -۱ و هر {\displaystyle \mathbf {x} _{i}} یک بردار حقیقی p-بعدی است. هدف پیدا کردن ابرصفحه جداکننده با بیشترین فاصله از نقاط حاشیه‌ای است که نقاط با {\displaystyle y_{i}=1} را از نقاط با {\displaystyle y_{i}=-1} جدا کند. هر ابر صفحه می‌تواند به صورت مجموعه‌ای از نقاط {\mathbf {x}} که شرط زیر را ارضا می‌کند نوشت:

{\displaystyle \mathbf {w} \cdot \mathbf {x} -b=0,\,} جایی که . علامت ضرب است. {\displaystyle {\mathbf {w} }} بردار نرمال است، که به ابرصفحه عمود است. ما می خواهیم {\displaystyle {\mathbf {w} }} و {\displaystyle {\mathbf {b} }} را طوری انتخاب کنیم که بیشترین فاصله بین ابر صفحه‌های موازی که داده‌ها را از هم جدا می‌کنند، ایجاد شود. این ابرصفحه‌ها با استفاده از رابطه زیر توصیف می‌شوند.
{\displaystyle \mathbf {w} \cdot \mathbf {x} -b=1\,}

و

شکل 2
{\displaystyle \mathbf {w} \cdot \mathbf {x} -b=-1.\,}
اگر داده‌های آموزشی جدایی پذیر خطی باشند، ما می‌توانیم دو ابر صفحه در حاشیه نقاط به‌طوری‌که هیچ نقطه مشترکی نداشته باشند، در نظر بگیریم و سپس سعی کنیم، فاصله آن‌ها را، ماکسیمم کنیم. با استفاده از هندسه، فاصله این دو صفحه {\displaystyle {\tfrac {2}{\|\mathbf {w} \|}}} است. بنابراین ما باید {\displaystyle \|\mathbf {w} \|} را مینیمم کنیم. برای اینکه از ورود نقاط به حاشیه جلوگیری کنیم، شرایط زیر را اضافه می کنیم: برای هر i
of the first class {\displaystyle \mathbf {w} \cdot \mathbf {x} _{i}-b\geq 1\qquad {\text{ for }}\mathbf {x} _{i}}

یا

of the second class {\displaystyle \mathbf {w} \cdot \mathbf {x} _{i}-b\leq -1\qquad {\text{ for }}\mathbf {x} _{i}}

این می‌تواند به صورت زیر نوشته شود:

{\displaystyle y_{i}(\mathbf {w} \cdot \mathbf {x} _{i}-b)\geq 1,\quad {\text{ for all }}1\leq i\leq n.\qquad \qquad (1)}

با کنار هم قرار دادن این دو یک مسئله بهینه‌سازی به دست می‌آید:

Minimize (in {\displaystyle {\mathbf {w} ,b}})

{\displaystyle \|\mathbf {w} \|}

subject to (for any {\displaystyle i=1,\dots ,n})

{\displaystyle y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)\geq 1.\,}

فرم اولیه

مسئله بهینه‌سازی مشاهده شده در قسمت قبل، مسئله سختی، برای حل کردن است، زیرا به||w|| وابسته است (نرم w ) . خوشبختانه می‌توانیم، بدون تغییر در مسئله||w|| را با{\displaystyle {\tfrac {1}{2}}\|\mathbf {w} \|^{2}}جانشین کنیم( عبارت ½ برای آسودگی در محاسبات ریاضی آورده شده). این یک مسئله بهینه سازی (OP)برنامه‌ریزی غیرخطی(QP) است. به‌طور واضح تر :

Minimize (in {\displaystyle {\mathbf {w} ,b}}) c

{\displaystyle {\frac {1}{2}}\|\mathbf {w} \|^{2}}

subject to (for any {\displaystyle i=1,\dots ,n})

{\displaystyle y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)\geq 1.}

می توان عبارت قبل را با استفاده از ضرایب نا منفی لاگرانژ به صورت زیر نوشت که در آن ضرایب لاگرانژ هستند {\displaystyle \alpha _{i}}:

{\displaystyle \min _{\mathbf {w} ,b,{\boldsymbol {\alpha }}}\{{\frac {1}{2}}\|\mathbf {w} \|^{2}-\sum _{i=1}^{n}{\alpha _{i}[y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)-1]}\}}

اما فرمول فوق اشتباه است . فرض کنید ما بتوانیم خانواده‌ای از ابرصفحات که نقاط را تقسیم می‌کنند پیدا کنیم . پس همه {\displaystyle y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)-1\geq 0} . بنا بر این ما می‌توانیم مینیمم را با فرستادن همه {\displaystyle \alpha _{i}} به{\displaystyle +\infty } پیدا کنیم. با این حال شرط پیش گفته می‌تواند به صورت پایین بیان شود:

{\displaystyle \min _{\mathbf {w} ,b}\max _{\boldsymbol {\alpha }}\{{\frac {1}{2}}\|\mathbf {w} \|^{2}-\sum _{i=1}^{n}{\alpha _{i}[y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)-1]}\}}

ما به دنبال نقاط saddle میگردیم.حالا می‌توان این مسئله را به کمک برنامه‌ریزی غیرخطی استاندارد حل کرد. جواب می‌تواند به صورت ترکیب خطی از بردارهای آموزشی بیان شود :

{\displaystyle \mathbf {w} =\sum _{i=1}^{n}{\alpha _{i}y_{i}\mathbf {x_{i}} }}

تنها چند{\displaystyle \alpha _{i}} بزرگتر از صفر خواهد بود.{\displaystyle \mathbf {x_{i}} } متناظر، دقیقاً همان بردار پشتیبان خواهد بود و به شرط را ارضا خواهد کرد. از این می‌توان نتیجه گرفت که بردارهای پشتیبان شرط زیر را نیز ارضا می‌کنند: {\displaystyle y_{i}(\mathbf {w} \cdot \mathbf {x_{i}} -b)=1} که اجازه می دهد مفدار b تعریف شود. در عمل الگوریتم مقاوم تر خواهد بود اگر از تمام {\displaystyle N_{SV}} بردار پشتیبان میانگین گرفته شود:

{\displaystyle b={\frac {1}{N_{SV}}}\sum _{i=1}^{N_{SV}}{(\mathbf {w} \cdot \mathbf {x_{i}} -y_{i})}}

فرم دوگان

استفاده از این واقعیت که {\displaystyle \|\mathbf {w} \|^{2}=w\cdot w} و جانشینی {\displaystyle \mathbf {w} =\sum _{i=1}^{n}{\alpha _{i}y_{i}\mathbf {x_{i}} }} می‌توان نشان داد که دوگان SVM به مسئله بهینه‌سازی زیر ساده می‌شود:

Maximize (in {\displaystyle \alpha _{i}} )

{\displaystyle {\tilde {L}}(\mathbf {\alpha } )=\sum _{i=1}^{n}\alpha _{i}-{\frac {1}{2}}\sum _{i,j}\alpha _{i}\alpha _{j}y_{i}y_{j}\mathbf {x} _{i}^{T}\mathbf {x} _{j}=\sum _{i=1}^{n}\alpha _{i}-{\frac {1}{2}}\sum _{i,j}\alpha _{i}\alpha _{j}y_{i}y_{j}k(\mathbf {x} _{i},\mathbf {x} _{j})}

subject to (for any}{\displaystyle i=1,\dots ,n})

{\displaystyle \alpha _{i}\geq 0,\,}

and to the constraint from the minimization in {\displaystyle b}

{\displaystyle \sum _{i=1}^{n}\alpha _{i}y_{i}=0.}

در اینجا هسته به صورت {\displaystyle k(\mathbf {x} _{i},\mathbf {x} _{j})=\mathbf {x} _{i}\cdot \mathbf {x} _{j}} تعریف می‌شود. عبارت \alpha  تشکیل یک دوگان برای بردار وزن‌ها مجموعه آموزشی می دهد:

{\displaystyle \mathbf {w} =\sum _{i}\alpha _{i}y_{i}\mathbf {x} _{i}.}

ماشین بردار پشتیبان چند کلاسی

SVM اساساً یک جداکننده دودویی است. در بخش قبلی پایه‌های تئوری ماشین‌های بردار پشتیبان برای دسته بندی دو کلاس تشریح شد. یک تشخیص الگوی چند کلاسی می‌تواند به وسیله ی ترکیب ماشین‌های بردار پشیبان دو کلاسی حاصل شود. به‌طور معمول دو دید برای این هدف وجود دارد. یکی از آن‌ها استراتژی “یک در مقابل همه ” برای دسته بندی هر جفت کلاس و کلاس‌های باقی‌مانده‌است. دیگر استراتژی “یک در مقابل یک” برای دسته بندی هر جفت است. در شرایطی که دسته بندی اول به دسته بندی مبهم منجر می‌شود.برای مسائل چند کلاسی٬رهیافت کلی کاهش مسئله ی چند کلاسی به چندین مسئله دودویی است. هریک از مسائل با یک جداکننده دودویی حل می‌شود. سپس خروجی جداکننده‌های دودویی SVM با هم ترکیب شده و به این ترتیب مسئله چند کلاس حل می‌شود.

ماشین‌های بردار پشتیبان غیرخطی

شکل 3

ابرصفحه جداکننده بهینه اولین بار توسط Vapnik در سال ۱۹۶۳ ارائه شد که یک دسته‌کننده خطی بود. در سال ۱۹۹۲ ،Bernhard Boser ، Isabelle GuyonوVapnik راهی را برای ایجاد دسته بند غیرخطی، با استفاده قرار دادن هسته برای پیدا کردن ابرصفحه با بیشتر حاشیه، پیشنهاد دادند. الگوریتم نتیجه شده ظاهراً مشابه است، به جز آنکه تمام ضرب‌های نقطه‌ای با یک تابع هسته غیرخطی جایگزین شداند. این اجازه می‌دهد، الگوریتم، برای ابرصفحه با بیشترین حاشیه در یک فضای ویژگی تغییرشکل داده، مناسب باشد. ممکن است، تغییرشکل غیرخطی باشد و فضای تغییر یافته، دارای ابعاد بالاتری باشد. به هر حال دسته‌کننده، یک ابرصفحه در فضای ویژگی با ابعاد بالا است، که ممکن است در فضای ورودی نیز غیرخطی باشد.

اگر از هسته با تابع گوسیین استفاده شود، فضای ویژگی متناظر، یک فضای هیلبرت نامتناهی است. دسته‌کننده ی بیشترین حاشیه، خوش ترتیب است، بنابراین ابعاد نامتناهی، نتیجه را خراب نمی‌کند. هسته‌های متداول به صورت زیر هستند:

  • چندجمله‌ای (همگن): {\displaystyle k(\mathbf {x_{i}} ,\mathbf {x_{j}} )=(\mathbf {x_{i}} \cdot \mathbf {x_{j}} )^{d}}
  • چندجمله‌ای (ناهمگن): {\displaystyle k(\mathbf {x_{i}} ,\mathbf {x_{j}} )=(\mathbf {x_{i}} \cdot \mathbf {x_{j}} +1)^{d}}
  • گوسیین Radial Basis Function:  {\displaystyle k(\mathbf {x_{i}} ,\mathbf {x_{j}} )=\exp(-\gamma \|\mathbf {x_{i}} -\mathbf {x_{j}} \|^{2})}، for {\displaystyle \gamma >0.} Sometimes parametrized using {\displaystyle \gamma =1/{2\sigma ^{2}}}
  • تانژانت هذلولی: {\displaystyle k(\mathbf {x_{i}} ,\mathbf {x_{j}} )=\tanh(\kappa \mathbf {x_{i}} \cdot \mathbf {x_{j}} +c)}، for some (not every) {\displaystyle \kappa >0} and {\displaystyle c<0}

هسته با انتقال {\displaystyle \varphi (\mathbf {x_{i}} )} با تساوی {\displaystyle k(\mathbf {x_{i}} ,\mathbf {x_{j}} )=\varphi (\mathbf {x_{i}} )\cdot \varphi (\mathbf {x_{j}} )} در ارتباط است. همچنین مقدار wدر فضای انتقال یافته برابر{\displaystyle \textstyle \mathbf {w} =\sum _{i}\alpha _{i}y_{i}\varphi (\mathbf {x} _{i}).} است. ضرب نقطه‌ای با w می‌تواند توسط هسته محاسبه شود یعنی {\displaystyle \textstyle \mathbf {w} \cdot \varphi (\mathbf {x} )=\sum _{i}\alpha _{i}y_{i}k(\mathbf {x} _{i},\mathbf {x} )}. به هر حال در حالت عادی w’ وجود ندارد، به‌طوری‌که {\displaystyle \mathbf {w} \cdot \varphi (\mathbf {x} )=k(\mathbf {w'} ,\mathbf {x} ).}

 

منبع

 

 

ماشین بردار پشتیبان (svm) قسمت 1
ماشین بردار پشتیبان (svm) قسمت 2
ماشین بردار پشتیبان (svm) قسمت 3

الگوریتم کلونی مورچه‌ها

الگوریتم کلونی مورچه ها یا ACO همان‌طور که می‌دانیم مسئله یافتن کوتاهترین مسیر، یک مسئله بهینه سازیست که گاه حل آن بسیار دشوار است و گاه نیز بسیار زمانبر. برای مثال مسئله فروشنده دوره گرد را نیز می‌توان مطرح کرد. در این روش(ACo)، مورچه‌های مصنوعی به‌وسیلهٔ حرکت بر روی نمودار مسئله و با باقی گذاشتن نشانه‌هایی بر روی نمودار، همچون مورچه‌های واقعی که در مسیر حرکت خود نشانه‌های باقی می‌گذارند، باعث می‌شوند که مورچه‌های مصنوعی بعدی بتوانند راه‌حل‌های بهتری را برای مسئله فراهم نمایند. همچنین در این روش می‌توان توسط مسائل محاسباتی-عددی بر مبنای علم احتمالات بهترین مسیر را در یک نمودار یافت.

الگوریتم کلونی مورچه ها

روش که از رفتار مورچه‌ها در یافتن مسیر بین محل لانه و غذا الهام گرفته شده؛ اولین بار در ۱۹۹۲ توسط مارکو دوریگو (Marco Dorigo) در پایان نامهٔ دکترایش مطرح شد.

 مقدمه

الگوریتم کلونی مورچه ها

الگوریتم کلونی مورچه الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچه هاست. این مطالعات نشان داده که مورچه‌ها حشراتی اجتماعی هستند که در کلونی‌ها زندگی می‌کنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا درجهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچه‌ها، رفتار آنها برای یافتن غذا است و بویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه. این نوع رفتار مورچه‌ها دارای نوعی هوشمندی توده‌ای است که اخیراً مورد توجه دانشمندان قرار گرفته است در دنیای واقعی مورچه‌ها ابتدا به طور تصادفی به این سو و آن سو می‌روند تا غذا بیابند. سپس به لانه بر می‌گردند و ردّی از فرومون (Pheromone) به جا می‌گذارند. چنین ردهایی پس از باران به رنگ سفید در می‌آیند و قابل رویت اند. مورچه‌های دیگر وقتی این مسیر را می‌یابند، گاه پرسه زدن را رها کرده و آن را دنبال می‌کنند. سپس اگر به غذا برسند به خانه بر می‌گردند و رد دیگری از خود در کنار رد قبل می‌گذارند؛ و به عبارتی مسیر قبل را تقویت می‌کنند. فرومون به مرور تبخیر می‌شود که از سه جهت مفید است:

مسیر حرکت مورچه ها برای یافتن غذا

  • باعث می‌شود مسیر جذابیت کمتری برای مورچه‌های بعدی داشته باشد. از آنجا که یک مورچه در زمان دراز راه‌های کوتاه‌تر را بیش تر می‌پیماید و تقویت می‌کند هر راهی بین خانه و غذا که کوتاه‌تر (بهتر) باشد بیشتر تقویت می‌شود و آنکه دورتر است کمتر.
  • اگر فرومون اصلاً تبخیر نمی‌شد، مسیرهایی که چند بار طی می‌شدند، چنان بیش از حد جذّاب می‌شدند که جستجوی تصادفی برای غذا را بسیار محدود می‌کردند.
  • وقتی غذای انتهای یک مسیر جذاب تمام می‌شد رد باقی می‌ماند.
یافتن کوتاه ترین مسیر بین غذا و لانه

لذا وقتی یک مورچه مسیر کوتاهی (خوبی) را از خانه تا غذا بیابد بقیهٔ مورچه‌ها به احتمال زیادی همان مسیر را دنبال می‌کنند و با تقویت مداوم آن مسیر و تبخیر ردهای دیگر، به مرور همهٔ مورچه‌ها هم مسیر می‌شوند. هدف الگوریتم مورچه‌ها تقلید این رفتار توسط مورچه‌هایی مصنوعی ست که روی نمودار در حال حرکت اند. مسئله یافتن کوتاه‌ترین مسیر است و حلالش این مورچه‌های مصنوعی اند.

از کابردهای این الگوریتم، رسیدن به راه حل تقریباً بهینه در مسئله فروشنده دوره‌گرد است. به طوری که انواع الگوریتم کلونی مورچه‌ها برای حل این مسئله تهیه شده. زیرا این روش عددی نسبت به روشهای تحلیلی و genetic در مواردی که نمودار مدام با زمان تغییر کند یک مزیت دارد؛ و آن این که الگوریتمی ست با قابلیت تکرار؛ و لذا با گذر زمان می‌تواند جواب را به طور زنده تغییر دهد؛ که این خاصیت در روتینگ شبکه‌های کامپیوتری و سامانه حمل و نقل شهری مهم است.
در مسئله فروشنده دوره گرد باید از یک شهر شروع کرده، به شهرهای دیگر برود و سپس به شهر مبدأ بازگردد بطوریکه از هر شهر فقط یکبار عبور کند و کوتاهترین مسیر را نیز طی کرده باشد. اگر تعداد این شهرها n باشد در حالت کلی این مسئله از مرتبه (n-1)! است که برای فقط ۲۱ شهر زمان واقعاً زیادی می‌برد:

روز۱۰۱۳*۷/۱ = S۱۰۱۶*۴۳۳/۲ = ms۱۰*۱۰۱۸*۴۳۳/۲ =!۲۰

با انجام یک الگوریتم برنامه سازی پویا برای این مسئله، زمان از مرتبه نمایی بدست می‌آید که آن هم مناسب نیست. البته الگوریتم‌های دیگری نیز ارائه شده ولی هیچ‌کدام کارایی مناسبی ندارند. ACO الگوریتم کامل و مناسبی برای حل مسئله TSP است.

الگوریتم کلونی مورچه ها بهترین روش برای حل مسئله ی فروشنده ی دوره گرد

مسئله فروشنده دوره گرد

مزیتهای الگوریتم کلونی مورچه ها

<تبخیر شدن فرومون> و <احتمال-تصادف>به مورچه‌ها امکان پیدا کردن کوتاهترین مسیر را می‌دهد. این دو ویژگی باعث ایجاد انعطاف در حل هرگونه مسئله بهینه‌سازی می‌شوند. مثلاً در گراف شهرهای مسئله فروشنده دوره گرد، اگر یکی از یالها (یا گره‌ها) حذف شود الگوریتم این توانایی را دارد تا به سرعت مسیر بهینه را با توجه به شرایط جدید پیدا کند. به این ترتیب که اگر یال (یا گره‌ای) حذف شود دیگر لازم نیست که الگوریتم از ابتدا مسئله را حل کند بلکه از جایی که مسئله حل شده تا محل حذف یال (یا گره) هنوز بهترین مسیر را داریم، از این به بعد مورچه‌ها می‌توانند پس از مدت کوتاهی مسیر بهینه (کوتاهترین) را بیابند.

کاربردهای الگوریتم کلونی مورچه ها

از کاربردهای الگوریتم کلونی مورچه ها می‌توان به بهینه کردن هر مسئله‌ای که نیاز به یافتن کوتاهترین مسیر دارد، اشاره نمود:

۱. مسیر یابی داخل شهری و بین شهری.

۲. مسیر یابی بین پست‌های شبکه‌های توزیع برق ولتاژ بالا.

۳. مسیر یابی شبکه‌های کامپیوتری. ۴-استفاده ازوب. ۵-استفاده ازACOدربهینه سازی شبکه‌های توزیع آب و…

الگوریتم

پروسهٔ پیدا کردن کوتاه‌ترین مسیر توسط مورچه‌ها، ویژگی‌های بسیار جالبی دارد، اول از همه قابلیت تعمیم زیاد و خود- سازمانده بودن آن است. در ضمن هیچ مکانیزم کنترل مرکزی ای وجود ندارد. ویژگی دوم قدرت زیاد آن است. سیستم شامل تعداد زیادی از عواملی است که به تنهایی بی‌اهمیت هستند بنابراین حتی تلفات یک عامل مهم، تأثیر زیادی روی کارایی سیستم ندارد. سومین ویژگی این است که، پروسه یک فرایند تطبیقی است. از آنجا که رفتار هیچ‌کدام از مورچه‌ها معین نیست و تعدادی از مورچه‌ها همچنان مسیر طولانی‌تر را انتخاب می‌کنند، سیستم می‌تواند خود را با تغییرات محیط منطبق کند و ویژگی آخر اینکه این پروسه قابل توسعه است و می‌تواند به اندازهٔ دلخواه بزرگ شود. همین ویژگی‌ها الهام بخش طراحی الگوریتم‌هایی شده‌اند که در مسائلی که نیازمند این ویژگی‌ها هستند کاربرد دارند. اولین الگوریتمی که بر این اساس معرفی شد، الگوریتم ABC بود. چند نمونه دیگر از این الگوریتم‌ها عبارتند از: AntNet,ARA,PERA,AntHocNet.

انواع مختلف الگوریتم بهینه‌سازی مورچگان

در پایین تعدادی از انواع شناخته شده از الگوریتم بهینه‌سازی مورچگان را معرفی می‌کنیم:

۱- سیستم مورچه نخبگان: در این روش بهترین راه حل کلی در هر تکرار فرمون آزاد می‌کند. همچنین این روش برای تمام مورچه‌های مصنوعی باید انجام شود.

۲- سیستم مورچه ماکسیموم – مینیمم: یک مقدار کمینه و بیشینه برای فرمون تعیین کرده و فقط در هر مرحله بهترین جواب این مقدار را آزاد می‌کند و تمام گره‌های مجاور ان به مقدار فرمون بیشینهمقدار دهی اولیه می‌شوند.

۳- سیستم کلونی مورچه: که در بالا توضیحات کافی داده شده است.

۴- سیستم مورچه بر اساس رتبه: تمام راه حل‌های بدست آماده بر اساس طول جواب رتبه‌بندی می‌شوند و بر اساس همین رتبه‌بندی مقدار فرمون آزاد سازی شده توسط آنها مشخص خواهد شد و راه حل با طول کمتر از راه حل دیگر با طول بیشتر مقدار فرمون بیشتری آزاد می‌کند.

۵ – سیستم مورچه متعامد مداوم: در این روش مکانیزم تولید فرمون به مورچه اجازه می‌دهد تا برای رسیدن به جواب بهتر و مشترک با بقیه مورچه‌ها جستجو انجام دهد با استفاده از روش طراحی متعامد مورچه می‌تواند در دامنه تعریف شده خود به صورت مداوم برای بدست آوردن بهترین جواب جستجو کند که این عمل به هدف رسیدن به جواب بهینه و صحیح ما را نزدیک می‌کند. روش طراحی متعامد می‌تواند به دیگر روش‌های جستجو دیگر گسترش پیدا کنند تا به مزیت‌های این روش‌های جستجو اضافه کند.

منبع


انسان هميشه براي الهام گرفتن به جهان زنده پيرامون خود نگريسته است. يکي از بهترين طرح هاي شناخته شده، طرح پرواز انسان است که ابتدا لئورناردو داوينچي(1519-1452) طرحي از يک ماشين پرنده را بر اساس ساختمان بدن خفاش رسم نمود. چهار صد سال بعد کلمان آدر ماشين پرنده اي ساخت که داراي موتور بود و بجاي بال از ملخ استفاده مي کرد.

هم اکنون کار روي توسعه سيستم هاي هوشمند با الهام از طبيعت از زمينه هاي خيلي پرطرفدار هوش مصنوعي است. الگوريتمهاي ژنتيک که با استفاده از ايده تکاملي دارويني و انتخاب طبيعي مطرح شده، روش بسيار خوبي براي يافتن مسائل بهينه سازيست. ايده تکاملي دارويني بيانگر اين مطلب است که هر نسل نسبت به نسل قبل داراي تکامل است و آنچه در طبيعت رخ مي دهد حاصل ميليون ها سال تکامل نسل به نسل موجوداتي مثل مورچه است.

الگوريتم کلونی مورچه براي اولين بار توسط دوريگو (Dorigo) و همکارانش به عنوان يک راه حل چند عامله (Multi Agent) براي مسائل مشکل بهينه سازي مثل فروشنده دوره گرد     (TSP :Traveling Sales Person) ارائه شد.

عامل هوشند(Intelligent Agent) موجودي است که از طريق حسگر ها قادر به درک پيرامون خود بوده و از طريق تاثير گذارنده ها مي تواند روي محيط تاثير بگذارد.

الگوريتم کلونی مورچه الهام گرفته شده از مطالعات و مشاهدات روي کلونی مورچه هاست. اين مطالعات نشان داده که مورچه ها حشراتي اجتماعي هستند که در کلونی ها زندگي مي کنند و رفتار آنها بيشتر در جهت بقاء کلونی است تا درجهت بقاء يک جزء از آن. يکي از مهمترين و جالبترين رفتار مورچه ها، رفتار آنها براي يافتن غذا است و بويژه چگونگي پيدا کردن کوتاهترين مسير ميان منابع غذايي و آشيانه. اين نوع رفتار مورچه ها داراي نوعي هوشمندي توده اي  است که اخيرا مورد توجه دانشمندان قرار گرفته است.بايد تفاوت هوشمندي توده اي(کلونی) و هوشمندي اجتماعي را روشن کنيم.

در هوشمندي اجتماعي عناصر ميزاني از هوشمندي را دارا هستند. بعنوان مثال در فرآيند ساخت ساختمان توسط انسان، زماني که به يک کارگر گفته ميشود تا يک توده آجر را جابجا کند، آنقدر هوشمند هست تا بداند براي اينکار بايد از فرغون استفاده کند نه مثلا بيل!!! نکته ديگر تفاوت سطح هوشمندي افراد اين جامعه است. مثلا هوشمندي لازم براي فرد معمار با يک کارگر ساده متفاوت است.

در هوشمندي توده اي عناصر رفتاري تصادفي دارند و بين آن ها هيچ نوع ارتباط مستقيمي وجود ندارد و آنها تنها بصورت غير مستقيم و با استفاده از نشانه ها با يکديگر در تماس هستند. مثالي در اين مورد رفتار موريانه ها در لانه سازيست.

جهت علاقه مند شدن شما به اين رفتار موريانه ها وتفاوت هوشمندي توده اي و اجتماعي توضيحاتي را ارائه مي دهم :

فرآيند ساخت لانه توسط موريانه ها مورد توجه دانشمندي فرانسوي به نام گرس قرار گرفت. موريانه ها براي ساخت لانه سه فعاليت مشخص از خود بروز مي دهند. در ابتدا صدها موريانه به صورت تصادفي به اين طرف و آن طرف حرکت مي کنند. هر موريانه به محض رسيدن به فضايي که کمي  بالاتر از سطح زمين قرار  دارد شروع به ترشح بزاق مي کنند و خاک را به بزاق خود آغشته مي کنند. به اين ترتيب گلوله هاي کوچک خاکي با بزاق خود درست مي کنند. عليرغم خصلت کاملا تصادفي اين رفتار، نتيجه تا حدي منظم است.

در پايان اين مرحله در منطقه اي محدود تپه هاي بسيار کوچک مينياتوري از اين گلوله هاي خاکي آغشته به بزاق شکل مي گيرد. پس از اين، همه تپه هاي مينياتوري باعث مي شوند تا موريانه ها رفتار ديگري از خود بروز دهند. در واقع اين تپه ها به صورت نوعي نشانه  براي موريانه ها عمل مي کنند. هر موريانه به محض رسيدن به اين تپه ها با انرژي بسيار بالايي شروع به توليد گلوله هاي خاکي با بزاق خود مي کند. اين کار باعث تبديل شدن تپه هاي مينياتوري به نوعي ستون مي شود. اين رفتار ادامه مي يابد تا زماني که ارتفاع هر ستون به حد معيني برسد. در اين صورت  موريانه ها رفتار سومي از خود نشان مي دهند. اگر در نزديکي ستون فعلي ستون ديگيري نباشد بلافاصله آن ستون را رها مي کنند در غير اين صورت يعني در حالتي که در نزديکي اين ستون تعداد قابل ملاحظه اي ستون ديگر باشد، موريانه ها شروع به وصل کردن ستونها و ساختن لانه مي کنند.

تفاوتهاي هوشمندي اجتماعي انسان با هوشمندي توده اي موريانه را در همين رفتار ساخت لانه مي توان مشاهده کرد. کارگران ساختماني کاملا بر اساس يک طرح از پيش تعيين شده عمل مي کنند، در حالي که رفتار اوليه موريانه ها کاملا تصادفي است. علاوه بر اين ارتياط مابين کارگران سختماني مستقيم و از طريق کلمات و … است ولي بين موريانه ها هيچ نوع ارتباط مستقيمي وجود ندارد و آنها تنها بصورت غير مستقيم و از طريق نشانه ها با يکديگر در تماس اند. گرس نام اين رفتار را Stigmergie گذاشت، به معني رفتاري که هماهنگي مابين موجودات را تنها از طريق تغييرات ايجاد شده در محيط ممکن مي سازد.

 بهينه سازي مسائل به روش کلونی مورچه ها (ACO) :

همانطور که مي دانيم مسئله يافتن کوتاهترين مسير، يک مسئله بهينه سازيست که گاه حل آن بسيار دشوار است و گاه نيز بسيار زمانبر. بعنوان مثال مسئله فروشنده دوره گرد(TSP). در اين مسئله فروشنده دوره گرد بايد از يک شهر شروع کرده، به شهرهاي ديگر برود و سپس به شهر مبدا بازگردد بطوريکه از هر شهر فقط يکبار عبور کند و کوتاهترين مسير را نيز طي کرده باشد. اگر تعداد اين شهرها n باشد در حالت کلي اين مسئله از مرتبه (n-1)! است که براي فقط 21 شهر زمان واقعا زيادي مي برد:

روز1013*7/1 =  S1016*433/2 = ms10*1018*433/2 = !20

با انجام يک الگوريتم برنامه سازي پويا براي اين مسئله ، زمان از مرتبه نمايي بدست مي آيد که آن هم مناسب نيست. البته الگوريتم هاي ديگري نيز ارائه شده ولي هيچ کدام کارايي مناسبي ندارند. ACO الگوريتم کامل و مناسبي براي حل مسئله TSP است.

مورچه ها چگونه مي توانند کوتاهترين مسير را پيدا کنند؟

مورچه ها هنگام راه رفتن از خود ردي از ماده شيميايي فرومون(Pheromone) بجاي مي گذارند البته اين ماده بزودي تبخير مي شد ولي در کوتاه مدت بعنوان رد مورچه بر سطح زمين باقي مي ماند. يک رفتار پايه اي ساده در مورچه هاي وجود دارد :

آنها هنگام انتخاب بين دو مسير بصورت احتمالاتي( Statistical)  مسيري را انتخاب مي کنند که فرومون بيشتري داشته باشد يا بعبارت ديگر مورچه هاي بيشتري قبلا از آن عبور کرده باشند. حال دقت کنيد که همين يک تمهيد ساده چگونه منجر به پيدا کردن کوتاهترين مسير خواهد شد :

همانطور که در شکل 1-1 مي بينيم مورچه هاي روي مسير AB در حرکت اند (در دو جهت مخالف) اگر در مسير مورچه ها مانعي قرار ديهم(شکل 2-1) مورچه ها دو راه براي انتخاب کردن دارند. اولين مورچه ازA  مي آيد و بهC  مي رسد، در مسير هيچ فروموني نمي بيند بنابر اين براي مسير چپ و راست احتمال يکسان مي دهد و بطور تصادفي و احتمالاتي مسير CED را انتخاب مي کند. اولين مورچه اي که مورچه اول را دنبال مي کند زودتر از مورچه اولي که از مسير CFD رفته به مقصد مي رسد. مورچه ها در حال برگشت و به مرور زمان يک اثر بيشتر فرومون را روي CED حس مي کنند و آنرا بطور احتمالي و تصادفي ( نه حتما و قطعا)  انتخاب مي کنند. در نهايت مسير CED بعنوان مسير کوتاهتر برگزيده مي شود. در حقيقت چون طول مسير CED کوتاهتر است زمان رفت و برگشت از آن هم کمتر مي شود و در نتيجه مورچه هاي بيشتري نسبت به مسير ديگر آنرا طي خواهند کرد چون فرومون بيشتري در آن وجود دارد.

نکه بسيار با اهميت اين است که هر چند احتمال انتخاب مسير پر فرومون ت توسط مورچه ها بيشتر است ولي اين کماکان احتمال است و قطعيت نيست. يعني اگر مسير CED پرفرومون تر از CFD باشد به هيچ عنوان نمي شود نتيجه گرفت که همه مورچه ها از مسيرCED  عبور خواهند کرد بلکه تنها مي توان گفت که مثلا 90% مورچه ها از مسير کوتاهتر عبور خواهند کرد. اگر فرض کنيم که بجاي اين احتمال قطعيت وجود مي داشت، يعني هر مورچه فقط و فقط مسير پرفرومون تر را انتخاب ميکرد آنگاه اساسا اين روش ممکن نبود به جواب برسد. اگر تصادفا اولين مورچه مسيرCFD(مسير دورتر) را انتخاب مي کرد و ردي از فرومون بر جاي مي گذاشت آنگاه همه مورچه ها بدنبال او حرکت مي کردند و هيچ وقت کوتاهترين مسير يافته نمي شد. بنابراين تصادف و احتمال نقش عمده اي در ACO بر عهده دارند.

نکته ديگر مسئله تبخير شدن فرومون بر جاي گذاشته شده است. برفرض اگر مانع در مسير  AB برداشته شود و فرومون تبخير نشود مورچه ها همان مسير قبلي را طي خواهند کرد. ولي در حقيقت اين طور نيست. تبخير شدن فرومون و احتمال به مورچه ها امکان پيدا کردن مسير کوتاهتر جديد را مي دهند.

1-1
پیدا کردن کوتاه ترین مسیر 1

2-1

پیدا کردن کوتاه ترین مسیر 2

3-1

پیدا کردن کوتاه ترین مسیر 3

4-1

پیدا کردن کوتاه ترین مسیر 4

مزيت هاي ACO :

همانطور که گقته شد «تبخير شدن فرومون» و «احتمال-تصادف» به مورچه ها امکان پيدا کردن کوتاهترين مسير را مي دهند. اين دو ويژگي باعث ايجاد انعطاف در حل هرگونه مسئله بهينه سازي مي شوند. مثلا در گراف شهرهاي مسئله فروشنده دوره گرد، اگر يکي از يالها (يا گره ها) حذف شود الگوريتم اين توانايي را دارد تا به سرعت مسير بهينه را با توجه به شرايط جديد پيدا کند. به اين ترتيب که اگر يال (يا گره اي) حذف شود ديگر لازم نيست که الگوريتم از ابتدا مسئله را حل کند بلکه از جايي که مسئله حل  شده تا محل حذف يال (يا گره) هنوز بهترين مسير را داريم، از اين به بعد مورچه ها مي توانند پس از مدت کوتاهي مسير بهينه(کوتاهترين) را بيابند.

کاربردهاي ACO :

از کاربردهاي  ACO مي توان به بهينه کردن هر مسئله اي که نياز به يافتن کوتاهترين مسير دارد ، اشاره نمود :

1. مسير يابي داخل شهري و بين شهري
2. مسير يابي بين پست هاي شبکه هاي توزيع برق ولتاژ بالا

3. مسير يابي شبکه هاي کامپيوتري

مسير يابي شبکه هاي کامپيوتري با استفاده از ACO :

اطلاعات بر روي شبکه بصورت بسته هاي اطلاعاتي کوچکي (Packet) منتقل مي شوند. هر يک از اين بسته ها بر روي شبکه در طي مسير از مبدا تا مقصد بايد از گره هاي زيادي که مسيرياب (Router) نام دارند عبور مي کنند. در داخل هر مسيرياب جدولي قرار دارد تا بهترين و کوتاهترين مسير بعدي تا مقصد از طريق آن مشخص مي شود، بنابر اين بسته هاي اطلاعاتي حين گذر از مسيرياب ها با توجه به محتويات اين جداول عبور داده مي شوند.

روشي بنام ACR : Ant Colony Routering پيشنهاد شده که بر اساس ايده کلونی مورچه به بهينه سازي جداول مي پردازيد و در واقع به هر مسيري با توجه به بهينگي آن امتياز مي دهد. استفاده از ACR به اين منظور داراي برتري نسبت به ساير روش هاست که با طبيعت ديناميک شبکه سازگاري دارد، زيرا به عنوان مثال ممکن است مسيري پر ترافيک شود يا حتي مسير يابي (Router) از کار افتاده باشد و بدليل انعطاف پذيري که ACO در برابر اين تغييرات دارد همواره بهترين راه حل بعدي را در دسترس قرار مي دهد.

الگوریتم کلونی مورچه ها قسمت 1
الگوریتم کلونی مورچه ها قسمت 2
الگوریتم کلونی مورچه ها قسمت 3

 تشخیص هویت زیست‌سنجی و بیومتریک

زیست سنجی ، یا بیومتریک (به انگلیسی: Biometrics)، به نوع خاصی از روش‌های امنیتی گفته می‌شود که در آن برای کنترل دسترسی و برقراری امنیت از خواص قابل اندازه‌گیری بدن انسان یا هر موجود زندهٔ دیگر استفاده می‌شود. همانگونه که از کلمهٔ بیومتریک بر می‌آید در این روش با استفاده از الگوریتم‌های ریاضی از اندام‌ها برداشت‌های ثابت و یکتایی می‌شود که می‌توان از آن به عنوان یک کلمهٔ عبور یکسان و غیرقابل تقلید و گاه غیرقابل تغییر استفاده کرد. به هر خصوصیت زیستی یا فیزیکی که با رایانه قابل اندازه‌گیری و بازشناسی خودکار باشد زیست‌سنجه گفته می‌شود.

اگرچه ممکن است این اسم به نظر غریب و جدید بیاید اما واقعیت این است که بشر مدت زیادی‌است که از آن بهره می‌برد و مثال زندهٔ آن استفاده از عکس‌هایی‌است که در کارت‌های مختلف از آن بهره می‌بریم. در واقع در تمامی آن کارت‌ها شخص کنترل‌کننده با دیدن عکس و مقایسه آن با چهره واقعی شما از اصول اولیه زیست سنجی (بیومتری) پیروی می‌کند یکی دیگر از اینگونه مثال‌ها استفاده از اثر انگشت است که قدمتی بس طولانی در بین اذهان عمومی بشر دارد.

 

Biometricsec.jpg

 

شرایط اصلی برای تبدیل یک خاصیت قابل اندازه‌گیری بدن به یک خاصیت مناسب جهت استفاده به عنوان یک متود شناسایی :برای اینکه یک عضو بدن بتواند به عنوان یک وسیله اندازگیری مطرح شود باید شرایط خاصی داشته باشد به عنوان مثال باید ثابت باشد مثلاً شما نمی‌توانید رنگ مو یا وزن را به عنوان یک خاصیت بیومتریک در نطر بگیرید زیرا دائماً در حال تغییر و تبدیل هستند، در ضمن خواص انتخاب شده می‌بایست نشان‌دهنده یک انسان خاص باشند و می‌بایست به سهولت قابل دسترسی باشند یعنی برای بررسی آن نیاز به زحمت زیادی نباشد.

بطور کلی ویژگی‌های بیومتریک به دو دسته تقسیم می‌شوند: ۱- خصوصیات وابسته به فیزیک انسان، این دسته از ویژگی‌ها به مجموعه‌ای از خصوصیات همراه انسان اعم از اثرانگشت، عنبیه چشم، چهره، DNA و غیره اشاره دارد، این ویژگی‌ها عمدتاً از بدو تولد انسان و گهگاه قبل از تولد انسان شروع به شکل گیری نموده و تا آخر عمر در بدن انسان ثابت و غیرقابل تغییر (گهگاه تغییرات اندک) می‌مانند.

۲- خصوصیات رفتاری انسان‌ها، این ویژگی‌ها در حقیقت خصوصیات ناشی از رفتارهای انسان هاست نظیر راه رفتن انسان، نحوه فشردن دکمه‌ها (مثلاً موبایل) و غیره که می‌تواند بیانگر مشخصات یک انسان خاص باشد نظیر راه رفتن یک انسان که گاهی با نگاه کردن آن از پشت سر می‌توان تشخیص داد که وی کدام یک از دوستانتان است.

 

انواع روش‌های تعیین هویت زیست سنجی موجود

تعیین هویت از طریق اثر انگشت تعیین هویت از طریق بررسی دقیق کف دست تعیین هویت از طریق رگ‌های کف دست تعیین هویت از طریق کنترل شبکیه چشم تعیین هویت از طریق کنترل رگ‌های چشم تعیین هویت از طریق صورت تعیین هویت از طریق امضا تعیین هویت از طریق شناسایی صدا تعیین هویت از طریق عنبیه چشم تعیین هویت از طریق راه رفتن تعیین هویت از طریق چهره

ارزیابی ویژگی‌های بیومتریک انسان

معمولاً ویژگی‌های انسان‌ها با ۹ پارامتر مورد ارزیابی قرار می‌گیرد که عبارتند از:

۱- عمومیت، هر شخص دارای آن ویژگی باشد.

۲- یکتایی، چه تعداد نمونه متفاوت را می‌توان تفکیک کرد.

۳- دوام، معیاری برای آنکه سنجش شود یک ویژگی چه مدت عمر می‌کند.

۴- قابلیت ارزیابی، سهولت استفاده برای ارزیابی نمونه‌های متفاوت.

۵- کارایی، دقت، سرعت و پایداری روش مورد استفاده.

۶- مقبولیت، میزان پذیرش تکنولوژی.

۷- جایگزین، سهولت در استفاده از جایگزین

۸- تصدیق هویت، در تصدیق هویت مشخصه یک فرد به پایگاه اطلاعات ارسال می‌شود و هدف بررسی آن به منظور تصدیق هویت آن فرد می‌باشد که پاسخ سیستم الزاماً مثبت یا منفی است.

۹- تشخیص هویت، در سیستم‌های تشخیص هویت مشخصه بیومتریک فرد به سیستم ارائه می‌شود و سیستم با جستجوی پایگاه اطلاعات مشخصات فرد را در صورت موجود بودن استخراج می‌کند.

مزایای استفاده از روش‌های امنیتی زیست سنجی

با این روش شما می‌توانید تقریباً مطمئن باشید که همان کسی که باید به منابع دسترسی دارد برای مثال اثر انگشت همواره یکتا و یکسان است، مشکلاتی مانند فراموش کردن رمز عبور یا گم کردن آن در این روش وجود ندارد. سرعت بسیار بالایی دارد و برای کاربران عادی نیاز به آموزش ندارد، امکان سرقت آلات بیومتری (زیست سنجشی) نیز بسیار کم است! یا در پاره ایی از مواقع صفر است.

منبع


بیومتریک

معرفی علم بیومتریک

این مقاله به معرفی سیستم‌های تشخیص هویت که مهمترین و دقیق‌ترین آنها بیومتریک است خواهد پرداخت. پس از تعریف بیومتریک به تعریف معماری سیستم‌های بیومتریک می‌پردازیم و درمی‌یابیم که هر سیستم بیومتریک با چه معماری‌ای کار می‌کند. در این مقاله همچنین در مورد چند تکنولوژی بیومتریک هم توضیح داده می‌شود مانند اثر انگشت، عنبیه چشم، نحوه راه رفتن، چهره و … اما به دلیل اینکه سیستم اثر انگشت از اهمیت بیشتری نسبت به دیگر سیستم‌ها برخوردار است بیشتر به تجزیه و تحلیل این سیستم خواهیم پرداخت و ابتدا به معرفی خطوط و نقاط مشخصه انگشت که در اصطلاح به آنها ریزه‌کاری گفته می‌شود می‌پردازیم و سپس روش‌های پردازش این نقاط برای رسیدن به الگویی برای شناسایی هویت را بیان خواهیم نمود.

پس از آن سنسورهای مختلف که همگی همراه با شکل برای فهم بیشتر مطرح شده‌اند مورد بحث قرار خواهند گرفت و سپس این سنسورها با هم مقایسه می‌شوند و مزیت هر یک بیان می‌شود. سپس به معرفی سایر سیستم‌ها خواهیم پرداخت و در انتها به معرفی مفهوم ترکیبات بیومتریک و روش‌های متنوع آن خواهیم پرداخت. استفاده از روش ترکیب بیومتریک کارایی، امنیت، دقت سیستم را افزایش می‌دهد.

علم بیومتریک اشاره دارد به تکنولوژیی برای اندازه‌گیری و آنالیز مشخصات بدن افراد جهت تشخیص هویت شخص.

همه سیستم‌های بیومتریک دارای معماری ویژه‌ای برای پردازش نمونه مورد بررسی و احراز هویت می‌باشند. روش‌های مختلفی برای تشخیص هویت در بیومتریک وجود دارد که هر یک با توجه به دقت و کارایی مورد استفاده قرار می‌گیرند. اثر انگشت به دلیل اینکه برای هر فرد منحصربه‌فرد است و با گذشت زمان هیچ گونه تغییری نمی‌کند، در میان سیستم‌های بیومتریک بیشتر مورد استفاده قرار می‌گیرد. البته سیستم‌های دیگر مانند: عنبیه چشم، شبکیه چشم و نمودار حرارتی چهره هم از فردی به فرد دیگر متفاوت هستند. برای افزایش کارایی و امنیت و دقت سیستم می‌توانیم از ترکیبات بیومتریک استفاده کنیم.

مقدمه

از دیر باز انسان برای بقا، نیاز به تشخیص دوست از دشمن داشته است و تشخیص هویت برای وی امری حیاتی بوده و هست، لذا امروزه سعی در مکانیزه سازی سیستمهای شناسایی یا تشخیص هویت شده است. «این پیشرفتها دلیل بر نیاز جامعه و جهان است». نیازی که پیشرفت در آن باعث کاهش تخلفات، افزایش امنیت، تسریع در امور روزمره و … شده است.

در گذشته جهت شناسایی جرم و جنایتکار، از روال شناسایی اثر انگشت و چهره‌نگاری استفاده می‌شده، اما اکنون سیستمهای مکانیزه‌ای ایجاد شده است.

سیستمهای تشخیص هویت

توکن معمولاً چیزی است که شما به همراه خود دارید و می‌توان گفت سند هویت شماست، مانند: کارتهای هوشمند، کارتهای مغناطیسی، کلید، پاسپورت، شناسنامه و … این اشیاء دارای نواقصی هستند همچون: گم شدن، عدم همراه بودن شخص، فرسوده شدن و جعل شدن.

دومین نوع سیستمهای شناسایی دانش نام دارد، یعنی چیزی که شما بخاطر می‌سپارید مانند: پسورد و پین کد. البته این سری نیز دارای نواقصی هستند مانند: فراموش کردن و لو رفتن.

دسته سوم سیستمهای مبتنی بر بیومتریک است. این سیستمها از خصیصه‌های فیزیولوژیکی و رفتاری انسان جهت شناسایی استفاده می‌کنند. این روش دیگر معایب روشهای قبل را ندارد و امنیت و دقت را تا حد بسیار زیادی افزایش داده است.

بیومتریک چیست؟

  • اندازه‌گیری و تحلیل آماری داده‌های بیولوژیکی
  • بیومتریک اشاره دارد به تکنولوژیی برای اندازه‌گیری و آنالیز مشخصات بدن افراد جهت تشخیص هویت شخص
  • شناسایی اتوماتیک یک شخص با استفاده از ویژگیهای اختصاصی (مشخصات فیزیولوژیکی یا رفتاری)(تعریف در کنسرسیوم بیومتریک)

دو اصطلاح مهم در بیومتریک: تطابق یک به یک، عمل تطابق الگوهای کاربر با داده‌های ذخیره شده. تطابق یک به چند، یافتن یک الگو از میان الگوهای ذخیره شده جهت شناسایی کاربر.

طبقه‌بندی متدهای بیومتریک

عموماً در سیستمهای بیومتریک از دو نوع ویژگی مختلف افراد جهت شناسایی استفاده می‌شود که در ذیل به آنها اشاره می‌کنیم.

  • (پارامترهای فیزیولوژیکی)

اساس شناسایی در این کلاس، اندازه‌گیری و آنالیز مشخصه‌های ثابت یک شخص می‌باشد.

  • (پارامترهای رفتاری)

شناسایی الگوهای رفتاری مشخص یک فرد

پارامترهای فیزیولوژیکی:

  • (اثر انگشت)
  • (شناسایی از روی شبکیه چشم)
  • (شناسایی از طرق عنبیه چشم)
  • (شناسایی از روی هندسه دست)

پارامترهای رفتاری:

  • (شناسایی از طریق امضاء)
  • (شناسایی از طریق صدا)
  • (شناسایی از روی شدت ضربه شخص بر روی کیبورد)

در این مقاله ما سعی بر معرفی این سیتمها داریم.

معماری سیستمهای بیومتریک

تمامی سیستمهای بیومتریک دارای یک معماری کلی یکسان در ساخت هستند که به آنها اشاره می‌کنیم.

  • درخواست داده‌ها
  • پردازش سیگنال
  • تطبیق
  • تصمیم‌گیری
  • فضای ذخیره‌سازی
  • محیط انتقال داده‌ها

زیر سیستم درخواست داده در این زیر سیستم داده‌های خام، که از یک فرد، توسط یک سنسور ویژه اسکن شده است، وارد سیستم می‌شود. فرایندی که در این زیر سیستم انجام می‌شود:

  • دریافت داده‌ها توسط سنسور
  • تبدیل داده‌های (سیگنالها) دریافتی از سنسورها به فرم مناسبی (A/D) جهت ارسال به زیر سیستم پردازش سیگنال

زیرسیستم پردازش سیگنال عملیات این زیر سیستم به شرح ذیل می‌باشد:

  1. دریافت داده‌های خام از زیر سیستم جمع‌آوری داده
  2. استخراج خصیصه
  3. عملیات فیلترینگ جهت حذف نویز
  4. اصلاح داده‌ها
  5. تبدیل داده‌های دریافتی به فرم لازم (تولید الگو) برای زیر

سیستم تطبیق.

از داده‌های دریافت شده در این زیر سیستم، پس از پردازش، یک الگو از برخی ویژگیهای موجود تولید و ذخیره می‌شود. در واقع این الگوی تولید شده مورد مقایسه و شناسایی قرار می‌گیرد.

ماهیت این الگو که از روی یک شابلون از پیش تعریف شده تولید می‌شود (یک استاندارد ثابت)، ماتریسی از صفر و یک می‌باشد. در واقع این شابلون قسمتهای مورد اندازه‌گیری از یک نمونه را برمی‌گرداند.

زیرسیستم تطبیق

خروجی این زیر سیستم از مقایسه دو الگو بدست می‌آید. فرایند این زیر سیستم شامل:

دریافت داده‌های پردازش شده (الگو) از زیر سیستم قبل و دریافت الگوهای ذخیره شده مقایسه الگوی تولید شده در زیر سیستم قبل، با الگوهای موجود

زیر سیستم تصمیم‌گیری

این زیر سیستم پس از اجرای زیر سیستم قبل فراخوانی می‌شود که وظیفه آن تصمیم‌گیری بر روی تطابق انجام شده متناسب با درخواست است. در این مرحله یک حد یا آستانه در نظر گرفته شده است. اگر امتیاز بیشتر یا برابر این آستانه باشد، کاربر تأیید می‌شود در غیر اینصورت کاربر پذیرفته نمی‌شود.

زیر سیستم فضای ذخیره‌سازی

شامل الگوهایی است که در هنگام ثبت نام از کاربران بدست آمده است. ممکن است برای هر کاربر یک یا چند الگو ذخیره شده باشد.

زیر سیستم محیط انتقال

وظیفه این بخش انتقال داده‌ها، بین اجزاء یک سیستم بیومتریک است.

پارامترهای مهم در سیستم‌های بیومتریک

در همه سیستمهای بیومتریک پارامترهایی موجودند که ویژگیها و قابلیتهای سیستم شما را معرفی می‌کنند.

  1. نرخ پذیرش اشتباه

این پارامتر تعیین کننده امکان پذیرش کاربر جعلی از کاربر اصلی می‌باشد. این پارامتر باید تا جای ممکن کوچک باشد.

  1. نرخ عدم پذیرش اشتباه

این مقیاس نمایانگر اینست که تا چه اندازه شخص اصلی اشتباهاً پذیرش نمی‌شود (حساسیت بسیار بالا). این پارامتر نیز باید تا حد مورد نیاز کم باشد.

  1. نرخ خطای مساوی:

کاهش نرخ پذیرش اشتباه باعث افزایش غیر تعمدی نرخ عدم پذیرش اشتباه می‌شود. نقطه‌ای که میزان نرخ عدم پذیرش اشتباه با نرخ پذیرش اشتباه برابر می‌شود نقطه نرخ خطای مساوی است. هرچه میزان این پارامتر کمتر باشد نمایانگر اینست که سیستم دارای یک حساسیت بهتر و توازن خوبی است.

  1. نرخ ثبت نام نادرست

احتمال خطایی که در هنگام نمونه بردای جهت ثبت در پایگاه داده، در خصوص تشخیص صحیح ممکن است رخ هد.

تکنولوژیهای بیومتریک

  • اثر انگشت
  • هندسه دست
  • اندازه‌گیری شبکیه چشم
  • اندازه‌گیری عنبیه
  • تشخیص چهره
  • تشخیص امضاء
  • تشخیص صدا
  • آزمایش دی‌ان‌ای
  • تشخیص از روی سیاهرگ دست
  • نمودار حرارتی چهره
  • شدت ضربه بر روی صفخه کلید
  • شکل گوش
  • بوی بدن

شناسایی از طریق اثر انگشت

به دلیل اهمیت این سیستم، بیشتر به تجزیه و تحلیل آن خواهیم پرداخت. یکی از قدیمی‌ترین روشهای تشخیص هویت، روش شناسایی از طریق اثر انگشت می‌باشد. نوک انگشت دارای یکسری خطوط است که از یک طرف انگشت به طرف دیگر ادامه دارد. این خطوط دارای یکسری نقاط مشخصه می‌باشند که به آنها ریزه کاری گویند.

این ریزه کاریها شامل کمانها، مارپیچها، حلقه‌ها، انتهای لبه‌ها، انشعابها، نقطه‌ها (شیارهای نزدیک به لبه‌ها)، جزایر (دو انشعاب نزدیک به هم)، تقاطع (نقطه تلاقی دو یا چند لبه)، منفذها می‌باشند. در واقع ما در این سری از سیستمها الگوهای تولید شده از این ریزه کاریها را مورد مقایسه قرار می‌دهیم.

در تشخیص اثر انگشت دو روش عمده وجود دارد: در روش اول یک شابلون از محل قرار گیری ریزه کاریهای: “انتهای لبه‌ها، انشعابها، کمانها، مارپیچها و حلقه هاً تهیه می‌شود و الگوها بر این اساس تولید می‌شوند.

در حالت دیگر مابقی ریزه کاریهای ذکر شده نیز الگو برداری می‌شوند.”با مقایسه نوع، راستا (جهت) و ارتباط (موقعیت) ریزه کاریها عمل شناسایی انجام می‌شود. ”

در روش دوم از مقایسه نواحی در برگیرنده همه ریزه کاریهای ذکر شده و نیز علامت‌های مجزای دیگر و داده‌های حاصل از مقایسه مجموعه لبه‌ها در این نواحی، استفاده می‌شود.

عموماً سایز الگو در روش دوم دو الی سه برابر بزرگتر از روش اول می‌باشد. در روش اول تقریباً امکان ندارد که بتوان تصویر اثر انگشت را از الگوی مبنا بدست آورد به دلیل اینکه از تعدادی از ریزه کاریها الگوبرداری مشود و مابقی ترتیب اثر داده نمی‌شوند، ولی از روش دوم می‌توان به اثر انگشت نیز رسید.

مراحل پردازش تصویر در شناسایی بر اساس اثر انگشت

حالت اول شمای یک اثر انگشت پردازش نشده را نمایش می‌دهد. در مرحله دوم جهت خطوط اثر انگشت توسط متدهای خاصی تولید می‌شود تا از آن بتوان در شناخت جهت هر ریزه کاری استفاده کرد.

در حالت سوم نویزهای موجود در تصویر اول را حذف کرده سپس مرز بین لبه‌ها و شیارها مشخص می‌شود.

در مرحله چهارم میزان رنگ تصویر حاصله را کاهش می‌دهند تا نویزهای کوچک باقی‌مانده نیز حذف شوند و نیز حجم تصویر نیز کاهش یابد. در مرحله پنجم ریزه کاریها علامت گذاری می‌شوند و در مرحله آخر نیز این ریزه کاریها بیکدیگر متصل می‌گردند که ماتریس حاصل از شکل بدست آمده از این نواحی و ماتریس حصل از جهتها در شکل دوم و نیز ماتریس شامل نوع ریزه کاریهای در نظر گرفته شده، الگوی ما را تولید می‌کند. مراحل در شکل زیر به نمایش گذاشته شده‌اند:

سنسورهای مورد استفاده در روش شناسایی با استفاده از اثر انگشت:

۱-سنسور نوری

در این تکنولوژی کاربر انگشت خود را بر روی یک سطح پلاستیکی یا شیشه‌ای تمییز قرار می‌دهد، سپس یک اسکنر) CCD (شروع به اسکن کردن و تصویر برداری از انگشت می‌کند. این اسکنرها دارای تعدادی گیرنده نوری هستند که بصورت سطری در کنار یکدیگر قرار گرفته‌اند، که نوسانات و تغییرات شدت نور دریافتی را اندازه‌گیری می‌کنند. با تابش یک دسته شعاع نوری با شدت ثابت به انگشت، بازتاب این شعاع نوری توسط این دوربینهای CCD اندازه‌گیری می‌شود. این آرایه‌های CCD تصویری با رزولوشن ۷۲–۶۰۰dpi را نمایش می‌دهند؛ که البته قابلیت تصویر برداری تا ۱۰۰۰dpi را دارا می‌باشند. تصویر اثر انگشت تولیدی بصورت یکسری لبه‌های تاریک و شیارهای روشن نشان داده می‌شود که در ابتدا نامفهومند و با عملیات پردازش تصویر، تصویر واضحی از اثر انگشت تولید می‌شود

۲-سنسور خازنی

عملیات این سری از سنسورها بصورت جوشن خازنی است (یک ماتریس از خازنهای کنار هم). با تماس انگشت بر سطح سنسور، بین لبه‌های اثر انگشت و سنسور، یک ظرفیت خازنی مطابق با شکل ایجاد می‌شود که با اندازه‌گیری این سطوح خازنی و پردازش این سیگنالها، یک تصویر دیجیتالی بصورت ترکیبی از رنگهای مشکی، سفید و خاکستری (روشن و تیره) ۸بیتی بدست می‌آید. شکل زیر بیانگر این موضوع است. همان‌طور که در شکل مشاهده می‌کنید، انگشت باعث برقراری ارتباط بین دو الکترود می‌شود که این امر باعث بوجود آمدن فضای خازنی در بین این دو الکترود شده است. تغییرات فاصله‌ای که بین لبه‌ها و شیارهای انگشت وجود دارد، باعث پیدایش یک سیگنال ولتاژی در فضای خازنی می‌شود که در شکل دوم نشان داده شده است.

با توجه به اینکه فاصله بین پیک لبه و شیار از یک نقطه به یک نقطه دیگر تغییر می‌کند، داده خام برگردانده شده توسط سنسور به یک تصویر درهم که دارای یکسری سایه‌های خاکستری است، تبدیل می‌شود؛ که از یک الگوریتم دیگر جهت تکمیل و تصحیح این تصویر استفاده می‌شود رزولوشن این تصویر توسط اندازه و تقسیم‌بندی سلولهای سنسور تعیین می‌گردد. بعنوان مثال برای یک رزولوشن ۵۰۰dpi به یک سنسور با اندازه سلول ۵۰۰ میکرون نیاز است. عموماً این سری سنسورها رزولوشن ۲۵۰–۵۰۰dpi را تولید می‌کنند. دقت این سنسورها تا اندازه‌ای پایین است و نیاز به بازسازی تصویر بیشتری دارند.

۳-سنسور آلتراسوند

این سنسورها از یکسری فرستنده- گیرنده‌های صوتی استفاده می‌کنند. آنها امواج آلتراسوند را به شئ ساطع می‌کنند، سپس به حالت گیرنده رفته و امواج بازگشتی را ذخیره می‌کنند. (مطابق شکل) این امواج توسط تکنیکهای ویژه تصور صوتی پردازش می‌شوند. نحوه الگو برداری از یک سطح کثیف توسط سنسورهای آلتراسوند فرکانس ارسالی و دریافتی این سنسورها قابل تنظیم است. این ویژگی باعث می‌شود که فرکانسهای ناهمگن دریافتی را حذف کند. فرکانسهای این سنسورها را می‌توان طوری تنظیم نمود که از سلولهای بیجان عبور کنند که این یک مزیت بزرگ سنسورهای آلتراسوند است. مزایای سیستم‌های اندازه‌گیری اثر انگشت:

  1. هر شخص دارای اثر انگشت منحصربه‌فردی است
  2. اثر انگشت در برابر گذشت زمان مقاوم است
  3. این تکنولوژی به بلوغ خود رسیده است
  4. استفاده از آن بسیار راحت است
  5. دارای نرخ خطای مساوی پایینی می‌باشد
  6. ارزان است
  7. عامه پسند است

شناسایی از طریق چهره

فرم هندسی یک چهره نیز از پارامترهای مورد اندازه‌گیری در سیستمهای بیومتریک است ولی نمی‌توان گفت که جزء خصیصه‌های منحصربه‌فرد افراد است لذا این سیستمها در جاهایی که تعداد کاربران کم است و نیز زمانهای الگوبرداری درازمدت نیست، این سیستمها مناسبند. از دیگر کاربردهای این سیستمها، استفاده در سیستمهای مالتی بیومتریک جهت افزایش دقت است. تصویر چهره یک کاربر می‌تواند توسط یک دوربین سیاه و سفید با استاندارد که یک رزولوشن ۲۴۰*۳۲۰ و اقلاً ۳ تا ۴ فریم را تولید کند، گرفته می‌شود. دو روند اصلی برای تشخیص چهره انجام می‌شود

  • روند کلی یا کل چهره
  • خصوصیات پایه‌ای چهره

بر شناسایی و تشخیص نقاط ثابت و معین در چهره که با مرور زمان کمترین حساسیت و تغییری را از خود نشان می‌دهند شامل: قسمتهایی از چشم، اطراف بینی و دهان و بخشهایی که استخوان گونه را احاطه کرده‌اند تکیه دارد.

یا روند کلی یا کل چهره

در این روش یک تصویر کامل و یکجا از چهره، بدون لوکالیزه کردن نقاط ویژه مورد پردازش قرار می‌گیرد. این متد از تکنولوژیهای زیرجهت پردازش چهره بهره می‌گیرد:

  • تحلیل آماری
  • شبکه‌های عصبی

در کل سیستمهای این چنینی دارای دقت بالایی نیستند به دلیل اینکه چهرها کاملاً منحصربه‌فرد نیستند و گاه اتفاق می‌افتد که دو نفر (مخصوصا دوقلوها) از نظر چهره با هم مشابهند؛ لذا از اینگونه سیستمها فقط در مکانهایی استفاده می‌شوند که امنیت تا حد بسیار زیاد مورد نظر نباشد.

تشخیص هویت زیست سنجی و بیومتریک قسمت 1
تشخیص هویت زیست سنجی و بیومتریک قسمت 2
تشخیص هویت زیست سنجی و بیومتریک قسمت 3
تشخیص هویت زیست سنجی و بیومتریک قسمت 4
تشخیص هویت زیست سنجی و بیومتریک قسمت 5

ویژگیهای یک روبات

یک روبات دارای سه مشخصه زیر است
۱-داری حرکت وپویایی است
۲-قابلیت برنامه ریزی جهت انجام کارهای مختلف را دارد
۳-بعد از اینکه برنامه ریزی شد.قابلیت انجام وظایفش را به صورت خودکار دارد.
ممکن است روزی فرا برسد که روباتها جای انسانها را در انجام کارها بگیرند.
حتی بعضی از آنها ممکن است به صورت
محافظ شخصی از جان انسانهادر مقابل خطرات احتمالی حفاظت کنند.

آناتومی اندام روبات های شبیه انسان

در سال ۱۹۵۰ دانشمندان تصمیم گرفتند.شکلی از رباتهای دو پارا درست کنند.که از لحاظ فیزیکی شبیه انسان باشند.این گونه روباتها متشکل از دو بازو دو پا هستند.که دستها و پاها به صورت متقارن وشبیه بدن انسان در سمت راست وچپ ربات قرار گرفته اند.برای انجام چنین کاری آنها می بایست در ابتدا آناتومی بدن خود را می شناختند.آنها معتقد بودن که انسانها طی میلیونها سال تکامل یافته اند.،تا اینکه امروزه قادرند انواع مختلفی از کارها را انجام دهند.اگر از مردم راجع به روباتهای شبیه انسان سوال کنید.آنها در اولین وهله به یاد فیلم پلیس آهنی می افتند.شما نیز می توانید با استفاده از کاغذهای استوانه ای و تک های چوب وچسب شکلی مانند زیر درست کنید.

حرکت در روبات

هنگامیکه شما راجع به مطلبی فکر می کنید و برای آن دنبال پاسخ می گردید.می توانید جواب خود را در طبیعت بگیرید.به حیواناتی که اطراف ما هستند.،و مانند ما می توانند در چهار جهت حرکت کنند.دقت کنید.به طور مثال به حرکت فیل توجه کنید.مفاصلی که در پاها وجود دارند.سبب حرکت پاها به سمت عقب،جلو، چپ و راست می شوند
هنگامکه این حیوان حرکت می کند وزن خود را بر روی پا هایش تقسیم میکند.بنابراین این امکان را دارد که تعادلش را حفظ کند و بر روی زمین نیافتد.در روباتها نیز همین مسئله وجود دارد اگر یکی از پاهای آن در هوا قرار بگیرد روبات متوقف می شود.واین امکان وجود دارد بر روی زمین بیافتد.به حرکت مورجه ها دقت کنید.این موجود ۶ پا دارد. در هنگام حرکت به سمت جلو سه پایش را به سمت جلو وسه پای دیگرش را در همان موقعیت به سمت عقب فشار میدهد .دو پا از یک طرف ویک پا از طرف دیگرهمواره کار مشترکی را انجام می دهند. واین کار سبب حرکت مورچه به سمت جلو می شود.
حشرات بدلیل داشتن پاهای بیشتر وفرم پاها راحتر از حیوانات چهار پا می توانند تعادل خود را در حرکت حفظ کنند.بهمین دلیل رباتهای شبیه حشرات بیشتر از روباتهایی شبیه سگ و گربه ساخته شده اند.

لگو روبات(lego robot)

برای شروع به ساخت روبات بهتر است .،که با لگو ها ونحوه اسمبل کردن آنها آشنا شوید.لگوها ایده های خوبی در ساخت روبات به شما می دهند.بسیاری از روباتهایی که ساخته شده اند.حشره،حیوان،انسان نیستند.بلکه آنها لگو هستند.شما می توانید بدنه روبات خود را بوسیله لگوها بسازید.و مدارات الکترونیک را در آن جا سازی کنید.
بیشتر ماشینهایی که وجود دارند از چهار چرخ تشکیل شده اند.دو چرخ جلویی دارای چرخش زاویه ای هستند.،و دو چرخ عقبی در جای خود ثابت هستند.،وتنها میچرخند،حرکت به سمت راست،جلو و عقب را چرخهای جلویی تعیین می کنند.در برخی از ماشینها هر چهار چرخ دارای این وضعیت هستند.از این موارد در ساخت لگو روباتها شبیه ماشین استفاده می شود.برخی از ماشینهای پیشرفته از راه دور کنترل می شوند(remote control) که این مسئله را براحتی می توان در روباتها بست وتوسعه داد.
برای ساخت یک لگو ماشین احتیاج به چهار چرخ پلاستیکی و دو میله تحت عنوان محور احتیاج دارید.شاید بتوانید این قطعات را براحتی در یک ماشین اسباب بازی پیدا کنید.برخی از طراحان روبات به جای چهار چرخ از سه چرخ استفاده می کنند.در این حالت عموما دو چرخ ثابت وتنها در جای خود می چرخند و تنها یک چرخ دارای حرکت آزاد است.نوع دو چرخ آن نیز وجود دارد.در این حالت هر دوچرخ دارای حرکت آزاد زاویه ای هستند.
برای حل مشکل تعادل روباتها در هنگام چرخش از چهار چرخ استفاده می شود. در هر طرف دوچرخ وجود دارد.که چرخهای در هر سمت بوسیله تسمه یا نواری پلاستیکی بهم متصل می شوند.
کلمه ربات توسط Karel Capek نویسنده نمایشنامه R.U.R (روبات‌های جهانی روسیه) در سال 1921 ابداع شد. ریشه این کلمه، کلمه چک اسلواکی(robotnic) به معنی کارگر می‌باشد.
در نمایشنامه وی نمونه ماشین، بعد از انسان بدون دارا بودن نقاط ضعف معمولی او، بیشترین قدرت را داشت و در پایان نمایش این ماشین برای مبارزه علیه سازندگان خود استفاده شد.
البته پیش از آن یونانیان مجسمه متحرکی ساخته بودند که نمونه اولیه چیزی بوده که ما امروزه ربات می‌نامیم.
امروزه معمولاً کلمه ربات به معنی هر ماشین ساخت بشر که بتواند کار یا عملی که به‌طور طبیعی توسط انسان انجام می‌شود را انجام دهد، استفاده می‌شود.

ربات‌ها چه کارهایی انجام می‌دهند؟

بیشتر ربات‌ها امروزه در کارخانه‌ها برای ساخت محصولاتی مانند اتومبیل؛ الکترونیک و همچنین برای اکتشافات زیرآب یا در سیارات دیگر مورد استفاده قرار می‌گیرد.

ربات‌ها از چه ساخته می‌شوند؟

ربات‌ها دارای سه قسمت اصلی هستند:
* مغز که معمولاً یک کامپیوتر است.
* محرک و بخش مکانیکی شامل موتور، پیستون، تسمه، چرخ‌ها، چرخ دنده‌ها و …
* سنسور که می‌تواند از انواع بینایی، صوتی، تعیین دما، تشخیص نور، تماسی یا حرکتی باشد.
با این سه قسمت، یک ربات می‌تواند با اثرپذیری و اثرگذاری در محیط کاربردی‌تر شود.

تأثیر رباتیک در جامعه:

علم رباتیک در اصل در صنعت به‌کار می‌رود و ما تأثیر آن را در محصولاتی که هر روزه استفاده می‌کنیم، می‌بینیم. که این تأثیرات معمولاً در محصولات ارزان‌تر دیده می‌‌شود.
ربات‌ها معمولاً در مواردی استفاده می‌شوند که بتوانند کاری را بهتر از یک انسان انجام دهند یا در محیط پر خط فعالیت نمایند مثل اکتشافات در مکان‌های خطرناک مانند آتش‌فشان‌ها که می‌توان بدون به خطر انداختن انسان‌ها انجام داد.

مشکلات رباتیک:

البته مشکلاتی هم هست. یک ربات مانند هر ماشین دیگری، می‌تواند بشکند یا به هر علتی خراب شود. ضمناً آن‌ها ماشین‌های قدرتمندی هستند که به ما اجازه می‌دهند کارهای معینی را کنترل کنیم.
خوشبختانه خرابی ربات‌ها بسیار نادر است زیرا سیستم رباتیک با مشخصه‌های امنیتی زیادی طراحی می‌شود که می‌تواند آسیب‌ آن‌ها را محدود ‌کند.
در این حوزه نیز مشکلاتی در رابطه با انسان‌های شرور و استفاده از ربات‌ها برای مقاصد شیطانی داریم. مطمئناً ربات‌ها می‌توانند در جنگ‌های آینده استفاده شوند. این می‌تواند هم خوب و هم بد باشد. اگر انسان‌ها اعمال خشونت آمیز را با فرستادن ماشین‌ها به جنگ یکدیگر نمایش دهند، ممکن است بهتر از فرستادن انسان‌ها به جنگ با یکدیگر باشد. ربات‌ها می‌توانند برای دفاع از یک کشور در مقابل حملات استفاده می‌شوند تا تلفات انسانی را کاهش دهد. آیا جنگ‌های آینده می‌تواند فقط یک بازی ویدئویی باشد که ربات‌ها را کنترل می‌کند؟

مزایای رباتیک:

مزایا کاملاً آشکار است. معمولاً یک ربات می‌تواند کارهایی که ما انسان‌ها می‌خواهیم انجام دهیم را ارزان‌تر انجام‌ دهد. علاوه بر این ربات‌ها می‌توانند کارهای خطرناک مانند نظارت بر تأسیسات انرژی هسته‌ای یا کاوش یک آتش‌فشان را انجام دهند. ربات‌ها می‌توانند کارها را دقیقتر از انسان‌ها انجام دهند و روند پیشرفت در علم پزشکی و سایر علوم کاربردی را سرعت ‌بخشند. ربات‌ها به ویژه در امور تکراری و خسته کننده مانند ساختن صفحه مدار، ریختن چسب روی قطعات یدکی و… سودمند هستند.

تاثیرات شغلی:

بسیاری از مردم از اینکه ربات‌ها تعداد شغل‌ها را کاهش دهد و افراد زیادی شغل خود را از دست دهند، نگرانند. این تقریباً هرگز قضیه‌ای بر خلاف تکنولوژی جدید نیست. در حقیقت اثر پیشرفت‌ تکنولوژی مانند ربات‌ها (اتومبیل و دستگاه کپی و…) بر جوامع ، آن است که انسان بهره‌ورتر می‌شود.

قوانین سه‌گانه رباتیک:

ایزاک آسیموف نویسنده داستان‌های علمی تخیلی قوانین سه‌گانه رباتیک را به صورت زیر تعریف‌کرده است:
1ـ یک ربات نباید به هستی انسان آسیب برساند یا به واسطه بی‌تحرکی، زندگی یک انسان را به مخاطره بیاندازد.
2ـ یک ربات باید از دستوراتی که توسط انسان به او داده می‌شود، اطاعت کند؛ جز در مواردی که با قانون یکم در تضاد هستند.
3ـ یک ربات باید تا جایی‌که با قوانین یکم و سوم در تضاد نباشد از خود محافظت کند.

آینده رباتیک:

جمعیت ربات‌ها به سرعت در حال افزایش است. این رشد توسط ژاپنی‌ها که ربات‌های آن‌ها تقریباً دو برابر تعداد ربات‌های آمریکا است، هدایت شده است.
همه ارزیابی‌ها بر این نکته تأکید دارد که ربات‌ها نقش فزاینده‌ای در جوامع مدرن ایفا خواهند کرد. آن ها به انجام کارهای خطرناک، تکراری، پر هزینه و دقیق ادامه می‌دهند تا انسان‌ها را از انجام آن‌ها باز دارند.

ربات امدادگر

یکی از راهکارهایی که برای نجات مصدومین زلزله استفاده می شود، به کاربستن رباتیک و علوم کامپیوتر در عملیات امداد و نجات است. از طریق این فناوری‌ها می‌توان به مصدومین گرفتار در زیر آوار دسترسی پیدا کرده و جان آن‌ها را نجات داد
این ربوتها به گونه‌ای طراحی شده است که بتوان مسیر خود را در شکاف‌های باریک و از میان آوار به‌جا مانده از ساختمان بیابد و در لا‌به‌لای آن‌ها به جستجوی مصدومین حادثه بپردازد. پیکره‌ی این رباتها به یک دوربین و یک میکروفون برای دریافت داده‌هایی از میان ویرانی‌ها مجهز شده است. به علاوه یک حسگر حرارتی نیز به تجهیزات این ربوت ها افزوده شده، تا بتواند حرارت بدن مصدوم را دریافته و موقعیت او را بیابد. این حسگر، این امکان را نیز فراهم می‌سازد که حتی اگر در زیر آوار منبع نوری نیز وجود نداشت و مصدومین در تاریکی گرفتار شده بودند، باز هم فرصت یافته شدن آن‌ها وجود داشته باشد. طراحی منعطف این ربوتها برخی توانمندی‌های مختص محیط‌های دچار سانحه را به آن افزوده است، اگر در شرایطی این ربوتها با مانعی در زیر آوار برخورد کند و به سبب این برخورد تعادل خود را از دست بدهد و یا از ارتفاعی، فرو بیفتد، خواهد توانست با چرخش پیکره‌ی خود مجدداً به وضعیت متعادل و مناسب برای حرکت بازگردد.

مباني رباتيك

ربات ها ماشين هايي هستند كه به تقليد رفتار انسان ها يا حيوانات مي پردازند . انسان ها داراي جسم مي باشند و از ماهيچه براي حركت بدن ، حسگر براي دريافت اطلاعات محيط ، قدرت براي فعال كردن ماهيچه ها ، مغز براي پردازش اطلاعات حسگرها و دستور به ماهيچه ها و ويژگي هاي نامشهود ديگر مانند هوش و روحيه برخوردارند . به طور مشابه ربات ها نيز از ساختار قابل حركت ، موتورها ، حسگرهايي براي مشاهده محيط ، فعال ساز براي كنترل حركت ، منبع تغذيه و پردازنده / كامپيوتر براي كنترل رفتار و اجزاي خود برخوردار مي باشند . ربات هاي صنعتي بازوها يا ماشين هاي خودكار مكانيكي هستند كه توسط كامپيوتر كنترل شده و از آنها در خطوط مونتاژ كارخانه ها استفاده مي شود . وظايف آنها بازه وسيعي را از اتصال اجزاي بدنه اتومبيل تا قرار دادن يك قطعه بسيار كوچك در يك دستگاه الكترونيكي در بر مي گيرد .
يك ربات صنعتي كه از شش مفصل برخوردار است ، شباهت بسيار زيادي به بازوي انسان دارد . اين شش اتصال در واقع معادل شانه ، آرنج و مچ هستند . هر كدام از اين اتصالات توسط يك موتور DC/AC كنترل مي شوند . خود اين موتورها توسط سيگنال هايي كه توسط كابل منتقل مي شود ، كنترل مي گردند .
كامپيوتر كنترلي ربات شامل برنامه هايي است كه رفتار هر موتور را كنترل مي كند و بدين ترتيب ربات عمل مورد نياز را انجام مي دهد . براي حركت ربات ، اين رايانه ، موتورها و دريچه هاي مرتبط را فعال مي كند . ربات ها قابل برنامه ريزي جديد بوده و مي توان با برنامه ريزي جديد رفتار متفاوتي را از آنها انتظار داشت .
برنامه يك ربات جوشكاري حاوي دستورات لازم در زمينه ميزان جريان برق و اعمال جريان براي المان جوشكاري ربات است تا بدين ترتيب بعنوان قطعات فلزي با قطرهاي مختلف را به هم جوش داد . حسگرهاي موجود ، اطلاعات محيطي را به صورت پسخورد در اختيار كامپيوتر كنترلي قرار مي دهند و آنها را قادر مي سازند تا عمليات ربات را مطابق با شرايط محيطي تنظيم كنند . كامپيوترها سيگنال هاي فرمان را به ابزار رباتيك ارسال مي نمايند و بدين ترتيب عمليات كارخانه كنترل مي گردد .
مي توان ماشين هاي رباتيك را به گونه اي برنامه ريزي كرد كه وظايف مختلفي را انجام دهند و در نتيجه ربات ها مي توانند به منظور توليد محصولات مختلف ، مورد استفاده قرار گيرند . ربات هاي فوق در كارخانه هايي مورد استفاده قرار مي گيرند كه محصولات متنوعي را در دسته هاي كوچك توليد مي كنند و محصولات هر دسته با دسته ديگر فرق مي كند . ربات ها با سخت افزار فرآيند توليد ادغام مي شوند . پس از اينكه كار جاري خط توليد به پايان رسيد ، مي توان از اين ربات ها براي كار ديگر دوباره استفاده كرد .
خط توليدي كه در آن از ربات استفاده مي شود ، ممكن است فقط شش ماه دوام داشته باشد . پس از آن ، كارخانه به دليل تغيير محصول توليدي خود بايد خط توليد فوق را جمع آوري كند . از آنجايي كه مي توان ربات ها را براي انجام كارهاي مختلف برنامه ريزي كرد ، مي توان آنها را به راحتي از يك خط توليد جدا كرده و در جاي ديگر مورد استفاده قرار داد.
كارخانه موتورولا از دو ربات به طور همزمان براي مونتاژ قطعات الكترونيكي در دستگاه هاي راديويي خود استفاده مي كند . اين دو ربات دوازده كار پايه اي مانند قرار دادن قطعات الكترونيكي بر روي بوردهاي چاپي را بطور مشترك با هم انجام مي دهند . اين دو ربات به صورت جفت و دقيقا مانند دو بازوي يك انسان در خط مونتاژ كار مي كنند و كامپيوتر كنترل كننده با ارسال سيگنال هاي مناسب مانع از برخورد آنها باهم مي شود .

حواس انسان براي ربات ها :

تمركز طراحان بر شبيه سازي حواس انسان براي ربات ها است . ربات ها بايد بتوانند حسي از محيط پيرامون خود داشته باشند ( مشابه حواس انسان ) . آنها بايد بتوانند ببينند ، احساس كنند ، بشنوند ، بو بكشند و با انسان ها به زبان طبيعي صحبت كنند .رادارها ، دستگاههاي كاشف ، ميكروفن هاي جهت دار ، اسكنر هاي بدن و موارد مشابه قادر ند بهتر از اعضا ي بدن انسان عمل كنند ، ببينند و يا اشياء را شناسايي كنند . مشكل اصلي ، گردآوري اطلاعات نيست ، بلكه تفسير و درك آنهاست .
ساخت رباتي كه بتواند به سطح يك چاه نفت در دريا برود يا رباتي كه بتواند به يك راكتور هسته اي وارد شود ، بسيار متفاوت از رباتي است كه در آن لوله است . تصوير لوله تنها نشان دهنده جلبك هايي است كه به دور اتصالات جمع شده اند . اگر قرار است ربات تشخيص دهد كه مي تواند مشكل را حل كند يا نه ، بايد از هوش لازم براي رفع ابهام از تصوير و ايجاد يك تصوير واضح و روشن برخوردار باشد . ربات ها بايد اطلاعات مورد نياز را براي پاسخگويي به مسائل پيش آمده در جهان واقعي فراهم سازند . ربات ها بايد قادر به درك حوادث پيرامون خود باشند تا بتوانند بر آنها كنترل داشته باشند و گرنه ، داشتن حواس صرف براي گردآوري اطلاعات ، ارزشي نخواهد داشت . حواس آنها بايد پسخوري از اثرات رفتار انها بر جهان ، به آنها بدهد .

ربات هاي بيولوژيكي :

محققان به دنبال هوش هستند ، گرچه اين هوش لزوما به پيچيدگي مغز انسان كه از ميليارها نورون و تريليون ها اتصال برخوردار است نخواهد بود . گرچه بسياري از مناطق مغز انسان از ساختار يكنواختي برخوردارند ، ولي صدها منطقه در مغز وجود دارد كه از نظر معماري متمايز هستند . اين مساله سبب پيچيدگي شبيه سازي مغز انسان در ربات ها مي شود .
در مقايسه ، حشرات و موجودات دريايي از نورون هاي كمتري برخوردارند . مهندسان با استفاده از داده هاي رفتاري مي دانند كه چگونه بخش هاي مغز اين موجودات با هم در ارتباط هستند و همچنين از نحوه تعامل نورون هاي آنها به منظور انجام يك كار خاص مطلع هستند .
هوش مغز سوسك براي توسعه ربات هاي بيولوژيكي بكار گرفته شده است . حشرات در زمان حركت بالا ، زير با پيرامون موانع شش بازوي خود را كنترل مي كنند . ربات هاي شش بازويي مانند Lemur (مخففLimbed Excursion Mobile Utility Robot ) ” ربات با قدرت حركت عضوي ” از خصوصيات سيستم عصبي حشرات براي حركت در سطوح سخت و ناهموار به منظور گردآوري ، نمونه برداري و تحليل داده ها استفاده مي كنند .
ماهيچه ها مسبب حركت و دستكاري در مخلوقات هستند . فعال سازي هاي ربات ها در واقع شبيه ساز ماهيچه ها به شمار مي روند . فعال سازي هايي كه از پليمرهاي فعال شونده با جريان برق (EAP) استفاده مي كنند ، بيشترين شباهت را به ماهيچه هاي بيولوژيكي دارند . EAP ها در پاسخ به تحريك هاي الكتريكي تغيير شكل مي دهند .در صورتي كه به سيال هاي الكترورئولوژيك (ERF) مبتني بر EAP تحريك الكتريكي وارد شود ، چسبناك مي شوند . از ERF ها براي توسعه فعال سازي هاي مينياتوري كنترل شونده توسط جريان برق استفاده مي شود . نيروهايي كه در محيط هاي دور اعمال مي شوند ، سبب تغيير در ويسكوزيته ERF شده و بدين شكل خود را در اجزاي مكانيكي ربات نشان مي دهند .
از ربات هاي مبتني بر EAP در كاربردهاي پزشكي و فضايي استفاده مي شود . ربات ماهي اولين محصول تجاري است كه در آن از EAP استفاده شده است . اين ربات مي تواند بدون استفاده از موتور يا باتري و با استفاده القاء گرهاي موجود شنا كند .
EAP ها را ميتوان به شكل هاي مختلفي ساخت . از تركيب آنها با حسگرهاي MEMS ( سيستم ميكروالكترومكانيكي ) مي توان به فعال سازهاي هوشمند دست يافت . EAP واسطي است بين انسان و ماشين در واقع جايگزيني است براي حواس انسان . بعنوان مثال ، مي توان از EAP بعنوان واسط بين ربات و مغز انسان استفاده كرد . كلاوس پيترزانر از دانشگاه ساوت همپتون در انگلستان رباتي ساخته است كه توسط يك نمونه پرورش يافته و خاص از موجودات زنده ” كپك مانند” كنترل ميشود . اين سلول ها از نور دوري مي كنند .
يك نمونه ستاره اي شكل از اين سلول ها به يك ربات شش بازويي ربات متصل گرديده اند . تابش نور سفيد بر بخشي از ارگانيسم سلول سبب مرتعش شدن آن مي گردد . اين ارتعاشات به رايانه منتقل شده و بر اساس آن سيگنال هاي كنترلي براي حركت بازوها ارسال مي گردد . با تابش نور برروي بخش هاي مختلف ستاره ، بازوهاي متفاوتي را ميتوان حركت داد . با انجام اين كار به صورتي منظم و با قاعده ، ميتوان ربات را به راه انداخت .

منبع

ربات چیست؟ قسمت 1
ربات چیست؟ قسمت 2
ربات چیست؟ قسمت 3
ربات چیست؟ قسمت 4
ربات چیست؟ قسمت 5
ربات چیست؟ قسمت 6
ربات چیست؟ قسمت 7
ربات چیست؟ قسمت 8

ارتباط یادگیری ماشین با آمار

یادگیری ماشین و آمار رشته های نزدیکی هستند. طبق نظر مایکل. ال. جردن (Micheal l. Jordan) ایده های یادگیری ماشین، از اصول متدلوژی گرفته تا ابزار نظری، پیشینه ای طولانی در آمار دارند. او همچنین عبارت علم داده ها را برای نام گذاری کل این رشته پیشنهاد کرد.

لئو بریمن (Leo Breiman) دو پارادایم آماری را مطرح ساخت: مدل داده و مدل الگوریتمیک، که مدل “الگوریتمیک” کما بیش به معنای الگوریتم های یادگیری ماشین مثل جنگل تصادفی است.

برخی آماردانان با استفاده از روش های یادگیری ماشین، گرایشی ساخته اند که آن را یادگیری آماری می نامند.

تئوری یادگیری ماشین

یک هدف اساسی ماشین یادگیرنده، تعمیم دهی از تجربه است. منظور از تعمیم دهی در این چهارچوب، توانایی یک ماشین یادگیرنده در داشتن عملکردی دقیق در فعالیت ها و مثال های جدید و دیده نشده، بر مبنای تجربه آن ماشین با مجموعه داده های آموزش است.  مثال های آموزشی از یک توزیعِ عموماً ناشناخته می آیند (که به عنوان نماینده فضای رخدادها در نظر گرفته می شود) و یادگیرنده باید برای این فضا مدلی عمومی تولید کندکه به آن، توانایی پیش بینیِ بقدر کافی دقیق در موارد جدید را بدهد.

تحلیل محاسباتی الگوریتم های یادگیری ماشین و عملکرد آن ها شاخه ای از علوم کامپیوتر نظری تحت عنوان نظریه یادگیری محاسباتی را تشکیل می دهد. چون مجموعه های داده های آموزشی، متناهی هستند و آینده قطعیت ندارد، نظریه یادگیری معمولا تضمینی در مورد عملکرد الگوریتم ها به ما نمی دهد. در عوض، کران های احتمالاتی روی عملکرد، بسیار معمول هستند. تجزیه اُریب-واریانس (bias-variance decomposition) راهی برای کمّی سازی خطای تعمیم دهی است.

برای داشتن بهترین عملکرد در چهارچوب تعمیم دهی، پیچیدگی فرض باید به اندازه پیچیدگی تابع زمینه داده ها باشد. اگر فرض پیچیدگی کمتری از تابع داشته باشد، آنگاه مدل، داده ها را زیربرازش (underfit) کرده است. اگر در پاسخ، پیچیدگی مدل افزایش یابد، آنگاه خطای آموزش کاهش می یابد. اما اگر فرض بسیار پیچیده باشد، مدل در معرض بیش برازش  (overfit)قرار می گیرد و تعمیم دهی ضعیف می شود.

علاوه بر کران های عملکردی، نظریه پردازان یادگیری محاسباتی، پیچیدگی زمانی و امکان پذیری یادگیری را نیز مطالعه می کنند. در نظریه یادگیری محاسباتی، یک محاسبه را امکان پذیر نامند هرگاه در زمان چند جمله ای قابل انجام باشد. دو نوع نتیجه از نظر پیچیدگی زمانی وجود دارد: نتایج مثبت حاکی از آن هستند که طبقه خاصی از توابع در زمان چند جمله ای قابل یادگیری هستند و نتایج منفی نشانگر این هستند که طبقه های خاصی در زمان چند جمله ای قابل یادگیری نیستند.

روش های یادگیری ماشین

یادگیری درخت تصمیم یا Decision tree learning

روش یادگیری درخت تصمیم از یک درخت تصمیم به عنوان مدل پیشگو استفاده می کند که مشاهدات در مورد یک شیء را به نتایجی در مورد ارزش هدف این شی می نگارد.

یادگیری قانون وابستگی

یادگیری قانون وابستگی روشی برای کشف روابط جالب توجه میان متغیرها در پایگاه های بزرگ داده است.

شبکه های عصبی مصنوعی

یک الگوریتم شبکه عصبی مصنوعی (ANN)، که معمولا “شبکه عصبی” (NN) نامیده می شود، الگوریتمی است که از ساختار و جنبه های عملکردی شبکه های عصبی بیولوژیکی الهام گرفته شده است. در این شبکه، محاسبات در قالب گروه های متصلی از نورون های مصنوعی، ساختار می یابند و اطلاعات را با یک روش پیوندگرایی به محاسبات، پردازش می کند. شبکه های عصبی مدرن، ابزارهای مدل سازی غیر خطی داده های آماری هستند. این شبکه ها معمولا برای مدل سازی روابط پیچیده بین ورودی ها و خروجی ها، الگو شناسی در داده ها، یا دریافت ساختار آماری در یک توزیع توئم احتمال میان متغیر های مشاهده شده استفاده می شوند.

یادگیری عمیق

کاهش قیمت سخت افزار و تولید GPU برای مصرف شخصی در سال های اخیر به توسعه مفهوم یادگیری عمیق که از چندین لایه پنهان در یک شبکه عصبی مصنوعی تشکیل می شود، کمک کرده است. این روش سعی دارد راهی را که با آن، مغز انسان، نور و صوت را به بینایی و شنوایی پردازش می کند، مدل سازی نماید. برخی از کاربردهای موفق یادگیری عمیق، بینایی ماشین و شناسایی گفتار است.

برنامه نویسی منطقی استقرایی

برنامه نویسی منطقی استقرایی (ILP) روشی برای هدایت یادگیری با استفاده از برنامه نویسی منطقی به عنوان نمایشی یکنواخت برای مثال ها (داده ها)ی ورودی، دانش پس زمینه و فرضیات است. با داشتن یک کدگذاری (encoding) از دانشِ معلومِ پس زمینه و مجموعه ای از مثال ها که به عنوان پایگاه داده ای از حقایق نمایش داده می شود، یک سیستم ILP برنامه ای منطقی استخراج می کند که تمام مثال های مثبت را نتیجه دهد و هیچ یک از مثال های منفی را نتیجه ندهد. برنامه نویسی استقرایی (inductive programming) شاخه ای مرتبط است که هر نوع زبان برنامه نویسی برای نمایش فرضیات را در بر می گیرد (و نه فقط برنامه نویسی منطقی)، از قبیل برنامه های تابعی.

ماشین های بُردار پشتیبانی

ماشین های بردار پشیتیبانی (SVM) مجموعه ای از روش های یادگیری نظارت شده ی مرتبطی هستند که برای طبقه بندی و رگرسیون استفاده می شوند. با داشتن مجموعه ای از مثال های آموزشی که هر کدام به عنوان عضوی از یکی از دو دسته فوق علامت گذاری شده اند، الگوریتم آموزشی SVM مدلی می سازد که پیش بینی می کند یک مثال جدید به کدام دسته تعلق خواهد گرفت.

ماشین بردار پشتیبانی، دسته ساز (طبقه سازی) است که فضای ورودی خود را به دو ناحیه تقسیم می کند، که توسط یک مرز خطی از هم جدا شده اند. در این مثال، ماشین یاد گرفته است که دایره های سفید و سیاه را از هم جدا کند.

 خوشه بندی یا Clustering

تحلیل خوشه ای به معنای تخصیص مجموعه ای از مشاهدات به زیرمجموعه هایی (به نام خوشه) است بطوریکه مشاهداتِ درون یک خوشه، بنابر معیار یا معیارهایی از پیش تعیین شده، شبیه باشند و مشاهداتی که در خوشه های مختلف قرار دارند، بی شباهت باشند. تکنیک های خوشه بندی متفاوت، روی ساختار داده ها فرضیات متفاوتی دارند، که اغلب توسط یک متریک تشابه تعریف می شوند و، به عنوان مثال، توسط فشردگی درونی (تشابه بین اعضای درون یک خوشه) و جدایی بین خوشه های مختلف ارزیابی می شوند. روش های دیگر مبتنی بر چگالی تخمینی و همبندی گراف می باشند. خوشه بندی یک روش یادگیری بی نظارت، و تکنیکی متداول برای تحلیل داده های آماری است.

شبکه های بِیزی یا Bayesian networks

شبکه بیزی، شبکه باور (belief network) یا مدل گراف جهتدار غیرمدور، یک مدل گرافی احتمالاتی است که مجموعه متغیرهای تصادفی و استقلال شرطی آن ها را توسط یک گراف جهتدار غیرمدور (DAG) نمایش می دهد. برای مثال، شبکه بیزی می تواند ارتباط های احتمالاتی میان بیماری ها و علائم بیماری را نمایش دهد. با داشتن علائم، شبکه می تواند احتمال وجود بیماری های مختلف را محاسبه کند. الگوریتم های اثربخشی وجود دارند که استنباط و یادگیری را انجام می دهند.

یادگیری تقویتی

تمرکز روش یادگیری تقویتی بر این است که یک عامل چگونه باید در یک محیط عمل کند تا نوعی پاداش بلند مدت را بیشینه کند. الگوریتم های یادگیری تقویتی سعی دارند قاعده ای پیدا کنند که وضعیت های جهان را به عمل هایی که عامل باید در این وضعیت ها انجام دهد، تصویر کند. تفاوت یادگیری تقویتی با یادگیری نظارت شده در این است که جفت های صحیح وردودی/خروجی هرگز ارائه نمی شوند و نیز فعالیت های زیر-بهین (sub-optimal) نیز صریحاً اصلاح نمی شوند.

یادگیری نمایش یا Representation learning

هدف برخی الگوریتم های یادگیری، عمدتاً الگورییم های یادگیری بدون نظارت، این است که نمایش بهتری برای ورودی های ارائه شده در آموزش پیدا کنند. مثال های کلاسیک در این زمینه، تحلیل مولفه های اصلی و تحلیل خوشه ای هستند. الگوریتم های یادگیری نمایش اغلب سعی در حفظ اطلاعات در ورودی ها دارند اما می خواهند آن را به شکلی تبدیل کنند که ورودی سودمند شود، که اغلب این عمل در مرحله پیش پردازش قبل از طبقه بندی یا پیش بینی انجام می شود، و امکان بازسازی ورودی ها را که از یک توزیعِ ناشناختهِ مولدِ داده می آیند فراهم می کند، در حالیکه لزوماً به ویژگی هایی که تحت این توزیع نامحتمل هستند، وفادار نمی ماند.

الگوریتم های یادگیری منیفلد (Manifold learning) سعی دارند همین کار را با این محدودیت که نمایش یادگیری شده بُعد پایینی دارد، انجام دهند. الگوریتم های کدگذاری تُنُک سعی دارند همین کار را با این محدودیت که نمایش یادگیری شده تنک است (یعنی صفرهای زیادی دارد)، انجام دهند. الگوریتم های یادگیری زیرفضای چندخطی سعی دارند نمایش های با بُعد پایین را مستقیماً از نمایش های تانسوری داده های چند بعدی، بدون دادن شکل بُرداری (بعد بالا) به آن ها، یادگیری کنند.

الگوریتم های یادگیری عمیق، چندین سطح نمایش، یا سلسله ای از ویژگی ها را کشف می کنند، که ویژگی های سطح بالاتر و انتزاعی تر، بر حسب ویژگی های سطح پایین تر تعریف شده اند (یا آن ها را تولید می کنند). استدلال شده است که یک ماشین هوشمند ماشینی است که نمایشی را یاد می گیرد که فاکتورهای اساسی تغییرات را که داده های مشاهده شده را توضیح می دهند، تمییز دهد.

یادگیری تشابه و متریک

در این مسئله، به ماشین یادگیرنده جفت های مثالی که مشابه در نظر گرفته شده اند، و جفت هایی که تشابه کمتری دارند، داده می شود. سپس ماشین باید یک تابع تشابه (یا یک تابع فاصله متریک) را یاد بگیرد که پیش بینی کند آیا اشیاء جدید شبیه هستند یا خیر. این روش برخی اوقات در سیستم های توصیه گر استفاده می شود.

یادگیری دیکشنری تُنُک یا Sparse dictionary learning

در این روش، یک داده به شکل ترکیبی خطی از توابع پایه ای نمایش داده می شود، و فرض می شود که ضرایب این ترکیب تنک هستند. فرض کنید که x یک داده d بُعدی و D یک ماتریس d در n باشد که هر ستون آن نمایشگر یک تابع پایه ای است. r ضریب نمایش x با استفاده از D است. از نظر ریاضی، یادگیری دیکشنری تنک به معنی حل دستگاه x ≈ Dr است که در آن r تنک است. بطور کلی n از d بزرگ تر فرض می شود تا آزادی برای نمایش تنک فراهم شود.

یادگیری دیکشنری با نمایش های تُنُک “ان-پی کاملِ قوی”  (strongly NP-hard) است و حل تقریبی آن هم دشوار است. یک روش ابتکاری محبوب برای یادگیری دیکشنری تنک K-SVD است.

یادگیری دیکشنری تنک در چندین چهارچوب مورد استفاده قرار گرفته است. در طبقه بندی، مسئله، تعیین کلاسی است که داده ای که قبلا ناشناخته بوده، به آن  تعلق دارد. فرض کنید که قبلاً یک دیشکنری برای هر کلاس ساخته شده است. آنگاه یک داده جدید به کلاسی مرتبط می شود که دیکشنری آن کلاس بهترین نمایش تنک برای آن داده را بدست دهد. یادگیری دیکشنری تنک در کاهش نویز تصویر نیز استفاده شده است. ایده کلیدی این است که یک تصویر “تمیز” را می توان به شکل تنک توسط یک دیکشنریِ تصویر نمایش داد، اما نویز را نمی توان.

الگوریتم های ژنتیک

یک الگوریتم ژنتیک (GA)، الگورریتم جستجوی ابتکاری است که از فرایند انتخاب طبیعی  تقلید می کند، و به امید یافتن پاسخ های مناسب به یک مسئله، ازروش های مثل جهش (mutation) و دوتیرگی (crossover) برای تولید کروموزوم جدید، استفاده می کند. در یادگیری ماشین، الگوریتم های ژنتیک در دهه های 1980 و 1990 کاربرد یافتند. برعکس، تکنیک های یادگیری ماشین نیز برای بهبود عملکرد الگوریتم های تکاملی و ژنتیک مورد استفاده قرار گرفته اند.

یادگیری ماشین قانون-محور

یادگیری ماشین قانون-محور عبارتی کلی برای هر نوع روش یادگیری ماشینی است که  برای ذخیره، کنترل یا استفاده از دانش، “قوانینی” را شناسایی، یادگیری یا استنتاج می کند. ویژگی مشخصه یک ماشین یادگیرنده قانون-محور، شناسایی و استفاده از مجموعه ای از قوانین است که بطور جمعی، نمایشگر دانش فراگرفته شده توسط سیستم هستند. این روش، با سایر یادگیرنده های ماشینی که عموماً یک مدل واحد را در تمام موارد برای پیشگویی می شناسند، در تمایز است. روش های یادگیری ماشین قانون-محور شامل سیستم های طبقه ساز یادگیرنده، یادگیری قانون وابستگی و سیستم های ایمنی مصنوعی هستند.

سیستم های طبقه ساز یادگیرنده Learning classifier systems

سیستم های طبقه ساز یادگیرنده یا به عبارتی طبقه بندی کننده ی یادگیرنده (LCS)، خانواده ای از الگوریتم های قانون-محور یادگیری ماشین هستند که یک مولفه اکتشاف (مثلاً بطور معمول یک الگوریتم ژنتیک) را یا یک مولفه یادگیرنده (که یادگیری نظارتی، یادگیری تقویتی یا یادگیری بی نظارت را انجام می دهد) ترکیب می کنند.  هدف این سیستم ها شناسایی مجموعه ای از قوانین وابسته به موضوع است که بطور جمعی، دانش را ذخیره و برای پیش بینی ها آن را به شکلی چند ضابطه ای استفاده می کنند.

کاربردهای یادگیری ماشین

کاربردهای یادگیری ماشین شامل موارد زیر است:

  • اثبات قضیه بطور خودکار
  • وبسایت های تطبیقی
  • هوش مصنوعی احساسی
  • بیوانفوماتیک
  • واسط مغز و رایانه
  • شیمی‌ انفورماتیک
  • طبقه بندی رشته های DNA
  • آناتومی محاسباتی
  • بینایی ماشین، از جمله شناسایی اشیاء
  • شناسایی کارت اعتباری جعلی
  • بازی عمومی (general game playing)
  • بازیابی اطلاعات
  • شناسایی کلاه برداری های اینترنتی
  • زبان شناسی
  • بازاریابی
  • کنترل یادگیری ماشین
  • ادراک ماشین
  • تشخیص پژشکی
  • اقتصاد
  • بیمه
  • پردازش زبان طبیعی
  • استنباط زبان طبیعی
  • بهینه سازی و الگوریتم های فرا ابتکاری
  • تبلیغات آنلاین
  • سیستم های توصیه گر
  • حرکت ربات
  • موتورهای جستجو
  • تحلیل احساسات (یا نظر کاوی)
  • مهندسی نرم افزار
  • شناسایی گفتار و دست نوشته
  • تحلیل بازارهای مالی
  • نظارت بر درستی ساحتار
  • الگوشناسی ترکیبی
  • پیش بینی سری های زمانی
  • تحلیل رفتار کاربر
  • ترجمه

در سال 2006 کمپانی فیلم سازی آنلاین نتفلیکس اولین رقابت “جایزه نتفلیکس” را برگزار کرد تا برنامه ای پیدا کند که پیش بینی بهتری از تمایلات کاربر داشته و دقت الگوریتم فعلی توصیه فیلم (Cinematch) خود را لااقل 10% بهبود بخشد. گروهی متشکل از محققان بخش تحقیق و آزمایشگاه AT&T به همراه تیم های Big Chaos و Pragmatic Theory یک مدل چندگانه (ensemble model) ساختند که برنده جایزه 1 میلیون دلاری سال 2009 شد.

اندکی بعد از اهدای جایزه، نتفلیکس متوجه شد که امتیازدهی بینندگان، بهترین شاخص برای الگوی تماشای آن ها نیست (“همه چیز یک توصیه است”) و بنابراین موتو توصیه گر خود را تغییر دادند.

در سال 2010 وال استریت ژورنال مقاله ای راجع به شرکت Rebellion Research و استفاده آن ها از یادگیری ماشین برای پیش بینی بحران مالی نوشت.

در سال 2012، وینود کسلا (Vinod Khosla) یکی از موسسین سان مایکروسیستمز (Sun Microsystems)، پیش بینی کرد که در دو دهه آینده بیش از 80% از فرصت های شغلی پزشکی توسط نرم افزارهای تشخیص پزشکی یادگیری ماشین از بین خواهد رفت.

در سال 2014، گزارش شد که یک الگوریتم یادگیری ماشین در مطالعه تاریخ هنر استفاده شد تا نقاشی های هنرهای زیبا را بررسی کند، و نیز گزارش شد که این الگوریتم ممکن است تاثیرگذاری هایی را میان هنرمندان نشان داده باشد که قبلا شناخته شده نبوده است.

ارزیابی مدل

مدل های یادگیری ماشین طبقه بندی را می توان با تکنیک های تخمین دقت مثل روش هولد اوت (holdout) که داده ها را به یک مجموعه آموزش و یک مجموعه آزمایش تقسیم می کند (معمولا دو-سوم داده ها  در مجموعه آموزش و یک-سوم را در مجموعه آزمایش قرار می گیرند) و عملکرد مدل تحت آموزش را روی مجموعه آزمایش ارزیابی می کند، راستی آزمایی نمود. در مقایسه، روش تصدیق متقاطع N تایی  (N-fold cross validation) بطور تصادفی داده ها را به k زیرمجموعه تقسیم می کند که k-1 مورد از داده ها برای آموزش مدل استفاده می شود و   k-اُمین مورد برای آزمایش توانایی پیشگویی مدل استفاده می شود. علاوه بر روش های holdout و تصدیق متقاطع، راه اندازی خودکار (booststrap) که n مورد را، با جایگذاری، از مجموعه داده ها نمونه گیری می کند، می تواند برای ارزیابی دقیق مدل استفاه شود.

محققان علاوه بر دقت کلی، اغلب حساسیت و ویژگی را، که به ترتیب به معنای نسبت مثبت واقعی (TPR) و نسبت منفی واقعی (TNP) هستند، گزارش می کنند. بطور مشابه، محققین برخی اوقات نسبت مثبت کاذب  (FPR) و نسبت منفی کاذب (FNR) را نیز گزارش می کنند. با این حال، این ها نسبت هایی هستند که صورت و مخرج خود را نشان نمی دهند. مشخصه عملگری کل (TOC) روشی موثر جهت بیان توانایی تشخیص یک مدل است. TOC صورت و مخرج نسبت های فوق را نمایش می دهد، لذا اطلاعات بیشتری از منحنی های معمول مشخصه عملیاتی سیستم (ROC) و مساحت زیر این منحنی (AUC) بدست می دهد.

مسائل اخلاقی

یادگیری ماشین پرسش های اخلاقی متعددی را بوجود می آورد. سیستم های آموزش دیده روی مجموعه های داده های اُریب یا بایاس (bias) ، ممکن است این اریبی ها را هنگام استفاده نمایش دهند، لذا تبعیضات فرهنگی را دیجیتالی کنند. بنابراین جمع آوری مسئولانه داده ها بخش مهمی از یادگیری ماشین است.

چون زبان دارای اریبی است، ماشین هایی که روی پیکره های زبان  (language coropa) آموزش داده شده اند لزوماً اریبی را نیز یاد می گیرند.

نرم افزارها

برخی بسته های نرم افزاری که الگوریتم های یادگیری ماشین متنوعی دارند به شرح زیر هستند:

نرم فزار های رایگان و متن باز:

CNTK
Deeplearning4j
dlib
ELKI
GNU Octave
H2O
Mahout
Mallet
MEPX
mlpy
MLPACK
MOA (Massive Online Analysis)
MXNet

ND4J: ND arrays for Java

NuPIC
OpenAI Gym
OpenAI Universe
OpenNN
Orange
R
scikit-learn
Shogun
TensorFlow
Torch
Yooreeka
Weka

نرم افزارهای مالکیتی با ویرایش های رایگان و متن باز:

KNIME
RapidMiner

نرم افزار های مالکیتی:

Amazon Machine Learning
Angoss KnowledgeSTUDIO
Ayasdi
IBM Data Science Experience
Google Prediction API
IBM SPSS Modeler
KXEN Modeler
LIONsolver
Mathematica
MATLAB

Microsoft Azure Machine Learning

Neural Designer
NeuroSolutions
Oracle Data Mining
RCASE
SAP Leonardo
SAS Enterprise Miner
SequenceL
Skymind
Splunk
STATISTICA Data Miner

ژورنال ها

Journal of Machine Learning Research
Machine Learning
Neural Computation
منبع

یادگیری ماشین قسمت 1
یادگیری ماشین قسمت 2
یادگیری ماشین قسمت 3

منطق فازی (fuzzy logic) چیست؟

منطق فازی (Fuzzy Logic) قسمت 1
منطق فازی (Fuzzy Logic) قسمت 2

فشرده سازی تصویر (Image Compression)، کاربردی از فشرده سازی اطلاعات در تصاویر دیجیتال است. هدف از آن کاهش افزونگی (redundancy) محتویات تصویر است برای ذخیره کردن یاانتقال اطلاعات به شکل بهینه.

فشرده سازی تصویر می‌تواند به صورت بی اتلاف (Lossless) و با اتلاف (Lossy) صورت گیرد. فشرده سازی بی اتلاف برای بعضی تصاویر مثل نقشه‌ های فنی و آیکون‌ها ترجیح داده می‌شود، به این دلیل که فشرده سازی با اتلاف خصوصاً وقتی برای نرخ بیت‌های پایین استفاده شود به کیفیت تصویر لطمه می‌زند. روش‌های فشرده سازی بی اتلاف همچنین ممکن است برای محتویات پر ارزش مثل تصاویر پزشکی یا تصاویر اسکن شده برای بایگانی شدن نیز ترجیح داده شوند. روش با اتلاف مخصوصاً برای تصاویر طبیعی مناسب است که از دست رفتن کیفیت برای دست یافتن به کاهش نرخ بیتقابل توجه باشد.

روش‌های فشرده سازی بدون اتلاف عکس‌ها عبارتند از

– کدگذاری بر اساس طولِ ران (run-length encoding)، استفاده شده در روش‌های پیش‌فرض در dcx و یکی از امکانات TIFF ,TGA ,BMP

– entropy coding

– الگوریتم‌های مطابق واژه‌نامه مثل lzw استفاده شده در GIF,TIFF

– کاهش اعتبار (deflation) استفاده شده در TIFF ,MNG ,PNG

روش‌های فشرده سازی پراتلاف عبارتند از

کاهش فضای رنگی

کاهش فضای رنگی برای رنگهایی که بیشتر در عکس استفاده شده‌اند. رنگی که انتخاب شده در پالت رنگ در بالای عکس فشرده شده مشخص می‌شود. هرپیکسل فقط به شاخص رنگ در پالت رنگ اشاره داده می‌شود.

chroma subsampling

این روش براساس این واقعیت است که چون چشم انسان تغییرات مکانی روشنایی را سخت تر از رنگ درک می‌کند به وسیلهٔ میانگین‌گیری یا حذف کردن برخی از اطلاعات رنگ تابی یک عکس عمل فشرده سازی صورت گیرد.

تغییر شکل دادن کدگذاری (transform coding)

این روش بطور عادی بیشترین استفاده را دارد.

fractal compression

بهترین کیفیت عکس در یک نرخ بیت (یا نرخ فشرده سازی) معین هدف اصلی از فشرده سازی عکس است.

به هر حال ویژگی‌های مهم دیگری از رویه‌های فشرده سازی عکس وجود دارد که عبارتند از: ‘

مقیاس پذیری (scability)

به‌طور کلی به کاهش کیفیت حاصل شده در اثر دستکاری گروه بیتی یا فایل گفته می‌شود. (بدون بازیابی). نام‌های دیگر برای مقیاس پذیری،progressive coding یا embedded biststream است. با وجود خلاف واقعی بودنش مقیاس‌پذیری نیز می‌تواند در رمز گذارهای (codec) بدون اتلاف یافت شود. مقیاس‌پذیری خصوصاَ برای پیش نمایش عکس‌ها در حال دریافت کردن آن‌ها یا برای تهیه کیفیت دستیابی متغیر در پایگاه‌های داده مفید است.

انواع مختلف مقیاس پذیری عبارتند از :

 کیفیت مترقی(progressive quality)

یا لایه مترقی (layer progressive) گروه بیتی پی در پی عکس را از نو می‌سازد.

وضوح مترقی (progressive resoloution)

ابتدا یک عکس وضوح پایین را کدگذاری می کند سپس تفاوت‌های وضوح بالاتر را کدگذاری می‌کند.

مؤلفه مترقی (progressive component)

ابتدا رنگ را کدگذاری می‌کند.

ناحیه

جذاب کدگذاری (region of interest coding) نواحی خاصی از عکس باکیفیت بالاتری نسبت به سایر نقاط کد گذاری می‌شوند و می‌تواند با مقیاس‌پذیری (کدگذاری ابتدایی یک بخش و دیگران بعداً) ترکیب شود.

اطلاعات

غیر نمادین(meta information) داده‌های فشرده شده می‌توانند شامل اطلاعاتی در رابطه با عکس باشد که می‌توان برای طبقه‌بندی کردن، جستجو یا بررسی عمومی عکس از آن‌ها استفاده کرد. مانند اطلاعاتی که می‌توانند شامل رنگ و الگو و پیش نمایش کوچکتر عکس‌ها و اطلاعات خالق و کپی رایت باشد.

قدرت

پردازش(processing power) الگوریتم‌های فشرده سازی اندازه‌های متفاوتی از قدرت پردازش را برای کدگذاری و کدگشایی درخواست می‌کنند. بعضی از الگوریتم‌های فشرده‌سازی عالی قدرت پردازش بالا می‌خواهند.

کیفیت

روش فشرده سازی اغلب به وسیلهٔ سیگنال ماکزیمم به نسبت پارازیت (peak signal-to-noise ratio) اندازه‌گیری می شونداندازه پارازیت‌ها نشان دهند؟ فشرده سازی پراتلاف عکس است به هر حال قضاوت موضوع گرایانه بیننده همیشه بیان کنند؟ اهمیت اندازه‌گیری است.

Jpeg2000

Jpeg2000 یک استاندارد فشرده سازی عکس براساس wavelet (wavelet-basedاست؛ و در سال 2000 به‌وسیله کمیته Joint Photographic Experts Group با نیت جایگزین کردن با استاندارد اصلیJpegکه براساس تغییر گسسته(discrete cosine transform-based) است (محصول سال1991) تولید شده‌است. jpeg2000 زمان بیشتری را برای عملیات باز کردن فشردگی نسبت به JPEG طلب می‌کند.

اثبات از بالا به پایین محصولات فشرده سازی JPEG 2000: شماره‌ها نشان‌دهنده ضریب تراکم استفاده شده‌است.برای مقایسه بهتر شکل بدون مقیاس را نگاه کنید. محصولات JPEG 2000 به فرم JPEG متفاوت به نظر می‌رسند و یک جلوه صیقلی روی عکس وجود دارد و برای نمایان شدن سطوح فشرده سازی بالاتری اختیار می کنند. اغلب یک عکس گرفته شده می‌تواند به اندازه اندازه فایل اصلی خود(bitmapفشرده نشده) بدون متحمل شدن اثر نمایان شدن فشرده شوند

منبع


فشرده سازی با اتلاف داده و بدون اتلاف داده

بسیاری از افراد احساس می‌کنند که تنها باید از فرمت‌های تصاویری استفاده شود که از تکنولوژی فشرده سازی بدون اتلاف داده بهره می‌برند. این نوع فشرده سازی برای بسیاری از تصاویر مناسب است اما در بسیاری از موارد نیازی به آن نیست. استفاده از این نوع فشرده سازی به این معناست که همه داده‌ها از فایل اولیه حفظ شوند اما فشرده سازی با اتلاف داده برخی داده‌ها را از فایل اولیه حذف می‌کند و تصویر را با حجم کم ذخیره می‌کند. در فشرده سازی با اتلاف داده شما می‌توانید بگویید نرخ فشرده سازی تصاویر چقدر باشد و چه میزان از داده‌ها در نظر گرفته نشود.

فشرده سازی بدون اتلاف داده

روش‌های کمی برای فشرده سازی بدون اتلاف داده وجود دارد. روش اولکدگذاری طول اجرا (run-length encoding) است که برای فایل‌های BMP استفاده می‌شود. این روش داده‌های متوالی با مقادیر یکسان را می‌گیرد و آن‌ها را با یک متغیر count که بیانگر طول داده‌های یکسان است، ذخیره می‌کند. این روش برای فایل‌های گرافیکی مناسب است زیرا مقادیر داده یکسان بسیاری دارند.

فشرده سازی بدون اتلاف

روش دیگر فشرده سازی بدون اتلاف داده، DEFLATE نام دارد که برای تصاویر PNG نیز استفاده می‌شود. این روش از ترکیب الگوریتم کدینگ هافمن و LZ77 ساخته شده است. از این روش در فشرده سازی gzip و ZIP نیز استفاده می‌شود. الگوریتم Lempel-Ziv-Welch یا LZW هم یکی دیگر از روش‌های فشرده سازی است بدون اتلاف داده است که روی داده‌ها یک آنالیز ساده و محدود انجام می‌دهد. از این روش در فرمت‌های TIFF و GIF استفاده می‌شود.

فشرده سازی با اتلاف داده

روش‌های فشرده سازی با اتلاف داده محدود هستند، برخی از آن‌ها با روش‌های بدون اتلاف داده هم ترکیب می‌شوند تا فایل‌هایی با اندازه کوچک‌تر ایجاد کنند. یکی از این روش‌ها، کاهش فضای رنگ تصویر به متداول‌ترین رنگ‌های داخل تصویر است. از این روش برخی اوقات در فرمت تصاویر PNG و GIF استفاده می‌شود.

فشرده سازی با اتلاف

یک روش دیگر، تبدیل رمزگذاری (Transform encoding) است که برای تصاویر JPEG استفاده می‌شود. در این روش تصاویر با روش DCT یا تبدیل کسینوس گسسته به بلوک‌هایی تقسیم می‌شوند و در نهایت تصویری ایجاد می‌کنند که رنگ‌هایی کمتر از تصویر اولیه داشته باشد.

نمونه‌برداری کروما (Chroma subsampling) نام روش دیگری است که بر مبنای این اصل عمل می‌کند: «چشم انسان تغییرات در روشنایی را سخت‌تر از تغییر رنگ متوجه می‌شود.» نمونه‌برداری کروما اطلاعات روشنایی را نگه‌می‌دارد و برخی از اطلاعات رنگ را حذف می‌کند. از این روش در تصاویر JPEG و برخی الگوریتم‌های کاهش حجم ویدئو استفاده می‌شود.

انواع مختلف فایل‌ها

در این مقاله سه فرمت مشترک در طراحی وب یعنی PNG ،JPEG و GIF را معرفی می‌کنیم. غیر از این سه، تعداد زیادی فرمت دیگر هم وجود دارند که از روش‌های فشرده سازی استفاده می‌کنند، مثل: TIFF ،PCX ،TGA و غیره.

فرمت GIF

GIF یا فرمت تبادل گرافیکی (Graphics Interchange Format) در سال ۱۹۸۷ به‌وسیله CompuServe معرفی شد و یک فرمت تصویربرداری است. این فرمت تا ۸ بیت در هر پیکسل را پشتیبانی می‌کند، یعنی یک تصویر می‌تواند تا ۲۵۶ رنگ RGB مختلف داشته باشد. یکی از بزرگ‌ترین ویژگی‌های این فرمت توانایی ایجاد تصاویر متحرک است.

انواع فایل

فرمت JPEG

JPEG یا Joint Photographic Experts Group فرمتی برای تصاویر است که از فشرده سازی با اتلاف داده استفاده می‌کند. یکی از بزرگ‌ترین مزیت‌های JPEG این است که به طراح اجازه می‌دهد مقدار فشرده سازی را به میزان لازم تنظیم کند. این کار نتیجه بهتری درباره کیفیت و اندازه مناسب به دست می‌دهد. چون JPEG از فشرده سازی با اتلاف داده استفاده می‌کند، تصاویری که با این فرمت ذخیره می‌شوند مصنوعی به نظر می‌رسند و می‌توان هاله نور عجیبی در قسمت‌های خاصی از آن‌ها دید. همچنین در بسیاری از قسمت‌های یک تصویر می‌توان کنتراست شدیدی بین رنگ‌ها مشاهده کرد.

انواع فایل

فرمت PNG

PNG یا Portable Network Graphics یک فرمت تصویر است که از فشرده سازی بدون اتلاف داده استفاده می‌کند و برای جایگزین شدن فرمت GIF ایجاد شده است. این فرمت برای مدت طولانی در اینترنت اکسپلورر پشتیبانی نمی‌شد که به همین دلیل فرمت‌های JPEG و GIF متداول‌تر شدند؛ اگرچه در حال حاضر PNG در همه مرورگرها پشتیبانی می‌شود. یکی از بزرگ‌ترین مزیت‌های PNG این است که از تنظیمات متفاوت شفافیت (transparency)، مانند شفافیت کانال آلفا (alpha channel transparency)، پشتیبانی می‌کند.

انواع فایل

 انتخاب یک فرمت فایل مناسب

هر کدام از فرمت‌هایی که در بالا ذکر شد، برای انواع متفاوتی از تصاویر مناسب هستند. انتخاب فرمت مناسب منجر به کیفیت بالاتر و اندازه فایل کوچک‌تر می‌شود. انتخاب یک فرمت اشتباه به این معناست که تصاویر شما کیفیت متناسبی با حجمشان ندارند.

برای تصاویر گرافیکی ساده مانند لوگوها یا ترسیم خطوط، فرمت GIF بهتر کار می‌کند زیرا GIF پالت رنگ محدودی دارد. اگر پیچیدگی بیشتر باشد بهتر است از فرمت دیگری استفاده شود.

فرمت مناسب

برای تصاویر با گرادیان، فرمت GIF مناسب نیست. در این موارد فرمت JPEG هنگامی مفید است که تصویر کنتراست شدیدی نداشته باشد. برای تصاویری با کنتراست بالا یا تصاویر شفاف، فرمت PNG بهترین فرمت است. در اغلب موارد اندازه تصاویر PNG از JPEG بزرگ‌تر است. توجه کنید که فایل‌های PNG از روش بدون اتلاف داده استفاده می‌کنند و کیفیت تصویر اولیه حفظ می‌شود.

فرمت مناسب

در زیر به طور خلاصه، فرمت مناسب برای انواع تصویر را مرور می‌کنیم:

فرمت GIF

اگر در تصویری، انیمیشن، رسم خط یا تصویر گرافیکی ساده نیاز باشد، GIF بهترین گزینه است اما برای تصاویر گرادیان این فرمت مناسب نیست.

فرمت JPEG

برای اغلب تصاویر دوربین که کنتراست بالا ندارند یا برای بازی‌ها و فیلم‌ها این فرمت مناسب است. فرمت JPEG برای تصاویر دارای کنتراست بالا یا جزئیات بالا مناسب نیست، به طور مثال برای دیاگرام یا اینفوگرافیک. همچنین برای تصاویر گرافیکی ساده (به دلیل حجم بالا) بهتر است از فرمت GIF استفاده شود.

فرمت PNG

برای تصاویر حاوی خطوط، تصاویر دارای کنتراست شدید، تصاویر دارای شفافیت (transparency)، دیاگرام‌ها، اینفوگرافیک‌ها و اسکرین‌شات‌ها، فرمت PNG مناسب است. این فرمت برای تصاویر با کنتراست پایین، به دلیل افزایش حجم فایل، توصیه نمی‌شود.

فشرده سازی در پرینت تصاویر

آنچه در بالا گفته شد مربوط به انتخاب فرمت مناسب برای فشرده سازی تصاویر در طراحی وب بود ولی هنگام پرینت گرفتن داستان متفاوت است. الگوریتم فشرده سازی با اتلاف داده برای پرینت گرفتن مناسب نیست و در صورت استفاده، کیفیت افت فاحشی خواهد کرد. برای مثال یک تصویر JPEG ممکن است در مانیتور خوب نمایش داده شود اما هنگام چاپ افت کیفیتش نامطلوب باشد.

به منظور پرینت تصاویر فرمت TIFF یا Tagged Image File Format اغلب بهترین گزینه است. در این حالت باید از فرمت‌هایی (مانند LZW) استفاده کرد که فشرده سازی بدون اتلاف داده به حساب می‌آیند.

منبع

فشرده سازی تصویر قسمت 1
فشرده سازی تصویر قسمت 2