KR101705536B1 - 카메라 영상기반 안개 제거 방법 - Google Patents

카메라 영상기반 안개 제거 방법 Download PDF

Info

Publication number
KR101705536B1
KR101705536B1 KR1020150141360A KR20150141360A KR101705536B1 KR 101705536 B1 KR101705536 B1 KR 101705536B1 KR 1020150141360 A KR1020150141360 A KR 1020150141360A KR 20150141360 A KR20150141360 A KR 20150141360A KR 101705536 B1 KR101705536 B1 KR 101705536B1
Authority
KR
South Korea
Prior art keywords
image
value
input image
amount
memory
Prior art date
Application number
KR1020150141360A
Other languages
English (en)
Inventor
최현준
서영호
곽재민
이윤혁
Original Assignee
목포해양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 목포해양대학교 산학협력단 filed Critical 목포해양대학교 산학협력단
Priority to KR1020150141360A priority Critical patent/KR101705536B1/ko
Application granted granted Critical
Publication of KR101705536B1 publication Critical patent/KR101705536B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

호스트와 병렬처리가 가능한 디바이스로 구성된 시스템에 의하여 수행되어, 입력영상에서 해무를 제거하는, 연안항해 선박의 영상기반 해무 제거 방법에 관한 것으로서, (a) 상기 입력영상에서 다크 채널을 추출하는 단계; (b) 추출한 다크 채널 중에서 가장 밝은 곳에 비해 밝기가 소정의 범위 이내를 가지는 픽셀의 값을 대기산란광으로 설정하는 단계; (c) 상기 입력영상의 각 컬러 채널의 값들을 상기 대기산란광 값으로 나누어서 영상을 정규화하고, 정규화된 영상에서 다크 채널을 재추출하는 단계; (d) 사전에 정해진 상수 값에서 재추출된 다크채널의 값을 차감하여 전달량을 구하되, 상기 전달량에 사전에 정해진 가중치를 곱하여 차감하는 단계; (e) 양방향 필터를 적용하여 전달량을 정제하는 단계; 및, (f) 정제된 전달량을 이용하여 해무를 제거하여 상기 입력영상을 복원하는 단계를 포함하는 구성을 마련한다.
상기와 같은 연안항해 선박의 영상기반 해무 제거 방법에 의하여, 해무가 발생하여 전방의 시계확보가 어려운 상황에서도 비교적 정확한 시각적 정보를 제공함으로써, 소형 부유물이나 소형 어선과 같은 위협을 조기 탐지할 수 있다.

Description

카메라 영상기반 안개 제거 방법 { A fog removing method based on camera image }
본 발명은 연안을 항해하는 선박에 장착되는 선박용 블랙박스 혹은 디지털 카메라에서 획득한 영상에서 해무를 효과적으로 제거하는 연안항해 선박의 영상기반 해무 제거 방법에 관한 것이다.
특히, 본 발명은 운항 중인 선박에서 획득한 디지털 영상에서 한 장의 영상을 사용하여 해무를 제거하는 연안항해 선박의 영상기반 해무 제거 방법에 관한 것이다.
일반적으로, 연안 해역에는 많은 중소형 선박들이 운항을 하기 때문에, 해무가 발생하면 항로 방향으로 시야가 확보되지 않아 선박 간 충돌사고가 자주 발생한다.
특히, 새벽과 일출 전/후의 시간대에 집중되어 연안에 안개가 발생하고 있어, 이 시간대에 연안 인근을 항해하는 선박들의 운항에 영향을 미치고 있다. 즉, 연안 해역의 경우 산재된 섬과 인근 항만 출입항 선박으로 인한 교차지점이 많아 해상교통이 매우 혼잡하고, 최근 기상 이변 등의 영향으로 잦은 안개가 발생하여 운항 선박들의 항해위험도가 증가하고 있다. 더욱이, 온난화 현상으로 계절에 관계없이 빈번한 짙은 농무현상으로 선박 충돌, 좌초 등의 안전사고가 우려되고 있다.
또한, 최근 연안 해역에서 상선의 해양사고는 점진적으로 감소하는 경향을 보이고 있으나, 어선의 경우는 반대로 증가하는 경향을 보이고 있다. 서해와 남해 영해에서 발생한 충돌사고 중 어선관련 충돌사고(어선간, 어선-상선간 충돌)가 대부분을 차지하고 있고, 인명피해 역시 어선과 같은 중소형 선박에서 대부분 발생하고 있다.
그러나 연안에서 가장 빈번하게 일어나고 있는 해난사고는 근접거리 물체에 대한 레이더의 검출 불능에 따른 충돌사고로 운항자의 조선실수가 충돌 원인의 비중이 크다. 또한, 사고 선종은 중소형 어선이 가장 많았으며 원인은 운항 부주의, 정비 불량 등으로 조사되고 있다. 즉, 선박 및 종사자들이 느끼는 위해요소를 파악하는 이전연구를 보면 어선의 불법어로와 통신장비가 미 탑재된 선박으로 인한 사고의 위험이 높은 것으로 보고되고 있다.
따라서 해무에 의해 시계가 저하된 경우 항행 중인 선박의 안전항해를 위해서는 당직사관의 전방 시각정보가 매우 중요하다.
상기와 같은 문제점을 해결하고자, 정부 당국에서 연안에 레이더와 선박자동위치추적시스템(AIS)에 의한 안전관리체제를 확대하고 있다. 또한, 해무가 발생하기 전에 예측하는 기술이나, 발생한 해무를 감시하는 모니터링 기술 등이 많이 연구되고 있다. 또한, 선박간 사고를 방지하기 위한 충돌회피 자동제어 시스템에 관한 연구가 활발히 진행되고 있다.
또한, 국외에서는 선박용 항해 관측 장비에 대한 연구와 관심이 늘어나고 있다. 일본에서 최근 RADAR의 ARPA(Automatic radar plotting aids, 자동충돌예방장치) 정보를 이용한 관측 장비에 대한 개발이 이루어지고 있다. 또한, IMO(International Maritime Organization, 국제해사기구)의 E-Navigation의 전략이행계획에 따르면 안전항해를 위한 항해상황인식의 중요성이 크게 강조되고 있다.
그러나 현단계의 항해상황은 레이터, ARPA 및 AIS(Automatic Identification System, 선박자동식별시스템)에 추가하여 시각적 견시도구로서 쌍안경에 의존하고 있다. 또한, 상기와 같은 선박용 항해 관측 장비나 충돌회피 시스템 등은 고가의 장비이기 때문에, 어선과 같은 중소형 선박에는 장착하기 어렵다는 문제점이 있다. 연안에서 잦은 조업으로 선박충돌사고의 대부분을 차지하고 있는 소형 어선들에도 쉽게 설치하여, 사고비율을 낮출 수 있는 기술이 절실하다.
이를 위해, 선박에 카메라 등을 설치하고 선박의 항해 방향을 촬영하고, 촬영된 영상에서 안개를 제거하고 충돌 위험 등을 인식할 수 있을 것이다. 종래기술로서, 촬영된 영상에서 안개를 제거하여 영상을 보정하는 기술들이 제시되고 있다[특허문헌 1,2]. 그러나 상기 종래기술들은 대부분 육상에서의 안개제거기술로서 상당히 많은 연구가 되어 왔지만, 해상, 특히 선박 위에서 촬영된 영상을 대상으로하는 해무제거기술은 연구된 바가 없다.
또한, 현재 거의 모든 연구들이 일반적인 자연영상에서 안개를 제거하는 기술개발에 집중되어 있다. 특히 출시되고 있는 안개제거 시스템은 고정된 CCTV 제품들이 대다수를 차지하고 있다.
항행 중인 선박은 횡요(rolling), 종요(pitching), 편요(yawing), 상하이동(heaving), 측면이동(swaying), 전진이동(surging)과 같은 거칠고 불규칙한 6자유도 운동을 수행한다. 특히 선박이 파랑에 부딪히면 반드시 몇 개가 동시에 발생하게 되므로 지상에서 운용되고 있는 고정식 안개제거 시스템을 선박에 적용하는 것은 적절하지 않다.
[특허문헌 1] 한국특허등록공보 제10-1361644호(2014.02.13.공고) [특허문헌 2] 한국특허등록공보 제10-1279374호(2013.07.04.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 연안을 항해하는 선박에 장착되는 선박용 블랙박스 혹은 디지털 카메라에서 획득한 영상에서 해무를 효과적으로 제거하되, 특히, 한 장의 영상을 사용하여 해무를 제거하는 연안항해 선박의 영상기반 해무 제거 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 호스트 프로세서와 병렬처리가 가능한 그래픽 프로세서로 구성된 시스템에 의하여 수행되어, 입력영상에서 해무를 제거하는, 연안항해 선박의 영상기반 해무 제거 방법에 관한 것으로서, (a) 상기 입력영상에서 다크 채널을 추출하는 단계; (b) 추출한 다크 채널 중에서 가장 밝은 곳에 비해 밝기가 소정의 범위 이내를 가지는 픽셀의 값을 대기산란광으로 설정하는 단계; (c) 상기 입력영상의 각 컬러 채널의 값들을 상기 대기산란광 값으로 나누어서 영상을 정규화하고, 정규화된 영상에서 다크 채널을 재추출하는 단계; (d) 사전에 정해진 상수 값에서 재추출된 다크채널의 값을 차감하여 전달량을 구하되, 상기 전달량에 사전에 정해진 가중치를 곱하여 차감하는 단계; (e) 양방향 필터를 적용하여 전달량을 정제하는 단계; 및, (f) 정제된 전달량을 이용하여 해무를 제거하여 상기 입력영상을 복원하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (b)단계에서, 상기 가장 밝은 곳의 범위를 0.1% 이내로 정하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (d)단계에서, 상기 가중치는 0 보다 크고 1 보다 작은 범위의 수로 정하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 가중치는 0.95인 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 전달량 t(x)은 다음 수식 1에 의해 구하는 것을 특징으로 한다.
[수식 1]
Figure 112015097470131-pat00001
단, x는 영상의 위치를 나타내고, w는 가중치이고, c는 색상 채널 인덱스이고, I는 입력영상을 나타내고, A는 대기산란광을 나타내고, Ω(x)는 x점을 중심으로 한 일정 구간을 나타냄.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (e)단계에서, 양방향 필터를 반복적으로 적용하여 상기 전달량을 정제하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (e)단계에서, 반복횟수를 3회로 하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (f)단계에서, 다음 수식 2으로 해무가 제거된 영상 J(x)를 구하는 것을 특징으로 한다.
[수식 2]
Figure 112015097470131-pat00002
단, t0는 사전에 정해지는 가중치 최소값임.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 가중치 최소값을 0.05에서 0.1 사이의 값으로 설정하는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 (e)단계에서, 상기 양방향 필터에 의한 필터링은 다음 수식 3에 의해 계산되는 것을 특징으로 한다.
[수식 3]
Figure 112015097470131-pat00003
Figure 112015097470131-pat00004
단, If(x)는 x좌표의 필터링 된 밝기이고 fr(∥I(xi)-I(x)∥)는 가우시안(Gaussian) 함수로 xi와 x좌표의 밝기에 의한 커널이고, gs(∥I(xi)-I(x)∥)는 좌표에 의한 커널임.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 호스트 프로세서에서 다크채널을 추출하는 연산이 수행되고, 상기 그래픽 프로세서에서 전달량을 정제하는 연산이 수행되는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 그래픽 프로세서에 의해 양방향 필터의 연산이 수행되되, 양방향 필터의 밝기에 의한 커널 fr(∥I(xi)-I(x)∥)는 글로벌 메모리로 접근하여 계산되고, 좌표에 의한 커널인 gs(∥I(xi)-I(x)∥)는 최대 커널의 크기에 따라 LUT(Look-up table) 형태로 공유메모리를 이용하여 연산되는 것을 특징으로 한다.
또, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법에 있어서, 상기 호스트 프로세서와 상기 그래픽 프로세서는 서로 비동기화하여 독립적으로 작업을 수행하고, 독립적인 동작이 종료된 후에 스트림 동기화를 통하여 상기 그래픽 프로세서에서 수행한 결과를 획득하되, 상기 호스트 프로세서에서 처리된 결과를 이용하여, 상기 그래픽 프로세서에서 양방향 필터링의 연산을 수행하고, 상기 그래픽 프로세서에서 양방향 필터링의 연산을 수행하는 동안, 상기 호스트 프로세서에서 상기 입력영상의 다음 프레임에 대하여 연산을 수행하는 것을 특징으로 한다.
또한, 본 발명은 연안항해 선박의 영상기반 해무 제거 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 연안항해 선박의 영상기반 해무 제거 방법에 의하면, 해무가 발생하여 전방의 시계확보가 어려운 상황에서도 비교적 정확한 시각적 정보를 제공함으로써, 소형 부유물이나 소형 어선과 같은 위협을 조기 탐지할 수 있는 효과가 얻어진다.
또한, 본 발명에 따른 연안항해 선박의 영상기반 해무 제거 방법에 의하면, 기존의 시각적인 견시도구들과 병행하여 사용이 가능하여 운항시 잦은 해무 상황에도 시계를 확보함으로써, 선박 운항 중 안전성을 높이고 해양 사고를 사전에 방지할 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 안개발생과 디지털 카메라를 이용한 영상획득 과정을 시각화한 도면.
도 3은 본 발명의 일실시예에 따른 해무제거 영상의 예시로서, (a) 제거 전, (b) 제거 후의 영상.
도 4는 본 발명의 일실시예에 따른 연안항해 선박의 영상기반 해무 제거 방법을 설명하는 흐름도.
도 5는 본 발명의 일실시예에 따른 입력영상에서 다크 채널을 산출하는 단계를 설명하는 흐름도.
도 6은 본 발명의 일실시예에 따른 정규화하여 정규화된 영상에서 다크 채널을 재 산출하는 단계를 설명하는 흐름도.
도 7은 본 발명의 일실시예에 따른 전달량 추측 단계를 설명하는 흐름도.
도 8은 본 발명의 일실시예에 따른 전달량 정제 단계를 설명하는 흐름도.
도 9는 본 발명의 일실시예에 따른 호스트 프로세서 및 범용 GPU의 구성에 대한 블록도.
도 10는 본 발명의 일실시예에 따라 GPU에서 처리되는 연산 단위의 예시도.
도 11은 본 발명의 일실시예에 따른 워프의 실행 스케쥴의 예시도.
도 12은 본 발명의 일실시예에 따른 워프단위 조건문의 예시도.
도 13는 본 발명의 일실시예에 따른 워프 단위가 아닌 조건문 수행을 나타낸 표.
도 14은 본 발명의 일실시예에 따른 워프 단위의 조건문 수행을 나타낸 표.
도 15는 본 발명의 일실시예에 따른 연안항해 선박의 영상기반 해무 제거 방법을 설명하는 상세 흐름도.
도 16는 본 발명의 일실시예에 따른 2D 배열 주소 맵핑에 대한 예시도.
도 17은 본 발명의 일실시예에 따른 GPGPU를 이용한 병렬 프로그래밍시의 타이밍도.
도 18은 본 발명의 일실시예에 따른 비동기 동작 수행 시 타이밍도.
도 19는 본 발명의 실험에 사용된 GPGPU의 성능을 나타낸 도면.
도 20은 본 발명의 실험에 따른 성능 향상표.
도 21은 본 발명의 실험에 따른 해무제거 방법을 적용한 결과 영상.
도 22는 본 발명의 실험에 따른 해무제거 프로그램을 위한 전용 GUI의 예시도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명에 따른 연안항해 선박의 영상기반 해무 제거 방법은 영상(또는 이미지)(10)을 입력받아 상기 영상(또는 이미지)에 대하여 해무를 제거하는 컴퓨터 단말(20) 상의 프로그램 시스템으로 실시될 수 있다. 즉, 상기 해무 제거 방법은 프로그램으로 구성되어 컴퓨터 단말(20)에 설치되어 실행될 수 있다. 컴퓨터 단말(20)에 설치된 프로그램은 하나의 프로그램 시스템(30)과 같이 동작할 수 있다.
한편, 다른 실시예로서, 연안항해 선박의 영상기반 해무 제거 방법은 프로그램으로 구성되어 범용 컴퓨터에서 동작하는 것 외에 ASIC(주문형 반도체) 등 하나의 전자회로로 구성되어 실시될 수 있다. 또는 영상에서 모자이크 블록을 추출하는 것만을 전용으로 처리하는 전용 컴퓨터 단말(20)로 개발될 수도 있다. 이를 해무 제거 장치(40)라 부르기로 한다. 그 외 가능한 다른 형태도 실시될 수 있다.
한편, 영상(10)은 시간상으로 연속된 프레임으로 구성된다. 하나의 프레임은 하나의 이미지를 갖는다. 또한, 영상(10)은 하나의 프레임(또는 이미지)을 가질 수도 있다. 즉, 영상(10)은 하나의 이미지인 경우에도 해당된다. 바람직하게는, 본 발명에서는 하나의 이미지(또는 프레임)에 대한 영상을 대상으로 한다.
다음으로, 본 발명의 일실시예에 따른 영상 해무의 모델링에 대하여 도 2 및 도 3을 참조하여 설명한다.
도 2에서 보는 바와 같이, 영상(10)은 선박에 설치된 카메라에 의해 촬영된 영상이다. 즉, 해상이나 야외 영상은 안개나 연기, 황사 등으로 대기 중에 미세한 입자들로 인해 빛의 산란 현상이 발생한다.
빛의 산란이란 빛이 공기 중의 입자들과 충돌하여 진행방향이 바뀌는 것이다. 이러한 다양한 날씨에도 영상 처리 기술 적용을 위해 깨끗한 영상을 얻기 위해 연구가 진행되고 있다. 특히, 잘 알려진 DCP(Dark Channel Prior) 알고리즘은 해무가 없는 영상에서는 일정 구역 내에 항상 0에 가까운 밝기를 가지는 화소 값이 존재한다는 관측에 기반한다. 해무가 짙은 영역일수록 일정 구역 내에 존재하는 가장 어두운 화소가 밝아진다는 성질을 이용하여 전달량을 구하고 이를 통해 영상을 복원한다.
해무가 낀 영상의 모델링은 나르심한(Narsimhan) 등이 처음 제안한 알고리즘에서 사용되는 아래의 수학식 1을 사용한다.
[수학식 1]
Figure 112015097470131-pat00005
여기서 I(x)는 입력된 영상, A는 해무의 밝기 정도를 나타내며, t(x)는 전달량으로 빛이 산란되지 않고 카메라까지 도달된 정도를 나타낸다. J(x)는 해무가 제거된 영상의 밝기 값이다. x는 화소의 위치를 나타낸다.
따라서 해무 제거 영상처리는 입력 영상 I(x)로부터 A, t(x), 그리고 J(x)를 구하는 것이다. 도 3에서 해무가 포함되어 있는 영상과 해무를 제거한 영상의 예를 보이고 있다.
다음으로, 본 발명의 일실시예에 따른 연안항해 선박의 영상기반 해무 제거 방법을 도 4 내지 도 8을 참조하여 설명한다.
도 4에서 보는 바와 같이, 본 발명에 따른 연안항해 선박의 영상기반 해무 제거 방법은 입력영상에서 다크 채널을 검색하는 단계(S10), 다크 채널에서 최대 밝기 채널을 검색하는 단계(S20), 입력영상을 정규화하고 정규화된 영상에서 다크 채널을 재검색하는 단계(S30), 재검색된 다크 채널을 이용하여 전달량을 계산하는 단계(S40), 양방향 필터를 이용하여 전달량을 정제하는 단계(S50), 및, 전달량을 이용하여 해무를 제거한 영상으로 복원하는 단계(S60)로 구성된다.
이하에서, 각 단계들을 보다 구체적으로 설명한다.
먼저, 입력영상에서 다크 채널(Dark Channel)을 산출한다(S10).
도 5에서 보는 바와 같이, 입력영상을 색상(RGB) 채널로 분리하고, 각 색상 채널에서 최소 밝기 채널을 산출하고, 최소 채널을 이용하여 다크 채널(Dark Channel)을 검색한다.
다크 채널(Dark Channel)이란 영상에서 일정한 패치사이즈 안에서 한 화소의 RGB값 중에 가장 작은 값의 집합으로 정의한다. RGB 화소 값 중 가장 작은 값을 구한 후 이 값을 그 영역의 대표 값으로 지정하여 최소(Min) 채널을 구한다. 그리고 이 최소(Min) 채널을 이용하여 9×9 마스크(Mask)를 통해 영역 내의 모든 화소 값을 대표 값으로 대체하여 얻은 채널이 다크 채널(Dark Channel)이다.
또한 해무가 없는 깨끗한 영상에서는 각 화소의 RGB값 중에 한 값이 0에 가까운 값이 되는 것을 볼 수 있다. 이를 식으로 표현하면 다음의 수학식 2와 같다.
[수학식 2]
Figure 112015097470131-pat00006
여기서, c∈{r,g,b}는 색상 채널 인덱스(color channel index)를 의미하고, Jc는 영상의 각 채널을 의미하고, Ω(x)는 x점을 중심으로 한 일정 구간을 나타낸다.
안개가 없는 일반적인 영상의 다크 채널(Dark Channel) 0에 가까우므로 다음과 같이 표현된다.
[수학식 3]
Figure 112015097470131-pat00007
다음으로, 다크 채널을 이용하여 대기산란광을 추측하여 산출한다(S20).
해무 값 A는 해무영상의 다크 채널(Dark Channel) 중에서 가장 밝은 곳으로부터 10% 밝기 이내의 범위를 가지는 픽셀의 값을 선택한다. 바람직하게는, 가장 밝은 곳의 범위를 0.1% 이내로 정한다.
가장 밝은 곳의 범위를 10% 이내 또는 0.1% 이내로 정하고 그 중에서 가장 밝은 값을 가지는 픽셀(화소)을 대기산란광(A)의 값으로 정한다. 대기산란광(A)는 다크 채널 중 10%의 밝기를 가지는 픽셀 중 가장 밝은 픽셀의 값을 의미한다. 즉, 다크채널 중에서 가장 밝은 곳으로부터 10% 범위내인 픽셀 중에서 가장 밝은 픽셀의 값을 대기산란광으로 설정한다. 구한 다크채널의 값들 중에서 가장 밝은 곳(값)으로부터 10% 이내의 범위의 다크 채널 값을 갖는 다크채널들의 위치 중에서, 해당 위치(x)의 픽셀의 밝기가 가장 밝은 값을 가지는 픽셀을 대기산란광의 값으로 정한다.
다음으로, 각 RGB 채널 또는 컬러 채널의 값들을 대기산란광 값으로 나누어서 영상을 정규화하고, 정규화된 영상에서 다크 채널(Dark Channel)을 다시 찾는다(S30). 이 단계의 과정을 도 6에서 보이고 있다.
다음으로, 재검색된 다크 채널을 이용하여 전달량을 추측한다(S40).
수학식 1의 양변에 최소(min) 연산자를 취해주고, A값으로 나누어 주면 아래와 같은 식을 얻는다.
[수학식 4]
Figure 112015097470131-pat00008
수학식 2와 3에 의해 수학식 4의 우측 항 중 J가 들어간 항을 0으로 가정할 수 있으므로 결과적으로 다음의 최종 수학식 5를 얻을 수 있다.
[수학식 5]
Figure 112015097470131-pat00009
하지만 위의 수학식 5를 그대로 적용하여 해무를 모두 제거할 경우 원근감이 모두 사라져 깊이 맵이 없는 비정상적인 영상처럼 보일 것이다.
이 현상을 막기 위해 수학식 5에 다음과 같이 상수 파라메터인 ω(0<ω<1)를 첨가하여 아주 작은 양의 해무를 남겼다.
[수학식 6]
Figure 112015097470131-pat00010
바람직하게는, ω의 값은 0.95로 설정한다. 전달량 추측과정을 도 7에서 보이고 있다. Ac 는 각 RGB값을 나타내는 벡터이다. 즉, Ac 는 대기산란광으로 선택된 픽셀의 RGB 벡터이다.
다음으로, 양방향 필터를 이용하여 전달량을 정제한다(S50).
전달량 정제하기 위하여, 양방향필터를 사용한다. 양방향 필터는 메모리를 적게 사용하지만 필터를 한회 수행한 화면은 양방향 필터를 수행하지 않은 화면에 비해 후광효과가 사라지긴 하지만 일정량 남아있다. 이러한 후광 효과를 눈에 보이지 않게 제거 하려면 반복적으로 양방향 필터를 수행해야 한다. 이와 같이, 양방향 필터를 반복적으로 수행하면, 경계선이 점점 선명해 지면서 블록효과로 발생하는 후광효과가 사라지게 된다.
하지만 반복 횟수가 8번이 넘어가게 되면 얇은 물체도 침식되는 현상이 나타남을 볼 수 있다. 침식 되어진 전달량은 해무 제거 연산을 거치게 되면 색바램 현상이 나타나기도 한다. 따라서 바람직하게는, 반복 횟수를 3번으로 하여 침식되는 현상을 작게 나타나게 하였다.
필터의 크기는 패치 크기를 키울수록 전달량의 윤곽이 날카로워지고 실행시간이 커지게 된다. 따라서, 바람직하게는, 15×15의 양방향 필터의 패치를 사용한다. 전달량 정제과정은 도 8과 같다.
다음으로, 전달량을 이용하여 해무를 제거한 영상을 복원한다(S60).
수학식 2와 3을 정리하면 최종 해무가 제거된 다음의 수학식을 얻는다.
[수학식 7]
Figure 112015097470131-pat00011
보통 전달량 t(x)가 0에 가까운 값을 가지게 된다. t(x)가 0에 가까우면 (I(x)-A) 값이 두 값의 차이에 따라 ±∞값으로 포화 되어 해무가 제거된 영상에서 잡음처럼 보일 수 있게 된다. 이를 막기 위해 적당한 값의 최소값이 t0이다. 보통 0.05에서 0.1 사이의 값으로 설정하면 적절하게 해무가 제거된 영상을 얻을 수 있다.
다음으로, 본 발명의 일실시예에 따른 연안항해 선박의 영상기반 해무 제거 방법을 수행하는 장치의 구성에 대하여 도 9 내지 도 19를 참조하여 설명한다.
도 9에서 보는 바와 같이, 본 발명에 따른 해무 제거 방법은 호스트 프로세서(CPU) 및, 범용 그래픽 프로세서(GPGPU, General Purpose computing on Graphic Processing Units)로 실시된다. 바람직하게는, 그래픽 프로세서에 의해 처리되는 기능을 프로그래밍하는 프로그래밍 도구인 CUDA에 의해 구현된다.
GPU 내에는 하나의 DRAM(Global Memory, 전역 메모리)과 여러 개의 SM(Streaming Multiprocessor) 및 Load/Store 유닛 등을 가지고 있다. 하나의 SM은 여러 개의 SP(Streaming Processor)와 캐시메모리 등으로 이루어져 있으며, SP에서는 하나의 데이터의 연산을 처리할 수 있는 능력을 가지게 된다.
GPU내의 DRAM은 저장할 수 있는 데이터량은 크지만 여러 SM에서 동시 접근에 대한 병목 현상 및 접근에 대한 대기지연 등의 이유로 접근 속도는 느리다. 하지만 캐시 형태로 되어 있는 상수메모리(Constant Memory)나 SM 내부의 공유 메모리(Shared Memory, Parallel Data Cache)는 저장할 수 있는 데이터 량은 적지만 접근 속도가 빠르다. 따라서 일반적으로 많이 사용되는 파라미터는 상수 메모리나 공유 메모리를 사용하는 것이 유리하다.
병렬 프로그래밍을 위해, 앞에서 설명한 GPU내의 연산 단위인 SP 또는 SM을 할당하는 단위로 쓰레드(thread)와 블록(block), 및 그리드(grid)로 나눈다. 이때, 바람직하게는, GPU의 커널 코드의 변수를 설정할 수 있는 CUDA 등과 같은 프로그래밍 도구를 이용할 수 있다.
즉, CUDA는 쓰레드(thread)와 블록(block), 및 그리드(grid) 단위로 그래픽 프로세서(GPU) 내의 연산 단위를 구분한다. 도 10와 같이 하나의 블록은 3차원의 쓰레드로 구성할 수 있고, 하나의 그리드는 3차원의 블록으로 구성할 수 있다.
각 쓰레드는 GPU 내의 SP에 맵핑되며 연산하는 최소 단위로 하나의 블록 내의 최대 쓰레드의 개수는 GPU의 성능에 따라 결정된다. 또한 블록 내에 구성된 쓰레드는 인덱스를 가지고, 도 11과 같이 워프(warp) 단위로 동시에 실행된다. 따라서 모든 쓰레드를 효율적으로 동작시키기 위해서는 블록 당 쓰레드의 개수를 워프의 배수로 하는 것이 유리하다. 또한 예외처리가 필요한 부분에서는 워프 단위 내에서는 같은 조건으로 예외 처리하는 것이 동시 실행의 병렬성을 유지할 수 있다.
각 블록은 블록 내의 쓰레드에 따라서 하나 혹은 그 이상의 블록이 하나의 SM(Streaming Multi-Processor)으로 맵핑되어 동작한다. 블록 내의 모든 쓰레드 내에 할당된 레지스터의 개수가 SM내의 총 레지스터의 개수 이하로 될 경우 최대의 블록으로 할당할 수 있다. 또한 블록도 쓰레드와 같이 인덱스를 가지게 되며 모든 SM에 할당된 블록의 개수가 그리드당 총 블록의 수보다 적을 경우 모든 할당된 블록의 동작이 끝난 뒤 남은 블록들이 동작이 이루어진다.
또한, GPGPU의 동작은 SIMT(Single Instruction Multiple Thread)로 수행된다. 즉, 하나의 명령어로 여러 쓰레드를 동작하는 형태이다. GPU내의 하나의 SP(Streaming Processor, 실제 연산하는 H/W)는 4개의 쓰레드를 하나의 명령어(Instruction)로 수행한다. 하나의 SM(Streaming Multi-Processor)내의 모든 SP는 하나의 명령어를 동시에 처리하는데 이를 워프(Warp)라 하고 이 단위로 조건에 대하여 처리할 경우 GPGPU의 최대 성능을 낼 수 있다.
워프 단위가 2일 때, 도 13 및 도 14의 표들은 각각 도 12(a)와 (b)의 코드의 수행동작을 나타내었다. 따라서 워프 단위 조건문을 수행하지 못할 경우 호스트(CPU) 상에서 처리하는 것이 유리하다.
다음 수학식 8은 다크 채널(Dark Channel) 추출을 위한 식이다.
[수학식 8]
Figure 112015097470131-pat00012
여기서, Jdark(x)는 x 좌표의 다크 채널이고 Jc(x)는 입력 영상이다. 또한, min은 최소값을 추출하는 함수로 매 화소 값마다 조건문이 적용된다. 따라서 다크 채널(Dark Channel)의 추출 함수는 호스트 상에서 하는 것이 유리하다.
따라서, 도 15의 해무 제거 방법에서 조건문이 없는 전달량 정제의 양방향(Bi-lateral) 필터링만 GPGPU를 이용하여 수행한다.
다음 수학식 9는 양방향(Bi-lateral) 필터링의 식이다.
[수학식 9]
Figure 112015097470131-pat00013
여기서, If(x)는 x좌표의 필터링 된 밝기이고 fr(∥I(xi)-I(x)∥)는 가우시안(Gaussian) 함수로 xi와 x좌표의 밝기에 의한 커널이고, gs(∥I(xi)-I(x)∥)는 좌표에 의한 커널이다.
또한, Wp는 가중치 함수로 수학식 10으로 나타낼 수 있다.
[수학식 10]
Figure 112015097470131-pat00014
수학식 9의 양방향(Bi-lateral) 필터링은 조건문 없는 컨벌루션의 형태이므로 GPGPU를 이용한 병렬 프로그램을 수행 시 상당한 성능 향상을 얻을 수 있다.
다음으로, 호스트 프로세서에서 수행되는 방법에 대한 최적화에 대하여 설명한다.
시스템을 구성할 때 입력 영상(카메라로부터 입력)의 크기가 고정되어 있다면 매 프레임마다 메모리 할당(초기화 과정)을 수행하는 것은 필요 없는 과정이다. 따라서 이 과정은 시스템이 처음 시작될 때 한 번의 초기화 과정을 통하여 모든 메모리를 할당하고 시스템이 종료되는 시점에서 한 번의 해제를 하는 것이 시스템의 성능 저하를 줄일 수 있다.
또한, 함수에 따라 1차원(1D) 배열 혹은 2차원(2D) 배열로 처리하는 것이 유리할 경우가 있는데, 이를 위해서 1D 배열(혹은 2D배열)로 처리한 결과를 다음 함수를 위해 2D 배열(혹은 1D 배열)로 변형을 위해 변환을 위하여 메모리 복사를 할 경우 성능의 저하를 발생 시킨다.
도 16(a)는 1차원(1D) 배열의 메모리 할당한 경우 x,y 좌표에 해당하는 데이터를 접근할 때를 나타내었고, (b)는 1D배열을 2D 배열로 맵핑 후에 x,y 좌표에 해당하는 데이터를 접근할 때를 나타내었다. 2D 배열로 접근 할 때 2번의 메모리 접근이 필요하지만 같은 메모리에 접근 한다. 1D 배열에서 2D 배열로 그리고 다시 1D 배열로 처리해야 할 부분이 생길 경우 메모리 복사를 이용하면 총 4번의 메모리 접근이 필요하지만 주소 맵핑을 이용하면 2번의 메모리 접근으로 처리가 가능하다.
GPU에서 연산 처리를 할 경우 1차원 배열을 이용하여 처리하도록 구성된다. 이때 호스트 프로세서(CPU) 상에서 이전 연산들을 2차원 배열로 처리를 할 경우 이를 1차원 배열로 변환을 하기 위해 복사(Copy)를 하여야 한다. 이때 처음부터 1차원 배열을 생성하고 2차원 맵핑 방법을 이용하여 이전 연산을 처리하게 된다.
그래픽 프로세서를 이용하는 알고리즘, 즉, 전달량 연산 내에 양방향 필터에서 1차원을 사용하고, 나머지에서 2차원을 사용한다.
다음으로, 고정된 메모리(Pined Memory) 할당에 대하여 설명한다.
일반적인 메모리 할당을 했을 때 영상과 같은 큰 메모리를 할당할 경우 가상 메모리 기술에 의하여 보조 기억장치(HDD)에 도움을 받아 해결을 한다. 이는 컴퓨터 혹은 운영체제에 의해서 제어되는데 현재 사용하는 메모리의 데이터를 DRAM에 올리고 사용하지 않는 메모리의 데이터를 보조 기억장치로 가상으로 큰 메모리 공간을 페이지 단위로 분할하여 제공한다. 현재 사용하지 않는 데이터의 물리적 주소는 보조 기억장치로 이동하는데 이는 GPGPU를 이용한 병렬 프로그래밍을 수행할 경우 두 번의 메모리 복사를 수행한다.
i) 페이징 단위 메모리 복사(HDD에서 DRAM)
ii) 병렬처리 할 데이터의 메모리 복사(DRAM에서 GDDR)
이러한 제약을 해결하기 위해 CUDA API의 고정된 메모리(Pined Memory)를 이용하여 성능을 향상시킬 수 있다.
일반적인 메모리 할당(일정 수준 이상 크기)을 할 경우 물리적 메모리 주소는 보조기억장치(하드디스크,HDD)에 할당이 되며, 접근을 할 때는 HDD에서 해당 데이터가 주기억장치(DRAM)으로 복사하여 접근을 한다. 고정된 메모리(Pined Memory)는 이를 방지하고 DRAM에 그대로 유지하도록 메모리 할당하는 방법이다. 고정된 메모리(Pined Memory)는 호스트 프로세서의 메모리, 즉, DRAM로 구성된다.
GDDR은 GPU에서 사용하는 메모리로서, DDR-DRAM이다. 글로벌 메모리는 CUDA(GPU 프로그래밍을 위한 툴)에서 사용하는 용어로 GDDR(물리적) 내에 할당되는 메모리이다.
고정된 메모리는 초기화 과정, 즉, 위 모든 단계를 하기전에 메모리를 할당하고, 이 메모리를 각 단계에서 공유하여 사용한다.
다음으로, 디바이스(또는 범용 GPU)의 병렬 프로그램에서의 최적화(Optimization)에 대하여 설명한다.
공유 메모리(Shared Memory)에 대하여 설명한다.
앞서 도 9에서는 호스트 프로세서 및, 범용 GPU의 각 메모리별 물리적 위치를 나타내었다. 글로벌 메모리는 호스트(CPU)로부터 병렬 처리할 데이터를 저장하는 메모리로 그래픽 카드 내의 오프칩 형태의 DRAM으로 큰 메모리 공간을 가지고 있다. 영상 데이터 같은 큰 데이터를 위한 메모리 공간으로 메모리 복사할 때는 128 바이트(Byte) 형태의 블록 형태로 전송을 수행하고, GPU 내의 모든 쓰레드에서 접근이 가능하다.
반면 공유 메모리(Shared Memory)는 GPGPU 온칩 형태의 캐시 메모리에 할당이 되며 하나의 블록내의 쓰레드에서만 서로 공유하며 접근이 가능하다. 공유 메모리는 캐시 메모리 형태로 되어 있기 때문에 DRAM의 글로벌 메모리에 비해 빠른 접근이 가능하나 적은 량의 데이터만 저장할 수 있다(약 16KB). 따라서 공유 메모리는 자주 사용되는 공통의 파라미터를 저장하여 사용하는 것이 유리하다.
GPU로 수행되는 양방향 필터의 밝기에 의한 커널 fr(∥I(xi)-I(x)∥)는 입력 영상에 따라 변하는 함수이므로 글로벌 메모리로 접근하여 계산을 하여야 하지만 좌표에 의한 커널인 gs(∥I(xi)-I(x)∥)의 xi와 x는 정수형태의 데이터 이므로 최대 커널의 크기에 따라 LUT(Look-up table) 형태로 공유메모리를 이용할 수 있다.
다음으로, 디바이스(범용 GPU)의 비동기 수행(Asynchronous Operation)에 대하여 설명한다.
다음은 GPGPU를 이용한 병렬처리를 할 때의 순서이다. 아래 ⅱ)과정은 디바이스가 수행되는 시간으로 호스트에서는 디바이스의 처리가 끝날 때까지 대기 상태를 유지하게 된다. 도 17은 아래 과정을 수행중일 때의 타이밍을 나타내었다.
ⅰ) 호스트(CPU)에 메모리(DRAM) 병렬 처리할 데이터를 디바이스(GPU)의 메모리(GDDR)로 데이터 전송
ⅱ) 디바이스에서 글로벌 메모리(GDDR)의 메모리를 이용한 병렬 처리
ⅲ) 디바이스의 메모리에서 처리된 데이터를 호스트 메모리로 전송
CUDA API에서는 비동기 수행을 지원하는데 스트림(Stream)을 통하여 ⅰ)~ⅲ)과정을 비동기로 수행하고, 호스트는 디바이스의 동작과는 독립적인 동작을 수행할 수 있다. 독립적인 동작이 종료된 후에 스트림 동기화(Synchronous Stream)을 통하여 디바이스에서 수행된 결과를 획득 할 수 있다. 도 18은 비동기 동작 수행을 프레임(Frame) 별로 수행하였을 때의 타이밍도를 나타내었다.
비동기 스트림은 GPU와 CPU(Host) 연산에서 서로 비동기화 하여 사용한다. 즉, CPU연산(양방향 필터링을 제외한 단계)에서 처리된 결과를 이용해서 GPU연산(양방향 필터링)을 수행하는 동안 다음 프레임에 대하여 CPU연산을 수행한다.
다음으로, 본 발명의 효과를 실험을 통해 설명한다.
실험에 사용된 PC는 Intel i7 CPU와 16GB의 호스트 메모리의 PC를 사용하였고 GPGPU는 NVidia의 GTX680을 이용하여 구현하였다. 도 19는 실험에 사용한 GPGPU의 특성을 나타내었다. GTX 680은 계산 능력은 3.0으로 Fermi 구조이고 코어 클럭은 1.6GHz에 메모리의 밴드폭은 256bit이고 글로벌 메모리는 2GB이다. 또한 공유 메모리의 크기는 48KB이고 워프 크기는 32이다.
도 20의 표는 도 21의 실험 영상을 이용하여 각 단계별 평균 계산시간을 나타내었다. 다크 채널(Dark Channel)을 찾기 위한 윈도우 크기는 9x9이고, Bi-Lateral 필터를 위한 커널의 크기는 15x15로 하였다. 반복정제를 위한 반복수는 3번으로 제한하였다.
호스트의 메모리 공유 및 고정 메모리 사용시 약 5배의 성능 향상을 보였고, GPU를 이용한 병렬 처리를 하였을 때에는 약 250배의 성능 향상을 보였다. 또한, 비동기적 수행을 통한 파이프라인화 하였을 때 약 730배의 성능 향상을 보였다.
실험에 사용한 실험 영상을 도 21에 나타내었고 해상도는 Full HD(1,920x1,080)의 가로, 세로 각각 1/4씩 다운 샘플링하여 480x270의 영상을 이용하여 실험하였다.
도 22에서는 구현한 알고리즘의 상품화를 위해 제작한 해무제거 프로그램 전용 GUI(Graphic User Interface)를 보이고 있다. 도 22에서 보이고 있는 GUI는 OpenCV내의 카메라영상 획득 라이브러리를 이용하여 카메라로부터 실시간 영상을 입력받고 구현한 C/C++ 프로그램을 DLL(Dynamic Linked Library)를 생성하여 National Instrument사의 LabVIEW를 통하여 구현된다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 영상 20 : 컴퓨터 단말
30 : 프로그램 시스템

