WO2021136386A1 - Data processing method, terminal, and server - Google Patents

Data processing method, terminal, and server Download PDF

Info

Publication number
WO2021136386A1
WO2021136386A1 PCT/CN2020/141440 CN2020141440W WO2021136386A1 WO 2021136386 A1 WO2021136386 A1 WO 2021136386A1 CN 2020141440 W CN2020141440 W CN 2020141440W WO 2021136386 A1 WO2021136386 A1 WO 2021136386A1
Authority
WO
WIPO (PCT)
Prior art keywords
panoramic image
image
panoramic
target
image sequence
Prior art date
Application number
PCT/CN2020/141440
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2021136386A1 publication Critical patent/WO2021136386A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/08
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Definitions

  • This application relates to the field of image measurement technology, and in particular to a data processing method, terminal and server.
  • information about the survey site is required, including site size, size, model, and location of the equipment in the site, as well as the connection relationship between the equipment, and relative positions.
  • an operator holds a camera to shoot a frame image based on the center projection in the tested scene, and uploads the frame image to a server after completing the collection, and the server calculates the image pose based on the frame image, thereby realizing site digitization.
  • the embodiment of the application provides a data processing method for 3D reconstruction of a target scene based on a panoramic image, which can reduce the skill requirements of image collectors, improve the success rate of image 3D reconstruction, and avoid image collectors repeatedly going to the station to collect data .
  • the first aspect of the present application provides a data processing method, including: a terminal acquires a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images shot on a target scene in different poses, and the plurality of panoramic images includes a continuously shot first A panoramic image and a second panoramic image; in the case that the degree of overlap of the second panoramic image is greater than or equal to the first threshold, the terminal sends a target panoramic image sequence including the first panoramic image and the second panoramic image to the server ,
  • the degree of overlap of the second panoramic image is the proportion of the overlapping area of the second panoramic image and the first panoramic image in the second panoramic image
  • the target panoramic image sequence is a part of the plurality of panoramic images
  • the target panoramic image The image sequence is used for the three-dimensional reconstruction of the target scene.
  • the terminal after the terminal acquires the panoramic image sequence, it can detect the degree of overlap between the first panoramic image and the second panoramic image obtained by continuous shooting, and when the degree of overlap is greater than or equal to the first threshold ,
  • the target panoramic image sequence including the first panoramic image and the second panoramic image may be sent to the server for the three-dimensional reconstruction of the target scene. Since the information collected by the panoramic image is comprehensive, the skill requirements for the image collector can be reduced.
  • the terminal can reduce the unqualified rate of images by screening the panoramic images, and avoid the image collectors from repeatedly going to the station to collect data.
  • the second panoramic image is an image continuously captured after the first panoramic image is captured.
  • the second panoramic image is an image taken after the first panoramic image.
  • the terminal collecting the panoramic image sequence requires a period of continuous shooting.
  • the second panoramic image will be Perform overlap detection on the previous first panoramic image, which can instantly obtain whether the overlap degree of the second panoramic image meets the preset requirements, so that image collectors can quickly determine whether the current captured image is qualified, which is convenient for instant correction when the captured image is unqualified. To avoid re-acquisition of the panoramic image sequence caused by the unqualified overlap after the entire group of panoramic image sequence is taken.
  • the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are set in the target scene for image size calibration. landmark.
  • the data processing method provided by the embodiments of the present application detects specific markers appearing in multiple panoramic images of a panoramic image sequence, and determines that the number of specific markers in the panoramic image sequence is greater than or equal to a preset second threshold. It needs to be explained However, if the specific marker set in the target scene consists of multiple markers, the number of each marker in the panoramic image sequence can be detected separately, and the number of each marker can be determined to be greater than or equal to the preset threshold. Optionally, the threshold for the quantity of each marker is the same. Since the number of specific markers in the panoramic image sequence is greater than or equal to the preset threshold, the position of the specific marker in the target scene can be determined according to the panoramic image sequence, which can be used for image size calibration to improve the accuracy of 3D modeling degree.
  • the target panoramic image sequence further includes a third panoramic image captured with a specific marker, and the specific marker is set in the target scene for image size calibration.
  • the method further includes: the terminal determines the location range of the specific landmark in the third panoramic image; the terminal sends the location range to the server, and the location range is used to determine the location range in the third panoramic image The location of specific markers.
  • the terminal can detect the position range of the specific marker in the third panoramic image with the specific marker, and send the position range to the server for determining the precise position of the specific marker, avoiding Detecting specific markers in all the third panoramic images can reduce the amount of calculation.
  • the error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, and the camera pose of the target panoramic image sequence is based on the image point of the target panoramic image sequence with the same name.
  • the image point with the same name is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
  • the terminal can perform camera pose estimation and determine a panoramic image sequence with an error less than or equal to a preset threshold as the target panoramic image sequence, thereby improving the success rate of three-dimensional reconstruction of the target scene.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the data processing method provided by the embodiments of this application determines the image points with the same name by projecting the image pairs whose overlap degree meets the first preset condition in the target panoramic image sequence onto the three-dimensional spherical surface, and can quickly eliminate the image points through the method of grid division and motion statistics characteristics. Mismatches, in order to improve the stability of the match.
  • the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene to a three-dimensional sphere according to the camera pose of the target panoramic image sequence , And the spherical distance between the image point of the object point in the target panoramic image sequence converted to the point formed by the three-dimensional spherical surface.
  • the coordinates of a feature point in the world coordinate system are back-projected to the image point coordinates on the image, and the distance between the coordinates of the image point with the same name in the image corresponding to the object point can be used
  • calculating the camera pose error in a three-dimensional spherical surface can reduce the amount of calculation.
  • the method further includes: the terminal sends a camera pose of the target panoramic image sequence to the server, where the camera pose is used to achieve three-dimensional reconstruction of the target scene.
  • the terminal can send the camera pose of the target panoramic image sequence to the server to realize the three-dimensional reconstruction of the target scene.
  • the server after the server obtains the camera pose sent by the terminal, it can The camera pose is used as the initial pose for calculation, reducing the amount of calculation and improving the speed of three-dimensional reconstruction.
  • the target panoramic image sequence further satisfies a second preset condition;
  • the second preset condition includes at least one of the following: the blur degree of the panoramic image satisfies a preset third Preset condition; and, the exposure of the panoramic image satisfies a preset fourth preset condition; and, the proportion of the invalid area of the panoramic image is less than or equal to the fifth threshold, and the invalid area includes the captured target scene Outside the area, the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area.
  • the terminal can filter the acquired panoramic image according to a variety of possible preset condition combinations, including image quality indicators such as blurriness, exposure, and the proportion of invalid areas of the image, and filter out
  • image quality indicators such as blurriness, exposure, and the proportion of invalid areas of the image
  • a second aspect of the embodiments of the present application provides a data processing method, including: a server receives a panoramic image sequence sent by a terminal, the panoramic image sequence includes a plurality of panoramic images sequentially shot of a target scene in different poses; the server The camera pose of the panoramic image sequence is determined according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or equal to the first threshold.
  • the server after the server receives the panoramic image sequence sent by the terminal, the error of the camera pose is less than or equal to the first threshold. In this way, the server has a higher success rate in achieving three-dimensional reconstruction based on the panoramic image.
  • the image point with the same name is an image point of an image pair whose overlap degree meets a preset condition in the panoramic image sequence
  • image pairs whose overlap degree meets a preset condition are used for image matching to determine points with the same name, which can improve calculation efficiency.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the data processing method provided by the embodiment of the application projects the image pairs whose overlap degree meets the first preset condition in the target panoramic image sequence to the three-dimensional spherical surface to determine the image points with the same name. Errors can be quickly eliminated through the method of grid division and motion statistics characteristics. Matching to improve the stability of matching.
  • the server detects an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: pedestrian area, road Vehicle area and sky area; the image point with the same name is the image point outside the invalid area in the panoramic image.
  • the server detects invalid areas in a panoramic image, searches for pixels with the same name in the effective image area after removing the invalid areas, and performs image matching, which can improve the efficiency of determining pixels with the same name.
  • the panoramic image sequence includes a panoramic image captured with a specific marker, and the specific marker is a marker set in the target scene for image size calibration;
  • the server determining the camera pose of the panoramic image sequence according to the image point of the panoramic image sequence with the same name includes: the server determines the camera pose of the panoramic image according to the position of the image point of the same name and the specific marker, and the camera pose is used for Realize the three-dimensional reconstruction of the target scene.
  • the panoramic image sequence includes a panoramic image captured with a specific marker for image size calibration.
  • the image point of the same name and the position of the specific marker determine the camera pose of the panoramic image, The calculation accuracy can be improved.
  • the server receives the location range of the specific marker of the panoramic image from the terminal; the server determines the location of the specific marker from the location range of the specific marker.
  • the server receives the position range of the specific marker sent by the terminal, and determines the precise position of the specific marker according to the position range, avoiding the detection of the specific marker in the entire panoramic image, which can reduce the amount of calculation .
  • the method further includes: the server receives a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the panoramic image determined by the terminal The camera pose of the sequence; the server determines the second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
  • the server receives the camera pose sent from the panoramic image sequence from the terminal, and the camera pose can be used as the initial pose for calculation, which reduces the amount of calculation and improves the three-dimensional reconstruction speed.
  • the panoramic image sequence satisfies a first preset condition
  • the first preset condition includes at least one of the following: the degree of overlap of the second panoramic image in the panoramic image sequence is greater than or Equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the degree of overlap of the second panoramic image is that the overlap area between the second panoramic image and the first panoramic image occupies the The proportion of the second panoramic image; and, the number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and, the blur degree of the panoramic image satisfies the second preset condition; and, The exposure of the panoramic image satisfies the third preset condition; and, the error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is performed according to the image points of the panoramic image sequence with the same name.
  • the posture restoration is determined, and the image point with the same name is the image
  • the server can filter the acquired panoramic image sequence according to a variety of possible preset condition combinations, including image quality indicators such as blurriness and exposure, overlap of continuously captured images, and specific signs The number of objects, etc., the selected target image sequence that satisfies the preset conditions has a higher success rate in achieving the three-dimensional reconstruction of the target scene.
  • a third aspect of the embodiments of the present application provides a terminal, including: an acquisition module, configured to acquire a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images taken of a target scene in different poses, and the plurality of panoramic images includes The first panoramic image and the second panoramic image taken continuously; the sending module is configured to send the first panoramic image and the second panoramic image to the server when the degree of overlap of the second panoramic image is greater than or equal to the first threshold.
  • a target panoramic image sequence of a panoramic image is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image, and the target panoramic image sequence is the plurality of panoramic images A part of the image, the target panoramic image sequence is used for the three-dimensional reconstruction of the target scene.
  • the second panoramic image is an image continuously captured after the first panoramic image is captured.
  • the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific marker is set in the target scene for image size calibration landmark.
  • the target panoramic image sequence further includes a third panoramic image captured with a specific marker, and the specific marker is set in the target scene for image size calibration.
  • a landmark the terminal further includes: a determining module for determining the location range of the specific landmark in the third panoramic image; the sending module is also used for sending the location range to the server, and the location range is used for determining The location of the specific marker in the third panoramic image.
  • the error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, and the camera pose of the target panoramic image sequence is based on the image points of the target panoramic image sequence with the same name.
  • the image point with the same name is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene to a three-dimensional spherical surface according to the camera pose of the target panoramic image sequence , And the spherical distance between the image point of the object point in the target panoramic image sequence converted to the point formed by the three-dimensional spherical surface.
  • the sending module is further configured to send the camera pose of the target panoramic image sequence to the server, where the camera pose is used to realize the three-dimensional reconstruction of the target scene.
  • the target panoramic image sequence further satisfies a second preset condition;
  • the second preset condition includes at least one of the following: the blur degree of the panoramic image satisfies a preset third Preset condition; and, the exposure of the panoramic image satisfies a preset fourth preset condition; and, the proportion of the invalid area of the panoramic image is less than or equal to the fifth threshold, and the invalid area includes the captured target scene Outside the area, the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area.
  • the fourth aspect of the embodiments of the present application provides a server, which is characterized by comprising: a receiving module, configured to receive a panoramic image sequence sent by a terminal, the panoramic image sequence including a plurality of sequentially photographed target scenes in different poses Panoramic image; determination module for determining the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence to achieve the three-dimensional reconstruction of the target scene.
  • the error of the camera pose of the panoramic image sequence is less than or equal to the first A threshold.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the server further includes: a detection module configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes At least one of the following: pedestrian area, road vehicle area, and sky area; the image point with the same name is an image point outside the invalid area in the panoramic image.
  • a detection module configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes At least one of the following: pedestrian area, road vehicle area, and sky area; the image point with the same name is an image point outside the invalid area in the panoramic image.
  • the panoramic image sequence includes a panoramic image captured with a specific marker, and the specific marker is a marker set in the target scene for image size calibration;
  • the determining module is also used to determine the camera pose of the panoramic image according to the position of the image point with the same name and the specific marker, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
  • the receiving module is further used to receive the position range of the specific marker of the panoramic image from the terminal; the determining module is also used to obtain the position range of the specific marker from the terminal. Determine the location of the specific marker in the range.
  • the receiving module is further configured to receive a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the panoramic image determined by the terminal The camera pose of the sequence; the determining module is also used to determine the second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
  • the panoramic image sequence satisfies a first preset condition
  • the first preset condition includes at least one of the following: the degree of overlap of the second panoramic image in the panoramic image sequence is greater than or Equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the degree of overlap of the second panoramic image is that the overlap area between the second panoramic image and the first panoramic image occupies the The proportion of the second panoramic image; and, the number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and, the blur degree of the panoramic image satisfies the second preset condition; and, The exposure of the panoramic image satisfies the third preset condition; and, the error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is performed according to the image points of the panoramic image sequence with the same name.
  • the posture restoration is determined, and the image point with the same name is the image
  • the fifth aspect of the embodiments of the present application provides a terminal, which is characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions.
  • the processor is used to call the program instructions to execute the method in any one of the foregoing first aspect and various possible implementation manners.
  • the sixth aspect of the embodiments of the present application provides a server, which is characterized in that it includes a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions.
  • the processor is used to call the program instructions to execute the method in any one of the foregoing second aspect and various possible implementation manners.
  • a seventh aspect of the embodiments of the present application provides a data processing device, which is characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions
  • the processor is used to call the program instructions to execute the method in any one of the foregoing first aspect, second aspect and various possible implementation manners.
  • the eighth aspect of the embodiments of the present application provides a computer program product containing instructions, which is characterized in that, when it runs on a computer, the computer executes the first and second aspects and various possible implementation manners as described above. Any one of the methods.
  • the ninth aspect of the embodiments of the present application provides a computer-readable storage medium, including instructions, which are characterized in that, when the instructions are run on a computer, the computer executes the first and second aspects as well as various possible possibilities. Any one of the ways to achieve this.
  • a tenth aspect of the embodiments of the present application provides a chip including a processor.
  • the processor is used to read and execute the computer program stored in the memory to execute the method in any possible implementation manner of any one of the foregoing aspects.
  • the chip should include a memory, and the memory and the processor are connected to the memory through a circuit or a wire.
  • the chip further includes a communication interface, and the processor is connected to the communication interface.
  • the communication interface is used to receive data and/or information that needs to be processed.
  • the processor obtains the data and/or information from the communication interface, processes the data and/or information, and outputs the processing result through the communication interface.
  • the interface can be an input and output interface.
  • the skill requirements for the image collector can be reduced.
  • the terminal After the terminal acquires the panoramic image sequence, it will filter the panoramic images whose overlap degree meets the preset overlap degree threshold and send it to the server for 3D reconstruction of the target scene. By filtering the panoramic images, the terminal can reduce the image failure rate and avoid the repetition of image collectors. Collect data on the station.
  • the terminal acquires a panoramic image sequence for a period of continuous shooting.
  • the second panoramic image will be collected and the previous first panoramic image will be detected for overlap, so that the overlap of the second panoramic image can be instantly obtained Satisfy the preset requirements, allowing the image collector to quickly determine whether the current captured image is qualified, which is convenient for instant re-shooting when the captured image is unqualified, and avoids the re-acquisition of the panoramic image sequence caused by the unqualified overlap after the entire group of panoramic image sequences are taken. .
  • the server obtains the filtered panoramic images that meet the preset overlap threshold, which can improve the success rate of 3D reconstruction and prevent image collectors from repeatedly going to the station to collect data.
  • Figure 1 is a schematic diagram of a survey scene in an embodiment of the application
  • FIG. 2 is a schematic diagram of an embodiment of a data processing method in an embodiment of the application
  • FIG. 3 is a schematic diagram of the coordinate system of the camera pose calculation in an embodiment of the application.
  • FIG. 5 is a schematic diagram of another embodiment of a data processing method in an embodiment of the application.
  • FIG. 6 is a schematic diagram of an embodiment of a terminal in an embodiment of the application.
  • FIG. 7 is a schematic diagram of an embodiment of a server in an embodiment of the application.
  • FIG. 8 is a schematic diagram of another embodiment of a terminal in an embodiment of this application.
  • FIG. 9 is a schematic diagram of another embodiment of a server in an embodiment of the application.
  • FIG. 10 is a schematic diagram of an embodiment of a data processing device in an embodiment of the application.
  • the embodiment of the application provides a data processing method for 3D reconstruction of a target scene based on a panoramic image, which can reduce the skill requirements of image collectors, improve the success rate of image 3D reconstruction, and avoid image collectors repeatedly going to the station to collect data .
  • Panoramic image A broad panoramic image refers to a wide-angle image, that is, an image with a larger angle of view.
  • the embodiments of this application specifically refer to images with a horizontal viewing angle of 360 degrees and a vertical viewing angle of 180 degrees.
  • the panoramic image can be realized by different projection methods, including: equiangular projection, equirectangular projection, and orthogonal projection Sum equal area projection, etc., are not specifically limited here. Since panoramic images need to project as large a three-dimensional scene as possible into a limited two-dimensional image plane for presentation and storage, the panoramic images produced by various projection methods have large image distortions.
  • Panoramic camera used to collect panoramic images.
  • the panoramic camera is equipped with at least two fisheye lenses, or multiple wide-angle lenses, or multiple ordinary lenses, which are not specifically limited here.
  • the images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited.
  • Panoramic image sequence a series of panoramic images obtained sequentially and continuously on a target at different times and different positions. This application mainly relates to a series of panoramic images obtained by continuous shooting of a scene or site.
  • Image overlap area refers to the image area that contains the same object in two images.
  • the ratio of the image overlap area to the entire image is the degree of overlap.
  • Image pose refers to the camera pose when the image is taken.
  • the camera pose refers to the position of the camera in space and the orientation of the camera, which can be regarded as the translational transformation and rotation transformation of the camera from the original reference position to the current position. .
  • Image matching From two images with overlapping information, extract the feature points of each image and the feature vector corresponding to the feature point as a descriptor, and use the feature vector to determine the image point corresponding to the same object point in the two images. Multiple image points corresponding to the same object point in different images are called image points with the same name.
  • GMS Grid-based motion statistics
  • SFM structure from motion, a technology to determine the sparse point cloud of the subject and the pose (position and posture) of the image from multiple images.
  • Binocular measurement a method in which the camera poses corresponding to two images are known, and the three-dimensional coordinates of the object points corresponding to the points are determined by measuring the image points with the same name in the two images.
  • Frame image the center projection image taken by a common mobile phone or SLR.
  • Relative orientation restore or determine the relative relationship of the image pair during photography.
  • PnP peerspective-n-point
  • Forward intersection Determine the three-dimensional coordinates of the object point corresponding to the image point with the same name based on the known poses of the two images and the image point with the same name.
  • the site information by collecting the image information of the site, based on the image information for three-dimensional reconstruction, and then realize the site digitization, can provide data support for subsequent design or operation and maintenance, such as the size of the site, the size of the equipment in the site, model, Location, connection relationship between devices, relative location and other information.
  • the operator holds a frame camera, takes frame images in the tested scene, uses the SFM algorithm in computer vision to calculate the camera pose when the image is taken, and completes data collection with binocular measurement. Due to the limited field of view of a single image of the frame image, in order to meet the requirements of pose calculation, sufficient repeated targets must be included among the collected multiple images. For binocular measurement of targets in the scene, at least 2 images are required. To the target, ordinary data collectors are prone to shooting loopholes due to insufficient professionalism or inexperience.
  • the image collector collects images through the terminal and directly uploads all the collected images to the server side, and then The calculation is performed centrally on the server side. Once the captured image is unqualified during the server calculation process, the image collector needs to go to the station again to shoot, which is time-consuming and laborious.
  • the server is based on the three-dimensional reconstruction of ordinary frame images.
  • the acquired feature points are very similar or lack of sufficient feature points to be continuously tracked and the reconstruction fails.
  • the embodiment of the application provides a data processing method for collecting panoramic images that meet the requirements of site digitization, which can improve the quality of the collected panoramic images and reduce the rate of image collectors returning to the site.
  • Figure 1 is a schematic diagram of a survey scene in an embodiment of this application.
  • a panoramic image is acquired in a site through an image acquisition device.
  • a specific marker is placed in the shooting scene in advance.
  • Common specific markers include targets or benchmarks. Among them, the distance between the two ends of the benchmark It is known that the distance and angle between the targets are known.
  • Figure 1 shows a specific marker, including 3 targets. Among them, the distance between the No. 1 target and the No. 2 target is 1 meter. The distance between the target and the No. 3 target is also 1 meter, and the angle between the line connecting the No. 1 target and the No. 2 and No. 3 targets is 90 degrees. In this way, the 3 targets can define a plane.
  • the No. 1 target can be used as the origin of the coordinate system of the plane, so that the size of the captured image can be calibrated.
  • the image collector uses the image acquisition device to take single-point image shooting.
  • the shooting point selected by the image collector can be a certain distance away from the specific landmark, for example, about one and a half steps away.
  • the details can be changed according to the different shooting scenes, and there is no specific limitation here.
  • the image collection personnel perform image collection according to the "step by step” rule.
  • Figure 1 shows the "step by step” shooting trajectory in this scene.
  • a step refers to a step of the image collector, which can be walking or running or moving in some way.
  • the specific size of the step is not limited here. It should be noted that in order to achieve three-dimensional reconstruction, shooting in a scene A set of images needs to cover the entire scene.
  • a scene here can refer to the inside of a room, or outdoors, and a circle around the target subject. The specific scene is not limited.
  • FIG. 2 is a schematic diagram of an embodiment of the data processing method in the embodiment of the present application.
  • the terminal can obtain a panoramic image and perform image pose estimation.
  • image pose estimation please refer to step 201 to step 208.
  • three-dimensional reconstruction can be directly performed according to the camera pose;
  • the terminal uploads the acquired panoramic image to the server, and the server performs image pose estimation. You can refer to steps 201, 209 to 213.
  • the terminal directly uploads the acquired panoramic image sequence to the server without going through steps 202 to steps. Image screening in 208;
  • the terminal obtains the panoramic image and performs image screening, uploads the panoramic image that meets the preset conditions to the server, and the server implements the image pose estimation.
  • the specific implementation form is not limited here.
  • the third implementation method is taken as an example for detailed introduction.
  • the terminal acquires a panoramic image
  • the image acquisition device is used to collect panoramic images, and it may be a terminal equipped with a panoramic camera, or a panoramic camera with a communication connection with the terminal, and the details are not limited here.
  • the smart terminal plus the peripheral panoramic camera is taken as an example for description.
  • the terminal can connect to the panoramic camera through TypeC, Bluetooth or wifi, and control the panoramic camera to shoot through the client.
  • the panoramic camera takes a panoramic image and sends the panoramic image to the terminal.
  • the terminal obtains the panoramic image, and then processes the panoramic image, realizes image pre-detection, and determines whether the captured panoramic image sequence meets the requirements.
  • a panoramic camera is used to shoot a set of panoramic image sequences for the site scene, including multiple panoramic images.
  • the number of panoramic images included in the panoramic image sequence is not limited here. .
  • the terminal performs image quality detection on the panoramic image
  • the objective image quality indicators include focus, noise, color, exposure, sharpness, etc. This embodiment does not limit the number and types of objective quality indicators selected by the terminal for image quality detection.
  • the terminal detects whether the exposure and blur of the panoramic image meet preset requirements.
  • the following are introduced separately:
  • the exposure degree can also be calculated by directly counting the grayscale histogram of the image, and the calculation method of the exposure degree is not specifically limited here.
  • the terminal After the exposure of the captured image is obtained, it can be compared with the preset exposure threshold to determine whether it is within the threshold range. If it is within the threshold range, the image exposure is appropriate, otherwise it is determined that the image is overexposed or underexposed, optional Yes, the terminal can prompt the user to take an image with abnormal exposure. It should be noted that the specific range of the exposure threshold is not limited here.
  • the gray-scale histogram analysis algorithm is used as an example for introduction.
  • the exposure threshold is set to 1.0. If the calculated value is greater than 1.0, the exposure is considered abnormal.
  • the user may be prompted to delete the image and take another shot.
  • the terminal After calculating the blur degree value of the captured image, it can be compared with the preset blur degree threshold to determine whether the blur degree of the captured image is within the threshold range. If it is within the threshold range, the blur degree of the image is qualified, otherwise it is unqualified. Yes, the terminal can prompt the user that the captured image is blurred.
  • the specific range of the blurriness threshold is not limited here. For example, the blurriness threshold is set to 6.0, and if it is greater than the threshold, the image is considered to be blurred.
  • the user may be prompted to delete the image and take another shot.
  • the terminal can detect the image quality after acquiring the panoramic image, the detection result can be fed back to the image collector in time, which helps to improve the qualification rate of the panoramic image.
  • the terminal performs invalid region detection on the panoramic image.
  • the invalid area is the part of the image that is worthless except for the target scene, such as moving objects, such as data collectors or road vehicles.
  • the terminal presets the type of the invalid area, for example, defines the moving object in the captured image as the invalid area, and calculates the proportion of the invalid area in the captured image.
  • the image recognition method uses the image recognition method to identify the invalid area in the captured image, calculate the proportion of the invalid area in the captured image, and compare it with a preset invalid area threshold. If it is within the threshold range, the image is qualified, otherwise the image Unqualified.
  • the threshold of the effective area can be preset, and the effective area ratio of the image can be calculated, and the details are not described here.
  • the invalid area threshold is 70%
  • the MobileNet model is used to perform semantic segmentation on the panoramic image, identify the range of motion areas in the image, and count the proportion of the motion area of each image in the image. If it is greater than 70%, then determine the The proportion of the invalid area of the image is unqualified.
  • the user may be prompted to delete the image and take another shot.
  • the terminal detects the degree of overlap of two consecutive images
  • the overlap degree of the continuously shot panoramic image sequence can be detected and judge whether the preset overlap degree threshold is met. If the threshold is met, the image overlap degree is qualified, if not satisfied , The panoramic image overlap degree is unqualified, and you need to take another shot.
  • the preset overlap degree threshold is 30%. After acquiring the second panoramic image, the terminal will perform overlap detection with the acquired first panoramic image. If the overlap degree of the two images is greater than or equal to 30%, then Make sure that the overlap of the second image meets the requirements, otherwise you will be prompted to take the second image again. Similarly, after acquiring the third image, the terminal performs overlap detection between the third image and the second image to determine whether the third image meets the overlap requirement.
  • step 205 is an optional step, which may or may not be performed, and the details are not limited here.
  • the terminal performs specific marker statistics on the panoramic image sequence
  • the specific markers in the image can be used as control information to predefine the number threshold of the specific markers appearing in the panoramic image to ensure that the final calculated image pose can be binocular measurement or vector modeling.
  • the number threshold is, for example, 2 or 3, and the specific value is not limited here.
  • the terminal After acquiring a panoramic image sequence of a scene, the terminal will count the specific markers that appear in all panoramic images in the panoramic image sequence. There may be multiple specific markers. If each specific marker appears in the panoramic image sequence If the number is greater than or equal to the preset number threshold of the specific marker, the panoramic image sequence is qualified; otherwise, the entire group of panoramic image sequence is unqualified, prompting the user that the photographing data of the characteristic markers is insufficient and needs to be photographed again. Optionally, according to the detection result, whether the shooting control information meets the requirements is prompted.
  • the terminal needs to identify the specific marker in each panoramic image.
  • use the MobileNet model for image recognition identify the specific marker in each image, and determine whether the number of markers meets the preset specific markers The number threshold.
  • specific marker recognition and invalid region recognition can be combined. For example, after a panoramic image is obtained, the MobileNet model is used to simultaneously identify the invalid region and the specific marker.
  • the terminal counts the number of specific markers in the panoramic image sequence.
  • the specific markers are 3 targets, which are target 1, target 2, and target 3, the terminal needs to analyze each panoramic image. Recognize in the image, determine the type and number of targets, and then count the types and numbers of all the targets in the panoramic image sequence, for example, count the types and numbers of targets in 15 images, the number of target 1 is 4, 2 The number of target No. 3 is 3, the number of No. 3 targets is 5, and the preset threshold for the number of specific markers is 2. Because the number of No. 1, No. 2 and No. 3 targets are all greater than the preset threshold 2. Therefore, it is judged that the number of specific markers of the panoramic image sequence is qualified. If the number of target 1, target 2, or target 3 is less than 2, the panoramic image sequence is unqualified, which can promote the user to take another shot .
  • step 203 the invalid area and specific markers can be identified at the same time, the type and quantity of the specific markers of each panoramic image are recorded, and then in this step, whether the number of specific markers meets the requirements Just ask.
  • image retrieval can be performed on the panoramic image sequence, the overlap relationship between each panoramic image and other images in the panoramic image sequence can be determined, and the image pair used for subsequent image matching can be determined.
  • the degree of overlap between the images is determined after the images are reduced according to a certain method.
  • the number of pixels in the horizontal and vertical directions of the reduced image to the image frame is less than 2000, and then the image retrieval of the reduced panoramic image can reduce the amount of calculation.
  • preset an overlap degree threshold and determine an image whose overlap degree with each image is higher than the overlap degree threshold as the image for image matching, for example, the second to fourth images and the sixth image and the first If the overlap degree of an image is higher than the overlap threshold value, it is determined that the second to fourth images and the sixth image are respectively matched with the first image, that is, four image pairs are determined.
  • Image matching is performed according to the image pair acquired by the image retrieval in step 207 to determine the image point with the same name in the image pair.
  • ORB algorithm is a fast feature point extraction and description algorithm, which is mainly divided into two parts, feature point extraction and feature point description. Feature extraction is developed by the FAST (features from accelerated segment test) algorithm, and the feature point description is improved based on the BRIEF (binary robust independent elementary features) feature description algorithm. This application does not limit the specific types of matching algorithms. The following takes the improved orb algorithm as an example to introduce.
  • the traditional matching algorithm is a matching strategy based on the center projection model of a common frame image.
  • This embodiment proposes a matching strategy based on a three-dimensional spherical coordinate system to search for an image point with the same name in a panoramic spherical space.
  • This application improves on the traditional orb algorithm. After extracting orb feature points, the image is projected onto a three-dimensional spherical surface, and the spherical surface is divided into grids, which are determined by grid-based motion statistics (GMS) For the image points with the same name, the wrong matching can be quickly eliminated through the method of grid division and motion statistics, so as to improve the stability of the matching.
  • GMS grid-based motion statistics
  • the terminal performs camera pose recovery
  • camera pose estimation There are many ways of camera pose estimation, including SFM (structure from motion) technology, or simultaneous positioning and map construction (simultaneous localization and mapping, SLAM) technology, etc., which are not specifically limited here.
  • SFM structure from motion
  • SLAM simultaneous positioning and map construction
  • This embodiment China and Israel introduced camera pose recovery based on SFM technology.
  • This application improves the existing SFM algorithm, and proposes algorithms based on relative orientation, PnP, and forward intersection based on three-dimensional spherical coordinates based on the characteristics of panoramic images.
  • the coordinates of the feature points in the world coordinate system are calculated, and the camera pose corresponding to a single panoramic image, including the coordinates of the image shooting center in the world coordinate system, and the world coordinate system and the shooting center It is the transformation matrix between the three-dimensional spherical coordinate system of the origin.
  • the coordinates of a feature point in the world coordinate system are back projected to the image point coordinates on the image, and the distance between the coordinates of the image point with the same name in the image corresponding to the object point can be used to measure the camera pose error.
  • the standard deviation of the distance from the corresponding image point after the multiple feature points are back-projected to the image is less than or equal to the threshold, it is determined that the camera pose calculation of the image is successful.
  • FIG. 3 is a schematic diagram of a coordinate system for calculating a camera pose in an embodiment of the application.
  • the coordinate systems involved in Figure 3 include: the world coordinate system is O-XYZ, the three-dimensional spherical coordinate system o-p0p1p2, and the image plane coordinate system uv.
  • P point represents an object point in the world coordinate system
  • [X Y Z] is the coordinate of the object point P in the world coordinate system
  • Point o is the shooting center of the image
  • the coordinates of point o in the world coordinate system are [X S Y S Z S ].
  • Point p represents the image space point of the object point P in the spherical projection
  • the coordinate of point p in the three-dimensional spherical coordinate system is [p 0 p 1 p 2 ].
  • Point p' represents the image point of the object point P in the panoramic image, and the coordinates of point p'in the image plane coordinate system are [u, v].
  • R represents a transformation matrix between the world coordinate system and the three-dimensional spherical coordinate system.
  • the pose parameter when calculating the camera pose parameter [X S Y S Z S ] of the panoramic image and the error of the R matrix, for the known object point [XYZ], use the pose parameter to calculate other corresponding three-dimensional spherical coordinates
  • the coordinates in the system [P 0 ′ P 1 ′ P 2 ′], and the coordinates [u′ v′] in the image plane coordinate system, that is, the value of [u′ v′] is calculated according to formulas (1) and (2), Compare the value of [u′ v′] with the input value of [u, v], and calculate the distance between [u′ v′] and [uv] Count the average distances corresponding to all the object points. If the average value is less than the threshold T, the calculated pose is considered valid.
  • the threshold T may be, for example, 6 pixels.
  • represents the scale factor
  • this application provides a simplified algorithm.
  • the following describes the method for calculating the camera pose error in this embodiment.
  • the feature points and object points are back-projected to the three-dimensional spherical coordinate system. Project the image point corresponding to the image to the three-dimensional spherical coordinate system.
  • the three-dimensional coordinate calculation define the arc distance threshold between the point and the point or the point and the line in the three-dimensional space to determine whether the camera pose calculation is successful. The following is introduced:
  • f is the main distance, that is, the distance from the optical center to the imaging surface.
  • the initial pose calculation between images is completed, and the camera pose corresponding to each panoramic image and the sparse point cloud of the shooting scene are obtained.
  • the panoramic image sequence is qualified.
  • the user is prompted to take another shot.
  • the SFM network is constructed based on the spherical coordinates of the three-dimensional image space.
  • the two-dimensional image coordinates are no longer used for relative orientation and PnP calculations, but the two-dimensional image coordinates are converted to the three-dimensional spherical coordinates for calculation. , Which can reduce the amount of calculation.
  • this step can be based on the number of pairs of pixels with the same name between the images.
  • the setting condition can be that the number of pairs of image points with the same name between the uncalculated image and the calculated image is greater than the threshold, such as 15, and the PnP calculation result is valid, thus, the number of optimizations of the beam method can be reduced, and the number of beam method adjustments can be reduced. It is a method of accurately determining the position and posture of an image using optimization methods. The amount of calculation can be reduced, the calculation time can be reduced, and the user experience can be improved.
  • the three-dimensional reconstruction of the target scene can be performed according to the camera pose obtained in this step.
  • the terminal uploads the panoramic image sequence to the server
  • the terminal sends the panoramic image sequence to the server, and the communication method is not limited.
  • the terminal sends the detection result of the specific marker to the server.
  • the terminal sends the camera pose and the sparse point cloud of the shooting scene corresponding to each panoramic image to the server.
  • the server performs interference area detection
  • the server receives the panoramic image sequence sent by the terminal and separately detects the interference area in each panoramic image.
  • the interference area is interference information that does not need to be used for site digitization.
  • the interference area can be predefined, for example, set the moving objects and the sky in the image
  • the area is the interference area. It should be noted that the definition of the interference area and the invalid area in step 203 may be the same or different, and the specific definition is not limited here.
  • the interference area in the image is recognized by the image recognition method, and the mask picture of each image is generated according to the recognition result, the non-interference area is reserved, and the mask picture of each image is generated;
  • the recognition rate of semantic segmentation is low by directly using the image recognition algorithm.
  • each image point of the image can be converted to a three-dimensional spherical coordinate system, and the image can be rotated and transformed to make the original panoramic image
  • the lower area that is, the main area to be recognized is rotated to the equatorial area of the sphere. Since the equatorial area of the sphere has the smallest image distortion after being converted into a two-dimensional image, the recognition rate of image semantic segmentation can be improved.
  • the DeepNet network model is used to perform semantic segmentation, and at the same time, matching interference regions, such as the sky, pedestrians, etc., are identified.
  • an image segmentation (graph cut) algorithm is used to optimize the regions marked as pedestrians to further improve the segmentation accuracy.
  • a corresponding matching mask image is produced.
  • pixels with a gray level of 0 represent interference areas
  • pixels with a gray level of 255 represent non-interference areas.
  • FIG. 4 is a schematic diagram of an image semantic segmentation recognition result in an embodiment of the application.
  • the left image is the input image
  • the right image is the predicted semantic segmentation recognition result.
  • the area A represents the sky
  • the area B represents the effective area
  • the area C represents the feature marker
  • the area D represents the interference area formed by moving objects such as pedestrians.
  • the server detects a specific marker
  • the server determines the number and precise location of the specific marker in the image.
  • the specified information in the specific marker is used as the control information to ensure that the scale of the coordinate system where the image pose is calculated is correct.
  • step 205 the terminal has preliminarily identified the specific marker through pre-detection. Therefore, in this step, the server can perform detection in the local area of the identified specific marker according to the detection result of the specific marker uploaded by the terminal pre-detection. , To determine the precise location of a specific marker.
  • the identification of the specific marker may be performed at the same time as the identification of the invalid area is performed in step 210.
  • the partial area containing the specific marker in the panoramic image is reprojected to the central projection plane to obtain a frame image containing the specific marker, thereby reducing image distortion.
  • a target detection algorithm such as Yolo v3
  • the specific marker is the target, binarize the frame image containing the target, analyze the result of the binarization, determine the target number, and use a circular detector to extract the center point of the target position.
  • a series of images is obtained based on the rotation transformation of the original panoramic image on the three-dimensional spherical coordinate system.
  • the panoramic image contains a specific marker, that is, the partial area of the target can be reprojected to the central projection plane to obtain the containing target.
  • the frame image of the target can reduce the image distortion of the target area and facilitate the precise positioning of the target.
  • the lower area of the original panoramic image that is, the main area to be identified that may have interference, can be rotated to the equator area of the spherical surface and projected to the central projection plane.
  • the image is deformed Minimal, which can improve the recognition rate of image semantic segmentation.
  • the server performs image matching
  • the server obtains a pair of images with a high degree of overlap according to the image retrieval, or, in step 209, the server obtains the detection result of the image pair sent by the terminal, determines the overlap relationship between the images, and then determines the image pair for image matching.
  • the panoramic image and the mask image obtained by the interference area recognition in step 210 feature points are extracted from each image, and the image pair is matched with features, optionally, an orb feature matching algorithm is used for matching.
  • an orb feature matching algorithm is used for matching.
  • the server obtains the image matching result sent by the terminal in step 209, the image matching result can be used as the initial value of the matching, thereby reducing the matching search range and improving the matching speed.
  • the server performs camera pose recovery
  • the server performs camera pose optimization based on the matching result obtained in step 212, and accurately determines the camera pose of each panoramic image and the sparse point cloud of the target scene according to the specific marker extraction result obtained in step 211.
  • the pose information may be used as the initial value of the pose for detection, so as to reduce the amount of calculation and increase the speed of pose calculation.
  • the server realizes site digitization
  • the server stores the pose information and the sparse point cloud of the panoramic image sequence, and then performs stereo measurement and vector modeling based on the panoramic image, thereby realizing the digitization of the site.
  • the terminal obtains the panoramic image, performs pre-detection through the terminal, and sends the panoramic image that meets the preset conditions to the server for the digitization of the site. Since the information collected by the panoramic image is comprehensive, in addition, the terminal passes Filtering images with preset conditions can reduce the rate of image failure and prevent image collectors from repeatedly going to the station to collect data.
  • the data processing method provided in the embodiments of this application takes into account the problem of insufficient professional skills of the collectors, and directly collects panoramic images for data processing; during the collection, the quality of the collected images is checked while collecting, such as exposure and blur To ensure the imaging quality of the image itself; after the collection is completed, the specific sign information is detected on the mobile phone, pre-processing, image matching, and image pose estimation are calculated to ensure that the multiple images captured can be accurately determined. Time position and posture, avoid the second time to collect on-site.
  • the existing SFM algorithm is improved, and the SFM construction based on the spherical coordinate of the image is adopted.
  • the coordinate of the panoramic image is directly transferred to the spherical coordinate for relative orientation and PnP solution.
  • the embodiment of this application uses accelerated optimization of image matching, including reduction of panoramic images, image retrieval, and proposes a spherical grid-based motion statistics method to determine the orb feature points of the same name.
  • it uses RANSAC-based secondary
  • the polynomial model eliminates mismatched points, optimizes the matching results, and realizes fast and highly reliable matching of panoramic images.
  • the traditional SFM construction process is improved by adding only one image at a time. This solution adds multiple images to the already constructed network at a time, which can speed up the network construction and reduce the calculation time. This can solve the problem that the mobile phone cannot perform the panoramic image SFM network construction, and achieve the effect of realizing the mobile phone pre-detection within the user's acceptable time.
  • the data processing method provided in the embodiments of this application can be applied to terminal devices with multiple performances.
  • Table 1 in order to test the performance of the mobile phone pre-detection algorithm, mobile phones with different performances are selected for testing, including high-end devices (such as Huawei mate20pro), mid-range machines (such as Huawei p10), low-end machines (such as Honor 9).
  • high-end devices such as Huawei mate20pro
  • mid-range machines such as Huawei p10
  • low-end machines such as Honor 9
  • the rate of secondary visits has been reduced from 30% to 0, completely eliminating secondary visits.
  • the server algorithm is optimized, the synthesis success rate can reach 90%, which is significantly higher than the existing success rate of 60%.
  • FIG. 5 is a schematic diagram of another embodiment of the data processing method in the embodiment of this application.
  • This application collects 360-degree panoramic image data for site digital information collection, including two parts of work on the mobile phone side and the background service side.
  • the mobile phone side collect panoramic images, perform image quality detection and image preprocessing, and image synthesis pre-detection, specifically the improved SFM pose calculation. Through this pre-detection, it is determined whether the camera position when each image is captured can be correctly estimated. If the requirements are met, the image data will be passed to the background server.
  • the server side performs high-precision image synthesis, including receiving the image and pose data sent by the mobile phone, identifying the interference area of the image, calculating the pose based on eliminating the interference area, and combining the pose data sent by the mobile phone to optimize the image pose calculation Processing to accurately determine the position and posture parameters of the image.
  • FIG. 6 is a schematic diagram of an embodiment of a terminal in an embodiment of this application.
  • the embodiment of the present application provides a terminal, including:
  • the acquiring module 601 is configured to acquire a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images shot on a target scene in different poses, and the plurality of panoramic images includes a first panoramic image and a second panoramic image that are continuously shot ;
  • the sending module 602 is configured to send a target panoramic image sequence including the first panoramic image and the second panoramic image to the server when the degree of overlap of the second panoramic image is greater than or equal to a first threshold, so
  • the degree of overlap of the second panoramic image is the proportion of the overlapping area of the second panoramic image and the first panoramic image in the second panoramic image
  • the target panoramic image sequence is a part of the plurality of panoramic images
  • the target panoramic image sequence is used for three-dimensional reconstruction of the target scene.
  • the second panoramic image is an image continuously captured after the first panoramic image is captured.
  • the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are markers set in the target scene for image size calibration.
  • the target panoramic image sequence further includes a third panoramic image shot with a specific marker, and the specific marker is a marker set in the target scene for image size calibration, and the terminal Also includes:
  • the determining module 603 is configured to determine the position range of the specific marker in the third panoramic image
  • the sending module 602 is further configured to send the location range to the server, where the location range is used to determine the location of the specific landmark in the third panoramic image.
  • the error of the camera pose of the target panoramic image sequence is less than or equal to a third threshold, and the camera pose of the target panoramic image sequence is determined according to the same-named image points of the target panoramic image sequence,
  • the image point with the same name is an image point of an image pair whose overlap degree meets a first preset condition in the target panoramic image sequence.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene onto a three-dimensional spherical surface according to the camera pose of the target panoramic image sequence, and the object point is The image points in the target panoramic image sequence are converted to the spherical distance between the points formed by the three-dimensional spherical surface.
  • the sending module 602 is further configured to:
  • the target panoramic image sequence also satisfies a second preset condition
  • the second preset condition includes at least one of the following:
  • the blur degree of the panoramic image satisfies a preset third preset condition
  • the exposure of the panoramic image satisfies a preset fourth preset condition
  • the proportion of the invalid area of the panoramic image is less than or equal to a fifth threshold, the invalid area includes an area outside the captured target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and Sky area.
  • FIG. 7 is a schematic diagram of an embodiment of a server in an embodiment of this application.
  • the receiving module 701 is configured to receive a panoramic image sequence sent by a terminal, and the panoramic image sequence includes a plurality of panoramic images sequentially shot of a target scene in different poses;
  • the determining module 702 is configured to determine the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or Equal to the first threshold.
  • the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  • the server further includes:
  • the detection module 703 is configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area
  • the image point with the same name is the image point outside the invalid area in the panoramic image.
  • the panoramic image sequence includes a panoramic image shot with a specific marker, and the specific marker is a marker set in the target scene for image size calibration;
  • the determining module 702 is further configured to determine the camera pose of the panoramic image according to the position of the image point of the same name and the specific marker, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
  • the receiving module 701 is further configured to receive a position range of a specific marker of the panoramic image from the terminal;
  • the determining module 702 is further configured to determine the position of the specific marker from the range of the position of the specific marker.
  • the receiving module 701 is further configured to receive a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the position of the panoramic image sequence determined by the terminal Camera pose
  • the determining module 702 is further configured to determine a second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
  • the panoramic image sequence satisfies a first preset condition
  • the first preset condition includes at least one of the following:
  • the degree of overlap of the second panoramic image in the panoramic image sequence is greater than or equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the overlap of the second panoramic image is Degree is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image; and,
  • the number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications
  • the blur degree of the panoramic image satisfies the second preset condition
  • the exposure of the panoramic image satisfies the third preset condition.
  • the error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is determined according to the same-name image points of the panoramic image sequence, and the same-name image points are all The image points of the image pair whose overlap degree meets the preset condition in the target panoramic image sequence.
  • FIG. 8 is a schematic diagram of another embodiment of a terminal in an embodiment of this application.
  • FIG. 8 shows a block diagram of a part of the structure of a terminal provided in an embodiment of the present application.
  • the terminal includes: an image acquisition unit 1710, a sensor 1730, a display unit 1740, an input unit 1750, a memory 1760, a processor 1770, and a power supply 1780.
  • the terminal structure shown in FIG. 8 does not constitute a limitation on the terminal, and may include more or fewer components than shown in the figure, or a combination of certain components, or different component arrangements.
  • the image acquisition unit 1710 is used to acquire a panoramic image. In the embodiment of the present application, it is used to acquire an image of a target scene.
  • the image acquisition unit 1710 can acquire a panoramic image through a panoramic camera.
  • the panoramic camera is provided with at least two fisheye lenses, or more A wide-angle lens, or multiple ordinary lenses, the details are not limited here.
  • the images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited.
  • the image acquisition unit can be connected to the panoramic camera via wired or wireless connection, including TypeC, Bluetooth or wifi, etc.
  • the specific connection form is not limited here.
  • the display unit 1740 may be used to display information input by the user or information provided to the user and various menus of the terminal. Including the panoramic image used to show the collection.
  • the display unit 1740 may include a display panel 1741.
  • the display panel 1741 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 1751 can cover the display panel 1741. When the touch panel 1751 detects a touch operation on or near it, it transmits it to the processor 1770 to determine the type of the touch event, and then the processor 1770 responds to the touch event. The type provides corresponding visual output on the display panel 1741.
  • the touch panel 1751 and the display panel 1741 are used as two independent components to realize the input and input functions of the terminal, but in some embodiments, the touch panel 1751 and the display panel 1741 can be integrated. Realize the input and output functions of the terminal.
  • the input unit 1750 can be used to receive input digital or character information, and generate key signal input related to user settings and function control of the terminal.
  • the input unit 1750 may include a touch panel 1751 and other input devices 1752.
  • the touch panel 1751 also known as a touch screen, can collect user touch operations on or near it (for example, the user uses any suitable objects or accessories such as fingers, stylus, etc.) on the touch panel 1751 or near the touch panel 1751. Operation), and drive the corresponding connection device according to the preset program.
  • the touch panel 1751 may include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the user's touch position, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it To the processor 1770, and can receive and execute the commands sent by the processor 1770.
  • the touch panel 1751 can be implemented in multiple types such as resistive, capacitive, infrared, and surface acoustic wave.
  • the input unit 1750 may also include other input devices 1752.
  • the other input device 1752 may include, but is not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackball, mouse, and joystick.
  • the memory 1760 may be used to store software programs and modules.
  • the processor 1770 executes various functional applications and data processing of the terminal by running the software programs and modules stored in the memory 1760.
  • the memory 1760 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system, an application program required by at least one function (such as a sound playback function, an image playback function, etc.), etc.; Data (such as audio data, phone book, etc.) created by the use of the terminal, etc.
  • the memory 1760 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
  • the processor 1770 is the control center of the terminal. It uses various interfaces and lines to connect various parts of the entire terminal. It executes by running or executing software programs and/or modules stored in the memory 1760, and calling data stored in the memory 1760. Various functions of the terminal and processing data, so as to monitor the terminal as a whole.
  • the processor 1770 may include one or more processing units; preferably, the processor 1770 may integrate an application processor and a modem processor, where the application processor mainly processes the operating system, user interface, application programs, etc. , The modem processor mainly deals with wireless communication. It can be understood that the foregoing modem processor may not be integrated into the processor 1770.
  • the terminal also includes a power supply 1780 (such as a battery) for supplying power to various components.
  • a power supply 1780 (such as a battery) for supplying power to various components.
  • the power supply may be logically connected to the processor 1770 through a power management system, so that functions such as charging, discharging, and power management are realized through the power management system.
  • the terminal may include an audio circuit, which includes a speaker and a microphone, and may provide an audio interface between the user and the terminal.
  • an audio circuit which includes a speaker and a microphone, and may provide an audio interface between the user and the terminal.
  • the terminal can include a wireless fidelity (WiFi) module.
  • WiFi is a short-distance wireless transmission technology.
  • the terminal can help users send and receive emails, browse web pages, and access streaming media through the WiFi module. , It provides users with wireless broadband Internet access.
  • the terminal may further include a radio frequency (RF) circuit.
  • RF radio frequency
  • the terminal may also include a Bluetooth module, etc., which will not be repeated here.
  • the terminal may also include a GPS module.
  • the terminal may also include at least one sensor, such as a magnetometer, an inertial measurement unit gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and other sensors, which will not be repeated here.
  • a magnetometer such as a magnetometer, an inertial measurement unit gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and other sensors, which will not be repeated here.
  • the processor 1770 included in the terminal also has the function of implementing the foregoing data processing methods.
  • FIG. 9 is a schematic diagram of another embodiment of the server in the embodiment of this application.
  • the server provided in this embodiment may be an independent computer device or a virtual machine VM.
  • the virtual machine may run on one computer device or be located on multiple computer devices.
  • the virtual machine can also be a computing and transmission resource that does not depend on an independent computer device, but is divided from a resource pool. Different processors on one computer device or different processors on multiple computer devices are not specifically limited here.
  • the server 1800 may have relatively large differences due to different configurations or performances, and may include one or more processors 1801 and a memory 1802, and the memory 1802 stores programs or data.
  • the memory 1802 may be volatile storage or non-volatile storage.
  • the processor 1801 is one or more central processing units (CPU), and the CPU may be a single-core CPU or a multi-core CPU.
  • the processor 1801 may communicate with the memory 1802, and execute a series of instructions in the memory 1802 on the server 1800.
  • the server 1800 also includes one or more wired or wireless network interfaces 1803, such as an Ethernet interface.
  • the server 1800 may also include one or more power supplies; one or more input and output interfaces, which can be used to connect a display, a mouse, a keyboard, a touch screen device, or a sensor device Etc.
  • the input/output interface is an optional component, which may or may not exist, and is not limited here.
  • FIG. 10 is a schematic diagram of an embodiment of a data processing device in an embodiment of the application.
  • the panoramic camera is provided with at least two fisheye lenses, or multiple wide-angle lenses, or multiple ordinary lenses, which are not specifically limited here.
  • the images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited.
  • Terminals including mobile phones, tablet computers, or personal digital assistants (personal digital assistants, PDAs), etc., are not specifically limited here.
  • the terminal hardware module includes: processor, memory and communication interface.
  • the communication interface is used to realize a communication connection with the panoramic camera, including various forms of wired or wireless connection, including TypeC, Bluetooth, or wifi, etc.
  • Memory A storage medium used to store data and codes.
  • Processor A processor used to execute code, such as an ARM processor.
  • the terminal software module includes: a camera control module and a camera pre-detection module.
  • Camera control module used to control the panoramic camera to take pictures and transfer the image from the panoramic camera to the mobile phone.
  • Camera pre-detection algorithm and software The algorithm and software proposed in this application are used to perform quality detection on the captured image to determine whether the image meets the requirements for image pose calculation.
  • the server may be an independent computer device or a virtual machine VM.
  • the virtual machine may run on one computer device or be located on multiple computer devices.
  • the virtual machine can also be a computing and transmission resource that does not depend on an independent computer device, but is divided from a resource pool. Different processors on one computer device or different processors on multiple computer devices are not specifically limited here.
  • the server hardware module includes: processor, memory and communication interface.
  • the memory may be volatile storage or non-volatile storage, and programs or data are stored in the memory.
  • the software running on the server includes an optimized image pose calculation module, a database, and modeling software; an optimized image pose calculation module: the improved algorithm proposed in this application is used to improve the image pose calculation and improve the accuracy of the pose calculation.
  • the data is used to store images, image pose parameters, survey data and modeling data, etc.
  • the modeling software uses the image and its pose information in the database to model the scene for subsequent simulations.
  • the server can also include binocular ranging software to calculate the image pose and measure the target Survey information such as location and size.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium.
  • a computer device which may be a personal computer, a server, or a network device, etc.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Abstract

Disclosed in embodiments of the present application is a data processing method, used for performing three-dimensional reconstruction of a target scene according to a panoramic image. The method in the embodiments of the present application comprises: the terminal obtains a panoramic image sequence, wherein the panoramic image sequence comprises a plurality of panoramic images obtained by photographing a target scene from different orientations, and the plurality of panoramic images comprise a first panoramic image and a second panoramic image photographed continuously; when the overlapping degree of the second panoramic image is greater than or equal to a first threshold, the terminal sends to a server a target panoramic image sequence comprising the first panoramic image and the second panoramic image, wherein the overlapping degree of the second panoramic image is a proportion of an overlapping area between the second panoramic image and the first panoramic image to the second panoramic image, the target panoramic image sequence is part of the plurality of panoramic images, and the target panoramic image sequence is used for three-dimensional reconstruction of the target scene.

Description

数据处理方法、终端和服务器Data processing method, terminal and server
本申请要求于2019年12月31日提交中国专利局、申请号为201911417063.6、发明名称为“数据处理方法、终端和服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office, the application number is 201911417063.6, and the invention title is "data processing method, terminal and server" on December 31, 2019, the entire content of which is incorporated into this application by reference .
技术领域Technical field
本申请涉及图像测量技术领域,尤其涉及一种数据处理方法、终端和服务器。This application relates to the field of image measurement technology, and in particular to a data processing method, terminal and server.
背景技术Background technique
基站站点在建设的过程中,需要勘测站点的信息,包括站点大小、站点内的设备的尺寸、型号、位置以及设备之间连接关系、相对位置等信息。通过采集站点现场的图像数据,以获取站点清晰完整的信息,实现站点数字化,为后续的站点设计和运维等工作提供数据支持。During the construction of a base station site, information about the survey site is required, including site size, size, model, and location of the equipment in the site, as well as the connection relationship between the equipment, and relative positions. By collecting the image data of the site site, in order to obtain the clear and complete information of the site, realize the digitization of the site, and provide data support for the subsequent site design and operation and maintenance.
现有技术中,作业员手持相机在被测场景内拍摄基于中心投影的框幅图像,完成采集后将框幅图像上传至服务器,服务器根据框幅图像计算图像位姿,进而实现站点数字化。In the prior art, an operator holds a camera to shoot a frame image based on the center projection in the tested scene, and uploads the frame image to a server after completing the collection, and the server calculates the image pose based on the frame image, thereby realizing site digitization.
由于单张框幅图像视场角有限,为计算图像位姿,需保证采集的框幅图像之间具有足够的重叠率,才能够满足位姿计算要求,对图像采集人员的技能要求较高,框幅图像的不合格率较高,当采集的框幅图像不合格时,需要图像采集人员重新上站采集,耗时费力。Due to the limited field of view of a single frame image, in order to calculate the image pose, it is necessary to ensure that the captured frame images have a sufficient overlap ratio to meet the requirements of pose calculation, which requires higher skills for image collectors. The unqualified rate of frame images is relatively high. When the captured frame images are unqualified, the image collectors need to go back to the station to collect them again, which is time-consuming and labor-intensive.
发明内容Summary of the invention
本申请实施例提供了一种数据处理方法,用于根据全景图像进行目标场景三维重建,可以降低对图像采集人员的技能要求,提高图像三维重建的成功率,避免图像采集人员反复上站采集数据。The embodiment of the application provides a data processing method for 3D reconstruction of a target scene based on a panoramic image, which can reduce the skill requirements of image collectors, improve the success rate of image 3D reconstruction, and avoid image collectors repeatedly going to the station to collect data .
本申请第一方面提供了一种数据处理方法,包括:终端获取全景图像序列,该全景图像序列包括以不同位姿对目标场景拍摄的多张全景图像,该多张全景图像包括连续拍摄的第一全景图像和第二全景图像;在该第二全景图像的重叠度大于或等于第一阈值的情况下,该终端向服务器发送包括该第一全景图像和该第二全景图像的目标全景图像序列,该第二全景图像的重叠度为该第二全景图像与该第一全景图像的重叠区域占该第二全景图像的比例,该目标全景图像序列为该多张全景图像的一部分,该目标全景图像序列用于该目标场景的三维重建。The first aspect of the present application provides a data processing method, including: a terminal acquires a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images shot on a target scene in different poses, and the plurality of panoramic images includes a continuously shot first A panoramic image and a second panoramic image; in the case that the degree of overlap of the second panoramic image is greater than or equal to the first threshold, the terminal sends a target panoramic image sequence including the first panoramic image and the second panoramic image to the server , The degree of overlap of the second panoramic image is the proportion of the overlapping area of the second panoramic image and the first panoramic image in the second panoramic image, the target panoramic image sequence is a part of the plurality of panoramic images, and the target panoramic image The image sequence is used for the three-dimensional reconstruction of the target scene.
本申请实施例提供的数据处理方法,终端获取全景图像序列后,可以对连续拍摄得到的第一全景图像和第二全景图像的重叠度进行检测,在重叠度大于或等于第一阈值的情况下,可以向服务器发送包括第一全景图像和第二全景图像的目标全景图像序列,用于目标场景的三维重建。由于全景图像采集的信息全面,可以降低对于图像采集人员的技能要求。此外,终端通过筛选全景图像,可以降低图像不合格率,避免图像采集人员反复上站采集数据。In the data processing method provided by the embodiment of the present application, after the terminal acquires the panoramic image sequence, it can detect the degree of overlap between the first panoramic image and the second panoramic image obtained by continuous shooting, and when the degree of overlap is greater than or equal to the first threshold , The target panoramic image sequence including the first panoramic image and the second panoramic image may be sent to the server for the three-dimensional reconstruction of the target scene. Since the information collected by the panoramic image is comprehensive, the skill requirements for the image collector can be reduced. In addition, the terminal can reduce the unqualified rate of images by screening the panoramic images, and avoid the image collectors from repeatedly going to the station to collect data.
在第一方面的一种可能的实现方式中,该第二全景图像为在该第一全景图像拍摄之后连续拍摄的图像。In a possible implementation of the first aspect, the second panoramic image is an image continuously captured after the first panoramic image is captured.
本申请实施例提供的数据处理方法,第二全景图像为第一全景图像之后拍摄的图像,终端采集全景图像序列需经历一段时长的连续拍摄,本方案中将采集的第二全景图像,与采集到前一张第一全景图像进行重叠度检测,可以即时获取第二全景图像的重叠度是否满足预设要求,使得图像采集人员快速确定当前采集图像是否合格,便于在采集图像不合格时即时补拍,避免整组全景图像序列拍摄完成后由于重叠度不合格而导致的全景图像序列重新采集。In the data processing method provided by the embodiments of this application, the second panoramic image is an image taken after the first panoramic image. The terminal collecting the panoramic image sequence requires a period of continuous shooting. In this solution, the second panoramic image will be Perform overlap detection on the previous first panoramic image, which can instantly obtain whether the overlap degree of the second panoramic image meets the preset requirements, so that image collectors can quickly determine whether the current captured image is qualified, which is convenient for instant correction when the captured image is unqualified. To avoid re-acquisition of the panoramic image sequence caused by the unqualified overlap after the entire group of panoramic image sequence is taken.
在第一方面的一种可能的实现方式中,该目标全景图像序列中的特定标志物的数量大于或等于第二阈值,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物。In a possible implementation of the first aspect, the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are set in the target scene for image size calibration. landmark.
本申请实施例提供的数据处理方法,对全景图像序列的多张全景图像中出现的特定标志物进行检测,确定全景图像序列中特定标志物的数量大于或等于预设的第二阈值,需要说明的是,若目标场景中设置的特定标志物由多个标志物组成,可以分别检测每种标志物在全景图像序列中的数量,分别确定每种标志物的数量大于或等于预设的阈值,可选的,每种标志物的数量阈值相同。由于全景图像序列中特定标志物的数量大于或等于预设阈值,则可以根据该全景图像序列确定特定标志物在目标场景中的位置,可以用于进行图像尺寸标定,提升三维建模时的精确度。The data processing method provided by the embodiments of the present application detects specific markers appearing in multiple panoramic images of a panoramic image sequence, and determines that the number of specific markers in the panoramic image sequence is greater than or equal to a preset second threshold. It needs to be explained However, if the specific marker set in the target scene consists of multiple markers, the number of each marker in the panoramic image sequence can be detected separately, and the number of each marker can be determined to be greater than or equal to the preset threshold. Optionally, the threshold for the quantity of each marker is the same. Since the number of specific markers in the panoramic image sequence is greater than or equal to the preset threshold, the position of the specific marker in the target scene can be determined according to the panoramic image sequence, which can be used for image size calibration to improve the accuracy of 3D modeling degree.
在第一方面的一种可能的实现方式中,该目标全景图像序列中还包括拍摄有特定标志物的第三全景图像,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物,该方法还包括:该终端确定在该第三全景图像中的特定标志物的位置范围;该终端向该服务器发送该位置范围,该位置范围用于确定在该第三全景图像中该特定标志物的位置。In a possible implementation of the first aspect, the target panoramic image sequence further includes a third panoramic image captured with a specific marker, and the specific marker is set in the target scene for image size calibration. The method further includes: the terminal determines the location range of the specific landmark in the third panoramic image; the terminal sends the location range to the server, and the location range is used to determine the location range in the third panoramic image The location of specific markers.
本申请实施例提供的数据处理方法,终端可以检测拍摄有特定标志物的第三全景图像中特定标志物的位置范围,并向服务器发送该位置范围用于确定该特定标志物的精确位置,避免在全部第三全景图像中检测特定标志物,可以减少计算量。In the data processing method provided by the embodiment of the application, the terminal can detect the position range of the specific marker in the third panoramic image with the specific marker, and send the position range to the server for determining the precise position of the specific marker, avoiding Detecting specific markers in all the third panoramic images can reduce the amount of calculation.
在第一方面的一种可能的实现方式中,该目标全景图像序列的相机位姿的误差小于或等于第三阈值,该目标全景图像序列的相机位姿根据该目标全景图像序列的同名像点进行位姿恢复确定,该同名像点为该目标全景图像序列中重叠度满足第一预设条件的图像对的像点。In a possible implementation of the first aspect, the error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, and the camera pose of the target panoramic image sequence is based on the image point of the target panoramic image sequence with the same name. Performing the posture restoration determination, the image point with the same name is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
本申请实施例提供的数据处理方法,终端可以进行相机位姿估计,确定误差小于或等于预设阈值的全景图像序列为目标全景图像序列,由此,可以提高目标场景三维重建的成功率。In the data processing method provided by the embodiments of the present application, the terminal can perform camera pose estimation and determine a panoramic image sequence with an error less than or equal to a preset threshold as the target panoramic image sequence, thereby improving the success rate of three-dimensional reconstruction of the target scene.
在第一方面的一种可能的实现方式中,该同名像点为该图像对投影至三维球面,由基于网格的运动统计法GMS获取。In a possible implementation of the first aspect, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
本申请实施例提供的数据处理方法,通过将目标全景图像序列中重叠度满足第一预设条件的图像对投影至三维球面确定同名像点,通过网格划分、运动统计特性的方法可以迅速剔除错误匹配,以此来提高匹配的稳定性。The data processing method provided by the embodiments of this application determines the image points with the same name by projecting the image pairs whose overlap degree meets the first preset condition in the target panoramic image sequence onto the three-dimensional spherical surface, and can quickly eliminate the image points through the method of grid division and motion statistics characteristics. Mismatches, in order to improve the stability of the match.
在第一方面的一种可能的实现方式中,该目标全景图像序列的相机位姿误差为,将目标场景中的物点根据该目标全景图像序列的该相机位姿投影至三维球面形成的点,与该物点在该目标全景图像序列中的像点转换至该三维球面形成的点之间的球面距离。In a possible implementation of the first aspect, the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene to a three-dimensional sphere according to the camera pose of the target panoramic image sequence , And the spherical distance between the image point of the object point in the target panoramic image sequence converted to the point formed by the three-dimensional spherical surface.
本申请实施例提供的数据处理方法,将一个特征点物点在世界坐标系中的坐标反投影到图像上的像点坐标,与物点对应的图像中同名像点坐标之间的距离可以用于度量相机位姿的误差,在三维球面中计算相机位姿误差,可以减少计算量。In the data processing method provided by the embodiments of the present application, the coordinates of a feature point in the world coordinate system are back-projected to the image point coordinates on the image, and the distance between the coordinates of the image point with the same name in the image corresponding to the object point can be used To measure the camera pose error, calculating the camera pose error in a three-dimensional spherical surface can reduce the amount of calculation.
在第一方面的一种可能的实现方式中,该方法还包括:该终端向该服务器发送该目标全景图像序列的相机位姿,该相机位姿用于实现该目标场景的三维重建。In a possible implementation manner of the first aspect, the method further includes: the terminal sends a camera pose of the target panoramic image sequence to the server, where the camera pose is used to achieve three-dimensional reconstruction of the target scene.
本申请实施例提供的数据处理方法,终端可以将目标全景图像序列的相机位姿发送给服务器,用于实现目标场景的三维重建,在该方案中,服务器获取终端发送的相机位姿后,可以以该相机位姿为初始位姿进行计算,减少计算量,提升是三维重建速度。In the data processing method provided by the embodiments of the present application, the terminal can send the camera pose of the target panoramic image sequence to the server to realize the three-dimensional reconstruction of the target scene. In this solution, after the server obtains the camera pose sent by the terminal, it can The camera pose is used as the initial pose for calculation, reducing the amount of calculation and improving the speed of three-dimensional reconstruction.
在第一方面的一种可能的实现方式中,该目标全景图像序列还满足第二预设条件;该第 二预设条件包括以下至少一种:该全景图像的模糊度满足预设的第三预设条件;以及,该全景图像的曝光度满足预设的第四预设条件;以及,该全景图像的该无效区域占比小于或等于第五阈值,该无效区域包括拍摄到的该目标场景外的区域,该无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域。In a possible implementation of the first aspect, the target panoramic image sequence further satisfies a second preset condition; the second preset condition includes at least one of the following: the blur degree of the panoramic image satisfies a preset third Preset condition; and, the exposure of the panoramic image satisfies a preset fourth preset condition; and, the proportion of the invalid area of the panoramic image is less than or equal to the fifth threshold, and the invalid area includes the captured target scene Outside the area, the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area.
本申请实施例提供的数据处理方法,终端该可以对获取的全景图像根据多种可能的预设条件组合进行筛选,包括模糊度、曝光度等图像质量指标和图像的无效区域占比,筛选出的满足预设条件的目标图像序列实现目标场景三维重建的成功率较高。In the data processing method provided by the embodiments of the present application, the terminal can filter the acquired panoramic image according to a variety of possible preset condition combinations, including image quality indicators such as blurriness, exposure, and the proportion of invalid areas of the image, and filter out The target image sequence that satisfies the preset conditions has a higher success rate in achieving three-dimensional reconstruction of the target scene.
本申请实施例的第二方面提供了一种数据处理方法,包括:服务器接收终端发送的全景图像序列,该全景图像序列包括以不同位姿对目标场景依序拍摄的多张全景图像;该服务器根据该全景图像序列的同名像点确定该全景图像序列的相机位姿,以实现该目标场景的三维重建,该全景图像序列的相机位姿的误差小于或等于第一阈值。A second aspect of the embodiments of the present application provides a data processing method, including: a server receives a panoramic image sequence sent by a terminal, the panoramic image sequence includes a plurality of panoramic images sequentially shot of a target scene in different poses; the server The camera pose of the panoramic image sequence is determined according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or equal to the first threshold.
本申请实施例提供的数据处理方法,服务器接收终端发送的全景图像序列后,相机位姿的的误差小于或等于第一阈值,这样,服务器根据该全景图像实现三维重建的成功率较高。In the data processing method provided by the embodiment of the present application, after the server receives the panoramic image sequence sent by the terminal, the error of the camera pose is less than or equal to the first threshold. In this way, the server has a higher success rate in achieving three-dimensional reconstruction based on the panoramic image.
在第二方面的一种可能的实现方式中,该同名像点为该全景图像序列中重叠度满足预设条件的图像对的像点,In a possible implementation of the second aspect, the image point with the same name is an image point of an image pair whose overlap degree meets a preset condition in the panoramic image sequence,
本申请实施例提供的数据处理方法,重叠度满足预设条件的图像对被用于进行图像匹配,确定同名点,可以提高计算效率。In the data processing method provided by the embodiments of the present application, image pairs whose overlap degree meets a preset condition are used for image matching to determine points with the same name, which can improve calculation efficiency.
在第二方面的一种可能的实现方式中,该同名像点为该图像对投影至三维球面,由基于网格的运动统计法GMS获取。In a possible implementation of the second aspect, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
本申请实施例提供的数据处理方法,将目标全景图像序列中重叠度满足第一预设条件的图像对投影至三维球面确定同名像点,通过网格划分、运动统计特性的方法可以迅速剔除错误匹配,以此来提高匹配的稳定性。The data processing method provided by the embodiment of the application projects the image pairs whose overlap degree meets the first preset condition in the target panoramic image sequence to the three-dimensional spherical surface to determine the image points with the same name. Errors can be quickly eliminated through the method of grid division and motion statistics characteristics. Matching to improve the stability of matching.
在第二方面的一种可能的实现方式中,该服务器检测该全景图像中的无效区域,该无效区域包括拍摄到的该目标场景外的区域,该无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域;该同名像点为该全景图像中该无效区域之外的像点。In a possible implementation of the second aspect, the server detects an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: pedestrian area, road Vehicle area and sky area; the image point with the same name is the image point outside the invalid area in the panoramic image.
本申请实施例提供的数据处理方法,服务器检测全景图像中的无效区域,在去除无效区域后的有效图像区域搜索同名像点,进行图像匹配,可以提高确定同名像点的效率。In the data processing method provided by the embodiments of the present application, the server detects invalid areas in a panoramic image, searches for pixels with the same name in the effective image area after removing the invalid areas, and performs image matching, which can improve the efficiency of determining pixels with the same name.
在第二方面的一种可能的实现方式中,该全景图像序列中包括拍摄有特定标志物的全景图像,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物;该服务器根据该全景图像序列的同名像点确定该全景图像序列的相机位姿包括:该服务器根据该同名像点和该特定标志物的位置确定该全景图像的相机位姿,该相机位姿用于实现该目标场景的三维重建。In a possible implementation of the second aspect, the panoramic image sequence includes a panoramic image captured with a specific marker, and the specific marker is a marker set in the target scene for image size calibration; The server determining the camera pose of the panoramic image sequence according to the image point of the panoramic image sequence with the same name includes: the server determines the camera pose of the panoramic image according to the position of the image point of the same name and the specific marker, and the camera pose is used for Realize the three-dimensional reconstruction of the target scene.
本申请实施例提供的数据处理方法,全景图像序列中包括拍摄有特定标志物的全景图像,用于进行图像尺寸标定,同名像点和该特定标志物的位置确定该全景图像的相机位姿,可以提高计算精度。In the data processing method provided by the embodiments of the present application, the panoramic image sequence includes a panoramic image captured with a specific marker for image size calibration. The image point of the same name and the position of the specific marker determine the camera pose of the panoramic image, The calculation accuracy can be improved.
在第二方面的一种可能的实现方式中,该服务器接收来自该终端的该全景图像的特定标志物的位置范围;该服务器从该特定标志物的位置范围中确定该特定标志物的位置。In a possible implementation of the second aspect, the server receives the location range of the specific marker of the panoramic image from the terminal; the server determines the location of the specific marker from the location range of the specific marker.
本申请实施例提供的数据处理方法,服务器接收终端发送的特定标志物的位置范围,根 据该位置范围确定该特定标志物的精确位置,避免在全景图像整体中检测特定标志物,可以减少计算量。In the data processing method provided by the embodiment of the application, the server receives the position range of the specific marker sent by the terminal, and determines the precise position of the specific marker according to the position range, avoiding the detection of the specific marker in the entire panoramic image, which can reduce the amount of calculation .
在第二方面的一种可能的实现方式中,该方法还包括:该服务器接收来自该终端的该全景图像序列的第一相机位姿,该第一相机位姿为该终端确定的该全景图像序列的相机位姿;该服务器根据该第一相机位姿确定该全景图像序列的第二相机位姿,该第二相机位姿的精度高于该第一相机位姿。In a possible implementation of the second aspect, the method further includes: the server receives a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the panoramic image determined by the terminal The camera pose of the sequence; the server determines the second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
本申请实施例提供的数据处理方法,服务器接收来自终端的全景图像序列的相机位姿发送,可以以该相机位姿为初始位姿进行计算,减少计算量,提升是三维重建速度。In the data processing method provided by the embodiments of the present application, the server receives the camera pose sent from the panoramic image sequence from the terminal, and the camera pose can be used as the initial pose for calculation, which reduces the amount of calculation and improves the three-dimensional reconstruction speed.
在第二方面的一种可能的实现方式中,该全景图像序列满足第一预设条件,该第一预设条件包括以下至少一个:该全景图像序列中的第二全景图像的重叠度大于或等于预设的第二阈值,该第二全景图像为在第一全景图像拍摄之后连续拍摄得到,该第二全景图像的重叠度为该第二全景图像与该第一全景图像的重叠区域占该第二全景图像的比例;以及,该全景图像序列中的特定标志物的数量大于或等于预设的特定标志物标识数量阈值;以及,该全景图像的模糊度满足第二预设条件;以及,该全景图像的曝光度满足第三预设条件;以及,该全景图像序列的相机位姿的误差小于或等于第三阈值,该全景图像序列的相机位姿根据该全景图像序列的同名像点进行位姿恢复确定,该同名像点为该目标全景图像序列中重叠度满足预设条件的图像对的像点。In a possible implementation of the second aspect, the panoramic image sequence satisfies a first preset condition, and the first preset condition includes at least one of the following: the degree of overlap of the second panoramic image in the panoramic image sequence is greater than or Equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the degree of overlap of the second panoramic image is that the overlap area between the second panoramic image and the first panoramic image occupies the The proportion of the second panoramic image; and, the number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and, the blur degree of the panoramic image satisfies the second preset condition; and, The exposure of the panoramic image satisfies the third preset condition; and, the error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is performed according to the image points of the panoramic image sequence with the same name. The posture restoration is determined, and the image point with the same name is the image point of the image pair whose overlap degree meets the preset condition in the target panoramic image sequence.
本申请实施例提供的数据处理方法,服务器可以对获取的全景图像序列根据多种可能的预设条件组合进行筛选,包括模糊度、曝光度等图像质量指标、连续拍摄图像的重叠度,特定标志物的数量等,筛选出的满足预设条件的目标图像序列实现目标场景三维重建的成功率较高。In the data processing method provided by the embodiments of this application, the server can filter the acquired panoramic image sequence according to a variety of possible preset condition combinations, including image quality indicators such as blurriness and exposure, overlap of continuously captured images, and specific signs The number of objects, etc., the selected target image sequence that satisfies the preset conditions has a higher success rate in achieving the three-dimensional reconstruction of the target scene.
本申请实施例第三方面提供了一种终端,包括:获取模块,用于获取全景图像序列,该全景图像序列包括以不同位姿对目标场景拍摄的多张全景图像,该多张全景图像包括连续拍摄的第一全景图像和第二全景图像;发送模块,用于在该第二全景图像的重叠度大于或等于第一阈值的情况下,向服务器发送包括该第一全景图像和该第二全景图像的目标全景图像序列,该第二全景图像的重叠度为该第二全景图像与该第一全景图像的重叠区域占该第二全景图像的比例,该目标全景图像序列为该多张全景图像的一部分,该目标全景图像序列用于该目标场景的三维重建。A third aspect of the embodiments of the present application provides a terminal, including: an acquisition module, configured to acquire a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images taken of a target scene in different poses, and the plurality of panoramic images includes The first panoramic image and the second panoramic image taken continuously; the sending module is configured to send the first panoramic image and the second panoramic image to the server when the degree of overlap of the second panoramic image is greater than or equal to the first threshold. A target panoramic image sequence of a panoramic image, the degree of overlap of the second panoramic image is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image, and the target panoramic image sequence is the plurality of panoramic images A part of the image, the target panoramic image sequence is used for the three-dimensional reconstruction of the target scene.
在第三方面的一种可能的实现方式中,该第二全景图像为在该第一全景图像拍摄之后连续拍摄的图像。In a possible implementation manner of the third aspect, the second panoramic image is an image continuously captured after the first panoramic image is captured.
在第三方面的一种可能的实现方式中,该目标全景图像序列中的特定标志物的数量大于或等于第二阈值,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物。In a possible implementation of the third aspect, the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific marker is set in the target scene for image size calibration landmark.
在第三方面的一种可能的实现方式中,该目标全景图像序列中还包括拍摄有特定标志物的第三全景图像,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物,该终端还包括:确定模块,用于确定在该第三全景图像中的特定标志物的位置范围;该发送模块还用于,向该服务器发送该位置范围,该位置范围用于确定在该第三全景图像中该特定标志物的位置。In a possible implementation of the third aspect, the target panoramic image sequence further includes a third panoramic image captured with a specific marker, and the specific marker is set in the target scene for image size calibration. A landmark, the terminal further includes: a determining module for determining the location range of the specific landmark in the third panoramic image; the sending module is also used for sending the location range to the server, and the location range is used for determining The location of the specific marker in the third panoramic image.
在第三方面的一种可能的实现方式中,该目标全景图像序列的相机位姿的误差小于或等 于第三阈值,该目标全景图像序列的相机位姿根据该目标全景图像序列的同名像点进行位姿恢复确定,该同名像点为该目标全景图像序列中重叠度满足第一预设条件的图像对的像点。In a possible implementation of the third aspect, the error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, and the camera pose of the target panoramic image sequence is based on the image points of the target panoramic image sequence with the same name. Performing the posture restoration determination, the image point with the same name is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
在第三方面的一种可能的实现方式中,该同名像点为该图像对投影至三维球面,由基于网格的运动统计法GMS获取。In a possible implementation manner of the third aspect, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
在第三方面的一种可能的实现方式中,该目标全景图像序列的相机位姿误差为,将目标场景中的物点根据该目标全景图像序列的该相机位姿投影至三维球面形成的点,与该物点在该目标全景图像序列中的像点转换至该三维球面形成的点之间的球面距离。In a possible implementation of the third aspect, the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene to a three-dimensional spherical surface according to the camera pose of the target panoramic image sequence , And the spherical distance between the image point of the object point in the target panoramic image sequence converted to the point formed by the three-dimensional spherical surface.
在第三方面的一种可能的实现方式中,该发送模块还用于:向该服务器发送该目标全景图像序列的相机位姿,该相机位姿用于实现该目标场景的三维重建。In a possible implementation of the third aspect, the sending module is further configured to send the camera pose of the target panoramic image sequence to the server, where the camera pose is used to realize the three-dimensional reconstruction of the target scene.
在第三方面的一种可能的实现方式中,该目标全景图像序列还满足第二预设条件;该第二预设条件包括以下至少一种:该全景图像的模糊度满足预设的第三预设条件;以及,该全景图像的曝光度满足预设的第四预设条件;以及,该全景图像的该无效区域占比小于或等于第五阈值,该无效区域包括拍摄到的该目标场景外的区域,该无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域。In a possible implementation manner of the third aspect, the target panoramic image sequence further satisfies a second preset condition; the second preset condition includes at least one of the following: the blur degree of the panoramic image satisfies a preset third Preset condition; and, the exposure of the panoramic image satisfies a preset fourth preset condition; and, the proportion of the invalid area of the panoramic image is less than or equal to the fifth threshold, and the invalid area includes the captured target scene Outside the area, the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area.
本申请实施例第四方面提供了一种服务器,其特征在于,包括:接收模块,用于接收终端发送的全景图像序列,该全景图像序列包括以不同位姿对目标场景依序拍摄的多张全景图像;确定模块,用于根据该全景图像序列的同名像点确定该全景图像序列的相机位姿,以实现该目标场景的三维重建,该全景图像序列的相机位姿的误差小于或等于第一阈值。The fourth aspect of the embodiments of the present application provides a server, which is characterized by comprising: a receiving module, configured to receive a panoramic image sequence sent by a terminal, the panoramic image sequence including a plurality of sequentially photographed target scenes in different poses Panoramic image; determination module for determining the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence to achieve the three-dimensional reconstruction of the target scene. The error of the camera pose of the panoramic image sequence is less than or equal to the first A threshold.
在第四方面的一种可能的实现方式中,该同名像点为该图像对投影至三维球面,由基于网格的运动统计法GMS获取。In a possible implementation of the fourth aspect, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
在第四方面的一种可能的实现方式中,该服务器还包括:检测模块,用于检测该全景图像中的无效区域,该无效区域包括拍摄到的该目标场景外的区域,该无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域;该同名像点为该全景图像中该无效区域之外的像点。In a possible implementation manner of the fourth aspect, the server further includes: a detection module configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes At least one of the following: pedestrian area, road vehicle area, and sky area; the image point with the same name is an image point outside the invalid area in the panoramic image.
在第四方面的一种可能的实现方式中,该全景图像序列中包括拍摄有特定标志物的全景图像,该特定标志物为设置在该目标场景中用于进行图像尺寸标定的标志物;该确定模块还用于,根据该同名像点和该特定标志物的位置确定该全景图像的相机位姿,该相机位姿用于实现该目标场景的三维重建。In a possible implementation of the fourth aspect, the panoramic image sequence includes a panoramic image captured with a specific marker, and the specific marker is a marker set in the target scene for image size calibration; The determining module is also used to determine the camera pose of the panoramic image according to the position of the image point with the same name and the specific marker, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
在第四方面的一种可能的实现方式中,该接收模块还用于,接收来自该终端的该全景图像的特定标志物的位置范围;该确定模块还用于,从该特定标志物的位置范围中确定该特定标志物的位置。In a possible implementation of the fourth aspect, the receiving module is further used to receive the position range of the specific marker of the panoramic image from the terminal; the determining module is also used to obtain the position range of the specific marker from the terminal. Determine the location of the specific marker in the range.
在第四方面的一种可能的实现方式中,该接收模块还用于,接收来自该终端的该全景图像序列的第一相机位姿,该第一相机位姿为该终端确定的该全景图像序列的相机位姿;该确定模块还用于,根据该第一相机位姿确定该全景图像序列的第二相机位姿,该第二相机位姿的精度高于该第一相机位姿。In a possible implementation of the fourth aspect, the receiving module is further configured to receive a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the panoramic image determined by the terminal The camera pose of the sequence; the determining module is also used to determine the second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
在第四方面的一种可能的实现方式中,该全景图像序列满足第一预设条件,该第一预设条件包括以下至少一个:该全景图像序列中的第二全景图像的重叠度大于或等于预设的第二阈值,该第二全景图像为在第一全景图像拍摄之后连续拍摄得到,该第二全景图像的重叠度 为该第二全景图像与该第一全景图像的重叠区域占该第二全景图像的比例;以及,该全景图像序列中的特定标志物的数量大于或等于预设的特定标志物标识数量阈值;以及,该全景图像的模糊度满足第二预设条件;以及,该全景图像的曝光度满足第三预设条件;以及,该全景图像序列的相机位姿的误差小于或等于第三阈值,该全景图像序列的相机位姿根据该全景图像序列的同名像点进行位姿恢复确定,该同名像点为该目标全景图像序列中重叠度满足预设条件的图像对的像点。In a possible implementation of the fourth aspect, the panoramic image sequence satisfies a first preset condition, and the first preset condition includes at least one of the following: the degree of overlap of the second panoramic image in the panoramic image sequence is greater than or Equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the degree of overlap of the second panoramic image is that the overlap area between the second panoramic image and the first panoramic image occupies the The proportion of the second panoramic image; and, the number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and, the blur degree of the panoramic image satisfies the second preset condition; and, The exposure of the panoramic image satisfies the third preset condition; and, the error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is performed according to the image points of the panoramic image sequence with the same name. The posture restoration is determined, and the image point with the same name is the image point of the image pair whose overlap degree meets the preset condition in the target panoramic image sequence.
本申请实施例第五方面提供了一种终端,其特征在于,包括处理器和存储器,该处理器和该存储器相互连接,其中,该存储器用于存储计算机程序,该计算机程序包括程序指令,该处理器用于调用该程序指令,执行如上述第一方面以及各种可能的实现方式中任一项该的方法。The fifth aspect of the embodiments of the present application provides a terminal, which is characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions. The processor is used to call the program instructions to execute the method in any one of the foregoing first aspect and various possible implementation manners.
本申请实施例第六方面提供了一种服务器,其特征在于,包括处理器和存储器,该处理器和该存储器相互连接,其中,该存储器用于存储计算机程序,该计算机程序包括程序指令,该处理器用于调用该程序指令,执行如上述第二方面以及各种可能的实现方式中任一项该的方法。The sixth aspect of the embodiments of the present application provides a server, which is characterized in that it includes a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions. The processor is used to call the program instructions to execute the method in any one of the foregoing second aspect and various possible implementation manners.
本申请实施例第七方面提供了一种数据处理装置,其特征在于,包括处理器和存储器,该处理器和该存储器相互连接,其中,该存储器用于存储计算机程序,该计算机程序包括程序指令,该处理器用于调用该程序指令,执行如上述第一方面和第二方面以及各种可能的实现方式中任一项该的方法。A seventh aspect of the embodiments of the present application provides a data processing device, which is characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, and the computer program includes program instructions The processor is used to call the program instructions to execute the method in any one of the foregoing first aspect, second aspect and various possible implementation manners.
本申请实施例第八方面提供了一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得该计算机执行如上述第一方面和第二方面以及各种可能的实现方式中任一项该的方法。The eighth aspect of the embodiments of the present application provides a computer program product containing instructions, which is characterized in that, when it runs on a computer, the computer executes the first and second aspects and various possible implementation manners as described above. Any one of the methods.
本申请实施例第九方面提供了一种计算机可读存储介质,包括指令,其特征在于,当该指令在计算机上运行时,使得计算机执行如上述第一方面和第二方面以及各种可能的实现方式中任一项该的方法。The ninth aspect of the embodiments of the present application provides a computer-readable storage medium, including instructions, which are characterized in that, when the instructions are run on a computer, the computer executes the first and second aspects as well as various possible possibilities. Any one of the ways to achieve this.
本申请实施例第十方面提供了一种一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式中的方法。可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果,该通信接口可以是输入输出接口。A tenth aspect of the embodiments of the present application provides a chip including a processor. The processor is used to read and execute the computer program stored in the memory to execute the method in any possible implementation manner of any one of the foregoing aspects. Optionally, the chip should include a memory, and the memory and the processor are connected to the memory through a circuit or a wire. Further optionally, the chip further includes a communication interface, and the processor is connected to the communication interface. The communication interface is used to receive data and/or information that needs to be processed. The processor obtains the data and/or information from the communication interface, processes the data and/or information, and outputs the processing result through the communication interface. The interface can be an input and output interface.
从以上技术方案可以看出,本申请实施例具有以下优点:It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:
本申请实施例提供的数据处理方法,由于全景图像采集的信息全面,可以降低对于图像采集人员的技能要求。终端获取全景图像序列后,将筛选重叠度满足预设重叠度阈值的全景图像,发送给服务器用于目标场景的三维重建,终端通过筛选全景图像,可以降低图像不合格率,避免图像采集人员反复上站采集数据。In the data processing method provided by the embodiments of the present application, since the information collected by the panoramic image is comprehensive, the skill requirements for the image collector can be reduced. After the terminal acquires the panoramic image sequence, it will filter the panoramic images whose overlap degree meets the preset overlap degree threshold and send it to the server for 3D reconstruction of the target scene. By filtering the panoramic images, the terminal can reduce the image failure rate and avoid the repetition of image collectors. Collect data on the station.
终端采集全景图像序列需经历一段时长的连续拍摄,本方案中将采集的第二全景图像,与采集到前一张第一全景图像进行重叠度检测,可以即时获取第二全景图像的重叠度是否满足预设要求,使得图像采集人员快速确定当前采集图像是否合格,便于在采集图像不合格时 即时补拍,避免整组全景图像序列拍摄完成后由于重叠度不合格而导致的全景图像序列重新采集。The terminal acquires a panoramic image sequence for a period of continuous shooting. In this solution, the second panoramic image will be collected and the previous first panoramic image will be detected for overlap, so that the overlap of the second panoramic image can be instantly obtained Satisfy the preset requirements, allowing the image collector to quickly determine whether the current captured image is qualified, which is convenient for instant re-shooting when the captured image is unqualified, and avoids the re-acquisition of the panoramic image sequence caused by the unqualified overlap after the entire group of panoramic image sequences are taken. .
服务器获取经筛选的满足预设重叠度阈值的全景图像,可以提高三维重建的成功率,避免图像采集人员反复上站采集数据。The server obtains the filtered panoramic images that meet the preset overlap threshold, which can improve the success rate of 3D reconstruction and prevent image collectors from repeatedly going to the station to collect data.
附图说明Description of the drawings
图1为本申请实施例中勘测场景示意图;Figure 1 is a schematic diagram of a survey scene in an embodiment of the application;
图2为本申请实施例中数据处理方法的实施例示意图;2 is a schematic diagram of an embodiment of a data processing method in an embodiment of the application;
图3为本申请实施例中相机位姿计算的坐标系示意图;FIG. 3 is a schematic diagram of the coordinate system of the camera pose calculation in an embodiment of the application;
图4为本申请实施例中图像语义分割识别结果的示意图;4 is a schematic diagram of the image semantic segmentation recognition result in an embodiment of the application;
图5为本申请实施例中数据处理方法的另一个实施例示意图;FIG. 5 is a schematic diagram of another embodiment of a data processing method in an embodiment of the application;
图6为本申请实施例中终端的一个实施例示意图;FIG. 6 is a schematic diagram of an embodiment of a terminal in an embodiment of the application;
图7为本申请实施例中服务器的一个实施例示意图;FIG. 7 is a schematic diagram of an embodiment of a server in an embodiment of the application;
图8为本申请实施例中终端的另一个实施例示意图;FIG. 8 is a schematic diagram of another embodiment of a terminal in an embodiment of this application;
图9为本申请实施例中服务器的另一个实施例示意图;FIG. 9 is a schematic diagram of another embodiment of a server in an embodiment of the application;
图10为本申请实施例中数据处理装置的一个实施例示意图。FIG. 10 is a schematic diagram of an embodiment of a data processing device in an embodiment of the application.
具体实施方式Detailed ways
本申请实施例提供了一种数据处理方法,用于根据全景图像进行目标场景三维重建,可以降低对图像采集人员的技能要求,提高图像三维重建的成功率,避免图像采集人员反复上站采集数据。The embodiment of the application provides a data processing method for 3D reconstruction of a target scene based on a panoramic image, which can reduce the skill requirements of image collectors, improve the success rate of image 3D reconstruction, and avoid image collectors repeatedly going to the station to collect data .
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The following describes the embodiments of the present application with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. A person of ordinary skill in the art knows that with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。The terms "first", "second", etc. in the description and claims of the application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in a sequence other than the content illustrated or described herein. In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or modules is not necessarily limited to those clearly listed. Those steps or modules may include other steps or modules that are not clearly listed or are inherent to these processes, methods, products, or equipment. The naming or numbering of steps appearing in this application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering. The named or numbered process steps can be implemented according to the The technical purpose changes the execution order, as long as the same or similar technical effects can be achieved.
为了便于理解,下面对本申请涉及的部分技术术语进行简要介绍:For ease of understanding, the following briefly introduces some technical terms involved in this application:
全景图像:广义的全景图像是指广角图,即视角较大的图像。本申请实施例中特指水平视角呈360度,垂直视角呈180度的图像,全景图像可以通过不同的投影方式实现,常见的包括:等角投影、等矩形投影(equirectangular projection)、正交投影和等积投影等,具体此处不做限定。由于全景图像需要将尽可能大的三维场景投影到有限的二维图像平面内呈现和存储,由各种投影方式产生的全景图像均存在较大的图像变形。Panoramic image: A broad panoramic image refers to a wide-angle image, that is, an image with a larger angle of view. The embodiments of this application specifically refer to images with a horizontal viewing angle of 360 degrees and a vertical viewing angle of 180 degrees. The panoramic image can be realized by different projection methods, including: equiangular projection, equirectangular projection, and orthogonal projection Sum equal area projection, etc., are not specifically limited here. Since panoramic images need to project as large a three-dimensional scene as possible into a limited two-dimensional image plane for presentation and storage, the panoramic images produced by various projection methods have large image distortions.
全景相机:用于采集全景图像,全景相机设置有至少两个鱼眼镜头,或多个广角镜头, 或多个普通镜头,具体此处不做限定。各镜头采集的图像经过拼接技术可以转换为全景图像,具体拼接方法不做限定。Panoramic camera: used to collect panoramic images. The panoramic camera is equipped with at least two fisheye lenses, or multiple wide-angle lenses, or multiple ordinary lenses, which are not specifically limited here. The images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited.
全景图像序列:在不同时间、不同方位对目标依序连续获取的系列全景图像,本申请中主要涉及对一个场景或站点进行连续拍摄获取的系列全景图像。Panoramic image sequence: a series of panoramic images obtained sequentially and continuously on a target at different times and different positions. This application mainly relates to a series of panoramic images obtained by continuous shooting of a scene or site.
图像重叠区域:指在两张图像中包含相同物体的图像区域,图像重叠区域占图像整体的比例为重叠度。Image overlap area: refers to the image area that contains the same object in two images. The ratio of the image overlap area to the entire image is the degree of overlap.
图像位姿:指相机在拍摄该图像时的相机位姿,相机的位姿即相机在空间中的位置和相机的朝向,可以分别看作相机从原始参考位置到当前位置的平移变换和旋转变换。Image pose: refers to the camera pose when the image is taken. The camera pose refers to the position of the camera in space and the orientation of the camera, which can be regarded as the translational transformation and rotation transformation of the camera from the original reference position to the current position. .
图像匹配:从两张有重叠信息的图像中,提取每张图像的特征点及特征点对应的特征向量做为描述子,利用特征向量确定两张图像中对应相同物点的像点。不同图像中对应相同物点的多个像点称为同名像点。Image matching: From two images with overlapping information, extract the feature points of each image and the feature vector corresponding to the feature point as a descriptor, and use the feature vector to determine the image point corresponding to the same object point in the two images. Multiple image points corresponding to the same object point in different images are called image points with the same name.
基于网格的运动统计法(grid-based motion statistics,GMS):将运动平滑度作为一个统计量,进行局部区域的匹配的方法,用于快速、超鲁棒的特征匹配。Grid-based motion statistics (GMS): A method that uses motion smoothness as a statistic to perform local area matching for fast and super robust feature matching.
SFM:structure from motion,从多张图像中确定被摄物体的稀疏点云及图像的位姿(位置与姿态)的技术。SFM: structure from motion, a technology to determine the sparse point cloud of the subject and the pose (position and posture) of the image from multiple images.
双目测量:已知两张图像对应的相机位姿,通过量测该两张图像中的同名像点,确定该点对应的物点的三维坐标的方法。Binocular measurement: a method in which the camera poses corresponding to two images are known, and the three-dimensional coordinates of the object points corresponding to the points are determined by measuring the image points with the same name in the two images.
框幅图像:常见的手机或单反等拍摄的中心投影图像。Frame image: the center projection image taken by a common mobile phone or SLR.
相对定向:恢复或确定像对在摄影时的相对关系。Relative orientation: restore or determine the relative relationship of the image pair during photography.
PnP(pespective-n-point)算法:根据已知的n个空间3D点与图像2D点对应的点对,计算相机位姿的算法。PnP (pespective-n-point) algorithm: According to the known point pairs of n spatial 3D points and image 2D points, the algorithm for calculating the pose of the camera.
前方交会:根据已知的2张图像的位姿及图像同名像点,确定同名像点对应的物点的三维坐标。Forward intersection: Determine the three-dimensional coordinates of the object point corresponding to the image point with the same name based on the known poses of the two images and the image point with the same name.
为了解站点信息,通过采集站点的图像信息,基于图像信息进行三维重建,进而实现站点数字化,可以为后续设计或运维等提供数据支撑,例如获取站点大小、站点内的设备的尺寸、型号、位置以及设备之间连接关系、相对位置等信息。In order to understand the site information, by collecting the image information of the site, based on the image information for three-dimensional reconstruction, and then realize the site digitization, can provide data support for subsequent design or operation and maintenance, such as the size of the site, the size of the equipment in the site, model, Location, connection relationship between devices, relative location and other information.
作业员手持框幅相机,在被测场景内拍摄框幅图像,利用计算机视觉中SFM算法,计算图像拍摄时的相机位姿,结合双目测量功能完成数据采集。由于框幅图像的单张图像的视场角有限,为满足位姿计算要求,采集的多张图像之间需要包含足够的重复目标,对场景内目标进行双目测量,需要至少2张图像拍摄到目标,普通数据采集人员由于专业度不够或经验不足,易于产生拍摄漏洞。The operator holds a frame camera, takes frame images in the tested scene, uses the SFM algorithm in computer vision to calculate the camera pose when the image is taken, and completes data collection with binocular measurement. Due to the limited field of view of a single image of the frame image, in order to meet the requirements of pose calculation, sufficient repeated targets must be included among the collected multiple images. For binocular measurement of targets in the scene, at least 2 images are required. To the target, ordinary data collectors are prone to shooting loopholes due to insufficient professionalism or inexperience.
由于根据图像信息进行序列图像位姿计算的过程计算量较大,耗时长,而终端的运算性能有限,因此,通常图像采集人员通过终端采集图像,直接将所有采集的图像上传至服务器侧,然后由服务器侧集中进行计算,一旦在服务器计算过程中出现采集图像不合格的情况,就需要图像采集人员再次上站进行拍摄,耗时费力。Because the process of calculating the pose of a sequence image based on the image information is computationally intensive, time-consuming, and the terminal's computing performance is limited, usually the image collector collects images through the terminal and directly uploads all the collected images to the server side, and then The calculation is performed centrally on the server side. Once the captured image is unqualified during the server calculation process, the image collector needs to go to the station again to shoot, which is time-consuming and laborious.
服务器基于普通框幅图像的三维重建,当遇到场景中景物纹理单一或者景物较少时,获取的特征点非常相似或者缺少足够特征点被连续跟踪导致重建失败。The server is based on the three-dimensional reconstruction of ordinary frame images. When the scene has a single texture or a small number of scenes, the acquired feature points are very similar or lack of sufficient feature points to be continuously tracked and the reconstruction fails.
本申请实施例提供了一种数据处理方法,用于采集满足站点数字化要求的全景图像,可 以提高采集全景图像的质量,降低图像采集人员再上站率。The embodiment of the application provides a data processing method for collecting panoramic images that meet the requirements of site digitization, which can improve the quality of the collected panoramic images and reduce the rate of image collectors returning to the site.
请参阅图1,为本申请实施例中勘测场景示意图;Please refer to Figure 1, which is a schematic diagram of a survey scene in an embodiment of this application;
本申请实施例提供的图像采集方法,通过图像采集设备在站点中采集全景图像,首先,在拍摄场景中预先放置特定标志物,常见的特定标志物包括标靶或者标杆,其中,标杆两端的距离已知,标靶之间的距离和角度已知,图1示出了一种特定标志物,包括3个标靶,其中,1号标靶与2号标靶的距离为1米,1号标靶与3号标靶的距离也为1米,且1号标靶与2号、3号标靶的连线之间的夹角为90度,这样,3个标靶可以确定一个平面,可选的,1号标靶可以作为该平面的坐标系原点,由此,可以对拍摄图像进行尺寸标定。In the image acquisition method provided by the embodiments of the application, a panoramic image is acquired in a site through an image acquisition device. First, a specific marker is placed in the shooting scene in advance. Common specific markers include targets or benchmarks. Among them, the distance between the two ends of the benchmark It is known that the distance and angle between the targets are known. Figure 1 shows a specific marker, including 3 targets. Among them, the distance between the No. 1 target and the No. 2 target is 1 meter. The distance between the target and the No. 3 target is also 1 meter, and the angle between the line connecting the No. 1 target and the No. 2 and No. 3 targets is 90 degrees. In this way, the 3 targets can define a plane. Optionally, the No. 1 target can be used as the origin of the coordinate system of the plane, so that the size of the captured image can be calibrated.
然后图像采集人员使用图像采集设备进行单点图像拍摄,可选的,为了使得特定标志物被拍摄到,图像采集人员选定的拍摄点可以距离特定标志物一定距离,例如距离约一步半的位置,具体可以根据拍摄场景的不同而改变,此处不做具体限定。可选的,图像采集人员按照“一步一拍”的规则进行图像采集,图1示出了在该场景中“一步一拍”的拍摄轨迹。一步是指图像采集人员的一个步子,可以是走路或者跑步或者某种方式的移动的步子,此处对于一步的具体尺寸不做限定,需要说明的是,为实现三维重建,在一个场景中拍摄的一组图像需要覆盖全部场景。这里的一个场景可以是指一个房间内部,或者是室外,围绕目标拍摄物周围一圈,具体场景不做限定。Then the image collector uses the image acquisition device to take single-point image shooting. Optionally, in order to capture the specific landmark, the shooting point selected by the image collector can be a certain distance away from the specific landmark, for example, about one and a half steps away. , The details can be changed according to the different shooting scenes, and there is no specific limitation here. Optionally, the image collection personnel perform image collection according to the "step by step" rule. Figure 1 shows the "step by step" shooting trajectory in this scene. A step refers to a step of the image collector, which can be walking or running or moving in some way. The specific size of the step is not limited here. It should be noted that in order to achieve three-dimensional reconstruction, shooting in a scene A set of images needs to cover the entire scene. A scene here can refer to the inside of a room, or outdoors, and a circle around the target subject. The specific scene is not limited.
下面对本申请实施例提供的数据处理方法进行介绍,请参阅图2,为本申请实施例中数据处理方法的实施例示意图。The following describes the data processing method provided by the embodiment of the present application. Please refer to FIG. 2, which is a schematic diagram of an embodiment of the data processing method in the embodiment of the present application.
需要说明的是,通过本申请实施例提供的数据处理方法进行目标场景的三维重建的实现形式有多种:It should be noted that the three-dimensional reconstruction of the target scene can be realized in various forms through the data processing method provided in the embodiments of the present application:
一、可以由终端获取全景图像并进行图像位姿估计实现,实现过程请参考步骤201至步骤208,在步骤208之后可以直接根据相机位姿进行三维重建;1. The terminal can obtain a panoramic image and perform image pose estimation. For the implementation process, please refer to step 201 to step 208. After step 208, three-dimensional reconstruction can be directly performed according to the camera pose;
二、由终端将获取的全景图像上传至服务器,由服务器进行图像位姿估计实现,可参考步骤201、步骤209至213,终端直接将获取的全景图像序列上传服务器而不需要经步骤202至步骤208中的图像筛选;2. The terminal uploads the acquired panoramic image to the server, and the server performs image pose estimation. You can refer to steps 201, 209 to 213. The terminal directly uploads the acquired panoramic image sequence to the server without going through steps 202 to steps. Image screening in 208;
三、终端获取全景图像并进行图像筛选,将符合预设条件的全景图像上传服务器,由服务器进行图像位姿估计实现,此处对于具体实现形式不做限定。下面,以第三种实现方式为例进行详细介绍。3. The terminal obtains the panoramic image and performs image screening, uploads the panoramic image that meets the preset conditions to the server, and the server implements the image pose estimation. The specific implementation form is not limited here. In the following, the third implementation method is taken as an example for detailed introduction.
201、终端获取全景图像;201. The terminal acquires a panoramic image;
图像采集设备用于采集全景图像,可以为配置全景相机的终端,或者为与终端具备通信连接的全景相机,具体此处不做限定。本申请实施例中,以智能终端加上外设全景相机为例进行说明,终端可以通过TypeC、蓝牙或wifi连接全景相机,通过客户端控制全景相机进行拍摄。The image acquisition device is used to collect panoramic images, and it may be a terminal equipped with a panoramic camera, or a panoramic camera with a communication connection with the terminal, and the details are not limited here. In the embodiments of the present application, the smart terminal plus the peripheral panoramic camera is taken as an example for description. The terminal can connect to the panoramic camera through TypeC, Bluetooth or wifi, and control the panoramic camera to shoot through the client.
全景相机拍摄全景图像,并将全景图像发送至终端,终端获取全景图像,进而处理全景图像,实现图像预检测,确定拍摄的全景图像序列是否满足要求。The panoramic camera takes a panoramic image and sends the panoramic image to the terminal. The terminal obtains the panoramic image, and then processes the panoramic image, realizes image pre-detection, and determines whether the captured panoramic image sequence meets the requirements.
为计算图像位姿,需要获取至少两张全景图像,可选的,通过全景相机针对站点场景拍摄一组全景图像序列,包含多张全景图像,全景图像序列包含的全景图像数量此处不做限定。In order to calculate the image pose, it is necessary to obtain at least two panoramic images. Optionally, a panoramic camera is used to shoot a set of panoramic image sequences for the site scene, including multiple panoramic images. The number of panoramic images included in the panoramic image sequence is not limited here. .
202、终端对全景图像进行图像质量检测;202. The terminal performs image quality detection on the panoramic image;
图像客观质量指标包括对焦、噪音、色彩、曝光和清晰度等,本实施例对于终端进行图像质量检测选取的客观质量指标的数量及类型不做限定。The objective image quality indicators include focus, noise, color, exposure, sharpness, etc. This embodiment does not limit the number and types of objective quality indicators selected by the terminal for image quality detection.
可选的,终端检测该全景图像的曝光度和模糊度是否满足预设要求。下面分别进行介绍:Optionally, the terminal detects whether the exposure and blur of the panoramic image meet preset requirements. The following are introduced separately:
1)图像曝光度计算;1) Image exposure calculation;
曝光度计算方法有多种,可选的,将图像由RGB空间转换到HSV色彩空间,得到图像每个像素的色相、饱和度、亮度,根据饱和度和亮度计算图像曝光度;可选的,还可以通过直接统计图像灰度直方图的算法计算曝光度,曝光度的计算方法具体此处不做限定。There are multiple exposure calculation methods. Optionally, convert the image from RGB space to HSV color space to obtain the hue, saturation, and brightness of each pixel of the image, and calculate the image exposure based on the saturation and brightness; optional, The exposure degree can also be calculated by directly counting the grayscale histogram of the image, and the calculation method of the exposure degree is not specifically limited here.
得到拍摄图像的曝光度后,可以与预设的曝光度阈值进行比较,判断是否在阈值范围内,如果在阈值范围内,则图像曝光度合适,否则判定图像存在过度曝光或曝光不足,可选的,终端可以提示用户拍摄图像曝光异常。需要说明的是,曝光度阈值的具体范围此处不做限定。After the exposure of the captured image is obtained, it can be compared with the preset exposure threshold to determine whether it is within the threshold range. If it is within the threshold range, the image exposure is appropriate, otherwise it is determined that the image is overexposed or underexposed, optional Yes, the terminal can prompt the user to take an image with abnormal exposure. It should be noted that the specific range of the exposure threshold is not limited here.
本实施例中以采用灰度直方图分析算法为例进行介绍,设置曝光度阈值为1.0,若计算值大于1.0,则认为曝光异常。In this embodiment, the gray-scale histogram analysis algorithm is used as an example for introduction. The exposure threshold is set to 1.0. If the calculated value is greater than 1.0, the exposure is considered abnormal.
可选的,若图像曝光度不合格,可以提示用户删除图像并重新拍摄。Optionally, if the image exposure is unqualified, the user may be prompted to delete the image and take another shot.
2)图像模糊度计算;2) Calculation of image blur degree;
模糊度的计算有多种,包括Tenengrad梯度方法、Laplacian梯度方法、梯度方差、或sobel模糊度检测算法等,具体此处不做限定。There are many kinds of ambiguity calculations, including Tenengrad gradient method, Laplacian gradient method, gradient variance, or sobel ambiguity detection algorithm, etc. The specifics are not limited here.
计算拍摄图像模糊度值后,可以与预设的模糊度阈值进行比较,判断拍摄图像的模糊度是否在阈值范围内,若在阈值范围内,则图像的模糊度合格,否则不合格,可选的,终端可以提示用户拍摄图像存在模糊。模糊度阈值的具体范围此处不做限定,例如,设置模糊度阈值为6.0,若大于阈值,则认为图像模糊。After calculating the blur degree value of the captured image, it can be compared with the preset blur degree threshold to determine whether the blur degree of the captured image is within the threshold range. If it is within the threshold range, the blur degree of the image is qualified, otherwise it is unqualified. Yes, the terminal can prompt the user that the captured image is blurred. The specific range of the blurriness threshold is not limited here. For example, the blurriness threshold is set to 6.0, and if it is greater than the threshold, the image is considered to be blurred.
可选的,若图像模糊度不合格,可以提示用户删除图像并重新拍摄。Optionally, if the image blur is unqualified, the user may be prompted to delete the image and take another shot.
由于终端在获取全景图像后即可对图像质量进行检测,可以将检测结果及时反馈给图像采集人员,有助于提高全景图像合格率。Since the terminal can detect the image quality after acquiring the panoramic image, the detection result can be fed back to the image collector in time, which helps to improve the qualification rate of the panoramic image.
203、终端对全景图像进行无效区域检测;203. The terminal performs invalid region detection on the panoramic image.
无效区域是拍摄图像中除目标场景外无价值的部分图像,例如,运动物体等,常见的如数据采集人员或道路车辆等。终端预设无效区域的类型,例如定义拍摄图像中的运动物体为无效区域,并计算拍摄图像中无效区域的占比。The invalid area is the part of the image that is worthless except for the target scene, such as moving objects, such as data collectors or road vehicles. The terminal presets the type of the invalid area, for example, defines the moving object in the captured image as the invalid area, and calculates the proportion of the invalid area in the captured image.
可选的,利用图像识别方法,识别拍摄图像中的无效区域,并计算拍摄图像中无效区域的占比,与预设的无效区域阈值进行比较,如果在阈值范围内,则图像合格,否则图像不合格。可选的,可以预设有效区域的阈值,并计算图像的有效区域占比,具体此处不再赘述。Optionally, use the image recognition method to identify the invalid area in the captured image, calculate the proportion of the invalid area in the captured image, and compare it with a preset invalid area threshold. If it is within the threshold range, the image is qualified, otherwise the image Unqualified. Optionally, the threshold of the effective area can be preset, and the effective area ratio of the image can be calculated, and the details are not described here.
示例性的,无效区域阈值为70%,利用MobileNet模型对全景图像进行语义分割,识别图像中运动区域范围,统计每张图像的运动区域范围在图像中占比,如果大于70%,则判断该图像的无效区域占比不合格。Exemplarily, the invalid area threshold is 70%, and the MobileNet model is used to perform semantic segmentation on the panoramic image, identify the range of motion areas in the image, and count the proportion of the motion area of each image in the image. If it is greater than 70%, then determine the The proportion of the invalid area of the image is unqualified.
可选的,若全景图像的无效区域大于预设的无效区域阈值,可以提示用户删除图像并重新拍摄。Optionally, if the invalid area of the panoramic image is greater than the preset invalid area threshold, the user may be prompted to delete the image and take another shot.
204、终端检测连续两张图像的重叠度;204. The terminal detects the degree of overlap of two consecutive images;
为减少手机的全景图像匹配步骤的计算量,可以对连续拍摄的全景图像序列的重叠度进行检测,并判断是否满足预设的重叠度阈值,若满足阈值,则图像重叠度合格,如果不满足, 则全景图像重叠度不合格,需要重新拍摄。In order to reduce the amount of calculation in the panoramic image matching step of the mobile phone, the overlap degree of the continuously shot panoramic image sequence can be detected and judge whether the preset overlap degree threshold is met. If the threshold is met, the image overlap degree is qualified, if not satisfied , The panoramic image overlap degree is unqualified, and you need to take another shot.
示例性的,预设重叠度阈值为30%,终端获取第二张全景图像后,将与获取的第一张全景图像进行重叠度检测,若两张图像的重叠度大于或等于30%,则确定第二张图像的重叠度满足要求,否则提示重新拍摄第二张图像。类似地,终端获取第三张图像后,将第三张图像与第二张图像进行重叠度检测,以确定第三张图像是否满足重叠度要求。Exemplarily, the preset overlap degree threshold is 30%. After acquiring the second panoramic image, the terminal will perform overlap detection with the acquired first panoramic image. If the overlap degree of the two images is greater than or equal to 30%, then Make sure that the overlap of the second image meets the requirements, otherwise you will be prompted to take the second image again. Similarly, after acquiring the third image, the terminal performs overlap detection between the third image and the second image to determine whether the third image meets the overlap requirement.
需要说明的是,步骤205为可选步骤,可以执行,也可以不执行,具体此处不做限定。It should be noted that step 205 is an optional step, which may or may not be performed, and the details are not limited here.
205、终端对全景图像序列进行特定标志物统计;205. The terminal performs specific marker statistics on the panoramic image sequence;
图像中的特定标志物可以用于作为控制信息,预先定义特定标志物在全景图像中出现的数量阈值,以保证最后计算的图像位姿能够进行双目测量或矢量建模。数量阈值例如为2或3等,具体数值此处不做限定。The specific markers in the image can be used as control information to predefine the number threshold of the specific markers appearing in the panoramic image to ensure that the final calculated image pose can be binocular measurement or vector modeling. The number threshold is, for example, 2 or 3, and the specific value is not limited here.
终端获取一个场景的全景图像序列后,将对该全景图像序列中所有全景图像中出现的特定标志物进行统计,特定标志物可能有多个,若每个特定标志物在该全景图像序列中出现的数量,大于或等于预设的该特定标志物的数量阈值,则该全景图像序列合格,否则整组全景图像序列不合格,提示用户特征标志物拍摄数据不足,需要重新拍摄。可选的,根据检测结果提示拍摄控制信息是否满足要求。After acquiring a panoramic image sequence of a scene, the terminal will count the specific markers that appear in all panoramic images in the panoramic image sequence. There may be multiple specific markers. If each specific marker appears in the panoramic image sequence If the number is greater than or equal to the preset number threshold of the specific marker, the panoramic image sequence is qualified; otherwise, the entire group of panoramic image sequence is unqualified, prompting the user that the photographing data of the characteristic markers is insufficient and needs to be photographed again. Optionally, according to the detection result, whether the shooting control information meets the requirements is prompted.
首先,终端需要识别每张全景图像中的特定标志物,可选的,利用MobileNet模型进行图像识别,识别每张图像中的特定标志物,并判断标志物的数量是否满足预设特定标志物的数量阈值。可选的,为提高计算速度,可以将特定标志物识别与无效区域识别进行合并,例如在获取一张全景图像后,利用MobileNet模型同时识别无效区域及特定标志物。First, the terminal needs to identify the specific marker in each panoramic image. Optionally, use the MobileNet model for image recognition, identify the specific marker in each image, and determine whether the number of markers meets the preset specific markers The number threshold. Optionally, in order to increase the calculation speed, specific marker recognition and invalid region recognition can be combined. For example, after a panoramic image is obtained, the MobileNet model is used to simultaneously identify the invalid region and the specific marker.
然后,终端统计全景图像序列中特定标志物数量,示例性的,若特定标志物为3个标靶,分别为1号标靶、2号标靶和3号标靶,终端需要对每张全景图像中进行识别,确定标靶类型和数量,然后统计全景图像序列所有的标靶类型和数量,例如,统计15张图像中出现标靶的类型以及数量,1号标靶的数量为4,2号标靶的为3,3号标靶的数量为5,预设的特定标志物的数量阈值为2,由于1号标靶、2号标靶以及3号标靶的数量均大于预设阈值2,因此,判断该全景图像序列的特定标志物数量合格,若1号标靶、2号标靶或3号标靶的数量小于2,则该全景图像序列不合格,可以提升用户重新进行拍摄。Then, the terminal counts the number of specific markers in the panoramic image sequence. Exemplarily, if the specific markers are 3 targets, which are target 1, target 2, and target 3, the terminal needs to analyze each panoramic image. Recognize in the image, determine the type and number of targets, and then count the types and numbers of all the targets in the panoramic image sequence, for example, count the types and numbers of targets in 15 images, the number of target 1 is 4, 2 The number of target No. 3 is 3, the number of No. 3 targets is 5, and the preset threshold for the number of specific markers is 2. Because the number of No. 1, No. 2 and No. 3 targets are all greater than the preset threshold 2. Therefore, it is judged that the number of specific markers of the panoramic image sequence is qualified. If the number of target 1, target 2, or target 3 is less than 2, the panoramic image sequence is unqualified, which can promote the user to take another shot .
可选的,为提高计算速度,可以在步骤203中,同时识别无效区域及特定标志物,记录每张全景图像的特定标志物的种类及数量,然后在本步骤中统计特定标志物数量是否满足要求即可。Optionally, in order to increase the calculation speed, in step 203, the invalid area and specific markers can be identified at the same time, the type and quantity of the specific markers of each panoramic image are recorded, and then in this step, whether the number of specific markers meets the requirements Just ask.
206、图像检索;206. Image retrieval;
为减少手机的全景图像匹配步骤的计算量,可以对全景图像序列进行图像检索,确定每张全景图像与该全景图像序列中其他图像之间的重叠关系,确定用于后续图像匹配的图像对。In order to reduce the amount of calculation in the panoramic image matching step of the mobile phone, image retrieval can be performed on the panoramic image sequence, the overlap relationship between each panoramic image and other images in the panoramic image sequence can be determined, and the image pair used for subsequent image matching can be determined.
可选的,按照一定的方法缩小图像后再确定图像之间的重叠度。例如缩小图像至图像像幅的水平方向和垂直方向的像素数都小于2000,然后对缩小全景图像进行图像检索,可以减少计算量。Optionally, the degree of overlap between the images is determined after the images are reduced according to a certain method. For example, the number of pixels in the horizontal and vertical directions of the reduced image to the image frame is less than 2000, and then the image retrieval of the reduced panoramic image can reduce the amount of calculation.
可选的,预设重叠度阈值,确定与每张图像的重叠度高于该重叠度阈值的图像作为进行图像匹配的图像,例如,第二张至第四张图像及第六张图像与第一张图像的重叠度分别高于该重叠度阈值,则确定第二张至第四张图像及第六张图像分别与第一张图像进行图像匹配, 即确定了四个图像对。Optionally, preset an overlap degree threshold, and determine an image whose overlap degree with each image is higher than the overlap degree threshold as the image for image matching, for example, the second to fourth images and the sixth image and the first If the overlap degree of an image is higher than the overlap threshold value, it is determined that the second to fourth images and the sixth image are respectively matched with the first image, that is, four image pairs are determined.
可选的,确定每张图像对应的重叠度最高的5张图像作为进行图像匹配的图像,例如,第二张至第六张图像为与第一张图像重叠度最高的5张图像,则确定第二张至第六张图像分别与第一张图像进行图像匹配。Optionally, determine the 5 images with the highest degree of overlap corresponding to each image as the images for image matching. For example, if the second to sixth images are the 5 images with the highest degree of overlap with the first image, then determine The second to sixth images are matched with the first image respectively.
207、图像匹配;207. Image matching;
根据步骤207中图像检索获取的图像对进行图像匹配,以确定图像对中的同名像点。Image matching is performed according to the image pair acquired by the image retrieval in step 207 to determine the image point with the same name in the image pair.
进行图像特征点匹配的算法有多种,包括尺度不变性特征变换(scale-invariant feature transform,SIFT)算法、加速鲁棒性特征(speeded up robust features,SURF)算法,或者ORB(oriented FAST and rotated BRIEF)算法,ORB算法是一种快速特征点提取和描述的算法,主要分为两部分,分别是特征点提取和特征点描述。特征提取是由FAST(features from accelerated segment test)算法发展来的,特征点描述是根据BRIEF(binary robust independent elementary features)特征描述算法改进而来。本申请对于匹配算法的具体类型不做限定,下面以改进的orb算法为例进行介绍。There are many algorithms for image feature point matching, including scale-invariant feature transform (SIFT) algorithm, accelerated robust feature (speeded up robust features, SURF) algorithm, or ORB (oriented FAST and rotated) BRIEF) algorithm, ORB algorithm is a fast feature point extraction and description algorithm, which is mainly divided into two parts, feature point extraction and feature point description. Feature extraction is developed by the FAST (features from accelerated segment test) algorithm, and the feature point description is improved based on the BRIEF (binary robust independent elementary features) feature description algorithm. This application does not limit the specific types of matching algorithms. The following takes the improved orb algorithm as an example to introduce.
传统的匹配算法是基于普通框幅图像的中心投影模型的匹配策略,本实施例提出基于三维球面坐标系,在全景球面空间搜索同名像点的匹配策略。本申请对传统的orb算法进行改进,在提取orb特征点后,将图像投影到三维球面上,在球面上划分网格,利用基于网格的运动统计法(grid-based motion statistics,GMS)确定同名像点,通过网格划分、运动统计特性的方法可以迅速剔除错误匹配,以此来提高匹配的稳定性。The traditional matching algorithm is a matching strategy based on the center projection model of a common frame image. This embodiment proposes a matching strategy based on a three-dimensional spherical coordinate system to search for an image point with the same name in a panoramic spherical space. This application improves on the traditional orb algorithm. After extracting orb feature points, the image is projected onto a three-dimensional spherical surface, and the spherical surface is divided into grids, which are determined by grid-based motion statistics (GMS) For the image points with the same name, the wrong matching can be quickly eliminated through the method of grid division and motion statistics, so as to improve the stability of the matching.
可选的,利用基于RANSAC的二次多项式模型,剔除误匹配点,优化匹配结果,实现全景图像快速、高可靠匹配。Optionally, use the RANSAC-based quadratic polynomial model to eliminate mismatched points, optimize the matching results, and achieve rapid and highly reliable matching of panoramic images.
208、终端进行相机位姿恢复;208. The terminal performs camera pose recovery;
相机位姿恢复(pose estimation)的方式有多种,包括SFM(structure from motion)技术,或者同步定位与地图构建(simultaneous localization and mapping,SLAM)技术等,具体此处不做限定,本实施例中以基于SFM技术进行相机位姿恢复进行介绍。There are many ways of camera pose estimation, including SFM (structure from motion) technology, or simultaneous positioning and map construction (simultaneous localization and mapping, SLAM) technology, etc., which are not specifically limited here. This embodiment China and Israel introduced camera pose recovery based on SFM technology.
本申请对已有的SFM算法进行改进,根据全景图像的特点,提出基于三维球面坐标的相对定向、PnP和前方交会等算法。计算各全景图像对应的相机位姿,若相机位姿的误差小于或等于预设阈值,则计算成功,若相机位姿的误差大于预设阈值,则计算失败。可选的,若计算失败可以提示用户重新拍摄全景图像序列。This application improves the existing SFM algorithm, and proposes algorithms based on relative orientation, PnP, and forward intersection based on three-dimensional spherical coordinates based on the characteristics of panoramic images. Calculate the camera pose corresponding to each panoramic image. If the error of the camera pose is less than or equal to the preset threshold, the calculation is successful; if the error of the camera pose is greater than the preset threshold, the calculation fails. Optionally, if the calculation fails, the user may be prompted to retake the panoramic image sequence.
根据全景图像序列计算得到特征点物点在世界坐标系中的坐标,以及单张全景图像对应的相机位姿,包括图像的拍摄中心在世界坐标系中的坐标,以及世界坐标系与以拍摄中心为原点的三维球面坐标系之间的变换矩阵。将一个特征点物点在世界坐标系中的坐标反投影到图像上的像点坐标,与物点对应的图像中同名像点坐标之间的距离可以用于度量相机位姿的误差。可选的,若多个特征点反投影至图像后与对应像点的距离的标准差是否小于或等于阈值,则确定该图像的相机位姿计算成功。According to the panoramic image sequence, the coordinates of the feature points in the world coordinate system are calculated, and the camera pose corresponding to a single panoramic image, including the coordinates of the image shooting center in the world coordinate system, and the world coordinate system and the shooting center It is the transformation matrix between the three-dimensional spherical coordinate system of the origin. The coordinates of a feature point in the world coordinate system are back projected to the image point coordinates on the image, and the distance between the coordinates of the image point with the same name in the image corresponding to the object point can be used to measure the camera pose error. Optionally, if the standard deviation of the distance from the corresponding image point after the multiple feature points are back-projected to the image is less than or equal to the threshold, it is determined that the camera pose calculation of the image is successful.
请参阅图3,为本申请实施例中相机位姿计算的坐标系示意图。Please refer to FIG. 3, which is a schematic diagram of a coordinate system for calculating a camera pose in an embodiment of the application.
图3涉及的坐标系包括:世界坐标系为O-XYZ,三维球面坐标系o-p0p1p2,图像平面坐标系uv。The coordinate systems involved in Figure 3 include: the world coordinate system is O-XYZ, the three-dimensional spherical coordinate system o-p0p1p2, and the image plane coordinate system uv.
其中,P点表示世界坐标系中的一个物点,[X Y Z]为物点P在世界坐标系中的坐标。 o点为图像的拍摄中心,o点在世界坐标系中的坐标为[X S Y S Z S]。p点表示物点P在球面投影中的像空间点,p点在三维球面坐标系中的坐标为[p 0 p 1 p 2]。p′点表示物点P在全景图像中的像点,p′点在图像平面坐标系中的坐标为[u,v]。 Among them, P point represents an object point in the world coordinate system, and [X Y Z] is the coordinate of the object point P in the world coordinate system. Point o is the shooting center of the image, and the coordinates of point o in the world coordinate system are [X S Y S Z S ]. Point p represents the image space point of the object point P in the spherical projection, and the coordinate of point p in the three-dimensional spherical coordinate system is [p 0 p 1 p 2 ]. Point p'represents the image point of the object point P in the panoramic image, and the coordinates of point p'in the image plane coordinate system are [u, v].
此外,R表示世界坐标系与三维球面坐标系之间的变换矩阵。In addition, R represents a transformation matrix between the world coordinate system and the three-dimensional spherical coordinate system.
以PnP算法为例,在计算全景图像的相机位姿参数[X S Y S Z S]及R矩阵的误差时,对已知物点[X Y Z],利用位姿参数计算其它对应在三维球面坐标系中的坐标[P 0′ P 1′ P 2′],以及图像平面坐标系中的坐标[u′ v′],即根据公式(1)与(2)计算[u′ v′]值,将[u′ v′]值与输入的[u,v]值进行比较,计算[u′ v′]与[u v]之间的距离
Figure PCTCN2020141440-appb-000001
统计所有物点所对应的距离均值,若均值小于阈值T,则认为计算的位姿是有效的。阈值T例如可以为6像素。
Taking the PnP algorithm as an example, when calculating the camera pose parameter [X S Y S Z S ] of the panoramic image and the error of the R matrix, for the known object point [XYZ], use the pose parameter to calculate other corresponding three-dimensional spherical coordinates The coordinates in the system [P 0 ′ P 1 ′ P 2 ′], and the coordinates [u′ v′] in the image plane coordinate system, that is, the value of [u′ v′] is calculated according to formulas (1) and (2), Compare the value of [u′ v′] with the input value of [u, v], and calculate the distance between [u′ v′] and [uv]
Figure PCTCN2020141440-appb-000001
Count the average distances corresponding to all the object points. If the average value is less than the threshold T, the calculated pose is considered valid. The threshold T may be, for example, 6 pixels.
Figure PCTCN2020141440-appb-000002
Figure PCTCN2020141440-appb-000002
Figure PCTCN2020141440-appb-000003
Figure PCTCN2020141440-appb-000003
u'=π-a tan 2(p 0',p 2') u'=π-a tan 2(p 0 ',p 2 ')
if u'>πif u'>π
u'=u'-2π    (2)u'=u'-2π (2)
oror
u'=u'u'=u'
v'=atan(p 1',r 0) v'=atan(p 1 ',r 0 )
其中,λ代表比例尺系数。Among them, λ represents the scale factor.
由于上述计算过程较复杂,本申请提供了简化算法,下面介绍本实施例中相机位姿的误差计算方法,在计算相机位姿误差时,将特征点物点反投影至三维球面坐标系,还将图像对应的像点投影至三维球面坐标系,在利用三维坐标计算时,定义三维空间中点与点或点与线的弧线距离阈值,以判断相机位姿计算是否成功。下面进行介绍:Due to the complexity of the above calculation process, this application provides a simplified algorithm. The following describes the method for calculating the camera pose error in this embodiment. When calculating the camera pose error, the feature points and object points are back-projected to the three-dimensional spherical coordinate system. Project the image point corresponding to the image to the three-dimensional spherical coordinate system. When using the three-dimensional coordinate calculation, define the arc distance threshold between the point and the point or the point and the line in the three-dimensional space to determine whether the camera pose calculation is successful. The following is introduced:
预设三维球面上的弧长阈值T′,直接比较[p 0' p 1' p 2']与由[u v]计算的[p 0 p 1 p 2]在球面上夹角的cos值,
Figure PCTCN2020141440-appb-000004
阈值T'=cos(T/f)。由于将每个像点的[u v]按公式(3)计算得[p 0 p 1 p 2]只需要一次,从而简化计算,提高速度。
Preset the arc length threshold T′ on the three-dimensional spherical surface, and directly compare the cos value of the angle between [p 0 'p 1 ' p 2 '] and [p 0 p 1 p 2] calculated by [u v] on the spherical surface,
Figure PCTCN2020141440-appb-000004
Threshold T'=cos(T/f). Since the [u v] of each image point is calculated according to formula (3) to obtain [p 0 p 1 p 2 ] only once, the calculation is simplified and the speed is improved.
Figure PCTCN2020141440-appb-000005
Figure PCTCN2020141440-appb-000005
其中,f为主距,即光心到成像面的距离。Among them, f is the main distance, that is, the distance from the optical center to the imaging surface.
类似地,在计算2张图像之间的相对位姿时,直接在三维球面坐标系中、进行计算。如 公式(4),
Figure PCTCN2020141440-appb-000006
表示第1张图像的p1像点的像空间坐标,
Figure PCTCN2020141440-appb-000007
表示第2张图像中p1像点的同名像点p2像点的像空间坐标,R′表示两张图像之间的相对旋转矩阵,
Figure PCTCN2020141440-appb-000008
表示第1张图像的拍摄光心在世界坐标系中的位置,
Figure PCTCN2020141440-appb-000009
表示第二张图像在世界坐标系中的位置。计算残差时,将(4)等价写成公式(5),即
Figure PCTCN2020141440-appb-000010
A,B,C由公式(5)计算得到。由于位姿计算误差,导致A,B,C计算有误差,实际计算值为A’,B’,C’,则计算误差值为
Figure PCTCN2020141440-appb-000011
与预设的阈值T′进行比较,可选的,T'=sin(T/f),T例如为4像素,若所有图像对平均残差距离值小于阈值,则接受计算的2张图像之间的相对位姿。
Similarly, when calculating the relative pose between two images, the calculation is performed directly in the three-dimensional spherical coordinate system. Such as formula (4),
Figure PCTCN2020141440-appb-000006
Represents the image space coordinates of the p1 pixel of the first image,
Figure PCTCN2020141440-appb-000007
Represents the image space coordinates of the image point p2 with the same name of the pixel p1 in the second image, and R′ represents the relative rotation matrix between the two images,
Figure PCTCN2020141440-appb-000008
Indicates the position of the optical center of the first image in the world coordinate system,
Figure PCTCN2020141440-appb-000009
Indicates the position of the second image in the world coordinate system. When calculating the residual, write (4) equivalently as formula (5), namely
Figure PCTCN2020141440-appb-000010
A, B, C are calculated by formula (5). Due to the error of pose calculation, there are errors in the calculation of A, B, and C. The actual calculated value is A', B', C', and the calculated error value is
Figure PCTCN2020141440-appb-000011
Compare with the preset threshold T', optionally, T'=sin(T/f), T is 4 pixels, for example, if the average residual distance value of all image pairs is less than the threshold, then one of the two calculated images will be accepted The relative pose between.
Figure PCTCN2020141440-appb-000012
Figure PCTCN2020141440-appb-000012
其中,
Figure PCTCN2020141440-appb-000013
among them,
Figure PCTCN2020141440-appb-000013
Figure PCTCN2020141440-appb-000014
Figure PCTCN2020141440-appb-000014
若全景图像序列在本步骤中计算相机位姿时的误差满足阈值要求,则完成图像间初始位姿计算,获取每张全景图像对应的相机位姿,和拍摄场景的稀疏点云。全景图像序列合格,可选的,若计算失败,则提示用户重新进行拍摄。If the error in calculating the camera pose in this step of the panoramic image sequence meets the threshold requirement, the initial pose calculation between images is completed, and the camera pose corresponding to each panoramic image and the sparse point cloud of the shooting scene are obtained. The panoramic image sequence is qualified. Optionally, if the calculation fails, the user is prompted to take another shot.
本步骤根据全景图像的特点,进行基于三维图像空间球面坐标SFM构网,不再利用2维图像坐标进行相对定向、PnP等计算,而是将2维图像坐标转为3维空间球面坐标进行计算,从而可以减少计算量。In this step, based on the characteristics of the panoramic image, the SFM network is constructed based on the spherical coordinates of the three-dimensional image space. The two-dimensional image coordinates are no longer used for relative orientation and PnP calculations, but the two-dimensional image coordinates are converted to the three-dimensional spherical coordinates for calculation. , Which can reduce the amount of calculation.
此外,相对于传统的SFM算法中每次增加一张图像进行局部优化,本步骤可以根据图像之间的同名像点对数,当满足预设条件是可以一次加入多张图像进行局部优化,预设条件可以是,未计算的图像与已经计算的图像之间的同名像点对数大于阈值,例如15,且PnP计算结果有效,由此,可以减少光束法平差优化次数,光束法平差是利用优化方法精确确定图像的位置与姿态的方法。可以减少计算量,降低计算时长,提高用户体验。In addition, compared to the traditional SFM algorithm for local optimization every time an image is added, this step can be based on the number of pairs of pixels with the same name between the images. When the preset conditions are met, multiple images can be added at one time for local optimization. The setting condition can be that the number of pairs of image points with the same name between the uncalculated image and the calculated image is greater than the threshold, such as 15, and the PnP calculation result is valid, thus, the number of optimizations of the beam method can be reduced, and the number of beam method adjustments can be reduced. It is a method of accurately determining the position and posture of an image using optimization methods. The amount of calculation can be reduced, the calculation time can be reduced, and the user experience can be improved.
可选的,若仅通过终端进行位姿估计,可以根据本步骤获取的相机位姿进行目标场景的三维重建。Optionally, if the pose estimation is only performed through the terminal, the three-dimensional reconstruction of the target scene can be performed according to the camera pose obtained in this step.
209、终端向服务器上传全景图像序列;209. The terminal uploads the panoramic image sequence to the server;
终端将全景图像序列发送至服务器,通信方式不做限定。The terminal sends the panoramic image sequence to the server, and the communication method is not limited.
可选的,终端将特定标志物的检测结果发送给服务器。Optionally, the terminal sends the detection result of the specific marker to the server.
可选的,终端将每张全景图像对应的相机位姿和拍摄场景的稀疏点云发送给服务器。Optionally, the terminal sends the camera pose and the sparse point cloud of the shooting scene corresponding to each panoramic image to the server.
210、服务器进行干扰区域检测;210. The server performs interference area detection;
服务器接收终端发送的全景图像序列,并分别检测每张全景图像中的干扰区域,干扰区域是无需用于站点数字化的干扰信息,干扰区域可以预先定义,例如,设定图像中的运动物体和天空区域为干扰区域。需要说明的是,该干扰区域与步骤203中的无效区域的定义可以相同,也可以不同,具体此处不做限定。The server receives the panoramic image sequence sent by the terminal and separately detects the interference area in each panoramic image. The interference area is interference information that does not need to be used for site digitization. The interference area can be predefined, for example, set the moving objects and the sky in the image The area is the interference area. It should be noted that the definition of the interference area and the invalid area in step 203 may be the same or different, and the specific definition is not limited here.
可选的,通过图像识别的方法识别图像中的干扰区域,根据识别结果,生成每张图像的掩膜图片,保留非干扰区域,生成每张图像的掩膜图片;Optionally, the interference area in the image is recognized by the image recognition method, and the mask picture of each image is generated according to the recognition result, the non-interference area is reserved, and the mask picture of each image is generated;
可选的,考虑到全景图像的投影变形,直接利用图像识别算法进行语义分割识别率低。本实施例中,由于拍摄人员通常出现在图像下部区域,为便于识别图像下部区域中的干扰物,可以将图像各像点转换到三维球面坐标系上,对图像进行旋转变换,使得原全景图像下部区域,即主要的待识别区域旋转到球面的赤道区域,由于球面的赤道区域在转换为二维图像后的图像变形最小,由此可以提高图像语义分割识别率。Optionally, considering the projection distortion of the panoramic image, the recognition rate of semantic segmentation is low by directly using the image recognition algorithm. In this embodiment, since the photographer usually appears in the lower area of the image, in order to facilitate the identification of interference objects in the lower area of the image, each image point of the image can be converted to a three-dimensional spherical coordinate system, and the image can be rotated and transformed to make the original panoramic image The lower area, that is, the main area to be recognized is rotated to the equatorial area of the sphere. Since the equatorial area of the sphere has the smallest image distortion after being converted into a two-dimensional image, the recognition rate of image semantic segmentation can be improved.
示例性的,利用DeepNet网络模型进行语义分割,同时识别匹配干扰区域,如天空、行人等,可选的,利用图像分割(graph cut)算法对标记为行人的区域进行优化,进一步提高分割精度。最后根据识别结果,制作相应的匹配掩膜图像,掩膜图像中灰度为0的像素表示干扰区域,灰度为255的像素表示非干扰区域。在图像特征点提取时,同时输入图像与对应的掩膜图像,掩膜图像中灰度为0的区域不提取特征点。Exemplarily, the DeepNet network model is used to perform semantic segmentation, and at the same time, matching interference regions, such as the sky, pedestrians, etc., are identified. Optionally, an image segmentation (graph cut) algorithm is used to optimize the regions marked as pedestrians to further improve the segmentation accuracy. Finally, according to the recognition results, a corresponding matching mask image is produced. In the mask image, pixels with a gray level of 0 represent interference areas, and pixels with a gray level of 255 represent non-interference areas. When extracting image feature points, the input image and the corresponding mask image are input at the same time, and the feature points are not extracted in the area of the mask image where the gray level is 0.
请参阅图4,为本申请实施例中图像语义分割识别结果的示意图。Please refer to FIG. 4, which is a schematic diagram of an image semantic segmentation recognition result in an embodiment of the application.
左片为输入图像,右片为预测得到的语义分割识别结果,A区域表示天空,B区域表示有效区域,C区域表示特征标识物,D区域表示行人等运动物体构成的干扰区域。The left image is the input image, and the right image is the predicted semantic segmentation recognition result. The area A represents the sky, the area B represents the effective area, the area C represents the feature marker, and the area D represents the interference area formed by moving objects such as pedestrians.
211、服务器检测特定标志物;211. The server detects a specific marker;
服务器确定特定标志物在图像中的编号及精确位置。以特定标志物中的指定信息做为控制信息,保证计算图像位姿的所在的坐标系的比例尺正确。The server determines the number and precise location of the specific marker in the image. The specified information in the specific marker is used as the control information to ensure that the scale of the coordinate system where the image pose is calculated is correct.
可选的,在步骤205中终端通过预检测已经初步识别了特定标志物,因此,本步骤中服务器可以根据终端预检测上传的特定标志物检测结果,在识别的特定标志物的局部区域进行检测,确定特定标志物的精确位置。Optionally, in step 205, the terminal has preliminarily identified the specific marker through pre-detection. Therefore, in this step, the server can perform detection in the local area of the identified specific marker according to the detection result of the specific marker uploaded by the terminal pre-detection. , To determine the precise location of a specific marker.
可选的,利用DeepNet网络模型识别标靶区域。此外,为提高检测速度,可在步骤210进行对无效区域的识别的同时进行特定标志物的识别。Optionally, use the DeepNet network model to identify the target area. In addition, in order to increase the detection speed, the identification of the specific marker may be performed at the same time as the identification of the invalid area is performed in step 210.
可选的,为确定特定标志物的精确位置,将全景图像中包含特定标志物的局部区域重新投影至中心投影平面,得到包含特定标志物的框幅图像,由此可以减少图像变形。然后,利用目标检测算法(例如Yolo v3)对特定标志物进行定位。示例性的,若特定标志物为标靶,对包含标靶的框幅图像进行二值化处理,分析二值化后的结果,确定标靶编号,利用圆形检测器,提取标靶中心点位置。Optionally, in order to determine the precise position of the specific marker, the partial area containing the specific marker in the panoramic image is reprojected to the central projection plane to obtain a frame image containing the specific marker, thereby reducing image distortion. Then, a target detection algorithm (such as Yolo v3) is used to locate a specific marker. Exemplarily, if the specific marker is the target, binarize the frame image containing the target, analyze the result of the binarization, determine the target number, and use a circular detector to extract the center point of the target position.
示例性的,基于原始全景图像在三维球面坐标系上进行旋转变换,得系列图像,其中,可以将全景图像中包含特定标志物,即标靶的局部区域重新投影至中心投影平面,得到包含标靶的框幅图像,由此可以减少标靶区域的图像变形,便于进行标靶精确定位。此外,还可以将原全景图像下部区域,即可能存在干扰的主要的待识别区域旋转到球面的赤道区域,并投影至中心投影平面,由于球面的赤道区域在转换为二维图像后的图像变形最小,由此可以提高图像语义分割识别率,此外,还可以将手持全景相机的图像采集人员转换至图像中间, 易于被识别。Exemplarily, a series of images is obtained based on the rotation transformation of the original panoramic image on the three-dimensional spherical coordinate system. Among them, the panoramic image contains a specific marker, that is, the partial area of the target can be reprojected to the central projection plane to obtain the containing target. The frame image of the target can reduce the image distortion of the target area and facilitate the precise positioning of the target. In addition, the lower area of the original panoramic image, that is, the main area to be identified that may have interference, can be rotated to the equator area of the spherical surface and projected to the central projection plane. Because the equator area of the spherical surface is transformed into a two-dimensional image, the image is deformed Minimal, which can improve the recognition rate of image semantic segmentation. In addition, it is also possible to transfer the image collector holding the panoramic camera to the middle of the image, which is easy to be recognized.
212、服务器进行图像匹配;212. The server performs image matching;
服务器根据图像检索获取高重叠度的图像对,或者,在步骤209中,服务器获取终端发送的图像对检测结果,确定图像之间的重叠关系,进而确定进行图像匹配的图像对。The server obtains a pair of images with a high degree of overlap according to the image retrieval, or, in step 209, the server obtains the detection result of the image pair sent by the terminal, determines the overlap relationship between the images, and then determines the image pair for image matching.
根据步骤210干扰区域识别获取的全景图像和掩膜图像,对每张图像提取特征点,对图像对进行特征匹配,可选的,采用orb特征匹配算法进行匹配。可选的,若在步骤209中,服务器获取终端发送的图像匹配结果,可以该图像匹配结果作为匹配初始值,由此,可减少匹配搜索范围,提高匹配速度。According to the panoramic image and the mask image obtained by the interference area recognition in step 210, feature points are extracted from each image, and the image pair is matched with features, optionally, an orb feature matching algorithm is used for matching. Optionally, if the server obtains the image matching result sent by the terminal in step 209, the image matching result can be used as the initial value of the matching, thereby reducing the matching search range and improving the matching speed.
213、服务器进行相机位姿恢复;213. The server performs camera pose recovery;
服务器基于步骤212得到的匹配结果,进行相机位姿优化,并根据步骤211获取的特定标志物提取结果,精确确定每张全景图像的相机位姿和目标场景的稀疏点云。The server performs camera pose optimization based on the matching result obtained in step 212, and accurately determines the camera pose of each panoramic image and the sparse point cloud of the target scene according to the specific marker extraction result obtained in step 211.
可选的,若在步骤209中,服务器获取终端发送的终端预检测的位姿信息,可以该位姿信息作为位姿初始值进行检测,以减少计算量,提高位姿计算速度。Optionally, if the server obtains the pose information pre-detected by the terminal in step 209, the pose information may be used as the initial value of the pose for detection, so as to reduce the amount of calculation and increase the speed of pose calculation.
214、服务器实现站点数字化;214. The server realizes site digitization;
服务器存储全景图像序列的位姿信息和稀疏点云,据此进行立体量测和基于全景图像的矢量建模,从而实现站点数字化。The server stores the pose information and the sparse point cloud of the panoramic image sequence, and then performs stereo measurement and vector modeling based on the panoramic image, thereby realizing the digitization of the site.
本申请实施例提供的数据处理方法,终端获取全景图像,通过终端进行预检测,将满足预设条件的全景图像发送给服务器用于站点的数字化,由于全景图像采集的信息全面,此外,终端通过预设条件筛选图像,可以降低图像不合格率,避免图像采集人员反复上站采集数据。In the data processing method provided by the embodiments of this application, the terminal obtains the panoramic image, performs pre-detection through the terminal, and sends the panoramic image that meets the preset conditions to the server for the digitization of the site. Since the information collected by the panoramic image is comprehensive, in addition, the terminal passes Filtering images with preset conditions can reduce the rate of image failure and prevent image collectors from repeatedly going to the station to collect data.
本申请实施例提供的数据处理方法,考虑到采集人员专业技能不足的问题,直接采集全景影像进行数据处理;在采集时,一边采集一边对采集的影像的本身质量进行检测,如曝光度、模糊度、无区域检测等,保证影像自身摄影质量;采集完成后,在手机端进行特定标志信息检测,预处理,再进行影像匹配、计算影像位姿估计,保证拍摄的多张影像能够精度确定拍摄时位姿,避免二次到现场采集。The data processing method provided in the embodiments of this application takes into account the problem of insufficient professional skills of the collectors, and directly collects panoramic images for data processing; during the collection, the quality of the collected images is checked while collecting, such as exposure and blur To ensure the imaging quality of the image itself; after the collection is completed, the specific sign information is detected on the mobile phone, pre-processing, image matching, and image pose estimation are calculated to ensure that the multiple images captured can be accurately determined. Time position and posture, avoid the second time to collect on-site.
针对全景影像变形较大的问题,对现有SFM算法进行改进,采用基于影像球面坐标的SFM构建,将全景影像坐标直接转到球面坐标进行相对定向、PnP求解等。Aiming at the problem of large distortion of the panoramic image, the existing SFM algorithm is improved, and the SFM construction based on the spherical coordinate of the image is adopted. The coordinate of the panoramic image is directly transferred to the spherical coordinate for relative orientation and PnP solution.
针对终端计算性能有限的问题,本申请实施例通过影像匹配的加速优化,包括缩小全景影像、图像检索,并提出基于球面网格的运动统计方法确定同名orb特征点,同时利用基于RANSAC的二次多项式模型,剔除误匹配点,优化匹配结果,实现全景影像快速、高可靠匹配。此外,对传统的SFM构建流程中每次只增加一张影像进行改进,本方案每次增加多张影像到已经构建的网络中,从而可以加快构网的速度,减少计算时间。从而可以解决手机无法进行全景影像SFM构网的问题,达到在用户可接受时间内实现手机预检测的效果。In view of the problem of limited computing performance of the terminal, the embodiment of this application uses accelerated optimization of image matching, including reduction of panoramic images, image retrieval, and proposes a spherical grid-based motion statistics method to determine the orb feature points of the same name. At the same time, it uses RANSAC-based secondary The polynomial model eliminates mismatched points, optimizes the matching results, and realizes fast and highly reliable matching of panoramic images. In addition, the traditional SFM construction process is improved by adding only one image at a time. This solution adds multiple images to the already constructed network at a time, which can speed up the network construction and reduce the calculation time. This can solve the problem that the mobile phone cannot perform the panoramic image SFM network construction, and achieve the effect of realizing the mobile phone pre-detection within the user's acceptable time.
本申请实施例提供的数据处理方法,可以适用于多种性能的终端设备,如表1所示,为测试手机预检测算法的性能,分别选择不同性能的手机进行测试,包括高端机(如华为mate20pro)、中端机(如华为p10)、低端机(如荣耀9)。图像数量越多,计算时间越长。因而以勘测场景中较常处理的30张CV60相机图像为例进行统计,计算时间如表1所示。所有时间都在20分钟,在采集作业员可接受范围内。The data processing method provided in the embodiments of this application can be applied to terminal devices with multiple performances. As shown in Table 1, in order to test the performance of the mobile phone pre-detection algorithm, mobile phones with different performances are selected for testing, including high-end devices (such as Huawei mate20pro), mid-range machines (such as Huawei p10), low-end machines (such as Honor 9). The larger the number of images, the longer the calculation time. Therefore, take 30 CV60 camera images that are commonly processed in the survey scene as an example for statistics, and the calculation time is shown in Table 1. All times are within 20 minutes, which is within the acceptable range of the collection operator.
表1手机预检测时间Table 1 Mobile phone pre-detection time
Figure PCTCN2020141440-appb-000015
Figure PCTCN2020141440-appb-000015
经测试,加入手机预检测功能后,二次上站率由之前的30%降低到0,彻底杜绝二次上站。服务器算法优化后,合成成功率可达90%,相比现有的成功率60%有显著提高。After testing, after adding the mobile phone pre-detection function, the rate of secondary visits has been reduced from 30% to 0, completely eliminating secondary visits. After the server algorithm is optimized, the synthesis success rate can reach 90%, which is significantly higher than the existing success rate of 60%.
请参阅图5,为本申请实施例中数据处理方法的另一个实施例示意图;Please refer to FIG. 5, which is a schematic diagram of another embodiment of the data processing method in the embodiment of this application;
本申请采集360度全景图像数据进行站点数字化信息采集,包括手机端侧及后台服务侧两部分工作。手机端侧,采集全景图像,进行图像质量检测和图像预处理,以及图像合成预检测,具体为改进的SFM位姿计算,通过该预检测确定是否能正确估算出每张图像拍摄时的相机位姿,如果满足要求,则将图像数据传递到后台服务器。服务器侧进行高精度图像合成,包括接收手机端发送的图像和位姿数据,对图像进行干扰区域识别,基于剔除干扰区域的位姿计算,结合手机端发送的位姿数据进行优化图像位姿计算处理,精确确定图像的位置以及姿态参数。This application collects 360-degree panoramic image data for site digital information collection, including two parts of work on the mobile phone side and the background service side. On the mobile phone side, collect panoramic images, perform image quality detection and image preprocessing, and image synthesis pre-detection, specifically the improved SFM pose calculation. Through this pre-detection, it is determined whether the camera position when each image is captured can be correctly estimated. If the requirements are met, the image data will be passed to the background server. The server side performs high-precision image synthesis, including receiving the image and pose data sent by the mobile phone, identifying the interference area of the image, calculating the pose based on eliminating the interference area, and combining the pose data sent by the mobile phone to optimize the image pose calculation Processing to accurately determine the position and posture parameters of the image.
上面对本申请实施例中提供的数据处理方法进行了介绍,下面,将介绍实现该数据处理方法的终端和服务器。The data processing method provided in the embodiments of the present application has been introduced above, and the terminal and server that implement the data processing method will be introduced below.
请参阅图6,为本申请实施例中终端的一个实施例示意图;Please refer to FIG. 6, which is a schematic diagram of an embodiment of a terminal in an embodiment of this application;
本申请实施例提供了一种终端,包括:The embodiment of the present application provides a terminal, including:
获取模块601,用于获取全景图像序列,所述全景图像序列包括以不同位姿对目标场景拍摄的多张全景图像,所述多张全景图像包括连续拍摄的第一全景图像和第二全景图像;The acquiring module 601 is configured to acquire a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images shot on a target scene in different poses, and the plurality of panoramic images includes a first panoramic image and a second panoramic image that are continuously shot ;
发送模块602,用于在所述第二全景图像的重叠度大于或等于第一阈值的情况下,向服务器发送包括所述第一全景图像和所述第二全景图像的目标全景图像序列,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例,所述目标全景图像序列为所述多张全景图像的一部分,所述目标全景图像序列用于所述目标场景的三维重建。The sending module 602 is configured to send a target panoramic image sequence including the first panoramic image and the second panoramic image to the server when the degree of overlap of the second panoramic image is greater than or equal to a first threshold, so The degree of overlap of the second panoramic image is the proportion of the overlapping area of the second panoramic image and the first panoramic image in the second panoramic image, and the target panoramic image sequence is a part of the plurality of panoramic images The target panoramic image sequence is used for three-dimensional reconstruction of the target scene.
可选的,所述第二全景图像为在所述第一全景图像拍摄之后连续拍摄的图像。Optionally, the second panoramic image is an image continuously captured after the first panoramic image is captured.
可选的,所述目标全景图像序列中的特定标志物的数量大于或等于第二阈值,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物。Optionally, the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are markers set in the target scene for image size calibration.
可选的,所述目标全景图像序列中还包括拍摄有特定标志物的第三全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物,所述终端还包括:Optionally, the target panoramic image sequence further includes a third panoramic image shot with a specific marker, and the specific marker is a marker set in the target scene for image size calibration, and the terminal Also includes:
确定模块603,用于确定在所述第三全景图像中的特定标志物的位置范围;The determining module 603 is configured to determine the position range of the specific marker in the third panoramic image;
所述发送模块602还用于,向所述服务器发送所述位置范围,所述位置范围用于确定在所述第三全景图像中所述特定标志物的位置。The sending module 602 is further configured to send the location range to the server, where the location range is used to determine the location of the specific landmark in the third panoramic image.
可选的,所述目标全景图像序列的相机位姿的误差小于或等于第三阈值,所述目标全景图像序列的相机位姿根据所述目标全景图像序列的同名像点进行位姿恢复确定,所述同名像 点为所述目标全景图像序列中重叠度满足第一预设条件的图像对的像点。Optionally, the error of the camera pose of the target panoramic image sequence is less than or equal to a third threshold, and the camera pose of the target panoramic image sequence is determined according to the same-named image points of the target panoramic image sequence, The image point with the same name is an image point of an image pair whose overlap degree meets a first preset condition in the target panoramic image sequence.
可选的,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。Optionally, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
可选的,所述目标全景图像序列的相机位姿误差为,将目标场景中的物点根据所述目标全景图像序列的所述相机位姿投影至三维球面形成的点,与该物点在所述目标全景图像序列中的像点转换至所述三维球面形成的点之间的球面距离。Optionally, the camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene onto a three-dimensional spherical surface according to the camera pose of the target panoramic image sequence, and the object point is The image points in the target panoramic image sequence are converted to the spherical distance between the points formed by the three-dimensional spherical surface.
可选的,所述发送模块602还用于:Optionally, the sending module 602 is further configured to:
向所述服务器发送所述目标全景图像序列的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。Sending the camera pose of the target panoramic image sequence to the server, where the camera pose is used to achieve three-dimensional reconstruction of the target scene.
可选的,所述目标全景图像序列还满足第二预设条件;Optionally, the target panoramic image sequence also satisfies a second preset condition;
所述第二预设条件包括以下至少一种:The second preset condition includes at least one of the following:
所述全景图像的模糊度满足预设的第三预设条件;以及,The blur degree of the panoramic image satisfies a preset third preset condition; and,
所述全景图像的曝光度满足预设的第四预设条件;以及,The exposure of the panoramic image satisfies a preset fourth preset condition; and,
所述全景图像的所述无效区域占比小于或等于第五阈值,所述无效区域包括拍摄到的所述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域。The proportion of the invalid area of the panoramic image is less than or equal to a fifth threshold, the invalid area includes an area outside the captured target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and Sky area.
请参阅图7,为本申请实施例中服务器的一个实施例示意图;Please refer to FIG. 7, which is a schematic diagram of an embodiment of a server in an embodiment of this application;
本申请实施例提供的服务器,包括:The server provided in the embodiment of the present application includes:
接收模块701,用于接收终端发送的全景图像序列,所述全景图像序列包括以不同位姿对目标场景依序拍摄的多张全景图像;The receiving module 701 is configured to receive a panoramic image sequence sent by a terminal, and the panoramic image sequence includes a plurality of panoramic images sequentially shot of a target scene in different poses;
确定模块702,用于根据所述全景图像序列的同名像点确定所述全景图像序列的相机位姿,以实现所述目标场景的三维重建,所述全景图像序列的相机位姿的误差小于或等于第一阈值。The determining module 702 is configured to determine the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or Equal to the first threshold.
可选的,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。Optionally, the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
可选的,所述服务器还包括:Optionally, the server further includes:
检测模块703,用于检测所述全景图像中的无效区域,所述无效区域包括拍摄到的所述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域;所述同名像点为所述全景图像中所述无效区域之外的像点。The detection module 703 is configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area The image point with the same name is the image point outside the invalid area in the panoramic image.
可选的,所述全景图像序列中包括拍摄有特定标志物的全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物;Optionally, the panoramic image sequence includes a panoramic image shot with a specific marker, and the specific marker is a marker set in the target scene for image size calibration;
所述确定模块702还用于,根据所述同名像点和所述特定标志物的位置确定所述全景图像的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。The determining module 702 is further configured to determine the camera pose of the panoramic image according to the position of the image point of the same name and the specific marker, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
可选的,所述接收模块701还用于,接收来自所述终端的所述全景图像的特定标志物的位置范围;Optionally, the receiving module 701 is further configured to receive a position range of a specific marker of the panoramic image from the terminal;
所述确定模块702还用于,从所述特定标志物的位置范围中确定所述特定标志物的位置。The determining module 702 is further configured to determine the position of the specific marker from the range of the position of the specific marker.
可选的,所述接收模块701还用于,接收来自所述终端的所述全景图像序列的第一相机 位姿,所述第一相机位姿为所述终端确定的所述全景图像序列的相机位姿;Optionally, the receiving module 701 is further configured to receive a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the position of the panoramic image sequence determined by the terminal Camera pose
所述确定模块702还用于,根据所述第一相机位姿确定所述全景图像序列的第二相机位姿,所述第二相机位姿的精度高于所述第一相机位姿。The determining module 702 is further configured to determine a second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
可选的,所述全景图像序列满足第一预设条件,Optionally, the panoramic image sequence satisfies a first preset condition,
所述第一预设条件包括以下至少一个:The first preset condition includes at least one of the following:
所述全景图像序列中的第二全景图像的重叠度大于或等于预设的第二阈值,所述第二全景图像为在第一全景图像拍摄之后连续拍摄得到,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例;以及,The degree of overlap of the second panoramic image in the panoramic image sequence is greater than or equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the overlap of the second panoramic image is Degree is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image; and,
所述全景图像序列中的特定标志物的数量大于或等于预设的特定标志物标识数量阈值;以及,The number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and,
所述全景图像的模糊度满足第二预设条件;以及,The blur degree of the panoramic image satisfies the second preset condition; and,
所述全景图像的曝光度满足第三预设条件;以及,The exposure of the panoramic image satisfies the third preset condition; and,
所述全景图像序列的相机位姿的误差小于或等于第三阈值,所述全景图像序列的相机位姿根据所述全景图像序列的同名像点进行位姿恢复确定,所述同名像点为所述目标全景图像序列中重叠度满足预设条件的图像对的像点。The error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is determined according to the same-name image points of the panoramic image sequence, and the same-name image points are all The image points of the image pair whose overlap degree meets the preset condition in the target panoramic image sequence.
请参阅图8,为本申请实施例中终端的另一个实施例示意图;Please refer to FIG. 8, which is a schematic diagram of another embodiment of a terminal in an embodiment of this application;
图8示出的是与本申请实施例提供的终端的部分结构的框图。该终端包括:图像采集单元1710、传感器1730、显示单元1740、输入单元1750、存储器1760、处理器1770、以及电源1780等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。FIG. 8 shows a block diagram of a part of the structure of a terminal provided in an embodiment of the present application. The terminal includes: an image acquisition unit 1710, a sensor 1730, a display unit 1740, an input unit 1750, a memory 1760, a processor 1770, and a power supply 1780. Those skilled in the art can understand that the terminal structure shown in FIG. 8 does not constitute a limitation on the terminal, and may include more or fewer components than shown in the figure, or a combination of certain components, or different component arrangements.
下面结合图8对终端的各个构成部件进行具体的介绍:The following describes each component of the terminal in detail with reference to Figure 8:
图像采集单元1710,用于采集全景图像,在本申请实施例中用于获取目标场景的图像,图像采集单元1710可以通过全景相机采集全景图像,全景相机设置有至少两个鱼眼镜头,或多个广角镜头,或多个普通镜头,具体此处不做限定。各镜头采集的图像经过拼接技术可以转换为全景图像,具体拼接方法不做限定。图像采集单元可以与全景相机通过有线或无线连接,包括TypeC、蓝牙或wifi等,具体连接形式此处不做限定。The image acquisition unit 1710 is used to acquire a panoramic image. In the embodiment of the present application, it is used to acquire an image of a target scene. The image acquisition unit 1710 can acquire a panoramic image through a panoramic camera. The panoramic camera is provided with at least two fisheye lenses, or more A wide-angle lens, or multiple ordinary lenses, the details are not limited here. The images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited. The image acquisition unit can be connected to the panoramic camera via wired or wireless connection, including TypeC, Bluetooth or wifi, etc. The specific connection form is not limited here.
显示单元1740可用于显示由用户输入的信息或提供给用户的信息以及终端的各种菜单。包括向用于展示采集的全景图像。显示单元1740可包括显示面板1741,可选的,可以采用液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1741。进一步的,触控面板1751可覆盖显示面板1741,当触控面板1751检测到在其上或附近的触摸操作后,传送给处理器1770以确定触摸事件的类型,随后处理器1770根据触摸事件的类型在显示面板1741上提供相应的视觉输出。虽然在图8中,触控面板1751与显示面板1741是作为两个独立的部件来实现终端的输入和输入功能,但是在某些实施例中,可以将触控面板1751与显示面板1741集成而实现终端的输入和输出功能。The display unit 1740 may be used to display information input by the user or information provided to the user and various menus of the terminal. Including the panoramic image used to show the collection. The display unit 1740 may include a display panel 1741. Optionally, the display panel 1741 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. Further, the touch panel 1751 can cover the display panel 1741. When the touch panel 1751 detects a touch operation on or near it, it transmits it to the processor 1770 to determine the type of the touch event, and then the processor 1770 responds to the touch event. The type provides corresponding visual output on the display panel 1741. Although in FIG. 8, the touch panel 1751 and the display panel 1741 are used as two independent components to realize the input and input functions of the terminal, but in some embodiments, the touch panel 1751 and the display panel 1741 can be integrated. Realize the input and output functions of the terminal.
输入单元1750可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。具体地,输入单元1750可包括触控面板1751以及其他输入设备 1752。触控面板1751,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1751上或在触控面板1751附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1751可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1770,并能接收处理器1770发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1751。除了触控面板1751,输入单元1750还可以包括其他输入设备1752。具体地,其他输入设备1752可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。The input unit 1750 can be used to receive input digital or character information, and generate key signal input related to user settings and function control of the terminal. Specifically, the input unit 1750 may include a touch panel 1751 and other input devices 1752. The touch panel 1751, also known as a touch screen, can collect user touch operations on or near it (for example, the user uses any suitable objects or accessories such as fingers, stylus, etc.) on the touch panel 1751 or near the touch panel 1751. Operation), and drive the corresponding connection device according to the preset program. Optionally, the touch panel 1751 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch position, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it To the processor 1770, and can receive and execute the commands sent by the processor 1770. In addition, the touch panel 1751 can be implemented in multiple types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1751, the input unit 1750 may also include other input devices 1752. Specifically, the other input device 1752 may include, but is not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackball, mouse, and joystick.
存储器1760可用于存储软件程序以及模块,处理器1770通过运行存储在存储器1760的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器1760可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1760可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The memory 1760 may be used to store software programs and modules. The processor 1770 executes various functional applications and data processing of the terminal by running the software programs and modules stored in the memory 1760. The memory 1760 may mainly include a program storage area and a data storage area. The program storage area may store an operating system, an application program required by at least one function (such as a sound playback function, an image playback function, etc.), etc.; Data (such as audio data, phone book, etc.) created by the use of the terminal, etc. In addition, the memory 1760 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
处理器1770是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1760内的软件程序和/或模块,以及调用存储在存储器1760内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器1770可包括一个或多个处理单元;优选的,处理器1770可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1770中。The processor 1770 is the control center of the terminal. It uses various interfaces and lines to connect various parts of the entire terminal. It executes by running or executing software programs and/or modules stored in the memory 1760, and calling data stored in the memory 1760. Various functions of the terminal and processing data, so as to monitor the terminal as a whole. Optionally, the processor 1770 may include one or more processing units; preferably, the processor 1770 may integrate an application processor and a modem processor, where the application processor mainly processes the operating system, user interface, application programs, etc. , The modem processor mainly deals with wireless communication. It can be understood that the foregoing modem processor may not be integrated into the processor 1770.
终端还包括给各个部件供电的电源1780(比如电池),优选的,电源可以通过电源管理系统与处理器1770逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。The terminal also includes a power supply 1780 (such as a battery) for supplying power to various components. Preferably, the power supply may be logically connected to the processor 1770 through a power management system, so that functions such as charging, discharging, and power management are realized through the power management system.
尽管未示出,可选的,终端可以包括音频电路,音频电路包括扬声器和传声器,可提供用户与终端之间的音频接口。Although not shown, optionally, the terminal may include an audio circuit, which includes a speaker and a microphone, and may provide an audio interface between the user and the terminal.
尽管未示出,可选的,终端可以包括无线保真(wireless fidelity,WiFi)模块,WiFi属于短距离无线传输技术,终端通过WiFi模块可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。Although not shown, optionally, the terminal can include a wireless fidelity (WiFi) module. WiFi is a short-distance wireless transmission technology. The terminal can help users send and receive emails, browse web pages, and access streaming media through the WiFi module. , It provides users with wireless broadband Internet access.
尽管未示出,可选的,终端还可以包括射频(radio frequency,RF)电路。Although not shown, optionally, the terminal may further include a radio frequency (RF) circuit.
尽管未示出,终端还可以包括蓝牙模块等,在此不再赘述。Although not shown, the terminal may also include a Bluetooth module, etc., which will not be repeated here.
尽管未示出,可选的,终端还可以包括GPS模块。Although not shown, optionally, the terminal may also include a GPS module.
尽管未示出,可选的,终端还可以包括至少一种传感器,例如磁力计、惯性测量单元陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。Although not shown, optionally, the terminal may also include at least one sensor, such as a magnetometer, an inertial measurement unit gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and other sensors, which will not be repeated here.
在本申请实施例中,该终端所包括的处理器1770还具有实现上述各数据处理方法的功能。In the embodiment of the present application, the processor 1770 included in the terminal also has the function of implementing the foregoing data processing methods.
请参阅图9,为本申请实施例中服务器的另一个实施例示意图;Please refer to FIG. 9, which is a schematic diagram of another embodiment of the server in the embodiment of this application;
本实施例提供的服务器可以是独立的计算机设备,也可以是虚拟机VM,虚拟机可以运行于一个计算机设备上,也可以位于多个计算机设备上。该虚拟机还可以是不依赖于独立的计算机设备,而是从资源池中划分出来的计算和传输资源。一个计算机设备上的不同处理器,或者多个计算机设备上的不同处理器,具体此处不做限定。The server provided in this embodiment may be an independent computer device or a virtual machine VM. The virtual machine may run on one computer device or be located on multiple computer devices. The virtual machine can also be a computing and transmission resource that does not depend on an independent computer device, but is divided from a resource pool. Different processors on one computer device or different processors on multiple computer devices are not specifically limited here.
该服务器1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1801和存储器1802,该存储器1802中存储有程序或数据。The server 1800 may have relatively large differences due to different configurations or performances, and may include one or more processors 1801 and a memory 1802, and the memory 1802 stores programs or data.
其中,存储器1802可以是易失性存储或非易失性存储。可选地,处理器1801是一个或多个中央处理器(central processing unit,CPU),该CPU可以是单核CPU,也可以是多核CPU。处理器1801可以与存储器1802通信,在服务器1800上执行存储器1802中的一系列指令。Among them, the memory 1802 may be volatile storage or non-volatile storage. Optionally, the processor 1801 is one or more central processing units (CPU), and the CPU may be a single-core CPU or a multi-core CPU. The processor 1801 may communicate with the memory 1802, and execute a series of instructions in the memory 1802 on the server 1800.
该服务器1800还包括一个或一个以上有线或无线网络接口1803,例如以太网接口。The server 1800 also includes one or more wired or wireless network interfaces 1803, such as an Ethernet interface.
可选地,尽管图9中未示出,服务器1800还可以包括一个或一个以上电源;一个或一个以上输入输出接口,输入输出接口可以用于连接显示器、鼠标、键盘、触摸屏设备或传感设备等,输入输出接口为可选部件,可以存在也可以不存在,此处不做限定。Optionally, although not shown in FIG. 9, the server 1800 may also include one or more power supplies; one or more input and output interfaces, which can be used to connect a display, a mouse, a keyboard, a touch screen device, or a sensor device Etc., the input/output interface is an optional component, which may or may not exist, and is not limited here.
本实施例中服务器1800中的处理器1801所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。For the process executed by the processor 1801 in the server 1800 in this embodiment, reference may be made to the method process described in the foregoing method embodiment, and details are not described herein.
请参阅图10,为本申请实施例中数据处理装置的一个实施例示意图;Please refer to FIG. 10, which is a schematic diagram of an embodiment of a data processing device in an embodiment of the application;
全景相机,设置有至少两个鱼眼镜头,或多个广角镜头,或多个普通镜头,具体此处不做限定。各镜头采集的图像经过拼接技术可以转换为全景图像,具体拼接方法不做限定。The panoramic camera is provided with at least two fisheye lenses, or multiple wide-angle lenses, or multiple ordinary lenses, which are not specifically limited here. The images collected by each lens can be converted into panoramic images through stitching technology, and the specific stitching method is not limited.
终端,包括手机、平板电脑或个人数字助理(personal digital assistant,PDA)等,具体此处不做限定。Terminals, including mobile phones, tablet computers, or personal digital assistants (personal digital assistants, PDAs), etc., are not specifically limited here.
终端硬件模块包括:处理器、存储器和通信接口。其中,通信接口用于与全景相机实现通信连接,包括各种形式的有线或无线连接,包括TypeC、蓝牙或wifi等,具体此处不做限定。存储器:用于存储数据和代码的存储介质。处理器:用于执行代码的处理器,比如ARM处理器。The terminal hardware module includes: processor, memory and communication interface. Among them, the communication interface is used to realize a communication connection with the panoramic camera, including various forms of wired or wireless connection, including TypeC, Bluetooth, or wifi, etc. The specifics are not limited here. Memory: A storage medium used to store data and codes. Processor: A processor used to execute code, such as an ARM processor.
终端软件模块包括:相机控制模块和相机预检测模块。相机控制模块:用于控制全景相机拍照,将图像从全景相机传输到手机。相机预检测算法与软件:本申请提出的算法与软件,用于对拍摄的图像进行质量检测,确定图像是否满足图像位姿计算要求。The terminal software module includes: a camera control module and a camera pre-detection module. Camera control module: used to control the panoramic camera to take pictures and transfer the image from the panoramic camera to the mobile phone. Camera pre-detection algorithm and software: The algorithm and software proposed in this application are used to perform quality detection on the captured image to determine whether the image meets the requirements for image pose calculation.
服务器,可以是独立的计算机设备,也可以是虚拟机VM,虚拟机可以运行于一个计算机设备上,也可以位于多个计算机设备上。该虚拟机还可以是不依赖于独立的计算机设备,而是从资源池中划分出来的计算和传输资源。一个计算机设备上的不同处理器,或者多个计算机设备上的不同处理器,具体此处不做限定。The server may be an independent computer device or a virtual machine VM. The virtual machine may run on one computer device or be located on multiple computer devices. The virtual machine can also be a computing and transmission resource that does not depend on an independent computer device, but is divided from a resource pool. Different processors on one computer device or different processors on multiple computer devices are not specifically limited here.
服务器硬件模块包括:处理器、存储器和通信接口。存储器可以是易失性存储或非易失性存储,该存储器中存储有程序或数据。The server hardware module includes: processor, memory and communication interface. The memory may be volatile storage or non-volatile storage, and programs or data are stored in the memory.
服务器运行的软件包括优化图像位姿计算模块、数据库和建模软件;优化图像位姿计算模块:本申请提出的改进算法,用于对图像位姿计算进行改进,提高位姿计算精度。数据用于存储图像、图像位姿参数、勘测数据及建模数据等。建模软件利用数据库中图像及其位姿信息进行场景建模,用于后续仿真,此外,虽然图中未示出,服务器还可以包括双目测距软 件,用于计算图像位姿,测量目标位置和尺寸等勘测信息。The software running on the server includes an optimized image pose calculation module, a database, and modeling software; an optimized image pose calculation module: the improved algorithm proposed in this application is used to improve the image pose calculation and improve the accuracy of the pose calculation. The data is used to store images, image pose parameters, survey data and modeling data, etc. The modeling software uses the image and its pose information in the database to model the scene for subsequent simulations. In addition, although not shown in the figure, the server can also include binocular ranging software to calculate the image pose and measure the target Survey information such as location and size.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and conciseness of the description, the specific working process of the above-described system, device, and unit can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device, and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined It can be integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Claims (36)

  1. 一种数据处理方法,其特征在于,包括:A data processing method, characterized in that it comprises:
    终端获取全景图像序列,所述全景图像序列包括以不同位姿对目标场景拍摄的多张全景图像,所述多张全景图像包括连续拍摄的第一全景图像和第二全景图像;The terminal acquires a panoramic image sequence, the panoramic image sequence includes a plurality of panoramic images shot on a target scene in different poses, and the plurality of panoramic images includes a first panoramic image and a second panoramic image that are continuously shot;
    在所述第二全景图像的重叠度大于或等于第一阈值的情况下,所述终端向服务器发送包括所述第一全景图像和所述第二全景图像的目标全景图像序列,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例,所述目标全景图像序列为所述多张全景图像的一部分,所述目标全景图像序列用于所述目标场景的三维重建。In the case that the degree of overlap of the second panoramic image is greater than or equal to the first threshold, the terminal sends a target panoramic image sequence including the first panoramic image and the second panoramic image to the server, and the second panoramic image The degree of overlap of the panoramic image is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image, the target panoramic image sequence is a part of the plurality of panoramic images, and The target panoramic image sequence is used for the three-dimensional reconstruction of the target scene.
  2. 根据权利要求1所述的方法,其特征在于,所述第二全景图像为在所述第一全景图像拍摄之后连续拍摄的图像。The method according to claim 1, wherein the second panoramic image is an image continuously captured after the first panoramic image is captured.
  3. 根据权利要求1或2所述的方法,其特征在于,所述目标全景图像序列中的特定标志物的数量大于或等于第二阈值,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物。The method according to claim 1 or 2, wherein the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are set in the target scene for Marker for image size calibration.
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述目标全景图像序列中还包括拍摄有特定标志物的第三全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物,所述方法还包括:The method according to any one of claims 1 to 3, wherein the target panoramic image sequence further includes a third panoramic image captured with a specific marker, and the specific marker is set on the target A marker used for image size calibration in the scene, and the method further includes:
    所述终端确定在所述第三全景图像中的特定标志物的位置范围;Determining, by the terminal, the position range of the specific marker in the third panoramic image;
    所述终端向所述服务器发送所述位置范围,所述位置范围用于确定在所述第三全景图像中所述特定标志物的位置。The terminal sends the location range to the server, where the location range is used to determine the location of the specific landmark in the third panoramic image.
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,The method according to any one of claims 1 to 4, characterized in that:
    所述目标全景图像序列的相机位姿的误差小于或等于第三阈值,所述目标全景图像序列的相机位姿根据所述目标全景图像序列的同名像点进行位姿恢复确定,所述同名像点为所述目标全景图像序列中重叠度满足第一预设条件的图像对的像点。The error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, the camera pose of the target panoramic image sequence is determined by performing the pose restoration according to the image points of the target panoramic image sequence with the same name. The point is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
  6. 根据权利要求5所述的方法,其特征在于,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。The method according to claim 5, wherein the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  7. 根据权利要求5或6所述的方法,其特征在于,The method according to claim 5 or 6, characterized in that:
    所述目标全景图像序列的相机位姿误差为,将目标场景中的物点根据所述目标全景图像序列的所述相机位姿投影至三维球面形成的点,与该物点在所述目标全景图像序列中的像点转换至所述三维球面形成的点之间的球面距离。The camera pose error of the target panoramic image sequence is a point formed by projecting an object point in the target scene onto a three-dimensional spherical surface according to the camera pose of the target panoramic image sequence, and the object point is in the target panoramic image sequence. The image points in the image sequence are converted to the spherical distance between the points formed by the three-dimensional spherical surface.
  8. 根据权利要求4至7中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 4 to 7, wherein the method further comprises:
    所述终端向所述服务器发送所述目标全景图像序列的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。The terminal sends the camera pose of the target panoramic image sequence to the server, where the camera pose is used to achieve three-dimensional reconstruction of the target scene.
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述目标全景图像序列还满足第二预设条件;The method according to any one of claims 1 to 8, wherein the target panoramic image sequence further satisfies a second preset condition;
    所述第二预设条件包括以下至少一种:The second preset condition includes at least one of the following:
    所述全景图像的模糊度满足预设的第三预设条件;以及,The blur degree of the panoramic image satisfies a preset third preset condition; and,
    所述全景图像的曝光度满足预设的第四预设条件;以及,The exposure of the panoramic image satisfies a preset fourth preset condition; and,
    所述全景图像的所述无效区域占比小于或等于第五阈值,所述无效区域包括拍摄到的所述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域。The proportion of the invalid area of the panoramic image is less than or equal to a fifth threshold, the invalid area includes an area outside the captured target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and Sky area.
  10. 一种数据处理方法,其特征在于,包括:A data processing method, characterized in that it comprises:
    服务器接收终端发送的全景图像序列,所述全景图像序列包括以不同位姿对目标场景依序拍摄的多张全景图像;The server receives a panoramic image sequence sent by the terminal, where the panoramic image sequence includes a plurality of panoramic images sequentially shot of the target scene in different poses;
    所述服务器根据所述全景图像序列的同名像点确定所述全景图像序列的相机位姿,以实现所述目标场景的三维重建,所述全景图像序列的相机位姿的误差小于或等于第一阈值。The server determines the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or equal to the first Threshold.
  11. 根据权利要求10所述的方法,其特征在于,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。The method according to claim 10, wherein the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method GMS.
  12. 根据权利要求10或11所述的方法,其特征在于,所述方法还包括:The method according to claim 10 or 11, wherein the method further comprises:
    所述服务器检测所述全景图像中的无效区域,所述无效区域包括拍摄到的所述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域;The server detects an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area;
    所述同名像点为所述全景图像中所述无效区域之外的像点。The image point with the same name is an image point outside the invalid area in the panoramic image.
  13. 根据权利要求10至12中任一项所述的方法,其特征在于,所述全景图像序列中包括拍摄有特定标志物的全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物;The method according to any one of claims 10 to 12, wherein the panoramic image sequence includes a panoramic image shot with a specific marker, and the specific marker is set in the target scene for Markers for image size calibration;
    所述服务器根据所述全景图像序列的同名像点确定所述全景图像序列的相机位姿包括:The server determining the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence with the same name includes:
    所述服务器根据所述同名像点和所述特定标志物的位置确定所述全景图像的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。The server determines the camera pose of the panoramic image according to the position of the image point with the same name and the specific landmark, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method according to claim 13, wherein the method further comprises:
    所述服务器接收来自所述终端的所述全景图像的特定标志物的位置范围;Receiving, by the server, the position range of the specific landmark of the panoramic image from the terminal;
    所述服务器从所述特定标志物的位置范围中确定所述特定标志物的位置。The server determines the location of the specific landmark from the location range of the specific landmark.
  15. 根据权利要求10至14中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 10 to 14, wherein the method further comprises:
    所述服务器接收来自所述终端的所述全景图像序列的第一相机位姿,所述第一相机位姿为所述终端确定的所述全景图像序列的相机位姿;The server receives a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the camera pose of the panoramic image sequence determined by the terminal;
    所述服务器根据所述第一相机位姿确定所述全景图像序列的第二相机位姿,所述第二相机位姿的精度高于所述第一相机位姿。The server determines the second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
  16. 根据权利要求10至15中任一项所述的方法,其特征在于,所述全景图像序列满足第一预设条件,The method according to any one of claims 10 to 15, wherein the panoramic image sequence satisfies a first preset condition,
    所述第一预设条件包括以下至少一个:The first preset condition includes at least one of the following:
    所述全景图像序列中的第二全景图像的重叠度大于或等于预设的第二阈值,所述第二全景图像为在第一全景图像拍摄之后连续拍摄得到,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例;以及,The degree of overlap of the second panoramic image in the panoramic image sequence is greater than or equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the overlap of the second panoramic image is Degree is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image; and,
    所述全景图像序列中的特定标志物的数量大于或等于预设的特定标志物标识数量阈值;以及,The number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and,
    所述全景图像的模糊度满足第二预设条件;以及,The blur degree of the panoramic image satisfies the second preset condition; and,
    所述全景图像的曝光度满足第三预设条件。The exposure of the panoramic image satisfies the third preset condition.
  17. 一种终端,其特征在于,包括:A terminal, characterized in that it comprises:
    获取模块,用于获取全景图像序列,所述全景图像序列包括以不同位姿对目标场景拍摄的多张全景图像,所述多张全景图像包括连续拍摄的第一全景图像和第二全景图像;An acquiring module, configured to acquire a panoramic image sequence, the panoramic image sequence including a plurality of panoramic images shot of a target scene in different poses, the plurality of panoramic images including a first panoramic image and a second panoramic image that are continuously shot;
    发送模块,用于在所述第二全景图像的重叠度大于或等于第一阈值的情况下,向服务器发送包括所述第一全景图像和所述第二全景图像的目标全景图像序列,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例,所述目标全景图像序列为所述多张全景图像的一部分,所述目标全景图像序列用于所述目标场景的三维重建。A sending module, configured to send a target panoramic image sequence including the first panoramic image and the second panoramic image to the server when the degree of overlap of the second panoramic image is greater than or equal to a first threshold, and The degree of overlap of the second panoramic image is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image, and the target panoramic image sequence is a part of the plurality of panoramic images, The target panoramic image sequence is used for three-dimensional reconstruction of the target scene.
  18. 根据权利要求17所述的终端,其特征在于,所述第二全景图像为在所述第一全景图像拍摄之后连续拍摄的图像。The terminal according to claim 17, wherein the second panoramic image is an image continuously captured after the first panoramic image is captured.
  19. 根据权利要求17或18所述的终端,其特征在于,所述目标全景图像序列中的特定标志物的数量大于或等于第二阈值,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物。The terminal according to claim 17 or 18, wherein the number of specific markers in the target panoramic image sequence is greater than or equal to a second threshold, and the specific markers are set in the target scene for Marker for image size calibration.
  20. 根据权利要求17至19中任一项所述的终端,其特征在于,所述目标全景图像序列中还包括拍摄有特定标志物的第三全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物,所述终端还包括:The terminal according to any one of claims 17 to 19, wherein the target panoramic image sequence further includes a third panoramic image shot with a specific marker, and the specific marker is set on the target A marker used for image size calibration in a scene, and the terminal further includes:
    确定模块,用于确定在所述第三全景图像中的特定标志物的位置范围;A determining module, configured to determine the location range of a specific marker in the third panoramic image;
    所述发送模块还用于,向所述服务器发送所述位置范围,所述位置范围用于确定在所述第三全景图像中所述特定标志物的位置。The sending module is further configured to send the location range to the server, where the location range is used to determine the location of the specific landmark in the third panoramic image.
  21. 根据权利要求17至20中任一项所述的终端,其特征在于,The terminal according to any one of claims 17 to 20, wherein:
    所述目标全景图像序列的相机位姿的误差小于或等于第三阈值,所述目标全景图像序列的相机位姿根据所述目标全景图像序列的同名像点进行位姿恢复确定,所述同名像点为所述目标全景图像序列中重叠度满足第一预设条件的图像对的像点。The error of the camera pose of the target panoramic image sequence is less than or equal to the third threshold, the camera pose of the target panoramic image sequence is determined by performing the pose restoration according to the image points of the target panoramic image sequence with the same name. The point is the image point of the image pair whose overlap degree meets the first preset condition in the target panoramic image sequence.
  22. 根据权利要求21所述的终端,其特征在于,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。The terminal according to claim 21, wherein the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method (GMS).
  23. 根据权利要求21或22所述的终端,其特征在于,所述目标全景图像序列的相机位姿误差为,将目标场景中的物点根据所述目标全景图像序列的所述相机位姿投影至三维球面形成的点,与该物点在所述目标全景图像序列中的像点转换至所述三维球面形成的点之间的球面距离。The terminal according to claim 21 or 22, wherein the camera pose error of the target panoramic image sequence is: projecting object points in the target scene to the camera pose according to the target panoramic image sequence The spherical distance between the point formed by the three-dimensional spherical surface and the image point of the object point in the target panoramic image sequence converted to the point formed by the three-dimensional spherical surface.
  24. 根据权利要求20至23中任一项所述的终端,其特征在于,所述发送模块还用于:The terminal according to any one of claims 20 to 23, wherein the sending module is further configured to:
    向所述服务器发送所述目标全景图像序列的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。Sending the camera pose of the target panoramic image sequence to the server, where the camera pose is used to achieve three-dimensional reconstruction of the target scene.
  25. 根据权利要求17至24中任一项所述的终端,其特征在于,所述目标全景图像序列还满足第二预设条件;The terminal according to any one of claims 17 to 24, wherein the target panoramic image sequence further satisfies a second preset condition;
    所述第二预设条件包括以下至少一种:The second preset condition includes at least one of the following:
    所述全景图像的模糊度满足预设的第三预设条件;以及,The blur degree of the panoramic image satisfies a preset third preset condition; and,
    所述全景图像的曝光度满足预设的第四预设条件;以及,The exposure of the panoramic image satisfies a preset fourth preset condition; and,
    所述全景图像的所述无效区域占比小于或等于第五阈值,所述无效区域包括拍摄到的所 述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域。The proportion of the invalid area of the panoramic image is less than or equal to a fifth threshold, the invalid area includes an area outside the captured target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and Sky area.
  26. 一种服务器,其特征在于,包括:A server, characterized in that it comprises:
    接收模块,用于接收终端发送的全景图像序列,所述全景图像序列包括以不同位姿对目标场景依序拍摄的多张全景图像;A receiving module, configured to receive a panoramic image sequence sent by a terminal, the panoramic image sequence including a plurality of panoramic images sequentially shot of a target scene in different poses;
    确定模块,用于根据所述全景图像序列的同名像点确定所述全景图像序列的相机位姿,以实现所述目标场景的三维重建,所述全景图像序列的相机位姿的误差小于或等于第一阈值。The determining module is configured to determine the camera pose of the panoramic image sequence according to the image points of the panoramic image sequence with the same name, so as to realize the three-dimensional reconstruction of the target scene, and the error of the camera pose of the panoramic image sequence is less than or equal to The first threshold.
  27. 根据权利要求26所述的服务器,其特征在于,所述同名像点为所述图像对投影至三维球面,由基于网格的运动统计法GMS获取。The server according to claim 26, wherein the image point with the same name is the image pair projected onto a three-dimensional spherical surface, and is obtained by a grid-based motion statistics method (GMS).
  28. 根据权利要求26或27所述的服务器,其特征在于,所述服务器还包括:The server according to claim 26 or 27, wherein the server further comprises:
    检测模块,用于检测所述全景图像中的无效区域,所述无效区域包括拍摄到的所述目标场景外的区域,所述无效区域包括以下至少一个:行人区域、道路车辆区域和天空区域;所述同名像点为所述全景图像中所述无效区域之外的像点。The detection module is configured to detect an invalid area in the panoramic image, the invalid area includes a captured area outside the target scene, and the invalid area includes at least one of the following: a pedestrian area, a road vehicle area, and a sky area; The image point with the same name is an image point outside the invalid area in the panoramic image.
  29. 根据权利要求26至28中任一项所述的服务器,其特征在于,所述全景图像序列中包括拍摄有特定标志物的全景图像,所述特定标志物为设置在所述目标场景中用于进行图像尺寸标定的标志物;The server according to any one of claims 26 to 28, wherein the panoramic image sequence includes a panoramic image shot with a specific marker, and the specific marker is set in the target scene for Markers for image size calibration;
    所述确定模块还用于,根据所述同名像点和所述特定标志物的位置确定所述全景图像的相机位姿,所述相机位姿用于实现所述目标场景的三维重建。The determining module is further configured to determine the camera pose of the panoramic image according to the position of the image point of the same name and the specific marker, and the camera pose is used to realize the three-dimensional reconstruction of the target scene.
  30. 根据权利要求29所述的服务器,其特征在于,The server according to claim 29, wherein:
    所述接收模块还用于,接收来自所述终端的所述全景图像的特定标志物的位置范围;The receiving module is further configured to receive the position range of the specific marker of the panoramic image from the terminal;
    所述确定模块还用于,从所述特定标志物的位置范围中确定所述特定标志物的位置。The determining module is also used to determine the position of the specific marker from the range of the position of the specific marker.
  31. 根据权利要求26至30中任一项所述的服务器,其特征在于,The server according to any one of claims 26 to 30, wherein:
    所述接收模块还用于,接收来自所述终端的所述全景图像序列的第一相机位姿,所述第一相机位姿为所述终端确定的所述全景图像序列的相机位姿;The receiving module is further configured to receive a first camera pose of the panoramic image sequence from the terminal, where the first camera pose is the camera pose of the panoramic image sequence determined by the terminal;
    所述确定模块还用于,根据所述第一相机位姿确定所述全景图像序列的第二相机位姿,所述第二相机位姿的精度高于所述第一相机位姿。The determining module is further configured to determine a second camera pose of the panoramic image sequence according to the first camera pose, and the accuracy of the second camera pose is higher than that of the first camera pose.
  32. 根据权利要求26至31中任一项所述的服务器,其特征在于,所述全景图像序列满足第一预设条件,The server according to any one of claims 26 to 31, wherein the panoramic image sequence satisfies a first preset condition,
    所述第一预设条件包括以下至少一个:The first preset condition includes at least one of the following:
    所述全景图像序列中的第二全景图像的重叠度大于或等于预设的第二阈值,所述第二全景图像为在第一全景图像拍摄之后连续拍摄得到,所述第二全景图像的重叠度为所述第二全景图像与所述第一全景图像的重叠区域占所述第二全景图像的比例;以及,The degree of overlap of the second panoramic image in the panoramic image sequence is greater than or equal to a preset second threshold, the second panoramic image is continuously captured after the first panoramic image is captured, and the overlap of the second panoramic image is Degree is the ratio of the overlapping area of the second panoramic image and the first panoramic image to the second panoramic image; and,
    所述全景图像序列中的特定标志物的数量大于或等于预设的特定标志物标识数量阈值;以及,The number of specific markers in the panoramic image sequence is greater than or equal to a preset threshold for the number of specific marker identifications; and,
    所述全景图像的模糊度满足第二预设条件;以及,The blur degree of the panoramic image satisfies the second preset condition; and,
    所述全景图像的曝光度满足第三预设条件;以及,The exposure of the panoramic image satisfies the third preset condition; and,
    所述全景图像序列的相机位姿的误差小于或等于第三阈值,所述全景图像序列的相机位姿根据所述全景图像序列的同名像点进行位姿恢复确定,所述同名像点为所述目标全景图像 序列中重叠度满足预设条件的图像对的像点。The error of the camera pose of the panoramic image sequence is less than or equal to the third threshold, and the camera pose of the panoramic image sequence is determined according to the same-name image points of the panoramic image sequence, and the same-name image points are all The image points of the image pair whose overlap degree meets the preset condition in the target panoramic image sequence.
  33. 一种终端,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求1至9中任一项所述的方法。A terminal, characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is used to call The program instructions execute the method according to any one of claims 1-9.
  34. 一种服务器,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求10至16中任一项所述的方法。A server, characterized by comprising a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is used to call The program instructions execute the method according to any one of claims 10 to 16.
  35. 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求1至16中任一项所述的方法。A computer program product containing instructions, which is characterized in that when it runs on a computer, the computer executes the method according to any one of claims 1 to 16.
  36. 一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至16中任一项所述的方法。A computer-readable storage medium, comprising instructions, characterized in that, when the instructions are run on a computer, the computer executes the method according to any one of claims 1 to 16.
PCT/CN2020/141440 2019-12-31 2020-12-30 Data processing method, terminal, and server WO2021136386A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911417063.6 2019-12-31
CN201911417063.6A CN113132717A (en) 2019-12-31 2019-12-31 Data processing method, terminal and server

Publications (1)

Publication Number Publication Date
WO2021136386A1 true WO2021136386A1 (en) 2021-07-08

Family

ID=76687125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/141440 WO2021136386A1 (en) 2019-12-31 2020-12-30 Data processing method, terminal, and server

Country Status (2)

Country Link
CN (1) CN113132717A (en)
WO (1) WO2021136386A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592960A (en) * 2021-08-18 2021-11-02 易思维(杭州)科技有限公司 Method for screening images with specific characteristics from multiple images
CN113989450A (en) * 2021-10-27 2022-01-28 北京百度网讯科技有限公司 Image processing method, image processing apparatus, electronic device, and medium
CN116843824A (en) * 2023-03-17 2023-10-03 瞰景科技发展(上海)有限公司 Real-time reconstruction method, device and system for three-dimensional model
CN117745216A (en) * 2023-12-18 2024-03-22 江苏省测绘研究所 Dynamic tracking method for natural resource element guarantee progress based on node time sequence panorama

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113724131A (en) * 2021-09-02 2021-11-30 北京有竹居网络技术有限公司 Information processing method and device and electronic equipment
CN116258812A (en) * 2021-12-10 2023-06-13 杭州海康威视数字技术股份有限公司 Object model building method and device, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142882A1 (en) * 2002-01-28 2003-07-31 Gabriel Beged-Dov Alignment of images for stitching
CN104539890A (en) * 2014-12-18 2015-04-22 苏州阔地网络科技有限公司 Target tracking method and system
CN105427369A (en) * 2015-11-25 2016-03-23 努比亚技术有限公司 Mobile terminal and method for generating three-dimensional image of mobile terminal
CN105809664A (en) * 2014-12-31 2016-07-27 北京三星通信技术研究有限公司 Method and device for generating three-dimensional image
CN106157241A (en) * 2015-04-22 2016-11-23 无锡天脉聚源传媒科技有限公司 A kind of method and device of Panorama Mosaic
CN106331685A (en) * 2016-11-03 2017-01-11 Tcl集团股份有限公司 Method and apparatus for acquiring 3D panoramic image

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872113B (en) * 2010-06-07 2014-03-19 中兴通讯股份有限公司 Method and device for shooting panoramic photo
US20130215239A1 (en) * 2012-02-21 2013-08-22 Sen Wang 3d scene model from video
CN106657910B (en) * 2016-12-22 2018-10-09 国网浙江省电力公司杭州供电公司 A kind of panoramic video monitoring method of electricity substation
CN107578373A (en) * 2017-05-27 2018-01-12 深圳先进技术研究院 Panorama Mosaic method, terminal device and computer-readable recording medium
CN109995985B (en) * 2017-12-29 2021-06-29 深圳市优必选科技有限公司 Panoramic image shooting method and device based on robot and robot
CN110321048B (en) * 2018-03-30 2022-11-01 阿里巴巴集团控股有限公司 Three-dimensional panoramic scene information processing and interacting method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142882A1 (en) * 2002-01-28 2003-07-31 Gabriel Beged-Dov Alignment of images for stitching
CN104539890A (en) * 2014-12-18 2015-04-22 苏州阔地网络科技有限公司 Target tracking method and system
CN105809664A (en) * 2014-12-31 2016-07-27 北京三星通信技术研究有限公司 Method and device for generating three-dimensional image
CN106157241A (en) * 2015-04-22 2016-11-23 无锡天脉聚源传媒科技有限公司 A kind of method and device of Panorama Mosaic
CN105427369A (en) * 2015-11-25 2016-03-23 努比亚技术有限公司 Mobile terminal and method for generating three-dimensional image of mobile terminal
CN106331685A (en) * 2016-11-03 2017-01-11 Tcl集团股份有限公司 Method and apparatus for acquiring 3D panoramic image

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592960A (en) * 2021-08-18 2021-11-02 易思维(杭州)科技有限公司 Method for screening images with specific characteristics from multiple images
CN113592960B (en) * 2021-08-18 2024-03-01 易思维(杭州)科技股份有限公司 Method for screening images containing specific features from multiple images
CN113989450A (en) * 2021-10-27 2022-01-28 北京百度网讯科技有限公司 Image processing method, image processing apparatus, electronic device, and medium
CN113989450B (en) * 2021-10-27 2023-09-26 北京百度网讯科技有限公司 Image processing method, device, electronic equipment and medium
CN116843824A (en) * 2023-03-17 2023-10-03 瞰景科技发展(上海)有限公司 Real-time reconstruction method, device and system for three-dimensional model
CN117745216A (en) * 2023-12-18 2024-03-22 江苏省测绘研究所 Dynamic tracking method for natural resource element guarantee progress based on node time sequence panorama

Also Published As

Publication number Publication date
CN113132717A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
WO2021136386A1 (en) Data processing method, terminal, and server
WO2020259248A1 (en) Depth information-based pose determination method and device, medium, and electronic apparatus
WO2021115071A1 (en) Three-dimensional reconstruction method and apparatus for monocular endoscope image, and terminal device
CN110427917B (en) Method and device for detecting key points
CN109978755B (en) Panoramic image synthesis method, device, equipment and storage medium
US7733404B2 (en) Fast imaging system calibration
US10915998B2 (en) Image processing method and device
JP2020509506A (en) Method, apparatus, device, and storage medium for determining camera posture information
US10645364B2 (en) Dynamic calibration of multi-camera systems using multiple multi-view image frames
WO2022095596A1 (en) Image alignment method, image alignment apparatus and terminal device
CN111127524A (en) Method, system and device for tracking trajectory and reconstructing three-dimensional image
CN111307039A (en) Object length identification method and device, terminal equipment and storage medium
WO2022160857A1 (en) Image processing method and apparatus, and computer-readable storage medium and electronic device
JP2016212784A (en) Image processing apparatus and image processing method
JPWO2016208404A1 (en) Information processing apparatus and method, and program
CN110120012B (en) Video stitching method for synchronous key frame extraction based on binocular camera
CN113838151B (en) Camera calibration method, device, equipment and medium
CN110163914B (en) Vision-based positioning
WO2022247126A1 (en) Visual localization method and apparatus, and device, medium and program
CN112073640B (en) Panoramic information acquisition pose acquisition method, device and system
US9135715B1 (en) Local feature cameras for structure from motion (SFM) problems with generalized cameras
JP2006113832A (en) Stereoscopic image processor and program
JP2015032256A (en) Image processing device and database construction device therefor
JP2014038566A (en) Image processor
CN113298871B (en) Map generation method, positioning method, system thereof, and computer-readable storage medium

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: 20910583

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20910583

Country of ref document: EP

Kind code of ref document: A1