KR20170053193A - 무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 - Google Patents
무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 Download PDFInfo
- Publication number
- KR20170053193A KR20170053193A KR1020150155123A KR20150155123A KR20170053193A KR 20170053193 A KR20170053193 A KR 20170053193A KR 1020150155123 A KR1020150155123 A KR 1020150155123A KR 20150155123 A KR20150155123 A KR 20150155123A KR 20170053193 A KR20170053193 A KR 20170053193A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- centroid
- server
- compressed
- compression
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H04N5/225—
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반의 데이터 압축 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 서버와 함께 무선 이미지 센서 네트워크를 구성하는 센서노드인 임베디드 장치는, 설치된 장소를 촬영하여 이미지 데이터를 획득하는 촬영부; 상기 이미지 데이터를 K-평균 클러스터링 기반 알고리즘에 따라 압축하는 이미지 압축부; 상기 서버와 멀티홉 통신을 통해 상기 이미지 데이터의 원본과 압축본을 전송하고, 상기 서버로부터 센트로이드의 수와 센트로이드의 대표 픽셀값을 포함하는 센트로이드 정보를 수신하는 노드 통신부; 및 상기 센트로이드 정보를 수신하기 이전에는 상기 이미지 데이터의 원본이 전송되도록 하고, 상기 센트로이드 정보를 수신한 후에는 상기 이미지 압축부를 활성화시켜 상기 이미지 데이터가 압축된 압축본이 전송되도록 하는 노드 제어부를 포함할 수 있다.
Description
본 발명은 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반의 데이터 압축 시스템 및 방법에 관한 것이다.
처리능력 및 저전력 하드웨어 부품의 개선으로, 무선 센서 네트워크(WSNs)는 시스템 레벨 프로토콜을 구비하고 있는 실제 구현 단계로 진입한 상태이다. 이들의 유연성 및 확장성은 새로운 센서가 이전에 모니터링하지 못한 환경을 위한 새로운 애플리케이션이 쉽게 도입되도록 하고 있다. 예를 들어, 이미지 센서(예컨대, 저전력 카메라)를 사용하는 경우, 무선 센서 네트워크는 불필요하게 관심을 끌지 않으면서 생물학적 현상을 관찰하는 포도밭 모니터링, 농작물 모니터링, 함정 트랩, 새둥지(birdnest) 모니터링과 같은 다양한 환경 모니터링 애플리케이션에 적용될 수 있다. 예컨대, 함정 트랩 배열은 생물학자에 의해 도마뱀과 양서류의 지역 집단을 샘플링하기 위해 사용된다. 생물학자들은 트랩 배열을 클러스터 내에 배치하고, 도마뱀이 트랩에 잡혔을 때 태그하고 풀어준다. 일정 시간이 경과한 후 잡힌 도마뱀의 수가 도마뱀의 전체 집단을 추정하는데 이용될 수 있다. 이 경우 저전력 무선 이미지 시스템을 사용하면, 생물학자들은 원격으로 많은 수의 트랩으로부터의 이미지들을 시각적으로 검사할 수 있다. 이는 트랩으로의 방문 횟수를 줄이게 되고, 생물학자의 노력을 감소시키며, 원래 서식지에 인간이 가하게 되는 영향을 최소화한다.
이러한 목적으로, 종래 설계된 임베디드 무선 이미지 시스템을 사용하여 다양한 파일럿 연구가 수행된 바 있다. 이 모델들의 초기 목표는 함정 트랩 혹은 새둥지의 상태와 같은 생물학적 이벤트를 모니터링하기 위해 무선 센서 네트워크를 적용하는 것에 대한 실행가능성 및 유용성을 조사하는 것이었다. 이전 연구에서는, 상용 하드웨어 및 Tenet(티어 무선 센서 네트워크를 프로그래밍하기 위해 준비된 오픈소스 소프트웨어 패키지)을 사용하여 저전력 확장 가능 무선 이미지 시스템을 구현했다. 이 무선 이미지 센서 네트워크 시스템을 사용하여, 우리는 함정 트랩 모니터링과 새둥지 모니터링이라는 2개의 실세계 모델을 만들어 냈다. 새둥지 모니터링을 위한 3개월 이상의 배치 기간 동안 0.05 제곱마일 구역에 배치된 19개의 카메라 노드에서 10만개 이상의 이미지를 수집했다. 이 시스템을 사용하여, 생물학자들은 다양한 생물학적 의문에 답하는데 유용한 이미지 데이터를 온라인으로 거의 실시간으로 획득할 수 있는 가능성을 발견했다.
컴퓨터 과학 관점에서, 수집한 이미지를 압축할 때 시스템에서 비효율성이 발견되었다. 특히 압축률이 증가하면 노드당 이미지 전송률이 높아지고 대용량 크기 이미지를 무선으로 전송할 때의 에너지 소모를 감소시킴을 알아냈다. 파일럿 연구에서 다수의 서로 다른 이미지 압축 기법을 테스트했고, 수많은 문제점들이 있음을 알아냈다. 예컨대, "배경 삭제 기반 객체 감지(background subtraction-based object detection)" 알고리즘은 광강도 변화에 기인하는 중요한 긍정 오류(false positive)가 발생했고, "팩비트(PackBits)"와 "런-렝스 부호화(Run-Length Encoding)" 기법은 이미지 퀄리티를 희생하지 않고서는 단지 ~20%의 압축률을 획득할 수 있었다. 만약 이미지 압축 성능을 개선할 수 있다면, 시스템은 이미지당 전송패킷의 수를 감소시켜 대역폭 사용 및 전력 소모를 절감할 수 있게 된다. 개략적으로 50%의 압축률이 획득될 수 있으면, ~50%3까지 에너지 소모를 줄이거나 동일한 양의 리소스를 가지고 2배 정도의 이미지를 전송할 수 있다.
그럼에도 불구하고, 무선 센서 네트워크 모델에는 예컨대 저전력 임베디드 플랫폼 상의 메모리 제약과 같은 다른 추가적 도전 혹은 설계 고려 요소가 있다. 높은 처리 능력을 가지는 복잡한 기법이 극대화된 압축률을 획득하기 위해 실행될 수 있다. 하지만, (카메라 센서를 포함하는) 본 플랫폼은 64kB의 외장 SRAM을 가지고 있는데, 그 중 대략 5kB가 인프라 코드를 위해 사용되어 이미지 저장 및 처리를 위해서는 단지 ~59kB만이 남아 있다. 200x200 그레이 스케일 이미지가 40kB를 사용하는 것을 고려하면, 현재 처리중인 하나 이상의 추가적인 이미지를 위한 여유분이 없다. 더구나 사용하고자 하는 플랫폼들(예컨대, MicaZ와 TelosB)은 4kB와 10kB의 RAM을 가지고 있다. 이 플랫폼들은 200x200 그레이 스케일 이미지 한장조차 저장할 수도 없을 정도로 상당히 극단적이기는 하다. 이러한 이유로, TiBS (tiny block-size image coding) 및 Optimal Zonal 2x2 BinDCT와 같은 기법이 사용될 수 없다. 그러므로 이미지 압축 알고리즘은 리소스가 제한된 임베디드 장치에서 구현될 수 있을 정도로 간단해야 한다. 연산 리소스에 덧붙이자면, 종래 센서 노드들은 배터리 전력으로 작동하는 임베디드 장치들이다. 이는 자연적으로 시스템 설계에 또 다른 도전과제를 안겨준다. 결과적으로 이러한 장치가 동작되는 조건 하에서 제한된 연산 및 메모리 리소스, 제한된 무선 대역폭, 및 전력 제한을 고려하여 알고리즘을 설계할 필요가 있다.
관련 기술로는 한국공개특허 10-2012-0100448호에 동영상 압축 및 복원 과정에서 가장 많은 자원이 소요되는 움직임 예측 및 마크로 블록의 모드 결정 부분을 머신 러닝 기법을 이용한 동영상의 압축 및 복원 방법 및 장치가 개시되어 있기도 하다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 기계 학습을 통해 압축을 수행함에 있어서, 학습과 압축 부분을 분리하여 학습은 임베디드 장비가 아닌 서버에서 수행하고 그 학습된 결과를 네트워크의 장비들에게 가르쳐 줌으로써 임베디드 장비에서는 압축만을 수행하게 하여 무선 센서 네트워크와 같은 저전력, 저비용, 저성능 임베디드 장비에서도 활용 가능한 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반의 데이터 압축 시스템 및 방법을 제공하기 위한 것이다.
본 발명은 드러나지 않은 상태에서 생물학적 현상을 관찰하기 위한 다양한 환경 모니터링 애플리케이션에서 사용 가능한 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반의 데이터 압축 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일 측면에 따르면, 서버와 함께 무선 이미지 센서 네트워크를 구성하는 센서노드인 임베디드 장치로서, 설치된 장소를 촬영하여 이미지 데이터를 획득하는 촬영부; 상기 이미지 데이터를 K-평균 클러스터링 기반 알고리즘에 따라 압축하는 이미지 압축부; 상기 서버와 멀티홉 통신을 통해 상기 이미지 데이터의 원본과 압축본을 전송하고, 상기 서버로부터 센트로이드의 수와 센트로이드의 대표 픽셀값을 포함하는 센트로이드 정보를 수신하는 노드 통신부; 및 상기 센트로이드 정보를 수신하기 이전에는 상기 이미지 데이터의 원본이 전송되도록 하고, 상기 센트로이드 정보를 수신한 후에는 상기 이미지 압축부를 활성화시켜 상기 이미지 데이터가 압축된 압축본이 전송되도록 하는 노드 제어부를 포함하는 임베디드 장치가 제공된다.
상기 이미지 압축부는 상기 이미지 데이터의 픽셀들 중에서 상기 센트로이드마다 할당되는 픽셀들에 대해서 그 픽셀값을 할당된 센트로이드의 대표 픽셀값으로 변경하여, 이미지 데이터에 포함되는 색상의 수를 상기 센트로이드의 수까지 줄여 상기 압축본에는 K개의 색상에 대한 픽셀값과 각 픽셀 위치에 대한 색상 인덱스를 포함시키는 것을 특징으로 하는 임베디드 장치가 제공된다.
한편 본 발명의 다른 측면에 따르면, 복수의 센서노드와 함께 무선 이미지 센서 네트워크를 구성하는 서버로서, 상기 복수의 센서노드로부터 이미지 데이터의 원본 및 압축본 중 적어도 하나를 수신하는 서버 통신부; 상기 원본에 대해 K-평균 클러스터링 기반 알고리즘을 적용하여 K개의 클러스터에 해당하는 센트로이드의 대표 픽셀값을 포함하는 센트로이드 정보를 학습 결과로 생성하는 K-평균 학습부; 상기 센트로이드 정보 및 상기 압축본을 저장하는 저장부; 상기 압축본에 대해 영상 분석한 결과인 환경 정보를 출력하는 모니터링부; 및 상기 K-평균 학습부에서 상기 센트로이드 정보가 생성되면 상기 서버 통신부를 통해 상응하는 센서노드로 상기 센트로이드 정보를 전송하도록 제어하는 서버 제어부를 포함하는 서버가 제공된다.
상기 K-평균 학습부는, 입력된 클러스터의 수에 상응하여 각 클러스터의 대표 픽셀값을 센트로이드로 초기 설정하는 센트로이드 설정 모듈; 상기 원본의 각 픽셀을 최근접한 센트로이드의 현재 위치에 할당하는 클러스터 할당 모듈; 할당이 완료되면 상기 센트로이드의 평균을 재연산하는 센트로이드 재연산 모듈; 및 미리 설정된 반복 횟수만큼 클러스터 할당 및 평균 재연산이 수행되도록 제어하는 제어 모듈을 포함할 수 있다.
상기 제어 모듈은 미리 설정된 시도 횟수만큼 상기 센트로이드 설정 모듈에서 랜덤하게 상기 센트로이드의 초기 설정이 실행되도록 하되, 다른 랜덤 초기화로부터 획득된 다른 솔루션들 사이에서 최저의 비용 함수를 가지는 하나를 학습 결과로 선택하는 솔루션 선택 모듈을 포함할 수 있다.
상기 시도 횟수는 상기 솔루션의 비용 함수의 감소율이 일정 범위 미만이 되는 경우까지로 한정될 수 있다.
상기 반복 횟수는 비용 함수의 감소율이 일정 범위 미만이 되는 경우까지로 한정될 수 있다.
상기 센트로이드 설정 모듈은 상기 원본의 픽셀들이 가지는 픽셀값들 중에서 상위랭크에 속하는 픽셀값들을 상기 대표 픽셀값으로 설정할 수 있다.
한편 본 발명의 또 다른 측면에 따르면, 무선 이미지 센서 네트워크에 포함되는 서버에서 수행되는 데이터 압축 방법으로서, (a) 상기 서버는 상기 센서노드로 이미지 촬영 및 전송 임무를 초기화시키는 단계; (b) 상기 센서노드로부터 원본 이미지를 수신하는 단계; (c) 상기 원본 이미지에 대해 K-평균 클러스터링 기반 알고리즘을 실행하여 센트로이드 정보를 생성하는 단계; (d) 상기 센트로이드 정보를 상기 센서노드로 전송하는 단계; (e) 상기 센서노드로 이미지 촬영, 압축 및 전송 임무를 초기화시키는 단계; (f) 상기 센서노드에서 상기 센트로이드 정보에 기초하여 압축된 압축 이미지를 수신하는 단계; (g) 미리 지정된 갱신 기간 동안 상기 단계(f)를 반복하는 단계를 포함하는 K-평균 클러스터링 기반 데이터 압축 방법이 제공된다.
(h) 상기 갱신 기간이 경과하면 상기 단계 (a)로 되돌아가 새로운 원본 이미지를 사용하여 K-평균 학습을 수행하는 단계를 더 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 기계 학습을 통해 압축을 수행함에 있어서, 학습과 압축 부분을 분리하여 학습은 임베디드 장비가 아닌 서버에서 수행하고 그 학습된 결과를 네트워크의 장비들에게 가르쳐 줌으로써 임베디드 장비에서는 압축만을 수행하게 하여 무선 센서 네트워크와 같은 저전력, 저비용, 저성능 임베디드 장비에서도 활용 가능한 효과가 있다.
또한, 드러나지 않은 상태에서 생물학적 현상을 관찰하기 위한 다양한 환경 모니터링 애플리케이션에서 사용 가능한 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반 데이터 압축 시스템을 나타낸 도면,
도 2는 K-평균 클러스터링 기반 데이터 압축 시스템에 포함되는 임베디드 장치의 구성 블록도,
도 3은 서버의 구성 블록도,
도 4는 K-평균 학습부의 구성 블록도,
도 5는 다양한 K 값으로 압축된 4개의 샘플 이미지,
도 6은 서로 다른 K 값에 대한 도 5의 MSE 결과,
도 7은 압축 이미지들의 부분집합을 이용하여 MSE와 SSIM 사이의 관계를 나타낸 도면,
도 8은 랜덤하게 선택된 19개의 노드로부터의 압축 이미지의 MSE를 반복 횟수에 따라 나타낸 그래프,
도 9는 일정 기간(예컨대, 3개월) 동안 다양한 시도 횟수로 압축된 이미지 중 임의로 선택된 100개의 MSE,
도 10은 이미지 기반 무선 센서 네트워크 아키텍처에서, 효율적 K-평균 클러스터링 기반 데이터 압축(특히, 이미지 압축) 방법의 순서도,
도 11은 임의로 선택된 노드로부터의 단일 이미지가 K-평균 학습을 위해 사용될 때 (단일 이미지로부터 학습된) 동일한 센트로이드 집합이 타 노드들의 이미지 압축을 위해 사용될 때, 각 노드의 MSE를 나타낸 그래프,
도 12는 날짜별 MSE를 나타낸 그래프,
도 13은 새 둥지 내에서의 시간 흐름에 따른 변화,
도 14는 단일 노드에서 300개의 다른 이미지에 대해 관찰된 MSE,
도 15는 서로 다른 학습 간격 "T" 값을 가질 때 MSE 대비 이미지 카운트의 CDF를 나타낸 그래프.
도 2는 K-평균 클러스터링 기반 데이터 압축 시스템에 포함되는 임베디드 장치의 구성 블록도,
도 3은 서버의 구성 블록도,
도 4는 K-평균 학습부의 구성 블록도,
도 5는 다양한 K 값으로 압축된 4개의 샘플 이미지,
도 6은 서로 다른 K 값에 대한 도 5의 MSE 결과,
도 7은 압축 이미지들의 부분집합을 이용하여 MSE와 SSIM 사이의 관계를 나타낸 도면,
도 8은 랜덤하게 선택된 19개의 노드로부터의 압축 이미지의 MSE를 반복 횟수에 따라 나타낸 그래프,
도 9는 일정 기간(예컨대, 3개월) 동안 다양한 시도 횟수로 압축된 이미지 중 임의로 선택된 100개의 MSE,
도 10은 이미지 기반 무선 센서 네트워크 아키텍처에서, 효율적 K-평균 클러스터링 기반 데이터 압축(특히, 이미지 압축) 방법의 순서도,
도 11은 임의로 선택된 노드로부터의 단일 이미지가 K-평균 학습을 위해 사용될 때 (단일 이미지로부터 학습된) 동일한 센트로이드 집합이 타 노드들의 이미지 압축을 위해 사용될 때, 각 노드의 MSE를 나타낸 그래프,
도 12는 날짜별 MSE를 나타낸 그래프,
도 13은 새 둥지 내에서의 시간 흐름에 따른 변화,
도 14는 단일 노드에서 300개의 다른 이미지에 대해 관찰된 MSE,
도 15는 서로 다른 학습 간격 "T" 값을 가질 때 MSE 대비 이미지 카운트의 CDF를 나타낸 그래프.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반 데이터 압축 시스템을 나타낸 도면이고, 도 2는 K-평균 클러스터링 기반 데이터 압축 시스템에 포함되는 임베디드 장치의 구성 블록도이며, 도 3은 서버의 구성 블록도이고, 도 4는 K-평균 학습부의 구성 블록도이다.
본 발명의 일 실시예에 따른 무선 이미지 센서 네트워크를 위한 K-평균 클러스터링 기반 데이터 압축 시스템은 K-평균 클러스터링 기반의 학습 결과를 이용하여 이미지 데이터의 압축을 수행하며, 이 때 학습은 서버에서 수행하고 압축은 임베디드 장치에서 수행하도록 분리되어 있어 임베디드 장치에서 압축 과정에서 발생되는 에너지 비용을 절감하여 시스템 전체적으로 에너지 이득을 높인 것을 특징으로 한다. 이는 학습과 압축을 모두 임베디드 장치에서 수행할 경우 연산의 복잡도로 인한 긴 연산시간 때문에 무선 이미지 센서 네트워크와 같은 저전력, 저비용, 저성능 임베디드 장치에서는 압축해서 전송할 때 얻는 에너지 이득보다 압축 과정에서 발생되는 에너지 비용이 더 크기에 에너지 측면에서 오히려 손해인 문제점을 해결한 것이다.
도 1을 참조하면, 본 실시예에 따른 K-평균 클러스터링 기반 데이터 압축 시스템(10)은 모니터링 대상이 있는 위치에 설치되어 있는 하나 이상의 임베디드 장치(100a~100e, 이하 '100'으로도 통칭)와, 임베디드 장치(100)에서 획득한 이미지 데이터를 수집하여 분석하는 서버(200)를 포함한다.
임베디드 장치(100)는 무선 이미지 센서 네트워크에서 센서노드에 대응되며, 관찰하고자 하는 대상물에 대한 이미지를 획득하기에 용이한 위치에 설치된다. 예를 들어, 흩어져 있는 새둥지들을 모니터링하고자 하는 경우 각각의 새둥지마다 하나씩의 임베디드 장치(100)가 설치될 수 있다.
임베디드 장치(100)는 멀티홉(multi hop) 방식으로 무선 이미지 센서 네트워크를 구성하게 되며, 최종단에는 서버(200)가 배치되어 있어 임베디드 장치(100)에서 획득한 이미지 데이터를 최종적으로 수집한다.
도 2를 참조하면, 임베디드 장치(100)는 노드 통신부(110), 촬영부(120), 이미지 압축부(130), 노드 제어부(140)를 포함한다.
노드 통신부(110)는 타 노드들(타 임베디드 장치) 혹은 서버(200)와 데이터를 송수신한다. 서버(200)에서 학습된 결과(센트로이드 정보)를 수신하고, 서버(200)로 이미지 데이터의 압축본을 전송한다. 학습된 결과가 없는 초기 설정 시에는 이미지 데이터의 원본(raw image, 원본 이미지)을 서버(200)로 전송할 수 있다.
촬영부(120)는 임베디드 장치(100)가 설치된 장소의 영상을 획득한다. 촬영부(120)는 예를 들어 카메라일 수 있고, 미리 설정된 주기에 상응하여 이미지 데이터를 획득할 수 있다.
이미지 압축부(130)는 노드 통신부(110)를 통해 서버(200)로부터 학습 결과가 수신된 경우, 학습 결과에 상응하는 센트로이드 정보에 기초하여 촬영부(120)에서 획득한 이미지 데이터를 압축한다.
센트로이드 정보는 센트로이드의 수(K)와 이미지에 존재하는 대표적인 공통 색상인 센트로이드의 픽셀값을 포함한다. 예를 들어, 센트로이드 정보는 K-평균 클러스터링에 의해 학습된 결과인 바, K개의 센트로이드에 대한 픽셀값을 포함하고 있을 수 있다.
따라서, 이미지 압축부(130)는 촬영부(120)에서 획득한 이미지 데이터에 대해서 K-평균 클러스터링을 적용하여 센트로이드 정보에 기초하여 각 센트로이드에 할당되는 픽셀들에 대해서 그 픽셀값을 할당된 센트로이드의 픽셀값으로 변경함으로써, 이미지 데이터에 포함되는 색상의 수를 센트로이드의 수(예컨대, K)까지 줄여 K개의 색상에 대한 픽셀값과 각 픽셀 위치에 대한 색상 인덱스만을 저장하는 방식으로 이미지 데이터를 압축할 수 있다. 즉, 이미지 데이터의 압축본에는 K개의 색상 픽셀값과 각 픽셀 위치에 대한 색상 인덱스가 포함될 수 있다.
노드 제어부(140)는 임베디드 장치(100)의 각 구성요소들(노드 통신부(110), 촬영부(120), 이미지 압축부(130) 등)이 제 기능을 발휘하도록 제어한다.
특히 노드 제어부(140)는 서버(200)에서 학습 결과를 수신한 경우에는 수신한 학습 결과에 기초하여 이미지 데이터의 압축이 수행되어 이미지 데이터의 압축본이 전송되도록 제어하고, 초기 학습 결과가 수신되지 않은 상태에서는 서버(200)에서 학습이 수행되도록 이미지 데이터의 원본이 전송되도록 제어한다.
도 3을 참조하면, 서버(200)는 서버 통신부(210), K-평균 학습부(220), 저장부(230), 서버 제어부(250)를 포함한다.
서버 통신부(210)는 무선 이미지 센서 네트워크를 구성하는 센서 노드들(즉, 임베디드 장치(100))과 통신을 수행하여 각종 데이터를 송수신한다. 임베디드 장치(100)에서 획득한 이미지 데이터의 원본 혹은 압축본을 수신하고, K-평균 학습부(220)에서 수행한 학습 결과(센트로이드 정보)를 각 임베디드 장치(100)로 전송할 수 있다.
K-평균 학습부(220)는 서버 통신부(210)가 이미지 데이터의 원본을 수신한 경우 이에 대해 K-평균 클러스터링(K-means clustering)을 수행하여 이미지 데이터에 속하는 픽셀들을 한 세트의 센트로이드(a set of centroids)에 중에서 근접한 하나 이상의 클러스터(cluster)로 그룹화하여, 이미지 압축 시에 왜곡을 줄이고 에너지 사용을 절감시키게 한다.
K-평균 학습부(220)는 이미지 데이터의 원본을 이용하여 K-평균 클러스터링 기반의 학습을 수행하며, 무선 이미지 센서 네트워크의 센서 노드에 해당하는 임베디드 장치(100)에서 획득한 이미지 데이터에 대해서 압축을 수행할 때 활용할 센트로이드 정보를 생성한다. 여기서, 센트로이드 정보는 K-평균 알고리즘을 활용하여 연산되는 정보로서, 이미지 압축의 기준이 되는 K개의 클러스터에 해당하는 대표 픽셀값이다.
K-평균 알고리즘은 유사한 데이터 예시들을 자동적으로 클러스터링한다. 훈련 집합 (여기서, )이 주어지면, 한 세트의 센트로이드에 가까운 몇몇의 클러스터(clusters)로 데이터를 그룹화하는 것이 목표이다. K-평균 클러스터링에 숨어 있는 직관은 초기 센트로이드에 대한 추측에서 시작하는 반복 절차라는 것이다. 이에 기초하여, 예시들을 근접한 센트로이드들로 반복적으로 할당하고 그 후 신규 할당에 기초하여 센트로이드를 재연산함으로써 이러한 추측이 개선된다. K-평균 클러스터링을 이용하면서, 이미지에 존재하는 공통적인 색상을 확인함으로써 이미지를 압축하기 위한 목표를 잡는다.
K-평균 학습부(220)는 클러스터의 수(K)와 훈련 집합(이미지 데이터의 픽셀들)을 입력으로 하고, 학습 결과 이미지 데이터의 픽셀들이 할당된 센트로이드의 인덱스와 학습된 센트로이드의 픽셀값을 출력으로 생성한다.
도 4를 참조하면, K-평균 학습부(220)는 센트로이드 설정 모듈(221), 클러스터 할당 모듈(223), 센트로이드 재연산 모듈(225), 제어 모듈(227)을 포함한다.
센트로이드 설정 모듈(221)은 입력된 클러스터의 수(K)에 상응하여 각 클러스터의 대표 픽셀값을 클러스터 센트로이드로 초기 설정한다. 초기 클러스터 센트로이드의 설정은 랜덤하게 이루어질 수 있다.
혹은 센트로이드 설정 모듈(221)은 원본 이미지의 픽셀들이 가지는 픽셀값들 중에서 상위랭크에 속하는 픽셀값들을 각 클러스터의 대표 픽셀값으로 설정할 수도 있을 것이다.
클러스터 할당 모듈(223)은 이미지 데이터(여기서는 원본)의 각 픽셀들을 훈련 집합에 속하는 원소들로 하여 픽셀 각각을 최근접한 센트로이드의 현재 위치에 할당한다.
센트로이드 재연산 모듈(225)은 클러스터 할당 모듈(223)에 의해 할당이 완료된 경우, 각 센트로이드의 평균을 재연산한다. 즉, 각각의 센트로이드에 할당된 하나 이상의 픽셀의 픽셀값 평균을 연산하고, 이를 해당 센트로이드의 현재 위치로 재설정할 수 있다.
K-평균 학습부(220)에 의해 수행되는 K-평균 알고리즘은 다음과 같이 이루어질 수 있다.
제1 알고리즘의 초기 루프는 다음 두 단계를 반복적으로 수행한다: (1) 각 훈련 예시 를 근접한 센트로이드에 할당하는 단계(클러스터 할당 모듈(223)에 의해 수행됨), (2) 할당된 지점들을 이용하여 각 센트로이드의 평균을 재연산하는 단계(센트로이드 재연산 모듈(225)에 의해 수행됨). K-평균 알고리즘의 클러스터 할당 단계에서, 알고리즘은 각 훈련 예시 를 최근접한 센트로이드 에 할당하는데, 센트로이드의 현재 위치에 할당된다. 특히, 모든 예시 i에 대해, 다음과 같이 할당된다.
센트로이드에 각 포인트가 할당되면, 알고리즘의 2단계에서 각 센트로이드에 대해 할당된 포인트들의 평균(픽셀값 평균)을 재연산한다. 특히, 각 센트로이드 k에 대해,
K-평균 알고리즘의 최적화 목적은 다음 수학식 (1)과 같다.
제어 모듈(227)은 클러스터 할당 모듈(223)에서의 클러스터 할당 단계와 센트로이드 재연산 모듈(225)에서의 재연산 단계를 미리 설정된 반복 횟수만큼 반복할 수 있다. 이는 K-평균 클러스터링 알고리즘이 항상 센트로이드에 대해 일부 평균들의 최종 집합으로 수렴할 것이기 때문이다. 하지만, 수렴된 솔루션이 항상 이상적일 수는 없고, 초기 센트로이드 설정에 크게 종속된다.
따라서, 제어 모듈(227)은 이러한 점을 해소하기 위해 K-평균 클러스터링 알고리즘이 다른 랜덤 초기화를 통해 미리 설정된 시도 횟수만큼 실행되도록 할 수 있다.
솔루션 선택 모듈(229)은 이들 다른 랜덤 초기화로부터 획득된 다른 솔루션들 사이에서 하나를 선택하게 되며, 가장 낮은 비용 함수 값을 가지는 것을 선택하게 된다. 선택된 솔루션에 상응하는 센트로이드 정보가 각 임베디드 장치(100)로 전송될 수 있다.
전술한 것처럼, 본 실시예에서는 임베디드 장치(100)에서 이미지의 색상 수를 해당 이미지에 가장 공통된 색상들로만 감소시킴으로써 이미지를 압축하기 위해, 서버(200)에서 이러한 K-평균 클러스터링 알고리즘을 이용하고 있다.
특히, 대상 이미지들은 200x200 그레이 스케일 이미지들일 수 있으며, 각 픽셀은 8비트 무부호 정수(unsigned integer)로서 나타내어질 수 있다. 각각의 8비트 픽셀은 그레이 스케일 값의 세기를 특정한다. 해당 이미지는 최대 256 색상까지 포함하게 되고, 이를 K개의 색상으로 감소시키고자 한다.
이같은 감소를 적용함으로써, 이미지는 효율적으로 나타내어지거나 압축될 수 있다. 다시 말해서, 색상의 수를 K까지 줄일 수 있다면, 임베디드 장치(100)에서 이미지를 저장하는데 K개의 색상에 대한 픽셀값과 각 픽셀 위치에 대한 색상 인덱스만을 저장하는 것이 요구될 것이다. K-평균 클러스터링은 이미지 내에서 이들 K개의 색상을 식별하는데 사용된다. 특히, 원본 이미지의 각 픽셀을 독립적인 데이터 샘플로 취급하고 K-평균 클러스터링은 픽셀 색상들을 그룹화하는 K개의 색상 집합을 확인하기 위해 사용된다. 이미지에서 클러스터 센트로이드가 한번 계산되면, 원본 이미지는 선택된 K개의 색상을 사용하여 재표현될 수 있다. 즉, 이미지 압축부(130)에서 이미지 데이터의 압축본을 생성하는 원리가 전술한 바와 같다.
이는 자연스럽게 각 픽셀의 센트로이드 할당을 이용하여 원본 이미지를 표현하게 된다. 이 부분에서 이미지를 묘사하는데 요구되는 비트의 수가 이미 감소된다. 예를 들어, 16개의 색상을 표현하는 데에는 4비트만이 요구된다. 양적으로 말하자면, 원본 이미지는 200x200 픽셀 위치 각각에 대해 8비트를 요구한다. 이는 320 kbits (즉, 40 kBytes)가 된다. 한번 K-평균 클러스터링 알고리즘이 적용되면, 이 크기는 K개의 색상을 저장하기 위한 작은 추가 공간(색상당 8비트)과 함께 픽셀당 log2K 비트로 상당히 감소될 수 있다. 예를 들어, K=16이면, 앞서 언급된 이미지를 표현하기 위한 비트의 수는 16x8 + 200x200xlog216 = 160128 비트이다. 이는 원본 이미지에 대해 거의 1/2 정도로 감소된 것이다.
다시 도 3을 참조하면, 저장부(230)는 서버 통신부(210)를 통해 수신한 이미지 데이터의 원본 혹은 압축본을 저장한다. 저장된 이미지 데이터의 원본은 K-평균 학습부(220)에서 K-평균 학습을 수행할 때 사용된다. 압축본은 임베디드 장치(100)가 설치된 장소에 대한 환경 모니터링에 활용하게 된다.
또한, 저장부(230)에는 반복 횟수 혹은 시도 횟수가 저장되어 있을 수 있다. 여기서, 반복 횟수는 랜덤 설정된 센트로이드에 대해 K-평균 클러스터링 기반 알고리즘을 수행할 때 할당과 재연산을 반복하는 횟수에 관한 것이고, 시도 횟수는 K-평균 클러스터링 기반 알고리즘을 수행하기 위해 센트로이드를 랜덤 설정하는 횟수에 관한 것이다.
모니터링부(240)는 임베디드 장치(100)로부터 수신하여 저장부(230)에 저장한 이미지 데이터의 압축본을 영상 분석하고, 영상 분석 결과인 환경 정보를 화면에 출력하여 사용자가 임베디드 장치(100)가 설치된 장소에 대해 확인 가능하게 한다.
또한, 이미지 데이터의 압축본을 영상 분석하여 모니터링 환경에 대한 각종 정보를 추출해 낼 수도 있다. 예를 들어, 새둥지를 모니터링하는 경우 모니터링 대상이 되는 새의 부화시기, 새끼새들의 성장 과정 등에 대해서 영상 분석을 통해 사용자가 확인 가능한 정보로 변환해 보여줄 수 있다.
서버 제어부(250)는 서버(200)의 각 구성요소들(서버 통신부(210), K-평균 학습부(220), 저장부(230), 모니터링부(240) 등)이 제 기능을 발휘하도록 제어한다. 또한, 서버 제어부(250)는 K-평균 학습부(220)에서 센트로이드 정보가 생성되면 서버 통신부(210)를 통해 상응하는 임베디드 장치(100), 즉 센서노드로 학습 결과인 센트로이드 정보를 전송하도록 제어할 수 있다.
본 실시예에서 K-평균 클러스터링을 수행함에 있어서, K-평균 학습부(220)에서 적절한 K 값을 선택하는 것이 효과적인 성능을 획득하는데 있어 가장 중요한 요소 중의 하나이다. 이하에서는 이미지 기반 무선 센서 네트워크 애플리케이션(본 실시예에서는 서버(200))에서 K 값을 선택하는 과정을 설명하기로 한다.
K 값이 커지는 것은 분류에 있어 다양한 색상 집합으로 이어짐을 의미하고; 높은 이미지 퀄리티를 제공해준다. 반면, K 값이 작아지는 것은 연산량을 줄이고 압축률을 높이며, 이미지 퀄리티를 희생하는 반면 에너지 소모를 줄이게 된다. 용인될 수 있는 이미지 퀄리티의 판단은 주관적이어서, 목표 퀄리티와 압축률 사이를 트레이드오프하기 위해 과학자들의 이미지에 대한 인간 지각에 의존해야 한다.
도 5에는 다양한 K 값으로 압축된 4개의 샘플 이미지가 도시되어 있다. 비가역 압축(lossy compression)의 재구성 퀄리티를 측정하기 위한 지표로 사용되는, MSE, PSNR, SSIM 값을 이용한다.
평균 제곱 오차 (MSE, Mean squared error) - 이미지 내의 각 픽셀에 대한 색상 표현의 오차의 제곱값의 평균을 측정한다. 이 측정 지표는 수학식 1에서 K-평균 클러스터링 알고리즘의 최적화 목적과 동일하다.
최대 신호 대 잡음비 (PSNR, Peak signal-to-noise ratio) - 신호(원본 이미지)의 최대 파워와 오류 잡음(corrupting noise) (압축에 의해 발생된 오류)의 파워 사이의 비율이다. PSNR은 MSE의 함수로서 정의될 수 있다.
구조 유사성 (SSIM, Structural similarity) 인덱스 (index) - 두 이미지 사이의 유사성을 측정하는 방법으로, 레퍼런스로서 초기 압축되지 않았거나 왜곡이 없는 이미지에 기초한 이미지 퀄리티를 척도로 함으로써 이용될 수 있다.
세가지 측정 지표는 모두 압축된 이미지의 퀄리티를 측정하는데 널리 이용되고 있다.
도 5를 참조하면, 이미지의 시각적 검사로부터 몇가지가 관찰된다. 우선 K=16인 경우 K-평균 클러스터링은 이미지 퀄리티에서는 매우 작은 저하를 보여주고, 원본 비압축 이미지와 결과본 압축 이미지 사이에 시각적 차이점을 인지하기 어렵다. 하지만, K-평균 클러스터링이 K=4로 수행될 때, 다수 이미지가 퀄리티 면에서 심각하게 저하됨이 관찰된다. 이는 과학자들의 요구를 만족시키지 못하는 것으로 알고 있다. K=8은 압축 이미지의 픽셀들(즉, 3비트)이 패킷 내에서 바이트 바운더리를 가지도록 잘 정렬되지 못해 더 많은 비트 연산이 요구되는 구현 상의 단점을 가지고 있다. 물론, K가 작아질수록 압축비는 좋아진다. 표 1에 K=4, 8, 16일 때의 압축비가 요약되어 있다. 하지만, 과학자들이 내세운 애플리케이션 요건에 충분한 이미지 퀄리티가 있기에, K-평균 클러스터링 기반 이미지 압축을 위한 기본 설정값으로 K=16을 선택했다.
표 1. 'K' vs 200x200 이미지의 이미지 압축률(image compression ratio)
표 1에서 25%의 압축률은 데이터 용량에 있어서 75% 감소를 의미한다.
여기서도 5의 데이터에 기초하면, 이미지 퀄리티 메트릭스가 K-평균 클러스터링 기반 압축의 성능을 평가하는데 이용되어야 하는 것이 아닌지 의문이 들 수 있다. 이에 대한 검토를 위해 도 7에서 압축 이미지들의 부분집합을 이용하여 MSE와 SSIM 사이의 관계를 나타낸다. (PSNR은 MSE의 직접적 함수이기 때문에, 도면에서 PSNR은 나타내지 않았다)
도 7을 참조하면, 2가지 중요한 특징을 알 수 있다. 이미지 왜곡이 낮을 때 (MSE<<~10), MSE 및 SSIM은 높은 상관관계를 보여준다. 하지만, MSE가 높을 때, SSIM과 MSE는 상관 정도가 높지 않다. 이 결과는 MSE가 낮은 값일 때, SSIM이 높게 유지될 것임을 시사하고, 따라서 MSE를 충분히 낮게 유지하는 동안 MSE와 SSIM은 모두 이미지 퀄리티가 여전히 우수함을 시사할 것이다. 이미지가 좋은 퀄리티를 가지는 경우에 대해서만 관심이 있기 때문에, 압축을 위한 평가 측정 지표로 MSE를 사용하고, 목표 퀄리티로서 MSE < 10을 선택할 수 있다. 이에 덧붙여, 기본 측정 지표로 MSE를 사용하는 이점은 그것이 K-평균 클러스터링의 최적화 목적(수학식 1)에 자연스럽게 적합하다는 것이다. 이러한 이유로, 본 명세서의 나머지 부분에서는 주요 성능 지표로 MSE를 사용하고, 도 6에서는 서로 다른 K 값에 대한 도 5의 MSE 결과를 상세히 보여주고 있다.
K와 함께, K-평균 클러스터링 기반 알고리즘의 정확성에 영향을 미치는 2가지 주요 파라미터가 있다. 이는 (1) K-평균 클러스터링을 실행함에 있어 학습 "반복(iteration)" 횟수와, (2) K-평균 클러스터링 알고리즘을 실행해야 하는 "시도(trial)" 횟수이다. 정확성에 영향을 주고, 또한 이들 2가지 요소는 직접적으로 알고리즘의 실행 시간에 영향을 주며, 이는 시스템의 에너지 사용에 영향을 준다. 따라서 다음과 같이 이들 두 파라미터에 대한 "좋은(good)" 값을 선택하는 방법을 상술하기로 한다. 목표는 애플리케이션 요건이 용인 가능한 이미지 퀄리티를 가질 수 있도록 하는 반복 및 시도의 최소 횟수를 선택하는 것이다.
전술한 것처럼, 반복 파라미터는 클러스터링 과정을 수행하는데 있어 학습 반복의 수를 구현하는 역할을 가진다. 이러한 반복 과정은 결과적으로 센트로이드 집합 및 클러스터 할당의 수렴으로 이어진다. 각각의 반복은 최근접 센트로이드 할당 찾기 (find closest centroid assignment) 단계와 할당에 기초한 센트로이드 업데이트 (update the centroid based on assignment) 단계를 포함한다. 일반적으로 반복이 많아지면 센트로이드의 학습은 나아지고 최적화 비용은 낮아진다; 그러므로 결과 이미지에 대해 낮은 왜곡(예컨대, MSE)이 기대된다. 하지만, 일정 지점 이후로는 최적화 비용이 지역적 최소값으로 수렴할 것이고 반복 횟수의 증가가 이미지 퀄리티를 개선시키지 못할 것이다. 이러한 경우, 추가적인 반복은 연산 지연을 증가시키고 작은 이득에 대한 에너지 소모로 이어질 것이다. 그러므로, K-평균 클러스터링 알고리즘을 위한 최적 반복 횟수를 찾는 것이 중요하다. 반복 횟수가 정확한 학습을 위해서는 충분해야 하지만, 연산시간과 에너지를 낭비하지 않도록 하는 것을 확실히 할 필요가 있다.
도 8은 랜덤하게 선택된 19개의 노드로부터의 압축 이미지의 MSE를 반복 횟수에 따라 나타낸 그래프이다. 고저 에러바는 최고 및 최저값을 나타내고, 상부 박스와 하부 박스는 75/중앙값/25 백분위(percentile) 값을 나타내며, 다이아몬드 마커는 각 테스트 케이스의 평균값(mean value)을 나타낸다. 도 8에서 반복 횟수가 1에서 3으로 증가함에 따라 MSE가 급격하게 감소한다. 하지만, 이러한 감소율은 5번째 반복 이후로는 현저하게 사라진다. 목표 MSE가 <10 이고, ~2 정도의 MSE 차이는 시각적으로 차이점이 없기에, 변곡점 근처에서 학습 반복의 횟수를 선택하면 충분할 것이다. 이러한 관찰은 본 발명의 관심 지역에서 수집된 데이터셋에서 이루어진 것으로, 예를 들면, K-평균 클러스터링 알고리즘을 위한 학습 반복의 기본 횟수로 "4"가 선택될 수 있다.
K-평균 클러스터링 기반 학습을 사용할 때 또 다른 중요한 파라미터는 센트로이드의 최종 집합 및 센트로이드 할당을 결정하기 전에 실행할 K-평균 클러스터링 알고리즘의 시도 횟수이다. K-평균 클러스터링 알고리즘 내에서의 반복 횟수는 시스템이 전체 K-평균 클러스터링 알고리즘을 몇차례 시도했는지와는 다른 개념이다. 앞서 설명한 것처럼, K-평균 클러스터링 알고리즘의 단일 실행은 각 데이터 샘플에 대한 하나의 센트로이드 집합과 센트로이드 할당으로 구성되는 하나의 솔루션으로 수렴할 것이다. 하지만, 이처럼 수렴한 솔루션이 최적인지에 대해서는 확신할 수 없는데, 이는 K-평균 클러스터링 알고리즘이 센트로이드의 초기 설정에 강하게 종속되기 때문이다. 그러므로 실제 K-평균 클러스터링 알고리즘은 다른 임의의 초기화 값을 가지고 보통 몇차례 시도해 본다. 해당 과정이 완료되면, 최저의 비용 함수(예컨대, 이미지의 MSE)를 가지는 베스트 솔루션이 다른 가능성 솔루션들 중에서 선택된다.
도 9는 일정 기간(예컨대, 3개월) 동안 다양한 시도 횟수로 압축된 이미지 중 임의로 선택된 100개의 MSE이다. 도 8에서처럼, 고저 에러바는 최고 및 최저값을 나타내고, 상부 박스와 하부 박스는 75/중앙값/25 백분위 값을 나타내며, 다이아몬드 마커는 각 테스트 케이스의 평균값을 나타낸다. 도 9는 K-평균 클러스터링 알고리즘에 대해 복수의 시도를 수행하는 것이 최종 솔루션의 비용 함수(MSE)를 개선시킴을 보여준다. 이는 센트로이드의 초기 설정이 최종 결과에 영향을 줌을 암시하는 증거이다. 하지만, 시도 횟수가 1에서 4까지는 MSE에서의 감소가 현저하지만, 4회 이후에는 MSE가 충분히 낮은 값(에컨대, <4)으로 수렴하고 더이상 개선되지 않는다. 즉, 4회 이후에는 솔루션의 비용 함수의 감소폭이 일정 범위 미만이 된다. 임의로 선택된 다른 집합의 이미지들에 대해서도 유사한 결과가 관찰되었다. 반복 횟수와 마찬가지 이유로, 본 실시예에서는 K-평균 클러스터링 기반 알고리즘에 대한 기본 시도 횟수로 예를 들어 "4"를 선택할 수 있다.
전반적으로, 반복 횟수 및 시도 횟수는 K-평균 클러스터링 기반 알고리즘의 실행시간에 직접적 영향을 준다. 그러므로 연산 단계에서의 에너지 소모는 임베디드 장치에 영향을 미칠 것이다.
전술한 내용에 기초하여, 임베디드 장치(100)에서 K-평균 클러스터링 알고리즘에 요구되는 연산 시간 및 에너지 사용량을 분석해 보면 다음과 같다. 임베디드 장치(100)가 제한된 연산 및 메모리 리소스, 제한된 무선 대역폭, 그리고 이들 장치가 작동하는 전력 제한을 가지고 있을 수 있다. 그러므로, 알고리즘은 이들 리소스 제한을 준수하도록 설계될 필요가 있다. 특히, 이미지 압축을 사용함에 있어 에너지 사용 이득은 압축 알고리즘의 성능에 대한 에너지 비용을 넘어서야 한다.
표 2. MICA2/MICAZ/TELOS MOTES와 CYCLOPS 카메라의 전력 소모
표 3. TELOSB에서 K-평균 알고리즘의 실행시간 및 추정 에너지 사용량(200x200 그레이 스케일 이미지 기준)
표 2는 (무선 트랜시버를 가지는 임베디드 센서 노드인) Mica2/MicaZ/Telos 장치들의 전력 소모를 나타내고, 파일럿 모델 시스템에 사용되는 Cyclops 카메라의 에너지 소모를 나타낸다. 무선 통신이 전력 소모의 주 요인이고, MCU 프로세싱의 전력 사용 역시 무시할 수 없는 값이다. 그러므로, K-평균 클러스터링 알고리즘에서 데이터 압축의 에너지 사용을 주의깊게 분석해야 하며, 무압축 로우 이미지를 전송하는 것과 비교하여 전체 에너지 사용을 감소시키는 경우에만 압축을 사용해야 한다.
표 3은 K-평균 클러스터링 알고리즘의 각 서브블록에 대한 평균 실행 시간으로, MSP430 마이크로컨트롤러를 구비한 TelosB 장치에서 200x200 그레이 스케일 이미지를 처리할 때이다. 각 데이터 샘플에 대한 최근접 센트로이드를 찾는 것은 ~7.1초가 소요되고, 센트로이드 할당에 기초하여 센트로이드를 업데이트하는 것은 ~2.5초가 소요됨을 보여준다. 전체적으로 K-평균 클러스터링 기반 학습의 1회 반복에는 ~9.6초가 소요된다. 각각의 K-평균 클러스터링 시도에 대해 4회 반복하는 경우, 단일 K-클러스터링 시도에 ~38.5초가 소요된다. 이는 ~207.89mJ의 에너지 사용으로 변환된다. 더구나, K-평균 클러스터링 알고리즘을 서로 다른 초기화 값을 가지고 4회 시도하는 경우 최종 결정을 내리는 데에는 ~154.0초의 실행시간이 소요되고 ~831.58mJ의 에너지가 사용된다.
이러한 비용 측정은 과학자들에 의해 제공되는 각종 애플리케이션 요구사항을 만족시키는데 중요하다. 이미지 크기를 줄이는 것의 효율성에도 불구하고, K-평균 클러스터링 기반 알고리즘의 사용은 이미지 데이터 전송의 에너지 사용을 주의깊게 고려하고 비교해야 한다. 특히, 싱글홉으로 CC2420 무선을 사용하여 로우 200x200 그레이 스케일 이미지(즉, 40kB)를 전송하는 것은 ~5.33초가 소요되고, 311.8mJ의 에너지 사용으로 볼 수 있다.
반면, K=16으로 압축된 이미지의 전송에는 ~2.67초가 소요되며, 이는 ~155.9mJ에 해당한다. 그러므로, 에너지 이득은 311.8-155.9=155.9mJ이다. 연산에 요구되는 ~831.58mJ을 합산하면. K-평균 클러스터링 기반 압축 알고리즘을 사용하는 것은 아이러니하게도 에너지 사용량을 증가시킨다. 이는 K-평균 알고리즘을 사용할 때 추가적인 ~675.68mJ의 에너지 사용으로 귀결된다. 무선 멀티홉을 통해 압축 데이터를 전송함으로 인한 여분의 에너지 이득을 고려한다 할지라도, K-평균 클러스터링 알고리즘의 사용을 쉽게 정당화하기에는 추가 비용이 너무 크다. 이는 실제 저전력 플랫폼에서는 원하는 정확도로 연산 작업을 수행하기 위해 요구되는 시간의 증가로 인해 JPEG 에너지 소모가 실제로는 높은 것과 유사한 컨셉의 결과이다. 그러므로, 리소스가 제한된 (혹은 민감한) 임베디드 플랫폼에서 이미지 압축을 적용하기 위한 대체 방법을 확인할 필요가 있으며, 본 실시예에서와 같이 K-평균 클러스터링 기반 학습은 서버(200)에서 이루어지고, 학습된 결과를 임베디드 장치(100)에서 제공받아 압축만을 수행하도록 함으로써 리소스 제한을 극복하고 에너지 효율을 극대화시킬 수 있게 된다.
앞서 설명한 것처럼, 이미지 압축을 위해 K-평균 클러스터링을 사용하는 것은 무선링크를 통해 원본 이미지(로우 이미지)를 전송하는 것과 비교할 때 많은 에너지를 소모할 수 있다. 하지만, 센서 노드(임베디드 장치(100))에서의 압축 과정이 센트로이드의 학습 단계 이후에 시작된다면, 연산 오버헤드는 감소될 수 있고 좀 더 에너지 효율적인 계산 프로세스를 만들어낼 수 있다. 이러한 이유로 인해, 본 실시예에서는 센트로이드 학습과 이미지 압축을 분리하는 2단계 압축 프로세스를 제공하고 있다.
표 3에서부터, 4회 반복 K-평균 클러스터링 프로세스가 153초 이상의 실행 시간이 걸리는 사실을 알 수 있다. 반면, 센트로이드 학습 이후의 이미지 압축(표 3의 지정된 센트로이드를 이용한 이미지 압축)에는 단지 7.1초만이 소요된다. 즉, 이미 계산된 센트로이드를 가지고서는, 리소스가 제한된 센서 노드에서 실제 압축 단계만 실행할 필요가 있다는 것이다. 이러한 경우, 이미지당 전체 에너지 소모는 311.8-155.9-38.52=117.38mJ 이다. 멀티홉을 통해 이미지가 전송된다면, 에너지 이득은 매우 커질 것이고, 1회에 걸쳐 이미지 압축이 이루어짐으로써 전송될 데이터가 원본에 비해 1/2까지 감소된다. 이러한 이점은 K-클러스터링 알고리즘의 학습 단계가 "센서 노드 이외에서" 실행된다면 획득될 수 있다. 센트로이드 지점들의 형태가 되는 이러한 학습 단계의 결과는 "센서 노드 상에서" 압축 구성요소의 입력으로서 구현될 수 있다. 그러므로, 본 실시예에서의 목표는 임베디드 센서 노드에서 PC 스케일 장치로 K-평균 클러스터링 학습 단계를 체계적으로 이동시키는 것이다.
도 1을 다시 참조하면, 본 실시예에 따른 데이터 압축 시스템(10)은 이미지 기반 무선 센서 네트워크인데, 카메라 센서 노드(임베디드 장치(100))가 새둥지 박스에 각각 설치되고 서버(200)와 멀티홉 무선 네트워크를 통해 통신한다.
예를 들어, 임베디드 장치(100)인 센서 노드는 Cyclops 카메라와, 프로세싱 코어 및 무선 전송기인 Mica2 모트로 구성된다. Cyclops는 이미져(imager)로서 CMOS 카메라 모듈(ADCM-1700)을 사용하고 8비트 마이크로컨트롤러(MCU)로서 AMTEL ATmega128L을 사용하는 저비용 저전력 비젼 센서 플랫폼이다. 128KB 플래쉬 프로그램 메모리와 4KB SRAM 데이터 메모리를 가지고 있다. 또한 이미지 버퍼 및 로컬 이미지 프로세싱을 위해 64KB SRAM 외장 메모리를 가진다. 표 2에서 본 것처럼, Cyclops는 이미지를 획득하고 저장할 때 53mW 미만의 에너지를 소모하고, 처리할 때에도 28mW 미만의 에너지를 소모한다. 실제 필드에서는 19개의 센서 노드를 적용시켰다. 전용 애플리케이션 서버는 센서 노드에 임무(예컨대, 명령어)를 전송하는데, 이들 임무는 이미지를 촬영하거나 센서를 읽거나 계산을 수행하거나 처리된 데이터를 회신하도록 하는 것이다. 이는 "임무(task)"-"응답(response)"의 구조를 가지고 있음을 가정하고 있다.
이미지 기반 무선 센서 네트워크 아키텍처에서, 효율적 K-평균 클러스터링 기반 데이터 압축(특히, 이미지 압축) 방법은 다음과 같이 이루어진다(도 10 참조).
단계 1) 초기화 단계에서, 서버(200)와 임베디드 장치(100)는 K-평균 클러스터링 센트로이드를 계산하기 위한 이미지를 가지고 있지 않기에, 서버(200)는 임베디드 장치(100)에 "이미지 촬영 및 전송" 임무를 전송한다.
단계 2) 각 임베디드 장치(100)는 새로운 이미지를 촬영하고 서버(200)로 원본 이미지(로우 이미지)를 전송한다.
단계 3) 각 임베디드 장치(100)로부터 원본 이미지를 수신하면, 서버(200)는 각 이미지 파일에 대해 K-평균 클러스터링 알고리즘을 실행하고 상응하는 임베디드 장치(100)로 계산된 센트로이드를 다시 전송한다. 임베디드 장치(100)는 다음 단계를 위해 이 센트로이드를 저장한다.
단계 4) 이제 서버(200)는 임베디드 장치(100)에 "이미지 촬영, 압축 및 전송" 임무를 초기화시킨다. 임베디드 장치(100)는 저장된 센트로이드를 이용하여 연속된 이미지를 압축하고, 압축된 이미지를 서버(200)로 전송한다.
단계 5) 단계 4를 사용자 지정 갱신 기간 'T' 동안 반복한다 (예컨대, 하루 혹은 일주일).
단계 6) 주기 'T'가 경과하면, 서버(200)는 단계 1을 반복하고, 업데이트된 이미지를 사용하여 K-평균 학습을 수행한다.
전술한 방법을 사용하면, 임베디드 장치(100)는 대용량 이미지를 압축함으로써 제한된 에너지 리소스를 아껴쓸 수 있게 된다. 멀티홉을 통한 이미지 데이터 전송에 따라 이러한 "에너지 이득(energy gain)"은 증가하는데, 이는 릴레이 홉에서 전송되는 이미지의 양이 이미 상당량 감소되었기 때문이다. 더구나, 런-렝스 부호화(run-length encoding) 혹은 다른 가벼운 압축 방법을 추가적으로 적용함으로써 압축 데이터가 감소될 수 있을 것이다.
본 실시예에서와 같이 K-평균 클러스터링 알고리즘의 학습 과정을 PC 스케일 서버(200)로 분리하는 것이 추가적인 이익을 준다. 특히, 서버(200)에서는 처리능력이 높고 에너지 리소스가 무제한이어서 좀 더 정확한 클러스터링을 위해 반복횟수 혹은 시도횟수를 증가시킬 수 있게 된다.
본 실시예에 따른 K-평균 클러스터링을 이용한 이미지 압축 방법을 평가하는데, 다단계 접근을 취하기로 한다. 우선 본 스팀의 성능에서 다양한 시스템 파라미터들의 영향을 조사하고, 다음으로 이전 방법들과 비교할 때 모트 플랫폼에 구현될 수 있는 가능성을 보기로 한다. 본 방법을 통해 획득된 압축률 혹은 이미지 용량 감소는 이미지 크기 및 "K" 값에 따라 쉽게 예측가능하므로(표 1 참조), 원본 이미지에 비교할 때 압축된 이미지의 퀄리티에서의 왜곡에 초점을 맞추어 평가하기로 한다.
본 실시예에서 K-평균 클러스터링을 위해 사용되는 센트로이드는 이미지 콘텐츠에 뚜렷한 변화가 있을 때 업데이트될 수 있다.
이러한 센트로이드 업데이트의 필요성을 유효화하기 위해, 도 11에서 임의로 선택된 노드(예컨대, 도면에서 노드 1)로부터의 단일 이미지가 K-평균 학습을 위해 사용될 때 (단일 이미지로부터 학습된) 동일한 센트로이드 집합이 타 노드들의 이미지 압축을 위해 사용되어, 각 노드의 MSE를 그래프로 나타낸다.
도 11에서 가로 점선은 단일 이미지로부터 서버(200)에서 수행된 K-평균 학습의 MSE 출력값이다. 이미지가 모두 유사해 보이는 새 둥지를 캡쳐한 것인데, 상이한 노드들로부터의 이미지가 콘텐츠와 빛 세기에 있어서 현저하게 다를 수 있음을 알 수 있다. 이러한 노드들 때문에, 압축 이미지의 평균 왜곡(MSE)이 다른 노드들에서는 합리적으로 작지만 일부 경우 받아들일 수 없을 정도로 클 수 있음을 도 11에서 보여준다. 이는 센서 노드 이미지의 그레이 스케일 컬러가 매우 다를 수 있음을 암시한다. 그러므로 타 노드들에 대한 센트로이드 학습을 수행하기 위해 단일노드로부터 단일 이미지를 사용할 수는 없고, 동일한 센트로이드 집합이 타 노드들로부터 이미지를 압축하는데 사용되어서는 안 된다. 이러한 이유로, 이미지가 각 노드로부터 획득되어야 하며, 효율적인 이미지 용량 감소를 위해 K-평균 클러스터링 기반 학습은 노드마다 수행되어야 하는 것으로 결론낼 수 있다.
다음으로, 하나의 노드 "내에서" 시간 경과에 따른 이미지 변화에 대해 살펴보기로 한다. 도 12에서, 첫째날의 단일 이미지가 K-평균 학습에 사용되고 첫번째 이미지로부터의 센트로이드가 이후 3.3개월동안 수집된 이미지의 압축에 사용된 경우 날짜별 MSE를 그래프로 도시되어 있다. 여기서, 이미지의 많은 부분이 3.3개월동안 낮은 MSE를 유지하고 있지만, MSE가 현저하게 변화되는 시간 프레임이 존재한다. 정황상 이 기간은 5월부터 6월까지 새들의 번식시기이다. 이 기간동안 번식시기 이후에 새들은 알을 낳고 부화한다. 겨로가적으로 새둥지에서 현저하게 많은 양의 활동이 존재하였고, 그레이 스케일 컬러가 비 번식시기와는 많은 차이점을 가지고 있다. 새 둥지 내에서의 시간 흐름에 따른 이러한 변화가 도 13에 도시되어 있다.
자연 현상에 기초하면, 전체 기간 동안 첫째날 계산된 동일한 센트로이드 집합을 사용하는 것은 이미지 압축에 있어 낮은 퀄리티를 가져올 수 있으며, 실제 그랬다.
앞서 실증적으로 찾은 파라미터들을 사용할지라도, 오랜 시간 동안 동일한 센트로이드 집합을 사용하는 것은 비효율적인 압축 결과를 야기할 수 있음을 보여준다. 그럼에도 불구하고 이미지 센서가 "유사한" 데이터를 제공하는 한 이들 센트로이드는 여전히 유효할 수 있으며, 센트로이드 업데이트를 더 자주 수행하는 것은 시스템 레벨에서 비효율성을 야기할 수 있다. 그러므로, 센트로이드 업데이트를 위한 적합한 주기 간격을 찾고 압축 이미지의 왜곡을 관찰할 필요가 있다.
이 기간을 찾기 위해 기존의 데이터셋을 가지고 실험을 수행한다. 도 14는 단일 노드에서 300개의 다른 이미지에 대해 관찰된 MSE로서, K-평균 학습이 (1) 1회만 수행된 경우, (2) 매일 첫번째 이미지를 사용한 1일 1회 수행된 경우, (3) 각 이미지마다 수행된 경우이다. 센트로이드 학습이 각 이미지마다 수행된 경우(case 3) 참조 케이스로 사용되는데, 이는 최소 왜곡을 획득하는 관점에서 가장 이상적인 결과를 보여주기 때문이다. 그럼에도 불구하고 이 경우는 에너지 소모 관점에서 최저의 성능을 제공하므로 실제 사용에서는 실행 가능한 경우는 아니다. 이상적인 경우, 대부분이 왜곡이 5 아래로 떨어지는 것임을 볼 수 있다. 업데이트 간격이 증가하면, 많은 수의 이미지가 왜곡이 커짐을 알 수 있다.
이미지 왜곡에 따른 센트로이드 업데이트율의 영향을 측량하기 위해, 도 15는 서로 다른 학습 간격 "T" 값을 가질 때 MSE 대비 이미지 카운트의 CDF를 그래프로 도시하고 있다. 센트로이드가 (초기) 1회만 계산된 경우, 매일 첫번째 이미지를 사용하여 1일 1회 계산된 경우, 주의 첫번째 이미지를 사용하여 1주 1회 계산된 경우, 월의 첫번째 이미지를 사용하여 1월 1회 계산된 경우 계산된 경우, 이미지마다 계산된 경우의 5가지 케이스를 테스트한다. 도 15의 결과에서 1주 1회 K-평균 클러스터링 기반 학습을 수행하는 한 MSE가 5 미만이고 이미지 결과가 90% 이상임을 보여준다. "T"가 커질수록 이미지의 10% 이상에서 MSE가 5를 초과하게 된다. 이 결과에 기초할 때, 1주라는 학습 간격 "T"가 목표 데이터셋에서는 합리적인 것으로 결론낼 수 있다. 그렇게 함으로써, 이미지 기반 시스템은 이미지 압축을 사용하는 시스템 수명을 연장시키는 저전력 사용 프로파일을 유지시키면서도 주요 과학자들에게 적합한 퀄리티의 목표 환경의 이미지를 제공할 수 있다는 것이다. 또한, 이 결과를 폭넓은 범위에서 일반화하면, 임계치 및 파라미터를 찾기 위한 본 실시예의 방법론이 유사한 이미지-기반 환경 모니터링 애플리케이션 시나리오에서 적용될 수 있을 것으로 본다.
전체적으로, 본 실시예는 다음 사항들을 보여준다.
우선 새둥지 모니터링 애플리케이션의 캡쳐 이미지의 시간 스케일 동적요소, (상대적으로) 잦은 업데이트 간격이 센트로이드 계산에 적용될 수 있다. 센트로이드 업데이트는 K-평균 클러스터링 기반 방법의 압축 성능에 영향을 주지 않지만, 다른 압축 "퀄리티(quality)"를 야기할 수 있다. 다음으로, 본 결과는 K-평균 클러스터링 기반 학습을 사용한 이미지 데이터의 압축 영향은 저전력 임베디드 플랫폼에 매우 효과적이고 본 실시예에 따른 방법의 계산 오버헤드가 최소이고, 최소의 퀄리티 손실을 가지면서도 효율적인 압축 성능을 쉽게 획득할 수 있다는 것이다.
지금까지의 평가에 기초하면, 이전 압축 방법 대비 K-평균 클러스터링 기반 이미지 압축의 비교 결과가 PackBits, Run-Length Encoding(RLE) 등으로 제공된다.
표 4.
표 4는 압축률, 이미지 퀄리티(MSE와 SSIM), 계산 복잡도(MSP430에서 실행시간), 압축 에너지 소모, 싱글홉 전송을 가정한 경우 이미지당 전체 에너지 이득을 보여준다. 본 실시예에 따른 K-평균 클러스터링 기반 방법에서는, K=16을 사용한다. PackBits 와 Run-Length Encoding 방법에서, 압축률과 이미지 퀄리티 사이의 밸런스를 맞추기 위해 10의 임계치를 사용한다. 즉, 임계치를 낮춘다면, 높은 이미지 퀄리티를 얻을 수 있지만 압축률이 낮아진다. 임계치를 높이면, 압축률을 개선되지만 이미지 퀄리티는 낮아진다.
표에서 볼 수 있듯이, 본 실시예에 따른 방법이 더 좋은 이미지 퀄리티 (MSE 및 SSIM) 뿐만 아니라 더 좋은 압축률을 획득하고 있다. 이러한 개선은 긴 실행시간의 대가로 얻은 것으로, 압축 자체에는 더 많은 에너지가 사용되는 것으로 볼 수 있다. 이미지마다의 전체 에너지 이득을 비교하면, 이미지마다 감소된 데이터를 전송함으로 획득되는 에너지 이득을 계산하고 압축에 사용된 에너지를 차감한다(Etransmitwhoeimage*Comp.Ratio-Ecompression). 그 결과는 싱글홉 전송을 가정한 경우에도 본 실시예에 따른 방법이 세가지 방법 중에서 가장 좋은 에너지 이득을 보여준다. 만약 데이터가 멀티홉을 통해 전송된다면 감소되는 크기가 더욱 커지게 되고, 이는 이미지 퀄리티의 향상을 의미한다.
다수의 애플리케이션을 설계하기 위해 물리적 세계에서 데이터를 캡쳐하기 위해 저전력 임베디드 계산 플랫폼이 다양한 센서에 연결되어 있다. 이러한 애플리케이션의 다양성으로 인해 저전력 임베디드 플랫폼에 연결된 센서 타입은 증가되고 있다. 리소스 제한된 임베디드 계산 플랫폼에서 동작하는 저전력 카메라 센서로부터 생성된 이미지 데이터의 효율적인 처리에 초점이 맞추어져 있다. 특히, 본 실시예에서는 K-평균 클러스터링 기반 학습 알고리즘을 이러한 플랫폼에서 수집되는 이미지 데이터를 압축하는데 적용한다. 그렇게 함으로써, 이들 이미지의 전송 오버헤드가 상당히 줄어들 수 있다. 감소된 크기에도 불구하고 압축된 이미지의 왜곡은 원본의 큰 크기의 이미지와 비교할 때 최소화됨을 보여주었다.
상술한 본 발명에 따른 데이터 압축 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 데이터 압축 시스템
100: 임베디드 장치
110: 노드 통신부 120: 촬영부
130: 이미지 압축부 140: 노드 제어부
200: 서버 210; 서버 통신부
220; K-평균 학습부 230: 저장부
240: 모니터링부 250: 서버 제어부
221: 센트로이드 설정 모듈 223: 클러스터 할당 모듈
225: 센트로이드 재연산 모듈 227: 제어 모듈
229: 솔루션 선택 모듈
110: 노드 통신부 120: 촬영부
130: 이미지 압축부 140: 노드 제어부
200: 서버 210; 서버 통신부
220; K-평균 학습부 230: 저장부
240: 모니터링부 250: 서버 제어부
221: 센트로이드 설정 모듈 223: 클러스터 할당 모듈
225: 센트로이드 재연산 모듈 227: 제어 모듈
229: 솔루션 선택 모듈
Claims (10)
- 서버와 함께 무선 이미지 센서 네트워크를 구성하는 센서노드인 임베디드 장치로서,
설치된 장소를 촬영하여 이미지 데이터를 획득하는 촬영부;
상기 이미지 데이터를 K-평균 클러스터링 기반 알고리즘에 따라 압축하는 이미지 압축부;
상기 서버와 멀티홉 통신을 통해 상기 이미지 데이터의 원본과 압축본을 전송하고, 상기 서버로부터 센트로이드의 수와 센트로이드의 대표 픽셀값을 포함하는 센트로이드 정보를 수신하는 노드 통신부; 및
상기 센트로이드 정보를 수신하기 이전에는 상기 이미지 데이터의 원본이 전송되도록 하고, 상기 센트로이드 정보를 수신한 후에는 상기 이미지 압축부를 활성화시켜 상기 이미지 데이터가 압축된 압축본이 전송되도록 하는 노드 제어부를 포함하는 임베디드 장치.
- 제1항에 있어서,
상기 이미지 압축부는 상기 이미지 데이터의 픽셀들 중에서 상기 센트로이드마다 할당되는 픽셀들에 대해서 그 픽셀값을 할당된 센트로이드의 대표 픽셀값으로 변경하여, 이미지 데이터에 포함되는 색상의 수를 상기 센트로이드의 수까지 줄여 상기 압축본에는 K개의 색상에 대한 픽셀값과 각 픽셀 위치에 대한 색상 인덱스를 포함시키는 것을 특징으로 하는 임베디드 장치.
- 복수의 센서노드와 함께 무선 이미지 센서 네트워크를 구성하는 서버로서,
상기 복수의 센서노드로부터 이미지 데이터의 원본 및 압축본 중 적어도 하나를 수신하는 서버 통신부;
상기 원본에 대해 K-평균 클러스터링 기반 알고리즘을 적용하여 K개의 클러스터에 해당하는 센트로이드의 대표 픽셀값을 포함하는 센트로이드 정보를 학습 결과로 생성하는 K-평균 학습부;
상기 센트로이드 정보 및 상기 압축본을 저장하는 저장부;
상기 압축본에 대해 영상 분석한 결과인 환경 정보를 출력하는 모니터링부; 및
상기 K-평균 학습부에서 상기 센트로이드 정보가 생성되면 상기 서버 통신부를 통해 상응하는 센서노드로 상기 센트로이드 정보를 전송하도록 제어하는 서버 제어부를 포함하는 서버.
- 제3항에 있어서,
상기 K-평균 학습부는,
입력된 클러스터의 수에 상응하여 각 클러스터의 대표 픽셀값을 센트로이드로 초기 설정하는 센트로이드 설정 모듈;
상기 원본의 각 픽셀을 최근접한 센트로이드의 현재 위치에 할당하는 클러스터 할당 모듈;
할당이 완료되면 상기 센트로이드의 평균을 재연산하는 센트로이드 재연산 모듈; 및
미리 설정된 반복 횟수만큼 클러스터 할당 및 평균 재연산이 수행되도록 제어하는 제어 모듈을 포함하는 것을 특징으로 하는 서버.
- 제4항에 있어서,
상기 제어 모듈은 미리 설정된 시도 횟수만큼 상기 센트로이드 설정 모듈에서 랜덤하게 상기 센트로이드의 초기 설정이 실행되도록 하되,
다른 랜덤 초기화로부터 획득된 다른 솔루션들 사이에서 최저의 비용 함수를 가지는 하나를 학습 결과로 선택하는 솔루션 선택 모듈을 포함하는 것을 특징으로 하는 서버.
- 제5항에 있어서,
상기 시도 횟수는 상기 솔루션의 비용 함수의 감소율이 일정 범위 미만이 되는 경우까지로 한정되는 것을 특징으로 하는 서버.
- 제4항에 있어서,
상기 반복 횟수는 비용 함수의 감소율이 일정 범위 미만이 되는 경우까지로 한정되는 것을 특징으로 하는 서버.
- 제4항에 있어서,
상기 센트로이드 설정 모듈은 상기 원본의 픽셀들이 가지는 픽셀값들 중에서 상위랭크에 속하는 픽셀값들을 상기 대표 픽셀값으로 설정하는 것을 특징으로 하는 서버.
- 무선 이미지 센서 네트워크에 포함되는 서버에서 수행되는 데이터 압축 방법으로서,
(a) 상기 서버는 상기 센서노드로 이미지 촬영 및 전송 임무를 초기화시키는 단계;
(b) 상기 센서노드로부터 원본 이미지를 수신하는 단계;
(c) 상기 원본 이미지에 대해 K-평균 클러스터링 기반 알고리즘을 실행하여 센트로이드 정보를 생성하는 단계;
(d) 상기 센트로이드 정보를 상기 센서노드로 전송하는 단계;
(e) 상기 센서노드로 이미지 촬영, 압축 및 전송 임무를 초기화시키는 단계;
(f) 상기 센서노드에서 상기 센트로이드 정보에 기초하여 압축된 압축 이미지를 수신하는 단계;
(g) 미리 지정된 갱신 기간 동안 상기 단계(f)를 반복하는 단계를 포함하는 K-평균 클러스터링 기반 데이터 압축 방법.
- 제9항에 있어서,
(h) 상기 갱신 기간이 경과하면 상기 단계 (a)로 되돌아가 새로운 원본 이미지를 사용하여 K-평균 학습을 수행하는 단계를 더 포함하는 K-평균 클러스터링 기반 데이터 압축 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150155123A KR101750017B1 (ko) | 2015-11-05 | 2015-11-05 | 무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150155123A KR101750017B1 (ko) | 2015-11-05 | 2015-11-05 | 무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170053193A true KR20170053193A (ko) | 2017-05-16 |
KR101750017B1 KR101750017B1 (ko) | 2017-06-23 |
Family
ID=59035255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150155123A KR101750017B1 (ko) | 2015-11-05 | 2015-11-05 | 무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101750017B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707494A (zh) * | 2017-10-10 | 2018-02-16 | 苏州大学 | 用于64‑qam相干光通信系统的光纤非线性均衡方法 |
CN108684066A (zh) * | 2018-05-15 | 2018-10-19 | 扬州大学 | 基于K-medoids的无线传感器网络分簇方法 |
CN109889842A (zh) * | 2019-02-21 | 2019-06-14 | 北方工业大学 | 基于knn分类器的虚拟现实视频cu划分算法 |
KR101998839B1 (ko) * | 2018-01-03 | 2019-07-10 | 중앙대학교 산학협력단 | 이미지 기반 임베디드 무선 센서 네트워크를 위한 데이터 압축 시스템 및 방법 |
CN113128692A (zh) * | 2019-12-31 | 2021-07-16 | 北京超星未来科技有限公司 | 无线分布式机器学习中数据获取处理的方法、装置及系统 |
CN117294853A (zh) * | 2023-09-26 | 2023-12-26 | 小红书科技有限公司 | 图像压缩方法、相关方法及相关产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4769238B2 (ja) * | 2007-08-24 | 2011-09-07 | 日本電信電話株式会社 | 信号分離装置、信号分離方法、プログラム及び記録媒体 |
-
2015
- 2015-11-05 KR KR1020150155123A patent/KR101750017B1/ko active IP Right Grant
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707494A (zh) * | 2017-10-10 | 2018-02-16 | 苏州大学 | 用于64‑qam相干光通信系统的光纤非线性均衡方法 |
CN107707494B (zh) * | 2017-10-10 | 2020-02-11 | 苏州大学 | 用于64-qam相干光通信系统的光纤非线性均衡方法 |
KR101998839B1 (ko) * | 2018-01-03 | 2019-07-10 | 중앙대학교 산학협력단 | 이미지 기반 임베디드 무선 센서 네트워크를 위한 데이터 압축 시스템 및 방법 |
CN108684066A (zh) * | 2018-05-15 | 2018-10-19 | 扬州大学 | 基于K-medoids的无线传感器网络分簇方法 |
CN108684066B (zh) * | 2018-05-15 | 2022-03-29 | 扬州大学 | 基于K-medoids的无线传感器网络分簇方法 |
CN109889842A (zh) * | 2019-02-21 | 2019-06-14 | 北方工业大学 | 基于knn分类器的虚拟现实视频cu划分算法 |
CN109889842B (zh) * | 2019-02-21 | 2022-02-08 | 北方工业大学 | 基于knn分类器的虚拟现实视频cu划分算法 |
CN113128692A (zh) * | 2019-12-31 | 2021-07-16 | 北京超星未来科技有限公司 | 无线分布式机器学习中数据获取处理的方法、装置及系统 |
CN113128692B (zh) * | 2019-12-31 | 2024-04-09 | 北京超星未来科技有限公司 | 无线分布式机器学习中数据获取处理的方法、装置及系统 |
CN117294853A (zh) * | 2023-09-26 | 2023-12-26 | 小红书科技有限公司 | 图像压缩方法、相关方法及相关产品 |
CN117294853B (zh) * | 2023-09-26 | 2024-06-25 | 小红书科技有限公司 | 图像压缩方法、相关方法及相关装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR101750017B1 (ko) | 2017-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101750017B1 (ko) | 무선 이미지 센서 네트워크를 위한 k-평균 클러스터링 기반의 데이터 압축 시스템 및 방법 | |
CN110637460B (zh) | 利用深层神经网络的视觉质量保持量化参数预测 | |
US20190266015A1 (en) | Deep neural network workload scheduling | |
US8855011B2 (en) | Distributed transforms for efficient data gathering in sensor networks | |
CN112001274B (zh) | 人群密度确定方法、装置、存储介质和处理器 | |
KR20180051242A (ko) | 데이터 분석 시스템 및 그 방법 | |
CN113489619B (zh) | 一种基于时间序列分析的网络拓扑推断方法及装置 | |
Costa et al. | Exploiting the sensing relevancies of source nodes for optimizations in visual sensor networks | |
US11044168B2 (en) | Fingerprinting application traffic in a network | |
Alejandrino et al. | A hybrid data acquisition model using artificial intelligence and IoT messaging protocol for precision farming | |
CN109831650A (zh) | 一种监控视频的处理系统及方法 | |
Priya et al. | Monitoring of pest insect traps using image sensors & dspic | |
CN107547898A (zh) | 一种能耗‑精度可控的传感器双参数分配系统 | |
Dias et al. | Using data prediction techniques to reduce data transmissions in the IoT | |
Tagne et al. | A lossless distributed data compression and aggregation methods for low resources wireless sensors platforms | |
Tagne Fute et al. | DDCA-WSN: A distributed data compression and aggregation approach for low resources wireless sensors networks | |
Chiu et al. | Big data analytics for 4.9 G and 5G mobile network optimization | |
CN107958434B (zh) | 智能看护方法、装置、电子设备及存储介质 | |
US11496150B2 (en) | Compressive sensing systems and methods using edge nodes of distributed computing networks | |
CN108668265B (zh) | 基于循环神经网络预测移动用户间相遇概率的方法 | |
KR101998839B1 (ko) | 이미지 기반 임베디드 무선 센서 네트워크를 위한 데이터 압축 시스템 및 방법 | |
WO2020030585A1 (en) | Systems and methods using cross-modal sampling of sensor data in distributed computing networks | |
US20210234799A1 (en) | Method and system for data management in an edge server | |
Islam et al. | Optimizing Federated Learning with Heterogeneous Edge Devices | |
CN106886463A (zh) | 一种智能动态调整多图形处理器负载的控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200309 Year of fee payment: 4 |