[Job opening] PhD and Master positions in GIScience and GeoAI

Dr. Liping Yang is offering two (1 Ph.D. and 1 Master) funded, full-time graduate scholarships in geospatial data science and geospatial artificial intelligence. Particular topics of interest include

    • Novel methods for analyzing structured and unstructured geospatial data (such as text and images),
    • Information and image retrieval for geographic and historical data,
    • Exploratory search user interfaces powered by computer vision
      and machine learning,
    • Artificial intelligence for geographic knowledge discovery,
    • Spatial representation and reasoning.

Enthusiastic candidates with interests related to these topics are highly encouraged to apply; working experience with at least one programming language (Python, Java, C/C++, JavaScript etc.) is a prerequisite for the positions, but the most important quality is a desire to do creative original research at the intersection of GIScience, computer science, and mathematics.

Students working with Dr. Liping Yang, will have great opportunities for summer interns and/or graduate assistantships at Los Alamos National Laboratory (LANL); after graduation (with proper qualification), can be recommended to work at LANL.

To apply and for more Ph.D. and M.S. positions in GIScience and geography available at the Department of
Geography and Environmental Studies at the University of New Mexico, please check out the PDF here.

Note that Application Deadlines for Fall Admissions:

MS:  February 1 (check here)

PhD:  January 15 (check here)

We look forward to reviewing your applications!

Liping Yang

Postdoctoral Research Associate

Information Sciences group

Los Alamos National Laboratory

 

Assistant Professor of Geographic Information Science  (starting January 2020)

Department of Geography and Environmental Studies

University of New Mexico

 

email: liping.yang@lanl.gov & lipingyang@unm.edu

web: http://www.lipingyang.org/

research blog: http://deeplearning.lipingyang.org/

[Paper published] Novel representation and method for effective zigzag noise denoising

Annoyed by  persistent zigzag noises that cannot be removed after trying many existing denoising methods and techniques?

Check out our newly published ICCV 2019 SGRL paper (SGRL page on CVF) [A PDF of the paper can be found at the CVF website  or HERE] for a novel image representation and method, along with algorithms built upon the representation, for effective denoising of such types of zigzag noises introduced by the digitizing process such as scanning. This type of noise is very common in scanned documents, as well as in some images such as roads with worn road markings.

 

 

 

Check out this page for Liping’s more publications.

 

[Job opening] Outstanding postdoc position for Computer vision and machine learning

I recently received an exciting research grant in computer vision and machine learning. We have an outstanding postdoctoral research associate position. Check the link below for how to apply. We are looking forward to your application.

See HERE on LinkedIn or HERE at LANL website (PDF here if it is not retrievable).

 

 

[Paper published] Check out our new paper for image classification with great results using only small sets of training data

Do you have great idea(s) using machine learning but stopped by the fact that you do not have enough training (image) data? Check out our newly accepted KDD workshop paper for a novel solution.

New KDD 2019 MLG (the 15th International Workshop on Mining and Learning with Graphs) Workshop  paper for computer vision and image analysis led by Liping has been accepted:

Image classification using topological features automatically extracted from graph representation of images

A PDF of the paper can be found at the Workshop website or HERE

BibTeX Entry:

@inproceedings{mlg2019_7,
title={Image classification using topological features automatically extracted from graph representation of images},
author={Yang, Liping and Oyen, Diane and Wohlberg, Brendt},
booktitle={Proceedings of the 15th International Workshop on Mining and Learning with Graphs (MLG)},
year={2019}
}

 

Check out this page for Liping’s more publications.

 

[Paper published] Check out our new computer vision and image analysis paper for skeleton extraction

New CVPR 2019 Workshop paper for computer vision and image analysis led by Liping has been published:

A Novel Algorithm for Skeleton Extraction From Images Using Topological Graph Analysis. 

A PDF of the paper can be found HERE. (Check HERE if it is not retrievable on the http://openaccess.thecvf.com) [Acceptance rate < 10/32 = 31.25%]

4. Yang, L. and Worboys, M. Generation of navigation graphs for indoor space. International Journal of Geographical Information Science, 29(10): 1737-1756, 2015. [Click here (PDF) to download a draft of this paper]

 

Check out this page for Liping’s more publications.

[Paper published] Check out our new (deep) machine learning paper for flood detection

New machine/deep learning paper led by Liping: Analysis of remote sensing imagery for disaster assessment using deep learning: a case study of flooding event

A full-text view-only version of the paper can be found via the link: https://rdcu.be/bpUvx.

 

Check out this page for Liping’s more publications.

 

Conda commands (create virtual environments for python with conda)

This post provides some commonly used conda command.

(I use Mac and Linux OS, so the commands here assume that you use Mac and Linux OS.  If you are using Windows, most of the conda commands should be the same, but some command might be slightly different. For example, the one I am aware of is that the command for activating and deactivating conda environment is a bit different, you do not need to add “source” in the command like Mac and Linux OS do).

(To use conda, you need to have either Miniconda or Anaconda installed on your machine. Check out here for installing Miniconda on Mac, and here for installing Miniconda on CentOS7/RedHat7. Check here if you would like to know the difference between Miniconda and Anaconda.)

The first part of this post introduces common conda commands, and the second part of this post provides some package installation ( e.g., OpenCV, scikit-image, jupyter notebook etc.) using conda.

Common conda commands

Check whether conda is installed / check conda version info

In your terminal, type in the following command

$ conda -V 

#if you see something like below it means conda is installed, and it provides its version info. 

conda 4.5.11

Check conda is up to date

In your terminal, type in

$ conda update conda

# Upadate any packages if necessary by typing y to proceed.

Create a virtual environment using conda for your project

with conda, we can create virtual environment for different versions of pythons.

To see a list of available python versions available in conda repository, type the following command with regular expression and then press enter.

$ conda search "^python$"  # you should see a list of python versions, including python2.X and python3.X

Now, let us create a virtual environment with conda

use the following command to create a virtual environment for a python version you specified, replace x.x with the Python version you would like to use.

$ conda create -n yourenvname python=x.x 


# for example, the following command will create a Python 3.6 conda virtual environment called "conda-venv3_py36".

$ conda create -n conda-venv3_py36 python=3.6 

# the following command will create a Python 2.7 conda virtual environment called "conda-venv_py27".

$ conda create -n conda-venv_py27 python=2.7

Press y to proceed. This will install the Python version (and all the associated anaconda packaged libraries if you installed conda via Anaconda) at “path_to_your_anaconda_location/anaconda/envs/yourenvname” or at “path_to_your_miniconda_location/miniconda/envs/yourenvname”

Activate your virtual environment

Once we created a virtual environment using conda, before we start to using it, we need to activate it first each time we need to use the virtual environment.

To activate or switch into your virtual environment, simply type the following where yourenvname is the name you gave to your environement when creating.

$ source activate yourenvname

Activating a conda environment modifies the PATH and shell variables to point to the specific isolated Python  you created. Note that the command prompt will change to indicate which conda environemnt you are currently in by prepending (yourenvname)

If you do not remember your virtualenv or do not want to type it, you can use the following command to see a list of all your environments,

$ conda info -e

Install (additional) Python packages to a virtual environment

To install packages only to your virtual environment (not system wide), enter the following command

$ conda install -n yourenvname package-name

# yourenvname is the name of your environment, and package-name is the name of the package you would like to install.

# Note that if not specify “-n yourenvname” will install the package to the root Python installation.

Or you can simply first activate and into the virtual environment you would like to install packages [see the command above in (4)], and then use the following command

$ conda install package-name

(For some specific packages installation, check section 2 below in this post.)

Deactivate your virtual environment.

Each time once we finish working in your virtual environment created using conda, we will need to deactivate the virtual environment to exit from it.

To end a session in the current virtual environment, enter the following command .

$ source deactivate

# Note that we do not need to specify the envname - whichever is currently active will be deactivated, and the PATH and shell variables will return to normal.

Delete a virtual environment

When we do not need a virtual environment created by conda any more, we can simply remove it by the following command.

conda remove -n yourenvname -all # yourenvname is the name of the environment you would like to delete. # (You may instead use $ conda env remove -n myenv.) 

To verify that the environment was removed, in your Terminal window or an conda Prompt, run the following

$ conda info -e

The environments list that displays should not show the removed environment.

Cloning a conda virtual environment

To make  an exact copy of an environment by creating a clone of it, using the following command,

$ conda create --name myclone --clone myenv


# NOTE: replace myclone with the name of the new environment. Replace myenv with the name of the existing environment that you want to copy. # see the following for an example of cloning py35 and naming the new copy as py35-2 $ conda create --clone py35 --name py35-2 

To verify that the copy was made:

conda info -e

In the environments list that displays, you should see both the source environment and the new copy.

Viewing a list of your environments

To see a list of all of your conda virtual environments, in your Terminal or in one of your conda virtual environment, run one of the following commands:

$ conda info -e

OR

$ conda info --envs 

OR

$ conda env list

You will see a list of all your conda environments, and the active environment is shown with *.

Viewing a list of the packages in a conda environment

To see a list of all packages installed in a specific environment,

  • If the environment is not activated, in your Terminal window or a conda prompt, run the following:
$ conda list -n myenv
  • If the environment is activated, in your Terminal window or a conda prompt, run the following:
$ conda list

To see whether a specific package is installed in a conda environment

  • If the environment is not activated, in your Terminal window or a conda prompt, run the following:
$ conda list -n myenv package-name

# for example, the following command will list the opencv versions installed in the conda environment you specified

$ conda list -n myenv opencv
  • If the environment is activated, in your Terminal window or a conda prompt, run the following:
$ conda list package-name

# for example, the following command will list the opencv versions installed in the current active conda environment you are in

$ conda list opencv

 

Package installation using conda

Before installing packages using conda, make sure to first create a conda virtual environment [see the command at (3) in section 1 above in this post] and then  activate and into the environment you would like to install the packages into [see the command for (4) in section 1 above in this post].

Install Numpy

  $ conda install numpy

Install Matplotlib

  $ conda install matplotlib

Install Keras 

$ conda install keras

This should also install tensorflow

Install h5py

  $ conda install h5py

Install Jupyter Notebook

$ conda install jupyter

Install IPython

  $ conda install ipython

Install OpenCV3 (https://opencv.org/)

  $ conda install -c conda-forge opencv 

The command above will install (by default) the latest version of opencv available in the conda repository. if you would like to specifiy which version of openCV to install, you can first use the following comamnd to check OpenCV versions available.

$ conda search "^openCV$"   # you should see a list of openCV versions.

Then you could use the following command to install the version of OpenCV you would like to install,

 $ conda install -c conda-forge opencv=x.x # for example, the following command will install openCV 3..4.1, instead of the current lastest version 3.4.2. Note that is opencv==3.4.1, not opencv=3.4, if opencv=3.4, it will install openCV3.4.2 (the latest version in 3.4 series).

$ conda install -c conda-forge opencv==3.4.1

Install Scikit-image

$ conda install -c conda-forge scikit-image

Install Django

use the following command to search what vesion of django is available in your conda environment.

$ conda search "^django$"

use the following command to install specific version of django you would like to install into your conda environment.

$ conda install -c conda-forge django==1.11.8

use the following to test whether the django is installed successfully in your conda environment.

$ python
Python 3.6.7 |Anaconda, Inc.| (default, Oct 23 2018, 19:16:44)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import django
>>> print(django.__version__)
1.11.8
>>>

 

References

 

Install Miniconda on CentOS 7 / RedHat 7

This post introduces how to install Miniconda on CentOS 7 / RedHat 7. 

(Tested on CentOS 7 / RedHat 7, but it should work for Ubuntu OS as well. Note that you can install Miniconda / Anaconda onto your Linux OS even when you are not a sudo / root user.)

(For installing Miniconda on Mac, check out this post.)

(For commonly used conda commands check this post.)

(For the comparison among Anaconda, Miniconda, and Virtualenv with pip, check this post.)

Step 1: Open a Terminal window, type

$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

Step2:  Run the following bash script to install it

$ sh Miniconda3-latest-Linux-x86_64.sh

Step3: To make the changes take effect, close the terminal and open a new Terminal window. 

Step 4: Test conda

In the newly open Terminal window, type the following

$ conda -V

# If you see something like the following, it means Miniconda is successfully installed on your Linux OS.

conda 4.5.11

Step 5: Uninstalling Miniconda

To uninstall Python Anconda/Miniconda, we just simply remove the installation folder and remove the environment variables set in .bashrc file. For my installation, it will be just like this.

$ rm -rf /usr/local/miniconda/
$ rm -rf /usr/local/anaconda/

Then, you can edit the ~/.bashrc file and remove the following entries added for Anaconda/Miniconda directory from your PATH environment variable

$ export PATH=" /usr/local/anaconda/bin:$PATH" 
$ export PATH=" /usr/local/miniconda3/bin:$PATH" 

 

 

For commonly used conda commands check this post.

For the comparison among Anaconda, Miniconda, and Virtualenv with pip, check this post.

References: