• Stars
    star
    2,375
  • Rank 19,369 (Top 0.4 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A computer vision closed-loop learning platform where code can be run interactively online. 学习闭环《计算机视觉实战演练:算法与应用》中文电子书、源码、读者交流社区(持续更新中 ...) 📘 在线电子书 https://charmve.github.io/computer-vision-in-action/ 👇项目主页

"如果你只是看了这个项目的在线文档,那么你并没有利用好这个项目。太可惜!"

以用促学,先会后懂

L0CV 🔊   一种结合了代码、图示和HTML的在线学习媒介


全面 前沿 免费

计算机视觉实战演练:算法与应用 📌
Computer Vision in Action

作者:张伟(Charmve)

CircleCI Documentation status Code License 知识共享许可协议
Python version jupyter version PyTorch version
Binder Run on Colab Docker Gitpod Ready-to-Code Stars Forks

logo:L0CV



L0CV Website 中文电子书

跨平台,只需一个浏览器即可!

👉 在线阅读(优先更新实战篇和进阶篇)

- 地址:https://charmve.github.io/computer-vision-in-action/

最新版PDF下载

- 地址:https://github.com/charmve/computer-vision-in-action/releases (马上来 ...)
分享 Scan QRL0CV QR
QQ WeChat Weibo Twitter Zhihu CSDN

Index

L0CV architecture

🏷️ sec_code 图1 L0CV 结构图

💠 全书组织

🏷️ fig_book_org

book_org.png

全书详细思维导图

本书详细介绍,请移步 序言

  • 第一部分包括基础知识和预备知识。提供深度学习的入门课程,然后在理论篇中,将快速向你介绍实践计算机视觉所需的前提条件,例如如何存储和处理数据,以及如何应用基于线性代数、微积分和概率基本概念的各种数值运算,涵盖了深度学习的最基本概念和技术,例如线性回归、多层感知机和正则化。

  • 第二部分是本书涉及的计算机视觉基础理论,核心部分为神经网络模型,包括神经网络、卷积神经网络、循环神经网络理论讲解,以图像分类、模型拟合与优化作为其代码的实战项目。在模型拟合和优化章节中,着重分享梯度下降、随机梯度下降、动量法、AdaBoost等方法。

  • 接下来的七章集中讨论现代计算机视觉技术实战,也是本书的核心部分。围绕这样的组织逻辑:什么是计算机视觉?计算机视觉解决什么问题,都是怎么解决的?传统方法——以卷积神经网络为中心的神经网络;现代方法——Transformer、强化学习、迁移学习、生成对抗等。各种方法是如何实现的,用到了什么框架?在第7章中,描述了计算机视觉的经典卷积神经网络PyTorch实现,并为我们随后实现更复杂的模型奠定了基础。在随后的几个章节中,我们主要解决图像分类、目标检测、语义分割、3D重建等实际问题,并给出实战项目。

  • 该部分以项目为实战指导,给出详细的项目指导书和代码实现,更为特别的是,给出了notebook可以直接在线运行,跑通结果,免去了本地运行环境的搭建复杂性。于此同时,为了方便读者在本地调试,作者建立了一个名为 L0CV 的第三方包,可以直接在代码中 import L0CV 后使用。

  • 第三部分讨论最近几年出现的“网红”模型,诸如:Transformer、Attention、知识蒸馏、迁移学习、生成对抗模型等。这部分也是此份资料的力挺之作。最后,在 chap_optimization 中,我们讨论了用于训练深度学习模型的几种常用优化算法,如:模型压缩、模型剪枝、微调、蒸馏等。

Index

🌈 愿景

本开源项目代表了我们的一种尝试:我们将教给读者概念、背景知识和代码;我们将在同一个地方阐述剖析问题所需的批判性思维、解决问题所需的数学知识,以及实现解决方案所需的工程技能。

我们的目标是创建一个为实现以下目标的统一资源:

  1. 所有人均可在网上免费获取;
  2. 提供足够的技术深度,从而帮助读者实际成为计算机视觉应用科学家:既理解数学原理,又能够实现并不断改进方法;
  3. 包含可运行的代码,为读者展示如何在实际中解决问题。这样不仅直接将数学公式对应成实际代码,而且可以修改代码、观察结果并及时获取经验;
  4. 允许我们和整个社区不断快速迭代内容,从而紧跟仍在高速发展的计算机视觉领域;
  5. 由包含有关技术细节问答的论坛作为补充,使大家可以相互答疑并交换经验。

Index


📘 本书目录

👉 在线阅读(优先更新实战篇和进阶篇)

- 地址:https://charmve.github.io/computer-vision-in-action/
📘 详细目录(点击展开)

- 更新中 ...


收起

Index

🔍 文件浏览

按书中内容先后顺序逐章阅读,或者选取特定章节祥读 📁 docs/ 1,动手实践章节代码,在代码文件 📁 code/ 2 下找到对应代码,本地测试或者Colab 📁 notebooks/ 3 在线测试。

  • 📁 L0CV/ - 专为本项目建立的 💮 L0CV
  • 📁 code/ - 书中完整代码
  • 📁 datasets/ - 本书所用数据集
    • 📁 images/ - 经典图像处理图片
  • 📁 docs/ - 全书按照一下几个篇目进行编写
    • 📁 0_绪论/ - 全书绪论
    • 📁 1_理论篇/ - 基本理论和算法基础
    • 📁 2_实战篇/ - 项目实战教程
    • 📁 3_进阶篇/ - 最新CV模型和算法
    • 📁 附件/ - 所需数学和统计学知识
    • 📁 img/ - 各章节所使用的插图
  • 📁 models/ - 封装可用的预训练模型
  • 📁 notebooks/ - 🚩 全书 Colab notebook,可在线测试 Binder
    • 📁 chapter01_neural-networks/ - 第 1 章 - 神经网络 Jupyter Notebook 实现
    • 📁 chapter02_CNN/ - 第 2 章 - 卷积神经网络 Jupyter Notebook 实现
    • 📁 chapter03_Image-Classification - 第 3 章 - 图像分类 Jupyter Notebook 实现
    • 📁 chapter04_recurrent-neural-networks/ - 第 4 章 - 递归神经网络 Jupyter Notebook 实现
    • 📁 chapter05_graph-neural-network/ - 第 5 章 - 图神经网络 Jupyter Notebook 实现
    • 📁 chapter07_optimization/ - 第 6 章 - 模型拟合与优化算法 Jupyter Notebook 实现
    • 📁 chapter08_environment-setup-and-tool-use/ - 第 7 章 - 软件环境搭建与工具使用 Jupyter Notebook 实现
    • 📁 chapter09_convolutional-neural-networks/ - 第 8 章 - 经典神经网络架构:原理与PyTorch实现 Jupyter Notebook 实现
    • 📁 chapter12_practice-projects - 第 12 章 - 计算机视觉课题研究初探 Jupyter Notebook 实现
    • 📁 chapter13_Understanding-and-Visualizing/ - 第 13 章 - 可视化与理解卷积神经网络 Jupyter Notebook 实现
    • 📁 chapter14_GAN/ - 第 14 章 - 生成对抗模型 Jupyter Notebook 实现
    • 📁 chapter15_Transfer-Learning/ - 第 15 章 - 迁移学习 Jupyter Notebook 实现
    • Go for it!
    • 📁 chapter16_Attention/ - 第 16 章 - 注意力机制 Jupyter Notebook 实现
    • 📁 chapter17_Transformers/ - 第 17 章 - Transformers Jupyter Notebook 实现
    • ...
    • 📁 imgs/ - Jupyter Notebook 中用到的图片
    • 📁 docker/ - 为降低读者的学习成本,目前未进行搭建
    • 📁 res/ - ui 图片及全书思维导图PDF
    • 📄 README.md - 全书介绍及目录

Index

L0CV DemoDay

L0CV-Universe

如果你也是从这里出发,在开源的项目中应用进去,并在标题下给出引用 L0CV,您的项目将会在这里展现!

以用促学,先会后懂。理解深度学习的最佳方法是学以致用。

*《计算机视觉实战演练:算法与应用》V1.2 部分项目还在更新中


实战项目 章节 Binder Google Colab
实战项目 1 - 手写字分类 第 1 章 - 神经网络
实战项目 2 - 动手搭建一个卷积神经网络 第 2 章 - 卷积神经网络
实战项目 3 - 基于卷积神经网络的人脸表情识别 第 3 章 - 图像分类
实战项目 4 - 使用卷积神经网络对CIFAR10图片进行分类 第 3 章 - 图像分类
实战项目 5 - 使用OpenCV进行图像全景拼接 第 6 章 - 软件环境搭建与工具使用 Binder
实战项目 6 - Kaggle比赛:图像分类(CIFAR-10) 第 8 章 - 著名数据集及基准 Binder
实战项目 7 - Kaggle比赛:狗的品种识别(ImageNet Dogs) 第 8 章 - 著名数据集及基准 Binder
实战项目 8 - 基于PolarNet的点云端到端语义分割项目实战 第 9 章 - 检测与分割实战项目
实战项目 9 - 基于PyTorch的YOLO5目标检测项目实战 第 9 章 - 检测与分割实战项目
实战项目 10 - 实时高分辨率背景抠图 第 9 章 - 检测与分割实战项目
实战项目 11 - 车道线检测项目实战 第 10 章 - 计算机视觉课题研究初探
实战项目 12 - PyTorch 如何使用TensorBoard 第 13 章 - 可视化和理解
实战项目 13 - 图像样式迁移 第 14 章 生成对抗模型 Binder
实战项目 14 - 旧照片修复 第 14 章 - 生成对抗模型 Binder
实战项目 15 - 动漫头像生成 第 14 章 - 生成对抗模型 Binder
项目实战 16 - 视频理解项目实战 SlowFast + Multi-Moments in Time 第 16 章 - 视频理解 Binder
实战项目 17 - 蚂蚁和蜜蜂的分类问题 第 17 章 - 迁移学习 Binder
实战项目 18 - 基于Transformer的视频实例分割网络VisTR (CVPR2021) 第 19 章 - 跨界模型 Transformer
实战项目 19 - 支付宝CVPR细粒度视觉分类挑战赛夺冠方案解读 第 20 章 - 知识蒸馏
... ... ...

Index

🔑 如何食用

🔎 详细攻略展开

方式一 Jupyter Notebook (推荐方式 )

1. 本地运行

  • 依赖包安装
pip3 install -r requirements.txt
  • 安装 Jupyter
python3 -m pip install --upgrade pip
python3 -m pip install jupyter
  • 查看并运行jupyter

请在终端(Mac / Linux)或命令提示符(Windows)上运行以下命令:

cd notebooks
jupyter notesbook

2. 远程运行

  • 打开每章节首页,点击 可直接打开 Google Colab ,点击 Copy to Drive [Copy to Drive] 即可在线运行测试。

  • 点击 Binder 也可在 mybinder 查看和在线运行。

Run on Colab
图2 例子:12.3.3 样式迁移

点击 Copy to Drive
图3 例子:12.3.3 样式迁移 Colab 点击 Copy to Drive [Copy to Drive]

方式二 使用 /code

1. 运行环境 + L0CV 加载

  • 依赖包安装
sudo apt-get update
pip3 install -r requirements.txt
  • 创建 L0CV
python3 setup.py
  • 测试环境
cd code
python3 L0CV_test.py

2. 直接调用每个章节的代码测试

import L0CV

收起

每一小节都是可以运行的 Jupyter 记事本

你可以自由修改代码和超参数来获取及时反馈,从而积累深度学习的实战经验。

公式 + 图示 + 代码

我们不仅结合文字、公式和图示来阐明深度学习里常用的模型和算法,还提供代码来演示如何从零开始实现它们,并使用真实数据来提供一个交互式的学习体验。

Index

常见问题

  • 在线教程页面无法打开

    测试中存在部分人打不开在线教程的情况。

    部分小伙伴反馈尝试切换浏览器后可以正常打开了,如果仍然不行,最有效的解决办法是科学上网。

  • 无法加载图片的解决办法

    根本解决办法还是科学上网,也可以尝试修改host文件看下是否能解决。

    解决方案: 修改host文件 Apple Mac Win10 Windows

  • 公式无法正常显示解决办法

    GitHub中的Markdown原生是不支持LATEX公式显示的,如果你喜欢在本项目中直接浏览教程,可以安装Chrome的MathJax Plugin for Github插件让大部分公式正常显示。而docs文件夹已经利用docsify被部署到了GitHub Pages上,包含公式的章节强力建议使用 《计算机视觉实战演练:算法与应用》 在线阅读 进行学习。

    当然如果你还想跑一下运行相关代码的话还是得把本项目clone下来,然后运行code文件夹下相关代码。

  • Jupyter Notebook 无法在 GitHub 上呈现? 使用 nbviewerBinder

Index

致谢

迈微AI研习社 Made With ML    异步社区    奇虎360

Index

参考文献

感谢前人的杰出工作,我才得以写出此书。感谢 参考文献 中列出及未列出的,所有对此开源工作有帮助的前辈!

Index

LICENSE

Code License 知识共享许可协议

  • L0CV代码部分采用 Apache 2.0协议 进行许可,包括名为 L0CV 的原创第三方库、/code/notebook下的源代码。遵循许可的前提下,你可以自由地对代码进行修改,再发布,可以将代码用作商业用途。但要求你:

    • 署名:在原有代码和衍生代码中,保留原作者署名及代码来源信息。
    • 保留许可证:在原有代码和衍生代码中,保留Apache 2.0协议文件。
  • L0CV文档部分采用 知识共享署名 4.0 国际许可协议 进行许可。 遵循许可的前提下,你可以自由地共享,包括在任何媒介上以任何形式复制、发行本作品,亦可以自由地演绎、修改、转换或以本作品为基础进行二次创作。但要求你:

    • 署名:应在使用本文档的全部或部分内容时候,注明原作者及来源信息。
    • 非商业性使用:不得用于商业出版或其他任何带有商业性质的行为。如需商业使用,请联系作者。
    • 相同方式共享的条件:在本文档基础上演绎、修改的作品,应当继续以知识共享署名 4.0国际许可协议进行许可。

Index

👥 社区互助

如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。

  • 通过 GitHub Discuss 提问时,建议使用 Q&A 标签。

  • 通过 Stack Overflow 或者 Segment Fault 提问时,建议加上 L0CV 标签。

  • Segment Fault 微信、知乎、微博开话题可以生成tag,如微信聊天、朋友圈加 #L0CV 可话题交流。

  • L0CV 读者微信交流群 (加我微信Yida_Zhang2,备注:L0CV-高校/企业-称呼)

Index

💖 Support this project

Donating to help me continue working on this project. I'm appreciate all you in backer list. BuymeaCoffee

Buy Me A Coffee

CONTRIBUTION

作者会尽最大努力来确保书中内容的准确性,但难免会存在疏漏与不妥之处。欢迎您将发现的问题反馈给我们,帮助提升本开放资源的质量。

Help us make these docs great!

All VC-action docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.

Index

Citation

Use this bibtex to cite this repository:

@misc{computer-vision-in-action,
  title={计算机视觉实战演练:算法与应用(Computer Vision in Action)},
  author={Charmve},
  year={2021.06},
  publisher={Github},
  journal={GitHub repository},
  howpublished={\url{https://github.com/Charmve/computer-vision-in-action}},
}

Index

Stargazers Over Time

Awesome! Charmve/computer-vision-in-action was created 2 months ago and now has 1546 stars.

Stargazers over time


Go for it!

Feel free to ask any questions, open a PR if you feel something can be done differently!

🌟 Star this repository 🌟

Created by Charmve & maiwei.ai Community | Deployed on GitHub Page

More Repositories

1

Surface-Defect-Detection

📈 目前最大的工业缺陷检测数据库及论文集 Constantly summarizing open source dataset and critical papers in the field of surface defect research which are of great importance.
Python
2,698
star
2

BLE-Security-Attack-Defence

✨ Purpose only! The dangers of Bluetooth Low Energy(BLE)implementations: Unveiling zero day vulnerabilities and security flaws in modern Bluetooth LE stacks.
Python
264
star
3

CppMaster

C++ Master Learning Roadmap, especially for AIoT and C++ advanced SWE
C++
262
star
4

Practicum4ECE

「一名普通电子信息本科生的项目实践管理」将大学阶段的实训内容,按照专业课程设计(包括上机实验、课程设计、下学年的毕业设计等)、竞赛项目、科创项目、小型编程项目这四个门类进行整理汇总。
C
113
star
5

LeetCode4FLAG

🔥 🔥 High frequent interview LeetCode 100 for FaceBook,Linkedin,Amazon,Google,Microsoft. More importantly, the problems' solutions are provided,include C++, Python and Java.
C++
110
star
6

VOGUE-Try-On

Personal repository for "VOGUE: Try-On by StyleGAN Interpolation Optimization" (CVPR 2021). SOTA results for garments to deform according to the given body shape, while preserving pattern and material details.
HTML
89
star
7

OpenCC

Automatic driving long tail / corner cases scenarios dataset (Anomaly detection)
87
star
8

awesome-scene-text-detection

Tracking the latest progress in Scene Text Detection and Recognition: Must-read papers well organized with code and dataset
75
star
9

OccNet-Course

国内首个占据栅格网络全栈课程《从BEV到Occupancy Network,算法原理与工程实践》,包含端侧部署。Surrounding Semantic Occupancy Perception Course for Autonomous Driving (docs, ppt and source code) 课程主页:http://111.229.117.200:7001/
Python
75
star
10

Mirror-Glass-Detection

🍸 Mirror & Glass Detection in Real-world Scenes
Python
72
star
11

PaperWeeklyAI

📚「@MaiweiAI」Studying papers in the fields of computer vision, NLP, and machine learning algorithms every week.
Jupyter Notebook
63
star
12

OpenCS-Courses

🎓 Path to a free self-taught education in Computer Science!
58
star
13

Awesome-Lane-Detection

A paper list with code of lane detection.
Python
52
star
14

Semantic-Segmentation-PyTorch

PyTorch implementation for Semantic Segmentation, include FCN, U-Net, SegNet, GCN, PSPNet, Deeplabv3, Deeplabv3+, Mask R-CNN, DUC, GoogleNet, and more dataset
Python
48
star
15

autopilot-perception

End to End Autopilot Perception Playbook
HTML
46
star
16

iQuant

HTML
40
star
17

LightCube

A Design of 3D Dynamic Display System Based on Voice Control. ✨ Purpose only! Copyright and commercial use rights are received.
C
40
star
18

Charmve

🤡 About Me.
Python
38
star
19

PyStegosploit

PoC - Exploit Delivery via Steganography and Polyglots, CVE-2014-0282
HTML
37
star
20

transparent-object-segmentation

💎 Transparent objects such as windows and bottles made by glass widely exist in the real world. Segmenting transparent objects is challenging because these objects have diverse appearance inherited from the image background, making them had similar appearance with their surroundings.
32
star
21

TimeWarp

🐶 「Updating ...」Replacing Real-Time the High-Resolution Meeting Background Freely
Python
29
star
22

StegaStamp-plus

Improved the original repo, 'Invisible Hyperlinks in Physical Photographs', embedded with longer string than the original
Jupyter Notebook
25
star
23

SNE-RoadSeg2

🌱 SNE-RoadSeg in PyTorch, ECCV 2020 by Rui (Ranger) Fan & Hengli Wang, but now we have improved it.
Python
24
star
24

AccANN

🐆 A compiler from AI model to RTL (Verilog) accelerator in FPGA hardware with auto design space exploration for *AdderNet*
15
star
25

AR-DAO

AR-DAO,A decentralized autonomous organization (DAO) that enables users to forge NFTs through augmented reality (AR) and participate in various gaming and social activities. 一个让用户通过增强现实(AR)铸造NFT并参与不同游戏等社交活动的去中心化自治组织(DAO)https://github.com/Charmve/AR-DAO/wiki
JavaScript
14
star
26

gpt-eyes

I GAVE GPT-4 EYES!
JavaScript
10
star
27

EmotionCube

🐾 EmotionCube: An intelligent companion robot is designed based on expression recognition and intelligent speech.
C
9
star
28

Charmve.github.io

I'm here! 👋 Personal Home Page 🐶
HTML
8
star
29

steganography.js

Hide secret messages with JavaScript with steganography.js
JavaScript
5
star
30

PuppyGo

vision language model and large language model powered embodied robot
5
star
31

NotOnlyPaper

PaperEasy = arXiv + code + video + tutorial + Colab/demo
JavaScript
5
star
32

AlphaFold-baseline

This package provides an basic implementation of the contact prediction network used in AlphaFold 1 for beginner, associated model weights and CASP13 dataset as used for CASP13 (2018) and published in Nature
Python
4
star
33

mapless-course

No HDMap, Only Vision Perception
4
star
34

Bluetooth-Location_2D

indoor position based-on Bluetooth low energy in 2d space
Java
3
star
35

B1ueB0y-BLE-Fuzzing

An awesome toolkit for testing the BLE device, chip and Protocol stack
2
star
36

jsFlow

🏄 A Lightweight Web Browser-based Machine Learning Framework
CSS
2
star
37

LocalPay

非接触式离线支持方案
1
star
38

NumPyCNN

Building Convolutional Neural Networks From Scratch using NumPy
Python
1
star
39

Less-is-More

🌈 Art of README in GitHub, #Less is More#.
1
star
40

ScenesGen

自动驾驶算法系列课程之《场景数据生成》
1
star
41

weather-app

SCSS
1
star
42

Wind-Pendulum-Controlling-System

2015年风力摆控制系统赛题(B题)解析+源代码开源 A Wind Pendulum Controlling System
1
star
43

SimElectronicGun

基于视觉感知的模拟电磁曲射炮 (2019年全国大学生电子设计竞赛H题) 全国二等奖作品
C
1
star
44

qbot_pro

Jupyter Notebook
1
star