CN113222905B - Opennsfm and thread.js-based structural damage information updating three-dimensional display method - Google Patents

Opennsfm and thread.js-based structural damage information updating three-dimensional display method Download PDF

Info

Publication number
CN113222905B
CN113222905B CN202110436230.2A CN202110436230A CN113222905B CN 113222905 B CN113222905 B CN 113222905B CN 202110436230 A CN202110436230 A CN 202110436230A CN 113222905 B CN113222905 B CN 113222905B
Authority
CN
China
Prior art keywords
point cloud
file
damage
picture
ply
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110436230.2A
Other languages
Chinese (zh)
Other versions
CN113222905A (en
Inventor
舒江鹏
周姝康
赵唯坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110436230.2A priority Critical patent/CN113222905B/en
Publication of CN113222905A publication Critical patent/CN113222905A/en
Application granted granted Critical
Publication of CN113222905B publication Critical patent/CN113222905B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30132Masonry; Concrete

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a three-dimensional display method for updating structural damage information based on opennsf and three.js, which comprises the following steps: shooting a picture of a target building, and performing three-dimensional reconstruction on the picture to obtain a building point cloud ply file; step two, shooting a component damage picture to be updated, and performing three-dimensional reconstruction on the picture to obtain a damage point cloud ply file; step three, converting the ply file into a json file, and compiling an html file for realizing a quick display function; step four, opening the html file in the step three by using a browser, and then importing the point cloud json file and the json file automatically generated by opennsf into the browser, so that the browser can display the building model and the structural damage; and fifthly, shooting the damage picture of the target building at irregular intervals, and repeating the third step and the fourth step to enable the browser to achieve structure damage updating three-dimensional display. The invention can display the three-dimensional space information and the time change condition of the damage. The method does not need manual modeling, and has the characteristics of low cost, high efficiency and less time consumption.

Description

Opennsfm and thread.js-based structural damage information updating three-dimensional display method
Technical Field
The invention relates to the field of structure monitoring and the field of computer front-end development, in particular to a structure damage information updating three-dimensional display method based on opennsf and three.
Background
Structural damage can affect the bearing capacity of the structure, endangering the property and life safety of people. However, if some structural damages can be found in time and the time information thereof can be known, the development trend can be presumed, and the buildings can be repaired and the service life thereof can be prolonged on the premise of guaranteeing the property and life safety of people. In life, structural damage may occur to many buildings due to the increase of the using time, but many old civil buildings do not have expensive instruments and equipment for updating the time information of the structural damage; in an earthquake, the buildings are likely to have structural damage, but some buildings may have utilization value or be temporarily used for other important purposes, so that the damage information is updated after each aftershock. At present, damage information updating mainly depends on a BIM technology, manual modeling is needed in the BIM technology, time and labor are consumed, and therefore the convenient and cheap structural damage updating and displaying method is more suitable for the large environment without building models of most old civil buildings in China. Aiming at the situation, the invention provides a method for updating three-dimensional display based on structural damage information of opennsfm and three. The method can facilitate the user to know the three-dimensional information of the structural damage and the time updating information through the browser, can greatly improve the speed of enabling the user to acquire the information, and has social significance and engineering significance. The three-dimensional display method for updating the structural damage has the characteristics of no need of manual modeling, no need of downloading any software and plug-in, low cost, convenience for user interaction, high efficiency and less time consumption.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a method for updating three-dimensional display based on structural damage information of opennsfm and three.
The purpose of the invention is realized by the following technical scheme: a three-dimensional display method based on opennsf and three.js structure damage information updating specifically comprises the following steps:
(1) selecting a target building with damage, and shooting pictures of the target building around the building in an all-around manner; finding out the position with damage on a building, wherein a plurality of pictures are required to be taken for each damage, and a clear picture capable of displaying the complete damage in the position is selected from the plurality of pictures to represent the damage, which is called as a representative picture;
(2) importing the picture obtained in the step (1) into an opensem library for three-dimensional reconstruction to obtain a dense point cloud ply format file of a target building and a redirection.shared.json file automatically generated by the opensem, performing down-sampling and denoising on the dense point cloud ply format file to obtain a building.ply file, segmenting the point cloud at the damaged part in the building.ply point cloud to obtain a damaged point cloud ply file and a target building integral point cloud file building _ new.ply with the damaged point cloud removed, wherein the number of the damaged point cloud files is the number of the damaged parts;
(3) converting the building _ new.ply file and the damage point cloud ply file obtained in the step (2) into a json format to obtain a point cloud json file;
(4) rewriting html files carried by opennsfm, and realizing three-dimensional rendering by using three.
(4.1) adding the input frame code of the point cloud json file obtained in the step (3) into an html file carried by opennsfm, so that a plurality of point cloud json files can be imported together and successfully displayed;
(4.2) compiling a picture switching button code with damage number in a body module of the html file, and associating the representative pictures in the step (1) with the buttons one by one to realize the function of only displaying the damaged pictures on a click button browser;
(4.3) compiling button codes for controlling whether the point clouds imported in the step (4.1) are displayed on a browser or not in a body module of the html file, wherein the number of the point cloud display buttons is equal to that of the point cloud files at the damage part, and the point cloud display buttons are named by shooting dates;
(4.4) setting initial parameters of a browser view angle in a script module of the html file according to the size of the model of the reconstructed target building;
(4.5) compiling codes in a script module of the html file to enable the representative pictures in the step (4.2) to be associated with the picture switching buttons, one representative picture is associated with one picture switching button, the picture switching button sequence is arranged according to the associated picture shooting time sequence, the picture switching button is clicked, and the function that only the damaged picture is displayed on the browser is achieved;
(4.6) compiling codes in a script module of the html file, associating the picture switching button in the step (4.2) with the point cloud display button in the step (4.3), and associating the point cloud display button with the point cloud file at the damaged part in the step (4.1) one by one to realize the function of clicking the picture switching button in the step (4.2) to control whether the point cloud display button appears; writing a code for clicking a point cloud display button to display the point cloud at the damage part on a browser and clicking the button again to make the point cloud disappear;
(5) opening the html file rewritten in the step (4) by using a browser, selecting a plurality of point cloud json files obtained in the step (3) and the connectivity.
(6) According to the actual project time updating requirement, pictures are shot at each damaged part at intervals, after the pictures are shot, the pictures at each damaged part are classified, the pictures at one damaged part are classified into one class, one class of pictures are led into opennsf to be subjected to three-dimensional reconstruction to obtain a new point cloud ply file, the obtained new point cloud ply file at the damaged part is subjected to point cloud registration with the building.ply file in the step (2), a damaged part new point cloud file with the position and size adjusted correctly is obtained, and the damaged part new point cloud ply file with the position and size adjusted correctly is respectively led into a code with the ply format converted into a json format in the step (3) to obtain a new point cloud json file;
(7) and (4) compiling buttons for controlling whether the new point clouds imported in the step (6) are displayed on a browser in a body module of the html file, wherein the number of the buttons is equal to the number of the new point cloud files at the damaged part, naming the new point cloud display buttons by using the shooting date in the step (6), and arranging each new point cloud display button behind the button in the step (4.3) according to time.
(8) Associating the new point cloud display button in the step (7) with the json file obtained in the step (6) one by one according to the damage position, writing and clicking the new point cloud display button in the step (7) to display the new point cloud at the damage position on a browser, and clicking the button again to make the point cloud disappear;
(9) repeating the steps (6) - (8) irregularly according to actual needs of the project, and obtaining a latest html file after repeating once;
(10) and (3) opening the latest html file after the rewriting in the step (9) by using a browser, and selecting all point cloud json files in the previous step and the connectivity.
Further, in step (4.2), all the picture switching buttons are displayed in the upper left corner of the webpage.
Further, in the step (4.3), a damaged picture style, a button style and a font style displayed on a browser are added in a style module of the html file, and point cloud display buttons are arranged up and down on the upper left corner of the webpage according to the shooting time sequence of the associated pictures.
Compared with the prior art, the invention has the following beneficial effects:
firstly, the method can realize automatic modeling of a computer only by two-dimensional pictures of a target building and cracks thereof, and a user can see a clear point cloud model of the target building;
secondly, the method can clearly display the damage information, the picture of the damage position and the camera position, and simultaneously, a user can browse the target building personally on the scene;
thirdly, the user can independently select and display the point cloud of a certain time point according to the requirement, so that the point cloud of the damaged part is updated and clearly displayed on a webpage;
fourthly, the file for realizing the functions can be operated only by one browser without downloading other software and plug-ins.
The invention can display the damaged three-dimensional space information and the time change condition, and has the characteristics of no need of manual modeling, low cost, convenient user interaction, high efficiency and less time consumption.
Drawings
Fig. 1 is a flowchart of a method for updating three-dimensional display of structural damage information based on opennsfm and three.js provided by the present invention;
FIG. 2 is a detailed flowchart of the step of rewriting and adding code to obtain a new html file in FIG. 1 according to the present invention;
fig. 3 is a general display interface of a browser provided by the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings.
As shown in fig. 1, a flow chart of the method for updating three-dimensional display based on structural damage information of opensfm and three.
(1) Selecting a target building with obvious damage, shooting clear pictures in all directions, heights and angles of the target building, simultaneously shooting damage pictures on the building, then manually selecting undistorted pictures and selecting pictures with obvious characteristic points, and removing pictures with excessive background impurities;
(2) putting the pictures obtained in the step (1) into the same folder, and renaming the pictures as images; editing conf.yaml files of openfms, and setting proper feature matching modes (AKAZE, SURF, SIFT, HAHOG and ORB feature matching modes), camera path related parameters, thread number and the like in the yaml files; then, the images folder and the set yaml file are put into a file, and an opennsf self-contained program is operated to obtain a dense point cloud file, which is referred to as "collection.ply" and a sparse point cloud data file, which is referred to as "recorded.json"; importing the merged.ply file into CloudCompare software, denoising and downsampling the merged.ply file to obtain a new building.ply, dividing the building.ply by CloudCompare to obtain each point cloud ply file at different damage positions and the whole building point cloud building _ new.ply file after damage is removed, and naming the point cloud ply files as damagei.ply, naming the first point cloud ply file as damage1.ply and naming the last point cloud ply file as damagen.ply according to the shooting sequence of the damage pictures;
wherein n represents the number of lesions, and i represents the sequence of the point cloud;
(3) writing a code for converting a ply format into a json format, importing the file in the building _ new.ply format obtained in the step (2) into the program to convert the file into the json format to obtain a dense point cloud file building _ new.json, importing the damagei.ply in the step (2) into the program to convert the file into the json format to obtain a json format file named as damagei.json;
(4) the html file can be opened in a browser, presents a web page form, rewrites the html file carried by opennsfm, and realizes three-dimensional rendering by using thread.
(4.1) adding point cloud json file input box codes in the html files, and naming the point cloud json file input box codes as a selection file;
(4.2) classifying the pictures of each injury, wherein the pictures of one injury are in one class, the classes are arranged according to the shooting time, one representative picture is selected from the class to represent the injury, and a plurality of button codes are written in a body module of an html file and named as damagei, and the page number of the button codes is shown in figure 3;
(4.3) compiling buttons for controlling whether the point clouds obtained in the step (4.1) are displayed on a browser or not in a body module of the html file, wherein the number of the buttons is equal to the number of the point cloud files at the damaged part, the point cloud display buttons are named by using shooting dates, and a damaged picture style, a button style and a font style displayed on the browser are added in a style module of the html file, wherein the buttons are arranged up and down in the upper left corner of the webpage according to the shooting time sequence of the associated pictures;
as shown in fig. 3, time1 indicates the shooting date;
(4.4) setting appropriate initial parameters of the view angle of the browser in a script module of the html file according to the size of the model of the reconstructed building;
(4.5) compiling codes in a script module of the html file to enable the representative pictures in the step (4.2) to be associated with the buttons, one representative picture is associated with one button, the button sequence is arranged according to the shooting time sequence of the associated pictures, and the function of only displaying the damaged picture on a click button browser is realized;
(4.6) compiling codes in a script module of the html file, associating the button in the step (4.2) with the point cloud display button in the step (4.3), and associating the point cloud display button with the point cloud file at the damaged part in the step (4.1) one by one to realize the function of clicking the button in the step (4.2) to control whether the point cloud display button appears; writing a code for clicking a point cloud display button to display the point cloud at the damage part on a browser and clicking the button again to make the point cloud disappear;
(5) opening the html file rewritten in the step (4) by using a browser, selecting a plurality of point cloud json files obtained in the step (3) and the connectivity.
(6) According to the actual project time updating requirement, pictures are shot at each damage position at intervals, after the pictures are shot, the pictures at each damage position are classified, the pictures at one damage position are classified into one class, the pictures of one class are led into the opennsf to be subjected to three-dimensional reconstruction to obtain a new point cloud ply file, the obtained new point cloud ply file at the damage position is subjected to point cloud registration with the building _ new.ply file in the step (2), the new point cloud file at the damage position with the correct position and size is obtained, the new point cloud ply file at the damage position is respectively led into the codes in the step (3) to obtain a point cloud json file, and the point cloud json file is named as damagei _ n.json;
wherein i represents the number of lesions and n represents the number of batches obtained;
(7) and (4) compiling buttons for controlling whether the point cloud obtained in the step (6) is displayed on a browser in a body module of the html file, wherein the number of the buttons is equal to the number of the new point cloud files at the damage part, naming the point cloud display buttons by using the shooting dates in the step (6), and arranging each new button behind the button in the step (4.3) respectively as shown in the figure 3, and time2 represents the buttons.
(8) Associating the new button in the step (7) with the json file obtained in the step (6) one by one according to the damage position, writing a code for clicking the point cloud display button in the step (7) to display the new point cloud at the damage position on a browser, and clicking the button again to disappear the point cloud;
(9) repeating the steps (6) - (8) irregularly according to actual needs of the project, and obtaining a latest html file after repeating once;
(10) and (3) opening the html file rewritten in the step (9) by using a browser, selecting all point cloud json files in the previous step and recording in the step (2) to import, so as to realize multi-batch damage three-dimensional display, wherein the final interface is shown in fig. 3, the image in the upper left corner of fig. 3 represents a representative picture in the step (4.2), the buttons in the steps (4.2) and (4.5) are represented by dam 1 to dam, the model represents a three-dimensional display model of all point clouds, the button in the step (4.3) is represented by time1, and the buttons in the step (7) are represented by time2 to time ei. Therefore, the method for updating the three-dimensional display based on the structural damage information of opensfm and three.
Examples
Comparing the method of the invention with the method in the prior art, the invention has the following beneficial effects: firstly, the method can realize automatic modeling of a computer only by two-dimensional pictures of a target building and cracks thereof, and a user can see a clear point cloud model of the target building; secondly, the method can clearly display the damage information, the picture of the damage position and the camera position, and simultaneously, a user can browse the target building personally on the scene; thirdly, the user can independently select and display the point cloud of a certain time point according to the requirement, so that the point cloud of the damaged part is updated and clearly displayed on a webpage; fourthly, the file for realizing the functions can be operated only by one browser without downloading other software and plug-ins. The invention only takes 4 and a half hours for shooting, modeling and code modification of the first batch, and the time spent in the later batch is less, thereby greatly improving the time efficiency. The invention can display the damaged three-dimensional space information and the time change condition, and has the characteristics of no need of manual modeling, low cost, convenient user interaction, high efficiency and less time consumption.
(1) Selecting a crescent moon building in a Hongkong school zone of Zhejiang university, and selecting an MRTK300 model of Dajiang as a shooting tool; clear pictures are shot in multiple directions, heights and angles of a target building, and the overlapping rate of more than 70% between adjacent pictures is ensured; cracks which do not influence the bearing capacity of the structure exist on the cement board on the front side of the crescent building, and 10 obvious cracks are selected for shooting from far to near; manually selecting undistorted pictures and selecting pictures with obvious characteristic points, removing the pictures with excessive background impurities and high overlapping rate, and finally obtaining 360 effective pictures;
(2) putting the pictures obtained in the step (1) into the same folder, and renaming the pictures as images; editing a config. yaml file of an opennsfm self-contained file, and setting a HAHOG feature matching mode, a feature processing size of 1024, a thread number of 8 and the like in the yaml file; then, the images folder and the set yaml file are put into a file, and an opennsf self-contained program is operated to obtain a dense point cloud file, which is referred to as "collection.ply" and a sparse point cloud data file, which is referred to as "recorded.json"; importing the merged.ply file into CloudCompare software, denoising and downsampling the merged.ply file to obtain building.ply, dividing the merged.ply by CloudCompare to obtain each point cloud ply file of ten damage positions and a whole building point cloud file building _ new.ply for removing the point cloud of the damage positions, naming the first point cloud ply file as damage1.ply and the last point cloud ply file as damage10.ply according to the shooting sequence of the damage images;
(3) writing a code for converting a ply format into a json format, importing the building-format file obtained in the step (2) into the program to convert the building-format file into the json format to obtain building _ new.json, importing the damage point cloud ply file obtained in the step (2) into the program to convert the damage point cloud into the json format, wherein the first is named as damage1.json, and the last is named as damage10. json;
(4) the html file can be opened in a browser, a webpage form is presented, the html file carried by opennsfm is rewritten, and three-dimensional rendering is realized by using thread.
(4.1) adding point cloud json file input box codes in the html files, and naming the point cloud json file input box codes as a selection file;
(4.2) classifying the pictures of each injury, wherein the pictures of one injury are in one class, the classes are arranged according to the shooting time, one representative picture is selected from the class to represent the injury, and a plurality of button codes are written in a body module of an html file and named as damage 1-damage 10;
(4.3) compiling buttons for controlling whether the point clouds obtained in the step (4.1) are displayed on the browser or not in a body module of the html file, wherein the number of the buttons is 10, the point cloud display buttons are named by the shooting date of 2020, 10, month and 1, and a damage picture style, a button style and a font style displayed on the browser are added in a style module of the html file, wherein the buttons are arranged up and down in the upper left corner of the webpage according to the shooting time sequence of the associated pictures;
(4.4) setting appropriate initial parameters of a browser view angle in a script module of the html file according to the size of a model of a reconstructed building, wherein the x, y and z coordinate positions of the browser camera are 15;
(4.5) compiling codes in a script module of the html file to enable the representative pictures in the step (4.2) to be associated with the buttons, one representative picture is associated with one button, the button sequence is arranged according to the shooting time sequence of the associated pictures, and the function of only displaying the damaged picture on a click button browser is realized;
(4.6) compiling codes in a script module of the html file, associating the button in the step (4.2) with the point cloud display button in the step (4.3), and associating the point cloud display button with the point cloud file at the damaged part in the step (4.1) one by one to realize the function of clicking the button in the step (4.2) to control whether the point cloud display button appears; writing a code for clicking a point cloud display button to display the point cloud at the damage part on a browser and clicking the button again to make the point cloud disappear;
(5) opening the html file rewritten in the step (4) by using a browser, selecting 11 point cloud json files obtained in the step (3) and the connectivity.shared.json in the step (2) for importing, wherein 10 point cloud files are damage point cloud files, and 1 point cloud file building _ new.json of the integral building of the crescent building, so that the first damage three-dimensional display is realized;
(6) in the scheme, one day is selected as the time interval, and the time interval is selected according to the requirement in the actual project. Shooting pictures at 10 damaged parts, classifying the pictures at the 10 damaged parts after shooting, leading the pictures at one damaged part into one class, leading the pictures of one class into openfms to carry out three-dimensional reconstruction to obtain a new point cloud ply file, carrying out point cloud registration on the obtained new point cloud ply file at the damaged part and the building _ new.ply file in the step (2) to obtain a new point cloud file at the damaged part after the position and the size are adjusted correctly, and leading the new point cloud ply file at the damaged part into the code in the step (3) respectively to obtain a point cloud json file which is named as damagei _ n.json;
where i represents the number of lesions and n represents the number of batches;
(7) compiling buttons for controlling whether the point clouds obtained in the step (6) are displayed on a browser or not in a body module of the html file, wherein the number of the buttons is 10, naming the point cloud display buttons by using the shooting date of 2020, 10, month and 2 days in the step (6), and arranging each new button behind the button in the step (4.3);
(8) associating the new button in the step (7) with the json file obtained in the step (6) one by one according to the damage position, writing and clicking the point cloud display button in the step (7) to display the new point cloud at the damage position on a browser, and clicking the button again to make the point cloud disappear;
(9) repeating the steps (6) - (8) every other day, repeating the steps for two times in total to obtain a latest html file, wherein the time interval and the repetition times in the actual project are selected according to requirements;
(10) and (3) opening the html file rewritten in the step (9) by using a browser, selecting all point cloud json files in the previous step and recording.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (3)

1. A three-dimensional display method for updating structural damage information based on opennsf and three.js is characterized by comprising the following steps:
(1) selecting a target building with damage, and shooting pictures of the target building around the building in an all-around manner; finding out the position with damage on a building, wherein a plurality of pictures are required to be taken for each damage, and a clear picture capable of displaying the complete damage in the position is selected from the plurality of pictures to represent the damage, which is called as a representative picture;
(2) importing the picture obtained in the step (1) into an openstm library for three-dimensional reconstruction to obtain a dense point cloud ply format file of a target building and a reconstruction.shared.json file automatically generated by the openstm, performing down-sampling and denoising on the dense point cloud ply format file to obtain a building.ply file, segmenting the point cloud at the damaged part in the building.ply point cloud to obtain a damaged point cloud ply file and a target building integral point cloud file building _ new.ply with the point cloud at the damaged part removed, wherein the quantity of the damaged point cloud file is the quantity of the damaged part;
(3) converting the building _ new.ply file and the damage point cloud ply file obtained in the step (2) into a json format to obtain a point cloud json file;
(4) rewriting html files carried by opennsfm, and realizing three-dimensional rendering by using three.
(4.1) adding the input frame code of the point cloud json file obtained in the step (3) into an html file carried by opennsfm, so that a plurality of point cloud json files can be imported together and successfully displayed;
(4.2) compiling a damaged number of button codes for switching pictures in a body module of the html file;
(4.3) compiling button codes for controlling whether the point clouds imported in the step (4.1) are displayed on a browser or not in a body module of the html file, wherein the number of the point cloud display buttons is equal to that of the point cloud files at the damage part, and the point cloud display buttons are named by shooting dates;
(4.4) setting initial parameters of a browser view angle in a script module of the html file according to the size of the model of the reconstructed target building;
(4.5) compiling codes in a script module of the html file to enable the representative pictures in the step (4.2) to be associated with the picture switching buttons, one representative picture is associated with one picture switching button, the picture switching button sequence is arranged according to the associated picture shooting time sequence, the picture switching button is clicked, and the function that only the damaged picture is displayed on the browser is achieved;
(4.6) compiling codes in a script module of the html file, associating the picture switching button in the step (4.2) with the point cloud display button in the step (4.3), and associating the point cloud display button with the point cloud file at the damaged part in the step (4.1) one by one to realize the function of clicking the picture switching button in the step (4.2) to control whether the point cloud display button appears; writing a code for clicking a point cloud display button to display the point cloud at the damage part on a browser and clicking the button again to make the point cloud disappear;
(5) opening the html file rewritten in the step (4) by using a browser, selecting a plurality of point cloud json files obtained in the step (3) and the connectivity.
(6) According to the actual project time updating requirement, pictures are shot at each damage position at intervals, after shooting is finished, the pictures at each damage position are classified, one picture at each damage position is one type, one type of picture is led into opensem to be subjected to three-dimensional reconstruction to obtain a new point cloud ply file, the obtained new point cloud ply file at each damage position is subjected to point cloud registration with the building.ply file in the step (2) to obtain a new point cloud file at each damage position with the correct position size, and the new point cloud ply file at each damage position with the correct position size is led into the code with the changed ply format into the json format in the step (3) to obtain a new point cloud json file;
(7) compiling buttons for controlling whether the new point clouds imported in the step (6) are displayed on a browser or not in a body module of the html file, wherein the number of the buttons is equal to the number of the new point cloud files at the damaged part, naming the new point cloud display buttons by using the shooting date in the step (6), and arranging each new point cloud display button behind the button in the step (4.3) according to time;
(8) associating the new point cloud display button in the step (7) with the json file obtained in the step (6) one by one according to the damage position, writing and clicking the new point cloud display button in the step (7) to display the new point cloud at the damage position on a browser, and clicking the button again to make the point cloud disappear;
(9) repeating the steps (6) - (8) irregularly according to actual needs of the project, and obtaining a latest html file after repeating once;
(10) and (3) opening the latest html file after the rewriting in the step (9) by using a browser, and selecting all point cloud json files in the previous step and the connectivity.
2. The method for updating the three-dimensional display based on the structural damage information of opennsfm and three.js as claimed in claim 1, wherein in the step (4.2), all the buttons for switching pictures are displayed in the upper left corner of the web page.
3. The method for updating the three-dimensional display based on the structural damage information of openstm and three.js as claimed in claim 1, wherein in the step (4.3), a damage picture style, a button style and a font style displayed on a browser are added to a style module of the html file, and the point cloud display buttons are arranged up and down in the left upper corner of the webpage according to the associated picture shooting time sequence.
CN202110436230.2A 2021-04-22 2021-04-22 Opennsfm and thread.js-based structural damage information updating three-dimensional display method Active CN113222905B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110436230.2A CN113222905B (en) 2021-04-22 2021-04-22 Opennsfm and thread.js-based structural damage information updating three-dimensional display method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110436230.2A CN113222905B (en) 2021-04-22 2021-04-22 Opennsfm and thread.js-based structural damage information updating three-dimensional display method

Publications (2)

Publication Number Publication Date
CN113222905A CN113222905A (en) 2021-08-06
CN113222905B true CN113222905B (en) 2022-05-13

Family

ID=77088624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110436230.2A Active CN113222905B (en) 2021-04-22 2021-04-22 Opennsfm and thread.js-based structural damage information updating three-dimensional display method

Country Status (1)

Country Link
CN (1) CN113222905B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476882A (en) * 2020-03-26 2020-07-31 哈尔滨工业大学 Browser-oriented robot virtual graphic modeling method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200402307A1 (en) * 2019-06-21 2020-12-24 Ashish Tanwer System and method for camera based cloth fitting and recommendation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476882A (en) * 2020-03-26 2020-07-31 哈尔滨工业大学 Browser-oriented robot virtual graphic modeling method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
古建筑病害系统的设计与实现;危双丰等;《工程勘察》;20170301(第03期);全文 *
图像三维重建法在震损建筑实体建模中的应用研究;霍林生等;《世界地震工程》;20170615(第02期);全文 *
基于HTML5和WebGL的三维点云可视化方法;叶梦轩等;《工程勘察》;20170101(第01期);全文 *

Also Published As

Publication number Publication date
CN113222905A (en) 2021-08-06

Similar Documents

Publication Publication Date Title
US9311756B2 (en) Image group processing and visualization
CN113538708B (en) Method for displaying and interacting three-dimensional BIM model in two-dimensional view
CN111881238A (en) Lightweight three-dimensional data construction method and medium suitable for Web end and electronic device
CN106611438B (en) Local area updating and map cutting method and device of three-dimensional simulation map
CN111524231B (en) Virtual terrain processing method and device, electronic equipment and storage medium
KR20030073424A (en) A rendering system, rendering method, and recording medium therefor
CN111199577A (en) Virtual house decoration method
CN108958611B (en) Information editing method and device
Nan Easy3D: a lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
US11625900B2 (en) Broker for instancing
CN112632303A (en) Distributed storage method, analysis method and device for image data
Adorjan Opensfm: A collaborative structure-from-motion system
CN113222905B (en) Opennsfm and thread.js-based structural damage information updating three-dimensional display method
CN111773710A (en) Texture image processing method and device, electronic equipment and storage medium
CN104766154B (en) The system and method that snapshot image based on BIM is applied to intelligent engineering management
CN106998489A (en) A kind of focus is crossed the border searching method and device
Ye The application of artificial intelligence technologies in digital humanities: Applying to Dunhuang culture inheritance, development, and innovation
EP4097607B1 (en) Applying non-destructive edits to nested instances for efficient rendering
US20220206676A1 (en) Modifying drawing characteristics of digital raster images utilizing stroke properties
Miles et al. Crowd-sourced digitisation of cultural heritage assets
CN113222906B (en) Openfm and thread.js-based rapid crack position positioning and displaying method
CN109872280A (en) A kind of denoising of three-dimensional plant blade point cloud and simplified method, apparatus and system
CN103645899B (en) Method for integrating design data in CAD (computer aided design) into ERP (enterprise resource planning) system
US20240161320A1 (en) Generating adaptive three-dimensional meshes of two-dimensional images
Visvalingam Teragons for testing implementations of point reduction algorithms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant