Skip to content

Commit

Permalink
Merge pull request #2 from brian-intel/release-candidate
Browse files Browse the repository at this point in the history
feat: Release Candidate 1.0
  • Loading branch information
brian-intel authored Apr 14, 2023
2 parents dc6f26e + d6cac6d commit 9bdb23a
Show file tree
Hide file tree
Showing 91 changed files with 10,536 additions and 2 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.cl-cache
**/__pycache__
.vscode
results/*
74 changes: 74 additions & 0 deletions Dockerfile.dgpu
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#
# Copyright (C) 2023 Intel Corporation.
#
# SPDX-License-Identifier: BSD-3-Clause
#

FROM intel/dlstreamer:2022.3.0-ubuntu22-gpu555

USER root

RUN if [ -n "$HTTP_PROXY" ] ; then echo "Acquire::http::Proxy \"$HTTP_PROXY\";" > /etc/apt/apt.conf; fi
RUN apt-get update -y || true; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
autoconf \
git \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
pkg-config \
libgtk-3-dev \
libglfw3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
nasm \
ninja-build \
cmake \
python3 \
python3-pip \
meson \
flex \
bison && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Upgrade meson as the gstreamer needs later version
RUN echo "upgrading meson to the latest version..." && pip3 install --user meson --upgrade

# Install realsense
RUN mkdir -p /rs && cd /rs && git clone https://github.com/gwen2018/librealsense.git
RUN cd /rs/librealsense && \
git checkout stream_d436_b
COPY ./patch/libusb.h /rs/librealsense/src/libusb/libusb.h
#./scripts/setup_udev_rules.sh && \
RUN cd /rs/librealsense && mkdir build && \
cd build/ && \
cmake ../ \
-DBUILD_SHARED_LIBS=true \
-DBUILD_WITH_JPEGTURBO=true \
-DBUILD_PYTHON_BINDINGS:bool=true \
-DBUILD_WITH_CUDA=false \
-DFORCE_RSUSB_BACKEND=false \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_GLSL_EXTENSIONS=false \
-DBUILD_WITH_CPU_EXTENSIONS=true \
-DBUILD_UNIT_TESTS=false \
-DBUILD_GRAPHICAL_EXAMPLES=false \
-DCMAKE_BUILD_TYPE=Release && \
make -j$(cat /proc/cpuinfo |grep -c proc) && \
make install && \
export PYTHONPATH="$PYTHONPATH":/usr/lib/python3/dist-packages/pyrealsense2 && \
python3 -c "import pyrealsense2 as rs; print(rs)"
RUN mv /rs/librealsense/build/libjpeg-turbo/lib/libturbojpeg.so* /usr/local/lib
# # Build gst realsense element. Use github version once pull request is accepted with bug fixes
RUN cd /rs && git clone https://github.com/brian-intel/realsense-gstreamer
RUN cd /rs/realsense-gstreamer && \
/usr/bin/meson setup build && ninja -C build
RUN cd /rs/realsense-gstreamer && /usr/bin/meson . build && ninja -C build
RUN cp /rs/realsense-gstreamer/build/src/libgstrealsense_meta.so /opt/intel/dlstreamer/gstreamer/lib/ && \
cp /rs/realsense-gstreamer/build/src/libgstrealsensesrc.so /opt/intel/dlstreamer/gstreamer/lib/gstreamer-1.0 && \
cp /usr/local/lib/libturbojpeg.so* /opt/intel/dlstreamer/gstreamer/lib/
#RUN gst-inspect-1.0 realsensesrc

COPY ./requirements.txt /requirements.txt
RUN pip3 install --upgrade pip --no-cache-dir -r /requirements.txt
107 changes: 107 additions & 0 deletions Dockerfile.dgpu-dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#
# Copyright (C) 2023 Intel Corporation.
#
# SPDX-License-Identifier: BSD-3-Clause
#

FROM intel/dlstreamer:2022.3.0-ubuntu22-gpu555-dpcpp-devel as dls_gpu419-43-RC2_build
USER root
WORKDIR /dlstreamersrc
COPY frameworks.ai.dlstreamer.pipeline-framework-2022.2.1-gpu419.43-RC2/ .
RUN mkdir -p build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dlstreamer ..; make --jobs=$(nproc --all) install

FROM intel/dlstreamer:2022.3.0-ubuntu22-gpu555-dpcpp-devel as optional_fw_build
COPY --from=dls_gpu419-43-RC2_build /opt/intel/dlstreamer /opt/intel/dlstreamer
USER root
RUN if [ ! -z "$HTTP_PROXY" ] ; then echo "Acquire::http::Proxy \"$HTTP_PROXY\";" > /etc/apt/apt.conf; fi
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
build-essential \
autoconf \
git \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
pkg-config \
libgtk-3-dev \
libglfw3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
nasm \
ninja-build \
cmake \
python3 \
python3-pip \
meson && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*


# Install latest OpenVINO - 2022.3.0.dev20221125 pre-release
# Note about pre-release
# NOTE: This version is pre-release software and has not undergone full release validation or qualification. No support is offered on pre-release software and APIs/behavior are subject to change. It should NOT be incorporated into any production software/solution and instead should be used only for early testing and integration while awaiting a final release version of this software.
#
WORKDIR /tmp
#RUN wget https://github.com/openvinotoolkit/openvino/archive/refs/tags/2022.3.0.dev20221125.zip; unzip 2022.3.0.dev20221125.zip
RUN git clone https://github.com/openvinotoolkit/openvino.git; cd openvino; git checkout 2022.3.0.dev20221125; git submodule update --init --recursive
RUN cd openvino; chmod +x install_build_dependencies.sh; ./install_build_dependencies.sh
RUN cd openvino; mkdir build && cd build; cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/intel/openvino_2022 -DCMAKE_BUILD_TYPE=Release ..; make --jobs=$(nproc --all); make install


#FROM intel/dlstreamer:2022.2.0-ubuntu20-gpu419.40
USER root
RUN if [ ! -z "$HTTP_PROXY" ] ; then echo "Acquire::http::Proxy \"$HTTP_PROXY\";" > /etc/apt/apt.conf; fi
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
build-essential \
autoconf \
git \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
pkg-config \
libgtk-3-dev \
libglfw3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
nasm \
ninja-build \
cmake \
python3 \
python3-pip \
meson && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Install realsense
RUN mkdir -p /rs && cd /rs && git clone https://github.com/gwen2018/librealsense.git
RUN cd /rs/librealsense && \
git checkout stream_d436_b && \
#./scripts/setup_udev_rules.sh && \
mkdir build && \
cd build/ && \
cmake ../ \
-DBUILD_SHARED_LIBS=true \
-DBUILD_WITH_JPEGTURBO=true \
-DBUILD_PYTHON_BINDINGS:bool=true \
-DBUILD_WITH_CUDA=false \
-DFORCE_RSUSB_BACKEND=false \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_GLSL_EXTENSIONS=false \
-DBUILD_WITH_CPU_EXTENSIONS=true \
-DBUILD_UNIT_TESTS=false \
-DBUILD_GRAPHICAL_EXAMPLES=false \
-DCMAKE_BUILD_TYPE=Release && \
make -j$(cat /proc/cpuinfo |grep proc |wc -l) && \
make install
#export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/pyrealsense2 && \
#python3 -c "import pyrealsense2 as rs; print(rs)"
RUN mv /rs/librealsense/build/libjpeg-turbo/lib/libturbojpeg.so* /usr/local/lib
# Build gst realsense element. Use github version once pull request is accepted with bug fixes
RUN cd /rs && git clone https://github.com/brian-intel/realsense-gstreamer
RUN cd /rs/realsense-gstreamer && /usr/bin/meson . build && ninja -C build
RUN cp /rs/realsense-gstreamer/build/src/libgstrealsense_meta.so /opt/intel/dlstreamer/gstreamer/lib/
RUN cp /rs/realsense-gstreamer/build/src/libgstrealsensesrc.so /opt/intel/dlstreamer/gstreamer/lib/gstreamer-1.0
RUN cp /usr/local/lib/libturbojpeg.so* /opt/intel/dlstreamer/gstreamer/lib/
#RUN gst-inspect-1.0 realsensesrc

COPY ./requirements.txt /requirements.txt
RUN pip3 install --upgrade pip --no-cache-dir -r /requirements.txt
34 changes: 34 additions & 0 deletions Dockerfile.igt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#
# Copyright (C) 2023 Intel Corporation.
#
# SPDX-License-Identifier: BSD-3-Clause
#


FROM ubuntu:20.04
RUN if [ -n "$HTTP_PROXY" ] ; then echo "Acquire::http::Proxy \"$HTTP_PROXY\";" > /etc/apt/apt.conf; fi
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
git \
cmake \
libunwind-dev \
libgsl-dev \
libasound2-dev \
libxmlrpc-core-c3-dev \
libjson-c-dev \
libcurl4-openssl-dev \
python-docutils \
valgrind \
peg \
libdrm-intel1 \
pkg-config libdrm-dev libkmod-dev libprocps-dev libdw-dev libpixman-1-dev libcairo-dev libudev-dev flex bison \
meson && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Install igt
WORKDIR /igt
RUN git config --global http.proxy $HTTP_PROXY; git clone https://github.com/freedesktop/xorg-intel-gpu-tools.git; cd xorg-intel-gpu-tools; git checkout igt-gpu-tools-1.26

RUN cd xorg-intel-gpu-tools; meson build; ninja -C build; cd build; ninja install
69 changes: 69 additions & 0 deletions Dockerfile.soc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#
# Copyright (C) 2023 Intel Corporation.
#
# SPDX-License-Identifier: BSD-3-Clause
#

FROM intel/dlstreamer:2022.2.0-ubuntu20-gpu815 as base

USER root

RUN if [ -n "$HTTP_PROXY" ] ; then echo "Acquire::http::Proxy \"$HTTP_PROXY\";" > /etc/apt/apt.conf; fi
RUN apt-get update -y || true; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
autoconf \
git \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
pkg-config \
libgtk-3-dev \
libglfw3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
nasm \
ninja-build \
cmake \
python3 \
python3-pip \
meson && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Install realsense
RUN mkdir -p /rs && cd /rs && git clone https://github.com/gwen2018/librealsense.git
RUN cd /rs/librealsense && \
git checkout stream_d436_b
COPY ./patch/libusb.h /rs/librealsense/src/libusb/libusb.h
#./scripts/setup_udev_rules.sh && \
RUN cd /rs/librealsense && mkdir build && \
cd build/ && \
cmake ../ \
-DBUILD_SHARED_LIBS=true \
-DBUILD_WITH_JPEGTURBO=true \
-DBUILD_PYTHON_BINDINGS:bool=true \
-DBUILD_WITH_CUDA=false \
-DFORCE_RSUSB_BACKEND=false \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_GLSL_EXTENSIONS=false \
-DBUILD_WITH_CPU_EXTENSIONS=true \
-DBUILD_UNIT_TESTS=false \
-DBUILD_GRAPHICAL_EXAMPLES=false \
-DCMAKE_BUILD_TYPE=Release && \
make -j$(cat /proc/cpuinfo |grep -c proc) && \
make install && \
export PYTHONPATH="$PYTHONPATH":/usr/lib/python3/dist-packages/pyrealsense2 && \
python3 -c "import pyrealsense2 as rs; print(rs)"
RUN mv /rs/librealsense/build/libjpeg-turbo/lib/libturbojpeg.so* /usr/local/lib
# Build gst realsense element. Use github version once pull request is accepted with bug fixes
RUN cd /rs && git clone https://github.com/brian-intel/realsense-gstreamer
RUN cd /rs/realsense-gstreamer && /usr/bin/meson . build && ninja -C build
RUN cp /rs/realsense-gstreamer/build/src/libgstrealsense_meta.so /opt/intel/dlstreamer/gstreamer/lib/ && \
cp /rs/realsense-gstreamer/build/src/libgstrealsensesrc.so /opt/intel/dlstreamer/gstreamer/lib/gstreamer-1.0 && \
cp /usr/local/lib/libturbojpeg.so* /opt/intel/dlstreamer/gstreamer/lib/
#RUN gst-inspect-1.0 realsensesrc


#FROM base as build-default
COPY ./requirements.txt /requirements.txt
RUN pip3 install --upgrade pip --no-cache-dir -r /requirements.txt
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
BSD 3-Clause License

Copyright (c) 2023, Intel Corporation
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,12 @@
# vision-self-checkout
<PLACE_HOLDER>
# Self-checkout Rapid Prototype

[Documentation](./docs_src/index.md)

## Known issues

- Once barcode is detected and decoded, barcode label text is displayed inside the object even if barcode is not visible.
- Overlapping object detection label (gvatrack adds its own labels)

## Disclaimer

GStreamer is an open source framework licensed under LGPL. See https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/licensing.html?gi-language=c. You are solely responsible for determining if your use of Gstreamer requires any additional licenses. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due, in connection with your use of Gstreamer.
Loading

0 comments on commit 9bdb23a

Please sign in to comment.