3D VISION LAB / RESEARCH PORTFOLIO

See every high and low on a surface with a laser profiler

I'm a second-year electrical engineering master's student studying automated optical inspection (AOI). My thesis builds a 3D depth inspection system from a Keyence LJ-X8000 and a three-axis stage. This site records how I go from principles to a working system.

See the research See the two-month plan

Illustration: a laser line sweeps the surface, each profile stacks into a height map, and areas outside the baseline are flagged as defects.

What I'm doing

A 2D image struggles to show small dents and bumps. A laser profiler measures the height at every position directly. I want to walk the whole path once: acquire data, control motion, process the height map, find defects, and make every step reproducible.

More about me

Three parts of the research

  • Sensor data acquisition and output

    Read profile data from the LJ-X8020 head through the LJ-X8000A controller, and save it in a reproducible format with Python.

  • Three-axis control and synchronization

    Move the stage as configured and match every profile to its position, so the height map is stitched correctly.

  • Height maps, point clouds and defect detection

    Turn profiles into a height map or point cloud, level and denoise it, then compare against a baseline to find defects.

Read the research details

Two months, four stages

Every stage ends with something I can check. The goal is not to have studied it but to have built it.

  1. Weeks 1–2

    Principles and data acquisition

    Continuous profiles saved with noise statistics

  2. Weeks 3–4

    Three-axis control and synchronized scanning

    The first complete height map

  3. Weeks 5–6

    Height-map processing and defect detection

    Defects marked on a sample with deliberate flaws

  4. Weeks 7–8

    Evaluation, reproducibility and integration

    One command from scan to defect report

See the weekly details

Small projects on the side

Alongside the thesis, I use two small topics to practice data handling, automation and agent design. The techniques end up in the thesis code.

  • Investing data project

    Fetch public market data, clean it, run a simple backtest and visualize it. It is for practicing data handling and is not investment advice.

  • Education tool

    A small tool that organizes study notes, generates practice questions and tracks progress, for practicing agent design.

See project status

Questions

Why a laser profiler instead of a regular camera?

A regular camera records brightness, so height changes can only be inferred. A laser profiler uses laser triangulation to get the height at each position, which suits defects like dents, bumps and scratches.

How do you keep results reproducible?

Pinned package versions, parameters in config files, fixed random seeds, raw data stored separately from results, and every output saved with the parameters used.

What role do AI tools play in development?

I use tools like Claude Code to speed up boilerplate, refactoring and tests. I verify the measurement logic and results myself against real data instead of trusting generated code.

Want to talk or give feedback?

If you work on AOI, laser profilers or Python automation, I'd be glad to hear from you.

Contact me