KR102616432B1 - 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 - Google Patents
개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 Download PDFInfo
- Publication number
- KR102616432B1 KR102616432B1 KR1020230108946A KR20230108946A KR102616432B1 KR 102616432 B1 KR102616432 B1 KR 102616432B1 KR 1020230108946 A KR1020230108946 A KR 1020230108946A KR 20230108946 A KR20230108946 A KR 20230108946A KR 102616432 B1 KR102616432 B1 KR 102616432B1
- Authority
- KR
- South Korea
- Prior art keywords
- video
- metadata
- analysis
- party
- video analysis
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 121
- 238000012423 maintenance Methods 0.000 title claims abstract description 23
- 230000002708 enhancing effect Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 134
- 230000008569 process Effects 0.000 claims abstract description 112
- 238000004891 communication Methods 0.000 claims abstract description 41
- 238000010191 image analysis Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000009826 distribution Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 26
- 239000008186 active pharmaceutical agent Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000013135 deep learning Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005316 response function Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003703 image analysis method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/71—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4355—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명의 실시예에 따르면, 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템이 제공된다. 영상 분석 시스템은 상기 영상 분석 시스템은 중앙처리장치 및 메모리로 구성된 컴퓨팅 장치에서 독립적으로 실행되는 복수의 프로세스를 포함하며, 상기 복수의 프로세스는, 영상 데이터를 분석하여 이벤트를 검출하며, 검출된 이벤트에 연관된 제1 데이터 포맷의 영상 메타 데이터를 생성하는 영상 분석, 상기 영상 분석 프로세스와 비동기 메시징 방식으로 통신하여 상기 영상 메타 데이터를 획득하고, 획득한 영상 메타 데이터를 제2 데이터 포맷으로 변환하며, 변환된 영상 메타 데이터를 써드파티 앱에 대응하는 통신 프로토콜을 지원하는 인터페이스를 통해 상기 써드파티 앱으로 전송하는 링크 및 상기 영상 분석 프로세스와 써드파티 영상 관리 서버간 상기 영상 메타 데이터 교환 및 API 연동하는 게이트웨이를 포함하되, 상기 영상 분석은 써드파티 앱 연동에 비관여한다.
Description
본 발명은 영상 분석에 관한 것이다.
사회 범죄가 나날이 증가하고, 과학 기술도 함께 발전하면서 범죄 예방이나 교통 체증과 같은 모니터링을 위해 CCTV와 같은 카메라를 활용한 감시 시스템이 빠르게 개선되고 있다. 최근에는 감시요원이 단순히 감시하는 것을 넘어 지능적으로 알림을 주는 기술로까지 발전하고 있다. 또한, 교통 체증과 같은 경우 효율적인 모니터링을 위하여 빅데이터의 수집이 절실하게 요청되면서 카메라 영상 기술은 홍수 속에 있다고 해도 과언이 아니다.
영상 분석 시스템은 카메라가 촬영한 영상을 분석하는 소프트웨어로 구성된다. 일반적으로, 소프트웨어를 구동하여 실행되는 프로세스는 여러 기능들, 예를 들어, 변환, 분석, 분배 등이 통합되도록 개발되므로, 개발도 쉽지 않지만, 유지 보수는 더더욱 어렵다. 개발자마다 등급과 성향이 다르기 때문에, 모든 기능이 통합된 소프트웨어를 동시에 코딩하기도 어렵다. 특히, 영상 분석은 특정 사용자가 단독으로 사용하는 방식에서 다수의 써드 파티 앱이 다양한 목적으로 사용하는 방식으로 발전하고 있어서, 이들과의 연동을 위해 지속적인 수정 및 유지 보수가 필요하므로, 모든 기능이 통합된 단일 프로세스로는 이러한 요구를 수용하기 어렵다.
본 발명은 영상 분석 시스템의 분석 효율을 높일 수 있는 소프트웨어 아키텍처를 제공하고자 한다.
본 발명의 실시예에 따르면, 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템이 제공된다. 영상 분석 시스템은 상기 영상 분석 시스템은 중앙처리장치 및 메모리로 구성된 컴퓨팅 장치에서 독립적으로 실행되는 복수의 프로세스를 포함하며, 상기 복수의 프로세스는, 영상 데이터를 분석하여 이벤트를 검출하며, 검출된 이벤트에 연관된 제1 데이터 포맷의 영상 메타 데이터를 생성하는 영상 분석, 상기 영상 분석 프로세스와 비동기 메시징 방식으로 통신하여 상기 영상 메타 데이터를 획득하고, 획득한 영상 메타 데이터를 제2 데이터 포맷으로 변환하며, 변환된 영상 메타 데이터를 써드파티 앱에 대응하는 통신 프로토콜을 지원하는 인터페이스를 통해 상기 써드파티 앱으로 전송하는 링크 및 상기 영상 분석 프로세스와 써드파티 영상 관리 서버간 상기 영상 메타 데이터 교환 및 API 연동하는 게이트웨이를 포함하되, 상기 영상 분석은 써드파티 앱 연동에 비관여한다.
일 실시예로, 영상 분석 시스템은 센서가 제공한 센싱 데이터를 분석하여 이벤트를 검출하며, 검출된 이벤트에 연관된 상기 제1 데이터 포맷의 센서 메타 데이터를 생성하는 센서 분석을 더 포함하며, 상기 링크 프로세스는 상기 센서 분석 프로세스와 비동기 메시징 방식으로 내부 통신하여 상기 센서 메타 데이터를 획득하고, 획득한 센서 메타 데이터를 상기 제2 데이터 포맷으로 변환하며, 변환된 센서 메타 데이터를 써드파티 앱에 대응하는 통신 프로토콜을 지원하는 인터페이스를 통해 상기 써드파티 앱으로 전송할 수 있다.
일 실시예로, 상기 링크는 상기 영상 메타 데이터와 상기 센서 메타 데이터를 통합하여 상기 써드파티 앱으로 전송할 수 있다.
일 실시예로, 영상 분석 시스템은 카메라로부터 수신된 영상 데이터를 영상 분석에 적합하게 처리하여 분배하는 영상 분배 및 상기 영상 분석과 상기 비동기 메시징 방식으로 통신하여 상기 이벤트를 설정하며, 상기 영상 분배로부터 분배된 영상과 상기 영상 메타 데이터를 모니터링하는 영상 관리 서버를 더 포함할 수 있다.
일 실시예로, 상기 비동기 메시징 방식은 ZMQ(Zero-message queue)일 수 있다.
일 실시예로, 상기 영상 분석은 상기 영상 메타 데이터를 배포하는 제1 메시지 큐를 구비하며, 상기 링크는 상기 제1 메시지 큐를 구독하며, 상기 제1 메시지 큐가 배포한 새로운 영상 메타 데이터를 기록하는 제2 메시지 큐를 구비할 수 있다.
일 실시예로, 상기 링크는 상기 제2 메시지 큐에 기록된 영상 메타 데이터를 복수의 상이한 제2 데이터 포맷 중 하나로 변환하는 복수의 파서를 포함할 수 있다.
일 실시예로, 상기 게이트웨이는 상기 영상 분석과 http 통신하고, 상기 써드파티 영상 관리 서버와 Https 통신하여, 상기 써드파티 영상 관리 서버로부터의 API 명령의 수를 제한할 수 있다.
본 발명에 따르면, 영상 분석 장치 및 시스템은 기능별로 별도의 프로세스로 동작함으로써, 분석과 외부 연동이 분리되어, 영상 분석의 효율을 극대화시킬 수 있다. 한편, 본 발명에 따른 소프트웨어 아키텍처는 이미 구축된 영상 분석 시스템에도 적용이 가능하며, 그에 따라 분석 효율의 향상 및 외부 연동 기능 강화의 효과를 기대할 수 있다.
이하에서 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다. 특히, 첨부된 도면들은 발명의 이해를 돕기 위해서, 도면에 표현된 요소 중 일부를 다소 과장하여 표현하고 있다.
도 1은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템을 예시적으로 도시한 도면이다.
도 2a는 종래의 영상 분석 시스템과 써드파티 시스템간 연동 방식을 예시적으로 도시한 도면이다.
도 2b는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 엣지를 예시적으로 도시한 도면이다.
도 3은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 수신 기능을 예시적으로 도시한 도면이다.
도 4는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면이다.
도 5는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면이다.
도 6은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 외부 VMS 연동 기능을 예시적으로 도시한 도면이다.
도 7은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 네트워크 공격 대응 기능을 예시적으로 도시한 도면이다.
도 1은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템을 예시적으로 도시한 도면이다.
도 2a는 종래의 영상 분석 시스템과 써드파티 시스템간 연동 방식을 예시적으로 도시한 도면이다.
도 2b는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 엣지를 예시적으로 도시한 도면이다.
도 3은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 수신 기능을 예시적으로 도시한 도면이다.
도 4는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면이다.
도 5는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면이다.
도 6은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 외부 VMS 연동 기능을 예시적으로 도시한 도면이다.
도 7은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 네트워크 공격 대응 기능을 예시적으로 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 특히, 이하에서 첨부된 도면을 참조하여 설명될 기능, 특징, 실시예들은 단독으로 또는 다른 실시예와 결합하여 구현될 수 있다. 따라서 본 발명의 범위가 첨부된 도면에 도시된 형태에만 한정되는 것이 아님을 유의하여야 한다.
첨부된 도면 전체에 걸쳐서, 동일하거나 유사한 요소는 동일한 도면 부호를 사용하여 인용된다. 한편, 설명의 편의와 이해를 돕기 위해서, 도면은 다소 과장하여 도시되었다.
도 1은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템을 예시적으로 도시한 도면이다.
도 1을 참조하면, 영상 분석 시스템은 엣지(100), 영상 분배(200) 및 영상 관리 서버(Video management server; 이하 VMS)(300)를 포함할 수 있다. 추가적으로 또는 선택적으로, 영상 분석 시스템은 ML(400)을 더 포함할 수 있다. 엣지(100), 영상 분배(200), VMS(300) 및 ML(400)은 물리적으로 하나의 컴퓨팅 장치에서 독립적으로 실행되거나, 통신망을 통해 연결된 둘 이상의 컴퓨팅 장치에서 각각 실행되는 프로세스일 수 있다. 한편, 엣지(100), 영상 분배(200), VMS(300) 및 ML(400)은 그 내부에서 동작하는 복수의 서브 프로세스를 포함할 수 있다. 컴퓨팅 장치는 하나 이상의 중앙처리장치(예를 들어, CPU, GPU, AP 등), 메모리, 통신 모뎀 칩 등과 같은 물리적 구성 요소를 포함한다.
써드파티 앱(500), 써드파티 VMS(600) 및 오픈API(700)는 엣지(100)를 통해 영상 분석 시스템과 연동하는 써드파티 프로세스이다. 써드파티 프로세스도 하나 이상의 컴퓨팅 장치에서 독립적으로 실행되는 프로세스일 수 있다. 써드파티 프로세스별로 사용하는 통신 프로토콜이 상이할 수 있으므로, 엣지(100)는 이들과의 연동을 위해 복수의 통신 프로토콜을 지원할 수 있다.
엣지(100), 영상 분배(200), VMS(300) 및 ML(400)은 상호간에 하나 이상의 통신 프로토콜로 데이터를 교환할 수 있으며, 엣지(100)와 써드파티 프로세스도 하나 이상의 통신 프로토콜로 데이터를 교환할 수 있다. 통신 프로토콜은 동기화 여부, 전송 대상 등에 따라 다양하며, 프로세스간에 사용하는 통신 프로토콜은 하나 이상일 수 있다. 예를 들어, Media(101)가 제공한 영상 데이터는 RTSP(Real time streaming protocol)를 통해 엣지(100), 영상 분배(200) 및 VMS(300) 사이에서 전송되며, 엣지(100)가 생성한 메타 데이터는 REST(Representational State Transfer) API, ZMQ(Zero-Message queue), MOTT(MQ Telemetry Transport), TCP/IP, Serial 등 복수의 프로토콜 중 어느 하나를 통해 엣지(100)와 써드파티 프로세스 사이에서 전송될 수 있다.
물리적으로 독립된 컴퓨팅 장치에서 실행되는 프로세스간 데이터 교환은 통신망을 통해 이루어질 수 있다. 통신망은 데이터의 전송이 가능한 유선, 무선 또는 유무선 혼합 데이터 통신망일 수 있다. 유선 통신망은 패킷 형태의 디지털 데이터 전송을 위한 통신 프로토콜을 지원하는 전용선이나 케이블망 등일 수 있으며, 무선 통신망은 CDMA, WCDMA, GSM, EPC, LTE, 와이브로 뿐 아니라, 와이파이 이외에 블루투스, 지그비 등과 같이, 무선 신호를 이용하여 데이터를 전송하는 통신 시스템일 수 있다.
엣지(100)는 카메라(101) 및 센서(102)로부터 수신한 데이터를 분석한다. 엣지(100)는 영상 데이터를 카메라(101)로부터 직접 제공받거나 VMS(300)로부터 제공받을 수 있다. 카메라(101)는 2차원 영상, 3차원 영상, 적외선 영상, 깊이 영상 등과 같은 영상 데이터를 제공하는 CCTV, IP 카메라, 적외선 카메라 등일 수 있다. 또한, 카메라(101)는 특정 장소에 설치된 고정식 카메라뿐 아니라, 드론이나 로봇에 탑재되어 이동하는 이동식 카메라도 포함한다. 센서(102)는 임의의 대상을 측정하여 센싱 데이터를 제공한다. 측정 대상은 예를 들어, 온도, 습도, 조도, 가스 농도, 미세먼지 농도 등과 같은 환경 변수가 대표적이나, 이외에도, 전력량, 물/가스 사용량 등 에너지 사용량일 수도 있다.
영상 분배(200)는 대규모 사이트에서 적용되는 프로세스로서, 카메라(101)로부터 수신된 영상 데이터를 트랜스코딩하여 엣지(100) 및/또는 VMS(300)로 분배한다.
VMS(300)는 엣지(100) 내 영상 분석(110) 및 센서 분석(120)과 직접 통신하여, 채널 및 이벤트를 설정하거나 모니터링할 수 있다. 또한, VMS(300)는 영상 분배(200) 및/또는 엣지(100)로부터 영상 데이터를 수신할 수 있다. 모니터링에 의해, VMS(300)는 영상 분석(110)의 오탐을 감지하며, 오탐을 기록하여 ML(400)에서 활용할 수 있게 한다.
ML(400)은 영상 분석에 사용되는 딥러닝 모델을 반자동으로 학습시킨다. ML(400)은 라벨링(Labeling), 학습(Training), 레지스트리(Registry) 및 데이터셋(Dataset)의 프로세스로 구성될 수 있다. 라벨링은 수집된 데이터를 수동 혹은 자동으로 라벨링을 할 수 있도록 지원한다. 학습은 라벨링된 데이터를 설정된 값에 따라 학습 및 모델을 업로드 할 수 있도록 도와주는 프로세스이다. 레지스트리는 업로드된 모델을 관리 하는 프로세스로, 딥러닝 모델을 단순 보관하며, 학습에 사용된 파라미터 히스토리를 관리한다. 데이셋은 엣지(100)에 저장된 오탐으로 기록된 메타 데이터를 주기적으로 다운로드하여 라벨링할 수 있는 데이터를 수집한다.
써드파티 앱(500), 써드파티 VMS(600) 및 오픈 API(700)는 영상 분석 시스템에 속하지 않는 타사 시스템에 속한 프로세스 또는 어플리케이션이며, 엣지(100)와 통신하여 데이터를 제공받는다. 이하에서는 구분하여 설명이 필요한 경우를 제외하면 써드파티 앱(500), 써드파티 VMS(600) 및 오픈 API(700)을 써드파티 시스템으로 총칭한다. 오픈 API(700)는 누구나 사용할 수 있도록 공개된 API이다. 써드파티 앱(500) 및 써드파티 VMS(600)별로 사용하는 통신 프로토콜은 상이할 수 있으며, 예를 들어, ZMQ, MQTT, TCP/IP, Serial, REST 등이 대표적으로 사용되고 있다.
도 2a는 종래의 영상 분석 시스템과 써드파티 시스템간 연동 방식을 예시적으로 도시한 도면이며, 도 2b는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 엣지를 예시적으로 도시한 도면이다.
도 2a를 참조하면, 종래의 영상 분석 시스템에서, 영상 분석 프로세스 및/또는 센서 분석 프로세스는 써드파티 시스템과 REST API를 통해 직접 통신한다. 즉, 영상 분석 프로세스 및/또는 센서 분석 프로세스가 분석뿐 아니라 써드파티 시스템과의 연동까지 처리해야 하므로, 분석 효율을 향상시키기 어려운 문제가 있었다. 또한, 분석 프로세스가 연동 기능도 포함하도록 개발해야 하기 때문에, 써드파티 시스템이 변경될 때마다, 프로세스 전체를 수정해야 했다.
도 2b를 참조하면, 엣지(100)는 독립적으로 실행되는 복수의 프로세스로 구성될 수 있다. 복수의 프로세스는 단일 컴퓨팅 장치에서 실행되거나 복수의 컴퓨팅 장치에 분산되어 실행될 수 있다. 엣지(100)는 써드파티 시스템과의 연동을 담당하므로, 영상 분석 시스템에서 실행되는 내부 프로세스는 복수의 통신 프로토콜을 이용하여 영상 분석 시스템 이외의 컴퓨팅 장치에서 실행되는 외부 프로세스, 예를 들어, 써드파티 앱, 써드파티 VMS, 오픈 API 등과 데이터를 교환할 수 있다. 정리하면, 엣지(100)를 제외한 나머지 내부 프로세스는 상호간에 통신할 수 있지만, 외부 프로세스와는 엣지(100)를 통해서만 통신할 수 있다.
통신 프로토콜은 내부 프로세스간에 메타 데이터를 포함한 메시지를 비동기 메시징 방식으로 전달하며, 추가적으로 내부 및 외부 프로세스와의 연동을 위해 단방향 요청/응답을 전송하기 위해 비암호화 메시징 방식인 http로 통신하는 REST, 영상 데이터를 전송하는 RTSP, 외부 프로세스와의 데이터 교환을 위한 MQTT, TCP/IP, Serial 등을 더 포함할 수 있다. ZMQ는 큐에 일시 저장된 메시지를PUB(Publish)와 SUB(Subscribe) 명령을 이용하여 소켓, 스레드, 또는 프로세스간에 반복적으로 전달하는 대표적인 비동기 메시징 방식으로, 상대적으로 성능이 뛰어나면서도 연동이 용이한 장점을 가진다. 반면, REST는 상대적으로 낮은 성능을 가지지만, 신뢰성 있는 데이터 교환을 보장하며, 개발 및 사용이 편리하여 내부 프로세스 및 외부 프로세스간 데이터 교환을 위한 통신 프로토콜로 널리 사용되고 있다.
써드파티 시스템과의 연동 작업은, 기능별로 독립적으로 실행하도록 구성된 엣지(100)의 내부 프로세스, 및 내부 프로세스와 써드파티 시스템간 데이터 교환에 적용된 비동기 메시징 방식에 의해 기존에 비해 획기적으로 단순화될 수 있다. 기존 영상 분석 시스템은 영상 분배, 영상 분석, 영상 분배, 외부 연동 등과 같은 주요 기능이 단일 프로세스에 의해 구현되는 반면, 엣지(100)를 포함한 영상 분석 시스템은 주요 기능을 담당하는 프로세스를 독립적으로 구현하며, 써드파티 시스템과의 외부 연동을 위한 내부 프로세스간 데이터 교환에 비동기 메시징 방식을 적용함으로써, 다른 프로세스에 대한 의존성이 최소화되어 프로세스별 독립적인 실행이 보장되며, 프로세스별로 유지, 개발이 가능해진다. 예를 들어, 종래의 영상 분석 시스템에서는, 새로운 외부 프로세스와의 연동을 위해 프로세스 전체를 수정해야 하지만, 본 발명에 따른 영상 분석 시스템에서는, 외부 프로세스와의 연동만을 담당하는 링크(130)만 수정하면 충분하다.
엣지(100)는 분석 및 연동을 위한 독립된 복수의 프로세스를 포함한다.
영상 분석(110)은 영상 데이터를 분석하여 이벤트를 검출하고, 검출된 이벤트에 연관된 메타 데이터를 생성하는 기능을 독립적으로 수행하는 프로세스이며, 센서 분석(120)은 센싱 데이터를 분석하여 이벤트를 검출하고, 검출된 이벤트에 연관된 메타 데이터를 생성하는 기능을 독립적으로 수행하는 프로세스이다.
링크(130)는 분석 프로세스(110, 120)가 제공한 메타 데이터를 써드파티 시스템에 전송하는 기능을 독립적으로 수행하는 프로세스이며, 게이트웨이(140)는 써드파티 VMS(600)와 데이터를 송수신하는 프로세스이며, 분석 프로세스(110, 120)를 보호하는 역할도 한다. 즉, 분석 프로세스(110, 120) 및 링크(130)는 독립적으로 실행되는 프로세스이므로, 분석 프로세스(110, 120)는 링크(130)에 의한 외부 프로세스와의 연동에 비관여하며, 외부 프로세스는 링크(130)와만 연동하여 메타 데이터를 교환하거나, 게이트웨이(140)와만 연동하여 API 명령 및 메타 데이터를 교환한다.
업데이트 에이전트(150)는 내부 프로세스를 업데이트하는 프로세스로서, 각 프로세스를 실행하기 위한 프로그램을 업데이트하거나, 분석 프로세스(110, 120)의 딥러닝 모델을 업데이트할 수 있다.
데이터베이스(160)는 분석 프로세스(110, 120)가 생성한 메타 데이터 및/또는 영상 데이터를 저장한다.
도 3은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 수신을 예시적으로 도시한 도면이다.
도 3을 참조하면, 영상 분석(110)은 영상 데이터를 영상 분배(200)로부터 수신하거나, 카메라(101)로부터 직접 수신할 수 있다.
영상 분배(200)는 대규모 사이트에서 적용되는 프로세스이다. 영상 분배(200)는 RTSP 또는 ONVIF에 의해 카메라(101)로부터 수신된 영상 데이터를 영상 분석에 적합한 영상으로 트랜스코딩하여 엣지(100) 및/또는 VMS(300)로 분배한다. 한편, 영상 분배(200)는 수신한 영상 데이터를 녹화하고, 재생할 수 있다.
또한, 영상 분배(200)는 수신한 영상 데이터를 딥러닝을 이용하여 분석 과정에서 노이즈로 작용할 수 있는 환경 요소를 제거한다. 환경 요소는 다양하며, 주간에는 비나 눈, 야간에는 차량이나 가로등의 불빛이 대표적이다. 예를 들어, 도로에 반사된 불빛은 주변의 어두운 영역에 비해 밝은 영역의 화소값을 가진다. 영상에 표출된 밝은 영역은 예를 들어, Morphology 연산을 적용하여 감소되거나 제거될 수 있다. 이외에도, 환경 요소의 유형에 따라, 둘 이상의 제거 방식이 적용될 수 있다. 한편, 추가적으로, 환경 요소는 엣지(100)의 분석 범위, 즉, 관심 영역 이외의 영역도 포함할 수 있다.
변환된 영상 데이터는 RTSP에 의해 영상 분석(110) 및/또는 VMS(300)로 전송될 수 있다.
중소 규모 사이트의 경우, 영상 분배(200)는 엣지(100)에 포함될 수도 있다. 따라서, 영상 분석(110)이 영상 데이터를 카메라(101)로부터 직접 수신하며, 수신한 영상 또는 영상 분석에 적합하게 변환된 영상 데이터를 VMS(300)에 제공하거나, 데이터베이스(160)에 저장할 수 있다.
도 4는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면으로, 영상 분석 시스템 내에서의 메타 데이터 교환을 나타낸다.
도 4를 참조하면, 영상 분석(110)은 영상 데이터를 분석하여 메타 데이터를 생성하기 위한 복수의 프로세스를 포함한다. 영상 분석(110)은 영상 데이터에서 객체를 검출하는 객체 검출부(111), 검출된 객체를 추적하는 객체 추적부(112), 추적중인 객체에 연관된 이벤트를 검출하여 메타 데이터를 생성하는 이벤트 검출부(113)를 기본적으로 포함하며, 중소 규모 사이트에 설치된 영상 분석 시스템의 경우, 영상 분석(110)은 카메라(101)로부터 수신한 영상 데이터를 RTSP로 분배하는 영상 분배부(114)를 더 포함할 수 있다. 도면에 예시된 구조에서는, 객체 검출부(111), 객체 추적부(112) 및 이벤트 검출부(113)가 분리된 프로세스로 표시되어 있으나, 객체 검출, 객체 식별 및 객체 추적은 분리할 수 없는 일련의 과정으로도 수행될 수 있음을 이해하여야 한다.
한편, 영상 분석(110)은 다른 프로세스와의 통신을 지원하는 복수의 인터페이스를 포함한다. 이하에서, 포트, 소켓 또는 API와 같이 통신을 위한 구성 요소를 인터페이스로 총칭한다. 영상 분석(110)은 카메라(101)로부터 영상 데이터를 수신하는 RTSP 인터페이스(115) 및 메타 데이터를 배포하는 ZMQ 인터페이스(116)를 기본적으로 포함하며, 추가적으로 또는 선택적으로, 영상 분배(200), VMS(300) 및/또는 게이트웨이(140)와 통신하기 위한 REST 인터페이스(117) 및 영상 데이터를 VMS(300) 및/또는 데이터베이스(160)에 전송하기 위한 RTSP 인터페이스(118)을 더 포함할 수 있다.
영상 분석(110)은 학습된 인공지능 모델을 탑재할 수 있다. 인공지능 모델은 딥 러닝 기반의 전이학습을 할 수 있는 CNN 계열의 베이스 모델, 예를 들어, ResNet, Vgg 등일 수 있다. 딥 러닝 기반 인공지능 모델 중 회귀 분석을 통해 객체의 위치 및 분류를 수행할 수 있는 모델은 R-CNN (Regional-based Convolutional Neural Network)이 대표적이며, 속도 향상을 위해 Fast-RCNN 및 Faster-RCNN을 추가적으로 또는 보완적으로 적용할 수 있다. 인공지능 모델은 객체 검출부(111), 객체 추적부(112) 및 이벤트 검출부(113) 중 하나 이상에서 실행될 수 있다. 영상 분석(110)에 탑재된 인공지능 모델은 업데이트 에이전트(150)에 의해 갱신될 수 있다.
객체 검출부(111)는 영상 데이터에서 하나 이상의 객체를 검출하며, 검출된 객체를 유형별로 분류할 수 있다. 객체 검출부(111)는 예를 들어, 복수의 객체 이미지를 이용하여 학습된 객체 검출 모듈, 또는 객체를 표현한 템플릿을 이용하는 객체 검출 모듈일 수 있다. 특히, 객체 검출부(111)는 기하 필터를 적용하여, 검출된 객체를 2차원 또는 3차원 기하 도형으로 표현하기 위해 필요한 복수의 좌표값을 결정할 수 있다. 결정된 좌표값을 이용하면, 검출된 객체는 2차원 또는 3차원 기하 도형으로 영상에 표출되거나 객체 추적에 이용될 수 있다. 또한, 객체 검출부(111)는 환경 필터를 적용하여, 영상에서 노이즈를 제거할 수 있다.
객체 추적부(112)는 검출된 객체의 움직임을 추적한다. 객체 추적부(112)는 객체의 움직임 예측을 통해 객체를 추적하거나, 객체의 속성을 비교하여 객체를 추적할 수 있다. 객체 추적 방식은 제1 영상 데이터(또는 프레임)에서 검출된 객체의 움직임을 예측하거나 속성을 검출하고, 이를 제2 영상 데이터(또는 프레임)에서 검출된 객체와 비교하여 두 객체가 동일 객체인지를 판단한다. 영상을 구성하는 매크로 블록 단위로 비교하여 객체의 움직임을 추적하거나 영상에서 배경을 제거하여 객체만 영상에 남도록 하여 객체 검출 및 움직임을 추적하는 방식 등과 같이, 둘 이상의 객체 추적 방식이 적용될 수 있다.
객체 추적부(112)는 영상 데이터에서 동일 객체를 식별할 수 있다. 복수의 카메라(105)는 관심 영역 내에서 이동하는 객체를 촬영할 수 있다. 따라서, 제1 시점에서 검출된 객체가 제2 시점에서 카메라 영상에서 사라지며, 제3 시점에서 다시 영상에 출현할 수 있다. 일 실시예로, 객체 검출부(111)는 제1 내지 제3 시점에서의 촬영 영역간 공간적 관계를 참고하여 둘 이상의 영상에 표출된 동일 객체를 검출할 수 있다. 다른 실시예로, 객체 검출부(111)는, 딥러닝 분석을 통해, 검출된 객체의 속성을 추출하며, 추출한 객체의 속성을 비교하여, 상이한 시점에 각각 표출된 객체가 동일 객체인지를 판단할 수 있다. 판단 결과에 따라, 예를 들어, 두 객체가 서로 일치할 확률(이하 유사도)이 표출되거나, 제1 시점에서의 영상 분석 결과로 부여되었던 객체 식별자가 제3 시점에서의 카메라 영상에서 검출된 객체에 다시 부여될 수 있다.
객체 추적부(112)는 객체의 유형에 따라, 해당 객체를 식별하는데 적절한 속성을 이용할 수 있다. 사람 객체의 경우, 객체 추적부(112)는 예를 들어, 시각적 특징, 얼굴 특징, 걸음 걸이 특징 등을 이용하여 사람 객체를 재인식할 수 있다. 시각적 특징으로는, 사람 객체의 키, 착용한 옷의 종류나 색깔 등이 이용될 수 있다.
이벤트 검출부(113)는 검출된 객체, 객체의 움직임, 및 객체의 주변 환경 중 어느 하나 또는 이들의 조합에 기초하여, 이벤트 조건에 부합하는 이벤트를 검출한다. 이벤트 검출부(113)는 둘 이상의 상이한 영상 분석 방식으로 구동할 수 있다. 예를 들어, 딥러닝 기반 이벤트 검출부는 검출된 객체의 속성을 추출하고, 속성에 기초하여 설정된 이벤트 조건에 부합하는지를 판단하며, 룰 기반 이벤트 검출부는 관심 영역에서 객체의 움직임에 기초하여 이벤트 조건에 부합하는 이벤트를 검출한다. 한편, 딥러닝 분석에 의해 제1 이벤트 조건에 부합하는 객체는 룰 기반 분석에 전달되어, 제2 이벤트 조건에 부합하는지 판단될 수 있다. 딥러닝 방식으로 수행하도록 설정된 이벤트 조건이 복수이면, 각 이벤트 조건에 따라 동작하는 딥러닝 기반 이벤트 검출부도 복수일 수 있다. 동일하게, 룰 기반 방식을 수행하도록 설정된 이벤트 조건이 복수이면, 각 이벤트 조건에 따라 동작하는 룰 기반 이벤트 검출부도 복수일 수 있다.
이벤트 분류 | 설명 |
이기종 객체 분류 | 카메라에서 검출되는 객체(object)의 종류가 다른 속성값을 분류 및 통합이벤트 검출 |
불법주정차 | 차가 주차되지 말아야 할 곳에 정지 되어있는 경우 일정 시간이 지체되었을 때 검출 |
속도 및 위치 | 카메라가 설치되어있는 지점 기준 차가 주행될 때 차량의 속도 및 위치값 표출 |
통행량 및 혼잡도 | 도로 내 차의 밀집도 및 카운팅 검출 |
불법 유턴 및 역주행 | 도로 내 차의 방향성을 검지하여 불법 유턴 및 역주행 검출 |
좌회전감응 | 좌회전 신호를 기다리는 차가 일정 시간이상 대기하고 있을시 신호와 연계하여 좌회전 신호 표출 |
피플카운팅 및 혼잡도 | 특정 구역을 출입하는 인원에 대한 카운팅 및 일정 인원 이상 출입에 의한 혼잡도 검출 |
무단 횡단 | 무단침입, 불법 침입 또는 출입 금지 구역에 비인가자가 출입하는 순간 검출 |
체류 | 검출된 객체가 일정 시간 같은 자리에서 계속 검출될 때 체류 상황으로 판단 |
배회 | 사람 객체 검출 후 특정 이벤트 없이 일정 시간 이상 배회, 서성거림 등 의심스러운 행동 검출 |
유기 | 검출된 사람 객체로부터 분리된 새로운 객체 검출 |
쓰러짐 | 걷다가 또는 서 있다가 바닥으로 쓰러지는 행동으로 머리가 바닥에 닿았을 때 쓰러짐으로 검출 |
얼굴인식 및 검출 | 카메라 영상에서 사람의 얼굴을 인식하고 얼굴 특징점(FFV)을 추출하는 기능 |
유사도 분석 | 카메라 영상에서 검출된 얼굴의 특징점과 DB에 저장된 얼굴DB와 유사도를 비교하여 인가/비인가자를 검출 |
싸움 | 사람 검출 후 싸우는 자세를 측정하고, 다수의 행동을 분석 하여 검출 |
군중밀도 | 검출된 사람들의 관심영역의 밀도를 판단하는 기능 |
불꽃/연기 | 불꽃, 연기를 검출하여 화재인지 아닌지를 판단하는 기능 |
노약자 | 사람과 맹인 지팡이나, 휠체어 등을 검출하여 노약자를 판단 하는 기능 |
흉기 | 사람과, 흉기를 검출하여 위험한 사람을 판단하는 기능 |
장구류 | 장구류를 착용한 사람과 그렇지 않은 사람을 판단하는 기능 |
표 1은 이벤트 검출부(113)가 검출할 수 있는 이벤트를 예시적으로 열거하고 있다. 이벤트 검출부(113)는 연동하는 써드파티 시스템에서 요구하는 이벤트 및/또는 카메라에 의해 촬영되는 감시 영역에 적합한 이벤트를 검출할 수 있다. 예를 들어, 지능형 교통 시스템에 적용되거나 연동하는 경우, 이벤트 검출부(113)는 차량의 속도, 좌회전 감응 등을 검출할 수 있으며, 빌딩 관리 시스템에 적용되거나 연동하는 경우, 이벤트 검출부(113)는 얼굴 인식, 화재 발생 등을 검출할 수 있다.
이벤트가 검출되면, 이벤트 검출부(113)는 이벤트 검출 시점에 연관된 타임 스탬프를 포함한 메타 데이터를 생성한다. 타임 스탬프는 영상 분배 시점을 기준으로 하여 이벤트 검출 시점을 나타낸다. 예를 들면, 카메라(101)가 제공한 영상은 영상 분배(200)에 의해 영상 분석(100)과 VMS(300)에 분배되며, 영상 분석(100)에 의해 생성된 메타 데이터는 이후에 VMS(300)에 제공되므로, VMS(300)에서, 영상 데이터와 메타 데이터간 동기는 일치하지 않는다. 또한, 영상 분석(110)에 의한 메타 데이터는 비동기 메시징 방식으로 PUB-SUB되므로, 써드파티 시스템에서도, 영상 데이터와 메타 데이터간 동기가 일치하지 않는다. 따라서, VMS(300) 및 써드파티 시스템은 메타 데이터에 포함된 타임 스탬프를 이용하여 영상 데이터와 메타 데이터간 동기를 맞출 수 있다.
이벤트 검출부(113)는 생성한 메타 데이터를 ZMQ 인터페이스(116)의 메시지 큐 MQ1에 기록하여 메타 데이터를 배포(Publish)한다. 메시지 큐 MQ1은 VMS(300) 및 링크(130)가 구독(Subscribe)한다. VMS(300)의 ZMQ 인터페이스(301)는 메시지 큐 MQ1을 구독하며, 메시지 큐 MQ1에 새로운 메타 데이터가 기록되면, 이를 ZMQ 인터페이스(301)의 메시지 큐 MQ2에 기록한다. VMS(300)는 메시지 큐 MQ2메타 데이터에 포함된 타임 스탬프를 이용하여 영상 데이터와 메타 데이터간 동기를 맞추며, 이를 이용하여 엣지(100)에 의해 실행되는 영상 분석을 모니터링할 수 있다.
도 5는 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 영상 분석 및 메타 데이터 생성 기능을 예시적으로 도시한 도면으로, 써드파티 앱과의 메타 데이터 교환을 나타낸다.
도 5를 참조하면, 영상 분석(110)은 영상 데이터를 분석하여 생성한 영상 메타 데이터를 제1 메시지 큐 MQ1에 입력하며, 센서 분석(120)은 센싱 데이터를 분석하여 생성한 센서 메타 데이터를 제3 메시지 큐 MQ3에 입력한다. 영상 메타 데이터 및 센서 메타 데이터는 예를 들어 JSON 형식일 수 있다. 센서 분석(120)은 관심 영역에 설치된 복수 유형의 센서와 둘 이상의 통신 프로토콜을 이용하여 센싱 데이터를 수신할 수 있다. 예를 들어, 센서 분석(120)은 센서 유형별로 미리 학습된 인공지능 모델을 포함하며, 센싱 데이터가 정상 범위를 벗어나는지 여부를 판단한다. 센서 메타 데이터는 센싱 데이터 및 판단 결과를 포함할 수 있다.
링크(130)는 영상 분석(110) 및 센서 분석(120)이 제공한 메타 데이터를 써드파티 시스템에 전송하는 기능을 독립적으로 수행한다. 추가적으로, 링크(130)는 오픈 API(700)가 제공한 오픈 데이터를 써드파티 시스템에 전송할 수 있다. 링크(130) 및 게이트웨이(140)는 영상 분서 시스템과 외부 프로세스간 연동을 담당하는 프로세스이며, 독립된 실행, 유지, 개량을 위해서, 단일 컴퓨팅 장치에서 실행되는 경우에도, 다른 프로세스와는 통신 프로토콜을 통해 통신하며, 특히, 분석 프로세스(110, 120)와는 비동기 메시징 방식으로 통신한다. 이를 위해, 링크(130)는 영상 분석(110)의 메시지 큐 MQ1 및 센서 분석(120)의 메시지 큐 MQ3를 구독하는 ZMQ 인터페이스(131)를 포함하며, 추가적으로 또는 선택적으로, 오픈 API(700)로부터 오픈 데이터를 수신하는 REST 인터페이스(132)를 더 포함할 수 있다. ZMQ 인터페이스(131)는 메시지 큐 MQ1 및 메시지 큐 MQ3에 새로운 메타 데이터가 기록되면, 이를 ZMQ 인터페이스(131)의 메시지 큐 MQ4에 기록한다.
한편, 링크(130)는 메타 데이터를 외부 프로세스와의 데이터 교환에 적합한 형식으로 변환하는 복수의 파서(133) 및 파서(132)에 의해 변환된 포멧의 메타 데이터를 외부 프로세스와의 통신 프로토콜로 전달하는 복수의 인터페이스(134 내지 138)를 포함한다. 파서(132)는, 영상 분석 시스템의 내부 프로세스를 위한 데이터 포맷을 가진 새로운 메타 데이터가 메시지 큐 MQ4에 기록되면, 이를 읽어오는 리시버(133a) 및 읽어온 메타 데이터를 특정 통신 프로토콜에 적합한 포맷으로 변환하여 통신 인터페이스로 전달하는 센더(133b)를 포함한다. 여기서, 센더(133b)는 영상 메타 데이터와 센서 메타 데이터를 통합할 수 있다. 도 5는, ZMQ 인터페이스(131)를 통해 링크(130)에 전달된 메타 데이터를 TCP/IP 인터페이스(136)를 통해 외부 프로세스로 전달되는 경우를 나타낸다. 메시지 큐 MQ4에 기록된 메타 데이터의 데이터 포맷은 JSON이다. 파서(133)의 리시버(133a)는 타임스탬프를 포함한 메타 데이터를 메시지 큐 MQ4에서 읽어오며, 센더(133b)는 JSON을 XML 포맷으로 포맷 변환한다.
링크(130)는 파서 또는 통신 인터페이스를 추가 또는 개량하는 방식을 통해 외부 프로세스와의 연동을 가능하게 할 수 있다. 분석 프로세스(110, 120)는 분석을 수행하고 결과를 링크(130)에 비동기 메시징 방식으로 제공한 이후에는 외부 프로세스와의 연동에 관여하지 않으므로, 영상 분석 시스템의 분석 효율이 크게 증가될 수 있다. 특히, 기존에는 외부 프로세스별로 개발을 진행하였기 때문에, 개발은 쉽지만, 외부 프로세스의 수가 증가하면, 개량 및 유지보수가 어려워지는 문제가 있었다. 더욱이, 분석 프로세스(110, 120) 및 VMS(500)는 외부 프로세스와의 연동으로 인해 링크(130)는 메시지 큐 MQ4에 기록된 메타 데이터를 분석 프로세스(110, 120)의 실행에 비동기화 방식으로 처리하므로, 외부 프로세스와 데이터 교환을 효율적으로 수행할 수 있다. 따라서 외부 프로세스와의 연동을 위한 작업 과정이 매우 단순해질 수 있다.
도 6은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 외부 VMS 연동 기능을 예시적으로 도시한 도면이다.
도 6을 참조하면, 링크(130) 및 게이트웨이(140)는 써드파티 VMS(600)와 메타 데이터를 교환한다. 링크(130)는 제1 통신 프로토콜을 통해 수신한 제1 데이터 포멧의 메타 데이터를 제2 데이터 포맷의 메타 데이터로 변환 및/또는 통합하여 제2 통신 프로토콜로 전송하는데 반해, 게이트웨이(140)는 영상 분석(110)과 외부 VMS(600)간 메타 데이터 및 API 연동을 지원한다. 이를 위해, 게이트웨이(140)는 영상 분석(110)과 http 통신하는 REST 인터페이스(141), 외부 프로세스와 Https 통신하는 REST 인터페이스(142) 및 전송할 데이터의 포맷을 써드파티 VMS(600)가 사용하는 API에 적합한 데이터 포맷으로 변환하는 파서(143)을 포함한다. 링크(130)와 유사하게, 게이트웨이(140)도 외부 프로세스와의 연동을 위한 작업을 효율적이고 단순화할 수 있다. 특히, 영상 분석(110)과 게이트웨이(140)는 내부 프로세스이기 때문에, http 통신으로 충분하며, Https가 필요 없는 경우가 대부분이다. 따라서, 게이트웨이(140)에 의해, 외부 프로세스에 의한 API 명령의 수를 제한할 수 있어서, 영상 분석(110)의 부하를 크게 감소시킬 수 있다.
도 7은 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템의 네트워크 공격 대응 기능을 예시적으로 도시한 도면이다.
도 7을 참조하면, 영상 분석 시스템은 페이크 VMS(610a, 610b, 610c)로부터 공격을 받을 수 있다. 상술한 바와 같이, 분석 프로세스(110, 120)는 내부 프로세스와의 통신만 가능하도록 구성되어 있으며, 외부 프로세스와는 링크(130) 및 게이트웨이(140)를 통해 통신할 수 있다. 써드파티 VMS(600)와의 API를 통한 통신을 담당하는 게이트웨이(140)는, 복수의 페이크 VMS(610a, 610b, 610c)로부터의 API 명령이 비정상적으로 증가하면, API 명령의 수를 제한하거나 영상 분석(110)과의 통신을 일시적으로 단절하여, 영상 분석(110)을 네트워크 공격으로부터 보호할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 특히, 도면을 참조하여 설명된 본 발명의 특징은 특정 도면에 도시된 구조에 한정되는 것이 아니며, 독립적으로 또는 다른 특징에 결합되어 구현될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (8)
- 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템에 있어서,
상기 영상 분석 시스템은 중앙처리장치 및 메모리로 구성된 컴퓨팅 장치에서 독립적으로 실행되는 복수의 프로세스를 포함하며,
상기 복수의 프로세스는,
영상 데이터를 분석하여 이벤트를 검출하며, 검출된 이벤트에 연관된 제1 데이터 포맷의 영상 메타 데이터를 생성하는 영상 분석;
상기 영상 분석 프로세스와 비동기 메시징 방식으로 통신하여 상기 영상 메타 데이터를 획득하고, 획득한 영상 메타 데이터를 제2 데이터 포맷으로 변환하며, 변환된 영상 메타 데이터를 써드파티 앱에 대응하는 통신 프로토콜을 지원하는 인터페이스를 통해 상기 써드파티 앱으로 전송하는 링크; 및
상기 영상 분석 프로세스와 써드파티 영상 관리 서버간 상기 영상 메타 데이터 교환 및 API 연동하는 게이트웨이를 포함하되,
상기 영상 분석은 상기 영상 메타 데이터를 배포하는 제1 메시지 큐를 구비하고, 상기 링크는 상기 제1 메시지 큐를 구독하며, 상기 제1 메시지 큐가 배포한 영상 메타 데이터를 기록하는 제2 메시지 큐를 구비하여,
상기 영상 분석은 써드파티 앱 연동에 비관여하는 영상 분석 시스템. - 청구항 1에 있어서, 센서가 제공한 센싱 데이터를 분석하여 이벤트를 검출하며, 검출된 이벤트에 연관된 상기 제1 데이터 포맷의 센서 메타 데이터를 생성하는 센서 분석을 더 포함하며,
상기 링크는 상기 센서 분석 프로세스와 비동기 메시징 방식으로 내부 통신하여 상기 센서 메타 데이터를 획득하고, 획득한 센서 메타 데이터를 상기 제2 데이터 포맷으로 변환하며, 변환된 센서 메타 데이터를 써드파티 앱에 대응하는 통신 프로토콜을 지원하는 인터페이스를 통해 상기 써드파티 앱으로 전송하는 영상 분석 시스템. - 청구항 2에 있어서, 상기 링크는 상기 영상 메타 데이터와 상기 센서 메타 데이터를 통합하여 상기 써드파티 앱으로 전송하는 영상 분석 시스템.
- 청구항 1에 있어서,
카메라로부터 수신된 영상 데이터를 영상 분석에 적합하게 처리하여 분배하는 영상 분배; 및
상기 영상 분석과 상기 비동기 메시징 방식으로 통신하여 상기 이벤트를 설정하며, 상기 영상 분배로부터 분배된 영상과 상기 영상 메타 데이터를 모니터링하는 영상 관리 서버를 더 포함하는 영상 분석 시스템. - 청구항 1에 있어서, 상기 비동기 메시징 방식은 ZMQ(Zero-message queue)인 영상 분석 시스템.
- 삭제
- 청구항 1에 있어서, 상기 링크는
상기 제2 메시지 큐에 기록된 영상 메타 데이터를 복수의 상이한 제2 데이터 포맷 중 하나로 변환하는 복수의 파서를 포함하는 영상 분석 시스템. - 청구항 1에 있어서, 상기 게이트웨이는 상기 영상 분석과 http 통신하고, 상기 써드파티 영상 관리 서버와 Https 통신하여, 상기 써드파티 영상 관리 서버로부터의 API 명령의 수를 제한하는, 영상 분석 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230108946A KR102616432B1 (ko) | 2023-08-21 | 2023-08-21 | 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230108946A KR102616432B1 (ko) | 2023-08-21 | 2023-08-21 | 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102616432B1 true KR102616432B1 (ko) | 2023-12-22 |
Family
ID=89309550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230108946A KR102616432B1 (ko) | 2023-08-21 | 2023-08-21 | 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102616432B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101722664B1 (ko) * | 2015-10-27 | 2017-04-18 | 울산과학기술원 | 능동형 상황 인식을 위한 다인칭 시스템, 웨어러블 카메라, cctv, 관제서버 및 방법 |
KR20200055297A (ko) * | 2018-11-13 | 2020-05-21 | 전자부품연구원 | 강화학습 기반 ptz 카메라 제어 시스템 및 방법 |
KR102411209B1 (ko) * | 2021-12-24 | 2022-06-22 | 쿨사인 주식회사 | 엣지 디바이스에서 생성한 객체 탐지 이벤트 기반의 영상 분류 시스템 |
KR102435951B1 (ko) * | 2022-02-08 | 2022-08-24 | 주식회사 오라시스템 | 멀티 사이트 통합 운영을 위한 스마트 ems 기반 지능형 영상 감시 시스템 |
KR102499340B1 (ko) | 2021-05-12 | 2023-02-10 | 고현준 | 이기종 객체 필터 기반 하이브리드 영상 분석 장치 및 방법 |
-
2023
- 2023-08-21 KR KR1020230108946A patent/KR102616432B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101722664B1 (ko) * | 2015-10-27 | 2017-04-18 | 울산과학기술원 | 능동형 상황 인식을 위한 다인칭 시스템, 웨어러블 카메라, cctv, 관제서버 및 방법 |
KR20200055297A (ko) * | 2018-11-13 | 2020-05-21 | 전자부품연구원 | 강화학습 기반 ptz 카메라 제어 시스템 및 방법 |
KR102499340B1 (ko) | 2021-05-12 | 2023-02-10 | 고현준 | 이기종 객체 필터 기반 하이브리드 영상 분석 장치 및 방법 |
KR102411209B1 (ko) * | 2021-12-24 | 2022-06-22 | 쿨사인 주식회사 | 엣지 디바이스에서 생성한 객체 탐지 이벤트 기반의 영상 분류 시스템 |
KR102435951B1 (ko) * | 2022-02-08 | 2022-08-24 | 주식회사 오라시스템 | 멀티 사이트 통합 운영을 위한 스마트 ems 기반 지능형 영상 감시 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4105101A1 (en) | Monitoring system, monitoring method, and monitoring device for railway train | |
JP6905850B2 (ja) | 画像処理システム、撮像装置、学習モデル作成方法、情報処理装置 | |
Wang et al. | Cooperative object tracking and composite event detection with wireless embedded smart cameras | |
KR101570339B1 (ko) | 영상분석 서버를 통한 미래 발생범죄 예측 시스템 | |
KR102172239B1 (ko) | 영상 기반 비정상 상황 모니터링 방법 및 시스템 | |
JP2006174468A (ja) | 画像の分散解析の方法及び装置 | |
CN109740411A (zh) | 基于人脸识别的智能监控系统、监控方法及快速出警方法 | |
Fernández et al. | An intelligent surveillance platform for large metropolitan areas with dense sensor deployment | |
KR20220000172A (ko) | 엣지 컴퓨팅 기반 보안 감시 서비스 제공 장치, 시스템 및 그 동작 방법 | |
CN107330414A (zh) | 暴力行为监控方法 | |
KR102676020B1 (ko) | 영상의 객체 간 상호작용행위 검출 장치 및 방법 | |
Fawzi et al. | Embedded real-time video surveillance system based on multi-sensor and visual tracking | |
KR20220000873A (ko) | 인공 지능을 이용한 관제 서비스 시스템 | |
CN114913663A (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
Aguilar-Ponce et al. | A network of sensor-based framework for automated visual surveillance | |
KR101372327B1 (ko) | 스쿨존 안전관리 시스템 및 그 제공방법 | |
JP7363838B2 (ja) | 異常挙動通知装置、異常挙動通知システム、異常挙動通知方法、およびプログラム | |
KR102616432B1 (ko) | 개별 모듈구성으로 시스템 연동 및 유지보수 효율이 향상된 소프트웨어 아키텍처를 가진 영상 분석 시스템 | |
CN1413343A (zh) | 监视方法、系统和模块 | |
KR102411209B1 (ko) | 엣지 디바이스에서 생성한 객체 탐지 이벤트 기반의 영상 분류 시스템 | |
KR101436283B1 (ko) | 영상분석 서버를 통한 미래 발생범죄 예측 시스템 | |
KR102680429B1 (ko) | 상황별 데이터 자동학습 기반 지능형 영상분석 플랫폼 | |
KR20220000209A (ko) | 딥러닝 분산 처리 기반 지능형 보안 감시 장치의 동작 프로그램이 기록된 기록매체 | |
KR20220000175A (ko) | 엣지 컴퓨팅 기반 지능형 보안 감시 서비스 제공 장치의 동작방법 | |
Li et al. | Real-time abnormal behavior recognition and monitoring system based on panoramic video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |