python photogrammetry toolbox: a free solution for three

13
HAL Id: hal-00834940 https://hal-enpc.archives-ouvertes.fr/hal-00834940 Submitted on 18 Jun 2013 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Python Photogrammetry Toolbox: A free solution for Three-Dimensional Documentation Pierre Moulon, Alessandro Bezzi To cite this version: Pierre Moulon, Alessandro Bezzi. Python Photogrammetry Toolbox: A free solution for Three- Dimensional Documentation. ArcheoFoss, Jun 2011, Napoli, Italy. pp.1-12, 2011. <hal-00834940>

Upload: others

Post on 09-Feb-2022

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python Photogrammetry Toolbox: A free solution for Three

HAL Id: hal-00834940https://hal-enpc.archives-ouvertes.fr/hal-00834940

Submitted on 18 Jun 2013

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Python Photogrammetry Toolbox: A free solution forThree-Dimensional Documentation

Pierre Moulon, Alessandro Bezzi

To cite this version:Pierre Moulon, Alessandro Bezzi. Python Photogrammetry Toolbox: A free solution for Three-Dimensional Documentation. ArcheoFoss, Jun 2011, Napoli, Italy. pp.1-12, 2011. <hal-00834940>

Page 2: Python Photogrammetry Toolbox: A free solution for Three

�����������A�

B�CCDAE���F����������A � �������D�������������� � B � ���� � C�����A � ��������������AC��AD�������A�D���A

�������A

����������A�B�CDE�F�����A�EBAE����������AC�������������������F���������C���������������

���F��BAC��F�C�A����C���������B�������CB�����BE��A�AC�������C�C����FC���������BBE��A������A����B����A�����

�C��FC������A� ���A�����FA���CAC�����A������!F�����A������F�A�AC��"#���EA���$CFC������A�EBAE���%��� �

��AC��������A�������C�F�C���B�������CB�����A������C��FC��������BE��A�AC� ���&���������F�E�B��������B� �

'�F������A�������A���F����A�CF������A��������������B�FA�����A�(C�CA������F�AC�CA��)���(EA�CA���F��C��AC�C���

F�������(���F*�A���EF�����A���B��F������AE�����A�BA�����%��F�E�B��B�������A����B�FFCA�������FC���C�CB�AC���� �

A������!���� �

����F��A�����+�A���+��A�������A�������(�,��++���CF�����FFC(���F��EAC��A��F�����A��F�����(���F ��A�CF �

B����F��������A���FB�C�AF�A��A��EA���A��A����C�����A�FA��F����A������!���� ������AC������B�FF�CF����EB���C �

A���B�����F� �B��C(��AC�������F����B�FA�EBAC� �����EF���B���E�CA �������������CB���CA����B��������� �

A���C�� � B����� � #��C(��AC� � CF � ��������� � �CA� � �E���� � ��C�� � ��F� � ��B�FA�EBAC� � CF � ��� � A���E���

#�$�-+�$� �.�F�CA��A����EA���AC���A���EF���B��B�A����A����C�����FE�A�B���FC��A���CCAC���������A��F*�A���

C�����FC/�����A������AE�����A�BA�� �&BAC����A����C�FA�������A�����A���C�F������EBAC�����A���B���EA�AC��AC�� �

�������B���FC����FCA�����A�����CA�B��E� �&BAC����A������AE�����A�BA���C��E�B�F�A����C�����FE�A*�++��B��

���!�(�A���CA����%�����A�A����A���0C���FCA�������CACF��#��E�(C�����������EF�(�������������F���B���E���F������

�CA��$1%2&��������F���E����3+1�� 4��CB�F�� �����EF�����$1%2&���FE��F���������BBE��A����FE�A��A��E���CA�

CB���F�F�A���AC������B��BE��AC� �

+�A���+��A�������A�������(�,� � �����F���E��� �3+1�� 5� �CB�F�� � CF �� �B��FFCB�� ��,�������� �%16���

���7�BA � C ���CB� � CFA�E��AF ����!������� ���� �F����� �����B���ECA� ����!F� ��� � A������������A ��� � A���

F��A������F���C��B�������C�CB�AC��������(�B!F����(E��B��B!C�

�BACD��EF���ED

5.�.C�CA�� �B����B��(������(�����C�EF� A�B������� � ��F�� �����E��� � �C��������C���� �

FA�EBAE��� � �C��A� � ���A�������A�� ����� ����� � A��C� � ���F ��� �B�F �1�F�� � �� �1C��� � ����

�BBE��A����C��C��A������BCFC���(EA��,��FC��������C���A������B������A��C��EF����DEC��F�

�����AC� � +��A�������A�� � CF � ���� � �� � ���� � �BB�FFC(�� � �CA� � A�� � ��B�A � ������FF � C�

���BA��CBF�A��A���!��B����BA��C�CA���B������B�������(EA���FF����BCF���B�AC��A������BCFC�� �

+��A�������A����CA��B�FE����B���������F��A����B��A���F������������B���F�A�����F���(EA�

CF��BB�FFC(���A����(��� �������#���EA���$CFC�������CA��F�������AE���A��(��EF���(����

A�B�CB���EF��F ��A8F���������BAC�����F���B������C��������A����������FF������(�������C�A���

9 0C���FCA:�+��CF�2FA��1�3���0�;�#<;����#�A�������$CFE���#���EAC���2<+#

4 &;#��2&�

Page 3: Python Photogrammetry Toolbox: A free solution for Three

��FA � ��B��� � ��EB� �������FF � ��� ��CFC(�� ��CA� ���(�F���CB� � �C!� � A�� ��CB��F��A �+��A�F�A��

+��7�BA5

6E���(7�BAC���B�FCFA�C�����C�C����A����B��C�C�������A����!��5.��C�CA���B������F� �

��CF�A����B��C�F��E���(��%�����6���F�E�B�����#��FF�+��A�����A��(���BB�FFC(����CA��EA �

B�FA��CA � 6E� � �C���C� � ����F � ������� � ���� � �,CFAC� � F��EAC� � A��A � ���� � ����� � A� � (��

�EBAC����������DE�A�

�BA������FA�E��

���� ���B�FA�EBAC���� ���FB���B��AE����������C�����A ��C����CAF�(����F�A ��� �4.�

C����F � CF � � � B���EA�� � �CFC� � ���(��� � A��A � ���� � (�� � FAE�C�� � ��� � ��B���F � �EB� � 5.�

��B�FA�EBAC�F � ��� � �(�� � A� � ��FB�C(� � A�� � FA�EBAE�� � �5. � ��CAF� � �� � A�� � FB�� � �� � A�� �

B��C�E��AC�����AC������A���B����������A������CFA������CBAE��F �

����5.���B�FA�EBAC�����(����B�E���(����B����F���CA��A�������C�FA��F*

9 #����F����B�F�(�A������C�F����C����F�������E�����5.�B��C�E��AC�����

C�������C�F������FAC��A�����FAC��AC���������AC���B��������F���

4 ��� � A����C�� � �����A�C�F � ��� � �EF�� � C � � � B���� � B����C�A�F � F�FA���

��FAC��AC��������(���B��������F���

5 =��C����B�����A��B������B��C(��AC�������������EF���F�����������A���

FB���FE���B�F�CF�B���EA���EFC������C����F

>�C�� � A�� � A����C���B����� � B��C(��AC� � CF � � ������FAE�C�� ����(���� � A�� ��E�AC��C���

B������B��C(��AC������CF���B������C��A�F! ���CF��E�AC��C���B��C(��AC��CF�B�EBC����F�CA��C�� �

��A���C��A������BCFC�����A���FB�����B�FA�EBAC�����A���DE��CA�����A�����FE�AC����F��5.�

�����

������FA � C����FFC���������FF � C ���������$����!� ���FFC(�� � A� �B���EA� �� �5.�

�����F�A�AC�������BCA���������(�C����F?���CA�����C���������E��C����F ��EA����������������

�������F��EAC���,CFAF �;�B�A���F���B�������(C�A��A��B����C�F�A��A���������CBC�A�����EBAF�

FEB���F�+C,?�@����&BEA�5.A

& � F���A � �CFA��� �5.� ��B�FA�EBAC� � ������CBAE��F � FA��AF ��CA� ����7�BA � �C!� �%�B���C��

#����D����+��A��������E�A��A�EF��B����F���C����CAF�F���BA���(��A���EF���C����C�EF�

�CBAE��F�A����A���C��A���5.���FCAC�����B�����F����A�EF�����C���A���EF����CA����CA����B��

A��������A����CBAE����FB���(������ ��������B�FF���F����������DEC��������A�����,���ACF� �

+�����FF � C � C���� � ��AB�C� � �� � �C�� � (�F��C� � ��AB�C� � �����F � �� � A� � ��A���C� � A���

B����F����B�F��EA���ACB�����A��!F�A��B�A�C(EAC�F��C!����%�9F�����0;%99

� � ��B�A � ����F� � � � ��A � �� � B�����BC�� � ����EBAF � �� � ��( � F���CB�F � ��!� � 5.�

��B�FA�EBAC��������BB�FFC(���(EA�B���EA���5.���A�������A������F�����C����A��A���EF��F �

��� ���C � �,����� � CF �+��A�F�A� � �A � ��� � ����C��F � � � 5.��CFE��C/�AC� � F���CB� � A� � A������

A���E���A���F�A�������A�F�(EA�5.���A��B��A�(��EF���������E������E���F� �������(�F���CB� �

EF�F�A���B��E���F���FA���������B���EA�AC�������A������F��A����CBAE��F����B���EA�����A��

EF���������A�E������E��B�A��� ��������(�F���CB�F�����������&;#5.94� ���#�+��%��

3 http://photosynth.net

4 AGARWAL et alii 2009

FRAHM et alii 2010

5 http://www.pix4d.com/

6 http://www.acute3d.com/

7 http://ict.debevec.org/~debevec/Research/

8 http://www.canoma.com/

9 http://www.photomodeler.com/

9F 16>2�4FF?11 BAY et alii 2008

12 http://homes.esat.kuleuven.be/~visit3d/webservice/v2/

Page 4: Python Photogrammetry Toolbox: A free solution for Three

>�(����CB�95��(EA����C�A����EF����B��E������B���EA�AC��F��A�����CF������A���EF�������A�� �

��A����CBAE��F�

���!F�A��A���������B�����6����E�B����������!F���E����9?��#�$�-+�$�9@��

A��A � ������� � �E�AC��C�� �B��C(��AC� � �� ���F� �5. ���CA � B��E� � B���EA�AC�� � �� � �C� � A��

��������������������F��A��EF���C���C��C�������A����!��5.��C�CA���B������F� �>������C�� �

A���EF�����F����B�A�C���F��EAC��A��A��C��F��C��B�A������A�����������A������ �&F��CBAE��F�

��� � A�� �������A� ��� � A�� �EF�� ��� �B��F� � � �EF���FC�� ��C���C� ���� ���C �����(�B! ��� ��E��

������B� � CF � A��A � B���EA�AC� � F���� ������F � �����EF��GF � B���EA�� � �A � B�E�� ����� � F����

����(�B!F�����������FB��F���� ������ C����F�(EA���B������CF��(�A������������B�����

DE��CA��B��(�������(�����EBC��C�����FC/������CB�����C�A���A���(�,

�BA��A��E�A��������A���A�����

�EC��C��5.�"�����'�������CBAE��F�B�FCFAF�C���B�����5.�B��������FCAC�F�����A���A��

�CBAE��F����5.���FCAC�F�������ACBE����B�A�A����A���C����F ��A�CF�����(��C��AC��C��FC�C����

B�A�A�(�A����<��C��F����F�����5.������A������(���F �0F���C�EA�B�FCFA������C�����

B����BAC�����B������������A��F �����B���EA����EA�EA�CF���F�A����5.�B��������FCAC�F����

5.���CAF���C� �9�

5.�������CBAE��F�CF����BAC�����F���B������C�A��A��������#���EA���$CFC����������

F��BC�CB����� � ����� � ��A�C����-��AB�C�� ��A�EBAE�� � �������AC� � ����� ��� ��E�AC��� �$C���

�A�����CFC����$�� �

� ��������AB�C���C�F�B�������B���FE(�C�����(�A����A����CBAE��F

� �A�EBAE�� � �������AC� ��FAC��A�F � A�� � ����AC�� �B����� ���FCAC� � ������B����

��CAF�B���EA����A�A�������C�EF�FA�� �

� �E�AC����$C����A�����CFC���FAC��A������F�������F�A�AC�����A���5.�������

�.�F����CA�B��E��

A�B�AC����A�����D�

��������AB�C��C��AC�C�F��CBAE��F�A��A�B��(��EF���A��B���EA��A�������AC�����C�A�AC��

���4�B���������A�EF�A��B��C(��A�����A���!����C����F ���CF����B�FF����C�������AB�C��CF �

����������C�5�FA��F*�

9 B���EA����B���B�A�A�����B��C�����%��AE������.�FB�C�A���B���EA�AC�������

CFA�B����%����

4 �C���EA�AC�����AB��F�(�A����A����CBAE��F���C��A�������FA���FB�C�A���C�A���

�A����C��������A�����C�F���

5 B��B!�A��������A������A����EA�AC�����AB��F��2�C�����������A��� �

6B��A���C�������AB�C��(�A����������FFC(�����C��CF�������������������A�CB�������CF �

(EC�A���C� �4� �&������CF�������C���������A�CB�B��BAC���,CFAF�(�A����A����CBAE��F

A�B�A �����A!E��A��������ED

� #����� ���F� � �FAC��AC� � �C�F � A�� � B����� ���FCAC�F �(� � F���C� � A�� � ����AC�� ���F��

�FAC��AC�����(��� �;���AC�����F���FAC��AC��B�FCFAF�C��FAC��AC�����C�C����AC��(�A����

A���B�����F������A�AC��;������A��F��AC������C� �5� ���CF�����AC��������A���(�A����A�� �

13 http://ptak.felk.cvut.cz/sfmservice/

9? �<&$21H�4FFD9@ %0;0I&>&�4F9F

Page 5: Python Photogrammetry Toolbox: A free solution for Three

�C��F�CF���CA��E������FB�C(���(����"2FF�AC��'���A�C,9A

��CF�2FF�AC���5J5���A�C,�����A�F�B����F���C����CAF�C�FA�����C����F��FFE�C��A��A�

A���B�����F�F�ACF���A����C�����B����������� ���CF�2���A�C,�B�E���(��B���EA��������D �

��CAF��CA�����C������A��������CA��@���CAF9C �����@���CAF���A����CF�����������(�B�EF��CA�CF�

A����CC����B�F�����CA������F�A�����������B�FA��CA���A����FAC��A�����A�C,����F������C�� �

������BBE��A����FE�AF �����C�������AB�C��FA���CF�A�EF�B�EBC��*�A��������B�������CAF����

��A�(�A�����CBAE��F�����C�����A��A��������C����F����B���FAC��A��5.���FCAC�F��BBE��A��� �

������FCAC�������B������B����F��(��B���EA��������B����F����B�F�(�A����5.�

��CAF � �� � B����F���C� � ���7�BAC�F � C � A�� � C���� � ���� � ��CF � 5.�4. � B����F����B��

���(����CF�!����F�;�F�BAC����C� �?� ��A�B�FCFAF�C��FAC��AC��+C����A�AC���A��F��AC�����

CA���� � ������A��F � �� � A�� � B������ � �CA� � � � ��� � B�FA��CA � �����A�� � �A � �C�F � A�� � +C�

B��C�E��AC��A��A��CC�C/��A���������7�BAC�������F�(�A����A������F���FFC��A���E�����ACB���

B������B�A�� � A� �5.���CAF ����A���4�� C����������B����C�A�F �6B�� A���B�����F ���� �

����A����CA����2FF�AC�����A�C,����5.���CAF�K�����(EC�������B������CB����A������� �

B������A��A���FB���(��EFC��FEBB�FFC�����F�BAC�

��F�� � � � A��F� � B���EA�AC�F � �2FF�AC��� � ;�F�BAC�� � �� � B� � ������� � �B����A���

�A�EBAE����������AC� ��A8F�A��������CA���A��A�CF�C������A���C�A���5.�B��C(��AC��F��A�����

���EF����E����� �

�B�ACD����D���A"�������A��E�A�E��ED

�E�����CF�������A���FA�A�����A�����A�C������A�AC�����CB����A������ ��A�A�!�F��F�

C�EA���C�����F��C�F����B������C�����AC����C!����B������E�F��,A��BA��������2,C��7�����A��

���##.�F�F���FC/�����C��(�����B��������E��BAE������(FCA����������C�� B���

%��� �� � CCAC�� � C���� � �A���!� � �E���� � B���F�F � � ���C� � �� � C����F� � B���EA�F � A���

����AC�����F���CA��A���2FF�AC�����A�C,����A���A������CB����A�����A�������CC��C����F�C�

A���5.�FB���(��EFC��FEBB�FFC�����F�BAC�F ���������A�����C��CB����A��������� �(E��� �

��7EFA��AF9D�CF�EF���A�����C�����C������A����FAC��A���B������������A��F����5.���CA�

��FCAC�F�����A�EF����EB��A����������B��FF�B���EA�����A�����F��FC/��CF�����C�

��CF��F�E��������CA���B��(���CBAE�����F�C��C�E���@*

��EA*

� �C������A���!���������A�CB�����B�����A��CBAE��F�

� �CA�����B������������A��F��%�B������A���##.�F�F���FC/��

6EA�EA*

� �B��������FCAC��

� F���F����CA�B��E�

�E�����FE����F������F��������E�AF ��AGF�B����CF��A������B�������F���AC��F�A���5.�

��B�FA�EBAC����C�F��E��A����C�A������ ��EA�CA������A�������A�������(�C��������A������ �

6�����E�B� � �C�(�� � F��EAC� � ���� � CA���A � �CA� � FEB� � ��������B� � ;�B�A � B���ECA��

CCAC�AC��� �C!�� A��� �C(������7�BA9E� CF �� �����E���A� ���B����� � C������A�AC���� �"�E�����

B���F' ���CF�(�CB!F�B�E���(�������B���C�A���A����B��C�C��������EAE��

�B#A��������A$��%A"����E&���ED

�� �http://en.wikipedia.org/wiki/Essential_matrix�

9C <���2;�4FF?

�� http://en.wikipedia.org/wiki/Bundle_adjustment �

�� http://code.google.com/p/libmv/ �

Page 6: Python Photogrammetry Toolbox: A free solution for Three

�E�AC��� �$C����A�����CFC�� ��$���B�FCFAF � C �����C�� C������C,�� � A� �5.���CAF�

�B��F�F��C����F���CA�B��E� ���CF���F�������F�A�AC��B��(������F����CA�B��E���������F� �

��F� ���������A���C����5.���FCAC��������B��B����F���C���C,������A���C�����F�DE�B�� �

�$��EF�F��E�AC����C�����A�����EB����(C�ECAC�F�����FAC��A���BBE��A��B�A�A���C� �A�

6���� � A��� CA���FAC��FA�A�����A�����A ���A���� CF � A���+�AB��������B��B������+�$��

�+�AB���E�AC$C����A�����4F ��A�CF�(�F�������F��������C��FA��A��� ��A��C�F�B����F���C��

��AB��F�(�A����C����F������B������,����A������C��(����CA���AC����,��FC������C�A��C��

FA��F�C�������A���������(���B����F����B�F���C� �D� ��EB����������B���C�F����CAC����

B����F����B�F�A��A��������7�BA�������A���E���A�A���C�������AB�C�����F��FA�� �

%C�E�� � E � F���F � (���CA � �� � EFC� � +�$� � ����A� � 5. � /��F � B����F��� � A� � �������

A�,AE�������A�����(C�E�EF�C������/��F�*

A#BA'��A!(��EDA!�E�E��������(A'EE��E)

����+�A���+��A�������A�������(�,��++��49�C������AF����C���C��A����������5.�

��B�FA�EBAC���������F�A�����CBAE��F ��A���FC��������F�A���B��FFCB���B�FA�EBAC�����B�FF ��A�

A�!�F��CBAE��F��F�C�EA�����������F��EA���ACB�����A���5.���B�FA�EBAC������A���C����F�����

��CB��5.����CFA��AC��CF���FFC(�� �++���C��F������A���EF���A���(��C��A�F!������A��B����FC��

����C��F��CFAC��A��A�������DEC����A��B���ECB�A��A���E���A������C�EF�F��A�����B�����AF �

���A���B��C �6���F�E�B��F��A�������F�(���B��F��A����������A���CA�FC���B���EA�AC����

���AF � �� � A�� � ��B�FA�EBAC� � �C���C�� � �E���� � ��� � A�� � B����� � ��F� � �FAC��AC� � ���

#�$�-+�$������A�����F����CA�B��E��B���EA�AC�

�CAC���� � �E���� � �� � #�$�-+�$� � ��� � ����C��� � �CA� � F��� � F���� � FB�C�AF � A��A�

�EA���A�F���EB�C��A�F!F��(EA�������A�����C�����(�B!����F���� � CF�A��A�CA� CF��A�B��FF�

���A���� ��A�B��A�(��EF���E����>C���F �#���C��AC�����A��F��F��A����������A��������

A���E�� � A�� � F��� � (�FCB � CA����B� � ���!��C�� � � �1CE, � �� � �B���7 � � � >C���F� � �� � F��

��DEC��F���E(�����CA��B������F���A��B���C��AC����(�A�����A���� �.�FC��B��CB�F�C�

++����!��CA�B��FF����A����*

� CA�EF�F�+�A��44��F���B��FF����A�����FB�C�A����E����A��������B���ECB�AC�����

F��A�������EB�C�������AC�F ��A������F�����A���A�F!F�A��A�������DEC���������E���E���F��

��C��BA��� � �CFAC�� � �C�� � �CFAC�� � C����F � B����FC�� � 2,C� � ����C�� � �D�CA� � ��A�(�F��

�������A�L

� CA�EF�F�#��!�45�����A���B���C��AC��B��C�E��AC�����A���B��F��6������A�����A��A�

CF����C��(���E����A���6�����E�B��+��A�������A���B��������FCA����#B

++� � ����C��F � � � A����B��C � A��A � CF � ��FC�� � A� � ��CA�C � �� � EF� � A�� � A�� � ����C�EF�

������B��F ��A����C�F���B������C���C��A��������5.���B�FA�EBAC� ���CF��C���C��CF���FC����

�F���A������E����CA����=C���1�����&+��C�������A��(���,A�FC(���C�A����EAE�� ��A���FE�AF�C�� �

5�����������CB�AC�*��A����B���+�A������E��F�������A����

& � �����CB � ������� � ��F � (�� � ��������� � A� � �C�� � A�� � B�������C� � B���F � A��A � ����

��DEC��� � A� � EF� � A�� � B��C � A���E�� � ��A�� � ���E��F � �A � ����C��F � � � 4�FA�� � ��B�FA�EBAC��

���!����

�����E�AC�����������CB�AC����!�F���CA��B����FC�� �2�B��(�AA������E���B��(��

E���A�� ��F � ���� CA � ��F��BAF � A�� ���FC����=C���1���� �&+� � �A ���!�F � A�� � CA����B� ���FC�� �

�,A�FC(�� �%����,������A�����A�����������EF������FC����AA���CA����B��C�������A�������

���C�EF����AE�����A�BAC�-��FB�C�AC�������CA�������A���C�������AB�C��FA����A���EF���B��EF� �

4F %0;0I&>&�4F9F�� ABCDE�DAFE�����DDE�����E��CA���������DAFE��AA��E�DA����A����B�F�EC�

�� http://www.python.org/ �

�� http://www.cmake.org/

�� https://github.com/TheFrenchLeaf

Page 7: Python Photogrammetry Toolbox: A free solution for Three

A���.��C��1������%�4@����A���6���F�E�B��C������A�AC��$1%2&�4A�

.�A� � ���!���� � CF � ����C/�� � C � � � A��� � �C��BA��� � B���A�� � �A � A�� � (��CC� � �� � A���

���B�FF �&���A�����DEC������A��A�����B�FF�A���5.���B�FA�EBAC��CF���B�A���C�A�CF��C��BA��� �

.�A��CF�E���A���(��A����C�����A������A����A���A����B��C����F�������A�A������A��A���EF�� �

�C�����C��BA��������E� �������C����!�����CF�C��EFA��A���C��C�E���9F ��A8F�CA���FAC��A��A�!����

B��F������!�A��A���4�FA������B�FF����!������;E�E��������;E#�$���A��(�AA���F���A���7�(�

���A�����A���FB�C�AF �

� ;E�E���� � � ��C� �99� ��������F� A�� �B����� �B��C(��AC� � FA�� � �A � B���EA�F � A�� �5.�

B��������F���������F�A����C������CA��B����F���C��"B�����������'-'##.��C�A��FC/�'�

��(������C����D�CA����A�(�F� ����C�E���99��������B���E����CA��F��(�AA���FDE���F������A���

B���A�� � �C��F � >� � ��B��C/� � C���� � ��AB�C� � A���F � �FC�A� � ��AB�%E��� � �� � A�� � 5. � ��F��

�FAC��AC��F��A�������E�����

�;E#�$�����C� �94��A�!�F��F�C�EA�A���C����F�B����BAC���B�����F���F�F������������

A�� � ��F� � 5. � ��CA � B��E� � B���EA�AC� � .�A� � B����FC� � ���� � �E���� � �����A � A��

#�$�-+�$� � �����A � CF � ��� � (� � EFC� � �E���4+�$� � �� � ;��C��0�CFA��A � .�F��

B���EA�AC��CF�����(��+�$���F�������F�#�$���A��A�CF�����AC�������B�FF�A���C�C���A���

C�EA�FB���C�����F�������CFA�B��A��A���!��A������B�FF������F����B�FA�EBAC����FA��

++��3EC���C� �C��CF�A��������CB���CA����B��A��CA���BA���FC����CA��A������A�������A���

A���(�,4C � ��� � 3EC � ���A � CF � ������� � (� � +�MA?4D� � � � �E�AC����A���� � �EC � ������ � ����

CA����B��CF���FC����C�A����C�����A����AF*�����C��C����B����F���(��E�(���������F �

��CB�������F�A���EF���A��E���FA���A���FA��F�A����������������A���C����C����C���CB��

A������B�FF�CF��EC� �����30��CF����C(���A����FC��������CA�CF�(EC�����������������������A�

���C�C����CA��B�������C��FB�C�AF �������E������F������A���EF���A��A���������A������B�FF �

A���E�������A���FA��F*�;E��E�����������9�����;E�#�$�N+�$��������4� �;EC��

#�$��(������+�$��CF��C�������B���������(EA��A�FA�CBA����B�FF���*�A�����CF���F��A���

��FFC(C�CA��A��EF���C��BA���+�$��������5� �+����?�����C��F�����FA�F��EAC��A��CA����A��A�� �

�M1���A�(�F���CA��A���##.��C�A����������A���B��������CA��EA�EFC���,A�����F��A����

*BA��������ED

&�B�������CB����C�����BAC�CA��CF���C��������!C�����B�FF���CB����F��C���FA�B�F�F��

�CA��A���B�����A����FA�EBAC�����A���FCA� �0FE����������E��������CF��,B���A���A��C��FAC��A��

A���E�����C������� ���A�����B!�������ACBE�����,��FC����DEC���A����F��FB�����B��C(��A���

B����������F��A���������A�������A�CB�����CB�AC�F�� ��C������BE��A�AC��CF�B����F���(��

�CBAE��F���C�CA�������C��F�����E�������C�F��A�A���FA�AC�����FE����AF����(C��C��FC����

���A����F�CBF �&A�(�FA�����A�����A������B��BA���A���A����CFC�����3�������CB���������AC��

��FA����3��� �

��� � ��FA �����FG �������FF�F ��� �#���EA�� �$CFC������������F��BAC��F� ��C�C� � A�������(����A�����FFC(C�CA��A����B����A������C��FC������A� �����(���CAF����A�CF�A�B�CDE������

�C�����A*�

� it is a software-based technology in continuous developing (data analysed today

could be processed in future ending in better results),

� CA�CF�����������F�A���(��%�������6�����E�B��F��EAC�F�

� CA����F�����A����DEC���A���CB��CF���������EF���C����,B���AC����C�CA���B����� �

���A�A���FA�AC����

� ��FC������A�(������������B�����AF���������B�������CFAF�A�����!�E����B�CACB����� �

�,A�����B��CAC�F��� � �C��C�����EA�C��E�����A������CFC�����B������

� http://www.cs.ubc.ca/~lowe/keypoints/

�� http://www.vlfeat.org/

�! ABCDE�DAFE�����DDE�����E��CA��������������B��DA���CD�EA�������B��

�� http://wiki.python.org/moin/PyQt4

Page 8: Python Photogrammetry Toolbox: A free solution for Three

� A�� ����,C(C�CA� ��� � A�CF � A�B�CDE�� ��BC�CA�A�F � A�����BE��A�AC� ��� �� ��C��� ��������FCAE�AC�F �

�����,A�B���A��F �introduce� F�����,�����F��������CB�AC��C��C�����A�FB���F*������

��B���������F��FA�EBAE����A���CB�����C�F�

*B�BA+�(���

<������� � ��B�������CB�� � �����F � ��� � ��BE��A�� � EFC� � ���A�����C� � A�B�CDE�F� � � � (C�

�C��FC��� � ���7�BAC� � �� � ����CA� � ��CB� � ����EB� � ��BAC�C�� � C����F � FA��AC� � ���� � /�CA� ��CBAE��F�������E��B�A������CAF��3#+� �0FC��A���F����CFA�E��AF���C�CA���B���������

A�A���FA�AC���CA�CF���FFC(���A����B������F��A�����������������A�����������C�� �95�9?� �������A���BDECFCAC��CF���FA����FC����*�CA�B�FCFAF��,B�EFC�����C�A�!C���CBAE��F����A�����������CA���FA �

�(�A�����C/�A�� � FE���B�F �������ACB�� �F�BAC�F� ����C���AA�AC��A� � CB�E����A � ���FA � A��������FE�������!F����CB���C���(��EF���C���A�����B�FFC��A�����������B��A����C�������� �����

F�����E��F����A���A���CAC�������A������������A��(����������*�B�A���A�����FC�����(7�BA�C���B���CBAE�������C���,A�����B�A��FA�F�����-FE��EF����A�C����C������C��A�B��CAC� �

�������������C�CAF����E��A���E�(������C����F*�CA������F���A���B�����,CA�����A�� �

FE���B�������A������������A�������������;&�����CB���C������B�FF�A�����A�

*B�BA�������ED�A"�������

��CF�A�B�CDE��CF����ACBE������C�CB�A���������B�CA�BA�CB���E��AF���C�� �9@�9A� ���

A�CF�B�F��A�����C��C��CBE�A��CF�A��B�����A����������(7�BA��CA������������A��F�A��C�������A� �

���C������F�C�A����C�����F� ���FA����A���AC���CA�CF���FFC(���A��F��������CFACB������(���F �

����A���A��A���B�����,CA�����A���FA�EBAE����EFC��F��BC�CB�����������C!��A������A����F�F��� �

����A��F�FC�����CB�F��0&$�

*B�A,�DF�A-��������A�DFA�E����.

&�B�������CB����C�F�B��(����BE��A���"C�FCAE'��A�!C���CBAE��F����C�����E��A���

�(7�BA ���C� �9C������C���(���A����EFC����AE�A�(��������(��B!�(�B!���E����C� �9D� ���A�CF�

��FA�B�F��A�����FCAC�����A���B�������E�C����A���BDECFCAC����F��C,����(EA��C���(��F��CA�C�

�������F�F��E�C����A�����B�FFC����C� �9E� �3������FE�AF���������B����A�!C�����CBAE�����B��

9F�������F��5A����A�F�������B�����A�������EAC�����A����(7�BA ��A�CF���FFC(���A��EF����B��F�A� �

�(A�C������������F�������A���BA

*B#A��/F���A��E&���D�A��E�AE�FAE�A����E����A��E�EA����

6��A�����FA�CA���FAC��������B��F��������CF�A����(C�CA��A���,A��BA�A������C��FC����

C�����AC�������������������CFA��CB������A������F�A�!��(�����A�E�F������A�����E���F�F �

����B�CACB�����CA����A�CF�����CB�AC��CF�A�����B��A����CC����E�(������C����F�������A��FA��A �

A�� � ��B�FA�EBAC� � ���B�FF � �5� � �A � CF � �EB� � ��FC�� � A� � �C� � � � �������C�A� � ���A������CB�

��BE��A�AC��FCB���C�CA���B�����F������(�B�������C��F����������������C�� �4F�49� �

�� � � ���E��A � C � A�� ����F�A � CF � �A � ����� � C ��CF � ��C�C�� � B�F����AC� � FA�AEF ��� � ����

B�����A������FA�������� � � A���������E����F�� �#���EA���$CFC��CF �� ����C����A����A� �

��B�����A�����C�C�������������

!

Page 9: Python Photogrammetry Toolbox: A free solution for Three

0BA ED����ED

+�A���+��A�������A�������(�,��++���CF���EF�����C���������CB�AC��A����������5.�

�C�CA���B��C�F�����CBAE����FB��F ��A�����C��F�������B�FA�����A�(���F��EAC��A��A����F����C��BA�

�BB�FF�A���A�EBAE����������AC�������������������F���������C��������A����������������

��B�FE����B����� ��A����F����ACBE������CA���FAC�����F��BAC���C�A����C���������B�������CB���

��BE��A�AC���E��A��A�����BA�A��A��������,�B������CF��EB��B�������A�������F���FB��� �&�

��FFC(�������(�B!��� � A���BE���A �F��EAC��CF � A��A � CA �EF�F ������AE�� �detector/descriptor for

image matching (SIFT algorithm) that is under Patent in the USA. A rewritten and optimized

version of SIFT is included inside VLFeat (an Open and Portable Library of Computer

Vision Algorithms, released under GPL v. 2). This can't completely solve the license

problem but most of the users are aware of those constraints.

A direct comparison between SfM/IBM and hardware technology (laser scan) or other

photogrammetric applications is certainly possible, but it is not the objective of this article.

All these techniques are different in their approach, but they lead to similar results. The

choice of one of these methods depends on various factors: environmental characteristics of

the site, economic budget of the project and technical skills of the staff. Anyway SfM/IBM is

able to satisfy some of the basic needs of a typical archaeological project: the reduction of

costs related to equipment, a fast and simple data collection process and a low-interactive

and easy data processing. For these reasons SfM/IBM is a viable alternative to more

expensive (laserscan) or more technically complex (stereo-photogrammetric restitution)

methods. From an archaeological point of view, the final intent is to acquire three-

dimensional morphology of the layers that the excavation irreparably destroyed and to create

a virtual copy of the archaeological record to allow continuous monitoring and further

analysis. The good results achieved in a such fast way can be used to extract 3D volume

(voxel) of each stratigraphic level, applying free software like GRASS, Blender and

ParaView4E.

++��CF�������F�E�B��F��EAC���A��A���!��5.���B�FA�EBAC�������C����F���FC����C�

��CB��EF���B�A�C(EAC���C�������EB��(���CA���������A���B���ECA� ��A�CF����,�������������

A���B��(C�AC�����%16������7�BAF�B��B�A�C(EA��A��FBC�AC�CB������A�������CB���������FF �

��� � �EAE�� � C������A�AC� � �C�� � B�FC��� � �E�AC�A����� � B���EA�AC�� � ��������B��

C��������A�����EBAC���CA�����CAC� �

��DE%��F����D��

��CF����!������(����������FFC(����E��A������C�C�C�E�� �6�����E�B��CCAC�AC�� �

>� � A��!F � ���ACBE����� � <��� � ������ � ��� � �E���� � F�E�B�F� � H�FEA�!� � %E�E!��� � ����

#�$�-+�$��F�E�B�F����$���C�C��2�CFA��A�������A����F��(E�����CCAC�AC��

1����E�����(

�2����+A�334

� �&���������< ����������� ��C������ �� ���CA/���; ��/��CF!C�����������ABC����D��DEF�C��##$�4FFE��C4�CE �

1�5A�336= �����O�& �2FF���� ��E�A�����F�O�1 �$��3������������CC�C�����A������CD���C�F�C�#$�0�4FFD��5?A�5@E

1788CA�330

& ���//C�O�1 ���//C�O�. �%��BCFBC�O�; �3C�A������������A�����A�C������DB�A�D���CA�A���A��C�3����ACB�>��!(��!F��A��4FFA

,��9�A�3�3

29 Bezzi 2006.

Page 10: Python Photogrammetry Toolbox: A free solution for Three

�P ��� �%�����O�+ �3���������. �3���E��O�� �P��F��O�; �;��E����O�# �>E�O�H �= �P��O�2 �.E���� �#�C������ �

1�/�(C!�����������ABC�A��D� �A���C���!DEF�C�2##$�4F9F��5AD�5D9

,:�:;���A�3�3H �%E�E!����O�� �#E���FF�O�� �� ���CA/�O�; ��/��CF!C �"A#D����$��C��C�%��D�C�B����%��C#���C�CA��C�#$+;�4F9F��

9?5?�9??9

+<�7A�33#. �3 �1�����!���������C��BD�C�&CD���C��&�AB���D�C%���D��D���'CE�A����F�C��P#$�4FF?��E9�99F

=C"'7�A�33#

. �<CFA��� �(��)&&���C����A����A���A���C����C%*A����C�D���C�*A�C�*�A��CB��C��222����F �+�AA���&�� ���B� ��A��� �4FF?��C@A�CCC

"=�$7+5A�336

< ��������O�� �� ���CA/�O�; ��/��CF!C �+A�C�������C�,A����&�AB�$��C��C��*�A�A� A��C���A��F�C��P#$�4FFD��9DE�49F

,������

%C� �F9*��A�EBAE����������AC�-��������F��������C�GF�FA���������!����

%C� �F4*�������FA��F������������AB�C������C��������A�CB������

%C� �F5*�2FF�AC�����A�C,�2

%C� �F?*�;�F�BAC�

%C� �F@*��E����GF����!����

%C� �FA* ��E�AC��� �$C����A�����CFC� � ��$�� ������F � A� �B����A � C���� ��C,�� � A� �5.�

��CAF�FA��AC�������B��������F�F�����A�F������CCAC�����CA�B��E�

%C� �FC*�+�A���+��A�������A�������(�,�30�

%C� �FD* � �CAC�� � F��� � ����A�� ���AB� ��,��FC� � ��C����� ��� ����(����������A�C/�AC��

��C��A�

%C� �FE*��E�������FE�A��B��C(��AC�����A������A����+�$����FE�A����F����CA�B��E���

��A����C��A

%C� �9F*��+�A���+��A�������A�������(�,��C���C�

%C� �99*�;E�E������C���C�

%C� �94*�;E#�$���C���C�

%C� �95*���F���������B�������CB���������C�3����C���0C���FCA������F(�EB!���FACAEA�

�E���&�A��3�FB�CB�A��E��&�A��C�A��CFAC!��� �=�CFB�����> �IEA���

%C� � 9?* � �A��AC������ � �(�A� � ���ACB�� � �� � ���C/�A��� � �� � � � ��B�������CB�� � A��B��

�����CA���/������C�(�C���B������CBC�����%�CE�C�$��/C��3CE�C��O�� �%��FFC��

%C� �9@*�.�F����CA�B��E�F����A�����EF���E������������CB�C�;������0C���FCA�����

0�C��O�� ����B�C�

%C� �9A*��FC���A�����EF���E������������CB�C�;������0C���FCA�����0�C��O�� �

���B�C�

%C� �9C*���F��������BC�A���F����BE��A���"C�FCAE'� �����CA���/������C�(�C�

��B������CBC�����%�CE�C�$��/C��3CE�C��O�� �%��FFC��

%C� �9D*�5.�������������������C��A���BE��A���C���(���A���������CA���/������C�

(�C��C(���C����B�C�CFACBC�����B������CBC�������+���CBC��&EA������C����A��O�< �+CFE�

%C� �9E*�.�F����CA�B��E�F�������E���F!E�������A���,A��BA���������CBAE��F�A�!��(����

�C, � B����� � �� � "���F�' � �C����CAF � ��C��A� � ��� � �(7�BA � ��F � ��A�AC� � EFC� � � � AE�A�(���

�����CA���/������C�(�C��C(���C����B�C�CFACBC�����B������CBC�������+���CBC��&EA������C �

���A��O�< �+CFE�

%C� � 4F* � ����F� � ��CA � B��E�F � �� � � � �BC�A � ��F� � �(A�C�� � ���� � �CBAE��F �A�!� � (��

���A�E�F � ��� ��A��� ��E���F�F ��0C���FCA� ��� � �F(�EB!� � �FACAEA � �E�� �&�A� �3�FB�CB�A� �E��

&�A��C�A��CFAC!��� �=�CFB�����> �IEA���

%C� �49*����������������������FE���B���,A��BA�����������A�F� A�!��C�4FF@� �A�����

Page 11: Python Photogrammetry Toolbox: A free solution for Three

����F �(����� � A��� �����F���� ��E���� �F 9� �����CA���/� ���� � C �(�C � �C(���C� ���B�C�CFACBC ���

��B������CBC�������+���CBC��&EA������C����A��O�< �+CFE�

���������ED

�!�����A�<:+<=A��&3�<2-1�3���0C���FCA��+��CF�2FA�Q��C!��F������

�AA�*--C���C� ��B ����AA�*--�C!��FC���� �E

���R�C!��FC���� �E

�������DF�EA1788CA&�B�����F B

��������������AA�*--��� ��B�A��� B��-

����������������FF���� (�//CR��BA��� B��

�"

Page 12: Python Photogrammetry Toolbox: A free solution for Three

��

Page 13: Python Photogrammetry Toolbox: A free solution for Three

��