工學博士學位請求論文 인체에투사된레이저스트라이프의패턴인식 Recognition Methods of Stripe Waves Projected to a Body 2005 年 8 月 仁荷大學校大學院 電子工學科 ( 電子通信工學專攻 ) 石鉉宅
工學博士學位請求論文 인체에투사된레이저스트라이프의패턴인식 Recognition Methods of Stripe Waves Projected to a Body 2005 年 8 月 指導敎授郭慶燮이論文을工學博士學位論文으로提出함 仁荷大學校大學院電子工學科 ( 電子通信工學專攻 ) 石鉉宅
이論文을石鉉宅의博士學位論文으로認定함. 2005 年 8 月 主審 副審 委員 委員 委員
요약 레이저는현대문명의중요한부분을차지하고있는분야이다. 그분야중레이저를이용하여거리를측정하며, 물체나환경의입체적정보를얻고있는레이저측정분야가있다. 측정방법으로는비행시간측정방법 (TOF:Time Of Flight) 과삼각측정방법 (TM:Triangulation Measurement) 등이사용되고있다. 또한측정장치구현방법으로는기본적으로레이저측정기를하나만사용하여측정하는측정방식에서부터여러측정포인트를 2차원어레이로구현하여특정지역을입체적으로스캔하는 3차원측정기술까지발달해가고있는실정이다. 이러한측정기술을이용하여근거리로는산업용품의입체적측정이나, 문화재의입체정보측정에사용되고있으며, 원거리로는비행체를통해지상을촬영하거나바다속의난파선이나지형등을측정하는데사용되고있다. 최근에는측정된거리정보를 3차원영상으로처리하여물체를인식하거나추적하는연구가활발히진행중이다. 하지만, 레이저를이용하여인체의자세를인지하는연구는미미한실정이다. 인체의자세인식기술은보안이나방범분야에서매우중요한일을할수있다. 특정지역에서사람이어떤위험한행동을하고있는지를실시간으로무인감시할수있다면, 사고방지에큰역할을할수있게되는것이다. 지금까지인체의자세를인식하는방법은주로영상처리를통해서연구되고있지만많은처리시간과 2 차원영상신호가갖는한계점으로인해어려움에처해있는실정이다. 그러나본연구에서는레이저를이용하여인체를스캔하고나타난그반사파형에서신체의입체적정보를얻을수있으며, 파형정보가 1차원정보이므로쉽게처리할수있는특징을가지게된다. 본논문에서는이러한특징을이용하여, 인체에투사된레이저반사파형을통해인체가취한기본적인자세를인지하는방법에대하여제안하고 - i -
실험및연구하였다. 레이저와 CCD카메라를일정간격을두고물체에레이저를수평으로투사하면, CCD에물체의입체적특징을포함하는반사파가나타나게된다. 이런방법으로인체에투사된반사파형을분석하였으며, 분석결과기본적인인체의자세에따라 3가지의특징적인기본파형이있음을확인하였다. 따라서이러한파형을통해, 스캔된반사파형이어떤인체의자세인지를인식할수있게되는것이다. 본논문에서인체에투사된반사파형분석을위해실험용레이저스캐너를직접제작하였으며, CCD 카메라에나타난수평방향의패턴을효율적으로인식하기위해여러가지패턴인식알고리즘을사용하여실험하였다. 실험결과신경망을이용한인식방법의인식율이가장좋음을확인하였다. 이렇게인식된패턴열이어떤자세를취하고있는지를인식하기위해서 HMM(Hidden Markpv Model) 방법을통해인식하도록하였다. 이는패턴열이시변하는특징이있기때문이다. 이러한실험을통해스캔된반사파형이어떠한자세를취하고있는지를알수있 었으며, 실험한 4 가지의기본자세를인식하는데 98~100% 의매우높은인식률을 얻을수가있었다. 향후고해상도의레이저스캐너를이용하여세부적인인체의자세인식에대한 연구를수행한다면, 특정지역에서의사람들의정밀한자세추적이가능하리라판단 된다. - ii -
Abstract Laser is one of the most important fields that have contributed to developing the modern civilization. By using one of the laser techniques, it is possible to measure the distances or get the 3-dimensional information of objects. Here are two of several measuring methods ; one uses the time of flight(tof) and the triangulation method(tm). Many ways to embody the measuring machine have also developed from the one point type using a laser source to measure the 2-dimensional distance to the multi array points type forming a 2-dimensional plane to measure the 3-dimensional distance. Using these measuring techniques can give the 3-dimensional informations of industrial products or cultural properties at a short distance and those of the shipwreck in the deep sea and topography from airplanes or satellites at a long distance. Some studies are actively proceeding that recognize objects by changing the measured informations into 3-dimensional images. However the study on the recognition of poses of human body by laser scanning technique is immaterial under the present condition. The recognition of human poses is very important in the fields of safety and crime prevention. If it is possible for the manless surveillance facility to watch whether the people acts dangerously, it does a big role to prevent accidents. Until now the recognition of human poses were focused on the image processing through only CCD. So it is difficult to solve the limit of 2-dimensional images and long time processing. But in this study, it can be possible to get the 3-dimensional information through the reflected stripe waves scanned by laser and the signals of waves is one-dimensional, so using its features it can be possible to recognize the human poses projected laser. Here we suggest that the reflected waves projected to human - iii -
body can be recognized through pattern recognition algorithms using the laser scan technique based on the triangulation method. If laser and a CCD camera are set at a regular distance and laser is projected on the object at a level, the reflected waves which show 3-dimensional images of objects appear on the CCD camera. The reflected waves are the stripes including 3-dimensional informations and the sequence of stripes forms a human body which have the informations of poses. Through some experiments, it is found that the projected waves to the human body are classified to 3 patterns basically. So the poses of a human body are recognized by using the classified patterns. To analyze the reflected waves in this study, a low level laser scanner was made and many pattern recognition algorithms were used in the tests to recognize horizontal patterns shown on the CCD camera effectively. As a result of tests, the neural net pattern recognition, which is shown well in the pattern recognition field, turned out to be the most effective. After recognition of the patterns, a sequence of patterns is acquired including the human pose. The length of sequence has a changeable feature by the times of scanning. HMM(Hidden Markpv Model) is well known to recognize the time variable patterns. So HMM was used to find out the postures of a human body with the sequence of patterns acquired from tests. In this test, the poess of a human body were recognized with the reflected waves and four basic postures of human body were recognized from 98% to 100% successfully. After this, if more specified studies are carried out to study various actions of a human body with a laser scanner of high resolution, it will be possible to recognize the minute actions of a human body. - iv -
목 차 제1장서론... 1 제2장삼각측정법을이용한 3차원형상측정... 10 제3장스트라이프패턴인식방법... 16 3.1 푸리에서술자... 16 3.1.1 푸리에서술자를이용한특징벡터추출... 16 3.1.2 퓨리에서술자계산... 21 3.1.3 파형인식하기... 23 3.2 히든마르코브모델... 24 3.2.1 마르코브모델... 24 3.2.2 HMM의종류와특성... 27 3.2.3 이산형 HMM... 33 3.2.4 HMM의생성, 학습및인식... 35 3.2.5 전향 (fowerd) 알고리즘... 38 3.2.6 후향알고리즘... 40 3.2.7 Viterbi 알고리즘... 43 3.2.8 Baum-Welch 알고리즘... 45 3.3 다층퍼셉트론신경회로망... 48 3.3.1 생물학적뉴런의모델링... 48 3.3.2 신경망의분류... 56 3.3.3 오류역전파학습알고리즘... 59 - v -
3.3.4 델타학습규칙... 61 3.3.5 일반화된델타학습규칙... 67 3.3.6 BP 알고리즘... 73 제4장스트라이프패턴인식... 79 4.1 실험장치의제작... 79 4.2 파형특성추출... 85 4.2.1 레이저스트라이프파형입력... 85 4.2.2 파형을받기위한환경... 90 4.2.3 디지털 FIR 필터... 91 4.2.4 각자세를스캔한패턴에서의특징파형추출... 96 4.2.5 파형분리... 98 4.3 레이저스트라이프의패턴인식... 102 4.3.1 패턴인식을위한모델제안... 102 4.3.2 최소거리비교법처리결과... 107 4.3.3 푸리에서술자비교법처리결과... 112 4.3.4 HMM 처리결과... 117 4.3.5 신경망을이용한인식실험처리결과... 121 4.3.6 여러인식방법의처리결과비교... 127 4.4 인체스캔파형인식... 128 제5장실험결과및고찰... 138 제6장결론... 142 참고문헌... 144 - vi -
그림목차 그림 2-1. 물체의거리에따라서 CCD에다른각도로보임----- 10 그림 2-2. 슬릿광으로인한줄무늬 (stripe) --------------- 11 그림 2-3. XY 평면투영도 --------------------------- 12 그림 3-1. 디지털경계와이의복소열표현 --------------- 16 그림 3-2. 푸리에서술자로부터재현된보기들 ------------- 17 그림 3-3. 마르코브모델 ----------------------------- 25 그림 3-4. 상태천이에따른 HMM의세가지모델 --------- 29 그림 3-5. 관측치분포에따른 HMM 모델링열 ----------- 31 그림 3-6. 전향변수와후향변수를구하는방법 ----------- 41 그림 3-7. 전향변수와후향변수의파라미터관계 --------- 41 그림 3-8. 일반적인뉴런의모델 ----------------------- 52 그림 3-9. 단층전방향신경회로망 --------------------- 55 그림 3-10. 단층신경망의구조 ------------------------ 57 그림 3-11. 다층신경망의구조 ------------------------ 57 그림 3-12. 순방향다층신경망의구조 ------------------- 59 그림 3-13. 다중출력단층신경망 ---------------------- 61 그림 3-14. 다층전방향신경회로망 --------------------- 67 그림 4-1. 제작한레이저스캐너의제어보드와구동부블록도 --- 79 그림 4-2. 제작한레이저스캐너의모터제어용보드 --------- 80 그림 4-3. 3D 스캐너와 CCD 카메라와 PC의실험도 -------- 81 그림 4-4. 제작한 3D 스캐너의블록도 ------------------- 82 그림 4-5. 제작한레이저스캐너의모습 ------------------ 84 - vii -
그림 4-6. 레이저스캐너의원리 ----------------------- 85 그림 4-7. 평면을스캔한레이저스트라이프궤적 ----------- 86 그림 4-8. 인형을스캔한스트라이프사진 ---------------- 87 그림 4-9. 레이저스캔에의한신체의부분별스트라이프파형 - 89 그림 4-10. 잡음을동반한레이저스캔사진 -------------- 90 그림 4-11. 여러경우의차단주파수를통해나타난패턴 ----- 94 그림 4-12. 팔과다리를여러가지로하여취한경우의패턴 -- 95 그림 4-13. 팔과다리를벌린파형과추출된파형------------ 96 그림 4-14. 기본자세파형과추출된파형 ------------------ 97 그림 4-15. 레이저스캔파형 ------------------------- 98 그림 4-16. 레이저스캔파형에서분리된파형 ----------- 99 그림 4-17. 레이저스캔파형에서분리된파형 ----------- 99 그림 4-18. 레이저스캔파형에서분리된파형 ----------- 100 그림 4-19. 기본적인자세인식방법 ------------------- 102 그림 4-20. 제안하는인식처리과정의흐름도 ------------ 103 그림 4-21. 최소거리비교법을사용한처리과정 ----------- 107 그림 4-22. 최소거리비교법을이용하고 1개와 100개의패턴을사용한인식결과 -------------------------- 111 그림 4-23. 푸리에서술자비교법을사용한처리과정 -------- 112 그림 4-24. 푸리에서술자방법을이용하고 1개와 100개의패턴을사용한인식결과 -------------------------- 116 그림 4-25. HMM 방법을사용한처리과정 -------------- 117 그림 4-26. HMM 방법을이용하고 100개의패턴을사용한인식결과 ------------------------------------ 120 - viii -
그림 4-27. 신경망방법을사용한처리과정 ------------ 121 그림 4-28. 신경망방법을이용하고 1개와 100개의패턴을학습한후인식결과와인식률이떨어지는부분을재학습한후의인식결과 --------------------------------------- 126 그림 4-29. 팔을벌리고다리를모은자세 --------------- 130 그림 4-30. 팔과다리를모은차려자세 ------------------ 130 그림 4-31. 다리의벌린정도를나타내는그림 ------------ 132 그림 4-32. 몸과팔의벌어진정도를나타내는그림 -------- 132 그림 4-33. 몸과양팔의벌어진정도를나타내는그림 ------ 133 그림 4-34. HMM에서처리하기위한인체의특징패턴들 --- 134 그림 4-35. 3가지특징을갖는차려자세의기본패턴파형 ---- 135 그림 4-36. 3가지특징을갖는다리벌린자세의기본패턴파형 -- 136 그림 4-37. 3가지특징을갖는팔을벌린자세의기본패턴파형 -- 136 그림 5-1. 인식처리화면 -------------------------- 140 - ix -
표목차 표1-1. 본실험에서사용된패턴인식방법들 ------------------- 6 표3-1. 푸리에서술자들의기본성질들 ------------------ 20 표4-1. 스캔된스트라이프파형의분류 ------------------- 101 표4-2. 인식실험에사용된모델 ------------------------ 106 표4-3. 최소거리법을이용하고 1개패턴만을사용한인식결과 ---- 109 표4-4. 최소거리법을이용하고 100개패턴을사용한인식결과 ---- 110 표4-5. 푸리에서술자방법을이용하고 1개의패턴을사용한인식결과 ------------------------------------------ 114 표4-6. 푸리에서술자방법을이용하고 100개의패턴의평균을사용한인식결과------------------------------------ 115 표4-7. HMM방법을이용하고 100개의패턴의평균을사용한인식결과 ----------------------------------------- 119 표4-8. 신경망방법을이용하고 1개의패턴을사용한인식결과 ---- 123 표4-9. 신경망방법을이용하고 100개의패턴을학습한후인식결과 - 124 표4-10. 신경망방법을이용하고 100개의패턴을학습한후인식률이떨어지는부분을재학습한후의인식결과 ---------- 125 표4-11. 다양한인식방법을사용한파형패턴인식결과 ------- 127 표4-12. 인체형상의특징에서분리된특징파형을인식한인식률 -- 128 표5-1. 여러자세를학습시킨후의인식률 (%) --------------139 - x -
약어목록 BA BP BWA CCD CHMM DFT DHMM FA FD FIR HMM LPF MLM MLP MM NN PE SHMM VA Backward Algorithm Back Propagation Baum Welch Algorithm Charge Coupled Device Continuous HMM Discrete Fourier Transform Discrete HMM Forward Algorithm Fourier Descriptor Finite Impulse Response Hidden Markov Model Low Pass Filter Maximum Likelihood Model Multi Layer Perceptron Markov Model Neural Network Procesing Element Semi continuous HMM Viterbi Algorithm - xi -
제 1 장서 론 3차원정보를인식하는방법으로는비전시스템을이용하여 3차원물체를인식하려는방법 [1] 과, 레이저를이용하여 3차원형상을얻는방법 [2] 등으로연구되어지고있다. 레이저를이용하는분야는단일포인트레이저측정장치로스캔하여입체정보를얻는방법에서부터, 측정포인트를 2차원어레이로구성하여 3차원입체정보를한번에얻는레이저비전분야로확장되었다. 측정영역도근거리의물체를스캔하는데서원거리의물체나지역을스캔하여정보를제공하는등다양한분야에까지활용되고있다. 근거리용으로는산업계측용이나문화재의디지털정보데이터베이스구축을위한 3차원형상측정기가많이개발되어사용되고있으며 [4], 원거리로는군사. 정보분야에서특정지역이나외부의지형지물등환경을감시하거나해저의바다속을스캔하는장치 [7,8] 등으로연구개발되고있다. 레이저스캐너의원리는기본적으로빛의비행시간을측정하여거리를계산하는방법 (TOF:Time Of Flight) 과레이저와물체와의삼각관계를기하학적으로계산해내는삼각측정방법 (Triangulation Measuring Method) 등이있다. 그림 2-1은삼각측정방법의원리를나타내고있는데, 물체에레이저를투사하면그반사된빛이비전카메라를통해영상에나타나게되며, 이때카메라와레이저가물체와맺는각도에따라레이저파형이변형되어보이게되며이를스트라이프 (stripe) 라하고, 이렇게변형된스트라이프파형은삼각관계에따라 3차원적으로계산되어질수있게된다. 이러한방식의레이저스캐너는물체의형상을스캔할때조밀하게스캔할수록물체의 3차원정보를정확하게획득할수있게된다.[9-13] - 1 -
비행시간을이용한측정방법은레이저가발사되고물체에도달하면반사가되어다시원래위치로되돌아오게되는데이반사광이되돌아오는시간을측정함으로써그거리를계산할수있게되는것이다. 비전방식의기본원리는이차원영상들을이용한영상기반표현 (Image Based Representation) 기술을기본으로구현되는데 [14-21], 거리적인정보를얻을수있는방법으로서깊이영상기반모델링방법 [22-23] 과디스페리티를이용한모델링방법 [24-25] 등이사용되어질수있다. 깊이영상기반모델링방법은실세계영상과레인지파인더를이용하거나영상처리기술을이용하여같은시점에서의깊이영상 (depth image) 을사용하여 3차원모델을구성하는방법을말하며, 디스페리티 (disparity) 를이용한모델링방법은 3차원입력자료를바탕으로물체를양안의시차 (binocular parallax) 개념을기반으로한다. 즉, 스테레오카메라를사용하여두대의카메라에맺히는상의위치가측정대상의깊이정보에따라달라지게되는데이렇게다른정도를디스페리티라고부르며이디스페리티정보로부터대상오브젝트의 3차원정보를추출해낸다. 또한최근에는레이저스캔기술과비전방식을복합적으로사용하여레이저를통한거리적정보와 CCD를통한환경의색상정보를통해물체의영역을추출해내며, 추출된물체의영역을다양한영상처리메커니즘을통해물체를인식하게된다 [26-27]. 그러나지금까지의레이저를이용한인식방향은주로이동체에서의근거리장애물인식이나군사용의근 / 원거리내의군장비인식에관한연구 [28-30] 가주를이루고있다. 레이저를이용한영상획득기술은기본적으로삼각측정방법을사용하며, 이는물체에투사된레이저와이를포착하는카메라간의관계를삼각측정방법을통해물체의세밀한입체적정보를얻는데사용되며, 이러한방법외에 - 2 -
도공초점방식과위상변조방식등을통해서도물체의정보를얻을수있으며, 정밀한제어장치의도움을필요로한다. 또한레이저의비행시간을통해해당물체와의거리를측정하는방법은원거리를측정하는방법으로많이사용되었으며, 기술이발달됨에따라짧은시간에많은포인트를측정하게되어원하는지역의거리적정보를영상을통해입체적으로파악할수있게되었다. 이러한정보의특성은동일거리에있는물체나지역이그의형상의특징을나타내고있기때문에이러한형상을패턴정합을통해인식하려는많은연구가진행되고있으며주로원거리의물체나지역의패턴인식에치우쳐있다. 본연구는레이저와카메라가떨어져삼각관계를형성하는삼각측정방식에입각하고수미터 ~ 수십미터떨어진지역에서의물체를스캔하고나타난파형을분석하고인식하는연구로서특히인체에대하여스캔한파형의특징을분석하고인식하는방법에대하여연구한것이다. 지금까지레이저를이용한인체의인식 ( 감지 ) 에대한연구는미미한실정이다. 기존의일반적인인체의인식은인체감지센서에의존하여인체를인식해왔다. 그러나인체감지센서는사람과동물을구분하지못하고있는실정으로유사시많은오동작을유발하고있어제한된곳에서만사용되고있는실정이다. 물론인체의유무만을감지할뿐이지어떤행동을하는지에대해서는전혀알수가없다. 이러한상황에서레이저를이용하여인체를스캔하고나타난스트라이프파형을검토하여인체의특성을포함하는특정한파형을찾아낸다면, 스캔된신호속에서의파형을통해인체를감지해낼수있으리라판단된다. 또한이러한특징을갖는파형을찾아인체의자세인식에활용할수있다면인체의세부적인자세까지도파악할수있는단계까지가능 할것이다. 이러한방법은인체의특징적인파형만을필요로하기때문에 조밀하게레이저를스캔하지않아도인체를인식할수있게된다. - 3 -
본논문은이러한기본적인생각을가지고수개의스트라이프신호로도 그물체의특징을가지고있는경우에그신호가어떤물체에대한신호인지 를가려낼수있다고생각하고, 우선사람의형상에대한스트라이프신호를 분석하였다. 사람에대해스캔한스트라이프신호는인체의특별한형상으 로인해특정한패턴을갖게된다. 즉, 머리나목, 어깨부분은하나의아크 나펄스파형처럼나타나게된다. 이러한파형이높이나길이는다를수있겠지만하나의특징있는파형을형성하게된다. 그리고몸통부분즉배, 가슴과팔이있는부분도팔의작은 2개의파형과배의큰파형으로모두 3 개파형이나타난다. 이러한현상은항상그런것은아니다. 팔이배앞에있거나뒷짐을지고있는경우는팔과몸이서로붙어있게되어하나의파형으로나타나기도한다. 마지막으로, 다리부분은 2개의파형이나타나게된다. 이렇게정상자세에서는사람에대한스트라이프파형은머리, 목, 어깨부분을특징짓는하나의파형과배와팔을특징짓는큰파형과작은두개의파형, 그리고다리를나타내는두개의파형으로특징지워지는 3가지의파형 특징을갖게된다. 이러한기본적인특징패턴들을컴퓨터가인식하게된 다면사람이특정한레이저스캔영역에들어왔을때사람을인식할수있게되는것이다. 또한나아가서다양한사람의행동에대한특징패턴들을계속연구한다면컴퓨터는다양한사람의행동에대해서도인식할수있을것이다. 이렇게본연구는컴퓨터가사람을인식 ( 감지 ) 하도록하기위해서기본적인자세부터분석하고자하였다. 본연구를진행하기위해서는기본적으로 3차원레이저스캐너와 CCD카메라, 그리고영상입력장치와컴퓨터등고가의실험장비가필요하게된다. 특히 3차원레이저스캐너는매우고가이어서실험실에서보유하기가쉽지않아직접저급의레이저스캐너를제작하였다. 레이저발진기는강의나회 - 4 -
의중에일반적으로많이사용하는레이저포인터를사용하고, x축, y축제어를위해모터를연결하고모터를제어하도록하는제어보드를제작하였다. x축모터는 x축으로수평회전을하게하고 y축모터는 x축모터가 1회전을수행하면한스텝을 y축으로이동시켜새로이동된 x축회전이되도록하였다. 또한레이저스캐너와 CCD카메라는반사파형을얻기위해레이저스캐너를 2m위에두고 CCD카메라를 1m 아래에두었다. 영상입력보드를통해영상이입력되면간단한영상처리를수행하여파형을 2차원데이터로변환하고그값을인식알고리즘처리를위해저장하였다. 이렇게사람을특징짓는기본적인파형들을컴퓨터가인식할수있게하기위해서는컴퓨터에기본적인파형들과유사한다양한파형들을훈련시켜놓고새로운스트라이프파형이들어오면이것을학습된파형과비교하여가장유사한파형으로결정하게하고이렇게결정된일련의파형들이인체의저장된여러자세의패턴열과유사한지를조사하여가장유사한패턴열을갖는인체의자세를결정하게된다. 이렇게인체를인식하기위해서는기본적으로인체를스캔한여러스캔라인파형들을순차적으로조사하여그속에서인체의부위에해당하는패턴을찾고, 그조사된패턴열들이어떤신체의자세에해당되는패턴열인가를조사하여최종적으로어떤특정자세를 취하고있는지를판단하게되는것이다. 이렇게인체를인식하기위해서는 두번에걸쳐서패턴을인식해야하는데첫번째의패턴인식은앞에서언급한것처럼인체부위의특징을가지고있는패턴파형을찾는방법으로, 지금까지다양한방법들이연구되어져왔으며일반적인방법을표1.1에나타내었다. 기본적인방법으로는입력된파형과저장된파형과의최소거리를계산해보는최소거리방법이있으며, 푸리에서술자를계산하여비교하는푸리에서술자방법, HMM (Hidden Markov Model) 을이용한패턴인식방법, 신 - 5 -
표 1.1 본실험에서사용된패턴인식방법들. Table 1.1 Pattern recognitions used in this experiment. 인식방법특징응용분야 최소거리비교 - 패턴의좌표간유클리디언거리값의평균을비교 - 기본적이고단순한방법. 패턴인식 푸리에서술자 신경망 HMM - 패턴경계선의좌표를푸리에변환할때나타나는푸리에계수를유한개로저장하여비교하는방법 - 경계선을갖는패턴에대하여적용 - 계수를많이저장할수록정확해짐 - 2차원정보를 1차원정보로변환하는특징있음 - 인체의뇌신경구조를모방한인식방법 - 학습이가능 - 정적인패턴인식에강함 - 많은구축시간필요 - 다양한변수설정으로전문성필요 - 관측이가능한심볼을통해관측이불가능한확률과정을모델링하는방법 - 학습이가능 - 동적인패턴인식에강함 - 가능한많은관측자료가필요함 패턴인식문자인식패턴인식문자인식영상인식패턴인식음성인식영상인식 경망을이용한패턴인식방법등이있다. 푸리에서술자를이용하는방법 [31-33] 은필기체문자를인식하는데좋은방법으로많은연구가되어져있으며특히 2차원도형의좌표를 1차원처럼표현할수있는특징이있어 2차원도형의처리시간보다처리시간이적게드는장점이있다. HMM을이용한패턴인식방법은음성인식에서많이사용되는패턴인식 - 6 -
방법으로서가변길이의패턴인식에좋은성능을발휘하고있다 [34-56]. 또한신경망을이용한패턴인식방법은인체의신경의기능을모방한방법으로패턴인식에탁월한기능을나타내고있다 [57-84]. 이에본연구에서는인체의특성을나타내는표본패턴 32개를정하고 [ 그림6-18] 이와유사한패턴들을 100개씩정하고이를학습한후앞에서열거한방식들을통하여모두인식실험을실시하였으며 [ 표6-2~ 표6-8], 실험결과신경망을이용한패턴인식방법이제일우수한것으로나타났다 [ 표6-1]. 따라서레이저스캔파형을신경망을통해인식하였다. 이렇게인식된패턴들은스캔된라인수에따라패턴열을형성하게되며, 가변길이의패턴열을얻게된다. 이러한가변길이의패턴열은 HMM을통한인식방법이더욱효율적임으로패턴열인식은 HMM을이용하여인식하도록하였다. 인식에필요한학습알고리즘은 Baum-Welch 알고리즘을이용하여학습하였다. 이러한과정을통해인체의스트라이프신호를처리한결과학습된특정파형이나타나는경우에높은인식률 [ 표6-10] 로사람을인식 ( 감지 ) 할수있음을확인할수있었다. 이러한인식방법은기존의특정사람의인식 (Human Identification) 메커니즘과는달리물체가사람인지아닌지를판별하는방법으로서방범이나경비분야, 인명구조분야, 혹은군사분야로서어느지역내에존재하는사람의확인등에활용될수있을것이다. 또한나아가사람이어떤행동을하는지도파악할수있을것이다. 현재로서는차려자세나팔, 다리를벌린자세등 단순한사람의행동만을파악하고있는실정이다. 하지만나아가더욱복 잡한인간의행동까지도파악, 인식하게된다면, 특정지역에침투한인체의행동과자세를통해컴퓨터는그행동에따른세부적인대응조치를취할수있게될것이다. 예를들면무인현금자동인출코너에서사람이정상적인인금인출행위를하지않고장치를파괴하거나혹은비정상적인행위를할 - 7 -
때에바로즉각적인조치를취할수가있게된다. 그렇지않은현재에는사고발생후에녹화된영상을확인하는데에그치고있는것이다. 본논문의전개를위해 2장에서는삼각측정법을이용한 3차원형상측정방법에대해소개하였으며, 본형상인식에필요한패턴파형의발생원리와그에해당되는측정방법을설명하였다. 3장에서는패턴인식에사용되는여러기술들을설명하였는데, 3.1절에서는푸리에서술자를이용한방법에대하여설명하였다. 푸리에서술자방식은필기체문자인식에서좋은효과를보이는인식방법으로서많이사용하는패턴인식방법이다. 또한 3.2절에서는 HMM(Hidden Markov Model) 에대하여설명하였다. HMM 방법은시변하는패턴에대해좋은효율을나타내는패턴인식방법으로주로음성인식에많이사용되는방법이다. 3.3절에서는신경망을이용한패턴인식방법에대해설명하였다. 신경망을이용한패턴인식방법은다양한분야에서좋은효율을나타내는패턴인식방법이다. 이러한방법들을사용하여인체의특징을나타내는패턴파형들을효율적으로인식할수있는적절한패턴인식방법을찾고자하였으며, 신경망을이용한방법이가장효율적인인식결과를나타내었으며, 신경망을통하여인체의특징을가지고있는패턴을인식하였다. 인식결과는스캔라인수만큼의패턴열을찾게된다. 4장에서는인체의스캔파형을획득하기레이저스캐너를제작하였다. 스캐너는단순하게동작하는저급의레이저스캐너이며, 이장비를통해인체의기본적인자세를스캔하였고스캔된파형은신경망을통해인체의특징패턴을찾아내며, 패턴열을만들게된다. 4.4절에서는추출된패턴열은 HMM을통해인체의어떤자세인지를판단하게된다. 이렇게 HMM 방법을이용하여앞에서인식된패턴열을인식하였다. HMM 은시변하는패턴열을인식하는데가장좋은방법으로알려져있다. 5 장에서 - 8 -
는 HMM을이용한인식처리결과를나타내었다. 결과는매우좋게나타났으며 96~100% 의인식률을나타내었다. 6장에서는결론을맺었으며, 계속적인인식실험을통해인체의세부적인동작까지레이저스트라이프신호를처리하여인체를인식하게함으로서, 나아가인체의연속적인자세에대한인식도가능할수있게되리라판단된다. - 9 -
제 2 장삼각측정법을이용한 3 차원형상측정 레이저는일반빛과는달리발사된후어느물체에닿기전에는직진하는성질이있다. 직진하다물체에닿는순간빛은물체의상태에따라여러방향으로반사되며, 카메라를통해그반사된빛을관측할수가있게된다. 빛은반사된물체의위치에따라카메라에서다른위치에촬영이되는데이는레이저를발사시킨레이저소스와카메라와물체와이루는삼각형의형상이다르게이루어지기때문이다. 이렇게물체와이루는거리의차이로인해그림 2-1에서처럼 CCD 카메라에차이각을형성하게된다. 이러한삼각특징을이용하여그물체의크기나거리등을계산해낼수가있게된다. 레이저빛을점광원이아닌선광원 ( 혹은슬릿광 ) 을사용하게되면, 그림2-2과같이물체에한점만보이는것이아니라줄무늬로보이게되며, 물체의입체 계측물 계측물 계측물 산란 레이저 결상렌즈 CCD 그림 2-1. Fig. 2-1. 물체의거리에따라서 CCD에다른각도로보임 CCD shows different views according to positions. - 10 -
레이저 CCD Light 렌즈 계측물 그림 2-2. Fig. 2-2. 슬릿광으로인한줄무늬 (stripe) Stripe from the sheet of light or slit light. 형상에따라 ccd 카메라에서는줄무늬의파형패턴을형성하게된다. 이러한 파형을스트라이프 (stripe) 라하며, 그파형의모양에그물체형상의특징을 나타내게되는것이다. 따라서실제의물체는 3차원공간상에위치해있으며, 이것이 CCD 화면에 2차원평면에매핑 (mapping) 되어나타나게되고레이저의슬릿광을이용하여 3차원의좌표를얻을수있게된다. CCD에나타나는레이저스트라이프파형형상은주변환경에민감하게나타나며, 어두울수록선명한파형을얻을수가있다. 또한획득된파형역시어떤두께를갖는형상이기때문에세선화를통해서한점혹은한선으로표현되어지게된다. CCD 에매핑된스트라이프형상은 3 차원단면정보를가지고있으며, 이러 한정보를통해 3 차원좌표를측정하기위해서는보정방정식을통하여측 - 11 -
Z V v z (x1,y1,z1 ) (U,V) v v x y 카메라 CCD U Laser (x,y,z) Y H1 X 그림 2-3. XY 평면투영도 Fig. 2-3. Projective of XY plane 정단면의 3 차원좌표값을얻을수가있다. 그림 2-3 에서와같이물체좌표계를 xyz 직교좌표계로설정하고, 카메라 좌표와물체좌표와의관계를설정하는카메라보정을수행하게된다. 즉, q(u 1,V 1 ) 는점 P(x 1,y 1,z 1 ) 에대응되는영상점으로카메라의영상면에 설정된 2 차원 UV 좌표계상의한점으로정의된다. 이때영상점 q(u 1,V 1 ) 와 보정면 H1 위의점 P 사이의관계는카메라를이상적인직선으로가정하면 다음과같은행렬식 (2.1) 로표현될수있다. - 12 -
ꀎX ꀏ _ Y_ = H *ꀎ Xꀏ _ Y_ P = H * Q (2.1) ꀚZ ꀛ ꀚZ ꀛ 위의보정행렬 H * 는식 (2.2) 의최소자승법으로구할수있다. H * = PQ T [ QQ T ] -1 (2.2) 여기에서 H * 는영상점의 2 차원좌표의측정표면상의점인 3 차원공간좌 표사이의관계를나타내는행렬이며, 이는영상점 q(u 1,V 1 ) 과점 P(x 1,y 1,z 1 ) 뿐만아니라이들두점의관계와같이각각의영상점과 3차원 공간점들을연결하는영상선상의모든점들이대응되고있음을의미한다. 하지만 2 차원의좌표와 3 차원의좌표와의관계확립을위해서는추가정보 가요구된다. 이를충족시키기위한구속조건으로레이저라인을이용하게 된다. 따라서, 측정점 P 는레이저광의궤적에포함되며, 레이저광은공간 상에서평면을형성하므로이의평면방정식은다음식 (2.3) 으로나타낼수 있다. [a bc] ꀎ Xꀏ _ Y_ + d = 0 (2.3) ꀚZ ꀛ 위의식 (2.3) 에서평면의계수들을구하기위해 a 를 1 로두고행렬형식으로 다시쓰면다음과같다. - X =[YZ1] ꀎ bꀏ _ c_ -K = GC * (2.4) ꀚd ꀛ 위의레이저면보정행렬또한식 (2.5) 의최소자승법으로구할수있다. C * =[G T G ] -1 (-K) (2.5) - 13 -
슬릿광을이용하였을때측정점에대한 3 차원좌표값은레이저광의평면 방정식과영상점의영상선식사이의교점으로부터구할수있다. 그러므로 임의영상점 (U1,V 1 ) 에대하여 (x 1, y 1,z 1 ) 과 (x 2,y 2, z 2 ) 를지나는카메라의 영상선의방정식은보정행렬 (H 1,H 2 ) 를이용하여구할수있다. 즉영상좌 표 (U1,V 1 ) 에서본각각의보정면상의두점 (x 1, y 1, z 1 ) 과 (x 2,y 2,z 2 ) 를구한 다. 이들점들을이용하여카메라영상선의직선방정식을구하고각각의단 위벡터를 v x,v y,v z 를구할수있고, 다음과같이식 (2.6) 으로표시할수 있다. x-x 1 v x = y-y 1 v y = z-z 1 v z (2.6) 여기서, v x = x 2 - x 1 (x 2 -x 1 ) 2 +(y 2 -y 1 ) 2 +(z 2 -z 1 ) 2 v y = y 2 - y 1 (x 2 -x 1 ) 2 +(y 2 -y 1 ) 2 +(z 2 -z 1 ) 2 v z = z 2 - z 1 (x 2 -x 1 ) 2 +(y 2 -y 1 ) 2 +(z 2 -z 1 ) 2 이를행렬형태로다시쓰면식 (2.7) 과같다. - 14 -
[ v y -v x 0 v z 0 -v x ] ꀎ Xꀏ _ Y_ = [ v xx 1 - v x y 1 v ꀚZ ꀛ z x 1 - v x z 1 ] (2.7) 앞에서구한두면의보정행렬을이용하여구한카메라의직선방정식 (2.7) 과레이저평면방정식 (2.3) 으로부터다음의식 (2.8) 로 3 차원 X,Y,Z 의값을 구할수있다. ꀎv y -v x 0 ꀏꀎ Xꀏ _ v z 0 -v x _ Y_ = ꀎ v x x 1 - v x y 1 ꀏ _ v z x 1 - v x z 1 _ ꀚa b c ꀛꀚ Z ꀛ ꀚ -d ꀛ (2.8) - 15 -
제 3장사용된인식방법 3.1 푸리에서술자 3.1.1 푸리에서술자를이용한특징벡터추출 푸리에서술자는곡선을표현하는방법으로많은응용분야에서쓰이고있다. 이것은곡선을푸리에계수 (Fourier coefficient) 들로구성되어있는푸 리에서술자로표현하는방법이다. 다음그림은 xy 평면에서의 N 점디지 털경계를나타낸것이다. 임의의점 (x 0,y 0 ) 에서시작하여시계방향으로경 계를따라가면, 좌표쌍 (x 0,y 0 ), (x 1,y 1 ), (x 2,y 2 ),..., (x N-1,y N-1 ) 들을지 나가게된다. 이들좌표들은 x(k) =x k 와 y(k) =y k 의형태로표현할수있 다. 이표기법을사용하면, 경계는좌표열 s(k)=[x(k), y(k)] 로표현될수있 다. 여기서 k =0,1,2,...,N-1 이다. 더욱이, 각좌표쌍은하나의복소수 jy Imaginary axis y 0 y 1 x 0 x 1 Real axis x 그림 3-1. 디지털경계와이의복소열표현. Fig. 3-1. Digital boundary and complex expression of it. - 16 -
로다음과같이나타낼수있다. s(k) = x(k) +jy(k) k =0,1,2,...,N-1 (3.1) 즉 x 축은복소열의실수축으로, y 축은허수축으로취급한것이다. 열의해석은달라졌지만, 경계의성질그자체는바뀌지않았다. 이표현방 법은 2 차원문제가 1 차원문제로된다는하나의큰장점을가지고있다. s(k) 의이산퓨리에변환 (Discrete Fourier Transform) 은 F(u) = 1 N-1 N S(k)exp(-j2πuk/N) u =0,1,2,...,N-1 (3.2) k=0 이다. 복소계수들 F(u) 를경계의푸리에서술자라고한다. F(u) 의역푸 리에변환은다시 s(k) 가된다. 즉, N -1 Sn(k) = F n (u) exp(j2πuk/n) k =0,1,2,...,N-1 (3.3) u=0 Original (K=64) P = 2 P = 4 P = 8 P = 16 P = 24 P = 32 P = 40 P = 48 P = 56 P = 61 P = 62 그림 3-2. 푸리에서술자로부터재현된보기들. P 는푸리에계수의수 Fig.3-2. Samples of Fourier descriptors. ( P : no of descriptor) - 17 -
모든 F(u) 의값을사용하지않고단지첫번째 P 개의계수만을사용한다고 가정해보자. 이는위의식에서 u > P -1 에대해서 F(u)=0 으로두는것과 같다. s(k) 의근사식은다음과같이된다. ŝ (k) = P-1 Fn(u)exp(j2πuk/K), u=0 k =0,1,2,...,K-1 (3.4) ŝ(k) 의각요소들을얻는데단지 P 개의항만사용되었지만, k 는여전히 0 에 서 K-1 의범위를가진다. 즉, 근사된경계내에는같은수의점이존재하지 만, 각점의재생에사용되어진항은그렇게많지않다. 따라서, P 가작아 지면경계의더욱세밀한요소들을손실하게된다. 다음그림에는 N =64 점들로이루어진정방형의경계와여러가지 P 값에대해이경계를식을사용하여재현된결과들을보인것이다. P 값이대략 8까지는재현된경계가정방형이라기보다는원의형태에더가깝게보인다는것에주목하라. 다음으로 P 값이 56 근방까지는모서리점이거의나타나지않고, 이값에서모서리점이열에서돌출되기시작한다. 마지막으로 P =61일때곡선이직선으로펴지기시작하고, 뒤에한계수를더붙이면원래의모양과거의같게된다. 따라서, 몇개의낮은차수의계수들로는개략적인형태를나타낼수있으나에지와직선들과같은날카로운특징들을정확히나타내기위해서는보다많은높은차수의항들이필요하다는것을유념하라. 이결과는영역의형태를나타내는데있어저주파및고주파성분에의한역할분담의관점에서예상되어진것이다. 푸리에서술자는기하학적변화들에대해서도인식이가능하다. 예를들면, 회전을고려해보면, 복소평면의원점에대해각도 θ 만큼의점의회전은그 점을 e jθ 로곱함에의해이루어진다. s(k) 의모든점에대해이렇게하면전 체열을원점에대해회전시키게된다. 회전된열은 s(k) e jθ 이며, 이의푸리 - 18 -
에서술자들은다음과같이된다. Fr(u)= 1 K-1 K s(k)exp(jθ)exp(-j2πuk/k) (3.5) k=0 = F(u)e jθ u =0,1,2,...,K-1 따라서, 회전은곱해지는상수항 e jθ 에의해모든계수들이동등한형향을받는다. 다음의표3.1은경계열 s(k) 가회전, 천이, 크기변화와출발점의변화를 갖는푸리에서술자들을요약한것이다. 기호 Δ xy 는 Δ xy =Δx + j Δy 로정 의되므로수식 s t (k) =s(k) +Δ xy 는다음과같은열을나타내고있다. s t (k) =[x(k) +Δx] +j[y(k)+δy] (3.6) 즉천이는경계상의모든좌표들에대해일정한변이를더함으로써이루어 진다. 천이는임펄스함수 δ(u) 를포함하고있는 u = 0 인경우를제외하고 는서술자들에게아무런영향을미치지않는다는것에유의하라. 결국, 수식 s p (k) =s(k-k 0 ) 는다음과같은열을의미한다. s p (k) = x(k-k 0 )+jy(k-k 0 ) (3.7) 이는단순히열의출발점을 k =0 에서 k = k 0 로바꾼것이다. 표 3.1 의마지 막항목은출발점의변화는 u 에의존하는 F(u) 를그항에곱함으로써모든 서술자들에영향을미친다는것을나타낸다. - 19 -
표 3.1 푸리에서술자들의기본성질들. Table 3.1 Figures of Fourier descriptors. 변환경계 Fourier 서술자 동일 s(k) F(u) 회전 s r (k) =s(k)e jθ F r (u) =F(u)e jθ 천이 s t (k) =s(k) +Δ xy F t (u) =F(u) +Δ xy δ(u) 크기변화 s s (k) =as(k) F s (u) =αf(u) 출발점 s p (k) =s(k-k 0 ) F p (u) =F(u)exp(-j2πk 0 u/n) - 20 -
3.1.2 퓨리에서술자계산 복소계수인 F n (u) 는외곽선에대해정규화된푸리에서술자들이다. F n (u) 에대한역푸리에변환은다음과같다. N -1 Sn(k) = F n (u) exp(j2πuk/n) k =0,1,2,...,N-1 (3.8) u=0 s(k) 의이산퓨리에변환 (Discrete Fourier Transform) 은다음과같다. F n (u) = 1 N-1 N S n (k) exp(-j2πuk/n) u =0,1,2,...,N-1 (3.9) k=0 프로그램상에서는복소수의표현을구현하기가어려우므로다음과같은지 수형태로나타낼수있다. F n (u) = F n (u) e jψ(u) (3.10) N-1 F n (u) = 1 N S n (k) exp(-j2πuk/n) k=0 (3.11) e jθ =cosθ+jsin θ 이므로 N-1 1 F n (u) = N S n (k)(cosθ-j sin θ) k=0, θ = 2πuk/N (3.12) S n (k) =x n (k) +jy n (k) 이므로 N-1 1 F n (u) = N (x n (k)+jy n (k)) ( cos θ -j sin θ) k=0 N-1 1 = N x n (k)cosθ+y n (k)sinθ+j( y n (k)cosθ-x n (k) sinθ) k=0 = {R 2 [F n (u)] + I 2 [F n (u)]} 1/2 (3.13) 이고 - 21 -
ψ(u) =tan -1 I[F n(u) ] R[F n (u)] (3.14) 이다. 또한식에서 R[F n (u)] = 1 N N-1 (x n (k)cosθ+y n (k)sinθ), (3.15) k=0 I[F n (u)] = 1 N-1 N (y n (k)cosθ-x n (k)sinθ) (3.16) k=0 이다. 본연구의패턴인식과정에서숫자에대한푸리에서술자로 20개의 F n (u) 계수를사용하게된다. - 22 -
3.1.3 파형인식하기 파형을인식하기위해서는입력으로들어온영상을전처리과정과푸리에서술자를거쳐나온 20개의푸리에계수들을미리만들어놓은여러개의모델들과비교하여가장유사도가높은모델을해당파형으로인식하게된다. 여기서입력된파형과 j 번째모델과의유사도는다음식3.17과같이정의한다.[7] sim(j ) = N N n Σ F in put (n ) F (j model ) (n ) 2 =1 N j =0, 1, 2,...,M (3.17) 여기서 F input (n) 은입력에서추출한 20 개의푸리에계수들중 n 번째푸리에 계수를뜻하고 F (j) model (n) 은 j 번째푸리에계수를뜻한다. 또한 M 은해당모 델의수를나타낸다. 입력파형은다음식을만족하는모델 j 가나타내는파형으로인식되게된 다. sim (j ) = max sim (j ), j =0, 1, 2,..., M (3.18) - 23 -
3.2 히든마르코브모델 3.2.1 마르코브모델 스트라이프신호는시변하는성질이강한일종의확률신호라볼수있다. 확률모델은시변적신호의패턴인식에있어효율적이며확률모델들중대표적인예는마르코브상태천이함수에그수학적기초를두고있는마르코브모델 (Markov model, MM) 과히든마르코브모델 (hidden Markov model, HMM) 이다 [60-61]. 마르코브모델에서는관측치간의천이 (transition) 는 상태천이확률에의존하며관측가능한상태열은직접적인출력특징으로간 주되어진다. 그림 3-3 에마르코브모델의블록다이아그램이나타나있다 [66]. 마르코브모델에서는그림 3-3 (a) 에나타난것처럼상태들간의천 이가 천이확률 (transition probability) 에의존하여나타나게된다. (b) 에서 는 Markov model(mm) 이다단의상태천이단을 가질수있음을보여준 다. (c) 에서는상태천이단에서의상태천이확률의구성을도시하고있다. 이시스템은어떤시간 t 에서도 N 개의명확한상태, q1,q 2,...,q N 중의한 상태에머물러있는것으로가정할수있다. 그리고상태변수 i t 를시간 t 에서 의시스템상태로사용한다면, 마르코브체인을다음과같은상태천이확률로 구성된행렬 A =[aij ] 로나타낼수있다. L개의서브네트 (subnet) 에해당하 는 L 개의클래스가있다고가정하면각각의서브네트들은다음과같이 A = <A, π > 에의해표현된다. Q = q 1,q 2,...,q N, N 개의가능한상태들의집합 π={π 1,π 2,...,π N }, 여기서 π j = P(q j at t=1) 는초기상태분포 A ={a ij a ij = P(q t+1 = j q t = i}, 상태천이확률행렬 - 24 -
1 1/2 0 0 q 1 q 1/4 2 1/2 q 3 0 1/4 1/2 (a) 마르코브모델에서상태천이도의예. Initial State Distri π State(1) State(2) State(T) O(1) O(2) O(T) (b) 다단의상태천이단을갖는마르코브모델의예. {a ij } q i q i (c) 상태천이단의도시예. 그림 3-3. 마르코브모델. Fig. 3-3. Markovian model(mm). - 25 -
O = O 1, O 2,...,O T, 총길이가 T 인관측열 (observation sequence) 이라 하자마르코브모델을나타내는 A 는상태천이확률, A 와초기상태분포 π 로구성된다. 마르보크모델, A =<A,π> 에서 {a ij } 와 {π j } 는다음과같다. 즉 N 개의가능한상태들 { q j, j =1,2,...,N } 을갖고있는마르코브모델에 서시간 t=1 에서의초기상태확률분포 π j 는다음과같이주어진다. π j = P(q 1 = j) (3.19) 시간 t 의상태에서시간 t +1 의상태로의천이는상태천이확률 aij 에의존 한다. a ij (t) =P(q t +1 = i q t = j ) (3.20) 이에의해관측열 O = O 1, O 2,...,O T 가발생된다. 상태천이확률은다음의공리를만족한다. a ij 0 j =1 a ij = 1 forall i (3.21) N 시간 t =0 에서시스템관측 q 0 가초기상태천이확률벡터 π t ={π 1,π 2,...,π N } 에서규정지어진다고가정하자. 그러면어떤상태열 (state sequence) I =(i 0,i 1,...,i T ) 에대해서도마르코브체인에의해서 I 가생성될확률은다음과같다. P(I a,π)=π i0 a i0 i 1 a i1 i 2... a -1 i t (3.22) - 26 -
3.2.2 HMM 의종류와특성 HMM은관측이불가능한미지의확률과정 (stochastic process) 의관측열을관찰이가능한심볼을발생시키는다른확률과정을통하여모델링하는이중의확률과정이다. HMM은확률모델에기초한모델로써관측들간의천이를표현하는프로세서와각각의관측에서관찰되는관측치를표현하는프로세서로구성된다. 마르코브모델의경우상태들이관측가능하지만 HMM 에서상태열인 i 를관측할수없고, 대신에시간 t 에서의관측치 Ot 가시스템이시간 t 에서의상태 i t 에있을때관측된다고간주할수있다. i 번째상태 qi 에서 ( i =1,2,3,...,N ) Ot 가생성되는과정이확률적이라고가정한다 면, Ot 의생성은다음과같은관측심볼확률 b i (O t ) 의집합 B 에의해서나 타낼수있다. B ={b i (O t )} n=1 (3.23) 여기서 b i (O t )=P(O t i t =q i ) i t = 시간 t 에서의상태 q i =i 번째상태 만약관측치 O = O 1, O 2,...,O T 를출력하는관측열 I =(i 0,i 1,...,i T ) 가알 려져있다면시스템에의해서 O 가발생할확률은다음과같다. P (O I,B) =b i1 (O 1 ) b i2 (O 2 )... b it (O T ) (3.24) - 27 -
그러므로시스템에의해서 O 와 I 가동시에만들어질확률은단순히 (3.22) 식과 (3.24) 식을곱함으로써다음과같이얻어진다. P (O,I π,a,b) =π it Πa it-1 b it (O t ) (3.25) 따라서관측열 있다. O 에의해서대표되는확률과정은다음과같이나타낼수 P(O π,a,b) =π it Π a it-1 b it (O t ) (3.26) 그림 3-4는상태천이에따른 HMM의예이다. (a) 는 4상태를갖는에르고딕모델로서어떤상태로의천이도가능한구조를가지고있다. (b) 는 4 상태를갖는좌우진행모델로서좌측상태에서우측상태로의천이는발생할수있지만우측상태에서좌측상태로의천이는발생하지않는다. (c) 는 6 상태를갖는병렬좌우진행모델로서 (b) 의좌우진행모델과마찬가지로좌측상태에서우측상태로의천이는발생할수있지만우측상태에서좌측상태로의천이는발생하지않는다. - 28 -
(a) 4 상태를갖는에르고딕모델. (b) 4 상태를갖는좌우행모델. (c) 6 상태를갖는모델. 그림 3-4. 상태천이에따른 HMM 의세가지모델 Fig. 3-4. Illustration of topologies of HMMs - 29 -
HMM는각상태내의관측치들의분포형태에따라이산형 HMM(discrete HMM, DHMM), 연속형 HMM(continuous HMM, CHMM), 혼합형 HMM(semi continuous HMM, SHMM) 으로나뉘게된다 [62]. 그림 3-5에이들의모양이나타나있다. 그림 3-5 (a) 의이산형 HMM에서관측벡터의종류가유한하다고가정하지만실제로얻어진신호에대해서얻어진관측벡터들은연속적인값을가지므로. 이런값들을벡터양자화함으로써전체신호영역을서로침범하지않는유한개의영역로분할한다. 이때한영영에해당하는모든관측벡터들은이영역의중심값 (centroid) 에의해서나타나게되며이런중심값을관측심볼또는단순히심볼이라고한다. 따라서이산형 HMM에서는관측가능한관측심볼의수는벡터양자화코드북의크기와같게된다. 각상태의관측밀도 (observation density) 는관측내에서한관측벡터가자신과가장가까운벡터양자화영역에떨어질확률을묘사한다 [63]. 이산형 HMM의경우연속형 HMM과혼합형 HMM에비하여상대적으로계산량이적어실제 제어와같이실시간계산이필요한분야에효율적이다. 그림 3-5 (b) 의 연 속형 HMM에서는벡터양자화코드북의크기를무한대로확장한다. 즉어떤관측벡터라도발생할수있다고가정한다. 따라서한상태내에서관측벡터들의분포는연속적인함수의형태를가지게되는데, 이런분포를대개가우시안밀도 (gaussian density) 의혼합치 (mixture) 를통해나타낸다. 이경우각혼합치는연속형 HMM으로나타내고자하는확률과정의특성에상당히의존적인평균과분산치를가지게된다. 그림 3-5 (c) 의혼합형 HMM은 이산형 HMM 과연속형 HMM 의장점을고려한구조이다. 이산형 HMM - 30 -
(a) 이산형 HMM 에서의관측치분포와영역의분할 =Gaussian density Model 1 Model 2 Model 3 (b) 연속형 HMM 에서의관측치분포와영역의분할 =Gaussian density (c) 혼합형 HMM 에서의관측치분포와영역의분할 그림 3-5 관측치분포에따른 HMM 모델링열 FIg. 3-5 Modeling examples in HMM according to observation distribution - 31 -
에서는벡터양자화영역내의관측을하나의중심값으로나타냈지만, 혼합 형 HMM 에서는벡터양자화영역내의벡터들을한의가우스밀도로표현한 다. - 32 -
3.2.3 이산형 HMM 신호인식을위한마르코브모델은바로전상태에의해서다음상태가결정되는일차마르코브과정이주로사용된다. 파형신호의시간적제약은파형을시간의함수로표시할수있다는점이다. 이것은파형이시작되고지속적으로변화하여마치게되는과정이어서마르코브모델을좌향우천이 (left to right transition) 만허용하는모델로단순화시킨다. 은닉마르코브모델 (HMM, Hidden Markov Model) 이사용되는근거는발생되는파형의시간적상태또는생성되는파형의원모양은은닉되고관측되는파형을출력으로하여물체의상태나모양을파악하여물체의형상을인식하고자하는과정이라고볼수있다. HMM은관측가능한심볼의출력으로부터관측불가능한프로세스를확 률로서추정하는방식으로초기상태확률 (π i ), 시간에따른 상태의변화를 결정하는상태천이확률 (a ij ), 각상태에서의관측치의분포를결정하는관측 확률 (b j (O t )) 등으로구성되어진다. 이상의세가지요소에의하여구성되는 HMM 의모델매개변수 (A,B,π) 를정의하기위해다음의파라미터들을사용 한다.[63]. (1) T : 관측열의길이 (2) N : 상태의수 (3) O = O 1, O 2,...,O T : 관측열 (4) Q ={q 1, q 2,...,q N } : 상태의집합 - 33 -
N (5) Π={π i π i = P(q 1 = i)}, π i =1, (1 i =1 i N) : 초기상태확률 분포 (6) A ={aij a ij = P(q t+1 = j q t = i )}, : 상태천이확률 N a ij =1, (1 i=1 i,j N) 여기서 aij 는상태 i 에서 j 로의천이확률을나타냄 (7) B ={b j (O t )}, b j (O t )=P(O t q t = j) : 관측확률 이와같은정의를통해 HMM λ 는 λ = (A, B,π) 로표시된다. - 34 -
3.2.4 HMM 의생성, 학습및인식 HMM 을실제로유용하게사용하기위해서는다음세가지문제를해결해 야만한다. 첫번째는모델파라미터 λ = (A, B,π) 와관측열 O = O 1, O 2,...,O T 가주어졌을때주어진모델에서효과적으로관측시퀀스의확률값 P (O λ) 을계산하는문제로주어진모델이주어진관측시퀀스가기준모델과얼마나잘부합되는지평가하는문제로볼수도있다. 여러개의경합하는모델이있을경우하나를선택해야한다면, 위의문제를풀어서관측과최상의매칭이되는모델을선정하는해답을얻게된다. 이것은평가 (evaluation) 문제이다. 두번째는관측열 O = O 1, O 2,...,O T 와 λ 가주어지면여기에대응하 는상태시퀀스 I =i 1,i 2,...,i T 중에서어떤성향에의해서든지최상의것 을선택하는문제이다. 이것은적절한상태시퀀스를발견함으로서문제로숨겨진 (hidden) 모델의내부를들여다보려는시도이다. 원래모델속에내재된상태는관찰될수없지만, 관측이가능한관측심볼열을통하여내부상태를추정할수있다. 여기서는모든조합가능한여러개의상태열중에서가장확률적으로가능성이높은하나의상태열만을추정하게된다 [55]. 실제적상황에서는가능한최상의해를구하기위해서최적평가함수를도입해서사용하게된다. 몇가지합리적인최적평가함수를적용할수있게되고, 이렇게선택된평가함수는잘알려진상태시퀀스에대해의도적으로적용하여사용되는시스템에강력한기능을부여하게된다. 대표적인이용방안은모델구조에대한학습, 연속음성인식에서최적상태시퀀스발견, 개별상 - 35 -
태에대한평균적통계를구하는것등이다. 세번째는 P (O λ) 를극대화하기위한모델파라미터 λ = (A, B,π) 에 수정을가하는문제이다. 이것은어떻게해서주어진관측출력시퀀스가나타나는지를가장잘설명하기위해서모델파라미터를최적화하는문제이다. 이것은 HMM을학습시키는과정이므로모델파라미터를수정하기위해서사용되는관측된출력시퀀스를학습시퀀스라고부른다. 이학습문제는대부분 HMM에서나타나는가장어렵고중대한문제가된다. 관측된학습데이터에적용되는최적의모델파라미터를구하여실제현상에가장잘부합하는모델을만드는과정이기때문이다. 첫번째문제, 즉주어진모델파라미터 λ = (A, B,π) 에대한 신호발 생확률, P (O λ) 를구하기위한직접적인방법은가능한관측열모두에대하여확률을구하는것이다. 고정된상태열, I =(i 1,i 2,...,i T ) 이주어졌을때, 여기서 i 1 는초기상태, 관측열 O 의발생확률은다음처럼주어진다. P(O I,λ) = T Π t =1 P(O t i t,λ) (3.27) 관측치가상호독립이라는가정아래다음의식을얻을수있다. P (O I, λ ) = b i1 ( o1 ) b i2 ( 02 ) b it ) (3.28) 임의의상태열 I 가발생할확률은다음처럼주어지고 - 36 -
P(I λ) = π i1 a i1i2 a i2i3 a it 1iT (3.29) I 와 O의결합확률은식 (3-30) 처럼주어진다. P (O, I λ ) = P (O I, λ ) P (I λ ) (3.30) 따라서신호발생확률, P (O λ) 는다음과같다. P (O λ ) = ΣI P (O I, λ )P (I λ ) T Π t =1 i1,i2...ir = Σ a it 1 i t b it (o t ) (3.31) 그러나, 식 (3-31) 에서는 (2T -1) N T 의곱셈과, N T -1 번의덧셈이필요 하게되고 T 가조금만커져도계산량은천문학적으로증가하므로실용성이 저하된다. 이를극복하기위한효율적방법이 전향 - 후향 (forward-backward) 알고리 즘이다. - 37 -
3.2.5 전향알고리즘 전향 (forward) 변수 α t (i) 를다음과같이정의한다. α t (i )=P (o 1. o 2,...,o t,i t = q i λ ) (3.32) 즉, 시간 t 까지의관측열이 O = O 1, O 2,..., O t 이고, 이때의상태가 qi 일확률 을 λ 에대해서구한것이다. 이확률은다음처럼반복적으로구해질수있 다. 단계 1 : α 1 (i ) = π i b i (o 1 ) 1 i N (3.33) 단계 2 : t =2,..., T 이고모든상태 j 에대해 α () 를계산한다. N α t +1 (j ) = ( Σi α t (i )a ij ) b j (o t +1 ) =1 t = 1, 2,..., T 1, 1 j N (3.34) 단계 3 : 최종확률치는다음처럼주어진다. N P (O λ )= Σi =1 α T (i ) (3.35) 전향 (forward 변수 α t (i ) 는다음과같이반복적으로표현된다, 단계 1 은 모든상태들에대해초기확률값을줌으로써전방향확률을초기화하는작업 이며단계 2 는시간 t-1 의모든가능한상태 j 에서시간 t 일때상태 j - 38 -
가되는값을계산하는것이며단계 3 은최종확률치를최종상태에서의최 종전방향변수가될확률값을누적하는형태로구하는것을의미한다. α t (i ) 의계산량은 N 2 T 의형태가된다. - 39 -
3.2.6 후향알고리즘 후향 (backward) 변수 t (i ) 는다음처럼정의할수있다. t(i )=P (o t +1,o t +2,..., o T i t = q i, λ ) (3.36) 즉, 관측열 o t +1, o t +2,..., o T 가주어지고시간 t 에서의상태가 q i 일확률을 모델 λ에대해서구한것을 (i ) 라한다. t 후향변수 (i ) 는전향알고리즘과유사하게다음처럼반복적인방법으로 t 구할수있다. 단계 1: T(i )=1, 1 i N (3.37) 단계 2: t = T-1, T-2,..., 1 이고모든상태 j 에대해 () 을계산한다. N t (i )= Σj =1 a ij b j (o t +1 ) t +1 (i ) (3.38) t = T 1, T 2,..., 1 1 i N 단계 3: α t (i ) 와 t(i ) 를이용하여 P (O λ) 는다음과같이주어진다. N P (O λ ) = Σ i =1 N Σj =1 α t (i )a ij b j (o t +1 ) t +1 (j ) = Σ i =1 N N αt (i ) = Σi =1 π i b i (o 1 ) 1 (i ) (3.39) - 40 -
q i=1 q i=1 a 1j a 2j a i1 a i2 q j=1 q j=2 q j q i q i=1 a Nj a in t t+1 t t+1 α t (i) α t +1 (i) β t (i) β t +1 (i) q j =N 그림 3-6. 전향변수와후향변수를구하는방법 Fig. 3-6. Illustration of the sequence of operation required for the computation of the forward variable and backward variable. a i1 a i2 q j α t (i) q i β t (i) t-1 t t+1 t+2 그림 3-7. 전향변수와후향변수의파라미터관계 Fig. 3-7. Illustration of the computation required for the computation of the joint event. - 41 -
t = T 1,T 2,...,1 에대해 t(i ) 을계산하는데는 N 2 T 의계산량이 필요하다. 전향알고리즘과후향알고리즘을식 (3-35) 과식 (3-39) 고같이 반복적으로구하는것을도식적으로설명하면그림 3-6 와그림 3-7 와같다. - 42 -
3.2.7 Viterbi 알고리즘 두번째문제는주어진관측열에대해최적의관측열 I = i 1, i 2,...,i T 를어떻게찾느냐하는것이다. 이문제에대한가장간단한방법은가능한 모든관측 q 1, q 2,...,q N 중에서 γ t (i ) = P (i t = q i O, λ ) 를최대로 하는관측치를시간 t 에서의관측 i t 를 t=1 에서 t=t 까지순서에따라배열 하면된다. 이를앞에서정의한 α t (i ) 와 t(i ) 를이용하여표현하기위해 γ t (i ) 를다시쓰면식 (3-40) 와같이된다. γ t (i )= α t(i ) t (i ) P (O λ ) (3.40) 매시간 t 마다 γ t (i ) 를최대로하는관측 i t 는 i t = arg max [ γ t (i) ] 1 t T (3.41) 이된다. 따라서최적의관측열을식 (3-41) 에의해서구할수있다. 이방 법을사용하면 a ij =0 으로표현되는금지된관측천이와같은제한조건을만족시키지못 하는경우가발생할수가있지만이러한경우는거의발생하지않으므로유용한방법이될수있다. 이와같은단점을지니지않는관측열추정방법이있다. 이방법은 P (O λ) 를최대로하는하나의관측열을구하여이를최적관측열 (optimal observation sequence) 로정하는방법이다. 이방법 - 43 -
에따라최적의관측열을구하려면 Viterbi 알고리즘을사용한다. Viterbi 알고리즘다음의과정을통하여수행된다. 단계 1 : 모든상태 i 에대한초기화 1(i ) = π i b i (o 1 ), 1 i N (3.42) ψ i (i )=0 단계 2 : 모든상태에대해시간 t =2 부터 T 까지반복 t(j )= max [ t 1 (i ) a ij b j (o t )] 2 t N, 1 j N ψ t (j ) = arg max [ t 1 (i )a ij ] 1 j N (3.43) 단계 3 : 종결 P * = max [ T (i )] i * T = arg max [ T (i )] (3.44) 단계 4 : 시간 T -1 부터 1 까지상태열의역추적 (backtracking). i * t = ψ t+1 (i* t+1 ) t = T 1, T 2,..., 1 i * = (i * 1, i * 2,..., i * T ) (3.45) - 44 -
3.2.8 Baum-Welch 알고리즘 세번째문제는훈련을위한관측열 O 가주어진관측열발생확률을 최대로하도록했을때이훈련용데이터에대한 HMM 의파라미터 λ = (A, B,π) 를 P (O λ) 가최대가되도록결정하는문제이다. 즉훈련을 위한관측열을 HMM λ 로모델링하는과정으로가장중요하고어려운문 제이다. 그러나최대공산모델 (maximum likelihood model) 을해석적으로 구하는방법이알려져있지않으므로반복적인과정을거쳐모델의파라미터 를추정한다. 관측열 O 와모델파라미터 λ 가주어졌을때시간 t 에서의상태가 q j 이고 시간 t+1 에서의상태가 q j 이고시간 t+1 에서의상태가 q j 일확률 ξ t (i, j ) 를 다음과같이정의한다. ξ t (i, j ) = P (i t = q i,i t +1 = q j O, λ ) (3.46) 식 (3-46) 은전향변수와후향변수를이용해서다시정리하면식 (3-47) 와같 다. ξ t (i, j ) = α t (i )a ij b j (o t +1 ) t +1 (j ) P (O λ ) (4.47) 한편 α t (i ) 의정의를살펴보면 q t (i ) 와 ξ t (i, j ) 에다음과같은관계식이 성립한다. 관측열과모델파라미터가주어졌을때시간 t 에서상태 q i 에있 - 45 -
을확률은 ξ t (i, j ) 를 j 에대해누적함으로써식 (3-48) 처럼주어진다. N γ t (i )= ξt (i, j ) Σj = α t(i ) t (i ) P (O λ ) =1 (3.48) = Σj =1 N α t (i )a ij b j (o t +1 ) t +1 (j ) P (O λ ) (3.49) = N α t (i)a ij b j (o t +1 )β t+1 (j) j=1 N N α t (i)a ij b j (o t+1 )β t +1 (j) i=1 j=1 (3.50) T 1 T 1 이때 Σγ t (i ) 는관측 q t (i ) 에서천이해가는기대횟수를, t =1 Σ t =1 ξ t (i, j ) 는 상태 q i 에서 q j 로천이되는기대횟수를의미하게된다. 이상의사실을 이용하여모델파라미터를반복적으로구하는방법이 Baum-Welch 알고리 즘이다. Baum-Welch 알고리즘을살펴보면초기모델파라미터 λ 로부터다음과같 이새로운모델파라미터 - λ 가추정된다. 1. π i = γ 1 (i), 1 i N (3.51) 시간, t =1 에서상태 i 에있게될기대횟수 - 46 -
2. a ij = T 1 Σt =1 T 1 Σt =1 ξ t (i,j) γ t (i ) (3.52) = 상태 i 에서 j 로천이되는기대횟수상태 i 에서천이되나가는기대횟수 3. b (k) = T 1 Σ t=1, Ot =k T 1 Σt=1 γ t (i) γ t (j) (3.53) = 상태 j 에있으면서심볼 v k 를관찰하게되는기대횟수상태 j 에있게되는기대횟수 - 47 -
3.3 다층퍼셉트론신경회로망 3.3.1 생물학적뉴런의모델링 신경계는인간의신체활동을통제하는역할을하며, 중추신경계, 말초신경계, 자율신경계로구분된다. 중추신경계 (central nervous system) 는신경계를전반적으로제어한다. 말초신경계 (peripheral nervous system) 는감각기관으로부터의자극을중추신경계로전달하거나중추신경계로부터의반응을감각기관으로전달하는기능을한다. 자율신경계 (autonomic nervous system) 는심장, 폐, 혈관등의수축및이완작용을담당한다. 신체의외부나내부에가해진자극은감각기관의수용기 (receptor) 에의해받아들여져서화학적변화가일어나게된다. 이변화는곧바로구심섬유 (afferent fiber) 를통해그자극의해당중추신경계로전달된다. 중추신경계에서는그자극에대하여적절한반응을할수있도록원심섬유 (efferent fiber) 를통해신경흥분을해당기관으로전달한다. 신경계의기능적최소단위는뉴런이다. 뉴런은신경계의흥분및전달을담당한다. 인간의뇌에는약 10 11 개의뉴런이있으며, 각뉴런은인접한 10 3 내지 10 4 개의뉴런들과상호연결되어있다. 이처럼뉴런들이복잡하게연 결된형태를신경망이라고한다. 뇌중에서도특히대뇌피질에많은뉴런이분포되어있고, 이대뇌피질은부위에따라각기다른기능을수행한다. 뉴런도존재하는대뇌피질내의위치에따라형태가다양하다. 뉴런을확대해보면크게세포체, 수상돌기, 축색돌기의 3부분으로구분된다. 세포체 (soma, cell body) 에는세포핵이있으며, 많은수상돌기들과하나의 - 48 -
축색돌기가연결되어있다. 일정시간동안에들어온자극은세포체내에서가중된다. 수상돌기 (dendrite) 는세포체주위에섬유더미모양으로연결되어있으며, 인접한뉴런으로부터의신호가세포체로들어오는통로역할을한다. 축색돌기 (axon) 는하나의가늘고긴신경섬유로되어있으며, 인접한뉴런으로세포의흥분을전달하는통로역할을한다. 이신경섬유에는약 1mm 간격으로랑비에마디 (node of Ranvier) 가있어서신경흥분이빠르게전달되도록해준다. 축색융기부 (axon hillock) 에서는특수한현상이일어난다. 즉, 수상돌기를통해입력된자극이임계치를넘으면축색돌기를통해신경흥분을내보내지만, 자극이임계치보다적을경우에는반응하지않는다. 이러한반응현상은컴퓨터에서의이진출력과유사한기능임을알수있다. 그러면뉴런의신경흥분이다른뉴런으로어떻게전달되는가? 이문제에대하여는 1900년경에 C. Sherrington이다음과같은가설을제안하였다. 그는개의다리에약한자극을가한다음개가핥기시작하는반응시간을측정하였다. 측정결과, 반응시간이예상했던시간보다훨씬느리게나타났다. 반응시간에는신경흥분이전달되는속도와근육이완속도가영향을미칠것이므로, 인접한뉴런의신경섬유간에간격이있다고가정하면신경흥분의전달속도가빨라져서결국반응이빠르게나타날것이라고하였다. 그는이간격을시냅스 (synapse) 라고하였고, 오늘날에와서그가설의타당성이입증되어뉴런간의연결부위를시냅스라고명명하였다. 시냅스를통한신경흥분의전달은단방향으로만이루어지며, 시냅스에는흥분성 (excitatory) 과억제성 (inhibitory) 의 2가지종류가있다. 만약두뉴런이흥분성시냅스에의해연결되어있다면전달뉴런의자극은연결된뉴런 - 49 -
의활성화가능성을증가시키지만억제성시냅스에의해연결된경우에는활성화가능성을감소시킨다. 한편, 뉴런이활성화되기위해서는다음과같은몇가지조건이만족되어야한다. 1. 자극의크기가임계치이상으로커야한다. 일반적으로세포막의내부는 K + 농도가높으며, 외부는 Na + 와 Cl - 농도가높기때문에자극이없는안정상태일경우에는세포막에 -70mV의전위차가나타난다. 이전위를안정막전위 (membrane potential) 라고한다. 안정막전위를 -55mV까지낮출수있는자극을임계자극이라하며, 뉴런이활성화되려면적어도임계자극보다큰외부자극이인가되어야한다. 2. 자극이일정시간이상지속되어야한다. 뉴런의반응시간은상당히느리기때문에자극이너무짧게인가되면미처뉴런이반응하지못하게된다. 3. 자극이약할경우에는자극을반복하여야한다. 비록인가되는외부자극이임계자극보다적더라도빠르게반복되면자극가중현상에의해세포체내에누적된자극이임계자극보다커지면뉴런이활성화될수있다. 4. 일단활성화된뉴런은일정시간이경과되어야한다. 이시간을뉴런의불응시간 (refractory period) 이라고하며, 보통수 ms 정도이다. 한번활성화된뉴런은불응시간이경과해야원래의상태로복귀되므로이시간이지난후에만자극에의해활성화될수있다. 뉴런의활성화에는외부자극뿐만아니라편견 (bias) 도관여한다. 사람들이어떤의사결정을할때에는주어진정보와그정보에대한편견에좌우되어판단하는경향이있다. 예를들면, 거짓말을자주하여신뢰감이떨어진사람이설혹진실을얘기 - 50 -
하더라도이미그사람이거짓말쟁이라는편견이있기때문에우리는그사람의말을선뜻믿지않을것이다. 그러나, 신뢰성이있는사람이같은얘기를한다면, 우리는그말을믿게된다. 이처럼신경망에서는동일한자극에대해서도편견즉, 이미형성되어있는시냅스의연결강도에따라다른결과를초래할수있다. 뇌에서의정보처리는단순히뉴런의활성화동작에의해수행될뿐이다. 그렇다면, 처리된정보는어떤형태로기억되는가? 그것은자극의반복즉, 학습에의해서뉴런간의연결강도가변한다. 다시말하면, 어떤자극에의해뉴런의활성화가반복되면시냅스의연결강도가변하게된다. 이러한변화과정을거쳐장기기억형태가되면시냅스의연결강도가더이상변하지않고고정되게된다. 따라서, 학습에관련되었던자극이다시들어오면고정된시냅스연결강도에의해동일한신경흥분을다음단의뉴런으로전달할수있다. 결국, 뉴런에들어온자극을처리한결과가기억된것으로간주할수있다. 현재까지는시냅스의연결강도형태로정보가기억된다고널리인정되고있다. 인간의뇌에는 10 11 개의뉴런이있고, 각뉴런이 10 4 개의뉴런과연결되 어있다면뇌의신경망에는전체 10 15 개의시냅스가존재하게된다. 실제 시냅스의연결강도는아날로그형태이지만디지털형태즉, 두뉴런이시냅 스를통해연결되거나혹은전혀연결되지않는다고가정해보자. 시냅스는 두뉴런간의연결과비연결의 2 가지경우를표현할수있으므로시냅스 1 개는 1 비트에해당된다. 따라서, 인간뇌의기억용량은무려 10 6 기가비트 라고할수있다. 인간의두뇌는계산, 연상, 추론, 기억등상당히복잡한일들을수행하지 만디지털컴퓨터처럼 CPU, 기억장치와같은하드웨어적인소자들이존재하 - 51 -
는것이아니라이러한모든작업들이뉴런들의결합체인신경망의작용에의해서이루어진다. 즉뉴런은입력된외부자극을합하여그결과에따라반응하는단순한기능만을할뿐이므로인공신경망으로모델링하면다음그림 3-8과같이나타낼수있다. 각각의뉴런모델은시냅스입력연결을갖는처리소자 (processing element, PE) 와단일출력으로구성되며뉴런의입력 X i 의신호흐름은출력신호의흐름과마찬가지로화살표로나타낸단방향성이다. 이기호화된그림은결합계수의집합과뉴런의처리소자즉노드를보여주고있다. 이뉴런이출력신호는다음관계식3-54로주어진다. X 1 W 1 X 2 W 2 f(w t X) X d W d 그림 3-8. 일반적인뉴런의모델. Fig. 3-8. General neuron model. - 52 -
O = f(w t X) (3.54) 또는 n O = f( w i x i ) (3.55) i=1 여기서 W 는다음과같이정의되는결합계수벡터이고 x [ x 1 x 2... x n ] t (3.56) 또, 함수 O = f(w t X) 는활성함수로서그치역은뉴런모델의활성변수 t 의집합이다. 변수 net 는다음과같이결합계수벡터와입력벡터의 스칼라적으로정의된다. NET W t X (3.57) 그리고, 대표적인활성함수로는 f( NET ) 2 1+exp ( λ NET ) -1 (3.58) 와 f( NET ) sgn( NET ) = +1, NET > 0 1, NET < 0 (3.59) 등이있으며, 식 (3.58) 에서 λ>0 로서 NET = 0 부근에서연속함수 f(net) - 53 -
의경사도를결정하는뉴런의이득에해당한다. 식 (3.58) 를쌍극성연속함 수, 식 (3.59) 을쌍극성이산함수또는 2 차함수라한다. 단극성활성함수는식 (3.58) 와식 (3.59) 로정의된다. f( NET ) 1 1+exp ( λ NET ) (3.60) f( NET ) 1,NET> 0 0,NET< 0 (3.61) 식 (3.59) 나식 (3.61) 로표현되는함수를계단형활성함수 (hard-limiting activation function) 라하고, 식 (3.58) 나식 (3.60) 로표현되는함수를시그모이드함수 (sigmoid function) 라고도한다. 그림 3-9과같이 n 개의입력과 m 개의뉴런으로구성된기본적인전방향구조의신경망에서입력벡터와출력벡터는다음과같다. Ō =[o 1o 2... o m ] t (3.62) - X =[x 1 x 2... x n ] t (3.63) w ij 를 j 번째입력과 i 번째뉴런과의결합계수라고하면 i 번째뉴런에대한 활성값은다음식과같이나타낼수있다. n NET i = x j w ij, for i=1,2,..., m (3.64) j=1-54 -
W 11 X 1 X 2 1 2 O 1 O 2 W 2n W m1 X m W 22 m O m 그림 3-9 단층전방향신경회로망. Fig. 3-9 Single-layer feedforward network. 또각뉴런에서의출력은비선형함수인 f 에의해다음과같이나타낼수 있다. o i = f(xw t ij), for i=1,2,..., m (3.65) - 55 -
3.3.2 신경망의분류 현재다양한신경망모델들이제안되고있지만, 다음과같이몇가지기준 에따라신경망을분류할수있다. 1. 계층수 ; 단층구조, 다층구조 2. 출력형태 : 순방향구조, 순환 ( 궤환 ) 구조 3. 데이터유형 : 디지털, 아날로그 4. 학습방법 : 지도학습, 자율학습, 경쟁식 5. 활성화함수 : 단극성, 양극성 신경망은일반적으로계층의수에따라크게단층신경망과다층신경망의 2가지로구분된다. 단층신경망 (single layer) 은가장단순한구조로서외부입력을받아들이는입력층 (input layer) X와신경망에서처리된결과를출력하는출력층 (output layer) y 로구성된다. 단층신경망의출력 y 1,y 2,...,y m 은다음과같다. n y 1 = f( x i w 1i ) i=1... n y m = f( x i w mi ) i=1 (3.66) 여기서 wij 는입력층뉴런 j 와출력층뉴런 i 간의연결강도 이다. - 56 -
다층신경망 (multi-layer) 은여러계층으로구성된신경망구조이다. 일반적으로가장널리사용되는것은 3계층신경망구조이며, 그구조는외부입력을받아들이는입력층, 처리된결과가출력되는출력층, 입력층과출력층사이에위치하여외부로나타나지않는은닉층 (hidden layer) 의 3계층으로구성되어있다. x1 X 입력층 w11 X 출력층 y1 wm1 w1n xn wmn ym 그림 3-10 단층신경망의구조 Fig. 3-10 Single-layer neural network. X 입력층 x1 v11 Z 은닉층 z1 w11 Y 출력층 y1 vp1 wm1 v1n w1p xn vpn zp wmp ym 그림 3-11 다층신경망의구조 Fig. 3-11 Multi-layer neural network. - 57 -
3계층신경망구조에서는입력층의입력에따라은닉층의출력이나오며, 은닉층의출력은다시출력층에입력되어최종출력이나오게된다. 은닉층의출력 z 1,...,z p 는단층신경망의경우와마찬가지로다음과같이구할수있다. z 1 = f( n x i v 1i ) i=1... z p = f( n x i v pi ) i=1 (3.67) 여기서 v ij 는입력층뉴런 j 와은닉층뉴런 i 간의연결강도이다. 따라서, 최종출력 y 1,...,y m 은다음과같다. y 1 = f( n i=1 y m = f( n i=1 z i w 1i )... z i w mi ) (3.68) 여기서 wij 는은닉층뉴런 j 와출력층뉴런 i 간의연결강도이다. - 58 -
3.3.3 오류역전파학습알고리즘 신경회로망은비선형파라미터분류기로서분류또는인식에사용되기위해서는학습의과정을거쳐야한다. 퍼셉트론도학습에의해서자기의특성을향상시켜나가는신경회로망에의한학습모델이다. 학습에는크게비교사학습 (unsupervised learning) 과교사학습 (supervised learning) 이있는데비교사학습에서는목표출력이주어지지않으므로오차정보에의한신경망의학습은불가능하므로내장된평가기준에의해스스로결합계수를조정하는방식이다 [65],[67]. 대표적인비교사학습방식으로 Hebb의학습방식을들수있다. 1 입력층 V 은닉층 z1 W 출력층 y1 x1 zj yk xj xn zp ym 1 그림 3-12 순방향다층신경망의구조 Fig. 3-12 Structure of forwarding neural net with multi layers - 59 -
교사학습은입력패턴 x가주어질때마다그에대응하는목표치출력 d도함께신경회로망에주어지는학습방법이다. 신경망에서는목표출력 d와실제출력 O와의오차를계산하고, 이오차를감소시키는방향으로신경망의결합계수를조절한다. 이오차가신경회로망을학습시키는교사신호가된다. 이와같은교사학습에서는입력패턴과출력패턴이필요하며다층신경회로망 (multilayer perceptron, MLP) 을학습시키기위한오류역전파학습알고리즘 (error back-propagation learning algorithm) 이교사학습의대표적인예이다. 오류역전파학습알고리즘은최소자승 (least mean square) 알고리즘의비선형적인확장이다. 이알고리즘은일반화된델타규칙이라고도불리는알고리즘으로단일층퍼셉트론의제한점을극복함으로써신경회로망연구의새로운장을열었다. 오류역전파학습알고리즘의기본원리는입력층의각노드에입력패턴을주면, 이신호는각유니트에서변환되어중간층에전달되고최후에출력층에서신호를출력하게된다. 이출력값과기대값을비교하여차이를줄여나가는방향으로연결강도를조절하고, 상위층에서역전파하여하위층에서는이를근거로다시자기층의연결강도를조정해간다. - 60 -
3.3.4 델타학습규칙 델타규칙은입출력함수가선형의유니트로부터이루어진네트워크에대하여모든입력패턴으로부터얻어지는출력과목표출력과의오차의자승의총합을최소로하도록연결강도를조절하는것이다. 그림에서입력벡터 x, 출력벡터 y, 목표치벡터 d, 연결강도매트릭스 w는다음과같이표현될수있다. x =[x1 x 2... x n ] y =[y1 y 2... y n ] (3.69) d =[d 1 d 2... d n ] w =ꀎ w 11 w 12... w 1n ꀏ w 21 w 22... w 2n _... _ ꀚw n1 w n2... w nn ꀛ 1 W11 y1 xj Wji yk xn Wmn ym 그림 3-13 Fig. 3-13 다중출력단층신경망 Single neural network with multi layers. - 61 -
출력뉴런의입력가중합 NET 와출력 y 는다음과같다. NET = xw T, y = f(net) (3.70) 여기서 f(.) 는활성화함수이며, 델타학습법에사용되는활성화함수는반드시다음과같은조건을만족하여야한다. 1. 단조증가함수 2. 연속함수 3. 미분가능함수따라서, 델타학습법에는주로시그모이드함수가사용된다. 단극성시그모이드함수는경사도 λ=1 이면, f(net) = 1 1+exp(-NET) (3.71) 이므로, f(net) 의미분은다음과같다. f ' (NET)= = 1 [1+exp(-NET)] 2 1 1+exp(-NET) 1+exp(-NET)-1 1+exp(-NET) = f(net)[ 1-f(NET)] = y(1-y) (3.72) - 62 -
또양극성시그모이드함수는 f(net) = = 1-exp(-NET) 1+exp(-NET) 2 1+exp(-NET) -1 (3.73) 이므로, f(net) 의미분은다음과같다. f ' (NET)= 2exp(-NET) [1+exp(-NET)] 2 = 1 2 [1+exp(-NET)] 2 -[1-exp(-NET)] 2 [1+exp(-NET)] 2 = 1 2 [1 - ( 1-exp(-NET) 1+exp(-NET) ) 2 ] = 1 2 1-[f(NET)] 2 = 1 2 (1-y 2 ) (3.74) 한편, 특정학습패턴에대한출력층뉴런의제곱오차는다음과같이정의 한다. E 1 m 2 (d i - y i ) 2 (3.75) i=1-63 -
오차 E 를최소화하는방향으로연결강도 w ij 를변경해야하며, Δw ij =-α E =-α E w ij (3.76) 여기서, α 는양수이다. 또한뉴런 i 에서발생한델타라고하는오차신호 δ yi 를다음과같이정의한다. δ yi - E (NET i ) (3.77) 뉴런 i 의출력오차는 w ij 에만관련되므로, E w ij = E (NET i ) (NET i) w ij = E (NET i ) [x w 1 w i1 +x 2 w i2 +...+x n w ] ij =-δ yi x i (3.78) 이며, 식 (3.76), 식 (3.78) 로부터연결강도변화량 Δw ij 를구할수있다. Δw ij =αδ yi x j (3.79) 즉, 입력층뉴런 j 와출력층뉴런 i 간의연결강도 wij 의변화량 Δw ij 는출력 층뉴런 i 의출력 yi 에발생한오차신호 δyi 와입력층뉴런 j 에서의입력에 비례함을알수있다. 또한위식 (3.77) 으로부터, - 64 -
δ yi =- E y i y i (NET i ) =- E y i [f(net i)] (NET i ) =- E y i f' (NET i ) (3.80) 이며, 식 (3.75) 으로부터, E y i =-(d i -y i ) (3.81) 이므로, 식 (3.80) 은다음과같다. δ yi =(d i -y i )f'(net i ) (3.82) 단극성활성화함수를사용하는경우의오차신호 δyi 는식 (3.72), 식 (3.82) 으 로부터구할수있다. δ yi =(d i -y i )y i (1-y i ) (3.83) 양극성활성화함수를사용하는경우의오차신호 δyi 는식 (3.74), 식 (3.82) 으 로부터구할수있다. δ yi = 1 2 (d i -y i )(1-y 2 i) (3.84) - 65 -
입력층뉴런 j 와출력층뉴런간의연결강도 wij 가출력층뉴런의출력오차에관여하였을것이므로, 이를보정하기위하여식에주어진출력층뉴런 i 의오차신호 δ yi 를역전파시켜서연결강도 w ij 를변경시키는것이델타학습법이다. - 66 -
3.3.5 일반화된델타학습규칙 그림 3-14는단층신경회로망을확장한다층신경망을나타낸다. 이그림에서입력노드는입력정보의분배이외에아무런처리도하지않으므로실제로이신경회로망은 4층이된다. 또한, 이그림의가운데층과같이신경회로망외부에서그출력을직접접근할수없는층을내부층혹은은닉층이라한다. 따라서다층으로구성된신경회로망에서출력층을제외하고는모두은닉층이된다. 이그림에서 Z21층뉴런의출력은입력층과출력층중어디에서도접근할수없으므로이그림은 3개의은닉층을가진신경회로망이된다. 입력층 V 은닉층 W 출력층 1 z11 z21 z31 y1 x1 z1j z2j z3j yk xj xn z1p z2p z3p ym 그림 3-14 다층전방향신경회로망 Fig. 3-14 Structure of a multiple-layer feedforward network. - 67 -
은닉층이없는경우는오차의제곱에대한곡면이하나의최소점을갖는포물선의모양을하고있으므로최급하강법 (gradient descent method) 에의해오차의제곱을최소로하는값을얻을수있다. 그러나은닉층이있는경우는 E의미분을구하는것이쉽지않고최급하강법이지역최소값 (local minima) 에빠질가능성이있으므로델타규칙을일반화하여야한다. 그림에서입력벡터 x, 은닉층출력벡터 z, 출력층출력벡터 y 는다음과같이표현할수있다. x =[x 1 x 2... x n ] z =[z 1 z 2... z p ] (3.85) y =[y 1 y 2... y m ] 입력층과은닉층간연결강도 v, 은닉층과출력층간의연결강도 w 는다음과 같이메트릭스형태로표현할수있다. ꀎ v 11 v 12... v 1n ꀏ v = v 21 v 22... v 2n _... _ ꀚv p1 v p2... v pn ꀛ ꀎ w 11 w 12... w 1p ꀏ w = w 21 w 22... w 2p _... _ ꀚw m1 w m2... w mp ꀛ (3.86) 은닉층뉴런의입력가중합 NET z 와출력 z 는다음과같다. - 68 -
NET z = xv T (3.87) z = f(net z ) 또한출력층뉴런의입력가중합 NET y 와최종출력 y 는다음과같다. NET y = zw T (3.88) y = f(net y ) 출력층뉴런 i 와은닉층뉴런 j 간의연결강도 w ij 의변화량 Δw ij 는델타학 습법에서와마찬가지로식에의해구할수있다. Δw ij =αδ yi z j (3.89) 또한출력층뉴런 i 에서발생한오차신호 δyi 도역시델타학습법에서와마찬 가지로식 (3.82), 식 (3.83), 식 (3.84) 에의해구할수있다. δ yi =(d i - y i ) f' (NET i ) (3.90) = { (d i - y i )y i (1-y i ) : 단극성시그모이드함수 1 2 (d i - y i )(1-y 2 i) 양극성시그모이드함수 다층신경망에서도은닉층과출력층간의연결강도변화량 Δw 와오차신호 δ yi 는식 (3-89), 식 (3-90) 과같이직관적으로구할수있으나, 입력층과은닉 - 69 -
층간의연결강도변화량 Δv jk 와오차신호 δ zj 는다음과같은과정을거쳐야 구할수있다. 은닉층의연결강도 v jk 도역시오차가최소가되도록변경되 어야한다. Δv jk =-α 여기서, α 는양수이다. 은닉층뉴런 j 의출력오차는 v jk 에만관련되므로, E v jk =- E v jk (3.91) E (NET zj ) (NET zj) v jk =- E (NET zj ) [x v 1 v j1 +x 2 v j2 +..+x n v jn ] jk =-δ zj x k (3.92) 입력층과은닉층간의연결강도의변화량 Δv jk 는식 (3.91), 식 (3.92) 으로부터 다음과같이구할수있다. Δv jk =αδ zj x k (3.93) 여기서, δ zj 는은닉층의오차신호이며, 식 (3.80) 과마찬가지형태로표현할 수있다. δ zj =- E z j z j (NET zj ) =- E z j [f (NET zj)] (NET zj ) - 70 -
=- E z j f'(net zj ) (3.94) 식으로부터 E = z j z j { 1 2 i=1[(d m i -y i ) 2 ] } = z j { 1 2 m i=1([d i -f(net yi )] 2 ) } =- m (d i -y i ) [ f (NET i=1 z yi )] j =- m (d i -y i )f'(net yi ) (NET yi) i=1 z j m =- (d i -y i )f'(net yi )w ij (3.95) i=1 식 (3.94) 에식 (3.82) 을대입하면다음과같다. E z j =- m δ yi w ij (3.96) i=1 따라서은닉층뉴런 j 에서의오차신호 δ zj 는식 (3.94). 식 (3.96) 으로부터, δ zj = m δ yiw ij z j i=1 (NET zj ) m = f'(net zj ) δ yi w ij (3.97) i=1 이므로, 입력층과은닉층간의연결강도변화량 Δv jk 는식 (3.93), 식 (3.97) 으 - 71 -
로부터구할수있다. Δv jk =αδ zj x k m =αf'(net zj )x k δ yi w ij (3.98) i=1 즉입력층뉴런 k 와은닉층뉴런 j 간의연결강도변화량 Δv jk 에는출력층 뉴런의오차신호 δ yi 가역전파되어관련되어있음을알수있다. - 72 -
3.3.6 BP 알고리즘 BP 알고리즘은이미언급한바와같이순방향다층신경망의일반적인응용에활용되는오류역전파알고리즘이다. BP알고리즘은일반델타학습법과마찬가지로오차신호를이용하여은닉층과출력강도간의연결강도를변경하고, 또한출력층오차신호를은닉층에연전파하여입력층과은닉층간의연결강도를변경하는학습방법이다. BP 알고리즘을이용한다층신경망의학습절차는다음과같다. 입력층패턴벡터 x, 은닉층출력벡터 z, 출력층출력벡터 y 를다음과같이표현한다. x =[x 1 x 2... x n ] z =[z 1 z 2... z p ] (3.99) y =[y 1 y 2... y m ] 입력층과은닉층간의연결강도 v (p n), 은닉층과출력층간의연결강도 w (m p) 매트릭스형태로다음과같이표현한다. ꀎ v 11 v 12... v 1n ꀏ v = v 21 v 22... v 2n _... _ ꀚv p1 v p2... v pn ꀛ ꀎ w 11 w 12... w 1p ꀏ w = w 21 w 22... w 2p _... _ ꀚw m1 w m2... w mp ꀛ (3.100) - 73 -
먼저, 학습시킬 s 개의학습패턴 (x 1, d 1 ), (x 2, d 2 ),..., (x S, d S ) 를선정한 다. 연결강도 v, w 는임의의작은값으로초기화하며, 적절한학습률 ( α>0 ) 을결정한다. 학습패턴쌍을차례로입력하여다음과같이연결강도를 변경한다. 시그모이드함수를활성화함수로사용하므로식 (3.70), 식 (3.72) 에 의해은닉층의가중합 NET z 및출력 z, 출력층의가중합 NET y 및최종출 력 y 를구한다. NET z = xv T z = f(net z ) = { 1 1+exp(-NET z ) 1-exp(-NET z ) 1+exp(-NET z ) : 단극성시그모이드함수 : 양극성시그모이드함수 (3.101) NETy = zw T y = f(net y ) = { 1 1+exp(-NET y ) 1-exp(-NET y ) 1+exp(-NET y ) : 단극성시그모이드함수 : 양극성시그모이드함수 (3.102) 목표치 d 와최종출력 y 를비교하여식 (3.74) 에의해제곱오차 E 를구한다. - 74 -
E = 1 2 (d - y)2 또한식 (3.90) 에의해출력층의오차신호 δy 를구한다. δ y = { (d - y) y (1 - y) : 단극성시그모이드함수 1 2 (d - y) (1 - y2 ) : 양극성시그모이드함수 (3.103) 식 (3.97) 를이용하여은닉층에전파되는오차신호 δz 를구한다. m δ z = f'(net z ) δ y w i=1 = { m z(1-z) δ y w i=1 m : 단극성시그모이드함수 1 2 (1-z 2 ) δ y w : 양극성시그모이드함수 (3.104) i=1 식 (3.79), 식 (3.93) 에의해 k 학습단계에서의은닉층과출력층간의연결강 도변화량 Δ w k 및입력층과은닉층간의연결강도변화량 Δ v k 를구한다. Δ wk = αδ y z Δ vk = αδ z x (3.105) k+1 단계에서의은닉층과출력층간의연결강도 w k+1, 입력층과은닉층간의 연결강도 v k+1 을구한다. - 75 -
w k+1 = w k + Δ w k = w k + αδ z z k v k+1 = v k + Δ v k = v k + αδ z x k (3.106) 학습패턴쌍을반복입력하여연결강도를변경하며, 오차 E가특정범위 E max 보다적어지면학습을종료한다. 앞에서살펴본바와같이 BP 알고리즘은상당히복잡한형태이기는하지만실제가장많이활용되는학습법이므로필히숙지해야할필요가있다. 다음에는다층신경망을학습시키기위한 BP 알고리즘을나타내었다. - 76 -
Step 1 : Initialize weights and counter v, w small random value p number of training pattern pairs k 1 E 0 Step 2 : Set learning rate α>0 and E max Step 3 : For each training pattern pair (x, d) Step 4 : Compute output do Step 4-8 until k = p NET z = x k v T k z = f (NET z ) = { 1 1+exp(-NET z ) 1-exp(-NET z ) 1+exp(-NET z ) : 단극성시그모이드함수 : 양극성시그모이드함수 NET y = zw T y = f ( T y ) = { 1 1+exp(-NET y ) 1-exp(-NET y ) 1+exp(-NET y ) : 단극성시그모이드함수 : 양극성시그모이드함수 Step 5 : Compute output error E 1 2 (d k - y k ) 2 + E - 77 -
Step 6 : Compute error signal δ y = { (d - y) y (1 - y) : 단극성시그모이드함수 1 2 (d - y) (1 - y2 ) : 양극성시그모이드함수 δ z = { m z(1-z) δ y w i=1 m 1 2 (1-z 2 ) δ y w i=1 : 단극성시그모이드함수 : 양극성시그모이드함수 Step 7 : Update weights w k+1 = w k + Δ w k = w k + αδ y z k v k+1 = v k + Δ v k = v k + αδ z x k Step 8 : Increase counter and goto Step 3 k k + 1 Step 9 : Test stop condition If, E<E max stop else, E 0 and goto Step 3-78 -
제 4 장스트라이프패턴인식 4.1 실험장치의제작 본연구를수행하기위해필요한부분은레이저신호를발생시켜인체에투사하고그반사파형을 CCD 카메라로영상을받아와서영상처리를수행하고인식처리를통하여스트라이프파형을인식하는절차로이루어지게된다. 이러한절차를수행하기위해본연구에서레이저신호를발생하는장치로고가의레이저스캐너가필요하지만아직보유하고있지않은관계로저급의레이저스캐너를제작하여실험하기로하였다. 이는본실험연구가세밀하지않은인체의스트라이프영상을인식하려는목적에서고급의레이저가없이도가능한방법을연구하는것임으로저급의레이저스캐너로도실험이가능하기때문이다. 마이크로프로세서 모터제어용 IC 스탭모터 거울연결용기어 거울 입출력회로 제어보드 반사경구동부 그림 4-1. 제작한레이저스캐너의제어보드와구동부의블럭도 Fig. 4-1. Block diagram of laser scanner. - 79 -
레이저스캐너장치를구현하기위해서는기본적으로레이저발생장치와 xy축구동용모터, 제어보드, 거울및지지대등이필요하게되며, 본장치에서사용하는레이저발생장치로는일반적으로많이보급된적색레이저포인터를사용하였으며, x축에는회전용스텝모터를사용하고, y축에는회전각 도를제어하기위해스텝모터를사용하여제어보드를설계제작하였다. 제 어용프로세서는아트멜사의 8 비트프로세서인 8051 계열 AT89C52 를사용 하였으며동작속도는 22.1184MHz 로서저속의스캔작업을수행한다. 그림 4-2. 제작한레이저스캐너의모터제어용보드 Fig. 4-2. Picture of control board. - 80 -
제어장치는모터드라이브제어 IC를통해스텝모터를제어하며, 스텝모터는기어를통해거울과연결되어있어스텝모터의회전은 10:1로감속하게된다. 거울은일반가정용거울을잘라제작하였다. 이러한제어장치와구동부블럭도를다음그림4-4에나타내었으며제작된제어보드의사진도그림4-2에나타내었다. 각축마다이러한제어보드와구동부가필요하게되며, 각축을담당하게 된다. 기본적인동작은 x축모터에연결된반사거울이회전하면서레이저빔을수평선으로그어주며, 다른제어보드는 x축모터가한회전을마치면 y축스텝모터를한스텝이동시켜서다음라인의수평선을그어주게된다. 각제어보드와거울이연결된모터구동부는 90도각도가차이나게설치되어 3D 스캐너 CCD 카메라 그림 4-3. 3D 스캐너와 CCD 카메라와 PC의실험도 Fig. 4-3. Simplified experimental figure. - 81 -
지며, 거울은서로마주보게설치된다. 이는레이저신호가각축의거울을반사하여주사되기때문이다. 다음그림4-4에는제작된레이저스캐너의사진과블럭도를나타내었으며, 실험장치전체의블록도도나타내었다. 그림으로표현하기위해서스캐너와 CCD카메라가다른각도를향하고있지만실제에는스캐너가위에있고 CCD카메라가밑에위치하게된다. 이는스캐너와카메라사이의각도를한축상으로차이가나게해주어야그차이각 도값에따른반사파형의변이를쉽게처리해줄수있기때문이다. 그리고 그각도가크면클수록반사파형의물체에대한변이가크게나타나게되나 설치상의문제와각이너무크면물체의사각이나타남으로처리하기곤란한 스텝모너제어보드 스텝모터 반사거울 X,Y 축스 Y 축회전 레이저 발생기 반사거울 X 축회전 프로세서 AT89C52 스텝모터 22.1184MHz 그림 4-4. 제작한 3D 스캐너의블록도 Fig. 4-4. Block diagram of experimental scanner - 82 -
부분이발생하게되어적당한각도로설치하는것이좋다. 그림 4-5 에는제 작된제어보드와레이저스캐너의사진과실험장면을나타내었으며실제실험을할때는저녁에실시하였다. 이는밝은대낮에는레이저의반사파형을 CCD 카메라에잡기가쉽지않기때문이다. 이러한이유로어두운저녁이나빛이차단된공간에서실험을하였다. - 83 -
그림 4-5. 제작한레이저스캐너의모습 Fig. 4-5. Picture of laser scanner. - 84 -
4.2 파형특성추출 4.2.1 레이저스트라이프파형입력 그림4-6은스트라이프기반레이저스캐너를사용하는방식의원리를나타낸것이다. 그림4-6에나타낸바와같이 3차원계측대상에레이저스트라이프신호를주사하고계측대상의깊이정보에의해생기는패턴을 CCD 카메라로촬영한후에나타나는영상을분석함으로계측대상의입체적정보를추출하게된다. 이러한방식은조각이나건축물등의역사적유물의디지털 DB화작업에많이사용되고있는기본적인방식이다. 프레임그래버 영상신호 레이저 CCD 영상 물체 그림 4-6. 레이저스캐너의원리. Fig. 4-6. Principle of laser scanner. - 85 -
그림 4-7. 평면을스캔한레이저스트라이프궤적 Fig. 4-7. Stripes scanned plane wall. 본연구는기본적으로레이저스캐너방식에입각하여레이저빔을주사하여나타나는반사파형을 CCD카메라를통해입력하고이를영상처리하여 2차원정보를 1차원 2진데이타정보로변환하게한다. 이렇게변환된신호정보를화면에출력시키게된다. 제작한레이저스캐너를사용하여평면을향해주사한사진을다음그림4-7에나타내었다. 스캔한수평선이휘어져보이는것은레이저가회전하면서주사한선은같은수평선상에위치하나거리적으로는다르기때문에휘어져보이게된다. 즉가운데부분이거리적으로가까운것이고좌우측은더멀기때문에휘어져보이게된다. 다시말하 - 86 -
면스캐너앞에물체가있으면파형이위로돌출되어보이게된다. 인형에 대하여스캔한스트라이프파형을다음에나타내었다. 사진에서보듯이인형 의몸체를지나는레이저빛은거리적으로앞에있기때문에펄스파형처럼 보이 그림 4-8. 인형을스캔한스트라이프사진 Fig. 4-8. Picture of stripes scanned a doll. - 87 -
고있는것이다. 또한사진에서보듯이신체의각부분에대한스트라이프 파형에는어떤특징이있게되는데특별히머리와몸통, 다리부분으로나뉘어져뚜렷하게특징이나타남을알수있다. 즉머리부분은하나의원통이나원구에대한파형이며, 몸통은큰원통과두개의작은원통에대한파형이며, 다리부분은두개의작은원통에대한파형으로특징지을수가있게되는것이다. 또한각스트라이프파형의높이가서로다른것은당연히스캔레이저의높이와촬영카메라의높이가다르기때문이며지금의경우는스캔레이저의높이가카메라의높이보다높게설치되어있기때문이다. 같은이 유로멀리있는물체에대해서는파형이낮게나타나게된다. 이런관계로 인하여스캔된각부분의스프라이트파형으로부터카메라에서각부분에대 한개략적인거리와높이가삼각측정방법에의해계산될수있다. 다음그 림 6-9 에신체의각부분별스트라이프파형을나타내었다. - 88 -
머리부분가슴부분복부부분 다리부분무릎부분발부분 그림 4-9. Fig. 4-9. 레이저스캔에의한신체의부분별스트라이프파형 Partial stripes of body. - 89 -
4.2.2 파형을받기위한환경 영상에서스캔된레이저파형은배경에비해선명하게나타나도록하기 위해야간에촬영하였으며레이저가지나간곳은굵게파형이나타나게된 다. 이렇게나타난파형을하나의선으로만들기위해세선화작업을하는 데, 여기에서는 x축상의빛이나타난궤적에서제일밝은빛이있는곳을좌표로삼았다. 이렇게나타난일련의좌표를그려보면그림4-10에서처럼매우거칠게나타난다. 이는제어장치의정밀하지못함에서오는기구적인문제와레이저빛이이동하면서빛의밝기가최대인곳만을선택하였기때문인데그밝기가항상일정하지않아서전체적인신호에비해높은고주파잡음을동반하게된다. 이러한신호를제거하기위해 LPF(lowpass filter) 를통해잡음을제거시키게된다. 그림 4-10. 잡음을동반한레이저스캔사진 Fig. 4-10. Scanned body including noise. - 90 -
4.2.3 디지털 FIR 필터 FIR 필터의전달함수는다음과같이표현된다. H d (ω) = C n e jnπv (4.1) n=- 여기서 πv =2πf/F N 이고 Fn 은 Nyquist 주파수 ( = fs/2 ) 이다. 전달함수가우함수일대, 그필터계수 Cn 은다음과같이표현되고, C n = Low Pass 필터의경우, 0 1 H d (v) cos nπvdv (4.2) C 0 = v 1, C n = 0 v 1 H d (v) cosnπvdv = sin nπv 1 nπ (4.3) High Pass 필터의경우, 1 C 0 =1-v 1, C n = H d (v) cos nπvdv =- sin nπv 1 v 1 nπ (4.4) Band Pass 필터의경우, C 0 = v 2 -v 1, C n = sin nπv 2-sinnπv 1 nπ (4.5) 으로표현된다. Rectangular window를사용하는경우 N개의필터계수 ( h0, h1, h2,..., h N-1 ) 는다음과같이표현되는데, h 0 = h N-1 = C Q, h 1 =h N-2 = C Q-1,..., h Q =C 0 (4.6) 여기서 Q =(N-1)/2 이다. Rectangular window의사용은구형파의주파수특성으로인하여 sidelobe 를발생시키는단점이있다. 이를개선하기위한다른윈도우형태가적용되 - 91 -
기도하는데, 다음윈도우들이빈번히사용된다. - Hamming Window w hamming (n) = { 0.54 + 0.46 cos (nπ/q) n Q 0 otherwise - Hanning Window w hanning (n) = { 0.5+0.5cos(nπ/Q) n Q 0 otherwise - Blackman Window w blackman (n) = { 0.42 + 0.5 cos (nπ/q)+0.08cos (2nπ/Q) n Q 0 otherwise - Kaiser Window w kaiser (n) = { I 0 (b)/i 0 (a) n Q 0 otherwise (4.7) (4.8) (4.9) (4.10) 여기서 I 0 (x) 는 "Modified Bessel Function of the First Kind" 이다. 위의윈도우함수가적용되면식 (4-2) 의푸리에계수는다음과같이계산된 다. 다. C n ' =C n w(n) (4.11) FIR 필터를구현하기위해다음의컨볼루션방정식이일반적으로사용된 y(n) = N-1 h i x(n-i) (4.12) i=0 위의식에서 hi 는필터의계수, N 은계수의개수이고 x(n) 은입력데이터, y(n) 은 FIR 출력데이터이다. 다음그림 4-11 에해밍윈도우를적용하고샘플링주파수를 6KHz 이고차단 주파수를 2.5KHz, 1.5KHz, 1KHz, 0.5KHz 등, 여러가지경우로하여로패 - 92 -
스필터를통과시킨결과를나타내었다. 잡음이제거된 0.5KHz 패턴이우 수하다판단되어기본패턴으로하였다. 또한다양한자세에대한여러가지패턴을나타내었는데팔과다리를벌린경우, 팔을벌리고다리를붙인경우, 팔을붙이고다리를벌린경우, 팔과다리를모두붙인경우에대하여스캔한패턴을그림4-12에나타내었다. - 93 -
a) 차단주파수 2.5 KHz b) 차단주파수 1.5 KHz c) 차단주파수 1 KHz d) 차단주파수 0.5 KHz 그림 4-11. Fig. 4-11. 여러경우의차단주파수를통해나타난패턴 Scanned bodies with some cut off frequencies. - 94 -
a) 팔과다리를벌린자세 b) 팔을벌리고다리를붙인자세 c) 팔은붙이고다리를벌린자세 d) 팔과다리를붙인자세 그림 4-12. 팔과다리를여러가지로하여자세를취한경우의패턴 Fig. 4-12. Poses in some attitudes with changed limbs. - 95 -
4.2.4 각자세를스캔한패턴에서의특징파형추출 - 팔과다리를벌린자세팔과다리를벌린자세의레이저스캔파형은그림 4-13a와같다. 스캔된파형은팔과다리가벌어져서스캔된것이다. 팔과다리가벌어진특징을추출해내면그림 4-13b과같다. 이렇게추출된특징파형은사람의기본자세에해당되며, 바로팔과다리를벌린파형을의미하게된다. 이는곧앞에서언급한머리와어께와몸통은하나의파형으로이루어지는형상이며, 팔과다리는세개의파형으로이루어지는형상이고, 다리는두개의파형으로이루어지는것이다. 이러한특징은다른자세에서도유사하게나타나게되는데, 팔을벌린경우와모은경우와다리를벌린경우와모은경우에따라서파형간의간격이서로가까이있거나떨어져있게된다. [ 그림4-14] 따라서이러한특징의파형을추출해내어파형간의간격을찾아내는것이필요하게된다. 또한특징파형을추출해내는것은정규화를통해서가능해지며그과정을다음절에나타내었다. a) 팔과다리를벌린파형 b) 추출된특징파형그림 4-13. 팔과다리를벌린패턴파형과추출된파형 Fig. 4-13. Pattern outstretching arms and legs and its featuring pattern extracted. - 96 -
a) 팔을벌린파형 b) 추출된특징파형 c) 다리를벌린파형 d) 추출된특징파형 e) 차려자세파형 f) 추출된특징파형 그림 4-14. 기본자세파형과추출된파형 Fig 4-14. Basic poses and featuring patterns extracted. - 97 -
4.2.5 파형분리 그림4-13,14에나타난파형은레이저가스캔해가면서만들어진파형이므로실제로는다름그림4-15처럼한줄씩파형이나타나게된다. 이렇게스캔된파형속에서물체의특징을담고있는부분을분리하는작업을하여야하는데, 장비가정밀하다면, 미리환경을스캔하여저장해놓고인체나물체를스캔하고, 저장된신호와물체가포함된신호의차이를추출하게되면, 추가된물체의형상신호를분리해낼수있을것이다. 하지만본장치는그만큼정밀하지않으므로. 평평한벽을배경으로인체를스캔하게하고벽면에해당하는신호의낮은값의영역을뺀후신호영역만을추출하게하였다. 추출된신호에서파형을인식하기위해서단독파형을추출하게되는데추출과정에서낮은신호를제거하는과정에서그림 4-16의 a파형은자연적으로분리되는반면에 b, c 파형은분리되지않게된다. 이때 b와 c사이의최소값이전체높이의 50% 이상내려온경우는분리시 그림 4-15. 레이저스캔파형. Fig. 4-15. Laser scanned wave. - 98 -
a) b) c) 그림 4-16. 레이저스캔파형에서분리된파형. Fig. 4-16. Detached waves from laser scanned wave. 키고그렇지않은경우는한파형으로판단하게된다. 이렇게한후다시각 파형들을정규화된크기로재조정하게되는데, 그림 4-16 과같은형상을 갖게된다. 이렇게분리된파형들을그림 4-17 과같이기본적인파형의개 수를추출하게되고각파형들은그나타난패턴의형상에따라어떠한물체 에반사된패턴인지를나타내게된다. 이러한이유로여러각패턴의모양 그림 4-17. 레이저스캔파형에서분리된파형. Fig. 4-17. Detached waves from laser scanned wave. - 99 -
그림 4-18. 레이저스캔파형에서분리된파형. Fig. 4-18. Detached waves from laser scanned wave. 에따라패턴을분류하여저장하고난후, 입력된신호에따라해당패턴을추출하고이미분류된패턴중에서가장유사한패턴을찾게되며, 패턴을찾기위해서신호마다크기가다른패턴들을크기가동일한패턴으로변환하게된다. 이렇게크기가다른패턴들을그림 4-18과같이같은크기로패턴을정규화하여찾는것이빠르다. 이와같은방법으로파형들을추출해내었으며, 추출된파형들을유사한것끼리묶을수있게된다. 이렇게유사한것끼리묶은것을표4-1에나타 내었다. 표에서보듯이 1,2,5 번패턴이가장자주나타나는패턴이며, 원형 과 4각및 3각형이주요구성형상으로이루어져있으며, 이는다른패턴에서도동일하게나타나는형상이다. 또한 6,7번패턴은패턴이 3등분되어구성되며, 8번패턴은 2등분되어구성된다. 따라서인식에필요한패턴들은패턴내부에서 1~3등분이되며, 또한패턴도원형,4각( 직각패턴 ),3각형( 사선패턴 ) 등으로이루어지는특징을갖게된다. 이러한특징을갖는패턴들을인식하 - 100 -
표 4-1 Table 4-1 스캔된스트라이프파형의분류 Classification of scanned stripe patterns 패턴발생율패턴발생율 1 20.4% 5 20.4% 2 22.6% 6 11.8% 3 4.3% 7 5.4% 4 9.7% 8 5.4% 기위해서는이러한패턴들과유사한패턴모델을선정하여인식실험을수행 하고, 그중가장효율이좋은인식방법을찾게된다. - 101 -
4.3 레이저스트라이프의패턴인식 4.3.1 패턴인식을위한모델제안 인체에투사된레이저스트라이프패턴파형을인식하는방법은기본적으 로수평방향의파형에서분리된패턴을인식한후수직방향으로그인식된 패턴열들을다시 HMM 을이용하여그패턴열들이어떠한인체의자세인지 를판단하게된다. 그기본적인방법을그림 4-19 에나타내었다. 이러한기 본적인방법을통하여수평방향의스트라이프패턴파형인식처리를수행하 였으며, 가장효율적인방법으로신경망을이용한방법이가장우수한것으 로평가되어본연구에서는다음방식의인식모델을제안한다. 수평방향 : 파형이저장된패턴과가장가까운것을찾음. 수직방향 : 수평방향으로찾은패턴열들을 HMM을통해학습된패턴열들과비교하여가장유사한패턴열을찾아냄 그림 4-19 기본적인자세인식방법 Fig. 4-19 Basic posture recognition - 102 -
비디오영상 레이저 stripe 감지 물체 Stripe 찾기 LPF 특징패턴분리저장 자료구축 파형분리 인식 DataBase M L P 최대유사도패턴추출 Baum-Welch 재추정및확률계산 N 마지막 stripe Y 훈련 DataBase HMM 인식 해당인체패턴결정 Viterbi 계산 그림 4-20 제안하는인식처리과정의흐름도 Fig. 4-20 Flow chart of suggested recognition process. - 103 -
제안된모델은앞에서설명하였듯이기본적으로수평방향으로의스트라이프파형을신경망을이용한패턴인식알고리즘을사용하였으며, 이렇게인식된패턴들이수직방향으로쌓이면서패턴열들을형성하게된다. 형성된패턴열들은시변하는특징이있는데이는수평방향으로스캔한파형의개수가일정하지않으며, 인체가가까이있으면스캔한파형의수가많아지고인체가멀리있으면스캔한파형의수가적어지게된다. 이렇게파형의수가변하더라도특징파형이포함되면인식이가능하게된다. 이렇게변하는특징이있는패턴열에대해서는 HMM 인식방법이매우우수함이판명되어있으므로, 본연구에서는수평방향의레이저스트라이프패턴파형을효율적으로인식할수있는인식방법을찾기위해 4가지의다양한인식방법을실험하여보았으며, 신경망을통한방법이가장우수한것임은확인하였다. 그림4-20에서보면비디오영상을통해들어온영상신호는레이저의밝은빛에의해서수평방향의레이저스트라이프파형을추출하게되며, 추출된파형을통해서입체적정보가포함된스트라이프파형신호를추출하게된다. 추출된신호는잡음이포함되어있어 FIR 방식의 LPF 필터를통과하게되며잡음과고주파신호가제거된부드러운파형을추출하게된다. 추출된파형에서입체적정보가포함된패턴파형을분리하게되며, 분리된파형이유사한패턴끼리분류되어학습을위해서데이터베이스에저장되고신경망의오류역전파학습알고리즘을통해학습된다. 이렇게학습된후새로운분리된패턴이들어오면학습된신경망을통해분류, 인식된다. 본연구에서는 4가지의인식방법을통하여수평방향의레이저스트라이프파형을효율적으로인식할수있는방법을찾고자하였으며, 인식실험을수행하기위해필요한연습용패턴모델을구성하였다. 패턴모델을구성하기위해서앞절에서분석한레이저스트라이프파형의특징들이포함되도록하 - 104 -
였다. 그특징들은패턴이내부적으로단일형상,2등분형상, 3등분형상을형성하는것과, 패턴의모양이원형, 삼각형 ( 사선 ), 사각형 ( 직각에가까운 ) 의형상적특징을가지고있는것이다. 이러한특징을포함하여모델을구성하였으며, 표 4-2에나타내었다. 표에서보는것과같이 32개의모델을형성하였고, 전체적으로원형, 삼각형, 사각형의분포가각각 1/3이되도록구성하였다. 그리고각각의모델에대해서유사한모델을다시 100개씩만들어모두 3200개의모델패턴을만들었다. 이렇게만든 3200개의모델패턴을가지고최소거리비교법, 푸리에서술자비교법, 신경망인식방법, HMM 인식방법을통해인식실험을하였다. - 105 -
표 4-2 인식실험에사용된모델 Table 4-2 Test model for recognition tests. 구간등분패턴모델각형태별분포 1 구간 원형 : 3 삼각형 : 3 사각형 : 1 합계 7 2 구간 원형 : 4 삼각형 : 4 사각형 : 4 합계 12 3 구간 원형 : 4 삼각형 : 3 사각형 : 6 합계 13 합계 전체적으로각형태의분포가약 1/3 이되도록하였다. 원형 : 9, 삼각형 : 10, 사각형 : 11-106 -
4.3.2 최소거리비교법처리결과 최소거리비교법을사용하여패턴인식실험을하였으며, 실험은두가지 방법으로수행하였다. 그것은 100 개평균을기준으로하는것과 1 개자체를 기준으로하는것이다. 100 개평균은앞에서구성한 32 개의모델에대한 각각 100 개의유사패턴들의평균값을계산하고 20 등분된 20 개의좌표값 을데이터베이스에저장하였다. 그리고 3200 개의패턴들을입력받아저장 된평균패턴값들과최소거리비교를수행하였다. 그리고 100 개의평균이 아닌 32 개모델자체를데이터베이스에저장하여비교하였다. 즉모델 1 개 를기준으로하여비교한것이다. 시작 패턴분류및평균값저장 자료구축 패턴입력 인식 DataBase 저장된패턴과의거리값계산 최대유사도패턴추출 ( 최소거리 ) 해당패턴결정 그림 4-21 최소거리비교법을사용한처리과정 Fig. 4-21 Process of minimum distance method - 107 -
전체적인처리과정을그림4-21에나타내었다. 그리고 1개의기준패턴을사용하여처리한결과를표4-3에나타내었으며, 100개의평균값을기준으로사용한처리결과를표4-4에나타내었다. 그리고그결과를그래프로나타낸것을그림4-22에나타내었다. 1개의기준패턴을사용한경우의인식결과는 43.5% 로서 50% 를넘지못하는저조한결과를나타내었으며, 100개의평균을기준으로한인식결과는 52% 의인식결과를나타내어간신히 50% 를넘는인식률을나타내었다. 또한그림에서보듯이인식률이고르게나타나지않음을볼수있으며, 이는유사한패턴을구분하지못하는것으로판단된다. - 108 -
표 4-3 최소거리법을이용하고 1개패턴만을사용한인식결과 Table 4-3 Recognition result of minimum distance method after learning with 1 pattern. 패턴번호인식률패턴번호인식률 1 40 17 36 2 42 18 51 3 22 19 79 4 65 20 58 5 49 21 17 6 38 22 65 7 60 23 66 8 53 24 71 9 52 25 6 10 62 26 11 11 53 27 64 12 30 28 16 13 25 29 53 14 18 30 13 15 4 31 75 16 33 32 66 평균인식률 43.5313 % - 109 -
표 4-4. 최소거리법을이용하고 100개패턴의평균을사용한인식결과 Table 4-4 Recognition result of minimum distance method after learning with 100 patterns. 패턴번호인식률패턴번호인식률 1 30 17 32 2 55 18 40 3 70 19 87 4 53 20 36 5 56 21 35 6 44 22 58 7 81 23 82 8 62 24 74 9 64 25 6 10 65 26 6 11 63 27 76 12 50 28 60 13 43 29 74 14 11 30 36 15 0 31 77 16 46 32 93 평균인식률 52.0313 % - 110 -
100 90 80 70 60 50 40 30 20 10 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 최소거리법을이용하고 100 개의패턴을사용한인식결과 최소거리법을이용하고 1 개패턴만을사용한인식결과 그림 4-22. 최소거리법을이용하고 1 개와 100 개의패턴을사용한인식결과. Fig. 4-22. Recognition results of minimum distance method after learning with 1 and 100 patterns. - 111 -
4.3.3 푸리에서술자비교법처리결과 푸리에서술자비교법을사용하여패턴인식실험을하였으며, 실험은앞에서처럼두가지방법으로수행하였다.. 100개평균은앞에서구성한 32개의모델에대한각각 100개의유사패턴들의평균값을계산하고그계산된파형에대해서푸리에서술자를계산해내었다. 푸리에서술자갯수는 20개로하였으며, 패턴별로데이터베이스에저장하였다. 그리고 3200개의패턴들을입력받아저장된서술자값들과비 교를수행하였다. 그리고 100 개의평균이아닌 32 개모델자체의푸리에 서술자값을데이터베이스에저장하여비교하였다. 시작 패턴분류및서술자값저장 자료구축 푸리에계수계산 인식 DataBase 유사도계산 최대유사도패턴추출 해당패턴결정 그림 4-23 푸리에서술자비교법을사용한처리과정 Fig. 4-23 Process of fourier descriptor method. - 112 -
즉모델 1개를기준으로하여비교한것이다. 전체적인처리과정을그림4-23에나타내었다. 그리고 1개의기준패턴의푸리에서술자값을사용하여처리한결과를표4-5에나타내었으며, 100개의평균값의푸리에서술자값을기준으로사용한처리결과를표4-6에나타내었다. 그리고그결과를그래프로나타낸것을그림4-24에나타내었다. 1개의기준패턴을사용한경우의인식결과는 52% 를나타내었으며, 100개의평균을기준으로한인식결과는 61% 의인식결과를나타내었다. 이는최소거리비교법과비교하였을때에는 9% 의높은인식률을나타내는것이다. 다만그림에서보듯이인식률이최소거리비교법과유사하게고르게나타나지않음을볼수있다. - 113 -
표 4-5. 푸리에서술자방법을이용하고 1개의패턴을사용한인식결과 Table 4-5 Recognition result of fourier descriptor method after learning with 1 pattern. 패턴번호인식률패턴번호인식률 1 51 17 34 2 35 18 43 3 15 19 60 4 52 20 41 5 37 21 57 6 49 22 46 7 77 23 54 8 58 24 71 9 89 25 64 10 52 26 58 11 45 27 48 12 40 28 13 13 67 29 68 14 49 30 79 15 55 31 54 16 21 32 82 평균인식률 52.0 % - 114 -
표 4-6. 푸리에서술자방법을이용하고 100개의패턴의평균을사용한인식결과 Table 4-6 Recognition result of fourier descriptor method after learning the average of 100 patterns. 패턴번호인식률패턴번호인식률 1 72 17 34 2 62 18 31 3 62 19 62 4 38 20 28 5 46 21 67 6 56 22 51 7 82 23 68 8 54 24 78 9 93 25 83 10 87 26 97 11 88 27 26 12 57 28 25 13 54 29 81 14 59 30 73 15 62 31 51 16 40 32 84 평균인식률 60.9688 % - 115 -
120 100 80 60 40 20 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 푸리에서술자방법을이용하고 100 개의패턴을사용한인식결과 푸리에서술자방법을이용하고 1 개패턴만을사용한인식결과 그림 4-24. 푸리에서술자방법을이용하고 1개와 100개의패턴을사용한인식결과. Fig. 4-24 Recognition results of fourier descriptor method after learning one pattern and the average of 100 patterns. - 116 -
4.3.4 HMM 처리결과 HMM을사용하여패턴인식실험을하였으며, 실험은앞에서처럼두가지방법으로수행하였다. HMM 처리방법에서는 100개패턴의평균을가지고하지않고 100개각각을바움웰치학습알고리즘에따라파라메터 π i, a ij, b(k) j를재추정하여학습하고인식실험을실시하였으며, 한개모델에대해서도바움웰치학습알고리즘에따라학습하여인식실험을실시하였다. 그런데한개모델에대해서학습한경우에는인식실험결과가전혀나타나지않았다. 시작 Baum-Welch 재추정및확률계산 패턴입력 훈련 DataBase HMM 인식 해당패턴결정 Viterbi 계산 그림 4-25 HMM 방법을사용한처리과정 Fig. 4-25 Process of HMM method - 117 -
이는 HMM 에서는다양한모델에대해서많이학습할수록좋은결과가나오 는기존의 HMM 특성을나타내는것이다. 그리고 100 개를학습한경우는 73.2% 의매우좋은결과를나타내었다. 즉학습예가많으면많을수록인식률이높게나타나는것이다. 실험처리결과를표4-7에나타내었으며, 그결과를그림 4-26에나타내었다. 그림을보면 HMM 결과에서도인식률이고르게나타나지않고있음을알수있다. 그림 4-25에처리과정을그림으로나타내었다. - 118 -
표 4-7. HMM방법을이용하고 100개의패턴의평균을사용한인식결과 Table 4-7 Recognition result of hidden markov method after learning with 100 patterns. 패턴번호인식률패턴번호인식률 1 90 17 39 2 58 18 98 3 46 19 75 4 45 20 71 5 73 21 78 6 70 22 82 7 84 23 91 8 35 24 90 9 97 25 84 10 87 26 84 11 92 27 70 12 90 28 57 13 85 29 86 14 58 30 69 15 66 31 76 16 49 32 67 평균인식률 73.1875 % - 119 -
120 100 80 60 40 20 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 그림 4-26. HMM 방법을이용하고 100 개의패턴을사용한인식결과. Fig. 4-26. Recognition result of hidden markov method after learning with 100 patterns. - 120 -
4.3.5 신경망을이용한인식실험처리결과 신경망을사용하여패턴인식실험을하였으며, 실험은앞에서처럼두가지방법으로수행하였다. 신경망을이용한인식방법에서는 100개패턴각각을오류역전파학습알고리즘에따라오차신호를이용하여연결강도를변경하는학습절차를거쳐학습하고인식실험을실시하였으며, 한개모델에대해서도오류역전파학습알고리즘에따라학습하여인식실험을실시하였다. 시작 오류역전파학습 자료구축 패턴입력 인식 DataBase M L P 최대유사도패턴추출 해당패턴결정 그림 4-27 신경망방법을사용한처리과정 Fig. 4-27 Process of neural net method. - 121 -
이때사용된신경망모델은입력층 20, 히든층 27, 출력층 32개의신경노드를사용하였다. 이러한모델은시행착오를거쳐이루어졌으며, 히든층, 출력층등의수가늘어나면학습처리시간이기하급수적으로늘어나게되어처리하기가힘들어지게된다. 그렇지만각노드와가중치가한번결정되기만하면실제인식과정은빨리처리된다. 신경망을통한처리과정을그림4-27 에나타내었다. 그리고 1개의기준패턴을사용하여신경망인식방법에의해처리한결과를표4-8에나타내었으며, 100개의패턴에대해신경망인식방 법으로처리한 결과를표 4-9 에나타내었다. 그리고그결과를그래프로나 타낸것을그림4-28에나타내었다. 1개의기준패턴을사용한경우의인식결과는 62% 를나타내었으며, 100개의평균을기준으로한인식결과는 74% 의인식결과를나타내었다. 이는지금까지의인식방법중가장높은인식률을나타내는것이다. 또한특이한사항은신경망을이용하여학습한상황에 서인식률이저조한패턴에대해서재 학습을한경우에인식률이더욱높 아지며전체적인학습률도높아진다는것이다. 이렇게재학습을시도하여매우높은인식률을얻을수있었는데이를표 4-10에나타내었다. 또한결과를그림 4-28에나타내었다. 그림에서보면전체적인학습률이타인식방법에비해고르게되어있음을알수있다. - 122 -
표 4-8. 신경망방법을이용하고 1개의패턴을사용한인식결과 Table 4-8 Recognition result of neural network method after learning with 1 pattern. 패턴번호인식률패턴번호인식률 1 42 17 59 2 42 18 63 3 24 19 72 4 51 20 64 5 30 21 57 6 69 22 55 7 73 23 90 8 40 24 82 9 82 25 61 10 91 26 43 11 65 27 64 12 79 28 46 13 87 29 60 14 79 30 42 15 42 31 71 16 64 32 87 평균인식률 61.75 % - 123 -
표 4-9. 신경망방법을이용하고 100개의패턴을학습한후인식결과 Table 4-9 Recognition result of neural network method after learning with 100 patterns. 패턴번호인식률패턴번호인식률 1 61 17 66 2 77 18 71 3 81 19 68 4 64 20 61 5 74 21 72 6 72 22 54 7 99 23 92 8 65 24 86 9 82 25 59 10 90 26 71 11 89 27 82 12 89 28 63 13 97 29 88 14 72 30 51 15 37 31 76 16 76 32 98 평균인식률 74.4688 % - 124 -
표 4-10. 신경망방법을이용하고 100개의패턴을학습한후인식률이떨어지는부분을재학습한후의인식결과. Table 4-10. Recognition result of neural network methods after re-learning the low rate from 100 samples. 패턴번호인식률패턴번호인식률 1 99 17 75 2 95 18 98 3 91 19 100 4 92 20 84 5 99 21 100 6 96 22 97 7 100 23 97 8 99 24 86 9 100 25 96 10 92 26 99 11 100 27 100 12 99 28 98 13 99 29 100 14 100 30 97 15 100 31 66 16 96 32 94 평균인식률 95.125 % - 125 -
120 100 80 60 40 20 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 신경망방법을이용하고 100개의패턴을인식후인식률이떨어진부분을재학습한후의인식결과신경망방법을이용하고 100개패턴을사용한인식결과신경망방법을이용하고 1개패턴만을사용한인식결과 그림 4-28. 신경망방법을이용하고 1개와 100개의패턴을학습한후인식결과와인식률이떨어지는부분을재학습한후의인식결과. Fig. 4-28. Recognition results of neural network method after learning with 1, 100 patterns and re-learning the low rate from 100 samples. - 126 -
4.3.6 여러인식방법의처리결과비교 최소거리, 푸리에서술자, HMM, 신경망을사용하여패턴인식실험을하 였으며, 각각의실험결과를표 4-11 에나타내었다. 표에서신경망 I 은일반 신경망방법이고신경망 II 는재학습을시도한경우를나타낸다. 실험결과에 서신경망인식방법이가장인식률이좋게나타났다. 특히재학습을시도한경우는신경망인식방법은 95% 라는매우높은인식률을나타내고있다. 이는패턴중일부가인식률이낮게나타나는경우재학습을통해인식률을높일수가있다는것이다. 따라서본연구에서레이저스트라이프파형패턴을인식하는데에는신경망이가장좋은방법임이판명되었다. 표 4-11 다양한인식방법을사용한파형패턴인식결과 Table 4-11 Result of recognition with various methods. 방법 최소거리 Fourier Descriptor HMM 신경망 I 신경망 II 1가지만교육한후인식시험결과 100개모두교육한후인식시험결과 43.5 52.0 0.0 61.8 61.8 52.0 61.0 73.2 74.5 95.1-127 -
4.4 인체스캔파형인식 인체에대한전체레이저스트라이프파형을인식하기위해서인식하고자하는자세예를들면, 차려자세, 발벌린자세, 손벌린자세, 손과발을벌린자세에서나타나는파형들을종류별로분류하였으며, 분류된파형패턴들을인식하기위해학습을시켜야한다. 차려자세, 발벌린자세, 손벌린자세, 손과발을벌린자세에서나타난기본파형패턴들은표4-1에나타내었다. 표에서보는바와같이파형패턴의종류는그렇게많지는않으며, 이는인체의자세가복잡한형상이아닌 표 4-12 인체형상의특징에서분리된특징파형을인식한인식률 Table 4-12 Recognition rate for patterns of human body. 패턴번호 인식률 1 99 2 100 3 99 4 98 5 100 6 97 7 99 평균인식률 98.9 % - 128 -
단순한자세를기초로하여스캔하였기때문이다. 이와같이분류된패턴들을신경망을이용하여학습시켰으며각각의패턴의인식률이높게나타날때까지개별학습을실시하였다. 각패턴에대한인식률은다음표4-12와같다. 각각의스캔라인에대한세부패턴파형에대한인식이이루어지면스캔된인체전체의스트라이프파형에대한패턴처리가이루어진다. 인체전체를스캔한라인파형의수는적어도 3회이상에서수십, 수백회까지의라인파형으로이루어지게된다. 이러한불규칙한일련의라인패턴들을인식하기위해서는신경망보다는 HMM이더욱인식하는데효과적이다. 그것은음성인식에서음성의길이가일정하지않고불규칙한그러한신호를인식하는데에는 HMM이더욱효과적인성능을발휘하고있기때문이다. 인체를스캔한라인파형을 3개로하였을때팔을조금벌리고다리를모은자세에서나타나는기본적인파형은다음그림 4-29과같다. 그림에서보면, 윗부분의파형은머리와어깨부분의특징을나타내고있으며, 중간파형은몸과팔의특징을나타내고있으며, 아래파형은다리의특징을나타내고있다. 인체부위에따라파형이다르게나타나는것이다. 이러한파형을놓고서볼때에는이일련의파형은바로사람의특징을나타내고있는파형임에틀림이없는것이다. - 129 -
그림 4-29 Fig. 4-29 팔을벌리고다리를모은자세 Standing with outstretching arms. 그림 4-30 팔과다리를모은차려자세 Fig. 4-30 Standing at attention. - 130 -
이렇게각위치에따른특징파형을학습한후새로사람을스캔하게되면바로인체스캔파형임을알수있게된다. 본연구는이러한파형을학습후기본적인인체판단만을수행하는것에그치지않고좀더다양한자세를취하고있는인체를판단하고자하였다. 그것은앞에서스캔한것처럼차려자세와다리벌린자세, 팔벌린자세, 팔다리벌린자세를구분하는것이다. 물론더나아가더욱자세하고세부적인자세를구분하여연구하는것이필요하겠지만본실험장치로서는어려운부분이많이있어차후과제로남겨놓고자한다. 그림 4-29의스캔파형은팔을벌리고다리는모아서서있는자세이다. 팔과다리를차려자세로스캔한파형은그림 4-30와같다. 이러한자세의차이는팔을벌리고안벌리고와다리를벌리고안벌리고의차이일것이다. 이러한차이를구분하기위해서는다리를붙인경우와벌린경우의단계별구분과, 마찬가지로팔을벌린경우와안벌린경우의단계별구분이필요하다는것이다. 또한한팔은붙이고한팔은벌린경우도나타날것이다. 발의경우에대해서세부적으로나타내기위해두개의파형의벌어짐의정도를숫자화하여구분하도록하였는데, 파형의크기가서로두배이상차이가나지않는경우에한하여두파형폭의평균을내고그평균을기준으로두파형간의벌어진정도를나타내었으며평균파형의 5배까지를모두 10 단계범위로구분하였으며, 각각의패턴파형에대한번호를부여하게된다. 구체적인방법은그림 4-31에나타내었으며, 다리의파형의폭을각각 l1,l 2 로하고, 그다리사이의간격을 d로하면, 두파형의평균폭 l 은 l=( l 1 +l 2 )/2 가될것이다. 평균폭이구해졌으면, 다리사이의벌어진정도를 10단계로구분하기위해 d 를 l/2 로나누게된다. - 131 -
l 1 l 1 d d l=( l 1 +l 2 )/2 N = d /(l/2) 0 N <10 :N 은정수 그림 4-31 다리의벌린정도를나타내는그림 Fig. 4-31 Outstretching level between legs. l 1 l 2 d d l=l 1 /3 N = d / l 0 N <5 :N 은정수 그림 4-32 몸과팔의벌어진정도를나타내는그림 Fig, 4-32 Outstretching level between body and arm. - 132 -
l 1 l 2 d 1 d 1 d 2 d 2 l=l 1 /3 N 1 = d 1 /l, N 2 = d 2 /l 0 N 1,N 2 <5 : N 1,N 2 는정수 그림4-33 몸과양팔의벌어진정도를나타내는그림 Fig.4-33 Outstretching level between body and arms. 그리고두개의파형의크기가서로 2배이상나는것은다리의경우가아닌몸과팔의경우에해당되는것으로큰파형즉몸에해당되는크기를 1/3하여그값의비를구하였다. 그최대값을 5로하였으며세부적인관계를그림 4-32에나타내었다. 몸에대한파형패턴은몸과팔로이루어져있으며, 팔에대한작은파형두개와몸에대한긴파형하나로이루어지게된다. 기본적인모양으로는팔파형과몸파형, 그리고팔파형의 3가지파형으로이루어진다 ( 그림4-33). 그렇지만단순하지는않다. 팔의위치에따라그모양이달라지기때문이다. 팔이몸에붙은경우와안붙은경우멀리떨어진경우, 또한왼쪽팔이붙은경우, 오른쪽팔이붙은경우, 멀리떨어진경우에는얼마나떨어졌는지에대한구분등이필요하게된다. 이렇게각각의파형패턴에대해구분을하며, 왼쪽이붙고오른쪽이떨어진경우부터왼쪽이떨어지고오른쪽이붙은경우까지를 5구간씩으로구분하면, 모두 25가지구간이만들어지게된다. 즉몸에해당하는파형패턴은모두 25가지가되는것이다. 이러한모든파형패턴에대한번호를부여한것을다음그림4-34에나타내었다. - 133 -
no=1[a] no=2[b] no=3[c] no=4[d] no=5[e] no=6[f] 단일파형으로나타나는패턴 (1~6) G H I J K L M N O P Q R S T U V W X Y Z [ \ ]. _ 단일파형혹은다중파형으로나타나는패턴 (no=7~32) 단일파형혹은다중파형으로나타나는패턴 (no=33~42) ' a b c d e g h i j 그림 4-34 HMM에서처리하기위한인체의특징패턴들 Fig. 4-34 Figuring patterns used in HMM. - 134 -
이렇게붙여진각패턴파형의수는모두 42개가되며, 이파형들의관측에따른관측열을만들게되는데 HMM에서처리하기쉽게하기위해각각의번호를알파벳코드와기호문자로바꾸게된다. 아스키코드에서대문자는 A~Z 로아스키값은 65~106을갖는다. 여기서나타난파형은모두 42개이므로일반기호문자와소문자를포함하여알파벳소문자 n 까지연결된다. 즉 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]. _ ' a b c d e f g h i j 로아스키코드값은 A:65, B:66....,i:105, j:106이된다. 이렇게파형을코드화하게되면, 기본자세에대한스캔파형은한스캔라인에대해한글자의아스키코드로변환되어 HMM에서쉽게처리가가능하다. 예를들면차려자세에서의레이저스캔파형기본적인파형패턴은그림4-35 에서와같으며이를패턴인식후변환된코드는 AGa가된다. S1 a11 a 1 S2 a22 a 2 S3 a33 그림 4-35 Fig. 4-35 3 가지상태의특징을갖는차려자세의기본패턴파형 Basic three patterns of standing attention. - 135 -
S1 a11 a 1 S2 a22 a 2 S3 a33 그림 4-36 3 가지상태의특징을갖는다리벌린자세의기본패턴파형 Fig. 4-36 Basic three patterns of outstretching legs. S1 a11 a 1 S2 a22 a 2 S3 a33 그림 4-37 Fig. 4-37 3 가지상태의특징을갖는팔을벌린자세의기본패턴파형 Basic three patterns of outstretching arms. - 136 -
이것은물론가장단순한경우인 3개의스캔라인에해당되며스캔라인이많아지면한줄당한코드가첨가되어변환된코드는수십개의코드로늘어나게된다. 예를들면 AAAGGGAaaa 처럼변환이될수있게된다. 이렇게변환된가변길이의인체에대한코드는 HMM의학습기능을통해학습되고저장되어새로운인체의스캔파형이들어오면저장된인식데이터베이스를통해비교하여가장적합한것을고르게된다. 다리벌린자세의기본라인패턴이그림4-36에나타나있다. 이자세는다 리를 벌린자세가되며그정도가 2 가되어 AGb 가된다. 또한다음그림 4-37 의팔벌린자세는팔을조금벌린상태가되어 AMa 가된다. - 137 -
제 5 장실험결과및고찰 인체에투사된레이저스트라이프파형은그물체의입체적정보를포함하고있으며, 그스트라이프파형이많으면많을수록입체적정보는세밀하게되며, 물체의형상정보를획득하려는다양한분야에서연구되어져왔다. 본연구는이러한세부적인스트라이프파형이조밀하지않은상태에서도입체의정보를포함하고있으므로그패턴파형을분류하여저장하고새로운파형이들어오면그것이어떠한파형인지를인식하고나아가어떤물체인지를파악해낼수있도록하는방안을제시하였다. 본연구에서는특히인체에투사된스트라이프파형을연구하였으며, 인체의기본적인몇가지자세연구를통해인체의기본적인자세모양을닮고있는특징적인파형형상을찾아내고이를분류하였다. 이렇게분류된패턴파형을저장학습하고새로운파형이들어올때, 가장유사한패턴을효율적으로찾기위해푸리에서술자를이용한방법, HMM을이용한방법, 신경망을이용한방법등다양한방 법을실시하였으며 [ 표 4-3~ 표 4-10], 그 여러방법중에서가장신경망을 이용한방법이가장효율적인방법임을확인할수있었다 [ 표4-11]. 또한신경망을통하여인체의특징파형을분리해내기위해레이저스캐너를제작하기도하였다. 레이저스캐너는스캔영역이사람을스캔할정도의크기는가격이매우고가이어서연구를위해저급의레이저스캐너를자작하였다. 단순한모터를마이크로프로세서를통해간단하게제어하여스캐너기능을구현하였으며, 정밀하지는못하지만인체를스캔하는데성공하였으며, 인체의기본적인자세를스캔하는데사용하였다 [ 그림4-5]. 스캔된신호파형은신경망을통해분석되어인체의특징파형을분리하게되며, 스캔된라인수만큼의패턴열을형성하게된다. 이패턴열은스캔하 - 138 -
는수만큼나타나게되며, 스캔된패턴열을통하여인체가어떤자세를취하고있는지를파악하게된다. 그러나인체를스캔하는라인수는항상일정하지않는특징이있다. 사람이서있는거리에따라패턴의형상이바뀌며, 스캔라인수도바뀌게되기때문이다. 이렇게스캔하는상황에따라바뀌는신호파형을인식하는데는 HMM을이용한방법이신경망으로인식하는것보다는더욱효율적이다. 따라서형성된패턴열을학습하기위해 HMM방법을사용하였으며, 인체의기본자세를형성하는패턴열들 baum-welch 알고리즘에따라학습하여재추정파라미터를저장하였으며, 인식은 viterbi 알고리즘에따라 viterbi score가최대값이되는것을인식하는것으로하였다. 표5-1에실험에대한인식결과를나타내었으며, 98~100% 의높은인식률을얻을수가있었다. 팔다리를벌린자세가인식률이높은것은팔, 다리를벌린경우에팔다리와몸이명확하게분리됨으로인해파형이더욱명확하게구분되어인식률 표 5-1. 여러자세를학습시킨후의인식률 (%) Table 5-1. Recognition rate of 4 poses. 번호 1 2 3 자세 기본자세 ( 팔, 다리를벌린자세 ) 팔을벌린자세다리를벌린자세 HMM을통한인식방법 100회 300회 500회 96 99 100 93 98 99 93 98 99 4 차려자세 90 97 98-139 -
이높게나타났다. 이러한실험을통해서인체에투사된레이저파형들을인식하여인체가어떠한자세를하고있는지까지도알수있음을확인할수있었다. 그림5-1에본연구의인식기능을구현한프로그램의동작화면을나타내었다. 사진은어두운상황에서레이저를투사해야선명한파형을얻을수있으므로사진이어둡게나타나있다. 우측상단은레이저반사파형의스캔된모습이며, 좌측하단부는인식프로그램의동작모습을나타내고있다. 그림 5-1. 인식처리화면 : CCD 입력영상 ( 좌상 ) 과처리된스트라이프 파형 ( 우상 ) 및프로그램처리화면 ( 하 ) Fig. 5-1. Screen shot of recognition program. - 140 -