making small adjustments
This commit is contained in:
Родитель
b9b33b1858
Коммит
5525a4fce5
10
README.md
10
README.md
|
@ -6,7 +6,7 @@
|
|||
# SynthDet: An end-to-end object detection pipeline using synthetic data
|
||||
[![license badge](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE.md)
|
||||
## Overview
|
||||
SynthDet is an open source project that demonstrates an end-to-end object detection pipeline using synthetic image data. The project includes all the code and assets for generating a synthetic dataset in Unity. Based on recent [research](#Citation), SynthDet utilizes Unity's Perception package to generate highly randomized images of 63 common grocery products (example: cereal boxes and candy) and export them along with appropriate labels and annotations (2D bounding boxes). The synthetic dataset generated can then be used to train a deep learning based object detection model.
|
||||
SynthDet is an open source project that demonstrates an end-to-end object detection pipeline using synthetic image data. The project includes all the code and assets for generating a synthetic dataset in Unity. Based on recent [research](#Citation), SynthDet utilizes Unity's [Perception](https://github.com/Unity-Technologies/com.unity.perception) package to generate highly randomized images of 63 common grocery products (example: cereal boxes and candy) and export them along with appropriate labels and annotations (2D bounding boxes). The synthetic dataset generated can then be used to train a deep learning based object detection model.
|
||||
This project is geared towards ML practitioners and enthusiasts who are actively exploring synthetic data or just looking to get started.
|
||||
|
||||
### [Getting started with SynthDet](docs/Readme.md)
|
||||
|
@ -23,12 +23,12 @@ SynthDet was inspired by the following research paper from Google Cloud AI:
|
|||
Hinterstoisser, S., Pauly, O., Heibel, H., Marek, M., & Bokeloh, M. (2019). [*An Annotation Saved is an Annotation Earned: Using Fully Synthetic Training for Object Instance Detection.* ](https://arxiv.org/pdf/1902.09967.pdf)
|
||||
|
||||
## SynthDet Unity Project Development History
|
||||
### Current version:
|
||||
In March 2021, we released a new version of the SynthDet Unity project. In this version, we have rebuilt the project in order to demonstrate proper integration and usage of the latest Perception package, including the new Randomization toolset. Additionally, users will find the code of this version more accessible and extensible, and the UI more usable and intuitive toward customization.
|
||||
### Current version
|
||||
In March 2021, we released a new version of the SynthDet Unity project. In this version, we have rebuilt the project in order to demonstrate proper integration and usage of the latest Perception package, including the new Randomization toolset. Additionally, users will find the code more accessible and extensible, and the UI more usable and intuitive toward customization.
|
||||
|
||||
Early experiments with datasets generated using the new project have shown very similar model-training performance to that of the original one.
|
||||
|
||||
### Original version:
|
||||
### Original version
|
||||
The original version of the SynthDet Unity project was developed in tandem with the early versions of Unity's Perception package. This project closely followed the synthetic data generation method introduced by the above mentioned Google Cloud AI paper. To access this original project, and for more details on how it was implemented to replicate the research paper, please visit the [SynthDet_Original](https://github.com/Unity-Technologies/SynthDet/tree/SynthDet_Original) branch of this repository. The results reported in our related blog posts were based on this original project.
|
||||
|
||||
## Support
|
||||
|
@ -44,7 +44,7 @@ If you find this package useful, consider citing it using:
|
|||
title={Training a performant object detection {ML} model on synthetic data using {U}nity {P}erception tools},
|
||||
author={You-Cyuan Jhang and Adam Palmar and Bowen Li and Saurav Dhakad and Sanjay Kumar Vishwakarma and Jonathan Hogins and Adam Crespi and Chris Kerr and Sharmila Chockalingam and Cesar Romero and Alex Thaman and Sujoy Ganguly},
|
||||
howpublished = {\url{https://blogs.unity3d.com/2020/09/17/training-a-performant-object-detection-ml-model-on-synthetic-data-using-unity-computer-vision-tools/}},
|
||||
journal={Unity Techonologies Blog},
|
||||
journal={Unity Technologies Blog},
|
||||
publisher={Unity Technologies},
|
||||
year={2020},
|
||||
month={Sep}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
## Essentials
|
||||
|
||||
1. Download and install the latest version of **[Unity 2020.3](https://unity3d.com/get-unity/download)**
|
||||
2. Use the commands below to clone the [SynthDet repository](https://github.com/Unity-Technologies/SynthDet) and initialize the LFS (large file storage) submodules:
|
||||
```bash
|
||||
1. Download and install the latest version of **[Unity 2020.3](https://unity3d.com/get-unity/download)**. When prompted during installation, make sure the **Linux Build Support (Mono)** module is checked.
|
||||
2. Use the commands below to clone the SynthDet repository and initialize the LFS (large file storage) submodules:
|
||||
```
|
||||
git lfs install
|
||||
git clone https://github.com/Unity-Technologies/SynthDet
|
||||
cd SynthDet
|
||||
|
@ -12,7 +12,7 @@ git submodule update --init --recursive
|
|||
```
|
||||
>The submodule in this repository uses HTTPS authentication. If the commands prompts you for a username and password, create a [personal authentication token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).
|
||||
|
||||
The SynthDet repository uses Git LFS for many of the files in the project. To verify that LFS is properly initialized, you can check the behavior of these files in the Unity Editor. In the sample project, open the **SynthDet** Scene and enter Play mode.
|
||||
The SynthDet repository uses Git LFS for many of the files in the project. To verify that LFS is properly initialized, you can check the behavior of these files in Unity Editor. In the sample project, open the **SynthDet** Scene and enter Play mode.
|
||||
|
||||
* If LFS is correctly initialized, the **SynthDet** Scene should run as normal.
|
||||
* If LFS is not correctly initialized, a message saying "Display 1 No Cameras Rendering" appears.
|
||||
|
@ -28,7 +28,7 @@ This should re-initialize LFS.
|
|||
|
||||
## Additional Requirements
|
||||
|
||||
### For Using Dataset Insights
|
||||
### For using Dataset Insights
|
||||
In order to use the provided SynthDet Statistics Jupyter notebook to visualize statistics for your datasets, you will need to install Conda. We recommend [Miniconda](https://docs.conda.io/en/latest/miniconda.html).
|
||||
|
||||
|
||||
|
@ -37,7 +37,7 @@ In order to use the provided SynthDet Statistics Jupyter notebook to visualize s
|
|||
#### Unity account
|
||||
You need a Unity account in order to submit simulations to the Unity Simulation service. If you do not have a Unity account, [sign up](https://id.unity.com) for a free account.
|
||||
|
||||
#### Unity Simulation account and CLI
|
||||
#### Unity Simulation account and command line interface
|
||||
Follow these instructions to gain access to Unity Simulation and set up its command line interface:
|
||||
1. Sign up for access on the [Unity Simulation](https://unity.com/products/simulation) page.
|
||||
2. Download the latest version of `unity_simulation_bundle.zip` from [here](https://github.com/Unity-Technologies/Unity-Simulation-Docs/releases).
|
||||
|
@ -59,5 +59,5 @@ To use Unity Simulation, your Unity installation needs to have Linux Build Suppo
|
|||
3. If the Linux Build Support (Mono) option is already checked, it means you have already installed this module. If not, check the option and click ***Done***.
|
||||
|
||||
<p align="center">
|
||||
<img src="images/linux_build_support.PNG" width = "800"/>
|
||||
<img src="images/linux_build_support.png" width = "800"/>
|
||||
</p>
|
Загрузка…
Ссылка в новой задаче