---
# System prepended metadata

title: 物件辨識
tags: [2023 軟體培訓]

---

# 物件辨識

![image](https://hackmd.io/_uploads/Sywo3ObHT.png)

## Introduction

### What is an digital image?

A digital image is a H * W * c matrix

| Gray Scale                                        | RGB      |
| --------------------------------------------------| -------- |
| ![image](https://hackmd.io/_uploads/HkbHJWMSa.png)| ![image](https://hackmd.io/_uploads/Sybe0xGBT.png)     |

## Traditional Method

![image](https://hackmd.io/_uploads/SyDCe-zBp.png)

### 1. Digital Image Processing (mainly for enhancement or augmentation)

![image](https://hackmd.io/_uploads/SJ7gsbzSa.png)

![image](https://hackmd.io/_uploads/HJGzj-fHa.png)

### 2. Feature Extraction

Literally anything can be a feature, but what is a good feature?

#### Edge

![image](https://hackmd.io/_uploads/BkF0VZzST.png)

#### HOG (Histogram of Gradient)

![image](https://hackmd.io/_uploads/r1oQN-frp.png)

#### And many more..

[OpenCV](/T3DOhvaDSZCvXCIyZ3kr7w)

### 3. Machine Learning

#### Logistic Regression

![image](https://hackmd.io/_uploads/Bk1uLbMHp.png)

#### K-means

![image](https://hackmd.io/_uploads/SkAqLWMrT.png)


#### SVM (Support Vector Machine)

![image](https://hackmd.io/_uploads/SyGODbfS6.png)

#### And many more...

## Deep Learning

![image](https://hackmd.io/_uploads/SJyYYWMHT.png)

### Deep Learning Feature

![image](https://hackmd.io/_uploads/rkU_qbzHT.png)

https://www.youtube.com/@HungyiLeeNTU/playlists

## Detecting a Ball

### OpenCV (w/o Machine Learning)

![image](https://hackmd.io/_uploads/r1jB6WGHp.png)

https://github.com/Practical-CV/Color-Based-Ball-Tracking-With-OpenCV

### YOLOv8

YOLOv8 is one of the state-of-the-art object detection model nowadays.

訓練一個 YOLOv8 模型: https://hackmd.io/VNhcl1kgQc6obh53VP-7kw?view

### Traditional Method vs Deep Learning

| Traditional Method | Deep Learning |
| -------- | -------- |
| 精準度低、泛用性低 | 精準度高、泛用性高 |
| 運算需求較低 | 運算需求較高 |
| 通常用CPU運算 | 通常用GPU運算，可高度平行化 |
| 針對特定簡單的任務 | 泛用物件偵測 |