dataesr/scientific-paragraphs-categorization huggingface dataset:
elixir-europe. org/excelerate/plants) or EMPHASIS (http://emphasis. plant-phe notyping. eu/). Taken together, the functionalities present in PHIS may allow assembling a number of datasets from different installations in controlled and field conditions (including phenotypic, environmental and contextual information), resulting in an unprecedented amount of information that can be reused, combined and reanalysed to generate new knowledge. This can be of particular interest for covering the necessities of most phenotyping installations not having the appropriate tools for storing, organizing and managing phenomic data, as well as for data management strategies for networks of installations. Nevertheless, PHIS can also be adapted to local software and databases and used as a mapping layer enabling interoperability between information systems.
Acknowledgements This work was supported by the ' Infrastructure Biologie Sant  e'  PHENOME-EMPHASIS  project ( ANR-11-INBS-0012 ) funded by the  National Research Agency  and the  'Programme d'Investissements d'Avenir' (PIA). Arnaud Charleroy ,  Guilhem Heinrich ,  Morgane Vidal ,  Alexandre Mairin ,  Isabelle Nembrot  and  Pierre-Etienne Alary  are acknowledged for their contributions to software and documentation development. We are grateful to  Claude Welcker  for designing experiments and to all members at the  DIAPHEN  and  M3P  platforms for providing technical support, conducting the experiments and collecting data. France-Grilles and  Patrick Moreau  are acknowledged for providing computing resources on the  French National Grid Infrastructure.
Local terms Reference terms Ear Track The OEPO and OEEv ontologies allow tracking this event by going backwards in order (a) NDVI variable:v000005 oepo:hasTrait oepo:hasUnit oepo:hasMethod NDVI variable:t000002 NDVI-Measurement index variable:u000003 variable:m000005 skos:exactMatch skos:exactMatch skos:exactMatch Crop Ontology Crop Ontology Crop Ontology CO_322:0000132 CO_322:0000361 CO_322:0000372 (b) Silk_volume variable:v000021 oepo:hasTrait oepo:hasUnit oepo:hasMethod Silk_volume Silk_detecƟon_IlasƟk pixels variable:t000014 variable:m000020 variable:u000008 skos:narrowMatch skos:exactMatch Crop Ontology CO_322:0000013 CO_322:0000144 hƩps://github. com/o penalea/eartrack Unit Ontology UO:0000242.
But it does not perform well: because of intrinsic ambiguities in 2D-to-3D mapping, the algorithm recovers unnatural 3D geometries, though their projections may perfectly align with 2D annotations, as explored in  Lowe (1987). Synthetic 3D shapes help the network resolve this ambiguity by learning prior knowledge of "plausible shapes". Without the projection layer, the system becomes two separately trained networks: one trained on real images to estimate 2D keypoint heatmaps, and the other trained on synthetic data to estimate 3D structure. As shown in Section 4, the 3D predictions in this case are not as accurate due to the domain adaptation issue. Several experiments demonstrate the effectiveness of 3D-INN. First, the proposed network achieves good performance on various keypoint localization datasets, including FLIC  (Sapp and Taskar 2013)  for human bodies, CUB-200-2011  (Wah et al 2011)  for birds, and our new dataset, Keypoint-5, for furniture.
We then evaluate our network on IKEA  (Lim et al 2013) , a dataset with ground truth 3D object structure and viewpoints. We augmented the original IKEA dataset with additional 2D keypoint labels. On 3D structure estimation, 3D-INN shows its advantage over an optimizationbased method  (Zhou et al 2015)  when keypoint estimation is imperfect. On 3D viewpoint estimation, it also performs better than the state of the art  (Su et al 2015). We further evaluate 3D-INN, in combination with an object detection framework, R-CNN  (Girshick et al 2014) , on PASCAL 3D+ benchmark  (Xiang et al 2014)  for joint detection and viewpoint estimation. 3D-INN also achieves results comparable to the state of the art  (Su et al 2015; Tulsiani and Malik 2015). At last, we show that 3D-INN has wide vision applications including 3D object retrieval.
Related work Single Image 3D Reconstruction Previous 3D reconstruction methods mainly modeled objects using either dense representations such as depth or meshes, or sparse representations such as skeletons or pictorial structure. Depth-/meshbased models can recover detailed 3D object structure from a single image, either by adapting existing 3D models from a database  (Aubry et al 2014; Satkin et al 2012; Su et al 2014; Huang et al 2015; Zeng et al 2016; Wu et al 2016; Hu and Zhu 2015; Bansal and Russell 2016; Shrivastava and Gupta 2013; Choy et al 2016) , or by inferring from its detected 2D silhouette  (Kar et al 2015; Soltani et al 2017; Vicente et al 2014; Prasad et al 2010; Wu et al 2017). In this paper, we choose to use a skeleton-based representation, exploiting the power of abstraction.
2D Keypoint Estimation Data For 2D keypoint estimation, we evaluate our algorithm on three image datasets: FLIC  (Sapp and Taskar 2013)  for human bodies, CUB-200-2011  (Wah et al 2011)  for birds, and a new dataset Keypoint-5 for furniture. Specifically, FLIC is a challenging dataset containing 3,987 training images and 1,016 test images, each labeled with 10 keypoints of human bodies. The CUB-200-2011 dataset was originally proposed for fine-grained bird classification, but with labeled keypoints of bird parts. It has 5,994 images for training and 5,794 images for testing, each coming with up to 15 keypoints. We also introduce a new dataset, Keypoint-5, which contains five categories: bed, chair, sofa, swivel chair, and table. There are 1,000 to 2,000 images in each category, where 80% are for training and 20% for testing.
For each image, we asked three workers on Amazon Mechanical Turk to label locations of a pre-defined category-specific set of keypoints; we then, for each keypoint, used the median of the three labeled locations as ground truth. Metrics To quantitatively evaluate the accuracy of estimated keypoints on FLIC (human body), we use the standard Percentage of Correct Keypoints (PCK) measure  (Sapp and Taskar 2013 ) to be consistent with previous works  (Sapp and Taskar 2013; Tompson et al 2014 Tompson et al , 2015)). We use the evaluation toolkit and results of competing methods released by  Tompson et al (2015). On  CUB-200-2011 (bird)  and the new Keypoint-5 (furniture) dataset, following the convention  (Liu and Belhumeur 2013; Shih et al 2015) , we evaluate results in Percentage of Correct Parts (PCP) and Average Error (AE).
PCP is defined as the percentage of keypoints localized within 1. 5 times of the standard deviation of annotations. We use the evaluation code from  (Liu and Belhumeur 2013)  to ensure consistency. Average error is computed as the mean of the distance, bounded by 5, between a predicted keypoint location and ground truth. Results For 2D keypoint detection, we only train the keypoint estimator in our 3D-INN (Figure  4a  and 4b ) using the training images in each dataset. Figure  5  shows the accuracy of keypoint estimation on the FLIC dataset. On this dataset, we employ a fine-level network for post-processing, as suggested by  Tompson et al (2015). Our method performs better than all previous methods (Sapp and Taskar 2013;    (2015). Such improvement is also demonstrated in Figure  6 , where the heatmaps after refinement are far less noisy.
The accuracy of keypoint estimation on CUB-200-201 dataset is listed in Table  1. Our method is better than  Liu and Belhumeur (2013)  in both metrics, and is comparable to the state-of-the-art  (Shih et al 2015). Specifically, compared with  Shih et al (2015) , our model more precisely estimates the keypoint locations for correctly detected parts (a lower AE), but misses more parts in the detection (a lower PCP). On our Keypoint-5 dataset, our model achieves higher PCPs and lower AEs compared to the state-of-the-art  (Tompson et al 2015)  for all categories, as shown in Table  2. These experiments in general demonstrate the effectiveness of our model on keypoint detection.
3D Structure and Viewpoint Estimation For 3D structural parameter estimation, we evaluate 3D-INN from three different perspectives. First, we evaluate our 3D interpreter (Figure  4c  alone) against the optimization-based method  (Zhou et al 2015). Second, we test our full pipeline on the IKEA dataset  (Lim et al 2013) , where ground truth 3D labels are available, comparing with both baselines and the state-of-the-art. Third, we show qualitative results on four datasets: Keypoint-5, IKEA, the SUN database  (Xiao et al 2010) , and PASCAL 3D+  Xiang et al (2014). Comparing with an optimization-based method. First, we compare our 3D interpreter (Figure  4c ) with the state-ofthe-art optimization-based method that directly minimizes re-projection error (Equation  2 ) on the synthetic data. As most optimization based methods only consider the parallel projection, while we model perspective projection for real images, we extend the one by  Zhou et al (2015)  as follows: we first uses their algorithm to get an initial guess of internal parameters and viewpoints, and then applying a simple gradient descent method to refine it considering perspective distortion.
As the original algorithm by  Zhou et al (2015)  was mainly designed for the parallel projection and comparatively clean heatmaps, our 3D interpreter outperforms it in the presence of noise and perspective distortion, as shown in Figure  7. Our algorithm is also efficient, taking less than 50 milliseconds for each test image. Evaluating the full pipeline. We now evaluate 3D-INN on estimating 3D structure and 3D viewpoint. We use the IKEA dataset  (Lim et al 2013)  for evaluation, as it provides ground    truth 3D mesh models and the associated viewpoints for testing images. We manually label ground truth 3D keypoint locations on provided 3D meshes, and calculate the rootmean-square error (RMSE) between estimated and ground truth 3D keypoint locations. As IKEA only has no more than 200 images per category, we instead train 3D-INN on our Keypoint-5, as well as one million synthetic data points, using the strategy described in Section 3.
3. Note that, first, we are only using no more than 2,000 real images per category for training and, second, we are testing the trained model on different datasets, avoiding possible dataset biases  (Torralba and Efros 2011). We first compare with a baseline method to evaluate our training paradigm: we show quantitative comparisons between 3D-INN trained using our paradigm proposed in Section 3. 3, and the same network but only end-to-end trained with real images, without having the two pre-training stages. We called it the scratch model. As shown in the RMSE-Recall curve in Figure  8 , 3D-INN performs much better than scratch on both 3D structure and viewpoint estimation. The average recall of 3D-INN is about 20% higher than scratch in 3D structure estimation, and about 40% higher in 3D pose estimation.
The last column shows failure cases. point estimation and perspective distortions, while our 3D-INN can deal with them. Also, fine-tuning improves the accuracy of keypoint estimation by about 5% under the RMSE threshold 0. 15. Though we focus on recovering 3D object structure, as an extension, we also evaluate 3D-INN on 3D viewpoint estimation. We compare it with the state-of-the-art viewpoint estimation algorithm by  Su et al (2015). The right half of Figure  9  shows the results (recall) in azimuth angle. As shown in the table, 3D-INN outperforms  Su et al (2015)  by about 40% (relative), measured in average recall. This is mainly because it is not straightforward for  Su et al (2015) , mostly trained on (cropped) synthesized images, to deal with the large number of heavily occluded objects in the IKEA dataset.
Although our algorithm assumes a centered object in an input image, we can apply it, in combination with an object detection algorithm, on images where object locations are unknown. We evaluate the results of joint object detection and viewpoint estimation on PASCAL 3D+ dataset  (Xiang et al 2014). PASCAL 3D+ and Keypoint-5 has two overlapping categories: chair and sofa, and we evaluate on both. We also study an additional object category, car, for which 3D-INN is trained on 1,000 car images from ImageNet (Russakovsky et al 2015) with 2D keypoint annotations. Following  Tulsiani and Malik (2015) , we use non-occluded and non-truncated objects for testing. We use the standard R-CNN  (Girshick et al 2014)  for object detection, and our 3D-INN for viewpoint estimation. Table  3  shows that 3D-INN is comparable with Viewpoints and Keypoints (V&K by  Tulsiani and Malik (2015) ), and outperforms other algorithms with a significant margin.
Both 3D-INN and V&K use R-CNN  (Girshick et al 2014)  for object detection (we use the R-CNN detection results provided by  Tulsiani and Malik (2015) ); this rules out the influence of object detectors. Further, while all the other algorithms are trained on either PASCAL VOC or PASCAL 3D+, ours is trained on Keypoint-5 or ImageNet. This indi-cates our learned model transfers well across datasets, without suffering much from the domain adaptation issue. Qualitative results on benchmarks. We now show qualitative results on Keypoint-5, IKEA, the SUN database  (Xiao et al 2010) , and the PASCAL 3D+ dataset  (Xiang et al 2014)  in Figure  10. When the image is clean and objects are not occluded, our algorithm can recover 3D object structure and viewpoint with high accuracy. Fine-tuning further helps to improve the results (see chairs at row 1 column 1, and row 4 column 1).
Applications The inferred latent parameters, as a compact and informative representation of objects in images, have wide applications. In this section, we demonstrate representative ones including 3D object rendering, image retrieval, and object graph visualization. 3D Object Rendering Given an estimated 3D object structure, we can render it in a 3D graphics engine like Blender, as shown in Figure  13. Image Retrieval Using estimated 3D structural and viewpoint information, we can retrieve images based on their 3D configurations. Figure  14  shows image retrieval results using FC7 features from AlexNet  (Krizhevsky et al 2012)  and using the 3D structure and viewpoint learned by 3D-INN. Our retrieval database includes all testing images of chairs and sofas in Keypoint-5. In each row, we sort the best matches of the query image, measured by Euclidean distance in a specific feature space.
It is also possible to our 3D-INN to use multi-view data when they are available  (Kar et al 2017) , and more generally, to integrate viewer-centered and object-centered representations in a principled manner  (Hinton 1981). 3D-INN estimates the 3D skeleton and pose of an object from an RGB image, and can therefore be applied to the enormous existing RGB data. But we are also aware that depth sensors have recently become affordable to end users  (Newcombe et al 2011) , and large-scale RGB-D datasets are being built  (Song et al 2017; McCormac et al 2017). Depth data help to resolve the ambiguity in the projection from 3D shapes to 2D images, allow object structure prediction in metric scale, and enable wide applications  (Chen et al 2012). Hence, a promising future research topic would be to extend the current framework to handle depth data, while enforcing the 2D-3D differentiable consistencies in various forms  (Tulsiani et al 2017; Wu et al 2017).
Acknowledgement This work is supported by  NSF   Robust Intelligence 1212849  and  NSF  Big Data  1447476  to W. F. ,  NSF  Robust Intelligence  1524817  to A. T. , ONR MURI  N00014-16-1-2007  to J. B. T. ,  Shell Research , the  Toyota Research Institute , and the  Center for Brain, Minds and Machines (NSF STC  award  CCF-1231216 ). The authors would like to thank  Nvidia  for GPU donations. Part of this work was done when  Jiajun Wu  was an intern at  Facebook AI Research , and  Tianfan Xue  was a graduate student at  MIT CSAIL.
Input/output (I/O) attacks have received increasing attention during the last decade. These attacks are performed by malicious peripherals that make read or write accesses to DRAM memory or to memory embedded in other peripherals, through DMA (Direct Memory Access) requests. Some protection mechanisms have been implemented in modern architectures to face these attacks. A typical example is the IOMMU (Input-Output Memory Management Unit). However, such mechanisms may not be properly configured and used by the firmware and the operating system. This paper describes a design weakness that we discovered in the configuration of an IOMMU and a possible exploitation scenario that would allow a malicious peripheral to bypass the underlying protection mechanism. The exploitation scenario is implemented for Intel architectures, with a PCI Express peripheral Field Programmable Gate Array, based on Intel specifications and Linux source code analysis.
As a consequence, the drivers can configure virtual addresses into peripheral DMA configuration registers. Furthermore, since DMAR has a two-level address translation mechanism, the same strategy can even be used within virtual machines and pass-through drivers. Consequently, virtualized MMU mappings can be easily matched to IOMMU mappings by the hypervisors. The IOMMU also brings similar advantages as the MMU in the cores. It is for example possible to detect faulty devices accessing unmapped physical pages because of software or hardware bugs. From the security point of view, the filtering feature of DMAR allows to immediately cope with the largest part of legacy I/O attacks, if properly configured. The next section introduces the basic concepts of DMAR configuration which are necessary to understand our attack.
To our knowledge, this vulnerability has not yet been exploited to date. In 2011, Wojtczuk and Rutkowska succeeded to attack Xen hypervisor, with an active IOMMU, using malicious Message-Signaled Interrupts (MSI)  [11]. The main idea is to reproduce the obsolete bouncing I/O attack in which software could use peripherals' capability to DMA in order to modify kernel memory space. To bypass the protection, authors use the capability of devices, here an Intel e1000 network controller, to set an arbitrary interrupt vector into an MSI, to remotely fire a hypercall. If the malicious hypercall is issued when the virtual machine is executing a specific system call, which is controlled by unprivileged malicious application code, it is possible to execute a remote buffer overflow with hypervisor execution privileges.
Even if most of these attacks are today inefficient in recent architectures, they highlight the fact that the configuration of the IOMMU by the firmware and IOMMU Linux driver in recent kernels presents new weaknesses that could be exploited by an attacker. More recently, authors of  [12]  presented a boot time DMA attack allowing an attacker to recover macOS FileVault2 passwords, using a thunderbolt device. This attack leverages the same vulnerability we had previously introduced in  [13]  and  [1] , which allows DMA at boot time before the activation of any protection mechanism. Also, this vulnerability has been highlighted in a developers mailing list of the coreboot x86 firmware project  [14]. The next section details this vulnerability and presents an attack scenario in which one can directly bypass IOMMU protection against I/O Attacks.
Bypassing IOMMU This section describes some weaknesses discovered in the firmware and the Linux kernel and discusses when and how these weaknesses can be exploited to bypass DMAR. The observations presented in this section are based not only on the Intel documentation, but also on the information collected empirically with the hypervisor and Field Programmable Gate Array (FPGA) malicious peripheral prototypes presented in the next section. The experiments performed in our study are based on Dell machine precision T1700, with the following technical details: firmware A06 (12/05/2013); Linux 4. 3. 4 (with IOMMU_INTEL=y); Intel i7-4770 processor; chipset Intel PCH c220; bootloader grub 2. 02. beta2.
PCI Express bridges early configuration Nowadays, DMA is granted early by firmwares to all peripherals, mainly for compatibility reasons. The reason is that modern kernels, in our case Linux, do not seem to know how to deal with PCI Express bridges configuration. This is a common fact that we have verified on our target firmware architecture and which is also widely acknowledged in open source firmware projects  [14]. More precisely, PCI Express bridges configuration contains the Bus Master Enable (BME) bit which controls the upstream communications, i. e. , if the messages generated by child devices are allowed to go upstream and so perform DMA. As a consequence, devices can initiate DMA requests long before IOMMU configuration and kernel loading.
IOMMU configuration After the firmware operations, the kernel is uncompressed and loaded by the bootloader (GNU GRUB in our experiment). Linux kernel modules and drivers are then loaded and initialized. DMAR is configured by one of these drivers. The Intel IOMMU driver creates the translation structures and writes them in the main DRAM. It builds the address translation domains and device to domain mapping before copying the root table pointer into the associated register. Finally, the driver activates DMAR by setting the TE bit of the GCMD Register. Let us note that these structures are stored in memory in areas not protected by any security mechanism.
Prerequisites The attack scenario requires to locate the root of IOMMU configuration in memory by reading the RTAR register. As explained in the previous sections, this address remains constant and the RTAR register can be easily read within a Linux kernel module loaded at runtime. The attack requires a free memory page. As the physical memory map does not change between two reboots, the attacker can easily find free memory pages using the coloring technique to see if any software has modified the page during the boot process. One can color a page during the preboot phase, using an UEFI custom application and can read it after the boot process using the dd command on /dev/mem file for example.
When Linux begins its execution, it first writes its own root table (steps 1 and 2). The second step to be performed by the attacker is to overwrite the root table entry associated to her device. If the corrupted device is connected to  To maximize the chances to actually overwrite the root table entry during the write window, the malicious peripheral floods the bus with PCI Express write requests to the sixth entry of the root table (step ∞). Finally, Linux activates the IOMMU (step 3) with compromised DMAR structures. From now, the malicious peripheral can perform any DMA.
Preliminary hypervisor-based implementation Abyme is used as a privileged tool to monitor IOMMU configuration events. The goal here is to perform, with software, the steps (0) and (∞) of the attack implementation. Since x86 hypervisors share DRAM physical address space with PCI Express peripherals, the simulation of the preceding steps in our hypervisor is close enough to the malicious peripheral point of view. Abyme library allows the developer to register hooks which are functions called back when selected virtual machine interruptions occur. It is also possible to reconfigure virtual machine level memory translation, remap pages, or change their access control in order to generate memory access faults and trigger the corresponding hook. To simulate the attack, our strategy is as follows.