text:
/// Copyright (c) 2012 Ecma International.  All rights reserved.
/**
 * @path ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js
 * @description Array.prototype.filter - getOwnPropertyDescriptor(all true) of returned array element
 */

function testcase() {

  function callbackfn(val, idx, obj){
    if(val % 2)
      return true;
    else
      return false;
  }
  var srcArr = [0,1,2,3,4];
  var resArr = srcArr.filter(callbackfn);
  if (resArr.length > 0){
     var desc = Object.getOwnPropertyDescriptor(resArr, 1)
     if(desc.value === 3 &&        //srcArr[1] = true
       desc.writable === true &&
       desc.enumerable === true &&
       desc.configurable === true){
         return true;
    }
  }
 }
runTestCase(testcase);

redpajama_set_name: RedPajamaGithub


This video was made by our Skillsbuilder 2 students who teamed up with Highland-based charity Health and Happiness to help people with similar needs prepare for life after school.
Inverness College UHI runs a range of courses for people with additional support needs.
Our Skillsbuilder courses are for people who require varying degrees of support in their daily lives and learning environment.
These programmes are designed as a stepping stone for people returning to work or further study and will help build your skills and confidence.
This programme is for people who have been out of work or education for a long time, supporting you to develop your employability skills.


In a large mixing bowl, add Poppy Seed Dressing & Seasoning Mix (8 oz) to water, vinegar and sugar. Mix well with wire whisk or electric mixer at low speed.
Add mustard and oil. Continue mixing until thoroughly combined.


text:
"teaching"×
All Aberdeen (1)Birmingham (2)Cardiff (2)China (3)Ireland (1)Italy (1)Limerick (1)Liverpool (1)London (7)Naples (1)Newcastle (1)Scotland (1)Sheffield (3)Suzhou (3)UK (18)United Kingdom (18)Wales (2)Warwick (1)West Midlands (England) (3)Yorkshire (3)
All Humanities (23)Social Science & Health (23)
Business & Management (1)
Civil & Structural Engineering (1)
Computer Science & IT (2)
Medical / Biomedical Physics (1)
Medical / Clinical Science (1)
Public Health & Epidemiology (1)
Social Work, Social Policy & Administration (2)
Also Include... American Studies (4) Anthropology (5) Applied Physics (1) Archaeology (2) Architecture & the Built Environment (1) Art & Design (5) Asian Studies (3) Biochemistry (1) Biotechnology (1) Business & Management (1) Civil & Structural Engineering (1) Classics & Ancient History (5) Communication, Cultural & Media Studies (11) Computer Science & IT (2) Development Studies (2) Drama, Dance & Performing Arts (6) Economics (3) Education (3) English (9) European Studies (6) Food Science / Nutrition (1) Gender & Sexuality (6) Geography (4) History (13) Law (3) Materials Science (1) Mathematics (2) Mechanical Engineering (1) Medical / Biomedical Physics (1) Medical / Clinical Science (1) Middle East & African Studies (1) Molecular Biology (1) Music (4) Neuroscience / Neurology (1) Pharmacy / Pharmaceutics (1) Philosophy (6) Political Science & International Studies (7) Psychology (4) Public Health & Epidemiology (1) Social Work, Social Policy & Administration (2) Sociology (7) Statistics (1) Theology & Religious Studies (4) Town & Country Planning (1) Veterinary Medicine (1)
All Aberdeen University (1)Cardiff University (2)King's College London (7)Mary Immaculate College, Limerick (1)Northumbria University (1)University of Birmingham (2)University of Liverpool (1)University of Naples Federico II (1)University of Sheffield (3)University of Warwick (1)Xi'an Jiaotong-Liverpool University (3)
All International PhD Programme (1) PhD Research Programme (18) PhD Research Project (4)
All I am a UK student (21) I am a European student (exc UK) (21) I am a non-European student (12) I am a self-funded student (23)
Modern Languages & Linguistics (teaching) PhD Projects, Programs & Scholarships
We have 23 Modern Languages & Linguistics (teaching) PhD Projects, Programs & Scholarships
Keywords: "teaching" ×
Showing 1 to 23 of 23 PhDs
Exploring "Learning Spaces" in Teaching English to Speakers of Other Languages (TESOL)
Aberdeen University
Dr R Shanks, Dr V Greenier
This study will explore the ways in which the physical learning environment (i.e.
Creative Writing /PhD
Faculty of Arts & Humanities
Humanities Research Programme
Humanities Research Programmes present a range of research opportunities, shaped by a university's particular expertise, facilities and resources. You will usually identify a suitable topic for your PhD and propose your own project. Additional training and development opportunities may also be offered as part of your programme.
About Creative Writing PhD. The PhD in Creative Writing at King's is a practice-led course, incorporating taught elements and aspects of professional development.
Department of Modern Languages - Out of Our Minds
Background. The Department of Modern Languages and the Department of English and Linguistics at The University of Birmingham invites applications for one funded PhD studentship to commence in 30th September 2019.
Spanish, Portuguese and Latin American Studies PhD
About Spanish, Portuguese and Latin American Studies PhD. REF rankings 2014.
Cardiff University School of Welsh - PhD Opportunities
Cardiff School of Welsh (Ysgol y Gymraeg, Caerdydd). is a dynamic and successful school, conducting innovative and socially-relevant research while delivering teaching of the highest quality.
English PhD (option of joint PhD with Hong Kong/Singapore/Humboldt Berlin)
About English Phd. King's is one of the oldest English departments in the country and is home to a lively and supportive group of academics and students engaged in the exploration of literary cultures from the 7th to the 21st centuries.
German PhD (option of joint PhD with Stuttgart/Sorbonne or Humboldt University)
About German PhD. REF rankings 2014.
PhD Programmes at The University of Naples Federico II
University of Naples Federico II
Italy PhD Programme
An Italian PhD usually takes 3-4 years and consists of some taught units as well as research towards your thesis. This will be examined at a public defence, rather than a private viva voce. Some programmes are taught in English.
The University of Naples Federico II is one of the oldest Universities in the world and one of the largest in Italy. It was founded in 1224 by an Imperial Decree issued by Federico II Hohenstaufen, Emperor of the Holy Roman Empire to which Naples belonged at the time.
Monster Tales: The Abnormal in Imperial China 志怪小说中的非正常概念
Xi'an Jiaotong-Liverpool University
Department of China Studies
Prof D Goodman, Dr L Cesarino
The Department of China Studies invites applications from suitably-qualified candidates for a full-time PhD scholarship in the field of Chinese classical literature.
From Residents to New Citizens: Aspirations, Identities and Decision-making in Two Chinese Municipalities
Department of English, Culture, and Communication
Dr P Cheung, Dr B Tang, Prof D Goodman, Dr L Rocha
走上"新市民"之路. 居住在中国两市流动人口的志向,身份认同与决.
Cardiff University School of Modern Languages - PhD Opportunities
School of Modern Languages. is an inter-disciplinary centre of excellence and one of the largest and most dynamic Schools of its type in the UK.
Comparative Literature PhD
About King's and Comparative Literature . REF rankings 2014. The 2014 Research Excellence Framework confirmed the world-class standard of research undertaken in the Faculty of Arts & Humanities in which the Department of Comparative Literature sits and its leading international reputation. .
Film Studies PhD (option of joint PhD with Hong Kong University)
Arts Research Programme
Arts Research Programmes present a range of research opportunities, shaped by a university's particular expertise, facilities and resources. You will usually identify a suitable topic for your PhD and propose your own project. Additional training and development opportunities may also be offered as part of your programme.
About Film Studies PhD. REF rankings 2014. 87% of our research is rated 3* or 4* - indicating internationally excellent and world-leading quality – and 100% being awarded the same rating for its impact.
Philosophy PhD (option of joint PhD with National University of Singapore)
About Philosophy PhD. REF rankings 2014.
PhD programmes in Liberal Arts
Mary Immaculate College, Limerick
Mary Immaculate College (MIC) offers a diverse suite of postgraduate programmes in Liberal Arts to masters and doctoral level. Be part of an innovative and creative learning environment with student supports, graduate skills training and a range of financial supports.
Department of Humanities
The PhD opportunities on this programme do not have funding attached. You will need to have your own means of paying fees and living costs and / or seek separate funding from student finance, charities or trusts.
We welcome proposals in our Humanities disciplines that speak to our interdisciplinary research group themes. American Studies. on any aspect of the history, literature, and culture of the pre-1776 North American colonies, the United States, and the Caribbean.
Modern Languages - Postgraduate Research Opportunities
Awaiting Funding Decision/Possible External Funding
This programme is waiting to confirm funding from a university or external source. This may depend on attracting suitable students and applications are welcome. Please see the programme details for more information.
The Department of Modern Languages is home to internationally renowned researchers in a range of European and world languages and cultures.
The University of Liverpool's School of Histories, Languages and Cultures welcomes applications across five departments
School of Histories Languages and Cultures
The University of Liverpool's School of Histories, Languages and Cultures draws together a unique set of research and teaching expertise found across five departments in the Faculty of Humanities and Social Sciences.
School of East Asian Studies PhD Opportunities
Social Sciences Research Programme
Social Sciences Research Programmes present a range of research opportunities, shaped by a university's particular expertise, facilities and resources. You will usually identify a suitable topic for your PhD and propose your own project. Additional training and development opportunities may also be offered as part of your programme.
The University is rated in the top 100 by the QS World University Rankings, priding itself on research-led critical thinking that aims to make an impact in the world.
The School of Education Doctoral Opportunities as part of the Faculty of Social Sciences
English PhD Programme
As a PhD student in the School of English, you will be studying and researching in one of the largest and the most successful English departments in the UK.
PhD in Renaissance Studies
We offer our graduate students a buoyant research culture with researchers of national and international renown. Applicants who are interested in postgraduate study in the Centre are advised to contact our Director of Graduate Studies (DGS), Marco Nievergelt ([email protected]) as early as possible.
The interactional accomplishment of credibility in Chinese health care settings
Dr M Wamsiedel
This project focuses on the practical assessment of patient credibility during interactions taking place at the emergency department of a Chinese public hospital.

redpajama_set_name: RedPajamaCommonCrawl


text:
SEAA Participates in Skilled Trades Coalition
SEAA, which is a member of the Skilled Trades Coalition, recently attended the second formal meeting of the newly established group. The organization's members include the American Welding Society, American Institute of Steel Construction, and more than a dozen others.
"The group consists of manufacturing, fabrication, and construction associations, which have come together to tackle similar challenges in recruiting qualified workers to their respective specialties," said Tom Underhill, SEAA Executive Director, who attended the meeting held at AISC headquarters in Chicago. More.
SEAA Makes Craft Training and Testing Available to College Students
SEAA is expanding its relationship with technical and community colleges in order to bring NCCER accredited testing for craft professions, including the SEAA/NCCER ironworker program, to students in local communities.
The partnership allows colleges to become members of SEAA, giving them access to the SEAA/NCCER Ironworker Craft Training program, and other NCCER craft curriculum and assessments. More.
Solve Workforce Challenges and Play Golf
Join SEAA in Raleigh, N.C. on October 17 to find out how the association can help you implement ironworker craft training. There is no cost to attend the Meet & Greet, from 6-8pm at the Embassy Suites by Hilton, Crabtree/Raleigh. At the event, you can find out how SEAA member companies are solving their workforce development needs with SEAA/NCCER Craft Training. More .
New Team Member Joins SEAA Staff
Bryttany Freeman is the new Administrative Assistant and Social Media Coordinator for the Steel Erectors Association of America. As SEAA is expanding, Freeman is assisting Kathy Epperson in everyday operations as well as managing social media accounts for the association. More .
Submit your Project of the Year Nominations
The Steel Erectors Association of America is conducting its 16th annual Project of the Year national competition. Besides free publicity and peer and industry recognition, one previous recipient of the award says it gives employees and ironworkers a sense of pride in the company.
"At the worker level, there can be sameness to the work—same welds, same connections, same steel, project after project. This is proof that we are better than the other guys. Having done the job well, safely and on schedule to a level that garnered national recognition—gives our workers a sense of pride and makes them partners in our efforts to maintain quality," said Kurt Hettinger of S.L. Shaw Company Inc., Bakersfield, Calif. More .
Advertise in SEAA's Annual Directory
Connector Magazine Winter 2019 Issue
Advertising Deadline: November 15th
SEAA's Annual Membership Directory is used as a reference tool all year long by contractors, steel erectors, and fabricators.
Call Chris Harrison, 660-287-7660
ConnectorSales@SEAA.net
2019 October Meet & Greet
Raleigh, N.C.
2019 Annual Golf Tournament
SEAA's 48th Annual Convention
Charleston, N.C.
ASCE Explores Structural Steel Failures
A new book prepared by the Education Committee of the Forensic Engineering Division of the American Society of Civil Engineers explores failures in steel structures between 1970 and 2013. Failure Case Studies: Steel Structures provides a summary and review of eight case studies. The case studies are designed to promote failure literacy and to reduce risk to the public. This book serves as a reminder that learning from past failures can avoid similar failures in the future and lead to improved engineering practices.
Harness Safety and Fall Protection
Fall Protection-General Requirements has made OSHA's "Top 10" citations list for eight years running. The body harness is the most critical piece of PPE that will most likely save an ironworker's life. It is also the heaviest, most uncomfortable piece of safety equipment ironworker deals with on a day to day basis.
Selection and inspection of harnesses, plus proper understanding of tie-off procedures and types of connection points have been the focus of several articles in the news recently. These resources serve as a good reminder of best practices to prevent falls and what to do after a fall. More .
Photo provided by Peterson Beckner Industries
Understanding new Load Sensing Requirements for Work Platforms
The American National Standards Institute's (ANSI) updated A92.20/22/24 standards go into effect this December. Aerial Work Platforms (AWPs) will now become known exclusively as Mobile Elevating Work Platforms, or MEWPs. MEWPs will be classified as Groups A and B and Types 1, 2, or 3. Type is determined by how MEWPs are driven to, from, and around job sites.
Perhaps one of the most significant changes to design standards that will affect operation is load- sensing technology. Overload or load sensing systems must be included in the new MEWP design. Load sensing assesses the weight of operators and equipment in the work platform, and will only allow the machine to operate if the total load stays within the MEWP's rated capacity. The machine will disable functionality if it exceeds it. More .
BigRentz Trade School Scholarship Program 2019
During a study conducted in early 2019 by BigRentz is was shown that only 11% of young Americans believed they could get a high-paying job from attending a trade school. To combat this inaccurate view of trade schools BigRentz has launched a trade school scholarship program in order to support students who are looking to pursue a career in a skilled profession. Learn more about the scholarship program and how to apply here .
For Construction Pros: Recession Likely After 2020 Election
Equipment World: When looking for veterans to hire, start with Guard and Reserve units
BYF: Construction Careers Lead to Financial Stability
Modern Steel Construction: Rainier Square Tower Tops Out in Only 10 Months
NCCE R: Three Ways to Make an Impact in Workforce Development
In this Issue of Fall 2019 Connector:
Management : No Safety Silos. Read
In the Field: Body Harnesses- Quality, Comfort are Key. Read
Special Focus: Training Directory. Read
Ironworker Skills Institute now a Non-profit Educational Facility
Garrison Steel, Pell City, Ala., has transitioned its SEAA/NCCER ironworker training program to a 501c3, a not-for-profit educational facility that is now the Ironworker Skills Institute. Garrison Steel partnered with a local community college to offer co-op education for high school students. Recent changes have allowed the Ironworker Skills Institute to transition to a trades program with local high schools and home school associations. Ironworker Skills Institute is able to offer this program at no cost to high school students due to grants and financial contributions from vendors and donors.
The program is designed to guide the current workforce and the next generation of ironworkers and welders towards qualification and employment. "The program is producing young people who are on fire for being in the trades," said John Garrison, CEO, who reports they have placed at least half of the students into jobs with his company as well as with his competitors. However, Garrison reminds would-be students: "Success doesn't come without commitment of purpose and hard work." More.
Banker Steel Awarded Contract for Children's Hospital of Philadelphia
Banker Steel, Lynchburg, Va., will fabricate and erect 9,000 tons of structural steel for Turner Construction for a 17-story addition to the Children's Hospital of Philadelphia. The building will be comprised of 565,000 square feet of office space, along with a fitness center, auditorium, and other amenities. More.
Ashley Sling Releases new Tuff-Ash Sling Armor Sleeve
Ashley Sling, Atlanta, Ga., announces the Tuff-Ash Sling Armor Sleeve. The strong, durable sleeves enable end users to take advantage of the benefits that textile slings can provide while ensuring significant improvements in safety.
The sleeve is resistant to cutting, while also being flexible. It offers excellent resistance to sharp edges and outstanding abrasion resistance. The Sling Armor sleeve also offers identification and wear indicators. More .
Simpson Strong-Tie Hosts Fellowship for Scholarship Recipients
Simpson Strong-Tie hosted 32 scholarship program award recipients from universities across the country as part of its new fellowship program. The Simpson Strong-Tie Fellowship provides the opportunity to network with industry professionals, meet with Simpson Strong-Tie executives and fellow scholarship awardees. Since 1998 more than 850 scholarships have been awarded to nearly 100 participating universities. More.
The Crosby Group Names New CEO
The Crosby Group, Tulsa, Okla., has named Robert Desel CEO. He has served as Chief Commercial Officer since 2017, leading sales, marketing, and company strategies. Desel gained channel management and product support experience in his previous role as founding partner and CEO of Carlisle & Co. More.


The Northern Grampians Shire community was visited last week by CEO and Managing Director of Nectar Farms, Stephen Sasse, to provide an update on how the project is progressing in relation to the Bulgana Green Power Hub.
Two community information sessions were held in Stawell and Joel Joel, detailing the plans and timeline of events to come with the project.
The session held in Joel Joel, in particular, featured a number of local solutions coming out of the discussion from community members, including long-term water and stock management solutions.
Nectar Farms is currently working with council to obtain planning and building permits to construct the world-class glasshouse, which will be designed using state of the art technology.
The glasshouse will be over 30 hectares in size, with bulk earthworks, in-ground services and utilities, and construction of the utilities sheds, tank farm and glasshouse itself all set to begin within the next six months.
Key partners in the project include Neoen, Costa, Kubo, Lumigrow, Osborn Consulting Engineers, Ampcontrol and Georgiou.
Those who would like to be kept up to date on the project can do so by emailing Stephen Sasse on stephen.sasse@nectarfarms.com.au.


text:
const _ = require('underscore');

const DrawCard = require('../../../drawcard.js');

class WhiteRaven extends DrawCard {
    setupCardAbilities() {
        this.forcedReaction({
            when: {
                afterChallenge: (e, challenge) => challenge.loser === this.controller && challenge.challengeType === 'power'
            },
            handler: () => {
                this.game.addMessage('{0} is forced by {1} to sacrifice {1}', this.controller, this);
                this.controller.sacrificeCard(this);
            }
        });
        this.reaction({
            when: {
                onDominanceDetermined: (event, winner) => (
                    this.controller === winner &&
                    (this.anyPlotHasTrait('Summer') || this.anyPlotHasTrait('Winter')))
            },
            handler: () => {
                this.game.addPower(this.controller, 1);
                this.game.addMessage('{0} uses {1} to gain 1 power for their faction', this.controller, this);
            }
        });
    }

    anyPlotHasTrait(trait) {
        return _.any(this.game.getPlayers(), player =>
            player.activePlot &&
            player.activePlot.hasTrait(trait));
    }
}

WhiteRaven.code = '04008';

module.exports = WhiteRaven;


text:
Q: How to loop over nextPageToken using GoogleDrive's Python Quickstart My goal is to have a list of all of the items & folders in everyone's Google Drive. I'm starting with trying to make sure the script works on my own. I have read cover-to-cover the Drive REST API documentation, and eventually found this code, which can also be found here.
from __future__ import print_function
import httplib2
import os
import sys

from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage

reload(sys)
sys.setdefaultencoding('utf-8')

try:
    import argparse
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

# If modifying these scopes, delete your previously saved credentials
# at ~/.credentials/drive-python-quickstart.json
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Drive API Python Quickstart'

def get_credentials():
    """Gets valid user credentials from storage.

    If nothing has been stored, or if the stored credentials are invalid,
    the OAuth2 flow is completed to obtain the new credentials.

    Returns:
        Credentials, the obtained credential.
    """
    home_dir = os.path.expanduser('~')
    credential_dir = os.path.join(home_dir, '.credentials')
    if not os.path.exists(credential_dir):
        os.makedirs(credential_dir)
    credential_path = os.path.join(credential_dir,
                                   'drive-python-quickstart.json')

    store = Storage(credential_path)
    credentials = store.get()
    if not credentials or credentials.invalid:
        flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
        flow.user_agent = APPLICATION_NAME
        if flags:
            credentials = tools.run_flow(flow, store, flags)
        else: # Needed only for compatibility with Python 2.6
            credentials = tools.run(flow, store)
        print('Storing credentials to ' + credential_path)
    return credentials

def main():
    """Shows basic usage of the Google Drive API.

    Creates a Google Drive API service object and outputs the names and IDs
    for up to 10 files.
    """
    credentials = get_credentials()
    http = credentials.authorize(httplib2.Http())
    service = discovery.build('drive', 'v3', http=http)

    results = service.files().list(
        pageSize=1000,fields="nextPageToken, files(mimeType, name)").execute()
    items = results.get('files', [])
    if not items:
        print('No files found.')
    else:
        print('Files:')
        for item in items:
            print('{0} ({1})'.format(item['name'], item['mimeType']))

if __name__ == '__main__':
    main()

My problem is with the nextPageToken, and how to properly use it. The max PageSize is 1000, so I must loop over the nextPageToken, fetch it from the resulting JSON, put it back into the original loop (line 66?), to get another 1000 results. How do I do this?

A: Let's look the google drive api documentation for the File:list Method
In the fields of your request you are asking the nextPageToken, the result will contain the token for the nextPage (if the nextPage exists).
The result will be something like this :
{
 ...,
 "nextPageToken": "V1*3|0|XXXXXX",
 "files": [
  {
   ...
  },...
  ]
}

you can extract nextPageToken value like :
token = results.get('nextPageToken', None)

The List method can take the string parameter pageToken :

The token for continuing a previous list request on the next page.
  This should be set to the value of 'nextPageToken' from the previous
  response.

Just set the parameter pageToken in the next request to get the next page of results :
    results = service.files().list(
        pageSize=1000,
        pageToken=token,
        fields="nextPageToken, files(mimeType, name)").execute()
    items = results.get('files', [])

Now you can easily make a loop to get all result.

A: I will try to demonstrate the concept for you but you'll do the implementation in Python. The short answer is, nextPageToken. nextPageTokens enable you to retrieve the results from the next page.

When you perform a GET request, a nextPageToken will always be included in the response so if you had 1000 results but you only wanted to display 20 per page, you can fetch the remaining 980 files using nextPageToken.
Run this URL and you'll see something like:
"kind": "drive#fileList",
 "nextPageToken": "V1*3|0|CjkxOHY2aDdROE9JYkJGWUJEaU5Ybm1OVURSemJTcWFMa2lRQlVJSnVxYmI2YkYzMmhnVHozeWkwRnASBxCqqcG4kis",
 "incompleteSearch": false,

The value of the nextPageToken here is what you use to get to the next page. When you get to the next page and you have more results, a new nextPageToken will be generated for you until you view/get all the results (980-1000).

A: You must looping while token (for the nextpage) is not null, like this code at the end:
(do not forget to install -->
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Copy and paste this code (Do not forget to change your paths and your googleDrive folder ID, at the end)
from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import MediaFileUpload, MediaIoBaseDownload

# If modifying these scopes, delete the file token.pickle.
SCOPES = [
'https://www.googleapis.com/auth/spreadsheets',
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive"
]

# FOR AUTHENTICATION
def authenticate():
    creds = None
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)

    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'YOUR PATH FOR THE CREDENTIALS JSON/credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)

        with open('YOUR PATH /token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    service = build('drive', 'v3', credentials=creds)
    return service

# LISTS TO TAKE ALL FILES AND IDs FROM SPECIFIC FOLDER
listFilesDrive=[]
line = []

# TO TAKE ALL FILES FROM SPECIFIC FOLDER
def listFilesFromGoogleFolder(IDFolder):
    service = authenticate()
    # Call the Drive v3 API
    results = service.files().list( q="'{}' in parents".format(FolderIDFromGDrive),
        fields="nextPageToken, files(id, name)").execute()
    items = results.get('files', [])
    # TAKE TOKEN FROM THE NEXT PAGE (IF THERE IS NO ONE, THIS VALUE WILL BE NULL)
    token = results.get('nextPageToken', None)
    #print('token->>',nextPageToken)

    if not items:
        print('No files found.')
    else:
        print('Files:')
        line = []
        for item in items:
            # TAKE FIRST PAGE IN A LIST ->> "listFilesDrive"
            arquivo = item['name']
            IDarquivo = item['id']
            line.append(arquivo)
            line.append(IDarquivo)
            listFilesDrive.append(line)
            line=[]
            print(u'{0} ({1})'.format(item['name'], item['id']))

    # LOOPING WHILE TOKEN FOR OTHER PAGES IS NOT NULL TOKEN
    while token!=None:
        service = authenticate()
        results = service.files().list( q="'{}' in parents".format(IDFolder),
            pageToken=token,
            fields="nextPageToken, files(id, name)").execute()
        items = results.get('files', [])
        # TAKE A NEW TOKEN FOR THE NEXT PAGE, IF THERE IS NO, THIS TOKEN WILL BE NULL ("None")
        token = results.get('nextPageToken', None)

        if not items:
            print('No files found.')
        else:
            print('Files:')
            linha = []
            for item in items:
                arquivo = item['name']
                IDarquivo = item['id']
                line.append(arquivo)
                line.append(IDarquivo)
                listFilesDrive.append(line)
                line=[]
                print(u'{0} ({1})'.format(item['name'], item['id']))

    print(len(listFilesDrive))
    print(listFilesDrive)

# put your specific information
if __name__ == '__main__':
    FolderIDFromGDrive='YOUR FOLDER ID'
    listFilesFromGoogleFolder(FolderIDFromGDrive)

A: I had quite a bit of trouble with this. I didn't read the example closely enough to notice that nextPageToken & newStartPageToken were not the same thing.
I split up the functions a little and added a loop. Basically, return the startPageToken and loop over the same function / call the function as required.
from __future__ import print_function
import httplib2
import os

#julian
import time

from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage

try:
    import argparse
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

# If modifying these scopes, delete your previously saved credentials
# at ~/.credentials/drive-python-quickstart.json
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Drive API Python Quickstart'

def get_credentials():
    """Gets valid user credentials from storage.

    If nothing has been stored, or if the stored credentials are invalid,
    the OAuth2 flow is completed to obtain the new credentials.

    Returns:
        Credentials, the obtained credential.
    """
    home_dir = os.path.expanduser('~')
    credential_dir = os.path.join(home_dir, '.credentials')
    if not os.path.exists(credential_dir):
        os.makedirs(credential_dir)
    credential_path = os.path.join(credential_dir,'drive-python-quickstart.json')

    store = Storage(credential_path)
    credentials = store.get()
    if not credentials or credentials.invalid:
        flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
        flow.user_agent = APPLICATION_NAME
        if flags:
            credentials = tools.run_flow(flow, store, flags)
        else: # Needed only for compatibility with Python 2.6
            credentials = tools.run(flow, store)
        print('Storing credentials to ' + credential_path)
    return credentials

def main():
    """Shows basic usage of the Google Drive API.

    Creates a Google Drive API service object and outputs the names and IDs
    for up to 10 files.
    """
    credentials = get_credentials()
    http = credentials.authorize(httplib2.Http())
    service = discovery.build('drive', 'v3', http=http)

    saved_start_page_token = StartPage_v3(service)
    saved_start_page_token = DetectChanges_v3(service, saved_start_page_token)

    starttime=time.time()
    while True:
        saved_start_page_token = DetectChanges_v3(service, saved_start_page_token)
        time.sleep(10.0 - ((time.time() - starttime) % 10.0))

def StartPage_v3(service):
    response = service.changes().getStartPageToken().execute()
    print('Start token: %s' % response.get('startPageToken'))
    return response.get('startPageToken')

def DetectChanges_v3(service, saved_start_page_token):
    # Begin with our last saved start token for this user or the
    # current token from getStartPageToken()
    page_token = saved_start_page_token;
    while page_token is not None:
        response = service.changes().list(pageToken=page_token, spaces='drive').execute()
        for change in response.get('changes'):
            # Process change
            mimeType = change.get('file').get('mimeType')
            print( 'Change found for: %s' % change)
        if 'newStartPageToken' in response:
            # Last page, save this token for the next polling interval
            saved_start_page_token = response.get('newStartPageToken')
        page_token = response.get('nextPageToken')
    return saved_start_page_token

if __name__ == '__main__':
    main()

redpajama_set_name: RedPajamaStackExchange


The ACHaD Department (Achieving Community Hopes and Dreams) of the Katz JCC provides individuals with special needs, of all ages, a safe and nurturing environment to build social skills, enhance self-esteem and cultivate friendships. Our goal is to enhance the physical, social and emotional development of participants through supportive programs that facilitate a sense of empowerment and independence. Participants express themselves in creative ways, gain confidence to interact with the community and their peer group while developing a sense of belonging.
Since its inception in 1998, the ACHaD Department has evolved to meet the needs of individuals with special needs and their families in our community with the help of our passionate and dedicated staff and volunteers. We pride ourselves on fostering personal relationships with each individual and family.
The JCC welcomes families of all faiths, cultures and abilities to be a part of our vibrant community, and we encourage all to participate in our programming.
The ACHaD Department works with individuals that span a variety of intellectual and developmental disabilities including Autism, Down Syndrome, Cerebral Palsy, communication impairments and more.
If you are interested in learning more about our programs and services, please complete the form below. Someone from our ACHaD Staff will be in contact with you shortly.
For more information contact Eileen Elias, Director of ACHaD Special Needs Department, [email protected] or call (856) 424-4444 x1114.
Our program is funded by the generous support by The Raymond & Gertrude R. Saltzman Foundation and The Jewish Federation of Southern New Jersey.


Sony FDR-AX30 4K Ultra HD Handycam Camcorder bisa merekam dengan kualitas 4K Ultra HD & resolusi 20.6MP, menggunakan sensor Exmor R CMOS, prosesor gambarnya Bionz X, memiliki lensa Zoom 29.8mm Zeiss Vario Sonnar T*.
Compatible with European broadcast standards the Sony FDR-AX30 is a palm-sized Handycam camcorder with 64GB of internal storage that records 4K or HD video. It is equipped with a wide-angle Zeiss Vario Sonnar T* lens with 10x optical zoom and up to 20x Clear Image zoom and features an Exmor R CMOS sensor with Bionz X image processor that delivers Ultra HD (3840×2160) resolution video using Sony's XAVC S codec. It also records 1080p video in XAVC S or AVCHD and takes up to 20.6MP upscaled (interpolated) still images.


Mission Viejo was purchased by John Forster, also known as "Don Juan," an Englishman by birth who became a Mexican citizen. During the Mexican–American War, Forster provided fresh horses to United States military forces which were used on the march of San Diego to retake Los Angeles.
Mission Viejo was a hilly region primarily used as cattle and sheep grazing land, since it was of little use to farmers. This city was one of the last regions of Orange County to be urbanized due to its geologic complexity. In 1960, early developers dismissed most of the land in Mission Viejo as simply "undevelopable".
Donald Bren, an urban planner who later became the president of the Irvine Company, drafted a master plan which placed roads in the valleys and houses on the hills, and contoured to the geography of the area. The plan worked, and by 1980 much of the city of Mission Viejo was completed. During the late 1970s and the 1980s, houses in Mission Viejo were in such high demand that housing tracts often sold out before construction even began on them. The houses and shopping centers in the city are almost uniformly designed in a Spanish mission style, with "adobe"-like stucco walls and barrel-tile roofs. Many point to Mission Viejo as the first and largest manifestation of Bren's obsession with Spanish architecture. Bren's company was also the creator of the developments in Irvine and Newport Beach. The company expanded its operations and went on to build the Lakes project in Tempe, Arizona, Mission Viejo Aurora in Colorado and was the initial master planner of Highlands Ranch, both in the Denver Metropolitan area.


The entire content included in this site, including but not limited to text, graphics or code, is copyrighted by Schacht Spindle Co., Inc. We reserve the right to make changes to the content at any time without notice, including products, product changes, product features, product specifications and models, and pricing. You may view, download, and print text and images from this site, providing that this content is used solely for informational, non-commercial purposes, and is not modified or altered in any way. Except where expressly noted, you may not use, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit or distribute any information or content from this site in whole or in part without prior written permission from us.
Schacht Spindle Company and the Schacht Spindle sheep logo are registered trademarks of Schacht Spindle Co., Inc. All trademarks and trade names used by us in the site are trademarks or registered trademarks of Schacht Spindle Co., Inc.
Harassment in any manner or form on this site, including via e-mail and chat or by obscene or abusive language, is strictly forbidden. You shall not upload to, distribute through, or otherwise publish on or through this site any content that is libelous, defamatory, infringing, obscene, pornographic, threatening, invasive of privacy or publicity rights, abusive, illegal, or otherwise offensive that would be or encourage to be a criminal, violate the rights of any person or institution, or otherwise give rise to liability or violate any law.
We do not review all communications and materials posted to or created by users accessing our site and are not responsible in any way for the content of these communications and materials. We reserve the right, at our discretion, to block or remove communications or materials that we determine to be abusive, defamatory, or obscene; fraudulent, deceptive, or misleading; in violation of a copyright, trademark or other intellectual property right of another; or offensive or otherwise unacceptable to us.
The entire content included in this site, including but not limited to text, graphics or code is copyrighted as a collective work under the United States and other copyright laws and is the property of Schacht Spindle Co., Inc.


text:
Q: Resampling raw audio with NAudio I'd like to resample audio: change its sample rate from 44k to 11k. The input I've got is raw audio in bytes. It really is raw, it has no headers - if I try loading it into a WaveFileReader, I get an exception saying "Not a WAVE file - no RIFF header".
How I'm currently trying to achieve it is something like this (just a really simplified piece of code):
WaveFormat ResampleInputFormat = new WaveFormat(44100, 1);
WaveFormat ResampleOutputFormat = new WaveFormat(11025, 1);

MemoryStream ResampleInputMemoryStream = new MemoryStream();

foreach (var b in InputListOfBytes)
{
    ResampleInputMemoryStream.Write(new byte[]{b}, 0, 1);
}

RawSourceWaveStream ResampleInputWaveStream =
  new RawSourceWaveStream(ResampleInputMemoryStream, ResampleInputFormat);
WaveFormatConversionStream ResampleOutputStream =
  new WaveFormatConversionStream(ResampleOutputFormat, ResampleInputWaveStream);

byte[] bytes = new byte[2];
while (ResampleOutputStream.Read(bytes, 0, 2) > 0)
{
    OutputListOfBytes.Add(bytes[0]);
    OutputListOfBytes.Add(bytes[1]);
}

My problem is: the last loop is an infinite loop. The Read() always gets the same values and never advances in the Stream. I even tried Seek()-ing to the right position after each Read(), but that doesn't seem to work either, I still always get the same values.
What am I doing wrong? And is this even the right way to resample raw audio? Thanks in advance!

A: First, you need to reset ResampleInputMemoryStream's position to the start. It may actually have been easier to create the memory stream based on the array:
new MemoryStream(InputListOfBytes)

Second, when reading out of the resampler, you need to read in larger chunks than two bytes at a time. Try at least a second's worth of audio (use ResampleOutputStream.WaveFormat.AverageBytesPerSecond).


text:
\section{Introduction}
\label{sec:intro}

Many different computer vision algorithms are becoming more reachable in our everyday life, starting from a smartphone camera and augmented reality (AR) / virtual reality (VR) applications to autonomous driving and even more complicated robotics tasks.
In order to solve these problems efficiently, obtaining precise and reliable 3D scene information is crucial.
3D reconstruction has been studied for many years and certainly can be categorized as one of the traditional computer vision tasks, but it is still a core technology.
There are various ways of obtaining 3D information, such as monocular depth prediction, structure from motion, and multi-view stereo.
However, 3D reconstruction using additional sensors alongside an RGB camera like secondary camera, depth sensors, or radar will be more effective, since it can utilize more accurate depth measurements as prior information.
Given that most of the recent mobile devices have more than one camera and even a LiDAR sensor, it is widely acceptable that 3D reconstruction by integrating multiple sensor inputs is a more efficient and practical approach.

While stereo matching being one of the most conventional and reliable ways in 3D reconstruction, it shows its weakness in depth prediction on the farther area due to the physical restriction for large baseline between stereo cameras.
Therefore, using a depth sensor to obtain more accurate and absolute initial depth information is also preferred.
However, one of the major downsides of commercialized depth sensors, such as 3D LiDAR, Kinect, and RealSense, is the sparsity of the measurement.
Addressing this problem, various approaches emerged trying to densify, i.e., `complete' the sparse depth measurement into a dense depth map, namely, `depth completion'.

In recent years, there have been many different methods trying to solve depth completion using deep learning, starting from Ma and Karaman~\cite{ma2018s2d}.
The challenging part of these algorithms is that regression-based approaches have difficulties in maintaining the information of the object boundary and may show mixed depth results~\cite{imran2019dc}.
A few early works addressed these difficulties by maximizing the information from the RGB input and refining the initial depth regression output to get better final results~\cite{cheng2018cspn, ma2019self, lee2019context, van2019sparse, cheng2020cspn, cheng2020cspn++, park2020nlspn}.
Other algorithms tried to utilize additional information that can be inferred from the depth map, such as surface normal, to give more geometrical guidance to the training process~\cite{lee2019context, xu2019depth, qui2019deeplidar}.
While these algorithms showed some promising outcomes, they still lack in preserving edge information and often require a large amount of computation power, as in heavy network memory and longer inference time, which are not suitable for real-time applications.

To tackle these problems, we introduce a Plane-Residual (PR) representation, a novel way of interpreting depth information, and an end-to-end depth completion deep learning network.
PR representation expresses an absolute depth value of a pixel with two parameters $(p, r)$, where $p$ refers to the closest depth plane among a number of pre-defined discretized depth planes, and $r$ refers to the normalized distance from the selected plane.
With Plane-Residual representation, we can factorize the direct depth regression problem into a combination of discrete depth plane classification and plane-by-plane residual regression.
We also propose an end-to-end depth completion network using PR representation to execute this idea and present our results with good performance and fast computation.
We did extensive ablation studies and compared our algorithm with some state-of-the-art methods, both quantitatively and qualitatively, to prove the effectiveness and the validity of our design choices.

\section{Related Work}
\label{sec:rw}

\subsection{Depth Completion}

Ma and Karaman~\cite{ma2018s2d} proposed depth completion using convolutional neural network (CNN).
They utilized the overall network structure from Laina \etal~\cite{laina2016deeper} to solve the depth completion problem using an RGB image and a single-channeled sparse depth input.
Their algorithm showed that using only a fraction of additional input depth information boosts a big margin of performance.

Cheng \etal~\cite{cheng2018cspn} and Park \etal~\cite{park2020nlspn} addressed the blurriness of the result in depth regression using deep learning, and tried to solve this problem by utilizing post-processing refinement module called convolutional spatial propagation network (CSPN).
CSPN learns affinity weights of each pixel to its neighbor pixels, where those weights are used to refine initial depth result iteratively.
Park \etal~\cite{park2020nlspn} compensated CSPN by proposing a non-local spatial propagation network (NLSPN), to learn non-local affinity weights that are not restricted to a square-shaped propagation kernel.
There are more approaches using different versions of CSPN~\cite{cheng2020cspn, cheng2020cspn++}, but these works all suffer from slow inference time.

Imran \etal~\cite{imran2019dc} approached in a slightly different way, by transforming the depth information into a series of depth coefficient for multiple discrete depth basis.
They tried to address the problem that deep learning based depth regression using upsampling might lose the information of the object boundaries.
By doing so, they were able to propose relatively light-weighted depth completion network, but lacked on the performance.

Chen \etal~\cite{chen2019fusenet} introduced a way to maximize the 3D information from the sparse depth input.
They applied 2D convolution on image pixels and continuous 3D convolution on point cloud, so that each branch extracts useful features from each side.
They fused the features from both sides in a multi-scaled manner, to get more accurate depth completion result, with well-preserved object boundary information.

\subsection{Depth Prediction using Multiple Planes}

Imran \etal~\cite{imran2019dc} used discretized multiple planes and corresponding coefficients.
They represented the depth value of each pixel by a weighted summation of pre-defined discretized depth planes, and learned those coefficients by multi-label classification.

Fu \etal~\cite{fu2018deep} proposed the ordinal regression to estimate the depth from a monocular image.
They compared multi-label classification and ordinal regression with predefined multiple depth planes.
The proposed deep ordinal regression network (DORN) divided the depth estimation problem into sub-problems of plane-wise binary classification, each determining whether the true depth value is larger than the discrete depth of each plane.
However, they used the discrete depth value itself in the final depth generation, therefore, the accuracy is limited.

Meanwhile, plane-sweeping algorithms are famous stereo matching methods using multiple planes. \cite{flynn2016deepstereo, huang2018deepmvs, im2018dpsnet}
They utilize cost-volume by stacking the photometric loss of the warped image from every discrete plane.
Im \etal~\cite{im2018dpsnet} integrated the process into the deep learning framework and proposed an end-to-end plane-sweeping algorithm.
However, they need a new image from a different viewpoint with known extrinsic parameters to calculate cost volume.
Therefore, they are usually used in a stereo setup or with consecutive image sequences.

Other methods to represent an image with multiple planes are Multi-Plane Image (MPI).
Tucker \etal~\cite{tucker2020mpi} and Zhou \etal~\cite{zhou2018stereo} represented a single RGB image as multiple RGBA images.
In this kind of representation method, the final image is obtained by the cumulative multiplication of the layers with additional transparency value.
However, these methods are not suitable to be directly used in depth prediction, since they were designed for differentiable rendering and view synthesis.

\section{Methodology}
\label{sec:meth}
In this section, we elaborate our new way of representing depth information, which we named Plane-Residual (PR) Representation, with detailed network structure and design choices for our end-to-end depth completion algorithm.
Overall pipeline of our approach is shown in~\figref{fig:pipeline}.

\subsection{Plane-Residual Representation}
\label{sec:pr}

\begin{figure*}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/PR_example.pdf}
\end{center}
\caption{\textbf{PR representation.} (a) 3D illustration of our PR representation. (b) 2D illustration and examples of how absolute depth values are interpreted in PR representation. Equations inside the blue-lined and red-lined boxes notate the PR representations from the actual depth values of the blue dot and the red dot, respectively.
}
\label{fig:pr}
\vspace{-2mm}
\end{figure*}

As mentioned in~\secref{sec:intro} and~\secref{sec:rw}, directly estimating depth information with deep learning using regression is challenging.
Therefore, we try to solve depth estimation by factorizing a challenging regression problem into a combination of relatively simple classification and regression.

To enable this idea, first we introduce a Plane-Residual (PR) representation, a novel way of interpreting depth information.
Our PR representation assumes a set of $D$ fronto-parallel planes to the camera, where each plane represents a discrete depth value $d_{p\in\{1, 2, \cdots, D\}}$.
Depth plane 1 is the closest plane from the camera, and depth plane $D$ is the farthest.
The values of $d_1, d_2, \cdots, d_D$ and $d_{\text{step}}$, which is the distance between two adjacent depth planes, can be determined arbitrarily.

Within a depth image, the depth value of each pixel is then expressed as $(p, r)$, where $p$ refers to the closest depth plane that the pixel lies.
$r$ is the normalized distance, \ie, \textit{residual} from the plane depth to its actual value according to $d_{\text{step}}$.
Therefore, every $r$ values are in range of $[-0.5, 0.5)$, except $[0, 0.5)$ for depth plane 1 and $[-0.5, 0]$ for depth plane $D$.
Given the values of the plane depths $d_p$s, the absolute depth value of a pixel represented as $(p, r)$ is,
\begin{equation}
\label{eq:pr}
\begin{split}
    D(p, r) & = d_p + r \times d_{\text{step}}(p, r), \\
    d_{\text{step}}(p, r) & =
    \begin{cases}
        d_{p+1} - d_p & \text{if} \; r \geq 0 \\
        d_p - d_{p-1} & \text{if} \; r < 0 \\
    \end{cases}
\end{split}
\end{equation}
More intuitive illustration of our PR representation is shown in~\figref{fig:pr}.

By using PR representation, we can seamlessly reformulate the depth completion task into a combination of depth plane classification and relative residual regression.
Depth plane classification simplifies the densification of the given sparse depth information.
Relative residual regression makes the final depth result to be more accurate and reduces discontinuity issue from the discretized depth planes.

\subsection{Network Design}
\label{sec:net}

\begin{figure*}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/Pipeline.pdf}
\end{center}
\caption{\textbf{Overall pipeline of our depth completion algorithm.} With a single RGB image and a sparse depth input, we solve depth completion with a combination of depth plane classification and residual regression. Please refer to~\secref{sec:meth} for detailed information.}
\label{fig:pipeline}
\vspace{-2mm}
\end{figure*}

\begin{figure}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/detail.pdf}
\end{center}
\caption{\textbf{Illustration of the detailed network architecture and our late feature fusion technique.} Decoded feature maps from decoder $P$ are fused to the decoded feature maps in decoder $R$, to guide residual regression with plane classification information.}
\label{fig:detail}
\vspace{-2mm}
\end{figure}

Our depth completion network using PR representation consists of a single ResNet-based~\cite{he2016resnet} encoder and two decoders, decoder $P$ and decoder $R$.
The overall pipeline of our approach is shown in~\figref{fig:pipeline}.

The encoder takes an RGB image and sparse depth information as an input.
Input sparse depth is pre-processed into a PR representation.
The P part of the PR representation is expressed in a $D$-channeled valid mask, and the R part is expressed in a single-channeled residual map.
Each type of input element is processed with a single convolution layer and then concatenated all together before the ResNet-based encoder~\cite{ma2019self, cheng2020cspn++}.

Two decoders are similar structure-wise while having distinguished roles.
Each decoder block in both decoders consists of a deconvolution~\cite{noh2015learning} layer.
Skip connection~\cite{ronneberger2015unet} from the encoder is given to every matching output of the decoding blocks in decoder $P$, which is known to be effective for retaining object boundary information.
Moreover, in our proposed PR representation, residual value $r$ is determined in regard of the depth plane $p$.
Therefore, some kind of guidance from plane classification process should be given when regressing residual map.
To give this guidance while maintaining the parameter-wise effectiveness of the whole depth completion network, we chose to give additional skip connection from the decoded features of decoder $P$ into the decoded features of decoder $R$.
More detailed and intuitive architecture of our depth completion network using PR representation is shown in~\figref{fig:detail}.
We chose feature summation rather than feature concatenation for our skip connection, since encoded features are in the similar domain as decoded features~\cite{qui2019deeplidar}.

Decoder $P$ outputs a $D$-channeled probability volume, using a softmax function.
The output of the decoder $R$ is a single-channeled normalized residual map, $r_{\text{pred}}$.
Using~\eqnref{eq:pr}, the final prediction of the network $D_{\text{pred}}$ is acquired by,
\begin{equation}
\begin{split}
    D_{\text{pred}}(x, y) = & \sum_{p = 1}^{D} d_p \times \sigma(l_p(x, y)) \\
    & + r_{\text{pred}}(x, y) \times d_{\text{step}}(\hat{p}, r_{\text{pred}}(x, y)).
    \label{eq:pred}
    \end{split}
\end{equation}
Here, $\sigma ( \cdot )$ is a softmax function, and $l_p(x, y)$ is the raw classification logit at the coordinate $(x, y)$ for depth plane $p$.
$\hat{p}$ is the classified depth plane at the pixel $(x, y)$ with the highest probability of $\sigma(l_p(x, y))$.
Unlike~\eqnref{eq:pr}, we used weighted summation for the final depth estimation with the probability volume $\sigma (l_p)$, to smoothen the depth result in the boundary area of two discrete depth planes.

\subsection{Probability Volume Filtering}
\label{sec:filter}
In order to achieve more accurate depth plane classification results, we apply channel-wise guided image filtering.
Guided image filtering~\cite{he2010gf, he2013gf} uses content information from the guidance image to perform edge-preserving smoothing.
Applying this technique to each channel of the cost volume for correspondence matching was introduced and was shown to be effective in~\cite{hosni2013filter}.
Since our probability volume for depth plane classification has similar structure to the cost volume in plane-sweeping and stereo matching, we believe that this kind of technique can be easily applied to our approach as well.

To adopt this idea, we first apply two consecutive convolution layers to the input RGB image to create $D$-channeled guidance images $I_{\text{guide}}$, as in~\cite{wu2017fast}.
Then we perform channel-wise guided image filtering to the initial depth plane classification logit $l$, by
\begin{equation}
    l_{\text{refined}, p}^i = A_p^k I_{\text{guide}, p}^i + b_p^k, \; \forall i \in w_k,
\label{eq:gf}
\end{equation}
where $i$ is a pixel location, $w_k$ is a window centered at the pixel $k$, and $l_{\text{refined}, p}$ is a refined classification logit at depth plane $p$.
$A_p^k$ and $b_p^k$ are determined using mean, variance and covariance values of $I_{\text{guide}, p}$ and $l_p$ in a window $w_k$, where we use an average pooling layer to utilize this equation in the training process.
Our final depth result will be modified from~\eqnref{eq:pred} by substituting $l$ to $l_{\text{refined}}$, as in,
\begin{equation}
\begin{split}
    D_{\text{pred}}(x, y) = & \sum_{p = 1}^{D} d_p \times \sigma(l_{\text{refined}, p}(x, y)) \\
    & + r_{\text{pred}}(x, y) \times d_{\text{step}}(\hat{p}, r_{\text{pred}}(x, y)).
    \label{eq:refined}
    \end{split}
\end{equation}

\subsection{Confidence-Based Regression}
\label{sec:cf}

As described in~\secref{sec:net}, the residual value $r$ depends on the classified depth plane $p$ of a pixel.
Therefore, reliable depth plane classification performance is required for robust residual learning.
If the decoder $R$ was trained with supervision of the ground truth residual map while the decoder $P$ gives false depth plane prediction, the final depth map will result in poor depth map quality with discretizing artifacts on the depth plane boundary region.

To address this problem, we measure depth plane classification confidence to use it as a training loss weight for decoder $R$.
The core idea is to give the network optimizer some guidance on where to put heavier weight between ground truth depth map $D_{\text{gt}}$, or ground truth residual map $r_{\text{gt}}$.
For confidence measure, we use the channel-wise maximum value of the probability volume $\sigma(l)$ on each pixel, as in,
\begin{equation}
    c(x, y) = \max(\sigma(l_1(x, y)), \cdots, \sigma(l_D(x, y))),
\label{eq:cf}
\end{equation}
where $c(x, y)$ is the confidence value at the pixel coordinate $(x, y)$.

For a pixel with high depth plane classification confidence, more supervision of the ground truth residual value is given, and for a pixel with low depth plane classification confidence, the decoder $R$ will be trained with more guidance from $D_{\text{gt}}$.

In the earlier stage of the training, the network can focus more on the depth plane classification.
In the latter stage of the training, when the depth plane classification becomes more reliable, the network can learn residual map more efficiently.
Also, for the boundary area of two adjacent depth planes, the decoder $R$ will be trained adaptively between the ground truth residual map and the ground truth depth map.

\subsection{Loss Function}

For accurate depth prediction and effective training, we trained our depth completion network with three loss terms, which are final depth loss, depth plane classification loss, and residual loss.

\noindent{\textbf{Final depth loss.}} The first loss term is a simple $L1$ loss between the final depth prediction $D_{\text{pred}}$ from~\eqnref{eq:refined} and the ground truth depth $D_{\text{gt}}$, as in,
\begin{equation}
    L_D = |D_{\text{gt}} - D_{\text{pred}}|.
\end{equation}

\noindent{\textbf{Depth plane classification loss.}} To maximize the benefits of our PR representation, we apply cross-entropy loss for the depth plane classification from decoder $P$.
Therefore, the cross-entropy loss $H(P_{\text{gt}}, l)$ for our depth plane classification logit $l$ can be described as,
\begin{equation}
    H(P_{\text{gt}}, l) = -\sum_{p=1}^D P_{\text{gt}}(p) \log ( \sigma (l_p)).
\end{equation}
$P_{\text{gt}}(p)$ is a ground truth depth plane classification binary indicator, showing if the pixel is in the depth plane $p$.

As described in~\secref{sec:filter}, we also have a refined logit output $l_{\text{refined}}$.
We calculate the same loss for both initial and refined classification prediction.
Our final depth plane classification loss $L_P$ will be defined as following:
\begin{equation}
    L_P = \lambda H(P_{\text{gt}}, l) + H(P_{\text{gt}}, l_{\text{refined}}),
\end{equation}
with $\lambda$ being a loss weight parameter which was set to 0.7, empirically.

\noindent{\textbf{Residual loss.}} The last loss term is also a simple $L1$ loss, calculated between the residual prediction $r_{\text{pred}}$ and the ground truth residual map $r_{\text{gt}}$.
With the confidence explained in~\secref{sec:cf}, our residual loss can be interpreted as,
\begin{equation}
    L_R = c \odot |r_{\text{gt}} - r_{\text{pred}}|,
\end{equation}
where $\odot$ indicates the Hadamard product.

Our final loss function $L$ for end-to-end training of our depth completion network is,
\begin{equation}
    L = L_D + L_P + \frac{1}{D}L_R.
\end{equation}
Since the residual part of our PR representation is normalized to a value of $d_{\text{step}}$, we penalize the residual loss with the parameter of $\frac{1}{D}$.

\section{Experiment}
\label{sec:exp}

\subsection{Dataset \& Training}

\noindent{\textbf{NYU Depth V2 dataset.}} The NYU Depth V2 dataset~\cite{silberman2012nyuv2} contains RGB and depth sequences in 464 indoor scenes.
The dataset was captured by a Kinect sensor, which provides short-ranged semi-dense depth measurements.
For both training and testing, we simulate uniform depth point sampling to randomly select 500 depth samples for each image \& depth pair.
To neglect the image boundary area with missing depth measurements, we downsized each image into a size of $320 \times 240$, and then center-cropped it to be a size of $304 \times 228$.
We utilized $\sim$48K image pairs from the official training set and used handpicked 654 pairs among 1449 pairs of fully-labeled dataset for evaluating, following previous works.

\noindent{\textbf{KITTI Depth Completion dataset.}} The KITTI dataset~\cite{Geiger2012CVPR} is a driving scene dataset that was captured by stereo RGB cameras, stereo monochrome cameras, and a LiDAR sensor.
The KITTI Depth Completion dataset~\cite{Uhrig2017THREEDV} provides RGB image and 2D-projected LiDAR sensor measurement as a pair.
It utilizes 11 consecutive frames to generate denser depth map as a ground truth.
For training, we ignored the regions with no LiDAR measurements, by bottom-cropping the images with the size of $1216 \times 256$.
We used $\sim$93K image pairs for training, and official selected validation set of 1000 pairs for comparisons with other approaches.

\begin{figure*}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/nyu.pdf}
\end{center}
\caption{\textbf{Qualitative depth completion results on the NYU Depth V2 dataset.} Depth plane classification results were shown in reversed color scheme for better visibility.}
\label{fig:nyu}
\vspace{-2mm}
\end{figure*}

For both datasets, we adopted ResNet-18~\cite{he2016resnet} model for our encoder, and used ADAM optimizer with learning rate of $1e^{-3}$, weight decay rate of $1e^{-6}$, and $\beta$ of $(0.9, 0.999)$.
The learning rate was reduced to its $20\%$ every 5 epochs, where the training was done for 20 epochs in total.
We set the batch size to 32 for the NYU Depth V2 dataset, and 8 for the KITTI Depth Completion dataset, using 4 NVIDIA RTX 2080 Ti GPUs, which take half a day and 3 days in training, respectively.

We set $d_1$ and $d_D$ as the minimum and the maximum depth values of the given sparse input samples.
We place the intermediate planes equally spaced depth-wise, thereby the value of $d_{\text{step}}$ is identical in every plane.
We chose the number of depth planes $D$ as 8 for the NYU Depth V2 dataset, and 64 for the KITTI Depth Completion dataset, regarding the maximum range difference between two datasets.
Comparison between other ways of choosing $d_p$s and $d_{\text{step}}$ will be shown in~\secref{sec:ablation}.

\begin{table}[t]
\begin{center}
\resizebox{0.45\textwidth}{!}{
\begin{tabular}{c|c|ccccc}
\hline
Method & \# params (M) & RMSE & REL & $\delta_1$ & $\delta_2$ & $\delta_3$ \\
\hline
Sparse-to-Dense~\cite{ma2018s2d} & 28.39 & 0.230 & 0.044 & 97.1 & 99.4 & 99.8 \\
DC-3coeff~\cite{imran2019dc} & 27.02 & 0.131 & \textbf{0.013} & 97.9 & 99.3 & 99.8 \\
DC-all~\cite{imran2019dc} & 27.02 & 0.118 & \textbf{0.013} & 97.8 & 99.4 & 99.9 \\
DeepLiDAR~\cite{qui2019deeplidar} & 53.44 & 0.115 & 0.022 & 99.3 & 99.9 & 100.0 \\
Ours & \textbf{14.34} & \textbf{0.104} & 0.014 & \textbf{99.4} & 99.9 & 100.0 \\
\hline
CSPN~\cite{cheng2018cspn} & 256.08 & 0.117 & 0.016 & 99.2 & 99.9 & 100.0 \\
Depth-Normal~\cite{xu2019depth} & 28.99 & 0.112 & 0.018 & 99.5 & 99.9 & 100.0 \\
NLSPN~\cite{park2020nlspn} & 25.84 & \textbf{0.092} & \textbf{0.012} & \textbf{99.6} & 99.9 & 100.0 \\
\hline
\end{tabular}}
\end{center}
\caption{\textbf{Depth completion evaluation results on the NYU Depth V2 dataset.} Algorithms on the lower block utilizes any kind of iterative post-refinement process. The metrics RMSE and REL are presented in meters (m). Numbers of parameters were driven from officially released codes.}
\label{table:nyu}
\vspace{-2mm}
\end{table}

\begin{figure*}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/kitti.pdf}
\end{center}
\caption{\textbf{Qualitative depth completion results on the KITTI Depth Completion dataset.} Depth plane classification results were shown in reversed color scheme for better visibility.}
\label{fig:kitti}
\vspace{-2mm}
\end{figure*}

\subsection{Comparisons with state-of-the-art}

We use commonly used metrics for evaluation as following: root mean squared error (RMSE), mean absolute error (MAE), relative mean absolute error (REL), root mean squared error of the inverse depth (iRMSE), mean absolute error of the inverse depth (iMAE), and a percentage of predicted pixels with the relative error being smaller than $1.25^i$, $\delta_i$.

In~\tabref{table:nyu}, we present our quantitative evaluation result on the NYU Depth V2 dataset with others.
We categorized various depth completion algorithms into two categories, where the first one refers to the methods with no iterative post-processing refinement, and the other one means the opposite.
In~\tabref{table:nyu}, the upper block shows the previous approaches and ours, which are in the first category, and the lower block contains algorithms like CPSN~\cite{cheng2018cspn} and NLSPN~\cite{park2020nlspn}.

Among the methods with no additional iterative post-processing refinement, our result performs the best in most of the metrics.
More specifically, our depth completion network using PR representation outperforms Depth Coefficient (DC) algorithm by Imran~\etal~\cite{imran2019dc} in terms of RMSE and $\delta_i$s.
As was introduced in~\secref{sec:rw}, Depth Coefficient took similar strategy as ours, by defining multiple depth planes with discrete depth values.
They tried to predict depth coefficients using multi-class classification, which were then used for weighted summation in the final depth reconstruction.
Depth Coefficient used 80 channels of depth bases, and DC-all applied weighted summation using all of these 80 depth values, while DC-3coeff used only three adjacent depth values with the highest probability.
However, DC only performs classification, which is why we believe that they show reliable REL score, but it also requires sufficient number of depth channels to maintain certain level of performance.
On the other hand, our algorithm uses only 8 depth planes, yet combines the strength of classification and regression, thereby shows much better performance on other metrics.

\begin{table}[t]
\begin{center}
\resizebox{0.45\textwidth}{!}{
\begin{tabular}{c|c|cccc}
\hline
Method & Runtime (s) & RMSE & MAE & iRMSE & iMAE \\
\hline
Self-Supervised S2D~\cite{ma2019self} & 0.08 & 814.73 & 249.95 & 2.80 & 1.21 \\
DeepLiDAR~\cite{qui2019deeplidar} & 0.07 & \textbf{687.00} & 215.38 & 2.51 & 1.10 \\
Depth-Normal~\cite{xu2019depth} & 0.10 & 811.07 & 236.67 & 2.45 & 1.11 \\
DC-3coeff~\cite{imran2019dc} & 0.15 & 1212.00 & 241.00 & - & - \\
DC-all~\cite{imran2019dc} & 0.10 & 1061.00 & 252.00 & - & - \\
FuseNet~\cite{chen2019fusenet} & 0.09 & 785.00 & 217.00 & 2.36 & 1.08 \\
CSPN++~\cite{cheng2020cspn++} & 0.20 & 725.43 & 207.88 & - & - \\
Ours & \textbf{0.01} & 867.12 & \textbf{204.68} & \textbf{2.17} & \textbf{0.85} \\
\hline
\end{tabular}}
\end{center}
\caption{\textbf{Depth completion evaluation results on the KITTI Depth Completion validation dataset.} The metrics are presented in millimeters (mm). Running times were taken from the official KITTI benchmark website. Note that a few of the reported methods have different experimental environments.}
\label{table:kitti}
\vspace{-2mm}
\end{table}

We also report the number of network parameters of each algorithm, to analyze the efficiency of the approach.
Compared to CSPN~\cite{cheng2018cspn}, which uses ResNet-50 as encoder, and utilizes heavy and time-consuming iterative post-refinement module, our depth completion network using PR representation performs much better in every metrics, while having only 5$\sim$6\% of network parameters.
Also, our approach shows comparable result in comparison to NLSPN~\cite{park2020nlspn}, which is the state-of-the-art method, with $\sim$55\% of network parameters.
Overall, our result shows the second-best performance in most of the metrics with the smallest number of network parameters, that is 5$\sim$55\% of others.
This shows that our way of reformulating depth completion problem into a combination of depth plane classification and residual map regression is efficient and effective approach.

Qualitative results on the NYU Depth V2 dataset are also shown in~\figref{fig:nyu}.
Compared to NLSPN~\cite{park2020nlspn}, although we did not use any iterative post-refinement processing, our results show even better details in depth map estimations, as the wheels of the chair in the first example, or the details of the bookshelves in the second example.
This is due to our depth plane classification, which avoids depth mixing on object boundaries, and our context-guided probability volume filtering.
Also, since our decoder $R$ can learn normalized residual map plane-wise, it is easier to obtain more details by magnifying information between depth planes.

Evaluation results on the official KITTI Depth Completion validation dataset is shown in~\tabref{table:kitti}.
For the KITTI Depth Completion dataset, we also report running time of each algorithm, where the numbers were retrieved from official KITTI benchmark website.
Our algorithm has the shortest inference time, where it is 7 to 20 times faster, comparing to other algorithms.
Also, our results excel others in MAE, iRMSE, and iMAE metrics.
This again shows that our approach is efficient, in both network mobility and computational speed.
\figref{fig:kitti} shows qualitative results on depth completion and plane classification of our algorithm.

\subsection{Ablation Study}
\label{sec:ablation}

\begin{table}[t]
\begin{center}
\resizebox{0.45\textwidth}{!}{
\begin{tabular}{c|c|ccccc}
\hline
Category & Method & RMSE & REL & $\delta_1$ & $\delta_2$ & $\delta_3$ \\
\hline
\multirow{3}{*}{Depth Plane Setup}
& UA & 0.113 & 0.016 & 99.3 & 99.9 & 100.0 \\
& DR & 0.114 & 0.016 & 99.3 & 99.9 & 100.0 \\
& DA & 0.117 & 0.017 & 99.1 & 99.8 & 99.9 \\
\hline
\multirow{3}{*}{Number of Planes}
& 4 & 0.111 & 0.016 & \textbf{99.4} & 99.9 & 100.0 \\
& 16 & 0.105 & 0.015 & \textbf{99.4} & 99.9 & 100.0 \\
& 32 & 0.106 & 0.015 & \textbf{99.4} & 99.9 & 100.0 \\
\hline
$l(p)$ Filtering & No & 0.105 & 0.015 & \textbf{99.4} & 99.9 & 100.0 \\
\hline
Confidence-guided & No & 0.122 & 0.018 & 99.2 & 99.8 & 99.9 \\
\hline
\multicolumn{2}{c|}{Ours} & \textbf{0.104} & \textbf{0.014} & \textbf{99.4} & 99.9 & 100.0 \\
\hline
\end{tabular}}
\end{center}
\caption{\textbf{Ablation study on our design choices.} Other options beside selected category were set to default settings of `Ours'. Default settings are; UR depth plane setup, 8 planes, with $l(p)$ filtering, and with confidence-guided learning. The results were taken from the NYU Depth V2 dataset.}
\label{table:abl}
\vspace{-2mm}
\end{table}

\begin{figure*}[t]
\begin{center}
\includegraphics[width=\linewidth]{figures/ablation.pdf}
\end{center}
\caption{\textbf{Ablation study on our design choices.} (a) Depth plane classification results on different depth planes setups. (b) Improvement on using channel-wise guided image filtering. (c) Failure case of not using confidence-guided residual learning.}
\label{fig:abl}
\end{figure*}

\noindent{\textbf{Setting the depth planes.}}
As mentioned in~\secref{sec:pr}, the values of plane depths and the number of planes can be set arbitrarily.
Our proposed way of determining the parameters is to set $d_1$ and $d_D$ according to the sparse input values, and to place intermediate planes equally spaced in between.
We name this setup UR, as in \textbf{U}niformly and \textbf{R}elatively set depth planes.

In~\tabref{table:abl}, we present three other setups, which are, UA (\textbf{U}niformly \& \textbf{A}bsolutely), DR (\textbf{D}isparity-wise \& \textbf{R}elatively), and DA (\textbf{D}isparity-wise \& \textbf{A}bsolutely).
For example, $d_1$ and $d_D$ were set to 0m and 10m in UA setup, regarding the overall depth range of the NYU Depth V2 dataset.
Some of the previous multiplane-related depth prediction approaches like DPSNet~\cite{im2018dpsnet} or DORN~\cite{fu2018deep} claimed that placing depth planes disparity-wise or in increasing log scale would boost the performance compared to uniformly-placed depth plane setup.
However, in the case of using PR representation for depth completion, the results show that UR and UA perform better than DR and DA.
Unlike DPSNet~\cite{im2018dpsnet} and DORN~\cite{fu2018deep}, which only focus on finding the best depth plane to place a pixel, our depth completion method using PR representation estimates residual map on top of the depth plane classification result.
Since we designed our predicted residual map to have a single channel, we believe that disparity-wise depth plane settings like DR and DA suffer from varying $d_{\text{step}}$ values, which hardens the residual regression.
Also, UA performs better than disparity-wise plane settings but worse than UR, since the distance that each plane should represent is broader.
On the other hand, DR preserves better object boundary information in close region, as shown in~\figref{fig:abl}-(a), because it placed more planes on the front.
We believe that the best way to setup depth planes in our PR representation would vary, depending on the task.

We also examine the influence of the number of planes.
The number of planes affects the ratio of classification and regression in our depth completion network.
As shown in~\tabref{table:abl}, our result with plane number of 8 performs the best, and the experiments with 16 and 32 number of depth planes show better results than the one with 4 depth planes.
Our intuition is that if the plane number is large, it lessens the burden for the decoder $R$.
However, setting more depth planes results in the increased difficulty of depth plane classification.
Moreover, it would make initial input on each plane to be very sparse, which will also make the plane classification part more challenging.

\noindent{\textbf{Probability volume filtering.}}
We show the effect of our probability volume filtering using channel-wise guided image filter.
Although our channel-wise guided filter do increase the quantitative evaluation result of the final predicted depth, it does not boost the performance dramatically, as can be seen in~\tabref{table:abl}.
However in~\figref{fig:abl}-(b), we can see that the depth plane classification result with our channel-wise guided image filter contains more detailed information on the object boundaries area, compared to the result with no filter applied.

\noindent{\textbf{Confidence-guided residual regression.}}
We examine on how confidence-guided adaptive residual learning improves the result.
As was explained in~\secref{sec:cf}, in order to make the reconstructed depth result more seamless on the depth plane boundary region, residual learning using depth plane classification-based confidence information is needed.
As presented in~\tabref{table:abl}, using confidence-guided learning improves very much of a performance.
Also, in~\figref{fig:abl}-(c), the result without confidence-guided learning finds it difficult to predict the right residual values at the boundary regions between two discrete planes, and therefore makes a discontinuity in the final predicted depth map.

\section{Conclusion}

In this paper, we addressed the main difficulties in previous depth completion algorithms, which are depth mixing on object boundaries, heavy network computation, and slow inference.
We proposed a novel way to solve depth completion, by reformulating depth regression problem into a combination of depth plane classification and residual regression.
We introduced Plane-Residual (PR) representation as well, where we represent a depth pixel as two separate values as in $(p, r)$, where $p$ is the closest discrete depth plane, and $r$ is the distance from the plane.
We showed competitive results with lighter and faster computation using our approach, thereby verified our idea and design choices.
We also believe that PR representation can be utilized in various depth-related problems like monocular depth estimation and multi-view stereo matching.

{\small
\bibliographystyle{ieee_fullname}

\section{Introduction}

Please follow the steps outlined below when submitting your manuscript to
the IEEE Computer Society Press.  This style guide now has several
important modifications (for example, you are no longer warned against the
use of sticky tape to attach your artwork to the paper), so all authors
should read this new version.

\subsection{Language}

All manuscripts must be in English.

\subsection{Dual submission}

Please refer to the author guidelines on the CVPR 2021~web page for a
discussion of the policy on dual submissions.

\subsection{Paper length}
Papers, excluding the references section,
must be no longer than eight pages in length. The references section
will not be included in the page count, and there is no limit on the
length of the references section. For example, a paper of eight pages
with two pages of references would have a total length of 10 pages.
{\bf There will be no extra page charges for CVPR 2021.}

Overlength papers will simply not be reviewed.  This includes papers
where the margins and formatting are deemed to have been significantly
altered from those laid down by this style guide.  Note that this
\LaTeX\ guide already sets figure captions and references in a smaller font.
The reason such papers will not be reviewed is that there is no provision for
supervised revisions of manuscripts.  The reviewing process cannot determine
the suitability of the paper for presentation in eight pages if it is
reviewed in eleven.

\subsection{The ruler}
The \LaTeX\ style defines a printed ruler which should be present in the
version submitted for review.  The ruler is provided in order that
reviewers may comment on particular lines in the paper without
circumlocution.  If you are preparing a document using a non-\LaTeX\
document preparation system, please arrange for an equivalent ruler to
appear on the final output pages.  The presence or absence of the ruler
should not change the appearance of any other content on the page.  The
camera ready copy should not contain a ruler.
(\LaTeX\ users may use options of cvpr.cls to switch between different
versions.)
Reviewers:
note that the ruler measurements do not align well with lines in the paper
--- this turns out to be very difficult to do well when the paper contains
many figures and equations, and, when done, looks ugly.  Just use fractional
references (e.g.\ this line is $095.5$), although in most cases one would
expect that the approximate location will be adequate.

\subsection{Mathematics}

Please number all of your sections and displayed equations.  It is
important for readers to be able to refer to any particular equation.  Just
because you didn't refer to it in the text doesn't mean some future reader
might not need to refer to it.  It is cumbersome to have to use
circumlocutions like ``the equation second from the top of page 3 column
1''.  (Note that the ruler will not be present in the final copy, so is not
an alternative to equation numbers).  All authors will benefit from reading
Mermin's description of how to write mathematics:
\url{http://www.pamitc.org/documents/mermin.pdf}.

\subsection{Blind review}

Many authors misunderstand the concept of anonymizing for blind
review.  Blind review does not mean that one must remove
citations to one's own work---in fact it is often impossible to
review a paper unless the previous citations are known and
available.

Blind review means that you do not use the words ``my'' or ``our''
when citing previous work.  That is all.  (But see below for
techreports.)

Saying ``this builds on the work of Lucy Smith [1]'' does not say
that you are Lucy Smith; it says that you are building on her
work.  If you are Smith and Jones, do not say ``as we show in
[7]'', say ``as Smith and Jones show in [7]'' and at the end of the
paper, include reference 7 as you would any other cited work.

An example of a bad paper just asking to be rejected:
\begin{quote}
\begin{center}
    An analysis of the frobnicatable foo filter.
\end{center}

   In this paper we present a performance analysis of our
   previous paper [1], and show it to be inferior to all
   previously known methods.  Why the previous paper was
   accepted without this analysis is beyond me.

   [1] Removed for blind review
\end{quote}

An example of an acceptable paper:

\begin{quote}
\begin{center}
     An analysis of the frobnicatable foo filter.
\end{center}

   In this paper we present a performance analysis of the
   paper of Smith \etal [1], and show it to be inferior to
   all previously known methods.  Why the previous paper
   was accepted without this analysis is beyond me.

   [1] Smith, L and Jones, C. ``The frobnicatable foo
   filter, a fundamental contribution to human knowledge''.
   Nature 381(12), 1-213.
\end{quote}

If you are making a submission to another conference at the same time,
which covers similar or overlapping material, you may need to refer to that
submission in order to explain the differences, just as you would if you
had previously published related work.  In such cases, include the
anonymized parallel submission~\cite{Authors14} as additional material and
cite it as
\begin{quote}
[1] Authors. ``The frobnicatable foo filter'', F\&G 2014 Submission ID 324,
Supplied as additional material {\tt fg324.pdf}.
\end{quote}

Finally, you may feel you need to tell the reader that more details can be
found elsewhere, and refer them to a technical report.  For conference
submissions, the paper must stand on its own, and not {\em require} the
reviewer to go to a techreport for further details.  Thus, you may say in
the body of the paper ``further details may be found
in~\cite{Authors14b}''.  Then submit the techreport as additional material.
Again, you may not assume the reviewers will read this material.

Sometimes your paper is about a problem which you tested using a tool which
is widely known to be restricted to a single institution.  For example,
let's say it's 1969, you have solved a key problem on the Apollo lander,
and you believe that the CVPR70 audience would like to hear about your
solution.  The work is a development of your celebrated 1968 paper entitled
``Zero-g frobnication: How being the only people in the world with access to
the Apollo lander source code makes us a wow at parties'', by Zeus \etal.

You can handle this paper like any other.  Don't write ``We show how to
improve our previous work [Anonymous, 1968].  This time we tested the
algorithm on a lunar lander [name of lander removed for blind review]''.
That would be silly, and would immediately identify the authors. Instead
write the following:
\begin{quotation}
\noindent
   We describe a system for zero-g frobnication.  This
   system is new because it handles the following cases:
   A, B.  Previous systems [Zeus et al. 1968] didn't
   handle case B properly.  Ours handles it by including
   a foo term in the bar integral.

   ...

   The proposed system was integrated with the Apollo
   lunar lander, and went all the way to the moon, don't
   you know.  It displayed the following behaviours
   which show how well we solved cases A and B: ...
\end{quotation}
As you can see, the above text follows standard scientific convention,
reads better than the first version, and does not explicitly name you as
the authors.  A reviewer might think it likely that the new paper was
written by Zeus \etal, but cannot make any decision based on that guess.
He or she would have to be sure that no other authors could have been
contracted to solve problem B.
\medskip

\noindent
FAQ\medskip\\
{\bf Q:} Are acknowledgements OK?\\
{\bf A:} No.  Leave them for the final copy.\medskip\\
{\bf Q:} How do I cite my results reported in open challenges?
{\bf A:} To conform with the double blind review policy, you can report results of other challenge participants together with your results in your paper. For your results, however, you should not identify yourself and should not mention your participation in the challenge. Instead present your results referring to the method proposed in your paper and draw conclusions based on the experimental comparison to other results.\medskip\\

\begin{figure}[t]
\begin{center}
\fbox{\rule{0pt}{2in} \rule{0.9\linewidth}{0pt}}

\end{center}
   \caption{Example of caption.  It is set in Roman so that mathematics
   (always set in Roman: $B \sin A = A \sin B$) may be included without an
   ugly clash.}
\label{fig:long}
\label{fig:onecol}
\end{figure}

\subsection{Miscellaneous}

\noindent
Compare the following:\\
\begin{tabular}{ll}
 \verb'$conf_a$' &  $conf_a$ \\
 \verb'$\mathit{conf}_a$' & $\mathit{conf}_a$
\end{tabular}\\
See The \TeX book, p165.

The space after \eg, meaning ``for example'', should not be a
sentence-ending space. So \eg is correct, {\em e.g.} is not.  The provided
\verb'\eg' macro takes care of this.

When citing a multi-author paper, you may save space by using ``et alia'',
shortened to ``\etal'' (not ``{\em et.\ al.}'' as ``{\em et}'' is a complete word.)
However, use it only when there are three or more authors.  Thus, the
following is correct: ``
   Frobnication has been trendy lately.
   It was introduced by Alpher~\cite{Alpher02}, and subsequently developed by
   Alpher and Fotheringham-Smythe~\cite{Alpher03}, and Alpher \etal~\cite{Alpher04}.''

This is incorrect: ``... subsequently developed by Alpher \etal~\cite{Alpher03} ...''
because reference~\cite{Alpher03} has just two authors.  If you use the
\verb'\etal' macro provided, then you need not worry about double periods
when used at the end of a sentence as in Alpher \etal.

For this citation style, keep multiple citations in numerical (not
chronological) order, so prefer \cite{Alpher03,Alpher02,Authors14} to
\cite{Alpher02,Alpher03,Authors14}.

\begin{figure*}
\begin{center}
\fbox{\rule{0pt}{2in} \rule{.9\linewidth}{0pt}}
\end{center}
   \caption{Example of a short caption, which should be centered.}
\label{fig:short}
\end{figure*}

\section{Formatting your paper}

All text must be in a two-column format. The total allowable width of the
text area is $6\frac78$ inches (17.5 cm) wide by $8\frac78$ inches (22.54
cm) high. Columns are to be $3\frac14$ inches (8.25 cm) wide, with a
$\frac{5}{16}$ inch (0.8 cm) space between them. The main title (on the
first page) should begin 1.0 inch (2.54 cm) from the top edge of the
page. The second and following pages should begin 1.0 inch (2.54 cm) from
the top edge. On all pages, the bottom margin should be 1-1/8 inches (2.86
cm) from the bottom edge of the page for $8.5 \times 11$-inch paper; for A4
paper, approximately 1-5/8 inches (4.13 cm) from the bottom edge of the
page.

\subsection{Margins and page numbering}

All printed material, including text, illustrations, and charts, must be kept
within a print area 6-7/8 inches (17.5 cm) wide by 8-7/8 inches (22.54 cm)
high.
Page numbers should be in footer with page numbers, centered and .75
inches from the bottom of the page and make it start at the correct page
number rather than the 4321 in the example.  To do this fine the line (around
line 20)
\begin{verbatim}
\setcounter{page}{4321}
\end{verbatim}
where the number 4321 is your assigned starting page.

\subsection{Type-style and fonts}

Wherever Times is specified, Times Roman may also be used. If neither is
available on your word processor, please use the font closest in
appearance to Times to which you have access.

MAIN TITLE. Center the title 1-3/8 inches (3.49 cm) from the top edge of
the first page. The title should be in Times 14-point, boldface type.
Capitalize the first letter of nouns, pronouns, verbs, adjectives, and
adverbs; do not capitalize articles, coordinate conjunctions, or
prepositions (unless the title begins with such a word). Leave two blank
lines after the title.

AUTHOR NAME(s) and AFFILIATION(s) are to be centered beneath the title
and printed in Times 12-point, non-boldface type. This information is to
be followed by two blank lines.

The ABSTRACT and MAIN TEXT are to be in a two-column format.

MAIN TEXT. Type main text in 10-point Times, single-spaced. Do NOT use
double-spacing. All paragraphs should be indented 1 pica (approx. 1/6
inch or 0.422 cm). Make sure your text is fully justified---that is,
flush left and flush right. Please do not place any additional blank
lines between paragraphs.

Figure and table captions should be 9-point Roman type as in
Figures~\ref{fig:onecol} and~\ref{fig:short}.  Short captions should be centred.

\noindent Callouts should be 9-point Helvetica, non-boldface type.
Initially capitalize only the first word of section titles and first-,
second-, and third-order headings.

FIRST-ORDER HEADINGS. (For example, {\large \bf 1. Introduction})
should be Times 12-point boldface, initially capitalized, flush left,
with one blank line before, and one blank line after.

SECOND-ORDER HEADINGS. (For example, { \bf 1.1. Database elements})
should be Times 11-point boldface, initially capitalized, flush left,
with one blank line before, and one after. If you require a third-order
heading (we discourage it), use 10-point Times, boldface, initially
capitalized, flush left, preceded by one blank line, followed by a period
and your text on the same line.

\subsection{Footnotes}

Please use footnotes\footnote {This is what a footnote looks like.  It
often distracts the reader from the main flow of the argument.} sparingly.
Indeed, try to avoid footnotes altogether and include necessary peripheral
observations in
the text (within parentheses, if you prefer, as in this sentence).  If you
wish to use a footnote, place it at the bottom of the column on the page on
which it is referenced. Use Times 8-point type, single-spaced.

\subsection{References}

List and number all bibliographical references in 9-point Times,
single-spaced, at the end of your paper. When referenced in the text,
enclose the citation number in square brackets, for
example~\cite{Authors14}.  Where appropriate, include the name(s) of
editors of referenced books.

\begin{table}
\begin{center}
\begin{tabular}{|l|c|}
\hline
Method & Frobnability \\
\hline\hline
Theirs & Frumpy \\
Yours & Frobbly \\
Ours & Makes one's heart Frob\\
\hline
\end{tabular}
\end{center}
\caption{Results.   Ours is better.}
\end{table}

\subsection{Illustrations, graphs, and photographs}

All graphics should be centered.  Please ensure that any point you wish to
make is resolvable in a printed copy of the paper.  Resize fonts in figures
to match the font in the body text, and choose line widths which render
effectively in print.  Many readers (and reviewers), even of an electronic
copy, will choose to print your paper in order to read it.  You cannot
insist that they do otherwise, and therefore must not assume that they can
zoom in to see tiny details on a graphic.

When placing figures in \LaTeX, it's almost always best to use
\verb+\includegraphics+, and to specify the  figure width as a multiple of
the line width as in the example below
{\small\begin{verbatim}
   \usepackage[dvips]{graphicx} ...
   \includegraphics[width=0.8\linewidth]
                   {myfile.eps}
\end{verbatim}
}

\subsection{Color}

Please refer to the author guidelines on the CVPR 2021~web page for a discussion
of the use of color in your document.

\section{Final copy}

You must include your signed IEEE copyright release form when you submit
your finished paper. We MUST have this form before your paper can be
published in the proceedings.

Please direct any questions to the production editor in charge of these
proceedings at the IEEE Computer Society Press:
\url{https://www.computer.org/about/contact}.

{\small
\bibliographystyle{ieee_fullname}

redpajama_set_name: RedPajamaArXiv


text:
» 14370 Glacier View Road, Truckee, CA 96161 MLS-20130099
14370 Glacier View Road, Truckee, CA 96161 MLS-20130099
Would you like to hear my opinion about 14370 Glacier View Road, Truckee, CA 96161, the good, the bad, and the ugly for this property? Shoot me an email, and as Paul Harvey said, "and now you know the rest of the story." I pride myself in being honest and frank and doing right by people. No fluff, honest pros and cons from a down-to-earth guy with over 20 years of experience.
14370 Glacier View Road, Truckee, CA 96161
This home was previously listed on 3/23/2011 at a list price of $775,000.00. View Property
11/25/19 $650,000.00 12135 Mougle Lane
10/02/18 $712,500.00 13846 Pathway Av...
08/15/19 $885,000.00 11374 Skislope Way
10/18/19 $799,000.00 14693 Copenhagen...
The property at 14370 Glacier View Road, Truckee, CA 96161 is located within in the city of Truckee and the TAHOE DONNER 04-9TD subdivision. The property was built in N/A and offers 4 bedrooms 3.5 bathrooms and 2455 square feet.
The Single Family at 14370 Glacier View Road, Truckee, CA 96161 is roughly 10.52 miles from Squaw Valley Ski Resort, 8.53 miles from Northstar Ski Resort, 2.26 miles from Truckee, and 14.01 miles from Tahoe City.
This tastefully remodeled Tahoe Donner home embodies mountain elegance and warmth. The gorgeous blend of floor to ceiling wood meets a decorator's furnishing package to create a treat for your eyes. The home has all the features and space your family and friends could ask for when enjoying the mountains in any season. Enjoy fantastic natural light, sunbathed decks both front and back, and a spectacularly private treed setting. This is the Tahoe retreat you've been waiting for. Remodel completed in 2006.
Address 14370 Glacier View Road
GPS 39.3557796187434, -120.243310108781
Contact Tristan for questions regarding 14370 Glacier View Road, Truckee, CA 96161
The data relating to real estate for sale on this web site comes in part from the Broker Reciprocity Program of the Tahoe Sierra Multiple Listing Service. Real estate listings held by brokerage firms other than Coldwell Banker Residential Brokerage are marked with the Broker Reciprocity logo and detailed information about them includes the name of the listing brokers. This listing courtesy of: Dickson Realty. The information being provided is for consumers' personal, non-commercial use and may not be used for any other purpose other than to identify prospective properties consumers may be interested in purchasing. Information deemed reliable but not guaranteed
Please send me more information about the property at 14370 Glacier View Road, Truckee, CA 96161
12135 Mougle Lane
13846 Pathway Av...
11374 Skislope Way
14693 Copenhagen...
8413 Jake Teeter
9201 Heartwood D...