Hallo. Beim Ausführen der Videorekonstruktion für den aktuellen GIT-Snapshot ist ein Problem aufgetreten. Verwendung des vorgeschlagenen Schlossvideos für Tests. ODM wird in Docker ausgeführt. Das Image wurde mit Dockerfile erstellt:
FROM ubuntu
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get remove libdc1394-22-dev \
&& apt-get install -y --install-recommends sudo build-essential cmake \
python-pip libgdal-dev libgeotiff-dev pkg-config libgtk2.0-dev \
libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy \
libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev \
libflann-dev libproj-dev libxext-dev liblapack-dev libeigen3-dev \
libvtk5-dev python-networkx libgoogle-glog-dev libsuitesparse-dev \
libboost-filesystem-dev libboost-iostreams-dev libboost-regex-dev \
libboost-python-dev libboost-date-time-dev libboost-thread-dev \
python-empy python-nose python-pyside python-pyexiv2 python-scipy jhead \
liblas-bin libglew-dev python-catkin-pkg catkin libgmp-dev libgmp3-dev \
libmpfr-dev libmpfrc++-dev vim-nox \
&& apt-get autoremove && apt-get clean
RUN useradd -m -U odm
RUN mkdir /code
WORKDIR /code
RUN git clone https://github.com/OpenDroneMap/OpenDroneMap.git .
RUN git submodule init && git submodule update
RUN wget -c http://launchpadlibrarian.net/165141962/libeigen3-dev_3.2.0-8_all.deb && dpkg -i libeigen3-dev_3.2.0-8_all.deb && rm -f libeigen3-dev_3.2.0-8_all.deb
RUN cd SuperBuild && cmake -DODM_BUILD_SLAM=ON . && make
RUN bash ./configure.sh install && \
cd build && cmake -DODM_BULID_SLAM=ON .. && make && cd .. && \
chown -R odm:odm /code
USER odm
ENV PYTHONPATH=${PYTHONPATH}:/code/SuperBuild/install/lib/python2.7/dist-packages:/code/SuperBuild/src/opensfm \
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/code/SuperBuild/install/lib
VOLUME ["/images"]
ENTRYPOINT ["python", "/code/run.py", "--project-path", "/images"]
Es funktioniert gut für Bilder, aber wenn ich versuche, Videos zu machen, komme ich als nächstes:
docker run -t -i --entrypoint=/bin/bash -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/prapor/Downloads:/code/video opendronemap
odm<strong i="9">@53e1ad7fbae3</strong>:/code$ RUNPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
odm<strong i="10">@53e1ad7fbae3</strong>:/code$ export PYTHONPATH=$RUNPATH/SuperBuild/install/lib/python2.7/dist-packages:$RUNPATH/SuperBuild/src/opensfm:$PYTHONPATH
odm<strong i="11">@53e1ad7fbae3</strong>:/code$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RUNPATH/SuperBuild/install/lib
odm<strong i="12">@53e1ad7fbae3</strong>:/code$ python modules/odm_slam/src/calibrate_video.py --visual
./video/output/test1/chessboard.mp4
kept current chessboard found
34 1107 True
RMS: 0.881957891046
# Camera calibration and distortion parameters (OpenCV)
Camera.fx: 1512.91332401
Camera.fy: 1512.04223185
Camera.cx: 956.585155225
Camera.cy: 527.321715394
Camera.k1: 0.140581949184
Camera.k2: -0.292250537695
Camera.p1: 0.000188785464717
Camera.p2: 0.000611510377372
Camera.k3: 0.181424769625
odm<strong i="13">@53e1ad7fbae3</strong>:/code$ python run.py --project-path ./video/output --video castle_video.mp4 --slam-config config.yaml --resize-to 1280 test1
[INFO] Initializing OpenDroneMap app - Mon May 15 13:16:24 2017
Traceback (most recent call last):
File "run.py", line 39, in <module>
app = ODMApp(args=args)
File "/code/scripts/odm_app.py", line 26, in __init__
ecto.BlackBox.__init__(self, *args, **kwargs)
File "/code/SuperBuild/install/lib/python2.7/dist-packages/ecto/blackbox.py", line 259, in __init__
self.__connect()
File "/code/SuperBuild/install/lib/python2.7/dist-packages/ecto/blackbox.py", line 284, in __connect
raise BlackBoxError('Got error "%s" when calling connections on "%s"' % (str(e), str(self)))
ecto.blackbox.BlackBoxError: Got error "global name '_p' is not defined" when calling connections on "<scripts.odm_app.ODMApp object at 0x7f2689801c50>"
config.yaml befindet sich im selben Ordner wie chessboard.mp4 und Castle_video.mp4. Die Ausgabe des Schachbretts ist auf die gleiche Konfiguration wie in config überprüft. Kann jemand sagen, was ich falsch mache?
Hallo,
Ich habe den gleichen Fehler. In meinem Fall verwende ich Ubuntu 16.04 64 Bit und ODM wurde mit ORB_SLAM kompiliert, nachdem einige Probleme mit Eigen 3.3 behoben wurden (auf 3.2 herabgestuft).
Wie in Ihrem Fall werden das Eingabevideo und die Yaml-Konfigurationsdatei im Ordner / project / path abgelegt, es wird jedoch dieselbe Fehlermeldung angezeigt.
Irgendwelche Hinweise?
Ich suche einen Champion, um SLAM wieder zum Laufen zu bringen
Das Problem ist ein Fehler in scripts \ ODM_app.py, Zeile 100, es sollte 'return self.slam_connections (p)' sein, nicht '_p'.
Ich denke, wir haben die Videoteile von ODM entfernt ... mit
Bestätigen Sie, dass die SLAM-Unterstützung entfernt wurde (es wäre immer noch cool, Video-Unterstützung zu haben, aber ohne einen Beitrag wird dies wahrscheinlich nicht erledigt).