Claims (14)

  1. 호스트 프로세서와 병렬처리가 가능한 그래픽 프로세서로 구성된 시스템에 의하여 수행되어, 입력영상에서 안개를 제거하는, 카메라 영상기반 안개 제거 방법에 있어서,
    (a) 상기 입력영상에서 다크 채널을 추출하는 단계;
    (b) 추출한 다크 채널 중에서 가장 밝은 곳에 비해 밝기가 소정의 범위 이내를 가지는 픽셀의 값을 대기산란광으로 설정하는 단계;
    (c) 상기 입력영상의 각 컬러 채널의 값들을 상기 대기산란광 값으로 나누어서 영상을 정규화하고, 정규화된 영상에서 다크 채널을 재추출하는 단계;
    (d) 사전에 정해진 상수 값에서 재추출된 다크채널의 값을 차감하여 전달량을 구하되, 상기 전달량에 사전에 정해진 가중치를 곱하여 차감하는 단계;
    (e) 양방향 필터를 적용하여 전달량을 정제하는 단계; 및,
    (f) 정제된 전달량을 이용하여 안개를 제거하여 상기 입력영상을 복원하는 단계를 포함하고,
    상기 (d)단계에서, 상기 가중치는 0 보다 크고 1 보다 작은 범위의 수로 정하고,
    상기 전달량 t(x)은 다음 수식 1에 의해 구하고,
    상기 (f)단계에서, 다음 수식 2으로 안개가 제거된 영상 J(x)를 구하고,
    상기 (e)단계에서, 상기 양방향 필터에 의한 필터링은 다음 수식 3에 의해 계산되고,
    상기 그래픽 프로세서에 의해 양방향 필터의 연산이 수행되되, 양방향 필터의 밝기에 의한 커널 fr(∥I(xi)-I(x)∥)는 글로벌 메모리로 접근하여 계산되고, 좌표에 의한 커널인 gs(∥I(xi)-I(x)∥)는 최대 커널의 크기에 따라 LUT(Look-up table) 형태로 공유메모리를 이용하여 연산되는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
    [수식 1]
    Figure 112016091105197-pat00041

    단, x는 영상의 위치를 나타내고, w는 가중치이고, c는 색상 채널 인덱스이고, I는 입력영상을 나타내고, A는 대기산란광을 나타내고, Ω(x)는 x점을 중심으로 한 일정 구간을 나타냄.
    [수식 2]
    Figure 112016091105197-pat00042

    단, t0는 사전에 정해지는 가중치 최소값임.
    [수식 3]
    Figure 112016091105197-pat00043

    Figure 112016091105197-pat00044

    단, If(x)는 x좌표의 필터링 된 밝기이고 fr(∥I(xi)-I(x)∥)는 가우시안(Gaussian) 함수로 xi와 x좌표의 밝기에 의한 커널이고, gs(∥I(xi)-I(x)∥)는 좌표에 의한 커널임.
  2. 제1항에 있어서,
    상기 (b)단계에서, 상기 가장 밝은 곳의 범위를 0.1% 이내로 정하는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 가중치는 0.95인 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 (e)단계에서, 양방향 필터를 반복적으로 적용하여 상기 전달량을 정제하는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  7. 제6항에 있어서,
    상기 (e)단계에서, 반복횟수를 3회로 하는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 가중치 최소값을 0.05에서 0.1 사이의 값으로 설정하는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  10. 삭제
  11. 제1항에 있어서,
    상기 호스트 프로세서에서 다크채널을 추출하는 연산이 수행되고, 상기 그래픽 프로세서에서 전달량을 정제하는 연산이 수행되는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  12. 삭제
  13. 제1항에 있어서,
    상기 호스트 프로세서와 상기 그래픽 프로세서는 서로 비동기화하여 독립적으로 작업을 수행하고, 독립적인 동작이 종료된 후에 스트림 동기화를 통하여 상기 그래픽 프로세서에서 수행한 결과를 획득하되, 상기 호스트 프로세서에서 처리된 결과를 이용하여, 상기 그래픽 프로세서에서 양방향 필터링의 연산을 수행하고, 상기 그래픽 프로세서에서 양방향 필터링의 연산을 수행하는 동안, 상기 호스트 프로세서에서 상기 입력영상의 다음 프레임에 대하여 연산을 수행하는 것을 특징으로 하는 카메라 영상기반 안개 제거 방법.
  14. 제1항, 제2항, 제4항, 제6항, 제7항, 제9항, 제11항, 및, 제13항 중 어느 한 항의 카메라 영상기반 안개 제거 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020150141360A 2015-10-08 2015-10-08 카메라 영상기반 안개 제거 방법 KR101705536B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150141360A KR101705536B1 (ko) 2015-10-08 2015-10-08 카메라 영상기반 안개 제거 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150141360A KR101705536B1 (ko) 2015-10-08 2015-10-08 카메라 영상기반 안개 제거 방법

Publications (1)

Publication Number Publication Date
KR101705536B1 true KR101705536B1 (ko) 2017-02-10

Family

ID=58121360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150141360A KR101705536B1 (ko) 2015-10-08 2015-10-08 카메라 영상기반 안개 제거 방법

Country Status (1)

Country Link
KR (1) KR101705536B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454318A (zh) * 2017-07-27 2017-12-08 广东欧珀移动通信有限公司 图像处理方法、装置、移动终端及计算机可读存储介质
CN107454317A (zh) * 2017-07-27 2017-12-08 广东欧珀移动通信有限公司 图像处理方法、装置、计算机可读存储介质和计算机设备
CN107833195A (zh) * 2017-11-24 2018-03-23 北京空间机电研究所 在轨海洋暗弱目标光学图像增强方法
KR101887043B1 (ko) 2017-05-26 2018-08-09 목포해양대학교 산학협력단 그래픽 프로세서를 이용한 병렬연산 기반 연무 제거 고속화 방법
KR101917094B1 (ko) 2017-08-29 2018-11-09 전남대학교산학협력단 매핑테이블을 이용한 고속 스모그/저조도 영상 개선 방법 및 장치
CN111986119A (zh) * 2020-09-01 2020-11-24 安徽萤瞳科技有限公司 暗通道图像亮度值干扰滤除方法及海雾图像海雾去除方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013058202A (ja) * 2011-09-08 2013-03-28 Fujitsu Ltd 画像の霧除去方法及びシステム
KR101279374B1 (ko) 2012-11-27 2013-07-04 주식회사 카이넥스엠 카메라의 영상 개선을 위한 안개제거 영상 보정 장치 및 방법
KR20140017776A (ko) * 2012-08-01 2014-02-12 엠텍비젼 주식회사 영상 처리 장치 및 영상 내의 안개 제거 방법
KR20140042816A (ko) * 2011-08-03 2014-04-07 인디안 인스티튜트 오브 테크놀로지, 카라그푸르 화상 및 동영상에서 안개를 제거하는 방법 및 시스템
KR20150002187A (ko) * 2013-06-28 2015-01-07 주식회사 시큐인포 Gaussian filtering 기반 영상의 안개제거 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140042816A (ko) * 2011-08-03 2014-04-07 인디안 인스티튜트 오브 테크놀로지, 카라그푸르 화상 및 동영상에서 안개를 제거하는 방법 및 시스템
JP2013058202A (ja) * 2011-09-08 2013-03-28 Fujitsu Ltd 画像の霧除去方法及びシステム
KR20140017776A (ko) * 2012-08-01 2014-02-12 엠텍비젼 주식회사 영상 처리 장치 및 영상 내의 안개 제거 방법
KR101361644B1 (ko) 2012-08-01 2014-02-13 엠텍비젼 주식회사 영상 처리 장치 및 영상 내의 안개 제거 방법
KR101279374B1 (ko) 2012-11-27 2013-07-04 주식회사 카이넥스엠 카메라의 영상 개선을 위한 안개제거 영상 보정 장치 및 방법
KR20150002187A (ko) * 2013-06-28 2015-01-07 주식회사 시큐인포 Gaussian filtering 기반 영상의 안개제거 시스템 및 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887043B1 (ko) 2017-05-26 2018-08-09 목포해양대학교 산학협력단 그래픽 프로세서를 이용한 병렬연산 기반 연무 제거 고속화 방법
CN107454318A (zh) * 2017-07-27 2017-12-08 广东欧珀移动通信有限公司 图像处理方法、装置、移动终端及计算机可读存储介质
CN107454317A (zh) * 2017-07-27 2017-12-08 广东欧珀移动通信有限公司 图像处理方法、装置、计算机可读存储介质和计算机设备
CN107454318B (zh) * 2017-07-27 2020-01-10 Oppo广东移动通信有限公司 图像处理方法、装置、移动终端及计算机可读存储介质
KR101917094B1 (ko) 2017-08-29 2018-11-09 전남대학교산학협력단 매핑테이블을 이용한 고속 스모그/저조도 영상 개선 방법 및 장치
CN107833195A (zh) * 2017-11-24 2018-03-23 北京空间机电研究所 在轨海洋暗弱目标光学图像增强方法
CN107833195B (zh) * 2017-11-24 2020-10-23 北京空间机电研究所 在轨海洋暗弱目标光学图像增强方法
CN111986119A (zh) * 2020-09-01 2020-11-24 安徽萤瞳科技有限公司 暗通道图像亮度值干扰滤除方法及海雾图像海雾去除方法
CN111986119B (zh) * 2020-09-01 2023-11-28 安徽萤瞳科技有限公司 暗通道图像亮度值干扰滤除方法及海雾图像海雾去除方法

Similar Documents

Publication Publication Date Title
KR101705536B1 (ko) 카메라 영상기반 안개 제거 방법
US9361670B2 (en) Method and system for image haze removal based on hybrid dark channel prior
CN106384344B (zh) 一种光学遥感图像海面舰船目标检测与提取方法
Pei et al. Removing rain and snow in a single image using saturation and visibility features
US9747527B2 (en) Performing object detection operations via random forest classifier
US9651661B2 (en) Methods and systems for local principal axis rotation angle transform
CN110400274B (zh) 一种车载红外行人检测用红外图像增强方法
CN110866926B (zh) 一种红外遥感图像快速精细海陆分割方法
Kartal et al. Ship detection from optical satellite images with deep learning
CN113255537A (zh) 一种用于航行船舶识别的图像增强去噪方法
US9196050B2 (en) Image-based bridge identification and boundary detection
CN107273809A (zh) 一种用于动力浮标的水下渔网实时自主识别的方法
KR101887043B1 (ko) 그래픽 프로세서를 이용한 병렬연산 기반 연무 제거 고속화 방법
Aponso et al. Review on state of art image enhancement and restoration methods for a vision based driver assistance system with De-weathering
CN111238478A (zh) 一种基于三维视景的港水域航标助航系统及方法
CN116310892A (zh) 一种基于改进yolov4目标检测的海上救援方法
CN116597164A (zh) 一种基于计算机视觉的港口船舶水线检测方法
CN103310418A (zh) 图像处理方法和装置
CN105719258A (zh) 最小十字窗中值与均值迭代滤波的图像噪声滤除方法
CN112184572B (zh) 一种针对动态视觉传感器事件流的新型去雨方法及系统
Klilou et al. Real-time parallel implementation of road traffic radar video processing algorithms on a parallel architecture based on DSP and ARM processors
CN110472472B (zh) 基于sar遥感图像的机场检测方法与装置
CN109583319B (zh) 一种基于海面红外遥感图像的舰船检测方法
Hu et al. Maritime video defogging based on spatial-temporal information fusion and an improved dark channel prior
CN111784736A (zh) 基于单像元并行计算的运动小目标实时检测系统及方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant