KR102199627B1 - 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 - Google Patents
심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 Download PDFInfo
- Publication number
- KR102199627B1 KR102199627B1 KR1020200059221A KR20200059221A KR102199627B1 KR 102199627 B1 KR102199627 B1 KR 102199627B1 KR 1020200059221 A KR1020200059221 A KR 1020200059221A KR 20200059221 A KR20200059221 A KR 20200059221A KR 102199627 B1 KR102199627 B1 KR 102199627B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- area
- deep neural
- neural network
- layer
- Prior art date
Links
Images
Classifications
-
- G06K9/00624—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G06K9/46—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G06N3/0427—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
- G08B21/182—Level alarms, e.g. alarms responsive to variables exceeding a threshold
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
본 발명의 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치는 감시영상을 촬영하기 위한 카메라부와, 상기 촬영된 감시영상에 포함된 객체가 차지하는 영역을 나타내는 영역상자를 특징점 검출을 통해 특정하여 객체영상을 검출하는 전처리부와, 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 심층신경망과, 상기 확률에 따라 상기 객체가 선박인지 여부를 판정하고, 판정 결과, 상기 객체가 선박이면, 상기 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출하고, 산출된 위험도가 임계치 이상이면 충돌 위험을 경고하는 관제부를 포함한다.
Description
본 발명은 접근 선박 인식 기술에 관한 것으로, 보다 상세하게는, 심층신경망(DNN: Deep Neural Networks)을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다.
오늘날까지 해상에서 화재, 침수, 전복 등의 선박 사고가 자주 발생하고 있다. 해양경찰청의 조사에 따르면 2018년도에 해상 조난사고가 선박 3,434척에서 발생하였고 사고 이중 선박 49척은 침몰하여 89명의 임명이 사망 또는 실종되었다. 이러한 사고는 해마다 증가하고 있으며, 사고 발생 원인으로 선박 책임자가 잠을 자거나, 주변 상황을 제대로 살피지 않는 등의 문제가 있으며, 작년 2월에 부산 광안대교에 러시아 화물선이 충돌한 사고가 그 예시이다.
사소한 사고에서 큰 사고로 번질 가능성이 큰 해상에서 선박 책임자의 부주의로 발생하는 선박 사고를 개선시킬 방법으로 많은 연구가 진행되고 있다. 그 중 심층신경망을 이용한 영상 속 선박을 인식하는 연구를 통해 사고를 예방할 수 있지만, 거리가 먼 선박도 인식하기 위해 이미지를 확대하면서 심층신경망 모델의 연산량이 많아 실시간 처리가 불가능하다.
본 발명은 상술한 바와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 해상에서 선박 책임자의 부주의로 발생하는 사고를 방지하기 위해 실시간 처리가 가능하도록 영상처리를 이용하여 영상 속 선박으로 예상되는 객체 영역을 검출하고, 검출된 객체 이미지를 심층신경망에 입력하여 인식하고, 인식된 객체 영역을 분석해 선박 책임자에게 위험을 경고하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공하기 위한 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치는 감시영상을 촬영하기 위한 카메라부와, 상기 촬영된 감시영상에 포함된 객체가 차지하는 영역을 나타내는 영역상자를 특징점 검출을 통해 특정하여 객체영상을 검출하는 전처리부와, 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 심층신경망과, 상기 확률에 따라 상기 객체가 선박인지 여부를 판정하고, 판정 결과, 상기 객체가 선박이면, 상기 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출하고, 산출된 위험도가 임계치 이상이면 충돌 위험을 경고하는 관제부를 포함한다.
상기 전처리부는 상기 감시영상에서 특징점이 검출되면, 해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 한다.
상기 전처리부는 상기 영상에서 특징점이 검출되지 않으면, 상기 감시영상에서 수평선을 검출하고, 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대한 후, 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 한다.
상기 관제부는 상기 객체의 영역상자의 좌표를 통해 객체영상의 넓이를 산출한 후, 상기 감시영상의 넓이 대 상기 객체영상의 넓이의 비율이 기 설정된 임계치 이상이면, 상기 위험도가 임계치 이상인 것으로 판단하는 것을 특징으로 한다.
상기 심층신경망은 객체영상이 입력되는 입력층과, 상기 객체영상 혹은 특징영상에 대해 컨벌루션 연산에 의해 도출되는 적어도 하나의 특징영상을 포함하는 하나 이상의 컨벌루션층과, 컨벌루션 연산을 통해 생성된 특징 영상에 대해 풀링 연산을 통해 도출되는 적어도 하나의 특징 영상을 도출하는 하나 이상의 풀링층과, 특징영상 혹은 이전 계층의 노드값을 입력받아 활성화함수에 의한 연산을 통해 노드값이 산출되는 복수의 연산 노드를 포함하는 하나 이상의 완전연결층과, 상기 완전연결층의 노드값을 입력받아 활성화함수에 의한 연산을 통해 출력값이 산출되는 복수의 출력 노드를 포함하는 출력층을 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치는 복수의 프레임을 포함하는 감시영상을 촬영하기 위한 카메라부와, 상기 복수의 프레임 각각에서 순차로 객체가 차지하는 영역을 나타내는 영역상자를 통해 복수의 객체영상을 검출하는 전처리부와, 상기 복수의 객체 영상 각각에 대응하여 시간 순서에 따라 정렬된 복수의 항해벡터를 생성하고, 상기 복수의 항해벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 소정 시간 후의 상기 객체의 항해 상태를 예측하는 항해예측벡터를 산출하는 심층신경망과, 상기 항해예측벡터로부터 상기 소정 시간 후의 상기 객체의 항해 방향 및 상기 객체가 상기 감시영상에서 차지하는 영역을 나타내는 영역상자를 도출하고, 도출된 항해 방향이 충돌 가능 방향이고, 도출된 영역상자가 상기 감시영상 내의 기 설정된 경고 영역과 적어도 일부가 중첩되면, 충돌 위험을 경고하는 관제부를 포함한다.
상기 심층신경망은 상기 복수의 객체영상 각각의 객체의 항해 방향을 나타내는 복수의 방향벡터를 도출하는 방향식별망과, 상기 도출된 복수의 방향벡터에 상기 복수의 객체영상 각각의 상기 감시영상 상에서의 상기 영역상자의 좌표를 나타내는 영역벡터 및 상기 복수의 객체영상 각각이 생성된 시간을 나타내는 시간벡터를 결합하여 상기 복수의 항해벡터를 생성하는 덧셈기를 포함한다.
상기 심층신경망은 순차로 정렬된 복수의 스테이지로 이루어지며, 이전 스테이지의 상태값과 현 스테이지의 입력값인 항해벡터에 대해 상태 및 입력 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하는 제1 은닉셀그룹과, 이전 스테이지의 상태값에 대해 상태 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하는 제2 은닉셀그룹과, 이전 스테이지의 상태값에 대해 상태 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 출력 가중치를 적용하는 연산을 수행하여 출력값인 항해예측벡터를 산출하는 은닉셀을 포함하는 제3 은닉셀그룹을 포함하는 항해예측망을 더 포함한다.
상기 항해예측망은 시간 순서에 따라 정렬되는 복수의 항해벡터를 입력받는 순환입력층과, 상기 복수의 항해벡터 각각에 대응하여 상기 복수의 스테이지의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 상기 항해예측벡터를 산출하는 복수의 은닉셀을 포함하는 순환은닉층과, 상기 산출된 위험도를 출력하는 순환출력층을 포함한다.
상기 전처리부는 상기 감시영상에서 특징점이 검출되면, 해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하고, 상기 영상에서 특징점이 검출되지 않으면, 상기 감시영상에서 수평선을 검출하고, 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대한 후, 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법은 카메라부가 감시영상을 촬영하는 단계와, 전처리부가 상기 촬영된 감시영상에 포함된 객체가 차지하는 영역을 나타내는 영역상자를 특징점 검출을 통해 특정하여 객체영상을 검출하는 단계와, 심층신경망이 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 단계와, 관제부가 상기 확률에 따라 상기 객체가 선박인지 여부를 판정하는 단계와, 상기 관제부가 상기 판정 결과, 상기 객체가 선박이면, 상기 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출하는 단계와, 상기 관제부가 상기 산출된 위험도가 임계치 이상이면 충돌 위험을 경고하는 단계를 포함한다.
상기 객체영상을 검출하는 단계는 상기 전처리부가 상기 감시영상에서 특징점이 검출되면, 해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출하는 단계와, 상기 전처리부가 상기 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하는 단계와, 상기 전처리부가 상기 특정된 영역박스를 통해 상기 객체영상을 검출하는 단계를 포함한다.
상기 객체영상을 검출하는 단계는 상기 전처리부가 상기 영상에서 특징점이 검출되지 않으면, 상기 감시영상에서 수평선을 검출하는 단계와, 상기 전처리부가 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대하는 단계와, 상기 전처리부가 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출하는 단계와, 상기 전처리부가 상기 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하는 단계와, 상기 전처리부가 상기 특정된 영역박스를 통해 상기 객체영상을 검출하는 단계를 포함한다.
상기 위험도를 산출하는 단계는 상기 관제부가 상기 객체의 영역상자의 좌표를 통해 객체영상의 넓이를 산출하는 단계와, 상기 관제부가 상기 감시영상의 넓이 대 상기 객체영상의 넓이의 비율이 기 설정된 임계치 이상이면, 상기 위험도가 임계치 이상인 것으로 판단하는 단계를 포함한다.
상기 심층신경망이 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 단계는 상기 심층신경망의 입력층이 객체영상을 입력받는 단계와, 상기 심층신경망의 제1 컨벌루션층이 상기 객체영상에 대해 필터를 이용한 컨벌루션 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계와, 상기 심층신경망의 제1 풀링층이 상기 제1 컨벌루션층의 특징영상에 대해 필터를 이용한 풀링 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계와, 상기 심층신경망의 제2 컨벌루션층이 상기 제1 풀링층의 특징영상에 대해 필터를 이용한 컨벌루션 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계와, 상기 심층신경망의 제2 풀링층이 상기 제2 컨벌루션층의 특징영상에 대해 필터를 이용한 풀링 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계와, 상기 심층신경망의 제1 완결연결층의 복수의 연산 노드가 상기 제2 풀링층의 특징영상에 대해 활성화함수에 의한 연산을 통해 노드값을 산출하는 단계와, 상기 심층신경망의 제2 완결연결층의 복수의 연산 노드가 상기 제1 완결연결층의 노드값에 대해 활성화함수에 의한 연산을 통해 노드값을 산출하는 단계와, 상기 심층신경망의 출력층의 복수의 출력 노드가 상기 제2 완전연결층의 노드값에 대해 활성화함수에 의한 연산을 통해 상기 객체영상의 객체가 선박인지 여부에 대한 확률인 출력값을 산출하는 단계를 포함한다.
본 발명의 다른 견지에 따르면, 전술한 바와 같은 본 발명의 실시예에 따른 접근 선박을 인식하기 위한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명에 따르면 영상을 통해 선박 주변의 다른 선박들을 찾아 위험 상황일 경우 선박 책임자에게 알림을 줌으로써, 선박 책임자의 부주의로 발생하는 선박 충돌과 같은 큰 사고로 이어지는 상황 예방할 수 있다. 또한, 높은 컴퓨터 파워와 비용을 요구하는 심층학습 모델을 사용하는 게 아닌 선박 인식에 특화된 영상처리와 심층학습 모델을 이용한 선박 인식 알고리즘으로 설치비용을 절감할 수 있다.
도 1은 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치의 구성을 설명하기 위한 도면이다.
도 2 내지 도 4는 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치의 동작을 설명하기 위한 화면 예이다.
도 5는 본 발명의 제1 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다.
도 6 내지 도 9는 본 발명의 제2 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다.
도 10은 본 발명의 제1 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 객체영상을 검출하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 근거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 실시예에 따른 원거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 제2 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
도 2 내지 도 4는 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치의 동작을 설명하기 위한 화면 예이다.
도 5는 본 발명의 제1 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다.
도 6 내지 도 9는 본 발명의 제2 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다.
도 10은 본 발명의 제1 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 객체영상을 검출하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 근거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 실시예에 따른 원거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 제2 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치의 구성을 설명하기 위한 도면이다. 도 2 내지 도 4는 본 발명의 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치의 동작을 설명하기 위한 화면 예이다.
도 1을 참조하면, 본 발명의 실시예에 따른 접근 선박을 인식하기 위한 장치(10: 이하, '관제장치'로 축약함)는 통신부(11), 입력부(13), 표시부(14), 저장부(15) 및 제어부(16)를 포함한다.
통신부(11)는 예컨대, 휴대폰, 스마트폰, 이동통신단말 등과 같은 관리자의 사용자장치, 선박에 설치된 각 종 경보기, 선박의 항해 및 기타 관리를 위한 관제서버 등과 통신하기 위한 것이다. 통신부(11)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신부(11)는 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함할 수 있다.
카메라부(12)는 영상을 촬영하기 위한 것이다. 특히, 본 발명의 실시예에 따른 카메라부(12)는 수평 및 상하 360도 전방향을 촬영 할 수 있다. 이에 따라, 카메라부(12)는 선박의 360도 둘레를 모두 촬영할 수 있다. 이를 위하여, 카메라부(12)는 복수의 렌즈 및 복수의 이미지 센서를 포함할 수 있다. 이미지 센서는 피사체에서 반사되는 빛을 입력받아 전기신호로 변환하며, CCD(Charged Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등을 기반으로 구현될 수 있다. 카메라부(12)는 하나 이상의 아날로그-디지털 변환기(Analog to Digital Converter)를 더 포함할 수 있으며, 이미지 센서에서 출력되는 전기신호를 디지털 수열로 변환하여 제어부(16)로 출력할 수 있다.
입력부(13)는 관제장치(10)를 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(16에 전달할 수 있다. 입력부(13)는 관제장치(10)를 제어하기 위한 각 종 키들을 포함한다. 입력부(13)는 표시부(14)가 터치스크린으로 이루어진 경우, 각 종 키들의 기능이 표시부(14)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(13)는 생략될 수도 있다.
표시부(14)는 화면 표시를 위한 것으로, 관제장치(10)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 또한, 표시부(14)는 관제장치(10)의 부팅 화면, 대기 화면, 메뉴 화면, 등의 화면을 출력하는 기능을 수행한다. 표시부(14)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(14)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(14)는 터치센서를 포함한다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 터치된 위치를 나타내는 입력 좌표를 포함하는 감지 신호를 발생시켜 제어부(16)로 전송할 수 있다. 특히, 표시부(14)가 터치스크린으로 이루어진 경우, 입력부(13)의 기능의 일부 또는 전부는 표시부(14)를 통해 이루어질 수 있다.
저장부(15)는 관제장치(10)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(15)는 본 발명의 실시예에 따른 객체 인식을 위해 사용되는 각 종 영상 및 이미지 등을 소정 기간 저장할 수 있다. 저장부(15)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(16)는 관제장치(10)의 전반적인 동작 및 관제장치(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 또한, 제어부(16)는 기본적으로, 관제장치(10)의 각 종 기능을 제어하는 역할을 수행한다. 제어부(16)는 중앙처리장치(CPU: Central Processing Unit), 디지털신호처리기(DSP: Digital Signal Processor) 등을 예시할 수 있다. 다음으로, 제어부(16)는 전처리부(100), 심층신경망(200), 학습부(300) 및 관제부(400)를 포함한다.
본 발명은 제1 및 제2 실시예를 포함하며, 제어부(16)는 제1 및 제2 실시예에 따라 해상 객체 거리를 고려하여 접근 선박을 인식할 수 있다.
구체적으로, 도 2를 참조하여 본 발명의 제1 실시예에 대해서 설명하기로 한다. 본 발명의 제1 실시예에 따르면, 제어부(16)의 전처리부(100)는 카메라부(12)를 통해 선박 주변을 촬영하여 소정 넓이(SW×SH)의 감시영상(SV)을 생성한다. 그런 다음, 전처리부(100)는 촬영된 영상에 포함된 객체(obj)가 차지하는 영역을 영역상자(B)를 통해 검출하여 객체영상(OV)을 생성한다. 영역상자(B)는 감시영상(SV)에서 객체(obj)가 차지하는 영역을 사각형으로 나타낸 것이며, 객체(obj)가 모두 포함되는 최소 크기의 사격형을 의미한다. 이러한 영역상자(B)는 중심좌표(x, y), 폭(w) 및 높이(h)를 가진다.
한편, 전처리부(100)가 검출한 객체영상(OV)은 제1 실시예에 따른 심층신경망(200)에 입력한다. 그러면, 심층신경망(200)은 객체영상(OV)의 객체(obj)가 선박인지 여부를 확률로 산출한다. 관제부(400)는 심층신경망(200)이 산출한 확률에 따라 객체(obj)가 선박인지 여부를 판정하고, 판정 결과, 객체(obj)가 선박이면, 그 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출한다.
관제부(400)는 감시영상(SV)에서 객체(obj)의 영역상자(B)의 좌표를 통해 객체영상의 넓이(w×h)를 산출한 후, 감시영상(SV)의 넓이(SW×SH) 대 객체영상(OV)의 넓이(w×h)의 비율을 통해 위험도를 산출할 수 있다. 관제부(400)는 산출된 위험도가 기 설정된 임계치 이상이면, 충돌 위험이 있는 것으로 판단한다. 이에 따라, 관제부(400)는 통신부(11)를 통해 사용자장치, 경보기, 관제서버 등에 충돌 위험을 알리는 경보 메시지를 전송한다.
한편, 도 2, 도 3 및 도 4를 참조하여 본 발명의 제2 실시예에 대해서 설명하기로 한다. 제2 실시예에 따르면, 제어부(16)의 전처리부(100)는 카메라부(12)를 통해 선박 주변을 촬영하여 시간 순서에 따라 정렬된 복수의 감시영상(SVt)을 생성한다. 감시영상(SV)은 동영상으로 촬영되는 복수의 프레임을 포함한다. 특히, 일 실시예에 따르면, 프레임이 I-프레임(Intra-coded frame), P-프레임(Predictive-coded frame) 및 B-프레임(Bidirectional-coded frame)으로 이루어진 경우, 감시영상(SVt)은 I-프레임(Intra-coded frame)만 제공될 수도 있다. 다른 실시예에 따르면, 소정 주기에 따라 특정 프레임을 추출하여 제공할 수도 있다. 예컨대, 감시영상(SVt)은 초당 1개의 프레임을 제공할 수도 있다. 또한, 전처리부(100)는 복수의 감시영상(SVt) 각각에 포함된 객체(obj)가 차지하는 영역을 영역상자(Bt)를 통해 검출하여 시간 순서에 따라 정렬된 복수의 객체영상(OVt)을 생성한다.
한편, 시간 순서에 따라 정렬된 복수의 객체영상(OVt)은 제2 실시예에 따른 심층신경망(200)에 입력된다. 그러면, 심층신경망(200)은 복수의 객체영상(OVt) 각각에 포함된 객체가 선박인지 여부 및 복수의 객체영상(OVt) 각각에 포함된 객체가 선박이면, 복수의 객체영상(OVt) 각각의 객체(obj)의 항해 방향을 나타내는 복수의 방향벡터(Dt)를 도출한다. 도 3에 도시된 바와 같이, 객체영상(OVt)을 통해 현재 선박이 항해하고 있는 방향을 검출할 수 있다. 이에 따라, 검출되는 방향벡터(Dt)의 값은 다음의 표 1과 같다.
방향(도) | 값 | |||||||
0(360) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
45 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
90 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
135 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
180 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
225 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
270 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
315 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
이와 같이, 본 발명의 실시예에서 복수의 방향벡터(Dt)는 8개의 방향을 구분하며, 방향벡터(Dt)의 값은 원핫인코딩(one-hot encoding)에 의한 값을 가지는 것으로 설명하지만, 본 발명이 이에 한정되는 것은 아니며, 이 기술분야의 통상의 지식을 가진자라면, 방향벡터(Dt)의 방향의 수 및 인코딩 방식의 다양한 변화와 수정이 있을 수 있음을 이해할 수 있을 것이다. 또한, 심층신경망(200)은 복수의 방향벡터(Dt) 각각에 대응하는 영역벡터(Bt) 및 시간벡터(Tt)를 더하여 복수의 항해벡터(Xt)를 생성한다. 여기서, 영역벡터(Bt)는 감시영상(SV)에서 복수의 객체영상(OVt) 각각이 차지하는 영역을 나타낸다. 이러한 영역벡터(Bt)는 영역상자(B)의 좌표(x, y, w, h)를 통해 표현될 수 있다. 시간벡터(Tt)는 복수의 객체영상(OVt) 각각이 생성된 시간을 나타낸다. 그리고 심층신경망(200)은 각각이 방향벡터(Dt), 영역벡터(Bt) 및 시간벡터(Tt)를 포함하는 복수의 항해벡터(Xt)로부터 소정 시간 이후의 객체(obj)의 항해 상태, 즉, 항해 방향, 항해 영역 및 시간을 나타내는 항해예측벡터(Yk)를 산출한다.
항해예측벡터(Yk)는 예측된 방향벡터(Dk), 영역벡터(Bk) 및 시간벡터(Tk)를 포함하며, 관제부(400)는 항해예측벡터(Yk)의 방향벡터(Dk)로부터 도출되는 향해 방행이 충돌 가능 영역을 지향하고, 영역벡터(Bk)로부터 도출되는 영역상자(B)가 차지하는 영역이 감시영상(SV) 내의 기 설정된 경고 영역과 적어도 일부 중첩되면, 경보를 발령한다. 예컨대, 도 4의 감시영상(SV)은 3행4열의 12개의 셀로 구분되며, 2행3열 및 3행3열[(2, 3), (3, 3)]의 셀이 경고 영역이며, 해당 셀을 지향하는 방향이 충돌 가능 방향으로 설정될 수 있다. 예컨대, 도출된 바에 따르면, 항해예측벡터(Yk)의 방향벡터(Dk)는 180도로 충돌 가능 방향인 3행3열(3, 3)을 지향하며, 감시영상(SV)의 3행3열(3, 3)의 셀과 항해예측벡터(Yk)의 영역벡터(Bk)의 영역상자(B)가 일부 중첩된다. 이에 따라, 관제부(400)는 위험도가 기 설정된 임계치 이상인 것으로 판단하고, 통신부(11)를 통해 사용자장치, 경보기, 관제서버 등에 충돌 위험을 알리는 경보 메시지를 전송한다.
다음으로, 본 발명의 실시예에 따른 심층신경망에 대해 보다 상세하게 설명하기로 한다. 먼저, 본 발명의 제1 실시예에 따른 심층신경망에 대해 설명하기로 한다. 도 5는 본 발명의 제1 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다.
도 5를 참조하면, 제1 실시예에 따른 심층신경망(200)은 객체식별망(210)을 포함한다. 이러한 객체식별망(210)은 복수의 계층을 포함한다. 즉, 객체식별망(210)은 입력계층(input layer: INL), 은닉계층(Hidden Layer) 및 출력계층(output layer: OUL)을 포함한다. 은닉계층은 하나 이상의 컨볼루션계층(convolution layer: CVL), 하나 이상의 풀링계층(pooling layer: POL) 및 하나 이상의 완전연결계층(fully-connected layer: FCL)을 포함한다. 도 2에 따르면, 본 발명의 제1 실시예에 따른 객체식별망(210)은 순차로 입력계층(INL), 제1 컨볼루션계층(CVL1), 제1 풀링계층(POL1), 제2 컨볼루션계층(CVL2), 제2 풀링계층(POL2), 제1 완전연결계층(FCL1), 제2 완전연결계층(FCL2) 및 출력계층(OUL)을 포함한다.
입력계층(INL)은 소정 크기의 입력 행렬로 이루어진다. 입력계층(INL)의 입력 행렬의 원소는 객체영상(OV)의 복수의 픽셀에 대응한다. 이에 따라, 객체영상(OV)의 복수의 픽셀값이 입력계층(INL) 입력 행렬의 각 원소의 값으로 입력된다.
제1 및 제2 컨볼루션계층(CVL1, CVL2) 및 제1 및 제2 풀링계층(POL1, POL2)은 적어도 하나의 특징영상(FM: Feature Map)으로 구성된다. 특징영상(FM)은 픽셀값으로 이루어진 소정 크기의 행렬로 구성된다. 특징영상(FM)은 이전 계층의 값에 대해 가중치가 적용된 연산 수행 결과로 생성된다. 이러한 가중치는 필터(W)를 통해 적용된다. 여기서, 필터는 소정 크기(예컨대, N이 자연수일 때, N×N)의 행렬이며, 필터를 이루는 행렬의 각 원소의 값이 가중치(w)가 된다. 따라서 특징영상(FM)을 이루는 행렬의 각 원소에는 이전 계층의 가중치 필터(W)를 이용한 가중치가 적용된 연산에 따라 산출된 값이 저장된다.
제1 컨볼루션계층(CVL1)은 적어도 하나의 특징영상(FM)을 포함한다. 제1 컨볼루션계층(CVL1)을 구성하는 특징영상(FM)은 입력계층(INL)의 객체영상(OV)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 컨볼루션 연산(convolution)을 수행한 결과로 생성된다.
제1 풀링계층(POL1)은 적어도 하나의 특징영상(FM)을 포함한다. 제1 풀링계층(POL1)을 구성하는 특징영상(FM)은 제1 컨볼루션계층(CVL1)의 특징영상(FM)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 풀링(pooling 또는 subsampling) 연산을 수행한 결과로 생성된다.
제2 컨볼루션계층(CVL2)은 적어도 하나의 특징영상(FM)을 포함한다. 제2 컨볼루션계층(CVL2)을 구성하는 특징영상(FM)은 제1 풀링계층(POL1)의 특징영상에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 컨볼루션 연산(convolution)을 수행한 결과로 생성된다.
제2 풀링계층(POL2)은 적어도 하나의 특징영상(FM)을 포함한다. 제2 풀링계층(POL2)을 구성하는 특징영상(FM)은 제2 컨볼루션계층(CVL2)의 특징영상(FM)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 풀링(pooling 또는 subsampling) 연산을 수행한 결과로 생성된다.
제1 완전연결계층(FCL1)은 복수의 연산 노드(f1, f2, ..., fn)를 포함한다. 제1 완전연결계층(FCL1)의 복수의 연산 노드(f1, f2, ..., fn) 각각의 값은 제2 풀링계층(POL2)의 특징영상(FM)의 값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다. 예컨대, 제2 풀링계층(POL2)은 2개의 특징영상(FM)을 가지며, 제2 풀링계층(POL2)의 2개의 특징영상(FM)이 2×8×8(채널×행×열)의 형태일 때, 이러한 형태의 값들이 1×128(채널×열)의 형태의 값으로 정렬되어 제1 완전연결계층(FCL1)의 복수의 연산 노드(f1, f2, ..., fn) 각각에 입력값으로 입력된다. 그러면, 복수의 연산 노드(f1, f2, ..., fn) 각각은 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 노드값을 산출한다. 여기서, 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다.
제2 완전연결계층(FCL2)은 복수의 연산 노드(g1, g2, ..., gn)를 포함한다. 제2 완전연결계층(FCL2)의 복수의 연산 노드(g1, g2, ..., gn) 각각의 노드값은 제1 완전연결계층(FCL2)의 복수의 연산 노드(f1, f2, ..., fn)의 노드값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다.
출력계층(OUL)은 2개의 출력 노드(O1, O2)를 포함한다. 출력계층(OUL)의 2개의 출력 노드(O1, O2)의 노드값, 즉, 출력값은 제2 완전연결계층(FCL)의 복수의 연산 노드(g1, g2, ..., gn) 각각의 노드값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다.
이러한 출력계층(OUL)의 2개의 출력 노드(O1, O2)의 출력값은 객체식별망(210)의 출력값이 된다. 2개의 출력 노드(O1, O2) 각각은 선박 및 비선박에 대응하며, 2개의 출력 노드(O1, O2) 각각의 출력값은 입력된 객체영상(OV)의 객체(obj)가 선박일 확률과, 선박이 아닐 확률을 의미한다. 이때, 제1 출력노드(O1)의 출력값이 0.846이고, 제2 출력노드(O2)의 출력값이 0.154라면, 객체(obj)가 선박일 확률이 85%이고, 선박이 아닐 확률이 15%임을 의미한다.
그러면, 전술한 객체식별망(210)에 대한 학습 방법에 대해 설명하기로 한다. 학습부(300)는 그 영상에 포함된 객체(obj)가 선박인지 여부가 알려진 학습용 영상을 획득할 수 있다. 그러면, 학습부(300)는 학습용 영상에 포함된 객체(obj)가 선박인지 여부에 따라 기댓값을 설정할 수 있다. 예컨대, 학습부(300)는 학습용 영상에 포함된 객체(obj)가 선박인 경우, 제1 출력노드 및 제2 출력노드 각각에 대해 "(O1, O2) = [1, 0]"와 같이 기댓값을 설정할 수 있다. 역으로, 학습부(300)는 영상에 포함된 객체(obj)가 선박이 아닌 대조군 학습용 영상에 대해서, 제1 출력노드(O1) 및 제2 출력노드(O2) 각각에 대해 "(O1, O2) = [0, 1]"와 같이 기댓값을 설정할 수 있다.
기댓값을 설정한 후, 학습부(300)는 학습용 영상을 객체식별망(210)에 입력한다. 그러면, 객체식별망(210)은 학습용 영상에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 통해 출력값을 산출하여 출력할 것이다. 여기서, 객체식별망(210)의 출력값은 제1 출력노드(O1)의 출력값인 객체가 선박일 확률과 제2 출력노드(O2)의 출력값인 선박이 아닐 확률을 포함한다. 학습부(300)는 객체식별망(210)의 출력값과 앞서 설정된 기댓값의 차이인 이진 교차 엔트로피 손실(binary cross entropy loss)을 산출하고 이진 교차 엔트로피 손실이 최소가 되도록 최적화 알고리즘을 통해 객체식별망(210)의 가중치를 최적화한다.
다음으로, 본 발명의 제2 실시예에 따른 심층신경망(200)의 구성에 대해서 설명하기로 한다. 도 6 내지 도 9는 본 발명의 제2 실시예에 따른 심층신경망의 구성을 설명하기 위한 도면이다. 먼저, 도 6을 참조하면, 본 발명의 제2 실시예에 따른 심층신경망(200)은 방향식별망(220), 덧셈기(230) 및 항해예측망(240)을 포함한다.
제2 실시예에 따른 심층신경망(200)은 전처리부(100)로부터 복수의 객체영상(OVt), 복수의 객체영상(OVt) 각각의 감시영상(SV) 상에서의 영역상자(B)의 좌표를 나타내는 복수의 영역벡터(Bt) 및 감시영상(SV)으로부터 복수의 객체영상(OVt) 각각이 생성된 시간을 나타내는 시간벡터(Tt)를 입력 받는다. 그러면, 방향식별망(220)은 복수의 객체영상(OVt)에 포함된 객체(obj)의 항해 방향을 나타내는 방향벡터(Dt)를 산출한다. 그리고 덧셈기(230)는 방향벡터(Dt), 영역벡터(Bt) 및 시간벡터(Tt)를 더하여 시간 순서로 정렬된 복수의 항해벡터(Xt)를 생성한다(Xt = Dt + Bt + Tt). 그런 다음, 항해예측망(240)은 시간 순서로 정렬된 복수의 항해벡터(Xt) 각각에 대해 순차로 가중치가 적용되는 연산을 수행하여 소정 시간 후(k-t+0, k>t)의 객체(obj)의 항해 상태를 예측하는 항해예측벡터(Yk)를 산출한다. 항해예측벡터(Y)는 소정 시간 후의 객체(obj)의 예측된 항해 방향을 나타내는 방향예측벡터(Dk), 소정 시간 후의 객체(obj)가 감시영상(SV)에서 차지하는 영역을 영역박스(B)의 좌표로 예측한 영역예측벡터(Bt) 및 소정 시간 후(k-t+0, k>t)를 나타내는 시간벡터(Tt)를 포함한다.
그러면, 전술한 방향식별망(220) 및 항해예측망(240) 각각에 대해서 상세하게 설명하기로 한다. 먼저, 본 발명의 실시예에 따른 방향식별망(220)의 구성에 대해서 설명하기로 한다. 도 7을 참조하면, 방향식별망(220)은 앞서 설명된 객체식별망(210)과 출력계층(OUL)의 노드의 수가 상이하며, 다른 계층은 동일한 구조를 가진다. 즉, 방향식별망(220)은 순차로 입력계층(INL), 제1 컨볼루션계층(CVL1), 제1 풀링계층(POL1), 제2 컨볼루션계층(CVL2), 제2 풀링계층(POL2), 제1 완전연결계층(FCL1), 제2 완전연결계층(FCL2) 및 출력계층(OUL)을 포함한다.
입력계층(INL)은 소정 크기의 입력 행렬로 이루어진다. 입력계층(INL)의 입력 행렬의 원소는 객체영상(OV)의 복수의 픽셀에 대응한다. 이에 따라, 객체영상(OV)의 복수의 픽셀값이 입력계층(INL) 입력 행렬의 각 원소의 값으로 입력된다.
제1 컨볼루션계층(CVL1)은 적어도 하나의 특징영상(FM)을 포함한다. 제1 컨볼루션계층(CVL1)을 구성하는 특징영상(FM)은 입력계층(INL)의 객체영상(OV)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 컨볼루션 연산(convolution)을 수행한 결과로 생성된다.
제1 풀링계층(POL1)은 적어도 하나의 특징영상(FM)을 포함한다. 제1 풀링계층(POL1)을 구성하는 특징영상(FM)은 제1 컨볼루션계층(CVL1)의 특징영상(FM)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 풀링(pooling 또는 subsampling) 연산을 수행한 결과로 생성된다.
제2 컨볼루션계층(CVL2)은 적어도 하나의 특징영상(FM)을 포함한다. 제2 컨볼루션계층(CVL2)을 구성하는 특징영상(FM)은 제1 풀링계층(POL1)의 특징영상에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 컨볼루션 연산(convolution)을 수행한 결과로 생성된다.
제2 풀링계층(POL2)은 적어도 하나의 특징영상(FM)을 포함한다. 제2 풀링계층(POL2)을 구성하는 특징영상(FM)은 제2 컨볼루션계층(CVL2)의 특징영상(FM)에 대해 각 원소가 가중치로 이루어진 행렬인 필터(W)를 통해 풀링(pooling 또는 subsampling) 연산을 수행한 결과로 생성된다.
제1 완전연결계층(FCL1)은 복수의 연산 노드(f1, f2, ..., fn)를 포함한다. 제1 완전연결계층(FCL1)의 복수의 연산 노드(f1, f2, ..., fn) 각각의 노드값은 제2 풀링계층(POL2)의 특징영상(FM)의 값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다. 예컨대, 제2 풀링계층(POL2)은 2개의 특징영상(FM)을 가지며, 제2 풀링계층(POL2)의 2개의 특징영상(FM)이 2×8×8(채널×행×열)의 형태일 때, 이러한 형태의 값들이 1×128(채널×열)의 형태의 값으로 정렬되어 제1 완전연결계층(FCL1)의 복수의 연산 노드(f1, f2, ..., fn) 각각에 입력값으로 입력된다. 그러면, 복수의 연산 노드(f1, f2, ..., fn) 각각은 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 노드값을 산출한다. 여기서, 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다.
제2 완전연결계층(FCL2)은 복수의 연산 노드(g1, g2, ..., gn)를 포함한다. 제2 완전연결계층(FCL2)의 복수의 연산 노드(g1, g2, ..., gn) 각각의 노드값은 제1 완전연결계층(FCL2)의 복수의 연산 노드(f1, f2, ..., fn)의 노드값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다.
출력계층(OUL)은 9개의 출력 노드(a1 내지 a9)를 포함한다. 출력계층(OUL)의 9개의 출력 노드(a1 내지 a9)의 노드값, 즉, 출력값은 제2 완전연결계층(FCL)의 복수의 연산 노드(g1, g2, ..., gn) 각각의 노드값에 대해 활성화함수를 통해 가중치가 적용되는 연산을 수행하여 산출된다.
이러한 출력계층(OUL)의 9개의 출력 노드(a1 내지 a9)의 출력값은 방향식별망(220)의 출력값이 된다. 9개의 출력 노드(a1 내지 a9) 중 제1 내지 제8 출력노드(a1 내지 a8) 각각은 도 3에 도시된 바와 같은 선박의 항해 방향(0, 45, 90, 135, 180, 225, 270, 315도)에 대응하며, 제9 출력노드(a9)는 비선박에 대응한다. 제1 내지 제8 출력노드(a1 내지 a8) 각각의 출력값은 객체영상(OV)의 객체(obj)의 항해 방향이 제1 내지 제8 출력노드(a1 내지 a8) 각각에 대응하는 방향(0, 45, 90, 135, 180, 225, 270, 315도)일 확률을 나타낸다. 제9 출력노드(a9)의 출력값은 객체영상(OV)의 객체(obj)가 선박이 아닐 확률에 대응한다. 예컨대, 제1 내지 제9 출력노드(a1 내지 a9)의 출력값이 (a1 a2 a3 a4 a5 a6 a7 a8 a9)=[0 0 0 1 0 0 0 0 0]이면, 객체영상(OV)의 객체(obj)의 항해 방향이 180도일 확률이 100%이고 나머지 확률은 모두 0%임을 의미한다.
그러면, 방향식별망(220)에 대한 학습 방법에 대해 설명한다. 학습부(300)는 그 영상에 포함된 객체(obj)가 선박인지 여부가 알려지고, 객체(obj)가 선박이면, 항해 방향(0, 45, 90, 135, 180, 225, 270, 315도)이 알려진 학습용 영상을 획득할 수 있다. 이에 따라, 학습부(300)는 학습용 영상에 대해 다음의 표 2와 같이 기댓값을 설정할 수 있다.
비선박/선박 항해방향(도) |
기댓값 | ||||||||
a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | |
비선박 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
항해방향 0(360) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
45 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
90 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
135 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
180 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
225 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
270 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
315 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
기댓값을 설정한 후, 학습부(300)는 학습용 영상을 객체식별망(210)에 입력한다. 그러면, 객체식별망(210)은 학습용 영상에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 통해 출력값을 산출하여 출력할 것이다. 여기서, 객체식별망(210)의 출력값은 제1 내지 제9 출력노드(a1 내지 a9) 각각의 출력값을 포함한다. 제1 내지 제9 출력노드(a1 내지 a9) 각각의 출력값은 객체영상(OV)에 포함된 객체(obj)가 선박일 확률과 선박인 경우, 객체영상(OV)의 객체(obj)의 항해 방향이 제1 내지 제8 출력노드(a1 내지 a8) 각각에 대응하는 방향(0, 45, 90, 135, 180, 225, 270, 315도)일 확률을 나타낸다. 학습부(300)는 객체식별망(210)의 출력값과 앞서 표 2와 같이 설정된 기댓값의 차이인 교차 엔트로피 손실(cross entropy loss)을 산출하고 교차 엔트로피 손실이 최소가 되도록 최적화 알고리즘을 통해 객체식별망(210)의 가중치를 최적화한다.
다음으로, 본 발명의 제2 실시예에 따른 항해예측망(220)에 대해 보다 상세하게 설명하기로 한다. 도 8 및 도 9를 참조하면, 항해예측망(240)은 방향벡터(Dt), 영역벡터(Bt) 및 시간벡터(Tt)가 벡터합에 의해 결합(Xt = Dt + Bt + Tt)되어 시간 순서로 정렬된 복수의 항해벡터(Xt)를 입력 받을 수 있다. 그러면, 항해예측망(240)은 시간 순서로 정렬된 복수(예컨대, n개, 여기서, n은 양의 정수)의 항해벡터(Xt: X1 내지 Xn) 각각에 대해 순차로 가중치가 적용되는 연산을 수행하여 소정 시간 후(k-n+0, k>n)의 객체(obj)의 항해 상태를 나타내는 항해예측벡터(Yk)를 산출한다. 이러한 항해예측망(220)은 RNN(Recurrent Neural Network), LTSM(Long Short-Term Memory models), GRU(Gated recurrent unit) 등을 예시할 수 있다.
항해예측망(220)은 복수의 스테이지(St: S1 내지 Sk)로 이루어지며, 순환입력층(RIL: Recurrent Input Layer), 순환은닉층(RHL: Recurrent Hidden Layer) 및 순환출력층(ROL: Recurrent Outpu Layer)을 포함한다.
순환입력층(RIL)은 소정 시간 후(k-n+0, k>n)의 객체(obj)의 항해 상태를 측정하기 위해 현재의 항해 상태를 검출한 복수(n)의 입력으로 이루어지며, 시간 순서로 정렬된 복수의 항해벡터(Xt: X1 내지 Xn)가 입력으로 사용된다. 순환은닉층(RHL)은 스테이지의 개수(k)에 해당하는 복수의 은닉셀(HC)을 포함하며, 복수의 은닉셀(HC)은 복수의 항해벡터(Xt: X1 내지 Xn)에 대해 가중치가 적용되는 하나 이상의 연산을 순환 방식으로 수행하여 항해예측벡터(Yk)를 산출한다. 복수의 은닉셀(HC)은 제1 내지 제3 은닉셀그룹(HCG1, HCG2, HCG3)을 포함한다. 순환출력층(ROL)은 마지막 스테이지(Sk)의 은닉셀(HC)에 의해 산출된 항해예측벡터(Yk)를 출력한다.
한편, 도 13을 참조하면, 은닉셀(HC)은 가중치(Weight, Wx, Wh, Wy)가 적용되는 하나 이상의 연산으로 이루어진다. 여기서, 연산은 활성화함수(Activation Function)를 적용한 연산을 의미한다. 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 또한, 하나의 은닉셀(HC)에서 가중치는 입력값인 항해벡터(Xt)에 적용되는 입력 가중치 Wx, 이전 스테이지의 상태값 Ht-1에 대해 적용되는 상태 가중치 Wh 및 출력값 Yt에 대해 적용되는 출력 가중치 Wy를 포함한다. 예컨대, 은닉셀(HC)에 적용되는 가중치가 적용되는 연산은 다음의 수학식 1을 예시할 수 있다.
여기서, b는 임계치 혹은 바이어스이다. 특히, tanh 함수, ReLU 함수는 다른 활성화함수로 변경될 수 있다. 수학식 1과 도 9를 참조하면, 복수의 은닉셀(HCt) 각각은 이전 스테이지(St-1)의 은닉셀(HCt-1)이 연산한 이전 스테이지(St-1)의 상태값(Ht-1)과 자신의 스테이지(St)의 입력값(Xt)에 대해 가중치(W: Wh, Wx, Wy)가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht) 및 출력값(Yt)을 산출할 수 있다.
항해예측망(220)의 순환입력층(RIL)이 시간 순서에 따라 정렬된 제1 내지 제4 항해벡터(X1, X2, X3, X4) 각각을 순환은닉층(RHL)의 제1 은닉셀그룹(HCG1)에 대응하는 은닉셀, 즉, 제1 내지 제4 은닉셀(HC1, HC2, HC3, HC4)에 입력한다. 그러면, 순환은닉층(RHL) 제1 은닉셀그룹(HCG1)의 제1 내지 제4 은닉셀(HC1, HC2, HC3, HC4) 각각은 이전 스테이지(St-1)의 은닉셀(HC)이 연산한 이전 스테이지(St-1)의 상태값(Ht-1)과 자신의 스테이지(St)의 입력값(Xt)에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지(St+1)의 은닉셀(HCt+1)로 전달한다. 예컨대, 제1 은닉셀(HC1)은 초기 상태값(H0)에 상태 가중치(Wh)를 적용하고, 제1 항해벡터(X1)에 입력 가중치(Wx)를 적용하여 제1 스테이지(S1)의 상태값(H1)을 산출한다. 제1 은닉셀(HC1)의 경우, 이전 스테이지가 없기 때문에 초기 상태값(H0)을 이용한다. 이어서, 제2 은닉셀(HC2)은 이전 스테이지인 제1 스테이지(S1)의 상태값(H1)에 상태 가중치(Wh)를 적용하고, 제2 항해벡터(X2)에 입력 가중치(Wx)를 적용하여 제2 스테이지(S2)의 상태값(H2)을 산출한다. 그리고 제3 은닉셀(HC3)은 이전 스테이지인 제2 스테이지(S2)의 상태값(H2)에 상태 가중치(Wh)를 적용하고, 제3 항해벡터(X3)에 입력 가중치(Wx)를 적용하여 제3 스테이지(S3)의 상태값(H3)을 산출한다. 이어서, 제4 은닉셀(HC4)은 이전 스테이지인 제3 스테이지(S3)의 상태값(H3)에 상태 가중치(Wh)를 적용하고, 제4 항해벡터(X4)에 입력 가중치(Wx)를 적용하여 제4 스테이지(S4)의 상태값(H4)을 산출한다. 이와 같이, 제1 은닉셀그룹(HCG1)에 속한 복수의 은닉셀(HCt)은 이전 스테이지의 상태값(Ht-1)과 현 스테이지의 입력값인 항해벡터(Xt)에 대해 상태 및 입력 가중치(Wh, Wx)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출하고, 산출된 상태값(Ht)을 다음 스테이지(St+1)로 전달한다.
그러면, 순환은닉층(RHL) 제2 은닉셀그룹(HCG2)에 속한 복수의 은닉셀(HC5 내지 HCk-1)은 이전 스테이지(St-1)의 은닉셀(HC)이 연산한 이전 스테이지(St-1)의 상태값(Ht-1)에 대해 상태 가중치(Wh)가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지(St+1)의 은닉셀(HCt+1)로 전달한다. 예컨대, 제5 은닉셀(HC5)은 이전 스테이지인 제4 스테이지(S4)의 상태값(H4)에 상태 가중치(Wh)를 적용하여 제5 스테이지(S5)의 상태값(H5)을 산출한다. 이어서, 제6 은닉셀(HC6)은 이전 스테이지인 제5 스테이지(S5)의 상태값(H5)에 상태 가중치(Wh)를 적용하여 제6 스테이지(S6)의 상태값(H6)을 산출한다. 제2 은닉셀그룹(HCG2)에 속한 나머지 은닉셀(HC6 내지 HCk-1)도 전술한 방식과 동일하게 상태값(Ht)을 산출하여 산출한 상태값(Ht)을 다음 스테이지로 제공한다. 그리고 제2 은닉셀그룹(HCG2)의 마지막 은닉셀인 k-1 은닉셀(HCk-1)은 이전 스테이지인 제k-2 스테이지(Sk-2)의 상태값(Hk-2)에 상태 가중치(Wh)를 적용하여 현 스테이지인 제k-1 스테이지(Sk-1)의 상태값(Hk-1)을 산출한다.
다음으로, 제3 은닉셀그룹(HCG3)의 제k 은닉셀(HCk)은 이전 스테이지인 제k-1 스테이지(Sk-1)의 상태값(Hk-1)에 상태 가중치(Wh)를 적용하여 현 스테이지인 제k 스테이지(Sk)의 상태값(Hk)을 산출한다. 그런 다음, 제k 은닉셀(HCk)은 현 스테이지인 제k 스테이지(Sk)의 상태값(Hk)에 출력 가중치(Wy)를 적용하는 연산을 수행하여 출력값, 즉, 항해예측벡터(Yk)를 산출한다.
이와 같이, 본 발명의 실시예에 따른 항해예측망(220)에서 제1 은닉셀그룹(HCG1)의 은닉셀은 이전 스테이지의 상태값(Ht-1)과 현 스테이지의 입력값(Xt)에 대해 상태 및 입력 가중치(Wh, Wx)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지에 전달한다. 이어서, 제2 은닉셀그룹(HCG2)의 은닉셀은 이전 스테이지의 상태값(Ht-1)에 대해 상태 가중치(Wh)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지에 전달한다. 그리고 마지막 은닉셀인 제3 은닉셀그룹의 은닉셀은 이전 스테이지의 상태값(Ht-1)에 대해 상태 가중치(Wh)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 현 스테이지의 상태값(Ht)에 출력 가중치(Wy)를 적용하는 연산을 수행하여 출력값, 즉, 항해예측벡터(Yk)를 산출한다. 이러한 항해예측벡터(Yk)는 입력값이 고려되며, 이전의 상태가 고려되는 상태값이 마지막 은닉셀로 전달되어 최종적으로 산출된 값이다. 이에 따라, 항해예측망(220)은 현재(n)까지 측정 가능한 항해 상태를 나타내는 복수의 항해벡터(Xt)로부터 소정 시간 이후(k-n, k>n)의 객체(obj)의 항해 상태를 예측한 항해예측벡터(Yk)를 산출할 수 있다.
다음으로, 본 발명의 제1 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법에 대해서 설명하기로 한다. 도 10은 본 발명의 제1 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 제어부(16)의 전처리부(100)는 S110 단계에서 도 2에 도시된 바와 같이 카메라부(12)를 통해 선박 주변을 지속적으로 촬영하여 소정 넓이(SW×SH)의 감시영상(SV)을 생성한다. 감시영상(SV)은 시간 순서로 정렬되는 복수의 프레임(Ft)으로 이루어진다. 이러한 감시영상(SV)은 표시부(14)를 통해 표시될 수 있다.
그런 다음, 전처리부(100)는 S120 단계에서 도 2에 도시된 바와 같이, 촬영된 감시영상(SV)에서 프레임(Ft) 별로 감시영상(SV)에 포함된 객체(obj)가 차지하는 영역을 나타내는 영역상자(B)를 특징점 검출을 통해 특정함으로써 객체영상(OVt)을 검출한다. 영역상자(B)는 감시영상(SV)에서 객체(obj)가 차지하는 영역을 사각형으로 나타낸 것이며, 객체(obj)가 모두 포함되는 최소 크기의 사격형을 의미한다. 이러한 영역상자(B)는 중심좌표(x, y), 폭(w) 및 높이(h)를 가진다. 한편, 전처리부(100)가 검출한 객체영상(OVt)은 심층신경망(200)의 객체식별망(210)에 입력된다.
그러면, 객체식별망(210)은 S130 단계에서 가중치가 적용되는 복수의 연산을 수행하여 객체영상(OVt)의 객체(obj)가 선박인지 여부를 확률로 산출한다. 즉, 객체식별망(210)의 2개의 출력 노드(O1, O2) 각각의 출력값은 입력된 객체영상(OV)의 객체(obj)가 선박일 확률과, 선박이 아닐 확률을 의미한다.
이에 따라, 관제부(400)는 S140 단계에서 객체식별망(210)이 산출한 확률에 따라 객체(obj)가 선박인지 여부를 판정한다. 예컨대, 제1 출력노드(O1)의 출력값이 0.846이고, 제2 출력노드(O2)의 출력값이 0.154라면, 객체(obj)가 선박일 확률이 85%이고, 선박이 아닐 확률이 15%임을 의미한다. 이러한 경우, 관제부(400)는 객체(obj)가 선박인 것으로 판정할 수 있다. 반면, 제1 출력노드(O1)의 출력값이 0.444이고, 제2 출력노드(O2)의 출력값이 0.556라면, 객체(obj)가 선박일 확률이 44%이고, 선박이 아닐 확률이 56%임을 의미한다. 이러한 경우, 관제부(400)는 객체(obj)가 선박이 아닌 것으로 판정할 수 있다.
S140 단계의 판정 결과, 객체(obj)가 선박이면, 관제부(400)는 S150 단계에서 그 선박으로 판정된 객체(obj)와의 충돌이 발생할 확률을 나타내는 위험도를 산출한다. 이를 위하여, 관제부(400)는 감시영상(SV)에서 객체(obj)의 영역상자(B)의 좌표를 통해 객체영상의 넓이(w×h)를 산출한 후, 감시영상(SV)의 넓이(SW×SH) 대 객체영상(OV)의 넓이(w×h)의 비율을 통해 위험도를 산출할 수 있다. 즉, 관제부(400)는 객체영상(OV)이 감시영상(SV)에서 차지하는 면적의 비율이 높을수록 위험도가 높은 것으로 산정한다.
관제부(400)는 S160 단계에서 산출된 위험도가 기 설정된 임계치 이상인지 여부를 판별한다. 상기 판별 결과, 위험도가 임계치 이상이면, 충돌 위험이 있는 것으로 판단한다. 이에 따라, 관제부(400)는 S170 단계에서 통신부(11)를 통해 사용자장치, 경보기, 관제서버 등에 충돌 위험을 알리는 경보 메시지를 전송한다. 이러한 경보 메시지는 해당 객체의 영상과 위치 정보를 포함한다.
한편, 본 발명의 실시예에 따르면, 전술한 S120 단계의 경우, 객체(obj)와의 거리에 따라 다른 방식으로 객체영상을 검출한다. 이러한 S120 단계에 대해 보다 상세하게 설명하기로 한다. 도 11은 본 발명의 실시예에 따른 객체영상을 검출하는 방법을 설명하기 위한 흐름도이다. 도 12는 본 발명의 실시예에 따른 근거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다. 도 13은 본 발명의 실시예에 따른 원거리 객체에 대응하는 객체영상을 검출하는 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 전처리부(100)는 S210 단계에서 감시영상(SV)이 입력되면, S220 단계에서 소정의 알고리즘을 통해 특징점 추출을 시도한다. 특징점 추출을 위한 알고리즘은 Harris Corner, Shi & Tomasi, SIFT(Scale Invariant Feature Transform), SURF(Speeded up robust features), BRIEF(Binary robust independent elementary features), ORB(Oriented FAST and Rotated BRIEF), FAST(Features from Accelerated Segment Test), AGAST 등을 예시할 수 있으며, 바람직하게는, FAST를 이용할 수 있다.
전술한 바와 같이 특징점 추출을 시도한 후, 전처리부(100)는 S230 단계에서 특징점이 추출되는지 여부를 판별한다. 이러한 판별에 따라, 전처리부(100)는 특징점이 추출되면, S240 단계로 진행하고, 특징점이 추출되지 않으면 S250 단계로 진행한다. 전처리부(100)는 특징점이 추출되면, 감시영상(SV) 내의 객체가 소정의 기준 보다 가까이에 위치하는 근거리 객체인 것으로 판단하고 S240 단계에서 근거리 객체에 대응하는 객체영상 검출 절차를 수행한다. 반면, 전처리부(100)는 특징점이 추출되지 않으면, 감시영상(SV) 내의 객체가 소정의 기준 보다 멀리 위치한 원거리 객체인 것으로 판단하고 S250 단계에서 원거리 객체에 대응하는 객체영상 검출 절차를 수행한다.
그러면, 이러한 S240 단계 및 S250 단계에 대해 보다 상세하게 설명하기로 한다. 먼저, 도 12를 참조로 근거리 객체에 대응하는 객체영상 검출 방법에 대해 설명한다. 이러한 도 12는 S240 단계에 대응하며, S240 단계를 보다 상세하게 설명하기 위한 것이다. 도 12를 참조하면, 전처리부(100)는 S241 단계에서 도 12와 같은 감시영상(SV)이 입력되면, S242 단계에서 입력된 감시영상(SV)에 대해 블러링(Blurring) 처리를 하여 전체적으로 이미지를 흐리게 만든다. 그런 다음, 전처리부(100)는 S243 단계에서 감시영상(SV)에 대해 그레이스케일(Grayscale)을 적용하여 RGB의 3채널로 이루어진 이미지를 1개의 채널로 변경한다. 이어서, 전처리부(100)는 S244 단계에서 해리스 코너(Harris corner) 알고리즘을 이용하여 감시영상(SV) 내의 복수의 코너점을 검출한다. 이어서, 전처리부(100)는 S244 단계에서 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 사각형의 영역박스(B)를 통해 객체영상(OV)을 검출한다.
다음으로, 도 13을 참조로 근거리 객체에 대응하는 객체영상 검출 방법에 대해 설명한다. 이러한 도 13은 S250 단계에 대응하며, S250 단계를 보다 상세하게 설명하기 위한 것이다. 도 13을 참조하면, 전처리부(100)는 S251 단계에서 도 13과 같은 감시영상(SV)이 입력되면, S252 단계에서 입력된 감시영상(SV)에 대해 블러링(Blurring) 처리를 하여 전체적으로 이미지를 흐리게 만든다. 그런 다음, 전처리부(100)는 S253 단계에서 감시영상(SV)에 대해 그레이스케일(Grayscale)을 적용하여 RGB의 3채널로 이루어진 이미지를 1개의 채널로 변경한다.
이어서, 전처리부(100)는 S254 단계에서 캐니 엣지(Canny edge) 검출을 통해 고주파 성분의 라인을 찾아 이진화된 라인을 찾는다. 그런 다음, 전처리부(100)는 S255 단계에서 허프 변환(Hough Transform)을 통해 수평선을 검출한다. 허프 변환을 이용하면 긴 길이부터 짧은 길이의 직선이 검출되며 해상에서 제일 긴 직선이 수평선인 것을 이용하여 각 직선의 양 끝 좌표를 이용하여 피타고라스 정리를 통해 거리를 구하고 그 중 가장 긴 직선을 찾아 수평선을 찾는다.
수평선을 검출한 후, 전처리부(100)는 S256 단계에서 처음(S251) 입력된 감시영상(SV)에서 수평선 위를 제외한 아래를 제거하여 수평선 윗부분 영상만을 남긴다. 이어서, 전처리부(100)는 S257 단계에서 수평선 윗부분 영상을 소정 크기로 확대한다. 그런 다음, 전처리부(100)는 S258 단계에서 확대된 수평선 윗부분 영상에서 해리스 코너(Harris corner) 알고리즘을 이용하여 복수의 코너점을 검출한다. 이어서, 전처리부(100)는 S259 단계에서 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 사각형의 영역박스(B)를 통해 객체영상(OV)을 검출한다.
다음으로, 본 발명의 제2 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법에 대해서 설명하기로 한다. 도 14는 본 발명의 제2 실시예에 따른 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 제어부(16)의 전처리부(100)는 S310 단계에서 도 2에 도시된 바와 같이 카메라부(12)를 통해 선박 주변을 지속적으로 촬영하여 소정 넓이(SW×SH)의 감시영상(SV)을 생성한다. 감시영상(SV)은 시간 순서로 정렬되는 복수의 프레임(Ft)으로 이루어진다. 이러한 감시영상(SV)은 표시부(14)를 통해 표시될 수 있다.
그런 다음, 전처리부(100)는 S320 단계에서 도 2에 도시된 바와 같이, 촬영된 감시영상(SV)에서 프레임(Ft) 별로 감시영상(SV)에 포함된 객체(obj)가 차지하는 영역을 영역상자(B)를 통해 검출하여 복수의 객체영상(OVt)을 생성한다. 영역상자(B)는 감시영상(SV)에서 객체(obj)가 차지하는 영역을 사각형으로 나타낸 것이며, 객체(obj)가 모두 포함되는 최소 크기의 사격형을 의미한다. 이러한 영역상자(B)는 중심좌표(x, y), 폭(w) 및 높이(h)를 가진다. 이러한 S320 단계의 객체영상(OVt)의 검출 방법은 제1 실시예와 동일하다. 즉, 제2 실시예에서도 제1 실시예와 마찬가지로 도 11 내지 도 13에서 설명한 바와 같이, 전처리부(100)는 특징점 추출을 시도하여 특징점이 추출되면, 감시영상(SV) 내의 객체가 기준 보다 가까이에 위치하는 근거리 객체인 것으로 판단하여 근거리 객체에 대응하는 객체영상 검출 절차를 수행하고(S240), 특징점이 추출되지 않으면, 감시영상(SV) 내의 객체가 기준 보다 멀리 위치한 원거리 객체인 것으로 판단하여 원거리 객체에 대응하는 객체영상 검출 절차를 수행한다(S250).
전처리부(100)는 S330 단계에서 복수의 객체영상(OVt), 복수의 객체영상(OVt) 각각의 감시영상(SV) 상에서의 영역상자(B)의 좌표를 나타내는 복수의 영역벡터(Bt) 및 감시영상(SV)으로부터 복수의 객체영상(OVt) 각각이 생성된 시간을 나타내는 시간벡터(Tt)를 제2 실시예에 따른 심층신경망(200)에 입력한다. 그러면, 심층신경망(200)의 방향식별망(220)은 복수의 객체영상(OVt) 각각을 순차로 입력받고, 객체영상(OVt)에 포함된 객체(obj)가 선박일 확률과, 선박인 경우, 객체영상(OVt)의 객체(obj)의 항해 방향이 복수의 방향(0, 45, 90, 135, 180, 225, 270, 315도) 각각에 해당할 확률을 산출한다. 여기서, 복수의 객체영상(OVt) 모두에 포함된 객체(obj)가 선박이라고 가정한다. 이에 따라, 방향식별망(220)은 S340 단계에서 객체영상(OVt)의 객체(obj)의 항해 방향이 복수의 방향(0, 45, 90, 135, 180, 225, 270, 315도) 각각에 해당할 확률을 산출하며, 이러한 확률이 방향벡터(Dt)가 된다. 방향식별망(220)은 제1 내지 제9 출력 노드(a1 내지 a9) 중 방향식별망(220)은 제1 내지 제8 출력 노드(a1 내지 a8)의 출력값만 출력함으로써 방향벡터(Dt)를 생성할 수 있다. 예컨대, 방향식별망(220)에 도 4의 제1 내지 제4 객체영상(OV1, OV2, OV3, OV4)이 입력된 경우, 출력값 제1 내지 제4 방향벡터(D1, D2, D3, D4)는 D1=[0.01, 0.77, 0.02, 0.11, 0.09, 0.06 0.02 0.03], D2=[0.01, 0.81, 0.02, 0.11, 0.09, 0.06 0.02 0.03], D3=[0.01, 0.01, 0.79, 0.11, 0.03, 0.04 0.12 0.03], D4=[0.01, 0.02, 0.11, 0.83, 0.09, 0.06 0.02 0.03]가 될 수 있다. 즉, 배의 방향이 90도, 90도, 135도 및 180도로 변화하는 것을 알 수 있다.
다음으로, 심층신경망(200)의 덧셈기(230)는 S350 단계에서 복수의 방향벡터(Dt) 각각에 대응하는 복수의 영역벡터(Bt) 및 복수의 시간벡터(Tt)를 더하여 시간 순서로 정렬된 복수의 항해벡터(Xt)를 생성한다. 예컨대, 도 4의 제1 내지 제4 객체영상(OV1, OV2, OV3, OV4)에 대응하는 제1 내지 제4 항해벡터(X1, X2, X3, X4)는 X1=D1+B1+T1, X2=D2+B2+T2, X3=D3+B3+T3, X4=D4+B4+T4와 같이 도출된다.
다음으로, 심층신경망(200)의 항해예측망(220)은 S360 단계에서 복수의 항해벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 항해예측벡터를 산출한다. 이때, 항해예측망(220)에서 제1 은닉셀그룹(HCG1)의 은닉셀은 이전 스테이지의 상태값(Ht-1)과 현 스테이지의 입력값인 항해벡터(Xt)에 대해 상태 및 입력 가중치(Wh, Wx)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지에 전달한다. 이어서, 제2 은닉셀그룹(HCG2)의 은닉셀은 이전 스테이지의 상태값(Ht-1)에 대해 상태 가중치(Wh)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지에 전달한다. 그리고 마지막 은닉셀인 제3 은닉셀그룹의 은닉셀은 이전 스테이지의 상태값(Ht-1)에 대해 상태 가중치(Wh)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 현 스테이지의 상태값(Ht)에 출력 가중치(Wy)를 적용하는 연산을 수행하여 출력값, 즉, 항해예측벡터(Yk)를 산출한다. 이와 같이, 항해예측망(220)은 해당 객체(obj)의 항해 상태의 경향성을 나타내는 복수의 항해벡터(Xt)를 기초로 소정 시간 이후(k-n, k>n)의 해당 객체(obj)의 항해 상태를 예측한 항해예측벡터(Yk)를 산출할 수 있다. 이러한 항해예측벡터(Yk)는 소정 시간 이후(k-n, k>n)의 방향벡터(Dk), 영역벡터(Bk) 및 시간벡터(Tk)를 포함할 수 있다(Yk=Dk+Bk+Tk).
이에 따라, 관제부(400)는 S370 단계에서 항해예측벡터(Yk)의 시간벡터(Tk)가 나타내는 시간에 영역벡터(Bk)로부터 도출되는 영역상자(B)가 감시영상(SV) 내의 기 설정된 경고 영역과 적어도 일부가 중첩되며, 방향벡터(Dk)가 충돌 가능 방향을 지향하는지 여부를 통해 위험도를 분석한다. 그리고 관제부(400)는 S380 단계에서 위험도가 임계치 이상인지 여부를 판별한다.
이때, 관제부(400)는 항해예측벡터(Yk)의 시간벡터(Tk)가 나타내는 시간에 영역벡터(Bk)로부터 도출되는 영역상자(B)가 감시영상(SV) 내의 기 설정된 경고 영역과 적어도 일부가 중첩되며, 방향벡터(Dk)가 충돌 가능 방향을 지향하면, 위험도가 임계치 이상인 것으로 판별할 수 있다. 예컨대, 도 4의 감시영상(SV)은 3행4열의 12개의 셀로 구분되며, 2행3열 및 3행3열[(2, 3), (3, 3)]의 셀이 경고 영역이며, 해당 영역을 지향하는 방향이 충돌 가능 방향이라고 가정한다. 도 4에 도시된 바와 같이, 도출된 항해예측벡터(Yk)에 따르면, 시간벡터(Tk)가 나타내는 시간 k에 영역벡터(Bk)의 영역상자(B)는 감시영상(SV)의 3행3열(3, 3)의 셀과 일부 중첩되며, 방향벡터(Dk)는 감시영상(SV)의 3행3열(3, 3)을 지향한다. 이러한 경우, 관제부(400)는 충돌 위험을 나타내는 위험도가 기 설정된 임계치 이상인 것으로 판단한다. 그러면, 관제부(400)는 S390 단계에서 통신부(11)를 통해 사용자장치, 경보기, 관제서버 등에 충돌 위험을 알리는 경보 메시지를 전송한다. 이러한 경보 메시지는 현재, 즉, 항해벡터 X4 = OV4 + B4 + T4의 영상과 위치 정보를 포함한다.
이와 같이, 본 발명의 실시예에 따르면, 복수의 항해벡터로부터 심층신경망을 이용하여 소정 시간 후의 객체의 항해 상태를 예측함으로써 충돌 가능 여부를 미리 예측하고, 충돌 가능성이 있는 경우, 이를 경고할 수 있다.
한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
10: 관제장치 11: 통신부
12: 카메라부 13: 입력부
14: 표시부 15: 저장부
16: 제어부 20: 서비스서버
30: 쇼핑몰서버 100: 전처리부
200: 심층신경망 210: 객체식별망
220: 방향식별망 230: 덧셈기
240: 항해예측망 300: 학습부
400: 관제부
12: 카메라부 13: 입력부
14: 표시부 15: 저장부
16: 제어부 20: 서비스서버
30: 쇼핑몰서버 100: 전처리부
200: 심층신경망 210: 객체식별망
220: 방향식별망 230: 덧셈기
240: 항해예측망 300: 학습부
400: 관제부
Claims (16)
- 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치에 있어서,
감시영상을 촬영하기 위한 카메라부;
상기 촬영된 감시영상에 포함된 객체가 차지하는 영역을 나타내는 영역상자를 특징점 검출을 통해 특정하여 객체영상을 검출하는 전처리부;
상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 심층신경망; 및
상기 확률에 따라 상기 객체가 선박인지 여부를 판정하고, 판정 결과, 상기 객체가 선박이면, 상기 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출하고, 산출된 위험도가 임계치 이상이면 충돌 위험을 경고하는 관제부;
를 포함하며,
상기 전처리부는
상기 영상에서 특징점이 검출되지 않으면,
상기 감시영상에서 수평선을 검출하고, 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대한 후, 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 제1항에 있어서,
상기 전처리부는
상기 감시영상에서 특징점이 검출되면,
해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 삭제
- 제1항에 있어서,
상기 관제부는
상기 객체의 영역상자의 좌표를 통해 객체영상의 넓이를 산출한 후,
상기 감시영상의 넓이 대 상기 객체영상의 넓이의 비율이 기 설정된 임계치 이상이면, 상기 위험도가 임계치 이상인 것으로 판단하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 제1항에 있어서,
상기 심층신경망은
객체영상이 입력되는 입력층;
상기 객체영상 혹은 특징영상에 대해 컨벌루션 연산에 의해 도출되는 적어도 하나의 특징영상을 포함하는 하나 이상의 컨벌루션층;
컨벌루션 연산을 통해 생성된 특징 영상에 대해 풀링 연산을 통해 도출되는 적어도 하나의 특징 영상을 도출하는 하나 이상의 풀링층;
특징영상 혹은 이전 계층의 노드값을 입력받아 활성화함수에 의한 연산을 통해 노드값이 산출되는 복수의 연산 노드를 포함하는 하나 이상의 완전연결층; 및
상기 완전연결층의 노드값을 입력받아 활성화함수에 의한 연산을 통해 출력값이 산출되는 복수의 출력 노드를 포함하는 출력층;
을 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치에 있어서,
복수의 프레임을 포함하는 감시영상을 촬영하기 위한 카메라부;
상기 복수의 프레임 각각에서 순차로 객체가 차지하는 영역을 나타내는 영역상자를 통해 복수의 객체영상을 검출하는 전처리부;
상기 복수의 객체 영상 각각에 대응하여 시간 순서에 따라 정렬된 복수의 항해벡터를 생성하고, 상기 복수의 항해벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 소정 시간 후의 상기 객체의 항해 상태를 예측하는 항해예측벡터를 산출하는 심층신경망; 및
상기 항해예측벡터로부터 상기 소정 시간 후의 상기 객체의 항해 방향 및 상기 객체가 상기 감시영상에서 차지하는 영역을 나타내는 영역상자를 도출하고, 도출된 항해 방향이 충돌 가능 방향이고, 도출된 영역상자가 상기 감시영상 내의 기 설정된 경고 영역과 적어도 일부가 중첩되면, 충돌 위험을 경고하는 관제부;
를 포함하며,
상기 심층신경망은
상기 복수의 객체영상 각각의 객체의 항해 방향을 나타내는 복수의 방향벡터를 도출하는 방향식별망;
상기 도출된 복수의 방향벡터에 상기 복수의 객체영상 각각의 상기 감시영상 상에서의 상기 영역상자의 좌표를 나타내는 영역벡터 및 상기 복수의 객체영상 각각이 생성된 시간을 나타내는 시간벡터를 결합하여 상기 복수의 항해벡터를 생성하는 덧셈기; 및
순차로 정렬된 복수의 스테이지로 이루어지며,
이전 스테이지의 상태값과 현 스테이지의 입력값인 항해벡터에 대해 상태 및 입력 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하는 제1 은닉셀그룹과,
이전 스테이지의 상태값에 대해 상태 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하는 제2 은닉셀그룹과,
이전 스테이지의 상태값에 대해 상태 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 출력 가중치를 적용하는 연산을 수행하여 출력값인 항해예측벡터를 산출하는 은닉셀을 포함하는 제3 은닉셀그룹을 포함하는
항해예측망;
을 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 삭제
- 삭제
- 제6항에 있어서,
상기 항해예측망은
시간 순서에 따라 정렬되는 복수의 항해벡터를 입력받는 순환입력층;
상기 복수의 항해벡터 각각에 대응하여 상기 복수의 스테이지의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 상기 항해예측벡터를 산출하는 복수의 은닉셀을 포함하는 순환은닉층; 및
상기 산출된 위험도를 출력하는 순환출력층;
을 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 제6항에 있어서,
상기 전처리부는
상기 감시영상에서 특징점이 검출되면,
해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하고,
상기 영상에서 특징점이 검출되지 않으면,
상기 감시영상에서 수평선을 검출하고, 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대한 후, 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출한 후, 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하고, 특정된 영역박스를 통해 상기 객체영상을 검출하는 것을 특징으로 하는
접근 선박을 인식하기 위한 장치. - 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 방법에 있어서,
카메라부가 감시영상을 촬영하는 단계;
전처리부가 상기 촬영된 감시영상에 포함된 객체가 차지하는 영역을 나타내는 영역상자를 특징점 검출을 통해 특정하여 객체영상을 검출하는 단계;
심층신경망이 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 단계; 및
관제부가 상기 확률에 따라 상기 객체가 선박인지 여부를 판정하는 단계;
상기 관제부가 상기 판정 결과, 상기 객체가 선박이면, 상기 선박과의 충돌이 발생할 확률을 나타내는 위험도를 산출하는 단계; 및
상기 관제부가 상기 산출된 위험도가 임계치 이상이면 충돌 위험을 경고하는 단계;
를 포함하며,
상기 객체영상을 검출하는 단계는
상기 전처리부가 상기 영상에서 특징점이 검출되지 않으면, 상기 감시영상에서 수평선을 검출하는 단계;
상기 전처리부가 상기 검출된 수평선의 윗부분의 영상을 소정 크기로 확대하는 단계;
상기 전처리부가 상기 확대된 수평선의 윗부분의 영상에서 해리스 코너 알고리즘을 이용하여 복수의 코너점을 검출하는 단계;
상기 전처리부가 상기 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하는 단계; 및
상기 전처리부가 상기 특정된 영역박스를 통해 상기 객체영상을 검출하는 단계;
를 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 방법. - 제11항에 있어서,
상기 객체영상을 검출하는 단계는
상기 전처리부가 상기 감시영상에서 특징점이 검출되면, 해리스 코너(Harris corner) 알고리즘을 이용하여 상기 감시영상 내의 복수의 코너점을 검출하는 단계;
상기 전처리부가 상기 검출된 복수의 코너점의 밀집 구역을 찾아 객체가 차지하는 영역을 나타내는 영역박스를 특정하는 단계;
상기 전처리부가 상기 특정된 영역박스를 통해 상기 객체영상을 검출하는 단계;
를 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 방법. - 삭제
- 제11항에 있어서,
상기 위험도를 산출하는 단계는
상기 관제부가 상기 객체의 영역상자의 좌표를 통해 객체영상의 넓이를 산출하는 단계; 및
상기 관제부가 상기 감시영상의 넓이 대 상기 객체영상의 넓이의 비율이 기 설정된 임계치 이상이면, 상기 위험도가 임계치 이상인 것으로 판단하는 단계;
를 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 방법. - 제11항에 있어서,
상기 심층신경망이 상기 객체영상의 객체가 선박인지 여부를 확률로 출력하는 단계는
상기 심층신경망의 입력층이 객체영상을 입력받는 단계;
상기 심층신경망의 제1 컨벌루션층이 상기 객체영상에 대해 필터를 이용한 컨벌루션 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계;
상기 심층신경망의 제1 풀링층이 상기 제1 컨벌루션층의 특징영상에 대해 필터를 이용한 풀링 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계;
상기 심층신경망의 제2 컨벌루션층이 상기 제1 풀링층의 특징영상에 대해 필터를 이용한 컨벌루션 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계;
상기 심층신경망의 제2 풀링층이 상기 제2 컨벌루션층의 특징영상에 대해 필터를 이용한 풀링 연산을 수행하여 적어도 하나의 특징영상을 도출하는 단계;
상기 심층신경망의 제1 완결연결층의 복수의 연산 노드가 상기 제2 풀링층의 특징영상에 대해 활성화함수에 의한 연산을 통해 노드값을 산출하는 단계;
상기 심층신경망의 제2 완결연결층의 복수의 연산 노드가 상기 제1 완결연결층의 노드값에 대해 활성화함수에 의한 연산을 통해 노드값을 산출하는 단계; 및
상기 심층신경망의 출력층의 복수의 출력 노드가 상기 제2 완전연결층의 노드값에 대해 활성화함수에 의한 연산을 통해 상기 객체영상의 객체가 선박인지 여부에 대한 확률인 출력값을 산출하는 단계;
를 포함하는 것을 특징으로 하는
접근 선박을 인식하기 위한 방법. - 제11항, 제12항, 제14항 및 제15항 중 어느 한 항에 따른 접근 선박을 인식하기 위한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200059221A KR102199627B1 (ko) | 2020-05-18 | 2020-05-18 | 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200059221A KR102199627B1 (ko) | 2020-05-18 | 2020-05-18 | 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102199627B1 true KR102199627B1 (ko) | 2021-01-07 |
Family
ID=74126648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200059221A KR102199627B1 (ko) | 2020-05-18 | 2020-05-18 | 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102199627B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102311089B1 (ko) * | 2021-06-03 | 2021-10-07 | 호서대학교 산학협력단 | 스마트 해상부이를 이용한 해양을 모니터링하기 위한 장치 및 이를 위한 방법 |
KR20230050762A (ko) * | 2021-10-08 | 2023-04-17 | (주)이현정보통신 | 망 분리 기반의 비상 상황을 전파하기 위한 장치 및 이를 위한 방법 |
KR102590238B1 (ko) * | 2022-10-25 | 2023-10-17 | 주식회사 아이티유 | 머신러닝 기반 선박높이 예측을 위한 영상처리 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150075505A (ko) * | 2013-12-26 | 2015-07-06 | 한국전자통신연구원 | 영상 기반 선박 주변 타선정보 제공장치 및 그 방법 |
KR20190024400A (ko) | 2017-08-31 | 2019-03-08 | 경북대학교 산학협력단 | 객체 인식 장치 및 그 제어 방법 |
KR102028824B1 (ko) * | 2018-02-14 | 2019-10-04 | 경일대학교산학협력단 | 객체를 식별하는 인공신경망을 이용한 워터마킹을 처리하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
KR102060567B1 (ko) * | 2019-05-13 | 2019-12-30 | 호서대학교 산학협력단 | 심층신경망을 이용한 선박 주변 객체 인식 방법 및 시스템 |
-
2020
- 2020-05-18 KR KR1020200059221A patent/KR102199627B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150075505A (ko) * | 2013-12-26 | 2015-07-06 | 한국전자통신연구원 | 영상 기반 선박 주변 타선정보 제공장치 및 그 방법 |
KR20190024400A (ko) | 2017-08-31 | 2019-03-08 | 경북대학교 산학협력단 | 객체 인식 장치 및 그 제어 방법 |
KR102028824B1 (ko) * | 2018-02-14 | 2019-10-04 | 경일대학교산학협력단 | 객체를 식별하는 인공신경망을 이용한 워터마킹을 처리하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
KR102060567B1 (ko) * | 2019-05-13 | 2019-12-30 | 호서대학교 산학협력단 | 심층신경망을 이용한 선박 주변 객체 인식 방법 및 시스템 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102311089B1 (ko) * | 2021-06-03 | 2021-10-07 | 호서대학교 산학협력단 | 스마트 해상부이를 이용한 해양을 모니터링하기 위한 장치 및 이를 위한 방법 |
KR20230050762A (ko) * | 2021-10-08 | 2023-04-17 | (주)이현정보통신 | 망 분리 기반의 비상 상황을 전파하기 위한 장치 및 이를 위한 방법 |
KR102659216B1 (ko) * | 2021-10-08 | 2024-04-19 | (주)이현정보통신 | 망 분리 기반의 비상 상황을 전파하기 위한 장치 및 이를 위한 방법 |
KR102590238B1 (ko) * | 2022-10-25 | 2023-10-17 | 주식회사 아이티유 | 머신러닝 기반 선박높이 예측을 위한 영상처리 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102199627B1 (ko) | 심층신경망을 기반으로 해상 객체 거리를 고려한 접근 선박을 인식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 | |
KR102171122B1 (ko) | 장면의 다차원 특징을 기반으로 하는 선박 탐지 방법 및 시스템 | |
CN106845487B (zh) | 一种端到端的车牌识别方法 | |
Hu et al. | Robust real-time ship detection and tracking for visual surveillance of cage aquaculture | |
CN112016349B (zh) | 停车位的检测方法、装置与电子设备 | |
KR101877294B1 (ko) | 객체, 영역 및 객체가 유발하는 이벤트의 유기적 관계를 기반으로 한 복수 개 기본행동패턴 정의를 통한 복합 상황 설정 및 자동 상황 인지가 가능한 지능형 방범 cctv 시스템 | |
US10867390B2 (en) | Computer vision processing | |
CN112947419B (zh) | 避障方法、装置及设备 | |
Park et al. | Small and overlapping worker detection at construction sites | |
JP2006059252A (ja) | 動き検出方法及び装置,プログラム,車両用監視システム | |
CN111814725A (zh) | 一种基于cnn+lstm+mlp组合神经网络判断监控视频着火的预警方法 | |
CN109543685A (zh) | 图像语义分割方法、装置和计算机设备 | |
Tang et al. | Multiple-kernel adaptive segmentation and tracking (MAST) for robust object tracking | |
CN110866475A (zh) | 手部脱离方向盘及图像分割模型训练方法、装置、终端、介质 | |
CN116052026A (zh) | 一种无人机航拍图像目标检测方法、系统及存储介质 | |
CN111460917B (zh) | 基于多模态信息融合的机场异常行为检测系统及方法 | |
CN113065379B (zh) | 融合图像质量的图像检测方法、装置、电子设备 | |
Kong et al. | Lightweight algorithm for multi-scale ship detection based on high-resolution SAR images | |
Wang et al. | Object counting in video surveillance using multi-scale density map regression | |
Delibasoglu et al. | Motion detection in moving camera videos using background modeling and FlowNet | |
KR101842488B1 (ko) | 원거리 동적 객체의 검지 및 추적을 기반으로 한 행동패턴인식기법이 적용된 지능형 감지시스템 | |
CN117787690A (zh) | 吊装作业安全风险识别方法及识别装置 | |
CN116931583B (zh) | 移动对象的确定方法和避让方法、装置、设备及存储介质 | |
CN116681687B (zh) | 基于计算机视觉的导线检测方法、装置和计算机设备 | |
CN111429727B (zh) | 一种开放式停车位中车牌识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |