WO2023015508A1 - 甲形提取系统及其方法、存储介质、指甲贴及其制造系统 - Google Patents

甲形提取系统及其方法、存储介质、指甲贴及其制造系统 Download PDF

Info

Publication number
WO2023015508A1
WO2023015508A1 PCT/CN2021/112160 CN2021112160W WO2023015508A1 WO 2023015508 A1 WO2023015508 A1 WO 2023015508A1 CN 2021112160 W CN2021112160 W CN 2021112160W WO 2023015508 A1 WO2023015508 A1 WO 2023015508A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
point
act
action
nail
Prior art date
Application number
PCT/CN2021/112160
Other languages
English (en)
French (fr)
Inventor
邓经镖
Original Assignee
上海慧姿化妆品有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海慧姿化妆品有限公司 filed Critical 上海慧姿化妆品有限公司
Priority to US18/553,677 priority Critical patent/US20240202946A1/en
Priority to PCT/CN2021/112160 priority patent/WO2023015508A1/zh
Publication of WO2023015508A1 publication Critical patent/WO2023015508A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D29/00Manicuring or pedicuring implements
    • A45D29/001Self adhesive nail coating blanks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/69Microscopic objects, e.g. biological cells or cellular parts
    • G06V20/695Preprocessing, e.g. image segmentation
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D29/00Manicuring or pedicuring implements
    • 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

Definitions

  • the present application relates to the field of personalized nail stickers, and more specifically, to a nail shape extraction system and method thereof, a storage medium, a nail sticker and a manufacturing system thereof.
  • nail stickers In recent years, with people's pursuit of the beauty of nails, a simple nail art product called nail stickers has appeared in the market. As a preformed patch, nail stickers can be directly pasted on the nails with an adhesive layer. Compared with traditional nail polish for manicure, nail stickers have the advantages of simple operation, low price, and can be used anytime and anywhere, and gradually gain more and more popularity. It is favored by many fashion lovers.
  • the shape of nail stickers is generally fixed at the factory, and for the beauty of the product, its outer contour generally has a perfect edge curvature in a flat state.
  • the fixed and perfect edge radian does not fit the actual contour of the user's nails, and cannot fully adapt to the shapes of different users' nails.
  • the nail stickers attached to the user's nails often have the problem of incomplete attachment or overflow.
  • the current method to solve this problem is mainly to use image recognition to extract the user's nail outline.
  • the invention patent application with the Chinese publication number CN109770520A discloses a printing method of a nail art device.
  • the camera The device shoots or takes photos of the user's fingers, and the control module judges the position, shape and size of the nails according to the video or photos taken by the camera device of the user's fingers, and recognizes the outline of the nails.
  • the data extracted by the printing method of the nail art device is 2D data of a two-dimensional image, which also does not completely fit with the curved 3D nail shape, so that the extracted nail outline does not match the real outline of the nail. combine.
  • the present application provides a point cloud-based nail shape extraction system, including a cyclic processing device for processing the point cloud, and the cyclic processing device includes:
  • the point cloud acquisition module is configured to be able to acquire point cloud data, and convert the acquired point cloud data into a form output of point cloud list ⁇ R act ⁇ ;
  • the point cloud processing module is connected with the point cloud acquisition module, and the point cloud processing module is configured to be able to perform cyclic actions on the points in the point cloud list ⁇ R act ⁇ output by the point cloud acquisition module, and obtain a new pointcloud list ⁇ R act ' ⁇ ;
  • the point cloud processing module includes:
  • the push-in unit is connected with the point cloud acquisition module, and the push-in unit is configured to be able to obtain the point cloud list ⁇ R act ⁇ output by the point cloud acquisition module, and the points in the point cloud list ⁇ R act ⁇ Push all of them into an empty pending action point list ⁇ A act ⁇ ;
  • the selection unit is connected to the push-in unit, and the selection unit is configured to be able to select a point from the list ⁇ A act ⁇ to be acted as the current action point P act , and to search for the current action point P act under the set condition All neighbors of ⁇ N act ⁇ ;
  • the action unit is connected with the selection unit, and the action unit is configured to be able to select an adjacent point N act (i) that matches the action among the adjacent points ⁇ N act ⁇ and perform classification to select a growth action or a flattening action, and then The neighbor point N act (i) of the action is pushed into the point cloud list ⁇ R act ⁇ and the list of points to be acted ⁇ A act ⁇ ;
  • a cycle unit connected to the selection unit, the action unit and the rejection unit, the cycle unit is configured to promote the cycle action of the selection unit, the action unit and the rejection unit until the to-be-action
  • the point list ⁇ A act ⁇ is empty, get a new point cloud list ⁇ R act ' ⁇ .
  • the action unit for the non-acted point in the neighboring point ⁇ N act ⁇ , calculate the normal vector angle ⁇ i between each neighboring point N act (i) and the current action point P act , mark the adjacent point N act (i) of the adjacent point ⁇ N act ⁇ with the normal vector angle ⁇ i of the current action point P act that is less than or equal to the angle threshold ⁇ thres as the point where the action can continue, otherwise it is marked as the point where the action cannot continue point;
  • the area with the largest range in the area containing the most action points and/or continuous action points is the suitable action range ⁇ R c ⁇ , and then the continuous action points within the appropriate action range ⁇ R c ⁇ are pushed into the point Cloud list ⁇ R act ⁇ and pending action point list ⁇ A act ⁇ .
  • the current action point P act is used as the center point, and the space around the current action point P act is equally divided into n areas, and the different types of adjacent points N in each area are compared
  • the number of act (i) select the candidate area to be actioned, and then determine the candidate area to be actioned with the largest angle as the appropriate action range ⁇ R c ⁇ around the current action point P act ;
  • each adjacent point N act (i) is flattened to fall into the set plane, and then the expanded Each adjacent point N act (i) after flattening is pushed into the point cloud list ⁇ R act ⁇ and the list of action points ⁇ A act ⁇ , and is used as the new current action point P act ' for the next flattening;
  • the set plane is parallel to the plane formed by the point cloud representing the outline in the point cloud to be flattened.
  • the neighboring points ⁇ N act ⁇ in the current action point P act are flattened in a way of equal arc length or in a way of projection.
  • the first selected current action point P act falls within the setting plane.
  • the selected adjacent points ⁇ N act ⁇ are all points within the set search radius R rs with the current action point P act as the center;
  • the selected adjacent points ⁇ N act ⁇ are the set number N points with the closest relative distance to the current action point P act .
  • the point cloud-based nail shape extraction system also includes:
  • the point cloud correction device is connected with the loop processing device, and the point cloud correction device is configured to convert the posture and position of the point cloud to a preset posture and position, and deliver the converted point cloud to the The above-mentioned recycling treatment device;
  • the preset posture and position means that the centroid of the point cloud coincides with the coordinate origin of the coordinate system in the point cloud library, the front of the nail in the point cloud points to the positive direction of the x-axis in the coordinate system, and the left side of the nail points to the coordinate system The positive direction of the y-axis and the back of the nail point to the negative direction of the z-axis in the coordinate system.
  • the point cloud-based nail shape extraction system also includes:
  • An edge processing device is connected to the loop processing device, and the edge processing device is configured to perform edge processing on the point cloud data delivered by the loop processing device, so as to smooth the edges.
  • the present application also provides a point cloud-based nail shape extraction method, which is used to implement the point cloud-based nail shape extraction system in any of the aforementioned technical solutions.
  • the point cloud-based nail shape extraction method includes a cyclic processing step for processing the point cloud, and the cyclic processing step includes:
  • Step S1 Use the point cloud acquisition module to obtain point cloud data, and convert the obtained point cloud data into a point cloud list ⁇ R act ⁇ for output;
  • Step S2 Create an empty waiting point list ⁇ A act ⁇ , use the point cloud processing module to perform cyclic actions on the points in the point cloud list ⁇ R act ⁇ output by the point cloud acquisition module, and obtain a new point cloud list ⁇ R act ' ⁇ ;
  • step S2 include;
  • Step S21 Use the push unit to obtain the point cloud list ⁇ R act ⁇ output by the point cloud acquisition module, and press all the points in the point cloud list ⁇ R act ⁇ into the empty waiting point list ⁇ A act ⁇ ;
  • Step S22 Use the selection unit to select a point from the list of action points ⁇ A act ⁇ as the current action point P act , and search for all neighboring points ⁇ N act ⁇ of the current action point P act under the set conditions;
  • Step S23 Use the action unit to select the neighboring points N act (i) that match the action among all the neighboring points ⁇ N act ⁇ , and classify and select the growth action or flattening action, and then select the neighboring points that match the action and the non-acted points N act (i) is all pressed into the point cloud list ⁇ R act ⁇ and the list of action points ⁇ A act ⁇ ;
  • Step S24 Use the elimination unit to mark the current action point P act as an acted point, and remove the acted point from the list of pending action points ⁇ A act ⁇ ;
  • Step S25 Select a point from the remaining action point list ⁇ A act ⁇ as the new current action point P act ', repeat steps S22-S24 using the loop unit until the point cloud in the action point list ⁇ A act ⁇ is empty , to get a new list of point clouds ⁇ R act ' ⁇ .
  • the present application also provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the method described in claim 11 is implemented. step.
  • the present application also provides a manufacturing system of personalized nail stickers, the manufacturing system of the personalized nail stickers includes sequentially connected nail extraction subsystems, the point-based Cloud's nail shape extraction system, parameter generation subsystem and product processing subsystem;
  • the nail shape extraction subsystem is configured to extract the 3D shape of the user's finger including the nail, then measure the 3D shape data of the finger, and transmit the measurement result to the nail shape extraction system;
  • the point cloud-based nail shape extraction system is configured to convert the 3D shape data of the finger output by the nail shape extraction subsystem into a 3D point cloud form, extract the nail point cloud of the curved surface, and convert the nail point cloud of the curved surface into a 3D point cloud form. Unfold the nail point cloud into a plane, extract the nail point cloud representing the outline therein and transmit it to the parameter generation subsystem in the form of 2D shape data;
  • the parameter generation subsystem is configured to combine the 2D shape data of the planar nail outline output by the point cloud-based nail shape extraction system with the personalized nail sticker parameters selected by the customer to calculate and generate the 2D personalized nail sticker. digital model, and after converting the generated 2D digital model into processing parameters, the processing parameters are transmitted to the product processing subsystem;
  • the product processing subsystem is configured to process the material to be processed into personalized nail stickers according to the processing parameters output by the parameter generation subsystem.
  • the present application also provides a nail sticker, which is a personalized nail sticker made by using the aforementioned personalized nail sticker manufacturing system.
  • This application selects and judges all adjacent points around the current action point under the set conditions by adding judgment conditions, selects the adjacent points that meet the action, and then performs actions on the adjacent points that meet the action, which can reduce the point cloud. While processing the sensitivity of the angle threshold in the action, it can achieve precise and effective processing of the action, avoid excessive or insufficient action, and the extracted and flattened nail contour shape can better fit the nail contour of the target finger.
  • This application operates on the adjacent points that match the action selected after the judgment, and does not perform repeated actions on the points that have already been moved, which also helps to reduce the number of cycles and increase the running speed.
  • This application continuously selects and acts on the points in the action list, and then presses the corresponding points into the point cloud list and the waiting list, and repeats the above selection-action-pressing steps continuously, so that The new point cloud list obtained after the cycle is more accurate, and the process steps and difficulty are simplified, further reducing the number of cycles and increasing the running speed.
  • the adjacent points are radiated to the surface to expand the adjacent points to the set plane where the current action point is located.
  • the plane surface of the flattened nail plane point cloud and the nail surface point The error of the curved surface of the cloud is reduced, and the acquired plane point cloud of the nail in the plane state is more in line with the surface of the target nail.
  • FIG. 1 is a schematic structural diagram of a point cloud-based nail shape extraction system in Embodiment 1 of the present application;
  • FIG. 2 is a schematic flow diagram of a point cloud-based nail shape extraction system in Embodiment 1 of the present application;
  • Fig. 3 is a schematic structural view of the circulation processing device in Embodiment 1 of the present application.
  • Fig. 4 is a schematic flow chart of the cyclic processing steps in Embodiment 1 of the present application.
  • FIG. 5 is a schematic structural view of the split growth device in Embodiment 2 of the present application.
  • FIG. 6 is a schematic flow diagram of the point cloud extraction step in the second embodiment of the present application.
  • FIG. 7 is a schematic diagram of the current action point and its neighbors within the search radius in Embodiment 2 of the present application.
  • Fig. 7a is a schematic diagram of obtaining a suitable growth range in the first mode in the second embodiment of the present application.
  • Fig. 7b is a schematic diagram of obtaining a suitable growth range in the second mode in the second embodiment of the present application.
  • Figure 7c is a schematic diagram of obtaining a suitable growth range in the third mode in the second embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a point cloud flattening device in Embodiment 3 of the present application.
  • FIG. 9 is a schematic flow diagram of the point cloud flattening step in Embodiment 3 of the present application.
  • Fig. 10 is a schematic structural diagram of a manufacturing system for personalized nail stickers in Embodiment 4 of the present application.
  • FIG. 11 is a schematic structural view of a personalized nail sticker in Embodiment 4 of the present application.
  • serial numbers of the processes do not mean the order of execution, and the execution order of the processes should be determined by their functions and internal logic, rather than by the implementation of the present application.
  • the implementation process constitutes any limitation.
  • Embodiment 1 of the present application provides a point cloud-based nail shape extraction system, which is used to extract a planar shape that fits a curved nail surface, and customize a nail sticker that fits the user's nail shape. Specifically, referring to Fig.
  • the point cloud-based nail shape extraction system includes a data acquisition device for collecting and obtaining the 3D data Data Finger of the user's finger, and is used to convert the finger 3D data Data Finger point cloud into a finger point cloud Cloud
  • the point cloud flattening device of the cloud nail surface point cloud Cloud Nail-p , the data acquisition device, the data conversion device, the segmentation growth device and the point cloud flattening device are connected in sequence.
  • the first embodiment of the present application also provides a point cloud-based nail shape extraction method, including the following steps:
  • Data acquisition step use the data acquisition device to scan the target finger in 3D to obtain the finger 3D data Data Finger of the target finger, the finger 3D data Data Finger at least includes the nail 3D data Data Nail of all nails;
  • Data conversion step use the data conversion device to convert the finger 3D data Data Finger into 3D point cloud data, and obtain the finger point cloud Cloud Finger , which at least includes the nail surface point cloud Cloud Nail-s of all nails;
  • Point cloud extraction step use the segmentation growth device to segment the finger point cloud Cloud Finger , and obtain the nail surface point cloud Cloud Nail-s ;
  • Point cloud flattening step use the point cloud flattening device to flatten the surface area of the nail surface point cloud Cloud Nail-s to obtain the nail plane point cloud Cloud Nail-p in a planar state.
  • the data acquisition device may be a laser radar, a depth camera, or a 3D scanner, a structured light camera, a binocular camera, etc. mainly made of a laser radar or a depth camera.
  • the laser radar can use the triangular ranging principle, the TOF ranging principle, etc. to scan the target finger in 3D
  • the depth camera can use the structured light ranging principle, binocular vision ranging 3D scanning of the target finger based on the principle and TOF ranging principle can quickly and accurately obtain the 3D data Data Finger of the finger.
  • 3D scanning ranging principles listed above such as triangulation ranging principles, TOF ranging principles, structured light ranging principles, binocular vision ranging principles, etc., are all existing technologies and are widely used in daily life , and its principle will not be repeated here.
  • the data conversion device receives the finger 3D data Data Finger collected and sent by the data acquisition device, and then converts the finger 3D data Data Finger into a 3D point cloud data format, thereby obtaining finger Point Cloud Cloud Finger .
  • the data conversion device is to convert the format of the finger 3D data Data Finger into a data format supported by point cloud libraries such as PCL data, such as pcd, ply and other formats. Which format is specifically selected depends on the data collected. The data format collected by the device, the data format supported by the subsequent segmentation and growth device and the point cloud flattening device are determined.
  • the finger 3D data Data Finger includes at least the nail 3D data Data Nail of the nail and the skin 3D data Data Skin of the skin around the nail, so the format of the finger 3D data Data Finger is converted into data supported by point cloud libraries such as pcd format
  • the formatted finger point cloud Cloud Finger at least includes the nail surface point cloud Cloud Nail-s of the nail with uneven surface and curved curvature and the skin point cloud Cloud Skin of the skin around the nail.
  • the data acquisition device can also serve as a data conversion device, and directly convert the collected fingers into 3D
  • the data format of Data Finger is converted into pcd format, so as to obtain Cloud Finger .
  • the point cloud extraction step and/or the action of the point cloud in the point cloud extraction step has added a judgment condition, that is, the point cloud is extracted and/or Or in the flattening action of the nail surface point cloud Cloud Nail-s , first select a current action point P act and all surrounding adjacent points ⁇ N act ⁇ , and then determine that all adjacent points ⁇ N act ⁇ meet the action conditions Neighboring points N act (i) of the current action point P act, and then perform corresponding actions on these adjacent points N act (i) that match the action, which can increase the accuracy of the action on the neighboring points ⁇ N act ⁇ around the current action point P act , and avoid excessive actions or Insufficient movement can also reduce the number of cycles and increase the speed of operation.
  • the segmentation growth device and/or the point cloud flattening device are all a loop processing device, and the loop processing device includes a point cloud acquisition module and a point cloud processing module , the point cloud processing module has an initially empty list of points to be acted ⁇ A act ⁇ , and the subsequent processing of the point cloud will be carried out in conjunction with the list of points to be acted on ⁇ A act ⁇ .
  • the point cloud acquisition module is used to obtain the point cloud data in the previous step, and present it in the form of point cloud list ⁇ R act ⁇ , and then deliver the point cloud list ⁇ R act ⁇ to the point cloud processing module, the point cloud processing module Then receive the point cloud list ⁇ R act ⁇ delivered by the point cloud acquisition module, and then the point cloud processing module divides and grows the finger point cloud Cloud Finger to extract the nail surface point cloud Cloud Nail-s , or the nail surface point cloud Cloud Nail-s is flattened to obtain the nail plane point cloud Cloud Nail-p .
  • the point cloud processing module in the loop processing device has multiple units, including a push-in unit, a selection unit, an action unit, a rejection unit and a loop unit.
  • the input end of the push-in unit is connected with the output end of the point cloud acquisition module
  • the output end of the push-in unit is connected with the selection unit
  • the selection unit, the action unit, the rejection unit and the circulation unit are connected in a loop
  • the output end of the circulation unit is also connected with
  • the input terminals of the device are connected in the next step.
  • the input end of the push-in unit is connected to the output end of the point cloud acquisition module to obtain the point cloud list ⁇ R act ⁇ output from the point cloud acquisition module, and all the points in the point cloud list ⁇ R act ⁇ Push it into the empty waiting point list ⁇ A act ⁇ , and the point cloud list ⁇ R act ⁇ at this time is empty.
  • the input terminal of the selection unit is connected with the output terminal of the push unit, which is used to select a point from the list of pending action points ⁇ A act ⁇ output by the push unit as the current action point P act , and find the current action point P act in the setting All neighbors ⁇ N act ⁇ under certain conditions.
  • the input end of the action unit is connected to the output end of the selection unit, which is used to select the neighbor point N act (i) that matches the action among all the adjacent points ⁇ N act ⁇ output by the selection unit, and classify and select the growth action or flattening action, Then push the matching neighbor point N act (i) into the point cloud list ⁇ R act ⁇ and the waiting point list ⁇ A act ⁇ .
  • the input end of the elimination unit is connected to the output end of the action unit, and is used to mark the previous action point P act output by the action unit as an acted point, and remove the acted point from the pending action point list ⁇ A act ⁇ .
  • the input end and output end of the cycle unit are respectively connected with the output end of the elimination unit and the input end of the selection unit to form a cycle action for promoting the selection unit, action unit and elimination unit, forming a selection unit-action unit-elimination unit-cycle Unit - select the loop connection structure of the unit until the point cloud in the point list ⁇ A act ⁇ to be acted is empty, and obtain a new point cloud list ⁇ R act ' ⁇ .
  • the point cloud extraction step and/or the point cloud extraction are a cyclic processing step, and the specific steps of the cyclic processing step are as follows:
  • Step S1 Use the point cloud acquisition module to obtain the point cloud data output in the previous step, and convert the obtained point cloud data into a point cloud list ⁇ R act ⁇ for output;
  • Step S2 Create an empty waiting point list ⁇ A act ⁇ , use the point cloud processing module to obtain the point cloud list ⁇ R act ⁇ output by the point cloud acquisition module, and then loop through the points in the point cloud list ⁇ R act ⁇ action, and get a new list of point clouds ⁇ R act ' ⁇ .
  • step S2 Concrete steps in step S2 include;
  • Step S21 Use the push-in unit to obtain the point cloud list ⁇ R act ⁇ output by the acquisition module, and press all the points in the point cloud list ⁇ R act ⁇ into the point list ⁇ A act ⁇ to be acted, the point cloud list ⁇ R act ⁇ is empty;
  • Step S22 Use the selection unit to select a point from the list of action points ⁇ A act ⁇ as the current action point P act , and search for all neighboring points ⁇ N act ⁇ of the current action point P act under the set conditions;
  • Step S23 Use the action unit to select the neighboring points N act (i) that match the action among all the neighboring points ⁇ N act ⁇ , and classify and select the growth action or flattening action, and then select the neighboring points that match the action and the non-acted points N act (i) is all pressed into the point cloud list ⁇ R act ⁇ and the list of action points ⁇ A act ⁇ ;
  • Step S24 Use the elimination unit to mark the current action point P act as an acted point, and remove the acted point from the list of pending action points ⁇ A act ⁇ ;
  • Step S25 Select a point from the remaining pending action point list ⁇ A act ⁇ as the new current action point P act ', repeat steps S22-S24 by using the loop unit until the pending action point list ⁇ A act ⁇ is empty, and obtain a new List of point clouds of ⁇ R act ' ⁇ .
  • the point cloud-based nail shape extraction system and extraction method in the first embodiment by adding judgment conditions, select all adjacent points ⁇ N around the current action point P act under the set conditions act ⁇ and make a judgment. According to the judgment result, the neighbor point N act (i) that meets the set conditions can be accurately acted on, which can reduce the sensitivity of the action such as the angle threshold ⁇ thres while achieving accurate and effective action and avoid excessive action. Or if the action is insufficient, it can also avoid repeating the action on the action point, reduce the number of cycles, and increase the running speed.
  • the points in the list of to-be-action points ⁇ A act ⁇ can be randomly selected as the points to be acted on, and in some embodiments, the points in the list of to-be-acted points ⁇ A act ⁇ can also be selected regularly. act ⁇ as the point to be acted on.
  • step S22 of the present application when the current action point P act is selected by the selection unit, what is selected is the frontmost point in the list of action points ⁇ A act ⁇ , and the highest point in the list of action points ⁇ A act ⁇ is The front point refers to the first point in the point cloud set ⁇ A 1 , A 2 , A 3 . . . ⁇ , that is, A 1 .
  • the steps of selecting the current action point P act can be simplified, the selection method can be optimized, the calculation steps can be reduced, and the operation speed can be increased.
  • step S22 when using the selection unit to select all adjacent points ⁇ N act ⁇ around the current action point P act under the set conditions, two methods are generally used.
  • One is to use the current action point P act as the center of the circle to search for Set all points within the range of the search radius R rs as all neighboring points ⁇ N act ⁇ , one is to use the current point as the origin, and search for the set number N points with the closest relative distance to the current action point P act .
  • select the value of the search radius R rs or the set number N so as to achieve accurate action on the neighboring points N act (i) that meet the action conditions around the current action point P act with a small number of cycles .
  • the average value between all points in the list ⁇ A act ⁇ to be acted is calculated first distance Then choose a set search radius R rs for this average distance 1.1-3 times of , more preferably, the set search radius R rs is the average distance 1.5-2 times.
  • the set number N is 4-30, more preferably, the set number is 10 -15.
  • kd-tree or Octree can be used to implement.
  • k-d tree or k-dimensional tree
  • k-dimensional tree is a tree data structure that stores instance points in k-dimensional space for fast retrieval. It is mainly used in the search of key data in multidimensional space, such as range search and nearest neighbor search.
  • Octree is a tree-like data structure used to describe three-dimensional space.
  • Each node of the octree represents a volume element of a cube, and each node has eight sub-nodes. The eight sub-nodes represent The volume elements add up to equal the volume of the parent node.
  • Octree uses the binary search method to find neighboring points ⁇ N act ⁇ .
  • the point cloud-based nail shape extraction system also includes a point cloud correction device, and the point cloud correction device is arranged in the data conversion device and the segmentation growth device Before extracting the point cloud Cloud Nail-s of the nail surface, it is possible to receive the point cloud Cloud Finger delivered by the data conversion device, and convert the pose and position of the point cloud Cloud Finger , and convert the point cloud Cloud Finger After the posture and position of the Finger are converted to the preset posture and position, the converted output finger point cloud Cloud Finger' is sent to the point cloud acquisition module. In this way, correcting the position of the corrected point cloud Cloud Finger before segmenting the point cloud facilitates processing and calculation of the corrected output cloud Finger' , simplifies the processing flow, and improves the operating speed.
  • the point cloud-based nail shape extraction method provided in Embodiment 1 also has the following functions between the data conversion step and the point cloud extraction step:
  • the point cloud correction device is used to convert the posture and position of the cloud Finger , so that the posture and position of the output cloud Finger are converted to the preset posture and position.
  • the preset posture and position mentioned here means that the centroid of the converted output finger cloud Cloud Finger coincides with the coordinate origin of the coordinate system in the point cloud library, and the front end of the finger points to x in the coordinate system.
  • the positive direction of the axis, the left side of the finger width points to the positive direction of the y-axis in the coordinate system, and the back of the finger points to the negative direction of the z-axis in the coordinate system.
  • the front end of the finger refers to the end of the finger that is closer to the growth end of the nail, and the direction that the front end of the finger points to is the growth direction of the nail;
  • the left side of the width of the finger refers to looking toward the growth direction of the nail.
  • Left side; the back of the finger refers to the side of the finger that has the nail, and the direction that the back of the finger points to is the direction in which the pad of the finger faces the nail.
  • the method of point cloud correction device to correct point cloud posture and position is flexible and changeable, which can be realized by using rotation matrix, quaternion or Euler angle, etc.
  • the point cloud correction device can also be set between the segmentation growth device and the point cloud flattening device, and can receive the segmentation The nail surface point cloud Cloud Nail-s delivered by the growing device, and the posture and position of the nail surface point cloud Cloud Nail-s are converted to the preset posture and position.
  • the point cloud-based nail shape extraction system also includes an edge processing device, a loop processing device, that is, an input terminal of the edge processing device and a segmentation growth device and/or Or the output terminal connection of the point cloud flattening device.
  • the edge processing device is configured to perform edge processing on the nail surface point cloud Cloud Nail-s output by the segmentation growth device and/or the nail plane point cloud Cloud Nail-p output by the point cloud flattening device to make the edge smooth.
  • the point cloud-based nail shape extraction method provided in the first embodiment has the following functions after the point cloud flattening step:
  • the edge processing step utilizes the edge processing device to extract the input contour point cloud Cloud Contour-i representing the contour in the nail plane point cloud Cloud Nail-p output by the point cloud flattening device, and performs curve fitting on the extracted input contour point cloud, Get a smooth output contour point cloud Cloud Contour-o .
  • a smooth nail curve can be obtained.
  • the nail curve conforms to the outline of the nail edge, it also helps to eliminate points that obviously do not match cloud, or repair the point cloud that failed to grow, while improving the accuracy of nail contour extraction, it can also improve the aesthetics of the nail contour drawn based on it, which in turn is conducive to improving the production of it into a nail sticker model and based on it. The fit and aesthetics of nail stickers.
  • the input terminal of the edge processing device may also be connected to the output terminal of the dividing and growing device.
  • the edge processing device is configured to perform edge processing on the nail surface point cloud Cloud Nail-s output by the segmentation growth device to make the edge smooth.
  • edge processing device uses the edge processing device to extract the input contour point cloud Cloud Contour-i representing the contour in the nail surface point cloud Cloud Nail-s output by the segmentation growth device, and perform curve fitting on the extracted input contour point cloud to obtain smooth output contour points Cloud Cloud Contour-o .
  • the point cloud-based nail shape extraction method provided by the first embodiment has the aforementioned edge processing steps after the point cloud extraction step and the point cloud flattening step, respectively.
  • the obtained nail surface point cloud Cloud Nail-s and the input contour point cloud Cloud Contour-i representing the contour in the nail plane point cloud Cloud Nail- p perform curve fitting to obtain a smooth output contour point cloud Cloud Contour-o .
  • the extraction of the nail contour can be further improved, the aesthetics of the nail contour obtained by drawing it can also be improved, which in turn helps to improve the fitting degree and aesthetics of the nail sticker produced by making it into a nail sticker model. sex.
  • the smooth contour also facilitates the production and cutting of nail stickers, reducing the difficulty of production.
  • Embodiment 1 of the present application also provides a computer-readable storage medium, in which computer program instructions are stored, and when the computer program instructions are executed by a processor The steps in the point cloud-based nail shape extraction method provided in Embodiment 1 of the present application are realized.
  • Embodiment 2 of the present application provides a point cloud-based nail shape extraction system.
  • the point cloud-based nail shape extraction system is based on the design and implementation of the point cloud-based nail shape extraction system in Embodiment 1.
  • the actual The process or structure is similar to it but there are differences, and the following description will focus on the differences. Unless a detailed description is given for the differences, they can be regarded as the same as those in the first embodiment and will not be described again.
  • the segmentation growth device in the nail shape extraction system includes a point cloud acquisition module and a point cloud extraction module connected to each other, and the point cloud acquisition module is connected with the data conversion device for obtaining The finger point cloud Cloud Finger of the finger point cloud Cloud Finger is transformed into the form of growing point cloud list ⁇ R g ⁇ .
  • the point cloud extraction module receives the growth point cloud list ⁇ R g ⁇ sent by the point cloud acquisition module and creates an empty list of points to be grown ⁇ A g ⁇ , and then performs the segmentation and growth action of the point cloud to extract the nail surface points Cloud Nail-s .
  • the point cloud extraction module includes a push unit, a selection unit, a growth action unit, a culling unit and a loop unit.
  • the input end of the push-in unit is connected to the output end of the point cloud acquisition module
  • the output end of the push-in unit is connected to the selection unit
  • the selection unit, the growth action unit, the rejection unit and the circulation unit are connected in a loop
  • the output end of the circulation unit is also Connect to the input of the device in the point cloud flattening step.
  • Step S1 Use the point cloud acquisition module to obtain the finger point cloud Cloud Finger output by the data conversion device in the data conversion step, and convert it into a growth point cloud list ⁇ R g ⁇ for output;
  • Step S2 Create an empty list of points to be grown ⁇ A g ⁇ , use the point cloud extraction module to obtain the growing point cloud list ⁇ R g ⁇ in the point cloud acquisition module, and perform The following actions, and get a new growth point cloud list ⁇ R g ' ⁇ :
  • Step S21 Use the push unit to obtain the growing point cloud list ⁇ R g ⁇ output by the point cloud acquisition module, and press all the points in the growing point cloud list ⁇ R g ⁇ into the point list ⁇ A g ⁇ to be grown, and grow point cloud list ⁇ R g ⁇ is empty;
  • Step S22 Use the selection unit to select a point from the list of points to be grown ⁇ A g ⁇ as the current growing point P g , and find all neighboring points ⁇ N g ⁇ of the current growing point P g under the set conditions;
  • Step S23 Use the growing action unit to select the neighboring point N g (i) that matches the action among the neighboring points ⁇ N g ⁇ , and classify and select the growing action, and then select the neighboring point N g ( i) Press into the growth point cloud list ⁇ R g ⁇ and the list of points to be grown ⁇ A g ⁇ ;
  • Step S24 Use the elimination unit to mark the current growing point P g as a grown point, and remove the grown point from the list of points to be grown ⁇ A g ⁇ ;
  • Step S25 Select a point from the remaining list of points to be grown ⁇ A g ⁇ as the new current growth point P g ', and repeat steps S22-S24 by using the cycle unit until the list of points to be grown ⁇ A g ⁇ is empty, and obtain a new The growth point cloud list ⁇ R g ' ⁇ representing the nail surface point cloud Cloud Nail-s .
  • the specific operation steps of the above-mentioned step S23 are: in the growing action unit, for all the non-grown points among the neighboring points ⁇ N g ⁇ , calculate the relationship between each neighboring point N g (i) and the current growing point P g Normal vector angle ⁇ i , mark the adjacent point N g (i) whose normal vector angle ⁇ i between the adjacent point ⁇ N g ⁇ and the current growth point P g is less than or equal to the angle threshold ⁇ thres as a point that can continue to grow, Mark the neighboring point N g (i ) whose normal vector angle ⁇ i between the neighboring point ⁇ N g ⁇ and the current growth point P g is greater than the angle threshold ⁇ thres as a non-continuous growth point.
  • the value of the angle threshold ⁇ thres is set to be large, it will lead to excessive growth of the nail point cloud, and the extracted nail surface point cloud Cloud Nail-s is too large. If the value of the angle threshold ⁇ thres is reduced, it is easy to cause the nail point cloud The growth of the nails fails, the extracted nail surface point cloud Cloud Nail-s is too small, and it will increase the number of cycles and reduce the calculation speed.
  • the point cloud-based nail shape extraction system and method provided in the second embodiment can accurately extract the cloud nail surface point cloud Cloud Nail-s in the finger point cloud Cloud Finger , by increasing the growth judgment Conditions, can reduce the sensitivity of the angle threshold ⁇ thres , reduce the overgrowth or growth failure of the point cloud, so as to obtain more accurate calculation segmentation results.
  • the growth judging condition added in the second embodiment no action is performed on the growth point, which can also reduce the number of cycle calculations, shorten the running time, and increase the running speed.
  • N g (i) is marked as continuing growth point, otherwise it is marked as a non-growth point
  • step S23 take the current growth point Pg as the center point, divide the space around the current growth point Pg into n regions, compare the number of different types of adjacent points in each region, and select The candidate area to be grown, and then the candidate area to be grown with the largest angle is determined as the appropriate growth range ⁇ R c ⁇ around the current growth point P g .
  • the value n here is in the range of 4-30, preferably 10-15.
  • the space around the current growth point P g is equally divided into 12 regions as an example, and an example calculation is performed.
  • the search radius R rs is All neighboring points ⁇ N g ⁇ within the range, and divide the search range into 12 fan-shaped areas with the current growth point P g as the center.
  • the obtained current growth point P g and all its neighbors ⁇ N g ⁇ under the set conditions are shown in Figure 7, " ⁇ " in the figure indicates the point that has grown, and "*" indicates the point that can continue to grow. Indicates a point where growth cannot continue.
  • different methods may be used to select the largest candidate region to be grown within the range of the region.
  • the area with more sustainable growth points is divided into the sustainable growth area, and the area without point cloud and the area with more non-growable points are divided into non-growable areas Regions, which divide regions with more growing points into grown regions, and integrate adjacent sustainable growth regions and/or grown regions into candidate regions to be grown. Compare non-adjacent candidate regions to be grown, and select the candidate region to be grown with the largest angle as the appropriate growth range ⁇ R c ⁇ around the current growing point Pg .
  • the area where the sum of the number of points that can continue to grow and the number of points that have already grown is not less than the number of points that cannot grow is divided into an area that can continue to grow, otherwise, the area without points
  • the area of the cloud and the area where the sum of the number of points that can continue to operate and the number of points that have been operated is less than the number of points that cannot be operated is divided into non-growable areas, and the adjacent areas that can continue to grow are integrated as candidate areas to be grown. Compare non-adjacent candidate regions to be grown, and select the candidate region to be grown with the largest angle as the appropriate growth range ⁇ R c ⁇ around the current growing point Pg .
  • the regions with only sustainable growth points and/or grown points are divided into sustainable growth regions, and the regions without point clouds and regions containing non-growable points The regions are divided into non-growable regions, and the adjacent sustainable growth regions are integrated as candidate regions to be grown. Compare non-adjacent candidate regions to be grown, and select the candidate region to be grown with the largest angle as the appropriate growth range ⁇ R c ⁇ around the current growing point Pg .
  • Embodiment 3 of the present application provides a point cloud-based nail shape extraction system.
  • the point cloud-based nail shape extraction system is based on the design and implementation of the point cloud-based nail shape extraction system in Embodiment 1 or 2. Its actual process or structure is similar to but different from it. The following will focus on the description of the differences. If the differences are not explained in detail, they can be considered to be the same as those in Embodiments 1 and 2 and will not be repeated.
  • the point cloud flattening device in the nail shape extraction system includes a point cloud acquisition module and a point cloud flattening module connected to each other, and the point cloud acquisition module is connected with the segmentation growing device for obtaining segmentation
  • the nail surface point cloud Cloud Nail-s delivered by the growth device, and the nail surface point cloud Cloud Nail-s is converted into the form of the flattened point cloud list ⁇ R e ⁇ .
  • the point cloud flattening module receives the flattened point cloud list ⁇ R e ⁇ sent by the point cloud acquisition module and creates an empty point list ⁇ A e ⁇ to be flattened, and then performs the point cloud flattening action, and the nail surface point
  • the equal area of cloud Cloud Nail-s is expanded into nail plane point cloud Cloud Nail-p .
  • the point cloud flattening module includes a push unit, a selection unit, a flatten action unit, a culling unit and a loop unit.
  • the input end of the push-in unit is connected to the output end of the point cloud acquisition module
  • the output end of the push-in unit is connected to the selection unit
  • the selection unit, the flattening action unit, the elimination unit and the circulation unit are connected in a loop
  • the output end of the circulation unit Also connected to the input of the device in the point cloud flattening step.
  • Step S1 Use the point cloud acquisition module to obtain the nail surface point cloud Cloud Nail-s output by the segmented growth device in the point cloud extraction step, and convert it into a flattened point cloud list ⁇ R e ⁇ for output;
  • Step S2 Create an empty point list ⁇ A e ⁇ to be flattened, use the point cloud flattening module to perform the following actions on the points in the flattened point cloud list ⁇ R e ⁇ output by the point cloud acquisition module, and obtain a new flattened point Flat point cloud list ⁇ R e ' ⁇ :
  • Step S21 Use the push unit to obtain the flattened point cloud list ⁇ R e ⁇ output by the point cloud acquisition module, and press all the points in the flattened point cloud list ⁇ R e ⁇ into the empty point list ⁇ In A e ⁇ , the flattened point cloud list ⁇ R e ⁇ is empty;
  • Step S22 Use the selection unit to select a point from the list of points to be flattened ⁇ A e ⁇ as the current flattened point P e , and find all neighboring points ⁇ N e ⁇ of the current flattened point P e under the set conditions;
  • Step S23 Use the flattening action unit to select the neighboring point N e (i) that matches the action among the non-flattened points in the neighboring point ⁇ N e ⁇ and perform the flattening action, and then all the adjacent points after the flattening action N e (i) is pushed into the flattened point cloud list ⁇ R e ⁇ and the list of points to be flattened ⁇ A e ⁇ ;
  • Step S24 Use the elimination unit to mark the current flattened point P e as a flattened point, and remove the flattened point from the list ⁇ A e ⁇ of points to be flattened;
  • Step S25 Select a point from the remaining list of points to be flattened ⁇ A e ⁇ as the new current flattened point P e ', and repeat steps S22-S24 using the loop unit until the list of points to be flattened ⁇ A e ⁇ is empty , to obtain a new flattened point cloud list ⁇ R e ' ⁇ representing the flattened nail plane point cloud Cloud Nail-p .
  • the specific operation steps of the above-mentioned step S23 are: in the flattening action unit, for the non-flattened points among the neighboring points ⁇ N e ⁇ , perform a flattening action on each neighboring point Ne (i), All neighboring points ⁇ N e ⁇ are flattened to fall into the set plane, and the current flattened point P e is preferably also within the set plane. Then, press all the adjacent points ⁇ N e ⁇ after flattening into the list of points to be flattened ⁇ A e ⁇ , and then use it as the new current flattened point P e ' for the next flattening.
  • the flattening action for each neighboring point Ne (i) has various forms, which can be flattening with equal arc length, or flattening in the way of projection.
  • Flattening by way of projection refers to orthographic projection of the neighbor point Ne (i) onto the set plane, and the point projected onto the set plane is taken as the neighbor point N e '(i) after flattening.
  • the method of flattening the adjacent point Ne (i) with equal arc length is specifically described. Specifically, first calculate the relative position of each adjacent point N e (i) in the unflattened point and the current flattened point P e and the relative distance d, and then calculate and flatten each neighboring point N e (i) to the set plane according to the following formula:
  • Ne x is the x-axis coordinate of the neighbor point Ne (i) in the point cloud library coordinate system
  • Ne y is the y-axis coordinate of the neighbor point Ne (i) in the cloud library coordinate system
  • P x is the x-axis coordinate of the current flattening point P e in the point cloud library coordinate system
  • P y is the y-axis coordinate of the current flattening point P e in the point cloud library coordinate system.
  • d i is the relative distance from the neighboring point Ne ( i ) to the current flattening point P e ;
  • the six neighboring points ⁇ N e ⁇ closest to the current flattening point P e are searched for, and the six neighboring points ⁇ N e ⁇ to perform a flattening action.
  • the outermost point cloud representing the contour in the nail surface point cloud Cloud Nail-s is roughly located on a plane, which is set as the contour plane. Set the plane to be parallel to, or coincident with, the profile plane.
  • the position of the set plane is more flexible. In the plane parallel to the contour plane, it can be located in the middle segment of the nail surface point cloud Cloud Nail-s , or it can be located above the whole of the nail surface point cloud Cloud Nail-s .
  • the setting plane is located in the middle segment of the nail surface point cloud Cloud Nail-s , which means that the points in the nail surface point cloud Cloud Nail-s are distributed on both sides of the setting plane.
  • the setting plane is located above the whole of the nail surface point cloud Cloud Nail-s , which means that the points in the nail surface point cloud Cloud Nail-s are all distributed on one side of the setting plane, and the nail surface point cloud Cloud Nail-s Points representing contours are further away from the set plane.
  • the plane is set as the plane with the highest point cloud in the nail surface point cloud Cloud Nail-s among the multiple planes parallel to the contour plane, and the highest point in the nail surface point cloud Cloud Nail-s refers to Yes, one or more points in the surface point cloud Cloud Nail-s that are farthest from the contour plane vertically.
  • the set plane is a point among a plurality of planes parallel to the contour plane that has the first current flattening point Pe selected in step S22.
  • the process steps of the flattening action can be simplified and the number of cycles can be reduced.
  • the highest point in the nail surface point cloud Cloud Nail-s is selected as the current flattening point P e , so, the nail surface point cloud Cloud Nail-s
  • the highest point is used as the flattening point, which is gradually stretched out in the form of a mesh.
  • the planar surface of the flattened nail point cloud Cloud Nail-p and the curved surface of the nail curved point cloud Cloud Nail-s have less error.
  • the nail plane point cloud Cloud Nail-p in the plane state is more in line with the surface of the target nail.
  • step S1 after obtaining the nail surface point cloud Cloud Nail-s , before converting the nail surface point cloud Cloud Nail-s into a flattened point cloud list ⁇ R e ⁇ for output, there is also a function of converting the nail surface
  • the steps of point cloud Cloud Nail-s position correction for subsequent calculation is as follows:
  • Step S1 Use the point cloud acquisition module to obtain the nail surface point cloud Cloud Nail-s output by the segmentation growth device in the point cloud extraction step, and arrange the acquired point cloud in the nail surface point cloud Cloud Nail-s in an orthogonal alignment Positive, and then converted into a flattened point cloud list ⁇ R e ⁇ output.
  • the specific method of the point cloud correction step mentioned in the first embodiment is the same, here is the pose and position of the nail surface point cloud Cloud Nail-s Transform so that the centroid of the converted nail surface point cloud Cloud Nail-s coincides with the coordinate origin of the coordinate system in the point cloud library, the front end of the nail points to the positive direction of the x-axis in the coordinate system, and the left side of the nail width points to the coordinate system The positive direction of the y-axis and the back of the nail point to the negative direction of the z-axis in the coordinate system.
  • Embodiment 4 of the present application provides a personalized nail sticker manufacturing system, which is based on the point cloud-based nail shape extraction system designed in any one of Embodiments 1 to 3 and
  • the design and implementation of the method, its actual process or structure is similar but different, the following will focus on the description of the difference, if not for the detailed description of the difference, it can be regarded as the same as the first to third embodiment No longer.
  • a manufacturing system for personalized nail stickers includes a nail extraction subsystem connected in sequence, and any of the aforementioned embodiments one to three. Point cloud nail shape extraction system, parameter generation subsystem and product processing subsystem.
  • each subsystem in the nail shape extraction system is as follows:
  • the nail shape extraction subsystem is used to extract the 3D shape of the user's finger including the nail, then measure the 3D shape data of the finger, and transmit the measurement result to the nail shape extraction system;
  • the point cloud-based nail shape extraction system is used to convert the 3D shape data of the finger output by the nail shape extraction subsystem into a 3D point cloud form, extract the nail point cloud of the curved surface, and expand the nail point cloud of the curved surface into a plane
  • the nail point cloud is extracted, and the nail point cloud representing the contour is extracted and transmitted to the parameter generation subsystem in the form of 2D shape data;
  • the parameter generation subsystem is used to combine the 2D shape data of the planar nail outline output by the point cloud-based nail shape extraction system and the personalized nail sticker parameters selected by the customer to generate a 2D digital model of the personalized nail sticker, and After the generated 2D digital model is converted into processing parameters, the processing parameters are transmitted to the product processing subsystem;
  • the product processing subsystem is used to process the materials to be processed into personalized nail stickers according to the processing parameters output by the parameter generation subsystem.
  • Embodiment 4 of the present application also provides a nail sticker, as shown in Figure 11, the nail sticker is made by using the personalized nail sticker manufacturing system in this embodiment, and the personalized customized nail sticker is produced Although the nail sticker is in a flat state, it can perfectly fit the curvature and contour of the nail surface of the target finger, so that it can fit the nail with high quality.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种甲形提取系统及其方法、存储介质、指甲贴及其制造系统,甲形提取系统中的点云提取和/或展平步骤采用一循环处理装置,该循环处理装置包括将点云数据转化为点云列表形式的点云获取模块和通过新增判定条件对点云列表中的点做循环动作以获得新的点云列表的点云处理模块。点云处理模块包括压入单元、选择单元、动作单元、剔除单元和促进选择单元、动作单元和剔除单元循环动作的循环单元。本申请通过增加判定条件,选择出符合动作的邻点后对符合动作的邻点进行动作,可以降低点云在处理动作中的角度阈值的敏感度的同时达到处理动作的精准有效,避免过度动作或者动作不足,提取出的指甲轮廓形状能够更加贴合目标手指的指甲轮廓。

Description

甲形提取系统及其方法、存储介质、指甲贴及其制造系统 技术领域
本申请涉及个性化美甲贴领域,并且更具体地,涉及甲形提取系统及其方法、存储介质、指甲贴及其制造系统。
背景技术
近些年随着人们对指甲的美的追求,一种名叫甲贴的简易美甲产品出现在了市场中。甲贴作为已经成型的贴片,直接利用胶粘层即可粘贴到指甲上,相比传统指甲油进行美甲,甲贴具有操作简单、价格便宜、随时随地可以使用等优势,逐渐获得越来越多时尚爱美人士的亲睐。
甲贴的形状一般都是出厂即固定的,且为了产品的美观,其外围轮廓在平面状态下一般都是具有完美的边缘弧度。但是,该固定且完美的边缘弧度却与用户指甲的实际轮廓并不贴合,无法完全适应于不同用户指甲的形状,贴附于用户指甲上的甲贴常常存在贴附不全或溢出的问题。
目前解决这一问题的方法主要是利用图像识别、提取用户的指甲轮廓,如中国公开号为CN109770520A的发明专利申请,公开了一种美甲装置的打印方法,在该美甲装置的打印方法中,摄像装置对用户的手指进行摄像或者拍照,控制模块根据摄像装置对用户的手指拍摄的视频或者照片判断指甲的位置、形状和尺寸,并识别指甲轮廓。
但是,该美甲装置的打印方法所提取的数据为二维图像的2D数据,其同样与具有弧度的3D的指甲形状并不完全贴合,导致所提取的指甲轮廓与指甲的真实轮廓并不贴合。
为解决上述技术问题,急需一种新的指甲轮廓提取方法,提取出更加贴合用户指甲边缘的、有弧度的3D指甲轮廓。
发明内容
第一方面,本申请提供了一种基于点云的指甲形状提取系统,包括对点云进行处理的循环处理装置,所述循环处理装置包括:
点云获取模块,构成为能够获取点云数据,并将获取的点云数据转化为点云列表{R act}的形式输出;
点云处理模块,与所述点云获取模块连接,所述点云处理模块构成为能够对所述点云获取模块输出的点云列表{R act}中的点做循环动作,并获得新的点云列表{R act’};
所述点云处理模块包括:
压入单元,与所述点云获取模块连接,所述压入单元构成为能够获取所述点云获取模块输出的点云列表{R act},并将点云列表{R act}中的点全部压入一为空的待动作点列表{A act}中;
选择单元,与所述压入单元连接,所述选择单元构成为能够从待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act};
动作单元,与所述选择单元连接,所述动作单元构成为能够选择出邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合动作的邻点N act(i)压入点云列表{R act}和待动作点列表{A act}中;
剔除单元,与所述动作单元连接,所述剔除单元构成为能够将所述当前动作点P act标记为已动作点,并将该已动作点从所述待动作点列表{A act}中剔除;
循环单元,与所述选择单元、所述动作单元和所述剔除单元连接,所述循环单元构成为能够促进所述选择单元、所述动作单元和所述剔除单元循环动作,直至所述待动作点列表{A act}为空,获得新的点云列表{R act’}。
进一步的,作为优选,在所述动作单元中,对于邻点{N act}中的非已动作点,计算每一邻点N act(i)与当前动作点P act的法向量夹角θ i,将邻点{N act}中与当前动作点P act的法向量夹角θ i小于或等于角度阈值θ thres的邻点N act(i)标记为可继续动作点,反之标记为不可继续动作点;
判定连续含有已动作点和/或可继续动作点最多的区域中范围最大的区域为合适动作范围{R c},然后将该合适动作范围{R c}内的可继续动作点压入到点云列表{R act}和待动作点列表{A act}中。
进一步的,作为优选,在所述动作单元中,以当前动作点P act作为中心点,将当前动作点P act周围的空间均分为n个区域,比较每一区域中的不同类型邻点N act(i)的数目,选定待动作候选区域,然后将其中角度最大的待动作候选区域判定为当前动作点P act周围的合适动作范围{R c};
按照如下条件选择所述待动作候选区域:
将可继续动作点更多的区域划分为可继续动作区域,将无点云的区域和不可动作点更多的区域划分为不可动作区域,将已动作点更多的区域划分为已动作区域,将相互邻接的可继续动作区域和/或已动作区域整合为待动作候选区域;或者
将可继续动作点与已动作点的数目之和不小于不可动作点的数目的区域划分为可继续动作区域,反之,将无点云的区域和可继续动作点与已动作点的数目之和小于不可动作点的数目的区域划分为不可动作区域,将相互邻接的可继续动作区域整合为待动作候选区域;或者
将仅具有可继续动作点和/或已动作点的区域划分为可继续动作区域,将无点云的区域和含有不可动作点的区域划分为不可动作区域,将相互邻接的可继续动作区域整合为待动作候选区域。
进一步的,作为优选,在所述动作单元中,对于邻点{N act}中的非已动作点,将每一邻点N act(i)展平至落入设定平面内,然后将展平后的每一邻点N act(i)均压入到点云列表{R act}和待动作点列表{A act}中,并作为下一次展平的新的当前动作点P act’;
所述设定平面与待展平的点云中表示轮廓的点云所形成的平面平行。
进一步的,作为优选,在所述动作单元中,将所述当前动作点P act中的邻点{N act}按照等弧长的方式进行展平或者以投影的方式进行展平。
进一步的,作为优选,在所述选择单元中,选择的第一个所述当前动作点P act落入所述设定平面内。
进一步的,作为优选,在所述选择单元中,选择的邻点{N act}为以当前动作点P act为圆心、在设定搜索半径R rs范围内的所有点;或者
在所述选择单元中,选择的邻点{N act}为与所述当前动作点P act的相对距离最近的设定数量N的点。
进一步的,作为优选,基于点云的指甲形状提取系统还包括:
点云矫正装置,与所述循环处理装置连接,所述点云矫正装置构成为能够将点云的姿势和位置转换到预设的姿势和位置上、并将该转换后的点云输送给所述循环处理装置;
该预设的姿势和位置是指,点云的质心与点云库中坐标系的坐标原点重合、点云中指甲的前端指向坐标系中x轴的正方向、指甲的左侧指向坐标系中y轴的正方向、指甲的背部指向坐标系中z轴的负方向。
进一步的,作为优选,基于点云的指甲形状提取系统还包括:
边缘处理装置,与所述循环处理装置连接,所述边缘处理装置构成为能够将所述循环处理装置输送的点云数据进行边缘处理,使得边缘平滑。
第二方面,本申请还提供了一种基于点云的指甲形状提取方法,该基于点云的指甲形状提取方法用于实现前述任一技术方案中的基于点云的指甲形状提取系统。具体的,基于点云的指甲形状提取方法包括对点云进行处理的循环处理步骤,所述循环处理步骤包括:
步骤S1:利用点云获取模块获取点云数据,并将获取的点云数据转化为点云列表{R act}的形式输出;
步骤S2:新建为空的待动作点列表{A act},利用点云处理模块对点云获取模块输出的点云列表{R act}中的点做循环动作,并获得新的点云列表{R act’};
步骤S2中的步骤包括;
步骤S21:利用压入单元获取点云获取模块输出的点云列表{R act},并将点云列表{R act}中的点全部压入为空的待动作点列表{A act}中;
步骤S22:利用选择单元从待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act};
步骤S23:利用动作单元选择出所有邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合动作的非已动作点中的邻点N act(i)全部压入点云列表{R act}和待动作点列表{A act}中;
步骤S24:利用剔除单元将当前动作点P act标记为已动作点,并将该已动作点从待动作点列表{A act}中剔除;
步骤S25:从余下的待动作点列表{A act}中选择一点作为新的当前动作点P act’,利用循环单元重复步骤S22-S24,直至待动作点列表{A act}中点云为空,获得新的点云列表{R act’}。
第三方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求11所述方法中的步骤。
第四方面,本申请还提供了一种个性化指甲贴的制造系统,该个性化指甲贴的制造系统包括依次序连接的甲形拓取子系统、前述任一技术方案中所述的基于点云的指甲形状提取系统、参数生成子系统和产品加工子系统;
所述甲形拓取子系统构成为能够提取用户的包含有指甲的手指的3D形状,然后测量手指的3D形状数据,并将测量结果传输给所述指甲形状提取系统;
所述基于点云的指甲形状提取系统构成为能够将甲形拓取子系统输出的手指的3D形状数据转换为3D点云形式,提取出其中的曲面的指甲点云,将曲面的指甲点云展开成平面的指甲点云,提取出其中表示轮廓的指甲点云后以2D形状数据的形式传输给所述参数生成子系统;
所述参数生成子系统构成为能够将所述基于点云的指甲形状提取系统输出的平面的指甲轮廓的2D形状数据和顾客所选择的个性化指甲贴参数结合起来计算生成个性化指甲贴的2D数字模型,并将所生成的2D数字模型转换成加工参数后,将加工参数传输给所述产品加工子系统;
所述产品加工子系统构成为能够根据所述参数生成子系统输出的加工参数将待加工材料加工成为个性化指甲贴。
第五方面,本申请还提供了一种指甲贴,该指甲贴为采用前述的个性化指甲贴的制造系统制作的个性化指甲贴。
与现有技术相比,本发明的有益效果是:
1、本申请通过增加判定条件,选定当前动作点周围在设定条件下的所有邻点并进行判断,选择出符合动作的邻点后对符合动作的邻点进行动作,可以降低点云在处理动作中的角度阈值的敏感度的同时达到处理动作的精准有效,避免过度动作或者动作不足,提取并展平后的指甲轮廓形状能够更加贴合目标手指的指甲轮廓。
2、本申请通过对判定后选出的符合动作的邻点进行动作,对已动作过的点不进行重复动作,还有助于减少循环次数,提高运行速度。
3、本申请通过不断地对待动作列表中的点进行选择、动作,然后将符合的点压入点云列表和压入待动作列表中,不断地重复上述的选择-动作-压入步骤,使得循环结束后获得的新的点云列表更加精准,还简化了流程步骤与难度,进一步的减少循环次数,提高运行速度。
4、通过判定当前动作点周围具有最大范围中的点为符合生长的点,更加符合满足指甲点云的聚簇情况,从而精准地选择出属于指甲点云的点然后压入点云列表。
5、通过判定当前动作点周围符合展平的邻点,以点辐射到面地将邻点展开到当前动作点所在的设定平面,展平后的指甲平面点云的平面表面与指甲曲面点云的曲面表面误差减少,获取的平面状态下的指甲平面点云更加符合目标指甲的表面。
附图说明
图1是本申请实施方式一中基于点云的指甲形状提取系统的结构示意图;
图2是本申请实施方式一中基于点云的指甲形状提取系统的流程示意图;
图3是本申请实施方式一中循环处理装置的结构示意图;
图4是本申请实施方式一中循环处理步骤的流程示意图;
图5是本申请实施方式二中分割生长装置的结构示意图;
图6是本申请实施方式二中点云提取步骤的流程示意图;
图7是本申请实施方式二中当前动作点及其搜索半径范围内的邻点的示意图;
图7a是本申请实施方式二中以方式一获得合适生长范围的示意图;
图7b是本申请实施方式二中以方式二获得合适生长范围的示意图;
图7c是本申请实施方式二中以方式三获得合适生长范围的示意图;
图8是本申请实施方式三中点云展平装置的结构示意图;
图9是本申请实施方式三中点云展平步骤的流程示意图;
图10是本申请实施方式四中个性化指甲贴的制造系统的结构示意图;
图11是本申请实施方式四中个性化指甲贴的结构示意图。
具体实施方式
下面将结合附图,对本申请实施方式中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施方式,而非限制本申请实施方式的范围。
还应理解,在本申请的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施方式的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本申请实施方式对此并不限定。
除非另有说明,本申请实施方式所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
实施方式一
本申请的实施方式一提供了一种基于点云的指甲形状提取系统,用于提取与曲面带有弧度的指甲表面贴合的平面形状,并个性化定制出贴合用户指甲形状的指甲贴。具体的,参见图1所示,基于点云的指甲形状提取系统包括用于采集并获取用户手指3D数据Data Finger的数据采集装置、用于将手指3D数据Data Finger点云转化为手指点云Cloud Finger的数据转化装置、用于从手指点云Cloud Finger中提取出具有弧度的指甲曲面点云Cloud Nail-s的分割生长装置和用于将指甲曲面点云Cloud Nail-s展平获得平面状态下的指甲曲面点云Cloud Nail-p的点云展平装置,数据采集装置、数据转化装置、分割生长装置和点云展平装置依次序连接。
根据本实施方式一提供的基于点云的指甲形状提取系统,参见图2所示,本申请实施方式一还提供了一种基于点云的指甲形状提取方法,包括如下步骤:
数据采集步骤:利用数据采集装置对目标手指进行3D扫描,获得目标手指的手指3D数据Data Finger,手指3D数据Data Finger至少包含有全部指甲的指甲3D数据Data Nail
数据转化步骤:利用数据转化装置将手指3D数据Data Finger转化为3D点云数据,获得手指点云Cloud Finger,手指点云Cloud Finger至少包含有全部指甲的指甲曲面点云Cloud Nail-s
点云提取步骤:利用分割生长装置对手指点云Cloud Finger进行分割,获取其中的指甲曲面点云Cloud Nail-s
点云展平步骤:利用点云展平装置将指甲曲面点云Cloud Nail-s等表面积的展平,获得平面状态下的指甲平面点云Cloud Nail-p
在基于点云的指甲形状提取系统及其方法中,数据采集装置可以是利用激光雷达、深度摄像头或者是主要利用激光雷达、深度摄像头制成的3D扫描仪、结构光相机、双目相机等。如此,数据采集装置在数据采集步骤中,可以是激光雷达利用三角测距原理、TOF测距原理等对目标手指进行3D扫描,也可以是深度摄像头利用结构光测距原理、双目视觉测距原理和TOF测距原理等对目标手指进行3D扫描,能够快速、精准获得的手指3D数据Data Finger
以上所列举的各种3D扫测测距原理,例如三角测距原理、TOF测距原理、结构光测距原理、双目视觉测距原理等,都是现有技术并在日常中被广泛使用,在此对其原理不再赘述。
在基于点云的指甲形状提取系统及其方法中,数据转化装置接收数据采集装置所收集并发送的手指3D数据Data Finger,然后将手指3D数据Data Finger转化为3D点云数据格式,从而获得手指点云Cloud Finger。具体的,数据转化装置是将手指3D数据Data Finger的格式进行转化,转化为PCL数据等点云库库所支持的数据格式,例如pcd、ply等格式,具体选择哪种格式,则根据数据采集装置采集的数据格式、后续分割生长装置和点云展平装置所支持处理的数据格式等决定。由于手指3D数据Data Finger至少包含有指甲的指甲3D数据Data Nail和指甲周围皮肤的皮肤3D数据Data Skin,所以,将手指3D数据Data Finger的格式转化为例如pcd格式等点云库所支持的数据格式后的手指点云Cloud Finger,至少包含有表面不平整、具有弯曲弧度的指甲的指甲曲面点云Cloud Nail-s和该指甲周围皮肤的皮肤点云Cloud Skin
当然,在本实施方式一的其他设施例中,如果数据采集装置自带数据转化的功能,则在数据转化步骤中,数据采集装置可以兼做数据转化装置,并直接地将采集到的手指3D数据Data Finger的数据格式转化为pcd格式,从而获得手指点云Cloud Finger
在本实施方式一中,点云提取步骤和/或点云提取步骤中对于点云的动作均增加了一个判定条件,即为在对点云进行指甲曲面点云Cloud Nail-s的提取和/或对指甲曲面点云Cloud Nail-s的展平动作中,先选定一个当前动作点P act及其周围的所有邻点{N act},再判定所有邻点{N act}中符合动作条件的邻点N act(i),然后对这些符合动作的邻点N act(i)进行相应动作,能够增加对当前动作点P act周围邻点{N act}动作的精准度,避免过度动作或者动作不足,还可以减少循环次数,提高运行速度。
如此,基于上述增加判定条件的情况下,参见图3所示,分割生长装置和/或点云展平装置中均为一循环处理装置,该循环处理装置包括点云获取模块和点云处理模块,点云处理模块具有初始为空的待动作点列表{A act},后续对点云的处理将配合该待动作点列表{A act}进行。点云获取模块用于获取前一步骤中的点云数据,并以点云列表{R act}的形式 呈现,然后将该点云列表{R act}输送给点云处理模块,点云处理模块则接收点云获取模块输送的点云列表{R act},然后点云处理模块对手指点云Cloud Finger进行分割生长以提取出其中的指甲曲面点云Cloud Nail-s,或者对指甲曲面点云Cloud Nail-s进行展平以获得指甲平面点云Cloud Nail-p
循环处理装置中的点云处理模块具有多个单元,包括压入单元、选择单元、动作单元、剔除单元和循环单元。其中,压入单元的输入端与点云获取模块的输出端连接,压入单元的输出端与选择单元连接,选择单元、动作单元、剔除单元和循环单元循环连接,循环单元的输出端还与下一步骤中装置的输入端连接。
具体的,压入单元的输入端与点云获取模块的输出端连接,用于获取点云获取模块中输出的点云列表{R act},并将点云列表{R act}中的点全部压入为空的待动作点列表{A act}中,此时的点云列表{R act}为空。
选择单元的输入端与压入单元的输出端连接,用于从压入单元输出的待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act}。
动作单元的输入端与选择单元的输出端连接,用于选择出选择单元输出的所有邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合的邻点N act(i)压入点云列表{R act}和待动作点列表{A act}中。
剔除单元的输入端与动作单元的输出端连接,用于将动作单元输出的该前动作点P act标记为已动作点,并将该已动作点从待动作点列表{A act}中剔除。
循环单元的输入端、输出端分别与剔除单元的输出端、选择单元的输入端连接,形成用于促进选择单元、动作单元和剔除单元的循环动作,形成选择单元-动作单元-剔除单元-循环单元-选择单元的循环连接结构,直至待动作点列表{A act}中点云为空,获得新的点云列表{R act’}。
基于本实施方式一提供的基于点云的指甲形状提取系统中的分割生长装置和/或点云展平装置的机构,本实施方式一提供的基于点云的指甲形状提取方法中,参见图4所示,点云提取步骤和/或点云提取均为一循环处理步骤,该循环处理步骤的具体步骤如下:
步骤S1:利用点云获取模块获取前一步骤中输出的点云数据,并将获取的点云数据转化为点云列表{R act}的形式输出;
步骤S2:新建为空的待动作点列表{A act},利用点云处理模块获取点云获取模块输出的点云列表{R act},然后对点云列表{R act}中的点做循环动作,并获得新的点云列表{R act’}。
步骤S2中的具体步骤包括;
步骤S21:利用压入单元获取点云获取模块输出的点云列表{R act},并将点云列表{R act}中的点全部压入待动作点列表{A act}中,点云列表{R act}为空;
步骤S22:利用选择单元从待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act};
步骤S23:利用动作单元选择出所有邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合动作的非已动作点中的邻点N act(i)全部压入点云列表{R act}和待动作点列表{A act}中;
步骤S24:利用剔除单元将当前动作点P act标记为已动作点,并将该已动作点从待动作点列表{A act}中剔除;
步骤S25:从余下的待动作点列表{A act}中选择一点作为新的当前动作点P act’,利用循环单元重复步骤S22-S24,直至待动作点列表{A act}为空,获得新的点云列表{R act’}。
相对于现有技术而言,本实施方式一中的基于点云的指甲形状提取系统和提取方法,通过增加判定条件,选定当前动作点P act周围在设定条件下的所有邻点{N act}并进行判断,针对判断结果精准地对符合设定条件的邻点N act(i)进行动作,可以降低动作中例如角度阈值θ thres的敏感度的同时达到动作的精准有效,避免过度动作或者动作不足,还可以避免对已动作点重复动作,减少循环次数,提高运行速度。
待动作点列表{A act}中的各个点是以集合的形式存在的,{A act}={A 1,A 2,A 3……}。在本实施方式一的一些实施例中,可以随机的选取待动作点列表{A act}中的点作为待动作点,而在一些实施例中,也可以有规律的选取待动作点列表{A act}中的点作为待动作点。例如,在本申请的步骤S22中,利用选择单元选择当前动作点P act时,选择的是待动作点列表{A act}中最靠前的点,该待动作点列表{A act}中最靠前的点,则是指点云集合{A 1,A 2,A 3……}中的第一个点,即也即A 1。如此,可以简化选择当前动作点P act的步骤,优化选择方式,减少计算步骤,提高运行速度。
在步骤S22中,利用选择单元选择当前动作点P act周围设定条件下的所有邻点{N act}时,普遍采用两种方式,一种是以当前动作点P act为圆心,搜索在设定搜索半径R rs范围内的所有点作为所有邻点{N act},一种是以当前点作为原点,搜索距离该当前动作点P act的相对距离最近的设定数量N的点。根据实际需要,选择搜索半径R rs的数值或者设定的数量N,从而实现在较少的循环次数下精准地对当前动作点P act周围的符合动作条件的邻点N act(i)进行动作。
在一些实施例中,选定当前动作点P act周围搜索半径R rs范围内的邻点{N act}时,先计算获得待动作点列表{A act}中所有的点与点之间的平均距离
Figure PCTCN2021112160-appb-000001
然后选择设定的搜索半径R rs为该平均距离
Figure PCTCN2021112160-appb-000002
的1.1-3倍,更优选的,设定的搜索半径R rs为该平均距离
Figure PCTCN2021112160-appb-000003
的1.5-2倍。
在一些实施例中,选定当前动作点P act相对距离最近的设定数量N的邻点{N act}时,该设定数量N为4-30,更优选的,设定数量为为10-15。
在本实施方式一中,无论是通过设定范围内的邻点选择,还是通过设定数量的邻点选择,都可以采用kd-tree或者Octree来实现。
k-d tree,即k-dimensional tree,是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。主要应用于多维空间关键数据的搜索,如范围搜索和最近邻搜索。
Octree,即八叉树,是一种用于描述三维空间的树状数据结构,八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。具体使用时,Octree利用二分查找方式查找邻点{N act}。
无论采用kd-tree还是Octree,都能够快速精准地找到当前动作点P act周围设定条件下的所有邻点{N act}。
参见图1和图2所示,在本实施方式一的一些实施例中,本基于点云的指甲形状提取系统中还包括点云矫正装置,点云矫正装置设置于数据转化装置和分割生长装置之间,能够在提取其中的指甲曲面点云Cloud Nail-s之前,接收数据转化装置输送的手指点云Cloud Finger,并对该手指点云Cloud Finger的姿势和位置进行转换,将手指点云Cloud Finger的姿势和位置转换到预设的姿势和位置上后,将该转换后的输出手指点云Cloud Finger’输送给点云获取模块。如此,在对点云进行分割之前矫正好手指点云Cloud Finger的位置,方便对该被矫正后的输出手指点云Cloud Finger’进行处理和计算,简化处理流程,提高运行速度。
对应于该点云矫正装置,本实施方式一提供的基于点云的指甲形状提取方法,在数据转化步骤和点云提取步骤之间还具有:
点云矫正步骤,利用点云矫正装置对手指点云Cloud Finger进行姿势和位置的转换,使得输出的手指点云Cloud Finger的姿势和位置转换到预设的姿势和位置上。
需要说明的是,这里所说的预设的姿势和位置是指,转换后的输出手指点云Cloud Finger’的质心与点云库中坐标系的坐标原点重合、手指的前端指向坐标系中x轴的正方向、手指宽度的左侧指向坐标系中y轴的正方向、手指的背部指向坐标系中z轴的负方向。
更为具体的,手指的前端指的是手指的更为靠近指甲生长端的一端,手指的前端指向的方向是指甲的生长方向;手指宽度的左侧指的是朝向指甲的生长方向望去是的左侧;手指的背部指的是手指的长有指甲的一面,手指的背部指向的方向是手指的指腹朝向指甲的方向。
点云矫正装置矫正点云姿势和位置的方法灵活多变,可以是利用旋转矩阵、四元数或者欧拉角等来实现。
在本实施方式一的其它一些实施例中,点云矫正装置也可以是设置在分割生长装置和点云展平装置之间,能够在指甲曲面点云Cloud Nail-s进行展平之前,接收分割生长装置输送的指甲曲面点云Cloud Nail-s,并将该指甲曲面点云Cloud Nail-s的姿势和位置转换到预设的姿势和位置上。
参见图1所示,在本实施方式一的其它一些实施例中,本基于点云的指甲形状提取系统还包括边缘处理装置,循环处理装置,即边缘处理装置的输入端与分割生长装置和/或点云展平装置的输出端连接。边缘处理装置构成为能够对分割生长装置输出的指甲曲面点云Cloud Nail-s和/或点云展平装置输出的指甲平面点云Cloud Nail-p进行边缘处理,使得边缘光滑。
对应于该边缘处理装置,本实施方式一提供的基于点云的指甲形状提取方法,参见图2所示,在点云展平步骤之后还具有:
边缘处理步骤,利用边缘处理装置提取点云展平装置输出的指甲平面点云Cloud Nail-p中表示轮廓的输入轮廓点云Cloud Contour-i,对提取到的输入轮廓点云进行曲线拟合,得到光滑的输出轮廓点云Cloud Contour-o
通过对展平后的指甲平面点云Cloud Nail-p进行曲线拟合,获得平滑的指甲曲线,该指甲曲线在符合指甲边缘轮廓的走向的前提下,还有助于剔除掉明显不符合的点云,或者修补生长失败的点云,提高指甲轮廓提取精准度的同时,还能提高据此绘制获得的指甲 轮廓的美观度,进而有利于提高将其制作成甲贴模型并据此所生产获得的甲贴的贴合度、美观性。
当然,在本实施方式一的一些其它实施例中,边缘处理装置的输入端也可以是与分割生长装置的输出端连接。边缘处理装置构成为能够对分割生长装置输出的指甲曲面点云Cloud Nail-s进行边缘处理,使得边缘光滑。
基于此,在点云提取步骤之后的边缘处理步骤的具体步骤为:
利用边缘处理装置提取分割生长装置输出的指甲曲面点云Cloud Nail-s中表示轮廓的输入轮廓点云Cloud Contour-i,对提取到的输入轮廓点云进行曲线拟合,得到光滑的输出轮廓点云Cloud Contour-o
当然,在本实施方式一的一些其它实施例中,实施方式一提供的基于点云的指甲形状提取方法,在点云提取步骤和点云展平步骤之后均具有前述的边缘处理步骤,分别对获取的指甲曲面点云Cloud Nail-s和和指甲平面点云Cloud Nail-p中表示轮廓的输入轮廓点云Cloud Contour-i进行曲线拟合,得到光滑的输出轮廓点云Cloud Contour-o。能够进一步的提高指甲轮廓提取的同时,还能提高据此绘制获得的指甲轮廓的美观度,进而有利于提高将其制作成甲贴模型并据此所生产获得的甲贴的贴合度、美观性。光滑的轮廓还有助于对甲贴的生产与切割,降低生产难度。
基于上述的基于点云的指甲形状提取方法,本申请实施方式一中还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,该计算机程序指令被处理器执行时实现本申请实施方式一提供的基于点云的指甲形状提取方法中的步骤。
实施方式二
本申请的实施方式二提供了一种基于点云的指甲形状提取系统,该基于点云的指甲形状提取系统均基于实施方式一中的基于点云的指甲形状提取系统的设计和实施,其实际流程或结构与之近似但又有所区别,以下着重对于区别之处进行描述,若非针对区别之处予以的详细说明,均可认为与实施方式一中相同而不再赘述。
本实施方式二中,参见图5所示,具体对采用实施方式一中增加了前述判定条件的点云提取步骤下的指甲形状提取系统及其方法进行详细说明。具体的,在本实施方式二中,指甲形状提取系统中的分割生长装置包括相互连接的点云获取模块和点云提取模块,点云获取模块与数据转化装置连接,用于获取数据转化装置输送的手指点云Cloud Finger,并将手指点云Cloud Finger转化为生长点云列表{R g}的形式。点云提取模块则接收点云获取模块输送的生长点云列表{R g}并新建为空的待生长点列表{A g},然后进行点云的分割生长动作,提取出其中的指甲曲面点云Cloud Nail-s
点云提取模块包括压入单元、选择单元、生长动作单元、剔除单元和循环单元。其中,压入单元的输入端与点云获取模块的输出端连接,压入单元的输出端与选择单元连接,选择单元、生长动作单元、剔除单元和循环单元循环连接,循环单元的输出端还与点云展平步骤中装置的输入端连接。
具有如此的分割生长装置的指甲形状提取方法中,参见图6所示,点云提取步骤具体步骤如下:
步骤S1:利用点云获取模块获取数据转化步骤中数据转化装置输出的手指点云Cloud Finger,并转化为生长点云列表{R g}的形式输出;
步骤S2:新建为空的待生长点列表{A g},利用点云提取模块获取点云获取模块中的生长点云列表{R g},对生长点云列表{R g}中的点进行如下动作,并获得新的生长点云列表{R g’}:
步骤S21:利用压入单元获取点云获取模块输出的生长点云列表{R g},并将生长点云列表{R g}中的点全部压入待生长点列表{A g}中,生长点云列表{R g}为空;
步骤S22:利用选择单元从待生长点列表{A g}中选择一点作为当前生长点P g,并查找该当前生长点P g在设定条件下的所有邻点{N g};
步骤S23:利用生长动作单元选择出邻点{N g}中符合动作的邻点N g(i)并进行分类选择生长动作,然后将符合生长动作的非已生长点中的邻点N g(i)压入生长点云列表{R g}和待生长点列表{A g}中;
步骤S24:利用剔除单元将当前生长点P g标记为已生长点,并将该已生长点从待生长点列表{A g}中剔除;
步骤S25:从余下的待生长点列表{A g}中选择一点作为新的当前生长点P g’,利用循环单元重复步骤S22-S24,直至待生长点列表{A g}为空,获得新的表示指甲曲面点云Cloud Nail-s的生长点云列表{R g’}。
如此,上述的步骤S23的具体操作步骤为,在生长动作单元中,对于所有邻点{N g}中的非已生长点,计算每一邻点N g(i)与当前生长点P g的法向量夹角θ i,将邻点{N g}中与当前生长点P g的法向量夹角θ i小于或等于角度阈值θ thres的邻点N g(i)标记为可继续生长点,将邻点{N g}中与当前生长点P g的法向量夹角θ i大于角度阈值θ thres的邻点N g(i)标记为不可继续生长点。
增加点云分割生长过程中的判定条件,判定连续含有已生长点和/或可继续生长点最多的区域中范围最大的区域为合适生长范围,然后将该合适生长范围内的可继续生长点全部压入到生长点云列表{R g}和待生长点列表{A g}中。
若设定的角度阈值θ thres的值较大,会导致指甲点云的过度生长、提取的指甲曲面点云Cloud Nail-s偏大,如果降低角度阈值θ thres的值,则容易导致指甲点云的生长失败、提取的指甲曲面点云Cloud Nail-s偏小,并且还会增加循环次数,降低运算速度。
相对于现有技术而言,本实施方式二中提供的基于点云的指甲形状提取系统及其方法,能够精准提取出手指点云Cloud Finger中的指甲曲面点云Cloud Nail-s,通过增加生长判定条件,能够降低角度阈值θ thres的敏感度,减少点云的过度生长或生长失败,从而获得更精确的计算分割结果。同时,本实施方式二中增加的生长判定条件中,对生长点不进行动作,还能够减少循环计算次数,缩短运行时间,提高运行速度。
以算法流程来看,上述的点云提取步骤流程具体如下:
输入:
●输入手指点云Cloud Finger
●输入当前生长点P g
●输入面法线向量{N p}
●输入搜索半径R rs
●输入角度阈值θ thres
输出:
●输出生长点云列表{R g}
初始化:
●初始化生长点云列表{R g}
●初始化待生长点列表,将生长点云列表{R g}中的所有点压入待生长点列表{A g},生长点云列表{R g}为空,{A g}←{R g}
●计算输入点云各点的面法线向量{N p}
算法循环:
●只要待生长点列表{A g}不为空,则:
◆选择待生长点列表{A g}中的一点作为当前生长点P g
◆通过k-d tree迅速查找到当前生长点P g的在搜索半径R rs范围内的所有邻点{N g}
◆对于所有邻点{N g}中不属于已生长点的每个邻点N g(i),计算:
当前邻点N g(i)和当前生长点P g法向量夹角θ i,若θ i小于或等于角度阈值θ thres,即θ i≤θ thres,则:N g(i)标记为可继续生长点,反之则标记为不可生长点
◆对于所有邻点{N g}中的每个邻点N g(i),计算:当前邻点N g(i)和当前生长点P g的相对方向
◆通过以上数据计算出当前生长点P g周围的合适生长范围{R c}
◆历遍当前生长点P g周围的所有被标记为可继续生长点的邻点N g(i)中满足其相对位置在合适生长范围{R c}内,即N g(i)∈{R c},则将满足的邻点N g(i)加入生长点云列表{R g},同时将满足的邻点N g(i)压入待生长点列表{A g},{R g}←{R g}UN g(i){A g}←{A g}UN g(i)
◆将该当前生长点P g标记为已生长点,并从待生长点列表{A g}中剔除,{A g}←{A g}\P g
●从待生长点列表{A g}余下的点中选择一点作为新的当前生长点P g’,重复以上过程直至待生长点列表{A g}为空,输出新的表示指甲曲面点云Cloud Nail-s的生长点云列表{R g’}
在生长动作单元及步骤S23中,以当前生长点P g作为中心点,将当前生长点P g周围的空间均分为n个区域,比较每一区域中的不同类型邻点的数目,选定待生长候选区域,然后将其中角度最大的待生长候选区域判定为当前生长点P g周围的合适生长范围{R c}。这里的数值n范围在4-30,优选为10-15。
在本实施方式二中,如图7所示,以当前生长点P g周围的空间均分为12个区域为例,进行举例计算。具体的,在本实施方式二中,查找搜索半径R rs
Figure PCTCN2021112160-appb-000004
范围内的所有邻点{N g},并将该搜索范围以当前生长点P g作为圆心均分为12个扇形区域。如此,获得的当前生长点P g及其设定条件下的所有邻点{N g}如图7中,图中的“·”表示已生长点,“*”表示可继续生长点,
Figure PCTCN2021112160-appb-000005
表示不可继续生长点。
本实施方式二的不同实施例中,可以采用不同的方式选择该区域范围内最大的待生长候选区域。
方式一,在一些实施例中,如图7a所示的,将可继续生长点更多的区域划分为可继续生长区域,将无点云的区域和不可生长点更多的区域划分为不可生长区域,将已生长点更多的区域划分为已生长区域,将相互邻接的可继续生长区域和/或已生长区域整合为待生长候选区域。比较不相邻的待生长候选区域,选定其中角度最大的待生长候选区域为当前生长点P g周围的合适生长范围{R c}。
方式二,在一些实施例中,如图7b所示的,将可继续生长点与已生长点的数目之和不小于不可生长点的数目的区域划分为可继续生长区域,反之,将无点云的区域和可继续动作点与已动作点的数目之和小于不可动作点的数目的区域划分为不可生长区域,将相互邻接的可继续生长区域整合为待生长候选区域。比较不相邻的待生长候选区域,选定其中角度最大的待生长候选区域为当前生长点P g周围的合适生长范围{R c}。
方式三,在一些实施例中,如图7c所示的,将仅具有可继续生长点和/或已生长点的区域划分为可继续生长区域,将无点云的区域和含有不可生长点的区域划分为不可生长区域,将相互邻接的可继续生长区域整合为待生长候选区域。比较不相邻的待生长候选区域,选定其中角度最大的待生长候选区域为当前生长点P g周围的合适生长范围{R c}。
由图中可见,三中方式均可以达到获取合适生长范围{R c}的作用,不同的方式选择的合适生长范围{R c}可能略有不同,但在对应的邻点N g(i)被压入待生长点列表{A g}中并进行循环生长的过程中,会不断地修正这些范围点。
实施方式三
本申请的实施方式三提供了一种基于点云的指甲形状提取系统,该基于点云的指甲形状提取系统均基于实施方式一或二中的基于点云的指甲形状提取系统的设计和实施,其实际流程或结构与之近似但又有所区别,以下着重对于区别之处进行描述,若非针对区别之处予以的详细说明,均可认为与实施方式一和二中相同而不再赘述。
本实施方式三中,参见图8所示,具体对采用实施方式一中增加了前述判定条件的点云展平步骤下的指甲形状提取系统及其方法进行详细说明。具体的,在本实施方式三中,指甲形状提取系统中的点云展平装置包括相互连接的点云获取模块和点云展平模块,点云获取模块与分割生长装置连接,用于获取分割生长装置输送的指甲曲面点云Cloud Nail-s,并将指甲曲面点云Cloud Nail-s转化为展平点云列表{R e}的形式。点云展平模块则接收点云获取模块输送的展平点云列表{R e}并新建为空的待展平点列表{A e},然后进行点云的展平动作,将指甲曲面点云Cloud Nail-s等面积的展开为指甲平面点云Cloud Nail-p
点云展平模块包括压入单元、选择单元、展平动作单元、剔除单元和循环单元。其中,压入单元的输入端与点云获取模块的输出端连接,压入单元的输出端与选择单元连接,选择单元、展平动作单元、剔除单元和循环单元循环连接,循环单元的输出端还与点云展平步骤中装置的输入端连接。
具有如此的点云展平装置的指甲形状提取方法中,参见图9所示,点云提取展平具体步骤如下:
步骤S1:利用点云获取模块获取点云提取步骤中分割生长装置输出的指甲曲面点云Cloud Nail-s,并转化为展平点云列表{R e}的形式输出;
步骤S2:新建为空的待展平点列表{A e},利用点云展平模块对点云获取模块输出的展平点云列表{R e}中的点进行如下动作,获得新的展平点云列表{R e’}:
步骤S21:利用压入单元获取点云获取模块输出的展平点云列表{R e},并将展平点云列表{R e}中的点全部压入为空的待展平点列表{A e}中,展平点云列表{R e}为空;
步骤S22:利用选择单元从待展平点列表{A e}中选择一点作为当前展平点P e,并查找该当前展平点P e在设定条件下的所有邻点{N e};
步骤S23:利用展平动作单元选择出邻点{N e}中非已展平点中符合动作的邻点N e(i)并进行展平动作,然后将进行展平动作后的全部邻点N e(i)压入展平点云列表{R e}和待展平点列表{A e}中;
步骤S24:利用剔除单元将当前展平点P e标记为已展平点,并将该已展平点从待展平点列表{A e}中剔除;
步骤S25:从余下的待展平点列表{A e}中选择一点作为新的当前展平点P e’,利用循环单元重复步骤S22-S24,直至待展平点列表{A e}为空,获得新的表示展平后的指甲平面点云Cloud Nail-p的展平点云列表{R e’}。
如此,上述的步骤S23的具体操作步骤为,在展平动作单元中,对于邻点{N e}中的非已展平点,对每一邻点N e(i)都做展平动作,将所有的邻点{N e}都展平至落入设定平面,当前展平点P e优选也在该设定平面内。然后,将展平后的所有邻点{N e}全部压入到待展平点列表{A e},然后作为下一次展平的新的当前展平点P e’。对于每一邻点N e(i)的展平动作,具有多种形式,可以是等弧长地展平,也可以是以投影的方式展平。以投影的方式展平,是指将邻点N e(i)正投影到设定平面上,将该投射到设定平面上的点作为展平后的邻点N e’(i)。
而在本实施方式三中的一些实施例中,则具体对邻点N e(i)的以等弧长展平的方式进行说明。具体的,先计算未展平过的点中的每个邻点N e(i)与当前展平点P e的相对位置
Figure PCTCN2021112160-appb-000006
和相对距离d,然后将每一邻点N e(i)按如下公式计算并展平到设定平面上:
Figure PCTCN2021112160-appb-000007
Figure PCTCN2021112160-appb-000008
Figure PCTCN2021112160-appb-000009
Ne x为邻点N e(i)在点云库坐标系中的x轴坐标;
Ne y为邻点N e(i)在云库坐标系中的y轴坐标;
P x为当前展平点P e在点云库坐标系中的x轴坐标;
P y为当前展平点P e在点云库坐标系中的y轴坐标。
以算法流程来看,上述的点云展平步骤流程具体如下:
输入:
●输入指甲曲面点云Cloud Nail-s
●输入当前展平点P e
输出:
●输出展平点云列表{R e}
初始化:
●初始化展平点云列表{R e}
●初始化待展平点列表{A e},将展平点云列表{R e}中的所有点压入展平点列表{A e},展平点云列表{R e}为空,{A e}←{R e}
算法循环:
●只要待展平点列表{A e}不为空,则:
◆选择待展平点列表{A e}中的一点作为当前展平点P e,并将该当前展平点P e
◆通过Octree迅速查找到当前展平点P e的距离该当前展平点P e相对距离最近的N个邻点{N e}
◆对于所有邻点{R e}中不属于已展平点的每个邻点N e(i),计算:
Figure PCTCN2021112160-appb-000010
d i为该邻点N e(i)到当前展平点P e的相对距离;
Figure PCTCN2021112160-appb-000011
为该邻点N e(i)到当前展平点P e的相对位置
◆通过以上数据计算出展平后的邻点N e’(i)位置,并进行展平
◆历遍当前展平点P e周围的所有不属于已展平点的邻点N g(i)中展开后的位于设定平面上的邻点{N e’},将展平后的邻点N e’(i)加入展平点云列表{R e},同时压入待展平点列表{A e},{R e}←{R e}U{N e’}{A e}←{A e}U{N e’}
◆将该当前展平点P e标记为已展平点,并从待展平点列表{A e}中剔除,{A e}←{A e}\P e
●从待展平点列表{A e}余下的点中选择一点作为新的当前展平点P e’,重复以上过程直至待展平点列表{A e}为空,输出新的表示展平后的指甲平面点云Cloud Nail-p的展平点云列表{R e’}
在本实施方式三中,以当前展平点P e作为中心点,查找相对于该当前展平点P e距离最近的6个邻点{N e},分别对该6个邻点{N e}进行展平动作。
对于提取到的指甲曲面点云Cloud Nail-s,指甲曲面点云Cloud Nail-s中表示轮廓的位于最外圈的点云大致位于一平面上,该平面设定为轮廓平面。设定平面平行于该轮廓平面,或者与该轮廓平面重合。
设定平面的位置较为灵活,在平行于该轮廓平面的平面中,可以是位于指甲曲面点云Cloud Nail-s中的中部段,也可以是位于指甲曲面点云Cloud Nail-s整体的上方。设定平面位于指甲曲面点云Cloud Nail-s中的中部段,指的是指甲曲面点云Cloud Nail-s中的点分布于设定平面的两侧。设定平面位于指甲曲面点云Cloud Nail-s整体的上方,指的是指甲曲面点云Cloud Nail-s中的点全部分布于设定平面的一侧,且指甲曲面点云Cloud Nail-s中表示轮廓的点更为远离该设定平面。
而在本实施方式二中,设定平面为平行于轮廓平面的多个平面中具有指甲曲面点云Cloud Nail-s中最高点云的平面,甲曲面点云Cloud Nail-s中最高点指的是,甲曲面点云Cloud Nail-s中距离轮廓平面垂直距离最远的一个或多个点。
优选的,设定平面为平行于轮廓平面的多个平面中、具有步骤S22中选择的第一个当前展平点P e的点。如此,可以简化展平动作的流程步骤,减少循环次数。
而在本实施方式二中,则在第一次循环步骤中,选择指甲曲面点云Cloud Nail-s中的最高点作为当前展平点P e,如此,以指甲曲面点云Cloud Nail-s中最高点作为展平点,以网状的形式逐渐向外舒展开,展平后的指甲平面点云Cloud Nail-p的平面表面与指甲曲面点云 Cloud Nail-s的曲面表面误差较少,获取的平面状态下的指甲平面点云Cloud Nail-p更加符合目标指甲的表面。
优选地,在步骤S1中,在获取指甲曲面点云Cloud Nail-s之后、将指甲曲面点云Cloud Nail-s转化为展平点云列表{R e}的形式输出之前,还具有将指甲曲面点云Cloud Nail-s的位置矫正的步骤,以便后续的计算。该步骤S1的具体流程如下:
步骤S1:利用点云获取模块获取点云提取步骤中分割生长装置输出的指甲曲面点云Cloud Nail-s,将获取的指甲曲面点云Cloud Nail-s中的点云按照正交对齐的方式摆正,然后转化为展平点云列表{R e}的形式输出。
这里的摆正后的指甲曲面点云Cloud Nail-s中,与实施方式一中所提及的点云矫正步骤的具体方法相同,这里是对指甲曲面点云Cloud Nail-s进行姿势和位置的转换,使得转换后的指甲曲面点云Cloud Nail-s的质心与点云库中坐标系的坐标原点重合、指甲的前端指向坐标系中x轴的正方向、指甲宽度的左侧指向坐标系中y轴的正方向、指甲的背部指向坐标系中z轴的负方向。
实施方式四
本申请的实施方式四提供了一种个性化指甲贴的制造系统,该个性化指甲贴的制造系统均基于实施方式一至三中的任一项中所设计的基于点云的指甲形状提取系统及方法的设计和实施,其实际流程或结构与之近似但又有所区别,以下着重对于区别之处进行描述,若非针对区别之处予以的详细说明,均可认为与实施方式一至三中相同而不再赘述。
本实施方式四中,参见图10所示,一种个性化指甲贴的制造系统,包括依次序连接设置的甲形拓取子系统、前述实施方式一至三中任一实施例中所述的基于点云的指甲形状提取系统、参数生成子系统和产品加工子系统。
具体的,指甲形状提取系统中各子系统的连接关系及作用如下:
甲形拓取子系统用于提取用户的包含有指甲的手指的3D形状,然后测量手指的3D形状数据,并将测量结果传输给指甲形状提取系统;
基于点云的指甲形状提取系统用于将甲形拓取子系统输出的手指的3D形状数据转换为3D点云形式,提取出其中的曲面的指甲点云,将曲面的指甲点云展开成平面的指甲点云,提取其中表示轮廓的指甲点云后以2D形状数据的形式传输给参数生成子系统;
参数生成子系统用于将基于点云的指甲形状提取系统输出的平面的指甲轮廓的2D形状数据和顾客所选择的个性化指甲贴参数结合起来计算生成个性化指甲贴的2D数字模型,并将所生成的2D数字模型转换成加工参数后,将加工参数传输给产品加工子系统;
产品加工子系统用于根据参数生成子系统输出的加工参数将待加工材料加工成为个性化指甲贴。
本申请实施方式四还提供了一种指甲贴,参见图11所示,该指甲贴是利用本实施方式中的个性化指甲贴的制造系统制作而成的,个性化定制指甲贴,制作出来的指甲贴虽是平面状态,却能完美贴合目标手指的指甲表面弧度和轮廓,从而能够优质地贴合指甲。

Claims (13)

  1. 一种基于点云的指甲形状提取系统,其特征在于,包括对点云进行处理的循环处理装置,所述循环处理装置包括:
    点云获取模块,构成为能够获取点云数据,并将获取的点云数据转化为点云列表{R act}的形式输出;
    点云处理模块,与所述点云获取模块连接,所述点云处理模块构成为能够对所述点云获取模块输出的点云列表{R act}中的点做循环动作,并获得新的点云列表{R act’};
    所述点云处理模块包括:
    压入单元,与所述点云获取模块连接,所述压入单元构成为能够获取所述点云获取模块输出的点云列表{R act},并将点云列表{R act}中的点全部压入一为空的待动作点列表{A act}中;
    选择单元,与所述压入单元连接,所述选择单元构成为能够从待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act};
    动作单元,与所述选择单元连接,所述动作单元构成为能够选择出邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合动作的邻点N act(i)压入点云列表{R act}和待动作点列表{A act}中;
    剔除单元,与所述动作单元连接,所述剔除单元构成为能够将所述当前动作点P act标记为已动作点,并将该已动作点从所述待动作点列表{A act}中剔除;
    循环单元,与所述选择单元、所述动作单元和所述剔除单元连接,所述循环单元构成为能够促进所述选择单元、所述动作单元和所述剔除单元循环动作,直至所述待动作点列表{A act}为空,获得新的点云列表{R act’}。
  2. 根据权利要求1所述的基于点云的指甲形状提取系统,其特征在于,在所述动作单元中,对于邻点{N act}中的非已动作点,计算每一邻点N act(i)与当前动作点P act的法向量夹角θ i,将邻点{N act}中与当前动作点P act的法向量夹角θ i小于或等于角度阈值θ thres的邻点N act(i)标记为可继续动作点,反之标记为不可继续动作点;
    判定连续含有已动作点和/或可继续动作点最多的区域中范围最大的区域为合适动作范围{R c},然后将该合适动作范围{R c}内的可继续动作点压入到点云列表{R act}和待动作点列表{A act}中。
  3. 根据权利要求2所述的基于点云的指甲形状提取系统,其特征在于,在所述动作单元中,以当前动作点P act作为中心点,将当前动作点P act周围的空间均分为n个区域,比较每一区域中的不同类型邻点N act(i)的数目,选定待动作候选区域,然后将其中角度最大的待动作候选区域判定为当前动作点P act周围的合适动作范围{R c};
    按照如下条件选择所述待动作候选区域:
    将可继续动作点更多的区域划分为可继续动作区域,将无点云的区域和不可动作点更多的区域划分为不可动作区域,将已动作点更多的区域划分为已动作区域,将相互邻接的可继续动作区域和/或已动作区域整合为待动作候选区域;或者
    将可继续动作点与已动作点的数目之和不小于不可动作点的数目的区域划分为可继续动作区域,反之,将无点云的区域和可继续动作点与已动作点的数目之和小于不可动 作点的数目的区域划分为不可动作区域,将相互邻接的可继续动作区域整合为待动作候选区域;或者
    将仅具有可继续动作点和/或已动作点的区域划分为可继续动作区域,将无点云的区域和含有不可动作点的区域划分为不可动作区域,将相互邻接的可继续动作区域整合为待动作候选区域。
  4. 根据权利要求1所述的基于点云的指甲形状提取系统,其特征在于,在所述动作单元中,对于邻点{N act}中的非已动作点,将每一邻点N act(i)展平至落入设定平面内,然后将展平后的每一邻点N act(i)均压入到点云列表{R act}和待动作点列表{A act}中,并作为下一次展平的新的当前动作点P act’;
    所述设定平面与待展平的点云中表示轮廓的点云所形成的平面平行。
  5. 根据权利要求4所述的基于点云的指甲形状提取系统,其特征在于,在所述动作单元中,将所述当前动作点P act中的邻点{N act}按照等弧长的方式进行展平或者以投影的方式进行展平。
  6. 根据权利要求4或5所述的基于点云的指甲形状提取系统,其特征在于,在所述选择单元中,选择的第一个所述当前动作点P act落入所述设定平面内。
  7. 根据权利要求1-5中任一项所述的基于点云的指甲形状提取系统,其特征在于,在所述选择单元中,选择的邻点{N act}为以当前动作点P act为圆心、在设定搜索半径R rs范围内的所有点;或者
    在所述选择单元中,选择的邻点{N act}为与所述当前动作点P act的相对距离最近的设定数量N的点。
  8. 根据权利要求1-5中任一项所述的基于点云的指甲形状提取系统,其特征在于,所述基于点云的指甲形状提取系统还包括:
    点云矫正装置,与所述循环处理装置连接,所述点云矫正装置构成为能够将点云的姿势和位置转换到预设的姿势和位置上、并将该转换后的点云输送给所述循环处理装置。
  9. 根据权利要求1-5中任一项所述的基于点云的指甲形状提取系统,其特征在于,所述基于点云的指甲形状提取系统还包括:
    边缘处理装置,与所述循环处理装置连接,所述边缘处理装置构成为能够将所述循环处理装置输送的点云数据进行边缘处理,使得边缘平滑。
  10. 一种基于点云的指甲形状提取方法,其特征在于,包括对点云进行处理的循环处理步骤,所述循环处理步骤包括:
    步骤S1:利用点云获取模块获取点云数据,并将获取的点云数据转化为点云列表{R act}的形式输出;
    步骤S2:新建为空的待动作点列表{A act},利用点云处理模块对点云获取模块输出的点云列表{R act}中的点做循环动作,并获得新的点云列表{R act’};
    步骤S2中的步骤包括;
    步骤S21:利用压入单元获取点云获取模块输出的点云列表{R act},并将点云列表{R act}中的点全部压入为空的待动作点列表{A act}中,点云列表{R act}为空;
    步骤S22:利用选择单元从待动作点列表{A act}中选择一点作为当前动作点P act,并查找该当前动作点P act在设定条件下的所有邻点{N act};
    步骤S23:利用动作单元选择出所有邻点{N act}中符合动作的邻点N act(i)并进行分类选择生长动作或者展平动作,然后将符合动作的非已动作点中的邻点N act(i)全部压入点云列表{R act}和待动作点列表{A act}中;
    步骤S24:利用剔除单元将当前动作点P act标记为已动作点,并将该已动作点从待动作点列表{A act}中剔除;
    步骤S25:从余下的待动作点列表{A act}中选择一点作为新的当前动作点P act’,利用循环单元重复步骤S22-S24,直至待动作点列表{A act}为空,获得新的点云列表{R act’}。
  11. 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现如权利要求10所述的基于点云的指甲形状提取方法中的步骤。
  12. 一种个性化指甲贴的制造系统,其特征在于,包括依次序连接的甲形拓取子系统、前述权利要求1-9中任一项所述的基于点云的指甲形状提取系统、参数生成子系统和产品加工子系统;
    所述甲形拓取子系统构成为能够提取用户的包含有指甲的手指的3D形状,然后测量手指的3D形状数据,并将测量结果传输给所述指甲形状提取系统;
    所述基于点云的指甲形状提取系统构成为能够将甲形拓取子系统输出的手指的3D形状数据转换为3D点云形式,提取出其中的曲面的指甲点云,将曲面的指甲点云展开成平面的指甲点云,再提取出其中表示轮廓的指甲点云后以2D形状数据的形式传输给所述参数生成子系统;
    所述参数生成子系统构成为能够将所述基于点云的指甲形状提取系统输出的平面的指甲轮廓的2D形状数据和顾客所选择的个性化指甲贴参数结合起来计算生成个性化指甲贴的2D数字模型,并将所生成的2D数字模型转换成加工参数后,将加工参数传输给所述产品加工子系统;
    所述产品加工子系统构成为能够根据所述参数生成子系统输出的加工参数将待加工材料加工成为个性化指甲贴。
  13. 一种指甲贴,其特征在于,所述指甲贴为采用如权利要求12所述的个性化指甲贴的制造系统制作的个性化指甲贴。
PCT/CN2021/112160 2021-08-12 2021-08-12 甲形提取系统及其方法、存储介质、指甲贴及其制造系统 WO2023015508A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/553,677 US20240202946A1 (en) 2021-08-12 2021-08-12 Nail shape extraction system and method, storage medium, and nail sticker and manufacturing system therefor
PCT/CN2021/112160 WO2023015508A1 (zh) 2021-08-12 2021-08-12 甲形提取系统及其方法、存储介质、指甲贴及其制造系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/112160 WO2023015508A1 (zh) 2021-08-12 2021-08-12 甲形提取系统及其方法、存储介质、指甲贴及其制造系统

Publications (1)

Publication Number Publication Date
WO2023015508A1 true WO2023015508A1 (zh) 2023-02-16

Family

ID=85199671

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/112160 WO2023015508A1 (zh) 2021-08-12 2021-08-12 甲形提取系统及其方法、存储介质、指甲贴及其制造系统

Country Status (2)

Country Link
US (1) US20240202946A1 (zh)
WO (1) WO2023015508A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000719A1 (zh) * 2019-06-30 2021-01-07 华中科技大学 一种基于三维点云的小曲率薄壁零件机器人加工边界提取方法
CN112700479A (zh) * 2020-12-23 2021-04-23 北京超星未来科技有限公司 一种基于cnn点云目标检测的配准方法
CN112949557A (zh) * 2021-03-24 2021-06-11 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统
CN112949558A (zh) * 2021-03-24 2021-06-11 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统
CN112990037A (zh) * 2021-03-24 2021-06-18 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000719A1 (zh) * 2019-06-30 2021-01-07 华中科技大学 一种基于三维点云的小曲率薄壁零件机器人加工边界提取方法
CN112700479A (zh) * 2020-12-23 2021-04-23 北京超星未来科技有限公司 一种基于cnn点云目标检测的配准方法
CN112949557A (zh) * 2021-03-24 2021-06-11 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统
CN112949558A (zh) * 2021-03-24 2021-06-11 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统
CN112990037A (zh) * 2021-03-24 2021-06-18 上海慧姿化妆品有限公司 指甲轮廓的提取方法及系统

Also Published As

Publication number Publication date
US20240202946A1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
US9830701B2 (en) Static object reconstruction method and system
Dong et al. An efficient global energy optimization approach for robust 3D plane segmentation of point clouds
Samir et al. Three-dimensional face recognition using shapes of facial curves
US8229180B2 (en) System and method for automatic detection of anatomical features on 3D ear impressions
Tevs et al. Isometric registration of ambiguous and partial data
Zhu et al. Discriminative 3D morphable model fitting
CN111815686B (zh) 基于几何特征由粗到细点云配准方法
WO2018148841A1 (en) System, method, and apparatus for modelling feet and selecting footwear
JP4466951B2 (ja) 立体結合顔形状の位置合わせ
CN102081733B (zh) 多模态信息结合的多姿态三维人脸面部五官标志点定位方法
US20100066760A1 (en) Systems and methods for enhancing symmetry in 2d and 3d objects
CN110110694B (zh) 一种基于目标检测的视觉slam闭环检测方法
CN107818598B (zh) 一种基于视觉矫正的三维点云地图融合方法
WO2019214193A1 (zh) 点云采样方法、图像处理设备及具有存储功能的装置
WO2023015508A1 (zh) 甲形提取系统及其方法、存储介质、指甲贴及其制造系统
Sahin et al. Iterative hough forest with histogram of control points for 6 dof object registration from depth images
CN110942102A (zh) 一种概率松弛核线匹配方法及系统
Bookstein et al. Spline-based approach for averaging three-dimensional curves and surfaces
CN109410333B (zh) 一种高质量超面片聚类生成方法
CN110264562A (zh) 颅骨模型特征点自动标定方法
CN112949557A (zh) 指甲轮廓的提取方法及系统
CN112949558A (zh) 指甲轮廓的提取方法及系统
CN112990037A (zh) 指甲轮廓的提取方法及系统
Hlubik et al. Advanced point cloud estimation based on multiple view geometry
AU2021436510B2 (en) Method and system for extracting nail contours

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 18553677

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE