About Me

Who Am I?

THIS WEBSITE HAS NOT BEEN UPDATED FOR A WHILE and a couple of things have happened.
In summary, I defended my MSc. thesis, I am working as machine learning engineer, and I am looking forward for a unique PhD position.

A new website is under construction!

Hi I'm Nikan Doosti!
Before you start, you can find more concrete details in the following sections of this website. In case you don't have time for it, here is a 2-page cv PDF that can summarize almost well.
Thank you for your time and attention!

I am a final-year master student in computer engineering at IUST focusing on applications of artificial intelligence in science such as physical simulations. Furthermore, I was mainly focused on classic and deep computer vision particularly image processing and applications of machine learning in technology.
I was as research assistant in AIDAM group at Max Planck Institute for Informatics (mpi-inf) where I published my first-ever work about Neural Design Representation and Topology Optimization was experimented to showcase our work.
During my MSc and work at mpi-inf, I grasped the essence of being a researcher and what it takes to be a good one. Currently, it would be fascinating for me to to have a deep experience of business as a DL/ML engineer.
In that line, I am looking for a full-time job as a deep learning engineer in areas demonstrated below, and generally, I highly appreciate interdisciplinary work.


Focused on

Deep
Learning

Visual Computing

Computational Fabrication

Computer Graphics

Experience

Publications

Topology Optimization via Frequency Tuning of Neural Design Representations
Nikan Doosti, Julian Panetta, Vahid Babaei

a 3D rendered bridge constructed using proposed method

Abstract

Structural topology optimization seeks to distribute material throughout a design domain in a way that maximizes a certain performance goal. In this work, we solve the topology optimization problem by parameterizing the designs via recently introduced coordinate-based neural networks. Specifically, we show that networks with Fourier feature mapping can achieve state-of-the-art performance. Our method enables the realization of a range of designs using a single mesh via tuning the frequency content of the solutions independently of the finite element discretization grid. This frequency control offers attractive properties, such as mesh-independent results and sub-pixel filtering that leads to appropriate designs for upsampling. We demonstrate our method on the compliance minimization problem, optimizing for the stiffest possible structure within a weight budget for a prescribed set of loads.

Conference: SCF '21 - ACM Symposium on Computational Fabrication, USA, October 2021

PDF ACM PDF HTML5 Presentation Code Supplement Cite

@inproceedings{10.1145/3485114.3485124,
                                        author = {Doosti, Nikan and Panetta, Julian and Babaei, Vahid},
                                        title = {Topology Optimization via Frequency Tuning of Neural Design Representations},
                                        year = {2021},
                                        isbn = {9781450390903},
                                        publisher = {Association for Computing Machinery},
                                        address = {New York, NY, USA},
                                        url = {https://doi.org/10.1145/3485114.3485124},
                                        doi = {10.1145/3485114.3485124},
                                        abstract = { Structural topology optimization seeks to distribute material throughout a design
                                        domain in a way that maximizes a certain performance goal. In this work, we solve
                                        the topology optimization problem by parameterizing the designs via recently introduced
                                        coordinate-based neural networks. Specifically, we show that networks with Fourier
                                        feature mapping can achieve state-of-the-art performance. Our method enables the realization
                                        of a range of designs using a single mesh via tuning the frequency content of the
                                        solutions independently of the finite element discretization grid. This frequency
                                        control offers attractive properties, such as mesh-independent results and sub-pixel
                                        filtering that leads to appropriate designs for upsampling. We demonstrate our method
                                        on the compliance minimization problem, optimizing for the stiffest possible structure
                                        within a weight budget for a prescribed set of loads.},
                                        booktitle = {Symposium on Computational Fabrication},
                                        articleno = {1},
                                        numpages = {9},
                                        keywords = {Topology optimization, neural networks, generative design},
                                        location = {Virtual Event, USA},
                                        series = {SCF '21}
                                        }                                                                
                                        
                                    
Education

Education

GPA 85% (17.17 / 20).

My experience at IUST was not as close as one might expect from a prestigious university (click here to expand) Here are some of the negative factors:
  • Siloed culture: Collaboration or effective communication fairly was missing. As an attempt to mitigate this, IUST Projects was initiated.
  • Disordered and lack of communication: In many cases there were problems that students had no control over yet couldn't have direct communication with corresponding person (e.g. TA, instructor). As an objective example, one of assignments needed GPU yet a large group of students like me have a old computer with no GPU and we had to create multiple google account to use Google Colab GPU (Colab blocks GPU usage for long gpu runs).
BUT there is always something to learn even from the most negative experiences; as an ancient Persian saying by Saadi: Whatever I found inappropriate, I avoided doing.
Please do ask ANY question about this to avoid any doubt.

Awards:

  • Accepted as an Exceptional Talent of Department of Computer Engineering (no entry exam) - Aug 2019
  • Full tuition fee waiver - Aug 2019
  • [Coursera] Machine Learning by Stanford (src)
  • [SuperDataScience] Machine Learning (src)
  • [Coursera] National Research University Higher School of Economics - NLP (src)
  • [Coursera] Deep Learning Specializations by deeplearning.ai (src)
  • [Summer Shool] University of Tehran Deep Learning Summer School 2018 (src)
  • [Summer Shool] Gdansk University of Technology Summer School on Deep Learning 2020 (src)
  • And some unrelated courses about Android, Web Dev, etc in basic level.
  • 1st place in high school with GPA 98% (19.60 / 20)
  • 1st place in middle school with GPA 100% (20 /20)
  • 1st place in elementary school with GPA 100% (20 / 20)
Open source

Projects

Optimized Multi-depot Vehicle Routing problem example

MDVRP is a multi-objective optimization task that the goal is to assign a number of vehicles which are distributed in multi depots in search to the customers meanwhile minimizing the number of vehicles used and distance traveled regarding some constraints such as vehicle weight threshold.

More info: Github, blog
Halftoning and Rescreening example

This project pertains automated Descreening process. Descreening is the task that we try to reconstruct the halftoned image (which is the mandatory process to interact images with printers, scanners, monitors, etc) meanwhile reducing the amount of data loss. (Authors' Paper)

  • First and the only fully open source implementation of this paper, in PyTorch
  • The implementation can be divided into below separate projects:
    • CoarseNet: Modified version of U-Net architecture to work as a low-pass filter to remove halftone patterns
    • DetailsNet: A deep CNN generator and two discriminators which are trained simultaneously to improve image quality
    • EdgeNet: A simple CNN model to extract Canny edge features to preserve details
    • ObjectNet: Modified version of "Pyramid Scene Parsing Network" to only return 25 major classified segments out of 150
    • Halftoning-Algorithms: Implementation of some of the halftone algorithms provided in most recent digital color halftoning books as ground truth
    • Places365-Preprocessing: A custom and extendable implementation of Dataset to handle lazy loading of a huge data functionality
More info: Github, blog
ping pong game on FPGA

This section contains small projects I did as part of my studies or free time, but not large enough be considered focusing that much! These projects cover different topics, such as Computer-aided-design to Statistical NLP for news classification.

  • Abstract level machine learning models via Sklearn (Github)
  • Different CAD modules in VHDL (Github) and circuits in HSpice (Github)
  • Statistical NLP model for Persian news classification (Github)
  • Ping-pong game on Xilinx FPGA via VHDL and physical input modules (Github)

Activities

IUST projects: Open organization for student by students

IUST Projects is an open GitHub organization with a focus on showcasing and maintaining projects created at Iran University of Science and Technology. This website and its organization is maintained by its true owners, the students and the contributors outside of the university, so no, this is not an official university website and it is open to anybody who wants to join!

You can skip reading this if you are not interested in the motivation of this work.
At IUST, there is no open discussion of ideas, mostly transferred and enforced by instructors and policies of the university which made the environment so hostile that barely you would find a group of people sharing ideas even related to curriculum. I learned so much from open-source and discussions with almost all students during bachelor's study and we found this situation absolutely unacceptable, hence created this organization open to everyone! Unfortunately, we failed!

  • Hosts assignments, course notes, curriculum, etc of software engineering and artificial intelligence majors
  • Theoretical and implementation of solutions to assignments of different courses such as:
  • Converting solutions into blogs to enhance readability. The list of blogs can be found here
  • Some utility functions such as easier access to university VPN and university thesis template

This website and its GitHub account was initially created by my awesome friend Aryan Ebrahimpour and me.

More info: Github, website
School of AI: Rasht chapter

School-of-AI is an free and open community which works toward the goal of introducing AI as a "smart calculator" that can be incorporated in all other fields of technology and science. Our audience includes mostly non-computer-science students that want to know more about the revolution of AI and seek to show the appropriate way of reaching it by relying on MOOCs.

I am an lecturer and had a couple of lectures so far around semantic segmentation and physics-informed deep learning (PINNs). You can find the material on the github page.

This community and its website was initially created by my amazing friend Erfan Miahi.

More info: Github, website (Persian)
PyTorch discuss forum

PyTorch forum is a place to discuss topics around PyTorch framework and deep learning. Many of great researcher And main PyTorch collaborators are active here and a lot of useful content, basic to advanced, has been generated.

Since November 2018 that I started deep learning with PyTorch, I read topics around my questions. Later, I tried to answer questions around topics that I was not familiar with and it helped me to dive deeper into the framework, learn many of tricks and return the favor!
At the time of writing, I've visited the forum for 851 days, 563 posted replies, 10000 read posts and 184 solutions (rank 15 out of 44184).

More info: Summary, Ordered users (All time), A cool tweet :D
Read

Recent Blogs

Phase Amplitude Combination, Hybrid Images and Cutoff Effect On It

Digital Image Processing, CV, Python, Gaussian Filter, Low pass, high pass, cutoff, Hybrid Image, Amplitude-Phase, Fourier, and featured

Mar 19, 2020

Kohonen Self Organizing Maps For Learning MNIST

Python, Artificial Neural Networks, Kohonen, SOM, Self-Organizing Maps, MNIST, and featured

Feb 22, 2020

Imbalance Learning and Evaluation using AdaBoost, RUSBoost, SMOTEBoost, RBBoost and ANOVA Measure

Imbalance, Ensembles, Python, Preprocessing, K-Fold, AdaBoost, AdaBoostM2, RUSBoost, SMOTEBoost, RBBoost, RandomForest, SVM, AUC, ROC, ANOVA Measure, and featured

Feb 21, 2020

Cycle GAN, PCA, AutoEncoder and CIFAR10 Generator

Digital Image Processing, CV, Python, Cycle GAN, PCA, AutoEncoder, CIFAR10, Encoder, Decoder, and featured

Feb 14, 2020

Get in Touch

Contact

This form uses third-party tools to send your message. So if you have any concern about it, send your message directly to my email.