WO2022097765A1 - 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법 - Google Patents

객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법 Download PDF

Info

Publication number
WO2022097765A1
WO2022097765A1 PCT/KR2020/015298 KR2020015298W WO2022097765A1 WO 2022097765 A1 WO2022097765 A1 WO 2022097765A1 KR 2020015298 W KR2020015298 W KR 2020015298W WO 2022097765 A1 WO2022097765 A1 WO 2022097765A1
Authority
WO
WIPO (PCT)
Prior art keywords
indoor
virtual space
objects
user
location
Prior art date
Application number
PCT/KR2020/015298
Other languages
English (en)
French (fr)
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 PCT/KR2020/015298 priority Critical patent/WO2022097765A1/ko
Priority to EP20960867.8A priority patent/EP4242967A1/en
Priority to US18/251,038 priority patent/US20230410351A1/en
Priority to CN202080106643.8A priority patent/CN116472554A/zh
Priority to JP2023547168A priority patent/JP2023544913A/ja
Publication of WO2022097765A1 publication Critical patent/WO2022097765A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes

Definitions

  • the present invention relates to a terminal device, a service server, and a method for indoor positioning based on object recognition, and more particularly, to recognize an object in an image photographed through a photographing unit of the terminal device, and to use vectorized coordinates of the recognized object
  • a terminal device a service server, and a method for object recognition-based indoor positioning capable of estimating a user's location by matching on an indoor map.
  • LBS location-based services
  • the location-based service can provide services such as indoor navigation by measuring a user's location using Wi-Fi, BEACON, and the like.
  • Wi-Fi Wi-Fi
  • BEACON Wi-Fi
  • Wi-Fi is used to determine the user's location
  • the size of the Wi-Fi reception signal used for location calculation varies greatly indoors, so it is difficult to provide an appropriate location-based service.
  • conventional indoor location estimation techniques have a problem in that expensive equipment or infrastructure must be built.
  • the present invention has been devised to improve the above problems, and an object of the present invention is to recognize an object in an image photographed through a photographing unit of a terminal device, and object recognition capable of estimating a user's location using the object It is to provide a terminal device, a service server, and a method for the indoor positioning based on the same.
  • a terminal device recognizes the first and second objects from an image obtained through a storage unit, a photographing unit, and an image obtained through the photographing unit, in which an indoor map matched with a coordinate value for each predetermined object is stored, and the second object
  • the virtual space positions of the first and second objects are respectively estimated, and the virtual space distances between each of the first and second objects and the user are calculated using the virtual space positions of the first and second objects and the user's virtual space positions.
  • a controller for estimating each and estimating the indoor location of the user using the virtual space distance.
  • control unit may display the user's location on the indoor map and display it through the display unit together with the image obtained through the photographing unit.
  • control unit recognizes the first and second objects using deep learning, and estimates the virtual space positions of the first and second objects using point clouds generated in virtual space, respectively.
  • the controller may estimate the user's virtual space location using a dead reckoning algorithm.
  • the controller calculates a first Euclidean distance between the virtual space location of the first object and the user's virtual space location, and calculates a first Euclidean distance between the virtual space location of the second object and the user's virtual space location. 2 Euclidean distance can be calculated.
  • the control unit obtains the indoor coordinates of the first and second objects from the indoor map, respectively, and uses the first and second Euclidean distances and the indoor coordinates of the first and second objects to estimate the first indoor predicted position and the second indoor predicted position of the user, and a first virtual vector and a second
  • the external product of the virtual vector is obtained, and the external product of the first real vector and the second real vector, which is a vector from the first indoor predicted position to the indoor coordinates of the first and second objects, and the first indoor and outdoor product and the
  • a second indoor/outdoor product is obtained as an outer product of a first real vector and a second real vector that is a vector up to the indoor coordinates of the first and second objects based on a second indoor predicted position, and among the first and second indoor/outdoor products
  • the predicted indoor location of the indoor/outer product having the same sign as the virtual space outer product may be estimated as the user's indoor location.
  • a communication unit for communicating with a service server through a communication network, wherein the control unit, when the image collection application stored in the storage unit is executed, to photograph the preselected objects through the photographing unit, the The image of each captured object may be stored, and the captured image of each stored object may be transmitted to the service server through the communication unit.
  • a service server includes a communication unit that receives a photographed image of each object set on an indoor map, learns a photographed image from each object received through the communication unit, and receives the photographed image of each learned object. and an object recognition model generator for generating an object recognition model for object recognition by matching the object and coordinates of the object through the object recognition model.
  • the service server when a location estimation request signal including a photographed image is received from the terminal device through the communication unit, the service server recognizes first and second objects by inputting the photographed image into the object recognition model, and The virtual space positions of the first and second objects are respectively estimated, and the virtual space distances between each of the first and second objects and the user are calculated using the virtual space positions of the first and second objects and the user's virtual space positions.
  • the method may further include a location estimator for estimating each, estimating the indoor location of the user using the virtual space distance, and transmitting the estimated indoor location to the terminal device.
  • a terminal device recognizes first and second objects in an image obtained through a photographing unit, and determines the virtual space locations of the first and second objects, respectively. estimating; estimating, by the terminal device, a virtual space distance between each of the first and second objects and the user using the virtual space positions of the first and second objects and the user's virtual space positions; and estimating, by the terminal device, the indoor location of the user using the virtual space distance.
  • the terminal device recognizes the first and second objects using deep learning, and a point cloud generated in a virtual space can be used to estimate the virtual space positions of the first and second objects, respectively.
  • each of the estimating of the virtual space distance comprises: estimating, by the terminal device, the virtual space location of the user using a dead reckoning algorithm; calculating a first Euclidean distance between the virtual space locations of , and calculating a second Euclidean distance between the virtual space location of the second object and the user's virtual space location.
  • the step of estimating the indoor location of the user includes: obtaining, by the terminal device, the indoor coordinates of the first and second objects from the indoor map, respectively, the first and second Euclidean distances; estimating, by the terminal device, the first and second indoor predicted positions of the user by using the indoor coordinates of the first and second objects; obtaining, by the terminal device, an external product of a first virtual vector and a second virtual vector that is a vector up to the virtual space position of an object, indoor coordinates of the first and second objects based on the first indoor predicted position, by the terminal
  • the first real vector and the second real vector are vectors to the indoor coordinates of the first and second objects based on the first indoor and outdoor products, and the second indoor and outdoor products of the first real vector and the second real vector obtaining, by the terminal device, a second indoor/external product of the actual vector, estimating, by the terminal device, an indoor predicted location of an indoor/outer product whose sign is the same as that of the virtual space outer product among the first and second indoor
  • the present invention by estimating the user's location using an image captured by the camera of the user terminal device in an indoor environment, it is possible to accurately estimate the indoor location without building expensive equipment or infrastructure.
  • FIG. 1 is a conceptual diagram for explaining object recognition-based indoor positioning according to an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining an object recognition-based indoor positioning system according to an embodiment of the present invention.
  • FIG. 3 is a block diagram showing the configuration of a terminal device according to an embodiment of the present invention.
  • FIG. 4 is an exemplary diagram for explaining a location estimation screen according to an embodiment of the present invention.
  • FIG. 5 is an exemplary diagram for explaining a method of estimating a user's indoor location using a cross product according to an embodiment of the present invention.
  • FIG. 6 is a block diagram showing the configuration of a service server according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating an object recognition-based indoor positioning method according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of estimating a user's location using a cross product according to an embodiment of the present invention.
  • implementations described herein may be implemented as, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Although discussed only in the context of a single form of implementation (eg, discussed only as a method), implementations of the discussed features may also be implemented in other forms (eg, as an apparatus or program).
  • the apparatus may be implemented in suitable hardware, software and firmware, and the like.
  • a method may be implemented in an apparatus such as, for example, a processor, which generally refers to a computer, a microprocessor, a processing device, including an integrated circuit or programmable logic device, and the like. Processors also include communication devices such as computers, cell phones, portable/personal digital assistants (“PDA”) and other devices that facilitate communication of information between end-users.
  • PDA portable/personal digital assistants
  • FIG. 1 is a conceptual diagram for explaining object recognition-based indoor positioning according to an embodiment of the present invention.
  • a user acquires an image through a photographing unit of the terminal device 100 and recognizes first and second preselected objects from the acquired image. Then, the terminal device 100 matches the recognized first and second objects on the vectorized indoor map, and estimates the user's indoor location.
  • FIG. 2 is a diagram for explaining an object recognition-based indoor positioning system according to an embodiment of the present invention.
  • the object recognition-based indoor positioning system includes a manager terminal 100a, a service server 200, and a user terminal 100b.
  • the manager terminal 100a, the service server 200, and the user terminal 100b may be connected to various types of wireless communication networks such as Wifi, 3G, and LTE.
  • the manager terminal 100a maps selected objects to the indoor map for use in user location estimation. That is, the administrator may select objects to be used for user location estimation.
  • the objects are selected from among static objects (eg, a store sign, a sign, a fire hydrant, etc.), and may be mainly selected from objects having unique characteristics in the room.
  • the manager maps the selected objects to the pre-made indoor map. That is, coordinate values on the indoor map are stored for each selected object.
  • the indoor map is a digitized (vectorized) map produced using CAD drawings, Point Cloud Map, Lidar Map, and image map, and the digitized map can be used in the manager terminal 100a and the user terminal 100b. It could be a map.
  • the indoor map may include main information of the corresponding room. For example, in the case of a shopping mall, the indoor map may include a boundary line dividing the stores, a store name, and the like.
  • the manager terminal 100a stores an image collection application, stores images of objects photographed through the image collection application for deep learning network learning for object recognition, and stores the stored object-specific photographed images in the service server 200 ) is sent to
  • the photographed image may be an image photographed in various directions including the object.
  • the manager terminal 100a captures images including preselected objects in various directions, and provides the captured images for each object to the service server 200 to be used as learning data for object recognition.
  • the service server 200 collects captured images of each object set on the indoor map from the manager terminal 100a, and learns the captured images for each object to generate an object recognition model.
  • the service server 200 may generate an object recognition model using deep learning. Specifically, when a photographed image for each object is received, the service server 200 stores the image pixel coordinate values and the object name of the four vertices of the smallest rectangle (hereinafter, referred to as a 'bounding box') including the object. learn deep learning networks.
  • the deep learning network may be designed with various models related to object recognition issues, for example, the YOLO network may be used.
  • the service server 200 estimates the location of the user terminal 100b by inputting the captured image into the location estimation model.
  • the user terminal 100b stores the location estimation application, and when the surrounding environment is photographed through the location estimation application, recognizes an object (eg, a sign, a fire hydrant, a picture frame, a door, etc.) from the captured image, and the location coordinates of the recognized objects The user's location is estimated using the field and distance estimation values.
  • an object eg, a sign, a fire hydrant, a picture frame, a door, etc.
  • the manager terminal 100a and the user terminal 100b have been described separately, but the manager terminal 100a and the user terminal 100b may be the same terminal. Therefore, hereinafter, for convenience of description, the manager terminal 100a and the user terminal 100b will be referred to as the terminal device 100 .
  • FIG. 3 is a block diagram showing the configuration of a terminal device according to an embodiment of the present invention
  • FIG. 4 is an exemplary diagram for explaining a location estimation screen according to an embodiment of the present invention
  • FIG. 5 is an embodiment of the present invention It is an exemplary diagram for explaining a method of estimating a user's indoor location using an external product according to .
  • the terminal device 100 includes a communication unit 110 , a storage unit 120 , a photographing unit 130 , a display unit 140 , and a control unit 150 .
  • the communication unit 110 is a configuration for communication with the service server 200 through a communication network, and may transmit and receive various information such as an image obtained through the photographing unit 130 .
  • the communication unit 110 may be implemented in various forms, such as a short-range communication module, a wireless communication module, a mobile communication module, and a wired communication module.
  • the storage unit 120 is configured to store data related to the operation of the terminal device 100 .
  • the storage unit 120 may use a known storage medium, for example, any one or more of known storage media such as ROM, PROM, EPROM, EEPROM, RAM, etc. may be used.
  • the storage unit 120 may store an indoor map matched with a coordinate value for each pre-selected object.
  • the storage unit 120 may store an image collection application capable of obtaining a preselected photographed image for each object by driving the photographing unit 130 .
  • a location estimation application for estimating a current location using an image may be stored in the storage unit 120 .
  • the photographing unit 130 acquires an image when the image collection application or the image estimation application is executed, and transmits the acquired image to the controller 150 .
  • the photographing unit 130 may be, for example, a camera.
  • the display unit 140 is configured to display various information related to the operation of the terminal device 100 .
  • the display unit 140 may display an image collection screen when the image collection application is executed, and may display the location estimation screen when the location estimation application is executed.
  • the display unit 140 may also operate as an input unit for receiving information from a user.
  • the control unit 150 drives the photographing unit 130 , stores an image for each object photographed through the photographing unit 130 , and stores a photographed image of each object. is transmitted to the service server 200 . That is, when the collection of images in various directions for the pre-selected objects is completed, the controller 150 transmits the collected object and the coordinates of the corresponding object on the indoor map to the service server 200 .
  • the number of objects on the indoor map and the shooting direction may be set in advance according to an administrator.
  • the control unit 150 drives the photographing unit 130 , and an object (eg, a signboard, a fire hydrant, a picture frame) in the image captured by the photographing unit 130 . , door, etc.) and estimates the user's location using the location coordinates and distance estimation values of the recognized objects.
  • an object eg, a signboard, a fire hydrant, a picture frame
  • the controller 150 recognizes the first object and the second object from the image acquired through the photographing unit 130 , estimates the virtual space positions of the first and second objects, respectively, and the first and second objects
  • the virtual space distance between each of the first and second objects and the user is respectively estimated using the virtual space location of , and the user's virtual space location, and the indoor location of the user is estimated using the virtual space distance.
  • the virtual space may mean a space visible on the screen.
  • the control unit 150 points cloud ( point cloud).
  • Point clouds each have coordinates in virtual space. Accordingly, the coordinates of the time point cloud map is started to be generated (that is, the time point when the user starts moving) may be set to [0,0]. If the user moves around the entire area of the indoor space, a point cloud map for the indoor environment will be generated, and each point will have coordinates in the virtual space.
  • the controller 150 recognizes the first and second predetermined objects in the image obtained through the photographing unit 130, and uses the point cloud generated in the virtual space to determine the virtual space positions of the first and second objects. estimate each.
  • the controller 150 recognizes the first object and the second object using deep learning technology, and outputs a first bounding box including the first object and a second bounding box including the second object.
  • the controller 150 may recognize the first object and the second object using the Yolo Network, and at least one of an object name, a coordinate value, and a length of a bounding box may be displayed in the first and second bounding boxes, respectively.
  • the controller 150 recognizes the first and second objects, the same recognition result as the captured image 310 of the location estimation screen 300 shown in FIG. 4 may be output. 4, a bounding box (A) including an object called 'sunshade' is displayed, and coordinates [x,y] and [x1,y1], two side lengths d and h, can be displayed in the bounding box. there is.
  • the controller 150 when an image including the learned object is input to the deep learning network, the controller 150 outputs the coordinates of four vertices and the object name of the image pixel of the bounding box including the object.
  • the controller 150 selects the most central points in the first and second bounding boxes, respectively, and estimates the virtual space positions of the first object and the second object. That is, the controller 150 may select the most central point in the bounding boxes of the first and second objects from among the point clouds generated on the image, and estimate the selected point coordinates as virtual space coordinates.
  • the controller 150 uses the virtual space positions of the first and second objects and the user's virtual space positions, respectively, for the first and second objects and the user. Estimate the virtual space distance between them.
  • the controller 150 continuously tracks the user's location through sensors (eg, gyroscope, accelerometer, geomagnetic sensor, etc.) mounted in the terminal device 100 starting with [0,0] in the virtual space. .
  • the controller 150 may track the user's virtual space location using a dead reckoning algorithm.
  • the dead reckoning algorithm may be an algorithm for tracking the user's movement by estimating the moving distance and direction of the user based on sensors (not shown) mounted on the terminal device 100 .
  • the controller 150 calculates a first Euclidean distance between the virtual space location of the first object and the user's virtual space location, and the virtual space location of the second object and the user's virtual space Calculate the second Euclidean distance between positions.
  • the first Euclidean distance and the second Euclidean distance are scalar values, the distance value in the virtual space and the distance value on the indoor map may be the same.
  • the control unit 150 uses the virtual space location of the first and second objects, the user's virtual space location, and the Euclidean distance between the virtual space location of the first and second objects and the user's virtual space location, on the indoor map. It is possible to estimate the actual location of the user. In this case, the actual positions of the first and second objects on the indoor map may be preset coordinate values.
  • the controller 150 obtains the indoor coordinates (actual positions) of the first and second objects from the indoor map, respectively, and uses the first and second Euclidean distances and the indoor coordinates of the first and second objects.
  • the user's first indoor predicted location and the second indoor predicted location may be estimated. That is, since the user's position and the positions of the first and second objects are known in the virtual space, the controller 150 can draw a triangular shape.
  • the positions of the first and second objects and two distance values from the first and second objects to the user may be known. After all, if the figure of the virtual space is matched to the indoor space, the user can be located only at two points on the indoor map. In order to select the location of the user from among the two points, it is necessary to know which direction the first and second objects are based on the user.
  • the controller 150 may use the concept of an outer product, or vector product.
  • the cross product of two vectors from the user to the first and second objects in the virtual space has a direction. This orientation should be the same on the indoor map.
  • the sign of the cross product of the two vectors to the first and second objects centered on the user of the virtual space and the sign of the cross product of the two vectors to the first and second objects centered on the user of the indoor map should be the same. will be.
  • a point where the sign of the external product and the sign of the external product in the virtual space are the same among two points where the user can be located on the indoor map can be finally estimated as the location of the user.
  • the controller 150 obtains the virtual space cross product of the first virtual vector and the second virtual vector, which are vectors from the user's virtual space position to the virtual space positions of the first and second objects. That is, the controller 150 is the external virtual space of the first virtual vector from the user's virtual space position to the virtual space position of the first object and the second virtual vector from the user's virtual space position to the virtual space position of the second object. You can get the extrinsic.
  • the controller 150 controls the first indoor/outdoor product and the second indoor predicted position as an outer product of the first real vector and the second real vector, which are vectors from the first indoor predicted position to the indoor coordinates of the first and second objects.
  • a second indoor and outdoor product is obtained as a cross product of the first real vector and the second real vector, which are vectors up to the indoor coordinates of the first and second objects based on . That is, the controller 150 may control the first indoor/outdoor product of the first real vector from the first indoor predicted position to the indoor coordinates of the first object and the second real vector from the first indoor predicted position to the indoor coordinates of the second object.
  • the control unit 150 may control the second indoor/outdoor product of the first real vector from the second indoor predicted position to the indoor coordinates of the first object and the second real vector from the second indoor predicted position to the indoor coordinates of the second object.
  • the controller 150 may estimate the predicted indoor location of the indoor/outer product having the same sign as the virtual space outer product among the first and second indoor/outdoor products as the user's indoor location.
  • the possible user location on the indoor map may be two points a and b, and the user's location should be obtained from the two points.
  • the orientation of the first and second objects shown in the virtual space should be considered.
  • the cross product d2 * d1 of two vectors can have a + sign.
  • the cross product (d2*d1) of two vectors is obtained for possible user positions a and b on the indoor map, and the user's position on the indoor map with the same sign of the cross product obtained in the virtual space can be determined as the final position as the user.
  • the controller 150 may recognize two objects through the photographing unit 130 , and estimate the user's location by using the recognized location coordinates and distance estimation values of the two objects.
  • the present invention utilizes a vectorized indoor map so that the user can accurately estimate his or her location even when only two objects are recognized through the photographing unit 130 of the terminal device 100 .
  • the objects to be used for estimating the user's location are mapped on the indoor map in advance. That is, the coordinates of objects on the indoor map are stored. Then, when two objects are recognized in the virtual space shown on the screen of the terminal device 100, the geometric shape drawn by the user and the two objects on the indoor map and the geometric shape drawn by the user and the two objects on the virtual space are matched to position the user can be estimated.
  • the controller 150 displays the user's location on the indoor map and displays the user's location on the display unit 140 together with the captured image. That is, when the user's location is estimated through the location estimation application, the controller 150 controls the location estimation screen 300 on which the user's location B is displayed on the captured image 310 and the indoor map 320 as shown in FIG. 4 . ) can be displayed.
  • the control unit 150 may include at least one arithmetic unit, where the arithmetic unit is a general-purpose central processing unit (CPU), a programmable device device (CPLD, FPGA) implemented appropriately for a specific purpose, and an application-specific semiconductor operation. It can be a device (ASIC) or a microcontroller chip.
  • the arithmetic unit is a general-purpose central processing unit (CPU), a programmable device device (CPLD, FPGA) implemented appropriately for a specific purpose, and an application-specific semiconductor operation. It can be a device (ASIC) or a microcontroller chip.
  • the terminal device 100 configured as described above may be an electronic device capable of photographing the surrounding environment through the photographing unit 130 and applicable to various wired and wireless environments.
  • the terminal device 100 is a personal digital assistant (PDA), a smart phone, a cellular phone, a PCS (Personal Communication Service) phone, a GSM (Global System for Mobile) phone, a W-CDMA (Wideband CDMA) phone, CDMA-2000. It includes a phone, a Mobile Broadband System (MBS) phone, and the like.
  • the terminal device 100 may represent a small portable device, but may be referred to as a mobile communication terminal if it includes a camcorder or a laptop computer, and thus the embodiment of the present invention will not be particularly limited thereto.
  • FIG. 6 is a block diagram showing the configuration of a service server according to an embodiment of the present invention.
  • the service server 200 includes a communication unit 210 , a storage unit 220 , an object recognition model generation unit 230 , and a control unit 250 .
  • the communication unit 210 receives a photographed image for each object from the terminal device 100 .
  • the storage unit 220 is configured to store data related to the operation of the service server 200 .
  • the storage unit 220 may store an indoor map in which preselected coordinate values for each object are stored.
  • the object recognition model generation unit 230 receives a photographed image for each object from the terminal device 100 through the communication unit 210 , learns a photographed image of each received object, and generates an object recognition model for object recognition. .
  • the object recognition model generator 230 may generate an object recognition model using deep learning.
  • the object recognition model may be in a form in which coordinate values for each object are mapped. Accordingly, when an image whose location is unknown is input, the object recognition model may calculate an object and coordinates of the object from the image as an output value.
  • the service server 200 when the service server 200 according to the present invention receives a position estimation request signal including a photographed image from the terminal device 100 through the communication unit 210 , the photographed image is input to the object recognition model to input the first and second Recognizes two objects, estimates the virtual space positions of the first and second objects, respectively, and uses the virtual space positions of the first and second objects and the user's virtual space positions between each of the first and second objects and the user It may further include a location estimator 240 for estimating the virtual space distance, estimating the indoor location of the user using the virtual space distance, and transmitting the estimated indoor location to the terminal device. When the first and second objects are recognized, the location estimator 240 may display the recognized first and second objects on the screen of the terminal device 100 .
  • the location estimation model generator 230 and the location estimation unit 240 may be implemented by a processor or the like required to execute a program on the computing device, respectively.
  • the position estimation model generator 230 and the position estimator 240 may be implemented by physically independent components, or may be implemented in a functionally separate form within one processor.
  • the control unit 250 is configured to control the operation of various components of the service server 200 including the communication unit 210, the storage unit 220, the location estimation model generator 230, and the location estimation unit 240. , at least one arithmetic unit, wherein the arithmetic unit is a general-purpose central processing unit (CPU), a programmable device device (CPLD, FPGA) that is suitably implemented for a specific purpose, an application-specific processing unit (ASIC), or It may be a microcontroller chip.
  • CPU central processing unit
  • CPLD programmable device device
  • ASIC application-specific processing unit
  • FIG. 7 is a flowchart illustrating an object recognition-based indoor positioning method according to an embodiment of the present invention.
  • the terminal device 100 drives the photographing unit 130 to photograph an image, and recognizes first and second objects in the photographed image ( S510 ).
  • the terminal device 100 may recognize the first object and the second object using deep learning technology.
  • the terminal device 100 estimates the virtual space positions of the first object and the second object, respectively (S520).
  • the terminal device 100 may estimate the virtual space positions of the first and second objects, respectively, by using the point cloud generated in the virtual space.
  • step S520 the terminal device 100 estimates a virtual space distance between each of the first and second objects and the user by using the virtual space positions of the first and second objects and the user's virtual space positions (S530). ).
  • the terminal device 100 may track the user's virtual space location using a dead reckoning algorithm.
  • the terminal device 100 calculates a first Euclidean distance between the virtual space location of the first object and the user's virtual space location, and the virtual space location of the second object and the user's virtual space A second Euclidean distance between spatial locations can be calculated.
  • step S530 the terminal device 100 determines the virtual space location of the first and second objects, the user's virtual space location, and the Euclidean distance between the virtual space location of the first and second objects and the user's virtual space location. is used to estimate the user's location on the indoor map (S540).
  • the terminal device 100 determines the virtual space location of the first and second objects, the user's virtual space location, and the Euclidean distance between the virtual space location of the first and second objects and the user's virtual space location. is used to estimate the user's location on the indoor map (S540).
  • FIG. 8 For a detailed description of a method for the terminal device 100 to estimate a location of a user on an indoor map, reference will be made to FIG. 8 .
  • FIG. 8 is a flowchart illustrating a method of estimating a user's location using a cross product according to an embodiment of the present invention.
  • the terminal device 100 obtains the cross product of two vectors from the user to the first and second objects in the virtual space ( S610 ). That is, the terminal device 100 is an external virtual vector of the first virtual vector from the user's virtual space position to the virtual space position of the first object and the second virtual vector from the user's virtual space position to the virtual space position of the second object. You can find the spatial cross product.
  • step S610 the terminal device 100 obtains the cross product of two vectors to the first and second objects centered on the user of the indoor map (S620). That is, the terminal device 100 uses the first indoor/outdoor product of the first and second actual vectors that are vectors up to the indoor coordinates of the first and second objects based on the first indoor predicted position and the second indoor predicted position as a reference. The second indoor and outdoor products of the first and second real vectors that are vectors up to the indoor coordinates of the first and second objects may be obtained.
  • step S620 the terminal device 100 estimates a point having the same sign of the external product of the virtual space as the location of the user among two points where the user can be located on the indoor map (S630). That is, the terminal device 100 may estimate the predicted indoor location of the indoor/outer product having the same sign as the virtual space outer product among the first and second indoor/outdoor products as the user's indoor location.
  • the user's location is estimated using an image captured by a camera of the user terminal device in an indoor environment. By doing so, it is possible to accurately estimate the indoor location without building expensive equipment or infrastructure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법이 개시된다. 본 발명의 일 측면에 따른 단말장치는 기설정된 객체별 좌표값이 매칭된 실내 지도가 저장된 저장부, 촬영부, 상기 촬영부를 통해 획득된 이미지에서 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하고, 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하는 제어부를 포함한다.

Description

객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
본 발명은 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법에 관한 것으로서, 보다 상세하게는 단말장치의 촬영부를 통해 촬영되는 이미지에서 객체를 인식하고, 인식된 객체를 벡터화된 좌표를 가지는 실내지도 상으로 매칭시켜 사용자의 위치를 추정할 수 있는 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법에 관한 것이다.
다수의 사용자들에게 선택적 데이터를 원하는 장소에서 제공하는 여러 서비스, 즉 사용자의 현재 위치에 기초하여 다양한 위치 기반 서비스(LBS: Location-Based Services), 예컨대 실시간 데이터 팝업 서비스, 사용자 위치에 따른 선택적 데이터 전송 서비스, 실내 네비게이션 서비스가 제공되고 있다.
이러한 서비스는 사용자의 위치를 측정하는 기술을 기반으로 하는데, 위치 기반 서비스는 와이파이(WIFI), 비콘(BEACON) 등을 이용하여 사용자의 위치를 측정하여 실내 네비게이션 등의 서비스를 제공할 수 있다. 이러한 위치 기반 서비스를 적절히 제공하기 위해서는 사용자의 위치를 정확히 파악하는 것이 중요하다. 그런데, 사용자의 위치를 파악하기 위해 와이파이를 사용하는 경우 위치 계산을 위해 사용되는 와이파이 수신 신호 크기의 변동이 실내에서 굉장히 심하여, 적절한 위치 기반 서비스를 제공하는 데 어려움이 있고, 비콘 송신기들을 이용하는 경우 비콘 송신기들의 배치 간격에 따라 사용자의 위치 측정이 어려울 수 있다. 예를 들어, 비콘을 이용하여 사용자의 위치를 측정하기 위해서는 비콘과 사용자와의 거리가 정확히 측정되어야 하는데, 비콘과 사용자의 거리가 멀어질수록 오차가 커진다. 또한, 종래의 실내 위치 추정 기술들은 고가의 장비나 인프라를 구축해야 하는 문제점이 있다.
이에, 고가의 장비나 인프라를 구축하지 않아도 실내 위치를 추정할 수 있는 기술 개발이 요구되고 있다.
본 발명과 관련된 선행기술로는 대한민국 공개특허 제2011-00250250호가 있다.
본 발명은 상기와 같은 문제점들을 개선하기 위하여 안출된 것으로, 본 발명의 목적은 단말장치의 촬영부를 통해 촬영된 이미지에서 객체를 인식하고, 그 객체를 이용하여 사용자의 위치를 추정할 수 있는 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따른 단말장치는, 기설정된 객체별 좌표값이 매칭된 실내 지도가 저장된 저장부, 촬영부, 상기 촬영부를 통해 획득된 이미지에서 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하고, 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하는 제어부를 포함한다.
본 발명에 있어서 표시부를 더 포함하고, 상기 제어부는, 상기 사용자의 위치를 상기 실내 지도에 표시하여 상기 촬영부를 통해 획득된 이미지와 함께 상기 표시부를 통해 디스플레이 시킬 수 있다.
본 발명에 있어서 상기 제어부는, 딥러닝을 이용하여 상기 제1 및 제2 객체를 인식하고, 가상공간 상에 생성되는 포인트 클라우드를 이용하여 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정할 수 있다.
본 발명에 있어서 상기 제어부는, Dead Reckoning 알고리즘을 이용하여 상기 사용자의 가상공간 위치를 추정할 수 있다.
본 발명에 있어서 상기 제어부는, 상기 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 상기 제2 객체의 가상공간 위치와 상기 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출할 수 있다.
본 발명에 있어서 상기 제어부는, 상기 실내 지도로부터 상기 제1 및 제2 객체의 실내 좌표를 각각 획득하고, 상기 제1 및 제2 유클리디안 거리, 상기 제1 및 제2 객체의 실내 좌표를 이용하여 상기 사용자의 제1 실내 예측 위치 및 제2 실내 예측 위치를 추정하며, 상기 사용자의 가상공간 위치를 기준으로 상기 제1 및 제2 객체의 가상공간 위치까지의 벡터인 제1 가상벡터와 제2 가상벡터의 외적인 가상공간 외적을 구하고, 상기 제1 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제1 실내 외적 및 상기 제2 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제2 실내 외적을 구하며, 상기 제1 및 제2 실내 외적 중 상기 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 상기 사용자의 실내 위치로 추정할 수 있다.
본 발명에 있어서 통신망을 통해 서비스 서버와 통신을 수행하는 통신부를 더 포함하고, 상기 제어부는, 상기 저장부에 저장된 이미지 수집 애플리케이션이 실행된 경우, 상기 촬영부를 통해 기선정된 객체들을 촬영하고, 상기 촬영된 각 객체의 이미지를 저장하며, 상기 저장된 각 객체의 촬영 이미지를 상기 통신부를 통해 상기 서비스 서버로 전송할 수 있다.
본 발명의 다른 측면에 따른 서비스 서버는, 실내 지도에 설정된 각 객체의 촬영 이미지를 수신하는 통신부, 상기 통신부를 통해 수신한 각 객체에서의 촬영 이미지를 학습하고, 상기 학습된 각 객체의 촬영 이미지를 통해 객체 및 그 객체의 좌표를 매칭하여 객체 인식을 위한 객체 인식 모델을 생성하는 객체 인식 모델 생성부를 포함한다.
본 발명에 있어서 서비스 서버는 상기 통신부를 통해 단말장치로부터 촬영 이미지를 포함하는 위치 추정 요청 신호가 수신되면, 상기 촬영 이미지를 상기 객체 인식 모델에 입력하여 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하고, 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하며, 상기 추정된 실내 위치를 상기 단말장치로 전송하는 위치 추정부를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따른 객체 인식 기반 실내 측위 서비스 방법은, 단말장치가 촬영부를 통해 획득된 이미지에서 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 단계, 상기 단말장치가 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하는 단계, 상기 단말장치가 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하는 단계를 포함한다.
본 발명은 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 단계에서, 상기 단말장치는, 딥러닝을 이용하여 상기 제1 및 제2 객체를 인식하고, 가상공간 상에 생성되는 포인트 클라우드를 이용하여 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정할 수 있다.
본 발명에 있어서 상기 가상공간 거리를 각각 추정하는 단계는, 상기 단말장치가 dead Reckoning 알고리즘을 이용하여 상기 사용자의 가상공간 위치를 추정하는 단계, 상기 단말장치가 상기 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 상기 제2 객체의 가상공간 위치와 상기 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출하는 단계를 포함할 수 있다.
본 발명에 있어서 상기 사용자의 실내 위치를 추정하는 단계는, 상기 단말장치가 상기 실내 지도로부터 상기 제1 및 제2 객체의 실내 좌표를 각각 획득하고, 상기 제1 및 제2 유클리디안 거리, 상기 제1 및 제2 객체의 실내 좌표를 이용하여 상기 사용자의 제1 실내 예측 위치 및 제2 실내 예측 위치를 추정하는 단계, 상기 단말장치가 상기 사용자의 가상공간 위치를 기준으로 상기 제1 및 제2 객체의 가상공간 위치까지의 벡터인 제1 가상벡터와 제2 가상벡터의 외적인 가상공간 외적을 구하는 단계, 상기 단말장치가 상기 제1 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제1 실내 외적 및 상기 제2 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제2 실내 외적을 구하는 단계, 상기 단말장치가 상기 제1 및 제2 실내 외적 중 상기 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 상기 사용자의 실내 위치로 추정하는 단계를 포함할 수 있다.
본 발명에 따르면, 실내 환경에서 사용자 단말장치의 카메라로 촬영된 이미지를 이용하여 사용자의 위치를 추정함으로써, 고가의 장비나 인프라를 구축하지 않아도 실내 위치를 정확하게 추정할 수 있다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위를 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 단말장치의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 위치 추정 화면을 설명하기 위한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 외적을 이용하여 사용자의 실내 위치를 추정하는 방법을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 서비스 서버의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 외적을 이용하여 사용자의 위치를 추정하는 방법을 나타낸 순서도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.
도 1은 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위를 설명하기 위한 개념도이다.
도 1을 참조하면, 사용자는 단말장치(100)의 촬영부를 통해 이미지를 획득하고, 획득된 이미지에서 기선정된 제1 및 제2 객체를 인식한다. 그런 후, 단말장치(100)는 인식된 제1 및 제2 객체를 벡터화된 실내지도 상으로 매칭시켜, 사용자의 실내 위치를 추정한다.
이러한 객체 인식을 통해 사용자의 실내 위치를 추정하는 시스템에 대해 도 2를 참조하여 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위 시스템을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위 시스템은 관리자 단말(100a), 서비스 서버(200) 및 사용자 단말(100b)을 포함한다. 이때, 관리자 단말(100a), 서비스 서버(200) 및 사용자 단말(100b)은 Wifi, 3G, LTE 등 다양한 형태의 무선 통신망으로 연결될 수 있다.
관리자 단말(100a)은 사용자 위치 추정에 사용하기 위해 선정된 객체들을 실내 지도에 매핑시킨다. 즉, 관리자는 사용자 위치 추정에 사용할 객체들을 선정할 수 있다. 이때, 객체들은 정적 객체(예컨대, 매장 간판, 표지판, 소화전 등) 중에 선택되며, 실내에서 유일한 특성을 가진 객체들을 위주로 선택될 수 있다. 그런 후, 관리자는 선정된 객체들을 사전에 제작된 실내지도에 매핑시킨다. 즉, 선정된 객체 별로 실내 지도 상에서의 좌표 값을 저장한다. 여기서, 실내 지도는 CAD 도면, Point Cloud Map, Lidar Map, 이미지 맵 등을 활용하여 제작된 디지털화(벡터화)된 지도이며, 디지털화된 지도는 관리자 단말(100a) 및 사용자 단말(100b)에서 사용할 수 있는 지도일 수 있다. 또한, 실내 지도는 해당 실내의 주요 정보를 포함할 수 있다. 예컨대, 쇼핑몰의 경우, 실내 지도는 매장을 구분 짓는 경계선, 매장명 등을 포함할 수 있다.
또한, 관리자 단말(100a)은 이미지 수집 애플리케이션이 저장되고, 객체 인식을 위한 딥러닝 네트워크 학습을 위해, 이미지 수집 애플리케이션을 통해 촬영된 객체들의 이미지들을 저장하며, 저장된 객체별 촬영 이미지를 서비스 서버(200)로 전송한다. 이때, 촬영 이미지는 객체를 포함하는 다양한 방향에서 촬영된 이미지일 수 있다.
상술한 바와 같이 관리자 단말(100a)은 기선정된 객체를 포함하는 이미지를 다양한 방향에서 촬영하고, 객체별 촬영 이미지를 객체 인식을 위한 학습 데이터로 이용하도록 서비스 서버(200)에 제공한다.
서비스 서버(200)는 관리자 단말(100a)로부터 실내 지도에 설정된 각 객체의 촬영 이미지를 수집하고, 수집된 객체별 촬영 이미지를 학습하여 객체 인식 모델을 생성한다. 이때, 서비스 서버(200)는 딥 러닝을 이용하여 객체 인식 모델을 생성할 수 있다. 구체적으로, 서비스 서버(200)는 객체별 촬영 이미지가 수신되면, 해당 객체를 포함하는 가장 작은 사각형(이하에서는 '바운딩 박스'라 칭함)의 네 꼭지점의 이미지 픽셀 상 좌표 값과 객체명을 함께 저장하는 딥러닝 네트워크를 학습하게 된다. 이때, 딥러닝 네트워크는 객체 인식 이슈와 관련된 다양한 모델들로 설계될 수 있으며, 예컨대, YOLO network를 이용할 수 있다.
또한, 서비스 서버(200)는 사용자 단말(100b)로부터 촬영 이미지를 포함하는 위치 추청 요청 신호가 수신되면, 촬영 이미지를 위치 추정 모델에 입력하여 사용자 단말(100b)의 위치를 추정한다.
이러한 서비스 서버(200)에 대한 상세한 설명은 도 6을 참조하기로 한다.
사용자 단말(100b)은 위치 추정 애플리케이션이 저장되고, 위치 추정 애플리케이션을 통해 주변 환경을 촬영하면, 촬영 이미지에서 객체(예컨대, 간판, 소화전, 액자, 문 등)를 인식하고, 인식된 객체들의 위치 좌표들과 거리 추정 값들을 이용하여 사용자의 위치를 추정한다.
한편, 본 실시예에서는 관리자 단말(100a)과 사용자 단말(100b)을 분리하여 설명하였으나, 관리자 단말(100a)과 사용자 단말(100b)은 동일한 단말일 수 있다. 따라서, 이하에서는 설명의 편의를 위해 관리자 단말(100a)과 사용자 단말(100b)을 단말장치(100)로 칭하여 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 단말장치의 구성을 나타낸 블록도, 도 4는 본 발명의 일 실시예에 따른 위치 추정 화면을 설명하기 위한 예시도, 도 5는 본 발명의 일 실시예에 따른 외적을 이용하여 사용자의 실내 위치를 추정하는 방법을 설명하기 위한 예시도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 단말장치(100)는 통신부(110), 저장부(120), 촬영부(130), 표시부(140), 제어부(150)를 포함한다.
통신부(110)는 통신망을 통해 서비스 서버(200)와 통신을 위한 구성으로, 촬영부(130)를 통해 획득된 이미지 등 다양한 정보를 송수신할 수 있다. 이때, 통신부(110)는 근거리 통신모듈, 무선 통신모듈, 이동통신 모듈, 유선 통신모듈 등 다양한 형태로 구현될 수 있다.
저장부(120)는 단말장치(100)의 동작과 관련된 데이터들을 저장하는 구성이다. 여기서 저장부(120)는 공지된 저장매체를 이용할 수 있으며, 예를 들어, ROM, PROM, EPROM, EEPROM, RAM 등과 같이 공지된 저장매체 중 어느 하나 이상을 이용할 수 있다. 특히, 저장부(120)에는 기선정된 객체별 좌표값이 매칭된 실내 지도가 저장될 수 있다. 또한, 저장부(120)에는 객체 인식 모델 생성을 위한 학습 데이터를 수집하기 위해, 촬영부(130)를 구동시켜 기선정된 객체별 촬영 이미지를 획득할 수 있는 이미지 수집 애플리케이션이 저장될 수 있다. 또한, 저장부(120)에는 이미지를 이용하여 현재 위치를 추정할 수 있도록 하는 위치 추정 애플리케이션이 저장될 수 있다.
촬영부(130)는 이미지 수집 애플리케이션 또는 이미지 추정 애플리케이션이 실행된 경우 이미지를 획득하고, 획득된 이미지를 제어부(150)로 전송한다. 이러한 촬영부(130)는 예컨대, 카메라일 수 있다.
표시부(140)는 단말장치(100)의 동작과 관련된 다양한 정보를 표시하는 구성이다. 특히, 표시부(140)는 이미지 수집 애플리케이션 실행 시, 이미지 수집화면을 디스플레이할 수 있고, 위치 추정 애플리케이션 실행 시 위치 추정 화면을 디스플레이할 수 있다. 이러한 표시부(140)는 사용자로부터 정보를 입력받기 위한 입력부로도 동작할 수 있다.
제어부(150)는 저장부(120)에 저장된 이미지 수집 애플리케이션이 실행되면, 촬영부(130)를 구동시키고, 촬영부(130)를 통해 촬영된 객체별 이미지를 저장하며, 저장된 각 객체의 촬영 이미지를 서비스 서버(200)로 전송한다. 즉, 제어부(150)는 기선정된 객체들에 대해 다양한 방향에서의 이미지 수집이 완료되면, 수집된 객체와 실내 지도 상 해당 객체의 좌표를 서비스 서버(200)로 전송한다. 이때, 실내 지도 상의 객체 수 및 촬영 방향 등은 관리자에 따라 사전에 설정될 수 있다.
또한, 제어부(150)는 저장부(120)에 저장된 위치 추정 애플리케이션이 실행되면, 촬영부(130)를 구동시키고, 촬영부(130)를 통해 촬영된 이미지에서 객체(예컨대, 간판, 소화전, 액자, 문 등)를 인식하며, 인식된 객체들의 위치 좌표들과 거리 추정 값들을 활용하여 사용자의 위치를 추정한다.
즉, 제어부(150)는 촬영부(130)를 통해 획득된 이미지에서 제1 객체 및 제2 객체를 인식하고, 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 제1 및 제2 객체 각각과 사용자 간의 가상공간 거리를 각각 추정하고, 가상공간 거리를 이용하여 사용자의 실내 위치를 추정한다. 여기서, 가상공간은 화면상에 보이는 공간을 의미할 수 있다.
이하, 제어부(150)가 사용자의 실내 위치를 추정하는 방법에 대해 상세히 설명하기로 한다.
제어부(150)는 위치 추정 애플리케이션의 실행으로 촬영부(130)를 통해 촬영된 이미지가 획득되면, 그 이미지의 공간(화면상에 보이는 가상의 공간, 이하 '가상공간'이라 칭함)에 포인트 클라우드(Point cloud)를 생성한다. 포인트 클라우드들은 가상공간에서 각각 좌표를 가진다. 따라서, 포인트 클라우드 맵이 생성되기 시작한 시점(즉, 사용자가 이동하기 시작한 시점)의 좌표는 [0,0]으로 설정될 수 있다. 만약, 사용자가 실내 공간의 전 지역을 돌아다니면, 실내 환경에 대한 포인트 클라우드 맵이 생성될 것이며, 각 포인트들은 가상공간의 좌표를 가질 것이다.
제어부(150)는 촬영부(130)를 통해 획득된 이미지에서 기지정된 제1 및 제2 객체를 인식하고, 가상공간 상에 생성되는 포인트 클라우드를 이용하여 제1 및 제2 객체의 가상공간 위치를 각각 추정한다.
즉, 제어부(150)는 딥러닝 기술을 이용하여 제1객체 및 제2객체를 인식하여, 제1 객체를 포함하는 제1 바운딩 박스 및 제2 객체를 포함하는 제2 바운딩 박스를 출력한다. 이때, 제어부(150)는 Yolo Network를 이용하여 제1객체 및 제2 객체를 인식할 수 있고, 제1 및 제2 바운딩 박스에는 각각 객체명, 좌표값, 바운딩 박스의 길이 중 적어도 하나가 표시될 수 있다. 제어부(150)가 제1 및 제2 객체를 인식하게 되면, 도 4에 도시된 위치 추정 화면(300)의 촬영 이미지(310)와 같은 인식결과를 출력할 수 있다. 도 4를 참조하면, '햇빛가리개'라는 객체를 포함하는 바운딩 박스(A)가 표시되고, 바운딩 박스에는 좌표 [x,y] 및 [x1,y1], 두 변 길이 d 및 h가 표시될 수 있다.
상술한 바와 같이, 제어부(150)는 학습된 객체를 포함하는 이미지가 딥러닝 네트워크의 입력으로 들어오면, 해당 객체를 포함하는 바운딩 박스의 이미지 픽셀 기준 네개의 꼭지점 좌표와 객체명을 출력한다.
그런 후, 제어부(150)는 제1 바운딩 박스 및 제2 바운딩 박스 내 가장 중심의 포인트를 각각 선택하여 제1 객체 및 제2 객체의 가상공간 위치로 추정한다. 즉, 제어부(150)는 이미지 상에 생성된 포인트 클라우드 중 제1 및 제2 객체의 바운딩 박스 내 가장 중심의 포인트를 선택하고, 그 선택된 포인트 좌표를 가상공간 좌표로 추정할 수 있다.
상기와 같이 제1 및 제2 객체의 가상공간 위치가 추정되면, 제어부(150)는 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 제1 및 제2 객체 각각과 사용자 간의 가상공간 거리를 각각 추정한다.
즉, 제어부(150)는 가상공간에서 [0,0]을 시작으로 단말장치(100) 내에 탑재된 센서들(예컨대, 자이로스코프, 가속도계, 지자기센서 등)을 통해 사용자의 위치를 계속적으로 추적한다. 이때, 제어부(150)는 dead Reckoning 알고리즘을 이용하여 사용자의 가상공간 위치를 추적할 수 있다. Dead Reckoning 알고리즘은 단말장치(100)에 탑재된 센서들(미도시)을 바탕으로 사용자의 이동거리와 방향을 추정하여, 사용자의 이동을 추적하는 알고리즘일 수 있다.
사용자의 가상공간 위치가 추정되면, 제어부(150)는 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 제2 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출한다. 이때, 제1 유클리디안 거리 및 제2 유클리디안 거리는 스칼라 값이기에 가상공간의 거리값과 실내지도 상의 거리값은 같을 수 있다.
제어부(150)는 제1 및 제2 객체의 가상공간 위치, 사용자의 가상공간 위치, 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치 간 유클리디안 거리를 이용하여, 실내지도 상 사용자의 실제 위치를 추정할 수 있다. 이때, 실내지도 상 제1 및 제2 객체의 실제 위치는 미리 설정된 좌표값일 수 있다.
따라서, 제어부(150)는 실내 지도로부터 제1 및 제2 객체의 실내 좌표(실제 위치)를 각각 획득하고, 제1 및 제2 유클리디안 거리, 제1 및 제2 객체의 실내 좌표를 이용하여 사용자의 제1 실내 예측 위치 및 제2 실내 예측 위치를 추정할 수 있다. 즉, 가상공간에서 사용자의 위치와 제1 및 제2 객체의 위치를 알기 때문에, 제어부(150)는 삼각형 모양의 도형을 그려낼 수 있다. 실내 지도 상에서는 제1 및 제2 객체의 위치와 제1 및 제2 객체로부터 사용자까지의 두 거리 값을 알 수 있다. 결국, 가상공간의 도형을 실내 공간 상으로 매칭시키면, 사용자는 실내지도에서 두 지점에만 위치할 수 있다. 두 지점 중 사용자의 위치를 선택하기 위해서는, 제1 및 제2 객체가 사용자를 중심으로 어떠한 방향에 있는지를 알아야 한다.
이에, 제어부(150)는 외적(outer product, or vector product) 개념을 이용할 수 있다. 가상공간에서 사용자를 중심으로 제1 및 제2 객체까지의 두 벡터의 외적은 방향을 가진다. 이 방향은 실내 지도에서도 동일해야 한다. 다시 말해, 가상공간의 사용자를 중심으로 제1 및 제2 객체까지의 두 벡터의 외적의 부호와 실내지도의 사용자를 중심으로 제1 및 제2 객체까지의 두 벡터의 외적의 부호가 동일해야 한다는 것이다. 결과적으로, 실내지도 상에서 사용자가 위치할 수 있는 두 지점 중 외적의 부호와 가상공간의 외적의 부호가 같은 지점을 최종적으로 사용자의 위치로 추정할 수 있다.
구체적으로, 제어부(150)는 사용자의 가상공간 위치를 기준으로 제1 및 제2 객체의 가상공간 위치까지의 벡터인 제1 가상벡터와 제2 가상벡터의 가상공간 외적을 구한다. 즉, 제어부(150)는 사용자의 가상공간 위치로부터 제1 객체의 가상공간 위치까지의 제1 가상벡터와 사용자의 가상공간 위치로부터 제2 객체의 가상공간 위치까지의 제2 가상벡터의 외적인 가상공간 외적을 구할 수 있다.
그런 후, 제어부(150)는 제1 실내 예측 위치를 기준으로 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제1 실내 외적 및 제2 실내 예측 위치를 기준으로 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제2 실내 외적을 구한다. 즉, 제어부(150)는 제1 실내 예측 위치로부터 제1 객체의 실내 좌표까지의 제1 실제벡터와 제1 실내 예측 위치로부터 제2 객체의 실내 좌표까지의 제2 실제벡터의 외적인 제1 실내 외적을 구할 수 있다. 또한, 제어부(150)는 제2 실내 예측 위치로부터 제1 객체의 실내 좌표까지의 제1 실제벡터와 제2 실내 예측 위치로부터 제2 객체의 실내 좌표까지의 제2 실제벡터의 외적인 제2 실내 외적을 구할 수 있다.
그런 후, 제어부(150)는 제1 및 제2 실내 외적 중 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 사용자의 실내 위치로 추정할 수 있다.
도 5를 참조하면, 제1 및 제2 객체의 실제 좌표를 p1, p2라 하고, 제1 및 제2 객체의 실제 좌표로부터의 거리를 d1, d2라 가정하여 설명하기로 한다. 이 경우, 실내지도에서 가능한 사용자의 위치는 a, b의 두 지점일 수 있고, 두 지점 중 사용자의 위치를 구해야 한다. 가능한 두 지점 중 사용자의 위치를 정하기 위해, 가상공간 상에 보이는 제1 및 제2 객체의 방향을 고려해야 한다.
가상공간에서 p2가 p1에 비해 오른쪽에 있을 경우 두 벡터의 외적 d2*d1 은 + 부호를 가질 수 있고, 가상공간에서 p2가 p1에 비해 왼쪽에 있을 경우 두 벡터의 외적 d2 *d1 은 - 부호를 가질 수 있다. 실내 지도에서 가능한 사용자의 위치 a, b에 대해 두 벡터의 외적(d2*d1)을 구하고, 가상공간에서 구해진 외적의 부호가 일치하는 실내지도의 사용자 위치를 사용자로 최종 위치로 결정할 수 있다.
상술한 바와 같이 제어부(150)는 촬영부(130)를 통해 두개의 객체를 인식하고, 인식된 두 객체의 위치 좌표들과 거리 추정 값들을 활용하여 사용자의 위치를 추정할 수 있다. 이처럼, 본 발명은 사용자가 단말장치(100)의 촬영부(130)를 통해 두개의 객체만 인식해도 정확하게 자신의 위치를 추정할 수 있도록, 벡터화된 실내지도를 활용한다. 구체적으로, 사전에 사용자의 위치 추정에 활용할 객체들을 실내지도 상에 매핑시켜 놓는다. 즉, 실내지도 상 객체들의 좌표를 저장시켜 놓는다. 이후, 단말장치(100)의 화면 상에 보이는 가상공간에서 두 객체들을 인식하면, 실내지도 상에서 사용자와 두 객체가 그리는 기하학적 모양과 가상공간 상에서 사용자와 두 객체가 그리는 기하학적 모양을 매칭시켜 사용자의 위치를 추정할 수 있다.
사용자의 실내 위치가 추정되면, 제어부(150)는 실내 지도상에 사용자의 위치를 표시하여 촬영 이미지와 함께 표시부(140)를 통해 디스플레이한다. 즉, 위치 추정 애플리케이션을 통해 사용자의 위치가 추정되면, 제어부(150)는 도 4와 같이 촬영된 이미지(310)와 실내 지도(320)상에 자신의 위치(B)가 표시된 위치 추정 화면(300)을 디스플레이할 수 있다.
이러한 제어부(150)는 적어도 하나의 연산 장치를 포함할 수 있는데, 여기서 상기 연산 장치는 범용적인 중앙연산장치(CPU), 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA), 주문형 반도체 연산장치(ASIC) 또는 마이크로 컨트롤러 칩일 수 있다.
한편, 상기와 같이 구성된 단말장치(100)는 촬영부(130)를 통해 주변 환경의 촬영이 가능하고, 다양한 유무선 환경에 적용될 수 있는 전자 기기일 수 있다. 예컨대, 단말장치(100)는 PDA(Personal Digital Assistant), 스마트폰, 셀룰러폰, PCS(Personal Communication Service)폰, GSM(Global System for Mobile)폰, W-CDMA(Wideband CDMA)폰, CDMA-2000폰, MBS(Mobile Broadband System)폰 등을 포함한다. 여기서 단말장치(100)는 휴대용 소형기기를 나타낼 수 있지만, 캠코더 또는 랩탑 컴퓨터 등을 포함하는 경우에는 이동통신단말기로 지칭될 수 있으므로, 본 발명의 실시예에서는 이에 특별히 한정하지는 않을 것이다.
도 6은 본 발명의 일 실시예에 따른 서비스 서버의 구성을 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 서비스 서버(200)는 통신부(210), 저장부(220), 객체 인식 모델 생성부(230) 및 제어부(250)를 포함한다.
통신부(210)는 단말장치(100)로부터 객체별 촬영 이미지를 수신한다.
저장부(220)는 서비스 서버(200)의 동작과 관련된 데이터들을 저장하는 구성이다. 특히, 저장부(220)에는 기선정된 객체별 좌표값이 저장된 실내 지도가 저장될 수 있다.
객체 인식 모델 생성부(230)는 통신부(210)를 통해 단말장치(100)로부터 객체별 촬영 이미지를 수신하고, 수신된 각 객체의 촬영 이미지를 학습하며, 객체 인식을 위한 객체 인식모델을 생성한다. 이때, 객체 인식 모델 생성부(230)는 딥 러닝을 이용하여 객체 인식 모델을 생성할 수 있다. 객체 인식 모델은 객체별 좌표값이 매핑된 형태일 수 있다. 따라서, 객체 인식 모델은 위치를 모르는 이미지가 입력되면, 그 이미지에서 객체 및 그 객체의 좌표를 출력값으로 계산할 수 있다.
한편, 본 발명에 따른 서비스 서버(200)는 통신부(210)를 통해 단말장치(100)로부터 촬영 이미지를 포함하는 위치 추정 요청 신호가 수신되면, 촬영 이미지를 객체 인식 모델에 입력하여 제1 및 제2 객체를 인식하고, 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 제1 및 제2 객체 각각과 사용자 간의 가상공간 거리를 각각 추정하고, 가상공간 거리를 이용하여 사용자의 실내 위치를 추정하며, 추정된 실내 위치를 단말장치로 전송하는 위치 추정부(240)를 더 포함할 수 있다. 위치 추정부(240)는 제1 및 제2 객체가 인식되면, 인식된 제1 및 제2 객체가 단말장치(100)의 화면상에 표시되도록 할 수 있다.
한편, 위치 추정 모델 생성부(230) 및 위치 추정부(240)는 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 위치 추정 모델 생성부(230) 및 위치 추정부(240)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다.
제어부(250)는 통신부(210), 저장부(220), 위치 추정 모델 생성부(230) 및 위치 추정부(240)를 포함하는 서비스 서버(200)의 다양한 구성부들의 동작을 제어하는 구성으로, 적어도 하나의 연산 장치를 포함할 수 있는데, 여기서 상기 연산 장치는 범용적인 중앙연산장치(CPU), 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA), 주문형 반도체 연산장치(ASIC) 또는 마이크로 컨트롤러 칩일 수 있다.
도 7은 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 단말장치(100)는 위치 추정 애플리케이션이 실행되면 촬영부(130)를 구동시켜 이미지를 촬영하고, 촬영 이미지에서 제1 및 제2 객체를 인식한다(S510). 이때, 단말장치(100)는 딥러닝 기술을 이용하여 제1객체 및 제2객체를 인식할 수 있다.
단계 S510이 수행되면, 단말장치(100)는 제1 객체 및 제2 객체의 가상공간 위치를 각각 추정한다(S520). 이때, 단말장치(100)는 가상공간 상에 생성되는 포인트 클라우드를 이용하여 제1 및 제2 객체의 가상공간 위치를 각각 추정할 수 있다.
단계 S520이 수행되면, 단말장치(100)는 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 제1 및 제2 객체 각각과 사용자 간의 가상공간 거리를 각각 추정한다(S530). 이때, 단말장치(100)는 dead Reckoning 알고리즘을 이용하여 사용자의 가상공간 위치를 추적할 수 있다. 사용자의 가상공간 위치가 추정되면, 단말장치(100)는 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 제2 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출할 수 있다.
단계 S530이 수행되면, 단말장치(100)는 제1 및 제2 객체의 가상공간 위치, 사용자의 가상공간 위치, 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치 간 유클리디안 거리를 이용하여, 실내지도 상 사용자의 위치를 추정한다(S540). 단말장치(100)가 실내지도 상 사용자의 위치를 추정하는 방법에 대한 상세한 설명은 도 8을 참조하기로 한다.
도 8은 본 발명의 일 실시예에 따른 외적을 이용하여 사용자의 위치를 추정하는 방법을 나타낸 순서도이다.
도 8을 참조하면, 단말장치(100)는 가상공간 상에서 사용자를 중심으로 제1 및 제2 객체까지의 두 벡터의 외적을 구한다(S610). 즉, 단말장치(100)는 사용자의 가상공간 위치로부터 제1 객체의 가상공간 위치까지의 제1 가상벡터와 사용자의 가상공간 위치로부터 제2 객체의 가상공간 위치까지의 제2 가상벡터의 외적인 가상공간 외적을 구할 수 있다.
단계 S610이 수행되면, 단말장치(100)는 실내지도의 사용자를 중심으로 제1 및 제2 객체까지의 두 벡터의 외적을 구한다(S620). 즉, 단말장치(100)는 제1 실내 예측 위치를 기준으로 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 및 제2 실제벡터의 제1 실내 외적 및 제2 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 및 제2 실제벡터의 제2 실내 외적을 구할 수 있다.
단계 S620이 수행되면, 단말장치(100)는 실내지도 상에서 사용자가 위치할 수 있는 두 지점 중 가상공간의 외적의 부호가 같은 지점을 사용자의 위치로 추정한다(S630). 즉, 단말장치(100)는 제1 및 제2 실내 외적 중 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 사용자의 실내 위치로 추정할 수 잇다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법은, 실내 환경에서 사용자 단말장치의 카메라로 촬영된 이미지를 이용하여 사용자의 위치를 추정함으로써, 고가의 장비나 인프라를 구축하지 않아도 실내 위치를 정확하게 추정할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.

Claims (13)

  1. 기설정된 객체별 좌표값이 매칭된 실내 지도가 저장된 저장부;
    촬영부; 및
    상기 촬영부를 통해 획득된 이미지에서 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하고, 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하는 제어부;
    를 포함하는 단말장치.
  2. 제1항에 있어서,
    표시부를 더 포함하고,
    상기 제어부는, 상기 사용자의 위치를 상기 실내 지도에 표시하여 상기 촬영부를 통해 획득된 이미지와 함께 상기 표시부를 통해 디스플레이시키는 것을 특징으로 하는 단말장치.
  3. 제1항에 있어서,
    상기 제어부는,
    딥러닝을 이용하여 상기 제1 및 제2 객체를 인식하고, 가상공간 상에 생성되는 포인트 클라우드를 이용하여 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 것을 특징으로 하는 단말장치.
  4. 제1항에 있어서,
    상기 제어부는,
    Dead Reckoning 알고리즘을 이용하여 상기 사용자의 가상공간 위치를 추정하는 것을 특징으로 하는 단말장치.
  5. 제1항에 있어서,
    상기 제어부는,
    상기 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 상기 제2 객체의 가상공간 위치와 상기 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출하는 것을 특징으로 하는 단말장치.
  6. 제5항에 있어서,
    상기 제어부는,
    상기 실내 지도로부터 상기 제1 및 제2 객체의 실내 좌표를 각각 획득하고, 상기 제1 및 제2 유클리디안 거리, 상기 제1 및 제2 객체의 실내 좌표를 이용하여 상기 사용자의 제1 실내 예측 위치 및 제2 실내 예측 위치를 추정하며, 상기 사용자의 가상공간 위치를 기준으로 상기 제1 및 제2 객체의 가상공간 위치까지의 벡터인 제1 가상벡터와 제2 가상벡터의 외적인 가상공간 외적을 구하고, 상기 제1 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제1 실내 외적 및 상기 제2 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제2 실내 외적을 구하며, 상기 제1 및 제2 실내 외적 중 상기 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 상기 사용자의 실내 위치로 추정하는 것을 특징으로 하는 단말장치.
  7. 제1항에 있어서,
    통신망을 통해 서비스 서버와 통신을 수행하는 통신부를 더 포함하고,
    상기 제어부는,
    상기 저장부에 저장된 이미지 수집 애플리케이션이 실행된 경우, 상기 촬영부를 통해 기선정된 객체들을 촬영하고, 상기 촬영된 각 객체의 이미지를 저장하며, 상기 저장된 각 객체의 촬영 이미지를 상기 통신부를 통해 상기 서비스 서버로 전송하는 것을 특징으로 하는 단말장치.
  8. 실내 지도에 설정된 각 객체의 촬영 이미지를 수신하는 통신부; 및
    상기 통신부를 통해 수신한 각 객체에서의 촬영 이미지를 학습하고, 상기 학습된 각 객체의 촬영 이미지를 통해 객체 및 그 객체의 좌표를 매칭하여 객체 인식을 위한 객체 인식 모델을 생성하는 객체 인식 모델 생성부
    를 포함하는 서비스 서버.
  9. 제8항에 있어서,
    상기 통신부를 통해 단말장치로부터 촬영 이미지를 포함하는 위치 추정 요청 신호가 수신되면, 상기 촬영 이미지를 상기 객체 인식 모델에 입력하여 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하며, 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하고, 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하며, 상기 추정된 실내 위치를 상기 단말장치로 전송하는 위치 추정부를 더 포함하는 서비스 서버.
  10. 단말장치가 촬영부를 통해 획득된 이미지에서 제1 및 제2 객체를 인식하고, 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 단계;
    상기 단말장치가 상기 제1 및 제2 객체의 가상공간 위치와 사용자의 가상공간 위치를 이용하여 상기 제1 및 제2 객체 각각과 상기 사용자 간의 가상공간 거리를 각각 추정하는 단계; 및
    상기 단말장치가 상기 가상공간 거리를 이용하여 상기 사용자의 실내 위치를 추정하는 단계
    를 포함하는 객체 인식 기반 실내 측위 서비스 방법.
  11. 제10항에 있어서,
    상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 단계에서,
    상기 단말장치는, 딥러닝을 이용하여 상기 제1 및 제2 객체를 인식하고, 가상공간 상에 생성되는 포인트 클라우드를 이용하여 상기 제1 및 제2 객체의 가상공간 위치를 각각 추정하는 것을 특징으로 하는 객체 인식 기반 실내 측위 서비스 방법.
  12. 제10항에 있어서,
    상기 가상공간 거리를 각각 추정하는 단계는,
    상기 단말장치가 dead Reckoning 알고리즘을 이용하여 상기 사용자의 가상공간 위치를 추정하는 단계; 및
    상기 단말장치가 상기 제1 객체의 가상공간 위치와 사용자의 가상공간 위치 간의 제1 유클리디안 거리를 산출하고, 상기 제2 객체의 가상공간 위치와 상기 사용자의 가상공간 위치 간의 제2 유클리디안 거리를 산출하는 단계를 포함하는 것을 특징으로 하는 객체 인식 기반 실내 측위 서비스 방법.
  13. 제10항에 있어서,
    상기 사용자의 실내 위치를 추정하는 단계는,
    상기 단말장치가 상기 실내 지도로부터 상기 제1 및 제2 객체의 실내 좌표를 각각 획득하고, 상기 제1 및 제2 유클리디안 거리, 상기 제1 및 제2 객체의 실내 좌표를 이용하여 상기 사용자의 제1 실내 예측 위치 및 제2 실내 예측 위치를 추정하는 단계;
    상기 단말장치가 상기 사용자의 가상공간 위치를 기준으로 상기 제1 및 제2 객체의 가상공간 위치까지의 벡터인 제1 가상벡터와 제2 가상벡터의 외적인 가상공간 외적을 구하는 단계;
    상기 단말장치가 상기 제1 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제1 실내 외적 및 상기 제2 실내 예측 위치를 기준으로 상기 제1 및 제2 객체의 실내 좌표까지의 벡터인 제1 실제벡터와 제2 실제벡터의 외적인 제2 실내 외적을 구하는 단계; 및
    상기 단말장치가 상기 제1 및 제2 실내 외적 중 상기 가상공간 외적과 부호가 일치하는 실내 외적의 실내 예측 위치를 상기 사용자의 실내 위치로 추정하는 단계를 포함하는 것을 특징으로 하는 객체 인식 기반 실내 측위 서비스 방법.
PCT/KR2020/015298 2020-11-04 2020-11-04 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법 WO2022097765A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/KR2020/015298 WO2022097765A1 (ko) 2020-11-04 2020-11-04 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
EP20960867.8A EP4242967A1 (en) 2020-11-04 2020-11-04 Terminal device for indoor positioning based on object recognition, service server, and method therefor
US18/251,038 US20230410351A1 (en) 2020-11-04 2020-11-04 Terminal device for indoor positioning based on object recognition, service server, and method therefor
CN202080106643.8A CN116472554A (zh) 2020-11-04 2020-11-04 用于基于对象识别的室内定位的终端装置、服务服务器及其方法
JP2023547168A JP2023544913A (ja) 2020-11-04 2020-11-04 客体認識基盤室内側位のための端末装置、サービスサーバーおよびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/015298 WO2022097765A1 (ko) 2020-11-04 2020-11-04 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법

Publications (1)

Publication Number Publication Date
WO2022097765A1 true WO2022097765A1 (ko) 2022-05-12

Family

ID=81458318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/015298 WO2022097765A1 (ko) 2020-11-04 2020-11-04 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법

Country Status (5)

Country Link
US (1) US20230410351A1 (ko)
EP (1) EP4242967A1 (ko)
JP (1) JP2023544913A (ko)
CN (1) CN116472554A (ko)
WO (1) WO2022097765A1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110025025A (ko) 2009-09-02 2011-03-09 동국대학교 산학협력단 자기장 센서를 이용한 현재 위치 측정 장치 및 방법
KR20130108678A (ko) * 2012-03-20 2013-10-07 삼성에스디에스 주식회사 위치 측정 장치 및 방법
KR20160003553A (ko) * 2014-07-01 2016-01-11 삼성전자주식회사 지도 정보를 제공하기 위한 전자 장치
JP2017102861A (ja) * 2015-12-04 2017-06-08 トヨタ自動車株式会社 物体認識装置
KR20180126408A (ko) * 2018-09-07 2018-11-27 이주형 사용자 단말의 위치를 판단하는 방법
JP2019046464A (ja) * 2017-09-01 2019-03-22 株式会社コンピュータサイエンス研究所 歩道進行支援システム及び歩道進行支援ソフトウェア
KR20210015226A (ko) * 2019-08-01 2021-02-10 주식회사 다비오 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110025025A (ko) 2009-09-02 2011-03-09 동국대학교 산학협력단 자기장 센서를 이용한 현재 위치 측정 장치 및 방법
KR20130108678A (ko) * 2012-03-20 2013-10-07 삼성에스디에스 주식회사 위치 측정 장치 및 방법
KR20160003553A (ko) * 2014-07-01 2016-01-11 삼성전자주식회사 지도 정보를 제공하기 위한 전자 장치
JP2017102861A (ja) * 2015-12-04 2017-06-08 トヨタ自動車株式会社 物体認識装置
JP2019046464A (ja) * 2017-09-01 2019-03-22 株式会社コンピュータサイエンス研究所 歩道進行支援システム及び歩道進行支援ソフトウェア
KR20180126408A (ko) * 2018-09-07 2018-11-27 이주형 사용자 단말의 위치를 판단하는 방법
KR20210015226A (ko) * 2019-08-01 2021-02-10 주식회사 다비오 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법

Also Published As

Publication number Publication date
JP2023544913A (ja) 2023-10-25
US20230410351A1 (en) 2023-12-21
EP4242967A1 (en) 2023-09-13
CN116472554A (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
KR102277503B1 (ko) 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
WO2015014018A1 (zh) 移动终端基于图像识别技术的室内定位与导航方法
WO2017086561A1 (en) Landmark location determination
WO2011093669A2 (ko) 객체 인식시스템 및 이를 이용하는 객체 인식 방법
WO2018164460A1 (en) Method of providing augmented reality content, and electronic device and system adapted to the method
WO2011013910A2 (ko) 증강 현실을 제공하는 방법과 그를 위한 서버 및 휴대용 단말기
WO2013039306A1 (en) Method and apparatus for providing information based on a location
WO2011162583A2 (ko) 인빌딩 전파 환경 맵 생성 방법과 그를 위한 장치
WO2017160026A2 (ko) 무선 통신 시스템에서 액세스 포인트를 이용한 위치 추정 방법 및 장치
WO2014073841A1 (ko) 영상기반 실내 위치 검출방법 및 이를 이용한 휴대용 단말기
WO2020042968A1 (zh) 一种对象信息的获取方法、装置以及存储介质
WO2021125578A1 (ko) 시각 정보 처리 기반의 위치 인식 방법 및 시스템
WO2020075954A1 (ko) 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법
WO2021132947A1 (ko) 실내 측위를 제공하는 전자 장치 및 그 방법
WO2012091313A2 (ko) 실내 위치 측정을 위한 장치 및 방법
CN113556680B (zh) 指纹数据的处理方法、介质和移动机器人
WO2020235740A1 (ko) 이미지 기반 실내 측위 서비스 시스템 및 방법
WO2022097765A1 (ko) 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
CN110095792B (zh) 定位终端的方法及装置
US20230035962A1 (en) Space recognition system, space recognition method and information terminal
WO2021080163A1 (en) Electronic device for detecting location and method thereof
WO2011071199A1 (ko) 위치 추적 시스템 및 그 방법
WO2024063231A1 (ko) 경로 안내 단말, 경로 안내 시스템 및 경로 안내 방법
WO2016035992A1 (ko) 실내 지도 구축 장치
WO2018199445A1 (ko) 전파 맵 생성 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20960867

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023547168

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202080106643.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18251038

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020960867

Country of ref document: EP

Effective date: 20230605