KR102014267B1 - Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object - Google Patents

Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object Download PDF

Info

Publication number
KR102014267B1
KR102014267B1 KR1020180140985A KR20180140985A KR102014267B1 KR 102014267 B1 KR102014267 B1 KR 102014267B1 KR 1020180140985 A KR1020180140985 A KR 1020180140985A KR 20180140985 A KR20180140985 A KR 20180140985A KR 102014267 B1 KR102014267 B1 KR 102014267B1
Authority
KR
South Korea
Prior art keywords
camera
search
searching
nosql
inverse index
Prior art date
Application number
KR1020180140985A
Other languages
Korean (ko)
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 KR1020180140985A priority Critical patent/KR102014267B1/en
Application granted granted Critical
Publication of KR102014267B1 publication Critical patent/KR102014267B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/732Query formulation
    • G06F16/7343Query language or query format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to the present invention, provided is a method for constructing an inverse index DB for high speed image searching. The method is performed by an apparatus for constructing an inverse index DB, and comprises: a rowkey value definition step for defining a rowkey value of a detection object NoSQL DB in which representative images of the detected object are inserted for each camera type; and an object searching step for searching for a specific object detected from a specific camera based on the rowkey value of the NoSQL DB. When a user wants to search for an object by camera or only to search for a specific object instead of a photographed camera, a different type of DB can be used, thereby enabling high-speed image searching.

Description

고속 영상검색용 인버스 인덱스 DB 구축방법 및 장치{Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object}Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object}

본 발명은 고속 영상검색용 Inverse Index DB 구축방법 및 장치에 관한 것이다. 보다 상세하게는, 고속 영상검색용 Inverse Index DB 구축방법 및 장치와 이를 이용하는 객체 검색 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for constructing an inverse index DB for fast image retrieval. More specifically, the present invention relates to a method and apparatus for constructing an inverse index DB for fast image retrieval, and an object search method and apparatus using the same.

데이터베이스(Database, DB)는 복수개의 정보 통신 기기 혹은 여러 사용자에게 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 의미하며, 자료항목의 중복을 없애고 자료를 구조화하여 규칙성을 갖고 저장하여 저장된 자료의 검색과 변경 그리고 새로운 자료를 추가할 때 효율을 높이기 위한 데이터의 집합체를 의미한다.Database (DB) means a set of data that is integrated and managed for the purpose of being shared and used by a plurality of information and communication devices or users. Data is stored and stored with regularity by eliminating duplication of data items. Means a collection of data to improve efficiency when searching, changing, and adding new material.

빅데이터와 ICT 기술이 발전하면서 휴대전화, 태블릿 PC, 웹캠, CCTV 등 각종 정보 통신 기기에서 사진, 오디오, 비디오 등의 데이터가 생산되고 있다. 여기서 생산된 정보와 데이터는 그 양이 엄청나며 온라인을 통해서 공간의 제약을 받지 않고 실시간으로 공유되고 있으며 이러한 정보와 데이터의 양이 급증하게 되면서 효율적인 데이터 관리의 필요성이 대두되면서 이러한 요구를 만족하고자 데이터베이스가 사용되고 있다.With the development of big data and ICT technology, data such as photographs, audio, and video are being produced by various information communication devices such as mobile phones, tablet PCs, webcams, and CCTVs. The information and data produced here are enormous and are shared in real time without being constrained by space online. As the amount of information and data increases rapidly, the necessity of efficient data management emerges. Is being used.

한편, 영상 데이터의 입력이 수 천 개 이상으로 대규모의 영상 시스템일 경우, 시간에 따라 엄청난 규모로 영상 데이터의 크기가 증가하기 때문에 데이터베이스를 통해 영상 데이터를 검색할 경우 속도가 매우 느려지는 문제가 있다. 특히, 이러한 대규모 영상 데이터베이스에서 원하는 객체를 검출하기 위해서 저장된 모든 영상에서의 객체를 순차적으로 탐색하면서 찾아야하기 때문에 이는 거의 불가능하다는 문제점이 있다.On the other hand, in the case of a large-scale video system with more than thousands of video data inputs, the size of the video data increases enormously with time, and thus, when the video data is retrieved through the database, the speed becomes very slow. . In particular, in order to detect a desired object in such a large image database, there is a problem in that it is almost impossible because the objects in all stored images must be sequentially searched and found.

따라서, 전술한 문제점을 해결하기 위해 본 발명의 목적은 고속 영상검색용 Inverse Index DB 구축방법 및 장치와 이를 이용하는 객체 검색 방법 및 장치를 제공하는 데 그 목적이 있다. Accordingly, it is an object of the present invention to provide a method and apparatus for constructing an inverse index DB for fast image retrieval and an object search method and apparatus using the same.

또한, 본 발명의 목적은 이러한 문제를 해결하고자 고속 영상검색 시스템과 검출객체 NoSQL DB, Inverse Index DB를 제공하는 데 그 목적이 있다.In addition, an object of the present invention is to provide a high-speed image search system, a detection object NoSQL DB, Inverse Index DB to solve this problem.

또한, 본 발명의 목적은 이러한 데이터베이스와 객체검출 모듈에서 검출된 객체의 결과를 받아 사용자가 다량의 영상데이터에서 원하는 객체를 고속으로 검색할 수 있는 구조를 제공하는 데 그 목적이 있다.In addition, an object of the present invention is to provide a structure that allows a user to quickly search for a desired object in a large amount of image data by receiving the results of the object detected in such a database and the object detection module.

상기와 같은 과제를 해결하기 위한 본 발명에 따른 고속 영상검색용 Inverse Index DB 구축방법이 제공된다. 상기 방법은, 고속 영상검색용 Inverse Index DB 구축 장치에 의해 수행되고, 검출된 객체의 대표 이미지들이 삽입된 검출객체 NoSQL DB의 rowkey 값을 카메라 종류별로 정의하는 rowkey값 정의 단계; 및 상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색하는 객체 검색 단계를 포함하여, 사용자가 카메라 별로 객체를 검색하고 싶거나 혹은 촬영된 카메라가 아닌 특정 객체만 검색하고 싶을 때에 따라서 다른 종류의 DB를 사용할 수 있어, 고속 영상검색이 가능하다.In order to solve the above problems, there is provided a method of constructing an inverse index DB for fast image retrieval according to the present invention. The method may further include: defining a rowkey value of a detection object NoSQL DB in which a representative image of a detected object is inserted for each camera type, which is performed by an inverse index DB construction apparatus for high-speed image retrieval; And an object searching step of searching for a specific object detected by a specific camera based on the rowkey value of the NoSQL DB, and the user wants to search for an object by camera or only to search for a specific object other than the photographed camera. Different types of DBs can be used in some cases, so that high-speed video retrieval is possible.

일 실시 예에서, 상기 rowkey값 정의 단계는, 상기 특정 객체의 검색에 기여하는 중요도에 따라, 상기 검출 객체 NoSQL DB의 상기 대표 이미지들의 개수를 가변적으로 설정할 수 있다.In an embodiment, the rowkey value defining step may variably set the number of the representative images of the detection object NoSQL DB according to the importance of contributing to the search for the specific object.

일 실시 예에서, 상기 rowkey값 정의 단계 이후, 객체 검출모듈에서 검출된 객체를 Inverse Index DB의 rowkey에 검출 객체를 종류별로 넣어 구조를 재정렬할 수 있다.According to an embodiment, after the rowkey value defining step, the structure may be rearranged by inserting the objects detected by the object detection module into the rowkeys of the inverse index DB for each type.

일 실시 예에서, 상기 객체 검색 단계에서, 카메라 종류별로 정의된 상기 NoSQL DB의 rowkey 값을 사용하여 카메라 기반 검색을 수행할 수 있다. 이때, 상기 검출된 객체의 대표 이미지들을 상기 Inverse Index DB를 사용하여 대표 이미지 기반 검색을 수행할 수 있다.In an embodiment, in the object searching step, a camera-based search may be performed using a rowkey value of the NoSQL DB defined for each camera type. In this case, a representative image based search may be performed on the representative images of the detected objects using the inverse index DB.

일 실시 예에서, 상기 객체 검색 단계 이후, 부가 정보 수정 단계를 더 포함할 수 있다. According to an embodiment, after the object searching step, the method may further include additional information modification.

일 실시 예에서, 상기 객체 검색 단계에서, 상기 카메라 종류와 상기 카메라의 위치 및 상기 카메라에서 촬영되는 객체의 속성에 따라, 상기 객체 검색의 검출 주기를 가변 또는 이벤트 기반으로 검출할 수 있다. 한편, 상기 객체 검색 단계 이후, 상기 검출 주기 이후의 영상에 대해, 상기 객체의 속성에 따라 상기 카메라의 상기 특정 객체의 검색에 기여하는 중요도를 수정하고, 상기 수정된 중요도에 기반하여 상기 대표 이미지의 개수를 조정하는 부가 정보 수정 단계를 더 포함할 수 있다.According to an embodiment, in the object searching step, the detection period of the object search may be detected on a variable or event basis according to the camera type, the position of the camera, and the property of the object photographed by the camera. On the other hand, after the object searching step, for the image after the detection period, the importance that contributes to the search of the specific object of the camera according to the property of the object is corrected, and based on the modified importance of the representative image The method may further include adjusting additional information.

일 실시 예에서, 상기 부가 정보 수정 단계 이후, 상기 수정된 중요도, 상기 조정된 대표 이미지의 개수 및 상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색하는 상기 객체 검색 단계를 더 수행할 수 있다.According to an embodiment, after the additional information modification step, the object searching step of searching for a specific object detected by a specific camera is performed based on the modified importance, the number of the adjusted representative image, and the rowkey value of the NoSQL DB. You can do more.

본 발명의 적어도 일 실시예에 따르면, 고속 영상검색용 Inverse Index DB가 포함된 고속 영상검색 시스템은 사용자가 카메라 별로 객체를 검색하고 싶거나 혹은 촬영된 카메라가 아닌 특정 객체만 검색하고 싶을 때에 따라서 다른 종류의 DB를 사용하여 편의를 제공한다. According to at least one embodiment of the present invention, a fast image search system including an inverse index DB for fast image search is different depending on when a user wants to search for an object for each camera or only a specific object instead of a photographed camera. Provide convenience by using kind DB.

또한, 본 발명의 적어도 일 실시예에 따르면, Inverse Index DB는 검출된 객체의 종류 별로 데이터베이스의 구조를 재배치하는 새로운 개념의 NoSQL기반 데이터베이스를 제공할 수 있다.In addition, according to at least one embodiment of the present invention, the Inverse Index DB may provide a new concept NoSQL-based database for relocating the structure of the database for each type of detected object.

또한, 본 발명의 적어도 일 실시예에 따르면, NoSQL기반 데이터베이스를 도입하여 대규모 영상데이터에서 사용자가 찾고자 하는 객체를 고속으로 검색할 수 있다는 장점이 있다.In addition, according to at least one embodiment of the present invention, there is an advantage that a user can quickly search for an object that a user wants to find in large-scale image data by introducing a NoSQL-based database.

도 1은 본 발명과 관련된 객체 검색 장치의 상세한 구조를 나타낸다.
도 2는 본 발명에 따른 객체 검색 장치의 상세한 구조를 나타낸다.
도 3은 본 발명에 따른 검출객체 NoSQL DB의 개념도를 나타낸다.
도 4는 본 발명에 따른 Inverse Index DB의 개념도를 나타낸다.
도 5는 본 발명에 따른 Inverse Index DB의 개념도의 또 다른 예시이다.
도 6은 본 발명에 따른 고속 영상검색용 Inverse Index DB 구축방법과 객체 검색 방법의 흐름도를 나타낸다.
1 shows a detailed structure of an object searching apparatus according to the present invention.
2 shows a detailed structure of an object searching apparatus according to the present invention.
3 is a conceptual diagram of a detection object NoSQL DB according to the present invention.
4 shows a conceptual diagram of an Inverse Index DB according to the present invention.
5 is another example of a conceptual diagram of an Inverse Index DB according to the present invention.
6 is a flowchart illustrating a method of constructing an inverse index DB for fast image search and an object search method according to the present invention.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The above-described features and effects of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, and thus, those skilled in the art to which the present invention pertains may easily implement the technical idea of the present invention. Could be.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.In describing each drawing, like reference numerals are used for like elements.

제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined in this application. Should not.

이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix modules, blocks, and parts for components used in the following description are given or mixed in consideration of ease of specification, and do not have distinct meanings or roles from each other.

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described to be easily carried out by those of ordinary skill in the art. In the following description of the embodiments of the present invention, when it is determined that the detailed description of the related known functions or known configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

이하에서는, 본 발명에 따른 고속 영상검색용 Inverse Index DB 구축방법 및 장치에 관한 것이다. 보다 상세하게는, 고속 영상검색용 Inverse Index DB 구축방법 및 장치와 이를 이용하는 객체 검색 방법 및 장치에 대해 살펴보기로 한다. Hereinafter, a method and apparatus for constructing an inverse index DB for fast image retrieval according to the present invention. In more detail, a method and apparatus for constructing an inverse index DB for high-speed image search and an object search method and apparatus using the same will be described.

이와 관련하여, 도 1은 본 발명과 관련된 객체 검색 장치의 상세한 구조를 나타낸다. 즉, 도 1은 영상에서의 객체를 검색하기 위한 개념도를 보여준다. 여러 대의 카메라에서 촬영한 영상 데이터는 지정된 영상 데이터 파일 시스템 및 DB(데이터베이스, 영상 데이터 저장 공간, DB의 종류(RDB/NoSQL)와는 이 특허에서 상관없음)에 저장된다. 사용자는 저장된 영상에서 관심 있는 객체(ex. 사람 얼굴, 자동차, 동물 등)를 찾기 위해서, 저장된 모든 영상 데이터를 순차적으로 찾아보면서 원하는 객체를 찾아야한다. 즉, 순차적으로 영상을 보면서 객체를 모두 찾으면 객체가 나온 카메라 번호, 위치, 시간, 모습 등 적절한 정보를 모아 원하는 결과를 얻을 수 있다.In this regard, Figure 1 shows a detailed structure of the object searching apparatus according to the present invention. That is, FIG. 1 shows a conceptual diagram for searching for an object in an image. Image data taken by multiple cameras is stored in a designated image data file system and DB (database, image data storage space, DB type (RDB / NoSQL) irrespective of this patent). In order to find an object of interest (eg, a person's face, a car, an animal, etc.) in a stored image, the user must find a desired object by sequentially searching all stored image data. In other words, if you find all the objects while viewing the images sequentially, you can get the desired result by gathering the appropriate information such as camera number, location, time, and appearance.

그러나 위에서 서술한 기존의 객체 검색 방법은 사람이 직접 모든 영상 데이터를 순차적으로 찾아보면서 원하는 객체를 찾아내야하므로 시간이 오래 걸릴 수있다. 또한 카메라의 대수가 늘어날수록, 저장된 영상이 많을수록 객체 검색 시간은 그에 비례하여 늘어난다. 따라서 수 백, 수 천 개 이상의 대규모 영상 데이터에서 기존의 방식으로 객체를 검색하는 것이 어렵게 된다.However, the conventional object search method described above may take a long time because a person needs to find the desired object by sequentially searching all the image data. In addition, as the number of cameras increases, and as the number of stored images increases, the object search time increases proportionally. This makes it difficult to search for objects in hundreds or thousands of large-scale image data in a conventional manner.

한편, 도 2는 본 발명에 따른 객체 검색 장치의 상세한 구조를 나타낸다. 도 2는 이러한 문제를 해결하기 위해 본 발명에서 제안한 Inverse Index DB와 이를 이용한 고속 영상검색 시스템(점선 박스)을 보여준다.2 shows a detailed structure of an object searching apparatus according to the present invention. FIG. 2 shows an Inverse Index DB proposed by the present invention and a fast image search system (dotted box) using the same to solve this problem.

여러 대의 카메라에서 촬영한 영상 데이터는 영상 데이터 파일 시스템 및 DB에 저장됨과 동시에 객체검출 모듈(Detector Module)로 보내진다. 이 모듈은 기존의 물체 인식 알고리즘과 인공지능 신경망(Faster R-CNN, YOLO, Single Shot multibox Detector 등) 알고리즘을 포함하여 이루어지며 원본영상을 입력받고, 객체를 검출하여 고속 영상검색 시스템으로 보내는 역할을 수행한다. 여기서 검출된 객체의 영상정보(객체종류, 검출된 정지영상 사진, 카메라, 촬영장소, 촬영시간 등)는 검출객체 NoSQL DB와 Inverse Index DB에 각각 그에 알맞은 구조로 저장된다. 사용자는 고속 영상검색 시스템의 두 DB를 의도에 맞게(1. 카메라별 검색 : 특정 카메라에 관심이 있는 경우/2. 객체별 검색 : 촬영된 객체에 관심이 있는 경우) 사용하여 대용량의 영상 검색결과를 고속으로 제공받을 수 있다. 이는 뒤에서 더욱 자세히 설명할 것이다.Image data shot by multiple cameras is stored in the image data file system and DB and sent to the object detection module. This module includes the existing object recognition algorithm and AI neural network (Faster R-CNN, YOLO, Single Shot multibox Detector, etc.) algorithm, and receives the original image, detects the object and sends it to the high speed image retrieval system. Perform. Here, the image information (object type, detected still image, camera, shooting location, shooting time, etc.) of the detected object is stored in a structure suitable for the detection object NoSQL DB and Inverse Index DB, respectively. The user can use two DBs of the high-speed image search system according to the intention (1.Search by camera: when interested in a specific camera / 2. Search by object: when interested in photographed objects) Can be provided at a high speed. This will be explained in more detail later.

객체검출 모듈에서 객체를 검출하는 알고리즘의 종류에 따라서 검출 능력과 검출 객체의 종류가 달라진다. 예를 들어, 사람얼굴을 인식하도록 만들어진 알고리즘인 ‘모델-1’과 자동차의 종류를 인식하도록 만들어진 ‘모델-2’라는 알고리즘이 존재한다고 가정하자. 사용자가 저장된 영상에서 모든 자동차와 그 자동차의 종류를 검출하고 싶다면 ‘모델-2’를 객체검출 모듈에 사용하고, 따라서 객체검출 모듈은 자동차를 검출하게 된다. 이와 마찬가지로 사람얼굴을 검출하고자 한다면 ‘모델-1’이라는 알고리즘을 모듈에 사용하도록 한다.The detection capability and the type of detection object vary according to the type of algorithm for detecting the object in the object detection module. For example, suppose there is an algorithm called Model-1, which is designed to recognize human faces, and Model-2, which is designed to recognize types of cars. If the user wants to detect all the cars and the types of the cars in the stored image, 'model-2' is used in the object detection module, and thus the object detection module detects the car. Likewise, if you want to detect human face, use an algorithm called 'Model-1' in the module.

한편, 도 3은 본 발명에 따른 검출객체 NoSQL DB의 개념도를 나타낸다. 도 3을 참조하면, 객체검출 모듈에서 검출된 객체에 대한 정보를 제공받는다. ‘검출객체 NoSQL DB’는 NoSQL기반의 데이터베이스라는 것이 특징이다. NoSQL 형태가 아닌 기존의 일반적으로 사용되는 관계형 데이터베이스(RDB, Relational Database)는 열이나 행의 개수가 늘어나면 사전 정의된 데이터베이스를 늘어난 개수에 알맞게 처음부터 다시 설계해야하여 유연하지 못하다. 그러나 이는 NoSQL 형태의 데이터베이스이므로 카메라가 늘어나거나(행의 개수가 늘어나거나), 동일 카메라에서 검출된 객체양이 늘어나더라도(열의 개수) 문제가 되지 않는다.3 is a conceptual diagram of a detection object NoSQL DB according to the present invention. Referring to FIG. 3, information about an object detected by the object detection module is provided. 'Object NoSQL DB' is characterized by NoSQL-based database. Existing relational databases (RDBs), which are not in NoSQL form, are not flexible because the number of columns or rows has to be redesigned from scratch to accommodate the increased number of predefined databases. However, since this is a NoSQL-type database, it does not matter if the camera is increased (number of rows) or the amount of objects detected by the same camera is increased (number of columns).

이해를 돕기 위한 예시로서 동물원에 1000대의 카메라를 설치했다고 가정한다면, 서로 다른 1000대의 카메라에서 서로 다른 동물들이 촬영될 것이다. 이 DB에서는 Rowkey라고 불리는 행에 카메라의 종류가 들어가게 되므로 1번 카메라에서 촬영된 원숭이, 사자 등의 객체가 1번 행에 썸네일(대표 이미지) 여러 장과 촬영 시간, 촬영 장소 및 위치가 담긴다. 이 예시에서는 촬영된 하나의 객체에 대해서 N개의 썸네일을 추출하였으며 이 개수는 사용자가 중요도에 따라서 설정할 수 있다.As an example for the sake of understanding, assuming that 1000 cameras are installed in a zoo, different animals will be photographed on 1000 different cameras. In this DB, a row of cameras is included in a row called Rowkey, so objects such as monkeys and lions photographed by camera 1 contain several thumbnails (representative images), shooting time, shooting location and location. In this example, N thumbnails are extracted for one photographed object, and the number can be set by the user according to importance.

사용자가 카메라별로 촬영된 객체를 검색하고 싶다면 ‘고속 영상검색 시스템’에 속한 이‘검출객체 NoSQL DB’를 이용한다.If the user wants to search for the object shot by camera, he uses 'NoSQL DB', which is a member of the 'high-speed image search system'.

한편, 도 4는 본 발명에 따른 Inverse Index DB의 개념도를 나타낸다. 즉, 도 4는 Inverse Index DB의 구조에 대해 자세한 설명을 하고자 그린 개념도의 예시이다. Inverse Index DB는 [그림 3]과 마찬가지로 NoSQL기반의 데이터베이스라는 것이 특징이다.On the other hand, Figure 4 shows a conceptual diagram of the Inverse Index DB according to the present invention. That is, FIG. 4 is an example of a conceptual diagram drawn to explain in detail the structure of an Inverse Index DB. Inverse Index DB is characterized by NoSQL-based database as shown in [Figure 3].

도 3과 같은 예시로 가정한다면, 서로 다른 1000대의 카메라에서 서로 다른 동물들이 촬영될 것이다. 사용자가 촬영된 카메라에는 관심이 없고, 단지 원숭이라는 객체를 검색하고 싶다면 ‘고속 영상검색 시스템’에 속한 이‘Inverse Index DB’를 이용하면 된다. 기존에는 사용자가 1000대의 카메라에 녹화된 원본 영상을 일일이 재생하며 원숭이를 찾아야 하는 문제가 있지만 이는 시간과 인력이 매우 많이 낭비한다. 객체검출 모듈만 존재한다고 해도 1000대의 카메라에 검출된 원숭이라는 객체를 모두 찾아야 하며, 이 또한 많은 시간이 소요된다.Assuming an example as shown in FIG. 3, different animals will be photographed by 1000 different cameras. If the user is not interested in the camera and just wants to search for the monkey object, he can use Inverse Index DB, which belongs to the high-speed video search system. Conventionally, the user has to search for the monkey by playing the original video recorded by 1000 cameras, but this wastes a lot of time and manpower. Even if only the object detection module exists, it is necessary to find all the objects called monkeys detected by the 1000 cameras, which is also time-consuming.

그러나 Inverse Index DB는 객체검출 모듈에서 검출된 객체를 기준으로 행을 재정렬하는 구조이다. 결국은 도 3의 검출객체 NoSQL DB를 재정렬한 구조이며, Rowkey라고 불리는 행에는 검출된 객체의 종류가 들어가게 되므로 도 4의 예시처럼 사자, 기린, 원숭이라는 종류의 객체가 담긴다. 사자가 검출된 rowkey에는 1000대의 카메라에서 촬영되어 검출된 사자 객체가 썸네일(대표 이미지), 촬영된 카메라, 촬영 시간 등과 함께 담긴다. 사용자가 사자라는 종류의 객체를 빠르게 찾고자 할 때, 사자가 검출된 rowkey만 참조하여 어떤 카메라에서 언제 촬영되었는지 등의 정보를 얻을 수 있기 때문에 대규모 영상에서 고속으로 객체를 검출할 수 있게 되는 것이다.However, Inverse Index DB is a structure that rearranges rows based on the objects detected by the object detection module. Eventually, the detection object NoSQL DB of FIG. 3 is rearranged, and the type of the detected object is included in a row called Rowkey, and thus, an object of a kind such as lion, giraffe, and monkey is included in the example of FIG. In the rowkey where the lion is detected, the lion objects captured by the 1000 cameras are captured together with thumbnails (typical images), the photographed camera, and the shooting time. When a user wants to quickly find an object of a lion type, the user can obtain information such as when and what camera was taken by referring only to the detected rowkey, so that the object can be detected at a high speed in a large image.

한편, 도 5는 본 발명에 따른 데이터베이스가 실제로 도 4와 같이 작성되지는 않는다. 따라서, 도 5의 DB는 도 4와 같이 구성되는 Inverse DB의 보조 정보를 나타내는 보조 DB일 수 있다.5 does not actually create a database according to the present invention as shown in FIG. Accordingly, the DB of FIG. 5 may be an auxiliary DB indicating auxiliary information of an inverse DB configured as shown in FIG. 4.

한편, 도 6은 본 발명에 따른 고속 영상검색용 Inverse Index DB 구축방법 과 객체 검색 방법의 흐름도를 나타낸다. 도 6을 참조하면, rowkey값 정의 단계(S110), 객체 검색 단계(S120) 및 부가 정보 수정 단계(S130)를 포함한다. 한편, 부가 정보 수정 단계(S130) 이후, 검색하고자 하는 영상에 대해 객체 검색 단계(S120)가 수행될 수 있다. 한편, 상기 Inverse Index DB 구축방법과 객체 검색 방법의 각 단계는 객체 검출모듈 및 고속영상검색 시스템에 의해 수행될 수 있다. 구체적으로, rowkey값 정의 단계(S110)는 객체 검출모듈과 검출객체 NoSQL DB에 의해 수행될 수 있다. 또한, 객체 검색 단계(S120)는 검출객체 NoSQL DB와 Inverse Index DB에 의해 수행될 수 있다. 또한, 부가 정보 수정 단계(S130)는 검출객체 NoSQL DB에 의해 수행될 수 있다.6 is a flowchart illustrating a method of constructing an inverse index DB for fast image searching and an object searching method according to the present invention. Referring to FIG. 6, a rowkey value defining step S110, an object searching step S120, and an additional information modification step S130 are included. Meanwhile, after the additional information modification step S130, the object search step S120 may be performed on the image to be searched. Meanwhile, each step of the inverse index DB construction method and the object search method may be performed by an object detection module and a high speed image search system. In detail, the rowkey value defining step S110 may be performed by the object detection module and the detection object NoSQL DB. In addition, the object search step (S120) may be performed by the detection object NoSQL DB and Inverse Index DB. In addition, the additional information modification step (S130) may be performed by the detection object NoSQL DB.

rowkey값 정의 단계(S110)에서, 검출된 객체의 대표 이미지들이 삽입된 검출객체 NoSQL DB의 rowkey 값을 카메라 종류별로 정의한다. 한편, 객체 검색 단계(S120)에서, 상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색할 수 있다.In the rowkey value defining step (S110), the rowkey value of the detection object NoSQL DB into which the representative images of the detected objects are inserted is defined for each camera type. Meanwhile, in the object search step (S120), a specific object detected by a specific camera may be searched based on the rowkey value of the NoSQL DB.

한편, rowkey값 정의 단계(S110)에서, 상기 특정 객체의 검색에 기여하는 중요도에 따라, 상기 검출 객체 NoSQL DB의 상기 대표 이미지들의 개수를 가변적으로 설정할 수 있다. 이때, rowkey값 정의 단계(S110) 이후, 객체 검출모듈에서 검출된 객체를 Inverse Index DB의 rowkey에 검출 객체를 종류별로 넣어 구조를 재정렬할 수 있다.Meanwhile, in the rowkey value defining step S110, the number of representative images of the detection object NoSQL DB may be variably set according to the importance that contributes to the search for the specific object. In this case, after the rowkey value defining step (S110), the structure may be rearranged by inserting the objects detected by the object detection module into the rowkeys of the inverse index DB for each type.

한편, 객체 검색 단계(S120)에서, 카메라 종류별로 정의된 상기 NoSQL DB의 rowkey 값을 사용하여 카메라 기반 검색을 수행할 수 있다. 이때, 상기 검출된 객체의 대표 이미지들을 상기 Inverse Index DB를 사용하여 대표 이미지 기반 검색을 수행할 수 있다.On the other hand, in the object search step (S120), the camera-based search can be performed using the rowkey value of the NoSQL DB defined for each camera type. In this case, a representative image based search may be performed on the representative images of the detected objects using the inverse index DB.

한편, 전술한 바와 같이, 부가 정보 수정 단계(S130) 이후, 검색하고자 하는 영상에 대해 객체 검색 단계(S120)가 다시 수행될 수 있다. On the other hand, as described above, after the additional information modification step (S130), the object search step (S120) may be performed again for the image to be searched.

한편, 객체 검색 단계(S120)에서, 상기 카메라 종류와 상기 카메라의 위치 및 상기 카메라에서 촬영되는 객체의 속성에 따라, 상기 객체 검색의 검출 주기를 가변 또는 이벤트 기반으로 검출할 수 있다.Meanwhile, in the object searching step (S120), the detection period of the object searching may be detected on a variable or event basis according to the camera type, the position of the camera, and the attributes of the object photographed by the camera.

이와 관련하여, 객체 검색 단계(S120) 이후 부가 정보 수정 단계(S130)에서, 상기 검출 주기 이후의 영상에 대해, 상기 객체의 속성에 따라 상기 카메라의 상기 특정 객체의 검색에 기여하는 중요도를 수정할 수 있다. 또한, 부가 정보 수정 단계(S130)에서, 상기 수정된 중요도에 기반하여 상기 대표 이미지의 개수를 조정할 수 있다.In this regard, in the additional information modification step (S130) after the object search step (S120), for the image after the detection period, it is possible to modify the importance that contributes to the search of the specific object of the camera according to the property of the object. have. In addition, in the additional information modification step (S130), the number of representative images may be adjusted based on the modified importance.

한편, 부가 정보 수정 단계(S130) 이후, 상기 수정된 중요도, 상기 조정된 대표 이미지의 개수 및 상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색하는 객체 검색 단계(S120)가 더 수행될 수 있다. On the other hand, after the additional information modification step (S130), based on the modified importance, the number of the adjusted representative image and the rowkey value of the NoSQL DB, an object search step (S120) for searching for a specific object detected by a specific camera May be further performed.

이상에서는 본 발명에 따른 고속 영상검색용 Inverse Index DB 구축방법 및 장치에 관한 것이다. 보다 상세하게는, 고속 영상검색용 Inverse Index DB 구축방법 및 장치와 이를 이용하는 객체 검색 방법 및 장치에 대해 살펴보았다. 본 발명에 따른 효과에 대해 살펴보면 다음과 같다.The above relates to a method and apparatus for constructing an inverse index DB for fast image retrieval according to the present invention. More specifically, the method and apparatus for building an inverse index DB for fast image retrieval and the object searching method and apparatus using the same have been described. Looking at the effects of the present invention as follows.

본 발명의 적어도 일 실시예에 따르면, 고속 영상검색용 Inverse Index DB가 포함된 고속 영상검색 시스템은 사용자가 카메라 별로 객체를 검색하고 싶거나 혹은 촬영된 카메라가 아닌 특정 객체만 검색하고 싶을 때에 따라서 다른 종류의 DB를 사용하여 편의를 제공한다. According to at least one embodiment of the present invention, a fast image search system including an inverse index DB for fast image search is different depending on when a user wants to search for an object for each camera or only a specific object instead of a photographed camera. Provide convenience by using kind DB.

또한, 본 발명의 적어도 일 실시예에 따르면, Inverse Index DB는 검출된 객체의 종류 별로 데이터베이스의 구조를 재배치하는 새로운 개념의 NoSQL기반 데이터베이스를 제공할 수 있다.In addition, according to at least one embodiment of the present invention, the Inverse Index DB may provide a new concept NoSQL-based database for relocating the structure of the database for each type of detected object.

또한, 본 발명의 적어도 일 실시예에 따르면, NoSQL기반 데이터베이스를 도입하여 대규모 영상데이터에서 사용자가 찾고자 하는 객체를 고속으로 검색할 수 있다는 장점이 있다.In addition, according to at least one embodiment of the present invention, there is an advantage that a user can quickly search for an object that a user wants to find in large-scale image data by introducing a NoSQL-based database.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.According to the software implementation, the design and parameter optimization for each component as well as the procedures and functions described herein may be implemented as separate software modules. Software code may be implemented in software applications written in a suitable programming language. The software code may be stored in a memory and executed by a controller or a processor.

Claims (7)

고속 영상검색용 Inverse Index DB 구축방법에 있어서,
검출된 객체의 대표 이미지들이 삽입된 검출객체 NoSQL DB의 rowkey 값을 카메라 종류별로 정의하는 rowkey값 정의 단계; 및
상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색하는 객체 검색 단계를 포함하는, 고속 영상검색용 Inverse Index DB 구축방법.
In the Inverse Index DB construction method for high speed image retrieval,
A rowkey value defining step of defining a rowkey value of the detection object NoSQL DB into which representative images of the detected objects are inserted for each camera type; And
And an object searching step of searching for a specific object detected by a specific camera based on the rowkey value of the NoSQL DB.
제1 항에 있어서,
상기 rowkey값 정의 단계는,
상기 특정 객체의 검색에 기여하는 중요도에 따라, 상기 검출 객체 NoSQL DB의 상기 대표 이미지들의 개수를 가변적으로 설정하는 것을 특징으로 하는, 고속 영상검색용 Inverse Index DB 구축방법.
According to claim 1,
The rowkey value defining step,
And setting the number of the representative images of the detection object NoSQL DB variably according to the importance of contributing to the search for the specific object.
제1 항에 있어서,
상기 rowkey값 정의 단계 이후,
객체 검출모듈에서 검출된 객체를 Inverse Index DB의 rowkey에 검출 객체를 종류별로 넣어 구조를 재정렬하는 것을 특징으로 하는, 고속 영상검색용 Inverse Index DB 구축방법.
According to claim 1,
After the rowkey value definition step,
A method of constructing an inverse index DB for high-speed image retrieval, characterized in that the objects are detected by the object detection module, and the structures are rearranged by inserting the detection objects into rowkeys of the inverse index DB.
제3 항에 있어서,
상기 객체 검색 단계에서,
카메라 종류별로 정의된 상기 NoSQL DB의 rowkey 값을 사용하여 카메라 기반 검색을 수행하고,
상기 검출된 객체의 대표 이미지들을 상기 Inverse Index DB를 사용하여 대표 이미지 기반 검색을 수행하는 것을 특징으로 하는, 고속 영상검색용 Inverse Index DB 구축방법.
The method of claim 3, wherein
In the object search step,
Perform a camera-based search using the rowkey value of the NoSQL DB defined for each camera type,
And performing representative image based searching on the representative images of the detected objects using the inverse index DB.
삭제delete 제3 항에 있어서,
상기 객체 검색 단계에서, 상기 카메라 종류와 상기 카메라의 위치 및 상기 카메라에서 촬영되는 객체의 속성에 따라, 상기 객체 검색의 검출 주기를 가변 또는 이벤트 기반으로 검출하고,
상기 객체 검색 단계 이후,
상기 검출 주기 이후의 영상에 대해, 상기 객체의 속성에 따라 상기 카메라의 상기 특정 객체의 검색에 기여하는 중요도를 수정하고, 상기 수정된 중요도에 기반하여 상기 대표 이미지의 개수를 조정하는 부가 정보 수정 단계를 더 포함하는, 고속 영상검색용 Inverse Index DB 구축방법.
The method of claim 3, wherein
In the object searching step, the detection period of the object search is detected on a variable or event basis according to the camera type, the position of the camera and the attributes of the object photographed by the camera,
After the object searching step,
For the image after the detection period, the additional information correction step of correcting the importance that contributes to the search of the specific object of the camera according to the property of the object, and adjusts the number of the representative image based on the modified importance Further comprising, Inverse Index DB construction method for high-speed image search.
제6 항에 있어서,
상기 부가 정보 수정 단계 이후,
상기 수정된 중요도, 상기 조정된 대표 이미지의 개수 및 상기 NoSQL DB의 rowkey 값에 기반하여, 특정 카메라에서 검출되는 특정 객체를 검색하는 상기 객체 검색 단계를 더 수행하는 것을 특징으로 하는, 고속 영상검색용 Inverse Index DB 구축방법.
The method of claim 6,
After the additional information modification step,
And performing the object searching step of searching for a specific object detected by a specific camera based on the modified importance, the adjusted number of representative images, and the rowkey value of the NoSQL DB. How to build an Inverse Index DB.
KR1020180140985A 2018-11-15 2018-11-15 Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object KR102014267B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180140985A KR102014267B1 (en) 2018-11-15 2018-11-15 Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180140985A KR102014267B1 (en) 2018-11-15 2018-11-15 Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object

Publications (1)

Publication Number Publication Date
KR102014267B1 true KR102014267B1 (en) 2019-08-26

Family

ID=67807954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140985A KR102014267B1 (en) 2018-11-15 2018-11-15 Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object

Country Status (1)

Country Link
KR (1) KR102014267B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765131A (en) * 2021-01-22 2021-05-07 重庆邮电大学 Heterogeneous medical health data storage and retrieval method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150105342A (en) * 2013-01-09 2015-09-16 기가 엔터테이먼트 미디어 인코퍼레이티드 Simultaneous content data streaming and interaction system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150105342A (en) * 2013-01-09 2015-09-16 기가 엔터테이먼트 미디어 인코퍼레이티드 Simultaneous content data streaming and interaction system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765131A (en) * 2021-01-22 2021-05-07 重庆邮电大学 Heterogeneous medical health data storage and retrieval method and system
CN112765131B (en) * 2021-01-22 2023-03-24 重庆邮电大学 Heterogeneous medical health data storage and retrieval method and system

Similar Documents

Publication Publication Date Title
US10831814B2 (en) System and method for linking multimedia data elements to web pages
KR102083696B1 (en) Image identification and organisation according to a layout without user intervention
US9104747B2 (en) System and method for signature-based unsupervised clustering of data elements
US9449001B2 (en) System and method for generation of signatures for multimedia data elements
JP5304172B2 (en) File management apparatus, file management method, and file management program
US20170024470A1 (en) Identifying media content via fingerprint matching
KR101921354B1 (en) Video signature
EP1696353A1 (en) Automatic digital image grouping using criteria based on image metadata and spatial information
US11449544B2 (en) Video search device, data storage method and data storage device
CN107871000B (en) Audio playing method and device, storage medium and electronic equipment
CN105677731B (en) Show method, apparatus, terminal and the server of preview picture figure
CN107870999B (en) Multimedia playing method, device, storage medium and electronic equipment
KR102014267B1 (en) Method and Apparatus of building Inverse Index DB for high speed searching of moving picture object
CN103593156A (en) Three-dimensional panoramic display method and device
CN111353063B (en) Picture display method, device and storage medium
WO2020103074A1 (en) Image searching method and apparatus, storage medium, and electronic device
Li et al. Human-like UI Automation through Automatic Exploration
KR102439265B1 (en) Electronic device for removing advertisement thumbnail from display screen for providing list of live sports and operating method thereof
CN116188821B (en) Copyright detection method, system, electronic device and storage medium
Bhute et al. System analysis and design for multimedia retrieval systems
US20150139569A1 (en) Method and system for determining the dimensions of an object shown in a multimedia content item
CN112492206B (en) Image processing method and device and electronic equipment
KR102427737B1 (en) Electronic device based on artificial neural network that representational bottleneck is minimized, and operating method thereof
Yang et al. Searching for images by video
US10585934B2 (en) Method and system for populating a concept database with respect to user identifiers

Legal Events

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