Skip to content

Commit e05cb7d

Browse files
committed
fixed failure case
1 parent 46c946a commit e05cb7d

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

demo.ipynb

+27-10
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
{
44
"cell_type": "code",
55
"execution_count": 1,
6-
"metadata": {},
6+
"metadata": {
7+
"collapsed": false
8+
},
79
"outputs": [
810
{
911
"name": "stderr",
@@ -202,7 +204,9 @@
202204
{
203205
"cell_type": "code",
204206
"execution_count": 20,
205-
"metadata": {},
207+
"metadata": {
208+
"collapsed": false
209+
},
206210
"outputs": [
207211
{
208212
"data": {
@@ -261,7 +265,9 @@
261265
{
262266
"cell_type": "code",
263267
"execution_count": 22,
264-
"metadata": {},
268+
"metadata": {
269+
"collapsed": false
270+
},
265271
"outputs": [
266272
{
267273
"name": "stdout",
@@ -383,7 +389,9 @@
383389
{
384390
"cell_type": "code",
385391
"execution_count": 23,
386-
"metadata": {},
392+
"metadata": {
393+
"collapsed": false
394+
},
387395
"outputs": [
388396
{
389397
"data": {
@@ -417,7 +425,9 @@
417425
{
418426
"cell_type": "code",
419427
"execution_count": 25,
420-
"metadata": {},
428+
"metadata": {
429+
"collapsed": false
430+
},
421431
"outputs": [
422432
{
423433
"data": {
@@ -536,6 +546,9 @@
536546
" for j in range(nB):\n",
537547
" vec = np.subtract(candB[j][:2], candA[i][:2])\n",
538548
" norm = math.sqrt(vec[0]*vec[0] + vec[1]*vec[1])\n",
549+
" # failure case when 2 body parts overlaps\n",
550+
" if norm == 0:\n",
551+
" continue\n",
539552
" vec = np.divide(vec, norm)\n",
540553
" \n",
541554
" startend = list(zip(np.linspace(candA[i][0], candB[j][0], num=mid_num), \\\n",
@@ -644,7 +657,9 @@
644657
{
645658
"cell_type": "code",
646659
"execution_count": 31,
647-
"metadata": {},
660+
"metadata": {
661+
"collapsed": false
662+
},
648663
"outputs": [
649664
{
650665
"data": {
@@ -688,7 +703,9 @@
688703
{
689704
"cell_type": "code",
690705
"execution_count": 32,
691-
"metadata": {},
706+
"metadata": {
707+
"collapsed": false
708+
},
692709
"outputs": [
693710
{
694711
"data": {
@@ -739,7 +756,7 @@
739756
"metadata": {
740757
"anaconda-cloud": {},
741758
"kernelspec": {
742-
"display_name": "Python 3",
759+
"display_name": "Python [default]",
743760
"language": "python",
744761
"name": "python3"
745762
},
@@ -753,9 +770,9 @@
753770
"name": "python",
754771
"nbconvert_exporter": "python",
755772
"pygments_lexer": "ipython3",
756-
"version": "3.6.1"
773+
"version": "3.5.2"
757774
}
758775
},
759776
"nbformat": 4,
760-
"nbformat_minor": 1
777+
"nbformat_minor": 0
761778
}

demo_image.py

+3
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ def process (input_image, params, model_params):
106106
for j in range(nB):
107107
vec = np.subtract(candB[j][:2], candA[i][:2])
108108
norm = math.sqrt(vec[0] * vec[0] + vec[1] * vec[1])
109+
# failure case when 2 body parts overlaps
110+
if norm == 0:
111+
continue
109112
vec = np.divide(vec, norm)
110113

111114
startend = list(zip(np.linspace(candA[i][0], candB[j][0], num=mid_num), \

0 commit comments

Comments
 (0)