Git Product home page Git Product logo

carnd-object-detection-lab's Introduction

CarND Object Detection Lab

In lab this you will:

  • Learn about MobileNets and separable depthwise convolutions.
  • The SSD (Single Shot Detection) architecture used for object detection
  • Use pretrained TensorFlow object detection inference models to detect objects
  • Use different architectures and weigh the tradeoffs.
  • Apply an object detection pipeline to a video.

Open the notebook and work through it!

Requirements

Install environment with Anaconda:

conda env create -f environment.yml

Change TensorFlow pip installation from tensorflow-gpu to tensorflow if you don't have a GPU available.

The environment should be listed via conda info --envs:

# conda environments:
#
carnd-advdl-odlab        /usr/local/anaconda3/envs/carnd-advdl-odlab
root                  *  /usr/local/anaconda3

Further documentation on working with Anaconda environments.

Particularly useful sections:

https://conda.io/docs/using/envs.html#change-environments-activate-deactivate https://conda.io/docs/using/envs.html#remove-an-environment

Resources

Tips

  • Some windows users have reported the driving video as playable only in Jupyter Notebook operating in Chrome browser, and not in media player or Jupyter Notebook operating in other browsers. In contrast the post-segmentation video appears to be operating across players and browsers.

carnd-object-detection-lab's People

Contributors

baumanab avatar domluna avatar kchbpy avatar mvirgo avatar schneiderl avatar sudkul avatar uanjali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carnd-object-detection-lab's Issues

computation cost is wrong

Instead of Df * Df * M * N * Dk * Dk, it should be Dg * Dg * M * N * Dk * Dk with Dg replacing Df.

Same applies to depthwise and pointwise convolution.

Anaconda build fail

conda env create -f environment.yml

`Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Package python conflicts for:
imageio==2.1.2 -> numpy -> mkl-service[version='>=2,<3.0a0'] -> six -> python[version='3.4.|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
imageio==2.1.2 -> numpy -> python[version='>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0']
python==3.6
imageio==2.1.2 -> python[version='2.7.
|3.5.|3.6.']
jupyter -> ipykernel -> tornado[version='>=4.0'] -> certifi -> python=3.4
matplotlib -> cycler[version='>=0.10'] -> python[version='2.7.|3.5.|3.6.|<3']
jupyter -> ipywidgets -> nbformat[version='>=4.2.0'] -> jsonschema[version='>=2.0,!=2.5.0'] -> functools32 -> python[version='<3']
numpy -> python[version='2.7.
|3.4.|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
pillow -> python[version='2.7.
|3.4.|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
matplotlib -> cycler[version='>=0.10'] -> six -> python=3.4
imageio==2.1.2 -> pillow -> olefile -> python
pip -> python[version='2.7.
|3.4.|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
pillow -> olefile -> python
jupyter -> python[version='2.7.
|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
scipy -> python[version='2.7.|3.4.|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']
Package gtk2 conflicts for:
jupyter -> qtconsole -> pyqt[version='>=5.9.2,<5.10.0a0'] -> qt[version='>=4.8.6,<5.0'] -> gtk2
matplotlib -> pyqt -> qt[version='>=4.8.6,<5.0'] -> gtk2
Package tk conflicts for:
scipy -> python[version='>=3.6,<3.7.0a0'] -> tk[version='8.5.|8.6.|>=8.6.10,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
pillow -> tk[version='8.6.|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
matplotlib -> tk[version='8.6.
|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0']
jupyter -> python[version='>=2.7,<2.8.0a0'] -> tk[version='8.6.|>=8.6.10,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
matplotlib -> python[version='>=3.7,<3.8.0a0'] -> tk[version='>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0']
pillow -> python[version='>=2.7,<2.8.0a0'] -> tk[version='8.5.
|>=8.6.10,<8.7.0a0']
python==3.6 -> tk=8.5
imageio==2.1.2 -> pillow -> tk[version='8.5.|8.6.|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
pip -> python=3.5 -> tk[version='8.5.|8.6.|>=8.6.10,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
numpy -> python[version='>=3.5,<3.6.0a0'] -> tk[version='8.5.|8.6.|>=8.6.10,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
Package readline conflicts for:
pillow -> python[version='>=2.7,<2.8.0a0'] -> readline[version='6.2.|7.|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
jupyter -> python[version='>=2.7,<2.8.0a0'] -> readline[version='7.
|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
matplotlib -> python[version='>=3.7,<3.8.0a0'] -> readline[version='7.
|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
pip -> python=3.5 -> readline[version='6.2.
|7.|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
imageio==2.1.2 -> python=3.6 -> readline[version='6.2.|7.|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
scipy -> python[version='>=3.6,<3.7.0a0'] -> readline[version='6.2.
|7.|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
numpy -> python[version='>=3.5,<3.6.0a0'] -> readline[version='6.2.|7.|7.0.|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
python==3.6 -> readline=6.2
Package atk conflicts for:
matplotlib -> pyqt -> qt[version='>=4.8.6,<5.0'] -> gtk2 -> atk[version='>=2.32.0,<3.0a0']
jupyter -> qtconsole -> pyqt[version='>=5.9.2,<5.10.0a0'] -> qt[version='>=4.8.6,<5.0'] -> gtk2 -> atk[version='>=2.32.0,<3.0a0']
Package ipython conflicts for:
jupyter -> ipykernel -> ipython[version='>=4.0|>=4.0.0|>=5.0']
Package sqlite conflicts for:
pillow -> python[version='>=2.7,<2.8.0a0'] -> sqlite[version='3.13.
|3.20.|3.9.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
pip -> python=3.5 -> sqlite[version='3.13.|3.20.|3.9.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
numpy -> python[version='>=3.5,<3.6.0a0'] -> sqlite[version='3.13.
|3.20.|3.9.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
imageio==2.1.2 -> python=3.6 -> sqlite[version='3.13.|3.20.|3.9.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
jupyter -> python[version='>=2.7,<2.8.0a0'] -> sqlite[version='3.20.
|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
matplotlib -> python[version='>=3.7,<3.8.0a0'] -> sqlite[version='3.20.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
scipy -> python[version='>=3.6,<3.7.0a0'] -> sqlite[version='3.13.
|3.20.|3.9.|>=3.20.1,<4.0a0|>=3.22.0,<4.0a0|>=3.23.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
python==3.6 -> sqlite=3.13
Package python-dateutil conflicts for:
jupyter -> jupyter_console -> prompt_toolkit[version='>=1.0.0,<2.0.0'] -> python-dateutil[version='>=2.1']
matplotlib -> python-dateutil
`

regarding scale and aspect ratio in SSD

In SSD ,the author mentions usage of aspect ration and scale. Would it be possible to add some notes that clarify the role these parameters play in determining the actual bounding box

TensorFlow Object Detection Model Zoo not available anymore

Good day -

The previous link to TensorFlow object detection model zoo is not available anymore.

It seems that at the beginning of July TensorFlow released the model garden, where can be found two object detection zoos, one for TF V1 and one for V2. Links should be updated.

Thanks, and regards,

M. Russo

AttributeError: 'NoneType' object has no attribute 'shape'


AttributeError Traceback (most recent call last)
in
5 detection_classes = sess.graph.get_tensor_by_name('detection_classes:0')
6
----> 7 new_clip = clip.fl_image(pipeline)
8
9 # write to file

~/anaconda3/lib/python3.6/site-packages/moviepy/video/VideoClip.py in fl_image(self, image_func, apply_to)
512 if apply_to is None:
513 apply_to = []
--> 514 return self.fl(lambda gf, t: image_func(gf(t)), apply_to)
515
516 # --------------------------------------------------------------

~/anaconda3/lib/python3.6/site-packages/moviepy/Clip.py in fl(self, fun, apply_to, keep_duration)
135
136 #mf = copy(self.make_frame)
--> 137 newclip = self.set_make_frame(lambda t: fun(self.get_frame, t))
138
139 if not keep_duration:

in set_make_frame(self, mf)

~/anaconda3/lib/python3.6/site-packages/moviepy/decorators.py in outplace(f, clip, *a, **k)
12 """ Applies f(clip.copy(), *a, **k) and returns clip.copy()"""
13 newclip = clip.copy()
---> 14 f(newclip, *a, **k)
15 return newclip
16

~/anaconda3/lib/python3.6/site-packages/moviepy/video/VideoClip.py in set_make_frame(self, mf)
667 """
668 self.make_frame = mf
--> 669 self.size = self.get_frame(0).shape[:2][::-1]
670
671 @outplace

AttributeError: 'NoneType' object has no attribute 'shape'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.