Difference between revisions of "Openface: Instalasi di Ubuntu 18.04 Desktop"

From OnnoWiki
Jump to navigation Jump to search
Line 15: Line 15:
 
* boost
 
* boost
  
−
Advanced Ubuntu installation
+
Instalasi dependency
−
 
 
−
For Unix based systems and different compilers, I included Cmake files for cross-platform and cross-IDE support.
 
−
 
 
−
This code has been tested on Ubuntu 14.04.1 with GCC, and on 15.10 with Clang 3.7.1.
 
−
 
 
−
You can also run the install.sh script for installing on Ubuntu 16.04 (it combines the following steps into one script)
 
−
 
 
−
Dependency installation
 
−
 
 
−
This requires cmake, OpenCV 3.1.0 (or newer), tbb and boost.
 
−
 
 
−
To acquire all of the dependencies follow the instructions pertaining to your Operating System:
 
−
Ubuntu gcc compiler instructions
 
−
 
 
−
    Get newest GCC, done using:
 
−
 
 
  
 
  sudo su
 
  sudo su
Line 39: Line 23:
 
  python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev \
 
  python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev \
 
  libtiff-dev libdc1394-22-dev checkinstall
 
  libtiff-dev libdc1394-22-dev checkinstall
 +
 +
apt -y install build-essential llvm clang libc++-dev libc++abi-dev \
 +
cmake libopenblas-dev liblapack-dev git libgtk2.0-dev pkg-config \
 +
libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy \
 +
libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
 +
libdc1394-22-dev checkinstall
 +
  
 
Instalasi OpenCV
 
Instalasi OpenCV
Line 48: Line 39:
 
  cd build
 
  cd build
  
−
  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF ..
+
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF ..
−
  make -j2
+
make -j2
−
  sudo make install
+
sudo make install
−
 
 
  
 
Instalasi boost
 
Instalasi boost
  
−
sudo apt-get install libboost1.55-all-dev
 
 
  sudo apt-get install libboost-all-dev
 
  sudo apt-get install libboost-all-dev
  
Line 63: Line 52:
  
 
  apt update
 
  apt update
−
apt -y install build-essential llvm clang libc++-dev libc++abi-dev \
 
−
cmake libopenblas-dev liblapack-dev git libgtk2.0-dev pkg-config \
 
−
libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy \
 
−
libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
 
−
libdc1394-22-dev checkinstall
 
  
 
   
 
   
−
==Install OpenCV 3.4.1==
 
−
 
−
cd /usr/local/src/
 
−
wget https://github.com/opencv/opencv/archive/3.4.1.zip
 
−
sudo unzip 3.4.1.zip
 
−
cd opencv-3.4.1
 
−
mkdir build
 
−
cd build
 
−
 
−
    4.4 Build it using:
 
−
 
−
cmake -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -I/usr/include/libcxxabi" -D CMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++ -lc++abi" -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib modules> -D BUILD_TIFF=ON -D WITH_V4L=ON -D WITH_GTK=ON -D BUILD_opencv_dnn=OFF -D WITH_TBB=ON ..
 
−
 
−
# gagal di /usr/include/libcxxabi - tidak ada, harusnya ada libc++abi
 
−
 
−
 
−
 
−
 
−
make -j2
 
−
make install
 
−
 
 
     Get Boost 1.61.0:
 
     Get Boost 1.61.0:
  
Line 112: Line 75:
 
     sudo ./b2 install toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" --prefix=/usr/local
 
     sudo ./b2 install toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" --prefix=/usr/local
  
−
Actual OpenFace installation
 
  
−
    Get OpenFace
+
==Instalasi OpenFace==
  
−
    git clone https://github.com/TadasBaltrusaitis/OpenFace.git
+
cd /usr/local/src
−
 
+
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
−
    Create an out-of-source build directory to store the compiled artifacts:
+
cd OpenFace
−
 
+
mkdir build
−
    cd OpenFace
+
cd build
−
    mkdir build
+
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
−
    cd build
+
make
−
 
 
−
    Compile the code using instructions pertaining to your operating system:
 
  
−
        Ubuntu 14.04
 
  
−
        cmake -D CMAKE_BUILD_TYPE=RELEASE ..
 
  
 
         make
 
         make
Line 138: Line 96:
 
         make
 
         make
  
−
    Test it with
+
==Test==
  
−
        for videos:
+
for videos:
  
−
        ./bin/FaceLandmarkVid -f "../samples/changeLighting.wmv" -f "../samples/2015-10-15-15-14.avi"
+
./bin/FaceLandmarkVid -f "../samples/changeLighting.wmv" -f "../samples/2015-10-15-15-14.avi"
  
−
        for images:
+
for images:
  
−
        ./bin/FaceLandmarkImg -fdir "../samples/" -wild
+
./bin/FaceLandmarkImg -fdir "../samples/" -wild
  
−
        for multiple faces in videos:
+
for multiple faces in videos:
  
−
        ./bin/FaceLandmarkVidMulti -f ../samples/multi_face.avi
+
./bin/FaceLandmarkVidMulti -f ../samples/multi_face.avi
  
−
        for feature extraction (facial landmarks, head pose, AUs, gaze and HOG and similarity aligned faces):
+
for feature extraction (facial landmarks, head pose, AUs, gaze and HOG and similarity aligned faces):
  
−
        ./bin/FeatureExtraction -verbose -f "../samples/default.wmv"
+
./bin/FeatureExtraction -verbose -f "../samples/default.wmv"
  
 
Troubleshooting
 
Troubleshooting

Revision as of 09:14, 22 May 2018

Sumber:


Instalasi Ubuntu

Membutuhkan

  • gcc
  • clang
  • cmake
  • opencv
  • tbb
  • boost

Instalasi dependency

sudo su
apt update
apt -y install build-essential cmake libopenblas-dev liblapack-dev \
git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev \
python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev \
libtiff-dev libdc1394-22-dev checkinstall
apt -y install build-essential llvm clang libc++-dev libc++abi-dev \
cmake libopenblas-dev liblapack-dev git libgtk2.0-dev pkg-config \
libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy \
libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
libdc1394-22-dev checkinstall


Instalasi OpenCV

wget https://github.com/opencv/opencv/archive/3.4.1.zip
sudo unzip 3.4.1.zip
cd opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF ..
make -j2
sudo make install

Instalasi boost

sudo apt-get install libboost-all-dev

Ubuntu clang compiler instructions

Install LLVM, Clang & libc++

apt update


   Get Boost 1.61.0:
   5.1 Install boost dependency:
   sudo apt-get install libbz2-dev
   5.2 Get the boost source:
   Download boost_1_61_0.tar.bz2.
   In the directory where you want to put the boost installation, execute:
   tar --bzip2 -xf /path/to/boost_1_61_0.tar.bz2
   5.3 Build and install:
    cd path/to/boost_1_61_0
    ./bootstrap.sh --with-toolset=clang --prefix=/usr/local
    ./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++ -I/usr/include/libcxxabi" linkflags="-stdlib=libc++" --prefix=/usr/local -j 10 define=BOOST_SYSTEM_NO_DEPRECATED stage release
    sudo ./b2 install toolset=clang cxxflags="-std=c++11 -stdlib=libc++" linkflags="-stdlib=libc++" --prefix=/usr/local


Instalasi OpenFace

cd /usr/local/src
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
cd OpenFace
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
make


       make
       Ubuntu 15.10
       cmake -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -I/usr/include/libcxxabi" -D CMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++ -lc++abi" -D CMAKE_BUILD_TYPE=RELEASE ..
       make

Test

for videos:

./bin/FaceLandmarkVid -f "../samples/changeLighting.wmv" -f "../samples/2015-10-15-15-14.avi"

for images:

./bin/FaceLandmarkImg -fdir "../samples/" -wild

for multiple faces in videos:

./bin/FaceLandmarkVidMulti -f ../samples/multi_face.avi

for feature extraction (facial landmarks, head pose, AUs, gaze and HOG and similarity aligned faces):

./bin/FeatureExtraction -verbose -f "../samples/default.wmv"

Troubleshooting X server

If you experience a problem with "cannot connect to X server" when trying to execute the tracker, a solution can be found here http://askubuntu.com/questions/64820/wkhtmltopdf-wkhtmltoimage-cannot-connect-to-x-server, to resolve run: apt-get install xvfb Anaconda

When Anaconda is installed, somehow OpenCV finds the outdated GCC 4.x instead of GCC 5.4, according to: https://stackoverflow.com/questions/40322301/compile-opencv-3-on-ubuntu-16-04-linking-error-usr-lib-x86-64-linux-gnu-libsox

This results in OpenFace giving the error: usr/lib/x86_64-linux-gnu/libsoxr.so.0: undefined reference to `GOMP_parallel@GOMP_4.0' collect2: error: ld returned 1 exit status



Referensi