text:
/*
 *  (c) 2017 Michael A. Beck, Sebastian Henningsen
 *  		disco | Distributed Computer Systems Lab
 *  		University of Kaiserslautern, Germany
 *  All Rights Reserved.
 *
 * This software is work in progress and is released in the hope that it will
 * be useful to the scientific community. It is provided "as is" without
 * express or implied warranty, including but not limited to the correctness
 * of the code or its suitability for any particular purpose.
 *
 * This software is provided under the MIT License, however, we would
 * appreciate it if you contacted the respective authors prior to commercial use.
 *
 * If you find our software useful, we would appreciate if you mentioned it
 * in any publication arising from the use of this software or acknowledge
 * our work otherwise. We would also like to hear of any fixes or useful
 */
package unikl.disco.calculator.network;

import java.util.Map;
import java.util.Set;
import java.util.Stack;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;

import unikl.disco.calculator.symbolic_math.Arrival;
import unikl.disco.calculator.symbolic_math.BadInitializationException;
import unikl.disco.calculator.symbolic_math.AdditiveComposition;
import unikl.disco.calculator.symbolic_math.SymbolicFunction;
import unikl.disco.calculator.symbolic_math.UnitaryMinus;
import unikl.disco.calculator.symbolic_math.functions.BFunction;
import unikl.disco.calculator.symbolic_math.functions.ConstantFunction;
import unikl.disco.calculator.symbolic_math.Hoelder;
import unikl.disco.calculator.symbolic_math.NewParameter;
import unikl.disco.calculator.symbolic_math.functions.scaledFunction;
import unikl.disco.calculator.symbolic_math.Service;
import unikl.disco.misc.AnalysisException;
import unikl.disco.misc.SetUtils;

/**
 * This analysis gives an end-to-end performance bound for ladder networks. A
 * ladder network consists of the flow of interest and two types of crossflows:
 * The first type share the entire path of the flow of interest. The second type
 * shares exactly one node with the flow of interest (in the following called
 * "rung-flows"). For the analysis the rung-flows are subtracted from each node.
 * After that the convolution and subtraction of the remaining crossflows is
 * performed in a single step. This is done by using Theorem 3.1 in the
 * PhD-thesis of Michael Beck, which is related to the results established in
 * the paper: "An End-to-End Probabilistic Network Calculus with Moment
 * Generating Functions" by Markus Fidler. The analysis checks for each
 * crossflow that is not a rung-flow whether it passes through the preceeding
 * and succeding node as well. If it does not the given topology is not a ladder
 * network. The arrivals for all rung-flows must be known for this analysis to
 * be performed.
 *
 * @author Michael Beck
 * @author Sebastian Henningsen
 * @see AbstractAnalysis
 *
 */
public class LadderAnalysis extends AbstractAnalysis {

    //Members
    //Constructors
    /**
     * Constructs the Analysis-Object, with all information needed to give the
     * wished performance bound for the flow.
     *
     * @param nw
     * @param vertices the set of vertices in the network
     * @param flows the set of flows in the network
     * @param end_node the last vertex on the path for which an end to end bound
     * is calculated. The starting node is always the ingress node of the flow.
     * @param flow_of_interest the flow for which the performance bound is
     * calculated
     * @param boundtype the type of bound, which should be calculated. Note: All
     * performance bounds are given in {
     * @Arrival}-representation.
     */
    public LadderAnalysis(Network nw, Map<Integer, Vertex> vertices, Map<Integer, Flow> flows, int flow_of_interest, int end_node, Boundtype boundtype) {
        super(nw, vertices, flows, flow_of_interest, end_node, boundtype);
    }

    //Methods
    public boolean isRungFlow(Flow flow) {
        // Check whether the flow is a rung flow and has the highest priority at the node
        boolean isRung = true;
        Flow foi = flows.get(flow_of_interest);
        List<Integer> foiRoute = foi.getVerticeIDs();
        List<Integer> route = flow.getVerticeIDs();
        int establishedVertex = flow.getCurrentVertexID();
        // First we check whether the xflow has an established arrival at the intersection with the foi
        // TODO: Use the java 8 streaming api.
        // Since we have a feed forward network there can be no duplicates on the path
        // -> the simple or-check is sufficient
        boolean initial = false;
        for (Integer v : foiRoute) {
            initial |= v == establishedVertex;
        }
        if (!initial) {
            System.out.println("No initial arrival");
            return false;
        }
        // Next we check whether the xflow and the foi intersect more than once
        List<Integer> intersections = getIntersectingNodes(flow, foi);
        if (intersections.size() > 1) {
            System.out.println("More than one intersection");
            return false;
        }
        // Next we check the priority of the crossflow. Due to assumption (2) we require
        // it to have the highest priority at the intersection
        Vertex intersectNode = vertices.get(intersections.get(0));
        isRung = intersectNode.getPrioritizedFlow() == flow.getID();
        return isRung;
    }

    public List<Integer> getIntersectingNodes(Flow rungFlow, Flow flowOfInterest) {
        List<Integer> intersections = new LinkedList<>();
        for (int foiVertex : flowOfInterest.getVerticeIDs()) {
            for (int v : rungFlow.getVerticeIDs()) {
                if (v == foiVertex) {
                    intersections.add(v);
                }
            }
        }
        return intersections;
    }

    public boolean hasCrossflow(int vertexID, List<Flow> rungFlows) {
        boolean hasCrossflow = false;
        for(Flow rf : rungFlows) {
            for (int v : rf.getVerticeIDs()) {
                hasCrossflow |= v == vertexID;
            }
        }
        return hasCrossflow;
    }

    public boolean isAggregateFlow(Flow flow) {
        // Check whether the flow has the same path as the flow of interest. TODO: Priority checking, initial arrival
        boolean isAggregate = true;
        List<Integer> route = flow.getVerticeIDs();
        Flow foi = flows.get(flow_of_interest);
        List<Integer> foiRoute = foi.getVerticeIDs();
        // Routes must have the same length
        if (route.size() != foiRoute.size()) {
            isAggregate = false;
            return isAggregate;
        }
        for (int i = 0; i < foiRoute.size(); i++) {
            isAggregate &= route.get(i).intValue() == foiRoute.get(i).intValue();
        }
        return isAggregate;
    }

    /**
     * Analyzes the network in three steps: First the rung-flows are subtracted.
     * Then the remaining crossflows are aggregated. Finally the end-to-end
     * performance bound is calculated using a concatenation theorem.
     *
     * @return The bound in the {@link Arrival}-representation.
     * @throws unikl.disco.calculator.network.ArrivalNotAvailableException
     */
    @Override
    public Arrival analyze() throws ArrivalNotAvailableException {
        // We make three assumptions:
        // (1) The relative priorities of the aggregate flows stay the same
        // (2) Crossflows always have the highest priority at the intersection with the aggregate flows
        // (3) The initial arrival of crossflows at the intersection with the flow of interest is known.
        // First: Test whether the network is a ladder network.
        List<Flow> rungFlows = new LinkedList<>();
        List<Flow> aggregateFlows = new LinkedList<>();

        for (Flow f : flows.values()) {
            if (f.getID() == flow_of_interest) {
                // Ignore the flow of interest
            } else if (isRungFlow(f)) {
                rungFlows.add(f);
                System.out.println("Flow " + f.getAlias() + " is a rung Flow.");
            } else if (isAggregateFlow(f)) {
                aggregateFlows.add(f);
                System.out.println("Flow " + f.getAlias() + " is an aggregate Flow.");
            } else {
                System.out.println("Flow " + f.getAlias() + " does not fit!.");
                throw new AnalysisException("Network is not in ladder format.");
            }
        }

        // Now we successfully checked for the validity of the network.
        // First step of the analysis: Subtract all the rung flows
        // and gather the leftover services in a list for later use
        List<Service> leftoverServices = new LinkedList<>();
        Flow foi = flows.get(flow_of_interest);
        List<Integer> foiRoute = foi.getVerticeIDs();
        for (int node : foiRoute) {
            if(hasCrossflow(node, rungFlows)) {
                System.out.println("Subtracting xf at node " + vertices.get(node).getAlias());
                vertices.get(node).serve();
                leftoverServices.add(vertices.get(node).getService());
            }
            else {
            	System.out.println("Nothing to subtract at node "+ vertices.get(node).getAlias());
            	leftoverServices.add(vertices.get(node).getService());
            }
        }

        // Second step of the analysis: Aggregation of higher priority through-flows.
        // Therefore we multiplex the initial arrivals of all aggregate flows and remove them from the network
        // The resulting arrival is stored in
        Arrival aggregatedThrough = new Arrival(nw);
        if (aggregateFlows.size() == 0 ){
        	//do nothing
        }
        else if (aggregateFlows.size() <= 1) {
            aggregatedThrough = aggregateFlows.get(0).getInitialArrival();
            nw.removeFlow(aggregateFlows.get(0));
        } else {
            Flow f1 = aggregateFlows.get(0);
            Flow f2 = aggregateFlows.get(1);
            aggregatedThrough = aggregatedThrough.multiplex(f1.getInitialArrival(), f2.getInitialArrival());
            nw.removeFlow(f1);
            nw.removeFlow(f2);
            for (int i = 2; i < aggregateFlows.size(); i++) {
                f1 = aggregateFlows.get(i);
                aggregatedThrough = aggregatedThrough.multiplex(aggregatedThrough, f1.getInitialArrival());
                nw.removeFlow(f1);
            }
        }
        System.out.println("Aggregate Arrival: " + aggregatedThrough);
        //Third Step: Using the concatenation result.
        Arrival bound = null;
        bound = calculateBound(flows.get(flow_of_interest).getInitialArrival(), leftoverServices, aggregatedThrough);
        return bound;
    }

    /**
     * Helper function for {@link analysis()}. It takes the FoI and above
     * information to calculate end to end performance bounds. Stochastic
     * dependencies are taken into account and might increase the number of
     * Hoelder-coefficients.
     *
     * @param arrival the {@link Arrival}-description of the FoI
     * @param service the {@link Service}-description of the SoI
     * @return the bound in the {@link Arrival}-description
     * @throws BadInitializationException
     */
    //TODO:(Michael) Get Arrival representation for the delay- (backlog-, and output-)bound.
    private Arrival calculateBound(Arrival arrival, List<Service> leftover_services, Arrival aggregated_through) {

        Arrival result;

        //The result is dependent on the wished performance-bound
        switch (getBoundtype()) {
            //TODO:(Michael) Update this to end-to-end
            case BACKLOG:
                System.out.println("Ladder Analysis for output-bound not implemented, yet.");
                result = new Arrival(nw);
                break;

            case DELAY:

                //TODO: This dependent case needs thorough testing! Not recommended to use before that.
                //the sigma and rho of the bound:
                /*SymbolicFunction sigma;
			SymbolicFunction rho;

			//Intermediate sigmas and rhos used to construct above
			SymbolicFunction sigma_A;

			SymbolicFunction rho_agg = aggregated_through.getRho();
			SymbolicFunction sigma_agg = aggregated_through.getSigma();

			//Preparations to process dependencies
			List<Set<Integer>> agg_and_lo_arrival = new ArrayList<Set<Integer>>();
			agg_and_lo_arrival.add(aggregated_through.getArrivaldependencies());
			List<Set<Integer>> agg_and_lo_service = new ArrayList<Set<Integer>>();
			agg_and_lo_service.add(aggregated_through.getServicedependencies());

			List<Set<Integer>> lo_arrival = new ArrayList<Set<Integer>>();
			List<Set<Integer>> lo_service = new ArrayList<Set<Integer>>();
			List<Set<Integer>> reduced_lo_arrival = new ArrayList<Set<Integer>>();
			List<Set<Integer>> reduced_lo_service = new ArrayList<Set<Integer>>();

			for(Service leftover_service : leftover_services){
				agg_and_lo_arrival.add(leftover_service.getArrivaldependencies());
				agg_and_lo_service.add(leftover_service.getServicedependencies());

				lo_arrival.add(leftover_service.getArrivaldependencies());
				lo_service.add(leftover_service.getServicedependencies());
				reduced_lo_arrival.add(leftover_service.getArrivaldependencies());
				reduced_lo_service.add(leftover_service.getServicedependencies());
			}
			//Processing of dependencies: Hoelder parameters are introduced for each dependency encountered.
			//Splitting off the flow of interest from the calculations
			if(!SetUtils.getIntersection(arrival.getArrivaldependencies(),SetUtils.getUnion(agg_and_lo_arrival)).isEmpty()
					|| !SetUtils.getIntersection(arrival.getServicedependencies(),SetUtils.getUnion(agg_and_lo_service)).isEmpty())
					{
				Hoelder hoelder = nw.createHoelder();
				rho = new UnitaryMinus(new scaledFunction(arrival.getRho(),hoelder,true));
				sigma_A = new scaledFunction(arrival.getSigma(),hoelder,true);

				rho_agg = new scaledFunction(aggregated_through.getRho(),hoelder,false);
				sigma_agg = new scaledFunction(aggregated_through.getSigma(),hoelder,false);
				for(Service leftover_service : leftover_services){
					leftover_service.setRho(new scaledFunction(leftover_service.getRho(),hoelder,false));
					leftover_service.setSigma(new scaledFunction(leftover_service.getSigma(),hoelder,false));
				}
			}
			else{
				rho = new UnitaryMinus(arrival.getRho());
				sigma_A = arrival.getSigma();
			}
			//Splitting off the aggregated through-flow from the calculations
			if(!SetUtils.getIntersection(aggregated_through.getArrivaldependencies(), SetUtils.getUnion(lo_arrival)).isEmpty()
					|| !SetUtils.getIntersection(aggregated_through.getArrivaldependencies(), SetUtils.getUnion(lo_service)).isEmpty()){
				Hoelder hoelder = nw.createHoelder();
				rho_agg = new scaledFunction(rho_agg,hoelder,true);
				sigma_agg = new scaledFunction(sigma_agg,hoelder,true);

				for(Service leftover_service : leftover_services){
					leftover_service.setRho(new scaledFunction(leftover_service.getRho(),hoelder,false));
					leftover_service.setSigma(new scaledFunction(leftover_service.getSigma(),hoelder,false));
				}
			}
			//Splitting off each leftover service from the calculations
			List<Service> sublist_leftover_services = leftover_services.subList(1, leftover_services.size());
			for(Service leftover_service : leftover_services){
				reduced_lo_arrival.remove(leftover_service.getArrivaldependencies());
				reduced_lo_service.remove(leftover_service.getServicedependencies());
				if(!SetUtils.getIntersection(leftover_service.getArrivaldependencies(), SetUtils.getUnion(reduced_lo_arrival)).isEmpty()
					||	!SetUtils.getIntersection(leftover_service.getServicedependencies(), SetUtils.getUnion(reduced_lo_service)).isEmpty()){
					Hoelder hoelder = nw.createHoelder();
					leftover_service.setRho(new scaledFunction(leftover_service.getRho(),hoelder,true));
					leftover_service.setSigma(new scaledFunction(leftover_service.getSigma(),hoelder,true));
					for(Service other_service : sublist_leftover_services){
						other_service.setRho(new scaledFunction(other_service.getRho(),hoelder,false));
						other_service.setSigma(new scaledFunction(other_service.getSigma(),hoelder,false));
					}
					sublist_leftover_services = sublist_leftover_services.subList(1,sublist_leftover_services.size());
				}
			}*/
                //INDEPENDENT CASE
                SymbolicFunction rho = new UnitaryMinus(arrival.getRho());
                SymbolicFunction sigma = arrival.getSigma();
                SymbolicFunction rho_through_total = arrival.getRho();
                if(aggregated_through != null){
                	sigma = new AdditiveComposition(arrival.getSigma(), aggregated_through.getSigma());
                	rho_through_total = new AdditiveComposition(arrival.getRho(), aggregated_through.getRho());
                }

                for (Service leftover_service : leftover_services) {
                    sigma = new AdditiveComposition(sigma, leftover_service.getSigma());
                    sigma = new AdditiveComposition(sigma, new BFunction(new AdditiveComposition(leftover_service.getRho(), rho_through_total)));
                }

                System.out.println("Ladder Analysis (Independent Case):");
                //Debugging
                System.out.println("Delay-Form Sigma: "+sigma.toString());
                System.out.println("Delay-Form Rho: "+rho.toString());

                result = new Arrival(sigma, rho, nw);

                break;
            //TODO: (Michael) Update this to end-to-end (if possible)
            case OUTPUT:
                System.out.println("Ladder Analysis for output-bound not implemented, yet.");
                result = new Arrival(nw);
                break;

            default:

                result = new Arrival(nw);
        }

        return result;
    }

}


text:
Home / Mesothelioma Lawyers / Florida Mesothelioma Lawyer / Miami Mesothelioma Lawyer
Miami Mesothelioma Lawyer
Page Reviewed and Edited by Florida Mesothelioma Lawyer Rebecca S. Vinocur, P.A.
As a coastal city, Miami became the site of a booming shipbuilding industry in the early 1900. Shipyards, but also many other Miami job sites and industries used asbestos prior to the 1970s Environmental Protection Agency (EPA) regulations limiting them. Thousands of Miami workers were put at risk for developing dangerous diseases such as mesothelioma and asbestosis as a result.
If you or someone you love suffers from mesothelioma, asbestos-related lung cancer, or asbestosis, you may qualify for substantial compensation. We invite you to fill out our form today for a free Financial Compensation Packet, filled with information about top mesothelioma lawyers in your Miami, how to get paid in 90 days, how to file an asbestos trust fund claim, and much more.
Miami and Asbestos Facts
Miami-Dade County had the fourth highest number of asbestos-related deaths in Florida between 1999 and 2013.
The county's death toll from asbestos causes was 745 during that period.
Several shipyards in Miami contributed to asbestos deaths in the area. Other contributors included Bendix, a brake manufacturer, and Nabi pharmaceuticals.
Shipyards Associated Asbestos Use in Miami
Miami's economy once relied on the shipbuilding and repair industry. Ships at one time used asbestos in nearly all components, putting workers at risk of exposure. Shipyards associated with asbestos, in Miami include:
Miami Shipbuilding Corporation
Jones Boat Yard
Miami-Dade Drydock
American Shipbuilding
Merrill Stevens Drydock
Bendix Brakes and Asbestos
The shipbuilding industry is among the heaviest users of asbestos in the past, but not the only one. Bendix, a company that manufactured vehicle brakes, used asbestos in its parts. The asbestos helped to reduce friction and overheating in components.
In 2008, a Miami jury ruled against Honeywell International, the parent company of Bendix, after a former employee sued the company. Stephen Guilder worked for Bendix during the 1970s and 1980s. Several years later, Guilder was diagnosed with peritoneal mesothelioma, which stemmed directly from his prolonged exposure to asbestos while working as a mechanic for Bendix.
Guilder's health declined rapidly and the trial was expedited, resulting in a $24.1 million victory for Guilder. The total includes pain and suffering, as well as future lost income. In addition, his wife and three children were awarded $7.1 million, which was factored into the total amount.
Asbestos at Nabi Pharmaceuticals
Another area job site resulted in a huge monetary award for a victim of asbestos exposure. Charles Thornton worked at Nabi maintaining equipment made by GEA Mechanical Equipment. Centrifuges and other machinery used in the labs contained asbestos in some parts. While doing maintenance work on them Thornton was exposed and ultimately developed mesothelioma. His lawyers recently helped him recover a jury award of $70 million.
Other Job Sites Associated with Asbestos in Miami
Several other Miami businesses and buildings have been associated with asbestos, including:
Mt. Sinai
Miami VA
Palmetto Middle School
Holmes Elementary School
Martin Luther King Elementary School
Tropical Elementary School
Riviera Middle School
Coral Gables High School
Miami Springs High School
Miami Beach High School
University of Miami School of Medicine
Northwestern High School
Delido Hotel
Doral Hotel
Eden Rock Hotel
Fontainebleau Hotel
Hollywood Beach Hotel
Holiday Inn Miami
Miami Electric Light & Power
Dadeland Shopping Center
Miami Steam Electric Station
Turkey Point Power House
Pabco Packing Company
Asbestos in Miami-Dade Schools
Around 1978, several schools in the Miami-Dade Public School District began experiencing asbestos fibers floating through the hallways. Many students from area high schools were transferred while crews worked to secure the problems.
In 1988, asbestos issues surfaced again and hundreds of elementary school children were transported to different schools while the air quality was tested. More than half of the schools tested in 1988 showed positive signs of asbestos.
Getting Medical Help in Miami
Mesothelioma and other asbestos illnesses require specialized care. Seek out physicians who are experienced with these types of diseases.
The following are among a few of the Miami area comprehensive cancer care physicians recommended by the National Cancer Institute (NCI):
Thomas Sellers, Ph.D., M.P.H., 12902 Magnolia Drive, Tampa, Florida 33612, Main: 813-745-4673 (813-745-HOPE)
Dao Nguyen M.D., 1475 NW 12th Avenue, Miami, Florida, 33136, 305-243-1000
Mark Dylewski M.D., 6855 Red Road, Coral Gables, Florida, 33146, 786-662-7111
Getting Legal Help in Miami
Rebecca S. Vinocur heads up her own mesothelioma law firm based in Coral Gables, Florida. A graduate of the University of Miami School of Law, Rebecca has over twenty years of mesothelioma law practice in the state of Florida. She uses her experience and knowledge of asbestos litigation to fight on behalf of asbestos victims who are battling mesothelioma and other related illnesses.
http://www.asbestosnation.org/facts/asbestos-deaths/fl/
http://media.miamiherald.com/smedia/2008/04/28/21/lawsuit_doc.source.prod_affiliate.56.pdf
http://news.google.com/newspapers?nid=1917&dat=19880407&id=tnEhAAAAIBAJ&sjid=TogFAAAAIBAJ&pg=845,1437502
http://www.cancer.gov/researchandfunding/extramural/cancercenters/find-a-cancer-center#Florida
https://www.jdsupra.com/legalnews/toxic-tort-monitor-florida-jury-awards-33112/

redpajama_set_name: RedPajamaCommonCrawl


text:
Six Academic Women Honored for Scholarship or Service
Posted on May 04, 2011 | Comments 0
Mary M. Doyle, vice chancellor for information technology at the University of California, Santa Cruz, has been selected to receive the 2011 Distinguished Service Award from the Society for College and University Planning.
Dr. Doyle holds a bachelor's degree and an MBA from Arizona State University and a doctorate from the University of California, Santa Barbara. She is the coauthor of the book, Technology-Driven Planning: Principles to Practice.
Sara Manzano-Diaz, director of the Women's Bureau at the U.S. Department of Labor, received the One Woman Award from the Institute for Women's Health and Leadership at the Drexel University College of Medicine in Philadelphia. The awards banquet raised more than $200,000 to provide scholarships for minority women at the medical school.
Manzano-Diaz is a graduate of Boston University and holds a law degree from Rutgers University.
The board of trustees of Vanderbilt University has voted to name the commons building for first-year students in honor of Martha R. Ingram, who has served as chair of the board of trustees for the past 12 years. The building will now be known as the Martha Rivers Ingram Commons at Vanderbilt University. A sculpture of Ingrams has been commissioned for placement in the building.
Mary Shaw, the Alan J. Perlis Professor of Computer Science at Carnegie Mellon University in Pittsburgh, will receive the 2011 Outstanding Research Award from the Association for Computing Machinery's Special Interest Group on Software Engineering.
Since earning her Ph.D. in computer science at Carnegie Mellon in 1972, Dr. Shaw has served on the university's faculty. She was an associate dean for professional education from 1992 to 1999.
Jane Springer, visiting assistant professor of English at Hamilton College, won the 2011 Beatrice Hawley Award for her book of poetry Murder Ballad.
Dr. Springer holds a Ph.D. in creative writing from Florida State University. Her earlier award-winning collection of poetry, Dear Blackbird, was published by the University of Utah Press in 2007.
Monika Shafi, the Elias Ahuja Professor of German and director of the women's studies program at the University of Delaware, received the E. Arthur Trabant Award for Women's Equity from the university's Office of Equity and Inclusion.
A graduate of the University of Freiburg in Germany, Dr. Shafi earned her Ph.D. at the University of Maryland. She has taught at the University of Delaware since 1986.
Filed Under: Awards
Tags: Carnegie Mellon University • Department of Labor • Drexel University • Hamilton College • poetry • Society for College and University Planning • University of California • University of Delaware • Vanderbilt University


text:
Joe Jonas and Demi Lovato Celebrate Halloween Weekend at Costume Party in L.A.
The Camp Rock 2 costars and former couple posed for a selfie at a Halloween party in Los Angeles
By Tristan Balagtas and Tristan Balagtas October 31, 2021 04:30 PM
Joe Jonas and Demi Lovato reunited for Halloween!
The Camp Rock 2 costars and former couple posed for a selfie at a Halloween party in Los Angeles over the weekend.
On Sunday, Jonas, 32, shared the photo with a purple heart on his Instagram Stories. The "Sorry, Not Sorry" singer also shared Jonas' post on their IG stories.
As if the reuniting of the pair wasn't nostalgic enough, the "Leave Before You Love Me" singer, who has been married to Game of Thrones actress Sophie Turner for two years, took it back to the early 2000s with a brilliant costume.
Jonas wore an all-black get-up, complete with headset microphone as he dressed up as Italian pop star Paolo Valisari from The Lizzie McGuire Movie. Turner also took inspiration from the 2003 Disney film as she dressed as Isabella Parigi, the Italian pop star also played by Hilary Duff who also portrayed the titular character.
RELATED: The Best Celebrity Halloween Costumes of 2021
Never miss a story — sign up for PEOPLE's free daily newsletter to stay up-to-date on the best of what PEOPLE has to offer, from juicy celebrity news to compelling human interest stories.
Meanwhile, Lovato kept it cool this year in a shiny, biker-chic outfit, and black lip.
Jonas and Lovato first met on the set of Camp Rock in 2007. The pair went public with their relationship in March 2010, but called it quits after three months of dating.
Demi Lovato and Joe Jonas Halloween
Credit: Joe Jonas/Instagram
Shortly after the split, both stars vowed to remain close and Lovato toured with the Jonas Brothers that same year.
Jonas told PEOPLE at the time, "Demi and I knew going into our romantic relationship that it may not be an easy one. I realize over the time we have shared together that I feel I care more about our friendship right now. It was my choice to break up but I love her as a friend. She's been there for me when I needed her. I will continue to be her friend and be there for her."
In April 2020, Lovato told Harper's Bazaar said they were not in contact with Jonas. At the time of the interview, the singer named Miley Cyrus as the only fellow Disney Channel alum to stay in touch with them.
Also at the party with Jonas and Lovato were Paris Hilton, Ashley Benson, Rebel Wilson and more stars.
By Tristan Balagtas and Tristan Balagtas


text:
title: When Boys Become Men By Dancing
layout: page
author: lguo
permalink: /2017-04-20-When-boys-become-men-by-dancing-LGuo/
tags:
- adaptation
- sexual selection
- evolution
- behavior
categories:
- Earth's Organisms
header:
 image_fullwidth: organisms-header.jpg
image:
 thumb: 2017-04-20-LGuoA.jpg
teaser: It's hard to catch the attention of ladies sometimes. So why not do a little dance, to make a little love? Let's catch up on some of the best courtship dances in the natural world.
subheadline: Hot moves and sexy sons

source-id: 1jb7TfFJ1LCqxgppotzgxHpfqoqc4MNjwCXV6THE3_2g
published: true
---
In many animal species, males have to work very hard to catch the attention of females. If this seems odd to you, think about this. Females invest more energy into creating eggs, which are rich in nutrients, and into parental care for babies once they're born. Because males do not usually have these energetic costs, they have more energy available for mating multiple times. What this means is that females are limited by the resources that give them energy, while males are limited by the females they can mate with. The prevailing theory in evolution is that this causes females to be highly selective of males.

So, if you can be choosy, why not pick the guy with the brightest color patches, or the largest throat pouch? Courtship dances are a more extreme behavior that we tend to notice because they can be so bizarre and so very fascinating!

Let's have a look at some of the best courtship dances out there!

**1. Great Argus Pheasant – Most Hypnotic Feathers**

**2. Peacock Spiders – Most Diverse Use of Hairy Legs (and Butts)**

**3. Ostrich – Best Imitation of a Flamenco Dancer**

**4. Weedy Seadragons - Most Synchronized**

**5. Clark's Grebe – Best Walk on Water** (wait for it…)

My, my, what lucky ladies to have such a selection to choose from! Anyone think I can get some of my fellow graduate students to imitate some of these courtship dances with me? Yeah, I didn't think so either…

Note: Post thumbnail of a Australian peacock spider (*Maratus splendens*) was taken by [Jergen Otto](https://flic.kr/p/9H5jEJ)

## More From Thats Life [Science]
{: .t60 }
{% include list-posts offset="1" entries="5" category="Earth's Organisms" %}

redpajama_set_name: RedPajamaGithub


A digital scrapbooking paper edge set by Erica Zane, EZ Edges will add an awesome realistic depth to your pages.
This digital scrapbook paper set includes 5 folded and sewn paper pieces. Each paper includes 3 layers: the base paper, the extracted edge and a shadow layer. The base paper can be used as is or as a clipping mask for even more options. The extracted folded & sewn edge can be used alone or with the base paper. The convenient shadow file is included for easy layering but of course you can make your own if you prefer. The files are all saved as .png and can be easily recolored using your color balance and/or hue/saturation tools.


Small 10 x 12 inch oil painting completed over two days in my studio from photographs and sketches made on a recent trip to Cornwall. Such a beautiful walk along the cliffs from The Lizard to Kynance Cove.
This entry was posted in Uncategorized and tagged Art, Cornwall, Kynance Cove, Marine painting., Oil painting, painting, seascape., The Lizard. Bookmark the permalink.
Excellent Beach Scene, you really captured the wave well.
Cheers, Shawn. I was pleased how the wave turned out.


ECBC Envelope - High Performance Commercial Buildings in India Timber. 0.072. 1.68. 480. Table 1: Thermal properties of different materials ( source: ECBC ..... Available in wide range of style and shapes PVC frames has high R– value .... Use light coloured roofs having an SRI (solar reflectance index) of.
User Guide for Homes - IFC May 15, 2015 ... Table 2: Solar reflectivity values for typical materials . ...... include insulating empty lofts, stud walls, and under suspended timber floors.
Preliminary survey of the solar reflectance of cool ... - Science Direct Here we report quantitative values of solar reflectance for a few types of materials and discuss which material .... on roofs, but clearly the west and east walls of buildings also ..... was placed on a wooden roof platform only 10 cm above the.
Whiter than White report - Materials Council decree to white-wash all walls and surfaces, white ... Albedo. Albedo is the term used to describe the total solar radiation ... The Light Reflectance Value (LRV) of a material ... timber, polymers - are derived from many different raw materials and .
Inclusion of Solar Reflectance and Thermal Emittance Prescriptive ... May 18, 2006 ... If the product's three-year-aged values of solar reflectance and ..... From the distributor, there are three main channels to the end-user: lumber yards (45 to 50 % of ..... The 9 foot high walls are stucco exterior, gypsum-board.
Wall U-value Calculator 8, Overview, Summary, Wall U-value, Floor U-value, Roof U-value, Glazing ... 16, timber joists with insulation between; ..... 20, Solar Reflectance Index (SRI).
Using Light Reflectance Values of Paint Colours - Resene If you have painted a wall with matt paint and find it is too flat you can paint ... Click here for information on Total Solar Reflectance and Resene CoolColour technology. The light reflectance values of Resene colours are listed on Resene colour ... reflectance value than the same stain applied over a darker timber like Kwila.
Wooden Roof - Polyglass The decision to use a wooden roof is based on a series of design factors, most ... with strength (ideal in earthquake-prone areas), aesthetics and thermal value. ... to give them a longer lifespan and improve the roof's solar reflectance (SRI) ratings. ... turn-ups between the metal profile (membrane retainer) and concrete wall.
roofs with photovoltaic systems - Index Construction Systems and ... solar reflectance values of the roof; the sub- sequent ... In the case of roof- or wall -mounted modules, it is essential that a gap ..... fixed to the wooden strip.


text:
Home | Subscribe
Business & Finance: Emirates Airline offers Ethiopians, Kenyans free UAE tourist visas
Business & Finance: UAE Exchange to enter Ghana, Nigeria and South Africa
Infrastructure: Mara Group fanfares rival messenger to WhatsApp in Africa
Business & Finance: Majid Al Futtaim signs Nairobi mall lease: its first in Sub-Saharan Africa
Business & Finance: Top 10 deals between the GCC and Sub-Saharan Africa, Q3 2014
Arts & Culture: Kuwait offers Comoros citizenship to stateless Bidoon
Agriculture: UAE investor Al Dahra calls for Namibian consulate, direct flights
Infrastructure: Shapoorji Pallonji acclaimed as IQPC Contractor of the Year
Infrastructure: Dubai's Thuraya launches portable satellite broadband with Airtel
Infrastructure: Oman, Tanzania and China to jointly develop $11bn port, free zone
TODAY'S HEADLINES:
By GAR staff on 06.11.2014.
Oman's State General Reserve Fund (GSRF), Tanzania's government and China Merchants Holding International (CMHI), a state port and free zone operator, have signed an MoU to jointly develop the $11bn Bagamoyo port and a special economic zone in eastern Tanzania.
Inked in the presence of President Jakaya Kikwete of Tanzania, the agreement follows weeks of visits by Tanzanian delegations to view Oman's free zones and the special economic zone in Duqm to discuss the technical ability Oman would bring to the table alongside investment.
"Ports have significant economic importance, and the rapid economic growth witnessed in East Africa only increases the importance of such projects."
"Ports in East Africa have significant economic importance for many landlocked African countries as well as the countries where they are located — the continuous and rapid economic growth witnessed in these countries increases the importance of such projects," noted Abdul Salam Al Murshidi, executive president of the GSRF.
An $11bn mega-project, Bagamoyo port's first phase will handle around twenty times the cargo capacity of Tanzania's main port at Dar es Salaam, with work scheduled to begin this year at the chosen location in Mbegani creek, 60km north of the capital and its existing port.
The first phase of the project will be ready in three years' time and will be able to handle 20 million containers annually, while the completion of every phase will take around 30 years.
The construction will also entail building of a 34km road joining Bagamoyo and Mlandizi and 65km of railway connecting the port to Tanzania's Central Line and Tanzania-Zambia Railway.
The development represents Tanzania's strategic vision for a role serving both east Africa and links to Asia through the Indian Ocean; while for Chinese industry, which relies on the guarantee of infrastructure support, it provides a platform for supply into east Africa.
Speaker Anne Makinda of Tanzania's National Assembly also took the opportunity to convey her country's interest in strengthening historic ties with Oman across a range of sectors.
Tanzania encourages Omani investment in agriculture and exploration
China Merchants Holdings is additionally involved in Djibouti, where it acquired a 23.5% share in Port de Djibouti (PDSA) – created in a 2012 incorporation of the country's assets.
A rejig of the $185m-value Port Autonome International De Djibouti (PAID), PDSA's holdings including 66.66% of the Doraleh Container Terminal (Dubai's DP World owns the remainder), and 23.10% of the Djibouti Dry Port, which manages properties in the Djibouti Free Zone.
Etihad Airways plans Dar es Salaam route, reinforcing Tanzania trend
Mara Group fanfares rival messenger to WhatsApp in Africa
Dubai-based group releases 'Mara Messenger' to rival apps like Whatsapp, Viber, WeChat, Mxit, 2go and the Ghana-focused Saya mobile
Shapoorji Pallonji acclaimed as IQPC Contractor of the Year
Middle East regional construction company Shapoorji Pallonji is recognised by industry experts at the Qatar Contractors Forum 2014
Top 10 deals between the GCC and Sub-Saharan Africa, Q3 2014
Qatar Airways launches first Gulf airline flights to Djibouti
South Africa's Metrofile expands into Gulf market with UAE acquisition
UAE Ministry of Economy offers to assist oil exploration in Namibia
Warning: Invalid argument supplied for foreach() in /home/wwwgulfa/public_html/nb-public/themes/gulf/blocks/news/most_news.php on line 122
Market Stock
GAR © 2013 The GAR is not responsible for the content of external sites. Read more.


ABC's "The View" averaged 2.913 million Total Viewers, 444,000 Women 25-54 and 310,000 Women 18-49, during the week of Oct. 8, 2018, based on Live + Same Day Data from Nielsen Media Research. "The View" beat CBS' "The Talk" (2.273 million, 340,000 and 247,000, respectively) during the week in Total Viewers (+640,000), Women 25-54 (+104,000) and Women 18-49 (+63,000). "The View" delivered its largest leads in Total Viewers since April, in Women 25-54 since February and in Women 18-49 since March - since weeks of 4/16/18, 2/12/18 and 3/19/18, respectively, based on original telecasts.
For the 3rd straight week, "The View" widened its Total Viewer lead over "The Talk" versus the year-ago week (+66%; vs. 385,000 for w/o 10/9/17).
For the 5th week in a row, "The View" improved on the same week last year in Total Viewers (+2% - 2.913 million vs. 2.844 million for w/o 10/9/17).
Season to date, "The View" leads CBS' "The Talk" across the board: Total Viewers (+606,000 - 2.905 million vs. 2.299 million), Women 25-54 (+91,000 - 453,000 vs. 362,000) and Women 18-49(+52,000 - 319,000 vs. 267,000). In fact, "The View" is increasing its Total Viewer lead over "The Talk" compared to last season (+88% - 606,0000 vs. 322,000) to its largest in 6 years - since the 2012-13 season.
In addition, "The View" is improving compared to the same point last season in Total Viewers (+4% - 2. 905 million vs. 2.804 million) seeing its most-watched season in 4 years - since the 2014-15 season.
NOTE: Due to pre-emptions for Hurricane Michael coverage on Wednesday (10/10/18), ABC's "The View" was retitled to "View." The telecast aired with 74% coverage is excluded from the weekly averages. ABC's are based on four days (Monday-Tuesday and Thursday-Friday).
Source: The Nielsen Company, NTI Total Viewers, Women 25-54 and Women 18-49 Live + SD weeks of 10/8/18, 10/1/18 and 10/9/17. Most Current: 2018 -2019 Season (9/24 - 10/14/18) and 2017-2018 Season (9/25 - 10/15/17). Averages based on regular telecasts.


Competitive, car allowance, private healthcare, 12% pension, bonus, life assurance.
Our UK Business unit has six manufacturing plants providing a great place to work for 1800 employees producing private label soft drinks and fruit juices for all the leading retailers including Tesco, ASDA, Morrison's, Sainsbury's, ALDI and Lidl. We also manufacture for branded customers such as Innocent, Ocean Spray, Weetabix, Del Monte and Um Bongo. Whether it's packed in Cartons, PET, Aseptic PET or Cans, we ensure that our products are not only manufactured to the highest quality standards but they get where they need to be when they need to get there to meet the needs of our high profile customers.
We're looking for an entrepreneurial, ambitious and resulted orientated Account Controller to be responsible for our Sainsbury's account. You will have experience of working with and using Category Management to identify opportunities to support the sales process. This role is field based, with some travel to our Kegworth Head Office required.
So what else can we tell you about this key role at Refresco?
The Account Controller- Sainsbury's position reports directly to the Commercial Director and operates as an integral member of the UK Commercial team. The purpose of the role is to head up the account with responsibility for turnover, volume, profitability, management and coordinator of a direct and business-wide cross functional team, ensuring optimum performance, providing customer focus whilst generating sustained, profitable growth. You will be delivering to high customer service levels with the ultimate aim of the customer being our number one priority.
What can you bring to our table?
As our Account Controller, we'll pay you a salary commensurate with your experience, as well as a competitive bonus, private healthcare for yourself and immediate family, car allowance, 4 x basic salary life assurance, pension contribution of 12% (employer) plus 25 days holiday (in addition to bank holidays).
Think that your vision is aligned with ours and want to join us in achieving our drinks on every table? Apply today and begin your Refresco journey.


text:
Q: How can i fix a bootstrap row element with a property of display: flex, blocking my page from displaying on the browser I am developing a Wordpress theme from scratch.
You will find my html and css code below.
Everything seems okay with my html and css, but when i preview the page on my browsers, both chrome and Mozilla firefox
nothing is showing up. Then i decide to do an element inspection on these pages.
<--My HTML CODE-->

        <div class="header-container background-image text-center"
 style="background-image: url(<?php header_image();?>);">

/*
My CSS CODE
@package nuorigins
*/
/*
Generic

*/
.background-image{
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

/*
Header
*/
.header-container{
    position: relative;
    display: block;
    height: 250px;
}

I found out that the row tag as been blocking my page from displaying.
below is the element of the row from inspection:
.row{
    display: ms-flexbox;
    display: flex;
    ms-flexwrap: wrap;
    flex-wrap:wrap;
    margin-right: -15px;
    margin-left: -15px;
}

Note that this is a row from bootstrap.
Now i noticed when i deactivate the display: flex; from the properties of the row, my page display fine.
I want anybody to please let me know. What is the problem with my bootstrap row?
Is it because my browser is not supporting the bootstrap row, or this is due to another problem from my bootstrap files.

A: All browsers do display the Bootstrap grid (containers, rows and columns) fine. BS3 supports IE8+ and BS4 supports IE9+ and all other browsers.
Probably a typing bug. Use col-sm-12 (not col-sx-12).

redpajama_set_name: RedPajamaStackExchange


text:
\section{Introduction}
\label{sec:intro}
With the help of rapid progress in 3D sensing technology, an increasing number of researchers are now focusing on 3D point clouds. Different from complex 3D data \eg, mesh and volumetric data, point clouds have a simpler data format. Typically, point clouds are easier to collect using different types of scanners~\cite{blais2004review} with specific algorithms: \eg, LiDAR scanners~\cite{jaboyedoff2012use} and Simultaneous localization and mapping (SLAM) algorithms. Traditional algorithms addressing point cloud learning~\cite{schnabel2007efficient,mitra2004registration,rusu2009fast,vosselman20013d} used to estimate geometric information and capture indirect clues utilizing complicated models. In contrast, deep learning models provide explicit and effective data-driven approaches to acquire information from 3D point cloud data, leveraging Convolutional Neural Networks (CNN).

In general, CNN-related methods for 3D point clouds can be divided mainly into two categories~\cite{guo2020deep}. The first one is conversion-based, which converts the 3D data to some intermediate representations, for example, MVCNN~\cite{su2015multi} projects 3D shapes into multi-view 2D images, and VoxNet~\cite{maturana2015voxnet} transfers point clouds as volumetric grids. The other one is point-based such as PointNet~\cite{qi2017pointnet}, which directly processes points. The point-based approach has become popular due to the introduction of the multi-layer perceptrons (MLPs) operation in~\cite{qi2017pointnet}. The subsequent algorithms~\cite{wang2019dynamic, Thomas_2019_ICCV} adopted MLPs to learn the local features of point clouds using graph context and kernel points.
\begin{figure}
\begin{center}
\includegraphics[width=\columnwidth]{images/intro.png}
\end{center}
\caption{A birdeyes view of our Dense-Resolution Network.}
\label{fig:intro}
\end{figure}

In order to recognize fine-grained patterns for complex objects or scenes, it is necessary to capture the local spatial context of point clouds. To represent local areas for point clouds, Qi~\etal~\cite{qi2017pointnet++} and Liu~\etal~\cite{liu2019relation} apply the Ball Query algorithm~\cite{omohundro1989five} to group local points, while Wang~\etal~\cite{wang2019dynamic} uses k-nearest neighbors (\emph{knn}) to build point neighborhoods. However, when using these methods, the performance is strongly affected by the areas of their \emph{pre-defined} neighborhoods, \ie the searching radius of a Ball Query, or the $k$ of \emph{knn}. If the area is too small, it cannot cover sufficient local patterns; if too large, the overlap may involve redundancies. DPC~\cite{engelmann2019dilated} proposes an idea of \emph{dilated point convolution} to increase the size of the receptive field without additional computational cost. Unlike previous works, we attempt to adaptively define such a local area for each point \wrt the density distribution around it, by which the point neighborhood would be more reasonable though requiring less manual intervention and parameter tuning.

\begin{figure*}
\begin{center}
\includegraphics[width=0.95\textwidth]{images/drnet.png}
\end{center}
\caption{Dense-resolution network architecture. For the FR branch (in green), we learn the full-resolution point cloud features through a series of Error-minimizing modules (denoted as \emph{E-M}, see Section~\ref{sec:error}) involving the Adaptive Dilated Point Grouping method (denoted as \emph{ADPG}, see Section~\ref{sec:adpg}). For the MR branch (in blue), point features of different resolutions are investigated in a down/up-sampling manner with skip connections (dotted lines). \emph{DS} and \emph{US} represent our down-sampling and up-sampling processes (more details are in Section~\ref{sec:imple} and the supplementary material), respectively. By merging the feature maps (denoted as \emph{M}, see Eq.~\ref{equ:fusion}) of the two branches, we manage point cloud classification and segmentation tasks using fully-connected (\emph{FC}) layers. \emph{C} stands for concatenating along channels.}
\label{fig:net}
\end{figure*}
Unlike 2D images whose pixels are well-organized in local neighborhoods, learning the feature representations of scattered, unordered, and irregular 3D point clouds are always challenging. Although one can construct local areas based on the spatial distances between points, the process may accumulate biases from different scales of embedding space and further affect the performance. In addition to feature encoding, an effective mechanism is also required to guide the procedure to learn local features.

Previously, the idea of error feedback has been applied in 2D human pose estimation~\cite{carreira2016human} and image Super-Resolution (SR)~\cite{haris2018deep, liu2019hierarchical}, in order to regulate the network by compensating the estimated error. To leverage the properties of both error-feedback and CNN training mechanism, unlike the complex error-correcting structures in~\cite{Li_2019_ICCV, qiu2019geometric}, we propose an error-minimizing module with lower complexity but better performance. Meanwhile, we present a new network architecture, named Dense-Resolution Network (DRNet), for basic 3D point cloud classification and segmentation tasks. By merging feature maps of a Full-Resolution (FR) branch that investigates the full size of the point cloud and a Multi-Resolution (MR) branch that explores different resolutions of the point cloud in a novel fusion method, we can obtain more information for a comprehensive analysis. The main contributions are:

\begin{itemize}
\item We propose a novel point grouping method to find neighbors for each point adaptively, considering the density distribution of the neighbors.
\item We design an error-minimizing module leveraging the idea of error feedback mechanism to learn the local features of point clouds.
\item We introduce a new network to comprehensively represent point clouds from different resolutions.
\item We conduct thorough experiments to validate the properties and abilities of our proposals. Our results demonstrate that our approach outperforms state-of-the-art methods on three point cloud benchmarks.
\end{itemize}

\section{Related Work}
\label{sec:work}
\noindent \textbf{Local points grouping.} Contrary to the pioneer PointNet~\cite{qi2017pointnet} that relied on global features, subsequent work captured more local features in detail. PointNet++~\cite{qi2017pointnet++} firstly applied Ball Query, an algorithm for collecting possible neighbors of a particular point through a ball-like searching space centering at a point, to group local neighbors. Similarly, local features learning methods such as \cite{wang2019dynamic, engelmann2019dilated, qiu2019geometric} use another simple algorithm \emph{knn} gathering nearest neighbors based on a distance metric.

Although Ball Query and \emph{knn} grouping are intuitive, sometimes the size of the neighborhood (\ie the receptive field of the point) is limited due to the range of searching (\ie the radius of query ball, or the value of $k$). Meanwhile, merely increasing the searching range may involve substantial computational cost. To solve this problem, DPC~\cite{engelmann2019dilated} extended regular \emph{knn} to \emph{dilated-knn}, which gathers local points over a dilated neighborhood obtained by computing the $k\cdot d$ nearest neighbors ($d$ is the dilation factor~\cite{yu2015multi}) and preserving only every $d$-th nearest point. Moreover, recent works~\cite{qi2017pointnet++, liu2019relation, yan2020pointasnl} group neighbors through query balls in different scales (\eg, multi-scale grouping) to capture information from various sizes of the local area.

However, the existing methods have some issues in common. On the one hand, the performance of grouping methods highly relies on pre-defined settings. For example, DGCNN~\cite{wang2019dynamic} provided the results under different $k$ conditions, DPC~\cite{engelmann2019dilated} compared the effects of $d$ values, and PointNet++~\cite{qi2017pointnet++} discussed the influence of the query ball radius. On the other hand, the grouping methods act on all points without considering each point or object's distinct condition. As far as we are concerned, it is necessary to find an intelligent point-level adaptive grouping method.

\noindent \textbf{Error feedback structure.} Previously in 2D computer vision, Carreira~\etal~\cite{carreira2016human} proposed a framework called Iterative Error Feedback (IEF), which minimized the error loss between current and desired outputs in the back-propagation procedure. In contrast to~\cite{carreira2016human}, the methods in~\cite{haris2018deep, liu2019hierarchical} complimented the output with a back-projection unit in the forward procedure. For 3D point clouds, PU-GAN~\cite{Li_2019_ICCV} leveraged a similar idea for point cloud generation, while ~\cite{qiu2019geometric} presented a structure with specially designed paths for prominent features learning.

Basically, current IEF structures for point clouds are redundant and implicit. Considering the complexity of 3D data, a concise and explicit IEF module is needed. More importantly, an IEF module is expected to serve two purposes in the network: first, to make the actual output approach the desired point clouds representations; second, to help the grouping process form the adaptive point neighborhoods.

\noindent \textbf{Network architecture for point cloud learning.}   To realize different computer vision tasks using deep learning, many network architectures have been introduced: VGG~\cite{simonyan2014very}, ResNet~\cite{he2016deep}, \etc. Besides, some works tried different image resolutions for more clues; for example, the fully convolutional network~\cite{long2015fully} keeps the full size of an image, deconvolution network~\cite{noh2015learning} steps into lower resolutions, and HRNet~\cite{wang2019deep} shares the features among different resolutions.

As for 3D point clouds, two popular architectures are 1) PointNet++\cite{qi2017pointnet++}, which downsamples the point clouds using Farthest Point Sampling (FPS) and upsamples using Feature Propagation (FP), and 2) a fully convolutional network,  which learns point-wise features from multiple embedding space scales, for example, DGCNN~\cite{wang2019dynamic} dynamically updates the crafted point graph around each point. Different from the above mentioned methods, our approach exploits more clues through dense connections between various resolutions of the point clouds. Furthermore, we investigate the characteristics of multi-resolutional features, and then develop a better merging behavior for the feature maps. In general, our DRNet adaptively encodes the local context from more resolutions of point clouds, by which fine-grained output representations benefit point cloud classification and segmentation tasks.

\begin{algorithm
\caption{The \emph{forward pass} pipeline of\newline
    \hspace{\linewidth} Adaptive Dilated Point Grouping}\label{alg:adpg}
\textbf{input:} feature map $\mathcal{P}_{{N}\times{c}} = [{p_1}^T,\;{p_2}^T,\;...\;,\;{p_N}^T ]$ in $c$-dimensional space.\\
\textbf{parameters:} the number of neighbors $k$, and an empirical maximum dilation factor $d_{max}$.\\
\textbf{output:} the matrix $\mathcal{I}_{{N}\times{k}}$, indices of the selected $k$ neighbors for the point cloud.\\
\For{each point cloud}{
    \textbf{search} for the $(k\cdot d_{max})$ candidate neighbors based on $\mathcal{P}_{{N}\times{c}}$, get the candidate metric values ${E}_{{N}\times{(k\cdot d_{max})}}$ and the indices $\mathcal{I}_{{N}\times{(k\cdot d_{max})}}$\;
    \textbf{learn} the dilation factors $\mathcal{D}_{{N}}$ based on the metrics ${E}_{{N}\times{(k\cdot d_{max})}}$, where: $d_i\in \mathbb{Z}$, $d_i\in [1,d_{max}]$, $\mathcal{D}_{{N}} = [{d_1},\;...\;,\;{d_i},\;...\;,\;{d_N}]^T$\;
    \textbf{group} the indices $\mathcal{I}_{{N}\times{k}}$ of the $k$ neighbors from $\mathcal{I}_{{N}\times{(k\cdot d_{max})}}$ based on $\mathcal{D}_{{N}}$\;
}
\end{algorithm}
\section{Approach}
CNN-based learning of 3D data has become more intuitive due to the introduction of multi-layer perceptrons (MLPs)~\cite{qi2017pointnet} that directly process point clouds. Primarily, an MLP, $\mathcal{M}(\cdot)$, is described as a composite operation of 1-by-1 convolution with a possible batch normalization~\cite{ioffe2015batch} (BN) and an activation (\eg, ReLU) on the feature map.

In addition, recent works~\cite{wang2019dynamic, engelmann2019dilated, yan2020pointasnl} craft regional patterns to record more local details via a graph around each point $p_i\in\mathbb{R}^c$, based on both the absolute position of the centroid and relative positions of the neighbors in $c$-dimensional feature space. Specifically, the crafted graph ($\mathcal{G}$) of the centroid $p_i$ is formulated as: ${\mathcal{G}}(p_i) = (p_i, p_j-p_i);$ where ${\forall}p_j\in Ni(p_i).$ Usually, the quality of the information provided by $\mathcal{G}(p_i)$ highly depends on the neighbors, ${\forall}p_j\in Ni(p_i)$, that are found by the grouping method.  Hence, we expect a better grouping method for $\mathcal{G}(p_i)$.

\subsection{Adaptive Dilated Point Grouping}
\label{sec:adpg}
The two popular grouping methods \ie Ball Query and k-nearest neighbors (\emph{knn}) (see Section~\ref{sec:intro}) have shortcomings (as analyzed in Section~\ref{sec:work}), and to overcome these issues, here we propose a novel grouping method named Adaptive Dilated Point Grouping (ADPG), which is shown in Algorithm~\ref{alg:adpg}. ADPG aims to generate the indices of neighbors $\mathcal{I}_{{N}\times{k}}$ for the points, given a feature map $\mathcal{P}_{{N}\times{c}}$ of the point cloud and consists of the following three main procedures.

\noindent \textbf{Searching.} The first step of ADPG is searching candidate neighbors for the points. In this paper, we introduce a solution capable of addressing common scales of point cloud data. We define the pairwise Euclidean distances ${E}_{{N}\times{N}}$ in feature space as our metric, which indicates the point density distribution to a certain extent. As for a $N\times c$ size feature map $\mathcal{P}$, the pairwise Euclidean distances are:
$
    {E}_{{N}\times{N}} = diag(\mathcal{P}\mathcal{P}^T)\cdot\vec{1} + {\vec{1}}^T\cdot {diag(\mathcal{P}\mathcal{P}^T)}^T - 2\mathcal{P}\mathcal{P}^T,
$
where $\vec{1}$ means a $1\times N$ row vector of ones, and $diag(\cdot)$ forms a $N\times 1$ column vector whose entries are the $N$ diagonal elements of a $N\times N$ square matrix.

According to the calculated distances metric, we can easily identify the $k\cdot d_{max}$ candidate nearest neighbors of each point. In our implementation, we sort the rows of ${E}_{{N}\times{N}}$ in ascending order, and retain the metric values and indices of the first $k\cdot d_{max}$ elements. Therefore, the elements with the smallest $k\cdot d_{max}$ values in each row of ${E}_{{N}\times{N}}$ are identified as candidate neighbors for each point. Meanwhile, the metric values and indices of the searched candidate neighbors are recorded as ${E}_{{N}\times{(k\cdot d_{max})}}$ and $\mathcal{I}_{{N}\times{(k\cdot d_{max})}}$, respectively. Besides, our implementation is also flexible; that is, the choices for metrics (\eg, density or geometric similarities) and searching techniques (\eg, FLANN~\cite{muja2009fast} for the sake of efficiency in large-scale point cloud data) can be easily integrated as needed.

\noindent \textbf{Learning.} In order to construct a dilated neighborhood for each point adaptively, it is necessary to determine a dilation factor~\cite{yu2015multi} for each point based on known information of its candidate neighbors. In practice, we learn the dilation factors based on ${E}_{{N}\times{(k\cdot d_{max})}}$ and CNN-related operations.

To be specific, we apply an MLP ($\mathcal{M}$) and a sigmoid function ($\sigma$) to the metric values of candidates ${E}_{{N}\times{(k\cdot d_{max})}}$, in order to summarize the information of the point distribution of local areas. Then, a projection function $\mathcal{J}$ (\eg, \emph{linear function}) can map the values to the expected numerical scale. Finally, we take a scale function $\mathcal{S}$ (\eg, \emph{round} to assign a dilation factor, $\mathcal{D}_{{N}}$\footnote{More implementing details are in the supplementary material.}, for each point according to the summarized information:
\begin{equation}
    \mathcal{D}_{{N}} = \mathcal{S}\bigg(\mathcal{J}\Big(\sigma\big(\mathcal{M}({E}_{{N}\times{(k\cdot d_{max})}})\big)\Big)\bigg).
\end{equation}

\noindent \textbf{Grouping.} As each point has a corresponding dilation factor, we pick up every $d_i$-th index of candidate indices $\mathcal{I}_{{N}\times{(k\cdot d_{max})}}$ to form the selected $k$ neighbors for each point. Following a behavior similar to~\cite{engelmann2019dilated}, we obtain the final indices of local point groups $\mathcal{I}_{{N}\times{k}}.$

\subsection{Error-minimizing Module}
\label{sec:error}
Following the ADPG method, each point gathers a group of neighbors with a larger receptive field. As stated, we apply the crafted graph $\mathcal{G}$, \ie the absolute position of a centroid and relative positions of the neighbors, to encode the high-dimensional features over each neighborhood. Further projected by an MLP (with $c^\prime$ filters), the information of a local graph centering at $p_i$, is represented as:
\begin{equation}
\label{equ:graph}
    f_{{\mathcal{G}}_i} = \mathcal{M}\big(\mathcal{G}(p_i)\big) = \mathcal{M}\big((p_i, p_j-p_i)\big),
\end{equation}
where ${\forall}p_j\in {ADPG}(p_i)$ and $f_{{\mathcal{G}}_i}\in\mathbb{R}^{{c^\prime}\times k}.$

Usually, a max-pooling function is applied over the $k$ neighbors of each crafted local graph to aggregate the local context as the centroid's feature representation. However, possible bias exists in process: on the one hand, the local graphs lack geometric regularization from the initial 3D space; and on the other hand, the max-pooled features only retain prominent outlines while discarding local details in embedding space. In this case, the Iterative Error Feedback (IEF) mechanisms idea helps avoid bias accumulation during the high-dimensional feature learning process.

Let us assume that the local graph $f_{{\mathcal{G}}_i}$ indeed embeds the full information about the neighborhood, it would be possible to restore the input $p_i$ through a back-projection process $\mathcal{B}(\cdot)$. Practically, we realize the $\mathcal{B}(\cdot)$ operation through a shared 1-by-$k$ convolution followed by BN and ReLU, over the local graphs. Intuitively, this operation acts to aggregate the nodes based on learned weights of the edges in the graph, which implicitly simulates a reverse process of crafting the graph. Therefore, the back-projected feature $f_{{\mathcal{B}}_i}$ is formulated as:
$
    f_{{\mathcal{B}}_i} = \mathcal{B}(f_{{\mathcal{G}}_i});
$
where $f_{{\mathcal{B}}_i}\in\mathbb{R}^{c}.$

Consequently, an error feature $f_{{\mathcal{E}}_i}$ is defined as the difference between the original input $p_i$ and back-projected feature $f_{{\mathcal{B}}_i}$. In contrast to the methods in~\cite{Li_2019_ICCV, qiu2019geometric, haris2018deep, liu2019hierarchical} that correct the error by extra computations in the forward pass, we use additional $\ell_2$ loss to minimize the error, $f_{{\mathcal{E}}_i} = f_{{\mathcal{B}}_i} - p_i$, during the back-propagation pass:
\begin{equation}
\label{equ:loss}
    {\mathcal{L}}_{er} = {||f_{{\mathcal{E}}_i}||}_2.
\end{equation}

The loss in Equation~\ref{equ:loss} can constrain the feature learning during training by forcing the back-projected feature $f_{{\mathcal{E}}_i}$ to approach the original input $p_i$ inside of the module. Following such a regularization, the error and bias in the output representations can be alleviated, especially during the early stages of training. Meanwhile, compared with the regular cross-entropy loss for the whole network, each error-minimizing module's loss can provide more clues for the ADPG in corresponding feature space.

\subsection{Dense-Resolution Network Architecture}
\label{sec:dr}
Although the ADPG method and the error-minimizing module seem promising for local feature learning of point clouds, we still need a robust network architecture to leverage the potential offered by both. The architecture of our network is presented in Figure~\ref{fig:net}.

\noindent \textbf{Full-resolution branch.} We adopt the idea of basic fully convolutional architecture as the full-resolution (FR) branch of our network. The benefits can be retained based on two aspects; 1) there remains a consistent number of points in different scales of embedding space during feature learning progress; 2) it retains the per-point feature without any confusion caused by the numerical approximation in upsampling. Therefore, we expect this structure to learn comprehensive representations for point-wise features.

Specifically, the FR branch consists of the proposed error-minimizing modules in a cascaded form, which progressively learn the feature representation of each point from its adaptive neighborhood formed by ADPG in different scales of embedding space. In order to acquire a global knowledge about the abstract embedding space, the learned features from different scales are concatenated and aligned to form the output $\mathcal{F}_{FR}$ of the FR branch.

\noindent \textbf{Multi-resolution branch.} Meanwhile, there is a limitation of $\mathcal{F}_{FR}$: it lacks channel-wise clues about semantic/shape-related information since the FR branch mainly focuses on point-wise context. To overcome this issue, we capture additional features from more resolutions of point clouds. Therefore, we propose the multi-resolution (MR) branch, a light-weight down/up-sampling structure, to investigate the lower resolutions of point clouds. Contrary to competing methods, the propagated features and skip links are densely connected to enhance the relations between multiple point cloud resolutions and feature embedding scales. The output $\mathcal{F}_{MR}$ of the MR branch captures thorough channel-wise information about the point clouds.

\noindent \textbf{Features merging.} To leverage the information gathered from both FR and MR branches, it is necessary to find a reasonable merging technique for the two feature maps, \ie $\mathcal{F}_{FR}$ and $\mathcal{F}_{MR}$. Usually, CNNs combine the feature maps by concatenation, summation, or multiplication. These regular operations treat the feature maps equally, without taking their properties into account. Instead, we prefer merging the FR and MR outputs in a unique manner.

Given the advantages of FR and MR branches that we analyzed before, $\mathcal{F}_{FR}$ is applied as the basis of per-point feature representation. In addition, the channel-wise information of $\mathcal{F}_{MR}$ is derived to enhance $\mathcal{F}_{FR}$. Empirically, we use a max-pooling and an MLP to summarize the knowledge of $\mathcal{F}_{MR}$ channels. After a sigmoid activation $\sigma$, the channel-wise enhancement on the per-point context of $\mathcal{F}_{FR}$ can be realized by multiplication. The final output of our dense-resolution (DR) network follows:
\begin{equation}
\label{equ:fusion}
    \mathcal{F}_{DR}\; = \;\mathcal{F}_{FR}\; \times \; \sigma\Big(\mathcal{M}\big({\max_{N}(\mathcal{F}_{MR})}\big)\Big).
\end{equation}

\noindent \textbf{Loss function.} Based on the output feature map ($\mathcal{F}_{DR}$), the fully-connected (FC) layers regress the confidence scores for all possible categories. In addition to the basic cross-entropy loss ($\mathcal{L}_{ce}$), the weighted losses of the error-minimizing modules are incorporated. For the DRNet with $M$ error-minimizing modules in its FR branch, by applying Equation~\ref{equ:loss} and the hyper-parameter $w_i$ as weight, the overall loss is formulated as:
\begin{equation}
\label{equ:overall_loss}
    \mathcal{L} = \mathcal{L}_{ce} + \sum_{i=1}^{M} w_i\cdot \mathcal{L}_{{er}_{i}}.
\end{equation}
\section{Experiments}
In this section, our implementation details are provided, including network parameters, training settings, datasets, \etc. By comparing the experimental results with other state-of-the-art methods, we analyze performance quantitatively. Further, we present ablation studies and visualizations to illustrate the properties of our approach.

\subsection{Implementation}
\label{sec:imple}
\noindent \textbf{Network details.}  The FR branch of our DRNet is a series of error-minimizing modules extracting features at different scales of embedding space: \ie 64, 128, and 256, as in Figure~\ref{fig:net}. Empirically, we adopt $k=20$ and $d_{max}=5$ as in~\cite{wang2019dynamic, engelmann2019dilated}. The FR output $\mathcal{F}_{FR}$ is an MLP projected concatenation of the modules' outputs. For the MR branch, we apply the widely-used farthest point sampling (FPS) and feature propagation (FP)~\cite{qi2017pointnet++, liu2019relation, Liu_2019_ICCV} for downsampling and upsampling, respectively. Further, single-layer MLPs are used for channel alignment together with the mentioned operations. The MR branch starts from the first output of FR in N size; after that, two lower resolutions: N/4 and N/16, are investigated through the regular \emph{knn} and local graph encoding as Equation~\ref{equ:graph}. Different from other approaches, more propagated features and dense skip connections are employed to enhance the relations between different point resolutions and feature spaces. Compared with the FR, the MR branch\footnote{More information about the implementation is provided in the supplementary material. \label{footnote}} is light-weight due to the fewer scales of embedding space, the limited number of points, and the operations with fewer learnable weights.

The output $\mathcal{F}_{DR}$ is obtained by following Equation~\ref{equ:fusion}. For the classification task, we apply a max-pooling function and Fully Connected (FC) layers to regress confidence scores for all possible categories. In terms of the segmentation task, we attach the max-pooled feature to each point feature of $\mathcal{F}_{DR}$ and further predict each point's semantic label with FC layers being applied.

For the loss function, empirically, a larger weight is set for the first error-minimizing module, \ie $w_1$, since its output affects both branches and constrains the network learning initially. In contrast, the weights for other modules can be smaller since they are less critical. Although the additional loss is involved, cross-entropy loss still contributes the most to the training\footref{footnote}. We implement the project with PyTorch and Python; all experiments are conducted on Linux and GeForce RTX 2080Ti GPUs.\footnote{The code and models are available at \url{https://github.com/ShiQiu0419/DRNet}}

\begin{table*}
\begin{center}
\resizebox{0.9\textwidth}{!}{
\begin{tabular}{|c| c| c c c c c c c c c c c c c c c c|}
\hline
&\textbf{overall}  & air & bag & cap  & car  & chair  & ear & guitar & knife & lamp & laptop & moto & mug & pistol  & rocket & skate & table  \\
&\textbf{mIoU}  & plane &  &   &   &   & phone &  &  &  &  & bike &  &   &  & board &   \\\hline\hline
\# shapes  & 16881 & 2690   & 76 & 55  & 898  & 3758  & 69    & 787  & 392  & 1547     & 451  & 202  & 184   & 283  & 66    & 152  & 5271     \\ \hline\hline
PointNet \cite{qi2017pointnet} & 83.7 &83.4 &78.7 &82.5 &74.9 &89.6 &73.0 &91.5 &85.9 &80.8 &95.3 &65.2 &93.0 &81.2 &57.9 &72.8 &80.6     \\
A-SCN \cite{xie2018attentional} & 84.6&83.8 &80.8 &83.5 &79.3 &90.5 &69.8 &91.7 &86.5 &82.9 &\textbf{96.0} &69.2 &93.8 &82.5 &62.9 &74.4 &80.8     \\
SO-Net \cite{li2018so} &84.6&81.9 &83.5 &84.8 &78.1 &90.8 &72.2 &90.1 &83.6 &82.3 &95.2 &69.3 &94.2 &80.0 &51.6 &72.1 &82.6 \\
PointNet++ \cite{qi2017pointnet++}   & 85.1 & 82.4  & 79.0  & 87.7  & 77.3  & 90.8  & 71.8  & 91.0  & 85.9  & 83.7  & 95.3  & 71.6  & 94.1  & 81.3  & 58.7  & 76.4  & 82.6   \\
PCNN \cite{atzmon2018point} &85.1&82.4 &80.1 &85.5 &79.5 &90.8 &73.2 &91.3 &86.0 &85.0 &95.7 &73.2 &94.8 &83.3 &51.0 &75.0 &81.8 \\
DGCNN \cite{wang2019dynamic}  & 85.2 & 84.0   & 83.4 & 86.7  & 77.8  & 90.6  & 74.7    & 91.2  & 87.5  & 82.8     & 95.7  & 66.3  & 94.9   & 81.1  & \textbf{63.5}    & 74.5  & 82.6     \\
P2Sequence \cite{liu2019point2sequence} &85.2 &82.6 &81.8 &87.5 &77.3 &90.8 &77.1 &91.1 &86.9 &83.9 &95.7 &70.8 &94.6 &79.3 &58.1 &75.2 &82.8 \\
SpiderCNN \cite{xu2018spidercnn} &85.3 &83.5 &81.0 &87.2 &77.5 &90.7 &76.8 &91.1 &87.3 &83.3 &95.8 &70.2 &93.5 &82.7 &59.7 &75.8 &82.8 \\
PointASNL \cite{yan2020pointasnl} &86.1 &84.1 &84.7 &87.9 &\textbf{79.7} &\textbf{92.2} &73.7 &91.0 &87.2 &84.2 &95.8 &\textbf{74.4} &\textbf{95.2} &81.0 &63.0 &76.3 &83.2 \\
RS-CNN \cite{liu2019relation} &86.2 &83.5 &84.8 &\textbf{88.8} &79.6 &91.2 &\textbf{81.1} &91.6 &88.4 &\textbf{86.0} &\textbf{96.0} &73.7 &94.1 &\textbf{83.4} &60.5 &\textbf{77.7} &83.6  \\
\hline\hline
\textbf{Ours}  &\textbf{86.4} &\textbf{84.3} &\textbf{85.0} &88.3 &79.5 &91.2 &79.3 &\textbf{91.8} &\textbf{89.0} &85.2 &95.7 &72.2 &94.2 &82.0 &60.6 &76.8 &\textbf{84.2}   \\ \hline
\end{tabular}
}
\end{center}
\caption{Part segmentation results (mIoU(\%)) on the \emph{ShapeNet Part} dataset. }
\label{tab:seg}
\end{table*}
\noindent \textbf{Training strategy.} For classification, Stochastic Gradient Descent (SGD)~\cite{loshchilov2016sgdr} with a momentum of 0.9 is adopted as the optimizer. The learning rate decreases from 0.1 to 0.001 by cosine annealing \cite{loshchilov2016sgdr} during the 300 epochs. For segmentation, we exploit Adam~\cite{kingma2014adam} optimization for 200 epochs of training. The learning rate begins at 0.001 and gradually decays with a rate of 0.5 after every 20 epochs. The batch size for both tasks is 32. Besides, training data is augmented with random scaling and translation; the overall loss follows Equation~\ref{equ:overall_loss}. Part segmentation is evaluated with a ten-votes strategy used by recent approaches~\cite{qi2017pointnet, qi2017pointnet++, liu2019relation}.

\begin{figure}
\begin{center}
\includegraphics[width=0.95\columnwidth]{images/datasets.png}
\end{center}
\caption{Examples from the experimental datasets. The upper row shows the point clouds labeled as \emph{Chair} from the three datasets, while the lower row presents \emph{Table}. Particularly, \emph{ScanObjectNN} dataset contains background points, which are in a lighter color.}
\label{fig:data}
\end{figure}

\noindent \textbf{Datasets.}  We test our approach on two main tasks: point cloud segmentation and classification. The ShapeNet Part dataset~\cite{yi2016scalable} is used to predict the semantic class (\emph{part label}) for each point of the object. In addition, the synthetic ModelNet40~\cite{wu20153d} dataset and the real-world ScanObjectNN \cite{Uy_2019_ICCV} dataset are used to identify the category of the object. Figure~\ref{fig:data} presents some examples from the datasets.
\begin{itemize}
 \item \textbf{ShapeNet Part.}
 The dataset has 16,881 object point clouds in 16 categories, where each point is labeled as one of 50 parts. As the primary dataset for our experiments, we follow the official data split~\cite{chang2015shapenet}. We input the 3D coordinates of 2048 points for each point cloud and feed the object label before FC layers during training. In terms of the metric for evaluation, we adopt Intersection-over-Union (\ie IoU). The IoU of the shape is calculated by the mean value of IoUs of all parts in that shape, and mIoU (\ie mean IoU) is the average of IoUs for all testing shapes.

 \item \textbf{ModelNet40.}
 It is a popular dataset because of regular and clean shapes. There are 12,311 meshes in 40 classes, with 9,843 for training and 2,468 for testing. Corresponding point clouds are generated by uniformly sampling from the surfaces, translating to the origin, and scaling within a unit sphere~\cite{qi2017pointnet}. In our case, only the 3D coordinates of 1024 points for each point cloud have been used.

 \item \textbf{ScanObjectNN.} This real-world object dataset is recently published. Although it has over 15,000 objects in only 15 categories, it is practically more challenging due to the background complexity, object partiality, and different deformation variants. We conduct the experiment using its most challenging variant, \emph{PB\_T50\_RS}, with background points.
\end{itemize}

\begin{table}
\begin{center}
\resizebox{0.8\columnwidth}{!}{
\begin{tabular}{|l|c|c|c|}
\hline
method             & input type  & \#points & accuracy \\ \hline\hline
PointNet \cite{qi2017pointnet}           & coords      & $1k$       & 89.2                   \\
A-SCN \cite{xie2018attentional}                & coords      & $1k$       & 90.0                  \\
PointNet++ \cite{qi2017pointnet++}         & coords & $1k$       & 90.7                       \\
SO-Net \cite{li2018so}             & coords      & $2k$       & 90.9                   \\
PointCNN \cite{li2018pointcnn}           & coords      & $1k$       & 92.2                   \\
PCNN \cite{atzmon2018point}               & coords      & $1k$       & 92.3                       \\
SpiderCNN \cite{xu2018spidercnn}         & coords+norms      & $1k$       & 92.4                      \\
PointConv \cite{wu2019pointconv}                           & coords+norms      & $1k$       & 92.4                 \\
P2Sequence \cite{liu2019point2sequence}               & coords      & $1k$       & 92.6         \\
DensePoint \cite{Liu_2019_ICCV}         & coords      & $1k$       & 92.8            \\
RS-CNN \cite{liu2019relation}           & coords      & $1k$       & 92.9                       \\
DGCNN \cite{wang2019dynamic}              & coords      & $1k$       & 92.9                    \\
KP-Conv \cite{Thomas_2019_ICCV}              & coords      & $7k$       & 92.9                    \\
PointASNL \cite{yan2020pointasnl}              & coords      & $1k$       & 92.9                   \\
 \hline\hline
\textbf{Ours}   & coords&$1k$&\textbf{93.1}  \\ \hline

\end{tabular}
}
\end{center}
\caption{Overall classification accuracy (\%) on \emph{ModelNet40} dataset. ($coords$: 3D coordinates, $norms$: surface normal vectors of the points, $k$:$\times 2^{10}$)}
\label{tab:cls}
\end{table}

\begin{figure*}
\begin{center}
\includegraphics[width=0.8\textwidth]{images/dr_results.png}
\end{center}
\caption{Examples of the part segmentation results. (DGCNN:~\cite{wang2019dynamic}, RS-CNN:~\cite{liu2019relation})}
\label{fig:seg_vis}
\end{figure*}

\begin{table*}
\begin{center}
\resizebox{0.9\textwidth}{!}{
\begin{tabular}{|c|c|c|c c c c c c c c c c c c c c c|}
\hline
& overall acc. & avg class acc. & bag  & bin  & box  & cabinet & chair & desk & display & door & shelf & table & bed  & pillow & sink & sofa & toilet \\ \hline\hline
\# shapes  &      -       &      -         & 298  & 794  & 406  & 1344    & 1585  & 592  & 678     & 892  & 1084  & 922   & 564  & 405    & 469  & 1058 & 325    \\ \hline\hline
3DmFV \cite{ben20183dmfv}      & 63.0           & 58.1           & 39.8 & 62.8 & 15.0 & 65.1    & 84.4  & 36.0 & 62.3    & 85.2 & 60.6  & 66.7  & 51.8 & 61.9   & 46.7 & 72.4 & 61.2   \\ \hline
PointNet \cite{qi2017pointnet}   & 68.2         & 63.4           & 36.1 & 69.8 & 10.5 & 62.6    & 89.0  & 50.0 & 73.0    & \textbf{93.8} & 72.6  & 67.8  & 61.8 & 67.6   & 64.2 & 76.7 & 55.3   \\ \hline
SpiderCNN \cite{xu2018spidercnn}  & 73.7         & 69.8           & 43.4 & 75.9 & 12.8 & 74.2    & 89.0  & 65.3 & 74.5    & 91.4 & 78.0  & 65.9  & 69.1 & 80.0   & 65.8 & 90.5 & 70.6   \\ \hline
PointNet++ \cite{qi2017pointnet++} & 77.9         & 75.4           & 49.4 & \textbf{84.4} & 31.6 & 77.4    & 91.3  & \textbf{74.0} & 79.4    & 85.2 & 72.6  & 72.6  & 75.5 & \textbf{81.0}   & \textbf{80.8} & 90.5 & \textbf{85.9}   \\ \hline
DGCNN \cite{wang2019dynamic}      & 78.1         & 73.6           & 49.4 & 82.4 & 33.1 & \textbf{83.9}    & 91.8  & 63.3 & 77.0    & 89.0 & 79.3  & \textbf{77.4}  & 64.5 & 77.1   & 75.0 & 91.4 & 69.4   \\ \hline
PointCNN \cite{li2018pointcnn}   & 78.5         & 75.1           & 57.8 & 82.9 & 33.1 & 83.6    & \textbf{92.6}  & 65.3 & 78.4    & 84.8 & \textbf{84.2}  & 67.4  & \textbf{80.0} & 80.0   & 72.5 & \textbf{91.9} & 71.8   \\ \hline\hline
\textbf{Ours}       & \textbf{80.3}         & \textbf{78.0}           & \textbf{66.3} & 81.9 & \textbf{49.6} & 76.3    & 91.0  & 65.3 & \textbf{92.2}    & 91.4 & 83.8  & 71.5  & 79.1 & 75.2   & 75.8 & \textbf{91.9} & 78.8   \\ \hline
\end{tabular}
}
\end{center}
\caption{Classification results (\%) on \emph{ScanObjectNN} dataset. }
\label{tab:scanobjectnn}
\end{table*}
\subsection{Results}
\noindent \textbf{Segmentation.} Table~\ref{tab:seg} shows the results of related works reported in overall mIoU, which is the most critical evaluation metric on the ShapeNet Part dataset. On the whole, our network achieves 86.4\% and outperforms other state-of-the-art algorithms based on similar experimental settings. For evaluations inside each class, we surpass others in five out of 16 categories. Especially in categories with a large number of samples, \eg, airplane, chair, or table, we perform even better (two out of these three classes) than others. In Figure~\ref{fig:seg_vis}, we provide some samples of our part segmentation results comparing with DGCNN~\cite{wang2019dynamic} and RS-CNN~\cite{liu2019relation}.

\noindent \textbf{Classification.}   Table~\ref{tab:cls} presents the overall accuracy of the classification on the synthetic object dataset: ModelNet40. Specifically, we achieve 93.1\% for overall classification accuracy and exceed other state-of-the-art results with similar input. Essentially, our method performs better than others using more input points or features.

\begin{figure*}
\begin{center}
\includegraphics[width=0.9\textwidth]{images/visual.png}
\end{center}
\caption{Learned dilation factors by the ADPG method. For each point cloud, ADPG assigns larger dilation factors for the points in sparse areas. As the network goes deeper, ADPG regulates the dilation factors of the points. (First-row: the learned dilation factors in a shallow layer of our network. Second-row: in a deep layer.)}
\label{fig:visual}
\end{figure*}

Table~\ref{tab:scanobjectnn} presents our results on the ScanObjectNN dataset, which contains practical scans of real-world objects as Figure~\ref{fig:data} indicates. To be concrete, both overall accuracy 80.3\% and average class accuracy 78.0\% of our approach are significantly higher than all results on its official leaderboard~\cite{scanWeb}. Typically, we lead in four (\emph{bag, box, display, and sofa}) out of the 15 categories. The inference time of our basic classification model running on a single GeForce RTX 2080Ti GPU is about \emph{19.2ms}.

\subsection{Ablation Studies}
\label{sec:abl}
\noindent \textbf{Visualization of learned dilation factors.}
Figure~\ref{fig:visual} illustrates the effects of our ADPG method, where the color of the points corresponds to the learned dilation factor. Intuitively, the advantages of ADPG can be observed from two aspects: Firstly, for each point cloud, ADPG tends to assign larger dilation factors to points that have relatively sparse local point distributions (\eg, on corners/boundaries/edges) because they need larger neighborhoods for more comprehensive local feature learning. Secondly, within the cascaded structure, ADPG regulates the points' dilation factors in deep layers and turns out to have smaller dilation factors in dense local distribution (\eg, on flat surfaces/central areas), most probably to constrain the neighborhoods and avoid outliers. Unlike regular \emph{knn}/Ball Query/\emph{dilated-knn}, which defines a limited and fixed neighborhood for all points in all layers, our ADPG works adaptively and reasonably as expected.

\noindent \textbf{Effects of components.}     We conduct an ablation study about the effects of the network components: the architecture, grouping method, and the error-minimizing module. We run tests on the ShapeNet Part dataset under the same settings, and Table~\ref{tab:modules} presents the results. Comparing model 1\&2 to model 0 and model 4 to model 3, we observe that the error-minimizing module with ADPG applied can significantly improve the part segmentation's network performance. Although the multi-resolution branch is not able to learn the features as comprehensively as a full-resolution branch does, we can take advantage of both by combining them as a dense-resolution network (model 5).

\begin{table}
\begin{center}
\resizebox{0.9\columnwidth}{!}{
\begin{tabular}{c||c|c|c||c}
\Xhline{3\arrayrulewidth}
model    & Network & ADPG & E-M module & overall mIoU \\\hline
0        & $FR$     & -    & -     & 85.2         \\
1        & $FR$ & -  &\checkmark          & 85.4      \\
2        & $FR$ & \checkmark & \checkmark      & 85.6        \\
3        & $MR$ & - & -      & 84.9         \\
4        & $MR$ & \checkmark & \checkmark      & 85.3         \\
\textbf{5}        & $\emph{\textbf{DR}}$      & \checkmark    & \checkmark     & \textbf{86.0}
  \\\Xhline{3\arrayrulewidth}
\end{tabular}
}
\end{center}
\caption{Ablation study about the effects of different network components on ShapeNet Part (\%). ($FR$: Full-Resolution branch only, $MR$: Multi-Resolution branch only, $DR$: Dense-Resolution Network, ADPG: Adaptive Dilated Point Grouping method, E-M module: Error-minimizing module for local points.)}
\label{tab:modules}
\end{table}
\noindent \textbf{Merging the feature maps.}   Both FR and MR have properties as mentioned, so we need to find an effective way to unify the benefits. We test simple ways of merging the features of $\mathcal{F}_{FR}$ and $\mathcal{F}_{MR}$, \ie concatenating them in channel-wise, adding and multiplying them in element-wise. Comparing the results of model 2\&3\&4 to model 0 in Table~\ref{tab:output}, we observe that the simple ways of merging may not improve performance. In contrast, channel-wise enhancing of the $\mathcal{F}_{FR}$ using $\mathcal{F}_{MR}$ (model 5) can improve a bit because of the reasons explained in Section~\ref{sec:dr}. With ten-votes testing, the overall mIoU can boost to 86.4\%.
\begin{table}
\begin{center}
\resizebox{0.9\columnwidth}{!}{
\begin{tabular}{c||c|c||c}
\Xhline{3\arrayrulewidth}
model    & Network & $\mathcal{F}_{mer}$ & overall mIoU \\\hline
0        & $FR$     & $\mathcal{F}_{FR}$       & 85.6         \\
1        & $MR$ & $\mathcal{F}_{MR}$            & 85.3      \\
2        & $DR$ & $Concat(\mathcal{F}_{FR}, \mathcal{F}_{MR})$       & 85.7        \\
3        & $DR$ & $\mathcal{F}_{FR}+\mathcal{F}_{MR}$       & 85.6         \\
4        & $DR$      & $\mathcal{F}_{FR}\odot\mathcal{F}_{MR}$      & 85.6\\
\textbf{5}        & $\emph{\textbf{DR}}$      & $\mathcal{F}_{DR}$      & \textbf{86.0}
  \\\Xhline{3\arrayrulewidth}
\end{tabular}
}
\end{center}
\caption{Ablation study about the different forms of merged feature $\mathcal{F}_{mer}$ on ShapeNet Part (\%). ($FR$: Full-Resolution branch only, $MR$: Multi-Resolution branch only, $DR$: Dense-Resolution Network, $\mathcal{F}_{FR}$: the output of FR, $\mathcal{F}_{MR}$: the output of MR, $\odot$: element-wise multiplication, $\mathcal{F}_{DR}$: merging as in~Equation~\ref{equ:fusion}.)}
\label{tab:output}
\end{table}
\section{Conclusion} In this work, we propose a Dense-Resolution Network for point cloud analysis, which leverages information from different resolutions of the point clouds. Specifically, the Adaptive Dilated Point Grouping method is introduced to realize a flexible point grouping based on the density distribution. Moreover, an error-minimizing module and corresponding loss are presented to capture local information and guide the training network. We conduct experiments and provide ablation studies on both point cloud segmentation and classification benchmarks. The experimental results outperform competing state-of-the-art methods on ShapeNet Part, ModelNet40, and ScanObjectNN datasets. The quantitative reports and qualitative visualizations demonstrate the advantages of our approach.
{\small
\bibliographystyle{ieee_fullname}

redpajama_set_name: RedPajamaArXiv


A truly beautiful range of cards based on the artwork of artist Claire Picard. Her stunning paintings & collages have been printed on textured board with foil & emboss details. And of course some added Cinnamon Aitch magic!
Hand finished with sparkly gems, custom made flowers & buttons.
The cards are C6 size & individually cello wrapped with a white or grey quality envelope. Each card is blank inside for your own message. Retail price £2.99 each.