Commit b3247557 authored by Dheera Venkatraman's avatar Dheera Venkatraman
Browse files

add flag for saving images to summary; strings moved to common.py'

parents 75c931fd 2041d5ca
This diff is collapsed.
This diff is collapsed.
...@@ -29,6 +29,7 @@ https://scholar.googleusercontent.com/scholar.bib?q=info:l291WsrB-hQJ:scholar.go ...@@ -29,6 +29,7 @@ https://scholar.googleusercontent.com/scholar.bib?q=info:l291WsrB-hQJ:scholar.go
* Jonathan Huang, github: [jch1](https://github.com/jch1) * Jonathan Huang, github: [jch1](https://github.com/jch1)
* Vivek Rathod, github: [tombstone](https://github.com/tombstone) * Vivek Rathod, github: [tombstone](https://github.com/tombstone)
* Ronny Votel, github: [ronnyvotel](https://github.com/ronnyvotel)
* Derek Chow, github: [derekjchow](https://github.com/derekjchow) * Derek Chow, github: [derekjchow](https://github.com/derekjchow)
* Chen Sun, github: [jesu9](https://github.com/jesu9) * Chen Sun, github: [jesu9](https://github.com/jesu9)
* Menglong Zhu, github: [dreamdragon](https://github.com/dreamdragon) * Menglong Zhu, github: [dreamdragon](https://github.com/dreamdragon)
...@@ -89,6 +90,16 @@ reporting an issue. ...@@ -89,6 +90,16 @@ reporting an issue.
## Release information ## Release information
### April 2, 2018
Supercharge your mobile phones with the next generation mobile object detector!
We are adding support for MobileNet V2 with SSDLite presented in
[MobileNetV2: Inverted Residuals and Linear Bottlenecks](https://arxiv.org/abs/1801.04381).
This model is 35% faster than Mobilenet V1 SSD on a Google Pixel phone CPU (200ms vs. 270ms) at the same accuracy.
Along with the model definition, we are also releasing a model checkpoint trained on the COCO dataset.
<b>Thanks to contributors</b>: Menglong Zhu, Mark Sandler, Zhichao Lu, Vivek Rathod, Jonathan Huang
### February 9, 2018 ### February 9, 2018
We now support instance segmentation!! In this API update we support a number of instance segmentation models similar to those discussed in the [Mask R-CNN paper](https://arxiv.org/abs/1703.06870). For further details refer to We now support instance segmentation!! In this API update we support a number of instance segmentation models similar to those discussed in the [Mask R-CNN paper](https://arxiv.org/abs/1703.06870). For further details refer to
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
import numpy as np import numpy as np
import tensorflow as tf import tensorflow as tf
from tensorflow.python.framework import errors from tensorflow.python.framework import errors
from tensorflow.python.framework import ops
from object_detection.core import box_list from object_detection.core import box_list
from object_detection.core import box_list_ops from object_detection.core import box_list_ops
...@@ -509,9 +510,13 @@ class BoxListOpsTest(tf.test.TestCase): ...@@ -509,9 +510,13 @@ class BoxListOpsTest(tf.test.TestCase):
with self.assertRaises(ValueError): with self.assertRaises(ValueError):
box_list_ops.sort_by_field(boxes, 'misc') box_list_ops.sort_by_field(boxes, 'misc')
with self.assertRaisesWithPredicateMatch(errors.InvalidArgumentError, if ops._USE_C_API:
'Incorrect field size'): with self.assertRaises(ValueError):
sess.run(box_list_ops.sort_by_field(boxes, 'weights').get()) box_list_ops.sort_by_field(boxes, 'weights')
else:
with self.assertRaisesWithPredicateMatch(errors.InvalidArgumentError,
'Incorrect field size'):
sess.run(box_list_ops.sort_by_field(boxes, 'weights').get())
def test_visualize_boxes_in_image(self): def test_visualize_boxes_in_image(self):
image = tf.zeros((6, 4, 3)) image = tf.zeros((6, 4, 3))
......
...@@ -2279,7 +2279,11 @@ def resize_image(image, ...@@ -2279,7 +2279,11 @@ def resize_image(image,
return new_masks return new_masks
def reshape_masks_branch(): def reshape_masks_branch():
new_masks = tf.reshape(masks, [0, new_size[0], new_size[1]]) # The shape function will be computed for both branches of the
# condition, regardless of which branch is actually taken. Make sure
# that we don't trigger an assertion in the shape function when trying
# to reshape a non empty tensor into an empty one.
new_masks = tf.reshape(masks, [-1, new_size[0], new_size[1]])
return new_masks return new_masks
masks = tf.cond(num_instances > 0, resize_masks_branch, masks = tf.cond(num_instances > 0, resize_masks_branch,
......
...@@ -64,7 +64,7 @@ cd ${SCRATCH_DIR} ...@@ -64,7 +64,7 @@ cd ${SCRATCH_DIR}
# Download the images. # Download the images.
BASE_IMAGE_URL="http://images.cocodataset.org/zips" BASE_IMAGE_URL="http://images.cocodataset.org/zips"
# TRAIN_IMAGE_FILE="train2017.zip" TRAIN_IMAGE_FILE="train2017.zip"
download_and_unzip ${BASE_IMAGE_URL} ${TRAIN_IMAGE_FILE} download_and_unzip ${BASE_IMAGE_URL} ${TRAIN_IMAGE_FILE}
TRAIN_IMAGE_DIR="${SCRATCH_DIR}/train2017" TRAIN_IMAGE_DIR="${SCRATCH_DIR}/train2017"
...@@ -91,7 +91,7 @@ download_and_unzip ${BASE_IMAGE_INFO_URL} ${IMAGE_INFO_FILE} ...@@ -91,7 +91,7 @@ download_and_unzip ${BASE_IMAGE_INFO_URL} ${IMAGE_INFO_FILE}
TESTDEV_ANNOTATIONS_FILE="${SCRATCH_DIR}/annotations/image_info_test-dev2017.json" TESTDEV_ANNOTATIONS_FILE="${SCRATCH_DIR}/annotations/image_info_test-dev2017.json"
# # Build TFRecords of the image data. # Build TFRecords of the image data.
cd "${CURRENT_DIR}" cd "${CURRENT_DIR}"
python object_detection/dataset_tools/create_coco_tf_record.py \ python object_detection/dataset_tools/create_coco_tf_record.py \
--logtostderr \ --logtostderr \
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment