0%

1. Why

I have multiple cameras, and I always shoot with Raw+JPG, but at the end of the day, I only need the raw file since it’s better for post-processing

So everytime I do the work

  1. Open the folder
  2. Select the JPG image
  3. Delete the JPG image
  4. Right click the remained RAW file
  5. Import to Lightroom

This process is simple but I don’t like repeat it, so an automation tool would be great

2. How

In a nutshell, we can use Automator and Python to finish the job

  • Automator is just to run the Python script and tell the Python script where is the location
  • In Python, the code will run the logic 2/3/4/5

image-20230201211240945

Python code:

Read more »

1. Intro

Using NN to generate novel

  • Input: the start
  • Output: renewed novel with the start

2. How

Convert the input text into number, find the stat pattern

By learning a model

  • Given a bunch of data
  • Predict the next word

GPT model

  • Training data: novel, small

3. Ref

Read more »

1. Intro

Hardware: Laser Lidar

Input: a series of 2D or 3D point, $X_0, X_1…X_n$

Output: the R,T betwwen $X_i$ and $X_{i+1}$

2. Algorithm

General Procedure

  1. Point selection: for lidar, the data is in order
  2. Matching: nearest neighbor
  3. Weighting
  4. Rejecting
  5. Calculate error
  6. Minimize the error

3. Plan

  1. get real data
  2. From ros, record the data using ROS bag
  3. Convert the rosbag to numpy
  4. Test algorithm in existing code
  5. Migrate the algorithm to Taichi version
Read more »

1. Goal

Learn Taichi Language to speed up python

  • Especially for my ISP project
  • Intensive computation
  • many for loops along the image

2. Essential

Backend

  • CPU
  • GPU: cuda / vulkan / opengl / metal

Field: basic data structure, like the ndarray in numpy

Structure

1
2
3
4
5
6
7
@ti.kernerl ## main entry point
def main_func(): ## must take type hinted arguments
compute()

@ti.func ## computational function
def compute(): ## only can be called inside kernel
pass

Parallel: parallelize any for loop at outermost scope in a kernel

Read more »

1. How

Given a observation, we can have a distribution

How to transform from multiple observation to a estimation?

Particle filter

  • Random pose
  • Measure the similarity
  • Resample
  • Update

2. What if NO map

We need SLAM

Two kind

  • Filtering: EKF, particle
  • Only estimate based on the latest observation
  • Smoothing: pose graph optimization
  • Optimize the whole trajectory

Read more »

1. Goal

Try to understand the trending AI tool

  • ChatGPT
  • Github Co-pilot

Decide

  • Should use co-pilot or not

2. Copilot

From comment to code

  • Use GPT3, trained to natural language

Use the whole github dataset and fine-tune in a supervised version

3. Chat-GPT

Read more »

1. Why

Goal: 3D modeling something in my mind, and 3D print the object

Tried: I tried

  • Solidworks (standard software for 3D modeling, but too expensive and not portable)
  • Pure Python, generate point manually, then use Meshlab to reconstruct the face/mesh again, this method is free but the result is harsh and hard to modify.

This time, I would try to use a Python library called CadQuery, it based on OpenCascade, an open-source 3D modeling engine.

2. Design Principle

Intuitive Construction

  • the language should just like human language

Capture Design Intent

  • Should follow some unclaimed assumption
  • Understand the constrain between different part
Read more »

1. Goal

Create a haircut helper to reduce the time of haircut

image-20230102220652682

Using a template trimmer to get hairstyle like the above state, the important part is the back of head since it’s hard to trim the hair in that area.

2. Prototype

Type I: a fixed template that cover the back head area

image-20230102221030466

3. Implementation

3.1. Intuition

Material: soft alumni string to shape my head, since the precise model is not that important, a 4 by 4 grid is used

Read more »