본문 바로가기

programming

디지털 영상처리란? (Digital Image Processing)

이 자료는 출처 : http://harmony.cs.pusan.ac.kr/lecture/ipcv/imageprocessing.htm#1.
 - 부산대 신경망 실세계 연구실 에서 가져왔습니다. (요즘 자주 퍼오는군요 -ㅇ-;;;)


1. 디지털 영상처리(Digital Image Processing)란?

2. 영상처리의 분류

3. 영상처리의 응용분야

4. 모폴로지 기법

5. 기하학적 변환을 통한 영상 처리

6. 이진화 종류

7. 윤곽선 검출

8. 마스크 연산을 이용한 필터링

9. 그 밖의 다양한 영상처리




1. 디지털 영상처리 (Digital Image Processing)란?

    디지털 영상처리는 글자 그대로 컴퓨터로 영상을 처리하는 것이다. 보다 넓은 의미로 의 영상처리는 컴퓨터를 이용하여 영상을 생성하고, 처리하고 영상을 해석, 인식하는, 영상과 관련된 모든 분야를 의미한다. 이 기술을 이용하여 우리는 흐린 영상을 보다 선명하게 볼 수 있다거나, 영상이 회손된 경우 다시 원 영상으로 복원한다든지 영상에서 필요한 정보만을 추출하여 얻을 수 있는등 다 방면으로 활용할 수 있다.

    영상처리는 컴퓨터 그래픽(Compurter Graphics), 컴퓨터 비젼(Compurter Vision) 과 밀접한 관계가 있다. 컴퓨터 그래픽은 컴퓨터를 이용하여 셩상을 생성 시키는 쪽에 주력하는 분야이고, 컴퓨터 비젼은 영상 처리중에서도 특히 영상의 인식, 이해 등을 중점적으로 주로 연구하는 분야이다. 반면에 영상처리는 보통 여러 장치들을 통하여 이미 생성된 영상을 입력하여 영상을 변화시키는 것이며 영상을 재가공하거나 영상에서 정보를 추출하는 과정이라 할 수 있다.

2. 영상 처리의 분류

    (1) 영상 조작 (Image Manipulation)

    영상 획득시 주위의 환경의 영향으로 영상이 흐리거나 너무 어두울 경우, 혹은 잡영이 많이 섞인 경우 우리는 원하는 영상을 얻기 위해 영상을 조작하는데 이를 영상 조작이라 한다. 이는 영상 처리에 있어 매우 기본적이면서도 중요한 부분이다.

    (2) 영상 분석 (Image Analysis)

     영상 조작에 의해 보정된 영상에서 특징을 찾아 내는 것으로, 인쇄되거나 필기된 글자를 실별하거나, 카메라를 통해 부품의 치수를 측정하고 PCB기판의 정밀도를 체크하거나, 의료분야에서의 세포분석등 영상을 분석하는 영역을 말한다.

    (3) 영상 인식 (Scene Analysis)

    사람의 눈으로는 식별이 불가능한 것들, 즉 미세한 영상물의 차이점을 발견하고 영상물의 비교하여 다른 영상과 비교분석하며 특징을 찾아 영상을 인식하는 것을 말한다. 예로, 지문 인식 시스템을 이용하여 범죄현장의 지문과 정부의 DB안의지문과 비교하여 범인을 추적하는 시스템, 로복의 시각 시스템과 무인 자동차의 전자눈 등이 있다.

    (4) 영상 통신 (Image Transmission)

    영상을 전송함에 있어 어떻게 효율적으로 전송할 것인가를 연구하는 분야로 영상 압축을 이용하여 영상을 처리/ 전송하는 영역이다. 디지털 영사의 막대한 용량을 압축시키는 영상압축 및 보정 기술을 필요로 하고 있다.

3. 영상 처리의 응용 분야

    (1) 생물학 분야

      세포나 어떤 특성을 만족하는 객체들의 자동적인 계수와 분류

      DNA의 분석, 분류, 정합

    (2) 군사적 분야

      자동적으로 위성사진을 분석하여 목표물이나 적의 공항, 함정, 미사일 발사, 군사 진지 등을 탐지한다.

      목표물을 추적하고 인식하는 스마트 폭탄이나 미사일 유도 장치에 사용된다.

    (3) 문서처리

      문서를 디지털 형태로 바꾸로 압축하며 여러 가지 매체에 저장한다.

      수표나 세금 양식에 인쇄되어 있는 글자를 자동 검출 하고 인식한다.

    (4) 공장 자동화

      인간의 눈으로 놓치기 쉬운 제품의 결함이나 인간에게 위험한 작업의 자동화에 사용한다.

    (5) 의료 진단 영상 시스템

      의료 방사선 쵤영을 통하여 사람의 내부 장기를 볼 수 있다.

      X-Ray, CT 촬영

    (6) 리모트 센싱(Remote Sensing)

      인공위성은 일정한 간격으로 지구의 표면을 촬영한다.

      곡물의 작황을 분석하거나 식물의 분포, 자원 탐사 등에 이용, 고도의 자료에 의해 3차원으로 지구표면을 그릴 수 있다.

    (7) 비디오/ 필름 효과

      모핑 : 어떤 물체를 다른 모양으로 부드럽게 바뀌게 하는 특수효과

      영상 합성: 두 개의 서로 다른 화면을 하나로 합성하는 것

 

4. 모폴로지 기법 ( Morphology )

    (1) 침식(Erosion) 연산

      물체에 대해 배경을 확장시키고 물체의 크기를 축소하는 역할을 한다.

      침식 마스크를 이용하여 연산시 흰 물체의 둘레로부터 한 픽셀을 없애는 효과를 갖는다.

    (2) 팽창(Dilation) 연산

      물체의 최 외각 픽셀을 확장하는 역할을 한다.  따라서, 물체의 크기는 확장 되고 배경은 축소된다.

      팽창 마스크는 흰색 물체의 둘레에 한 픽셀을 더하는 역할을 하는데 3 X 3 마스크와 똑같은 영역을 가지는 영역에 대해서는 값을 바꾸지 않으며 1개 이상의 서로 다른 픽셀이 존재할 경우 마스크의 가운데 픽셀에 흰색 값을 할당 하는 역할을 한다.

    (3) 열림(Opening) 연산

      침식 연산 다음에 팽창 연산을 바로 사용하는 알고리즘 이다. 즉, 원영상을 침식 연산으로 영상의 최왹각을 한 픽셀씩 없애고 다시 팽창 연산으로 최 외각을 한 픽셀씩 확장 시키는 방법이다.

    (4) 닫힘(Closing) 연산

      제거연산의 반대 기능으로  팽창연산으로 물체의 확장을 수행한 뒤 침식 연산으로 다시 축소 연산을 행한다.

      img5.gif

      원영상    

      img3.gif

      img4.gif

      침식 연산

      팽창 연산

      img6.gif

      img7.gif

      열림 연산

      닫힘 연산

[ 이진 영상에서의 모폴로지 적용 예 ]

 

5. 기하학적 변환을 통한 영상 처리

    영상 내의 물체 사이의 공간적인 관계를 변화 하는 것으로, 물체를 이동하거나 물체의 크기, 모양을 변형 하는 것이 이에 해당한다.

    (1) 영상의 크기(Scale) 확대

      원영상을 확대하는 것은 원 영상의 각 픽셀의 좌표를 확대하려는 배율만큼 이동하는 것을 말한다. 하지만 영상 확대시 값을 할당 받지 못한 픽셀들인 존재한다. 이를 홀(Hole)이라 하는데, 빈 픽셀에 적당한 데이터 값들을 할당하여 사용하는 영상처리 방법을 보간법이라 한다.

    (2) 영상의 크기(Scale) 축소

      원영상의 크기를 작게 만들어 주는 기법이다.

    (3) 영상의 회전(Rotate) 변환

      원 영상을 원하는 각도만큼 회전 시키는 변환을 말한다.

    (4) 보간법

      영상의 크기를 확대, 축소 혹은 회전시 영상의 해상도를 높이기 위한 방법으로 최근접 이웃 보간법(nearest neighbor interpolation) 또는 0차 보간법(zero - order interpolation) 이 있다.

      * 최근접 이웃 보간법

        원하는 픽셀의 위치와 가까운 것을 사용하는 것으로 매우 간단한 방법이다. 이 방법은 빈 픽셀에 이웃하는 픽셀의 값을 할당하므로    계단 현상이 나타나며 좀 더 정확한 확대 영상을 필요로 하는 영상처리 프로그램에서는 한계가 있다. 이를 극복하는 방법으로 평균값을    이용하는 방법이 있다.

      * 쌍일차 보간법 (Bilinear interpolation)

        확대 영상에서 주변 픽셀들의 평균값을 계산하여 할당 받지 못한 빈 픽셀에 대입시키는 방법이다.

          [ 그림 설명 ] 

    img18.gif

    img19.gif

    (a) 원영상

    (b) 보간법을 이용한확대영상

       

    6. 이진화의 종류

      (1) P-타일법(단순 임계치 방법)

        1) 정의 : 영상 중에 대상물이 차지하고 있는 면적 비율을 알고 있는 경우에 명도 히스토그램에서 그 면적 비율 P%점을 임계값으로 하는 방법

        2) 단점 : 대상물의 면적 비율을 사전에 알고 있는 경우가 거의 없으므로, 도면이나 문서 영상에서 문자 부분이 점유하고 있는 면적 비율을 어느 정도 추정할 수 있을 때 이 방법을 이용할 수 있다.

      (2) 모드(Mode)법

        1) 정의 : 히스토그램에서 산 사이의 계곡에 해당하는 명도점을 이진화의 임계값으로 하는 방법

        2) 알고리즘

        적당한 임계값 결정을 위한 Peakness 검출 알고리즘

        1. 히스토그램에서 어느 정도 이상 떨어져 있는 2개의 국부 최대점을 찾는다. 이들이 그레이 레벨 gl와 gj라고 하자
        2. 히스토그램에서 gl와 gj 사이의 가장 낮은 지점 gk을 찾는다.
        3. min(H(gi), H(gj))/H(gk)으로 정의되는 Peakness를 계산한다.
        4. 영상을 이진화하는 임계값으로는 가장 높은 Peakness를 가지는  gk를 사용한다.

        3) 임계값 결정 방법

       

      (3) 평균 이진화

        1) 정의 : 영상 안의 모든 픽셀에 대해서 평균을 구하여 그 값을 임계값으로 하는 방법

       

      (4) 반복(Iterative) 이진화

        1) 정의 : 대략적인 임계값에서 출발하여 점차 반복적으로 이 추정값을 향상시키는 방법

        2) 알고리즘

        반복적 임계값 선정 알고리즘

        1. 임계값의 처음 추정치 T를 선정한다. 영상의 평균 밝기는 좋은 출발점이 된다.
        2. 추정 임계값 T를 이용하여 영상을 2개의 영역 R1과 R2으로 구분한다.
        3. 영역 R1과 R2의 평균 그레이 값 u1과 u2를 구한다.
        4. 새로운 임계값을 다음 식을 이용하여 결정한다.
        5.        T = (u1 + u2)/2
        6. 평균 그레이 값 u1과 u2이 더 이상 변하지 않을 때까지 절차 2에서 절차 4까지를 되풀이 한다.

        3) 단점 : 장면 안의 조명이 균일하지 않은 경우에 단순 임계치 방법보다 더 나쁜 결과를 만들 수 있다.

       

      (5) 적응(Adaptive) 이진화

        1) 정의 : 전체 영상의 히스토그램을 이용하는 것이 아니라 영상의 일부분에 대한 히스토그램을 가지고 그 일부분만을 위한 임걔값을 구하는 방법

        2) 방법 : 전체 영상을 m x m개의 소영상으로 분할한 다음 각 소영상에 대하여 히스토그램을 조사하여 그 소영상에 대한 임계값 Tij (1<=i,j<=m)을 결정

       [ 적응 이진화 방법 ]

      원영상

      일반 이진화

      반복이진화

      모드법

      적응이진화

      평균이진화

       [ 이진화 예 ]

       

    7, 윤곽선 검출(Edge Detection) Mask

      윤곽선 검출 알고리즘은 여러 가지 종류가 있다. 윤곽선 검출은 미분연산자에 의한 밝기 값의 변화를 이용하여 찾아내는 것이다. 또한 편미분 연산을 이용하여 미분 값을 구하는 것도 있으며, 프로그래밍을 하는데 있어서 직접적인 계산보다는 마스크를 이용하여 빠른 계산을 하는 것이 더욱 효과적인데, 각 마스크의 특징은 마스크 내의 모든 픽셀의 합은 0이라는 것이다.

      (1) 소벨(Sobel)

        1) 특징

        • 윤곽선 검출의 가장 대표적인 미분연산자
        • 2차 미분 연산자이며, x축, y축으로 각각 한번씩 미분
        • 기울기의 크기는 [그림]이다 (단, Gx는 x축 편미분, Gy는 y축 편미분)
        • 프로그램의 간결성을 위하여 기울기의 크기를 G = |Gx| + |Gy|로 할 수 있다.

        2) 마스크

    -1

    0

    1

    -2

    0

    2

    -1

    0

    1

     

    1

    2

    1

    0

    0

    0

    -1

    -2

    -1

      (2) 프리윗(Prewitt)

        1) 특징

        • 소벨 필터의 결과와 거의 같은 결과 값을 나타내는데 응답시간이 약간 빠르며 마스크의 형태는 비슷하나 밝기의 경계에 대해 비중을 약간 다르게 주어서, 윤곽선 검출 시 윤곽선이 덜 부각되어 나타나도록 한다.

        2) 마스크

    -1

    0

    1

    -1

    0

    1

    -1

    0

    1

     

    1

    1

    1

    0

    0

    0

    -1

    -1

    -1

      (3) 로버트(Robert)

        1) 특징

        • 윤곽선 검출 마스크 중 기본이 되는 마스크이고 매우 민감한 필터이다.
        • 매우 빠른 계산 속도를 나타낸다.
        • 마스크의 모양은 45도 기울기를 가지고 있다.

        2) 마스크

    0

    0

    -1

    0

    1

    0

    0

    0

    0

     

    -1

    0

    0

    0

    1

    0

    0

    0

    0

      (4) 라플라시안(Laplacian)

        1) 특징

        • 연산 속도가 매우 빠르다.
        • 2차 미분 연산자를 사용한다.
        • 모든 방향의 윤곽선을 검출해 낸다.
        • 다른 연산자와 비교하여 날카로운 윤곽선을 검출해 낸다.
        • 하나의 마스크로 윤곽선 검출을 수행한다.

        2) 마스크

    -1

    -1

    -1

    -1

    8

    -1

    -1

    -1

    -1

      (5) 캐니(Canny)

        1) 특징

        • 윤곽선 검출 전 잡영 제거 마스크가 사용된다.
        • 잡영에 강하다.
        • 여러 가지 윤곽선 검출 마스크를 활용할 수 있다.
        • 강한 윤곽선들만 검출된다.

        2) 방법

        먼저 가우시안 마스크를 이용하여 잡영을 제거한 후 소벨 마스크와 같은 윤곽선 검출 마스크를 수행하는 것으로, 이러한 두 번의 과정 중 춧 번째 과정에서 잡영 제거 효곽가 일어나고 잡영이 제거된 영상에서 윤곽선을 검출하는 방법이다.

        원영상

         

         

        소벨 (Sobel)

        프리윗 (Prewitt)

         

         

        로버트 (Roberts)

        라플라시안 (Laplacian)

         

         

        캐니 (Canny)

         

        [윤곽선 검출 예 ]

     8. 마스크 연산을 이용한 필터링

       

      (1) 컨벌루션(Convolution)

      컨버루션은 영상처리에서 영상 스무딩, 예리화, 에지 검출 등을 하기 위하여 많이 쓰이는 도구이다. 컨벌루션은 입력 픽셀의 이웃에 있는 픽셀들의 가중치 합니다. 가중치는 작은 2차원 배열로 주어진다. 배열의 크기는 대개 중심이 쉽게 정해지도록 홀 수 이다. 이 배열은 흔히 컨벌루션 윈도우, 또는 컨벌루션 마스크라 불린다.

       

      (2) 고주파 차단 필터링과 블러링

       고주파 차단 필터링은 처리 대상의 영상 성분 중 저주파 성분을 유지하고 고주파 성분을 제거하는 필터를 이용하여 결과 영상을 얻어내는 것을 말한다. 고주파 차단 필터는 각 픽셀의 합이 1이 됨을 기본으로 한다. 고주파 차단 정도를 위해 중심 픽셀의 가중 값을 변경할 수 있다.

     

    1/9

    1/9

    1/9

    1/9

    1/9

    1/9

    1/9

    1/9

    1/9

    [고주파 차단 마스크]

    img11.gif

    img13.gif

    (a)  원영상

    (b) 고주파 차단에 의한 블러링

    [고주파 차단 예]

       

      (3) 고주파 강화 필터링과 샤프링

      

    0

    -1

    0

    -1

    5

    -1

    0

    -1

    0

    [고주파 강화 마스크]

    img11.gif

    img12.gif

    (a) 원영상

    (b) 고주파 강화필터에 의한 샤프닝

    [고주파 강화 예]

      (4) 저주파 차단 공간 필터

      저주파 차단 필터는 고주파 차단 필터의 작용과 반대이다. 이 필터는 저주파 성분은 손대지 않고, 고주파 성분은 강화 시킨다. 일반적인 저주파 차단 마스크는 -1로 둘러싸여 있고 중앙 위치에 9가 놓여진다.

      

    -1

    -1

    -1

    -1

    9

    -1

    -1

    -1

    -1

    [저주파 차단 마스크]

    img14.gif

    img15.gif

    (a) 원영상

    (b) 하이 패스 처리된 영상

    [ 저주파 차단 필터의 예 ]

    9. 그밖의 다양한 영상 처리

      (1) 세선화

      세선화란, 두꺼운 선을 하나의 선으로 즉 , 두께가 한 픽셀로 이루어진 중심선을 추출하는 기법을 말한다.

      세선화 알고리즘에서 지켜야될 몇가지 제약점이 있다.

      • 한 픽셀 두께의 영역으로 되어 있어야 한다.
      • 영역의 단면의 중심에 위치해야 한다.
      • 세선을 이루고 있는 중심에 위치해야 한다.

     

    img16.gif

    img17.gif

    원영상

    세선화

      (2) 투영 (Projection)

      이진 영상을 수평이나 수직 방향으로 투상하는 것은 수평이나 수직 방향의 라인상에 존재하는 픽셀값이 1인 픽셀의 갯수를 세는 것이다.

     

    [ 참고 서적]

    [1] " 기초편 영상처리 ", 천인국, 윤영택 편저, 기한재 (1999)

    [2] " 디지털 영상처리의 구현", 장동혁 저, PC 어드밴스 (1999) 

    [3] 출처 : http://harmony.cs.pusan.ac.kr/lecture/ipcv/imageprocessing.htm#1.
     - 부산대 신경망 실세계 연구실


    Raw 이미지 파일입니다.  이것도 어디선간 퍼왔습니다 -ㅇ-;;


     

     


     

    'programming' 카테고리의 다른 글

    윈도우7 관리자 권한 모드로 컴파일하기  (0) 2011.03.14