This commit is contained in:
Yazeed Alaudah 2022-09-08 19:41:52 +00:00 коммит произвёл GitHub
Родитель 41b827cff4
Коммит b3d6673002
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
7 изменённых файлов: 26 добавлений и 16 удалений

Просмотреть файл

@ -6,7 +6,7 @@ Action recognition (also known as activity recognition) consists of classifying
![](./media/action_recognition2.gif "Example of action recognition")
We implemented two state-of-the-art approaches: (i) [I3D](https://arxiv.org/pdf/1705.07750.pdf) and (ii) [R(2+1)D](https://arxiv.org/abs/1711.11248). This includes example notebooks for e.g. scoring of webcam footage or fine-tuning on the [HMDB-51](http://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/) dataset. The latter can be accessed under [scenarios](../scenarios) at the root level.
We implemented two state-of-the-art approaches: (i) [I3D](https://arxiv.org/pdf/1705.07750.pdf) and (ii) [R(2+1)D](https://arxiv.org/abs/1711.11248). This includes example notebooks for e.g. scoring of webcam footage or fine-tuning on the [HMDB-51](http://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/) dataset. The latter can be accessed under [scenarios](../../scenarios) at the root level.
We recommend to use the **R(2+1)D** model for its competitive accuracy, fast inference speed, and less dependencies on other packages. For both approaches, using our implementations, we were able to reproduce reported accuracies:

Просмотреть файл

@ -12,7 +12,7 @@ While there's a wide range of crowd counting models, two practical matters need
- Speed. To support near real time reporting, the model should run fast enough.
- Crowd density. We need to allow for both high-density and low-density scenarios for the same camera. Most crowd counting models were trained using high density datasets and they tend not to work well for low density scenarios. On the other hand, models like Faster-RCNN work well for low density crowd but not so much for high density scenarios.
Based on evaluation of multiple implementations of Crowd Counting models on our propietary dataset, we narrowed down the models to two options: the Multi Column CNN model (MCNN) from [this repo](https://github.com/svishwa/crowdcount-mcnn) and the OpenPose model from [this repo](https://github.com/ildoonet/tf-pose-estimation). Both models met our speed requirements.
Based on evaluation of multiple implementations of Crowd Counting models on our propietary dataset, we narrowed down the models to two options: the Multi Column CNN model (MCNN) from [this repo](https://github.com/svishwa/crowdcount-mcnn) and the OpenPose model from [this repo](https://github.com/jiajunhua/ildoonet-tf-pose-estimation). Both models met our speed requirements.
- For high density crowd images, the MCNN model delivered good results.
- For low density scenarios, OpenPose performed well.
- When crowd density if unknown beforehand, we use a heuristic approach: the prediction from MCNN is used if the following conditions are met: OpenPose prediction is above 20 and MCNN is above 50. Otherwise, the OpenPose prediction used. The thresholds for the models can be changed depending on your scenario.

Просмотреть файл

@ -56,7 +56,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we load the model and make predictions. By default, we used the CrowdCountModlePose() function which uses OpenPose model as implemented by [this GitHub repo](https://github.com/ildoonet/tf-pose-estimation). \n",
"Here we load the model and make predictions. By default, we used the CrowdCountModlePose() function which uses OpenPose model as implemented by [this GitHub repo](https://github.com/jiajunhua/ildoonet-tf-pose-estimation). \n",
"\n",
"Another option is the CrowdCountModelMCNN() function which uses the MCNN model as implemented [here](https://github.com/svishwa/crowdcount-mcnn).\n",
"\n",

Просмотреть файл

@ -15,11 +15,11 @@
"source": [
"# Image Similarity Export\n",
"\n",
"In the Scenario->Image Similarity notebook [12_fast_retrieval.ipynb](12_fast_retrieval.ipynb) we implemented the approximate nearest neighbor search method to find similar images from a group of reference images, given a query input image. This notebook repeats some of those steps with the goal of exporting computed reference image features to text file for use in visualizing the results in an HTML web interface. \n",
"In the Scenario->Image Similarity notebook [12_fast_retrieval.ipynb](../../../scenarios/similarity/12_fast_retrieval.ipynb) we implemented the approximate nearest neighbor search method to find similar images from a group of reference images, given a query input image. This notebook repeats some of those steps with the goal of exporting computed reference image features to text file for use in visualizing the results in an HTML web interface. \n",
"\n",
"To be able to test the model in a simple HTML interface, we export: the computed reference image features, a separate text file of reference image file names, and thumbnail versions of the reference images. The first two files are initially exported as text files then compressed into zip files to minimuze file size. The reference images are converted to 150x150 pixel thumbnails and stored in a flat directory. All exports are saved to the UICode folder. Notebook **2_upload_ui** is used to upload the exports to your Azure Blob storage account for easy public access. \n",
"\n",
"It is assumed you already completed the steps in notebook [12_fast_retrieval.ipynb](12_fast_retrieval.ipynb) and have deployed your query image processing model to an Azure ML resource (container services, Kubernetes services, ML web app, etc.) with a queryable, CORS-compliant API endpoint."
"It is assumed you already completed the steps in notebook [12_fast_retrieval.ipynb](../../../scenarios/similarity/12_fast_retrieval.ipynb) and have deployed your query image processing model to an Azure ML resource (container services, Kubernetes services, ML web app, etc.) with a queryable, CORS-compliant API endpoint."
]
},
{
@ -374,9 +374,9 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python (cv)",
"display_name": "Python 3.6.9 64-bit",
"language": "python",
"name": "cv"
"name": "python3"
},
"language_info": {
"codemirror_mode": {
@ -388,7 +388,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
"version": "3.6.9"
},
"vscode": {
"interpreter": {
"hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
}
}
},
"nbformat": 4,

Просмотреть файл

@ -15,7 +15,7 @@ This directory contains a few helper notebooks that upload files and deploy mode
### Requirements
To run the code in the [2_upload_ui.ipynb](2_upload_ui.ipynb) notebook, you must first:
1. Install the [https://pypi.org/project/azure-storage-blob/](Azure Storage Blobs client library for Python)
1. Install the [Azure Storage Blobs client library for Python](https://pypi.org/project/azure-storage-blob/)
2. Have (or create) an Azure account with a Blob storage container where you would like to store the UI files
3. Note your Blob stoarge credentials to upload files programmatically; you will need:
a. Azure Account Name

Просмотреть файл

@ -91,12 +91,12 @@ The test set should contain images which resemble the population the model will
### How to speed up training?
- All images can be stored on a local SSD device, since HDD or network access times can dominate the training time.
- High-resolution images can slow down training due to JPEG decoding becoming the bottleneck (>10x performance penalty). See the [02_training_accuracy_vs_speed.ipynb](notebooks/02_training_accuracy_vs_speed.ipynb) notebook for more information.
- High-resolution images can slow down training due to JPEG decoding becoming the bottleneck (>10x performance penalty). See the [03_training_accuracy_vs_speed.ipynb](03_training_accuracy_vs_speed.ipynb) notebook for more information.
- Very high-resolution images (>4 Mega Pixels) can be downsized before DNN training..
### How to improve accuracy or inference speed?
See the [02_training_accuracy_vs_speed.ipynb](notebooks/02_training_accuracy_vs_speed.ipynb) notebook for a discussion around which parameters are important, and strategies to select a model optimized for faster inferencing speed.
See the [03_training_accuracy_vs_speed.ipynb](03_training_accuracy_vs_speed.ipynb) notebook for a discussion around which parameters are important, and strategies to select a model optimized for faster inferencing speed.
### How to monitor GPU usage during training?

Различия файлов скрыты, потому что одна или несколько строк слишком длинны