KR20250015150A - System and method for detecting object based on uvc camera image - Google Patents
System and method for detecting object based on uvc camera image Download PDFInfo
- Publication number
- KR20250015150A KR20250015150A KR1020230096183A KR20230096183A KR20250015150A KR 20250015150 A KR20250015150 A KR 20250015150A KR 1020230096183 A KR1020230096183 A KR 1020230096183A KR 20230096183 A KR20230096183 A KR 20230096183A KR 20250015150 A KR20250015150 A KR 20250015150A
- Authority
- KR
- South Korea
- Prior art keywords
- cpu
- object detection
- gpu
- video data
- providing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
UVC 카메라 영상 기반 객체 검출 방법이 제공된다. 상기 방법은 상기 CPU에서 상기 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공하는 단계; 상기 GPU에서 상기 제공된 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하는 단계; 상기 CPU가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 GPU에서 처리한 그래픽 데이터를 상기 CPU로 제공하는 단계; 상기 CPU에서 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하는 단계; 및 상기 CPU에서 상기 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공하는 단계를 포함한다.A method for object detection based on UVC camera images is provided. The method includes a step of changing the video data from the CPU into a predetermined type and providing it to the GPU; a step of generating a texture readable by a rendering engine based on the provided video data from the GPU; a step of providing graphic data processed by the GPU based on a two-dimensional text and a GPU memory pointer generated by the CPU to the CPU; a step of serializing and converting the graphic data into a matrix form and providing it as an input of an object detection algorithm; and a step of providing an object detection result as an output of the object detection algorithm from the CPU.
Description
본 발명은 UVC 카메라 영상 기반 객체 검출 시스템 및 방법에 관한 것이다.The present invention relates to a UVC camera image-based object detection system and method.
객체 검출 알고리즘을 구현함에 있어 개발자는 안드로이드 운영체제를 사용하는 임베디드 모듈에서 UVC 규격 카메라를 통해 영상 데이터를 입력받는 경우가 있다.When implementing an object detection algorithm, developers sometimes receive image data through a UVC standard camera in an embedded module that uses the Android operating system.
이때, UVC 규격 카메라는 USB Video Class(UVC) 규격을 따르는 카메라이다. USB 인터페이스를 통해 비디오 스트리밍을 제공하는 표준 규격으로서, 이 규격을 따르는 카메라는 드라이버를 설치하지 않고도 컴퓨터나 다른 호스트 장치에서 즉시 사용할 수 있다.At this time, a UVC standard camera is a camera that follows the USB Video Class (UVC) standard. As a standard that provides video streaming via a USB interface, a camera that follows this standard can be used immediately on a computer or other host device without installing a driver.
UVC 카메라는 일반적으로 웹 캠, 보안 카메라, 엔드로스코피 카메라, 산업용 검사 카메라 등 다양한 응용 분야에서 사용된다. UVC 규격은 비디오 스트리밍과 관련된 표준화된 프로토콜과 형식을 정의하여, 호환성과 편의성을 제공할 수 있다.UVC cameras are commonly used in a variety of applications, including webcams, security cameras, endoscopy cameras, and industrial inspection cameras. The UVC standard defines standardized protocols and formats related to video streaming, which can provide compatibility and convenience.
UVC 규격 카메라는 대부분 Plug and Play 기능을 지원하며, USB 연결을 통해 전원을 공급받고 비디오 데이터를 전송한다. 따라서, 사용자는 UVC 카메라를 컴퓨터에 연결하기만 하면, 일반적으로 별도의 드라이버 설치 없이 손쉽게 사용할 수 있다.Most UVC standard cameras support the Plug and Play function, and are powered and transmit video data via a USB connection. Therefore, users can easily use the UVC camera by simply connecting it to a computer, usually without installing a separate driver.
그런데 만약 유니티 엔진과 같은 렌더링 엔진(또는 게임엔진)을 이용하여 객체 검출 알고리즘을 구현하거나, 알고리즘을 활용한 어플리케이션을 제작하고자 한다면, 입력되는 영상을 실시간으로 처리하는 효율적인 프로세스가 필요하다.However, if you want to implement an object detection algorithm using a rendering engine (or game engine) such as the Unity Engine or create an application that utilizes the algorithm, you need an efficient process that processes the input image in real time.
본 발명의 실시예는 컴퓨터 비전의 일종인 객체 검출에 있어서, 표준 UVC 장치와 임베디드 시스템을 사용시, 시스템 자원을 효과적으로 사용하면서 실시간으로 객체 검출을 실행할 수 있는, UVC 카메라 영상 기반 객체 검출 시스템 및 방법을 제공한다.An embodiment of the present invention provides a UVC camera image-based object detection system and method, which can perform object detection in real time while effectively utilizing system resources when using a standard UVC device and an embedded system in object detection, which is a type of computer vision.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical tasks that this embodiment seeks to accomplish are not limited to the technical tasks described above, and other technical tasks may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면에 따른 UVC 카메라 영상 기반 객체 검출 방법은 CPU에서 UVC 카메라로부터 비디오 데이터를 수신하는 단계; 상기 CPU에서 상기 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공하는 단계; 상기 GPU에서 상기 제공된 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하는 단계; 상기 CPU가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 GPU에서 처리한 그래픽 데이터를 상기 CPU로 제공하는 단계; 상기 CPU에서 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하는 단계; 및 상기 CPU에서 상기 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공하는 단계를 포함한다.As a technical means for achieving the above-described technical task, a UVC camera image-based object detection method according to a first aspect of the present invention includes the steps of: receiving video data from a UVC camera in a CPU; changing the video data into a predetermined type in the CPU and providing it to a GPU; generating a texture readable by a rendering engine based on the provided video data in the GPU; providing graphic data processed by the GPU based on the two-dimensional text and GPU memory pointer generated by the CPU to the CPU; serializing and converting the graphic data into a matrix form in the CPU and providing it as an input of an object detection algorithm; and providing an object detection result as an output of the object detection algorithm in the CPU.
본 발명의 일부 실시예에 있어서, 상기 CPU에서 UVC 카메라로부터 비디오 데이터를 수신하는 단계는, 상기 CPU에서 상기 UVC 카메라로부터 수신한 비디오 데이터를 비디오 스트림 버퍼에 저장하는 단계; 및 상기 UVC 카메라로부터 새로운 비디오 데이터를 수신하는 경우 상기 버퍼에 저장된 비디오 데이터를 수신하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of receiving video data from the UVC camera in the CPU may include the step of storing the video data received from the UVC camera in the CPU in a video stream buffer; and the step of receiving the video data stored in the buffer when new video data is received from the UVC camera.
본 발명의 일부 실시예에 있어서, 상기 UVC 카메라로부터 비디오 데이터를 수신하는 단계는, 상기 UVC 카메라로부터 밝기정보 및 색차정보가 분리된 비디오 데이터를 단일 비디오로 처리하고 수신할 수 있다.In some embodiments of the present invention, the step of receiving video data from the UVC camera may process and receive video data from which brightness information and color difference information are separated from the UVC camera as a single video.
본 발명의 일부 실시예에 있어서, 상기 CPU에서 상기 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공하는 단계는, 상기 비디오 데이터의 색상표현 타입을 YUV에서 RGBA로 변경하여 GPU로 제공할 수 있다.In some embodiments of the present invention, the step of changing the video data from the CPU to a predetermined type and providing it to the GPU may change the color expression type of the video data from YUV to RGBA and provide it to the GPU.
본 발명의 일부 실시예에 있어서, 상기 GPU에서 처리한 그래픽 데이터를 상기 CPU로 제공하는 단계는, 상기 CPU에서 상기 생성된 텍스처의 해상도 및 색상표현 타입이 동일한 2차원 텍스처를 생성하는 단계; 상기 CPU가 상기 생성한 2차원 텍스처를 상기 GPU로 제공하는 단계; 상기 GPU가 상기 텍스처를 GPU 메모리 포인터를 이용하여 렌더링 엔진의 2차원 텍스처에 직접 복사하고 GPU에서 처리한 그래픽 데이터를 프레임 버퍼에 저장하는 단계; 및 상기 프레임 버퍼에 저장된 그래픽 데이터를 상기 CPU의 2차원 텍스처로 복사하여 제공하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of providing graphic data processed by the GPU to the CPU may include the step of generating a two-dimensional texture having the same resolution and color expression type as the generated texture by the CPU; the step of providing the two-dimensional texture generated by the CPU to the GPU; the step of directly copying the texture to a two-dimensional texture of a rendering engine using a GPU memory pointer and storing graphic data processed by the GPU in a frame buffer; and the step of copying the graphic data stored in the frame buffer to a two-dimensional texture of the CPU and providing the same.
본 발명의 일부 실시예에 있어서, 상기 CPU에서 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하는 단계는, 상기 2차원 텍스처의 픽셀을 독출하여 바이트 배열로 직렬화하는 단계; 상기 직렬화한 바이트 배열을 행렬 형태로 변환하는 단계; 및 상기 행렬 형태로 변환된 바이트 배열을 객체 검출 알고리즘의 입력으로 제공하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of converting the graphic data in the CPU into serialized and matrix form and providing it as an input of an object detection algorithm may include the steps of reading pixels of the two-dimensional texture and serializing them into a byte array; converting the serialized byte array into a matrix form; and providing the byte array converted into the matrix form as an input of the object detection algorithm.
또한, 본 발명의 제2 측면에 따른 UVC 카메라 영상 기반 객체 검출 시스템은 UVC 카메라로부터 비디오 데이터를 수신하고, 상기 비디오 데이터를 소정 타입으로 변경하는 CPU와, 상기 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하고, 상기 CPU가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 처리한 그래픽 데이터를 상기 CPU로 제공하는 GPU를 포함하며, 상기 CPU는 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하고, 상기 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공한다.In addition, a UVC camera image-based object detection system according to a second aspect of the present invention includes a CPU which receives video data from a UVC camera, changes the video data into a predetermined type, a GPU which generates a texture readable by a rendering engine based on the video data, and provides graphic data processed based on the two-dimensional text and GPU memory pointer generated by the CPU to the CPU, wherein the CPU serializes and converts the graphic data into a matrix form and provides it as an input of an object detection algorithm, and provides an object detection result as an output of the object detection algorithm.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition, other methods for implementing the present invention, other systems, and computer-readable recording media recording a computer program for executing the method may be further provided.
전술한 본 발명의 일 실시예에 의하면, 표준 UVC 규격을 사용하여 UVC 1.0/1.1/1.5 장치와 임베디드 시스템을 지원함으로써, 컴퓨터 비전을 활용한 어플리케이션 제작의 하드웨어적 제약을 최소화할 수 있다. 즉, 본 발명의 일 실시예에 따르면 다양한 장치와 시스템에서 일관된 객체 검출 알고리즘을 사용할 수 있다는 장점이 있다.According to one embodiment of the present invention described above, by supporting UVC 1.0/1.1/1.5 devices and embedded systems using the standard UVC specification, hardware constraints for creating applications utilizing computer vision can be minimized. That is, according to one embodiment of the present invention, there is an advantage in that a consistent object detection algorithm can be used in various devices and systems.
또한, OpenGL|ES Graphics API를 사용하여 임베디드 시스템의 제한된 시스템 자원을 효과적으로 활용할 수 있으며, 이를 통해 시스템 자원 소모를 최소화하면서도 객체 검출 어플리케이션을 제작할 수 있는 장점이 있다. 즉, 임베디드 환경에서도 효율적이고 높은 성능의 객체 검출을 구현할 수 있다.In addition, the OpenGL|ES Graphics API can be used to effectively utilize the limited system resources of embedded systems, which has the advantage of allowing the creation of object detection applications while minimizing system resource consumption. In other words, efficient and high-performance object detection can be implemented even in embedded environments.
또한, 기존의 컴퓨터 비전 알고리즘과 상용 게임 엔진을 융합하여 새로운 콘텐츠를 제작하거나 기능을 확장할 때 보다 용이한 작업이 가능하다. 즉, 최종적으로 상용 게임 엔진을 통해 빌드되므로 기존의 사용자 층에게 기술을 널리 보급할 수 있으며, 게임 엔진이 제공하는 다양한 기능과 플러그인과 통합할 수 있기 때문에 어플리케이션의 작성과 기능 확장에 유리하다.In addition, it is easier to create new content or expand functions by combining existing computer vision algorithms with commercial game engines. In other words, since it is ultimately built through a commercial game engine, the technology can be widely distributed to existing user bases, and it is advantageous for writing applications and expanding functions because it can be integrated with various functions and plug-ins provided by the game engine.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1 내지 도 3은 본 발명의 일 실시예에 따른 객체 검출 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 객체 검출 시스템의 블록도이다.Figures 1 to 3 are flowcharts of an object detection method according to one embodiment of the present invention.
FIG. 4 is a block diagram of an object detection system according to one embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention, and the methods for achieving them, will become clear with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and the present embodiments are provided only to make the disclosure of the present invention complete and to fully inform a person skilled in the art of the scope of the present invention, and the present invention is defined only by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing embodiments only and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. The terms "comprises" and/or "comprising" as used in the specification do not exclude the presence or addition of one or more other components in addition to the mentioned components. Like reference numerals refer to like components throughout the specification, and "and/or" includes each and every combination of one or more of the mentioned components. Although "first", "second", etc. are used to describe various components, it is to be understood that these components are not limited by these terms. These terms are merely used to distinguish one component from another. Therefore, it should be understood that a first component mentioned below may also be a second component within the technical spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with the meaning commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries shall not be ideally or excessively interpreted unless explicitly specifically defined.
본 발명은 UVC 카메라 영상 기반 객체 검출 시스템 및 방법에 관한 것이다.The present invention relates to a UVC camera image-based object detection system and method.
예를 들어, 임베디드 모듈의 영상 데이터를 OpenGL|ES의 확장 기능인 GL_OES_EGL_image_external의 형태로 출력하도록 하면, 유니티 엔진에서 해당 영상 데이터를 일반적인 OpenGL 텍스처처럼 손쉽게 처리할 수 있다. 실제로, 본 발명의 일 실시예에서는 해당 텍스처를 컴퓨터 비전 처리를 위한 행렬로 변환하여 사용하였다. 그리고 텍스처를 전달하는 과정의 효율성을 위해 메모리 포인터를 사용하면 GPU의 병렬 연산을 적극적으로 활용할 수 있다. 즉, 메모리 포인터를 사용하면 CPU를 거치지 않고 GPU와 직접적인 데이터 전달이 가능해지며, GPU는 병렬 연산 처리 능력이 뛰어나기 때문에 데이터 전달 및 처리 속도를 향상시킬 수 있다.For example, if the image data of the embedded module is output in the form of GL_OES_EGL_image_external, which is an extension of OpenGL|ES, the image data can be easily processed in the Unity engine like a general OpenGL texture. In fact, in one embodiment of the present invention, the texture is converted into a matrix for computer vision processing and used. In addition, if a memory pointer is used for the efficiency of the process of transferring the texture, the parallel operation of the GPU can be actively utilized. That is, if a memory pointer is used, direct data transfer with the GPU is possible without going through the CPU, and since the GPU has excellent parallel operation processing capability, the data transfer and processing speed can be improved.
이를 통해, 본 발명의 일 실시예는 시스템 자원을 효과적으로 사용하면서 실시간 영상 데이터를 전송하는 방법과 그 과정을 통해 얻은 픽셀 데이터로부터 손쉽게 컴퓨터 비전 처리를 실행할 수 있다. 이때, 본 발명의 일 실시예는 컴퓨터 비전 처리와 같은 연산 집약적인 작업을 효율적으로 처리할 수 있다.Through this, one embodiment of the present invention can transmit real-time image data while effectively using system resources and easily execute computer vision processing from pixel data obtained through the process. At this time, one embodiment of the present invention can efficiently process computationally intensive tasks such as computer vision processing.
이하에서는 도 1 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 UVC 카메라 영상 기반 객체 검출 방법(이하, 객체 검출 방법)을 설명하도록 한다.Hereinafter, a UVC camera image-based object detection method (hereinafter, “object detection method”) according to one embodiment of the present invention will be described with reference to FIGS. 1 to 3.
도 1 내지 도 3은 본 발명의 일 실시예에 따른 객체 검출 방법의 순서도이다.Figures 1 to 3 are flowcharts of an object detection method according to one embodiment of the present invention.
먼저, CPU는 UVC 카메라로부터 비디오 데이터를 수신한다.First, the CPU receives video data from the UVC camera.
일 실시예로, UVC 카메라는 밝기정보(Y) 및 색차정보(UV)가 분리할 수 있으며(S105), CPU는 밝기정보 및 색차정보가 분리된 비디오 데이터를 수신할 수 있다. 비디오 데이터는 일반적으로 YUV(YCbCr) 색상공간으로 인코딩되어 있으며, 위 과정을 통해 본 발명의 일 실시예는 이미지 또는 비디오 처리 작업에서 밝기 및 색상을 독립적으로 조작하거나 처리할 수 있다.In one embodiment, the UVC camera can separate brightness information (Y) and chrominance information (UV) (S105), and the CPU can receive video data in which brightness information and chrominance information are separated. The video data is generally encoded in a YUV (YCbCr) color space, and through the above process, one embodiment of the present invention can independently manipulate or process brightness and color in an image or video processing task.
이때, CPU는 UVC 카메라로부터 수신한 비디오 데이터를 비디오 스트림 버퍼에 저장하고(S110), UVC 카메라로부터 새로운 비디오 데이터를 수신하는 경우 버퍼에 저장된 비디오 데이터를 독출할 수 있다(S115). 비디오 스트림 버퍼는 메모리 영역으로 비디오 데이터를 일시적으로 저장할 수 있다. 비디오 스트림 버퍼는 연속적으로 갱신되며, 새로운 비디오 데이터가 도착할 때마다 갱신될 수 있다.At this time, the CPU stores the video data received from the UVC camera in the video stream buffer (S110), and when new video data is received from the UVC camera, the video data stored in the buffer can be read out (S115). The video stream buffer can temporarily store video data in a memory area. The video stream buffer is continuously updated, and can be updated whenever new video data arrives.
다음으로 CPU에서 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공한다(S120). 일 실시예로, CPU는 비디오 데이터의 색상표현 타입을 YUV에서 RGBA로 변경하여 GPU로 제공할 수 있다. 대부분의 그래픽 시스템 및 어플리케이션의 경우 RGBA 색상 공간(빨강, 초록, 파랑, 알파(투명도))을 이용하므로, 본 발명의 일 실시예는 YUV를 RGBA 타입으로 변경한다.Next, the CPU changes the video data to a predetermined type and provides it to the GPU (S120). In one embodiment, the CPU can change the color expression type of the video data from YUV to RGBA and provide it to the GPU. Since most graphic systems and applications use the RGBA color space (red, green, blue, alpha (transparency)), one embodiment of the present invention changes YUV to the RGBA type.
다음으로, GPU는 제공된 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성한다(S125).Next, the GPU generates a texture that can be read by the rendering engine based on the provided video data (S125).
일 실시예로, GPU는 RGBA 픽셀 데이터를 전달받아 텍스처를 생성할 수 있다. 이때, 텍스처는 OpenGL|ES의 확장인 GL_OES_EGL_image_external 형태로 생성되며, 이 확장은 외부 이미지 소스에서 텍스처 데이터를 읽어들일 수 있는 기능을 제공한다. 렌더링 엔진에서는 이 Texture를 사용하여 색상값을 읽어올 수 있다.In one embodiment, the GPU can receive RGBA pixel data and create a texture. In this case, the texture is created in the form of GL_OES_EGL_image_external, an extension of OpenGL|ES, which provides the ability to read texture data from an external image source. The rendering engine can use this Texture to read color values.
다음으로, CPU는 GPU에서 생성한 텍스처를 GPU를 통해 렌더링 엔진으로 직접 가져올 수 있도록, 동일한 해상도 및 색상표현 타입을 갖는 2차원 텍스처를 생성한다(S130). 그리고 CPU는 생성한 텍스처를 GPU로 전달한다.Next, the CPU generates a two-dimensional texture with the same resolution and color expression type so that the texture generated by the GPU can be directly imported into the rendering engine via the GPU (S130). Then, the CPU transfers the generated texture to the GPU.
다음으로, GPU는 텍스처를 GPU 메모리 포인터를 통해 렌더링 엔진의 2차원 텍스처에 직접 복사하고 GPU에서 처리한 그래픽 데이터를 프레임 버퍼에 저장한다(S135). 본 발명의 일 실시예에서 GPU는 텍스처를 병렬 연산 처리할 수 있으므로, 메모리 포인터를 이용하여 효율적인 데이터 전달 및 처리가 가능하도록 한다. Next, the GPU directly copies the texture to the two-dimensional texture of the rendering engine through the GPU memory pointer and stores the graphic data processed by the GPU in the frame buffer (S135). In one embodiment of the present invention, the GPU can process textures in parallel, so that efficient data transfer and processing is possible using the memory pointer.
다음으로, GPU는 프레임 버퍼에 저장된 그래픽 데이터를 CPU의 2차원 텍스처로 복사하여 CPU로 제공한다(S140).Next, the GPU copies the graphic data stored in the frame buffer to a two-dimensional texture of the CPU and provides it to the CPU (S140).
다음으로, CPU는 프레임 버퍼의 값을 CPU의 2차원 텍스처로 복사한다(S145). 텍스처의 픽셀 데이터를 편집하는 것은 CPU에서만 가능하므로, CPU는 프레임 버퍼에 저장된 값을 CPU의 2차원 텍스처로 복사하여 직접 편집할 수 있도록 한다.Next, the CPU copies the values in the frame buffer to the CPU's two-dimensional texture (S145). Since editing pixel data of a texture is only possible on the CPU, the CPU copies the values stored in the frame buffer to the CPU's two-dimensional texture so that they can be edited directly.
다음으로, CPU는 객체 검출을 실행하기 위해 2차원 텍스처의 픽셀을 독출하여 바이트(Byte) 배열로 직렬화한다(S150). 즉, 본 발명의 일 실시예는 다양한 처리 알고리즘 특히 객체 검출 알고리즘으로의 적용이 용이하도록 픽셀값을 바이트 형태로 변환하여 배열로 저장할 수 있다.Next, the CPU reads pixels of the two-dimensional texture and serializes them into a byte array to execute object detection (S150). That is, one embodiment of the present invention can convert pixel values into byte format and store them as an array so that they can be easily applied to various processing algorithms, especially object detection algorithms.
다음으로, CPU는 직렬화한 바이트 배열을 행렬 형태로 변환한다(S155). 즉, 본 발명의 일 실시예는 직렬화된 그래픽 데이터인 바이트 배열을 OpenCV(또는 Computer Vision)에서 사용하는 행렬 형태로 변환할 수 있다. 행렬 형태로 데이터를 변환할 경우, 객체 검출과 같은 컴퓨터 비전 처리 작업을 수행할 수 있습니다. 한편, OpenCV는 컴퓨터 비전 처리를 위한 다양한 함수와 알고리즘을 제공하는 라이브러리이다. Next, the CPU converts the serialized byte array into a matrix form (S155). That is, one embodiment of the present invention can convert a byte array, which is serialized graphic data, into a matrix form used in OpenCV (or Computer Vision). When data is converted into a matrix form, computer vision processing tasks such as object detection can be performed. Meanwhile, OpenCV is a library that provides various functions and algorithms for computer vision processing.
다음으로, CPU는 RGBA 그래픽 데이터를 무채색의 회색조(Alpha8)로 변환한다(S160). 이는 객체 검출 알고리즘의 경우 이미지의 명암 차이에 기반하기 때문이다. 회색조로 변환된 이미지는 색상 정보를 제거하고 명암 정보에 초점을 맞추게 되어 객체 검출 알고리즘에 적용하기 좋은 형태가 된다.Next, the CPU converts the RGBA graphic data to achromatic grayscale (Alpha8) (S160). This is because the object detection algorithm is based on the difference in brightness of the image. The image converted to grayscale removes the color information and focuses on the brightness information, making it a good form for applying the object detection algorithm.
다음으로, CPU는 행렬 형태로 변환된 바이트 배열을 미리 학습된 객체 검출 알고리즘의 입력으로 제공하여 객체 검출 결과가 출력되도록 한다(S165). 학습된 객체 검출 알고리즘은 이미지 내에서 특정 객체를 식별하고 추출할 수 있도록 학습된 것으로, 회색조로 변환된 행렬을 객체 검출 알고리즘에 적용하여, 입력 이미지에서 원하는 객체를 식별하고 검출할 수 있다.Next, the CPU provides the byte array converted into a matrix form as input to a pre-learned object detection algorithm so that the object detection result is output (S165). The learned object detection algorithm is trained to identify and extract a specific object within an image, and by applying the matrix converted into grayscale to the object detection algorithm, the desired object can be identified and detected from the input image.
한편, 상술한 설명에서, 단계 S105 내지 단계 S165은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3에 기술된 내용과 도 4에 기술된 내용은 상호 적용된다.Meanwhile, in the above description, steps S105 to S165 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. In addition, some steps may be omitted as needed, and the order between the steps may be changed. In addition, even if other omitted contents are present, the contents described in FIGS. 1 to 3 and FIG. 4 are mutually applicable.
도 4는 본 발명의 일 실시예에 따른 객체 검출 시스템(100)의 블록도이다.FIG. 4 is a block diagram of an object detection system (100) according to one embodiment of the present invention.
본 발명의 일 실시예에 따른 객체 검출 시스템은 적어도 하나의 CPU(110)와 GPU(120)를 포함한다.An object detection system according to one embodiment of the present invention includes at least one CPU (110) and a GPU (120).
CPU(110)는 UVC 카메라로부터 비디오 데이터를 수신하고, 비디오 데이터를 소정 타입으로 변경한다.The CPU (110) receives video data from the UVC camera and changes the video data into a predetermined type.
GPU(120)는 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하고, CPU(110)가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 처리한 그래픽 데이터를 상기 CPU(110)로 제공한다.The GPU (120) generates a texture that can be read by the rendering engine based on video data, and provides graphic data processed based on the two-dimensional text and GPU memory pointer generated by the CPU (110) to the CPU (110).
이후, CPU(110)는 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하고, 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공한다.Thereafter, the CPU (110) serializes the graphic data and converts it into a matrix form and provides it as an input to the object detection algorithm, and provides the object detection result as an output of the object detection algorithm.
이상에서 전술한 본 발명의 일 실시예들은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The embodiments of the present invention described above may be implemented as a program (or application) to be executed in combination with a hardware server and stored in a medium.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program may include codes coded in a computer language, such as C, C++, JAVA, or machine language, that can be read by the processor (CPU) of the computer through the device interface of the computer, so that the computer reads the program and executes the methods implemented as a program. Such codes may include functional codes related to functions that define functions necessary for executing the methods, and may include control codes related to execution procedures necessary for the processor of the computer to execute the functions according to a predetermined procedure. In addition, such codes may further include memory reference-related codes regarding which location (address address) of the internal or external memory of the computer should be referenced for additional information or media necessary for the processor of the computer to execute the functions. In addition, if the processor of the computer needs to communicate with another computer or server located remotely in order to execute the functions, the code may further include communication-related code regarding how to communicate with another computer or server located remotely using the communication module of the computer, what information or media to send and receive during communication, etc.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The above storage medium means a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, or optical data storage device. That is, the program can be stored in various storage media on various servers that the computer can access or in various storage media on the user's computer. In addition, the medium can be distributed to computer systems connected to a network, so that a computer-readable code can be stored in a distributed manner.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented by a combination of these. The software module may reside in a Random Access Memory (RAM), a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a Flash Memory, a hard disk, a removable disk, a CD-ROM, or any other form of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Above, while the embodiments of the present invention have been described with reference to the attached drawings, it will be understood by those skilled in the art that the present invention may be implemented in other specific forms without changing the technical idea or essential features thereof. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
100: 객체 검출 시스템
110: CPU
120: GPU100: Object Detection System
110: CPU
120: GPU
Claims (7)
CPU에서 UVC 카메라로부터 비디오 데이터를 수신하는 단계;
상기 CPU에서 상기 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공하는 단계;
상기 GPU에서 상기 제공된 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하는 단계;
상기 CPU가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 GPU에서 처리한 그래픽 데이터를 상기 CPU로 제공하는 단계;
상기 CPU에서 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하는 단계; 및
상기 CPU에서 상기 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공하는 단계를 포함하는,
UVC 카메라 영상 기반 객체 검출 방법.
In a method performed by a computer,
Step of receiving video data from UVC camera in CPU;
A step of changing the video data into a predetermined type in the CPU and providing it to the GPU;
A step of generating a texture readable by a rendering engine based on the provided video data from the GPU;
A step of providing graphic data processed by a GPU to the CPU based on two-dimensional text generated by the CPU and a GPU memory pointer;
A step of converting the graphic data into serial and matrix form in the CPU and providing it as input to an object detection algorithm; and
Including a step of providing an object detection result as an output of the object detection algorithm in the CPU.
A method for object detection based on UVC camera images.
상기 CPU에서 UVC 카메라로부터 비디오 데이터를 수신하는 단계는,
상기 CPU에서 상기 UVC 카메라로부터 수신한 비디오 데이터를 비디오 스트림 버퍼에 저장하는 단계; 및
상기 UVC 카메라로부터 새로운 비디오 데이터를 수신하는 경우 상기 버퍼에 저장된 비디오 데이터를 수신하는 단계를 포함하는,
UVC 카메라 영상 기반 객체 검출 방법.
In the first paragraph,
The step of receiving video data from the UVC camera in the above CPU is:
A step of storing video data received from the UVC camera in the video stream buffer in the CPU; and
Including the step of receiving video data stored in the buffer when receiving new video data from the UVC camera.
A method for object detection based on UVC camera images.
상기 UVC 카메라로부터 비디오 데이터를 수신하는 단계는,
상기 UVC 카메라로부터 밝기정보 및 색차정보가 분리된 비디오 데이터를 단일 비디오로 처리하고 수신하는 것인,
UVC 카메라 영상 기반 객체 검출 방법.
In the first paragraph,
The step of receiving video data from the above UVC camera is:
Processing and receiving video data from which brightness information and color difference information are separated from the above UVC camera as a single video.
A method for object detection based on UVC camera images.
상기 CPU에서 상기 비디오 데이터를 소정 타입으로 변경하여 GPU로 제공하는 단계는,
상기 비디오 데이터의 색상표현 타입을 YUV에서 RGBA로 변경하여 GPU로 제공하는 것인,
UVC 카메라 영상 기반 객체 검출 방법.
In the third paragraph,
The step of changing the video data from the above CPU to a predetermined type and providing it to the GPU is:
The color expression type of the above video data is changed from YUV to RGBA and provided to the GPU.
A method for object detection based on UVC camera images.
상기 GPU에서 처리한 그래픽 데이터를 상기 CPU로 제공하는 단계는,
상기 CPU에서 상기 생성된 텍스처의 해상도 및 색상표현 타입이 동일한 2차원 텍스처를 생성하는 단계;
상기 CPU가 상기 생성한 2차원 텍스처를 상기 GPU로 제공하는 단계;
상기 GPU가 상기 텍스처를 GPU 메모리 포인터를 이용하여 렌더링 엔진의 2차원 텍스처에 직접 복사하고 GPU에서 처리한 그래픽 데이터를 프레임 버퍼에 저장하는 단계; 및
상기 프레임 버퍼에 저장된 그래픽 데이터를 상기 CPU의 2차원 텍스처로 복사하여 제공하는 단계를 포함하는,
UVC 카메라 영상 기반 객체 검출 방법.
In the first paragraph,
The step of providing the graphic data processed by the GPU to the CPU is:
A step of generating a two-dimensional texture having the same resolution and color expression type as the generated texture in the above CPU;
A step of providing the two-dimensional texture generated by the CPU to the GPU;
A step in which the GPU directly copies the texture to a two-dimensional texture of the rendering engine using a GPU memory pointer and stores the graphic data processed by the GPU in a frame buffer; and
A step of providing the graphic data stored in the frame buffer by copying it to a two-dimensional texture of the CPU.
A method for object detection based on UVC camera images.
상기 CPU에서 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하는 단계는,
상기 2차원 텍스처의 픽셀을 독출하여 바이트 배열로 직렬화하는 단계;
상기 직렬화한 바이트 배열을 행렬 형태로 변환하는 단계; 및
상기 행렬 형태로 변환된 바이트 배열을 객체 검출 알고리즘의 입력으로 제공하는 단계를 포함하는,
UVC 카메라 영상 기반 객체 검출 방법.
In the first paragraph,
The step of converting the graphic data into serial and matrix form in the CPU and providing it as input to the object detection algorithm is as follows.
A step of reading pixels of the above two-dimensional texture and serializing them into a byte array;
A step of converting the above serialized byte array into a matrix form; and
A step of providing a byte array converted into the matrix form as input to an object detection algorithm,
A method for object detection based on UVC camera images.
상기 비디오 데이터를 기반으로 렌더링 엔진이 읽을 수 있는 텍스처로 생성하고, 상기 CPU가 생성한 2차원 텍스트 및 GPU 메모리 포인터를 기반으로 처리한 그래픽 데이터를 상기 CPU로 제공하는 GPU를 포함하며,
상기 CPU는 상기 그래픽 데이터를 직렬화 및 행렬 형태로 변환하여 객체 검출 알고리즘의 입력으로 제공하고, 상기 객체 검출 알고리즘의 출력으로 객체 검출 결과를 제공하는 것인,
UVC 카메라 영상 기반 객체 검출 시스템.A CPU that receives video data from a UVC camera and changes the video data into a predetermined type;
A GPU is included that generates a texture that can be read by a rendering engine based on the above video data, and provides graphic data processed based on the two-dimensional text and GPU memory pointer generated by the CPU to the CPU.
The above CPU serializes the graphic data and converts it into a matrix form and provides it as an input to an object detection algorithm, and provides an object detection result as an output of the object detection algorithm.
UVC camera image-based object detection system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230096183A KR20250015150A (en) | 2023-07-24 | 2023-07-24 | System and method for detecting object based on uvc camera image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230096183A KR20250015150A (en) | 2023-07-24 | 2023-07-24 | System and method for detecting object based on uvc camera image |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20250015150A true KR20250015150A (en) | 2025-02-03 |
Family
ID=94612338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230096183A Pending KR20250015150A (en) | 2023-07-24 | 2023-07-24 | System and method for detecting object based on uvc camera image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20250015150A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230022453A (en) | 2016-12-13 | 2023-02-15 | 매직 립, 인코포레이티드 | 3d object rendering using detected features |
-
2023
- 2023-07-24 KR KR1020230096183A patent/KR20250015150A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230022453A (en) | 2016-12-13 | 2023-02-15 | 매직 립, 인코포레이티드 | 3d object rendering using detected features |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8199164B2 (en) | Advanced anti-aliasing with multiple graphics processing units | |
US8442311B1 (en) | Apparatus and method for encoding an image generated in part by graphical commands | |
US8768067B2 (en) | Accelerating bitmap remoting by identifying and extracting patterns from source bitmaps through parallel processing techniques | |
CN109964204B (en) | Method and system for processing graphics | |
TWI695295B (en) | Image processing method, device and electronic equipment based on augmented reality | |
US20190251670A1 (en) | Electronic device and method for correcting images using external electronic device | |
CN105096367B (en) | Method and device for optimizing Canvas rendering performance | |
US11593908B2 (en) | Method for preprocessing image in augmented reality and related electronic device | |
US20180129419A1 (en) | Updating data stored in a memory | |
US10237563B2 (en) | System and method for controlling video encoding using content information | |
EP4379647A1 (en) | Render format selection method and device related thereto | |
JP2004334852A (en) | Image processing by pixel types | |
US9324163B2 (en) | Methods of and apparatus for compressing depth data | |
KR20250015150A (en) | System and method for detecting object based on uvc camera image | |
TW201419217A (en) | Method for approximating motion blur in rendered frame from within graphic driver | |
US20080130987A1 (en) | Color Management of RAW Content from Digital Capture Devices | |
CN101477674A (en) | Method for assisting data calculation by using display card | |
CN111953990A (en) | Coding method and device | |
US20090174722A1 (en) | Method for assisting in data calculation by using display card | |
AU2009212933A1 (en) | Methods of storing and retrieving images | |
WO2021237736A1 (en) | Image processing method, apparatus and system, and computer-readable storage medium | |
KR102701291B1 (en) | A server and image processing system that synthesizes a plurality of image frames | |
CN115866336B (en) | Method and device for generating irregular-shape video, electronic equipment and medium | |
CN117152171B (en) | Image processing method, device, equipment, storage medium and program product | |
JP4488430B2 (en) | Invalid data area display suppression method for lossy compressed images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |