江信昇
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 應用YOLOv8與Deepsort於魚眼相機下執行行人追蹤和計數 ## People Tracking and Counting via Fisheye Camera Using YOLOv8 and DeepSort ~~Head Detection and Tracking Using YoloV8 via Fisheye Camera / People Counting or People Counter~~ ~~醫院路徑規劃專題會議記錄~~ ###### tags: `會議記錄` (原人臉辨識專題會議記錄) * github https://github.com/Daniel-ShinShen/pythonProject_FaceDetection * program structure: working directory |--main.py |--mainwindow.ui |--YOLOv8CustomObjectDetection.ipynb //pass * reference code: 1. RecordVideo part(for presenting the video in GUI) https://github.com/benhoff/blog/blob/master/scripts/face-detection-in-pyqt.py 2. Loading model and do object detection (and export video) Yolov8 object detection + deep sort object tracking | Computer vision tutorial https://www.youtube.com/watch?v=jIRRuGN0j5E 4. Custom model training on google colab Episode 3 | How to Train Ultralytics YOLOv8 models on Your Custom Dataset in Google Colab https://www.youtube.com/watch?v=LNwODJXcvt4 ## 額外討論時間 113-1 學期 信昇: 三中午以後,或四晚上 繼寬: 一二三中午 -> 三中午 ## 專題進度流程 ~~(GUI construct)~~ 1. 可載入影片 ✔ 2. ➽人臉偵測功能 ⟸ work on this 3. 建立少數人的人臉辨識 ✘ 4. 人臉偵測應用-急診系統動線分析&路線優化✘ 5. ✔✓✗✘∨√☑☒⮰➽➳ ---- # 2023 # 09/25 (Group meeting) - 會議時間:2023 年 09 月 25 日 (一) - 會議地點:線上 - 參與人員: ## 預計討論項目(事先填寫) 1. 專題實作方向改成醫院路徑規劃 ## 討論事項 ## 結論 ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他 ---- # 10/06 - 會議時間:2023 年 10 月 06 日 (五) 20:00 ~ 21:00 - 會議地點:線上 - 參與人員: ## 預計討論項目(事先填寫) 討論 GUI 目標進度 - 實作detection功能 繼寬- thread 的機制理解 信昇- face detection 功能實作在thread上 ## 討論事項 1. 這週還沒準備好 2. ## 結論 1. 決定每週三中午進行組內會議 2. 我們是福音之友 ## 臨時動議 ## 下次會議時間 暫定 10/11 中午 地點: 線上 ## 下次會議預計討論項目 ## 其他 ---- # 10/22 - 會議時間:2023 年 10 月 22 日 (日) 14:30~16:30 - 會議地點:創創(D24) - 參與人員: ## 預計討論項目(事先填寫) 討論 GUI 目標進度 - 實作detection功能 (2) ## 討論事項 1. 福音之友討論(二) 2. 提議用 colab 合作寫code ## 結論 繼寬: 路徑規劃 信昇: [實作目標] 整合 網路上參考的 code 與 qtdesign 排版 * 參考 source code (實時人臉偵測 webcam) https://benhoff.net/face-detection-opencv-pyqt.html ## 臨時動議 ## 下次會議時間 10/26 晚上 ## 下次會議預計討論項目 ## 其他 * 程式碼更新(20231022) * version 1 - facedetection_benhoff_20231022.py 載入檔案+人臉偵測功能 但未整合 qtdesigner ---- # 12/7 - 會議時間:2023 年 12 月 7 日 (四) - 會議地點:線上 - 參與人員: ## 預計討論項目(事先填寫) 1. hough circle 實作-偵測人頭 2. (程式碼更新)目前 version 2 - hough_circles_with_gui.py ## 討論事項 目前困境 1. 無法準確標記測影片中的人頭 * 0.教授應該有現成的 [1.YOLO v7 + SORT Object Tracking](https://youtu.be/tq0GI4FahWU) [2.Official YOLO v7 Instance Segmentation COMPLETE TUTORIAL ](https://www.youtube.com/watch?v=tq0GI4FahWU) [3.Yolov8 object detection + deep sort object tracking](https://www.youtube.com/watch?v=jIRRuGN0j5E) 3. ## 結論 ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他 ---- # 2024 # 1/18 - 會議時間:2024 年 1 月 18 日 (四) 晚上 - 會議地點:線上 - 參與人員: ## 目前情境 (與教授用line聯絡) 繼寬: 關於專題的部分,打算使用==YOLO v8==來偵測物體並用==DeepMAR==來識別屬性 最後再用==DeepSORT==來追縱路徑,以便後續優化手術室內的動線 然而學生目前沒有手術室內的影像,無法在標記與訓練模型 該如何獲取手術室內的影像呢? 還是您們覺得目前先用其他情境來練習呢? 教授: 用2種fisheye video(一個是攤開前,一個是攤開後)來做 head detection -> 先做 head detection ## 討論事項 已完成: 魚眼影片資料取得 ## 結論/to do list ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference - 1. Roboflow 6 Minute Intro | Build a Coin Counter with Computer Vision https://www.youtube.com/watch?v=a3SBRtILjPI - 2. Yolov8 object detection + deep sort object tracking | Computer vision tutorial https://www.youtube.com/watch?v=jIRRuGN0j5E code: https://github.com/computervisioneng/object-tracking-yolov8-deep-sort ---- # 1/19 (小開會) - 會議時間:2024 年 1 月 19 日 (五) 下午 - 會議地點:線上 - 參與人員: ## 目前情境 已取得魚眼影片資料 繼寬: 看COCO相關的論文(YOLOv8 pretrain model的dataset) (程式碼更新)目前 version 3--main.py (用YOLOV8取代hough circle來偵測人頭) ## 討論事項(應做事項與待處理事項) 基於reference兩個影片進行dataset labeling(using Roboflow) ## 結論/to do list 1.對四個魚眼影片進行dataset labeling並做成dataset (using Roboflow) 2.做model training (pretrain model :YOLOV8) ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference(同1/18) - 1. Roboflow 6 Minute Intro | Build a Coin Counter with Computer Vision https://www.youtube.com/watch?v=a3SBRtILjPI - 2. Yolov8 object detection + deep sort object tracking | Computer vision tutorial https://www.youtube.com/watch?v=jIRRuGN0j5E code: https://github.com/computervisioneng/object-tracking-yolov8-deep-sort ---- # 1/21(小開會) - 會議時間:2024 年 1 月 21 日 (日) 下午 - 會議地點:線上 - 參與人員: ## 目前情境 將Roboflow匯出之dataset於Roboflow/google colab 上進行訓練 ->已訓練完成(best_20epoch.pt) 繼寬:輸出人頭偵測影片(e.g. out.mp4)->已完成 GUI程式部分 目前仍維持 version 3--main.py (用YOLOV8取代hough circle來偵測人頭) ## 討論事項 1. 影片輸出方式可參考在YOLOv8CustomObjectDetection.ipynb的最後一段 (https://colab.research.google.com/drive/1khqvP3J4OfIOJKuigThyHL3Qjj7Z7P79?authuser=2#scrollTo=j-2SVvG3g4ch) 2. 原本打算申請model traing相關經費去做upgrade(roboflow or google colab) ,因實驗室有提供硬體資源,故放棄詢問 3. 下一步是做==單人路徑追蹤== 4. 遠端使用硬體資源需在chrome上操作遠端桌面 ~~先Download PuTTY並做相關學習~~-----(b) ## 結論/to do list (與教授用line聯絡) 教授: 1.base on one person and draw his trajectory(追蹤單人路徑/tracking)-----(a) 2.we open one RTX1080 you can connect and train by using it(硬體資源) ## 臨時動議 (a) ![螢幕擷取畫面 (454)](https://hackmd.io/_uploads/S1khBj5Yp.png) (b) 電腦 帳號: ROBOTICS 密碼: rl212212 遠端桌面(使用chrome) 帳號: roboticslab75 密碼: rlpassward PIN碼: 000000 ![螢幕擷取畫面 (455)](https://hackmd.io/_uploads/r1kDZa5ta.png) ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference 1. Episode 3 | How to Train Ultralytics YOLOv8 models on Your Custom Dataset in Google Colab https://www.youtube.com/watch?v=LNwODJXcvt4 ---- # 1/23(教授發話) - 會議時間:2024 年 1 月 23 日 (二) 下午 - 會議地點:線上 - 參與人員: ## 目前情境 在chrome上操作遠端桌面進行訓練 ->已訓練完成(best_30epoch.pt) (與教授用line聯絡) 教授:我想到一個問題 怎麼把目前變形的魚眼 轉成 平行四變形 俯視圖?在平行四變形上畫軌跡 GUI程式部分不變 目前仍維持 version 3--main.py (用YOLOV8取代hough circle來偵測人頭) ## 討論事項 1. 2. 3. ## 結論/to do list 1.先在魚眼做好追蹤再考慮map到平面的問題,opencv的函式不確定能不能用 ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference 1. Learn Camera Calibration in Python with OpenCV: Complete Step-by-Step Guide with Python Script https://www.youtube.com/watch?v=3h7wgR5fYik ---- # 2/3() - 會議時間:2024 年 2 月 3 日 (六) 下午 - 會議地點:線上 - 參與人員: ## 目前情境 tracker.py local run的時候遇到版本兼容問題 ## 討論事項 1. 2. 3. ---- # 2/26(112-2學期第1次 group meeting) - 會議時間:2024 年 2 月 26 日 (一) 10:00~12:00 - 會議地點:實體 - 參與人員: ## 目前情境 tracking GUI程式部分不變 目前仍維持 version 3--main.py (用YOLOV8取代hough circle來偵測人頭) ## 討論事項 1. UI部分 2. tracking 技術問題 3. labeling 問題 ## 結論/to do list 1. 只要有結果就可以給教授看(再進行個別meeting) 2. GUI需額外顯示 偵測到的人頭數量 以及 座標資訊 3. tracking 部分還不知道運作原理,需再作研究 4. labeling 問題 只需標記無遮擋/部分遮擋20%,中間部分不需要知道 6. mapping 問題先不管 ## 臨時動議 detection 結果並非完全正確,存在少許bounding box重疊 誤判 以及 missing,經研究推論是DeepSORT 的exstractor權重需要再另外訓練以方便配對 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference 1. Object Tracking and counting using YOLOv8 and DeepSORT | Counting Persons https://www.youtube.com/watch?v=Y2fyDYcfmBg 2. DeepSORT: Deep Learning to Track Custom Objects in a Video https://nanonets.com/blog/object-tracking-deepsort/ ---- # 3/4(組內討論) - 會議時間:2024 年 2 月 26 日 (一) 10:00~12:00 - 會議地點:實體 - 參與人員: ## 目前情境 tracking GUI程式部分不變 目前仍維持 version 3--main.py (用YOLOV8取代hough circle來偵測人頭) ## 討論事項 1. UI部分 2. tracking 技術問題 3. labeling 問題 4. object_tracking_training.ipynb https://colab.research.google.com/drive/1khqvP3J4OfIOJKuigThyHL3Qjj7Z7P79#scrollTo=EFMPxzVKb78I ## 結論/to do list ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference 2. DeepSORT: Deep Learning to Track Custom Objects in a Video https://nanonets.com/blog/object-tracking-deepsort/ ---- # 3/25(112-2學期第2次 group meeting) - 會議時間:2024 年 3 月 25 日 (一) 10:00~12:00 - 會議地點:實體 - 參與人員: ## 目前情境 detection 準確度不佳, 結果需用UI呈現在跟老師討論 程式碼部分: 1. update YOLOv8CustomObjectDetection.ipynb 2. GUI程式 更新 version 4--main.py (using excel file to load data and draw bounding boxes) ## 討論事項 1. UI部分 2. tracking 技術問題 3. labeling 問題 4. object_tracking_training.ipynb https://colab.research.google.com/drive/1khqvP3J4OfIOJKuigThyHL3Qjj7Z7P79#scrollTo=EFMPxzVKb78I ## 結論/to do list 1. 結果需用GUI界面呈現,不能用影片 2. Bbox 資料需用 excel 檔案讀寫(ok) 3. training dataset 資料要1000張以上(2 videos),並維持train : validation : inference = 8(以上) : 1 : 1的比例(solved by labeling ,forming new dataset v5~v8) 4. 把 metrics 弄出來 * precision * recall [淺談機器學習的效能衡量指標 (1) -- 準確率(Accuracy)、精確率(Precision)、召回率(Recall)] https://ithelp.ithome.com.tw/articles/10228941 ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference 1. Python Excel - Reading Excel files with Pandas read_excel https://www.youtube.com/watch?v=bI68wnoINwc 2. Python 获取视频中每一帧的时间戳/ timestamp https://geek-docs.com/python/python-ask-answer/356_python_getting_timestamp_of_each_frame_in_a_video.html 3. 寫入資料到 EXCEL、CSV 寫入 EXCEL https://ithelp.ithome.com.tw/m/articles/10303768 4. yolo excel csv do yolo object detection in python and save in excel csv for webcams videos & images https://www.youtube.com/watch?v=360xRAnk1O0&t=401s 5. [Pandas教學]5個實用的Pandas讀取Excel檔案資料技巧 https://www.learncodewithmike.com/2020/12/read-excel-file-using-pandas.html 6. Object Tracking using YOLOv8 on Custom Dataset: (tracking part) https://www.youtube.com/watch?v=3wUABl3KInQ ---- # 4/15(112-2學期第3次 group meeting) - 會議時間:2024 年 4 月 15 日 (一) 10:00~10:30 - 會議地點:實體 - 參與人員: ## 目前情境 tracking先放掉 GUI程式 更新 version 5--main.py (add the scroll bar, combobox and some useful function) ## 討論事項 1. UI部分 2. 專題展題目 ## 結論/to do list 1. 只要有結果就可以給教授看(再進行個別meeting) 2. 用realsense 鏡頭做 head counting 3. 訂定題目名稱(老師想法): Head Detection and Tracking Using YoloV8 via Fisheye Camera / People Counting or People Counter ## 臨時動議/會議後程式更新 1. tracking max_age=70 考慮降低value extractor dataset訓練?存成excel檔案? 2. GUI程式 更新 version 6--main.py (add the Qthread to help conrolling slider and add show trajectory checkbox) code updated: loading data from excel file to draw bounding boxes in YOLOv8CustomObjectDetection.ipynb https://colab.research.google.com/drive/1khqvP3J4OfIOJKuigThyHL3Qjj7Z7P79?authuser=2#scrollTo=CefZdVUhovlN ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference [Tracking] 1. Object Tracking from scratch with OpenCV and Python https://www.youtube.com/watch?v=GgGro5IV-cs 2. Predict trajectory of an Object with Kalman filter https://www.youtube.com/watch?v=3iqRhbXBVRE&t=1091s https://pysource.com/2021/11/02/kalman-filter-predict-the-trajectory-of-an-object/ 3. Object Tracking Using DeepSORT and YOLOv5 | Multi Object Tracking https://www.youtube.com/watch?v=NhCQBQqTAhE 4. YOLOv9_DeepSORT (github) https://github.com/sujanshresstha/YOLOv9_DeepSORT/blob/main/README.md 5. ==Object Tracking and counting using YOLOv8 and DeepSORT | Counting Persons== <- using this as basis https://www.youtube.com/watch?v=Y2fyDYcfmBg [note] 6. How to know total number of Frame in a file with cv2 in python (Why total_frame and actual frame number don't match?) https://stackoverflow.com/questions/25359288/how-to-know-total-number-of-frame-in-a-file-with-cv2-in-python [thread] 7. Implementing a background process in PyQt5 using QThread https://www.youtube.com/watch?v=G7ffF0U36b0&t=719s 8. QThread 多執行緒 https://steam.oxxostudio.tw/category/python/pyqt5/qthread.html 9. https://www.youtube.com/watch?v=9jRRZ-WL698 10. https://www.youtube.com/watch?v=d1bky80NXeQ 11. Real-Time Object Tracking using YOLOv8 and DeepSORT | Vehicles Counting (Vehicles Entering& Leaving) https://www.youtube.com/watch?v=9jRRZ-WL698 12. ==zengwb-lx/yolov5-deepsort-pedestrian-counting[github]== <- this https://github.com/zengwb-lx/yolov5-deepsort-pedestrian-counting/blob/master/person_count.py ---- # 4/29(插入專題生 sport meeting) - 會議時間:2024 年 4 月 29 日 (一) 10:00~11:30 - 會議地點:實體 - 參與人員: ## 目前情境 蒐集 raw data GUI程式 更新 version 6--main.py (add tracking and head counting) ## 討論事項 1. people counting data蒐集 2. 專題展題目 ## 結論/to do list 1. 只要有蒐集到raw data(people counting影片資料)就要給教授看 2. 蒐集資料的方式以以下兩種方式為主(先試試看),先不考慮用監視器影像(有隱私和權限問題) (1) 空拍機拍攝,但要故意"飛低"一些,可以平的飛過去像之前影片那樣 (2) 跟實驗室9樓盧助理借 AX700 Sony Camcorder(便攜式攝影機),於以下推薦地點拍攝: (a) 資訊舊館二樓往中庭方向向下拍攝行人 (b) 資訊新館8樓陽台(靠自強校區側)往馬路拍攝行人(教授說zoom in 倍率夠) (c) 光復操場側高點向下拍攝 **以上所拍攝之影片每個人頭至少要佔 13x13 pixel 模型才偵測得出來** 參考:空拍機影片之高寬pixel數如下: (720, 1280) 3. 自己拍攝的這些people counting影片需要"另外"建立成一個dataset,跟原本醫院的data區隔開來(也就是要train一次全新的data) 4. 不要怕失敗,可以研究一下甚麼情況下成功/失敗,了解目前技術的瓶頸,如果解決不了一些偵測case難點(e.g. 戴帽子,遮擋等)也沒關係,重點是從中你學到了甚麼 5. 確定專題題目名稱: People Tracking and Counting via Fisheye Camera Using YOLOv8 and DeepSort 應用YOLOv8與Deepsort於魚眼相機下執行行人追蹤和計數 ## 臨時動議/會議後程式更新 1. tracking max_age=3 考慮降低value extractor dataset訓練?存成excel檔案? 2. GUI程式 更新 version 6--main.py (add the Qthread to help conrolling slider and add show trajectory checkbox) code updated: loading data from excel file to track human head in YOLOv8CustomObjectDetection.ipynb https://colab.research.google.com/drive/1khqvP3J4OfIOJKuigThyHL3Qjj7Z7P79?authuser=2#scrollTo=CefZdVUhovlN ## 下次會議時間 ## 下次會議預計討論項目 ## 其他:reference -------------------------------------------- # XX/XX(模板) - 會議時間:2023 年 10 月 26 日 (四) - 會議地點:線上 - 參與人員: ## 預計討論項目(事先填寫) ## 討論事項 ## 結論 ## 臨時動議 ## 下次會議時間 ## 下次會議預計討論項目 ## 其他

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully