David Norman Díaz Estrada

I am an engineer and researcher, passionate about AI, Data Science, Deep Learning, Computer Vision, and Image processing, with a strong interest in developing solutions related to object detection, segmentation, and image generation. As a Mechatronics Engineer I am also passionate about Robotics, Electronics, and coding in general.

Projects & Publications

Here are some of my projects and research publications:

DN Image Editor

  • I developed 'DN Image Editor': A Python-based image editor specialized in color palette mapping and other artistic image filters.
  • Allows to map any color palette to an image with different color mapping modes (Fuzzy, Euclidean, Light-based).
  • Supports a palette database, custom color palette edition, generation, and extraction (from images, using k-means).
  • Watch the demo video and check out the GitHub repo.
  • Skills: Python, OpenCV, Pillow, Scikit-Learn, Matplotlib, NumPy, CustomTkinter, GUI, Git.

Ψ-NET: A Novel Encoder-Decoder Architecture for Animal Segmentation

  • In this paper, we propose a novel Ψ-Net architecture of 3 encoders for animal image segmentation.
  • We created a new dataset where we manually labeled the ground-truth segmentation masks for 200 pig images.
  • We trained our proposed model Ψ-Net on this dataset and compared the segmentation accuracy with the U-Net and Y-Net architectures.
  • Our proposed model achieved the highest accuracy on the dataset with 93% pixel accuracy, and 81.6% mean IoU.
  • Skills: Python, Tensorflow, OpenCV, LaTex, Research.

D. N. Díaz Estrada, U. Goyal, M. Ullah and F. A. Cheikh, "Ψ-NET: A Novel Encoder-Decoder Architecture for Animal Segmentation," 2022 Eleventh International Conference on Image Processing Theory, Tools and Applications (IPTA), Salzburg, Austria, 2022, pp. 1-5.

Impact of Pooling Methods on Image Quality Metrics

  • In this paper, we investigate the impact of different pooling techniques on the performance of image quality metrics.
  • We have tested different pooling methods with the SSIM and S-CIELAB image quality metrics in the CID:IQ database, and found that the pooling technique has a significant impact on their performance.
  • Skills: MATLAB, LaTex, Statistics, Research

D. N. Díaz Estrada and M. Pedersen, "Impact of Pooling Methods on Image Quality Metrics," 2022 Eleventh International Conference on Image Processing Theory, Tools and Applications (IPTA), Salzburg, Austria, 2022, pp. 1-6.

Automatic Video Colorization with Deep Learning

  • I implemented different encoder-decoder architectures for Image Colorization based on L*a*b* color space and created a framework for Automatic Video Colorization.
  • Cleaned the Places 365 dataset and trained 5 different models from scratch.
  • Used VGG16 and ResNet50 for the transfer learning
  • Watch the demo video and check out the GitHub repo.
  • Skills: Python, Tensorflow, OpenCV, MATLAB.

Impact of Motion on Translucency Perception

  • I designed and coded a binary classification experiment in Psychopy, where observers classified a series of image and video stimuli as either translucent or opaque.
  • Gathered 17 observers and analyzed the data with Pandas.
  • Calibrated an Eizo CG246 display for sRGB encoding.
  • Created a dataset of 12 video stimuli with 2 types of motion and 6 materials using Mitsuba renderer and OpenCV.
  • Automated the rendering process (444 frames, 110 rendering hours) with Python and batch scripts, see the GitHub repo.
  • Skills: Design of experiments, Data Analysis, Material Appearance, Python, Pandas, OpenCV, Psychopy, Automation, Rendering, Research.

• Davit Gigilashvili, David Norman Díaz Estrada, Lakshay Jain, "Does Motion Increase Perceived Magnitude of Translucency?" in London Imaging Meeting, 2023, pp 81 - 85, https://doi.org/10.2352/lim.2023.4.1.20

Autopy

  • A remote-controlled vehicle made with a Raspberry Pi 3 and an RGB camera module.
  • Coded a Python GUI to stream the frontal camera and allow the user to control the vehicle and take photos.
  • Used threading library to improve the camera stream flow.
  • Used VNC viewer to display the GUI on the user's smartphone/PC.
  • Check out the GitHub repo.
  • Skills: Python, RaspberryPi, GUI, Image Processing, Electronics, Git.

Autonomous Heat Follower Vehicle

  • I used Python and a Raspberry Pi 3 for real-time image processing of an Adafruit AMG8833 IR Thermal Camera.
  • Processed the heat image to determine the location of the heat source and control the direction of 2 dc motors.
  • Used VNC viewer to display the heat image on the user's smartphone.
  • Used an ultrasonic sensor HC-SR04 to measure distance and avoid obstacles.
  • Designed the vehicle's chassis in SolidWorks
  • Skills: Python, RaspberryPi, Image Processing, SolidWorks, Electronics, Mechanical Design.

Skills

  • Programing languages:
    Python (Tensorflow, PyTorch, OpenCV, Scikit-learn, Pandas, NumPy, Matplotlib, Tkinter, Psychopy).
    MATLAB (Image Processing, Fuzzy Logic, Neural Networks, Simulink, Simscape).
    JavaScript (P5.js), HTML, CSS, C++, R, SQL, Ladder (PLC), Assembly.
  • Software/tools: RaspberryPi (Linux), Arduino, Git, LaTex, PBRT, Mitsuba renderer, LabVIEW, SolidWorks, Photoshop.
  • Languages: English (Advanced): 103, TOEFL iBT (2020), Spanish (native speaker)
  • Specialization: Computer Vision, AI, Deep Learning, Color Science, Image Processing, Software Development.

Work Experience

I have international work experience in Mexico, Canada, Norway, and France:

Computer Vision & AI Engineer

Tordivel AS (Norway, 01/2024 - present)

  • Development of end-to-end Deep Learning projects, from dataset creation (image selection and annotation), model training and tuning, and deployment in production.
  • Use of Deep Learning models (MRCNN, Efficient-Net, U-Net) and classical computer vision algorithms to deal with object detection, classification, and segmentation on food and consumer goods data such as salmon, and plastic/wood pallets.
  • Integrate Deep Learning models with the company’s Software Scorpion.
  • Skills: Python, Tensorflow, OpenCV.

Computer Vision Research Intern [Master's thesis]

Vilmorin-Mikado (France, 01/2022 - 07/2022)

  • Conducted research by reading more than 30 papers on GANs and Deep Learning based image segmentation.
  • Developed an end-to-end Deep Learning pipeline encompassing all stages from data cleaning and preprocessing, model selection, tunning, training, evaluation, and deployment in the company's GPUs.
  • Used CycleGAN for image generation and creation of synthetic datasets for instance segmentation of fruits and vegetables under uncontrolled lighting environment.
  • Generated synthetic data to reduce the real training images to just 250, while maintaining segmentation accuracy.
  • Developed a carrot segmentation model (Mask R-CNN), with an F1 score of 93% on validation images of real carrots
  • Skills: Python, Tensorflow, OpenCV, Scikit-Learn, Detectron2, GANs, Latex, Git, Azure DevOps.
  • See master's thesis abstract

Teaching Assistant for Computer Graphics

Norwegian University of Science and Technology (NTNU) (Norway, 09/2021 - 12/2021)

  • Worked as a Teaching Assistant (TA) for the course IDIG4002 Computer Graphics at NTNU, Gjøvik.
  • Gave the lab sessions to 39 international master students from the COSI and MACs programs.
  • Gave presentations in English, prepared lab exercises in PBRT, supervised students in their assignments and final projects.
  • Skills: PBRT, Rendering, Computer Graphics, Teaching.

Image Processing Intern

Vilmorin-Mikado (France, 06/2021 - 07/2021)

  • Worked as an image processing intern for a 6-week summer project for melon segmentation.
  • Developed and tested new segmentation algorithms for different melon typologies.
  • Documented code via Git and Azure DevOps.
  • Communicated with remote teams in English.
  • Skills: MATLAB, Git, Azure DevOps.

Quality Assurance Intern

Autocom.mx (Mexico, 01/2020 - 06/2020 )

  • Gained experience in Agile Development as a QA intern for the website Autocom.mx.
  • Wrote technical documentation in English.
  • Carried out frontend and API testing through Postman and ZenHub (reported bugs and enhancements).
  • Gathered user feedback (Hotjar insights and phone interviews).
  • Carried out market research and analysis for software features.
  • Carried out daily communication with virtual and international teams both in English and Spanish.
  • Led a team of 4 people that created the first version of a mathematical model for price rating.
  • Skills: Quality Assurance, Agile Development, Testing, Postman, Zenhub, Marketplace Research.

Mitacs Globalink Research Internship

University of Regina (Canada, 05/2019 - 08/2019)

  • Worked at University of Regina in Canada for 3 months under the supervision of Dr. Rene V. Mayorga.
  • Implemented Fuzzy Inference Systems, Neural Networks, Neuro-Fuzzy Inference Systems
  • Developed and coded two Image Processing algorithms based on Fuzzy Logic and Edge Detection, for color mapping and image smoothing.
  • Skills: AI, Fuzzy Logic, Image Processing, MATLAB, JavaScript (P5.js).

Tutor of differential and integral calculus

ITESM Morelia Campus (Mexico, 08/2016 - 05/2017)

  • Worked as a tutor of differential and integral calculus as part of my social service.
  • Helped students inside my university to enhance their academic performance in these subjects.
  • Skills: Math, Calculus, Teaching.

Education

I have done my studies at:

Master of Science in Computational Colour and Spectral Imaging (COSI), full-time Erasmus Mundus Joint Master Degrees Program

  • Two-year scientific Erasmus+ Joint Master's Degree, aiming to train the next generation of highly-skilled industrial experts in applied colour science, in various cutting-edge industries (photonics, optics, spectral imaging, multimedia technologies, computer graphics and vision) in a diverse range of sectors (including multimedia, health care, cosmetic, automotive, agro-food). The two areas of focus are spectral technologies and applied colour imaging.
  • GPA: 4.25 out of 5
  • Master Thesis: Use of transfer learning and GANs to create a carrot segmentation model from work done on cucumbers, in uncontrolled conditions
  • Courses: Image Processing, Computer Vision, Deep Learning, Machine Learning, Color Science, Statistics and Data Mining.

Bachelor of Science in Mechatronics Engineering (Mexico)

Icon 08/2015 - 06/2020
Graduated with honors (GPA: 95.67 out of 100)
Tecnológico de Monterrey, Morelia Campus, Mexico
Courses: Robotics, Signal Processing, Electronics, Control Engineering, Mechanics, Calculus, Linear Algebra.

Awards and Scholarships

  • 2020 - Erasmus + Erasmus Mundus Joint Master Degree scholarship (Norway, France)
    A full scholarship for the Erasmus Mundus Joint Master's degree in COSI (Computational Colour and Spectral Imaging) at the Norwegian University of Science and Technology (Norway) and University Jean Monnet (France).
    Obtained 2nd rank out of 172 worldwide applicants.

  • 2019 - CENEVAL Award for Excellence Performance-EGEL (Mexico)
    A national award granted to the 1% of students that achieved an excellence grade in CENEVAL National Examination for Mechatronics Engineering EGEL.

  • 2019 - Mitacs Globalink Research Internship Award (Canada)
    • A full grant to cover the expenses for the 2019 Mitacs Globalink Research Internship at University of Regina.
    • Research project: Artificial/Computational Intelligence / Sapience (Wisdom) Implementations & Applications.
    • Mitacs Globalink Research Internship is a competitive program that pairs top-ranked international students with specific research expertise with faculty at Canadian universities for a twelve (12) week research project of mutual interest.
  • 2018 - COPARMEX Award for Educational Excellence 2018 (Mexico)
    An award given by COPARMEX Michoacán to university students with the highest GPA in the state.

  • 2015-2018 - Academic Excellence (Mexico)
    Tecnológico de Monterrey, Morelia Campus, Mexico.
    An award granted to the top 5% of the students with the highest GPA in their Major.

  • 2015-2020 - Academic Talent Scholarship (Mexico)
    A scholarship awarded by Tecnológico de Monterrey during my bachelor studies in Mechatronics Engineering.

Contact

Contact me at: