Skip to content

Commit

Permalink
Add object detection demonstration
Browse files Browse the repository at this point in the history
  • Loading branch information
hakan-demirli committed Apr 3, 2022
1 parent 8edeacf commit b752cc8
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 0 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ FQ-Control-Center HPS software consists of 3 main parts:

## **Camera Unit**
Camera unit detects people by using deep neural networks and tracks them. It records the statistics of human traffic.
<p align="center">
<img src="./doc/images/object_detection.gif" />
</p>

Object detection part of the software use Mobilenet Single Shot Multibox detector. MobileNet SSDs are small and have a low-latency. In this project I have chosen ssd_mobilenet_v1_0.75_depth_300x300_coco14_sync_2018_07_03 model. It has a decent mAP and more importantly it is fast.

Expand Down Expand Up @@ -151,6 +154,9 @@ Requirements:
- **Why did not you use Tensorflow or Pytorch for DNN inference. Why OpenCV?**
I haven't tried pytorch. Tensorflow was slower than OpenCV.

- **I have another question/problem?**
First check doc folder. If you still have a problem open an issue.

# FPGA
## System Overview

Expand Down Expand Up @@ -209,6 +215,8 @@ Testbench of the design is located in the bench folder. You can directly run it

- **Why don't you directly read obtained data from Subservient via debug interface?**
There is a read problem in the debug interface. wb_rdt signal is stuck at the some value that is referenced by Subservient right before debug enable is set. I am sure the reason is something trivial but I neither have time nor motivation to debug and solve it. Hence, as a dirty workaround I have added shared memory section and redirected read operations to there.
- **I have another question/problem?**
First check doc folder. If you still have a problem open an issue.

# Credits and Resources
* https://github.com/zangman/de10-nano
Expand Down
Binary file added doc/images/object_detection.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
108 changes: 108 additions & 0 deletions doc/install_opencv_arm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################

# -------------------------------------------------------------------- |
# SCRIPT OPTIONS |
# ---------------------------------------------------------------------|
OPENCV_VERSION='4.2.0' # Version to be installed
OPENCV_CONTRIB='YES' # Install OpenCV's extra modules (YES/NO)
# -------------------------------------------------------------------- |

# | THIS SCRIPT IS TESTED CORRECTLY ON |
# |------------------------------------------------------|
# | OS | OpenCV | Test | Last test |
# |------------------|--------------|------|-------------|
# | Ubuntu 20.04 LTS | OpenCV 4.5.1 | OK | 27 Mar 2021 |
# |----------------------------------------------------- |
# | Ubuntu 20.04 LTS | OpenCV 4.2.0 | OK | 25 Apr 2020 |
# |----------------------------------------------------- |
# | Debian 10.2 | OpenCV 4.2.0 | OK | 26 Dec 2019 |
# |----------------------------------------------------- |
# | Debian 10.1 | OpenCV 4.1.1 | OK | 28 Sep 2019 |
# |----------------------------------------------------- |
# | Ubuntu 18.04 LTS | OpenCV 4.1.0 | OK | 22 Jun 2019 |
# | Debian 9.9 | OpenCV 4.1.0 | OK | 22 Jun 2019 |
# |----------------------------------------------------- |
# | Ubuntu 18.04 LTS | OpenCV 3.4.2 | OK | 18 Jul 2018 |
# | Debian 9.5 | OpenCV 3.4.2 | OK | 18 Jul 2018 |



# 1. KEEP UBUNTU OR DEBIAN UP TO DATE

sudo apt-get -y update
# sudo apt-get -y upgrade # Uncomment to install new versions of packages currently installed
# sudo apt-get -y dist-upgrade # Uncomment to handle changing dependencies with new vers. of pack.
# sudo apt-get -y autoremove # Uncomment to remove packages that are now no longer needed


# 2. INSTALL THE DEPENDENCIES

# Build tools:
sudo apt-get install -y build-essential cmake

# GUI (if you want GTK, change 'qt5-default' to 'libgtkglext1-dev' and remove '-DWITH_QT=ON'):
sudo apt-get install -y qt5-default libvtk6-dev

# Media I/O:
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev \
libopenexr-dev libgdal-dev

# Video I/O:
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev \
libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm \
libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev

# Parallelism and linear algebra libraries:
sudo apt-get install -y libtbb-dev libeigen3-dev

# Python:
sudo apt-get install -y python-dev python-tk pylint python-numpy \
python3-dev python3-tk pylint3 python3-numpy flake8

# Java:
sudo apt-get install -y ant default-jdk

# Documentation and other:
sudo apt-get install -y doxygen unzip wget


# 3. INSTALL THE LIBRARY

wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv-${OPENCV_VERSION} OpenCV

if [ $OPENCV_CONTRIB = 'YES' ]; then
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv_contrib-${OPENCV_VERSION} opencv_contrib
mv opencv_contrib OpenCV
fi

cd OpenCV && mkdir build && cd build


if [ $OPENCV_CONTRIB = 'YES' ]; then
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D BUILD_EXAMPLES=OFF \
-D CMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake \
-D WITH_TBB=ON \
-D CMAKE_INSTALL_PREFIX=../install \
-D BUILD_TBB=ON ..
fi

make -j8
sudo make install
sudo ldconfig


# 4. EXECUTE SOME OPENCV EXAMPLES AND COMPILE A DEMONSTRATION

# To complete this step, please visit 'http://milq.github.io/install-opencv-ubuntu-debian'.

0 comments on commit b752cc8

Please sign in to comment.