[{"data":1,"prerenderedAt":377},["ShallowReactive",2],{"project-24493248":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":45,"post_text":46,"what":47,"said":80,"maker_in_thread":173,"shape":181,"grid":185,"attempts":338,"same_week":339,"maker_shows":183,"maker_hidden":369,"reader_version":370,"card":371},"24493248","Cortex license plate reader","Build a DIY license plate reader with machine learning","title","Show HN: Build a DIY license plate reader with machine learning","https:\u002F\u002Fgithub.com\u002Fcortexlabs\u002Fcortex\u002Ftree\u002Fmaster\u002Fexamples\u002Ftensorflow\u002Flicense-plate-reader","github.com","calebkaiser",1600267893,2020,190,60,297,3028,10,"notable","ai","computer vision license plate recognition","web_app",[24,25,26,27,28],"license plate recognition","object detection","keras-ocr","yolov3","model deployment","curious",-0.146,{"positive":32,"neutral":33,"mixed":34,"critical":18},5,17,0,32,{"performance":37,"execution":39,"idea":41,"design":43,"privacy":44},{"positive":34,"critical":38},1,{"positive":34,"critical":40},4,{"positive":32,"critical":42},3,{"positive":34,"critical":38},{"positive":34,"critical":38},[34,42,42,42,34,42,42,42,34,34,34,34,42,38,34,42,34,38,38,42,38,42,38,34,34,34,38,32,34,32,38,34,42,42,42,42,32,34,38,32],null,{"problem":48,"audience":55,"pricing":46,"motivation":59,"time_to_build":46,"stack":63,"openness":77,"stage":78,"team_size":79},{"value":49,"source":50,"evidence":51},"Reads license plate text from images","maker",[52],{"id":53,"by":11,"text":54},"24493259","Hey HN, I’m Caleb, and I’m a maintainer of Cortex, an open source model deployment platform. Not long ago, we published this DIY license plate reader project, and I wanted to…",{"value":56,"source":50,"evidence":57},"people interested in computer vision and production machine learning",[58],{"id":53,"by":11,"text":54},{"value":60,"source":50,"evidence":61},"Shared a DIY project to interest HN readers in computer vision and production ML",[62],{"id":53,"by":11,"text":54},[64,70,73],{"value":65,"source":50,"evidence":66},"Python",[67],{"id":68,"by":11,"text":69},"24497306","That's very possible. The Python interface for writing prediction APIs makes it pretty easy to switch between models, so it shouldn't be hard to test.",{"value":26,"source":50,"evidence":71},[72],{"id":53,"by":11,"text":54},{"value":74,"source":50,"evidence":75},"YOLOv3",[76],{"id":53,"by":11,"text":54},"open_source","launched","team",{"praise":81,"objections":90,"requests":139,"questions":156,"alternatives":168},[82],{"value":83,"source":84,"evidence":85},"Project looks neat","commenter",[86],{"id":87,"by":88,"text":89},"24494373","omgwtfbyobbq","This looks very neat. Do you think something like a Jetson Nano would be able to handle inference locally?",[91,106,117,128],{"value":92,"source":84,"evidence":93},"Predicted plate was wrong in example image; confidence score is not reliable accuracy",[94,98,102],{"id":95,"by":96,"text":97},"24494991","giarc","Am I missing something or in this image, is the confidence score 99.23% and has the incorrect license plate? The plates clearly have a 5 but it's predicting an S.…",{"id":99,"by":100,"text":101},"24495047","hundchenkatze","Nope, you are correct. Wow, both examples from that image are wrong.",{"id":103,"by":104,"text":105},"24501507","teruakohatu","It is really confident in its answer, but that does tell you much about how likely the answer is correct. For example, if I built a model that always returns the same plate…",{"value":107,"source":84,"evidence":108},"Calling it DIY is misleading since it relies on a hosted web service",[109,113],{"id":110,"by":111,"text":112},"24494509","techbio","\"Do-it-yourself\" seems like a not quite appropriate title for an interface that calls a webservice with pre-built vision ML.",{"id":114,"by":115,"text":116},"24494667","parasanti","I was thinking the same thing. If it was all localized to a Pi then yes, but outside services isn't really DIY so much. Maybe half DIY if such a thing.",{"value":118,"source":84,"evidence":119},"Sending camera images to a cloud service is inefficient and privacy-unfriendly",[120,124],{"id":121,"by":122,"text":123},"24496312","alexchamberlain","The actual computation here shouldn't be that great, right? (especially given the RPi has a GPU on) Seems like an inconsiderate design to stream images to a cloud service, rather…",{"id":125,"by":126,"text":127},"24496512","groby_b","\"You, too, can now actively participate in the surveillance state\" Yes, I get the technical appeal. I wish we all wondered less if we could, and more if we should.",{"value":129,"source":84,"evidence":130},"Legal restrictions on license plate readers may apply",[131,135],{"id":132,"by":133,"text":134},"24494557","jlturner","Take care to understand your local law regarding automatic license plate recognition. Use of such software and\u002For data collected with it may be under regulation. IANAL, but see…",{"id":136,"by":137,"text":138},"24496790","jmnicolas","The photos I saw seemed to be in Paris, and I'm pretty sure it's illegal to run a license plate reader in France.",[140,148],{"value":141,"source":84,"evidence":142},"Run inference locally on Jetson Nano or Raspberry Pi",[143,144],{"id":87,"by":88,"text":89},{"id":145,"by":146,"text":147},"24500966","hadeson","I guess object detection is the bottleneck of the pipeline, which highly optimized YOLOv4-tiny[0]could get to 39 FPS on Jetson Nano. Also camera decoding with Nvidia Deepstream…",{"value":149,"source":84,"evidence":150},"Compare performance against OpenALPR or OpenCV",[151,155],{"id":152,"by":153,"text":154},"24495565","yuvadam","How does this implementation perform compared to classic approaches such as OpenALPR [1] ? At the very least running local inference becomes much more expensive, and possibly…",{"id":68,"by":11,"text":69},[157,161],{"value":158,"source":84,"evidence":159},"Can it run on a Jetson Nano for local inference?",[160],{"id":87,"by":88,"text":89},{"value":162,"source":84,"evidence":163},"Is the confidence score for the plate reading or for detecting a plate?",[164],{"id":165,"by":166,"text":167},"24496045","cptskippy","Is that confidence for the value or the category. It comes after LP in the image which makes me think it's the confidence that it is a license plate, not necessarily the…",[169],{"value":170,"source":84,"evidence":171},"OpenALPR",[172],{"id":152,"by":153,"text":154},{"comments":42,"answered":174,"key":175},2,[176,177,180],{"id":53,"text":54},{"id":178,"text":179},"24494573","Thanks! The short answer is that I don't know, as it's only been run on EC2 instances, but given its current compute needs, probably not. The longer answer is that this project…",{"id":68,"text":69},{"commenters":182,"max_depth":183,"maker_replies":42,"first_comment_mins":38,"lifespan_hours":184},44,6,149,[186,188,190,191,192,194,196,200,203,206,209,211,215,218,221,224,228,229,232,234,236,239,241,244,246,249,252,254,257,258,261,263,264,268,271,273,275,277,281,284,287,290,293,296,299,302,306,309,313,315,318,321,325,329,332,335],[53,34,34,187,11,38],"project\u002Fpositive\u002Fidea",[87,34,42,189,88,34],"project\u002Fneutral\u002Fperformance",[178,34,34,189,11,38],[145,34,42,189,146,34],[193,34,42,189,137,34],"24496775",[68,34,34,195,11,38],"maker\u002Fneutral\u002Fperformance",[197,34,34,198,199,34],"24500462","other\u002Fneutral\u002Fperformance","bigiain",[201,34,42,189,202,34],"24499732","markdown",[204,34,42,189,205,34],"24500908","vdfs",[207,34,34,198,208,34],"24501250","Aperocky",[132,38,42,210,133,34],"project\u002Fneutral\u002Fnone",[212,38,34,213,214,34],"24494685","other\u002Fneutral\u002Fnone","joncrane",[216,38,34,213,217,34],"24494870","arcticfox",[219,38,34,213,220,34],"24495351","bobbean",[222,38,34,213,223,34],"24495783","varispeed",[225,38,34,226,227,34],"24499179","commenter\u002Fneutral\u002Fnone","Google234",[136,38,42,210,137,34],[230,38,34,213,231,34],"24497185","lubesGordi",[95,174,38,233,96,34],"project\u002Fcritical\u002Fexecution",[99,174,34,235,100,34],"commenter\u002Fcritical\u002Fexecution",[237,174,34,235,238,34],"24495050","IncRnd",[165,174,42,240,166,34],"project\u002Fneutral\u002Fexecution",[242,174,34,243,96,34],"24496513","commenter\u002Fneutral\u002Fexecution",[245,174,34,243,166,34],"24497074",[247,174,38,233,248,34],"24496499","cochne",[250,174,38,233,251,34],"24501157","blackcat201",[253,174,42,240,208,34],"24501273",[255,174,34,243,256,34],"24502126","lultimouomo",[103,174,38,233,104,34],[259,174,42,240,260,34],"24502144","implements",[110,42,38,262,111,34],"project\u002Fcritical\u002Fidea",[114,42,38,262,115,34],[265,42,34,266,267,34],"24494954","commenter\u002Fneutral\u002Fidea","sokoloff",[269,42,34,270,100,34],"24495167","commenter\u002Fcritical\u002Fidea",[272,42,34,266,267,34],"24495302",[274,42,34,226,100,34],"24495666",[276,42,38,262,223,34],"24495805",[278,42,42,279,280,34],"24558704","project\u002Fneutral\u002Fidea","Breza",[282,40,32,187,283,34],"24496862","csours",[285,32,34,213,286,34],"24495310","tyingq",[288,183,42,279,289,34],"24496859","tangled",[291,183,32,187,292,34],"24497095","pc86",[152,294,38,295,153,34],7,"project\u002Fcritical\u002Fperformance",[297,294,34,213,298,34],"24501098","curben",[121,300,38,301,122,34],8,"project\u002Fcritical\u002Fdesign",[303,304,32,187,305,34],"24494942",9,"dickfickling",[307,304,42,279,308,34],"24496771","tgot",[310,304,42,311,312,34],"24498468","project\u002Fneutral\u002Fdesign","ALittleLight",[314,304,42,311,308,34],"24499053",[316,304,42,279,317,34],"24497004","ocdtrekkie",[319,18,32,187,320,34],"24498687","darkport",[322,323,34,213,324,34],"24505240",11,"ramon",[326,327,34,213,328,34],"24497538",12,"mitchtbaum",[125,330,38,331,126,34],13,"project\u002Fcritical\u002Fprivacy",[333,330,42,334,292,34],"24497625","project\u002Fneutral\u002Fprivacy",[336,330,32,187,337,34],"24502251","zo1",[],[340,345,350,355,360,364],{"id":341,"name":342,"points":343,"category":344},"24442294","Octo",241,"infrastructure",{"id":346,"name":347,"points":348,"category":349},"24428206","Eiten",201,"web_saas",{"id":351,"name":352,"points":353,"category":354},"24485447","jazzit",162,"dev_tools",{"id":356,"name":357,"points":358,"category":359},"24476641","Lofimusic.app",136,"consumer_social",{"id":361,"name":362,"points":363,"category":359},"24478149","Lag",129,{"id":365,"name":366,"points":367,"category":368},"24432939","Sequence",125,"finance_crypto",false,"v2",{"id":372,"name":5,"line":6,"ai":369,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":373,"top":18,"kw":374,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":375,"url":9,"mix":376,"praise":83,"objection":92,"sub":21},24493248,-0.15,[24,25,26,27,28],"0333033300003103011313100015051033335015",[32,33,34,18],1794036596033]