人工智慧應用(Artificial Intelligence Application, AI) 113

修訂日期:113/09/11
班級:數位三甲 學分:3學分
任課教師:吳智鴻 任課科系:數位內容科技學系
TEL:04-22183024
E-mail: chwu@mail.ntcu.edu.tw

FB社團 113數位系人工智慧應用

| 112 | 111 | 110 | 109 | 108 | 106 | 105 | 104 | 103 |

一、本課程之學習目的與教學目標

本課程為人工智慧領域的入門課程,在本課程著重在使學生瞭解人工智慧的內容、歷史、相關技術,並學會如何使用人工智慧的相關工具。並瞭解什麼是智慧系統辦得到及辦不到的事,實務上可用來解決的問題。本課程特別以實際業界資料集,透過完善的AI工具進行進行分析,使理論能夠與實務結合。上完課程之後,能夠應用在未來的問題中。

 

二、本課程之主要講授重點與範圍:

認識大腦:大腦如何改變
人工智慧的原理
(基因演算法、螞蟻演算法、粒子群演算法、計算智慧演算法)
人工智慧的發展歷史
遊戲人工智慧GAME AI
影像處理之人工智慧應用
LEGO機器人人工智慧
手機上人工智慧應用
人工智慧的商業應用
人工智慧的軟體
人工智慧相關論文討論

 

三、本課程之教學方法:

本課程之教學方法有三大重點:
1. 輔導學生能夠瞭解AI原理、
2. 熟悉現有AI分析工具,
3. 瞭解如何利用AI工具進行分析。

授課方式:
1. AI原理講解: 每週三小時原理解說。
2. AI分析工具: 老師上課講解與介紹AI相關工具
3. AI分析:透過實際業界資料,利用AI分析工具進行操作與分析,並瞭解如何解釋結果。

分組報告:
分組報告:每組同學依照指定議題進行分組報告。
期末報告:期末每組依課堂上介紹之內容與工具,完成一個專題。

 

四、本課程之評量方式與時間:

 平時成績: 30%      AI應用報告(個人)/出席/學習單
 期中專題: 30%      AI專題實作 (分組)
 期末專題: 30%      AI專題實作 (分組)
 E-portfolio 10%     個人

 

平時30%:上台報告
(The presentation includes
1. Theory Introduction,
2. AI tool or software introduction,
3. Papers in this topic
4. Your idea in this approach )

[ 課程規劃 ]

五、使用教材或參考書目:

[A] 文淵閣工作室,「Python機器學習與深度學習特訓班:看得懂也會做的AI人工智慧實戰」,碁峰出版社。
[B] 文淵閣工作室,「Python初學特訓班」,碁峰出版社。
[C] 高超群(譯): 「人工智慧 - 現代方法(第二版)」, 全華圖書, 2006.

---    其他教材及參考書籍、資料將由教師於課堂上發放或指定。

 

六、有關學習建議事項:

學生需在老師指定之主題下,主動尋找相關資料與軟體,與提出可能應用方向,以及AI相關技術改進之方法。
「遵守智慧財產權觀念」及「不得非法影印」。

test

七、本課程之教學進度:(請詳填於課程進度表)

週次  日期  課程內容 補充內容 Homework

1

09/11

課程介紹

課程介紹

學習單0

課程規劃

20Q人工智慧遊戲

人工智慧介紹

人工智慧介紹

人工智慧是什麼?

13分鐘了解AI (Youtube)

人工智慧在數位上的應用

2D轉3D (Photoshop)

Mocha AE (自由追蹤的AE插件)

人工智慧談話器(George)

 

學習單#1 A原理與應用

2 09/18

AI原理

學習單#1 AI應用

 

AI & Machine Learning介紹

 

13分鐘了解人工智慧(Youtube)

 

Google Experiments

AI線上實作平台

AI applications

臉部辨識

AI in Humans

Game AI (Unity AI agent)

 

 

-IQ過河遊戲

-三個僧侶過河遊戲

PDF

人工智慧大作戰--遊戲世界

3 09/25

 

AI產業應用

 

AI & Machine Learning介紹

 

 

學習單#2 AI產業應用

Paper

Exploration of Applying Pose Estimation Techniques in Table Tennis

 

4 10/02

 

 

AI基本開發環境介紹

 

學習單#2 Python基礎

 

 

 

 

 

 

 

Anaconda

安裝anaconda

Spyder

Jupyter notebook

Jupyter notebook無法啟動的修復

 

網路教材

Python基本語法介紹

Python List與Dict的差別

 

Github教學

教學PPT:

Github

Git

教學PPT:

 

AI開發工具

 


 

 

     

 

AI輔助程式教學

Cursor教學

 

 
   

 

遊戲開發專題

學習單#3

Ai產業應用與github

 

AI與遊戲

AI與遊戲 in Python

 

學習單#4 github_Python遊戲演算法

-----------------------------------------------------------------------

# 下載聊天機器人程式碼

git clone https://github.com/maso0310/linebot.git

# 設定使用者姓名
git config --global user.name "Chih-Hung Wu"
git config --global user.email "chwu@xxx"

# 上傳app到heroku
heroku git:remot -a 你的APP名稱
git init
git add .
git commit -am'ok'
# 上傳檔案
git push heroku master

 

#設定遠端連線到github
git remote add origin https://github.com/xxxxxxx

5 10/09

 

AI基本開發環境介紹

 

學習單#5

網頁爬蟲

 

Python爬蟲教學

教學PPT:

安裝套件指令

  • pip install requests
  • pip install bs4

BS4指令教學(重要,需參考)

Headers

 

 

Prg素材

Prg:

 

Cursor教學

6

10/16

 

Python基本

 

 

學習單#6

網頁爬蟲與開放資料

 

Python爬蟲教學

文字爬蟲運用專題

 

實作範例

金融爬蟲

 

AI與設計

AI人流

 

7 10/23

 

期中報告#1

 

期中企劃書說明(PDF)

期中企劃書說明(PPT)

Google網路空間

Notion期中成果彙編

 

AI創新服務提案範例(PDF)

期中問卷調查 

 

網路空間 | 112 |

期中作品 | 108 | 109 | 110 | 111 | 112 |

Notion彙編 | 112 |

8 10/30 期中報告#2    
9 11/06

Python進階

NLP自然語言處理#1

 

學習單#7

自然語言處理

 

Python進階

NLP自然語言處理#2

文字爬蟲運用專題

  • 斷詞
  • 自定義詞庫
  • 停用詞

 

文字爬蟲運用專題

  • 文字雲
  • 自動摘要

斷詞與文字雲

教學PPT:

相關程式

斷詞

Google搜尋結合文字雲

補充:

Google Colab

   

 

Chatgpt專題

 

Chatgpt_DALLE教學PPT

Prg

Colab

 

 

Finetune介紹

Llama2

10 11/13

演講

李明達董事長

App4AI & 產業應用實例

Leader 李明達董事長


App4AI Software

學習單: 3A_AI資料集

11 11/20

AI專題實作#1

電腦視覺

OpenCV實作(電腦視覺與人臉識別)

產業應用

學習單

 

 

12

 

11/27

 

姿勢辨識專題

 

姿勢識別

Media pipe 

 安裝 pip install mediapipe

 

手勢辨識

 

Python基礎先修教學 

 

仰臥起坐 

AI仰臥起坐 (教學)

仰臥起坐實作畫面(DEMO) 

 

姿勢辨識 

虛擬教練 (中文教學)(欒教授)  

Real-time 3D Pose detection (教學)

姿勢辨識實作教學 (AI舉手)

AI分析 甲組選手桌球拉上旋1 (Demo) 

AI分析甲組選手桌球拉上旋2 (Demo)  

AI分析甲組球員比賽  (Demo)

 

姿勢辨識+Tensorflow

姿勢辨識+Tensorflow (Demo)

姿勢辨識+Tensorflow (github)

 

姿勢辨識 ML5.js

 

學習單10   姿勢辨識

 

人臉辨識

AI 產業應用實例

中研院近現代人物資訊整合系統

13 12/04

多層類神經網路MLP

手寫數字辨識

Mnist_MLP手寫數字辨識

 

 

安裝tensorflow

  • pip install tensorflow

安裝keras

  • pip install keras

出現安裝錯誤

  • pip install -U --ignore-installed wrapt enum34 simplejson netaddr 

安裝opencv

  • pip install opencv-python==3.4.9.31

 

學習單8_深度學習網路_手寫數字辨識

 

AutoML

14 12/11

卷積神經網路CNN

手寫數字辨識

 

Convolutional Neural Networks

CNN卷積神經網路手寫數字辨識

[ CNN + GUI介面]

[ Real-time WebCAM辨識]

[CNN原理]

 

GUI介面

 

學習單9_深度學習網路_手寫數字辨識CNN

15 12/18 期末報告#1

期末專題雲端空間

期末報告說明(PDF)

期末作品成果網站 (Notion)

專題成果

簡報範例 語言翻譯

16 12/25 期末報告#2    
17 01/01

 

自主學習

進階AI專題

口罩偵測

 

 

COVID-19 face mask detection

學習單9   口罩辨識
18 01/08

自主學習

社交距離偵測

Social distancing detection

[ Mobilenet 介紹 ]

 
   

 

YOLO

 

YOLO v8

 

YOLOv8實作教學 (吳智鴻)

 

 
   

 

YOLO

 

YOLO v9

 

 
   

 

YOLO

 

YOLO v10

Video動態影片物件辨識

 

標記圖片網站Roboflow

網站

教學

 

   

進階AI專題

Speech Recognition

 

人工智慧的應用
LEGO機器人人工智慧

Google Speech Recognition

 

App Inventor 擴充功能

 

智慧型機器人發展現況與學習應用之展望
樂高機器人教學

樂高機器人程式設計說明1 (Youtube)

樂高機器人程式設計說明2 (Youtube)

形同美女的機器人 (Youtube)

目前最像人的機器人 (Youtube)

面部表情最接近人類的機器人(Youtube)

投籃機器人世界冠軍--吉峰國小(Youtube)

先進機器人2011當家(Youtube)

LEGO Mindstorms NXT: A Brief Introduction & Tutorial Part 1

LEGO Mindstorms NXT: A Brief Introduction & Tutorial Part 2

Micro:bit AI專題 剪刀石頭布

軟體

Kittenblock v1.84

Micro:bit修復

學習單 Microbit+AI

   

期末專題製作

 

 

Bot聊天機器人的應用

台灣iPhone專屬繁體中文社群網站

iPhone上的1A2B猜數字遊戲
iPhone上的20Q遊戲

iPhone上的井字棋

IPhone Ugly Meter

Google Mobile App

iPhone Google Voice Search

iPhone Google 視覺化搜尋

Google Maps + 3D建築

Android Voice Recognition by Vlingo

Word Lens讓你用攝影機翻譯全世界

Slow Down教你放慢車速聽音樂

想要看你以及未來另一半所生下來的小孩嗎?

Kinect+HMD Virtual Reality 3D虛擬眼鏡組合

鏡頭瞄準就翻譯

Google語音翻譯

Google 翻譯歌

緊急求救app

鍵盤檢驗帕金森症

 

安裝anaconda

安裝opencv3 in Anaconda [說明網頁]

  • conda install -c conda-forge opencv=3.2.0
  • conda install -c menpo opencv3=3.2.0
  • 修改路徑
  • casc_path = "C:\\Users\\Apple\\Anaconda3\\pkgs\\
    opencv-3.2.0-np112py36_204\\Library\\etc\\haarcascades\\
    haarcascade_frontalface_default.xml"
  • 部屬到網路上

人臉辨識API 網址

人臉辨識介紹

即時影像物件辨識

App Inventor 物品辨識

App Inventor擴充

         
    課外補充教材    
    AI算圖

AI算圖網站

StableBoost

Stable Diffusion

SinGAN

Magic3D (Nvidia)

 
     

 

ChatGPT 3.5

影片

Github

 

GPT

影片

程式

 

 
   

Raspberry Pi

 

 

開機與安裝 (安裝指令)

Miniconda安裝OpenCV3

安裝miniconda

安裝Cmake

安裝OpenCV3

 

Linux安裝Xwindow

   

嵌入式系統

樹莓派Pi

樹莓派

安裝

教學

設定檔

安裝OpenCV

  • conda install –y –c conda-forge opencv
 
    AI串接

Flask API

 

Flask 教學影片

 

   

AI專題實作#2

遊戲人工智慧GAME AI專題 [PDF]

路徑搜尋演算法
--A* Algorithm


--Dijkstra's Algorithm

 

A* algorithm (Amit's A*Pages)
A*演算法簡介

Unity

Wiki
Illustration of Dijkstra algorithm
Visualization of Dijkstra algorithm

Demos:

 Shark Attack

 Ping Pong

 runaway

 maze (建立迷宮)  sourcecode

 PathFind

 PathFind in Java (A*, Dijkstra, Depth First)

 Astar

 Astar Optimize

   

認識大腦:大腦如何改變

Jeff Hawkins 專題

傑夫•霍金斯談大腦科學將如何改變電腦

Wiki


大腦科學如何改變電腦 (TED Speech) (TED Wiki)

(TED Chinese Speech)

Book

第六感驚人的潛力PranavMistry(中文) (Youtube影片)

如何解讀別人的心思

發覺人類視覺的假象Youtube版)

香港科學館3D錯覺

腦內的兩個世界 (Youtube)

 
     

人工智慧應用:語音辨識、文字轉語音

 

學習單6_WEB網站擷取與語音翻譯

 

App Inventor2 基本

App Inventor2 與AI結合

App Inventor 2 文字轉語音

App Inventor2 臉部辨識

範例8 語音辨識

範例9 翻譯機

PPT教材 (網頁擷取概念介紹)

PPT教材(完整版,有兩個字典,加入Yahoo字典)

完成樣子

[完成APK] [完成AIA]

完成樣子 (有兩個字典)

   

Extention

 

Thunkable與AI2轉換

Thunkable 入口網站

    app inventor2

文字轉語音

素材:

【補充教材】

範例九、Firebase雲端資料庫聊天室

教學PPT 如何連結Firebase 資料庫與簡易聊天室


手機螢幕錄影軟體Du Recorder

期中考程式範例:

鋼琴

   

OPENDATA與人工智慧

學習單7

Kaggle比賽介紹

新元件 Firebase

空氣污染指標PM2.5 APP實作

井字棋遊戲
井字棋遊戲AI設計
介紹

棋、謎與人工智慧 C
井字棋

井字棋

----------------------------------------

[作業範例]

範例一 簡報
範例二 簡報

範例三 簡報

 

範例10 開放資料

[教學PPT] [APK]

 

範例11 即時空氣品質APP

[教學PPT]

範例12 即時空氣品質進階版APP

[教學2 PPT]

    Anaconda環境  

 

Win10安裝Tensorflow gpu 2.0 ref


下載Anaconda Python 3.7

[ 一次全裝 ]
conda create -n py35 python=3.5 jupyter spyder tensorflow keras pandas sklearn
matplotlib imutils

#安裝tesnorflow 2.0 & 全裝

conda create -n tf2 python=3.7 jupyter spyder tensorflow keras pandas sklearn matplotlib imutils

#test your environment#
import tensorflow as tf
tf.__version__

#安裝Keras

pip install keras

#test your environment#
import keras
print (keras.__version__)

#安裝OpenCV

conda install -c https://conda.anaconda.org/menpo opencv

#如果不能裝,則裝新版opencv
pip install opencv-python

#test your opencv
import cv2
cv2.__version__

#創建虛擬環境並安裝tensorflow
conda create -n tensorflow python=3.7 jupyter

查看所有python虛擬環境
conda info --env

#在Jupyter notebook增加 kernel名稱

pip install ipykernel
python -m ipykernel install --name tf2

-----------------------------------------------------------------------------------
[ 安裝Tensorflow GPU 2.0版本 ]

conda create --name tensorflow-gpu
conda activate tensorflow-gpu

conda install tensorflow-gpu=2.0 python=3.7
conda install ipykernel
python -m ipykernel install --name gpu2

安裝cuDNN & CUDA
conda install cudnn=7.6.0
conda install cudatoolkit=10.0.130

test in Python

import tensorflow as tf
import keras
tf.__version__
tf.test.is_gpu_available()
若出現True表示GPU版本沒有問題

 

    Unity +AI ML-Agent

在Unity環境中訓練強化學習AI

強化學習的原理介紹
https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/1-1-A-RL/

ML-Agent (Github)
https://github.com/kwea123/ml-agents

在Unity環境中訓練強化學習AI

#1:ml-agents的介紹
https://www.youtube.com/watch?v=aOb0GSfA1pw

2:安裝所需軟體、強化學習簡單介紹
https://www.youtube.com/watch?v=61j0q81hoIw

#3. 構建Unity環境-1
https://www.youtube.com/watch?v=RjWpb7BazdA

#4. 構建Unity環境-2
https://www.youtube.com/watch?v=UIaywmBsCFM

#5. 使用python控制unity環境
https://www.youtube.com/watch?v=bsEYAlrD3mA

#6. 構建好的unity學習環境的詳細介紹
https://www.youtube.com/watch?v=RbouZ_KgaUc

#7. 強化學習的結果,火箭成功降落!
https://www.youtube.com/watch?v=xsvpvHn4WU8

OpenPose + UNITY
https://github.com/kwea123/openpose

Demo
https://github.com/kwea123/openpose/blob/master/doc/media/pose_face_hands.gif

    Neo4j 圖形化資料庫

 

Neo4j Community下載與安裝方法

https://blog.csdn.net/appleyk/article/details/79091898

修改啟動無法載入Module問題

https://blog.csdn.net/weixin_38883338/article/details/88377730

Java問題

確認java版本指令

  • java -version
    Flask Python WebServices

 

Flask教學

Flask Web Development Turorial#3 Webform

 

    Pi   Pi設定教學
    Openpose  

CMU Openpose下載

Openpose Github (有程式碼、影片)

     OpenCV

 OpenCV手部辨識

Opencv, Mediapipe 

 
    手機上的AI應用

AI自動產生書法字型

 

 
      Chatbot

NTLK chatbot

LSTM chatbot

   

 

 

Mask detection

CIFAR Object detection (CNN)


 

 

開放資料

相關軟體

ADT [Setup]

開發環境PPT

 

教科書

文淵閣工作室,「Python機器學習與深度學習特訓班:看得懂也會做的AI人工智慧實戰」(第二版),碁峰出版社。


 

文淵閣工作室,「Python初學特訓班」,碁峰出版社。

參考書

蔡宜坦,【詳盡解說! App Inventor 2 中文版 Android App 範例教本】,旗標出版。F5770

 

黃建庭,【你也會寫Android應用程式:App Inventor2專題製作】,松崗出版社。XP15067

 

李春雄,「App Inventor 2 動畫與遊戲程式設計」,五南出版社。

 

課外參考書籍

羅光志,從AI到生成式AI,旗標出版社。