Introduction to Augmented Reality (AR) with Python 3 and OpenCV 4.2.

Overview

Augmented Reality 101

The development of areas such as computer vision, image processing, and computer graphics, allow the introduction of technologies such as Augmented Reality.

Azuma defines Augmented Reality as "a technology that adds computer-generated virtual content to real-world views through devices".

Introduction

The purpose of these map is to give you an idea about Augmented Reality and to guide you through the main features that surround this technology.

augmented reality by mafda

Read complete post in AR 101 — Augmented Reality.

Definition and basic features

augmented reality by mafda

Read complete post in AR 101 — A brief summary (Part 1).

Horizontal and vertical trends

augmented reality by mafda

Read complete post in AR 101 — Augmented Reality Trends (Part 2).

Basic process and main components

augmented reality by mafda

Read complete post in AR 101 — Components of the Augmented Reality System (Part 3).

Augmented Reality Application

In this repository, I want to present a basic implementation that projects on the screen a 3D model aligned (orientation and translation) to a predefined flat surface.

However, currently the industry is investing in different frameworks as ARCore, ARKit, and Vuforia, among others, which provide the community more accessible technologies with more realistic results and experiences.

The repository has two parts:

  1. Image is the implementation, step by step, with some basic definitions, to add a 3D model to a flat image.
  2. Video is the implementation to have the experience in real-time through a camera.

Instalation

git clone [email protected]:mafda/augmented_reality_101.git

Environment

The tools we will use are Python 3 and OpenCV 4.2.

  1. Create virtual environment:
python -m venv /path/to/new/virtual/environment
  1. Activate environment:
source /path/to/new/virtual/environment/bin/activate
  1. Install requirements.txt file:
pip install -r requirements.txt
  1. For Image
python -m jupyter notebook
  1. For Video
python ar_python3_opencv4.py

Model 3D

Results

augmented reality python3 opencv2

Repository References

Map References

  • Azuma, R. T. (1997). A survey of augmented reality. Presence: Teleoper. Virtual Environ., 6(4):355–385. Paper

  • Chatzopoulos, D., Bermejo, C., Huang, Z., and Hui, P. (2017). Mobile augmented reality survey: From where we are to where we go. IEEE Access, 5:6917–6950. Paper

  • Craig, A. (2013). Understanding Augmented Reality: Concepts and Applications. Elsevier Science, 1 edition. Book

  • Fleck, P., Arth, C., Pirchheim, C., and Schmalstieg, D. (2015). Tracking and mapping with a swarm of heterogeneous clients. In 2015 IEEE International Symposium on Mixed and Augmented Reality, pages 136–139. Paper

  • Huang, Z., Hui, P., Peylo, C., and Chatzopoulos, D. (2013). Mobile augmented reality survey: a bottom-up approach. CoRR. Paper

  • Lehiani, Y., Maidi, M., Preda, M., and Ghorbel, F. (2015). Object identification and tracking for steady registration in mobile augmented reality. In 2015 IEEE International Conference on Signal and Image Processing Applications (ICSIPA), pages 54–59. Paper

  • Ling, H. (2017). Augmented reality in reality. IEEE MultiMedia, 24(3):10–15. Paper

  • Papagiannis, H. (2017). Augmented Human: How Technology Is Shaping the New Reality. O’Reilly Media. Book

  • Peddie, J. (2017). Augmented Reality: Where We Will All Live. Springer International Publishing. Book

  • Roberto, R., Lima, J. P., and Teichrieb, V. (2016). Tracking for mobile devices: A systematic mapping study. Computers & Graphics, 56:20 – 30. Paper


made with 💙 by mafda

Owner
fernanda rodríguez
multimedia engineer. data scientist. front-end dev. phd candidate: augmented reality + machine learning.
fernanda rodríguez
Extract tables from scanned image PDFs using Optical Character Recognition.

ocr-table This project aims to extract tables from scanned image PDFs using Optical Character Recognition. Install Requirements Tesseract OCR sudo apt

Abhijeet Singh 209 Dec 06, 2022
Aloception is a set of package for computer vision: aloscene, alodataset, alonet.

Aloception is a set of package for computer vision: aloscene, alodataset, alonet.

Visual Behavior 86 Dec 28, 2022
Handwritten_Text_Recognition

Deep Learning framework for Line-level Handwritten Text Recognition Short presentation of our project Introduction Installation 2.a Install conda envi

24 Jul 15, 2022
Toolbox for OCR post-correction

Ochre Ochre is a toolbox for OCR post-correction. Please note that this software is experimental and very much a work in progress! Overview of OCR pos

National Library of the Netherlands / Research 117 Nov 10, 2022
Text Detection from images using OpenCV

EAST Detector for Text Detection OpenCV’s EAST(Efficient and Accurate Scene Text Detection ) text detector is a deep learning model, based on a novel

Abhishek Singh 88 Oct 20, 2022
A Python wrapper for Google Tesseract

Python Tesseract Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and "read" the text embedded i

Matthias A Lee 4.6k Jan 06, 2023
Lightning Fast Language Prediction 🚀

whatthelang Lightning Fast Language Prediction 🚀 Dependencies The dependencies can be installed using the requirements.txt file: $ pip install -r req

Indix 152 Oct 16, 2022
A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well

ocrserver Simple OCR server, as a small working sample for gosseract. Try now here https://ocr-example.herokuapp.com/, and deploy your own now. Deploy

Hiromu OCHIAI 541 Dec 28, 2022
Handwritten Text Recognition (HTR) using TensorFlow 2.x

Handwritten Text Recognition (HTR) system implemented using TensorFlow 2.x and trained on the Bentham/IAM/Rimes/Saint Gall/Washington offline HTR data

Arthur Flôr 160 Dec 21, 2022
Text page dewarping using a "cubic sheet" model

page_dewarp Page dewarping and thresholding using a "cubic sheet" model - see full writeup at https://mzucker.github.io/2016/08/15/page-dewarping.html

Matt Zucker 1.2k Dec 29, 2022
Official implementation of "An Image is Worth 16x16 Words, What is a Video Worth?" (2021 paper)

An Image is Worth 16x16 Words, What is a Video Worth? paper Official PyTorch Implementation Gilad Sharir, Asaf Noy, Lihi Zelnik-Manor DAMO Academy, Al

213 Nov 12, 2022
Steve Tu 71 Dec 30, 2022
Official code for "Bridging Video-text Retrieval with Multiple Choice Questions", CVPR 2022 (Oral).

Bridging Video-text Retrieval with Multiple Choice Questions, CVPR 2022 (Oral) Paper | Project Page | Pre-trained Model | CLIP-Initialized Pre-trained

Applied Research Center (ARC), Tencent PCG 99 Jan 06, 2023
CNN+Attention+Seq2Seq

Attention_OCR CNN+Attention+Seq2Seq The model and its tensor transformation are shown in the figure below It is necessary ch_ train and ch_ test the p

Tsukinousag1 2 Jul 14, 2022
A toolbox of scene text detection and recognition

FudanOCR This toolbox contains the implementations of the following papers: Scene Text Telescope: Text-Focused Scene Image Super-Resolution [Chen et a

FudanVIC Team 170 Dec 26, 2022
Awesome anomaly detection in medical images

A curated list of awesome anomaly detection works in medical imaging, inspired by the other awesome-* initiatives.

Kang Zhou 57 Dec 19, 2022
RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition

RepMLP RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition Released the code of RepMLP together with an example o

260 Jan 03, 2023
Just a script for detecting the lanes in any car game (not just gta 5) with specific resolution and road design ( very basic and limited )

GTA-5-Lane-detection Just a script for detecting the lanes in any car game (not just gta 5) with specific resolution and road design ( very basic and

Danciu Georgian 4 Aug 01, 2021
Driver Drowsiness Detection with OpenCV & Dlib

In this project, we have built a driver drowsiness detection system that will detect if the eyes of the driver are close for too long and infer if the driver is sleepy or inactive.

Mansi Mishra 4 Oct 26, 2022