객체인식

반드시알아야할3가지

객체인식이란?

객체인식은이미지또는비디오상의객체를식별하는컴퓨터비전기술입니다。객체인식은딥러닝과머신러닝알고리즘을통해산출되는핵심기술입니다。사람은사진또는비디오를볼때인물,물체,장면및시각적세부사항을쉽게알아챌수있습니다。이기술의목표는이미지에포함된사항을이해하는수준의능력과같이사람이라면당연히할수있는일을컴퓨터도할수있도록학습시키는것입니다。

그림1。객체인식을사용하여다른카테고리의객체식별하기。

객체인식은무인자동차에서활용되는핵심기술로,자동차가정지신호를인식하고보행자와가로등을구별할수있도록합니다。또한객체인식기술은바이오이미징에서의질병식별,산업검사및로봇비전과같은여러분야에서활용할수있습니다。

객체인식과객체감지의차이점

객체감지(对象检测)와객체인식(对象识别)은서로유사한객체식별기술이지만,실행방식은서로다릅니다。객체감지는이미지에서객체의인스턴스를찾아내는프로세스입니다。딥러닝의경우객체감지는이미지에서객체를식별할뿐만아니라위치까지파악되는객체인식의서브셋입니다。이를통해하나의이미지에서여러객체를식별하고각위치를파악할수있습니다。

그림2。객체인식(왼쪽)과객체감지(오른쪽)。

객체인식작동방식

객체인식에는다양한접근방식을사용할수있습니다。최근머신러닝딥러닝기술이객체인식문제에접근하는방식으로널리사용되고있습니다。두기술은이미지에서객체를식별하는방법을학습하지만,실행방식은서로다릅니다。

그림3:객체인식에사용되는머신러닝과딥러닝기술。

다음섹션에서는객체인식에사용되는머신러닝과딥러닝의차이점을설명하고,두기술을구현하는방법을보여줍니다。

객체인식기술

딥러닝을사용한객체인식

딥러닝기술은객체인식에널리사용되는방법이되었습니다。美国有线电视新闻网(컨벌루션뉴럴네트워크)과같은딥러닝모델은객체를식별하기위해해당객체고유의특징을자동으로학습하는데사용됩니다。예를들어CNN에서는수천장의훈련용이미지를분석하고고양이와개를구분하는특징을학습하여고양이와개의차이점을식별하는방법을학습할수있습니다。

딥러닝을사용하여객체인식을실시하는두가지접근방식이있습니다。

  • 기초부터모델훈련시키기:기초부터딥네트워크를훈련시키기위해서는레이블이지정된,매우방대한데이터세트를모으고,네트워크아키텍처를설계하여특징을학습하고모델을완성합니다。이를통해뛰어난결과물을얻을수있지만,이러한접근방식을위해서는방대한분량의훈련데이터가필요하고CNN에레이어와가중치를설정해야합니다。
  • 사전훈련된딥러닝모델사용하기:대다수딥러닝응용프로그램은사전훈련된모델을세밀하게조정하는방법이포함된프로세스인전이학습방식을사용합니다。이방식에서는AlexNet또는GoogLeNet과같은기존네트워크를사용하여이전에알려지지않은클래스를포함하는새로운데이터를주입합니다。이방법을사용하면수천또는수백만장의이미지로모델을미리훈련한덕분에시간소모가줄게되고결과물을빠르게산출할수있습니다。

딥러닝은높은수준의정밀도를제공하지만,정확한예측을위해서는대량의데이터를필요로합니다。

그림4:식당음식을인식하는데객체인식을사용하는딥러닝응용분야。

머신러닝을사용한객체인식

머신러닝기술도객체인식에널리사용되고있으며,딥러닝과는다른접근방식을제공합니다。머신러닝기술이사용되는일반적인사례는아래와같습니다。

머신러닝워크플로

표준머신러닝방식을사용하여객체인식을수행하려면이미지(또는비디오)를모아각이미지에서주요특징을선택합니다。예를들어특징추출알고리즘을사용하면데이터에서클래스간의구분에사용할수있는가장자리또는코너특징이추출됩니다。

그런다음,이러한특징을머신러닝모델에추가하여각특징을고유카테고리로나눈후새로운객체를분석및분류할때이정보를사용합니다。

정확한객체인식모델을만들기위해다양한머신러닝알고리즘과특징추출방법을조합하여사용할수있습니다。

그림5:객체인식에사용되는머신러닝워크플로。

객체인식에머신러닝을사용하면다양한특징과분류기를최적으로조합하여학습에사용할수있습니다。최소의데이터로도정확한결과를얻을수있습니다。

객체인식을위한머신러닝과딥러닝의차이점

최적의객체인식접근방식은응용분야와해결하려는문제에따라다릅니다。많은경우,특히객체의클래스를구분하기위해이미지의어떤특징을사용하는것이가장좋은지알고있을때는머신러닝이효과적인기술일수있습니다。

머신러닝과딥러닝중무엇을선택할지고민되는경우에는고성능GPU와대량의레이블이지정된학습용이미지를보유하고있는지를중점적으로고려해야합니다。이러한조건이갖추어지지않았다면머신러닝방식이보다나은선택일수있습니다。딥러닝기술은이미지가많을때더나은결과를보여주는경향이있으며,GPU는모델을학습시키기위해필요한시간을줄이는데도움이됩니다。

그림6:딥러닝과머신러닝중에서선택할때고려해야하는주요요소。

자세히알아보기

기타객체인식방법

응용분야에따라서는좀더기초적인다른객체인식방법을사용하는것만으로도충분할수있습니다。

  • 템플릿매칭- 대형이미지에서일치하는부분을찾기위해소형이미지또는템플릿사용
  • 이미지분할및BLOB분석——크기,색상또는모양과같은단순한객체속성사용

일반적으로이미지분할과같은단순한방식을사용하여객체를인식할수있으면단순한방식을사용하여시작하는것이좋습니다。이러한방식을통해수백또는수천장의훈련용이미지또는과도하게복잡한솔루션이필요하지않으면서도견고한솔루션을사용할수있습니다。

객체인식

MATLAB을활용한딥러닝및머신러닝

전문가가아니어도단몇줄의MATLAB®코드로객체인식을위한머신러닝및딥러닝모델을만들수있습니다。

객체인식에MATLAB을사용하면다음과같은이점이제공되어짧은시간안에성공을거둘수있습니다。

  1. MATLAB으로분야별전문지식을활용하여데이터과학을학습할수있습니다。

    MATLAB을활용하여머신러닝과딥러닝영역에서전문지식을습득할수있습니다。MATLAB은이러한영역에대한학습을실용적이고이해하기쉽게만듭니다。또한MATLAB을사용하는전문가는산업또는응용분야에관한지식이없을수있는데이터과학자에게작업을넘기지않고도객체인식모델을만들수있습니다。

  2. 앱을사용하여데이터에레이블을지정하고모델을만들수있습니다。

    MATLAB을사용하면최소의코드로머신러닝과딥러닝모델을만들수있습니다。

    分类学习앱을사용하면머신러닝모델을빠르게완성하고코드작성없이여러머신러닝알고리즘을비교할수있습니다。

    图片标志앱을사용하면딥러닝모델학습및테스트를위해이미지내의객체에대화형방식으로레이블을지정하고비디오상의레이블지정작업을자동화할수있습니다。이대화형자동방식을통해짧은시간안에더나은결과물을얻을수있습니다。

  3. 객체인식을단일워크플로로통합할수있습니다。

    MATLAB은여러영역을단일워크플로로통합할수있습니다。MATLAB을사용하면하나의환경에서생각하고프로그래밍할수있습니다。또한,딥러닝과머신러닝뿐만아니라로봇공학,컴퓨터비전및데이터분석등의다양한알고리즘영역에제공되는툴과기능을사용할수있습니다。

MATLAB은엔터프라이즈시스템,클러스트,클라우드및임베디드기기에모델을배포하는작업을자동화합니다。

30일무료평가판

자세히보기